:root{--butter:#fff0b8;--paper:#fffdf6;--plum:#482432;--wine:#622d3e;--pink:#edc1cb;--muted:#755a62;--serif:'Libre Caslon Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--gutter:clamp(22px,4.2vw,80px);--header-height:78px;color-scheme:light;font-family:var(--sans);color:var(--plum);background:var(--butter);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 22px)}body{margin:0}body.has-dialog{overflow:hidden}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:400}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,a,summary,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{background:none;border:0}img{display:block;width:100%;height:auto}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{background:var(--plum);color:var(--butter)}[hidden]{display:none!important}em{font-family:Georgia,serif;font-size:.9em;font-weight:400;letter-spacing:-.065em}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;top:12px;left:12px;background:var(--plum);color:var(--butter);z-index:100;padding:16px}
.topbar{height:78px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;position:sticky;top:0;z-index:20;background:var(--butter);transition:box-shadow .2s}.topbar.is-scrolled{box-shadow:0 1px 0 #48243222}.descriptor{font-family:var(--serif);font-size:32px}.topbar nav{display:flex;gap:clamp(20px,3vw,52px);font-size:0.875rem;align-items:center}.topbar nav a{padding:10px 0;transition:opacity .2s}.menu-button{display:none}.opening{padding:22px var(--gutter) 0}.masthead h1{font-family:var(--serif);font-size:clamp(56px,10.6vw,190px);letter-spacing:-.045em;line-height:1.02;text-align:center;white-space:nowrap;margin-left:-.025em}.masthead-notes{display:flex;justify-content:space-between;font-size:0.875rem;margin:18px 0 25px}.opening-image{position:relative;border-radius:4px 4px 120px 4px;overflow:hidden}.opening-image img{height:clamp(420px,44vw,780px);object-fit:cover;object-position:50% 43%}.opening-image figcaption{position:absolute;right:28px;top:24px;color:#fff;font-size:0.75rem;text-shadow:0 1px 6px #000b;writing-mode:vertical-rl}.listen-button{position:absolute;bottom:32px;left:32px;padding:10px 27px 10px 10px;border-radius:99px;background:var(--butter);display:flex;align-items:center;gap:14px;min-height:60px;font-size:0.9375rem;transition:background .2s,transform .2s}.play-disc{display:grid;place-items:center;border:1px solid #48243255;border-radius:50%;width:42px;height:42px;padding-left:3px;font-size:0.75rem}.opening-caption{display:flex;justify-content:space-between;font-size:0.875rem;padding:25px 0}.opening-caption a{display:flex;gap:35px}.introduction{padding:90px var(--gutter) 112px;display:grid;grid-template-columns:1.35fr 1fr;gap:10vw;align-items:center}.introduction>p{font-family:var(--serif);font-size:clamp(34px,3.6vw,62px);line-height:1.1;letter-spacing:-.02em}.introduction>div{max-width:390px}.introduction>div>p{font-size:1.0625rem;line-height:1.75;margin-bottom:26px}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:0.875rem;padding:9px 0 8px;border-bottom:1px solid currentColor;line-height:1.5;transition:opacity .2s}.text-link span{font-size:0.8125rem}.eyebrow{font-size:0.8125rem;letter-spacing:.065em;text-transform:uppercase;line-height:1.5}
.calendar{padding:85px var(--gutter) 70px;color:var(--butter);background:var(--plum)}.calendar-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:50px}.calendar-heading .eyebrow{margin-bottom:15px}.calendar-heading h2{font-family:var(--serif);font-size:clamp(66px,8.5vw,130px);letter-spacing:-.03em;line-height:.95}.season-label{font-family:var(--serif);font-size:clamp(25px,3vw,48px);line-height:1.1}.next-performance{background:var(--butter);color:var(--plum);padding:26px 32px;display:grid;grid-template-columns:1fr 1.15fr 1.6fr 30px;align-items:center;gap:24px;border-radius:3px 3px 32px 3px;margin-bottom:52px;transition:background .2s}.next-label{font-size:0.8125rem}.next-performance time{font-family:var(--serif);font-size:30px;line-height:1.15}.next-work{font-family:var(--serif);font-size:35px;line-height:1.1}.next-work small{font-family:var(--sans);font-size:0.8125rem;display:block;margin-top:10px}.next-arrow{font-size:25px}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.calendar-controls select{background:var(--plum);border:0;border-bottom:1px solid #fff0b860;color:var(--butter);padding:13px 38px 13px 0;font-family:var(--serif);font-size:32px;max-width:calc(100% - 112px);cursor:pointer}.month-navigation{display:flex;gap:12px}.month-navigation button{border:1px solid #fff0b855;border-radius:50%;width:46px;height:46px;font-size:1.25rem;transition:background .2s}.month-navigation button:disabled{opacity:.25;cursor:default}.calendar-month summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:22px 0}.calendar-month summary::-webkit-details-marker{display:none}.calendar-month summary h3{font-family:var(--serif);font-size:32px}.month-count{font-size:0.8125rem}.month-toggle{width:14px;height:14px;position:relative}.month-toggle:before,.month-toggle:after{content:'';position:absolute;background:currentColor;width:14px;height:1px;top:7px;left:0}.month-toggle:after{transform:rotate(90deg)}.calendar-month[open] .month-toggle:after{transform:rotate(0)}.calendar.is-enhanced summary{display:none}.month-events{margin:0;padding:0;list-style:none}.calendar-event{display:grid;grid-template-columns:105px 1.6fr 1fr 85px;gap:25px;align-items:center;padding:31px 0;border-bottom:1px solid #fff0b828}.calendar-event:last-child{border-bottom:0}.event-date{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:8px}.event-day{font-family:var(--serif);font-size:49px;line-height:1}.event-weekday{font-size:0.75rem}.event-work h4{font-family:var(--serif);font-size:clamp(28px,3vw,44px);letter-spacing:-.015em;line-height:1.1;margin-bottom:9px}.event-work p{font-size:0.8125rem;color:#e2c7c7;line-height:1.6}.event-premiere{display:inline-block;margin-top:9px;font-size:0.75rem;color:var(--butter);font-style:italic}.event-venue{font-size:0.875rem;line-height:1.65}.event-venue>span{display:block;font-size:0.75rem;color:#e2c7c7}.event-ticket{font-size:0.875rem;display:flex;justify-content:space-between;align-items:center;padding:14px 0}.calendar-note{font-size:0.75rem;margin-top:26px;color:#e2c7c7;line-height:1.65}.calendar-note a{text-decoration:underline;text-underline-offset:3px}.calendar-event.is-past{opacity:1;color:#e2c7c7}.past-label{display:block;font-size:0.75rem;margin-top:4px}.calendar-event.is-past .event-ticket{font-size:0.75rem}
.recordings{background:var(--paper);padding:105px var(--gutter) 100px}.media-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:35px;margin-bottom:50px}.media-heading .eyebrow{margin-top:14px}.media-heading h2{font-family:var(--serif);font-size:clamp(68px,7.5vw,116px);letter-spacing:-.025em;line-height:1.05;width:66%}.recital-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:7vw;align-items:center}.recital-photo>a{position:relative;display:block;overflow:hidden;border-radius:4px 80px 4px 4px}.recital-photo img{aspect-ratio:1.5;object-fit:cover;transition:transform .6s}.recital-photo figcaption{font-size:0.75rem;margin-top:12px;color:var(--muted);line-height:1.5}.recital-play{position:absolute;left:24px;bottom:24px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--butter);font-size:0.9375rem;padding-left:3px}.recital-copy h3{font-family:var(--serif);font-size:clamp(45px,4.8vw,76px);line-height:1.05;letter-spacing:-.02em;margin:20px 0}.recital-copy>p:not(.eyebrow){font-size:1rem;line-height:1.8;margin-bottom:25px}.recording-index{display:grid;grid-template-columns:1fr 1.55fr;gap:8vw;margin-top:95px;padding-top:50px;border-top:1px solid #48243230}.recording-index h3{font-family:var(--serif);font-size:clamp(32px,3.5vw,54px);line-height:1.06;letter-spacing:-.015em;margin:17px 0}.recording-index p:not(.eyebrow){font-size:0.875rem;line-height:1.75}.recording-index .text-link{margin-top:22px}.small-play{font-size:0.625rem!important}.aria-feature .text-link{gap:12px}.aria-feature .text-link>span:last-child{margin-left:18px}.album-feature{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:32px;align-items:center}.album-image{box-shadow:0 10px 24px #48243215;transform:rotate(-3deg);transition:transform .3s}
.biography{padding:100px var(--gutter) 110px;background:var(--pink);display:grid;grid-template-columns:1.05fr 1fr;gap:10vw;align-items:start}.bio-portrait>.eyebrow{margin:8px 0 35px}.bio-photo{margin-top:80px}.bio-photo img{aspect-ratio:.83;object-fit:cover;object-position:44% 50%;border-radius:190px 190px 4px 4px}.bio-photo figcaption{margin-top:15px;font-size:0.75rem}.bio-text h2{font-family:var(--serif);font-size:clamp(64px,6.4vw,104px);line-height:1.03;letter-spacing:-.035em;margin-bottom:40px}.bio-text .bio-lead{font-family:var(--serif);font-size:32px;line-height:1.15;margin-bottom:26px}.bio-text>p:not(.bio-lead){font-size:1rem;line-height:1.85;max-width:520px;margin-bottom:20px}.bio-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:26px}.bio-links .text-link{gap:14px}
.contact{background:var(--butter);padding:100px var(--gutter) 85px;display:grid;grid-template-columns:1fr 1.1fr;gap:8vw}.contact-heading .eyebrow{margin-bottom:30px}.contact-heading h2{font-family:var(--serif);font-size:clamp(64px,7vw,110px);letter-spacing:-.03em;line-height:1.06}.contact-content{padding-top:6px;min-width:0}.management h3{font-family:var(--serif);font-size:clamp(28px,3vw,42px);line-height:1.08;margin:20px 0}.management>p:not(.eyebrow){font-size:0.9375rem;margin-bottom:18px}.email{display:block;font-size:clamp(0.875rem,1.3vw,1.1875rem);line-height:1.75;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}.phone{display:inline-block;margin-top:16px;font-size:0.9375rem}.press{margin-top:54px}.press>.eyebrow{margin-bottom:15px}.press>a{display:flex;justify-content:space-between;gap:18px;font-size:1rem;padding:17px 0;border-bottom:1px solid #48243235}.press>a span{font-size:0.75rem;white-space:nowrap}.photo-credit{font-size:0.75rem;margin-top:20px;line-height:1.75}.footer{padding:55px var(--gutter) 28px;background:var(--plum);color:var(--butter)}.footer-name{display:block;font-family:var(--serif);font-size:clamp(44px,10.4vw,170px);letter-spacing:-.04em;line-height:1.1;white-space:nowrap;text-align:center}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:0.75rem;padding-top:48px;line-height:1.5}.footer-bottom>a{font-size:0.875rem}
.performance-dialog{border:0;background:var(--plum);color:var(--butter);padding:28px;max-width:1000px;width:calc(100% - 36px);max-height:calc(100dvh - 40px);overflow:auto}.performance-dialog::backdrop{background:#1f1019d9;backdrop-filter:blur(7px)}.dialog-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:23px}.dialog-header p{font-size:0.75rem;margin-bottom:8px}.dialog-header h2,.dialog-header .dialog-title{font-family:var(--serif);font-size:34px}.close-performance{font-size:0.875rem;padding:10px 0;white-space:nowrap}.close-performance span{font-size:1.4375rem;margin-left:12px}.player-container{aspect-ratio:16/9;background:#24131a}.player-container iframe{width:100%;height:100%;border:0}.player-fallback{font-size:0.75rem;line-height:1.7;margin-top:16px}.player-fallback a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1800px){.opening,.introduction,.calendar,.recordings,.biography,.contact,.footer,.topbar{padding-left:max(var(--gutter),calc((100vw - 1660px)/2));padding-right:max(var(--gutter),calc((100vw - 1660px)/2))}}
@media(max-width:1100px){.next-performance{grid-template-columns:1fr 1.5fr 25px;gap:18px}.next-label{grid-column:1/-1}.next-work{font-size:32px}.calendar-event{grid-template-columns:94px 1.6fr 1fr 78px;gap:18px}.event-work p{max-width:260px}.recital-layout{gap:5vw}.recording-index{gap:5vw}.album-feature{gap:22px}.biography{gap:7vw}.bio-photo img{border-radius:150px 150px 4px 4px}}
@media(max-width:900px){:root{--header-height:68px}.topbar{height:68px}.descriptor{font-size:28px}.menu-button{display:flex;gap:14px;align-items:center;min-height:44px;font-size:0.875rem;padding:10px 0}.menu-mark{width:22px;height:12px;position:relative}.menu-mark:before,.menu-mark:after{position:absolute;content:'';width:22px;height:1px;background:currentColor;left:0;transition:transform .2s;top:2px}.menu-mark:after{top:10px}.menu-button[aria-expanded=true] .menu-mark:before{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] .menu-mark:after{transform:translateY(-4px) rotate(-45deg)}.topbar nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--butter);padding:25px var(--gutter) 36px;border-bottom:1px solid #48243230}.topbar nav.is-open{display:grid;gap:7px}.topbar nav a{font-family:var(--serif);font-size:30px;padding:7px 0}.opening{padding-top:20px}.masthead h1{font-size:10.5vw}.opening-image img{height:510px}.opening-image{border-bottom-right-radius:90px}.introduction{gap:7vw;padding-top:65px;padding-bottom:75px}.introduction>div>p{font-size:1rem}.calendar{padding-top:64px;padding-bottom:52px}.calendar-event{grid-template-columns:84px 1fr 80px;gap:15px}.event-venue{grid-column:2;grid-row:auto;font-size:0.8125rem;margin-top:-5px}.event-venue>span{display:inline;margin-left:8px}.event-work{grid-column:2}.event-date{grid-row:span 2;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.event-ticket{grid-column:3;grid-row:span 2}.event-work h4{font-size:34px}.recordings{padding-top:70px;padding-bottom:70px}.media-heading h2{width:65%;font-size:76px}.recital-copy .eyebrow{font-size:0.75rem}.recital-copy h3{font-size:46px}.recital-copy>p:not(.eyebrow){font-size:0.875rem}.recording-index{margin-top:65px;grid-template-columns:1fr 1.4fr;gap:38px}.album-feature{grid-template-columns:110px 1fr}.recording-index h3{font-size:34px}.album-feature .eyebrow{font-size:0.75rem}.album-feature .text-link{font-size:0.8125rem;gap:12px}.biography{padding-top:70px;padding-bottom:75px;gap:6vw}.bio-text h2{font-size:68px}.bio-text .bio-lead{font-size:27px}.bio-text>p:not(.bio-lead){font-size:0.9375rem;line-height:1.8}.bio-photo{margin-top:110px}.bio-photo img{aspect-ratio:.65;object-position:43% 50%;border-radius:130px 130px 4px 4px}.contact{padding-top:70px;padding-bottom:70px;gap:6vw}.contact-heading h2{font-size:73px}.management h3{font-size:32px}.footer-bottom{flex-wrap:wrap}}
@media(max-width:600px){.opening{padding-top:18px}.masthead h1{white-space:normal;font-size:20.7vw;text-align:left;line-height:.94;letter-spacing:-.035em}.masthead h1 span{display:block;font-size:.84em;text-align:right;margin:5px 0 0}.masthead-notes{font-size:0.75rem;margin:23px 0 18px}.opening-image{border-radius:3px 3px 75px 3px}.opening-image img{height:450px;object-position:43% 50%}.opening-image figcaption{right:15px;top:16px;font-size:0.75rem}.listen-button{left:18px;bottom:20px;min-height:52px;padding:8px 20px 8px 8px;gap:10px;font-size:0.875rem}.play-disc{width:36px;height:36px;font-size:0.625rem}.opening-caption{padding:20px 0;font-size:0.75rem;gap:18px;align-items:flex-start}.opening-caption>p{max-width:100px;line-height:1.6}.opening-caption a{max-width:160px;gap:16px;line-height:1.6}.introduction{padding-top:49px;padding-bottom:63px;display:block}.introduction>p{font-size:37px;line-height:1.12;margin-bottom:30px}.introduction>div{max-width:360px}.introduction>div>p{font-size:1rem;line-height:1.75;margin-bottom:17px}.calendar{padding-top:52px;padding-bottom:48px}.calendar-heading{margin-bottom:30px;gap:15px}.calendar-heading h2{font-size:66px}.calendar-heading .eyebrow{font-size:0.75rem;margin-bottom:16px}.season-label{font-size:1.4375rem;padding-bottom:4px;white-space:nowrap}.next-performance{padding:22px;grid-template-columns:1fr 24px;gap:14px;margin-bottom:32px;border-bottom-right-radius:26px}.next-label{font-size:0.75rem;grid-column:1}.next-performance time{grid-column:1;font-size:26px}.next-work{grid-column:1;font-size:34px;margin-top:1px}.next-work small{font-size:0.75rem;margin-top:8px;line-height:1.5}.next-arrow{grid-column:2;grid-row:2/4}.calendar-controls select{font-size:25px;padding-right:13px;max-width:calc(100% - 98px)}.month-navigation{gap:8px}.month-navigation button{width:40px;height:40px;font-size:1.125rem}.calendar-event{grid-template-columns:52px 1fr 58px;column-gap:13px;row-gap:10px;padding:27px 0}.event-date{grid-column:1;grid-row:1/4}.event-day{font-size:40px}.event-weekday{font-size:0.75rem}.event-work{grid-column:2/4;grid-row:1}.event-work h4{font-size:31px;margin-bottom:7px}.event-work p{font-size:0.75rem;line-height:1.65}.event-venue{grid-column:2;grid-row:2;font-size:0.75rem;line-height:1.6;margin-top:0}.event-venue>span{display:none}.event-ticket{grid-column:3;grid-row:2;padding:8px 0;font-size:0.75rem;gap:7px}.event-premiere{font-size:0.75rem;margin-top:7px}.calendar-note{font-size:0.75rem;margin-top:24px}.recordings{padding-top:59px;padding-bottom:61px}.media-heading{display:block;margin-bottom:35px}.media-heading .eyebrow{margin:0 0 23px}.media-heading h2{font-size:69px;width:auto;margin-left:17%}.recital-layout{display:flex;flex-direction:column;align-items:stretch;gap:28px}.recital-photo>a{border-top-right-radius:55px}.recital-photo img{aspect-ratio:1.25}.recital-photo figcaption{font-size:0.75rem}.recital-play{width:48px;height:48px;left:16px;bottom:16px;font-size:0.75rem}.recital-copy{padding-left:17%}.recital-copy h3{font-size:48px;margin:14px 0}.recital-copy>p:not(.eyebrow){font-size:0.9375rem;margin-bottom:16px}.recording-index{grid-template-columns:1fr;margin-top:45px;padding-top:33px;gap:40px}.recording-index h3{font-size:37px}.aria-feature{padding-left:17%}.recording-index .text-link{margin-top:15px}.album-feature{grid-template-columns:36% 1fr;gap:25px;padding-top:35px;border-top:1px solid #48243230}.album-feature h3{font-size:35px}.album-feature .text-link{font-size:0.8125rem;gap:12px}.album-feature p:not(.eyebrow){font-size:0.8125rem}.biography{padding-top:58px;padding-bottom:61px;display:flex;flex-direction:column;gap:40px}.bio-portrait{width:100%}.bio-portrait>.eyebrow{margin:0 0 25px}.bio-photo{margin:0;width:83%}.bio-photo img{aspect-ratio:.86;border-radius:160px 160px 3px 3px;object-position:40% 50%}.bio-photo figcaption{font-size:0.75rem;margin-top:12px}.bio-text h2{font-size:74px;margin-bottom:28px}.bio-text .bio-lead{font-size:31px;margin-bottom:25px}.bio-text>p:not(.bio-lead){font-size:1rem;line-height:1.85}.bio-links{gap:17px;margin-top:18px}.contact{padding-top:55px;padding-bottom:55px;display:block}.contact-heading .eyebrow{margin-bottom:25px}.contact-heading h2{font-size:78px}.contact-content{margin-top:40px}.management h3{font-size:35px;max-width:300px}.email{font-size:0.9375rem}.press{margin-top:38px}.footer{padding-top:35px;padding-bottom:25px}.footer-name{font-size:10.4vw}.footer-bottom{padding-top:30px;display:grid;grid-template-columns:1fr auto;font-size:0.75rem;gap:12px}.footer-bottom>span:nth-child(2){grid-column:1;grid-row:2}.footer-bottom>a{grid-column:2;grid-row:1/3;align-self:center;font-size:0.75rem}.performance-dialog{padding:20px;width:calc(100% - 22px)}.dialog-header{gap:14px}.dialog-header h2,.dialog-header .dialog-title{font-size:26px}.dialog-header p{font-size:0.75rem}.close-performance{font-size:0.75rem}.close-performance span{margin-left:4px;font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:900px){html:not(.js) .topbar{height:auto;position:relative;align-items:flex-start;flex-direction:column;padding-top:16px;gap:12px}html:not(.js) .menu-button{display:none}html:not(.js) .topbar nav{display:flex;position:static;flex-wrap:wrap;gap:4px 20px;padding:0 0 15px;border:0}html:not(.js) .topbar nav a{font:14px var(--sans)}}

/* Respect larger reading text and preserve the image’s square artwork. */
.album-image{display:block;aspect-ratio:1;overflow:hidden}
.album-image img{width:100%;height:100%;object-fit:cover}
.calendar-event{grid-template-columns:105px minmax(0,1.6fr) minmax(0,1fr) max-content}
.event-work,.event-venue,.recital-copy,.album-feature>div{min-width:0;overflow-wrap:anywhere}
.text-link{max-width:100%;flex-wrap:wrap;row-gap:6px}
.footer-bottom{flex-wrap:wrap}
@media(max-width:1100px){.calendar-event{grid-template-columns:94px minmax(0,1.6fr) minmax(0,1fr) max-content}}
@media(max-width:900px){.topbar nav{max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain}.calendar-event{grid-template-columns:84px minmax(0,1fr) max-content}}
@media(max-width:600px){.calendar-event{grid-template-columns:52px minmax(0,1fr) max-content}.opening-caption{flex-wrap:wrap}.opening-caption>p,.opening-caption a{max-width:100%}.opening-caption a{justify-content:space-between}.next-performance{grid-template-columns:minmax(0,1fr) 24px}.next-work small{overflow-wrap:anywhere}.album-feature{grid-template-columns:minmax(0,1fr);gap:24px}.album-image{width:55%;max-width:220px}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start}.press>a{flex-wrap:wrap;row-gap:8px}.recording-index .text-link{gap:12px}.aria-feature .text-link>span:last-child{margin-left:0}}

@media(max-width:600px){
.calendar-heading{flex-wrap:wrap;align-items:flex-start;row-gap:22px}
.calendar-controls{flex-wrap:wrap;gap:12px}
.calendar-controls select{flex:1 1 12rem;max-width:100%;min-width:0}
.month-navigation{margin-left:auto}
.event-date{align-self:start}
.event-venue{grid-column:2/4;grid-row:2}
.event-ticket{grid-column:2/4;grid-row:3;justify-self:start;gap:14px}
.album-feature{display:flex;flex-wrap:wrap;gap:24px}
.album-image{width:7rem;max-width:220px;flex:0 1 7rem}
.album-feature>div{flex:1 1 9rem}
}

.event-ticket{gap:14px}.month-navigation button{display:grid;place-items:center;padding:0;line-height:1}

/* Language choice remains visible beside the mobile menu. */
.topbar{gap:clamp(12px,2vw,28px)}
.topbar nav{margin-left:auto;gap:clamp(16px,2vw,32px)}
.language-control{flex-shrink:0}
.language-control select{background:transparent;border:0;border-bottom:1px solid #48243255;font:0.8125rem var(--sans);padding:10px 16px 10px 0;max-width:8rem;cursor:pointer}
.text-link [data-i18n],.press>a [data-i18n],.close-performance [data-i18n]{font-size:inherit;white-space:normal;margin-left:0}
.media-heading h2,.bio-text h2,.contact-heading h2{overflow-wrap:normal;hyphens:auto}
.eyebrow{overflow-wrap:anywhere;hyphens:auto}
.topbar nav{font-size:1rem}
.menu-button{font-size:1rem}
.event-work p,.event-venue,.event-ticket,.calendar-event.is-past .event-ticket{font-size:0.9375rem}
.event-weekday,.event-premiere,.past-label,.event-venue>span,.calendar-note,.next-label,.next-work small,.month-count{font-size:0.875rem}
.event-date{grid-template-columns:58px minmax(0,1fr)}
.event-weekday{overflow-wrap:anywhere}
.media-heading h2{width:66%;font-size:clamp(58px,6.7vw,104px)}
.bio-text h2{font-size:clamp(52px,5.3vw,84px);text-wrap:balance}
.contact-heading h2{font-size:clamp(52px,5.7vw,88px);text-wrap:balance}
@media(max-width:900px){.descriptor{margin-right:auto}.language-control{order:1}.menu-button{order:2}.topbar nav{order:3;margin-left:0}}
@media(max-width:600px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;row-gap:8px}.language-control select{font-size:0.75rem;max-width:7rem}.topbar{column-gap:12px}.menu-button{gap:8px}.language-control{margin-left:auto}.descriptor{margin-right:0}.media-heading h2{margin-left:0;font-size:clamp(50px,15vw,69px)}.bio-text h2{font-size:clamp(52px,16vw,74px)}.contact-heading h2{font-size:clamp(52px,16vw,78px)}}
.language-control select{font-size:max(16px,1rem);min-height:44px}
@media(min-width:901px){.topbar{height:auto;min-height:78px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.topbar nav{flex-wrap:wrap}}
@media(max-width:600px){.media-heading h2{width:100%;font-size:clamp(44px,12.5vw,62px)}.bio-text h2,.contact-heading h2{font-size:clamp(44px,12.5vw,62px)}.event-ticket{min-height:44px}.calendar-heading{margin-bottom:32px}.next-performance{margin-bottom:32px}}

/* Hover feedback belongs to mouse and trackpad input. */
@media (hover: hover) and (pointer: fine){
a.text-link:hover,.opening-caption a:hover,.topbar nav a:hover{opacity:.65}
.listen-button:hover{background:var(--paper);transform:translateY(-3px)}
.next-performance:hover{background:var(--paper)}
.month-navigation button:hover:not(:disabled){background:#fff0b822}
.event-ticket:hover{text-decoration:underline;text-underline-offset:5px}
.recital-photo a:hover img{transform:scale(1.025)}
.album-image:hover{transform:rotate(0deg)}
.press>a:hover{opacity:.65}
}

/* Pointer clicks return to a neutral appearance; keyboard focus stays visible. */
html[data-input-mode="pointer"] :is(a,button,select,summary,[tabindex]):focus{outline:none}
button:active:not(:disabled){opacity:.75}

/* Short introduction and selected houses. */
.introduction{display:block;padding-top:60px;padding-bottom:48px}
.introduction>p{max-width:800px;font-size:clamp(28px,2.6vw,40px);line-height:1.3;letter-spacing:-.01em;margin-bottom:20px}
.engagements{padding:0 var(--gutter) 72px}
.engagements h2{margin-bottom:30px}
.engagement-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 6vw}
.engagement-list h3{font-family:var(--serif);font-size:32px;line-height:1.2;margin-bottom:10px}
.engagement-list h3 small{font-size:.75em}
.engagement-list p{font-size:1rem;line-height:1.7}
@media(min-width:1800px){.engagements{padding-left:max(var(--gutter),calc((100vw - 1660px)/2));padding-right:max(var(--gutter),calc((100vw - 1660px)/2))}}
@media(max-width:600px){.introduction{padding-top:42px;padding-bottom:36px}.engagements{padding-bottom:52px}.engagement-list{grid-template-columns:minmax(0,1fr);gap:28px}.engagement-list h3{font-size:30px}}

/* Keep control shapes and reading order stable as text grows. */
.play-disc{flex-shrink:0}
.listen-button{text-align:left;max-width:calc(100% - 64px)}
@media(min-width:901px){.language-control{margin-left:auto}.topbar nav{margin-left:0}}
@media(max-width:900px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}}
@media(max-width:600px){
.listen-button{max-width:calc(100% - 48px)}
.dialog-header{flex-direction:column;gap:16px}
.dialog-header>div{min-width:0;overflow-wrap:anywhere}
.close-performance{order:-1;align-self:flex-end;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.close-performance span{margin-left:0}
.engagement-list p{font-size:1rem}
}

/* Long translated words must stay inside narrow reading columns. */
.bio-text{min-width:0;max-width:100%;overflow-wrap:anywhere;hyphens:auto}
@media(max-width:600px){
.bio-text{width:100%}
.calendar-event{grid-template-columns:52px minmax(0,1fr)}
.event-work,.event-venue,.event-ticket{grid-column:2/-1}
.event-ticket{max-width:100%;min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}
}

/* Recordings use the same simple text treatment. */
.recording-index{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:7vw;margin-top:0;padding-top:0;border:0;align-items:start}
.performance-list{display:grid;gap:44px;min-width:0}
.aria-feature{min-width:0;padding-left:0;overflow-wrap:anywhere}
.recording-index h3{font-size:clamp(30px,3vw,44px);line-height:1.15;margin:12px 0}
.recording-index .text-link{margin-top:14px}
.recording-composer{color:var(--muted)}
.album-feature{grid-template-columns:minmax(100px,38%) minmax(0,1fr);gap:24px}
.album-image{transform:none;box-shadow:none}
@media(max-width:900px){.recording-index{grid-template-columns:minmax(0,1fr);gap:48px}.album-feature{grid-template-columns:140px minmax(0,1fr);max-width:650px}}
@media(max-width:600px){.album-feature{padding-top:0;border:0}.performance-list{gap:36px}}

/* Keep mobile text sizing predictable without disabling browser zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.calendar-programme,.calendar-upcoming,.calendar-month,.next-performance>*{min-width:0}
.next-work{overflow-wrap:anywhere}
@media(max-width:600px){
  .calendar-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
  .calendar-controls select{width:100%;max-width:100%;min-width:0;font-size:max(25px,1.25rem)}
  .month-navigation{justify-self:end;margin-left:0}
  .month-navigation button{width:44px;height:44px}
}


/* Visual polish: light tilt on album title; SVG month arrows optically centered. */
.album-feature h3{
  display:inline-block;
  transform:rotate(-3deg);
  transform-origin:left center;
}
.month-navigation button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:0;
  font-size:0;
  color:inherit;
}
.month-navigation button svg{
  display:block;
  width:16px;
  height:16px;
  flex-shrink:0;
}
@media(max-width:600px){
  .month-navigation button svg{width:15px;height:15px}
}


/* Awards inside biography: butter slip on pink, year-forward like the calendar. */
.awards{
  margin-top:36px;
  padding:22px 24px 24px;
  background:var(--butter);
  color:var(--plum);
  border-radius:3px 3px 28px 3px;
  max-width:34rem;
}
.awards .eyebrow{margin:0 0 12px;color:var(--plum)}
.awards h3{
  font-family:var(--serif);
  font-size:clamp(28px,3.2vw,40px);
  line-height:1.08;
  letter-spacing:-.015em;
  margin:0 0 22px;
}
.awards-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.awards-list li{
  display:grid;
  grid-template-columns:4.25rem minmax(0,1fr);
  column-gap:18px;
  align-items:baseline;
  padding:0;
  border:0;
}
.award-year{
  display:block;
  font-family:var(--serif);
  font-size:1.7rem;
  line-height:1;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
}
.award-name{
  margin:0;
  font-size:0.9375rem;
  line-height:1.5;
  overflow-wrap:anywhere;
}
@media(max-width:600px){
  .awards{margin-top:34px;padding:22px 20px 24px;border-bottom-right-radius:28px;max-width:none}
  .awards h3{font-size:32px;margin-bottom:18px}
  .awards-list li{grid-template-columns:3.6rem minmax(0,1fr);column-gap:14px}
  .award-year{font-size:1.45rem}
  .award-name{font-size:0.875rem;line-height:1.55}
}

.debut-still{
  margin:28px 0 0;
  max-width:34rem;
}
.debut-still img{
  width:100%;
  height:auto;
  display:block;
  border-radius:3px 3px 28px 3px;
}
.debut-still figcaption{
  margin-top:12px;
  font-size:0.75rem;
  color:var(--muted);
  line-height:1.5;
  display:grid;
  gap:2px;
}
@media(max-width:600px){
  .debut-still{max-width:none}
}

/* Reel: quiet vertical frame, no widget chrome. */
.reel-feature{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(180px,240px);
  gap:40px 56px;
  align-items:start;
  margin-top:56px;
  padding-top:0;
  border-top:0;
}
.reel-copy .eyebrow{margin:0 0 12px}
.reel-copy .recording-composer{
  margin:0 0 6px;
  font-size:0.8125rem;
  color:var(--muted);
}
.reel-copy h3{
  font-family:var(--serif);
  font-size:clamp(32px,3.4vw,48px);
  line-height:1.08;
  letter-spacing:-.015em;
  margin:0 0 14px;
}
.reel-copy h3 i{font-style:italic}
.reel-credit{
  margin:0;
  font-size:0.875rem;
  line-height:1.65;
  max-width:34ch;
  color:var(--plum);
}
.reel-copy .text-link{margin-top:20px}
.reel-frame{
  position:relative;
  width:100%;
  max-width:240px;
  aspect-ratio:9 / 16;
  border-radius:4px 56px 4px 4px;
  overflow:hidden;
  background:var(--plum);
  justify-self:end;
  /* no shadow, no tilt: same media language as recital crop */
}
.reel-embed{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
@media(max-width:900px){
  .reel-feature{
    grid-template-columns:minmax(0,1fr);
    gap:24px;
    margin-top:48px;
  }
  .reel-frame{
    justify-self:start;
    max-width:220px;
    border-radius:4px 44px 4px 4px;
  }
}
@media(max-width:600px){
  .reel-feature{margin-top:36px}
  .reel-copy h3{font-size:clamp(30px,8.5vw,40px);margin-bottom:12px}
  .reel-credit{font-size:0.8125rem;max-width:none}
  .reel-frame{max-width:200px;border-radius:3px 36px 3px 3px}
}
