@media (max-width: 700px) {
  body {
    overflow-x: hidden;
  }

  .back {
    top: max(12px, env(safe-area-inset-top));
    left: 16px;
    padding: 7px 14px;
    font-size: 12px;
    background: rgba(13, 13, 13, .55);
  }

  .hero-img,
  .hero-video {
    height: clamp(330px, 52svh, 440px);
    object-position: center;
  }

  .content {
    padding: 52px 20px 24px;
  }

  .content h1 {
    font-size: clamp(36px, 10.5vw, 48px);
    line-height: .96;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
    margin-bottom: 18px;
  }

  .meta {
    font-size: 12px;
    line-height: 1.65;
    letter-spacing: .075em;
    margin-bottom: 30px;
  }

  .content h2 {
    margin-top: 36px;
    margin-bottom: 12px;
    font-size: 16px;
    letter-spacing: .08em;
  }

  .content p {
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.72;
  }

  .content ul {
    margin-bottom: 26px;
  }

  .content li {
    margin-bottom: 12px;
    padding-left: 14px;
    font-size: 15px;
    line-height: 1.65;
  }

  .cta-link {
    font-size: 13px;
  }

  .gallery {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin: 22px auto 0;
    padding: 0 16px;
  }

  .gallery img,
  .gallery img:first-child {
    grid-column: 1;
    aspect-ratio: 4 / 3;
    border-radius: 6px;
  }

  .gallery video,
  .gallery .featured-video {
    grid-column: 1;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
    border-radius: 6px;
  }

  body > video[style*="100vh"] {
    height: 62svh !important;
    min-height: 360px;
    margin-top: 32px !important;
  }

  footer {
    padding: 48px 20px 24px;
    font-size: 13px;
  }
}

@media (max-width: 380px) {
  .content {
    padding-right: 18px;
    padding-left: 18px;
  }

  .content h1 {
    font-size: 34px;
  }

  .gallery {
    padding-right: 12px;
    padding-left: 12px;
  }
}
