:root {
  color-scheme: light;
  --teal: #0c5b53;
  --deep: #073d38;
  --teal-soft: #dce9e4;
  --cream: #f7f4ec;
  --paper: #fffdf8;
  --ink: #202c29;
  --muted: #75807a;
  --line: #e8e5db;
  --gold: #bd9a68;
  --serif: "Playfair Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 132px; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.topbar { height: 76px; padding: 0 clamp(20px, 6vw, 92px); display:flex; align-items:center; justify-content:space-between; background: var(--teal); color:#fff; }
.brand { display:inline-flex; align-items:center; gap:10px;  }
.brand img{
    position: absolute;
}
.brand-mark { width:29px; height:29px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.5); border-radius:50%; color:#fff; font-size:17px; }
.brand-name { font-family:var(--serif); letter-spacing:.2em; font-size:20px; font-weight:400; }
.topbar-note,.topbar-link { font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
.topbar-note { display:flex; align-items:center; gap:9px; color:#d8e5df; }
.status-dot { width:7px; height:7px; display:inline-block; background:#d3b479; border-radius:50%; box-shadow:0 0 0 4px rgba(211,180,121,.14); }
.topbar-link { color:#f1dfbd; display:flex; gap:12px; align-items:center; }
.topbar-link span { font-size:17px; }
.eyebrow { display:flex; align-items:center; gap:9px; color:var(--teal); font-size:9px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }
.eyebrow > span { width:20px; height:1px; display:inline-block; background:var(--gold); }
.menu-intro { max-width:1220px; margin:0 auto; padding:43px 34px 25px; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.menu-intro .eyebrow { margin:0 0 17px; }
.menu-intro h2 { margin:0; font:400 clamp(37px,4.6vw,54px)/1.08 var(--serif); letter-spacing:-.04em; }
.menu-intro h2 em { color:var(--teal); }
.intro-text { max-width:330px; margin:0 0 6px; color:#6c7770; font-size:13px; line-height:1.85; }
.menu-tools { max-width:1220px; margin:0 auto; padding:0 34px 21px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.search-box { width:min(360px,100%); height:46px; padding:0 13px; display:flex; align-items:center; gap:11px; border:1px solid #deded3; background:var(--paper); }
.search-box > span { font-family:var(--serif); font-size:26px; color:var(--teal); transform:rotate(-20deg); }
.search-box input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); font:12px var(--sans); }
.search-box input::placeholder { color:#939890; }
.search-box kbd { flex:none; padding:4px 5px; border:1px solid var(--line); color:#9a9d95; font:9px var(--sans); }
.menu-count { margin:0; color:#848a82; font-size:10px; letter-spacing:.07em; }.menu-count strong { color:var(--teal); }
.category-nav { position:sticky; top:0; z-index:10; padding:0 max(22px,calc((100% - 1220px)/2)); height:61px; display:flex; align-items:stretch; gap:24px; overflow-x:auto; background:rgba(247,244,236,.94); border-top:1px solid rgba(220,218,207,.7); border-bottom:1px solid #e2dfd6; scrollbar-width:none; backdrop-filter:blur(14px); }
.category-nav::-webkit-scrollbar { display:none; }
.category-select { display:none; }
.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; }
.category-link { position:relative; display:flex; align-items:center; flex:none; color:#768079; white-space:nowrap; font-size:10px; letter-spacing:.075em; transition:color .2s; }
.category-link::after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--teal); transform:scaleX(0); transition:transform .2s; }
.category-link:hover,.category-link.active { color:var(--teal); }.category-link.active::after { transform:scaleX(1); }
.menu-layout { max-width:1220px; margin:0 auto; padding:37px 34px 100px; display:block; }
.menu-sections { min-width:0; }
.menu-section { margin:0 0 65px; scroll-margin-top:87px; }
.section-heading { padding-bottom:19px; margin-bottom:8px; display:flex; justify-content:space-between; align-items:flex-end; border-bottom:1px solid #dcded4; }
.section-kicker { margin:0 0 8px; color:#9c8b69; font-size:8px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; }
.section-heading h3 { margin:0; color:var(--teal); font:400 clamp(27px,3.2vw,38px)/1.1 var(--serif); letter-spacing:-.02em; }
.section-heading > p { max-width:300px; margin:0 0 2px; color:#838981; font-size:10px; line-height:1.6; text-align:right; }
.dish-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 27px; }
.dish-card { min-width:0; padding:18px 0; display:grid; grid-template-columns:88px minmax(0,1fr); gap:14px; align-items:center; border-bottom:1px solid #e8e5dd; }
.dish-photo { width:88px; height:88px; display:block; object-fit:cover; background:#e6e5db; }
.dish-info { min-width:0; align-self:center; }
.dish-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.dish-title { margin:0; font:500 15px/1.35 var(--serif); color:#283632; }
.dish-price { flex:none; color:var(--teal); font-size:12px; font-weight:700; white-space:nowrap; }
.dish-desc { margin:7px 0 0; color:#818980; font-size:10px; line-height:1.65; }
.veg-dot { width:10px; height:10px; margin:1px 5px 0 0; flex:none; display:inline-grid; place-items:center; border:1px solid #60856c; vertical-align:middle; }.veg-dot::after { content:""; width:4px; height:4px; display:block; background:#60856c; border-radius:50%; }
.dish-title-wrap { display:flex; align-items:flex-start; gap:5px; }
.menu-empty { padding:70px 20px 100px; text-align:center; color:#78847e; }.menu-empty > span { color:var(--gold); font-size:30px; }.menu-empty h3 { margin:15px 0 6px; color:var(--teal); font:32px var(--serif); }.menu-empty p { font-size:12px; }
.footer { padding:44px clamp(22px,6vw,92px) 22px; background:var(--deep); color:#f8f5eb; }
.footer-top { max-width:1220px; margin:0 auto; display:flex; align-items:flex-start; justify-content:space-between; }
.footer-brand .brand-mark { border-color:#718b7e; color:#e0c28d; }.footer-brand .brand-name { font-size:23px; }
.footer-top > div > p { margin:14px 0 0 40px; color:#a8b9af; font:14px/1.6 var(--serif); }
.back-top { position:fixed; right:clamp(18px,3vw,32px); bottom:max(18px,env(safe-area-inset-bottom)); z-index:30; padding:12px 15px; display:flex; gap:16px; align-items:center; border:1px solid rgba(255,255,255,.2); background:var(--teal); box-shadow:0 5px 18px rgba(7,61,56,.22); color:#f4e6cb; font-size:9px; letter-spacing:.1em; text-transform:uppercase; transition:background .2s,transform .2s; }.back-top:hover { background:var(--deep); transform:translateY(-2px); }.back-top span { font-size:18px; }
.footer-bottom { max-width:1220px; margin:48px auto 0; padding-top:17px; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.17); color:#a2b2a8; font-size:8px; letter-spacing:.13em; }
.footer-fineprint { max-width:1220px; margin:14px auto 0; color:#71877b; font-size:9px; }
@media (min-width:1500px) { .menu-layout,.menu-intro,.menu-tools { max-width:1320px; }.category-nav { padding-left:max(22px,calc((100% - 1320px)/2)); padding-right:max(22px,calc((100% - 1320px)/2)); } }
@media (max-width:850px) { .menu-layout { padding-left:24px; padding-right:24px; }.menu-intro,.menu-tools { padding-left:24px; padding-right:24px; }.dish-grid { grid-template-columns:1fr; }.dish-card { grid-template-columns:92px minmax(0,1fr); }.dish-photo { width:92px; height:92px; } }
@media (max-width:620px) {
  html { scroll-padding-top:119px; }.topbar { height:61px; padding:0 19px; }.brand-mark { width:25px; height:25px; font-size:14px; }.brand-name { font-size:17px; }.topbar-note { display:none; }.topbar-link { font-size:9px; }
  .menu-intro { padding:35px 22px 21px; display:block; }.menu-intro .eyebrow { margin:0 0 10px; }.menu-intro h2 { font-size:40px; }
  .menu-tools { padding:0 22px 18px; align-items:flex-end; }.search-box { height:44px; }.search-box kbd { display:none; }.menu-count { flex:none; font-size:9px; padding-bottom:13px; }
  .category-nav { height:54px; padding:0 22px; gap:0; top:0; }.category-link { display:none; }.category-select { width:100%; height:38px; padding:0 12px; display:block; border:1px solid #e1ded4; border-radius:2px; background:var(--paper); color:var(--teal); font:600 10px var(--sans); letter-spacing:.08em; text-transform:uppercase; }
  .menu-layout { display:block; padding:29px 22px 65px; }.menu-section { margin-bottom:45px; scroll-margin-top:75px; }.section-heading { padding-bottom:14px; }.section-heading h3 { font-size:31px; }.section-heading > p { display:none; }.dish-grid { grid-template-columns:1fr; }.dish-card { padding:14px 0; grid-template-columns:78px minmax(0,1fr); gap:12px; }.dish-photo { width:78px; height:78px; }.dish-title { font-size:15px; }.dish-price { font-size:11px; }.dish-desc { font-size:10px; margin-top:5px; }
  .footer { padding:34px 22px 20px; }.footer-bottom { margin-top:34px; flex-wrap:wrap; gap:12px 18px; }.footer-bottom span:nth-child(2) { order:3; width:100%; }.footer-fineprint { line-height:1.6; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }
