/* Base · global element resets and defaults */

html {
  scroll-behavior: smooth;
}

html, body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 24px;
  color: var(--fg-primary);
  background: var(--bg-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: var(--tracking-normal);
  margin: 0;
}
/* Prevent horizontal scrolling on every page (hero shapes, marquees, parallax
 * transforms can exceed viewport on some breakpoints). `clip` instead of
 * `hidden` keeps sticky/fixed positioning working and avoids creating a new
 * scroll container — vertical scroll on html is unaffected. */
body {
  overflow-x: clip;
}

* { box-sizing: border-box; }

a {
  color: var(--fg-brand);
  text-decoration: none;
  transition: opacity var(--duration-fast) var(--ease-out);
}
a:hover { opacity: 0.7; }

::selection {
  background: var(--blue-100);
  color: var(--gray-900);
}

/* Scrollbar · quiet */
*::-webkit-scrollbar       { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: var(--gray-200); border-radius: var(--radius-full); }
*::-webkit-scrollbar-thumb:hover { background: var(--gray-300); }
