/* Shared shell styles — preloader, mobile menu, progress, a11y */
.skip-link{position:absolute;left:16px;top:-60px;z-index:200;padding:12px 18px;border-radius:8px;background:var(--brand,#3D8BFF);color:#fff;font-weight:600;font-size:0.9rem;transition:top .2s;text-decoration:none}
.skip-link:focus{top:16px;outline:2px solid var(--brand-2,#7AB0FF);outline-offset:3px}
:focus-visible{outline:2px solid var(--brand-2,#7AB0FF);outline-offset:3px;border-radius:4px}

#readProgress{position:fixed;top:0;left:0;height:2px;width:0;z-index:60;background:linear-gradient(135deg,#7AB0FF 0%,#3D8BFF 50%,#1B5FE0 100%);box-shadow:0 0 12px rgba(61,139,255,0.55);pointer-events:none}

#preloader{position:fixed;inset:0;z-index:100;background:var(--bg,#070B14);display:flex;align-items:center;justify-content:center}
.pre-inner{display:flex;flex-direction:column;align-items:center;gap:22px}
.pre-logo{width:64px;height:64px;opacity:0;transition:opacity .5s;filter:drop-shadow(0 0 24px rgba(61,139,255,0.6))}
.pre-num{font-family:'Space Grotesk',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.32em;color:var(--brand-2,#7AB0FF)}
.pre-bar{width:170px;height:1px;background:var(--border,rgba(73,120,255,0.14));overflow:hidden}
.pre-bar-fill{width:100%;height:100%;background:linear-gradient(135deg,#7AB0FF 0%,#3D8BFF 50%,#1B5FE0 100%);transform:scaleX(0);transform-origin:left}

.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:1px solid var(--border-strong,rgba(73,120,255,0.28));border-radius:8px;padding:0 10px;height:40px;cursor:pointer;margin-left:14px}
.nav-burger span{display:block;width:18px;height:2px;background:var(--text,#E6ECF7);border-radius:2px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.nav-burger.open span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.nav-burger.open span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
@media(max-width:960px){.nav-burger{display:flex}.nav-links{display:none !important}}

.mob-menu{position:fixed;inset:0;z-index:49;background:rgba(7,11,20,0.96);backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;gap:40px;padding:100px 34px 44px;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s}
.mob-menu.open{opacity:1;visibility:visible;transition:opacity .45s ease,visibility 0s}
.mob-menu-links{display:flex;flex-direction:column}
.mob-menu-links a{font-family:'Space Grotesk',sans-serif;font-size:1.65rem;font-weight:600;letter-spacing:-0.01em;padding:14px 0;border-bottom:1px solid var(--border,rgba(73,120,255,0.14));opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .55s cubic-bezier(.2,.8,.2,1);color:inherit;text-decoration:none}
.mob-menu-links a.mob-cta{color:var(--brand-2,#7AB0FF);border-bottom:none}
.mob-menu.open .mob-menu-links a{opacity:1;transform:none}
.mob-menu.open .mob-menu-links a:nth-child(1){transition-delay:.06s}
.mob-menu.open .mob-menu-links a:nth-child(2){transition-delay:.1s}
.mob-menu.open .mob-menu-links a:nth-child(3){transition-delay:.14s}
.mob-menu.open .mob-menu-links a:nth-child(4){transition-delay:.18s}
.mob-menu.open .mob-menu-links a:nth-child(5){transition-delay:.22s}
.mob-menu.open .mob-menu-links a:nth-child(6){transition-delay:.26s}
.mob-menu-foot{font-family:'Space Grotesk',sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-mute,#6A7388);opacity:0;transition:opacity .5s ease .4s}
.mob-menu.open .mob-menu-foot{opacity:1}
html.menu-lock{overflow:hidden}

#triax3d{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
/* Content sits above the particle canvas without breaking position:fixed on .nav */
main, header, section, footer, .hero, .wrap{position:relative;z-index:2}
.nav{z-index:50 !important}
.mob-menu{z-index:49 !important}
#preloader{z-index:100 !important}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
}
