:root{--black: #070707;--bone: #e8e4da;--bone-dim: #a7a297;--accent: #b6412f;--bar: clamp(28px, 7vh, 88px);--serif: "Cormorant Garamond", Georgia, serif;--sans: "Space Grotesk", system-ui, sans-serif;--film: grayscale(1) contrast(1.18) brightness(.9)}*{margin:0;padding:0;box-sizing:border-box}html{background:var(--black)}body{background:var(--black);color:var(--bone);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}section{position:relative;width:100%}.film-overlay{position:fixed;inset:0;z-index:9000;pointer-events:none}#grain{position:absolute;inset:0;width:100%;height:100%;opacity:.07;mix-blend-mode:screen}.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.6) 100%)}.bar{position:absolute;left:0;right:0;height:var(--bar);background:#000}.bar--top{top:0}.bar--bottom{bottom:0}body.curtain-up{overflow:hidden;height:100vh}.curtain{position:fixed;inset:0 -4vw;z-index:9500;overflow:hidden;pointer-events:none;transform-origin:50% 0;will-change:transform;background-color:#4a0d0d;background-image:repeating-linear-gradient(90deg,#00000073 0,#0000 1.6%,#ffaa8c1c,#0000 4.4%,#00000073 6%),linear-gradient(90deg,rgba(0,0,0,.55) 0,transparent 9%,transparent 91%,rgba(0,0,0,.55) 100%),linear-gradient(180deg,#5c1111,#3d0808 58%,#220404);box-shadow:inset 0 -60px 90px -30px #000000bf;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H100 V95 Q93.75 93.2 87.5 95 T75 95 T62.5 95 T50 95 T37.5 95 T25 95 T12.5 95 T0 95 Z' fill='%23fff'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0 H100 V95 Q93.75 93.2 87.5 95 T75 95 T62.5 95 T50 95 T37.5 95 T25 95 T12.5 95 T0 95 Z' fill='%23fff'/%3E%3C/svg%3E");mask-size:100% 100%;mask-repeat:no-repeat}.curtain:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6vh;background:linear-gradient(180deg,transparent,rgba(0,0,0,.6));pointer-events:none}.film-overlay{opacity:0}.stack{position:relative}.title{position:sticky;top:0;z-index:0;background:#000;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:1.4rem;padding:10vh 6vw;overflow:hidden;perspective:1000px}.title__world{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4rem;transform-style:preserve-3d;will-change:transform}.title__moon{position:absolute;inset:0;pointer-events:none;background:radial-gradient(42% 32% at 66% 27%,rgba(226,234,243,.72),rgba(200,214,229,.22) 44%,transparent 72%);filter:blur(7px)}.title__dust{position:absolute;inset:0;pointer-events:none}.title__mote{position:absolute;border-radius:50%;background:radial-gradient(circle,#e8e4dae6,#e8e4da00 70%);filter:blur(1.4px);will-change:transform,opacity}.title__spot{position:absolute;inset:0;pointer-events:none;background:radial-gradient(74% 64% at 60% 34%,rgba(232,228,218,.2),rgba(232,228,218,.06) 48%,transparent 76%),linear-gradient(180deg,transparent 62%,rgba(232,228,218,.05) 82%,rgba(232,228,218,.1) 100%)}.title__beams{position:absolute;inset:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen;opacity:.55;filter:blur(2px);will-change:transform}.title__beam{position:absolute;top:-12%;height:124%;background:linear-gradient(90deg,transparent 0%,rgba(232,228,218,.08) 14%,rgba(232,228,218,.22) 50%,rgba(232,228,218,.08) 86%,transparent 100%);filter:blur(7px);will-change:transform,opacity}.title__layer{display:flex;flex-direction:column;align-items:center;gap:1.2rem;will-change:transform}.title__kicker{font-size:.82rem;letter-spacing:.46em;color:var(--bone);max-width:40ch;line-height:1.8;text-shadow:0 1px 18px rgba(0,0,0,.95)}.title__main{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,25vw,22rem);line-height:.9;letter-spacing:.01em;text-shadow:-2px 3px 16px rgba(0,0,0,.72),1px -1px 1px rgba(235,231,221,.18)}.title__scroll{position:absolute;left:0;right:0;bottom:calc(var(--bar, 0px) + 4vh);text-align:center;font-size:.78rem;letter-spacing:.5em;color:#e8e4dad9;text-shadow:0 1px 18px rgba(0,0,0,.9)}.scene{height:240vh}#sceneBirds{position:relative;z-index:1}.scene__stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#000}.scene__stage:before{content:"";position:absolute;left:0;right:0;top:0;height:14vh;background:linear-gradient(to top,transparent,#000);pointer-events:none;z-index:3}.scene__stage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:36vh;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.6) 34%,transparent 100%);pointer-events:none;z-index:3}.scene__svg{position:absolute;inset:0;width:100%;height:100%;filter:var(--film)}.scene__svg--vector{filter:none;background:#000}.scene__svg--vector svg{width:100%;height:100%;display:block}#sceneEating .scene__svg--vector{background:radial-gradient(58% 56% at 55% 40%,rgba(160,172,192,.34),rgba(118,130,150,.12) 46%,transparent 72%),#000}.scene__line{position:absolute;z-index:4;left:0;right:0;top:calc(var(--bar) + 6vh);text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,3.6vw,2.8rem);color:var(--bone);padding:0 6vw;text-shadow:0 2px 26px rgba(0,0,0,.85)}.scene__line--bottom{top:auto;bottom:calc(var(--bar) + 6vh)}.scene--dual{height:320vh}.scene__line--beat{top:auto;bottom:calc(var(--bar) + 8vh)}.scene__line--beat-stacked{bottom:calc(var(--bar) + 2vh);font-size:clamp(1.1rem,3vw,2.2rem);color:var(--bone-dim)}.scene--portrait{height:220vh}.portrait{position:absolute;inset:0;display:grid;place-items:center;padding:12vh 6vw 22vh}.portrait svg{width:auto;height:min(64vh,560px);max-width:90vw;display:block;overflow:visible}.intertitle-scene{position:relative;height:200vh;background:#000}.intertitle-stage{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}.constellation{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.intertitle-scene .intertitle{position:relative;z-index:1}.con-star{position:absolute}.con-star__dot{display:block;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(240,236,226,1),rgba(210,222,236,.55) 40%,transparent 72%);box-shadow:0 0 7px #ece7dc8c}.intertitle--long{max-width:20ch}.en--lead{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.5rem,4.4vw,3.4rem);line-height:1.28;letter-spacing:0;color:var(--bone);margin-top:0}.intertitle{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.8rem,5.5vw,4.6rem);line-height:1.2;text-align:center;padding:0 8vw;max-width:22ch}.sv{display:block;font-family:var(--serif)}.sound-toggle{position:fixed;left:1.2rem;bottom:calc(var(--bar) + 1.2rem);z-index:9200;display:inline-flex;align-items:center;gap:.6rem;padding:.6rem .9rem;background:#0707078c;border:1px solid rgba(232,228,218,.3);color:var(--bone);font-family:var(--sans);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(4px);transition:border-color .3s ease,background .3s ease,transform .16s ease}.sound-toggle:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.sound-toggle:hover{border-color:var(--bone)}}.sound-toggle__dot{width:7px;height:7px;border-radius:50%;background:var(--bone-dim);transition:background .3s ease,box-shadow .3s ease}.sound-toggle[aria-pressed=true] .sound-toggle__dot{background:var(--accent);box-shadow:0 0 10px var(--accent)}.sound-hint{position:fixed;left:1.2rem;bottom:calc(var(--bar) + 3.4rem);z-index:9200;font-family:var(--sans);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--bone-dim);text-shadow:0 1px 12px rgba(0,0,0,.85);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden}@media(prefers-reduced-motion:no-preference){.sound-toggle--hint{animation:soundNudge 2.6s ease-in-out infinite}}@keyframes soundNudge{0%,to{border-color:#e8e4da4d;box-shadow:0 0 #e8e4da00}50%{border-color:#e8e4dab3;box-shadow:0 0 14px #e8e4da47}}.finale{background:#000;position:relative}.crawl{height:100vh;overflow:hidden;position:relative}.crawl__inner{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;padding:0 6vw}.crawl__role{font-size:.72rem;letter-spacing:.5em;color:var(--bone-dim);margin-top:1.6rem}.crawl__name{font-family:var(--serif);font-size:clamp(1.3rem,3vw,2.4rem)}.link{color:var(--bone);text-decoration:none;border-bottom:1px solid rgba(232,228,218,.3);transition:color .3s ease,border-color .3s ease,opacity .15s ease}@media(hover:hover)and (pointer:fine){.link:hover{color:var(--accent);border-color:var(--accent)}}.link:active{opacity:.6}.link:focus-visible{outline:1px solid var(--accent);outline-offset:4px;border-radius:1px}.endcard__hidden{position:absolute;inset:0;display:grid;place-items:center;gap:.7rem;text-align:center;padding:12vh 6vw;opacity:0;--mx: 50%;--my: 50%;-webkit-mask-image:radial-gradient(circle 260px at var(--mx) var(--my),#000 0%,#000 52%,rgba(0,0,0,.3) 78%,transparent 94%);mask-image:radial-gradient(circle 260px at var(--mx) var(--my),#000 0%,#000 52%,rgba(0,0,0,.3) 78%,transparent 94%)}.endcard__title{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,8vw,6.5rem);line-height:.95;color:var(--bone)}.endcard__meta{margin:0;font-family:var(--sans);font-size:clamp(.62rem,1.6vw,.8rem);letter-spacing:.42em;text-transform:uppercase;color:#e8e4dae0;text-shadow:0 1px 14px rgba(0,0,0,.9)}.endcard__spot{position:absolute;left:0;top:0;opacity:0;width:680px;height:680px;margin:-340px 0 0 -340px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(236,231,220,.18) 0%,rgba(236,231,220,.08) 40%,transparent 70%);mix-blend-mode:screen;will-change:transform}@media(prefers-reduced-motion:reduce){#grain,.curtain,.title__beams{display:none}.film-overlay{opacity:1}body.curtain-up{overflow:auto;height:auto}}@media(max-width:640px){:root{--bar: clamp(18px, 4vh, 40px)}.scene__line,.scene__line--beat{font-size:clamp(1.15rem,6vw,1.8rem)}.portrait svg{height:min(48vh,420px)}}
