@layer reset,base,layout,components,motion;
@layer reset{*{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}button,input,textarea{font:inherit}img{max-width:100%;display:block}a{color:inherit}button{cursor:pointer}}
@layer base{
:root{--bg:#141716;--paper:#f2efdf;--text:#f2efdf;--muted:#b6b9ac;--acid:#d4e569;--line:#ffffff26;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:dark}
html{scroll-behavior:smooth;scroll-padding-top:7rem}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1rem;line-height:1.65}::selection{background:var(--acid);color:var(--bg)}a{text-decoration:none}button{color:inherit}p{max-width:65ch}h1,h2,h3{font-weight:400;line-height:1.05}h1,h2{font-family:var(--serif);letter-spacing:-.045em}h1{font-size:clamp(3rem,6.5vw,7rem)}h2{font-size:clamp(2.4rem,4.5vw,5rem)}h3{font-size:1.6rem}em{font-weight:400;color:var(--acid)}:focus-visible{outline:2px solid var(--acid);outline-offset:6px}.skip{position:fixed;top:-5rem;left:1rem;z-index:100;background:var(--acid);color:var(--bg);padding:.6rem 1rem}.skip:focus{top:1rem}.wrap{max-width:1440px;margin:auto;padding-inline:4.5vw}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:600}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:2rem;padding:1rem 1.5rem;border:1px solid var(--acid);background:var(--acid);color:var(--bg);min-height:52px;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:var(--paper);border-color:var(--paper);transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--text);border-color:var(--line)}.button.secondary:hover{border-color:var(--text)}.text-link{display:inline-flex;gap:2rem;align-items:center;padding:.7rem 0;border-bottom:1px solid currentColor}.arrow{font-family:Arial,sans-serif;font-size:1.3em;line-height:1}}
@layer base{:root{--bg:#171714;--paper:#f2eedf;--text:#f2eedf;--muted:#b7b5a9;--acid:#e6a166;--line:#f2eedf26} @font-face{font-family:Bremen;src:url('original/tt1231m_-webfont.woff') format('woff');font-display:swap}}
@layer layout{
.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:2rem;position:relative;z-index:20;background:var(--bg)}.brand{display:flex;flex-direction:column;line-height:1.1;flex-shrink:0}.brand small{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--acid);margin-bottom:.25rem}.brand strong{font-family:Bremen,var(--serif);font-size:1.6rem;font-weight:400;letter-spacing:.01em}.desktop-nav{display:flex;align-items:center;gap:clamp(1rem,1.8vw,2rem);font-size:.875rem}.desktop-nav a{padding:.5rem 0;white-space:nowrap;position:relative}.desktop-nav a::after{position:absolute;content:'';height:1px;bottom:0;left:0;right:100%;background:var(--acid);transition:right .25s}.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{right:0}.desktop-nav a[aria-current=page]{color:var(--acid)}.header-end{display:flex;align-items:center;gap:1.5rem}.languages{display:flex;gap:.6rem;font-size:.875rem}.languages a{color:var(--muted);min-width:25px;padding:.5rem .1rem}.languages a[aria-current]{color:var(--text);text-decoration:underline;text-underline-offset:6px}.menu-toggle{display:none;width:46px;height:46px;background:none;border:1px solid var(--line);place-items:center}.menu-icon{width:20px;height:10px;border-block:1px solid currentColor;display:block}.mobile-nav{display:none}.hero{position:relative;isolation:isolate;min-height:700px;min-height:min(810px,calc(100svh - 100px));display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#171714e8 0%,#17171470 65%,#171714b0),url('hg2.jpg') center/cover;opacity:.6}.hero-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:5vw;padding-block:4.5rem}.hero .eyebrow{color:var(--acid);margin-bottom:1.8rem}.hero h1{font-size:clamp(4rem,7.5vw,8rem);max-width:9em}.hero h1 em{display:block}.hero-description{max-width:34rem;color:var(--muted);font-size:1.125rem;margin-top:1.8rem}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:2rem;margin-top:2.25rem}.hero-art{position:relative;padding:2.5rem 0 1rem;align-self:center}.hero-art::before{content:'';position:absolute;inset:0 8% 8% -7%;border:1px solid #e6a16645;border-radius:50% 50% 0 0;z-index:-1}.hero-art img{width:100%;aspect-ratio:456/352;object-fit:contain;box-shadow:0 30px 80px #0005;transform:rotate(-3deg)}.hero-art figcaption{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;color:var(--muted);padding:2rem 0 0}.hero-art figcaption strong{color:var(--text);font-weight:400}.hero-art .vertical-label{position:absolute;right:-1.5rem;top:0;writing-mode:vertical-rl;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--acid)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-block:1.3rem;border-top:1px solid var(--line);font-size:.75rem;letter-spacing:.13em;text-transform:uppercase}.hero-bottom a{min-height:30px}.ticker{border-block:1px solid var(--line);padding:1.25rem 0;overflow:hidden;display:flex;justify-content:center;gap:3vw;font-family:var(--serif);font-style:italic;font-size:1.5rem;white-space:nowrap;color:var(--muted)}.ticker span+span::before{content:'·';margin-right:3vw;color:var(--acid)}.section{padding-block:7rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.section-heading .eyebrow,.section .eyebrow{margin-bottom:1.3rem;color:var(--acid)}.intro-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:6vw}.intro-grid h2{max-width:18ch}.intro-grid .large-copy{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.4rem);line-height:1.4;letter-spacing:-.02em}.intro-grid .text-link{margin-top:2rem}.paper{background:var(--paper);color:var(--bg);--line:#17171430;--muted:#626458;--acid:#925124;color-scheme:light}.paper .button{background:var(--bg);color:var(--paper);border-color:var(--bg)}.paper .button.secondary{background:transparent;color:var(--bg)}.paper em{color:#9c562b}.paper .eyebrow{color:#925124}.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.program-grid.all{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:3.5rem}.program-card .image-wrap{aspect-ratio:4/4.9;background:#d5d2c5;display:grid;place-items:center;overflow:hidden;position:relative}.program-card img{max-height:88%;height:88%;width:82%;object-fit:contain;transition:transform .5s;filter:drop-shadow(0 12px 14px #0002)}.program-card:hover img{transform:scale(1.045) rotate(-1deg)}.card-label{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-top:1.5rem}.card-label h3{font-family:var(--serif);font-size:1.8rem;line-height:1.15}.card-number{font-size:.75rem;position:absolute;top:1rem;left:1rem;letter-spacing:.1em}.program-card p{color:var(--muted);margin-top:.65rem}.card-arrow{border:1px solid var(--line);width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;transition:background .2s}.program-card:hover .card-arrow{background:var(--bg);color:var(--paper)}.listen-section{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.listen-art{position:relative;background:#242620;padding:4rem 3rem;min-width:0}.listen-art img{width:75%;max-height:400px;object-fit:contain;margin:auto;transform:rotate(-8deg);box-shadow:0 20px 50px #0005}.listen-art .eyebrow{position:absolute;bottom:1rem;left:1.5rem;margin:0}.listen-copy p{margin-top:1.5rem;color:var(--muted)}.listen-copy .button{margin-top:2rem}.project-feature{display:grid;grid-template-columns:1fr 1fr;background:#252823}.project-feature img{height:100%;width:100%;max-height:520px;object-fit:contain;background:#10120f}.project-copy{padding:3rem;align-self:center}.project-copy h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3rem);margin-bottom:1.5rem}.project-copy p{color:var(--muted);margin-bottom:1.5rem}.contact-band{padding-block:5rem;border-top:1px solid var(--line)}.contact-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem}.contact-band h2{font-size:clamp(2.3rem,4vw,4.5rem)}.contact-band .eyebrow{color:var(--acid);margin-bottom:1rem}.site-footer{padding-block:3.5rem 1.5rem;background:#10110f}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3rem;margin-bottom:3rem}.footer-top p{color:var(--muted);margin-top:1rem;font-size:.875rem}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;font-size:.875rem}.footer-contact{font-size:.875rem}.footer-contact a{display:block;margin-top:.5rem}.footer-contact .eyebrow{color:var(--muted);margin-bottom:1rem}.footer-bottom{border-top:1px solid var(--line);padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.75rem;color:var(--muted)}.footer-bottom div{display:flex;gap:1.5rem}.page-head{padding-block:4rem 4.5rem;border-bottom:1px solid var(--line)}.breadcrumbs{font-size:.875rem;color:var(--muted);display:flex;gap:.7rem;margin-bottom:3rem;flex-wrap:wrap}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.page-head .eyebrow{color:var(--acid);margin-bottom:1.4rem}.page-head h1{max-width:15ch}.page-head p{font-size:1.125rem;color:var(--muted);margin-top:1.8rem;max-width:60ch}.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:start}.detail-copy p{margin-bottom:1.5rem;color:var(--muted);font-size:1.125rem}.detail-copy h2{font-size:2.5rem;margin-bottom:1.5rem}.detail-copy .button{margin-top:1.5rem}.detail-image{padding:2.5rem;background:#242620;position:sticky;top:2rem}.detail-image img{margin:auto;max-height:650px;object-fit:contain;width:100%}.detail-image figcaption{font-size:.875rem;color:var(--muted);margin-top:1rem}.facts{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-top:3rem}.facts div{padding:1.5rem .5rem 1.5rem 0}.facts strong{display:block;font-family:var(--serif);font-size:2rem;font-weight:400}.facts span{font-size:.875rem;color:var(--muted)}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem}.album-card img{width:100%;aspect-ratio:1;object-fit:contain;background:#252823;padding:1.5rem;transition:transform .4s}.album-card:hover img{transform:translateY(-8px)}.album-card h2{font-size:2rem;margin-top:1.5rem}.album-card p{color:var(--muted);margin-top:.8rem}.track-list{list-style:none;padding:0;margin:2rem 0;counter-reset:track}.track{display:grid;grid-template-columns:2rem 1fr;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--line)}.track::before{counter-increment:track;content:counter(track,decimal-leading-zero);font-size:.875rem;color:var(--muted)}.track h3{font-size:1rem;line-height:1.4}.track audio{width:100%;height:36px;margin-top:.75rem;color-scheme:dark}.audio-error{font-size:.875rem;color:var(--acid)}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem}.video-screen{aspect-ratio:16/9;position:relative;background:#232520;overflow:hidden;display:grid;place-items:center}.video-screen img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.7}.video-screen button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;background:#171714bd;border:1px solid #ffffff70;padding:1rem 1.5rem;min-width:160px}.play-icon{border:1px solid var(--acid);border-radius:50%;width:54px;height:54px;display:grid;place-items:center;color:var(--acid)}.video-screen iframe{width:100%;height:100%;border:0}.video-card h2{font-family:var(--sans);font-size:1.125rem;letter-spacing:0;margin-top:1.25rem}.video-card p{font-size:.875rem;color:var(--muted);margin-top:.75rem}.video-card p a{text-decoration:underline}.video-consent{position:absolute;inset:0;background:var(--bg);padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.video-consent p{font-size:.875rem;line-height:1.4}.video-consent .consent-actions{display:flex;gap:.75rem}.video-consent button{min-width:0;padding:.65rem 1rem;font-size:.875rem;min-height:44px}.downloads-list{border-top:1px solid var(--line)}.download-row{display:grid;grid-template-columns:70px 1fr auto;gap:2rem;padding:1.5rem 0;border-bottom:1px solid var(--line);align-items:center}.download-row img{height:90px;object-fit:contain;width:65px}.download-row h2{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.02em}.download-row p{font-size:.875rem;color:var(--muted);margin-top:.5rem}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw}.contact-details h2{font-size:2.5rem;margin-bottom:2rem}.contact-details address{font-style:normal;color:var(--muted);line-height:1.7}.contact-details .contact-email{display:block;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.7rem);color:var(--acid);margin:1.8rem 0;overflow-wrap:anywhere}.phone-list{display:grid;gap:.75rem;margin:2rem 0}.phone-list a{display:flex;justify-content:space-between;gap:2rem}.phone-list span{color:var(--muted)}.booking-note{padding:3rem;background:#252823}.booking-note h2{font-size:2.2rem;margin-bottom:1.5rem}.booking-note ul{padding-left:1.3rem;color:var(--muted);margin-block:1.5rem 2rem}.booking-note li{margin-bottom:.75rem}.prose{max-width:860px}.prose h2{font-family:var(--sans);font-size:1.5rem;letter-spacing:-.02em;margin:2.8rem 0 1.2rem}.prose h3{font-size:1.125rem;line-height:1.4;margin:1.8rem 0 1rem}.prose p{max-width:none;color:var(--muted);margin-bottom:1.2rem}.prose a{text-decoration:underline;text-underline-offset:4px}.related{border-top:1px solid var(--line)}.small-note{font-size:.875rem;color:var(--muted);margin-top:1rem}.empty-state{padding:2rem;border:1px solid var(--line);margin-top:3rem}.no-js .menu-toggle{display:none}.no-js .mobile-nav{display:flex;position:static;flex-wrap:wrap;gap:1rem;padding:1rem 4.5vw}.no-js .mobile-nav a{font-size:.875rem}.no-js .video-screen button{display:none}}
@layer motion{
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.hero-title{animation:arrive .9s ease both}.hero-description,.hero-actions{animation:arrive 1s .12s ease both}.hero-art{animation:arrive 1.2s .2s ease both}.reveal{animation:reveal both;animation-timeline:view();animation-range:entry 0% entry 15%}@keyframes arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal{from{opacity:.55;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}}
@layer layout{
@media(min-width:1500px){.wrap{padding-inline:60px}.hero h1{font-size:7.5rem}}
@media(max-width:1150px){.desktop-nav{gap:1rem}.desktop-nav a{font-size:.8rem}.site-header{gap:1rem}.header-end{gap:.8rem}.hero-layout{gap:4vw}.hero h1{font-size:6rem}.brand strong{font-size:1.35rem}.program-grid,.program-grid.all{gap:1.5rem}.hero{min-height:700px}}
@media(max-width:980px){.desktop-nav{display:none}.menu-toggle{display:grid}.mobile-nav.open{display:grid;grid-template-columns:1fr 1fr;position:absolute;z-index:19;top:100px;left:0;right:0;background:var(--bg);padding:1rem 4.5vw 2rem;border-bottom:1px solid var(--line);gap:.25rem 2rem;box-shadow:0 24px 30px #0006}.mobile-nav a{font-family:var(--serif);font-size:1.5rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.mobile-nav a[aria-current]{color:var(--acid)}.hero h1{font-size:clamp(4.1rem,8.6vw,6rem)}.hero{min-height:650px}.hero-art{padding-top:1.5rem}.hero-art figcaption{font-size:.75rem;display:block}.hero-art figcaption span{display:block;margin-top:.3rem}.section{padding-block:5rem}.program-grid.all{grid-template-columns:repeat(2,minmax(0,1fr))}.card-label h3{font-size:1.45rem}.project-copy{padding:2rem}.footer-top{grid-template-columns:1fr 1fr}.footer-contact{grid-column:1/-1}.intro-grid{grid-template-columns:.55fr 1.45fr}.listen-art{padding:3rem 1rem}.detail-grid{gap:4vw}.detail-image{padding:1.5rem}.album-grid{gap:1.5rem}.album-card h2{font-size:1.7rem}.contact-layout{gap:4vw}.booking-note{padding:2rem}}
@media(max-width:680px){.wrap{padding-inline:6vw}.site-header{height:82px}.brand strong{font-size:1.4rem}.brand small{font-size:.875rem}.mobile-nav.open{top:82px;padding-inline:6vw}.hero{min-height:0}.hero-layout{grid-template-columns:1fr;padding-block:3.2rem 2.5rem;gap:3.5rem}.hero h1{font-size:clamp(3.7rem,13vw,5rem);max-width:10ch}.hero .eyebrow{font-size:.7rem;letter-spacing:.15em;margin-bottom:1.3rem}.hero-description{font-size:1rem;max-width:32ch;margin-top:1.5rem}.hero-actions{gap:1.4rem;margin-top:1.7rem}.button{padding:.9rem 1.2rem;gap:1rem;font-size:.875rem}.hero-art{width:82%;margin-inline:auto;padding-top:1.5rem}.hero-art img{transform:rotate(-3deg)}.hero-art figcaption{display:flex;gap:1rem;padding-top:1.4rem}.hero-art .vertical-label{right:-1.7rem;font-size:.65rem}.hero-bottom{font-size:.65rem;letter-spacing:.05em;padding-block:1rem}.hero-bottom span:first-child{max-width:17ch}.ticker{justify-content:flex-start;padding:1rem 6vw;gap:1.7rem;font-size:1.2rem}.ticker span+span::before{margin-right:1.7rem}.section{padding-block:3.8rem}.intro-grid{grid-template-columns:1fr;gap:1.5rem}.intro-grid .large-copy{font-size:1.7rem}.section-heading{align-items:start;margin-bottom:2rem;flex-direction:column;gap:1rem}.section-heading h2{font-size:2.6rem}.section-heading .text-link{font-size:.875rem}.program-grid,.program-grid.all{grid-template-columns:1fr;gap:2.5rem}.program-card .image-wrap{aspect-ratio:4/4.3}.program-card img{height:90%;max-height:90%}.card-label h3{font-size:1.8rem}.listen-section{grid-template-columns:1fr;gap:2.5rem}.listen-art{padding:3rem}.listen-art img{max-height:280px;width:75%}.project-feature{grid-template-columns:1fr}.project-feature img{max-height:360px;padding:1.5rem}.project-copy{padding:2rem 1.5rem}.contact-band{padding-block:3rem}.contact-band .wrap{align-items:start;flex-direction:column}.footer-top{grid-template-columns:1fr;gap:2rem}.footer-nav{max-width:330px}.footer-contact{grid-column:auto}.footer-bottom{font-size:.75rem;flex-direction:column}.site-footer{padding-top:2.5rem}.page-head{padding-block:2rem 3rem}.breadcrumbs{margin-bottom:2rem;font-size:.8rem}.page-head h1{font-size:clamp(2.9rem,11vw,4.3rem);overflow-wrap:anywhere}.page-head p{font-size:1rem}.detail-grid{grid-template-columns:1fr;gap:2.5rem}.detail-image{position:static;order:-1;padding:2rem;max-width:100%}.detail-image img{max-height:440px}.detail-copy p{font-size:1rem}.facts{grid-template-columns:1fr}.facts div{padding:1rem 0;border-bottom:1px solid var(--line)}.facts div:last-child{border:0}.facts strong{font-size:1.6rem}.album-grid{grid-template-columns:1fr;gap:3rem}.album-card img{max-height:370px}.album-card h2{font-size:2rem}.video-grid{grid-template-columns:1fr;gap:2.5rem}.video-consent{padding:1rem;gap:.5rem}.video-consent p{font-size:.8rem}.download-row{grid-template-columns:52px 1fr;gap:1rem}.download-row img{width:48px;height:70px;grid-row:span 2}.download-row h2{font-size:1.35rem}.download-row .button{grid-column:2;justify-self:start;font-size:.8rem;min-height:44px;padding:.6rem 1rem}.contact-layout{grid-template-columns:1fr;gap:2.5rem}.phone-list a{flex-wrap:wrap;gap:.5rem}.booking-note{padding:2rem 1.5rem}.contact-details h2{font-size:2rem}.prose h2{font-size:1.35rem}.track{gap:.5rem;grid-template-columns:1.5rem 1fr}}
@media print{.site-header,.site-footer,.contact-band,.hero-actions,.mobile-nav,.skip,.video-screen button{display:none!important}body,.paper{background:white;color:black}p,.muted{color:#333!important}.section{padding-block:2rem}.hero{min-height:0}.hero-layout{padding:1rem 0}.hero::before{display:none}a{color:inherit}.detail-image{position:static}.reveal{animation:none}}
}

/* Supplied portrait photography: preserve the complete face, violin and score. */
@layer layout {
.hero-layout{width:100%;grid-template-columns:1.2fr .8fr;padding-block:3rem}
.hero-art{width:min(100%,390px);justify-self:center;padding:1.3rem 0 .5rem}
.hero-art::before{inset:0 -1.2rem 4.5rem;border-radius:0;border:1px solid #e6a16670}
.hero-art img{aspect-ratio:auto;height:auto;transform:none;border:8px solid #3c2b20;outline:1px solid #a86f40;box-shadow:0 22px 60px #0007}
.hero-art .vertical-label{right:-2.5rem;top:2rem}
.hero-art figcaption{padding-top:1.3rem;flex-wrap:wrap;gap:.2rem .8rem}
.photo-gallery{border-top:1px solid var(--line)}
.photo-gallery h2,.social-links h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:2rem}
.photo-gallery>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:2rem;max-width:960px}
.photo-gallery figure{max-width:760px}
.photo-gallery img{width:auto;max-width:100%;height:auto;max-height:540px;object-fit:contain}
.photo-gallery figcaption{color:var(--muted);font-size:.875rem;margin-top:1rem}
.social-links>div{display:flex;flex-wrap:wrap;gap:1rem 3rem}
.footer-contact a,.social-links a{overflow-wrap:anywhere}
@media(max-width:980px){.hero-art{width:85%}.hero-art .vertical-label{right:-1.8rem}.facts{grid-template-columns:1fr}.facts div{padding:1rem 0;border-bottom:1px solid var(--line)}.facts div:last-child{border:0}}
@media(max-width:680px){.hero-layout{grid-template-columns:1fr;padding-block:3rem 2.5rem;gap:2.5rem}.hero-art{width:80%;max-width:340px}.hero-art img{transform:none}.hero-art figcaption{display:block}.hero-art .vertical-label{right:-1.8rem}}
}
@layer motion{.reveal{animation:none}}
@layer layout{.detail-image img{height:auto}}

/* Shared design refinements. Content remains visible without JavaScript. */
@layer refinement {
  .hero-name { font-family:var(--serif,Georgia,serif); font-size:clamp(1.15rem,1.7vw,1.7rem); line-height:1.15; color:var(--acid,#d0a184); margin:0 0 1rem; }
  .hero-name strong { display:block; font-size:clamp(1.75rem,3.25vw,3.3rem); font-weight:500; letter-spacing:.025em; margin-top:.25rem; }
  .hero-name + .eyebrow { margin-top:1.5rem; }
  img[data-fit="contain"] { object-fit:contain; background:#f2efe7; }
  .program-card img[data-fit="contain"],.project-feature img[data-fit="contain"],.detail-image img[data-fit="contain"] { object-fit:contain; object-position:center; transform:none; }
  .lineup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; }
  .lineup-card { min-width:0; border:1px solid #ffffff24; }
  .lineup-card > img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; background:#f2efe7; }
  .lineup-card > div { padding:clamp(1.2rem,3vw,2rem); }
  .lineup-card h3 { font-size:clamp(1.5rem,2.2vw,2rem); margin:0 0 1rem; }
  .material-links { display:flex; flex-direction:column; align-items:flex-start; gap:1rem; }
  .material-links .text-link { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
  .material-section h2 { font-size:clamp(1.7rem,3.5vw,3rem); }
  .video-card { scroll-margin-top:6rem; }
  @media(max-width:680px) { .lineup-grid { grid-template-columns:1fr; gap:2rem; } }
  .wrap { width:100%; }
  .section { padding-block:clamp(3.5rem,7vw,6rem); }
  .page-head { padding-block:clamp(2rem,4vw,3.5rem); }
  .page-head h1 { max-width:20ch; font-size:clamp(2.6rem,5.8vw,6rem); line-height:1.1; text-wrap:balance; hyphens:auto; overflow-wrap:break-word; }
  .page-head .eyebrow { font-size:.75rem; }
  .page-head p { max-width:58ch; }
  .breadcrumbs { margin-bottom:2rem; }
  .breadcrumbs a,.languages a,.footer-nav a,.footer-contact a,.footer-bottom a { min-height:44px; display:inline-flex; align-items:center; }
  .languages { gap:0; }
  .languages a { min-width:44px; justify-content:center; }
  .site-header { height:auto; min-height:100px; padding-block:1rem; flex-wrap:wrap; }
  .header-end { gap:.5rem; }
  .hero-bottom { width:100%; }
  .hero-bottom a { display:flex; align-items:center; min-height:44px; }
  .hero-title,.hero-description,.hero-actions,.hero-art { animation:none; }
  .hero-art figcaption { line-height:1.5; }
  .program-card .image-wrap { display:flex; flex-direction:column; padding:1rem; gap:1rem; aspect-ratio:auto; }
  .card-number { position:static; width:100%; line-height:1.5; }
  .program-card img { width:100%; height:clamp(220px,26vw,360px); max-height:none; object-fit:contain; }
  .program-card:hover img { transform:translateY(-3px); }
  .program-card a,.album-card a { display:block; }
  .card-label h3,.project-copy h3,.album-card h2 { text-wrap:balance; overflow-wrap:break-word; hyphens:auto; }
  .listen-art { padding:2.5rem; }
  .listen-art img { transform:rotate(-3deg); height:auto; width:80%; }
  .listen-art .eyebrow { position:static; margin:2rem 0 0; line-height:1.7; }
  .project-feature { background:#242420; }
  .project-feature img { height:auto; align-self:center; padding:1.5rem; }
  .detail-image { background:#242420; }
  .detail-copy,.detail-grid>div,.track>div,.contact-layout>div { min-width:0; }
  .prose { max-width:70ch; overflow-wrap:anywhere; }
  .prose h2:first-child { margin-top:0; }
  .track audio { min-height:44px; }
  .footer-bottom div { flex-wrap:wrap; gap:.5rem 1.5rem; }
  .footer-contact a { display:flex; }
  .video-screen>button { transition:background .2s,border-color .2s; }
  .video-screen img { width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; opacity:.9; }
  .video-screen>button:hover,.video-screen>button:focus-visible { background:#171714ee; border-color:var(--acid); }
  .video-screen>button[hidden] { display:none; }
  .video-screen>button { position:absolute; inset:0; width:100%; height:100%; padding:0; min-width:0; border:0; background:transparent; }
  .video-screen>button:hover,.video-screen>button:focus-visible { background:transparent; }
  .video-screen>button:focus-visible { outline:3px solid var(--acid); outline-offset:-4px; }
  .video-screen .play-icon { width:64px; height:64px; border:1px solid #f2eedfa6; background:#171714b8; color:var(--paper); padding-left:3px; box-shadow:0 4px 24px #0005; transition:transform .2s,background .2s; }
  .video-screen>button:hover .play-icon,.video-screen>button:focus-visible .play-icon { background:var(--acid); color:var(--bg); transform:scale(1.08); }
  .video-note { color:var(--muted); border-left:2px solid var(--acid); padding-left:1rem; margin-bottom:2rem; }
  .video-card h2 { line-height:1.45; text-wrap:balance; }
  .video-card p a { display:inline-flex; align-items:center; min-height:44px; text-underline-offset:4px; }
  .video-consent { position:fixed; inset:0; margin:auto; width:min(90vw,36rem); height:fit-content; max-height:85vh; overflow:auto; border:1px solid var(--acid); color:var(--text); padding:2rem; text-align:left; }
  .video-consent:not([open]) { display:none; }
  .video-consent[open] { display:flex; }
  .video-consent::backdrop { background:#000b; }
  .video-consent p { font-size:1rem; line-height:1.65; }
  .consent-actions { display:flex; flex-wrap:wrap; gap:1rem; width:100%; }
  .video-consent button { min-width:0; min-height:44px; }
  .text-link:hover,.text-link:focus-visible { color:var(--acid); }
  .button:focus-visible { outline:3px solid var(--text); outline-offset:4px; }
  @media(max-width:980px) {
    .mobile-nav.open { position:relative; top:auto; box-shadow:none; }
    .program-grid,.program-grid.all { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .program-card img { height:320px; }
    .hero-layout { gap:3rem; }
    .photo-gallery>div { width:100%; }
  }
  @media(max-width:680px) {
    .site-header { min-height:82px; gap:.5rem; }
    .brand strong { font-size:1.2rem; }
    .header-end { margin-left:auto; gap:.25rem; }
    .program-grid,.program-grid.all { grid-template-columns:1fr; }
    .program-card img { height:360px; height: min(110vw,420px); }
    .hero-layout { gap:2rem; }
    .hero-art .vertical-label { display:none; }
    .hero-art { width:86%; }
    .hero-bottom { flex-wrap:wrap; }
    .hero-bottom span:first-child { max-width:none; }
    .hero-bottom a { letter-spacing:.04em; }
    .hero-actions { gap:1rem 1.5rem; }
    .listen-art { padding:2rem; }
    .mobile-nav.open { grid-template-columns:1fr; }
    .mobile-nav a { overflow-wrap:anywhere; }
    .section-heading h2 { font-size:2.4rem; }
    .detail-image { padding:1.5rem; }
  }
}
@layer refinement {
  /* YouTube requires a viewport at least 200 px high, including on phones. */
  .video-screen { width:100%; min-width:0; min-height:200px; }
  .video-card { min-width:0; }
  .video-screen iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
  .video-status { position:absolute; inset:0; z-index:2; display:flex; flex-wrap:wrap; align-content:center; justify-content:center; gap:.6rem; padding:1rem; overflow:auto; background:#171714f2; text-align:center; }
  .video-status p { flex-basis:100%; margin:0; font-size:.95rem; line-height:1.4; }
  .video-status .button { min-height:40px; padding:.5rem .8rem; font-size:.85rem; }
  .video-status-ready { width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); pointer-events:none; }
}

/* Homepage portrait only. An empty credit produces no element or spacing. */
.hero-art .hero-photo-credit {
  margin:1.5rem 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
  text-align:right;
  overflow-wrap:anywhere;
}
.hero-art .hero-photo-credit + figcaption { padding-top:.65rem; }
.hero-art.has-photo-credit::before { display:none; }
.hero-portrait-frame { position:relative; }
.hero-portrait-frame::before {
  content:'';
  position:absolute;
  inset:-1.3rem -1.2rem -1rem;
  border:1px solid #e6a16670;
  pointer-events:none;
  z-index:-1;
}
