/* Apex Signals IQ — public site. Bloom Control Light. */
:root{
--bg:#fbfaff;--panel:#fff;--br:#e9e5f4;--row:#f1eef8;
--ink:#231e3d;--ink2:#6b6588;--ink3:#a29dbb;
--vio:#7c5cff;--vio2:#5a3fe0;--vio-soft:rgba(124,92,255,.10);
--win:#0e9f7f;--win-soft:rgba(14,159,127,.10);
--loss:#e0447e;--loss-soft:rgba(224,68,126,.09);
--warn:#b45309;--warn-soft:rgba(180,83,9,.10);
--shadow:0 2px 18px rgba(35,30,61,.06);
--shadow-lift:0 10px 30px rgba(35,30,61,.10);
--f:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;
--m:"JetBrains Mono",ui-monospace,monospace;
--pad:clamp(20px,5vw,44px);
--ease:cubic-bezier(.22,.61,.36,1);
--t:150ms;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-weight:400;line-height:1.65;text-wrap:pretty}
a{color:var(--vio2);text-decoration:none}
a:hover{color:var(--vio)}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.02em;line-height:1.14;margin:0}
p{margin:0}
.num,.mono{font-family:var(--m);font-variant-numeric:tabular-nums}
.win{color:var(--win)}
.loss{color:var(--loss)}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:760px}
.lede{font-size:clamp(15px,1.6vw,17px);color:var(--ink2);font-weight:500;line-height:1.7}
.eyebrow{font-family:var(--m);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
.hr{height:1px;background:var(--br);border:0;margin:0}

/* ── texture: lab-notebook dot grid + violet wash ── */
.tex{position:relative;isolation:isolate}
.tex::before{content:"";position:absolute;inset:0;z-index:-2;
 background-image:radial-gradient(circle at 1px 1px,rgba(124,92,255,.16) 1px,transparent 0);
 background-size:22px 22px;
 -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 0%,transparent 72%);
 mask-image:radial-gradient(120% 90% at 50% 0%,#000 0%,transparent 72%);opacity:.55;pointer-events:none}
.tex-wash::after{content:"";position:absolute;inset:0;z-index:-3;pointer-events:none;
 background:radial-gradient(900px 520px at 18% -10%,rgba(124,92,255,.13) 0%,rgba(124,92,255,0) 62%),
            radial-gradient(700px 420px at 92% 6%,rgba(14,159,127,.07) 0%,rgba(14,159,127,0) 66%)}
.rule-dots{height:22px;background-image:radial-gradient(circle at 1px 1px,var(--br) 1px,transparent 0);background-size:11px 11px;opacity:.9}

/* ── logo ── */
.logo{display:flex;align-items:baseline;font-weight:800;letter-spacing:-.045em;font-size:19px;color:var(--ink);white-space:nowrap}
.logo .a{color:var(--vio2)}
.logo svg{display:block;overflow:visible}
.logo-slot{display:inline-flex;align-items:center}

/* ── nav ── */
.nav{position:sticky;top:0;z-index:40;background:rgba(251,250,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--br)}
.nav-in{display:flex;align-items:center;gap:26px;height:62px}
.nav-links{display:flex;gap:4px;margin-left:auto;position:relative}
.nav-links a{position:relative;font-size:13.5px;font-weight:700;color:var(--ink2);padding:8px 14px;border-radius:999px;transition:color var(--t) var(--ease),background var(--t) var(--ease)}
.nav-links a:hover{background:var(--row);color:var(--ink)}
.nav-links a[aria-current]{color:var(--vio2)}
.nav-ind{position:absolute;bottom:-1px;height:2px;border-radius:2px;background:var(--vio);transition:transform 320ms var(--ease),width 320ms var(--ease);transform-origin:left center;pointer-events:none}
.nav-app{font-family:var(--m);font-size:11.5px;font-weight:600;color:var(--ink3);padding:8px 12px;border-radius:999px;border:1px solid var(--br);transition:color var(--t),border-color var(--t)}
.nav-app:hover{color:var(--vio2);border-color:var(--vio)}
.nav-burger{display:none;margin-left:auto;background:none;border:1px solid var(--br);border-radius:10px;width:40px;height:36px;cursor:pointer;align-items:center;justify-content:center;gap:4px;flex-direction:column;padding:0}
.nav-burger i{display:block;width:16px;height:1.5px;background:var(--ink2);border-radius:2px;transition:transform 220ms var(--ease),opacity 160ms}
.nav.open .nav-burger i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nav.open .nav-burger i:nth-child(2){opacity:0}
.nav.open .nav-burger i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* ── surfaces ── */
.card{background:var(--panel);border:1px solid var(--br);border-radius:20px;box-shadow:var(--shadow)}
.lift{transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t) var(--ease)}
.lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:#ded8ef}
.pad{padding:clamp(20px,3vw,30px)}
.grid{display:grid;gap:14px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g5{grid-template-columns:repeat(5,1fr)}
.g6{grid-template-columns:repeat(6,1fr)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--row);color:var(--ink2);white-space:nowrap}
.chip.v{background:var(--vio-soft);color:var(--vio2)}
.chip.w{background:var(--win-soft);color:#0b6e58}
.chip.l{background:var(--loss-soft);color:var(--loss)}
.chip.a{background:var(--warn-soft);color:var(--warn)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--f);font-size:13.5px;font-weight:800;padding:12px 22px;border-radius:12px;border:1px solid var(--br);background:#fff;color:var(--ink);cursor:pointer;transition:transform var(--t) var(--ease),border-color var(--t),color var(--t),box-shadow var(--t)}
.btn:hover{border-color:var(--vio);color:var(--vio2);transform:translateY(-1px);box-shadow:0 6px 18px rgba(124,92,255,.14)}
.btn-p{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-p:hover{background:#332b57;border-color:#332b57;color:#fff}
.btn-q{border:0;background:transparent;color:var(--ink3);font-size:12px;font-weight:700;padding:7px 12px;border-radius:999px}
.btn-q:hover{background:var(--row);color:var(--vio2);transform:none;box-shadow:none}

/* ── live strip: breathing dot ── */
.pulse{width:7px;height:7px;border-radius:50%;background:var(--win);position:relative;flex:0 0 auto}
.pulse::after{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--win);opacity:.28;animation:breathe 2.6s var(--ease) infinite}
@keyframes breathe{0%,100%{transform:scale(.7);opacity:.30}50%{transform:scale(1.35);opacity:.06}}

/* ── display number: the oversized moment ── */
.display{font-family:var(--m);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.045em;line-height:.92;
 font-size:clamp(62px,13vw,148px)}
.display.loss{color:var(--loss)}
.display-cap{font-size:13.5px;font-weight:600;color:var(--ink2);line-height:1.6;max-width:44ch;margin-top:14px}
.pull-big{font-size:clamp(21px,3.4vw,34px);font-weight:800;letter-spacing:-.025em;line-height:1.32;color:var(--ink);border-left:3px solid var(--vio);padding-left:clamp(18px,3vw,28px);margin:38px 0}

/* ── stat tiles ── */
.stat{padding:18px 20px}
.stat .k{font-size:11px;font-weight:700;color:var(--ink2)}
.stat .v{font-family:var(--m);font-variant-numeric:tabular-nums;font-size:clamp(22px,2.4vw,29px);font-weight:700;letter-spacing:-.02em;margin-top:6px;line-height:1.1}
.stat .s{font-size:10.5px;font-weight:600;color:var(--ink3);margin-top:4px}

/* ── sections ── */
section{padding:clamp(46px,7vw,80px) 0}
.sec-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.sec-head h2{font-size:clamp(22px,2.8vw,30px)}
.sec-head .note{font-size:12.5px;font-weight:600;color:var(--ink3)}
.bleed{background:#fff;border-top:1px solid var(--br);border-bottom:1px solid var(--br)}

/* ── scroll reveal ── */
.rv{opacity:0;transform:translateY(12px);transition:opacity 380ms var(--ease),transform 380ms var(--ease);transition-delay:calc(var(--i,0)*70ms)}
.rv.in{opacity:1;transform:none}

/* ── tables ── */
table{width:100%;border-collapse:collapse}
th{font-family:var(--m);font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);text-align:left;padding:0 0 10px;white-space:nowrap}
td{padding:11px 0;border-top:1px solid var(--row);font-size:13px;font-weight:600;color:var(--ink2);white-space:nowrap}
td.r{text-align:right;font-family:var(--m);font-variant-numeric:tabular-nums;font-weight:700;font-size:13.5px}
td.sym{font-family:var(--m);font-weight:700;color:var(--ink);font-size:13px}
td.dt{font-family:var(--m);font-size:11px;color:var(--ink3)}
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
tbody tr{opacity:0;transform:translateY(8px);transition:opacity 320ms var(--ease),transform 320ms var(--ease),background 120ms}
tbody tr.in{opacity:1;transform:none}
tbody tr:hover{background:var(--row)}
/* magnitude bar behind the R value */
.mag{position:relative;width:132px;height:26px;margin-left:auto}
.mag .zero{position:absolute;left:50%;top:3px;bottom:3px;width:1px;background:var(--br)}
.mag .b{position:absolute;top:5px;height:16px;border-radius:4px;transform:scaleX(0);transition:transform 520ms var(--ease);transition-delay:120ms}
.mag .b.p{left:50%;transform-origin:left center;background:var(--win-soft)}
.mag .b.n{right:50%;transform-origin:right center;background:var(--loss-soft)}
tr.in .mag .b{transform:scaleX(1)}
.mag b{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding-right:4px;
 font-family:var(--m);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}

/* ── chart ── */
.ch-box{position:relative;width:100%;touch-action:pan-y}
.chart{display:block;max-width:100%}
.chart-cap{font-size:12px;font-weight:600;color:var(--ink3);line-height:1.6;margin-top:14px}
.ch-band,.ch-med{opacity:0;transition:opacity 520ms var(--ease)}
.ch-box.lit .ch-band,.ch-box.lit .ch-med{opacity:1}
.ch-real{transition:stroke-dashoffset 2000ms cubic-bezier(.33,.02,.2,1)}
.ch-end{opacity:0;transition:opacity 300ms var(--ease) 120ms}
.ch-box.done .ch-end{opacity:1}
.ch-box.done .ch-dot-halo{animation:halo 3s var(--ease) infinite;transform-box:fill-box;transform-origin:center}
@keyframes halo{0%,100%{transform:scale(.75);opacity:.22}50%{transform:scale(1.55);opacity:.05}}
.ch-band,.ch-med,.ch-real{transition-property:opacity,stroke-dashoffset,filter}
.ch-box[data-focus] .ch-dim{opacity:.16!important}
.ch-cross{position:absolute;top:0;bottom:0;width:1px;background:var(--ink3);opacity:0;pointer-events:none;transition:opacity 120ms}
.ch-box.hot .ch-cross{opacity:.5}
.ch-hit{position:absolute;inset:0;cursor:crosshair}
.ch-node{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--ink);border:2px solid #fff;transform:translate(-50%,-50%);opacity:0;pointer-events:none;transition:opacity 120ms;box-shadow:0 1px 4px rgba(35,30,61,.3)}
.ch-box.hot .ch-node{opacity:1}
.ch-tip{position:absolute;z-index:5;min-width:168px;background:var(--ink);color:#fff;border-radius:12px;padding:11px 14px;
 opacity:0;pointer-events:none;transform:translate(-50%,-100%) translateY(-14px);transition:opacity 140ms var(--ease);box-shadow:0 8px 26px rgba(35,30,61,.28)}
.ch-box.hot .ch-tip{opacity:1}
.ch-tip .t{font-family:var(--m);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ch-tip .v{font-family:var(--m);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;margin-top:4px;letter-spacing:-.02em}
.ch-tip .p{font-size:11px;font-weight:700;margin-top:5px;color:#c9bcff}
.ch-tip .d{font-family:var(--m);font-size:10px;color:rgba(255,255,255,.45);margin-top:3px}
.legend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:14px}
.legend button{display:flex;align-items:center;gap:7px;font-family:var(--f);font-size:11px;font-weight:700;color:var(--ink2);background:none;border:0;padding:4px 6px;border-radius:8px;cursor:pointer;transition:color var(--t),background var(--t)}
.legend button:hover{color:var(--ink);background:var(--row)}
.legend i{width:16px;height:10px;border-radius:3px;display:block}

/* ── graveyard ── */
.grave-count{display:flex;gap:clamp(18px,4vw,46px);flex-wrap:wrap;align-items:flex-end;margin-bottom:24px}
.grave-count div{display:grid;gap:2px}
.grave-count b{font-family:var(--m);font-variant-numeric:tabular-nums;font-size:clamp(30px,4.6vw,52px);font-weight:700;letter-spacing:-.03em;line-height:1}
.grave-count span{font-size:11.5px;font-weight:700;color:var(--ink2)}
.grave{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.g{position:relative;background:#fff;border:1px solid var(--br);border-radius:16px;padding:16px 18px;min-height:158px;cursor:pointer;
 transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t)}
.g:hover,.g.open{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:#ded8ef}
.g .n{font-size:13px;font-weight:800;display:flex;gap:8px;align-items:baseline;line-height:1.35}
.g .n em{font-style:normal;color:var(--ink3);font-weight:700}
.g .h{font-size:11.5px;font-weight:600;color:var(--ink2);line-height:1.55;margin-top:8px;transition:opacity 220ms var(--ease),transform 260ms var(--ease)}
.g .e{position:absolute;left:18px;right:18px;bottom:38px;font-size:11.5px;font-weight:700;color:var(--loss);line-height:1.55;
 opacity:0;transform:translateY(8px);transition:opacity 220ms var(--ease) 60ms,transform 260ms var(--ease) 60ms}
.g:hover .h,.g.open .h{opacity:0;transform:translateY(-6px)}
.g:hover .e,.g.open .e{opacity:1;transform:none}
.g .d{position:absolute;left:18px;bottom:14px;font-family:var(--m);font-size:9.5px;color:var(--ink3);letter-spacing:.08em;text-transform:uppercase}
.g .cod{position:absolute;right:18px;bottom:14px;font-family:var(--m);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);opacity:0;transition:opacity 200ms}
.g:hover .cod,.g.open .cod{opacity:1;color:var(--loss)}
.g .fresh{position:absolute;top:14px;right:14px;font-family:var(--m);font-size:8.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--warn);background:var(--warn-soft);padding:3px 8px;border-radius:999px}

/* ── prose ── */
.prose{max-width:65ch}
.prose h2{font-size:clamp(20px,2.4vw,26px);margin:44px 0 14px}
.prose h3{font-size:16px;margin:32px 0 10px}
.prose p{font-size:15.5px;color:var(--ink2);font-weight:500;line-height:1.78;margin:0 0 16px}
.prose p strong{color:var(--ink);font-weight:700}
.prose ul{margin:0 0 18px;padding-left:0;list-style:none;display:grid;gap:10px}
.prose li{font-size:15px;color:var(--ink2);font-weight:500;line-height:1.7;padding-left:22px;position:relative}
.prose li::before{content:"";position:absolute;left:4px;top:11px;width:5px;height:5px;border-radius:50%;background:var(--vio)}
.pull{border-left:3px solid var(--vio);padding:2px 0 2px 20px;margin:26px 0;font-size:16px;font-weight:700;color:var(--ink);line-height:1.6}

/* ── subscribe ── */
.sub-form{display:flex;gap:10px;flex-wrap:wrap}
.sub-form input{flex:1;min-width:200px;font-family:var(--f);font-size:13.5px;font-weight:500;color:var(--ink);padding:12px 16px;border:1px solid var(--br);border-radius:12px;background:#fff;transition:border-color var(--t),box-shadow var(--t)}
.sub-form input::placeholder{color:var(--ink3)}
.sub-form input:focus{outline:none;border-color:var(--vio);box-shadow:0 0 0 3px var(--vio-soft)}
.sub-note{font-size:11px;font-weight:600;color:var(--ink3);margin-top:10px}

/* ── footer ── */
footer{border-top:1px solid var(--br);background:#fff;padding:44px 0 34px;margin-top:20px}
.f-top{display:grid;grid-template-columns:1.2fr .8fr 1.4fr;gap:36px}
.f-desc{font-size:12.5px;font-weight:600;color:var(--ink2);line-height:1.65;margin-top:12px;max-width:34ch}
.f-nav{display:grid;gap:9px}
.f-nav a{font-size:12.5px;font-weight:700;color:var(--ink2);transition:color var(--t),transform var(--t)}
.f-nav a:hover{color:var(--vio2);transform:translateX(2px)}
.f-bot{margin-top:34px;padding-top:20px;border-top:1px solid var(--row);display:flex;gap:20px;flex-wrap:wrap;align-items:baseline}
.disclaimer{font-family:var(--m);font-size:10.5px;color:var(--ink3);line-height:1.7;max-width:78ch}

/* ── home hero ── */
.hero{padding:clamp(34px,5vw,58px) 0 clamp(30px,4vw,44px)}
.hero-in{display:grid;grid-template-columns:minmax(320px,42%) 1fr;gap:clamp(24px,3.6vw,48px);align-items:center}
.hero h1{font-size:clamp(21px,2.5vw,29px);letter-spacing:-.025em;line-height:1.28;margin-top:18px;max-width:26ch}
.hero-chart{min-width:0}
@media(max-width:980px){
.hero-in{grid-template-columns:1fr;gap:26px}
.hero h1{max-width:34ch}
}
@media(max-width:900px){
.g4,.g5,.g6{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:1fr}
.grave{grid-template-columns:repeat(2,1fr)}
.f-top{grid-template-columns:1fr;gap:26px}
.nav-links{display:none;margin-left:0}
.nav-ind{display:none}
.nav-burger{display:flex}
.nav.open .nav-links{display:grid;position:absolute;top:62px;left:0;right:0;background:#fff;border-bottom:1px solid var(--br);padding:10px var(--pad) 16px;gap:2px}
.nav.open .nav-links a{padding:12px 14px}
.nav-app{display:none}
.nav.open .nav-app{display:block;margin-top:6px;text-align:center}
}
@media(max-width:560px){
.g5,.g6,.g4{grid-template-columns:repeat(2,1fr)}
.grave{grid-template-columns:1fr}
.g{min-height:0;padding-bottom:42px}
.g .e{position:static;left:auto;right:auto;bottom:auto;margin-top:9px;opacity:1;transform:none;border-top:1px solid var(--row);padding-top:9px}
.g:hover .h,.g.open .h{opacity:1;transform:none}
.g .cod{opacity:1;color:var(--loss)}
.stat .v{font-size:24px}
.mag{width:104px}
}

/* ── density system: lifecycle, diagrams, strips, accordion ── */
.life{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative;margin-top:26px}
.life::before{content:"";position:absolute;left:calc(100%/12);right:calc(100%/12);top:13px;height:2px;background:var(--br);border-radius:2px}
.life::after{content:"";position:absolute;left:calc(100%/12);top:13px;height:2px;background:var(--vio);border-radius:2px;width:0;transition:width 1100ms var(--ease)}
.life.in::after{width:calc(100% - 100%/6)}
.life .nd{display:grid;justify-items:center;gap:10px;text-align:center;padding:0 6px;position:relative;z-index:1}
.life .nd b{width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid var(--br);display:grid;place-items:center;
 font-family:var(--m);font-size:10px;font-weight:700;color:var(--ink3);transition:border-color 300ms var(--ease),color 300ms var(--ease),transform 300ms var(--ease)}
.life.in .nd b{border-color:var(--vio);color:var(--vio2)}
.life.in .nd:last-child b{border-color:var(--loss);color:var(--loss)}
.life .nd i{font-style:normal;font-family:var(--m);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);line-height:1.45}
.life .nd s{text-decoration:none;font-size:10.5px;font-weight:600;color:var(--ink3);line-height:1.4}
.life .nd:nth-child(1) b{transition-delay:0ms}.life .nd:nth-child(2) b{transition-delay:150ms}.life .nd:nth-child(3) b{transition-delay:300ms}
.life .nd:nth-child(4) b{transition-delay:450ms}.life .nd:nth-child(5) b{transition-delay:600ms}.life .nd:nth-child(6) b{transition-delay:780ms}
@media(max-width:760px){
.life{grid-template-columns:1fr;gap:2px}
.life::before{left:13px;right:auto;top:14px;bottom:14px;width:2px;height:auto}
.life::after{left:13px;top:14px;width:2px;height:0}
.life.in::after{width:2px;height:calc(100% - 28px);transition:height 1100ms var(--ease)}
.life .nd{grid-template-columns:28px 1fr;justify-items:start;text-align:left;gap:14px;padding:9px 0;align-items:center}
.life .nd b{grid-row:span 2}
.life .nd i{align-self:end}.life .nd s{align-self:start}
}
.diag{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(220px,.95fr);gap:clamp(18px,3vw,34px);align-items:center;margin-top:22px}
.callouts{display:grid;gap:12px}
.callout{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.callout u{text-decoration:none;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-family:var(--m);font-size:9.5px;font-weight:700;flex:0 0 auto}
.callout p{font-size:12.5px;font-weight:600;color:var(--ink2);line-height:1.55}
@media(max-width:760px){.diag{grid-template-columns:1fr}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.step{background:#fff;border:1px solid var(--br);border-radius:16px;padding:18px 20px;display:grid;gap:9px;align-content:start}
.step b{font-family:var(--m);font-variant-numeric:tabular-nums;font-size:clamp(26px,3.4vw,36px);font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--vio2)}
.step span{font-size:13px;font-weight:700;color:var(--ink);line-height:1.4}
.step em{font-style:normal;font-size:11.5px;font-weight:600;color:var(--ink3);line-height:1.5}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.contrast{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.col{background:#fff;border:1px solid var(--br);border-radius:16px;overflow:hidden}
.col>h4{font-size:12px;font-weight:800;letter-spacing:.02em;padding:14px 20px;border-bottom:1px solid var(--br)}
.col.yes>h4{color:#0b6e58;background:var(--win-soft)}
.col.non>h4{color:var(--loss);background:var(--loss-soft)}
.col ul{list-style:none;margin:0;padding:6px 20px 16px;display:grid}
.col li{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--row);font-size:12.5px;font-weight:600;color:var(--ink2);line-height:1.5}
.col li:last-child{border-bottom:0}
.col li b{font-family:var(--m);font-size:12px;font-weight:700}
.col.yes li b{color:var(--win)}
.col.non li b{color:var(--loss)}
@media(max-width:560px){.contrast{grid-template-columns:1fr}}
.pullstat{display:flex;flex-wrap:wrap;gap:clamp(14px,3vw,30px);align-items:baseline;padding:clamp(22px,3.4vw,32px) 0;border-top:1px solid var(--br);border-bottom:1px solid var(--br);margin:clamp(30px,4.6vw,50px) 0}
.pullstat .pair{flex:0 1 auto;display:flex;align-items:baseline;gap:clamp(12px,2vw,18px);min-width:0}
.pullstat .big{font-family:var(--m);font-variant-numeric:tabular-nums;font-size:clamp(30px,5.4vw,58px);font-weight:700;letter-spacing:-.035em;line-height:1}
.pullstat .lbl{font-size:12.5px;font-weight:700;color:var(--ink2);max-width:30ch;line-height:1.45}
.pullstat .sep{font-family:var(--m);font-size:clamp(20px,3.4vw,34px);color:var(--br);font-weight:400;line-height:1}
.tl{display:grid;gap:0;margin-top:22px;position:relative;padding-left:26px}
.tl::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--br);border-radius:2px}
.tl div{position:relative;padding:11px 0}
.tl div::before{content:"";position:absolute;left:-26px;top:16px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--br)}
.tl div.now::before{border-color:var(--vio);background:var(--vio)}
.tl div.next::before{border-color:var(--vio)}
.tl b{font-family:var(--m);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);display:block}
.tl span{font-size:13.5px;font-weight:700;color:var(--ink);display:block;margin-top:3px}
.acc{margin-top:20px;border-top:1px solid var(--br)}
.acc details{border-bottom:1px solid var(--br)}
.acc summary{list-style:none;cursor:pointer;padding:17px 40px 17px 0;position:relative;font-size:14.5px;font-weight:800;letter-spacing:-.01em;color:var(--ink);transition:color var(--t)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--vio2)}
.acc summary::after{content:"";position:absolute;right:8px;top:24px;width:9px;height:9px;border-right:2px solid var(--ink3);border-bottom:2px solid var(--ink3);transform:rotate(45deg);transition:transform 240ms var(--ease)}
.acc details[open] summary::after{transform:rotate(-135deg)}
.acc .body{padding:0 0 18px;max-width:62ch}
.acc .body p{font-size:14px;color:var(--ink2);font-weight:500;line-height:1.72;margin:0 0 12px}
.acc .body p:last-child{margin:0}
.acc .body strong{color:var(--ink);font-weight:700}
.info{display:inline-flex;align-items:center;gap:6px;font-family:var(--f);font-size:11.5px;font-weight:700;color:var(--ink3);background:none;border:0;padding:4px 8px;border-radius:999px;cursor:pointer;transition:color var(--t),background var(--t)}
.info:hover{color:var(--vio2);background:var(--row)}
.info-body{display:none;margin-top:12px;padding:14px 18px;background:var(--row);border-radius:14px;max-width:78ch}
.info-body.open{display:block}
.info-body p{font-size:12.5px;font-weight:600;color:var(--ink2);line-height:1.68;margin:0 0 10px}
.info-body p:last-child{margin:0}
.info-body strong{color:var(--ink);font-weight:700}
.tldr{border:1px solid var(--br);border-left:3px solid var(--vio);border-radius:14px;padding:16px 20px;margin-top:24px;background:#fff;max-width:66ch}
.tldr .eyebrow{margin-bottom:10px}
.tldr ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.tldr li{display:grid;grid-template-columns:auto 1fr;gap:11px;font-family:var(--m);font-size:12px;font-weight:500;color:var(--ink2);line-height:1.6}
.tldr li b{color:var(--vio2);font-weight:700}
.tldr li strong{color:var(--ink);font-weight:700}
.ichip{display:inline-flex;align-items:baseline;gap:5px;font-family:var(--m);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:7px;background:var(--row);color:var(--ink);white-space:nowrap;vertical-align:baseline}
.ichip.l{background:var(--loss-soft);color:var(--loss)}
.ichip.w{background:var(--win-soft);color:#0b6e58}
.ichip.v{background:var(--vio-soft);color:var(--vio2)}
.excerpt{position:relative;max-height:5.6em;overflow:hidden}
.excerpt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.4em;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,#fff 82%);pointer-events:none}
.takeaway{font-size:clamp(15px,1.9vw,19px);font-weight:800;letter-spacing:-.015em;line-height:1.45;color:var(--ink);border-left:3px solid var(--vio);padding-left:18px;margin:22px 0;max-width:56ch}

/* ── reduced motion ── */
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
.rv{opacity:1;transform:none}
tbody tr{opacity:1;transform:none}
.life::after{width:calc(100% - 100%/6)}
.life .nd b{border-color:var(--vio);color:var(--vio2)}
.mag .b{transform:scaleX(1)}
.ch-band,.ch-med{opacity:1}
.ch-end{opacity:1}
}
