  :root{
    --char:#151210;          /* charcoal — the grill */
    --char-2:#1e1a17;        /* raised panel */
    --ember:#e02b2b;         /* brand red from the printed menu */
    --ember-deep:#a81f1f;
    --smoke:#f1e9dd;         /* off-white text */
    --ash:#a89e91;           /* muted text */
    --line:#332c26;
    --max:1100px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--char);
    color:var(--smoke);
    font-family:'Inter',system-ui,sans-serif;
    font-size:16px;line-height:1.55;
    background-image:
      radial-gradient(1200px 500px at 80% -10%, rgba(224,43,43,.08), transparent 60%),
      radial-gradient(900px 600px at -10% 30%, rgba(255,255,255,.03), transparent 60%);
  }
  ::selection{background:var(--ember);color:#fff}

  h1,h2,h3,.disp{
    font-family:'Roboto Condensed',sans-serif;
    text-transform:uppercase;
    letter-spacing:.02em;
  }

  /* ---------- header ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(21,18,16,.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .bar{
    max-width:var(--max);margin:0 auto;
    display:flex;align-items:center;justify-content:space-between;
    padding:.7rem 1.25rem;gap:1rem;
  }
  .logo{display:flex;align-items:baseline;gap:.55rem;text-decoration:none;color:var(--smoke)}
  .logo b{
    font-family:'Roboto Condensed';font-weight:800;font-size:1.5rem;
    color:var(--ember);letter-spacing:.03em;text-transform:uppercase;
  }
  .logo span{font-size:.72rem;color:var(--ash);letter-spacing:.14em;text-transform:uppercase}
  .langs{display:flex;gap:.35rem}
  .langs button{
    background:none;border:1px solid var(--line);color:var(--ash);
    font:600 .78rem 'Inter';padding:.38rem .65rem;cursor:pointer;
    letter-spacing:.08em;transition:all .15s;
  }
  .langs button:hover{border-color:var(--ember);color:var(--smoke)}
  .langs button.on{background:var(--ember);border-color:var(--ember);color:#fff}
  .langs button:focus-visible{outline:2px solid var(--ember);outline-offset:2px}

  /* ---------- hero ---------- */
  .hero{
    max-width:var(--max);margin:0 auto;
    padding:4.5rem 1.25rem 3rem;text-align:center;
  }
  .hero .eyebrow{
    color:var(--ash);letter-spacing:.3em;text-transform:uppercase;
    font-size:.75rem;font-weight:600;
  }
  .hero h1{
    font-size:clamp(3.2rem,10vw,7rem);
    font-weight:800;line-height:.95;color:var(--smoke);
    margin:.35rem 0 .2rem;
  }
  .hero h1 em{font-style:normal;color:var(--ember)}
  .hero .tag{
    display:inline-block;margin-top:.6rem;
    background:var(--ember);color:#fff;
    font-family:'Roboto Condensed';font-weight:700;text-transform:uppercase;
    letter-spacing:.14em;font-size:.9rem;
    padding:.35rem .9rem;transform:rotate(-1.5deg);
  }
  .hero p.lede{max-width:34rem;margin:1.6rem auto 0;color:var(--ash);font-size:1.02rem}
  .cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
  .btn{
    display:inline-block;text-decoration:none;
    font-family:'Roboto Condensed';font-weight:700;text-transform:uppercase;
    letter-spacing:.1em;font-size:1rem;padding:.8rem 1.6rem;
    transition:all .15s;
  }
  .btn-red{background:var(--ember);color:#fff}
  .btn-red:hover{background:var(--ember-deep)}
  .btn-ghost{border:1px solid var(--line);color:var(--smoke)}
  .btn-ghost:hover{border-color:var(--ember);color:var(--ember)}

  .strip{
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    background:var(--char-2);
  }
  .strip-in{
    max-width:var(--max);margin:0 auto;padding:.9rem 1.25rem;
    display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;
    font-size:.85rem;color:var(--ash);
  }
  .strip-in b{color:var(--smoke);font-weight:600}

  /* ---------- skewer divider (signature) ---------- */
  .skewer{display:flex;align-items:center;gap:0;max-width:var(--max);margin:0 auto;padding:0 1.25rem}
  .skewer .rod{flex:1;height:2px;background:var(--line)}
  .skewer .tip{width:10px;height:10px;background:var(--ember);transform:rotate(45deg);margin-left:-1px}
  .skewer .handle{width:26px;height:2px;background:var(--ember)}

  /* ---------- category nav ---------- */
  .catnav{
    position:sticky;top:57px;z-index:40;
    background:rgba(21,18,16,.95);backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
    overflow-x:auto;scrollbar-width:none;
  }
  .catnav::-webkit-scrollbar{display:none}
  .catnav-in{
    max-width:var(--max);margin:0 auto;padding:0 1.25rem;
    display:flex;gap:1.4rem;white-space:nowrap;
  }
  .catnav a{
    color:var(--ash);text-decoration:none;
    font-family:'Roboto Condensed';font-weight:700;text-transform:uppercase;
    letter-spacing:.08em;font-size:.85rem;
    padding:.75rem 0;border-bottom:2px solid transparent;
  }
  .catnav a:hover{color:var(--smoke);border-color:var(--ember)}

  /* ---------- menu ---------- */
  main{max-width:var(--max);margin:0 auto;padding:1rem 1.25rem 4rem}
  section.menu-sec{padding-top:3.2rem;scroll-margin-top:110px}
  .sec-head{
    display:inline-block;background:var(--ember);color:#fff;
    padding:.45rem 1.1rem .4rem;
    font-size:clamp(1.3rem,3vw,1.7rem);font-weight:800;letter-spacing:.05em;
  }
  .sec-note{color:var(--ash);font-size:.88rem;margin:.8rem 0 0;max-width:44rem;font-style:italic}
  .grid{
    margin-top:1.6rem;
    display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 3rem;
  }
  @media(max-width:760px){.grid{grid-template-columns:1fr}}
  .item{padding:.55rem 0;border-bottom:1px dashed #2c2620}
  .item .row{display:flex;align-items:baseline;gap:.5rem}
  .item .nm{font-family:'Roboto Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:1.02rem}
  .item .dots{flex:1;border-bottom:2px dotted #3d352d;transform:translateY(-4px)}
  .item .pr{font-family:'Roboto Condensed';font-weight:800;color:var(--ember);font-size:1.05rem;white-space:nowrap}
  .item .ds{color:var(--ash);font-size:.85rem;margin-top:.15rem}

  /* ---------- info ---------- */
  .info{background:var(--char-2);border-top:1px solid var(--line)}
  .info-in{
    max-width:var(--max);margin:0 auto;padding:3.5rem 1.25rem;
    display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;
  }
  @media(max-width:760px){.info-in{grid-template-columns:1fr}}
  .info h3{color:var(--ember);font-size:1.05rem;font-weight:800;letter-spacing:.08em;margin-bottom:.6rem}
  .info p{color:var(--ash);font-size:.92rem}
  .info a{color:var(--smoke);text-decoration:none;border-bottom:1px solid var(--ember)}
  .info a:hover{color:var(--ember)}
  .info .big{font-family:'Roboto Condensed';font-weight:800;font-size:1.5rem;color:var(--smoke);letter-spacing:.02em}

  footer{border-top:1px solid var(--line)}
  .foot{
    max-width:var(--max);margin:0 auto;padding:1.4rem 1.25rem;
    display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
    color:#6f665c;font-size:.78rem;
  }
  @media(prefers-reduced-motion:no-preference){
    .hero h1,.hero .tag,.hero .lede,.hero .cta{animation:up .6s ease both}
    .hero .tag{animation-delay:.1s}.hero .lede{animation-delay:.18s}.hero .cta{animation-delay:.26s}
    @keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  }
