/* Archon type system v1 (2026-10-20). One scale for every page.
   Font: Geist. Text line height 1.6. Large headings 1.1. Small headings 1.4.
   Sizes: lead 18, body 16, small 14.5, fine print 13, kicker 14.
   Section heading clamp(32px, 4vw, 40px). Card heading 32. Subsection heading 22.4. Card title 17.6 (500).
   Spacing: heading to text 16px. Text to button 28px.
   Buttons: nav 13px, primary 15px.
   Hero headlines (homepage 96px, /start 62.4px) are left as approved. */

/* ---------- Text: one line height everywhere ---------- */
[data-pg] main p:not(.pct),
[data-pg] section p:not(.pct),
[data-pg] header p,
[data-pg] .wrap p:not(.pct) { line-height: 1.6 !important; }
[data-pg="home"] .vmcard p, [data-pg="home"] .vtile p { line-height: 1.45 !important; } /* product mock, not copy */

/* ---------- Headings ---------- */
[data-pg] h2.wsplit,
[data-pg="home"] #problem h3,
[data-pg="start"] main h2, [data-pg="start"] section h2 {
  font-size: clamp(32px, 4vw, 40px) !important; line-height: 1.1 !important; letter-spacing: -0.035em !important;
}
[data-pg] h1 { line-height: 1.1; }
[data-pg="home"] h1 { line-height: 0.98; } /* approved hero */
[data-pg="audit"] #pricing h3, [data-pg="audit"] .rv h3, [data-pg="audit"] #rv h3 {
  font-size: 32px !important; line-height: 1.1 !important; letter-spacing: -0.035em !important;
}
[data-pg="home"] .flist h3, [data-pg="start"] h3, [data-pg="prompts"] h3 {
  font-size: 17.6px !important; line-height: 1.4 !important; font-weight: 500 !important; letter-spacing: -0.01em !important;
}
[data-pg="quiz"] h2, [data-pg="scorecard"] h2, [data-pg="prompts"] h2, [data-pg="privacy"] h2 {
  font-size: 22.4px !important; line-height: 1.4 !important; font-weight: 400 !important; letter-spacing: -0.02em !important;
}

/* ---------- Lead paragraphs (right under a section heading or page title) ---------- */
[data-pg] h2.wsplit + p,
[data-pg="start"] section h2 + p,
[data-pg="home"] .vsub, [data-pg="home"] .qpv-p,
[data-pg] p.lead, [data-pg] p.sub {
  font-size: 18px !important; line-height: 1.6 !important;
}
[data-pg] h2.wsplit + p, [data-pg="start"] section h2 + p { margin-top: 16px !important; }
[data-pg="start"] section h2 { margin-bottom: 0 !important; }

/* ---------- Body 16 ---------- */
[data-pg="home"] #problem .pane p:not(.note), [data-pg="home"] .v3stat p,
[data-pg="home"] #faq p, [data-pg="home"] #founder p, [data-pg="home"] #request p.s,
[data-pg="audit"] .rv-lead {
  font-size: 16px !important;
}

/* ---------- Small 14.5 ---------- */
[data-pg="home"] #ptTabs p, [data-pg="home"] .hltrack p, [data-pg="home"] .flist p,
[data-pg="audit"] .psub, [data-pg="audit"] .rv-note {
  font-size: 14.5px !important;
}

/* ---------- Fine print 13 ---------- */
[data-pg="home"] p.note, [data-pg="audit"] .pnote, [data-pg="audit"] .rv-foot, [data-pg="start"] p.fine {
  font-size: 13px !important; line-height: 1.6 !important;
}

/* ---------- Buttons ---------- */
[data-pg] nav.top .btn, [data-pg] header.top .btn, [data-pg] nav .btn-sm { font-size: 13px !important; }
[data-pg] .hwbtn, [data-pg] main a.btn:not(.btn-sm), [data-pg] section a.btn:not(.btn-sm), [data-pg="contact"] form button {
  font-size: 15px !important;
}
[data-pg] .hwbtn { height: 44px; }
[data-pg] p + .hwbtn, [data-pg] p + a.btn { margin-top: 28px !important; }
[data-pg="scorecard"] .btnp, [data-pg="prompts"] .btnp { line-height: 24px !important; }

/* ---------- /audit/ pricing cards: keep the arrow inside the card ---------- */
[data-pg="audit"] .pfoot { gap: 24px; }
[data-pg="audit"] .pfoot > div:first-child { flex: 1 1 auto; min-width: 0; }
[data-pg="audit"] .pfoot .plink {
  flex: 0 1 auto !important; white-space: normal !important; text-align: right; max-width: 50%;
  padding-right: 0 !important; padding-left: 0 !important; line-height: 1.4 !important;
}
[data-pg="audit"] .pfoot .plink svg { flex-shrink: 0; }
[data-pg="audit"] .pnote { margin-top: 12px !important; }

/* ---------- /audit/ closing section: room to breathe ---------- */
[data-pg="audit"] #audit-start h2 + p { margin-top: 16px !important; }
[data-pg="audit"] #audit-start .hwbtn { margin-top: 28px !important; }

/* ---------- Top bar: every page matches the homepage ---------- */
[data-pg] header.top { border-bottom: 1px solid #767673 !important; }
[data-pg] header.top:not(:has(.in)) { display: flex; align-items: center; justify-content: space-between; height: 64px !important; padding-top: 0 !important; padding-bottom: 0 !important; box-sizing: content-box; }
[data-pg="start"] header.top .in { width: 95% !important; max-width: none !important; height: 64px; padding: 0 !important; }
[data-pg] header.top .wm { display: inline-flex; align-items: center; gap: 8px; font-size: 20px !important; font-weight: 500 !important; letter-spacing: -0.03em !important; }
[data-pg] header.top .wm img { height: 14px !important; width: auto !important; }
[data-pg] header.top .btn { height: 30px !important; display: inline-flex; align-items: center; font-size: 13px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
[data-pg] footer p, [data-pg] .ck p { line-height: 1.6 !important; }
[data-pg] p.hint { font-size: 14.5px !important; }
[data-pg] header.top .btn.sm { min-height: 30px !important; }
[data-pg] header.top:not(:has(.in)) { border-bottom: 1px solid transparent !important; border-image: linear-gradient(#767673, #767673) 0 0 1 0 / 0 0 1px 0 / 0 100vw 0 100vw; }
html:has([data-pg]) { overflow-x: clip; }

/* ---------- Side margins: every page starts content at the logo's left edge (2.5%) ---------- */
[data-pg="start"] .w { width: 95% !important; max-width: none !important; margin-left: auto !important; margin-right: auto !important; }
[data-pg="about"] main, [data-pg="contact"] main, [data-pg="thanks"] main, [data-pg="book"] main, [data-pg="privacy"] main, [data-pg="notfound"] main,
[data-pg="prompts"] main, [data-pg="quiz"] main.qz, [data-pg="scorecard"] main.sc {
  margin-left: 2.5% !important; margin-right: auto !important;
}
html.emb [data-pg="quiz"] main.qz { margin-left: 0 !important; max-width: none !important; }

/* ---------- Heading to content spacing ---------- */
[data-pg="start"] section h2 { margin-bottom: 32px !important; }
[data-pg="start"] section h2:has(+ p) { margin-bottom: 0 !important; }

/* ---------- Homepage consultation box: fits its content, same padding on every side ---------- */
[data-pg="home"] #request .qembed { padding: 32px !important; align-self: start; }
[data-pg="home"] #request .qembed iframe { height: 480px; transition: height .2s ease; }

html.emb body main.qz { padding: 0 !important; }
html.emb .qnav:empty { display: none !important; }

/* audit page title is an h1 (SEO); same look as the section h2 titles */
[data-pg="audit"] h1.audit-h1 { font-size: clamp(32px, 4vw, 40px) !important; line-height: 1.1 !important; letter-spacing: -0.035em !important; }
[data-pg="audit"] h1.audit-h1 + p { font-size: 18px !important; line-height: 1.6 !important; margin-top: 16px !important; }
