/* Homepage art direction: architectural editorial, warm stone and brass. */
.home .entry-content > .hero + .strip,
.home .entry-content > .strip + .section {
  margin-block-start: 0 !important;
}

.home .strip {
  padding: 15px 0;
}

.home .strip .eyebrow {
  letter-spacing: 2px;
}

.home .section-intro {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(32px, 6.5vw, 80px);
}

.home .section-intro h2 {
  max-width: 18ch;
  margin: 0 0 16px;
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: .96;
  letter-spacing: -.06em;
  text-wrap: balance;
}

.home .section-intro-copy {
  max-width: 500px;
  justify-self: end;
  color: #5b5851;
  font-size: 16px;
  line-height: 1.65;
}

.home .home-offer-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 14px;
  border: 0;
  background: transparent;
}

.home .home-offer-grid > .wp-block-group.card:nth-child(1) {
  grid-column: span 7;
}

.home .home-offer-grid > .wp-block-group.card:nth-child(2) {
  grid-column: span 5;
}

.home .home-offer-grid > .wp-block-group.card:nth-child(3) {
  grid-column: span 5;
}

.home .home-offer-grid > .wp-block-group.card:nth-child(4) {
  grid-column: span 7;
}

.home .home-offer-grid > .card:nth-child(5),
.home .home-offer-grid > .card:nth-child(6),
.home .home-offer-grid > .card:nth-child(7),
.home .home-offer-grid > .wp-block-group.card:nth-child(5),
.home .home-offer-grid > .wp-block-group.card:nth-child(6),
.home .home-offer-grid > .wp-block-group.card:nth-child(7) {
  grid-column: span 4;
}

.home .home-offer-grid > .wp-block-group.card {
  min-height: 370px;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, .18);
  transition: background-position .35s ease;
}

.home .home-offer-grid > .wp-block-group.card:hover {
  background-position: center 48%;
}

.home .home-offer-grid .card h3 {
  max-width: 15ch;
  font-size: clamp(28px, 3vw, 40px);
  letter-spacing: -.045em;
}

.home .home-offer-grid .card p:not(.card-number) {
  max-width: 42ch;
  font-size: 15px;
  line-height: 1.5;
}

.home .future-note {
  border-left: 0;
  border-top: 1px solid rgba(184, 138, 56, .7);
  background: #eeebe4;
}

.home .about-grid > :first-child h2 {
  max-width: 11ch;
  font-size: clamp(40px, 4.5vw, 60px);
  line-height: .95;
  letter-spacing: -.06em;
  text-wrap: balance;
}

@media (max-width: 900px) {
  .home .section-intro {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 38px;
  }

  .home .section-intro-copy {
    justify-self: start;
    max-width: 68ch;
  }

  .home .home-offer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home .home-offer-grid > .wp-block-group.card:nth-child(n) {
    grid-column: span 1;
    min-height: 320px;
  }
}

@media (max-width: 580px) {
  .home #start .eyebrow {
    font-size: 12px;
    letter-spacing: 1.7px;
  }

  .home .strip .eyebrow {
    font-size: 12px;
    letter-spacing: .8px;
    line-height: 1.45;
  }

  .home .home-offer-grid {
    grid-template-columns: 1fr;
  }

  .home .home-offer-grid > .wp-block-group.card:nth-child(n) {
    min-height: 280px;
    padding: 21px;
  }

  .home .home-offer-grid .card h3 {
    font-size: 27px;
  }

  .home .future-note {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 25px 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home .home-offer-grid > .wp-block-group.card {
    transition: none;
  }
}

/* A single spacing rhythm for every top-level homepage section. */
.home .entry-content > * + *,
.home main > * + * {
  margin-block-start: 0 !important;
}

.home .entry-content > .section:not(.hero),
.home main > .section:not(.hero) {
  padding-block: clamp(76px, 6.4vw, 92px);
}

.home .entry-content > .benefits,
.home main > .benefits {
  margin-block-start: 0 !important;
  padding-block: 26px;
}

.home .entry-content > .montage,
.home main > .montage {
  margin-block-start: 0 !important;
}

.home .section-intro {
  margin-bottom: 46px;
}

.home .future-note {
  margin-top: 30px;
}

.home .about-grid {
  gap: clamp(32px, 5vw, 72px);
}

.home .contact-grid {
  gap: clamp(42px, 6vw, 80px);
}

@media (max-width: 900px) {
  .home .entry-content > .section:not(.hero),
  .home main > .section:not(.hero) {
    padding-block: 68px;
  }

  .home .section-intro {
    margin-bottom: 34px;
  }
}

@media (max-width: 580px) {
  .home .entry-content > .section:not(.hero),
  .home main > .section:not(.hero) {
    padding-block: 54px;
  }

  .home .entry-content > .benefits,
  .home main > .benefits {
    padding-block: 20px;
  }

  .home .future-note {
    margin-top: 24px;
  }

  .home .section-intro {
    margin-bottom: 28px;
  }

  .home .about-grid,
  .home .contact-grid {
    gap: 28px;
  }
}
