:root {
  --ink:#241F20; --paper:#fffcf5; --soft-white:#fafafa; --muted-text:#6B6061;
  --line:rgba(37,40,37,.18); --orange:#e68665; --green:#8bb19a;
  --sand:#ded2ba; --blue:#b7c5d2; --yellow:#ecde79; --max-width:1360px;
  --display:"Bricolage Grotesque",Arial,sans-serif; --body:"Spectral",Georgia,serif;
  --ensemble-display:"Major Mono Display",monospace;
  --interface:"Manrope",Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:1.1688rem;line-height:1.6}
img{display:block;max-width:100%} a{color:inherit} h1,h2,h3,p{margin-top:0}
h1,h2,h3,.brand{font-family:var(--display);font-weight:500;line-height:1.08}
.brand{font-family:var(--ensemble-display);font-weight:400;-webkit-text-stroke:.3px currentColor}
.site-header .brand{-webkit-text-stroke-width:.5px}
.ensemble-title{font-family:"Radio Canada Big",Arial,sans-serif;font-weight:600;letter-spacing:.01em;line-height:1;white-space:nowrap}
h1{font-size:clamp(2.7rem,6.3vw,5.4rem)!important} h2{font-size:clamp(1.8rem,3.6vw,3.6rem)!important} h3{font-size:clamp(1.215rem,2.16vw,2.25rem)!important}
.wrap{width:min(calc(100% - 3rem),var(--max-width));margin-inline:auto}
.tone-orange{background:var(--orange)}.tone-green{background:var(--green)}.tone-sand{background:var(--sand)}.tone-blue{background:var(--blue)}.tone-yellow{background:var(--yellow)}

.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:76px;padding:0 clamp(1.5rem,4vw,4rem);background:color-mix(in srgb,var(--paper) 95%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.brand{display:block;flex:none;margin-left:clamp(-1.25rem,-1.5vw,-.5rem);font-size:1.35rem;text-decoration:none}.brand__image{display:block;width:clamp(8.5rem,14vw,11.5rem);height:auto}.brand__image--light{width:clamp(9.5rem,16vw,12.5rem)}.site-nav{min-width:0;max-width:100%;overflow-x:auto}
.menu-toggle,.menu-close{display:none}
.site-nav ul{display:flex;width:max-content;gap:clamp(1rem,2vw,2rem);margin:0;padding:0;list-style:none;white-space:nowrap}
.site-nav a{position:relative;display:block;padding:1.6rem 0;color:var(--ink);font-family:var(--interface);font-size:1.092rem;font-weight:650;letter-spacing:.02em;text-decoration:none;text-transform:none;transition:color .3s ease}
.site-nav a::after{position:absolute;left:0;bottom:1.25rem;width:100%;height:2px;background:var(--ink);content:"";transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current="page"]{color:var(--ink)}
.site-nav a:hover::after,.site-nav a:focus-visible::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1)}

.split-hero{display:grid;grid-template-columns:clamp(50%,calc(100% - 38.5rem),60%) minmax(0,1fr);min-height:calc(100vh - 76px)}
.split-hero__image img{width:100%;height:100%;object-fit:cover}.split-hero__panel{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(2.5rem,6vw,6rem)}
.split-hero h1{margin-bottom:2rem}.ensemble-title{max-width:100%;font-size:clamp(3.15rem,5.1vw,5rem)!important}.hero-summary{width:100%;min-width:0;max-width:36rem;margin-bottom:1.75rem;font-family:var(--interface);font-size:clamp(1.098rem,1.673vw,1.359rem);font-weight:500;line-height:1.55;overflow-wrap:anywhere}
.eyebrow{margin-bottom:1rem;font-size:.951rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}
.text-link{display:inline-block;margin-top:1.25rem;padding-bottom:.18rem;border-bottom:1px solid currentColor;font-weight:500;text-decoration:none}

.landing-intro{padding-block:clamp(5rem,10vw,9rem);text-align:center}.landing-intro h2{max-width:13ch;margin-inline:auto}
.landing-intro>p:last-child{max-width:42rem;margin-inline:auto;color:var(--muted-text);font-size:1.15rem}.section-panels{border-top:1px solid var(--line)}
.social-section{padding-block:clamp(5rem,9vw,8rem)}.social-section>h2{margin-bottom:clamp(2.5rem,5vw,4rem);font-size:clamp(1.8rem,3vw,2.8rem)}
.social-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.social-links a{display:flex;min-width:0;align-items:center;gap:1.25rem;padding:clamp(1.6rem,3vw,2.5rem);text-decoration:none}.social-links a+a{border-left:1px solid var(--line)}
.social-links a>span:last-child{min-width:0;transition:transform .3s ease}.social-links a:hover>span:last-child,.social-links a:focus-visible>span:last-child{transform:translateX(.3rem)}.social-links a:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.social-links strong,.social-links small{display:block;overflow-wrap:anywhere}.social-links strong{position:relative;width:max-content;max-width:100%;padding-bottom:.25rem;font-family:var(--display);font-size:1.15rem;font-weight:500;line-height:1.2}.social-links strong::after{position:absolute;bottom:0;left:0;width:1.5rem;height:1px;background:currentColor;content:"";transition:width .35s ease}.social-links a:hover strong::after,.social-links a:focus-visible strong::after{width:100%}.social-links small{margin-top:.3rem;color:var(--muted-text);font-size:.815rem;line-height:1.25}
.social-icon{display:grid;flex:0 0 3.5rem;width:3.5rem;height:3.5rem;align-items:center;justify-items:center;border:1px solid currentColor;border-radius:50%;line-height:1;transition:transform .35s ease,background .35s ease}.social-links a:hover .social-icon,.social-links a:focus-visible .social-icon{background:var(--sand);transform:scale(1.1)}.social-icon svg{display:block;width:1.85rem;height:1.85rem;margin:auto;fill:none;stroke:currentColor;stroke-width:1.7}.social-icon--facebook svg{transform:translateX(-.05rem)}.social-icon__fill{fill:currentColor;stroke:none}.social-icon__paper{fill:var(--paper);stroke:none}.social-icon--monogram{font-family:var(--display);font-size:1.1rem;letter-spacing:0}
.home-highlight{position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-highlight__track{display:flex;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.home-highlight__track::-webkit-scrollbar{display:none}
.home-highlight__slide{display:grid;flex:0 0 100%;min-height:clamp(28rem,36vw,34rem);grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;gap:clamp(2rem,6vw,7rem);padding:clamp(4rem,8vw,7rem) max(1.5rem,calc((100vw - var(--max-width))/2));background:var(--paper);scroll-snap-align:center}
.home-highlight__state{display:contents}.home-highlight__state[hidden]{display:none}.home-highlight__state--fallback{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,2fr) minmax(0,2.4fr) minmax(14rem,1.6fr);align-items:center;gap:clamp(2rem,4vw,5rem)}
.home-highlight__intro h2{max-width:12ch;margin-bottom:1.5rem;font-size:clamp(2rem,4vw,4rem)}.home-highlight__title-link{position:relative;display:inline-block;padding-bottom:.22rem;color:inherit;text-decoration:none}.home-highlight__title-link::after{position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;content:"";transform:scaleX(.14);transform-origin:left;transition:transform .35s ease}.home-highlight__title-link:hover::after,.home-highlight__title-link:focus-visible::after{transform:scaleX(1)}.home-highlight__title-link:focus-visible{outline:2px solid var(--ink);outline-offset:.3rem}.home-highlight__intro h3{max-width:18ch;margin-bottom:0;font-size:clamp(1.55rem,2.8vw,2.7rem)}.home-highlight__intro>p{max-width:34rem;margin-bottom:0;font-family:var(--interface);font-size:clamp(1.202rem,1.882vw,1.411rem);font-weight:550;line-height:1.45}
.home-highlight__intro .button-link{margin-top:1.75rem}
.home-highlight__details{padding-right:clamp(1rem,6vw,6rem)}.home-highlight__details h3{max-width:20ch;margin-bottom:1.4rem;font-size:clamp(1.55rem,2.8vw,2.7rem)}.home-highlight__date,.home-highlight__venue{font-family:var(--interface);font-weight:550}.home-highlight__date{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:.8rem;font-size:clamp(1.307rem,2.3vw,1.83rem);line-height:1.25}.home-highlight__venue{max-width:32rem;margin-bottom:0;font-size:1.171rem}.home-highlight__details .button-link{margin-top:2rem}.home-highlight__details--recent{padding-right:0}.home-highlight__media-invite{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-left:clamp(2rem,4vw,4rem);border-left:1px solid var(--line)}.home-highlight__media-invite h3{max-width:12ch;margin-bottom:0;font-size:clamp(1.4rem,2.2vw,2.1rem)}.home-highlight__media-invite .button-link{align-self:flex-start;margin-top:2rem}
.home-highlight__slide--social{grid-template-columns:minmax(14rem,1fr) minmax(0,2fr);row-gap:2rem}.home-highlight__slide--social .social-links{grid-template-columns:repeat(2,minmax(0,1fr))}.home-highlight__slide--social .social-links a{padding:1.25rem}.home-highlight__slide--social .social-links a:nth-child(odd){border-left:0}.home-highlight__contact{display:flex;grid-column:1/-1;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:1rem 1.5rem;padding-top:2rem;border-top:1px solid var(--line)}.home-highlight__contact p{margin:0;font-family:var(--display);font-size:1.3rem;font-weight:500;line-height:1.2}.home-highlight__contact .button-link{flex:none;margin-top:0}
.home-highlight__controls{position:absolute;top:1.5rem;right:max(1.5rem,calc((100vw - var(--max-width))/2));z-index:2;display:flex;gap:.6rem}.home-highlight__controls button{display:grid;width:3rem;height:3rem;place-items:center;padding:0;border:1px solid var(--ink);border-radius:50%;color:var(--ink);background:rgba(245,242,234,.35);font:inherit;line-height:0;cursor:pointer;transition:color .25s ease,background .25s ease,opacity .25s ease}.home-highlight__controls button:hover,.home-highlight__controls button:focus-visible{color:var(--paper);background:var(--ink)}.home-highlight__controls button:disabled{opacity:.3;cursor:default}.home-highlight__controls button:disabled:hover{color:var(--ink);background:rgba(245,242,234,.35)}
.home-highlight__indicators{position:absolute;bottom:1.5rem;left:50%;z-index:2;display:flex;align-items:center;gap:.65rem;transform:translateX(-50%)}.home-highlight__indicators button{width:.55rem;height:.55rem;padding:0;border:0;border-radius:999px;background:var(--ink);opacity:.35;cursor:pointer;transition:width .3s ease,opacity .3s ease}.home-highlight__indicators button[aria-current="true"]{width:2rem;opacity:1}.home-highlight__indicators button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.section-panel{display:grid;grid-template-columns:1fr 1fr;height:max(560px,33.333vw);color:var(--ink);text-decoration:none}.section-panel--reverse .section-panel__image{order:2}
.section-panel__image{overflow:hidden}.section-panel__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.section-panel:hover img{transform:scale(1.025)}
.section-panel__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(3rem,7vw,7rem)}
.section-panel__copy h2{position:relative;margin-bottom:1.5rem;padding-bottom:.3rem;transition:transform .35s ease}
.section-panel__copy h2::after{position:absolute;bottom:0;left:0;width:2.5rem;height:1px;background:currentColor;content:"";transition:width .45s ease}
.section-panel:hover .section-panel__copy h2,.section-panel:focus-visible .section-panel__copy h2{transform:translateX(.35rem)}
.section-panel:hover .section-panel__copy h2::after,.section-panel:focus-visible .section-panel__copy h2::after{width:100%}
.section-panel:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}.section-panel__copy>p:not(.eyebrow){max-width:32rem;font-size:1.213rem}.section-panel__email{margin-top:1.25rem;font-family:var(--interface);font-size:1.15rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}

.page-hero{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.page-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,8vw,8rem)}
.page-hero.tone-orange,.split-hero__panel.tone-orange,.section-panel__copy.tone-orange{--hero-tone:var(--orange)}.page-hero.tone-green,.split-hero__panel.tone-green,.section-panel__copy.tone-green{--hero-tone:var(--green)}.page-hero.tone-sand,.split-hero__panel.tone-sand,.section-panel__copy.tone-sand{--hero-tone:var(--sand)}.page-hero.tone-blue,.split-hero__panel.tone-blue,.section-panel__copy.tone-blue{--hero-tone:var(--blue)}.page-hero.tone-yellow,.split-hero__panel.tone-yellow,.section-panel__copy.tone-yellow{--hero-tone:var(--yellow)}
.page-hero--about,.page-hero--news,.page-hero--musicians{height:max(560px,33.333vw);min-height:0;overflow:hidden}.page-hero--about .page-hero__image,.page-hero--news .page-hero__image,.page-hero--musicians .page-hero__image{min-height:0;object-position:center}
.page-hero__copy p:last-child{max-width:35rem;font-size:1.317rem}.page-hero__image{width:100%;height:100%;min-height:500px;object-fit:cover}
.page-content{padding-block:clamp(5rem,10vw,9rem)}.page-content>h2{max-width:16ch}.prose{max-width:48rem;font-size:1.342rem}.page-content--about .prose{max-width:56rem}.page-content--about{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(20rem,.72fr);align-items:start;gap:clamp(3rem,7vw,8rem)}.about-body__copy>h2{max-width:16ch}.about-musicians-panel{align-self:start;padding:clamp(2rem,4vw,4rem);color:var(--ink)}.about-musicians-panel h2{max-width:12ch;margin-bottom:2rem;font-family:var(--display);font-size:clamp(1.6rem,2.4vw,2.5rem)!important}.about-musicians-panel nav{border-top:1px solid color-mix(in srgb,var(--ink) 24%,transparent)}.about-musicians-panel__link{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:1rem 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 24%,transparent);font-family:var(--interface);font-size:.94rem;font-weight:600;line-height:1.3;text-decoration:none}.about-musicians-panel__link>span:first-child{min-width:0}.about-musicians-panel__link>span:nth-child(2){font-size:.78rem;font-weight:550;letter-spacing:.08em;text-align:right;text-transform:uppercase}.about-musicians-panel__link .control-icon{width:1rem;height:1rem;transition:transform .3s ease}.about-musicians-panel__link:hover>span:first-child,.about-musicians-panel__link:focus-visible>span:first-child{text-decoration:underline;text-underline-offset:.2em}.about-musicians-panel__link:hover .control-icon,.about-musicians-panel__link:focus-visible .control-icon{transform:translateX(.2rem)}.about-musicians-panel__link:focus-visible{outline:2px solid var(--ink);outline-offset:.35rem}.musician[id]{scroll-margin-top:clamp(5rem,8vw,7rem)}
.contact-heading{max-width:none!important;white-space:nowrap;font-size:clamp(1.35rem,3.6vw,3.6rem)}.contact-social{margin-top:clamp(4rem,8vw,7rem);padding-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--line)}.contact-social h2{margin-bottom:1rem}.contact-social>p{max-width:34rem;color:var(--muted-text)}.contact-social .social-links{margin-top:2.5rem}
.contact-email{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1rem}.copy-email-fallback,.copy-email{font-family:var(--interface);font-size:1.15rem;font-weight:550;line-height:1.5}.copy-email{display:inline-flex;align-items:center;gap:.5rem;padding:.15rem 0;border:0;border-bottom:1px solid currentColor;color:var(--ink);background:transparent;cursor:pointer;transition:opacity .2s ease}.copy-email:hover{opacity:.65}.copy-email:focus-visible{outline:2px solid var(--ink);outline-offset:.3rem}.copy-email__icon{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.copy-email-status{min-width:4.5rem;font-family:var(--interface);font-size:.889rem;font-weight:550}
.event-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.event-card{min-height:260px;padding:clamp(2rem,4vw,3.25rem);background:var(--paper)}
.event-card--media{display:flex;flex-direction:column;justify-content:center;background:var(--sand)}.event-card--media>p:not(.eyebrow){max-width:28rem}.event-card--media .text-link{width:max-content}
.event-card h3{max-width:18ch;margin-bottom:1rem;font-size:clamp(1.35rem,2.3vw,2.1rem);line-height:1.12;text-wrap:balance}
.upcoming-events>h2{max-width:none;font-size:clamp(1.4rem,3.6vw,3.6rem)!important;white-space:nowrap}.past-events>h2{max-width:16ch}.event-timeline{border-top:1px solid var(--line)}
.event-feature{display:grid;grid-template-columns:minmax(12rem,28%) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);padding:clamp(2.5rem,6vw,5rem) 0;border-bottom:1px solid var(--line)}
.event-feature__when{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:0;font-family:var(--interface);font-size:clamp(1.202rem,2.091vw,1.62rem);font-weight:600;line-height:1.25;letter-spacing:0;text-transform:none}.event-feature__details h3{max-width:22ch;margin-bottom:1rem;font-size:clamp(1.5rem,3vw,2.7rem)}
.event-series{margin-bottom:.65rem;color:var(--muted-text);font-size:.951rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.event-feature__venue{font-size:1.202rem;font-weight:500}.event-feature__description{max-width:42rem;color:var(--muted-text);font-size:1.232rem}.event-feature__description p:last-child{margin-bottom:0}
.button-link{display:inline-block;margin-top:1.75rem;padding:.8rem 1.2rem;border:1px solid var(--ink);border-radius:19px;color:var(--paper);background:var(--ink);font-weight:500;text-decoration:none;transition:color .25s ease,background .25s ease}.button-link:hover,.button-link:focus-visible{color:var(--ink);background:transparent}
.past-events{margin-top:clamp(3rem,6vw,5rem);padding-top:clamp(3rem,5vw,5rem)}
.past-events__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.past-events__heading h2{margin:0}.past-events__controls{display:flex;gap:.6rem}.past-events__controls button{display:grid;width:3rem;height:3rem;place-items:center;border:1px solid var(--ink);border-radius:50%;color:var(--ink);background:transparent;font:inherit;font-size:1.2rem;cursor:pointer;transition:color .25s ease,background .25s ease,opacity .25s ease}
.past-events__controls button:hover,.past-events__controls button:focus-visible{color:var(--paper);background:var(--ink)}.past-events__controls button:disabled{opacity:.3;cursor:default}.past-events__controls button:disabled:hover{color:var(--ink);background:transparent}
.past-events__track{display:flex;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.past-events__track::-webkit-scrollbar{display:none}.past-events__slide{display:grid;flex:0 0 100%;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);scroll-snap-align:center}.past-events__slide--1{grid-template-columns:1fr 1fr}.past-events__slide--1 .event-card{grid-column:1}
.past-events__indicators{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-top:2rem}.past-events__indicators button{width:.55rem;height:.55rem;padding:0;border:0;border-radius:999px;background:var(--ink);opacity:.35;cursor:pointer;transition:width .3s ease,opacity .3s ease}.past-events__indicators button[aria-current="true"]{width:2rem;opacity:1}.past-events__indicators button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.past-events .event-card:not(.event-card--media)>.eyebrow{display:inline-block;margin-bottom:1rem;padding-bottom:.45rem;border-bottom:1px solid var(--orange);color:var(--ink);font-size:.85rem;letter-spacing:.12em}
.past-events .event-card__venue{margin-bottom:0;color:var(--muted-text);line-height:1.45}
.page-content--musicians{width:100%;padding-block:0}
.musician-list{display:flex;width:100%;flex-direction:column;gap:0}
.musician{display:grid;width:100%;grid-template-columns:30% 70%;align-items:stretch}
.musician--reverse{grid-template-columns:70% 30%}
.musician--reverse .musician__portrait{order:2}
.musician__portrait{position:relative;z-index:1;min-width:0;aspect-ratio:1707/2560;overflow:hidden;background:var(--paper)}
.musician__portrait-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.musician__portrait-track::-webkit-scrollbar{display:none}.musician__portrait-track:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
.musician__portrait-slide{display:flex;flex:0 0 100%;height:100%;scroll-snap-align:center}.musician__portrait img{width:100%;height:100%;object-fit:contain}
.musician__portrait-controls{position:absolute;right:clamp(.65rem,2vw,1.25rem);bottom:clamp(.65rem,2vw,1.25rem);display:flex;gap:.4rem}.musician__portrait-controls button{display:grid;width:2.55rem;height:2.55rem;place-items:center;padding:0;border:1px solid var(--ink);border-radius:50%;color:var(--ink);background:rgba(255,252,245,.86);font:inherit;line-height:0;cursor:pointer;transition:color .25s ease,background .25s ease,opacity .25s ease}.musician__portrait-controls button:hover,.musician__portrait-controls button:focus-visible{color:var(--paper);background:var(--ink)}.musician__portrait-controls button:disabled{opacity:.35;cursor:default}.musician__portrait-controls button:disabled:hover{color:var(--ink);background:rgba(255,252,245,.86)}
.musician__portrait-indicators{position:absolute;bottom:1.55rem;left:clamp(.65rem,2vw,1.25rem);display:flex;align-items:center;gap:.45rem}.musician__portrait-indicators button{width:.45rem;height:.45rem;padding:0;border:0;border-radius:999px;background:var(--paper);opacity:.65;cursor:pointer;transition:width .3s ease,opacity .3s ease}.musician__portrait-indicators button[aria-current="true"]{width:1.55rem;opacity:1}.musician__portrait-indicators button:focus-visible{outline:2px solid var(--paper);outline-offset:4px}
.musician__portrait img{height:100%;object-fit:contain}
.portrait-placeholder{display:grid;min-height:440px;place-items:center;padding:2rem;background:rgba(41,40,36,.07);border:1px solid var(--line);color:var(--muted-text);text-align:center}
.portrait-placeholder span{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.musician__bio{display:flex;min-width:0;flex-direction:column;justify-content:center;margin-left:-1px;padding:clamp(3rem,6vw,7rem) clamp(3rem,4.75vw,6rem)}
.musician__bio.tone-orange{--musician-tone:var(--orange)}.musician__bio.tone-green{--musician-tone:var(--green)}.musician__bio.tone-sand{--musician-tone:var(--sand)}.musician__bio.tone-blue{--musician-tone:var(--blue)}.musician__bio.tone-yellow{--musician-tone:var(--yellow)}
.musician--reverse .musician__bio{margin-right:-1px;margin-left:0}
.musician__role{margin-bottom:1rem;font-family:var(--interface);font-size:clamp(1.098rem,1.568vw,1.307rem);font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.musician__bio h2{max-width:18ch;margin-bottom:2rem;font-size:clamp(2.2rem,4.2vw,4.5rem);text-wrap:balance}.musician__name--edward{max-width:none!important}.musician__name--edward span{white-space:nowrap}.musician__name + .musician__blurb{margin-top:-1rem}.musician__blurb{max-width:58ch;margin-bottom:1.5rem;font-family:var(--interface);font-size:clamp(1rem,1.35vw,1.16rem);font-weight:500;line-height:1.5}
.musician-bio-dialog .prose{width:100%;max-width:70ch;font-size:clamp(1.18rem,calc(1.03rem + .45vw),1.36rem);line-height:1.62}
.musician__bio-toggle{display:inline-flex;align-items:center;align-self:flex-start;gap:.55em;margin-top:.35rem;padding:0 0 .35rem;border:0;border-bottom:1px solid currentColor;color:inherit;background:transparent;font-family:var(--interface);font-size:1rem;font-weight:650;line-height:1.3;cursor:pointer}.musician__bio-toggle .control-icon{width:1em;height:1em;transform:rotate(-45deg);transition:transform .3s ease}.musician__bio-toggle:hover,.musician__bio-toggle:focus-visible{opacity:.68}.musician__bio-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:.35rem}
@media(min-width:901px){.musician{height:calc(44.93vw - .35rem);min-height:0}.musician__portrait{align-self:stretch;width:100%;height:100%;aspect-ratio:auto}.musician__portrait img{object-fit:cover;object-position:center bottom}.musician__bio{height:100%;min-height:0;overflow:hidden;padding-block:clamp(1.75rem,4vw,5rem)}}
@media(max-width:650px){.musician__bio,.musician--reverse .musician__bio{aspect-ratio:auto!important;min-height:0;margin:-1px 0 0;padding:clamp(2.5rem,8vw,4rem) clamp(1.5rem,6vw,2.5rem)!important}.musician__blurb{font-size:1rem;line-height:1.5}.musician-bio-dialog .prose{font-size:clamp(1.08rem,3.3vw,1.2rem);line-height:1.6}}
.musician-bio-dialog{width:min(calc(100vw - 2rem),68rem);max-width:none;max-height:min(88vh,64rem);margin:auto;padding:0;overflow:hidden;border:1px solid var(--ink);color:var(--ink);background:var(--paper);opacity:0;transform:translateY(.75rem) scale(.98);transition:opacity .32s cubic-bezier(.16,1,.3,1),transform .32s cubic-bezier(.16,1,.3,1)}.musician-bio-dialog[open]{display:block;opacity:1;transform:translateY(0) scale(1)}.musician-bio-dialog.is-opening{opacity:0;transform:translateY(.75rem) scale(.98)}.musician-bio-dialog.is-closing{opacity:0;transform:translateY(.5rem) scale(.985);transition-duration:.2s}.musician-bio-dialog::backdrop{background:rgba(36,31,32,.68)}.musician-bio-dialog__panel{max-height:min(88vh,64rem);overflow-y:auto;padding:clamp(2rem,5vw,5rem) clamp(1.5rem,6vw,6rem)}.musician-bio-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem);padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.musician-bio-dialog__header .musician__role{margin-bottom:1rem}.musician-bio-dialog__header .musician__name{max-width:none;margin:0}.musician-bio-dialog__close{display:grid;width:3rem;height:3rem;flex:none;place-items:center;padding:0;border:1px solid var(--ink);border-radius:50%;color:var(--ink);background:transparent;font:inherit;cursor:pointer;transition:color .25s ease,background .25s ease}.musician-bio-dialog__close:hover,.musician-bio-dialog__close:focus-visible{color:var(--paper);background:var(--ink)}.musician-bio-dialog__close:focus-visible{outline:2px solid var(--ink);outline-offset:.3rem}.musician-bio-dialog__footer{margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.25rem;border-top:1px solid var(--line)}.musician-bio-dialog__close-bottom{display:inline-flex;align-items:center;gap:.55em;padding:0 0 .35rem;border:0;border-bottom:1px solid currentColor;color:inherit;background:transparent;font-family:var(--interface);font-size:1rem;font-weight:650;line-height:1.3;cursor:pointer}.musician-bio-dialog__close-bottom .control-icon{width:1em;height:1em;transition:transform .3s ease}.musician-bio-dialog__close-bottom:hover,.musician-bio-dialog__close-bottom:focus-visible{opacity:.68}.musician-bio-dialog__close-bottom:focus-visible{outline:2px solid var(--ink);outline-offset:.35rem}
@media(max-width:650px){.musician-bio-dialog{width:calc(100vw - 1.5rem);max-height:90vh}.musician-bio-dialog__panel{max-height:90vh;padding:2rem 1.5rem 2.5rem}.musician-bio-dialog__header{gap:1rem;margin-bottom:2rem;padding-bottom:1.25rem}.musician-bio-dialog__header .musician__name{font-size:clamp(1.9rem,9vw,3rem)}}
.video-slider{width:100vw;margin-top:calc(clamp(5rem,10vw,9rem)*-1);margin-left:calc(50% - 50vw);padding:clamp(4rem,8vw,7rem) max(1.5rem,calc((100vw - var(--max-width))/2));color:var(--paper);background:var(--ink)}
.video-slider__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.video-slider__heading h2{margin:0}
.video-slider__controls{display:flex;gap:.6rem}.video-slider__controls button{display:grid;width:3rem;height:3rem;place-items:center;border:1px solid var(--paper);border-radius:50%;color:var(--paper);background:transparent;font:inherit;font-size:1.2rem;cursor:pointer;transition:color .25s ease,background .25s ease,opacity .25s ease}
.video-slider__controls button:hover,.video-slider__controls button:focus-visible{color:var(--ink);background:var(--paper)}.video-slider__controls button:disabled{opacity:.3;cursor:default}.video-slider__controls button:disabled:hover{color:var(--paper);background:transparent}
.video-track{display:flex;gap:0;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}
.video-track::-webkit-scrollbar{display:none}.video-card{display:flex;flex:0 0 100%;flex-direction:column;padding-inline:max(0px,calc((100% - 52rem)/2));scroll-snap-align:center}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#181818}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-caption{min-height:9rem;padding:1.5rem 0 0;border-top:1px solid rgba(245,242,234,.22)}
.video-caption__composer{margin-bottom:.6rem;color:var(--sand);font-size:clamp(1.045rem,1.568vw,1.202rem);font-weight:500;letter-spacing:.14em;text-transform:uppercase}.video-caption h3{width:100%;margin:0;color:var(--soft-white);font-size:clamp(1.2rem,1.9vw,1.8rem);overflow-wrap:anywhere}
.video-slider__indicators{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-top:1.5rem}.video-slider__indicators button{width:.55rem;height:.55rem;padding:0;border:0;border-radius:999px;background:var(--sand);opacity:.5;cursor:pointer;transition:width .3s ease,opacity .3s ease}
.video-slider__indicators button[aria-current="true"]{width:2rem;opacity:1}.video-slider__indicators button:focus-visible{outline:2px solid var(--soft-white);outline-offset:4px}
.media-gallery{width:100vw;margin-bottom:calc(clamp(5rem,10vw,9rem)*-1);margin-left:calc(50% - 50vw);padding:clamp(5rem,9vw,8rem) max(1.5rem,calc((100vw - var(--max-width))/2));background:var(--paper)}
.media-gallery__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.media-gallery__heading h2{margin:0}
.media-gallery__controls{display:flex;gap:.6rem}.media-gallery__controls button{display:grid;width:3rem;height:3rem;place-items:center;border:1px solid var(--ink);border-radius:50%;color:var(--ink);background:transparent;font:inherit;font-size:1.2rem;cursor:pointer;transition:color .25s ease,background .25s ease,opacity .25s ease}
.media-gallery__controls button:hover,.media-gallery__controls button:focus-visible{color:var(--paper);background:var(--ink)}.media-gallery__controls button:disabled{opacity:.3;cursor:default}.media-gallery__controls button:disabled:hover{color:var(--ink);background:transparent}
.media-gallery__track{display:flex;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.media-gallery__track::-webkit-scrollbar{display:none}
.media-gallery__slide{display:grid;flex:0 0 100%;height:clamp(28rem,52vw,42rem);grid-template-columns:7fr 5fr;grid-template-rows:1fr 1fr;gap:clamp(.6rem,1.2vw,1.25rem);scroll-snap-align:center}
.media-gallery__item{margin:0;overflow:hidden;background:var(--sand)}.media-gallery__slide .media-gallery__item:first-child{grid-row:1/3}.media-gallery__slide--1 .media-gallery__item:first-child{grid-column:1/3;grid-row:1/3}.media-gallery__slide--2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.media-gallery__slide--2 .media-gallery__item:first-child{grid-row:auto}
.media-gallery__item button{display:block;width:100%;height:100%;padding:0;overflow:hidden;border:0;background:transparent;cursor:zoom-in}.media-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.media-gallery__item button:hover img,.media-gallery__item button:focus-visible img{transform:scale(1.045)}.media-gallery__item button:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
.media-gallery__indicators{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-top:2rem}.media-gallery__indicators button{width:.55rem;height:.55rem;padding:0;border:0;border-radius:999px;background:var(--ink);opacity:.35;cursor:pointer;transition:width .3s ease,opacity .3s ease}.media-gallery__indicators button[aria-current="true"]{width:2rem;opacity:1}.media-gallery__indicators button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.gallery-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:clamp(3.5rem,6vw,5rem);border:0;background:rgba(20,20,18,.96);opacity:0;transform:scale(.96);transition:opacity .22s ease,transform .22s ease}
.gallery-lightbox[open]{display:grid;place-items:center;opacity:1;transform:scale(1)}.gallery-lightbox::backdrop{background:rgba(20,20,18,.72)}
.gallery-lightbox img{width:auto;max-width:100%;height:auto;max-height:calc(100vh - 7rem);object-fit:contain}.gallery-lightbox__close{position:fixed;top:1rem;right:1rem;display:grid;width:3rem;height:3rem;place-items:center;padding:0;border:1px solid var(--paper);border-radius:50%;color:var(--paper);background:rgba(20,20,18,.7);font:inherit;font-size:2rem;line-height:1;cursor:pointer}.gallery-lightbox__close:hover,.gallery-lightbox__close:focus-visible{color:var(--ink);background:var(--paper)}
.news-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem;border-bottom:1px solid var(--line)}
.news-heading h2{margin-bottom:1.5rem}.news-heading p{max-width:42rem;margin-bottom:1.5rem;color:var(--muted-text);font-size:1.111rem}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,5rem) 2rem}
.news-card{background:var(--soft-white)}.news-card__image{display:block;aspect-ratio:3/2;overflow:hidden}
.news-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.news-card:hover .news-card__image img{transform:scale(1.025)}
.news-card__image--ink,.article-visual--ink{background:var(--ink)}.news-card__image--ink img{padding:clamp(1.5rem,4vw,4rem);object-fit:contain}.article-visual--ink .article-image{padding:clamp(2rem,7vw,7rem);object-fit:contain}
.news-card__image--contain img,.article-visual--contain .article-image{object-fit:contain}
.news-card__copy{padding:clamp(1.75rem,4vw,3rem)}.news-card__copy h2{font-size:clamp(1.45rem,2.3vw,2.2rem)}
.pinned-marker{display:flex;align-items:center;gap:.4rem;margin:0 0 .75rem;color:var(--ink);font-family:var(--interface);font-size:.72rem;font-weight:650;letter-spacing:.1em;line-height:1.2;text-transform:uppercase}.pinned-marker__icon{width:1rem;height:1rem;flex:0 0 1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.article-pinned{margin-bottom:1.25rem}
.news-card__copy h2 a{text-decoration:none}.news-card__copy>p:not(.eyebrow){color:var(--muted-text)}
.news-pagination{display:flex;justify-content:center;gap:.6rem;margin-top:clamp(3rem,6vw,5rem)}.news-pagination a{display:grid;min-width:2.8rem;height:2.8rem;place-items:center;padding:.4rem .7rem;border:1px solid var(--ink);border-radius:50%;color:var(--ink);font-family:var(--interface);font-weight:550;text-decoration:none;transition:color .25s ease,background .25s ease}.news-pagination a:hover,.news-pagination a:focus-visible,.news-pagination a[aria-current="page"]{color:var(--paper);background:var(--ink)}
.article-layout{display:grid;grid-template-areas:"visual heading" "visual body";grid-template-columns:minmax(0,44%) minmax(0,56%);grid-template-rows:auto 1fr;align-items:start;background:var(--paper)}
.article-layout--no-image{display:block}.article-visual{position:sticky;top:76px;grid-area:visual;height:calc(100vh - 76px);overflow:hidden;background:var(--paper)}
.article-image{width:100%;height:100%;object-fit:cover;object-position:center}
.article-panel{grid-area:body;min-height:calc(100vh - 76px);padding:clamp(3rem,6vw,6rem);background:var(--paper);border-left:1px solid var(--line)}
.article-panel--full{width:min(100%,58rem);min-height:0;margin-inline:auto;border-left:0}
.article-header{grid-area:heading;padding:clamp(2.5rem,5vw,4.5rem);text-align:left}.article-header h1{max-width:15ch;font-size:clamp(2rem,3.2vw,3.4rem)}
.article-header__excerpt{max-width:38rem;margin-bottom:0;font-size:1.213rem}.article-body__prose{max-width:46rem;font-size:1.342rem}
.article-body__prose h2{margin-top:2.5rem;font-size:clamp(1.8rem,3vw,2.7rem)}.article-body__prose p{margin-bottom:1.5rem}
.article-back{display:block;width:max-content;margin-top:3rem}

[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}[data-reveal].is-visible{opacity:1;transform:none}
.site-footer{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;padding:3rem clamp(1.5rem,4vw,4rem);color:var(--paper);background:var(--ink);border-top:1px solid var(--ink)}
.footer-social-group{display:flex;align-items:center;gap:1rem}.site-footer .footer-social__label{color:var(--paper);font-family:var(--display);font-size:1.05rem;font-weight:500;line-height:1.2}
.site-footer__end{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:1rem 1.5rem}.footer-social{display:flex;align-items:center;gap:.55rem}.footer-social a{display:block;border-radius:50%;text-decoration:none}.footer-social .social-icon{width:2.25rem;height:2.25rem;flex-basis:2.25rem}.footer-social .social-icon svg{width:1.15rem;height:1.15rem}.footer-social .social-icon--monogram{font-size:.72rem}.footer-social .social-icon__paper{fill:var(--ink)}.footer-social a:hover .social-icon,.footer-social a:focus-visible .social-icon{color:var(--ink);background:var(--sand);transform:scale(1.08)}.footer-social a:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.site-footer__copyright{display:flex;align-items:flex-end;flex-direction:column;gap:.35rem}.site-footer p{margin:0;color:var(--sand);font-size:.889rem;white-space:nowrap}.site-footer__credits a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}.site-footer__credits a:hover,.site-footer__credits a:focus-visible{color:var(--paper)}.site-footer__credits a:focus-visible{outline:2px solid var(--paper);outline-offset:.2rem}
@media(max-width:1150px){.social-links{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.5rem}.social-links a:nth-child(odd){border-left:0}}
@media(max-width:900px){.site-header{align-items:flex-start;flex-direction:column;gap:0;max-width:100vw;padding-top:1rem}.site-nav{width:100%}.site-nav a{padding:.8rem 0 1rem}.split-hero,.section-panel,.page-hero{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.split-hero{min-height:auto}.split-hero__image{min-height:58vh}.split-hero__panel{min-width:0;min-height:440px}.social-links{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.5rem}.social-links a:nth-child(odd){border-left:0}.home-highlight__slide,.home-highlight__slide--social{grid-template-columns:1fr;align-content:center;gap:2rem;padding-top:6rem;padding-bottom:5rem}.home-highlight__state--fallback{grid-template-columns:1fr;gap:2.5rem}.home-highlight__details{padding-right:0}.home-highlight__media-invite{padding-top:2.5rem;padding-left:0;border-top:1px solid var(--line);border-left:0}.section-panel{height:auto;min-height:auto}.section-panel__image,.section-panel--reverse .section-panel__image{order:0;height:55vw;min-height:0}.section-panel__copy,.section-panel--reverse .section-panel__copy{min-width:0;min-height:400px}.page-hero__image{min-height:55vw}}
@media(max-width:650px){body.menu-open{overflow:hidden}.site-header{min-height:68px;align-items:center;flex-direction:row;padding:0 1.5rem;backdrop-filter:none}.menu-toggle,.menu-close{display:block;border:0;color:inherit;background:transparent;font:inherit;font-size:.76rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent}.menu-toggle{padding:.8rem .25rem;transition:color .25s ease,background .25s ease}.menu-toggle:hover,.menu-toggle:focus-visible,.menu-toggle:active{color:var(--ink);background:var(--sand)}.menu-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.site-nav{position:fixed;inset:0;z-index:100;display:flex;width:100%;max-width:none;height:100dvh;align-items:center;justify-content:center;overflow:hidden;color:var(--paper);background:var(--ink);visibility:hidden;opacity:0;transform:translateX(100%);transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s ease,visibility 0s linear .55s}.site-nav.is-open{visibility:visible;opacity:1;transform:translateX(0);transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s ease,visibility 0s}.menu-close{position:absolute;top:1.4rem;right:1.5rem;padding:.7rem;color:var(--paper);transition:color .25s ease,background .25s ease}.menu-close:hover,.menu-close:focus-visible,.menu-close:active{color:var(--ink);background:var(--sand)}.menu-close:focus-visible{outline:2px solid var(--paper);outline-offset:2px}.site-nav ul{display:flex;width:min(100% - 3rem,28rem);align-items:stretch;flex-direction:column;gap:0}.site-nav li{border-bottom:1px solid rgba(245,242,234,.18)}.site-nav li:first-child{border-top:1px solid rgba(245,242,234,.18)}.site-nav a{padding:1rem .25rem;color:var(--paper);font-family:var(--interface);font-size:clamp(1.5rem,8vw,2.4rem);letter-spacing:0;text-transform:none;transition:color .25s ease,background .25s ease,transform .25s ease;-webkit-tap-highlight-color:transparent}.site-nav a::after{display:none}.site-nav a:hover,.site-nav a:focus-visible,.site-nav a:active,.site-nav a[aria-current="page"]{color:var(--sand);background:rgba(216,201,174,.08);transform:translateX(.3rem)}.site-nav a:focus-visible{outline:2px solid var(--sand);outline-offset:-2px}.site-nav a[aria-current="page"]{box-shadow:none}.event-list,.news-grid{grid-template-columns:1fr}.social-section{padding-block:3.5rem}.social-section>h2{margin-bottom:1.5rem;font-size:1.6rem}.social-links{grid-template-columns:1fr;gap:.35rem}.social-links a{gap:.75rem;padding:.85rem .15rem;border-left:0!important}.social-links strong{font-size:.84rem;line-height:1.05}.social-icon{width:3rem;height:3rem;flex-basis:3rem}.social-icon svg{width:1.55rem;height:1.55rem}.social-icon--monogram{font-size:.95rem}.event-feature{grid-template-columns:1fr;gap:1.5rem}.past-events__heading{align-items:center}.past-events__slide{grid-template-columns:1fr}.past-events__slide--1{grid-template-columns:1fr}.past-events__slide--1 .event-card{grid-column:auto}.news-heading{align-items:flex-start;flex-direction:column;gap:0}.video-slider__heading,.media-gallery__heading{align-items:center}.video-card{padding-inline:0}.media-gallery{padding-inline:1rem}.media-gallery__slide{height:clamp(24rem,110vw,34rem);grid-template-columns:1fr 1fr;grid-template-rows:3fr 2fr}.media-gallery__slide .media-gallery__item:first-child{grid-column:1/3;grid-row:1}.media-gallery__slide--1 .media-gallery__item:first-child{grid-row:1/3}.media-gallery__slide--2{grid-template-rows:1fr}.media-gallery__slide--2 .media-gallery__item:first-child{grid-column:auto}.article-layout{display:grid;grid-template-areas:"heading" "visual" "body";grid-template-columns:1fr;grid-template-rows:auto}.article-visual{position:static;height:auto;overflow:visible}.article-image{height:auto;object-fit:contain}.article-header{padding:2.5rem 1.5rem}.article-header h1{font-size:clamp(2rem,9vw,2.8rem)}.article-panel,.article-panel--full{width:100%;min-height:0;padding:3rem 1.5rem;border-top:1px solid var(--line);border-left:0}.musician,.musician--reverse{grid-template-columns:1fr}.musician--reverse .musician__portrait{order:0}.musician__portrait img{width:100%;height:auto}.portrait-placeholder{min-height:150vw}.musician__bio,.musician--reverse .musician__bio{aspect-ratio:1707/2560;min-height:0;margin:-1px 0 0;padding:3rem 2rem}.site-footer{align-items:flex-start;flex-direction:column}}
/* Homepage highlight refinements. */
.footer-social a:hover .social-icon__paper,.footer-social a:focus-visible .social-icon__paper{fill:var(--paper)}
.home-highlight__state--fallback{grid-template-columns:minmax(0,2fr) minmax(0,2.4fr)}
.home-highlight__slide--media{grid-template-columns:minmax(0,1fr);padding-block:clamp(1.5rem,3vw,2.5rem)}
.home-highlight__media-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(16rem,1fr);align-items:center;gap:clamp(2rem,4vw,5rem);min-height:100%;padding-inline:clamp(1.25rem,2.5vw,2.5rem);background:transparent}
.home-highlight__media-frame{position:relative;width:100%;aspect-ratio:16/9;background:#181818}.home-highlight__media-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.home-highlight__media-copy{display:flex;flex-direction:column;align-items:flex-start}
.home-highlight__media-card h2{max-width:12ch;margin-bottom:1.25rem;font-size:clamp(2rem,4vw,4rem)}
.home-highlight__media-card p:not(.eyebrow){max-width:36rem;margin-bottom:0;font-family:var(--interface);font-size:clamp(1.098rem,1.673vw,1.359rem);font-weight:550;line-height:1.55}
.home-highlight__media-card .button-link{margin-top:2rem}
@media(max-width:900px){.home-highlight__state--fallback{grid-template-columns:1fr}.home-highlight__slide--media{grid-template-columns:1fr}.home-highlight__media-card{grid-column:1/-1;grid-template-columns:1fr;min-height:0}.home-highlight__media-copy{min-width:0}}

.programme-showcase{margin-bottom:clamp(5rem,10vw,9rem)}
.programme-showcase__heading,.repertoire__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.programme-showcase__heading h2,.repertoire__heading h2{margin-bottom:0}
.programme-showcase__controls{display:flex;gap:.6rem}
.programme-showcase__controls button{display:grid;width:3rem;height:3rem;place-items:center;padding:0;border:1px solid var(--ink);border-radius:50%;color:var(--ink);background:transparent;font:inherit;line-height:0;cursor:pointer;transition:color .25s ease,background .25s ease,opacity .25s ease}
.programme-showcase__controls button:hover,.programme-showcase__controls button:focus-visible{color:var(--paper);background:var(--ink)}.programme-showcase__controls button:disabled{opacity:.3;cursor:default}.programme-showcase__controls button:disabled:hover{color:var(--ink);background:transparent}
.programme-showcase__track{display:flex;align-items:flex-start;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}.programme-showcase__track::-webkit-scrollbar{display:none}
.programme-card{display:grid;flex:0 0 100%;min-height:0;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:clamp(2rem,6vw,7rem);padding:clamp(2rem,5vw,5rem);border:1px solid var(--line);background:var(--soft-white);scroll-snap-align:center}
.programme-card--construction{min-height:clamp(28rem,42vw,38rem);grid-template-columns:1fr;align-items:center}.programme-construction{max-width:60rem}.programme-construction h2{max-width:22ch;margin-bottom:clamp(2rem,4vw,3rem);font-size:clamp(2.2rem,4.5vw,4.5rem)}.programme-construction__contact,.programme-construction__update{max-width:52rem;font-family:var(--interface);font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:550;line-height:1.65}.programme-construction__contact{margin-bottom:1.25rem}.programme-construction__contact .text-link{font-size:inherit}.copy-email-inline{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem .75rem;vertical-align:middle}.programme-construction__contact .copy-email,.programme-construction__contact .copy-email-fallback{font-size:inherit}.programme-construction__update{margin-bottom:0}
.programme-card__intro h3{max-width:14ch;margin-bottom:1.5rem;font-size:clamp(2rem,4vw,4rem)}.programme-card__description{max-width:34rem;font-size:1.2rem;line-height:1.65;white-space:pre-line}.programme-card__music{min-width:0}.programme-card__pieces{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.programme-card__pieces li{display:grid;grid-template-columns:minmax(8rem,.8fr) minmax(0,1.5fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);line-height:1.35}.programme-card__pieces span{font-family:var(--interface);font-size:.95rem;font-weight:600}.programme-card__pieces em{font-family:var(--body);font-size:1.08rem;font-style:italic}.programme-card__interval{margin:1.15rem 0;padding:.55rem 0;border-block:1px solid var(--line);color:var(--muted-text);font-family:var(--interface);font-size:.85rem;font-weight:700;letter-spacing:.14em;text-align:center;text-transform:uppercase}.programme-card__duration{display:flex;justify-content:space-between;gap:1rem;margin:1.5rem 0 0;font-family:var(--interface);font-size:1rem;font-weight:600}.programme-card__duration span{color:var(--muted-text);letter-spacing:.1em;text-transform:uppercase}
.programme-showcase__indicators{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-top:1.5rem}.programme-showcase__indicators button{width:.55rem;height:.55rem;padding:0;border:0;border-radius:999px;background:var(--ink);opacity:.35;cursor:pointer;transition:width .3s ease,opacity .3s ease}.programme-showcase__indicators button[aria-current="true"]{width:2rem;opacity:1}.programme-showcase__indicators button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.repertoire{margin-bottom:clamp(5rem,10vw,9rem)}.repertoire__heading{align-items:start}.repertoire__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 3rem;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.repertoire__list li{display:grid;grid-template-columns:minmax(8rem,.75fr) minmax(0,1.4fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);line-height:1.35}.repertoire__list span{font-family:var(--interface);font-size:.95rem;font-weight:600}.repertoire__list em{font-size:1.08rem;font-style:italic}
.bespoke-programme{display:block;padding-block:clamp(4rem,8vw,7rem);border-top:1px solid var(--line)}.bespoke-programme h2{max-width:none;margin-bottom:1.5rem}.bespoke-programme .prose{max-width:38rem;font-family:var(--interface);font-size:1.2rem}.bespoke-programme__actions{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:2rem}.bespoke-programme__contact-link{position:relative;display:inline-flex;align-items:center;gap:.55em;width:max-content;max-width:100%;padding-bottom:.35rem;font-family:var(--interface);font-size:clamp(1.2rem,2vw,1.6rem);font-weight:650;line-height:1.2;text-decoration:none}.bespoke-programme__contact-link::after{position:absolute;right:0;bottom:0;left:0;height:1px;background:currentColor;content:"";transform:scaleX(.16);transform-origin:left;transition:transform .35s cubic-bezier(.16,1,.3,1)}.bespoke-programme__contact-link .control-icon{transition:transform .35s cubic-bezier(.16,1,.3,1)}.bespoke-programme__contact-link:hover::after,.bespoke-programme__contact-link:focus-visible::after{transform:scaleX(1)}.bespoke-programme__contact-link:hover .control-icon,.bespoke-programme__contact-link:focus-visible .control-icon{transform:translateX(.25rem)}.bespoke-programme__contact-link:focus-visible{outline:2px solid var(--ink);outline-offset:.35rem}.bespoke-programme__actions .text-link{margin-top:0}
@media(max-width:900px){.programme-card{grid-template-columns:1fr}.repertoire__list{grid-template-columns:1fr}.bespoke-programme__actions{align-items:flex-start;flex-direction:column}}
@media(max-width:900px){.page-content--about{grid-template-columns:1fr;gap:clamp(3rem,8vw,6rem)}.about-musicians-panel{order:2}}
@media(max-width:650px){.programme-showcase__heading{align-items:start;flex-direction:column;gap:1.5rem}.programme-card{padding:2rem 1.25rem}.programme-card__pieces li,.repertoire__list li{grid-template-columns:1fr;gap:.25rem}.programme-card__pieces span,.repertoire__list span{font-size:.85rem}.programme-card__description,.programme-card__pieces em,.repertoire__list em{font-size:1.05rem}}
@media(min-width:901px){.event-feature{padding-block:clamp(2.25rem,4.5vw,4rem)}}
/* Typography roles: Manrope is reserved for navigation, metadata, and interface copy. */
.control-icon{display:block;width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.text-link{display:inline-flex;align-items:center;justify-content:center;gap:.45em;font-size:1.15rem}.button-link{display:inline-flex;align-items:center;justify-content:center;gap:.45em;font-size:1rem}
.past-events__controls button,.video-slider__controls button,.media-gallery__controls button,.gallery-lightbox__close{padding:0;line-height:0}
.gallery-lightbox__close .control-icon{width:1.35rem;height:1.35rem}
.site-nav a,.eyebrow,.text-link,.social-links small,.event-series,.button-link,.video-caption__composer,.site-footer p{font-family:var(--interface)}
.site-nav a{font-weight:650}
.eyebrow,.event-feature__when{font-weight:600}
.text-link,.social-links small,.event-series,.button-link,.video-caption__composer{font-weight:550}
.event-feature__when,.event-feature__venue,.event-card__venue{font-family:var(--interface)}
.event-feature__venue,.event-card__venue{font-weight:550}.event-card__venue{font-size:1.111rem}
.site-footer p{font-weight:500}
.page-hero__copy p:last-child,.section-panel__copy>p:not(.eyebrow),.article-header__excerpt{font-family:var(--interface);font-weight:550}
.news-heading>p{font-family:var(--interface);font-weight:550}
@media(max-width:650px){.menu-toggle,.menu-close{display:inline-flex;align-items:center;justify-content:center;font-family:var(--interface);font-weight:500;line-height:1}}
@media(max-width:650px){.menu-toggle,.menu-close{font-size:.795rem}}
@media(max-width:650px){.musician__bio h2{font-size:clamp(1.9rem,9vw,3rem)}}
@media(max-width:650px){.site-nav a{font-size:clamp(1.725rem,9.2vw,2.76rem)}}
@media(max-width:900px){.page-hero--about,.page-hero--news,.page-hero--musicians{height:auto;overflow:visible}.page-hero--about .page-hero__image,.page-hero--news .page-hero__image,.page-hero--musicians .page-hero__image{height:55vw}}
@media(max-width:650px){.page-hero{display:flex;min-height:0;flex-direction:column;overflow:hidden;background:var(--paper)}.page-hero__image{order:-1;width:100%;height:55vw;min-height:0;object-fit:cover}.page-hero__copy,.split-hero__panel,.section-panel__copy{position:relative;padding:2rem 1.5rem 2.25rem;background:var(--hero-tone);background:color-mix(in srgb,var(--hero-tone) 86%,transparent)}.page-hero__copy::before,.split-hero__panel::before,.section-panel__copy::before{position:absolute;right:0;bottom:100%;left:0;height:2rem;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--hero-tone) 86%,transparent) 100%);content:"";filter:blur(7px);opacity:.58;pointer-events:none}.page-hero__copy p:last-child{max-width:35rem;font-size:1.08rem;line-height:1.5}}
@media(min-width:901px){.page-hero__copy,.section-panel__copy{position:relative;z-index:1}.page-hero__copy::after{position:absolute;top:0;right:-3rem;bottom:0;width:6rem;background:linear-gradient(to right,color-mix(in srgb,var(--hero-tone) 72%,transparent) 0%,color-mix(in srgb,var(--hero-tone) 42%,transparent) 38%,transparent 100%);content:"";filter:blur(10px);opacity:.75;pointer-events:none}.split-hero__panel{position:relative;z-index:1}.split-hero__panel::before{position:absolute;top:0;bottom:0;left:-3rem;width:6rem;background:linear-gradient(to left,color-mix(in srgb,var(--hero-tone) 72%,transparent) 0%,color-mix(in srgb,var(--hero-tone) 42%,transparent) 38%,transparent 100%);content:"";filter:blur(10px);opacity:.75;pointer-events:none}.section-panel:not(.section-panel--reverse) .section-panel__copy::before{position:absolute;top:0;bottom:0;left:-3rem;width:6rem;background:linear-gradient(to left,color-mix(in srgb,var(--hero-tone) 72%,transparent) 0%,color-mix(in srgb,var(--hero-tone) 42%,transparent) 38%,transparent 100%);content:"";filter:blur(10px);opacity:.75;pointer-events:none}.section-panel--reverse .section-panel__copy::after{position:absolute;top:0;right:-3rem;bottom:0;width:6rem;background:linear-gradient(to right,color-mix(in srgb,var(--hero-tone) 72%,transparent) 0%,color-mix(in srgb,var(--hero-tone) 42%,transparent) 38%,transparent 100%);content:"";filter:blur(10px);opacity:.75;pointer-events:none}}
@media(prefers-reduced-motion:reduce){html,.video-track,.media-gallery__track,.past-events__track{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}.gallery-lightbox{transform:none}.site-nav{transition:none}}
.site-nav__panel,.site-nav__topbar{display:contents}.site-nav__home,.site-nav__social{display:none}
@media(max-width:650px){.site-nav{align-items:stretch;justify-content:flex-end;background:var(--ink)}.site-nav__panel{display:flex;width:100%;height:100%;min-height:0;flex-direction:column;padding:1rem 1.5rem 1.5rem;color:var(--paper);background:var(--ink)}.site-nav__topbar{display:flex;flex:0 0 3.75rem;align-items:flex-start;justify-content:flex-end;width:100%;border-bottom:1px solid rgba(245,242,234,.28)}.menu-close{width:auto;min-height:0;margin:0;padding:.25rem 0 .8rem;color:var(--paper);text-align:right}.menu-close:hover,.menu-close:focus-visible,.menu-close:active{color:var(--ink);background:var(--sand)}.site-nav ul{display:flex;width:100%;min-height:0;align-items:stretch;flex:0 0 auto;flex-direction:column;justify-content:flex-start;gap:0;margin-top:1.25rem;overflow:visible}.site-nav__home{display:list-item;border-top:1px solid rgba(245,242,234,.28)}.site-nav__home a{color:var(--sand);font-weight:700}.site-nav li{border-bottom:1px solid rgba(245,242,234,.18)}.site-nav li:first-child{border-top:0}.site-nav a{padding:.8rem .25rem;font-size:clamp(1.2rem,5.8vw,1.6rem);line-height:1.08}.site-nav a:focus-visible{outline:2px solid var(--sand);outline-offset:-2px}}
@media(max-width:650px) and (prefers-reduced-motion:reduce){.site-nav,.site-nav.is-open{transition:none}}
@media(max-width:650px){.site-nav__topbar{align-items:center;justify-content:space-between}.site-nav__social{display:flex;align-items:center;gap:.4rem}.site-nav .site-nav__social a{display:block;padding:0;font-size:0;line-height:1}.site-nav__social .social-icon{width:2.1rem;height:2.1rem;flex-basis:2.1rem}.site-nav__social a:hover .social-icon,.site-nav__social a:focus-visible .social-icon{color:var(--ink);background:var(--sand);transform:scale(1.06)}.site-nav__social a:focus-visible{outline:2px solid var(--sand);outline-offset:3px}.site-nav ul{flex:0 0 calc(90dvh - 6rem);height:calc(90dvh - 6rem);margin-top:1.25rem;justify-content:space-between}.site-nav a{padding:clamp(.3rem,1.2dvh,.8rem) .25rem}.site-nav__home a{padding-block:clamp(.3rem,1.2dvh,.8rem)}}
@media(max-width:650px){.site-nav ul{justify-content:flex-start}.site-nav li{display:flex;flex:1 1 0;min-height:0}.site-nav a{display:flex;width:100%;align-items:center;padding-block:0;font-size:clamp(1.25rem,6vw,1.65rem)}.site-nav__social .social-icon__paper{fill:var(--ink)}.site-nav__social a:hover .social-icon__paper,.site-nav__social a:focus-visible .social-icon__paper{fill:var(--paper)}}
@media(min-width:901px){.musician__bio{position:relative;z-index:2}.musician:not(.musician--reverse) .musician__bio::before{position:absolute;top:0;bottom:0;left:-3rem;width:6rem;background:linear-gradient(to left,color-mix(in srgb,var(--musician-tone) 72%,transparent) 0%,color-mix(in srgb,var(--musician-tone) 42%,transparent) 38%,transparent 100%);content:"";filter:blur(10px);opacity:.75;pointer-events:none}.musician--reverse .musician__bio::after{position:absolute;top:0;right:-3rem;bottom:0;width:6rem;background:linear-gradient(to right,color-mix(in srgb,var(--musician-tone) 72%,transparent) 0%,color-mix(in srgb,var(--musician-tone) 42%,transparent) 38%,transparent 100%);content:"";filter:blur(10px);opacity:.75;pointer-events:none}}
@media(max-width:650px){.musician__bio{position:relative;z-index:2}.musician__bio::before{position:absolute;right:0;bottom:100%;left:0;height:2rem;background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--musician-tone) 86%,transparent) 100%);content:"";filter:blur(7px);opacity:.58;pointer-events:none}}


.musician-bio-dialog__website{margin-top:1rem;max-width:100%;font-family:var(--interface);font-size:.95rem}.musician-bio-dialog__website span{min-width:0;overflow-wrap:anywhere}.musician-bio-dialog__website:focus-visible{outline:2px solid currentColor;outline-offset:4px}

/* Keep image elements in their existing grid/flex positions. */
.responsive-picture{display:contents}
.gallery-lightbox__nav{position:fixed;top:50%;display:grid;width:3rem;height:3rem;place-items:center;padding:0;border:1px solid var(--paper);border-radius:50%;color:var(--paper);background:rgba(20,20,18,.7);cursor:pointer;transform:translateY(-50%)}.gallery-lightbox__nav:hover,.gallery-lightbox__nav:focus-visible{color:var(--ink);background:var(--paper)}.gallery-lightbox__nav--previous{left:1rem}.gallery-lightbox__nav--next{right:1rem}.gallery-lightbox__nav .control-icon{width:1.35rem;height:1.35rem}.gallery-lightbox__status{position:fixed;bottom:1rem;left:50%;margin:0;color:var(--paper);font-size:.8rem;transform:translateX(-50%)}.gallery-lightbox__nav{border:0;border-radius:0;background:transparent;color:var(--paper);opacity:.7}.gallery-lightbox__nav:hover,.gallery-lightbox__nav:focus-visible{background:transparent;color:var(--paper);opacity:1}.media-gallery__note{margin:1.5rem 0 0;color:var(--muted);font-size:.9rem}.media-gallery__note .text-link{text-decoration:underline;text-underline-offset:.15em}.media-gallery__note{font-family:var(--body);font-size:1rem;line-height:1.6}.media-gallery__note .text-link{display:inline;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0;border:0;color:inherit;text-decoration:underline;text-underline-offset:.15em}.media-gallery__note{font-family:var(--interface);font-size:1rem;font-weight:550;line-height:1.5}.media-gallery__note .text-link{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}@media(max-width:650px){body.menu-navigating .site-nav{visibility:hidden!important;opacity:0!important;transform:translateX(100%)!important;transition:none!important}}
.musician-bio-dialog__email{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .65rem;margin-top:1rem}.musician-bio-dialog__email-link{margin-top:0}.musician-bio-dialog__copy-email{display:inline-grid;width:2rem;height:2rem;place-items:center;margin:0;padding:0;border:0;border-bottom:1px solid currentColor;color:inherit;background:transparent;cursor:pointer;transition:opacity .2s ease}.musician-bio-dialog__copy-email:hover,.musician-bio-dialog__copy-email:focus-visible{opacity:.68}.musician-bio-dialog__copy-email:focus-visible{outline:2px solid currentColor;outline-offset:.3rem}.musician-bio-dialog__copy-email .copy-email__icon{width:1rem;height:1rem}.musician-bio-dialog__copy-status{font-family:var(--interface);font-size:.8rem;font-weight:550}
.musician-bio-dialog__email{align-items:stretch}.musician-bio-dialog__email-link{align-self:stretch}.musician-bio-dialog__copy-email{align-self:stretch;width:2rem;height:auto;min-height:0;padding:0 .15rem .18rem;display:inline-flex;align-items:center;justify-content:center}.musician-bio-dialog__copy-status{align-self:center}.contact-email-actions{display:inline-flex;align-items:stretch;flex-wrap:wrap;gap:.5rem .65rem;vertical-align:middle}.contact-email-link{align-self:stretch;margin-top:0;max-width:100%;font-family:var(--interface);font-size:1.15rem;font-weight:550;line-height:1.5}.contact-email-link span{min-width:0;overflow-wrap:anywhere}.contact-email-copy{display:inline-flex;align-self:stretch;width:2rem;height:auto;min-height:0;align-items:center;justify-content:center;margin:0;padding:0 .15rem .18rem;border:0;border-bottom:1px solid currentColor;color:inherit;background:transparent;cursor:pointer;transition:opacity .2s ease}.contact-email-copy:hover,.contact-email-copy:focus-visible{opacity:.68}.contact-email-copy:focus-visible{outline:2px solid currentColor;outline-offset:.3rem}.contact-email-copy .copy-email__icon{width:1rem;height:1rem}.contact-email-status{align-self:center;min-width:4.5rem;font-family:var(--interface);font-size:.889rem;font-weight:550}.programme-construction__contact .contact-email-link{font-size:inherit}.programme-construction__contact .contact-email-actions{gap:.4rem .75rem}