.enhanced-only{display:none}.js .enhanced-only{display:flex}[hidden]{display:none!important}
.featured-performance{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-block:70px}.featured-performance .video-shell{aspect-ratio:4/3}.featured-performance .video-play>img{width:100%;height:100%;object-fit:cover}
.filter-bar{gap:20px;align-items:end;flex-wrap:wrap;margin:20px 0 28px}.filter-bar label{display:flex;flex-direction:column;gap:8px;flex:1;min-width:180px}.filter-bar select,.filter-bar input{width:100%}
input,select,textarea{background:#111e0b;color:#f3f1e8;border:1px solid #788369;border-radius:0;padding:12px;min-height:48px;max-width:100%;font:inherit}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}textarea{width:100%;resize:vertical}label{font-size:14px}input[type=date]{min-width:0}
.song-table{width:100%;border-collapse:collapse;text-align:left}.song-table td,.song-table th{padding:15px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.song-table th{color:var(--gold)}.song-table tr:nth-child(even){background:var(--surface)}.song-table td{width:50%}.song-table-wrap{max-width:100%}
.calendar-app{margin-bottom:55px}.dated-event{padding:28px 0;border-top:1px solid var(--line)}.dated-event .actions{gap:16px}.dated-event h3{font-size:clamp(1.8rem,3vw,2.5rem)}.dated-event .eyebrow{margin-bottom:14px}.calendar-empty{padding:22px;border:1px solid var(--line);color:var(--muted)}
.inquiry-section{padding:32px 0 60px}.form-notice{border-left:3px solid var(--gold);padding:12px 20px;font-size:14px;max-width:760px}.form-grid{border:0;padding:0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:900px;margin:28px 0}.form-grid label{display:flex;flex-direction:column;gap:8px;min-width:0}.full-width{grid-column:1/-1}#inquiry-draft{max-width:900px;border:1px solid var(--line);padding:26px;margin:20px 0}#inquiry-status{max-width:900px;margin-top:22px}#inquiry-draft label{display:block;margin-bottom:12px}
.booking-faq{max-width:900px}.booking-faq details{border-top:1px solid var(--line);padding:20px 0}.booking-faq summary{font-weight:bold;cursor:pointer;padding:5px 0}.booking-faq p{margin:18px 0 5px;color:var(--muted)}
.press-downloads{padding-bottom:45px}.privacy-controls{border-top:1px solid var(--line);padding:25px 0}
@media(max-width:700px){.featured-performance,.form-grid{grid-template-columns:1fr;gap:25px}.featured-performance{padding-block:45px}.filter-bar label{min-width:0;flex-basis:100%}.filter-bar{gap:16px}.song-table td,.song-table th{padding:14px 7px;font-size:14px}.form-notice{padding:12px}.form-grid input,.form-grid select{width:100%}#inquiry-draft{padding:16px}.dated-event .actions{align-items:stretch;flex-direction:column}.dated-event .text-link{align-self:start}.booking-faq{padding-block:50px}.full-width{grid-column:auto}}

/* Secondary homepage cover link; retained mobile song-list readability. */
.hero .cover-repertoire{font-size:14px;font-weight:400;color:var(--muted)}
@media(max-width:850px){.hero .cover-repertoire{margin-left:auto}}
@media(max-width:700px){
  .song-table{table-layout:fixed}
  .song-table td,.song-table th{padding:16px 10px;font-size:15px;line-height:1.5;vertical-align:top}
  .song-table td:first-child,.song-table th:first-child{width:58%}
  .song-table td:last-child,.song-table th:last-child{width:42%}
  .song-table td:first-child{font-weight:700}
  .song-table td:last-child{color:var(--muted)}
  .filter-bar #clear-songs{width:100%}
}

/* Booking first pass: existing green/gold type and all other pages retained. */
.booking-home .hero h1{font-size:clamp(2.8rem,6.5vw,5.7rem);line-height:1.04;max-width:14ch;letter-spacing:-.025em}.booking-home .hero h1 em{display:inline}.booking-home .hero-line{font-family:var(--sans);font-size:18px;line-height:1.65}.booking-home .hero-image>img{height:clamp(400px,53vw,650px)}.booking-home #performance{scroll-margin-top:110px}.booking-home .hero .cover-repertoire{margin-left:0}.booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-left:24px}.booking-steps li{padding:10px 6px}.booking-steps h3{font-size:23px;line-height:1.3}.current-schedule{display:flex;align-items:center;justify-content:space-between;gap:30px}.current-schedule p{max-width:65ch}.contact-details{border:1px solid var(--line);padding:20px;margin:0;min-width:0}.contact-details legend{padding:0 8px;color:var(--gold)}.contact-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.wedding-performance{max-width:760px}.wedding-performance .video-card{margin-top:24px}@media(max-width:700px){.booking-home .hero h1{font-size:clamp(2.7rem,10vw,4rem);line-height:1.08;margin-bottom:24px}.booking-home .hero h1 br{display:initial}.booking-steps,.contact-details-grid{grid-template-columns:1fr;gap:16px}.current-schedule{align-items:flex-start;flex-direction:column}.contact-details{padding:16px}}

.booking-home .hero-performance{min-width:0}.booking-home .hero-performance h2{font-size:24px;margin:0 0 12px}.booking-home .hero-performance .video-shell{aspect-ratio:4/3}.booking-home .hero-performance .video-play>img{width:100%;height:100%;object-fit:cover}.booking-home .hero-performance .text-link{display:inline-block;margin-top:18px}.original-music-portrait{margin:0;max-width:480px}.original-music-portrait img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover}.original-music .release-list{margin-top:28px}

/* Optional inquiry confirmation: native modal semantics and existing site tokens. */
#inquiry-success{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:clamp(20px,4vw,36px);border:1px solid var(--gold);background:var(--surface);color:var(--cream)}#inquiry-success::backdrop{background:rgb(0 0 0 / .72)}#inquiry-success button{margin:8px 8px 0 0}#call-panel{margin-top:24px}#call-panel label{display:grid;gap:8px;margin:16px 0}#call-panel input,#call-panel select{max-width:100%;width:100%}

#call-panel fieldset{min-width:0;margin:1rem 0;padding:1rem;border:1px solid currentColor;border-radius:.5rem}#call-panel form{display:grid;gap:1rem}#call-panel label{display:grid;gap:.35rem;margin:.5rem 0}#call-panel input,#call-panel select{min-width:0;max-width:100%;box-sizing:border-box}#call-panel button{white-space:normal}

/* Source-sized video covers: keep the portrait center intact without enlarging it. */
.video-cover{max-width:404px;aspect-ratio:404/720}
.video-shell.video-cover .video-art{width:100%;height:100%;object-fit:contain;object-position:center;opacity:1}
.booking-home .hero-performance .video-cover{max-width:none;aspect-ratio:16/9}
.booking-home .hero-performance .video-cover .video-art{object-fit:contain;object-position:center}
