@font-face{font-family:Cormorant;src:url('fonts/cormorant.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Cormorant;src:url('fonts/cormorant-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('fonts/manrope.ttf') format('truetype');font-style:normal;font-weight:400 800;font-display:swap}
:root{--cream:#f6f2e9;--paper:#eeeadf;--ink:#373d30;--olive:#737557;--gold:#b6916a;--line:rgba(55,61,48,.2);--serif:Cormorant,Georgia,serif;--sans:Manrope,Arial,sans-serif;--gutter:clamp(22px,5.8vw,110px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02}h2{font-size:clamp(42px,4.5vw,74px);letter-spacing:-.035em}em{font-weight:400;color:var(--olive)}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:white}.skip{position:fixed;top:-100px;left:20px;background:var(--cream);padding:12px;z-index:100}.skip:focus{top:10px}[hidden]{display:none!important}
.header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--cream);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{width:218px;flex-shrink:0}.brand img{width:100%;height:72px;object-fit:contain;mix-blend-mode:multiply}.nav{display:flex;gap:30px;align-items:center}.nav a{font-size:12px;position:relative}.nav a:after{content:'';position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--olive);transition:width .25s}.nav a:hover:after{width:100%}.header-actions{display:flex;align-items:center;gap:25px}.languages{display:flex;gap:8px;font-size:10px;letter-spacing:.08em}.languages a{opacity:.5}.languages a[aria-current]{opacity:1}.languages span{opacity:.4}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:52px;padding:14px 25px;background:var(--olive);color:var(--cream);font-size:11px;letter-spacing:.025em;border:1px solid var(--olive);transition:background .25s,color .25s,transform .25s}.button:hover{background:var(--ink);border-color:var(--ink)}.button span{font-size:18px;line-height:1}.header-book{min-height:45px;gap:24px;padding:10px 20px}.nav-toggle{display:none;background:none;border:0;width:35px;padding:7px}.nav-toggle span{height:1px;background:var(--ink);display:block;margin:7px 0;transition:transform .2s}.hero{position:relative;min-height:690px;height:calc(100svh - 100px);max-height:1100px;color:var(--cream);overflow:hidden;background:#8b7154}.hero-media,.hero-shade,.rooftop-media,.rooftop-shade{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 46%;will-change:transform}.hero-shade{background:linear-gradient(180deg,rgba(27,28,22,.27),rgba(24,25,19,.22) 40%,rgba(24,25,19,.51))}.hero-top{position:absolute;top:32px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em}.hero-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:70px 20px 90px}.hero-pretitle{font-size:12px;letter-spacing:.43em;margin-bottom:30px}.hero h1{font-size:clamp(74px,8.6vw,145px);letter-spacing:-.035em;line-height:.92;text-shadow:0 2px 25px #0002}.hero h1 em{color:var(--cream)}.hero-content p{font-size:13px;line-height:1.8;margin:30px 0;opacity:.94}.button-light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.button-light:hover{background:transparent;color:var(--cream);border-color:var(--cream)}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:30px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;z-index:2}.hero-bottom a span{padding-left:18px;font-size:18px}.hero-index{position:absolute;right:25px;top:48%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;opacity:.8}.ticker{overflow:hidden;border-bottom:1px solid var(--line);padding:20px 0}.ticker>div{width:max-content;display:flex;gap:60px;align-items:center;animation:marquee 45s linear infinite}.ticker span{font-family:var(--serif);font-size:27px;white-space:nowrap;font-style:italic}.ticker .sun-small{font-size:34px;color:var(--gold);font-style:normal}@keyframes marquee{to{transform:translateX(-50%)}}
.section{padding:110px var(--gutter)}.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;line-height:1.5;margin-bottom:27px}.body-text{font-size:13px;line-height:1.95;max-width:440px}.body-text.secondary{opacity:.72;margin-top:20px}.text-link{display:inline-flex;gap:40px;align-items:center;padding:10px 0;border-bottom:1px solid var(--olive);font-size:12px;margin-top:28px}.text-link span{font-size:22px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8.5vw}.intro-visual{position:relative;padding:0 0 30px}.intro-visual>img{width:100%;height:530px;object-fit:cover;object-position:50% 45%}.photo-caption{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.13em;padding-top:15px}.sun-seal{position:absolute;right:-48px;bottom:3px;color:var(--gold);font-size:160px;line-height:1;animation:sun-spin 80s linear infinite}@keyframes sun-spin{to{transform:rotate(360deg)}}.intro h2{margin-bottom:28px}.handwritten{font-family:var(--serif);font-style:italic;font-size:25px;color:var(--gold);margin-top:40px}.cuisine{background:var(--paper)}.cuisine-heading{text-align:center;margin-bottom:65px}.cuisine-layout{display:grid;grid-template-columns:.9fr 1fr;gap:9vw;align-items:center}.cuisine-copy{max-width:470px}.flavours{margin:28px 0 35px}.flavours details{border-top:1px solid var(--line)}.flavours details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;gap:22px;align-items:center}summary::-webkit-details-marker{display:none}.flavours summary{font-family:var(--serif);font-size:28px;padding:14px 0}.flavour-number{font:9px var(--sans);color:var(--olive);width:16px}.plus{margin-left:auto;font-family:var(--sans);font-size:20px;font-weight:400;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.flavours details p{padding:0 30px 20px 38px;font-size:12px;opacity:.8;line-height:1.7}.small-note{font-size:10px;opacity:.7;line-height:1.8;max-width:420px;margin-top:17px}.cuisine-visual{position:relative;max-width:480px;justify-self:end;width:100%;background:#d3c3ab}.cuisine-visual img{width:100%;height:560px;object-fit:cover}.image-note{position:absolute;bottom:25px;left:30px;color:#fff;letter-spacing:.17em;font-size:9px;text-shadow:0 2px 8px #0008}.rooftop{position:relative;min-height:730px;color:var(--cream);overflow:hidden;background:#715436}.rooftop-media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.rooftop-shade{background:linear-gradient(90deg,rgba(32,32,25,.74),rgba(32,32,25,.2) 80%)}.rooftop-content{position:relative;z-index:1;padding:140px var(--gutter) 120px;max-width:850px}.rooftop h2{font-size:clamp(56px,6vw,100px);margin-bottom:25px}.rooftop h2 em{color:var(--cream)}.rooftop-content>p:not(.eyebrow){max-width:380px;font-size:13px;line-height:1.9;margin-bottom:32px}.rooftop-bottom{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em}.beach{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-top:125px;padding-bottom:125px}.beach h2{margin-bottom:28px}.beach-visual img{height:520px;width:100%;object-fit:cover}.beach-sun{font-size:90px;color:var(--gold);line-height:1;margin-top:35px}.gallery{padding-top:70px;border-top:1px solid var(--line)}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:45px}.gallery h2{font-size:clamp(42px,4vw,64px)}.filters{display:flex;gap:20px;margin-bottom:8px}.filters button{background:transparent;padding:5px 0;border:0;border-bottom:1px solid transparent;font-size:11px;opacity:.6}.filters button[aria-pressed=true]{border-color:var(--olive);opacity:1}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{position:relative;padding:0;border:0;overflow:hidden;background:var(--paper);width:100%;text-align:left}.gallery-item img{width:100%;height:350px;object-fit:cover;transition:transform .7s}.gallery-item:nth-child(3n+2){transform:translateY(35px)}.gallery-item:hover img{transform:scale(1.045)}.gallery-zoom{position:absolute;top:15px;right:15px;width:34px;height:34px;border:1px solid #ffffff90;color:white;background:#0002;display:grid;place-items:center;font-size:20px}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:35px 18px 15px;background:linear-gradient(transparent,#0008);color:white;font-size:10px;opacity:0;transition:opacity .3s}.gallery-item:hover .gallery-caption,.gallery-item:focus-visible .gallery-caption{opacity:1}.gallery-empty{padding:50px;text-align:center}.contact{margin-top:35px;background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.contact h2{margin-bottom:30px}.contact-label{font-size:9px;letter-spacing:.14em;margin:35px 0 10px}.phone{font-family:var(--serif);font-size:clamp(30px,3vw,48px);line-height:1.2;display:flex;gap:20px;align-items:center}.phone span{font-size:25px;color:var(--olive)}.contact-panel{padding:40px;border:1px solid var(--line)}.contact-address p{font-family:var(--serif);font-size:29px;line-height:1.35}.contact-address em{font-size:24px}.contact-panel dl{margin:30px 0 0}.contact-panel dl>div{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:15px 0}.contact-panel dt{font-size:9px;letter-spacing:.1em}.contact-panel dd{font-size:12px;margin:0;text-align:right}.contact-features{font-size:10px;margin:15px 0 25px}.contact-panel .button{width:100%}.faq{display:grid;grid-template-columns:.7fr 1fr;gap:8vw;padding-top:90px;padding-bottom:90px}.faq h2{font-size:44px}.faq h2>span{display:block;font-size:80px;color:var(--gold);margin-top:40px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{padding:20px 0;font-size:13px;gap:20px}.faq details p{font-size:12px;opacity:.8;padding:0 25px 22px 0;max-width:600px;line-height:1.9}.footer{padding:45px var(--gutter) 28px;background:var(--ink);color:var(--cream)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff25;padding-bottom:35px}.footer-logo{width:240px;padding:4px 10px;background:#f6f2e9}.footer-logo img{mix-blend-mode:multiply}.footer-top p{font-family:var(--serif);font-size:32px;font-style:italic;opacity:.8}.back-top{width:48px;height:48px;border:1px solid #ffffff60;display:grid;place-items:center;font-size:21px}.footer-bottom{font-size:8px;letter-spacing:.07em;display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:28px;opacity:.7}.footer-bottom>div{display:flex;gap:24px}.footer-bottom a:hover{opacity:1;text-decoration:underline}.mobile-reserve{display:none}.legal-page{min-height:65vh;max-width:1050px;margin:auto}.legal-page h1{font-size:70px;margin:45px 0}.legal-page h2{font-size:32px;margin:30px 0 18px}.legal-page p{margin:12px 0;line-height:1.9}.legal-page .text-link{margin-top:0}
dialog{border:0;padding:55px;background:var(--cream);color:var(--ink);max-height:90svh;max-width:calc(100vw - 30px);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#21261dcc;backdrop-filter:blur(6px)}.dialog-close{position:absolute;top:12px;right:16px;z-index:2;border:0;background:none;font-size:32px;width:38px;height:38px;line-height:1;color:inherit}.reservation-dialog{width:520px;text-align:center}.reservation-dialog h2{font-size:64px;margin-bottom:25px}.reservation-dialog>p:not(.eyebrow){font-size:12px;line-height:1.9;margin-bottom:26px}.dialog-sun{font-size:65px;color:var(--gold);display:block;line-height:1;margin-bottom:25px}.dialog-phone{display:block;font-size:20px;font-family:var(--serif);margin:20px}.reservation-dialog .small-note{margin:20px auto 0!important;font-size:10px!important}.menu-dialog{width:660px}.menu-dialog h2{font-size:48px;margin:10px 0 20px}.menu-dialog h3{font-size:29px;padding-top:20px;border-top:1px solid var(--line);margin-top:25px;margin-bottom:10px}.menu-dialog p{font-size:12px}.menu-dialog .button{margin-top:30px}.lightbox{width:94vw;height:94svh;background:#252b23;color:var(--cream);padding:40px 65px}.lightbox figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox img{object-fit:contain;max-height:calc(90svh - 100px);max-width:100%;width:auto}.lightbox figcaption{font-size:12px;padding-top:17px}.lightbox-prev,.lightbox-next{position:absolute;top:50%;background:none;border:1px solid #fff5;color:white;width:40px;height:40px;font-size:20px}.lightbox-prev{left:13px}.lightbox-next{right:13px}
@media(min-width:1600px){.section{padding-left:max(var(--gutter),calc((100vw - 1480px)/2));padding-right:max(var(--gutter),calc((100vw - 1480px)/2))}}
@media(max-width:1150px){.nav{gap:18px}.header{gap:20px}.brand{width:180px}.header-actions{gap:18px}.header-book{gap:15px;padding:10px 15px}.intro{gap:7vw}.intro-visual>img{height:470px}.cuisine-layout{gap:7vw}.gallery-heading{display:block}.filters{margin-top:25px}.gallery-item img{height:310px}.contact{gap:6vw}.contact-panel{padding:28px}.footer-bottom{flex-wrap:wrap}.hero{min-height:650px}}
@media(max-width:900px){.header{height:82px;padding:0 25px}.brand{width:180px}.brand img{height:65px}.nav-toggle{display:block}.header-book{display:none}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--cream);padding:30px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line);gap:25px}.nav a{font-family:var(--serif);font-size:30px}.nav.is-open{display:flex}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header-actions{gap:22px}.hero{height:calc(100svh - 82px);min-height:620px}.hero h1{font-size:clamp(78px,11vw,110px)}.section{padding-top:80px;padding-bottom:80px}.intro{gap:45px}.intro-visual>img{height:440px}.sun-seal{font-size:120px;right:-30px}.cuisine-visual img{height:470px}.beach-visual img{height:440px}.gallery-grid{gap:15px}.gallery-item img{height:270px}.contact{gap:40px}.contact-panel{padding:22px}.contact-panel dl>div{flex-direction:column;gap:5px}.contact-panel dd{text-align:left}.contact-panel .button{padding:14px 18px;gap:15px}.faq{grid-template-columns:.65fr 1fr}.footer-top p{font-size:25px}.footer-logo{width:190px}.mobile-reserve{display:flex;align-items:center;justify-content:space-between;position:fixed;z-index:15;bottom:15px;right:20px;left:20px;background:var(--olive);color:var(--cream);padding:14px 24px;box-shadow:0 8px 25px #0003;font-size:12px}.mobile-reserve span{font-size:19px}.footer{padding-bottom:90px}.hero-bottom{bottom:25px}.hero-bottom>span{max-width:210px}.rooftop-content{padding-top:120px;padding-bottom:120px}.rooftop{min-height:650px}}
@media(max-width:640px){:root{--gutter:24px}body{font-size:13px}h2{font-size:48px}.hero{min-height:650px;max-height:900px}.hero-top{font-size:8px;top:23px}.hero-top>span:first-child{max-width:115px}.hero-top>span:last-child{max-width:145px;text-align:right}.hero-content{padding:85px 18px 90px}.hero h1{font-size:clamp(61px,15vw,90px)}.hero-pretitle{font-size:10px;margin-bottom:30px}.hero-content p{font-size:12px;max-width:290px;margin:27px 0}.hero-bottom{font-size:8px;bottom:30px}.hero-bottom>span{max-width:140px}.hero-bottom a{max-width:140px;text-align:right}.hero-index{display:none}.hero-media img{object-position:46% 50%}.ticker{padding:15px 0}.ticker span{font-size:23px}.ticker>div{gap:30px}.intro,.cuisine-layout,.beach,.contact,.faq{grid-template-columns:1fr;gap:40px}.section{padding-top:65px;padding-bottom:65px}.intro-visual{order:2}.intro-visual>img{height:390px}.sun-seal{right:-10px;bottom:5px;font-size:110px}.eyebrow{font-size:9px;margin-bottom:22px}.intro h2{margin-bottom:22px}.handwritten{font-size:25px;margin-top:25px}.cuisine-heading{text-align:left;margin-bottom:30px}.cuisine-visual{width:100%;max-width:none}.cuisine-visual img{height:410px;object-position:center}.cuisine-copy{max-width:none}.cuisine-layout{gap:35px}.rooftop{min-height:650px}.rooftop-content{padding:90px var(--gutter) 110px}.rooftop h2{font-size:60px}.rooftop-shade{background:linear-gradient(90deg,#22231ab8,#22231a45)}.rooftop-bottom{gap:20px;font-size:8px;align-items:flex-end}.rooftop-bottom>span:first-child{max-width:190px}.beach h2{font-size:47px}.beach-sun{display:none}.beach-visual img{height:360px}.gallery h2{font-size:43px}.gallery-heading{margin-bottom:30px}.filters{gap:25px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-item img{height:240px}.gallery-item:nth-child(3n+2){transform:none}.gallery-item:nth-child(even){transform:translateY(18px)}.gallery-caption{display:none}.gallery-zoom{width:28px;height:28px;top:10px;right:10px}.contact{margin-top:0}.contact-panel{padding:27px}.contact-panel dl>div{flex-direction:row}.contact-panel dd{text-align:right}.phone{font-size:39px}.contact-address p{font-size:29px}.faq h2{font-size:40px}.faq h2>span{display:none}.faq{gap:28px}.faq summary{font-size:12px;padding:18px 0}.footer{padding-top:35px}.footer-top{flex-wrap:wrap;gap:25px}.footer-logo{width:190px}.footer-top p{order:3;width:100%;font-size:29px}.footer-bottom{font-size:8px;gap:20px;flex-direction:column;align-items:flex-start}.footer-bottom>div{gap:20px;flex-wrap:wrap}.lightbox{padding:45px 15px 80px;width:96vw;height:90svh}.lightbox img{max-height:calc(80svh - 100px)}.lightbox-prev,.lightbox-next{top:auto;bottom:15px}.lightbox-prev{left:calc(50% - 55px)}.lightbox-next{right:calc(50% - 55px)}dialog{padding:45px 27px}.reservation-dialog h2{font-size:58px}.legal-page h1{font-size:48px}.legal-page h2{font-size:29px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:640px){.sun-seal{right:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-media img{will-change:auto}}

.reservation-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch}.reservation-actions .button{justify-content:center}.reservation-actions .booking-call:not(:first-child){background:transparent;color:var(--olive);border:1px solid var(--olive)}

/* Monochrome vector icons keep the same rendering on phones and desktops. */
.icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.icon-sun{fill:currentColor;stroke:none}
.sun-seal .icon,.beach-sun .icon,.dialog-sun .icon{display:block}
.back-top .icon,.dialog-close .icon,.lightbox-prev .icon,.lightbox-next .icon{vertical-align:middle}
