*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Figtree', sans-serif;
  background: var(--white);
  color: var(--body);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
/* ===== THEMED SCROLLBAR ===== */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--green-pale); }
::-webkit-scrollbar-thumb { background: var(--green-mid); border-radius: 100px; border: 2px solid var(--green-pale); }
::-webkit-scrollbar-thumb:hover { background: var(--green); }
/* Firefox */
* { scrollbar-width: thin; scrollbar-color: var(--green-mid) var(--green-pale); }


h1,h2,h3,h4,h5 {
  font-family: 'Fraunces', serif;
  font-weight: 700;
  line-height: 1.12;
  color: var(--charcoal);
  letter-spacing: -0.01em;
}
p { line-height: 1.75; }
.wrap { max-width: var(--max); margin: 0 auto; }
.reveal { opacity: 0; transform: translateY(34px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
