/* ============================================================
   SHARED FOOTER — DESKTOP (base) source
   Single source of truth for the site footer (desktop, >1024px).
   Tablet + mobile sources override this. hf- prefixed, class-based
   so they beat each page's legacy `footer{}` / `.footer-*` rules.
   (The header is NOT shared — it stays inline per page.)
   ============================================================ */

.hf-footer {
  background: #000; color: #fff;
  padding: 60px 100px 30px;
  font-family: Arial, sans-serif;   /* match the other pages (not index's Source Sans 3) */
}
.hf-footer-logo { margin-bottom: 10px; margin-left: 70px; }
.hf-footer-logo img { height: 120px; width: auto; }

.hf-footer-content {
  display: grid;
  grid-template-columns: 2fr 1.5fr 1fr;
  gap: 60px;
  margin-bottom: 50px;
}
.hf-footer-col h3 {
  margin-bottom: 20px; color: #fff; font-weight: normal;
  border-bottom: 1px solid #333; padding-bottom: 5px; letter-spacing: 1px;
}
.hf-footer-works { margin-top: 137px; }
/* Reserve a stable height for the location line so CONTACT US and WORKS
   line up at the same level across ALL desktop widths (it wraps to more
   lines as the column narrows — this covers the tallest 5-line case). */
.hf-footer-loc { min-height: 128px; }
.hf-footer-col ul { list-style: none; }
.hf-footer-col ul li { margin-bottom: 8px; }
.hf-footer-col ul a { text-decoration: none; color: #fff; transition: color .3s; }
.hf-footer-col ul a:hover { color: #6290FF; }
.hf-footer-col a,
.hf-footer-col p { color: #fff; text-decoration: none; font-size: 14px; transition: color .3s; line-height: 1.8; }
.hf-footer-col a:hover { color: #6290FF; }
.hf-footer-col h3 a { color: #fff; text-decoration: none; font-size: 18px; transition: color .3s; }
/* Make ONLY the ABOUT US link render like the plain headings (SERVICES / OUR
   LOCATION) so it lines up: inherit the h3's font-size and use a normal
   line-height (its default was a smaller 18px + 1.8 line-height, which sat low).
   WORKS is untouched, so it does not move. */
.hf-footer-about > h3:first-child a { font-size: inherit; line-height: normal; }
.hf-footer-col h3 a:hover { color: #6290FF; }
.hf-mt { margin-top: 0; }

.hf-footer-icons { display: flex; gap: 10px; margin-top: 15px; }
.hf-footer-icons a { color: #fff; }
.hf-footer-icons a:hover { color: #6290FF; }

.hf-footer-bottom { border-top: 1px solid #333; margin-top: 50px; color: #fff; font-size: 12px; }
.hf-footer-bottom-inner {
  padding: 30px 0; display: flex;
  justify-content: space-between; align-items: center;
}
.hf-footer-left, .hf-footer-right { margin: 0; white-space: nowrap; color: #fff; }
.hf-footer-right a { color: #fff; text-decoration: none; }
.hf-footer-right a:hover { color: #6290FF; }
