/* Home opening: four music films, composed as animated title sequences. */
@font-face{font-family:'Siri Film Serif';src:url('../fonts/siri-titles-serif.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
.home-film{--film-top:0px;--film-accent:var(--gold);position:relative;background:var(--ink);color:var(--white)}
.home-film.has-scroll-film{height:540svh}
.home-film-sticky{position:relative;height:100svh;min-height:480px;isolation:isolate;overflow:hidden;background:var(--ink)}
.has-scroll-film .home-film-sticky{position:sticky;top:0}
.home-film-frame{position:absolute;inset:0;z-index:1;background:var(--ink);clip-path:inset(0)}
.home-film-video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.home-film-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#29232f66,transparent 28%,#29232f12 45%,#29232fbe 100%)}
.home-film-identity{position:absolute;z-index:3;inset:40px 48px auto;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
.home-film-identity h1{display:flex;gap:.26em;margin:0;font-family:var(--sans);font-size:36px;font-weight:500;line-height:1;letter-spacing:-.04em;color:var(--white)}
.home-film-identity h1 span:last-child{color:var(--film-accent)}
.home-film-identity p{margin:0;font-size:17px;letter-spacing:.3em;writing-mode:vertical-rl;line-height:1}
.home-film-title{position:absolute;z-index:3;left:8%;bottom:9%;pointer-events:none}
.home-film-track{margin:0;font-family:'Siri Film Serif','Noto Serif TC',serif;font-weight:500;font-size:clamp(64px,7vw,96px);line-height:1.16;letter-spacing:.025em;color:var(--white)}
.film-title-line{display:block;overflow:hidden;padding:0 .08em .14em 0;margin-bottom:-.08em}
.film-title-line:last-child{margin-left:.85em;color:var(--film-accent)}
.film-title-line>span{display:inline-block;transform-origin:0 100%}
.home-film-orbit{position:absolute;z-index:3;right:48px;bottom:9%;width:70px;height:70px;stroke:var(--film-accent);stroke-width:.7;pointer-events:none;opacity:.8;animation:film-orbit 28s linear infinite}
.home-film-transition{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;visibility:hidden}
.home-film-controls{position:absolute;z-index:4;right:48px;top:100px}
.home-film-play{background:var(--ink);color:var(--white);border:1px solid #fbf8ff80;min-height:44px;padding:10px 14px;font:inherit;font-size:12px;cursor:pointer}
.home-film-controls [hidden]{display:none}
.home-film :focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.home-film-effects{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.home-film-light{position:absolute;inset:-12%;opacity:.4;background:radial-gradient(ellipse at 0% 20%,#e4f58b55,transparent 50%);mix-blend-mode:screen;animation:film-light-drift 12s ease-in-out infinite alternate}
.home-film-prism{position:absolute;inset:-20% -50%;opacity:.25;background:linear-gradient(112deg,transparent 42%,#e8dff166 49%,transparent 56%);mix-blend-mode:screen;animation:film-prism-drift 16s ease-in-out infinite alternate}
.home-film-grain{position:absolute;inset:0;background:url('../video/film-grain.png') repeat;opacity:.07;mix-blend-mode:soft-light}
.home-film-light,.home-film-prism,.home-film-orbit{animation-play-state:paused}
.home-film.effects-active :is(.home-film-light,.home-film-prism,.home-film-orbit){animation-play-state:running}
.is-motion-paused .home-film :is(.home-film-light,.home-film-prism,.home-film-orbit){animation-play-state:paused}
/* Each song gets its own lettering and light, with the performer always visible. */
.home-film[data-look="prism"]{--film-accent:var(--gold)}
.home-film[data-look="prism"] .home-film-track{font-family:var(--sans);font-weight:600;letter-spacing:-.025em}
.home-film[data-look="prism"] .film-title-line:last-child{margin-left:1.55em}
.home-film[data-look="prism"] .home-film-light{background:radial-gradient(ellipse at 100% 30%,#c6a1f877,transparent 55%)}
.home-film[data-look="disco"]{--film-accent:#e8dff1}
.home-film[data-look="disco"] .home-film-light{background:radial-gradient(ellipse at 20% 50%,#bda1e866,transparent 60%)}
.home-film[data-look="disco"] .home-film-title{left:auto;right:8%}
.home-film[data-look="disco"] .film-title-line:last-child{margin-left:.5em}
.home-film[data-look="stage"] .home-film-track{font-family:var(--sans);font-weight:500;letter-spacing:-.025em}
.home-film[data-look="stage"] .home-film-light{background:radial-gradient(ellipse at 50% 0%,#e8dff155,transparent 60%)}
.home-film[data-look="stage"] .home-film-prism{opacity:0}
@keyframes film-light-drift{from{transform:translate3d(-3%,0,0);opacity:.25}to{transform:translate3d(5%,4%,0);opacity:.5}}
@keyframes film-prism-drift{from{transform:translate3d(-15%,0,0) rotate(-4deg)}to{transform:translate3d(20%,0,0) rotate(4deg)}}
@keyframes film-orbit{to{transform:rotate(360deg)}}
/* Sticky geometry and navigation are deliberately independent. */
html:has(.home-film),body:has(.home-film){overflow-x:clip;overflow-y:visible}
.home-stage:has(.home-film){overflow:visible}
.public-surface:has(.home-film)>.nav{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s}
.public-surface.home-nav-visible>.nav{opacity:1;visibility:visible;pointer-events:auto}
.home-music{scroll-margin-top:0}
@media(min-width:901px){.home-film{margin-left:calc(-1 * var(--rail));width:calc(100% + var(--rail))}}
@media(max-width:900px){
 .public-surface:has(.home-film){padding-top:0}
 .home-film-identity{inset:max(28px,env(safe-area-inset-top)) 24px auto}
 .home-film-identity h1{font-size:30px}
 .home-film-identity p{font-size:15px;letter-spacing:.24em}
 .home-film-title{left:24px;bottom:max(56px,calc(env(safe-area-inset-bottom) + 36px))}
 .home-film-track{font-size:clamp(54px,16vw,82px)}
 .home-film-video{object-position:50% 30%}
 .home-film-orbit{right:24px;bottom:max(56px,calc(env(safe-area-inset-bottom) + 36px));width:44px;height:44px}
 .home-film-controls{right:24px;top:112px}
 .home-film[data-look="disco"] .home-film-title{right:24px}
 .home-film[data-look="disco"] .home-film-orbit{right:auto;left:24px}
 .home-music{scroll-margin-top:70px}
}
@media(max-height:540px) and (min-width:601px){.home-film-sticky{min-height:320px}.home-film-title{bottom:30px}.home-film-track{font-size:48px}.home-film-identity{top:24px}}
@media(prefers-reduced-motion:reduce){
 .home-film-light,.home-film-prism,.home-film-orbit{animation:none}
 .home-film-transition{display:none}
 .public-surface:has(.home-film)>.nav{transition:none}
}

.opening-actions{position:fixed;right:20px;bottom:24px;z-index:1000;display:flex;gap:12px;flex-wrap:wrap}.opening-actions a{color:#fff;background:#29232f;padding:12px 16px;border-radius:12px;text-decoration:underline;text-underline-offset:4px}.opening-actions a:focus-visible{outline:3px solid #e9f589;outline-offset:3px}@media(max-width:640px){.opening-actions{right:12px;bottom:12px;gap:8px}.opening-actions a{font-size:13px;padding:10px}}

.opening-actions[hidden]{display:none}
