/* FreightHub Home motion hero + visual body. Scoped to front page. */
body.home{
  --fh-ease:cubic-bezier(.22,.68,0,1.01);
  --fh-paper:#F3F5F2;
  --fh-line:#C9D2D0;
  --fh-signal:#20A982;
}
body.home .fh-header{
  position:absolute;
  top:0;left:0;right:0;
  z-index:40;
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,.21);
  color:#fff;
}
body.home .fh-header .fh-brand__mark,
body.home .fh-header .fh-brand img{
  /* white vector lockup only on dark photographic hero */
  content:none;
}
body.home .fh-nav a,
body.home .fh-mega-toggle,
body.home .fh-menu-toggle,
body.home .fh-language__current,
body.home .fh-nav__quote{
  color:#fff;
}
body.home .fh-nav__quote{
  background:var(--fh-green);
  border-color:transparent;
}
body.home main#main{
  padding:0;
  background:var(--fh-paper);
}

/* ===== HERO / FLIGHT STAGE ===== */
.fh-flight-stage{
  position:relative;
  height:min(860px,calc(100svh - 40px));
  min-height:710px;
  isolation:isolate;
  overflow:hidden;
  background:var(--fh-navy);
  color:#fff;
  margin:0;
}
.fh-flight-background,
.fh-road-background,
.fh-ocean-background{
  position:absolute;
  inset:-6%;
  z-index:-4;
  pointer-events:none;
}
.fh-flight-background{
  transform:translate3d(calc(var(--mx,0px)*-.28),calc(var(--my,0px)*-.18),0) scale(1.04);
  transition:transform 1.1s var(--fh-ease);
}
.fh-flight-background img,
.fh-road-background img.fh-road-clean-plate,
.fh-ocean-background img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.fh-flight-background img{object-position:62% 50%;animation:fh-sky-drift 25s ease-in-out infinite alternate}
.fh-flight-grade{
  position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:linear-gradient(90deg,#071e2ee6 0%,#071e2e8c 33%,#071e2e0a 77%),linear-gradient(0deg,#071e2ea8,transparent 35%);
}
.fh-flight-haze{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(0deg,#acc3d114,transparent 32%);
}
.fh-flight-plane-wrap{
  position:absolute;left:42%;top:9%;width:76%;max-width:1170px;z-index:-1;
  transform:translate3d(
    calc(var(--mx,0px)*1.3 + var(--tilt-x,0px)),
    calc(var(--my,0px)*.7 + var(--flight-scroll,0px) + var(--tilt-y,0px)),
    0
  );
  transition:transform 1.25s var(--fh-ease);pointer-events:none;
}
.fh-flight-stage:not(.mode-air){
  --tilt-x:0px;--tilt-y:0px;
}
.fh-flight-plane-wrap img{
  width:100%;height:auto;display:block;
  filter:drop-shadow(0 30px 25px #071e2e30);
  animation:fh-aircraft-forward 17s cubic-bezier(.22,.68,0,1) 1 forwards;
  will-change:transform;
}
.fh-flight-copy{
  position:relative;z-index:3;pointer-events:none;
  padding:170px 0 0;
  width:min(var(--fh-shell),calc(100vw - (var(--fh-gutter) * 2)));margin-inline:auto;
}
.fh-flight-copy .fh-scene-kicker{
  margin:0 0 34px;
  color:#c7e3db;
  font:11px "Geist Mono",monospace;
  letter-spacing:.09em;text-transform:uppercase;
  display:flex;align-items:center;gap:12px;
}
.fh-flight-copy .fh-scene-kicker:before{
  content:"";width:6px;height:6px;background:var(--fh-signal);flex:none;
}
.fh-flight-copy h1{
  margin:0;max-width:660px;
  font-family:Geist,Arial,sans-serif;
  font-size:68px;line-height:72px;letter-spacing:-.035em;font-weight:600;color:#fff;
}
.fh-flight-copy h1>span{display:block}.fh-flight-copy h1 strong{color:var(--fh-signal);display:block;font:inherit}
.fh-flight-bottom{
  position:absolute;left:0;right:0;bottom:46px;z-index:5;
  display:flex;align-items:end;justify-content:space-between;gap:60px;
  width:min(var(--fh-shell),calc(100vw - (var(--fh-gutter) * 2)));margin-inline:auto;
}
.fh-flight-bottom .fh-quiet-copy{
  max-width:560px;margin:0 0 24px;color:#d0dce1;
  font:400 20px/30px Geist,Arial,sans-serif;
}
.fh-flight-bottom .fh-actions{gap:20px;flex-wrap:nowrap;align-items:center}
.fh-flight-bottom .fh-actions .wp-element-button{
  flex:0 0 auto;width:auto;max-width:none;min-width:0;
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  white-space:nowrap;word-break:keep-all;overflow-wrap:normal;
  padding:0 20px;min-height:52px;height:52px;line-height:20px;
}
.fh-flight-bottom .fh-actions .wp-element-button > span{flex:none}
.fh-flight-side{
  width:230px;display:flex;flex-direction:column;gap:18px;align-items:end;text-align:right;
}
.fh-mode-selector{
  display:flex;gap:10px;align-items:center;
  font:12px "Geist Mono",monospace;letter-spacing:.04em;
}
.fh-hero-mode-btn{
  background:none;border:0;color:#fff;cursor:pointer;
  opacity:.8;padding:10px 5px;margin:-10px 0;font:inherit;
}
.fh-hero-mode-btn.active,
.fh-hero-mode-btn[aria-pressed="true"]{opacity:1;font-weight:600}
.fh-hero-mode-btn:focus-visible{outline:2px solid var(--fh-signal);outline-offset:2px}
.fh-air-focus{
  border-top:1px solid #ffffff6b;padding-top:16px;width:100%;
  font-size:24px;letter-spacing:-.035em;line-height:1.2;
}
.fh-scene-scroll{
  color:#d0dce1;font:10px "Geist Mono",monospace;text-transform:uppercase;letter-spacing:.06em;
  text-decoration:none;
}
.fh-scene-scroll:hover{color:#fff}

/* mode backgrounds */
.fh-road-background,
.fh-ocean-background{
  opacity:0;visibility:hidden;
  transition:opacity .6s ease,visibility .6s ease;z-index:-5;
}
.fh-road-entry-wrap,
.fh-ocean-entry-wrap,
.fh-road-truck-wrap,
.fh-ocean-track-wrap{position:absolute;inset:0;width:100%;height:100%}
.fh-road-truck-wrap picture{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.fh-road-truck,
.fh-road-truck-lights{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;display:block;
}
.fh-road-clean-plate{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
}
.fh-ocean-ship{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;
  image-rendering:auto;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  transform:translateZ(0);
}
.fh-road-truck-lights{opacity:0;pointer-events:none}

.fh-flight-stage.mode-air .fh-flight-background,
.fh-flight-stage.mode-air .fh-flight-plane-wrap{opacity:1;visibility:visible}
.fh-flight-stage:not(.mode-air) .fh-flight-background,
.fh-flight-stage:not(.mode-air) .fh-flight-plane-wrap{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s ease,visibility .6s ease}
.fh-flight-stage.mode-road .fh-road-background{opacity:1;visibility:visible}
.fh-flight-stage.mode-ocean .fh-ocean-background{opacity:1;visibility:visible}
.fh-flight-stage.mode-road .fh-road-entry-wrap.is-entering{
  animation:none;
}
.fh-flight-stage.mode-road .fh-road-truck-wrap{
  animation:none;
  transform:none;
}
.fh-flight-stage.mode-road .fh-road-truck-lights{
  animation:fh-headlights 10s linear infinite;
}
.fh-flight-stage.mode-ocean .fh-ocean-entry-wrap.is-entering{
  animation:fh-ocean-entry 1200ms cubic-bezier(0.16,1,0.3,1) forwards;
}
.fh-flight-stage.mode-ocean .fh-ocean-track-wrap{
  animation:fh-ocean-track 12s ease-in-out infinite alternate;
}

@keyframes fh-sky-drift{from{transform:scale(1.03) translateX(0)}to{transform:scale(1.08) translateX(-1.4%)}}
/* S5.1 Home17: left-facing nose travels left once, then holds without a visible reverse/reset. */
@keyframes fh-aircraft-forward{
  0%{transform:translate3d(4%,0,0) rotate(-0.3deg) scale(1)}
  76%,100%{transform:translate3d(-5%,0,0) rotate(-0.3deg) scale(1)}
}

@keyframes fh-headlights{
  0%,2%,7%,12%,17%,100%{opacity:0}
  3.5%,5.5%,13.5%,15.5%{opacity:.94}
}
@keyframes fh-ocean-entry{
  0%{clip-path:inset(0 0 0 100%);transform:scale(1.04) translate3d(3%,0,0)}
  100%{clip-path:inset(0 0 0 0);transform:scale(1.03) translate3d(0,0,0)}
}
@keyframes fh-ocean-track{
  0%{transform:scale(1) translate3d(0,0,0)}
  100%{transform:scale(1.015) translate3d(1.5%,0,0)}
}

body.motion-paused .fh-road-entry-wrap,
body.motion-paused .fh-road-truck-wrap,
body.motion-paused .fh-road-truck-lights,
body.motion-paused .fh-ocean-entry-wrap,
body.motion-paused .fh-ocean-track-wrap,
.fh-flight-stage.scene-offscreen .fh-road-entry-wrap,
.fh-flight-stage.scene-offscreen .fh-road-truck-wrap,
.fh-flight-stage.scene-offscreen .fh-road-truck-lights,
.fh-flight-stage.scene-offscreen .fh-ocean-entry-wrap,
.fh-flight-stage.scene-offscreen .fh-ocean-track-wrap,
.fh-flight-stage.scene-offscreen .fh-flight-plane-wrap img,
.fh-flight-stage.scene-offscreen .fh-flight-background img{
  animation-play-state:paused!important;
}
@media (prefers-reduced-motion:reduce){
  .fh-flight-background img,
  .fh-flight-plane-wrap img,
  .fh-road-entry-wrap,
  .fh-road-truck-wrap,
  .fh-ocean-entry-wrap,
  .fh-ocean-track-wrap,
  .fh-road-truck-lights{
    animation:none!important;transform:none!important;filter:none!important;clip-path:none!important;
  }
  .fh-road-truck-lights{opacity:0!important}
}

/* ===== INLINE FORM + CLASSY COMPACT DESK ===== */
.fh-home-request{
  background:var(--fh-paper);
  border-bottom:1px solid var(--fh-line);
  padding:28px 0 32px;
}
.fh-home-request__shell{
  width:min(var(--fh-shell),calc(100vw - (var(--fh-gutter) * 2)));margin-inline:auto;
}
.fh-home-request__bar{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  padding:22px 28px;
  background:#fff;
  border:1px solid var(--fh-line);
  box-shadow:0 10px 35px rgba(7,30,46,.04);
}
.fh-home-request__intro{min-width:0;max-width:720px}
.fh-home-request__intro h2{
  margin:0;font:600 24px/30px Geist,Arial,sans-serif;letter-spacing:-.03em;color:var(--fh-ink);
}
.fh-home-request__intro p{
  margin:6px 0 0;font:400 16px/24px Geist,Arial,sans-serif;color:var(--fh-muted);
}
.fh-home-request__submit{
  flex:0 0 auto;align-self:center;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;height:52px;padding:0 20px;border:0;border-radius:2px;
  background:var(--fh-green);color:#fff;
  font:500 15px/20px Geist,Arial,sans-serif;
  cursor:pointer;text-decoration:none;
  white-space:nowrap;word-break:keep-all;
}
.fh-home-request__submit > span{flex:none}
.fh-home-request__submit[aria-expanded="true"]{filter:brightness(1.04)}
.fh-home-request__submit:hover{filter:brightness(1.05)}
.fh-home-request__submit:focus-visible{outline:3px solid var(--fh-signal);outline-offset:3px}
.fh-home-request__note{
  width:min(var(--fh-shell),calc(100vw - (var(--fh-gutter) * 2)));margin:10px auto 0;
  font:600 12px/16px "Geist Mono",monospace;letter-spacing:.04em;color:var(--fh-muted);
}
.fh-home-desk{
  margin-top:16px;padding:28px 28px 24px;
  background:#fff;border:1px solid var(--fh-line);
  box-shadow:0 20px 48px rgba(0,0,0,.12);
  color:var(--fh-ink);
}
.fh-home-desk[hidden]{display:none!important}
.fh-home-desk__top{margin:0 0 22px}
.fh-home-desk__eyebrow{
  margin:0 0 8px;color:var(--fh-green);
  font:600 12px/16px "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase;
}
.fh-home-desk__top h3{
  margin:0;max-width:560px;
  font:600 24px/30px Geist,Arial,sans-serif;letter-spacing:-.03em;
}
.fh-home-desk__form{margin:0}
.fh-home-desk__fields{
  display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;
  margin:0;padding:0;border:0;min-width:0;
}
.fh-home-desk__field{display:block;min-width:0;margin:0}
.fh-home-desk__field span{
  display:block;margin-bottom:6px;color:var(--fh-muted);
  font:600 12px/16px "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase;
}
.fh-home-desk__field input,
.fh-home-desk__field select{
  box-sizing:border-box;width:100%;height:56px;min-height:56px;padding:0 12px;
  border:1px solid var(--fh-line);border-radius:2px;background:#fff;color:var(--fh-ink);
  font:400 16px/24px Geist,Arial,sans-serif;
}
.fh-home-desk__field input:focus-visible,
.fh-home-desk__field select:focus-visible{
  outline:3px solid var(--fh-green);outline-offset:2px;
}
.fh-home-desk__actions{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:20px;
}
.fh-home-desk__continue{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:56px;padding:0 18px;border:0;border-radius:2px;
  background:var(--fh-green);color:#fff;
  font:500 15px/20px Geist,Arial,sans-serif;cursor:pointer;white-space:nowrap;
}
.fh-home-desk__continue:hover{background:#006a50}
.fh-home-desk__close{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 14px;border:1px solid var(--fh-line);border-radius:2px;
  background:transparent;color:var(--fh-ink);
  font:500 14px/20px Geist,Arial,sans-serif;cursor:pointer;
}
/* desk status message removed — local draft stays silent */

/* ===== BODY SECTIONS ===== */
.fh-home-body{background:var(--fh-paper);color:var(--fh-ink)}
.fh-home-section{
  width:min(var(--fh-shell),calc(100vw - (var(--fh-gutter) * 2)));margin-inline:auto;padding:88px 0 40px;
}
.fh-home-section__head{
  display:flex;justify-content:space-between;gap:48px;align-items:end;
  margin-bottom:40px;
}
.fh-home-section__head>div{max-width:720px}
.fh-home-section__eyebrow{
  margin:0 0 18px;
  font:600 12px/16px "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase;
  color:var(--fh-green);display:flex;align-items:center;gap:10px;
}
.fh-home-section__eyebrow:before{content:"";width:6px;height:6px;background:currentColor;flex:none}
.fh-home-section__head h2{
  margin:0;font:600 52px/58px Geist,Arial,sans-serif;letter-spacing:-.035em;
}
.fh-home-section__head>p,
.fh-home-section__lead{
  margin:0;max-width:340px;font:400 18px/28px Geist,Arial,sans-serif;color:var(--fh-muted);
}

/* modes visual row */
.fh-home-modes{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;
}
.fh-home-mode-card{
  display:flex;flex-direction:column;gap:14px;
  color:inherit;text-decoration:none;min-width:0;
}
.fh-home-mode-card:hover .fh-home-mode-card__title{color:var(--fh-green)}
.fh-home-mode-card__photo{
  position:relative;aspect-ratio:4/5;overflow:hidden;
  background:linear-gradient(160deg,#0b2a3a 0%,#16384a 55%,#0f2430 100%);
  border:1px solid rgba(7,30,46,.08);
}
.fh-home-mode-card__photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.04);transition:transform .8s var(--fh-ease);
}
.fh-home-mode-card:hover .fh-home-mode-card__photo img{transform:scale(1.01)}
.fh-home-mode-card__photo.is-empty:after{
  content:attr(data-label);
  position:absolute;left:14px;right:14px;bottom:14px;
  color:rgba(255,255,255,.72);
  font:10px "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase;
}
.fh-home-mode-card__meta{
  font:600 12px/16px "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--fh-green);
}
.fh-home-mode-card__title{
  margin:0;font:500 24px/30px Geist,Arial,sans-serif;color:var(--fh-ink);
}
.fh-home-mode-card__copy{
  margin:0;font:400 16px/24px Geist,Arial,sans-serif;color:var(--fh-muted);
}

/* advantages cards */
.fh-home-advantages{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  border-top:1px solid var(--fh-line);
}
.fh-home-advantage{
  padding:28px 24px 28px 0;
  border-bottom:1px solid var(--fh-line);
}
.fh-home-advantage:nth-child(3n+2),
.fh-home-advantage:nth-child(3n+3){padding-left:28px;border-left:1px solid var(--fh-line)}
.fh-home-advantage h3{
  margin:0 0 12px;font:500 24px/30px Geist,Arial,sans-serif;
}
.fh-home-advantage p{
  margin:0;font:400 16px/24px Geist,Arial,sans-serif;color:var(--fh-muted);
}

/* why band */
.fh-home-why{
  background:var(--fh-navy);color:#d7e2e6;
  padding:96px 0;
  margin-top:48px;
}
.fh-home-why .fh-home-section{padding-top:0;padding-bottom:0}
.fh-home-why .fh-home-section__head h2{color:#fff}
.fh-home-why .fh-home-section__head>p{color:#b7c7ce}
.fh-home-why .fh-home-section__eyebrow{color:var(--fh-signal)}
.fh-home-why__body{
  display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start;
}
.fh-home-why__body p{margin:0 0 16px;font:400 16px/24px Geist,Arial,sans-serif;max-width:560px}
.fh-home-why__body a{
  display:inline-flex;align-items:center;gap:12px;
  min-height:48px;padding:12px 18px;border-radius:2px;
  background:var(--fh-green);color:#fff;text-decoration:none;font-weight:500;
}

/* offices */
.fh-home-offices-row{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;
  border-top:1px solid var(--fh-line);
}
.fh-home-office-card{
  display:grid;gap:12px;padding:28px 24px 28px 0;
  color:inherit;text-decoration:none;border-bottom:1px solid var(--fh-line);
  min-height:180px;
}
.fh-home-office-card+ .fh-home-office-card{padding-left:28px;border-left:1px solid var(--fh-line)}
.fh-home-office-card .fh-code{
  font:11px "Geist Mono",monospace;letter-spacing:.06em;color:var(--fh-green);
}
.fh-home-office-card h3{margin:0;font:500 24px/30px Geist,Arial,sans-serif}
.fh-home-office-card p{margin:0;font:400 16px/24px Geist,Arial,sans-serif;color:var(--fh-muted)}
.fh-home-office-card small{color:var(--fh-green);font-size:13px}
.fh-home-office-card:hover h3{color:var(--fh-green)}

/* Approved exhibition-map adaptation: genuine vector silhouette, restrained
   illustrative paths and the three governed office cards below it. */
.fh-home-network-map{position:relative;margin:0 0 28px;background:#071e2e;overflow:hidden}
.fh-home-network-map img{display:block;width:100%;height:auto;aspect-ratio:259/78;object-fit:cover}
.fh-home-network-map figcaption{position:absolute;right:18px;bottom:16px;margin:0;padding:7px 10px;background:rgba(7,30,46,.86);color:#fff;font:600 11px/15px "Geist Mono",monospace;letter-spacing:.05em;text-transform:uppercase}
.fh-home-network-action{display:flex;justify-content:flex-end;margin-top:28px}
.fh-home-network-action .fh-button-secondary{display:inline-flex;align-items:center;gap:22px;min-height:46px;padding:12px 0;color:var(--fh-ink);border-bottom:1px solid currentColor;text-decoration:none;font:600 14px/20px Geist,Arial,sans-serif}
.fh-home-network-action .fh-button-secondary:hover{color:var(--fh-green)}
.fh-home-network-action .fh-button-secondary:focus-visible,.fh-home-office-card:focus-visible{outline:3px solid var(--fh-green);outline-offset:4px}

/* case */
.fh-home-case{
  display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
}
.fh-home-case__photo{
  position:relative;min-height:420px;overflow:hidden;
  background:#0b2a3a;border:1px solid rgba(7,30,46,.08);
}
.fh-home-case__photo img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.fh-home-case__copy h3{margin:0 0 16px;font:600 28px/34px Geist,Arial,sans-serif;letter-spacing:-.03em}
.fh-home-case__copy p{margin:0 0 14px;font:400 16px/24px Geist,Arial,sans-serif;color:var(--fh-muted);max-width:480px}
.fh-home-case__copy a{
  display:inline-flex;align-items:center;gap:10px;margin-top:10px;
  color:var(--fh-green);font-weight:500;text-decoration:none;
}

/* industries */
.fh-home-industries{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;
}
.fh-home-industries span{
  display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;
  border:1px solid var(--fh-line);background:#fff;border-radius:2px;
  font-size:13px;color:var(--fh-ink);
}
.fh-home-industries-actions{margin-top:28px}

/* close CTA */
.fh-home-close-cta{
  background:var(--fh-green);color:#fff;padding:88px 0;margin-top:56px;
}
.fh-home-close-cta .fh-shell-inner{
  width:min(var(--fh-shell),calc(100vw - (var(--fh-gutter) * 2)));margin-inline:auto;
  display:flex;justify-content:space-between;gap:40px;align-items:center;
}
.fh-home-close-cta h2{margin:0;font:600 50px/56px Geist,Arial,sans-serif;letter-spacing:-.035em;max-width:820px}
.fh-home-close-cta p{margin:12px 0 0;max-width:420px;opacity:1;font:400 16px/24px Geist,Arial,sans-serif}
.fh-home-close-cta a{
  display:inline-flex;align-items:center;gap:12px;
  min-height:52px;padding:14px 20px;border-radius:2px;
  background:#fff;color:var(--fh-ink);text-decoration:none;font-weight:500;white-space:nowrap;
}

/* responsive */
@media (max-width:1100px){
  .fh-home-modes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fh-home-advantages{grid-template-columns:1fr 1fr}
  .fh-home-advantage:nth-child(3n+2),
  .fh-home-advantage:nth-child(3n+3){padding-left:0;border-left:0}
  .fh-home-advantage:nth-child(2n){padding-left:24px;border-left:1px solid var(--fh-line)}
  .fh-flight-copy h1{font-size:68px;line-height:72px;max-width:560px}
  .fh-flight-plane-wrap{left:40%;top:16%;width:84%}
  .fh-flight-copy{padding-top:150px}
  .fh-home-case{gap:32px}
}
@media (max-width:960px){
  .fh-home-request__bar{flex-wrap:wrap;align-items:center;gap:16px 20px}
  .fh-home-request__submit{margin-left:auto}
  .fh-home-desk__fields{grid-template-columns:1fr 1fr;gap:12px 16px}
  .fh-home-section__head h2{font-size:34px;line-height:39px}
  .fh-home-why__body,
  .fh-home-case,
  .fh-home-offices-row{grid-template-columns:1fr}
  .fh-home-office-card+ .fh-home-office-card{padding-left:0;border-left:0}
  .fh-home-close-cta .fh-shell-inner{flex-direction:column;align-items:flex-start}
}
@media (max-width:800px){
  .fh-flight-stage{min-height:760px;height:760px}
  .fh-flight-copy{padding-top:130px}
  .fh-flight-copy h1{font-size:52px;line-height:56px}
  .fh-flight-plane-wrap{left:32%;top:27%;width:100%}
  .fh-flight-bottom .fh-flight-side{width:160px}
  .fh-home-modes{grid-template-columns:1fr 1fr}
  .fh-home-section{padding-top:64px}
}
@media (max-width:560px){
  .fh-flight-stage{height:780px;min-height:780px}
  .fh-flight-copy{padding-top:118px}
  .fh-flight-copy h1{font-size:44px;line-height:47px;max-width:348px}
  .fh-flight-plane-wrap{left:9%;top:34%;width:150%}
  .fh-flight-background img{object-position:68% 50%}
  /* S5.1 Home18: retain the complete existing ship lockup in the tall mobile cover crop. */
  .fh-ocean-ship{object-position:66% 50%}
  .fh-flight-bottom{bottom:30px;display:block}
  .fh-flight-bottom .fh-flight-side{display:block!important;margin-top:18px;align-items:flex-start;text-align:left;width:auto;max-width:320px}
  .fh-flight-side .fh-scene-scroll{display:none}
  .fh-air-focus{
    display:block;
    font-size:22px;
    line-height:1.25;
    padding-top:12px;
    margin-top:2px;
    text-align:left;
    width:auto;
    max-width:320px;
  }
  .fh-mode-selector{justify-content:flex-start}
  .fh-road-clean-plate,
  .fh-road-truck-lights{object-position:68% 50%}
  .fh-home-modes{grid-template-columns:1fr}
  .fh-home-advantages{grid-template-columns:1fr}
  .fh-home-advantage:nth-child(n){padding-left:0;border-left:0}
  .fh-home-case__photo{min-height:280px}
  .fh-home-request__bar{padding:18px;flex-direction:row;flex-wrap:wrap}
  .fh-home-request__submit{width:auto;max-width:100%;margin-left:0}
  .fh-home-desk{padding:18px}
  .fh-home-desk__fields{grid-template-columns:1fr}
  .fh-home-section__head h2{font-size:34px;line-height:39px}
  .fh-home-close-cta h2{font-size:34px;line-height:39px}
  .fh-flight-bottom .fh-quiet-copy{font-size:16px;line-height:24px;max-width:340px}
  .fh-home-network-map{margin-bottom:22px}
  .fh-home-network-map img{aspect-ratio:16/7;object-fit:cover;object-position:center}
  .fh-home-network-map figcaption{position:static;display:block;padding:10px 14px;background:#071e2e;border-top:1px solid rgba(255,255,255,.18);font-size:10px}
  .fh-home-office-card{min-height:0;padding-block:24px}
  .fh-home-network-action{justify-content:flex-start;margin-top:22px}
}
/* Motion v3 — source-coordinate vehicles over stationary backgrounds. */
:root{--fh-scene-enter:320ms;--fh-scene-exit:200ms;--fh-scene-ease:cubic-bezier(.22,.61,.36,1)}
.fh-flight-stage .fh-flight-background,
.fh-flight-stage .fh-road-background,
.fh-flight-stage .fh-ocean-background{inset:0;transform:none;overflow:hidden;transition:opacity var(--fh-scene-exit) ease-in,visibility var(--fh-scene-exit);z-index:-4}
.fh-flight-stage.mode-air .fh-flight-background,
.fh-flight-stage.mode-road .fh-road-background,
.fh-flight-stage.mode-ocean .fh-ocean-background{transition:opacity var(--fh-scene-enter) ease-out;z-index:-3}
.fh-flight-stage .fh-flight-background picture{display:block;width:100%;height:100%}
.fh-flight-stage .fh-flight-background img{animation:none;transform:none}
.fh-flight-stage .fh-flight-plane-wrap{transition:transform 200ms ease-out,opacity var(--fh-scene-exit) ease-in;will-change:auto}
.fh-flight-stage .fh-flight-plane-wrap img{animation:none;filter:none;will-change:auto}
.fh-scene-canvas{display:block;position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none}
.fh-flight-stage .fh-scene-plate{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.fh-vehicle{display:block;position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none}
.fh-flight-stage .fh-vehicle img{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
/* Road v17: one full-bleed camera; scale toward its vanishing point. */
:root{--fh-truck-rest:1;--fh-truck-start:.94}
.fh-vehicle--truck{width:1672px;transform-origin:710px 540px;transform:scale(var(--fh-truck-rest))}
.fh-truck-registration{display:block;width:100%;position:relative;transform-origin:0 0;transform:translate(296px,110px) scale(.714)}
@media(max-width:1024px){.fh-road-background{--fh-truck-rest:.8;--fh-truck-start:.75}}
@media(max-width:599px){.fh-road-background{--fh-truck-rest:.58;--fh-truck-start:.54}}
.fh-truck-headlights{position:absolute;top:0;left:0;display:block;width:100%;height:auto;opacity:0;pointer-events:none}
.fh-vehicle--ship{width:1678px;transform:translate3d(420px,155px,0) scale(.675)}
.fh-mode-selector{flex-wrap:wrap;gap:8px}
.fh-hero-mode-btn{min-height:44px;min-width:44px;margin:0;padding:8px;transition:opacity 160ms ease-out}
.fh-motion-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #ffffff80;border-radius:2px;color:#fff;background:#071e2e99;font:500 12px/20px Geist,sans-serif;cursor:pointer}
.fh-motion-control svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.fh-motion-control .fh-play-mark{display:none}
.fh-motion-control[aria-pressed="true"] .fh-play-mark{display:block}
.fh-motion-control[aria-pressed="true"] .fh-pause-mark{display:none}
.fh-motion-control:focus-visible{outline:3px solid #20a982;outline-offset:4px}
.fh-motion-control:disabled{cursor:default}
.fh-motion-status{display:block;max-width:280px;min-height:24px;margin:0;font:400 14px/24px Geist,sans-serif;color:#fff}
.fh-flight-side{width:260px;gap:8px}
@media(hover:hover){.fh-motion-control:hover:not(:disabled){background:#007f5f}.fh-hero-mode-btn:hover{opacity:1}}
@media(max-width:560px){.fh-flight-side .fh-motion-control{margin-top:8px}.fh-motion-status{font-size:14px;max-width:100%}}
@media(prefers-reduced-motion:reduce){
 .fh-flight-stage .fh-flight-background,.fh-flight-stage .fh-road-background,.fh-flight-stage .fh-ocean-background,.fh-flight-stage .fh-flight-plane-wrap{transition:none!important}
 .fh-flight-stage .fh-flight-plane-wrap{transform:none!important}
}

/* Ocean brightness v1: static treatment on image layers; text grade stays intact. */
:root{--fh-ocean-brightness:1.25}
.fh-ocean-background .fh-scene-plate,
.fh-ocean-background .fh-vehicle img{filter:brightness(var(--fh-ocean-brightness))}

/* Anchored ocean scene: perspective beam rotation and warm reflected light. */
.fh-ocean-light-layer,.fh-ship-lights{position:absolute;top:0;left:0;display:block;width:100%;height:auto;pointer-events:none}
.fh-ocean-light-layer{opacity:1}
.fh-beacon-rays{transform-box:view-box;transform-origin:0 0}
[data-ocean-reflection]{opacity:.35}
.fh-ship-lights{opacity:.72}

/* Hero v16: one thin white timeline and a compact play/pause control. */
:root{--fh-timeline-stroke:1px;--fh-control-stroke:1.25;--fh-control-size:44px}
.fh-flight-stage .fh-autoplay{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:0;min-width:0}
.fh-flight-stage .fh-auto-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:var(--fh-control-size);height:var(--fh-control-size);padding:0;border:0;border-radius:0;background:none;color:#fff;cursor:pointer}
.fh-auto-toggle svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:var(--fh-control-stroke);stroke-linecap:round;stroke-linejoin:round}
.fh-auto-toggle .fh-toggle-pause{display:none}
.fh-auto-toggle[aria-pressed="true"] .fh-toggle-play{display:none}
.fh-auto-toggle[aria-pressed="true"] .fh-toggle-pause{display:block}
.fh-auto-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.fh-auto-toggle:disabled{cursor:default;opacity:.5}
.fh-flight-stage .fh-auto-track{display:block;flex:1;min-width:0;height:var(--fh-timeline-stroke);background:#ffffff55;overflow:hidden}
.fh-auto-fill{display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left center;transition:transform 100ms linear}
.fh-flight-stage .fh-air-focus{display:block;border:0;padding:0;margin:0;white-space:pre-line;min-height:2.5em;line-height:1.25}
.fh-flight-stage .fh-motion-status{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fh-flight-stage .fh-scene-kicker{min-height:3em}
@media(hover:hover){.fh-auto-toggle:hover:not(:disabled){color:#fff;background:#ffffff12}}
@media(max-width:800px){.fh-flight-bottom .fh-flight-side{width:200px;flex:none}}
@media(max-width:560px){
 .fh-flight-stage .fh-flight-side{width:100%;margin-top:8px}
 .fh-flight-stage .fh-air-focus{font-size:16px;line-height:24px;min-height:48px;text-align:left;padding-left:52px}
 .fh-flight-stage .fh-autoplay{max-width:none}
}
@media(prefers-reduced-motion:reduce){.fh-auto-fill{transition:none}}
@media(max-width:560px){
  .fh-flight-stage{display:flex;flex-direction:column;justify-content:flex-start}
  .fh-flight-copy{flex:0 0 auto}
  .fh-flight-stage .fh-scene-kicker{min-height:0}
  .fh-flight-stage .fh-scene-scroll{display:none}
  .fh-flight-stage .fh-air-focus{display:block}
  .fh-flight-bottom{position:relative;left:auto;right:auto;bottom:auto;flex:0 0 auto;width:min(var(--fh-shell),calc(100vw - (var(--fh-gutter) * 2)));margin-top:auto;margin-inline:auto;padding-bottom:30px}
  /* Fit the approved visible mode strapline inside the current 780px mobile hero. */
  .fh-flight-bottom .fh-quiet-copy{margin-top:0;margin-bottom:16px}
  .fh-flight-stage .fh-flight-side{width:100%;margin-top:12px}
}

/* Uniform airplane sizing, independent of its flight animation. */
:root{--fh-aircraft-scale:.9}
.fh-flight-stage .fh-flight-plane-wrap picture{display:block;transform:scale(var(--fh-aircraft-scale));transform-origin:center center}

/* Finish v18: static depth, no additional animated filters. */
:root{--fh-air-shadow:0 5px 6px rgb(2 14 24 / .28);--fh-water-contact-opacity:.6}
.fh-flight-stage .fh-flight-plane-wrap img{filter:drop-shadow(var(--fh-air-shadow))}
.fh-ship-contact-shadow{display:block;position:absolute;top:0;left:0;width:100%;height:auto;opacity:var(--fh-water-contact-opacity);pointer-events:none}
.fh-vehicle--ship>img{position:relative}
/* Full-bleed source-coordinate canvases stay clipped to the hero, including 390px. */
body.home{overflow-x:clip}
.fh-flight-stage,.fh-flight-stage .fh-flight-background,.fh-flight-stage .fh-road-background,.fh-flight-stage .fh-ocean-background{overflow:hidden}
.fh-flight-stage .fh-scene-canvas,.fh-flight-stage .fh-vehicle,.fh-flight-stage .fh-flight-plane-wrap{max-width:none}
