.cc_hCf4wiNMOJ_jBJHezx7LY .ftx {
  width: 100%;
  font-family: var(--font-body, "Urbanist", sans-serif);
  box-sizing: border-box;
}

.cc_hCf4wiNMOJ_jBJHezx7LY .ftx *, .cc_hCf4wiNMOJ_jBJHezx7LY .ftx *::before, .cc_hCf4wiNMOJ_jBJHezx7LY .ftx *::after {
  box-sizing: border-box;
}

/* Width mirrors the theme container ladder (see HeaderTest/styles.css) */
.cc_hCf4wiNMOJ_jBJHezx7LY .ftx__inner {
  width: 100%;
  margin: 0 auto;
  padding-inline: var(--page-gutter-mobile, 10px);
  max-width: var(--container-1280, 1264px);
}

@media (min-width: 1024px) {
  .cc_hCf4wiNMOJ_jBJHezx7LY .ftx__inner {
    padding-inline: var(--page-gutter-desktop, 32px);
  }
}

@media (min-width: 1400px) {
  .cc_hCf4wiNMOJ_jBJHezx7LY .ftx__inner {
    max-width: var(--container-1400, 1390px);
  }
}

@media (min-width: 1500px) {
  .cc_hCf4wiNMOJ_jBJHezx7LY .ftx__inner {
    max-width: var(--container-1500, 1490px);
  }
}

@media (min-width: 1650px) {
  .cc_hCf4wiNMOJ_jBJHezx7LY .ftx__inner {
    max-width: var(--container-1650, 1540px);
  }
}

/* The dedicated items wrapper keeps the theme renderer's intermediate DOM
   out of the section container layout. Its wrappers are flattened so every
   FeatureItem participates in one predictable grid. */
.cc_hCf4wiNMOJ_jBJHezx7LY .ftx__items {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
}

.cc_hCf4wiNMOJ_jBJHezx7LY .ftx__items > *:not(.fti), .cc_hCf4wiNMOJ_jBJHezx7LY .ftx__items > * > *:not(.fti) {
  display: contents;
}

@media (min-width: 640px) {
  .cc_hCf4wiNMOJ_jBJHezx7LY .ftx {
    border-block: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  }

  .cc_hCf4wiNMOJ_jBJHezx7LY .ftx__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
