/* Motion is confined to media; all copy and controls stay still. */
.hero-photo>.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% center;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.hero.film-playing .hero-film{opacity:1}
.hero.film-playing .hero-frame.is-active{opacity:0}
.hero-film-link{display:inline-flex;gap:12px;align-items:center;color:#e8d1b5;font-size:13px;margin-top:20px;border-bottom:1px solid #e8d1b560;padding-bottom:3px}
.hero-film-link[hidden],.hero-film-toggle[hidden]{display:none}
.hero-film-toggle{position:absolute;right:24px;top:30px;z-index:4;border:1px solid #ffffff40;border-radius:20px;background:#171c1f88;color:#e9eee7;font-size:11px;padding:5px 13px;backdrop-filter:blur(8px);cursor:pointer}
.film-story{background:#171e20;color:#e6eae3;padding:80px 0}
.film-story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.film-story .eyebrow{color:var(--gold)}
.film-story h2{margin-bottom:22px}
.film-story p:not(.eyebrow){color:#b8c2b9;font-size:15px;line-height:2;max-width:470px}
.film-story figure{margin:0;position:relative;overflow:hidden}
.film-story figure img{width:100%;aspect-ratio:1.65;object-fit:cover;transition:transform 1s}
.film-story figure:hover img{transform:scale(1.035)}
.film-story figcaption{font-size:11px;color:#aab5aa;margin-top:12px}
.film-story .inline-link{color:var(--gold)}
.film-index{display:flex;flex-wrap:wrap;gap:20px;margin:35px 0 0;font-size:13px;color:#657067}
.film-index a{padding-bottom:4px;border-bottom:1px solid #adb8ad}
.film-player-card{padding-block:66px;border-top:1px solid var(--line);display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:start;scroll-margin-top:35px}
.film-player-card h2{margin-bottom:18px;font-size:34px}
.film-player-card p:not(.eyebrow){font-size:15px;color:#667169;line-height:2}
.archive-player{display:block;width:100%;aspect-ratio:16/9;background:#111a1c;object-fit:contain}
.film-length{display:block;font:12px/1.7 var(--sans);color:#7c867c;margin-top:15px;letter-spacing:.06em}
.film-caption{color:#7c867c;font-size:11px;line-height:1.8;margin-top:12px}
.source-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding:45px 0 80px}
.source-scenes article{border-top:1px solid var(--line);padding-top:25px}
.source-scenes article>span{color:#a7835e;font:13px Georgia,serif}
.source-scenes h3{font-size:21px;margin:14px 0}
.source-scenes p{font-size:14px;color:#667169;line-height:1.95}
.archive-story{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding-block:45px}
.archive-story figure{margin:0}
.archive-story img{width:100%;aspect-ratio:1.6;object-fit:cover}
.archive-story figcaption{font-size:11px;color:#7c867c;margin-top:10px}
.archive-story h2{margin:15px 0 22px}
.archive-story p{font-size:15px;color:#677269;line-height:2}
.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}
.reveal-ready.is-revealed{opacity:1;transform:none}
@media(max-width:1050px){.film-story-grid,.film-player-card,.archive-story{gap:35px}.film-player-card h2{font-size:28px}}
@media(max-width:700px){.hero-photo>.hero-film{object-position:65% center}.hero-film-toggle{top:16px;right:20px}.hero-film-link{font-size:12px;margin-top:15px}.film-story{padding:50px 0}.film-story-grid,.film-player-card,.archive-story{grid-template-columns:1fr;gap:28px}.film-story h2{font-size:28px}.film-player-card{padding-block:42px}.film-player-card h2{font-size:26px}.source-scenes{grid-template-columns:1fr;gap:28px;padding-bottom:45px}.film-index{gap:15px;font-size:12px}.archive-story{padding-block:28px}.film-story p:not(.eyebrow),.film-player-card p:not(.eyebrow){font-size:14px}.hero .actions{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.hero[data-scene="3"] .hero-frame.is-active{animation:none;transform:none}.reveal-ready{opacity:1;transform:none;transition:none}.film-story figure img{transition:none}.hero-photo>.hero-film{transition:none}}

/* Five visual movements; text remains anchored and all movement can be stopped. */
.hero-frame.is-active{animation:scene-camera 24s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.hero.motion-running .hero-frame.is-active{animation-play-state:running}
.hero[data-scene="0"] .hero-frame.is-active{animation-name:luxury-camera;transform-origin:68% 45%}
.hero[data-scene="1"] .hero-frame.is-active{animation-name:system-camera;transform-origin:50% 45%}
.hero[data-scene="2"] .hero-frame.is-active{animation-name:experience-camera;transform-origin:70% 50%}
.hero[data-scene="3"] .hero-frame.is-active{animation-name:humanity-camera;transform-origin:65% 40%}
.hero[data-scene="4"] .hero-frame.is-active{animation-name:listening-camera;transform-origin:65% 52%}
@keyframes luxury-camera{from{transform:scale(1.015) translate3d(.3%,0,0)}to{transform:scale(1.085) translate3d(-.6%,.3%,0)}}
@keyframes system-camera{from{transform:scale(1.015) translate3d(0,.5%,0)}to{transform:scale(1.09) translate3d(0,-.8%,0)}}
@keyframes experience-camera{from{transform:scale(1.05) translate3d(1.2%,0,0)}to{transform:scale(1.085) translate3d(-1.4%,.3%,0)}}
@keyframes humanity-camera{from{transform:scale(1.015)}to{transform:scale(1.08) translate3d(-.7%,.4%,0)}}
@keyframes listening-camera{from{transform:scale(1.025) translate3d(-.6%,0,0)}to{transform:scale(1.085) translate3d(.8%,-.5%,0)}}
.hero-luxury{position:absolute;inset:0;opacity:0;transition:opacity 1.3s ease;pointer-events:none;background:#171c1f}
.hero.luxury-playing .hero-luxury{opacity:1}
.hero.luxury-playing .hero-frame.is-active{opacity:0}
.hero-luxury .luxury-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;opacity:0;transition:opacity 1.8s ease;will-change:transform}
.hero-luxury .luxury-frame.is-active{opacity:1;animation:luxury-camera 8.5s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:68% 50%}
.hero.motion-running .luxury-frame.is-active{animation-play-state:running}
.hero-sensing{position:absolute;inset:0;overflow:hidden;opacity:0;pointer-events:none;transition:opacity 1.5s ease;mix-blend-mode:screen}
.hero.motion-running[data-scene="4"] .hero-sensing{opacity:.65}
.hero-sensing i{position:absolute;left:70%;top:48%;width:25vw;height:13vw;min-width:220px;min-height:115px;margin-left:-12.5vw;margin-top:-6.5vw;border:1px solid #b9d6e84d;border-radius:50%;box-shadow:0 0 18px #b1d6f217;animation:sensing-ripple 9s ease-out infinite;animation-play-state:paused}
.hero.motion-running[data-scene="4"] .hero-sensing i,.hero.motion-running[data-scene="4"] .hero-sensing span{animation-play-state:running}
.hero-sensing i:nth-child(2){animation-delay:-3s}.hero-sensing i:nth-child(3){animation-delay:-6s}
.hero-sensing span{position:absolute;left:58%;top:23%;width:32%;height:46%;border-radius:50%;background:radial-gradient(ellipse,#a2c6e326,transparent 67%);animation:sensing-breath 8s ease-in-out infinite alternate;animation-play-state:paused}
@keyframes sensing-ripple{0%{transform:scale(.65);opacity:0}20%{opacity:.55}100%{transform:scale(2.3);opacity:0}}
@keyframes sensing-breath{from{transform:scale(.8);opacity:.25}to{transform:scale(1.15);opacity:.7}}
@media(max-width:700px){.hero-luxury .luxury-frame{object-position:62% center}.hero-sensing i{left:72%;margin-left:-110px;margin-top:-57px}.hero-sensing span{left:30%;width:70%}}
@media(prefers-reduced-motion:reduce){.hero .hero-frame.is-active,.hero .luxury-frame.is-active{animation:none!important;transform:none!important}.hero-luxury,.luxury-frame,.hero-sensing{transition:none!important}.hero-sensing{display:none}}

/* Additional imagery stays behind the approved copy; original images are fallbacks. */
.scene-gallery{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 1.2s ease;background:#171c1f}
.scene-gallery.is-visible{opacity:1}
.hero.gallery-playing .hero-frame.is-active{opacity:0}
.scene-frame{position:absolute;inset:0;opacity:0;transition:opacity 1.5s ease;overflow:hidden}
.scene-frame.is-active{opacity:1}
.scene-frame>img,.scene-frame>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}
.scene-frame.is-active>img{animation:scene-camera 12s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:65% center}
.hero.motion-running .scene-frame.is-active>img{animation-play-state:running}
@keyframes scene-camera{from{transform:scale(1.015) translate3d(.5%,.2%,0)}to{transform:scale(1.07) translate3d(-.6%,-.3%,0)}}
.scene-gallery[data-gallery="1"] .scene-frame>img{object-position:70% center}
.scene-frame.is-lab{background:linear-gradient(90deg,#171c1f 25%,#252c2e 72%,#323b3c)}
.scene-frame.is-lab>img,.scene-frame.is-lab>video{left:40%;width:60%;object-fit:contain;object-position:70% center;mask-image:linear-gradient(90deg,transparent,#000 13%)}
.scene-frame.is-lab>img{transform-origin:75% center}
.scene-frame.is-calibration{background:#202729}
.scene-frame.is-calibration>img{left:30%;width:70%;object-fit:contain;object-position:75% center}
.scene-frame>video{opacity:0;transition:opacity .6s ease}
.scene-frame.video-ready>video{opacity:1}
.scene-shots{position:absolute;right:26px;bottom:146px;z-index:4;display:flex;gap:7px}
.scene-shots[hidden]{display:none}
.scene-shots button{width:31px;height:28px;border:1px solid #ffffff30;background:#171c1f65;color:#d8e0d6;font:10px/1 Georgia,serif;cursor:pointer;backdrop-filter:blur(6px)}
.scene-shots button[aria-pressed="true"]{border-color:#cfa879;color:#e8c79d;background:#171c1fa0}
.scene-shots button:focus-visible{outline:2px solid #e8c79d;outline-offset:3px}
.hero[data-scene="4"][data-gallery-shot]:not([data-gallery-shot="0"]) .hero-sensing{opacity:0}
@media(max-width:700px){.scene-frame.is-lab>img,.scene-frame.is-lab>video{left:0;width:100%;object-fit:cover;object-position:67% 48%;mask-image:none}.scene-frame.is-calibration>img{left:0;width:100%;object-fit:cover;object-position:66% center}.scene-shots{right:24px;bottom:181px}.scene-shots button{width:32px;height:30px}.scene-gallery[data-gallery="1"] .scene-frame>img{object-position:65% center}}
@media(prefers-reduced-motion:reduce){.scene-gallery,.scene-frame,.scene-frame>video{transition:none!important}.scene-frame>img{animation:none!important;transform:none!important}}
