:root{
    --black:#0a0a0a;
    --ink:#131211;
    --panel:#191817;
    --red:#e70505;
    --red-deep:#b30404;
    --white:#ffffff;
    --text:#f3f1ee;
    --muted:#a9a49c;
    --line:rgba(255,255,255,.13);
    --ease:cubic-bezier(.2,.75,.2,1);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--black);color:var(--text);
    font-family:'Montserrat',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  h1,h2,h3{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;letter-spacing:-.5px;margin:0;line-height:1.05}
  h1{line-height:1.04}
  a{color:inherit;text-decoration:none}
  .wrap{width:min(1200px,92vw);margin-inline:auto}
  :focus-visible{outline:3px solid var(--red);outline-offset:3px}

  .mark{background:var(--red);color:#fff;padding:.02em .2em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

  .btn{display:inline-flex;align-items:center;gap:.5rem;font-family:'Montserrat';font-weight:700;text-transform:uppercase;
    letter-spacing:.8px;font-size:.84rem;padding:.95rem 1.7rem;border:2px solid transparent;cursor:pointer;transition:.22s var(--ease)}
  .btn-red{background:var(--red);color:#fff}
  .btn-red:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--red-deep)}
  .btn-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
  .btn-white:hover{background:#fff;color:#0a0a0a;border-color:#fff}
  .btn-line{background:transparent;color:var(--text);border-color:var(--line)}
  .btn-line:hover{border-color:#fff}

  header{position:sticky;top:0;z-index:60;background:rgba(10,10,10,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0}
  .brand img{height:54px;width:auto;display:block}
  .nav-links{display:flex;gap:1.7rem;align-items:center}
  .nav-links a{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);transition:.2s}
  .nav-links a:hover{color:#fff}
  .nav-right{display:flex;align-items:center;gap:.7rem}
  .toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}

  /* hero */
  .hero{position:relative;min-height:92vh;display:flex;align-items:center;padding:5rem 0 4rem;overflow:hidden}
  .hero-bg{position:absolute;inset:0;background:#161514 center/cover no-repeat;z-index:0}
  .hero-bg::after{content:"";position:absolute;inset:0;
    background:linear-gradient(90deg,rgba(10,10,10,.95) 0%,rgba(10,10,10,.8) 44%,rgba(10,10,10,.3) 100%),
              linear-gradient(0deg,rgba(10,10,10,.92),transparent 42%)}
  .hero-bg--brand::after{background:linear-gradient(90deg,rgba(10,10,10,.5) 0%,rgba(10,10,10,.2) 52%,rgba(10,10,10,0) 100%)}
  .hero .wrap{position:relative;z-index:2}
  .eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:.74rem;letter-spacing:2.5px;text-transform:uppercase;color:#fff;margin-bottom:1.4rem;border:1px solid var(--line);padding:.42rem .85rem;border-radius:100px}
  .pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 2s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(231,5,5,.55)}70%{box-shadow:0 0 0 8px rgba(231,5,5,0)}100%{box-shadow:0 0 0 0 rgba(231,5,5,0)}}
  h1.hero-title{font-size:clamp(3.2rem,8.6vw,6.8rem);max-width:15ch;line-height:1.03}
  .lead{margin:1.7rem 0 2rem;max-width:47ch;color:var(--text);font-size:1.12rem}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.7rem}
  .status{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.86rem;color:var(--muted)}
  .dot{width:9px;height:9px;border-radius:50%;background:#37d158;box-shadow:0 0 0 4px rgba(55,209,88,.18)}
  .dot.closed{background:var(--red);box-shadow:0 0 0 4px rgba(231,5,5,.18)}
  .hero-mark{position:absolute;right:-3%;top:5%;font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(11rem,32vw,32rem);line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.085);letter-spacing:-6px;z-index:1;pointer-events:none;user-select:none}
  .rotator{display:inline-block}
  .rotator .rw{display:inline-block;background:var(--red);color:#fff;padding:0 .18em;box-decoration-break:clone;-webkit-box-decoration-break:clone;animation:rwin .45s var(--ease)}
  @keyframes rwin{from{opacity:0;transform:translateY(.22em) rotate(-2deg)}to{opacity:1;transform:none}}
  .hero-aside{align-self:center;color:var(--muted);font-style:italic;font-weight:600;font-size:.92rem}
  .hero-stamp{position:absolute;right:6%;bottom:9%;z-index:2;transform:rotate(-7deg);border:2px solid var(--red);text-align:center;padding:.55rem 1.2rem;background:rgba(10,10,10,.4)}
  .hero-stamp span{display:block;font-weight:700;font-size:.58rem;letter-spacing:2px;text-transform:uppercase;color:var(--red)}
  .hero-stamp strong{display:block;font-family:'Bricolage Grotesque';font-weight:800;font-size:1.7rem;line-height:1;color:#fff}
  .hero-stamp em{display:block;font-style:normal;font-size:.56rem;letter-spacing:2px;text-transform:uppercase;color:#fff;opacity:.85;margin-top:.1rem}
  .topbar{display:block;background:var(--red);color:#fff;text-align:center;font-weight:700;font-size:.82rem;letter-spacing:.2px;padding:.55rem 1rem}
  .topbar:hover{background:var(--red-deep)}

  .ticker{background:var(--red);overflow:hidden;border-block:3px solid #0a0a0a}
  .tk{display:flex;gap:2.2rem;padding:.6rem 0;white-space:nowrap;width:max-content;animation:sc 24s linear infinite}
  .tk span{font-family:'Bricolage Grotesque';font-weight:700;letter-spacing:.3px;color:#fff;font-size:1rem}
  .tk span b{color:#fff;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
  @keyframes sc{to{transform:translateX(-50%)}}

  section{padding:clamp(3.5rem,7vw,6rem) 0}
  .head{margin-bottom:2.5rem}
  .kick{font-weight:700;font-size:.76rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--red);display:block;margin-bottom:.8rem}
  .head h2{font-size:clamp(2.1rem,5vw,3.5rem);max-width:20ch}
  .head .sub{color:var(--muted);max-width:52ch;margin:.9rem 0 0;font-size:1.02rem}

  /* featured */
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
  .card{background:var(--panel);border:1px solid var(--line);padding:1.8rem 1.6rem;transition:.25s var(--ease)}
  .card:hover{transform:translateY(-4px);border-color:var(--red)}
  .card .tag{font-weight:700;font-size:.66rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--red)}
  .card h3{font-size:1.55rem;margin:.55rem 0 .65rem;line-height:1.08}
  .card p{color:var(--muted);font-size:.95rem;margin:0}
  .card.big{grid-column:span 2;background:linear-gradient(120deg,#211d1b,#191817);display:flex;flex-direction:column;justify-content:center}
  .card.big h3{font-size:clamp(1.9rem,3.6vw,2.7rem)}
  .card.big .p-lead{color:var(--text);font-size:1.05rem}
  .philly-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
  .philly-tags span{font-size:.72rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text);border:1px solid var(--line);padding:.28rem .6rem}
  .card.red{background:var(--red);border-color:var(--red)}
  .card.red .tag{color:#fff;opacity:.85}
  .card.red h3,.card.red p{color:#fff}
  .menu-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.9rem}

  /* full-bleed photo divider */
  .divider{position:relative;background:var(--red);display:flex;align-items:center;padding:clamp(2.6rem,6vw,4.6rem) 0;border-block:3px solid #0a0a0a;overflow:hidden}
  .divider::before{content:"\201C";position:absolute;left:1.4rem;top:-3.6rem;font-family:'Bricolage Grotesque';font-weight:800;font-size:20rem;line-height:1;color:rgba(255,255,255,.12);pointer-events:none}
  .divider .wrap{position:relative;z-index:2}
  .divider h2{font-size:clamp(1.7rem,4.4vw,3rem);max-width:22ch;color:#fff}
  .divider .red-line{color:#0a0a0a}

  /* breakfast band */
  .band{position:relative;background:#141210 center/cover no-repeat;overflow:hidden;border-bottom:1px solid var(--line)}
  .band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.92),rgba(10,10,10,.42)),radial-gradient(85% 130% at 92% 50%,rgba(231,5,5,.2),transparent 62%)}
  .band .wrap{position:relative;z-index:2;padding:clamp(3.5rem,7vw,6rem) 0}
  .band h2{font-size:clamp(2.2rem,5.2vw,3.8rem);max-width:16ch}
  .band p{color:var(--text);max-width:48ch;margin:1.1rem 0 1.8rem;font-size:1.06rem}

  /* split */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .tile{border:1px solid var(--line);padding:clamp(1.8rem,3.4vw,2.7rem);position:relative;overflow:hidden}
  .tile.event{background:var(--panel)}
  .tile.truck{background:var(--red)}
  .tile .kick{color:var(--red)}
  .tile.truck .kick{color:#fff;opacity:.9}
  .tile h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:.8rem;line-height:1.08}
  .tile.truck h2{color:#fff}
  .tile p{color:var(--muted);margin:0 0 1.4rem;max-width:40ch}
  .tile.truck p{color:#ffe4e4}
  .chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none}
  .chips li{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--line);padding:.34rem .7rem;color:var(--muted)}
  .truck-date{display:inline-block;background:#0a0a0a;color:#fff;font-family:'Bricolage Grotesque';font-weight:800;font-size:1.1rem;padding:.4rem .9rem;margin-bottom:1rem}

  /* catering (full width) */
  .catering{background:var(--ink);border-block:1px solid var(--line)}
  .catering .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4.5vw,4rem);align-items:center}
  .catering h2{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1.1rem;max-width:14ch}
  .catering p{color:var(--muted);max-width:48ch;margin:0 0 1.8rem;font-size:1.04rem}
  .cat-events{border-left:3px solid var(--red);padding-left:clamp(1.2rem,2.5vw,2rem)}
  .cat-events-title{display:block;font-weight:700;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem}
  .cat-events ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.2rem}
  .cat-events li{font-family:'Bricolage Grotesque';font-weight:700;font-size:1.05rem;color:var(--text);padding-left:1.1rem;position:relative}
  .cat-events li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;background:var(--red)}

  /* food truck (full width) */
  .truck-sec{position:relative;background:#0f0d0c;border-bottom:1px solid var(--line);text-align:center;overflow:hidden}
  .truck-sec::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 95% at 50% 0%,rgba(231,5,5,.18),transparent 62%);pointer-events:none}
  .truck-sec .wrap{position:relative;z-index:2;max-width:760px}
  .truck-badge{display:inline-block;border:2px solid var(--red);color:#fff;font-weight:700;font-size:.74rem;letter-spacing:2px;text-transform:uppercase;padding:.45rem 1rem;margin-bottom:1.5rem}
  .truck-sec h2{font-size:clamp(2.1rem,5.4vw,3.9rem);margin-bottom:.5rem}
  .big-date{font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(3.4rem,11vw,7.5rem);color:var(--red);line-height:.95;letter-spacing:-2px;margin:.3rem 0 1.3rem}
  .truck-sec p{color:var(--muted);max-width:48ch;margin:0 auto 1.9rem;font-size:1.05rem}

  /* story */
  .story .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
  .story-photo{aspect-ratio:4/5;border:1px solid var(--line);background:#161514 center/cover no-repeat;position:relative}
  .story-photo .stamp{position:absolute;right:-10px;bottom:26px;background:var(--red);color:#fff;font-family:'Bricolage Grotesque';font-weight:800;font-size:1rem;padding:.5rem 1rem;transform:rotate(-3deg)}
  .story h2{font-size:clamp(2rem,4.4vw,3rem);margin-bottom:1.2rem;max-width:17ch}
  .story p{color:var(--muted);margin:0 0 1rem;max-width:54ch}
  .story .p1{color:var(--text)}

  /* photo strip */
  .strip3{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
  .strip3 .g{aspect-ratio:4/3;background:#161514 center/cover no-repeat;border:1px solid var(--line);transition:.3s var(--ease)}
  .strip3 .g:hover{filter:brightness(1.08)}

  /* proof */
  .proof{background:var(--ink);border-block:1px solid var(--line)}
  .proof .wrap{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
  .score{text-align:center;border-right:1px solid var(--line);padding-right:clamp(1rem,3vw,2.5rem)}
  .score .n{font-family:'Bricolage Grotesque';font-weight:800;font-size:4.4rem;line-height:1}
  .score .stars{color:var(--red);font-size:1.2rem;letter-spacing:3px}
  .score small{display:block;color:var(--muted);font-weight:600;margin-top:.4rem;font-size:.8rem}
  .quotes{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
  .quote p{margin:0 0 .5rem;font-style:italic;color:var(--text);font-size:1.02rem}
  .quote small{color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:.68rem}

  footer{padding:clamp(3rem,6vw,4.5rem) 0 2rem}
  .foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
  .foot h3{font-size:1.25rem;margin-bottom:1rem;color:#fff}
  .foot p,.foot a{color:var(--muted);font-size:.95rem}
  .foot a:hover{color:#fff}
  .hr{display:flex;justify-content:space-between;max-width:240px;padding:.28rem 0;border-bottom:1px dashed var(--line);font-size:.9rem}
  .hr.off{color:#6b6b6b}
  .legal{margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#6b6b6b;font-size:.78rem}

  /* --- fun accents (site-wide) --- */
  .hand{font-family:'Caveat',cursive;font-weight:700;letter-spacing:.3px}
  .sticker{position:absolute;font-family:'Bricolage Grotesque';font-weight:800;text-transform:uppercase;font-size:.72rem;letter-spacing:.4px;color:#fff;background:var(--red);padding:.34rem .7rem;transform:rotate(-6deg);z-index:4;box-shadow:0 5px 16px rgba(0,0,0,.4);white-space:nowrap}
  .watermark{position:absolute;font-family:'Bricolage Grotesque';font-weight:800;font-size:clamp(7rem,18vw,16rem);color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.05);line-height:.8;letter-spacing:-5px;pointer-events:none;user-select:none;z-index:0}
  .kick{display:inline-flex;align-items:center;gap:.6rem}
  .kick::before{content:"";width:22px;height:3px;background:var(--red);flex:none}
  #menu{position:relative}
  .card{position:relative;overflow:hidden}
  .card .num{position:absolute;right:.55rem;top:.15rem;font-family:'Bricolage Grotesque';font-weight:800;font-size:2.7rem;color:rgba(255,255,255,.06);line-height:1;pointer-events:none;z-index:0}
  .card.red .num{color:rgba(255,255,255,.2)}
  .card .tag,.card h3,.card p,.card .philly-tags{position:relative;z-index:1}
  .catering{position:relative;overflow:hidden}
  .story{position:relative;overflow:hidden}
  .sig{font-size:2.2rem;color:var(--red);margin:.8rem 0 0;line-height:1}
  .proof{position:relative;overflow:hidden}
  .proof .wrap.proof-head{display:block;margin-bottom:2.2rem}
  .proof-head h2{font-size:clamp(1.8rem,4.2vw,2.9rem);max-width:22ch}

  .reveal{transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .reveal.will-reveal{opacity:0;transform:translateY(26px)}
  .reveal.will-reveal.in{opacity:1;transform:none}

  @media(max-width:920px){
    .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#0a0a0a;flex-direction:column;padding:1rem 6vw;gap:1rem;border-bottom:1px solid var(--line)}
    .nav-links.open{display:flex}
    .toggle{display:block}
    .hero-mark,.hero-stamp{display:none}
    .grid{grid-template-columns:1fr}.card.big{grid-column:auto}
    .split{grid-template-columns:1fr}
    .catering .wrap{grid-template-columns:1fr}
    .cat-events{border-left:0;border-top:3px solid var(--red);padding:1.4rem 0 0}
    .story .wrap{grid-template-columns:1fr}.story-photo{aspect-ratio:16/11;order:-1}
    .strip3{grid-template-columns:1fr}
    .proof .wrap{grid-template-columns:1fr}.score{border-right:0;border-bottom:1px solid var(--line);padding:0 0 1.4rem}
    .quotes{grid-template-columns:1fr}
    .foot{grid-template-columns:1fr}
  }
  @media(prefers-reduced-motion:reduce){.tk,.pulse-dot,.rotator .rw{animation:none}.reveal{transition:none;opacity:1;transform:none}html{scroll-behavior:auto}}

/* ============================================================
   INTERIOR PAGES (Menu, Breakfast, Catering, Story, Truck,
   Location, FAQ) - built on top of the homepage system
   ============================================================ */

/* active nav link */
.nav-links a.active{color:#fff}
.nav-links a.active::after{content:"";display:block;height:2px;background:var(--red);margin-top:3px}

/* page header (interior hero) */
.page-hero{position:relative;padding:clamp(3.4rem,7vw,5.4rem) 0 clamp(2.4rem,5vw,3.4rem);overflow:hidden;border-bottom:1px solid var(--line);background:var(--ink)}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 120% at 88% 0%,rgba(231,5,5,.16),transparent 60%);pointer-events:none}
.page-hero .wrap{position:relative;z-index:2}
.page-hero .kick{margin-bottom:1rem}
.page-hero h1{font-family:'Bricolage Grotesque';font-weight:800;letter-spacing:-.5px;font-size:clamp(2.6rem,6.4vw,4.6rem);line-height:1.02;max-width:18ch}
.page-hero p{color:var(--muted);max-width:54ch;margin:1.1rem 0 0;font-size:1.08rem}
.page-hero .hero-ctas{margin-top:1.7rem}
.crumbs{font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem}
.crumbs a:hover{color:#fff}
.crumbs span{color:var(--red)}

/* menu category blocks */
.menu-cat{margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.menu-cat-head{display:flex;align-items:baseline;gap:1rem;border-bottom:2px solid var(--red);padding-bottom:.7rem;margin-bottom:1.4rem;flex-wrap:wrap}
.menu-cat-head h2{font-size:clamp(1.7rem,4vw,2.6rem);line-height:1}
.menu-cat-head .note{font-family:'Caveat',cursive;font-weight:700;font-size:1.35rem;color:var(--red)}
.menu-items{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.6rem}
.mi{border:1px solid var(--line);background:var(--panel);padding:1.2rem 1.3rem;transition:.22s var(--ease);position:relative;overflow:hidden}
.mi:hover{border-color:var(--red);transform:translateY(-3px)}
.mi h3{font-size:1.18rem;margin:0 0 .3rem;line-height:1.12}
.mi p{color:var(--muted);font-size:.9rem;margin:0}
.mi .flag{display:inline-block;font-size:.62rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#fff;background:var(--red);padding:.18rem .5rem;margin-bottom:.55rem}
.lineup{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.lineup span{font-size:.7rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--text);border:1px solid var(--line);padding:.26rem .58rem}
.menu-note{color:var(--muted);font-size:.9rem;margin-top:.6rem;font-style:italic}

/* generic two-col info + list */
.info-split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4.5vw,4rem);align-items:start}
.stack-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.stack-list li{font-family:'Bricolage Grotesque';font-weight:700;font-size:1.05rem;color:var(--text);padding-left:1.1rem;position:relative}
.stack-list li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--red)}
.side-card{border:1px solid var(--line);background:var(--panel);padding:clamp(1.4rem,3vw,2rem)}
.side-card.red{background:var(--red);border-color:var(--red)}
.side-card.red *,.side-card.red a{color:#fff}
.side-card h3{font-size:1.35rem;margin:0 0 .8rem}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;counter-reset:step}
.step{border:1px solid var(--line);background:var(--panel);padding:1.5rem 1.4rem;position:relative}
.step::before{counter-increment:step;content:counter(step);font-family:'Bricolage Grotesque';font-weight:800;font-size:2.4rem;color:var(--red);line-height:1;display:block;margin-bottom:.5rem}
.step h3{font-size:1.2rem;margin:0 0 .4rem}
.step p{color:var(--muted);font-size:.92rem;margin:0}

/* faq */
.faq-list{display:grid;gap:.7rem;max-width:820px}
.faq-item{border:1px solid var(--line);background:var(--panel)}
.faq-item summary{cursor:pointer;list-style:none;padding:1.2rem 1.4rem;font-family:'Bricolage Grotesque';font-weight:700;font-size:1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--red);font-size:1.6rem;font-weight:800;line-height:1;flex:none}
.faq-item[open] summary::after{content:"–"}
.faq-item[open] summary{border-bottom:1px solid var(--line)}
.faq-item .a{padding:1.1rem 1.4rem;color:var(--muted);font-size:.98rem}
.faq-item .a a{color:var(--red);font-weight:600}

/* contact / location grid */
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.loc-card{border:1px solid var(--line);background:var(--panel);padding:clamp(1.5rem,3vw,2.2rem)}
.loc-card h3{font-size:1.3rem;margin:0 0 .9rem}
.loc-line{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.7rem;color:var(--text)}
.loc-line .ic{color:var(--red);font-weight:800;flex:none;font-size:1.05rem;line-height:1.4}
.loc-line a:hover{color:var(--red)}
.map-embed{border:1px solid var(--line);width:100%;aspect-ratio:4/3;filter:grayscale(.25) contrast(1.05)}

/* cross links */
.crosslinks{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}
.xl{border:1px solid var(--line);background:var(--panel);padding:1.4rem;transition:.22s var(--ease);display:block}
.xl:hover{border-color:var(--red);transform:translateY(-3px)}
.xl .k{font-size:.68rem;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--red)}
.xl h3{font-size:1.25rem;margin:.4rem 0 .3rem}
.xl p{color:var(--muted);font-size:.88rem;margin:0}
.xl .arrow{color:var(--red);font-weight:800;margin-top:.6rem;display:inline-block}

@media(max-width:920px){
  .menu-items{grid-template-columns:1fr}
  .info-split{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .loc-grid{grid-template-columns:1fr}
  .crosslinks{grid-template-columns:1fr}
}

/* menu page: jump nav + lunch/breakfast split band */
.menu-jump{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2.4rem}
.menu-jump a{font-size:.74rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text);border:1px solid var(--line);padding:.42rem .8rem;transition:.18s var(--ease)}
.menu-jump a:hover{border-color:var(--red);color:var(--red)}
.menu-split{margin:1rem 0 2.6rem;padding:clamp(1.8rem,4vw,2.8rem);background:linear-gradient(90deg,#111 0%,#0a0a0a 60%),radial-gradient(80% 120% at 90% 50%,rgba(231,5,5,.22),transparent 60%);border-left:4px solid var(--red)}
.menu-split .kick{color:var(--red)}
.menu-split h2{font-size:clamp(1.9rem,5vw,3rem);line-height:1;margin:.3rem 0 .5rem}
.menu-split p{color:var(--muted);max-width:52ch;margin:0}

/* ===== photos, wall of fame, spotlight, drive times ===== */
.photo{width:100%;height:100%;object-fit:cover;display:block;border:1px solid var(--line)}
.photo-feature{margin:2rem 0;border:1px solid var(--line);overflow:hidden;position:relative;background:#111}
.photo-feature img{width:100%;height:clamp(240px,42vw,460px);object-fit:cover;display:block}
.photo-duo{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}
.photo-duo img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line)}
.mi-thumb{margin:-1.2rem -1.3rem 1rem;height:180px;overflow:hidden;border-bottom:2px solid var(--red)}
.mi-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* spotlight (fresh to order etc) */
.spotlight{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.4rem,4vw,2.6rem);align-items:center;margin:2.5rem 0;padding:clamp(1.6rem,4vw,2.6rem);background:linear-gradient(90deg,#111,#0a0a0a);border-left:4px solid var(--red)}
.spotlight img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
.spotlight h2{font-size:clamp(1.7rem,4.4vw,2.7rem);line-height:1.02;margin:.3rem 0 .7rem}
.spotlight p{color:var(--muted);margin:0 0 .7rem}
@media(max-width:760px){.spotlight{grid-template-columns:1fr}.spotlight img{order:-1}.photo-duo{grid-template-columns:1fr}}

/* wall of fame */
.wall{columns:4 180px;column-gap:.7rem;margin-top:1.6rem}
.wall img{width:100%;margin:0 0 .7rem;display:block;border:1px solid var(--line);break-inside:avoid;transition:.25s var(--ease)}
.wall img:hover{border-color:var(--red);transform:scale(1.02)}
.wall-cta{margin-top:1.6rem;padding:1.4rem 1.6rem;border:1px dashed var(--red);background:rgba(231,5,5,.06);text-align:center}
.wall-cta strong{color:var(--red)}

/* drive-time grid */
.drive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;margin-top:1.2rem}
.drive-grid .d{border:1px solid var(--line);background:var(--panel);padding:.9rem 1rem}
.drive-grid .d b{display:block;font-size:1.02rem}
.drive-grid .d span{color:var(--red);font-weight:700;font-size:.85rem}
.landmark{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.2rem;padding:1rem 1.2rem;background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red)}
.landmark .ic{color:var(--red);font-size:1.2rem;line-height:1}

/* food gallery (near top of homepage) */
.food-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;margin-top:1.4rem}
.food-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line);display:block;transition:.25s var(--ease)}
.food-gallery img:hover{border-color:var(--red);transform:scale(1.03)}
@media(max-width:520px){.food-gallery{grid-template-columns:repeat(2,1fr)}}

/* through-the-years gallery (about page) */
.years-gallery{columns:4 200px;column-gap:.7rem;margin-top:1.6rem}
.years-gallery img{width:100%;margin:0 0 .7rem;display:block;border:1px solid var(--line);break-inside:avoid;transition:.25s var(--ease)}
.years-gallery img:hover{border-color:var(--red);transform:scale(1.02)}

/* catering quote form */
.quote-form{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--red);padding:clamp(1.4rem,4vw,2.2rem);max-width:640px}
.quote-form .fg{margin-bottom:1rem}
.quote-form label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.35rem}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;background:#0a0a0a;border:1px solid var(--line);color:var(--text);font:inherit;padding:.75rem .85rem;border-radius:0}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:none;border-color:var(--red)}
.quote-form textarea{min-height:110px;resize:vertical}
.quote-form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:560px){.quote-form .row{grid-template-columns:1fr}}
.quote-form button{margin-top:.4rem}
.form-note{color:var(--muted);font-size:.9rem;margin-top:.8rem}

/* embedded jotform */
.jotform-wrap{max-width:760px;border:1px solid var(--line);background:#fff;overflow:hidden}
.jotform-wrap iframe{display:block}

/* sticky bottom action bar (directions / call) */
#sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem clamp(1rem,4vw,2rem);background:rgba(10,10,10,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:2px solid var(--red)}
#sticky-cta .sc-loc{color:var(--text);font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.4rem}
#sticky-cta .sc-loc .dot{width:8px;height:8px;border-radius:50%;background:var(--red);flex-shrink:0}
#sticky-cta .sc-actions{display:flex;gap:.55rem;flex-shrink:0}
#sticky-cta .btn{padding:.5rem 1rem;font-size:.8rem}
body.has-sticky-cta{padding-bottom:60px}
@media(max-width:600px){#sticky-cta .sc-loc{display:none}#sticky-cta{justify-content:stretch}#sticky-cta .sc-actions{flex:1;gap:.5rem}#sticky-cta .sc-actions .btn{flex:1;text-align:center}}
