/* Match the text mask and photo at every viewport. */
.hero-background img{object-position:center center}
.hero-depth-type{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(max-width:760px){.hero-depth-type{inset:auto 0 0;height:auto;aspect-ratio:1672/941}}
/* Short, non-blocking first-visit brand introduction. */
.site-intro{position:fixed;inset:0;z-index:150;background:#090b0c;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s}
.intro-pending .site-intro{opacity:1;visibility:visible;animation:intro-failsafe .45s ease 2.6s forwards}
.intro-stage{display:flex;flex-direction:column;align-items:center;text-align:center;perspective:800px;padding:24px}
.intro-emblem{position:relative;width:132px;height:132px;display:grid;place-items:center;background:#fff;border-radius:24px;box-shadow:0 18px 0 -10px #6f7478,0 28px 60px #0009;transform-style:preserve-3d}
.intro-emblem img{width:119px;height:auto;display:block;border-radius:17px}
.intro-pending .intro-emblem{animation:emblem-arrive 1.35s cubic-bezier(.18,.7,.3,1) both}
.intro-stage strong{font-family:var(--display);font-weight:600;font-size:36px;letter-spacing:4px;margin-top:30px;color:#fff}
.intro-stage>span{color:#c5c9cc;font-size:17px;margin-top:8px}
.intro-progress{width:130px;height:3px;border-radius:3px;background:#ff1720;margin-top:25px;transform-origin:left}
.intro-pending .intro-progress{animation:intro-progress 1.3s ease both}
@keyframes emblem-arrive{0%{opacity:0;transform:translateY(20px) rotateX(24deg) rotateY(-48deg) scale(.86)}60%{opacity:1;transform:translateY(-5px) rotateX(-7deg) rotateY(12deg) scale(1.02)}100%{opacity:1;transform:translateY(0) rotateX(0) rotateY(0) scale(1)}}
@keyframes intro-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes intro-failsafe{to{opacity:0;visibility:hidden}}
/* Existing content reveals, once per page, with limited movement. */
.js.motion-ready .reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
.js.motion-ready .reveal:not(.is-visible){opacity:0;transform:translate3d(0,24px,0)}
.js.motion-ready .reveal.from-left:not(.is-visible){transform:translate3d(-24px,0,0)}
.js.motion-ready .reveal.from-right:not(.is-visible){transform:translate3d(24px,0,0)}
.js.motion-ready .reveal.is-visible{opacity:1;transform:none}
.about-video-section{padding:8px 0 54px}
.about-video-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,330px);align-items:center;gap:clamp(28px,5vw,76px);background:#101314;color:#fff;border:1px solid #303637;border-radius:26px;padding:clamp(24px,4vw,54px);overflow:hidden}
.about-video-copy{max-width:650px}.about-video-copy .section-kicker{color:#d1d5d6}.about-video-copy h2{font-family:var(--display);font-size:clamp(40px,4.6vw,66px);font-weight:600;letter-spacing:-1px;line-height:1.12;text-transform:uppercase;margin:20px 0 24px}
.about-video-copy>p{font-size:clamp(18px,1.7vw,24px);line-height:1.5;color:#d0d5d6;max-width:580px;margin:0}
.video-caption{display:flex;align-items:center;gap:12px;margin-top:32px;color:#afb7ba;font-size:17px}.video-caption .ui-icon{color:var(--red);width:26px;height:26px}
.about-video-media{position:relative;width:100%;aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#060707;border:1px solid #454b4d}
.about-video-media video{display:block;width:100%;height:100%;object-fit:contain;background:#060707;border-radius:inherit}
.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:68px;display:none;place-items:center;background:#ff1720;color:#fff;border:1px solid #ff5960;border-radius:50%;cursor:pointer;box-shadow:0 8px 32px #0006}.js .video-play{display:grid}.video-play .ui-icon{width:28px;height:28px}.video-play[hidden]{display:none}
@media(max-width:760px){.about-video-section{padding:0 0 36px}.about-video-card{grid-template-columns:1fr;gap:26px;border-radius:22px;padding:26px}.about-video-copy h2{font-size:clamp(37px,7.7vw,54px);margin:16px 0 20px}.about-video-copy>p{font-size:18px}.about-video-media{max-width:330px;margin:auto}.video-caption{margin-top:22px;font-size:15px}.about-video-copy .section-kicker{font-size:12px}.js.motion-ready .reveal.from-left:not(.is-visible),.js.motion-ready .reveal.from-right:not(.is-visible){transform:translateY(20px)}}
@media(prefers-reduced-motion:reduce){.site-intro{display:none!important}.intro-emblem,.intro-progress{animation:none!important}.js.motion-ready .reveal,.js.motion-ready .reveal:not(.is-visible){opacity:1;transform:none!important;transition:none!important}}
