/* Scoped homepage film treatment. */
main .hero{display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);gap:0;min-height:620px;overflow:hidden;background:#00307f}
main .hero:after{display:none}
main .hero .hero-inner{width:auto;max-width:none;z-index:2;padding:68px 7% 44px 11%;align-self:center;pointer-events:auto}
main .hero h1{font-size:clamp(52px,5.1vw,79px);line-height:1.01;max-width:700px;letter-spacing:-.035em}
main .hero .hero-inner>p:not(.eyebrow):not(.hero-note){max-width:480px;font-size:17px;line-height:1.6}
main .hero .actions{display:flex;flex-wrap:wrap;gap:11px}
main .hero .actions .btn{font-size:12px;padding:14px 16px}
main .hero .journey{display:flex;flex-wrap:wrap;gap:9px;margin-top:33px}
main .hero .journey span{font-size:10px;letter-spacing:.09em;border-top:1px solid #7ec8e7;padding-top:10px;color:#d7f3ff}
main .hero .hero-note{font-size:10px;line-height:1.5;margin-top:15px;max-width:470px}
.sp-film{position:relative;z-index:2;margin:0;min-width:0;min-height:620px;background:#092b45}
.sp-film-screen{position:absolute;inset:0;overflow:hidden}
.sp-film video{width:100%;height:100%;object-fit:cover;display:block;background:#102f45}
.sp-film-shade{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,#001d4690,transparent 32%,transparent 78%,#001d4640)}
.sp-film-top,.sp-film-bottom{position:absolute;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;color:#fff;font:700 10px Arial,sans-serif;letter-spacing:.16em;text-shadow:0 1px 8px #002047}
.sp-film-top{top:28px}.sp-film-bottom{bottom:39px}.sp-film-bottom span{font-size:13px;letter-spacing:.1em}
.sp-film-toggle{cursor:pointer;border:1px solid #ffffffb3;background:#002955a6;color:white;padding:11px 16px;font:700 11px Arial,sans-serif;letter-spacing:.05em}
.sp-film-toggle:hover,.sp-film-toggle:focus-visible{background:#ffd04b;color:#00307f;outline:2px solid #fff;outline-offset:2px}
.sp-film-track{position:absolute;bottom:23px;left:4%;right:4%;height:2px;background:#ffffff70}.sp-film-track i{display:block;height:100%;width:0;background:#ffd04b}
.sp-film figcaption{position:absolute;bottom:2px;left:4%;right:4%;z-index:2;color:#eef8ff;font:9px/1.2 Arial,sans-serif;letter-spacing:.02em}
@media(max-width:900px){main .hero{display:flex;flex-direction:column;min-height:0}main .hero .hero-inner{order:2;padding:34px 6% 40px}main .hero h1{font-size:clamp(43px,9vw,67px)}main .hero .hero-inner>p:not(.eyebrow):not(.hero-note){font-size:15px}.sp-film{order:1;width:100%;height:45vw;min-height:250px;max-height:490px}.sp-film-top{top:17px}.sp-film-bottom{bottom:35px}main .hero .journey{margin-top:24px}}
@media(max-width:520px){.sp-film{height:58vw;min-height:225px}main .hero .hero-inner{padding:30px 6% 35px}main .hero h1{font-size:44px}main .hero .actions .btn{padding:12px 13px}main .hero .journey span{font-size:9px}.sp-film-top{font-size:8px}.sp-film-bottom span{font-size:10px}.sp-film-toggle{padding:8px 11px}}
@media(prefers-reduced-motion:reduce){.sp-film-track i{transition:none}}
body:has(.sp-film) .experience-motion{font-size:0;width:40px;height:40px;padding:0;display:grid;place-items:center}
body:has(.sp-film) .experience-motion:after{content:'Ⅱ';font-size:16px;line-height:1}
body:has(.sp-film) .experience-motion[aria-pressed="false"]:after{content:'▶';font-size:13px}
/* Keep the cinematic frame compact while the surrounding hero still breathes. */
.sp-film{width:85%;min-height:527px;align-self:center;justify-self:center;border-radius:18px;overflow:hidden;box-shadow:0 22px 48px #001b3b66}
@media(max-width:900px){.sp-film{width:85%;height:38.25vw;min-height:213px;max-height:416px;margin:24px auto 0}}
@media(max-width:520px){.sp-film{height:49.3vw;min-height:191px;margin-top:18px}}
