
/* --- grain overlay (injected by brand.js when missing) --- */
.bn-noise{position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}

/* --- scroll progress --- */
.bn-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--terminal,#00e676);z-index:99999;box-shadow:0 0 10px rgba(0,230,118,.45)}

/* --- mini boot loader (pages without their own) --- */
.bn-loader{position:fixed;inset:0;background:var(--void,#060608);z-index:100009;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;color:var(--terminal,#00e676);font-size:13px;letter-spacing:1px;transition:opacity .45s;text-shadow:0 0 10px rgba(0,230,118,.5)}
.bn-loader.done{opacity:0;pointer-events:none}

/* --- marquee ticker --- */
.bn-ticker{overflow:hidden;border-top:1px solid var(--border,#1e1e28);border-bottom:1px solid var(--border,#1e1e28);background:var(--void,#060608);padding:14px 0;position:relative}
.bn-ticker-track{display:flex;gap:0;width:max-content;animation:bnTicker 36s linear infinite}
.bn-ticker:hover .bn-ticker-track{animation-play-state:paused}
.bn-ticker-track span{font-family:'JetBrains Mono',monospace;font-size:.74rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--dim,#6b6b78);white-space:nowrap;padding:0 18px}
.bn-ticker-track span b{color:var(--terminal,#00e676);font-weight:500;padding-right:18px}
@keyframes bnTicker{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.bn-ticker-track{animation:none}}

/* --- bn-card: unified signature card (HUD corners + scanbar) --- */
.bn-card{position:relative;background:var(--panel,#0e0e12);border:1px solid var(--border,#1e1e28);border-radius:4px;transition:border-color .4s,transform .4s,box-shadow .4s;overflow:hidden}
.bn-card::before,.bn-card::after{content:'';position:absolute;width:14px;height:14px;transition:all .4s;pointer-events:none;z-index:2}
.bn-card::before{top:10px;left:10px;border-top:1px solid var(--violet,#a78bfa);border-left:1px solid var(--violet,#a78bfa);opacity:.55}
.bn-card::after{bottom:10px;right:10px;border-bottom:1px solid var(--violet,#a78bfa);border-right:1px solid var(--violet,#a78bfa);opacity:.55}
.bn-card:hover{border-color:rgba(167,139,250,.4);transform:translateY(-4px);box-shadow:0 18px 50px -18px rgba(0,0,0,.75)}
.bn-card:hover::before,.bn-card:hover::after{width:22px;height:22px;opacity:1;border-color:var(--terminal,#00e676)}
.bn-card .bn-scan{position:absolute;top:0;left:0;height:2px;width:34%;background:linear-gradient(90deg,transparent,var(--terminal,#00e676));opacity:0;pointer-events:none}
.bn-card:hover .bn-scan{opacity:1;animation:bnScan 1.15s linear infinite}
@keyframes bnScan{0%{left:-34%}100%{left:100%}}
.bn-kicker{font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--dim,#6b6b78)}

/* --- info popover (ⓘ) --- */
.info-pop{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.19,1,.22,1)}
.info-pop.open{max-height:420px}
.info-pop-inner{margin-top:14px;padding:16px 18px;background:var(--void,#060608);border:1px solid var(--border,#1e1e28);border-left:2px solid var(--terminal,#00e676);border-radius:0 4px 4px 0;font-size:.86rem;color:var(--dim,#6b6b78);line-height:1.7}
.info-pop-inner b{color:var(--text,#e8e8ec)}
.info-btn{width:20px;height:20px;border:1px solid var(--border,#1e1e28);border-radius:50%;background:transparent;color:var(--dim,#6b6b78);font-family:'JetBrains Mono',monospace;font-size:.68rem;cursor:pointer;transition:.3s;display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;margin-left:8px}
.info-btn:hover,.info-btn.active{border-color:var(--terminal,#00e676);color:var(--terminal,#00e676);box-shadow:0 0 12px rgba(0,230,118,.25)}

/* --- magnetic buttons --- */
@media (pointer:fine){
  .btn,.nav-cta{will-change:transform}
}

/* --- chrome text accent (matches the logotype) --- */
.holo{background:linear-gradient(115deg,#f4f4f7 0%,#9a9aa8 28%,#ececf2 50%,#78788a 72%,#dcdce4 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:holoShift 8s linear infinite}
@keyframes holoShift{to{background-position:220% center}}

/* --- step-scroll helpers --- */
html.step-lock{scroll-behavior:auto;scroll-snap-type:none}
section.step{scroll-snap-align:start}

/* --- reveal polish: headings scramble target --- */
[data-scramble]{min-height:1em}

/* --- accessibility: skip link --- */
.skip-link{position:fixed;top:-80px;left:16px;z-index:100020;background:var(--violet,#00e676);color:var(--void,#060608);padding:10px 18px;font-family:'JetBrains Mono',monospace;font-size:.8rem;font-weight:700;border-radius:3px;transition:top .2s ease}
.skip-link:focus{top:12px}

/* --- accessibility: focus visibility --- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--violet,#00e676);outline-offset:2px}

/* --- visually hidden (screen-reader only) --- */
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* --- anchors below fixed header --- */
section[id],footer[id],[id].step{scroll-margin-top:96px}

/* --- no-JS / no-GSAP fallbacks: content must never stay hidden --- */
html.no-js .reveal,html.no-gsap .reveal{opacity:1!important;transform:none!important}
html.no-js .line-inner,html.no-gsap .line-inner{transform:none!important}
@keyframes bnLoaderOut{to{opacity:0;visibility:hidden}}
.loader{animation:bnLoaderOut .55s ease 1.2s forwards}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* --- ticker pause on hover AND keyboard focus --- */
.bn-ticker:focus-within .bn-ticker-track{animation-play-state:paused}

/* --- burger + mobile menu (injected by brand.js, no HTML changes) --- */
.bn-burger{display:none;position:relative;z-index:1002;width:44px;height:44px;background:transparent;border:1px solid var(--border,#1e1e28);border-radius:4px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0}
.bn-burger span{display:block;width:20px;height:2px;background:var(--text,#e8e8ec);transition:transform .3s,opacity .3s}
.bn-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.bn-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.bn-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.bn-mobilemenu{position:fixed;inset:0;z-index:1001;background:rgba(6,6,8,.97);backdrop-filter:blur(14px);display:flex;flex-direction:column;justify-content:center;padding:96px 40px 48px;opacity:0;pointer-events:none;transition:opacity .3s ease}
.bn-mobilemenu.open{opacity:1;pointer-events:auto}
.bn-mobilemenu a{display:block;font-family:'Space Grotesk',sans-serif;font-size:clamp(1.6rem,6.5vw,2.3rem);font-weight:600;padding:13px 0;color:var(--text,#e8e8ec);border-bottom:1px solid var(--border,#1e1e28)}
.bn-mobilemenu a:hover{color:var(--violet,#00e676)}
.bn-mobilemenu a.mm-cta{font-family:'JetBrains Mono',monospace;font-size:1rem;font-weight:700;color:var(--violet,#00e676);border:1px solid var(--violet,#00e676);text-align:center;padding:16px;margin-top:28px}
@media(max-width:960px){
  .nav-links{display:none}
  .bn-burger{display:inline-flex}
}
@media (prefers-reduced-motion:reduce){.bn-mobilemenu{transition:none}.bn-burger span{transition:none}}

/* --- copy-mail ghost button (markup in pages, behavior in brand.js) --- */
.copy-mail{display:inline-flex;align-items:center;gap:6px;padding:12px 18px;background:transparent;border:1px solid var(--border,#1e1e28);border-radius:3px;color:var(--dim,#9a9aa8);font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:1px;cursor:pointer;transition:.3s;vertical-align:middle}
.copy-mail:hover,.copy-mail.copied{border-color:var(--terminal,#00e676);color:var(--terminal,#00e676)}

/* --- injected sticky pill (pages without their own #stickyPill) --- */
.bn-pill{position:fixed;bottom:28px;right:28px;z-index:90;padding:14px 26px;background:var(--terminal,#00e676);color:var(--void,#060608);font-family:'JetBrains Mono',monospace;font-size:.82rem;font-weight:700;border-radius:50px;box-shadow:0 8px 32px rgba(0,230,118,.35);opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .4s cubic-bezier(.19,1,.22,1),transform .4s cubic-bezier(.19,1,.22,1),background .3s}
.bn-pill.show{opacity:1;transform:translateY(0);pointer-events:auto}
.bn-pill:hover{background:var(--text,#e8e8ec)}
@media(max-width:960px){.bn-pill{bottom:16px;right:16px;padding:12px 20px;font-size:.76rem}}
@media (prefers-reduced-motion:reduce){.bn-pill{transition:none}}
