/* ===== APARICIÓN SUAVE ===== */

/*
 * El desvanecido solo se aplica cuando hay JavaScript.
 *
 * Antes la regla era `.fade-in { opacity: 0 }` a secas y era JavaScript quien
 * añadía la clase `.visible`. Si el script no llegaba a ejecutarse —JS
 * desactivado, un error anterior en la página, un rastreador que no ejecuta
 * scripts— el logotipo de la portada y los botones se quedaban invisibles para
 * siempre. Kadence marca <html class="no-js"> y quita esa clase en cuanto
 * arranca JavaScript, así que colgamos de ahí el estado inicial: sin JS el
 * contenido se ve, sin animación.
 */
html:not(.no-js) .fade-in {
  opacity: 0;
  transition: opacity 1.7s ease;
}

html:not(.no-js) .fade-in.visible {
  opacity: 1;
}

/* Quien pide menos movimiento ve el contenido directamente. */
@media (prefers-reduced-motion: reduce) {
  html:not(.no-js) .fade-in {
    opacity: 1;
    transition: none;
  }
}
