/* A signed title card. Loading remains tied to the actual film download. */
html.intro-loading body{position:fixed;inset:0;width:100%;overflow:hidden!important}
html.intro-loading .opening-stage{visibility:hidden}
.arrival-intro{--arrival-paper:#f4f1eb;--arrival-ink:#292b28;position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;isolation:isolate;background:var(--arrival-paper);color:var(--arrival-ink);padding:max(30px,env(safe-area-inset-top)) clamp(24px,5.5vw,88px) max(54px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;font-family:'DM Sans',Arial,sans-serif}
.arrival-intro[hidden]{display:none}
.arrival-top{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:50px}
.arrival-byline{display:grid;gap:2px;font-size:13px;font-weight:500;letter-spacing:.005em}
.arrival-byline small{font-size:11px;font-weight:400;color:#71716a}
.arrival-intro button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:0;border-radius:0;box-shadow:none;color:var(--arrival-ink);font-size:12px;line-height:1.5;font-weight:400;white-space:nowrap}
#arrival-skip{border-bottom:1px solid #9b9a9180}
#arrival-skip svg{flex:none;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.arrival-intro button:focus-visible{outline:2px solid #776347;outline-offset:6px}
.arrival-identity{align-self:center;justify-self:center;width:min(540px,68vw);margin:-14px 0 30px;text-align:center}
.arrival-title{width:100%;margin:0;font-size:inherit;font-weight:400;line-height:1;animation:signature-in 1.2s .1s cubic-bezier(.22,1,.36,1) both}
.arrival-title img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.arrival-role{display:flex;justify-content:center;gap:15px;align-items:center;font-size:11px;color:#696960;line-height:1.6;margin:24px 0 0;animation:arrival-soft .7s .45s both}
.arrival-role span{color:#a09a8e;font-weight:300}
.arrival-bottom{justify-self:center;width:min(360px,100%);min-height:72px;animation:arrival-soft .7s .15s both}
.arrival-load{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;min-height:40px;margin-bottom:14px;font-size:12px;line-height:1.6;color:#65665e}
#arrival-status{max-width:290px}
#arrival-percent{flex:none;font-size:12px;font-variant-numeric:tabular-nums;color:#454840}
.arrival-track{height:2px;width:100%;background:#d7d5cc;overflow:hidden}
.arrival-track i{display:block;height:100%;background:#81735a;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
#arrival-retry{display:flex;margin-top:12px;text-decoration:underline;text-underline-offset:5px}
#arrival-retry[hidden]{display:none}
.arrival-intro.is-leaving{pointer-events:none;animation:arrival-exit .7s cubic-bezier(.4,0,.2,1) both}
@media(hover:hover) and (pointer:fine){#arrival-skip:hover{color:#746247;border-color:#746247}#arrival-skip:hover svg{transform:translateX(4px)}#arrival-retry:hover{color:#746247}}
html.opening-active{overscroll-behavior-y:none;scroll-behavior:auto!important}
html.opening-active body{overscroll-behavior-y:none;scroll-behavior:auto!important}
.opening{height:var(--film-height,360svh);overflow-anchor:none}
.opening:focus{outline:none}
.opening-stage{touch-action:pan-y pinch-zoom;contain:paint}
.opening-top{top:max(28px,env(safe-area-inset-top))}
.opening-bottom{bottom:max(30px,env(safe-area-inset-bottom))}
#skip-opening,#play-opening{min-height:48px}
#opening-film{transition:none;will-change:opacity}
.opening-copy h2{font-family:'Newsreader',Georgia,serif;letter-spacing:-.04em}
.opening-copy h2 em{font-family:inherit}
.opening-scroll{animation:arrival-nudge 2.4s ease-in-out infinite}
#scene{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
@keyframes signature-in{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(5px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes arrival-soft{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes arrival-exit{to{opacity:0}}
@keyframes arrival-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media(max-width:760px){
 .arrival-intro{padding:max(22px,env(safe-area-inset-top)) 26px max(36px,env(safe-area-inset-bottom))}
 .arrival-top{gap:16px}.arrival-byline{font-size:12px}.arrival-byline small{font-size:10px}.arrival-intro button{font-size:11px;gap:12px}
 .arrival-identity{width:100%;max-width:440px;margin:-20px 0 16px}
 .arrival-role{font-size:10px;gap:12px;margin-top:20px}
 .arrival-bottom{width:100%;max-width:360px;min-height:70px}
 .opening-bottom{display:grid;grid-template-columns:1fr auto;gap:14px 16px;align-items:center}
 #play-opening{justify-self:start;font-size:12px;padding:12px 18px}#opening-time{font-size:11px}
 .opening-scroll{grid-column:1/-1;justify-self:center;margin:0;font-size:9px}
 .opening-top>span{font-size:9px}.opening-top small{font-size:7px}.opening-top button{font-size:11px}
 .opening-copy{bottom:28%;max-width:90%;}.opening-copy h2{font-size:clamp(38px,11vw,72px);line-height:1.08;margin:18px 0}.opening-copy p{font-size:13px;line-height:1.5}.opening-kicker{font-size:8px;line-height:1.7}
}
@media(max-height:500px){
 .arrival-intro{padding:12px max(26px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(26px,env(safe-area-inset-left))}
 .arrival-top{min-height:44px}.arrival-identity{width:min(280px,60vw);margin:16px 0}.arrival-role{margin-top:8px;font-size:10px}
 .arrival-bottom{min-height:45px}.arrival-load{min-height:24px;margin-bottom:8px}
 .opening-top{top:14px}.opening-bottom{bottom:16px;display:flex}.opening-scroll{margin-left:auto}.opening-copy{bottom:28%}.opening-copy h2{font-size:40px;margin:10px 0}.opening-kicker,.opening-copy p{display:none}
}
@media(prefers-reduced-motion:reduce){
 .arrival-title,.arrival-role,.arrival-bottom,.opening-scroll{animation:none}
 .arrival-intro.is-leaving{animation:none;opacity:0}.arrival-track i,#arrival-skip svg{transition:none}
}