/* Layout: one 1080px column; dark hero band, light working sections, cards only where an item is its own object. */
:root{
  --ink:#131E29; --slate:#24384A; --signal:#1B9AAA; --signal-text:#10646F;
  --ground:#F6F5F2; --surface:#FFFFFF; --mist:#E3E1DA; --muted:#5F6E7A;
  --hero-bg:#131E29; --hero-fg:#F6F5F2; --hero-accent:#4FC3D1; --hero-muted:#9AA8B4; --hero-rule:#3E5166;
  --mark-a:#131E29; --mark-b:#1B9AAA;
  --flag-bg:#FFF4D6; --flag-fg:#6B4E00; --flag-rule:#E3C46A;
  --font-display:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-body:"IBM Plex Sans", "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:#E8ECEF; --slate:#C3CDD5; --signal:#4FC3D1; --signal-text:#6FD3DE;
  --ground:#0E161E; --surface:#16212C; --mist:#2A3A4A; --muted:#93A2AE;
  --hero-bg:#0A1118; --hero-fg:#F6F5F2; --hero-accent:#4FC3D1; --hero-muted:#9AA8B4; --hero-rule:#2E4053;
  --mark-a:#E8ECEF; --mark-b:#4FC3D1;
  --flag-bg:#3A2F10; --flag-fg:#F3DA8C; --flag-rule:#7A6424;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --ink:#E8ECEF; --slate:#C3CDD5; --signal:#4FC3D1; --signal-text:#6FD3DE;
  --ground:#0E161E; --surface:#16212C; --mist:#2A3A4A; --muted:#93A2AE;
  --hero-bg:#0A1118; --hero-fg:#F6F5F2; --hero-accent:#4FC3D1; --hero-muted:#9AA8B4; --hero-rule:#2E4053;
  --mark-a:#E8ECEF; --mark-b:#4FC3D1;
  --flag-bg:#3A2F10; --flag-fg:#F3DA8C; --flag-rule:#7A6424;
  color-scheme:dark;
}

*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font:400 17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
a{color:var(--signal-text)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--font-display);line-height:1.12;text-wrap:balance;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.6rem,3.2vw,2.25rem);font-weight:750}
h3{font-size:1.15rem;font-weight:700}
p{margin:0}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
.eyebrow{font:600 .78rem/1.2 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--signal-text)}
.lede{font-size:1.15rem;color:var(--slate);max-width:62ch}
.stack{display:grid;gap:14px}
.section{padding-block:72px;border-top:1px solid var(--mist)}
.section-head{display:grid;gap:12px;margin-bottom:36px;max-width:720px}

/* header */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--ground);border-bottom:1px solid var(--mist)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:800 1.02rem/1 var(--font-display);white-space:nowrap}
.brand svg{width:28px;height:28px;flex:none}
.nav{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.nav a{color:var(--slate);text-decoration:none;font-size:.92rem;padding:8px 10px;border-radius:6px;white-space:nowrap}
.nav a:hover,.nav a[aria-current="page"]{color:var(--ink);background:var(--mist)}
.btn{display:inline-flex;align-items:center;gap:8px;font:650 .97rem/1 var(--font-display);text-decoration:none;padding:14px 20px;border-radius:8px;border:2px solid transparent;white-space:nowrap}
.btn-primary{background:var(--signal);color:#06252A}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{border-color:currentColor;color:inherit}
.top .btn{padding:10px 14px;font-size:.88rem}
@media (max-width:760px){.nav{display:none}.top .btn{margin-left:auto}}

/* hero */
.hero{background:var(--hero-bg);color:var(--hero-fg)}
.hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;padding-block:72px 80px}
.hero .eyebrow{color:var(--hero-accent)}
.hero h1 em{font-style:normal;color:var(--hero-accent)}
.hero .lede{color:var(--hero-muted)}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.hero-copy{display:grid;gap:20px;min-width:0}
.sub-hero .wrap{grid-template-columns:1fr;padding-block:56px 60px}
.crumb{font-size:.88rem;color:var(--hero-muted)}
.crumb a{color:var(--hero-muted)}

/* example call summary card */
.callcard{background:#1B2936;border:1px solid var(--hero-rule);border-radius:12px;padding:20px;font-size:.93rem;color:#DCE3E8;min-width:0}
.callcard .meta{display:flex;justify-content:space-between;gap:10px;font:500 .78rem/1.3 var(--font-mono);color:var(--hero-muted);border-bottom:1px solid var(--hero-rule);padding-bottom:10px;margin-bottom:12px;flex-wrap:wrap}
.callcard .tag{font:600 .7rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hero-accent)}
.callcard h3{font-size:.95rem;color:#fff;margin:12px 0 6px}
.callcard ul{margin:0;padding-left:18px;display:grid;gap:4px}
.callcard .route{margin-top:14px;font:500 .8rem/1.4 var(--font-mono);color:var(--hero-accent)}

/* grids */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.hero .wrap{grid-template-columns:1fr}}
@media (max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}.section{padding-block:56px}}

.problem{display:grid;gap:8px;padding-top:16px;border-top:3px solid var(--signal)}
.problem p{color:var(--slate)}

.card{background:var(--surface);border:1px solid var(--mist);border-radius:10px;padding:24px;display:grid;gap:10px;align-content:start;min-width:0}
a.card{text-decoration:none;color:inherit;transition:border-color .15s, transform .15s}
a.card:hover{border-color:var(--signal);transform:translateY(-2px)}
.card p{color:var(--slate);font-size:.97rem}
.card .more{font:650 .9rem/1 var(--font-display);color:var(--signal-text);margin-top:4px}
.kicker{font:600 .72rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* math */
.math{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--mist);border-radius:10px;background:var(--surface);overflow:hidden}
.math > div{padding:24px;display:grid;gap:8px;align-content:start;min-width:0}
.math > div + div{border-left:1px solid var(--mist)}
.math .who{font:600 .75rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--signal-text)}
.math p{color:var(--slate);font-size:.97rem}
@media (max-width:760px){.math{grid-template-columns:1fr}.math > div + div{border-left:0;border-top:1px solid var(--mist)}}

/* tiers */
.tier{background:var(--surface);border:1px solid var(--mist);border-radius:10px;padding:26px;display:grid;gap:12px;align-content:start}
.tier.featured{border:2px solid var(--signal)}
.tier .price{font:800 1.5rem/1.1 var(--font-display)}
.tier .price small{display:block;font:400 .85rem/1.4 var(--font-body);color:var(--muted);margin-top:4px}
.tier ul,.ticks{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.tier li,.ticks li{padding-left:22px;position:relative;color:var(--slate);font-size:.97rem}
.tier li::before,.ticks li::before{content:"";position:absolute;left:2px;top:.62em;width:10px;height:2px;background:var(--signal)}

/* findings + terms */
.finding{padding:18px 20px;background:var(--surface);border:1px solid var(--mist);border-radius:8px;display:grid;gap:6px}
.finding p{color:var(--slate);font-size:.95rem}
.terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.terms dt{font:600 .75rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.terms dd{margin:6px 0 0;font:750 1.25rem/1.2 var(--font-display)}
@media (max-width:600px){.terms{grid-template-columns:1fr}}

/* process (a real sequence, so numbered) */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;counter-reset:s}
.steps li{counter-increment:s;display:grid;gap:8px;align-content:start;padding-top:14px;border-top:1px solid var(--ink)}
.steps li::before{content:counter(s);font:800 .85rem/1 var(--font-mono);color:var(--signal-text)}
.steps p{font-size:.93rem;color:var(--slate)}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

blockquote{margin:0;font:600 clamp(1.3rem,2.6vw,1.75rem)/1.3 var(--font-display);max-width:28ch;text-wrap:balance}

.fit h3{margin-bottom:12px}
.fit .no li::before{background:var(--muted)}

.flag{background:var(--flag-bg);color:var(--flag-fg);border:1px dashed var(--flag-rule);border-radius:8px;padding:14px 16px;font-size:.9rem}
.flag b{font-family:var(--font-display)}
.proof{border:2px dashed var(--mist);border-radius:10px;padding:32px;display:grid;gap:10px;text-align:left}
.proof p{color:var(--muted)}

/* FAQ */
.faq{display:grid;gap:0;border-top:1px solid var(--mist)}
.faq details{border-bottom:1px solid var(--mist)}
.faq summary{cursor:pointer;list-style:none;padding:20px 36px 20px 0;font:650 1.05rem/1.35 var(--font-display);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font:400 1.5rem/1 var(--font-body);color:var(--signal-text)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 20px;color:var(--slate);max-width:68ch}

/* about */
.about{display:grid;grid-template-columns:1.5fr 1fr;gap:48px}
.about .bio{display:grid;gap:16px;max-width:64ch;min-width:0}
.about .bio p{color:var(--slate)}
.facts{display:grid;gap:16px;align-content:start;margin:0}
.facts div{border-top:1px solid var(--mist);padding-top:10px}
.facts dt{font:600 .72rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:6px 0 0;font-weight:500}
@media (max-width:760px){.about{grid-template-columns:1fr}}

/* comparison table */
.table-scroll{overflow-x:auto;border:1px solid var(--mist);border-radius:10px;background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.95rem}
th,td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--mist)}
thead th{font:700 .95rem/1.2 var(--font-display);background:var(--ground)}
tbody th{font:600 .82rem/1.3 var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);width:20%}
td{color:var(--slate)}
tr:last-child th,tr:last-child td{border-bottom:0}

/* prose for service pages */
.prose{display:grid;gap:16px;max-width:68ch}
.prose p{color:var(--slate)}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
.two > *{min-width:0}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.aside{background:var(--surface);border:1px solid var(--mist);border-radius:10px;padding:24px;display:grid;gap:12px}

/* contact + cta */
.cta{background:var(--hero-bg);color:var(--hero-fg)}
.cta .wrap{padding-block:64px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.cta p{color:var(--hero-muted)}
.cta .contact-lines{display:grid;gap:10px;font-size:1rem}
.cta .contact-lines a{color:var(--hero-fg)}
.cta .contact-lines span{display:block;font:600 .72rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--hero-muted);margin-bottom:4px}
@media (max-width:760px){.cta .wrap{grid-template-columns:1fr}}

.foot{padding-block:32px;font-size:.88rem;color:var(--muted)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.foot a{color:var(--muted)}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media (max-width:520px){.hide-sm{display:none}.top .wrap{gap:12px}}
