.cta {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--space-5);
    width: min(100% - 2rem, var(--container));
    margin-inline: auto;
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-xl);
    background: var(--cta-bg, linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04)));
    box-shadow: var(--shadow-soft);
}

.cta h2 {
    max-width: 12ch;
    margin-bottom: var(--space-2);
    font-size: clamp(1.2rem, 2.5vw, 1.8rem);
}

.cta p {
    max-width: 560px;
    margin-bottom: 0;
    font-size: 0.9rem;
}

@media (max-width: 760px) {
    .cta {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .cta .button {
        justify-self: center;
    }
}
