/* =========================================================
   BASE — reset + typography defaults
   ========================================================= */

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

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

body {
  font-family: var(--font-sans);
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a { color: inherit; }

/* Section base */
section { padding: var(--section-padding-y) var(--section-padding-x); }
.section-inner { max-width: var(--container-max); margin: 0 auto; }

/* Type primitives */
h2.sec-title {
  font-size: var(--fs-h2);
  font-weight: var(--fw-heavy);
  color: var(--text);
  line-height: 1.15;
  margin-bottom: 1rem;
}
h2.sec-title span { color: var(--green); }
h2.sec-title.sec-title-center { text-align: center; }

.sec-lead {
  color: var(--muted);
  font-size: var(--fs-base);
  line-height: 1.8;
  max-width: 560px;
  font-weight: var(--fw-light);
  margin-bottom: 2.5rem;
}
.sec-lead.sec-lead-center { text-align: center; margin-left: auto; margin-right: auto; }

.sec-body {
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.8;
  margin-bottom: 1rem;
  font-weight: var(--fw-light);
}
