.page-atmosphere .page {
  padding-top: 0;
}

.page-atmosphere__hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: var(--paper);
  overflow: hidden;
  --atmosphere-progress: 0;
}

.page-atmosphere__field {
  position: relative;
  width: 100%;
  max-height: min(72vh, 42rem);
  aspect-ratio: 3 / 2;
  margin: 0 auto;
  pointer-events: none;
}

.page-atmosphere__img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-height: min(72vh, 42rem);
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center 38%;
  opacity: 0.94;
  filter: brightness(calc(1.05 - var(--atmosphere-progress) * 0.08));
  -webkit-mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 52%,
    rgba(0, 0, 0, 0.55) 72%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 52%,
    rgba(0, 0, 0, 0.55) 72%,
    transparent 100%
  );
}

.page-atmosphere__field::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: calc(1 + var(--atmosphere-progress) * 0.12);
  background:
    linear-gradient(to right, var(--paper) 0%, transparent 14%, transparent 86%, var(--paper) 100%),
    linear-gradient(to bottom, transparent 38%, rgba(var(--paper-rgb), 0.55) 68%, var(--paper) 94%),
    linear-gradient(to bottom, transparent 55%, rgba(14, 14, 13, calc(var(--atmosphere-progress) * 0.045)) 100%);
}

.page-atmosphere__copy {
  position: relative;
  z-index: 2;
  max-width: var(--max);
  margin: clamp(-6.5rem, -12vh, -3.5rem) auto 0;
  padding: 0 var(--gutter) var(--space-md);
}

.page-atmosphere__copy .copy-statement {
  max-width: 12ch;
  margin-bottom: var(--space-sm);
}

.page-atmosphere__copy .copy-kicker {
  margin-bottom: var(--space-sm);
}

.page-atmosphere .section:first-of-type {
  padding-top: var(--space-sm);
}

:root[data-theme="dark"] .page-atmosphere__img {
  opacity: 0.62;
  filter: saturate(0.75) brightness(calc(0.92 - var(--atmosphere-progress) * 0.07));
}

:root[data-theme="dark"] .page-atmosphere__field::before {
  opacity: calc(1 + var(--atmosphere-progress) * 0.1);
  background:
    linear-gradient(to right, var(--paper) 0%, transparent 12%, transparent 88%, var(--paper) 100%),
    linear-gradient(to bottom, rgba(var(--paper-rgb), 0.15) 0%, rgba(var(--paper-rgb), 0.72) 62%, var(--paper) 92%),
    linear-gradient(to bottom, transparent 50%, rgba(0, 0, 0, calc(var(--atmosphere-progress) * 0.08)) 100%);
}

@media (max-width: 768px) {
  .page-atmosphere__field {
    max-height: min(56vh, 22rem);
    aspect-ratio: 4 / 3;
  }

  .page-atmosphere__img {
    object-position: center 42%;
  }

  .page-atmosphere__copy {
    margin-top: clamp(-4.5rem, -10vh, -2.5rem);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .page-atmosphere__img {
    animation: page-atmosphere-in 1.1s var(--ease) both;
  }

  @keyframes page-atmosphere-in {
    from {
      opacity: 0;
      transform: scale(1.015);
    }

    to {
      opacity: 0.94;
      transform: scale(1);
    }
  }

  :root[data-theme="dark"] .page-atmosphere__img {
    animation-name: page-atmosphere-in-dark;
  }

  @keyframes page-atmosphere-in-dark {
    from {
      opacity: 0;
      transform: scale(1.015);
    }

    to {
      opacity: 0.62;
      transform: scale(1);
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-atmosphere__img {
    opacity: 0.94;
  }

  :root[data-theme="dark"] .page-atmosphere__img {
    opacity: 0.62;
  }
}
