/* ——— RESET & BASE ——— */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--font-family);
  color: var(--charcoal);
  background: var(--white);
  line-height: 1.6;
  overflow-x: hidden;
}

/* ——— SECTIONS ——— */
section { padding: 6rem 2rem; }
.section-inner { max-width: var(--max-width); margin: 0 auto; }
.section-tag {
  display: inline-block;
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.15em;
  text-transform: uppercase; color: var(--gold);
  margin-bottom: 0.75rem;
}
.section-title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700; color: var(--navy);
  margin-bottom: 1rem; line-height: 1.25;
}
.section-subtitle {
  font-size: 1.05rem; color: #6b7280;
  max-width: 640px; margin-bottom: 3rem; line-height: 1.7;
}

/* ——— ANIMATIONS ——— */
.fade-in {
  opacity: 0; transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.fade-in.visible { opacity: 1; transform: translateY(0); }
.fade-in-delay-1 { transition-delay: 0.15s; }
.fade-in-delay-2 { transition-delay: 0.3s; }
.fade-in-delay-3 { transition-delay: 0.45s; }
.fade-in-delay-4 { transition-delay: 0.6s; }

/* ——— RESPONSIVE ——— */
@media (max-width: 600px) {
  section { padding: 4rem 1.25rem; }
}
