:root {
  --sidebar-width: 22rem;
  --layout-gap: 6rem;
  --wp--style--block-gap: clamp(3.5rem, 2.737rem + 1.404vw, 4rem);
}

@media (min-width: 1300px) {
  :root {
    --sidebar-width: 30rem;
    --layout-gap: 8rem;
  }
}
.icon-grid .title {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
  margin: 0 0 2.5rem 0;
}
.icon-grid .icon {
  width: 58px;
  height: 58px;
}
.icon-grid h3 {
  width: calc(100% - (58px + 1.5rem));
  font-family: var(--wp--preset--font-family--primary);
  font-size: var(--wp--preset--font-size--font-18);
  font-weight: 600;
  margin: 0;
}
.icon-grid__block {
  padding: 3rem 0;
}
@media (max-width: 699px) {
  .icon-grid__block {
    border-bottom: 1px solid #fff;
  }
  .icon-grid__block:first-child {
    padding-top: 0;
  }
  .icon-grid__block:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
}
@media (min-width: 700px) {
  .icon-grid {
    display: flex;
    flex-wrap: wrap;
    margin: -3rem;
    position: relative;
  }
  .icon-grid:before, .icon-grid:after {
    content: "";
    display: block;
    background: #eff1f0;
    position: absolute;
    z-index: 3;
  }
  .icon-grid:before {
    width: 100%;
    height: 3px;
    bottom: 0;
    left: 0;
  }
  .icon-grid:after {
    width: 3px;
    height: 100%;
    top: 0;
    right: 0;
  }
  .icon-grid__block {
    width: 50%;
    padding: 3rem;
    position: relative;
  }
  .icon-grid__block:before, .icon-grid__block:after {
    content: "";
    display: block;
    background: #fff;
    position: absolute;
  }
  .icon-grid__block:before {
    width: 1px;
    right: 0;
    top: 3rem;
    bottom: 3rem;
  }
  .icon-grid__block:after {
    height: 1px;
    bottom: 0;
    left: 3rem;
    right: 3rem;
  }
}
@media (min-width: 1200px) {
  .icon-grid__block {
    width: 25%;
  }
}