:root{--navy:#07111f;--navy2:#0c1b2d;--ink:#15202b;--gold:#d7a62b;--gold2:#f1c55a;--cream:#f5efe2;--paper:#fbfaf6;--muted:#69727d;--line:#dfe3e6;--white:#fff;--shadow:0 18px 45px rgba(7,17,31,.14);--radius:20px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(calc(100% - 40px),var(--max));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav{position:sticky;top:0;z-index:40;background:rgba(7,17,31,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:Georgia,serif;font-size:1.55rem;color:#fff;letter-spacing:.02em;font-weight:700}.brand span{color:var(--gold2);font-style:italic}.site-menu{display:flex;align-items:center;gap:24px;color:#edf2f6;font-size:.93rem}.site-menu>a,.nav-drop-btn{opacity:.9}.site-menu>a:hover,.nav-drop-btn:hover{opacity:1;color:var(--gold2)}.nav-dropdown{position:relative}.nav-drop-btn{border:0;background:transparent;color:inherit;cursor:pointer;padding:22px 0}.nav-drop-menu{position:absolute;top:58px;left:-18px;min-width:230px;background:#fff;color:var(--ink);padding:10px;border-radius:14px;box-shadow:var(--shadow);display:none}.nav-dropdown:hover .nav-drop-menu,.nav-dropdown.open .nav-drop-menu{display:grid}.nav-drop-menu a{padding:10px 12px;border-radius:8px}.nav-drop-menu a:hover{background:var(--cream)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:999px;font-weight:800;letter-spacing:.01em;border:1px solid transparent;transition:.2s ease}.button:hover{transform:translateY(-1px)}.button-gold{background:var(--gold);color:#111820}.button-gold:hover{background:var(--gold2)}.button-primary{background:var(--navy);color:#fff}.button-ghost{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(7,17,31,.18)}.button-outline-light{border-color:rgba(255,255,255,.55);color:#fff}.button.full{width:100%}.nav-cta{min-height:40px;padding:0 16px}.menu-toggle{display:none;border:0;background:transparent;padding:8px}.menu-toggle span:not(.sr-only){width:26px;height:2px;background:#fff;display:block;margin:5px}.page-hero{position:relative;min-height:620px;background-image:var(--hero);background-size:cover;background-position:center;display:grid;align-items:end;color:#fff}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,18,.9) 0%,rgba(4,10,18,.65) 48%,rgba(4,10,18,.2) 100%)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,10,18,.5),transparent 50%)}.hero-content{position:relative;z-index:2;padding:120px 0 90px;max-width:850px;margin-left:max(20px,calc((100vw - var(--max))/2));margin-right:auto;width:min(calc(100% - 40px),850px)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:900;color:#fff;margin-bottom:16px}.eyebrow.gold{color:var(--gold2)}.eyebrow.dark{color:#8a6717}.hero-content h1,.booking-hero h1,.thankyou h1{font-family:Georgia,serif;font-size:clamp(3.1rem,7vw,6rem);line-height:.98;margin:0 0 24px;letter-spacing:-.035em}.hero-content h1 em{color:var(--gold2);font-weight:400}.hero-content p{font-size:1.18rem;max-width:760px;color:#e5ebf0;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trust-bar{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid>div{padding:22px 24px;border-right:1px solid var(--line)}.trust-grid>div:last-child{border-right:0}.trust-grid strong,.trust-grid span{display:block}.trust-grid strong{font-size:.94rem}.trust-grid span{font-size:.8rem;color:var(--muted);margin-top:3px}.section{padding:92px 0}.section.light{background:#fff}.section.dark{background:var(--navy);color:#fff}.section.cream{background:var(--cream)}.section h2{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,3.9rem);line-height:1.05;margin:0 0 22px;letter-spacing:-.025em}.section h3{margin:0 0 8px}.section p{font-size:1.02rem;color:#43505d}.dark p,.dark .lede{color:#c7d0d9}.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:42px}.section-head>p{margin:0}.section-head.inverse p{color:#bec8d1}.event-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.event-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 6px 24px rgba(7,17,31,.06);transition:.2s ease}.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.event-card img{width:100%;height:260px;object-fit:cover}.event-card>div{padding:24px}.event-card span{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:#8a6717;font-weight:900}.event-card h3{font-family:Georgia,serif;font-size:1.65rem;line-height:1.15;margin-top:8px}.event-card p{margin-bottom:0}.media-split,.two-col,.story-grid,.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.video-shell,.video-feature{background:#02070c;border-radius:var(--radius);overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.28)}.video-shell video,.video-feature video{width:100%;aspect-ratio:16/9}.video-feature{margin-top:30px}.feature-list,.check-list{padding:0;list-style:none;margin:26px 0}.feature-list li,.check-list li{margin:10px 0;padding-left:27px;position:relative}.feature-list li:before,.check-list li:before{content:"✓";position:absolute;left:0;color:var(--gold2);font-weight:900}.rounded-photo{border-radius:var(--radius);width:100%;max-height:590px;object-fit:cover;box-shadow:var(--shadow)}.image-stack{position:relative;padding:0 70px 60px 0}.image-main{border-radius:var(--radius);width:100%;box-shadow:var(--shadow)}.image-accent{position:absolute;width:42%;right:0;bottom:0;border:7px solid #fff;border-radius:18px;box-shadow:var(--shadow)}.proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:28px 0}.proof-grid div{border-top:1px solid var(--line);padding-top:12px}.proof-grid strong,.proof-grid span{display:block}.proof-grid strong{font-size:1.4rem;color:#8a6717}.proof-grid span{font-size:.85rem;color:var(--muted)}.text-link{font-weight:900;color:#765918}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps>div{background:rgba(255,255,255,.7);border:1px solid rgba(7,17,31,.1);padding:26px;border-radius:16px}.steps b{font-size:1.7rem;color:#9b741a}.steps p{margin-bottom:0}.venue-strip{display:flex;align-items:center;justify-content:space-between;gap:50px}.venue-strip>div{max-width:720px}.photo-cta{position:relative;background-image:var(--cta);background-size:cover;background-position:center;min-height:470px;display:grid;align-items:center;color:#fff}.photo-cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,31,.92),rgba(7,17,31,.55))}.photo-cta-content{position:relative;z-index:2;max-width:760px}.photo-cta-content p{color:#e3e9ee}.timeline>div{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.timeline span{font-size:1.35rem;font-weight:900;color:#9b741a}.timeline h3,.timeline p{margin:0}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.chips span{border:1px solid rgba(255,255,255,.24);padding:8px 12px;border-radius:999px;color:#dde6ec;font-size:.86rem}.darkchips span{border-color:#c9cdd2;color:#39434e;background:#fff}.playlist-grid,.package-grid,.song-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.playlist-grid>div,.package-grid>div,.song-groups>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}.package-grid span{font-size:1.5rem;font-weight:900;color:#9b741a}.center-note{text-align:center;max-width:760px;margin:28px auto 0}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.accordion details{border-top:1px solid #c9c1b4;padding:18px 0}.accordion summary{font-weight:800;cursor:pointer}.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.icon-grid>div{padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.035)}.light-cards>div{background:#fff;border-color:var(--line)}.quartet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.quartet-grid>div{background:#0e2035;border-radius:16px;overflow:hidden;padding-bottom:18px}.quartet-grid img{width:100%;height:210px;object-fit:cover}.quartet-grid h3,.quartet-grid p{padding:0 18px}.quartet-grid h3{margin-top:16px}.muted{color:#91a0ad!important}.testimonial-placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.testimonial-placeholder-grid>div{border:1px solid var(--line);background:#fff;padding:28px;border-radius:16px}.testimonial-placeholder-grid span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#8a6717}.testimonial-placeholder-grid blockquote{font-family:Georgia,serif;font-size:1.35rem;line-height:1.35;margin:18px 0}.testimonial-placeholder-grid small{color:var(--muted)}.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.video-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.video-card img{height:170px;width:100%;object-fit:cover}.video-card span,.video-card small{display:block;padding:0 16px}.video-card span{font-family:Georgia,serif;font-size:1.25rem;font-weight:700;padding-top:16px}.video-card small{padding-bottom:16px;color:#8a6717;font-weight:800}.song-groups{grid-template-columns:repeat(2,1fr)}.song-groups h2{font-size:2rem}.note-panel{max-width:900px;background:#fff;border:1px solid #d6cdbd;border-radius:16px;padding:28px}.check-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.booking-hero{background:var(--navy);color:#fff;padding:95px 0}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.booking-hero h1{font-size:clamp(3rem,6vw,5.2rem)}.booking-hero .lede{font-size:1.15rem;color:#c8d1d9}.booking-trust{margin-top:35px;display:grid;gap:14px}.booking-trust div{padding:14px 0;border-top:1px solid rgba(255,255,255,.12)}.booking-trust strong,.booking-trust span{display:block}.booking-trust span{color:#9eabb6;font-size:.88rem}.booking-form{background:#fff;color:var(--ink);padding:34px;border-radius:22px;box-shadow:0 28px 70px rgba(0,0,0,.3)}.booking-form h2{font-family:Georgia,serif;font-size:2rem;margin-top:0}.booking-form label{display:grid;gap:7px;font-size:.86rem;font-weight:800;margin-bottom:16px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #cad0d5;border-radius:10px;padding:12px 13px;background:#fff;color:#18212b}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:3px solid rgba(215,166,43,.2);border-color:#ad811c}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-small{font-size:.76rem!important;color:#66717c!important;text-align:center;margin-bottom:0}.thankyou{min-height:70vh;background:var(--navy);color:#fff;display:grid;align-items:center;text-align:center}.thankyou .shell{max-width:760px}.thankyou p{font-size:1.15rem;color:#cbd4dc;margin-bottom:28px}.footer{background:#040a11;color:#d7e0e7;padding:65px 0 24px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:45px}.footer-grid h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:#fff}.footer-grid a:not(.button){display:block;color:#aebbc6;margin:7px 0}.footer-grid p{color:#98a7b3;font-size:.9rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;color:#71818e;font-size:.78rem}
@media(max-width:980px){.menu-toggle{display:block}.site-menu{position:absolute;top:76px;left:0;right:0;background:var(--navy);padding:20px;display:none;flex-direction:column;align-items:stretch;border-top:1px solid rgba(255,255,255,.08)}.site-menu.open{display:flex}.nav-drop-btn{padding:8px 0;text-align:left;width:100%}.nav-drop-menu{position:static;display:none;background:#0c1b2d;color:#fff;box-shadow:none;margin-top:8px}.nav-dropdown:hover .nav-drop-menu{display:none}.nav-dropdown.open .nav-drop-menu{display:grid}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-grid>div:nth-child(2){border-right:0}.section-head,.media-split,.two-col,.story-grid,.history-grid,.faq,.booking-grid{grid-template-columns:1fr}.event-grid{grid-template-columns:1fr 1fr}.steps,.icon-grid,.quartet-grid,.video-grid{grid-template-columns:repeat(2,1fr)}.venue-strip{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.booking-grid{gap:38px}}
@media(max-width:640px){.shell{width:min(calc(100% - 28px),var(--max))}.page-hero{min-height:540px;background-position:60% center}.hero-content{padding:100px 0 65px;margin-left:14px;width:calc(100% - 28px)}.hero-content h1{font-size:3.1rem}.hero-content p{font-size:1rem}.section{padding:66px 0}.section-head{gap:10px}.event-grid,.playlist-grid,.package-grid,.song-groups,.testimonial-placeholder-grid,.check-columns{grid-template-columns:1fr}.event-card img{height:220px}.trust-grid{grid-template-columns:1fr}.trust-grid>div{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.steps,.icon-grid,.quartet-grid,.video-grid{grid-template-columns:1fr}.proof-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.booking-form{padding:24px}.footer-grid{grid-template-columns:1fr}.footer-bottom{gap:12px;flex-direction:column}.image-stack{padding:0}.image-accent{display:none}.photo-cta{min-height:400px}.section h2{font-size:2.35rem}}
.form-status{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:#f5efe2;color:#5f4915!important;font-weight:800;text-align:center}
.booking-form input,.booking-form select,.booking-form textarea{font-size:1rem;min-width:0}
.menu-toggle{min-width:44px;min-height:44px;cursor:pointer}
.menu-toggle:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
.home-hero{background-image:url('images/hero-stage.webp');background-position:center 38%}
.home-hero:before{background:linear-gradient(90deg,rgba(4,10,18,.78) 0%,rgba(4,10,18,.52) 48%,rgba(4,10,18,.12) 100%)}
.home-hero .hero-content h1{text-shadow:0 3px 24px rgba(0,0,0,.58)}
@media(max-width:640px){.home-hero{background-position:58% center}.home-hero:before{background:linear-gradient(90deg,rgba(4,10,18,.82) 0%,rgba(4,10,18,.54) 70%,rgba(4,10,18,.24) 100%)}}
.page-hero.concerts-hero{background-image:url('images/festival-stage.webp');background-position:center 35%}
.audience-reviews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.audience-reviews figure{margin:0;padding:32px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:16px;background:#fff;display:flex;flex-direction:column}.audience-reviews blockquote{margin:0 0 24px;flex:1}.audience-reviews blockquote p{font-family:Georgia,serif;font-size:1.4rem;line-height:1.55;color:var(--ink);margin:0}.audience-reviews figcaption strong,.audience-reviews figcaption span{display:block}.audience-reviews figcaption span{font-size:.875rem;color:var(--muted)}@media(max-width:640px){.audience-reviews{grid-template-columns:1fr}.audience-reviews figure{padding:24px}}
.vocalist-profiles>div{padding-top:12px}.vocalist-profiles .voice-part{color:var(--gold2);font-weight:700}
.audience-reviews .featured-review{grid-column:1/-1}

.band-intro{background:var(--navy);color:#fff;padding:64px 0}.band-intro h1{font:700 clamp(2.6rem,6vw,4.2rem)/1.1 Georgia,serif;margin:0 0 20px}.band-intro p{max-width:700px;font-size:1.125rem;color:#c7d0d9}.band-options{padding-top:48px}.band-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.band-card{padding:32px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.band-card h2{font-size:2rem;line-height:1.15;margin-bottom:16px}.band-card .band-count{color:#76570e;font-weight:800;margin:0 0 12px}.band-card .band-lineup{font-weight:700;color:var(--ink)}.band-card p{margin:0 0 18px}.band-card .button{margin-top:auto}.band-help{background:var(--navy);color:#fff}.band-help p{color:#c7d0d9}.band-help .text-link{color:var(--gold2);margin-top:20px}.more-lineups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}.more-lineups article{border-top:1px solid #c9c1b4;padding:24px 0}.lineup-guide{margin:-4px 0 20px;font-size:.875rem}.booking-form label,.band-intro .eyebrow{font-size:.875rem}.brand{flex-shrink:0}.site-menu{gap:18px}
@media(min-width:981px) and (max-width:1180px){.menu-toggle{display:block}.site-menu{position:absolute;top:76px;left:0;right:0;background:var(--navy);padding:20px;display:none;flex-direction:column;align-items:stretch}.site-menu.open{display:flex}.nav-drop-btn{padding:8px 0;text-align:left;width:100%}.nav-drop-menu{position:static;box-shadow:none}.nav-dropdown:hover .nav-drop-menu{display:none}.nav-dropdown.open .nav-drop-menu{display:grid}}
@media(max-width:640px){.band-grid,.more-lineups{grid-template-columns:1fr}.band-card{padding:24px}.band-card h2{font-size:1.8rem}.band-intro{padding:44px 0}.booking-form{min-width:0}.booking-form select{min-width:0}}


/* Large wordmark beside two rows of direct links. */
.expanded-nav .nav-inner{display:grid;grid-template-columns:190px minmax(0,1fr);gap:36px;min-height:144px;padding-top:16px;padding-bottom:16px}.expanded-nav .brand{font-size:2.4rem;line-height:1.08}.expanded-nav .brand>span{display:block}.expanded-nav .brand .brand-spectrum{color:#fff;font-style:normal}.expanded-nav .site-menu{display:flex;flex-direction:column;align-items:stretch;gap:18px;min-width:0}.nav-main-links,.nav-event-links{display:flex;align-items:center;justify-content:space-between;gap:18px}.nav-main-links>a,.nav-event-links>a{display:flex;align-items:center;min-height:44px;font-size:.9375rem}.nav-event-links{padding:0;border:0}.expanded-nav a:hover,.expanded-nav a:focus-visible{color:var(--gold2)}.expanded-nav .button:hover,.expanded-nav .button:focus-visible{color:var(--ink)}.expanded-nav a:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}.expanded-nav .menu-toggle{display:none}
@media(max-width:1180px){.expanded-nav .nav-inner{display:flex;justify-content:space-between;min-height:76px;padding-top:0;padding-bottom:0;gap:20px}.expanded-nav .brand{font-size:1.55rem;line-height:1.2}.expanded-nav .brand>span{display:inline}.expanded-nav .brand-spectrum:before{content:" "}.expanded-nav .menu-toggle{display:block}.expanded-nav .site-menu{display:none;position:absolute;top:76px;left:0;right:0;padding:16px 20px;background:var(--navy);max-height:calc(100dvh - 76px);overflow-y:auto}.expanded-nav .site-menu.open{display:flex;flex-direction:column;gap:16px}.nav-main-links,.nav-event-links{flex-direction:column;align-items:stretch;gap:0}.nav-main-links{border-top:1px solid rgba(255,255,255,.16);padding-top:16px}.nav-main-links>a,.nav-event-links>a{padding:10px 0;min-height:44px}.nav-main-links>.button{padding:10px 16px;margin-top:8px}}

/* Approved ivory and gold logo on navy. */
.expanded-nav .staff-logo{display:block;width:190px;height:auto;line-height:0}
.expanded-nav .staff-logo img{display:block;width:100%;height:auto;max-width:100%;border-radius:0}
@media(max-width:1180px){.expanded-nav .nav-inner{min-height:100px;padding-top:6px;padding-bottom:6px}.expanded-nav .staff-logo{width:150px}.expanded-nav .site-menu{top:100px;max-height:calc(100dvh - 100px)}}
.musician-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.musician-profiles article{border-top:3px solid var(--gold);padding:24px;background:#fff;border-radius:0 0 12px 12px}
.musician-profiles h3{font:700 1.5rem/1.2 Georgia,serif;margin:0 0 10px}
.musician-profiles .instrument{color:#76570e;font-weight:700;margin:0 0 14px}
.musician-profiles article>p:last-child{margin-bottom:0}
.planner-links{display:flex;flex-wrap:wrap;gap:16px}
@media(max-width:900px){.musician-profiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.musician-profiles{grid-template-columns:1fr}}

/* Master repertoire: alphabetical lists with direct category links. */
.repertoire-nav{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px}
.repertoire-nav a{padding:12px 20px;border:1px solid #9c741a;border-radius:999px;font-weight:700;background:#fff}
.repertoire-nav a:hover{background:var(--cream)}
.repertoire-nav a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.repertoire-section{scroll-margin-top:190px;padding-bottom:42px;margin-bottom:42px;border-bottom:1px solid var(--line)}
.repertoire-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.repertoire-list{columns:3;column-gap:40px;list-style:none;padding:0;margin:24px 0 0}
.repertoire-list li{break-inside:avoid;padding:9px 0;border-bottom:1px solid var(--line);font-size:1rem;overflow-wrap:anywhere}
@media(max-width:900px){.repertoire-list{columns:2}.repertoire-section{scroll-margin-top:125px}}
@media(max-width:600px){.repertoire-list{columns:1}.repertoire-nav{gap:10px;margin-bottom:32px}.repertoire-nav a{width:100%;text-align:center}}

.musician-bio{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.musician-bio summary{cursor:pointer;font-weight:700;color:#76570e;min-height:44px;padding:8px 0}
.musician-bio summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* Booking layout: prevent native date fields from expanding the grid. */
.booking-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.booking-grid>div,.booking-form,.booking-form label,.booking-form .form-row{min-width:0}
.booking-form input,.booking-form select,.booking-form textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.booking-form input[type=date]{display:block;appearance:none;-webkit-appearance:none;min-height:48px}
.booking-form input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}
.reading-column{max-width:800px}.reading-column h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-top:42px}.reading-column p:first-child{margin-top:0}
.reading-column li{margin:12px 0}.reading-column a:not(.button){text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.booking-grid{grid-template-columns:minmax(0,1fr);gap:24px}.booking-hero{padding:38px 0}.booking-hero h1{font-size:clamp(2rem,7vw,3rem);line-height:1.08;margin-bottom:16px}.booking-hero .lede{font-size:1rem;margin-bottom:0}.booking-trust{display:none}}

/* Preserved history, gallery, recordings, performances, and news. */
.archive-hero{min-height:520px}
.legacy-reading{font-family:Georgia,serif;font-size:1.08rem}
.legacy-reading p{line-height:1.8;color:#2c3742}
.legacy-reading h3{font:700 2rem/1.2 Georgia,serif;margin:48px 0 20px}
.legacy-reading hr{border:0;border-top:1px solid var(--line);margin:52px 0}
.archive-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.archive-link-grid a{display:block;padding:26px;background:#fff;border:1px solid #d6cdbd;border-top:3px solid var(--gold);border-radius:14px}
.archive-link-grid strong,.archive-link-grid span{display:block}
.archive-link-grid strong{font:700 1.35rem/1.25 Georgia,serif}
.archive-link-grid span{margin-top:8px;color:var(--muted)}
.legacy-gallery{columns:3;column-gap:18px}
.legacy-gallery figure{break-inside:avoid;margin:0 0 18px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.legacy-gallery img{width:100%;height:auto}
.legacy-gallery figcaption{padding:10px 14px;font-size:.82rem;color:var(--muted)}
.album-grid{display:grid;gap:30px}
.album-card{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;padding:30px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:16px}
.album-card img{width:240px;aspect-ratio:1;object-fit:cover;border-radius:12px;box-shadow:var(--shadow)}
.album-card h2{font-size:2.2rem;margin-bottom:6px}
.album-runtime{color:#76570e!important;font-weight:800}
.album-card ol{columns:2;column-gap:34px;padding-left:24px}
.album-card li{break-inside:avoid;margin:7px 0}
.performance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.performance-grid article{padding:28px;background:var(--cream);border-top:3px solid var(--gold);border-radius:14px}
.performance-grid h2{font-size:1.75rem}
.performance-grid ul{columns:2;column-gap:28px;padding-left:20px;margin-bottom:0}
.performance-grid li{break-inside:avoid;margin:6px 0}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.news-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 6px 24px rgba(7,17,31,.06)}
.news-card>a{display:grid;grid-template-columns:210px minmax(0,1fr);height:100%}
.news-card img{width:100%;height:100%;min-height:250px;object-fit:cover}
.news-card div{padding:24px}
.news-card time,.article-date{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#76570e;font-weight:900}
.news-card h2{font-size:1.6rem;margin:8px 0 10px}
.news-card p{margin:0 0 16px;font-size:.94rem}
.legacy-article{font-size:1.08rem}
.legacy-article p{line-height:1.8}
.article-image{width:100%;max-height:620px;object-fit:contain;background:var(--cream);border-radius:16px;margin:22px 0 32px}
@media(max-width:900px){.archive-link-grid,.news-grid{grid-template-columns:1fr}.legacy-gallery{columns:2}.album-card{grid-template-columns:180px minmax(0,1fr)}.album-card img{width:180px}.performance-grid{grid-template-columns:1fr}}
@media(max-width:640px){.archive-hero{min-height:460px}.archive-link-grid{grid-template-columns:1fr}.legacy-gallery{columns:1}.album-card{grid-template-columns:1fr;padding:22px}.album-card img{width:100%;max-width:260px}.album-card ol{columns:1}.performance-grid ul{columns:1}.news-card>a{grid-template-columns:1fr}.news-card img{height:230px;min-height:0}}
.upcoming-events{display:grid;gap:24px}
.upcoming-event{display:grid;grid-template-columns:120px minmax(0,1fr);gap:30px;padding:30px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:16px;background:#fff;box-shadow:0 6px 24px rgba(7,17,31,.06)}
.event-date{display:grid;align-content:start;justify-items:center;padding:18px 12px;border-radius:12px;background:var(--navy);color:#fff}
.event-date span{font-size:.78rem;letter-spacing:.16em;font-weight:900;color:var(--gold2)}
.event-date strong{font:700 3.2rem/1 Georgia,serif;margin:5px 0}
.event-date small{font-size:.82rem;color:#c7d0d9}
.upcoming-event h2{font-size:2rem;margin:4px 0 8px}
.upcoming-event p{margin:5px 0 14px}
.upcoming-event .event-kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:#76570e;font-weight:900;margin:0}
.calendar-download{margin-top:28px;text-align:center}
@media(max-width:640px){.upcoming-event{grid-template-columns:82px minmax(0,1fr);gap:18px;padding:20px}.event-date{padding:14px 8px}.event-date strong{font-size:2.4rem}.upcoming-event h2{font-size:1.65rem}}
