/* ═══════════════════════════════════════════════════════════════════════
   Reset · sensible defaults
   Depends on tokens.css for body color/font/background.
   ═══════════════════════════════════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{
  /* Native smooth scroll · for in-page anchor links (#purpose etc) */
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  transition:background-color .4s ease, color .4s ease;
}
::selection{background:var(--accent);color:var(--bg)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{
  background:none;border:0;padding:0;
  font:inherit;color:inherit;
  cursor:pointer;
}
ul,ol{list-style:none}
