:root{--motion-fast:160ms;--motion-ui:280ms;--motion-enter:850ms;--motion-ease:cubic-bezier(.22,1,.36,1)}
.site-header{position:fixed;transition:transform .4s var(--motion-ease),background var(--motion-ui),border-color var(--motion-ui);isolation:isolate}
.site-header.is-scrolled{background:#121212f5;border-bottom-color:#ffffff20}
.site-header.is-hidden:not(:focus-within):not(.is-menu-open){transform:translateY(-100%)}
.header-actions{display:flex;align-items:center;gap:22px}
.page-progress{position:fixed;z-index:25;left:0;right:0;top:0;height:2px;pointer-events:none;background:var(--red);transform:scaleX(0);transform-origin:left;will-change:transform}
.desktop-nav a{position:relative;padding:12px 0}
.desktop-nav a[aria-current=location]{color:var(--paper)}
.desktop-nav a[aria-current=location]:before{content:'';position:absolute;bottom:3px;left:0;width:5px;height:5px;border-radius:50%;background:var(--red)}
.back-to-top{position:fixed;bottom:24px;right:24px;z-index:12;background:#171717;color:var(--paper);border:1px solid #ffffff30;width:44px;height:44px;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity var(--motion-ui),transform var(--motion-ui) var(--motion-ease),visibility var(--motion-ui),background var(--motion-fast)}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.back-to-top:hover{background:var(--red)}.back-to-top svg{width:18px;height:18px;transition:transform var(--motion-ui) var(--motion-ease)}
.back-to-top:hover svg{transform:translateY(-3px)}
.hero-aura{position:absolute;z-index:-1;right:2%;top:8%;width:51%;height:80%;pointer-events:none;opacity:.28;background:radial-gradient(ellipse,#b5463c33,transparent 64%);transform-origin:65% 45%;animation:hero-breathe 11s ease-in-out infinite alternate;animation-play-state:paused}
.hero-in-view:not(.motion-reduced):not(.motion-paused) .hero-aura{animation-play-state:running}
@keyframes hero-breathe{to{transform:translate3d(-3%,2%,0) scale(1.16);opacity:.6}}
/* A fixed feathered window travels across registered outlined lettering.
   Opposite transforms keep the duplicate aligned without repainting the mask. */
.backdrop-word{width:max-content;pointer-events:none;-webkit-text-stroke-color:#e5cdc321}
.word-glint{position:absolute;inset:0 auto 0 0;width:24%;overflow:hidden;transform:translateX(33.333333%);mask-image:linear-gradient(105deg,transparent 5%,#000 40%,#000 60%,transparent 95%);-webkit-mask-image:linear-gradient(105deg,transparent 5%,#000 40%,#000 60%,transparent 95%)}
.word-glint-ink{display:block;width:max-content;color:#e4374006;-webkit-text-stroke:1px #f0685ab8;transform:translateX(-8%);opacity:.82;animation:word-reflection 5.5s ease-in-out infinite alternate;animation-play-state:paused}
.hero-in-view:not(.motion-reduced):not(.motion-paused) .word-glint-ink{animation-play-state:running}
@keyframes word-reflection{to{opacity:.48}}
.motion-reduced .word-glint{display:none}
@media(prefers-reduced-motion:reduce){.word-glint{display:none}}
.sequence-indicator{display:block;margin-top:7px;width:38px;height:1px;background:#ffffff18;opacity:0;overflow:hidden;transition:opacity var(--motion-ui)}
.sequence-indicator:after{content:'';display:block;height:100%;width:50%;background:var(--red);transform:translateX(-110%)}
.cinema:has(.portrait-sequence[data-sequence-status=loading]) .sequence-indicator{opacity:1;transition-delay:.3s}
.cinema:has(.portrait-sequence[data-sequence-status=loading]) .sequence-indicator:after{animation:sequence-loading 1.1s ease-in-out infinite}
@keyframes sequence-loading{to{transform:translateX(220%)}}
.motion-paused .hero-aura,.motion-paused .scroll-track:before,.motion-paused .closing-orbit{animation-play-state:paused!important}
body.motion-reduced *,body.motion-reduced *:before,body.motion-reduced *:after{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}
@media(min-width:701px){.mobile-menu{display:none!important}}
@media(max-width:1000px){.header-actions{gap:12px}.site-header .brand img{width:176px}}
@media(max-width:700px){.header-actions{gap:8px}.site-header .brand img{width:166px}.mobile-menu{position:fixed;z-index:19;top:80px;padding-top:26px;padding-bottom:30px;box-shadow:0 25px 40px #0004;overflow:hidden;transform-origin:top}.mobile-menu a{font-family:var(--display);font-size:29px;line-height:1.15}.mobile-menu a:last-child{font-family:var(--body);font-size:13px;border-top:1px solid var(--rule);padding-top:22px}.back-to-top{width:40px;height:40px;bottom:14px;right:14px}.hero-aura{top:45%;width:85%;height:50%;right:-8%}}
@media(prefers-reduced-motion:reduce){.hero-aura,.sequence-indicator:after{animation:none!important}.site-header,.back-to-top,.back-to-top svg{transition:none!important}}
