*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --green:       #1a7a55;
  --green-light: #e6f4ee;
  --green-mid:   #2d9464;
  --green-dark:  #0f4a30;
  --accent:      #e8622a;
  --text-dark:   #1a1a1a;
  --text-mid:    #444;
  --text-muted:  #777;
  --border:      #e2e8e4;
  --bg:          #fafaf8;
  --white:       #ffffff;
  --radius:      10px;
  --serif:       'Playfair Display', Georgia, serif;
  --body-serif:  'Source Serif 4', Georgia, serif;
  --sans:        'DM Sans', sans-serif;
}

html { scroll-behavior: smooth; }
body { font-family: var(--sans); background: var(--bg); color: var(--text-dark); font-size: 16px; line-height: 1.6; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }

/* ════════════════════════════════════
   NEWSLETTER
   ════════════════════════════════════ */
.newsletter-wrap { padding: 50px 24px; }
.newsletter {
  background: linear-gradient(135deg,#f0faf5,#e6f4ee);
  border: 1px solid #b8ddc9;
  border-radius: 16px;
  padding: 44px 50px;
  text-align: center;
  max-width: 660px;
  margin: 0 auto;
}
.newsletter-icon { font-size: 36px; margin-bottom: 12px; }
.newsletter h2 { font-family: var(--serif); font-size: 26px; font-weight: 700; color: var(--green-dark); margin-bottom: 9px; }
.newsletter p { font-size: 14.5px; color: var(--text-mid); margin-bottom: 22px; line-height: 1.6; }
/* WP: Replace form with [mc4wp_form id="X"] or [mailpoet_form id="X"] */
.nform { display: flex; gap: 9px; max-width: 440px; margin: 0 auto; }
.nform input {
  flex: 1; padding: 11px 16px;
  border: 1.5px solid var(--border); border-radius: 30px;
  font-family: var(--sans); font-size: 14px; background: #fff; outline: none;
  transition: border .2s;
}
.nform input:focus { border-color: var(--green); }
.nform button {
  background: var(--green); color: #fff;
  font-family: var(--sans); font-size: 13.5px; font-weight: 700;
  padding: 11px 22px; border-radius: 30px; border: none;
  cursor: pointer; white-space: nowrap; transition: background .2s;
}
.nform button:hover { background: var(--green-dark); }
