
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: clip; }
body {
  margin: 0; background: var(--fondo); color: var(--texto);
  font-family: var(--fuente-texto); font-size: 1rem; line-height: 1.5;
  -webkit-font-smoothing: antialiased; overflow-x: clip;
}
h1, h2, h3, h4, p, figure { margin: 0; }
h1, h2, h3, h4 { font-weight: inherit; line-height: 1; }
a { color: inherit; }
img, video, svg { display: block; max-width: 100%; }
button { font: inherit; cursor: pointer; color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 2px solid var(--acento); outline-offset: 3px; }
.m-seccion { position: relative; width: 100%; }
.m-vis { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .m-anim, .m-anim * { animation: none !important; transition: none !important; }
}
