/* Photo framing is presentation only: originals remain intact in the galleries. */
.multi-page .wrap{width:min(1180px,calc(100% - 88px))}
.multi-page [hidden]{display:none!important}
.multi-page .section{padding-block:84px}
.multi-page h1{font:clamp(3.3rem,5.8vw,5.5rem)/1.08 var(--serif);letter-spacing:-.055em;font-weight:400}
.multi-page h2{font-size:clamp(2.5rem,3.9vw,3.8rem)}
.multi-page h3{font:1.9rem/1.18 var(--serif);letter-spacing:-.025em}
.multi-page .eyebrow{font-size:.7rem;letter-spacing:.15em;line-height:1.7}
.multi-page .button{gap:12px;min-height:50px}
.underlink{display:inline-block;width:fit-content;padding:8px 0;border:0;border-bottom:1px solid currentColor;background:transparent;font-size:.94rem;line-height:1.5;text-align:left}
.underlink:hover{color:#886f4b}
.preview-note{font-size:.75rem;padding:7px 16px}
.site-header{display:flex;align-items:center;gap:30px;padding-block:25px;position:relative;z-index:10}
.site-header .wordmark{margin-right:auto;flex-shrink:0}
.site-nav{display:flex;align-items:center;gap:27px;font-size:.86rem}
.site-nav a{display:block;padding:10px 0;border-bottom:1px solid transparent;white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current=page]{border-color:var(--ink)}
.header-book{font-size:.85rem;padding:12px 19px;flex-shrink:0}
.menu-toggle{display:none}
.media-frame{position:relative;display:block;width:100%;min-width:0;overflow:hidden;padding:0;border:0;background:#e1e3da;isolation:isolate}
.media-frame.portrait{aspect-ratio:3/4}
.media-frame.landscape{aspect-ratio:3/2}
.media-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 50%);transition:transform .55s ease}
.photo-button:hover>img,.zone-teaser:hover img,.programme-image:hover img{transform:scale(1.025)}
.photo-affordance{position:absolute;right:13px;bottom:13px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f8f7f2e8;color:var(--ink);font:1.35rem var(--serif);opacity:0;transition:opacity .2s}
.photo-button:hover .photo-affordance,.photo-button:focus-visible .photo-affordance{opacity:1}
.home-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:68px;align-items:center;padding:38px 0 68px}
.home-hero h1{font-size:clamp(4rem,6.5vw,6.2rem);margin:30px 0 26px}
.hero-lead{font-size:1.08rem;line-height:1.7;color:var(--muted)}
.hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin-top:30px}
.hero-footnote{display:flex;flex-direction:column;gap:4px;margin-top:56px;font-size:.83rem}
.hero-footnote span:last-child{color:var(--muted)}
.home-hero-image{margin:0;max-width:476px;width:100%;justify-self:end}
.home-hero-image figcaption{font-size:.75rem;display:flex;justify-content:space-between;gap:16px;margin-top:13px;color:var(--muted)}
.home-hero-image figcaption span{font:italic .98rem var(--serif);color:var(--ink)}
.home-zones{border-top:1px solid var(--line)}
.home-zone-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.zone-teaser>div:not(.media-frame){display:flex;align-items:baseline;gap:11px;margin-top:18px}
.zone-teaser h3{font-size:1.75rem}
.zone-teaser>p{font-size:.8rem;color:var(--muted);margin-top:6px}
.section-link{display:flex;justify-content:space-between;gap:18px;margin-top:28px}
.home-gatherings{background:#eceee5}
.occasion-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.occasion-grid .eyebrow{margin-top:27px}
.occasion-grid h3{font-size:2.3rem;margin:10px 0 14px}
.occasion-grid article>p:not(.eyebrow){max-width:470px;font-size:.95rem;color:var(--muted)}
.occasion-grid .underlink{margin-top:19px}
.multi-page #location{gap:58px;align-items:center}
.multi-page .location-photo{height:auto;aspect-ratio:4/3;overflow:hidden}
.multi-page .location-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.page-intro{display:grid;grid-template-columns:1.45fr 1fr;gap:65px;align-items:end;padding-block:65px 64px}
.page-intro h1{margin-top:23px}
.page-intro-aside{max-width:365px;padding-bottom:6px;color:var(--muted);font-size:1rem}
.page-intro-aside .underlink{color:var(--ink);margin-top:20px}
.zone-anchor-nav{display:flex;gap:30px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 22px;font-size:.9rem}
.zone-anchor-nav a{padding:6px 0}
.zone-anchor-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.zone-section{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:72px;padding-block:68px;border-bottom:1px solid var(--line);align-items:center;scroll-margin-top:25px}
.zone-section:last-child{border:0}
.zone-gallery-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:26px}
.zone-gallery-links .underlink{margin-top:0!important;text-align:left}
.zone-subcollection{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:72px;border-top:1px solid var(--line);padding-top:40px;align-items:center}
.zone-subcollection h3{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;line-height:1.15;margin:16px 0}
.zone-first-area{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}
.zone-first-area h3{font-family:Georgia,serif;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;line-height:1.2;margin:0}
.zone-first-area .underlink{margin-top:16px}
.decor-preview{min-width:0}
.decor-contact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.decor-contact-strip .media-frame{aspect-ratio:3/4}
@media(max-width:1000px){.zone-subcollection{gap:36px}}
@media(max-width:680px){.zone-subcollection{grid-template-columns:1fr;gap:26px;padding-top:30px}.decor-contact-strip{gap:8px}.zone-gallery-links{margin-top:20px;gap:14px}}
.zone-description h2{margin:14px 0 20px}
.zone-status{display:inline-block;font-size:.73rem;padding:5px 11px;border:1px solid #bec8b7}
.zone-description>p:not(.eyebrow){margin-top:22px;color:var(--muted);font-size:.95rem;line-height:1.7}
.zone-description .underlink{margin-top:25px}
.zone-photo-layout{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:14px;aspect-ratio:9/8;min-width:0}
.zone-photo-layout>.media-frame{height:100%;aspect-ratio:auto;min-height:0}
.zone-photo-layout>.zone-main-photo{grid-row:span 2}
.equipment-section{padding-top:10px}
.multi-page .equipment-note{margin-top:0;padding:34px 38px;display:flex;gap:35px;justify-content:space-between;align-items:center;background:#eceee5}
.equipment-note h3{margin-top:8px;font-size:1.8rem}
.equipment-note p:not(.eyebrow){color:var(--muted);font-size:.94rem;margin-top:12px;max-width:650px}
.equipment-note .button{flex-shrink:0}
.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.film-grid[data-count="1"]{grid-template-columns:minmax(0,360px)}
.season-overview{border-top:1px solid var(--line)}
.season-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.season-card h3{font-size:2rem;margin:20px 0 10px}
.season-card>p{font-size:.9rem;color:var(--muted);margin-bottom:14px}
.season-decor-link{margin-top:30px}
.decor-section .zone-description>p{max-width:29em}
.film-grid[data-count="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.event-films:has(.film-grid[data-count="3"]){max-width:none}
.event-films .film-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.film-card h3{font-size:1.65rem;margin-top:20px}
.film-card>p{font-size:.9rem;line-height:1.6;color:var(--muted);margin-top:9px}
.film-play{position:absolute;bottom:24px;left:0;right:0;width:fit-content;margin-inline:auto;padding:10px 17px;color:white;background:#263c31e8;display:flex;align-items:center;gap:10px;font-size:.8rem}
.film-play>span{font-size:1.6rem;line-height:1}
.video-trigger:hover img{transform:scale(1.025)}
.page-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding-block:55px 70px}
.page-cta h2{margin:0;font-size:clamp(2.2rem,3.7vw,3.5rem)}
.page-cta .eyebrow{margin-bottom:16px}
.page-cta .button{flex-shrink:0}
.portrait-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}
.portrait-grid,.event-photo-grid{container-type:inline-size;--columns:3;--photo-gap:26px;grid-auto-flow:dense}
.portrait-grid .photo-card .media-frame,.event-photo-grid .photo-card .media-frame{height:calc((100cqw - (var(--columns) - 1)*var(--photo-gap))/var(--columns)*4/3);aspect-ratio:auto}
.portrait-grid .wide-photo,.event-photo-grid .wide-photo{grid-column:span 2}
.photo-card{padding:0!important;min-width:0;margin:0}
.photo-card figcaption{margin-top:12px;font-size:.83rem;line-height:1.5}
.photo-card small{display:block;margin-top:4px;font-size:.74rem;color:var(--muted);overflow-wrap:anywhere}
.photo-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:960px;margin-inline:auto}
.photo-stories .portfolio-more{margin-top:38px}
.multi-page .window-stories{padding-top:84px}
.window-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.multi-page #booking{border-top:1px solid var(--line)}
.programme-section{padding-bottom:80px}
.agenda-announcement{padding:17px 21px;border-left:2px solid #8b987a;background:#eceee5;margin-bottom:36px;color:var(--muted);font-size:.92rem}
.programme-featured{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:65px}
.programme-card .event-badge,.event-detail .event-badge{background:transparent;border:1px solid #b9c3af;color:var(--ink);display:inline-block;width:fit-content;font-size:.73rem;padding:5px 10px;margin-bottom:23px}
.programme-date{font-size:.85rem;color:var(--muted);margin-bottom:14px}
.programme-copy h2{margin:0 0 20px;font-size:clamp(2.6rem,4.4vw,4rem)}
.programme-copy>p:not(.programme-date):not(.event-badge):not(.programme-price){color:var(--muted);font-size:.98rem;line-height:1.7}
.programme-copy .programme-price{font:1.5rem var(--serif);margin-top:24px}
.programme-copy .button{margin-top:25px}
.archive-events{margin-top:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.archive-events summary{cursor:pointer;font:1.75rem var(--serif);padding:28px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none}
.archive-events summary::-webkit-details-marker{display:none}
.archive-events summary::after{content:'+';font:1.8rem var(--serif)}
.archive-events[open] summary::after{content:'−'}
.archive-events summary span{font:1rem var(--sans);margin-right:auto;color:var(--muted)}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:8px 0 35px}
.archive-grid .programme-copy{padding-top:22px}
.archive-grid .event-badge{margin-bottom:15px}
.archive-grid h3{font-size:2rem;margin-bottom:15px}
.archive-grid .programme-copy>p:not(.programme-date):not(.event-badge):not(.programme-price){font-size:.9rem}
.archive-grid .programme-price{font-size:1.25rem}
.archive-grid .button{font-size:.85rem;padding-inline:18px}
.private-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:85px;align-items:center;padding-block:45px 64px}
.private-hero h1{margin-top:27px;font-size:clamp(3.3rem,5.6vw,5.3rem)}
.private-hero>div>p:not(.eyebrow){margin-top:26px;max-width:460px;color:var(--muted);font-size:1.02rem;line-height:1.7}
.private-hero .button{margin-top:30px}
.private-hero-note{display:block;font-size:.83rem;color:var(--muted);margin-top:20px}
.event-lookbook{border-top:1px solid var(--line)}
.event-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}
.event-films{margin-top:48px;max-width:760px;margin-inline:auto}
.event-films .film-grid{grid-template-columns:1fr 1fr;gap:26px}
.event-calculator-section{border-top:1px solid var(--line)}
.event-calculator-section .section-head{align-items:start}
.event-calculator-section .event-estimate{top:25px}
.event-detail{padding-block:30px 90px}
.back-link{margin-bottom:34px;font-size:.83rem}
.event-detail-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:center}
.event-detail h1{font-size:clamp(3.1rem,4.4vw,4.5rem);margin:18px 0 25px}
.event-detail-copy>p:not(.eyebrow){color:var(--muted)}
.programme-options{margin:30px 0 22px;border-top:1px solid var(--line)}
.programme-options>div{display:flex;gap:20px;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:.94rem}
.programme-options strong{white-space:nowrap;font-weight:500}
.event-detail .button{margin-top:25px}
.detail-address{font-size:.83rem;margin-top:20px}
.site-footer{background:#e9ece3;padding-top:54px}
.footer-main{display:grid;grid-template-columns:1fr 1.25fr 1.3fr;gap:60px;padding-bottom:42px}
.footer-main>div>p:not(.eyebrow){margin-top:22px;color:var(--muted);font-size:.9rem}
.footer-main address{font-style:normal;line-height:1.7;font-size:.9rem;margin-top:17px}
.footer-main .underlink{font-size:.84rem;margin-top:10px}
.footer-email{display:block;font-size:.97rem;margin-top:17px;overflow-wrap:anywhere}
.footer-social{display:flex;gap:25px;margin-top:17px;font-size:.86rem}
.footer-social a:hover,.footer-docs a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-docs{border-top:1px solid #cbd2c4;border-bottom:1px solid #cbd2c4;padding-block:21px;display:flex;gap:13px 24px;flex-wrap:wrap;font-size:.76rem;color:#525f4e}
.footer-fine{padding-block:24px 28px;font-size:.73rem;line-height:1.6;color:#616d5c}
.footer-fine>p+p{margin-top:9px}
.footer-fine>div{display:flex;justify-content:space-between;gap:20px;margin-top:23px}
body:has(dialog[open]){overflow:hidden}
.multi-page #lightbox{width:min(1000px,94vw);max-height:94dvh;padding:24px}
.lightbox-stage{height:min(62vh,680px);display:flex;align-items:center;justify-content:center;background:#eceee5}
.multi-page #lightbox-image{width:auto;height:auto;min-height:0;max-width:100%;max-height:min(62vh,680px);object-fit:contain;background:transparent}
.multi-page .gallery-thumbs{margin-top:14px}
.multi-page .gallery-thumbs button{width:52px;height:58px}
.video-dialog{width:min(780px,94vw);padding:25px;max-height:94dvh}
.video-dialog h2{font-size:1.7rem;margin:0 40px 20px 0}
#video-player{display:block;max-height:75vh;width:100%;background:#1c2a20;object-fit:contain}
.multi-page .close-dialog{z-index:2}
.multi-page .calendar-main{padding-top:45px}
.multi-page .calendar-footnote{padding-bottom:15px}
@media(max-width:1100px){
 .site-nav{gap:17px;font-size:.8rem}.site-header{gap:23px}.header-book{padding-inline:15px;font-size:.8rem}
 .home-hero{gap:38px}.home-hero h1{font-size:5rem}.home-hero-image{max-width:420px}.hero-links{gap:15px}.hero-links .underlink{font-size:.86rem}
 .page-intro{gap:40px;grid-template-columns:1.4fr 1fr}.zone-section{gap:40px}.private-hero{gap:44px}.event-detail-grid,.programme-featured{gap:40px}
 .footer-main{gap:35px}.equipment-note .button{max-width:195px}
}
@media(max-width:900px){
 .multi-page .wrap{width:calc(100% - 48px)}.site-header{gap:18px;padding-block:21px}.site-header .wordmark{font-size:2.1rem}
 .menu-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:44px;background:transparent;border:1px solid #bbc5b3}
 .menu-toggle span{display:block;width:18px;height:1px;background:var(--ink);transition:transform .2s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .site-nav{display:none;position:absolute;top:calc(100% - 6px);left:0;right:0;padding:15px 22px 22px;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 25px #263c3110;font-size:1rem;z-index:20}
 .site-nav.is-open{display:grid;gap:2px}.site-nav a{padding:13px 0;border-bottom:1px solid var(--line)}
 .home-hero{gap:32px}.home-hero h1{font-size:clamp(3.3rem,7vw,4.6rem)}.hero-footnote{margin-top:30px}.hero-lead{font-size:.95rem}
 .home-zone-grid{gap:17px}.zone-teaser h3{font-size:1.4rem}.zone-teaser>div:not(.media-frame){gap:6px}
 .section-head{gap:30px}.section-aside{max-width:300px;font-size:.9rem}.occasion-grid{gap:27px}
 .page-intro{grid-template-columns:1.3fr 1fr;gap:35px;padding-block:42px 50px}.multi-page h1{font-size:3.7rem}
 .zone-section{gap:30px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.zone-photo-layout{gap:10px}
 .film-grid{gap:20px}.equipment-note .button{max-width:none}.multi-page .equipment-note{padding:30px;flex-wrap:wrap}
 .portrait-grid{gap:28px 20px;--photo-gap:20px}.window-photo-grid{gap:16px}.archive-grid{gap:20px}.archive-grid h3{font-size:1.7rem}
 .private-hero{gap:30px;grid-template-columns:1.1fr 1fr}.private-hero h1{font-size:3.5rem}.private-hero>div>p:not(.eyebrow){font-size:.94rem}
 .footer-main{grid-template-columns:.7fr 1fr 1.25fr;gap:28px}.footer-email{font-size:.85rem}
}
@media(max-width:680px){
 .season-grid{gap:28px;grid-template-columns:1fr}.season-card>.media-frame{aspect-ratio:4/3}.season-card h3{margin-top:17px}
 .film-grid[data-count="4"],.event-films .film-grid[data-count="3"]{grid-template-columns:1fr 1fr}
 .multi-page .section{padding-block:58px}.multi-page h1{font-size:3.3rem}.multi-page h2{font-size:2.65rem}
 .home-hero{grid-template-columns:1fr;gap:32px;padding-top:24px;padding-bottom:44px}.home-hero h1{font-size:4.25rem;margin-top:24px}.hero-lead{font-size:1rem}.hero-links{margin-top:25px;gap:15px 23px}.hero-footnote{margin-top:28px}
 .home-hero-image{max-width:none;width:100%;justify-self:stretch}.home-hero-image figcaption{font-size:.69rem}
 .home-zone-grid{grid-template-columns:1fr 1fr;gap:27px 18px}.zone-teaser h3{font-size:1.75rem}.zone-teaser>p{font-size:.75rem}
 .section-head{display:block;margin-bottom:29px}.section-head h2{margin-top:14px}.section-aside{margin-top:20px;max-width:440px}
 .section-link{flex-wrap:wrap;gap:10px 25px;margin-top:25px}.section-link .underlink{font-size:.86rem}
 .occasion-grid{grid-template-columns:1fr;gap:42px}.occasion-grid h3{font-size:2rem}.occasion-grid .eyebrow{margin-top:23px}
 .multi-page #location{gap:30px}.multi-page .location-photo{aspect-ratio:4/3}.multi-page .location-copy{padding:0}
 .page-intro{grid-template-columns:1fr;gap:24px;padding-block:35px 36px}.page-intro-aside{max-width:470px;font-size:.94rem}.page-intro h1{margin-top:18px}
 .zone-anchor-nav{gap:6px 23px;font-size:.83rem;padding-bottom:18px}.zone-section{grid-template-columns:1fr;gap:28px;padding-block:40px}.zone-description>p:not(.eyebrow){margin-top:16px}.zone-description h2{margin-bottom:16px}.zone-description .underlink{margin-top:15px}.zone-photo-layout{gap:12px}.zone-status{font-size:.73rem}
 .multi-page .equipment-note{padding:25px}.equipment-note h3{font-size:1.65rem}
 .film-grid{grid-template-columns:1fr 1fr;gap:27px 18px}.film-card h3{font-size:1.4rem}.film-card>p{font-size:.82rem}.film-play{font-size:.72rem;padding:7px 10px;gap:7px;bottom:14px}.film-play>span{font-size:1.3rem}
 .page-cta{display:block;padding-block:37px 48px}.page-cta .button{margin-top:25px}
 .portrait-grid{grid-template-columns:1fr 1fr;gap:25px 16px}.portrait-grid,.event-photo-grid{--columns:2;--photo-gap:16px}.photo-card figcaption{font-size:.75rem;margin-top:10px}.photo-card small{font-size:.69rem}.window-photo-grid{grid-template-columns:1fr 1fr;gap:25px 16px}.multi-page .window-stories{padding-top:58px}
 .programme-section{padding-bottom:45px}.agenda-announcement{font-size:.85rem;padding:16px 18px;margin-bottom:27px}.programme-featured{grid-template-columns:1fr;gap:27px}.programme-image{max-width:100%}.programme-copy h2{font-size:3rem}.programme-featured>.programme-image .media-frame{aspect-ratio:4/3}.programme-copy .programme-price{margin-top:18px}.archive-events{margin-top:40px}.archive-grid{grid-template-columns:1fr;gap:38px}.archive-grid h3{font-size:2rem}.archive-events summary{font-size:1.55rem}
 .private-hero{grid-template-columns:1fr;gap:32px;padding-block:30px 42px}.private-hero h1{font-size:3.6rem;margin-top:23px}.private-hero>div>p:not(.eyebrow){margin-top:22px;font-size:1rem}.private-hero .button{margin-top:25px}.private-hero>.media-frame{aspect-ratio:4/3}.event-photo-grid{grid-template-columns:1fr 1fr;gap:25px 16px}.event-films{margin-top:32px}.event-films .film-grid{gap:16px}
 .event-detail{padding-block:17px 48px}.event-detail-grid{grid-template-columns:1fr;gap:30px}.event-detail-grid>.media-frame{aspect-ratio:4/3}.event-detail h1{font-size:3.2rem}.event-detail .event-badge{margin-bottom:18px}.back-link{margin-bottom:25px}
 .footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-main>div:first-child>p{margin:0;font-size:.83rem}.footer-main address{font-size:.83rem}.footer-email{font-size:.83rem}.footer-social{gap:17px;font-size:.8rem}.footer-docs{font-size:.74rem}.footer-fine>div{display:block}.footer-fine>div span{display:block;margin-top:8px}
 .multi-page #lightbox{padding:17px}.lightbox-stage{height:55dvh}.multi-page #lightbox-image{max-height:55dvh}.multi-page #lightbox h2{font-size:1.5rem}.multi-page .gallery-controls p{font-size:.78rem}.multi-page .gallery-thumbs button{width:42px;height:48px}.video-dialog{padding:20px}.video-dialog h2{font-size:1.5rem}.multi-page .calendar-main{padding-top:23px}
}
@media(max-width:380px){
 .multi-page .wrap{width:calc(100% - 32px)}.site-header{gap:12px}.site-header .wordmark{font-size:1.95rem}.site-header .wordmark span{font-size:.55rem}.header-book{padding-inline:11px;font-size:.77rem;min-height:44px!important}.menu-toggle{width:36px}
 .home-hero h1{font-size:3.7rem}.multi-page h1{font-size:3rem}.private-hero h1{font-size:3.1rem}.home-hero-image figcaption span{font-size:.88rem}.zone-teaser h3{font-size:1.45rem}.zone-teaser .small-index{font-size:.65rem}.film-play{font-size:.63rem;padding:7px 8px}.film-card h3{font-size:1.3rem}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}.footer-main address,.footer-email{font-size:.94rem}.footer-main>div:first-child>p{max-width:160px}.programme-options>div{font-size:.86rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.media-frame>img,.button,.menu-toggle span{transition:none}.photo-button:hover>img,.zone-teaser:hover img,.video-trigger:hover img{transform:none}}

#live-events .programme-card+.programme-card{margin-top:64px}.programme-no-poster{display:flex;aspect-ratio:4/3;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#e9eadd;color:var(--ink)}.programme-no-poster>span:last-child{font-size:.65rem;letter-spacing:.2em}.programme-no-poster .wordmark{font-family:var(--serif);font-size:3rem}.ticket-layout.ticket-archive{grid-template-columns:1fr;max-width:850px}.ticket-archive .programme-cards input{display:none}

/* Mobile framing, shared full-screen photographs and visible social links. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.multi-page main,.home-hero-copy,.page-intro>div,.occasion-grid>article,.private-hero>div,.footer-main>div{min-width:0}
.home-hero-image .media-frame{aspect-ratio:1800/1470}
.media-frame.image-fitted>img{inset:auto;left:var(--crop-x,50%);top:var(--crop-y,50%);width:100%;height:auto;min-width:0;min-height:0;max-width:none;max-height:none;aspect-ratio:auto;transform:translate(calc(-1 * var(--crop-x,50%)),calc(-1 * var(--crop-y,50%)));object-fit:unset;transition:filter .2s}
.media-frame.image-fit-height>img{width:auto;height:100%}
.photo-button:hover>img,.zone-teaser:hover img,.programme-image:hover img,.video-trigger:hover img{filter:brightness(1.035)}
.photo-affordance{opacity:1;width:36px;height:36px;border:1px solid #ffffffb0;box-shadow:0 2px 12px #14231920;font:22px/1 var(--sans);pointer-events:none}
button.programme-image{position:relative;border:0;padding:0;background:transparent;text-align:left;width:100%}
.standalone-photo{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;overflow:hidden;text-align:left}
.standalone-photo>img{width:100%;height:auto;aspect-ratio:auto}
.location-photo .standalone-photo{height:100%;display:flex;align-items:center;justify-content:center}
.location-photo .standalone-photo>img{width:100%;height:auto;min-height:100%;object-fit:cover}
.location-photo>span{pointer-events:none}
.location-photo .photo-affordance{left:auto;right:14px;top:14px;bottom:auto;font:22px/1 var(--sans);color:var(--ink)}
.zone-teaser h3 a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:#aab5a7}
.social-links,.footer-social{display:flex;flex-wrap:wrap;gap:10px}
.social-links .social-button,.footer-social .social-button{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:10px 13px;border:1px solid #aebbaa;border-radius:3px;text-decoration:none;font-size:.88rem;line-height:1.25;background:#fff9;transition:background .2s,border-color .2s}
.social-button:hover{background:#e7ecdf;border-color:var(--ink)}
.social-button svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.social-button-arrow{font-size:1.15rem;margin-left:5px}
.footer-email{overflow-wrap:anywhere}
.multi-page #lightbox{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:18px max(18px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:var(--paper);overflow:hidden;box-sizing:border-box}
.multi-page #lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px}
.multi-page #lightbox .gallery-title{margin:0;padding-right:56px;min-height:44px;gap:12px}
.multi-page #lightbox h2{font-size:clamp(1.15rem,2vw,1.7rem);line-height:1.2;margin:0;overflow-wrap:anywhere}
.multi-page #lightbox .close-dialog{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:44px;height:44px}
.multi-page #lightbox .lightbox-stage{min-width:0;min-height:0;height:100%;max-height:none;background:#edf0e8;overflow:hidden;display:flex;justify-content:center;align-items:center;touch-action:pan-y pinch-zoom}
.multi-page #lightbox #lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;margin:auto;object-fit:contain;aspect-ratio:auto}
.multi-page #lightbox .gallery-controls{margin:0;min-width:0;gap:12px}
.multi-page #lightbox .gallery-controls p{max-height:3.2em;overflow:auto;line-height:1.5;font-size:.85rem}
.multi-page #lightbox .gallery-controls button{width:46px;height:44px}
.multi-page #lightbox .gallery-thumbs{margin:0;padding:3px;min-width:0;align-items:center}
.multi-page #lightbox .gallery-thumbs button{width:44px;height:48px}
.multi-page #lightbox .gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:680px){
 .multi-page .wrap{width:calc(100% - 40px);margin-inline:auto}
 .home-hero{grid-template-columns:minmax(0,1fr);padding-top:20px}
 .multi-page .home-hero h1{font-size:clamp(2.65rem,11.3vw,4.3rem);line-height:1.09;letter-spacing:-.05em;margin:24px 0}
 .home-hero-copy .eyebrow{font-size:.65rem;letter-spacing:.13em}
 .multi-page h1{font-size:clamp(2.55rem,10.5vw,3.3rem);overflow-wrap:break-word}
 .multi-page h2{font-size:clamp(2.15rem,8.5vw,2.65rem)}
 .site-header{gap:12px;justify-content:space-between;padding-block:20px}
 .site-header .wordmark{font-size:2rem;margin-right:auto}
 .site-header .header-book{font-size:.73rem;padding:11px 12px;min-height:44px}
 .menu-toggle{width:40px;height:44px}
 .hero-links{gap:12px 20px}.hero-lead{font-size:1rem}
 .home-hero-image{min-width:0}.home-hero-image figcaption{flex-wrap:wrap;gap:5px 12px}
 .occasion-grid{grid-template-columns:minmax(0,1fr)}
 .occasion-grid .media-frame{aspect-ratio:4/3}
 .multi-page #lightbox{padding-top:max(12px,env(safe-area-inset-top));gap:10px}
 .multi-page #lightbox h2{font-size:1.15rem}.multi-page #lightbox .gallery-title{padding-right:48px}
 .multi-page #lightbox .gallery-controls p{font-size:.74rem}
 .footer-main{grid-template-columns:minmax(0,1fr)}
 .footer-main>div:first-child{grid-column:auto}
 .footer-email{font-size:1rem}
}
@media(max-width:360px){.multi-page .wrap{width:calc(100% - 32px)}.site-header{gap:8px}.site-header .wordmark{font-size:1.7rem}.site-header .header-book{font-size:.7rem;padding-inline:9px}.menu-toggle{width:36px}.home-zone-grid{gap:24px 14px}.zone-teaser h3{font-size:1.38rem}}
@media(max-height:480px) and (orientation:landscape){.multi-page #lightbox .gallery-thumbs{display:none}.multi-page #lightbox[open]{grid-template-rows:auto minmax(0,1fr) auto;gap:6px}.multi-page #lightbox .gallery-title{min-height:32px}.multi-page #lightbox .gallery-controls{min-height:36px}.multi-page #lightbox .gallery-controls button{height:36px}}
