/* Deliberately scoped to the header and opening screen only. */
header{height:100px;padding-inline:6%;border-bottom:1px solid #ffffff24;background:linear-gradient(180deg,#031322b8,#03132224)}
header .brand{gap:16px;font-size:17px;letter-spacing:2.2px}header .brand small{font-size:13px;letter-spacing:3.7px;margin-top:7px}header .mark{font-family:Inter,Arial,sans-serif;font-weight:700;font-size:30px;letter-spacing:-2px;padding-right:21px;border-right-color:#ffffff3d}header .mark>span{font-size:17px;right:10px;top:-13px;color:#85c5ff}
header nav{gap:46px}header nav a{font-size:14px;font-weight:500;letter-spacing:.1px;padding-block:18px}header nav a:after{height:1px;bottom:8px}
.hero{padding:180px 6% 160px;min-height:760px;max-height:1080px;align-items:center;background:#031222 url('hero-film-poster.jpg') center/cover}
.hero .hero-video{opacity:1;object-position:60% center}.hero .hero-shade{background:linear-gradient(90deg,rgba(2,14,29,.95) 0%,rgba(2,14,29,.79) 30%,rgba(2,14,29,.26) 68%,rgba(2,14,29,.13)),linear-gradient(0deg,#06101d 0%,transparent 28%,transparent 80%,#03122240)}
.hero .hero-content{text-align:left;max-width:1450px;margin-inline:auto}.hero .eyebrow{font-family:Inter,Arial,sans-serif;font-size:11px;letter-spacing:2.8px;font-weight:500;color:#a6c7e8;margin:0 0 32px}.hero .eyebrow>span{width:34px;margin-right:13px;vertical-align:middle}
.hero h1{font-family:Inter,Arial,sans-serif;font-size:clamp(58px,7.1vw,110px);font-weight:600;letter-spacing:-.065em;line-height:1.04;text-shadow:none;margin:0 0 30px;max-width:1100px}.hero h1>span:last-child{color:#fff}.hero .hero-copy{font-size:17px;line-height:1.75;color:#c7d5e4;max-width:430px;letter-spacing:0}
.hero .hero-bottom{left:6%;right:6%;bottom:32px;padding-top:21px;border-top-color:#ffffff2b;justify-content:space-between}.hero .hero-bottom>a{font-weight:500;font-size:13px;letter-spacing:.3px;gap:18px}.hero .hero-bottom>a span{width:38px;height:38px;border-color:#8aafca80;transition:background .2s}.hero .hero-bottom>a:hover span{background:#ffffff15}.hero .video-toggle{font-size:12px;letter-spacing:.25px;padding:10px 0;color:#afc1d4;border:0;display:flex;align-items:center;gap:10px}.hero .video-toggle:before{content:'';width:6px;height:12px;border-left:2px solid currentColor;border-right:2px solid currentColor;box-sizing:content-box}.hero .video-toggle[aria-label="Play background video"]:before{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor;border-right:0}
@media(min-width:1700px){header{padding-inline:max(6%,calc((100vw - 1450px)/2))}.hero .hero-bottom{left:max(6%,calc((100vw - 1450px)/2));right:max(6%,calc((100vw - 1450px)/2))}}
@media(max-width:1000px){.hero h1{font-size:8vw}.hero{min-height:710px}.hero .hero-shade{background:linear-gradient(90deg,#020e1dea,#020e1d6b),linear-gradient(0deg,#06101d,transparent 35%)}}
@media(max-width:700px){header{height:86px}header .brand{font-size:14px;gap:12px;letter-spacing:1.7px}header .brand small{font-size:11px;letter-spacing:2.7px}header .mark{font-size:26px;padding-right:15px}header .mark>span{font-size:15px;right:6px;top:-11px}header nav{gap:12px}header nav a{padding-block:12px}.hero{min-height:680px;padding:150px 6% 150px}.hero h1{font-size:clamp(36px,8.6vw,60px);letter-spacing:-.055em;line-height:1.12;margin-bottom:27px}.hero .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:24px}.hero .eyebrow>span{display:inline-block;width:20px;margin-right:10px}.hero .hero-copy{font-size:14px;line-height:1.8}.hero .hero-video{object-position:62% center}.hero .hero-bottom{bottom:25px}.hero .hero-shade{background:linear-gradient(90deg,#020e1de0,#020e1d66),linear-gradient(0deg,#06101d,transparent 45%)}.hero .hero-bottom>a{font-size:12px}}

/* Header typography refinement; headline and lower sections retained. */
header nav a{font-size:13px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase}header nav{gap:42px}.hero .hero-bottom>a{font-size:12px;font-weight:500;letter-spacing:1.3px;text-transform:uppercase}@media(max-width:700px){header nav{gap:12px}header nav a{font-size:13px;letter-spacing:1px}}

/* Corporate defense typography: pure white, bold, measured tracking. */
header,header .brand,header .brand small,header .mark,header .mark>span,header nav a,header nav a:hover,header .menu,.hero h1,.hero h1>span,.hero h1>span:last-child,.hero .hero-bottom>a,.hero .hero-bottom>a span{color:#fff}
header .brand{font-weight:700;letter-spacing:2.7px}header .brand small{font-weight:600;letter-spacing:4px}
header nav a{font-weight:600;font-size:13px;letter-spacing:2px}header nav a:after{background:#fff}
.hero h1{font-family:Inter,Arial,sans-serif;font-size:clamp(52px,6.2vw,96px);font-weight:700;letter-spacing:.065em;line-height:1.2;text-shadow:none}
.hero .hero-bottom>a{font-weight:600;letter-spacing:2px}.hero .hero-bottom>a span{border-color:#ffffff80}
@media(max-width:1000px){.hero h1{font-size:6.7vw;letter-spacing:.055em}}
@media(max-width:700px){header .brand{font-size:14px;letter-spacing:1.8px}header .brand small{font-size:11px;letter-spacing:2.8px}header nav a{font-size:13px;letter-spacing:1.8px}.hero h1{font-size:clamp(28px,7.1vw,50px);letter-spacing:.035em;line-height:1.28}.hero .hero-bottom>a{font-size:12px;letter-spacing:1.6px}}

/* Official approved wordmark, original artwork displayed without its outer margins. */
header .official-logo,footer .official-logo{display:block;position:relative;width:180px;aspect-ratio:848/356;flex-shrink:0;overflow:hidden}header .official-logo img,footer .official-logo img{position:absolute;width:197.169812%;max-width:none;height:auto;left:-48.584906%;top:-74.719101%;mix-blend-mode:screen}footer .official-logo{width:210px}@media(max-width:700px){header .official-logo{width:150px}footer .official-logo{width:180px}}

/* Opening screen: latest approved identity and a sequential three-word reveal. */
header{height:88px;padding-inline:4.5%;border:0;background:#03070c}
header .official-logo{width:144px;aspect-ratio:1062/425}header .official-logo img{width:158.6629%;left:-29.8493%;top:-51.0588%;height:auto}
.hero{min-height:720px;height:100svh;max-height:1150px;padding:130px 6% 90px;justify-content:center;align-items:center}
.hero .hero-video{object-position:center}.hero .hero-shade{background:linear-gradient(180deg,#020b1655,rgba(2,12,24,.44) 40%,#06101de6),linear-gradient(90deg,#020b162b,#020b160d,#020b162b)}
.hero .hero-content{text-align:center;max-width:1200px;margin:auto}
.hero h1{font-size:clamp(48px,5.2vw,80px);font-weight:600;letter-spacing:.20em;line-height:1.32;margin:0 auto 30px;max-width:none;color:#fff;text-indent:.20em}
.hero h1>.word-window{display:block;overflow:hidden;animation:none!important}
.hero .hero-word{display:block;animation:mission-word 1.2s ease-in-out both}
.hero .word-window:nth-child(1) .hero-word{animation-delay:.6s}.hero .word-window:nth-child(2) .hero-word{animation-delay:1.45s}.hero .word-window:nth-child(3) .hero-word{animation-delay:2.3s}
.hero .hero-statement{font-size:16px;font-weight:400;line-height:1.7;letter-spacing:.15px;color:#fff;margin:0 auto 32px;animation:mission-support .8s 3.55s both}
.hero .go-deeper{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:44px;min-width:212px;padding:18px 24px;color:#fff;background:#ffffff0d;border:1px solid #ffffff35;font-size:13px;font-weight:500;letter-spacing:2.2px;overflow:hidden;animation:mission-support .8s 3.85s both;transition:background .3s,border-color .3s}
.hero .go-deeper:before{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:#fff;transform:scaleX(.16);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.hero .go-deeper:after{content:'';position:absolute;top:0;left:-60%;width:35%;height:100%;background:linear-gradient(100deg,transparent,#ffffff12,transparent);transform:skewX(-20deg);transition:left .65s}
.hero .go-deeper:hover,.hero .go-deeper:focus-visible{background:#ffffff16;border-color:#ffffff80}.hero .go-deeper:hover:before,.hero .go-deeper:focus-visible:before{transform:scaleX(1)}.hero .go-deeper:hover:after,.hero .go-deeper:focus-visible:after{left:130%}
.hero .deeper-arrow{width:28px;height:1px;background:#fff;position:relative;transition:transform .35s}.hero .deeper-arrow:after{content:'';position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid #fff;border-right:1px solid #fff;transform:rotate(45deg)}.hero .go-deeper:hover .deeper-arrow,.hero .go-deeper:focus-visible .deeper-arrow{transform:translateX(4px)}
@keyframes mission-word{from{opacity:0}to{opacity:1}}@keyframes mission-support{from{opacity:0}to{opacity:1}}
@media(min-width:1700px){header{padding-inline:4.5%}}
@media(max-width:700px){header{height:80px;padding-inline:6%}header .official-logo{width:122px}.hero{min-height:660px;padding:120px 6% 85px}.hero h1{font-size:clamp(32px,7.9vw,53px);letter-spacing:.14em;text-indent:.14em;line-height:1.5;margin-bottom:24px}.hero .hero-statement{font-size:14px;line-height:1.75;max-width:290px;margin-bottom:28px}.hero .go-deeper{min-width:200px;padding:17px 22px}.hero .hero-shade{background:linear-gradient(180deg,#020b1660,#020b1666 50%,#06101de6)}}
@media(prefers-reduced-motion:reduce){.hero .hero-word,.hero .hero-statement,.hero .go-deeper{animation:none;opacity:1;transform:none}.hero .go-deeper,.hero .go-deeper:before,.hero .go-deeper:after,.hero .deeper-arrow{transition:none}}

/* A dark opening veil lifts behind the paced headline. */
.hero:after{content:'';position:absolute;inset:0;background:#000;z-index:0;pointer-events:none;animation:opening-darkness 2s .2s ease-in-out both}
@keyframes opening-darkness{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero:after{animation:none;opacity:0}}

/* Let the footage retain its original color and highlights after the opening fade. */
.hero .hero-shade{display:none;background:none}
.hero .hero-video{opacity:1;filter:none}
.hero h1,.hero .hero-statement,.hero .go-deeper{text-shadow:0 2px 8px rgba(0,0,0,.65)}

/* Even translucent shading behind the text, feathered into the footage. */
.hero .hero-content{width:fit-content;max-width:100%;isolation:isolate}
.hero .hero-content:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:-26px -40px 70px;border:0;border-radius:0;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.48) 16%,rgba(0,0,0,.48) 84%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 15%,#000 85%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 15%,#000 85%,transparent 100%);opacity:0;animation:backing-with-headline 2.9s .6s linear both}
.hero h1{text-shadow:0 1px 1px rgba(255,255,255,.15),0 2px 7px rgba(0,0,0,.65)}
.hero .go-deeper,.hero .go-deeper:hover,.hero .go-deeper:focus-visible{background:#000;color:#fff;border-color:rgba(255,255,255,.48);text-shadow:none;box-shadow:0 4px 16px rgba(0,0,0,.3)}
.hero .go-deeper:after{display:none}
.hero .go-deeper:hover,.hero .go-deeper:focus-visible{border-color:#fff}
@media(max-width:700px){.hero .hero-content:before{inset:-20px -20px 66px}}
@media(prefers-reduced-motion:reduce){.hero .hero-content:before{animation:none;opacity:1}}

/* Match the combined opacity of the three staggered headline words. */
@keyframes backing-with-headline{0%{opacity:0}14.66%{opacity:.10}29.31%{opacity:.26}41.38%{opacity:.40}50%{opacity:.50}58.62%{opacity:.60}70.69%{opacity:.74}85.34%{opacity:.90}100%{opacity:1}}
