:root{--brand-b:#101828;--brand-e:#2E7DF6;--p:#1D5FD0;--op:#fff;--pc:#DCE8FF;--opc:#0B2A66;--t:#9A4A2C;--tc:#FBE3D7;--otc:#3A1608;--sf:#FDFCFA;--os:#101828;--osv:#57534E;--o:#8A847D;--ov:#E6E2DC;--c0:#FFFFFF;--c1:#F9F7F4;--c2:#F4F1ED;--c3:#EEEAE5;--code:#101828;--codet:#ECE8E3;--ln:#948E87;
--crit:#B42318;--critb:#FEF3F2;--high:#B54708;--highb:#FFF4E5;--med:#8A6100;--medb:#FEF7DC;--low:#0E7490;--lowb:#E6F6F8;--info:#57534E;--infob:#F1EEEA;--barcrit:#B42318;--barhigh:#B54708;--barmed:#C99A1A;--barlow:#0E7490;--barinfo:#8A847D;
--serif:'Source Serif 4',Georgia,serif;--sans:Geist,system-ui,sans-serif;--mono:'Geist Mono',ui-monospace,monospace}
@media (prefers-color-scheme:dark){:root{--brand-b:#E8EEF7;--brand-e:#5B9BFF;--p:#5B9BFF;--op:#0B1B3A;--pc:#1B3A75;--opc:#DCE8FF;--t:#F0A98A;--tc:#6E3018;--otc:#FBE3D7;--sf:#141311;--os:#ECE8E3;--osv:#C9C3BC;--o:#948E87;--ov:#36332F;--c0:#1C1A17;--c1:#1C1A17;--c2:#211F1C;--c3:#2B2926;--code:#0F0E0C;
--crit:#F97066;--critb:#3A1614;--high:#FD9B5A;--highb:#36200F;--med:#FAC515;--medb:#2E2610;--low:#5CC8D0;--lowb:#0F2A2E;--info:#C9C3BC;--infob:#2B2926;--barcrit:#F97066;--barhigh:#FD9B5A;--barmed:#FAC515;--barlow:#5CC8D0;--barinfo:#948E87}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--sf);color:var(--os);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:1200px;margin:0 auto;padding-left:32px;padding-right:32px}
a{color:var(--p)}a:focus-visible,summary:focus-visible{outline:2px solid var(--p);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--sf);padding:8px;z-index:9}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;margin:0}
h1{font-size:clamp(36px,4.6vw,56px);line-height:1.08}h2{font-size:clamp(26px,3vw,34px);line-height:1.2}
h3{font:600 16px/1.4 var(--sans);margin:0}
.lead{font-size:18px;color:var(--osv);margin:16px 0 0;max-width:52ch}
.small{font-size:13px;color:var(--osv)}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}.ic.sm{width:16px;height:16px}
.mark{font:600 22px var(--sans);letter-spacing:-.02em;color:var(--os);text-decoration:none}.mark span{color:var(--brand-e)}.mark{display:inline-flex;align-items:center}.logo{width:28px;height:28px;flex:none;margin-right:10px}.logo .b{fill:var(--brand-b)}.logo .e{fill:var(--brand-e)}.foot .logo{width:22px;height:22px}.mark.sm{font-size:14px}
.top{display:flex;align-items:center;gap:32px;height:72px;position:relative;z-index:2}.top nav{display:flex;gap:24px;margin-left:auto}.top nav a{color:var(--osv);text-decoration:none;font-size:14px}.top nav a:hover{color:var(--os)}
.btn{position:relative;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 24px;border-radius:999px;font:500 15px var(--sans);text-decoration:none;border:1px solid transparent;overflow:hidden}
.btn:after{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity .15s}.btn:hover:after{opacity:.08}.btn:active:after{opacity:.1}
.btn.sm{height:36px;padding:0 16px;font-size:14px}
.filled{background:var(--p);color:var(--op)}.tonal{background:var(--pc);color:var(--opc)}.outlined{border-color:var(--o);color:var(--p)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 12px}
/* soft geometric background shapes (tonal containers, low intensity) */
.hero,.report,.band,.agencies{position:relative;overflow:hidden}
.shape{position:absolute;pointer-events:none;z-index:0}
.s1{width:520px;height:520px;border-radius:120px;background:var(--pc);opacity:.45;right:-160px;top:-120px;transform:rotate(18deg)}
.s2{width:220px;height:220px;border-radius:50%;background:var(--tc);opacity:.6;left:-90px;bottom:40px}
.s3{width:380px;height:380px;border-radius:50%;background:var(--pc);opacity:.35;left:-140px;top:120px}
.s4{width:460px;height:460px;border-radius:110px;background:var(--tc);opacity:.45;right:-180px;bottom:-200px;transform:rotate(-14deg)}
.hero-grid,.report>.wrap,.band>.wrap,.agencies>.wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-top:56px;padding-bottom:88px}
.facts{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.facts li{display:inline-flex;align-items:center;gap:8px;background:var(--c0);border:1px solid var(--ov);border-radius:999px;padding:6px 14px 6px 10px;font-size:14px}
.facts .ic{color:var(--p);width:18px;height:18px}
.hero-art{position:relative}
.converge{width:100%;height:auto;display:block}
.converge .win{fill:var(--code)}.converge .dot{fill:var(--ln);opacity:.6}.converge .codeline{fill:var(--ln);opacity:.45}.converge .codeline.hot{fill:#F97066;opacity:.9}.converge .hitline{fill:#F97066;opacity:.16}
.converge .wire{fill:none;stroke-width:2}.converge .wire.on{stroke:var(--p)}.converge .wire.off{stroke:var(--o);stroke-dasharray:4 5}
.converge .node circle{stroke-width:2}.converge .node.on circle{fill:var(--p);stroke:var(--p)}.converge .node.off circle{fill:var(--c0);stroke:var(--o)}
.converge text{font:600 13px var(--mono);text-anchor:middle}.converge .node.on text{fill:var(--op)}.converge .node.off text{fill:var(--osv)}
.finding{background:var(--c0);border:1px solid var(--ov);border-radius:16px;padding:20px;width:78%;margin:-36px 0 0 auto;position:relative;box-shadow:0 1px 2px rgba(28,26,23,.06),0 8px 24px rgba(28,26,23,.06)}
.finding header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.finding h3{font:600 19px/1.3 var(--serif)}
.meta{font:12px/1.6 var(--mono);color:var(--osv);margin:4px 0 0}
.agreebar{display:flex;align-items:center;gap:8px;font:500 12px var(--mono);color:var(--p);margin:10px 0 0}
.agree{display:inline-flex;gap:4px}.agree i{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--p)}.agree i.on{background:var(--p)}
pre{margin:12px 0 0;background:var(--code);color:var(--codet);border-radius:8px;padding:10px 14px;font:13px/1.7 var(--mono);overflow-x:auto;box-shadow:inset 3px 0 0 #F97066}
.ln{color:var(--ln);user-select:none}
.fix{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:15px}.fix .ic{color:var(--p)}
.illus{margin:6px 0 0;font-size:12px;color:var(--osv)}
.chip{display:inline-flex;align-items:center;gap:6px;font:500 12px/16px var(--mono);padding:4px 10px;border-radius:8px;white-space:nowrap}
.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.crit{color:var(--crit);background:var(--critb)}
.sec{padding-top:96px}
.split{display:grid;grid-template-columns:1fr 1.35fr;gap:64px;align-items:start}
/* icon containers (M3 tonal shapes) */
.ibox{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--c3);color:var(--os);position:relative;flex:none}
.ibox.p{background:var(--pc);color:var(--opc)}.ibox.t{background:var(--tc);color:var(--otc)}.ibox.lg{width:56px;height:56px;border-radius:16px}.ibox.lg .ic{width:24px;height:24px}
.ibox b{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--p);color:var(--op);font:600 11px/20px var(--mono);text-align:center}
.flow{position:relative;margin-top:40px}
.flowline{position:absolute;left:22px;right:16%;top:12px;height:20px;width:auto}.flowline path{fill:none;stroke:var(--t);stroke-opacity:.5;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:6 6}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative}
.steps h3{margin-top:18px}.steps p{color:var(--osv);margin:6px 0 0;font-size:15px;max-width:34ch}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tile{background:var(--c1);border:1px solid var(--ov);border-radius:16px;padding:20px}
.tile p{margin:14px 0 0;color:var(--osv);font-size:15px}.tile p b{color:var(--os);font-weight:600}
.tile.big h3{margin-top:18px}.tile.big p{margin-top:6px}
.report{margin-top:96px;padding:96px 0;background:var(--c1)}.report .sec{padding:0}
.thumb{margin:32px 0 0;background:var(--c0);border:1px solid var(--ov);border-radius:16px;padding:20px;max-width:380px;transform:rotate(-2deg);box-shadow:0 8px 24px rgba(28,26,23,.06)}
.thumb-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--ov)}
.tiny{font:11px var(--mono);color:var(--osv)}
.bars{display:grid;gap:8px;margin:16px 0}.bars div{display:grid;grid-template-columns:56px 1fr 16px;align-items:center;gap:8px;font:11px var(--mono);color:var(--osv)}
.bar{height:10px;border-radius:5px;width:var(--w);background:var(--c3)}.bar.crit{background:var(--barcrit)}.bar.high{background:var(--barhigh)}.bar.med{background:var(--barmed)}.bar.low{background:var(--barlow)}.bar.info{background:var(--barinfo)}
.ghost{display:grid;gap:6px;margin-bottom:8px}.ghost i{height:6px;border-radius:3px;background:var(--c3);width:100%}
.icons{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}
.icons li{display:flex;gap:14px;align-items:flex-start}.icons b{display:block;font-weight:600}.icons span:not(.ibox):not(.confirm){display:block;color:var(--osv);font-size:15px}
.note{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--osv);margin-top:32px}
.band{background:var(--c2);padding-bottom:96px}.band .sec{padding-top:96px}.trust{margin-top:32px}
.trust .tile{background:var(--c0)}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:32px 0 16px}
.plan{background:var(--c1);border:1px solid var(--ov);border-radius:16px;padding:28px}.plan.feature{border-color:var(--p);box-shadow:inset 0 3px 0 var(--p)}.plan h3{font:600 20px var(--serif)}
.price{font:500 34px var(--sans);letter-spacing:-.02em;margin:8px 0 16px}.price span{font-size:15px;color:var(--osv);letter-spacing:0}
.feat{margin:0;padding:0;list-style:none}.feat li{display:flex;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--ov);font-size:15px}.feat .ic{color:var(--p)}
.agencies{margin-top:96px;padding:96px 0;background:var(--c1)}.agencies .btn{margin-top:24px}.agencies .grid3{grid-template-columns:1fr}.agencies .tile{display:flex;gap:16px;align-items:center;background:var(--c0)}.agencies .tile p{margin:0}
.faq details{border-top:1px solid var(--ov);padding:14px 0}.faq details:last-child{border-bottom:1px solid var(--ov)}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;gap:12px;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary .ic{color:var(--p)}.faq summary>span{flex:1}.faq summary:after{content:"+";color:var(--osv);font-weight:400;font-size:20px}.faq details[open] summary:after{content:"–"}
.faq p{color:var(--osv);margin:8px 0 0 28px}
.closing{text-align:center;padding:112px 0}.closing .btn{margin-top:28px}.mini-agree{width:120px;height:24px;margin-bottom:20px}.mini-agree .on{fill:var(--p)}.mini-agree .off{fill:none;stroke:var(--o);stroke-width:2}
.foot{border-top:1px solid var(--ov);padding-top:32px;padding-bottom:40px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;font-size:14px;color:var(--osv)}
.foot .mark{font-size:18px;margin-right:8px}.foot nav{display:flex;gap:20px;margin-left:auto}.foot nav a{color:var(--osv)}.foot .small{flex-basis:100%;margin:0}
/* Unconfirmed claims: remove .confirm / .tag once Roy confirms */
.confirm{outline:1px dashed var(--t);outline-offset:3px;border-radius:2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.confirm:after{content:attr(data-note);font:500 10px/1 var(--mono);color:var(--otc);background:var(--tc);padding:2px 5px;border-radius:4px;margin-left:8px;vertical-align:2px;white-space:nowrap}
.tag{font:500 10px/1 var(--mono);color:var(--otc);background:var(--tc);padding:2px 5px;border-radius:4px;margin-left:6px;vertical-align:2px;border:1px dashed var(--t)}
@media (max-width:960px){.hero-grid,.split{grid-template-columns:1fr;gap:40px}.steps{grid-template-columns:1fr;gap:28px}.flowline{display:none}.top nav{display:none}.top .btn{margin-left:auto}.grid3{grid-template-columns:1fr}.finding{width:92%}}
@media (max-width:560px){.wrap{padding-left:20px;padding-right:20px}.icons,.plans{grid-template-columns:1fr}.hero-grid{padding-top:32px;padding-bottom:56px}.sec{padding-top:72px}.report,.agencies{margin-top:72px;padding:72px 0}.band{padding-bottom:72px}.band .sec{padding-top:72px}.foot nav{margin-left:0}.btn{height:48px}.finding{width:100%;margin-top:-16px}.thumb{transform:none}.s1{width:320px;height:320px;right:-140px}.closing{padding:80px 0}}
@media (prefers-color-scheme:dark){.s1{opacity:.35}.s2,.s4{opacity:.25}.s3{opacity:.25}.converge .win{fill:#0F0E0C;stroke:#36332F}.finding,.thumb{box-shadow:none}}
