/* Heritage refinement: institutional masthead, engraved plate and editorial rules. */
:root{--ink:#103c30;--muted:#4e6258;--paper:#fcfbf7;--wash:#eff1ea;--pink:#efd9dd;--rose:#873e52;--line:#c9cec0}
.site-header{background:var(--ink);color:var(--paper);border-bottom:4px double #8a9d8c}
.header-inner{min-height:0;flex-direction:column;gap:0;padding-top:24px}
.brand{max-width:none;gap:18px;font:400 23px/1.28 var(--serif);text-align:left;letter-spacing:.005em}
.brand img{width:55px;height:67px;border-radius:50%;border:1px solid #c5b8a8;padding:3px;background:var(--paper)}
.brand small{display:block;color:#d2dacc;font:10px/1.6 var(--sans);letter-spacing:.06em;margin-top:7px}
.nav{justify-content:center;width:100%;margin-top:20px;padding:4px 0;gap:40px;border-top:1px solid #456456;font-size:11px;letter-spacing:.06em}
.nav a{min-height:44px;display:flex;align-items:center;padding:10px 0}.nav a[aria-current=page]{border-color:#e8b9c4}
.hero{padding:48px 0 54px}.hero-layout{grid-template-columns:1.1fr 1fr;gap:72px;align-items:center}
.hero-copy h1{font-size:clamp(3rem,5vw,4.4rem);font-weight:400;line-height:1.09;letter-spacing:-.025em}
.hero-copy h1 em{display:block;font-size:.8em;line-height:1.25;margin-top:6px}
.hero-copy>p{font-family:var(--serif);font-size:20px;line-height:1.5;max-width:31ch;margin-top:22px}
.hero-copy .season-dates{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.015em;max-width:420px}
.hero-copy .fine{font:11px/1.6 var(--sans);max-width:none;margin-top:16px}
.button{border-radius:0;min-height:48px;padding:13px 22px;font-size:11px;letter-spacing:.035em}
.button.secondary{border-color:#799083}.actions{gap:12px;margin-top:20px}
.restored-art{padding:18px 18px 20px;border:1px solid #bcc6b6;background:#f8f7f1;position:relative}
.restored-art:before{content:'';position:absolute;inset:5px;border:1px solid #d9ded1;pointer-events:none}
.restored-art img{position:relative;width:100%;aspect-ratio:1.36;object-fit:contain;background:transparent}
.restored-art figcaption{border-top:1px solid #c8cebf;padding-top:14px;margin-top:6px;gap:5px}
.restored-art strong{font:italic 39px/1.1 var(--serif)}.restored-art span{font:14px/1.5 var(--serif)}.restored-art small{font-size:9px;letter-spacing:.03em;margin-top:4px}
.invitation{padding:32px 0;border-top:4px double #99a78d;border-bottom:4px double #99a78d}
.invitation h2{font-size:2rem}.invitation p{font-size:13px;margin-top:10px}.invitation .fine{font-size:10px}
.section-heading h2,.faq h2,.heritage h2{font-size:clamp(2rem,3vw,2.75rem)}
.section-heading p{font-size:14px}.section{padding-block:58px}.session-note h3{font-size:1.5rem}.session-note p{font-size:13px}
.archive-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.teacher-photo{border-radius:0;aspect-ratio:1.45}.teacher-photo img{filter:saturate(.65)}
.teacher-description h3{font-size:1.4rem}.teacher-description .recording-meta{font-size:10px;letter-spacing:.025em}.teacher-description .teacher{font-family:var(--serif);font-size:16px}
.play-disc{border-radius:50%;width:38px;height:38px}.recording-links a{min-height:44px;display:inline-flex;align-items:center}
.faq{max-width:780px}.faq summary{font-family:var(--serif);font-size:18px;font-weight:400}.faq details p{font-size:13px}
.heritage{grid-template-columns:150px 1fr}.heritage img{width:110px;height:136px;outline:1px solid #a5af9e;outline-offset:6px}.heritage p{font-size:14px;max-width:62ch}
.site-footer{background:var(--ink);color:var(--paper);border-top:4px double #8a9d8c;padding:26px 0}.footer-inner{color:#d2dacc;font-size:10px}.footer-inner a{padding-block:8px}
.archive-head{padding-top:42px}.archive-tools{border-top:4px double var(--line)}.field input,.field select,.year-tab,.thumb{border-radius:0}
@media(max-width:999px){.hero-layout{grid-template-columns:1.1fr 1fr;gap:28px}.hero-copy h1{font-size:3.05rem}.hero-copy>p{font-size:18px}.hero .actions{display:flex}.hero .button{padding-inline:12px}.restored-art{padding:14px}.restored-art strong{font-size:33px}}
@media(max-width:699px){.header-inner{padding-top:16px;align-items:center}.brand{font-size:18px;gap:12px}.brand img{width:43px;height:53px}.brand small{display:block;font-size:8px;letter-spacing:.025em;margin-top:4px}.nav{margin-top:14px;gap:26px;font-size:10px;padding:0}.hero{padding:30px 0 36px}.hero-layout{grid-template-columns:1fr;gap:26px}.hero-copy{text-align:center}.hero-copy h1{font-size:2.9rem;max-width:100%}.hero-copy h1 em{display:inline;font-size:1em;margin:0}.hero-copy>p{font-size:18px;margin:16px auto 0;max-width:30ch}.hero-copy .season-dates{margin-top:18px;padding-top:15px;font-size:11px}.hero .actions{display:grid;grid-template-columns:1fr 1fr;margin-top:18px}.hero .button{font-size:10px;padding:12px 8px}.hero-copy .fine{font-size:10px;margin-top:12px}.restored-art{margin-inline:10px;padding:12px 18px 16px}.restored-art img{aspect-ratio:1.6;max-height:235px}.restored-art figcaption{padding-top:10px}.restored-art strong{font-size:32px}.restored-art span{font-size:13px}.invitation{padding:28px 0}.invitation-layout{gap:16px}.invitation h2{font-size:1.8rem}.invitation .button{width:100%}.invitation .fine{font-size:10px}.section{padding-block:38px}.section-heading h2,.faq h2,.heritage h2{font-size:1.95rem}.section-heading p{font-size:13px}.teacher-recording{grid-template-columns:100px 1fr;gap:15px}.teacher-photo{aspect-ratio:.82}.teacher-description h3{font-size:1.2rem}.teacher-description .teacher{font-size:14px}.heritage{grid-template-columns:70px 1fr;gap:20px}.heritage img{width:65px;height:85px;outline-offset:3px}.heritage h2{font-size:1.7rem}.heritage p{font-size:12px}.footer-inner{font-size:9px}}
