html {
    scroll-behavior: smooth;
}

.hero-bg {
    background-image:
        linear-gradient(115deg, rgba(24, 32, 47, 0.92), rgba(15, 118, 110, 0.78)),
        url("https://picsum.photos/seed/polymer-market-hero/1920/1080");
    background-position: center;
    background-size: cover;
}

.surface-card {
    border: 1px solid rgba(148, 163, 184, 0.18);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
    transition:
        transform 220ms ease,
        box-shadow 220ms ease,
        border-color 220ms ease,
        background-color 220ms ease;
}

.surface-card:hover {
    border-color: rgba(15, 118, 110, 0.26);
    box-shadow: 0 22px 52px rgba(15, 23, 42, 0.12);
    transform: translateY(-4px);
}

.trust-card {
    transition:
        transform 220ms ease,
        background-color 220ms ease,
        border-color 220ms ease;
}

.trust-card:hover {
    background-color: rgba(255, 255, 255, 0.14);
    border-color: rgba(194, 147, 63, 0.34);
    transform: translateY(-3px);
}

.image-soft {
    filter: saturate(0.82) contrast(0.96);
    transition: filter 220ms ease, transform 220ms ease;
}

.surface-card:hover .image-soft {
    filter: saturate(0.95) contrast(1);
    transform: scale(1.02);
}

.animate-fade-up {
    animation: fade-up 700ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

.animation-delay-100 {
    animation-delay: 100ms;
}

.animation-delay-200 {
    animation-delay: 200ms;
}

.animation-delay-300 {
    animation-delay: 300ms;
}

.animation-delay-400 {
    animation-delay: 400ms;
}

.animation-delay-500 {
    animation-delay: 500ms;
}

@keyframes fade-up {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

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