/* Summit View's shared type and interaction language. */
#root main h1,
#root main h2,
#root main h3 {
  font-family: Inter, Arial, sans-serif;
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: 1.1;
}
#root main h1 { letter-spacing: -.058em; line-height: 1.03; }
#root main h3 { letter-spacing: -.025em; }

/* Keep the homepage hero's composition and imagery; change only its title lettering. */
#root main:has(> #services) > section:first-of-type h1 {
  font-family: Inter, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -.067em;
  line-height: .96;
}

#root main p.text-glass-gray.text-sm { font-size: 15px; line-height: 1.65; }
#root main .uppercase[class*="tracking-"] { letter-spacing: .11em; }

/* Service packages and value statements read as content, not a grid of tiles. */
#root main .grid > .p-8.rounded-xl.border.bg-white {
  padding: 30px 4px 26px;
  border: 0;
  border-top: 1px solid #cfdfe6;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#root main .grid > .p-8.rounded-xl.border.bg-white:hover { border-top-color: #347d9f; }
#root main .rounded-xl,
#root main .rounded-2xl { border-radius: 4px; }
#root main .rounded-lg { border-radius: 5px; }

/* Light and white section changes add rhythm on the inner pages. */
#root main:not(:has(> #services)) > section.bg-summit-white:nth-of-type(even) {
  background: #f0f5f7;
}

#root main:has(> #services) > section:not(:first-of-type) .btn-primary,
#root main:has(> #services) > section:not(:first-of-type) .btn-secondary,
#root main:not(:has(> #services)) .btn-primary,
#root main:not(:has(> #services)) .btn-secondary {
  border-radius: 5px;
  box-shadow: none;
  letter-spacing: 0;
}
#root main:has(> #services) > section:not(:first-of-type) .btn-primary:hover,
#root main:has(> #services) > section:not(:first-of-type) .btn-secondary:hover,
#root main:not(:has(> #services)) .btn-primary:hover,
#root main:not(:has(> #services)) .btn-secondary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(13, 48, 68, .12);
}
#root main:has(> #services) > section:not(:first-of-type) .btn-primary:active,
#root main:has(> #services) > section:not(:first-of-type) .btn-secondary:active,
#root main:not(:has(> #services)) .btn-primary:active,
#root main:not(:has(> #services)) .btn-secondary:active { transform: translateY(0); box-shadow: none; }
#root main .sq-general { border-radius: 5px; box-shadow: none; font-family: Inter, Arial, sans-serif; }

/* Movement stays small and responds to the visitor's pointer. */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  #root main .rounded-xl img,
  #root main .rounded-2xl img {
    transition: transform .6s cubic-bezier(.2,.7,.2,1);
  }
  #root main .rounded-xl:hover img,
  #root main .rounded-2xl:hover img { transform: scale(1.025); }
}
@media (prefers-reduced-motion: reduce) {
  #root main:has(> #services) > section:not(:first-of-type) .btn-primary,
  #root main:has(> #services) > section:not(:first-of-type) .btn-secondary,
  #root main:not(:has(> #services)) .btn-primary,
  #root main:not(:has(> #services)) .btn-secondary,
  #root main .rounded-xl img,
  #root main .rounded-2xl img { transition: none; }
  #root main:has(> #services) > section:not(:first-of-type) .btn-primary:hover,
  #root main:has(> #services) > section:not(:first-of-type) .btn-secondary:hover,
  #root main:not(:has(> #services)) .btn-primary:hover,
  #root main:not(:has(> #services)) .btn-secondary:hover { transform: none; }
}

@media (max-width: 640px) {
  #root main:not(:has(> #services)) .btn-primary,
  #root main:not(:has(> #services)) .btn-secondary,
  #root main:has(> #services) > section:not(:first-of-type) .btn-primary,
  #root main:has(> #services) > section:not(:first-of-type) .btn-secondary {
    min-height: 48px;
    align-items: center;
    justify-content: center;
  }
  #root main button[aria-expanded] { min-height: 64px; }
}
