/* CerteCerto v3 - light technical theme. Self-hosted fonts, no external requests. */
@font-face{font-family:"Inter";src:url("fonts/Inter-Variable.ttf") format("truetype");font-weight:100 900;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("fonts/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("fonts/IBMPlexMono-Medium.ttf") format("truetype");font-weight:500;font-display:swap}
:root{--bg:#FAFAF8;--panel:#fff;--head:#3B1F2B;--text:#2B2B2B;--muted:#6B6B66;--ink:#151515;--ink2:#1C1C1C;--tint:#E9E9E6;--line:#1C1C1C;--soft:#D8D8D3;
--ok:#1F9D55;--amber:#D98A00;--crit:#B42318;--warn:#B54708;
--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:"Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
--dots:radial-gradient(circle,rgba(21,21,21,.22) 1px,transparent 1.4px) 0 0/16px 16px;
--grid:linear-gradient(rgba(21,21,21,.07) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(21,21,21,.07) 1px,transparent 1px) 0 0/28px 28px;
--stripes:repeating-linear-gradient(135deg,rgba(21,21,21,.07) 0 1px,transparent 1px 9px);
--checker:conic-gradient(rgba(21,21,21,.05) 25%,transparent 0 50%,rgba(21,21,21,.05) 0 75%,transparent 0) 0 0/24px 24px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3{color:var(--head);font-weight:500;letter-spacing:-.025em;line-height:1.08;margin:0 0 .5em}
h1{font-size:clamp(2.5rem,6vw,4.6rem)}h2{font-size:clamp(1.9rem,4vw,3rem)}
a{color:var(--head)}a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.frame{border-left:1px solid var(--soft);border-right:1px solid var(--soft);max-width:1200px;margin:0 auto}
.mono{font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mono b{color:var(--ink);font-weight:500}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;z-index:100}.skip:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.scrollbar{position:fixed;top:0;left:0;right:0;height:2px;z-index:40}.scrollbar b{display:block;height:100%;background:var(--ink);transform-origin:0 50%;transform:scaleX(0)}
/* brackets */
.br{position:relative}.br::before,.br::after,.br>.bc::before,.br>.bc::after{content:"";position:absolute;width:12px;height:12px;border:0 solid var(--ink);pointer-events:none}
.br::before{top:10px;left:10px;border-top-width:1px;border-left-width:1px}.br::after{top:10px;right:10px;border-top-width:1px;border-right-width:1px}
.br>.bc::before{bottom:10px;left:10px;border-bottom-width:1px;border-left-width:1px}.br>.bc::after{bottom:10px;right:10px;border-bottom-width:1px;border-right-width:1px}
/* header */
header.top{position:sticky;top:0;z-index:30;background:rgba(250,250,248,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--soft)}
header.top .wrap{display:flex;align-items:stretch;justify-content:space-between;min-height:58px}
.logo{font:500 1.15rem var(--sans);color:var(--head);text-decoration:none;display:flex;align-items:center;gap:8px;letter-spacing:-.02em}
.logo svg{width:26px;height:26px}.logo .lp{color:#3B1F2B}.logo>span{color:#151515}footer .logo .lp,footer .logo>span{color:#fff}
.links{display:flex;align-items:stretch}
.links a{display:flex;align-items:center;padding:0 16px;border-left:1px solid var(--soft);font:400 .74rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.links a span{color:#666661;margin-right:6px}.links a:hover{background:var(--tint)}
.links a.btn{margin:9px 0 9px 14px;padding:0 18px;color:#fff;border-left:1px solid var(--ink)}.links a.btn:hover{color:var(--ink);background:#fff}
#lensToggle{margin:9px 0 9px 10px;background:none;border:1px solid var(--soft);font:400 .7rem var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:0 10px;cursor:pointer;color:var(--ink)}
#lensToggle[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:900px){.links a:not(.btn){display:none}#lensToggle{display:none}}
/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:13px 22px;font:500 .78rem var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;overflow:hidden;transition:background .2s,color .2s}
.btn::after{content:"";position:absolute;top:4px;right:4px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor}
.btn:hover{background:#fff;color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff}
.btn:disabled{opacity:.6;cursor:wait}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--head);text-decoration:underline;cursor:pointer}
/* sections */
section{border-bottom:1px solid var(--soft);position:relative}
.sec-pad{padding:96px 0}
.sec-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:48px}.sec-head>p{max-width:440px;margin:0}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:0;align-items:stretch}
.split>.vis{border-right:1px solid var(--soft);padding:40px}.split>.copy{padding:56px 48px;display:flex;flex-direction:column;justify-content:center}
.split.rev>.vis{order:2;border-right:0;border-left:1px solid var(--soft)}.split.rev>.copy{order:1}
.more{font:500 .76rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.bg-dots{background:var(--dots)}.bg-grid{background:var(--grid)}.bg-stripes{background:var(--stripes)}.bg-checker{background:var(--checker)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}.stagger.in>*{opacity:1;transform:none}
/* hero */
.hero{background:var(--bg)}
.hero .split{min-height:600px}
.hero .copy{padding:80px 48px 80px 24px}
.rotator{font:400 .95rem var(--mono);color:var(--ink);text-transform:uppercase;letter-spacing:.06em;margin:0 0 22px;display:flex;align-items:center;gap:10px}
.rotator::before{content:"";width:8px;height:8px;background:var(--ink)}
#rot{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:2px;min-width:12ch}
.cursor{display:inline-block;width:.55em;height:1.05em;background:var(--ink);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.lead{font-size:1.1rem;max-width:560px;color:var(--text)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero .vis{background:var(--dots);display:flex;align-items:center;justify-content:center;padding:56px 40px;border-right:0;border-left:1px solid var(--soft);order:2}
.hpanel{width:100%;max-width:470px;background:#fff;border:1px solid var(--ink)}
.hpanel .hb{display:flex;justify-content:space-between;background:var(--ink);color:#fff;font:400 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:8px 12px}
.hpanel .hbody{padding:18px;font:400 .76rem var(--mono);color:var(--ink)}
.scan-lines div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scan-lines div::before{content:"$ ";color:#999}
.scan-lines .tc::after{content:"";display:inline-block;width:6px;height:11px;background:var(--ink);margin-left:2px;animation:blink 1s steps(1) infinite}
.scan-prog{height:6px;background:var(--tint);margin:14px 0 6px;background-image:repeating-linear-gradient(90deg,transparent 0 9px,#fff 9px 10px)}
.scan-prog b{display:block;height:100%;width:0;background:var(--ink);transition:width .4s}
.scan-meta{display:flex;justify-content:space-between;color:var(--muted);text-transform:uppercase;font-size:.68rem;letter-spacing:.06em}
.findings{list-style:none;margin:12px 0 0;padding:0;min-height:170px}
.findings li{display:flex;gap:10px;align-items:center;padding:6px 0;border-top:1px dashed var(--soft);animation:pop .4s ease}
@keyframes pop{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.tag{font:500 .62rem var(--mono);letter-spacing:.06em;padding:2px 6px;border:1px solid currentColor;flex:none}
.tag.crit{color:#B42318;border-color:#D92D20 !important;background:rgba(217,45,32,.10)}.tag.conf{color:var(--ink);background:var(--tint)}.tag.warn{color:#B93D08;border-color:#F97316 !important;background:#FFEDD5}.tag.pass{color:#15803D}
.note{font:400 .66rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:10px 0 0}
/* marquee */
.marquee{background:var(--ink);color:#fff;overflow:hidden;border-bottom:1px solid var(--ink)}
.mq-track{display:flex;width:max-content;animation:mq 40s linear infinite}
.mq-track ul{display:flex;list-style:none;margin:0;padding:0}
.mq-track li{font:400 .74rem var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:13px 22px;border-right:1px solid #3a3a3a;white-space:nowrap}
.mq-track li::before{content:"\25A0";font-size:.5rem;margin-right:10px;vertical-align:middle;color:#666661}
@keyframes mq{to{transform:translateX(-50%)}}
/* stats */
.stats{background:var(--stripes),var(--bg)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:44px 28px;border-right:1px solid var(--soft);background:rgba(255,255,255,.85)}.stat:last-child{border-right:0}
.flip{display:flex;gap:3px;font:500 clamp(1.8rem,3.4vw,2.6rem) var(--mono);color:#fff;margin-bottom:14px;flex-wrap:wrap}
.fl{background:var(--ink2);min-width:.95em;text-align:center;padding:4px 3px;position:relative;line-height:1.1}
.fl::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.18)}
.fl.sep{background:transparent;color:var(--ink);min-width:auto}.fl.sep::after{display:none}
.fl.tick{animation:flipk .07s}@keyframes flipk{from{transform:rotateX(70deg)}to{transform:none}}
.stat p{margin:0;font:400 .76rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
/* icon cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--soft)}
.card{padding:28px 22px 34px;border-right:1px solid var(--soft);background:#fff;position:relative;min-height:380px;display:flex;flex-direction:column;transition:background .25s}
.card:last-child{border-right:0}.card:hover{background:var(--bg)}
.card .num{position:absolute;top:20px;right:24px;font:500 1.05rem var(--mono);color:#666661;overflow:hidden;display:inline-block;line-height:1.2;height:1.2em}.card .num .roll{display:inline-block;animation:numroll 4s cubic-bezier(.2,.8,.2,1) infinite}.card:nth-child(2) .num .roll{animation-delay:.15s}.card:nth-child(3) .num .roll{animation-delay:.3s}.card:nth-child(4) .num .roll{animation-delay:.45s}.card:nth-child(5) .num .roll{animation-delay:.6s}.card:nth-child(6) .num .roll{animation-delay:.75s}@keyframes numroll{0%{transform:translateY(110%);opacity:0}12%{transform:translateY(0);opacity:1}80%{transform:translateY(0);opacity:1}92%,100%{transform:translateY(-110%);opacity:0}}
.card svg.ic{width:70px;height:56px;margin-bottom:auto;stroke:var(--ink);fill:none;stroke-width:1.2}
.card svg.ic .f{fill:var(--ink2);stroke:none}.card svg.ic .t{fill:var(--tint)}
.card:hover svg.ic .pulse{animation:pls 1s ease infinite}@keyframes pls{50%{opacity:.25}}
.card h3{font:500 .98rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--head);margin:56px 0 14px}
.card p{font-size:.92rem;margin:0;color:var(--text)}
/* review panel */
.rv-stage{background:var(--dots);height:100%;min-height:400px;display:flex;align-items:center;justify-content:center;padding:44px 32px}
.rv{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:560px}
.doc{background:#fff;border:1px solid var(--ink);padding:16px 16px 22px}
.doc .dt{font:400 .7rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin-bottom:16px}.doc .dt span{color:#666661}
.sk{position:relative;height:7px;background:var(--tint);margin:9px 0}.sk.s{width:70%}.sk.m{width:85%}
.sk i{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%) scale(0);transition:transform .35s}
.sk i.on{transform:translate(-50%,-50%) scale(1)}.sk i.ring{background:#fff;border:2px solid var(--ink);box-shadow:0 0 0 3px var(--tint)}
.revs{display:flex;flex-direction:column;gap:8px}
.rc{background:var(--tint);padding:10px 12px;display:grid;grid-template-columns:1fr 16px;gap:2px 8px;font:400 .66rem/1.4 var(--mono);color:#555;transition:background .3s}
.rc b{font-weight:500;color:var(--ink);letter-spacing:.04em}
.rc .cb{grid-row:1/3;grid-column:2;width:15px;height:15px;border:1px solid var(--ink);background:#fff;position:relative}
.rc.done .cb{background:var(--ink)}.rc.done .cb::after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);animation:pop .3s}
.rc.done{background:#E2E2DE}
/* tree */
.tree-stage{background:var(--grid),#fff;padding:56px 40px;min-height:440px;display:flex;align-items:center}
.tree{width:100%;max-width:640px;margin:0 auto;font:400 .78rem var(--mono);text-transform:uppercase;color:var(--ink);letter-spacing:.04em}
.node{position:relative;border:1px solid var(--ink);background:#fff;padding:20px 20px 28px}
.node.root{width:62%;margin:28px auto 0;background:var(--ink);color:#fff}
.node span.dim{color:#666661}.node.root .gt{display:block;margin:4px 0 0 18px;animation:blink 1s steps(1) infinite}
.pill{position:absolute;top:-24px;right:-1px;display:flex;align-items:center;gap:6px;font:400 .64rem var(--mono);padding:3px 8px;background:var(--ink);color:#fff;border:1px solid var(--ink);letter-spacing:.06em;transition:all .3s}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--ok)}
.pill.proc{background:#fff;color:var(--ink)}.pill.proc i{background:var(--amber);animation:pls 1s infinite}
.conn{position:relative;height:56px;width:62%;margin:0 auto}
.conn::before{content:"";position:absolute;left:50%;top:0;height:28px;border-left:1px dashed var(--ink)}
.conn::after{content:"";position:absolute;left:0;right:0;top:28px;height:28px;border:1px dashed var(--ink);border-bottom:0}
.conn i{position:absolute;width:6px;height:6px;background:var(--ink)}
.kids{display:grid;grid-template-columns:1fr 1fr;gap:9%}
.flow{position:absolute;left:50%;top:0;width:5px;height:5px;background:var(--ink);border-radius:50%;opacity:0}
/* scan */
.scan-sec .wrap{padding-top:40px;padding-bottom:0}
.q{display:flex;border:1px solid var(--ink);background:#fff}
.q .qi{flex:1;padding:18px 22px;font:400 .92rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}
.q .qi::after{content:"";display:inline-block;width:8px;height:15px;background:var(--ink);vertical-align:middle;margin-left:3px;animation:blink 1s steps(1) infinite}
.q .go{width:60px;background:var(--ink);display:flex;align-items:center;justify-content:center}.q .go svg{width:20px;stroke:#fff;fill:none;stroke-width:1.5}
.sc-body{position:relative;height:440px;background:var(--dots);margin-top:24px;overflow:hidden}
.sc-log{position:relative;z-index:2;width:340px;max-width:100%;font:400 .68rem/1.9 var(--mono);color:var(--ink);background:rgba(250,250,248,.92)}
.sc-log .lb{background:var(--ink);color:#fff;padding:4px 8px;display:flex;justify-content:space-between;letter-spacing:.04em}
.sc-log ol{list-style:none;margin:8px 0 0;padding:0}.sc-log li{display:flex;gap:4px;white-space:nowrap;animation:pop .3s}.sc-log li .dl{flex:1;overflow:hidden;color:#aaa}.sc-log li .dl::before{content:"..................................................................."}
.hatch{position:absolute;left:0;right:0;bottom:0;height:150px;background:repeating-linear-gradient(115deg,transparent 0 11px,rgba(21,21,21,.55) 11px 12px);background-size:200% 100%;animation:hatch 9s linear infinite}
@keyframes hatch{to{background-position:-26px 0}}
.slabs{position:absolute;left:0;right:0;bottom:0;height:100%;width:100%}
.slab{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.sc-res{display:flex;flex-wrap:wrap;border:1px solid var(--ink);border-top:0;background:#fff;font:400 .72rem var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
.sc-res>div{padding:16px 20px;border-left:1px solid var(--soft)}.sc-res>div:first-child{flex:1;border-left:0}
.sc-res i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink);margin-right:8px}.sc-res i.am{background:var(--amber)}
/* case studies */
.cs-row{display:grid;grid-template-columns:200px 160px 1fr 1.25fr;gap:28px;align-items:start;padding:34px 24px;border-top:1px solid var(--soft)}
.cs-ill{width:180px;height:150px;padding:14px}
.cs-ill .pat{width:100%;height:100%;border:1px solid var(--ink)}
.pat.stripes{background:repeating-linear-gradient(135deg,#151515 0 3px,#fff 3px 9px)}
.pat.checker{background:conic-gradient(#151515 25%,#fff 0 50%,#151515 0 75%,#fff 0) 0 0/20px 20px}
.pat.vstripes{background:repeating-linear-gradient(90deg,#151515 0 2px,#fff 2px 8px)}
.pat svg{width:100%;height:100%;display:block}
.pat svg circle{animation:cpulse 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes cpulse{50%{transform:scale(.7)}}
.cs-num{font:500 4.2rem/1 var(--mono);color:transparent;-webkit-text-stroke:1px var(--ink);background:repeating-linear-gradient(0deg,var(--ink) 0 1px,transparent 1px 4px);-webkit-background-clip:text;background-clip:text}
.cs-row h3{font-size:1.55rem;margin:0}.cs-row .lbl{display:block;margin-bottom:8px}
.cs-row p{margin:0 0 10px}.cs-row ul{margin:0;padding-left:18px;font-size:.92rem}
.cs-cta{display:block;margin:0 24px 40px;border:1px solid var(--ink);padding:18px;text-align:center;font:500 .8rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;position:relative}
.cs-cta:hover{background:var(--ink);color:#fff}
/* checklist */
.ring-wrap{position:relative;width:170px;height:170px;margin-top:28px}
.ring{width:100%;height:100%;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:8}
.rt{stroke:var(--tint)}.rf{stroke:var(--ink2);stroke-dasharray:326.7;stroke-dashoffset:326.7;transition:stroke-dashoffset .4s}
.ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring-txt b{font:500 1.9rem var(--mono);color:var(--ink)}.ring-txt span{font:400 .66rem var(--mono);text-transform:uppercase;color:var(--muted)}
.checks{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--ink)}
.checks li{display:flex;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--soft);font-size:.94rem;color:#666661;transition:color .3s}
.checks li:last-child{border-bottom:0}
.checks svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--soft);stroke-width:1.5}
.checks svg path{stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .4s}
.checks li.on{color:var(--text)}.checks li.on svg circle{fill:#DCFCE7;stroke:#16A34A}.checks li.on svg path{stroke:#16A34A;stroke-width:2.2;stroke-dashoffset:0}
.chk-stage{background:var(--checker),#fff;padding:48px 40px}
/* meter */
.meter-stage{background:var(--stripes),#fff;padding:48px 40px;display:flex;align-items:center;justify-content:center}
.meter{background:#fff;border:1px solid var(--ink);padding:28px;text-align:center;width:100%;max-width:400px}
.gauge{width:100%;max-width:300px}
.g-track,.g-fill{fill:none;stroke-width:16}.g-track{stroke:var(--tint)}
.g-zones text{font:600 7px var(--mono);letter-spacing:.04em;fill:#9aa0a8;transition:fill .3s}
.g-zones text.on{fill:currentColor}
.g-pulse{opacity:0;transition:opacity .25s}.meter.crit .g-pulse{opacity:1;animation:gp .5s ease-in-out infinite alternate}
@keyframes gp{from{opacity:.4}to{opacity:1}}
.meter.shake .gauge{animation:gsh .08s linear infinite}
@keyframes gsh{0%{transform:translate(0,0)}25%{transform:translate(-1.5px,.5px)}50%{transform:translate(1.5px,-.5px)}75%{transform:translate(-1px,0)}100%{transform:translate(1px,.5px)}}
#needle{transform-origin:110px 115px;transform:rotate(80deg)}
#needle line{stroke:var(--ink);stroke-width:3}#needle circle{fill:var(--ink)}
.m-label{font:600 1rem var(--mono);letter-spacing:.06em;color:#7F1D1D;margin-top:8px;transition:color .2s}
.m-sub{font:400 .72rem var(--mono);color:var(--muted);text-transform:uppercase}
.shield{position:relative;overflow:hidden;width:54px;margin:8px auto 0;opacity:.15;transition:opacity .5s,transform .5s cubic-bezier(.3,1.6,.5,1)}.shield.on{opacity:1;transform:scale(1.18)}
.shield::after{content:"";position:absolute;inset:-20% auto -20% -60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);transform:skewX(-20deg);opacity:0}
.shield.on::after{animation:shine 1.1s .25s ease-out}
@keyframes shine{0%{left:-60%;opacity:1}100%{left:130%;opacity:1}}
@media (prefers-reduced-motion:reduce){.meter.crit .g-pulse,.meter.shake .gauge,.shield.on::after{animation:none}}
.shield path{fill:#C9A227;stroke:#8A6D1A;stroke-width:2}.shield .sc{fill:none;stroke:#fff;stroke-width:5}
.fixes{list-style:none;margin:20px 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}
.fix{width:100%;display:flex;gap:10px;align-items:center;text-align:left;background:#fff;border:1px solid var(--soft);padding:10px 12px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--text)}
.fix:hover{border-color:var(--ink)}.fix .ft{flex:1}.fix .fs{font:400 .66rem var(--mono);text-transform:uppercase;color:var(--muted)}
.fix .tag{transition:color .4s,background-color .4s,border-color .4s,transform .4s}
.fix .ft{background:linear-gradient(currentColor,currentColor) no-repeat 0 55%/0% 1.5px;transition:background-size .6s ease,color .5s}
.fix .fs{transition:color .4s}
.fix.done{border-color:#86EFAC;background:#F7FEF9}
.fix.done .ft{background-size:100% 1.5px;color:#666661}
.fix.done .tag.ok{animation:tagpop .45s ease}
.tag.ok{color:#16A34A;border-color:#16A34A !important;background:#DCFCE7}
.fix.done .fs{color:#16A34A;font-weight:600}
@keyframes tagpop{0%{transform:rotateX(90deg)}100%{transform:none}}
.fix:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.fix .ft,.fix .tag,.fix .fs{transition:none}.fix.done .tag.ok{animation:none}}
/* who + founder */
.who{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--soft)}
.who>div{padding:32px 26px;border-right:1px solid var(--soft);background:#fff}.who>div:last-child{border-right:0}
.who h3{font:500 .92rem var(--mono);text-transform:uppercase}
.creds{list-style:none;margin:0;padding:0;border:1px solid var(--ink);background:#fff}
.creds li{padding:16px 18px;border-bottom:1px solid var(--soft);display:flex;gap:16px}.creds li:last-child{border-bottom:0}
.creds span{font:400 .78rem var(--mono);color:#666661}
/* signup */
.signup{background:var(--stripes),var(--bg)}
form.box{background:#fff;border:1px solid var(--ink);padding:32px;position:relative}
.field{margin-bottom:20px}.field label{display:block;font:500 .74rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:6px}
.field input{width:100%;padding:13px 14px;background:var(--bg);border:1px solid #666661;color:var(--ink);font:inherit;border-radius:0}
.field input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px var(--tint)}
.field input[aria-invalid="true"]{border-color:var(--crit)}
.err{color:var(--crit);font-size:.82rem;min-height:1.2em;margin-top:4px}
.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:.9rem}
.check input{margin-top:4px;width:18px;height:18px;accent-color:var(--ink);flex:none}
.req{color:var(--crit)}.fine{font-size:.8rem;color:var(--muted)}
.success{display:none;border:1px solid var(--ok);padding:20px;background:#F0FAF4;color:var(--ink)}.success.show{display:block}
/* footer */
footer{background:var(--ink);color:#cfcfca;padding:48px 0;font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer .logo{color:#fff}footer a,footer .linkbtn{color:#fff}footer nav{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start}
footer .fine{color:#B8B8B2}
/* dialogs */
dialog{max-width:760px;width:calc(100% - 32px);max-height:86vh;background:#fff;color:var(--text);border:1px solid var(--ink);padding:0}
dialog::backdrop{background:rgba(21,21,21,.55)}
dialog .dh{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid var(--ink)}
dialog .dh h2{margin:0;font-size:1.4rem}dialog .db{padding:8px 28px 28px;font-size:.93rem}dialog .db h3{font-size:1.05rem;margin-top:1.6em}
dialog .close{background:none;border:1px solid var(--ink);color:var(--ink);font:1rem var(--mono);padding:6px 12px;cursor:pointer}dialog .close:hover{background:var(--ink);color:#fff}
/* magnifier lens */
.lens{position:fixed;left:0;top:0;width:190px;height:190px;border-radius:50%;pointer-events:none;z-index:60;opacity:0;transition:opacity .22s ease;will-change:transform}
.lens.on{opacity:1}
.lens .glass{position:absolute;inset:0;border-radius:50%;overflow:hidden;border:2px solid var(--ink);background:var(--bg);box-shadow:0 10px 30px rgba(0,0,0,.18),inset 0 0 0 4px rgba(255,255,255,.7)}
.lens .lc{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.lens .lc *{animation:none!important;transition:none!important}
.lens .handle{position:absolute;width:12px;height:62px;background:var(--ink);border-radius:6px;left:calc(85.4% - 6px);top:85.4%;transform-origin:50% 0;transform:rotate(-45deg)}.lens .handle::before{content:"";position:absolute;left:-3px;right:-3px;top:0;height:14px;background:#3a3a3a;border-radius:3px}
.lens .glare{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.45),transparent 40%);pointer-events:none}
/* responsive */
@media (min-width:981px){.card{border-bottom:1px solid var(--soft)}.card:nth-child(3n){border-right:0}}
@media (max-width:980px){.split,.split.rev{grid-template-columns:1fr}.split>.vis,.split.rev>.vis{order:2;border:0;border-top:1px solid var(--soft)}.split>.copy{order:1}
.hero .copy{padding:56px 24px}.hero .vis{border-left:0}
.cards{grid-template-columns:1fr 1fr}.card:last-child{grid-column:1/-1;min-height:260px}.card{border-bottom:1px solid var(--soft);min-height:300px}
.cs-row{grid-template-columns:150px 1fr;gap:18px}.cs-row>div:nth-child(3),.cs-row>div:nth-child(4){grid-column:1/-1}.cs-ill{width:150px;height:130px}
.stat-grid{grid-template-columns:1fr 1fr}.stat{border-bottom:1px solid var(--soft)}}
@media (max-width:600px){.sec-pad{padding:64px 0}.sec-head{flex-direction:column;align-items:flex-start;gap:12px}
.split>.copy{padding:44px 20px}.split>.vis,.rv-stage,.tree-stage,.chk-stage,.meter-stage{padding:28px 14px}
.cards,.who{grid-template-columns:1fr}.card,.who>div{border-right:0;border-bottom:1px solid var(--soft)}
.rv{grid-template-columns:1fr}.node.root{width:100%}.conn{width:72%}.kids{gap:5%}.tree{font-size:.64rem}.node{padding:14px 10px 18px}
.cs-num{font-size:3rem}.sc-body{height:380px}.sc-res>div{flex:1 1 100%;border-left:0;border-top:1px solid var(--soft)}.sc-res>div:first-child{border-top:0}
form.box{padding:22px}dialog .db,dialog .dh{padding-left:18px;padding-right:18px}.stat{padding:28px 18px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal,.stagger>*{opacity:1;transform:none}html{scroll-behavior:auto}}

/* who-we-help icons */
.who svg.wic{display:block;width:64px;height:52px;margin-bottom:14px;stroke:#151515;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.who svg.wic .t{fill:#E9E9E6}.who svg.wic .dot{fill:#151515;stroke:none}
.who .ecg{stroke-dasharray:80;stroke-dashoffset:0}
.who>div:hover .ecg{animation:ecg 1.2s ease-out}@keyframes ecg{from{stroke-dashoffset:80}to{stroke-dashoffset:0}}
.who>div:hover .pin{animation:pin .9s ease-in-out infinite alternate}@keyframes pin{to{stroke:#16A34A}}
.who .awn{transform-origin:27px 10px}.who>div:hover .awn{animation:awn 1.2s ease-in-out}@keyframes awn{25%{transform:rotate(-2.5deg)}75%{transform:rotate(2.5deg)}}
@media (prefers-reduced-motion:reduce){.who>div:hover .ecg,.who>div:hover .pin,.who>div:hover .awn{animation:none}}

/* Accessible-site switch */
.skipbar{position:absolute;left:-9999px;top:8px;z-index:100;display:flex;gap:8px;align-items:center}
.skipbar:focus-within{left:8px}.skipbar .skip{position:static}
.a11y-note{display:none}
.a11y-sw{display:inline-flex;align-items:center;gap:8px;min-height:32px;margin:9px 0 9px 10px;padding:0 10px;background:#fff;border:1px solid var(--muted);font:500 .7rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);cursor:pointer}
.a11y-sw .knob{width:30px;height:16px;border:1.5px solid var(--ink);border-radius:9px;position:relative;flex:none}
.a11y-sw .knob::after{content:"";position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:var(--ink);transition:left .2s}
.a11y-sw[aria-checked="true"]{background:var(--ink);color:#fff}.a11y-sw[aria-checked="true"] .knob{border-color:#fff}.a11y-sw[aria-checked="true"] .knob::after{left:16px;background:#fff}
.a11y-sw[aria-checked="true"] .swl::after{content:": on"}.a11y-sw[aria-checked="false"] .swl::after{content:": off"}
@media (max-width:900px){.hdr-sw{display:inline-flex !important;margin-left:auto}.hdr-sw .swl{font-size:.62rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}}
/* ===== Accessible mode (html.a11y) ===== */
html.a11y{scroll-behavior:auto;scroll-padding-top:110px}
.a11y *,.a11y *::before,.a11y *::after{animation:none !important;transition:none !important}
.a11y body{font-size:18px;line-height:1.6;color:#111;background:#fff}
.a11y main p,.a11y main li,.a11y .card p,.a11y .fix{line-height:1.6;color:#111}
.a11y .mono,.a11y .stat p,.a11y .card .num,.a11y .fix .fs,.a11y .note{color:#222 !important}
.a11y h1,.a11y h2,.a11y h3{color:#2A1520}
.a11y main a:not(.btn),.a11y .skipbar a{text-decoration:underline;text-underline-offset:3px;color:#2A1520}
.a11y :focus-visible{outline:4px solid #000 !important;outline-offset:3px !important;box-shadow:0 0 0 7px #FFD60A !important}
.a11y .bg-grid,.a11y .bg-dots,.a11y .bg-stripes,.a11y .bg-checker,.a11y .vis{background-image:none !important}
.a11y .marquee .mq-track{display:none}.a11y .marquee .sr-only{position:static;width:auto;height:auto;clip:auto;white-space:normal;display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:14px 24px;margin:0;font:500 .85rem var(--mono);color:#111}
.a11y .reveal{opacity:1 !important;transform:none !important}
.a11y .cursor,.a11y .lens,.a11y #lensToggle,.a11y canvas{display:none !important}
.a11y .a11y-note{display:inline-block;background:#fff;color:#111;padding:4px 8px;border:1px solid #111}
.a11y .skipbar{position:static;left:auto;padding:6px 24px;background:#fff;border-bottom:1px solid #111;flex-wrap:wrap}
.a11y .skipbar .skip{position:absolute;left:-9999px}.a11y .skipbar .skip:focus{position:static}
.a11y button,.a11y .btn,.a11y input[type=checkbox],.a11y .links a{min-height:24px;min-width:24px}
.a11y input[type=checkbox]{width:24px;height:24px}
.a11y .tag{font-size:.75rem;font-weight:600}.a11y .tag.crit{color:#8B1A10;background:#FDECEA}.a11y .tag.warn{color:#7A2E05;background:#FFEDD5}.a11y .tag.ok{color:#0F5F2C;border-color:#0F5F2C !important}
.a11y .fix.done .ft{color:#444;text-decoration:line-through;background:none}.a11y .fix.done .fs{color:#0F5F2C}
.a11y footer{color:#fff}.a11y footer .fine,.a11y footer p{color:#F0F0EC}.a11y footer a{color:#fff;text-decoration:underline}
.a11y .marquee .sr-only{color:#fff !important;font-size:.85rem}.a11y .marquee .sr-only li{color:#fff !important}
.a11y .fix .fs{color:#222 !important}.a11y .fix.done .fs{color:#0F5F2C !important}

/* ===== Sample report ===== */
#sample .vis{background:var(--stripes);padding:40px 28px;display:flex;align-items:center}
.sr-preview{position:relative;width:100%;background:#fff;border:1px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:18px;font-size:.82rem}

.sr-sample{font:600 .72rem var(--mono);letter-spacing:.1em;text-align:center;background:var(--ink);color:#fff;padding:7px 10px;margin:14px 0}
.sr-head{display:flex;justify-content:space-between;gap:14px;border-bottom:3px solid var(--head);padding-bottom:10px;margin-bottom:12px}
.sr-head .mono{margin:0}.sr-co{font-size:1.25rem;font-weight:700;color:var(--head);margin:4px 0 2px}.sr-co span{font-size:.8rem;font-weight:500;color:var(--muted)}
.sr-sub{margin:0;font-size:.78rem;color:var(--muted)}.sr-badge-wrap{text-align:right;display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.sr-badge{display:inline-block;font:700 .78rem var(--mono);letter-spacing:.06em;padding:6px 10px;border:2px solid #D92D20;background:#FDECEA;color:#9B1C12;white-space:nowrap}
.sr-badge[data-level=moderate]{border-color:#F97316;background:#FFEDD5;color:#9A3412}.sr-badge[data-level=low]{border-color:#CA8A04;background:#FEF9C3;color:#713F12}.sr-badge[data-level=ok]{border-color:#16A34A;background:#DCFCE7;color:#166534}
.sr-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.sr-stats div{border:1px solid var(--soft);padding:8px;text-align:center}.sr-stats b{display:block;font-size:1.4rem;color:var(--head)}.sr-stats span{font:500 .66rem var(--mono);text-transform:uppercase;color:#555}
.sr-find{border:1px solid var(--soft);border-left:4px solid #D92D20;padding:12px 14px;margin:12px 0}.sr-find[data-sev=warn]{border-left-color:#F97316}
.sr-find.done{border-left-color:#16A34A}.sr-find.done h4{text-decoration:line-through;color:#555}
.sr-ftop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.sr-ftop h4{margin:0;font-size:1rem;color:var(--head)}
.sr-laws{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.sr-laws .law,.sr-area{font:500 .66rem var(--mono);border:1px solid var(--soft);padding:2px 6px;background:var(--bg);color:#333}.sr-area{background:var(--ink);color:#fff;border-color:var(--ink)}
.sr-quote{background:var(--bg);border-left:3px solid var(--ink);padding:8px 10px;margin:8px 0}.sr-quote .src{display:block;font:500 .66rem var(--mono);color:#555;margin-bottom:3px}.sr-quote q{font-style:italic}
.sr-exact{background:#f0fdf4;border:1px solid #86efac;padding:8px 10px;margin:8px 0}.sr-exact .k{font:600 .68rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#166534}.sr-exact p{margin:4px 0 0}
.sr-chk{display:inline-flex;gap:8px;align-items:center;font:500 .78rem var(--mono);cursor:pointer;margin-top:4px}.sr-chk input{width:18px;height:18px;accent-color:#16A34A}
.sr-prog{margin:4px 0 12px}.sr-prog p{margin:0 0 4px;font:500 .75rem var(--mono)}.sr-bar{height:8px;border:1px solid var(--ink);background:#fff}.sr-bar i{display:block;height:100%;width:0;background:#16A34A;transition:width .3s}
.sr-box{border:1px solid var(--soft);border-left:4px solid var(--ink);padding:8px 12px;margin-bottom:12px}.sr-box .k{font:600 .68rem var(--mono);text-transform:uppercase}.sr-box ul{margin:4px 0 0;padding-left:18px}
.sr-list{padding-left:20px}.sr-small{font-size:.85rem;color:#444}
.sr-road{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.sr-road b{display:block;margin-bottom:2px}.sr-road .ra{display:block;color:#333}.sr-road li{border:1px solid var(--soft);padding:8px;font-size:.85rem}
.sr-road .flag{display:inline-flex;width:26px;height:26px;border-radius:50%;color:#fff;align-items:center;justify-content:center;margin-right:4px}.sr-road .rn{display:block;font:600 .66rem var(--mono);text-transform:uppercase;margin:4px 0 2px}
.sr-foot{font:500 .72rem var(--mono);border-top:1px solid var(--ink);padding-top:10px;margin-top:20px}.sr-endcta{text-align:center;margin:18px 0 6px}
dialog.sr-dlg{max-width:none;width:100vw;height:100vh;max-height:none;margin:0;border:0}dialog.sr-dlg .db{max-width:900px;margin:0 auto;overflow:auto}
.sr-dlg{overflow:auto}.sr-bar-top{z-index:2;gap:12px;flex-wrap:wrap}.sr-bar-top h2{flex:1;font-size:1.15rem !important}.sr-acts{display:flex;gap:8px;align-items:center}.sr-acts .btn{padding:9px 14px}
.sr-home{font:500 .78rem var(--mono);color:var(--ink)}
@media (max-width:700px){.sr-stats{grid-template-columns:repeat(2,1fr)}.sr-road{grid-template-columns:1fr}.sr-head{flex-direction:column}.sr-badge-wrap{align-items:flex-start;text-align:left}.sr-bar-top h2{order:3;flex-basis:100%}#sample .vis{padding:24px 14px}}
.a11y .sr-preview::after{display:none}.a11y .sr-preview{box-shadow:none;max-height:none}.a11y .sr-stats span,.a11y .sr-quote .src,.a11y .sr-laws .law{color:#111}.a11y .sr-home{text-decoration:underline}
.offer{padding-left:18px;margin:10px 0}.offer li{margin:4px 0}
.thanks{border-bottom:1px solid var(--soft);background:var(--grid)}.thanks-box{max-width:760px;margin:0 auto;padding:72px 24px;text-align:center}
.thanks-box h2{color:var(--head)}.thanks-box .mono{display:inline-block;color:#166534;background:#DCFCE7;border:1px solid #16A34A;padding:4px 10px}

/* v5: sample roadmap matches Privacy Snapshot road-map infographic (scoped to .sr-roadmap) */
.sr-roadmap{position:relative;margin:10px 0 14px;padding:18px 14px 14px;border:1.5px solid #9bb2cc;border-radius:10px;background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);overflow:hidden}
.sr-roadmap::before{content:"";position:absolute;inset:0;opacity:.22;pointer-events:none;background-image:radial-gradient(#6d8db3 1px,transparent 1px);background-size:14px 14px}
.sr-roadmap .sr-road{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:4px;grid-template-columns:none;margin:0;padding:0;list-style:none}
.sr-roadmap .sr-road li{position:relative;flex:1;min-width:0;text-align:center;padding:34px 2px 0;border:0;background:none;font-size:.74rem;line-height:1.25}
.sr-roadmap .sr-road li::after{content:"";position:absolute;top:15px;left:50%;width:100%;height:4px;z-index:-1;background:linear-gradient(90deg,#e00000 0%,#ec6a00 30%,#f59e0b 50%,#84b819 75%,#16a34a 100%)}
.sr-roadmap .sr-road li:last-child::after{display:none}
.sr-roadmap .sr-road .flag{position:absolute;top:0;left:50%;transform:translateX(-50%);width:32px;height:32px;margin:0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:3px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.18);font-size:15px;font-weight:900}
.sr-roadmap .sr-road li:nth-child(4) .flag,.sr-roadmap .sr-road li:nth-child(5) .flag{color:#201800}
.sr-roadmap .sr-road .rn{display:block;margin:4px 0 2px;font:700 .64rem var(--mono);text-transform:uppercase;letter-spacing:.05em;color:#334155}
.sr-roadmap .sr-road b{display:block;margin:2px auto 0;color:#05070b;font-weight:800;line-height:1.2}
.sr-roadmap .sr-road .ra{display:block;margin-top:4px;color:#263244;font-size:.68rem;line-height:1.3}
.sr-roadmap .sr-finish{position:relative;z-index:1;margin:14px auto 0;width:max-content;max-width:100%;padding:6px 12px;border-radius:999px;background:#166534;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 3px 9px rgba(0,0,0,.14)}
@media (max-width:900px){
.sr-roadmap .sr-road{flex-direction:column;gap:0}
.sr-roadmap .sr-road li{text-align:left;padding:0 0 16px 48px;font-size:.85rem}
.sr-roadmap .sr-road li::after{top:16px;left:14px;width:4px;height:100%;background:linear-gradient(180deg,#e00000,#16a34a)}
.sr-roadmap .sr-road .flag{left:0;transform:none}
.sr-roadmap .sr-road .rn{margin-top:6px}
.sr-roadmap .sr-road .ra{font-size:.8rem}}
/* v6: wider sample report so the 8-step road has room (matches real report proportions) */
#sample .frame.split{max-width:1280px;grid-template-columns:1fr}
#sample .split>.copy{padding:48px 32px 8px;max-width:760px}
#sample .split>.vis{border-right:0;padding:24px 20px 40px;justify-content:center}
#sample .split>.vis>*{max-width:1240px;width:100%;margin:0 auto}
dialog.sr-dlg .db{max-width:1260px;padding-left:20px;padding-right:20px}
.sr-roadmap{padding:20px 18px 16px}
.sr-roadmap .sr-road{gap:8px}
.sr-roadmap .sr-road li{padding-top:38px}
.sr-roadmap .sr-road .ra{max-width:150px;margin-left:auto;margin-right:auto}
.sr-roadmap .sr-road b{max-width:150px}
@media (max-width:900px){.sr-roadmap .sr-road .ra,.sr-roadmap .sr-road b{max-width:none;margin-left:0}.sr-roadmap .sr-road li{padding-top:0}#sample .split>.copy{padding:32px 18px 8px}#sample .split>.vis{padding:16px 12px 28px}}
/* FAQ */
.faq-wrap{padding:80px 48px;display:grid;grid-template-columns:1fr 1.6fr;gap:48px}
.faq-list{border-top:1px solid var(--line)}
.faq-i{border-bottom:1px solid var(--soft);padding:18px 0}
.faq-i summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary::after{content:"+";font-family:"IBM Plex Mono",monospace;color:var(--head);font-size:20px}
.faq-i[open] summary::after{content:"–"}
.faq-i summary h3{margin:0;font-size:18px;color:var(--head);display:inline}
.faq-i p{margin:12px 0 0;color:var(--text);max-width:640px}
@media (max-width:900px){.faq-wrap{grid-template-columns:1fr;padding:56px 20px;gap:24px}}
/* v10 blue textures: light #93C5FD -> dark #1D4ED8, left->right. Patterns only sit behind illustration stages or in empty gutters; text cards keep solid backgrounds. */
:root{--bfade:linear-gradient(90deg,rgba(250,250,248,.55),rgba(250,250,248,0) 80%);
--bdots:radial-gradient(circle,rgba(29,78,216,.55) 1.1px,transparent 1.5px) 0 0/16px 16px;
--bgrid:linear-gradient(rgba(37,99,235,.34) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(90deg,rgba(37,99,235,.34) 1px,transparent 1px) 0 0/28px 28px;
--bstripes:repeating-linear-gradient(135deg,rgba(37,99,235,.24) 0 1px,transparent 1px 9px);
--bchecker:conic-gradient(rgba(37,99,235,.13) 25%,transparent 0 50%,rgba(37,99,235,.13) 0 75%,transparent 0) 0 0/24px 24px}
.hero .vis{background:var(--bfade),var(--bdots)}
.tree-stage{background:var(--bfade),var(--bgrid),#fff}
.signup{background:linear-gradient(90deg,rgba(250,250,248,.94) 0 52%,rgba(250,250,248,.35) 60%,rgba(250,250,248,0) 85%),var(--bstripes),var(--bg)}
.chk-stage{background:linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,0) 85%),var(--bchecker),#fff}
.rv-stage{background:var(--bfade),var(--bdots)}
.meter-stage{background:var(--bfade),var(--bstripes),#fff}
#founder .vis{background:var(--bfade),var(--bgrid)}
.stats{background:var(--bfade),var(--bstripes),var(--bg)}
/* Accessible mode deliberately drops decorative patterns for low visual noise */
.a11y .tree-stage,.a11y .signup,.a11y .chk-stage,.a11y .meter-stage,.a11y .stats{background-image:none !important}
/* Two pricing options */
.plans{display:grid;gap:16px;margin-top:14px}
.plan-card{border:1px solid var(--ink);background:#fff;padding:16px 18px}
.plan-card h3{margin:0 0 6px;font-size:1.05rem}
.plan-card .btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;pointer-events:none}
.plan-set{border:0;padding:0;margin:0 0 14px}.plan-set legend{font-weight:600;margin-bottom:6px}
.plan-set input[type=radio]{width:20px;height:20px;flex:none}
.a11y .plan-set input[type=radio]{width:24px;height:24px}

.plan-card + .plan-card{margin-top:2.75rem}
.plan-card h3{margin-top:.5rem;margin-bottom:1rem}

@media (max-width:1100px) and (min-width:981px){.who{grid-template-columns:repeat(2,1fr)}.who>div{border-bottom:1px solid var(--soft)}}
