.page-home-v3 .hero-grid {
  grid-template-columns: minmax(0, 1fr) 320px;
  min-height: 790px;
  gap: clamp(48px, 7vw, 110px);
}

.page-home-v3 .hero-side-stack {
  display: grid;
  width: 300px;
  gap: 16px;
  justify-self: end;
  align-self: center;
}

.page-home-v3 .freight-stage,
.page-home-v3 .publication-carousel {
  width: 300px;
  height: 350px;
}

.page-home-v3 .freight-stage {
  aspect-ratio: auto;
  transform: none;
}

.page-home-v3 .stage-head {
  inset: 15px 11px auto;
  gap: 8px;
  font-size: 6.5px;
  letter-spacing: .09em;
}

.page-home-v3 .stage-head span { gap: 6px; }
.page-home-v3 .freight-route { top: 43px; right: 10px; left: 10px; height: 148px; }
.page-home-v3 .port-node { grid-template-columns: 12px 1fr; column-gap: 5px; font-size: 6px; letter-spacing: .04em; }
.page-home-v3 .port-node > i { width: 7px; height: 7px; border-width: 1px; }
.page-home-v3 .port-node small { font-size: 5px; }
.page-home-v3 .port-origin { bottom: 24px; left: 10px; }
.page-home-v3 .port-customs { top: 22px; left: 43%; }
.page-home-v3 .port-destination { right: 10px; bottom: 24px; }
.page-home-v3 .cargo-vessel { bottom: 42px; width: 92px; transform-origin: center; }
.page-home-v3 .cargo-aircraft { bottom: 46px; transform-origin: center; }
.page-home-v3 .cargo-truck { bottom: 34px; transform-origin: center; }
.page-home-v3 .route-progress { right: 8%; bottom: 20px; left: 8%; }
.page-home-v3 .freight-stage[data-transport="air"] .port-customs { top: 18px; }
.page-home-v3 .freight-stage[data-transport="road"] .port-origin,
.page-home-v3 .freight-stage[data-transport="road"] .port-destination { bottom: 44px; }
.page-home-v3 .freight-stage[data-transport="road"] .route-progress { bottom: 42px; }
.page-home-v3 .freight-stage[data-transport="road"] .freight-route::after { bottom: 28px; height: 16px; }

.page-home-v3 .freight-manifest {
  top: 199px;
  right: 10px;
  left: 10px;
  grid-template-columns: 1.1fr .8fr 1fr;
}

.page-home-v3 .freight-manifest > div { min-height: 57px; padding: 9px 7px; }
.page-home-v3 .freight-manifest small { font-size: 5.5px; letter-spacing: .08em; }
.page-home-v3 .freight-manifest strong { margin-top: 5px; font-size: 8px; line-height: 1.15; }
.page-home-v3 .freight-manifest span { top: 23px; right: 7px; font-size: 7px; }
.page-home-v3 .freight-manifest .status-dot { width: 5px; height: 5px; }

.page-home-v3 .cargo-status { right: 10px; bottom: 10px; left: 10px; }
.page-home-v3 .status-item {
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 5px;
  min-height: 73px;
  padding: 7px 5px;
}

.page-home-v3 .status-item > b { display: none; }
.page-home-v3 .status-item span { min-width: 0; }
.page-home-v3 .status-item span small { overflow-wrap: anywhere; font-size: 5.5px; letter-spacing: .035em; }
.page-home-v3 .status-item span strong { overflow-wrap: anywhere; font-size: 7px; line-height: 1.25; }
.page-home-v3 .mini-icon { width: 22px; height: 22px; transform: scale(.8); transform-origin: center; }

.page-home-v3 .publication-carousel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #000;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .32);
  isolation: isolate;
}

.page-home-v3 .publication-carousel::after {
  position: absolute;
  z-index: 3;
  inset: auto 0 0;
  height: 86px;
  background: linear-gradient(transparent, rgba(0, 0, 0, .56));
  content: "";
  pointer-events: none;
}

.page-home-v3 .publication-carousel-viewport { position: absolute; inset: 0; background: #000; }
.page-home-v3 .carousel-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
  opacity: 0;
  transform: translateX(100%);
  transition: transform .6s cubic-bezier(.22,.72,.2,1), opacity .6s ease;
}

.page-home-v3 .carousel-slide.from-left { transform: translateX(-100%); }
.page-home-v3 .carousel-slide.is-current { z-index: 2; opacity: 1; transform: translateX(0); }
.page-home-v3 .carousel-slide.is-current { cursor: zoom-in; }
.page-home-v3 .carousel-slide.exit-left { opacity: 0; transform: translateX(-38%); }
.page-home-v3 .carousel-slide.exit-right { opacity: 0; transform: translateX(38%); }
.page-home-v3 .carousel-arrow {
  position: absolute;
  z-index: 5;
  top: 50%;
  display: grid;
  width: 32px;
  height: 52px;
  place-items: center;
  border: 0;
  background: rgba(255,255,255,.1);
  color: rgba(255,255,255,.78);
  cursor: pointer;
  font: 300 29px/1 Arial, sans-serif;
  opacity: .76;
  transform: translateY(-50%);
  transition: background .2s, color .2s, opacity .2s;
}

.page-home-v3 .carousel-arrow:hover,
.page-home-v3 .carousel-arrow:focus-visible { background: rgba(255,255,255,.2); color: #fff; opacity: 1; }
.page-home-v3 .carousel-prev { left: 0; }
.page-home-v3 .carousel-next { right: 0; }
.page-home-v3 .carousel-dots {
  position: absolute;
  z-index: 5;
  right: 44px;
  bottom: 18px;
  left: 44px;
  display: flex;
  min-height: 14px;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.page-home-v3 .carousel-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  background: rgba(255,255,255,.14);
  cursor: pointer;
  transition: background .2s, transform .2s;
}

.page-home-v3 .carousel-dot.active { background: rgba(255,255,255,.9); transform: scale(1.16); }
.page-home-v3 .carousel-empty {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.page-home-v3 .publication-carousel[data-empty="true"] .carousel-arrow,
.page-home-v3 .publication-carousel[data-empty="true"] .carousel-dots,
.page-home-v3 .publication-carousel[data-single="true"] .carousel-arrow { display: none; }

.carousel-zoom-open { overflow: hidden; }

.carousel-zoom-backdrop {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(3, 4, 5, .86);
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
  backdrop-filter: blur(12px);
}

.carousel-zoom-backdrop.is-open { opacity: 1; pointer-events: auto; }

.carousel-zoom-frame {
  position: relative;
  width: min(450px, calc(100vw - 48px));
  height: min(525px, calc(100vh - 48px));
  border: 1px solid rgba(247, 198, 23, .55);
  background: #000;
  box-shadow: 0 36px 110px rgba(0, 0, 0, .78), 0 0 0 1px rgba(255,255,255,.045) inset, 0 0 42px rgba(247,198,23,.11);
  opacity: 0;
  transform: scale(.9) translateY(16px);
  transition: opacity .28s ease, transform .38s cubic-bezier(.22,.72,.2,1);
}

.carousel-zoom-backdrop.is-open .carousel-zoom-frame { opacity: 1; transform: scale(1) translateY(0); }
.carousel-zoom-frame::before,
.carousel-zoom-frame::after {
  position: absolute;
  z-index: 2;
  width: 32px;
  height: 32px;
  border-color: var(--yellow);
  content: "";
  pointer-events: none;
}
.carousel-zoom-frame::before { top: -1px; left: -1px; border-top: 2px solid; border-left: 2px solid; }
.carousel-zoom-frame::after { right: -1px; bottom: -1px; border-right: 2px solid; border-bottom: 2px solid; }
.carousel-zoom-image { display: block; width: 100%; height: 100%; object-fit: contain; cursor: zoom-out; }
.carousel-zoom-close {
  position: absolute;
  z-index: 3;
  top: 10px;
  right: 10px;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(0,0,0,.68);
  color: #fff;
  cursor: pointer;
  font: 300 24px/1 Arial, sans-serif;
}
.carousel-zoom-close:hover,
.carousel-zoom-close:focus-visible { border-color: var(--yellow); color: var(--yellow); }

@keyframes vessel-voyage {
  0% { transform: translate(0, 2px) scale(.78); }
  45%, 55% { transform: translate(135px, -3px) scale(.78); }
  100% { transform: translate(0, 2px) scale(.78); }
}

@keyframes aircraft-voyage {
  0% { transform: translate(0, 8px) rotate(-2deg) scale(.68); }
  45%, 55% { transform: translate(128px, -22px) rotate(-5deg) scale(.68); }
  100% { transform: translate(0, 8px) rotate(-2deg) scale(.68); }
}

@keyframes truck-voyage {
  0% { transform: translateX(0) scale(.72); }
  45%, 55% { transform: translateX(126px) scale(.72); }
  100% { transform: translateX(0) scale(.72); }
}

@media (max-width: 1120px) {
  .page-home-v3 .hero-grid { grid-template-columns: minmax(0, 1fr) 300px; gap: 38px; }
}

@media (max-width: 900px) {
  .page-home-v3 .hero-grid { grid-template-columns: 1fr; }
  .page-home-v3 .hero-side-stack { width: min(100%, 300px); justify-self: center; }
}

@media (max-width: 340px) {
  .page-home-v3 .hero-side-stack,
  .page-home-v3 .freight-stage,
  .page-home-v3 .publication-carousel { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .page-home-v3 .carousel-slide { transition: opacity .001ms; transform: none; }
  .carousel-zoom-backdrop,
  .carousel-zoom-frame { transition-duration: .001ms; }
}
