/* ── FIT CTA Consultation Block ── */

.fit-cta-consultation {
    background: var(--brand-soft);
    padding: var(--space-64) 0;
    /* Full-bleed: break out of any constraining content wrapper */
    width: 100vw;
    margin-left: calc(50% - 50vw);
    box-sizing: border-box;
}

/* Neutralise the GP theme rule that gives .container (and .inside-article) a background */
.fit-cta-consultation .container,
.separate-containers .inside-article:has(.fit-cta-consultation) {
    background-color: transparent !important;
}

.fit-cta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-48);
    align-items: center;
}

/* ── Left: brand ── */
.fit-cta-brand {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-16);
}

.fit-cta-brand-img {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-12);
    object-fit: cover;
    flex-shrink: 0;
}

.fit-cta-brand-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.fit-cta-brand-name {
    font-size: var(--fs-18);
    font-weight: var(--weight-semibold);
    color: var(--ink);
    line-height: var(--lh-snug);
}

.fit-cta-brand-tagline {
    font-size: var(--fs-16);
    line-height: var(--lh-normal);
    color: var(--gray-ink);
    margin: 0;
}

/* ── Right: CTA content ── */
.fit-cta-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
}

.fit-cta-content h2 {
    font-size: var(--fs-32);
    font-weight: var(--weight-bold);
    color: var(--ink);
    line-height: var(--lh-snug);
    margin: 0;
}

.fit-cta-content p {
    font-size: var(--fs-16);
    line-height: var(--lh-normal);
    color: var(--ink);
    margin: 0;
}

.fit-cta-btn-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--space-12);
    align-items: flex-start;
}

/* Button inherits all .btn + .btn-primary styles; only force ink color on anchor state */
.fit-cta-consultation .btn-primary,
.fit-cta-consultation .btn-primary:visited {
    color: var(--brand-ink) !important;
    text-decoration: none;
}

.fit-cta-note {
    font-size: var(--fs-14);
    font-style: italic;
    color: var(--gray-ink);
    margin: 0;
}

/* ── Mobile ── */
@media (max-width: 782px) {
    .fit-cta-consultation {
        padding: var(--space-48) 0;
    }

    .fit-cta-grid {
        grid-template-columns: 1fr;
        gap: var(--space-32);
    }
}
