/* A flatter, text-led homepage below the existing hero. */
main:has(> #services) > section:not(:first-of-type) h2,
main:has(> #services) > section:not(:first-of-type) h3 {
  font-family: Inter, Arial, sans-serif;
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1.1;
}
main:has(> #services) > section:not(:first-of-type) h3 { letter-spacing: -.03em; }

/* Proof is a compact line of facts, without four icon badges. */
main:has(> #services) > section:nth-of-type(2) { border-color: #dce7eb; }
main:has(> #services) > section:nth-of-type(2) > div > div > div {
  min-height: 94px;
  padding-top: 22px;
  padding-bottom: 22px;
  border-left: 1px solid #dce7eb;
}
main:has(> #services) > section:nth-of-type(2) > div > div > div:first-child { border-left: 0; }
main:has(> #services) > section:nth-of-type(2) > div > div > div > div:first-child { display: none; }
main:has(> #services) > section:nth-of-type(2) > div > div > div p:first-child {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.015em;
}
main:has(> #services) > section:nth-of-type(2) > div > div > div p:last-child { color: #627888; }

/* Work photography carries the services; dividers provide structure. */
#services { background: #fff; }
#services > div > div:first-child { margin-bottom: clamp(36px, 5vw, 64px); }
#services > div > div:first-child h2 { max-width: 18ch; }
#services > div > .relative.overflow-hidden {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#services > div > .relative.overflow-hidden:not(:last-child) {
  padding-bottom: clamp(26px, 3vw, 42px);
  margin-bottom: clamp(26px, 3vw, 42px);
  border-bottom: 1px solid #dce6ea;
}
#services > div > .relative.overflow-hidden:not(:last-child) > div.grid > div.flex { background: transparent; }
#services > div > .relative.overflow-hidden img { filter: none; }
#services > div > .relative.overflow-hidden a { color: #1e678b; }
#services > div > .relative.overflow-hidden a:hover { color: #154760; }
#services > div > .relative.overflow-hidden:last-child { overflow: hidden; }
#services > div > .relative.overflow-hidden:last-child a { color: #fff; }

/* Erik's actual work photo is the human counterpoint to the service images. */
.sv-owner { background: #edf3f5; }
.sv-owner-photo img { border-radius: 2px; }
.sv-owner-kicker {
  color: #326e8c;
  text-transform: none;
  letter-spacing: 0;
  font-size: 15px;
}
.sv-owner h2 { max-width: none; }

/* Steps read like a clear process rather than icon cards. */
main:has(> #services) > section.bg-slate-deep > div > div:has(> article) {
  gap: clamp(20px, 4vw, 54px);
  border: 0;
}
main:has(> #services) > section.bg-slate-deep article {
  padding: 26px 0 12px;
  border: 0;
  border-top: 1px solid #547081;
}
main:has(> #services) > section.bg-slate-deep article > div:first-child {
  justify-content: flex-start;
  margin-bottom: 26px;
}
main:has(> #services) > section.bg-slate-deep article > div:first-child > div { display: none; }
main:has(> #services) > section.bg-slate-deep article > div:first-child > span {
  display: block;
  color: #a7cfe0;
  font: 600 17px/1.2 Inter, Arial, sans-serif;
  letter-spacing: .05em;
}

/* A single featured review breaks up the repeated card rail. */
main:has(> #services) > section:has(.review-rail) { background: #fff; }
main:has(> #services) .review-rail { gap: 0; }
main:has(> #services) .review-rail article {
  width: min(84vw, 360px);
  min-height: 310px;
  padding: 30px;
  border: 0;
  border-left: 1px solid #d7e3e9;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
main:has(> #services) .review-rail article:first-child {
  width: min(86vw, 490px);
  padding: clamp(30px, 4vw, 46px);
  border-left: 3px solid #24789f;
  background: #eaf2f5;
}
main:has(> #services) .review-rail article:first-child blockquote p { font-size: clamp(23px, 2.5vw, 29px); }
main:has(> #services) .review-rail article > div:first-child > span { display: none; }
main:has(> #services) .review-rail article footer { border-color: #d7e3e9; }
main:has(> #services) .review-rail article footer div p:last-child { display: none; }

/* Square-off image panels and map without reducing interactive target sizes. */
main:has(> #services) > section:not(:first-of-type):has(video) .rounded-2xl { border-radius: 3px; }
main:has(> #services) > section:has(.cursor-col-resize) .cursor-col-resize { border-radius: 2px; }
.sv-area { background: #edf3f5; }
.sv-area-map { border-radius: 2px; }
.sv-area-label { font-size: 14px; letter-spacing: .1em; }

@media (max-width: 760px) {
  main:has(> #services) > section:nth-of-type(2) > div > div > div {
    min-height: 100px;
    padding: 20px 12px;
    border-top: 1px solid #dce7eb;
  }
  main:has(> #services) > section:nth-of-type(2) > div > div > div:nth-child(-n+2) { border-top: 0; }
  main:has(> #services) > section:nth-of-type(2) > div > div > div:nth-child(odd) { border-left: 0; }
  #services > div > .relative.overflow-hidden:not(:last-child) { padding-bottom: 28px; margin-bottom: 28px; }
  #services > div > .relative.overflow-hidden:not(:last-child) > div.grid > div.flex { padding-left: 0; padding-right: 0; }
  main:has(> #services) .review-rail article { width: 84vw; padding: 24px; }
  main:has(> #services) .review-rail article:first-child { width: 86vw; padding: 28px; }
}
