:root { --ink:#050102; --black:#0a0204; --velvet:#5d0015; --red:#a20e2d; --gold:#c9a04b; --gold-light:#f2d88c; --cream:#f7ead0; --ash:#aa9678; --progress:0; --curtain-drift:0px; --display:"Rye",Georgia,serif; --body:"Cormorant Garamond",Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:6rem; background:var(--ink); }
body { margin:0; color:var(--cream); background:var(--ink); font-family:var(--body); font-size:1.125rem; line-height:1.45; overflow-x:hidden; }
body::before { position:fixed; z-index:80; inset:0; pointer-events:none; content:""; opacity:.16; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='4' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.48'/%3E%3C/svg%3E"); mix-blend-mode:soft-light; }
body::after { position:fixed; z-index:79; inset:0; pointer-events:none; content:""; box-shadow:inset 0 0 clamp(4rem,13vw,13rem) rgba(0,0,0,.72); }
main { overflow:clip; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; }
.icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
::selection { color:var(--ink); background:var(--gold-light); }
:focus-visible { outline:2px solid var(--gold-light); outline-offset:5px; }

.skip-link { position:fixed; z-index:100; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link:focus-visible { top:1rem; left:1rem; width:auto; height:auto; padding:.7rem 1rem; overflow:visible; clip-path:none; color:var(--ink); background:var(--gold-light); }
.velvet { position:fixed; z-index:24; top:0; bottom:0; width:clamp(.75rem,2.2vw,2.7rem); pointer-events:none; background:linear-gradient(90deg,rgba(0,0,0,.9),transparent 24%,rgba(255,255,255,.08) 50%,rgba(0,0,0,.8)),linear-gradient(#78091f,#330008 52%,#76071d); box-shadow:0 0 3rem #000,inset 0 0 1rem rgba(0,0,0,.8); }
.velvet--left { left:0; }
.velvet--right { right:0; transform:scaleX(-1); }

.masthead { position:fixed; z-index:50; top:0; right:0; left:0; display:flex; min-height:5.4rem; padding:.5rem clamp(1.5rem,5vw,5rem) 1rem; align-items:center; justify-content:space-between; isolation:isolate; background:linear-gradient(180deg,rgba(5,1,2,.94),rgba(5,1,2,.72) 58%,transparent); transition:min-height 250ms ease,filter 250ms ease,background 250ms ease; }
.masthead::before { position:absolute; z-index:0; top:0; right:-2vw; left:-2vw; height:8.7rem; content:""; background:url("assets/velvet-pelmet.webp") center top/100% 100% no-repeat; filter:drop-shadow(0 1rem 1rem rgba(0,0,0,.72)); pointer-events:none; }
.masthead::after { position:absolute; z-index:0; right:0; bottom:-3.2rem; left:0; height:4.6rem; content:""; background:linear-gradient(180deg,rgba(3,0,1,.52),transparent); pointer-events:none; }
.masthead > * { position:relative; z-index:1; }
.masthead.is-scrolled { min-height:4.8rem; background:linear-gradient(180deg,rgba(5,1,2,.97),rgba(5,1,2,.82) 62%,transparent); filter:saturate(.9) brightness(.88); backdrop-filter:blur(12px); }
.brand { display:inline-flex; gap:.75rem; align-items:center; font-family:var(--display); font-size:.86rem; line-height:1.05; text-decoration:none; text-transform:uppercase; }
.brand .coin--small { width:3.35rem; height:3.35rem; filter:drop-shadow(0 0 .8rem rgba(162,14,45,.85)); }
.brand .coin--small { pointer-events:none; }
.brand i { display:block; color:var(--gold-light); font-style:normal; }
.menu-toggle { display:none; }
.masthead nav { display:flex; gap:clamp(1rem,2.4vw,2.4rem); align-items:center; }
.masthead nav a { position:relative; display:inline-flex; min-height:2.75rem; align-items:center; color:var(--gold-light); font-family:var(--body); font-size:.9rem; font-weight:600; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.masthead nav a::after { position:absolute; right:0; bottom:-.35rem; left:0; height:1px; content:""; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform 220ms ease; }
.masthead nav a:hover::after,.masthead nav a:focus-visible::after { transform:scaleX(1); transform-origin:left; }
.masthead nav a:hover { color:#fff4cf; text-shadow:0 0 1rem var(--gold); }
.depth { position:fixed; z-index:36; top:50%; right:clamp(1rem,1.8vw,2rem); display:flex; height:min(42vh,22rem); align-items:center; flex-direction:column; transform:translateY(-50%); }
.depth span { color:var(--ash); font-family:var(--display); font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; writing-mode:vertical-rl; }
.depth > i { position:relative; width:1px; flex:1; margin:.7rem 0; background:rgba(201,160,75,.28); }
.depth > i b { position:absolute; top:0; left:-1px; width:3px; height:calc(var(--progress)*100%); background:var(--gold); box-shadow:0 0 .7rem var(--gold); }
.depth strong { color:var(--gold-light); font-family:var(--display); font-size:.68rem; }

.scene { position:relative; }
.scene__sticky,.reel__sticky { position:relative; overflow:hidden; }
.hero { min-height:100svh; background:#090204; }
.hero__stage { min-height:100svh; isolation:isolate; }
.hero__memories { position:absolute; z-index:-5; inset:5.6rem 4.2rem 2.6rem; overflow:hidden; border-radius:48% 48% 1.2rem 1.2rem/17% 17% 1.2rem 1.2rem; background:#090204 url("assets/wooznam-pub.webp") 34% 49%/cover no-repeat; }
.hero__memory { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; filter:saturate(.92) contrast(1.08) brightness(.82) sepia(.05); }
.hero__memory:first-child { opacity:1; }
.hero__memories.is-ready .hero__memory { animation:memory-fade 42s ease-in-out infinite; }
.hero__memory--pub { object-position:34% 49%; }
.hero__memory:nth-child(2) { animation-delay:7s; }
.hero__memory:nth-child(3) { animation-delay:14s; }
.hero__memory:nth-child(4) { animation-delay:21s; }
.hero__memory:nth-child(5) { animation-delay:28s; }
.hero__memory:nth-child(6) { animation-delay:35s; }
.hero__wash { position:absolute; z-index:-4; inset:0; background:linear-gradient(90deg,rgba(7,1,2,.04),rgba(7,1,2,.16) 48%,rgba(7,1,2,.68)),linear-gradient(0deg,rgba(7,1,2,.9) 0,transparent 45%,rgba(35,0,8,.22)); }
.hero__arch { position:absolute; z-index:-2; inset:4.65rem 3.15rem 1.65rem; pointer-events:none; border:.5rem solid #160307; border-radius:50% 50% 1.5rem 1.5rem/18% 18% 1.5rem 1.5rem; box-shadow:0 0 0 2px var(--gold),0 0 0 .85rem #39000d,0 0 0 1rem rgba(242,216,140,.72),0 1.5rem 6rem #000; }
.hero__arch::before { position:absolute; inset:-.55rem; content:""; border:.26rem dotted var(--gold-light); border-radius:inherit; filter:drop-shadow(0 0 .5rem #ffd875); animation:bulbs 1.8s steps(2,end) infinite; }
.curtain { position:absolute; z-index:3; top:3.8rem; bottom:0; width:clamp(8rem,18vw,17rem); overflow:visible; pointer-events:none; will-change:transform; }
.curtain img { width:100%; height:100%; object-fit:fill; object-position:left top; filter:drop-shadow(1.5rem 0 1.8rem rgba(0,0,0,.82)); transform-origin:18% 8%; animation:curtain-breathe 5.8s ease-in-out infinite alternate; }
.curtain--left { left:0; transform:translate3d(calc(-18% - var(--curtain-drift)),0,0); }
.curtain--right { right:0; transform:translate3d(calc(18% + var(--curtain-drift)),0,0); }
.curtain--right img { transform:scaleX(-1); filter:drop-shadow(-1.5rem 0 1.8rem rgba(0,0,0,.82)); animation-name:curtain-breathe-right; }
.hero__bill { position:absolute; z-index:7; top:7.2rem; left:50%; width:max-content; max-width:min(72vw,36rem); padding:.9rem 1.7rem; color:#fff0b1; background:linear-gradient(180deg,#8f0c2c 0,#510012 52%,#75051f 100%); border:.18rem solid #160105; border-radius:.15rem; outline:1px solid rgba(255,228,146,.78); isolation:isolate; font-family:var(--display); font-size:.75rem; letter-spacing:.16em; text-align:center; text-shadow:0 0 .2rem #fff9db,0 0 .6rem #ffc85d,0 0 1.2rem rgba(255,76,29,.95); text-transform:uppercase; transform:translateX(-50%) rotate(-1.5deg); box-shadow:0 0 0 .42rem var(--gold),0 0 0 .68rem #280008,0 0 1.7rem rgba(255,177,55,.68),.5rem .55rem 0 rgba(0,0,0,.62); animation:sign-letter-flicker 6.4s steps(1,end) infinite; }
.hero__bill::before { position:absolute; z-index:-1; inset:-.69rem; content:""; border:.28rem dotted #fff2a9; border-radius:.18rem; filter:drop-shadow(0 0 .18rem #fff7c8) drop-shadow(0 0 .55rem #ffac31); animation:sign-bulbs 4.7s steps(1,end) infinite; pointer-events:none; }
.hero__bill::after { position:absolute; z-index:-2; inset:-1.3rem; content:""; background:rgba(255,44,27,.18); filter:blur(1rem); animation:sign-glow 3.1s steps(1,end) infinite; pointer-events:none; }
.hero__copy { position:absolute; z-index:4; right:clamp(4.5rem,8vw,9rem); bottom:clamp(6rem,12vh,8rem); width:min(46rem,68vw); text-align:right; text-shadow:0 .2rem 1.5rem #000,0 .1rem .25rem #000; animation:hero-in 1.1s cubic-bezier(.2,.75,.2,1) both; }
.hero__mark { display:none; }
.hero__copy > p,.eyebrow { margin:0 0 1rem; color:var(--gold-light); font-family:var(--display); font-size:clamp(.68rem,.9vw,.8rem); letter-spacing:.15em; text-transform:uppercase; }
.hero h1 { margin:0; font-family:var(--display); font-size:clamp(4.2rem,8.7vw,9.2rem); font-weight:400; letter-spacing:-.055em; line-height:.76; text-transform:uppercase; }
.hero h1 span { display:block; }
.hero h1 em { display:block; margin-top:.13em; color:var(--gold-light); font-family:var(--body); font-size:.56em; font-weight:600; letter-spacing:-.035em; line-height:.9; text-transform:none; }
.hero__copy > .hero__invitation { display:inline-block; margin:1.25rem 0 0; padding:.42rem .15rem .3rem; color:var(--cream); border-top:1px solid rgba(242,216,140,.75); border-bottom:1px solid rgba(242,216,140,.38); font-size:clamp(.67rem,.82vw,.76rem); letter-spacing:.2em; }
.platforms { --icon-cut:#170207; display:flex; gap:.55rem; align-items:center; flex-wrap:wrap; }
.platforms a,.platforms__soon { display:inline-flex; min-width:2.75rem; min-height:2.75rem; padding:.62rem; align-items:center; justify-content:center; color:var(--gold-light); background:rgba(15,1,5,.66); border:1px solid rgba(242,216,140,.46); border-radius:50%; box-shadow:0 .45rem 1.2rem rgba(0,0,0,.36); }
.platforms a { text-decoration:none; transition:color 180ms ease,background 180ms ease,border-color 180ms ease,transform 180ms ease; }
.platforms a:hover,.platforms a:focus-visible { --icon-cut:#f2d88c; color:#180207; background:var(--gold-light); border-color:var(--gold-light); transform:translateY(-.15rem) rotate(-3deg); }
.platforms svg { width:1.35rem; height:1.35rem; overflow:visible; }
.platforms__soon { opacity:.42; cursor:not-allowed; }
.platforms--hero { margin-top:1.05rem; justify-content:flex-end; }
.descend { position:absolute; z-index:5; right:clamp(3.5rem,7vw,8rem); bottom:2rem; display:flex; gap:1rem; align-items:center; font-family:var(--display); font-size:.75rem; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
.descend b { color:var(--gold-light); font-family:var(--body); font-size:1.8rem; animation:fall 1.8s ease-in-out infinite; }

.coin { --coin-drag:0deg; --coin-lift:0px; position:relative; display:inline-block; flex:0 0 auto; padding:0; perspective:900px; color:inherit; background:none; border:0; cursor:grab; touch-action:pan-y; -webkit-tap-highlight-color:transparent; -webkit-user-select:none; user-select:none; }
.coin.is-grabbed { cursor:grabbing; }
.coin::after { position:absolute; z-index:-1; right:12%; bottom:-8%; left:12%; height:12%; content:""; background:rgba(0,0,0,.68); border-radius:50%; filter:blur(.35rem); animation:coin-shadow 9s ease-in-out infinite; }
.coin__inner { position:absolute; inset:0; transform-style:preserve-3d; animation:coin-toss 9s cubic-bezier(.2,.65,.25,1) infinite; }
.coin.is-dragging .coin__inner { animation:none; transform:translateY(var(--coin-lift)) rotateY(var(--coin-drag)); }
.coin.is-tossing .coin__inner { animation:coin-swipe 1.28s cubic-bezier(.16,.72,.18,1) 1 both; }
.coin.is-tossing::after { animation:coin-swipe-shadow 1.28s ease-in-out 1 both; }
.coin--small .coin__inner { animation-duration:7s; }
.coin--small::after { animation-duration:7s; }
.coin__face { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; border:1px solid rgba(242,216,140,.65); border-radius:50%; backface-visibility:hidden; }
.coin__face--happy { transform:rotateY(180deg); }
.coin--large { width:clamp(7.5rem,15vw,12rem); height:clamp(7.5rem,15vw,12rem); margin-bottom:3rem; filter:drop-shadow(0 0 2rem rgba(242,216,140,.35)); }

.overture { position:relative; display:grid; min-height:95svh; padding:12rem clamp(2rem,10vw,11rem); place-content:center; justify-items:center; overflow:hidden; background:radial-gradient(ellipse at 50% 45%,rgba(171,12,48,.72),transparent 34rem),linear-gradient(180deg,#090204,#36000c 48%,#090204); text-align:center; }
.overture::before { position:absolute; top:0; left:50%; width:min(86rem,110vw); height:8rem; content:""; background:repeating-radial-gradient(ellipse at 50% -20%,#8e0925 0 7%,#36000c 9% 15%,#a50f30 17% 24%); border-bottom:4px solid var(--gold); border-radius:0 0 50% 50%; transform:translateX(-50%); box-shadow:0 2rem 5rem #000; }
.overture blockquote { max-width:72rem; margin:0; font-family:var(--body); font-size:clamp(3.1rem,7vw,7.5rem); font-style:italic; font-weight:600; letter-spacing:-.05em; line-height:.9; text-wrap:balance; }
.ornament { display:grid; width:6rem; height:6rem; margin-top:3.5rem; overflow:hidden; background:var(--gold-light); border:.45rem double var(--ink); border-radius:50%; place-items:center; box-shadow:0 0 0 2px var(--gold),0 0 3rem rgba(242,216,140,.4); animation:medallion-breathe 4.8s ease-in-out infinite; }
.ornament img { width:76%; height:76%; object-fit:contain; }
.films { position:relative; background:var(--ink); }
.films__heading { position:relative; display:grid; min-height:64svh; padding:10rem 2rem 7rem; place-content:center; overflow:hidden; text-align:center; background:radial-gradient(ellipse at 50% 38%,rgba(143,7,38,.72),transparent 33rem),linear-gradient(180deg,#120207,#050102); }
.films__heading::before { position:absolute; inset:15% 10%; content:""; border:1px solid rgba(242,216,140,.45); border-radius:50% 50% 8% 8%/25% 25% 8% 8%; box-shadow:inset 0 0 4rem rgba(0,0,0,.38),0 0 2rem rgba(201,160,75,.08); }
.films__heading h2 { position:relative; max-width:11ch; margin:0 auto; font-family:var(--body); font-size:clamp(3.6rem,8vw,8rem); font-style:italic; font-weight:600; letter-spacing:-.055em; line-height:.82; text-wrap:balance; }

.reel { position:relative; min-height:100svh; }
.reel__sticky { display:grid; min-height:100svh; padding:clamp(7rem,12vh,10rem) clamp(3rem,9vw,10rem); grid-template-columns:repeat(12,1fr); gap:clamp(2rem,5vw,6rem); align-items:center; isolation:isolate; background:radial-gradient(ellipse at 72% 38%,rgba(147,7,38,.5),transparent 30rem),linear-gradient(122deg,#080203,#2b000a 53%,#070203); }
.reel:nth-of-type(even) .reel__sticky { background:radial-gradient(ellipse at 28% 46%,rgba(151,7,39,.55),transparent 30rem),linear-gradient(238deg,#070203,#36000d 50%,#080203); }
.reel__sticky::after { position:absolute; z-index:-1; right:-10vw; bottom:-20rem; width:40rem; height:40rem; content:""; opacity:.16; background:repeating-conic-gradient(from 0deg,var(--gold-light) 0 3deg,transparent 3deg 12deg); border-radius:50%; }
.reel:nth-of-type(even) .reel__sticky::after { right:auto; left:-10vw; }
.reel__number { position:absolute; z-index:-1; top:7%; right:6%; width:clamp(8rem,17vw,15rem); aspect-ratio:1; background:rgba(242,216,140,.12); filter:drop-shadow(0 0 2rem rgba(242,216,140,.25)); -webkit-mask:url("assets/wooznam-face-stencil.webp") center/contain no-repeat; mask:url("assets/wooznam-face-stencil.webp") center/contain no-repeat; }
.reel__copy { grid-column:1/5; align-self:start; padding-top:3rem; }
.reel--right .reel__copy { grid-column:9/13; grid-row:1; text-align:right; }
.song-mark { width:clamp(6.5rem,10vw,9.5rem); height:auto; margin:0 0 1.35rem; filter:drop-shadow(0 1.2rem 1.5rem rgba(0,0,0,.56)); }
.reel--right .song-mark { margin-right:0; margin-left:auto; }
.reel__copy span { display:inline-block; padding:.55rem .8rem; color:var(--ink); background:var(--gold-light); font-family:var(--display); font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; transform:rotate(-2deg); box-shadow:.35rem .35rem 0 #570016; }
.reel__copy h3 { margin:1.4rem 0 0; font-family:var(--body); font-size:clamp(3.2rem,6vw,6.5rem); font-style:italic; font-weight:600; letter-spacing:-.055em; line-height:.86; }
.reel__copy p { max-width:34rem; margin:1.35rem 0 0; color:#d8c7a8; font-size:clamp(1.05rem,1.45vw,1.28rem); line-height:1.45; text-wrap:pretty; }
.reel--right .reel__copy p { margin-left:auto; }
.reel__frame { position:relative; grid-column:5/13; padding:clamp(.55rem,1vw,.85rem); background:#050102; border:.6rem ridge var(--gold); outline:2px solid #3d2707; box-shadow:0 0 0 .65rem #120306,0 0 0 .78rem rgba(242,216,140,.55),0 2.5rem 7rem #000; rotate:-1deg; }
.reel--right .reel__frame { grid-column:1/9; grid-row:1; rotate:1deg; }
.reel__frame::before,.reel__frame::after { position:absolute; z-index:2; display:grid; width:2.6rem; height:2.6rem; content:""; background:var(--gold-light) url("assets/wooznam-face-stencil.webp") center/76% no-repeat; border:.25rem double var(--ink); border-radius:50%; place-items:center; }
.reel__frame::before { top:-1.5rem; left:-1.5rem; }
.reel__frame::after { right:-1.5rem; bottom:-1.5rem; }
.reel__frame iframe { display:block; width:100%; aspect-ratio:16/9; border:0; background:#000; }
.reel__frame > a { display:inline-block; padding:.85rem .55rem .3rem; color:var(--gold-light); font-family:var(--display); font-size:.75rem; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }

.sessions { position:relative; padding:11rem clamp(1.25rem,6vw,6rem) 12rem; overflow:hidden; background:radial-gradient(circle at 50% 8%,rgba(133,7,36,.42),transparent 32rem),linear-gradient(180deg,#050102,#150307 55%,#050102); }
.sessions::before { position:absolute; top:0; right:0; left:0; height:1px; content:""; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.sessions__heading { position:relative; display:grid; margin:0 auto 6rem; justify-items:center; text-align:center; }
.sessions__heading > img { width:clamp(6.5rem,12vw,10rem); height:auto; aspect-ratio:1; margin-bottom:1.25rem; object-fit:contain; filter:drop-shadow(0 1rem 1.5rem rgba(0,0,0,.72)); }
.sessions__heading .eyebrow { margin-bottom:1.2rem; }
.sessions__heading h2 { max-width:10ch; margin:0; font-family:var(--body); font-size:clamp(4rem,9vw,8rem); font-style:italic; font-weight:600; letter-spacing:-.06em; line-height:.82; text-wrap:balance; }
.sessions__grid { position:relative; display:grid; width:min(82rem,100%); margin:0 auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2rem,4vw,4rem); }
.session { min-width:0; overflow:hidden; background:linear-gradient(145deg,#170409,#070203); border:1px solid rgba(201,160,75,.42); box-shadow:0 2rem 5rem rgba(0,0,0,.55); }
.session__film { padding:.55rem; background:#020102; border-bottom:1px solid rgba(201,160,75,.34); }
.session__film iframe { display:block; width:100%; aspect-ratio:16/9; border:0; background:#000; }
.session__caption { padding:1.6rem 1.7rem 1.9rem; }
.session__caption > span { color:var(--gold); font-family:var(--body); font-size:.78rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.session__caption h3 { margin:.35rem 0 .85rem; font-family:var(--body); font-size:clamp(2.1rem,3.6vw,3.4rem); font-style:italic; font-weight:600; letter-spacing:-.04em; line-height:.9; }
.session__caption a { color:var(--gold-light); font-family:var(--body); font-size:.78rem; font-weight:600; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.session__caption a:hover { color:#fff4cf; }

.interlude { position:relative; display:grid; min-height:95svh; padding:10rem clamp(2rem,10vw,11rem); align-content:center; justify-items:center; overflow:hidden; background:radial-gradient(circle at 50% 40%,rgba(153,8,39,.78),transparent 24rem),linear-gradient(180deg,#080203,#31000c,#080203); text-align:center; }
.interlude::before,.interlude::after { position:absolute; top:-10%; bottom:-10%; width:22%; content:""; background:repeating-linear-gradient(90deg,#260007,#8b0923 22%,#36000b 47%,#a20e2d 70%,#260007); filter:drop-shadow(0 0 2rem #000); }
.interlude::before { left:-8%; transform:rotate(5deg); }
.interlude::after { right:-8%; transform:rotate(-5deg); }
.interlude .coin--large { margin-bottom:3rem; }
.interlude blockquote { max-width:65rem; margin:0; font-family:var(--body); font-size:clamp(2.8rem,6.2vw,6.3rem); font-style:italic; font-weight:600; letter-spacing:-.045em; line-height:.92; text-wrap:balance; }
.interlude p { margin-top:2rem; color:var(--gold-light); font-family:var(--display); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; }
.about { position:relative; padding:11rem clamp(1.5rem,6vw,6rem) 12rem; overflow:hidden; background:radial-gradient(circle at 50% 4%,rgba(117,6,31,.48),transparent 34rem),linear-gradient(180deg,#050102 0,#190308 48%,#050102 100%); }
.about::before { position:absolute; top:0; right:0; left:0; height:1px; content:""; background:linear-gradient(90deg,transparent,var(--gold),transparent); box-shadow:0 0 1.5rem rgba(201,160,75,.35); }
.about__heading { position:relative; margin:0 auto 8rem; text-align:center; }
.about__heading::before { position:absolute; top:50%; left:50%; width:min(42rem,74vw); height:1px; content:""; background:linear-gradient(90deg,transparent,var(--gold),transparent); transform:translate(-50%,-50%); }
.about h2 { position:relative; display:inline-block; margin:0; padding:0 1.5rem; color:var(--cream); background:#0d0205; font-family:var(--body); font-size:clamp(4rem,9vw,8.5rem); font-style:italic; font-weight:600; letter-spacing:-.065em; line-height:.82; }
.about__company { position:relative; display:flex; width:min(78rem,94vw); margin:0 auto; gap:7rem; align-items:flex-start; flex-direction:column; }
.person { position:relative; display:grid; width:min(72rem,92vw); min-height:34rem; overflow:hidden; color:var(--cream); background:linear-gradient(135deg,#120307,#050102); border:1px solid rgba(201,160,75,.48); grid-template-columns:minmax(18rem,.86fr) minmax(0,1.14fr); box-shadow:0 2.4rem 7rem rgba(0,0,0,.6); transform:none; }
.person::before { position:absolute; z-index:3; inset:.7rem; content:""; border:1px solid rgba(201,160,75,.2); pointer-events:none; }
.person--drewsnam { align-self:flex-end; transform:none; }
.person--drewsnam .person__portrait { order:2; }
.person--lucas { transform:none; }
.person__portrait { position:relative; min-height:100%; margin:0; overflow:hidden; background:radial-gradient(circle at 50% 38%,rgba(137,10,39,.52),transparent 48%),linear-gradient(155deg,#260008,#080203 72%); border-right:1px solid rgba(201,160,75,.32); }
.person--drewsnam .person__portrait { border-right:0; border-left:1px solid rgba(201,160,75,.32); }
.avatar { --avatar-rx:0deg; --avatar-ry:0deg; --avatar-scale:1; min-height:34rem; perspective:1000px; cursor:grab; touch-action:pan-y; -webkit-tap-highlight-color:transparent; }
.avatar:focus-visible { outline:2px solid var(--gold-light); outline-offset:-.7rem; }
.avatar.is-dragging { cursor:grabbing; }
.avatar__scene { position:absolute; inset:0; transform:rotateX(var(--avatar-rx)) rotateY(var(--avatar-ry)) scale(var(--avatar-scale)); transform-style:preserve-3d; transition:transform 420ms cubic-bezier(.2,.75,.2,1); will-change:transform; }
.avatar.is-dragging .avatar__scene { transition:none; }
.avatar__scene::after { position:absolute; right:14%; bottom:3%; left:14%; height:8%; content:""; background:radial-gradient(ellipse,rgba(0,0,0,.78),transparent 70%); filter:blur(.55rem); transform:translateZ(-55px) rotateX(76deg); }
.avatar__aura { position:absolute; inset:8% 5% 4%; opacity:.66; background:repeating-conic-gradient(from 7deg,rgba(242,216,140,.11) 0 2deg,transparent 2deg 13deg); border-radius:50%; filter:blur(.2rem); transform:translateZ(-75px) scale(.9); animation:avatar-aura 32s linear infinite; }
.avatar__figure,.avatar__shadow { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center bottom; backface-visibility:visible; user-select:none; -webkit-user-drag:none; pointer-events:none; }
.avatar__shadow { opacity:.5; filter:brightness(0) blur(.75rem); transform:translate3d(.75rem,1.15rem,-42px) scale(.96); }
.avatar__figure { filter:saturate(.84) contrast(1.07) drop-shadow(0 1.4rem 1.1rem rgba(0,0,0,.45)); transform:translateZ(38px); animation:avatar-breathe 5.8s ease-in-out infinite; }
.avatar--drewsnam .avatar__figure { animation-duration:4.6s; animation-delay:-1.2s; }
.avatar--lucas .avatar__figure { animation-duration:6.8s; animation-delay:-2.4s; }
.avatar.is-spinning .avatar__scene { animation:avatar-spin 1.35s cubic-bezier(.16,.72,.18,1) both; }
.avatar__cue { position:absolute; z-index:4; right:1rem; bottom:.9rem; left:1rem; opacity:.7; color:rgba(242,216,140,.8); font-family:var(--display); font-size:.75rem; letter-spacing:.11em; text-align:center; text-shadow:0 .15rem .5rem #000; text-transform:uppercase; pointer-events:none; transition:opacity 180ms ease; }
.avatar:hover .avatar__cue,.avatar:focus-visible .avatar__cue,.avatar.is-dragging .avatar__cue { opacity:1; }
.person__copy { position:relative; display:flex; min-width:0; padding:clamp(2.2rem,5vw,4.8rem); justify-content:center; flex-direction:column; }
.person h3 { max-width:100%; margin:0 0 1.5rem; overflow-wrap:anywhere; color:var(--gold-light); font-family:var(--body); font-size:clamp(3rem,5.6vw,5.7rem); font-weight:600; letter-spacing:-.06em; line-height:.82; text-transform:uppercase; }
.person p { max-width:37rem; margin:.55rem 0 0; color:#d8c9b3; font-size:clamp(1.05rem,1.45vw,1.24rem); line-height:1.42; text-wrap:pretty; }
.person .person__question { margin:0 0 .9rem; color:var(--cream); font-size:clamp(1.65rem,2.8vw,2.6rem); font-style:italic; font-weight:600; letter-spacing:-.025em; line-height:1; }
.tour { position:relative; display:grid; min-height:95svh; padding:10rem clamp(2rem,10vw,11rem); place-items:center; overflow:hidden; background:radial-gradient(ellipse at 50% 10%,#a00c2b,#42000f 40%,#0c0205 78%); }
.tour::before { position:absolute; top:0; left:50%; width:120%; height:7rem; content:""; background:repeating-linear-gradient(90deg,#f1d689 0 5%,#79061e 5% 10%); border-bottom:.5rem solid #190306; clip-path:polygon(0 0,100% 0,100% 35%,95% 100%,90% 35%,85% 100%,80% 35%,75% 100%,70% 35%,65% 100%,60% 35%,55% 100%,50% 35%,45% 100%,40% 35%,35% 100%,30% 35%,25% 100%,20% 35%,15% 100%,10% 35%,5% 100%,0 35%); transform:translateX(-50%); }
.tour__inner { width:min(72rem,88vw); padding:4rem clamp(1.5rem,6vw,6rem); text-align:center; background:rgba(12,2,5,.44); border:2px solid var(--gold); border-radius:50% 50% 2rem 2rem/18% 18% 2rem 2rem; box-shadow:0 0 0 .7rem rgba(28,1,8,.75),0 0 0 .82rem rgba(242,216,140,.45),0 2rem 7rem #000; }
.tour h2 { margin:0; font-family:var(--display); font-size:clamp(4rem,10vw,10rem); font-weight:400; letter-spacing:-.06em; line-height:.85; text-transform:uppercase; }
.tour__empty { display:grid; min-height:clamp(9rem,24vh,17rem); margin-top:3.5rem; padding:2rem 1rem; border-top:1px solid rgba(242,216,140,.55); border-bottom:1px solid rgba(242,216,140,.2); align-content:center; }
.tour__empty p { margin:0; color:var(--cream); font-family:var(--body); font-size:clamp(1.7rem,3vw,2.7rem); font-style:italic; font-weight:600; }
.tour__empty span { margin-top:.7rem; color:var(--gold-light); font-family:var(--display); font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; }
.finale { position:relative; display:grid; min-height:110svh; padding:11rem 2rem 8rem; align-content:center; justify-items:center; overflow:hidden; background:radial-gradient(circle at 50% 42%,rgba(145,7,36,.72),transparent 25rem),#040102; text-align:center; }
.finale::before { position:absolute; inset:-40% -20%; content:""; opacity:.12; background:repeating-conic-gradient(from 0deg,var(--gold-light) 0 2deg,transparent 2deg 10deg); animation:slow-turn 70s linear infinite; }
.finale > * { position:relative; }
.finale .coin--large { width:clamp(7rem,12vw,10rem); height:clamp(7rem,12vw,10rem); margin-bottom:2.5rem; }
.finale > p { margin:0 0 1rem; color:var(--gold-light); font-family:var(--display); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; }
.finale h2 { max-width:72rem; margin:0 0 1.8rem; font-family:var(--body); font-size:clamp(3.8rem,8.5vw,9rem); font-style:italic; font-weight:600; letter-spacing:-.06em; line-height:.83; text-wrap:balance; }
.finale h2 span { display:block; margin-bottom:.75rem; color:var(--gold-light); font-family:var(--display); font-size:clamp(.72rem,1.1vw,.95rem); font-style:normal; letter-spacing:.18em; text-transform:uppercase; }
.finale__litany { display:flex; max-width:70rem; margin:0 0 3.4rem; gap:.65rem 1.5rem; align-items:center; justify-content:center; flex-wrap:wrap; color:#d9c8a8; font-family:var(--display); font-size:clamp(.72rem,1.1vw,.92rem); letter-spacing:.12em; text-transform:uppercase; }
.finale__litany span::after { margin-left:1.5rem; color:var(--gold); content:"•"; }
.finale__litany strong { color:var(--gold-light); font-weight:400; text-shadow:0 0 1rem rgba(242,216,140,.38); }
.finale > a:not(.surface) { padding:1rem 1.35rem; color:var(--ink); background:var(--gold-light); border:1px solid var(--gold-light); font-family:var(--display); font-size:.7rem; letter-spacing:.12em; text-decoration:none; text-transform:uppercase; box-shadow:.5rem .5rem 0 #6b061d; transition:color 180ms ease,background 180ms ease,transform 180ms ease; }
.finale > a:not(.surface):hover { color:var(--cream); background:var(--red); transform:translate(-.2rem,-.2rem); }
.platforms--finale { max-width:58rem; margin-top:2.2rem; gap:.7rem; justify-content:center; }
.platforms--finale a,.platforms--finale .platforms__soon { min-width:0; padding:.68rem .88rem; gap:.55rem; border-radius:999px; }
.platforms--finale span span,.platforms--finale a span { font-family:var(--display); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.surface { margin-top:2.6rem; color:var(--ash); font-size:.95rem; }
footer { display:flex; padding:1.8rem clamp(1.5rem,5vw,5rem); color:#806e58; background:#020101; border-top:1px solid rgba(201,160,75,.18); justify-content:space-between; }
footer b { font-weight:500; }

.js [data-reveal] { opacity:.38; transform:translateY(2.5rem) scale(.97); transition:opacity .85s ease,transform 1s cubic-bezier(.2,.75,.2,1); }
.js [data-reveal].is-visible { opacity:1; transform:none; }
.js .person[data-reveal].is-visible,.js .person--drewsnam[data-reveal].is-visible,.js .person--lucas[data-reveal].is-visible { transform:none; }
.js [data-reveal="left"] { transform:translate(-3rem,2rem) rotate(-1.5deg); }
.js [data-reveal="right"] { transform:translate(3rem,2rem) rotate(1.5deg); }
.js [data-reveal="left"].is-visible,.js [data-reveal="right"].is-visible { transform:none; }
@keyframes bulbs { 50% { opacity:.48; filter:drop-shadow(0 0 .15rem #ffd875); } }
@keyframes fall { 0%,100% { transform:translateY(0); } 50% { transform:translateY(.55rem); } }
@keyframes slow-turn { to { transform:rotate(360deg); } }
@keyframes medallion-breathe { 0%,100% { box-shadow:0 0 0 2px var(--gold),0 0 2.2rem rgba(242,216,140,.3); transform:scale(1); } 50% { box-shadow:0 0 0 2px var(--gold),0 0 3.8rem rgba(242,216,140,.58); transform:scale(1.035); } }
@keyframes hero-in { from { transform:translateY(1.5rem) scale(.98); } to { transform:none; } }
@keyframes memory-fade { 0%,13% { opacity:1; transform:scale(1); } 19%,100% { opacity:0; transform:scale(1.055); } }
@keyframes curtain-breathe { from { transform:rotate(.25deg) scaleX(1); } to { transform:rotate(-.35deg) scaleX(1.018); } }
@keyframes curtain-breathe-right { from { transform:scaleX(-1) rotate(.25deg); } to { transform:scaleX(-1.018) rotate(-.35deg); } }
@keyframes coin-toss { 0%,8% { transform:translateY(0) rotateY(0); } 16% { transform:translateY(-12%) rotateY(180deg); } 24% { transform:translateY(-22%) rotateY(360deg); } 32% { transform:translateY(-12%) rotateY(540deg); } 42%,100% { transform:translateY(0) rotateY(720deg); } }
@keyframes coin-shadow { 0%,8%,42%,100% { opacity:.72; transform:scale(1); } 24% { opacity:.18; transform:scale(.62); } }
@keyframes coin-swipe { 0% { transform:translateY(0) rotateY(0deg) rotateZ(0deg); } 18% { transform:translateY(-11%) rotateY(210deg) rotateZ(-2deg); } 48% { transform:translateY(-34%) rotateY(540deg) rotateZ(3deg); } 76% { transform:translateY(-12%) rotateY(850deg) rotateZ(-1deg); } 91% { transform:translateY(-2%) rotateY(1050deg) rotateZ(.5deg); } 100% { transform:translateY(0) rotateY(1080deg) rotateZ(0deg); } }
@keyframes coin-swipe-shadow { 0%,100% { opacity:.72; transform:scale(1); } 48% { opacity:.12; transform:scale(.5); } 91% { opacity:.4; transform:scale(.82); } }
@keyframes sign-bulbs { 0%,7%,10%,13%,28%,31%,55%,58%,60%,79%,82%,100% { opacity:1; filter:drop-shadow(0 0 .18rem #fff7c8) drop-shadow(0 0 .55rem #ffac31); } 8%,9%,29%,30%,56%,57%,80% { opacity:.2; filter:drop-shadow(0 0 .08rem #7f571c); } 59%,81% { opacity:.58; } }
@keyframes sign-letter-flicker { 0%,34%,37%,71%,74%,100% { color:#fff0b1; text-shadow:0 0 .2rem #fff9db,0 0 .6rem #ffc85d,0 0 1.2rem rgba(255,76,29,.95); } 35%,36%,72% { color:#c5a86a; text-shadow:none; } 73% { color:#ffe7a0; text-shadow:0 0 .35rem #ff9f31; } }
@keyframes sign-glow { 0%,25%,28%,67%,70%,100% { opacity:1; } 26%,27%,68%,69% { opacity:.24; } }
@keyframes avatar-aura { to { transform:translateZ(-75px) scale(.9) rotate(360deg); } }
@keyframes avatar-breathe { 0%,100% { transform:translateZ(38px) translateY(0) rotateZ(0); } 50% { transform:translateZ(42px) translateY(-.55rem) rotateZ(.35deg); } }
@keyframes avatar-spin { 0% { transform:rotateX(var(--avatar-rx)) rotateY(var(--avatar-ry)) scale(1); } 25% { transform:rotateX(-7deg) rotateY(185deg) scale(.94); } 55% { transform:rotateX(5deg) rotateY(430deg) scale(1.035); } 82% { transform:rotateX(-2deg) rotateY(680deg) scale(.98); } 100% { transform:rotateX(0) rotateY(720deg) scale(1); } }

@media (max-width:960px) {
  .depth { display:none; }
  .masthead { padding-inline:1.4rem; }
  .hero__memories { inset:6.35rem 1.4rem 1.5rem; }
  .hero__memory--pub { object-position:21% 50%; }
  .hero__arch { inset:5.65rem .7rem .8rem; }
  .curtain { width:clamp(8rem,25vw,13rem); }
  .hero__bill { top:8.1rem; }
  .hero__copy { right:clamp(1.8rem,6vw,4rem); bottom:7rem; width:min(37rem,82vw); }
  .hero h1 { font-size:clamp(3.6rem,12vw,7.2rem); }
  .descend { right:2rem; bottom:1.6rem; left:2rem; justify-content:space-between; }
  .reel__sticky { min-height:0; padding:8rem clamp(1.5rem,6vw,4rem); grid-template-columns:1fr; gap:2.5rem; }
  .reel__copy,.reel--right .reel__copy { grid-column:1; grid-row:auto; padding-top:0; text-align:left; }
  .reel__frame,.reel--right .reel__frame { grid-column:1; grid-row:auto; width:100%; }
  .reel__copy h3 { max-width:12ch; }
}

@media (max-width:680px) {
  .js .person[data-reveal].is-visible,
  .js .person--drewsnam[data-reveal].is-visible,
  .js .person--lucas[data-reveal].is-visible { transform:none; }
  body { font-size:1.03rem; }
  body::before { display:none; }
  body::after { position:absolute; z-index:0; box-shadow:inset 0 0 5rem rgba(0,0,0,.62); }
  body.nav-open { overflow:hidden; }
  .velvet { width:.55rem; }
  .masthead { min-height:4.9rem; padding:.4rem .72rem 1rem; }
  .masthead::before { right:-8rem; left:-8rem; height:7.5rem; background-size:auto 100%; }
  .masthead::after { bottom:-2rem; height:3rem; }
  .masthead.is-scrolled { min-height:4.6rem; }
  .brand .coin--small { width:2.45rem; height:2.45rem; }
  .brand span { display:none; }
  .menu-toggle { position:relative; z-index:2; display:inline-flex; min-width:3.2rem; min-height:3rem; padding:.4rem .6rem; gap:.45rem; align-items:center; justify-content:center; color:var(--gold-light); background:rgba(17,1,5,.42); border:1px solid rgba(242,216,140,.45); font-family:var(--body); font-size:.82rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
  .menu-toggle i,.menu-toggle i::before,.menu-toggle i::after { display:block; width:1rem; height:1px; content:""; background:currentColor; transition:transform 220ms ease,opacity 220ms ease; }
  .menu-toggle i { position:relative; }
  .menu-toggle i::before { position:absolute; top:-.3rem; left:0; }
  .menu-toggle i::after { position:absolute; top:.3rem; left:0; }
  .menu-toggle[aria-expanded="true"] i { background:transparent; }
  .menu-toggle[aria-expanded="true"] i::before { top:0; transform:rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i::after { top:0; transform:rotate(-45deg); }
  .masthead nav { position:fixed; z-index:0; top:0; right:0; left:0; display:grid; min-height:100dvh; padding:7rem 1.25rem 3rem; gap:.45rem; align-content:center; background:linear-gradient(160deg,rgba(81,0,18,.98),rgba(5,1,2,.995) 62%); opacity:0; visibility:hidden; transform:translateY(-1rem); transition:opacity 220ms ease,transform 260ms ease,visibility 0s linear 260ms; }
  .masthead nav::before { position:absolute; top:5.6rem; right:1.2rem; left:1.2rem; height:1px; content:""; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
  .masthead nav.is-open { opacity:1; visibility:visible; transform:none; transition:opacity 220ms ease,transform 260ms ease; }
  .masthead nav a { width:100%; min-height:3.5rem; padding:.75rem 1rem; justify-content:center; border-bottom:1px solid rgba(242,216,140,.18); font-family:var(--display); font-size:1rem; letter-spacing:.11em; }
  .masthead nav a:last-child { margin-top:.8rem; color:var(--ink); background:var(--gold-light); border:0; }
  .hero__memories { inset:5.95rem .85rem 1rem; border-radius:46% 46% .8rem .8rem/13% 13% .8rem .8rem; }
  .hero__memory--pub { object-position:18% 50%; }
  .hero__arch { inset:5.4rem .35rem .5rem; border-width:.35rem; box-shadow:0 0 0 1px var(--gold),0 0 0 .55rem #39000d,0 0 0 .7rem rgba(242,216,140,.7),0 1rem 4rem #000; }
  .hero__bill { top:7.65rem; max-width:72vw; padding:.62rem .8rem; font-size:.75rem; line-height:1.25; letter-spacing:.08em; }
  .curtain { top:4.4rem; width:7rem; opacity:1; }
  .curtain img { animation:none; filter:drop-shadow(.6rem 0 .8rem rgba(0,0,0,.76)); }
  .curtain--right img { transform:scaleX(-1); filter:drop-shadow(-.6rem 0 .8rem rgba(0,0,0,.76)); }
  .curtain--left { transform:translate3d(calc(-52% - var(--curtain-drift)),0,0); }
  .curtain--right { transform:translate3d(calc(52% + var(--curtain-drift)),0,0); }
  .hero__copy { right:1.35rem; bottom:6.5rem; width:86vw; }
  .hero__copy > p { max-width:22rem; margin-left:auto; font-size:.75rem; }
  .hero h1 { font-size:clamp(3rem,14vw,5.25rem); }
  .platforms--hero { margin-top:.8rem; gap:.4rem; }
  .platforms--hero a,.platforms--hero .platforms__soon { min-width:2.55rem; min-height:2.55rem; padding:.56rem; }
  .platforms--hero svg { width:1.22rem; height:1.22rem; }
  .descend { right:1.35rem; left:1.35rem; font-size:.75rem; }
  .overture { min-height:90svh; padding:10rem 1.4rem 7rem; }
  .overture::before { height:6rem; }
  .overture blockquote { font-size:clamp(2.6rem,11.5vw,4.2rem); }
  .films__heading { min-height:58svh; padding:8rem 1.5rem 5rem; }
  .films__heading::before { inset:17% 1.2rem 13%; }
  .films__heading h2 { max-width:8.5ch; font-size:clamp(3.15rem,14vw,4.75rem); }
  .reel__sticky { padding:6.5rem 1.35rem; gap:1.8rem; }
  .reel__copy h3 { font-size:clamp(2.9rem,13vw,4.5rem); }
  .song-mark,.reel--right .song-mark { width:6.8rem; margin:0 0 1.2rem; }
  .reel__frame { padding:.35rem; border-width:.35rem; outline-width:1px; box-shadow:0 0 0 .42rem #120306,0 0 0 .52rem rgba(242,216,140,.5),0 1.5rem 4rem #000; }
  .reel__frame::before,.reel__frame::after { width:1.8rem; height:1.8rem; font-size:.72rem; }
  .reel__frame::before { top:-1.05rem; left:-1.05rem; }
  .reel__frame::after { right:-1.05rem; bottom:-1.05rem; }
  .reel__number { top:2.5rem; right:1.3rem; width:6.5rem; }
  .interlude { min-height:90svh; padding:7rem 1.35rem; }
  .interlude::before,.interlude::after { width:15%; }
  .interlude blockquote { font-size:clamp(2.5rem,11.5vw,4rem); }
  .sessions { padding:8rem 1rem; }
  .sessions__heading { margin-bottom:4rem; }
  .sessions__heading h2 { font-size:clamp(3.4rem,15vw,5.25rem); }
  .sessions__grid { grid-template-columns:1fr; gap:2rem; }
  .session__caption { padding:1.4rem 1.35rem 1.6rem; }
  .about { padding:8rem .85rem 8rem; }
  .about__heading { margin-bottom:5rem; }
  .about__heading::before { width:92vw; }
  .about h2 { padding:0 1rem; font-size:clamp(3.4rem,15vw,5.2rem); }
  .about__company { width:100%; gap:4.5rem; }
  .person,.person--drewsnam,.person--lucas { width:100%; min-width:0; min-height:0; grid-template-columns:minmax(0,1fr); transform:none; }
  .person__portrait,.person--drewsnam .person__portrait { min-height:0; aspect-ratio:1.08; order:0; border:0; border-bottom:1px solid rgba(201,160,75,.3); }
  .person__copy { min-width:0; padding:2.25rem 1.45rem 2.65rem; overflow:hidden; }
  .person h3 { max-width:100%; margin-bottom:1.1rem; font-size:clamp(2.45rem,11.5vw,3.7rem); letter-spacing:-.045em; line-height:.88; overflow-wrap:anywhere; }
  .person p { max-width:100%; font-size:1.03rem; line-height:1.43; }
  .person .person__question { max-width:100%; font-size:clamp(1.55rem,7vw,2.15rem); line-height:1.05; }
  .tour { min-height:85svh; padding:8rem 1.25rem 6rem; }
  .tour__inner { width:100%; padding:3rem 1rem; }
  .tour h2 { font-size:clamp(3.15rem,15vw,5.3rem); }
  .tour__empty { margin-top:2.25rem; padding:1.5rem .75rem; }
  .finale { min-height:95svh; padding:8rem 1.25rem 6rem; }
  .finale h2 { font-size:clamp(3.15rem,14vw,5.2rem); }
  .finale__litany { gap:.65rem; flex-direction:column; }
  .finale__litany span::after { display:none; }
  .platforms--finale a,.platforms--finale .platforms__soon { width:2.75rem; padding:.65rem; border-radius:50%; }
  .platforms--finale a span,.platforms--finale span span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  footer { gap:.8rem; align-items:flex-start; flex-direction:column; font-size:.8rem; }
}

@media (max-width:960px) and (max-height:560px) and (orientation:landscape) {
  .hero__stage { min-height:32rem; }
  .hero__memory--pub { object-position:17% 47%; }
  .hero__copy { right:2rem; bottom:5rem; width:50%; }
  .hero__copy > p { font-size:.75rem; }
  .hero h1 { font-size:clamp(2.7rem,7.6vw,4.5rem); }
}
@media (max-width:380px) {
  .masthead { padding-inline:.7rem; }
  .brand .coin--small { width:2.2rem; height:2.2rem; }
  .menu-toggle span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .menu-toggle { min-width:3rem; }
  .hero h1 { font-size:clamp(2.75rem,13vw,4.3rem); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; }
  .js [data-reveal] { opacity:1; transform:none; transition:none; }
  .hero__memory { opacity:0; animation:none !important; }
  .hero__memory:first-child { opacity:1; }
  .coin__inner { animation:none !important; transform:none; }
}
