    .custom-color {
        background: linear-gradient(135deg, #0f1f7a 0%, #0f1f7a 100%) !important;
    }

    i.fas.fa-heart.display-1.text-white.opacity-75 {
        color: red !important;
        font-size: 120px;
    }

    .hero-image-container {
        position: relative;
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2);
    }

    .hero-image-container img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .stats-card {
        background: white;
        border-radius: 20px;
        padding: 2rem;
        text-align: center;
        box-shadow: 0 10px 40px rgba(15, 31, 122, 0.1);
        transition: all 0.3s ease;
    }

    .stats-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 50px rgba(15, 31, 122, 0.15);
    }

    .pricing-price {
        font-size: 3rem;
        font-weight: 700;
        color: #0f1f7a;
    }

    .pricing-price span {
        font-size: 1rem;
        font-weight: 400;
        color: #6c757d;
    }

    .pet-image-circle {
        width: 120px;
        height: 120px;
        border-radius: 50%;
        object-fit: cover;
        border: 4px solid white;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
    }

    .testimonial-avatar {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        object-fit: cover;
        border: 3px solid #0f1f7a;
    }

    .guarantee-badge {
        background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
        color: white;
        padding: 1rem 2rem;
        border-radius: 6px;
        display: inline-block;
        font-weight: 600;
    }

    .feature-icon-box {
        width: 80px;
        height: 80px;
        border-radius: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .about-image-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }

    .about-image-grid img {
        border-radius: 15px;
        width: 100%;
        height: 200px;
        object-fit: cover;
    }

    .scrolling-banner {
        overflow: hidden;
        /* background: linear-gradient(135deg, #f8f9fa00 0%, #e9ecef 100%); */
        padding: 1.5rem 0;
        border-radius: 6px;
        margin-bottom: 2rem;
    }

    .scrolling-content {
        display: flex;
        animation: scroll 390s linear infinite;
        white-space: nowrap;
        width: max-content;
    }

    .scrolling-content:hover {
        animation-play-state: paused;
    }

    @keyframes scroll {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(-50%);
        }
    }

    .scroll-item {
        display: inline-flex;
        align-items: center;
        padding: 0 2rem;
        color: #0f1f7a;
        font-weight: 500;
        flex-shrink: 0;
    }

    .scroll-item i {
            color: #1c8835;
        margin-right: 0.5rem;
    }

    .texas-law-card {
        background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
        border-radius: 20px;
        padding: 2rem;
        border-left: 4px solid #ffc107;
    }

    .landlord-guide-card {
        background: white;
        border-radius: 15px;
        padding: 1.5rem;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
        height: 100%;
        transition: all 0.3s ease;
    }

    .landlord-guide-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    }

    .qualification-badge {
        display: inline-flex;
        align-items: center;
        background: white;
        padding: 0.75rem 1.25rem;
        border-radius: 50px;
        margin: 0.5rem;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
        font-size: 0.9rem;
    }

    .qualification-badge i {
        margin-right: 0.5rem;
    }

    .esa-type-section {
        background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
        border-radius: 20px;
        padding: 2.5rem;
    }

    .psd-type-section {
        background: linear-gradient(135deg, #e3f2fd 0%, #ffffff 100%);
        border-radius: 20px;
        padding: 2.5rem;
    }

    .founder-section {
        background: linear-gradient(135deg, #f5f7fa 0%, #e4e7eb 100%);
        border-radius: 25px;
        overflow: hidden;
    }

    @media (max-width: 768px) {
        /* Hero buttons - smaller font on mobile */
        .btn-lg {
            font-size: 0.85rem !important;
            padding: 0.5rem 1rem !important;
        }
    }
    /* ========================================
   TESTIMONIALS SECTION - Customer Reviews
   ======================================== */
            .testimonials-section {
                position: relative;
                width: 100%;
                padding: 0 40px 100px;
            }

            .process-preheader {
                display: flex;
                align-items: center;
                gap: 8px;
                margin-bottom: 16px;
            }

            .process-preheader-icon {
                width: 16px;
                height: 16px;
                background: var(--bg-gradient);
                border-radius: 4px;
            }

            .process-preheader-text {
                font-size: 14px;
                font-weight: 500;
                color: rgb(57, 107, 246);
                letter-spacing: -0.02em;
            }

            .process-title {
                font-size: 3rem;
                font-weight: 500;
                line-height: 1.15;
                letter-spacing: -0.03em;
                color: #000;
                margin: 0;
            }

            .process-boxes-wrapper {
                display: flex;
                align-items: stretch;
                gap: 0;
                width: 100%;
                position: relative;
            }

            .process-box {
                background-color: #ffffff;
                border: 1px solid #d0d2d6;
                border-radius: 24px;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                padding: 24px;
                flex: 1 0 0;
                position: relative;
                min-height: 240px;
            }

            .process-box-header {
                display: flex;
                align-items: center;
                gap: 8px;
                margin-bottom: 16px;
            }

            .process-icon {
                width: 28px;
                height: 28px;
                background-size: 100% 100%;
                flex-shrink: 0;
            }

            .process-icon.scope {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cdefs%3E%3ClinearGradient id='g1' x1='0' x2='1' y1='0.129' y2='0.871'%3E%3Cstop offset='0' stop-color='rgb(188,230,242)'/%3E%3Cstop offset='0.5' stop-color='rgb(50, 103, 253)'/%3E%3Cstop offset='1' stop-color='rgb(188,230,242)'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M 21.968 1.469 C 22.586 1.123 22.989 0.899 23.31 0.771 C 23.612 0.651 23.744 0.657 23.834 0.68 C 23.923 0.703 24.039 0.761 24.236 1.009 C 24.447 1.274 24.681 1.663 25.038 2.263 L 26.509 4.736 C 26.866 5.337 27.097 5.727 27.228 6.036 C 27.351 6.327 27.342 6.447 27.32 6.524 C 27.299 6.602 27.243 6.713 26.985 6.907 C 26.71 7.112 26.309 7.338 25.691 7.685 L 20.448 10.621 C 19.863 10.949 19.485 11.159 19.185 11.278 C 18.904 11.39 18.79 11.381 18.717 11.362 C 18.645 11.342 18.541 11.294 18.354 11.059 C 18.155 10.808 17.934 10.439 17.593 9.867 L 16.021 7.225 C 15.672 6.637 15.447 6.256 15.319 5.954 C 15.198 5.67 15.208 5.555 15.227 5.483 C 15.247 5.41 15.297 5.306 15.545 5.119 C 15.809 4.921 16.197 4.702 16.798 4.365 Z' fill='url(%23g1)'/%3E%3Cpath d='M 9.517 9.268 L 14.116 6.692 C 14.285 7.042 14.521 7.439 14.788 7.887 L 16.407 10.607 C 16.651 11.018 16.869 11.384 17.079 11.684 L 15.016 12.839 L 20.584 25.891 C 20.81 26.42 20.558 27.029 20.023 27.252 C 19.487 27.474 18.87 27.226 18.644 26.697 L 14 15.811 L 9.356 26.697 C 9.131 27.226 8.514 27.474 7.978 27.252 C 7.442 27.029 7.19 26.42 7.416 25.891 L 12.346 14.335 C 11.809 14.635 11.453 14.831 11.169 14.944 C 10.888 15.056 10.773 15.047 10.701 15.027 C 10.628 15.008 10.524 14.96 10.338 14.724 C 10.139 14.473 9.917 14.105 9.577 13.532 L 8.741 12.127 C 8.391 11.54 8.166 11.158 8.038 10.856 C 7.917 10.573 7.927 10.457 7.947 10.385 C 7.966 10.312 8.016 10.208 8.264 10.022 C 8.528 9.823 8.916 9.604 9.517 9.268 Z' fill='url(%23g1)'/%3E%3Cpath d='M 6.836 11.595 L 2.309 14.13 C 1.691 14.477 1.289 14.703 1.015 14.909 C 0.757 15.102 0.701 15.213 0.679 15.291 C 0.658 15.368 0.649 15.488 0.772 15.779 C 0.903 16.088 1.133 16.478 1.49 17.078 C 1.847 17.678 2.081 18.067 2.292 18.332 C 2.489 18.581 2.605 18.638 2.694 18.662 C 2.784 18.685 2.916 18.691 3.218 18.571 C 3.539 18.443 3.942 18.218 4.56 17.872 L 9.063 15.35 C 8.852 15.05 8.634 14.684 8.39 14.273 L 7.507 12.789 C 7.24 12.341 7.005 11.945 6.836 11.595 Z' fill='url(%23g1)'/%3E%3C/svg%3E");
            }

            .process-icon.build {
                width: 31px;
                height: 30px;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 30'%3E%3Cdefs%3E%3ClinearGradient id='g1' x1='0' x2='1' y1='0.173' y2='0.827'%3E%3Cstop offset='0' stop-color='rgb(188, 230, 242)'/%3E%3Cstop offset='0.5' stop-color='rgb(50, 103, 253)'/%3E%3Cstop offset='1' stop-color='rgb(188,230,242)'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M 23.134 15.312 L 22.084 15.312 C 21.903 14.745 21.669 14.202 21.383 13.687 L 22.13 12.964 C 22.997 12.124 22.997 10.761 22.13 9.92 L 21.329 9.147 C 20.914 8.743 20.348 8.517 19.757 8.517 C 19.166 8.517 18.601 8.743 18.182 9.147 L 17.435 9.87 C 16.903 9.595 16.342 9.366 15.755 9.191 L 15.755 8.174 C 15.755 6.985 14.76 6.022 13.532 6.022 L 12.401 6.022 C 11.172 6.022 10.177 6.985 10.177 8.174 L 10.177 9.191 C 9.591 9.366 9.03 9.594 8.498 9.87 L 7.751 9.147 C 6.881 8.306 5.473 8.306 4.605 9.147 L 3.805 9.92 C 2.937 10.759 2.937 12.123 3.805 12.963 L 4.552 13.685 C 4.27 14.202 4.034 14.745 3.852 15.312 L 2.804 15.312 C 1.575 15.312 0.58 16.276 0.58 17.463 L 0.58 18.558 C 0.58 19.745 1.575 20.71 2.804 20.71 L 3.854 20.71 C 4.035 21.276 4.27 21.82 4.554 22.334 L 3.806 23.058 C 2.938 23.899 2.938 25.26 3.806 26.102 L 4.605 26.876 C 5.022 27.278 5.588 27.506 6.178 27.506 C 6.767 27.506 7.333 27.278 7.752 26.876 L 8.498 26.153 C 9.03 26.427 9.592 26.656 10.178 26.831 L 10.178 27.848 C 10.178 29.037 11.173 30 12.402 30 L 13.532 30 C 14.761 30 15.756 29.037 15.756 27.848 L 15.756 26.831 C 16.342 26.656 16.904 26.428 17.436 26.153 L 18.183 26.876 C 18.598 27.278 19.164 27.506 19.756 27.506 C 20.345 27.506 20.911 27.278 21.328 26.876 L 22.128 26.102 C 22.996 25.262 22.996 23.899 22.126 23.059 L 21.38 22.337 C 21.664 21.82 21.9 21.277 22.081 20.711 L 23.132 20.711 C 24.361 20.711 25.356 19.746 25.356 18.558 L 25.356 17.464 C 25.358 16.276 24.363 15.312 23.134 15.312 Z M 12.968 22.93 C 10.165 22.93 7.885 20.724 7.885 18.011 C 7.885 15.298 10.165 13.092 12.968 13.092 C 15.771 13.092 18.052 15.299 18.052 18.011 C 18.052 20.724 15.772 22.93 12.968 22.93 Z M 29.56 3.582 L 29.156 3.582 C 29.086 3.365 28.994 3.154 28.885 2.956 L 29.173 2.678 C 29.507 2.353 29.507 1.829 29.173 1.504 L 28.864 1.206 C 28.703 1.05 28.483 0.963 28.256 0.963 C 28.029 0.963 27.809 1.05 27.649 1.206 L 27.36 1.483 C 27.156 1.377 26.942 1.29 26.714 1.222 L 26.714 0.829 C 26.714 0.37 26.331 0 25.856 0 L 25.421 0 C 24.946 0 24.564 0.37 24.564 0.829 L 24.564 1.222 C 24.338 1.29 24.12 1.377 23.916 1.483 L 23.63 1.206 C 23.294 0.881 22.751 0.881 22.416 1.206 L 22.109 1.502 C 21.773 1.827 21.773 2.353 22.109 2.677 L 22.396 2.955 C 22.285 3.154 22.193 3.364 22.125 3.581 L 21.719 3.581 C 21.243 3.581 20.862 3.954 20.862 4.412 L 20.862 4.833 C 20.862 5.292 21.243 5.664 21.719 5.664 L 22.125 5.664 C 22.193 5.882 22.285 6.093 22.396 6.291 L 22.107 6.569 C 21.773 6.893 21.773 7.418 22.107 7.742 L 22.416 8.041 C 22.578 8.197 22.797 8.284 23.025 8.284 C 23.252 8.284 23.471 8.197 23.632 8.041 L 23.919 7.763 C 24.125 7.87 24.34 7.957 24.567 8.025 L 24.567 8.416 C 24.567 8.875 24.948 9.247 25.423 9.247 L 25.859 9.247 C 26.334 9.247 26.717 8.875 26.717 8.416 L 26.717 8.026 C 26.942 7.958 27.161 7.871 27.363 7.764 L 27.652 8.042 C 27.814 8.198 28.032 8.285 28.259 8.285 C 28.486 8.285 28.704 8.198 28.866 8.042 L 29.174 7.744 C 29.509 7.42 29.509 6.893 29.174 6.571 L 28.888 6.293 C 28.999 6.094 29.089 5.883 29.159 5.665 L 29.565 5.665 C 30.04 5.665 30.422 5.294 30.422 4.835 L 30.422 4.412 C 30.419 3.955 30.035 3.582 29.56 3.582 Z M 25.639 6.521 C 24.559 6.521 23.68 5.671 23.68 4.623 C 23.68 3.578 24.559 2.727 25.639 2.727 C 26.72 2.727 27.601 3.578 27.601 4.623 C 27.601 5.671 26.721 6.521 25.639 6.521 Z' fill='url(%23g1)'/%3E%3C/svg%3E");
            }

            .process-icon.deploy {
                width: 29px;
                height: 29px;
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cdefs%3E%3ClinearGradient id='g1' x1='0' x2='1' y1='0.172' y2='0.828'%3E%3Cstop offset='0' stop-color='rgb(188,230,242)'/%3E%3Cstop offset='0.5' stop-color='rgb(50, 103, 253)'/%3E%3Cstop offset='1' stop-color='rgb(188,230,242)'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M 11.425 2.84 C 13.177 0.387 16.823 0.387 18.575 2.84 L 18.854 3.23 C 19.163 3.662 19.68 3.893 20.208 3.835 L 21.451 3.697 C 24.25 3.386 26.614 5.75 26.303 8.549 L 26.165 9.792 C 26.107 10.32 26.338 10.837 26.77 11.146 L 27.16 11.425 C 29.613 13.177 29.613 16.823 27.16 18.575 L 26.77 18.854 C 26.338 19.163 26.107 19.68 26.165 20.208 L 26.303 21.451 C 26.614 24.25 24.25 26.614 21.451 26.303 L 20.208 26.165 C 19.68 26.107 19.163 26.338 18.854 26.77 L 18.575 27.16 C 16.823 29.613 13.177 29.613 11.425 27.16 L 11.146 26.77 C 10.837 26.338 10.32 26.107 9.792 26.165 L 8.549 26.303 C 5.75 26.614 3.386 24.25 3.697 21.451 L 3.835 20.208 C 3.893 19.68 3.662 19.163 3.23 18.854 L 2.84 18.575 C 0.387 16.823 0.387 13.177 2.84 11.425 L 3.23 11.146 C 3.662 10.837 3.893 10.32 3.835 9.792 L 3.697 8.549 C 3.386 5.75 5.75 3.386 8.549 3.697 L 9.792 3.835 C 10.32 3.893 10.837 3.662 11.146 3.23 Z M 18.358 11.035 L 13.535 15.858 L 11.642 13.964 C 11.07 13.393 10.143 13.393 9.571 13.964 C 8.999 14.536 8.999 15.464 9.571 16.036 L 12.235 18.7 C 12.953 19.418 14.118 19.418 14.836 18.7 L 20.429 13.106 C 21.001 12.535 21.001 11.607 20.429 11.035 C 19.857 10.463 18.93 10.463 18.358 11.035 Z' fill='url(%23g1)'/%3E%3C/svg%3E");
            }

            .process-box-title {
                font-size: 20px;
                font-weight: 600;
                color: rgb(57, 107, 246);
                letter-spacing: -0.02em;
                line-height: 1.2;
                margin: 0;
            }

            .process-box-text {
                font-size: 20px;
                font-weight: 400;
                color: #5f6266;
                line-height: 1.4;
                margin-bottom: auto;
            }

            .process-box-footer {
                margin-top: 46px;
            }

            .process-box-note {
                font-size: 14px;
                color: #5f6266;
                margin-bottom: 4px;
            }

            .process-box-time {
                display: flex;
                align-items: center;
                gap: 6px;
                font-size: 14px;
                color: #5f6266;
            }

            .process-box-time svg {
                width: 16px;
                height: 16px;
            }

            .process-arrow {
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 0 8px;
                flex-shrink: 0;
                align-self: center;
            }

            .process-arrow svg {
                width: 25px;
                height: 17px;
            }

            .process-cta {
                margin-top: 60px;
            }

            .process-cta .btn-demo {
                background-color: #396bf6;
                border-radius: 112px;
                border: none;
                color: #ffffff;
            }

            @media (max-width: 1200px) {
                .process-section {
                    padding: 0 60px 100px;
                }
            }

            @media (max-width: 991px) {
                .process-section {
                    padding: 0 30px 80px;
                }

                .process-title {
                    font-size: 2.2rem;
                }

                .process-boxes-wrapper {
                    flex-direction: column;
                    gap: 24px;
                }

                .process-arrow {
                    transform: rotate(90deg);
                    margin-top: 0;
                    padding: 8px 0;
                }

                .process-box {
                    width: 100%;
                }
            }

            @media (max-width: 576px) {
                .process-section {
                    padding: 0 20px 60px;
                }
            }

            /* Testimonials Section */
            .testimonials-section {
                position: relative;
                width: 100%;
                padding: 0 40px 100px;
                overflow: visible;
            }

            .testimonials-section::before {
                content: '';
                position: absolute;
                top: 0;
                left: 50%;
                transform: translateX(-50%);
                width: 100vw;
                height: 100%;
                z-index: 0;
                pointer-events: none;
            }

            .testimonials-bg {
                position: absolute;
                top: 0;
                left: 50%;
                transform: translateX(-50%);
                width: 100vw;
                height: 100%;
                z-index: 0;
                overflow: hidden;
            }

            .testimonials-bg img {
                width: 100%;
                height: 107%;
                object-fit: fill;
                object-position: center bottom;
            }

            .testimonials-content {
                position: relative;
                z-index: 1;
                max-width: 1400px;
                margin: 0 auto;
            }

            .testimonials-title {
                font-size: 3rem;
                font-weight: 500;
                line-height: 1.2;
                letter-spacing: -0.03em;
                text-align: center;
                color: rgb(11, 18, 32);
                margin-bottom: 48px;
            }

            .testimonials-carousel-wrapper {
                position: relative;
                width: 100%;
            }

            .testimonials-carousel {
                padding: 0;
                margin: 0;
                list-style: none;
                position: relative;
                display: flex;
                flex: 1 1 100%;
                width: 100%;
                gap: 24px;
                align-items: center;
                flex-direction: row;
                overflow-x: auto;
                overflow-y: hidden;
                scroll-snap-type: x mandatory;
                scroll-behavior: smooth;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
                -ms-overflow-style: none;
            }

            .testimonials-carousel::-webkit-scrollbar {
                display: none;
                -webkit-appearance: none;
                width: 0;
                height: 0;
            }


            .testimonial-card-1 {
                flex: none;
                scroll-snap-align: start;
                width: 1200px;
                max-width: calc(100vw - 160px);
                height: 400px;
                    background: linear-gradient(135deg, #0f1f7a 0%, #0f1f7a 100%) !important;
                border-radius: 38px;
                display: flex;
                flex-direction: row;
                align-items: center;
                padding: 24px;
                gap: 32px;
                overflow: hidden;
            }

            .testimonial-image {
                flex: none;
                width: 35%;
                height: 100%;
                    border: 7px solid white;
                     border-radius: 24px;
                overflow: hidden;
            }

            .testimonial-image img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

            .testimonial-content {
                flex: 1;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                height: 100%;
                padding: 0;
            }

            .testimonial-text-content {
                display: flex;
                flex-direction: column;
                gap: 32px;
            }

            .testimonial-logo {
                height: 48px;
                width: auto;
                max-width: 145px;
            }

            .testimonial-logo img {
                height: 50px;
                width: auto;
                object-fit: contain;
            }

            .testimonial-quote {
                font-family: var(--framer-font-family);
                font-size: 1.6rem;
                font-weight: 500;
                line-height: 1.25;
                letter-spacing: -0.02em;
                color: rgb(255, 255, 255);
                margin: 0;
            }

            .testimonial-author {
                display: flex;
                flex-direction: column;
                gap: 4px;
            }

            .testimonial-author-name {
                font-family: var(--framer-font-family);
                font-size: 1.25rem;
                font-weight: 600;
                line-height: 1.2;
                letter-spacing: -0.02em;
                color: rgb(255, 255, 255);
                margin: 0;
            }

            .testimonial-author-title {
                font-family: var(--framer-font-family);
                font-size: 1rem;
                font-weight: 400;
                line-height: 1.2;
                letter-spacing: -0.02em;
                color: rgb(255, 255, 255);
                margin: 0;
            }

            .carousel-nav-btn {
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                z-index: 10;
                width: 48px;
                height: 48px;
                border-radius: 50%;
                background: rgba(255, 255, 255, 0.9);
                border: none;
                display: flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
                transition: all 0.2s ease;
                opacity: 1;
                visibility: visible;
            }

            .carousel-nav-btn.hidden {
                opacity: 0;
                visibility: hidden;
                pointer-events: none;
            }

            .carousel-nav-btn:hover {
                background: #ffffff;
                box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
            }

            .carousel-nav-btn.prev {
                left: 0;
            }

            .carousel-nav-btn.next {
                right: 0;
            }

            .carousel-nav-btn svg {
                width: 20px;
                height: 20px;
                stroke: rgb(0, 0, 0);
            }

            @media (max-width: 1200px) {
                .testimonials-content {
                    padding: 0 60px;
                }

                .testimonial-card-1 {
                    max-width: calc(100vw - 120px);
                    width: 800px;
                    height: 372px;
                }

                .testimonial-quote {
                    font-size: 18px;
                }
            }

            @media (max-width: 991px) {
                .testimonials-content {
                    padding: 0 30px;
                }

                .testimonials-title {
                    font-size: 2.2rem;
                }

                .testimonial-card-1 {
                    max-width: calc(100vw - 60px);
                    width: 680px;
                    height: 372px;
                }

                .testimonial-quote {
                    font-size: 16px;
                }
            }

            @media (max-width: 768px) {
                .testimonials-content {
                    padding: 0 8px;
                }

                .testimonial-card-1 {
                    flex-direction: column;
                    justify-content: flex-start;
                    gap: 24px;
                    width: 372px;
                    max-width: calc(100vw - 40px);
                    height: auto;
                    min-height: 581px;
                }

                .testimonial-image {
                    width: 100%;
                    height: 249px;
                    flex: none;
                }

                .testimonial-content {
                    width: 100%;
                    height: auto;
                }

                .testimonial-text-content {
                    gap: 24px;
                }

                .testimonial-quote {
                    font-size: 16px;
                }

                .carousel-nav-btn {
                    width: 40px;
                    height: 40px;
                }

                .carousel-nav-btn svg {
                    width: 16px;
                    height: 16px;
                }
            }










    .credentials-badge {
        display: inline-flex;
        align-items: center;
        background: white;
        padding: 0.75rem 1.25rem;
        border-radius: 6px;
        margin: 0.5rem;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
        border: 1px solid #2c3a8a;
    }
    .law-snapshot {
        background: linear-gradient(135deg, #0f1f7a0d 0%, #ffffff 100%);
        border-radius: 7px;
        padding: 2rem;
        border-left: 4px solid #c10828;
    }
    .promise-card {
        background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
        border-radius: 20px;
        padding: 2.5rem;
    }

    .tsa-class-1{
            height: 250px;
    width: 100%;
    object-fit: cover;
    border-radius: 10px;
    border: 4px solid #0f1f7a;
    }

    /* ===== NSP Utility Classes (extracted from inline styles) ===== */

    /* Hero Section */
    .nsp-retake-banner {
        background: linear-gradient(135deg, #fff3cd 0%, #ffe69c 100%);
    }
    .nsp-hero-logo {
        max-height: 170px;
        filter: brightness(0) invert(1);
    }
    .nsp-img-cover-full {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }

    /* Card / Cert Section */
    .nsp-badge-sm {
        font-size: 0.9rem;
    }
    .nsp-max-w-800 {
        max-width: 800px;
    }
    .nsp-card-white-blue {
        background: white;
        border-radius: 20px;
        box-shadow: 0 15px 50px rgba(15, 31, 122, 0.1);
    }
    .nsp-card-white-green {
        background: white;
        border-radius: 20px;
        box-shadow: 0 15px 50px rgba(40, 167, 69, 0.1);
    }
    .nsp-icon-box-70-blue {
        width: 70px;
        height: 70px;
        background: linear-gradient(135deg, #0f1f7a 0%, #3b5bdb 100%);
        border-radius: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 1.5rem;
    }
    .nsp-icon-box-70-green {
        width: 70px;
        height: 70px;
        background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
        border-radius: 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 1.5rem;
    }
    .nsp-icon-2rem {
        font-size: 2rem;
    }

    /* Documentation Advisory */
    .nsp-doc-advisory {
        background: white;
        border-radius: 12px;
        box-shadow: 0 8px 40px rgba(15, 31, 122, 0.08);
        border: 1px solid rgba(15, 31, 122, 0.06);
        overflow: hidden;
    }
    .nsp-doc-advisory-header {
        background: linear-gradient(135deg, #0f1f7a 0%, #3b5bdb 100%);
        padding: 14px 24px;
    }
    .nsp-doc-advisory-icon-sm {
        font-size: 1.1rem;
    }
    .nsp-doc-advisory-title-sm {
        font-size: 0.95rem;
        letter-spacing: 0.3px;
    }
    .nsp-doc-advisory-icon-box {
        flex-shrink: 0;
        width: 48px;
        height: 48px;
        background: linear-gradient(135deg, #e8f0fe 0%, #d4e3fc 100%);
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .nsp-doc-advisory-file-icon {
        font-size: 1.3rem;
        color: #0f1f7a;
    }
    .nsp-doc-advisory-title {
        color: #0f1f7a;
        font-size: 1.05rem;
    }
    .nsp-doc-advisory-desc {
        font-size: 0.9rem;
        line-height: 1.65;
    }
    .nsp-doc-check-item {
        font-size: 0.82rem;
        color: #555;
    }
    .nsp-check-green {
        color: #28a745;
    }
    .nsp-flex-shrink-0 {
        flex-shrink: 0;
    }

    /* Eval Banner */
    .nsp-eval-banner {
        border-radius: 12px;
        background: linear-gradient(135deg, #0b3995 0%, #0f1f79 100%);
        padding: 1.25rem;
    }

    /* Pricing (old section) */
    .nsp-pos-relative {
        position: relative;
    }
    .nsp-border-left-blue {
        border-left: 4px solid #0f1f7a !important;
    }

    /* Pricing (new section) */
    .nsp-pricing-badge {
        background: rgba(15, 31, 122, 0.08);
        color: #0f1f7a;
        font-size: 0.85rem;
        font-weight: 600;
        letter-spacing: 0.5px;
    }
    .nsp-max-w-640 {
        max-width: 640px;
    }
    .nsp-toggle-bg {
        background: #f0f2f5;
    }
    .nsp-toggle-btn {
        transition: all 0.3s ease;
    }

    /* Pricing Cards */
    .nsp-pricing-card-esa {
        background: #fff;
        border-radius: 20px;
        border-top-right-radius: 4px;
        box-shadow: 0 2px 16px rgba(15, 31, 122, 0.06);
        transition: all 0.35s cubic-bezier(.4, 0, .2, 1);
        overflow: hidden;
        position: relative;
    }
    .nsp-pricing-card-bundle {
        background: #fff;
        border-radius: 20px;
        border-top-right-radius: 4px;
        box-shadow: 0 8px 40px rgba(15, 31, 122, 0.13);
        transition: all 0.35s cubic-bezier(.4, 0, .2, 1);
        overflow: hidden;
        position: relative;
        transform: scale(1.03);
    }
    .nsp-pricing-card-psd {
        background: #fff;
        border-radius: 20px;
        border-top-right-radius: 4px;
        box-shadow: 0 2px 16px rgba(15, 31, 122, 0.06);
        transition: all 0.35s cubic-bezier(.4, 0, .2, 1);
        overflow: hidden;
        position: relative;
    }
    .nsp-accent-gray {
        height: 5px;
        background: linear-gradient(90deg, #6c757d 0%, #adb5bd 100%);
    }
    .nsp-accent-blue {
        height: 5px;
        background: linear-gradient(90deg, #0f1f7a 0%, #1a3cb8 50%, #4a6cf7 100%);
    }
    .nsp-accent-purple {
        height: 5px;
        background: linear-gradient(90deg, #5c6bc0 0%, #7986cb 100%);
    }

    /* Icon Boxes (64px) */
    .nsp-icon-box-64-light {
        width: 64px;
        height: 64px;
        border-radius: 16px;
        background: linear-gradient(135deg, #f0f2ff 0%, #e8ebff 100%);
    }
    .nsp-icon-box-64-blue {
        width: 64px;
        height: 64px;
        border-radius: 16px;
        background: linear-gradient(135deg, #0f1f7a 0%, #1a3cb8 100%);
    }
    .nsp-icon-box-64-purple {
        width: 64px;
        height: 64px;
        border-radius: 16px;
        background: linear-gradient(135deg, #ede7f6 0%, #d1c4e9 100%);
    }

    /* Icon Font Sizes */
    .nsp-icon-1-6rem-blue {
        font-size: 1.6rem;
        color: #0f1f7a;
    }
    .nsp-icon-1-6rem-white {
        font-size: 1.6rem;
        color: #fff;
    }
    .nsp-icon-1-6rem-purple {
        font-size: 1.6rem;
        color: #5c6bc0;
    }

    /* Headings */
    .nsp-heading-dark {
        color: #333;
    }
    .nsp-heading-blue {
        color: #0f1f7a;
    }

    /* List & HR */
    .nsp-hr-light {
        border-color: #eee;
    }
    .nsp-list-sm {
        font-size: 0.92rem;
    }

    /* Check Dots (22px circles) */
    .nsp-check-dot-green {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #e8f5e9;
        margin-top: 2px;
    }
    .nsp-check-dot-blue {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #e3f2fd;
        margin-top: 2px;
    }
    .nsp-check-dot-purple {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #ede7f6;
        margin-top: 2px;
    }
    .nsp-check-xs-green {
        font-size: 0.65rem;
        color: #2e7d32;
    }
    .nsp-check-xs-blue {
        font-size: 0.65rem;
        color: #0f1f7a;
    }
    .nsp-check-xs-purple {
        font-size: 0.65rem;
        color: #5c6bc0;
    }

    /* CTA Buttons */
    .nsp-btn-esa {
        background: #f0f2f5;
        color: #0f1f7a;
        border: none;
        border-radius: 12px;
        padding: 14px;
        transition: all 0.3s ease;
    }
    .nsp-btn-esa:hover {
        background: #e2e6ea;
        color: #0f1f7a;
    }
    .nsp-btn-primary-gradient {
        background: linear-gradient(135deg, #0f1f7a 0%, #1a3cb8 100%);
        color: #fff;
        border: none;
        border-radius: 12px;
        padding: 14px;
        transition: all 0.3s ease;
        box-shadow: 0 4px 14px rgba(15, 31, 122, 0.25);
    }
    .nsp-btn-primary-gradient:hover {
        color: #fff;
        box-shadow: 0 6px 20px rgba(15, 31, 122, 0.35);
    }
    .nsp-btn-psd {
        background: #f0f2f5;
        color: #5c6bc0;
        border: none;
        border-radius: 12px;
        padding: 14px;
        transition: all 0.3s ease;
    }
    .nsp-btn-psd:hover {
        background: #e2e6ea;
        color: #5c6bc0;
    }

    /* Popular/Best Value Ribbons */
    .nsp-popular-ribbon {
        position: absolute;
        top: 39px;
        right: -39px;
        background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);
        color: #fff;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 1px;
        padding: 6px 40px;
        transform: rotate(45deg);
        z-index: 2;
        text-transform: uppercase;
    }

    /* Bundle Plans */
    .nsp-bundle-card-lc {
        background: linear-gradient(160deg, #ffffff 0%, #f8f9ff 100%);
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 4px 24px rgba(15, 31, 122, 0.07);
        transition: all 0.35s cubic-bezier(.4, 0, .2, 1);
        position: relative;
        border: 2px solid #e8ebff;
    }
    .nsp-bundle-card-psd {
        background: linear-gradient(160deg, #ffffff 0%, #fffdf5 100%);
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 8px 40px rgba(15, 31, 122, 0.12);
        transition: all 0.35s cubic-bezier(.4, 0, .2, 1);
        position: relative;
        border: 2px solid #fff3cd;
    }
    .nsp-accent-lc {
        height: 5px;
        background: linear-gradient(90deg, #0f1f7a 0%, #4a6cf7 100%);
    }
    .nsp-accent-psd-b {
        height: 5px;
        background: linear-gradient(90deg, #f7931e 0%, #ff6b35 100%);
    }
    .nsp-icon-box-56-blue {
        width: 56px;
        height: 56px;
        border-radius: 14px;
        background: linear-gradient(135deg, #0f1f7a 0%, #1a3cb8 100%);
    }
    .nsp-icon-box-56-orange {
        width: 56px;
        height: 56px;
        border-radius: 14px;
        background: linear-gradient(135deg, #f7931e 0%, #ff6b35 100%);
    }
    .nsp-icon-1-4rem-white {
        font-size: 1.4rem;
        color: #fff;
    }
    .nsp-badge-lc {
        background: #e8ebff;
        color: #0f1f7a;
        font-size: 0.7rem;
        font-weight: 700;
    }
    .nsp-badge-psd-b {
        background: #fff3cd;
        color: #856404;
        font-size: 0.7rem;
        font-weight: 700;
    }
    .nsp-price-lg {
        font-size: 2.8rem;
    }
    .nsp-text-onetime {
        font-size: 0.9rem;
    }
    .nsp-feat-box-blue {
        background: #f0f2ff;
    }
    .nsp-feat-box-orange {
        background: #fff8e1;
    }
    .nsp-feat-icon-blue {
        color: #0f1f7a;
        font-size: 1.2rem;
    }
    .nsp-feat-icon-orange {
        color: #f7931e;
        font-size: 1.2rem;
    }
    .nsp-feat-label-blue {
        color: #0f1f7a;
    }
    .nsp-feat-label-brown {
        color: #856404;
    }
    .nsp-list-sm-2 {
        font-size: 0.9rem;
    }
    .nsp-check-sm {
        font-size: 0.8rem;
    }
    .nsp-btn-lc {
        background: linear-gradient(135deg, #0f1f7a 0%, #1a3cb8 100%);
        color: #fff;
        border: none;
        border-radius: 12px;
        padding: 14px;
        box-shadow: 0 4px 14px rgba(15, 31, 122, 0.2);
    }
    .nsp-btn-lc:hover {
        color: #fff;
    }
    .nsp-btn-psd-b {
        background: linear-gradient(135deg, #f7931e 0%, #ff6b35 100%);
        color: #fff;
        border: none;
        border-radius: 12px;
        padding: 14px;
        box-shadow: 0 4px 14px rgba(247, 147, 30, 0.3);
    }
    .nsp-btn-psd-b:hover {
        color: #fff;
    }
    .nsp-best-value-ribbon {
        position: absolute;
        top: 16px;
        right: -30px;
        background: linear-gradient(135deg, #f7931e 0%, #ff6b35 100%);
        color: #fff;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 1px;
        padding: 5px 36px;
        transform: rotate(45deg);
        z-index: 2;
        text-transform: uppercase;
    }

    /* Misc */
    .nsp-guarantee-info {
        font-size: 0.88rem;
        color: #6c757d;
    }
    .nsp-pet-avatar-sm {
        width: 60px;
        height: 60px;
    }
    .nsp-carousel-logo-inverted {
        
    }
    .nsp-cta-card {
        border-radius: 10px;
        overflow: hidden;
    }
    .nsp-modal-rounded {
        border-radius: 20px;
        overflow: hidden;
    }
    .nsp-hidden {
        display: none;
    }






    /* ===================================================
    ================CSS Part 2 (new styles)================
    =================================================== */ 

    .tsa-free-eval-section {
        border-radius: 28px;
        padding: 4rem 2.5rem;
        position: relative;
        overflow: hidden;
        margin-bottom: 3rem;
    }

    .tsa-free-eval-section::before {
        content: '';
        position: absolute;
        top: -80px;
        right: -80px;
        width: 300px;
        height: 300px;
        background: radial-gradient(circle, rgba(15, 31, 122, 0.06) 0%, transparent 70%);
        border-radius: 50%;
        pointer-events: none;
    }

    .tsa-free-eval-section::after {
        content: '';
        position: absolute;
        bottom: -60px;
        left: -60px;
        width: 250px;
        height: 250px;
        background: radial-gradient(circle, rgba(40, 167, 69, 0.05) 0%, transparent 70%);
        border-radius: 50%;
        pointer-events: none;
    }

    .tsa-eval-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
        color: #fff;
        font-size: 0.85rem;
        font-weight: 600;
        padding: 0.5rem 1.25rem;
        border-radius: 6px;
        margin-bottom: 1.25rem;
        letter-spacing: 0.3px;
    }

    .tsa-eval-heading {
    font-size: 2rem;
    font-weight: 700;
    font-family: arial;
    color: #0f1f7a;
    line-height: 1.2;
    margin-bottom: 1rem;
    }

    .tsa-eval-subtext {
        color: #5a6270;
        font-size: 1.1rem;
        line-height: 1.7;
        margin-bottom: 2rem;
        max-width: 540px;
    }

    .tsa-eval-steps-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
        margin-bottom: 2.5rem;
    }

    .tsa-eval-step-card {
        background: #ffffff;
        border-radius: 6px;
        padding: 2rem 1.5rem;
        text-align: center;
            box-shadow: 0 8px 30px rgb(15 31 122 / 4%);
        transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        position: relative;
    }


    .tsa-eval-step-number {
        position: absolute;
        top: -14px;
        left: 50%;
        transform: translateX(-50%);
        width: 32px;
        height: 32px;
        background: linear-gradient(135deg, #0f1f7a 0%, #3b5bdb 100%);
        color: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.85rem;
        font-weight: 700;
        box-shadow: 0 4px 12px rgba(15, 31, 122, 0.25);
    }

    .tsa-eval-step-icon {
        width: 64px;
        height: 64px;
        border-radius: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.6rem;
        margin: 0 auto 1rem;
    }

    .tsa-eval-step-icon--screen {
        background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
        color: #2e7d32;
    }

    .tsa-eval-step-icon--review {
        background: linear-gradient(135deg, #e3f2fd 0%, #bbdefb 100%);
        color: #1565c0;
    }

    .tsa-eval-step-icon--result {
        background: linear-gradient(135deg, #fff3e0 0%, #ffe0b2 100%);
        color: #e65100;
    }

    .tsa-eval-step-title {
        font-weight: 700;
        color: #0f1f7a;
        font-size: 1.05rem;
        margin-bottom: 0.5rem;
    }

    .tsa-eval-step-desc {
        color: #6c757d;
        font-size: 0.88rem;
        line-height: 1.55;
        margin-bottom: 0;
    }

    .tsa-eval-cta-row {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        flex-wrap: wrap;
    }

    .tsa-eval-btn {
        display: inline-flex;
        align-items: center;
        gap: 0.6rem;
        background: linear-gradient(135deg, #0f1f7a 0%, #3b5bdb 100%);
        color: #fff;
        font-size: 1.05rem;
        font-weight: 700;
        padding: 0.9rem 2.25rem;
        border-radius: 6px;
        border: none;
        text-decoration: none;
        transition: all 0.3s ease;
        box-shadow: 0 6px 20px rgba(15, 31, 122, 0.3);
    }

    .tsa-eval-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 30px rgba(15, 31, 122, 0.4);
        color: #fff;
        text-decoration: none;
    }

    .tsa-eval-trust-notes {
        display: flex;
        flex-wrap: wrap;
        gap: 1.25rem;
    }

    .tsa-eval-trust-item {
        display: flex;
        align-items: center;
        gap: 0.4rem;
        color: #5a6270;
        font-size: 0.88rem;
        font-weight: 500;
    }

    .tsa-eval-trust-item i {
        color: #28a745;
        font-size: 0.8rem;
    }

    .tsa-eval-visual {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .tsa-eval-visual-ring {
        width: 220px;
        height: 220px;
        border-radius: 50%;
        background: linear-gradient(135deg, #0f1f7a 0%, #3b5bdb 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        box-shadow: 0 20px 60px rgba(15, 31, 122, 0.2);
    }

    .tsa-eval-visual-ring::before {
        content: '';
        position: absolute;
        width: 240px;
        height: 240px;
        border-radius: 50%;
        border: 2px dashed rgba(15, 31, 122, 0.15);
        animation: tsa-spin 20s linear infinite;
    }

    @keyframes tsa-spin {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }

    .tsa-eval-visual-inner {
        text-align: center;
        color: #fff;
    }

    .tsa-eval-visual-inner i {
        font-size: 3rem;
        margin-bottom: 0.5rem;
        display: block;
        filter: drop-shadow(0 2px 6px rgba(0,0,0,0.2));
    }

    .tsa-eval-visual-inner span {
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: 0.5px;
    }

    .tsa-eval-float-badge {
        position: absolute;
        background: #fff;
        border-radius: 6px;
        padding: 0.6rem 1rem;
        box-shadow: 0 6px 20px rgba(0,0,0,0.1);
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.82rem;
        font-weight: 600;
        color: #0f1f7a;
        white-space: nowrap;
    }

    .tsa-eval-float-badge--top {
        top: 5px;
        right: -10px;
        animation: tsa-float 3s ease-in-out infinite;
    }

    .tsa-eval-float-badge--bottom {
        bottom: 10px;
        left: -15px;
        animation: tsa-float 3s ease-in-out infinite 1.5s;
    }

    @keyframes tsa-float {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-8px); }
    }

    @media (max-width: 991.98px) {
        .tsa-eval-steps-grid {
            grid-template-columns: 1fr;
            gap: 2rem;
        }
        .tsa-eval-heading {
            font-size: 2rem;
        }
        .tsa-free-eval-section {
            padding: 2.5rem 1.5rem;
        }
        .tsa-eval-visual {
            margin-top: 2rem;
        }
    }

    @media (max-width: 575.98px) {
        .tsa-eval-heading {
            font-size: 1.6rem;
        }
        .tsa-eval-visual-ring {
            width: 170px;
            height: 170px;
        }
        .tsa-eval-visual-ring::before {
            width: 190px;
            height: 190px;
        }
        .tsa-eval-float-badge {
            display: none;
        }
        .testimonials-section {
                padding: 0 0px 80px;

        }
        
    }

/* ============================================================
   2026 NSP homepage editorial system
   Inspired by ASA's visual polish, with independent NSP layouts,
   content hierarchy, imagery, and central-authority positioning.
   ============================================================ */
.nsp-home-section {
    position: relative;
    padding: clamp(2rem, 5vw, 4.5rem);
    border: 1px solid #e2e8f7;
    border-radius: 28px;
    overflow: hidden;
}

.nsp-home-section-heading {
    position: relative;
    z-index: 1;
}

.nsp-home-section-heading > p {
    max-width: 780px;
}

.nsp-home-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: #0f1f7a;
font-size: 0.98rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.nsp-home-kicker i {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    box-shadow: 0 6px 16px rgba(15, 31, 122, 0.2);
}

.nsp-home-kicker-light {
    color: rgba(255, 255, 255, 0.82);
}

.nsp-home-kicker-light i {
    color: #0f1f7a;
    background: #fff;
    box-shadow: none;
}

.nsp-home-trust-rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #e1e7f4;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(15, 31, 122, 0.08);
    overflow: hidden;
}

.nsp-home-trust-item {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    min-height: 90px;
    padding: 1rem;
    border-right: 1px solid #e8ecf5;
}

.nsp-home-trust-item:last-child {
    border-right: 0;
}

.nsp-home-trust-icon {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 13px;
    color: #0f1f7a;
    background: linear-gradient(135deg, #eef3ff 0%, #dce7ff 100%);
}

.nsp-home-trust-item strong,
.nsp-home-trust-item small {
    display: block;
}

.nsp-home-trust-item strong {
    color: #172033;
    font-size: 0.94rem;
}

.nsp-home-trust-item small {
    margin-top: 0.2rem;
    color: #687284;
    font-size: 0.77rem;
    line-height: 1.4;
}

.nsp-home-intake {
    background:
        radial-gradient(circle at 95% 0%, rgba(0, 86, 179, 0.1), transparent 32%),
        linear-gradient(145deg, #f8faff 0%, #ffffff 55%, #eef3ff 100%);
}

.nsp-home-editorial {
    position: relative;
    min-height: 510px;
    border-radius: 24px;
    background: #0f1f7a;
    box-shadow: 0 24px 60px rgba(15, 31, 122, 0.18);
    overflow: hidden;
}

.nsp-home-editorial::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(8, 19, 70, 0.66) 100%);
    pointer-events: none;
}

.nsp-home-editorial > img {
    width: 100%;
    height: 510px;
    object-fit: cover;
}

.nsp-home-editorial figcaption {
    position: absolute;
    z-index: 2;
    right: 1rem;
    bottom: 0.8rem;
    left: 1rem;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.72rem;
}

.nsp-home-image-note {
    position: absolute;
    z-index: 3;
    top: 1rem;
    right: 1rem;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.8rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 15px;
    color: #172033;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 10px 30px rgba(8, 19, 70, 0.18);
    backdrop-filter: blur(10px);
}

.nsp-home-image-note > span {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, #0f1f7a, #0056b3);
}

.nsp-home-image-note small {
    color: #687284;
    font-weight: 600;
}

.nsp-home-path-list {
    margin: 1.8rem 0 0;
    padding: 0;
    list-style: none;
}

.nsp-home-path-list li {
    position: relative;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 1rem;
    padding-bottom: 1.25rem;
}

.nsp-home-path-list li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 40px;
    bottom: 0;
    left: 20px;
    width: 2px;
    background: linear-gradient(180deg, #0056b3, #dce5f8);
}

.nsp-home-path-list li > span {
    z-index: 1;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-weight: 800;
    background: linear-gradient(135deg, #0f1f7a, #0056b3);
    box-shadow: 0 7px 18px rgba(15, 31, 122, 0.22);
}

.nsp-home-path-list h3 {
    margin: 0 0 0.25rem;
    color: #172033;
    font-size: 1.02rem;
    font-weight: 700;
}

.nsp-home-path-list p {
    margin: 0;
    color: #687284;
    font-size: 0.9rem;
    line-height: 1.55;
}

.nsp-home-services {
    background:
        radial-gradient(circle at 8% 5%, rgba(15, 31, 122, 0.08), transparent 28%),
        #f7f9fe;
}

.nsp-home-service-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 2rem;
    border: 1px solid #e2e7f3;
    border-radius: 22px;
    background: linear-gradient(160deg, #ffffff 0%, #fbfcff 100%);
    box-shadow: 0 12px 35px rgba(15, 31, 122, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    overflow: hidden;
}

.nsp-home-service-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;
    background: linear-gradient(90deg, #0f1f7a, #0056b3);
}

.nsp-home-service-card-featured {
    border-color: rgba(0, 86, 179, 0.28);
    background: linear-gradient(160deg, #ffffff 0%, #eef4ff 100%);
    box-shadow: 0 20px 50px rgba(15, 31, 122, 0.14);
}

.nsp-home-service-card:hover {
    transform: translateY(-7px);
    border-color: rgba(15, 31, 122, 0.28);
    box-shadow: 0 22px 50px rgba(15, 31, 122, 0.14);
}

.nsp-home-service-icon {
    width: 62px;
    height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.3rem;
    border-radius: 18px;
    color: #fff;
    font-size: 1.45rem;
    background: linear-gradient(135deg, #0f1f7a, #0056b3);
    box-shadow: 0 12px 25px rgba(15, 31, 122, 0.23);
}

.nsp-home-card-label {
    display: block;
    margin-bottom: 0.55rem;
    color: #0f1f7a;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.nsp-home-service-card ul {
    margin: 0 0 1.5rem;
    padding: 0;
    list-style: none;
}

.nsp-home-service-card li {
    position: relative;
    padding: 0.42rem 0 0.42rem 1.4rem;
    color: #4f596a;
    font-size: 0.9rem;
}

.nsp-home-service-card li::before {
    content: "\f058";
    position: absolute;
    left: 0;
    color: #198754;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.nsp-home-service-card > a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: auto;
    color: #0f1f7a;
    font-weight: 800;
    text-decoration: none;
}

.nsp-home-service-card > a:hover i {
    transform: translateX(4px);
}

.nsp-home-service-card > a i {
    transition: transform 0.25s ease;
}

.nsp-home-coordination {
    position: relative;
    padding: clamp(2.25rem, 5vw, 4.75rem);
    border-radius: 28px;
    color: #fff;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    box-shadow: 0 24px 60px rgba(15, 31, 122, 0.2);
    overflow: hidden;
}

.nsp-home-coordination::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 10% 15%, rgba(255,255,255,0.14) 0 2px, transparent 3px),
        radial-gradient(circle at 90% 80%, rgba(255,255,255,0.1) 0 2px, transparent 3px);
    background-size: 38px 38px, 52px 52px;
    opacity: 0.55;
}

.nsp-home-coordination > * {
    position: relative;
    z-index: 1;
}

.nsp-home-coordination p {
    color: rgba(255, 255, 255, 0.82);
}

.nsp-home-coordination-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.nsp-home-coordination-grid article {
    position: relative;
    min-height: 205px;
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
}

.nsp-home-coordination-grid article > span {
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: rgba(255, 255, 255, 0.32);
    font-size: 1.6rem;
    font-weight: 900;
}

.nsp-home-coordination-grid article > i {
    width: 43px;
    height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    border-radius: 12px;
    color: #0f1f7a;
    background: #fff;
}

.nsp-home-coordination-grid h3 {
    font-size: 1.05rem;
    font-weight: 800;
}

.nsp-home-coordination-grid p {
    margin: 0;
    font-size: 0.87rem;
    line-height: 1.55;
}

/* Home pricing: plain bordered, values come 100% from /admin/payment-plans */
.nsp-home-pricing {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    box-shadow: none;
}

.nsp-home-plan-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.25rem;
    align-items: stretch;
}

.nsp-home-plan {
    display: flex;
    flex-direction: column;
    padding: 1.75rem;
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
}

.nsp-home-plan-name {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 750;
    color: #1d2738;
}

.nsp-home-plan-price {
    margin: 0.65rem 0 0;
    font-size: 2rem;
    font-weight: 800;
    color: #0f1f7a;
    line-height: 1.1;
}

.nsp-home-plan-price span {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8a93a5;
}

.nsp-home-plan-meta {
    margin: 0.85rem 0 0;
    font-size: 0.82rem;
    color: #657084;
}

.nsp-home-plan-features {
    list-style: none;
    margin: 1.1rem 0 1.5rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.nsp-home-plan-features li {
    display: flex;
    gap: 0.55rem;
    font-size: 0.88rem;
    line-height: 1.45;
    color: #3d4657;
}

.nsp-home-plan-features li i {
    margin-top: 0.15rem;
    color: #1a7f4b;
    font-size: 0.8rem;
    flex-shrink: 0;
}

.nsp-home-plan-cta {
    margin-top: auto;
    display: block;
    padding: 0.7rem 1rem;
    border: 1px solid #0f1f7a;
    border-radius: 8px;
    background: #0f1f7a;
    color: #ffffff;
    font-weight: 650;
    font-size: 0.9rem;
    text-align: center;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.nsp-home-plan-cta:hover {
    background: #0b1660;
    border-color: #0b1660;
    color: #ffffff;
}

.nsp-home-plan-empty {
    grid-column: 1 / -1;
    padding: 2rem;
    text-align: center;
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
}

.nsp-home-audience-card {
    position: relative;
    padding: clamp(2rem, 4vw, 3.25rem);
    border-radius: 26px;
    overflow: hidden;
}

.nsp-home-audience-client {
    color: #fff;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    box-shadow: 0 20px 50px rgba(15, 31, 122, 0.2);
}

.nsp-home-audience-client::after {
    content: "";
    position: absolute;
    right: -65px;
    bottom: -75px;
    width: 220px;
    height: 220px;
    border: 42px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
}

.nsp-home-audience-client > * {
    position: relative;
    z-index: 1;
}

.nsp-home-audience-client .nsp-home-card-label,
.nsp-home-audience-client p {
    color: rgba(255,255,255,0.82);
}

.nsp-home-audience-housing {
    border: 1px solid #e0e6f2;
    background: linear-gradient(145deg, #fff 0%, #f4f7ff 100%);
    box-shadow: 0 18px 48px rgba(15, 31, 122, 0.1);
}

.nsp-home-audience-icon {
    width: 62px;
    height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.4rem;
    border-radius: 18px;
    font-size: 1.45rem;
}

.nsp-home-audience-client .nsp-home-audience-icon {
    color: #0f1f7a;
    background: #fff;
}

.nsp-home-audience-housing .nsp-home-audience-icon {
    color: #fff;
    background: linear-gradient(135deg, #0f1f7a, #0056b3);
}

.nsp-home-standards {
    background: #fff;
}

.nsp-home-standard-card {
    position: relative;
    padding: 1.7rem;
    border: 1px solid #e3e8f3;
    border-radius: 19px;
    background: linear-gradient(155deg, #fff 0%, #f9faff 100%);
    box-shadow: 0 10px 30px rgba(15, 31, 122, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.nsp-home-standard-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(15, 31, 122, 0.12);
}

.nsp-home-standard-card > span {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.1rem;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(135deg, #0f1f7a, #0056b3);
}

.nsp-home-compare {
    background:
        radial-gradient(circle at 50% -20%, rgba(0, 86, 179, 0.12), transparent 42%),
        #f6f8fd;
}

.nsp-home-compare-card {
    padding: clamp(1.75rem, 4vw, 2.75rem);
    border: 1px solid #dfe5f2;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 15px 40px rgba(15, 31, 122, 0.08);
}

.nsp-home-compare-card-dark {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(145deg, #101f68 0%, #0f1f7a 58%, #0056b3 100%);
    box-shadow: 0 20px 50px rgba(15, 31, 122, 0.2);
}

.nsp-home-compare-heading {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.nsp-home-compare-heading > span {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 17px;
    color: #fff;
    font-size: 1.35rem;
    background: linear-gradient(135deg, #0f1f7a, #0056b3);
}

.nsp-home-compare-card-dark .nsp-home-compare-heading > span {
    color: #0f1f7a;
    background: #fff;
}

.nsp-home-compare-heading small,
.nsp-home-compare-heading h3 {
    display: block;
    margin: 0;
}

.nsp-home-compare-heading small {
    margin-bottom: 0.15rem;
    color: #0f1f7a;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nsp-home-compare-card-dark .nsp-home-compare-heading small {
    color: rgba(255,255,255,0.68);
}

.nsp-home-compare-heading h3 {
    font-size: 1.35rem;
    font-weight: 850;
}

.nsp-home-compare-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nsp-home-compare-card li {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #edf0f6;
    color: #505a6c;
}

.nsp-home-compare-card li:last-child {
    border-bottom: 0;
}

.nsp-home-compare-card li i {
    margin-top: 0.25rem;
    color: #198754;
}

.nsp-home-compare-card-dark li {
    color: rgba(255,255,255,0.84);
    border-color: rgba(255,255,255,0.14);
}

.nsp-home-compare-card-dark li i {
    color: #7be2ae;
}

.nsp-home-context {
}

.nsp-home-context-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-height: 138px;
    padding: 1.15rem;
    text-align: center;
}

.nsp-home-context-card i {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, #0f1f7a, #0056b3);
}

.nsp-home-context-card span {
    color: #283246;
    font-size: 0.86rem;
    font-weight: 750;
}

.nsp-home-faq {
    background:
        radial-gradient(circle at 5% 0%, rgba(15,31,122,0.08), transparent 32%),
        #f8faff;
}

.nsp-home-faq .accordion-item {
    margin-bottom: 0.85rem;
    border: 1px solid #e0e6f2;
    border-radius: 15px !important;
    box-shadow: 0 8px 24px rgba(15, 31, 122, 0.05);
    overflow: hidden;
}

.nsp-home-faq .accordion-button {
    padding: 1.25rem 1.35rem;
    color: #1d2738;
    font-weight: 750;
    background: #fff;
}

.nsp-home-faq .accordion-button:not(.collapsed) {
    color: #0f1f7a;
    background: #edf3ff;
    box-shadow: none;
}

.nsp-home-final-cta {
    position: relative;
    padding: clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 5vw, 4rem);
    border-radius: 28px;
    color: #fff;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    box-shadow: 0 24px 60px rgba(15, 31, 122, 0.22);
    overflow: hidden;
}

/* ::before now carries the pet pattern (see the pattern rule further down), so
   the top-left ring moved onto the panel's own background-image and ::after
   keeps the bottom-right one. Same two rings, same geometry as before. */
.nsp-home-final-cta::after {
    content: "";
    position: absolute;
    border: 45px solid rgba(255,255,255,0.07);
    border-radius: 50%;
}

.nsp-home-final-cta::after {
    right: -100px;
    bottom: -120px;
    width: 320px;
    height: 320px;
}

.nsp-home-final-cta > * {
    position: relative;
    z-index: 1;
}

.nsp-home-final-cta > p {
    max-width: 750px;
    margin-right: auto;
    margin-left: auto;
    color: rgba(255,255,255,0.82);
}

.nsp-home-final-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.nsp-home-final-links a {
    color: rgba(255,255,255,0.78);
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
}

.nsp-home-final-links a:hover {
    color: #fff;
}

@media (max-width: 1199.98px) {
    .nsp-home-trust-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nsp-home-trust-item:nth-child(2) {
        border-right: 0;
    }

    .nsp-home-trust-item:nth-child(-n + 2) {
        border-bottom: 1px solid #e8ecf5;
    }
}

@media (max-width: 991.98px) {
    .nsp-home-editorial,
    .nsp-home-editorial > img {
        min-height: 0;
        height: 430px;
    }

    .nsp-home-coordination-grid {
        margin-top: 1rem;
    }
}

@media (max-width: 575.98px) {
    .nsp-home-section,
    .nsp-home-coordination,
    .nsp-home-final-cta {
        border-radius: 20px;
    }

    .nsp-home-trust-rail {
        grid-template-columns: 1fr;
    }

    .nsp-home-trust-item,
    .nsp-home-trust-item:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid #e8ecf5;
    }

    .nsp-home-trust-item:last-child {
        border-bottom: 0;
    }

    .nsp-home-editorial,
    .nsp-home-editorial > img {
        height: 350px;
    }

    .nsp-home-image-note {
        display: none;
    }

    .nsp-home-coordination-grid {
        grid-template-columns: 1fr;
    }

    .nsp-home-coordination-grid article {
        min-height: 0;
    }

    .nsp-home-service-card,
    .nsp-home-audience-card,
    .nsp-home-compare-card {
        padding: 1.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nsp-home-service-card,
    .nsp-home-standard-card,
    .nsp-home-service-card > a i {
        transition: none;
    }
}


/* ============================================================
   Plain bordered treatment — intake, services and FAQ sections.
   Matches the flat, thin-bordered surfaces used on /pricing:
   white ground, one hairline border, modest radius, no gradient
   wash and no drop shadow.
   ============================================================ */
.nsp-home-intake,
.nsp-home-services,
.nsp-home-faq {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    box-shadow: none;
}

/* Service cards read as plain bordered tiles, like the plan cards. */
.nsp-home-services .nsp-home-service-card {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    box-shadow: none;
}

/* The featured plan on /pricing is marked with a heavier brand border. */
.nsp-home-services .nsp-home-service-card-featured {
    background: #ffffff;
    border: 2px solid #0f1f7a;
    box-shadow: none;
}

.nsp-home-services .nsp-home-service-card:hover {
    transform: none;
    border-color: #0f1f7a;
    box-shadow: none;
}

/* Drop the decorative gradient rule across the top of each card. */
.nsp-home-services .nsp-home-service-card::before {
    display: none;
}

.nsp-home-services .nsp-home-service-icon {
    border-radius: 10px;
}

/* FAQ rows: hairline border, no lift. */
.nsp-home-faq .accordion-item {
    border: 1px solid #e9ecef;
    border-radius: 12px !important;
    box-shadow: none;
}

/* Editorial photo panel sits flat against the plain section. */
.nsp-home-intake .nsp-home-editorial {
    border-radius: 12px;
    box-shadow: none;
}

/* Federal Fair Housing Act band (national version of the state pages' block) */
.nsp-home-housing-law {
    padding: clamp(1.75rem, 4vw, 3rem);
    border-radius: 12px;
    background: #0f1f7a;
    color: #ffffff;
}

.nsp-home-housing-law h2 {
    font-size: clamp(1.35rem, 2.4vw, 1.9rem);
    line-height: 1.25;
}

.nsp-home-housing-law p {
    font-size: 0.95rem;
    line-height: 1.6;
}

.nsp-home-housing-law .nsp-home-kicker-light {
    color: #cdd7ff;
}

/* West Virginia pricing table + closing CTA (page-scoped) */
.wv-price-table th[scope="row"]{width:26%}
.wv-price-cell{white-space:nowrap}
.wv-price-cell strong{display:block;font-size:1.25rem;color:#7a3b12;font-weight:800}
.wv-price-cell a{display:inline-block;margin-top:.35rem;font-size:.82rem;font-weight:650;color:#7a3b12;text-decoration:underline}
.wv-close{max-width:700px;margin:0 auto 2rem;padding:2.4rem 1.5rem;text-align:center;background:#fdf8f4;border:1px solid #efe0d4;border-radius:14px}
.wv-close-title{font-size:clamp(1.35rem,3vw,1.85rem);font-weight:800;color:#1d2738;margin:0 0 .6rem}
.wv-close-sub{font-size:.94rem;color:#5a6478;margin:0 0 1.3rem}
.wv-close-btn{display:inline-block;padding:.8rem 2rem;border-radius:8px;background:#7a3b12;color:#fff;font-weight:700;text-decoration:none}
.wv-close-btn:hover{background:#5d2c0d;color:#fff}

/* Nebraska credentials block (page-scoped) */
.ne-cred{max-width:900px;margin:0 auto 3rem;padding:1.8rem;background:#fdfbf7;border:1px solid #ece3d6;border-radius:10px}
.ne-cred-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0}
.ne-cred-chip{font-size:.8rem;font-weight:650;color:#3d2a12;background:#fff;border:1px solid #e3d6c4;border-radius:20px;padding:.35rem .9rem}
.ne-note-dark{font-size:.85rem;line-height:1.6;color:#6b7280;margin:0}


/* CTA panel: background + radius to match /blog and /pricing.
   The top-left ring lives here as a background layer because ::before is the
   pattern; it is the same circle the ::before rule used to draw (260px box,
   45px stroke, offset -80px/-100px => outer r130, inner r85, centre 50px 30px). */
.nsp-home-final-cta {
    background-color: rgb(15 31 122) !important;
    background-image: radial-gradient(circle 130px at 50px 30px,
        rgba(255,255,255,0) 0 85px,
        rgba(255,255,255,0.07) 85px 130px,
        rgba(255,255,255,0) 130px);
    background-repeat: no-repeat;
    border-radius: 8px;
}

/* Pet pattern overlay, matching the hero treatment used across the site. */
.nsp-home-final-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(/static/images/pet-bg-pattern.png);
    background-repeat: repeat;
    background-size: 475px;
    filter: invert(1);
    opacity: 0.1;
    pointer-events: none;
    z-index: 0;
}

/* Fair-housing band: same pattern overlay. It had no positioning context of
   its own, so the panel needs relative + clipping for the layer to sit inside
   the rounded corners. */
.nsp-home-housing-law {
    position: relative;
    overflow: hidden;
}

.nsp-home-housing-law::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(/static/images/pet-bg-pattern.png);
    background-repeat: repeat;
    background-size: 475px;
    filter: invert(1);
    opacity: 0.1;
    pointer-events: none;
    z-index: 0;
}

/* Keep the wording and buttons above the pattern. */
.nsp-home-housing-law > * {
    position: relative;
    z-index: 1;
}


/* ── Home pricing cards ────────────────────────────────────────────────────
   The home page now renders the same card markup as /pricing. These rules are
   copied from view_pricing.css and scoped to the section so they cannot reach
   the rest of the home page - in particular that file's global .btn-primary
   override, which would otherwise restyle every primary button on the page. */
.nsp-home-pricing .pricing-card {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 15px;
    transition: all 0.3s ease;
}

.nsp-home-pricing .pricing-card:hover {
    border-color: #0f1f7a;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.nsp-home-pricing .pricing-card.popular {
    border: 2px solid #0f1f7a;
    box-shadow: 0 15px 35px rgba(15, 31, 122, 0.15);
    position: relative;
}

.nsp-home-pricing .popular-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    color: #fff;
    padding: 5px 20px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.nsp-home-pricing .pricing-price {
    font-size: 3.5rem;
    font-weight: 700;
    color: #0f1f7a;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.nsp-home-pricing .pricing-price span {
    font-size: 1rem;
    font-weight: 400;
    color: #6c757d;
}

.nsp-home-pricing .feature-check {
    color: #28a745;
}

.nsp-home-pricing .vp-eyebrow {
    display: inline-block;
    margin-bottom: 0.75rem;
    color: #0f1f7a;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.nsp-home-pricing .vp-price-sm {
    font-size: 2.25rem;
    font-weight: 700;
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.nsp-home-pricing .vp-addon-icon {
    width: 60px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: #f8f9fa;
    color: #0f1f7a;
    font-size: 1.5rem;
}

/* The featured card's filled button, as it appears on /pricing. */
.nsp-home-pricing .btn-primary {
    background: linear-gradient(135deg, #0f1f7a 0%, #0056b3 100%);
    border: none;
    border-radius: 10px;
    padding: 5px 21px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}


/* ── Hero: Psychology Today badge + the four-step path ────────────────────── */
.nsp-hero-verified {
    max-width: 260px;
    height: auto;
}

.nsp-hero-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.3rem 0.15rem;
    margin: 0;
    padding: 0;
    list-style: none;
    /* Sized so all four steps sit on one line in the hero column, with slack
       for font-rendering differences. It still wraps cleanly on narrow screens. */
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.1px;
    color: rgba(255, 255, 255, 0.92);
}

.nsp-hero-flow li {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    white-space: nowrap;
}

/* A plain arrow character rather than an icon font, so the separator can never
   fail to render. It trails each step instead of leading the next one, so a
   wrapped line never begins with a stray arrow. */
.nsp-hero-flow li:not(:last-child)::after {
    content: "\2192";
    margin: 0 0.1rem 0 0.35rem;
    color: rgba(255, 255, 255, 0.5);
    font-weight: 400;
}

.nsp-hero-flow i {
    font-size: 0.72rem;
}

/* ── Intake: the assurances line under the editorial image ────────────────── */
/* Two columns rather than free wrapping: the four labels never fit on one line
   in a half-width column, and 3-plus-1 reads as an accident. */
.nsp-intake-aside {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem 1.2rem;
    margin: 1.35rem 0 0;
    padding: 1.15rem 0 0;
    border-top: 1px solid #e6eaf2;
    list-style: none;
    font-size: 0.82rem;
    font-weight: 600;
    color: #55607a;
}

@media (max-width: 420px) {
    .nsp-intake-aside {
        grid-template-columns: 1fr;
    }
}

.nsp-intake-aside li {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.nsp-intake-aside i {
    color: #0f1f7a;
    font-size: 0.9rem;
}

/* ── Pricing cards: restore real button sizing ─────────────────────────────
   The rule copied from view_pricing.css sets padding 5px 21px, which cancels
   btn-lg and leaves the filled card button visibly flatter than the outline
   ones beside it. Match btn-lg instead so all three read as the same control. */
.nsp-home-pricing .btn-primary,
.nsp-home-pricing .btn-outline-primary {
    padding: 0.75rem 1.5rem;
    font-size: 1.05rem;
    line-height: 1.5;
    border-radius: 10px;
    border-width: 1px;
    border-style: solid;
}

/* The copied rule sets border:none on the filled variant, which left it 2px
   shorter than the outline ones beside it. Restore the width without painting
   a visible edge - and only here, so the outline buttons keep their own. */
.nsp-home-pricing .btn-primary {
    border-color: transparent;
}

.nsp-home-pricing .btn-outline-primary {
    border-color: #0f1f7a;
}

/* "Compare all pricing options" as a real button rather than a bare link. */
.nsp-home-pricing .btn-link {
    padding: 0.7rem 1.6rem;
    border: 1px solid #0f1f7a;
    border-radius: 10px;
    color: #0f1f7a;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.nsp-home-pricing .btn-link:hover,
.nsp-home-pricing .btn-link:focus-visible {
    background: #0f1f7a;
    color: #fff;
    text-decoration: none;
}
