/* Defaults de elemento. Só o mínimo: o resto vem dos componentes. */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--color-bg);color:var(--color-text);font:var(--weight-regular) var(--text-body)/var(--leading-body) var(--font-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:var(--tracking-title);margin:0}
h1{font-size:var(--text-h1);font-weight:var(--weight-bold);line-height:var(--leading-tight);text-transform:uppercase}
h2{font-size:var(--text-h2);font-weight:var(--weight-bold);line-height:var(--leading-title)}
h3{font-size:var(--text-h3);font-weight:var(--weight-bold);line-height:var(--leading-title)}
h4{font-size:var(--text-h4);font-weight:var(--weight-semibold);line-height:1.2}
a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--color-primary-hover);text-decoration-color:var(--color-accent)}
[data-theme="azul"] a,[data-theme="grafite"] a{color:var(--ac-gold)}
[data-theme="azul"] a:hover,[data-theme="grafite"] a:hover{color:var(--ac-gold-hover)}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
