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

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

body {
  font-family: 'DM Sans', sans-serif;
  background-color: var(--deep-dark);
  color: var(--text-light);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ─── Typography ─── */
h1, h2, h3 {
  font-family: 'Cormorant Garamond', serif;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

/* ─── Scrollbar ─── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--deep-dark); }
::-webkit-scrollbar-thumb { background: var(--dusty-grape); border-radius: 3px; }

/* ─── Reveal animation (scroll) ─── */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.75s ease, transform 0.75s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.35s; }
.reveal-delay-4 { transition-delay: 0.5s; }
