/* ============ BASE — reset, tipografia, grão ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--chao);color:var(--voz);
  font:400 var(--t-corpo)/1.72 var(--texto-fonte);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* grão de filme: tira o "digital chapado" de toda superfície */
body::after{
  content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='170' height='170'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/></filter><rect width='170' height='170' filter='url(%23g)'/></svg>");
}
img{display:block;max-width:100%;height:auto}
a{color:var(--brasa);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:.22em}
:focus-visible{outline:2px solid var(--brasa);outline-offset:3px;border-radius:2px}

h1,h2,h3{
  font-family:var(--voz-fonte);font-weight:400;
  font-variation-settings:"SOFT" 100,"WONK" 0,"opsz" 144;
  line-height:1.07;letter-spacing:-.021em;color:var(--luz);text-wrap:balance;
}
h1{font-size:var(--t-h1)}
h2{font-size:var(--t-h2)}
h3{font-size:clamp(1.25rem,1.2vw + 1rem,1.6rem);line-height:1.2;letter-spacing:-.012em}
p{text-wrap:pretty}

::selection{background:var(--brasa);color:var(--luz)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto}
}
