@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500&display=swap');

/* Flyer-inspired palette with stronger aloe / leaf greens */
:root {
  --cream: #E4F0E6;
  --warm-white: #F3FAF5;
  --periwinkle: #C5E5D8;
  --sage: #5F9A65;
  --sage-light: #A8D4A3;
  --sage-dark: #2D6B3F;
  --warm-tan: #76B87E;
  --warm-tan-light: #D4EBD9;
  --deep-brown: #1A2E22;
  --mid-brown: #395542;
  --text-dark: #121212;
  --text-mid: #2A342C;
  --text-light: #4D5C50;
  --border: #A8CFB2;
  --gold: #2E8F4A;
  --gold-light: #4AAF6A;
  /* Matches fixed nav row height (logo + text) — keep Layout mobile menu top in sync */
  --header-offset: 94px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background-color: var(--warm-white);
  color: var(--text-dark);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: 'Cormorant Garamond', serif; font-weight: 400; line-height: 1.2; color: var(--deep-brown); }
h1 { font-size: clamp(2.6rem, 6vw, 5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
h3 { font-size: clamp(1.4rem, 2.5vw, 2rem); }
h4 { font-size: 1.3rem; }
p { color: var(--text-mid); font-size: 1rem; line-height: 1.8; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
section { padding: 6rem 0; }
.section-label { font-family: 'Jost', sans-serif; font-size: 0.75rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--sage-dark); display: block; margin-bottom: 1rem; }
.divider { width: 60px; height: 1px; background: var(--warm-tan); margin: 1.5rem 0; }
.divider.centered { margin: 1.5rem auto; }
.btn-primary { display: inline-block; background: var(--sage-dark); color: var(--warm-white); padding: 0.9rem 2.4rem; font-family: 'Jost', sans-serif; font-weight: 400; font-size: 0.85rem; letter-spacing: 0.15em; text-transform: uppercase; border: none; cursor: pointer; transition: all 0.35s ease; }
.btn-primary:hover { background: var(--gold); }
.btn-outline { display: inline-block; border: 1px solid var(--sage-dark); color: var(--sage-dark); padding: 0.85rem 2.2rem; font-family: 'Jost', sans-serif; font-weight: 400; font-size: 0.85rem; letter-spacing: 0.15em; text-transform: uppercase; transition: all 0.3s ease; }
.btn-outline:hover { background: var(--sage-dark); color: var(--warm-white); }
@keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 768px) { section { padding: 4rem 0; } .container { padding: 0 1.25rem; } }
