/* Fotografía: posición, escala, color y desvanecimiento independientes. */
.backdrop {
  --photo-max-width: 1152px;
  --photo-tint: #0b2439;
  --photo-shade-opacity: 0.84;
  --photo-shade-soft: #0000006e;
  --photo-mask-visible: #000000;
  --photo-mask-hidden: #00000000;
  position: fixed;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.backdrop-photo {
  position: absolute;
  top: 50%;
  left: 0;
  width: min(75vh, var(--photo-max-width));
  width: min(75svh, var(--photo-max-width));
  aspect-ratio: 3 / 4;
  transform: translateY(-50%);
  -webkit-mask-image: linear-gradient(90deg, var(--photo-mask-visible) 66%, var(--photo-mask-hidden));
  mask-image: linear-gradient(90deg, var(--photo-mask-visible) 66%, var(--photo-mask-hidden));
}

.backdrop-photo img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 1152px;
  max-height: 1536px;
  filter: saturate(0.88);
}

.backdrop-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--photo-tint);
  opacity: var(--photo-shade-opacity);
  /* El cielo y la aeronave se conservan; la capa se refuerza bajo los textos. */
  -webkit-mask-image: linear-gradient(180deg, var(--photo-shade-soft) 40%, var(--photo-mask-visible) 58%);
  mask-image: linear-gradient(180deg, var(--photo-shade-soft) 40%, var(--photo-mask-visible) 58%);
}

@media (min-width: 128rem) {
  .backdrop-photo {
    left: max(0px, calc((100vw - var(--layout-max-width)) / 2));
  }
}

@media (max-width: 52rem) {
  .backdrop-photo {
    left: 50%;
    width: min(100vw, 75vh, var(--photo-max-width));
    width: min(100vw, 75svh, var(--photo-max-width));
    transform: translate(-50%, -50%);
    -webkit-mask-image: linear-gradient(180deg, var(--photo-mask-hidden), var(--photo-mask-visible) 6%, var(--photo-mask-visible) 88%, var(--photo-mask-hidden));
    mask-image: linear-gradient(180deg, var(--photo-mask-hidden), var(--photo-mask-visible) 6%, var(--photo-mask-visible) 88%, var(--photo-mask-hidden));
  }
}

@media (forced-colors: active) {
  .backdrop { display: none; }
}
