/* WhizzStep shared shell: skip link, focus, mobile nav, responsive grids, motion */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:0;background:#1E3FE0;color:#fff;padding:10px 16px;font-family:'JetBrains Mono',monospace;font-size:13px;z-index:1000;border-radius:0 0 6px 0}
.skip-link:focus{left:0;top:0}
:focus-visible{outline:3px solid #1E3FE0;outline-offset:2px}

.wz-menu-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid #CFC5AE;background:transparent;cursor:pointer}
.wz-menu-btn span,.wz-menu-btn span::before,.wz-menu-btn span::after{content:'';display:block;width:20px;height:2px;background:#0E1430;position:relative;transition:transform .2s}
.wz-menu-btn span::before{position:absolute;top:-6px}
.wz-menu-btn span::after{position:absolute;top:6px}

.wz-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.wz-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.wz-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.wz-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.wz-split-2{display:grid;grid-template-columns:1fr 1fr;gap:52px}
.wz-split-2b{display:grid;grid-template-columns:1.1fr .9fr;gap:56px}

@media (max-width:900px){
  .wz-grid-4{grid-template-columns:repeat(2,1fr)}
  .wz-grid-3{grid-template-columns:1fr}
  .wz-grid-5{grid-template-columns:1fr}
  .wz-split-2,.wz-split-2b{grid-template-columns:1fr;gap:32px}
}
@media (max-width:640px){
  .wz-nav-links{display:none!important}
  .wz-menu-btn{display:flex}
  .wz-grid-4{grid-template-columns:1fr}
  .wz-grid-2{grid-template-columns:1fr}
  body{padding-left:0}
}
.wz-nav-links.wz-open{display:flex!important;position:absolute;top:74px;left:0;right:0;background:#FAF8F4;flex-direction:column;padding:20px;border-bottom:1px solid #E1D9C7;gap:16px!important;z-index:60}

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

/* wz-motion shared reveal component */
.wz-reveal{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
.wz-reveal.is-in{opacity:1;transform:none}

/* ============================================================
   VNext — Three Worlds (AI Lab / Quantum Lab / GUARD)
   ============================================================ */
.world-ai{background:linear-gradient(160deg,var(--wv-ai-blue,#315BFF),#1E3FE0);color:#fff}
.world-quantum{background:linear-gradient(160deg,var(--wv-quantum-indigo,#3A2A7A),var(--wv-quantum-night,#160E33));color:#fff}
.world-guard{background:var(--wv-ink,#0B1026);color:#fff}
.world-cream{background:var(--wv-cream,#FFF7EC);color:var(--wv-ink,#0B1026)}

.immersive-band{padding:80px 24px;position:relative;overflow:hidden}
@media (max-width:640px){.immersive-band{padding:56px 20px}}

.world-gateway{border-radius:20px;padding:40px 32px;display:flex;flex-direction:column;gap:16px;min-height:320px;justify-content:space-between;text-decoration:none;transition:transform .3s cubic-bezier(.22,.8,.28,1),box-shadow .3s ease;position:relative}
.world-gateway:hover,.world-gateway:focus-visible{transform:translateY(-6px);box-shadow:0 24px 48px rgba(11,16,38,.28)}
.world-gateway h3{font-family:var(--wv-display);font-size:28px;font-weight:600;margin:0;line-height:1.15}
.world-gateway p{font-size:15px;line-height:1.6;margin:0;opacity:.88}
.world-gateway .gateway-cta{font-family:var(--wv-display);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.world-gateway .gateway-cta::after{content:'→';transition:transform .2s ease}
.world-gateway:hover .gateway-cta::after{transform:translateX(4px)}

.worlds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.worlds-grid{grid-template-columns:1fr}}

.lab-preview{border-radius:14px;padding:18px;background:rgba(255,255,255,.1);border:1px solid var(--wv-border-dark)}
.learning-rail{display:flex;align-items:center;gap:0;overflow-x:auto}
.visual-scene{position:relative}
.photo-split{display:grid;grid-template-columns:1.1fr .9fr;gap:0;align-items:stretch}
@media (max-width:900px){.photo-split{grid-template-columns:1fr}}
.stat-inline{font-family:var(--wv-display);font-weight:600}
