/* Consensus Growth Partners — site styles
   Brand tokens are the single source of truth in 00-governing/brand-identity.md §5.
   Treatment A ("bold dark"). System fonts only — no webfonts. */

:root{
  --paper:#EEF1F6;
  --surface:#FFFFFF;
  --ink:#101B29;
  --muted:#54657A;
  --line:#DCE2EB;
  --navy-900:#0A1626;
  --navy-800:#0E2038;
  --navy-700:#173252;
  --blue:#2E72D4;
  --blue-bright:#5AA0FF;
  --blue-soft:#E5EEFB;
  --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
  --sans:-apple-system,"Segoe UI",system-ui,Roboto,"Helvetica Neue",sans-serif;
  --mono:"SF Mono","IBM Plex Mono",ui-monospace,"Cascadia Code",monospace;
}
:root[data-theme="dark"]{
  --paper:#0C141F;
  --surface:#131F2E;
  --ink:#E8EDF4;
  --muted:#93A4B8;
  --line:#243447;
  --blue:#5AA0FF;
  --blue-bright:#7FB8FF;
  --blue-soft:#16283F;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0C141F;
    --surface:#131F2E;
    --ink:#E8EDF4;
    --muted:#93A4B8;
    --line:#243447;
    --blue:#5AA0FF;
    --blue-bright:#7FB8FF;
    --blue-soft:#16283F;
  }
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;}

/* centered inner column, used inside full-bleed bands */
.inner{max-width:1080px;margin:0 auto;}

/* ---------- NAV ---------- */
.site-nav{position:relative;z-index:5;}
.site-nav.on-dark{background:var(--navy-900);}
.nav-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 34px;flex-wrap:wrap;gap:14px;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;}
.brand .wm{font-family:var(--sans);font-weight:800;font-size:14px;letter-spacing:.06em;line-height:1.1;}
.brand .wm .a{color:#fff;}
.brand .wm .b{display:block;font-weight:600;font-size:9.5px;letter-spacing:.16em;color:var(--blue-bright);margin-top:2px;}
.navlinks{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.navlinks a{font-size:13.5px;color:#B9C6D6;text-decoration:none;font-weight:500;}
.navlinks a:hover{color:#fff;}
.btn{font-weight:700;font-size:13.5px;padding:11px 20px;border-radius:9px;text-decoration:none;display:inline-block;white-space:nowrap;cursor:pointer;border:none;font-family:var(--sans);transition:transform .12s,box-shadow .2s;}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 24px -8px rgba(46,114,212,.7);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 30px -8px rgba(46,114,212,.85);}
.btn-ghost{border:1px solid rgba(255,255,255,.28);color:#fff;background:transparent;}
.btn-ghost:hover{border-color:#fff;}

/* ---------- HERO (always dark, deliberate) ---------- */
.hero{position:relative;background:
    radial-gradient(120% 90% at 78% 8%, rgba(46,114,212,.32), transparent 55%),
    radial-gradient(90% 80% at 12% 95%, rgba(90,160,255,.14), transparent 60%),
    var(--navy-900);
  color:#fff;overflow:hidden;padding:0;}
.hero-inner{position:relative;z-index:3;max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:center;padding:64px 34px 72px;}
@media (max-width:760px){.hero-inner{grid-template-columns:1fr;padding:48px 24px 56px;}}
#motif{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:.9;}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-bright);font-weight:600;margin-bottom:20px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.eyebrow.center{justify-content:center;}
.eyebrow .sep{width:5px;height:5px;border-radius:50%;background:var(--blue-bright);opacity:.6;}
h1{font-family:var(--sans);font-size:clamp(34px,5.4vw,58px);font-weight:800;line-height:1.02;letter-spacing:-0.025em;margin:0 0 22px;text-wrap:balance;}
h1 em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--blue-bright);letter-spacing:0;}
.hero-sub{font-size:16.5px;line-height:1.62;color:#C4D0DE;max-width:440px;margin:0 0 30px;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}
.hero-ctas .btn{padding:13px 24px;font-size:14.5px;}
.hero-side{position:relative;z-index:3;}
.loop-caption{position:relative;font-family:var(--mono);font-size:12px;color:#8DA0B6;line-height:1.7;padding-left:16px;border-left:2px solid rgba(90,160,255,.4);}
.loop-caption b{color:#fff;font-weight:600;}

/* ---------- proof bar ---------- */
.proofbar{display:flex;flex-wrap:wrap;max-width:1080px;margin:0 auto;background:var(--navy-800);color:#fff;border-top:1px solid rgba(255,255,255,.08);}
.proofbar .cell{flex:1;min-width:140px;padding:20px 24px;border-right:1px solid rgba(255,255,255,.08);}
.proofbar .cell:last-child{border-right:none;}
.proofbar .num{font-family:var(--sans);font-size:24px;font-weight:800;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;}
.proofbar .lab{font-size:12px;color:#9DB0C4;margin-top:3px;}

/* ---------- sections ---------- */
.section{padding:64px 34px;border-top:1px solid var(--line);}
.section .inner{max-width:1080px;margin:0 auto;}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);font-weight:600;margin-bottom:12px;}
.section h2{font-family:var(--sans);font-size:clamp(24px,3.2vw,32px);font-weight:800;letter-spacing:-0.02em;margin:0 0 14px;text-wrap:balance;}
.section .lede{color:var(--muted);font-size:16px;line-height:1.6;max-width:560px;margin:0;}

/* transformation two-panel */
.transform{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px;}
@media (max-width:640px){.transform{grid-template-columns:1fr;}}
.tpanel{border:1px solid var(--line);border-radius:14px;padding:26px;background:var(--surface);}
.tpanel.now{background:var(--paper);}
.tpanel .tag{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-weight:600;}
.tpanel.now .tag{color:var(--muted);}
.tpanel.after .tag{color:var(--blue);}
.tpanel ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;}
.tpanel li{font-size:14.5px;line-height:1.5;padding-left:22px;position:relative;color:var(--ink);}
.tpanel li::before{position:absolute;left:0;top:1px;font-family:var(--mono);}
.tpanel.now li::before{content:"×";color:var(--muted);font-size:15px;}
.tpanel.after li::before{content:"→";color:var(--blue);font-weight:700;}

/* stages */
.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px;}
@media (max-width:640px){.stages{grid-template-columns:repeat(2,1fr);}}
.stage{border:1px solid var(--line);border-radius:12px;padding:18px 16px;background:var(--surface);transition:border-color .15s,transform .15s;}
.stage:hover{border-color:var(--blue);transform:translateY(-2px);}
.stage .n{font-family:var(--mono);font-size:11px;color:var(--blue);margin-bottom:10px;display:block;}
.stage .t{font-weight:700;font-size:14.5px;}

/* sprint teaser band */
.band{padding:56px 34px;background:
    radial-gradient(100% 120% at 85% 15%, rgba(46,114,212,.4), transparent 60%),var(--navy-900);color:#fff;border-top:1px solid var(--line);}
.band-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.band h3{font-family:var(--sans);font-size:26px;font-weight:800;letter-spacing:-0.02em;margin:0 0 10px;}
.band p{margin:0;color:#C4D0DE;font-size:15px;max-width:440px;line-height:1.55;}
.band .btn-primary{background:#fff;color:var(--navy-900);}

/* ---------- footer ---------- */
footer.sf{padding:30px 34px;border-top:1px solid var(--line);background:var(--surface);}
.foot-inner{max-width:1080px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;align-items:center;}
footer.sf .navlinks a{color:var(--muted);font-size:12.5px;}
footer.sf .navlinks a:hover{color:var(--ink);}
footer.sf .copy{font-size:12px;color:var(--muted);font-family:var(--mono);}

/* ---------- METHODOLOGY PAGE ---------- */
.big-quote{font-family:var(--sans);font-size:clamp(21px,3.2vw,30px);font-weight:800;letter-spacing:-0.02em;line-height:1.32;max-width:660px;margin:18px 0 0;text-wrap:balance;color:var(--ink);}
.big-quote em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--blue);}
.arc{display:flex;flex-direction:column;max-width:800px;margin:34px 0 0;}
.arc-step{display:grid;grid-template-columns:170px 1fr;gap:26px;padding:24px 0;border-top:1px solid var(--line);}
.arc-step:last-child{border-bottom:1px solid var(--line);}
@media (max-width:640px){.arc-step{grid-template-columns:1fr;gap:8px;}}
.arc-step .ph{font-family:var(--mono);font-size:12.5px;letter-spacing:.03em;color:var(--blue);}
.arc-step .ph b{display:block;color:var(--muted);font-weight:400;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;margin-top:5px;}
.arc-step h4{margin:0 0 6px;font-size:18px;font-weight:800;letter-spacing:-0.01em;}
.arc-step p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.62;max-width:520px;}
.arc-step .price{font-family:var(--mono);font-size:12px;color:var(--ink);margin-top:10px;}
.lens{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;}
@media (max-width:640px){.lens{grid-template-columns:1fr;}}
.lc{border:1px solid var(--line);border-radius:12px;padding:22px;background:var(--surface);}
.lc .ll{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:12px;}
.lc h4{margin:0 0 8px;font-size:16px;font-weight:800;}
.lc p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.56;}

/* ---------- ABOUT PAGE ---------- */
.partners{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px;}
@media (max-width:640px){.partners{grid-template-columns:1fr;}}
.pcard{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--surface);}
.pcard .phead{display:flex;align-items:center;gap:15px;margin-bottom:16px;}
.pavatar{width:60px;height:60px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;flex:0 0 auto;border:1px solid var(--line);}
.pcard .pname{font-size:19px;font-weight:800;letter-spacing:-0.01em;}
.pcard .prole{font-family:var(--mono);font-size:11.5px;color:var(--blue);letter-spacing:.03em;margin-top:3px;}
.fill{border:1px dashed color-mix(in srgb,var(--blue) 45%, transparent);border-radius:8px;padding:13px 15px;background:var(--blue-soft);color:var(--muted);font-size:13.5px;line-height:1.56;margin-top:18px;}
.fill b{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:5px;font-weight:600;}
.beliefs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;}
@media (max-width:760px){.beliefs{grid-template-columns:1fr;}}
.pbio{font-size:14px;color:var(--muted);line-height:1.62;margin:0 0 10px;}
.pbio:last-child{margin-bottom:0;}
.prose{max-width:640px;margin-top:20px;}
.prose p{font-size:15.5px;color:var(--muted);line-height:1.7;margin:0 0 14px;}
.prose p:last-child{margin-bottom:0;}
.about-proof{margin-top:0;}

/* ---------- PROOF SPRINT / interior heroes ---------- */
.ps-hero{position:relative;background:
    radial-gradient(110% 90% at 80% 0%, rgba(46,114,212,.3), transparent 55%),var(--navy-900);color:#fff;padding:52px 34px 60px;text-align:center;overflow:hidden;}
.ps-hero .inner{max-width:720px;margin:0 auto;}
.ps-hero .eyebrow{justify-content:center;}
.ps-hero h1{font-size:clamp(28px,4.4vw,44px);max-width:640px;margin:0 auto 18px;}
.ps-hero .hero-sub{margin:0 auto 22px;color:#C4D0DE;}
.slot{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12.5px;background:rgba(255,255,255,.06);border:1px solid rgba(90,160,255,.35);border-radius:100px;padding:8px 18px;color:#C4D0DE;}
.slot .dot{width:7px;height:7px;border-radius:50%;background:var(--blue-bright);box-shadow:0 0 0 4px rgba(90,160,255,.2);}

.ps-body{max-width:680px;margin:0 auto;padding:52px 34px 8px;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:40px;}
@media (max-width:640px){.steps{grid-template-columns:1fr;}}
.step{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--surface);}
.step .sn{width:30px;height:30px;border-radius:8px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:13px;margin-bottom:12px;}
.step h4{margin:0 0 6px;font-size:15px;font-weight:700;}
.step p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5;}

.whyfree{padding:22px 24px;border-left:3px solid var(--blue);background:var(--blue-soft);border-radius:4px 12px 12px 4px;margin-bottom:44px;}
.whyfree .l{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);display:block;margin-bottom:8px;font-weight:600;}
.whyfree p{margin:0;font-size:15px;line-height:1.6;color:var(--ink);}

.form-card{max-width:500px;margin:0 auto 8px;border:1px solid var(--line);border-radius:16px;padding:30px;background:var(--surface);box-shadow:0 20px 50px -28px rgba(10,22,40,.4);text-align:left;}
.form-card h4{font-family:var(--sans);font-size:18px;margin:0 0 4px;font-weight:800;letter-spacing:-0.01em;}
.form-card .fsub{font-size:13px;color:var(--muted);margin:0 0 20px;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:600;}
.field input,.field textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13.5px;}
.field textarea{resize:none;height:66px;}
.form-card button.btn-primary{width:100%;text-align:center;padding:13px;margin-top:6px;font-family:var(--sans);}

/* interim staging note on the mailto form (removed when HubSpot embed lands) */
.form-note{font-size:11px;color:var(--muted);font-family:var(--mono);line-height:1.5;margin:12px 0 0;text-align:center;}
