:root{color-scheme:light;--paper:#f7f4ed;--panel:#fffdf8;--ink:#203d36;--muted:#59665d;--gold:#80632f;--line:#d9d7ca;--glass:rgba(247,244,237,.86);--soft:#eeeadf;--accent:#203d36;--accent-text:#fffdf8;--shadow:0 16px 48px #203d3615}
:root[data-theme=dark]{color-scheme:dark;--paper:#15251f;--panel:#1d3028;--ink:#eeeade;--muted:#b9c5b9;--gold:#d4b878;--line:#405047;--glass:rgba(21,37,31,.88);--soft:#263a30;--accent:#dec98c;--accent-text:#17291f;--shadow:0 16px 48px #0004}
@media(prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;--paper:#15251f;--panel:#1d3028;--ink:#eeeade;--muted:#b9c5b9;--gold:#d4b878;--line:#405047;--glass:rgba(21,37,31,.88);--soft:#263a30;--accent:#dec98c;--accent-text:#17291f;--shadow:0 16px 48px #0004}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:max(1.181103rem,1rem);line-height:1.6;min-width:280px}body.modal-open{overflow:hidden}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--gold)}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}svg{display:block}button svg{width:21px;height:21px}img{max-width:100%}[hidden]{display:none!important}.wrap{width:min(1100px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;top:-120px;left:16px;z-index:100;padding:10px 18px;background:var(--panel);border:1px solid var(--line)}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.site-header{position:sticky;top:0;z-index:20;background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:10px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.15;flex-shrink:1}.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:max(1.181103rem,1.22rem)}.brand-role{font-size:max(1.181103rem,.63rem);letter-spacing:.23em;text-transform:uppercase;color:var(--gold);margin-top:5px}.header-tools{display:flex;align-items:center;gap:9px;flex-shrink:0}.language-switch{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:24px}.language-switch a{width:43px;height:36px;display:grid;place-items:center;border-radius:20px}.language-switch a[aria-current=true]{background:var(--soft);box-shadow:inset 0 0 0 1px var(--line)}.language-switch img{width:28px;height:19px;border-radius:2px;box-shadow:0 0 0 1px #0002}.icon-button{width:43px;height:43px;display:grid;place-items:center;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:50%}.icon-button:hover{background:var(--soft)}.draft-note{font-size:max(1.181103rem,.73rem);color:var(--muted);border-bottom:1px solid var(--line);padding-block:8px;display:flex;gap:8px;align-items:center}.draft-note:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0}main{min-height:calc(100vh - 190px);padding-bottom:105px}.eyebrow{display:block;text-transform:uppercase;font-weight:600;letter-spacing:.16em;font-size:max(1.181103rem,.68rem);color:var(--gold);margin-bottom:9px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.18;margin:0 0 13px}h1{font-size:max(1.181103rem,clamp(1.9rem,2.7vw,2.75rem));letter-spacing:-.025em}h2{font-size:max(1.181103rem,1.65rem);letter-spacing:-.015em}h3{font-size:max(1.181103rem,1.27rem)}p{margin:0 0 14px}p:last-child{margin-bottom:0}.muted,.intro{color:var(--muted)}.intro{max-width:660px;font-size:max(1.181103rem,1.02rem)}.page-heading{padding:30px 0 24px;border-bottom:1px solid var(--line);margin-bottom:26px}.page-heading .intro{max-width:720px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:52px;align-items:center;padding:30px 0}.hero h1{font-size:max(1.181103rem,clamp(2rem,3.2vw,3rem))}.hero .lead{font-family:Georgia,"Times New Roman",serif;font-size:max(1.181103rem,1.3rem);font-style:italic;color:var(--gold);margin-bottom:18px}.hero p{max-width:530px}.hero-portrait{max-width:350px;width:100%;justify-self:end}.placeholder-art{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--soft),var(--panel));border:1px solid var(--line);border-radius:3px;aspect-ratio:4/5}.placeholder-art:before{content:"";position:absolute;inset:11% 17% 13%;border:1px solid var(--line);border-radius:50% 50% 0 0}.placeholder-art:after{content:"";position:absolute;inset:7% 13% 9%;border:1px solid var(--line);border-radius:50% 50% 0 0;opacity:.5}.placeholder-art .monogram{font-family:Georgia,"Times New Roman",serif;font-size:max(1.181103rem,3rem);letter-spacing:-.07em;color:var(--gold);opacity:.75}.placeholder-art .art-label{position:absolute;bottom:20px;left:10px;right:10px;text-align:center;font-size:max(1.181103rem,.65rem);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}figure{margin:0}figcaption{font-size:max(1.181103rem,.7rem);color:var(--muted);margin-top:8px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 18px;border:1px solid var(--accent);border-radius:3px;background:var(--accent);color:var(--accent-text);text-decoration:none;font-size:max(1.181103rem,.86rem);line-height:1.35}.button:hover{filter:brightness(1.1);color:var(--accent-text)}.button.secondary{color:var(--ink);background:transparent;border-color:var(--line)}.button.secondary:hover{background:var(--soft);filter:none}.text-link{font-size:max(1.181103rem,.87rem);font-weight:500}.section{padding:26px 0;border-top:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:18px}.section-title h2{margin-bottom:0}.home-columns{display:grid;grid-template-columns:1fr 1fr;gap:38px}.mini-event{display:grid;grid-template-columns:75px 1fr;gap:16px}.date-stamp{font-family:Georgia,"Times New Roman",serif;color:var(--gold);font-size:max(1.181103rem,1.75rem);line-height:1.1;border-right:1px solid var(--line);padding-right:10px}.date-stamp small{display:block;font-family:system-ui,sans-serif;font-size:max(1.181103rem,.68rem);letter-spacing:.08em;margin-top:5px}.tag{display:inline-block;font-family:system-ui,sans-serif;font-size:max(1.181103rem,.65rem);letter-spacing:.04em;line-height:1.35;color:var(--muted);border:1px solid var(--line);padding:3px 7px;border-radius:20px;margin-bottom:10px}.home-columns p{font-size:max(1.181103rem,.91rem)}.small-media{display:flex;gap:17px;align-items:center}.play-symbol{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--gold);flex-shrink:0}.play-symbol svg{width:20px;height:20px}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.quick-links a{text-decoration:none;border-bottom:1px solid var(--line);padding:0 0 13px}.quick-links h3{margin-bottom:6px}.quick-links p{font-size:max(1.181103rem,.84rem);color:var(--muted)}.arrow{float:right;color:var(--gold)}.two-column{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:42px}.prose{max-width:720px}.prose p{white-space:pre-line}.sidebar{border-left:1px solid var(--line);padding-left:26px}.sidebar .placeholder-art{max-width:290px}.note-box{padding:18px 20px;border-left:2px solid var(--gold);background:var(--soft);font-size:max(1.181103rem,.88rem);margin-bottom:22px}.note-box p{margin-bottom:8px}.note-box p:last-child{margin:0}.bio-long{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.filter{border:1px solid var(--line);border-radius:20px;background:transparent;color:var(--ink);padding:7px 15px;font-size:max(1.181103rem,.83rem);min-height:40px}.filter[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.rep-group{margin-bottom:25px}.repertoire-table{border-collapse:collapse;width:100%;text-align:left;font-size:max(1.181103rem,.92rem)}.repertoire-table th{font-size:max(1.181103rem,.68rem);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600;padding:10px 12px;border-block:1px solid var(--line)}.repertoire-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}.repertoire-table th:first-child,.repertoire-table td:first-child{padding-left:0;width:27%}.repertoire-table td:nth-child(2){width:43%}.repertoire-table .tag{margin:6px 0 0}.event-list{margin-top:5px}.event{display:grid;grid-template-columns:105px 1fr auto;gap:23px;padding:21px 0;border-top:1px solid var(--line);align-items:start}.event h3{margin-bottom:7px}.event .date-stamp{font-size:max(1.181103rem,1.6rem)}.event p{font-size:max(1.181103rem,.88rem)}.event .place{color:var(--muted);margin-bottom:6px}.event .button{margin-top:6px}.archive{margin-top:30px}.archive summary{font-family:Georgia,"Times New Roman",serif;font-size:max(1.181103rem,1.5rem);cursor:pointer;padding:13px 0;border-block:1px solid var(--line)}.archive .event{opacity:.85}.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.media-card h2{font-size:max(1.181103rem,1.35rem);margin:13px 0 8px}.video-placeholder{aspect-ratio:16/9;border:1px solid var(--line);background:var(--soft);display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:var(--muted)}.video-placeholder .play-symbol{width:48px;height:48px}.video-placeholder small{font-size:max(1.181103rem,.7rem)}.audio-placeholder{display:flex;align-items:center;gap:18px;padding:20px;border:1px solid var(--line);background:var(--panel)}.audio-lines{height:38px;flex:1;background:repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 7px);clip-path:polygon(0 38%,5% 30%,10% 45%,20% 8%,30% 20%,40% 0,50% 25%,60% 10%,70% 35%,80% 15%,90% 40%,100% 25%,100% 75%,90% 60%,80% 85%,70% 65%,60% 90%,50% 75%,40% 100%,30% 80%,20% 92%,10% 55%,5% 70%,0 62%)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo-grid .placeholder-art{aspect-ratio:4/3}.photo-grid .monogram{font-size:max(1.181103rem,2rem)}.photo-grid .art-label{bottom:12px}.download-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.download-row h3{margin-bottom:5px}.download-row p{font-size:max(1.181103rem,.86rem)}.contact-form{display:grid;gap:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:max(1.181103rem,.86rem);display:block}input:not([type=radio]):not([type=range]),textarea,select{width:100%;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:11px 12px;margin-top:6px;min-width:0}textarea{min-height:155px;resize:vertical}.form-help{font-size:max(1.181103rem,.78rem);color:var(--muted)}.form-status{font-size:max(1.181103rem,.88rem);padding:14px;background:var(--soft);border-left:3px solid var(--gold)}.contact-details{display:grid;gap:18px}.contact-details h3{font-size:max(1.181103rem,1.12rem);margin-bottom:5px}.contact-details p{font-size:max(1.181103rem,.9rem)}.legal-block{margin-bottom:27px}.legal-block h2{font-size:max(1.181103rem,1.4rem)}.site-footer{position:fixed;bottom:0;left:0;width:100%;z-index:15;background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:14px;font-size:max(1.181103rem,.72rem)}.footer-links{display:flex;flex-wrap:wrap;gap:20px}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:var(--shadow);padding:0;max-height:calc(100dvh - 28px);max-width:calc(100vw - 28px);border-radius:5px}dialog::backdrop{background:#12271e55;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.dialog-body{padding:25px}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:20px}.dialog-top h2{font-size:max(1.181103rem,1.5rem);margin:0}#settings-dialog{width:440px}.settings-group{margin:0 0 23px;padding:0;border:0}.settings-group legend,.settings-label{font-size:max(1.181103rem,.72rem);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:11px;color:var(--gold)}.theme-options{display:flex;gap:8px;flex-wrap:wrap}.theme-options label{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:3px}.theme-options input{accent-color:var(--ink)}input[type=range]{width:100%;accent-color:var(--gold);margin:12px 0}.range-labels{display:flex;justify-content:space-between;font-size:max(1.181103rem,.76rem);color:var(--muted)}.speech-actions{display:flex;gap:7px;flex-wrap:wrap}.speech-actions .button{font-size:max(1.181103rem,.76rem);padding:8px 10px}.settings-help{font-size:max(1.181103rem,.74rem);color:var(--muted);margin-top:11px}.menu-dialog{width:400px;margin:16px 16px 16px auto;height:calc(100dvh - 32px);max-height:none}.menu-links{display:flex;flex-direction:column}.menu-links a{display:flex;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:max(1.181103rem,1.27rem)}.menu-links a span{font-family:system-ui,sans-serif;font-size:max(1.181103rem,.65rem);color:var(--gold)}.menu-links a[aria-current=page]{color:var(--gold)}.menu-foot{display:flex;gap:18px;font-size:max(1.181103rem,.76rem);margin-top:28px}.empty-state{font-size:max(1.181103rem,.9rem);padding:20px;border:1px solid var(--line);color:var(--muted)}.load-error{font-size:max(1.181103rem,.85rem);color:var(--ink);border-left:3px solid var(--gold);background:var(--soft);padding:13px 17px;margin-bottom:18px}.no-script{padding:12px;border:1px solid var(--line);margin:15px 0}
@media(min-width:1600px){.wrap{max-width:1160px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.hero{gap:28px;grid-template-columns:1.15fr .85fr}.hero h1{font-size:max(1.181103rem,2rem)}.two-column{gap:25px;grid-template-columns:1.5fr 1fr}.home-columns{gap:25px}.brand-name{font-size:max(1.181103rem,1.05rem)}.event{grid-template-columns:85px 1fr}.event>.button{grid-column:2;justify-self:start}.quick-links{gap:18px}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.header-inner{min-height:94px;gap:8px;flex-wrap:wrap;justify-content:center;padding-block:9px}.brand{flex:1 0 100%;align-items:center}.brand-name{font-size:max(1.181103rem,1.05rem)}.brand-role{display:none}.header-tools{gap:10px}.icon-button{width:40px;height:40px}.language-switch a{width:41px;height:32px}.draft-note{font-size:max(1.181103rem,.66rem);line-height:1.45;padding-block:7px}.hero{padding:23px 0;gap:21px;grid-template-columns:1fr}.hero h1{font-size:max(1.181103rem,2.1rem)}.hero-portrait{max-width:none;justify-self:stretch}.hero-portrait .placeholder-art{aspect-ratio:16/9}.hero-portrait .placeholder-art:before{inset:9% 30% 12%}.hero-portrait .placeholder-art:after{inset:4% 26% 7%}.hero-portrait .monogram{font-size:max(1.181103rem,2.5rem)}.hero .lead{margin-bottom:12px;font-size:max(1.181103rem,1.15rem)}.hero .actions{margin-top:16px}.page-heading{padding:23px 0 19px;margin-bottom:20px}h1{font-size:max(1.181103rem,1.9rem)}h2{font-size:max(1.181103rem,1.45rem)}.section{padding:22px 0}.home-columns,.two-column,.media-grid{grid-template-columns:1fr;gap:23px}.sidebar{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.sidebar .placeholder-art{max-width:none;aspect-ratio:16/9}.quick-links{grid-template-columns:1fr;gap:18px}.section-title{gap:14px;flex-wrap:wrap}.photo-grid{grid-template-columns:1fr 1fr;gap:15px}.photo-grid figure:last-child{grid-column:1/-1}.form-row{grid-template-columns:1fr;gap:17px}.footer-inner{padding-block:10px;gap:6px;flex-direction:column;font-size:max(1.181103rem,.65rem)}.footer-links{gap:17px}main{padding-bottom:130px}.event{gap:16px;grid-template-columns:73px 1fr}.event .date-stamp{font-size:max(1.181103rem,1.3rem)}.event .date-stamp small{font-size:max(1.181103rem,.6rem)}.repertoire-table thead{display:none}.repertoire-table,.repertoire-table tbody,.repertoire-table tr,.repertoire-table td{display:block}.repertoire-table tr{padding:12px 0;border-top:1px solid var(--line)}.repertoire-table td,.repertoire-table td:first-child,.repertoire-table td:nth-child(2){width:auto;border:0;padding:3px 0}.repertoire-table td:before{content:attr(data-label) " · ";font-size:max(1.181103rem,.7rem);color:var(--muted)}.repertoire-table td:first-child{font-weight:600}.download-row{align-items:flex-start;flex-direction:column;gap:10px}.dialog-body{padding:20px}.menu-dialog{margin:10px 10px 10px auto;height:calc(100dvh - 20px);width:min(380px,calc(100vw - 20px))}.button{font-size:max(1.181103rem,.82rem)}.intro{font-size:max(1.181103rem,.96rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.draft-note,.filters,.actions,dialog,.button,.skip-link,.contact-form{display:none!important}:root{--paper:#fff;--ink:#000;--muted:#333;--gold:#333;--line:#aaa}body{background:#fff;color:#000;font-size:max(1.181103rem,11pt)}.wrap{width:100%;max-width:none}main{padding:0}.page-heading{padding-top:0}.two-column{display:block}.sidebar{display:none}.event,.rep-group{break-inside:avoid}a{text-decoration:none}}
/* iPad landscape: 1024–1199 px; retains two columns with restrained gaps. */
@media(min-width:1024px) and (max-width:1199px){.wrap{width:calc(100% - 64px)}.hero{gap:38px}.hero-portrait{max-width:315px}.hero h1{font-size:max(1.181103rem,2.45rem)}.two-column{gap:34px}.home-columns{gap:30px}}
/* iPad portrait: 601–1023 px; compact header and reduced column spacing. */
@media(min-width:601px) and (max-width:1023px){.wrap{width:calc(100% - 44px)}.header-inner{gap:12px}.brand-name{font-size:max(1.181103rem,1.05rem)}.hero{gap:28px}.hero-portrait{max-width:300px}.two-column{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:25px}.sidebar{padding-left:20px}.form-row{grid-template-columns:1fr}.photo-grid{gap:15px}.repertoire-table th,.repertoire-table td{padding-inline:9px}.footer-links{gap:15px}}
@media(max-width:360px){.brand-name{font-size:max(1.181103rem,.94rem)}.hero h1{font-size:max(1.181103rem,1.9rem)}.photo-grid{grid-template-columns:1fr}.photo-grid figure:last-child{grid-column:auto}.dialog-body{padding:16px}.theme-options{gap:5px}.theme-options label{padding:6px 8px}.footer-links{gap:12px}}
@media(max-height:500px){.site-footer{position:static}main{padding-bottom:35px}.site-header{position:relative}.menu-links a{padding-block:8px}.hero{padding-top:20px}}
.site-header,.site-footer{backdrop-filter:blur(18px) saturate(105%);-webkit-backdrop-filter:blur(18px) saturate(105%)}
/* The reference uses 58% opacity in light mode and 60% in dark mode. */
:root{--glass:rgba(247,244,237,.58)}
:root[data-theme=dark]{--glass:rgba(21,37,31,.60)}
@media(prefers-color-scheme:dark){:root[data-theme=system]{--glass:rgba(21,37,31,.60)}}
html{scroll-padding-top:calc(var(--header-height,100px) + 18px)}
@media(min-height:501px){main{padding-bottom:calc(var(--footer-height,80px) + 32px)}}
/* Relative heading sizes also follow the visitor's 90–130% setting. */
@media(min-width:1200px){h1{font-size:max(1.181103rem,2.15rem)}.hero h1{font-size:max(1.181103rem,2.6rem)}}
@media(min-width:801px) and (max-width:1023px){h1{font-size:max(1.181103rem,2.1rem)}.hero h1{font-size:max(1.181103rem,2.3rem)}}
@media(min-width:601px) and (max-width:800px){h1{font-size:max(1.181103rem,2rem)}}
@media(min-width:1024px) and (max-width:1199px){h1{font-size:max(1.181103rem,2.1rem)}}
@media print{main{padding-bottom:0}}
