[hidden] { display: none !important; }
.hero-signature { font: italic 1.5rem/1.4 var(--serif); color: #f5e8dc; margin: 1.5rem 0 .7rem; }
.hero-actions .listen-button { display:inline-flex; align-items:center; gap:.75rem; }
.hero-actions .hero-inquiry { display:inline-flex; align-items:center; gap:.7rem; line-height:1.6; }
.hero-actions .hero-inquiry svg { flex-shrink:0; }
.biography-more { margin-top:1.5rem; }
.biography-more summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; padding:1rem 0; border-block:1px solid var(--line); color:var(--brown); font-weight:600; list-style:none; }
.biography-more summary::-webkit-details-marker { display:none; }
.biography-more summary > span:last-child { font-size:1.5rem; }
.biography-more[open] summary > span:last-child { transform:rotate(45deg); }
.biography-more .read-less,.biography-more[open] .read-more { display:none; }
.biography-more[open] .read-less { display:inline; }
.biography-rest { padding-top:1.5rem; }
.repertoire-search { grid-column:2; grid-row:1; align-self:start; }
.repertoire-intro { grid-row:1 / span 2; }
.repertoire-groups { grid-column:2; }
.repertoire-search label { display:block; font:1.4rem var(--serif); margin-bottom:.75rem; }
.song-search-row { display:flex; flex-wrap:wrap; gap:.75rem; }
.song-search-row input { flex:1 1 220px; min-width:0; width:100%; padding:1rem; background:#faf5ef; color:#342923; border:1px solid #cbbdb3; border-radius:0; font:1rem var(--sans); }
.song-search-row button { cursor:pointer; padding:.8rem; border:1px solid #cbbdb3; background:transparent; color:#f7f0e9; font:inherit; min-height:44px; }
#song-search-status { margin:.75rem 0 0; color:#d8cabe; font-size:.85rem; line-height:1.6; }
.repertoire-grid { row-gap:1.5rem; }
.form-intro { margin:0; color:var(--muted); font-size:1rem; line-height:1.65; }
.form-required { margin:0; color:var(--muted); font-size:.8rem; }
.contact-form .button { white-space:normal; text-align:center; line-height:1.6; max-width:100%; }
.contact-form .button svg { flex-shrink:0; }
.photo-partner .section-container { padding-block:clamp(2.5rem,4vw,3.5rem); }
.photo-partner h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
.photo-partner-copy > p { font:1rem/1.7 var(--sans); margin-bottom:1.3rem; }
.connection { min-height:360px; }
.quote-section { min-height:340px; }
.quote-section blockquote p { font-size:clamp(1.7rem,3vw,2.6rem); }
:focus-visible { outline:3px solid #b7946a; outline-offset:5px; }
@media(max-width:900px) {
 .repertoire-search,.repertoire-groups,.repertoire-intro { grid-column:1; grid-row:auto; }
 .repertoire-grid { row-gap:2rem; }
}
@media(max-width:600px) {
 .hero-actions { align-items:flex-start; }
 .hero-actions .hero-inquiry { font-size:.7rem; }
 .connection,.quote-section { min-height:320px; }
 .photo-partner-copy { border:0; padding:0; }
}
