/* ── Design tokens ──────────────────────────────────────────────────────────
   Warm charcoal + paper cream + tomato. The palette is deliberately narrow:
   two neutrals carry the layout, one red carries every call to action, and the
   food photography supplies the rest of the colour.

   The palette is unchanged from the React build. The TYPE and SPACE scales have
   deliberately diverged: the originals topped out at a 76px h1 and 128px of
   padding on every section, which on a content-heavy restaurant site pushed
   every page long and left headings wrapping four lines deep. Both scales are
   now tighter at the top and untouched at the body end, so text sizes step more
   evenly and sections breathe without shouting.

   Colours are also registered as Elementor globals, so they can be changed in
   Site Settings → Global Colors without touching this file.
   ------------------------------------------------------------------------- */

:root {
  /* Neutrals */
  --ink: #17110d;
  --ink-soft: #2a201a;
  --ink-muted: #6b5c51;
  --line: #e4d9c9;
  --line-strong: #cbbba5;
  --paper: #faf5ed;
  --paper-warm: #f3ebdd;
  --white: #ffffff;

  /* Brand */
  --tomato: #bf3a24;
  --tomato-dark: #9c2d1a;
  --tomato-tint: #fbeae6;
  --basil: #2f4235;
  --gold: #cf9b3c;

  /* Semantic */
  --bg: var(--paper);
  --fg: var(--ink);
  --accent: var(--tomato);

  /* Type */
  --font-display: 'Fraunces', 'Iowan Old Style', Georgia, serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;

  --step--1: clamp(0.82rem, 0.79rem + 0.13vw, 0.88rem);
  --step-0: clamp(1rem, 0.97rem + 0.16vw, 1.06rem);
  --step-1: clamp(1.12rem, 1.06rem + 0.3vw, 1.3rem);
  --step-2: clamp(1.3rem, 1.18rem + 0.55vw, 1.6rem);
  --step-3: clamp(1.5rem, 1.3rem + 0.9vw, 2.05rem);
  --step-4: clamp(1.85rem, 1.5rem + 1.55vw, 2.75rem);
  --step-5: clamp(2.3rem, 1.8rem + 2.4vw, 3.6rem);

  /* Space */
  --space-xs: 0.5rem;
  --space-sm: 0.875rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: clamp(2.75rem, 4.5vw, 4.25rem);
  --space-2xl: clamp(3.5rem, 6vw, 5.75rem);

  /* Shape */
  --radius-sm: 6px;
  --radius: 12px;
  --radius-lg: 22px;
  --shadow-sm: 0 1px 2px rgb(23 17 13 / 0.06), 0 4px 12px -6px rgb(23 17 13 / 0.12);
  --shadow: 0 2px 4px rgb(23 17 13 / 0.05), 0 18px 40px -22px rgb(23 17 13 / 0.35);
  --shadow-lg: 0 30px 70px -35px rgb(23 17 13 / 0.5);

  --container: 1180px;
  --container-narrow: 760px;
  --header-h: 74px;

  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
