.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }

        .hero-gradient {
            background: linear-gradient(135deg, #5f259f 0%, #470085 100%);
        }

        .shadow-phonepe {
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        }

        .hover-lift {
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .hover-lift:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        }

        .logo-container svg {
            height: 32px;
            width: auto;
        }

        input[type="range"]::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 20px;
            height: 20px;
            background: #5f259f;
            cursor: pointer;
            border-radius: 50%;
            border: 2px solid white;
            box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
        }

        .capsule-partner {
            border: 1px solid #e2e2e1;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .capsule-partner:hover {
            border-color: #5f259f;
            background-color: #ffffff;
            box-shadow: 0 10px 25px -5px rgba(95, 37, 159, 0.1);
        }

        .animate-float {
            animation: float 6s ease-in-out infinite;
        }

        #hero-status-icon-wrap.status-out,
        #hero-status-text.status-out {
            opacity: 0;
            transform: translateY(6px);
        }

        #hero-status-chart-line {
            transition: stroke-dashoffset 0.7s ease-in-out;
        }

        #hero-status-chart-dot {
            transition: cx 0.7s ease-in-out, cy 0.7s ease-in-out;
        }

        @media (prefers-reduced-motion: reduce) {

            #hero-status-chart-line,
            #hero-status-chart-dot {
                transition: none;
            }
        }

        @keyframes float {
            0% {
                transform: translateY(0px);
            }

            50% {
                transform: translateY(-20px);
            }

            100% {
                transform: translateY(0px);
            }
        }

        /* WhatsApp Widget */
        #wa-widget .wa-btn {
            position: fixed;
            bottom: 25px;
            right: 25px;
            width: 65px;
            height: 65px;
            background: #25D366;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 34px;
            cursor: pointer;
            box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
            z-index: 1000;
            transition: .3s;
        }

        #wa-widget .wa-btn:hover {
            transform: scale(1.08);
        }

        #wa-widget .wa-card {
            position: fixed;
            right: 25px;
            bottom: 105px;
            width: 340px;
            background: #fff;
            border-radius: 18px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
            display: none;
            animation: wa-popup .25s ease;
            z-index: 999;
        }

        @keyframes wa-popup {
            from {
                opacity: 0;
                transform: translateY(20px);
            }

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

        #wa-widget .wa-header {
            background: #25D366;
            padding: 18px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            color: #fff;
        }

        #wa-widget .wa-company {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        #wa-widget .wa-company img {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            border: 2px solid #fff;
        }

        #wa-widget .wa-company h3 {
            font-size: 18px;
        }

        #wa-widget .wa-company p {
            font-size: 13px;
            opacity: .9;
        }

        #wa-widget .wa-close {
            cursor: pointer;
            font-size: 20px;
        }

        #wa-widget .wa-content {
            padding: 20px;
            background: #ece5dd;
        }

        #wa-widget .wa-message {
            background: #fff;
            padding: 14px;
            border-radius: 12px;
            line-height: 1.6;
            font-size: 14px;
            color: #444;
            box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
        }

        #wa-widget .wa-footer {
            padding: 16px;
            background: #fff;
        }

        #wa-widget .wa-start-chat {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 10px;
            background: #25D366;
            color: #fff;
            text-decoration: none;
            padding: 14px;
            border-radius: 12px;
            font-weight: 600;
            transition: .3s;
        }

        #wa-widget .wa-start-chat:hover {
            background: #1da851;
        }

        @media (max-width: 480px) {
            #wa-widget .wa-card {
                width: calc(100% - 20px);
                right: 10px;
                left: 10px;
                bottom: 90px;
            }

            #wa-widget .wa-btn {
                right: 15px;
                bottom: 15px;
            }
        }

        /* Partner Logo Marquee */
        .partner-marquee {
            overflow: hidden;
            width: 100vw;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
            mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
        }


        .partner-track {
            display: flex;
            width: max-content;
            gap: 1rem;
        }

        .partner-track>* {
            flex-shrink: 0;
        }

        .partner-track-left {
            animation: partner-scroll-left 42s linear infinite;
        }

        .partner-track-right {
            animation: partner-scroll-right 42s linear infinite;
        }

        .partner-marquee:hover .partner-track {
            animation-play-state: paused;
        }

        .flow-dot {
            width: 40px;
            height: 40px;
            border-radius: 9999px;
            flex-shrink: 0;
        }

        .flow-shape {
            width: 20px;
            height: 40px;
            background-color: #ff8fa3;
            /* border-radius: 0 9999px 9999px 0; */
            border-radius: 0 9999px 0 9999px;
            flex-shrink: 0;
        }

        .flow-shape-left {
            width: 20px;
            height: 40px;
            background-color: #ff8fa3;
            border-radius: 9999px 0 0 9999px;
            flex-shrink: 0;
        }

        @keyframes partner-scroll-left {
            0% {
                transform: translateX(0);
            }

            100% {
                transform: translateX(-50%);
            }
        }

        @keyframes partner-scroll-right {
            0% {
                transform: translateX(-50%);
            }

            100% {
                transform: translateX(0);
            }
        }

        /* Apply Now Modals */
        .apply-step-transition {
            transition: all 0.3s ease-in-out;
        }

        .apply-modal-blur {
            backdrop-filter: blur(8px);
        }

        .apply-backdrop-blur-custom {
            backdrop-filter: blur(8px);
            background-color: rgba(0, 0, 0, 0.4);
        }

        .apply-form-input-focus:focus {
            border-color: #5F259F;
            box-shadow: 0 0 0 2px rgba(95, 37, 159, 0.1);
            outline: none;
        }

        .apply-field-invalid {
            border: 1px solid #ba1a1a !important;
            box-shadow: 0 0 0 2px rgba(186, 26, 26, 0.1);
        }

        #apply-modal-desktop input[type="range"]::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 24px;
            height: 24px;
            background: #5F259F;
            cursor: pointer;
            border-radius: 50%;
            border: 4px solid #FFFFFF;
            box-shadow: 0 4px 10px rgba(95, 37, 159, 0.3);
        }

        #apply-modal-desktop,
        #apply-modal-mobile-backdrop {
            display: flex;
            visibility: hidden;
            opacity: 0;
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        #apply-modal-mobile-backdrop.apply-open {
            visibility: visible;
            opacity: 1;
        }

        @media (min-width: 768px) {
            #apply-modal-desktop.apply-open {
                visibility: visible;
                opacity: 1;
            }

            #apply-modal-mobile-backdrop.apply-open {
                visibility: hidden;
                opacity: 0;
            }
        }

        #apply-modal-desktop .apply-card-desktop {
            transform: scale(0.94) translateY(16px);
            opacity: 0;
            transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
        }

        #apply-modal-desktop.apply-open .apply-card-desktop {
            transform: scale(1) translateY(0);
            opacity: 1;
        }

        /* Talk to an Advisor / Schedule a Callback / Join Us Modals */
        #advisor-modal,
        #callback-modal,
        #joinus-modal {
            display: flex;
            visibility: hidden;
            opacity: 0;
            transition: opacity 0.3s ease, visibility 0.3s ease;
        }

        #advisor-modal.apply-open,
        #callback-modal.apply-open,
        #joinus-modal.apply-open {
            visibility: visible;
            opacity: 1;
        }

        #advisor-modal .advisor-card,
        #callback-modal .advisor-card,
        #joinus-modal .advisor-card {
            transform: scale(0.94) translateY(16px);
            opacity: 0;
            transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
        }

        #advisor-modal.apply-open .advisor-card,
        #callback-modal.apply-open .advisor-card,
        #joinus-modal.apply-open .advisor-card {
            transform: scale(1) translateY(0);
            opacity: 1;
        }

        /* Mobile Menu */
        #mobile-menu-panel details>summary {
            list-style: none;
        }

        #mobile-menu-panel details>summary::-webkit-details-marker {
            display: none;
        }

        #mobile-menu-panel details[open] summary .mobile-menu-caret {
            transform: rotate(180deg);
        }

        #mobile-menu-panel {
            transform: translateY(-16px);
            transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
        }

        .mobile-menu-item {
            opacity: 0;
            transform: translateY(10px);
            transition: opacity 0.3s ease, transform 0.3s ease;
        }

        #mobile-menu-panel.mobile-menu-open .mobile-menu-item {
            opacity: 1;
            transform: translateY(0);
        }

        #mobile-menu-panel.mobile-menu-open .mobile-menu-item:nth-child(1) {
            transition-delay: 0.08s;
        }

        #mobile-menu-panel.mobile-menu-open .mobile-menu-item:nth-child(2) {
            transition-delay: 0.14s;
        }

        #mobile-menu-panel.mobile-menu-open .mobile-menu-item:nth-child(3) {
            transition-delay: 0.2s;
        }

        #mobile-menu-panel.mobile-menu-open .mobile-menu-item:nth-child(4) {
            transition-delay: 0.26s;
        }

        #mobile-menu-panel.mobile-menu-open .mobile-menu-item:nth-child(5) {
            transition-delay: 0.32s;
        }

        #mobile-menu-panel.mobile-menu-open {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

.solutions-cards-section {
    display: grid;
    gap: 20px;
    padding-block: 60px;
}

/*
 * Stacking cards, CSS only.
 * position: sticky pins each card at the same spot as you scroll; because
 * later cards come later in the DOM they paint over earlier ones, so each
 * new card slides up and covers the last, building a deck automatically.
 * The --index custom property below is the "dynamic CSS math" input --
 * sibling-index() would supply it natively, but that function isn't
 * implemented in any shipping browser yet, so nth-child assigns it instead.
 */
.solutions-card {
    --index: 0;
    position: sticky;
    top: 112px;
    z-index: calc(var(--index) + 1);
    min-height: 480px;
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(27, 27, 27, 0.1);
    transform-origin: top center;
}

.solutions-card:nth-child(1) {
    --index: 0;
}

.solutions-card:nth-child(2) {
    --index: 1;
}

.solutions-card:nth-child(3) {
    --index: 2;
}

.solutions-card:nth-child(4) {
    --index: 3;
}

.solutions-card:nth-child(5) {
    --index: 4;
}

.solutions-card:nth-child(6) {
    --index: 5;
}
.solutions-card:nth-child(7) {
    --index: 6;
}



/* Progressive enhancement: recede each card slightly as the next one
   scrolls over it, using the browser's native scroll-position tracking
   instead of a scroll event listener. */
@supports (animation-timeline: view()) {
    .solutions-card {
        animation: solutions-card-recede linear forwards;
        animation-timeline: view();
        animation-range: cover 0% cover 60%;
    }
}

@keyframes solutions-card-recede {
    to {
        transform: scale(calc(1 - (0.04 * var(--index))));
        filter: brightness(calc(1 - (0.0 * var(--index))));
    }
}

/* Shared success popup, injected at runtime by credinova-scripts.js (showSuccessPopup). */
#success-popup-overlay {
    opacity: 0;
    transition: opacity 0.25s ease;
}

#success-popup-overlay.success-popup-visible {
    opacity: 1;
}

#success-popup-card {
    transform: scale(0.85) translateY(10px);
    opacity: 0;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.25s ease;
}

#success-popup-overlay.success-popup-visible #success-popup-card {
    transform: scale(1) translateY(0);
    opacity: 1;
}

#success-popup-icon {
    animation: success-popup-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s both;
}

@keyframes success-popup-pop {
    0% {
        transform: scale(0.3);
    }
    60% {
        transform: scale(1.15);
    }
    100% {
        transform: scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    #success-popup-overlay, #success-popup-card, #success-popup-icon {
        transition: none;
        animation: none;
    }
}