/* ==========================================================================
   RESET — normalização de elementos e estilos globais do documento
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--bg);color:var(--text-1);
  font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  font-size:var(--f-16);line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--interactive);color:#fff}
p{margin:0}a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:2px solid var(--interactive);outline-offset:3px;border-radius:3px}
.dark :focus-visible{outline-color:var(--accent)}

/* texto apenas para leitores de tela */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* sprite de ícones SVG (ver topo do <body>) — invisível, só fornece <symbol> */
.sprite{position:absolute;width:0;height:0;overflow:hidden}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
