/* CTA: concise copy on the left, chat/lead-capture visual visible on the right. */
.ocf-cta {
    padding-top: var(--section-pad);
    background: linear-gradient(180deg, var(--ocf-bg) 0 50%, var(--dakota-band) 50% 100%);
}
.ocf-cta-panel {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 460px;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--dakota-band);
    color: var(--ocf-heading-alt);
    isolation: isolate;
}
.ocf-cta-media {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.ocf-cta-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg,
        rgba(13, 31, 61, .88) 0%,
        rgba(18, 43, 78, .78) 30%,
        rgba(24, 52, 88, .48) 49%,
        rgba(25, 51, 84, .10) 70%,
        rgba(25, 51, 84, .04) 100%);
}
.ocf-cta-copy {
    position: relative;
    max-width: 690px;
    padding: clamp(42px, 4.2vw, 76px) clamp(28px, 4.2vw, 76px);
}
.ocf-cta .heading-1 {
    max-width: 610px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.5rem, 4.1vw, 4.35rem);
    line-height: 1.06;
    letter-spacing: -.025em;
    text-wrap: balance;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .14);
}
.ocf-cta-description {
    max-width: 590px;
    margin: 22px 0 30px;
    color: rgba(255, 255, 255, .94);
    font-size: clamp(1.05rem, 1.35vw, 1.25rem);
    line-height: 1.65;
    text-shadow: 0 1px 10px rgba(0, 0, 0, .12);
}
.ocf-cta-actions { gap: 18px; }
.ocf-cta-actions .btn-primary { box-shadow: 0 8px 24px rgba(31, 103, 226, .24); }
@media (max-width: 900px) {
    .ocf-cta-panel { min-height: 400px; }
    .ocf-cta-panel::before {
        background: linear-gradient(90deg, rgba(13, 31, 61, .88), rgba(18, 43, 78, .68) 58%, rgba(25, 51, 84, .28));
    }
    .ocf-cta-copy { max-width: 650px; padding: 42px 34px; }
    .ocf-cta .heading-1 { font-size: clamp(2.35rem, 5.6vw, 3.5rem); }
}
@media (max-width: 640px) {
    .ocf-cta-panel { min-height: 0; }
    .ocf-cta-panel::before {
        background: linear-gradient(90deg, rgba(13, 31, 61, .88), rgba(18, 43, 78, .76));
    }
    .ocf-cta-copy { padding: 34px 25px; }
    .ocf-cta .heading-1 { font-size: clamp(2.15rem, 9vw, 3rem); }
    .ocf-cta-description { margin: 18px 0 24px; font-size: 1rem; }
    .ocf-cta-actions { flex-direction: column; align-items: stretch; }
    .ocf-cta-actions .dakota-call { align-self: flex-start; }
}
