:root {
  --ink: #0b0810;
  --paper: #191a22;
  --hot: #ff2d87;
  --orange: #ff6534;
  --acid: #ff5846;
  --line: rgba(255, 255, 255, 0.16);
  --display: "Oswald", Impact, sans-serif;
  --body: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: #f5f4f0; background: var(--paper); font-family: var(--body); font-size: 16px; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.site-header {
  position: absolute; inset: 0 0 auto; z-index: 20; height: 88px; padding: 0 4vw;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  color: #fff; border-bottom: 1px solid rgba(255,255,255,.24);
}
.logo { display: inline-flex; width: max-content; font: 700 1.5rem/1 var(--display); letter-spacing: -.04em; }
.logo span { background: #fff; color: var(--ink); padding: .33rem .42rem; transform: rotate(-2deg); }
.logo b { background: linear-gradient(110deg,var(--hot),var(--orange)); padding: .33rem .42rem; transform: rotate(2deg); }
.desktop-nav { display: flex; gap: 2.2rem; font-size: .83rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.desktop-nav a { opacity: .8; transition: opacity .2s; }
.desktop-nav a:hover { opacity: 1; }
.header-cta { justify-self: end; font-size: .82rem; font-weight: 800; text-transform: uppercase; padding: .9rem 1.1rem; border: 1px solid rgba(255,255,255,.5); }
.header-cta span { color: var(--acid); margin-left: .5rem; }
.menu-button { display: none; background: none; border: 0; padding: 12px; }
.menu-button span { display:block; width:25px; height:2px; margin:6px; background:#fff; }
.mobile-menu { display: none; }

.hero { position: relative; min-height: 850px; height: 100svh; color: #fff; background: var(--ink); isolation: isolate; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% center; z-index: -3; }
.hero-shade { position:absolute; inset:0; z-index:-2; background: linear-gradient(90deg,rgba(8,5,12,.98) 0%,rgba(8,5,12,.82) 36%,rgba(8,5,12,.18) 70%),linear-gradient(0deg,rgba(8,5,12,.72),transparent 55%); }
.hero-grid { position:absolute; inset:0; z-index:-1; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(90deg,#000,transparent 68%); }
.hero-copy { position:absolute; left:7vw; top:50%; transform:translateY(-47%); width:min(710px,52vw); }
.eyebrow { margin:0 0 1.3rem; display:flex; align-items:center; gap:.75rem; font-size:.76rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow span { display:block; width:32px; height:3px; background:linear-gradient(90deg,var(--hot),var(--orange)); }
.eyebrow.dark { color:#aaa6b0; }
.hero h1 { margin:0; font:700 clamp(6rem,12vw,11rem)/.75 var(--display); letter-spacing:-.075em; text-transform:uppercase; }
.hero h1 span,.hero h1 em { display:block; width:max-content; font-style:normal; }
.hero h1 span { color:#fff; }
.hero h1 em { margin-left:1.4ch; color:transparent; -webkit-text-stroke:2px #fff; position:relative; }
.hero h1 em::after { content:""; position:absolute; inset:8% -7% 0 -3%; z-index:-1; background:linear-gradient(100deg,var(--hot),var(--orange)); transform:rotate(-2deg); }
.hero-line { margin:2.2rem 0 0; font:600 clamp(1.1rem,2vw,1.45rem)/1 var(--display); letter-spacing:.08em; }
.hero-line i { color:var(--acid); font-style:normal; padding:0 .45rem; }
.hero-description { max-width:580px; color:rgba(255,255,255,.75); font-size:1.05rem; line-height:1.7; }
.hero-actions { display:flex; gap:.8rem; margin-top:1.9rem; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:1.5rem; min-height:54px; padding:0 1.45rem; font-size:.83rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; border:1px solid transparent; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-3px); }
.button.primary { color:#fff; background:linear-gradient(105deg,var(--hot),var(--orange)); }
.button.ghost { border-color:rgba(255,255,255,.5); color:#fff; }
.button.light { background:#fff; color:var(--ink); }
.ticket-stub { position:absolute; right:5vw; bottom:6vh; width:320px; background:var(--acid); color:var(--ink); transform:rotate(2deg); box-shadow:0 24px 70px rgba(0,0,0,.38); }
.ticket-top { display:flex; justify-content:space-between; padding:1rem 1.1rem; border-bottom:2px dashed var(--ink); font-size:.7rem; font-weight:900; text-transform:uppercase; }
.pulse::before { content:""; display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:var(--hot); }
.ticket-main { padding:1.5rem 1.25rem; }
.ticket-main p { margin:0 0 .65rem; font-size:.72rem; font-weight:800; letter-spacing:.15em; }
.ticket-main strong { display:block; font:700 2rem/1.05 var(--display); text-transform:uppercase; }
.ticket-main span { display:block; margin-top:1rem; font-size:.83rem; line-height:1.5; }
.ticket-stub > a { display:flex; justify-content:space-between; padding:1rem 1.25rem; color:#fff; background:var(--ink); font-size:.78rem; font-weight:900; text-transform:uppercase; }
.scroll-note { position:absolute; left:7vw; bottom:3vh; margin:0; color:rgba(255,255,255,.55); font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.scroll-note span { color:var(--acid); margin-left:.5rem; }

.ticker { overflow:hidden; color:#fff; background:linear-gradient(100deg,var(--hot),var(--orange)); transform:rotate(-1deg) scale(1.02); }
.ticker div { display:flex; width:max-content; padding:1.05rem 0; animation:ticker 24s linear infinite; }
.ticker span { font:700 1.3rem/1 var(--display); letter-spacing:.03em; white-space:nowrap; }
.ticker b { color:var(--acid); margin:0 2rem; }
@keyframes ticker { to { transform:translateX(-50%); } }

.section { padding:clamp(5rem,10vw,9rem) 7vw; }
.why { display:grid; grid-template-columns:.85fr 1.15fr; gap:7vw; color:#fff; background:var(--ink); }
.why-intro { align-self:center; }
.why-intro h2 { font-size:clamp(3.8rem,6.5vw,7.4rem); }
.why-intro h2 em { color:var(--acid); }
.why-intro > p:last-child { max-width:620px; margin:2rem 0 0; color:rgba(255,255,255,.64); font-size:1.05rem; line-height:1.75; }
.why-grid { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid rgba(255,255,255,.18); }
.why-card { min-height:260px; padding:2rem; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.why-card:nth-child(2n) { border-right:0; }
.why-card:nth-child(n+3) { border-bottom:0; }
.why-card:nth-child(3) { color:var(--ink); background:var(--acid); }
.why-card > span { color:var(--hot); font:700 .8rem/1 var(--display); }
.why-card strong { display:block; max-width:260px; margin:4rem 0 1rem; font:700 1.65rem/1 var(--display); }
.why-card p { margin:0; color:rgba(255,255,255,.58); font-size:.9rem; line-height:1.6; }
.why-card:nth-child(3) p { color:rgba(11,8,16,.7); }
.section-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:6vw; align-items:end; margin-bottom:4.5rem; }
.section-heading .eyebrow { grid-column:1/-1; margin-bottom:-1rem; }
h2 { margin:0; font:700 clamp(3.4rem,7vw,7rem)/.9 var(--display); letter-spacing:-.045em; text-transform:uppercase; }
h2 em { color:var(--hot); font-style:normal; }
.section-heading > p:last-child { max-width:510px; color:#b8b4bf; font-size:1.05rem; line-height:1.75; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); }
.step { min-height:390px; padding:2.2rem; border-right:1px solid var(--line); position:relative; background:#20212b; }
.step:last-child { border-right:0; }
.step-number { color:#7e747f; font:600 .8rem/1 var(--display); }
.step-icon { width:72px; height:72px; margin:4rem 0 3rem; display:grid; place-items:center; border:2px solid #f5f4f0; border-radius:50%; font-size:2rem; }
.step h3 { margin:0 0 .8rem; font:700 1.8rem/1 var(--display); text-transform:uppercase; }
.step p { color:#b8b4bf; line-height:1.65; }
.accent-card { color:#fff; background:var(--ink); overflow:hidden; }
.accent-card::after { content:""; position:absolute; width:220px; height:220px; right:-80px; top:-70px; border-radius:50%; background:linear-gradient(135deg,var(--hot),var(--orange)); filter:blur(2px); }
.accent-card .step-number,.accent-card p { color:rgba(255,255,255,.66); }
.accent-card .step-icon { border-color:var(--acid); color:var(--acid); }
.finale-card { color:var(--ink); background:var(--acid); }
.finale-card .step-icon { color:var(--hot); border-color:var(--hot); }
.finale-card p { color:rgba(11,8,16,.72); }

.manifesto { display:grid; grid-template-columns:1.05fr .95fr; min-height:760px; padding:0; background:var(--ink); color:#fff; }
.manifesto-photo { min-height:680px; position:relative; overflow:hidden; }
.manifesto-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.05); }
.manifesto-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(11,8,16,.85),transparent 60%); }
.manifesto-photo > span { position:absolute; z-index:2; left:4vw; bottom:4vw; font:700 clamp(2.6rem,4.5vw,5rem)/.92 var(--display); letter-spacing:-.04em; }
.manifesto-photo b { color:var(--acid); }
.manifesto-copy { padding:8vw 7vw 6vw; align-self:center; }
.manifesto-copy > p:not(.eyebrow) { color:rgba(255,255,255,.66); line-height:1.75; font-size:1.05rem; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:4rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,.2); }
.stats strong { display:block; color:var(--acid); font:700 2.3rem/1 var(--display); }
.stats span { display:block; margin-top:.6rem; color:rgba(255,255,255,.55); font-size:.7rem; text-transform:uppercase; line-height:1.4; }

.audience { color:var(--ink); background:var(--acid); }
.audience .eyebrow.dark { color:#5e5763; }
.big-list { margin-top:3rem; border-top:2px solid var(--ink); }
.big-list > div { display:grid; grid-template-columns:70px 1fr; align-items:center; padding:2rem 0; border-bottom:1px solid rgba(11,8,16,.35); }
.big-list span { font:600 .9rem/1 var(--display); }
.big-list p { min-width:0; margin:0; font:600 clamp(2.2rem,5vw,5.8rem)/1 var(--display); letter-spacing:-.04em; overflow-wrap:anywhere; text-transform:uppercase; }
.big-list em { color:transparent; font-style:normal; -webkit-text-stroke:1.5px var(--ink); }

.private { display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; align-items:center; color:#fff; background:linear-gradient(135deg,#291127 0%,#0b0810 60%); }
.private-copy > p:not(.eyebrow) { max-width:650px; color:rgba(255,255,255,.67); line-height:1.8; margin:2rem 0; }
.private-badge { aspect-ratio:1; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:3vw; border:1px solid rgba(255,255,255,.24); border-radius:50%; transform:rotate(-7deg); }
.private-badge div { font:700 clamp(2.5rem,4vw,5rem)/.85 var(--display); }
.private-badge div:last-child { color:var(--hot); }
.private-badge > span { color:var(--acid); font-size:2rem; }

.faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; background:#15161d; }
.faq .section-heading { display:block; margin:0; }
.faq-list { border-top:1px solid var(--line); }
details { border-bottom:1px solid var(--line); }
summary { display:flex; justify-content:space-between; gap:1rem; padding:1.5rem 0; cursor:pointer; font-weight:800; list-style:none; }
summary::-webkit-details-marker { display:none; }
summary span { color:var(--hot); font-size:1.4rem; transition:transform .2s; }
details[open] summary span { transform:rotate(45deg); }
details p { margin:0; padding:0 3rem 1.5rem 0; color:#b8b4bf; line-height:1.7; }

.final-cta { padding:8vw 7vw; color:#fff; background:linear-gradient(110deg,var(--hot),var(--orange)); position:relative; overflow:hidden; }
.final-cta::after { content:"♪"; position:absolute; right:4vw; top:-5vw; color:rgba(255,255,255,.12); font:700 28vw/1 var(--display); transform:rotate(12deg); }
.final-cta > p { font-size:.75rem; font-weight:900; letter-spacing:.15em; }
.final-cta h2 { position:relative; z-index:1; font-size:clamp(4rem,10vw,10rem); }
.final-cta h2 em { color:transparent; -webkit-text-stroke:2px #fff; }
.final-cta > div { position:relative; z-index:2; display:flex; align-items:center; gap:2rem; margin-top:3rem; }
.social-link { font-size:.8rem; font-weight:900; text-transform:uppercase; border-bottom:1px solid #fff; padding-bottom:.35rem; }

footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; padding:2.3rem 4vw; color:#fff; background:var(--ink); font-size:.75rem; }
footer p { color:rgba(255,255,255,.5); text-align:center; }
footer > div { display:flex; justify-content:flex-end; gap:1rem; color:rgba(255,255,255,.7); }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 900px) {
  .site-header { grid-template-columns:1fr auto; height:72px; padding:0 1.25rem; }
  .desktop-nav,.header-cta { display:none; }
  .menu-button { display:block; justify-self:end; }
  .mobile-menu { position:fixed; inset:0; z-index:18; padding:110px 2rem 2rem; display:flex; flex-direction:column; gap:1.5rem; color:#fff; background:rgba(11,8,16,.98); transform:translateY(-105%); transition:transform .35s; }
  .mobile-menu.open { transform:none; }
  .mobile-menu a { font:700 2.5rem/1 var(--display); text-transform:uppercase; }
  .hero { min-height:790px; height:auto; }
  .hero-image { object-position:68% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(8,5,12,.97) 10%,rgba(8,5,12,.55) 65%,rgba(8,5,12,.35)); }
  .hero-copy { position:relative; left:auto; top:auto; transform:none; width:auto; padding:155px 1.25rem 260px; }
  .hero h1 { font-size:clamp(5rem,25vw,8rem); }
  .hero h1 em { margin-left:.45ch; }
  .hero-description { font-size:.97rem; }
  .hero-actions { flex-direction:column; align-items:stretch; max-width:420px; }
  .ticket-stub { right:1.25rem; bottom:38px; width:calc(100% - 2.5rem); transform:rotate(1deg); }
  .scroll-note { display:none; }
  .section { padding:5rem 1.25rem; }
  .why { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; }
  .why-card,.why-card:nth-child(2n),.why-card:nth-child(n+3) { min-height:220px; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .why-card:last-child { border-bottom:0; }
  .section-heading { grid-template-columns:1fr; gap:1rem; margin-bottom:2.5rem; }
  .section-heading .eyebrow { margin-bottom:.5rem; }
  .steps { grid-template-columns:1fr; }
  .step { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
  .step-icon { margin:2.5rem 0 2rem; }
  .manifesto { grid-template-columns:1fr; }
  .manifesto-photo { min-height:520px; }
  .manifesto-copy { padding:5rem 1.25rem; }
  .stats { gap:.5rem; }
  .stats strong { font-size:1.8rem; }
  .big-list > div { grid-template-columns:38px 1fr; gap:.5rem; }
  .big-list p { font-size:clamp(2rem,10vw,3.7rem); }
  .private { grid-template-columns:1fr; }
  .private-badge { max-width:440px; justify-self:center; }
  .faq { grid-template-columns:1fr; gap:3rem; }
  .final-cta { padding:6rem 1.25rem; }
  .final-cta > div { flex-direction:column; align-items:flex-start; }
  footer { grid-template-columns:1fr; justify-items:start; padding:2.5rem 1.25rem; }
  footer p { text-align:left; }
  footer > div { flex-direction:column; justify-content:flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .ticker div { animation:none; }
  .reveal { opacity:1; transform:none; transition:none; }
}
