:root{--red:#9e1b1b;--red-d:#741212;--cream:#faf6ef;--ink:#2a1d17;--muted:#6b5d55;--olive:#556b2f;--line:#e8dfd2;--max:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.6 Georgia,"Times New Roman",serif;color:var(--ink);background:var(--cream)}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.2;margin:0 0 .5em}
h2{font-size:1.7rem;color:var(--red-d)}
h3{font-size:1.15rem;margin-top:1.2em}
a{color:var(--red)}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

.topbar{background:var(--ink);color:#f3e9dc;font:14px/1.4 system-ui,sans-serif}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 20px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none;font-weight:600}

.site-header{background:#fff;border-bottom:3px solid var(--red);position:sticky;top:0;z-index:10}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 20px}
.brand img{height:64px;width:auto}
.site-nav{display:flex;flex-wrap:wrap;gap:4px 18px;font:600 15px/1 system-ui,sans-serif}
.site-nav a{color:var(--ink);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav a[aria-current]{color:var(--red);border-color:var(--red)}
.navtoggle,.burger{display:none}

.hero{background-size:cover;background-position:center;color:#fff;text-align:center;padding:96px 0 84px}
.hero h1{font-size:clamp(2rem,5vw,3.3rem);margin-bottom:.3em}
.hero p{font-size:1.2rem;max-width:720px;margin:0 auto;opacity:.95}

section{padding:52px 0}
section.wrap{padding:52px 20px}
.lead{font-size:1.25rem;text-align:center;max-width:780px;margin:0 auto 1.4em}
.intro{text-align:center}
.band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;padding:13px 24px;border-radius:4px;font:600 16px/1 system-ui,sans-serif;border:2px solid var(--red)}
.btn:hover{background:var(--red-d);border-color:var(--red-d)}
.btn.ghost{background:transparent;color:var(--red)}
.btn.ghost:hover{background:var(--red);color:#fff}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;color:inherit;text-decoration:none;padding-bottom:16px;transition:transform .15s,box-shadow .15s}
a.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.card img{width:100%;height:210px;object-fit:cover}
.card h2,.card p{padding:0 18px}
.card h2{margin-top:16px}
.cards.small{margin-top:32px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.cards.small img{width:100%;height:180px;object-fit:cover;border-radius:6px}
div.card{padding:22px 0}

.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.stack{display:grid;gap:16px}
.rounded{border-radius:8px;width:100%;object-fit:cover}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:20px}

.list{padding-left:1.1em;margin:0}
.list li{margin:.15em 0}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{background:var(--olive);color:#fff;padding:4px 14px;border-radius:999px;font:600 14px/1.6 system-ui,sans-serif}
.price{list-style:none;padding:0;margin:0}
.price li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted var(--line);padding:7px 0}
.price li span:last-child{font-weight:700;white-space:nowrap}
.note{background:#fff;border-left:4px solid var(--red);padding:14px 18px;margin-top:32px;color:var(--muted)}
.todo{color:var(--muted);font-style:italic}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.gallery img{width:100%;height:230px;object-fit:cover;border-radius:6px}
.quotes{columns:2 340px;column-gap:28px}
blockquote{break-inside:avoid;background:#fff;border:1px solid var(--line);border-radius:6px;margin:0 0 28px;padding:22px 24px}
blockquote p{margin:0 0 .6em}
cite{color:var(--red-d);font-style:normal;font-weight:700}
.faq details{background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:12px;padding:14px 20px}
.faq summary{cursor:pointer;font-weight:700}
.prose{max-width:820px}
.hours{list-style:none;padding:0;margin:0}
.hours li{display:flex;justify-content:space-between;gap:16px}
.hours.big li{border-bottom:1px dotted var(--line);padding:8px 0}

.site-footer{background:var(--ink);color:#e8ddd0;padding:44px 0 0;font-size:15px}
.site-footer h3{color:#fff;margin-top:0}
.site-footer a{color:#f5c9a8}
.site-footer .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.copy{text-align:center;padding:18px;margin-top:32px;border-top:1px solid #3d2e26;font-size:13px;color:#b8aa9d}

@media (max-width:860px){
  .burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
  .burger span{width:26px;height:3px;background:var(--ink);border-radius:2px}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:8px 20px 16px;border-bottom:3px solid var(--red)}
  .navtoggle:checked ~ .site-nav{display:flex}
  .site-header .wrap{position:relative}
  .split,.cols3,.site-footer .cols{grid-template-columns:1fr}
  .brand img{height:50px}
}

/* promo banner, price note, thanksgiving */
.promo{display:block;background:#b5541b;color:#fff;text-align:center;padding:14px 20px;text-decoration:none;font:600 16px/1.4 system-ui,sans-serif}
.promo:hover{background:#94430f}
.callprice{text-align:center;font-size:1.15rem;font-weight:700;color:var(--red-d);margin-top:28px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-top:20px}
.cols2 h2 small{font-size:.9rem;color:var(--muted);font-weight:400}
.small{font-size:.92rem;color:var(--muted)}
.tg-hours{margin:0 0 8px}.tg-hours p{margin:.3em 0}
.dinner{background:#fff;border:2px solid var(--red);border-radius:8px;padding:22px 26px;margin-top:36px}
.card.feature{border:2px solid #b5541b}
@media (max-width:860px){.cols2{grid-template-columns:1fr}}
