*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --red: oklch(0.44 0.19 25);
      --red-dark: oklch(0.33 0.17 25);
      --red-light: oklch(0.55 0.17 25);
      --black: #110e0a;
      --ink: #1a1510;
      --cream: oklch(0.97 0.012 75);
      --gold: oklch(0.75 0.10 78);
      --muted: oklch(0.55 0.01 75);
    }
    html { scroll-behavior: smooth; }
    body {
      background: var(--cream);
      color: var(--ink);
      font-family: 'DM Sans', sans-serif;
      font-size: 16px;
      line-height: 1.6;
      overflow-x: hidden;
    }
    ::selection { background: var(--red); color: white; }

    /* Scroll reveal */
    .reveal { opacity: 0; transform: translateY(32px); transition: opacity 0.7s ease, transform 0.7s ease; }
    .reveal.visible { opacity: 1; transform: none; }
    .reveal-left { opacity: 0; transform: translateX(-32px); transition: opacity 0.7s ease, transform 0.7s ease; }
    .reveal-left.visible { opacity: 1; transform: none; }
    .reveal-right { opacity: 0; transform: translateX(32px); transition: opacity 0.7s ease, transform 0.7s ease; }
    .reveal-right.visible { opacity: 1; transform: none; }

    /* Marquee */
    .marquee-track { display: flex; width: max-content; animation: marquee 28s linear infinite; }
    @keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

    @keyframes floatIn {
      from { opacity: 0; transform: translateY(28px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes scaleIn {
      from { opacity: 0; transform: scale(0.95); }
      to   { opacity: 1; transform: scale(1); }
    }
    @keyframes bounce {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50% { transform: translateX(-50%) translateY(10px); }
    }
    input::placeholder, textarea::placeholder { color: rgba(255,255,255,0.3); }

    @media (max-width: 768px) {
      .two-col { grid-template-columns: 1fr !important; }
      .hide-mobile { display: none !important; }
    }
@media (max-width: 768px) {
  :root { --two-col: 1fr; }
  .two-col { grid-template-columns: 1fr !important; }
}
/* Menu Hero Mobile */
.menu-hero-img-wrap { display: none; }
.menu-hero-text { display: none; }
.menu-hero-fullbleed { display: block; }
@media (max-width: 768px) {
  .menu-hero-img-wrap { display: block; width: 100%; aspect-ratio: 4/3; overflow: hidden; }
  .menu-hero-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .menu-hero-fullbleed { display: none !important; }
  .menu-hero-text { padding: 1.5rem 1.25rem 2rem; background: #080604; border-top: 3px solid var(--red); }
  .menu-hero-text-abs { display: none !important; }
}

/* Section transitions */
.section-fade-down {
  background: linear-gradient(to bottom, var(--black) 0%, oklch(0.97 0.012 75) 100%);
  height: 80px;
  display: block;
}
.section-fade-up {
  background: linear-gradient(to top, var(--black) 0%, oklch(0.97 0.012 75) 100%);
  height: 80px;
  display: block;
}

/* Mobile About thumbnails */
@media (max-width: 768px) {
  .about-thumbs { top: auto !important; bottom: 16px !important; right: 16px !important; left: 16px !important; justify-content: center !important; }
  .about-thumbs button { width: 72px !important; height: 54px !important; }
}
