/* Stagebound 1.1 — shared visual weight and stage direction. */
:root {
  --sb-ease-out: cubic-bezier(.23,1,.32,1);
  --sb-stage-shadow: 0 28px 80px rgba(6,5,16,.26);
}
html { scroll-padding-top: 96px; }
body:not(.sb-manage):not(.sb-legal-page) { text-rendering: optimizeLegibility; }
.site-header {
  box-shadow: 0 1px 0 rgba(255,255,255,.04);
  transition: background-color 220ms var(--sb-ease-out),border-color 220ms var(--sb-ease-out),box-shadow 220ms var(--sb-ease-out);
}
.site-header.is-scrolled { box-shadow: 0 12px 40px rgba(5,4,14,.22),inset 0 -1px rgba(255,255,255,.05); }
.site-logo-mark { filter: drop-shadow(0 0 14px rgba(247,80,146,.24)); }
.primary-nav .nav-cta { transition: transform 140ms var(--sb-ease-out),background-color 180ms ease,box-shadow 180ms ease; }
.primary-nav .nav-cta:active { transform: translateY(1px) scale(.98); }

.sb-home-root,.sb-about-root,.sb-categories-root,.sb-how-root,.sb-enter-root,.sb-faq-root,.sb-sponsor-root,.sb-contact-root { isolation:isolate; }
[data-glide-group] { position:relative; isolation:isolate; }
[data-glide-group]::before {
  content:''; position:absolute; z-index:-1; inset:7% max(12px,calc((100vw - 1640px)/2));
  background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.075),rgba(255,255,255,0) 70%);
  opacity:calc(.18 + var(--sb-group-focus,0)*.82);
  transform:scale3d(calc(.96 + var(--sb-group-focus,0)*.04),calc(.96 + var(--sb-group-focus,0)*.04),1);
  transition:opacity 180ms linear; pointer-events:none;
}

/* Override the legacy template engines with one responsive, monotonic entrance. */
.sb-motion-v2 [data-glide] {
  --sb-enter-x:0px; --sb-enter-y:0px; --sb-enter-scale:1;
  opacity:var(--sb-enter-opacity,1)!important;
  transform:translate3d(var(--sb-enter-x),var(--sb-enter-y),0) scale(var(--sb-enter-scale))!important;
  will-change:transform,opacity; backface-visibility:hidden;
}
.sb-motion-v2 [data-glide="hero"] {
  --sb-enter-scale:var(--sb-hero-scale,1); --sb-enter-y:var(--sb-hero-y,0px);
  opacity:var(--sb-hero-opacity,1)!important;
}
.sb-what-card,.sb-explore-card,.sb-how-step,.sb-tier,.sb-faq-item,.sb-stage-card,.sb-tip,.sb-legal-section {
  box-shadow:inset 0 1px rgba(255,255,255,.055),var(--sb-stage-shadow);
}
.sb-home-root h2,.sb-about-root h2,.sb-categories-root h2,.sb-how-root h2,.sb-enter-root h2,.sb-sponsor-root h2 { text-wrap:balance; }
.sb-home-root p,.sb-about-root p,.sb-categories-root p,.sb-how-root p,.sb-enter-root p,.sb-sponsor-root p { text-wrap:pretty; }

.sb-hero-card { box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 40px 110px rgba(3,2,12,.42); }
.sb-hero-card::after {
  content:''; position:absolute; inset:0; z-index:3; pointer-events:none;
  background:linear-gradient(180deg,rgba(5,4,15,.08),transparent 42%,rgba(5,4,15,.34));
  box-shadow:inset 0 0 80px rgba(4,3,12,.2);
}
.sb-hero-wordmark { z-index:5; }

.sb-stage-progress {
  position:fixed; z-index:80; right:18px; top:50%; width:2px; height:min(220px,32vh);
  transform:translateY(-50%); background:rgba(255,255,255,.16); opacity:0;
  transition:opacity 200ms var(--sb-ease-out); pointer-events:none;
}
.sb-stage-progress.is-visible { opacity:1; }
.sb-stage-progress>i { display:block; width:100%; height:100%; transform:scaleY(var(--sb-page-progress,0)); transform-origin:50% 0; background:#fff; }
.sb-stage-progress>b {
  position:absolute; left:50%; top:calc(var(--sb-page-progress,0)*100%); width:9px; height:9px;
  border-radius:50%; transform:translate(-50%,-50%); background:var(--sb-pink);
  box-shadow:0 0 0 5px rgba(247,80,146,.16),0 0 20px rgba(247,80,146,.8);
}

@media (hover:hover) and (pointer:fine) {
  .sb-what-card,.sb-explore-card,.sb-how-step,.sb-tier { transition:transform 220ms var(--sb-ease-out),border-color 180ms ease,background-color 180ms ease,box-shadow 220ms ease; }
  .sb-what-card:hover,.sb-explore-card:hover,.sb-how-step:hover,.sb-tier:hover { transform:translate3d(0,-5px,0); box-shadow:inset 0 1px rgba(255,255,255,.08),0 32px 90px rgba(4,3,14,.34); }
}
@media (max-width:879px) {
  html { scroll-padding-top:78px; }
  .site-header-inner { min-height:66px; }
  .primary-nav {
    transition:opacity 200ms var(--sb-ease-out),transform 240ms var(--sb-ease-out),visibility 0s linear 240ms!important;
    max-height:none!important; opacity:0; visibility:hidden; transform:translate3d(0,-12px,0);
    padding-bottom:max(4px,env(safe-area-inset-bottom));
  }
  .primary-nav.is-open { opacity:1; visibility:visible; transform:translate3d(0,0,0); transition-delay:0s!important; }
  .menu-toggle { min-width:44px; min-height:44px; display:grid; align-content:center; justify-content:center; }
  .menu-toggle span { transition:transform 200ms var(--sb-ease-out),opacity 120ms ease; }
  [data-glide-group]::before { inset-inline:8px; }
  .sb-hero { padding-top:14px!important; }
  .sb-hero-card { border-radius:20px!important; min-height:min(72svh,660px); }
  .sb-stage-progress { right:7px; height:18vh; }
}
@media (max-width:479px) { .sb-wrap { padding-inline:14px; } .sb-stage-progress { display:none; } }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .sb-motion-v2 [data-glide] { transform:none!important; opacity:1!important; will-change:auto; }
  [data-glide-group]::before { transform:none; opacity:.45; transition:none; }
  .sb-stage-progress>i { transform:none; } .sb-stage-progress>b { display:none; }
  .primary-nav,.site-header,.menu-toggle span { transition-duration:1ms!important; }
}
