.program-page{background:#fffdec;color:#15314e}.program-page h1,.program-page h2,.program-page h3,.program-catalog h2{font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-weight:400;letter-spacing:-.035em}.program-page .program-hero{display:grid;grid-template-columns:1.35fr .8fr;gap:clamp(2rem,6vw,7rem);padding-top:4rem;padding-bottom:6rem;align-items:center}.program-page .program-hero h1{font-size:clamp(3.5rem,6.8vw,7.5rem);line-height:.98;max-width:900px;margin:1.5rem 0 2rem}.program-lead{font-size:1.15rem;line-height:1.8;max-width:650px;margin-bottom:2rem}.program-now{background:#15314e;color:#fffdec;padding:clamp(1.5rem,3vw,3.5rem);border-radius:2px;position:relative}.program-now .eyebrow{color:#e6c6a0}.program-now-number{display:block;font-size:.8rem;letter-spacing:.2em;margin:2rem 0}.program-page .program-now h2{font-size:clamp(2.8rem,4vw,4.6rem);line-height:1;margin-bottom:1.5rem}.program-now dl{border-top:1px solid #ffffff40;margin:2rem 0}.program-now dl>div{display:flex;justify-content:space-between;gap:1.5rem;padding:.9rem 0;border-bottom:1px solid #ffffff40}.program-now dt{opacity:.75}.program-now dd{margin:0}.program-now .button-cream{background:#fffdec;color:#15314e}.program-section-nav{border-block:1px solid #15314e33}.program-section-nav nav{display:flex;flex-wrap:wrap;gap:1.25rem 2rem;padding-block:1.5rem}.program-section-nav a{font-size:.85rem;text-decoration:none}.program-section-nav a:hover{text-decoration:underline;text-underline-offset:5px}.program-page .program-section{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,7vw,8rem);padding-block:6rem}.program-page .program-section h2,.program-page .program-curriculum h2{font-size:clamp(3rem,4.5vw,5.5rem);line-height:1.05;margin:1.2rem 0 2rem}.program-page p{line-height:1.85}.program-page .program-section h3{font-size:2rem;margin:2rem 0 1rem}.program-page .program-section h3:first-child{margin-top:0}.program-schedule{border-left:2px solid #650d18;padding-left:1.5rem}.program-curriculum{background:#f2f0e7;padding-block:5rem}.program-curriculum-list{margin-top:3rem}.program-curriculum-row{display:grid;grid-template-columns:70px 1fr minmax(130px,220px);gap:2rem;padding-block:2.5rem;border-top:1px solid #15314e35;align-items:start}.program-course-number{font-family:Georgia,serif;font-size:2rem;opacity:.45}.program-page .program-curriculum-row h3{font-size:clamp(2rem,3vw,3.3rem);margin:.6rem 0}.program-curriculum-row details{margin-top:1rem}.program-curriculum-row summary,.program-refunds summary{cursor:pointer;text-decoration:underline;text-underline-offset:5px;padding-block:.8rem}.program-curriculum-row li{line-height:1.8}.program-forthcoming{display:block;font-size:.8rem;opacity:.7;padding:1.2rem;border:1px solid #15314e25}.program-tuition{background:#eeece2}.program-promotion{border-left:3px solid #650d18;padding:.5rem 1.3rem;margin:2rem 0}.program-teachers>a{display:block;padding:1.5rem 0;border-top:1px solid #15314e33;text-decoration:none}.program-page .program-teachers h3{margin:0 0 .7rem!important}.program-course-nav{border-block:1px solid #15314e30;padding:2rem 0;margin:1rem 0 3rem}.program-course-nav nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:1.5rem;gap:.5rem}.program-course-nav nav a{padding:1rem;background:#f2f0e7;text-decoration:none;min-width:0}.program-course-nav nav a>*{display:block}.program-course-nav nav a span{font-size:.7rem;opacity:.65}.program-course-nav nav a strong{font-size:.85rem;margin:.7rem 0}.program-course-nav nav a small{font-size:.65rem}.program-course-nav nav a[aria-current]{background:#15314e;color:#fffdec}.program-course-nav nav a:hover{outline:1px solid #15314e}.program-catalog{padding-top:3rem}.program-catalog-card{display:flex;align-items:center;justify-content:space-between;gap:3rem;background:#f1eee3;padding:3rem;text-decoration:none;color:#15314e;border-top:3px solid #650d18}.program-catalog-card h2{font-size:clamp(2.5rem,4vw,4.5rem);line-height:1.1;margin:1rem 0}.program-catalog-card p{max-width:650px}.program-catalog-card .button{flex-shrink:0}.program-refunds{margin-top:2rem}
@media(max-width:1050px){.program-course-nav nav{grid-template-columns:repeat(3,minmax(0,1fr))}.program-catalog-card{padding:2rem}.program-page .program-hero{gap:2rem}.program-curriculum-row{grid-template-columns:45px 1fr;gap:1.5rem}.program-curriculum-row>div:last-child{grid-column:2}.program-catalog-card{flex-direction:column;align-items:flex-start}}
@media(max-width:650px){.program-page .program-hero,.program-page .program-section{grid-template-columns:1fr;padding-block:3.5rem;gap:2.5rem}.program-page .program-hero h1{font-size:3.7rem}.program-page .program-now h2{font-size:3rem}.program-section-nav nav{gap:1rem 1.4rem}.program-page .program-section h2{font-size:3.3rem}.program-curriculum{padding-block:3.5rem}.program-course-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}.program-curriculum-row{grid-template-columns:30px minmax(0,1fr);gap:1rem}.program-curriculum-row .button{width:100%;justify-content:center}.program-catalog-card{padding:1.5rem;gap:1.5rem}}
.program-catalog-card+.program-catalog-card{margin-top:1.5rem}.program-course-nav nav>.program-course-paused{padding:1rem;background:#f2f0e7;min-width:0;opacity:.65}.program-course-nav nav>.program-course-paused>*{display:block}.program-course-paused>span{font-size:.7rem}.program-course-paused strong{font-size:.85rem;margin:.7rem 0}.program-course-paused small{font-size:.65rem}
.program-course-nav nav:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.program-testimonials{background:#eeece2;padding:5rem 0}.program-testimonials h2{font-family:var(--serif);font-size:clamp(3rem,4.5vw,5.5rem)!important;line-height:1.05!important;margin:1rem 0 3rem}.program-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.program-quote-grid figure{margin:0;border-top:1px solid #15314e44;padding-top:1.5rem}.program-quote-grid blockquote{margin:0;font-size:1rem;line-height:1.9}.program-quote-grid blockquote p:before{content:'“'}.program-quote-grid blockquote p:after{content:'”'}.program-quote-grid figcaption{font-weight:600;margin-top:1.5rem;font-size:.85rem}.course-detail+.program-testimonials{padding:3rem 1.5rem;margin-top:3rem}.course-detail+.program-testimonials .wrap{width:100%}@media(max-width:760px){.program-quote-grid{grid-template-columns:1fr;gap:2rem}.program-testimonials{padding:3.5rem 0}}
/* Learning catalogue: compact introduction, explicit relationships, accessible multi-select controls. */
.catalogue-page{padding-block:38px 70px}.catalogue-intro{max-width:780px;margin-bottom:24px}.catalogue-intro .eyebrow{margin-bottom:9px}.catalogue-intro h1{font-size:clamp(40px,4.3vw,64px);line-height:1.08;letter-spacing:-.025em;margin:0 0 12px}.catalogue-intro>p:last-child{font-size:16px;line-height:1.65;color:var(--muted);margin:0}.catalogue-views{display:flex;gap:0;margin-bottom:14px}.catalogue-views button{min-height:48px;min-width:150px;padding:12px 25px;border:1px solid var(--blue);font-size:14px;font-weight:600}.catalogue-views button[aria-pressed=true]{background:var(--blue);color:var(--cream)}.catalogue-view-help{font-size:14px;color:var(--muted);margin:0 0 22px}.catalogue-toolbar{display:flex;gap:14px;align-items:stretch}.catalogue-search{display:block;flex:1;max-width:650px}.catalogue-search input{width:100%;min-height:52px;border:1px solid #15314e60;background:#fffef7;padding:12px 16px;color:var(--blue);font:inherit;font-size:14px;border-radius:2px}.catalogue-filter-toggle{display:none;min-height:52px;border:1px solid var(--blue);padding:10px 18px;font-size:14px;font-weight:600;white-space:nowrap}.catalogue-desktop-filters{border-block:1px solid var(--line);margin-top:18px}.catalogue-desktop-filters>summary{cursor:pointer;font-size:14px;font-weight:600;padding:18px 0;min-height:48px}.catalogue-desktop-filters[open]>summary{margin-bottom:0}#catalogue-desktop-controls{display:flex;flex-wrap:wrap;gap:20px 40px;padding-bottom:22px}.catalogue-desktop-filters fieldset,.catalogue-filter-dialog fieldset{border:0;margin:0;padding:0;min-width:0}.catalogue-desktop-filters fieldset{flex:1 1 260px}.catalogue-desktop-filters legend,.catalogue-filter-dialog legend{font-size:16px;font-weight:700;margin-bottom:8px}.catalogue-desktop-filters fieldset>p,.catalogue-filter-dialog fieldset>p{font-size:12px;margin:0 0 12px;color:var(--muted)}.catalogue-choices{display:flex;flex-wrap:wrap;gap:8px}.catalogue-choice{border:1px solid #15314e66;background:#fffef7;border-radius:3px;padding:11px 15px;min-height:46px;font-size:13px;line-height:1.4;text-align:left}.catalogue-choice.selected{background:var(--blue);color:var(--cream);border-color:var(--blue)}.catalogue-choice.selected:before{content:'✓ ';font-weight:700}.catalogue-active{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.catalogue-active:empty{display:none}.catalogue-active button{min-height:44px;background:#e4ebed;border:1px solid #15314e40;border-radius:30px;padding:8px 15px;font-size:13px}.catalogue-results-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0 16px}.catalogue-results-head p{font-size:13px;margin:0}.catalogue-results-head button{font-size:13px;min-height:44px}.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.catalogue-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-card{min-width:0;border:1px solid #15314e66;border-radius:3px;padding:24px;display:flex;flex-direction:column;gap:12px;background:#fffef744}.catalogue-card h2,.catalogue-card h3{font-family:var(--serif);font-weight:500;font-size:clamp(28px,2.5vw,36px);line-height:1.12;margin:0;overflow-wrap:anywhere}.catalogue-card>p{font-size:14px;line-height:1.7;margin:0;color:var(--muted)}.catalogue-parent{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;line-height:1.6}.catalogue-parent a{text-decoration:underline;text-underline-offset:3px;display:inline-block;min-height:28px}.catalogue-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--maroon)}.catalogue-statuses{display:flex;flex-wrap:wrap;gap:7px}.catalogue-status{display:inline-block;font-size:11px;border-radius:4px;padding:6px 9px;line-height:1.5;color:var(--blue);background:#e7ebed}.catalogue-status.status-accepting{background:#f2e1db;color:#650c0c}.catalogue-status.status-in-session{background:#e2ebdb;color:#1d482b}.catalogue-status.status-coming-soon{background:#e5e9ef}.catalogue-meta{display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.6;margin-top:auto;padding-top:6px}.catalogue-card>.button{width:100%;min-height:48px;text-align:center;justify-content:center;font-size:13px;margin-top:6px;padding-inline:12px;white-space:normal}.catalogue-help{margin-top:28px;font-size:14px;border-top:1px solid var(--line);padding-top:22px}.catalogue-grid .empty-state{grid-column:1/-1}.catalogue-filter-dialog{display:grid;gap:28px;margin-top:24px}.catalogue-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;position:sticky;bottom:0;background:var(--cream);padding-top:20px;margin-top:20px}.catalogue-filter-actions .text-link{min-height:48px}.catalogue-upcoming{padding-block:45px 70px}.catalogue-upcoming h1{font-size:clamp(44px,6vw,84px);line-height:1.1;margin-block:24px}.catalogue-upcoming-lead{font-size:19px;line-height:1.7;max-width:720px}.catalogue-upcoming>.catalogue-grid{margin-block:26px}.catalogue-upcoming>.button{margin:15px 20px 0 0}.catalogue-upcoming .catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-coming-soon .catalogue-meta{color:var(--muted)}
@media(min-width:901px){.catalogue-desktop-filters{display:block}.catalogue-desktop-filters>summary{list-style:none}.catalogue-desktop-filters>summary::-webkit-details-marker{display:none}}
@media(max-width:1050px){.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.catalogue-page{padding-top:28px}.catalogue-desktop-filters{display:none}.catalogue-filter-toggle{display:block}.catalogue-intro h1{font-size:44px}.catalogue-views button{flex:1;min-width:0;padding-inline:16px}.catalogue-card{padding:20px}.catalogue-filter-actions .button{min-height:50px}.catalogue-filter-dialog .catalogue-choice{min-height:48px}.catalogue-intro>p:last-child{font-size:14px}.catalogue-view-help{font-size:12px;line-height:1.65}.catalogue-toolbar{gap:10px}.catalogue-search input{font-size:16px}.catalogue-filter-actions{padding-bottom:env(safe-area-inset-bottom)}}
@media(max-width:600px){.catalogue-grid,.catalogue-program-grid,.catalogue-upcoming .catalogue-grid{grid-template-columns:minmax(0,1fr)}.catalogue-intro h1{font-size:40px}.catalogue-card h2,.catalogue-card h3{font-size:32px}.catalogue-intro{margin-bottom:18px}.catalogue-toolbar{flex-wrap:nowrap}.catalogue-filter-toggle{padding-inline:12px}.catalogue-search{min-width:0}.catalogue-search input{padding-inline:12px}.catalogue-help{font-size:13px}.catalogue-filter-actions{gap:10px}.catalogue-filter-actions .button{font-size:12px;padding-inline:12px}}
/* Events share catalogue filters, with the calendar retained on the same page. */
.events-page .catalogue-views{align-items:center;flex-wrap:wrap}.events-page .catalogue-views>a{margin-left:auto;padding:12px}.events-calendar{margin-top:60px;padding-top:32px;border-top:1px solid var(--line)}.events-calendar>.section-head{margin-bottom:28px}.events-calendar .section-head h2{font-size:clamp(34px,4vw,52px)}.events-calendar .section-head p:last-child{font-size:13px;line-height:1.7}.events-calendar .calendar-layout{padding-block:0;gap:28px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.events-calendar .calendar-grid{min-width:0}.events-calendar .calendar-day{min-width:0;min-height:64px}.events-calendar .calendar-day small{font-size:9px;overflow-wrap:anywhere}.event-card>img{width:100%;aspect-ratio:16/9;object-fit:cover}.event-date-banner{background:var(--blue);color:var(--cream);padding:20px;min-height:100px;display:flex;flex-direction:column;justify-content:space-between;gap:15px}.event-date-banner>span{font-size:13px;line-height:1.5}.event-date-banner strong{font-family:var(--serif);font-size:30px;font-weight:500}.event-detail{padding-block:35px 65px}.event-detail .catalogue-intro{margin-block:28px}.event-detail .catalogue-intro h1{font-size:clamp(38px,4.5vw,66px)}.event-sample-notice{padding:18px 22px;background:#e6ebef;border-left:4px solid var(--blue);font-size:14px;line-height:1.6}.event-sample-notice p{margin:7px 0 0}.event-detail-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:50px;margin:35px 0}.event-detail-layout h2{font-size:34px;line-height:1.2;margin-bottom:20px}.event-detail-layout>div>p{font-size:14px;line-height:1.8}.event-facts{padding:26px;border:1px solid var(--line);align-self:start}.event-facts dl{margin:0 0 20px}.event-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:16px}.event-facts dd{font-size:14px;line-height:1.7;margin:4px 0}.event-facts .button{width:100%;margin-top:12px;justify-content:center;font-size:13px}.event-facts .text-link{display:block;margin-top:18px;font-size:13px}.event-cover{width:100%;max-height:440px;object-fit:cover}
@media(max-width:900px){.events-calendar .calendar-layout{grid-template-columns:minmax(0,1fr)}.event-detail-layout{grid-template-columns:minmax(0,1fr);gap:24px}.events-page .catalogue-views>a{margin-left:0;font-size:12px}.events-calendar{margin-top:40px}.events-calendar .calendar-grid{width:100%}}
@media(max-width:600px){.events-page .catalogue-intro h1{font-size:38px}.events-page .catalogue-views button{font-size:12px;white-space:normal}.events-page .catalogue-views>a{width:100%;padding-left:0}.events-calendar .calendar-day{min-height:58px;padding:7px 3px}.events-calendar .calendar-weekday{font-size:10px}.event-detail .catalogue-intro h1{font-size:40px}.event-facts{padding:20px}.events-calendar .calendar-day small{font-size:8px}}
/* Keep desktop cards within reach: filters open on demand above the results. */
.catalogue-toolbar{align-items:start}.catalogue-search{min-width:0}.catalogue-desktop-filters{border:0;margin:0;min-width:0}.catalogue-desktop-filters #catalogue-desktop-controls{display:flex;gap:10px;padding:0;flex-wrap:nowrap}.catalogue-filter-popover{position:relative;min-width:100px}.catalogue-filter-popover>summary{cursor:pointer;border:1px solid #15314e66;background:#fffef7;min-height:52px;padding:15px 14px;display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;font-size:13px;font-weight:600;white-space:nowrap}.catalogue-filter-popover>summary::-webkit-details-marker{display:none}.catalogue-filter-popover[open]>summary{background:#e5ebed}.catalogue-popover-body{position:absolute;top:calc(100% + 8px);left:0;width:330px;max-width:calc(100vw - 40px);max-height:60vh;overflow:auto;z-index:25;background:var(--cream);border:1px solid var(--blue);padding:22px;box-shadow:0 12px 35px #15314e20}.catalogue-filter-popover:last-child .catalogue-popover-body{left:auto;right:0}.catalogue-popover-body fieldset{flex:initial}.catalogue-results-head{margin-top:14px}.catalogue-intro{margin-bottom:20px}.catalogue-view-help{margin-bottom:18px}
@media(min-width:901px){.catalogue-search{flex:1;max-width:none}.catalogue-toolbar{gap:14px}.catalogue-page{padding-top:28px}}
@media(max-width:900px){.catalogue-desktop-filters{display:none}.catalogue-toolbar{align-items:stretch}}
.dialog-shell:has(.catalogue-filter-dialog) h2{font-size:36px;line-height:1.1;margin-bottom:18px}.dialog-shell:has(.catalogue-filter-dialog) .dialog-close{position:sticky;top:0;float:right;right:0;z-index:4;width:44px;height:44px;margin-top:-10px;background:var(--cream)}

.outreach-page{max-width:1000px}.outreach-intro{font-size:1.2rem;line-height:1.7}.outreach-content{max-width:760px}.outreach-content h2{margin-top:2em}.catalogue-views{flex-wrap:wrap;gap:12px}.catalogue-views>a{display:inline-flex;align-items:center;padding:12px 16px}

.program-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:32px;padding-bottom:40px;border-top:1px solid #15314e30}.program-contact p{margin:0}

/* Keep the learning switch together and make the current view unmistakable. */
.catalogue-page .catalogue-views{background:#eee5dd;border-left:4px solid #4d0000;padding:10px;gap:6px;margin:24px 0;align-items:stretch}
.catalogue-page .catalogue-views>a,.catalogue-page .catalogue-views>button{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:11px 17px;border:1px solid transparent;background:transparent;color:#4d0000;font:600 14px/1.4 var(--sans);text-align:center}
.catalogue-page .catalogue-views>a:hover,.catalogue-page .catalogue-views>button:hover{background:#e4d4c9}
.catalogue-page .catalogue-views>button[aria-pressed=true]{background:#4d0000;border-color:#4d0000;color:#fffde9}
.catalogue-page .catalogue-views>a[aria-current=page]{background:#4d0000;color:#fffde9}
.catalogue-page .catalogue-views :focus-visible{outline:3px solid #4d0000;outline-offset:2px}
.collection-page .collection-past{padding-block:32px 20px}
.collection-page .collection-past h2{font-size:clamp(32px,3.5vw,48px);margin-bottom:24px}
@media(max-width:600px){.catalogue-page .catalogue-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-page .catalogue-views>a,.catalogue-page .catalogue-views>button{width:100%;padding:10px 8px;white-space:normal}.catalogue-intro h1{font-size:40px}}
