/* Public home polish: reliable icon slots and restrained interaction motion. */
.portal-body i[data-lucide],
.portal-body svg.lucide {
    display: block;
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    max-width: none;
}

.portal-body .portal-login svg.lucide,
.portal-body .footer-links svg.lucide {
    width: 13px;
    height: 13px;
}

.portal-trust span,
.auth-home-proof span {
    transition: color .18s ease, transform .18s ease;
}

.portal-trust span:hover,
.auth-home-proof span:hover {
    color: var(--portal-blue, #2f6fed);
    transform: translateY(-2px);
}

.portal-trust svg.lucide,
.auth-home-proof svg.lucide,
.portal-strip svg.lucide,
.auth-home-feature-icon svg.lucide,
.auth-home-product-icon svg.lucide {
    transition: transform .22s ease;
}

.portal-trust span:hover svg.lucide,
.auth-home-proof span:hover svg.lucide,
.portal-strip > div:hover svg.lucide,
.auth-home-feature:hover .auth-home-feature-icon svg.lucide,
.auth-home-product:hover .auth-home-product-icon svg.lucide {
    transform: scale(1.1) rotate(-4deg);
}

.portal-body .portal-reveal svg.lucide,
.auth-home-body .auth-home-reveal.is-visible svg.lucide {
    animation: public-home-icon-enter .5s cubic-bezier(.2, .75, .25, 1) both;
    animation-delay: .14s;
}

.portal-body .portal-button svg.lucide,
.auth-home-body .auth-home-button svg.lucide,
.portal-body .portal-login svg.lucide,
.auth-home-body .auth-home-text-link svg.lucide {
    transition: transform .18s ease;
}

.portal-body .portal-button:hover svg.lucide,
.auth-home-body .auth-home-button:hover svg.lucide,
.portal-body .portal-login:hover svg.lucide,
.auth-home-body .auth-home-text-link:hover svg.lucide {
    transform: translateX(3px);
}

@keyframes public-home-icon-enter {
    from {
        opacity: 0;
        transform: scale(.82) rotate(-8deg);
    }

    to {
        opacity: 1;
        transform: scale(1) rotate(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .portal-trust span,
    .auth-home-proof span,
    .portal-body svg.lucide,
    .auth-home-body svg.lucide {
        transition: none;
        animation: none !important;
    }

    .portal-trust span:hover,
    .auth-home-proof span:hover {
        transform: none;
    }
}
