/* ═══ Atlas Studio site kit · base ═══════════════════════════════════════════════════════════
   Fonts (self-hosted, SIL OFL 1.1: Archivo variable, IBM Plex Mono, Newsreader italic; the same
   latin files and ranges Google Fonts serves, so nothing is fetched from anyone else), the reset,
   type, the scrollbar, the skip link, focus rings and reduced motion. Needs tokens.css first.
   ══════════════════════════════════════════════════════════════════════════════════════════ */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  src:url(../fonts/archivo-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url(../fonts/ibm-plex-mono-400-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url(../fonts/ibm-plex-mono-500-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:400 500;font-display:swap;
  src:url(../fonts/newsreader-italic-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── reset and type ── */
*,*::before,*::after{box-sizing:border-box}
html{background:var(--ground);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font:400 16px/1.5 var(--f-sans);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block}
a{color:inherit}
button{font:inherit;color:inherit}
.mono{font-family:var(--f-mono)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
[hidden]{display:none!important}
::selection{background:rgb(var(--fire-rgb) / .34);color:var(--ink)}

/* ── the skip link: the first stop for Tab on every page ── */
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;border-radius:8px;background:var(--cream);color:var(--ground);text-decoration:none}
.skip:focus{top:12px}

/* ── focus: a fire ring, keyboard only ── */
:focus-visible{outline:2px solid var(--fire);outline-offset:3px;border-radius:6px}
:focus:not(:focus-visible){outline:none}

/* ── the scrollbar: a slim warm pill on the ground ── */
::-webkit-scrollbar{width:12px;height:12px;background:var(--ground)}
::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:var(--ground)}
::-webkit-scrollbar-button{display:none;width:0;height:0}
::-webkit-scrollbar-thumb{min-height:56px;border-radius:999px;border:3.5px solid transparent;background-clip:padding-box;background-color:rgb(var(--ink-rgb) / .22)}
::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--ink-rgb) / .38)}
::-webkit-scrollbar-thumb:active{background-color:var(--fire)}
@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:rgb(var(--ink-rgb) / .3) var(--ground)}}

/* ── reduced motion: no smooth scroll; every kit transition is switched off in kit.css ── */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
