@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

        .hero-section {
            background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('https://images.unsplash.com/photo-1745495707630-acb721c28061?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
        }

        .gradient-text {
            background: linear-gradient(135deg, #2a7d7b 0%, #d97706 50%, #f59e0b 100%); /* mh-teal, mh-amber, mh-gold */
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .service-card {
            background: white;
            border-radius: 16px;
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
            transition: all 0.4s ease;
            overflow: hidden;
            border: 1px solid #e5e7eb; /* Neutral light gray */
        }

        .service-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 25px -5px rgba(26, 75, 95, 0.15); /* mh-deep-teal with opacity */
        }

        .process-step {
            position: relative;
            padding: 2rem;
            text-align: center;
            transition: all 0.4s ease;
        }

        .process-step:hover {
            transform: translateY(-5px);
        }

        .step-number {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: linear-gradient(135deg, #2a7d7b 0%, #1a4b5f 100%); /* mh-teal to mh-deep-teal */
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            font-weight: bold;
            margin: 0 auto 1.5rem;
            transition: all 0.4s ease;
        }

        .process-step:hover .step-number {
            transform: scale(1.1);
        }

        .bank-logo {
            height: 60px;
            filter: grayscale(100%);
            opacity: 0.7;
            transition: all 0.4s ease;
        }

        .bank-logo:hover {
            filter: grayscale(0%);
            opacity: 1;
            transform: scale(1.05);
        }

        .faq-item {
            background: white;
            border-radius: 12px;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
            margin-bottom: 1rem;
            overflow: hidden;
            transition: all 0.3s ease;
            border: 1px solid #e5e7eb; /* Neutral light gray */
        }

        .faq-item:hover {
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        }

        .faq-toggle {
            padding: 1.5rem;
            width: 100%;
            text-align: left;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .faq-toggle:hover {
            background-color: #f5f7fa; /* Light neutral gray */
        }

        .faq-icon {
            transition: all 0.3s ease;
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s ease;
        }

        .faq-item.active .faq-answer {
            max-height: 500px;
        }

        .faq-item.active .faq-icon {
            transform: rotate(180deg);
        }

        .pulse-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: #d97706; /* mh-amber */
            animation: pulse-slow 2s infinite;
        }

        .floating {
            animation: float 6s ease-in-out infinite;
        }

        .calculator-card {
            background: linear-gradient(135deg, #2a7d7b 0%, #1a4b5f 100%); /* mh-teal to mh-deep-teal */
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
            border: 2px solid transparent;
            background-clip: padding-box;
            position: relative;
        }

        .calculator-card::before {
            content: '';
            position: absolute;
            top: -2px;
            left: -2px;
            right: -2px;
            bottom: -2px;
            background: linear-gradient(135deg, #87a96b, #1a4b5f); /* mh-sage to mh-deep-teal */
            z-index: -1;
            border-radius: 18px;
        }

        .calculator-slider {
            transition: all 0.3s ease;
        }

        .calculator-slider::-webkit-slider-thumb {
            -webkit-appearance: none;
            width: 20px;
            height: 20px;
            background: #ffffff;
            border-radius: 50%;
            border: 2px solid #2a7d7b; /* mh-teal */
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .calculator-slider::-webkit-slider-thumb:hover {
            transform: scale(1.2);
            background: #87a96b; /* mh-sage */
        }

        .calculator-slider::-moz-range-thumb {
            width: 20px;
            height: 20px;
            background: #ffffff;
            border-radius: 50%;
            border: 2px solid #2a7d7b; /* mh-teal */
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .calculator-slider::-moz-range-thumb:hover {
            transform: scale(1.2);
            background: #87a96b; /* mh-sage */
        }

        #reset-calculator {
            transition: all 0.3s ease;
        }

        #reset-calculator:hover {
            transform: scale(1.05);
        }

        @keyframes pulse-slow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.5); opacity: 0.7; }
            100% { transform: scale(1); opacity: 1; }
        }

        @keyframes float {
            0% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
            100% { transform: translateY(0); }
        }

        @media (max-width: 768px) {
            .process-step {
                padding: 1.5rem;
            }

            .step-number {
                width: 50px;
                height: 50px;
                font-size: 1.2rem;
            }

            .bank-logo {
                height: 40px;
            }

            .calculator-card {
                padding: 1.5rem;
            }
        }