:root { --black:#090909; --acid:#dfff00; --pink:#ff36cc; --violet:#5338ff; --white:#f7f5ed; --orange:#ff5a24; --line:3px solid var(--black); --display:Impact,"Arial Black","Yu Gothic",sans-serif; --sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; background:var(--black); color:var(--white); font-family:var(--sans); line-height:1.4; }
a { color:inherit; }
a:focus-visible,button:focus-visible { outline:4px solid var(--acid); outline-offset:4px; box-shadow:0 0 0 7px var(--black); }
.festival-header { position:fixed; z-index:60; top:0; left:0; display:grid; grid-template-columns:auto auto 1fr auto; gap:40px; align-items:center; width:100%; min-height:78px; padding:0 clamp(16px,3vw,46px); border-bottom:var(--line); background:var(--acid); color:var(--black); }
.festival-logo { display:flex; flex-direction:column; font:900 1.25rem/.68 var(--display); letter-spacing:-.04em; text-decoration:none; transform:skew(-8deg); }.festival-logo span { color:var(--pink); -webkit-text-stroke:1px var(--black); }
.festival-header>p { margin:0; font:900 .52rem/1.35 var(--sans); letter-spacing:.05em; }.festival-nav { display:flex; gap:clamp(14px,2.4vw,36px); justify-content:center; }.festival-nav a { font:900 .59rem var(--sans); text-decoration:none; text-transform:uppercase; }.festival-nav a:hover { background:var(--black); color:var(--acid); }.ticket-chip { padding:10px 16px; border:2px solid var(--black); background:var(--pink); box-shadow:4px 4px 0 var(--black); font:900 .65rem var(--sans); text-decoration:none; }.menu-toggle { display:none; border:2px solid; background:transparent; color:inherit; font:900 .6rem var(--sans); cursor:pointer; }
.hero { position:relative; min-height:100svh; overflow:hidden; padding-top:78px; background:var(--violet); isolation:isolate; }.hero-photo { position:absolute; z-index:-2; inset:78px 0 0; background:linear-gradient(145deg,var(--pink),var(--violet) 50%,var(--black)); }.hero-photo::after { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.83),rgba(0,0,0,.05) 55%),linear-gradient(90deg,rgba(83,56,255,.62),rgba(255,54,204,.2)); mix-blend-mode:multiply; content:""; }.hero-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(1.25) contrast(1.1); animation:heroJolt 9s steps(4,end) infinite; }.image-fallback.is-missing img,img.is-missing { visibility:hidden; }
.hero-noise { position:absolute; z-index:-1; inset:0; opacity:.24; background-image:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.18) 5px); pointer-events:none; }
.hero-content { display:flex; flex-direction:column; min-height:calc(100svh - 78px); padding:24px clamp(16px,3.5vw,55px) 35px; }.concept-label,.section-label { margin:0; font:900 .61rem var(--sans); letter-spacing:.1em; text-transform:uppercase; }.concept-label { align-self:flex-start; padding:7px 10px; border:2px solid; background:var(--black); color:var(--acid); }
.hero-date { display:flex; gap:16px; align-items:end; align-self:flex-end; margin-top:2vh; color:var(--acid); transform:rotate(2deg); }.hero-date span { padding:7px; border:2px solid; font:900 .55rem var(--sans); }.hero-date strong { font:900 clamp(3rem,6vw,6rem)/.8 var(--display); }.hero-date em { font:900 .7rem var(--sans); font-style:normal; }
.hero h1 { margin:auto 0 1vh; font:900 clamp(6rem,15vw,16rem)/.64 var(--display); letter-spacing:-.085em; text-transform:uppercase; transform:skew(-5deg); }.hero h1 span { display:block; }.hero h1 span:first-child { color:var(--white); text-shadow:8px 8px 0 var(--violet); }.hero h1 span:last-child { margin-left:15vw; color:var(--pink); -webkit-text-stroke:3px var(--black); text-shadow:10px 10px 0 var(--acid); }
.hero-offer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:11px 24px; align-items:end; padding:12px 14px; border:2px solid var(--acid); background:rgba(9,9,9,.88); box-shadow:7px 7px 0 rgba(255,54,204,.72); }
.offer-intro>p { margin:0; }.offer-intro>p:first-child { color:var(--acid); font:900 clamp(1rem,1.8vw,1.8rem) var(--display); letter-spacing:.02em; }.offer-intro>p:last-child { margin-top:4px; color:#ddd; font-size:.52rem; font-weight:800; letter-spacing:.05em; }
.neon-offer-benefits { display:flex; grid-column:1; gap:7px; margin:0; padding:0; list-style:none; }.neon-offer-benefits li { padding:5px 7px; border:1px solid #777; background:#171717; color:#fff; font:900 .48rem var(--sans); }
.offer-buy { grid-row:1/3; grid-column:2; min-width:285px; }.offer-buy>p { display:flex; justify-content:space-between; gap:14px; margin:0 0 10px; font-size:.5rem; font-weight:900; }.offer-buy>p span { display:flex; flex-direction:column; }.offer-buy strong { color:var(--acid); font:900 1rem var(--display); }.offer-buy .slam-button { width:100%; }
.slam-button { display:inline-flex; gap:35px; justify-content:space-between; min-width:190px; padding:16px 19px; border:2px solid var(--black); background:var(--acid); color:var(--black); box-shadow:7px 7px 0 var(--pink); font:900 .7rem var(--sans); text-decoration:none; text-transform:uppercase; transition:transform 120ms ease,box-shadow 120ms ease; }.slam-button:hover { transform:translate(5px,5px); box-shadow:2px 2px 0 var(--pink); }
.edge-copy { position:absolute; right:16px; top:22%; padding:5px; background:var(--black); color:var(--acid); font:900 .5rem var(--sans); letter-spacing:.1em; writing-mode:vertical-rl; }
.rush-bar { overflow:hidden; border-block:var(--line); background:var(--pink); color:var(--black); }.rush-bar div { display:flex; gap:34px; width:max-content; padding:15px 0; animation:rush 14s linear infinite; }.rush-bar b { font:900 1rem var(--display); letter-spacing:.02em; }.rush-bar i { font-style:normal; }
[data-reveal] { opacity:0; transform:translateY(40px) skewY(2deg); transition:opacity 500ms ease,transform 500ms cubic-bezier(.2,.8,.2,1); }[data-reveal][data-visible] { opacity:1; transform:none; }
.lineup { padding:clamp(90px,11vw,160px) clamp(16px,4vw,64px); background:var(--acid); color:var(--black); }.lineup>header { display:grid; grid-template-columns:.3fr 1fr .4fr; gap:4vw; align-items:start; }.lineup h2,.schedule h2,.stages h2,.passes h2 { margin:0; font:900 clamp(4rem,10vw,11rem)/.78 var(--display); letter-spacing:-.06em; }.lineup h2 span { color:var(--pink); -webkit-text-stroke:2px var(--black); }.lineup header>p:last-child { font-size:.72rem; font-weight:800; }
.headliner-feature { display:grid; grid-template-columns:1.1fr .9fr; gap:2px; margin:70px 0 0; background:var(--black); }.headliner-photo { position:relative; margin:0; aspect-ratio:1200/670; overflow:hidden; }.headliner-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(1.2) contrast(1.08); }.headliner-photo figcaption { position:absolute; left:0; right:0; bottom:0; padding:12px 16px; background:linear-gradient(180deg,transparent,rgba(9,9,9,.86)); color:var(--acid); font:900 .55rem var(--sans); letter-spacing:.03em; }.headliner-copy { display:flex; align-items:center; padding:clamp(20px,3vw,40px); background:var(--black); color:var(--white); }.headliner-copy p { margin:0; font-size:.78rem; font-weight:700; line-height:1.8; }
.headliner-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin:2px 0 60px; background:var(--black); }.headliner-grid article { padding:22px 20px; background:var(--white); color:var(--black); }.headliner-thumb { position:relative; margin:0 0 16px; aspect-ratio:1200/670; overflow:hidden; background:linear-gradient(145deg,var(--pink),var(--violet)); }.headliner-thumb img { width:100%; height:100%; object-fit:cover; filter:saturate(1.15) contrast(1.08) grayscale(.15); }.headliner-grid span { font:900 .55rem var(--sans); color:var(--pink); }.headliner-grid h3 { margin:14px 0 12px; font:900 1.5rem/.95 var(--display); letter-spacing:-.02em; }.headliner-grid p { margin:0; font-size:.63rem; font-weight:700; line-height:1.7; }
.artist-wall { margin:90px 0 50px; border-top:var(--line); }.artist-wall p { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:baseline; margin:0; padding:10px 0; border-bottom:var(--line); }.artist-wall strong { font:900 clamp(2.5rem,7vw,7.6rem)/.85 var(--display); letter-spacing:-.045em; transition:padding 160ms ease,color 160ms ease; }.artist-wall p:hover strong { padding-left:2vw; color:var(--pink); }.artist-wall span { font:900 .55rem var(--sans); }
.brutal-link { display:flex; justify-content:space-between; align-items:center; padding:19px; border:var(--line); background:transparent; font:900 .7rem var(--sans); text-decoration:none; }.brutal-link:hover { background:var(--black); color:var(--acid); }
.schedule { padding:clamp(90px,11vw,160px) clamp(16px,4vw,64px); background:var(--white); color:var(--black); }.schedule>header { display:flex; justify-content:space-between; align-items:start; }.schedule h2 { text-align:right; }.day-tabs { display:grid; grid-template-columns:repeat(3,1fr); margin-top:32px; border-top:var(--line); border-left:var(--line); }.day-tabs a { padding:18px; border-right:var(--line); border-bottom:var(--line); background:#cfcfc8; color:var(--black); font:900 1.2rem var(--display); text-align:center; text-decoration:none; }.day-tabs a:hover,.day-tabs a:focus-visible { background:var(--pink); }
.schedule-lead { max-width:640px; margin:22px 0 0; font-size:.68rem; font-weight:700; }
.day-block { margin-top:50px; }.day-block-head { display:flex; gap:16px; align-items:baseline; margin-bottom:10px; }.day-block-head h3 { margin:0; font:900 1.7rem var(--display); }.day-block-head p { margin:0; color:#555; font-size:.6rem; font-weight:700; }.day-block .schedule-grid { margin-top:16px; }
.set-acid { background:var(--acid); color:var(--black); }.set-pink { background:var(--pink); color:var(--black); }.set-violet { background:var(--violet); color:#fff; }.set-orange { background:var(--orange); color:var(--black); }
.schedule-grid { position:relative; margin-top:35px; padding-top:35px; border:var(--line); background-image:repeating-linear-gradient(90deg,transparent 0 calc(16.666% - 1px),rgba(0,0,0,.16) calc(16.666% - 1px) 16.666%); }.time-axis { position:absolute; top:8px; left:115px; right:0; display:grid; grid-template-columns:repeat(6,1fr); }.time-axis span { font:900 .48rem var(--sans); }.stage-row { position:relative; display:grid; grid-template-columns:115px repeat(6,1fr); min-height:135px; border-top:2px solid var(--black); }.stage-row h3 { grid-row:1; grid-column:1; margin:0; padding:16px 10px; border-right:2px solid; font:900 1.05rem/.9 var(--display); }.set { align-self:center; min-width:0; padding:15px 10px; border:2px solid var(--black); box-shadow:4px 4px 0 var(--black); }.set b,.set span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.set b { font:900 .75rem var(--sans); }.set span { font-size:.43rem; }.set--a { grid-column:2/4; background:var(--acid); }.set--b { grid-column:4/6; background:var(--pink); }.set--c { grid-column:6/8; background:var(--violet); color:#fff; }.set--d { grid-column:3/5; background:var(--orange); }.set--e { grid-column:5/7; background:var(--acid); }.set--f { grid-column:3/5; background:var(--violet); color:#fff; }.set--g { grid-column:6/8; background:var(--pink); }.schedule-note { font-size:.48rem; font-weight:700; }
.stages { padding:clamp(90px,11vw,160px) clamp(16px,4vw,64px); background:var(--violet); }.stages-title { display:flex; justify-content:space-between; gap:40px; align-items:start; }.stages h2 { text-align:right; }.stages-lead { max-width:280px; margin:0; color:#e4e1ff; font-size:.68rem; font-weight:700; }
.stage-photo { position:relative; margin:60px 0 0; aspect-ratio:1200/670; overflow:hidden; border:var(--line); }.stage-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(1.15) contrast(1.05); }.stage-photo figcaption { position:absolute; left:0; right:0; bottom:0; padding:12px 16px; background:linear-gradient(180deg,transparent,rgba(9,9,9,.82)); color:var(--acid); font:900 .55rem var(--sans); letter-spacing:.03em; }
.stage-cards { display:grid; grid-template-columns:repeat(2,1fr); margin-top:80px; border-top:var(--line); border-left:var(--line); }.stage-card { position:relative; min-height:600px; overflow:hidden; padding:24px; border-right:var(--line); border-bottom:var(--line); color:var(--black); }.stage-card>span { font:900 .6rem var(--sans); }.stage-card-photo { position:relative; z-index:1; width:100%; margin:18px 0 42px; aspect-ratio:1200/670; overflow:hidden; border:3px solid var(--black); background:linear-gradient(145deg,var(--violet),var(--black)); }.stage-card-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(1.1) contrast(1.05); }.stage-card h3 { margin:22px 0 0; font:900 clamp(5rem,12vw,13rem)/.75 var(--display); letter-spacing:-.08em; }.stage-card>p { margin:18px 0 0; font-size:.66rem; font-weight:900; }.stage-card>small { position:absolute; right:20px; bottom:18px; font:900 .5rem var(--sans); }.stage-card-orbit { position:absolute; left:22px; bottom:14px; width:46px; aspect-ratio:1; }.stage-card i { position:absolute; inset:0; border:3px solid var(--black); border-radius:50%; }.stage-card i:nth-child(2) { inset:17%; }.stage-card i:nth-child(3) { inset:36%; background:var(--black); }.stage-card--wave { background:var(--acid); }.stage-card--acid { background:var(--pink); }.stage-card--zero { background:var(--orange); }.stage-card--dawn { background:var(--white); }.stage-card--acid .stage-card-orbit { transform:skew(25deg); }.stage-card--zero i { border-radius:0; transform:rotate(45deg); }.stage-card--dawn i { border-style:dashed; }
.spec-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:50px; background:rgba(0,0,0,.3); }.spec-strip div { padding:22px 18px; background:var(--violet); }.spec-strip b { display:block; font:900 1.6rem var(--display); color:var(--white); }.spec-strip span { display:block; margin-top:8px; font-size:.55rem; font-weight:700; color:#e4e1ff; }
.field-guide { display:grid; grid-template-columns:1.05fr .95fr; min-height:100svh; background:var(--pink); color:var(--black); }.guide-poster { position:sticky; top:78px; align-self:start; z-index:1; overflow:hidden; height:min(72vh,680px); min-height:420px; border-right:var(--line); background:var(--acid); }.guide-poster img { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(1.15) contrast(1.05) brightness(.82); }.guide-poster::after { position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(9,9,9,.12),rgba(9,9,9,.68)); content:""; pointer-events:none; }.guide-poster>b { position:absolute; z-index:2; right:5%; top:4%; color:var(--white); font:900 11rem/.8 var(--display); }.map-line { position:absolute; z-index:2; height:8px; background:var(--acid); transform-origin:left; }.map-line::after { position:absolute; right:-15px; top:-11px; width:30px; aspect-ratio:1; border-radius:50%; background:var(--pink); border:3px solid; content:""; }.map-line--one { top:38%; left:-10%; width:130%; transform:rotate(24deg); }.map-line--two { top:72%; left:8%; width:100%; transform:rotate(-35deg); }.guide-poster>i { position:absolute; z-index:2; display:grid; place-items:center; width:65px; aspect-ratio:1; border:var(--line); border-radius:50%; background:var(--violet); color:#fff; font:900 2rem var(--display); font-style:normal; }.guide-poster>i:nth-of-type(1) { top:26%; left:19%; }.guide-poster>i:nth-of-type(2) { top:53%; right:16%; background:var(--orange); color:#000; }.guide-poster>i:nth-of-type(3) { bottom:14%; left:30%; background:var(--pink); color:#000; }.guide-poster>i:nth-of-type(4) { top:15%; right:28%; background:var(--white); color:#000; }.guide-poster>small { position:absolute; z-index:2; bottom:20px; left:20px; max-width:78%; padding:6px 8px; background:rgba(9,9,9,.55); color:var(--white); font:900 .5rem var(--sans); }.guide-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(70px,8vw,120px); }.guide-copy h2 { margin:35px 0 22px; font:900 clamp(4rem,8vw,8rem)/.83 var(--display); letter-spacing:-.07em; }.guide-lead { max-width:520px; margin:0 0 40px; font-size:.7rem; font-weight:700; }.guide-copy>div article { display:grid; grid-template-columns:140px 1fr; gap:25px; padding:17px 0; border-top:var(--line); }.guide-copy article span { font:900 .53rem var(--sans); }.guide-copy article p { margin:0; font-size:.65rem; font-weight:700; }.guide-copy .brutal-link { margin-top:45px; }
.packing-lists { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin:45px 0; background:var(--black); }.packing-col { padding:22px; background:var(--white); }.packing-col--ban { background:var(--orange); }.packing-col h3 { margin:0; font:900 1rem var(--display); }.packing-col h3 span { display:block; margin-top:4px; font:800 .5rem var(--sans); color:#555; }.packing-col--ban h3 span { color:rgba(0,0,0,.6); }.packing-col ul { margin:16px 0 0; padding:0; list-style:none; }.packing-col li { position:relative; padding:8px 0 8px 22px; border-top:1px solid rgba(0,0,0,.15); font-size:.62rem; font-weight:700; }.packing-col li::before { position:absolute; left:0; color:var(--violet); content:"✓"; font-weight:900; }.packing-col--ban li::before { color:var(--black); content:"✕"; }
.passes { padding:clamp(90px,11vw,160px) clamp(16px,4vw,64px); background:var(--black); }.passes>header { display:grid; grid-template-columns:.25fr 1fr .35fr; gap:4vw; align-items:start; }.passes h2 span { color:var(--acid); }.passes header>div>p { margin:0; }.passes header>div>p:first-child { color:#aaa; font-size:.62rem; }.passes header>div>p.sale-period { margin-top:10px; color:var(--acid); font-size:.58rem; font-weight:800; }.pass-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:80px; border-top:3px solid var(--white); border-left:3px solid var(--white); }.pass-grid article { position:relative; min-height:560px; padding:25px; border-right:3px solid var(--white); border-bottom:3px solid var(--white); }.pass-grid article>p { font:900 .56rem var(--sans); }.pass-grid article>p b { float:right; padding:4px; background:var(--pink); color:#000; }.pass-grid h3 { margin:70px 0 10px; font:900 clamp(2rem,4vw,4.5rem)/.85 var(--display); }.pass-grid strong { color:var(--acid); font:900 2rem var(--display); }.pass-grid ul { margin:55px 0; padding:0; list-style:none; }.pass-grid li { padding:8px 0; border-bottom:1px solid #555; color:#bbb; font-size:.58rem; }.pass-grid article>a { position:absolute; right:25px; bottom:25px; left:25px; display:flex; justify-content:space-between; padding:16px; border:2px solid #fff; font:900 .65rem var(--sans); text-decoration:none; }.pass-grid article>a:hover { background:#fff; color:#000; }.pass-grid .featured { background:var(--violet); }.pass-grid .featured>a { background:var(--acid); color:#000; }.passes>small { display:block; margin-top:15px; color:#777; font-size:.48rem; }
.why { padding:clamp(90px,11vw,160px) clamp(16px,4vw,64px); background:var(--orange); color:var(--black); }.why>header { max-width:900px; }.why h2 { margin:0; font:900 clamp(3rem,7vw,7rem)/.85 var(--display); letter-spacing:-.055em; }.why h2 span { color:var(--white); -webkit-text-stroke:2px var(--black); }.why-lead { max-width:560px; margin:22px 0 0; font-size:.72rem; font-weight:700; }
.pain-list { display:grid; gap:0; margin:46px 0; padding:0; list-style:none; border-top:var(--line); max-width:760px; }.pain-list li { display:grid; grid-template-columns:36px 1fr; gap:16px; align-items:center; padding:15px 0; border-bottom:var(--line); }.pain-list b { font:900 1.3rem var(--display); }.pain-list p { margin:0; font-size:.72rem; font-weight:800; }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--black); }.why-grid article { padding:22px; background:var(--orange); }.why-grid span { font:900 .55rem var(--sans); }.why-grid h3 { margin:28px 0 12px; font:900 1.45rem/.95 var(--display); letter-spacing:-.03em; }.why-grid p { margin:0; font-size:.6rem; font-weight:700; }

.results { padding:clamp(90px,11vw,160px) clamp(16px,4vw,64px); background:var(--black); color:var(--white); }.results header { max-width:900px; }.results h2 { margin:0; font:900 clamp(3rem,7vw,7rem)/.85 var(--display); letter-spacing:-.055em; }.results header>p:last-child { margin-top:16px; color:#aaa; font-size:.66rem; font-weight:700; }
.results-feature { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,60px); align-items:center; margin-top:55px; }.results-photo { position:relative; margin:0; aspect-ratio:1200/670; overflow:hidden; }.results-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(1.2) contrast(1.1); }.results-photo figcaption { position:absolute; left:0; right:0; bottom:0; padding:10px 14px; background:linear-gradient(180deg,transparent,rgba(9,9,9,.8)); color:var(--acid); font:900 .52rem var(--sans); }.results-note { margin:0; color:#ddd; font-size:.72rem; font-weight:700; line-height:1.85; }
.stat-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:65px; background:#292929; }.stat-strip div { padding:26px 20px; background:var(--black); }.stat-strip b { display:block; color:var(--acid); font:900 clamp(2rem,4vw,3.2rem)/1 var(--display); }.stat-strip span { display:block; margin-top:10px; font-size:.56rem; font-weight:700; color:#bbb; }
.press-quotes { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin:40px 0 0; padding:0; background:#292929; list-style:none; }.press-quotes li { padding:24px 20px; background:var(--black); }.press-quotes p { margin:0 0 14px; color:var(--white); font:900 .85rem/1.5 var(--display); }.press-quotes cite { display:block; color:#888; font:800 .5rem var(--sans); font-style:normal; }

.voices { padding:clamp(90px,11vw,160px) clamp(16px,4vw,64px); background:var(--white); color:var(--black); }.voices h2 { margin:0; font:900 clamp(3rem,7vw,7rem)/.85 var(--display); letter-spacing:-.055em; }
.voice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:65px; background:var(--black); }.voice-grid article { padding:26px 22px; background:var(--white); }.voice-grid b { display:block; color:var(--pink); font:900 2.6rem/.6 var(--display); }.voice-grid p { margin:18px 0 24px; font-size:.7rem; font-weight:700; }.voice-grid cite { display:block; font:800 .55rem var(--sans); font-style:normal; color:#555; }

.flow { padding:clamp(90px,11vw,160px) clamp(16px,4vw,64px); background:var(--acid); color:var(--black); }.flow h2 { margin:0; font:900 clamp(3rem,7vw,7rem)/.85 var(--display); letter-spacing:-.055em; }
.flow-list { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:65px 0 0; padding:0; list-style:none; border-top:var(--line); border-left:var(--line); }.flow-list li { display:flex; flex-direction:column; gap:12px; padding:22px; border-right:var(--line); border-bottom:var(--line); }.flow-list b { font:900 1.9rem var(--display); }.flow-list h3 { margin:0; font-size:.95rem; }.flow-list p { margin:0; font-size:.6rem; font-weight:700; }

.faq { padding:clamp(90px,11vw,160px) clamp(16px,4vw,64px); background:var(--white); color:var(--black); }.faq h2 { margin:0; font:900 clamp(3rem,7vw,7rem)/.85 var(--display); letter-spacing:-.055em; }
.faq-list { display:grid; gap:0; margin:65px 0 0; padding:0; border-top:var(--line); }.faq-list>div { display:grid; grid-template-columns:.42fr 1fr; gap:22px; padding:20px 0; border-bottom:var(--line); }.faq-list dt { margin:0; font:900 .76rem var(--sans); }.faq-list dd { margin:0; color:#333; font-size:.66rem; font-weight:600; }

.finale { position:relative; min-height:100svh; overflow:hidden; }.finale-photo { position:absolute; inset:0; background:linear-gradient(145deg,var(--violet),var(--pink)); }.finale-photo::after { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.85),transparent 60%),rgba(83,56,255,.27); content:""; }.finale-photo img { width:100%; height:100%; object-fit:cover; filter:saturate(1.4) contrast(1.15); }.finale-copy { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; min-height:100svh; padding:8vh clamp(18px,4vw,65px); }.finale h2 { margin:30px 0 50px; font:900 clamp(5rem,15vw,16rem)/.7 var(--display); letter-spacing:-.08em; }.finale h2 em { color:var(--pink); font-style:normal; -webkit-text-stroke:2px var(--black); }.finale .slam-button { align-self:flex-start; }.demo-feedback { max-width:650px; margin:24px 0 0; padding:13px; border:2px solid var(--acid); background:var(--black); color:var(--acid); font-size:.62rem; }
.organizer-dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 24px; max-width:640px; margin:24px 0 32px; padding:18px 0; border-top:1px solid rgba(255,255,255,.35); border-bottom:1px solid rgba(255,255,255,.35); }.organizer-dl div { display:flex; gap:10px; }.organizer-dl dt { margin:0; min-width:64px; color:var(--acid); font:900 .55rem var(--sans); }.organizer-dl dd { margin:0; font-size:.62rem; font-weight:700; }
.disclaimer { max-width:650px; margin:16px 0 0; color:#ccc; font-size:.5rem; font-weight:700; }
.festival-footer { display:grid; grid-template-columns:auto 1fr 1fr auto; gap:35px; align-items:center; padding:30px clamp(16px,3vw,46px); border-top:var(--line); background:var(--acid); color:var(--black); }.festival-footer p,.festival-footer>a:last-child { margin:0; font:900 .5rem var(--sans); }
@keyframes heroJolt { 0%,100% { transform:scale(1.04) translate(0); } 47% { transform:scale(1.04) translate(0); } 48% { transform:scale(1.06) translate(-1%,1%); } 50% { transform:scale(1.04) translate(0); } }@keyframes rush { to { transform:translateX(-50%); } }
@media (max-width:900px) {
  .festival-header { grid-template-columns:auto 1fr auto; }.festival-header>p,.ticket-chip { display:none; }.menu-toggle { display:block; justify-self:end; padding:8px; }.festival-nav { position:fixed; inset:78px 0 auto; display:flex; flex-direction:column; gap:0; overflow:hidden; padding:18px; border-bottom:var(--line); background:var(--acid); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-145%); transition:transform 300ms ease,opacity 200ms ease,visibility 0s linear 300ms; }.festival-nav[data-open] { opacity:1; visibility:visible; pointer-events:auto; transform:none; transition-delay:0s; }.festival-nav a { padding:13px; border-bottom:2px solid; font-size:1rem; }
  .hero h1 { font-size:17vw; }.lineup>header,.passes>header { grid-template-columns:1fr; }.lineup h2,.passes h2 { margin:35px 0; }.stage-cards { grid-template-columns:1fr; }.field-guide { grid-template-columns:1fr; }.guide-poster { position:relative; top:auto; height:70svh; min-height:420px; border-right:0; border-bottom:var(--line); }.pass-grid { grid-template-columns:1fr; }.festival-footer { grid-template-columns:auto 1fr; }
  .why-grid { grid-template-columns:repeat(2,1fr); }.spec-strip { grid-template-columns:repeat(2,1fr); }.stat-strip { grid-template-columns:repeat(2,1fr); }.voice-grid { grid-template-columns:1fr; }.flow-list { grid-template-columns:repeat(2,1fr); }.day-tabs { grid-template-columns:1fr; }
  .headliner-feature { grid-template-columns:1fr; }.headliner-grid { grid-template-columns:repeat(2,1fr); }.results-feature { grid-template-columns:1fr; }.press-quotes { grid-template-columns:1fr; }.packing-lists { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .festival-header { min-height:66px; }.festival-nav { inset:66px 0 auto; }.hero { padding-top:66px; }.hero-photo { inset:66px 0 0; }.hero-content { min-height:calc(100svh - 66px); padding:14px 14px 18px; }.hero-date { align-self:flex-start; margin-top:2vh; }.hero-date strong { font-size:3.25rem; }.hero h1 { margin:2vh 0 auto; font-size:22vw; }.hero h1 span:last-child { margin-left:4vw; }.hero-offer { grid-template-columns:1fr; gap:8px; padding:10px; }.offer-intro>p:first-child { font-size:1.05rem; }.offer-intro>p:last-child { font-size:.45rem; }.neon-offer-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }.neon-offer-benefits li { padding:4px; font-size:.42rem; text-align:center; }.offer-buy { grid-row:auto; grid-column:1; min-width:0; }.offer-buy>p { margin-bottom:7px; }.offer-buy .slam-button { padding:12px 14px; }.edge-copy { display:none; }
  .lineup,.schedule,.stages,.passes { padding-inline:14px; }.lineup h2,.schedule h2,.stages h2,.passes h2 { font-size:4rem; }.artist-wall strong { font-size:2.6rem; }.schedule>header,.stages-title { display:block; }.schedule h2,.stages h2 { margin-top:35px; text-align:left; }.schedule-grid { overflow-x:auto; }.schedule-grid>* { min-width:720px; }.time-axis { min-width:605px; }.stage-card { min-height:460px; }.stage-card h3 { font-size:5.3rem; }.guide-poster { min-height:580px; }.guide-copy { padding:80px 18px; }.guide-copy>div article { grid-template-columns:105px 1fr; }.pass-grid article { min-height:520px; }.finale h2 { font-size:5rem; }.festival-footer { grid-template-columns:1fr; }
  .why,.results,.voices,.flow,.faq { padding-inline:14px; }.why h2,.results h2,.voices h2,.flow h2,.faq h2 { font-size:2.9rem; }.why-grid,.spec-strip,.stat-strip,.flow-list { grid-template-columns:1fr; }.pain-list li { grid-template-columns:26px 1fr; }.faq-list>div { grid-template-columns:1fr; gap:8px; }.day-block-head { flex-direction:column; align-items:flex-start; gap:2px; }.organizer-dl { grid-template-columns:1fr; }.passes header>div>p.sale-period { font-size:.54rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  [data-reveal] { opacity:1; transform:none; }
}
