@charset "UTF-8";

:root {
  color-scheme: light;
  --navy: #06182e;
  --navy-2: #0b2544;
  --ink: #14283b;
  --muted: #6a7885;
  --paper: #f5f7f4;
  --white: #fff;
  --blue: #68bced;
  --blue-strong: #248fe0;
  --green: #6ed18e;
  --line: rgba(9, 33, 57, .14);
  --sans: "Avenir Next", Avenir, "Segoe UI", sans-serif;
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --page-gutter: clamp(24px, 6.1vw, 96px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; -webkit-font-smoothing: antialiased; }
body, button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: rgba(104, 188, 237, .42); color: var(--navy); }

.skip-link { position: fixed; z-index: 50; top: 12px; left: 12px; padding: 12px 16px; background: #fff; color: var(--navy); transform: translateY(-160%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }
.site-header { position: absolute; z-index: 20; inset: 0 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 28px var(--page-gutter); border-bottom: 1px solid rgba(210,230,241,.24); background: rgba(68,81,94,.34); color: #fff; box-shadow: 0 10px 30px rgba(2,13,24,.14); backdrop-filter: blur(16px) saturate(130%); -webkit-backdrop-filter: blur(16px) saturate(130%); }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand img { width: 43px; height: 43px; object-fit: contain; }
.brand-lockup { display: grid; gap: 2px; }
.brand-name { color: #f7fbff; font-size: 17px; font-weight: 750; letter-spacing: .12em; line-height: 1; }
.brand-name b { color: var(--blue); font-weight: 750; }
.brand-tagline { color: rgba(237,246,255,.62); font-size: 8px; letter-spacing: .24em; line-height: 1.35; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 38px); font-size: clamp(14px, 1.04vw, 15px); font-weight: 750; letter-spacing: .025em; }
.primary-nav > a { color: #b8e5fb; font-weight: 700; text-shadow: 0 1px 8px rgba(0,10,22,.22); transition: color .2s ease; }
.primary-nav > a:hover, .primary-nav > a:focus-visible { color: #f4fbff; }
.primary-nav .nav-contact { display: flex; align-items: center; gap: 15px; padding: 13px 16px; border: 1px solid rgba(184,229,251,.55); background: rgba(17,48,72,.3); color: #c8edff; }
.nav-contact span { color: var(--green); font-size: 15px; transition: transform .2s ease; }
.nav-contact:hover span { transform: translate(2px,-2px); }
.menu-toggle { display: none; }

.hero { position: relative; display: flex; min-height: min(940px, 100svh); height: max(760px, 100svh); overflow: hidden; background: var(--navy); color: #fff; isolation: isolate; }
.hero-visual, .hero-wash { position: absolute; z-index: -2; inset: 0; }
.hero-visual { overflow: hidden; }
.hero-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: translate3d(var(--move-x, 0px), var(--move-y, 0px), 0) scale(1.035); transition: transform .9s cubic-bezier(.2,.75,.2,1); will-change: transform; }
.hero:hover .hero-visual img { transform: translate3d(var(--move-x, 0px), var(--move-y, 0px), 0) scale(1.06); }
.hero-wash { z-index: -1; background: linear-gradient(90deg, rgba(3,17,34,.37) 0%, rgba(3,17,34,.3) 22%, rgba(3,17,34,.14) 43%, rgba(3,17,34,.02) 72%, transparent 100%), linear-gradient(0deg, rgba(3,17,34,.4) 0%, transparent 34%); }
.hero-content { display: flex; width: 100%; flex-direction: column; justify-content: center; padding: 144px var(--page-gutter) 68px; }
.hero-copy { width: min(720px, 56vw); margin-top: -12px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 23px; color: rgba(241,248,255,.75); font-size: 10px; font-weight: 700; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.eyebrow-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 100%; background: var(--green); box-shadow: 0 0 14px rgba(110,209,142,.7); }
h1, h2, h3, p, figure { margin-top: 0; }
h1, h2 { font-weight: 450; letter-spacing: -.055em; }
h1 { margin-bottom: 25px; font-size: clamp(52px, 6.2vw, 96px); line-height: .99; }
h1 em, h2 em { font-family: var(--serif); font-weight: 400; letter-spacing: -.065em; }
h1 em { color: #c8eaf9; }
.hero-summary { max-width: 470px; margin-bottom: 32px; color: rgba(239,246,252,.76); font-size: clamp(16px, 1.3vw, 19px); font-weight: 600; line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 50px; padding: 0 18px; font-size: 11px; font-weight: 700; letter-spacing: .05em; transition: transform .2s ease, background-color .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-light { background: #f5fbff; color: var(--navy); }
.button-light span { color: #2889d2; font-size: 17px; }
.text-link { display: inline-flex; align-items: center; gap: 16px; width: fit-content; font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.text-link span { color: var(--blue-strong); font-size: 16px; transition: transform .2s ease; }
.text-link:hover span { transform: translate(3px,-3px); }
.text-link-light { color: #edf5fb; }
.text-link-light span { color: var(--green); }
.hero-bottom { display: flex; align-items: end; justify-content: space-between; margin-top: auto; }
.illustration-note { display: flex; align-items: center; gap: 12px; color: rgba(238,245,251,.58); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.note-line { width: 26px; height: 1px; background: var(--green); }
.scroll-cue { display: inline-flex; align-items: center; gap: 16px; color: rgba(238,245,251,.68); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.scroll-cue-line { width: 46px; height: 1px; background: rgba(255,255,255,.6); transition: width .25s ease; }
.scroll-cue:hover .scroll-cue-line { width: 64px; }
.hero-index { position: absolute; right: 36px; top: 50%; display: flex; flex-direction: column; align-items: center; gap: 9px; color: rgba(255,255,255,.58); font-size: 8px; letter-spacing: .14em; transform: translateY(-50%); }
.hero-index span:first-child { color: var(--green); }
.hero-index i { width: 1px; height: 62px; background: linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.04)); }

.intro-strip { display: grid; grid-template-columns: 1.1fr 1fr 1.2fr .8fr auto; align-items: center; gap: 24px; padding: 28px var(--page-gutter); background: #eaf0ed; }
.intro-strip-label { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.intro-stat { display: flex; align-items: baseline; gap: 11px; border-left: 1px solid var(--line); padding-left: 24px; }
.intro-stat strong { color: var(--navy); font-size: 21px; font-weight: 650; letter-spacing: -.05em; }
.intro-stat strong small { font-size: 11px; letter-spacing: .02em; }
.intro-stat span { color: var(--muted); font-size: 10px; }
.strip-arrow { color: var(--blue-strong); font-size: 22px; transition: transform .2s ease; }
.strip-arrow:hover { transform: translate(3px,3px); }

.section-pad { padding-right: var(--page-gutter); padding-left: var(--page-gutter); }
.infrastructure { padding-top: clamp(92px, 11vw, 160px); padding-bottom: clamp(96px, 11vw, 160px); background: var(--paper); }
.section-kicker { display: flex; align-items: center; gap: 17px; color: #798592; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.kicker-rule { width: clamp(32px, 8vw, 116px); height: 1px; background: #aeb9c0; }
.infrastructure-grid { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(52px, 9vw, 148px); margin-top: 62px; }
.infrastructure-copy { max-width: 540px; }
h2 { margin-bottom: 27px; font-size: clamp(40px, 5vw, 70px); line-height: 1.04; }
.infrastructure h2 em, .company h2 em { color: #427fb3; }
.lead { color: #284358; font-size: clamp(18px, 1.8vw, 23px); line-height: 1.55; }
.infrastructure-copy > p:not(.lead), .company-detail > p:not(.lead) { max-width: 475px; margin-bottom: 26px; color: #687784; font-size: 16px; line-height: 1.85; }
.infrastructure-copy .text-link { margin-top: 14px; }
.text-link-dark { color: var(--navy); }
.module-figure { min-width: 0; margin-bottom: 0; }
.module-figure-image { position: relative; min-height: 355px; aspect-ratio: 1.4; overflow: hidden; background: #d6e1e8; }
.module-figure-image::after { position: absolute; inset: 0; border: 1px solid rgba(12,42,68,.13); content: ""; pointer-events: none; }
.module-figure-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .7s cubic-bezier(.2,.75,.2,1); }
.module-figure:hover .module-figure-image img { transform: scale(1.035); }
.figure-stamp { position: absolute; left: 22px; bottom: 20px; padding: 9px 11px; background: rgba(5,26,48,.89); color: rgba(255,255,255,.86); font-size: 8px; letter-spacing: .17em; line-height: 1.7; }
.figure-index { position: absolute; top: 19px; right: 20px; color: rgba(255,255,255,.9); font-size: 9px; font-weight: 700; letter-spacing: .17em; text-shadow: 0 1px 8px rgba(0,0,0,.45); }
.module-figure figcaption { display: flex; justify-content: space-between; padding-top: 12px; color: #77838c; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }

.capabilities { padding-top: clamp(86px, 10vw, 140px); padding-bottom: clamp(92px, 10vw, 144px); background: #eaf0ed; }
.capabilities-heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin: 48px 0 48px; }
.capabilities-heading h2 { margin: 0; color: var(--navy); }
.capabilities-heading h2 em { color: #427fb3; }
.capabilities-heading > p { max-width: 360px; margin: 0 2vw 7px 0; color: #647580; font-size: 15px; line-height: 1.8; }
.capability-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1px; border: 1px solid #d2dcda; background: #d2dcda; }
.capability-card { position: relative; grid-column: span 3; min-height: 265px; padding: 27px clamp(19px, 2.3vw, 34px) 30px; background: #f8faf8; transition: background-color .2s ease; }
.capability-card:hover { background: #fff; }
.capability-card-wide { grid-column: span 6; }
.capability-number { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; margin-right: 13px; border: 1px solid #a9c0ca; border-radius: 50%; color: #397fae; font-size: 8px; font-weight: 700; letter-spacing: .06em; }
.capability-tag { color: #73838b; font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.capability-card h3 { max-width: 350px; margin: 27px 0 12px; color: var(--navy); font-family: var(--serif); font-size: clamp(22px, 2vw, 28px); font-weight: 400; letter-spacing: -.035em; line-height: 1.08; }
.capability-card p { max-width: 445px; margin: 0; color: #62727d; font-size: 14px; line-height: 1.8; }

.locations { position: relative; overflow: hidden; padding-top: clamp(84px, 10vw, 140px); padding-bottom: clamp(80px, 9vw, 124px); background: var(--navy); color: #fff; }
.locations::before { position: absolute; top: 0; right: -8vw; width: 56vw; height: 100%; background: radial-gradient(ellipse at 70% 15%, rgba(30,104,165,.18), transparent 58%); content: ""; pointer-events: none; }
.locations > * { position: relative; }
.section-kicker-light { color: rgba(229,239,247,.53); }
.section-kicker-light .kicker-rule { background: rgba(233,243,250,.32); }
.locations-heading { display: flex; align-items: end; justify-content: space-between; margin: 44px 0 62px; }
.locations h2 { margin: 0; color: #fff; }
.locations h2 em { color: #b8e6f6; }
.locations-heading p { margin: 17px 0 0; color: rgba(228,238,246,.61); font-size: 15px; line-height: 1.7; }
.combined-capacity { display: flex; align-items: end; gap: 15px; padding: 0 4px 7px 24px; border-left: 1px solid rgba(255,255,255,.2); }
.combined-capacity strong { color: #e6f5fb; font-size: 67px; font-weight: 400; letter-spacing: -.08em; line-height: .8; }
.combined-capacity span { color: rgba(226,240,247,.62); font-size: 9px; letter-spacing: .16em; line-height: 1.6; text-transform: uppercase; }
.site-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.site-card { min-width: 0; padding: 28px clamp(18px, 3vw, 48px) 32px 0; }
.site-card + .site-card { padding-left: clamp(18px, 3vw, 48px); border-left: 1px solid rgba(255,255,255,.2); }
.site-card-top { display: flex; align-items: center; justify-content: space-between; color: rgba(230,240,248,.52); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.site-number { color: var(--blue); }
.site-status { display: flex; align-items: center; gap: 8px; color: rgba(233,243,250,.62); font-size: 8px; }
.site-status i { width: 5px; height: 5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px rgba(110,209,142,.65); }
.site-status-planned i { background: #78c8ec; box-shadow: 0 0 12px rgba(120,200,236,.55); }
.site-card-main { display: flex; align-items: end; justify-content: space-between; margin: 54px 0 35px; }
.site-card-main h3 { margin: 0; color: #fff; font-family: var(--serif); font-size: clamp(34px, 4vw, 58px); font-weight: 400; letter-spacing: -.06em; }
.site-card-main p { margin: 0 0 7px; color: rgba(232,242,249,.5); font-size: 12px; letter-spacing: .09em; text-transform: uppercase; }
.site-capacity { display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 18px; }
.site-capacity strong { color: #f1f8fc; font-size: 17px; font-weight: 500; letter-spacing: -.03em; }
.site-capacity strong small { color: rgba(230,241,248,.52); font-size: 9px; letter-spacing: .1em; }
.capacity-track { height: 2px; background: rgba(255,255,255,.16); }
.capacity-track span { display: block; width: var(--capacity); height: 100%; background: linear-gradient(90deg, var(--blue-strong), var(--green)); }
.capacity-scale { display: flex; justify-content: space-between; margin-top: 13px; color: rgba(228,240,248,.43); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.location-rationale { margin-top: clamp(52px, 7vw, 88px); padding: clamp(27px, 4.5vw, 58px); background: #edf2ee; color: var(--navy); }
.location-rationale-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.rationale-kicker { margin: 0 0 13px; color: #607a8a; font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.location-rationale-heading h3 { margin: 0; font-family: var(--serif); font-size: clamp(34px, 4.5vw, 58px); font-weight: 400; letter-spacing: -.055em; line-height: .98; }
.location-rationale-heading h3 em { color: #438cb6; }
.location-rationale-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.rationale-card { padding: clamp(22px, 2.8vw, 34px); background: #f8faf8; border: 1px solid rgba(10,43,69,.09); }
.rationale-index { color: #438cb6; font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.rationale-card h4 { margin: 24px 0 12px; color: var(--navy); font-family: var(--serif); font-size: clamp(23px, 2.6vw, 32px); font-weight: 400; letter-spacing: -.035em; line-height: 1.08; }
.rationale-card > p:not(.rationale-note) { margin: 0; color: #5c6e78; font-size: 13px; line-height: 1.8; }
.rationale-travel { display: grid; gap: 8px; margin-top: 18px; padding-top: 15px; border-top: 1px solid rgba(10,43,69,.12); }
.rationale-travel span { color: #657781; font-size: 12px; }
.rationale-travel strong { color: var(--navy); font-size: 12px; }
.rationale-note { margin: 14px 0 0; color: #849199; font-size: 11px; line-height: 1.6; }
.rationale-investment { padding-top: 15px; border-top: 1px solid rgba(10,43,69,.12); }

.company { padding-top: clamp(94px, 10vw, 148px); padding-bottom: clamp(100px, 11vw, 160px); background: #edf2ee; }
.company-grid { display: grid; grid-template-columns: 1fr .82fr; gap: clamp(54px, 11vw, 175px); margin-top: 66px; }
.eyebrow-dark { margin-bottom: 20px; color: #658090; }
.company h2 { max-width: 600px; margin-bottom: 0; color: var(--navy); }
.company-detail { padding-top: 6px; }
.company-detail .lead { max-width: 560px; }
.company-detail > p:not(.lead) { max-width: 550px; }
.operator-line { display: flex; align-items: center; gap: 15px; margin-top: 34px; padding-top: 20px; border-top: 1px solid rgba(10,43,69,.16); }
.operator-line img { width: 42px; height: 42px; object-fit: contain; }
.operator-line div { display: grid; gap: 4px; }
.operator-line span, .operator-line small { color: #75828a; font-size: 9px; letter-spacing: .08em; }
.operator-line strong { color: var(--navy); font-size: 14px; font-weight: 700; }
.operator-address { display: grid; grid-template-columns: 82px 1fr; gap: 14px; margin-top: 22px; padding-top: 19px; border-top: 1px solid rgba(10,43,69,.12); }
.operator-address > span { color: #75828a; font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }
.operator-address address { color: #344858; font-size: 14px; font-style: normal; line-height: 1.75; }

.contact { position: relative; overflow: hidden; padding-top: clamp(86px, 10vw, 142px); padding-bottom: clamp(82px, 9vw, 126px); background: #08203b; color: #fff; isolation: isolate; }
.contact::before { position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 93% 20%, rgba(25,111,176,.3), transparent 38%), linear-gradient(120deg, rgba(2,15,31,.15), transparent 55%); content: ""; }
.contact-grid { display: grid; grid-template-columns: 1fr .82fr; align-items: end; gap: clamp(55px, 10vw, 155px); }
.contact h2 { margin-bottom: 21px; color: #fff; font-size: clamp(52px, 6.6vw, 91px); }
.contact h2 em { color: #bce6f5; }
.contact-copy > p:last-child { max-width: 390px; margin-bottom: 0; color: rgba(229,240,248,.62); font-size: 16px; line-height: 1.8; }
.contact-action { display: grid; justify-items: start; gap: 17px; padding-bottom: 8px; }
.contact-label { color: rgba(230,241,248,.53); font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.contact-email { display: inline-flex; align-items: center; gap: 14px; color: #fff; font-family: var(--serif); font-size: clamp(24px, 3vw, 36px); letter-spacing: -.04em; }
.contact-email span { color: var(--green); font-family: var(--sans); font-size: 16px; transition: transform .2s ease; }
.contact-email:hover span { transform: translate(3px,-3px); }
.button-outline { min-width: 180px; margin-top: 8px; border: 1px solid rgba(255,255,255,.37); color: #fff; }
.button-outline span { color: var(--green); font-size: 15px; }
.button-outline:hover { background: #fff; color: var(--navy); }
.contact-orbit { position: absolute; z-index: -1; right: -120px; top: -175px; width: 490px; height: 490px; border: 1px solid rgba(114,195,235,.12); border-radius: 50%; pointer-events: none; }
.contact-orbit-two { right: -52px; top: -107px; width: 354px; height: 354px; border-color: rgba(114,195,235,.11); }

.site-footer { display: grid; grid-template-columns: 1.2fr 1.2fr auto auto; align-items: center; gap: 30px; padding: 24px var(--page-gutter); background: #041426; color: rgba(233,242,248,.53); }
.brand-footer img { width: 37px; height: 37px; }
.brand-footer .brand-name { font-size: 14px; }
.brand-footer .brand-tagline { font-size: 7px; }
.site-footer > p, .footer-mail, .copyright { margin: 0; font-size: 9px; letter-spacing: .05em; }
.footer-mail { color: rgba(239,247,252,.8); }
.footer-mail:hover { color: #fff; }

.js-on .reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.25,1); }
.js-on .reveal.is-visible { opacity: 1; transform: translateY(0); }
.js-on .site-card:nth-child(2) { transition-delay: .1s; }

a:focus-visible, button:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }

@media (max-width: 1020px) {
  :root { --page-gutter: clamp(24px, 5vw, 54px); }
  .primary-nav { gap: clamp(12px, 1.6vw, 17px); font-size: 13px; }
  .infrastructure-grid { gap: 56px; }
  .company-grid, .contact-grid { gap: 62px; }
  .capability-card { grid-column: span 6; min-height: 240px; }
  .capability-card-wide { grid-column: span 6; }
  .intro-strip { grid-template-columns: 1fr 1fr 1.2fr auto; }
  .intro-strip-label { display: none; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: 10px; }
  .site-header { padding-top: 20px; padding-bottom: 19px; }
  .brand img { width: 38px; height: 38px; }
  .brand-name { font-size: 15px; }
  .brand-tagline { font-size: 7px; }
  .menu-toggle { display: grid; width: 42px; height: 42px; place-content: center; gap: 6px; border: 1px solid rgba(184,229,251,.55); background: rgba(68,81,94,.26); color: #b8e5fb; cursor: pointer; }
  .menu-toggle span { display: block; width: 16px; height: 2px; background: #b8e5fb; transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .primary-nav { position: absolute; top: calc(100% - 1px); right: 0; left: 0; display: grid; gap: 0; padding: 8px var(--page-gutter) 18px; border-bottom: 1px solid rgba(210,230,241,.24); background: rgba(62,76,90,.95); box-shadow: 0 18px 30px rgba(2,13,24,.22); backdrop-filter: blur(16px) saturate(130%); -webkit-backdrop-filter: blur(16px) saturate(130%); font-size: 16px; opacity: 0; pointer-events: none; visibility: hidden; transform: translateY(-6px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
  .primary-nav.is-open { opacity: 1; pointer-events: auto; visibility: visible; transform: translateY(0); }
  .primary-nav > a { padding: 16px 0; border-bottom: 1px solid rgba(210,230,241,.15); }
  .primary-nav .nav-contact { justify-content: space-between; margin-top: 11px; padding: 14px; border: 1px solid rgba(184,229,251,.52); background: rgba(24,58,83,.42); }
  .hero { min-height: 830px; height: 100svh; max-height: 980px; }
  .hero-visual { top: 220px; }
  .hero-visual img { object-position: 62% center; transform: translate3d(var(--move-x,0px),var(--move-y,0px),0) scale(1.08); }
  .hero-wash { background: linear-gradient(180deg, rgba(3,17,34,.98) 0%, rgba(3,17,34,.92) 37%, rgba(3,17,34,.26) 74%, rgba(3,17,34,.38) 100%), linear-gradient(90deg, rgba(3,17,34,.34), transparent 90%); }
  .hero-content { padding-top: 136px; padding-bottom: 32px; }
  .hero-copy { width: 100%; max-width: 560px; margin-top: 0; }
  .eyebrow { margin-bottom: 18px; font-size: 8px; letter-spacing: .15em; }
  h1 { margin-bottom: 19px; font-size: clamp(46px, 12vw, 67px); }
  .hero-summary { max-width: 400px; margin-bottom: 24px; font-size: 16px; line-height: 1.65; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .button { min-height: 47px; }
  .hero-bottom { gap: 14px; }
  .illustration-note, .scroll-cue { font-size: 7px; letter-spacing: .1em; }
  .scroll-cue { gap: 8px; }
  .scroll-cue-line { width: 22px; }
  .scroll-cue:hover .scroll-cue-line { width: 28px; }
  .hero-index { right: 14px; top: 65%; }
  .intro-strip { grid-template-columns: 1fr 1fr; gap: 19px 10px; padding-top: 22px; padding-bottom: 22px; }
  .intro-stat { padding-left: 14px; }
  .intro-stat:nth-of-type(2) { border-left: 0; padding-left: 0; }
  .intro-stat strong { font-size: 19px; }
  .intro-stat span { font-size: 9px; }
  .strip-arrow { display: none; }
  .infrastructure { padding-top: 78px; padding-bottom: 86px; }
  .section-kicker { gap: 10px; font-size: 7px; letter-spacing: .13em; }
  .kicker-rule { width: 22px; }
  .infrastructure-grid { grid-template-columns: 1fr; gap: 42px; margin-top: 40px; }
  h2 { margin-bottom: 20px; font-size: clamp(40px, 10vw, 58px); }
  .lead { font-size: 18px; }
  .infrastructure-copy > p:not(.lead), .company-detail > p:not(.lead) { font-size: 15px; }
  .module-figure-image { min-height: 260px; aspect-ratio: 1.1; }
  .capabilities { padding-top: 78px; padding-bottom: 84px; }
  .capabilities-heading { align-items: start; flex-direction: column; gap: 13px; margin: 38px 0 31px; }
  .capabilities-heading > p { max-width: 440px; margin: 0; font-size: 14px; }
  .capability-grid { grid-template-columns: 1fr; }
  .capability-card, .capability-card-wide { grid-column: 1; min-height: 0; padding: 23px 21px 25px; }
  .capability-card h3 { margin-top: 20px; font-size: 25px; }
  .capability-card p { font-size: 14px; }
  .locations { padding-top: 78px; padding-bottom: 76px; }
  .locations-heading { align-items: start; gap: 26px; margin: 38px 0 40px; }
  .locations-heading p { max-width: 220px; font-size: 14px; line-height: 1.7; }
  .combined-capacity { gap: 9px; padding-left: 15px; }
  .combined-capacity strong { font-size: 52px; }
  .combined-capacity span { font-size: 7px; }
  .site-list { grid-template-columns: 1fr; }
  .site-card { padding: 23px 0 26px; }
  .site-card + .site-card { padding: 23px 0 26px; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
  .site-card-main { margin: 35px 0 25px; }
  .site-card-main h3 { font-size: 40px; }
  .site-capacity { grid-template-columns: 70px 1fr; }
  .capacity-scale { font-size: 7px; }
  .location-rationale { margin-top: 44px; padding: 24px 20px; }
  .location-rationale-heading { display: block; margin-bottom: 22px; }
  .location-rationale-heading h3 { font-size: 38px; }
  .location-rationale-grid { grid-template-columns: 1fr; gap: 11px; }
  .rationale-card { padding: 23px 20px; }
  .rationale-card h4 { margin-top: 19px; font-size: 28px; }
  .company { padding-top: 78px; padding-bottom: 82px; }
  .company-grid { grid-template-columns: 1fr; gap: 33px; margin-top: 42px; }
  .operator-line { margin-top: 26px; }
  .operator-address { grid-template-columns: 1fr; gap: 8px; }
  .contact { padding-top: 78px; padding-bottom: 80px; }
  .contact-grid { grid-template-columns: 1fr; gap: 37px; }
  .contact h2 { font-size: clamp(54px, 13vw, 76px); }
  .contact-action { gap: 14px; }
  .contact-email { font-size: clamp(25px, 7vw, 33px); }
  .contact-orbit { right: -310px; }
  .contact-orbit-two { right: -240px; }
  .site-footer { grid-template-columns: 1fr auto; gap: 20px 15px; padding-top: 22px; padding-bottom: 22px; }
  .site-footer > p { grid-column: 1 / -1; grid-row: 2; }
  .copyright { grid-column: 2; grid-row: 3; text-align: right; }
  .footer-mail { grid-column: 1; grid-row: 3; }
}

@media (max-width: 380px) {
  :root { --page-gutter: 20px; }
  .brand { gap: 8px; }
  .hero { min-height: 790px; }
  .hero-content { padding-top: 127px; }
  .hero-bottom { align-items: start; flex-direction: column; }
  .scroll-cue { margin-left: auto; }
  .locations-heading { flex-direction: column; }
  .combined-capacity { margin-left: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .js-on .reveal { opacity: 1; transform: none; }
}
