/* Cybereum · home.css — homepage bundle. Tokens come from site-core.css; header, footer and buttons from site-shell.css. */
:root{--card:linear-gradient(160deg,color-mix(in srgb,var(--cyan) 7%,transparent),color-mix(in srgb,var(--cyan) 2%,transparent));--shadow:0 1px 2px rgb(0 0 0/.5),0 12px 40px -12px rgb(0 0 0/.7);--halo:0 0 0 1px var(--cyb-line-strong),0 0 48px -8px color-mix(in srgb,var(--cyan) 45%,transparent);--on-accent:var(--cyb-on-accent);--img-fade:linear-gradient(to top,rgb(6 13 24/.96),rgb(6 13 24/.55) 55%,transparent);color-scheme:dark}
:root[data-theme="light"]{--card:linear-gradient(160deg,#FFFFFF,#F7FAFD);--shadow:0 1px 2px rgb(10 21 36/.06),0 12px 32px -12px rgb(10 21 36/.16);--halo:0 0 0 1px var(--cyb-line-strong),0 16px 40px -16px color-mix(in srgb,var(--graph) 35%,transparent);--img-fade:linear-gradient(to top,rgb(10 21 36/.92),rgb(10 21 36/.5) 55%,transparent)}
*,*::before,*::after{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--cyb-nav-h) + 16px);-webkit-text-size-adjust:100%;background:var(--cyb-bg)}
body{font:400 1rem/1.7 var(--cyb-body);color:var(--cyb-fg);background:var(--cyb-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--base),color var(--base)}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 45% at 50% -5%,color-mix(in srgb,var(--accent-deep) 55%,transparent),transparent 70%),radial-gradient(45% 40% at 100% 100%,color-mix(in srgb,var(--accent-2) 22%,transparent),transparent 70%),linear-gradient(var(--cyb-line) 1px,transparent 1px) 0 0/72px 72px,linear-gradient(90deg,var(--cyb-line) 1px,transparent 1px) 0 0/72px 72px;-webkit-mask-image:radial-gradient(120% 90% at 50% 20%,#000 45%,transparent 100%);mask-image:radial-gradient(120% 90% at 50% 20%,#000 45%,transparent 100%)}
:root[data-theme="light"] body::before{opacity:.55}
img,svg,video,iframe{display:block;max-width:100%}
a{color:var(--accent);text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--cyb-display);font-weight:400;line-height:1.15;letter-spacing:.02em;text-wrap:balance;color:var(--cyb-fg)}
h1{font-size:var(--t-2xl)}
h2{font-size:var(--t-xl)}
h3{font-size:var(--t-md);font-family:var(--cyb-body);font-weight:600;letter-spacing:0}
p{text-wrap:pretty}
em{font-style:italic}
::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--cyb-radius-sm)}
*{scrollbar-width:thin;scrollbar-color:var(--cyb-line-strong) transparent}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font:500 var(--t-xs)/1 var(--cyb-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}
:root{--grad:linear-gradient(120deg,var(--accent),var(--accent-2) 55%,var(--mist))}
:root[data-theme="light"]{--grad:linear-gradient(120deg,var(--graph),var(--blue) 60%,var(--sky))}
.grad,.split .grad .w>i{background:var(--grad);background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent}
.split .grad{background:none;color:inherit}
.statement{max-width:58ch;margin:var(--s-7) auto 0;text-align:center;font-size:clamp(1.15rem,1rem + .6vw,1.5rem);line-height:1.5;font-weight:500;letter-spacing:-.005em}
#solution .statement,#outcomes .statement{margin-top:0;margin-bottom:var(--s-7)}
.icon{width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pill{display:inline-flex;align-items:center;gap:.5em;padding:.45em 1em;border-radius:var(--cyb-radius-pill);border:1px solid var(--cyb-line-strong);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--cyb-fg-2);font:500 var(--t-xs)/1.2 var(--cyb-mono);letter-spacing:.06em;transition:transform var(--fast) var(--ease-spring),border-color var(--fast),background var(--fast)}
.pill:hover{transform:translateY(-2px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}
.row{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center}
.grid{display:grid;gap:var(--s-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,280px)),1fr))}
.cta{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;align-items:center;margin-top:var(--s-6)}
#solution .cta{margin-top:var(--s-4);margin-bottom:var(--s-5)}
.progress{position:fixed;top:0;left:0;z-index:1200;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--accent-deep),var(--accent));box-shadow:0 0 12px var(--accent)}
.vlogo{overflow:visible}
.section{position:relative}
/* site-core.css's `body .section{padding-block:var(--cyb-section)}` outranks a
   bare `.section` rule on specificity regardless of source order, so the
   homepage-specific tightening below has to match that specificity to win. */
body .section{padding-block:clamp(3rem,6vw,5rem)}
.section + .section{border-top:1px solid var(--cyb-line)}
.section-head{margin:0 auto var(--s-7);text-align:center}
.section-head .eyebrow{display:inline-flex;align-items:center;gap:.9em;margin-bottom:var(--s-4)}
.section-head .n::before{content:counter(sec,decimal-leading-zero);counter-increment:sec;font:500 var(--t-xs)/1 var(--cyb-mono);letter-spacing:.2em;color:var(--cyb-fg-3)}
.section-head .n::after{content:"";display:inline-block;width:28px;height:1px;background:var(--cyb-line-strong);margin-left:.9em;vertical-align:middle}
main{counter-reset:sec}
.section-head h2{margin-bottom:var(--s-4)}
.section-head p{font-size:var(--t-md);color:var(--cyb-fg-2)}
.section-head .tagline{margin:var(--s-3) 0 var(--s-4);font:500 var(--t-xs)/1 var(--cyb-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--cyb-fg-3)}
.card{position:relative;padding:var(--s-6);transform-style:preserve-3d;border-radius:var(--cyb-radius-md);background:var(--card);border:1px solid var(--cyb-line);box-shadow:var(--shadow);color:inherit;transition:transform var(--base) var(--ease),box-shadow var(--base) var(--ease),border-color var(--base);overflow:hidden}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 160px at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%);opacity:0;transition:opacity var(--base)}
.card:hover{transform:translateY(-6px) rotateX(var(--rx,0)) rotateY(var(--ry,0));border-color:var(--cyb-line-strong);box-shadow:var(--shadow),var(--halo)}
.card:hover::before{opacity:1}
.card>*{position:relative}
.card h3{margin:var(--s-4) 0 var(--s-2)}
.card p{color:var(--cyb-fg-2);font-size:var(--t-sm);line-height:1.65}
.card-icon{--hex:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);position:relative;display:grid;place-items:center;width:56px;height:50px;clip-path:var(--hex);color:var(--accent);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 70%,transparent),color-mix(in srgb,var(--accent) 18%,transparent) 60%,color-mix(in srgb,var(--accent) 45%,transparent));filter:none;transition:filter var(--base),transform var(--base) var(--ease-spring)}
.card-icon::before{content:"";position:absolute;inset:1.5px;clip-path:var(--hex);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 26%,var(--cyb-bg-2)),color-mix(in srgb,var(--accent) 8%,var(--cyb-bg-2)) 55%,color-mix(in srgb,var(--accent) 16%,var(--cyb-bg-2)))}
.card-icon::after{content:"";position:absolute;inset:1.5px;clip-path:var(--hex);background:radial-gradient(60% 55% at 50% 0%,color-mix(in srgb,#fff 22%,transparent),transparent 70%);mix-blend-mode:screen;pointer-events:none}
.card-icon .icon{position:relative;z-index:1;width:22px;height:22px;stroke-width:1.75;filter:none}
.card:hover .card-icon{transform:none;filter:none}
:root[data-theme="light"] .card-icon::after{background:radial-gradient(60% 55% at 50% 0%,rgb(255 255 255/.7),transparent 70%);mix-blend-mode:normal}
.card .num{position:absolute;top:var(--s-4);right:var(--s-5);font:500 var(--t-xs) var(--cyb-mono);letter-spacing:.2em;color:var(--cyb-fg-3)}
.card.compact{padding:var(--s-5)}
.card.compact h3{margin-top:0;font-size:var(--t-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.preloader{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;align-content:center;gap:22px;background:linear-gradient(135deg,#10233B 0%,#0A1524 55%);color:#EAF7FF;transition:clip-path 1s cubic-bezier(.76,0,.24,1) .1s;clip-path:inset(0 0 0 0)}
.preloader::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 120% 90% at 50% 45%,transparent 55%,rgb(0 0 0/.5));pointer-events:none}
.preloader.done{clip-path:inset(0 0 100% 0);pointer-events:none}
.pl-grid{position:absolute!important;inset:auto 0 0!important;height:55%;z-index:0!important;background:linear-gradient(color-mix(in srgb,var(--cyb-cyan) 10%,transparent) 1px,transparent 1px) 0 0/100% 44px,linear-gradient(90deg,color-mix(in srgb,var(--cyb-cyan) 10%,transparent) 1px,transparent 1px) 0 0/44px 100%;transform:perspective(560px) rotateX(64deg);transform-origin:50% 100%;-webkit-mask:linear-gradient(transparent,#000 45%,#000 80%,transparent);mask:linear-gradient(transparent,#000 45%,#000 80%,transparent);opacity:0;animation:fade-in 1.4s .3s forwards}
.pl-scan{position:absolute!important;left:0;right:0;top:-9%;height:9%;z-index:0!important;background:linear-gradient(transparent,color-mix(in srgb,var(--cyb-cyan) 3.5%,transparent));border-bottom:1px solid color-mix(in srgb,var(--cyb-cyan) 12%,transparent);animation:preloader-scan 1.8s cubic-bezier(.45,0,.18,1) .35s 1 forwards;opacity:0;filter:blur(.15px)}
.pl-fly{position:fixed!important;z-index:3001;pointer-events:none;transform-origin:50% 50%;filter:drop-shadow(0 0 20px color-mix(in srgb,var(--cyb-cyan) 36%,transparent));will-change:transform,filter}
.preloader>*{position:relative;z-index:1;transition:opacity .3s,transform .5s var(--ease)}
.preloader.done>*{opacity:0;transform:translateY(-28px)}
.pl-stage{position:relative;width:min(44vh,300px);aspect-ratio:1;display:grid;place-items:center}
.pl-glow{position:absolute;inset:-42%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.72) 0%,rgba(234,247,255,.62) 13%,rgba(168,220,245,.48) 30%,rgba(62,155,214,.28) 49%,rgba(27,79,138,.12) 66%,rgba(27,79,138,0) 82%);filter:blur(8px);opacity:0;transform-origin:50% 50%;pointer-events:none}
.pl-flare{position:absolute;z-index:2;width:120%;height:120%;mix-blend-mode:screen;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(234,247,255,0) 30%,rgba(234,247,255,.9) 50%,rgba(234,247,255,0) 70%,transparent 100%) 50% 50%/100% 2px no-repeat,linear-gradient(0deg,transparent 0%,rgba(234,247,255,0) 30%,rgba(234,247,255,.9) 50%,rgba(234,247,255,0) 70%,transparent 100%) 50% 50%/2px 100% no-repeat,radial-gradient(circle,rgba(255,255,255,.9) 0%,color-mix(in srgb,var(--cyb-cyan) 35%,transparent) 18%,color-mix(in srgb,var(--cyb-cyan) 0%,transparent) 42%)}
.pl-mark{width:86%;height:86%;filter:drop-shadow(0 0 22px rgba(62,155,214,.35))}
.pl-mark path{opacity:0}
.pl-mark #pl-backing{opacity:0}
.preloader.genesis-mask .pl-mark path,.preloader.genesis-mask .pl-mark #pl-backing,.preloader.genesis-mask .pl-mark .corelight{opacity:0!important}
.pl-hud{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0}
#pl-ring,#pl-brk{transform-box:fill-box;transform-origin:center}
.pl-word{width:min(70vw,460px);opacity:0}
.pl-word svg{width:100%;height:auto;fill:var(--cyb-cyan)}
.pl-tag{font:400 .72rem/1 var(--cyb-mono);color:#A8DCF5;white-space:nowrap;opacity:0;letter-spacing:.24em;max-width:94vw;overflow:hidden;text-overflow:clip}
.pl-tag--2{margin-top:-8px;font-size:.62rem;letter-spacing:.2em;color:var(--cyb-cyan)}
.pl-meta{position:absolute;left:clamp(1rem,4vw,3rem);right:clamp(1rem,4vw,3rem);bottom:clamp(1rem,4vw,2.5rem);display:flex;justify-content:flex-end;align-items:flex-end;gap:var(--s-4)}
.pl-pct{display:flex;align-items:baseline;gap:.15em;font:400 clamp(2.6rem,7vw,5.5rem)/1 var(--cyb-display);letter-spacing:-.02em;color:#EAF7FF;font-variant-numeric:tabular-nums}
.pl-pct i{font:400 .34em/1 var(--cyb-mono);color:var(--cyb-cyan);letter-spacing:.1em}
.pl-bar{position:absolute;left:0;top:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(var(--p,0));background:linear-gradient(90deg,#1B4F8A,var(--cyb-cyan));box-shadow:0 0 16px var(--cyb-cyan)}
body.loading{overflow:hidden}
/* analytics.js mounts the consent banner at the top of the stacking order, which put it over
   the once-per-session ignition. It waits behind the curtain and arrives once the hero has
   settled; on dismissal it goes to display:none, which this transition does not touch. */
.cyb-consent{transition:opacity .5s var(--ease-out) 1.1s,visibility 0s linear 1.1s}
body.loading .cyb-consent{opacity:0;visibility:hidden;transition:none}
.split .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em;max-width:100%}
.split .w>i{display:inline-block;font-style:inherit;overflow-wrap:break-word;transform:translateY(var(--split-rise,112%)) rotate(3deg);transform-origin:0 100%;transition:transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--d,0) * 45ms + var(--o,0ms))}
.split.in .w>i,.in .split .w>i{transform:none}
[data-reveal].split,html.reveal-ready [data-reveal].split{opacity:1;transform:none}
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--cyb-nav-h) + clamp(2rem,6vw,4rem)) 0 clamp(4rem,8vw,6rem);text-align:center;overflow:hidden;isolation:isolate}
/* site-core.css's `body .hero{...padding-bottom:clamp(5rem,10vw,8rem)}` outranks
   the bare `.hero` rule above on specificity, so match it to tighten the
   hero's own bottom padding (its content is unaffected). */
body .hero{padding-bottom:clamp(3rem,6vw,4.5rem)}
.hero-body{width:100%;max-width:var(--cyb-max);margin-inline:auto;flex:0 1 auto}
.hero::before{content:"";position:absolute;inset:-30%;z-index:-2;pointer-events:none;background:radial-gradient(38% 34% at 30% 40%,color-mix(in srgb,var(--accent-deep) 60%,transparent),transparent 70%),radial-gradient(30% 30% at 72% 35%,color-mix(in srgb,var(--accent-2) 32%,transparent),transparent 70%),radial-gradient(28% 28% at 55% 75%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%);filter:blur(40px)}
:root[data-theme="light"] .hero::before{opacity:.5}
.hero-scene{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none}
.hero-net{position:absolute;inset:0;z-index:-1;opacity:.55;width:100%;height:100%;pointer-events:none;-webkit-mask:radial-gradient(70% 70% at 50% 45%,#000 30%,transparent 100%);mask:radial-gradient(70% 70% at 50% 45%,#000 30%,transparent 100%)}
.hero-body>*{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out),transform 1.1s cubic-bezier(.16,1,.3,1)}
.hero-body.in>*{opacity:1;transform:none}
.hero-body.in>*:nth-child(1){transition-delay:.05s}
.hero-body.in>*:nth-child(2){transition-delay:.34s}
.hero-body.in>*:nth-child(3){transition-delay:.2s}
.hero-body.in>*:nth-child(4){transition-delay:.3s}
.hero-body.in>*:nth-child(5){transition-delay:.55s}
.hero-body.in>*:nth-child(6){transition-delay:.75s}
.hero-body.in>*:nth-child(7){transition-delay:.9s}
.hero-body.in>*:nth-child(8){transition-delay:1.05s}
.hero-body.in>*:nth-child(9){transition-delay:1.2s}
.hero-body.in>*:nth-child(10){transition-delay:1.3s}
.hero-body.in>*:nth-child(n+11){transition-delay:1.4s}
.hero-body.in>.split{opacity:1;transform:none}
.hero-mark{position:relative;width:200px;height:200px;margin:0 auto var(--s-4);display:grid;place-items:center;color:var(--accent);isolation:isolate}
.hero-mark::before{content:"";position:absolute;z-index:0;inset:38px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%,transparent) 0%,color-mix(in srgb,var(--accent) 10%,transparent) 38%,transparent 72%);filter:blur(3px);opacity:0;transform:scale(.72);transition:opacity 1.2s ease 1.15s,transform 1.5s cubic-bezier(.16,1,.3,1) 1.05s}
.hero-mark::after{content:"";position:absolute;z-index:3;left:50%;top:15px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;pointer-events:none;background:var(--accent);box-shadow:0 0 7px color-mix(in srgb,var(--accent) 90%,transparent),0 0 18px color-mix(in srgb,var(--accent) 48%,transparent);opacity:0;transform-origin:2.5px 85px}
.hero-mark .instr{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible}
/* Rotating instrument parts turn about their own fill box: percentage origins on SVG elements
   are read against the viewport by Chromium and against the element by WebKit, which sent the
   sweep arc across the hero in Safari. fill-box is unambiguous in both. */
.hero-mark .ticks{opacity:.14;color:var(--cyb-fg-3);transform-box:fill-box;transform-origin:center}
:root[data-theme="light"] .hero-mark .ticks{opacity:.22;color:var(--cyb-fg-3)}
.hero-mark .ticks line:nth-child(6n+1){opacity:1;stroke-width:1.15}
.hero-mark .ring{opacity:.28;color:var(--cyb-line-strong);stroke-dasharray:503;stroke-dashoffset:503;transition:stroke-dashoffset 1.45s cubic-bezier(.76,0,.24,1) .72s}
.hero-mark .r2{stroke-dasharray:2 9;stroke-dashoffset:0;color:var(--cyb-fg-3);opacity:.16;animation:hero-orbit 68s linear infinite reverse;transform-box:fill-box;transform-origin:center}
.hero-mark .sweep{transform-box:fill-box;transform-origin:center;opacity:0;filter:none;transition:opacity .8s 1.45s}
.hero-mark .brk{opacity:0;transform:scale(1.06);transform-box:fill-box;transform-origin:center;transition:opacity .65s 1.05s,transform 1s cubic-bezier(.16,1,.3,1) 1.05s}
.hero-mark .project-cues{font:500 5.2px var(--cyb-mono);letter-spacing:.14em;fill:var(--cyb-fg-3);opacity:.42}
.hero-mark .project-cues circle{fill:var(--accent);opacity:.58}
.hero-mark .project-cues line{stroke:var(--cyb-line-strong);stroke-width:.65;opacity:.55}
.hero-mark.handoff img{visibility:hidden}
.hero-mark img,.hero-mark .hero-logo{position:relative;z-index:2;display:block;width:84px;height:84px;filter:none;animation:none}
.hero-logo>svg{display:block;width:100%;height:100%;overflow:visible}
.hero-logo .corelight{animation:none;transform-box:fill-box;transform-origin:center}
.hero-body.in .hero-mark::before{opacity:1;transform:scale(1);animation:hero-halo 7s ease-in-out 2.4s infinite}
.hero-body.in .hero-mark::after{opacity:.82;animation:hero-signal-orbit 13s linear 1.8s infinite}
.hero-body.in .hero-mark .ticks{animation:hero-ticks 8s ease-in-out 2.2s infinite}
.hero-body.in .hero-mark .ring{stroke-dashoffset:0}
.hero-body.in .hero-mark .ring:not(.r2){animation:hero-ring-breathe 7s ease-in-out 2.5s infinite}
.hero-body.in .hero-mark .sweep{opacity:1;animation:hero-sweep 8.5s cubic-bezier(.4,0,.2,1) 1.6s infinite}
.hero-body.in .hero-mark .brk{opacity:1;transform:none;animation:hero-bracket-breathe 6s ease-in-out 2.5s infinite}
.hud{position:absolute;top:50%;translate:0 -50%;display:grid;gap:.9rem;font:500 .66rem/1 var(--cyb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyb-fg-3);text-align:left;opacity:0;transition:opacity 1.2s 1.6s}
@supports not (translate:0 0){.hud{transform:translateY(-50%)}}
.hud-l{left:clamp(1rem,4vw,3rem)}
.hud-r{right:clamp(1rem,4vw,3rem);text-align:right}
.hud span{display:block;padding-left:.9rem;position:relative}
.hud-r span{padding-left:0;padding-right:.9rem}
.hud span::before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;translate:0 -50%;background:var(--accent);opacity:.7}
.hud-r span::before{left:auto;right:0}
.hero-body.in~.hud,.hero.in .hud{opacity:1}
.hero .eyebrow{display:inline-block;max-width:92%;margin-bottom:var(--s-5);padding:.55em 1.1em;border-radius:var(--cyb-radius-pill);border:1px solid var(--cyb-line-strong);background:color-mix(in srgb,var(--cyb-bg-2) 60%,transparent);line-height:1.5;text-align:center;letter-spacing:.14em;text-transform:none;font-size:.78rem;color:var(--cyb-fg-2)}
.hero .eyebrow .core{display:inline-block;vertical-align:middle;margin:-2px .6em 0 0;width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 25%,transparent);animation:core 2.4s ease-in-out infinite}
.hero h1{max-width:20.92em;margin:0 auto var(--s-5);font-size:clamp(1.9rem,1.1rem + 2.9vw,3.5rem);line-height:1.22;letter-spacing:.01em}
.hero h1 em{font-style:normal}
.hero h1.split .w{vertical-align:baseline;padding-bottom:.34em;margin-bottom:-.16em;--split-rise:142%}
.hero .lede{max-width:64ch;margin:0 auto;font-size:var(--t-md);color:var(--cyb-fg-2)}
.hero-cta{margin-top:var(--s-6)}
.hero-stack{max-width:72ch;margin:var(--s-4) auto 0;font:500 .72rem/1.5 var(--cyb-mono);letter-spacing:.04em;color:var(--cyb-fg-3)}
.hero-stack strong{color:var(--cyb-fg-2)}
.brand-inscription{font-family:var(--cyb-inscription);font-weight:400;text-transform:uppercase;white-space:nowrap;text-align:center;color:color-mix(in srgb,var(--accent) 72%,var(--cyb-fg-3));letter-spacing:.42em;word-spacing:.72em;text-indent:.42em}
.hero-inscription{margin:calc(var(--s-2) * -1) auto var(--s-5);font-size:clamp(.58rem,.52rem + .18vw,.7rem);line-height:1.4;opacity:.78}
.hero .statement{margin-top:var(--s-8)}
.scroll-cue{position:absolute;left:50%;bottom:1.25rem;translate:-50% 0;width:26px;height:42px;border:1px solid var(--cyb-line-strong);border-radius:14px;display:grid;justify-items:center;padding-top:6px;opacity:.7}
.scroll-cue::after{content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;width:44px;height:44px}
.scroll-cue span{width:3px;height:8px;border-radius:2px;background:var(--accent);animation:cue 1.8s ease-in-out infinite}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;max-width:980px;margin:var(--s-7) auto 0;border:1px solid var(--cyb-line);border-radius:var(--cyb-radius-md);background:var(--cyb-line);overflow:hidden;position:relative}
.stats::before{content:"";position:absolute;inset:0 auto auto 0;height:1px;width:100%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:stats-scan 5s linear infinite;z-index:1}
.stat{padding:var(--s-5) var(--s-4);background:var(--cyb-bg-2);text-align:center;transition:background var(--fast)}
.stat:hover{background:var(--cyb-bg-3)}
.stat b{transition:transform .5s var(--ease-spring),text-shadow .4s}
.stat:hover b{transform:scale(1.06);text-shadow:0 0 24px color-mix(in srgb,var(--amber) 55%,transparent)}
.stat b{display:block;font:400 clamp(1.6rem,1.2rem + 1.8vw,2.4rem)/1 var(--cyb-display);letter-spacing:-.01em;color:var(--amber)}
.stat span{display:block;margin-top:var(--s-2);font:500 var(--t-xs)/1.3 var(--cyb-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyb-fg-3)}
.footnote{max-width:820px;margin:var(--s-4) auto 0;font-size:var(--t-xs);line-height:1.5;color:var(--cyb-fg-3)}
.footnote a{color:var(--cyb-fg-2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}
.footnote a:hover{color:var(--cyb-fg);text-decoration-color:var(--accent)}
.cred{margin-top:var(--s-5)}
.benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-4);max-width:1000px;margin:0 auto;position:relative}
.benefit{padding:var(--s-5);text-align:center;border-radius:var(--cyb-radius-md);border:1px solid var(--cyb-line);background:var(--card);transition:transform var(--base) var(--ease),border-color var(--base),box-shadow var(--base)}
.benefit:hover{transform:translateY(-4px);border-color:var(--cyb-line-strong);box-shadow:var(--halo)}
.benefit b{display:block;font:400 clamp(1.3rem,.9rem + 1.2vw,1.8rem)/1.1 var(--cyb-display);color:var(--accent)}
.benefit b.up{color:var(--green)}
.benefit span{display:block;margin-top:var(--s-2);font:500 var(--t-xs)/1.3 var(--cyb-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cyb-fg-3)}
.bridge{max-width:820px;margin:var(--s-6) auto 0;padding:var(--s-5) var(--s-6);border-left:3px solid var(--accent);border-radius:0 var(--cyb-radius-md) var(--cyb-radius-md) 0;background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--cyb-fg-2)}
/* Was an inline style="max-width:820px" on the element in index.html, which
   no stylesheet could override and which therefore ignored the measure. */
#outcomes .benefits{max-width:820px}
.bridge strong{color:var(--cyb-fg)}
.problem{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--s-7);align-items:center}
.chart{position:relative;min-height:340px;padding:var(--s-6);border-radius:var(--cyb-radius-md);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--amber) 8%,transparent),transparent 60%),var(--cyb-bg-2);display:flex;flex-direction:column;justify-content:center;text-align:center;overflow:hidden}
.chart svg{position:absolute;inset:0;width:100%;height:100%;stroke:color-mix(in srgb,var(--amber) 22%,transparent)}
.chart .gl{animation:blink 6s ease-in-out infinite}
.chart .gl:nth-child(2){animation-delay:-1s}
.chart .gl:nth-child(3){animation-delay:-2s}
.chart .gl:nth-child(4){animation-delay:-3s}
.chart .gl:nth-child(5){animation-delay:-4s}
.chart .gl:nth-child(6){animation-delay:-5s}
.chart>*{position:relative}
.chart .lbl{font:500 var(--t-xs)/1 var(--cyb-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--cyb-fg-3)}
.chart .big{margin:var(--s-4) 0;font:400 clamp(4rem,3rem + 6vw,7rem)/1 var(--cyb-display);color:var(--amber);letter-spacing:-.02em}
.chart .sub{color:var(--cyb-fg-2);font-size:var(--t-sm)}
.points{list-style:none;padding:0;display:grid;gap:var(--s-3)}
.points li{display:grid;grid-template-columns:auto 1fr;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-radius:var(--cyb-radius-md);border:1px solid transparent;transition:background var(--base),border-color var(--base),transform var(--base) var(--ease)}
.points li:hover{background:var(--card);border-color:var(--cyb-line);transform:translateX(6px)}
.points .icon{width:22px;height:22px;margin-top:.2em;color:var(--amber)}
.points b{display:block;font-weight:600;color:var(--cyb-fg)}
.points p{color:var(--cyb-fg-2);font-size:var(--t-sm)}
.legend{display:flex;justify-content:center;margin-bottom:var(--s-5)}
.legend .pill{gap:.7em;flex-wrap:wrap;justify-content:center}
.legend .t{display:inline-flex;align-items:center;gap:.4em;padding:.2em .7em;border-radius:var(--cyb-radius-pill);border:1px solid currentColor;font-weight:500}
.legend .ns{color:var(--green)}
.legend .br{color:var(--amber)}
.cv{max-width:1100px;margin:0 auto;padding:var(--s-4);border-radius:var(--cyb-radius-lg);border:1px solid var(--cyb-line);background:color-mix(in srgb,var(--cyb-bg-2) 70%,transparent)}
.cv>svg,.brain>svg,.hub>svg{display:block;margin:0 auto;width:100%;height:auto;font-family:var(--cyb-body)}
.cv text{-webkit-user-select:none;user-select:none}
.cv .ph{font:500 11px var(--cyb-mono);letter-spacing:.18em;fill:var(--cyb-fg-3);text-anchor:middle}
.cv .ph.warn{fill:var(--amber)}
.cv .ph.ok{fill:var(--green)}
.cv g:hover>.silo,.cv g:hover>.out{filter:drop-shadow(0 0 10px currentColor)}
.cv .silo{fill:var(--cyb-bg-3);stroke:var(--accent-2);stroke-width:1.25;transition:filter .3s}
.cv use.silo,.cv use.out,.cv use.win,.cv use.silo-ring,.brain use.neuron,.hub .node>use{stroke-linejoin:round}
.cv .out,.cv .win{stroke:none}
.cv .silo-ring{fill:none;stroke:var(--amber);stroke-width:1;opacity:0;transform-box:view-box;transform-origin:0 0;animation:ring 3s ease-in-out infinite;animation-delay:var(--d,0s)}
.cv .lb{font-size:11px;fill:var(--cyb-fg-2);text-anchor:middle;font-weight:500}
.cv .sl{font-size:10px;fill:var(--cyb-fg-3);text-anchor:middle}
.cv .sl.ok{fill:var(--green)}
.cv .ic{color:var(--accent)}
.cv .ic.dark{color:var(--on-accent)}
.cv .ic.ok{color:var(--on-accent)}
.cv .flow{fill:none;stroke:var(--accent-2);stroke-width:1.25;opacity:.18}
.cv .flow.ok{stroke:var(--green)}
.cv .dash{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:8 60;animation:dash 2.6s linear infinite;animation-delay:var(--d,0s)}
.cv .dash.ok{stroke:var(--green)}
.cv .dag{fill:var(--cyb-bg-3);stroke:var(--green);stroke-width:1.3}
.cv .dag-t{font:600 13px var(--cyb-body);fill:var(--green);text-anchor:middle}
.cv .dag-l{font:500 9.5px var(--cyb-mono);letter-spacing:.14em;fill:var(--green);text-anchor:middle}
.cv .band{fill:color-mix(in srgb,var(--cyb-bg) 60%,transparent);stroke:var(--accent);stroke-width:1.4}
.cv .band-fill{opacity:.9}
.cv .core{fill:var(--cyb-bg-2);stroke:var(--accent);stroke-width:1.5}
.cv .ai-ring{fill:none;stroke:var(--accent);stroke-width:1;opacity:0;transform-box:view-box;transform-origin:0 0;animation:ai-ring 2.6s ease-out infinite}
.cv .ai-ring:nth-of-type(2){animation-delay:.85s}
.cv .ai-ring:nth-of-type(3){animation-delay:1.7s}
.cv .core-l{font:500 11px var(--cyb-display);letter-spacing:.14em;fill:var(--amber);text-anchor:middle}
.cv .core-s{font-size:10.5px;fill:var(--amber);text-anchor:middle;letter-spacing:.04em}
.cv .band-l{font:500 10px var(--cyb-mono);letter-spacing:.1em;fill:var(--cyb-fg-3);text-anchor:middle}
.cv .out{fill:var(--green);opacity:.9}
.cv .out-l{font-size:11px;font-weight:600;fill:var(--cyb-fg);text-anchor:middle}
.cv .win{fill:var(--green)}
.cv .win-ring{fill:none;stroke:var(--green);stroke-width:1.5;opacity:.25;transform-box:view-box;transform-origin:0 0;animation:breathe 3.2s ease-in-out infinite}
.cols{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:var(--s-4);max-width:1000px;margin:var(--s-6) auto 0;text-align:center}
.cols div{font-size:var(--t-sm);color:var(--cyb-fg-3);padding:0 var(--s-3)}
.cols strong{display:block;margin-bottom:var(--s-1);font:500 var(--t-xs)/1.3 var(--cyb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyb-fg)}
.brain{max-width:920px;margin:0 auto var(--s-6);padding:var(--s-4);border-radius:var(--cyb-radius-lg);border:1px solid var(--cyb-line);background:color-mix(in srgb,var(--cyb-bg-2) 70%,transparent)}
.brain g[data-x]{cursor:default;transition:filter .3s}
.brain g[data-x]:hover{filter:drop-shadow(0 0 10px var(--accent))}
.brain .neuron{fill:var(--accent-2);opacity:.7;transform-box:view-box;transform-origin:0 0}
.brain .neuron.h{fill:var(--accent);animation:none}
.brain .neuron.o{fill:var(--green)}
.brain .in-l{font-size:13px;fill:var(--cyb-fg-3);text-anchor:middle}
.brain .h-l{font-size:13px;font-weight:500;fill:var(--cyb-fg);text-anchor:middle}
.brain .o-l{font-size:14px;font-weight:600;fill:var(--cyb-fg);text-anchor:middle}
.brain .ic{color:var(--on-accent)}
.brain .hex{fill:var(--cyb-bg-2);stroke:var(--accent);stroke-width:1.5}
.brain .hex-pulse{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:0;transform-box:view-box;transform-origin:0 0}
.brain .ring{fill:none;stroke:var(--cyb-line-strong)}
.brain .r1{transform-box:view-box;transform-origin:0 0;animation:spin 48s linear infinite}
.brain-core{overflow:visible;filter:drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 45%,transparent))}
.brain-core polygon,.brain-core line,.brain-core circle{opacity:0}
.brain.booted .brain-core polygon,.brain.booted .brain-core line,.brain.booted .brain-core circle{opacity:1}
.brain .core-l{font:500 12px var(--cyb-display);letter-spacing:.12em;fill:var(--cyb-fg);text-anchor:middle}
.brain .core-s{font:500 9px var(--cyb-mono);letter-spacing:.2em;fill:var(--cyb-fg-3);text-anchor:middle}
.brain .lane{font:500 11px var(--cyb-mono);letter-spacing:.2em;fill:var(--cyb-fg-3);text-anchor:middle}
.brain .lane.ok{fill:var(--green)}
.brain .syn{fill:none;stroke:var(--accent-2);stroke-width:1.25;opacity:.16;transition:opacity var(--base)}
.brain .syn.o{stroke:var(--green)}
.brain .syn.hot{opacity:.9}
.brain .neuron.o.lit{filter:drop-shadow(0 0 8px var(--green))}
.brain .o-l{transition:fill .3s}
.brain g.reasoning-source .neuron{filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 55%,transparent))}
.brain g.reasoning-active .neuron{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--cyan) 65%,transparent))}
.brain g.reasoning-source text,.brain g.reasoning-active text{fill:var(--cyb-fg)}
.brain .p{filter:drop-shadow(0 0 6px currentColor)}
.cv use,.brain use,.hub use{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.video{position:relative;aspect-ratio:16/9;border-radius:var(--cyb-radius-lg);overflow:hidden;background:#000;border:1px solid var(--cyb-line);box-shadow:var(--shadow)}
.video>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.85);transition:transform .8s var(--ease),filter .5s}
.video:hover>img{filter:saturate(1) brightness(.95)}
.video .play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;background:radial-gradient(60% 60% at 50% 50%,rgb(6 13 24/.15),rgb(6 13 24/.55));color:#EAF7FF;font:500 var(--t-sm)/1 var(--cyb-mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.video .play .icon{width:72px;height:72px;padding:20px;border-radius:50%;background:color-mix(in srgb,var(--accent) 85%,#fff);color:#061630;box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 25%,transparent),0 20px 50px -10px rgb(0 0 0/.6);transition:transform .4s var(--ease-spring),box-shadow .4s}
.video .play:hover .icon{transform:scale(1.08);box-shadow:0 0 0 16px color-mix(in srgb,var(--accent) 18%,transparent),0 20px 50px -10px rgb(0 0 0/.6)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.metric b small{font-size:.45em;letter-spacing:.1em;color:var(--cyb-fg-3);vertical-align:middle;margin:0 .15em}
.chips{margin:var(--s-5) 0 var(--s-6)}
.chips .pill{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-4);max-width:1040px;margin:var(--s-6) auto 0}
.metric{padding:var(--s-5);text-align:center;border-radius:var(--cyb-radius-md);border:1px solid var(--cyb-line);background:var(--card)}
.metric b{display:block;white-space:nowrap;font:400 clamp(1.3rem,.9rem + 1.2vw,1.9rem)/1 var(--cyb-display);color:var(--accent);letter-spacing:-.01em}
.metric span{display:block;margin-top:var(--s-2);font:500 var(--t-xs)/1.3 var(--cyb-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyb-fg-3)}
.hub{max-width:960px;margin:var(--s-7) auto 0}
.hub .core{fill:color-mix(in srgb,var(--cyb-bg-2) 80%,transparent);stroke:var(--accent);stroke-width:1.25}
.hub .orbit{fill:none;stroke:var(--cyb-line-strong);stroke-width:1;transform-box:view-box;transform-origin:0 0;animation:spin 40s linear infinite}
.hub .core-t{font:500 8.5px var(--cyb-mono);letter-spacing:.2em;fill:var(--cyb-fg-3);text-anchor:middle}
.hub .orbit-ring{fill:none;stroke:var(--cyb-line);stroke-width:1;stroke-dasharray:2 6}
.hub .node{cursor:default;outline:none}
.hub .node .tile-rim{fill:url(#hubRim);stroke:none;transition:filter .3s}
.hub .node .tile{fill:color-mix(in srgb,var(--accent) 10%,var(--cyb-bg-2));stroke:none;transition:fill .3s}
.hub .node:hover .tile,.hub .node.on .tile{fill:color-mix(in srgb,var(--accent) 26%,var(--cyb-bg-2))}
.hub .node:hover .tile-rim,.hub .node.on .tile-rim{filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 65%,transparent))}
.hub .node .nl{font-size:13px;font-weight:600;fill:var(--cyb-fg)}
.hub .node .ns{font:500 9px var(--cyb-mono);letter-spacing:.08em;fill:var(--cyb-fg-3)}
.hub .node .icon{color:var(--accent)}
.hub .link{fill:none;stroke:color-mix(in srgb,var(--accent) 30%,var(--cyb-line));stroke-width:1.25;transition:stroke .3s,stroke-width .3s}
.hub .link.on{stroke:var(--accent);stroke-width:2}
.hub .flow{fill:none;stroke:var(--accent);stroke-width:2.1;stroke-linecap:round;stroke-dasharray:16 190;stroke-dashoffset:206;opacity:0;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 42%,transparent));animation:hub-flow-in 12s cubic-bezier(.4,0,.2,1) infinite;animation-delay:calc(var(--phase,0) * 2s)}
.hub .flow.back{stroke:var(--green);stroke-dasharray:12 194;stroke-dashoffset:-206;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--green) 34%,transparent));animation-name:hub-flow-back}
.hub .node[data-phase]{animation:hub-node-exchange 12s ease-in-out infinite;animation-delay:calc(var(--phase,0) * 2s)}
.hub .node[data-phase] .tile-rim{transform-box:fill-box;transform-origin:center}
.hub .hub-core{animation:hub-core-receive 2s ease-in-out infinite}
.hub .halo{animation:breathe 5.5s ease-in-out infinite;transform-box:view-box;transform-origin:0 0}
.hub .hub-core .vlogo{overflow:visible;transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent) 35%,transparent))}
.hub.in .hub-core .vlogo{animation:hub-logo-focus 7s ease-in-out 1.2s infinite}
.hub .hub-core .core-t{opacity:.78;letter-spacing:.24em}
.hub.in .hub-core .core-t{animation:hub-label-breathe 7s ease-in-out 1.2s infinite}
.hub-cap{max-width:64ch;margin:var(--s-4) auto 0;text-align:center;font-size:var(--t-sm);color:var(--cyb-fg-3);min-height:2.6em;transition:opacity .25s}
.hub-cap b{color:var(--cyb-fg-2)}
.hub-cap.swap{opacity:0}
.gps{text-align:center}
.compass{width:clamp(200px,26vw,300px);margin:0 auto var(--s-5);overflow:visible;filter:drop-shadow(0 30px 60px rgb(0 0 0/.35))}
.compass .bezel{fill:none;stroke:var(--cyb-line-strong);stroke-width:1}
.compass .ring{fill:color-mix(in srgb,var(--accent) 4%,transparent);stroke:var(--accent-2);stroke-width:1.25}
.compass .inner{fill:none;stroke:var(--cyb-line-strong);stroke-width:1}
.compass .ticks{stroke:var(--cyb-fg-2);stroke-width:1.5}
.compass .ticks.minor{stroke:var(--cyb-fg-3);stroke-width:.75;opacity:.7}
.compass .rose{transform-origin:150px 150px;transform:rotate(-4deg)}
.compass .card{font:500 13px var(--cyb-mono);fill:var(--cyb-fg-3);text-anchor:middle}
.compass .card.n{fill:var(--accent);font-weight:600}
.compass .needle{transform-origin:150px 150px;transform:rotate(-34deg)}
.compass .nn{fill:var(--accent);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 48%,transparent))}
.compass .ns{fill:var(--cyb-fg-3);opacity:.55}
.gps.in .compass .rose{animation:compass-calibrate 1.65s cubic-bezier(.16,1,.3,1) .08s both}
.gps.in .compass .needle{animation:compass-acquire 2.25s cubic-bezier(.16,1,.3,1) .32s both,compass-correct 9s ease-in-out 3.1s infinite}
.gps.in .compass .nn{animation:compass-north-pulse 9s ease-in-out 3.1s infinite}
.compass .hub-ring{fill:color-mix(in srgb,var(--cyb-bg-2) 90%,transparent);stroke:var(--accent);stroke-width:1.25}
.gps h3{font-family:var(--cyb-display);font-weight:400;font-size:var(--t-lg);margin-bottom:var(--s-6)}
.gps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-5);text-align:center}
.gps-grid .card-icon{margin:0 auto var(--s-3)}
.gps-grid b{display:block;font:500 var(--t-xs)/1.3 var(--cyb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyb-fg)}
.gps-grid p{margin-top:var(--s-2);font-size:var(--t-sm);color:var(--cyb-fg-3)}
.honey{--w:196px;--g:12px;--W:calc(var(--w) + var(--g));--H:calc(var(--W) * .866);position:relative;width:calc(var(--W) * 2.5 + var(--w) * .5);height:calc(var(--H) * 3 + var(--g));margin:var(--s-4) auto var(--s-6);isolation:isolate}
.honey::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:calc(var(--w) * .72);aspect-ratio:1;border-radius:50%;translate:-50% -50%;pointer-events:none;border:1px solid color-mix(in srgb,var(--accent) 78%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 0 18px color-mix(in srgb,var(--accent) 10%,transparent);opacity:0;transform:scale(.58)}
.honey.signaling::before{animation:honey-wave 1.18s cubic-bezier(.2,0,0,1) both}
.honey .cell{position:absolute;width:var(--w);height:calc(var(--w) * .866);left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;align-content:center;gap:.5rem;padding:0 calc(var(--w) * .15);text-align:center;opacity:.36;transform:scale(.965);filter:saturate(.78);transition:opacity .58s cubic-bezier(.2,0,0,1),transform .72s cubic-bezier(.16,1,.3,1),filter .7s ease}
.honey .cell.lit{opacity:1;transform:none;filter:none}
.honey .hexbg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:color-mix(in srgb,var(--accent) 4%,var(--cyb-bg-2));stroke:var(--cyb-line-strong);stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .7s,stroke .7s,filter .85s cubic-bezier(.2,0,0,1)}
.honey .hexbg polygon{vector-effect:non-scaling-stroke}
.honey .cell.arriving .hexbg{stroke:color-mix(in srgb,var(--accent) 90%,var(--cyb-line-strong));fill:color-mix(in srgb,var(--accent) 14%,var(--cyb-bg-2));filter:drop-shadow(0 0 20px color-mix(in srgb,var(--accent) 30%,transparent))}
.honey .cell.lit .hexbg{stroke:color-mix(in srgb,var(--accent) 48%,var(--cyb-line-strong));fill:color-mix(in srgb,var(--accent) 8%,var(--cyb-bg-2));filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 12%,transparent))}
.honey .cell:hover .hexbg{fill:color-mix(in srgb,var(--accent) 18%,var(--cyb-bg-2));stroke:var(--accent)}
.honey .cell .icon{position:relative;width:28px;height:28px;color:var(--accent);stroke-width:1.5}
.honey .cell b{position:relative;font:600 .8rem/1.3 var(--cyb-body);letter-spacing:.005em;color:var(--cyb-fg)}
.honey .cell small{position:relative;font:500 .62rem/1 var(--cyb-mono);letter-spacing:.2em;color:var(--cyb-fg-3)}
.honey .core{opacity:1;transform:none;padding:0}
.honey .core .hexbg{display:none}
.honey-core{position:relative;width:112%;height:112%;filter:drop-shadow(0 0 22px color-mix(in srgb,var(--accent) 40%,transparent))}
.honey-core polygon,.honey-core line,.honey-core circle{opacity:0}
.honey.in .honey-core polygon,.honey.in .honey-core line,.honey.in .honey-core circle{opacity:1}
.honey .cell[style*="--i:1"]{translate:-50% calc(-50% - var(--H))}
.honey .cell[style*="--i:2"]{translate:calc(-50% + var(--W) * .75) calc(-50% - var(--H) / 2)}
.honey .cell[style*="--i:3"]{translate:calc(-50% + var(--W) * .75) calc(-50% + var(--H) / 2)}
.honey .cell[style*="--i:4"]{translate:-50% calc(-50% + var(--H))}
.honey .cell[style*="--i:5"]{translate:calc(-50% - var(--W) * .75) calc(-50% + var(--H) / 2)}
.honey .cell[style*="--i:6"]{translate:calc(-50% - var(--W) * .75) calc(-50% - var(--H) / 2)}
.honey-note{max-width:60ch;margin:var(--s-7) auto;text-align:center;color:var(--cyb-fg-2)}
.honey-note strong{color:var(--cyb-fg)}
@media (max-width:640px){
  .honey{--w:124px;--g:8px}
  .honey .cell b{font-size:.62rem}
  .honey .cell .icon{width:20px;height:20px}
  .honey .cell small{display:none}
}
.marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{--track-gap:var(--s-4);display:flex;gap:var(--track-gap);width:max-content;animation:marquee 60s linear infinite}
.marquee:hover .track,.marquee:focus-within .track{animation-play-state:paused}
/* Compound selector so this always outranks the plain .track{animation-duration:...}
   overrides further down (they'd otherwise win on source order alone at some
   widths) -- matching the inline style it replaces, which always won as inline. */
.track.track--reverse{animation-duration:50s;animation-direction:reverse}
.shot{position:relative;width:300px;aspect-ratio:1;flex:none;border-radius:var(--cyb-radius-md);overflow:hidden;border:1px solid var(--cyb-line);background:var(--cyb-bg-2);color:inherit;display:block}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform var(--slow) var(--ease)}
.shot:hover img{transform:scale(1.05)}
.shot div{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--s-4);background:var(--img-fade);color:#EAF7FF}
.shot b{font-size:var(--t-sm);font-weight:600}
.shot small{font-size:var(--t-xs);color:#A8DCF5;line-height:1.45;margin-top:.25rem}
.member{display:grid;gap:var(--s-4);padding:var(--s-6);border-radius:var(--cyb-radius-md);border:1px solid var(--cyb-line);border-left:3px solid var(--accent);background:var(--card);transition:transform var(--base) var(--ease),box-shadow var(--base)}
.member:hover{transform:translateX(6px);box-shadow:var(--halo)}
.member header{display:flex;align-items:center;gap:var(--s-4)}
.avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:none;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--on-accent);font:600 var(--t-md) var(--cyb-display);border:2px solid var(--cyb-line-strong)}
.avatar{position:relative}
.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--slow) var(--ease)}
.member:hover .avatar img{transform:scale(1.08)}
.member .name{font-weight:600;font-size:var(--t-md);color:var(--cyb-fg)}
.member .role{font:500 var(--t-xs)/1.3 var(--cyb-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.member p{font-size:var(--t-sm);color:var(--cyb-fg-2)}
.invest{position:relative;max-width:1000px;margin:0 auto;padding:clamp(2.5rem,6vw,4rem);text-align:center;border-radius:var(--cyb-radius-lg);border:1px solid var(--cyb-line-strong);background:radial-gradient(70% 90% at 50% 0%,color-mix(in srgb,var(--accent-deep) 45%,transparent),transparent 70%),var(--cyb-bg-2);box-shadow:var(--shadow),var(--halo);overflow:hidden}
.invest .wordmark{width:min(60%,420px);height:auto;margin:0 auto var(--s-5);fill:var(--accent)}
.invest>p{max-width:64ch;margin:var(--s-4) auto 0;color:var(--cyb-fg-2);font-size:var(--t-md)}
.platform-path{position:relative;display:grid;grid-template-columns:repeat(3,1fr);max-width:920px;margin:var(--s-6) auto 0;border:1px solid var(--cyb-line);border-radius:var(--cyb-radius-md);background:color-mix(in srgb,var(--cyb-bg) 42%,transparent);overflow:hidden;text-align:left}
.platform-step{position:relative;padding:var(--s-4) var(--s-4) var(--s-5);min-height:150px}
.platform-step+.platform-step{border-left:1px solid var(--cyb-line)}
.platform-step .k{display:block;margin-bottom:.7rem;font:600 9px/1 var(--cyb-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.platform-step b{display:block;font-size:var(--t-sm);font-weight:600;line-height:1.25;color:var(--cyb-fg);margin-bottom:.45rem}
.platform-step p{margin:0;font-size:var(--t-xs);line-height:1.55;color:var(--cyb-fg-3)}
.platform-step:not(:last-child)::after{content:"→";position:absolute;right:-9px;top:21px;z-index:2;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--cyb-bg-2);color:var(--accent);font:500 11px/1 var(--cyb-mono)}
.subhead{max-width:60ch;margin:var(--s-7) auto var(--s-5);text-align:center}
.subhead h3{font:400 var(--t-lg)/1.2 var(--cyb-display);letter-spacing:.02em}
.subhead p{margin-top:var(--s-3);color:var(--cyb-fg-2)}
.peek{position:relative;z-index:2;margin-top:var(--s-3);padding-bottom:var(--s-6)}
.peek-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4);max-width:1100px;margin:0 auto;opacity:0;transform:translateY(24px);transition:opacity 1s,transform 1.2s cubic-bezier(.16,1,.3,1)}
.peek-grid.in{opacity:1;transform:none}
.frame{position:relative;border-radius:var(--cyb-radius-md);border:1px solid var(--cyb-line-strong);background:var(--cyb-bg-2);box-shadow:0 30px 80px -30px rgb(0 0 0/.55),0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent);overflow:hidden;transition:transform .5s var(--ease-spring),box-shadow .5s}
.frame:hover{transform:translateY(-4px);box-shadow:0 36px 90px -30px rgb(0 0 0/.6),0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}
.frame-bar{display:flex;align-items:center;gap:5px;padding:.45rem .7rem;border-bottom:1px solid var(--cyb-line);background:color-mix(in srgb,var(--cyb-bg) 60%,transparent)}
.frame-bar span{width:7px;height:7px;border-radius:50%;background:var(--cyb-line-strong)}
.frame-bar i{margin-left:.5rem;font:400 .6rem/1 var(--cyb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyb-fg-3)}
.frame img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:left top}
.frame figcaption{padding:.8rem .9rem;border-top:1px solid var(--cyb-line);font-size:var(--t-xs);line-height:1.5;color:var(--cyb-fg-3)}
.frame figcaption b{color:var(--cyb-fg-2);font-weight:600}
/* The preview is one causal sequence — the paths a change travels, the milestone
   it reaches, the decision that answers it — not three independent features, so
   the frames carry a step index and a line that says what they are following. */
.peek-lead{max-width:1100px;margin:0 auto var(--s-4);font:500 .78rem/1.5 var(--cyb-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyb-fg-3)}
.peek-step{display:block;margin-bottom:.3rem;font:500 .62rem/1 var(--cyb-mono);letter-spacing:.16em;color:var(--accent)}
.peek-more{text-align:center;margin-top:var(--s-4)}
.pilots{max-width:1000px;margin:var(--s-7) auto 0;padding:clamp(1.25rem,3vw,2rem);border-radius:var(--cyb-radius-md);border:1px solid var(--cyb-line);background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 5%,var(--cyb-bg-2)),var(--cyb-bg-2));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--accent) 10%,transparent)}
.pilots-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--s-5);margin-bottom:var(--s-5)}
.pilots-head-copy{display:grid;gap:.55rem}
.pilots-head h3{font:400 var(--t-lg)/1.28 var(--cyb-display);letter-spacing:var(--cyb-tracking-display)}
.pilots-note{max-width:52ch;font-size:var(--t-sm);line-height:1.55;color:var(--cyb-fg-3)}
.pilots-sectors{font:500 .64rem/1.4 var(--cyb-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyb-fg-3);text-align:right;white-space:nowrap}
.pilots-signals{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--cyb-line);border-radius:var(--cyb-radius-sm);overflow:hidden;background:var(--cyb-line);gap:1px}
.pilots-signals div{display:grid;gap:.45rem;padding:var(--s-5);background:var(--cyb-bg-2)}
.pilots-signals b{font:400 clamp(1.55rem,1.2rem + 1.2vw,2.15rem)/1 var(--cyb-display);color:var(--cyb-fg)}
.pilots-signals span{font:500 .68rem/1.45 var(--cyb-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyb-fg-3)}
@media (max-width:720px){
  .pilots-head{grid-template-columns:1fr}
  .pilots-sectors{text-align:left;white-space:normal}
  .pilots-signals{grid-template-columns:1fr}
}
:root{--premium-line:color-mix(in srgb,var(--accent) 18%,var(--cyb-line));--premium-surface:linear-gradient(165deg,color-mix(in srgb,var(--accent) 4%,var(--cyb-bg-2)),color-mix(in srgb,var(--cyb-bg-2) 96%,var(--cyb-bg)));--premium-shadow:0 22px 64px -48px rgb(0 0 0/.72)}
:root[data-theme="light"]{--premium-line:color-mix(in srgb,var(--graph) 18%,#E4EBF2);--premium-shadow:0 22px 58px -46px rgb(10 21 36/.28)}
body .section{padding-block:clamp(3.25rem,6vw,5.5rem)}
.section + .section{border-top:0}
.section + .section::before{content:"";position:absolute;top:0;left:50%;translate:-50% 0;width:calc(100% - 2rem);max-width:1180px;height:1px;background:linear-gradient(90deg,transparent,var(--premium-line) 18%,var(--premium-line) 82%,transparent);pointer-events:none}
body .section-head{max-width:780px;margin-bottom:clamp(2rem,3.2vw,2.8rem)}
#demo .section-head{margin-bottom:0}
.section-head .eyebrow{margin-bottom:1.1rem;letter-spacing:.27em}
.section-head h2{letter-spacing:.012em}
.section-head p{max-width:68ch;margin-inline:auto;line-height:1.68}
.subhead{margin-top:clamp(3.5rem,6vw,5rem)}
#gps{margin-top:var(--s-8)}
.hero .eyebrow{background:color-mix(in srgb,var(--cyb-bg-2) 42%,transparent);border-color:color-mix(in srgb,var(--cyb-line-strong) 72%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 7%,transparent)}
body .hero h1{font-size:clamp(2.05rem,1.2rem + 2.4vw,3.5rem);letter-spacing:.06em;line-height:1.26;max-width:20.92em}
.hero .lede{max-width:66ch;line-height:1.72}
.hero-stack{letter-spacing:.02em;color:color-mix(in srgb,var(--cyb-fg-3) 88%,var(--cyb-fg-2))}
.stats{border-color:var(--premium-line);background:var(--premium-line);box-shadow:var(--premium-shadow)}
.stat{background:color-mix(in srgb,var(--cyb-bg-2) 94%,var(--cyb-bg))}
.stat:hover{background:color-mix(in srgb,var(--accent) 5%,var(--cyb-bg-2))}
.cred{gap:.15rem;margin-top:1.35rem}
.cred .pill{border-color:transparent;background:transparent;padding:.38em .62em;color:var(--cyb-fg-3);letter-spacing:.075em;transform:none}
.cred .pill:hover{transform:none;border-color:transparent;background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--cyb-fg-2)}
.card{transform-style:flat;border-radius:10px;background:var(--premium-surface);border-color:var(--premium-line);box-shadow:var(--premium-shadow)}
.card::before{opacity:0;background:radial-gradient(420px 150px at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--accent) 11%,transparent),transparent 72%)}
.card::after{content:"";position:absolute;z-index:0;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 34%,transparent),transparent);pointer-events:none}
.card>*{z-index:1}
.card:hover{transform:translateY(-3px) rotateX(var(--rx,0)) rotateY(var(--ry,0));border-color:color-mix(in srgb,var(--accent) 27%,var(--cyb-line));box-shadow:0 24px 70px -52px rgb(0 0 0/.85)}
.card:hover::before{opacity:.62}
.card-icon{filter:none;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 48%,transparent),color-mix(in srgb,var(--accent) 12%,transparent) 62%,color-mix(in srgb,var(--accent) 24%,transparent))}
.card-icon::after{opacity:.38}
.card-icon .icon{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 38%,transparent))}
.card:hover .card-icon{transform:translateY(-1px);filter:drop-shadow(0 6px 14px color-mix(in srgb,var(--accent) 20%,transparent))}
.pilots{border-radius:14px;border-color:var(--premium-line);background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 5%,var(--cyb-bg-2)),color-mix(in srgb,var(--cyb-bg-2) 96%,var(--cyb-bg)));box-shadow:var(--premium-shadow),inset 0 1px 0 color-mix(in srgb,#fff 5%,transparent)}
.pilots-signals{border-radius:9px;border-color:var(--premium-line);background:var(--premium-line)}
.pilots-signals div{background:color-mix(in srgb,var(--cyb-bg-2) 96%,var(--cyb-bg))}
.chart{box-shadow:var(--premium-shadow)}
.points li:hover{transform:translateX(2px)}
.bridge{position:relative;overflow:hidden;border:1px solid var(--premium-line);border-left:1px solid var(--premium-line);border-radius:var(--cyb-radius-md);background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 5%,var(--cyb-bg-2)),color-mix(in srgb,var(--cyb-bg-2) 82%,transparent));box-shadow:var(--premium-shadow)}
.bridge::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(var(--accent),color-mix(in srgb,var(--accent-2) 40%,transparent))}
.dyeus-ident{display:grid;justify-items:center;gap:.55rem;margin:-.75rem auto 1.8rem;text-align:center}
.dyeus-kicker{font:500 .62rem/1 var(--cyb-mono);letter-spacing:.32em;color:var(--cyb-fg-3)}
.dyeus-wordmark{display:flex;align-items:flex-start;font:400 clamp(1.15rem,1rem + .7vw,1.55rem)/1 var(--cyb-display);letter-spacing:.16em;color:var(--cyb-fg);text-indent:.16em}
.dyeus-e,.dyeus-u{position:relative;display:inline-block}
.dyeus-e::before{content:"";position:absolute;left:4%;right:22%;top:-.18em;height:.085em;background:var(--signal)}
.dyeus-u::before{content:"";position:absolute;left:50%;translate:-50% 0;top:-.16em;width:.46em;height:.19em;border:.07em solid currentColor;border-top:0;border-radius:0 0 60% 60% / 0 0 100% 100%;box-sizing:border-box}
.dyeus-architecture{font:500 .57rem/1.2 var(--cyb-mono);letter-spacing:.18em;color:color-mix(in srgb,var(--cyb-fg-3) 88%,transparent)}
.brain{position:relative}
.brain::before{content:"CYBEREUM · COMPUTATIONAL ARCHITECTURE";position:absolute;left:1.1rem;top:.8rem;font:500 .53rem/1 var(--cyb-mono);letter-spacing:.2em;color:color-mix(in srgb,var(--cyb-fg-3) 70%,transparent);pointer-events:none}
.brain-core{filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 24%,transparent))}
.brain-core polygon,.brain-core line,.brain-core circle{opacity:0}
.brain.booted .brain-core polygon,.brain.booted .brain-core line,.brain.booted .brain-core circle:not(.dyeus-hit-pulse){opacity:1}
.brain-core .dyeus-hit-pulse{opacity:0;transform-box:fill-box;transform-origin:center}
.brain .core-l{font:500 12px var(--cyb-display);letter-spacing:.06em;fill:var(--cyb-fg)}
.brain .core-s{font:500 8px var(--cyb-mono);letter-spacing:.22em;fill:var(--cyb-fg-3)}
.brain .lane{font-size:9px;letter-spacing:.14em}
.brain .lane.reasoning{fill:var(--accent);font-weight:500}
:root[data-theme="light"] .dyeus-aperture .dyeus-horizon{stroke:#1B4F8A}
:root[data-theme="light"] .dyeus-aperture .dyeus-spoke{stroke:#6E9CC4}
:root[data-theme="light"] .dyeus-aperture .dyeus-hex,:root[data-theme="light"] .dyeus-aperture .dyeus-inner{stroke:#2D6A96}
:root[data-theme="light"] .dyeus-aperture .dyeus-node{fill:#1B4F8A}
.marquee{padding-block:.35rem}
.track{--track-gap:var(--s-5);animation-duration:76s}
.shot{width:360px;aspect-ratio:16/10;border-radius:10px;border-color:var(--premium-line);box-shadow:0 20px 58px -42px rgb(0 0 0/.82)}
.shot img{object-position:left top}
.shot:hover img{transform:scale(1.025)}
.shot div{padding:1.15rem;background:linear-gradient(to top,rgb(6 13 24/.96),rgb(6 13 24/.66) 45%,transparent 78%)}
.shot b{font-size:.92rem}
.shot small{font-size:.72rem;line-height:1.5}
.member{border:1px solid var(--premium-line);border-left:1px solid var(--premium-line);border-radius:10px;background:var(--premium-surface);box-shadow:var(--premium-shadow)}
.member:hover{transform:translateY(-2px);box-shadow:0 24px 68px -52px rgb(0 0 0/.78)}
.avatar:not(:has(img)){background:color-mix(in srgb,var(--accent) 6%,var(--cyb-bg-2));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--cyb-line));color:var(--accent);font-size:.82rem;letter-spacing:.12em;box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--accent) 3%,transparent)}
.invest{border-color:var(--premium-line);background:radial-gradient(62% 75% at 50% 0%,color-mix(in srgb,var(--accent-deep) 30%,transparent),transparent 72%),color-mix(in srgb,var(--cyb-bg-2) 96%,var(--cyb-bg));box-shadow:0 30px 90px -66px rgb(0 0 0/.9),inset 0 1px 0 color-mix(in srgb,#fff 5%,transparent)}
.invest::before{content:"";position:absolute;left:12%;right:12%;top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 55%,transparent),transparent)}
.sticky{}
.progress{height:1px;box-shadow:none;background:linear-gradient(90deg,color-mix(in srgb,var(--accent-deep) 78%,var(--accent)),var(--accent))}
.hero .eyebrow .core{animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 16%,transparent)}
.stats::before{display:none}
.stat b{transition:none}
.stat:hover b{transform:none;text-shadow:none}
.cred .pill,.pill{transition:background .2s,border-color .2s,color .2s}
.pill:hover{transform:none}
.card::before{display:none}
.card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 23%,var(--cyb-line));box-shadow:0 18px 54px -46px rgb(0 0 0/.82)}
.card:hover .card-icon{transform:none;filter:none}
.card-icon{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 5%,transparent)}
.card-icon .icon{filter:none}
.points li:hover{transform:none}
.track{animation-duration:96s}
.shot:hover img{transform:scale(1.012)}
.invest{padding:clamp(3rem,6vw,4.75rem);border-radius:12px}
.invest .wordmark{width:min(48%,360px);margin-bottom:var(--s-6);opacity:.92}
.invest>h2{max-width:17.11em;margin-inline:auto;line-height:1.08}
.invest>p{line-height:1.72}
.platform-path{gap:0;border-inline:0;border-radius:0;background:transparent;border-color:var(--premium-line)}
.platform-step{padding:1.6rem 1.35rem 1.75rem;min-height:164px;background:transparent}
.platform-step+.platform-step{border-left-color:var(--premium-line)}
.platform-step .k{margin-bottom:.85rem;color:var(--cyb-fg-3);font-weight:500;letter-spacing:.24em}
.platform-step b{font-size:.94rem;letter-spacing:.005em;margin-bottom:.6rem}
.platform-step p{line-height:1.62}
.platform-step:not(:last-child)::after{right:-5px;top:24px;width:10px;height:14px;border-radius:0;background:var(--cyb-bg-2);color:color-mix(in srgb,var(--accent) 72%,var(--cyb-fg-3));font-size:9px}
.invest .cta{margin-top:2rem}
body::before{background:radial-gradient(58% 40% at 50% -7%,color-mix(in srgb,var(--accent-deep) 38%,transparent),transparent 72%),radial-gradient(42% 34% at 100% 100%,color-mix(in srgb,var(--accent-2) 11%,transparent),transparent 74%),linear-gradient(color-mix(in srgb,var(--cyb-line) 48%,transparent) 1px,transparent 1px) 0 0/78px 78px,linear-gradient(90deg,color-mix(in srgb,var(--cyb-line) 48%,transparent) 1px,transparent 1px) 0 0/78px 78px;-webkit-mask-image:radial-gradient(118% 86% at 50% 18%,#000 38%,transparent 100%);mask-image:radial-gradient(118% 86% at 50% 18%,#000 38%,transparent 100%)}
:root[data-theme="light"] body::before{opacity:.38}
.section + .section::before{width:calc(100% - 4rem);max-width:960px;opacity:.62}
.section-head .eyebrow{color:color-mix(in srgb,var(--accent) 68%,var(--cyb-fg-3));letter-spacing:.25em}
.section-head .n::after{width:22px;opacity:.76}
.section-head h2{letter-spacing:.009em}
.hero-net{opacity:.4}
.hero .eyebrow{background:color-mix(in srgb,var(--cyb-bg-2) 30%,transparent);border-color:color-mix(in srgb,var(--cyb-line-strong) 58%,transparent);box-shadow:none}
.hero h1{max-width:min(19.96em,100%);text-wrap:balance}
.hero .lede{max-width:62ch;color:color-mix(in srgb,var(--cyb-fg-2) 94%,var(--cyb-fg-3))}
.hero-inscription{opacity:.68;letter-spacing:.46em;word-spacing:.78em}
.hero-mark::after{width:4px;height:4px;margin-left:-2px;box-shadow:0 0 6px color-mix(in srgb,var(--accent) 68%,transparent),0 0 14px color-mix(in srgb,var(--accent) 30%,transparent)}
.hero-body.in .hero-mark::before{animation-duration:12s}
.hero-body.in .hero-mark::after{opacity:.28;animation-duration:34s}
.hero-body.in .hero-mark .ticks{animation-duration:16s}
.hero-body.in .hero-mark .ring:not(.r2){animation-duration:14s}
.hero-body.in .hero-mark .sweep{animation-duration:18s}
.hero-body.in .hero-mark .brk{animation-duration:14s}
.hud{opacity:0;color:color-mix(in srgb,var(--cyb-fg-3) 84%,transparent)}
.hero.in .hud{opacity:.68}
.stats{box-shadow:0 16px 48px -44px rgb(0 0 0/.8)}
.stat:hover{background:color-mix(in srgb,var(--cyb-bg-2) 94%,var(--cyb-bg))}
.cred .pill:hover{background:transparent;color:var(--cyb-fg-2)}
.card{border-radius:8px;box-shadow:0 18px 52px -48px rgb(0 0 0/.78)}
.card::after{display:none}
.card:hover{transform:none;border-color:color-mix(in srgb,var(--accent) 18%,var(--cyb-line));box-shadow:0 20px 58px -52px rgb(0 0 0/.82)}
.card-icon{width:50px;height:45px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 30%,transparent),color-mix(in srgb,var(--accent) 7%,transparent) 66%,color-mix(in srgb,var(--accent) 16%,transparent))}
.card-icon::before{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 15%,var(--cyb-bg-2)),color-mix(in srgb,var(--accent) 4%,var(--cyb-bg-2)) 62%,color-mix(in srgb,var(--accent) 8%,var(--cyb-bg-2)))}
.card-icon::after{display:none}
.card-icon .icon{width:20px;height:20px}
.frame{border-radius:8px;box-shadow:0 24px 66px -52px rgb(0 0 0/.86),0 0 0 1px color-mix(in srgb,var(--accent) 6%,transparent)}
.frame:hover{transform:none;box-shadow:0 24px 66px -52px rgb(0 0 0/.86),0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}
.shot{border-radius:8px;box-shadow:0 18px 52px -46px rgb(0 0 0/.82)}
.shot:hover img{transform:none}
.pilots{background:color-mix(in srgb,var(--cyb-bg-2) 96%,var(--cyb-bg));box-shadow:0 18px 56px -50px rgb(0 0 0/.78),inset 0 1px 0 color-mix(in srgb,#fff 4%,transparent)}
.member{border-radius:8px;box-shadow:0 18px 54px -50px rgb(0 0 0/.78)}
.member:hover{transform:none;box-shadow:0 18px 54px -50px rgb(0 0 0/.78)}
.invest{border-radius:8px;background:radial-gradient(58% 66% at 50% 0%,color-mix(in srgb,var(--accent-deep) 22%,transparent),transparent 74%),color-mix(in srgb,var(--cyb-bg-2) 97%,var(--cyb-bg));box-shadow:0 26px 76px -64px rgb(0 0 0/.88),inset 0 1px 0 color-mix(in srgb,#fff 4%,transparent)}
.invest::before{left:18%;right:18%;opacity:.7}
.invest .wordmark{opacity:.84}
.platform-step{min-height:156px}
@media (max-width:860px){
  .shot{width:290px}
}
@media (max-width:680px){
  .brand-inscription{white-space:normal;letter-spacing:.29em;word-spacing:.45em;text-indent:.29em}
  .hero-inscription{max-width:90%;margin-bottom:var(--s-4);font-size:.56rem}
}
@media (max-width:520px){
  body .section{padding-block:2.75rem}
  .card{padding:var(--s-5)}
  .grid{gap:var(--s-4)}
  .invest{padding:2.3rem 1.25rem}
  .invest .wordmark{width:min(70%,290px)}
}
/* Progressive enhancement: content is visible by default. The hidden-until-
   revealed state only applies once home.js has confirmed it is running and
   added html.reveal-ready — so no-JS, blocked-JS or a script error always
   shows everything instead of leaving sections permanently empty. */
html.reveal-ready [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease-out),transform .78s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 55ms)}
html.reveal-ready [data-reveal="scale"]{transform:scale(.975)}
html.reveal-ready [data-reveal="left"]{transform:translateX(-14px)}
[data-reveal].in,html.reveal-ready [data-reveal].in{opacity:1;transform:none}
.section:not(.live) svg *{animation-play-state:paused}
/* home.js toggles .live on the hero as well as on sections; the mark's instrument loops and
   the scroll cue have no reason to run once the reader has scrolled past them. The loops are
   declared with the `animation` shorthand at higher specificity (and again in
   motion-refined.css), and every shorthand resets play-state to running, so this gate has to
   be important to hold. It matches nothing while the hero is on screen. */
.hero:not(.live) .hero-mark *,.hero:not(.live) .hero-mark::before,.hero:not(.live) .hero-mark::after,.hero:not(.live) .scroll-cue span{animation-play-state:paused!important}
@keyframes pl-mark{
  from{opacity:0;transform:scale(.6) rotate(-30deg)}
  to{opacity:1;transform:none}
}
@keyframes pl-wipe{
  to{clip-path:inset(0 0 0 0)}
}
@keyframes pl-fade{
  to{opacity:1}
}
@keyframes aurora{
  from{transform:translate3d(-4%,-3%,0) rotate(-3deg) scale(1)}
  to{transform:translate3d(5%,4%,0) rotate(4deg) scale(1.12)}
}
@keyframes glow{
  0%,100%{filter:drop-shadow(0 0 18px color-mix(in srgb,var(--accent) 30%,transparent))}
  50%{filter:drop-shadow(0 0 34px color-mix(in srgb,var(--accent) 60%,transparent))}
}
@keyframes hero-halo{
  0%,100%{opacity:.92;transform:scale(.99)}
  50%{opacity:1;transform:scale(1.07)}
}
@keyframes hero-ticks{
  0%,100%{opacity:.34}
  50%{opacity:.52}
}
@keyframes hero-ring-breathe{
  0%,100%{opacity:.5;filter:drop-shadow(0 0 0 transparent)}
  50%{opacity:.66;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 35%,transparent))}
}
@keyframes hero-orbit{
  to{transform:rotate(360deg)}
}
@keyframes hero-sweep{
  0%{transform:rotate(-28deg);opacity:0}
  8%{opacity:.18}
  20%{opacity:.95}
  68%{opacity:.62}
  92%{opacity:.14}
  100%{transform:rotate(332deg);opacity:0}
}
@keyframes hero-signal-orbit{
  0%{transform:rotate(0deg) scale(.86);opacity:.82}
  18%{opacity:.95}
  50%{transform:rotate(180deg) scale(1);opacity:.48}
  82%{opacity:.95}
  100%{transform:rotate(360deg) scale(.86);opacity:.82}
}
@keyframes hero-bracket-breathe{
  0%,100%{opacity:1}
  50%{opacity:.58}
}
@keyframes cue{
  0%{transform:translateY(0);opacity:1}
  70%{transform:translateY(14px);opacity:0}
  100%{transform:translateY(0);opacity:0}
}
@keyframes pop{
  from{opacity:0;transform:translateY(-6px) scale(.98)}
  to{opacity:1;transform:none}
}
@keyframes core{
  0%,100%{box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 25%,transparent)}
  50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--signal) 8%,transparent)}
}
@keyframes sheen{
  to{background-position:-120% 0}
}
@keyframes stats-scan{
  from{transform:translateX(-100%)}
  to{transform:translateX(100%)}
}
@keyframes blink{
  0%,100%{stroke-opacity:.15}
  50%{stroke-opacity:.6}
}
@keyframes ring{
  0%,100%{opacity:0;transform:scale(1)}
  50%{opacity:.45;transform:scale(1.22)}
}
@keyframes ai-ring{
  0%{opacity:.6;transform:scale(1)}
  100%{opacity:0;transform:scale(2.3)}
}
@keyframes breathe{
  0%,100%{transform:scale(1);opacity:.25}
  50%{transform:scale(1.07);opacity:.5}
}
@keyframes dash{
  from{stroke-dashoffset:68}
  to{stroke-dashoffset:0}
}
@keyframes dash-h{
  to{stroke-dashoffset:-180}
}
@keyframes hub-flow-in{
  0%,2%{opacity:0;stroke-dashoffset:206}
  3%{opacity:.18}
  7%{opacity:.95}
  13%{opacity:.9;stroke-dashoffset:0}
  16%,100%{opacity:0;stroke-dashoffset:-18}
}
@keyframes hub-flow-back{
  0%,11%{opacity:0;stroke-dashoffset:-206}
  12%{opacity:.12}
  16%{opacity:.72}
  22%{opacity:.68;stroke-dashoffset:0}
  25%,100%{opacity:0;stroke-dashoffset:18}
}
@keyframes hub-node-exchange{
  0%,2%,25%,100%{opacity:.88}
  5%,18%{opacity:1}
}
@keyframes hub-core-receive{
  0%,100%{filter:none}
  43%{filter:none}
  52%{filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 24%,transparent))}
  66%{filter:none}
}
@keyframes neuron{
  0%,100%{transform:scale(1);opacity:.7}
  50%{transform:scale(1.12);opacity:1}
}
@keyframes grow{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}
@keyframes run{
  from{left:0}
  to{left:calc(100% - 22px)}
}
@keyframes roll{
  to{transform:rotate(240deg)}
}
@keyframes stage{
  0%,12%{border-color:var(--cyb-line);background:var(--card)}
  15%,100%{border-color:color-mix(in srgb,var(--green) 45%,var(--cyb-line));background:color-mix(in srgb,var(--green) 5%,transparent)}
}
@keyframes spin{
  to{transform:rotate(360deg)}
}
@keyframes fade-in{
  to{opacity:1}
}
@keyframes corepulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.18)}
}
@keyframes compass-calibrate{
  0%{transform:rotate(-4deg);opacity:.55}
  38%{transform:rotate(2.2deg);opacity:1}
  68%{transform:rotate(-.8deg)}
  100%{transform:rotate(0);opacity:1}
}
@keyframes compass-acquire{
  0%{transform:rotate(-34deg)}
  46%{transform:rotate(5.5deg)}
  68%{transform:rotate(-1.7deg)}
  84%{transform:rotate(.55deg)}
  100%{transform:rotate(0)}
}
@keyframes compass-correct{
  0%,82%,100%{transform:rotate(0)}
  88%{transform:rotate(.65deg)}
  93%{transform:rotate(-.28deg)}
  97%{transform:rotate(0)}
}
@keyframes compass-north-pulse{
  0%,82%,100%{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 48%,transparent));opacity:1}
  89%{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 72%,transparent));opacity:.96}
  96%{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 48%,transparent));opacity:1}
}
@keyframes preloader-scan{
  0%{transform:translate3d(0,0,0);opacity:0}
  12%{opacity:.72}
  72%{opacity:.48}
  100%{transform:translate3d(0,110vh,0);opacity:0}
}
/* One period of the duplicated track is N items plus N gaps; half the track is N items plus
   N - 1/2 gaps, so the travel is half the width plus half of whatever gap .track declares. */
@keyframes marquee{
  to{transform:translateX(calc(-50% - var(--track-gap) / 2))}
}
@keyframes honey-wave{
  0%{opacity:0;transform:scale(.58)}
  18%{opacity:.72}
  72%{opacity:.16}
  100%{opacity:0;transform:scale(4.15)}
}
@keyframes hub-logo-focus{
  0%,100%{opacity:.96;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--accent) 30%,transparent))}
  50%{opacity:1;filter:drop-shadow(0 0 13px color-mix(in srgb,var(--accent) 46%,transparent))}
}
@keyframes hub-label-breathe{
  0%,100%{opacity:.62}
  50%{opacity:.9}
}
@media (max-width:1280px){
  .hud{display:none}
}
@media (max-width:1080px){
  .gps-grid,.cols{grid-template-columns:1fr}
}
@media (max-width:860px){
  .cv,.brain,.hub{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
  .cv>svg{min-width:900px}
  .brain>svg{min-width:720px}
  .hub>svg{min-width:720px}
  .problem{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--cyb-line)}
  .hero h1{max-width:none}
  .sticky{display:flex}
  .shot{width:250px}
  .peek-grid{grid-template-columns:1fr}
  .platform-path{grid-template-columns:1fr}
  .platform-step{min-height:0}
  .platform-step+.platform-step{border-left:0;border-top:1px solid var(--cyb-line)}
  .platform-step:not(:last-child)::after{content:"↓";right:18px;top:auto;bottom:-9px}
  
}
@media (max-width:520px){
  .stats{grid-template-columns:1fr 1fr}
  .pl-tag{letter-spacing:.06em;font-size:.66rem}
  .hero-mark{width:150px;height:150px}
  .hero-mark img,.hero-mark .hero-logo{width:64px;height:64px}
  .statement{font-size:1.15rem}
  .eyebrow{letter-spacing:.2em}
  .cta .cyb-button{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-reveal],.hero-body>*,.split .w>i{opacity:1;transform:none}
  .preloader{display:none}
}
@media print{
  .progress,.sticky,.preloader,.marquee,.brain,.hub,.cv,.compass,body::before{display:none!important}
  .section{padding-block:var(--s-5);break-inside:avoid}
  /* Belt-and-braces alongside the beforeprint JS handler: a print render
     must never depend on scroll-triggered reveal having already fired. */
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
}
/* Mobile quick-action bar (homepage only): one primary action, one quiet secondary */
.sticky{position:fixed;inset:auto 0 0;z-index:1000;display:none;gap:.5rem;padding:.6rem var(--cyb-gutter) calc(.6rem + env(safe-area-inset-bottom));background:var(--cyb-glass-fill);-webkit-backdrop-filter:var(--cyb-glass-filter);backdrop-filter:var(--cyb-glass-filter);border-top:1px solid var(--cyb-glass-line)}
.sticky .cyb-button{flex:1 1 0;min-width:0;padding-inline:.6rem;font-size:.8rem;letter-spacing:0;white-space:normal;line-height:1.15;text-align:center}
@media(max-width:860px){.sticky{display:flex}}
body.cyb-drawer-open .sticky{display:none}
/* Honeycomb must never widen the mobile layout viewport */
#product{overflow-x:clip}
@media(max-width:430px){.honey{--w:106px;--g:7px}}

@media(max-width:480px){.cta .cyb-button{white-space:normal;line-height:1.2;text-align:center}}

/* Compact company credibility. Home carries the founder and one line each for
   leadership and the advisory board; the full roster and every advisor's
   credential live on /about/#team and /about/#advisors. */
.company-cred{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--s-5);align-items:center;max-width:1100px;margin:0 auto var(--s-5)}
.company-cred .member{align-content:start}
.company-cred .member p{margin:0;font-size:var(--t-sm);line-height:1.6;color:var(--cyb-fg-2)}
.company-cred__lines{display:grid;gap:0}
.company-cred__lines p{margin:0;padding:var(--s-4) 0;border-top:1px solid var(--premium-line,var(--cyb-line));font-size:var(--t-sm);line-height:1.6;color:var(--cyb-fg-2)}
.company-cred__lines p:last-child{border-bottom:1px solid var(--premium-line,var(--cyb-line))}
.company-cred__lines b{display:block;margin-bottom:.35rem;font:500 var(--t-xs)/1.3 var(--cyb-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
@media(max-width:860px){.company-cred{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}}

/* Enterprise validation — wide evidence instrument. Numbers are telemetry; copy explains the evidence. */
.pilots{max-width:1180px;padding:clamp(1.35rem,2.2vw,2rem)}
.pilots-head{grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:end;gap:clamp(2rem,5vw,5rem);margin-bottom:1.4rem}
.pilots-head h3{max-width:19ch;font-size:clamp(1.55rem,1.15rem + 1.25vw,2.35rem)}
.pilots-note{max-width:58ch}
.pilots-signals{margin-bottom:1px;border-radius:8px}
.pilots-signals div{padding:1rem 1.35rem}
.pilots-signals b{font-size:clamp(1.15rem,1rem + .55vw,1.5rem)}
.pilots-provenance{margin:.9rem 0 0;font:500 .58rem/1.45 var(--cyb-mono);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--cyb-fg-3) 72%,transparent)}
@media(min-width:1440px){.pilots{max-width:var(--cyb-max)}.pilots-head{margin-bottom:1.2rem}}
@media(max-width:860px){.pilots-head{grid-template-columns:1fr}.pilots-sectors{text-align:left;white-space:normal}.pilots-signals{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.pilots-signals{grid-template-columns:1fr}.pilots-signals div{padding:.9rem 1rem}}

/* Large displays -----------------------------------------------------------
   The headline stopped growing at 3.5rem and the measure stopped at 1280px,
   which was drawn for a laptop. On a 16-inch MacBook Pro or an external
   monitor the result was a small block of type marooned in the middle of a
   large window. The measure steps up in site-core.css; the hero's display type
   steps up with it here, so the page scales instead of pinning. Prose stays
   capped by its own ch measure — the goal is a page that uses the display, not
   line lengths nobody can read.
   The `body ` prefix matches the specificity the hero type is already set at
   further up this file; without it these steps lose the cascade silently. */
@media (min-width:1500px){
  body .hero h1{font-size:clamp(3.5rem,1.2rem + 2.4vw,4.15rem)}
  body .hero .lede{font-size:1.28rem;line-height:1.68}
  /* The telemetry rails were pinned ~48px from the window edge at every width.
     Past about 2200px that strands them in empty space a quarter of the screen
     away from everything else, which is what made the page read as a squeezed
     column with two labels floating at the extremes. They now sit a fixed
     distance outside the content column instead of a fixed distance inside the
     window. `max()` keeps the old edge inset wherever it is still the larger of
     the two, so nothing moves until the void is genuinely wide enough to hold a
     rail — the rails run about 210px. */
  .hud-l{left:max(clamp(1rem,4vw,3rem),calc(50% - var(--cyb-max)/2 - 16rem))}
  .hud-r{right:max(clamp(1rem,4vw,3rem),calc(50% - var(--cyb-max)/2 - 16rem))}
}
@media (min-width:1800px){
  body .hero h1{font-size:clamp(3.5rem,1.2rem + 2.4vw,4.7rem)}
  body .hero .lede{font-size:1.36rem}
}

/* Rows follow the measure -----------------------------------------------
   --cyb-max steps up on large displays, but these rows kept the pixel caps
   they were drawn at for a 1280px measure, so at 2560px a four-up grid sat
   at 58% of its own column and a section intro at 50%, with the rest of the
   row empty. Each cap below is its original value over 1280, expressed
   against the measure, so every row keeps exactly the proportion it was
   designed with and grows with the page. At --cyb-max:1280 the calc returns
   the original pixel value, so nothing moves below 1500px.

   Prose keeps its own caps and is deliberately absent here: .statement,
   .lede, .peek-lead, .footnote and the section intro's own paragraph stay
   bounded by what is comfortable to read, not by what fits. */
@media (min-width:1500px){
  body .section-head{max-width:calc(var(--cyb-max) * .672)}
  body .bridge{max-width:calc(var(--cyb-max) * .641)}
  body .benefits{max-width:calc(var(--cyb-max) * .781)}
  body #outcomes .benefits{max-width:calc(var(--cyb-max) * .641)}
  body .cols{max-width:calc(var(--cyb-max) * .781)}
  body .invest{max-width:calc(var(--cyb-max) * .781)}
  body .cv{max-width:calc(var(--cyb-max) * .859)}
  body .company-cred{max-width:calc(var(--cyb-max) * .859)}
  body .brain{max-width:calc(var(--cyb-max) * .719)}
  body .platform-path{max-width:calc(var(--cyb-max) * .719)}
  body .hub{max-width:calc(var(--cyb-max) * .75)}
  body .stats{max-width:calc(var(--cyb-max) * .766)}
  body .metrics{max-width:calc(var(--cyb-max) * .8125)}
  body .peek-grid.peek-grid{max-width:calc(var(--cyb-max) * .922)}
}

/* The credentials row sits over the hero's own atmosphere, not the page
   background, so the quiet tier does not have the margin it has elsewhere:
   --cyb-fg-3 measured 4.31:1 against the light hero floor, under the 4.5 a
   14px label needs. These are credential claims, not decoration, so in light
   theme they take the tier above and hover goes to full strength to keep the
   two states distinct. Dark keeps the quiet tier, where the dark hero gives
   it plenty of room. */
:root[data-theme="light"] .cred .pill{color:var(--cyb-fg-2)}
:root[data-theme="light"] .cred .pill:hover{color:var(--cyb-fg)}
