:root { color-scheme: light; --bg: #f4f7fb; --surface: #ffffff; --ink: #10233b; --muted: #56687d; --line: #d6e0ec; --accent: #1170ee; --accent-2: #f97316; }
      * { box-sizing: border-box; }
      body { margin: 0; font-family: "Segoe UI", Arial, sans-serif; background: radial-gradient(circle at top left, rgba(17, 112, 238, 0.14), transparent 32%), radial-gradient(circle at top right, rgba(249, 115, 22, 0.1), transparent 30%), var(--bg); color: var(--ink); }
      .wrap { width: min(1120px, calc(100% - 32px)); margin: 0 auto; }
      .hero { padding: 88px 0 56px; }
      .eyebrow { display: inline-block; padding: 8px 12px; border-radius: 999px; background: rgba(17, 112, 238, 0.1); color: var(--accent); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
      h1 { margin: 18px 0 14px; max-width: 700px; font-size: clamp(2.4rem, 5vw, 4.5rem); line-height: 1.05; }
      .lead { max-width: 640px; margin: 0; font-size: 1.1rem; line-height: 1.7; color: var(--muted); }
      .actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
      .btn { display: inline-flex; align-items: center; justify-content: center; padding: 14px 18px; border-radius: 12px; text-decoration: none; font-weight: 700; }
      .btn-primary { background: var(--accent); color: #fff; }
      .btn-secondary { border: 1px solid var(--line); color: var(--ink); background: rgba(255, 255, 255, 0.72); }
      .grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 12px 0 64px; }
      .card { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, 0.84); box-shadow: 0 18px 36px rgba(16, 35, 59, 0.08); }
      .card h2 { margin: 0 0 10px; font-size: 1.05rem; }
      .card p { margin: 0; color: var(--muted); line-height: 1.65; }

      .menu { padding: 8px 0 64px; }
      .menu-head { margin-bottom: 20px; }
      .menu-title { margin: 0 0 8px; font-size: clamp(1.7rem, 3vw, 2.2rem); }
      .menu-subtitle { margin: 0; color: var(--muted); }
      .menu-groups { display: grid; gap: 24px; }
      .menu-group { padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, 0.84); box-shadow: 0 14px 28px rgba(16, 35, 59, 0.06); }
      .menu-group h3 { margin: 0 0 14px; font-size: 1.2rem; }
      .menu-items { display: grid; gap: 12px; }
      .menu-item { display: grid; grid-template-columns: 84px 1fr auto; gap: 14px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); }
      .menu-item:first-child { border-top: none; padding-top: 0; }
      .menu-thumb { width: 84px; height: 64px; object-fit: cover; border-radius: 10px; border: 1px solid var(--line); }
      .menu-item-name { margin: 0 0 4px; font-size: 1rem; }
      .menu-item-desc { margin: 0; color: var(--muted); font-size: 0.94rem; line-height: 1.4; }
      .menu-price { font-weight: 700; white-space: nowrap; }

      .cta { margin: 0 0 80px; padding: 32px; border-radius: 24px; background: linear-gradient(135deg, #10233b, #173965); color: #fff; }
      .cta p { margin: 8px 0 0; color: rgba(255, 255, 255, 0.8); }
      .cta strong { color: #fff; }
      @media (max-width: 860px) {
        .hero { padding-top: 64px; }
        .grid { grid-template-columns: 1fr; }
        .menu-item { grid-template-columns: 72px 1fr auto; gap: 10px; }
        .menu-thumb { width: 72px; height: 56px; }
        .cta { padding: 24px; }
      }
      @media (max-width: 620px) {
        .menu-item { grid-template-columns: 1fr; }
        .menu-thumb { width: 100%; height: 140px; }
        .menu-price { margin-top: 6px; }
      }

:root{
  --bg:#F6F0E5;
  --ink:#2B1E18;
  --accent:#2F4A3C;
  --card:#FFFDF9;
  --line:#E4D8C8;
  --muted:#6E5A4E;
  --radius:16px;
  --shadow:0 8px 24px rgba(43,30,24,.08);
}

*,
*::before,
*::after{box-sizing:border-box}

body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Inter","Avenir Next","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;
  letter-spacing:.01em;
}

.wrap{
  width:min(1120px,92vw);
  margin:0 auto;
  padding:3rem 0 4rem;
}

.hero{
  background:linear-gradient(135deg, #fffaf2 0%, #f3eadc 100%);
  border:1px solid var(--line);
  border-radius:24px;
  padding:3.2rem clamp(1.25rem,3vw,3rem);
  box-shadow:var(--shadow);
  margin-bottom:2.5rem;
}

.eyebrow{
  display:inline-block;
  color:var(--accent);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  margin-bottom:.8rem;
}

h1,h2,h3,h4{
  color:var(--ink);
  font-family:"Cormorant Garamond","Georgia","Times New Roman",serif;
  line-height:1.15;
  letter-spacing:.01em;
}

.hero h1{
  font-size:clamp(2rem,4.8vw,3.5rem);
  max-width:18ch;
  margin-bottom:1rem;
}

.lead{
  color:var(--muted);
  font-size:1.08rem;
  max-width:62ch;
  margin-bottom:1.35rem;
}

.actions{
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
}

.btn{
  border-radius:999px;
  padding:.78rem 1.2rem;
  font-weight:600;
  border:1px solid transparent;
  transition:all .2s ease;
}

.btn-primary{
  background:var(--accent);
  color:#fff;
}

.btn-primary:hover,
.btn-primary:focus-visible{
  background:#243c30;
  transform:translateY(-1px);
}

.btn-secondary{
  background:transparent;
  color:var(--accent);
  border-color:var(--accent);
}

.btn-secondary:hover,
.btn-secondary:focus-visible{
  background:rgba(47,74,60,.08);
}

.menu{
  margin:2.5rem 0;
}

.menu-head{
  margin-bottom:1.25rem;
}

.menu-title{
  font-size:clamp(1.7rem,3vw,2.4rem);
  margin-bottom:.4rem;
}

.menu-subtitle{
  color:var(--muted);
}

.menu-groups{
  display:grid;
  gap:1.25rem;
}

.menu-group{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.1rem;
  box-shadow:0 4px 14px rgba(43,30,24,.05);
}

.menu-group h3{
  color:var(--accent);
  margin:0 0 .9rem;
  font-size:1.45rem;
}

.menu-items{
  display:grid;
  gap:.8rem;
}

.menu-item{
  background:#fff;
  border:1px solid #efe3d3;
  border-radius:12px;
  padding:.75rem;
  display:grid;
  grid-template-columns:72px 1fr auto;
  gap:.8rem;
  align-items:center;
}

.menu-thumb{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:10px;
}

.menu-item-name{
  margin:0 0 .22rem;
  font-size:1.18rem;
}

.menu-item-desc{
  margin:0;
  color:var(--muted);
  font-size:.95rem;
}

.menu-price{
  color:var(--accent);
  font-weight:700;
  white-space:nowrap;
  font-size:1rem;
}

#services.grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin:2rem 0;
}

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:1.2rem;
  box-shadow:0 4px 14px rgba(43,30,24,.05);
}

.card h2{
  font-size:1.5rem;
  margin-bottom:.45rem;
}

.card p{
  color:var(--muted);
  margin:0;
}

.cta{
  background:var(--accent);
  color:#f9f4ec;
  border-radius:20px;
  padding:1.25rem 1.2rem;
  box-shadow:var(--shadow);
}

.cta strong{
  display:block;
  font-size:1.08rem;
  margin-bottom:.35rem;
}

.cta p{
  margin:0;
  color:#efe6da;
}

@media (max-width:900px){
  #services.grid{
    grid-template-columns:1fr;
  }
  .menu-item{
    grid-template-columns:64px 1fr;
  }
  .menu-price{
    grid-column:2;
  }
}

:root {
        --bg: #f7f3eb;
        --paper: #fffdf8;
        --ink: #2f2d2a;
        --muted: #6e695f;
        --olive: #6f7a58;
        --olive-dark: #566045;
        --line: #ddd5c8;
        --radius: 14px;
      }

      * {
        box-sizing: border-box;
      }

      body {
        margin: 0;
        background: var(--bg);
        color: var(--ink);
        font-family: "Inter", "Avenir Next", "Segoe UI", sans-serif;
        line-height: 1.55;
      }

      .wrap {
        width: min(1120px, 92vw);
        margin: 0 auto;
        padding: 2.5rem 0 4rem;
      }

      .topbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        border-bottom: 1px solid var(--line);
        padding-bottom: 1rem;
        margin-bottom: 2.5rem;
      }

      .brand {
        font-size: 0.9rem;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--muted);
        font-weight: 600;
      }

      .topnav {
        display: flex;
        gap: 1rem;
        flex-wrap: wrap;
      }

      .topnav a {
        color: var(--ink);
        text-decoration: none;
        font-size: 0.92rem;
      }

      .topnav a:hover {
        color: var(--olive-dark);
      }

      .hero {
        display: grid;
        grid-template-columns: 1.05fr 0.95fr;
        gap: 2.2rem;
        align-items: stretch;
        margin-bottom: 3rem;
      }

      .hero-copy {
        background: var(--paper);
        border: 1px solid var(--line);
        border-radius: var(--radius);
        padding: 2rem;
      }

      .eyebrow {
        display: inline-block;
        color: var(--olive-dark);
        font-size: 0.8rem;
        text-transform: uppercase;
        letter-spacing: 0.16em;
        font-weight: 700;
        margin-bottom: 1rem;
      }

      h1,
      h2,
      h3 {
        font-family: "Iowan Old Style", "Garamond", "Times New Roman", serif;
        color: #23211f;
        line-height: 1.1;
        margin-top: 0;
      }

      h1 {
        font-size: clamp(2.25rem, 4.5vw, 4rem);
        margin-bottom: 1rem;
      }

      .lead {
        color: var(--muted);
        margin-bottom: 1.5rem;
        max-width: 60ch;
      }

      .actions {
        display: flex;
        gap: 0.8rem;
        flex-wrap: wrap;
      }

      .btn {
        display: inline-block;
        border-radius: 999px;
        padding: 0.72rem 1.15rem;
        text-decoration: none;
        font-weight: 600;
        font-size: 0.92rem;
      }

      .btn-primary {
        background: var(--olive);
        color: #fff;
      }

      .btn-primary:hover {
        background: var(--olive-dark);
      }

      .btn-secondary {
        border: 1px solid var(--line);
        color: var(--ink);
        background: #fff;
      }

      .hero-aside {
        background: #efe8dc;
        border-radius: var(--radius);
        border: 1px solid #e2d8c6;
        padding: 1.5rem;
      }

      .hero-aside h2 {
        font-size: clamp(1.5rem, 3.5vw, 2.25rem);
        margin-bottom: 0.8rem;
      }

      .hero-aside p {
        margin: 0.55rem 0;
        color: #4f4a42;
      }

      .menu {
        margin: 1rem 0 3rem;
      }

      .menu-head {
        margin-bottom: 1.4rem;
      }

      .menu-title {
        font-size: clamp(2rem, 4vw, 3rem);
        margin-bottom: 0.45rem;
      }

      .menu-subtitle {
        color: var(--muted);
        margin: 0;
      }

      .menu-group {
        margin-bottom: 2rem;
      }

      .menu-group h3 {
        font-size: clamp(1.4rem, 2.5vw, 2rem);
        margin-bottom: 0.8rem;
        border-bottom: 1px solid var(--line);
        padding-bottom: 0.35rem;
      }

      .menu-items {
        display: grid;
        gap: 0.9rem;
      }

      .menu-item {
        display: grid;
        grid-template-columns: 74px 1fr auto;
        gap: 0.9rem;
        align-items: center;
        background: var(--paper);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 0.7rem 0.8rem;
      }

      .menu-thumb {
        width: 74px;
        height: 74px;
        object-fit: cover;
        border-radius: 10px;
      }

      .menu-item-name {
        margin: 0 0 0.2rem;
        font-family: "Inter", "Avenir Next", "Segoe UI", sans-serif;
        font-size: 1rem;
        font-weight: 700;
      }

      .menu-item-desc {
        margin: 0;
        color: var(--muted);
        font-size: 0.9rem;
      }

      .menu-price {
        font-weight: 700;
        font-size: 0.95rem;
        color: var(--olive-dark);
        white-space: nowrap;
      }

      .info-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1rem;
        margin-bottom: 2.3rem;
      }

      .card {
        background: var(--paper);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 1rem;
      }

      .card h2 {
        font-size: 1.35rem;
        margin-bottom: 0.55rem;
      }

      .card p {
        margin: 0;
        color: var(--muted);
      }

      .cta {
        background: #23211f;
        color: #f9f5ef;
        border-radius: var(--radius);
        padding: 1.6rem;
      }

      .cta strong {
        display: block;
        font-family: "Iowan Old Style", "Garamond", "Times New Roman", serif;
        font-size: clamp(1.5rem, 2.8vw, 2.2rem);
        margin-bottom: 0.5rem;
      }

      .cta p {
        margin: 0 0 1rem;
        color: #e7dfd2;
      }

      .cta .btn-secondary {
        background: transparent;
        color: #fff;
        border-color: #847b6e;
      }

      @media (max-width: 900px) {
        .hero,
        .info-grid {
          grid-template-columns: 1fr;
        }

        .menu-item {
          grid-template-columns: 64px 1fr;
        }

        .menu-price {
          grid-column: 2;
        }

        .menu-thumb {
          width: 64px;
          height: 64px;
        }
      }

:root{
      --bg:#f7f3eb;
      --paper:#fbf8f2;
      --text:#2b2b2b;
      --muted:#5e5a54;
      --accent:#5f6f52;
      --accent-dark:#4c5a42;
      --line:#ddd5c8;
      --chip:#efe9dd;
      --focus:#3f5a3a;
      --shadow:0 8px 28px rgba(30,30,30,.08);
      --radius:14px;
    }
    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{
      font-family: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
      background:var(--bg);
      color:var(--text);
      line-height:1.5;
    }
    a{color:inherit}
    .container{width:min(1160px,92%);margin-inline:auto}
    .serif{
      font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, "Times New Roman", serif;
      letter-spacing:.01em;
    }
    .topbar{
      border-bottom:1px solid var(--line);
      background:rgba(251,248,242,.92);
      position:sticky;top:0;z-index:20;
      backdrop-filter:saturate(140%) blur(4px);
    }
    .topbar-inner{
      display:flex;align-items:center;justify-content:space-between;
      padding:14px 0;gap:14px;
    }
    .brand{font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.85rem}
    .nav{display:flex;gap:18px;flex-wrap:wrap}
    .nav a{text-decoration:none;color:var(--muted);font-size:.95rem}
    .nav a:hover,.nav a:focus-visible{color:var(--accent-dark)}
    .btn{
      display:inline-block;text-decoration:none;border-radius:999px;
      padding:11px 18px;border:1px solid transparent;font-weight:600;
      transition:.2s ease;
    }
    .btn-primary{background:var(--accent);color:#fff}
    .btn-primary:hover,.btn-primary:focus-visible{background:var(--accent-dark)}
    .btn-secondary{border-color:var(--accent);color:var(--accent-dark);background:transparent}
    .btn-secondary:hover,.btn-secondary:focus-visible{background:rgba(95,111,82,.08)}
    .hero{
      padding:82px 0 54px;
      border-bottom:1px solid var(--line);
      background:linear-gradient(180deg,var(--paper) 0%,var(--bg) 100%);
    }
    .hero h1{
      font-size:clamp(2.4rem,6.2vw,5.3rem);
      line-height:.98;margin:0 0 14px;
      max-width:12ch;
    }
    .hero p{max-width:64ch;color:var(--muted);font-size:1.08rem;margin:0 0 28px}
    .hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
    .quick-strip{
      border-bottom:1px solid var(--line);
      background:var(--paper);
    }
    .quick-strip .container{
      display:flex;gap:10px;overflow:auto;padding:16px 0;
      scrollbar-width:thin;
    }
    .chip{
      white-space:nowrap;background:var(--chip);border:1px solid var(--line);
      color:var(--accent-dark);padding:9px 14px;border-radius:999px;
      font-size:.92rem;text-decoration:none;
    }
    section{padding:56px 0;border-bottom:1px solid var(--line)}
    h2{
      margin:0 0 20px;
      font-size:clamp(1.7rem,3.8vw,3rem);
      line-height:1.08;
    }
    .lede{color:var(--muted);max-width:72ch;margin:0 0 24px}
    .menu-grid{
      display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:16px;
    }
    .menu-item{
      background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
      overflow:hidden;box-shadow:var(--shadow);
      display:grid;grid-template-columns:110px 1fr;
      min-height:140px;
    }
    .menu-item img{width:100%;height:100%;object-fit:cover}
    .menu-content{padding:14px}
    .meta{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-dark);font-weight:700}
    .menu-content h3{margin:5px 0 6px;font-size:1.12rem}
    .menu-content p{margin:0 0 10px;color:var(--muted);font-size:.95rem}
    .price{font-weight:700}
    .split{
      display:grid;gap:22px;grid-template-columns:1fr;
    }
    .panel{
      background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
      padding:20px;
    }
    .panel h3{margin:0 0 8px}
    ul{margin:0;padding-left:20px}
    li{margin:6px 0}
    footer{
      padding:34px 0 90px;background:var(--paper);
    }
    .footer-grid{
      display:grid;gap:18px;grid-template-columns:1fr;
    }
    .muted{color:var(--muted)}
    .sticky-call{
      position:fixed;right:16px;bottom:16px;z-index:30;
      box-shadow:var(--shadow);
    }
    .mobile-bar{
      position:fixed;left:0;right:0;bottom:0;z-index:35;
      background:rgba(251,248,242,.98);border-top:1px solid var(--line);
      display:grid;grid-template-columns:1fr 1fr 1fr;
    }
    .mobile-bar a{
      text-decoration:none;text-align:center;padding:12px 8px;
      font-size:.88rem;font-weight:600;color:var(--accent-dark);
    }
    a:focus-visible,button:focus-visible{
      outline:3px solid var(--focus);outline-offset:2px;border-radius:8px;
    }
    @media (min-width:720px){
      .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .split{grid-template-columns:1fr 1fr}
      .footer-grid{grid-template-columns:1.2fr .8fr}
      .mobile-bar{display:none}
    }
    @media (min-width:1020px){
      .menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    }

:root{
      --bg:#f7f3ed;
      --paper:#fffdf9;
      --ink:#2a241f;
      --muted:#6a5f55;
      --line:#ddd2c5;
      --accent:#6d7c6b;
      --accent-2:#3e4b3d;
      --cta:#2f2924;
      --cta-text:#fffdf9;
      --radius:16px;
      --shadow:0 10px 30px rgba(40,30,20,.08);
    }
    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{
      font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif;
      color:var(--ink);
      background:var(--bg);
      line-height:1.55;
    }
    h1,h2,h3{
      font-family: "Cormorant Garamond", "Times New Roman", serif;
      line-height:1.1;
      margin:0 0 .5rem;
      letter-spacing:.01em;
    }
    h1{font-size:clamp(2.1rem,5vw,4rem);font-weight:600}
    h2{font-size:clamp(1.6rem,3.2vw,2.6rem);font-weight:600}
    h3{font-size:clamp(1.2rem,2vw,1.6rem);font-weight:600}
    p{margin:.4rem 0 1rem}
    a{color:inherit}
    img{max-width:100%;display:block}
    .container{width:min(1120px,92vw);margin:0 auto}
    .section{padding:4.5rem 0}
    .kicker{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
      min-height:44px;padding:.75rem 1.1rem;border-radius:999px;border:1px solid transparent;
      text-decoration:none;font-weight:600;font-size:.95rem;cursor:pointer
    }
    .btn-primary{background:var(--cta);color:var(--cta-text)}
    .btn-primary:hover,.btn-primary:focus-visible{background:#201b17}
    .btn-secondary{background:transparent;border-color:var(--ink);color:var(--ink)}
    .btn-secondary:hover,.btn-secondary:focus-visible{background:#eee4d8}
    .btn-soft{background:#ece4d8;border-color:#d4c7b8}
    .btn:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, button:focus-visible{
      outline:3px solid var(--accent);outline-offset:2px
    }
    header.hero{
      position:relative;overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line)
    }
    .hero-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:3.8rem 0}
    .hero-media{
      border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:380px
    }
    .hero-media img{width:100%;height:100%;object-fit:cover}
    .quick-ribbon{
      margin-top:1.2rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:999px;
      display:flex;gap:.7rem;flex-wrap:wrap;color:var(--muted);font-size:.92rem;background:#faf6ef
    }
    .dot::before{content:"• ";color:#9c8f80}
    .cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.2rem}
    .menu-grid{
      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem
    }
    .menu-card{
      background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem;
      display:flex;flex-direction:column;gap:.9rem
    }
    .menu-card img{aspect-ratio:4/3;object-fit:cover;border-radius:10px}
    .item{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px dashed #e2d8cb}
    .item:last-child{border-bottom:0}
    .item small{color:var(--muted);display:block}
    .editorial{
      display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:stretch
    }
    .panel{
      background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--shadow)
    }
    .chips{display:flex;flex-wrap:wrap;gap:.55rem}
    .chip{border:1px solid #d8ccbc;background:#f5ede2;border-radius:999px;padding:.4rem .7rem;font-size:.85rem}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
    label{display:block;font-weight:600;margin:0 0 .35rem}
    .req{color:#8a2f2f}
    .optional{color:var(--muted);font-weight:500;font-size:.88rem}
    input,textarea{
      width:100%;padding:.75rem .85rem;border-radius:10px;border:1px solid #cabba9;background:#fff
    }
    textarea{min-height:120px;resize:vertical}
    .small{font-size:.9rem;color:var(--muted)}
    .essentials{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
    details{
      background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem
    }
    summary{cursor:pointer;font-weight:600}
    footer{padding:2.5rem 0 6rem;border-top:1px solid var(--line);color:var(--muted)}
    .final-band{
      background:linear-gradient(120deg,#efe5d7,#f9f4ec);border-top:1px solid var(--line);border-bottom:1px solid var(--line)
    }
    .sticky-mobile{
      position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fffdf9cc;backdrop-filter:blur(8px);
      border-top:1px solid var(--line);padding:.6rem .7rem;display:none;gap:.6rem
    }
    .sticky-mobile .btn{flex:1}
    @media (max-width:920px){
      .hero-wrap,.editorial,.essentials,.form-grid{grid-template-columns:1fr}
      .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media (max-width:640px){
      .menu-grid{grid-template-columns:1fr}
      .sticky-mobile{display:flex}
      .section{padding:3.6rem 0}
    }
    @media (prefers-reduced-motion: reduce){
      *{scroll-behavior:auto}
    }

:root{
      --bg:#171717;
      --bg-soft:#1f1f1f;
      --panel:#242322;
      --text:#f2e8d8;
      --muted:#c8bca8;
      --accent:#b87333;
      --accent-soft:#d19a66;
      --line:#3a342f;
      --focus:#ffd7ab;
      --max:1200px;
    }
    *{box-sizing:border-box}
    html,body{margin:0;padding:0}
    body{
      font-family: "Inter", "Avenir Next", "Segoe UI", Arial, sans-serif;
      background:var(--bg);
      color:var(--text);
      line-height:1.5;
    }
    h1,h2,h3{
      font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
      letter-spacing:.2px;
      margin:0 0 .5rem 0;
      line-height:1.1;
    }
    a{color:var(--text);text-decoration:none}
    a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
      outline:2px solid var(--focus);
      outline-offset:2px;
    }
    .wrap{width:min(100% - 2rem,var(--max));margin-inline:auto}
    .rule{border:0;border-top:1px solid var(--line);margin:0}
    .topbar{
      position:sticky;top:0;z-index:20;
      background:rgba(23,23,23,.92);
      backdrop-filter: blur(6px);
      border-bottom:1px solid var(--line);
    }
    .topbar-inner{
      display:flex;align-items:center;justify-content:space-between;
      padding:.8rem 0;gap:1rem;
    }
    .brand{font-weight:600;letter-spacing:.4px}
    .quicknav{display:flex;gap:1rem;flex-wrap:wrap}
    .quicknav a{font-size:.92rem;color:var(--muted)}
    .quicknav a:hover{color:var(--text)}
    .btn{
      display:inline-block;
      padding:.72rem 1rem;
      border-radius:999px;
      font-weight:600;
      border:1px solid transparent;
      min-height:44px;
    }
    .btn-primary{background:var(--accent);color:#111}
    .btn-primary:hover{background:var(--accent-soft)}
    .btn-outline{border-color:var(--accent);color:var(--text)}
    .btn-outline:hover{background:rgba(184,115,51,.15)}
    .hero{
      padding:5.5rem 0 4rem;
      background:
        linear-gradient(120deg, rgba(23,23,23,.94), rgba(23,23,23,.82)),
        url("https://images.unsplash.com/photo-1495474472287-4d71bcdd2085?auto=format&fit=crop&w=800&q=80") center/cover no-repeat;
      border-bottom:1px solid var(--line);
    }
    .eyebrow{
      text-transform:uppercase;
      letter-spacing:.14em;
      font-size:.75rem;
      color:var(--accent-soft);
      margin-bottom:1rem;
    }
    .hero h1{font-size:clamp(2rem,5vw,4rem);max-width:16ch}
    .hero p{max-width:65ch;color:var(--muted);font-size:1.05rem}
    .cta-row{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.35rem}
    .categories{
      padding:1rem 0;background:var(--bg-soft);
      border-bottom:1px solid var(--line);
    }
    .cat-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
    .cat-list a{
      border:1px solid var(--line);padding:.8rem;border-radius:.4rem;
      text-align:center;color:var(--muted);
    }
    .cat-list a:hover{color:var(--text);border-color:var(--accent)}
    section{padding:3.2rem 0}
    .section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}
    .section-head p{margin:0;color:var(--muted)}
    .menu-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
      gap:1rem;
    }
    .menu-item{
      border:1px solid var(--line);
      border-radius:.7rem;
      overflow:hidden;
      background:var(--panel);
      display:flex;flex-direction:column;
    }
    .menu-item img{width:100%;height:160px;object-fit:cover;display:block}
    .menu-copy{padding:1rem}
    .meta{font-size:.78rem;color:var(--accent-soft);letter-spacing:.08em;text-transform:uppercase}
    .menu-copy h3{font-size:1.45rem;margin:.25rem 0}
    .menu-copy p{margin:.4rem 0;color:var(--muted);font-size:.95rem}
    .price{margin-top:.5rem;font-weight:700}
    .split{
      display:grid;gap:1.2rem;grid-template-columns:1.1fr .9fr;align-items:stretch;
    }
    .card{
      background:var(--panel);border:1px solid var(--line);border-radius:.7rem;padding:1.1rem;
    }
    .card h3{font-size:1.5rem}
    .form-grid{display:grid;gap:.9rem}
    label{font-size:.92rem;font-weight:600}
    input,textarea{
      width:100%;padding:.75rem .8rem;border-radius:.45rem;border:1px solid var(--line);
      background:#191919;color:var(--text);font:inherit;
    }
    textarea{min-height:120px;resize:vertical}
    .fine{font-size:.85rem;color:var(--muted)}
    .policies ul{margin:.6rem 0 0 1.1rem;padding:0}
    .policies li{margin:.4rem 0;color:var(--muted)}
    .visit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
    .footer{
      border-top:1px solid var(--line);
      padding:2rem 0 5rem;
      background:var(--bg-soft);
    }
    .footer-links{display:flex;gap:1rem;flex-wrap:wrap}
    .mobile-call{
      position:fixed;left:0;right:0;bottom:0;z-index:30;
      background:#121212;border-top:1px solid var(--line);padding:.6rem 1rem;display:none;
    }
    .mobile-call a{width:100%;text-align:center}
    @media (max-width:900px){
      .split{grid-template-columns:1fr}
      .visit-grid{grid-template-columns:1fr}
      .cat-list{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
    @media (max-width:720px){
      .quicknav{display:none}
      .mobile-call{display:block}
      .hero{padding-top:4.4rem}
    }
    @media (prefers-reduced-motion: reduce){
      *{scroll-behavior:auto}
    }

/* only small tweaks that should override base.css */
  :root {
    color-scheme: dark;
  }
  body {
    color: #f3f5f7;
  }
  p,
  li,
  .fine,
  label,
  input,
  textarea {
    color: #e5e9ef;
  }
  .topbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background: rgba(10, 10, 10, 0.94);
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
  }
  .topbar .brand {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  .topbar .quicknav {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
  }
  .topbar .quicknav a {
    text-decoration: none;
    color: #f5f7fa;
    font-weight: 600;
    padding: 0.2rem 0;
    opacity: 0.96;
  }
  .topbar .quicknav a:focus-visible,
  .topbar .quicknav a:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    color: #ffffff;
    opacity: 1;
  }
  .hero h1 {
    line-height: 1.15;
    text-wrap: balance;
    color: #ffffff;
  }
  .hero p {
    max-width: 62ch;
    color: #e9edf3;
  }
  h2, h3, strong, .meta, .price {
    color: #ffffff;
  }
  a {
    color: #f0f6ff;
  }
  .menu-copy p,
  .card p,
  .card li {
    line-height: 1.6;
  }
  .card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
  }
  input,
  textarea {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.25);
  }
  input::placeholder,
  textarea::placeholder {
    color: #cfd7e3;
  }
  .fine:focus-visible,
  .btn:focus-visible,
  input:focus-visible,
  textarea:focus-visible,
  a:focus-visible,
  button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }
  @media (max-width: 820px) {
    .topbar-inner {
      gap: 0.75rem;
    }
    .topbar .brand {
      width: 100%;
    }
    .topbar .quicknav {
      order: 3;
      width: 100%;
      justify-content: flex-start;
      overflow-x: auto;
      white-space: nowrap;
      padding-bottom: 0.25rem;
      scrollbar-width: thin;
    }
    .topbar .btn {
      margin-left: auto;
    }
  }