/* Tahoe Bagel Co. (Reno) — deli-board type system. Tokens from DESIGN.md §5. */

/* Self-hosted faces from the shared Octopuss library (SIL OFL 1.1).
   Only the weights the pages use are shipped; no third-party font request is made. */
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/archivo-700.woff2") format("woff2"); }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/archivo-800.woff2") format("woff2"); }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 900; font-display: swap; src: url("../fonts/archivo-900.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/figtree-400.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/figtree-500.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/figtree-600.woff2") format("woff2"); }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/figtree-700.woff2") format("woff2"); }
@font-face { font-family: "Space Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/space-mono-400.woff2") format("woff2"); }
@font-face { font-family: "Space Mono"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/space-mono-700.woff2") format("woff2"); }

:root {
  --canvas: #FFFFFF;
  --surface: #FEE5CA;
  --ink: #151515;
  --ink-2: #5B5550;
  --accent: #B00E2F;
  --accent-ink: #FFFFFF;
  --gold: #FEE5CA;
  --coffee: #151515;
  --hairline: #E3E3E3;
  --display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --gutter: 40px;
  --max: 1240px;
  --section: 80px;
  --rule: 1px solid var(--ink);
  --header-h: 72px;
}
@media (max-width: 768px) { :root { --gutter: 20px; --section: 56px; --header-h: 64px; } }
@media (max-width: 340px) { :root { --gutter: 16px; } }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 16px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  margin: 0; background: var(--canvas); color: var(--ink);
  font: 400 1.0625rem/1.6 var(--body);
  text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
p { margin: 0 0 1em; max-width: 64ch; }
h1, h2, h3 { font-family: var(--display); margin: 0; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--ink); color: var(--canvas); padding: 10px 16px; z-index: 100; }
.skip:focus { left: 8px; }
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.eyebrow { font: 700 0.72rem/1.4 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 18px; }
.h2 { font-weight: 800; font-size: clamp(2rem, 4.5vw, 3.75rem); line-height: 1; letter-spacing: -0.02em; }
.h3 { font-weight: 700; font-size: 1.375rem; line-height: 1.15; letter-spacing: -0.01em; }
.lede { font-size: clamp(1.125rem, 1.6vw, 1.3rem); line-height: 1.5; }
.muted { color: var(--ink-2); }
.tnum { font-variant-numeric: tabular-nums; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.narrow { max-width: 54ch; }
.flush { margin: 0; }
.after { margin-top: 24px; }
.spaced { margin-top: 40px; }
.gold { color: var(--gold); }
.small-note { margin-top: 14px; font-size: .92rem; }
.sw { display: inline-block; width: 14px; height: 14px; vertical-align: -2px; margin-right: 6px; border: 2px solid var(--ink); }
.sw--a { background: var(--accent); } .sw--g { background: var(--gold); }
.hours caption { text-align: left; }

/* Buttons: outlined, thicken + fill on hover/focus */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 12px 24px; border-radius: 999px;
  border: 2px solid var(--ink); background: transparent; color: var(--ink);
  font: 700 1rem/1.2 var(--body); letter-spacing: 0.01em; text-decoration: none;
  transition: background-color .2s, color .2s, box-shadow .2s, transform .2s;
}
.btn:hover, .btn:focus-visible { background: var(--ink); color: var(--canvas); box-shadow: 0 0 0 1px var(--ink); }
.btn--order { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }
.btn--order:hover, .btn--order:focus-visible { background: var(--ink); border-color: var(--ink); color: var(--canvas); }
.btn--light { border-color: currentColor; color: inherit; }
.btn--light:hover, .btn--light:focus-visible { background: var(--canvas); color: var(--ink); border-color: var(--canvas); }
.btn .arr { transition: transform .2s; }
.btn:focus-visible .arr { transform: translateX(4px); }
.textlink { font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.textlink:hover { text-decoration-thickness: 3px; color: var(--accent); }

/* Header */
.header {
  position: sticky; top: 0; z-index: 50; background: var(--canvas);
  border-bottom: var(--rule);
}
.header__in { display: flex; align-items: center; gap: 24px; height: var(--header-h); }
.wordmark { font: 900 1.375rem/1 var(--display); letter-spacing: -0.03em; text-decoration: none; white-space: nowrap; }
.wordmark small { display: block; font: 600 0.625rem/1 var(--body); letter-spacing: 0.2em; margin-top: 4px; }
.nav { display: flex; gap: 28px; margin-left: auto; }
.nav a { font: 600 0.95rem/1 var(--body); text-decoration: none; padding: 8px 0; border-bottom: 2px solid transparent; }
.nav a:hover, .nav a[aria-current="page"] { border-bottom-color: var(--ink); }
.header__call { font: 600 0.95rem/1 var(--body); text-decoration: none; white-space: nowrap; }
.header__call:hover { text-decoration: underline; }
.header .btn--order { min-height: 44px; padding: 10px 20px; }
.menubtn { display: none; }
@media (max-width: 860px) {
  .nav, .header__call { display: none; }
  .header .btn--order { margin-left: auto; padding: 10px 16px; font-size: 0.9rem; }
  .menubtn {
    display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
    border: 2px solid var(--ink); border-radius: 999px; background: transparent; color: var(--ink); cursor: pointer; padding: 0;
  }
  .menubtn span, .menubtn span::before, .menubtn span::after { display: block; width: 18px; height: 2px; background: currentColor; position: relative; content: ""; }
  .menubtn span::before { position: absolute; top: -6px; } .menubtn span::after { position: absolute; top: 6px; }
}
@media (max-width: 860px) { .header__in { gap: 12px; } }
@media (max-width: 480px) { .wordmark { font-size: 1.15rem; } .hide-xs { display: none; } }
@media (max-width: 360px) { .wordmark { font-size: 1rem; } .wordmark small { display: none; } .header .btn--order { padding: 10px 14px; } .header__in { gap: 10px; } }

/* Drawer (juice.right-drawer-menu adaptation) */
.drawer { position: fixed; inset: 0; z-index: 60; visibility: hidden; }
.drawer.is-open { visibility: visible; }
.drawer__scrim { position: absolute; inset: 0; background: rgba(42,28,20,.45); opacity: 0; transition: opacity .25s; border: 0; width: 100%; padding: 0; cursor: pointer; }
.drawer__panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(88vw, 380px); background: var(--gold); color: var(--ink);
  border-left: var(--rule); padding: 20px var(--gutter) 32px; display: flex; flex-direction: column; gap: 12px;
  transform: translateX(100%); transition: transform .3s var(--ease-out); overflow-y: auto;
}
.drawer.is-open .drawer__scrim { opacity: 1; }
.drawer.is-open .drawer__panel { transform: none; }
.drawer__close { align-self: flex-end; width: 44px; height: 44px; border-radius: 999px; border: 2px solid var(--ink); background: transparent; font: 700 1.25rem/1 var(--display); cursor: pointer; color: var(--ink); }
.drawer__links { display: flex; flex-direction: column; border-top: var(--rule); margin: 8px 0 16px; }
.drawer__links a { font: 800 2rem/1 var(--display); letter-spacing: -0.02em; text-decoration: none; padding: 16px 0; border-bottom: var(--rule); }
.drawer__panel .btn { width: 100%; }
.drawer__meta { margin-top: auto; font-size: .95rem; }

/* Hero — full-bleed photograph carrier, headline set over it */
.hero { position: relative; border-bottom: var(--rule); overflow: hidden; background: #1E110A; color: var(--canvas); }
/* Inset by more than the drift range so the photograph never exposes an edge */
.hero__media { position: absolute; inset: -7% 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; display: block; }
.hero__scrim {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(100deg, rgba(22,12,7,.93) 0%, rgba(22,12,7,.82) 34%, rgba(22,12,7,.5) 62%, rgba(22,12,7,.3) 100%);
}
.hero__in { position: relative; z-index: 2; display: flex; align-items: flex-end; min-height: clamp(480px, 78vh, 760px); padding-top: clamp(48px, 7vw, 96px); padding-bottom: clamp(40px, 5vw, 72px); }
.hero__copy { max-width: 60rem; }
.hero .eyebrow { color: var(--gold); }
.hero h1 {
  font-weight: 900; font-size: clamp(2.2rem, 10vw, 7.5rem); line-height: .88; letter-spacing: -0.035em;
  text-transform: uppercase; margin-bottom: 24px;
}
.hero h1 .ln { display: block; }
.hero h1 .accent { color: var(--gold); }
.hero__sub { font-size: clamp(1.1rem, 1.7vw, 1.4rem); max-width: 42ch; color: #ECE1D1; margin-bottom: 30px; }
.hero .btn { border-color: rgba(246,239,226,.7); color: var(--canvas); }
.hero .btn:hover, .hero .btn:focus-visible { background: var(--canvas); border-color: var(--canvas); color: var(--ink); }
.hero .btn--order { border-color: var(--accent); background: var(--accent); color: #fff; }
.hero .btn--order:hover, .hero .btn--order:focus-visible { background: var(--canvas); border-color: var(--canvas); color: var(--ink); }
.actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.today {
  display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 26px;
  border-top: 2px solid rgba(246,239,226,.4); padding-top: 14px; font-size: .95rem; color: #ECE1D1;
}
.today strong { font-family: var(--display); font-weight: 800; color: var(--canvas); }
@media (max-width: 860px) {
  .hero__in { min-height: clamp(440px, 72vh, 620px); padding-top: 32px; padding-bottom: 44px; }
}
@media (max-width: 480px) {
  .actions .btn { flex: 1 1 100%; }
  .hero__media img { object-position: 58% 42%; }
}

/* Proof strip — the facts the shop itself states, immediately after the first screen */
.proof { background: var(--gold); color: var(--ink); border-bottom: var(--rule); }
.proof ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.proof li { padding: 20px 24px; border-right: 2px solid rgba(42,28,20,.28); display: flex; gap: 14px; align-items: baseline; }
.proof li:last-child { border-right: 0; }
.proof b { font: 700 .68rem/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--coffee); flex: none; }
.proof span, .proof a { font: 600 1rem/1.35 var(--display); letter-spacing: -0.01em; }
.proof a { text-decoration: none; border-bottom: 2px solid var(--ink); }
.proof a:hover { color: var(--coffee); }
@media (max-width: 860px) {
  .proof ul { grid-template-columns: 1fr 1fr; }
  .proof li { border-bottom: 2px solid rgba(42,28,20,.28); padding: 16px 20px; }
  .proof li:nth-child(2n) { border-right: 0; }
  .proof li:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 400px) { .proof li { flex-direction: column; gap: 6px; } }

/* Full-bleed media band — the shop's own positioning line over real food photography */
.band { position: relative; overflow: hidden; border-bottom: var(--rule); background: #17100B; color: var(--canvas); }
.band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 62% 52%; }
.band::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(100deg, rgba(20,11,7,.95) 0%, rgba(20,11,7,.87) 38%, rgba(20,11,7,.6) 68%, rgba(20,11,7,.42) 100%);
}
.band__in { position: relative; z-index: 2; padding: clamp(64px, 10vw, 128px) 0; min-height: clamp(340px, 40vw, 600px); display: flex; flex-direction: column; justify-content: center; }
.band .eyebrow { color: var(--gold); }
.band .pull { color: var(--canvas); }
.band .pull .accent { color: var(--gold); }

/* Section scaffolding */
.section { padding: var(--section) 0; border-bottom: var(--rule); }
.section__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px 48px; align-items: end; margin-bottom: 48px; }
.section__head p { margin: 0; }
@media (max-width: 768px) { .section__head { grid-template-columns: 1fr; margin-bottom: 32px; } }

/* Story band — the founders, photograph beside the copy */
.story { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); border-bottom: var(--rule); background: var(--surface); }
.story__media { position: relative; min-height: 420px; border-right: var(--rule); background: var(--canvas); }
.story__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }
.story__body { padding: clamp(44px, 6vw, 84px) clamp(24px, 5vw, 72px); display: flex; flex-direction: column; justify-content: center; }
.story__body .lede { margin-bottom: 20px; }
@media (max-width: 860px) {
  .story { grid-template-columns: 1fr; }
  .story__media { min-height: 300px; border-right: 0; border-bottom: var(--rule); }
}

/* Place photography — the room, at the top of a visit block */
.place { position: relative; aspect-ratio: 21 / 9; overflow: hidden; border: var(--rule); border-bottom: 0; background: var(--canvas); }
.place img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Every photograph caption shares one treatment: an ink plate, bottom-left */
.place figcaption, .portrait figcaption, .family__media figcaption {
  position: absolute; left: 0; bottom: 0; max-width: 100%;
  background: var(--ink); color: var(--canvas);
  font: 700 .68rem/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase;
  padding: 12px 18px;
}
@media (max-width: 700px) { .place { aspect-ratio: 4 / 3; } }

/* Wide portrait band — one photograph, full bleed */
.portrait { position: relative; aspect-ratio: 16 / 7; overflow: hidden; border-bottom: var(--rule); background: var(--canvas); }
.portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 700px) { .portrait { aspect-ratio: 4 / 3; } }

/* Group order */
.group { background: var(--ink); color: var(--canvas); }
.group__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.group h2 { color: var(--gold); }
.group ul { list-style: none; margin: 0 0 28px; padding: 0; border-top: 2px solid var(--canvas); }
.group li { padding: 14px 0; border-bottom: 2px solid rgba(246,239,226,.35); display: grid; grid-template-columns: 2rem minmax(0,1fr); }
.group li b { font-family: var(--display); color: var(--gold); }
.group .btn--order:hover, .group .btn--order:focus-visible { background: var(--canvas); color: var(--ink); border-color: var(--canvas); }
@media (max-width: 860px) { .group__grid { grid-template-columns: 1fr; gap: 24px; } }

/* Daypart strip (published hours) */
.daypart { border: var(--rule); background: var(--surface); padding: 24px 28px 28px; margin-bottom: 40px; }
.daypart__track { position: relative; height: 56px; margin: 18px 0 10px; border-bottom: 2px solid var(--ink); }
.daypart__bar { position: absolute; bottom: 0; height: 22px; background: var(--accent); transform-origin: left; }
.daypart__bar.wk { background: var(--gold); bottom: 26px; }
.daypart__ticks { display: flex; justify-content: space-between; font: 600 .78rem/1 var(--body); color: var(--ink-2); font-variant-numeric: tabular-nums; }
.daypart__legend { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: .9rem; margin-top: 14px; }
.daypart__legend i { display: inline-block; width: 14px; height: 14px; vertical-align: -2px; margin-right: 6px; border: 2px solid var(--ink); }
.daypart__now { position: absolute; top: -6px; bottom: -6px; width: 3px; background: var(--ink); }
.daypart__now::after { content: "now"; position: absolute; top: -18px; left: 50%; transform: translateX(-50%); font: 700 .7rem/1 var(--body); text-transform: uppercase; letter-spacing: .1em; }
.js .reveal-bar { transform: scaleX(0); transition: transform .9s var(--ease-out); }
.js .is-in .reveal-bar { transform: scaleX(1); }

/* Visit block */
.visit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: var(--rule); border-left: var(--rule); }
.visit > div { border-right: var(--rule); border-bottom: var(--rule); padding: 28px; background: var(--surface); }
.visit h3 { margin-bottom: 16px; }
.hours { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.hours th, .hours td { text-align: left; padding: 10px 0; border-bottom: 2px solid var(--hairline); font-weight: 500; }
.hours th { font-weight: 700; padding-right: 16px; }
.hours tr.is-today th, .hours tr.is-today td { color: var(--accent); font-weight: 800; }
.visit address { font-style: normal; font: 800 1.5rem/1.1 var(--display); letter-spacing: -0.01em; margin-bottom: 18px; }
.biglink { font: 800 1.5rem/1.1 var(--display); text-decoration: none; display: inline-block; margin-bottom: 14px; border-bottom: 3px solid var(--accent); }
.biglink:hover { color: var(--accent); }
.stack { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.socials { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 12px 0 0; }
.socials a { display: inline-flex; min-height: 40px; align-items: center; padding: 8px 14px; border: 2px solid var(--ink); border-radius: 999px; text-decoration: none; font-weight: 600; font-size: .9rem; }
.socials a:hover, .socials a:focus-visible { background: var(--ink); color: var(--canvas); }
@media (max-width: 960px) { .visit { grid-template-columns: 1fr; } .visit > div { padding: 24px 20px; } }

/* Page hero (inner routes) — each its own composition */
.pagehero { border-bottom: var(--rule); padding: 72px 0 56px; }
.pagehero h1 { font-weight: 900; font-size: clamp(2.5rem, 8vw, 7rem); line-height: .9; letter-spacing: -0.035em; text-transform: uppercase; margin-bottom: 24px; }
.pagehero--menu { background: var(--accent); color: #fff; }
.pagehero--story { background: var(--gold); }
.pagehero--contact { background: var(--ink); color: var(--canvas); }
.pagehero--contact h1 { color: var(--gold); }
@media (max-width: 768px) { .pagehero { padding: 44px 0 36px; } }

/* Menu route — long-form families */
.jump { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.jump a { display: inline-flex; min-height: 44px; align-items: center; padding: 10px 18px; border: 2px solid currentColor; border-radius: 999px; text-decoration: none; font-weight: 700; }
.jump a:hover, .jump a:focus-visible { background: #fff; color: var(--accent); border-color: #fff; }
.banner { background: var(--ink); color: var(--canvas); border-bottom: var(--rule); }
.banner .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; padding-bottom: 20px; }
.banner p { margin: 0; font-weight: 600; }
.family { border-bottom: var(--rule); padding: var(--section) 0; }
.family--breakfast { background: var(--surface); }
.family--lunch { background: var(--gold); }
.family--coffee { background: var(--coffee); color: var(--canvas); }
.family__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 56px; }
.family__num { font: 900 clamp(4rem, 12vw, 10rem)/.8 var(--display); letter-spacing: -0.05em; color: var(--accent); display: block; margin-bottom: 16px; }
.family--lunch .family__num { color: var(--ink); }
.family--coffee .family__num { color: var(--gold); }
.family h2 { text-transform: uppercase; margin-bottom: 20px; }
.family .items { border-top-color: currentColor; }
.family__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border: var(--rule); border-color: currentColor; margin-top: 28px; background: var(--canvas); }
.family__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 860px) { .family__grid { grid-template-columns: 1fr; gap: 24px; } }

/* Story route */
.pull { font: 900 clamp(2rem, 5.5vw, 4.5rem)/.98 var(--display); letter-spacing: -0.03em; text-transform: uppercase; margin: 0; max-width: 18ch; }
.pull .accent { color: var(--accent); }
.story__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
.story__grid h2 { position: sticky; top: calc(var(--header-h) + 32px); }
.coast { display: grid; grid-template-columns: 1fr 1fr; border: var(--rule); }
.coast > div { padding: 32px 28px; }
.coast > div + div { border-left: var(--rule); background: var(--ink); color: var(--canvas); }
.coast .h3 { margin-bottom: 12px; }
.timeline { list-style: none; margin: 0; padding: 0; border-left: var(--rule); }
.timeline li { position: relative; padding: 0 0 32px 32px; }
.timeline li::before { content: ""; position: absolute; left: -11px; top: 4px; width: 16px; height: 16px; background: var(--accent); border: 3px solid var(--ink); border-radius: 50%; }
.timeline .when { font: 800 .8rem/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); display: block; margin-bottom: 8px; }
@media (max-width: 860px) { .story__grid { grid-template-columns: 1fr; gap: 24px; } .story__grid h2 { position: static; } .coast { grid-template-columns: 1fr; } .coast > div + div { border-left: 0; border-top: var(--rule); } }

/* Callout strip — a question with its actions, ruled like the rest of the board */
.pointer { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; border: var(--rule); padding: 28px; background: var(--surface); }
.pointer p { margin: 0; }

/* Footer */
.footer { background: var(--ink); color: var(--canvas); padding: 80px 0 40px; }
.footer__mark { font: 900 clamp(2.75rem, 10vw, 9rem)/.85 var(--display); letter-spacing: -0.045em; text-transform: uppercase; margin: 0 0 48px; }
.footer__mark span { color: var(--gold); }
.footer__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; border-top: 2px solid var(--canvas); padding-top: 32px; }
.footer h2 { font: 700 .75rem/1 var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
.footer ul { list-style: none; margin: 0; padding: 0; }
.footer li { margin-bottom: 8px; }
.footer a { text-decoration: none; }
.footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.footer p { font-size: .95rem; }
.footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 48px; padding-top: 20px; border-top: 1px solid rgba(246,239,226,.3); font-size: .85rem; color: #d7c8b4; }
@media (max-width: 860px) { .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .footer__grid { grid-template-columns: 1fr; } .footer { padding-top: 56px; } }

/* Heading reveal (supporting motion, once) */
.js .reveal { opacity: 1; transform: none; }
.js .reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .reveal { opacity: 1; transform: none; }
  .js .reveal-bar { transform: none; }
  .hero__media { transform: none !important; position: absolute; }


}

/* Mr. Pops photographic counter: current reference-locked enhancement. */
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/big-shoulders-display-800.woff2") format("woff2")}
:root{--headline:"Big Shoulders Display",sans-serif;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);--ease-drawer:cubic-bezier(.32,.72,0,1);--fast:120ms;--response:240ms;--story:600ms;--sticky-action-bg:#151515;--sticky-action-fg:#fff;--sticky-action-accent:#b00e2f;--sticky-action-accent-fg:#fff}
::selection{background:var(--accent);color:#fff}
[hidden]{display:none!important}
img{max-width:100%}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:rgba(176,14,47,.15)}
button,summary{font-family:var(--body)}
button:active,.btn:active{transform:scale(.98);transition:transform var(--fast) var(--ease-out)}
:focus-visible{outline:3px solid currentColor;outline-offset:5px}
h1,.h2,.pull{font-family:var(--headline);font-weight:800;letter-spacing:.01em;text-wrap:balance}
.h2{font-size:clamp(2.625rem,5vw,4.5rem);line-height:.98}
.btn{border-width:1px;border-radius:0;box-shadow:none;max-width:100%;white-space:normal;min-height:48px}
.btn--order{border-radius:999px}
.btn:hover,.btn:focus-visible{box-shadow:none}
.header{position:fixed;inset:12px 12px auto;max-width:1240px;margin:auto;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(255,255,255,.95);color:var(--ink);z-index:50}
@supports(backdrop-filter:blur(12px)){.header{background:rgba(255,255,255,.88);backdrop-filter:blur(16px)}}
.header__in{height:68px;gap:20px;padding:0 20px 0 26px}
.wordmark{font-family:"Archivo",sans-serif;font-size:20px;letter-spacing:-.04em}
.nav{gap:4px;align-items:center}
.nav>a,.nav-menu>summary{padding:14px 17px;border:0;border-radius:999px;font:600 15px/1 var(--body);white-space:nowrap;transition:background var(--response)}
.nav>a[aria-current],.nav-menu>summary[aria-current]{background:var(--surface)}
.nav>a:focus-visible,.nav-menu>summary:focus-visible{background:var(--surface)}
.header__call{font-size:14px;border-left:1px solid var(--hairline);padding-left:18px;min-height:44px;display:flex;align-items:center}
.nav-menu>summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.nav-menu>summary span{margin-left:7px}
.nav-menu__panel{position:absolute;left:0;right:0;top:calc(100% + 10px);display:grid;grid-template-columns:1.3fr 1fr;gap:32px;background:#fff;border:1px solid var(--hairline);border-radius:24px;padding:30px;box-shadow:0 24px 48px rgba(0,0,0,.16);max-height:calc(100dvh - 110px);overflow:auto}
.nav-menu__panel>div{display:grid;gap:0}
.nav-menu__panel a{display:block;padding:16px 12px;border-bottom:1px solid var(--hairline);text-decoration:none;font:600 20px/1.2 var(--body)}
.nav-menu__panel small{display:block;margin-top:6px;font:400 15px/1.4 var(--body);color:var(--ink-2)}
.nav-menu__panel .textlink{font-size:15px;border:0;align-self:end}
.nav-menu__panel .nav-menu__photo{padding:0;border:0;position:relative;min-height:260px;overflow:hidden}
.nav-menu__photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.nav-menu__photo span{position:absolute;bottom:16px;left:16px;background:#fff;padding:10px 14px;font-size:13px}
.menubtn{flex-shrink:0;border-width:1px}
.drawer__panel{width:min(100vw,460px);background:var(--surface);padding-top:20px;padding-bottom:max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain;transition:transform var(--response) var(--ease-drawer)}
.drawer__links a,.drawer__categories>summary{font:700 30px/1.1 var(--body);padding:18px 0;text-decoration:none;list-style:none;border-bottom:1px solid var(--ink);cursor:pointer}
.drawer__categories>summary::after{content:'+';float:right}
.drawer__categories[open]>summary::after{content:'−'}
.drawer__categories a{font:500 18px/1.3 var(--body);padding:13px 8px}
.drawer__links{margin-bottom:20px}
.drawer__panel>.btn--order{margin-top:auto}
.drawer__meta{margin-top:10px}
html:not(.js) .menubtn{display:none}
.hero{border-bottom:0;color:#fff}
.hero__media{inset:-7% 0}
.hero__scrim{background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.12) 82%),linear-gradient(90deg,rgba(0,0,0,.2),transparent 75%)}
.hero__in{min-height:800px;min-height:min(900px,100svh);padding-top:150px;padding-bottom:64px;width:100%;align-items:flex-end}
.hero__copy{max-width:880px}
.hero h1{font-family:var(--headline);font-size:clamp(72px,10vw,144px);font-weight:800;line-height:.91;letter-spacing:.01em;text-transform:uppercase;margin-bottom:25px;text-wrap:initial}
.hero .eyebrow{color:#fff;margin-bottom:22px}
.hero__sub{font-size:19px;line-height:1.45;max-width:44ch;color:#fff;margin-bottom:24px}
.hero__browse{color:#fff;font-weight:600;padding:12px 4px;margin-left:14px;text-underline-offset:6px}
.proof{background:var(--surface)}
.proof li{flex-direction:column;gap:7px;padding:22px 24px;border-width:1px;min-width:0}
.proof span,.proof a{font:500 15px/1.4 var(--body)}
.proof b{color:var(--ink)}
#board{background:var(--canvas)}
.counter__tabs{display:none;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);gap:0}
.js .counter__tabs{display:grid}
.counter__tabs button{display:flex;gap:12px;align-items:center;padding:20px 16px;min-height:68px;text-align:left;background:transparent;color:var(--ink);border:0;border-right:1px solid var(--hairline);cursor:pointer;font:600 17px/1.25 var(--body);position:relative;transition:background var(--response)}
.counter__tabs button:last-child{border-right:0}
.counter__tabs button[aria-selected="true"]{background:var(--surface)}
.counter__tabs button[aria-selected="true"]::after{content:'';position:absolute;height:3px;bottom:-1px;left:0;right:0;background:var(--accent)}
.counter__number{font:400 11px/1 var(--mono)}
.counter__panel{display:grid;grid-template-columns:1.1fr 1fr;min-height:490px;background:var(--surface);color:var(--ink);margin:0}
.counter__photo{min-height:490px;overflow:hidden;background:var(--surface)}
.counter__photo img{display:block;width:100%;height:490px;object-fit:cover;object-position:center}
#dish-back-2-life .counter__photo img{object-position:50% 57%}
#dish-philly .counter__photo img{object-position:50% 55%}
.counter__copy{padding:48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.counter__copy h3{font-family:var(--headline);font-size:clamp(44px,5vw,68px);font-weight:800;line-height:.96;margin:0 0 22px;text-transform:uppercase;letter-spacing:.01em}
.counter__copy .lede{font-size:19px;max-width:32ch}
.counter__note{font-size:13px;line-height:1.45;margin:15px 0 0;color:var(--ink-2)}
.counter__foot{display:flex;justify-content:space-between;gap:12px;max-width:none;margin:24px 0 0;font-size:15px}
.band{border:0}
.band::after{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.1) 85%)}
.band__in{padding:100px var(--gutter);min-height:500px}
.band .pull{font-size:clamp(48px,6vw,86px);line-height:.96;max-width:14ch}
.band .pull .accent,.band .eyebrow{color:#fff}
.story{background:var(--surface)}
.story__body{border:0;padding:64px 48px}
.story__body .h2{max-width:10ch;margin-bottom:28px}
.story__media img{object-position:50% 35%}
.story__body:before{content:'';display:block;width:72px;border-top:1px solid var(--ink);margin-bottom:30px;transform-origin:left;transition:transform var(--story) var(--ease-out)}
.js .story__body:not(.is-in):before{transform:scaleX(.2)}
.group{background:var(--ink);color:#fff}
.group .btn--order{background:var(--accent);border-color:var(--accent)}
.visit{border-left:0;border-top:1px solid var(--hairline);gap:24px}
.visit>div{background:transparent;border-right:0;border-bottom:0;padding:24px 0}
.visit address{font:700 23px/1.3 var(--body)}
.hours th,.hours td{font-size:15px;border-width:1px}
.pagehero--photo{position:relative;overflow:hidden;background:var(--ink);color:#fff;min-height:680px;padding:155px 0 64px;display:flex;align-items:flex-end;border:0}
.pagehero__media{position:absolute;inset:0}
.pagehero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.pagehero--photo::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.08) 95%),linear-gradient(90deg,rgba(0,0,0,.15),transparent)}
.pagehero--photo>.wrap{position:relative;z-index:1;width:100%}
.pagehero--photo h1{font-family:var(--headline);font-weight:800;font-size:clamp(64px,8vw,112px);letter-spacing:.01em;line-height:.95;max-width:15ch;color:#fff;margin-bottom:22px}
.pagehero--photo .lede{font-size:19px;line-height:1.5;max-width:47ch}
.pagehero--photo .actions{margin-top:24px}
.pagehero--photo .btn:not(.btn--order){color:#fff;border-color:#fff}
.pagehero--story .pagehero__media img{object-position:50% 32%}
.pagehero--story h1{max-width:14ch}
.pagehero--photo .jump{margin-top:20px;gap:8px}
.jump a{border-width:1px;font-size:14px;padding:10px 14px}
.family__num{font:400 12px/1.4 var(--mono);letter-spacing:.1em;margin-bottom:18px}
.family__grid{align-items:center;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.family__media{margin:28px 0 0;border:0;aspect-ratio:4/3}
.family .items,.family .items li{border-width:1px}
.family--lunch{background:var(--surface)}
.family--coffee{background:var(--ink)}
.portrait-caption{font-size:13px;margin:0;padding:14px var(--gutter);text-align:center;max-width:none;background:var(--surface)}
.place{border:0;margin:0 0 36px}
.place img{max-height:560px;object-fit:cover}
.coast{border-width:1px}
.pointer{border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:transparent;padding:28px 0}
.faq{background:var(--surface)}
.faq__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:64px}
.faq details{border-bottom:1px solid rgba(21,21,21,.3)}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:23px 0;font:600 20px/1.4 var(--body)}
.faq summary:after{content:'+';font-size:24px;font-weight:400}
.faq details[open] summary:after{content:'−'}
.faq details>div{padding:0 0 24px;max-width:55ch}
.footer{background:var(--ink);color:#fff;padding-bottom:48px}
.footer__mark{font-family:var(--headline);font-weight:800;font-size:clamp(54px,9.5vw,130px);letter-spacing:.01em;white-space:normal;line-height:1}
.footer__mark span{color:var(--surface)}
.footer h2{font-family:var(--body)}
.preview-note{width:100%;font-size:12px;color:#bbb}
@media(hover:hover) and (pointer:fine){.nav>a:hover,.nav-menu>summary:hover,.counter__tabs button:hover{background:var(--surface)}.nav-menu__panel a:hover{background:var(--surface)}.hero__browse:hover{text-decoration-thickness:2px}.btn:hover .arr{transform:translateX(4px)}}
@media(hover:none){.btn:hover .arr{transform:none}}
@media(max-width:1100px){.header__call{display:none}.header__in{gap:14px}.nav>a,.nav-menu>summary{padding:14px 12px}}
@media(max-width:860px){.header__in{height:60px;padding:0 12px 0 18px;gap:10px}.header .nav{display:none}.header .btn--order{font-size:13px;padding:10px 14px;min-height:40px}.menubtn{width:40px;height:40px}.header__call{display:none}.wordmark{font-size:18px}.hero__in{min-height:740px;padding-top:130px;padding-bottom:48px}.counter__copy{padding:30px}.counter__panel{grid-template-columns:1fr 1fr}.counter__tabs button{font-size:15px;padding:18px 12px;gap:8px}.family__grid{grid-template-columns:1fr}.family__media{max-width:none}.faq__grid{gap:32px}.story__body{padding:48px var(--gutter)}.footer__mark{font-size:12vw}}
@media(max-width:600px){.hero__in{min-height:660px;min-height:min(740px,90svh);padding-top:130px;padding-bottom:38px}.hero h1{font-size:clamp(46px,12.8vw,64px);line-height:.98;margin-bottom:20px}.hero__sub{font-size:17px;max-width:32ch;margin-bottom:22px}.hero .eyebrow{font-size:10px;margin-bottom:18px}.hero__media img{object-position:57% 42%}.hero__scrim{background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.08) 94%)}.hero .actions{gap:16px}.hero .actions .btn{flex:0 1 auto;width:auto}.hero__browse{margin:0;padding:10px 0;font-size:14px}.proof ul{grid-template-columns:1fr 1fr}.proof li{padding:20px 14px;gap:8px}.proof span,.proof a{font-size:14px}.section__head{gap:20px;margin-bottom:30px}.counter__tabs{grid-template-columns:1fr 1fr}.counter__tabs button{min-height:62px;font-size:14px;border-bottom:1px solid var(--hairline)}.counter__tabs button:nth-child(2){border-right:0}.counter__panel{display:block;min-height:0}.counter__photo{min-height:0}.counter__photo img{height:300px;object-fit:cover}.counter__copy{padding:30px 24px}.counter__copy h3{font-size:46px;margin-bottom:18px}.counter__copy .lede{font-size:17px}.counter__foot{display:block;line-height:1.8}.counter__foot a{display:block}.band__in{min-height:420px;padding:60px var(--gutter)}.band .pull{font-size:50px}.story__body{padding:40px var(--gutter)}.story__body .h2{max-width:12ch}.pagehero--photo{min-height:630px;padding:130px 0 38px}.pagehero--photo h1{font-size:52px;line-height:.98;max-width:13ch}.pagehero--photo .lede{font-size:17px;max-width:33ch}.pagehero--photo .actions .btn{flex:0 1 auto}.pagehero--story .pagehero__media img{object-position:50% 25%}.pagehero--photo .jump a{padding:8px 10px;font-size:12px}.family__media{aspect-ratio:4/3}.faq__grid{grid-template-columns:1fr;gap:24px}.faq summary{font-size:18px}.footer__mark{font-size:16vw}.footer__grid{gap:30px}.portrait-caption{font-size:12px}.hours th,.hours td{font-size:14px}}
@media(max-width:360px){.header__in{padding:0 8px 0 14px;gap:8px}.wordmark{font-size:16px}.header .btn--order{padding:10px 12px}.hero h1{font-size:43px}.hero__in{min-height:640px}.pagehero--photo h1{font-size:46px}.pagehero--photo{min-height:650px}.counter__tabs button{font-size:13px;gap:6px;padding:14px 10px}.counter__photo img{height:260px}.counter__copy{padding:26px 20px}.hero .actions{gap:8px}.hero__browse{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__media{transform:none!important}.story__body:before,.js .story__body:not(.is-in):before{transform:none}.drawer__panel,.btn,.counter__tabs button{transition:none}.js .reveal,.js .reveal-bar{opacity:1;transform:none}}
/* Shared menu lists retained independently of the retired family selector. */
.items{list-style:none;margin:0 0 30px;padding:0;border-top:1px solid currentColor}
.items li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;padding:22px 0;border-bottom:1px solid currentColor}
.items .no{font:400 12px/1.4 var(--mono);padding-top:5px}
.items strong{display:block;font:700 20px/1.3 var(--body);margin-bottom:8px}
.items .d{display:block;font-size:17px;line-height:1.55}
.counter,.counter__panels{min-width:0}
.menu-open .sticky-action{visibility:hidden}
.sticky-action a{font:600 15px/1.2 var(--body);border-radius:999px;text-align:center}
.sticky-action{transition:transform var(--response) var(--ease-out),opacity var(--response) var(--ease-out)}
.daypart__bar.wk{background:var(--ink)}
.daypart__legend .sw--g{background:var(--ink)}
@media(max-width:360px){.sticky-action a{font-size:14px;padding:0 8px}.header .btn--order{white-space:nowrap}.counter__copy h3{font-size:42px}}

.drawer:not([hidden]){visibility:visible}
@starting-style{.drawer.is-open .drawer__panel{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.drawer__panel{transform:none!important}}

/* 2026-09-30 bar pass: real logo, full-bleed board, photo bands, dark visit band. */
.wordmark{display:flex;flex-direction:column;gap:6px;line-height:1}
.wordmark img{display:block;height:22px;width:auto;max-width:none;filter:invert(1)}
.wordmark small{margin:0;font:600 9px/1 var(--body);letter-spacing:.22em;text-transform:uppercase}
.hero__call{color:#fff;font-weight:600;padding:12px 4px;margin-left:10px;text-underline-offset:6px;white-space:nowrap}
.proof{border-bottom:1px solid var(--ink)}

/* Signature: the board. One dish fills the section; its name is the headline. */
.board{padding:var(--section) 0 0;background:var(--canvas)}
.board .section__head{margin-bottom:36px}
.board .counter__tabs{border-bottom:0}
.dish{position:relative;display:flex;align-items:flex-end;min-height:clamp(560px,84vh,840px);margin:0;background:var(--ink);color:#fff;overflow:hidden;scroll-margin-top:calc(var(--header-h) + 96px)}
.dish__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
#dish-back-2-life .dish__photo{object-position:50% 46%}
#dish-lox .dish__photo{object-position:50% 40%}
#dish-philly .dish__photo{object-position:50% 58%}
.dish::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.5) 30%,rgba(0,0,0,0) 60%),linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 18%)}
.dish__in{position:relative;z-index:1;width:100%;padding-top:140px;padding-bottom:56px}
.dish__count{position:absolute;top:28px;right:var(--gutter);margin:0;font:400 12px/1 var(--mono);letter-spacing:.12em}
.dish .eyebrow{color:#fff;margin-bottom:14px}
.dish h3{font:800 clamp(64px,11.5vw,176px)/.86 var(--headline);letter-spacing:.01em;text-transform:uppercase;margin:0 0 22px;max-width:12ch;text-wrap:balance}
.dish .lede{font-size:19px;max-width:46ch;margin-bottom:26px}
.dish .actions{gap:12px 20px}
.dish__note{font-size:13px;line-height:1.45;color:rgba(255,255,255,.82)}
.dish .btn--order:hover,.dish .btn--order:focus-visible{background:#fff;border-color:#fff;color:var(--ink)}
.board__foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;max-width:none;margin:0;padding:22px 0;font-size:15px}
html:not(.js) .dish+.dish{border-top:1px solid rgba(255,255,255,.3)}

/* Proof rail: the shop's own line, moving slowly. */
.rail{background:var(--ink);color:#fff;overflow:hidden;padding:30px 0}
.rail__track{display:flex;width:max-content;animation:rail 44s linear infinite}
.rail__track span{flex:none;font:800 clamp(44px,6.2vw,92px)/1 var(--headline);letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;padding-right:.5em}
.rail__track b{font-weight:800;color:var(--surface)}
@keyframes rail{to{transform:translateX(-50%)}}
@media(hover:hover) and (pointer:fine){.rail:hover .rail__track{animation-play-state:paused}}

/* Visit: counter photograph beside the hours, set straight on the dark band. */
.visitband{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--ink);color:#fff}
.visitband__media{position:relative;min-height:780px;margin:0;overflow:hidden}
.visitband__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 26%}
.visitband__media figcaption{position:absolute;left:0;bottom:0;background:var(--ink);color:#fff;font:700 .68rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:12px 18px}
.visitband__body{min-width:0;padding:clamp(56px,7vw,104px) clamp(20px,5vw,80px);display:flex;flex-direction:column;justify-content:center}
.visitband .eyebrow{color:var(--surface)}
.visitband .h2{margin-bottom:14px}
.visitband .lede{color:rgba(255,255,255,.84);max-width:40ch;margin-bottom:44px}
.daypart{border:0;background:transparent;padding:0;margin:0 0 40px}
.daypart__track{height:64px;margin:0;border-bottom:1px solid rgba(255,255,255,.55);border-right:1px solid rgba(255,255,255,.3);background:repeating-linear-gradient(90deg,rgba(255,255,255,.3) 0 1px,transparent 1px 10%)}
.daypart__bar{height:16px;bottom:8px;background:var(--accent)}
.daypart__bar.wk{bottom:32px;background:#fff}
.daypart__ticks{margin-top:10px;font:400 11px/1 var(--mono);letter-spacing:.06em;color:rgba(255,255,255,.72)}
.daypart__legend{color:#fff;font-size:14px;margin-top:16px}
.daypart__legend .sw{border:0;width:12px;height:12px}
.daypart__legend .sw--g{background:#fff}
.daypart__now{top:-10px;bottom:-1px;width:1px;background:var(--surface)}
.daypart__now::after{content:"Now";top:-16px;font:700 10px/1 var(--mono);color:var(--surface)}
.visitband__facts{display:grid;grid-template-columns:1fr 1fr;gap:32px 40px;border-top:1px solid rgba(255,255,255,.24);padding-top:28px}
.visitband__facts address{font:700 22px/1.3 var(--body);font-style:normal;margin-bottom:18px}
.visitband .hours th,.visitband .hours td{border-bottom:1px solid rgba(255,255,255,.24);font-size:15px}
.visitband .hours tr.is-today th,.visitband .hours tr.is-today td{color:var(--surface)}
.visitband .muted{color:rgba(255,255,255,.7)}
.visitband__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:36px}
.visitband .biglink{margin:0 8px 0 0}
.visitband .socials a{border:1px solid rgba(255,255,255,.6)}
.visitband .socials a:hover,.visitband .socials a:focus-visible{background:#fff;color:var(--ink)}
.visitband .btn--order:hover,.visitband .btn--order:focus-visible{background:#fff;border-color:#fff;color:var(--ink)}

/* Group band over a photograph (contact). */
.band--group .lede{max-width:44ch;margin:22px 0 28px;color:#fff}
.band--group img{object-position:50% 45%}
.band--group::after{background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.45) 60%,rgba(0,0,0,.2))}
.band .btn--order:hover,.band .btn--order:focus-visible{background:#fff;border-color:#fff;color:var(--ink)}

/* Contact: shop front beside the details. */
.visitsplit{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:64px;align-items:start}
.visitsplit__photo{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--ink)}
.visitsplit__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.visitsplit__photo figcaption{position:absolute;left:0;bottom:0;background:var(--ink);color:#fff;font:700 .68rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:12px 18px}
.visitsplit .visit{grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.visitsplit .visit>div:last-child{grid-column:1/-1;border-top:1px solid var(--hairline)}
.hours tr.is-today th,.hours tr.is-today td{color:var(--accent);font-weight:700}

/* Menu: each family opens with an edge-to-edge photograph, list straight under it. */
.fam{background:var(--canvas);scroll-margin-top:calc(var(--header-h) + 8px)}
.fam__band{position:relative;display:flex;align-items:flex-end;min-height:clamp(400px,46vw,640px);margin:0;background:var(--ink);color:#fff;overflow:hidden}
.fam__pics{position:absolute;inset:0;display:grid;grid-template-columns:1fr;grid-template-rows:100%;gap:2px}
.fam__pics--pair{grid-template-columns:42fr 58fr}
.fam__pics img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.fam__band::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.84),rgba(0,0,0,.25) 45%,rgba(0,0,0,0) 70%)}
.fam__title{position:relative;z-index:1;width:100%;padding-top:120px;padding-bottom:40px}
.fam__title .family__num{display:block;color:#fff;margin-bottom:14px}
.fam__title h2{font:800 clamp(56px,9.5vw,136px)/.88 var(--headline);letter-spacing:.01em;text-transform:uppercase;margin:0}
.fam__title .eyebrow{margin:18px 0 0;color:#fff}
.fam__body{padding-top:48px;padding-bottom:72px}
.fam__body>.lede{max-width:52ch;margin-bottom:40px}
.fam__cols{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}
.fam__h{font:700 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 14px}
.fam .items{margin-bottom:40px}
.fam .items li{padding:18px 0}
.fam .items strong{font-size:19px;margin-bottom:4px}
.fam .items .d{font-size:16px;color:var(--ink-2)}
.fam__lists{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 40px;margin:0 0 40px;padding-top:28px;border-top:1px solid currentColor}
.fam__lists dt{font:700 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.fam__lists dd{margin:0;font-size:16px;line-height:1.6}
.fam--dark{background:var(--ink);color:#fff}
.fam--dark .items .d{color:rgba(255,255,255,.74)}
.fam--split .fam__band{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:clamp(420px,44vw,620px)}
.fam--split .fam__band::after{display:none}
.fam--split .fam__pics{position:relative;inset:auto}
.fam--split .fam__pics img{object-position:50% 46%}
.fam--split .fam__title{display:flex;flex-direction:column;justify-content:flex-end;padding:64px clamp(20px,5vw,80px) 48px}
.pagehero--menu .pagehero__media img{object-position:50% 46%}

/* Footer: the name across the full width. */
.footer{border-top:1px solid rgba(255,255,255,.18)}
.footer__mark{font-size:min(13vw,170px);line-height:.9;white-space:nowrap;margin-bottom:44px}
.footer__logo{display:block;height:20px;width:auto;opacity:.92}
.footer__base{align-items:center}

@media(max-width:1000px){.visitband{grid-template-columns:1fr}.visitband__media{min-height:0;aspect-ratio:4/3}.fam__lists{grid-template-columns:1fr 1fr}.visitsplit{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:36px}}
@media(max-width:860px){.wordmark img{height:19px}.hero__in{min-height:100vh;min-height:100svh}.fam__cols{grid-template-columns:1fr}.footer__mark{font-size:13vw}}
@media(max-width:700px){.visitsplit{grid-template-columns:1fr}.visitsplit__photo{aspect-ratio:4/3}.visitsplit .visit{grid-template-columns:1fr}.fam--split .fam__band{grid-template-columns:1fr}.fam--split .fam__pics{aspect-ratio:5/4}.fam--split .fam__title{padding:36px var(--gutter) 8px}}
@media(max-width:600px){
  .hero__in{min-height:100vh;min-height:100svh;padding-bottom:44px}
  .hero__sub,.hero__browse{display:none}
  .hero h1{margin-bottom:26px}
  .hero__call{margin:0;padding:10px 0;font-size:15px}
  .board .section__head{margin-bottom:24px}
  .dish{min-height:min(640px,82svh)}
  #dish-lox .dish__photo{object-position:24% 40%}
  .dish__in{padding-top:110px;padding-bottom:36px}
  .dish h3{font-size:clamp(54px,17vw,72px);margin-bottom:16px}
  .dish .lede{font-size:17px;margin-bottom:20px}
  .dish__count{top:18px}
  .board__foot{display:block;line-height:1.8}
  .board__foot a{display:block}
  .rail{padding:22px 0}
  .visitband__body{padding:48px var(--gutter) 56px}
  .visitband__facts{grid-template-columns:1fr;gap:24px}
  .fam__band{min-height:360px}
  .fam__title{padding-top:90px;padding-bottom:28px}
  .fam__title h2{font-size:clamp(50px,15vw,64px)}
  .fam__body{padding-top:32px;padding-bottom:52px}
  .band--group .actions .btn{flex:1 1 100%}
  .footer__mark{font-size:13vw;margin-bottom:32px}
}
@media(max-width:360px){.wordmark img{height:16px}.hero__in{min-height:100vh;min-height:100svh}.dish h3{font-size:50px}.fam__lists{gap:22px 20px}}
@media(prefers-reduced-motion:reduce){.rail__track{animation:none}}
/* Look round 1 fixes. */
.footer .footer__mark{font-size:min(15vw,198px);line-height:.9;max-width:none}
.fam--split .fam__title{justify-content:center}
@media(min-width:701px){.fam--split .fam__pics{height:clamp(420px,44vw,640px)}}
.header{box-shadow:0 10px 30px rgba(0,0,0,.1);border-color:rgba(21,21,21,.08)}
.header .btn--order{gap:.3em}
.wordmark img{height:24px}
.dish__in{position:static}
.dish__in>*{position:relative;z-index:1}
.dish .dish__count{position:absolute;top:28px;right:var(--gutter)}
.group .h2{margin-bottom:22px}
@media(max-width:860px){.wordmark img{height:20px}}
@media(max-width:600px){.dish .dish__count{top:18px}.band--group::after{background:rgba(0,0,0,.64)}}
@media(max-width:360px){.wordmark img{height:16px}}

/* Enhancement muse r6 (2026-10-01). Limón tokens apply to the new proof strip only. */
.proof--tally{--limon-ground:#1d0b0d;--limon-cream:#fcf9f0;--limon-mist:rgba(219,226,220,.26);--limon-marigold:#f7ea48;background:var(--limon-ground);color:var(--limon-cream);border-bottom:0;padding:28px 0 32px}
.proof--tally .proof__label{font:700 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--limon-cream);margin:0 0 16px;opacity:.86}
.proof--tally ul{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.proof--tally li{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px;border:1px solid var(--limon-mist);border-radius:2px;min-width:0}
.proof.proof--tally li:nth-child(n){border:1px solid var(--limon-mist)}
.proof--tally b{flex:none;font:800 clamp(40px,3.6vw,52px)/.9 var(--headline);letter-spacing:.01em;text-transform:uppercase;color:var(--limon-marigold)}
.proof--tally span{display:block;font:400 14px/1.4 var(--body);color:rgba(252,249,240,.76)}
.proof--tally strong{display:block;font:600 15px/1.3 var(--body);color:var(--limon-cream);margin-bottom:2px}
@media(max-width:1100px){.proof--tally ul{grid-template-columns:1fr 1fr}}
@media(max-width:600px){
  .proof--tally{padding:22px 0 24px}
  .proof--tally ul{grid-template-columns:1fr;gap:8px}
  .proof.proof--tally li:nth-child(n){flex-direction:row;align-items:center;padding:12px 14px;gap:14px}
  .proof--tally b{min-width:2.4em;font-size:38px}
}

/* Selector tabs carry their own dish photo. */
.counter__tabs button{gap:14px;padding:14px 16px}
.counter__thumb{flex:none;display:block;width:64px;height:64px;object-fit:cover;border-radius:2px;opacity:.82;transition:opacity var(--response) var(--ease-out),box-shadow var(--response) var(--ease-out)}
.counter__tabs button[aria-selected="true"] .counter__thumb{opacity:1;box-shadow:0 0 0 2px var(--canvas),0 0 0 4px var(--accent)}
.counter__label{display:flex;flex-direction:column;gap:6px;min-width:0}
@media(hover:hover) and (pointer:fine){.counter__tabs button:hover .counter__thumb{opacity:1}}
@media(max-width:860px){.counter__thumb{width:52px;height:52px}.counter__tabs button{gap:10px;padding:12px}}
@media(max-width:600px){.counter__thumb{width:44px;height:44px}.counter__tabs button{gap:10px;padding:12px 10px;min-height:72px}.counter__label{gap:4px}}
@media(max-width:360px){.counter__thumb{width:38px;height:38px}.counter__tabs button{gap:8px;padding:10px 8px}}
@media(prefers-reduced-motion:reduce){.counter__thumb{transition:none}}

/* Hero 1440: "Reno mornings." stays on one line at full display size. */
@media(min-width:601px){.hero__copy{max-width:min(1160px,100%)}.hero h1 .ln{white-space:nowrap}.hero__sub{max-width:44ch}}

/* Hero 390: lift the copy and restore the support line. */
@media(max-width:600px){
  .hero__sub{display:block;font-size:16px;line-height:1.45;max-width:34ch;margin-bottom:20px}
  .hero__in{padding-bottom:44px;padding-bottom:clamp(44px,calc(100svh - 680px),164px)}
  .hero h1{margin-bottom:18px}
}

/* October 9: retain the rack; uncover food and shorten the factual rail. */
.proof.proof--tally{background:var(--surface);color:var(--ink);padding:24px 0}
.proof--tally .proof__label{color:var(--ink)}
.proof--tally ul{gap:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.proof.proof--tally li:nth-child(n){border:0;border-left:1px solid #bba48f;padding:8px 20px;gap:8px;flex-direction:row;align-items:center}
.proof--tally b{font-size:36px;color:var(--accent)}
.proof--tally span{color:var(--ink-2);font-size:12px}.proof--tally strong{color:var(--ink);font-size:14px}
.dish{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);min-height:0;max-width:1240px;margin:auto;background:var(--surface);color:var(--ink)}
.dish[hidden]{display:none!important}.dish::after{display:none}
.dish__photo{position:relative;inset:auto;width:100%;height:560px;object-fit:cover}
.dish__in{padding:48px 40px;align-self:center}.dish__count{position:static;color:var(--ink-2);margin-bottom:20px}
.dish h3{font-size:clamp(48px,5.5vw,80px);line-height:.98}.dish .eyebrow{color:var(--accent)}
.dish .lede{font-size:18px}.dish__note{color:var(--ink-2)}.dish .textlink{color:var(--ink)}
.rail{position:relative}.rail-pause{display:block;margin:18px auto 0;background:transparent;color:white;border:1px solid #aaa;padding:10px 16px;font:inherit;cursor:pointer}
.footer__grid{padding-top:0}.footer{padding-top:48px}.footer__logo{max-width:220px}
html.noanim *,html.noanim *::before,html.noanim *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html:not(.js) .menubtn{display:none}html:not(.js) .nav{display:flex;flex-wrap:wrap}html:not(.js) .header{position:relative}html:not(.js) .header__in{flex-wrap:wrap}
@media(max-width:1000px){.proof.proof--tally li:nth-child(n){padding:8px 12px;flex-direction:column;align-items:flex-start}.dish__in{padding:32px 24px}}
@media(max-width:600px){.proof--tally ul{grid-template-columns:1fr 1fr}.proof.proof--tally li:nth-child(n){padding:10px 12px;flex-direction:row;align-items:center}.proof--tally span{font-size:12px}.proof--tally b{font-size:28px;min-width:0}.proof--tally strong{font-size:13px}.dish{display:block}.dish__photo{height:300px;object-fit:cover}.dish__in{padding:28px 20px}.dish h3{font-size:48px}.dish__count{margin-bottom:12px}.dish .lede{font-size:17px}.counter__tabs button{min-width:0}.hero__call{white-space:normal}.footer{padding-top:36px}}
@media(prefers-reduced-motion:reduce){.rail-pause{display:none}}

html:not(.js) .header__in{height:auto;min-height:60px;padding-top:16px;padding-bottom:16px}html:not(.js) .nav-menu__panel{position:static}html:not(.js) .nav-menu{max-width:100%}
