/* ============================================================ BASE */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--f-body);font-size:var(--step-0);line-height:1.65;
  color:var(--fog);background:var(--obsidian);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;min-height:100vh;
}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--mist);line-height:1.05;font-weight:600;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
img{display:block;max-width:100%;height:auto}
ul{list-style:none}
strong{color:var(--mist);font-weight:600}
em{font-style:italic;color:var(--mist)}
.mono{font-family:var(--f-mono);font-size:var(--step--1);letter-spacing:.02em}
::selection{background:var(--gold);color:var(--obsidian)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--obsidian)}
::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:20px}
::-webkit-scrollbar-thumb:hover{background:var(--gold-deep)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
