@import url('https://fonts.googleapis.com/css2?family=Bangers&family=DM+Sans:wght@400;500;600;700&family=Space+Mono&display=swap');
*{box-sizing:border-box}html{background:#080b09;color:#f0ecdf;scrollbar-color:#728057 #11150f}body{margin:0;font-family:'DM Sans',Arial,sans-serif}#greg-stage{position:fixed;inset:0;z-index:0;background:#080b09 url(assets/party.png) center/cover}#greg-stage canvas{width:100%;height:100%;display:block}main{position:relative;pointer-events:none}.chapter{height:145svh;position:relative}.opening{height:170svh}.final{height:100svh}.copy{position:sticky;top:55vh;padding:0 6vw;width:80vw}.opening .copy{top:39vh}.eyebrow,.corner,.edition,.film-counter,.scroll-cue{font:10px 'Space Mono',monospace;letter-spacing:2px}.eyebrow{margin:0 0 18px;color:#d8dfb3}.corner{position:fixed;top:32px;left:6vw;z-index:5;font-size:16px;letter-spacing:5px}.corner span{display:block;font-size:8px;letter-spacing:2px;margin-top:8px;color:#bbc2ac}.edition{position:fixed;top:35px;right:6vw;z-index:5;color:#d2d4be;font-size:9px}h1,h2{font-weight:500;font-size:clamp(75px,12vw,190px);line-height:.82;letter-spacing:-.08em;margin:0 0 26px;text-shadow:0 3px 40px #0005}h1{font-size:clamp(150px,23vw,360px)}h2{font-size:clamp(60px,9vw,140px);letter-spacing:-.065em}.sub{font-size:clamp(15px,1.5vw,20px);line-height:1.5;letter-spacing:-.02em;color:#d2d4c6}.scroll-cue{position:absolute;top:90svh;left:6vw;font-size:9px}.scroll-cue span{display:inline-block;margin-left:25px;font-size:20px;animation:drift 2s ease-in-out infinite}.inside .copy{top:61vh}.closer .copy{top:65vh;margin-left:50%;width:50%;padding:0 5vw}.closer h2{font-size:clamp(55px,7vw,110px)}.final .copy{top:50vh}.film-counter{position:fixed;right:5vw;bottom:32px;z-index:5;display:flex;align-items:center;gap:12px;font-size:9px}.film-counter i{height:1px;width:65px;background:#ced2b655}.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#02060488,transparent 60%),linear-gradient(0deg,#04080466,transparent 40%,#0003)}.film-grain{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:.04;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='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.65' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes drift{50%{transform:translateY(8px)}}@media(max-width:700px){.corner{top:24px}.edition{top:28px;font-size:7px}.copy{width:100%;top:56vh}.opening .copy{top:52vh}h1{font-size:45vw}.sub{font-size:15px}.eyebrow{font-size:8px;letter-spacing:1px}.closer .copy{margin-left:0;width:100%;top:66vh;padding:0 6vw}.inside .copy{top:63vh}.film-counter{bottom:24px}.chapter{height:130svh}.opening{height:150svh}.final{height:100svh}}@media(prefers-reduced-motion:reduce){.scroll-cue span{animation:none}}

/* Comic edition */

body{color:#fff5d6}.film-grain{display:none}.vignette{background:linear-gradient(0deg,#23133d55,transparent 35%)}h1,h2{font-family:'Bangers',Impact,'Arial Black',sans-serif;text-transform:uppercase;font-weight:900;letter-spacing:-.035em;color:#ffe35a;-webkit-text-stroke:2px #1c1428;paint-order:stroke fill;text-shadow:4px 6px 0 #1c1428;transform:rotate(-4deg)}h1{font-size:clamp(140px,20vw,310px)}h2{line-height:.94;font-size:clamp(55px,8vw,125px)}.eyebrow{font-weight:700;color:#fff5d6;text-shadow:1px 2px #25163c;letter-spacing:1px}.sub{color:#fff5d6;font-weight:700;text-shadow:1px 2px #25163c}.corner{color:#ffe35a;font-weight:900}.corner span,.edition{color:#fff5d6}.closer h2{font-size:clamp(50px,6vw,95px)}@media(max-width:700px){h1{font-size:43vw}.closer h2{font-size:13vw}.edition{max-width:130px;text-align:right;line-height:1.5}}


/* Keep the dancers clear; title lives in the header. */
.corner{top:22px;left:5vw}.corner h1{font-size:64px;margin:0;line-height:.85;letter-spacing:-2px;-webkit-text-stroke:1.5px #1c1428;text-shadow:2px 3px #1c1428}.corner span{font-size:7px;margin:10px 0 0 4px}.opening .copy{top:78vh}.copy{top:78vh!important;width:100%;padding:0 6vw}.copy h2,.closer .copy h2{font-size:clamp(32px,4vw,58px);line-height:.95}.closer .copy{margin-left:0;width:100%}.copy h2 br{display:none}.copy .eyebrow{margin-bottom:12px}.copy .sub{font-size:14px}.edition{top:31px}.scroll-cue{top:93svh}.film-counter{bottom:18px}@media(max-width:700px){.corner h1{font-size:52px}.corner{top:22px}.copy h2,.closer .copy h2{font-size:32px}.copy .eyebrow{font-size:7px}.opening .copy{top:78vh}}
.corner h1{font-size:104px;letter-spacing:-3px}.corner span{margin-top:13px}@media(max-width:700px){.corner h1{font-size:80px}.corner span{margin-top:10px}}

/* Backyard house party: this stays visible behind the animated cast. */
html,body{background:#101c17}#greg-stage{background:#101c17 url(assets/backyard-wide.png) center center/cover no-repeat}.vignette{background:linear-gradient(0deg,#0a140b55,transparent 36%,#06131916)}.eyebrow,.sub,.edition,.corner span{text-shadow:0 2px 4px #000,0 0 12px #000}.film-counter{color:#fff5d6;text-shadow:0 2px 3px #000}@media(max-width:700px){#greg-stage{background-position:50% 50%}}
#greg-stage{background:#08151a url(assets/party.png) center/cover no-repeat}.party-speech{position:absolute;z-index:4;background:#fff4d8;color:#1d1723;border:2px solid #201829;border-radius:18px;padding:10px 18px;font:bold 19px Arial,sans-serif;white-space:nowrap;opacity:0;transition:opacity .2s,transform .2s;box-shadow:2px 3px 0 #0006;pointer-events:none}.party-speech:after{content:"";position:absolute;bottom:-10px;left:22px;border-top:10px solid #fff4d8;border-right:12px solid transparent}@media(max-width:700px){.party-speech{font-size:13px;padding:7px 11px}}
