/* Killeen Backflow Testing overrides on top of the template stylesheet. */
:root { --accent: #1B65A6; }
.logo svg, .footer-logo svg { display: block; width: auto; }
.footer-logo { display: inline-block; margin-bottom: 12px; }
.footer-disclosure { font-size: 12.5px; line-height: 1.6; color: rgba(255,255,255,0.55); max-width: 900px; margin: 8px auto 24px; text-align: center; }
.benefits-list li span strong { color: var(--text); }
.form-note a { text-decoration: underline; }
.form-status.error a { color: inherit; text-decoration: underline; font-weight: 600; }
.legal-page h1 { font-size: clamp(28px, 4vw, 40px); margin-bottom: 8px; }
.legal-page h2 { font-size: 20px; margin: 32px 0 10px; }
.legal-page a { color: var(--accent); text-decoration: underline; }
/* Let the hero photo show through. */
.hero-overlay { background: linear-gradient(110deg, rgba(0,0,0,0.86) 0%, rgba(0,0,0,0.62) 45%, rgba(0,0,0,0.18) 100%); }
/* Template switches dropdowns to mobile style at 1024px but keeps the desktop bar until 768px,
   which crams the header on tablets. Use the hamburger menu up to 1024px. */
@media (max-width: 1024px) {
  .main-nav { display: none; position: absolute; top: 68px; left: 0; right: 0; background: #111; flex-direction: column; gap: 0; padding: 6px 0; border-top: 1px solid rgba(255,255,255,0.08); box-shadow: 0 8px 24px rgba(0,0,0,0.4); z-index: 100; max-height: calc(100vh - 68px); overflow-y: auto; }
  .main-nav.nav-open { display: flex; }
  .main-nav a { padding: 14px var(--gutter); font-size: 15px; color: rgba(255,255,255,0.8); border-bottom: 1px solid rgba(255,255,255,0.07); width: 100%; }
  .main-nav a:last-child { border-bottom: none; }
  .main-nav a::after { display: none; }
  .menu-toggle { display: flex; }
  .header-inner { position: relative; }
}
.label-hint { font-weight: 400; color: var(--text-light); font-size: 0.9em; }
.cf-turnstile { margin: 4px 0 10px; }
/* City pages: local area box with nearby links and map. */
.local-area { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); }
.local-area-body { padding: 32px; }
.local-area h2 { display: flex; align-items: center; gap: 10px; font-size: clamp(20px, 2.6vw, 26px); margin-bottom: 16px; }
.local-area h2 svg { color: var(--accent); flex-shrink: 0; }
.local-area h3 { font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-light); margin: 24px 0 12px; }
.local-area p a { color: var(--accent); font-weight: 600; }
.local-area .area-chip { cursor: pointer; }
.local-area iframe { display: block; width: 100%; height: 320px; border: 0; }
@media (max-width: 600px) { .local-area-body { padding: 22px 18px; } .local-area iframe { height: 260px; } }
/* Footer: every city page linked, full width under the columns. */
.footer-areas { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 24px; padding-bottom: 28px; }
.footer-areas h3 { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: #fff; margin-bottom: 12px; }
.footer-areas ul { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.footer-areas a { color: rgba(255,255,255,0.65); font-size: 13.5px; transition: color var(--transition); }
.footer-areas a:hover { color: #fff; }
.local-area .areas-chips { justify-content: flex-start; }
/* Service dropdown in lead forms, matched to the text inputs. */
.form-group select { width: 100%; padding: 11px 38px 11px 14px; border: 1.5px solid var(--border); border-radius: var(--radius); font-family: var(--font); font-size: 16px; color: var(--text); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23555' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center; -webkit-appearance: none; appearance: none; outline: none; transition: border-color var(--transition), box-shadow var(--transition); }
.form-group select:focus { border-color: var(--text); box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06); }
/* Compact hero form: paired fields, tighter header, so it sits level with the hero text. */
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.form-card--compact { padding: 24px 24px 20px; }
.form-card--compact .form-card-header { margin-bottom: 14px; padding-bottom: 12px; }
.form-card--compact .form-card-header h3 { font-size: 24px; }
.form-card--compact .form-group { margin-bottom: 11px; }
.form-card--compact .form-group textarea { min-height: 64px; }
.form-card--compact .btn-submit { padding: 13px; }
.form-card--compact .form-note { margin-top: 8px; font-size: 11.5px; }
@media (max-width: 420px) { .form-row { grid-template-columns: 1fr; } }
.local-zips { font-weight: 600; color: var(--text); letter-spacing: 0.3px; }
/* Page hero with the compact lead form beside the heading (all inner pages). */
.page-hero-inner--form { max-width: var(--max-width); display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; align-items: center; }
.page-hero-inner--form .page-hero-text { max-width: 640px; }
.page-hero-form .form-card { color: var(--text); }
@media (max-width: 1024px) { .page-hero-inner--form { grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; } }
@media (max-width: 860px) { .page-hero-inner--form { grid-template-columns: 1fr; gap: 28px; } }
.contact-map { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); box-shadow: var(--shadow-sm); }
.contact-map iframe { display: block; border: 0; }
