@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Spectral:wght@400;400i;500&display=swap');
:root{--ink:#153e32;--muted:#4d655b;--paper:#fffefb;--pink:#f4d9df;--rose:#8d3b53;--line:#d9e2db;--wash:#f1f5ef;--serif:'Spectral',Georgia,serif;--sans:'Manrope',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;text-wrap:balance}h1{font-size:clamp(2.75rem,6vw,5.6rem);letter-spacing:-.035em}h2{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.025em}h3{font-size:1.6rem}p{max-width:65ch}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--rose);outline-offset:5px}.wrap{width:min(1200px,calc(100% - 40px));margin-inline:auto}.skip{position:fixed;left:15px;top:-80px;padding:12px;background:white;z-index:10}.skip:focus{top:10px}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:92px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;max-width:360px;font-size:12px;line-height:1.5;font-weight:600}.brand img{width:45px;height:53px;object-fit:cover;filter:grayscale(1);border-radius:50%}.brand span{display:block}.brand small{display:block;font-weight:400;font-size:10px;color:var(--muted);margin-top:3px}.nav{display:flex;gap:24px;align-items:center;font-size:13px;font-weight:600}.nav a{padding-block:12px;text-decoration:none}.nav a[aria-current=page]{border-bottom:2px solid var(--ink)}.nav a:hover{text-decoration:underline}.hero{padding:56px 0 64px}.hero-layout{display:grid;gap:36px}.hero-copy h1{max-width:740px}.hero-copy h1 em{font-weight:400;color:var(--rose)}.hero-copy>p{margin-top:24px;color:var(--muted);max-width:510px;font-size:17px}.season-dates{font-weight:600;margin-top:28px;font-size:14px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 22px;border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;font-size:13px;font-weight:600;border-radius:4px}.button:hover{background:#285744}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--wash)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.fine{font-size:12px;color:var(--muted);margin-top:12px}.theme-panel{background:var(--pink);padding:30px;min-height:315px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.theme-panel h2{font-size:clamp(4.5rem,10vw,7rem);font-style:italic;position:relative;z-index:1;letter-spacing:-.04em}.theme-panel .theme-note{font-size:12px;max-width:210px}.theme-panel .theme-values{font-family:var(--serif);font-size:24px;line-height:1.4;position:relative}.orbit{position:absolute;width:270px;height:270px;border:1px solid #b77787;border-radius:50%;right:-100px;top:80px}.orbit:before,.orbit:after{content:'';position:absolute;border:1px solid #b77787;border-radius:50%;inset:24px}.orbit:after{inset:48px}.theme-year{font-size:13px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #c997a5;padding-bottom:16px;margin-bottom:22px}.invitation{background:var(--ink);color:var(--paper);padding:44px 0}.invitation-layout{display:grid;gap:28px}.invitation h2{font-size:2.3rem}.invitation p{color:#d7e4db;margin-top:14px}.invitation .fine{color:#d7e4db}.section{padding-block:64px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-heading p{margin-top:14px;color:var(--muted);max-width:560px}.text-link{font-size:14px;font-weight:600;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.session-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:24px;padding:26px 0}.session-note p{color:var(--muted);margin-top:10px}.date-block{font-family:var(--serif);font-size:1.8rem;line-height:1.2}.date-block small{display:block;font:12px var(--sans);margin-top:10px;color:var(--muted)}.archive-preview{background:var(--wash)}.recordings{display:grid;gap:32px}.recording{min-width:0;display:flex;flex-direction:column}.thumb{display:block;aspect-ratio:16/9;background:#dfe6dd;overflow:hidden;position:relative;border-radius:4px;text-decoration:none}.thumb img{width:100%;height:100%;object-fit:cover}.watch-label{position:absolute;bottom:10px;left:10px;color:white;background:#153e32;padding:5px 10px;font-size:11px}.recording-meta{font-size:12px;color:var(--muted);margin-top:17px;display:flex;gap:10px;align-items:center}.recording h3{margin-top:8px;font-size:1.5rem;line-height:1.2}.recording h3 a{text-decoration:none}.recording h3 a:hover{text-decoration:underline}.recording .teacher{font-size:13px;margin-top:10px}.recording .recording-links{margin-top:16px;display:flex;gap:16px;font-size:12px;font-weight:600;flex-wrap:wrap}.recording-links a{padding-block:8px}.heritage{display:grid;gap:28px;align-items:center}.heritage img{width:160px;height:190px;object-fit:cover;filter:grayscale(1)}.heritage p{color:var(--muted);margin-top:20px}.site-footer{border-top:1px solid var(--line);padding:30px 0}.footer-inner{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;font-size:12px;color:var(--muted)}.footer-inner nav{display:flex;gap:24px}.archive-head{padding:48px 0 32px}.archive-head p{margin-top:18px;color:var(--muted);max-width:640px}.archive-tools{padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.search-row{display:grid;gap:16px}.field{display:grid;gap:7px;font-size:12px;font-weight:600}.field input,.field select{min-width:0;width:100%;min-height:48px;border:1px solid #9bac9f;background:white;color:var(--ink);border-radius:4px;padding:11px 13px;font-size:14px}.field input::placeholder{color:#586e60}.year-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.year-tab{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:4px;padding:10px 15px;min-height:44px;font-size:13px}.year-tab[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.results-line{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:24px 0;font-size:13px;color:var(--muted)}.reset{background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:var(--ink);min-height:44px;padding:8px}.empty{padding:40px 20px;background:var(--wash);grid-column:1/-1}.empty p{margin:15px 0}.archive-footnote{font-size:12px;color:var(--muted);margin-top:32px;max-width:730px}.faq{max-width:850px}.faq h2{margin-bottom:28px}.faq details{border-bottom:1px solid var(--line);padding-block:18px}.faq summary{cursor:pointer;font-weight:600;padding:6px 24px 6px 0}.faq details p{color:var(--muted);padding-block:14px}.no-script{padding:20px;background:var(--pink)}[hidden]{display:none!important}
@media(min-width:700px){.recordings{grid-template-columns:repeat(2,minmax(0,1fr))}.search-row{grid-template-columns:2fr 1fr 1fr}.session-note{grid-template-columns:220px 1fr}.heritage{grid-template-columns:220px 1fr}.invitation-layout{grid-template-columns:1.4fr 1fr;align-items:center}.invitation .actions{justify-content:end;margin-top:0}}
@media(min-width:1000px){.hero{padding:72px 0 80px}.hero-layout{grid-template-columns:1.45fr 1fr;gap:64px;align-items:stretch}.theme-panel{min-height:455px;padding:32px}.theme-panel h2{font-size:6.5rem}.hero-copy h1{font-size:4.65rem}.recordings{grid-template-columns:repeat(3,minmax(0,1fr))}.section{padding-block:80px}}
@media(max-width:600px){.header-inner{min-height:106px;align-items:start;flex-direction:column;gap:6px;padding-block:12px}.brand{font-size:11px;max-width:100%}.brand img{width:32px;height:38px}.brand small{display:none}.nav{gap:24px;width:100%;font-size:12px}.nav a{padding-block:8px}.hero{padding-top:32px}.hero-copy>p{font-size:16px;margin-top:18px}.hero-copy h1{font-size:2.8rem}.hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero .button{padding:12px 10px;font-size:12px}.season-dates{margin-top:22px;font-size:13px}.theme-panel{min-height:300px}.section-heading{display:block}.section-heading>.text-link{margin-top:12px}.section{padding-block:44px}.archive-head h1{font-size:2.8rem}.search-row{grid-template-columns:1fr 1fr}.search-row .field:first-child{grid-column:1/-1}.year-tab{flex-grow:1}.heritage{grid-template-columns:80px 1fr;gap:20px;align-items:start}.heritage img{width:80px;height:100px}.heritage h2{font-size:1.9rem}.heritage p{font-size:14px}.invitation h2{font-size:2rem}.invitation{padding:36px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Homepage refinement: image-led invitation, compact attendance and direct discovery. */
.restored-art{margin:0;display:flex;flex-direction:column;justify-content:center;min-width:0}.restored-art img{width:100%;height:auto;mix-blend-mode:multiply}.restored-art figcaption{display:grid;gap:6px;text-align:center;margin-top:12px}.restored-art strong{font:italic 42px/1.1 var(--serif)}.restored-art span{font:16px/1.4 var(--serif)}.restored-art small{font-size:10px;color:var(--muted)}
.season-opening{padding:30px 0 0}.season-identity{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line)}.season-identity h1{font:500 20px/1.35 var(--serif);letter-spacing:0}.season-identity h1 span{color:var(--rose)}.season-identity>p{font-size:11px;color:var(--muted)}.mobile-break{display:none}.visual-opening{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:20px;padding:30px 0}.opening-copy h2{font-size:clamp(3.6rem,6.4vw,5.9rem);line-height:1.02;letter-spacing:-.035em}.opening-copy h2 em{font-weight:400;color:var(--rose)}.opening-copy>p{font-size:15px;margin-top:24px}.opening-copy .button{margin-top:24px}.opening-archive{display:block;margin-top:14px;font-size:12px;padding-block:6px}.season-art{margin:0;min-width:0}.season-art img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;mix-blend-mode:multiply}.season-art figcaption{font-size:11px;text-align:center;color:var(--muted);margin-top:8px}.attendance{display:grid;grid-template-columns:1fr 1fr 1.25fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;gap:24px}.attendance span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.attendance strong{font-weight:500;font-size:14px}.programme-detail{font-size:12px;padding:14px 0}.programme-detail summary{cursor:pointer;min-height:36px;padding-block:8px}.programme-detail p{padding:10px 0 18px;color:var(--muted)}.discovery{background:var(--wash);margin-top:18px}.discovery .section-heading{margin-bottom:22px}.discovery .section-heading p{font-size:14px;margin-top:10px}.interest-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.interest-links a{padding:10px 16px;border:1px solid #b9c9bb;border-radius:4px;min-height:44px;text-decoration:none;font-size:12px;background:var(--paper)}.interest-links a:hover{background:var(--ink);color:white}.teacher-recording{display:flex;flex-direction:column;min-width:0}.teacher-photo{position:relative;display:block;overflow:hidden;background:#dce4dc;aspect-ratio:1.3;border-radius:4px}.teacher-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.play-disc{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--paper);color:var(--ink)}.teacher-description h3{font-size:1.6rem;margin-top:7px}.teacher-description h3 a{text-decoration:none}.teacher-description h3 a:hover{text-decoration:underline}.teacher-description .teacher{font-size:13px;margin-top:10px}.teacher-description .recording-links{font-size:12px;font-weight:600;display:flex;gap:20px;margin-top:8px}.season-shelf{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid #c6d4c8;margin-top:36px;padding-top:18px}.season-shelf>span{font-family:var(--serif);font-size:20px}.season-shelf nav{display:flex;gap:24px}.season-shelf a{min-height:44px;display:flex;align-items:center;font-size:14px}.heritage-note{padding:32px 0}.heritage-note>.wrap{display:flex;align-items:center;gap:20px}.heritage-note img{width:56px;height:66px;object-fit:cover;filter:grayscale(1);border-radius:50%}.heritage-note h2{font-size:24px}.heritage-note p{font-size:12px;color:var(--muted);margin-top:8px}.heritage-note .text-link{margin-left:auto;font-size:12px}
@media(max-width:699px){.season-opening{padding-top:20px}.season-identity{display:block;padding-bottom:14px}.season-identity h1{font-size:18px}.season-identity>p{font-size:10px;margin-top:5px}.visual-opening{grid-template-columns:1fr;gap:0;padding:16px 0 24px;position:relative}.opening-copy{display:contents}.opening-copy h2{grid-row:1;font-size:3.35rem;line-height:1.04;position:relative;z-index:1}.opening-copy h2 .perspective-break{display:none}.opening-copy h2 em{font-size:2.75rem}.season-art{grid-row:2;margin:-2px -10px 0}.season-art img{height:220px;aspect-ratio:auto;object-fit:contain}.season-art figcaption{display:none}.opening-copy>p{grid-row:3;margin-top:2px;font-size:13px;text-align:center}.opening-copy .button{grid-row:4;margin-top:18px;justify-self:stretch}.opening-archive{grid-row:5;text-align:center;margin-top:8px}.attendance{grid-template-columns:1fr 1fr;gap:14px;padding:18px 0}.attendance>div:last-child{grid-column:1/-1;display:flex;gap:12px;align-items:baseline;border-top:1px solid var(--line);padding-top:12px}.attendance strong{font-size:12px}.attendance span{font-size:10px}.discovery{margin-top:4px}.discovery .section-heading h2{font-size:2.2rem}.discovery .section-heading>.text-link{margin-top:2px;font-size:12px}.interest-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.interest-links a{padding:10px 8px;text-align:center;font-size:11px}.discovery .recordings{gap:22px}.teacher-recording{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:start}.teacher-photo{aspect-ratio: .85}.play-disc{width:32px;height:32px;bottom:8px;right:8px}.play-disc svg{width:17px;height:17px}.teacher-description .recording-meta{margin-top:0;font-size:10px}.teacher-description h3{font-size:1.3rem}.teacher-description .teacher{font-size:11px;margin-top:6px}.teacher-description .recording-links{font-size:11px;gap:12px;margin-top:3px}.season-shelf{margin-top:26px}.season-shelf nav{justify-content:space-between;width:100%;gap:12px}.heritage-note>.wrap{flex-wrap:wrap;gap:14px}.heritage-note h2{font-size:21px}.heritage-note p{font-size:10px}.heritage-note .text-link{margin-left:70px;margin-top:-12px}.heritage-note{padding:24px 0}}
