:root {
  color-scheme: dark;
  --ink: #090908;
  --panel: #151411;
  --gold: #e5b33c;
  --gold-bright: #ffd66d;
  --gold-dim: #8e6a20;
  --cream: #fff8e6;
  --muted: #c9c1b0;
  --line: rgba(229, 179, 60, 0.27);
  --shadow: 0 20px 55px rgba(0, 0, 0, 0.28);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }

.paypal-test-banner {
  position: sticky;
  top: 0;
  z-index: 10000;
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.7rem 1rem;
  background: #fff1a8;
  color: #251c00;
  text-align: center;
  font-size: 0.9rem;
}
.paypal-test-banner strong { letter-spacing: 0.08em; }
@media (max-width: 640px) { .paypal-test-banner { display: grid; gap: 0.15rem; } }

body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 10% 20%, rgba(229, 179, 60, 0.055), transparent 26rem),
    radial-gradient(circle at 90% 55%, rgba(229, 179, 60, 0.04), transparent 24rem),
    var(--ink);
  color: var(--cream);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.55;
}

a { color: inherit; }
img { display: block; max-width: 100%; }
.wrap { width: min(1160px, calc(100% - 2rem)); margin-inline: auto; }

.masthead {
  position: relative;
  min-height: 28rem;
  display: grid;
  align-items: end;
  overflow: hidden;
  border-bottom: 1px solid var(--gold-dim);
}

.hero-art, .hero-shade { position: absolute; inset: 0; }
.hero-art img { width: 100%; height: 100%; object-fit: cover; object-position: 72% 29%; filter: saturate(0.92) contrast(1.08); }
.hero-shade {
  background:
    linear-gradient(90deg, rgba(6, 6, 5, 0.98) 0%, rgba(6, 6, 5, 0.9) 38%, rgba(6, 6, 5, 0.42) 67%, rgba(6, 6, 5, 0.14) 100%),
    linear-gradient(0deg, var(--ink) 0%, transparent 45%);
}
.hero-content { position: relative; z-index: 1; padding-block: 4rem 3.25rem; }

.eyebrow, .kicker, .footer-label {
  margin: 0 0 0.5rem;
  color: var(--gold-bright);
  font-size: 0.78rem;
  font-weight: 760;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

h1, h2, .footer-brand { font-family: Georgia, "Times New Roman", serif; }
h1 {
  margin: 0;
  max-width: 11ch;
  color: var(--gold-bright);
  font-size: clamp(3.4rem, 11vw, 7.7rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 0.86;
  text-shadow: 0 4px 24px rgba(0, 0, 0, 0.55);
}
.hero-title { margin: 1rem 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.5rem, 4vw, 2.35rem); letter-spacing: 0.13em; text-transform: uppercase; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 1.7rem; }
.hero-meta span { padding: 0.5rem 0.85rem; border: 1px solid rgba(255, 214, 109, 0.45); border-radius: 999px; background: rgba(7, 7, 6, 0.68); font-size: 0.9rem; font-weight: 700; backdrop-filter: blur(8px); }

.category-nav { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(9, 9, 8, 0.92); backdrop-filter: blur(14px); }
.category-track { display: flex; gap: 0.45rem; overflow-x: auto; padding-block: 0.7rem; scrollbar-width: none; }
.category-track::-webkit-scrollbar { display: none; }
.category-track a { flex: 0 0 auto; padding: 0.54rem 0.82rem; border: 1px solid rgba(229, 179, 60, 0.25); border-radius: 999px; color: var(--muted); font-size: 0.88rem; font-weight: 700; text-decoration: none; transition: border-color 160ms ease, color 160ms ease, background 160ms ease; }
.category-track a:hover, .category-track a:focus-visible { border-color: var(--gold); background: rgba(229, 179, 60, 0.12); color: var(--cream); outline: none; }

.online-ordering-status { border-bottom: 1px solid #e98d80; background: linear-gradient(135deg, #8d2f25, #551c17); color: white; }
.online-ordering-status .wrap { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-block: 1rem; }
.online-ordering-status div div { display: grid; gap: .12rem; }
.online-ordering-status strong { font-size: 1.05rem; }
.online-ordering-status span { color: #ffe1dc; }
.online-ordering-status a { flex: 0 0 auto; padding: .7rem .95rem; border: 1px solid white; border-radius: 999px; background: white; color: #5d1e18; font-weight: 900; text-decoration: none; }
.online-ordering-paused .cart-fab { display: none !important; }
.online-ordering-paused .order-start { border-color: #e98d80; background: #6e2922; color: white; box-shadow: none; }

main { padding-block: 2.5rem 5rem; }
.pinsa-note { display: grid; grid-template-columns: auto 1fr; gap: 1.15rem; align-items: start; margin-bottom: 4rem; padding: 1.35rem; border: 1px solid var(--line); border-radius: 1.1rem; background: linear-gradient(135deg, rgba(229, 179, 60, 0.1), rgba(229, 179, 60, 0.02)); box-shadow: var(--shadow); }
.note-mark { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); font-family: Georgia, serif; font-size: 1.45rem; }
.pinsa-note h2 { margin: 0 0 0.25rem; color: var(--gold-bright); font-size: 1.35rem; }
.pinsa-note p { margin: 0; color: var(--muted); }

.glutenfree-card { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.15rem; align-items: start; margin: -2.75rem 0 4rem; padding: 1.35rem; border: 1px solid rgba(255, 214, 109, 0.55); border-radius: 1.1rem; background: linear-gradient(135deg, rgba(229, 179, 60, 0.14), rgba(229, 179, 60, 0.025)); box-shadow: var(--shadow); }
.gf-mark { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border: 2px solid var(--gold-bright); border-radius: 50%; color: var(--gold-bright); font-family: Georgia, "Times New Roman", serif; font-size: 1rem; font-weight: 800; letter-spacing: 0.04em; }
.gf-content h2 { margin: 0 0 0.35rem; color: var(--gold-bright); font-size: 1.55rem; }
.gf-content > p:not(.kicker):not(.gf-price):not(.gf-warning) { margin: 0; color: var(--muted); }
.gf-price { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin: 1rem 0; padding: 0.85rem 1rem; border: 1px solid var(--gold-dim); border-radius: 0.8rem; background: rgba(0, 0, 0, 0.25); }
.gf-price span { color: var(--cream); font-weight: 700; }
.gf-price strong { flex: 0 0 auto; color: var(--gold-bright); font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; white-space: nowrap; }
.gf-warning { margin: 0; padding: 0.85rem 1rem; border-left: 3px solid var(--gold); background: rgba(0, 0, 0, 0.2); color: var(--muted); font-size: 0.9rem; }
.gf-warning strong { color: var(--cream); }

.menu-section { scroll-margin-top: 5rem; margin-top: 4.75rem; }
.section-heading { position: relative; display: flex; flex-wrap: wrap; align-items: end; gap: 0.25rem 1rem; margin-bottom: 1.2rem; padding-bottom: 0.85rem; border-bottom: 1px solid var(--gold-dim); }
.section-heading::after { content: ""; position: absolute; bottom: -2px; left: 0; width: 5.5rem; height: 3px; background: var(--gold-bright); box-shadow: 0 0 18px rgba(255, 214, 109, 0.55); }
.section-heading .kicker { flex: 0 0 100%; }
.section-heading h2 { margin: 0; color: var(--gold-bright); font-size: clamp(2rem, 5vw, 3.1rem); font-weight: 500; letter-spacing: -0.035em; line-height: 1; }
.price-key { display: grid; grid-template-columns: repeat(2, 4.75rem); width: 9.85rem; gap: 0.35rem; margin-left: auto; color: var(--gold); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-align: center; text-transform: uppercase; }
.price-key-three { grid-template-columns: repeat(3, 4.75rem); width: 14.95rem; }

.menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.72rem; }
.menu-stack { display: grid; gap: 0.72rem; }
.menu-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: start; min-height: 6.7rem; padding: 1.15rem; border: 1px solid rgba(255, 255, 255, 0.075); border-radius: 0.85rem; background: linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.018)); }
.menu-item.featured { border-color: rgba(229, 179, 60, 0.43); background: linear-gradient(145deg, rgba(229, 179, 60, 0.105), rgba(255, 255, 255, 0.018)); }
.menu-item h3 { margin: 0; font-size: 1.02rem; font-weight: 820; letter-spacing: 0.018em; line-height: 1.25; text-transform: uppercase; }
.menu-item h3 small { color: var(--muted); font-size: 0.66rem; font-weight: 650; letter-spacing: 0; white-space: nowrap; }
.menu-item p { margin: 0.34rem 0 0; color: var(--muted); font-size: 0.9rem; line-height: 1.4; }
.prices { display: grid; grid-template-columns: repeat(2, 4.75rem); gap: 0.35rem; color: var(--cream); font-family: Georgia, "Times New Roman", serif; font-size: 1.06rem; font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; }
.prices span { display: block; text-align: center; }
.prices-three { grid-template-columns: repeat(3, 4.75rem); text-align: center; }
.prices-three span { display: block; text-align: center; }
.single-price { color: var(--gold-bright); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dual-price { display: grid; gap: 0.18rem; color: var(--gold-bright); font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.dual-price strong { color: var(--gold-bright); font-size: 1.38rem; line-height: 1.1; }
.dual-price small { color: var(--muted); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 0.78rem; font-weight: 750; }
.hot { display: inline-block; padding: 0.12rem 0.38rem; border: 1px solid rgba(211, 74, 57, 0.6); border-radius: 999px; color: #ff8f80; font-size: 0.61rem; letter-spacing: 0.05em; text-transform: uppercase; vertical-align: 0.1rem; }
.veg { display: inline-block; padding: 0.12rem 0.38rem; border: 1px solid rgba(80, 180, 105, 0.65); border-radius: 999px; background: rgba(80, 180, 105, 0.1); color: #9be2aa; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 0.61rem; font-weight: 800; letter-spacing: 0.05em; line-height: 1.35; text-transform: uppercase; vertical-align: 0.1rem; }
.best { display: inline-block; padding: 0.12rem 0.38rem; border: 1px solid rgba(255, 214, 109, 0.72); border-radius: 999px; background: rgba(229, 179, 60, 0.14); color: var(--gold-bright); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 0.61rem; font-weight: 800; letter-spacing: 0.05em; line-height: 1.35; text-transform: uppercase; vertical-align: 0.1rem; }
.top-best { display: inline-block; padding: 0.14rem 0.44rem; border: 1px solid var(--gold-bright); border-radius: 999px; background: var(--gold); color: #181208; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 0.61rem; font-weight: 900; letter-spacing: 0.05em; line-height: 1.35; text-transform: uppercase; vertical-align: 0.1rem; box-shadow: 0 0 14px rgba(255, 214, 109, 0.25); }
.new-badge { display: inline-block; padding: 0.14rem 0.44rem; border: 1px solid #78c990; border-radius: 999px; background: rgba(55, 150, 83, 0.18); color: #a9edbb; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: 0.61rem; font-weight: 900; letter-spacing: 0.06em; line-height: 1.35; text-transform: uppercase; vertical-align: 0.1rem; }
.nutella-pricing { display: grid; gap: 0.34rem; justify-items: end; }
.nutella-pricing .price-key { margin-left: 0; }

.extras, .allergens, .original-menu, .drink-details, .dressing-details { margin-top: 1rem; border: 1px solid var(--line); border-radius: 0.9rem; background: var(--panel); }
.original-menu { margin: 0 0 4rem; overflow: hidden; box-shadow: var(--shadow); }
.original-menu > summary { font-size: 1rem; letter-spacing: 0.02em; }
.original-hint { margin: -0.25rem 1rem 1rem; color: var(--muted); font-size: 0.88rem; }
summary { cursor: pointer; padding: 1rem 1.15rem; color: var(--gold-bright); font-weight: 780; }
summary:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 2px; }
.extras-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; padding: 0 1.15rem 1rem; }
.extras-grid p { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: 0.65rem 0; border-top: 1px dotted var(--line); color: var(--muted); }
.extras-grid strong { color: var(--cream); white-space: nowrap; }
.extras-table-wrap { margin: 0 1rem; border-color: rgba(255, 255, 255, 0.08); }
.extras-note { margin: 0; padding: 0.9rem 1.15rem 1.1rem; color: var(--muted); font-size: 0.88rem; }

.antipasti-layout { display: grid; grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.28fr); gap: 1.25rem; align-items: stretch; }
.antipasti-menu { display: grid; align-content: center; gap: 0.65rem; }
.antipasti-photo { display: grid; place-items: center; min-height: 14rem; margin: 0; padding: 1rem; overflow: hidden; border: 1px solid var(--line); border-radius: 0.9rem; background: radial-gradient(circle at 50% 50%, rgba(229, 179, 60, 0.1), transparent 60%), var(--panel); box-shadow: var(--shadow); }
.antipasti-photo img { width: min(30rem, 100%); filter: drop-shadow(0 16px 20px rgba(0, 0, 0, 0.4)); }
.trace-note { margin: 0; color: var(--muted); font-size: 0.82rem; text-align: right; }
.dish-photo { margin-top: 0.75rem; overflow: hidden; border: 1px solid var(--line); border-radius: 0.7rem; background: rgba(0, 0, 0, 0.24); }
.dish-photo summary { padding: 0.58rem 0.75rem; color: var(--gold-bright); font-size: 0.8rem; font-weight: 800; letter-spacing: 0.04em; }
.dish-photo img { width: 100%; max-height: 23rem; object-fit: contain; border-top: 1px solid var(--line); background: #181816; }
.product-info-content { padding: 0 0.8rem 0.75rem; border-top: 1px solid var(--line); }
.product-info-content p { margin-top: 0.7rem; }
.product-info-content strong { color: var(--cream); }

.split-sections { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: 1.5rem; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 0.9rem; background: var(--panel); }
table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
th, td { padding: 0.83rem 1rem; border-bottom: 1px solid rgba(255, 255, 255, 0.07); text-align: left; }
th { color: var(--gold-bright); font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; }
td:nth-child(2), td:nth-child(3), td:nth-child(4), th:nth-child(2), th:nth-child(3), th:nth-child(4) { text-align: right; white-space: nowrap; }
tbody tr:last-child td { border-bottom: 0; }
.fineprint { margin: 0.75rem 0 0; color: var(--muted); font-size: 0.9rem; text-align: right; }
.drink-details { overflow: hidden; }
.drink-details > summary { font-size: 1rem; letter-spacing: 0.02em; }
.drink-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; padding: 0 1rem 1rem; }
.drink-info { padding: 1rem; border: 1px solid rgba(255, 255, 255, 0.075); border-radius: 0.75rem; background: rgba(255, 255, 255, 0.025); }
.drink-info h3 { margin: 0 0 0.55rem; color: var(--cream); font-size: 0.96rem; line-height: 1.35; text-transform: uppercase; }
.drink-info p { margin: 0.36rem 0 0; color: var(--muted); font-size: 0.86rem; line-height: 1.45; }
.drink-info strong { color: var(--cream); }
.allergen-badge { display: inline-grid; place-items: center; min-width: 1.5rem; min-height: 1.5rem; margin-left: 0.25rem; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); font-size: 0.72rem; vertical-align: 0.08rem; }
.allergen-badge.compact { min-width: 1.25rem; min-height: 1.25rem; font-size: 0.66rem; }
.drink-info .drink-warning { color: #ffd987; font-weight: 720; }
.drink-label-note { margin: 0; padding: 0.2rem 1.15rem 1.2rem; color: var(--muted); font-size: 0.86rem; line-height: 1.5; }
.drink-label-note strong { color: var(--gold-bright); }
.salad-service-note { display: grid; gap: 0.35rem; margin-top: 1rem; padding: 1rem 1.15rem; border: 1px solid rgba(229, 179, 60, 0.42); border-radius: 0.9rem; background: linear-gradient(145deg, rgba(229, 179, 60, 0.11), rgba(255, 255, 255, 0.02)); color: var(--muted); font-size: 0.92rem; line-height: 1.5; }
.salad-service-note strong { color: var(--gold-bright); font-size: 0.98rem; }
.salad-service-note b { color: var(--cream); }
.dressing-details { overflow: hidden; }
.dressing-details > summary { font-size: 1rem; letter-spacing: 0.02em; }
.dressing-content { padding: 0 1.15rem 1.15rem; }
.dressing-content p { margin: 0.5rem 0 0; color: var(--muted); font-size: 0.9rem; line-height: 1.55; }
.dressing-content strong, .allergen-list { color: var(--cream); }
.dressing-content .dressing-hint { color: #ffd987; font-weight: 700; }

.info-section { scroll-margin-top: 5rem; margin-top: 4.75rem; }
.thank-you { margin-top: 4.75rem; overflow: hidden; border: 1px solid var(--gold-dim); border-radius: 1rem; background: #030303; box-shadow: var(--shadow); }
.thank-you img { width: 100%; height: auto; }
.allergen-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; padding: 0 1.2rem 1.3rem; }
.allergen-columns h3 { margin: 0.35rem 0 0.75rem; color: var(--gold); font-family: Georgia, serif; font-size: 1.25rem; }
.allergen-columns ol { columns: 2; margin: 0; padding-left: 1.65rem; color: var(--muted); }
.allergen-columns li { break-inside: avoid; padding: 0.13rem 0; }
.allergen-columns dl { display: grid; gap: 0.3rem; margin: 0; }
.allergen-columns dl div { display: grid; grid-template-columns: 1.5rem 1fr; gap: 0.45rem; color: var(--muted); }
.allergen-columns dt { color: var(--gold-bright); font-weight: 800; }
.allergen-columns dd { margin: 0; }
.legal-food-note { margin: 0; padding: 0 1.2rem 1.3rem; color: var(--muted); font-size: 0.86rem; line-height: 1.55; }
.legal-food-note strong { color: var(--cream); }
.price-legal-note { margin: 1rem 0 0; padding: 0.9rem 1rem; border-left: 3px solid var(--gold); background: rgba(229, 179, 60, 0.07); color: var(--muted); font-size: 0.88rem; line-height: 1.5; }
.original-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 0 1rem 1rem; }
.original-grid a { display: block; overflow: hidden; border-radius: 0.6rem; }
.original-grid img { width: 100%; border: 1px solid var(--line); border-radius: 0.6rem; transition: transform 180ms ease, border-color 180ms ease; }
.original-grid a:hover img, .original-grid a:focus-visible img { border-color: var(--gold-bright); transform: scale(1.01); }

footer { position: relative; padding-block: 3rem 4.5rem; border-top: 1px solid var(--gold-dim); background: #050504; }
.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 2rem; }
.footer-grid p { margin: 0; color: var(--muted); }
.footer-grid strong { color: var(--cream); }
.footer-brand { margin: 0 !important; color: var(--gold-bright) !important; font-size: 2rem; line-height: 1; }
.phone { display: inline-block; margin-bottom: 0.35rem; color: var(--gold-bright); font-size: 1.15rem; font-weight: 850; text-decoration: none; }
.phone:hover, .phone:focus-visible { text-decoration: underline; }
.legal-links { display: flex; flex-wrap: wrap; gap: 0.7rem 1.3rem; margin-top: 1.8rem; }
.legal-links a { color: var(--cream); font-size: 0.9rem; font-weight: 750; text-underline-offset: 0.2em; }
.back-top { position: absolute; right: 1rem; bottom: 1rem; color: var(--gold); font-size: 0.82rem; }

.legal-page { min-height: 100vh; background: var(--ink); }
.legal-header { padding: 2rem 0 2.5rem; border-bottom: 1px solid var(--gold-dim); background: radial-gradient(circle at 15% 0%, rgba(229, 179, 60, 0.13), transparent 38%), #070706; }
.legal-header .eyebrow { margin: 2.4rem 0 0.45rem; }
.legal-header h1 { margin: 0; color: var(--gold-bright); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.3rem, 7vw, 4.5rem); font-weight: 500; line-height: 1; }
.legal-back { color: var(--cream); font-weight: 750; text-decoration: none; }
.legal-back:hover, .legal-back:focus-visible { color: var(--gold-bright); text-decoration: underline; }
.legal-content { max-width: 850px; padding-block: 2.7rem 4.5rem; }
.legal-content section { margin-top: 2.25rem; }
.legal-content section:first-child { margin-top: 0; }
.legal-content h2 { margin: 0 0 0.7rem; color: var(--gold-bright); font-family: Georgia, "Times New Roman", serif; font-size: 1.45rem; font-weight: 500; }
.legal-content p { margin: 0.6rem 0 0; color: var(--muted); line-height: 1.7; }
.legal-content strong { color: var(--cream); }
.legal-content a { color: var(--gold-bright); overflow-wrap: anywhere; }
.legal-updated { margin-top: 3rem !important; font-size: 0.86rem; }
.legal-footer { padding-block: 1.5rem 2.5rem; }
.legal-footer .legal-links { margin-top: 0; }

.hero-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; }
.order-start, .call-start, .loyalty-start { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; padding: 0.85rem 1.2rem; border: 1px solid var(--gold-bright); border-radius: 999px; font: inherit; font-weight: 900; text-decoration: none; cursor: pointer; }
.order-start { background: var(--gold); color: #171107; box-shadow: 0 10px 28px rgba(229,179,60,.22); }
.call-start { background: rgba(7,7,6,.72); color: var(--gold-bright); backdrop-filter: blur(8px); }
.call-start { flex-direction: column; gap: .08rem; line-height: 1.05; }
.call-start small { color: var(--cream); font-size: .72rem; font-weight: 750; }
.call-start:hover, .call-start:focus-visible { background: rgba(229,179,60,.14); outline: none; }
.loyalty-start { background: rgba(60,155,99,.88); border-color:#72d596; color:white; }
.loyalty-start[hidden] { display:none; }
.call-dialog { width: min(31rem, calc(100% - 1rem)); }
.call-dialog-body { text-align: center; }
.call-dialog-body > p:not(.call-number):not(.copy-status) { color: var(--muted); line-height: 1.55; }
.call-number { margin: .35rem 0 .65rem; color: var(--gold-bright); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2rem, 9vw, 3rem); font-weight: 650; }
.call-options { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin-top: 1.2rem; }
.call-now-action { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.secondary-action { min-height: 3rem; padding: .7rem 1rem; border: 1px solid var(--gold); border-radius: .7rem; background: transparent; color: var(--gold-bright); font: inherit; font-weight: 850; cursor: pointer; }
.copy-status { min-height: 1.3rem; margin: .8rem 0 0; color: var(--gold-bright); font-size: .88rem; font-weight: 750; }
.order-item-button { grid-column: 1 / -1; justify-self: end; min-height: 2.65rem; padding: .55rem .9rem; border: 1px solid var(--gold); border-radius: 999px; background: rgba(229,179,60,.12); color: var(--gold-bright); font: inherit; font-size: .86rem; font-weight: 850; cursor: pointer; }
.order-item-button.direct { background: var(--gold); color: #171107; }
.menu-item.product-unavailable { opacity: .66; border-color: rgba(207,95,80,.45); }
.menu-item.product-unavailable .order-item-button { border-color: #cf5f50; background: rgba(207,95,80,.12); color: #ffb0a5; cursor: not-allowed; }
.sold-out-label { display: inline-block; margin-top: .5rem; color: #ffb0a5; font-size: .78rem; }
.drink-stepper { float: right; display: inline-flex; align-items: center; gap: .35rem; margin-left: .7rem; }
.drink-stepper output { min-width: 1.2rem; color: var(--cream); text-align: center; font-size: .85rem; font-weight: 850; }
.drink-quantity { display: grid; width: 2rem; height: 2rem; padding: 0; place-items: center; border: 1px solid var(--gold); border-radius: 50%; background: rgba(229,179,60,.12); color: var(--gold-bright); font: inherit; font-size: 1.15rem; font-weight: 900; cursor: pointer; }
.drink-quantity:disabled { border-color: rgba(255,255,255,.14); color: var(--muted); cursor: not-allowed; opacity: .55; }
.cart-fab { position: fixed; right: 1rem; bottom: 1rem; z-index: 45; display: flex; gap: .65rem; align-items: center; padding: .75rem 1rem; border: 1px solid var(--gold-bright); border-radius: 999px; background: var(--gold); color: #171107; font: inherit; font-weight: 850; cursor: pointer; box-shadow: 0 15px 42px rgba(0,0,0,.55); }
.cart-fab[hidden] { display: none; }
.cart-fab strong { display: grid; min-width: 1.5rem; height: 1.5rem; place-items: center; border-radius: 50%; background: #171107; color: var(--gold-bright); font-size: .8rem; }
.cart-fab b { padding-left: .6rem; border-left: 1px solid rgba(23,17,7,.35); }
dialog { width: min(42rem, calc(100% - 1rem)); max-height: calc(100dvh - 1rem); padding: 0; border: 1px solid var(--gold-dim); border-radius: 1.15rem; background: var(--panel); color: var(--cream); box-shadow: 0 30px 100px rgba(0,0,0,.75); }
dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(5px); }
.dialog-shell { display: grid; max-height: calc(100dvh - 1rem); margin: 0; }
.dialog-header, .dialog-actions { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.15rem; background: #0d0c0a; }
.dialog-header { border-bottom: 1px solid var(--line); }
.dialog-header h2 { margin: 0; color: var(--gold-bright); font-size: 1.65rem; line-height: 1.05; }
.dialog-header .kicker { margin-bottom: .25rem; }
.icon-close { display: grid; flex: 0 0 auto; width: 2.6rem; height: 2.6rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--cream); font-size: 1.7rem; cursor: pointer; }
.dialog-body { overflow-y: auto; padding: 1rem 1.15rem; }
.product-description, .field-help { margin: 0 0 1rem; color: var(--muted); }
fieldset { margin: 1.2rem 0 0; padding: .9rem; border: 1px solid var(--line); border-radius: .8rem; }
legend { padding: 0 .4rem; color: var(--gold-bright); font-weight: 850; }
.field-help { font-size: .84rem; }
.choice-grid, .check-grid, .extra-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
.choice, .check-grid label, .extra-grid label, .marketing-consent { cursor: pointer; }
.choice > span, .check-grid label, .extra-grid label { display: flex; justify-content: space-between; gap: .5rem; align-items: center; min-height: 2.75rem; padding: .6rem .7rem; border: 1px solid rgba(255,255,255,.09); border-radius: .65rem; background: rgba(255,255,255,.025); }
.choice input, .check-grid input, .extra-grid input { position: absolute; opacity: 0; pointer-events: none; }
.choice input:checked + span, .check-grid label:has(input:checked), .extra-grid label:has(input:checked) { border-color: var(--gold); background: rgba(229,179,60,.13); }
.choice em { color: var(--gold-bright); font-style: normal; font-weight: 800; }
.extra-grid b { color: var(--gold-bright); font-size: .82rem; white-space: nowrap; }
.ingredient-adjust-list { display: grid; gap: .65rem; }
.ingredient-adjust { display: grid; gap: .45rem; padding: .65rem; border: 1px solid rgba(255,255,255,.09); border-radius: .65rem; background: rgba(255,255,255,.025); }
.ingredient-adjust > strong { color: var(--cream); font-size: .9rem; }
.ingredient-adjust > strong small { display:block; margin-top:.2rem; color:#ffb0a5; font-size:.76rem; }
.ingredient-unavailable { border-color:rgba(207,95,80,.5); background:rgba(207,95,80,.08); }
.ingredient-unavailable .ingredient-buttons label:not(:has(input:checked)) { opacity:.38; }
.availability-warning { margin:0 0 1rem; padding:.9rem; border:1px solid rgba(207,95,80,.55); border-radius:.7rem; background:rgba(207,95,80,.1); }
.availability-warning > strong { color:#ffb0a5; }
.availability-warning p { margin:.35rem 0 .75rem; color:var(--muted); font-size:.86rem; }
.availability-warning label { display:grid; grid-template-columns:1.25rem 1fr; gap:.55rem; align-items:start; color:var(--cream); font-size:.86rem; cursor:pointer; }
.availability-warning input { width:1.1rem; height:1.1rem; margin:.1rem 0 0; accent-color:var(--gold); }
.ingredient-buttons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .35rem; }
.ingredient-buttons label { cursor: pointer; }
.ingredient-buttons input { position: absolute; opacity: 0; pointer-events: none; }
.ingredient-buttons span { display: grid; min-height: 2.35rem; place-items: center; padding: .4rem; border: 1px solid rgba(255,255,255,.11); border-radius: .55rem; color: var(--muted); font-size: .8rem; font-weight: 800; }
.ingredient-buttons input:checked + span { border-color: var(--gold); background: rgba(229,179,60,.13); color: var(--gold-bright); }
.special-request, .quantity-row, .checkout-fields label { display: grid; gap: .35rem; margin-top: 1.1rem; color: var(--cream); font-weight: 750; }
.quantity-row { grid-template-columns: 1fr 5rem; align-items: center; }
input, textarea { width: 100%; padding: .72rem .78rem; border: 1px solid rgba(255,255,255,.15); border-radius: .6rem; background: #0c0b09; color: var(--cream); font: inherit; }
input:focus, textarea:focus { border-color: var(--gold); outline: 2px solid rgba(229,179,60,.2); }
.dialog-actions { border-top: 1px solid var(--line); }
.dialog-actions > div { display: grid; }
.dialog-actions span { color: var(--muted); font-size: .8rem; }
.dialog-actions strong { color: var(--gold-bright); font-family: Georgia,serif; font-size: 1.4rem; }
.primary-action { min-height: 3rem; padding: .7rem 1rem; border: 0; border-radius: .7rem; background: var(--gold); color: #171107; font: inherit; font-weight: 900; cursor: pointer; }
.cart-items { display: grid; gap: .6rem; }
.cart-line { display: flex; justify-content: space-between; gap: .8rem; padding: .8rem; border: 1px solid rgba(255,255,255,.08); border-radius: .7rem; }
.cart-line p { margin: .2rem 0 0; color: var(--muted); font-size: .82rem; }
.cart-line > div:last-child { flex: 0 0 auto; text-align: right; }
.cart-line button { display: block; margin: .35rem 0 0 auto; padding: 0; border: 0; background: transparent; color: #ff9a8e; cursor: pointer; }
.empty-cart { color: var(--muted); text-align: center; }
.back-to-menu { width: 100%; margin-top: .8rem; }
.dessert-offer-dialog { width: min(50rem, calc(100% - 1rem)); }
.dessert-offer-intro { margin: 0 0 1rem; color: var(--muted); }
.dessert-offer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.dessert-offer-card { display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; border: 1px solid var(--line); border-radius: .85rem; background: rgba(255,255,255,.025); }
.dessert-offer-card.product-unavailable { opacity: .58; }
.dessert-offer-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.dessert-offer-placeholder { display: grid; aspect-ratio: 4 / 3; place-items: center; background: radial-gradient(circle at 50% 35%, rgba(229,179,60,.18), rgba(229,179,60,.035)); color: var(--gold-bright); font-family: Georgia,serif; font-size: 1.2rem; text-align: center; }
.dessert-offer-copy { display: grid; align-content: start; gap: .3rem; padding: .8rem; }
.dessert-offer-copy h3 { margin: 0; color: var(--cream); font-size: 1rem; line-height: 1.2; }
.dessert-offer-copy p { margin: 0; color: var(--muted); font-size: .8rem; }
.dessert-offer-card .dessert-add { min-height: 2.7rem; margin: 0 .8rem .8rem; padding: .55rem .7rem; border: 1px solid var(--gold); border-radius: .65rem; background: rgba(229,179,60,.12); color: var(--gold-bright); font: inherit; font-size: .84rem; font-weight: 850; cursor: pointer; }
.dessert-offer-card .dessert-add.added { border-color: #68b784; background: rgba(65,145,94,.15); color: #9ee0b4; }
.dessert-offer-card .dessert-add:disabled { cursor: not-allowed; opacity: .65; }
.dessert-offer-actions, .monthly-popup-actions { justify-content: space-between; }
.monthly-popup-dialog { width: min(38rem, calc(100% - 1rem)); }
.monthly-campaign-image { display: block; width: 100%; border: 1px solid var(--gold-dim); border-radius: .85rem; }
.monthly-popup-card { padding: 1.15rem; border: 1px solid var(--gold-dim); border-radius: .85rem; background: linear-gradient(135deg, rgba(197,151,55,.15), rgba(255,255,255,.025)); }
.monthly-popup-card h3 { margin: 0 0 .55rem; color: var(--gold-bright); font-family: Georgia,serif; font-size: clamp(1.5rem,5vw,2rem); }
.monthly-popup-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.monthly-popup-prices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .45rem; margin-top: 1rem; }
.monthly-popup-prices span { display: grid; gap: .15rem; padding: .65rem .45rem; border: 1px solid rgba(229,179,60,.25); border-radius: .6rem; color: var(--muted); font-size: .72rem; text-align: center; }
.monthly-popup-prices strong { color: var(--cream); font-size: .95rem; }
.fulfilment-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; margin-top: 1rem; }
.fulfilment-card { position: relative; display: grid; gap: .15rem; padding: .8rem; border: 1px solid var(--line); border-radius: .7rem; cursor: pointer; }
.fulfilment-card:has(input:checked) { border-color: var(--gold-bright); background: rgba(229,179,60,.12); }
.fulfilment-card input { position: absolute; opacity: 0; }
.fulfilment-card span { color: var(--muted); font-size: .78rem; }
.fulfilment-card.disabled { opacity: .5; cursor: not-allowed; }
.large-order-hint, .delivery-hint, .payment-note, .order-validity { margin: .7rem 0 0; padding: .8rem; border-left: 3px solid var(--gold); background: rgba(229,179,60,.07); color: var(--muted); font-size: .86rem; }
.checkout-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 .8rem; }
.checkout-fields small { color: var(--muted); font-weight: 500; }
.delivery-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 .8rem; grid-column:1/-1; }
.delivery-fields[hidden] { display:none; }
.delivery-price { display:grid; grid-template-columns:1fr auto; gap:.35rem 1rem; margin:.8rem 0 0; padding:.8rem; border:1px solid var(--line); border-radius:.7rem; color:var(--muted); }
.delivery-price strong { color:var(--cream); text-align:right; }
.payment-note { display: grid; gap: .2rem; }
.payment-note strong { color: var(--gold-bright); }
.payment-note.cash-only { border-left-color: #cf5f50; background: rgba(207,95,80,.09); }
.payment-note.cash-only strong { color: #ffb0a5; }
.marketing-consent, .terms-consent, .loyalty-consent { display: grid; grid-template-columns: 1.4rem 1fr; gap: .65rem; align-items: start; margin-top: 1rem; color: var(--muted); font-size: .86rem; }
.marketing-consent input, .terms-consent input, .loyalty-consent input { width: 1.2rem; height: 1.2rem; margin-top: .1rem; accent-color: var(--gold); }
.loyalty-consent { padding:.85rem; border:1px solid rgba(229,179,60,.38); border-radius:.7rem; background:rgba(229,179,60,.07); cursor:pointer; }
.loyalty-consent[hidden] { display:none; }
.loyalty-consent strong { color:var(--gold-bright); }
.terms-consent a { color: var(--gold-bright); }
.order-validity { border-left-color: #cf5f50; }
.whatsapp-action { background: #25d366; color: #062810; }
.send-actions { display: flex !important; grid-auto-flow: column; gap: .55rem; }
.email-action { white-space: nowrap; }
.legal-notice-dialog { width: min(34rem, calc(100% - 1rem)); }
html.legal-gate-open, html.legal-gate-open body { overflow: hidden; }
.legal-notice-shell .dialog-body { padding: 1.35rem; }
.legal-notice-shell h2 { margin: 0 0 .75rem; color: var(--gold-bright); font-family: Georgia,serif; font-size: 1.75rem; }
.legal-notice-shell p:not(.kicker) { color: var(--muted); }
.notice-links { display: flex; flex-wrap: wrap; gap: .6rem 1rem; margin-top: 1rem; }
.notice-links a { color: var(--gold-bright); font-weight: 750; }
.legal-notice-shell .dialog-actions { justify-content: flex-end; }
.gate-consent { display: grid; grid-template-columns: 1.4rem 1fr; gap: .65rem; align-items: start; margin-top: 1.1rem; padding: .85rem; border: 1px solid var(--line); border-radius: .7rem; color: var(--cream); font-size: .88rem; cursor: pointer; }
.gate-consent input { width: 1.2rem; height: 1.2rem; margin-top: .1rem; accent-color: var(--gold); }
.primary-action:disabled { opacity: .45; cursor: not-allowed; }

.about-section { margin-top: 5rem; scroll-margin-top: 5rem; }
.insights-section { margin-top: 5rem; scroll-margin-top: 5rem; }
.insights-details { overflow: hidden; border: 1px solid var(--gold-dim); border-radius: 1rem; background: radial-gradient(circle at 8% 0%, rgba(229,179,60,.13), transparent 32rem), var(--panel); box-shadow: var(--shadow); }
.insights-details > summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 4.5rem; padding: 1.1rem 1.25rem; list-style: none; }
.insights-details > summary::-webkit-details-marker { display: none; }
.insights-details > summary span { color: var(--gold-bright); font-size: 1.05rem; }
.insights-details > summary small { color: var(--muted); font-weight: 650; }
.insights-details > summary::after { content: "+"; display: grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-bright); font-size: 1.35rem; line-height: 1; }
.insights-details[open] > summary::after { content: "−"; }
.insights-intro { padding: 1rem 1.25rem 0; border-top: 1px solid var(--line); }
.insights-intro p { max-width: 48rem; margin: 0; color: var(--muted); line-height: 1.65; }
.insights-intro .silent-video-note { margin-top: .45rem; color: var(--gold-bright); font-size: .86rem; font-weight: 750; }
.photo-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem; padding: 1.25rem; }
.photo-gallery figure { position: relative; min-height: 14rem; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: .8rem; background: #090908; }
.photo-gallery img { width: 100%; height: 100%; object-fit: cover; }
.photo-gallery figcaption { position: absolute; right: .65rem; bottom: .65rem; left: .65rem; padding: .5rem .65rem; border-radius: .45rem; background: rgba(5,5,4,.78); color: var(--cream); font-size: .86rem; font-weight: 800; backdrop-filter: blur(7px); }
.video-gallery-title { margin: .15rem 1.25rem 0; color: var(--gold-bright); font-family: Georgia,serif; font-size: 1.35rem; font-weight: 500; }
.video-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; padding: 1.25rem; }
.video-card { overflow: hidden; margin: 0; border: 1px solid rgba(255,255,255,.09); border-radius: .85rem; background: #0b0b0a; }
.video-card video { width: 100%; aspect-ratio: 9 / 16; object-fit: contain; background: #000; }
.video-card figcaption { display: grid; gap: .22rem; padding: .85rem .9rem 1rem; }
.video-card figcaption strong { color: var(--gold-bright); font-size: .98rem; }
.video-card figcaption span { color: var(--muted); font-size: .86rem; line-height: 1.4; }
.about-shell { overflow: hidden; border: 1px solid var(--gold-dim); border-radius: 1rem; background: radial-gradient(circle at 10% 5%, rgba(229,179,60,.13), transparent 30%), linear-gradient(145deg, rgba(30,28,23,.98), rgba(12,12,11,.98)); box-shadow: var(--shadow); }
.about-intro { display: grid; grid-template-columns: minmax(17rem,.78fr) minmax(0,1.22fr); }
.about-portrait { position: relative; min-height: 36rem; margin: 0; overflow: hidden; }
.about-portrait::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(8,8,7,.82) 0%, transparent 38%); pointer-events: none; }
.about-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.about-shell figure { margin: 0; }
.about-shell figcaption { color: var(--cream); font-size: .82rem; font-weight: 750; letter-spacing: .02em; }
.about-portrait figcaption { position: absolute; right: 1.1rem; bottom: 1rem; left: 1.1rem; z-index: 1; }
.about-copy { align-self: center; padding: clamp(1.5rem,4vw,3.5rem); }
.about-copy h2 { margin: .2rem 0 1.1rem; color: var(--gold-bright); font-family: Georgia,serif; font-size: clamp(2rem,5vw,3.6rem); line-height: 1; }
.about-copy p { color: var(--muted); line-height: 1.72; }
.about-copy strong { color: var(--cream); }
.about-copy .about-lead { color: var(--cream); font-family: Georgia,serif; font-size: clamp(1.18rem,2vw,1.45rem); line-height: 1.45; }
.about-copy .about-signature { margin-top: 1.35rem; padding-left: 1rem; border-left: 3px solid var(--gold); color: var(--gold-bright); font-weight: 750; }
.about-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border-top: 1px solid var(--gold-dim); background: var(--gold-dim); }
.about-gallery figure { position: relative; min-height: 18rem; overflow: hidden; background: var(--ink); }
.about-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.about-gallery .about-family img { object-position: center 23%; }
.about-gallery figure:nth-child(2) img { object-position: center 42%; }
.about-gallery figure:nth-child(3) img { object-position: center 50%; }
.about-gallery figure:hover img { transform: scale(1.025); }
.about-gallery figcaption { position: absolute; right: .8rem; bottom: .8rem; left: .8rem; padding: .55rem .7rem; border-radius: .45rem; background: rgba(7,7,6,.78); backdrop-filter: blur(7px); }

.monthly-section, .career-section { scroll-margin-top: 6.5rem; }
.monthly-content { border: 1px solid var(--gold-dim); border-radius: .8rem; overflow: hidden; background: linear-gradient(135deg, rgba(197,151,55,.12), rgba(255,255,255,.025)); }
.monthly-empty { margin: 0; padding: 1.25rem; color: var(--muted); text-align: center; }
.career-shell { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: center; padding: clamp(1.4rem,4vw,2.5rem); border: 1px solid var(--gold-dim); border-radius: .8rem; background: linear-gradient(135deg, rgba(197,151,55,.13), rgba(255,255,255,.025)); }
.career-shell h2 { margin: .15rem 0 .8rem; color: var(--gold-bright); font-family: Georgia,serif; font-size: clamp(1.8rem,4vw,2.75rem); }
.career-shell p { max-width: 48rem; margin: 0; color: var(--muted); line-height: 1.7; }
.career-actions { display: grid; gap: .7rem; min-width: 13.5rem; }
.career-actions a { display: block; padding: .85rem 1rem; border: 1px solid var(--gold); border-radius: .55rem; color: var(--cream); font-weight: 800; text-align: center; text-decoration: none; }
.career-actions .career-whatsapp { border-color: #40b868; background: #18783a; color: white; }
.success-shell { max-width: 30rem; text-align: center; }
.success-body { display: grid; justify-items: center; gap: .65rem; }
.success-body p { margin: 0; color: var(--muted); line-height: 1.55; }
.success-body > strong { color: var(--gold-bright); font-family: Georgia,serif; font-size: 1.55rem; letter-spacing: .04em; }
.success-loyalty-link { display:inline-flex; align-items:center; justify-content:center; margin-top:.45rem; text-decoration:none; }
.success-loyalty-link[hidden], .success-loyalty-note[hidden] { display:none; }
.success-loyalty-note { font-size:.82rem; }
.success-mark { display: grid; width: 4.2rem; height: 4.2rem; place-items: center; border: 2px solid #55b77a; border-radius: 50%; color: #8de0a9; font-size: 2.2rem; font-weight: 900; }

@media (max-width: 850px) {
  .menu-grid, .split-sections, .footer-grid, .antipasti-layout { grid-template-columns: 1fr; }
  .split-sections { gap: 0; }
  .allergen-columns { grid-template-columns: 1fr; }
  .drink-info-grid { grid-template-columns: 1fr; }
  .footer-grid { gap: 1.35rem; }
  .about-intro { grid-template-columns: 1fr; }
  .photo-gallery { grid-template-columns: 1fr 1fr; }
  .photo-gallery figure:last-child { grid-column: 1 / -1; }
  .video-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .career-shell { grid-template-columns: 1fr; }
  .career-actions { min-width: 0; }
  .about-portrait { min-height: 34rem; }
  .about-gallery { grid-template-columns: 1fr 1fr; }
  .about-gallery .about-family { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .wrap { width: min(100% - 1.1rem, 1160px); }
  .masthead { min-height: 24rem; }
  .hero-art img { object-position: 67% 27%; }
  .hero-shade { background: linear-gradient(90deg, rgba(6, 6, 5, 0.96) 0%, rgba(6, 6, 5, 0.72) 60%, rgba(6, 6, 5, 0.28) 100%), linear-gradient(0deg, var(--ink) 0%, transparent 50%); }
  .hero-content { padding-block: 3rem 2.5rem; }
  .hero-meta { margin-top: 1.25rem; }
  main { padding-block: 1.5rem 4rem; }
  .pinsa-note { grid-template-columns: 1fr; margin-bottom: 3.25rem; }
  .note-mark { width: 2.6rem; height: 2.6rem; }
  .glutenfree-card { grid-template-columns: 1fr; margin: -2rem 0 3.25rem; padding: 1rem; }
  .gf-mark { width: 2.8rem; height: 2.8rem; }
  .gf-price { align-items: flex-start; flex-direction: column; }
  .menu-section { margin-top: 3.9rem; }
  .section-heading { align-items: start; }
  .price-key { flex: 0 0 9.85rem; width: 9.85rem; margin: 0.45rem 0 0 auto; padding-left: 0; }
  .price-key-three { flex: 0 0 14.95rem; width: 14.95rem; margin-left: auto; padding-left: 0; }
  .menu-item { grid-template-columns: 1fr; min-height: auto; gap: 0.6rem; padding: 1rem; }
  .menu-item h3 { font-size: 0.96rem; }
  .menu-item p { font-size: 0.88rem; }
  .prices { grid-template-columns: repeat(2, 4.75rem); font-size: 1rem; }
  .prices-three { grid-template-columns: repeat(3, 4.75rem); }
  .prices, .single-price, .dual-price { justify-self: end; }
  .extras-grid, .original-grid { grid-template-columns: 1fr; }
  .extras-table-wrap { margin-inline: 0.55rem; }
  .extras-table th:first-child, .extras-table td:first-child { min-width: 11.5rem; }
  .antipasti-photo { min-height: 11rem; }
  .allergen-columns { padding-inline: 1rem; }
  .allergen-columns ol { columns: 1; }
  .choice-grid, .check-grid, .extra-grid, .checkout-fields, .delivery-fields, .fulfilment-grid { grid-template-columns: 1fr; }
  .dessert-offer-grid { grid-template-columns: 1fr 1fr; }
  .dessert-offer-card:last-child { grid-column: 1 / -1; grid-template-columns: 7rem 1fr; grid-template-rows: auto auto; }
  .dessert-offer-card:last-child .dessert-offer-placeholder { grid-row: 1 / 3; aspect-ratio: auto; }
  .dessert-offer-card:last-child .dessert-add { align-self: start; }
  .dessert-offer-actions, .monthly-popup-actions { align-items: stretch; flex-direction: column-reverse; }
  .call-options { grid-template-columns: 1fr; }
  .checkout-actions { align-items: stretch; flex-direction: column; }
  .checkout-actions > div:first-child { grid-template-columns: 1fr auto; align-items: center; }
  .send-actions { display: grid !important; grid-auto-flow: row; grid-template-columns: 1fr; }
  .dialog-actions { position: sticky; bottom: 0; }
  .cart-fab span { display: none; }
  .online-ordering-status .wrap { align-items: stretch; flex-direction: column; }
  .online-ordering-status a { text-align: center; }
  .about-section { margin-top: 4rem; }
  .insights-section { margin-top: 4rem; }
  .insights-details > summary { align-items: flex-start; flex-wrap: wrap; }
  .insights-details > summary small { flex: 1 1 70%; }
  .photo-gallery { grid-template-columns: 1fr; padding: .85rem; }
  .photo-gallery figure, .photo-gallery figure:last-child { grid-column: auto; min-height: 18rem; }
  .video-gallery { grid-template-columns: 1fr; padding: .85rem; }
  .about-portrait { min-height: 29rem; }
  .about-copy { padding: 1.25rem; }
  .about-gallery { grid-template-columns: 1fr; }
  .about-gallery .about-family { grid-column: auto; }
  .about-gallery figure { min-height: 23rem; }
  th, td { padding: 0.75rem 0.72rem; }
  th:first-child, td:first-child { min-width: 13.5rem; }
}

@media (max-width: 420px) {
  .price-key { padding-left: 0; justify-content: end; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition-duration: 0.01ms !important; }
}
