.hero-depth {
  --depth-scroll: 0;
  --depth-x: 0;
  --depth-y: 0;
  --far-drift: 220px;
  --mid-drift: 104px;
  --near-drift: -150px;
  position: absolute;
  inset: 0;
  overflow: hidden;
  isolation: isolate;
  visibility: hidden;
  pointer-events: none;
  background: #00243d;
}

.hero.is-depth-ready .hero-art { display: none; }
.hero.is-depth-ready .hero-depth { visibility: visible; }
.hero.is-depth-ready .hero-copy :is(h1, p, .text-link) {
  text-shadow: 0 2px 12px #00243da6;
}

.hero-plane {
  position: absolute;
  max-width: none;
  height: auto;
  transform: translate3d(
    calc(var(--depth-x) * var(--pointer-x)),
    calc(var(--depth-scroll) * var(--scroll-y) + var(--depth-y) * var(--pointer-y)),
    0
  );
}

.hero-plane-far {
  --pointer-x: 7px;
  --pointer-y: 5px;
  --scroll-y: var(--far-drift);
  inset: -12% -7%;
  width: 114%;
  height: 124%;
  object-fit: cover;
  object-position: right 49%;
}

.hero-plane-mid {
  --pointer-x: 21px;
  --pointer-y: 14px;
  --scroll-y: var(--mid-drift);
  width: 59%;
  left: 39%;
  top: 14%;
}

.hero-plane-near {
  --pointer-x: 42px;
  --pointer-y: 27px;
  --scroll-y: var(--near-drift);
  width: 42%;
  right: 2%;
  bottom: 3%;
  isolation: isolate;
}
.hero-plane-near img { position: relative; width: 100%; }
.hero-plane-near::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto 3% 0 11%;
  height: 19%;
  background: radial-gradient(ellipse, #03101bba 0%, #0a2e4a60 43%, transparent 72%);
}

.hero-depth::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #00243d 0%, #00243ded 30%, #00243db0 42%, #00243d44 51%, transparent 61%);
}

@media (max-width: 1250px) and (min-width: 1001px) {
  .hero-plane-mid { left: 41%; width: 58%; top: 16%; }
  .hero-plane-near { width: 43%; right: 1%; }
}

@media (max-width: 1000px) {
  .hero {
    display: grid;
    align-items: center;
    min-height: clamp(350px, 57vw, 560px);
  }
  .hero-depth {
    --far-drift: 80px;
    --mid-drift: 32px;
    --near-drift: -42px;
  }
  .hero .hero-art,
  .hero .hero-depth {
    position: absolute;
    inset: 0 0 0 29%;
    width: 71%;
    height: 100%;
  }
  .hero .hero-art { object-position: right center; }
  .hero-depth::after,
  .hero:not(.is-depth-ready)::after {
    content: "";
    position: absolute;
    inset: 0 0 0 29%;
    pointer-events: none;
    background: linear-gradient(90deg, #00243d 0%, #00243df5 13%, #00243d92 33%, transparent 65%);
  }
  .hero-depth::after { left: 0; }
  .hero-plane-far { object-position: right 50%; }
  .hero-plane-mid { width: 103%; left: 1%; top: 15%; }
  .hero-plane-near { width: 61%; right: 1%; bottom: 5%; }
  .hero .hero-copy {
    width: 65%;
    padding: clamp(22px, 5vw, 50px) clamp(14px, 3.7vw, 38px);
  }
  .theme-restored .hero h1,
  html[lang^=en] .theme-restored .hero h1 {
    font-size: clamp(23px, 6.1vw, 58px);
    line-height: 1.12;
  }
  .theme-restored .hero h1::after {
    width: clamp(66px, 19vw, 155px);
    margin: 12px 0 13px;
  }
  .theme-restored .hero p,
  html[lang^=en] .theme-restored .hero p {
    font-size: clamp(13px, 2.7vw, 24px);
    line-height: 1.4;
  }
  .hero .hero-actions { gap: 8px 13px; margin-top: 16px; }
  .theme-restored .hero .button,
  .theme-restored .hero .text-link { font-size: clamp(13px, 2.5vw, 22px); }
  .theme-restored .hero .button { min-height: 44px; padding: 9px 12px; }
  .theme-restored .hero .text-link { display: inline-flex; align-items: center; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-plane { transform: none; }
}
