.coverage-atlas-story {
  --atlas-bg: #031426;
  --atlas-text: #eaf7fa;
  --atlas-cyan: #55d8ea;
  --atlas-orange: #f36b2a;
}

.coverage-atlas-story {
  --atlas-progress: 0;
  --atlas-pan: 0;
  --atlas-route: 0;
  --atlas-labels: 1;
  position: relative;
  z-index: 1;
  height: 270svh;
  color: var(--atlas-text);
  background: var(--atlas-bg);
}
.coverage-atlas-stage {
  position: sticky;
  top: 0;
  isolation: isolate;
  width: 100%; height: 100svh; min-height: 620px;
  overflow: hidden;
  background: var(--atlas-bg);
  border: 0;
}
.coverage-atlas-stage::after {
  content: "";
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(3,18,34,.72) 0%,
    rgba(3,18,34,.42) 34%,
    rgba(3,18,34,.08) 58%,
    transparent 72%
  );
}
.coverage-atlas-camera {
  position:absolute;
  inset:-3px 0;
  z-index:1;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 90px,#000 calc(100% - 90px),transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 90px,#000 calc(100% - 90px),transparent 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}
.coverage-atlas-plane {
  position: absolute;
  top: 50%; left: 50%;
  width: max(112vw, calc(100svh * 1.7779));
  aspect-ratio: 1672 / 941;
  transform: translate3d(calc(-54% + var(--atlas-pan) * 8%),-50%,0) scale(1.012);
  transform-origin: center;
  will-change: transform;
}
.coverage-atlas-background,
.coverage-atlas-overlay { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.coverage-atlas-background { object-fit: fill; }
.coverage-atlas-overlay { overflow: visible; }

#route-motion-path { fill: none; stroke: none; }
.coverage-route-glow,
.coverage-route-line,
.coverage-route-secondary,
.coverage-brand-wave { fill: none; vector-effect: non-scaling-stroke; }
.coverage-route-glow { stroke: rgba(217,251,255,.16); stroke-width: 9; filter: url(#atlas-blur-12); }
.coverage-route-line { stroke: var(--atlas-cyan); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: calc((1 - var(--atlas-route)) * -1); }
.coverage-route-secondary { stroke: rgba(85,216,234,.28); stroke-width: 1.4; stroke-dasharray: 5 7; }
.coverage-port circle:last-child { fill: #031426; stroke: var(--atlas-cyan); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.coverage-vessel-marker__ring { fill: none; stroke: rgba(243,107,42,.32); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.coverage-vessel-marker__core { fill: #092033; stroke: var(--atlas-orange); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.coverage-vessel-marker__arrow { fill: #f6a06f; }
.coverage-brand-wave { stroke: var(--atlas-cyan); stroke-width: 1.5; opacity: .86; }
.coverage-brand-wave__node { fill: #031426; stroke: var(--atlas-cyan); stroke-width: 2; vector-effect: non-scaling-stroke; }

.coverage-editorial,
.coverage-port-label { position: absolute; z-index: 5; }
.coverage-editorial__eyebrow,
.coverage-port-label span { color: var(--atlas-cyan); }

.coverage-editorial {
  isolation: isolate;
  top: clamp(170px,20vh,205px);
  left: 50%;
  width: min(620px,calc(100vw - (var(--page-gutter) * 2)));
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%);
  text-align: center;
}
.coverage-editorial__eyebrow { margin:0 0 var(--section-heading-gap); font-size:var(--type-label); line-height:1; font-weight:var(--weight-medium); letter-spacing:var(--tracking-label); }
.coverage-editorial h2 { margin:0; font-size:var(--section-title-size); font-weight:var(--weight-medium); line-height:var(--section-title-line-height); letter-spacing:var(--section-title-letter-spacing); }
.coverage-editorial__copy { max-width:440px; margin:var(--section-copy-gap) auto 0; color:rgba(216,232,238,.74); font-size:var(--type-body-lg); line-height:var(--leading-body); }

.coverage-port-label { display: grid; gap: 4px; opacity: var(--atlas-labels); transform: translateY(calc((1 - var(--atlas-labels)) * 12px)); }
.coverage-port-label strong { font-size:var(--type-meta); font-weight:var(--weight-semibold); letter-spacing:.08em; }
.coverage-port-label span { font-size:var(--type-label); font-weight:var(--weight-medium); letter-spacing:.1em; }
.coverage-port-label--gulf { left: 7%; top: 63%; text-align: right; }
.coverage-port-label--india { right: 6.5%; top: 63%; }

@media (max-width:900px) {
  .coverage-atlas-story { height:210svh; }
  .coverage-atlas-stage { min-height:560px; }
  .coverage-atlas-plane { width:max(230vw,calc(100svh * 1.7779)); transform:translate3d(calc(-72% + var(--atlas-pan) * 62%),-50%,0) scale(1.01); }
  .coverage-editorial { top:17%; left:50%; width:calc(100vw - (var(--page-gutter) * 2)); }
  .coverage-editorial__copy { max-width:340px; }
  .coverage-port-label--gulf { left:24px; top:67%; text-align:left; }
  .coverage-port-label--india { right:24px; top:67%; text-align:right; }
  .coverage-atlas-camera {
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 50px,#000 calc(100% - 50px),transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0,#000 50px,#000 calc(100% - 50px),transparent 100%);
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-size:100% 100%;
    mask-size:100% 100%;
  }
}

@media (max-width:520px) {
  .coverage-atlas-story { height:195svh; }
  .coverage-atlas-plane { width:max(250vw,calc(100svh * 1.7779)); }
  .coverage-editorial { top:16%; }
  .coverage-editorial__eyebrow { margin-bottom:var(--section-heading-gap); }
  .coverage-editorial__copy { margin-top:var(--section-copy-gap); }
  .coverage-port-label strong { font-size:var(--type-label); }
  .coverage-port-label span { font-size:var(--type-caption); }
}

@media (prefers-reduced-motion:reduce) {
  .coverage-atlas-story { height:auto; min-height:100svh; --atlas-progress:1; --atlas-pan:.5; --atlas-route:1; --atlas-labels:1; }
  .coverage-atlas-stage { position:relative; }
  .coverage-atlas-plane { transform:translate3d(-50%,-50%,0); }
}
