.portal-page .home-benefits {
  order: 2;
  padding: 64px max(24px, calc((100vw - 1120px) / 2)) 76px;
  background: #fff;
  color: #263f42;
}

.home-benefits-heading {
  margin: 0 auto 34px;
  text-align: center;
}

.home-benefits-heading > span {
  color: #e97858;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .06em;
}

.portal-page .home-tools-heading > span {
  color: #e97858 !important;
}

.home-benefits-heading h2 {
  margin: 8px 0 0;
  color: #243d41;
  font-size: clamp(30px, 3vw, 40px);
  font-weight: 800;
  line-height: 1.22;
}

.home-benefits-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 28px 18px;
  max-width: 1120px;
  margin: 0 auto;
}

.home-benefit {
  grid-column: span 2;
  min-width: 0;
  padding: 8px 15px 0;
  text-align: center;
}

.home-benefit:nth-child(4) { grid-column: 2 / span 2; }
.home-benefit:nth-child(5) { grid-column: 4 / span 2; }

.home-benefit-icon {
  width: 188px;
  height: 184px;
  margin: 0 auto 12px;
  background-image: url("images/home-benefit-icons-v1.png");
  background-repeat: no-repeat;
  background-size: 500% auto;
  background-position-y: center;
}

.home-benefit-icon-1 { background-position-x: 0%; }
.home-benefit-icon-2 { background-position-x: 25%; }
.home-benefit-icon-3 { background-position-x: 50%; }
.home-benefit-icon-4 { background-position-x: 75%; }
.home-benefit-icon-5 { background-position-x: 100%; }

.home-benefit h3 {
  margin: 0 0 8px;
  color: #087f7d;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.35;
}

.home-benefit p {
  max-width: 290px;
  margin: 0 auto;
  color: #536a6d;
  font-size: 16px;
  line-height: 1.68;
}

@media (max-width: 900px) {
  .portal-page .home-benefits { padding: 52px 28px 62px; }
  .home-benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 14px; }
  .home-benefit, .home-benefit:nth-child(4), .home-benefit:nth-child(5) { grid-column: auto; }
  .home-benefit:last-child { grid-column: 1 / -1; }
}

@media (max-width: 600px) {
  .portal-page .home-benefits { padding: 43px 18px 50px; }
  .home-benefits-heading { margin-bottom: 26px; }
  .home-benefits-grid { grid-template-columns: 1fr; gap: 12px; }
  .home-benefit, .home-benefit:last-child {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    grid-column: auto;
    column-gap: 12px;
    align-items: center;
    padding: 14px 5px;
    text-align: left;
  }
  .home-benefit-icon { grid-row: span 2; width: 100px; height: 92px; margin: 0; }
  .home-benefit h3 { align-self: end; margin-bottom: 4px; font-size: 18px; }
  .home-benefit p { align-self: start; max-width: none; margin: 0; font-size: 14px; line-height: 1.55; }
}
