:root{
  --ink:#0c1310;--charcoal:#141d18;--moss:#3d5c42;--moss-light:#5c7d5f;
  --gold:#c9a24b;--gold-soft:#e3c98a;--cream:#ede6d6;--ember:#e0965a;
  --rule:rgba(237,230,214,.14);--serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Jost",system-ui,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);font-weight:300}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.vignette{position:fixed;inset:0;pointer-events:none;z-index:50;background:radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.55) 100%)}.grain{position:fixed;inset:-20%;pointer-events:none;z-index:51;opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px 180px;animation:grain 8s steps(6) infinite}
@keyframes grain{0%,100%{transform:translate(0)}25%{transform:translate(-3%,-5%)}50%{transform:translate(4%,2%)}75%{transform:translate(-2%,5%)}}
.site-header{position:fixed;inset:0 0 auto;z-index:40;transition:.4s}.site-header.scrolled,.site-header.open{background:rgba(12,19,16,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
.nav{height:80px;max-width:1280px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between}.brand{font:500 26px var(--serif);text-transform:uppercase;letter-spacing:.28em}.desktop-nav{display:flex;gap:32px}.desktop-nav a,.nav-actions span,.footer-links a{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:rgba(237,230,214,.68);transition:.3s}.desktop-nav a:hover,.footer-links a:hover,.text-link:hover{color:var(--gold-soft)}.nav-actions{display:flex;align-items:center;gap:12px}.phone{width:40px;height:40px;border:1px solid rgba(201,162,75,.6);display:grid;place-items:center;color:var(--gold-soft)}.menu-toggle{display:none;background:none;border:1px solid rgba(237,230,214,.2);color:var(--cream);padding:10px 13px;text-transform:uppercase;letter-spacing:.18em;font-size:10px}.mobile-menu{display:none;padding:22px 24px;background:rgba(12,19,16,.96);border-top:1px solid var(--rule)}.mobile-menu a{display:block;font:500 30px var(--serif);margin:12px 0}.mobile-menu small{display:block;color:var(--gold);margin-top:18px;text-transform:uppercase;letter-spacing:.22em}
.hero{min-height:100svh;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(120% 90% at 18% 12%,rgba(61,92,66,.55),transparent 45%),radial-gradient(120% 100% at 85% 92%,rgba(201,162,75,.22),transparent 50%),radial-gradient(100% 100% at 50% 50%,#0e1612,#0c1310 60%,#080d0b)}
.hero-content{position:relative;z-index:5;max-width:760px;padding:140px 24px 80px;text-align:center}.eyebrow{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.34em;color:var(--gold);margin:0}.hero h1{font:500 clamp(48px,7vw,88px)/.98 var(--serif);margin:28px 0 0}.hero h1 em,h2 em{color:var(--gold-soft);font-style:italic}.lede{max-width:620px;margin:28px auto 0;color:rgba(237,230,214,.65);font-size:15px;line-height:1.75}.hero-actions{display:flex;gap:26px;justify-content:center;align-items:center;margin-top:38px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gold);padding:14px 30px;color:var(--gold-soft);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.26em;overflow:hidden;isolation:isolate}.btn:before{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:.42s;z-index:-1}.btn:hover:before{transform:translateX(0)}.btn:hover{color:var(--ink)}.text-link{font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:rgba(237,230,214,.6);transition:.3s}.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:10px;text-transform:uppercase;letter-spacing:.3em;color:rgba(237,230,214,.4);display:flex;flex-direction:column;align-items:center;gap:9px}.scroll-cue span{height:40px;width:1px;background:linear-gradient(var(--gold),transparent)}
.hero-frames .frame{position:absolute;width:145px;height:194px;padding:7px;background:#141d18;box-shadow:0 18px 40px rgba(0,0,0,.55);animation:drift 8s ease-in-out infinite}.frame img{width:100%;height:100%;object-fit:cover;display:block}.frame figcaption,.polaroid figcaption{position:absolute;left:12px;bottom:10px;font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:rgba(237,230,214,.85);text-shadow:0 2px 5px #000}.f1{top:16%;left:7%;transform:rotate(-5deg)}.f2{top:18%;right:8%;transform:rotate(4deg);animation-delay:.9s}.f3{bottom:14%;left:11%;transform:rotate(-3deg);animation-delay:1.2s}.f4{bottom:12%;right:7%;transform:rotate(5deg);animation-delay:1.45s}@keyframes drift{0%,100%{translate:0 0}50%{translate:0 -18px}}
.section{padding:130px 24px}.two-col{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.copy h2,.section-head h2,.reserve h2{font:500 clamp(42px,5vw,64px)/1.05 var(--serif);margin:18px 0 0}.body-copy{max-width:520px;margin:28px 0;display:grid;gap:18px;color:rgba(237,230,214,.64);font-size:15px;line-height:1.8}.polaroids{height:470px;position:relative}.polaroid{position:absolute;width:215px;height:295px;background:var(--charcoal);padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.55);margin:0}.polaroid img{width:100%;height:100%;object-fit:cover}.p-a{left:0;top:10px;transform:rotate(-4deg)}.p-b{right:0;bottom:0;transform:rotate(5deg)}
.section-head{text-align:center;max-width:650px;margin:0 auto 70px}.section-head p:last-child{color:rgba(237,230,214,.55);font-size:14px;line-height:1.7}.cards{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.food-card{aspect-ratio:3/4;position:relative;overflow:hidden;background:var(--charcoal);margin:0}.food-card img{width:100%;height:100%;object-fit:cover;transition:.7s}.food-card:hover img{transform:scale(1.05)}.food-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(12,19,16,.92))}.food-card>div{position:absolute;z-index:2;bottom:0;padding:20px}.food-card span{font-size:9px;text-transform:uppercase;letter-spacing:.22em;color:var(--gold-soft)}.food-card h3{font:500 21px/1.05 var(--serif);margin:7px 0}.food-card b{font:400 20px var(--serif);color:var(--gold-soft)}.center{text-align:center;margin-top:42px}
.event-strip{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:60px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1180px;margin:auto}.event-strip h2{font:500 46px var(--serif);margin:10px 0 5px}.event-strip p:last-child{color:rgba(237,230,214,.55);margin:0;font-size:14px}
.quotes{text-align:center;max-width:850px;margin:auto}.quote-mark{font:100px/0.7 var(--serif);color:var(--moss-light)}blockquote{min-height:150px;margin:28px 0 0;font:italic 500 clamp(27px,4vw,38px)/1.2 var(--serif);color:rgba(237,230,214,.86)}.quotes>p{font-size:10px;text-transform:uppercase;letter-spacing:.3em;color:rgba(237,230,214,.4);margin-top:26px}.dots{display:flex;justify-content:center;gap:8px;margin-top:24px}.dots button{width:24px;height:6px;border:0;background:rgba(237,230,214,.18);cursor:pointer}.dots button.active{background:var(--gold)}
.gallery{overflow:hidden}.film-window{position:relative}.film-track{display:flex;width:max-content;gap:24px;animation:scrollfilm 42s linear infinite}.film-track:hover{animation-play-state:paused}.film-track figure{width:320px;height:385px;margin:0;position:relative;overflow:hidden;background:var(--charcoal);flex:none}.film-track img{width:100%;height:100%;object-fit:cover}.film-track figure:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(12,19,16,.85))}.film-track figcaption{position:absolute;z-index:2;bottom:18px;left:18px;font-size:10px;text-transform:uppercase;letter-spacing:.24em}@keyframes scrollfilm{to{transform:translateX(-50%)}}
.reserve{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:linear-gradient(180deg,rgba(61,92,66,.12),rgba(20,29,24,.4))}.reserve-inner{max-width:760px;margin:auto;text-align:center}.reserve>div>p:not(.eyebrow){max-width:480px;margin:24px auto;color:rgba(237,230,214,.6);line-height:1.7}.reserve .btn{margin-top:10px}.reserve-form{text-align:left;max-width:560px;margin:48px auto 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}.form-grid label{font-size:10px;text-transform:uppercase;letter-spacing:.22em;color:var(--gold-soft)}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:7px;border:0;border-bottom:1px solid rgba(237,230,214,.2);background:transparent;color:var(--cream);padding:10px 0;outline:0}.form-grid select option{background:var(--charcoal)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-bottom-color:var(--gold)}.full-btn{width:100%;margin-top:28px;background:transparent}.form-note{text-align:center!important;font-size:11px!important;color:rgba(237,230,214,.35)!important;margin-top:16px!important}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:70px}.visit-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.24em;color:var(--gold-soft)}.visit-grid p{font-size:13px;line-height:1.7;color:rgba(237,230,214,.6)}.map{height:320px;position:relative;margin-top:60px;border:1px solid var(--rule);overflow:hidden}.map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.25) brightness(.75) hue-rotate(80deg)}.map-link{position:absolute;right:12px;bottom:12px;border:1px solid rgba(201,162,75,.5);background:rgba(12,19,16,.9);padding:10px 13px;font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold-soft)}
.full-menu{background:rgba(20,29,24,.35)}.menu-list{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:70px 80px}.menu-list h3{font:500 34px var(--serif);margin:0 0 18px;color:var(--cream)}.menu-list p{border-bottom:1px solid var(--rule);padding:11px 0;margin:0;color:rgba(237,230,214,.62);font-size:14px}.menu-list b{float:right;color:var(--gold-soft);font:400 20px var(--serif)}
.footer{border-top:1px solid var(--rule);max-width:1280px;margin:auto;padding:45px 40px;display:grid;grid-template-columns:1fr auto;gap:30px}.footer-brand{font-size:32px}.footer p{max-width:390px;color:rgba(237,230,214,.5);font-size:13px;line-height:1.6}.footer-links{display:flex;gap:26px;align-items:flex-end}.copyright{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:20px;color:rgba(237,230,214,.35);font-size:10px;text-transform:uppercase;letter-spacing:.2em}
@media(max-width:1000px){.desktop-nav{display:none}.menu-toggle{display:block}.open-label{display:none}.nav{height:68px;padding:0 22px}.mobile-menu.show{display:block}.hero-frames{display:none}.two-col{grid-template-columns:1fr;gap:60px}.polaroids{max-width:600px;width:100%;margin:auto}.cards{grid-template-columns:repeat(2,1fr)}.event-strip{margin:0 24px}.film-track figure{width:270px;height:340px}.footer{padding:40px 24px}}
@media(max-width:600px){.brand{font-size:20px;letter-spacing:.2em}.hero-content{padding-top:120px}.hero h1{font-size:48px}.hero-actions{flex-direction:column}.section{padding:95px 20px}.polaroids{height:390px}.polaroid{width:170px;height:245px}.p-b{right:5px}.cards{grid-template-columns:1fr 1fr;gap:12px}.food-card h3{font-size:17px}.food-card>div{padding:13px}.event-strip{margin:0;padding:45px 20px;display:block}.event-strip .text-link{display:block;margin-top:25px}.visit-grid,.menu-list{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.copyright{grid-column:auto}.film-track figure{width:235px;height:310px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

.menu-image{max-width:1000px;margin:auto}.menu-image img{display:block;width:100%;height:auto}

.wa-float{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.4);z-index:999;transition:transform .25s}.wa-float:hover{transform:scale(1.08)}.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:waPulse 2.2s ease-out infinite}@keyframes waPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.6);opacity:0}}@media(max-width:600px){.wa-float{right:16px;bottom:16px;width:54px;height:54px}}

.reviews{max-width:1180px;margin:auto}.rating-summary{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px;flex-wrap:wrap}.rating-summary b{font:500 54px/1 var(--serif);color:var(--gold-soft)}.rating-summary span{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:rgba(237,230,214,.62)}.stars{color:var(--gold);letter-spacing:4px;font-size:16px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:50px}.review-card{background:var(--charcoal);border:1px solid var(--rule);padding:30px 28px;display:flex;flex-direction:column;gap:16px;transition:.3s}.review-card:hover{border-color:rgba(201,162,75,.5);transform:translateY(-4px)}.review-card p{margin:0;font:italic 500 21px/1.35 var(--serif);color:rgba(237,230,214,.86);flex:1}.review-card span{font-size:10px;text-transform:uppercase;letter-spacing:.22em;color:var(--gold)}@media(max-width:1000px){.review-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.review-grid{grid-template-columns:1fr}}
