/* Original infrastructure film and a restrained editorial opening. */
.hero--film{height:100svh;min-height:740px;max-height:1300px;background:#071422}
.hero-media,.hero-shade{position:absolute;inset:0;pointer-events:none}
.hero-media{z-index:-2;overflow:hidden}
.hero-poster,.hero-film{position:absolute;width:100%;height:100%;object-fit:cover;object-position:58% center;inset:0}
.hero-film{opacity:0;transition:opacity .8s ease}
.hero--film.is-film-ready .hero-film{opacity:1}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(3,9,17,.92) 0%,rgba(3,9,17,.73) 37%,rgba(3,9,17,.18) 76%,rgba(3,9,17,.3)),linear-gradient(0deg,#040b17 0%,transparent 24%,transparent 76%,rgba(3,9,17,.65))}
.hero--film .hero-content{padding-top:clamp(175px,24vh,300px)}
.hero--film .eyebrow{font-size:10px;letter-spacing:.19em;color:#d3e1f1}
.hero--film h1{font-size:clamp(64px,7.1vw,108px);max-width:900px;line-height:1.03;letter-spacing:-.06em}
.hero--film h1 em{color:#9aceff}
.hero--film .hero-description{max-width:460px;font-size:15px;line-height:1.85;color:#c2cfde;margin-top:30px}
.hero--film .hero-actions{gap:28px;margin-top:34px;flex-direction:row;align-items:center}
.hero--film .hero-bottom{bottom:37px;gap:36px;z-index:4}
.hero-bottom .scroll-cue{gap:14px;align-items:center;min-height:44px;font-size:8px;letter-spacing:.17em}
.scroll-cue-line{display:block;height:30px;width:1px;background:#b3d5f76b;position:relative;overflow:hidden}
.scroll-cue-line:after{content:'';position:absolute;inset:0;background:#d6eaff;transform:translateY(-100%);animation:tt-scroll-cue 2.4s ease-in-out infinite}
@keyframes tt-scroll-cue{0%{transform:translateY(-100%)}65%,100%{transform:translateY(100%)}}
.film-toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:44px;padding:8px 14px;border:1px solid #8db7e552;background:#061321a3;color:#d5e8ff;font-size:10px;letter-spacing:.05em;backdrop-filter:blur(8px)}
.film-toggle:hover{background:#183148;border-color:#9acfff}
.film-control-icon{width:10px;height:12px;display:block;position:relative}
.film-control-icon:before{content:'';display:block;border-left:8px solid currentColor;border-block:5px solid transparent;position:absolute;top:1px;left:2px}
.film-toggle.is-playing .film-control-icon:before{inset:0;border:0;border-inline:2px solid currentColor}
.hero--film .hero-index{color:#bdccdc;font-size:8px;letter-spacing:.18em}
.film-meta{position:absolute;right:5%;top:48%;writing-mode:vertical-rl;color:#b4d1ed;display:flex;gap:22px;font-size:8px;letter-spacing:.18em}
.film-meta small{font-size:8px;letter-spacing:.05em;color:#97b0c9}
.service-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);padding-block:55px;gap:24px}
.service-paths>a{position:relative;display:block;min-height:390px;overflow:hidden;border:1px solid #293e56;background:#0b1726;transition:color .2s}
.path-visual{position:absolute;inset:0 0 60px;overflow:hidden}
.path-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b1726 0%,#0b172600 70%)}
.path-visual img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.service-paths>a:hover .path-visual img{transform:scale(1.055)}
.path-copy{position:absolute;bottom:28px;left:26px;right:26px;padding-right:15px}
.path-number{display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:.13em;color:#9eafc3;margin-bottom:18px}
.path-number b{font-weight:400;font-size:7px;color:#d5bb8f;letter-spacing:.07em}
.service-paths h2{font-size:23px;line-height:1.3;letter-spacing:-.035em;margin-bottom:8px}
.service-paths p{font-size:12px;color:#a4b4c9}
.path-arrow{position:absolute;right:0;top:42px;color:#8fb5de;font-size:21px;transition:transform .25s}
.service-paths>a:hover{color:#9dceff}
.service-paths>a:hover .path-arrow{transform:translate(3px,-3px)}
.service-paths>a:last-child .path-arrow{right:0}
.tt-motion .hero-media{transform:scale(calc(1.02 + .055 * var(--tt-hero-progress,0))) translate3d(calc(-12px * var(--tt-hero-progress,0)),0,0)}
.tt-motion .hero--film .hero-content{transform:translate3d(0,calc(-38px * var(--tt-hero-progress,0)),0)}
.tt-motion .hero-scroll-stage{background:#101b2c}
@media(min-width:1024px) and (min-height:660px){
  .tt-motion .hero-scroll-stage{height:180svh}
  .tt-motion .hero--film{position:sticky;top:0;height:100svh;min-height:0;max-height:none;clip-path:inset(0 round calc(14px * var(--tt-hero-progress,0)));transform:scale(calc(1 - .1 * var(--tt-hero-progress,0)));transform-origin:50% 50%;box-shadow:0 25px 80px #0005}
  .tt-motion .hero--film .hero-content{padding-top:clamp(155px,23vh,300px)}
}
@media(max-width:1200px){.film-meta{display:none}.service-paths{gap:18px}.service-paths h2{font-size:21px}.service-paths p{font-size:11px}.service-paths>a{min-height:360px}.path-copy{left:20px;right:20px}.path-number{font-size:7px;gap:6px}.path-number b{font-size:6px}}
@media(max-width:760px){
  .hero--film{height:100svh;min-height:760px;max-height:1100px}
  .hero--film .hero-content{padding-top:clamp(145px,25svh,230px)}
  .hero--film h1{font-size:clamp(48px,10.6vw,76px);line-height:1.07}
  .hero--film .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:25px}
  .hero--film .hero-description{font-size:14px;max-width:380px;margin-top:24px;line-height:1.8}
  .hero--film .hero-actions{flex-wrap:wrap;gap:20px;margin-top:27px}
  .hero--film .hero-bottom{bottom:24px;gap:15px}
  .hero-poster,.hero-film{object-position:62% center}
  .hero-shade{background:linear-gradient(90deg,#030a15bd,#030a154a),linear-gradient(0deg,#040b17 0%,#040b1766 35%,#040b171a 70%,#030a158c)}
  .hero-bottom .scroll-cue{font-size:7px;max-width:none!important}
  .film-toggle{font-size:9px;min-width:108px;padding-inline:10px}
  .hero--film .hero-index{display:none}
  .service-paths{grid-template-columns:1fr;padding-block:28px;gap:20px}
  .service-paths>a{min-height:360px}
  .path-copy{left:24px;right:24px}
  .path-number{margin-bottom:10px;font-size:8px;gap:10px}.path-number b{font-size:7px}
  .service-paths h2{font-size:25px}.service-paths p{font-size:12px}
  .path-arrow,.service-paths>a:last-child .path-arrow{top:54px;right:0}
  .tt-motion .hero--film .hero-content{transform:translate3d(0,calc(-12px * var(--tt-hero-progress,0)),0)}
}
@media(max-width:360px){.hero--film{min-height:780px}.hero--film h1{font-size:43px}.hero--film .hero-actions{gap:19px}.hero--film .eyebrow{font-size:7px}}
@media(prefers-reduced-motion:reduce){.scroll-cue-line:after{animation:none;transform:none}.hero-film{transition:none}}
@media print{.hero-film,.film-toggle,.film-meta{display:none!important}.hero--film{transform:none!important;min-height:650px!important;height:auto!important;clip-path:none!important}.hero-media{transform:none!important}}
