/* ============================================================
   CSS Reset — Modern
   ============================================================ */

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

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

body {
  font-family: var(--font-sans);
  background-color: var(--bg-base);
  color: var(--text-primary);
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
  transition: background-color var(--t-slow), color var(--t-slow);
}

img, video, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; background: none; font: inherit; color: inherit; }
ul, ol { list-style: none; }
input, textarea, select { font: inherit; color: inherit; background: none; border: none; outline: none; }
h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.15; }
p { line-height: 1.75; }
pre, code { font-family: var(--font-mono); }

::selection { background: var(--brand-primary); color: #fff; }
:focus-visible { outline: 2px solid var(--brand-secondary); outline-offset: 3px; border-radius: var(--r-sm); }
