/* Full-bleed film, editorial typography, quiet navigation. */
.hero.hero-film{isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-height:740px;height:calc(100svh - 104px);max-height:1100px;background:#071726;color:#fff;padding:70px 6% 0;overflow:hidden}
.film-poster,.hero-film .film-video,.film-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-3;pointer-events:none}
.film-poster img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-film .film-video{object-fit:cover;object-position:center;opacity:0;transition:opacity .7s}
.hero-film.film-playing .film-video{opacity:1}
.film-shade{z-index:-2;background:linear-gradient(90deg,#04101fdb 0%,#04101fa3 39%,#04101f12 75%),linear-gradient(0deg,#04101ff2 0%,#04101f88 14%,transparent 48%,#04101f20 100%)}
.film-heading{position:relative;z-index:1}
.film-positioning{font-size:clamp(14px,1.2vw,19px);font-weight:500;letter-spacing:.08em;margin:0 0 27px;display:flex;align-items:center;gap:16px}
.film-positioning::before{content:"";width:30px;height:2px;background:#9ed8f0}
.hero-film h1{font-size:clamp(48px,6.35vw,116px);font-weight:700;letter-spacing:-.065em;line-height:1.4;margin:0;text-shadow:0 2px 24px #04101f33}
.hero-film h1>span{display:block;white-space:nowrap}
.film-emphasis{color:#bce8f7}
.film-footer{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:55px;margin-bottom:38px}
.film-intro p{font-size:clamp(13px,1.05vw,17px);line-height:2.1;letter-spacing:.025em;color:#e3edf3;margin:0}
.film-link{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;font-size:14px;margin-top:23px;padding-bottom:12px;border-bottom:1px solid #ffffff70;transition:color .2s}
.film-link span{font-size:24px;line-height:1}.film-link:hover{color:#bce8f7}
.film-controls{display:flex;align-items:center;gap:34px;font-size:11px;letter-spacing:.04em}
.film-scroll{display:flex;align-items:center;gap:22px;min-height:44px}.film-scroll span{font-size:22px}
.film-services{position:relative;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff38;flex-shrink:0}
.film-services a{display:flex;align-items:center;gap:22px;padding:23px 26px;font-size:14px;letter-spacing:.04em;transition:background .25s}
.film-services a:first-child{padding-left:0}.film-services a+a{border-left:1px solid #ffffff26}.film-services a>span{font-size:10px;font-weight:400;color:#a7bac6}.film-services i{font-style:normal;font-size:21px;margin-left:auto;color:#bddbe9}.film-services a:hover{background:#ffffff0b}
.hero-film a:focus-visible{outline:2px solid #c6efff;outline-offset:5px}
@media(min-width:1600px){.hero.hero-film{padding-top:90px}}
@media(max-width:1000px){.hero.hero-film{height:calc(100svh - 80px);min-height:700px;padding-top:65px}.film-footer{margin-top:80px}.film-controls{gap:18px}.film-scroll{font-size:10px;gap:12px}}
@media(max-width:700px){
.hero.hero-film{height:calc(100svh - 80px);min-height:730px;max-height:1000px;padding:48px 24px 0}
.hero-film h1{font-size:clamp(32px,8.1vw,56px);line-height:1.55;letter-spacing:-.065em}
.film-positioning{font-size:12px;gap:10px;letter-spacing:.025em;margin-bottom:25px}.film-positioning::before{width:19px}
.film-shade{background:linear-gradient(180deg,#04101fc9 0%,#04101f60 28%,#04101f0a 42%,#04101f9c 65%,#04101ff5 92%),linear-gradient(90deg,#04101f44,transparent)}
.film-footer{display:block;margin-top:auto;margin-bottom:18px;padding-top:240px}
.film-intro p{font-size:11px;line-height:2}.film-link{font-size:12px;gap:45px;margin-top:16px;padding-bottom:9px}.film-link span{font-size:21px}
.film-controls{margin-top:20px;justify-content:space-between;gap:12px}.film-scroll{font-size:10px;gap:12px}
.film-services{margin:0 -24px}.film-services a{font-size:11px;padding:17px 12px;gap:8px;letter-spacing:0}.film-services a:first-child{padding-left:20px}.film-services a:last-child{padding-right:20px}.film-services a>span{font-size:8px}.film-services i{font-size:15px}
}
@media(max-width:360px){.hero.hero-film{padding-left:20px;padding-right:20px;min-height:700px}.film-services{margin-left:-20px;margin-right:-20px}.film-services a{padding-left:9px;padding-right:9px;gap:5px}.film-footer{padding-top:215px}.film-positioning{font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-film .film-video{transition:none}.hero-film.film-playing .film-video{opacity:0}}

/* Keep the floating contact from covering the film controls; restore below the FV. */
.film-in-view .persistent-contact{visibility:hidden;pointer-events:none}
@media(max-width:700px){.film-services a{font-size:10px;gap:6px;white-space:nowrap}}
@media(max-width:360px){.film-services a>span{display:none}}
