.hero .hero-film{object-position:center center}
.hero .hero-side.genre-orbit{position:relative;display:block;width:120px;height:120px;flex:0 0 120px;line-height:1;letter-spacing:0}
.genre-ring{width:100%;height:100%;overflow:visible;animation:genre-turn 42s linear infinite;fill:#f0ede6;font-size:9px;font-family:inherit;font-weight:400}
@keyframes genre-turn{to{transform:rotate(360deg)}}
.hero-motion-toggle{position:absolute;inset:40px;display:grid;place-items:center;background:transparent;border:1px solid #ffffff35;border-radius:50%;color:#f0ede6;cursor:pointer;padding:10px}
.hero-motion-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.hero-motion-toggle:hover{border-color:#ff6b35;color:#ff6b35}.hero-motion-toggle:focus-visible{outline:2px solid #ff6b35;outline-offset:4px}
.motion-play{display:none}.hero.motion-paused .motion-pause{display:none}.hero.motion-paused .motion-play{display:block}.hero.motion-paused .genre-ring{animation-play-state:paused}
@media(max-width:700px){.hero .hero-side.genre-orbit{width:92px;height:92px;flex-basis:92px}.hero-motion-toggle{inset:24px;padding:12px}}
@media(prefers-reduced-motion:reduce){.genre-ring{animation:none}}

/* Fine static screen texture softens compressed footage without extra video weight. */
.hero .hero-film-texture{pointer-events:none;z-index:-2;opacity:.24;background-image:radial-gradient(circle,rgba(230,232,223,.48) .55px,transparent .8px),repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0,rgba(0,0,0,.22) 1px,transparent 1px,transparent 3px);background-size:3px 3px,100% 3px}
@media(max-width:700px){.hero .hero-film-texture{opacity:.18}}
