/* Homepage adaptations. Shared header/footer remain separate. */
@media (max-width: 900px) {
  .home-page { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  /* Keep image, overlay and content in an explicit, non-negative stack. */
  .home-page .page-section > .section-bg { z-index: 0; }
  .home-page .page-section::before { z-index: 1; }
  .home-page .page-section > .container { position: relative; z-index: 2; }

  .home-page .release,
  .home-page .booking { min-height: 0; padding: 52px 0; }
  .home-page .release-grid,
  .home-page .booking-shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    width: min(100%, 620px);
  }
  .home-page .release-grid { width: min(calc(100% - 40px), 620px); }
  .home-page .release-grid > *,
  .home-page .booking-shell > * { min-width: 0; }
  .home-page .album-cover {
    width: min(100%, 390px);
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    transform: none;
  }
  .home-page .release-copy { padding: 0; background: none; }
  .home-page .release-title { font-size: clamp(3.5rem, 15vw, 6rem); line-height: .95; }
  .home-page .release-credit { font-size: clamp(1.5rem, 5vw, 2rem); }
  .home-page .release-description,
  .home-page .booking-copy { font-size: 1.2rem; line-height: 1.55; }
  .home-page .booking-shell { padding: 0; gap: 24px; }
  .home-page .booking-side { max-width: none; }
  .home-page .booking-title { font-size: clamp(2.8rem, 10vw, 4.5rem); line-height: 1; }
  .home-page .hero-grid { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
  /* Content stays visible even if a long section cannot meet the reveal threshold. */
  .home-page .reveal { opacity: 1; transform: none; }
}

@media (max-width: 720px) {
  .home-page .container { width: calc(100% - 40px); }
  .home-page .hero {
    height: auto;
    min-height: 0;
    max-height: none;
    padding: calc(var(--nav-h, 70px) + 20px) 0 36px;
  
    padding-left: 0;
    padding-right: 0;
  }
  .home-page .hero-grid {
    width: calc(100% - 40px);
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 16px;
  }
  .home-page .hero-art {
    grid-row: 1;
    justify-content: center;
    min-height: 0;
  }
  .home-page .hero-portrait {
    width: auto;
    height: clamp(280px, 48vh, 420px);
    height: clamp(280px, 48svh, 420px);
    max-height: none;
    max-width: 100%;
    object-fit: contain;
    object-position: center bottom;
    transform: none;
  }
  .home-page .hero-copy {
    grid-row: 2;
    width: 100%;
    justify-self: stretch;
    align-self: start;
    padding: 0;
    min-width: 0;
    background: none;
  }
  .home-page .hero-copy::before { inset: -12px; }
  .home-page .hero-wordmark { width: min(100%, 360px); }
  .home-page .hero-kicker { font-size: clamp(1.1rem, 4.5vw, 1.6rem); line-height: 1.2; }
  .home-page .hero-lede { font-size: 1.18rem; line-height: 1.5; }
  .home-page .scroll-cue { display: none; }
  .home-page .hero-actions,
  .home-page .release-actions,
  .home-page .booking-actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .home-page .btn { width: 100%; min-height: 48px; padding: 12px 16px; text-align: center; }
  .home-page .text-link { min-height: 44px; }

  .home-page .legacy { min-height: 0; padding: 0; }
  .home-page .legacy-stage {
    width: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  .home-page .legacy-stage::before { display: none; }
  .home-page .legacy-portrait {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    align-self: center;
    width: min(90%, 360px);
    max-width: 100%;
    height: auto;
    margin-top: 20px;
    transform: none;
    object-position: center bottom;
  }
  .home-page .story-panel,
  .home-page .gallery-panel {
    width: 100%;
    padding: 32px 20px;
    background: linear-gradient(180deg, rgba(2,10,18,.7), rgba(2,10,18,.86));
  }
  .home-page .gallery-panel { border-top: 1px solid rgba(235,205,139,.2); }
  .home-page .story-title { font-size: clamp(2.6rem, 11vw, 4.2rem); line-height: 1; }
  .home-page .gallery-title { font-size: clamp(2.5rem, 10.5vw, 4rem); line-height: 1; }
  .home-page .story-copy,
  .home-page .gallery-copy { font-size: 1.15rem; line-height: 1.5; }
  .home-page .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .home-page .gallery-card { min-width: 0; }
  .home-page .story-cta .btn,
  .home-page .gallery-cta .btn { width: 100%; }
  .home-page .booking-shell { width: 100%; padding: 0; }
}
