@media (max-width: 64rem) {
  .package-detail-hero__inner,
  .package-overview__grid {
    gap: clamp(2.5rem, 5vw, 4rem);
  }
}

@media (max-width: 48rem) {
  .package-detail-hero {
    padding-block: clamp(2.25rem, 7vw, 3.5rem) clamp(3.5rem, 10vw, 5rem);
  }

  .package-detail-hero::before {
    width: 16rem;
    height: 16rem;
  }

  .package-detail-hero__inner,
  .package-overview__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .package-detail-hero__inner {
    gap: clamp(1.5rem, 6vw, 2.5rem);
  }

  .package-detail__back {
    margin-block-end: clamp(1rem, 4vw, 1.5rem);
  }

  .package-detail-hero h1 {
    max-width: 12ch;
    font-size: clamp(2.8rem, 13.5vw, 4.6rem);
  }

  .package-detail__lead {
    font-size: clamp(1rem, 4vw, 1.15rem);
  }

  .package-overview {
    padding-block: clamp(3.5rem, 12vw, 5.5rem);
  }

  .package-overview__grid {
    gap: var(--space-7);
  }

  .package-scope {
    padding: clamp(1.5rem, 7vw, 2.5rem);
  }

  .package-scope ul {
    grid-template-columns: minmax(0, 1fr);
  }

  .package-scope li:last-child:nth-child(odd) {
    grid-column: auto;
  }

  .package-media {
    padding-block: clamp(3.5rem, 12vw, 5.5rem);
  }

  .package-media__inner {
    gap: clamp(4.5rem, 16vw, 6.5rem);
  }

  .package-media__group h2 {
    margin-block-end: clamp(1.75rem, 7vw, 2.5rem);
    font-size: clamp(2rem, 9vw, 3.25rem);
  }

  .package-photo-gallery {
    overflow: hidden;
    max-height: clamp(28rem, 126vw, 44rem);
    grid-auto-rows: clamp(7.25rem, 31vw, 13rem);
    gap: 0.55rem;
    transition: max-height 620ms var(--ease-out);
  }

  .package-photo-gallery::after {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    height: 9rem;
    background: linear-gradient(0deg, hsl(39 100% 97% / 0.96), hsl(39 100% 97% / 0.34) 58%, transparent);
    content: "";
    pointer-events: none;
    transition: opacity 220ms var(--ease-out);
  }

  .package-photo-gallery.is-expanded {
    max-height: 90rem;
  }

  .package-photo-gallery.is-expanded::after {
    opacity: 0;
  }

  .package-photo-card {
    border-radius: 1.125rem;
  }

  .package-gallery-toggle {
    position: absolute;
    z-index: 3;
    bottom: 1.25rem;
    left: 50%;
    display: flex;
    min-width: 10.5rem;
    min-height: 3.25rem;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    padding-inline: 1.35rem;
    transform: translateX(-50%);
    border: 0.0625rem solid hsl(31 25% 87% / 0.88);
    border-radius: 999px;
    background: hsl(39 100% 99% / 0.96);
    box-shadow: 0 0.75rem 2rem hsl(20 35% 15% / 0.2);
    color: var(--color-ink);
    font: 650 0.92rem/1 var(--font-body);
    white-space: nowrap;
    backdrop-filter: blur(0.75rem);
    touch-action: manipulation;
  }

  .package-gallery-toggle svg {
    width: 1rem;
    height: 1rem;
    transform: rotate(90deg);
    transition: transform 220ms var(--ease-out);
  }

  .package-gallery-toggle[aria-expanded="true"] svg {
    transform: rotate(-90deg);
  }

  .package-video-grid {
    gap: 0.625rem;
  }

  .package-video-card {
    border-radius: 1.125rem;
  }

  .package-video-card__play {
    width: 3.25rem;
    height: 3.25rem;
  }

  .package-video-card__play svg {
    width: 1.45rem;
    height: 1.45rem;
  }

  .package-contact {
    padding-block: clamp(2.5rem, 9vw, 4rem);
  }

  .package-contact__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .package-contact .button {
    width: 100%;
  }
}

@media (max-width: 21.25rem) {
  .package-detail-hero h1 {
    font-size: 2.65rem;
  }

  .package-detail__eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.1em;
  }

  .package-media__group h2 {
    font-size: 1.9rem;
  }

  .package-gallery-toggle {
    min-width: 9.75rem;
    padding-inline: 1rem;
    font-size: 0.84rem;
  }

  .package-video-card__play {
    width: 2.85rem;
    height: 2.85rem;
  }

  .package-contact__inner {
    padding: 1.25rem;
  }
}
