.seo-overview {
  padding: clamp(72px, 9vw, 128px) clamp(20px, 7vw, 110px);
  background: #111;
  border-top: 1px solid var(--line);
}

.seo-lead,
.service-area {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: start;
}

.kicker {
  margin: 0 0 18px !important;
  color: var(--orange) !important;
  font-size: .72rem !important;
  letter-spacing: .16em;
}

.seo-overview h2,
.communities h2,
.service-area h2 {
  max-width: 850px;
  font-size: clamp(2.8rem, 5vw, 5rem);
}

.seo-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 7vw, 100px);
  margin: 54px 0 0 40px;
}

.seo-columns p,
.communities-copy > p,
.service-area p {
  margin: 0 0 20px;
  color: #aaa;
  line-height: 1.8;
}

.text-link {
  display: inline-block;
  margin-top: 14px;
  color: var(--orange);
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.communities {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(40px, 8vw, 120px);
  padding: clamp(72px, 9vw, 128px) clamp(20px, 7vw, 110px);
  background: var(--cream);
  color: var(--ink);
}

.communities-copy h2 { margin: 14px 0 30px; }
.communities-copy > p { margin-bottom: 34px; color: #555; }
.communities-list { align-self: center; margin: 0; padding: 0; border-top: 1px solid #bbb; list-style: none; }
.communities-list li { padding: 17px 0; border-bottom: 1px solid #bbb; }
.communities-list li::before { content: "+"; margin-right: 14px; color: var(--orange); font-weight: 800; }

.service-area {
  padding: clamp(60px, 8vw, 100px) clamp(20px, 7vw, 110px);
  background: #0d0d0d;
}

.service-area p { max-width: 850px; }

.contact-intro {
  max-width: 720px !important;
  margin: -35px 0 38px !important;
  color: #aaa !important;
  font-size: 1rem !important;
  line-height: 1.7;
  letter-spacing: 0 !important;
}

@media (max-width: 820px) {
  .seo-columns { grid-template-columns: 1fr; margin: 36px 0 0; }
  .communities { grid-template-columns: 1fr; }
}
