/* Correcciones derivadas de la auditoría técnica de la landing. */

:root {
    /* Debe coincidir con la altura real de .header. */
    --header-h: 72px;
}

/* Contraste AA para texto pequeño sobre el footer oscuro. */
.footer__bottom p {
    color: #80838b;
}

/* Indicador de foco consistente para navegación por teclado. */
:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

/* Mostrar contenido esencial incluso si JavaScript no se ejecuta. */
@media (scripting: none) {
    .hero__brand,
    .hero__actions,
    .problem__title,
    .problem__subtitle,
    .problem__step,
    .problem__step-connector,
    .integrations__card,
    .fade-up {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Respetar la preferencia del sistema de reducir movimiento. */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .hero__brand,
    .hero__actions,
    .problem__title,
    .problem__subtitle,
    .problem__step,
    .problem__step-connector,
    .integrations__card,
    .fade-up {
        opacity: 1 !important;
        transform: none !important;
    }

    .hero__canvas,
    .demo__canvas,
    .cursor {
        display: none !important;
    }
}
