@font-face{font-family:Cormorant;src:url('assets/fonts/cormorant-garamond.ttf') format('truetype');font-weight:300 700;font-display:swap}@font-face{font-family:CourierPrime;src:url('assets/fonts/courier-prime.ttf') format('truetype');font-display:swap}
:root{--porcelain:#f7f5ef;--linen:#ded2be;--gold:#e8b86c;--blue:#344b7b;--ink:#30362f;--line:#d8d2c6;--serif:Cormorant,Georgia,serif;--mono:CourierPrime,'Courier New',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--mono);font-size:16px;line-height:1.7}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}button{border:0;background:none}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}h2{font-size:clamp(40px,4.6vw,68px);letter-spacing:-.035em}h3{font-size:clamp(26px,2.4vw,35px)}p{max-width:65ch}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--porcelain);padding:12px}.skip:focus{top:10px}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:28px 4.5%;color:var(--porcelain);gap:20px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.05em}.wordmark{font-size:14px;letter-spacing:.13em}.wordmark span{font-size:10px;letter-spacing:.06em}.header-reserve{border:1px solid #f7f5ef77;padding:9px 17px}.hero{position:relative;min-height:820px;height:100svh;max-height:1100px;display:grid;place-items:center;overflow:hidden;color:var(--porcelain);background:#214d4a}.hero-media,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media{animation:sea-drift 28s ease-in-out infinite alternate;transform:scale(1.035)}.hero-shade{background:linear-gradient(180deg,#0c242855, #112e2950 40%,#0a292878)}.hero-content{position:relative;text-align:center;display:flex;align-items:center;flex-direction:column;padding:100px 40px 75px;width:100%;z-index:1}.brand-logo{width:auto;height:clamp(170px,24vh,270px);object-fit:contain;margin-bottom:30px}.hero h1{font-size:clamp(40px,4.8vw,76px);letter-spacing:-.025em;margin:20px 0}.hero-description{font-size:14px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;line-height:1.7}.blue{color:var(--blue)}.hero .eyebrow{color:var(--gold);font-size:10px}.gold-rule{height:1px;width:75px;background:var(--gold);margin:28px auto}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--blue);color:var(--porcelain);border:1px solid var(--blue);padding:16px 32px;min-width:210px;font-size:14px;letter-spacing:.03em;line-height:1.4;transition:background .25s,transform .25s}.button:hover{background:#263b65;transform:translateY(-2px)}.hero-side{position:absolute;top:46%;font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:9px;z-index:2}.hero-side.left{left:4.5%}.hero-side.right{right:4.5%}.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:10px;text-transform:uppercase;letter-spacing:.13em;display:flex;gap:20px;align-items:center;white-space:nowrap}.scroll-cue span{font-size:22px}.section{max-width:1440px;margin:auto;padding:115px 6.25%}.section h2{margin:25px 0 35px}.intro{font-size:15px}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:65px}.photo-frame{overflow:hidden;background:var(--linen)}.photo-frame img{width:100%;height:100%;transition:transform 1s ease}.photo-frame:hover img{transform:scale(1.025)}.dish .photo-frame{aspect-ratio:1.08}.dish-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:25px 0 20px}.dish-heading span{white-space:nowrap;font-size:13px;color:var(--blue);padding-top:7px}.dish p{font-size:12px}.center-action{display:flex;justify-content:center;align-items:center;gap:40px;margin-top:60px}.text-link{font-size:14px;border-bottom:1px solid var(--blue);padding:0 0 6px;color:var(--blue);display:inline-flex;gap:15px;align-items:center}.text-link:hover{opacity:.7}.menu-section{position:relative}.menu-section:before,.booking-section:before{content:'';height:1px;background:var(--line);position:absolute;top:0;left:6.25%;right:6.25%}.section-heading{display:flex;justify-content:space-between;align-items:center}.wave{display:block;flex-shrink:0;width:100px;height:36px;background:url('assets/images/golden-wave.png') center / 117% auto no-repeat}.menu-tabs{display:flex;gap:10px 25px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:15px}.menu-tabs button{font-size:13px;padding:10px 0;border-bottom:1px solid transparent}.menu-tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue)}.menu-note{font-size:12px;margin:28px 0 15px;min-height:21px}.menu-row{display:flex;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);padding:20px 0;animation:row-in .3s both}.menu-row h3{font-size:27px;line-height:1.3}.menu-row .price{font-size:14px;white-space:nowrap;padding-top:7px}.menu-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:35px}.menu-bottom p{font-size:12px}.video-section{padding-top:50px}.video-frame{aspect-ratio:16/9;position:relative;background:#283b36;margin-top:45px;overflow:hidden}.video-frame video{width:100%;height:100%;object-fit:cover;display:block}.video-toggle{position:absolute;bottom:24px;right:24px;background:var(--porcelain);color:var(--blue);width:52px;height:52px;border-radius:50%;display:grid;place-items:center}.video-caption{display:flex;justify-content:space-between;gap:20px;margin-top:18px;text-transform:uppercase;font-size:10px;color:var(--blue);letter-spacing:.08em}.video-caption button{text-transform:uppercase;font-size:10px;padding:0}.video-status{position:absolute;bottom:20px;left:20px;right:100px;color:var(--porcelain);font-size:12px;background:#20352dcc}.video-status:empty{display:none}.story-section{display:grid;grid-template-columns:.9fr 1.35fr;gap:11%;align-items:center;padding-top:60px;padding-bottom:140px}.story-photo{aspect-ratio: .74}.story-copy p:not(.eyebrow){font-size:15px;max-width:40ch;margin-bottom:35px}.story-copy .wave{display:block;margin-top:35px}.booking-section{position:relative;text-align:center;padding:115px 6.25% 110px;display:flex;align-items:center;flex-direction:column}.booking-section h2{font-size:clamp(48px,6vw,82px)}.booking-section .button{margin:35px 0 30px}.visit-details{font-size:13px;margin-bottom:18px}.visit-details p{white-space:pre-line}.booking-section>.eyebrow:first-child{font-size:10px}footer{border-top:1px solid var(--line);margin:0 6.25%;padding:35px 0 40px;display:flex;align-items:center;justify-content:space-between;gap:25px}.inner-header>.wordmark,footer>a:first-child{font-size:0;width:68px;height:68px;background:url('assets/images/logo.png') center/contain no-repeat;flex:0 0 auto}footer nav{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:10px}footer button{padding:0;font-size:10px}.footer-location{font-size:10px}dialog{border:1px solid var(--linen);padding:55px;max-width:560px;width:calc(100% - 36px);background:var(--porcelain);color:var(--ink)}dialog::backdrop{background:#142725aa;backdrop-filter:blur(5px)}dialog h2{font-size:45px;margin:15px 0 25px}dialog p{font-size:14px;margin:15px 0 25px}.dialog-close{position:absolute;right:18px;top:10px;font-size:32px}.mobile-break{display:none}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.motion-ready .reveal.visible{opacity:1;transform:none}.inner-header{position:relative;color:var(--ink);border-bottom:1px solid var(--line)}.inner-header .header-reserve{border-color:var(--line)}.prose{max-width:900px;padding:90px 7%;margin:auto}.prose h1{font-size:68px;margin:15px 0 35px}.prose h2{font-size:40px;margin:50px 0 20px}.prose p{font-size:15px;margin:20px 0}.prose img{width:100%;max-height:650px;margin:40px 0}.notice{border-left:2px solid var(--gold);padding-left:20px}.prose a{text-decoration:underline}
@keyframes sea-drift{to{transform:scale(1.1) translate3d(-.5%,.5%,0)}}@keyframes row-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:950px){.site-header nav{gap:18px}.wordmark span{display:none}.hero-side{display:none}.dish-grid{gap:18px}.dish-heading{display:block}.dish-heading span{display:block}.story-section{gap:7%}.footer-location{display:none}.menu-tabs{gap:10px 20px}}
@media(max-width:650px){html{scroll-padding-top:25px}.site-header{padding:22px 6%;align-items:center}.site-header nav>a{display:none}.header-reserve{font-size:11px;padding:8px 12px}.wordmark{font-size:12px}.hero{min-height:680px;max-height:950px}.hero-content{padding:100px 22px 80px}.brand-logo{height:195px;margin-bottom:25px}.hero h1{font-size:43px;line-height:1.06}.mobile-break{display:block}.hero-description{font-size:12px}.hero .eyebrow{font-size:9px}.section{padding:75px 6%}.section h2{margin:22px 0 30px}.intro{font-size:12px}.dish-grid{grid-template-columns:1fr;gap:45px;margin-top:35px}.dish .photo-frame{aspect-ratio:1.25}.dish-heading{display:flex;margin-bottom:15px}.dish-heading h3{font-size:32px}.center-action{flex-direction:column;gap:25px;margin-top:40px}.menu-tabs{gap:6px 20px}.menu-tabs button{font-size:12px}.menu-row{gap:15px;padding:16px 0}.menu-row h3{font-size:23px}.menu-row .price{font-size:12px}.menu-bottom{align-items:flex-start;flex-direction:column}.wave{width:80px;height:29px}.section-heading>.wave{display:none}.video-section{padding-top:20px}.video-toggle{width:42px;height:42px;right:12px;bottom:12px}.video-frame{margin-top:30px}.video-caption{font-size:9px}.story-section{display:flex;flex-direction:column;gap:40px;padding-top:20px}.story-photo{width:100%;aspect-ratio:1}.story-copy{width:100%}.story-copy p:not(.eyebrow){font-size:13px}.booking-section{padding-top:75px}.booking-section>.eyebrow{font-size:10px}footer{align-items:flex-start;flex-direction:column;margin:0 6%;padding:30px 0}footer nav{gap:15px}.prose{padding:60px 6%}.prose h1{font-size:49px}dialog{padding:40px 25px}.video-status{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.hero-media{transform:none}}

/* Quiet, staggered typography motion. */
.hero-video-toggle{position:absolute;z-index:3;right:4.5%;bottom:28px;color:var(--porcelain);font-size:10px;border-bottom:1px solid #f7f5ef77;padding:5px 0}
video.hero-media{animation:none;transform:none}
.hero-content>*{animation:text-arrive 1.2s cubic-bezier(.2,.65,.3,1) both}
.hero-content>*:nth-child(2){animation-delay:.15s}.hero-content>*:nth-child(3){animation-delay:.3s}.hero-content>*:nth-child(4){animation-delay:.45s}.hero-content>*:nth-child(5){animation-delay:.6s}.hero-content>*:nth-child(6){animation-delay:.75s}
@keyframes text-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.motion-ready .reveal .text-motion{opacity:0;transform:translateY(16px);transition:opacity .9s ease var(--text-delay,0s),transform .9s cubic-bezier(.2,.65,.3,1) var(--text-delay,0s)}
.motion-ready .reveal.visible .text-motion{opacity:1;transform:none}
.visit-details address{font-style:normal;line-height:1.9}.visit-details address a{display:inline-block;margin-top:12px;color:var(--blue);border-bottom:1px solid var(--blue)}
.visit-details .visit-hours{margin-top:24px}.visit-details .visit-services{margin-top:20px;font-size:11px}
@media(max-width:650px){.hero-video-toggle{bottom:12px;right:6%;font-size:9px}.scroll-cue{bottom:48px}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal .text-motion{opacity:1;transform:none}}

.language-switch{display:inline-flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap}.language-switch a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}.site-header nav .language-switch a{display:inline}.language-switch a:focus-visible{outline:2px solid var(--gold)}#ad-consent .button{margin:5px;min-width:130px}@media(max-width:650px){.site-header nav{gap:10px}.language-switch{gap:4px;font-size:10px}.header-reserve{padding:8px}.inner-header .wordmark{font-size:0}}
