/* Summit View homepage refinement. The hero and navigation are deliberately untouched. */
main:has(> #services) > section:nth-of-type(2) > div > div {
  gap: 0;
}
main:has(> #services) > section:nth-of-type(2) > div > div > div {
  min-height: 112px;
}
main:has(> #services) > section:nth-of-type(2) > div > div > div > div:first-child {
  border-radius: 6px;
  background: #edf4f6;
}
main:has(> #services) > section:nth-of-type(2) > div > div > div p:first-child {
  font-size: 15px;
  line-height: 1.35;
}
main:has(> #services) > section:nth-of-type(2) > div > div > div p:last-child {
  font-size: 14px;
  line-height: 1.45;
}

#services { background: #f7f9fa; }
#services > div > div:first-child { margin-bottom: clamp(32px, 5vw, 58px); }
#services > div > div:first-child p { max-width: 650px; }
#services > div > .relative.overflow-hidden {
  border: 1px solid #e0e7eb;
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
}
#services > div > .relative.overflow-hidden img { filter: saturate(.96); }
#services > div > .relative.overflow-hidden h3 { line-height: 1.1; }
#services > div > .relative.overflow-hidden a { min-height: 44px; font-size: 15px; }

.sv-owner {
  padding: clamp(70px, 9vw, 112px) 24px;
  background: #fff;
  color: #19364b;
}
.sv-owner-inner {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  align-items: center;
  gap: clamp(36px, 6vw, 98px);
  max-width: 1184px;
  margin: 0 auto;
}
.sv-owner-photo { margin: 0; }
.sv-owner-photo img {
  display: block;
  width: 100%;
  height: clamp(360px, 42vw, 510px);
  object-fit: cover;
  object-position: center 38%;
  border-radius: 6px;
}
.sv-owner-photo figcaption {
  padding-top: 12px;
  font: 500 13px/1.5 Inter, Arial, sans-serif;
  color: #637583;
}
.sv-owner-kicker {
  margin: 0 0 17px;
  color: #276f94;
  font: 700 13px/1.4 Inter, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.sv-owner h2 {
  max-width: 13ch;
  margin: 0 0 23px;
  font: 400 clamp(38px, 5vw, 66px)/1.02 'Instrument Serif', Georgia, serif;
  letter-spacing: -.025em;
}
.sv-owner-copy {
  max-width: 51ch;
  margin: 0 0 28px;
  color: #4e6473;
  font: 400 17px/1.7 Inter, Arial, sans-serif;
}
.sv-owner-link {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #277ba0;
  color: #195675;
  font: 700 15px/1.35 Inter, Arial, sans-serif;
  text-decoration: none;
}
.sv-owner-link:hover, .sv-owner-link:focus-visible { color: #0f364c; border-color: currentColor; }

main:has(> #services) > section.bg-slate-deep article > div:first-child { margin-bottom: 24px; }
main:has(> #services) > section.bg-slate-deep article { padding-top: 32px; padding-bottom: 32px; }
main:has(> #services) > section.bg-slate-deep article p { color: #d0dee6; }
main:has(> #services) > section.bg-slate-deep a[href^="tel:"] { font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }

main:has(> #services) > section:has(.review-rail) { background: #f4f7f8; }
main:has(> #services) .review-rail article {
  min-height: 290px;
  border-color: #dce5e9;
  border-radius: 7px;
  box-shadow: none;
}
main:has(> #services) .review-rail blockquote p { font-size: 21px; line-height: 1.45; }
main:has(> #services) .review-rail article footer p:last-child { color: #56768a; font-size: 13px; }
main:has(> #services) .review-rail + div button { width: 48px; height: 48px; }

main:has(> #services) > section:has(.cursor-col-resize) .cursor-col-resize { border-radius: 7px; }
main:has(> #services) > section:has(.cursor-col-resize) .cursor-col-resize:focus-visible { outline: 3px solid #226f98; outline-offset: 3px; }
main:has(> #services) > section:has(.cursor-col-resize) p { line-height: 1.65; }

main:has(> #services) > section:has(button[aria-expanded]) button[aria-expanded] {
  min-height: 64px;
  font-size: 17px;
  line-height: 1.45;
}
main:has(> #services) > section:has(button[aria-expanded]) button[aria-expanded]:focus-visible { outline: 2px solid #236d94; outline-offset: 2px; }

.sv-area { background: #f4f7f8; }
.sv-area-map { border-radius: 7px; box-shadow: none; }
.sv-map-caption { font-size: 14px; }
main:has(> #services) > section.bg-mountain-shadow { position: relative; isolation: isolate; }
main:has(> #services) > section.bg-mountain-shadow::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: '';
  background: linear-gradient(90deg, #142c3af2, #142c3adf), url('/after-home.jpg') center 43% / cover;
}
main:has(> #services) > section.bg-mountain-shadow p { color: #d2e1e8; }
main:has(> #services) > section.bg-mountain-shadow a { min-height: 48px; }

@media (max-width: 760px) {
  main:has(> #services) > section:nth-of-type(2) > div { padding-left: 12px; padding-right: 12px; }
  main:has(> #services) > section:nth-of-type(2) > div > div > div {
    min-height: 112px;
    padding: 17px 11px;
    gap: 8px;
  }
  main:has(> #services) > section:nth-of-type(2) > div > div > div p:first-child { font-size: 15px; }
  main:has(> #services) > section:nth-of-type(2) > div > div > div p:last-child { font-size: 13px; }
  #services > div > .relative.overflow-hidden .relative.h-\[300px\] { height: 260px; }
  .sv-owner { padding: 70px 20px 76px; }
  .sv-owner-inner { grid-template-columns: 1fr; gap: 30px; }
  .sv-owner-photo img { height: min(100vw, 440px); object-position: center 31%; }
  .sv-owner h2 { max-width: none; margin-bottom: 17px; }
  .sv-owner-copy { font-size: 16px; }
  main:has(> #services) .review-rail blockquote p { font-size: 20px; }
  main:has(> #services) > section:has(button[aria-expanded]) button[aria-expanded] { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  #services > div > .relative.overflow-hidden img { transition: none; }
}
