﻿/* FINAL CTA */
.cta-final {
    background: var(--bg-soft);
    border-top: 1px solid var(--line);
    padding: 4rem 0;
}

    .cta-final .inner {
        max-width: 48rem;
        text-align: left;
    }

    .cta-final h2 {
        color: var(--navy);
        font-size: clamp(1.875rem, 3.25vw, 2.5rem);
        line-height: 1.15;
        margin: 0 0 1.25rem;
        max-width: 36rem;
    }

    .cta-final p {
        color: var(--text-2);
        font-size: 1rem;
        line-height: 1.6;
        max-width: 38rem;
        margin: 0 0 1.75rem;
    }

    .cta-final .reassurance {
        margin-top: 1.25rem;
        font-size: .8125rem;
        color: var(--text-3);
    }

/* Tablet */
@media (max-width: 768px) {
    .cta-final {
        padding: 3rem 0;
    }

        .cta-final .inner {
            max-width: 100%;
        }

        .cta-final h2 {
            max-width: 100%;
            margin-bottom: 1rem;
        }

        .cta-final p {
            max-width: 100%;
            margin-bottom: 1.5rem;
            line-height: 1.65;
        }
}

/* Mobile */
@media (max-width: 480px) {
    .cta-final {
        padding: 2.5rem 0;
    }

        .cta-final .inner {
            padding-left: 1rem;
            padding-right: 1rem;
        }

        .cta-final h2 {
            font-size: clamp(1.5rem, 8vw, 1.875rem);
            line-height: 1.2;
            margin-bottom: .875rem;
        }

        .cta-final p {
            font-size: .9375rem;
            line-height: 1.6;
            margin-bottom: 1.25rem;
        }

        .cta-final .btn {
            width: 100%;
            justify-content: center;
        }

        .cta-final .reassurance {
            margin-top: 1rem;
            font-size: .75rem;
            line-height: 1.5;
        }
}

/* Sticky mobile CTA */
.mobile-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    border-top: 1px solid var(--line);
    padding: .75rem 1rem;
    display: flex;
    gap: .625rem;
    z-index: 60;
    box-shadow: 0 -8px 24px rgba(15,23,42,.06);
}

    .mobile-cta .btn {
        flex: 1;
        padding: .75rem 1rem;
        font-size: .875rem;
    }

@media (min-width: 920px) {
    .mobile-cta {
        display: none;
    }
}

@media (max-width: 480px) {
    .mobile-cta {
        padding: .625rem .75rem;
    }

        .mobile-cta .btn {
            font-size: .8125rem;
            padding: .7rem .875rem;
        }
}
