/* Accessible hospitality refinements, shared by every page. */
.venue-intro{padding:clamp(64px,7vw,104px) 0;background:var(--ivory)}
.venue-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:26px clamp(40px,6vw,88px);align-items:center}
.venue-intro-visual{grid-column:1;grid-row:1/3;align-self:stretch;display:flex;flex-direction:column;overflow:hidden;background:var(--wine)}
.venue-intro-visual>img{display:block;width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;object-position:52% center;flex:1;min-height:0}
.venue-intro-visual figcaption{display:flex;align-items:center;gap:14px;padding:20px 24px;color:#fffdf8;font-size:1rem;line-height:1.5}
.venue-intro-visual figcaption small{display:block;font-size:.875rem;color:#e0c8bd;margin-top:3px}
.venue-location-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border:1px solid #956269;border-radius:50%;color:#e7c58c}
.venue-location-icon svg{width:21px;height:21px}
.venue-intro-heading{grid-column:2;grid-row:1;align-self:end;padding-top:20px}
.venue-intro-heading .kicker{font-size:.875rem;letter-spacing:.09em;line-height:1.5;margin-bottom:24px}
.venue-intro-heading h2{font-size:clamp(2.65rem,4vw,3.6rem);line-height:1.08;max-width:18ch;margin:0;text-wrap:balance;letter-spacing:-.025em}
.venue-intro-detail{grid-column:2;grid-row:2;align-self:start;padding-bottom:20px}
.venue-intro-detail p{max-width:470px;color:#62564f;font-size:1.0625rem;line-height:1.8;margin:0 0 30px}
.venue-intro-detail .button{min-height:56px;gap:24px}
@media(max-width:900px){.venue-intro-grid{column-gap:32px}.venue-intro-heading h2{font-size:2.7rem}.venue-intro-visual>img{aspect-ratio:4/5}.venue-intro-visual figcaption{padding:18px 16px;font-size:.9375rem}.venue-intro-heading .kicker{letter-spacing:.05em}.venue-intro-heading .kicker:before{width:24px;flex:none}}
@media(max-width:720px){.venue-intro{padding:56px 0 64px}.venue-intro-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:26px}.venue-intro-heading{grid-column:1;grid-row:1;padding:0}.venue-intro-heading .kicker{margin-bottom:18px;font-size:.8125rem}.venue-intro-heading h2{font-size:clamp(2.25rem,9.5vw,2.8rem);max-width:19ch;line-height:1.1;text-wrap:pretty}.venue-intro-visual{grid-column:1;grid-row:2}.venue-intro-visual>img{aspect-ratio:4/3;flex:none;object-position:center}.venue-intro-visual figcaption{padding:17px 20px}.venue-intro-detail{grid-column:1;grid-row:3;padding:0}.venue-intro-detail p{font-size:1rem;max-width:100%;margin-bottom:24px}.venue-intro-detail .button{width:100%;justify-content:space-between}}
:root{--dark:#211c18}
*{min-width:0}
figure{margin:0}
h1,h2{font-weight:500;line-height:1.06;letter-spacing:-.025em;text-wrap:balance}
h3,.occasion-list strong,.service-list li,.direct-link{font-family:var(--sans);font-weight:500}
h2{font-size:clamp(2.65rem,4.4vw,4rem)}
p{font-size:1rem;line-height:1.75}
.button,.text-link{font-size:.875rem;letter-spacing:.075em}
.button{min-height:56px;padding:15px 26px;line-height:1.4}
.button:hover{transform:translateY(-2px)}
.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bc9150;outline-offset:5px}
.kicker{font-size:.75rem;line-height:1.6;letter-spacing:.14em}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;top:8px;left:16px;z-index:200;background:var(--ivory);color:var(--wine);padding:12px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.site-header{height:88px}
.nav{grid-template-columns:230px 1fr auto;gap:22px}
.nav-links{font-family:var(--sans);font-size:.9375rem;letter-spacing:0;text-transform:none;gap:clamp(18px,2vw,28px);font-weight:500}
.brand-text{font-size:1.65rem;line-height:1}
.brand-text small{font-size:.625rem;letter-spacing:.13em}
.site-header.scrolled,.site-header.light{height:78px;background:rgba(248,243,234,.96);color:var(--ink);backdrop-filter:blur(14px);box-shadow:none;border-bottom:1px solid rgba(94,16,24,.12)}
.scrolled .brand-text small,.light .brand-text small{color:#685951}
.scrolled .brand-mark,.light .brand-mark{color:var(--wine);border-color:#9e753e}
.scrolled .nav-cta,.light .nav-cta{background:var(--wine);border-color:var(--wine);color:var(--white)}
.scrolled .menu-toggle,.light .menu-toggle{color:var(--ink)}
.site-header:has(.nav-links.open) .menu-toggle{color:var(--white)}
.nav-links a{padding:10px 0}
.nav-links a:after{bottom:3px}
.hero.hero-slider{height:clamp(680px,94svh,920px);min-height:0;display:block;background:#211c18;isolation:isolate;touch-action:pan-y;overflow:hidden}
.hero-slider:after{display:none}
.hero-panel{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.2s ease,visibility 0s 1.2s;display:flex;align-items:center}
.hero-panel.is-active{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.hero-picture{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.035);transition:transform 7.7s linear}
.is-active .hero-picture img{transform:scale(1)}
.hero-panel[data-slide="0"] img{object-position:center 57%}
.hero-panel[data-slide="1"] img{object-position:center 52%}
.hero-panel[data-slide="2"] img{object-position:center 48%}
.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(16,11,9,.74) 0%,rgba(16,11,9,.45) 43%,rgba(16,11,9,.08) 78%),linear-gradient(180deg,rgba(16,11,9,.35),transparent 28%,transparent 70%,rgba(16,11,9,.35))}
.slider-copy{position:relative;z-index:2;padding-top:70px;padding-bottom:90px}
.slider-copy h2{font-size:clamp(3.5rem,4.85vw,4.375rem);max-width:720px;line-height:1.04;letter-spacing:-.025em;color:#fff;margin:24px 0}
.hero-panel[data-slide="2"] h2{max-width:780px}
.slider-copy .kicker{color:#efe5d7;margin:0}
.slider-copy .hero-copy{color:#f7f1e9;font-size:1.0625rem;max-width:580px;line-height:1.7;margin:0}
.slider-copy .hero-actions{margin-top:30px;min-height:56px}
.slider-controls{position:absolute;inset:auto 0 34px;z-index:4;display:flex;align-items:center;gap:22px}
.slider-pagination{display:flex;gap:10px}
.slider-pagination button{width:44px;height:44px;padding:18px 0;background:transparent;border:0;cursor:pointer}
.slider-pagination span{height:2px;display:block;background:rgba(255,255,255,.4);transition:background .25s}
.slider-pagination button[aria-pressed="true"] span{background:#ead7b4}
.slider-count{font-size:.875rem;letter-spacing:.14em;font-variant-numeric:tabular-nums;color:#fff}
.slider-pause{background:transparent;border:0;border-left:1px solid rgba(255,255,255,.3);color:#fff;min-width:74px;min-height:44px;padding:8px 18px;font-size:.875rem;cursor:pointer}
.slider-arrows{display:flex;gap:12px;margin-left:auto}
.slider-arrows button{width:46px;height:46px;border:1px solid rgba(255,255,255,.5);background:rgba(20,14,12,.15);color:white;font-size:1.4rem;cursor:pointer;transition:background .2s}
.slider-arrows button:hover{background:rgba(20,14,12,.4)}
.trust-track{animation:none;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;width:min(100% - 48px,1240px);gap:0;min-height:78px;white-space:normal;font-size:.875rem;letter-spacing:.08em}
.trust-track span{text-align:center;padding:8px 20px;border-right:1px solid rgba(255,255,255,.2);line-height:1.5}
.trust-track span:last-child{border:0}
.refined-intro{padding:110px 0}
.refined-intro-grid{position:relative;grid-template-columns:1.12fr .88fr;gap:clamp(48px,8vw,110px);align-items:center}
.intro-statement h2{font-size:clamp(2.7rem,4.3vw,4rem);line-height:1.08;margin-top:20px}
.intro-detail p{max-width:470px;font-size:1.0625rem}
.intro-signature{position:absolute;right:0;bottom:-60px;font-size:4rem;opacity:.26;pointer-events:none}
.refined-experience{padding:100px 0;background:#211c18}
.experience-title{background:#211c18;padding:48px 38px;max-width:550px}
.experience-title h2{font-size:clamp(2.8rem,4vw,3.8rem);line-height:1.05}
.experience-title p{font-size:1.0625rem;color:#e0d3c6}
.experience-title .button{margin-top:28px}
.experience-frame{height:740px}
.experience-frame figcaption{font-size:.8125rem}
.refined-events{padding:110px 0}
.events-heading h2{font-size:clamp(2.8rem,4vw,3.8rem);line-height:1.05}
.occasion-list a{position:relative;grid-template-columns:32px 1fr;gap:6px 18px;min-height:114px;padding:20px 34px 20px 0}
.occasion-list strong{font-size:1.2rem;line-height:1.4}
.occasion-list small{grid-column:2;font-size:.9375rem}
.occasion-list span{font-size:.8125rem}
.occasion-list a:after{content:"↗";position:absolute;right:6px;top:34px;font-size:1.2rem;opacity:0;transform:translateX(-5px);transition:.25s}
.occasion-list a:hover:after,.occasion-list a:focus-visible:after{opacity:1;transform:none}
.refined-cinematic h2{font-size:clamp(3rem,4.7vw,4.4rem);line-height:1.04;max-width:740px}
.refined-cinematic .cinematic-content{max-width:1240px}
.refined-catering .wrap{grid-template-columns:1.05fr 1fr;align-items:stretch}
.refined-catering .catering-visual{height:auto;min-height:760px}
.refined-catering .catering-visual img{object-position:30% center}
.refined-catering .catering-copy{padding:70px clamp(38px,5vw,86px)}
.refined-catering .catering-copy h2{font-size:clamp(2.75rem,3.7vw,3.75rem);line-height:1.08;margin:22px 0}
.refined-catering .service-list li{font-family:var(--sans);font-size:1rem;padding:17px 0;gap:20px}
.refined-catering .service-list{margin:28px 0 34px}
.refined-catering .button{min-height:58px;padding-inline:32px}
.refined-gallery{padding:110px 0}
.gallery-heading{gap:22px 7vw;margin-bottom:46px}
.gallery-heading h2{font-size:clamp(2.8rem,4.3vw,4rem)}
.gallery-heading p{font-size:1rem}
.gallery-item:hover img{transform:scale(1.02);filter:none}
.gallery-collection{grid-template-rows:310px 330px 360px}
.gallery-collection .gallery-item:nth-child(5){grid-column:1/-1}
.refined-enquiry{padding:110px 0}
.refined-enquiry .enquiry-grid{grid-template-columns:.9fr 1.1fr}
.refined-enquiry .enquiry-copy,.refined-enquiry .form-grid{padding:64px clamp(32px,4vw,62px)}
.refined-enquiry .enquiry-copy h2{font-size:clamp(2.8rem,4vw,3.8rem);line-height:1.08}
.refined-enquiry .direct-link{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:90px;padding:20px 0}
.direct-link small{font-size:.875rem;color:#ead1a2}
.refined-enquiry .direct-link strong{font-size:1.0625rem}
.refined-enquiry .field label,.field label{font-size:.875rem;letter-spacing:.015em;text-transform:none}
.refined-enquiry .field input,.refined-enquiry .field select,.refined-enquiry .field textarea{min-height:52px;font-size:1rem;padding:10px 0 12px}
.field textarea{min-height:105px}
.refined-enquiry .form-grid{gap:25px 22px}
.refined-enquiry .form-grid .button{min-height:58px;width:100%;grid-column:1/-1}
.refined-enquiry .privacy,.privacy{font-size:.875rem}
.location{padding:100px 0}
.location-copy{padding:58px 44px}
.location-copy h2{font-size:3.5rem;line-height:1.08}
.location-grid{grid-template-columns:.85fr 1.15fr;min-height:520px}
.map iframe{filter:grayscale(.45) saturate(.7);min-height:520px}
.footer-top{grid-template-columns:1.35fr .65fr 1fr 1fr;gap:42px}
.footer-col h3{font-size:.875rem;font-weight:600;letter-spacing:.06em}
.footer-col a,.footer-col span{font-size:.9375rem;line-height:1.6}
.footer-col a{padding:4px 0}
.footer-brand p{color:#c3b6aa}
.footer-bottom{font-size:.875rem;color:#b9ab9d;gap:40px}
.floating-whatsapp{position:fixed;right:24px;bottom:24px;width:58px;height:58px;background:#25d366;color:#fff;z-index:60;border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 16px rgba(0,0,0,.18);transition:transform .2s}
.floating-whatsapp svg{width:31px;height:31px}
.menu-open .floating-whatsapp,.menu-open .mobile-cta{visibility:hidden}
.floating-whatsapp:hover{transform:translateY(-3px)}
.whatsapp-tooltip{position:absolute;right:72px;background:#211c18;color:#fff;padding:9px 14px;border-radius:3px;white-space:nowrap;font-size:.875rem;opacity:0;visibility:hidden;transition:opacity .2s}
.floating-whatsapp:hover .whatsapp-tooltip,.floating-whatsapp:focus-visible .whatsapp-tooltip{opacity:1;visibility:visible}
.gallery-open{overflow:hidden}
.gallery-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:60px 80px;background:rgba(20,15,12,.97);color:#fff}
.gallery-dialog::backdrop{background:rgba(0,0,0,.8)}
.gallery-dialog[open]{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:20px}
.gallery-dialog figure{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;overflow:hidden}
.gallery-dialog img{max-height:calc(100dvh - 180px);width:100%;height:auto;object-fit:contain}
.gallery-dialog figcaption{text-align:center;font-size:.875rem}
.gallery-dialog button{min-width:44px;min-height:44px;border:1px solid #766a61;background:transparent;color:white;font-size:1.5rem;cursor:pointer}
.gallery-dialog .lightbox-close{position:absolute;top:14px;right:22px;font-size:2rem}
.lightbox-count{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:.875rem;pointer-events:none}
.reveal{opacity:1;transform:none}
.reveal.will-reveal:not(.visible){opacity:0;transform:translateY(12px)}
.reveal.will-reveal{transition:opacity .55s ease,transform .55s ease}
.page-hero h1{font-size:clamp(3rem,5vw,4.375rem);line-height:1.06;max-width:880px}
.cinematic h2{font-size:clamp(3rem,4.7vw,4.4rem);line-height:1.06}
.page-intro h2,.editorial-panel h2,.story h2,.why h2{font-size:clamp(2.7rem,4vw,3.75rem);line-height:1.08}
.event-info h3,.feature h3,.detail-grid h3{font-size:1.4rem;line-height:1.3}
.event-info p,.feature p{font-size:1rem}
.event-info small{font-size:.8125rem}
.event-arrow{display:none}
@media(max-width:1100px){
.nav{grid-template-columns:1fr auto;gap:20px}.nav-links,.nav-cta{display:none}.menu-toggle{display:block}
.nav-links.open{display:flex;position:fixed;inset:0;height:100dvh;background:#211c18;color:#fff;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-family:var(--sans);font-size:1.4rem;letter-spacing:0}
.refined-intro-grid{gap:48px}
.refined-catering .catering-copy{padding:55px 36px}
.refined-enquiry .enquiry-grid{grid-template-columns:1fr 1fr}
.refined-enquiry .enquiry-copy,.refined-enquiry .form-grid{padding:50px 28px}
.refined-enquiry .form-grid{grid-template-columns:1fr}
.refined-enquiry .field{grid-column:1/-1}
.footer-top{grid-template-columns:1fr 1fr;gap:40px 70px}
.location-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
.refined-intro-grid{grid-template-columns:1fr;gap:28px}.intro-detail p{max-width:600px}
.refined-experience{padding:0 0 40px}.experience-frame{height:560px}.experience-title{margin-top:-44px}
.refined-catering .catering-visual{min-height:0;height:480px}.refined-catering .catering-copy{padding:56px 32px}
.refined-enquiry .enquiry-grid{display:block}.refined-enquiry .form-grid{grid-template-columns:1fr 1fr}.refined-enquiry .field{grid-column:auto}.refined-enquiry .field.full{grid-column:1/-1}
.location-grid{grid-template-columns:1fr}.map{height:450px}.map iframe{min-height:450px}
.refined-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:400px 250px 260px}
.gallery-collection{grid-template-rows:400px 250px 260px 300px}
}
@media(max-width:720px){
.site-header{height:76px}.site-header.scrolled{height:70px}.brand-text{font-size:1.42rem}.brand-text small{font-size:.625rem}.brand-mark{width:38px;height:38px}
.hero.hero-slider{height:760px;height:clamp(700px,calc(100svh - 58px),850px)}
.hero-panel{align-items:flex-end}.slider-copy{padding-top:0;padding-bottom:122px}
.slider-copy h2,.hero-panel[data-slide="2"] h2{font-size:clamp(2.25rem,10.2vw,2.625rem);line-height:1.08;letter-spacing:-.025em;max-width:100%;margin:18px 0;text-wrap:balance}
.slider-copy .kicker{font-size:.6875rem;letter-spacing:.08em}
.slider-copy .hero-copy{font-size:1rem;line-height:1.6;max-width:100%;min-height:77px}
.slider-copy .hero-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px;min-height:116px}
.slider-copy .hero-actions .button{min-height:53px;width:100%;font-size:.8125rem}
.hero-panel[data-slide="1"] .hero-actions,.hero-panel[data-slide="2"] .hero-actions{justify-content:flex-start}
.hero-shade{background:linear-gradient(0deg,rgba(16,11,9,.88),rgba(16,11,9,.7) 34%,rgba(16,11,9,.22) 70%,rgba(16,11,9,.26))}
.hero-panel[data-slide="0"] img{object-position:58% 30%}
.hero-panel[data-slide="1"] img{object-position:50% 25%}
.hero-panel[data-slide="2"] img{object-position:30% 20%}
.slider-controls{bottom:36px;gap:16px}
.slider-arrows{display:none}
.slider-pagination{gap:8px}
.slider-count{font-size:.8125rem}
.slider-pause{margin-left:auto;font-size:.8125rem}
.wide-break{display:none}
.trust-track{grid-template-columns:1.25fr 1fr;width:100%;min-height:112px;gap:0;animation:none;font-size:.75rem;letter-spacing:.035em;padding:10px 16px}
.trust-track span{padding:10px 5px;border:0}
.trust-track span:nth-child(odd){border-right:1px solid rgba(255,255,255,.2)}
.refined-intro,.refined-events,.refined-gallery{padding:74px 0}
.intro-statement h2,.events-heading h2,.gallery-heading h2{font-size:2.7rem;line-height:1.1}
.intro-detail p,.experience-title p{font-size:1rem}
.experience-title{padding:34px 26px;margin-inline:16px;width:calc(100% - 32px)}
.experience-title h2{font-size:2.7rem}
.experience-frame{height:460px}
.occasion-list a{min-height:112px;grid-template-columns:28px 1fr;padding-right:28px}
.occasion-list strong{font-size:1.1rem}.occasion-list small{font-size:.875rem}.occasion-list a:after{opacity:.65}
.refined-cinematic{min-height:540px}
.refined-cinematic h2{font-size:2.8rem;line-height:1.1}
.refined-catering .catering-visual{height:430px}
.refined-catering .catering-copy{padding:48px 24px 58px}
.refined-catering .catering-copy h2{font-size:2.65rem;line-height:1.1}
.refined-catering .service-list li{font-size:.9375rem}
.refined-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:350px 230px 270px;gap:12px}
.gallery-collection{grid-template-rows:350px 230px 270px 300px}
.refined-gallery-grid .gallery-item:nth-child(1){grid-column:1;grid-row:1/3}
.refined-gallery-grid .gallery-item:nth-child(2){grid-column:2;grid-row:1}
.refined-gallery-grid .gallery-item:nth-child(3){grid-column:2;grid-row:2}
.refined-gallery-grid .gallery-item:nth-child(4){grid-column:1/3;grid-row:3}
.gallery-collection .gallery-item:nth-child(5){grid-column:1/3;grid-row:4}
.refined-gallery-grid .gallery-item:nth-child(1) img{object-position:58% center}
.refined-gallery-grid .gallery-item:nth-child(2) img{object-position:68% center}
.refined-enquiry{padding:0}
.refined-enquiry .enquiry-copy,.refined-enquiry .form-grid{padding:50px 24px}
.refined-enquiry .enquiry-copy h2{font-size:2.8rem;line-height:1.1}
.refined-enquiry .form-grid{grid-template-columns:1fr;gap:24px}
.refined-enquiry .field{grid-column:1/-1}
.refined-enquiry .direct-links{margin-top:30px}
.refined-enquiry .direct-link strong{font-size:1.0625rem}
.location{padding:74px 0}
.location-copy{padding:40px 26px}
.location-copy h2{font-size:2.8rem}
.map,.map iframe{height:360px;min-height:360px}
.footer-top{grid-template-columns:1fr 1fr;gap:32px 24px}
.footer-brand{grid-column:1/-1}
.footer-col a,.footer-col span{font-size:.875rem;overflow-wrap:anywhere}
.footer-bottom{font-size:.875rem;padding-bottom:85px}
.floating-whatsapp{display:none}
.mobile-cta{padding-bottom:env(safe-area-inset-bottom);z-index:60}
.mobile-cta a{font-size:.875rem;letter-spacing:.05em;height:58px}
.gallery-dialog{padding:65px 12px 50px}
.gallery-dialog[open]{grid-template-columns:32px 1fr 32px;gap:5px}
.gallery-dialog button{min-width:32px}
.gallery-dialog img{max-height:calc(100dvh - 210px)}
.page-hero h1{font-size:2.8rem;line-height:1.1}
.cinematic h2{font-size:2.8rem;line-height:1.1}
.page-intro h2,.editorial-panel h2,.story h2,.why h2{font-size:2.7rem;line-height:1.1}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}.hero-panel,.hero-picture img,.reveal,.button,.gallery-item img{transition:none!important;animation:none!important;transform:none!important}
.reveal.will-reveal:not(.visible){opacity:1;transform:none}
}

/* Release audit: content-sized layouts, small screens and input fallbacks. */
.error-page{min-height:100svh;padding-block:60px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.error-page .brand{margin-bottom:70px}.error-page h1{font-size:clamp(2.7rem,7vw,5rem);margin:20px 0}.error-page>p{max-width:560px}.error-page .hero-actions{align-items:center;gap:28px}
html{scroll-padding-bottom:90px}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
.brand-mark,.kicker:before{flex-shrink:0}
h1,h2,h3,p,a,label{overflow-wrap:break-word}
.button{white-space:normal;text-align:center}
.hero.hero-slider{display:grid;height:auto;min-height:clamp(680px,94svh,920px)}
.hero-panel{position:relative;inset:auto;grid-area:1/1}
.slider-copy{padding-top:148px;padding-bottom:148px}
.slider-controls{display:none}
.js-ready .slider-controls{display:flex}
.slider-pagination,.slider-count,.slider-pause{flex-shrink:0}
.site-header:has(.nav-links.open){backdrop-filter:none;transition:none}
.menu-open .brand,.menu-open .nav-cta{visibility:hidden}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.field input[type=date]{min-width:0;max-width:100%;min-height:52px}
.field input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
.field textarea{height:auto;min-height:112px}
.form-feedback{grid-column:1/-1;font-size:.9375rem;line-height:1.7;color:var(--wine);margin:0;padding:14px 16px;background:#e9dfd0;border-left:3px solid var(--wine)}
.form-feedback[hidden]{display:none}
.form-feedback a,.no-script-enquiry a{text-decoration:underline;text-underline-offset:3px}
.no-script-enquiry{padding:24px;background:var(--ivory);color:var(--ink)}
.privacy{margin-bottom:0}
.event-grid{align-items:stretch}
.event-card,.event-card:nth-child(2),.event-card:nth-child(5){height:auto;min-height:480px;display:flex;align-items:flex-end}
.event-card>img{position:absolute;inset:0}
.event-info{position:relative;inset:auto;padding:150px 28px 28px;width:100%}
.event-info small{font-size:.8125rem}
.event-info h3{margin:12px 0}
.event-info p{line-height:1.65}
.gallery-item{display:block;min-width:0}
.gallery-item:focus-visible{outline:3px solid var(--wine);outline-offset:4px}
.gallery-dialog button{width:44px;min-width:44px;height:44px;flex:none}
.gallery-dialog figure{min-height:0}
.gallery-dialog img{flex-shrink:1;min-height:0}
.gallery-dialog figcaption{flex-shrink:0;max-width:70ch}
.gallery-dialog .lightbox-count{margin:0;bottom:18px}
.footer-bottom{padding-right:74px}
.footer-col a{min-height:44px}
.floating-whatsapp{background:#138c45}
.button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #781d27;outline-offset:4px}
.hero :focus-visible,.cinematic :focus-visible,.site-footer :focus-visible,.refined-catering :focus-visible,.enquiry-copy :focus-visible,.gallery-dialog :focus-visible,.site-header:not(.scrolled) :focus-visible,.nav-links.open :focus-visible{outline-color:#ecd0a0}
.refined-enquiry .direct-link{min-height:90px;font-size:1.0625rem}
@media(max-width:1100px){
  .nav-links.open{justify-content:flex-start;padding:100px 24px 32px;overflow-y:auto;gap:10px;overscroll-behavior:contain}
  .nav-links.open a{min-height:44px}
  .refined-catering .catering-visual{min-height:650px}
  .editorial-panel{padding:48px 32px}
  .page-intro,.story,.why{padding:88px 0}
}
@media(max-width:820px){
  .refined-catering .catering-visual{min-height:0}
  .refined-gallery-grid{grid-template-rows:300px 220px 260px}
  .gallery-collection{grid-template-rows:300px 220px 260px 300px}
  .gallery-dialog{padding:66px 18px 60px}
  .gallery-dialog[open]{grid-template-columns:44px minmax(0,1fr) 44px;gap:10px}
}
@media(max-width:720px){
  html{scroll-padding-top:86px;scroll-padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .hero.hero-slider{height:auto;min-height:max(700px,calc(100svh - 58px))}
  .slider-copy{padding-top:130px;padding-bottom:124px}
  .slider-copy h2{min-height:0}
  .slider-controls{gap:12px;bottom:30px;flex-wrap:wrap}
  .slider-pagination{gap:6px}
  .slider-pagination button{width:36px}
  .slider-pause{min-width:66px;padding-inline:12px}
  .venue-intro-visual>img{height:auto;flex:none}
  .event-grid{display:grid;grid-template-columns:1fr;gap:20px;overflow:visible;margin:0;padding:0;scroll-snap-type:none}
  .event-card,.event-card:nth-child(2),.event-card:nth-child(5){min-width:0;min-height:400px;height:auto;grid-column:auto}
  .event-info{padding:150px 24px 26px}
  .refined-gallery-grid,.gallery-collection{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:12px}
  .refined-gallery-grid .gallery-item:nth-child(n){grid-row:auto;grid-column:auto;height:auto;aspect-ratio:4/5}
  .refined-gallery-grid .gallery-item:nth-child(3),.refined-gallery-grid .gallery-item:nth-child(4),.gallery-collection .gallery-item:nth-child(5){grid-column:1/-1;aspect-ratio:3/2}
  .refined-gallery-grid .gallery-item:nth-child(4) img{object-position:center 38%}
  .gallery-dialog[open]{display:flex;align-items:center;justify-content:center}
  .gallery-dialog figure{width:100%;height:100%;padding-bottom:38px}
  .gallery-dialog img{max-height:calc(100dvh - 250px)}
  .gallery-dialog .lightbox-prev,.gallery-dialog .lightbox-next{position:absolute;bottom:18px}
  .gallery-dialog .lightbox-prev{left:20px}.gallery-dialog .lightbox-next{right:20px}
  .gallery-dialog .lightbox-count{bottom:26px}
  .map iframe{min-height:360px}
  .mobile-cta{padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}
  .mobile-cta a{height:auto;min-height:58px;padding:12px 4px;letter-spacing:.025em;font-size:.8125rem}
  .footer-bottom{padding-right:0;padding-bottom:calc(85px + env(safe-area-inset-bottom))}
  .page-hero{min-height:520px;padding:145px 0 64px}
  .page-hero h1{font-size:clamp(2.25rem,10vw,2.8rem)}
  .page-intro h2,.editorial-panel h2,.story h2,.why h2{font-size:clamp(2.1rem,9.5vw,2.7rem)}
  .location-copy{padding:36px 22px}
}
@media(max-width:380px){
  .brand{gap:8px}.brand-text{font-size:1.3rem}.brand-text small{font-size:.6rem;letter-spacing:.08em}
  .refined-enquiry .enquiry-copy,.refined-enquiry .form-grid{padding-inline:20px}
  .footer-top{grid-template-columns:1fr}.footer-brand{grid-column:auto}
  .venue-intro-visual figcaption{padding:16px;gap:10px}
  .slider-controls{gap:8px}.slider-pagination button{width:30px}
}
@media(prefers-reduced-motion:reduce){.gallery-dialog img{transition:none}.nav-links,.site-header{transition:none}}
