/* Styling for the pages built for search. Loaded after the page stylesheet so it wins.
   GoHighLevel flattened every heading inside a rich text block to 20px, which left the
   new pages with no hierarchy and links the same colour as the background. */

.te-body > :first-child { margin-top: 0 }
.te-body h2 { font-size: 27px !important; font-weight: 700 !important; line-height: 1.28 !important; margin: 38px 0 12px !important }
.te-body h3 { font-size: 20px !important; font-weight: 700 !important; line-height: 1.4 !important; margin: 24px 0 6px !important }
.te-body p  { margin: 0 0 15px !important }
.te-body ul { margin: 2px 0 20px !important; padding-left: 22px !important; list-style: disc !important }
.te-body li { margin: 0 0 7px !important }
.te-body a  { color: #7cc0ff !important; text-decoration: underline; text-underline-offset: 2px }
.te-body a:hover { color: #fff !important }
@media (max-width: 640px) {
  .te-body h2 { font-size: 23px !important; margin: 30px 0 10px !important }
  .te-body h3 { font-size: 19px !important }
}


/* Hero image. GoHighLevel shipped it lazy and unsized, so nothing reserved its space and
   the copy below jumped when it arrived (CLS 0.14 to 0.16, over Google's 0.1 threshold).
   Pinning the ratio reserves the box before the file lands, and crops the portrait job
   photos to a consistent landscape band instead of a very tall one. */
.cimage-IHwpZ7tcZ5 img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; height: auto }
@media (max-width: 640px) { .cimage-IHwpZ7tcZ5 img { aspect-ratio: 4 / 3 } }

/* Services and areas block, a full width band above the footer */
.te-footer-links-wrap { background: #07182a; padding: 30px 0 6px; width: 100% }
.te-footer-links {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 30px;
  max-width: 1140px; margin: 0 auto; padding: 0 18px;
  text-align: left; font-family: Lato, system-ui, sans-serif; font-size: 14px; line-height: 1.75;
}
.te-footer-links h2 { font-size: 15px !important; font-weight: 700 !important; color: #fff !important; margin: 0 0 8px !important; letter-spacing: .02em }
.te-footer-links ul { list-style: none !important; margin: 0 !important; padding: 0 !important }
.te-footer-links li { margin: 0 !important; padding: 0 !important }
.te-footer-links a, .te-footer-links span { color: rgba(255, 255, 255, .78) !important; text-decoration: none }
.te-footer-links a:hover { color: #fff !important; text-decoration: underline }
.te-footer-links span { color: rgba(255, 255, 255, .45) !important }
@media (max-width: 900px) { .te-footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px } }
@media (max-width: 560px) { .te-footer-links { font-size: 13px; line-height: 1.65; gap: 18px 16px } }
