/* Infinity — variables e reset compartido entre las dos propuestas */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

:root{
  --azul-claro:#008FD0;
  --verde:#95C11F;
  --azul-profundo:#0052A1;
  --negro:#000000;
  --gris:#575756;
  --blanco:#ffffff;
  --degradado: linear-gradient(120deg, var(--verde), var(--azul-claro));
  --radio: 14px;
  --sombra: 0 12px 32px rgba(0,0,0,.10);
  --max: 1180px;
  font-family:'Poppins', system-ui, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

html, body{ max-width:100%; overflow-x:hidden; }
body{
  margin:0;
  font-family:'Poppins', system-ui, sans-serif;
  color:var(--negro);
  background:var(--blanco);
  -webkit-font-smoothing:antialiased;
}

/* color de selección y caret de marca (en vez del azul por defecto del navegador) */
::selection{ background:var(--azul-claro); color:#fff; }
html{ caret-color:var(--azul-profundo); }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; }

.wrap{ max-width:var(--max); margin:0 auto; padding:0 24px; }

.visually-hidden{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap;
}

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--azul-profundo); color:#fff;
  padding:12px 18px; z-index:1000; border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; }

/* foco visible consistente para navegación por teclado */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible{
  outline:3px solid var(--azul-claro);
  outline-offset:3px;
}

.no-js-note{ display:none; }
html.no-js .no-js-note{ display:block; }
