@property --bf-fb { syntax: "<number>"; inherits: true; initial-value: 0; }
@property --bf-capability-cards-tt { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --bf-capability-cards-tb { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --bf-capability-cards-ratio { syntax: "<number>"; inherits: true; initial-value: 1; }
@property --bf-capability-cards-pady-now { syntax: "<length>"; inherits: true; initial-value: 64px; }
@property --bf-capability-cards-padx-now { syntax: "<length>"; inherits: true; initial-value: 40px; }
@property --bf-capability-cards-cardgap-now { syntax: "<length>"; inherits: true; initial-value: 64px; }
@property --bf-capability-cards-bodygap-now { syntax: "<length>"; inherits: true; initial-value: 32px; }
@property --bf-capability-cards-icon-now { syntax: "<length>"; inherits: true; initial-value: 56px; }

.bf-capability-cards,
#top #wrap_all .bf-capability-cards.bf-capability-cards {
  --asc: 0.96875;
  --desc: 0.2412109375;
  --cap: 0.7275390625;
  --asc-t: var(--asc);
  --desc-t: var(--desc);
  --cap-t: var(--cap);
  --bf-capability-cards-font: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bf-capability-cards-mt-now: var(--bf-capability-cards-mt, 0px);
  display: block;
  box-sizing: border-box;
  color: var(--bf-capability-cards-text, #595959);
  font-family: var(--bf-capability-cards-font);
  letter-spacing: normal;
  border-color: transparent;
  margin-block-start: var(--bf-capability-cards-mt-now);
  margin-block-end: var(--bf-capability-cards-mb, 0px);
}

.bf-capability-cards .bf-capability-cards__grid,
#top #wrap_all .bf-capability-cards .bf-capability-cards__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, max(var(--bf-capability-cards-colmin, 260px), calc((100% - (var(--bf-capability-cards-cols, 4) - 1) * var(--bf-capability-cards-gap, 8px)) / var(--bf-capability-cards-cols, 4) - 0.05px))), 1fr));
  box-sizing: border-box;
  column-gap: var(--bf-capability-cards-gap, 8px);
  row-gap: var(--bf-capability-cards-gap, 8px);
  color: var(--bf-capability-cards-text, #595959);
  font-family: var(--bf-capability-cards-font);
  letter-spacing: normal;
  border-color: transparent;
}

.bf-capability-cards .bf-capability-cards__card,
#top #wrap_all .bf-capability-cards .bf-capability-cards__card {
  display: flex;
  flex-direction: column;
  container-type: inline-size;
  box-sizing: border-box;
  background-color: var(--bf-capability-cards-card-bg, #d9e4f1);
  border-radius: var(--bf-capability-cards-radius, 8px);
  color: var(--bf-capability-cards-text, #595959);
  font-family: var(--bf-capability-cards-font);
  letter-spacing: normal;
  border-color: transparent;
}

.bf-capability-cards .bf-capability-cards__inner,
#top #wrap_all .bf-capability-cards .bf-capability-cards__inner {
  --bf-capability-cards-ratio: min(1, tan(atan2(100cqi, 346px)));
  --bf-capability-cards-pady-now: max(min(32px, var(--bf-capability-cards-pad-y, 64px)), calc(var(--bf-capability-cards-pad-y, 64px) * var(--bf-capability-cards-ratio)));
  --bf-capability-cards-padx-now: max(min(24px, var(--bf-capability-cards-pad-x, 40px)), calc(var(--bf-capability-cards-pad-x, 40px) * var(--bf-capability-cards-ratio)));
  --bf-capability-cards-cardgap-now: max(min(32px, var(--bf-capability-cards-card-gap, 64px)), calc(var(--bf-capability-cards-card-gap, 64px) * var(--bf-capability-cards-ratio)));
  --bf-capability-cards-bodygap-now: max(min(20px, var(--bf-capability-cards-body-gap, 32px)), calc(var(--bf-capability-cards-body-gap, 32px) * var(--bf-capability-cards-ratio)));
  --bf-capability-cards-icon-now: max(min(40px, var(--bf-capability-cards-icon, 56px)), calc(var(--bf-capability-cards-icon, 56px) * var(--bf-capability-cards-ratio)));
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  box-sizing: border-box;
  row-gap: var(--bf-capability-cards-cardgap-now);
  padding-block-start: var(--bf-capability-cards-pady-now);
  padding-block-end: var(--bf-capability-cards-pady-now);
  padding-inline-start: var(--bf-capability-cards-padx-now);
  padding-inline-end: var(--bf-capability-cards-padx-now);
  color: var(--bf-capability-cards-text, #595959);
  font-family: var(--bf-capability-cards-font);
  letter-spacing: normal;
  border-color: transparent;
}

.bf-capability-cards .bf-capability-cards__icon,
#top #wrap_all .bf-capability-cards .bf-capability-cards__icon {
  display: block;
  box-sizing: border-box;
  block-size: var(--bf-capability-cards-icon-now);
  color: var(--bf-capability-cards-text, #595959);
  font-family: var(--bf-capability-cards-font);
  letter-spacing: normal;
  border-color: transparent;
}

.bf-capability-cards .bf-capability-cards__img,
#top #wrap_all .bf-capability-cards .bf-capability-cards__img {
  display: block;
  box-sizing: border-box;
  block-size: var(--bf-capability-cards-icon-now);
  inline-size: auto;
  max-inline-size: 100%;
  border-style: none;
  border-color: transparent;
  object-fit: contain;
  object-position: left center;
}

.bf-capability-cards .bf-capability-cards__body,
#top #wrap_all .bf-capability-cards .bf-capability-cards__body {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  row-gap: var(--bf-capability-cards-bodygap-now);
  color: var(--bf-capability-cards-text, #595959);
  font-family: var(--bf-capability-cards-font);
  letter-spacing: normal;
  border-color: transparent;
}

.bf-capability-cards .bf-capability-cards__title,
#top #wrap_all .bf-capability-cards .bf-capability-cards__title {
  --fs: 20px;
  --lh: 24px;
  box-sizing: border-box;
  font-size: var(--fs);
  line-height: var(--lh);
  font-weight: 500;
  text-transform: none;
  overflow-wrap: break-word;
  padding-block-start: 0;
  padding-block-end: 0;
  color: var(--bf-capability-cards-title, #1c1c1c);
  font-family: var(--bf-capability-cards-font);
  letter-spacing: -0.01em;
  border-color: transparent;
}

.bf-capability-cards .bf-capability-cards__text,
#top #wrap_all .bf-capability-cards .bf-capability-cards__text {
  --fs: 16px;
  --lh: 24px;
  box-sizing: border-box;
  font-size: var(--fs);
  line-height: var(--lh);
  font-weight: 400;
  overflow-wrap: break-word;
  color: var(--bf-capability-cards-text, #595959);
  font-family: var(--bf-capability-cards-font);
  letter-spacing: normal;
  border-color: transparent;
}

.bf-capability-cards .bf-capability-cards-t.bf-capability-cards-t,
#top #wrap_all .bf-capability-cards .bf-capability-cards-t.bf-capability-cards-t {
  display: block;
  --lead: calc((var(--lh) - (var(--asc-t) + var(--desc-t)) * var(--fs)) / 2);
  --bf-capability-cards-tt: calc(var(--bf-fb) * (var(--lead) + (var(--asc-t) - var(--cap-t)) * var(--fs)));
  --bf-capability-cards-tb: calc(var(--bf-fb) * (var(--lead) + var(--desc-t) * var(--fs)));
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  text-box: trim-both cap alphabetic;
  margin-block-start: calc(-1 * var(--bf-capability-cards-tt));
  margin-block-end: calc(-1 * var(--bf-capability-cards-tb));
}

@supports not ((text-box: trim-both cap alphabetic) or (text-box-trim: trim-both)) {
  .bf-capability-cards,
  #top #wrap_all .bf-capability-cards.bf-capability-cards {
    --bf-fb: 1;
  }
}

@media (min-width: 900px) and (max-width: 1199px) {
  .bf-capability-cards--scale,
  #top #wrap_all .bf-capability-cards--scale.bf-capability-cards--scale {
    --bf-capability-cards-mt-now: calc(var(--bf-capability-cards-mt, 0px) * 0.75);
  }
}

@media (max-width: 899px) {
  .bf-capability-cards--scale,
  #top #wrap_all .bf-capability-cards--scale.bf-capability-cards--scale {
    --bf-capability-cards-mt-now: calc(var(--bf-capability-cards-mt, 0px) * 0.6);
  }
}
