/* Shared vector icons: no platform emoji or font-dependent arrows. */
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  vertical-align: -.125em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.icon-star-filled { fill: currentColor; }
.icon-play { fill: currentColor; stroke: none; }
.icon-asterisk { stroke-width: 2.6; stroke-linecap: square; }
.ticker-track b { display: inline-flex; align-items: center; justify-content: center; width: 1em; height: 1em; line-height: 1; }
.ticker-track b .icon { display: block; width: 100%; height: 100%; }
.event-star .icon { display: block; width: 1em; height: 1em; }
.inline-star, .pick-symbol { display: inline-flex; align-items: center; justify-content: center; }
.inline-star { line-height: 1; }
.pick-button > span { display: flex; align-items: center; justify-content: center; }
.header-cta > span, .button > span, .text-link > span { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.brand-badge img, .poster-brand img, .brand-footer img { image-rendering: auto; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
dialog { overscroll-behavior: contain; }

@media (max-width: 900px) {
  /* Keep iPhone form focus from magnifying the whole page. Pinch zoom remains available. */
  .form-grid input, .form-grid select, .form-grid textarea,
  .song-search input { font-size: 16px; }
}

@media (max-width: 800px) {
  html { scroll-padding-top: 96px; }
  .site-header { height: 80px; gap: 12px; }
  .site-header .brand-badge { width: 80px; height: 72px; }
  .menu-toggle { width: 44px; height: 44px; flex-shrink: 0; padding: 10px; }
  .menu-toggle span { width: 24px; }
  .header-cta { font-size: 8px; gap: 8px; }
  .header-cta > span { font-size: 19px; }
  .mobile-menu {
    max-height: calc(100vh - 80px);
    max-height: calc(100svh - 80px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 16px 24px max(20px, env(safe-area-inset-bottom));
  }
  .mobile-menu a { min-height: 48px; font-size: clamp(28px, 6vw, 40px); line-height: 1.2; }
  .event-grid, .enquiry-grid, .band-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .band-poster { width: min(380px, calc(100% - 32px)); margin-inline: auto; }
  .enquiry-copy, .enquiry-form-wrap, .event-panel-content, .hero-description,
  .intro-grid > div, .band-copy, .section-head > div { min-width: 0; }
  .genre-filters button { min-height: 44px; padding: 10px 12px; font-size: 10px; }
  .song-search { min-height: 44px; }
  .pick-button { width: 44px; height: 44px; }
  .song-name, .song-artist { overflow-wrap: anywhere; }
  .song-table-head, .song-row { grid-template-columns: 1.15fr 1fr 48px; }
  .enquiry-copy { position: relative; }
  .enquiry-stamp { position: static; margin: 28px 0 8px 5px; font-size: 32px; }
  .enquiry-copy > p:not(.eyebrow) { max-width: none; }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .form-grid .full { grid-column: auto; }
  .form-grid input, .form-grid select, .form-grid textarea { min-height: 48px; }
  .shortlist-tray { bottom: max(12px, env(safe-area-inset-bottom)); }
  dialog .dialog-close { width: 44px; height: 44px; top: 6px; right: 8px; }
}

@media (max-width: 580px) {
  .wrap { width: calc(100% - 40px); }
  .site-header { height: 80px; padding-inline: 20px; }
  .hero { height: auto; min-height: 0; }
  .hero-content { height: auto; padding-top: 32px; padding-bottom: 64px; }
  .hero .eyebrow { font-size: 7px; line-height: 1.5; letter-spacing: .08em; margin-bottom: 24px; }
  .hero h1 { font-size: clamp(44px, 17.6vw, 102px); line-height: .94; letter-spacing: -.02em; }
  .hero-bottom { display: block; margin-top: 28px; }
  .hero-description p { font-size: 13px; line-height: 1.75; margin-bottom: 24px; }
  .hero .button { min-height: 48px; font-size: 11px; gap: 28px; }
  .hero .explore-link {
    position: static;
    display: inline-flex;
    max-width: 100%;
    margin: 32px 0 0;
    min-height: 44px;
    font-size: 8px;
    gap: 12px;
  }
  .hero .explore-link .circle-arrow { width: 36px; height: 36px; }
  .hero-side { display: none; }
  .image-note { left: 20px; bottom: 20px; max-width: 65%; font-size: 6px; }
  .hero-index { right: 20px; bottom: 20px; font-size: 6px; }
  .intro h2 { font-size: clamp(40px, 13.2vw, 68px); line-height: .98; }
  .section-head h2, .events h2, .band-copy h2, .enquiry-copy h2 { font-size: clamp(46px, 14.5vw, 80px); line-height: .98; }
  .setlist-head h2 { font-size: clamp(54px, 16vw, 90px); }
  .event-panel { min-height: 0; padding: 28px 20px; }
  .event-panel h3 { font-size: clamp(32px, 8.2vw, 47px); line-height: 1; }
  .event-tabs { flex-wrap: wrap; gap: 6px; }
  .event-tabs button, .event-tabs button + button { width: auto; flex: 1 1 80px; min-height: 44px; padding: 10px 8px; font-size: 9px; border: 1px solid #bdc5ac; }
  .event-tabs button > span { font-size: 17px; }
  .song-row { grid-template-columns: minmax(0, 1fr) 48px; padding-block: 16px; }
  .band-poster { width: min(360px, calc(100% - 20px)); }
  .enquiry-grid { gap: 32px; }
  .form-grid > label { font-size: 12px; }
  .form-grid input, .form-grid select, .form-grid textarea, .song-search input { font-size: 16px; }
  .enquiry-picks { align-items: flex-start; }
  .enquiry-picks p { min-width: 0; overflow-wrap: anywhere; }
  .enquiry-picks a { display: inline-block; }
  .enquiry-form-wrap .button { font-size: 11px; min-height: 48px; }
  .enquiry-stamp { font-size: 28px; }
  .shortlist-tray { gap: 10px; padding: 12px; }
  .shortlist-tray > div { min-width: 0; }
  .shortlist-tray > a { font-size: 7px; white-space: normal; line-height: 1.5; }
  dialog h2 { font-size: clamp(36px, 9vw, 54px); }
  .photo-full-frame { height: 52vh; height: 52svh; }
  .photo-nav { width: 44px; height: 44px; }
  .photo-dialog .photo-nav .icon { width: 24px; height: 24px; }
  .photo-full-caption { align-items: flex-start; }
  #photo-caption { min-width: 0; overflow-wrap: anywhere; }
  .footer-bottom { font-size: 8px; }
  .footer-info { font-size: 9px; min-height: 32px; }
}

/* Live video: one featured performance, with playback loaded only on request. */
.clips-grid:not([hidden]) { grid-template-columns: minmax(0, 1fr); margin: 0 0 48px; }
.clips-grid[hidden] { display: none; }
.clip-visual { aspect-ratio: 16 / 9; border-color: var(--paper); background: var(--ink); }
.clip-preview-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: transform .3s; }
.clip-visual::after { opacity: 1; background: linear-gradient(0deg, #171917c9, transparent 40%, #17191799); }
.clip-rec, .clip-status, .clip-play { z-index: 1; }
.clip-rec, .clip-status, .clip-title-row > span, .clip-subtitle { color: var(--paper); }
.clip-play { width: 72px; height: 72px; transition: box-shadow .2s; }
.clip-visual:hover .clip-play, .clip-visual:focus-visible .clip-play { box-shadow: 0 0 0 8px #dbf35c33; }
.clip-visual:hover .clip-preview-image { transform: scale(1.025); }
.clip-title-row { flex-wrap: wrap; }
.clip h3 { font-size: 20px; }
body.video-viewing { overflow: hidden; }
.video-dialog #video-title { font-size: 16px; line-height: 1.5; }
.video-dialog .dialog-close { width: 44px; height: 44px; top: 6px; right: 8px; }
.video-youtube-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; color: var(--yellow); font-size: 12px; text-underline-offset: 4px; }
@media (max-width: 580px) {
  .clips-grid:not([hidden]) { margin-bottom: 32px; }
  .clip-play { width: 56px; height: 56px; }
  .clip-rec { top: 14px; left: 14px; font-size: 7px; }
  .clip-status { bottom: 14px; left: 14px; font-size: 7px; }
  .video-dialog #video-title { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .clip-preview-image, .clip-play { transition: none; }
  .clip-visual:hover .clip-preview-image { transform: none; }
}

/* Opening photograph: clearer event positioning and a prominent live-video CTA. */
.hero-side { top: 50%; transform: translateY(-50%); color: var(--paper); text-shadow: 0 1px 6px var(--ink); }
.hero .explore-link { max-width: none; gap: 16px; padding: 16px 20px; border: 1px solid var(--yellow); background: #171917e6; color: var(--paper); margin-bottom: 0; text-decoration: none; }
.hero .explore-link .circle-arrow { width: 50px; height: 50px; flex-shrink: 0; background: var(--yellow); border-color: var(--yellow); color: var(--ink); }
.explore-copy { display: flex; flex-direction: column; gap: 6px; }
.explore-copy strong { color: var(--yellow); font-size: 14px; letter-spacing: .08em; line-height: 1.3; }
.explore-copy > span { font-size: 9px; letter-spacing: .08em; line-height: 1.5; }
.hero .explore-link:hover, .hero .explore-link:focus-visible { background: var(--ink); outline: 2px solid var(--yellow); outline-offset: 4px; }
#clips-grid { scroll-margin-top: 110px; }
@media (max-width: 800px) {
  .hero .explore-link { padding: 13px; gap: 12px; }
  .explore-copy strong { font-size: 12px; }
  .explore-copy > span { font-size: 8px; }
}
@media (max-width: 580px) {
  .hero .explore-link { margin-top: 28px; max-width: 100%; }
  .hero .explore-link .circle-arrow { width: 46px; height: 46px; }
}

/* Public booking contact and readable email fallback on narrow screens. */
.booking-contact a { display: inline-block; padding-block: 10px; font-size: clamp(16px, 2vw, 22px); overflow-wrap: anywhere; text-underline-offset: 5px; }
.video-privacy-note { margin: -28px 0 40px; font-size: 12px; line-height: 1.6; color: var(--paper); }
.video-privacy-note a, #info-dialog a { text-decoration: underline; text-underline-offset: 3px; }
#info-dialog a, #enquiry-result-note { overflow-wrap: anywhere; }
.dialog-actions #send-enquiry { order: -1; }

/* Keep the two opening calls to action aligned on phones. */
@media (max-width: 580px) {
  .hero-description > .button,
  .hero .explore-link {
    width: min(100%, 280px);
    box-sizing: border-box;
  }
}

/* Decorative live footage keeps the photo visible until playback succeeds. */
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; opacity:0; pointer-events:none; filter:contrast(1.05) brightness(.8); }
.hero-video.is-playing { opacity:1; }
.hero-video-toggle { position:absolute; z-index:3; right:20px; top:16px; min-height:44px; padding:8px 12px; background:#171917dc; color:var(--paper); border:1px solid #f0f0e866; font:inherit; font-size:11px; cursor:pointer; }
.hero-video-toggle[hidden] { display:none; }
.hero-video-toggle:focus-visible { outline:2px solid var(--yellow); outline-offset:3px; }
@media(max-width:580px) { .hero-video-toggle { top:auto; bottom:40px; right:20px; font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .hero-video { display:none; } }

/* Frame the central performers in the clear side of the opening section. */
.hero-video { left:auto; right:0; width:74%; object-position:25% 50%; }
@media (max-width:900px) {
  .hero-video { width:100%; object-position:25% 50%; }
}
@media (max-width:580px) {
  .hero-video { object-position:24% 50%; }
}

/* Phones: a slightly wider view within the existing hero, blended into charcoal. */
@media (max-width:580px) {
  .hero .hero-video {
    top:9%; bottom:auto; left:0; width:100%; height:82%;
    object-fit:cover; object-position:36% 50%;
    -webkit-mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
    mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
  }
  .hero:has(.hero-video.is-playing) .hero-image { opacity:0; }
}

/* Compact mobile actions, with playback control in its own non-overlapping row. */
@media (max-width:580px) {
  .hero-description > .button, .hero .explore-link {
    width:min(100%, 220px); min-height:56px; padding:10px 14px; gap:12px;
  }
  .hero-description > .button { font-size:10px; }
  .hero .explore-link { margin-top:14px; }
  .hero .explore-link .circle-arrow { width:32px; height:32px; }
  .hero .explore-copy { gap:3px; }
  .hero .explore-copy strong { font-size:10px; }
  .hero .explore-copy > span { font-size:7px; }
  .hero .hero-video-toggle { position:relative; inset:auto; display:block; width:auto; min-height:44px; margin:12px 0 0; padding:8px 10px; font-size:10px; border:0; background:transparent; text-decoration:underline; text-underline-offset:4px; }
  .hero .hero-video-toggle[hidden] { display:none; }
}

/* Mobile hero hierarchy; desktop keeps its existing copy and actions. */
.hero-eyebrow-mobile, .hero-mobile-actions, .hero-toggle-icon { display:none; }
@media (max-width:580px) {
  .hero .hero-eyebrow-desktop { display:none; }
  .hero .hero-eyebrow-mobile { display:inline; }
  .hero .eyebrow { font-size:8px; letter-spacing:.06em; align-items:flex-start; gap:9px; margin-bottom:22px; }
  .hero .eyebrow .signal-dot { flex:0 0 6px; margin-top:3px; }
  .hero h1 { font-size:clamp(39px, 15.5vw, 90px); }
  .hero-description > .button, .hero .explore-link { display:none; }
  .hero .hero-description p { margin-bottom:0; }
  .hero-mobile-actions { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); align-items:stretch; gap:12px; margin-top:28px; }
  .hero-mobile-actions > .button { min-width:0; height:64px; }
  .hero-mobile-actions .hero-action-label { font-size:11px; line-height:1.35; letter-spacing:.06em; font-weight:700; }
  .hero-mobile-actions > .hero-booking-link { justify-content:space-between; background:var(--yellow); color:var(--ink); text-decoration:none; }
  .hero-mobile-actions > .hero-watch-button { justify-content:flex-start; border:1px solid var(--yellow); color:var(--yellow); background:#171917d9; }
  .hero-mobile-actions .hero-action-play { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--yellow); color:var(--ink); flex:0 0 26px; }
  .hero-mobile-actions .hero-action-play .icon-play { width:14px; height:14px; }
  .hero-mobile-actions > .button:hover, .hero-mobile-actions > .button:focus-visible { transform:none; outline:2px solid var(--paper); outline-offset:4px; }
  .hero-mobile-actions > .button { display:flex; width:100%; min-height:64px; gap:10px; padding:12px 14px; font-size:11px; }
  .hero-mobile-actions .icon-play { width:20px; height:20px; }
  .hero-booking-link .icon { width:18px; height:18px; }
  .hero-media-controls { display:flex; justify-content:flex-end; min-height:44px; margin-top:18px; }
  .hero .hero-video-toggle { display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; margin:0; padding:0; border:1px solid #f0f0e84d; border-radius:50%; background:#171917a6; text-decoration:none; }
  .hero .hero-video-toggle[hidden] { display:none; }
  .hero-toggle-label { display:none; }
  .hero-toggle-icon { display:block; }
  .hero .hero-content { padding-bottom:20px; }
  .hero .image-note, .hero .hero-index { display:none; }
}
@media (max-width:360px) {
  .hero-mobile-actions > .button { font-size:11px; gap:8px; }
  .hero-mobile-actions { gap:10px; }
  .hero-mobile-actions > .button { padding-inline:10px; }
  .hero-mobile-actions .hero-action-label { font-size:10px; }
}

/* Four-line mobile title; keep the message and actions together on tall screens. */
.hero-title-mobile-break { display:none; }
@media (max-width:580px) {
  .hero {
    display:flex;
    flex-direction:column;
    min-height:calc(100vh - 80px);
    min-height:calc(100svh - 80px);
  }
  .hero .hero-content {
    flex:1;
    display:flex;
    flex-direction:column;
    height:auto;
    padding-top:28px;
    padding-bottom:28px;
  }
  .hero .eyebrow {
    flex-shrink:0;
    padding-right:56px;
    margin:0 0 24px;
    min-height:28px;
  }
  .hero h1 {
    flex-shrink:0;
    font-size:clamp(43px, 17.2vw, 98px);
    line-height:.94;
    margin: auto 0 0;
  }
  .hero-title-mobile-break { display:initial; }
  .hero-title-space { display:none; }
  .hero .hero-bottom { margin-top:24px; padding-top:0; }
  .hero .hero-description p { margin:0; }
  .hero-mobile-actions { flex-shrink:0; margin-top:24px; margin-bottom:auto; }
  .hero .hero-media-controls {
    position:absolute;
    top:18px;
    right:0;
    margin:0;
    min-height:44px;
    z-index:3;
  }
}

/* Start the headline higher; use the supporting copy to bridge to the actions. */
.hero-copy-mobile-break { display:none; }
@media (max-width:580px) {
  .hero .hero-content { padding-top:24px; }
  .hero .eyebrow { margin-bottom:16px; }
  .hero h1 { margin-top:0; }
  .hero-copy-mobile-break { display:initial; }
  .hero-copy-space { display:none; }
}

.hero-copy-mobile-ending { display:none; }
@media (max-width:580px) {
  .hero-copy-desktop-ending { display:none; }
  .hero-copy-mobile-ending { display:inline; }
}

/* Leave a clear view of the live footage above the mobile action row. */
@media (max-width:580px) {
  .hero-mobile-actions {
    margin-top:auto;
    margin-bottom:0;
    padding-top:clamp(40px, 6svh, 64px);
  }
}

/* Optional services extend the event section in the established palette. */
.night-extras { margin-top:64px; padding-top:40px; border-top:1px solid var(--line); }
.extras-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:32px; }
.extras-heading h3 { font-family:var(--display); font-size:clamp(40px,4.8vw,64px); line-height:1; font-weight:800; margin:0; }
.extras-heading > p { max-width:320px; font-size:14px; line-height:1.8; margin:0; }
.extras-heading .eyebrow { margin-bottom:16px; }
.extras-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.extra-card { padding-top:22px; border-top:2px solid var(--ink); min-width:0; }
.extra-kicker { font-size:10px; font-weight:700; letter-spacing:.1em; margin:0 0 12px; }
.extra-card h4 { font-family:var(--display); font-size:32px; font-weight:800; line-height:1.1; margin:0 0 14px; }
.extra-card > p:last-child { font-size:13px; line-height:1.85; margin:0; }
.night-extras .extras-enquire { margin-top:28px; min-height:44px; }
.enquiry-extras { border:0; padding:0; margin:28px 0; min-width:0; }
.enquiry-extras legend { padding:0; font-size:11px; font-weight:700; letter-spacing:.08em; }
.enquiry-extras > p { font-size:12px; margin:8px 0 14px; line-height:1.6; }
.enquiry-extras-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.enquiry-extras-options label { display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 12px; border:1px solid #17191755; font-size:13px; line-height:1.5; cursor:pointer; }
.enquiry-extras-options input { width:18px; height:18px; flex:0 0 18px; margin:0; accent-color:var(--ink); }
.enquiry-extras-options label:has(input:checked) { border-color:var(--ink); background:#1719170d; }
@media (max-width:700px) {
  .extras-heading { display:block; }
  .extras-heading > p { margin-top:20px; max-width:none; }
  .extras-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .night-extras { margin-top:44px; padding-top:32px; }
}
@media (max-width:580px) {
  .enquiry-extras-options { grid-template-columns:minmax(0,1fr); }
  /* Equal automatic space and minimum gaps place the copy midway between title and actions. */
  .hero .hero-bottom { margin-top:auto; padding-top:24px; }
  .hero-mobile-actions { margin-top:auto; margin-bottom:0; padding-top:24px; }
}

/* Optional extras follow the same selectable-card pattern as the event types. */
.extras-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:56px; align-items:start; }
.extras-layout .extras-tabs { margin-top:0; }
.extras-layout .extras-panel { min-height:360px; }
.extras-panel h4 { font-family:var(--display); font-size:clamp(36px,4.2vw,54px); line-height:1; font-weight:800; margin:0; }
.extra-format-options { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.extra-format-options[hidden], .extras-panel #extra-enquire[hidden] { display:none; }
.extra-format-options button { border:1px solid var(--ink); background:transparent; padding:10px 18px; min-height:44px; font-size:11px; font-weight:700; letter-spacing:.07em; }
.extra-format-options button:hover, .extra-format-options button:focus-visible { background:var(--yellow); }
@media(max-width:800px) {
  .extras-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  .extras-layout .extras-panel { min-height:340px; }
}
@media(max-width:580px) {
  .extras-layout .extras-tabs button { flex-basis:100px; font-size:9px; gap:8px; }
  .extras-layout .extras-panel { min-height:0; padding:28px 20px; }
  .extras-panel h4 { font-size:clamp(36px,10vw,48px); }
}

/* Keep the desktop hero actions together and use the same playback icon as mobile. */
.hero-desktop-actions { display:none; }
@media (min-width:581px) {
  .hero-desktop-actions { display:flex; align-items:stretch; flex-wrap:wrap; gap:16px; }
  .hero .hero-desktop-actions > .button { width:auto; min-height:64px; }
  .hero .hero-desktop-actions .explore-link {
    position:static; align-self:auto; width:auto; max-width:none;
    min-height:64px; margin:0; padding:12px 18px; gap:12px;
  }
  .hero .hero-desktop-actions .explore-link .circle-arrow { width:34px; height:34px; }
  .hero-desktop-actions .explore-copy { gap:4px; }
  .hero-desktop-actions .explore-copy strong { font-size:12px; }
  .hero-desktop-actions .explore-copy > span { font-size:8px; }
  .hero .hero-video-toggle {
    display:flex; align-items:center; justify-content:center;
    width:44px; height:44px; min-height:44px; padding:0;
    border:1px solid #f0f0e84d; border-radius:50%; background:#171917a6;
  }
  .hero .hero-video-toggle[hidden] { display:none; }
  .hero .hero-toggle-label { display:none; }
  .hero .hero-toggle-icon { display:block; }
}

/* Anchor to the hero itself so both corner insets are identical. */
.hero > .hero-media-controls {
  position:absolute;
  top:20px;
  right:20px;
  margin:0;
  min-height:44px;
  z-index:3;
}
.hero .hero-media-controls > .hero-video-toggle { position:static; inset:auto; margin:0; }

/* Location and travel details use the normal page flow, with deliberate mobile line breaks. */
.intro-copy p.band-location, .footer-location {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  column-gap:.45em;
  row-gap:2px;
}
.intro-copy p.band-location {
  margin-top:22px;
  font-size:13px;
  line-height:1.7;
  font-weight:600;
  color:var(--ink);
}
.footer-location {
  margin-bottom:22px;
  font-size:12px;
  line-height:1.7;
  color:#c3c8ba;
}
@media(max-width:580px) {
  .intro-copy p.band-location, .footer-location {
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
  }
  .intro-copy p.band-location { margin-top:20px; font-size:12px; }
  .footer-location { margin-bottom:18px; font-size:11px; }
}
