/* ============================================================
   BASE / RESET
   ============================================================ */

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

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  scroll-padding-top: calc(var(--nav-height) + 16px);
}

body {
  font-family: var(--font-body);
  background-color: var(--color-surface-primary);
  color: var(--color-text-primary);
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0;
  line-height: 1.8;
  overflow-x: hidden;
}

@media (max-width: 768px) {
  body { overflow-x: clip; }
}

/* ─── Site-wide text defaults (tracking 0, line-height 1.8) ─── */
*,
*::before,
*::after {
  letter-spacing: 0 !important;
  line-height: 1.8 !important;
}
h1, h2, h3, h4, h5, h6,
h1 *, h2 *, h3 *, h4 *, h5 *, h6 * {
  line-height: 1.3 !important;
}

img { display: block; max-width: 100%; }
ul  { list-style: none; }
a   { color: inherit; text-decoration: none; }
button { font: inherit; }

#cursor-dot { display: none; }
