@media (max-width: 1240px) {
  :root { --container: min(100% - 2rem, 1120px); }
  .member-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .member-card { min-height: 510px; }
  .records-grid { grid-template-columns: 1fr; background: none; }
  .stoned-panel { border-bottom: 1px solid rgba(214,164,58,.35); }
  .upcoming-panel { grid-template-columns: minmax(260px, .7fr) 1fr; gap: 2rem; }
}

@media (max-width: 1040px) {
  .nav-cta { display: none; }
  .primary-nav { gap: .75rem; }
  .about-grid { grid-template-columns: .46fr .94fr 1.2fr; }
  .hero-mascot { right: -10vw; width: min(68vw, 900px); }
  .hero h1 { font-size: clamp(3.4rem, 6.5vw, 5.8rem); }
}

@media (max-width: 900px) {
  :root { --header-height: 4.75rem; }
  .menu-toggle { display: block; }
  .nav-shell, .site-header.is-scrolled .nav-shell { padding-left: 5.5rem; }
  .brand, .site-header.is-scrolled .brand { width: 5.2rem; height: 5.2rem; top: .15rem; }
  .js .primary-nav { position: fixed; inset: 0; z-index: 3; margin: 0; padding: calc(var(--header-height) + 3rem) 2rem 3rem; display: flex; flex-direction: column; justify-content: center; gap: 1.05rem; background: radial-gradient(circle at 20% 20%, rgba(139,62,104,.22), transparent 34%), radial-gradient(circle at 80% 75%, rgba(40,122,114,.18), transparent 35%), rgba(8,6,5,.98); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity var(--duration-normal) var(--ease-smooth), visibility var(--duration-normal), transform var(--duration-normal) var(--ease-smooth); }
  .js .primary-nav.open { opacity: 1; visibility: visible; transform: translateY(0); }
  .primary-nav a { font-size: clamp(1.65rem, 5vw, 2.3rem); }
  .hero { min-height: 920px; padding-top: calc(var(--header-height) + 1.2rem); align-items: start; }
  .hero-scene img { object-position: center; }
  .hero-shade { background: linear-gradient(180deg, rgba(8,6,5,.92) 0 37%, rgba(8,6,5,.22) 60%, rgba(8,6,5,.9) 100%); }
  .hero-shell { grid-template-columns: 1fr; min-height: 830px; align-content: start; }
  .hero-copy { max-width: 650px; padding-top: 5rem; }
  .hero-copy::before { inset: -1rem -3rem -2rem -3rem; }
  .hero h1 { max-width: 9.5ch; font-size: clamp(3.3rem, 10vw, 5.7rem); }
  .hero-mascot { right: -18vw; bottom: -1.5rem; width: min(94vw, 760px); }
  .scroll-cue { display: none; }
  .about-grid { grid-template-columns: .66fr 1.34fr; }
  .fresco-figure { grid-row: span 2; }
  .poster-frame { grid-column: 2; }
  .about-slideshow { width: 100%; }
  .upcoming-panel { grid-template-columns: 1fr; }
  .album-grid, .contact-grid { grid-template-columns: 1fr; }
  .live-editorial { grid-template-columns: 1fr; }
  .live-collage { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; }
  .featured-video { min-height: 500px; }
  .footer-inner { grid-template-columns: auto 1fr; }
  .footer-links { grid-column: 2; }
}

@media (max-width: 680px) {
  :root { --container: min(100% - 1.25rem, 620px); }
  .analytics-consent { grid-template-columns: 1fr; }
  .analytics-consent-actions { display: grid; grid-template-columns: 1fr; }
  .analytics-consent-actions .button { width: 100%; }
  .section { padding: 5rem 0; }
  .section + .section::before { top: -27px; height: 62px; }
  h2 { font-size: clamp(2.65rem, 12vw, 4.4rem); }
  .hero { min-height: 900px; padding-bottom: 0; }
  .hero-copy { padding-top: 4.4rem; }
  .hero-copy::before { inset: -2rem -1.25rem -2rem; background: linear-gradient(180deg, rgba(8,6,5,.88), rgba(8,6,5,.52), transparent); }
  .hero h1 { font-size: clamp(2.9rem, 14vw, 4.65rem); max-width: 9.5ch; transform: rotate(-.6deg); }
  .hero-line { width: auto; }
  .hero-lead { max-width: 33rem; font-size: .95rem; }
  .hero-actions { align-items: stretch; }
  .hero-actions .button { flex: 1 1 100%; }
  .hero-actions .text-link { width: 100%; justify-content: center; }
  .hero-mascot { right: -34vw; bottom: -1rem; width: min(137vw, 800px); }
  .hero-beam { display: none; }
  .about-grid { grid-template-columns: 1fr; }
  .fresco-figure { position: absolute; right: -24%; bottom: 0; width: 68%; opacity: .16; z-index: -1; }
  .poster-frame { grid-column: auto; }
  .genre-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .record-panel { padding: 1.35rem; }
  .album-grid { grid-template-columns: 1fr; gap: 1rem; }
  .album-visual { min-height: 400px; }
  .album-cover { width: min(76%, 380px); }
  .album-cover.album-presentation { width: min(100%, 520px); }
  .vinyl { right: 1%; width: min(62%, 315px); }
  .album-content { padding: 1rem 0 0; border-left: 0; border-top: 1px solid rgba(214,164,58,.3); }
  .inline-form { grid-template-columns: 1fr; }
  .timeline { display: grid; grid-template-columns: 1fr; gap: 0; overflow: visible; padding-left: 1rem; }
  .timeline::before { top: 1rem; bottom: 1rem; left: 4.9rem; right: auto; width: 3px; height: auto; }
  .timeline-progress { top: 1rem; bottom: 1rem; left: 4.9rem; width: 3px; height: auto; transform: scaleY(0); transform-origin: top; }
  .history.is-in-view .timeline-progress { transform: scaleY(1); }
  .milestone { min-width: 0; display: grid; grid-template-columns: 8.2rem 1fr; grid-template-rows: auto auto; text-align: left; padding: 0 0 1.7rem; }
  .milestone-medallion { grid-row: 1 / 3; width: 7.6rem; margin: 0; }
  .milestone h3 { align-self: end; margin-left: 1rem; }
  .milestone p { margin: .2rem 0 0 1rem; }
  .member-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .member-card { min-height: min(520px, 125vw); }
  .live-collage { grid-template-columns: 1fr 1fr; }
  .featured-video { min-height: 440px; }
  .featured-video-label { top: .9rem; left: .9rem; }
  .form-grid { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; text-align: center; }
  .footer-brand { margin-inline: auto; }
  .footer-links { grid-column: auto; justify-content: center; }
  .lightbox-prev { left: .4rem; }
  .lightbox-next { right: .4rem; }
}

@media (max-width: 430px) {
  .hero { min-height: 860px; }
  .hero-copy { padding-top: 3.8rem; }
  .hero h1 { font-size: clamp(2.7rem, 14.5vw, 4rem); }
  .hero-mascot { right: -46vw; width: 155vw; }
  .button { width: 100%; }
  .button-row .button { flex: 1 1 100%; }
  .genre-list { grid-template-columns: 1fr; }
  .album-visual { min-height: 330px; }
  .member-grid { grid-template-columns: 1fr; }
  .member-card { min-height: min(620px, 145vw); }
  .live-collage { grid-template-columns: 1fr; }
  .gallery-item { min-height: 250px; }
  .contact-details div { grid-template-columns: 1fr; gap: .15rem; }
}

@media (min-width: 1441px) {
  :root { --container: min(1400px, calc(100% - 4rem)); }
  .hero-mascot { width: min(59vw, 1040px); }
  .member-card { min-height: 470px; }
}

@media (hover: none) {
  .member-info { transform: none; }
  .member-bio { opacity: 1; }
  .gallery-item::after { opacity: .85; transform: none; }
}
