
@font-face{font-family:Istoria Display;src:url('/assets/fonts/istoria-display.woff') format('woff');font-display:swap;font-weight:400}
@font-face{font-family:Istoria Serif;src:url('/assets/fonts/istoria-serif.woff') format('woff');font-display:swap;font-weight:400}
@font-face{font-family:Istoria Serif;src:url('/assets/fonts/istoria-serif-italic.woff') format('woff');font-display:swap;font-style:italic}
:root{--red:#701904;--deep:#401005;--gold:#f1bd73;--gold-light:#fcd69c;--gold-rule:#bb8546;--text:#f6d8a8;--frame:22px;--gutter:clamp(32px,4.5vw,86px);--serif:'Istoria Serif',Georgia,serif;--display:'Istoria Display',Georgia,serif;--app-height:100dvh;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:var(--serif);background:var(--deep);color:var(--text);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{cursor:pointer;border:0;background:none}a{text-decoration:none}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--gold-light);outline-offset:6px}h1,:is(h1,h2),h3,p,figure{margin:0}h1:focus,:is(h1,h2):focus{outline:none}:is(h1,h2){font-family:var(--display);font-weight:400;font-size:clamp(48px,5.2vw,80px);line-height:1.02;color:var(--gold-light);letter-spacing:-.025em}em{font-family:var(--serif);font-weight:400}img,svg{display:block;max-width:100%}svg{overflow:hidden}fieldset{border:0;margin:0;padding:0;min-width:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.svg-definitions{position:absolute}.small-caps,.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.22em;line-height:1.4}.eyebrow{color:var(--gold);margin-bottom:18px}.ambience{position:fixed;inset:-1px;background:url("/assets/optimized/istoria-vintage-red-background-desktop-1672.webp") center/cover no-repeat;z-index:-3;transition:opacity .65s ease;opacity:.92}.shade{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 42%,transparent 25%,#21060069 100%);z-index:-2;pointer-events:none}body:not([data-current-view="home"]) .ambience{opacity:.36}body:not([data-current-view="home"]) .shade{background:linear-gradient(100deg,#20070326,#3b0d023d)}.outer-frame{position:fixed;inset:var(--frame);pointer-events:none;z-index:40}.site-shell{height:100svh;height:var(--app-height,100dvh);width:100%;padding:max(calc(var(--frame) + 10px),env(safe-area-inset-top)) max(calc(var(--frame) + 12px),env(safe-area-inset-right)) max(calc(var(--frame) + 10px),env(safe-area-inset-bottom)) max(calc(var(--frame) + 12px),env(safe-area-inset-left));display:grid;grid-template-rows:80px minmax(0,1fr) 52px}.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 calc(var(--gutter) - var(--frame) - 12px);z-index:5;gap:20px}.header-context{display:flex;gap:15px;align-items:center;color:var(--gold)}.context-divider{opacity:.5}.header-brand{width:190px;transition:opacity .4s}.header-brand svg{width:100%;height:auto}.menu-toggle{justify-self:end;display:flex;align-items:center;gap:18px;min-height:44px;padding:5px 0 5px 12px}.hamburger{display:flex;flex-direction:column;width:32px;gap:6px}.hamburger i{display:block;height:1px;background:var(--gold-light);transition:width .2s}.menu-toggle:hover .hamburger i:nth-child(2){width:75%}.hamburger i:nth-child(2){width:100%}.header-context:hover,.site-footer a:hover{color:#fff0d7}body[data-current-view="home"] .header-brand{opacity:0;pointer-events:none}#main-content{position:relative;min-height:0;min-width:0}.screen{height:100%;min-height:0;min-width:0;padding:20px calc(var(--gutter) - var(--frame) - 12px);animation:view-enter .5s ease both}.site-footer{padding:0 calc(var(--gutter) - var(--frame) - 12px);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--gold)}.site-footer .small-caps{font-size:9px;letter-spacing:.17em}.footer-navigation{display:flex;gap:16px;align-items:center;font-size:13px}.footer-navigation a{padding:12px 0}.footer-navigation span{opacity:.5}.footer-navigation [aria-current="page"]{text-decoration:underline;text-underline-offset:5px}.footer-enquiry{padding:12px 0}.footer-enquiry span{font-size:14px;margin-left:9px}.outline-button{min-height:50px;border:1px solid var(--gold-rule);padding:15px 28px;display:inline-flex;align-items:center;justify-content:center;gap:28px;text-transform:uppercase;font-size:12px;letter-spacing:.2em;color:var(--gold-light);white-space:nowrap;line-height:1.4;position:relative;transition:background .25s,border-color .25s,color .25s;flex-shrink:0}.outline-button:after{content:'';position:absolute;inset:3px;border:1px solid transparent;pointer-events:none;transition:border-color .25s}.outline-button:hover{background:#f7cf8720;border-color:var(--gold-light)}.outline-button:hover:after{border-color:#f7cf873c}.outline-button span{font-size:18px;line-height:1;letter-spacing:0}.subtle-link{font-size:16px;display:inline-flex;align-items:center;gap:22px;line-height:1.4;padding:8px 0}.subtle-link:hover{color:#fff1d7}.short-rule{width:48px;height:1px;background:var(--gold-rule);display:block}.home-screen{display:flex;align-items:center;justify-content:center;position:relative;text-align:center;padding-bottom:32px}.home-composition{display:flex;flex-direction:column;align-items:center;transform:translateY(-8px)}.home-logo{width:clamp(260px,29vw,380px);height:auto}.home-logo svg{width:100%}.home-subtitle{font-size:10px;letter-spacing:.27em;margin-top:24px;color:var(--gold-light)}.home-cta{margin-top:43px;min-width:260px;padding-inline:34px}.home-discover{font-size:13px;color:var(--gold);margin-top:13px;gap:12px}.home-whisper{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-style:italic;font-size:21px;color:var(--gold);white-space:nowrap}.editorial-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,88px);height:100%;align-items:center;max-width:1480px;margin:auto;min-height:0}.editorial-photo{position:relative;min-width:0;min-height:0;height:100%;max-height:760px}.editorial-photo:before{content:'';position:absolute;inset:11px;border:1px solid #edc6806e;pointer-events:none;z-index:2}.editorial-photo:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 100px #210a0226;pointer-events:none}.editorial-photo img{width:100%;height:100%;object-fit:cover}.venue-photo{height:94%}.venue-photo img{object-position:59% center}.photo-link{position:absolute;bottom:30px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:#210c06b3;backdrop-filter:blur(8px);border:1px solid #d6ad6c85;z-index:3;color:#ffe0ae;font-size:10px;min-height:44px}.photo-link span{font-size:20px}.photo-index{position:absolute;top:29px;left:28px;padding:8px 11px;color:#ffe1ac;background:#28100591;font-size:9px;z-index:2}.editorial-copy{min-height:0;max-width:620px}.editorial-copy :is(h1,h2){margin-bottom:25px}.editorial-copy p:not(.eyebrow){font-size:clamp(17px,1.42vw,20px);line-height:1.45;color:var(--text)}.venue-pages article+article{margin-top:16px}.venue-pages p+p{margin-top:14px}.venue-pages .lead{font-size:clamp(19px,1.6vw,23px);line-height:1.35;color:var(--gold-light)}.facilities{padding-top:19px;border-top:1px solid #d6a65f50}.facilities h3{font:400 27px var(--display);color:var(--gold-light);margin-bottom:10px}.facilities ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.facilities li{display:flex;gap:11px;font-size:15px;line-height:1.3;align-items:baseline}.facilities li span{font-size:14px;color:var(--gold-rule)}.editorial-cta{margin-top:24px;min-height:46px;font-size:10px;padding:12px 22px;gap:32px}.venue-tabs,.venue-pagination{display:none}.catering-layout{grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,100px)}.catering-copy :is(h1,h2){font-size:calc(clamp(62px,7vw,100px) - 2px);margin-bottom:28px;line-height:.92}.catering-copy :is(h1,h2) em{font-family:var(--serif)}.catering-copy p.catering-lead{font-family:var(--display);font-size:clamp(24px,2.3vw,32px);line-height:1.2;color:var(--gold-light);margin-bottom:24px}.catering-copy p.catering-description{font-size:clamp(18px,1.5vw,21px);line-height:1.5;max-width:450px}.catering-copy p.catering-signature{font-size:19px;color:var(--gold);margin-top:24px}.signature-break{display:none}.catering-photo{height:94%}.catering-photo img{object-position:48% center}.image-note{position:absolute;bottom:24px;left:26px;color:#ffefcfbd;z-index:3;font-size:10px;letter-spacing:.06em;padding:6px 8px;background:#120e0680}.gallery-screen{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:20px}.gallery-topline{display:flex;align-items:end;justify-content:space-between;gap:20px}.gallery-topline :is(h1,h2){font-size:clamp(42px,4.3vw,64px)}.gallery-topline .eyebrow{margin-bottom:8px}.gallery-enquiry{font-size:14px}.gallery-stage{position:relative;min-height:0;min-width:0;overflow:hidden;background:#27100a}.gallery-stage>img{width:100%;height:100%;object-fit:cover;object-position:center 52%;transition:opacity .25s;display:block}.gallery-stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 45%,#110704bc);border:1px solid #a9803d50}.gallery-stage img[src*="space-table"],.gallery-stage img[src*="space-entrance"]{object-fit:contain;background:#1b0c08}.gallery-caption{position:absolute;bottom:30px;left:34px;right:34px;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:20px;text-shadow:0 1px 10px #0009}.gallery-caption h3{font:400 36px var(--display);color:#ffe5b3}.gallery-caption p{font-size:15px;margin-top:5px;color:#f5d7a7}.gallery-caption .small-caps{color:#ffe3af;font-size:12px}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid #f0d1a08c;background:#2112096b;backdrop-filter:blur(6px);font-size:27px;z-index:3;color:#ffe6bb}.gallery-arrow:hover{background:#211209bc}.gallery-arrow.previous{left:24px}.gallery-arrow.next{right:24px}.gallery-bottomline{display:flex;justify-content:space-between;align-items:center;gap:15px}.gallery-dots{display:flex;gap:10px}.gallery-dots button{width:34px;height:22px;position:relative}.gallery-dots button:after{content:'';display:block;position:absolute;top:10px;left:0;right:0;height:2px;background:#f1bd7340}.gallery-dots button[aria-current="true"]:after{background:var(--gold)}.photo-credit{font-size:10px;color:var(--gold);opacity:.85}.contact-screen{display:grid;place-items:center;text-align:center}.contact-composition{display:flex;flex-direction:column;align-items:center}.contact-composition :is(h1,h2){font-size:clamp(64px,7vw,108px);line-height:.98}.contact-composition .short-rule{margin:30px auto}.contact-copy{font-size:21px;line-height:1.5}.contact-composition .outline-button{margin-top:34px}.contact-location{font-size:19px;color:var(--gold-light);margin-top:35px}.contact-signature{margin-top:8px;font-size:17px;color:var(--gold)}.enquiry-screen{display:grid;place-items:center}.enquiry-composition{width:min(100%,900px);min-height:0}.enquiry-heading{text-align:center}.enquiry-heading :is(h1,h2){font-size:calc(clamp(55px,5.6vw,82px) - 2px);margin-bottom:38px}.enquiry-heading .eyebrow{margin-bottom:12px}#enquiry-form{display:grid;gap:24px}#enquiry-form fieldset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px}#enquiry-form fieldset[data-form-step="2"]{display:block}.form-field{display:flex;flex-direction:column;min-width:0}.form-field label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);line-height:1.3;margin-bottom:8px}.required-mark{opacity:.7;font-size:11px}.optional-label{font-size:10px;letter-spacing:.02em;text-transform:none;font-style:italic;opacity:.65;margin-left:5px}.form-field input,.form-field select,.form-field textarea{color:var(--gold-light);background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--gold-rule);padding:5px 0 12px;min-height:36px;outline-offset:3px;font-size:18px;line-height:1.3;min-width:0;width:100%}.form-field input::placeholder,.form-field textarea::placeholder{color:#f3c68273;opacity:1}.form-field select{padding-right:5px;cursor:pointer}.form-field select:invalid{color:#f3c68288}.form-field select option{background:#511604;color:var(--gold-light)}.form-field textarea{resize:none;min-height:64px;max-height:100px}.form-field input[type="date"]{color-scheme:dark}.occasion-guests{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:26px}.form-actions{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:10px}.form-actions .outline-button{min-width:235px}.form-disclaimer{text-align:center;font-size:11px;color:#efc58eaa;margin-top:-11px}.form-meta{display:none;justify-content:space-between;align-items:center;padding-bottom:17px;margin-bottom:20px;border-bottom:1px solid #b685474d;font-size:21px;color:var(--gold-light)}.enquiry-signature{text-align:center;font-size:27px;color:var(--gold);margin-top:27px}.enquiry-result{text-align:center;padding:6px 0}.result-symbol{display:block;font-size:34px;color:var(--gold);margin-bottom:13px}.enquiry-result h3{font:400 42px var(--display);color:var(--gold-light);margin-bottom:17px}.enquiry-result p{font-size:18px;line-height:1.4;margin-top:12px}.enquiry-result #result-summary{color:var(--gold)}.result-actions{display:flex;gap:30px;justify-content:center;align-items:center;margin-top:30px}#copy-status{font-size:13px;min-height:1.4em}.menu-overlay{position:fixed;inset:0;z-index:30;background:var(--deep);display:grid;grid-template-rows:80px minmax(0,1fr) 100px;padding:calc(var(--frame) + 15px) var(--gutter) calc(var(--frame) + 20px);animation:view-enter .35s ease;max-height:var(--app-height)}.menu-inner-frame{position:absolute;inset:var(--frame);border:1px solid var(--gold-rule);pointer-events:none}.menu-inner-frame:after{content:'';position:absolute;inset:5px;border:1px solid #bd8c4d70}.menu-header{display:flex;justify-content:center;align-items:center;position:relative}.menu-header>a{width:235px}.menu-close{width:44px;height:44px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.menu-close span{display:block;position:absolute;top:21px;left:4px;width:36px;height:1px;background:var(--gold-light);transform:rotate(45deg)}.menu-close span+span{transform:rotate(-45deg)}.menu-body{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;width:min(100%,950px);margin:auto;min-height:0}.menu-aside{border-right:1px solid #bd8c4d50;padding-right:90px;display:flex;flex-direction:column;align-items:center;text-align:center}.menu-aside svg{height:170px;width:120px;margin-bottom:30px}.menu-aside p{font:400 38px/1.1 var(--display);color:var(--gold-light)}.menu-aside>em{font-size:24px;line-height:1.5;margin-top:14px;color:var(--gold)}.main-navigation{display:flex;flex-direction:column;gap:16px;width:100%}.main-navigation>a,.services-group>button{display:flex;align-items:center;font:400 clamp(35px,3.7vw,54px)/1.18 var(--display);gap:26px;padding:3px 0;color:var(--gold-light);text-align:left;min-height:48px}.main-navigation>a:hover,.services-group>button:hover{color:#fff0cb}.nav-number{font:400 10px var(--serif);letter-spacing:.12em;color:#dcac6b90}.services-group>button{width:100%}.chevron{display:block;width:13px;height:13px;border:1px solid var(--gold);border-width:1px 1px 0 0;transform:rotate(-45deg);margin-left:auto;margin-right:12px;transition:transform .2s}.services-group>button[aria-expanded="false"] .chevron{transform:rotate(135deg)}#services-list{display:flex;flex-direction:column;gap:9px;padding:12px 0 7px 42px}#services-list a{font-size:26px;line-height:1.3;font-style:italic;color:var(--gold);padding:2px 0}#services-list a:hover{color:#ffe8bd}.menu-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px}.menu-footer>em{font-size:29px;color:var(--gold)}.menu-footer>a{position:absolute;bottom:calc(var(--frame) + 35px);right:var(--gutter);font-size:9px;letter-spacing:.16em}.menu-footer>a span{margin-left:15px}.noscript-message{position:fixed;inset:30%;z-index:100;background:var(--deep);border:1px solid var(--gold);padding:30px}
@keyframes view-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px) and (min-height:900px){.site-shell{grid-template-rows:100px minmax(0,1fr) 70px}.screen{padding-top:30px;padding-bottom:30px}.editorial-layout{gap:100px}.home-logo{width:410px}.home-cta{margin-top:55px}}
@media(max-width:1100px){:root{--gutter:52px;--frame:18px}.header-context{font-size:9px;gap:10px}.site-footer .small-caps{font-size:8px}.footer-navigation{font-size:12px;gap:12px}.editorial-layout{gap:36px}.facilities li{font-size:14px}.menu-body{gap:65px}.menu-aside{padding-right:50px}.enquiry-composition{width:min(100%,800px)}}
@media(max-width:999px),(max-height:819px){.venue-tabs{display:flex;border-bottom:1px solid #c597574f;gap:22px;margin-bottom:24px}.venue-tabs button{padding:10px 0;font-size:15px;color:var(--gold);border-bottom:1px solid transparent;white-space:nowrap;min-height:44px}.venue-tabs button[aria-selected="true"]{color:var(--gold-light);border-bottom-color:var(--gold)}.venue-pages{min-height:175px}.venue-pages article+article{margin-top:0}.venue-pages p:not(.eyebrow){font-size:19px;line-height:1.45}.venue-pages .lead{font-size:24px;line-height:1.4}.facilities{padding-top:0;border:0}.facilities h3{display:none}.facilities ul{gap:16px}.facilities li{font-size:18px;line-height:1.35}.venue-pagination{display:flex;align-items:center;gap:17px;margin-top:18px;color:var(--gold)}.venue-pagination .small-caps{font-size:9px;letter-spacing:.1em}.arrow-button{width:36px;height:36px;font-size:23px;padding:0;border:1px solid #bc843f5c}.venue-copy .editorial-cta{margin-top:22px}.editorial-copy :is(h1,h2){margin-bottom:18px}.catering-copy :is(h1,h2){font-size:68px}.catering-copy p.catering-lead{font-size:27px}.catering-copy p.catering-description{font-size:18px}.catering-copy p.catering-signature{font-size:17px}.venue-photo,.catering-photo{height:92%}.home-logo{width:min(340px,43vh)}}
@media(max-width:899px),(max-height:680px){.enquiry-composition{max-width:550px}.enquiry-heading :is(h1,h2){font-size:56px;margin-bottom:28px}.form-meta{display:flex}#enquiry-form{gap:20px}#enquiry-form fieldset{grid-template-columns:minmax(0,1fr);gap:22px}.form-field label{font-size:11px}.form-field input,.form-field select,.form-field textarea{font-size:18px;min-height:40px}.form-field textarea{min-height:140px;max-height:160px}.occasion-guests{grid-template-columns:minmax(0,1fr) 100px}.form-actions{justify-content:space-between;margin-top:12px;min-height:50px}.form-actions .outline-button{min-width:180px}.form-actions #form-next:first-child{margin-left:auto}.form-disclaimer{margin-top:0;font-size:10px}.enquiry-signature{font-size:24px;margin-top:22px}.menu-body{gap:45px}.menu-aside{padding-right:35px}.menu-aside p{font-size:37px}}
@media(max-width:699px){:root{--frame:12px;--gutter:32px}.site-shell{padding-top:max(25px,env(safe-area-inset-top));padding-bottom:max(23px,env(safe-area-inset-bottom));grid-template-rows:57px minmax(0,1fr) 37px}.site-header{grid-template-columns:1fr auto;gap:12px}.header-context{display:none}.header-brand{width:145px;justify-self:start}.menu-toggle{gap:0;padding-left:8px}.menu-toggle>.small-caps{display:none}.hamburger{width:28px;gap:6px}body[data-current-view="home"] .site-header{grid-template-columns:1fr 1fr}.screen{padding-top:17px;padding-bottom:16px}.site-footer{justify-content:center}.footer-navigation,.footer-enquiry{display:none}.site-footer .footer-location{font-size:9px;letter-spacing:.22em}.home-composition{transform:translateY(-24px);width:100%}.home-logo{width:min(76vw,300px,41vh)}.home-subtitle{font-size:8px;letter-spacing:.23em;margin-top:21px}.home-cta{min-width:230px;min-height:47px;margin-top:43px;font-size:11px;letter-spacing:.22em;padding:13px 23px}.home-discover{font-size:12px;margin-top:11px}.home-whisper{bottom:26px;font-size:20px}.outline-button{font-size:11px;min-height:47px;padding:13px 23px;gap:25px}.editorial-layout{display:flex;flex-direction:column;gap:22px;align-items:stretch;justify-content:center}.editorial-photo{height:clamp(110px,23vh,190px);max-height:190px;flex-shrink:0}.editorial-photo:before{inset:7px}.venue-photo{display:none}.venue-copy{max-width:100%;height:auto;display:flex;flex-direction:column;min-height:0}.editorial-copy :is(h1,h2){font-size:55px;margin-bottom:20px}.eyebrow{font-size:9px;letter-spacing:.19em;margin-bottom:13px}.venue-tabs{gap:22px;margin-bottom:24px;justify-content:space-between}.venue-tabs button{font-size:15px;padding:8px 0}.venue-pages{min-height:222px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.venue-pages p:not(.eyebrow){font-size:19px;line-height:1.48}.venue-pages .lead{font-size:25px!important;line-height:1.38!important}.venue-pages p+p{margin-top:18px}.facilities ul{gap:19px}.facilities li{font-size:18px;line-height:1.35}.venue-pagination{margin-top:16px;justify-content:space-between;width:100%}.arrow-button{width:44px;height:38px}.venue-copy .editorial-cta{margin-top:24px;align-self:flex-start}.catering-layout{gap:22px;position:relative;justify-content:center}.catering-copy{order:2}.catering-photo{order:1;height:clamp(100px,20vh,170px);width:100%}.catering-photo img{object-position:50% 58%}.image-note{font-size:8px;bottom:12px;left:13px;padding:4px 6px}.catering-copy :is(h1,h2){font-size:51px;margin-bottom:15px;line-height:1}.catering-copy :is(h1,h2) br{display:none}.catering-copy :is(h1,h2) em{margin-left:7px}.catering-copy .eyebrow{display:none}.catering-copy p.catering-lead{font-size:25px;line-height:1.16;margin-bottom:16px}.catering-copy p.catering-lead br{display:none}.catering-copy p.catering-description{font-size:17px;line-height:1.45}.catering-copy p.catering-signature{font-size:17px;margin-top:16px;line-height:1.3}.catering-copy .editorial-cta{margin-top:22px}.gallery-screen{gap:17px}.gallery-topline :is(h1,h2){font-size:43px}.gallery-enquiry{display:none}.gallery-stage>img{object-fit:cover;object-position:57% center}.gallery-caption{left:20px;right:20px;bottom:23px;align-items:flex-end;gap:8px}.gallery-caption h3{font-size:29px;line-height:1}.gallery-caption p{font-size:13px;margin-top:9px;max-width:190px}.gallery-caption .small-caps{font-size:10px;white-space:nowrap;letter-spacing:.1em}.gallery-arrow{width:38px;height:44px;font-size:23px;top:44%;background:#170c068c}.gallery-arrow.previous{left:12px}.gallery-arrow.next{right:12px}.gallery-bottomline{flex-direction:column;gap:9px}.gallery-dots{gap:7px}.gallery-dots button{width:33px}.photo-credit{font-size:8px}.contact-composition :is(h1,h2){font-size:57px}.contact-composition .eyebrow{font-size:8px}.contact-composition .short-rule{margin:28px auto}.contact-copy{font-size:18px;line-height:1.5}.contact-composition .outline-button{margin-top:30px}.contact-location{font-size:18px;margin-top:28px}.contact-signature{font-size:17px}.enquiry-screen{align-items:center}.enquiry-heading :is(h1,h2){font-size:48px;margin-bottom:26px;letter-spacing:-.03em;white-space:nowrap}.enquiry-heading .eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:12px}.form-meta{font-size:22px;margin-bottom:22px;padding-bottom:16px}#enquiry-form{gap:20px}#enquiry-form fieldset{gap:25px}.form-field label{font-size:10px;letter-spacing:.18em}.form-field input,.form-field select,.form-field textarea{font-size:18px;min-height:43px;padding-top:6px;padding-bottom:12px}.form-field textarea{min-height:146px}.occasion-guests{gap:19px;grid-template-columns:minmax(0,1fr) 70px}.form-actions{margin-top:17px;gap:15px;min-height:47px}.form-actions .outline-button{min-width:165px;font-size:10px;padding:12px 17px;letter-spacing:.16em}.form-actions .subtle-link{font-size:15px}.enquiry-signature{margin-top:28px;font-size:25px}.form-disclaimer{font-size:9px}.enquiry-result h3{font-size:33px}.enquiry-result p{font-size:16px}.result-actions{gap:20px;flex-direction:column;margin-top:22px}.menu-overlay{grid-template-rows:62px minmax(0,1fr) 100px;padding:calc(var(--frame) + 22px) var(--gutter) calc(var(--frame) + 30px)}.menu-header{justify-content:flex-start}.menu-header>a{width:190px}.menu-close{right:-4px}.menu-close span{width:29px}.menu-body{display:block;width:100%;margin:auto;max-width:350px;padding:0 13px}.menu-aside{display:none}.main-navigation{gap:20px}.main-navigation>a,.services-group>button{font-size:39px;gap:18px;min-height:46px}.nav-number{font-size:8px}.chevron{width:12px;height:12px;margin-right:4px}#services-list{padding-left:32px;padding-top:10px;gap:12px}#services-list a{font-size:25px;line-height:1.25}.menu-footer{gap:21px;justify-content:flex-end}.menu-footer>em{font-size:27px}.menu-footer>a{position:static;font-size:9px;letter-spacing:.17em;padding:5px 0}.menu-footer .short-rule{width:35px}}
@media(max-width:699px) and (min-height:820px){.venue-photo{display:block;height:150px;max-height:150px}.venue-photo img{object-position:center 52%}.venue-photo .photo-link{left:17px;right:17px;bottom:17px;padding:6px 10px;min-height:32px;font-size:8px}.venue-photo .photo-index{display:none}.venue-pages{min-height:200px}.venue-tabs{margin-bottom:18px}.venue-copy :is(h1,h2){margin-bottom:10px}.venue-copy .eyebrow{margin-bottom:9px}.venue-copy .editorial-cta{margin-top:16px}.venue-layout{gap:20px}.venue-pages .lead{font-size:23px!important}.venue-pages p:not(.eyebrow){font-size:17px}.venue-pagination{margin-top:12px}.facilities ul{gap:14px}.facilities li{font-size:17px}.catering-photo{height:24vh;max-height:220px}.catering-layout{gap:30px}}
@media(max-width:699px) and (max-height:710px){.site-shell{grid-template-rows:48px minmax(0,1fr) 28px}.screen{padding-top:10px;padding-bottom:10px}.home-logo{width:min(68vw,35vh)}.home-subtitle{margin-top:12px;font-size:7px}.home-cta{margin-top:27px;min-height:43px}.home-composition{transform:translateY(-14px)}.home-whisper{bottom:8px;font-size:18px}.home-discover{margin-top:5px}.editorial-copy :is(h1,h2){font-size:49px;margin-bottom:12px}.eyebrow{font-size:8px;margin-bottom:9px}.venue-tabs{margin-bottom:18px}.venue-pages{min-height:202px}.venue-pages .lead{font-size:23px!important}.venue-pages p:not(.eyebrow){font-size:17px;line-height:1.4}.venue-pages p+p{margin-top:14px}.venue-pagination{margin-top:9px}.venue-copy .editorial-cta{margin-top:18px;min-height:43px}.facilities ul{gap:15px}.facilities li{font-size:17px}.catering-photo{height:110px}.catering-layout{gap:20px}.catering-copy :is(h1,h2){font-size:43px;margin-bottom:12px}.catering-copy p.catering-lead{font-size:23px;margin-bottom:12px}.catering-copy p.catering-description{font-size:17px;line-height:1.35}.catering-copy p.catering-signature{font-size:16px;margin-top:12px}.catering-copy .editorial-cta{margin-top:17px;min-height:43px}.gallery-topline :is(h1,h2){font-size:38px}.gallery-screen{gap:13px}.contact-composition :is(h1,h2){font-size:49px}.contact-composition .short-rule{margin:20px auto}.contact-copy{font-size:17px}.contact-composition .outline-button{margin-top:22px}.contact-location{margin-top:22px}.enquiry-heading :is(h1,h2){font-size:41px;margin-bottom:22px}.enquiry-heading .eyebrow{font-size:7px;letter-spacing:.12em}.form-meta{font-size:20px;margin-bottom:18px;padding-bottom:13px}#enquiry-form{gap:17px}#enquiry-form fieldset{gap:19px}.form-field input,.form-field select,.form-field textarea{min-height:38px;font-size:17px}.form-field textarea{min-height:125px}.form-actions{margin-top:9px}.enquiry-signature{margin-top:19px;font-size:23px}.menu-overlay{grid-template-rows:50px minmax(0,1fr) 88px;padding-top:26px;padding-bottom:30px}.menu-header>a{width:165px}.main-navigation{gap:14px}.main-navigation>a,.services-group>button{font-size:33px;min-height:43px}#services-list{gap:8px;padding-top:6px;padding-bottom:0}#services-list a{font-size:21px}.menu-footer{gap:14px}.menu-footer>em{font-size:24px}.menu-footer>a{font-size:8px}}
@media(max-width:380px){:root{--gutter:28px;--frame:10px}.header-brand{width:135px}.venue-tabs{gap:15px}.venue-tabs button{font-size:14px}.venue-pages .lead{font-size:22px!important}.venue-pages p:not(.eyebrow){font-size:16.5px}.facilities li{font-size:16px}.catering-copy :is(h1,h2){font-size:38px}.catering-copy p.catering-lead{font-size:22px}.catering-copy p.catering-description{font-size:16px}.catering-photo{height:105px}.enquiry-heading :is(h1,h2){font-size:38px}.outline-button{font-size:10px}.main-navigation>a,.services-group>button{font-size:31px}.menu-header>a{width:155px}.menu-body{padding-inline:7px}}
@media(max-height:590px) and (max-width:699px){.catering-photo{display:none}.catering-copy :is(h1,h2){font-size:42px}.catering-copy p.catering-description{line-height:1.45}.venue-pages{min-height:190px}.enquiry-signature{margin-top:13px}.enquiry-heading .eyebrow{display:none}.enquiry-heading :is(h1,h2){margin-bottom:19px}.form-field textarea{min-height:105px}.home-subtitle{display:none}.home-logo{width:205px;max-width:34vh}.home-cta{margin-top:28px}.home-whisper{font-size:16px}.contact-composition :is(h1,h2){font-size:46px}.menu-footer .short-rule{display:none}.menu-footer{gap:10px}.menu-overlay{grid-template-rows:45px minmax(0,1fr) 75px}.main-navigation{gap:11px}}
@media(max-height:740px) and (min-width:700px){.site-shell{grid-template-rows:62px minmax(0,1fr) 42px}.screen{padding-top:12px;padding-bottom:12px}.home-logo{width:280px;max-width:40vh}.home-subtitle{margin-top:16px;font-size:8px}.home-cta{margin-top:27px;min-height:44px}.home-whisper{bottom:7px;font-size:18px}.home-composition{transform:translateY(-14px)}.editorial-copy :is(h1,h2){font-size:55px;margin-bottom:14px}.editorial-copy .eyebrow{margin-bottom:10px;font-size:9px}.venue-pages{min-height:165px}.venue-pages p:not(.eyebrow){font-size:17px}.venue-pages .lead{font-size:23px!important}.venue-tabs{margin-bottom:16px}.venue-pagination{margin-top:12px}.venue-copy .editorial-cta{margin-top:17px}.facilities ul{gap:13px}.facilities li{font-size:17px}.catering-copy :is(h1,h2){font-size:59px}.catering-copy p.catering-lead{font-size:26px;margin-bottom:15px}.catering-copy p.catering-description{font-size:17px}.catering-copy p.catering-signature{font-size:17px;margin-top:15px}.catering-copy .editorial-cta{margin-top:20px}.enquiry-heading :is(h1,h2){font-size:54px;margin-bottom:25px}.enquiry-heading .eyebrow{font-size:9px}#enquiry-form{gap:19px}.enquiry-signature{font-size:23px;margin-top:20px}.contact-composition :is(h1,h2){font-size:69px}.contact-composition .short-rule{margin:22px auto}.contact-copy{font-size:19px}.contact-composition .outline-button{margin-top:22px}.contact-location{margin-top:22px}.menu-overlay{grid-template-rows:62px minmax(0,1fr) 78px}.menu-aside svg{height:130px;width:94px;margin-bottom:22px}.main-navigation{gap:10px}.main-navigation>a,.services-group>button{font-size:38px;min-height:42px}#services-list{padding-top:8px;gap:7px}#services-list a{font-size:21px}.menu-footer>em{font-size:25px}.menu-footer{gap:12px}}
@media(max-height:519px) and (min-width:480px){:root{--frame:10px;--gutter:30px}.site-shell{padding-top:18px;padding-bottom:17px;grid-template-rows:38px minmax(0,1fr) 22px}.site-header{gap:15px}.header-brand{width:130px}.header-context{font-size:8px}.hamburger{width:25px;gap:5px}.menu-toggle{min-height:35px}.menu-toggle .small-caps{font-size:9px}.screen{padding-top:8px;padding-bottom:8px}.site-footer .small-caps{font-size:7px}.footer-navigation{font-size:11px;gap:11px}.footer-navigation a{padding:4px 0}.home-composition{display:grid;grid-template-columns:210px 220px;column-gap:65px;grid-template-rows:auto auto auto;transform:none;text-align:center;align-items:center}.home-logo{grid-column:1;grid-row:1/4;width:210px;max-width:39vh}.home-subtitle{grid-column:2;grid-row:1;align-self:end;margin:0;font-size:7px}.home-cta{grid-column:2;grid-row:2;margin-top:18px;min-width:210px;padding:11px 16px;min-height:42px;font-size:10px}.home-discover{grid-column:2;grid-row:3;justify-content:center;align-self:start;margin-top:5px;font-size:12px}.home-whisper{display:none}.editorial-layout{gap:30px;grid-template-columns:30% minmax(0,1fr)}.venue-photo{height:100%}.editorial-copy .eyebrow{display:none}.editorial-copy :is(h1,h2){font-size:39px;margin-bottom:8px}.venue-copy{position:relative}.venue-tabs{position:absolute;top:0;right:0;border-bottom:0;gap:16px;margin:0;max-width:65%}.venue-tabs button{font-size:13px;min-height:35px;padding-top:3px;padding-bottom:6px}.venue-pages{min-height:110px;margin-top:13px;max-width:100%}.venue-pages p:not(.eyebrow){font-size:16px;line-height:1.3}.venue-pages .lead{font-size:21px!important;line-height:1.3!important}.venue-pages p+p{margin-top:8px}.venue-pagination{margin-top:10px;width:130px;gap:12px}.arrow-button{height:32px;width:34px;font-size:21px}.venue-copy .editorial-cta{position:absolute;bottom:0;right:0;margin:0;min-height:36px;font-size:9px;padding:9px 14px;gap:15px}.photo-link{font-size:7px;bottom:17px;left:17px;right:17px;padding:7px 8px;min-height:34px}.photo-link span{font-size:16px}.photo-index{display:none}.facilities ul{gap:9px}.facilities li{font-size:15px}.catering-layout{grid-template-columns:minmax(0,1fr) 33%;gap:35px}.catering-copy :is(h1,h2){font-size:40px;margin-bottom:10px}.catering-copy :is(h1,h2) br{display:none}.catering-copy :is(h1,h2) em{margin-left:6px}.catering-copy p.catering-lead{font-size:21px;margin-bottom:10px}.catering-copy p.catering-lead br{display:none}.catering-copy p.catering-description{font-size:16px;line-height:1.3}.catering-copy p.catering-signature{font-size:15px;margin-top:10px}.catering-copy .editorial-cta{margin-top:14px;min-height:36px;padding:9px 14px;font-size:9px}.catering-photo{height:100%}.image-note{font-size:7px;left:13px;bottom:14px}.gallery-screen{gap:8px;grid-template-rows:auto minmax(0,1fr) 20px}.gallery-topline .eyebrow{display:none}.gallery-topline :is(h1,h2){font-size:34px}.gallery-caption{bottom:13px;left:22px;right:22px}.gallery-caption h3{font-size:26px}.gallery-caption p{font-size:12px}.gallery-arrow{height:35px;width:38px}.gallery-bottomline{flex-direction:row}.gallery-dots button{height:17px;width:25px}.photo-credit{font-size:8px}.contact-composition{display:grid;grid-template-columns:1.15fr 1fr;column-gap:45px;text-align:left}.contact-composition .eyebrow{grid-column:1;grid-row:1;font-size:8px;margin-bottom:12px}.contact-composition :is(h1,h2){font-size:48px;grid-column:1;grid-row:2/5}.contact-composition .short-rule{display:none}.contact-copy{grid-column:2;grid-row:2;font-size:17px}.contact-composition .outline-button{grid-column:2;grid-row:3;font-size:10px;margin-top:20px;min-height:40px;padding:10px 20px;justify-self:start}.contact-location{grid-column:2;grid-row:4;font-size:16px;margin-top:17px}.contact-signature{grid-column:2;font-size:14px;margin-top:5px}.enquiry-composition{max-width:680px;position:relative}.enquiry-heading{text-align:left}.enquiry-heading :is(h1,h2){font-size:37px;margin-bottom:18px}.enquiry-heading .eyebrow{display:none}.form-meta{position:absolute;top:7px;right:0;gap:30px;margin:0;padding:0;border:0;font-size:18px}.form-meta .small-caps{font-size:9px}#enquiry-form{gap:14px}#enquiry-form fieldset{grid-template-columns:1fr 1fr;gap:35px}.form-field label{font-size:9px;margin-bottom:4px}.form-field input,.form-field select,.form-field textarea{font-size:16px;min-height:36px;padding-bottom:8px}.form-field textarea{min-height:68px;max-height:68px}.occasion-guests{gap:15px;grid-template-columns:minmax(0,1fr) 65px}.form-actions{min-height:36px;margin-top:8px;gap:16px}.form-actions .outline-button{min-height:37px;font-size:9px;min-width:170px;padding:9px 17px}.form-actions .subtle-link{font-size:14px}.form-disclaimer{position:absolute;bottom:11px;left:30%;font-size:8px}.enquiry-signature{display:none}.enquiry-result{padding-top:0}.result-symbol{display:none}.enquiry-result h3{font-size:26px;margin-bottom:8px}.enquiry-result p{font-size:15px;margin-top:6px}.result-actions{margin-top:16px;flex-direction:row;gap:25px}.result-actions .outline-button{font-size:9px;min-height:36px;padding:9px 20px}.menu-overlay{grid-template-rows:38px minmax(0,1fr) 30px;padding:17px 45px 20px}.menu-header>a{width:145px}.menu-close{height:35px;width:35px}.menu-close span{width:28px;top:17px}.menu-body{width:min(100%,850px);grid-template-columns:.7fr 1.3fr;gap:45px}.menu-aside{padding-right:35px}.menu-aside svg{height:80px;width:60px;margin-bottom:12px}.menu-aside p{font-size:32px}.menu-aside>em{font-size:20px;margin-top:8px}.main-navigation{display:grid;grid-template-columns:1fr 1.35fr;column-gap:35px;row-gap:10px}.main-navigation>a,.services-group>button{font-size:27px;min-height:35px;gap:13px}.main-navigation>a[data-nav="home"]{grid-column:1;grid-row:1}.main-navigation .services-group{grid-column:2;grid-row:1/4}.main-navigation>a[data-nav="gallery"]{grid-column:1;grid-row:2}.main-navigation>a[data-nav="contact"]{grid-column:1;grid-row:3}.nav-number{font-size:8px}#services-list{padding-left:27px;padding-top:8px;gap:12px}#services-list a{font-size:19px}.chevron{width:9px;height:9px;margin-right:0}.menu-footer .short-rule{display:none}.menu-footer>em{font-size:19px}.menu-footer>a{position:absolute;bottom:27px;right:45px;font-size:8px}.menu-footer{gap:0;justify-content:center}}
@media(max-height:519px) and (min-width:480px) and (max-width:780px){.editorial-layout{grid-template-columns:23% 1fr;gap:24px}.venue-tabs{gap:10px}.venue-tabs button{font-size:12px}.venue-copy :is(h1,h2){font-size:35px}.venue-pages p:not(.eyebrow){font-size:15px}.venue-pages .lead{font-size:20px!important}.menu-aside{display:none}.menu-body{display:block;width:78%}.main-navigation{grid-template-columns:1fr 1.2fr;column-gap:45px}.catering-layout{grid-template-columns:1fr 25%;gap:24px}.catering-copy :is(h1,h2){font-size:35px}.catering-copy p.catering-description{font-size:15px}.catering-copy p.catering-lead{font-size:20px}.contact-composition{gap:25px}.contact-composition :is(h1,h2){font-size:43px}.contact-copy{font-size:15px}}
body.keyboard-open .site-shell{grid-template-rows:36px minmax(0,1fr) 0}body.keyboard-open .site-footer,body.keyboard-open .enquiry-signature,body.keyboard-open .enquiry-heading{display:none}body.keyboard-open .enquiry-screen{padding-block:5px}body.keyboard-open .form-meta{margin-bottom:12px;padding-bottom:8px;font-size:17px}body.keyboard-open #enquiry-form{gap:10px}body.keyboard-open #enquiry-form fieldset{gap:12px}body.keyboard-open .form-field label{margin-bottom:3px}body.keyboard-open .form-field input,body.keyboard-open .form-field select{min-height:33px;padding-bottom:6px}body.keyboard-open .form-field textarea{min-height:75px;max-height:90px}body.keyboard-open .form-actions{margin-top:4px}body.keyboard-open .form-actions .outline-button{min-height:36px;padding-block:8px}body.keyboard-open .form-disclaimer{display:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Compact screens keep explicit tabs and readable copy without duplicate paging controls. */
@media(max-width:699px) and (max-height:710px){.venue-copy>.eyebrow,.venue-pagination{display:none}.venue-pages{min-height:190px}.venue-copy .editorial-cta{margin-top:23px}.venue-tabs{margin-bottom:19px}}
@media(max-width:380px) and (max-height:590px){.catering-copy :is(h1,h2){font-size:38px}}
@media(max-height:519px) and (min-width:480px){.editorial-layout{display:grid;flex-direction:initial}.catering-copy,.catering-photo{order:initial}.venue-photo,.catering-photo{max-height:none}.venue-copy>.eyebrow{display:none}.venue-pagination{display:flex}.venue-copy .editorial-cta{margin:0}.venue-tabs{margin:0}}
@media(max-height:519px) and (min-width:480px) and (max-width:699px){.venue-photo,.catering-photo{display:none}.editorial-layout{grid-template-columns:minmax(0,1fr)}.venue-copy{height:auto}.venue-pages{min-height:102px}.venue-pages .lead{font-size:21px!important}.venue-copy :is(h1,h2){font-size:36px}.venue-tabs{max-width:60%}.catering-copy :is(h1,h2){font-size:37px}.catering-copy p.catering-lead{font-size:20px}.catering-copy p.catering-description{font-size:16px}.catering-copy p.catering-signature{font-size:15px}.menu-body{display:block;width:88%;padding:0}.menu-aside{display:none}.menu-footer{justify-content:center}.main-navigation{grid-template-columns:1fr 1.25fr}.enquiry-screen{align-items:center}.enquiry-heading :is(h1,h2){font-size:34px}.form-field textarea{min-height:62px;max-height:62px}.form-meta{font-size:16px}.contact-composition :is(h1,h2){font-size:39px}.contact-copy{font-size:15px}.contact-composition .outline-button{margin-top:12px}.contact-location{margin-top:12px}.home-composition{grid-template-columns:150px 210px;column-gap:40px}.home-logo{width:150px;max-width:41vh}.home-subtitle{display:block;font-size:6px}.home-cta{margin-top:15px}}

body[data-current-view="home"] .header-brand{visibility:hidden}

@media(max-width:699px) and (max-height:590px){.contact-composition .eyebrow{display:none}}

.enquiry-review .enquiry-heading,.enquiry-review .enquiry-signature{display:none}
@media(max-height:519px) and (min-width:480px){.contact-composition{row-gap:0}.contact-signature{display:none}}
@media(max-height:519px) and (min-width:480px) and (max-width:699px){.catering-copy{position:relative}.catering-copy .editorial-cta{position:absolute;right:0;bottom:0;margin:0}.catering-copy p.catering-signature{max-width:54%;min-height:36px;display:flex;align-items:center;margin-top:12px}}

/* Requested refinements: uninterrupted venue copy, natural photographs and contact details. */
.photo-link{justify-content:center}
.services-indicator{position:relative;width:18px;height:18px;margin-left:auto;margin-right:8px;flex-shrink:0}
.services-indicator:before,.services-indicator:after{content:'';position:absolute;top:8px;left:1px;width:16px;height:1px;background:var(--gold)}
.services-indicator:after{transform:rotate(90deg);opacity:0;transition:opacity .2s}
[aria-expanded="false"]>.services-indicator:after{opacity:1}
#services-list{padding-left:18px}
.gallery-stage{display:flex;align-items:center;justify-content:center}
.gallery-stage>img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;flex-shrink:1}
.gallery-stage img[src*="space-table"],.gallery-stage img[src*="space-entrance"]{background:transparent}
.gallery-bottomline{flex-direction:row;justify-content:center;gap:24px}
.gallery-control{min-width:70px;min-height:44px;padding:10px 0;font-size:12px;letter-spacing:.08em;color:var(--gold)}
.gallery-control:hover{color:var(--gold-light)}
.contact-details{display:flex;justify-content:center;gap:48px;margin-top:28px}
.contact-details>div{display:flex;flex-direction:column;align-items:center;gap:7px}
.contact-details .small-caps{font-size:9px;letter-spacing:.18em;color:var(--gold)}
.contact-details a{font-size:19px;line-height:1.35;color:var(--gold-light)}
.contact-details a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-signature{margin-top:20px}
.contact-composition .short-rule{margin:23px auto}
.venue-pages{min-height:0}
body[data-venue-layout="full"] .venue-tabs{display:none}
@media(min-width:1000px) and (max-height:819px){.venue-pages p:not(.eyebrow){font-size:17px;line-height:1.4}.venue-pages .lead{font-size:19px!important;line-height:1.35!important}.venue-pages p+p{margin-top:12px}.facilities ul{gap:10px}.facilities li{font-size:15px}}
@media(max-width:699px){
 .venue-pages{min-height:0}.venue-pages .lead{font-size:20px!important;line-height:1.35!important}.venue-pages p:not(.eyebrow){font-size:18px;line-height:1.4}.venue-pages p+p{margin-top:14px}.venue-tabs{justify-content:flex-start;gap:30px;margin-bottom:18px}
 .gallery-bottomline{gap:12px}.gallery-control{min-width:58px;font-size:11px;letter-spacing:.03em}.gallery-dots{gap:6px}.gallery-dots button{width:24px}
 .contact-details{flex-direction:column;gap:16px;margin-top:24px}.contact-details>div{gap:5px}.contact-details a{font-size:18px}.contact-signature{margin-top:18px}.contact-composition .short-rule{margin:20px auto}
}
@media(max-width:699px) and (min-height:820px){.venue-photo{height:120px;max-height:120px}.venue-layout{gap:18px}.venue-pages .lead{font-size:19px!important}.venue-pages p:not(.eyebrow){font-size:18px}}
@media(max-width:699px) and (max-height:710px){
 .venue-copy :is(h1,h2){font-size:44px;margin-bottom:10px}.venue-tabs{margin-bottom:14px}.venue-pages p:not(.eyebrow){font-size:17px;line-height:1.35}.venue-pages .lead{font-size:18px!important;line-height:1.35!important}.venue-pages p+p{margin-top:11px}
 .contact-composition :is(h1,h2){font-size:43px}.contact-composition .short-rule{margin:14px auto}.contact-copy{font-size:16px;line-height:1.35}.contact-composition .outline-button{margin-top:18px;min-height:43px;padding-block:11px}.contact-details{margin-top:21px;gap:13px}.contact-details a{font-size:17px}.contact-signature{margin-top:15px;font-size:16px}
}
@media(max-width:380px) and (max-height:640px){.venue-copy :is(h1,h2){font-size:39px;margin-bottom:8px}.venue-tabs{margin-bottom:12px}.venue-pages p:not(.eyebrow){font-size:16px;line-height:1.32}.venue-pages .lead{font-size:17px!important;line-height:1.32!important}.venue-pages p+p{margin-top:10px}.contact-composition :is(h1,h2){font-size:40px}.contact-composition .short-rule{margin:12px auto}.contact-composition .outline-button{margin-top:14px}.contact-details{margin-top:18px;gap:11px}.contact-signature{margin-top:12px;font-size:15px}}
@media(max-height:519px) and (min-width:480px){
 .venue-copy :is(h1,h2){font-size:35px;margin-bottom:6px}.venue-tabs{gap:18px}.venue-pages{margin-top:8px;min-height:0}.venue-pages p:not(.eyebrow){font-size:15px;line-height:1.3}.venue-pages .lead{font-size:16px!important;line-height:1.3!important}.venue-pages p+p{margin-top:7px}
 .gallery-screen{grid-template-rows:auto minmax(0,1fr) 32px}.gallery-control{min-height:32px;padding:6px 0;font-size:11px}
 .contact-composition{width:100%;grid-template-columns:1fr 1fr;column-gap:32px;row-gap:12px;align-items:center}.contact-composition .eyebrow{display:none}.contact-composition :is(h1,h2){grid-column:1;grid-row:1/3;font-size:43px}.contact-copy{grid-column:2;grid-row:1;font-size:16px;line-height:1.3}.contact-composition .outline-button{grid-column:2;grid-row:2;margin-top:0;min-height:38px;padding-block:9px}.contact-details{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:0}.contact-details>div{align-items:flex-start;gap:4px}.contact-details a{font-size:16px;line-height:1.25}.contact-details .small-caps{font-size:8px}.contact-signature{display:none}
}
@media(max-height:519px) and (min-width:480px) and (max-width:699px){.venue-copy :is(h1,h2){font-size:33px}.venue-tabs{max-width:58%;gap:17px}.venue-pages p:not(.eyebrow){font-size:15px}.venue-pages .lead{font-size:16px!important}.contact-composition{column-gap:24px;row-gap:10px}.contact-composition :is(h1,h2){font-size:37px}.contact-copy{font-size:15px}.contact-details{column-gap:24px}.contact-details a{font-size:15px}}

/* Both tab panels reserve the same space; inactive content stays inert and hidden. */
.venue-copy>*,.venue-layout>.venue-copy{flex-shrink:0}
.venue-tabs{flex-shrink:0}
.venue-paged .venue-pages{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-content:normal;min-height:0}
.venue-paged [data-venue-page]{grid-area:1/1;align-self:start;min-width:0;margin:0}
.venue-paged [data-venue-page][hidden]{display:block!important;visibility:hidden;pointer-events:none}
.venue-paged .facilities h3{display:none}
.contact-composition{width:min(100%,1100px);max-width:100%}
.contact-composition>*{flex-shrink:0}
.contact-composition .outline-button{margin-top:0}
.contact-details{flex-shrink:0}
.catering-copy .editorial-cta{display:flex;width:max-content;max-width:100%;margin-inline:auto;align-self:center;position:static;inset:auto}
@media(max-width:699px){
 .contact-composition :is(h1,h2){font-size:clamp(36px,min(13.4vw,7.4svh),57px)}
 .contact-composition .short-rule{margin:clamp(12px,2.4svh,20px) auto}
 .contact-composition .outline-button{margin-top:0}
 .contact-details{margin-top:clamp(18px,3svh,24px);gap:clamp(11px,2svh,16px)}
}
@media(max-width:360px){
 .venue-copy :is(h1,h2){font-size:40px;margin-bottom:10px}
 .venue-copy>.eyebrow{font-size:8px;margin-bottom:10px}
 .venue-tabs{margin-bottom:14px}
 .venue-pages p:not(.eyebrow){font-size:16px;line-height:1.32}
 .venue-pages .lead{font-size:17px!important;line-height:1.32!important}
 .venue-pages p+p{margin-top:10px}
}
@media(max-height:519px) and (min-width:480px){
 .contact-composition{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;column-gap:32px;row-gap:18px}
 .contact-composition :is(h1,h2){grid-column:1;grid-row:1/3;font-size:clamp(34px,5vw,43px)}
 .contact-composition .outline-button{grid-column:2;grid-row:1;justify-self:start;margin:0}
 .contact-details{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:12px;margin:0;align-items:flex-start}
 .contact-details>div{align-items:flex-start}
 .catering-copy :is(h1,h2){font-size:35px;margin-bottom:6px}
 .catering-copy p.catering-lead{font-size:20px;line-height:1.15;margin-bottom:8px}
 .catering-copy p.catering-description{font-size:15px;line-height:1.25}
 .catering-copy p.catering-signature{font-size:14px;line-height:1.2;margin-top:8px;max-width:none;min-height:0;display:block}
 .catering-copy .editorial-cta{margin-top:10px;min-height:34px;padding:8px 16px}
}

  
/* Opaque menu, shown immediately above the current view. */
.menu-overlay{background-color:#451003;opacity:1;animation:none;transition:none;isolation:isolate}
body.menu-open .site-shell{visibility:hidden}

/* Client homepage refinements: retain a centred lockup at every viewport. */
.home-logo{flex-shrink:0}
.home-logo svg{display:block}
.home-subtitle{display:block;align-self:center;max-width:100%;text-align:center}
@media(max-height:519px) and (min-width:480px){
  .home-composition{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;transform:none;gap:0}
  .home-logo{width:min(210px,39svh);max-width:100%}
  .home-subtitle{display:block;align-self:center;margin-top:9px;font-size:8px;letter-spacing:.2em}
  .home-cta{margin-top:14px;min-width:210px;min-height:38px;padding:9px 20px}
}


/* One continuous border image keeps the corners fixed in static iPhone file previews. */
body[data-current-view="home"] .header-context .context-divider,
body[data-current-view="home"] .header-context .context-city{display:none}
.outer-frame{--frame-cell:48px}
.frame-assembly{position:absolute;inset:0;display:block;box-sizing:border-box;border:var(--frame-cell) solid transparent;border-image-source:url("/assets/images/vintage-frame-desktop.svg");border-image-slice:48;border-image-width:var(--frame-cell);border-image-outset:0;border-image-repeat:stretch;filter:url(#frame-hand-finish)}
body[data-current-view="home"]:not(.menu-open) .frame-assembly{filter:url(#home-aged-bronze)}
.home-mobile-logo,.footer-signature{display:none}
@media(max-height:519px) and (min-width:480px){.outer-frame{--frame-cell:28px}}

/* The supplied mobile reference has its own portrait artwork and width-scaled composition. */
@media(max-width:699px) and (orientation:portrait){
  .outer-frame{--frame:clamp(8px,2.45vw,12px);--frame-cell:clamp(14px,4.5vw,22px)}
  .frame-assembly{border-image-source:url("/assets/images/vintage-frame-mobile.svg")}
  .ambience{background-image:url("/assets/optimized/istoria-vintage-red-background-mobile-850.webp");background-position:center;background-size:cover}
  body[data-current-view="home"]{--home-unit:min(1vw,.76svh);--home-gold:#e8c282}
  body[data-current-view="home"] .ambience{opacity:1}
  body[data-current-view="home"] .shade{background:none}
  body[data-current-view="home"] .site-shell{position:fixed;inset:0;height:auto;min-height:0;padding:0;display:block;overflow:hidden}
  body[data-current-view="home"] #main-content{position:absolute;inset:0;min-height:0}
  body[data-current-view="home"] .home-screen{position:absolute;inset:0;height:auto;padding:0;display:block;animation:none}
  body[data-current-view="home"] .home-composition{position:absolute;top:45.55%;left:50%;width:100%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0}
  body[data-current-view="home"] .home-logo{display:none}
  .home-mobile-logo{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
  .home-mobile-logo .mobile-rabbit{width:calc(23.4 * var(--home-unit));height:auto;max-width:none;aspect-ratio:170/242}
  .home-mobile-logo .mobile-wordmark{width:calc(54.8 * var(--home-unit));height:auto;max-width:none;aspect-ratio:350/60;margin-top:calc(2.87 * var(--home-unit))}
  body[data-current-view="home"] .home-subtitle{margin:calc(3.87 * var(--home-unit)) 0 0;max-width:none;width:max-content;align-self:center;display:block;font-size:calc(2.58 * var(--home-unit));line-height:1.4;letter-spacing:.3em;text-indent:.3em;white-space:nowrap;color:var(--home-gold)}
  body[data-current-view="home"] .home-cta{position:relative;inset:auto;transform:none;width:calc(46 * var(--home-unit));min-width:0;height:44px;min-height:44px;padding:0;border:0;background:none;gap:0;margin-top:calc(12.52 * var(--home-unit) - (44px - 7.35 * var(--home-unit)) / 2);font-size:calc(2.9 * var(--home-unit));line-height:1;letter-spacing:.25em;text-indent:.25em;color:var(--home-gold)}
  body[data-current-view="home"] .home-cta:after{inset:auto;top:50%;left:0;width:100%;height:calc(7.35 * var(--home-unit));transform:translateY(-50%);border:1px solid #d8ae6b;background:none;pointer-events:none}
  body[data-current-view="home"] .home-cta:hover:after{border-color:#efd097}
  body[data-current-view="home"] .site-header{position:absolute;top:0;right:8.7%;left:auto;width:auto;height:8.75%;padding:0;display:flex;align-items:center;justify-content:flex-end;gap:0;z-index:5}
  body[data-current-view="home"] .header-brand,body[data-current-view="home"] .header-context{display:none}
  body[data-current-view="home"] .menu-toggle{padding:0;min-width:44px;min-height:44px;gap:0;justify-content:flex-end}
  body[data-current-view="home"] .hamburger{width:6.12vw;gap:1.6vw}
  body[data-current-view="home"] .hamburger i{height:1px;background:linear-gradient(90deg,#bf8d47,#edd092 48%,#c59751)}
  body[data-current-view="home"] .site-footer{position:absolute;top:93.2%;left:0;right:0;height:auto;padding:0;display:block;transform:translateY(-50%);text-align:center}
  body[data-current-view="home"] .footer-location,body[data-current-view="home"] .footer-enquiry{display:none}
  body[data-current-view="home"] .footer-signature{display:block;font-family:var(--serif);font-style:italic;font-size:calc(calc(3.54 * var(--home-unit)) - 2px);line-height:1.25;letter-spacing:.01em;color:var(--home-gold)}
}


/* Consistent typography across the Venue, Facilities and Private Catering copy. */
.venue-copy,.catering-copy{--service-copy-size:clamp(17px,1.42vw,20px);--service-copy-leading:1.45}
.venue-copy .venue-pages p,
.venue-copy .facilities li,
.venue-copy .facilities h3,
.catering-copy p:not(.eyebrow){font-family:var(--serif);font-size:var(--service-copy-size);font-weight:400;font-style:normal;line-height:var(--service-copy-leading);letter-spacing:normal;color:var(--text)}
.venue-copy .venue-pages p em,.catering-copy p:not(.eyebrow) em{font:inherit;color:inherit}
.catering-copy :is(h1,h2){font-style:normal}
.venue-photo{width:auto;aspect-ratio:853/1280;justify-self:center;max-width:100%}
.venue-photo img{object-fit:contain;object-position:center}
@media(min-width:1000px) and (max-height:819px){
  .venue-copy,.catering-copy{--service-copy-size:17px;--service-copy-leading:1.4}
}
@media(max-width:699px){
  .venue-copy,.catering-copy{--service-copy-size:18px;--service-copy-leading:1.4}
  .venue-photo{width:100%;aspect-ratio:auto;justify-self:stretch}
  .venue-photo img{object-fit:cover;object-position:50% 35%}
}
@media(max-width:699px) and (max-height:710px){
  .venue-copy,.catering-copy{--service-copy-size:17px;--service-copy-leading:1.35}
}
@media(max-width:380px) and (max-height:640px), (max-width:360px){
  .venue-copy,.catering-copy{--service-copy-size:16px;--service-copy-leading:1.32}
}
@media(max-height:519px) and (min-width:480px){
  .venue-copy,.catering-copy{--service-copy-size:15px;--service-copy-leading:1.3}
}


/* Venue photograph: border follows its edge; the text sits closer on wide screens. */
.venue-photo:before{content:none}
.venue-photo img{outline:1px solid #edc6806e;outline-offset:0}
@media(min-width:700px){
  .venue-photo{display:flex;align-items:center;justify-content:center}
  .venue-photo img{width:auto;height:auto;max-width:100%;max-height:100%}
}
@media(min-width:1101px) and (min-height:520px){
  .venue-layout>.venue-copy{--venue-copy-shift:clamp(32px,3vw,48px);margin-inline-start:calc(-1 * var(--venue-copy-shift));margin-inline-end:var(--venue-copy-shift)}
}


/* Private Catering follows the supplied editorial reference in the established site palette. */
.catering-copy{--catering-title-size:clamp(58px,6vw,84px);--catering-lead-size:clamp(25px,2.2vw,30px)}
.catering-copy .eyebrow{display:block;font-size:13px;line-height:1.4;font-weight:400;letter-spacing:.22em;color:var(--gold);margin-bottom:22px}
.catering-copy :is(h1,h2){font-family:var(--serif);font-size:calc(var(--catering-title-size) - 2px);font-weight:400;font-style:italic;line-height:.98;letter-spacing:-.025em;color:var(--gold-light);margin-bottom:24px}
.catering-copy :is(h1,h2) br,.catering-copy p.catering-lead br{display:initial}
.catering-copy p.catering-lead{font-family:var(--serif);font-size:var(--catering-lead-size);font-weight:400;font-style:italic;line-height:1.24;letter-spacing:normal;color:var(--gold-light);margin:0 0 24px}
.catering-copy p.catering-description,.catering-copy p.catering-signature{font-family:var(--serif);font-size:var(--service-copy-size);font-weight:400;font-style:normal;line-height:1.42;color:var(--text);max-width:none}
.catering-copy p.catering-signature{display:block;min-height:0;margin-top:4px}
.catering-copy .editorial-cta{width:74%;min-width:220px;max-width:360px;min-height:52px;padding:13px 18px;margin:28px auto 0;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.18em;border-color:var(--gold-rule);color:var(--gold-light);justify-content:center}
.catering-photo{display:flex;height:94%;align-items:center;justify-content:center}
.catering-photo:before,.catering-photo:after{content:none}
.catering-photo img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;outline:1px solid #edc6806e;outline-offset:0}
@media(min-width:700px) and (max-height:819px){
  .catering-copy{--catering-title-size:64px;--catering-lead-size:26px}
  .catering-copy .eyebrow{font-size:11px;margin-bottom:16px}
  .catering-copy :is(h1,h2){margin-bottom:18px}
  .catering-copy p.catering-lead{margin-bottom:18px}
  .catering-copy .editorial-cta{margin-top:22px;min-height:48px}
}
@media(max-width:699px) and (orientation:portrait){
  .catering-layout{gap:18px}
  .catering-copy{--catering-title-size:48px;--catering-lead-size:22px;--service-copy-size:16.5px}
  .catering-copy .eyebrow{font-size:10px;margin-bottom:10px}
  .catering-copy :is(h1,h2){line-height:1;margin-bottom:12px}
  .catering-copy p.catering-lead{line-height:1.22;margin-bottom:16px}
  .catering-copy p.catering-description,.catering-copy p.catering-signature{line-height:1.35}
  .catering-copy .editorial-cta{width:76%;min-width:210px;max-width:300px;min-height:44px;padding:11px 16px;margin-top:20px;font-size:10.5px}
  .catering-copy{flex-shrink:0}
  .catering-photo{display:flex;width:100%;height:clamp(100px,30svh,260px);max-height:none;flex-shrink:1;min-height:0}
  .catering-photo img{width:auto;height:auto;object-fit:contain;object-position:center}
}
@media(max-width:699px) and (max-height:799px) and (orientation:portrait){
  .catering-copy{--catering-title-size:36px;--catering-lead-size:21px;--service-copy-size:16px}
  .catering-copy :is(h1,h2) br{display:none}
  .catering-copy p.catering-lead{margin-bottom:12px}
  .catering-copy .editorial-cta{margin-top:18px}
  .catering-photo{height:clamp(100px,25svh,180px)}
}
@media(max-width:699px) and (max-height:590px) and (orientation:portrait){
  .catering-photo{display:none}
  .catering-copy{--catering-title-size:36px;--catering-lead-size:20px}
  .catering-copy p.catering-description,.catering-copy p.catering-signature{line-height:1.32}
}
@media(max-height:519px) and (min-width:480px){
  .catering-copy{--catering-title-size:34px;--catering-lead-size:21px}
  .catering-copy .eyebrow{font-size:9px;margin-bottom:7px}
  .catering-copy :is(h1,h2){line-height:1;margin-bottom:8px}
  .catering-copy :is(h1,h2) br,.catering-copy p.catering-lead br{display:none}
  .catering-copy p.catering-lead{line-height:1.15;margin-bottom:9px}
  .catering-copy p.catering-description,.catering-copy p.catering-signature{line-height:1.25}
  .catering-copy .editorial-cta{width:220px;min-height:36px;margin-top:12px;padding:8px 14px;font-size:10px}
  .catering-photo{height:100%}
}
@media(max-height:519px) and (min-width:480px) and (max-width:699px){
  .catering-photo{display:none}
}


/* The footer signature appears on every phone view and on Home at every size. */
.footer-signature{font-family:var(--serif);font-style:italic;font-weight:400;font-size:calc(clamp(18px,1.5vw,22px) - 2px);line-height:1.25;letter-spacing:.01em;color:#e8c282;white-space:nowrap}
body[data-current-view="home"] .footer-signature{display:block;position:fixed;left:50%;top:93.2%;transform:translate(-50%,-50%);text-align:center}
@media(min-width:1000px){
  body[data-current-view="home"] .footer-signature{top:86.2%;font-size:calc(clamp(18px,1.5vw,22px) - 5px)}
}
@media(max-width:699px), (max-width:999px) and (max-height:519px){
  .site-footer{position:fixed;left:0;right:0;top:93.2%;bottom:auto;width:100%;height:auto;padding:0;display:block;transform:translateY(-50%);text-align:center}
  .site-footer .footer-location,.site-footer .footer-enquiry{display:none}
  .site-footer .footer-signature,
  body[data-current-view="home"] .site-footer .footer-signature{display:block;position:static;transform:none;font-size:calc(clamp(11px,min(3.54vw,2.6904svh),24px) - 2px);line-height:1.25;color:#e8c282}
}

/* One bronze line style; the close control is anchored to the visible hamburger centre. */
:root{--menu-glyph-width:32px;--menu-glyph-gap:6px;--menu-close-x:calc(100vw - var(--gutter) - 16px);--menu-close-y:72px}
.menu-toggle{min-width:44px;min-height:44px;padding:0;justify-content:flex-end;border:0;background:transparent;border-radius:0;-webkit-appearance:none;appearance:none}
.hamburger{width:var(--menu-glyph-width);gap:var(--menu-glyph-gap)}
.hamburger i{width:100%;height:1px;background:linear-gradient(90deg,#bf8d47,#edd092 48%,#c59751);transition:none}
.menu-toggle:hover .hamburger i:nth-child(2){width:100%}
.menu-close{position:fixed;left:calc(var(--menu-close-x) - 22px);top:calc(var(--menu-close-y) - 22px);right:auto;bottom:auto;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;transform:none;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-appearance:none;appearance:none}
.menu-close span{position:absolute;left:50%;top:50%;right:auto;bottom:auto;width:calc(var(--menu-close-glyph-width,var(--menu-glyph-width)) * 1.41421356);height:1px;background:linear-gradient(90deg,#bf8d47,#edd092 48%,#c59751);transform:translate(-50%,-50%) rotate(45deg)}
.menu-close span+span{transform:translate(-50%,-50%) rotate(-45deg)}
body[data-input-modality="pointer"] #menu-toggle:focus,
body[data-input-modality="pointer"] #menu-close:focus{outline:none;box-shadow:none}
body[data-input-modality="keyboard"] #menu-toggle:focus,
body[data-input-modality="keyboard"] #menu-close:focus{outline:2px solid var(--gold-light);outline-offset:6px}
.menu-header>a{position:fixed;left:50%;top:var(--menu-close-y);transform:translate(-50%,-50%)}
.menu-overlay{grid-template-rows:80px minmax(0,1fr)}
.menu-aside p{font-size:calc(clamp(26px,2.4vw,32px) + 6px);line-height:1.15}
.menu-aside>em{font-size:22px}
@media(max-height:740px) and (min-width:700px){.menu-overlay{grid-template-rows:62px minmax(0,1fr)}}
@media(max-width:699px){
  :root{--menu-glyph-width:6.12vw;--menu-glyph-gap:1.6vw}
  .menu-header>a{left:var(--gutter);transform:translateY(-50%)}
  .menu-overlay{grid-template-rows:62px minmax(0,1fr)}
}
@media(max-width:699px) and (max-height:710px){.menu-overlay{grid-template-rows:50px minmax(0,1fr)}}
@media(max-width:699px) and (max-height:590px){.menu-overlay{grid-template-rows:45px minmax(0,1fr)}}
@media(max-height:519px) and (min-width:480px){
  :root{--menu-glyph-width:25px;--menu-glyph-gap:5px}
  .menu-overlay{grid-template-rows:38px minmax(0,1fr)}
  .menu-aside p{font-size:28px}
  .menu-aside>em{font-size:19px}
}

/* Shared header anchors preserve the page grid and keep every menu control in place. */
:root{
  --menu-anchor-y:max(calc(var(--frame) + 26px),4.375svh,calc(env(safe-area-inset-top) + 22px));
  --menu-anchor-right:max(clamp(28px,8.7vw,86px),calc(env(safe-area-inset-right) + 20px));
}
#menu-toggle{
  position:fixed;top:var(--menu-anchor-y);right:var(--menu-anchor-right);
  left:auto;bottom:auto;transform:translateY(-50%);
}
#site-header .header-context{
  position:fixed;top:var(--menu-anchor-y);left:var(--menu-anchor-right);
  transform:translateY(-50%);
}
#site-header .header-brand{
  position:fixed;top:var(--menu-anchor-y);left:50%;
  transform:translate(-50%,-50%);
}
@media(max-width:699px){
  #site-header .header-brand{left:var(--menu-anchor-right);transform:translateY(-50%)}
}

/* Contact uses the shared enquiry form, followed by the three contact details. */
.contact-form-composition{width:min(100%,900px);max-width:100%;min-height:0;position:relative;text-align:left}
.contact-form-heading{text-align:center;margin-bottom:26px}
.contact-form-heading :is(h1,h2){font-size:clamp(42px,4.3vw,64px);line-height:1.02}
.shared-form-host{min-width:0}
.contact-form-composition .contact-details{display:grid;grid-template-columns:1.5fr 1fr 1fr;align-items:start;gap:28px;margin-top:32px;text-align:center}
.contact-form-composition .contact-details>div{min-width:0;align-items:center;gap:7px}
.contact-form-composition .contact-details a{font-size:18px;line-height:1.35;max-width:100%;overflow-wrap:anywhere}
.contact-form-composition .contact-details .small-caps{font-size:9px;letter-spacing:.18em}
body[data-current-view="catering"] #site-footer .footer-signature,
body[data-current-view="enquiry"] #site-footer .footer-signature{display:none}
@media(min-width:1000px){
  :root{--menu-anchor-y:calc(max(calc(var(--frame) + 26px),4.375svh,calc(env(safe-area-inset-top) + 22px)) + 8px)}
}
@media(max-width:899px){
  .contact-form-composition{max-width:550px}
  .contact-form-heading{margin-bottom:22px}
  .contact-form-composition .contact-details{grid-template-columns:1fr 1fr;gap:16px;margin-top:25px}
  .contact-form-composition .contact-address{grid-column:1/-1}
  .contact-form-composition .contact-details a{font-size:17px}
}
@media(max-width:699px){
  .contact-form-heading :is(h1,h2){font-size:42px}
  .contact-form-composition .contact-details{gap:15px;margin-top:24px}
  .contact-form-composition .contact-details>div{gap:5px}
  .contact-form-composition .contact-details a{font-size:16px}
}
@media(max-width:699px) and (max-height:710px){
  .contact-screen{padding-block:10px}
  .contact-form-heading{margin-bottom:16px}
  .contact-form-heading :is(h1,h2){font-size:34px}
  .contact-form-composition .form-meta{padding-bottom:10px;margin-bottom:14px;font-size:19px}
  .contact-form-composition #enquiry-form{gap:14px}
  .contact-form-composition #enquiry-form fieldset{gap:15px}
  .contact-form-composition .form-field label{font-size:10px;margin-bottom:5px}
  .contact-form-composition .form-field input,.contact-form-composition .form-field select{font-size:17px;min-height:38px;padding-bottom:8px}
  .contact-form-composition .form-field textarea{min-height:100px;max-height:100px}
  .contact-form-composition .form-actions{min-height:44px;margin-top:8px}
  .contact-form-composition .form-actions .outline-button{min-height:44px;padding:11px 18px;font-size:10px}
  .contact-form-composition .contact-details{gap:10px;margin-top:18px}
  .contact-form-composition .contact-details a{font-size:15px;line-height:1.3}
  .contact-form-composition .contact-details .small-caps{font-size:8px}
}
@media(max-height:740px) and (min-width:900px){
  .contact-form-heading{margin-bottom:18px}
  .contact-form-heading :is(h1,h2){font-size:48px}
  .contact-form-composition .contact-details{margin-top:24px}
}
@media(max-height:519px) and (min-width:480px){
  .contact-form-composition{max-width:680px}
  .contact-form-heading{text-align:left;margin-bottom:18px}
  .contact-form-heading :is(h1,h2){font-size:34px}
  .contact-form-composition .form-meta{position:absolute;top:7px;right:0;gap:30px;margin:0;padding:0;border:0;font-size:18px}
  .contact-form-composition .contact-details{grid-template-columns:1.5fr 1fr 1fr;gap:18px;margin-top:20px}
  .contact-form-composition .contact-address{grid-column:auto}
  .contact-form-composition .contact-details a{font-size:14px;line-height:1.25}
  .contact-form-composition .contact-details>div{gap:3px}
  .contact-form-composition .contact-details .small-caps{font-size:8px}
}
@media(max-height:359px) and (min-width:480px){
  .contact-form-heading{margin-bottom:12px}
  .contact-form-heading :is(h1,h2){font-size:29px}
  .contact-form-composition .contact-details{margin-top:12px;gap:10px}
  .contact-form-composition .contact-details a{font-size:12px}
}
body.keyboard-open .contact-form-heading,body.keyboard-open .contact-form-composition .contact-details{display:none}
body.keyboard-open .contact-screen{padding-block:5px}
body.keyboard-open .contact-form-composition .form-meta{position:static}


/* Gallery reference: four framed photographs and three overlapping groups. */
.gallery-screen{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(12px,2.2svh,24px);max-width:1480px;margin-inline:auto;min-height:0;
}
.gallery-intro{flex:0 0 auto;text-align:center}
.gallery-intro .eyebrow{display:block;margin-bottom:12px}
.gallery-intro :is(h1,h2){
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:calc(calc(clamp(42px,4.3vw,64px) - 2px) - 4px);line-height:1.04;letter-spacing:0;
  color:var(--gold-light);margin:0 0 9px;
}
.gallery-introduction{font-size:clamp(18px,1.8vw,27px);line-height:1.3;font-style:italic;color:var(--text)}
.gallery-intro .short-rule{margin:20px auto 0;background:var(--gold-rule)}
.gallery-stage{
  --gallery-row-width:min(calc(100vw - 2 * var(--gutter) - 64px),1280px);
  display:block;position:relative;flex:0 1 auto;min-width:0;min-height:0;
  width:min(calc(100% - 64px),1280px);
  height:min(36svh,calc((var(--gallery-row-width) - 30px) * .24));
  overflow:visible;background:transparent;touch-action:pan-y pinch-zoom;
}
.gallery-stage:after{content:none;display:none}
.gallery-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;height:100%;min-height:0}
.gallery-tile{margin:0;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden;border:1px solid #edc6806e;background:var(--deep)}
.gallery-tile img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}
.gallery-stage .gallery-control{
  position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;
  width:44px;height:44px;min-width:0;min-height:44px;margin:0;padding:0;
  color:var(--gold);background:transparent;border:0;z-index:2;
}
.gallery-stage .gallery-control.previous{left:-48px;right:auto}
.gallery-stage .gallery-control.next{right:-48px;left:auto}
.gallery-stage .gallery-control:hover{color:var(--gold-light)}
.gallery-control svg{width:14px;height:24px;overflow:visible}
.gallery-control path{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.gallery-bottomline{display:flex;flex:0 0 auto;justify-content:center;align-items:center;flex-direction:row;gap:0;min-height:32px}
.gallery-dots{display:flex;align-items:center;justify-content:center;gap:0}
.gallery-dots button{position:relative;display:grid;place-items:center;min-width:32px;width:32px;height:32px;padding:0;border:0;background:none}
.gallery-dots button:after{content:'';position:static;display:block;width:7px;height:7px;border:1px solid var(--gold-rule);border-radius:50%;background:transparent}
.gallery-dots button[aria-current="true"]:after{background:var(--gold);border-color:var(--gold)}
@media(max-width:899px) and (orientation:portrait){
  .gallery-stage{
    --gallery-grid-size:min(calc(100vw - 2 * var(--gutter) - 24px),48svh,520px);
    width:var(--gallery-grid-size);height:var(--gallery-grid-size);
  }
  .gallery-track{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}
  .gallery-stage .gallery-control{width:32px}
  .gallery-stage .gallery-control.previous{left:-32px}
  .gallery-stage .gallery-control.next{right:-32px}
}
@media(max-width:699px) and (orientation:portrait){
  .gallery-intro :is(h1,h2){font-size:37px}
  .gallery-intro .eyebrow{margin-bottom:10px}
  .gallery-introduction{font-size:20px}
  .gallery-intro .short-rule{margin-top:16px}
}
@media(max-width:699px) and (max-height:710px) and (orientation:portrait){
  .gallery-screen{gap:12px}
  .gallery-intro :is(h1,h2){font-size:32px;margin-bottom:7px}
  .gallery-intro .eyebrow{font-size:9px;margin-bottom:8px}
  .gallery-introduction{font-size:17px}
  .gallery-intro .short-rule{margin-top:12px}
}
@media(max-height:519px) and (min-width:480px){
  .gallery-screen{gap:8px}
  .gallery-intro .eyebrow{display:block;font-size:8px;margin-bottom:4px}
  .gallery-intro :is(h1,h2){font-size:28px;margin-bottom:4px}
  .gallery-introduction{font-size:16px;line-height:1.2}
  .gallery-intro .short-rule{margin-top:8px;width:36px}
  .gallery-stage{width:calc(100% - 48px);height:36svh}
  .gallery-track{gap:8px}
  .gallery-stage .gallery-control{width:36px}
  .gallery-stage .gallery-control.previous{left:-36px}
  .gallery-stage .gallery-control.next{right:-36px}
  .gallery-bottomline,.gallery-dots button{height:28px;min-height:28px}
}


/* Image-only Gallery tiles, responsive single-image browsing and desktop enlargement. */
.gallery-intro :is(h1,h2){font-size:calc(calc(clamp(36px,3.6vw,54px) - 2px) - 4px);margin-bottom:0}
.gallery-tile{position:relative;transition:border-color .2s ease}
.gallery-tile:focus-within{border-color:var(--gold-light)}
.gallery-tile-zoom{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:zoom-in}
.gallery-tile-zoom:focus-visible{outline:1px solid var(--gold-light);outline-offset:-1px}
@media(hover:hover){.gallery-tile:hover{border-color:var(--gold-light)}}
@media(max-width:999px){
  .gallery-stage{--gallery-mobile-size:min(calc(100vw - 2 * var(--gutter) - 24px),50svh,520px);width:var(--gallery-mobile-size);height:var(--gallery-mobile-size)}
  .gallery-track{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0}
  .gallery-stage .gallery-control{width:32px}
  .gallery-stage .gallery-control.previous{left:-32px}
  .gallery-stage .gallery-control.next{right:-32px}
  .gallery-dots button{min-width:28px;width:28px}
}
@media(max-width:699px) and (orientation:portrait){.gallery-intro :is(h1,h2){font-size:30px}}
@media(max-width:699px) and (max-height:710px) and (orientation:portrait){.gallery-intro :is(h1,h2){font-size:26px}}
@media(max-height:519px) and (min-width:480px){.gallery-intro :is(h1,h2){font-size:22px}}
@media(max-width:999px) and (max-height:519px) and (min-width:480px){
  .gallery-stage{--gallery-mobile-size:min(calc(100vw - 2 * var(--gutter) - 48px),42svh)}
}
@media(max-width:999px) and (max-height:359px) and (min-width:480px){
  .gallery-stage{--gallery-mobile-size:34svh}
}
.gallery-lightbox{padding:0;border:0;background:transparent;color:var(--text);inset:0;margin:auto;width:max-content;height:max-content;max-width:none;max-height:none;overflow:visible;outline:none}
.gallery-lightbox:not([open]){display:none}
.gallery-lightbox[open]{display:block}
.gallery-lightbox::backdrop{background:#210702ed;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#gallery-lightbox-image{display:block;width:min(84vw,calc(76svh * var(--lightbox-ratio,1)));height:auto;max-width:84vw;max-height:76svh;object-fit:contain;border:1px solid var(--gold-rule);background:var(--deep)}
.gallery-lightbox-close{position:fixed;top:calc(var(--menu-anchor-y) - 22px);right:calc(var(--menu-anchor-right) + var(--menu-glyph-width) / 2 - 22px);width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:0;background:transparent;color:var(--gold-light)}
.gallery-lightbox-close svg{display:block;width:var(--menu-glyph-width);height:var(--menu-glyph-width);overflow:visible}
.gallery-lightbox-close path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
body[data-input-modality="pointer"] #gallery-lightbox-close:focus{outline:none;box-shadow:none}
/* Retain the form's position while placing the restored eyebrow slightly above the former title. */
.contact-form-heading{min-height:calc(clamp(42px,4.3vw,64px) * 1.02)}
.contact-form-heading :is(h1,h2).eyebrow{position:relative;top:-12px;margin:0;font-family:var(--serif);font-size:11px;font-weight:400;line-height:1.4;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
@media(max-width:699px){
  .contact-form-heading{min-height:42.84px}
  .contact-form-heading :is(h1,h2).eyebrow{top:-8px;font-size:9px}
}
@media(max-width:699px) and (max-height:710px){.contact-form-heading{min-height:34.68px}}
@media(max-height:740px) and (min-width:900px){.contact-form-heading{min-height:48.96px}}
@media(max-height:519px) and (min-width:480px){
  .contact-form-heading{min-height:34.68px}
  .contact-form-heading :is(h1,h2).eyebrow{top:-6px;font-size:9px}
}
@media(max-height:359px) and (min-width:480px){.contact-form-heading{min-height:29.58px}.contact-form-heading :is(h1,h2).eyebrow{font-size:8px}}


/* Match the small header wordmarks to the homepage's textured gold finish. */
.header-brand svg,.menu-header>a svg{filter:brightness(1.12);opacity:1}
/* Keep the contact labels and first value lines aligned while tightening the desktop row. */
@media(min-width:1000px){
  .contact-form-composition .contact-details{padding-inline:16px 48px;column-gap:24px;align-items:start}
}
.contact-phone a,.contact-email a{white-space:nowrap}


/* The menu and the page header share one wordmark size and viewport anchor. */
:root{--header-wordmark-width:190px}
#site-header .header-brand,#menu-overlay .menu-header>a{
  position:fixed;width:var(--header-wordmark-width);top:var(--menu-anchor-y);
  left:50%;transform:translate(-50%,-50%);
}
/* Opaque layers reproduce the same red texture, foliage and shading as the inner pages. */
#menu-overlay{
  background-color:var(--deep);
  background-image:linear-gradient(100deg,#20070326,#3b0d023d);
  background-position:center;background-size:cover;background-repeat:no-repeat;
  opacity:1;animation:none;transition:none;isolation:isolate;
}
.main-navigation>a,.services-group>button{font-size:calc(clamp(32px,3.3vw,48px) - 4px)}
#services-list a{font-size:23px}
.menu-aside p{font-size:calc(clamp(24px,2.15vw,29px) + 6px)}
.menu-aside>em{font-size:21px}
@media(max-width:699px){
  :root{--header-wordmark-width:145px}
  #site-header .header-brand,#menu-overlay .menu-header>a{left:var(--menu-anchor-right);transform:translateY(-50%)}
  .main-navigation>a,.services-group>button{font-size:34px}
  #services-list a{font-size:22px}
}
@media(max-width:699px) and (max-height:710px){
  .main-navigation>a,.services-group>button{font-size:29px}
  #services-list a{font-size:19px}
}
@media(max-width:380px){
  :root{--header-wordmark-width:135px}
  .main-navigation>a,.services-group>button{font-size:27px}
}
@media(max-height:740px) and (min-width:700px){
  .main-navigation>a,.services-group>button{font-size:33px}
  #services-list a{font-size:19px}
}
@media(max-height:519px) and (min-width:480px){
  :root{--header-wordmark-width:130px}
  .main-navigation>a,.services-group>button{font-size:24px}
  #services-list a{font-size:17px}
  .menu-aside p{font-size:26px}
  .menu-aside>em{font-size:18px}
}


/* The conditional occasion description belongs to the same form step as the selection. */
.occasion-guests{row-gap:14px}
.other-occasion-field{grid-column:1/-1}
#enquiry-form.has-other-occasion fieldset[data-form-step="1"]{align-items:start}
.enquiry-result .result-rabbit{display:block;width:58px;height:82px;margin:0 auto 16px}
.enquiry-result #result-summary{overflow-wrap:anywhere}
@media(max-width:699px){.enquiry-result .result-rabbit{width:50px;height:71px;margin-bottom:14px}}
@media(max-height:519px) and (min-width:480px){.enquiry-result .result-rabbit{width:31px;height:44px;margin-bottom:8px}}


/* The extra occasion field also fits the shared Contact form on compact phones. */
@media(max-width:699px) and (max-height:640px){
  body.other-occasion-visible .contact-form-heading{min-height:0;margin-bottom:10px}
  body.other-occasion-visible .contact-form-composition .form-meta{font-size:17px;padding-bottom:8px;margin-bottom:12px}
  body.other-occasion-visible .contact-form-composition #enquiry-form{gap:10px}
  body.other-occasion-visible .contact-form-composition #enquiry-form fieldset{gap:10px}
  body.other-occasion-visible .contact-form-composition .occasion-guests{row-gap:8px}
  body.other-occasion-visible .contact-form-composition .form-field label{font-size:9px;margin-bottom:4px}
  body.other-occasion-visible .contact-form-composition .form-field input,
  body.other-occasion-visible .contact-form-composition .form-field select{font-size:16px;min-height:36px;padding-top:4px;padding-bottom:7px}
  body.other-occasion-visible .contact-form-composition .form-actions{margin-top:6px}
  body.other-occasion-visible .contact-form-composition .contact-details{margin-top:12px;gap:8px}
}


/* The review replaces the form heading; keep its rabbit and actions within compact viewports. */
body.enquiry-review .contact-form-heading{display:none}
@media(max-width:699px) and (max-height:640px){
  .enquiry-result .result-rabbit{width:36px;height:51px;margin-bottom:10px}
  .enquiry-result h3{font-size:26px;line-height:1.1;margin-bottom:10px}
  .enquiry-result p{font-size:14px;line-height:1.35;margin-top:8px}
  .enquiry-result .result-actions{flex-direction:row;gap:14px;margin-top:16px}
  .enquiry-result .result-actions .subtle-link{font-size:14px;white-space:nowrap}
  .enquiry-result .result-actions .outline-button{font-size:10px;min-width:0;min-height:42px;padding:10px 14px}
  .enquiry-result #copy-status{font-size:11px;min-height:15px;margin-top:8px}
  body.enquiry-review .contact-form-composition .contact-details{margin-top:12px;gap:8px}
  body.enquiry-review .contact-form-composition .contact-details>div{gap:3px}
  body.enquiry-review .contact-form-composition .contact-details a{font-size:14px;line-height:1.25}
}


/* The menu uses the same regular Istoria Serif as the Request a Date button. */
#menu-overlay .main-navigation>a,
#menu-overlay .services-group>button,
#menu-overlay #services-list a,
#menu-overlay .menu-aside p,
#menu-overlay .menu-aside>em{font-family:var(--serif);font-style:normal;font-weight:400}
/* Keep the close button's touch target and centre, with a smaller visible X. */
#menu-close span{width:calc(var(--menu-close-glyph-width,var(--menu-glyph-width)) * 1.06066017)}


/* Shared Contact and Request a Date floating labels retain the existing field geometry. */
.floating-label-placeholder{display:none}
#enquiry-form .floating-field .floating-label{position:relative;cursor:text}
#enquiry-form .floating-field .floating-label-original{
  opacity:0;transition:opacity .16s ease;
}
#enquiry-form .floating-field .floating-label-placeholder{
  position:absolute;display:block;z-index:1;left:0;right:0;
  top:var(--floating-rest-y,28px);
  font-family:var(--serif);font-size:var(--floating-rest-font,18px);
  line-height:var(--floating-rest-leading,1.3);font-weight:400;font-style:normal;
  text-transform:none;letter-spacing:normal;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;color:#f3c68273;opacity:1;
  transition:top .18s ease,font-size .18s ease,opacity .12s ease,color .18s ease;
}
#enquiry-form .floating-field:focus-within .floating-label-original,
#enquiry-form .floating-field.has-value .floating-label-original,
#enquiry-form .floating-field:has(input[placeholder]:not(:placeholder-shown)) .floating-label-original,
#enquiry-form .floating-field:has(textarea:not(:placeholder-shown)) .floating-label-original,
#enquiry-form .floating-field:has(input:is(:autofill,:-webkit-autofill)) .floating-label-original{
  opacity:1;
}
#enquiry-form .floating-field:focus-within .floating-label-placeholder,
#enquiry-form .floating-field.has-value .floating-label-placeholder,
#enquiry-form .floating-field:has(input[placeholder]:not(:placeholder-shown)) .floating-label-placeholder,
#enquiry-form .floating-field:has(textarea:not(:placeholder-shown)) .floating-label-placeholder,
#enquiry-form .floating-field:has(input:is(:autofill,:-webkit-autofill)) .floating-label-placeholder{
  top:0;font-size:inherit;line-height:inherit;letter-spacing:inherit;
  text-transform:uppercase;color:var(--gold-light);opacity:0;pointer-events:none;
}
#enquiry-form .floating-field input::placeholder,
#enquiry-form .floating-field textarea::placeholder{color:transparent;opacity:0}
/* Native date and select controls keep their full hit areas and picker affordances. */
#enquiry-form .floating-field.floating-native:not(.has-value):not(:focus-within) input[type="date"],
#enquiry-form .floating-field.floating-native:not(.has-value):not(:focus-within) select{color:transparent}
#enquiry-form .floating-field.floating-native:not(.has-value):not(:focus-within) input[type="date"]::-webkit-datetime-edit{opacity:0}
#enquiry-form .floating-field input[type="date"]::-webkit-calendar-picker-indicator{opacity:1}
#enquiry-form .floating-field select{
  -webkit-appearance:none;appearance:none;padding-right:24px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23c59757' stroke-width='1'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:12px 8px;background-position:right 4px center;
}
@media(prefers-reduced-motion:reduce){
  #enquiry-form .floating-field .floating-label-original,
  #enquiry-form .floating-field .floating-label-placeholder{transition:none}
}


/* BEGIN editorial-photo-copy-alignment */
@media (min-width:700px) {
  .editorial-photo[data-copy-aligned="true"] {
    display:flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    justify-self:center;
    width:var(--copy-aligned-photo-width);
    height:var(--copy-aligned-photo-height);
    max-width:none;
    max-height:none;
    aspect-ratio:auto;
    top:var(--copy-aligned-photo-offset,0px);
  }
  .editorial-photo[data-copy-aligned="true"] img {
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    object-position:center;
    outline:1px solid #edc6806e;
    outline-offset:0;
  }
  .catering-layout[data-copy-photo-columns="true"] {
    grid-template-columns:var(--catering-copy-track) minmax(0,1fr);
    column-gap:var(--catering-photo-gap);
  }
  .catering-layout > .catering-copy { min-width:0; }
}
@media (min-width:700px) and (max-width:999px) and (min-height:520px) {
  /* Fractional tracks must not grow to the photo's last measured width. */
  .catering-layout {
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  }
}
/* END editorial-photo-copy-alignment */


/* The rabbit punchline follows the italic Istoria Serif reference. */
#menu-overlay .menu-aside>p,
#menu-overlay .menu-aside>em{font-family:var(--serif);font-weight:400;font-style:italic}


/* Contact details follow the compact, divided line in the supplied reference. */
.contact-form-composition .contact-details{
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;
  justify-content:center;gap:0;width:100%;max-width:100%;padding:0;
}
.contact-form-composition .contact-details>div{
  position:relative;display:flex;flex-direction:row;align-items:center;
  justify-content:center;flex:0 0 auto;grid-column:auto;gap:0;padding:0 22px;
}
.contact-form-composition .contact-details>div:first-child{padding-left:0}
.contact-form-composition .contact-details>div:last-child{padding-right:0}
.contact-form-composition .contact-details>div+div::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:1.05em;background:var(--gold);opacity:.65;
}
.contact-form-composition .contact-details a{
  display:inline-flex;align-items:center;min-height:44px;
  font-size:18px;line-height:1.35;white-space:nowrap;overflow-wrap:normal;
}
body.other-occasion-visible .contact-form-composition .contact-details,
body.enquiry-review .contact-form-composition .contact-details{gap:0}
@media(max-width:699px){
  .contact-form-composition .contact-details>div{padding-inline:clamp(7px,2vw,12px)}
  .contact-form-composition .contact-details a,
  body.enquiry-review .contact-form-composition .contact-details a{font-size:clamp(12px,3.2vw,17px)}
}
@media(max-height:519px) and (min-width:480px){
  .contact-form-composition .contact-details>div{padding-inline:14px}
  .contact-form-composition .contact-details a{font-size:14px}
}
@media(max-height:359px) and (min-width:480px){
  .contact-form-composition .contact-details a{font-size:12px;min-height:32px}
}


@media(max-width:319px){
  .contact-form-composition .contact-details>div{padding-inline:4px}
}


/* Fine horizontal alignment requested for Private Catering. */
.catering-layout>.catering-copy{position:relative;left:4px}
.catering-layout>.catering-photo{left:-2px}


/* Navigation follows the uppercase, spaced Request a Date button lettering. */
#menu-overlay .main-navigation>a,
#menu-overlay .services-group>button,
#menu-overlay #services-list a{
  font-family:var(--serif);font-style:normal;font-weight:400;
  text-transform:uppercase;letter-spacing:.2em;white-space:normal;
}


/* Exact type sizes requested for the Gallery heading and all menu options. */
.gallery-intro :is(h1,h2){font-size:20px}
#menu-overlay .main-navigation>a,
#menu-overlay .services-group>button,
#menu-overlay #services-list a{font-size:22px}


/* The two Services links use the requested 20px size. */
#menu-overlay #services-list a{font-size:20px}


/* Keep the longer booking address readable within the responsive contact strip. */
@media(min-width:700px) and (max-width:899px){
  .contact-form-composition .contact-details>div{padding-inline:16px}
}
@media(max-width:479px), (max-width:699px) and (min-height:520px){
  .contact-form-composition .contact-details{flex-wrap:wrap;row-gap:0;min-width:0}
  .contact-form-composition .contact-details>.contact-address{padding:0 12px 0 0}
  .contact-form-composition .contact-details>.contact-phone{padding:0 0 0 12px}
  .contact-form-composition .contact-details>.contact-email{flex:0 0 100%;padding:0}
  .contact-form-composition .contact-details>.contact-email::before{content:none}
  .contact-form-composition .contact-details a,
  body.enquiry-review .contact-form-composition .contact-details a{font-size:14px;min-height:44px}
}
@media(max-width:380px){
  .contact-form-composition .contact-details a,
  body.enquiry-review .contact-form-composition .contact-details a{font-size:13px}
}


/* Desktop positioning for the Private Catering text column.
   Keep the compact offset below 1200px to preserve the image/text gap. */
@media(min-width:1200px){
  .catering-layout>.editorial-copy.catering-copy{left:50px}
}


/* Live enquiry delivery: preserve the existing layout while reporting request state. */
.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;pointer-events:none}
#enquiry-form[aria-busy="true"] #form-send{opacity:.8;cursor:wait}
#enquiry-form[aria-busy="true"] input,#enquiry-form[aria-busy="true"] select,#enquiry-form[aria-busy="true"] textarea{opacity:.8}
.enquiry-result h3{font-size:clamp(28px,3.3vw,42px);line-height:1.12;max-width:630px;margin-inline:auto}
.enquiry-result #result-summary{font-size:15px;line-height:1.45}
.form-notice{position:fixed;z-index:60;left:24px;right:24px;bottom:max(32px,env(safe-area-inset-bottom));margin-inline:auto;max-width:620px;padding:22px 48px 20px 24px;background:#401005;border:1px solid var(--gold-rule);box-shadow:0 8px 35px #18040080;color:var(--gold-light);font:17px/1.4 var(--serif)}
.form-notice-contact{font-size:15px;margin-top:9px;overflow-wrap:anywhere}
.form-notice a{text-decoration:underline;text-underline-offset:3px}
#form-notice-close{position:absolute;right:5px;top:5px;width:38px;height:38px;color:var(--gold-light);font-size:24px}
body.menu-open .form-notice,body:not([data-current-view="contact"]):not([data-current-view="enquiry"]) .form-notice{display:none}
@media(max-width:699px){.enquiry-result h3{font-size:28px;line-height:1.15}.enquiry-result p{font-size:16px}.enquiry-result #result-summary{font-size:13px}.enquiry-result .result-actions{gap:18px}.enquiry-result .result-actions .outline-button{min-width:0;font-size:10px;padding:11px 16px;min-height:44px}.form-notice{left:20px;right:20px;bottom:max(22px,env(safe-area-inset-bottom));font-size:16px;padding:18px 40px 18px 18px}.form-notice-contact{font-size:14px}}
@media(max-width:380px),(max-height:519px){.enquiry-result h3{font-size:26px}.enquiry-result p{font-size:14px}.enquiry-result .result-actions{margin-top:18px;gap:14px}.enquiry-result #result-summary{font-size:12px}}

/* Client refinements — 8 November 2026. */
#menu-overlay .main-navigation>a,
#menu-overlay .services-group>button{font-size:20px}
#menu-overlay #services-list a{font-size:18px}
.venue-copy :is(h1,h2){font-family:var(--serif);font-style:italic;font-weight:400}
@media(min-width:1000px) and (min-height:520px){
  .venue-copy :is(h1,h2){font-size:74px}
}
.catering-copy .catering-signature-line{display:block;font-family:var(--serif);font-weight:400;font-style:italic;margin-top:1.42em;margin-top:1lh}

/* The wider supplied Venue image keeps its natural proportions before JS aligns it. */
@media (min-width:700px) {
  .venue-photo:not([data-copy-aligned="true"]) { aspect-ratio:1122/1402; }
}

/* Move each desktop image 10px toward its copy without changing column wrapping or height. */
@media (min-width:1000px) and (min-height:520px) {
  .venue-layout > .venue-photo { left:10px; }
  .catering-layout > .catering-photo { left:-12px; }
}

/* Both routes share this wrapper. Add 4px on each side without changing
   the composition widths, vertical spacing, or the separate contact strip.
   The existing responsive gutters leave room for this 8px increase. */
#shared-enquiry-fields{
  width:calc(100% + 8px);
  margin-inline:-4px;
}

/* Colour the native date-picker affordance with the same variable as the
   input text. The mask preserves the native picker and its click target.
   Browsers without this pseudo-element retain their usable native picker. */
#enquiry-form{
  --enquiry-calendar-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='16' rx='1.5'/%3E%3Cpath d='M8 3v4m8-4v4M3.5 10.5h17M8 14.5h.01M12 14.5h.01M16 14.5h.01M8 18h.01M12 18h.01M16 18h.01'/%3E%3C/g%3E%3C/svg%3E");
}
#enquiry-form .floating-field input[type="date"]{
  accent-color:var(--gold-light);
}
#enquiry-form .floating-field input[type="date"]::-webkit-calendar-picker-indicator{
  width:20px;
  height:20px;
  padding:0;
  opacity:1;
  filter:none;
  cursor:pointer;
  background:var(--gold-light);
  -webkit-mask:var(--enquiry-calendar-mask) center / contain no-repeat;
  mask:var(--enquiry-calendar-mask) center / contain no-repeat;
}

/* With the Contact heading removed, keep stepped-form metadata in the flow. */
@media(max-height:519px) and (min-width:480px){
  .contact-form-composition .form-meta{position:static;max-width:none;margin-bottom:10px;padding-bottom:8px}
}

/* Keep the Venue photograph visible on phones without narrowing its paragraphs.
   Tall phones retain the existing full-width image band. Compact phones share
   the heading/tabs area with a small photograph, so no body copy is removed. */
@media (max-width:699px) {
  .venue-layout > .venue-photo { display:block; }
}

@media (max-width:699px) and (max-height:819px) and (min-height:520px) {
  .venue-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(64px,22vw,88px);
    grid-template-rows:auto auto auto auto;
    align-content:center;
    align-items:start;
    gap:0 12px;
  }
  .venue-layout > .venue-copy { display:contents; }
  .venue-copy > .eyebrow { grid-column:1/-1;grid-row:1; }
  .venue-copy > :is(h1,h2) { grid-column:1;grid-row:2; }
  .venue-copy > .venue-tabs {
    grid-column:1;grid-row:3;
    position:static;width:auto;max-width:none;
    justify-content:flex-start;gap:16px;margin:0;
  }
  .venue-layout > .venue-photo {
    grid-column:2;grid-row:2/4;
    width:100%;height:auto;max-height:none;
    aspect-ratio:1122/1402;
    align-self:center;justify-self:end;
  }
  .venue-layout > .venue-photo img {
    width:100%;height:100%;object-fit:contain;object-position:center;
  }
  .venue-copy > .venue-pages {
    grid-column:1/-1;grid-row:4;margin-top:14px;
  }
}

/* Short landscape: title, tabs and a small wide image share a single row.
   The paragraphs below keep the full available width and their current type. */
@media (max-width:699px) and (min-width:480px) and (max-height:519px) {
  .venue-layout {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) 82px;
    grid-template-rows:auto auto;
    align-content:center;align-items:center;
    gap:8px 14px;
  }
  .venue-layout > .venue-copy { display:contents; }
  .venue-copy > :is(h1,h2) { grid-column:1;grid-row:1;margin:0; }
  .venue-copy > .venue-tabs {
    grid-column:2;grid-row:1;
    position:static;width:auto;max-width:none;
    justify-content:center;gap:14px;margin:0;
    border-bottom:0;
  }
  .venue-layout > .venue-photo {
    display:block;grid-column:3;grid-row:1;
    width:82px;height:44px;max-height:none;aspect-ratio:auto;
  }
  .venue-layout > .venue-photo img {
    width:100%;height:100%;object-fit:cover;object-position:50% 40%;
  }
  .venue-copy > .venue-pages {
    grid-column:1/-1;grid-row:2;margin:0;
  }
}

/* Show the entire supplied Venue photograph on phones.
   Keep the compact portrait thumbnail and all existing copy dimensions. */
@media (max-width:699px) {
  .venue-layout > .venue-photo img {
    object-fit:contain;
    object-position:center;
  }
}

/* Retain the tall-phone image's existing 120px height, but make its box
   follow the photograph's portrait ratio so the outline hugs its edges. */
@media (max-width:699px) and (min-height:820px) {
  .venue-layout > .venue-photo {
    width:calc(120px * 1122 / 1402);
    height:120px;
    max-height:120px;
    aspect-ratio:1122/1402;
    align-self:center;
    justify-self:center;
  }
}

/* Preserve the 44px landscape header row and its column spacing.
   Centre the complete portrait within the existing 82px photo track. */
@media (max-width:699px) and (min-width:480px) and (max-height:519px) {
  .venue-layout > .venue-photo {
    width:calc(44px * 1122 / 1402);
    height:44px;
    max-height:44px;
    aspect-ratio:1122/1402;
    justify-self:center;
  }
}

/* Four centred contact links with consistent gold dividers.
   On portrait screens, keep the email and Instagram together on the second row. */
.contact-form-composition .contact-details>.contact-instagram a{color:var(--gold-light)}
@media (max-width:899px) and (min-height:520px), (max-width:479px) {
  .contact-form-composition .contact-details{flex-wrap:wrap;row-gap:0;column-gap:0;align-items:center;justify-content:center}
  .contact-form-composition .contact-details::after{content:"";order:2;flex-basis:100%;height:0}
  .contact-form-composition .contact-details>.contact-address{order:0;padding:0 12px 0 0}
  .contact-form-composition .contact-details>.contact-phone{order:1;padding:0 0 0 12px}
  .contact-form-composition .contact-details>.contact-email{order:3;flex:0 1 auto;padding:0 10px 0 0}
  .contact-form-composition .contact-details>.contact-email::before{content:none}
  .contact-form-composition .contact-details>.contact-instagram{order:4;flex:0 0 auto;padding:0 0 0 10px}
}

/* Contact links follow the main menu's normal and interactive colours. */
#main-content .contact-form-composition .contact-details a{color:var(--gold-light);transition:color .2s ease}
#main-content .contact-form-composition .contact-details a:hover,
#main-content .contact-form-composition .contact-details a:focus-visible{color:#fff0cb}

/* Exactly 20px separates the Gallery heading and the image row. */
.gallery-screen{gap:0}
.gallery-screen>.gallery-intro{margin-bottom:20px}
.gallery-screen .gallery-intro :is(h1,h2){margin-bottom:0}
.gallery-screen>.gallery-bottomline{margin-top:clamp(8px,2svh,24px)}

/* Preserve each field row's responsive gap and start the action block 40px later. */
#enquiry-form{display:block}
#enquiry-form>.form-fieldsets{display:grid;row-gap:inherit;min-width:0}
#enquiry-form>.form-actions{margin-top:40px;min-height:0}

/* Match the two service photographs by width while keeping the full portrait. */
@media(min-width:1000px) and (min-height:520px){
  .venue-screen{padding-block:0}
}

/* The Instagram icon and label share the existing link colours and touch target. */
.contact-form-composition .contact-details > .contact-instagram > a {
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.contact-form-composition .contact-details .instagram-icon {
  display:block;
  width:16px;
  height:16px;
  flex:0 0 16px;
  overflow:visible;
}


/* Keep the full-width mobile photograph and the existing copy together.
   The Venue content can scroll inside the fixed site frame when needed. */
@media (max-width:699px) and (orientation:portrait) {
  .venue-screen {
    overflow-y:auto;overflow-x:hidden;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .venue-screen::-webkit-scrollbar {display:none}
  .venue-layout {
    display:flex;flex-direction:column;align-items:stretch;
    justify-content:flex-start;gap:18px;height:auto;min-height:100%;
  }
  .venue-layout > .venue-copy {
    display:block;width:100%;height:auto;max-width:none;flex:0 0 auto;
  }
  .venue-layout > .venue-photo {
    display:block;
    width:var(--venue-phone-image-width,min(100%,calc(clamp(100px,30svh,260px) * 1007 / 785)));
    height:auto;max-width:100%;max-height:none;
    aspect-ratio:1122/1402;flex:0 0 auto;
    align-self:center;justify-self:center;
    margin:0;inset:auto;
  }
  .venue-layout > .venue-photo img {
    display:block;width:100%;height:auto;max-width:100%;max-height:none;
    object-fit:contain;object-position:center;
  }
  .venue-copy > .venue-tabs {
    position:static;width:100%;max-width:none;margin:0 0 18px;
    justify-content:flex-start;
  }
  .venue-copy > .venue-pages { margin:0; }
}
@media (max-width:699px) and (max-height:799px) and (orientation:portrait) {
  .venue-layout > .venue-photo {
    width:var(--venue-phone-image-width,min(100%,calc(clamp(100px,25svh,180px) * 1007 / 785)));
  }
}

/* Keep the gallery's moving pagination window within every viewport. */
.gallery-bottomline,.gallery-dots{min-width:0;max-width:100%}
.gallery-dots{flex-wrap:nowrap}
.gallery-dots button{flex:0 1 32px;min-width:0}
.gallery-dots button.is-window-edge:after{width:5px;height:5px;opacity:.7}
.gallery-dots button[aria-current="true"]:after{width:7px;height:7px;opacity:1}
@media(max-width:999px){.gallery-dots button{flex-basis:28px}}
