:root{
  --bg:#0a0a0a; --fg:#fff; --muted:#bdbdbd;
  --accent:#ffd000; --glass:rgba(255,255,255,.06); --glass-b:rgba(255,255,255,.18);
  --r:18px; --pad:clamp(16px,2vw,28px); --max:1200px;
  --title:clamp(44px,7vw,96px); --h2:clamp(28px,3.4vw,48px); --lead:clamp(16px,1.5vw,20px);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box} html,body{height:100%} img{max-width:100%;display:block}
body{margin:0;background:var(--bg);color:var(--fg);font:400 16px/1.6 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;scroll-behavior:smooth}
.container{width:min(var(--max),100% - 2*var(--pad));margin-inline:auto}

/* NAV */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px) saturate(135%);
     background:linear-gradient(to bottom,rgba(10,10,10,.9),rgba(10,10,10,.4));border-bottom:1px solid var(--glass-b)}
.nav-inner{display:flex;justify-content:space-between;align-items:center;padding:10px var(--pad)}
.brand{display:flex;align-items:center;gap:12px;font-weight:800}
.logo{height:26px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45))}
.nav a.btn{padding:8px 14px;border-radius:999px;border:1px solid var(--glass-b);background:var(--glass);transition:all .35s var(--ease);color:var(--fg);text-decoration:none}
.nav a.btn:hover{background:rgba(255,208,0,.12);border-color:rgba(255,208,0,.35)}

/* HERO */
.hero{min-height:92svh;display:grid;place-items:center;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:-10%;
  background:
    radial-gradient(1600px 700px at 20% 10%,rgba(255,208,0,.08),transparent 60%),
    radial-gradient(1200px 500px at 90% 20%,rgba(255,255,255,.06),transparent 60%),
    radial-gradient(800px 1200px at 70% 90%,rgba(255,208,0,.08),transparent 60%),
    linear-gradient(#0a0a0a,#0a0a0a);
  z-index:-1;
}
.hero-copy{text-align:center}
.hero h1{font-size:var(--title);line-height:.95;letter-spacing:-.02em;margin:0}
.kicker{color:var(--muted);margin:12px 0 0;font-size:var(--lead)}
.glass-card{margin:22px auto 0;display:inline-flex;gap:12px;align-items:center;padding:12px 16px;border-radius:var(--r);
  border:1px solid var(--glass-b);background:var(--glass);backdrop-filter:blur(10px) saturate(140%)}
.badge{padding:6px 10px;border-radius:999px;background:linear-gradient(#ffd600,#e8bb00);color:#000;font-weight:800}
.scroll{display:inline-block;margin-top:22px;color:var(--accent);text-decoration:none}

/* STAGE */
.section-kicker{margin:10svh 0 12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.stage{position:sticky;top:64px;height:70svh;border-radius:var(--r);overflow:hidden;border:1px solid var(--glass-b);background:#111}
.stage .layer{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(1.03)}
.stage .layer img{width:min(1100px,95%);height:auto;object-fit:cover;filter:saturate(105%) contrast(105%)}
.stage .layer.active{opacity:1;transform:scale(1);transition:opacity .9s var(--ease),transform 1.4s var(--ease)}
.stage-caption{display:grid;gap:16px;margin-top:12px;color:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr))}
.stage-caption p{margin:0;border-left:1px solid var(--glass-b);padding-left:12px}

/* PANELS */
.panels{margin:14svh 0}
.panel{border:1px solid var(--glass-b);border-radius:var(--r);background:linear-gradient(to bottom right,rgba(255,255,255,.04),rgba(255,255,255,.02));backdrop-filter:blur(12px) saturate(140%);box-shadow:0 10px 30px rgba(0,0,0,.35);overflow:clip;margin:8svh 0}
.panel-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(18px,3vw,40px);align-items:center;padding:clamp(18px,4vw,56px)}
.panel:nth-child(even) .panel-inner{grid-template-columns:1fr 1.2fr}
.panel h2{font-size:var(--h2);line-height:1;margin:0 0 10px}
.panel p{margin:0;color:var(--muted);font-size:var(--lead)}
.illus{position:relative;aspect-ratio:16/10;border-radius:calc(var(--r) - 6px);overflow:hidden;border:1px solid var(--glass-b);background:#0f0f0f}
.illus img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.chip{position:absolute;right:10px;bottom:10px;padding:8px 12px;border-radius:999px;background:rgba(255,208,0,.18);color:#111;font-weight:800;border:1px solid rgba(255,208,0,.4)}

/* PARALLAX GALLERY */
.center{text-align:center}
.parallax-row{display:grid;gap:16px;grid-template-columns:repeat(12,1fr);margin:18svh 0}
.tile{grid-column:span 4;border-radius:20px;overflow:clip;position:relative;border:1px solid var(--glass-b);background:#111;cursor:zoom-in}
.tile img{width:100%;height:100%;object-fit:cover;transform:translateY(var(--ty,0))}
.tile .label{position:absolute;left:14px;bottom:12px;padding:6px 10px;border-radius:999px;background:rgba(17,17,17,.6);border:1px solid var(--glass-b);font-size:12px}

/* CTA + FOOTER */
.cta{padding:18svh var(--pad);text-align:center}
.cta h3{font-size:var(--h2);margin:0}
.cta p{color:var(--muted);margin:.6rem 0 1.2rem}
.cta .cta-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.button{padding:12px 18px;border-radius:999px;border:1px solid var(--glass-b);background:var(--glass);color:#fff;text-decoration:none;transition:transform .2s var(--ease),background .3s var(--ease)}
.button.primary{background:linear-gradient(180deg,#ffd000,#e8b800);color:#000;font-weight:800;border-color:rgba(0,0,0,.3)}
.button:hover{transform:translateY(-2px)} .button:active{transform:translateY(0)}
.foot{border-top:1px solid var(--glass-b);color:#8a8a8a;font-size:14px;padding:30px var(--pad) 60px}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.75);display:none;align-items:center;justify-content:center;z-index:100}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:86vh;border-radius:14px;box-shadow:0 20px 70px rgba(0,0,0,.6)}
.lightbox .close{position:absolute;top:14px;right:14px;background:#000;border:1px solid var(--glass-b);color:#fff;border-radius:999px;padding:8px 12px;cursor:pointer}

/* Reveal */
.reveal{opacity:0;transform:translateY(24px) scale(.98)}
.reveal.in{opacity:1;transform:none;transition:transform .8s var(--ease),opacity .8s var(--ease)}

/* Responsive */
@media (max-width:880px){ .panel-inner{grid-template-columns:1fr} .stage-caption{grid-template-columns:1fr;gap:10px} .tile{grid-column:span 6} }
@media (max-width:540px){ .tile{grid-column:span 12} }
@media (prefers-reduced-motion:reduce){ *{transition:none!important;animation:none!important} .stage .layer{transition:none!important} }
