@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@300;400;500;600&display=swap');
:root{--ivory:#f7f3eb;--sand:#e8dece;--gold:#d3a72f;--blue:#184f75;--navy:#0a2638;--ink:#182128;--white:#fff;--line:rgba(24,33,40,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Inter,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img,video{display:block;width:100%}.container{width:min(1180px,calc(100% - 40px));margin:auto}.serif{font-family:'Cormorant Garamond',serif}.eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;height:82px;display:flex;align-items:center;transition:.35s}.site-header.scrolled{background:rgba(247,243,235,.93);backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line);color:var(--navy)}.nav{display:flex;align-items:center;justify-content:space-between;width:min(1280px,calc(100% - 44px));margin:auto}.brand{width:190px}.brand img{filter:drop-shadow(0 3px 16px rgba(0,0,0,.25))}.nav-links{display:flex;gap:30px;align-items:center;color:white;font-size:13px;letter-spacing:.08em}.scrolled .nav-links{color:var(--navy)}.nav-links a{position:relative}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--gold);transition:.25s}.nav-links a:hover:after,.nav-links a.active:after{right:0}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:12px 18px}.scrolled .nav-cta{border-color:var(--gold)}.menu-toggle{display:none;border:0;background:none;color:white;font-size:28px}.scrolled .menu-toggle{color:var(--navy)}
.hero{position:relative;min-height:100svh;background:#0a2638;overflow:hidden}.hero video,.hero .poster{position:absolute;inset:0;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,17,27,.25),rgba(3,17,27,.08) 45%,rgba(3,17,27,.68))}.hero-inner{position:relative;z-index:4;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;color:white;padding:120px 20px 100px}.hero-logo{width:min(620px,72vw);opacity:0;transform:translateY(32px) scale(.96);animation:logoReveal 1.8s .8s forwards}.hero-tag{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,5vw,72px);font-weight:400;line-height:1;max-width:900px;margin:20px 0 12px;opacity:0;animation:fadeUp 1s 1.6s forwards}.hero-sub{max-width:680px;font-size:15px;line-height:1.8;opacity:0;animation:fadeUp 1s 1.9s forwards}.hero-actions{display:flex;gap:14px;margin-top:26px;opacity:0;animation:fadeUp 1s 2.1s forwards}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--gold);font-size:12px;letter-spacing:.16em;text-transform:uppercase;transition:.25s}.btn.primary{background:var(--gold);color:#fff}.btn.ghost{border-color:rgba(255,255,255,.6);color:#fff}.btn:hover{transform:translateY(-2px)}
.foam{position:absolute;z-index:3;left:-5%;right:-5%;bottom:-40px;height:130px;filter:blur(.2px);opacity:.92;background:radial-gradient(ellipse at 10% 40%,rgba(255,255,255,.95) 0 6%,transparent 7%),radial-gradient(ellipse at 25% 50%,rgba(255,255,255,.9) 0 8%,transparent 9%),radial-gradient(ellipse at 44% 35%,rgba(255,255,255,.9) 0 9%,transparent 10%),radial-gradient(ellipse at 64% 55%,rgba(255,255,255,.95) 0 8%,transparent 9%),radial-gradient(ellipse at 84% 40%,rgba(255,255,255,.9) 0 7%,transparent 8%);background-size:220px 110px;animation:foam 5s ease-in-out infinite alternate}.bubbles{position:absolute;z-index:5;inset:0;pointer-events:none}.bubble{position:absolute;bottom:40px;border:1px solid rgba(255,255,255,.65);border-radius:50%;box-shadow:inset 0 0 7px rgba(255,255,255,.45);animation:rise linear infinite;opacity:0}.bubble:nth-child(1){left:47%;width:10px;height:10px;animation-duration:6s}.bubble:nth-child(2){left:51%;width:17px;height:17px;animation-duration:7.5s;animation-delay:1s}.bubble:nth-child(3){left:54%;width:7px;height:7px;animation-duration:5.5s;animation-delay:2s}.bubble:nth-child(4){left:44%;width:13px;height:13px;animation-duration:8s;animation-delay:.5s}.bubble:nth-child(5){left:58%;width:9px;height:9px;animation-duration:6.8s;animation-delay:3s}
.section{padding:110px 0}.section.dark{background:var(--navy);color:white}.section.sand{background:var(--sand)}.split{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.split.reverse{grid-template-columns:1.2fr 1fr}.section h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(42px,6vw,78px);line-height:.95;margin:14px 0 22px}.lead{font-size:17px;line-height:1.8;color:#58636a}.dark .lead{color:rgba(255,255,255,.72)}.image-frame{position:relative;overflow:hidden;min-height:520px}.image-frame img{height:100%;object-fit:cover;transition:transform 1.2s}.image-frame:hover img{transform:scale(1.035)}.wave-line{width:92px;height:14px;margin:28px 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 20'%3E%3Cpath d='M0 10 C15 0 25 20 40 10 S65 0 80 10 S105 20 120 10' fill='none' stroke='%23d3a72f' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:55px}.feature{background:var(--ivory);padding:34px}.feature h3{font-family:'Cormorant Garamond';font-size:29px;margin:10px 0}.feature p{color:#667178;line-height:1.7;font-size:14px}.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px}.dish{position:relative;overflow:hidden;background:white}.dish img{height:360px;object-fit:cover;transition:.7s}.dish:hover img{transform:scale(1.06)}.dish-info{padding:20px}.dish-info h3{font-family:'Cormorant Garamond';font-size:27px;margin:0 0 8px}.dish-info p{font-size:13px;color:#6a747b;margin:0}.sunset-banner{position:relative;min-height:620px;display:grid;place-items:center;text-align:center;color:white;background:url('images/hero-poster.png') center/cover fixed}.sunset-banner:before{content:"";position:absolute;inset:0;background:rgba(5,24,38,.47)}.sunset-banner>div{position:relative;z-index:2}.sunset-banner h2{font-family:'Cormorant Garamond';font-size:clamp(54px,8vw,104px);font-weight:400;line-height:.9;margin:10px 0 25px}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:250px;gap:14px;margin-top:38px}.gallery-grid img{height:100%;object-fit:cover}.gallery-grid .tall{grid-row:span 2}.gallery-grid .wide{grid-column:span 2}.quote{font-family:'Cormorant Garamond';font-size:clamp(35px,5vw,64px);line-height:1.04;max-width:900px;margin:auto;text-align:center}.footer{background:#061d2c;color:white;padding:70px 0 28px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.footer-logo{width:230px;margin-bottom:20px}.footer h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.footer p,.footer a{font-size:13px;color:rgba(255,255,255,.7);line-height:1.9}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding-top:22px;font-size:12px;color:rgba(255,255,255,.45)}
.page-hero{min-height:58vh;display:flex;align-items:flex-end;padding:140px 0 70px;color:white;background-position:center;background-size:cover;position:relative}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,20,31,.2),rgba(4,20,31,.74))}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-family:'Cormorant Garamond';font-size:clamp(62px,10vw,132px);font-weight:400;margin:0;line-height:.8}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:65px}.menu-category h2{font-family:'Cormorant Garamond';font-size:48px;border-bottom:1px solid var(--gold);padding-bottom:12px}.menu-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}.menu-item strong{font-family:'Cormorant Garamond';font-size:24px;font-weight:500}.menu-item span{color:var(--gold)}.menu-item p{grid-column:1/-1;margin:0;color:#6a747b;font-size:13px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-card{padding:38px;background:white;border:1px solid var(--line)}.map-placeholder{min-height:430px;background:linear-gradient(135deg,#d9ebf0,#aacfdc);display:grid;place-items:center;color:var(--navy);text-align:center;padding:30px}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform .9s}.reveal.visible{opacity:1;transform:none}
@keyframes logoReveal{to{opacity:1;transform:none}}@keyframes fadeUp{to{opacity:1;transform:none}}@keyframes rise{0%{transform:translateY(0) translateX(0);opacity:0}15%{opacity:.7}80%{opacity:.4}100%{transform:translateY(-68vh) translateX(25px);opacity:0}}@keyframes foam{from{transform:translateX(-1%) scaleY(.9)}to{transform:translateX(1%) scaleY(1.08)}}
@media(max-width:900px){.nav-links{position:fixed;inset:0;background:var(--navy);display:flex;flex-direction:column;justify-content:center;font-size:17px;transform:translateX(100%);transition:.35s}.nav-links.open{transform:none}.menu-toggle{display:block;z-index:2}.brand{width:145px;z-index:2}.split,.split.reverse,.contact-grid,.menu-list{grid-template-columns:1fr}.image-frame{min-height:420px}.features,.dish-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:210px}.gallery-grid .wide{grid-column:span 2}.footer-grid{grid-template-columns:1fr 1fr}.hero-inner{padding-bottom:84px}.hero-tag{font-size:44px}.hero-actions{flex-direction:column;width:min(320px,90vw)}.hero-actions .btn{width:100%}.section{padding:80px 0}}
@media(max-width:560px){.container{width:min(100% - 28px,1180px)}.hero-logo{width:90vw}.hero-tag{font-size:38px}.hero-sub{font-size:14px}.section h2{font-size:48px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-grid .wide{grid-column:auto}.gallery-grid .tall{grid-row:auto}.footer-grid{grid-template-columns:1fr}.page-hero{min-height:50vh}.page-hero h1{font-size:70px}.dish img{height:300px}}


/* V3 refinement */
.site-loader{position:fixed;inset:0;z-index:999;background:#f7f3eb;display:grid;place-items:center;transition:opacity .75s ease,visibility .75s ease}.site-loader.is-hidden{opacity:0;visibility:hidden}.loader-mark{width:min(420px,72vw);text-align:center}.loader-mark img{width:100%;height:auto}.loader-mark span{display:block;width:0;height:1px;background:#d3a72f;margin:24px auto 0;animation:loaderLine 1.4s ease forwards}
.hero video{filter:saturate(.88) contrast(1.03) brightness(.78);transform:scale(1.015)}
.hero:after{background:linear-gradient(180deg,rgba(2,16,26,.36) 0%,rgba(2,16,26,.08) 42%,rgba(2,16,26,.72) 100%)}
.hero-inner{justify-content:center;padding-top:120px;padding-bottom:120px}
.hero-logo{width:min(520px,76vw);filter:drop-shadow(0 10px 34px rgba(0,0,0,.32))}
.hero-tag{text-shadow:0 3px 22px rgba(0,0,0,.35)}
.hero-sub{text-shadow:0 2px 12px rgba(0,0,0,.45)}
.shoreline{position:absolute;z-index:3;left:0;right:0;bottom:-2px;height:118px;overflow:hidden;pointer-events:none}.wave{position:absolute;left:-10%;width:120%;border-radius:50% 50% 0 0/100% 100% 0 0}.wave-back{height:78px;bottom:-42px;background:rgba(222,241,247,.45);animation:shoreBack 5.8s ease-in-out infinite alternate}.wave-front{height:62px;bottom:-34px;background:rgba(255,255,255,.72);filter:blur(1px);animation:shoreFront 4.6s ease-in-out infinite alternate}.foam{bottom:-54px;height:118px;opacity:.72;animation:foam 4.5s ease-in-out infinite alternate}
.scroll-cue{position:absolute;z-index:7;left:50%;bottom:25px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:white;font-size:9px;letter-spacing:.28em;text-transform:uppercase}.scroll-cue i{display:block;width:1px;height:28px;background:linear-gradient(white,transparent);animation:scrollCue 1.7s ease-in-out infinite}
.site-header{background:linear-gradient(180deg,rgba(3,19,30,.35),transparent)}.site-header.scrolled{background:rgba(247,243,235,.96)}
.nav-cta{background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.scrolled .nav-cta{background:var(--gold);color:white}
.dish{border:1px solid rgba(24,33,40,.08)}
.sunset-banner{background-attachment:scroll}
@keyframes loaderLine{to{width:100%}}@keyframes shoreBack{from{transform:translateX(-1.5%) scaleY(.86)}to{transform:translateX(1.5%) scaleY(1.04)}}@keyframes shoreFront{from{transform:translateX(1%) scaleY(.84)}to{transform:translateX(-1%) scaleY(1.1)}}@keyframes scrollCue{0%,100%{opacity:.35;transform:scaleY(.55);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}
@media(max-width:900px){.hero-inner{justify-content:flex-end;padding-bottom:125px}.hero-logo{width:min(430px,88vw)}.shoreline{height:90px}.site-header{height:70px}.nav{width:calc(100% - 28px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
