/* Community benefits: scoped to the insertable block pattern. */
.mcp-page-pines { display: none; }
@media (min-width: 1101px) {
  .planning-benefits.mcp-page-pine-anchor { overflow: visible; z-index: 2; }
  .mcp-page-pine-anchor .mcp-page-pines {
    display: block;
    position: absolute;
    inset: -70px 0 -100px;
    overflow: clip;
    pointer-events: none;
    z-index: 3;
    margin: 0;
  }
  .mcp-page-pines__branch {
    position: absolute;
    display: block;
    width: clamp(300px, 27vw, 460px);
    aspect-ratio: 2 / 1;
    background: url('../images/planning/pine.png') center / contain no-repeat;
  }
  .mcp-page-pines__branch--left { top: 190px; left: -150px; transform: rotate(-65deg); }
  .mcp-page-pines__branch--upper-right { top: 35px; right: -130px; transform: rotate(225deg); }
  .mcp-page-pines__branch--lower-right { bottom: 20px; right: -130px; transform: rotate(225deg); }
}
.planning-benefits {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-block: 0;
  padding: 54px 7% 90px;
  background: #003d31;
  color: #f6f0e9;
  font-family: var(--wp--preset--font-family--sora);
  letter-spacing: 0;
}
.planning-benefits::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url('../images/planning/benefits-pattern.jpg') center top / 1440px auto repeat;
  opacity: .13;
  pointer-events: none;
}
.planning-benefits .planning-benefits__inner { position: relative; max-width: 1080px; margin: 0 auto; }
.planning-benefits .planning-benefits__heading { margin: 0; color: inherit; text-align: center; font-size: 36px; line-height: 47px; font-weight: 400; }
.planning-benefits .planning-benefits__intro { max-width: 880px; margin: 24px auto 0; text-align: center; font-size: 18px; line-height: 26px; font-weight: 400; }
.planning-benefits .planning-benefits__expect { margin: 48px 0 50px; text-align: center; font-size: 27px; line-height: 48px; font-weight: 400; }
.planning-benefits .planning-benefits__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 70px; }
.planning-benefits .planning-benefits__item { display: grid; grid-template-columns: 145px minmax(0, 1fr); align-items: start; gap: 28px; margin: 0; }
.planning-benefits .planning-benefits__icon { display: flex; align-items: center; justify-content: center; width: 145px; height: 145px; margin: 0; }
.planning-benefits .planning-benefits__icon img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.planning-benefits .planning-benefits__copy { margin: 0; padding-top: 10px; }
.planning-benefits .planning-benefits__title { margin: 0 0 16px; color: inherit; font-size: 21px; line-height: 20px; font-weight: 700; }
.planning-benefits .planning-benefits__body { margin: 0; font-size: 16px; line-height: 24px; font-weight: 400; }
.planning-benefits .planning-benefits__item--wide { grid-column: 1 / -1; max-width: 900px; width: 100%; margin: 0 auto; }
@media (max-width: 1100px) {
  .planning-benefits .planning-benefits__grid { gap: 48px 32px; }
  .planning-benefits .planning-benefits__item { grid-template-columns: 110px minmax(0, 1fr); gap: 20px; }
  .planning-benefits .planning-benefits__icon { width: 110px; height: 130px; }
}
@media (max-width: 781px) {
  .planning-benefits { padding: 48px 7% 64px; }
  .planning-benefits .planning-benefits__heading { font-size: 30px; line-height: 40px; }
  .planning-benefits .planning-benefits__expect { font-size: 23px; line-height: 34px; margin: 36px 0; }
  .planning-benefits .planning-benefits__grid { grid-template-columns: 1fr; }
  .planning-benefits .planning-benefits__item--wide { grid-column: auto; }
  .planning-benefits .planning-benefits__title { line-height: 26px; }
}
@media (max-width: 420px) {
  .planning-benefits .planning-benefits__item { grid-template-columns: 76px minmax(0, 1fr); gap: 16px; }
  .planning-benefits .planning-benefits__icon { width: 76px; height: 100px; }
}
