/* Additive refinements: retain the original typography, palette and composition. */
.site-header {
  height: auto;
  min-height: 82px;
  padding-block: .65rem;
  flex-wrap: wrap;
  gap: .5rem clamp(.75rem, 1.5vw, 1.5rem);
}
.site-header .brand { min-width: 0; flex: 0 1 auto; }
.brand > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.main-nav {
  min-width: 0;
  flex: 1 1 34rem;
  flex-wrap: wrap;
  gap: .2rem .95rem;
}
.main-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.language-nav { flex: none; }
.language-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}
.menu-toggle { display: none; min-width: 44px; min-height: 44px; cursor: pointer; }
.button, .copy-button, .round-link { min-width: 44px; min-height: 44px; }
.button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.hero-secondary-links { gap: .25rem 1.2rem; }
.hero-secondary-links a, .bio-links a, .pitch-links a, .footer-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.text-link, .pinterest-fallback, .resource-card h3 a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.hero-booking-note {
  display: flex;
  align-items: baseline;
  gap: .65rem;
  max-width: 560px;
  margin: .8rem 0 0;
  font-size: .82rem;
  color: #45516a;
}
.status-dot {
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #9b7650;
  box-shadow: 0 0 0 4px rgba(155, 118, 80, .12);
}
.booking-section {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr);
  align-items: center;
  gap: clamp(1.8rem, 5vw, 4rem);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.booking-copy h2 {
  font-size: clamp(2.25rem, 4.2vw, 3.9rem);
  line-height: 1.02;
  letter-spacing: -.065em;
  margin: .25rem 0 1rem;
}
.booking-copy h2 em { font-style: normal; color: #9b7650; }
.booking-lede {
  max-width: 640px;
  font-size: 1.1rem;
  line-height: 1.6;
  color: #45516a;
  margin: 0 0 1rem;
}
.booking-detail { max-width: 620px; color: var(--muted); font-size: .9rem; margin: 0; }
.booking-actions {
  display: grid;
  gap: .8rem;
  padding: 1.5rem;
  background: #eae5d8;
  border-left: 3px solid #9b7650;
}
.booking-actions .button { width: 100%; text-align: center; }
.booking-note { margin: .15rem 0 0; font-size: .77rem; line-height: 1.6; color: #59657a; }
.booking-banner {
  padding-block: 1rem;
  background: var(--cream);
  border-block: 1px solid var(--line);
}
.booking-banner p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .6rem 1.25rem;
  margin-block: 0;
  font-size: .86rem;
  color: #45516a;
}
.booking-banner a, .booking-banner button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: .65rem .9rem;
  border: 1px solid var(--ink);
  border-radius: 2px;
  background: var(--ink);
  color: var(--cream);
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.site-footer .supporter-signature {
  grid-column: 1 / -1;
  grid-row: auto;
  margin: .2rem 0 0;
  font-size: .7rem;
  color: rgba(245, 240, 228, .65);
}
.reconstruction-note {
  grid-column: 1 / -1;
  max-width: 760px;
  font-size: .7rem;
  color: rgba(245, 240, 228, .65);
}
.reconstruction-note summary { width: fit-content; min-height: 44px; padding-block: .7rem; cursor: pointer; }
.reconstruction-note p { margin: .2rem 0 .5rem; line-height: 1.65; }
.reconstruction-note a { text-underline-offset: 3px; }
/* Repair intrinsic sizing and wrapping; never conceal page overflow. */
.hero > *, .music-card > *, .sample-section > *, .site-footer > *,
.copy-card, .pitch-card, .resource-card, .kit-card > *, .contact-band > * { min-width: 0; }
.music-card h3, .music-card p, .hashtag-sets p, .booking-section p,
.site-footer p, .footer-links a { overflow-wrap: anywhere; }
.hero-index { flex-wrap: wrap; gap: .4rem 1rem; }
:is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 4px;
}
.site-footer :focus-visible, .press-panel :focus-visible, .license-panel :focus-visible {
  outline-color: var(--gold);
}
@media (max-width: 1200px) {
  .site-header { padding-inline: 1.5rem; justify-content: space-between; gap: .6rem 1rem; }
  .site-header .brand { flex: 1 1 auto; }
  .main-nav, .main-nav.open {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    position: static;
    order: 4;
    flex: 1 0 100%;
    width: 100%;
    padding: .5rem 0 0;
    border: 0;
    box-shadow: none;
    background: var(--paper);
    gap: .2rem .75rem;
    align-items: stretch;
  }
  .main-nav a { padding: .55rem .6rem; border-bottom: 1px solid var(--line); font-size: .82rem; }
  html:not(.js-enabled) { scroll-padding-top: 1rem; }
  html:not(.js-enabled) .site-header { position: relative; }
  .js-enabled .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    border: 1px solid var(--line);
    background: transparent;
    color: var(--ink);
    padding: .5rem .75rem;
    font-size: .78rem;
    font-weight: 700;
  }
  .js-enabled .main-nav { display: none; }
  .js-enabled .main-nav.open {
    display: grid;
    position: absolute;
    inset: 100% 0 auto;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 15px 30px rgba(20, 33, 61, .1);
    max-height: calc(100dvh - 6rem);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 740px) {
  .site-header { min-height: 72px; padding-inline: 1rem; gap: .5rem; }
  .main-nav, .main-nav.open { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .js-enabled .main-nav.open { padding-inline: 1rem; }
  .booking-section { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .booking-copy h2 { font-size: 2.65rem; }
  .booking-lede { font-size: 1.02rem; }
  .booking-actions { padding: 1.2rem; }
  .booking-banner p { align-items: flex-start; justify-content: flex-start; }
  .hero-secondary-links { justify-content: flex-start; gap: .25rem .85rem; }
  .music-card { grid-template-columns: 32px minmax(0, 1fr) 44px; }
  .site-footer > small { grid-row: auto; }
}
@media (max-width: 520px) {
  .js-enabled .site-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .js-enabled .site-header .brand { grid-column: 1 / -1; min-height: 44px; }
  .js-enabled .menu-toggle { margin-left: 0; justify-self: start; }
  .js-enabled .language-nav { justify-self: end; }
  .js-enabled { scroll-padding-top: 140px; }
  .js-enabled .main-nav.open { max-height: calc(100dvh - 9rem); }
  .booking-banner a, .booking-banner button { max-width: 100%; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .button:hover, .music-card:hover, .sample-next-links a:hover { transform: none; }
}

/* Clear readable legal draft; no claim of a completed legal notice. */
.legal-hero { padding-bottom: 48px; }
.legal-hero h1 { font-size: clamp(3rem,6vw,5.4rem);line-height:1;letter-spacing:-.075em;margin:0 0 1.3rem; }
.legal-hero h1 em { font-style:normal;color:#9b7650; }
.legal-hero > p:last-of-type { max-width:760px;color:var(--muted);font-size:1.08rem; }
.legal-jump { display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-top:1.4rem; }
.legal-jump a { display:inline-flex;align-items:center;min-height:44px;padding:.5rem .8rem;border:1px solid var(--line);text-underline-offset:4px;font-size:.8rem; }
.legal-card { padding:clamp(1.1rem,3vw,2rem);background:var(--white);border:1px solid var(--line);border-left:4px solid var(--gold);max-width:980px; }
.legal-copy { color:#45516a;font-size:.95rem;line-height:1.8;overflow-wrap:anywhere; }
.legal-copy h3 { color:var(--ink);font-size:1.3rem;letter-spacing:-.03em;line-height:1.2;margin:1.6rem 0 .75rem; }
.legal-copy p:first-child { margin-top:0; }
.legal-copy li { margin-bottom:.55rem; }
.legal-copy a { text-underline-offset:4px; }
.legal-copy strong { color:var(--ink); }
.legal-hero ~ .section-block { padding-top:45px;padding-bottom:45px;border-top:1px solid var(--line); }
@media(max-width:740px){.legal-hero h1{font-size:3.1rem}.legal-copy{font-size:.9rem}.legal-copy ul,.legal-copy ol{padding-left:1.3rem}}
