/* ===== Motion layer (v2) ===== */
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
/* Hero depth layers */
.hero .starfield{position:absolute;inset:0;z-index:-2;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.hero-glow{position:absolute;z-index:-2;right:8%;top:12%;width:46vw;height:46vw;max-width:720px;max-height:720px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#33b5ff22 0%,#b87aff12 35%,transparent 68%);filter:blur(10px);will-change:transform}
.hero-copy,.hero-experience{will-change:transform}
.deck{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.deck-card.active{box-shadow:0 0 34px color-mix(in srgb,var(--accent) 30%,transparent),0 30px 60px #0008}
.deck-card:before,.training-card:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:0;transition:opacity .35s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--accent) 35%,transparent),transparent 65%);mix-blend-mode:screen}
.deck-card:hover:before,.training-card:hover:before{opacity:1}
/* Headings: word stagger */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.split .w>span{display:inline-block;will-change:transform}
/* Marquee */
.proof{padding:30px 0 34px}
.proof-label{margin:0 0 18px;text-align:center;font-size:10px;letter-spacing:.28em;color:#7f98a8}
.marquee{--gap:72px;--speed:77.4s;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee var(--speed) linear infinite}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
.marquee-group{display:flex;align-items:center;gap:var(--gap);padding:0 calc(var(--gap)/2);margin:0;list-style:none}
.marquee-group li{display:flex;align-items:center;height:56px}
.marquee-group img{height:var(--h);width:auto;max-width:190px;filter:grayscale(1) brightness(0) invert(.82);opacity:.7;transition:opacity .3s,filter .3s,transform .3s}
.marquee-group img:hover{filter:none;opacity:1;transform:scale(1.06)}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:650px){.marquee{--gap:44px;--speed:60.8s}.marquee-group img{max-width:140px;height:calc(var(--h)*.8)}}
/* Training cards: CSS-var driven transform so tilt + scroll fan compose */
.training-card,.training-card.reveal,.training-card.reveal.visible,.training-card:hover,.training-card:focus-visible{transform:perspective(650px) translate3d(var(--fx,0px),var(--fy,0px),0) rotate(var(--fr,0deg)) rotateY(calc(-16deg + var(--ry,0deg))) rotateX(var(--rx,0deg)) translateY(var(--lift,0px));opacity:var(--fo,1)}
.training-card{transition:box-shadow .3s,border-color .3s}
.training-card:hover{--lift:-6px;box-shadow:0 0 40px color-mix(in srgb,var(--accent) 30%,transparent)}
.motion .training-card.reveal{opacity:var(--fo,1)}
.motion .section-heading.reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none!important;flex-wrap:wrap}.marquee-group[aria-hidden]{display:none}.marquee{-webkit-mask-image:none;mask-image:none}.marquee-group{flex-wrap:wrap;justify-content:center;row-gap:20px}.hero .starfield,.hero-glow{display:none}}
/* ===== Nav (mirrors live justhacking.com menu) ===== */
#site-nav .menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
#site-nav .menu>li{position:relative;display:flex;align-items:center;gap:2px}
#site-nav .sub-toggle{background:none;border:0;color:#9fb6c4;font-size:11px;cursor:pointer;padding:4px;transition:transform .25s}
#site-nav .has-sub:hover .sub-toggle,#site-nav .has-sub.open .sub-toggle{transform:rotate(180deg);color:#fff}
#site-nav .sub{position:absolute;top:calc(100% + 14px);left:-18px;min-width:240px;list-style:none;margin:0;padding:10px;border:1px solid #2a4756;border-radius:12px;background:#04131dee;backdrop-filter:blur(14px);box-shadow:0 20px 50px #0009;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:50}
#site-nav .sub:before{content:'';position:absolute;inset:-16px 0 auto;height:16px}
#site-nav .has-sub:hover .sub,#site-nav .has-sub:focus-within .sub,#site-nav .has-sub.open .sub{opacity:1;visibility:visible;transform:none}
#site-nav .sub a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:13px;color:#cfdde6;white-space:nowrap}
#site-nav .sub a[style]:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
#site-nav .sub a:hover{background:#ffffff0d;color:#fff}
.nav-login-mobile,.nav-social{display:none}
.social{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.social a{display:grid;place-items:center;width:32px;height:32px;border:1px solid #2b4655;border-radius:50%;color:#a7bac7;transition:color .25s,border-color .25s,transform .25s,box-shadow .25s}
.social a:hover{color:#fff;border-color:#7fcfff;transform:translateY(-2px);box-shadow:0 0 16px #33b5ff40}
.social svg{width:14px;height:14px;fill:currentColor}
#social-links .social a{margin:0}
.hero-baseline{align-items:center}.hero-social .social{gap:8px}.hero-social .social a{width:28px;height:28px}.hero-social .social svg{width:12px;height:12px}
@media(max-width:950px){#site-nav{display:none}#site-nav.open{display:flex;flex-direction:column;gap:18px}#site-nav .menu{flex-direction:column;align-items:stretch;gap:2px}#site-nav .menu>li{flex-wrap:wrap;justify-content:space-between}#site-nav .menu>li>a{padding:10px 15px;flex:1}#site-nav .sub{position:static;display:none;opacity:1;visibility:visible;transform:none;width:100%;box-shadow:none;background:#ffffff06;margin:2px 0 8px}#site-nav .has-sub.open .sub{display:block}#site-nav .has-sub:hover .sub-toggle{transform:none}#site-nav .has-sub.open .sub-toggle{transform:rotate(180deg)}.nav-login-mobile{display:flex}.nav-social{display:block;padding:8px 15px 0;border-top:1px solid #1d3542}}
@media(max-width:650px){.hero-social{display:none}}
#site-nav .menu>li.nav-login-mobile{display:none}
#site-nav .social a,#social-links .social a,.hero-social .social a{display:grid;place-items:center;padding:0;margin:0}
#site-nav .social{flex-direction:row}
@media(max-width:950px){#site-nav .menu>li.nav-login-mobile{display:flex}#site-nav.open{background:#03111bfa;backdrop-filter:blur(16px);max-height:calc(100vh - 80px);overflow:auto}}
#site-nav .nav-social .social{display:flex!important;flex-direction:row!important;flex-wrap:wrap}#site-nav .nav-social .social li{width:auto;flex:0 0 auto}
