:root{--paper:#f8f5ef;--ink:#282721;--muted:#66645c;--wine:#7a1937;--line:#dcd8ce;--white:#fff;--serif:Fraunces,Georgia,serif;--sans:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}p{margin:0 0 22px;color:var(--muted)}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:1.09;margin:0 0 26px}h1{font-size:clamp(3.8rem,6.2vw,6.2rem)}h2{font-size:clamp(2.5rem,4.1vw,4.2rem)}h3{font-size:1.8rem}em{font-weight:500;color:var(--wine)}.wrap{width:calc(100% - 112px);max-width:1328px;margin:auto}.section{padding-top:106px;padding-bottom:106px}.eyebrow{display:block;font:500 12px/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:14px 24px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-primary,.btn-dark{background:var(--wine);color:white}.btn-primary:hover{background:#59132a}.btn-light{background:var(--paper);color:var(--wine)}.btn-outline{border-color:var(--ink);background:transparent}.text-link{display:inline-block;font-size:14px;font-weight:600;border-bottom:1px solid;padding-bottom:4px}.text-link:hover{color:var(--wine)}:focus-visible{outline:3px solid #ba633d;outline-offset:5px}.skip-link{position:fixed;top:-100px;z-index:500;background:white;padding:12px}.skip-link:focus{top:4px}.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:28px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand>img{width:44px;height:44px}.brand>span{font-family:var(--serif);font-size:28px;line-height:1;letter-spacing:-1px}.brand small{display:block;font:9px/1.5 var(--sans);letter-spacing:.17em;margin-top:8px}.nav-links{display:flex;align-items:center;gap:28px;font-size:14px}.nav-links>a:not(.btn):hover{color:var(--wine)}.nav-toggle{display:none}.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;padding-top:54px;padding-bottom:78px}.hero-copy{padding:20px 0}.hero .eyebrow{margin-bottom:24px}.lead{max-width:460px;font-size:17px;line-height:1.8}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:30px}.hero-note{font-size:12px;margin:22px 0 0}.hero-visual{position:relative;min-width:0;align-self:stretch;margin-bottom:20px}.hero-photo{width:100%;height:100%;min-height:610px;max-height:720px;object-fit:cover;object-position:43% center;border-radius:130px 5px 5px 5px}.terrace-preview{position:absolute;right:-16px;bottom:-25px;width:51%;padding:8px;background:var(--paper);box-shadow:0 10px 30px #27201616;transform:rotate(3deg)}.terrace-preview img{aspect-ratio:1.5;object-fit:cover}.terrace-preview span{display:block;font-size:12px;text-align:center;padding:10px 2px 5px}.photo-label{position:absolute;left:20px;bottom:20px;writing-mode:vertical-rl;color:white;font-size:10px;letter-spacing:.15em}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;gap:24px}.facts>div{padding-left:32px;border-left:1px solid var(--line)}.facts>div:first-child{padding-left:0;border:0}.facts strong{display:block;font:40px/1.2 var(--serif);letter-spacing:-.04em}.facts small{font-size:24px}.facts span{display:block;font-size:13px;margin-top:8px;color:var(--muted)}.space{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.space-photo{position:relative}.space-photo>img{width:100%;height:540px;object-fit:cover;border-radius:4px}.image-caption{display:block;padding:14px 0;font-size:12px;color:var(--muted)}.space-copy p{max-width:510px}.space-tags{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.space-tags span{font-size:12px;border:1px solid var(--line);border-radius:24px;padding:7px 12px}.events{background:#efede5}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:14px;margin-bottom:4px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-image{position:relative;overflow:hidden;border-radius:4px}.service-image img{width:100%;aspect-ratio:1.2;object-fit:cover;transition:transform .5s}.service-card:hover img{transform:scale(1.04)}.service-image>span{position:absolute;bottom:12px;left:16px;color:white;font:32px var(--serif)}.service-copy{padding-top:25px}.service-copy .eyebrow{font-size:11px;margin-bottom:12px;color:var(--wine)}.service-copy h3{font-size:27px;letter-spacing:-.04em;margin-bottom:14px}.service-copy p{font-size:14px;line-height:1.8}.other-uses{text-align:center;font-size:13px;margin:42px 0 0}.equipment{display:grid;grid-template-columns:1fr 1fr;gap:100px}.equipment-list>div{border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:22px}.equipment-list strong{font-size:18px;font-weight:500}.equipment-list p{font-size:14px;margin:10px 0 0}.gallery{background:#252d29;color:white}.gallery em{color:#e6cc9e}.gallery p{color:#c6cec7}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid>button{padding:0;border:0;background:none;overflow:hidden;border-radius:3px;position:relative}.gallery-grid img{width:100%;height:250px;object-fit:cover;transition:transform .4s}.gallery-grid button:hover img{transform:scale(1.04)}.gallery-grid>.g-big{grid-column:span 2;grid-row:span 2}.gallery-grid>.g-big img{height:516px}.gallery-collapsed>button:nth-child(n+6){display:none}.gallery-more{display:flex;margin:35px auto 0;color:white;border-color:#819185}.gallery-more[hidden]{display:none}.pricing{display:grid;grid-template-columns:1fr .8fr;gap:110px;align-items:center}.pricing>div>p{max-width:510px}.included{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:13px;margin-top:30px}.included span{padding-top:14px;border-top:1px solid var(--line)}.price-card{background:var(--wine);border-radius:5px;color:white;padding:46px}.price-card p{color:#f3e6e9;font-size:14px}.price-card .price{font-size:14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.price strong{font:60px/1.2 var(--serif);letter-spacing:-.05em}.price-card hr{border:0;border-top:1px solid #ffffff36;margin:25px 0}.price-card .btn{width:100%;margin-top:8px}.price-foot{display:block;font-size:12px;line-height:1.6;margin-top:18px;opacity:.8}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:30px 100px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq details:first-child{padding-top:0}.faq summary{font-size:16px;cursor:pointer;font-weight:500;padding-right:10px}.faq details p{font-size:14px;margin:18px 0 2px}.rules-note{grid-column:2;font-size:13px;padding:20px;background:#efece3;border-radius:3px}.rules-note p{margin:8px 0 0}.contact{background:#eae7de;scroll-margin-top:0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact-grid>div>p{max-width:370px}.contact-details{margin-top:40px;font-size:14px}.contact-details>div{margin-bottom:25px}.contact-details span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);display:block;margin-bottom:10px}.contact-details p{color:var(--ink);margin-bottom:8px}.contact-details a:not(.text-link){display:block}.event-form{background:var(--paper);padding:36px;border:1px solid #ddd7c9;border-radius:6px}.event-form h3{font-size:27px;margin-bottom:12px}.event-form>p{font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.form-grid label{font-size:12px;display:flex;flex-direction:column;gap:7px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;border:1px solid #c9c5ba;background:transparent;border-radius:3px;padding:12px;color:var(--ink);font-size:16px;min-height:48px}.form-grid .full{grid-column:1/-1}.form-grid textarea{resize:vertical}.event-form .btn{width:100%;margin-top:5px}.event-form .form-note{font-size:12px;line-height:1.6;margin:18px 0 0}#formError{color:#951433;font-size:14px;margin:16px 0 8px}.map-frame{margin-top:60px;height:240px;overflow:hidden;border-radius:5px}.map-frame iframe{width:100%;height:100%;border:0}footer{padding:50px 0 25px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding-bottom:40px}.footer-top p{font-size:14px}.footer-links{display:flex;gap:22px;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px;font-size:12px;color:var(--muted)}.mobile-contact{display:none}.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:100;background:#101510f5;display:flex;align-items:center;justify-content:center;padding:70px 80px}.lightbox img{max-height:80vh;width:auto;max-width:100%;object-fit:contain}.lightbox button{background:#ffffff16;border:1px solid #ffffff70;color:white;border-radius:50%;position:absolute;width:46px;height:46px;font-size:25px}.lightbox-close{top:20px;right:20px}.lightbox-prev{left:16px;top:48%}.lightbox-next{right:16px;top:48%}.lightbox-count{position:absolute;bottom:20px;color:white;font-size:14px}.detail-main{padding:50px 0 90px}.breadcrumb{font-size:12px;margin-bottom:50px}.detail-main h1{max-width:1000px;font-size:clamp(2.8rem,5vw,5rem)}.detail-lead{font-size:20px;max-width:750px}.detail-image{width:100%;height:580px;object-fit:cover;border-radius:5px;margin:50px 0}.detail-copy{max-width:850px;margin:auto}.detail-copy section{padding:25px 0}.detail-copy h2{font-size:35px}.detail-cta{background:#eee9df;padding:35px;margin:30px 0}.related{display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line);padding-top:35px}.related a{text-decoration:underline}.related h2{font-size:28px}.reveal{opacity:1}
@media(min-width:1500px){.hero-photo{min-height:660px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:35px}.hero-photo{min-height:540px}.nav-links{gap:17px}.space,.equipment,.pricing,.faq,.contact-grid{gap:48px}.price-card{padding:30px}.hero-actions{gap:18px}.brand>span{font-size:24px}.services-grid{gap:20px}}
@media(max-width:760px){html{scroll-padding-top:85px}.wrap{width:calc(100% - 40px)}.section{padding-top:64px;padding-bottom:64px}.header-inner{min-height:76px}.brand>span{font-size:24px}.brand small{font-size:8px}.brand>img{width:37px;height:37px}.nav-toggle{display:flex;width:44px;height:44px;border:1px solid var(--line);background:none;flex-direction:column;justify-content:center;gap:6px;padding:11px}.nav-toggle span{height:1px;width:20px;background:var(--ink)}.nav-links{position:absolute;top:75px;left:0;right:0;padding:24px;background:var(--paper);border-bottom:1px solid var(--line);display:none;align-items:stretch;gap:0}.nav-links.open{display:flex;flex-direction:column}.nav-links a{padding:12px}.nav-links .btn{margin-top:12px}.hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:52px;gap:28px}.hero-copy{padding:0}.hero h1{font-size:clamp(3.7rem,12vw,5.5rem);margin-bottom:23px}.hero .eyebrow{font-size:10px;margin-bottom:20px}.lead{font-size:16px}.hero-actions{gap:22px;margin-top:24px}.hero-actions .btn{padding:14px 18px}.hero-note{margin-top:18px}.hero-visual{height:400px;margin:0 7px 10px 0}.hero-photo{min-height:0;max-height:none;border-radius:90px 4px 4px 4px}.terrace-preview{width:47%;right:-6px;bottom:-16px}.terrace-preview span{font-size:10px;padding:6px 0 0}.photo-label{font-size:9px}.facts{grid-template-columns:1fr 1fr;gap:24px;padding:25px 0}.facts>div{padding-left:20px}.facts>div:nth-child(3){padding-left:0;border:0}.facts strong{font-size:32px}.facts span{font-size:12px}.facts small{font-size:21px}.space{grid-template-columns:1fr;gap:30px}.space-photo{order:2}.space-photo>img{height:360px}.space-copy h2{font-size:40px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.services-grid{grid-template-columns:1fr;gap:40px}.service-image img{aspect-ratio:1.45}.service-copy{padding-top:20px}.service-copy h3{font-size:30px}.service-copy p{font-size:16px}.equipment{grid-template-columns:1fr;gap:20px}.equipment h2{font-size:38px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-grid>.g-big{grid-column:span 2;grid-row:span 1}.gallery-grid>.g-big img{height:260px}.gallery-grid img{height:155px}.pricing{grid-template-columns:1fr;gap:35px}.price-card{padding:30px}.faq{grid-template-columns:1fr;gap:25px}.rules-note{grid-column:1}.faq summary{font-size:15px}.contact-grid{grid-template-columns:1fr;gap:25px}.contact h2{font-size:58px}.contact-details{margin-top:24px}.event-form{padding:24px 18px}.event-form h3{font-size:25px}.form-grid{gap:17px 12px}.map-frame{height:220px;margin-top:35px}.footer-top{flex-direction:column;gap:24px;padding-bottom:30px}.footer-bottom{flex-direction:column;gap:12px}.footer-top p{margin:0}footer{padding-bottom:95px}.mobile-contact{display:flex;position:fixed;bottom:12px;left:20px;right:20px;min-height:50px;align-items:center;justify-content:center;background:var(--wine);color:white;border-radius:4px;z-index:25;font-size:14px;font-weight:600;box-shadow:0 5px 30px #201b1730}.lightbox{padding:70px 15px}.lightbox img{max-height:72vh}.lightbox-prev,.lightbox-next{top:auto!important;bottom:18px}.detail-main{padding-top:25px}.breadcrumb{margin-bottom:30px}.detail-lead{font-size:17px}.detail-image{height:320px;margin:30px 0}.detail-copy h2{font-size:29px}.detail-cta{padding:25px}.included{gap:14px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.contact-grid>*{min-width:0}.form-grid>*{min-width:0}@media(max-width:360px){.hero h1{font-size:3.25rem}.contact h2{font-size:48px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .full{grid-column:auto}.hero-visual{height:340px}}

/* Refinements: stronger first impression and clearer mobile enquiries. */
.hero{grid-template-columns:1fr 1.1fr;gap:48px;padding-top:48px}
.hero h1{font-size:clamp(3.2rem,5.1vw,5.3rem);max-width:650px;line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.hero .lead{font-size:18px;max-width:490px}.hero-note{font-size:14px;max-width:390px}
.hero-photo{min-height:570px}.hero-visual{isolation:isolate}.terrace-preview{width:55%;border-radius:3px}
.hero-actions .btn{min-height:54px}.site-header.scrolled{box-shadow:0 4px 24px #2827210a}
.eyebrow,.hero .eyebrow{font-size:12px}.facts span,.space-tags span,.included,.other-uses{font-size:14px}
.service-copy p,.equipment-list p,.faq details p,.price-card p{font-size:16px}
.event-form>p,.form-grid label,.event-form .form-note,.price-foot{font-size:14px}
.form-grid input,.form-grid select,.form-grid textarea{background:#fffdf9;transition:border-color .2s,box-shadow .2s}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px #7a193711}
.form-grid input:user-invalid{border-color:#951433}.direct-whatsapp{margin-top:8px;font-size:14px}
.faq details[open]{padding-bottom:24px}.faq details[open] summary{color:var(--wine)}
.service-card:focus-visible{outline-offset:8px}.contact-details a{overflow-wrap:anywhere}
.mobile-actions{display:none}.lightbox-count{max-width:65%;text-align:center}.btn{text-align:center}
@media(max-width:1100px) and (min-width:761px){.nav-links{gap:12px}.nav-links .btn{padding:12px}.header-inner{gap:16px}.wrap{width:calc(100% - 48px)}}
@media(max-width:760px){
 .hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:34px;padding-bottom:55px}
 .hero h1{font-size:clamp(2.8rem,10.5vw,4.5rem);max-width:590px}.hero .lead{font-size:16px}.hero-note{font-size:14px}
 .hero-photo{min-height:0}.hero-visual{height:370px}.terrace-preview{width:52%}.terrace-preview span{font-size:12px}
 .hero-actions{gap:18px}.facts span{font-size:14px}.event-form{padding:26px 20px}.form-grid{gap:20px 14px}
 .mobile-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:8px;position:fixed;bottom:0;left:0;right:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);z-index:25;box-shadow:0 -5px 20px #2827210a}
 .mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--wine);border-radius:4px;font-size:14px;font-weight:600;color:var(--wine)}
 .mobile-actions a:first-child{background:var(--wine);color:white}.mobile-actions[hidden]{display:none}
 footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}.event-form{scroll-margin-top:90px}
}
@media(max-width:400px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .full{grid-column:auto}.hero-visual{height:320px}.hero-actions{align-items:flex-start;flex-direction:column}.price-card{padding:26px}}

.rate-row{padding:10px 0 20px;margin-bottom:20px;border-bottom:1px solid #ffffff36}.rate-row h3{font:500 18px/1.5 var(--sans);letter-spacing:0;margin:0 0 10px}.rate-row .price{margin:0 0 8px}.rate-row>p:last-child{margin:0}.price-card .price strong{font-size:52px}.catering{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center;border-top:1px solid var(--line)}.catering-photo img{width:100%;height:600px;object-fit:cover;border-radius:5px}.catering-benefits{list-style:none;margin:28px 0;padding:0}.catering-benefits li{padding:16px 0;border-bottom:1px solid var(--line)}.catering-benefits strong,.catering-benefits span{display:block}.catering-benefits span{color:var(--muted);font-size:16px;margin-top:6px}.catering-note{font-size:14px;margin-top:22px}.nav-links{gap:20px}
@media(max-width:1100px){.nav-links{gap:10px}.catering{gap:36px}.catering-photo img{height:560px}}
@media(max-width:760px){.catering{grid-template-columns:minmax(0,1fr);gap:28px}.catering-photo img{height:340px}.catering-copy h2{font-size:38px}.catering .hero-actions{align-items:flex-start}.price-card .price strong{font-size:48px}.nav-links{gap:0}}

.contact-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}#formError[data-state="success"]{color:#286044}#formError{overflow-wrap:anywhere}

.availability{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}.calendar-card{padding:28px;border:1px solid var(--line);border-radius:8px;background:white;min-width:0}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.calendar-heading h3{font-size:25px;margin:0;text-transform:capitalize}.calendar-heading button{width:44px;height:44px;background:var(--paper);border:1px solid var(--line);border-radius:4px;font-size:24px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.calendar-week{font-size:14px;margin-bottom:12px}.calendar-days button{min-height:44px;background:#f2f1ee;border:1px solid #dedbd4;border-radius:5px;font-size:16px;color:var(--ink)}.calendar-days .free{background:#e5efe7;border-color:#859b89;color:#25472f}.calendar-days .busy{background:repeating-linear-gradient(135deg,#ece3e5,#ece3e5 5px,#f8f4f5 5px,#f8f4f5 10px);color:#641b32}.calendar-days .past{opacity:.35}.calendar-days [aria-pressed=true]{outline:3px solid var(--wine);outline-offset:1px}.calendar-legend{display:flex;flex-wrap:wrap;gap:6px 15px;font-size:12px;margin:20px 0}.calendar-note,#calendarStatus{font-size:14px}#calendarTimes{border-top:1px solid var(--line);padding-top:22px}#calendarTimes h3{font-size:22px}.calendar-range{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-bottom:1px solid var(--line);padding:15px 0}.calendar-range p,.calendar-range button{grid-column:1/-1;margin:0}.calendar-range select{min-width:0;min-height:48px;padding:10px;font-size:16px;border:1px solid var(--line);background:white;border-radius:3px}@media(max-width:760px){.availability{grid-template-columns:minmax(0,1fr);gap:20px}.calendar-card{padding:18px 12px}.calendar-days,.calendar-week{gap:4px}.calendar-heading h3{font-size:22px}}
.calendar-range .calendar-free-window{font-size:clamp(20px,4vw,25px);font-weight:600;color:var(--wine);line-height:1.3}.calendar-range .calendar-range-hint,#calendarTimes>.calendar-range-hint{font-size:14px;line-height:1.5}.calendar-range label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px}.calendar-range label select{width:100%}
