@font-face{font-family:Cormorant;src:url('fonts/cormorant.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Cormorant;src:url('fonts/cormorant-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('fonts/manrope.woff2') format('woff2');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:20px;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{--ticker-gap:60px;overflow:hidden;border-bottom:1px solid var(--line);padding:20px 0}.ticker-track{width:max-content;display:flex;align-items:center;animation:marquee 45s linear infinite}.ticker-group{display:flex;flex:none;align-items:center;justify-content:space-around;gap:var(--ticker-gap);width:max-content;min-width:100vw;padding-right:var(--ticker-gap)}.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>.section-photo{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:-37px;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 .section-photo{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 .section-photo{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>.section-photo{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>.section-photo{height:440px}.sun-seal{font-size:120px;right:-30px}.cuisine-visual .section-photo{height:470px}.beach-visual .section-photo{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{--ticker-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>.section-photo{height:390px}.sun-seal{right:-10px;bottom:-20px;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 .section-photo{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 .section-photo{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-corsaire{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}

/* Keep the Corsaire monogram upright and legible. */
.sun-seal{animation:none}

/* A daily sunset appointment, calculated at the restaurant's published coordinates. */
.rooftop-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:center;gap:70px;padding:110px var(--gutter) 120px;max-width:1800px;margin:auto}
.rooftop-layout .rooftop-content{padding:0;max-width:none}

.sunset-card{position:relative;isolation:isolate;padding:30px 27px 24px;border:1px solid #edc89d55;border-radius:22px;background:linear-gradient(155deg,#45301feb,#19211eeb);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 25px 80px #0003,inset 0 1px 0 #ffe3ba15;color:var(--cream);text-align:center;align-self:center;transition:transform .55s,box-shadow .55s,border-color .55s}
.sunset-card:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#efb57520,transparent 65%)}
.sunset-card:after{content:'';position:absolute;left:16%;right:16%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#f8dcb7,transparent);box-shadow:0 0 18px #eabd8280;pointer-events:none}
.sunset-location{display:flex;justify-content:center;align-items:center;gap:9px;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#f5dcc0;margin-bottom:18px}
.sunset-brand{display:block;width:25px;height:25px;color:#e7bb89}.sunset-brand svg{width:100%;height:100%}
.sunset-card h3{font-size:32px;line-height:1.12;margin:0 0 15px;letter-spacing:-.025em}
.sunset-daylight-caption{font-size:8px;letter-spacing:.15em;text-transform:uppercase;opacity:.65}
.sunset-scene{position:relative;width:100%;aspect-ratio:280/150;overflow:hidden;margin:0 auto 1px}
.sunset-scene:before{content:'';position:absolute;inset:0;opacity:0;transition:opacity 1.5s;background:radial-gradient(circle at 16% 36%,#fbecd7 0 1px,transparent 1.5px),radial-gradient(circle at 33% 13%,#fbecd7 0 1px,transparent 1.5px),radial-gradient(circle at 57% 27%,#fbecd7 0 .8px,transparent 1.3px),radial-gradient(circle at 80% 17%,#fbecd7 0 1px,transparent 1.5px),radial-gradient(circle at 73% 54%,#fbecd7 0 .8px,transparent 1.3px)}
.sunset-scene:after{content:'';position:absolute;top:83%;left:var(--sunset-orbit-x,50%);width:80px;height:24px;transform:translateX(-50%);background:repeating-linear-gradient(0deg,transparent 0 4px,#ecc59555 5px 6px);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);opacity:.75;transition:left 1s,opacity 1.5s}
.sunset-sky{display:block;width:100%;height:100%;overflow:visible}.sunset-sky path{fill:none;stroke-width:1}.sunset-orbit-track{stroke:#efd5b438;stroke-dasharray:2 6}.sunset-sky .sunset-orbit-progress{stroke:#efc28d;stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--sunset-progress,0));filter:drop-shadow(0 0 4px #edbe8580);transition:stroke-dashoffset 1s,opacity 1s}.sunset-horizon{stroke:#e7bd8665}.sunset-waves{stroke:#dfc49e28;animation:sunset-water 7s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:center}
.sunset-orbit-sun{position:absolute;left:var(--sunset-orbit-x,50%);top:var(--sunset-orbit-y,20%);width:38px;height:38px;transform:translate(-50%,-50%);color:#f4cd9b;filter:drop-shadow(0 0 11px #e6a556a0);transition:left 1s,top 1s,opacity 1.5s,transform 1.5s}.sunset-orbit-sun:before{content:'';position:absolute;inset:-18px;border-radius:50%;background:radial-gradient(circle,#e8b77522,transparent 70%);z-index:-1}.sunset-orbit-sun svg{width:100%;height:100%}
.sunset-cycle{display:flex;justify-content:space-between;text-align:left;gap:20px;padding:0 12px 14px;margin:-1px 0 18px;border-bottom:1px solid #f6dfbf20}.sunset-cycle>div:last-child{text-align:right}.sunset-cycle span{display:block;font-size:8px;letter-spacing:.08em;opacity:.6}.sunset-cycle time{display:block;font-size:12px;color:#f2d6b3;font-variant-numeric:tabular-nums;margin-top:2px}
.sunset-label{font-size:9px;letter-spacing:.1em;opacity:.8}.sunset-time{display:block;font-family:var(--serif);font-size:82px;line-height:1.07;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:#f9e4c8;margin:4px 0 8px;text-shadow:0 0 30px #e8b57615}.sunset-date{font-size:9px;opacity:.7}
.sunset-status{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:10px;margin:19px 0 22px;letter-spacing:.025em;min-height:32px;padding:7px 13px;border:1px solid #e9c49930;border-radius:30px;background:#d3a7740d;color:#edcda6;max-width:100%}.sunset-status-dot{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:#f0bf82;box-shadow:0 0 10px #efb77365;animation:sunset-pulse 3s ease-in-out infinite;animation-play-state:paused}
.sunset-details{border-top:1px solid #ffffff24;padding-top:14px;text-align:left}.sunset-details summary{font-size:9px;cursor:pointer;justify-content:center;text-align:center;opacity:.85;text-decoration:underline;text-underline-offset:4px}.sunset-details p{font-size:10px;line-height:1.7;margin-top:14px;opacity:.78}
.sunset-card.sunset-has-passed,.sunset-card.sunset-before-rise{background:linear-gradient(155deg,#333c39ed,#171e25ed);border-color:#c9d5d840}.sunset-has-passed .sunset-scene:before,.sunset-before-rise .sunset-scene:before{opacity:.65}.sunset-has-passed .sunset-scene:after,.sunset-before-rise .sunset-scene:after,.sunset-scene-unavailable .sunset-scene:after{opacity:0}.sunset-has-passed .sunset-orbit-sun,.sunset-before-rise .sunset-orbit-sun,.sunset-scene-unavailable .sunset-orbit-sun{opacity:0;transform:translate(-50%,-30%) scale(.7)}.sunset-has-passed .sunset-orbit-progress{opacity:.35}.sunset-scene-unavailable .sunset-orbit-progress{opacity:0}.sunset-has-passed .sunset-status-dot{background:#c8d5ce;box-shadow:0 0 10px #d4e1d040}.sunset-scene-unavailable .sunset-status-dot{animation:none;opacity:.45}.sunset-card.sunset-in-view .sunset-waves,.sunset-card.sunset-in-view .sunset-status-dot{animation-play-state:running}
@keyframes sunset-water{from{transform:translateX(-5px)}to{transform:translateX(5px)}}@keyframes sunset-pulse{0%,100%{opacity:.5;box-shadow:0 0 5px #efb77335}50%{opacity:1;box-shadow:0 0 13px #efb77385}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.sunset-card:hover{transform:translateY(-4px);border-color:#efc89890;box-shadow:0 30px 85px #0004,0 0 40px #d6a36c0c}}
@media(max-width:1100px){.rooftop-layout{grid-template-columns:minmax(0,1fr) 310px;gap:40px}.sunset-card{padding-left:22px;padding-right:22px}.sunset-card h3{font-size:26px}}
@media(max-width:900px){.rooftop-layout{grid-template-columns:1fr;gap:45px;padding-top:95px;padding-bottom:105px}.sunset-card{width:100%;max-width:420px}.rooftop-layout .rooftop-content{max-width:650px}}
@media(max-width:640px){.rooftop-layout{padding-top:80px;padding-bottom:105px;gap:40px}.sunset-card{padding:27px 22px 22px}.sunset-time{font-size:72px}}

/* Non-destructive section positioning, shared by French and English. */
img.section-cropped{object-position:var(--photo-position)!important}
@media(max-width:640px){img.section-cropped{object-position:var(--photo-position-mobile,var(--photo-position))!important}}
.maintenance-page{min-height:100svh;display:flex;flex-direction:column;background:var(--cream)}.maintenance-header{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px var(--gutter);border-bottom:1px solid var(--line)}.maintenance-header img{width:220px;max-height:75px;object-fit:contain;mix-blend-mode:multiply}.maintenance-header nav{display:flex;gap:12px;font-size:12px}.maintenance-header nav a:not([aria-current]){opacity:.5}.maintenance-content{width:100%;max-width:1050px;margin:auto;padding:65px 28px;text-align:center}.maintenance-art{width:95px;height:95px;color:var(--gold);margin:0 auto 32px}.maintenance-art svg{width:100%;height:100%}.maintenance-content h1{font-size:clamp(45px,7vw,88px);margin:25px 0}.maintenance-content .body-text{max-width:530px;margin:0 auto 30px}.maintenance-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin-bottom:30px}.maintenance-footer{padding:22px;text-align:center;border-top:1px solid var(--line);font-size:11px}.maintenance-preview{padding:12px 24px;background:var(--olive);color:var(--cream);font-size:12px;text-align:center}.maintenance-preview a{text-decoration:underline;margin-left:12px}
@media(max-width:640px){.maintenance-header{padding:18px 24px}.maintenance-header img{width:170px}.maintenance-content{padding:40px 24px}.maintenance-art{width:75px;height:75px;margin-bottom:25px}}

.footer-social{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 0;border-bottom:1px solid #ffffff25}.footer-social>p{font-family:var(--serif);font-style:italic;font-size:25px}.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.social-links>a{display:inline-flex;align-items:center;gap:10px;border:1px solid currentColor;padding:11px 16px;min-height:44px;font-size:11px;line-height:1.4;transition:background .2s,color .2s,border-color .2s}.footer .social-links>a{border-color:#ffffff40}.footer .social-links>a:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}.social-links>a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.social-brand{display:block;width:18px;height:18px;flex-shrink:0;background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.social-brand-facebook{-webkit-mask-image:url('icons/facebook-f.svg');mask-image:url('icons/facebook-f.svg')}.social-brand-instagram{-webkit-mask-image:url('icons/instagram.svg');mask-image:url('icons/instagram.svg')}.social-brand-tiktok{-webkit-mask-image:url('icons/tiktok.svg');mask-image:url('icons/tiktok.svg')}.maintenance-social{display:flex;justify-content:center;margin-top:28px}.maintenance-social .social-links{justify-content:center}.maintenance-social .social-links>a{border-color:var(--line)}.maintenance-social .social-links>a:hover{background:var(--olive);color:var(--cream);border-color:var(--olive)}
@media(max-width:900px){.footer-social{align-items:flex-start;flex-direction:column;gap:17px}}@media(max-width:640px){.social-links{gap:9px}.social-links>a{padding:10px 12px;gap:8px;font-size:10px}.social-brand{width:16px;height:16px}.footer-social>p{font-size:23px}}

/* Compact social marks recur where visitors naturally pause. */
.social-links--compact{gap:8px}.social-links--compact>a{width:44px;height:44px;min-height:44px;padding:0;justify-content:center;border-radius:50%;flex-shrink:0}.social-links--compact>a:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}.header-social{display:flex}.header-social .social-links{flex-wrap:nowrap;gap:6px}.header-social .social-links>a{border-color:var(--line);width:38px;height:38px;min-height:38px}.header-social .social-brand{width:15px;height:15px}.nav-social{display:none}.nav-social .social-links>a:after{display:none}.hero.has-social .hero-bottom{align-items:center;gap:24px}.hero .social-links{letter-spacing:0;flex-wrap:nowrap}.hero .social-links>a,.rooftop .social-links>a{border-color:#ffffff65;background:#1b1c1630}.hero .social-links>a:hover,.rooftop .social-links>a:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}.hero.has-social .hero-bottom>span{max-width:210px}.hero.has-social .hero-bottom>a{white-space:nowrap}.rooftop-social{margin-top:24px}.gallery-social{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 0 25px}.gallery-social>p,.contact-social>p{font-size:12px;color:var(--olive)}.gallery-social .social-links>a,.contact-social .social-links>a{border-color:var(--line)}.contact-social{margin-top:30px}.contact-social>p{margin-bottom:13px}
.events + .contact{margin-top:0}.events{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1.2fr 1fr;gap:9vw;align-items:center}.events-intro,.events-card{position:relative;z-index:1;min-width:0}.events h2{font-size:clamp(54px,5.5vw,85px);line-height:1.02;margin-bottom:30px}.events h2 em{color:#ddc5a8}.events .eyebrow{color:#ddc5a8}.events .body-text{max-width:520px;color:var(--cream)}.events .events-cta{margin-top:30px;gap:25px}.events-note{font-size:11px;line-height:1.8;max-width:440px;color:#f6f2e9bd;margin-top:20px}.events-emblem{position:absolute;right:-120px;top:50%;width:550px;height:550px;transform:translateY(-50%);opacity:.065;pointer-events:none;color:var(--cream);z-index:0}.events-emblem svg{width:100%;height:100%}.events-card{border:1px solid #ffffff35;padding:36px 32px;background:#f6f2e906}.events-card-art{display:block;width:55px;height:55px;color:#ddc5a8;margin-bottom:20px}.events-card-art svg{width:100%;height:100%}.events-card h3{font-size:39px;color:var(--cream);margin-bottom:25px}.events-card dl{margin:0}.events-card dl>div{border-top:1px solid #ffffff25;padding:20px 0}.events-card dl>div:last-child{padding-bottom:0}.events-card dt{display:flex;align-items:center;gap:15px;font-size:14px;font-weight:500}.events-card dt>span{font-size:10px;letter-spacing:.1em;color:#ddc5a8}.events-card dd{font-size:12px;line-height:1.8;margin:10px 0 0 31px;color:#f6f2e9da}.event-dialog h2{font-size:clamp(43px,5vw,68px)}
@media(max-width:1439px){.header-social{display:none}}@media(max-width:1100px){.events{gap:6vw}.events-card{padding:30px 24px}.events h2{font-size:64px}}@media(max-width:900px){.nav-social{display:block;margin-top:8px}.events{grid-template-columns:1fr;gap:40px}.events-intro{max-width:680px}.events-card{max-width:640px}.hero.has-social .hero-bottom{gap:15px}.hero.has-social .hero-bottom>span{max-width:165px}}
@media(max-width:640px){.hero.has-social .hero-content{padding-bottom:165px}.hero.has-social .hero-bottom{display:grid;grid-template-columns:1fr 1fr;row-gap:16px;bottom:80px;align-items:end}.hero.has-social .hero-bottom>.social-links{grid-column:1/-1;grid-row:1;justify-content:center}.hero.has-social .hero-bottom>span{grid-column:1;grid-row:2;max-width:140px}.hero.has-social .hero-bottom>a{grid-column:2;grid-row:2;white-space:normal}.gallery-social{align-items:flex-start;flex-direction:column;gap:12px}.events h2{font-size:51px}.events-card{padding:28px 22px}.events-card h3{font-size:34px}.events .events-cta{width:100%;gap:15px}.events-card dd{margin-left:28px}.events-note{font-size:11px}.events-emblem{right:-160px;width:450px;height:450px}.event-dialog h2{font-size:44px}.event-dialog .reservation-actions{grid-template-columns:1fr}}
@media(max-width:380px){.header{padding-left:18px;padding-right:18px;gap:14px}.header .brand{width:150px}.header-actions{gap:13px}}.hero-bottom .social-links .social-brand{padding:0}

/* Mouse-driven light and depth, independent of the scrolling image transform. */
.hero-light{display:none;position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:var(--hero-presence,0)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .hero-pointer-enabled .hero-media{transform:perspective(1300px) translate3d(var(--hero-drift-x,0px),var(--hero-drift-y,0px),0) rotateX(var(--hero-tilt-x,0deg)) rotateY(var(--hero-tilt-y,0deg)) scale(1.065);transform-origin:center}
 .hero-pointer-enabled.hero-pointer-visible .hero-media{will-change:transform}
 .hero-pointer-enabled .hero-light{display:block}
 .hero-light-orb{position:absolute;left:50%;top:50%;width:720px;height:720px;transform:translate3d(calc(-50% + var(--hero-light-x,0px)),calc(-50% + var(--hero-light-y,0px)),0);background:radial-gradient(circle,rgba(255,218,161,.2) 0,rgba(245,191,115,.09) 28%,rgba(229,168,94,.035) 48%,transparent 70%)}
 .hero-pointer-visible .hero-light-orb{will-change:transform}
 .hero-light-orb:after{content:'';position:absolute;left:50%;top:50%;width:188px;height:188px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,224,179,.16);box-shadow:0 0 35px 2px rgba(255,216,161,.04),inset 0 0 25px rgba(255,216,161,.035)}
}

/* Section photography: independent layers keep the saved framing and captions intact. */
.section-photo{position:relative;display:block;isolation:isolate;overflow:hidden;width:100%;background:var(--paper)}
.photo-reveal,.photo-layer{position:absolute;inset:0;width:100%;height:100%}.section-photo .photo-layer>img{width:100%;height:100%;object-fit:cover;object-position:center}.intro-visual .photo-layer>img{object-position:50% 45%}
.section-photo--backdrop{position:absolute;inset:0;width:100%;height:100%;background:transparent}
.photo-glow{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;opacity:var(--photo-presence,0)}
.photo-glow:before{content:'';position:absolute;left:50%;top:50%;width:560px;height:560px;transform:translate3d(calc(-50% + var(--photo-light-x,0px)),calc(-50% + var(--photo-light-y,0px)),0);background:radial-gradient(circle,#ffe4b93b,transparent 65%)}
.photo-glow:after{content:'';position:absolute;inset:-30%;background:linear-gradient(125deg,transparent 40%,#fff4df19 49%,#fff4df08 53%,transparent 62%);transform:translate3d(var(--photo-reflection-x,0px),0,0)}
.section-photo--backdrop .photo-glow{opacity:calc(var(--photo-presence,0)*.55)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .section-photo.photo-interactive{transform:perspective(1400px) rotateX(var(--photo-tilt-x,0deg)) rotateY(var(--photo-tilt-y,0deg));box-shadow:0 18px 38px rgb(25 29 21 / calc(var(--photo-presence,0)*.12))}
 .photo-interactive .photo-layer{transform:translate3d(var(--photo-drift-x,0px),var(--photo-drift-y,0px),0) scale(calc(1 + var(--photo-presence,0)*.045))}
 .section-photo--backdrop.photo-interactive{transform:none;box-shadow:none}
 .photo-is-active .photo-layer,.photo-is-active .photo-glow:before,.photo-is-active .photo-glow:after{will-change:transform}
 .section-photo.photo-is-active:not(.section-photo--backdrop){will-change:transform}
}
@media(prefers-reduced-motion:reduce){.photo-glow{display:none}.section-photo .photo-reveal,.section-photo .photo-layer{transform:none!important;clip-path:none!important}}

/* Hero video is an enhancement over the original, indexed photo. */
.hero-video-surface{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity .6s;pointer-events:none}.hero-video-surface video{width:100%;height:100%;object-fit:cover;display:block}.hero-video-surface iframe{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0;max-width:none}.hero-video-visible .hero-video-surface{opacity:1}.hero-video-visible .hero-media>img{opacity:0}.hero-media>img{transition:opacity .6s}
/* Video titles reveal through two soft masks; photo heroes keep their original layout. */
.hero--video .hero-title-line{display:block;overflow:hidden;padding:.17em .12em;margin:-.17em -.12em;perspective:900px}
.hero--video .hero-title-reveal{display:block;backface-visibility:hidden}
/* The first visual in video mode is the video itself, never the poster. */
.hero--video{background:#23271e}
.hero--video .hero-media>img{opacity:0;visibility:hidden;transition:opacity .6s ease}
.hero--video .hero-video-surface{transition:none}
.hero--video.hero-video-fallback .hero-media>img{opacity:1;visibility:visible}

/* The navigation floats over the opening scene, then settles into an ivory surface. */
.has-hero-header{--hero-header-height:100px}
.header--hero{position:fixed;inset:0 0 auto;height:var(--hero-header-height);color:var(--cream);background:transparent;border-bottom-color:#ffffff26;transition:height .5s cubic-bezier(.22,.61,.36,1),background .5s ease,color .4s ease,box-shadow .5s ease,border-color .4s ease}
.header--hero .brand{position:relative}.header--hero .brand img{opacity:0;transition:opacity .4s ease}.brand-light{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:1;transition:opacity .4s ease;pointer-events:none}
.header--hero .nav a:after{background:currentColor}.header--hero .nav-toggle span{background:currentColor}
.header--hero .header-book{color:var(--cream);background:transparent;border-color:#ffffff80}
.header--hero .header-book:hover{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.header--hero .header-social .social-links>a{border-color:#ffffff65}
.header--hero.is-scrolled,.header--hero.menu-open{height:78px;color:var(--ink);background:rgba(246,242,233,.95);border-bottom-color:var(--line);box-shadow:0 8px 35px #24271f0b;-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15)}
.header--hero.is-scrolled .brand img,.header--hero.menu-open .brand img{opacity:1}.header--hero.is-scrolled .brand-light,.header--hero.menu-open .brand-light{opacity:0}
.header--hero.is-scrolled .header-book,.header--hero.menu-open .header-book{background:var(--olive);border-color:var(--olive);color:var(--cream)}
.header--hero.is-scrolled .header-book:hover,.header--hero.menu-open .header-book:hover{background:var(--ink);border-color:var(--ink)}
.header--hero.is-scrolled .header-social .social-links>a,.header--hero.menu-open .header-social .social-links>a{border-color:var(--line)}
.header--hero .header-progress{position:absolute;bottom:-1px;left:0;width:100%;height:1px;pointer-events:none;background:var(--gold);transform:scaleX(0);transform-origin:left;opacity:0;transition:opacity .4s ease}
.header--hero.is-scrolled .header-progress{opacity:.7}
.has-hero-header .hero{height:100svh}
.has-hero-header .hero-top{top:calc(var(--hero-header-height) + 30px)}
.has-hero-header .hero-content{padding-top:calc(var(--hero-header-height) + 35px)}
.has-hero-header .hero-shade:before{content:'';position:absolute;inset:0 0 auto;height:260px;background:linear-gradient(#151a1659,transparent);pointer-events:none}
body.nav-open{overflow:hidden}
html.lenis.lenis-smooth{scroll-behavior:auto!important}
@media(max-width:900px){.has-hero-header{--hero-header-height:82px}.header--hero.is-scrolled,.header--hero.menu-open{height:72px}.header--hero .nav{top:100%;max-height:calc(100svh - 72px);overflow-y:auto;overscroll-behavior:contain;color:var(--ink);background:var(--cream)}.header--hero .brand img{height:60px}.header--hero .brand{width:180px}}
@media(max-width:640px){.has-hero-header .hero-top{top:calc(var(--hero-header-height) + 22px)}.has-hero-header .hero-content{padding-top:calc(var(--hero-header-height) + 40px)}.header--hero .brand{width:165px}.header--hero .brand img{height:58px}}

/* Keep expensive image work and backdrop sampling out of a moving frame. */
.gallery{--gallery-card-height:350px}.gallery-item{height:var(--gallery-card-height);contain:layout paint;content-visibility:auto;contain-intrinsic-size:auto var(--gallery-card-height)}.gallery-item:focus-visible{outline-offset:-4px}.is-travelling .gallery-item img{transform:none;transition:none}.is-travelling .gallery-caption{transition:none}.is-travelling .header--hero.is-scrolled{background:rgba(246,242,233,.99);-webkit-backdrop-filter:none;backdrop-filter:none}
@media(max-width:1150px){.gallery{--gallery-card-height:310px}}@media(max-width:900px){.gallery{--gallery-card-height:270px}}@media(max-width:640px){.gallery{--gallery-card-height:240px}}

/* A soft central veil keeps the hero title readable over photos and films. */
.hero-shade:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 58% 46% at 50% 50%, rgba(28,27,23,0.34) 0%, rgba(28,27,23,0) 72%)}
