.cta {
    background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 100%);
    border-top:1px solid rgba(255,255,255,.14);
    position:relative;
    overflow:hidden
}

.cta::before {
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:420px;
    height:420px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%);
    pointer-events:none
}

.cta::after {
    content:"";
    position:absolute;
    bottom:-160px;
    left:-120px;
    width:460px;
    height:460px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(0,166,230,.25),transparent 70%);
    pointer-events:none
}

.cta .wrap {
    max-width:1280px;
    margin:auto;
    padding:64px 40px;
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    flex-wrap:wrap
}

.cta-text {
    flex:1;
    min-width:280px;
    max-width:700px
}

.cta-kicker {
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#ffd9a8;
    font-weight:700;
    margin-bottom:16px
}

.cta h2 {
    font-size:clamp(26px,3.4vw,44px);
    font-weight:900;
    line-height:1.12;
    letter-spacing:-1px;
    color:#fff;
    max-width:640px
}

.cta h2 .accent {
    color:#ffd9a8
}

.cta-sub {
    font-size:15px;
    color:rgba(255,255,255,.85);
    margin-top:16px;
    line-height:1.7;
    max-width:560px
}

.cta-action {
    flex:none
}

.cta-action .btn {
    background:#fff;
    border-color:#fff;
    color:var(--navy);
    font-size:14px;
    padding:17px 30px;
    box-shadow:0 12px 36px -10px rgba(0,0,0,.4)
}

.cta-action .btn:hover {
    background:var(--red);
    border-color:var(--red);
    color:#fff
}
