:root { --ink:#171412; --paper:#fffdf9; --cream:#f3eee5; --copper:#c88f4a; --muted:#81786e; }
* { box-sizing:border-box; }
html { background:var(--ink); }
body { margin:0; color:#fff; background:#171412; font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.card-header { min-height:106px; padding:1.4rem 6vw; display:flex; align-items:center; justify-content:space-between; gap:2rem; color:#fff; background:var(--ink); border-bottom:1px solid #ffffff30; }
.brand { font-family:"Cormorant Garamond",serif; font-size:1.6rem; font-weight:700; letter-spacing:.05em; line-height:.75; }
.brand span { font-size:.67em; }
.brand small { display:block; margin-top:11px; text-align:center; font:600 .57rem/1 Manrope,sans-serif; letter-spacing:.42em; }
.back-link { padding:.7rem 1rem; border:1px solid #ffffff70; font-size:.86rem; font-weight:700; }
main { padding:3.5rem 5vw 6rem; background:linear-gradient(180deg,#211a15 0,#171412 470px); }
.heading { max-width:900px; margin:0 auto 2.8rem; text-align:center; }
.heading p { margin:0 0 .55rem; color:#e0af70; font-size:.78rem; font-weight:700; letter-spacing:.28em; text-transform:uppercase; }
.heading h1 { margin:0; font:600 clamp(3.5rem,7vw,6rem)/1 "Cormorant Garamond",serif; }
.heading span { display:block; margin-top:1rem; color:#d6c9bd; font-size:1rem; }
.menu-frame { width:min(100%,1120px); margin:0 auto; padding:clamp(1rem,2vw,1.75rem); background:#f3eee5; color:var(--ink); border:1px solid #c88f4a; box-shadow:0 28px 90px #0008; }
.menu-frame-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; padding:.2rem .35rem 1.25rem; border-bottom:1px solid #cbbdab; }
.menu-frame-heading div { display:flex; flex-direction:column; }
.menu-frame-heading span { color:#9a612b; font-size:.78rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.menu-frame-heading strong { font:600 2.35rem/1.1 "Cormorant Garamond",serif; }
.menu-frame-heading p { max-width:420px; margin:0; color:#63594e; font-size:.92rem; text-align:right; }
.menu-sheet { display:block; margin-top:1.5rem; background:#171412; border:1px solid #2b2521; box-shadow:0 12px 35px #2a211840; }
.menu-sheet img { display:block; width:100%; height:auto; }
.menu-sheet:focus-visible { outline:4px solid var(--copper); outline-offset:5px; }
.card-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:1rem; margin:2rem auto 0; }
.button { min-height:54px; padding:.85rem 1.4rem; display:inline-flex; align-items:center; justify-content:center; font-size:.88rem; font-weight:700; }
.primary { background:var(--copper); }
.dark { background:var(--ink); color:#fff; }
footer { padding:2.5rem 6vw; display:flex; justify-content:space-between; gap:2rem; color:#ddd1c4; background:#100e0d; border-top:1px solid #ffffff18; font-size:.78rem; }
.mobile-bar { display:none; }
@media (max-width:700px) {
  body { padding-bottom:63px; }
  .card-header { min-height:86px; padding:1.1rem 5vw; }
  .brand { font-size:1.25rem; }
  .back-link { font-size:.73rem; padding:.55rem .65rem; }
  main { padding:2rem 3vw 4.5rem; }
  .heading { margin-bottom:1.7rem; padding:0 4vw; }
  .heading h1 { font-size:3.7rem; }
  .heading span { font-size:.9rem; }
  .menu-frame { padding:.75rem; }
  .menu-frame-heading { display:block; padding:.4rem .35rem 1rem; }
  .menu-frame-heading strong { font-size:1.65rem; }
  .menu-frame-heading p { margin-top:.65rem; text-align:left; font-size:.9rem; }
  .menu-sheet { margin-top:.75rem; }
  .card-actions { padding:0 4vw; }
  .button { width:100%; }
  footer { padding:2.4rem 6vw; display:block; }
  footer p { margin:.4rem 0; }
  .mobile-bar { position:fixed; z-index:10; left:0; right:0; bottom:0; display:grid; grid-template-columns:1fr 1fr; text-align:center; background:var(--ink); color:#fff; }
  .mobile-bar a { padding:1rem; font-size:.82rem; font-weight:700; border-right:1px solid #ffffff25; }
  .mobile-bar a:last-child { color:var(--ink); background:var(--copper); }
}
