/* =========================================================================
   TUESDAYS STREET TACOS & BURRITOS - "Ink & Asada"
   gray28 build. One token system, reflowed. Nothing hand-placed.
   ========================================================================= */

/* ---------- L1 PRIMITIVES ---------- */
:root{
  /* palette sampled from their real truck + logo */
  --lime-500:#6eb034;      /* brand / action */
  --lime-600:#5a9628;
  --lime-700:#417414;      /* accent-ink on light, AA */
  --crimson-500:#cf213f;   /* chili - art layer only */
  --crimson-600:#a8152e;
  --cream-50:#fbf4ea;
  --cream-100:#f7e6d8;     /* base paper */
  --cream-200:#efd9c4;
  --neon:#a4dbbf;          /* the neon mint */
  /* warm neutrals built FROM the brand (brown-tinted, never flat gray) */
  --n-0:#fffaf3;
  --n-50:#f3ece1;
  --n-100:#e7ddce;
  --n-200:#d3c6b3;
  --n-300:#c4b4a0;
  --n-400:#8f8272;
  --n-500:#6b5f51;
  --n-600:#4f4539;
  --n-700:#372f27;
  --n-800:#241d17;
  --n-900:#171009;
  --ink:#1a0f12;           /* near-black warm */

  /* spacing - 4-based, 16 heartbeat */
  --space-1:4px;  --space-2:8px;  --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px;
  --space-9:96px; --space-10:128px; --space-11:160px; --space-12:224px;

  /* type scale - 1.25 major third */
  --ms-0:1rem; --ms-1:1.25rem; --ms-2:1.563rem; --ms-3:1.953rem;
  --ms-4:2.441rem; --ms-5:3.052rem; --ms-6:3.815rem; --ms-7:4.768rem;
  --ms-8:5.96rem;
  --ms-dn1:0.8rem; --ms-dn2:0.64rem;

  /* radius - soft house lane */
  --r-xs:4px; --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:24px;
  --r-pill:999px; --r-full:50%;

  /* elevation - ink-tinted, one light source (straight down) */
  --e0:none;
  --e1:0 1px 2px color-mix(in srgb,var(--ink) 12%,transparent),
       0 1px 1px color-mix(in srgb,var(--ink) 8%,transparent);
  --e2:0 1px 2px color-mix(in srgb,var(--ink) 12%,transparent),
       0 6px 14px color-mix(in srgb,var(--ink) 12%,transparent);
  --e3:0 1px 2px color-mix(in srgb,var(--ink) 14%,transparent),
       0 14px 26px color-mix(in srgb,var(--ink) 14%,transparent);
  --e4:0 2px 4px color-mix(in srgb,var(--ink) 16%,transparent),
       0 28px 50px color-mix(in srgb,var(--ink) 16%,transparent);

  /* motion */
  --ease-standard:cubic-bezier(.22,.61,.36,1);
  --ease-expressive:cubic-bezier(.16,1,.30,1);
  --dur-micro:120ms; --dur-element:200ms; --dur-section:320ms; --dur-cinematic:600ms;
  --stagger:75ms;

  /* ---------- L2 SEMANTIC ---------- */
  --surface:var(--cream-100);
  --surface-raised:var(--cream-50);
  --surface-ink:var(--ink);
  --on-ink:var(--cream-50);
  --on-ink-muted:#c7b6a3;
  --text:var(--ink);
  --text-muted:var(--n-600);
  --accent:var(--lime-500);
  --accent-ink:var(--ink);        /* text sitting ON lime */
  --accent-text:var(--lime-700);  /* lime AS text on light */
  --line:color-mix(in srgb,var(--ink) 12%,transparent);
  --line-strong:color-mix(in srgb,var(--ink) 22%,transparent);
  --focus:var(--lime-600);

  /* layout tokens (fluid, 360→1440) */
  --edge:clamp(1rem,.6rem + 1.1vw,1.5rem);
  --gutter:clamp(1.25rem,.8rem + 2vw,3rem);
  --measure:65ch;
  --shell:min(100% - 2*var(--edge),75rem);
  --shell-wide:min(100% - 2*var(--edge),88rem);
  --section-y:clamp(3.5rem,2.5rem + 4.5vw,8rem);

  font-size:clamp(1rem,.93rem + .31vw,1.1875rem);
  --font-display:"Fraunces",Georgia,serif;
  --font-text:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-script:"Sacramento",cursive;
}

/* ---------- RESET / BASE ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:var(--font-text);
  color:var(--text);
  background:var(--surface);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  font-variant-ligatures:common-ligatures;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul{list-style:none}
::selection{background:var(--lime-500);color:var(--ink)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}

/* ---------- TYPE ROLES ---------- */
.display,h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.03;letter-spacing:-.02em;color:var(--text)}
.display{font-size:clamp(3.05rem,2rem + 5.2vw,5.96rem);line-height:.98;letter-spacing:-.03em}
h1{font-size:var(--ms-5)}
h2{font-size:clamp(2.2rem,1.6rem + 2.6vw,3.815rem);line-height:1.04}
h3{font-size:var(--ms-3);font-weight:600;line-height:1.14}
.subhead{font-family:var(--font-text);font-size:clamp(1.125rem,1rem + .5vw,1.563rem);font-weight:400;line-height:1.4;color:var(--text-muted)}
.lead{font-size:var(--ms-1);line-height:1.5}
.label{font-family:var(--font-text);font-size:var(--ms-dn1);font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--accent-text)}
p{max-width:var(--measure);margin-inline:auto}
strong{font-weight:700}
em{font-style:italic}
.tnum{font-variant-numeric:tabular-nums lining-nums}

/* ---------- LAYOUT ---------- */
.shell{width:var(--shell);margin-inline:auto;padding-inline:var(--edge)}
.shell-wide{width:var(--shell-wide);margin-inline:auto;padding-inline:var(--edge)}
.section{padding-block:var(--section-y);position:relative}
.center{text-align:center}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.measure{max-width:var(--measure);margin-inline:auto}
.stack-4>*+*{margin-top:var(--space-4)}
.stack-6>*+*{margin-top:var(--space-6)}

/* serape band - the repeated layout primitive */
.serape{height:6px;width:100%;
  background:repeating-linear-gradient(90deg,
    var(--crimson-500) 0 14px, var(--lime-500) 14px 28px,
    var(--cream-200) 28px 42px, var(--ink) 42px 44px);
  opacity:.9}
.serape--thin{height:3px}
.rule{height:1px;background:var(--line);width:100%}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;gap:var(--space-2);
  font-family:var(--font-text);font-weight:600;font-size:var(--ms-0);
  letter-spacing:.01em;padding:.85em 1.5em;border-radius:var(--r-pill);
  min-height:48px;transition:transform var(--dur-element) var(--ease-standard),
  box-shadow var(--dur-element) var(--ease-standard),background var(--dur-element) var(--ease-standard)}
.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:var(--e1)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:var(--e2);background:var(--lime-600)}
.btn--primary:focus-visible{outline-color:var(--ink)}
.btn--ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.btn--ghost:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--on-ink{background:var(--accent);color:var(--accent-ink)}
.btn--ghost.btn--on-ink{background:transparent;color:var(--on-ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--on-ink) 40%,transparent)}
.btn--ghost.btn--on-ink:hover{box-shadow:inset 0 0 0 1.5px var(--on-ink)}
.btn .arw{transition:transform var(--dur-element) var(--ease-standard)}
.btn:hover .arw{transform:translateX(4px)}

/* magnetic wrap */
.mag{display:inline-block;will-change:transform}

/* ---------- HEADER / NAV ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
  padding:var(--space-4) var(--edge);
  transition:background var(--dur-section) var(--ease-standard),
  box-shadow var(--dur-section) var(--ease-standard),padding var(--dur-section) var(--ease-standard)}
.nav.stuck{background:color-mix(in srgb,var(--cream-50) 88%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 1px 0 var(--line);padding-block:var(--space-3)}
.nav__brand{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);
  font-weight:600;font-size:var(--ms-1);letter-spacing:-.02em}
.nav__brand img{height:38px;width:auto}
.nav__links{display:flex;align-items:center;gap:var(--space-5)}
.nav__links a{font-family:var(--font-text);font-weight:500;font-size:.95rem;
  position:relative;padding-block:var(--space-2)}
.nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;
  background:var(--accent);transition:right var(--dur-element) var(--ease-standard)}
.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{right:0}
.nav__cta{display:flex;align-items:center;gap:var(--space-3)}
.nav__burger{display:none;width:48px;height:48px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.nav__burger span{display:block;width:24px;height:2px;background:var(--ink);transition:transform var(--dur-element) var(--ease-standard),opacity var(--dur-element)}
.nav.open .nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .nav__burger span:nth-child(2){opacity:0}
.nav.open .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:55;background:var(--surface-ink);color:var(--on-ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);
  opacity:0;visibility:hidden;transition:opacity var(--dur-section) var(--ease-standard),visibility var(--dur-section)}
.drawer.open{opacity:1;visibility:visible}
.drawer a{font-family:var(--font-display);font-size:var(--ms-3);color:var(--on-ink)}
.drawer a[aria-current="page"]{color:var(--neon)}
.drawer .serape{position:absolute;top:0}

/* ---------- FOOTER ---------- */
.foot{background:var(--surface-ink);color:var(--on-ink);padding-block:var(--space-9) var(--space-6);position:relative}
.foot .serape{position:absolute;top:0;left:0}
.foot__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);text-align:center}
.foot__brand{grid-column:1/13;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}
.foot__brand img{height:120px}
.foot__cols{grid-column:1/13;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);margin-top:var(--space-7)}
.foot__col h4{font-family:var(--font-text);font-size:var(--ms-dn1);text-transform:uppercase;letter-spacing:.14em;color:var(--neon);margin-bottom:var(--space-3)}
.foot__col a,.foot__col p{color:var(--on-ink-muted);font-size:.95rem;max-width:none;display:block;margin-block:var(--space-1)}
.foot__col a:hover{color:var(--on-ink)}
.foot__legal{grid-column:1/13;margin-top:var(--space-8);padding-top:var(--space-5);
  border-top:1px solid color-mix(in srgb,var(--on-ink) 14%,transparent);
  display:flex;flex-direction:column;gap:var(--space-2);color:var(--on-ink-muted);font-size:.82rem}
.foot__legal a{color:var(--neon)}
.g28{font-weight:600}

/* ---------- REVEAL ---------- */
html.js .reveal{opacity:0;transform:translateY(24px)}
.is-in .reveal,.reveal.is-in{opacity:1;transform:none;
  transition:opacity var(--dur-cinematic) var(--ease-expressive),transform var(--dur-cinematic) var(--ease-expressive)}
html.js [data-stagger]>*{opacity:0;transform:translateY(20px)}
[data-stagger].is-in>*{opacity:1;transform:none;
  transition:opacity var(--dur-cinematic) var(--ease-expressive),transform var(--dur-cinematic) var(--ease-expressive)}

@media (prefers-reduced-motion:reduce){
  .reveal,[data-stagger]>*{opacity:1!important;transform:none!important;transition:none!important}
}

/* grain + halftone materials (backgrounds are materials, not fills) */
.grain::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  opacity:.06;mix-blend-mode:multiply}
.halftone{background-image:radial-gradient(color-mix(in srgb,var(--ink) 16%,transparent) 1px,transparent 1.4px);
  background-size:11px 11px}

/* =========================================================================
   HERO - the signature: charra inks in, neon ignites, truck rolls
   ========================================================================= */
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;position:relative;overflow:hidden;padding:var(--space-9) var(--edge) var(--space-8)}
.hero .serape{position:absolute;top:0;left:0}
.hero__charra{width:clamp(168px,20vw,264px);filter:drop-shadow(0 18px 30px color-mix(in srgb,var(--ink) 22%,transparent));
  will-change:clip-path}
.hero__neon{font-family:var(--font-script);color:var(--neon);line-height:1;
  font-size:clamp(2.1rem,1.5rem + 4vw,4.4rem);margin-top:var(--space-2);filter:saturate(1.2);
  transition:opacity .5s var(--ease-standard);
  text-shadow:0 0 6px #fff,0 0 12px var(--neon),0 0 26px var(--lime-500),
  0 0 44px color-mix(in srgb,var(--lime-500) 70%,transparent),0 0 70px color-mix(in srgb,var(--lime-500) 40%,transparent)}
.hero__neon.lit{animation:flicker 3.6s var(--ease-standard) .1s 1}
@keyframes flicker{0%{opacity:.2}4%{opacity:1}8%{opacity:.3}12%{opacity:1}16%{opacity:.6}18%{opacity:1}100%{opacity:1}}
.hero__meta{margin-top:var(--space-5);font-family:var(--font-text);text-transform:uppercase;
  letter-spacing:.13em;font-size:var(--ms-dn1);color:var(--text-muted)}
.hero__cta{margin-top:var(--space-6);display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;position:relative;z-index:3}
.hero__truck{position:absolute;bottom:clamp(48px,9vh,120px);left:0;right:0;z-index:2;
  display:flex;justify-content:center;pointer-events:none}
.hero__truck img{width:clamp(320px,48vw,760px);
  will-change:transform;filter:drop-shadow(0 22px 22px color-mix(in srgb,var(--ink) 30%,transparent))}

/* JS-gated hero choreography - keyframe animations hold their end state; no-JS = all visible */
@keyframes charraInk{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0% 0)}}
@keyframes truckRoll{from{transform:translateX(-165%)}to{transform:translateX(0)}}
@keyframes riseIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes cueIn{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
html.js .hero__charra{clip-path:inset(0 0 100% 0)}
html.js .hero.playing .hero__charra{animation:charraInk 1.15s var(--ease-expressive) .1s forwards}
html.js .hero__truck img{transform:translateX(-165%)}
html.js .hero.playing .hero__truck img{animation:truckRoll 1.4s var(--ease-expressive) .45s forwards}
html.js .hero__neon{opacity:0}
html.js .hero.playing .hero__neon{opacity:1;transition-delay:.9s}
html.js .hero__meta,html.js .hero__cta{opacity:0}
html.js .scrollcue{opacity:0}
html.js .hero.playing .hero__meta{animation:riseIn var(--dur-cinematic) var(--ease-expressive) .7s forwards}
html.js .hero.playing .hero__cta{animation:riseIn var(--dur-cinematic) var(--ease-expressive) .85s forwards}
html.js .hero.playing .scrollcue{animation:cueIn var(--dur-cinematic) var(--ease-expressive) 1s forwards}
@media (prefers-reduced-motion:reduce){
  html.js .hero__charra{clip-path:none;animation:none}
  html.js .hero__neon,html.js .hero__meta,html.js .hero__cta{opacity:1;animation:none}
  html.js .scrollcue{opacity:1;animation:none}
  html.js .hero__truck img{transform:none;animation:none}
}
.road{position:absolute;bottom:clamp(46px,9vh,118px);left:0;right:0;height:2px;background:var(--ink);opacity:.5;z-index:1}
.road::after{content:"";position:absolute;left:0;right:0;top:-1px;height:4px;
  background:repeating-linear-gradient(90deg,transparent 0 34px,var(--cream-50) 34px 70px);opacity:.6}
.scrollcue{position:absolute;bottom:var(--space-5);left:50%;transform:translateX(-50%);
  font-size:var(--ms-dn1);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}
.scrollcue .dot{width:2px;height:34px;background:linear-gradient(var(--accent),transparent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%,100%{transform:scaleY(.5);opacity:.4;transform-origin:top}50%{transform:scaleY(1);opacity:1}}

/* =========================================================================
   BAND - positioning statement (type as art)
   ========================================================================= */
.band{text-align:center;position:relative;overflow:hidden}
.band .display{max-width:16ch;margin-inline:auto}
.band .accent{color:var(--accent-text);font-style:italic}
.band__sub{margin-top:var(--space-7)}
.truckline{margin:var(--space-8) auto var(--space-2);max-width:940px;overflow:hidden}
.truckline__img{width:100%;height:auto;
  filter:drop-shadow(0 24px 26px color-mix(in srgb,var(--ink) 26%,transparent))}
html.js .roll .truckline__img{transform:translateX(-38%);opacity:0;will-change:transform}
.roll.is-in .truckline__img{transform:none;opacity:1;
  transition:transform 1.2s var(--ease-expressive),opacity .9s var(--ease-expressive)}
@media (prefers-reduced-motion:reduce){
  .roll .truckline__img{transform:none;opacity:1;transition:none}
}

/* marquee strip */
.strip{background:var(--lime-500);color:var(--ink);overflow:hidden;padding-block:var(--space-3);white-space:nowrap;
  border-block:2px solid var(--ink)}
.strip__row{display:inline-flex;gap:var(--space-6);align-items:center;animation:slide 26s linear infinite;font-family:var(--font-display);
  font-size:var(--ms-2);will-change:transform}
.strip__row span{display:inline-flex;gap:var(--space-6);align-items:center}
.strip .star{color:var(--ink)}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.strip__row{animation:none}}

/* =========================================================================
   DISHES - editorial strata on ink (no cards)
   ========================================================================= */
.dishes{background:var(--surface-ink);color:var(--on-ink);position:relative}
.dishes .section-head h2,.dishes .section-head .subhead{color:var(--on-ink)}
.section-head{text-align:center;max-width:32ch;margin:0 auto var(--space-9)}
.section-head .subhead{margin-top:var(--space-4)}
.strata{display:flex;flex-direction:column;gap:var(--space-10)}
.stratum{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:center}
.stratum__media{grid-column:1/7;position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--e3)}
.stratum__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-cinematic) var(--ease-expressive)}
.stratum:hover .stratum__media img{transform:scale(1.04)}
.stratum__body{grid-column:8/13;text-align:center}
.stratum:nth-child(even) .stratum__media{grid-column:7/13;order:2}
.stratum:nth-child(even) .stratum__body{grid-column:1/6}
.stratum__name{font-family:var(--font-display);font-size:var(--ms-4);line-height:1.02;color:var(--on-ink)}
.stratum__price{color:var(--neon);font-family:var(--font-text);font-weight:600;margin-top:var(--space-2);font-variant-numeric:tabular-nums}
.stratum__desc{color:var(--on-ink-muted);margin-top:var(--space-4)}
.stratum__tag{display:inline-block;margin-top:var(--space-4);font-size:var(--ms-dn1);letter-spacing:.16em;
  text-transform:uppercase;color:var(--neon)}

/* =========================================================================
   SPLIT - story + catering teasers
   ========================================================================= */
.split{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:center}
.split__media{grid-column:1/7;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/4;box-shadow:var(--e2)}
.split__media img{width:100%;height:100%;object-fit:cover}
.split__body{grid-column:8/13;text-align:center}
.split--flip .split__media{grid-column:7/13;order:2}
.split--flip .split__body{grid-column:1/6}
.split__body .label{display:block;margin-bottom:var(--space-4)}

/* =========================================================================
   REVIEWS
   ========================================================================= */
.reviews{background:var(--cream-50);text-align:center;position:relative;overflow:hidden}
.reviews .stars{color:var(--lime-600);font-size:var(--ms-2);letter-spacing:.1em}
.quotes{display:flex;flex-direction:column;gap:var(--space-9);max-width:44ch;margin:var(--space-9) auto 0}
.quote blockquote{font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + 1.6vw,2.6rem);
  line-height:1.14;letter-spacing:-.01em}
.quote cite{display:block;margin-top:var(--space-4);font-style:normal;color:var(--text-muted);
  font-size:var(--ms-dn1);letter-spacing:.14em;text-transform:uppercase}

/* =========================================================================
   FIND US - shop vs truck
   ========================================================================= */
.find{background:var(--surface-ink);color:var(--on-ink)}
.find .section-head h2{color:var(--on-ink)}
.find__cols{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter)}
.find__col{grid-column:span 6;text-align:center;padding-inline:var(--space-5)}
.find__col:first-child{border-right:1px solid color-mix(in srgb,var(--on-ink) 16%,transparent)}
.find__col h3{color:var(--on-ink);font-size:var(--ms-3)}
.find__col .big{font-family:var(--font-display);font-size:var(--ms-2);color:var(--neon);margin-top:var(--space-3)}
.find__col p{color:var(--on-ink-muted);margin-top:var(--space-3)}
.find__hours{margin-top:var(--space-4);font-variant-numeric:tabular-nums;color:var(--on-ink-muted);font-size:.95rem;line-height:1.9}
.find__hours b{color:var(--on-ink);font-weight:600}

/* =========================================================================
   RESPONSIVE - reflow structure only
   ========================================================================= */
@media (max-width:64rem){
  .nav__links,.nav__cta .btn{display:none}
  .nav__burger{display:flex}
  .stratum,.stratum:nth-child(even) .stratum__media,.stratum:nth-child(even) .stratum__body,
  .split,.split--flip .split__media,.split--flip .split__body{display:block;grid-column:1/-1;order:0}
  .stratum__media,.split__media{margin-bottom:var(--space-5)}
  .stratum__body,.split__body{text-align:center}
  .foot__cols{grid-template-columns:1fr}
  .find__col{grid-column:1/-1}
  .find__col:first-child{border-right:none;border-bottom:1px solid color-mix(in srgb,var(--on-ink) 16%,transparent);padding-bottom:var(--space-7);margin-bottom:var(--space-7)}
}
@media (max-width:48rem){
  .hero{padding-top:var(--space-10)}
  .hero__truck{width:min(88vw,520px)}
}

/* cross-document view transitions (multi-page, cinematic) */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.5s}
@media (prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* =========================================================================
   INNER PAGES - shared
   ========================================================================= */
.page-head{padding:calc(var(--space-10) + var(--space-6)) var(--edge) var(--space-8);text-align:center;position:relative;overflow:hidden}
.page-head .serape{position:absolute;top:0;left:0}
.page-head h1{font-family:var(--font-display);font-size:clamp(2.8rem,2rem + 4.5vw,5rem);line-height:1;letter-spacing:-.02em}
.page-head .subhead{margin-top:var(--space-5)}
.page-head .neon-mini{font-family:var(--font-script);color:var(--lime-700);font-size:clamp(1.8rem,1.4rem+2vw,2.8rem);margin-bottom:var(--space-2);display:block}

/* MENU */
.menu-tabs{display:flex;justify-content:center;gap:var(--space-2);margin:0 auto var(--space-9);flex-wrap:wrap}
.menu-tab{font-family:var(--font-text);font-weight:600;font-size:var(--ms-0);padding:.6em 1.4em;border-radius:var(--r-pill);
  min-height:48px;box-shadow:inset 0 0 0 1.5px var(--line-strong);transition:all var(--dur-element) var(--ease-standard)}
.menu-tab[aria-selected="true"]{background:var(--accent);color:var(--accent-ink);box-shadow:none}
.menu-panel[hidden]{display:none}
.menu-note{text-align:center;color:var(--text-muted);max-width:60ch;margin:0 auto var(--space-9)}
.menu-section{margin-bottom:var(--space-10)}
.menu-section__head{text-align:center;margin-bottom:var(--space-7)}
.menu-section__head h2{font-size:var(--ms-4)}
.menu-section__head .note{color:var(--text-muted);font-size:.95rem;margin-top:var(--space-2)}
.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6) var(--space-8);max-width:64rem;margin-inline:auto;text-align:left}
.menu-item__row{display:flex;align-items:baseline;gap:var(--space-2)}
.menu-item__name{font-family:var(--font-display);font-size:var(--ms-1);font-weight:600;line-height:1.1}
.menu-item__leader{flex:1;height:0;border-bottom:1.5px dotted var(--line-strong);transform:translateY(-.28em)}
.menu-item__price{font-family:var(--font-text);font-weight:600;color:var(--accent-text);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.menu-item__desc{color:var(--text-muted);font-size:.92rem;margin-top:var(--space-1);line-height:1.5;max-width:none}
.menu-item__tag{display:inline-block;margin-top:var(--space-1);font-size:var(--ms-dn2);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.menu-cta{text-align:center;margin-top:var(--space-8)}

/* STORY timeline */
.story-lead{text-align:center;max-width:44ch;margin:0 auto var(--space-10)}
.timeline{max-width:70rem;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-10)}
.tl{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:center}
.tl__media{grid-column:1/7;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--e2)}
.tl__media img{width:100%;height:100%;object-fit:cover}
.tl__body{grid-column:8/13;text-align:center}
.tl:nth-child(even) .tl__media{grid-column:7/13;order:2}
.tl:nth-child(even) .tl__body{grid-column:1/6}
.tl__year{font-family:var(--font-display);font-size:var(--ms-6);color:var(--accent-text);line-height:1}
.tl__body h3{font-size:var(--ms-3);margin-top:var(--space-2)}
.tl__body p{margin-top:var(--space-4)}
.pull{text-align:center;max-width:24ch;margin:var(--space-10) auto 0;font-family:var(--font-display);
  font-size:clamp(1.8rem,1.3rem+2.4vw,3rem);line-height:1.1}
.pull .accent{color:var(--accent-text);font-style:italic}

/* CATERING */
.cater-formats{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-8) var(--gutter);max-width:70rem;margin:0 auto;text-align:center}
.cater-format{grid-column:span 4}
.cater-format h3{font-size:var(--ms-2)}
.cater-format p{margin-top:var(--space-3);color:var(--text-muted)}
.cater-format .ic{font-family:var(--font-script);color:var(--accent-text);font-size:var(--ms-4);display:block;margin-bottom:var(--space-2)}
.events-line{text-align:center;max-width:50ch;margin:var(--space-9) auto 0;color:var(--text-muted);font-size:var(--ms-1);line-height:1.8}
.events-line b{color:var(--text);font-weight:600}

/* FORMS */
.form{max-width:34rem;margin:var(--space-8) auto 0;text-align:left}
.field{margin-bottom:var(--space-5)}
.field label{display:block;font-size:var(--ms-dn1);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text);margin-bottom:var(--space-2)}
.field input,.field textarea,.field select{width:100%;font:inherit;color:var(--text);background:var(--surface-raised);
  border:1.5px solid var(--line-strong);border-radius:var(--r-md);padding:.8em 1em;min-height:48px;transition:border-color var(--dur-element) var(--ease-standard)}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent)}
.form__note{font-size:.85rem;color:var(--text-muted);text-align:center;margin-top:var(--space-4)}
.form__ok{display:none;text-align:center;padding:var(--space-6);border-radius:var(--r-lg);background:color-mix(in srgb,var(--accent) 16%,var(--surface-raised));font-weight:600}
.form.sent .form__ok{display:block}
.form.sent .form__fields{display:none}
.turnstile-stub{display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:65px;border:1.5px dashed var(--line-strong);
  border-radius:var(--r-md);color:var(--text-muted);font-size:.85rem;margin-bottom:var(--space-5)}
.turnstile-stub::before{content:"";width:20px;height:20px;border-radius:var(--r-xs);background:var(--accent)}

/* FAQ */
.faq{max-width:52rem;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);padding:var(--space-5) 0}
.faq summary{font-family:var(--font-display);font-size:var(--ms-2);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);text-align:left}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent-text);font-size:var(--ms-3);transition:transform var(--dur-element) var(--ease-standard)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin-top:var(--space-4);color:var(--text-muted);text-align:left;margin-inline:0}

/* VISIT info */
.visit-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-8) var(--gutter);align-items:start;max-width:72rem;margin:0 auto}
.visit-info{grid-column:1/6;text-align:center}
.visit-map{grid-column:6/13;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--e2);min-height:380px}
.visit-map iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
.visit-info .big{font-family:var(--font-display);font-size:var(--ms-2);margin-top:var(--space-3)}
.visit-info .hrs{margin-top:var(--space-4);font-variant-numeric:tabular-nums;color:var(--text-muted);line-height:2}
.visit-info .hrs b{color:var(--text)}

@media (max-width:64rem){
  .menu-list{grid-template-columns:1fr;max-width:40rem}
  .cater-format{grid-column:span 12}
  .tl,.tl:nth-child(even) .tl__media,.tl:nth-child(even) .tl__body{display:block;grid-column:1/-1;order:0}
  .tl__media{margin-bottom:var(--space-5)}
  .visit-info,.visit-map{grid-column:1/-1}
  .visit-info{margin-bottom:var(--space-6)}
}
