/* ---------- Icon Capability Grid (module markup + styles) ---------- */
.icon-capability-grid {
    background-color: var(--cap-bg, #FFFFFF);
    padding: var(--cap-top-spacing, 72px) 32px var(--cap-bottom-spacing, 72px);
}

.icon-capability-grid__wrap {
    max-width: 1200px;
    margin: 0 auto;
}

.icon-capability-grid__eyebrow {
    color: var(--cap-eyebrow-color, #E8610A);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.icon-capability-grid__heading {
    font-family: var(--cap-heading-font, 'Barlow Condensed', sans-serif);
    color: var(--cap-heading-color, #1B4F72);
    font-size: var(--cap-heading-size, 36px);
    font-weight: var(--cap-heading-weight, 700);
    margin: 10px 0 8px;
}

.icon-capability-grid__sub {
    font-family: var(--cap-sub-font, 'Inter', sans-serif);
    color: var(--cap-sub-color, #5B7083);
    font-size: var(--cap-sub-size, 16px);
    font-weight: var(--cap-sub-weight, 400);
    margin: 0 0 32px;
}

.icon-capability-grid__grid {
    display: grid;
    grid-template-columns: repeat(var(--cap-columns, 3), 1fr);
    gap: 24px;
}

.icon-capability-grid__card {
    background: var(--cap-card-bg, #FFFFFF);
    border: 1px solid var(--cap-card-border, #E5E7EB);
    border-radius: var(--cap-card-radius, 8px);
    padding: 24px;
}

.icon-capability-grid__icon-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--cap-icon-size, 44px);
    height: var(--cap-icon-size, 44px);
    border-radius: var(--cap-icon-radius, 50%);
    background: var(--cap-icon-bg, #EAF1F8);
    color: var(--cap-icon-color, #1B4F72);
    border: var(--cap-icon-border, none);
}

.icon-capability-grid__card-title {
    font-family: var(--cap-card-title-font, 'Barlow Condensed', sans-serif);
    color: var(--cap-card-title-color, #1B4F72);
    font-size: var(--cap-card-title-size, 18px);
    font-weight: var(--cap-card-title-weight, 700);
    margin: 18px 0 8px;
}

.icon-capability-grid__card-desc {
    font-family: var(--cap-card-desc-font, 'Inter', sans-serif);
    color: var(--cap-card-desc-color, #5B7083);
    font-size: var(--cap-card-desc-size, 14px);
    font-weight: var(--cap-card-desc-weight, 400);
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 991px) {
    .icon-capability-grid__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 599px) {
    .icon-capability-grid__grid {
        grid-template-columns: 1fr;
    }

    .icon-capability-grid {
        padding-left: 20px;
        padding-right: 20px;
    }
}