:root{
  --ivory:#f2eee7;--espresso:#211c18;--terracotta:#a34f38;--stone:#c7bdb0;--olive:#303127;
  --paper:#f8f4ee;--muted:#766d64;--line:rgba(33,28,24,.18);--max:1280px;
  --serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --shadow:0 18px 50px rgba(25,20,16,.12);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--espresso);font-family:var(--sans);line-height:1.5}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.eyebrow{font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta);font-weight:700}.display{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.035em;margin:.28em 0}.display.xl{font-size:clamp(3rem,7vw,7.6rem)}.display.lg{font-size:clamp(2.5rem,5vw,5rem)}.display.md{font-size:clamp(2rem,3.4vw,3.7rem)}.lead{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:46rem;color:#554c45}.muted{color:var(--muted)}.section{padding:clamp(70px,9vw,130px) 0}.section.dark{background:var(--espresso);color:var(--ivory)}.section.olive{background:var(--olive);color:var(--ivory)}.rule{border-top:1px solid var(--line)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:var(--ivory);transition:.25s;background:linear-gradient(to bottom,rgba(20,17,14,.62),transparent)}.site-header.scrolled,.site-header.inner{background:rgba(33,28,24,.96);backdrop-filter:blur(14px);box-shadow:0 1px rgba(255,255,255,.08)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-family:var(--serif);font-size:1.25rem;letter-spacing:.28em}.nav-links{display:flex;align-items:center;gap:28px;font-size:.88rem}.nav-links a:not(.btn){opacity:.78}.nav-links a:hover,.nav-links a.active{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid transparent;background:var(--terracotta);color:#fff;letter-spacing:.04em;font-size:.83rem;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.07)}.btn.outline{background:transparent;border-color:currentColor;color:inherit}.btn.dark{background:var(--espresso)}.text-link{display:inline-flex;gap:8px;align-items:center;font-size:.85rem;font-weight:700;letter-spacing:.03em}.text-link:after{content:'→';transition:.2s}.text-link:hover:after{transform:translateX(4px)}.menu-toggle{display:none;background:none;border:0;color:inherit;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.mobile-menu{position:fixed;inset:0;z-index:70;background:var(--espresso);color:var(--ivory);display:none;padding:24px}.mobile-menu.open{display:flex;flex-direction:column}.mobile-menu-head{display:flex;justify-content:space-between;align-items:center}.mobile-menu nav{margin:auto 0;display:grid;gap:18px}.mobile-menu nav a{font-family:var(--serif);font-size:2.5rem}.mobile-menu .btn{margin-top:14px;width:max-content}.menu-close{background:none;color:inherit;border:1px solid rgba(255,255,255,.25);padding:10px 13px}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;color:var(--ivory);background:#1d1713}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,12,.86) 0%,rgba(20,15,12,.56) 46%,rgba(20,15,12,.20) 100%)}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-content{position:relative;z-index:2;padding-top:90px;max-width:700px}.hero .lead{color:rgba(255,255,255,.82);max-width:38rem}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.hero-kicker{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}.page-hero{padding:160px 0 90px;background:var(--paper)}.page-hero.dark-hero{background:var(--espresso);color:var(--ivory)}.page-hero.image-hero{min-height:78svh;position:relative;display:flex;align-items:end;color:var(--ivory);overflow:hidden}.page-hero.image-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero.image-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,12,.74),rgba(20,15,12,.15))}.page-hero.image-hero .container{position:relative;z-index:2;padding-bottom:70px}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(38px,7vw,100px)}.split.reverse .media{order:2}.media{overflow:hidden;background:#ddd}.media.landscape{aspect-ratio:4/3}.media.portrait{aspect-ratio:4/5}.media.wide{aspect-ratio:16/9}.media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.media:hover img{transform:scale(1.025)}.copy{max-width:540px}.copy p{color:var(--muted);font-size:1.04rem}.dark .copy p,.olive .copy p{color:rgba(255,255,255,.7)}
.signature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:46px}.dish-card .media{aspect-ratio:4/5}.dish-card h3{font-family:var(--serif);font-size:1.42rem;font-weight:400;margin:18px 0 2px}.dish-meta{display:flex;justify-content:space-between;gap:10px;align-items:start}.dish-card p{font-size:.84rem;color:var(--muted);margin:.25rem 0}.price{font-size:.82rem;white-space:nowrap}.center{text-align:center}.center .lead{margin-inline:auto}.cta-band{padding:90px 0;text-align:center}.cta-band .display{margin-bottom:30px}.visit-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:50px}.visit-grid h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta);margin:0 0 12px}.visit-grid p{margin:.3rem 0}
.menu-tabs{position:sticky;top:78px;z-index:20;background:rgba(242,238,231,.95);backdrop-filter:blur(12px);border-block:1px solid var(--line);overflow:auto}.menu-tabs .container{display:flex;gap:28px;white-space:nowrap}.menu-tab{padding:18px 0;border:0;background:none;color:var(--muted);cursor:pointer;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid transparent}.menu-tab.active{color:var(--espresso);border-bottom-color:var(--terracotta)}.featured-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.featured-grid .media{aspect-ratio:4/3}.menu-section{padding:65px 0;border-top:1px solid var(--line)}.menu-section h2{font-family:var(--serif);font-size:2.5rem;font-weight:400;margin:0 0 28px}.menu-list{display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.menu-item{display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:18px 0;border-bottom:1px solid var(--line)}.menu-item h3{font-family:var(--serif);font-weight:400;font-size:1.15rem;margin:0}.menu-item p{grid-column:1/2;margin:0;color:var(--muted);font-size:.86rem}.mid-cta{margin:30px 0;padding:28px;background:#e8ded1;display:flex;justify-content:space-between;align-items:center;gap:20px}
.statement{max-width:900px}.story-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center}.story-grid .story-copy{grid-column:1/6}.story-grid .story-media{grid-column:7/13}.story-grid.flip .story-media{grid-column:1/7;grid-row:1}.story-grid.flip .story-copy{grid-column:8/13}.story-copy p{color:var(--muted)}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:44px}.occasion{padding:42px;background:var(--ivory);text-align:center}.occasion .icon{font-size:1.6rem}.occasion h3{font-family:var(--serif);font-weight:400;font-size:1.5rem}.gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,260px);gap:18px}.gallery .media:first-child{grid-row:1/3}.gallery .media{height:100%;aspect-ratio:auto}
.reservation-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,7vw,100px);align-items:start}.reservation-intro{position:sticky;top:120px}.booking-card{background:var(--paper);padding:clamp(24px,4vw,46px);box-shadow:var(--shadow)}.form-group{margin-bottom:28px}.form-label{display:block;font-size:.73rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700;margin-bottom:12px}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice{min-width:52px;min-height:44px;padding:10px 14px;border:1px solid var(--line);background:transparent;cursor:pointer}.choice:hover,.choice.selected{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.date-row{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.date-choice{padding:10px 4px;text-align:center}.date-choice small{display:block;font-size:.64rem;text-transform:uppercase;opacity:.68}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{width:100%;border:1px solid var(--line);background:transparent;padding:14px 12px;outline:none}.field:focus{border-color:var(--terracotta);box-shadow:0 0 0 2px rgba(163,79,56,.12)}textarea.field{min-height:110px;resize:vertical}.field-error{color:#a03125;font-size:.78rem;margin-top:5px;display:none}.field-wrap.invalid .field{border-color:#a03125}.field-wrap.invalid .field-error{display:block}.request-summary{padding:22px;background:#e8ded1;margin:24px 0}.summary-row{display:flex;gap:20px;flex-wrap:wrap;font-size:.86rem}.demo-note{font-size:.78rem;color:var(--muted);margin:18px 0}.success-state{display:none;text-align:center;padding:40px 10px}.success-state.active{display:block}.booking-form.hidden{display:none}.success-icon{width:52px;height:52px;border:1px solid var(--terracotta);border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;color:var(--terracotta);font-size:1.4rem}.success-summary{margin:28px auto;max-width:420px;padding:24px;border-block:1px solid var(--line)}
.footer{background:var(--espresso);color:var(--ivory);padding:70px 0 30px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr 1fr;gap:44px}.footer .brand{display:block;margin-bottom:12px}.footer h4{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#d5a992;margin:0 0 14px}.footer a,.footer p{display:block;color:rgba(255,255,255,.68);font-size:.86rem;margin:.35rem 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:50px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.5);font-size:.76rem}
.demo-badge{position:fixed;right:14px;bottom:14px;z-index:45;background:rgba(33,28,24,.9);color:#fff;padding:8px 11px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.14)}
@media(max-width:1023px){.nav-links{gap:16px}.signature-grid{grid-template-columns:repeat(2,1fr)}.visit-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.reservation-layout{grid-template-columns:1fr}.reservation-intro{position:static}.date-row{grid-template-columns:repeat(7,minmax(58px,1fr));overflow:auto}.menu-list{column-gap:30px}}
@media(max-width:767px){.container{width:min(calc(100% - 28px),var(--max))}.nav{height:68px}.nav-links{display:none}.menu-toggle{display:block}.site-header.scrolled,.site-header.inner{background:rgba(33,28,24,.97)}.hero{min-height:92svh}.hero:after{background:linear-gradient(180deg,rgba(20,15,12,.35),rgba(20,15,12,.78))}.hero img{object-position:62% center}.hero-content{padding-top:100px;align-self:end;padding-bottom:52px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn,.hero-actions .text-link{width:100%}.section{padding:64px 0}.split,.split.reverse{grid-template-columns:1fr;gap:30px}.split.reverse .media{order:0}.signature-grid{grid-template-columns:1fr 1fr;gap:12px}.dish-card h3{font-size:1.13rem}.dish-card p{font-size:.75rem}.visit-grid{grid-template-columns:1fr;gap:26px}.page-hero{padding:120px 0 60px}.page-hero.image-hero{min-height:72svh}.page-hero.image-hero:after{background:linear-gradient(180deg,rgba(20,15,12,.18),rgba(20,15,12,.78))}.page-hero.image-hero .container{padding-bottom:45px}.menu-tabs{top:68px}.menu-tabs .container{gap:20px}.featured-grid{grid-template-columns:1fr}.menu-list{grid-template-columns:1fr}.menu-section{padding:48px 0}.mid-cta{align-items:flex-start;flex-direction:column}.story-grid,.story-grid.flip{display:flex;flex-direction:column;gap:28px}.story-grid.flip .story-media{order:0}.story-grid.flip .story-copy{order:1}.occasion-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-template-rows:auto}.gallery .media:first-child{grid-row:auto}.gallery .media{height:auto;aspect-ratio:4/3}.reservation-layout{gap:35px}.booking-card{padding:22px 16px}.date-row{display:flex;overflow:auto}.date-choice{min-width:64px}.time-grid{grid-template-columns:1fr 1fr}.field-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column}.demo-badge{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
