:root{--ink:#0a0a0b;--paper:#fff;--band:#f4f4f2;--line:#d9d9d6;--mute:#5d5d60;--accent:#0e7c6b;--max:1240px;--pad:clamp(20px,4vw,48px)}
*{box-sizing:border-box;margin:0;padding:0;border-radius:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Inter Tight","Inter",system-ui,sans-serif;font-weight:600;letter-spacing:-.025em;line-height:1.08}
a{color:inherit}
img,svg{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}.skip:focus{left:0}

/* header */
header.site{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:"Inter Tight",sans-serif;font-weight:700;font-size:22px;letter-spacing:-.03em}
.logo .mk{width:26px;height:27px;display:block}.logo .mk2{fill:var(--accent)}footer .logo .mk2{fill:#3ad1b7}
nav.main{display:flex;gap:28px;align-items:center}
nav.main a{text-decoration:none;font-size:15px;font-weight:500;padding:6px 0;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a[aria-current]{border-color:var(--ink)}
.menu-btn{display:none;background:none;border:1px solid var(--ink);padding:9px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}

/* buttons */
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:16px;padding:15px 28px;border:1px solid var(--ink);background:var(--ink);color:#fff;transition:background .15s,color .15s;cursor:pointer;font-family:inherit}
.btn:hover{background:#fff;color:var(--ink)}
.btn.alt{background:transparent;color:var(--ink)}.btn.alt:hover{background:var(--ink);color:#fff}
.btn.sm{padding:11px 20px;font-size:14px}
.on-dark .btn{background:#fff;color:var(--ink);border-color:#fff}.on-dark .btn:hover{background:transparent;color:#fff}
.on-dark .btn.alt{background:transparent;color:#fff}.on-dark .btn.alt:hover{background:#fff;color:var(--ink)}

/* hero */
.hero{padding:clamp(72px,11vw,150px) 0 clamp(64px,8vw,110px)}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:10px;margin-bottom:26px}
.eyebrow::before{content:"";width:10px;height:9px;background:var(--accent);clip-path:polygon(0 0,100% 0,50% 100%)}
.hero h1{font-size:clamp(44px,8vw,112px);max-width:15ch;letter-spacing:-.045em;line-height:.98}
.hero p.lead{font-size:clamp(19px,2vw,24px);max-width:640px;margin-top:34px;color:#2a2a2d;line-height:1.5}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:42px}

/* sections */
section{padding:clamp(64px,8vw,120px) 0}
.band{background:var(--band)}
.dark{background:var(--ink);color:#fff}.dark .eyebrow{color:#a8a8ac}
.sec-head{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;margin-bottom:60px;align-items:end}
.sec-head h2{font-size:clamp(32px,4.4vw,56px)}
.sec-head p{color:var(--mute);font-size:19px;max-width:560px}
.dark .sec-head p{color:#b6b6ba}

/* grids with hairlines */
.grid{display:grid;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grid.c3{grid-template-columns:repeat(3,1fr)}.grid.c2{grid-template-columns:repeat(2,1fr)}.grid.c4{grid-template-columns:repeat(4,1fr)}
.cell{padding:36px 32px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.dark .grid,.dark .cell{border-color:#2e2e32;background:transparent}
.cell .n{font-family:"Inter Tight",sans-serif;font-size:14px;font-weight:600;color:var(--accent);margin-bottom:56px;display:block}
.dark .cell .n{color:#3ad1b7}
.cell h3{font-size:26px;margin-bottom:12px}
.cell p{color:var(--mute);font-size:16px}.dark .cell p{color:#b6b6ba}
.cell ul{list-style:none;margin-top:18px;font-size:15px}
.cell li{padding:9px 0;border-top:1px solid var(--line)}.dark .cell li{border-color:#2e2e32}

/* stats */
.stat b{display:block;font-family:"Inter Tight",sans-serif;font-size:clamp(40px,5vw,64px);font-weight:600;letter-spacing:-.04em;line-height:1}
.stat span{display:block;margin-top:12px;font-size:15px;color:var(--mute)}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.split h2{font-size:clamp(30px,4vw,50px);margin-bottom:22px}
.split p+p{margin-top:16px}
.split p{color:#2f2f33}

/* product mock (square, flat) */
.panel{border:1px solid var(--ink);background:#fff}
.panel .bar{display:flex;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--ink);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.panel .row{display:grid;grid-template-columns:1.4fr 2fr .6fr;gap:16px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);font-size:15px}
.panel .row:last-child{border-bottom:0}
.meter{height:10px;background:var(--band);position:relative}.meter i{position:absolute;inset:0 auto 0 0;background:var(--ink)}.meter i.a{background:var(--accent)}
.panel .row b{text-align:right;font-variant-numeric:tabular-nums}

/* steps */
.steps{counter-reset:s;border-top:1px solid var(--ink)}
.step{display:grid;grid-template-columns:90px 1fr 1.4fr;gap:32px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}
.step::before{counter-increment:s;content:"0" counter(s);font-family:"Inter Tight",sans-serif;font-weight:600;color:var(--accent)}
.step h3{font-size:26px}.step p{color:var(--mute)}

/* faq */
details{border-bottom:1px solid var(--line)}details:first-of-type{border-top:1px solid var(--ink)}
summary{list-style:none;cursor:pointer;padding:26px 0;font-family:"Inter Tight",sans-serif;font-weight:600;font-size:22px;letter-spacing:-.02em;display:flex;justify-content:space-between;gap:24px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-weight:400;font-size:28px;line-height:1}
details[open] summary::after{content:"\2212"}
details p{padding:0 0 28px;max-width:720px;color:var(--mute)}

/* forms */
form{display:grid;gap:22px}
label{font-size:14px;font-weight:600;display:block;margin-bottom:8px}
input,select,textarea{width:100%;font:inherit;font-size:16px;padding:14px 16px;border:1px solid var(--ink);background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
textarea{min-height:150px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.note{font-size:14px;color:var(--mute)}

/* page head */
.page-head{padding:clamp(64px,9vw,120px) 0 clamp(40px,5vw,72px);border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(40px,6.4vw,88px);max-width:16ch;letter-spacing:-.04em;line-height:1}
.page-head p{font-size:21px;max-width:620px;color:#2a2a2d;margin-top:26px;line-height:1.5}

/* cta band + footer */
.cta{padding:clamp(72px,9vw,130px) 0}
.cta h2{font-size:clamp(36px,5.6vw,76px);max-width:14ch;letter-spacing:-.04em}
footer.site{background:var(--ink);color:#fff;border-top:1px solid #2e2e32;padding:72px 0 36px}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
footer h4{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#a8a8ac;font-family:"Inter",sans-serif;font-weight:600;margin-bottom:18px}
footer a{display:block;text-decoration:none;color:#e8e8ea;font-size:15px;padding:5px 0}footer a:hover{text-decoration:underline}
footer .logo{color:#fff;margin-bottom:16px}
footer p{color:#a8a8ac;font-size:15px;max-width:300px}
footer .legal{margin-top:64px;padding-top:24px;border-top:1px solid #2e2e32;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#8d8d92;font-size:13px}

@media(max-width:960px){
 .sec-head,.split{grid-template-columns:1fr}.grid.c3,.grid.c4{grid-template-columns:1fr 1fr}
 .step{grid-template-columns:50px 1fr;gap:12px 20px}.step p{grid-column:2}
 footer .cols{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
 body{font-size:16px}
 .menu-btn{display:block}
 nav.main{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--pad) 20px}
 nav.main.open{display:flex}nav.main a{padding:16px 0;border-bottom:1px solid var(--line)}
 .grid.c3,.grid.c2,.grid.c4,.two{grid-template-columns:1fr}
 .panel .row{grid-template-columns:1fr 1fr}.panel .row .meter{grid-column:1/-1;order:3}
 footer .cols{grid-template-columns:1fr}
}

/* tools */
.tool{display:grid;grid-template-columns:380px 1fr;gap:0;border:1px solid var(--ink);margin:56px 0 100px}
.tool>aside{padding:28px;border-right:1px solid var(--ink);background:var(--band);display:grid;gap:18px;align-content:start}
.tool>div.out{padding:28px;min-width:0}
.tool label{font-size:13px;margin-bottom:6px}
.tool input,.tool select,.tool textarea{font-size:15px;padding:11px 13px}
.tool textarea{min-height:110px}
.tool .hint{font-size:13px;color:var(--mute);margin-top:5px}
.tool .btnrow{display:flex;gap:10px;flex-wrap:wrap}
.tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--ink)}
.tag.live{background:var(--accent);border-color:var(--accent);color:#fff}
.score{display:flex;align-items:flex-end;gap:20px;border-bottom:1px solid var(--ink);padding-bottom:22px;margin-bottom:8px}
.score b{font-family:"Inter Tight",sans-serif;font-size:96px;line-height:.85;letter-spacing:-.05em}
.score span{color:var(--mute);padding-bottom:6px}
.grp{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:28px 0 8px}
.chk{display:grid;grid-template-columns:70px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.chk strong{display:block;font-weight:600}.chk em{font-style:normal;color:var(--mute);font-size:14px;word-break:break-word}
.st{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 0;text-align:center;height:fit-content;border:1px solid}
.st.pass{background:#0a0a0b;color:#fff;border-color:#0a0a0b}.st.warn{background:#fff;color:#0a0a0b;border-color:#0a0a0b}.st.fail{background:var(--accent);color:#fff;border-color:var(--accent)}
.empty{border:1px dashed var(--line);padding:60px 24px;text-align:center;color:var(--mute)}
.err{border:1px solid var(--accent);padding:14px 16px;color:var(--accent);font-size:15px;margin-bottom:16px}
pre.code{background:var(--ink);color:#e9e9ec;padding:20px;overflow:auto;font-size:13px;line-height:1.55;max-height:560px;white-space:pre-wrap;word-break:break-word}
table.t{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0 10px}
table.t th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:8px 10px;border-bottom:1px solid var(--ink)}
table.t td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
.bar2{height:12px;background:var(--band);position:relative;min-width:80px}.bar2 i{position:absolute;inset:0 auto 0 0;background:var(--ink)}.bar2 i.a{background:var(--accent)}
.prog{height:6px;background:var(--line);margin:4px 0 14px}.prog i{display:block;height:100%;background:var(--accent);width:0;transition:width .2s}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--line);margin-bottom:24px}
.kpis div{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.kpis b{display:block;font-family:"Inter Tight",sans-serif;font-size:34px;letter-spacing:-.03em;line-height:1}.kpis span{font-size:13px;color:var(--mute)}
.pl{display:grid;grid-template-columns:24px 1fr;gap:8px;padding:6px 0;font-size:14px;align-items:start}.pl input{width:auto;margin-top:4px}
.pg{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin:18px 0 4px}
.resp{white-space:pre-wrap;font-size:14px;color:#2a2a2d;padding:0 0 18px}
.tool details{border-bottom:1px solid var(--line)}.tool details:first-of-type{border-top:0}
.tool summary{font-size:15px;font-family:"Inter",sans-serif;padding:12px 0;font-weight:500;letter-spacing:0}.tool summary::after{font-size:20px}
.hub .cell h3{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cell a.go{display:inline-block;margin-top:22px;font-weight:600;text-decoration:none;border-bottom:2px solid var(--ink)}
@media(max-width:960px){.tool{grid-template-columns:1fr}.tool>aside{border-right:0;border-bottom:1px solid var(--ink)}.kpis{grid-template-columns:1fr 1fr}.score b{font-size:72px}}
@media print{header.site,footer.site,.tool>aside,.cta,.btnrow{display:none!important}.tool{border:0;display:block}}

.panel .li{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:15px}.panel .li:last-child{border-bottom:0}.panel .li span{color:var(--mute);text-align:right}
a.wa{position:fixed;right:20px;bottom:20px;z-index:60;background:#fff;color:var(--ink);border:1px solid var(--ink);padding:13px 20px;font-weight:600;font-size:14px;text-decoration:none}a.wa:hover{background:var(--ink);color:#fff}
@media print{a.wa{display:none}}

/* blog */
.post{max-width:760px;margin:0 auto;padding:56px 0 24px}
.post h2{font-size:clamp(26px,3vw,34px);margin:52px 0 16px}
.post p{margin:0 0 20px;color:#222226;font-size:18px;line-height:1.7}
.post ul,.post ol{margin:0 0 22px 22px;font-size:18px;line-height:1.7;color:#222226}.post li{margin-bottom:8px}
.post a{text-decoration-thickness:1px;text-underline-offset:3px}
.post .meta{font-size:14px;color:var(--mute);margin-top:22px}
table.facts{width:100%;border-collapse:collapse;border:1px solid var(--ink);margin:0 0 40px;font-size:15px}
table.facts th{width:34%;text-align:left;background:var(--band);padding:13px 16px;border-bottom:1px solid var(--line);font-weight:600}
table.facts td{padding:13px 16px;border-bottom:1px solid var(--line)}
table.facts tr:last-child th,table.facts tr:last-child td{border-bottom:0}
.post .faq{margin-top:12px}
.post .faq summary{font-size:19px}
.post .faq p{font-size:16px;color:var(--mute);padding-bottom:6px}
.pc{display:block;text-decoration:none;height:100%}
.pc small{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:46px}
.pc h3{font-size:23px;margin-bottom:12px}.pc p{color:var(--mute);font-size:15px}
.pc span{display:inline-block;margin-top:18px;font-size:14px;font-weight:600;border-bottom:2px solid var(--ink)}
.pc:hover h3{text-decoration:underline;text-underline-offset:4px}
.prods{border-top:1px solid var(--ink)}
.prodrow{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;padding:40px 0;border-bottom:1px solid var(--line)}
.prodrow p{color:#2f2f33;margin-bottom:14px}.prodrow ul{list-style:none;font-size:15px}.prodrow li{padding:9px 0;border-top:1px solid var(--line)}
.prodrow .tag{margin-top:2px}
@media(max-width:960px){.prodrow{grid-template-columns:1fr;gap:16px}}

.answer{border-left:4px solid var(--accent);background:var(--band);padding:22px 26px;margin:0 0 0;font-size:19px;line-height:1.55;color:#1d1d20}
.answer strong{font-weight:600}
.wrap.ans{padding-top:44px;padding-bottom:0}

/* results */
.tabs{display:grid;grid-template-columns:repeat(var(--cols,7),1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.tab{text-align:left;font:inherit;font-weight:600;font-size:15px;line-height:1.3;padding:16px 16px 18px;background:#fff;border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);cursor:pointer}
.tab small{display:block;font-size:12px;color:var(--accent);font-weight:600;margin-bottom:18px}
.tab[aria-selected="true"]{background:var(--ink);color:#fff}.tab[aria-selected="true"] small{color:#3ad1b7}
.tab:hover:not([aria-selected="true"]){background:var(--band)}
.tab:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.tabpanel{border:1px solid var(--ink);border-top:0;padding:clamp(24px,4vw,48px)}
.case{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.case .who{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.case h3{font-size:clamp(26px,3vw,38px);margin-bottom:22px}
.case h4{font-family:"Inter",sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:26px 0 8px;font-weight:600}
.case p{color:#2a2a2d}.case ul{margin:0 0 0 20px;color:#2a2a2d}.case li{margin-bottom:8px}
.chartcard{border:1px solid var(--ink);padding:24px;background:#fff;position:sticky;top:96px}
.chart svg{width:100%;height:auto;display:block}
.chart .curve{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.4s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.delta{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}.delta b{font-family:"Inter Tight",sans-serif;font-size:48px;letter-spacing:-.04em;line-height:1;color:var(--accent)}.delta span{color:var(--mute);font-size:14px}
.cm{font-size:14px;font-weight:600;margin-bottom:10px}
.src{font-size:12px;color:var(--mute);margin-top:8px}
.nochart{padding:44px 12px;text-align:center}.nochart p{margin-bottom:10px;color:var(--mute)}.nochart strong{color:var(--ink);font-size:20px;font-family:"Inter Tight",sans-serif}
@media(max-width:1100px){.tabs{grid-template-columns:repeat(4,1fr)!important}}
@media(max-width:700px){.tabs{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:960px){.case{grid-template-columns:1fr}.chartcard{position:static}.tab{border-right:1px solid var(--ink)}}
@media(max-width:1180px){nav.main{gap:20px}}
@media(prefers-reduced-motion:reduce){.chart .curve{animation:none;stroke-dashoffset:0}}

.badge{display:inline-block;margin-left:8px;padding:3px 8px;border:1px solid var(--ink);color:var(--ink);font-size:11px;letter-spacing:.08em}
.badge.live{background:var(--accent);border-color:var(--accent);color:#fff}
.case ul.qs{list-style:none;margin:0}.case ul.qs li{padding:9px 0 9px 14px;border-left:3px solid var(--accent);background:var(--band);margin-bottom:6px;font-size:15px;color:#2a2a2d}
