*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --red: #E4231C;
  --red-deep: #B8140F;
  --ink: #0E0E0E;
  --white: #FFFFFF;
  --cream: #E4D4BD;
  --cream-lt: #F3EBDC;
  --navy: #375268;
  --crust: #CA7D32;
  --gray: #8A8378;
  --green: #4B7B3F;
  --border: #D8CBB2;
  --nav-height: 5rem;

  --font-display: 'Poppins', sans-serif;
  --font-condensed: 'Barlow Condensed', sans-serif;
  --font-body: 'Inter', sans-serif;

  --space-2: 0.5rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --space-32: 8rem;
  --space-48: 12rem;
  --space-64: 16rem;
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  color: var(--ink);
  background-color: var(--white);
  line-height: 1.6;
}

h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.15;
}

a { color: inherit; text-decoration: none; }

img { max-width: 100%; display: block; }

.tel-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--red);
  color: var(--white);
  font-family: var(--font-condensed);
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.7rem 1.6rem;
  border-radius: 0.5rem;
  transition: background 0.2s ease, transform 0.2s ease;
}

.tel-cta:hover {
  background: var(--red-deep);
  transform: translateY(-1px);
}

.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 1rem;
  border-radius: 10rem;
  font-family: var(--font-condensed);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.badge--vegan { background: var(--green); color: var(--white); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
