:root{
  --bg:    #16110C;   /* deep cooked-ember ground */
  --bg2:   #1F1812;   /* panel */
  --bg3:   #2A2017;   /* lifted panel */
  --ink:   #FBF1DD;   /* chalk cream text on dark */
  --dim:   #C2B49B;   /* muted on dark (AA on ember) */
  --line:  rgba(251,241,221,.14);

  --flame:     #F2541B;  /* dominant hot persimmon */
  --flame-dk:  #C53D0E;  /* darkened persimmon FILL behind WHITE text (AA) */
  --flame-lt:  #FF7A47;  /* lighter persimmon — small accent text on DARK (AA) */
  --flame-tx:  #B83A0C;  /* deep persimmon — small accent text on CREAM (AA) */

  --sun:       #F7B500;  /* mustard sun accent (large/decorative + small on dark via -tx) */
  --sun-tx:    #8A6400;  /* deep mustard — small text on CREAM (AA) */
  --jade:      #2FA8A0;  /* turquoise sticker accent */
  --jade-dk:   #1C7A74;  /* darkened jade FILL behind WHITE (AA) */
  --jade-lt:   #54CFC6;  /* lighter jade — small accent on DARK (AA) */

  --cream:     #FBF1DD;  /* light section ground (chalk paper) */
  --cream2:    #FFF8EC;  /* lifted card on light */
  --char:      #1C140D;  /* ink on light */
  --pdim:      #5A4D3C;  /* muted on light (AA on cream) */
  --pline:     #E6D8BD;
  --chalk:     #2A2017;  /* chalkboard ground */
  --chalk2:    #34281C;  /* chalkboard lifted */

  --disp: 'Bungee', 'Arial Black', sans-serif;
  --hand: 'Caveat', 'Bradley Hand', cursive;
  --body: 'Work Sans', system-ui, sans-serif;

  --shell: 1240px;
  --gut: clamp(1.15rem, 4.5vw, 3rem);
  --ease: cubic-bezier(.2,.7,.2,1);
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--body); font-size:1.02rem; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; }
h1,h2,h3{ margin:0; }
::selection{ background:var(--flame); color:#fff; }
:focus-visible{ outline:3px solid var(--sun); outline-offset:3px; }
.shell{ max-width:var(--shell); margin:0 auto; padding-inline:var(--gut); }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.skip{ position:absolute; left:12px; top:-60px; z-index:200; background:var(--sun); color:#16110C; font-family:var(--body); font-weight:800; font-size:13px; padding:10px 16px; text-decoration:none; }
.skip:focus{ top:10px; }

/* paint-drip / route-dash signature pieces */
.tape{ background:repeating-linear-gradient(135deg, var(--flame) 0 22px, var(--flame-dk) 22px 26px, var(--flame) 26px 48px); height:14px; }
.tape--thin{ height:8px; }

/* reveal */
html.js [data-rise]{ opacity:0; transform:translateY(24px); transition:opacity .65s var(--ease), transform .65s var(--ease); }
html.js [data-rise].in{ opacity:1; transform:none; }
html.js [data-pop]{ opacity:0; transform:scale(.82) rotate(var(--rot,0deg)); transition:opacity .5s var(--ease), transform .5s var(--ease); }
html.js [data-pop].in{ opacity:1; transform:scale(1) rotate(var(--rot,0deg)); }
@media (prefers-reduced-motion: reduce){
  html.js [data-rise]{ opacity:1 !important; transform:none !important; }
  html.js [data-pop]{ opacity:1 !important; transform:rotate(var(--rot,0deg)) !important; }
}

/* shared kicker */
.kick{ font-family:var(--body); font-weight:800; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--flame-lt); display:inline-flex; align-items:center; gap:.6rem; }
.kick::before{ content:""; width:26px; height:3px; background:var(--flame); }
.kick--dk{ color:var(--flame-tx); }

/* ---------- LOCATOR BAR ---------- */
.loc{ background:#0D0A06; color:var(--dim); font-family:var(--body); font-size:.76rem; letter-spacing:.02em; }
.loc .shell{ display:flex; align-items:center; gap:.6rem 1.3rem; flex-wrap:wrap; padding-block:.6rem; }
.loc .live{ display:inline-flex; align-items:center; gap:.5rem; color:var(--ink); text-transform:uppercase; letter-spacing:.12em; font-weight:800; font-size:.72rem; }
.loc .dot{ width:9px; height:9px; border-radius:50%; background:var(--sun); box-shadow:0 0 0 0 rgba(247,181,0,.7); animation:pulse 2.2s infinite; }
@keyframes pulse{ 70%{ box-shadow:0 0 0 7px rgba(247,181,0,0); } 100%{ box-shadow:0 0 0 0 rgba(247,181,0,0); } }
@media (prefers-reduced-motion: reduce){ .loc .dot{ animation:none; } }
.loc .here{ color:var(--ink); }
.loc .here b{ color:var(--sun); font-weight:800; }
.loc .sep{ opacity:.35; }
.loc a{ color:var(--sun); text-decoration:none; font-weight:800; margin-left:auto; }
.loc a:hover{ color:#fff; }
@media (max-width:760px){ .loc .hide-sm{ display:none; } .loc a{ margin-left:0; } }

/* ---------- NAV ---------- */
.nav{ position:sticky; top:0; z-index:60; background:rgba(22,17,12,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.nav .shell{ display:flex; align-items:center; justify-content:space-between; gap:1rem; height:74px; }
.brand{ display:inline-flex; align-items:center; gap:.7rem; text-decoration:none; color:var(--ink); }
.brand .mk{ width:44px; height:44px; flex:none; }
.brand b{ font-family:var(--disp); font-weight:400; font-size:1.18rem; letter-spacing:0; text-transform:uppercase; line-height:.95; display:block; }
.brand small{ display:block; font-family:var(--hand); font-size:1rem; font-weight:700; letter-spacing:.01em; color:var(--sun); margin-top:1px; line-height:1; }
.nlinks{ display:none; gap:1.8rem; list-style:none; margin:0; padding:0; }
@media (min-width:960px){ .nlinks{ display:flex; } }
.nlinks a{ font-family:var(--body); font-weight:800; font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; color:var(--dim); }
.nlinks a:hover{ color:var(--sun); }
.nlinks a[aria-current="page"]{ color:var(--sun); }
.btn{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--disp); font-weight:400; text-transform:uppercase; letter-spacing:0; text-decoration:none; cursor:pointer; border:0; transition:transform .12s var(--ease), background-color .12s var(--ease); }
.btn--flame{ background:var(--flame-dk); color:#fff; padding:.72rem 1.2rem; font-size:.82rem; }
.btn--flame:hover{ background:var(--flame); transform:translateY(-1px); }
.btn--sun{ background:var(--sun); color:#16110C; padding:.72rem 1.2rem; font-size:.82rem; }
.btn--sun:hover{ background:#fff; transform:translateY(-1px); }
.btn--ghost{ background:transparent; color:var(--ink); border:2px solid var(--line); padding:.66rem 1.18rem; font-size:.82rem; }
.btn--ghost:hover{ border-color:var(--sun); color:var(--sun); }
.btn--big{ padding:1.05rem 1.5rem; font-size:1.18rem; }
.nav .btn--sun{ display:none; }
@media (min-width:960px){ .nav .btn--sun{ display:inline-flex; } }
.burger{ display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; background:transparent; border:2px solid var(--line); color:var(--ink); cursor:pointer; }
@media (min-width:960px){ .burger{ display:none; } }
.burger span, .burger span::before, .burger span::after{ display:block; width:22px; height:2.6px; background:currentColor; border-radius:2px; }
.burger span{ position:relative; }
.burger span::before, .burger span::after{ content:""; position:absolute; left:0; transition:transform .25s var(--ease), top .25s var(--ease); }
.burger span::before{ top:-7px; } .burger span::after{ top:7px; }
.nav.open .burger span{ background:transparent; }
.nav.open .burger span::before{ top:0; transform:rotate(45deg); }
.nav.open .burger span::after{ top:0; transform:rotate(-45deg); }
/* mobile drawer */
.drawer{ position:fixed; inset:74px 0 0; z-index:55; background:var(--bg); transform:translateY(-12px); opacity:0; visibility:hidden; transition:opacity .25s var(--ease), transform .25s var(--ease); padding:2rem var(--gut) 2.5rem; display:flex; flex-direction:column; gap:.2rem; overflow-y:auto; }
.drawer.open{ opacity:1; visibility:visible; transform:none; }
body.lock{ overflow:hidden; }
.drawer a.dl{ font-family:var(--disp); font-size:1.9rem; line-height:1.1; text-transform:uppercase; text-decoration:none; color:var(--ink); padding:.55rem 0; border-bottom:1px solid var(--line); letter-spacing:0; }
.drawer a.dl:hover{ color:var(--sun); }
.drawer a.dl[aria-current="page"]{ color:var(--sun); }
.drawer .dfoot{ margin-top:auto; display:flex; flex-direction:column; gap:.8rem; padding-top:1.4rem; }
.drawer .dcall{ font-family:var(--body); font-weight:800; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); text-decoration:none; }
.drawer .dcall b{ display:block; font-family:var(--disp); font-weight:400; font-size:1.7rem; color:var(--sun); letter-spacing:0; margin-top:.25rem; }
@media (min-width:960px){ .drawer{ display:none; } }

/* =====================================================================
   PAGE HEADER BANNER (interior pages — painted slab strip)
   ===================================================================== */
.phead{ position:relative; background:#9E2F08; color:#fff; overflow:hidden; border-bottom:4px solid #16110C; }
.phead::before{ content:""; position:absolute; left:0; right:0; top:0; height:14px; background:repeating-linear-gradient(90deg, #16110C 0 6px, transparent 6px 30px); opacity:.55; }
.phead .shell{ padding-block:clamp(2.4rem,6vw,4rem); position:relative; z-index:2; }
.phead .kick{ color:#FBE7C8; }
.phead .kick::before{ background:var(--sun); }
.phead h1{ font-family:var(--disp); font-weight:400; text-transform:uppercase; font-size:clamp(2.4rem,8vw,5rem); line-height:.9; letter-spacing:0; color:var(--cream); text-shadow:4px 4px 0 #16110C; margin:.7rem 0 0; }
.phead h1 .hl{ color:var(--sun); text-shadow:5px 5px 0 #16110C; }
.phead p{ max-width:46ch; margin:1.1rem 0 0; font-family:var(--body); font-weight:600; font-size:clamp(1rem,2.4vw,1.18rem); line-height:1.45; color:#FBE7C8; }
.crumbs{ font-family:var(--body); font-weight:800; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:#FBE7C8; opacity:.85; }
.crumbs a{ color:#fff; text-decoration:none; }
.crumbs a:hover{ color:var(--sun); }
.crumbs .sep{ opacity:.5; padding:0 .4rem; }

/* =====================================================================
   HERO — THE SIDE OF THE TRUCK (painted sign / sticker bomb)
   ===================================================================== */
.truck{ position:relative; background:var(--bg); overflow:hidden; padding-block:clamp(1.8rem,4vw,2.6rem) clamp(3rem,6vw,4.6rem); }
.truck::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background:
    repeating-linear-gradient(90deg, transparent 0 118px, rgba(0,0,0,.28) 118px 120px),
    radial-gradient(120% 80% at 70% -10%, rgba(242,84,27,.16), transparent 60%);
}
.truck .shell{ position:relative; z-index:2; }
.panel{
  position:relative;
  background:#9E2F08; /* deep cooked persimmon — white passes here, no mid-orange behind text */
  border:4px solid #16110C;
  box-shadow: 14px 14px 0 0 #0D0A06, inset 0 0 0 6px rgba(255,255,255,.08);
  padding:clamp(1.6rem,5vw,3.4rem) clamp(1.4rem,5vw,3.6rem) clamp(2.2rem,5vw,3.4rem);
  overflow:hidden;
}
.panel::before{
  content:""; position:absolute; left:0; right:0; top:0; height:14px;
  background:repeating-linear-gradient(90deg, #16110C 0 6px, transparent 6px 30px);
  opacity:.55;
}
@keyframes panelIn{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }
html.js .panel--load{ animation:panelIn .7s var(--ease) both; }
@media (prefers-reduced-motion: reduce){ html.js .panel--load{ animation:none; } }
.panel__layout{ display:grid; grid-template-columns:1fr; gap:1.8rem; align-items:start; }
@media (min-width:900px){ .panel__layout{ grid-template-columns:1.15fr .85fr; gap:clamp(1.5rem,4vw,3rem); } }
.panel__main{ min-width:0; }
.panel__rail{ min-width:0; display:flex; flex-direction:column; gap:1.4rem; }
@media (min-width:900px){ .panel__rail{ align-items:flex-end; } }

.photodecal{ position:relative; width:100%; max-width:340px; aspect-ratio:1/1; border:6px solid #16110C; background:#0D0A06; overflow:hidden; transform:rotate(2.5deg); box-shadow:8px 10px 0 0 rgba(0,0,0,.4), 0 0 0 6px rgba(251,241,221,.12); }
@media (prefers-reduced-motion: reduce){ .photodecal{ transform:none; } }
.photodecal img{ width:100%; height:100%; object-fit:cover; filter:saturate(1.12) contrast(1.05); }
.photodecal__tab{ position:absolute; left:50%; bottom:0; transform:translateX(-50%); background:#16110C; color:var(--sun); font-family:var(--disp); font-size:.82rem; text-transform:uppercase; letter-spacing:0; padding:.45rem 1.1rem; }

.panel__brandline{ display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; margin-bottom:.8rem; }
.panel__est{ font-family:var(--body); font-weight:800; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:#16110C; background:rgba(255,255,255,.55); padding:.32rem .7rem; }
.panel__since{ font-family:var(--hand); font-size:1.5rem; font-weight:700; color:#fff; line-height:.9; }
.panel h1{
  font-family:var(--disp); font-weight:400; text-transform:uppercase;
  font-size:clamp(2.8rem,8.5vw,6.2rem); line-height:.9; letter-spacing:0;
  color:var(--cream);
  text-shadow: 4px 4px 0 #16110C, 4px 4px 0 #16110C;
  margin:0;
}
.panel h1 .ln2{ display:block; color:var(--sun); text-shadow:5px 5px 0 #16110C; }
.panel h1 .ln3{ display:block; color:var(--cream); text-shadow:4px 4px 0 var(--flame-dk), 7px 7px 0 #16110C; }
.panel__sub{ max-width:30ch; margin:1.2rem 0 0; font-family:var(--body); font-weight:600; font-size:clamp(1.02rem,2.6vw,1.2rem); line-height:1.4; color:#fff; }
.panel__sub b{ color:#16110C; background:#FBE7C8; padding:.05em .3em; font-weight:800; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.panel__cta{ display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.4rem; }
.panel .btn--ink{ background:#16110C; color:var(--ink); padding:1.05rem 1.5rem; font-size:1.18rem; }
.panel .btn--ink:hover{ background:#000; transform:translateY(-1px); }
.panel .btn--cream{ background:var(--cream); color:#16110C; padding:1.05rem 1.5rem; font-size:1.18rem; }
.panel .btn--cream:hover{ background:#fff; transform:translateY(-1px); }

.stickers{ position:absolute; inset:0; pointer-events:none; z-index:3; }
.sticker{
  position:absolute; font-family:var(--disp); text-transform:uppercase; font-size:.74rem; letter-spacing:0;
  padding:.5rem .7rem; border:3px solid #16110C; line-height:1; white-space:nowrap;
  box-shadow:3px 3px 0 rgba(0,0,0,.35);
}
.sticker.s1{ top:5%; right:4%; background:var(--jade-dk); color:#fff; transform:rotate(7deg); }
.sticker.s2{ top:3%; left:-1.2%; background:var(--sun); color:#16110C; transform:rotate(-7deg); border-radius:40px; }
.sticker.s3{ bottom:5%; right:6%; background:#16110C; color:var(--sun); transform:rotate(4deg); }
@media (max-width:900px){
  .sticker.s2{ top:auto; bottom:4%; left:auto; right:5%; }
  .sticker.s3{ display:none; }
}
@media (max-width:430px){ .sticker.s1, .sticker.s2{ display:none; } }

.decals{ display:flex; gap:clamp(1rem,3.4vw,2.2rem); flex-wrap:wrap; }
@media (min-width:900px){ .decals{ justify-content:flex-end; text-align:right; } }
.decal b{ display:block; font-family:var(--disp); font-weight:400; font-size:clamp(1.9rem,5vw,2.7rem); color:var(--sun); line-height:.9; }
.decal span{ font-family:var(--body); font-weight:800; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:#FBE7C8; }

/* =====================================================================
   THE ROUTE — the spine (oversized graphic weekly schedule)
   ===================================================================== */
.route{ background:var(--bg2); position:relative; }
.route .shell{ padding-block:clamp(3.2rem,6vw,5rem); }
.route__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1.2rem 2rem; flex-wrap:wrap; margin-bottom:2.4rem; }
.route__head .lt h2{ font-family:var(--disp); font-weight:400; font-size:clamp(2.3rem,7vw,4.4rem); text-transform:uppercase; line-height:.92; letter-spacing:0; margin-top:.7rem; }
.route__head .lt h2 .hl{ color:var(--flame-lt); }
.route__hand{ font-family:var(--hand); font-size:clamp(1.5rem,3.4vw,2.1rem); font-weight:700; color:var(--sun); line-height:.95; text-align:right; max-width:18ch; }
.route__hand span{ display:block; color:var(--dim); font-family:var(--body); font-weight:700; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; margin-top:.5rem; }

.map{ position:relative; padding-left:clamp(2rem,7vw,4.2rem); }
.map::before{
  content:""; position:absolute; left:clamp(.85rem,3vw,1.75rem); top:8px; bottom:8px; width:5px;
  background:repeating-linear-gradient(180deg, var(--flame) 0 18px, transparent 18px 30px);
}
.stop{ position:relative; display:grid; grid-template-columns:minmax(0,4.6rem) 1fr; gap:.3rem 1.3rem; align-items:center;
  background:linear-gradient(180deg, var(--bg3), var(--bg2)); border:2px solid var(--line); padding:1.1rem 1.2rem; margin-bottom:1rem; }
.stop:last-child{ margin-bottom:0; }
.stop::before{
  content:""; position:absolute; left:calc(-1 * clamp(2rem,7vw,4.2rem) + clamp(.85rem,3vw,1.75rem) - 6px); top:50%; transform:translateY(-50%);
  width:17px; height:17px; border-radius:50%; background:var(--bg2); border:4px solid var(--flame);
}
.stop .day{ font-family:var(--disp); font-weight:400; font-size:clamp(1.4rem,4vw,1.9rem); line-height:.85; text-transform:uppercase; color:var(--dim); }
.stop .info{ min-width:0; }
.stop .info .name{ display:block; font-family:var(--body); font-weight:800; font-size:1.1rem; line-height:1.2; }
.stop .info .addr{ display:block; font-family:var(--body); font-weight:500; font-size:.84rem; color:var(--dim); margin-top:.14rem; }
.stop .time{ grid-column:2; font-family:var(--disp); font-weight:400; font-size:1.3rem; letter-spacing:0; color:var(--sun); margin-top:.35rem; }
.stop .time em{ font-style:normal; font-family:var(--body); font-weight:800; font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); margin-left:.5rem; }
.stop.off{ opacity:.78; }
.stop.off::before{ border-color:var(--dim); }
.stop.off .info .name{ color:var(--dim); font-weight:700; }
.stop.off .time{ color:var(--dim); }
.stop.today{ background:var(--flame); border-color:#16110C; box-shadow:8px 8px 0 0 #0D0A06; }
.stop.today::before{ background:var(--sun); border-color:#16110C; width:21px; height:21px; left:calc(-1 * clamp(2rem,7vw,4.2rem) + clamp(.85rem,3vw,1.75rem) - 8px); box-shadow:0 0 0 5px rgba(247,181,0,.35); }
.stop.today .day{ color:#16110C; }
.stop.today .info .name{ color:#16110C; }
.stop.today .info .addr{ color:#2A1006; }
.stop.today .time{ color:#16110C; }
.stop.today .time em{ color:#2A1006; }
.stop .badge{ position:absolute; right:1rem; top:-12px; font-family:var(--disp); font-size:.6rem; text-transform:uppercase; letter-spacing:0; background:var(--jade-dk); color:#fff; padding:.32rem .55rem; border:2px solid #16110C; }
.stop.today .badge{ background:#16110C; color:var(--sun); }
@media (min-width:680px){
  .stop{ grid-template-columns:minmax(0,5rem) 1fr minmax(0,auto); align-items:center; }
  .stop .time{ grid-column:3; justify-self:end; text-align:right; margin-top:0; }
}
.route__note{ display:flex; align-items:flex-start; gap:.6rem; margin-top:1.8rem; font-family:var(--body); font-weight:600; font-size:.84rem; color:var(--dim); }
.route__note svg{ flex:none; color:var(--flame-lt); margin-top:2px; }

/* =====================================================================
   CHALKBOARD MENU
   ===================================================================== */
.menu{ background:var(--chalk); color:var(--ink); position:relative; }
.menu::before{ content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background:radial-gradient(80% 60% at 20% 0%, rgba(255,255,255,.05), transparent 60%),
            radial-gradient(70% 60% at 90% 100%, rgba(47,168,160,.08), transparent 60%); }
.menu .shell{ padding-block:clamp(3.2rem,7vw,5.4rem); position:relative; z-index:2; }
.menu__top{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem 2rem; flex-wrap:wrap; margin-bottom:.6rem; }
.menu h2{ font-family:var(--disp); font-weight:400; font-size:clamp(2.4rem,7vw,4.4rem); text-transform:uppercase; line-height:.92; letter-spacing:0; margin-top:.5rem; color:var(--cream); }
.menu__scrawl{ font-family:var(--hand); font-size:clamp(1.6rem,3.6vw,2.3rem); font-weight:700; color:var(--jade-lt); transform:rotate(-3deg); }
.menu__lead{ color:var(--dim); max-width:50ch; margin:0 0 2.6rem; font-size:1.04rem; }
.menu__lead b{ color:var(--ink); font-weight:700; }
.board2{ display:grid; grid-template-columns:1fr; gap:2.4rem 3.6rem; }
@media (min-width:780px){ .board2{ grid-template-columns:1fr 1fr; } }
.mcat__h{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; border-bottom:3px double var(--line); padding-bottom:.55rem; margin-bottom:1rem; }
.mcat__h h3{ font-family:var(--disp); font-weight:400; font-size:1.55rem; text-transform:uppercase; letter-spacing:0; line-height:.95; color:var(--sun); }
.mcat__h span{ font-family:var(--hand); font-weight:700; font-size:1.25rem; color:var(--jade-lt); }
.mitem{ display:grid; grid-template-columns:1fr auto; gap:.08rem .8rem; align-items:baseline; padding:.7rem 0; border-bottom:1px dashed var(--line); }
.mitem:last-child{ border-bottom:0; }
.mitem .n{ font-family:var(--body); font-weight:800; font-size:1.04rem; }
.mitem .n .hot{ color:var(--flame-lt); font-size:.78rem; margin-left:.3rem; vertical-align:middle; }
.mitem .p{ font-family:var(--disp); font-weight:400; font-size:1.2rem; letter-spacing:0; color:var(--sun); white-space:nowrap; }
.mitem .d{ grid-column:1; font-family:var(--body); font-weight:500; font-size:.87rem; color:var(--dim); line-height:1.4; margin-top:.12rem; }
.menu__note{ display:flex; align-items:flex-start; gap:.6rem; margin-top:2.2rem; font-family:var(--body); font-weight:600; font-size:.84rem; color:var(--dim); }
.menu__note svg{ flex:none; color:var(--jade-lt); margin-top:2px; }

/* =====================================================================
   BOOK THE TRUCK
   ===================================================================== */
.book{ background:var(--cream); color:var(--char); position:relative; overflow:hidden; }
.book .shell{ padding-block:clamp(3.2rem,7vw,5.2rem); display:grid; grid-template-columns:1fr; gap:2.6rem; position:relative; z-index:2; }
@media (min-width:920px){ .book .shell{ grid-template-columns:1.02fr .98fr; gap:4rem; align-items:start; } }
.book h2{ font-family:var(--disp); font-weight:400; font-size:clamp(2.5rem,8vw,4.6rem); text-transform:uppercase; line-height:.92; letter-spacing:0; margin-top:.6rem; }
.book h2 .hl{ color:var(--flame-tx); }
.book__p{ color:var(--pdim); max-width:44ch; margin:1.1rem 0 1.6rem; font-size:1.06rem; }
.book__p b{ color:var(--char); font-weight:700; }
.book__list{ list-style:none; margin:0 0 1.8rem; padding:0; display:grid; gap:.65rem; }
.book__list li{ display:flex; gap:.7rem; align-items:flex-start; color:var(--char); font-size:.98rem; font-weight:600; }
.book__list svg{ flex:none; color:var(--flame-tx); margin-top:.18rem; }
.book__call{ display:inline-flex; align-items:center; gap:.85rem; text-decoration:none; color:var(--char); }
.book__call .n{ font-family:var(--disp); font-weight:400; font-size:clamp(1.8rem,5vw,2.5rem); color:var(--flame-tx); letter-spacing:0; }
.book__call .l{ font-family:var(--body); font-weight:800; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--pdim); }

.form{ background:var(--cream2); border:3px solid var(--char); box-shadow:10px 10px 0 0 var(--flame-dk); padding:clamp(1.5rem,3.5vw,2.2rem); }
.form .ft{ font-family:var(--disp); font-weight:400; text-transform:uppercase; font-size:1.55rem; letter-spacing:0; margin:0 0 .15rem; line-height:.95; }
.form .fk{ font-family:var(--hand); font-weight:700; font-size:1.3rem; color:var(--sun-tx); margin:0 0 1.3rem; line-height:1; }
.field{ margin-bottom:1rem; }
.field label{ display:block; font-family:var(--body); font-weight:800; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--pdim); margin-bottom:.4rem; }
.field input, .field select{ width:100%; background:#fff; border:2px solid var(--pline); color:var(--char); font-family:var(--body); font-size:1rem; padding:.8rem .9rem; transition:border-color .15s var(--ease); }
.field input::placeholder{ color:#9a8c75; }
.field input:focus, .field select:focus{ outline:none; border-color:var(--flame); }
.fields-2{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:480px){ .fields-2{ grid-template-columns:1fr; } }
.form .btn--submit{ width:100%; justify-content:center; padding:1.05rem; font-size:1.3rem; margin-top:.5rem; background:var(--flame-dk); color:#fff; }
.form .btn--submit:hover{ background:var(--flame); transform:translateY(-1px); }
.form .ftrust{ margin-top:.9rem; font-family:var(--body); font-weight:700; font-size:.74rem; color:var(--pdim); display:flex; gap:.5rem; align-items:center; }
.form .ftrust svg{ color:var(--flame-tx); flex:none; }
.form.done .form__in{ display:none; }
.form__ok{ display:none; text-align:center; padding:1.4rem 0; }
.form.done .form__ok{ display:block; }
.form__ok .tk{ width:76px; height:76px; margin:0 auto 1rem; }
.form__ok h3{ font-family:var(--disp); font-weight:400; font-size:1.8rem; text-transform:uppercase; letter-spacing:0; }
.form__ok p{ color:var(--pdim); max-width:34ch; margin:.5rem auto 0; }

/* =====================================================================
   FROM THE WINDOW (gallery strip)
   ===================================================================== */
.win{ background:var(--bg); }
.win .shell{ padding-block:clamp(2.8rem,5vw,4rem); }
.win__head{ display:flex; align-items:flex-end; gap:1rem; flex-wrap:wrap; margin-bottom:1.6rem; }
.win__head h2{ font-family:var(--disp); font-weight:400; font-size:clamp(1.9rem,5vw,3rem); text-transform:uppercase; letter-spacing:0; line-height:.95; }
.win__head p{ font-family:var(--hand); font-weight:700; font-size:1.4rem; color:var(--jade-lt); margin:0; }
.win__grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
@media (min-width:680px){ .win__grid{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.win__grid figure{ margin:0; position:relative; overflow:hidden; aspect-ratio:1/1; border:3px solid #16110C; }
.win__grid img{ width:100%; height:100%; object-fit:cover; filter:saturate(1.06); transition:transform .9s var(--ease); }
.win__grid figure:hover img{ transform:scale(1.06); }
@media (min-width:680px){ .win__grid figure.big{ grid-column:span 2; grid-row:span 2; aspect-ratio:auto; } }

/* =====================================================================
   VOICES (reviews band)
   ===================================================================== */
.voices{ background:#9E2F08; color:#fff; }
.voices .shell{ padding-block:clamp(2.8rem,5vw,4rem); }
.voices__top{ display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap; margin-bottom:1.8rem; }
.voices__top .stars{ font-size:1.4rem; font-weight:700; letter-spacing:.18em; color:var(--sun); }
.voices__top h2{ font-family:var(--disp); font-weight:400; font-size:clamp(1.8rem,4.5vw,2.8rem); text-transform:uppercase; letter-spacing:0; line-height:.95; }
.voices__grid{ display:grid; grid-template-columns:1fr; gap:1.4rem; }
@media (min-width:760px){ .voices__grid{ grid-template-columns:repeat(3,1fr); gap:2rem; } }
.voice{ background:rgba(0,0,0,.22); border-top:4px solid var(--sun); padding:1.2rem 1.2rem 1.3rem; }
.voice p{ margin:0 0 .9rem; font-family:var(--hand); font-weight:600; font-size:1.45rem; line-height:1.2; color:#fff; }
.voice cite{ font-style:normal; font-family:var(--body); font-weight:800; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:#fff; }

/* =====================================================================
   HOME — HIGHLIGHT CARDS (lean landing teasers into the real pages)
   ===================================================================== */
.hi{ background:var(--bg); }
.hi .shell{ padding-block:clamp(3rem,6vw,5rem); }
.hi__head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem 2rem; flex-wrap:wrap; margin-bottom:2.2rem; }
.hi__head h2{ font-family:var(--disp); font-weight:400; font-size:clamp(2.1rem,6vw,3.6rem); text-transform:uppercase; line-height:.92; letter-spacing:0; margin-top:.6rem; }
.hi__head h2 .hl{ color:var(--flame-lt); }
.hi__head p{ font-family:var(--hand); font-weight:700; font-size:clamp(1.4rem,3vw,1.9rem); color:var(--sun); margin:0; }
.hi__grid{ display:grid; grid-template-columns:1fr; gap:1.4rem; }
@media (min-width:680px){ .hi__grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .hi__grid{ grid-template-columns:repeat(4,1fr); } }
.card{ display:flex; flex-direction:column; text-decoration:none; color:var(--ink); background:linear-gradient(180deg, var(--bg3), var(--bg2)); border:2px solid var(--line); overflow:hidden; transition:transform .15s var(--ease), border-color .15s var(--ease); }
.card:hover{ transform:translateY(-3px); border-color:var(--sun); }
.card__img{ aspect-ratio:4/3; overflow:hidden; border-bottom:3px solid #16110C; }
.card__img img{ width:100%; height:100%; object-fit:cover; filter:saturate(1.08); transition:transform .8s var(--ease); }
.card:hover .card__img img{ transform:scale(1.05); }
.card__body{ padding:1.2rem 1.2rem 1.4rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.card__body h3{ font-family:var(--disp); font-weight:400; font-size:1.3rem; text-transform:uppercase; letter-spacing:0; line-height:.95; }
.card__body p{ margin:0; color:var(--dim); font-size:.92rem; line-height:1.5; }
.card__go{ margin-top:auto; font-family:var(--body); font-weight:800; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--sun); padding-top:.4rem; }
.card:hover .card__go{ color:#fff; }

/* mini "today" home strip linking to find-us */
.todaystrip{ background:var(--bg2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.todaystrip .shell{ padding-block:clamp(2.4rem,5vw,3.4rem); display:grid; grid-template-columns:1fr; gap:1.4rem; align-items:center; }
@media (min-width:820px){ .todaystrip .shell{ grid-template-columns:1.1fr .9fr; gap:2.5rem; } }
.todaystrip .lt h2{ font-family:var(--disp); font-weight:400; font-size:clamp(1.9rem,5vw,3rem); text-transform:uppercase; line-height:.95; letter-spacing:0; }
.todaystrip .lt h2 .hl{ color:var(--flame-lt); }
.todaystrip .lt p{ color:var(--dim); max-width:42ch; margin:.9rem 0 1.4rem; }
.todaynow{ background:var(--flame); color:#16110C; border:3px solid #16110C; box-shadow:8px 8px 0 0 #0D0A06; padding:1.4rem 1.5rem; }
.todaynow .lab{ font-family:var(--body); font-weight:800; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:#2A1006; display:flex; align-items:center; gap:.5rem; }
.todaynow .lab .dot{ width:9px; height:9px; border-radius:50%; background:#16110C; }
.todaynow .where{ font-family:var(--disp); font-weight:400; font-size:clamp(1.5rem,4vw,2rem); text-transform:uppercase; letter-spacing:0; line-height:.95; margin:.5rem 0 .25rem; }
.todaynow .when{ font-family:var(--body); font-weight:700; font-size:.95rem; color:#2A1006; }

/* =====================================================================
   FOOTER / FOLLOW
   ===================================================================== */
.foot{ background:#0D0A06; color:var(--ink); }
.foot .shell{ padding-block:clamp(2.8rem,6vw,4rem); }
.foot__top{ display:flex; justify-content:space-between; align-items:flex-end; gap:1.6rem; flex-wrap:wrap; padding-bottom:1.8rem; border-bottom:1px solid var(--line); }
.foot__mk{ font-family:var(--disp); font-weight:400; font-size:clamp(2.2rem,6vw,3.4rem); text-transform:uppercase; line-height:.9; letter-spacing:0; }
.foot__mk .hl{ color:var(--flame-lt); }
.foot__call{ text-decoration:none; text-align:right; }
.foot__call .l{ font-family:var(--body); font-weight:800; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); display:block; }
.foot__call .n{ font-family:var(--disp); font-weight:400; font-size:1.7rem; color:var(--sun); letter-spacing:0; }
.foot__cols{ display:grid; grid-template-columns:1fr 1fr; gap:1.8rem; padding-top:2rem; }
@media (min-width:720px){ .foot__cols{ grid-template-columns:2fr 1fr 1fr 1fr; } }
.foot__cols h4{ font-family:var(--body); font-weight:800; font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--sun); margin:0 0 .9rem; }
.foot__cols p, .foot__cols li{ color:var(--dim); font-size:.92rem; line-height:1.7; }
.foot__cols ul{ list-style:none; margin:0; padding:0; }
.foot__cols a{ color:var(--dim); text-decoration:none; }
.foot__cols a:hover{ color:var(--sun); }
.colo{ margin-top:2.2rem; padding-top:1.4rem; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:12px 18px; align-items:center; justify-content:space-between; font-family:var(--body); font-weight:600; font-size:.74rem; color:var(--dim); }
.colo p{ margin:0; }
.gwc-chip{ background:var(--ink); padding:7px 12px; display:inline-flex; }
.gwc-chip a span{ font:800 11px/1 var(--body); text-transform:uppercase; letter-spacing:.06em; color:#16110C; }
@media print{ .gwc-chip{ display:none; } }

/* ---------- DEMO CHIP ---------- */
.specimen{ position:fixed; left:14px; bottom:14px; z-index:50; display:inline-flex; align-items:center; gap:10px; padding:8px 12px; background:rgba(13,10,6,.94); border:2px solid rgba(247,181,0,.55); color:var(--ink); text-decoration:none; box-shadow:0 16px 36px -24px rgba(0,0,0,.85); }
.specimen:hover{ border-color:var(--sun); }
.specimen .stx b{ display:block; font-family:var(--body); font-weight:800; font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--sun); }
.specimen .stx small{ font-family:var(--body); font-weight:500; font-size:9px; color:rgba(251,241,221,.74); }
@media (max-width:560px){ .specimen{ left:10px; bottom:66px; } .specimen .stx small{ display:none; } }
@media print{ .specimen{ display:none; } }

/* ---------- STICKY CTA BAR (mobile) ---------- */
.callbar{ display:none; }
@media (max-width:760px){
  .callbar{ display:flex; position:fixed; bottom:0; left:0; right:0; z-index:55; box-shadow:0 -4px 18px -6px rgba(0,0,0,.6); }
  .callbar a{ flex:1; display:flex; align-items:center; justify-content:center; gap:.4rem; padding:.95rem .6rem; text-decoration:none; font-family:var(--disp); font-weight:400; font-size:1.05rem; text-transform:uppercase; letter-spacing:0; }
  .callbar a.c1{ background:var(--sun); color:#16110C; }
  .callbar a.c2{ background:var(--flame-dk); color:#fff; }
  body{ padding-bottom:52px; }
}
