/* Desktop media groups share the section edges and the Moments gap. */
@media (min-width: 769px) {
  .about__gallery { padding-inline: 0; }
  .live { padding-inline: 0; }
  .live__grid { max-width: none; gap: var(--media-gap); }
}
/* R04 responsive rules: landscape keeps the master two-column release grid. */
@media (max-width: 768px) {
  :root { --gutter: 24px; }
  .navigation { padding: 22px 24px; }
  .navigation__links { display: none; }
  .section-heading__label { letter-spacing: .38em; }
  .section-heading__title { font-size: clamp(2.8rem,12vw,4.2rem); }
  .hero { min-height: 100svh; padding: 96px 24px 55px; }
  .hero__content { padding-inline: 24px; transform: translateX(-4px); }
  .hero__logo { width: min(84vw,410px); }
  .hero__style { font-size: .55rem; letter-spacing: .27em; }
  .hero__actions { gap: 14px; margin-top: 30px; }
  .hero__action { font-size: .72rem; letter-spacing: .28em; }
  .hero__scroll { right: 24px; }
  .about { display: block; }
  .about::before { filter: brightness(.90) contrast(1.06) saturate(.86) sepia(.06); }
  .about__text p { line-height: 1.9; }
  .about__portrait { width: min(320px,86vw); margin-inline: auto; }
  .about__gallery { gap: 8px; padding-inline: 14px; }
  .releases { gap: 24px 20px; }
  .release { height: 132px; flex-shrink: 0; }
  .release__cover { width: 88px; flex-basis: 88px; }
  .release--featured { min-height: 0; height: auto; }
  .release__row { padding-block: 9px; }
  .video { grid-template-columns: 1fr; }
  .social-links { gap: 5px; }
  .social-link { max-width: 320px; height: 64px; flex-basis: 64px; margin-bottom: 5px; padding-inline: 22px; }
  .social-link:last-child { margin-bottom: 0; }
  .social-link__icon { width: 27px; height: 27px; left: 22px; }
  .social-link__label { font-size: .9rem; letter-spacing: .19em; }
  .moments__grid { grid-template-columns: 1fr; gap: 16px; }
  .booking { padding: 34px 28px; border-width: 1px; }
  .booking h3 { font-size: 1.58rem; line-height: 1.25; letter-spacing: .15em; margin-bottom: 26px; }
  .booking__intro { font-size: 1.02rem; line-height: 1.72; }
  .booking__intro br { display: none; }
  .booking__contact { margin-top: 24px; }
  .booking__contact span { font-size: .78rem; letter-spacing: .22em; }
  .booking__contact a { font-size: 1.08rem; line-height: 1.35; overflow-wrap: anywhere; }
}
@media (max-width: 587px) {
  .releases { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .live { padding: 0; }
  .live__title { margin-bottom: 22px; padding-inline: 20px; }
  .live__grid { display: flex; max-width: none; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 22px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .live__grid::-webkit-scrollbar { display: none; }
  .live__frame { flex: 0 0 min(72vw,280px); scroll-snap-align: center; }
}
@media (orientation: landscape) and (max-height: 520px) {
  .hero { min-height: 100svh; padding: 70px 32px 55px; }
  .hero__content { width: min(76vw,620px); }
  .hero__logo { width: min(46vw,340px); }
  .about { column-gap: 40px; }
  .about__portrait { width: 250px; }
}
/* R07: approved desktop About columns; also applies in low landscape viewports. */
@media (min-width: 769px) {
  .about { column-gap: var(--section-space); }
  .about__portrait { width: 100%; }
  .about__text p:last-child { margin-bottom: 0; }
  .about__gallery { margin-top: var(--section-space); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero__photo, .hero__logo, .hero__style, .hero__actions { animation: none; opacity: 1; transform: none; filter: none; }
  .hero__scroll { animation-duration: .01ms; }
  .hero__scroll-line { animation-duration: .01ms; animation-iteration-count: 1; }
  .social-link, .release, .navigation__links a, .moments__photo img { transition-duration: .01ms; }
}
/* R11: aligned About content and equal vertical gaps in mobile portrait only. */
@media (max-width: 768px) and (orientation: portrait) {
  .about__text p:last-child { margin-bottom: 0; }
  .about__portrait { width: 100%; margin-top: var(--section-space); }
  .about__gallery { margin-top: var(--section-space); padding-inline: 0; }
}
