/* Shared mobile rhythm for the photographic tour and all venue pages. */
.calendar-continue{display:none}
@media(max-width:720px), (max-width:950px) and (max-height:550px) and (orientation:landscape){
  :root{--mobile-gutter:18px;--mobile-header-height:84px;--mobile-body:#566451;--mobile-muted:#6b7565}
  html{scroll-padding-top:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px) + 18px)}
  .shared-header,.corporate-page .shared-header{padding:calc(18px + env(safe-area-inset-top,0px)) var(--mobile-gutter) 18px;gap:12px;align-items:center;min-height:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px))}
  .shared-header .brand{gap:9px;flex-shrink:0}
  .shared-header .brand-seal{font-size:40px;width:42px;line-height:1}
  .shared-header .brand-seal>span{font-size:20px;bottom:0}
  .shared-header .brand-wordmark{font:400 14px 'Cormorant Garamond',Georgia,serif;letter-spacing:1.7px}
  .shared-header .brand-wordmark>span{font:400 5px 'Manrope',sans-serif;letter-spacing:1.6px;margin-top:6px}
  .shared-header nav,.corporate-page .shared-header nav{gap:8px;flex-shrink:0}
  .shared-header .views-button,.corporate-page .shared-header .views-button{width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;flex-shrink:0}
  .shared-header .views-button svg{width:16px;height:16px}
  .shared-header .book-button,.corporate-page .shared-header .book-button{height:44px;min-height:44px;padding:11px 12px;font:400 10px 'Manrope',sans-serif;letter-spacing:0;gap:9px;white-space:nowrap}
  .shared-menu,.corporate-page .shared-menu{top:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px));left:var(--mobile-gutter);right:var(--mobile-gutter);width:auto;max-height:calc(100dvh - var(--mobile-header-height) - env(safe-area-inset-top,0px) - 16px);padding:15px;border-radius:7px;overscroll-behavior:contain;scroll-padding:16px}
  .shared-menu .menu-heading{font-size:9px;letter-spacing:1.6px;margin-bottom:9px}
  .shared-menu .icon-button{width:44px;height:44px}
  .shared-menu .scene-item{min-height:64px;padding:10px 8px;gap:12px;font-size:14px;line-height:1.4}
  .shared-menu .scene-item small{font-size:9px;letter-spacing:1px;line-height:1.5;margin-bottom:4px}
  .shared-menu .scene-item img{width:60px;height:42px}
  .shared-menu .menu-number{width:60px;font-size:12px}
  .shared-menu .scene-item>span:last-child{font-size:21px}
  .shared-menu .menu-note{font-size:11px;line-height:1.7;margin-top:16px}
  .shared-menu .scene-item small{color:#c8c0a7}
  .corporate-page .shared-menu .scene-item small{color:#70785e}
  .corporate-page .shared-menu .menu-note{color:#65715b}
  .tour-actions .gesture-hint{font-size:10px}
  .quick-links span{font-size:9px;letter-spacing:.5px}
  .quick-links>a,.quick-links>button{min-width:60px;gap:8px}
  .corporate-page{font-size:14px;line-height:1.75;--body:var(--mobile-body)}
  .content-width,.page-heading{width:calc(100% - var(--mobile-gutter)*2)}
  .corporate-page h1,.booking-page .page-heading>h1,.contact-page .page-heading>h1,.location-page .page-heading>h1{font-size:46px;line-height:1.04;letter-spacing:-.8px}
  .corporate-page h2{font-size:36px;line-height:1.12;letter-spacing:-.6px}
  .page-heading,.booking-page .page-heading,.contact-page .page-heading,.location-page .page-heading{padding:24px 0 28px}
  .breadcrumb,.booking-page .page-heading>.breadcrumb,.contact-page .page-heading>.breadcrumb,.location-page .page-heading>.breadcrumb{font-size:11px;line-height:1.5;margin-bottom:25px;min-height:30px}
  .breadcrumb>a{display:inline-flex;align-items:center;min-height:32px}
  .page-heading>.section-label,.booking-page .page-heading>.section-label,.contact-page .page-heading>.section-label,.location-page .page-heading>.section-label{font-size:9px;letter-spacing:1.4px;margin-bottom:16px}
  .page-heading>p,.booking-page .page-heading>p,.contact-page .page-heading>p,.location-page .page-heading>p{font-size:14px;line-height:1.8;margin-top:18px;color:var(--mobile-body)}
  .section-label{font-size:10px;line-height:1.6;letter-spacing:1.3px;color:#857047}
  .corporate-page .solid-button,.corporate-page .outline-button{font-size:13px;line-height:1.5;min-height:50px;padding:14px 17px;gap:16px}
  .corporate-page .text-link,.corporate-page .small-link{font-size:12px;min-height:44px;line-height:1.6}
  .corporate-page .quiet-note{font-size:11px!important;color:var(--mobile-muted)!important}
  .corporate-page .check-list li,.arrival-guide .check-list li{font-size:13px;line-height:1.8;color:var(--mobile-body);padding-top:12px;padding-bottom:12px}
  .venue-introduction,.faq-section,.arrival-guide{padding-top:44px;padding-bottom:44px}
  .venue-introduction p,.space-copy>p,.visit-inner>div>p,.faq-list details>p,.end-callout p,.contact-form-panel>p,.contact-options>p,.guidance-grid article>p,.arrival-guide>div>p,.location-next p{font-size:14px;line-height:1.8;color:var(--mobile-body)}
  .intro-text{font-size:22px!important;line-height:1.55!important}
  .section-header>p{font-size:13px;color:var(--mobile-muted);line-height:1.7}
  .space-grid{gap:36px}.space-copy>span{font-size:10px;color:#857047}.gallery-open>span{font-size:11px;padding:7px 10px}
  .about-banner figcaption,.booking-banner figcaption{font-size:10px;line-height:1.7;color:var(--mobile-muted)}
  .about-banner figcaption>span:last-child{font-size:9px;letter-spacing:.5px}
  .booking-banner img{height:180px}.booking-banner figcaption{align-items:center;gap:12px}.booking-banner figcaption>a{min-height:36px;display:inline-flex;align-items:center;white-space:nowrap;color:#4c6548}
  .faq-list summary{font-size:14px;padding-top:20px;padding-bottom:20px;color:#40563e}.faq-list details:first-child summary{padding-top:12px}.faq-list details:first-child summary:after{top:10px}
  .icon-close{width:44px;height:44px}.photo-dialog>p{font-size:12px}
  .booking-workspace{gap:24px;padding-top:24px;scroll-margin-top:0}
  .calendar-panel{padding:22px 16px;border-color:#d7dccd;box-shadow:none}
  .calendar-title>.section-label{font-size:9px;letter-spacing:.8px}.calendar-title>.demo-tag{font-size:8px;letter-spacing:.3px;padding:5px 6px;color:#79673f}
  .calendar-panel>h2{font-size:34px;margin-top:14px}.calendar-panel>p{font-size:13px;line-height:1.7;margin:9px 0 20px;color:var(--mobile-body)}
  .calendar-navigation{padding-top:16px}.calendar-navigation>h3{font-size:16px;color:#364f3c}.calendar-navigation>button{width:44px;height:44px;font-size:18px;color:#425c3f}
  .weekdays{font-size:11px;color:#687260;margin-top:20px;margin-bottom:8px}
  .calendar-days{gap:4px 0}.calendar-day,.calendar-blank{min-height:0;max-height:none;aspect-ratio:1;width:100%}
  .corporate-page #calendar-days .calendar-day{font-size:14px;color:#425b3c;max-width:44px}.calendar-day:disabled{opacity:.56}.corporate-page #calendar-days .calendar-day.booked{color:#897653}
  .calendar-day[aria-pressed="true"]{background:#2d4534!important;border-color:#2d4534!important}
  .calendar-legend{font-size:10px;line-height:1.6;color:#64715a;gap:10px 14px}
  .selected-date-box{padding:14px;margin-top:18px;background:#f2f3eb;border-color:#dce2d2}.selected-date-box>span{font-size:9px;letter-spacing:1px;color:#6c745d}.selected-date-box>strong{font-size:23px;line-height:1.3;color:#3d573c}
  .selected-date-box>#calendar-today{min-height:44px;font-size:11px;color:#546d48;margin-top:5px;padding:10px 0}
  .selected-date-box>.calendar-continue{display:flex;width:100%;margin-top:14px;border:1px solid #344e3c;border-radius:2px;background:#344e3c;color:#faf7ed;min-height:48px;padding:12px 15px;font:400 13px 'Manrope',sans-serif}
  .calendar-panel .calendar-disclaimer{font-size:11px;line-height:1.7;color:#687260;margin-top:16px}
  .enquiry-panel,.contact-form-panel{padding:26px 16px;border-color:#d7dccd;scroll-margin-top:0}
  .panel-heading{padding-bottom:24px;margin-bottom:24px}.panel-heading>.section-label{font-size:9px}.panel-heading>h2{font-size:33px;line-height:1.1;margin:14px 0}.panel-heading>p{font-size:12px;color:var(--mobile-muted)}
  .field-group{padding-bottom:28px;margin-bottom:28px}.field-group>legend{font-size:14px;color:#3d543c;margin-bottom:20px}
  .corporate-page .form-grid{gap:22px;grid-template-columns:minmax(0,1fr)}
  .corporate-page .form-grid label,.enquiry-panel .form-grid label,.contact-form-panel .form-grid label,.message-label{font-size:13px;color:#455b42;gap:10px;line-height:1.5}
  .corporate-page .form-grid label>span{font-size:12px;color:#867048}.corporate-page .form-grid label>small,.enquiry-panel .form-grid label>small,.contact-form-panel .form-grid label>small,.message-label>small{font-size:11px;color:#737b6c}
  .corporate-page .form-grid input,.corporate-page .form-grid select,.corporate-page .form-grid textarea,.message-group>textarea{font-size:16px;line-height:1.6;min-height:52px;padding:13px 12px;background:#fcfcf7;border-color:#ccd4c2;color:#2f4635;border-radius:3px;scroll-margin-top:0}
  .corporate-page .form-grid input::placeholder,.corporate-page .form-grid textarea::placeholder,.message-group>textarea::placeholder{color:#7c8874;opacity:1}
  .corporate-page .form-grid input:focus,.corporate-page .form-grid select:focus,.corporate-page .form-grid textarea:focus,.message-group>textarea:focus{border-color:#687b55;outline:2px solid #687b5540;outline-offset:2px}
  .corporate-page #date-feedback{font-size:11px;color:#67755f;margin-top:0;line-height:1.6}.corporate-page #date-feedback.date-error{color:#984c38}
  .message-group>legend{font:400 29px/1.12 'Cormorant Garamond',Georgia,serif;color:#354f36;margin-bottom:10px}
  .message-group>p{font-size:13px;line-height:1.8;color:var(--mobile-body);margin:3px 0 22px}.message-label{margin-bottom:10px}
  .message-group>textarea{min-height:280px;line-height:1.75;padding:15px 13px}.message-footer{font-size:10px;line-height:1.7;color:#737c69;gap:12px}.message-footer>span:first-child{max-width:190px}
  .form-actions{padding-top:24px}.form-actions>.solid-button{width:100%;font-size:14px}.form-actions>p{font-size:11px;color:#67755f;line-height:1.7}
  .enquiry-success,.contact-success{scroll-margin-top:0}.enquiry-success>p{font-size:13px;color:var(--mobile-body)}.enquiry-success>pre{font-size:12px;line-height:1.85;padding:16px;overflow-wrap:anywhere}.enquiry-success .button-row>*{flex:1;min-width:120px;font-size:12px!important}
  .planning-checklist li h3,.guidance-grid article>h3{font-size:14px;color:#455c3d}.planning-checklist li p{font-size:13px;line-height:1.8;color:var(--mobile-body)}
  .contact-channel .section-label{font-size:9px;letter-spacing:1px}.contact-channel p{font-size:11px;color:var(--mobile-muted)}.contact-channel .small-link{margin-left:46px;font-size:12px;min-height:44px}.contact-address address{font-size:14px;line-height:1.8}.contact-form-panel>.demo-tag{font-size:9px}.contact-form-panel .form-grid textarea{min-height:240px}
  .guidance-grid article>span{font-size:10px;color:#857047}.contact-image>span,.arrival-picture>figcaption{font-size:9px;letter-spacing:.6px}
  .location-card{padding:26px 18px}.location-card .place-category{font-size:12px}.location-card address{font-size:14px;line-height:1.9}.location-buttons{flex-direction:column}.location-buttons>a,.location-buttons>button{font-size:13px;min-height:50px}.map-card-note>.section-label{font-size:9px}.map-card-note>p{font-size:12px;color:var(--mobile-muted)}
  .map-toolbar{padding:10px 12px}.map-toolbar>div{font-size:12px;color:#4f6546}.map-recenter{font-size:11px;min-height:44px;padding:10px;color:#4c6544;border-color:#ccd6be}.venue-map{height:330px;min-height:330px}.venue-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;font-size:23px}.venue-map .leaflet-control-attribution{font-size:8px}.map-bottom-note>span{font-size:9px;line-height:1.7}.map-copy-status{font-size:11px!important;color:#526a46!important}
  .venue-footer{padding:32px var(--mobile-gutter) calc(24px + env(safe-area-inset-bottom,0px))}.footer-top>nav{gap:8px 20px;font-size:12px}.footer-top>nav>a{min-height:44px;display:inline-flex;align-items:center}.footer-bottom{font-size:9px;letter-spacing:.2px;line-height:1.7}.footer-bottom>a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:359px){
  :root{--mobile-gutter:14px}
  .shared-header,.corporate-page .shared-header{gap:6px}
  .shared-header .brand{gap:7px}.shared-header .brand-seal{font-size:34px;width:34px}.shared-header .brand-seal>span{font-size:17px}
  .shared-header .brand-wordmark{font-size:12px;letter-spacing:1.1px}.shared-header .brand-wordmark>span{font-size:4px;letter-spacing:1.3px}
  .shared-header nav,.corporate-page .shared-header nav{gap:6px}.shared-header .book-button,.corporate-page .shared-header .book-button{font-size:9px;padding:10px 8px;gap:5px}
  .shared-menu .scene-item{gap:8px}.shared-menu .scene-item img,.shared-menu .menu-number{width:49px}
  .corporate-page h1,.booking-page .page-heading>h1,.contact-page .page-heading>h1,.location-page .page-heading>h1{font-size:42px}
  .calendar-title{flex-wrap:wrap;gap:8px}.calendar-title>.section-label{font-size:8px}.calendar-panel{padding-left:12px;padding-right:12px}.enquiry-panel,.contact-form-panel{padding-left:14px;padding-right:14px}
  .booking-banner figcaption{flex-wrap:wrap;gap:0}.message-footer{flex-wrap:wrap}.message-footer>span:first-child{max-width:100%}
}
@media(max-height:550px) and (orientation:landscape){
  .shared-header,.corporate-page .shared-header{padding-top:10px;padding-bottom:10px;min-height:64px}
  .shared-menu,.corporate-page .shared-menu{top:64px;max-height:calc(100dvh - 76px)}
}
@media(max-width:720px), (max-width:950px) and (max-height:550px) and (orientation:landscape){
  .contact-channel{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px 12px;align-items:start}
  .contact-channel .channel-icon{margin-top:3px}
  .contact-channel .small-link{grid-column:2;margin-left:0;justify-self:start}
  .contact-channel strong{font-size:24px;color:#486340;line-height:1.25}
  .inline-feedback{font-size:12px!important;line-height:1.75!important;color:#536a46!important}
}
@media(max-width:720px), (max-width:950px) and (max-height:550px) and (orientation:landscape){
  .shared-header .nav-link,.shared-header .views-button>span{display:none}
}
@media(max-height:550px) and (orientation:landscape){
  :root{--mobile-header-height:65px}
  .shared-header,.corporate-page .shared-header{min-height:65px}
  .shared-menu,.corporate-page .shared-menu{top:65px;max-height:calc(100dvh - 77px)}
}

@media(max-width:720px), (max-width:950px) and (max-height:550px) and (orientation:landscape){
 .booking-page .enquiry-panel .occasion-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .booking-page .enquiry-panel .form-grid{gap:24px}
 .booking-page .enquiry-panel .panel-heading{padding-bottom:24px;margin-bottom:28px}
 .booking-page .enquiry-panel .field-group{padding-bottom:30px;margin-bottom:30px}
 .booking-page .enquiry-panel .message-group{padding-bottom:0;margin-bottom:26px}
}
