:root{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --text-3xl:clamp(2.5rem,1rem + 4vw,4.5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
  --space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
  --font-display:'Cabinet Grotesk','Segoe UI',sans-serif;--font-body:'Satoshi','Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --radius:10px;--max:1180px;
}
:root,[data-theme=light]{
  --bg:#f5f4ef;--surface:#fbfaf7;--surface-2:#ffffff;--offset:#ebe9e2;--border:#d9d6cd;--divider:#e3e0d8;
  --text:#13202c;--muted:#5a6570;--faint:#98a0a8;--inverse:#f5f4ef;
  --primary:#0d5c66;--primary-hover:#09474f;--primary-soft:#dcebec;
  --crit:#a3261d;--crit-soft:#f6e1de;--warn:#9a5b06;--warn-soft:#f6ead6;--ok:#2f6b3a;
  --ink-panel:#13202c;--ink-panel-2:#1b2c3b;--ink-text:#e8edf0;--ink-muted:#93a3b1;
}
[data-theme=dark]{
  --bg:#0d151d;--surface:#121c26;--surface-2:#16222e;--offset:#1a2733;--border:#263646;--divider:#1f2e3b;
  --text:#e5eaee;--muted:#93a1ad;--faint:#5d6c79;--inverse:#0d151d;
  --primary:#4fb3bd;--primary-hover:#72c7cf;--primary-soft:#123138;
  --crit:#f0786d;--crit-soft:#3a1a18;--warn:#e3a84b;--warn-soft:#352612;--ok:#7cc48a;
  --ink-panel:#0a1118;--ink-panel-2:#111c26;--ink-text:#e5eaee;--ink-muted:#8494a2;
}
@media (prefers-color-scheme:dark){:root:not([data-theme]){
  --bg:#0d151d;--surface:#121c26;--surface-2:#16222e;--offset:#1a2733;--border:#263646;--divider:#1f2e3b;
  --text:#e5eaee;--muted:#93a1ad;--faint:#5d6c79;--inverse:#0d151d;
  --primary:#4fb3bd;--primary-hover:#72c7cf;--primary-soft:#123138;
  --crit:#f0786d;--crit-soft:#3a1a18;--warn:#e3a84b;--warn-soft:#352612;--ok:#7cc48a;
  --ink-panel:#0a1118;--ink-panel-2:#111c26;--ink-text:#e5eaee;--ink-muted:#8494a2;}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;
  -webkit-font-smoothing:antialiased;transition:background .2s,color .2s}
img,svg{display:block;max-width:100%}
a{color:var(--primary);text-underline-offset:3px}
a:hover{color:var(--primary-hover)}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--font-display);line-height:1.08;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:clamp(var(--space-5),4vw,var(--space-10))}
.mono{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em}
.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--primary)}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:var(--space-2);font:600 var(--text-sm)/1 var(--font-body);padding:var(--space-4) var(--space-6);
  border-radius:999px;text-decoration:none;border:1px solid transparent;transition:background .15s,color .15s,border-color .15s;cursor:pointer}
.btn-primary{background:var(--primary);color:var(--inverse)}
.btn-primary:hover{background:var(--primary-hover);color:var(--inverse)}
.btn-ghost{border-color:var(--border);color:var(--text)}
.btn-ghost:hover{border-color:var(--text);color:var(--text)}

/* header */
.site-header{position:sticky;top:0;z-index:20;background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--divider)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:var(--space-6)}
.brand{display:flex;align-items:center;gap:var(--space-3);color:var(--text);text-decoration:none;font:700 var(--text-sm)/1.1 var(--font-display);letter-spacing:-.01em}
.brand small{display:block;font:500 var(--text-xs)/1.2 var(--font-body);color:var(--muted);letter-spacing:0}
.nav-links{display:flex;gap:var(--space-6);align-items:center}
.nav-links a{color:var(--muted);text-decoration:none;font-size:var(--text-sm)}
.nav-links a:hover{color:var(--text)}
.theme-toggle{background:none;border:1px solid var(--border);color:var(--text);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
@media(max-width:860px){.nav-links a:not(.btn){display:none}}

/* hero */
.hero{padding-block:clamp(var(--space-12),8vw,var(--space-24)) clamp(var(--space-12),6vw,var(--space-20))}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:center}
.hero h1{font-size:var(--text-3xl);font-weight:800;margin-block:var(--space-5) var(--space-6)}
.hero h1 em{font-style:normal;color:var(--primary)}
.hero .lede{font-size:var(--text-lg);color:var(--muted);max-width:34ch;line-height:1.45}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}
.trust-row{display:flex;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-8);color:var(--muted);font-size:var(--text-xs)}
.trust-row span{display:flex;gap:var(--space-2);align-items:center}
.trust-row svg{color:var(--primary)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}

/* product panel */
.panel{background:var(--ink-panel);color:var(--ink-text);border-radius:16px;padding:var(--space-6);box-shadow:0 30px 60px -30px rgba(10,20,30,.45);font-size:var(--text-sm)}
.panel-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #ffffff1a;padding-bottom:var(--space-4)}
.panel-top .mono{color:var(--ink-muted)}
.grade{font:800 3.25rem/1 var(--font-display);color:#f0786d}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-block:var(--space-4)}
.kpi{background:var(--ink-panel-2);border-radius:8px;padding:var(--space-3)}
.kpi b{display:block;font:700 1.5rem/1.1 var(--font-display);font-variant-numeric:tabular-nums}
.kpi span{color:var(--ink-muted);font-size:var(--text-xs)}
.row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-top:1px solid #ffffff12}
.sev{font:700 .7rem/1 var(--font-mono);letter-spacing:.08em;padding:.3rem .45rem;border-radius:4px;text-transform:uppercase}
.sev.c{background:#f0786d26;color:#f49b92}.sev.h{background:#e3a84b26;color:#ecc07a}.sev.m{background:#93a3b126;color:#c4ced6}
.row .path{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted)}

/* sections */
section{padding-block:clamp(var(--space-12),7vw,var(--space-24))}
.section-head{max-width:48rem;margin-bottom:clamp(var(--space-8),4vw,var(--space-12))}
.section-head h2{font-size:var(--text-2xl);font-weight:800;margin-top:var(--space-3)}
.section-head p{margin-top:var(--space-4);color:var(--muted)}
.band{background:var(--surface);border-block:1px solid var(--divider)}
.problem{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.problem .big{font:800 var(--text-xl)/1.2 var(--font-display);letter-spacing:-.02em}
.problem ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-5)}
.problem li{display:grid;grid-template-columns:2.25rem 1fr;gap:var(--space-3)}
.problem li b{display:block;font-family:var(--font-display);font-size:var(--text-lg)}
.num{font:600 var(--text-xs)/1 var(--font-mono);color:var(--primary);padding-top:.45rem}
@media(max-width:860px){.problem{grid-template-columns:1fr}}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.step{border-top:2px solid var(--text);padding-top:var(--space-5)}
.step h3{font-size:var(--text-lg);margin-block:var(--space-3) var(--space-2)}
.step p{color:var(--muted);font-size:var(--text-sm)}
@media(max-width:860px){.steps{grid-template-columns:1fr}}

.checks{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}
.check{padding:var(--space-6);border-right:1px solid var(--divider);border-bottom:1px solid var(--divider)}
.check:nth-child(3n){border-right:0}
.check:nth-last-child(-n+3){border-bottom:0}
.check h3{font:700 var(--text-base)/1.3 var(--font-display);letter-spacing:-.01em;margin-block:var(--space-3) var(--space-2)}
.check p{font-size:var(--text-sm);color:var(--muted)}
@media(max-width:860px){.checks{grid-template-columns:1fr}.check{border-right:0!important;border-bottom:1px solid var(--divider)!important}.check:last-child{border-bottom:0!important}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:center}
.split h2{font-size:var(--text-2xl);font-weight:800;margin-block:var(--space-3) var(--space-5)}
.ticks{list-style:none;padding:0;margin:var(--space-6) 0 0;display:grid;gap:var(--space-3)}
.ticks li{display:flex;gap:var(--space-3);align-items:flex-start}
.ticks svg{flex:none;color:var(--primary);margin-top:.3rem}
@media(max-width:860px){.split{grid-template-columns:1fr}}

.perm-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6)}
.perm-card table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.perm-card td{padding:var(--space-3) 0;border-top:1px solid var(--divider);vertical-align:top}
.perm-card td:first-child{font-family:var(--font-mono);font-size:var(--text-xs);padding-right:var(--space-4);white-space:nowrap}
.pill{display:inline-block;font:600 var(--text-xs)/1 var(--font-mono);background:var(--primary-soft);color:var(--primary);padding:.35rem .6rem;border-radius:999px}

.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.price{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}
.price.featured{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
.price h3{font-size:var(--text-lg)}
.amount{font:800 var(--text-2xl)/1 var(--font-display);letter-spacing:-.03em}
.amount small{font:500 var(--text-sm) var(--font-body);color:var(--muted);letter-spacing:0}
.price ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted);flex:1}
.price ul li::before{content:"— ";color:var(--primary)}
.note{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--muted)}
@media(max-width:900px){.pricing{grid-template-columns:1fr}}

.faq{max-width:52rem}
.faq details{border-top:1px solid var(--divider);padding-block:var(--space-5)}
.faq details:last-child{border-bottom:1px solid var(--divider)}
.faq summary{cursor:pointer;font:700 var(--text-base)/1.4 var(--font-display);list-style:none;display:flex;justify-content:space-between;gap:var(--space-4)}
.faq summary::after{content:"+";color:var(--primary);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:var(--space-3);color:var(--muted)}

.cta{background:var(--ink-panel);color:var(--ink-text);border-radius:20px;padding:clamp(var(--space-10),6vw,var(--space-20));display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-8);align-items:end}
.cta h2{font-size:var(--text-2xl);font-weight:800}
.cta p{color:var(--ink-muted);margin-top:var(--space-4)}
.cta .btn-primary{background:#4fb3bd;color:#0a1118}
.cta .btn-primary:hover{background:#72c7cf;color:#0a1118}
.cta .btn-ghost{color:var(--ink-text);border-color:#ffffff33}
@media(max-width:860px){.cta{grid-template-columns:1fr}}

footer{padding-block:var(--space-12);font-size:var(--text-xs);color:var(--muted)}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-6);border-top:1px solid var(--divider);padding-top:var(--space-8)}
.foot nav{display:flex;flex-wrap:wrap;gap:var(--space-5)}
.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--text)}

/* legal pages */
.doc{max-width:46rem;padding-block:var(--space-16) var(--space-20)}
.doc h1{font-size:var(--text-2xl);font-weight:800;margin-bottom:var(--space-4)}
.doc h2{font-size:var(--text-lg);margin-block:var(--space-10) var(--space-3)}
.doc p,.doc li{color:var(--muted)}
.doc p+p{margin-top:var(--space-3)}
.doc strong{color:var(--text)}
.doc table{width:100%;border-collapse:collapse;font-size:var(--text-sm);margin-block:var(--space-4)}
.doc th,.doc td{border-top:1px solid var(--divider);padding:var(--space-3);text-align:left;vertical-align:top}
.doc th{color:var(--text)}
.draft-banner{background:var(--warn-soft);color:var(--warn);border-radius:8px;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-8)}
.report-frame{width:100%;height:80vh;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
.nav-links a.btn-primary,.nav-links a.btn-primary:hover{color:var(--inverse)}
.btn{white-space:nowrap}
.panel-top .mono{white-space:nowrap}
@media(max-width:600px){.brand small{display:none}.nav-links .btn-primary{display:none}.panel-top>div:first-child .mono:last-child{white-space:normal}}
/* ---- Get started form ---- */
.start{padding-block:clamp(var(--space-12),7vw,var(--space-20))}
.start-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(var(--space-8),5vw,var(--space-16));align-items:start}
.start-side h1{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1.1;margin:var(--space-3) 0 var(--space-4)}
.next-steps{list-style:none;padding:0;margin:var(--space-8) 0;display:grid;gap:var(--space-6)}
.next-steps li{display:grid;grid-template-columns:2.2rem 1fr;gap:var(--space-3)}
.next-steps p{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-1)}
.small-note{color:var(--ok)}
.form-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(var(--space-6),3vw,var(--space-10));box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px -18px rgba(13,40,60,.25)}
.form-card form{display:grid;gap:var(--space-5)}
.plans{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}
.plans legend{font-weight:700;margin-bottom:var(--space-3);font-size:var(--text-sm)}
.plan-opt{position:relative;cursor:pointer}
.plan-opt input{position:absolute;opacity:0;inset:0}
.plan-opt span{display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:8px;padding:var(--space-3) var(--space-4);transition:border-color .15s,background .15s}
.plan-opt small{color:var(--muted);font-size:var(--text-xs)}
.plan-opt input:checked+span{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary)}
.plan-opt input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.field{display:grid;gap:var(--space-2)}
.field label,.admin-login label{font-size:var(--text-sm);font-weight:600}
.opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea,.admin-login input,.leads select{font:inherit;font-size:var(--text-sm);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.7rem .85rem;width:100%}
.field textarea{resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,.admin-login input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
[aria-invalid="true"]{border-color:var(--crit)!important}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.consent{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-sm);color:var(--muted)}
.consent input{margin-top:.25rem;accent-color:var(--primary);width:16px;height:16px;flex:none}
.form-error{background:var(--crit-soft);color:var(--crit);border-radius:8px;padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}
.submit{justify-content:center;width:100%}
.submit:disabled{opacity:.7;cursor:progress}
.success{display:grid;gap:var(--space-3);justify-items:start;color:var(--text)}
.success svg{color:var(--ok)}
.success h2{font-family:var(--font-display);font-size:var(--text-xl)}
@media(max-width:860px){.start-grid{grid-template-columns:1fr}.field-row{grid-template-columns:1fr}}
@media(max-width:420px){.plans{grid-template-columns:1fr}}
/* ---- Admin ---- */
.admin{padding-block:var(--space-12)}
.admin h1{font-family:var(--font-display);font-size:var(--text-2xl);margin:var(--space-2) 0 var(--space-6)}
.admin-login{display:grid;gap:var(--space-3);max-width:460px}
.admin-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}
.stats{display:flex;gap:var(--space-6);font-size:var(--text-sm);color:var(--muted)}
.stats b{color:var(--text);font-size:var(--text-lg)}
.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.leads{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
.leads th{text-align:left;font:600 var(--text-xs)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);white-space:nowrap}
.leads td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--divider);vertical-align:top}
.leads td.msg{max-width:280px;color:var(--muted)}
.leads select{width:auto;padding:.4rem .6rem}
[hidden]{display:none!important}
.leads td.mono{white-space:nowrap}.leads .pill{white-space:nowrap}
