@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

        .gradient-bg {
            background: linear-gradient(135deg, #2a7d7b 0%, #1a4b5f 100%);
            /* mh-teal to mh-deep-teal */
        }

        .gradient-text {
            background: linear-gradient(135deg, #1a4b5f 0%, #d97706 50%, #2a7d7b 100%);
            /* mh-deep-teal, mh-amber, mh-teal */
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .faq-card {
            background: white;
            border-radius: 16px;
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
            transition: all 0.3s ease;
            overflow: hidden;
            border: 1px solid #fef3c7;
            /* mh-cream */
        }

        .faq-card:hover {
            box-shadow: 0 20px 25px -5px rgba(26, 75, 95, 0.1);
            /* mh-deep-teal with opacity */
            transform: translateY(-5px);
        }

        .faq-header {
            padding: 1.5rem;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: all 0.3s ease;
        }

        .faq-header:hover {
            background-color: #fef3c7;
            /* mh-cream */
        }

        .faq-question {
            font-weight: 600;
            font-size: 1.1rem;
            color: #1a4b5f;
            /* mh-deep-teal */
            flex: 1;
            text-align: left;
        }

        .faq-icon {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(42, 125, 123, 0.1);
            /* mh-teal with opacity */
            color: #2a7d7b;
            /* mh-teal */
            transition: all 0.3s ease;
            flex-shrink: 0;
        }

        .faq-header:hover .faq-icon {
            background: #2a7d7b;
            /* mh-teal */
            color: white;
        }

        .faq-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s ease;
        }

        .faq-answer {
            padding: 0 1.5rem 1.5rem;
            color: #2a7d7b;
            /* mh-teal */
            line-height: 1.6;
        }

        .faq-card.active .faq-content {
            max-height: 500px;
        }

        .faq-card.active .faq-icon {
            transform: rotate(180deg);
            background: #2a7d7b;
            /* mh-teal */
            color: white;
        }

        .filter-btn {
            padding: 0.75rem 1.5rem;
            border-radius: 50px;
            font-weight: 500;
            transition: all 0.3s ease;
            border: 2px solid #fef3c7;
            /* mh-cream */
            background: white;
            color: #1a4b5f;
            /* mh-deep-teal */
        }

        .filter-btn:hover,
        .filter-btn.active {
            background: linear-gradient(135deg, #2a7d7b 0%, #1a4b5f 100%);
            /* mh-teal to mh-deep-teal */
            color: white;
            border-color: transparent;
            transform: translateY(-2px);
            box-shadow: 0 10px 15px -3px rgba(26, 75, 95, 0.3);
            /* mh-deep-teal with opacity */
        }

        .search-box {
            position: relative;
            max-width: 500px;
            margin: 0 auto;
            background: linear-gradient(145deg, #ffffff, #f8fafc);
            padding: 8px;
            border-radius: 16px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
        }

        .search-input {
            width: 100%;
            padding: 1rem 3rem 1rem 3rem;
            border-radius: 50px;
            border: 2px solid #fef3c7;
            /* mh-cream */
            transition: all 0.3s ease;
            font-size: 1rem;
            font-family: 'Inter', sans-serif;
        }

        .search-input:focus {
            outline: none;
            border-color: #d97706;
            /* mh-amber */
            box-shadow: 0 0 0 3px rgba(217, 119, 6, 0.3);
            /* mh-amber with opacity */
        }

        .search-icon {
            position: absolute;
            left: 1rem;
            top: 50%;
            transform: translateY(-50%);
            color: #87a96b;
            /* mh-sage */
            font-size: 1.25rem;
        }

        .search-clear {
            font-size: 1.25rem;
        }

        .no-results {
            text-align: center;
            padding: 3rem;
            color: #87a96b;
            /* mh-sage */
        }

        .contact-card {
            background: linear-gradient(135deg, #2a7d7b 0%, #1a4b5f 100%);
            /* mh-teal to mh-deep-teal */
            border-radius: 16px;
            overflow: hidden;
        }

        @media (max-width: 768px) {
            .faq-question {
                font-size: 1rem;
            }

            .filter-btn {
                padding: 0.5rem 1rem;
                font-size: 0.9rem;
            }

            .search-input {
                padding: 0.75rem 2.5rem 0.75rem 2.5rem;
                font-size: 0.9rem;
            }

            .search-icon,
            .search-clear {
                font-size: 1rem;
            }
        }