/* menu */
.food-marquee {
      --food-marquee-gap: 3.34px;
      position: relative;
      overflow: hidden;
      padding: 10px 0;
      background: var(--dark);
      border-block: 1px solid rgba(255, 255, 255, 0.1);
    }

    .food-marquee::before,
    .food-marquee::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      z-index: 2;
      width: clamp(24px, 7vw, 120px);
      pointer-events: none;
    }

    .food-marquee::before { left: 0; background: linear-gradient(90deg, var(--dark), transparent); }

    .food-marquee::after { right: 0; background: linear-gradient(-90deg, var(--dark), transparent); }

    .food-marquee-track {
      display: flex;
      width: max-content;
      animation: food-marquee-flow 45.33s linear infinite;
      will-change: transform;
    }

    .food-marquee-group {
      display: flex;
      flex: 0 0 auto;
      gap: var(--food-marquee-gap);
      padding-right: var(--food-marquee-gap);
    }

    .food-marquee-item {
      position: relative;
      margin: 0;
      width: clamp(220px, 24vw, 390px);
      aspect-ratio: 4 / 5;
      overflow: hidden;
      border-radius: 18px;
      background: #203d31;
    }

    .food-marquee-item:nth-child(3n + 2) { aspect-ratio: 1 / 1; }

    .food-marquee-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 500ms cubic-bezier(.2, .75, .25, 1);
    }

    .food-marquee-item:hover img { transform: scale(1.035); }

    .food-marquee-caption {
      position: absolute;
      inset: auto 12px 12px;
      z-index: 1;
      width: fit-content;
      max-width: calc(100% - 24px);
      padding: 9px 12px;
      color: #fff;
      background: rgba(10, 30, 21, 0.84);
      border: 1px solid rgba(255, 255, 255, 0.16);
      border-radius: 999px;
      font-size: 14px;
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: 0.01em;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity 180ms ease, transform 180ms ease;
      pointer-events: none;
    }

    .food-marquee-item:hover .food-marquee-caption,
    .food-marquee-item:focus-visible .food-marquee-caption {
      opacity: 1;
      transform: translateY(0);
    }

    .food-marquee-item:focus-visible {
      outline: 3px solid var(--accent);
      outline-offset: -3px;
    }

    .food-marquee:hover .food-marquee-track { animation-play-state: paused; }

    @keyframes food-marquee-flow {
      from { transform: translate3d(0, 0, 0); }
      to { transform: translate3d(-50%, 0, 0); }
    }

    .menu-band { background: var(--surface-soft); border-block: 1px solid var(--border); }

    .menu-band > .section { padding-bottom: 34px; }
