/* jeluvi base: tokens, type, header, footer, shared components (inlined at build) */
:root{--cobalt:#1B2AE6;--deep:#0B1480;--violet:#8A3FFF;--teal:#27C7BE;--cyan:#19D3FF;--navy:#0B1033;--grad:linear-gradient(60deg,#1B2AE6 0%,#5A46F5 55%,#A03BFF 100%);--gline:linear-gradient(90deg,#19D3FF,#1B2AE6,#A03BFF);--gline-dark:linear-gradient(90deg,#fff,#19D3FF);--shadow-c:0 24px 64px -20px rgba(38,64,255,.35);--paper:#F2F3F7;--ink:#0F1020;--mute:#5B5E72;--line:rgba(15,16,32,.14);--green:#12A15F;--green-soft:#DDF5E8;--white:#FBFBFD;--pad:clamp(20px,3.4vw,52px);--gutter:max(var(--pad),calc((100vw - 1360px) / 2))}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;font-variation-settings:"opsz" 14,"wdth" 100;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:6px}
/* above the fixed header (z-index 2147483000), or a focused skip link sits under the logo */
.skip{position:fixed;left:-9999px;top:8px;z-index:2147483647;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}
.skip:focus{left:8px}
.mono{font-family:"Geist Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.it{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;letter-spacing:-.02em}
.disp{font-variation-settings:"opsz" 96,"wdth" 90;font-weight:700;letter-spacing:-.045em;line-height:.92}
.wrap{max-width:1360px;margin:0 auto}
.eyebrow{display:block;margin-bottom:16px;color:var(--cobalt)}
.eyebrow::after{content:"";display:block;width:52px;height:3px;border-radius:2px;background:var(--gline);margin-top:10px}
.on-dark .eyebrow,.eyebrow.dark{color:var(--cyan)}
.on-dark .eyebrow::after,.eyebrow.dark::after{background:var(--gline-dark)}
.btn-grad{display:inline-flex;align-items:center;gap:12px;text-decoration:none;background:var(--grad);color:#fff;font-family:"Geist Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:16px 24px;border-radius:999px;box-shadow:0 18px 48px -12px rgba(38,64,255,.55);position:relative;overflow:hidden;border:0;cursor:pointer;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.btn-grad::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease}
.btn-grad:hover{transform:translateY(-3px);box-shadow:0 26px 60px -14px rgba(38,64,255,.7)}
.btn-grad:hover::after{transform:translateX(120%)}
.btn-grad svg{width:16px;height:16px}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-family:"Geist Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:15px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(11,20,128,.25);transition:background .3s,border-color .3s}
.btn-ghost:hover{background:rgba(11,20,128,.55);border-color:#fff}
.band-hero .btn-grad{background:linear-gradient(60deg,#5A46F5 0%,#8A3FFF 52%,#C05BFF 100%);box-shadow:0 0 0 1px rgba(255,255,255,.32),0 18px 48px -12px rgba(11,16,51,.55)}
.band-hero .btn-grad:hover{box-shadow:0 0 0 1px rgba(255,255,255,.55),0 26px 60px -14px rgba(11,16,51,.7)}
.btn-ink{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:"Geist Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:14px 20px;border-radius:999px;border:1px solid var(--ink);transition:background .3s,color .3s}
.btn-ink:hover{background:var(--ink);color:var(--paper)}
.tag{font-family:"Geist Mono",monospace;font-size:13px;background:#ECEDF3;border-radius:5px;padding:1px 6px;color:var(--ink)}

/* header */
.top{position:fixed;left:0;right:0;top:0;z-index:2147483000;display:flex;align-items:center;justify-content:space-between;padding:18px max(var(--pad),calc((100% - 1360px) / 2));color:var(--white);transition:color .3s,background .3s}
.top.ink{color:var(--ink)}
.top.solid{background:rgba(242,243,247,.86);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.logo{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:22px;letter-spacing:-.04em;font-variation-settings:"opsz" 24,"wdth" 95}
.dots{display:inline-flex;gap:3px;transform:translateY(3px)}
.dots b{display:block;width:6px;height:6px;border-radius:50%;background:currentColor;animation:typ 1.25s ease-in-out infinite}
.dots b:nth-child(2){animation-delay:.14s}.dots b:nth-child(3){animation-delay:.28s}
@keyframes typ{0%,55%,100%{transform:translateY(0)}28%{transform:translateY(-4px)}}
.nav{display:flex;gap:clamp(12px,1.8vw,26px)}
.nav a{text-decoration:none;opacity:.8;position:relative;padding-bottom:4px}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.nav a:hover,.nav a[aria-current]{opacity:1}
.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.top .cta{text-decoration:none;font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:#fff;background:var(--grad);padding:11px 16px;border-radius:999px;box-shadow:0 12px 30px -10px rgba(38,64,255,.6);transition:transform .3s,box-shadow .3s}
.top .cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px -10px rgba(38,64,255,.75)}

/* breadcrumbs */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:rgba(255,255,255,.75)}
/* 24px minimum target (WCAG 2.2 target size); the text itself stays 14px */
.crumbs a{text-decoration:none;display:inline-flex;align-items:center;min-height:24px}
.crumbs a:hover{color:#fff}
.crumbs i{font-style:normal;opacity:.5}
.crumbs.ink{color:var(--mute)}
.crumbs.ink a:hover{color:var(--ink)}

/* dark hero band shared by inner pages (CSS only, no WebGL) */
.band-hero{position:relative;color:#fff;background:linear-gradient(180deg,var(--deep) 0%,#1526C8 22%,var(--cobalt) 60%,#1B2AE6 100%);overflow:hidden}
.band-hero::before{content:"";position:absolute;inset:-20% -10% 30% -10%;background:radial-gradient(42% 55% at 22% 30%,rgba(138,63,255,.5),transparent 70%),radial-gradient(38% 50% at 78% 22%,rgba(25,211,255,.3),transparent 70%);filter:blur(30px);pointer-events:none}
.band-hero>*{position:relative}
.field{position:absolute;left:0;right:0;bottom:0;height:46%;background-image:linear-gradient(90deg,transparent 0 6%,rgba(255,255,255,.26) 6% 14%,transparent 14% 100%),linear-gradient(180deg,transparent 0 30%,rgba(255,255,255,.16) 30% 70%,transparent 70% 100%);background-size:9% 100%,100% 22%;transform:perspective(900px) rotateX(58deg) scale(1.35);transform-origin:50% 100%;opacity:.5;-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%);mask-image:linear-gradient(180deg,transparent,#000 40%);pointer-events:none}

/* white card with gradient rule on top (DS) */
.card{background:#fff;color:var(--ink);border-radius:20px;padding:26px 28px;box-shadow:var(--shadow-c),0 2px 0 rgba(15,16,32,.04);border:1px solid rgba(15,16,32,.06);position:relative;overflow:hidden}
.card.rule::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--gline)}

/* gradient CTA band */
.band{position:relative;color:#fff;background:var(--grad);padding:clamp(40px,5vw,64px) var(--pad);overflow:hidden}
.band::before{content:"";position:absolute;right:-10%;top:-60%;width:40vw;height:40vw;border-radius:50%;background:radial-gradient(closest-side,rgba(25,211,255,.4),transparent);filter:blur(20px);pointer-events:none}
.band .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.band .mono{display:block;color:rgba(255,255,255,.75);margin-bottom:10px}
.band h2{font-size:clamp(26px,3vw,46px);max-width:22ch}
.band a.white{display:inline-flex;align-items:center;gap:10px;text-decoration:none;background:#fff;color:var(--cobalt);font-family:"Geist Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:16px 24px;border-radius:999px;box-shadow:0 18px 40px -14px rgba(0,0,40,.6);transition:transform .3s}
.band a.white:hover{transform:translateY(-3px)}

/* kit offer */
.kitband{position:relative;color:#fff;background:linear-gradient(130deg,#070B2A 10%,#0F1670 65%,#1B2AE6 130%);padding:clamp(80px,10vw,140px) var(--pad);overflow:hidden}
.kitband::before{content:"";position:absolute;right:-10%;top:-40%;width:50vw;height:50vw;border-radius:50%;background:radial-gradient(closest-side,rgba(25,211,255,.3),transparent);filter:blur(20px);pointer-events:none}
.kitband .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center}
.kitband h2{font-size:clamp(36px,4.8vw,80px);max-width:11ch}
.kitband .lead{margin-top:22px;font-size:clamp(17px,1.35vw,20px);line-height:1.5;max-width:none;opacity:.9}
.kitband .partner{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2);font-size:15px;line-height:1.55;max-width:none;opacity:.9}
.kitband .partner a{color:var(--cyan)}
.kit{background:#fff;color:var(--ink);border-radius:20px;padding:26px 26px 22px;box-shadow:0 40px 90px -30px rgba(0,0,40,.6),0 0 0 1px rgba(255,255,255,.4);position:relative;overflow:hidden;justify-self:end;width:min(460px,100%)}
.kit::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--gline)}
.kit .mono{color:var(--cobalt)}
.kit h3{font-size:clamp(24px,2.1vw,30px);font-variation-settings:"opsz" 32,"wdth" 92;font-weight:650;letter-spacing:-.035em;line-height:1.05;margin-top:10px}
.kit ul{list-style:none;margin:16px 0 18px;display:grid;gap:9px}
.kit li{display:flex;gap:10px;font-size:15px;line-height:1.4;color:#2F3145}
.kit li i{flex:none;width:18px;height:18px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;margin-top:2px}
.kit form{display:grid;gap:10px}
.kit input{width:100%;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font:500 15px/1.2 "Bricolage Grotesque",sans-serif;color:var(--ink);background:#F7F8FC;outline:none;transition:border-color .2s,box-shadow .2s}
.kit input:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px rgba(27,42,230,.15)}
.kit button{width:100%;justify-content:center}
.kit small{display:block;margin-top:12px;font-size:12px;color:var(--mute);line-height:1.5}

/* faq: numbered, typing-dots toggle, gradient underline on hover, cobalt when open */
.faq{counter-reset:q}
.faq details{position:relative;border-top:1px solid var(--line);transition:background .35s}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq details::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gline);transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.8,.2,1);z-index:1}
.faq details:hover::after,.faq details[open]::after{transform:scaleX(1)}
.faq details[open]{background:linear-gradient(90deg,rgba(255,255,255,.85),rgba(255,255,255,.35) 70%,transparent)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px 16px 22px 0;font-size:clamp(17px,1.5vw,22px);font-variation-settings:"opsz" 32,"wdth" 92;font-weight:600;letter-spacing:-.025em;transition:color .25s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{counter-increment:q;content:counter(q,decimal-leading-zero);font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.14em;font-weight:500;color:var(--mute);padding-left:16px;transition:color .25s}
.faq summary:hover,.faq details[open] summary{color:var(--cobalt)}
.faq summary:hover::before,.faq details[open] summary::before{color:var(--cobalt)}
.faq summary i{display:inline-flex;gap:5px;align-items:center;height:20px;padding:0 2px}
.faq summary i b{display:block;width:7px;height:7px;border-radius:50%;background:var(--ink);transition:background .3s,transform .3s}
.faq summary:hover i b{animation:typ 1.1s ease-in-out infinite}
.faq summary:hover i b:nth-child(2){animation-delay:.14s}
.faq summary:hover i b:nth-child(3){animation-delay:.28s}
.faq details[open] summary i b{animation:none}
.faq details[open] summary i b:nth-child(1){background:var(--cyan)}
.faq details[open] summary i b:nth-child(2){background:var(--cobalt)}
.faq details[open] summary i b:nth-child(3){background:var(--violet)}
.faq details p{padding:0 16px 26px 68px;font-size:17px;line-height:1.6;color:#2F3145;max-width:none}
.faq details p::first-letter{font-family:"Instrument Serif",serif;font-style:italic;font-size:1.35em;line-height:.8;color:var(--cobalt)}
.faq details p+p{margin-top:-12px}
.faq details p+p::first-letter{font-family:inherit;font-style:normal;font-size:1em;line-height:inherit;color:inherit}
p.lead+p.lead{margin-top:14px!important}
p.def+p.def{margin-top:10px!important}
.faq details p a{color:var(--cobalt)}
.split.dark .faq details,.on-dark .faq details{border-color:rgba(255,255,255,.18)}
@media (max-width:900px){.faq summary{grid-template-columns:36px minmax(0,1fr) auto;padding-right:8px}.faq summary::before{padding-left:4px}.faq details p{padding-left:52px}}

/* prose */
.prose{font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:#22243A}
.prose>*+*{margin-top:1em}
.prose h2{font-size:clamp(28px,2.8vw,40px);font-variation-settings:"opsz" 48,"wdth" 90;font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--ink);margin-top:2.2em;scroll-margin-top:100px}
.prose h3{font-size:clamp(20px,1.7vw,25px);font-variation-settings:"opsz" 32,"wdth" 92;font-weight:650;letter-spacing:-.03em;line-height:1.15;color:var(--ink);margin-top:1.6em}
.prose p{max-width:none}
.prose ul,.prose ol{padding-left:1.3em;max-width:none}
.prose li+li{margin-top:.4em}
.prose a{color:var(--cobalt);text-decoration:none;border-bottom:1px solid rgba(27,42,230,.35)}
.prose a:hover{border-color:var(--cobalt)}
.prose strong{font-weight:650;color:var(--ink)}
.vh{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.callout{background:var(--green-soft);border:1px solid #BFE8D2;border-radius:14px;padding:18px 20px}
.callout.warn{background:#FFF1E8;border-color:#F8D2BA}
.callout .mono{display:block;margin-bottom:8px;color:#0B7A46}
.callout.warn .mono{color:#C8320F}
.callout p{font-size:16px;line-height:1.55}
.callout p+p,.card p+p{margin-top:.7em}
table.tbl{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 0 rgba(15,16,32,.06)}
.tbl th{text-align:left;padding:14px 16px;background:var(--navy);color:#fff;font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.tbl td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top}
.tbl td:first-child{font-weight:650;color:var(--ink)}
.tblwrap{overflow-x:auto;margin-top:1.2em}

/* footer */
.foot{background:var(--navy);color:#fff;padding:clamp(60px,9vw,130px) var(--gutter) 30px;position:relative;overflow:hidden}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gline)}
.foot::after{content:"";position:absolute;left:-10%;bottom:-30%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(closest-side,rgba(27,42,230,.35),transparent);pointer-events:none}
.foot>*{position:relative;z-index:1}
.foot .big{font-size:clamp(90px,21vw,400px);font-variation-settings:"opsz" 96,"wdth" 85;font-weight:800;letter-spacing:-.06em;line-height:.78;display:flex;align-items:baseline;gap:.08em}
.foot .big .dots b{width:.11em;height:.11em}
.foot .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:clamp(40px,6vw,90px);padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.foot .cols a{display:block;text-decoration:none;font-size:15px;line-height:1.8}
.foot .cols .mono{color:var(--cyan);margin-bottom:8px}
.foot .fine{margin-top:50px;color:rgba(255,255,255,.55);display:flex;justify-content:space-between;gap:20px}

/* back to top */
.totop{position:fixed;right:22px;bottom:22px;z-index:2147482000;width:50px;height:50px;border-radius:50%;border:0;cursor:pointer;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:0 14px 34px -10px rgba(38,64,255,.7);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .3s,transform .3s}
.totop.on{opacity:1;pointer-events:auto;transform:translateY(0)}
.totop svg{width:20px;height:20px}
.totop:hover{transform:translateY(-3px)}

/* reveal on scroll (visible at rest if JS never runs) */
.rv{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.js .rv:not(.in){opacity:0;transform:translateY(22px)}

/* generic split section: sticky heading left, content right */
.split{padding:clamp(70px,9vw,120px) var(--pad)}
.split+.split{border-top:1px solid var(--line)}
.split .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(28px,5vw,80px);align-items:start}
.split h2.disp{font-size:clamp(30px,3.6vw,56px);max-width:12ch}
.split .sub{margin-top:14px;font-size:16px;line-height:1.55;color:#2F3145;max-width:none}
.split.dark{background:var(--navy);color:#fff}
.split.dark .sub{color:rgba(255,255,255,.78)}
.split.dark+.split{border-top:0}

/* reading path: numbered list with hairlines, no badges */
.path{list-style:none;counter-reset:p;border-top:1px solid var(--line)}
.path li{counter-increment:p;display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.path li::before{content:counter(p,decimal-leading-zero);grid-column:1;grid-row:1/span 2;font-family:"Geist Mono",monospace;font-size:12px;letter-spacing:.14em;color:var(--cobalt);padding-top:6px}
.path li>b,.path li>p{grid-column:2}
.path b{display:block;font-size:19px;font-variation-settings:"opsz" 32,"wdth" 92;font-weight:600;letter-spacing:-.025em;line-height:1.2}
.path p{margin-top:6px;font-size:15px;line-height:1.55;color:#2F3145;max-width:none}
.path a{color:var(--cobalt);text-decoration:none;border-bottom:1px solid rgba(27,42,230,.35)}

/* horizontal timeline (days of a cadence): one container, hairline columns */
.tl{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border:1px solid var(--line);background:#fff;border-radius:6px}
.tl li{list-style:none;padding:18px 16px 16px;font-size:14px;line-height:1.45;color:#2F3145;border-left:1px solid var(--line)}
.tl li:first-child{border-left:0}
.tl .day{display:block;font-family:"Geist Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.tl li.hot .day{color:var(--cobalt)}
.tl b{display:block;font-size:16px;font-variation-settings:"opsz" 32,"wdth" 92;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin-bottom:4px}
.tl li.stop{background:var(--green-soft)}
.tl li.stop .day{color:#0B7A46}
.tlwrap{overflow-x:auto;padding-bottom:6px}
.tlwrap .tl{min-width:720px}

/* fact row (real counts only): one rule-separated row, plain numerals */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.kpi{padding:22px 20px 22px 0;border-left:1px solid var(--line);padding-left:20px}
.kpi:first-child{border-left:0;padding-left:0}
.kpi .mono{display:block;color:var(--mute)}
.kpi b{display:block;margin-top:12px;font-variation-settings:"opsz" 96,"wdth" 85;font-weight:600;font-size:clamp(34px,3.6vw,54px);letter-spacing:-.04em;line-height:.9;color:var(--ink)}
.kpi span{display:block;margin-top:10px;font-size:13px;line-height:1.45;color:#2F3145}
.split.dark .kpis{border-color:rgba(255,255,255,.18)}
.split.dark .kpi{border-color:rgba(255,255,255,.18)}
.split.dark .kpi .mono{color:var(--cyan)}
.split.dark .kpi b{color:#fff}
.split.dark .kpi span{color:rgba(255,255,255,.8)}

/* term list for a section: running text links, no pills */
.chipwall{font-size:16px;line-height:1.9;color:#2F3145;max-width:none}
.chipwall a{text-decoration:none;color:var(--ink);border-bottom:1px solid rgba(15,16,32,.3)}
.chipwall a:hover{color:var(--cobalt);border-color:var(--cobalt)}
.chipwall a+a::before{content:"\00B7";display:inline-block;margin:0 .55em;color:var(--mute);border:0}
.chipwall a .mono{color:var(--mute);font-size:10px;margin-left:8px}

/* aside paragraph (editor commentary, plain text) */
.aside-p{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:16px;line-height:1.6;color:#2F3145;max-width:none}
.aside-p a{color:var(--cobalt);text-decoration:none;border-bottom:1px solid rgba(27,42,230,.35)}

/* page updates log (slot) */
.updates{list-style:none;border-top:1px solid var(--line)}
.updates li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}
.updates li .mono{color:var(--mute);padding-top:3px}

/* before and after: one container split by a hairline */
.ba{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:6px}
.ba>div{padding:22px 24px;font-size:15px;line-height:1.6;color:#2F3145}
.ba>div+div{border-left:1px solid var(--line)}
.ba .mono{display:block;margin-bottom:12px;color:var(--mute)}
.ba .after .mono{color:var(--green)}
.ba p+p{margin-top:.8em}
.ba mark{background:#FFF1C2;color:inherit;padding:0 3px}
.ba .after mark{background:var(--green-soft)}

/* two column definition rows: no boxes, hairlines only */
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-top:1px solid var(--line)}
.g2 .card{padding:20px 0;box-shadow:none;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.g2 .card b{display:block;font-size:17px;font-variation-settings:"opsz" 32,"wdth" 92;font-weight:600;letter-spacing:-.02em}
.g2 .card p{margin-top:6px;font-size:14px;line-height:1.55;color:#2F3145}
.g2 .card .mono{display:block;color:var(--mute);margin-bottom:8px}
.g2 .card.no .mono{color:#C8320F}

/* faq block as a split section */
.faqs .faq{width:100%}
.ph{background:#FFF1C2;border:1px dashed #E0B341;border-radius:6px;padding:1px 6px;font-family:"Geist Mono",monospace;font-size:12px;color:var(--ink)}

@media (max-width:900px){
  .nav{display:none}
  .split .wrap{grid-template-columns:minmax(0,1fr)}
  
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ba,.g2{grid-template-columns:minmax(0,1fr)}
  .updates li{grid-template-columns:minmax(0,1fr);gap:4px}
  .kitband .wrap{grid-template-columns:minmax(0,1fr)}
  .kit{justify-self:stretch;width:auto}
  .foot .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.dots b{animation:none}.rv{transition:none}.js .rv:not(.in){opacity:1;transform:none}}

/* ambient color: glows, gradient rules, moving hero light */
.band-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(38% 46% at 70% 62%,rgba(25,211,255,.28),transparent 70%),radial-gradient(30% 40% at 18% 78%,rgba(160,59,255,.42),transparent 70%);filter:blur(34px);pointer-events:none;animation:drift 26s ease-in-out infinite alternate}
.band-hero .wrap{position:relative;z-index:1}
.band-hero .horizon{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gline);opacity:.9;box-shadow:0 0 24px 4px rgba(25,211,255,.45);z-index:1}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-6%,4%,0) scale(1.12)}}
main>section:not(.band-hero):not(.band):not(.kitband):not(.dark){position:relative;background-image:radial-gradient(42% 40% at 86% 42%,rgba(138,63,255,.16),rgba(25,211,255,.05) 55%,transparent 72%)}
main>section:not(.band-hero):not(.band):not(.kitband):not(.dark):nth-of-type(even){background-image:radial-gradient(42% 40% at 14% 56%,rgba(25,211,255,.17),rgba(27,42,230,.06) 55%,transparent 72%)}
.split.dark{background-image:radial-gradient(50% 70% at 92% 0%,rgba(25,211,255,.30),rgba(138,63,255,.12) 50%,transparent 72%),radial-gradient(40% 50% at 8% 100%,rgba(138,63,255,.28),transparent 70%);background-color:var(--navy)}
.split.dark{position:relative}
.split.dark::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gline);z-index:1}
.path,.g2,.updates,.kpis,.msteps,.never,.rl,.ways,.log{border-top:2px solid;border-image:var(--gline) 1}
.split.dark .kpis{border-image:var(--gline-dark) 1}
.tl,.ba{box-shadow:var(--shadow-c)}
table.tbl{box-shadow:var(--shadow-c)}
.aside-p{border-top:2px solid;border-image:var(--gline) 1}
.card.rule{box-shadow:var(--shadow-c),0 0 0 1px rgba(27,42,230,.06)}
@media (prefers-reduced-motion:reduce){.band-hero::after{animation:none}}

/* mobile menu */
/* The popover attribute brings user agent styles with it: a fixed box with a border and a
   background. Undo them, because above 900px this element is an ordinary row in the header.
   These two live below the marker so the homepage stylesheet, which is sliced from here, gets them. */
.nav[popover]{position:static;inset:auto;width:auto;height:auto;max-width:none;max-height:none;margin:0;padding:0;border:0;background:none;color:inherit;overflow:visible}
.nav .navtop{display:none}
/* The native popover, no script. Without :popover-open support the panel never hides, so the
   links stay in the header instead of disappearing behind a button that does nothing.
   NOTE: theme/build.mjs slices home.css from the exact marker above. Do not reword that line. */
.burger{display:none;font:inherit;background:transparent;border:1px solid currentColor;color:inherit;padding:9px 12px;border-radius:999px;cursor:pointer;line-height:1}
@media (max-width:900px){
  .top .cta{padding:10px 12px;font-size:10px}
}
@supports selector(:popover-open){
  @media (max-width:900px){
    .burger{display:inline-flex;margin-left:auto;margin-right:10px}
    .nav[popover]:not(:popover-open){display:none}
    .nav[popover]:popover-open{display:flex;flex-direction:column;position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0 var(--pad) 40px;gap:0;overflow:auto;overscroll-behavior:contain;color:#fff;background:linear-gradient(160deg,var(--deep),var(--cobalt) 55%,#5A46F5)}
    .nav[popover]::backdrop{background:transparent}
    .nav[popover]:popover-open::before{content:"";position:absolute;right:-20%;bottom:-10%;width:80vw;height:80vw;border-radius:50%;background:radial-gradient(closest-side,rgba(25,211,255,.35),transparent);filter:blur(20px);pointer-events:none}
    .nav .navtop{display:flex;align-items:center;padding:18px var(--pad) 74px;margin:0 calc(var(--pad) * -1)}
    .nav .navtop .logo{font-family:"Bricolage Grotesque",sans-serif;font-size:22px;font-weight:700;letter-spacing:-.04em;text-transform:none;opacity:1}
    .nav .navtop .burger{display:inline-flex;margin-left:auto;margin-right:10px}
    .nav[popover] a:not(.logo):not(.cta){position:relative;font-family:"Bricolage Grotesque",sans-serif;font-size:30px;font-variation-settings:"opsz" 32,"wdth" 92;font-weight:600;letter-spacing:-.03em;text-transform:none;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18);opacity:1}
    .nav[popover] a:not(.logo):not(.cta)::after{display:none}
  }
}

/* pipeline flow diagram and score table (shared by term and guide bodies) */
.flow{--n:5;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));align-items:center;margin-top:1.4em;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 18px}
.flow div{position:relative;text-align:center;padding:16px 8px;border-radius:12px;border:1px solid var(--line);margin:0 8px;font-weight:650;font-size:15px;letter-spacing:-.01em}
.flow div small{display:block;font-weight:500;color:var(--mute);font-size:12px;margin-top:4px}
.flow div.hi{background:var(--cobalt);color:#fff;border-color:var(--cobalt);box-shadow:0 18px 40px -16px rgba(38,64,255,.7)}
.flow div.hi small{color:rgba(255,255,255,.75)}
.flow div+div::before{content:"";position:absolute;right:100%;top:50%;width:17px;height:2px;background:var(--gline)}
.flow .own{grid-column:1/-1;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));margin-top:10px}
.flow:has(>div:nth-child(4)){--n:3}.flow:has(>div:nth-child(5)){--n:4}.flow:has(>div:nth-child(6)){--n:5}.flow:has(>div:nth-child(7)){--n:6}.flow:has(>div:nth-child(8)){--n:7}.flow:has(>div:nth-child(9)){--n:8}
@media (max-width:640px){
.flow{grid-template-columns:minmax(0,1fr) 96px;grid-auto-flow:row dense;column-gap:12px;row-gap:14px;padding:18px 14px}
.flow>div:not(.own){grid-column:1;margin:0;text-align:left;padding:12px 14px}
.flow div+div::before{right:auto;left:24px;top:auto;bottom:100%;width:2px;height:14px}
.flow .own{display:contents}
.flow .own span{grid-column:2;text-align:left;align-self:center;line-height:1.4}
}
.flow .own::before{display:none}
.flow .own span{text-align:center;font-family:"Geist Mono",monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.score{margin-top:1.2em;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}
.score .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,1fr);gap:12px 24px;padding:12px 16px;border-top:1px solid var(--line);font-size:15px;align-items:center}
.score .row:first-child{border-top:0;background:var(--navy);color:#fff;font-family:"Geist Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.score .row b{text-align:right;text-wrap:balance;font-variant-numeric:tabular-nums;color:var(--cobalt)}
.score .row.sum{background:var(--green-soft);font-weight:650}
.score .row.sum b{color:#0B7A46}
.score .row:first-child b{color:rgba(255,255,255,.72)}
.bar{height:8px;border-radius:4px;background:#ECEDF3;overflow:hidden}
.bar i{display:block;height:100%;background:var(--gline);border-radius:4px}

/* scene: quiet background material for dark bands (paper messages in perspective, grid, horizon) */
.scene{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.scene .sfield{position:absolute;left:0;right:0;bottom:0;height:46%;background-image:linear-gradient(90deg,transparent 0 6%,rgba(255,255,255,.22) 6% 14%,transparent 14% 100%),linear-gradient(180deg,transparent 0 30%,rgba(255,255,255,.14) 30% 70%,transparent 70% 100%);background-size:9% 100%,100% 22%;transform:perspective(900px) rotateX(58deg) scale(1.35);transform-origin:50% 100%;opacity:.4;-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%);mask-image:linear-gradient(180deg,transparent,#000 40%)}
.scene .shorizon{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gline);opacity:.8;box-shadow:0 0 24px 4px rgba(25,211,255,.4)}
.scene .pk{position:absolute;top:0;bottom:0;left:var(--gutter);right:var(--gutter)}
.scene i{position:absolute;display:block;width:min(var(--w,240px),20vw);aspect-ratio:1.45;border-radius:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);transform:perspective(900px) rotateX(var(--rx,54deg)) rotateZ(var(--rz,-8deg));animation:sfloat 9s ease-in-out infinite;animation-delay:var(--d,0s)}
.scene i::before,.scene i::after{content:"";position:absolute;left:12%;right:30%;top:22%;height:7%;border-radius:3px;background:rgba(255,255,255,.28)}
.scene i::after{top:42%;right:52%}
.scene i:nth-child(1){left:0;bottom:1%;--w:280px;--rz:-10deg}
.scene i:nth-child(2){left:31%;bottom:7%;--w:200px;--rz:6deg;--d:-2.5s}
.scene i:nth-child(3){right:1%;top:5%;--w:250px;--rz:9deg;--d:-4s}
.scene i:nth-child(4){right:31%;bottom:9%;--w:180px;--rz:-4deg;--d:-6s}
.scene~*{z-index:1}
.scene~*:not(.rin){position:relative}
@keyframes sfloat{0%,100%{translate:0 0}50%{translate:0 -14px}}
@media (max-width:1200px){.scene i:nth-child(4){display:none}}
@media (max-width:900px){.scene i:nth-child(n+3){display:none}.scene i{--w:140px}}
.kitband .scene .pk,.kitband .scene .sfield{display:none}
@media (prefers-reduced-motion:reduce){.scene i{animation:none}}
