/* v1.0.4 exact measured classes. No width/max-width/horizontal padding is set on the element. */
.agfcx-section,
.agfcx-section * { box-sizing: border-box; }

.agfcx-section {
    display: block;
    position: static;
    margin: 0 0 var(--agfcx-section-mb, 60px);
    padding: 0;
    background: transparent;
    color: var(--agfcx-title, #121317);
    font-family: inherit;
}

.agfcx-grid {
    position: relative;
    z-index: 1;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: normal;
    gap: var(--agfcx-gap, 48px);
    margin: 0;
    padding: 0 0 var(--agfcx-pb-desktop, 180px);
    border: 0;
    border-bottom: var(--agfcx-border-w, 1px) solid var(--agfcx-border, rgba(33,34,38,.06));
}

.agfcx-card {
    display: block;
    position: static;
    flex: 0 1 calc((100% - (2 * var(--agfcx-gap, 48px))) / 3);
    min-width: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--agfcx-title, #121317);
    font-family: inherit;
}

.agfcx-icon {
    display: block;
    width: var(--agfcx-icon-size, 56px);
    height: var(--agfcx-icon-size, 56px);
    margin: 0 0 var(--agfcx-icon-title-gap, 6.5px);
    padding: 0;
    color: var(--agfcx-icon, #121317);
    line-height: 1;
}

.agfcx-icon svg,
.agfcx-icon img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

.agfcx-icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.agfcx-icon-custom img { object-fit: contain; }

.agfcx-title,
.agfcx-text {
    position: static;
    display: block;
    padding: 0;
    font-family: inherit;
    text-align: start;
    text-transform: none;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
}

.agfcx-title {
    margin: 0 0 var(--agfcx-title-text-gap, 16px);
    color: var(--agfcx-title, #121317);
    font-size: var(--agfcx-title-size, 20px);
    font-weight: var(--agfcx-title-weight, 450);
    line-height: var(--agfcx-title-lh, 26px);
    letter-spacing: var(--agfcx-title-ls, -0.05px);
}

.agfcx-text {
    margin: 0;
    color: var(--agfcx-text, #45474d);
    font-size: var(--agfcx-body-size, 17.5px);
    font-weight: var(--agfcx-body-weight, 400);
    line-height: var(--agfcx-body-lh, 25.38px);
    letter-spacing: var(--agfcx-body-ls, 0.18px);
}

@media (min-width: 1600px) {
    .agfcx-section { --agfcx-gap: var(--agfcx-gap-wide, 64px); }
}

@media (max-width: 1024px) {
    .agfcx-grid { padding-bottom: var(--agfcx-pb-tablet, 120px); }
}

@media (max-width: 767px) {
    .agfcx-grid {
        flex-direction: column;
        row-gap: var(--agfcx-mobile-row-gap, 48px);
        column-gap: var(--agfcx-gap, 48px);
        padding-bottom: var(--agfcx-pb-mobile, 80px);
    }
    .agfcx-card { flex: 1 1 100%; width: 100%; }
}
