/* All motion is scoped to the main banner. Background and artwork are independent layers. */
.hero.hero-film {background:#123c2c;color:#fff5df;isolation:isolate}
.hero-film .film-room {position:absolute;inset:-2%;z-index:-2;background:url('assets/motion/room.jpg') center/cover no-repeat;animation:film-camera 18s ease-in-out infinite alternate}
.hero-film .film-light {position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 77% 15%,#ffe2a327,transparent 55%);animation:film-light 7s ease-in-out infinite alternate}
.hero-film .hero-slide {min-height:0;height:auto;padding:0;display:block;background:transparent;transition:opacity .8s ease;overflow:visible}
.hero.hero-film {max-width:1684px;width:100%;margin:0;border:0;border-radius:0;box-shadow:none}
.hero-film .hero-banner {display:block;width:100%;max-width:1684px;height:auto}
.hero-film .film-room::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07140fd6 0%,#07140f8c 34%,#07140f18 66%,transparent 82%)}
.hero-film .hero-copy {width:59%;max-width:none;padding:36px 0 36px 40px;position:relative;z-index:2}
.hero-film .hero-kicker {color:#d7bc82;font-size:12px;letter-spacing:.1em;margin-bottom:20px}
.hero-film .hero-title {font-size:clamp(28px,3.05vw,49px);line-height:1.3;letter-spacing:-.065em;color:#fff5df;word-break:keep-all}
.hero-film .hero-title span,.hero-film .hero-title em {display:block;font-size:inherit;font-style:normal;white-space:nowrap}
.hero-film .hero-title em {color:#e2c48a;margin-top:5px}
.hero-film .hero-actions {margin-top:27px;gap:18px;flex-direction:row}
.hero-film .hero-text-link {color:#fff5df}
.hero-film .film-stage {position:absolute;right:2%;bottom:16px;width:43%;height:94%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.hero-film .film-object {position:relative;width:min(100%,370px);transform-origin:50% 90%}
.hero-film .film-object img {display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 15px 16px #09251b25)}
.hero-film .film-mascot .film-object {width:min(100%,355px)}
.hero-film .is-active .film-object {animation:film-float 6s ease-in-out infinite}
.hero-film .film-cards.is-active .film-object {animation:film-cards 6s ease-in-out infinite}
.hero-film .film-mascot.is-active .film-object {animation:film-mascot 6s ease-in-out infinite}
.hero-film .is-active .hero-copy {animation:film-copy .9s ease both}
.hero-film .film-steam {position:absolute;left:27%;right:27%;top:7%;height:30%;pointer-events:none}
.hero-film .film-steam i {position:absolute;bottom:0;left:15%;width:18%;height:85%;border-left:5px solid #fff3dc75;border-radius:50%;filter:blur(5px);opacity:0}
.hero-film .is-active .film-steam i {animation:film-steam 3.3s ease-out infinite}
.hero-film .film-steam i:nth-child(2) {left:43%;animation-delay:-1.1s}
.hero-film .film-steam i:nth-child(3) {left:72%;animation-delay:-2.2s}
.hero-film .hero-controls {left:36px;bottom:16px;color:#fff5df}
.hero-film button.hero-arrow {position:absolute;top:50%;bottom:auto;z-index:4;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #e4c78a;border-radius:50%;background:rgba(7,20,12,.78);color:#f6e7c2;opacity:1}
.hero-film button.hero-arrow-prev {left:14px;right:auto}
.hero-film button.hero-arrow-next {left:auto;right:14px}
.hero-film .hero-arrow svg {width:22px;height:22px;stroke-width:2.2}
.hero-film [data-carousel-prev] svg {transform:none}
.hero-film .hero-arrow:hover,.hero-film .hero-arrow:focus-visible {background:rgba(7,20,12,.92);color:#fff6df;border-color:#f3e2b4}
.hero-film[data-playing="false"] *,.hero-film[data-playing="false"] *::before,.hero-film[data-playing="false"] *::after {animation-play-state:paused!important}
@keyframes film-camera {from{transform:scale(1)}to{transform:scale(1.035) translateX(-.5%)}}
@keyframes film-light {from{opacity:.35}to{opacity:1}}
@keyframes film-float {0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@keyframes film-cards {0%,100%{transform:perspective(900px) rotateY(-5deg) rotate(-2deg)}50%{transform:perspective(900px) rotateY(5deg) rotate(1deg) translateY(-10px)}}
@keyframes film-mascot {0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-9px)}}
@keyframes film-copy {from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes film-steam {0%{opacity:0;transform:translateY(0) scale(.7)}25%{opacity:.65}100%{opacity:0;transform:translate(8px,-75px) scale(1.4)}}
@media(min-width:1700px){.hero-film .hero-slide{min-height:0;height:auto}}
@media(min-width:761px) and (max-width:1100px){.hero-film .hero-slide{min-height:0;height:auto}}
@media(max-width:760px){.hero-film .hero-slide{min-height:0;height:auto;padding-bottom:0;display:block}.hero-film .hero-copy{width:68%;padding:16px 0 0 14px}.hero-film .hero-kicker{margin-bottom:6px;font-size:10px;color:#ffe39e;text-shadow:0 1px 4px #000}.hero-film .hero-title{font-size:clamp(18px,5.2vw,24px);line-height:1.2;color:#fff9e8;text-shadow:0 2px 3px #00140e,0 6px 14px #000}.hero-film .hero-title em{color:#ffe19a}.hero-film .hero-title span,.hero-film .hero-title em{white-space:normal}.hero-film .hero-actions{margin-top:10px;gap:8px;flex-wrap:nowrap}.hero-film .hero .button,.hero-film .button{min-height:34px;padding:7px 11px;font-size:11px;border-radius:7px;box-shadow:none}.hero-film .hero-text-link{display:none}.hero-film .film-stage{right:-2%;bottom:-8px;width:48%;height:168px}.hero-film .film-object,.hero-film .film-mascot .film-object{width:158px;max-width:100%}.hero-film .film-room{background-position:62% center}.hero-film .film-room::after{background:linear-gradient(90deg,#07140fe0 0%,#07140f80 42%,#07140f14 100%)}.hero-film .film-light{background:radial-gradient(ellipse at 82% 18%,#ffd17855,transparent 56%)}.hero-film .film-steam{display:none}.hero-film .hero-controls{display:none}}
@media(prefers-reduced-motion:reduce){.hero-film *{animation:none!important;transition:none!important}.hero-film .film-steam{display:none}}
@media(max-width:760px){.hero-film button.hero-arrow{width:36px;height:36px;opacity:1}.hero-film button.hero-arrow-prev{left:8px;right:auto}.hero-film button.hero-arrow-next{left:auto;right:8px}.hero-film .hero-arrow svg{width:18px;height:18px}}
