/* ════════════════════════════════════════════
   Northly(노슬리) — 디자인 시스템 (clean / 스위스 그리드)
   index.html · start.html 공용
   디자인 핸드오프 clean안 기반 (2026-06-16)
   ════════════════════════════════════════════ */
:root{
  --bg:#f7f6f3; --ink:#0e0e0e; --ink-soft:#5c5c5c;
  --line:#1a1a1a; --line-soft:#d6d4cd; --accent:#e7401f; --card:#fff;
  --sans:"Pretendard Variable",Pretendard,-apple-system,system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,monospace;
  --maxw:1120px; --pad:clamp(20px,5vw,40px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);
  line-height:1.5;word-break:keep-all;text-wrap:pretty;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--bg)}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:800;letter-spacing:-.035em;line-height:1;text-wrap:balance}
blockquote{text-wrap:balance}
ul{list-style:none}
.mono{font-family:var(--mono);text-transform:uppercase}
.ac{color:var(--accent)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-weight:700;font-size:15px;
  padding:15px 26px;background:var(--ink);color:var(--bg);border:none;cursor:pointer;transition:.15s}
.btn .ac{color:var(--accent)}
.btn:hover{opacity:.86}
.btn.line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}
.btn.line:hover{background:var(--ink);color:var(--bg)}
.btn.line:hover .ac{color:var(--accent)}
.btn.underline{background:transparent;color:var(--ink);padding:15px 8px;border-bottom:2px solid var(--line)}
.btn.underline:hover{color:var(--accent);opacity:1}
.btn.sm{padding:10px 18px;font-size:14px}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:2px solid var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);height:64px;
  display:flex;align-items:center;justify-content:space-between}
.logo{font-weight:800;font-size:20px;letter-spacing:-.02em}

/* main frame */
.frame{max-width:var(--maxw);margin:0 auto;border-left:2px solid var(--line);border-right:2px solid var(--line)}

/* section header (01~04) */
.sec{padding:clamp(48px,7vw,84px) var(--pad);border-bottom:2px solid var(--line)}
.shead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px;
  margin-bottom:clamp(32px,5vw,52px)}
.shead h2{font-size:clamp(28px,4vw,44px);letter-spacing:-.035em;max-width:660px}
.snum{font-size:13px;letter-spacing:.16em;color:var(--ink-soft)}

/* hero */
.hero{padding:clamp(28px,5vw,44px) var(--pad) clamp(48px,7vw,72px)}
.hero-top{display:flex;align-items:center;justify-content:space-between;gap:16px;
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);
  border-bottom:1px solid var(--line-soft);padding-bottom:14px;margin-bottom:clamp(32px,6vw,64px)}
.hero-grid{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(32px,5vw,56px)}
.hero-l{flex:1 1 460px;min-width:0}
.hero-r{flex:0 1 320px;display:flex;justify-content:center;align-items:center;min-width:240px}
.hero-r svg{width:100%;max-width:320px;display:block}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);margin-bottom:22px}
.hero h1{font-size:clamp(46px,8.5vw,92px);line-height:.92;letter-spacing:-.04em;text-transform:uppercase}
.hero .sub{max-width:600px;margin-top:28px;font-size:clamp(16px,2vw,18px);line-height:1.7;color:var(--ink-soft)}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}

/* quote (dark band) */
.quote{background:var(--ink);color:var(--bg);border-top:2px solid var(--line);border-bottom:2px solid var(--line);
  padding:clamp(48px,8vw,80px) var(--pad)}
.quote-in{max-width:820px}
.qlabel{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#7d7d78}
.quote blockquote{margin-top:24px;font-size:clamp(26px,4.5vw,46px);font-weight:800;line-height:1.25;letter-spacing:-.03em}
.qcite{margin-top:24px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#a8a8a3}

/* problem list */
.plist{border-bottom:1px solid var(--line-soft)}
.prow{display:flex;gap:clamp(20px,4vw,48px);align-items:baseline;padding:22px 0;border-top:1px solid var(--line-soft)}
.prow .pn{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--accent);flex:0 0 auto;width:28px}
.prow .pt{font-size:clamp(18px,2.6vw,26px);font-weight:600;letter-spacing:-.02em}

/* solution grid */
.sgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  border-top:2px solid var(--line);border-left:2px solid var(--line)}
.scell{border-right:2px solid var(--line);border-bottom:2px solid var(--line);padding:clamp(26px,3.5vw,40px)}
.scell .scn{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--ink-soft);margin-bottom:18px}
.scell h3{font-size:clamp(22px,3vw,28px);letter-spacing:-.03em;margin-bottom:12px}
.scell p{font-size:16px;line-height:1.7;color:var(--ink-soft)}

/* 03 차이 — 대조 */
.diff{margin-top:8px}
.drow{display:grid;grid-template-columns:1fr auto 1.3fr;gap:clamp(14px,3vw,36px);align-items:center;padding:24px 0;border-top:1px solid var(--line-soft)}
.drow:last-child{border-bottom:1px solid var(--line-soft)}
.dk{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
.dfrom{color:var(--ink-soft);font-size:clamp(15px,2vw,18px);line-height:1.5}
.dto{font-size:clamp(16px,2.2vw,20px);font-weight:600;letter-spacing:-.01em;line-height:1.5}
.dto .dk{color:var(--accent)}
.darrow{font-family:var(--mono);color:var(--accent);font-weight:700;font-size:20px;flex:0 0 auto}
.dnote{margin-top:30px;font-size:clamp(18px,2.6vw,26px);font-weight:700;letter-spacing:-.02em}
@media(max-width:640px){.drow{grid-template-columns:1fr;gap:4px}.darrow{transform:rotate(90deg);justify-self:start;margin:2px 0}}

/* in action (Q&A) */
.qa{border:2px solid var(--line);background:var(--card)}
.qa-q{display:flex;gap:16px;align-items:baseline;padding:clamp(22px,3vw,32px);border-bottom:1px solid var(--line-soft)}
.qa-q .qmark{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--accent)}
.qa-q .qtext{font-size:clamp(18px,2.4vw,24px);font-weight:700;letter-spacing:-.02em}
.qa-a{padding:clamp(22px,3vw,32px)}
.atag{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--ink-soft);margin-bottom:16px}
.ans{font-size:clamp(16px,2vw,19px);line-height:1.75;max-width:760px}
.ans strong{font-weight:800;color:var(--accent)}
.recs{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}
.rec{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-soft);border:1px solid var(--line-soft);padding:8px 12px}
.qchips{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px}
.qc{font-size:14px;color:var(--ink-soft);border:1px solid var(--line-soft);border-radius:999px;padding:10px 16px}

/* pricing */
.pg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  border-top:2px solid var(--line);border-left:2px solid var(--line)}
.pc{border-right:2px solid var(--line);border-bottom:2px solid var(--line);padding:clamp(24px,2.5vw,32px);
  display:flex;flex-direction:column}
.pc .pl{font-weight:800;font-size:18px;letter-spacing:-.02em}
.pc .amt{margin:14px 0 20px;font-weight:800;font-size:34px;letter-spacing:-.03em}
.pc .amt small{font-size:14px;font-weight:600;color:var(--ink-soft)}
.pc ul{display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--ink-soft);line-height:1.5;flex:1}
.pc.feat{background:var(--ink);color:var(--bg);position:relative}
.pc.feat .amt small{color:#a8a8a3}
.pc.feat ul{color:#cfcdc7}
.badge{position:absolute;top:0;right:0;background:var(--accent);color:#fff;
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;padding:6px 10px}
.pbtn{margin-top:24px;text-align:center;font-weight:700;font-size:14px;padding:12px;transition:.15s}
.pbtn.line{border:2px solid var(--line);color:var(--ink)}
.pbtn.line:hover{background:var(--ink);color:var(--bg)}
.pbtn.solid{background:var(--accent);color:#fff;padding:14px}
.pbtn.solid:hover{opacity:.88}

/* final cta */
.final{padding:clamp(36px,5vw,64px) var(--pad);text-align:center}
.final svg{display:block;margin:0 auto 28px}
.final h2{font-size:clamp(40px,8vw,82px);letter-spacing:-.04em;text-transform:uppercase;line-height:.95}
.final .btn{margin-top:36px}

/* footer */
.foot{border-top:2px solid var(--line)}
.foot-in{max-width:var(--maxw);margin:0 auto;padding:28px var(--pad);display:flex;flex-wrap:wrap;gap:12px;
  align-items:center;justify-content:space-between;
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.fbrand{font-weight:700;color:var(--ink)}

/* ════ start.html (신청 페이지) ════ */
.start-wrap{min-height:calc(100vh - 64px);display:grid;place-items:center;padding:64px var(--pad);text-align:center}
.start-box{max-width:560px;width:100%}
.start-box .tagline{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.start-box h1{font-size:clamp(36px,7vw,64px);text-transform:uppercase;letter-spacing:-.04em;margin:18px 0 0;line-height:1}
.start-box .sub{font-size:17px;line-height:1.7;color:var(--ink-soft);max-width:440px;margin:20px auto 0}
.lead-form{margin:34px auto 0;display:flex;width:100%;max-width:460px;border:2px solid var(--line)}
.lead-form input{flex:1;min-width:0;border:none;padding:16px 18px;font-size:16px;font-family:inherit;background:transparent;color:var(--ink)}
.lead-form input::placeholder{color:var(--ink-soft)}
.lead-form input:focus{outline:none;background:#fff}
.lead-form .btn{border-left:2px solid var(--line)}
.form-msg{margin-top:16px;font-weight:700;color:var(--accent);min-height:22px;font-size:15px}
.privacy{margin-top:12px;font-size:13px;color:var(--ink-soft)}
.back{display:inline-block;margin-top:28px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.back:hover{color:var(--ink)}
