@font-face{
  font-family:'Meaty Bliss';
  src:url("MeatyBliss.woff2") format("woff2"),url("MeatyBliss.otf") format("opentype");
  font-weight:400;font-style:normal;font-display:swap;
}
:root{
    --paper:#F5EBD8;
    --paper-2:#EEDFC4;
    --ink:#281414;
    --ink-70:#543C34;
    --chili:#F2701D;
    --chili-deep:#A64809;
    --turmeric:#DC6E3C;
    --turmeric-deep:#8A4A1E;
    --orange:#F68C1C;
    --orange-deep:#F2701D;
    --orange-light:#FCA91B;
    --pandan:#274D33;
    --line:#D9C6A2;
    --font-display:'Meaty Bliss',sans-serif;
    --font-body:'Karla',sans-serif;
    --font-hand:'Caveat',cursive;
    --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  }
  body{
    font-family:var(--font-body);background:var(--paper);color:var(--ink);
    font-size:16.5px;line-height:1.65;overflow-x:hidden;
  }
  ::selection{background:var(--turmeric);color:var(--ink)}
  img,svg{max-width:100%;display:block}
  a{color:inherit}
  :focus-visible{outline:3px solid var(--chili);outline-offset:3px;border-radius:2px}
  .skip-link{
    position:absolute;left:-9999px;top:0;z-index:200;
    background:var(--ink);color:var(--paper);font-weight:700;
    padding:12px 20px;text-decoration:none;
  }
  .skip-link:focus{left:0}

  /* film grain over everything */
  .grain{
    position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.5;mix-blend-mode:multiply;
  }

  h1,h2,h3,.display{font-family:var(--font-display);font-weight:400;line-height:.98;letter-spacing:.01em;text-transform:uppercase}
  .hand{font-family:var(--font-hand);font-weight:600;text-transform:none;letter-spacing:0}
  .kicker{
    display:inline-flex;align-items:center;gap:10px;
    font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.22em;color:var(--chili-deep);
  }
  .kicker::before{content:"";width:34px;height:2px;background:var(--ink)}
  .container{max-width:1200px;margin:0 auto;padding:0 var(--s3)}
  section{padding:var(--s7) 0}

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    font-family:var(--font-display);font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;
    padding:16px 30px;text-decoration:none;cursor:pointer;min-height:52px;
    border:2px solid var(--ink);border-radius:4px;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  }
  .btn-chili{background:var(--chili);color:var(--ink);box-shadow:5px 5px 0 var(--ink)}
  .btn-chili:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);background:var(--orange-light)}
  .btn-paper{background:var(--paper);color:var(--ink);box-shadow:5px 5px 0 var(--ink)}
  .btn-paper:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);background:#fff}
  .btn-gold{background:var(--turmeric);color:var(--ink);box-shadow:5px 5px 0 var(--ink)}
  .btn-gold:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink);background:#F7B440}

  /* ================= NAV ================= */
  header{
    position:sticky;top:0;z-index:80;background:var(--paper);
    border-bottom:2px solid var(--ink);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:70px}
  .logo{display:flex;align-items:center;gap:12px;text-decoration:none}
  .logo-badge{
    width:42px;height:42px;border:2px solid var(--ink);border-radius:8px;
    overflow:hidden;flex-shrink:0;transform:rotate(-4deg);
    box-shadow:2px 2px 0 var(--ink);
  }
  .logo-badge img{width:100%;height:100%;object-fit:cover;display:block}
  .logo-word{font-family:var(--font-display);font-size:1.35rem;letter-spacing:.03em;line-height:1}
  .logo-word em{font-style:normal;color:var(--chili-deep)}
  .logo-sub{display:block;font-family:var(--font-body);font-weight:700;font-size:.6rem;letter-spacing:.3em;color:var(--ink-70);text-transform:uppercase}
  .nav-links{display:flex;align-items:center;gap:var(--s4);list-style:none}
  .nav-links a:not(.btn){
    text-decoration:none;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-70);
    padding:6px 2px;border-bottom:3px solid transparent;transition:color .2s ease,border-color .2s ease;
  }
  .nav-links a:not(.btn):hover{color:var(--chili-deep);border-color:var(--orange)}
  .nav-links .btn{padding:10px 20px;min-height:44px;font-size:.9rem;box-shadow:3px 3px 0 var(--ink)}
  .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:10px;min-width:44px;min-height:44px;color:var(--ink)}

  /* ================= HERO ================= */
  .hero{
    position:relative;min-height:92vh;display:flex;align-items:flex-end;
    background:var(--ink);color:var(--paper);overflow:hidden;padding:0;
  }
  .hero-photo{
    position:absolute;inset:0;
    background:url("hero.webp") center 40%/cover no-repeat, #2A1708;
    transform:scale(1.06);
  }
  .hero-photo::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(40,20,20,.55) 0%,rgba(40,20,20,.15) 40%,rgba(40,20,20,.82) 88%);
  }
  .hero-inner{position:relative;z-index:2;width:100%;padding:140px var(--s3) 0}
  .hero h1{
    font-size:clamp(2.6rem,8.5vw,6.8rem);color:var(--paper);
    text-shadow:4px 4px 0 rgba(40,20,20,.55);
  }
  .hero h1 .line2{color:var(--orange-light);display:block}
  .hero-tag{
    font-size:clamp(1.5rem,3vw,2.2rem);color:#FFDFA1;margin:6px 0 26px;
    transform:rotate(-2deg);display:inline-block;
  }
  .hero-ctas{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s5)}
  .hero-strip{
    position:relative;z-index:2;border-top:2px solid rgba(245,235,216,.35);
    display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);
    padding:18px 0 26px;color:#E8D5B0;font-size:.9rem;
  }
  .hero-strip b{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.02em;color:var(--paper);display:block;line-height:1.1}
  .stamp{
    position:absolute;z-index:3;right:6%;top:110px;width:150px;height:150px;
    animation:spin 26s linear infinite;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));
  }
  @keyframes spin{to{transform:rotate(360deg)}}
  @media (max-width:720px){.stamp{width:104px;height:104px;right:4%;top:88px}}

  /* ================= MARQUEE ================= */
  .marquee{
    background:linear-gradient(180deg,var(--orange-deep),var(--orange-light));color:var(--ink);padding:13px 0;overflow:hidden;white-space:nowrap;
    border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
  }
  .marquee-track{display:inline-block;animation:marquee 30s linear infinite}
  .marquee span{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;margin:0 24px}
  .marquee .dot{color:var(--chili)}
  @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* ================= STORY ================= */
  .story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s6);align-items:center}
  .story h2,.section-head h2{font-size:clamp(2rem,4.2vw,3.3rem);margin:var(--s2) 0 var(--s3)}
  .story p{color:var(--ink-70);margin-bottom:var(--s2);max-width:36rem}
  .story p b{color:var(--ink)}
  .polaroid-stack{position:relative;padding:20px 0 40px}
  .polaroid{
    background:#fff;padding:14px 14px 48px;border:1px solid #D8CBB2;
    box-shadow:0 14px 34px rgba(40,20,20,.22);position:relative;
  }
  .polaroid img{width:100%;height:340px;object-fit:cover;background:#2A1708}
  .polaroid .cap{
    position:absolute;left:0;right:0;bottom:12px;text-align:center;
    font-family:var(--font-hand);font-size:1.25rem;color:var(--ink-70);
  }
  .polaroid.main{transform:rotate(-2.5deg)}
  .polaroid.small{
    position:absolute;width:46%;right:-14px;bottom:-24px;transform:rotate(4deg);
    padding:10px 10px 38px;z-index:2;
  }
  .polaroid.small img{height:170px}
  .tape{
    position:absolute;top:-14px;left:50%;transform:translateX(-50%) rotate(-3deg);
    width:110px;height:30px;background:rgba(220,110,60,.75);
    box-shadow:0 2px 6px rgba(40,20,20,.15);
  }
  .chef-note{
    margin-top:var(--s4);background:#fff;border:2px solid var(--ink);border-radius:6px;
    padding:var(--s3) var(--s4);box-shadow:6px 6px 0 var(--turmeric);
    display:flex;gap:16px;align-items:flex-start;max-width:34rem;
  }
  .chef-note .avatar{
    width:54px;height:54px;border-radius:50%;background:var(--turmeric);border:2px solid var(--ink);
    display:grid;place-items:center;flex-shrink:0;
  }
  .chef-note .q{font-family:var(--font-hand);font-size:1.45rem;line-height:1.25;color:var(--ink)}
  .chef-note .who{font-size:.85rem;font-weight:700;color:var(--ink-70);margin-top:6px;text-transform:uppercase;letter-spacing:.08em}

  /* ================= TIMELINE ================= */
  .timeline{margin-top:var(--s6);position:relative;padding-left:34px}
  .timeline::before{content:"";position:absolute;left:10px;top:6px;bottom:6px;width:3px;background:var(--ink);border-radius:2px}
  .tl-item{position:relative;padding:0 0 var(--s3) 14px}
  .tl-item:last-child{padding-bottom:0}
  .tl-item::before{
    content:"";position:absolute;left:-31px;top:4px;width:17px;height:17px;border-radius:50%;
    background:var(--turmeric);border:3px solid var(--ink);
  }
  .tl-item.hot::before{background:var(--chili)}
  .tl-year{
    font-family:var(--font-display);font-size:1.05rem;letter-spacing:.06em;color:var(--chili);
    text-transform:uppercase;display:inline-block;background:#fff;border:2px solid var(--ink);
    padding:2px 12px;transform:rotate(-1.5deg);margin-bottom:6px;
  }
  .tl-item p{color:var(--ink-70);max-width:34rem}
  .tl-item p b{color:var(--ink)}

  /* ================= BUILD (anatomy) ================= */
  .build{background:var(--ink);color:var(--paper);position:relative}
  .build .kicker{color:var(--turmeric)}
  .build .kicker::before{background:var(--turmeric)}
  .build h2{color:var(--paper)}
  .build-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--s6);align-items:center}
  .build-photos{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);align-content:center}
  .build-photos figure{position:relative;border:2px solid var(--paper);overflow:hidden;background:#2A1708}
  .build-photos img{width:100%;height:250px;object-fit:cover;transition:transform .4s ease}
  .build-photos figure:hover img{transform:scale(1.05)}
  .build-photos figcaption{
    position:absolute;left:0;bottom:0;right:0;padding:8px 12px;
    background:linear-gradient(transparent,rgba(40,20,20,.85));
    font-family:var(--font-hand);font-size:1.15rem;color:var(--turmeric);
  }
  .build-photos figure.wide{grid-column:1/-1}
  .build-photos figure.wide img{height:210px}
  .layer{display:flex;gap:18px;padding:22px 0;border-bottom:1px dashed rgba(245,235,216,.3)}
  .layer:last-child{border-bottom:none}
  .layer-num{
    font-family:var(--font-display);font-size:2rem;color:var(--turmeric);line-height:1;
    min-width:56px;
  }
  .layer h3{font-size:1.25rem;margin-bottom:6px;color:var(--paper);letter-spacing:.04em}
  .layer p{color:#CDB995;font-size:.95rem;max-width:30rem}

  /* ================= ORDER BUILDER ================= */
  .builder{
    margin-top:var(--s5);background:#fff;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--turmeric);
    padding:var(--s4);
  }
  .builder h3{font-size:1.5rem;margin-bottom:var(--s3)}
  .builder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
  .b-group legend{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-70);margin-bottom:10px}
  .b-group{border:none}
  .chip-row{display:flex;flex-wrap:wrap;gap:8px}
  .chip{position:relative}
  .chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
  .chip span{
    display:inline-flex;align-items:center;gap:6px;padding:9px 14px;min-height:40px;
    border:2px solid var(--ink);border-radius:999px;font-weight:700;font-size:.88rem;
    background:var(--paper);cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease;
  }
  .chip input:checked + span{background:var(--chili);color:#fff;transform:rotate(-1.5deg)}
  .chip input:focus-visible + span{outline:3px solid var(--chili);outline-offset:2px}
  .builder-total{
    display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;
    margin-top:var(--s4);padding-top:var(--s3);border-top:2px dashed var(--line);
  }
  .builder-total .sum{font-family:var(--font-display);font-size:2rem}
  .builder-total .sum small{font-size:1rem;color:var(--ink-70);font-family:var(--font-body);font-weight:600}

  /* ================= FAQ ================= */
  .faq-list{max-width:760px;margin:0 auto}
  .faq-item{border:2px solid var(--ink);background:#fff;margin-bottom:12px}
  .faq-item summary{
    list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;
    padding:18px 22px;font-weight:700;font-size:1.05rem;
  }
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary .plus{font-family:var(--font-display);font-size:1.4rem;color:var(--chili);transition:transform .2s ease}
  .faq-item[open] summary .plus{transform:rotate(45deg)}
  .faq-item .a{padding:0 22px 20px;color:var(--ink-70)}
  .faq-item[open]{box-shadow:5px 5px 0 var(--turmeric)}

  /* ================= MENU ================= */
  .menu-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s5)}
  .menu-head p{color:var(--ink-70);max-width:30rem}
  .menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
  .chit{
    background:#fff;border:2px solid var(--ink);display:flex;flex-direction:column;
    transition:transform .2s ease,box-shadow .2s ease;position:relative;
  }
  .chit:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:8px 8px 0 rgba(242,112,29,.9)}
  .chit-photo{position:relative;border-bottom:2px solid var(--ink);overflow:hidden}
  .chit-photo img{width:100%;height:190px;object-fit:cover;background:#2A1708}
  .chit-price{
    position:absolute;top:10px;right:10px;
    font-family:var(--font-display);font-size:1.05rem;
    background:var(--turmeric);border:2px solid var(--ink);border-radius:999px;
    padding:6px 12px;box-shadow:2px 2px 0 var(--ink);transform:rotate(3deg);
  }
  .chit-body{padding:var(--s3);display:flex;flex-direction:column;gap:10px;flex:1}
  .chit h3{font-size:1.3rem;letter-spacing:.03em}
  .chit p{font-size:.92rem;color:var(--ink-70);flex:1}
  .tag-row{display:flex;gap:8px;flex-wrap:wrap}
  .tag{
    font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
    padding:4px 10px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);
  }
  .tag.hot{background:var(--chili);color:var(--ink)}
  .tag.best{background:var(--turmeric)}
  /* perforated chit bottom */
  .chit::after{
    content:"";height:10px;margin-top:auto;
    background-image:radial-gradient(circle at 8px -2px,transparent 6px,#fff 6.5px);
    background-size:16px 10px;background-position:0 0;
    border-top:2px dashed var(--line);
  }
  .addons{
    margin-top:var(--s4);background:var(--pandan);color:var(--paper);border:2px solid var(--ink);
    padding:var(--s3) var(--s4);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);align-items:center;
    box-shadow:6px 6px 0 var(--ink);
  }
  .addons h3{color:#F2BE8E;font-size:1rem;letter-spacing:.12em}
  .addon{display:flex;align-items:baseline;gap:10px;font-weight:600}
  .addon b{font-family:var(--font-display);color:#F2BE8E;letter-spacing:.04em}
  .menu-note{margin-top:var(--s3);font-size:.85rem;color:var(--ink-70);text-align:center}

  /* ================= PRESS ================= */
  .press{background:var(--paper-2);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
  .press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
  .press-card{
    background:var(--paper);border:2px solid var(--ink);padding:var(--s4);
    display:flex;flex-direction:column;gap:14px;
    transition:transform .2s ease,box-shadow .2s ease;
  }
  .press-card:hover{transform:translateY(-5px);box-shadow:6px 6px 0 var(--turmeric)}
  .press-card .mark{font-family:var(--font-display);font-size:3rem;color:var(--chili);line-height:.6;margin-top:8px}
  .press-card blockquote{font-size:1.12rem;font-weight:600;line-height:1.45;flex:1}
  .press-card cite{font-style:normal;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-70)}
  .press-card .score{font-family:var(--font-display);color:var(--chili);font-size:1.05rem;letter-spacing:.04em}

  /* ================= LOCATIONS ================= */
  .loc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
  .loc-card{
    border:2px solid var(--ink);background:#fff;padding:var(--s4);position:relative;
    transition:transform .2s ease,box-shadow .2s ease;
  }
  .loc-card:hover{transform:translateY(-4px);box-shadow:7px 7px 0 var(--pandan)}
  .loc-num{
    position:absolute;top:-16px;left:18px;background:var(--chili);color:var(--ink);
    font-family:var(--font-display);font-size:.95rem;letter-spacing:.1em;
    border:2px solid var(--ink);padding:4px 12px;transform:rotate(-2deg);
  }
  .loc-card h3{font-size:1.35rem;margin:10px 0 12px;letter-spacing:.03em}
  .loc-line{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px;font-size:.95rem;color:var(--ink-70)}
  .loc-line svg{flex-shrink:0;margin-top:3px}
  .loc-chip{
    display:inline-block;margin-top:8px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    background:var(--paper-2);border:1.5px solid var(--ink);border-radius:999px;padding:4px 12px;
  }
  .loc-chip a{display:inline-block;padding:10px 8px;margin:-10px -8px;border-radius:999px}

  /* ================= CTA ================= */
  .cta{
    background:linear-gradient(180deg,var(--orange-deep),var(--orange-light));color:var(--ink);text-align:center;position:relative;overflow:hidden;
    border-top:2px solid var(--ink);
  }
  .cta h2{color:#fff;font-size:clamp(2.2rem,5.5vw,4.2rem);margin-bottom:var(--s2);text-shadow:3px 3px 0 rgba(40,20,20,.5)}
  .cta .hand{font-size:1.6rem;color:#6B3A0C;display:block;margin-bottom:var(--s4);transform:rotate(-1.5deg)}
  .cta-btns{display:flex;justify-content:center;gap:var(--s2);flex-wrap:wrap}

  /* ================= FOOTER ================= */
  footer{background:var(--ink);color:#CDB995;padding:var(--s6) 0 var(--s4)}
  .foot-grid{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;align-items:flex-start}
  .foot-brand p{font-size:.9rem;max-width:22rem;margin-top:12px}
  .foot-col h4{color:var(--paper);font-family:var(--font-display);font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
  .foot-col ul{list-style:none}
  .foot-col li{margin-bottom:9px}
  .foot-col a{text-decoration:none;font-size:.93rem;transition:color .2s ease;display:inline-block;padding:6px 0;margin:-6px 0}
  .foot-col a:hover{color:var(--turmeric)}
  .foot-bottom{
    border-top:1px solid rgba(245,235,216,.18);margin-top:var(--s5);padding-top:var(--s3);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem;
  }

  /* ================= STICKY MOBILE ORDER BAR ================= */
  .order-bar{
    display:none;position:fixed;left:0;right:0;bottom:0;z-index:85;
    background:var(--ink);border-top:2px solid var(--turmeric);
    padding:10px var(--s2) calc(10px + env(safe-area-inset-bottom));
  }
  .order-bar .btn{width:100%;box-shadow:none}
  @media (max-width:720px){
    .order-bar{display:block}
    footer{padding-bottom:96px}
  }

  /* ================= OPEN NOW / BADGES ================= */
  .loc-chip.open{background:#E4F0E2;border-color:var(--pandan);color:var(--pandan)}
  .loc-chip.closed{background:#F7E3DF;border-color:var(--chili);color:var(--chili-deep)}
  .seen-strip{
    display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;
    padding:16px 0 0;color:#CDB995;font-size:.78rem;font-weight:700;
    text-transform:uppercase;letter-spacing:.16em;
  }
  .seen-strip .lbl{color:#8F7B5C}

  /* ================= REVEAL ================= */
  .js .reveal{opacity:0;transform:translateY(26px);transition:opacity .55s ease,transform .55s ease}
  .js .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}

  /* ================= RESPONSIVE ================= */
  @media (max-width:1024px){
    .menu-grid{grid-template-columns:repeat(2,1fr)}
    .press-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
  }
  @media (max-width:900px){
    .story-grid,.build-grid{grid-template-columns:1fr}
    .polaroid img{height:280px}
  }
  @media (max-width:720px){
    section{padding:var(--s6) 0}
    .menu-grid,.loc-grid{grid-template-columns:1fr}
    .hero-inner{padding-top:120px}
    .hero-photo{background:url("hero-mobile.webp") center 32%/cover no-repeat, #2A1708}
    .hero-photo::after{background:linear-gradient(180deg,rgba(40,20,20,.6) 0%,rgba(40,20,20,.38) 45%,rgba(40,20,20,.86) 88%)}
    .hero-strip{gap:var(--s2) var(--s4)}
    .hero-strip b{font-size:1.3rem}
    .seen-strip{gap:8px 18px;font-size:.72rem}
    .build-photos img{height:180px}
    .polaroid.small{display:none}
    /* three columns of chips get squeezed to ~100px on phones and spill off
       the screen on 320px ones, so stack the groups instead */
    .builder-grid{grid-template-columns:1fr}
    .b-group{min-width:0}
  }
  @media (max-width:480px){
    .hero-ctas .btn{width:100%}
    .cta-btns .btn{width:100%}
  }

  /* ================= LTO PROMO ================= */
.lto{padding:var(--s7) 0 0}
.lto[hidden]{display:none!important}
.lto-chit{
  position:relative;display:grid;grid-template-columns:1.6fr 1fr;
  background:var(--chili);color:var(--paper);
  border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);
}
.lto .kicker{color:var(--ink)}
.lto .kicker::before{background:var(--ink)}
.lto-main{padding:var(--s4) var(--s5) var(--s4) var(--s4)}
.lto-title{
  font-size:clamp(1.9rem,4vw,2.9rem);color:#fff;
  margin:var(--s2) 0 var(--s2);text-shadow:3px 3px 0 var(--chili-deep);
}
.lto-desc{color:#3A2418;max-width:34rem;margin-bottom:var(--s2)}
.lto-ends{font-weight:700;font-size:.95rem;letter-spacing:.02em;color:var(--ink)}
.lto-ends .hand{
  font-size:1.25rem;color:#FFDFA1;display:inline-block;
  transform:rotate(-2deg);margin-left:6px;
}
.lto-stamp{
  position:absolute;top:-16px;right:24px;z-index:2;
  font-family:var(--font-display);font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;
  background:var(--turmeric);color:var(--ink);border:2px solid var(--ink);
  padding:5px 14px;transform:rotate(4deg);box-shadow:2px 2px 0 var(--ink);
}
.lto-stub{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:var(--s3);padding:var(--s4) var(--s3);
  border-left:2px dashed rgba(245,235,216,.55);
}
/* punched ticket notches straddling the perforation line */
.lto-stub::before,.lto-stub::after{
  content:"";position:absolute;left:-13px;width:22px;height:22px;border-radius:50%;
  background:var(--paper);
}
.lto-stub::before{top:-13px}
.lto-stub::after{bottom:-13px}
.lto-count{display:flex;align-items:center;gap:8px}
.lto-slot{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  background:var(--chili-deep);border:2px solid var(--ink);
  padding:10px 8px 8px;min-width:66px;
}
.lto-num{
  font-family:var(--font-display);font-size:1.9rem;line-height:1;color:var(--paper);
  display:inline-block;width:2.4ch;text-align:center;font-variant-numeric:tabular-nums;
}
.lto-lbl{
  font-size:.66rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.14em;color:#F0E2C4;
}
.lto-colon{
  font-family:var(--font-display);font-size:1.6rem;color:#FFDFA1;
  transform:translateY(-8px);
}
.lto .btn:focus-visible{outline-color:var(--paper)}
@media (max-width:900px){
  .lto-chit{grid-template-columns:1fr}
  .lto-main{padding:var(--s4)}
  .lto-stub{border-left:none;border-top:2px dashed rgba(245,235,216,.55);padding:var(--s4)}
  .lto-stub::before{top:-11px;left:-13px;bottom:auto}
  .lto-stub::after{top:-11px;bottom:auto;left:auto;right:-13px}
}
@media (max-width:720px){
  .lto{padding:var(--s6) 0 0}
  .lto-stamp{font-size:.85rem;right:16px}
  .lto-cta{width:100%}
}
  /* ================= CATERING ================= */
.catering{background:var(--ink);color:var(--paper);position:relative}
.catering .kicker{color:var(--turmeric)}
.catering .kicker::before{background:var(--turmeric)}
.catering h2{color:var(--paper);font-size:clamp(2rem,4.2vw,3.3rem);margin-top:var(--s2)}
.catering .catering-head{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s6);align-items:center;margin-bottom:var(--s6)}
.catering .catering-intro p{color:#CDB995;max-width:34rem;margin-top:var(--s3)}
.catering .catering-intro p b{color:var(--paper)}
.catering .catering-hand{font-family:var(--font-hand);font-weight:600;font-size:1.5rem;color:#FFDFA1;transform:rotate(-2deg);display:inline-block;margin-top:var(--s2)}
.catering .catering-photo{position:relative;margin:0 8px 8px 0;transform:rotate(-1.5deg);border:2px solid var(--paper);box-shadow:8px 8px 0 var(--turmeric);background:#2A1708;overflow:hidden}
.catering .catering-photo img{width:100%;height:340px;object-fit:cover}
.catering .catering-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 16px 10px;background:linear-gradient(transparent,rgba(40,20,20,.88));font-family:var(--font-hand);font-weight:600;font-size:1.25rem;color:var(--turmeric)}
.catering .tray-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4) var(--s3)}
.catering .tray{position:relative;background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:var(--s4);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,opacity .55s ease}
.catering .tray:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:8px 8px 0 var(--turmeric)}
.catering .tray-ribbon{position:absolute;top:-16px;left:18px;background:var(--chili);color:#fff;font-family:var(--font-display);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--paper);padding:4px 14px;transform:rotate(-2deg)}
.catering .tray h3{font-size:1.35rem;letter-spacing:.03em;margin-top:4px}
.catering .tray .feeds{font-family:var(--font-hand);font-weight:600;font-size:1.3rem;color:var(--chili);transform:rotate(-1deg);display:inline-block;margin:4px 0 10px;align-self:flex-start}
.catering .tray ul{list-style:none;flex:1}
.catering .tray li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed var(--line);font-size:.93rem;font-weight:600;color:var(--ink-70)}
.catering .tray li:last-child{border-bottom:none}
.catering .tray li svg{flex-shrink:0;margin-top:3px;color:var(--chili)}
.catering .tray-foot{margin-top:var(--s2);padding-top:var(--s2);border-top:2px dashed var(--line);font-family:var(--font-hand);font-weight:600;font-size:1.2rem;color:var(--ink-70)}
.catering .catering-cta{margin-top:var(--s6);border:2px dashed rgba(245,235,216,.35);padding:var(--s5) var(--s4);text-align:center}
.catering .catering-cta h3{color:var(--paper);font-size:clamp(1.7rem,3.5vw,2.4rem);letter-spacing:.03em;margin-bottom:10px}
.catering .cta-line{color:#CDB995;max-width:34rem;margin:0 auto var(--s4)}
.catering .cta-row{display:flex;justify-content:center;gap:var(--s2);flex-wrap:wrap}
.catering .lead-note{margin:var(--s3) auto 0;font-size:.88rem;color:#CDB995;max-width:36rem}
.catering .lead-note b{color:var(--paper)}
@media (max-width:1024px){
  .catering .tray-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
}
@media (max-width:900px){
  .catering .catering-head{grid-template-columns:1fr}
  .catering .catering-photo img{height:280px}
}
@media (max-width:720px){
  .catering .catering-photo img{height:240px}
}
@media (max-width:480px){
  .catering .cta-row .btn{width:100%}
}
  /* ================= IG WALL ================= */
.igwall{position:relative}
.igwall .igwall-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s5)}
.igwall .igwall-head h2{font-size:clamp(2rem,4.2vw,3.3rem);margin-top:var(--s2)}
.igwall .igwall-note{font-size:1.45rem;color:var(--ink-70);transform:rotate(-2deg);max-width:17rem;line-height:1.2}
.igwall .igwall-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:235px;gap:var(--s2)}
.igwall .ig-tile{position:relative;display:block;height:100%;border:2px solid var(--ink);background:#2A1708;overflow:hidden;text-decoration:none;--tilt:0deg;transform:rotate(var(--tilt))}
.igwall .ig-tile.ig-wide{grid-column:span 2}
.igwall .ig-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.igwall .ig-tile:not(.pol):hover img,.igwall .ig-tile:not(.pol):focus-visible img{transform:scale(1.06)}
.igwall .ig-tile.pol{background:#fff;padding:10px 10px 40px;z-index:2;box-shadow:6px 6px 0 var(--turmeric)}
.igwall .ig-tile.tilt-l{--tilt:-2deg}
.igwall .ig-tile.tilt-r{--tilt:2.4deg;box-shadow:6px 6px 0 var(--chili)}
.igwall .ig-cap{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-family:var(--font-hand);font-weight:600;font-size:1.2rem;color:var(--ink-70)}
.igwall .ig-ov{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;background:rgba(40,20,20,.82);color:var(--paper);opacity:0;transition:opacity .25s ease}
.igwall .ig-tile.pol .ig-ov{top:10px;left:10px;right:10px;bottom:40px}
.igwall .ig-tile:hover .ig-ov,.igwall .ig-tile:focus .ig-ov,.igwall .ig-tile:focus-visible .ig-ov{opacity:1}
.igwall .ig-tag{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.06em;text-align:center;text-transform:none}
.igwall .sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.igwall .igwall-cta{display:flex;justify-content:center;margin-top:var(--s5)}
.igwall.igwall-js .ig-tile{opacity:0;transform:translateY(22px) rotate(var(--tilt));transition:opacity .5s ease,transform .5s ease}
.igwall.igwall-js .ig-tile.tin{opacity:1;transform:rotate(var(--tilt))}
@media (prefers-reduced-motion:reduce){
  .igwall.igwall-js .ig-tile{opacity:1;transform:rotate(var(--tilt))}
}
@media (max-width:720px){
  .igwall .igwall-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
}
@media (max-width:480px){
  .igwall .igwall-grid{gap:10px;grid-auto-rows:160px}
  .igwall .ig-tile.pol{padding:6px 6px 30px;box-shadow:4px 4px 0 var(--turmeric)}
  .igwall .ig-tile.tilt-l{--tilt:-1.2deg}
  .igwall .ig-tile.tilt-r{--tilt:1.2deg;box-shadow:4px 4px 0 var(--chili)}
  .igwall .ig-tile.pol .ig-ov{top:6px;left:6px;right:6px;bottom:30px}
  .igwall .ig-cap{font-size:1.05rem;bottom:5px}
  .igwall .igwall-note{font-size:1.25rem}
}
  /* ================= CRUNCH CLUB ================= */
.club{background:var(--paper-2);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.club [hidden]{display:none!important}
.club-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s6);align-items:center}
.club-copy h2{font-size:clamp(2rem,4.2vw,3.3rem);margin:var(--s2) 0 var(--s3)}
.club-lede{color:var(--ink-70);max-width:34rem;margin-bottom:var(--s4)}
.club-lede b{color:var(--ink)}
.club-signup{max-width:34rem}
.club-label{display:block;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-70);margin-bottom:10px}
.club-row{display:flex;gap:12px;flex-wrap:wrap}
.club-input{
  flex:1 1 240px;min-height:48px;padding:10px 16px;
  font-family:var(--font-body);font-size:1rem;color:var(--ink);
  background:#fff;border:2px solid var(--ink);border-radius:4px;
  box-shadow:4px 4px 0 var(--line);
  transition:box-shadow .18s ease,border-color .18s ease;
}
.club-input::placeholder{color:#7A6748}
.club-input:focus{outline:3px solid var(--chili);outline-offset:3px}
.club-input[aria-invalid="true"]{border-color:var(--chili);box-shadow:4px 4px 0 var(--chili)}
.club-error{margin:0;font-weight:700;font-size:.92rem;color:var(--chili-deep)}
.club-error:not(:empty){margin-top:10px}
.club-success{font-size:1.7rem;color:var(--pandan);display:inline-block;transform:rotate(-1.5deg);margin:0}
.club-success:not(:empty){margin-top:6px}
.club-fine{margin-top:var(--s2);font-size:.85rem;color:var(--ink-70);max-width:34rem}
.club-fine.club-demo{font-size:.78rem;padding-top:10px;border-top:2px dashed var(--line);font-style:italic}
.club-card-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--s2)}
.club-card{
  position:relative;display:flex;width:min(430px,100%);
  background:var(--paper);border:2px solid var(--ink);border-radius:10px;
  box-shadow:10px 10px 0 var(--chili);transform:rotate(3deg);
  overflow:hidden;
}
.club-card-main{flex:1;padding:26px 24px 24px;min-width:0}
.club-card-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-70)}
.club-card-brand svg{flex-shrink:0}
.club-card-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:clamp(2.3rem,6vw,3.2rem);line-height:.95;margin:14px 0 6px;color:var(--ink)}
.club-card-title em{font-style:normal;color:var(--chili)}
.club-card-member{font-family:var(--font-hand);font-weight:600;font-size:1.25rem;color:var(--ink-70);margin:0 0 16px}
.club-card-barcode{
  height:34px;max-width:230px;
  background:repeating-linear-gradient(90deg,var(--ink) 0 3px,transparent 3px 5px,var(--ink) 5px 6px,transparent 6px 11px,var(--ink) 11px 15px,transparent 15px 18px);
}
.club-card-serial{margin:8px 0 0;font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-70)}
.club-card-stub{
  width:86px;flex-shrink:0;border-left:2px dashed var(--ink);
  background:var(--turmeric);display:grid;place-items:center;position:relative;
}
.club-card-stub span{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:var(--font-display);text-transform:uppercase;letter-spacing:.18em;
  font-size:1rem;color:var(--ink);
}
.club-notch{
  position:absolute;width:26px;height:26px;border-radius:50%;
  background:var(--paper-2);border:2px solid var(--ink);right:73px;
}
.club-notch.top{top:-15px}
.club-notch.bottom{bottom:-15px}
.club-punch{
  position:absolute;top:12px;right:34px;width:14px;height:14px;border-radius:50%;
  background:var(--paper-2);border:2px solid var(--ink);
}
.club-scribble{font-size:1.3rem;color:var(--ink-70);transform:rotate(-2deg)}
@media (max-width:900px){
  .club-grid{grid-template-columns:1fr}
  .club-card{transform:rotate(2deg)}
  .club-card-wrap{margin-top:var(--s2)}
}
@media (max-width:480px){
  .club-row .btn{width:100%}
}

  /* ================= NEWS TEASER ================= */
  .teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
  .teaser-grid a{transition:transform .2s ease,box-shadow .2s ease}
  .teaser-grid a:hover{transform:translateY(-4px);box-shadow:6px 6px 0 var(--turmeric)}
  @media (max-width:900px){.teaser-grid{grid-template-columns:1fr}}

  /* ================= SUBPAGE MASTHEAD ================= */
  .masthead{border-bottom:2px solid var(--ink);background:var(--paper-2);padding:var(--s6) 0 var(--s5);text-align:center}
  .masthead h1 em{font-style:normal}

  /* ================= CAREERS ================= */
  .roles-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
  .roles-list li{
    background:#fff;border:2px solid var(--ink);padding:14px 18px;
    font-family:var(--font-display);font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;
  }

  /* ================= CONTACT ================= */
  .contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin-top:var(--s5)}
  .contact-card{background:#fff;border:2px solid var(--ink);padding:var(--s4);display:flex;flex-direction:column;gap:12px;align-items:flex-start}
  .contact-card h3{font-size:1.15rem;text-transform:uppercase;letter-spacing:.04em}
  .contact-card p{color:var(--ink-70);font-size:.95rem;flex:1}
  .contact-card:hover{box-shadow:6px 6px 0 var(--turmeric)}
  @media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

  /* ================= HOME: PHILOSOPHY / MEET BROS ================= */
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
  .pillar{background:#fff;border:2px solid var(--ink);padding:var(--s4);position:relative}
  .pillar:hover{box-shadow:7px 7px 0 var(--chili)}
  .pillar h3{font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px}
  .pillar p{color:var(--ink-70);font-size:.95rem;margin-bottom:10px}
  .pillar p:last-child{margin-bottom:0}
  .pillar .hand{font-size:1.35rem;color:var(--chili)}
  @media (max-width:900px){.pillars{grid-template-columns:1fr}}
  .meet-bros{background:linear-gradient(180deg,var(--orange-deep),var(--orange-light));color:var(--ink);text-align:center;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
  .meet-bros .kicker{color:var(--ink);justify-content:center}
  .meet-bros .kicker::before{background:var(--ink)}
  .meet-bros img{width:min(360px,70vw);margin:0 auto var(--s3);filter:drop-shadow(0 10px 24px rgba(122,42,10,.35))}
  .meet-bros h2{color:#fff;text-shadow:3px 3px 0 rgba(40,20,20,.5);font-size:clamp(2.2rem,5vw,3.6rem)}
  .meet-bros p{color:#3A2418;max-width:36rem;margin:var(--s3) auto 0}
  .meaning{background:var(--paper-2);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
  .meaning blockquote{font-family:var(--font-hand);font-weight:600;font-size:clamp(1.6rem,3.5vw,2.2rem);color:var(--chili);transform:rotate(-1deg);margin:var(--s4) 0}

  /* nav collapses earlier now that it carries 7 items */
  @media (max-width:960px){
    .nav-links{
      display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);
      border-bottom:2px solid var(--ink);flex-direction:column;padding:var(--s3);gap:var(--s2);
      z-index:90;
    }
    .nav-links.open{display:flex}
    .nav-toggle{display:block}
  }
  @media (min-width:901px){.pillars-2{grid-template-columns:repeat(2,1fr)}}

  /* stop form controls overflowing their column on small screens */
  .cform-field input,.cform-field select,.cform-field textarea{width:100%;max-width:100%;min-width:0}
  .cform-row{min-width:0}
  .cform-row > *{min-width:0}

/* "Get notified" push button in the footer (shown by assets/pwa.js only when
   push works on this browser and is set up on the site) */
.push-optin{margin-top:var(--s3);font:inherit;font-weight:700;font-size:.9rem;color:#F5EBD8;background:transparent;border:2px solid #F2701D;border-radius:999px;padding:10px 18px;min-height:44px;cursor:pointer;transition:background .15s ease}
.push-optin:hover{background:rgba(242,112,29,.18)}
.push-optin[aria-pressed="true"]{border-color:#5E9C6D;color:#A5DCB1}
.push-optin:disabled{opacity:.6;cursor:wait}
.push-optin[hidden],.push-hint[hidden]{display:none}
.push-hint{margin-top:8px;font-size:.85rem;color:#CDB995;max-width:28rem}

/* sold-out menu items (set in the dashboard): still listed, clearly unavailable */
.chit.sold-out .chit-photo img{filter:grayscale(1) opacity(.7)}
.chit.sold-out .chit-price{background:var(--ink);color:#F5EBD8}
.addon.sold-out{opacity:.55;text-decoration:line-through}
.chip input:disabled + span{opacity:.45;text-decoration:line-through;cursor:not-allowed}
