:root {
  --red: #c81022;
  --red-dark: #8f0713;
  --ink: #12100f;
  --ink-soft: #211e1b;
  --cream: #f5eddb;
  --paper: #fffaf0;
  --blue: #164c96;
  --yellow: #f4bd27;
  --white: #ffffff;
  --line: rgba(18, 16, 15, .18);
  --display: Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Condensed", sans-serif;
  --body: "Trebuchet MS", Arial, sans-serif;
  --max: 1320px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;
}
body::before {
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
  content: "";
  opacity: .06;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid var(--yellow); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 999; transform: translateY(-150%); padding: 10px 14px; background: white; color: black; font-weight: 800; }
.skip-link:focus { transform: translateY(0); }

.topline {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 6px max(22px, calc((100vw - var(--max)) / 2));
  color: var(--cream);
  background: var(--ink);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.topline a { color: var(--cream); text-decoration: none; }
.topline a strong { margin-left: 8px; color: var(--yellow); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 8px max(22px, calc((100vw - var(--max)) / 2));
  border-bottom: 1px solid rgba(255,255,255,.16);
  color: white;
  background: rgba(200, 16, 34, .96);
  backdrop-filter: blur(14px);
}
.wordmark { display: inline-flex; align-items: baseline; color: white; text-decoration: none; transform: skew(-5deg); }
.wordmark span { font-family: var(--display); font-size: 2.3rem; line-height: .8; letter-spacing: -.04em; text-transform: uppercase; }
.wordmark span:nth-child(2) { color: var(--yellow); }
.wordmark small { margin-left: 4px; padding: 2px 4px; background: var(--blue); font-weight: 900; font-size: .66rem; letter-spacing: .08em; transform: skew(5deg); }
.site-nav { display: flex; align-items: center; gap: 28px; }
.site-nav a { position: relative; color: white; text-decoration: none; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.site-nav a:not(.nav-call)::after { position: absolute; right: 0; bottom: -8px; left: 0; height: 3px; content: ""; background: var(--yellow); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.site-nav a:hover::after, .site-nav a.is-current::after { transform: scaleX(1); }
.nav-call { padding: 11px 16px; color: var(--ink) !important; background: var(--yellow); clip-path: polygon(7px 0, 100% 0, calc(100% - 7px) 100%, 0 100%); }
.nav-toggle { display: none; width: 44px; height: 42px; padding: 10px; border: 0; background: transparent; }
.nav-toggle span { display: block; height: 3px; margin: 5px 0; background: white; }

.hero {
  position: relative;
  min-height: calc(100vh - 106px);
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(440px, .98fr);
  grid-template-rows: minmax(560px, 1fr) 168px;
  color: white;
  background: var(--red);
  overflow: hidden;
}
.hero__copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: clamp(72px, 9vw, 130px) max(32px, calc((100vw - var(--max)) / 2)) 72px; padding-right: clamp(32px, 6vw, 90px); }
.hero__copy::before { position: absolute; width: 360px; height: 360px; left: -170px; top: 14%; border: 60px solid rgba(255,255,255,.06); border-radius: 50%; content: ""; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font-size: .73rem; font-weight: 900; text-transform: uppercase; letter-spacing: .18em; }
.eyebrow span { width: 42px; height: 4px; background: var(--yellow); }
.hero h1, .section-heading h2, .story h2, .catering h2, .contact h2, .page-hero h1, .home-menu h2, .home-split h2, .order-section h2, .menu-art-section h2, .schedule-history h2, .event-types h2, .event-contact h2 {
  margin: 0;
  font-family: var(--display);
  font-weight: 900;
  line-height: .94;
  letter-spacing: -.015em;
  text-transform: uppercase;
}
.hero h1 { max-width: 800px; font-size: clamp(4.5rem, 8vw, 8rem); line-height: .91; text-shadow: 5px 5px 0 var(--red-dark); }
.hero h1 em { color: var(--yellow); font-style: normal; }
.hero__lead { max-width: 570px; margin: 30px 0 0; font-size: clamp(1rem, 1.5vw, 1.25rem); color: rgba(255,255,255,.88); }
.hero__actions { display: flex; align-items: center; gap: 30px; margin-top: 36px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-width: 190px; padding: 15px 20px; border: 2px solid currentColor; text-decoration: none; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%); transition: transform .2s ease, background-color .2s ease; }
.button:hover { transform: translateY(-3px); }
.button--light { color: var(--ink); background: var(--cream); border-color: var(--cream); }
.button--dark { color: white; background: var(--ink); border-color: var(--ink); }
.text-link { display: inline-flex; flex-direction: column; color: white; text-decoration: none; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.text-link span { color: var(--yellow); font-size: .95rem; letter-spacing: .03em; }
.text-link--dark { color: var(--ink); }
.text-link--dark span { color: var(--red); }
.hero__stamp { display: flex; align-items: center; gap: 14px; margin-top: 44px; }
.hero__stamp strong { width: 58px; height: 58px; display: grid; place-items: center; border: 3px solid var(--yellow); border-radius: 50%; color: var(--yellow); font-family: var(--display); font-size: 1.8rem; }
.hero__stamp span { font-size: .66rem; font-weight: 900; line-height: 1.35; text-transform: uppercase; letter-spacing: .12em; }
.hero__visual { position: relative; min-width: 0; overflow: hidden; border-left: 6px solid var(--ink); }
.hero__visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(18,16,15,.15), transparent 35%); pointer-events: none; }
.hero__visual > img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; filter: saturate(1.08) contrast(1.04); }
.hero__ticker { position: absolute; z-index: 2; left: -42px; bottom: 22%; display: flex; gap: 14px; padding: 10px 24px; color: var(--ink); background: var(--yellow); font-family: var(--display); font-size: 1.1rem; text-transform: uppercase; transform: rotate(-7deg); box-shadow: 0 6px 0 var(--ink); }
.hero__ticker i { color: var(--red); }
.hero__price { position: absolute; z-index: 2; top: 34px; right: 26px; width: 118px; height: 118px; display: grid; place-content: center; text-align: center; border-radius: 50%; color: var(--ink); background: var(--cream); box-shadow: 6px 6px 0 var(--blue); transform: rotate(4deg); }
.hero__price span { font-size: .62rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.hero__price strong { font-family: var(--display); font-size: 3.2rem; line-height: .95; }
.hero__truck { position: relative; grid-column: 1 / -1; overflow: hidden; border-top: 6px solid var(--ink); background: var(--ink); }
.hero__truck img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; opacity: .72; filter: saturate(.85) contrast(1.15); }
.hero__truck::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, var(--ink) 0%, transparent 38%, transparent 70%, var(--ink) 100%); }
.hero__truck span { position: absolute; z-index: 2; right: max(24px, calc((100vw - var(--max)) / 2)); top: 50%; color: white; font-family: var(--display); font-size: clamp(1.8rem, 4vw, 3.8rem); text-transform: uppercase; transform: translateY(-50%) rotate(-2deg); }

.section { padding: clamp(82px, 10vw, 140px) max(22px, calc((100vw - var(--max)) / 2)); }
.section-heading h2, .story h2, .catering h2, .contact h2 { font-size: clamp(3rem, 6vw, 6rem); }
.section-heading--light { color: white; }
.today { color: white; background: var(--ink); }
.today__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(30px, 6vw, 90px); align-items: stretch; margin-top: 52px; }
.status-card { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 390px; padding: clamp(28px, 4vw, 48px); color: var(--ink); background: var(--yellow); clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 34px, 100% 100%, 0 100%); }
.status-card::after { position: absolute; top: 0; right: 0; width: 34px; height: 34px; content: ""; background: #8f6810; }
.status-card__top { display: flex; align-items: center; gap: 12px; font-size: .76rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.status-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 6px rgba(200,16,34,.16); }
.status-card > p { max-width: 500px; margin: 32px 0; font-family: Georgia, serif; font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.25; }
.status-card__location { display: flex; flex-direction: column; padding-top: 20px; border-top: 2px solid rgba(18,16,15,.22); }
.status-card__location small { font-size: .64rem; font-weight: 900; text-transform: uppercase; letter-spacing: .13em; }
.status-card__location strong { margin-top: 6px; text-transform: uppercase; }
.today__actions { border-top: 1px solid rgba(255,255,255,.2); }
.action-tile { display: grid; grid-template-columns: 54px 1fr auto; grid-template-rows: auto auto; gap: 1px 18px; align-items: center; min-height: 116px; padding: 22px 8px; border-bottom: 1px solid rgba(255,255,255,.2); color: white; text-decoration: none; transition: padding-left .2s ease, color .2s ease; }
.action-tile:hover { padding-left: 18px; color: var(--yellow); }
.action-tile > span { grid-row: 1 / 3; font-family: var(--display); font-size: 1.35rem; color: var(--red); }
.action-tile strong { font-family: var(--display); font-size: clamp(1.5rem, 2.5vw, 2.3rem); line-height: 1; text-transform: uppercase; }
.action-tile small { color: rgba(255,255,255,.56); }
.action-tile b { grid-column: 3; grid-row: 1 / 3; font-size: 1.5rem; }

.menu { background: var(--cream); }
.menu__header { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: end; }
.menu__header > p { max-width: 490px; margin: 0 0 6px; font-family: Georgia, serif; font-size: 1.12rem; }
.menu-shell { display: grid; grid-template-columns: 210px minmax(0, 1fr) 36%; min-height: 590px; margin-top: 54px; border: 3px solid var(--ink); background: var(--paper); box-shadow: 12px 12px 0 var(--red); }
.menu-tabs { display: flex; flex-direction: column; background: var(--red); }
.menu-tabs button { flex: 1; min-height: 90px; padding: 20px; border: 0; border-bottom: 1px solid rgba(255,255,255,.3); color: white; background: transparent; text-align: left; font-family: var(--display); font-size: 1.4rem; line-height: 1; text-transform: uppercase; cursor: pointer; }
.menu-tabs button.is-active { color: var(--ink); background: var(--yellow); }
.menu-panel { padding: clamp(28px, 4vw, 52px); }
.menu-panel__intro { display: flex; flex-direction: column; padding-bottom: 24px; border-bottom: 4px solid var(--ink); }
.menu-panel__intro span { color: var(--red); font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .13em; }
.menu-panel__intro strong { margin-top: 5px; font-family: var(--display); font-size: 3rem; line-height: 1; text-transform: uppercase; }
.menu-items { display: grid; }
.menu-item { display: flex; justify-content: space-between; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.menu-item h3 { margin: 0 0 5px; font-size: 1rem; text-transform: uppercase; }
.menu-item p { margin: 0; color: #615950; font-size: .82rem; line-height: 1.4; }
.menu-item__price { font-family: var(--display); font-size: 1.9rem; color: var(--red); }
.menu-photo { position: relative; min-height: 100%; margin: 0; overflow: hidden; }
.menu-photo img { width: 100%; height: 100%; object-fit: cover; }
.menu-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 22px; color: white; background: linear-gradient(transparent, rgba(18,16,15,.9)); }
.menu-photo figcaption span, .menu-photo figcaption strong { display: block; text-transform: uppercase; }
.menu-photo figcaption span { font-size: .65rem; letter-spacing: .13em; }
.menu-photo figcaption strong { font-family: var(--display); font-size: 1.8rem; }
.menu-note { margin: 32px 0 0; color: #685f54; font-size: .76rem; }

.story { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(50px, 8vw, 120px); align-items: center; background: var(--paper); }
.story__images { position: relative; min-height: 650px; }
.story__main { width: 85%; height: 74%; object-fit: cover; box-shadow: -14px 14px 0 var(--blue); }
.story__detail { position: absolute; right: 0; bottom: 0; width: 46%; height: 50%; object-fit: cover; border: 10px solid var(--paper); }
.story__number { position: absolute; left: 5%; bottom: 2%; color: var(--yellow); font-family: var(--display); font-size: clamp(6rem, 11vw, 11rem); line-height: .7; text-shadow: 5px 5px 0 var(--red); transform: rotate(-5deg); }
.story__copy > p:not(.eyebrow) { max-width: 540px; color: #514a44; font-family: Georgia, serif; font-size: 1.06rem; }
.story__copy .text-link { margin-top: 20px; }

.gallery { color: white; background: var(--red); }
.gallery__heading { margin-bottom: 50px; }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 250px; gap: 12px; }
.gallery-card { position: relative; padding: 0; border: 0; overflow: hidden; background: var(--ink); cursor: zoom-in; }
.gallery-card--wide { grid-column: span 2; }
.gallery-card--tall { grid-row: span 2; }
.gallery-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease, filter .5s ease; }
.gallery-card::after { position: absolute; inset: auto 0 0; height: 55%; content: ""; background: linear-gradient(transparent, rgba(18,16,15,.72)); pointer-events: none; }
.gallery-card span { position: absolute; z-index: 2; left: 18px; bottom: 14px; color: white; font-family: var(--display); font-size: 1.45rem; text-transform: uppercase; }
.gallery-card:hover img { transform: scale(1.045); filter: saturate(1.12); }

.catering { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 650px; padding-top: 0; padding-bottom: 0; padding-right: 0; color: var(--ink); background: var(--yellow); }
.catering__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(70px, 8vw, 120px) clamp(36px, 6vw, 90px) clamp(70px, 8vw, 120px) 0; }
.catering__copy > p:not(.eyebrow) { max-width: 560px; font-family: Georgia, serif; font-size: 1.08rem; }
.catering__copy .button { align-self: flex-start; margin-top: 25px; }
.catering__photo { position: relative; min-height: 650px; overflow: hidden; }
.catering__photo img { width: 100%; height: 100%; object-fit: cover; }
.catering__tag { position: absolute; right: 0; bottom: 46px; padding: 14px 26px; color: white; background: var(--blue); font-weight: 900; text-transform: uppercase; letter-spacing: .09em; box-shadow: -8px 8px 0 var(--red); }

.contact { position: relative; min-height: 620px; color: white; background: var(--blue); overflow: hidden; }
.contact::after { position: absolute; width: 430px; height: 430px; right: -130px; bottom: -190px; border: 70px solid rgba(255,255,255,.07); border-radius: 50%; content: ""; }
.contact__word { position: absolute; left: 50%; top: 49%; color: rgba(255,255,255,.055); font-family: var(--display); font-size: min(20vw, 20rem); line-height: 1; letter-spacing: -.04em; transform: translate(-50%, -50%) rotate(-4deg); white-space: nowrap; }
.contact__content { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr .8fr; gap: 80px; align-items: center; min-height: 380px; }
.contact__links { border-top: 1px solid rgba(255,255,255,.35); }
.contact__links a { display: flex; flex-direction: column; padding: 20px 0; border-bottom: 1px solid rgba(255,255,255,.35); text-decoration: none; }
.contact__links a:hover strong { color: var(--yellow); }
.contact__links small { color: rgba(255,255,255,.65); font-size: .65rem; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.contact__links strong { font-family: var(--display); font-size: 1.8rem; text-transform: uppercase; transition: color .2s ease; }

.site-footer { min-height: 190px; display: grid; grid-template-columns: auto 1fr auto; gap: 40px; align-items: center; padding: 40px max(22px, calc((100vw - var(--max)) / 2)); color: white; background: var(--ink); }
.wordmark--footer span { font-size: 2rem; }
.site-footer p { margin: 0; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.site-footer p:last-child { color: rgba(255,255,255,.55); text-align: right; }
.site-footer p span { margin: 0 5px; }

.mobile-bar { display: none; }
.lightbox { max-width: min(900px, 92vw); padding: 0; border: 0; background: transparent; color: white; }
.lightbox::backdrop { background: rgba(10,9,8,.92); backdrop-filter: blur(4px); }
.lightbox img { max-height: 78vh; margin: auto; object-fit: contain; box-shadow: 0 18px 70px rgba(0,0,0,.5); }
.lightbox p { margin: 10px 0 0; text-align: center; font-weight: 800; }
.lightbox form { position: absolute; z-index: 2; right: 8px; top: 8px; }
.lightbox button { width: 42px; height: 42px; border: 0; border-radius: 50%; color: var(--ink); background: var(--yellow); font-size: 1.8rem; cursor: pointer; }

@media (max-width: 1000px) {
  .site-nav { gap: 16px; }
  .site-nav a { font-size: .7rem; }
  .hero { grid-template-columns: .95fr 1.05fr; }
  .hero h1 { font-size: clamp(4rem, 9.5vw, 6rem); }
  .hero__actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .menu-shell { grid-template-columns: 170px minmax(0, 1fr); }
  .menu-photo { display: none; }
  .story { grid-template-columns: 1fr 1fr; gap: 50px; }
  .story__images { min-height: 520px; }
  .catering { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 72px; }
  body { padding-bottom: 62px; }
  .topline { display: none; }
  .site-header { min-height: 68px; }
  .nav-toggle { display: block; }
  .site-nav { position: fixed; inset: 68px 0 auto; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 22px; background: var(--ink); transform: translateY(-125%); visibility: hidden; transition: transform .25s ease, visibility .25s ease; box-shadow: 0 20px 50px rgba(0,0,0,.28); }
  .site-nav.is-open { transform: translateY(0); visibility: visible; }
  .site-nav a { padding: 15px 4px; border-bottom: 1px solid rgba(255,255,255,.15); font-size: 1rem; }
  .site-nav a::after { display: none; }
  .nav-call { margin-top: 14px; padding: 14px !important; text-align: center; }
  body.nav-open { overflow: hidden; }

  .hero { min-height: 0; display: grid; grid-template-columns: 1fr; grid-template-rows: auto 68svh 130px; }
  .hero__copy { min-height: 560px; padding: 70px 22px 52px; }
  .hero h1 { font-size: clamp(4.2rem, 19vw, 6.2rem); }
  .hero__lead { font-size: 1rem; }
  .hero__actions { align-items: flex-start; flex-direction: column; gap: 22px; }
  .hero__stamp { margin-top: 36px; }
  .hero__visual { border-top: 6px solid var(--ink); border-left: 0; }
  .hero__visual > img { object-position: center 64%; }
  .hero__ticker { left: -16px; bottom: 12%; font-size: .85rem; }
  .hero__price { width: 96px; height: 96px; top: 22px; right: 18px; }
  .hero__price strong { font-size: 2.65rem; }
  .hero__truck { grid-column: auto; }
  .hero__truck span { left: 22px; right: auto; font-size: 1.7rem; }

  .section { padding: 80px 22px; }
  .section-heading h2, .story h2, .catering h2, .contact h2 { font-size: clamp(3rem, 14vw, 4.5rem); }
  .today__grid, .menu__header, .story, .contact__content { grid-template-columns: 1fr; }
  .today__grid { gap: 38px; margin-top: 38px; }
  .status-card { min-height: 350px; }
  .action-tile { grid-template-columns: 42px 1fr auto; }
  .action-tile strong { font-size: 1.7rem; }

  .menu__header { gap: 20px; }
  .menu-shell { display: block; min-height: 0; margin-top: 38px; box-shadow: 7px 7px 0 var(--red); }
  .menu-tabs { flex-direction: row; overflow-x: auto; }
  .menu-tabs button { flex: 0 0 auto; min-height: 68px; padding: 16px 20px; font-size: 1.05rem; }
  .menu-panel { padding: 26px 20px; }
  .menu-panel__intro strong { font-size: 2.4rem; }
  .menu-item { gap: 12px; }
  .menu-item__price { font-size: 1.55rem; }

  .story { gap: 68px; }
  .story__images { min-height: 490px; }
  .story__main { width: 88%; height: 78%; }
  .story__detail { width: 47%; height: 46%; }
  .story__number { font-size: 7rem; }

  .gallery-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 210px; }
  .gallery-card--wide { grid-column: span 2; }
  .gallery-card--tall { grid-row: span 2; }

  .catering { display: flex; flex-direction: column; min-height: 0; padding: 0; }
  .catering__copy { padding: 80px 22px; }
  .catering__photo { min-height: 330px; }
  .catering__photo img { object-position: center; }
  .catering__tag { right: 16px; bottom: 22px; font-size: .72rem; }

  .contact { min-height: 710px; }
  .contact__content { gap: 52px; }
  .contact__word { font-size: 33vw; transform: translate(-50%, -45%) rotate(-7deg); }

  .site-footer { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; padding: 50px 22px; }
  .site-footer p:last-child { text-align: left; }
  .mobile-bar { position: fixed; z-index: 60; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr; min-height: 62px; box-shadow: 0 -5px 25px rgba(0,0,0,.22); }
  .mobile-bar a { display: grid; place-items: center; color: white; background: var(--blue); text-decoration: none; font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
  .mobile-bar a:last-child { color: var(--ink); background: var(--yellow); }
}

/* Operational and navigation refinement */
.topline { background: var(--blue); }
.site-header { background: rgba(18,16,15,.97); border-bottom-color: rgba(255,255,255,.11); }
.site-nav a:not(.nav-call)::after { background: var(--red); }
.nav-call { background: var(--yellow); }
.brand-logo img { filter: drop-shadow(0 2px 0 rgba(0,0,0,.45)); }

.home-portals { display: grid; grid-template-columns: repeat(3,1fr); background: var(--ink); border-top: 7px solid var(--ink); }
.home-portals > a { position: relative; min-height: 480px; overflow: hidden; color: white; border-right: 2px solid var(--ink); text-decoration: none; }
.home-portals > a:last-child { border-right: 0; }
.home-portals img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.home-portals a:hover img { transform: scale(1.045); }
.home-portals a::after { position: absolute; inset: 15% 0 0; content:""; background: linear-gradient(transparent,rgba(18,16,15,.94)); }
.home-portals div { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 34px; }
.home-portals small, .home-portals strong, .home-portals span { display: block; }
.home-portals small { color: var(--yellow); font-size: .65rem; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.home-portals strong { margin: 7px 0 16px; font: clamp(2.3rem,4vw,4.5rem)/.95 var(--display); text-transform: uppercase; }
.home-portals span { font-size: .74rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }

.location-dashboard { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px,6vw,90px); align-items: stretch; background: var(--ink); color: white; }
.location-dashboard__info h2 { margin: 0 0 35px; font: clamp(3.4rem,6vw,6.5rem)/.94 var(--display); text-transform: uppercase; }
.location-dashboard .status-card { min-height: 350px; }
.location-links { margin-top: 24px; border-top: 1px solid rgba(255,255,255,.22); }
.location-links a { display: flex; flex-direction: column; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.22); color: white; text-decoration: none; }
.location-links strong { font-family: var(--display); font-size: 1.55rem; text-transform: uppercase; }
.location-links span { color: rgba(255,255,255,.6); font-size: .78rem; }
.live-map { min-height: 670px; display: grid; grid-template-rows: 1fr auto; border: 5px solid var(--cream); background: var(--cream); color: var(--ink); box-shadow: 12px 12px 0 var(--blue); }
.live-map iframe { width: 100%; height: 100%; min-height: 540px; border: 0; }
.live-map > div { display: grid; grid-template-columns: 1fr auto; gap: 3px 20px; padding: 20px; }
.live-map small { grid-column: 1; color: var(--red); font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.live-map strong { grid-column: 1; }
.live-map a { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.schedule-note { display: grid; grid-template-columns: 1fr 1fr; min-height: 620px; background: var(--yellow); }
.schedule-note img { width: 100%; height: 100%; object-fit: cover; }
.schedule-note > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(55px,8vw,120px); }
.schedule-note h2 { margin: 0; font: clamp(3.5rem,6vw,6.5rem)/.94 var(--display); text-transform: uppercase; }
.schedule-note p:not(.eyebrow) { font: 1.08rem/1.7 Georgia,serif; }
.schedule-note .button { align-self: flex-start; margin-top: 20px; }

.cart-totals { margin: 0; }
.cart-totals > div { display: flex; justify-content: space-between; gap: 20px; padding: 5px 0; }
.cart-totals dt { color: #6c635a; font-size: .75rem; text-transform: uppercase; }
.cart-totals dd { margin: 0; font-weight: 900; }
.cart-totals__total { margin-top: 8px; padding-top: 14px !important; border-top: 2px solid var(--ink); }
.cart-totals__total dt, .cart-totals__total dd { color: var(--ink); font-size: 1.15rem; }
.cart-totals__total dd { color: var(--red); }
.cart-drawer__foot .button { cursor: pointer; }

.checkout-dialog { width: min(580px,92vw); max-height: 92vh; padding: 0; border: 0; color: var(--ink); background: var(--paper); box-shadow: 0 24px 90px rgba(0,0,0,.55); }
.checkout-dialog::backdrop { background: rgba(10,9,8,.82); backdrop-filter: blur(5px); }
.checkout-dialog form { position: relative; display: grid; gap: 16px; padding: clamp(28px,5vw,52px); }
.checkout-dialog h2 { margin: 0 0 12px; font: 3.4rem/1 var(--display); text-transform: uppercase; }
.checkout-dialog label { display: grid; gap: 6px; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.checkout-dialog input, .checkout-dialog textarea { width: 100%; padding: 12px; border: 2px solid var(--ink); border-radius: 0; background: white; }
.checkout-close { position: absolute; top: 15px; right: 15px; width: 40px; height: 40px; border: 0; color: white; background: var(--ink); font-size: 1.5rem; cursor: pointer; }
.checkout-summary { display: flex; justify-content: space-between; gap: 20px; margin-top: 8px; padding: 18px 0; border-block: 2px solid var(--ink); font-size: .78rem; font-weight: 900; }
.checkout-summary strong { color: var(--red); font-size: 1.35rem; }
.checkout-disclaimer { margin: 0; color: #70675e; font-size: .72rem; }
.checkout-success { padding: 18px; background: var(--yellow); }
.checkout-success strong { font: 1.7rem/1 var(--display); text-transform: uppercase; }
.checkout-success p { margin-bottom: 0; }

@media (max-width: 760px) {
  .home-hero { grid-template-rows: minmax(650px,88svh) 130px; }
  .home-hero .hero__copy { min-height: 650px; background-image: linear-gradient(180deg,rgba(18,16,15,.2),rgba(143,7,19,.88) 68%,rgba(18,16,15,.92)),url("food5.jpg"); background-size: cover; background-position: center 48%; }
  .home-hero .hero__visual { display: none; }
  .home-hero .hero__truck { grid-row: 2; }
  .home-portals { grid-template-columns: 1fr; }
  .home-portals > a { min-height: 390px; border-right: 0; border-bottom: 5px solid var(--ink); }
  .home-portals > a:last-child { border-bottom: 0; }
  .location-dashboard, .schedule-note { grid-template-columns: 1fr; }
  .location-dashboard { gap: 58px; }
  .live-map { min-height: 560px; }
  .live-map iframe { min-height: 440px; }
  .live-map > div { grid-template-columns: 1fr; }
  .live-map a { grid-column: 1; grid-row: auto; margin-top: 8px; }
  .schedule-note img { height: 430px; }
  .checkout-dialog form { padding: 34px 22px; }
}

@media (max-width: 390px) {
  .hero__copy { min-height: 535px; }
  .hero h1 { font-size: 4rem; }
  .hero__ticker span:last-of-type, .hero__ticker i:last-of-type { display: none; }
  .gallery-grid { display: block; }
  .gallery-card { width: 100%; height: 320px; margin-bottom: 10px; }
  .gallery-card--wide { height: 250px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Multi-page refinement */
.brand-logo { width: 180px; height: 54px; display: flex; align-items: center; text-decoration: none; }
.brand-logo img { width: 100%; height: 100%; object-fit: contain; object-position: left center; filter: drop-shadow(0 2px 0 rgba(0,0,0,.25)); }
.brand-logo--footer { width: 190px; height: 92px; }
.site-nav button.cart-button { border: 0; cursor: pointer; }
.cart-button { display: inline-flex; align-items: center; gap: 10px; padding: 12px 16px; color: var(--ink); background: var(--yellow); font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; clip-path: polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%); }
.cart-button span { min-width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--red); }

.home-status__photo { position: relative; min-height: 390px; overflow: hidden; }
.home-status__photo > img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.48) saturate(.85); }
.home-status__photo > div { position: absolute; inset: auto 0 0; padding: 36px; background: linear-gradient(transparent,rgba(18,16,15,.95)); }
.home-status__photo strong { display: block; font: 2.4rem/.95 var(--display); text-transform: uppercase; }
.home-status__photo p { max-width: 460px; color: rgba(255,255,255,.7); }
.home-status__photo .button { margin-top: 8px; }

.home-menu { display: grid; grid-template-columns: minmax(340px,.8fr) 1.2fr; gap: clamp(55px,8vw,120px); align-items: center; background: var(--yellow); }
.home-menu__poster { position: relative; }
.home-menu__poster::before { position: absolute; inset: 14px -14px -14px 14px; content:""; background: var(--blue); }
.home-menu__poster img { position: relative; width: 100%; box-shadow: 0 18px 50px rgba(18,16,15,.25); }
.home-menu h2, .home-split h2, .order-section h2, .menu-art-section h2, .schedule-history h2, .event-types h2, .event-contact h2 { margin: 0; font-family: var(--display); font-size: clamp(3.4rem,6vw,6.5rem); text-transform: uppercase; }
.home-menu__copy > p:not(.eyebrow) { max-width: 620px; font: 1.12rem/1.7 Georgia,serif; }
.price-row { display: flex; gap: 30px; flex-wrap: wrap; margin: 35px 0; padding: 24px 0; border-block: 2px solid rgba(18,16,15,.25); }
.price-row span { display: flex; flex-direction: column; font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.price-row strong { font: 2.4rem/1 var(--display); color: var(--red); }

.home-gallery { background: var(--paper); }
.feature-food-grid { display: grid; grid-template-columns: 1.2fr .8fr 1fr; gap: 12px; margin-top: 48px; }
.feature-food-grid a { position: relative; min-height: 470px; overflow: hidden; color: white; background: var(--ink); }
.feature-food-grid a:nth-child(2) { min-height: 390px; margin-top: 80px; }
.feature-food-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.feature-food-grid a:hover img { transform: scale(1.04); }
.feature-food-grid span { position: absolute; left: 20px; bottom: 18px; z-index: 2; font: 1.8rem/1 var(--display); text-transform: uppercase; text-shadow: 0 2px 8px black; }
.feature-food-grid a::after { position: absolute; inset: 45% 0 0; content:""; background: linear-gradient(transparent,rgba(18,16,15,.75)); }

.home-split { display: grid; grid-template-columns: 1fr 1fr; }
.home-split > div { position: relative; min-height: 620px; overflow: hidden; }
.home-split img { width: 100%; height: 100%; object-fit: cover; }
.home-split > div > div { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(28px,5vw,68px); }
.home-split__story > div { color: var(--ink); background: linear-gradient(transparent 25%,rgba(245,237,219,.94) 78%); }
.home-split__catering > div { color: white; background: linear-gradient(transparent 20%,rgba(18,16,15,.94) 82%); }
.home-split h2 { max-width: 650px; font-size: clamp(2.8rem,5vw,5rem); }

.page-hero { min-height: 620px; display: grid; grid-template-columns: 1fr 1fr; color: white; background: var(--red); border-bottom: 7px solid var(--ink); }
.page-hero > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(70px,9vw,130px) clamp(28px,7vw,110px); }
.page-hero h1 { margin: 0; font-family: var(--display); font-size: clamp(4.5rem,8vw,8.5rem); text-transform: uppercase; text-shadow: 5px 5px 0 var(--red-dark); }
.page-hero p:not(.eyebrow) { max-width: 590px; font: 1.1rem/1.65 Georgia,serif; }
.page-hero > img { width: 100%; height: 100%; min-height: 620px; object-fit: cover; border-left: 7px solid var(--ink); }
.page-hero--location > img, .page-hero--catering > img { object-position: center; }
.page-hero--story > img { object-position: center; }

.order-section { padding: 90px max(22px,calc((100vw - var(--max))/2)) 120px; background: var(--cream); }
.order-section__head { display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.cart-button--large { min-width: 150px; justify-content: space-between; }
.order-tabs { display: flex; gap: 8px; margin: 45px 0 30px; overflow-x: auto; }
.order-tabs button { flex: 0 0 auto; padding: 13px 20px; border: 2px solid var(--ink); color: var(--ink); background: transparent; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.order-tabs button.is-active { color: white; background: var(--red); border-color: var(--red); }
.order-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.order-card { display: flex; flex-direction: column; min-width: 0; border: 3px solid var(--ink); background: var(--paper); box-shadow: 7px 7px 0 var(--blue); }
.order-card__image { height: 260px; overflow: hidden; border-bottom: 3px solid var(--ink); background: var(--red); }
.order-card__image img { width: 100%; height: 100%; object-fit: cover; }
.order-card__body { flex: 1; display: flex; flex-direction: column; padding: 22px; }
.order-card__title { display: flex; justify-content: space-between; gap: 14px; }
.order-card h2 { margin: 0; font: 2rem/1 var(--display); text-transform: uppercase; }
.order-card__title strong { color: var(--red); font: 2rem/1 var(--display); }
.order-card p { color: #655e56; }
.order-card label { display: flex; flex-direction: column; gap: 6px; margin-top: auto; font-size: .66rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.order-card select, .order-card input { min-height: 43px; padding: 8px 10px; border: 2px solid var(--ink); border-radius: 0; background: white; }
.order-card__action { display: grid; grid-template-columns: 74px 1fr; gap: 10px; margin-top: 15px; }
.order-card__action button { margin-top: 18px; border: 0; color: white; background: var(--red); font-weight: 900; text-transform: uppercase; cursor: pointer; }

.menu-art-section, .schedule-history, .event-contact { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px,8vw,120px); align-items: center; padding: clamp(80px,10vw,140px) max(22px,calc((100vw - var(--max))/2)); background: var(--yellow); }
.menu-art-section img, .schedule-history img, .event-contact img { width: 100%; box-shadow: 14px 14px 0 var(--blue); }
.menu-art-section p:not(.eyebrow), .schedule-history p:not(.eyebrow), .event-contact p:not(.eyebrow) { font: 1.08rem/1.7 Georgia,serif; }
.schedule-history, .event-contact { grid-template-columns: 1fr 1fr; background: var(--paper); }
.event-contact { background: var(--yellow); }
.event-contact .text-link { margin-top: 28px; }

.cart-drawer { position: fixed; z-index: 90; top: 0; right: 0; bottom: 0; width: min(460px,100vw); display: flex; flex-direction: column; padding: 28px; color: var(--ink); background: var(--paper); box-shadow: -18px 0 60px rgba(0,0,0,.35); transform: translateX(105%); visibility: hidden; transition: transform .28s ease,visibility .28s; }
.cart-drawer.is-open { transform: translateX(0); visibility: visible; }
.cart-drawer__head { display: flex; justify-content: space-between; align-items: start; padding-bottom: 20px; border-bottom: 4px solid var(--ink); }
.cart-drawer__head small { color: var(--red); font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.cart-drawer__head h2 { margin: 3px 0 0; font: 3.5rem/1 var(--display); text-transform: uppercase; }
.cart-drawer__head h2 span { color: var(--red); }
.cart-drawer__head button { width: 42px; height: 42px; border: 0; color: white; background: var(--ink); font-size: 1.6rem; cursor: pointer; }
.cart-items { flex: 1; overflow-y: auto; }
.cart-line { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); }
.cart-line > div:first-child { display: flex; flex-direction: column; }
.cart-line small { color: #71685e; }
.cart-line > div:nth-child(2) { display: flex; align-items: center; gap: 8px; }
.cart-line button { width: 28px; height: 28px; border: 1px solid var(--ink); background: transparent; cursor: pointer; }
.cart-line b { color: var(--red); }
.cart-empty { padding: 70px 10px; text-align: center; }
.cart-empty strong { font: 2rem/1 var(--display); text-transform: uppercase; }
.cart-drawer__foot { padding-top: 20px; border-top: 4px solid var(--ink); }
.cart-drawer__foot > div { display: flex; justify-content: space-between; font-weight: 900; text-transform: uppercase; }
.cart-drawer__foot > div strong { color: var(--red); font-size: 1.4rem; }
.cart-drawer__foot p { color: #746b62; font-size: .72rem; }
.cart-drawer__foot .button { width: 100%; }
.clear-cart { width: 100%; margin-top: 10px; border: 0; background: transparent; color: #766e66; text-decoration: underline; cursor: pointer; }

.event-types { background: var(--cream); }
.event-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 50px; }
.event-grid article { min-height: 310px; padding: 30px; border: 3px solid var(--ink); background: var(--paper); box-shadow: 7px 7px 0 var(--red); }
.event-grid span { color: var(--red); font: 1.6rem/1 var(--display); }
.event-grid h3 { margin: 58px 0 12px; font: 2rem/1 var(--display); text-transform: uppercase; }
.event-grid p { color: #655d55; }

@media (max-width: 1000px) {
  .brand-logo { width: 145px; }
  .home-menu { grid-template-columns: .9fr 1.1fr; }
  .order-grid { grid-template-columns: repeat(2,1fr); }
  .event-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 760px) {
  .brand-logo { width: 138px; height: 50px; }
  .brand-logo--footer { width: 180px; height: 88px; }
  .site-nav button.cart-button { margin-top: 14px; padding: 14px; clip-path: none; justify-content: center; }
  .home-menu, .home-split, .page-hero, .menu-art-section, .schedule-history, .event-contact { grid-template-columns: 1fr; }
  .home-menu { gap: 55px; }
  .home-menu__poster { max-width: 500px; }
  .feature-food-grid { grid-template-columns: 1fr; }
  .feature-food-grid a, .feature-food-grid a:nth-child(2) { min-height: 360px; margin: 0; }
  .home-split > div { min-height: 520px; }
  .page-hero { min-height: 0; }
  .page-hero, .menu-art-section, .schedule-note, .event-contact { grid-template-columns: minmax(0, 1fr); }
  .page-hero h1, .menu-art-section h2, .schedule-note h2, .event-contact h2, .event-types h2 { overflow-wrap: anywhere; }
  .page-hero > div { min-height: 520px; padding: 80px 22px; }
  .page-hero h1 { font-size: clamp(4rem,18vw,6rem); line-height: .92; }
  .page-hero > img { min-height: 440px; border-top: 7px solid var(--ink); border-left: 0; }
  .order-section { padding: 70px 22px 95px; }
  .order-section__head { align-items: flex-start; flex-direction: column; }
  .order-grid { grid-template-columns: 1fr; }
  .order-card__image { height: 250px; }
  .order-card__title { flex-wrap: wrap; }
  .menu-art-section, .schedule-history, .event-contact { gap: 55px; padding: 80px 22px; }
  .menu-art-section img { grid-row: 1; }
  .event-grid { grid-template-columns: 1fr; }
  .event-grid article { min-height: 260px; }
  .event-grid h3 { margin-top: 42px; overflow-wrap: anywhere; }
  .mobile-bar button { border: 0; color: var(--ink); background: var(--yellow); font: inherit; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
}
