/* ============================================================
   VARIABLES & BASE — Isabelle Caël Diététicienne
   ============================================================ */

:root {
  /* Palette */
  --sage:         #7a9e7e;
  --sage-light:   #a8c5a0;
  --sage-dark:    #4a7a52;
  --cream:        #faf7f2;
  --warm-white:   #fff9f3;
  --earth:        #c4956a;
  --earth-light:  #e8c9a8;

  /* Text */
  --text-dark:    #2c3e2d;
  --text-mid:     #5a6b5a;
  --text-light:   #8a9e8a;

  /* Pastels */
  --pastel-green: #e8f2e8;
  --pastel-mint:  #d4ede4;
  --pastel-peach: #fde8d8;

  /* Shadows */
  --shadow:       0 8px 40px rgba(74,122,82,0.12);
  --shadow-hover: 0 16px 60px rgba(74,122,82,0.2);

  /* Radius */
  --radius:       20px;
  --radius-sm:    12px;

  /* Typography */
  --font-serif:   'Cormorant Garamond', Georgia, serif;
  --font-sans:    'DM Sans', system-ui, sans-serif;

  /* Layout */
  --container:    90%;
  --max-width:    1280px;
}

/* ===== RESET ===== */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-sans);
  background: var(--cream);
  color: var(--text-dark);
  overflow-x: hidden;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
}

h1, h2, h3, h4 {
  font-family: var(--font-serif);
  line-height: 1.1;
}

/* ===== UTILITIES ===== */
.container {
  width: var(--container);
  max-width: var(--max-width);
  margin: 0 auto;
}

.section-eyebrow {
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.section-eyebrow::before {
  content: '';
  width: 30px;
  height: 2px;
  background: var(--sage);
  border-radius: 2px;
  flex-shrink: 0;
}
.section-eyebrow.centered {
  justify-content: center;
}
.section-eyebrow.centered::before {
  display: none;
}

.section-title {
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  color: var(--text-dark);
  margin-bottom: 20px;
}
.section-title em {
  color: var(--sage-dark);
  font-style: italic;
  font-weight: 300;
}

.section-desc {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--text-mid);
  max-width: 560px;
}

/* ===== SCROLL REVEAL ===== */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: none;
}

/* ===== COLOR ICON BACKGROUNDS ===== */
.ic-green { background: var(--pastel-green); }
.ic-mint  { background: var(--pastel-mint); }
.ic-peach { background: var(--pastel-peach); }
