*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body { background: var(--bg) var(--grad-pagina) fixed; color: var(--tx); font: 400 16px/1.55 var(--body); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
ul { list-style: none; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--acc); outline-offset: 3px; border-radius: 8px; }

.skip { position: absolute; left: 16px; top: -4rem; z-index: 30; background: var(--acc); color: var(--on-acc); padding: 8px 16px; border-radius: 10px; font-weight: 600; }
.skip:focus { top: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ícones Phosphor Light (sprite em img/icons.svg) */
.icon { width: 1.15em; height: 1.15em; flex: none; fill: currentColor; }

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

/* foto de perfil (enviada na v1 ou no Perfil) no lugar das iniciais */
.side__av:has(.av-foto), .nav__av:has(.av-foto), .perfil__av:has(.av-foto) { overflow: hidden; padding: 0; }
.av-foto { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; display: block; }
