:root {
  --red: #9b1f24;
  --red-dark: #6f1518;
  --green: #173d2a;
  --green-2: #214f36;
  --cream: #f0dfbf;
  --cream-light: #fff7e9;
  --paper: #f8eddc;
  --mustard: #d8a93a;
  --ink: #231a16;
  --muted: #72665f;
  --white: #ffffff;
  --border: rgba(35, 26, 22, 0.14);
  --shadow: 0 22px 55px rgba(65, 36, 24, 0.14);
  --max: 1200px;
  --header-h: 94px;
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 12px);
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--cream-light);
  font-family: "Inter", sans-serif;
  line-height: 1.65;
  overflow-x: hidden;
}

body.nav-open { overflow: hidden; }

img { display: block; max-width: 100%; }

a { color: inherit; text-decoration: none; }

button,
input,
select,
textarea { font: inherit; }

button { cursor: pointer; }

:focus-visible {
  outline: 3px solid var(--mustard);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 5000;
  padding: 10px 14px;
  color: white;
  background: var(--ink);
  transform: translateY(-160%);
}

.skip-link:focus { transform: translateY(0); }

h1,
h2,
h3,
p { margin-top: 0; }

h1,
h2 {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 0.98;
}

h1 {
  margin-bottom: 24px;
  font-size: clamp(3.7rem, 11vw, 8rem);
}

h1 em {
  display: block;
  color: var(--red);
  font-family: "Pacifico", cursive;
  font-size: 0.52em;
  font-weight: 400;
  line-height: 1.25;
}

h2 {
  font-size: clamp(2.7rem, 7vw, 5.7rem);
}

.kicker {
  margin-bottom: 12px;
  color: var(--red);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.kicker.light { color: #f4d58c; }

.section {
  padding: 96px 24px;
}

.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border: 0;
  border-radius: 999px;
  font-weight: 800;
  transition: transform 180ms ease, background-color 180ms ease;
}

.button:hover { transform: translateY(-2px); }

.button-red {
  color: white;
  background: var(--red);
}

.button-red:hover { background: var(--red-dark); }

.button-ink {
  color: white;
  background: var(--ink);
}

.button-ink:hover { background: var(--green); }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: var(--header-h);
  background: rgba(255,247,233,0.94);
  border-bottom: 1px solid rgba(35,26,22,0.08);
  backdrop-filter: blur(14px);
}

.site-header.scrolled { box-shadow: 0 12px 30px rgba(35,26,22,0.09); }

.nav-wrap {
  display: grid;
  width: min(calc(100% - 28px), 1320px);
  min-height: var(--header-h);
  margin-inline: auto;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
}

.brand img {
  width: 150px;
  height: 76px;
  object-fit: contain;
}

.primary-nav {
  position: fixed;
  inset: var(--header-h) 0 auto;
  display: none;
  padding: 24px;
  background: var(--cream-light);
  border-top: 1px solid var(--border);
  box-shadow: 0 22px 35px rgba(35,26,22,0.12);
}

.primary-nav.open { display: grid; }

.primary-nav a {
  padding: 12px 0;
  font-weight: 700;
}

.primary-nav a:hover { color: var(--red); }

.nav-toggle {
  justify-self: end;
  display: grid;
  width: 46px;
  height: 46px;
  place-content: center;
  gap: 7px;
  padding: 0;
  border: 0;
  background: transparent;
}

.nav-toggle span {
  width: 25px;
  height: 2px;
  background: var(--green);
  transition: transform 180ms ease;
}

.nav-toggle[aria-expanded="true"] span:first-child {
  transform: translateY(4.5px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:last-child {
  transform: translateY(-4.5px) rotate(-45deg);
}

.nav-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.language-toggle,
#footer-language {
  border: 0;
  background: transparent;
  font-weight: 800;
}

.order-pill {
  display: none;
  padding: 12px 18px;
  color: white;
  background: var(--red);
  border-radius: 999px;
  font-weight: 800;
}

/* Hero */
.hero {
  position: relative;
  min-height: calc(100svh - var(--header-h));
  padding: 48px 20px 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 15%, rgba(216,169,58,0.18), transparent 22rem),
    var(--cream);
}

.hero-swoop {
  position: absolute;
  right: -10vw;
  bottom: -20vw;
  width: 72vw;
  height: 72vw;
  background: var(--green);
  border-radius: 50%;
}

.hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(100%, 1240px);
  min-height: calc(100svh - var(--header-h) - 48px);
  margin-inline: auto;
  align-items: center;
  gap: 40px;
  padding-bottom: 72px;
}

.hero-copy { max-width: 700px; }

.hero-text {
  max-width: 620px;
  margin-bottom: 28px;
  color: var(--muted);
  font-size: clamp(1rem, 2vw, 1.2rem);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.hero-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 34px;
  color: var(--green);
  font-weight: 700;
}

.hero-note p { margin: 0; }

.hero-note span { color: var(--red); }

.hero-visual {
  position: relative;
  min-height: 520px;
}

.logo-poster {
  position: absolute;
  z-index: 2;
  top: 18px;
  left: 0;
  width: min(76%, 410px);
  padding: 24px;
  background: var(--cream-light);
  border: 2px solid var(--ink);
  box-shadow: 14px 14px 0 var(--red);
  transform: rotate(-3deg);
}

.logo-poster img { width: 100%; }

.logo-poster p {
  margin: 10px 0 0;
  color: var(--green);
  font-size: 0.77rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-align: center;
  text-transform: uppercase;
}

.poster-stripe {
  height: 9px;
  margin: -24px -24px 18px;
  background: repeating-linear-gradient(90deg, var(--red) 0 40px, var(--cream-light) 40px 80px, var(--green) 80px 120px);
}

.pizza-photo {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(78%, 430px);
  overflow: hidden;
  border: 8px solid var(--cream-light);
  border-radius: 48% 48% 16px 16px;
  box-shadow: var(--shadow);
  transform: rotate(2deg);
}

.pizza-photo img {
  width: 100%;
  height: 430px;
  object-fit: cover;
}

.pizza-photo span {
  position: absolute;
  right: 16px;
  bottom: 16px;
  padding: 9px 12px;
  color: white;
  background: var(--red);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.checker-band {
  height: 22px;
  margin: 0 -20px;
  background:
    linear-gradient(45deg, var(--ink) 25%, transparent 25%) 0 0 / 22px 22px,
    linear-gradient(45deg, transparent 75%, var(--ink) 75%) 0 0 / 22px 22px,
    linear-gradient(45deg, transparent 75%, var(--ink) 75%) -11px 11px / 22px 22px,
    linear-gradient(45deg, var(--ink) 25%, var(--cream-light) 25%) -11px 11px / 22px 22px;
}

/* Intro rail */
.intro-strip {
  overflow: hidden;
  color: white;
  background: var(--red);
  border-bottom: 5px solid var(--green);
}

.intro-rail {
  display: flex;
  width: max-content;
  gap: 18px;
  padding: 14px 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  white-space: nowrap;
  animation: rail 26s linear infinite;
}

.intro-rail i { color: #f4d58c; font-style: normal; }

@keyframes rail {
  from { transform: translateX(0); }
  to { transform: translateX(-32%); }
}

/* Menu */
.menu-showcase {
  background:
    linear-gradient(rgba(255,255,255,0.8), rgba(255,255,255,0.8)),
    repeating-linear-gradient(0deg, transparent 0 46px, rgba(155,31,36,0.04) 46px 47px);
}

.menu-header {
  display: grid;
  width: min(100%, var(--max));
  margin: 0 auto 42px;
  gap: 18px;
}

.menu-header p:last-child {
  max-width: 560px;
  color: var(--muted);
}

.menu-layout {
  display: grid;
  width: min(100%, var(--max));
  margin-inline: auto;
  gap: 24px;
}

.menu-categories {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 6px;
  scrollbar-width: none;
}

.menu-categories::-webkit-scrollbar { display: none; }

.menu-tab {
  flex: 0 0 auto;
  padding: 11px 16px;
  border: 1px solid var(--green);
  color: var(--green);
  background: transparent;
  border-radius: 999px;
  font-weight: 800;
}

.menu-tab.active {
  color: white;
  background: var(--green);
}

.menu-board {
  overflow: hidden;
  color: var(--cream-light);
  background: var(--green);
  border: 10px solid var(--ink);
  box-shadow: 14px 14px 0 var(--mustard);
}

.menu-board-top,
.menu-board-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  background: var(--ink);
}

.menu-board-top span,
.menu-board-footer a {
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.menu-board-top small { color: rgba(255,255,255,0.6); }

.menu-items { padding: 10px 22px; }

.menu-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  padding: 20px 0;
  border-bottom: 1px dashed rgba(255,255,255,0.26);
}

.menu-item:last-child { border-bottom: 0; }

.menu-item h3 {
  margin-bottom: 4px;
  font-family: "DM Serif Display", serif;
  font-size: 1.25rem;
  font-weight: 400;
}

.menu-item p {
  margin: 0;
  color: rgba(255,255,255,0.66);
  font-size: 0.9rem;
}

.menu-item strong {
  color: #f4d58c;
  font-size: 1.15rem;
}

/* Favorites */
.favorites-zigzag {
  background: var(--paper);
}

.favorites-heading {
  width: min(100%, var(--max));
  margin: 0 auto 54px;
}

.favorite-row {
  display: grid;
  width: min(100%, 1120px);
  margin-inline: auto;
  gap: 56px;
}

.favorite-piece {
  display: grid;
  align-items: center;
  gap: 26px;
}

.favorite-photo {
  overflow: hidden;
  border: 10px solid white;
  box-shadow: var(--shadow);
}

.favorite-photo img {
  width: 100%;
  height: 340px;
  object-fit: cover;
}

.tilt-left { transform: rotate(-2deg); }
.tilt-right { transform: rotate(2deg); }

.favorite-copy span {
  color: var(--red);
  font-family: "Pacifico", cursive;
  font-size: 1.5rem;
}

.favorite-copy h3 {
  margin-bottom: 12px;
  color: var(--green);
  font-family: "DM Serif Display", serif;
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 400;
}

.favorite-copy p {
  max-width: 470px;
  color: var(--muted);
}

.favorite-copy strong {
  display: inline-block;
  margin-top: 8px;
  color: var(--red);
  font-size: 1.4rem;
}

/* Specials */
.specials-marquee {
  padding: 92px 20px;
  color: white;
  background:
    radial-gradient(circle at 80% 20%, rgba(216,169,58,0.16), transparent 18rem),
    var(--red-dark);
}

.marquee-top {
  width: min(100%, var(--max));
  margin: 0 auto 42px;
}

.marquee-top h2 { max-width: 850px; }

.deal-stage {
  display: grid;
  width: min(100%, var(--max));
  margin-inline: auto;
  gap: 18px;
}

.deal-ticket {
  position: relative;
  display: flex;
  min-height: 360px;
  flex-direction: column;
  padding: 28px;
  color: var(--ink);
  background: var(--cream-light);
  border: 2px solid var(--ink);
  box-shadow: 10px 10px 0 var(--green);
}

.deal-ticket.featured {
  background:
    linear-gradient(rgba(255,247,233,0.92), rgba(255,247,233,0.92)),
    repeating-linear-gradient(45deg, var(--mustard) 0 12px, var(--cream-light) 12px 24px);
}

.ticket-edge {
  position: absolute;
  inset: 10px;
  pointer-events: none;
  border: 1px dashed rgba(35,26,22,0.25);
}

.deal-ticket p,
.deal-ticket h3,
.deal-ticket span,
.deal-ticket strong,
.deal-ticket small,
.deal-ticket a {
  position: relative;
  z-index: 1;
}

.deal-ticket p {
  color: var(--red);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.deal-ticket h3 {
  margin-bottom: 14px;
  font-family: "DM Serif Display", serif;
  font-size: 2rem;
  font-weight: 400;
}

.deal-ticket span { color: var(--muted); }

.deal-ticket strong {
  margin-top: auto;
  font-family: "Pacifico", cursive;
  font-size: 2.7rem;
  font-weight: 400;
  color: var(--green);
}

.deal-ticket small {
  margin-bottom: 18px;
  color: var(--muted);
}

.deal-ticket a {
  color: var(--red);
  font-weight: 800;
  text-transform: uppercase;
}

/* Story */
.story-editorial {
  background:
    linear-gradient(rgba(255,255,255,0.74), rgba(255,255,255,0.74)),
    repeating-linear-gradient(90deg, transparent 0 60px, rgba(23,61,42,0.04) 60px 61px);
}

.story-grid {
  display: grid;
  width: min(100%, var(--max));
  margin-inline: auto;
  gap: 46px;
}

.story-copy > p:not(.kicker) {
  color: var(--muted);
}

.story-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 28px;
}

.story-facts div {
  padding: 16px;
  background: var(--cream);
  border-bottom: 5px solid var(--green);
}

.story-facts strong,
.story-facts span { display: block; }

.story-facts strong {
  color: var(--red);
  font-family: "DM Serif Display", serif;
  font-size: 2rem;
}

.story-facts span {
  font-size: 0.72rem;
  font-weight: 700;
}

.story-collage {
  position: relative;
  min-height: 570px;
}

.collage-main {
  position: absolute;
  top: 0;
  right: 0;
  width: 82%;
  overflow: hidden;
  border-radius: 50% 50% 8px 8px;
}

.collage-main img {
  width: 100%;
  height: 470px;
  object-fit: cover;
}

.collage-small {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 46%;
  border: 8px solid var(--cream-light);
  box-shadow: var(--shadow);
  transform: rotate(-4deg);
}

.collage-small img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.collage-note {
  position: absolute;
  right: 2%;
  bottom: 22px;
  display: grid;
  width: 140px;
  height: 140px;
  place-content: center;
  color: white;
  background: var(--red);
  border-radius: 50%;
  text-align: center;
  box-shadow: 0 0 0 8px var(--mustard);
}

.collage-note span,
.collage-note small {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.collage-note strong {
  font-family: "DM Serif Display", serif;
  font-size: 2.2rem;
}

/* Locations */
.locations-map {
  display: grid;
  color: white;
  background: var(--green);
}

.locations-copy {
  padding: 84px 24px 46px;
}

.locations-copy > p:last-of-type {
  max-width: 600px;
  color: rgba(255,255,255,0.7);
}

.location-tabs {
  display: flex;
  gap: 8px;
  margin-top: 28px;
  overflow-x: auto;
  padding-bottom: 6px;
  scrollbar-width: none;
}

.location-tabs::-webkit-scrollbar { display: none; }

.location-tab {
  flex: 0 0 auto;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,0.28);
  color: white;
  background: transparent;
  border-radius: 999px;
  font-weight: 700;
}

.location-tab.active {
  color: var(--green);
  background: var(--cream);
}

.location-display {
  display: grid;
}

.location-poster {
  padding: 36px 24px;
  color: var(--ink);
  background: var(--cream);
}

.location-poster > p:first-child {
  margin-bottom: 6px;
  color: var(--red);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.location-poster h3 {
  margin-bottom: 14px;
  font-family: "DM Serif Display", serif;
  font-size: 2.6rem;
  font-weight: 400;
}

.location-poster address {
  margin-bottom: 12px;
  font-style: normal;
}

.location-poster > a {
  color: var(--red);
  font-weight: 800;
}

.location-poster > p:last-of-type {
  margin-top: 12px;
  color: var(--muted);
}

.location-poster-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.map-art {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  background: #d9c8a7;
}

.map-grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, transparent 48%, rgba(35,26,22,0.13) 49%, transparent 51%) 0 0 / 58px 58px,
    linear-gradient(0deg, transparent 48%, rgba(35,26,22,0.13) 49%, transparent 51%) 0 0 / 58px 58px;
  transform: rotate(-10deg) scale(1.3);
}

.map-pin {
  position: absolute;
  width: 28px;
  height: 28px;
  background: var(--red);
  border: 6px solid var(--cream-light);
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  box-shadow: 0 5px 12px rgba(0,0,0,0.2);
}

.pin-one { top: 30%; left: 28%; }
.pin-two { top: 48%; left: 44%; }
.pin-three { top: 61%; left: 35%; }
.pin-four { top: 34%; left: 62%; }
.pin-five { top: 68%; left: 72%; }

.map-art p {
  position: absolute;
  right: 16px;
  bottom: 12px;
  max-width: 220px;
  margin: 0;
  color: var(--green);
  font-size: 0.76rem;
  font-weight: 800;
  text-align: right;
  text-transform: uppercase;
}

/* Catering */
.catering-feature {
  background:
    radial-gradient(circle at 12% 18%, rgba(216,169,58,0.11), transparent 18rem),
    var(--ink);
}

.catering-hero {
  display: grid;
  width: min(100%, var(--max));
  margin: 0 auto 38px;
  color: white;
  gap: 24px;
}

.catering-hero p:last-child {
  max-width: 650px;
  color: rgba(255,255,255,0.68);
}

.catering-stamp {
  justify-self: start;
  display: grid;
  width: 150px;
  height: 150px;
  place-content: center;
  color: var(--ink);
  background: var(--mustard);
  border-radius: 50%;
  font-family: "DM Serif Display", serif;
  font-size: 2.2rem;
  text-align: center;
  transform: rotate(4deg);
}

.catering-stamp span {
  font-family: "Inter", sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.catering-layout {
  display: grid;
  width: min(100%, var(--max));
  margin-inline: auto;
  gap: 24px;
}

.package-stack {
  display: grid;
  gap: 10px;
}

.package-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.16);
  color: white;
  background: rgba(255,255,255,0.04);
  text-align: left;
}

.package-row.active {
  color: var(--ink);
  background: var(--cream);
  border-color: var(--cream);
  transform: translateX(8px);
}

.package-row span {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.package-row strong {
  font-family: "DM Serif Display", serif;
  font-size: 1.4rem;
  font-weight: 400;
}

.package-row em {
  font-style: normal;
  font-weight: 800;
}

.catering-form-wrap {
  padding: 28px;
  background: var(--cream-light);
  box-shadow: 14px 14px 0 var(--red);
}

.form-heading h3 {
  margin-bottom: 22px;
  font-family: "DM Serif Display", serif;
  font-size: 2rem;
  font-weight: 400;
}

.form-grid {
  display: grid;
  gap: 16px;
  margin-bottom: 20px;
}

label {
  display: grid;
  gap: 7px;
  font-weight: 700;
}

input,
select,
textarea {
  width: 100%;
  padding: 13px 14px;
  color: var(--ink);
  background: white;
  border: 1px solid rgba(35,26,22,0.22);
  border-radius: 0;
}

textarea { resize: vertical; }

input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
  border-color: var(--red);
  box-shadow: 0 0 0 3px rgba(155,31,36,0.12);
}

.form-status {
  min-height: 24px;
  margin: 12px 0 0;
  font-weight: 800;
}

.form-status.success { color: #167a42; }
.form-status.error { color: #b01920; }

/* Contact */
.contact-poster {
  display: grid;
  color: white;
  background: var(--red);
  border-top: 18px solid var(--mustard);
}

.contact-left,
.contact-right {
  padding: 70px 24px;
}

.contact-left p:not(.kicker) {
  max-width: 600px;
  color: rgba(255,255,255,0.75);
}

.contact-lines {
  display: grid;
  gap: 14px;
  margin-top: 32px;
}

.contact-lines p {
  display: grid;
  margin: 0;
}

.contact-lines span {
  color: #f4d58c;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-lines a,
.contact-lines strong {
  color: white;
  font-weight: 800;
}

.contact-right {
  color: var(--ink);
  background: var(--cream);
}

.contact-right form {
  display: grid;
  gap: 16px;
}

/* Footer */
.site-footer {
  padding: 54px 24px 22px;
  color: rgba(255,255,255,0.75);
  background: var(--green);
}

.footer-logo img {
  width: 240px;
  margin-inline: auto;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.22));
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin: 30px 0;
  font-weight: 700;
}

.footer-links a:hover,
#footer-language:hover { color: #f4d58c; }

#footer-language { color: white; }

.footer-bottom {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.12);
  font-size: 0.82rem;
  text-align: center;
}

.footer-bottom p { margin: 0; }

.back-to-top {
  position: fixed;
  z-index: 500;
  right: 18px;
  bottom: 18px;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 0;
  color: white;
  background: var(--red);
  border-radius: 50%;
  box-shadow: 0 12px 30px rgba(35,26,22,0.2);
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.back-to-top.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.reveal {
  opacity: 1;
  transform: translateY(24px);
  transition: transform 650ms ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

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

  .reveal {
    opacity: 1;
    transform: none;
  }

  .intro-rail { animation: none; }
}

@media (min-width: 760px) {
  .section { padding: 110px 40px; }

  .menu-header {
    grid-template-columns: 1.1fr 0.9fr;
    align-items: end;
  }

  .menu-layout {
    grid-template-columns: 220px 1fr;
  }

  .menu-categories {
    flex-direction: column;
    overflow: visible;
  }

  .favorite-piece {
    grid-template-columns: 1.05fr 0.95fr;
  }

  .favorite-piece.reverse {
    grid-template-columns: 0.95fr 1.05fr;
  }

  .favorite-piece.reverse .favorite-photo { order: 2; }

  .deal-stage {
    grid-template-columns: repeat(3, 1fr);
  }

  .story-grid {
    grid-template-columns: 0.95fr 1.05fr;
    align-items: center;
  }

  .location-display {
    grid-template-columns: 0.8fr 1.2fr;
  }

  .catering-hero {
    grid-template-columns: 1fr auto;
    align-items: end;
  }

  .catering-stamp { justify-self: end; }

  .catering-layout {
    grid-template-columns: 0.7fr 1.3fr;
  }

  .form-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .full-width { grid-column: 1 / -1; }

  .contact-poster {
    grid-template-columns: 1fr 1fr;
  }

  .footer-bottom {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
}

@media (min-width: 1020px) {
  .nav-toggle { display: none; }

  .primary-nav {
    position: static;
    display: flex;
    justify-content: center;
    gap: 24px;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  .primary-nav a {
    padding: 8px 0;
    font-size: 0.9rem;
  }

  .order-pill { display: inline-flex; }

  .hero-grid {
    grid-template-columns: 1.05fr 0.95fr;
  }

  .hero-copy { padding-left: 20px; }

  .hero-visual { min-height: 640px; }

  .logo-poster {
    top: 30px;
    left: 8%;
  }

  .pizza-photo {
    right: 4%;
    width: 68%;
  }

  .locations-copy {
    padding: 100px max(24px, calc((100vw - var(--max)) / 2));
  }
}

/* 2026 refresh: authentic Pizza Nova photography + conversion-focused gallery */
.food-gallery{background:#f7efe3}.gallery-heading{display:grid;gap:18px;margin-bottom:34px}.gallery-heading h2{max-width:760px}.gallery-heading>p{max-width:560px;color:#5f554c;line-height:1.75}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;gap:10px}.gallery-card{border:0;padding:0;overflow:hidden;background:#111;cursor:zoom-in;min-width:0}.gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.04)}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.site-footer{padding-bottom:0}.pizza-photo img,.favorite-photo img,.collage-main img,.collage-small img{object-fit:cover}
@media(min-width:760px){.gallery-heading{grid-template-columns:1.1fr .9fr;align-items:end}.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px}.gallery-wide{grid-column:span 2}}
@media(min-width:1020px){.site-footer{padding-bottom:0}}


/* Verified menu and location refresh */
.menu-availability-note { margin-top: 10px !important; font-size: .84rem; font-weight: 700; color: var(--red) !important; }
.menu-item strong { max-width: 360px; text-align: right; line-height: 1.45; }
.specials-note { width: min(100% - 40px, var(--max)); margin: 24px auto 0; color: rgba(255,255,255,.75); font-size: .85rem; text-align: center; }
.location-phone-list { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 14px 0; }
.location-phone-list a { color: inherit; font-weight: 800; text-decoration: none; }
@media (max-width: 700px) { .menu-item { grid-template-columns: 1fr; gap: 8px; } .menu-item strong { max-width: none; text-align: left; } }

/* Pizza menu clarity refresh */
.pizza-menu-section { padding: 24px 8px; border-bottom: 1px dashed rgba(255,255,255,.28); }
.pizza-menu-section:last-child { border-bottom: 0; }
.pizza-section-heading { display:flex; justify-content:space-between; gap:28px; align-items:flex-start; margin-bottom:18px; }
.pizza-section-heading > div { display:flex; align-items:center; gap:12px; }
.pizza-section-heading h3 { margin:0; font-family:"DM Serif Display",serif; font-size:1.55rem; font-weight:400; }
.pizza-section-heading p { margin:3px 0 0; max-width:480px; color:rgba(255,255,255,.68); font-size:.88rem; line-height:1.5; }
.pizza-step { display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px; border:1px solid #f4d58c; border-radius:50%; color:#f4d58c; font-size:.72rem; font-weight:900; }
.build-price-grid { overflow:hidden; border:1px solid rgba(244,213,140,.34); border-radius:12px; }
.build-price-row { display:grid; grid-template-columns:minmax(210px,1.35fr) repeat(4,minmax(86px,.65fr)); align-items:stretch; }
.pan-grid .build-price-row { grid-template-columns:minmax(210px,1.35fr) repeat(3,minmax(100px,.75fr)); }
.build-price-row + .build-price-row { border-top:1px solid rgba(255,255,255,.15); }
.build-price-row > span { padding:15px 12px; display:flex; align-items:center; justify-content:center; text-align:center; color:#f4d58c; font-weight:800; }
.build-price-row > span + span { border-left:1px solid rgba(255,255,255,.13); }
.build-price-head { background:rgba(0,0,0,.22); }
.build-price-head > span { padding:10px 12px; color:rgba(255,255,255,.8); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.build-price-head > span:first-child { justify-content:flex-start; }
.build-price-row .build-label { justify-content:flex-start; text-align:left; color:#fff; flex-direction:column; align-items:flex-start; gap:2px; }
.build-label b { font-family:"DM Serif Display",serif; font-size:1.05rem; font-weight:400; }
.build-label small { color:rgba(255,255,255,.55); font-size:.72rem; font-weight:600; }
.specialty-pizza { padding:18px 0 22px; }
.specialty-pizza + .specialty-pizza { border-top:1px dashed rgba(255,255,255,.2); }
.specialty-copy { margin-bottom:13px; }
.specialty-copy h4 { margin:0 0 4px; font-family:"DM Serif Display",serif; font-size:1.25rem; font-weight:400; }
.specialty-copy p,.toppings-card > p { margin:0; color:rgba(255,255,255,.66); font-size:.88rem; line-height:1.55; }
.pizza-price-table { border:1px solid rgba(244,213,140,.28); border-radius:10px; overflow:hidden; }
.pizza-price-row { display:grid; grid-template-columns:minmax(105px,1fr) repeat(4,minmax(85px,1fr)); }
.pizza-price-row + .pizza-price-row { border-top:1px solid rgba(255,255,255,.12); }
.pizza-price-row > span { padding:10px; text-align:center; border-left:1px solid rgba(255,255,255,.1); }
.pizza-price-row > span:first-child { border-left:0; }
.pizza-price-head { background:rgba(0,0,0,.18); color:rgba(255,255,255,.72); font-size:.75rem; font-weight:800; }
.pizza-price-label { text-align:left !important; }
.pizza-price-cell strong { color:#f4d58c; font-size:1rem; }
.pizza-price-cell small { display:none; }
.mobile-price-label { visibility:hidden; }
@media (max-width:700px) {
  .pizza-menu-section { padding:20px 0; }
  .pizza-section-heading { display:block; }
  .pizza-section-heading > div { margin-bottom:8px; }
  .pizza-section-heading h3 { font-size:1.3rem; }
  .build-price-grid { border:0; overflow:visible; }
  .build-price-head { display:none; }
  .build-price-row { grid-template-columns:repeat(2,1fr); border:1px solid rgba(244,213,140,.3); border-radius:10px; overflow:hidden; margin-top:10px; }
  .pan-grid .build-price-row { grid-template-columns:repeat(2,1fr); }
  .build-price-row + .build-price-row { border-top:1px solid rgba(244,213,140,.3); }
  .build-price-row .build-label { grid-column:1/-1; background:rgba(0,0,0,.18); padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.12); }
  .build-price-row > span:not(.build-label) { position:relative; padding:28px 8px 11px; border-left:0; border-top:1px solid rgba(255,255,255,.1); }
  .build-price-row > span:not(.build-label):nth-of-type(even) { border-right:1px solid rgba(255,255,255,.1); }
  .build-price-row > span:not(.build-label)::before { content:attr(data-size); position:absolute; top:8px; left:0; right:0; color:rgba(255,255,255,.55); font-size:.68rem; font-weight:800; }
  .pizza-price-head { display:none; }
  .pizza-price-row { grid-template-columns:repeat(2,1fr); }
  .pizza-price-row .mobile-price-label { display:none; }
  .pizza-price-cell { position:relative; padding:30px 8px 11px !important; }
  .pizza-price-cell small { display:block; position:absolute; top:8px; left:0; right:0; color:rgba(255,255,255,.55); font-size:.68rem; font-weight:800; }
  .pizza-price-cell:nth-child(even) { border-left:0; }
  .pizza-price-cell:nth-child(odd) { border-left:1px solid rgba(255,255,255,.1); }
}


/* === Pizza Nova heritage story refresh === */
.story--heritage{
  padding:clamp(72px,9vw,132px) 0;
  background:#f3ead7;
  color:#211713;
  overflow:hidden;
}
.story-heritage-inner{width:min(1180px,calc(100% - 40px));margin:0 auto}
.story-heritage-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.7fr);gap:42px;align-items:end;margin-bottom:50px}
.story-heritage-heading .eyebrow{grid-column:1/-1;margin:0 0 -20px;font-weight:900;letter-spacing:.16em;color:#a52320}
.story-heritage-heading h2{font-size:clamp(3rem,6.5vw,6.6rem);line-height:.86;letter-spacing:-.045em;margin:0;max-width:850px}
.story-lede{font-size:clamp(1.08rem,1.8vw,1.35rem);line-height:1.55;margin:0;color:#5e5148}
.heritage-collage{display:grid;grid-template-columns:1.3fr .72fr .72fr;gap:18px;align-items:start;margin:0 0 64px}
.heritage-photo{margin:0;background:#fff;padding:10px 10px 14px;box-shadow:0 15px 35px rgba(31,20,14,.13);transform:rotate(-1deg)}
.heritage-photo--secondary{margin-top:64px;transform:rotate(1.4deg)}
.heritage-photo--portrait{margin-top:18px;transform:rotate(-1.2deg)}
.heritage-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.heritage-photo--hero img{aspect-ratio:1.05/1.25}
.heritage-photo--secondary img{aspect-ratio:.78/1.12}
.heritage-photo--portrait img{aspect-ratio:.7/1.12}
.heritage-photo figcaption{padding:10px 4px 0;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#67594f}
.story-chapters{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(33,23,19,.25);border-bottom:1px solid rgba(33,23,19,.25);margin-bottom:50px}
.story-chapters article{padding:36px 32px 40px 0}
.story-chapters article+article{border-left:1px solid rgba(33,23,19,.25);padding-left:32px}
.story-number{font-size:.8rem;font-weight:900;letter-spacing:.14em;color:#a52320}
.story-chapters h3{font-size:clamp(1.6rem,2.4vw,2.25rem);line-height:1.05;margin:18px 0 16px}
.story-chapters p{margin:0;line-height:1.68;color:#5e5148}
.heritage-timeline{display:grid;grid-template-columns:repeat(4,1fr);background:#153f31;color:#f6ead2;margin-bottom:42px}
.heritage-timeline div{padding:27px 25px;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}
.heritage-timeline div+div{border-left:1px solid rgba(246,234,210,.22)}
.heritage-timeline strong{font-size:clamp(1.35rem,2.5vw,2.2rem);color:#f0c96f}
.heritage-timeline span{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:800;opacity:.78}
.story-quote{margin:0 auto;max-width:900px;text-align:center;padding:24px 0}
.story-quote p{font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,3.6rem);line-height:1.08;margin:0 0 16px}
.story-quote cite{font-style:normal;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:#a52320;font-size:.75rem}
@media(max-width:760px){
  .story-heritage-inner{width:min(100% - 28px,1180px)}
  .story-heritage-heading{grid-template-columns:1fr;gap:22px;margin-bottom:34px}
  .story-heritage-heading .eyebrow{margin:0}
  .heritage-collage{grid-template-columns:1.2fr .8fr;gap:10px;margin-bottom:45px}
  .heritage-photo{padding:6px 6px 10px}
  .heritage-photo--hero{grid-row:span 2}
  .heritage-photo--secondary,.heritage-photo--portrait{margin-top:0}
  .heritage-photo figcaption{font-size:.62rem}
  .story-chapters{grid-template-columns:1fr}
  .story-chapters article{padding:28px 0}
  .story-chapters article+article{border-left:0;border-top:1px solid rgba(33,23,19,.2);padding-left:0}
  .heritage-timeline{grid-template-columns:1fr 1fr}
  .heritage-timeline div:nth-child(3){border-left:0;border-top:1px solid rgba(246,234,210,.22)}
  .heritage-timeline div:nth-child(4){border-top:1px solid rgba(246,234,210,.22)}
}


/* Final location/map cleanup */
.location-map-embed{min-height:100%;background:#e8dcc0;position:relative;overflow:hidden}
.location-map-embed iframe{display:block;width:100%;height:100%;min-height:560px;border:0}
.location-order-note{margin:18px 0 0;padding:13px 15px;border-left:4px solid #aa2028;background:rgba(170,32,40,.08);font-weight:800;line-height:1.45;color:#5b2927;max-width:520px}
.location-order-note[hidden]{display:none}
@media(max-width:800px){.location-map-embed iframe{min-height:380px}}

/* New From the Kitchen images */
.gallery-item--new { overflow: hidden; }
.gallery-item--new img { width: 100%; height: 100%; object-fit: cover; display: block; }


/* === Expandable gallery lightbox === */
#gallery img[data-lightbox-image] {
  cursor: zoom-in;
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: clamp(18px, 3vw, 40px);
  background: rgba(12, 18, 15, .94);
  backdrop-filter: blur(8px);
}

.gallery-lightbox.is-open {
  display: flex;
}

.gallery-lightbox__figure {
  margin: 0;
  max-width: min(92vw, 1320px);
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.gallery-lightbox__image {
  display: block;
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  border: 8px solid #f5ead4;
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
  background: #f5ead4;
}

.gallery-lightbox__close,
.gallery-lightbox__nav {
  position: fixed;
  border: 0;
  background: #f5ead4;
  color: #173f31;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 30px rgba(0,0,0,.28);
}

.gallery-lightbox__close {
  top: 22px;
  right: 22px;
  font-size: 2rem;
  line-height: 1;
}

.gallery-lightbox__nav {
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.7rem;
}

.gallery-lightbox__nav--prev { left: 22px; }
.gallery-lightbox__nav--next { right: 22px; }

body.lightbox-open {
  overflow: hidden;
}

@media (max-width: 700px) {
  .gallery-lightbox {
    padding: 16px 10px;
  }
  .gallery-lightbox__figure {
    max-width: 96vw;
    max-height: 90vh;
  }
  .gallery-lightbox__image {
    max-height: 76vh;
    border-width: 5px;
  }
  .gallery-lightbox__close,
  .gallery-lightbox__nav {
    width: 44px;
    height: 44px;
  }
  .gallery-lightbox__close {
    top: 12px;
    right: 12px;
  }
  .gallery-lightbox__nav--prev { left: 10px; }
  .gallery-lightbox__nav--next { right: 10px; }
}


/* === Customer reviews === */
.reviews-section{
  background:#a91f24;
  color:#fff6e6;
  padding:clamp(72px,8vw,120px) 0;
}
.reviews-inner{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}
.reviews-heading{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.7fr);
  align-items:end;
  gap:48px;
  margin-bottom:42px;
}
.reviews-heading .eyebrow{
  margin:0 0 16px;
  color:#f2cb73;
  font-weight:900;
  letter-spacing:.16em;
}
.reviews-heading h2{
  margin:0;
  font-size:clamp(3rem,6vw,6.25rem);
  line-height:.9;
  letter-spacing:-.045em;
}
.reviews-intro{
  margin:0;
  max-width:520px;
  font-size:1.12rem;
  line-height:1.65;
  color:rgba(255,246,230,.8);
}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(255,246,230,.32);
}
.review-card{
  min-height:300px;
  padding:36px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:transparent;
}
.review-card + .review-card{
  border-left:1px solid rgba(255,246,230,.32);
}
.review-card--featured{
  background:#f2dfba;
  color:#183f31;
}
.review-stars{
  color:#f2cb73;
  font-size:1.15rem;
  letter-spacing:.12em;
}
.review-card--featured .review-stars{
  color:#a91f24;
}
.review-card blockquote{
  margin:44px 0;
  font-family:Georgia,serif;
  font-size:clamp(1.55rem,2.4vw,2.35rem);
  line-height:1.16;
}
.review-card p{
  margin:0;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:900;
  opacity:.72;
}
.reviews-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-top:28px;
  font-weight:800;
}
.reviews-link{
  color:#fff6e6;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
}
.reviews-link:hover,
.reviews-link:focus-visible{
  opacity:.75;
}
@media(max-width:760px){
  .reviews-inner{width:min(100% - 28px,1180px)}
  .reviews-heading{grid-template-columns:1fr;gap:20px}
  .reviews-grid{grid-template-columns:1fr}
  .review-card{min-height:230px;padding:28px}
  .review-card + .review-card{border-left:0;border-top:1px solid rgba(255,246,230,.32)}
  .reviews-footer{align-items:flex-start;flex-direction:column}
}


/* === EN / ES language toggle === */
.language-toggle{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  white-space:nowrap;
  font-weight:900;
}
.language-toggle__option{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:1rem;
  line-height:1;
  cursor:pointer;
  opacity:.48;
}
.language-toggle__option.is-active{
  opacity:1;
}
.language-toggle__option:hover,
.language-toggle__option:focus-visible{
  opacity:1;
}
.language-toggle__divider{
  opacity:.32;
  font-weight:700;
}


/* === Daily Specials refresh === */
.daily-specials-section{
  background:#7f151b;
  color:#fff7e8;
  padding:clamp(74px,8vw,124px) 0;
}
.daily-specials-inner{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}
.daily-specials-heading{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.7fr);
  gap:46px;
  align-items:end;
  margin-bottom:44px;
}
.daily-specials-heading .eyebrow{
  grid-column:1/-1;
  margin:0 0 -16px;
  color:#f0ca73;
  font-weight:900;
  letter-spacing:.16em;
}
.daily-specials-heading h2{
  margin:0;
  font-size:clamp(3.25rem,6.2vw,6.5rem);
  line-height:.88;
  letter-spacing:-.045em;
}
.daily-specials-heading > p:last-child{
  margin:0;
  color:rgba(255,247,232,.8);
  font-size:1.08rem;
  line-height:1.65;
}
.daily-specials-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}
.daily-special-card{
  grid-column:span 4;
  min-height:330px;
  background:#f6ead2;
  color:#201611;
  border:2px solid #201611;
  padding:30px;
  box-shadow:10px 10px 0 #164332;
  display:flex;
  flex-direction:column;
}
.daily-special-card--sunday,
.daily-special-card--monday{
  grid-column:span 6;
}
.daily-special-day{
  color:#aa1e24;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  font-size:.82rem;
}
.daily-special-card h3{
  margin:26px 0 16px;
  font-size:clamp(1.65rem,2.5vw,2.35rem);
  line-height:1.05;
}
.daily-special-card p{
  margin:0;
  color:#6b5d52;
  line-height:1.55;
  font-size:1rem;
}
.daily-special-note{
  margin-top:10px!important;
  font-size:.86rem!important;
}
.daily-special-price{
  margin-top:auto;
  padding-top:28px;
  color:#164332;
  font-size:clamp(2.2rem,4vw,3.7rem);
  font-weight:900;
  letter-spacing:-.04em;
}
.daily-special-monday{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:6px 0 18px;
}
.daily-special-monday div{
  border-top:1px solid rgba(32,22,17,.25);
  padding-top:14px;
}
.daily-special-monday strong{
  display:block;
  color:#164332;
  font-size:1.45rem;
  margin-bottom:7px;
}
.daily-special-monday span{
  display:block;
  color:#6b5d52;
  line-height:1.45;
}
.daily-specials-footer{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  padding-top:34px;
  color:rgba(255,247,232,.82);
}
.daily-specials-footer a{
  color:#fff7e8;
  text-decoration:none;
  font-weight:900;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
}
@media(max-width:800px){
  .daily-specials-inner{width:min(100% - 28px,1180px)}
  .daily-specials-heading{grid-template-columns:1fr;gap:20px}
  .daily-specials-heading .eyebrow{margin:0}
  .daily-specials-grid{grid-template-columns:1fr}
  .daily-special-card,
  .daily-special-card--sunday,
  .daily-special-card--monday{grid-column:auto;min-height:280px}
  .daily-special-monday{grid-template-columns:1fr}
  .daily-specials-footer{align-items:flex-start;flex-direction:column}
}


/* === Full Specials section === */
.specials-section{
  background:#7f151b;
  color:#fff7e8;
  padding:clamp(74px,8vw,124px) 0;
}
.specials-inner{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}
.specials-heading{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.7fr);
  gap:44px;
  align-items:end;
  margin-bottom:44px;
}
.specials-heading .eyebrow{
  grid-column:1/-1;
  margin:0 0 -16px;
  color:#f0ca73;
  font-weight:900;
  letter-spacing:.16em;
}
.specials-heading h2{
  margin:0;
  font-size:clamp(3.3rem,6.4vw,6.8rem);
  line-height:.88;
  letter-spacing:-.045em;
}
.specials-heading > p:last-child{
  margin:0;
  color:rgba(255,247,232,.82);
  font-size:1.08rem;
  line-height:1.65;
}
.specials-subhead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  margin:0 0 18px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,247,232,.28);
}
.specials-subhead span{
  font-family:Georgia,serif;
  font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:700;
}
.specials-subhead small{
  color:rgba(255,247,232,.7);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:800;
}
.specials-subhead--more{margin-top:54px}

.daily-specials-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}
.daily-special-card{
  grid-column:span 4;
  min-height:320px;
  background:#f6ead2;
  color:#201611;
  border:2px solid #201611;
  padding:30px;
  box-shadow:10px 10px 0 #164332;
  display:flex;
  flex-direction:column;
}
.daily-special-card--sunday,
.daily-special-card--monday{grid-column:span 6}
.daily-special-day,
.more-special-tag{
  color:#aa1e24;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:900;
  font-size:.8rem;
}
.daily-special-card h3,
.more-special-card h3{
  margin:24px 0 14px;
  font-size:clamp(1.55rem,2.25vw,2.2rem);
  line-height:1.06;
}
.daily-special-card p,
.more-special-card p{
  margin:0;
  color:#6b5d52;
  line-height:1.55;
}
.daily-special-note,
.more-special-note{
  margin-top:9px!important;
  font-size:.86rem;
}
.daily-special-price,
.more-special-price{
  margin-top:auto;
  padding-top:25px;
  color:#164332;
  font-size:clamp(2.15rem,3.8vw,3.5rem);
  font-weight:900;
  letter-spacing:-.04em;
}
.daily-special-monday{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:6px 0 18px;
}
.daily-special-monday div{
  border-top:1px solid rgba(32,22,17,.25);
  padding-top:14px;
}
.daily-special-monday strong{
  display:block;
  color:#164332;
  font-size:1.4rem;
  margin-bottom:6px;
}
.daily-special-monday span{
  display:block;
  color:#6b5d52;
  line-height:1.45;
}

.more-specials-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.more-special-card{
  min-height:320px;
  background:#f6ead2;
  color:#201611;
  border:2px solid #201611;
  padding:28px;
  display:flex;
  flex-direction:column;
  box-shadow:8px 8px 0 #164332;
}
.more-special-card--highlight{
  background:#efd08a;
}
.specials-disclaimer{
  margin-top:42px;
  padding-top:24px;
  border-top:1px solid rgba(255,247,232,.28);
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:flex-start;
  color:rgba(255,247,232,.78);
}
.specials-disclaimer p{
  margin:0;
  max-width:780px;
  line-height:1.55;
  font-size:.92rem;
}
.specials-disclaimer a{
  color:#fff7e8;
  text-decoration:none;
  font-weight:900;
  white-space:nowrap;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
}
@media(max-width:980px){
  .more-specials-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
  .specials-inner{width:min(100% - 28px,1180px)}
  .specials-heading{grid-template-columns:1fr;gap:20px}
  .specials-heading .eyebrow{margin:0}
  .specials-subhead{align-items:flex-start;flex-direction:column;gap:6px}
  .daily-specials-grid{grid-template-columns:1fr}
  .daily-special-card,
  .daily-special-card--sunday,
  .daily-special-card--monday{grid-column:auto;min-height:270px}
  .daily-special-monday{grid-template-columns:1fr}
  .more-specials-grid{grid-template-columns:1fr}
  .more-special-card{min-height:260px}
  .specials-disclaimer{flex-direction:column}
}


/* === Mobile navigation fix: keep site navigation at the top === */
@media (max-width: 1019px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
  }

  .nav-wrap {
    width: calc(100% - 24px);
    grid-template-columns: auto 1fr auto;
    gap: 10px;
  }

  .brand img {
    width: 118px;
    height: 64px;
  }

  .nav-toggle {
    display: grid;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }

  .nav-actions {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }

  .primary-nav {
    position: fixed;
    top: var(--header-h);
    left: 0;
    right: 0;
    width: 100%;
    max-height: calc(100dvh - var(--header-h));
    overflow-y: auto;
    padding: 18px 24px 24px;
    background: var(--cream-light);
    border-top: 1px solid var(--border);
    box-shadow: 0 18px 28px rgba(35,26,22,.14);
  }

  .primary-nav.open {
    display: grid;
    gap: 0;
  }

  .primary-nav a {
    display: block;
    padding: 15px 0;
    border-bottom: 1px solid rgba(35,26,22,.1);
    font-size: 1rem;
  }

  .primary-nav a:last-child {
    border-bottom: 0;
  }

  .site-footer {
    padding-bottom: 0 !important;
  }
}


/* === Mobile location picker: dropdown on phones, tabs on desktop === */
.mobile-location-select-wrap {
  display: none;
}

@media (max-width: 760px) {
  .location-tabs {
    display: none !important;
  }

  .mobile-location-select-wrap {
    display: block;
    margin-top: 24px;
  }

  .mobile-location-select-label {
    display: block;
    margin-bottom: 10px;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(246,234,210,.78);
  }

  .mobile-location-select {
    width: 100%;
    min-height: 58px;
    padding: 0 48px 0 18px;
    border: 2px solid rgba(246,234,210,.45);
    border-radius: 16px;
    background: #f6ead2;
    color: #164332;
    font: inherit;
    font-size: 1.05rem;
    font-weight: 900;
    appearance: none;
    -webkit-appearance: none;
    background-image:
      linear-gradient(45deg, transparent 50%, #164332 50%),
      linear-gradient(135deg, #164332 50%, transparent 50%);
    background-position:
      calc(100% - 21px) 24px,
      calc(100% - 15px) 24px;
    background-size: 7px 7px, 7px 7px;
    background-repeat: no-repeat;
  }

  .mobile-location-select:focus {
    outline: 3px solid rgba(246,234,210,.35);
    outline-offset: 2px;
  }
}


/* === Mobile restaurant menu picker ===
   Desktop keeps the existing category pills.
   Phones use one clean dropdown instead. */
.mobile-menu-select-wrap {
  display: none;
}

@media (max-width: 760px) {
  .menu-categories {
    display: none !important;
  }

  .menu-layout {
    display: block !important;
  }

  .mobile-menu-select-wrap {
    display: block;
    width: calc(100% - 32px);
    margin: 24px auto 28px;
  }

  .mobile-menu-select-label {
    display: block;
    margin-bottom: 10px;
    color: #164332;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .mobile-menu-select {
    width: 100%;
    min-height: 58px;
    padding: 0 48px 0 18px;
    border: 2px solid #164332;
    border-radius: 16px;
    background-color: #f6ead2;
    color: #164332;
    font: inherit;
    font-size: 1.05rem;
    font-weight: 900;
    appearance: none;
    -webkit-appearance: none;
    background-image:
      linear-gradient(45deg, transparent 50%, #164332 50%),
      linear-gradient(135deg, #164332 50%, transparent 50%);
    background-position:
      calc(100% - 21px) 24px,
      calc(100% - 15px) 24px;
    background-size: 7px 7px, 7px 7px;
    background-repeat: no-repeat;
  }

  .mobile-menu-select:focus {
    outline: 3px solid rgba(22,67,50,.18);
    outline-offset: 2px;
  }
}


/* === Desktop hero note fix ===
   Keep the full neighborhood-tradition line inside the readable cream area. */
@media (min-width: 1020px) {
  .hero-copy {
    min-width: 0;
  }

  .hero-note {
    width: 100%;
    max-width: 590px;
    align-items: flex-start;
  }

  .hero-note p {
    min-width: 0;
    max-width: 540px;
    white-space: normal;
    overflow-wrap: normal;
    line-height: 1.25;
  }

  .hero-note span {
    flex: 0 0 auto;
    line-height: 1.25;
  }
}


/* === Deterministic desktop hero-note fix ===
   The green circle uses the same green as the note text, so a one-line sentence
   can visually disappear where it crosses the circle. Keep the phrase in two
   deliberate lines on desktop so all text stays over the cream background. */
.hero-note-es { display: none; }

html[lang="es"] .hero-note-en { display: none; }
html[lang="es"] .hero-note-es { display: inline; }

@media (min-width: 1020px) {
  .hero-note {
    max-width: 650px !important;
  }

  .hero-note-text {
    display: block !important;
    width: auto !important;
    max-width: 620px !important;
    margin: 0 !important;
  }

  .hero-note-line {
    display: block !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 1019px) {
  .hero-note-line {
    display: inline;
  }

  .hero-note-line + .hero-note-line::before {
    content: " ";
  }
}
