/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 28 2026 | 20:02:25 */
/* ============================================================================
   ALPHA SLIDING DOORS — MASTER CSS v1.0
   Brand: Florida blue (#1567D0) + gold (#C9A86A) from business card
   Desktop ≥1025px: 3-col card grids + sticky CTA sidebars
   Mobile ≤768px: stacked + horizontal swipe + sticky bottom call bar
   Homepage: overflow fixes only — luxury alux- design preserved
   ============================================================================ */

:root {
  --alpha-blue: #1567D0;
  --alpha-blue-dark: #0E52A8;
  --alpha-blue-mid: #1D77E6;
  --alpha-blue-light: #EBF3FF;
  --alpha-gold: #C9A86A;
  --alpha-gold-dark: #A8884D;
  --alpha-gold-light: #FBF6EC;
  --alpha-white: #FFFFFF;
  --alpha-gray-light: #F4F7FB;
  --alpha-gray-mid: #E2E8F3;
  --alpha-text: #1A2237;
  --alpha-text-mid: #4A5A7A;
  --alpha-text-light: #8B96B0;
  --alpha-radius: 8px;
  --alpha-radius-lg: 12px;
  --alpha-shadow: 0 2px 12px rgba(21,103,208,0.10), 0 1px 3px rgba(0,0,0,0.06);
  --alpha-shadow-hover: 0 8px 28px rgba(21,103,208,0.18), 0 2px 6px rgba(0,0,0,0.08);
  --alpha-transition: all 0.22s ease;
  --alpha-max: 1200px;
}

/* ─────────────────────────────────────────────────────────────────
   GLOBAL: Kill horizontal scroll everywhere
   ───────────────────────────────────────────────────────────────── */
html, body {
  overflow-x: clip !important;
  max-width: 100% !important;
}
*, *::before, *::after { box-sizing: border-box; }

img, video, iframe { max-width: 100%; height: auto; display: block; }

/* Hide reCAPTCHA badge that causes overflow */
.grecaptcha-badge {
  visibility: hidden !important;
  pointer-events: none !important;
  right: -9999px !important;
}

/* ─────────────────────────────────────────────────────────────────
   HOMEPAGE: Only fix marquee overflow — preserve luxury design
   ───────────────────────────────────────────────────────────────── */
body.home .alux-showcase,
body.home .alux-ticker,
body.home [class*="alux-marquee"] {
  overflow: hidden !important;
}
body.home .alux-marquee-row {
  will-change: transform;
}

/* ─────────────────────────────────────────────────────────────────
   ALL NON-HOME PAGES: Apply the bright Florida design
   ───────────────────────────────────────────────────────────────── */
body:not(.home) {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: var(--alpha-text);
  background: var(--alpha-white);
  font-size: 16px;
  line-height: 1.65;
}
body:not(.home) a {
  color: var(--alpha-blue);
  text-decoration: none;
  transition: var(--alpha-transition);
}
body:not(.home) a:hover {
  color: var(--alpha-blue-dark);
  text-decoration: underline;
}

/* ─────────────────────────────────────────────────────────────────
   TYPOGRAPHY (non-home pages)
   ───────────────────────────────────────────────────────────────── */
body:not(.home) h1 {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(28px, 4vw, 48px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: var(--alpha-text) !important;
  letter-spacing: -0.6px !important;
  margin: 0 0 16px !important;
}
body:not(.home) h2 {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--alpha-text) !important;
  letter-spacing: -0.3px !important;
  margin: 32px 0 14px !important;
}
body:not(.home) h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--alpha-text) !important;
  margin: 24px 0 10px !important;
}
body:not(.home) p {
  font-size: 15px !important;
  color: var(--alpha-text-mid) !important;
  line-height: 1.7 !important;
  margin: 0 0 14px !important;
}
body:not(.home) ul, body:not(.home) ol {
  margin: 0 0 16px;
  padding-left: 24px;
  color: var(--alpha-text-mid);
}
body:not(.home) li { margin-bottom: 6px; line-height: 1.65; }

/* ─────────────────────────────────────────────────────────────────
   LAYOUT PRIMITIVES
   ───────────────────────────────────────────────────────────────── */
.alpha-wrap {
  max-width: var(--alpha-max);
  margin: 0 auto;
  padding: 0 48px;
}
.alpha-section {
  padding: 72px 48px;
  background: var(--alpha-white);
}
.alpha-section-alt {
  padding: 72px 48px;
  background: var(--alpha-gray-light);
}
.alpha-section-blue {
  padding: 72px 48px;
  background: var(--alpha-blue);
  color: var(--alpha-white);
}
.alpha-section-blue h1,
.alpha-section-blue h2,
.alpha-section-blue h3 { color: var(--alpha-white) !important; }
.alpha-section-blue p { color: rgba(255,255,255,0.85) !important; }

.alpha-label {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--alpha-blue);
  margin-bottom: 12px;
}
.alpha-section-blue .alpha-label { color: rgba(255,255,255,0.7); }

.alpha-divider {
  width: 48px;
  height: 3px;
  background: var(--alpha-gold);
  border-radius: 2px;
  margin: 0 0 20px;
}
.alpha-divider-center { margin: 0 auto 20px; }

/* ─────────────────────────────────────────────────────────────────
   BUTTONS
   ───────────────────────────────────────────────────────────────── */
.alpha-btn,
a.alpha-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 28px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  border-radius: var(--alpha-radius);
  border: 2px solid transparent;
  text-decoration: none !important;
  cursor: pointer;
  white-space: nowrap;
  min-height: 48px;
  transition: var(--alpha-transition);
  letter-spacing: 0.2px;
}
.alpha-btn-blue {
  background: var(--alpha-blue);
  color: var(--alpha-white) !important;
  border-color: var(--alpha-blue);
}
.alpha-btn-blue:hover {
  background: var(--alpha-blue-dark);
  border-color: var(--alpha-blue-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(21,103,208,0.3);
}
.alpha-btn-gold {
  background: var(--alpha-gold);
  color: var(--alpha-text) !important;
  border-color: var(--alpha-gold);
}
.alpha-btn-gold:hover {
  background: var(--alpha-gold-dark);
  border-color: var(--alpha-gold-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(201,168,106,0.4);
}
.alpha-btn-outline {
  background: transparent;
  color: var(--alpha-blue) !important;
  border-color: var(--alpha-blue);
}
.alpha-btn-outline:hover {
  background: var(--alpha-blue);
  color: var(--alpha-white) !important;
}
.alpha-btn-white {
  background: var(--alpha-white);
  color: var(--alpha-blue) !important;
  border-color: var(--alpha-white);
}
.alpha-btn-white:hover { background: var(--alpha-blue-light); }

/* ─────────────────────────────────────────────────────────────────
   CARDS — the core design element
   ───────────────────────────────────────────────────────────────── */
.alpha-card {
  background: var(--alpha-white);
  border: 1px solid var(--alpha-gray-mid);
  border-radius: var(--alpha-radius);
  box-shadow: var(--alpha-shadow);
  transition: var(--alpha-transition);
  overflow: hidden;
  position: relative;
}
.alpha-card:hover {
  box-shadow: var(--alpha-shadow-hover);
  transform: translateY(-3px);
  border-color: rgba(21,103,208,0.25);
}
.alpha-card-accent { border-top: 3px solid var(--alpha-blue); }
.alpha-card-gold-accent { border-top: 3px solid var(--alpha-gold); }
.alpha-card-body { padding: 24px; }
.alpha-card-img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.alpha-card-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  padding: 4px 10px;
  border-radius: 4px;
  background: var(--alpha-blue-light);
  color: var(--alpha-blue);
  margin-bottom: 12px;
  text-transform: uppercase;
}
.alpha-card-badge-gold {
  background: var(--alpha-gold-light);
  color: var(--alpha-gold-dark);
}
.alpha-card-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--alpha-text);
  margin: 0 0 8px;
  line-height: 1.3;
}
.alpha-card-text {
  font-size: 14px;
  color: var(--alpha-text-mid);
  line-height: 1.6;
  margin: 0 0 16px;
}
.alpha-card-link {
  font-size: 13px;
  font-weight: 600;
  color: var(--alpha-blue);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}
.alpha-card-link::after { content: "→"; transition: transform 0.2s; }
.alpha-card:hover .alpha-card-link::after { transform: translateX(4px); }

/* ─────────────────────────────────────────────────────────────────
   GRIDS
   ───────────────────────────────────────────────────────────────── */
.alpha-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.alpha-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.alpha-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

/* ─────────────────────────────────────────────────────────────────
   PAGE HERO (county / service / about / inner pages)
   Bright blue gradient header
   ───────────────────────────────────────────────────────────────── */
.alpha-page-hero {
  background: linear-gradient(135deg, var(--alpha-blue) 0%, var(--alpha-blue-mid) 60%, #2BA8E8 100%);
  padding: 72px 48px 64px;
  position: relative;
  overflow: hidden;
  color: var(--alpha-white);
}
.alpha-page-hero::before {
  content: "";
  position: absolute;
  top: -40%; right: -10%;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  pointer-events: none;
}
.alpha-page-hero h1 {
  color: var(--alpha-white) !important;
  font-size: clamp(26px, 3.8vw, 44px) !important;
  margin-bottom: 12px !important;
}
.alpha-page-hero p {
  color: rgba(255,255,255,0.88) !important;
  font-size: 17px !important;
  max-width: 640px;
  margin: 0 0 20px !important;
}
.alpha-hero-breadcrumb {
  font-size: 12px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 16px;
}
.alpha-hero-breadcrumb a {
  color: rgba(255,255,255,0.8) !important;
  text-decoration: none;
}
.alpha-hero-breadcrumb a:hover { color: var(--alpha-white) !important; }
.alpha-hero-breadcrumb span::before { content: " › "; opacity: 0.6; }

/* ─────────────────────────────────────────────────────────────────
   TL;DR / QUICK ANSWER BOX (for AI Overviews)
   ───────────────────────────────────────────────────────────────── */
.alpha-tldr {
  background: var(--alpha-blue-light);
  border-left: 4px solid var(--alpha-blue);
  border-radius: 0 var(--alpha-radius) var(--alpha-radius) 0;
  padding: 20px 24px;
  margin: 0 0 32px;
}
.alpha-tldr-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  color: var(--alpha-blue);
  display: block;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.alpha-tldr p {
  font-size: 15px !important;
  color: var(--alpha-text) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* ─────────────────────────────────────────────────────────────────
   TRUST/STATS BAR
   ───────────────────────────────────────────────────────────────── */
.alpha-trust-bar {
  background: var(--alpha-blue);
  padding: 24px 48px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  text-align: center;
}
.alpha-trust-item {
  padding: 8px 16px;
  border-right: 1px solid rgba(255,255,255,0.15);
}
.alpha-trust-item:last-child { border-right: none; }
.alpha-trust-num {
  font-size: 28px;
  font-weight: 800;
  color: var(--alpha-white);
  display: block;
  line-height: 1;
}
.alpha-trust-num em {
  color: var(--alpha-gold);
  font-style: normal;
}
.alpha-trust-lbl {
  font-size: 11px;
  color: rgba(255,255,255,0.75);
  margin-top: 6px;
  letter-spacing: 1px;
  display: block;
}

/* ─────────────────────────────────────────────────────────────────
   SERVICE CARDS (icon + title + description)
   ───────────────────────────────────────────────────────────────── */
.alpha-svc-card {
  background: var(--alpha-white);
  border: 1px solid var(--alpha-gray-mid);
  border-radius: var(--alpha-radius);
  padding: 28px 24px;
  box-shadow: var(--alpha-shadow);
  border-top: 3px solid var(--alpha-blue);
  transition: var(--alpha-transition);
}
.alpha-svc-card:hover {
  box-shadow: var(--alpha-shadow-hover);
  transform: translateY(-3px);
  border-top-color: var(--alpha-gold);
}
.alpha-svc-icon {
  width: 48px; height: 48px;
  background: var(--alpha-blue-light);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 16px;
}
.alpha-svc-card h3 {
  font-size: 17px !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
}
.alpha-svc-card p {
  font-size: 13px !important;
  margin: 0 0 16px !important;
}
.alpha-svc-time {
  font-size: 11px;
  font-weight: 600;
  color: var(--alpha-blue);
  background: var(--alpha-blue-light);
  padding: 3px 10px;
  border-radius: 20px;
  display: inline-block;
}

/* ─────────────────────────────────────────────────────────────────
   COUNTY PAGE LAYOUT
   Desktop: content left + sticky CTA sidebar right
   Mobile: stacked, CTA below content
   ───────────────────────────────────────────────────────────────── */
.alpha-county-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 40px;
  max-width: var(--alpha-max);
  margin: 40px auto;
  padding: 0 48px;
  align-items: start;
}
.alpha-county-cta {
  background: var(--alpha-white);
  border: 1px solid var(--alpha-gray-mid);
  border-top: 3px solid var(--alpha-blue);
  border-radius: var(--alpha-radius);
  box-shadow: var(--alpha-shadow);
  padding: 28px;
  position: sticky;
  top: 90px;
}
.alpha-county-cta h3 {
  font-size: 18px !important;
  margin: 0 0 6px !important;
}
.alpha-county-cta .phone {
  font-size: 24px;
  font-weight: 800;
  color: var(--alpha-blue);
  display: block;
  margin: 12px 0;
  text-decoration: none;
  letter-spacing: -0.5px;
}
.alpha-county-cta .phone:hover { color: var(--alpha-blue-dark); }
.alpha-cta-divider {
  height: 1px;
  background: var(--alpha-gray-mid);
  margin: 16px 0;
}
.alpha-trust-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
}
.alpha-trust-list li {
  font-size: 13px;
  color: var(--alpha-text-mid);
  padding: 7px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--alpha-gray-mid);
}
.alpha-trust-list li:last-child { border-bottom: none; }
.alpha-trust-list li::before {
  content: "✓";
  color: var(--alpha-blue);
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}
.alpha-brand-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}
.alpha-brand-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border: 1px solid var(--alpha-gray-mid);
  border-radius: 4px;
  color: var(--alpha-text-mid);
  background: var(--alpha-gray-light);
}

/* ─────────────────────────────────────────────────────────────────
   COUNTY CARD GRID (locations index)
   ───────────────────────────────────────────────────────────────── */
.alpha-county-card {
  background: var(--alpha-white);
  border: 1px solid var(--alpha-gray-mid);
  border-left: 3px solid var(--alpha-blue);
  border-radius: var(--alpha-radius);
  padding: 20px;
  box-shadow: var(--alpha-shadow);
  transition: var(--alpha-transition);
  text-decoration: none !important;
  display: block;
}
.alpha-county-card:hover {
  box-shadow: var(--alpha-shadow-hover);
  transform: translateY(-2px);
  border-left-color: var(--alpha-gold);
  text-decoration: none !important;
}
.alpha-county-card h3 {
  font-size: 16px !important;
  margin: 0 0 4px !important;
}
.alpha-county-card .cities {
  font-size: 12px;
  color: var(--alpha-text-light);
  margin: 0 0 8px;
}
.alpha-county-card .county-phone {
  font-size: 14px;
  font-weight: 700;
  color: var(--alpha-blue);
}

/* ─────────────────────────────────────────────────────────────────
   BLOG CARDS
   ───────────────────────────────────────────────────────────────── */
.alpha-blog-card {
  background: var(--alpha-white);
  border: 1px solid var(--alpha-gray-mid);
  border-radius: var(--alpha-radius);
  box-shadow: var(--alpha-shadow);
  overflow: hidden;
  transition: var(--alpha-transition);
}
.alpha-blog-card:hover {
  box-shadow: var(--alpha-shadow-hover);
  transform: translateY(-3px);
}
.alpha-blog-card-img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.alpha-blog-card-body { padding: 20px; }
.alpha-blog-cat {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: var(--alpha-blue);
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block;
}
.alpha-blog-card-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 10px !important;
}
.alpha-blog-card-excerpt {
  font-size: 13px !important;
  margin: 0 0 16px !important;
}
.alpha-blog-meta {
  font-size: 12px;
  color: var(--alpha-text-light);
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Blog index hero */
.alpha-blog-hero {
  background: linear-gradient(135deg, var(--alpha-blue) 0%, #1D77E6 100%);
  padding: 64px 48px 48px;
  text-align: center;
  color: var(--alpha-white);
}
.alpha-blog-hero h1 { color: var(--alpha-white) !important; }
.alpha-blog-hero p { color: rgba(255,255,255,0.85) !important; max-width: 600px; margin: 0 auto !important; }

/* Category filter pills */
.alpha-cat-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 24px 48px;
  background: var(--alpha-white);
  border-bottom: 1px solid var(--alpha-gray-mid);
  justify-content: center;
}
.alpha-cat-pill {
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid var(--alpha-gray-mid);
  border-radius: 24px;
  color: var(--alpha-text-mid);
  text-decoration: none !important;
  transition: var(--alpha-transition);
  background: var(--alpha-white);
}
.alpha-cat-pill:hover, .alpha-cat-pill.active {
  background: var(--alpha-blue);
  color: var(--alpha-white) !important;
  border-color: var(--alpha-blue);
  text-decoration: none !important;
}

/* ─────────────────────────────────────────────────────────────────
   CTA STRIP (full-width blue section)
   ───────────────────────────────────────────────────────────────── */
.alpha-cta-strip {
  background: linear-gradient(135deg, var(--alpha-blue) 0%, var(--alpha-blue-dark) 100%);
  padding: 56px 48px;
  text-align: center;
  color: var(--alpha-white);
}
.alpha-cta-strip h2 {
  color: var(--alpha-white) !important;
  margin: 0 0 12px !important;
}
.alpha-cta-strip p {
  color: rgba(255,255,255,0.85) !important;
  max-width: 560px;
  margin: 0 auto 28px !important;
}
.alpha-cta-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ─────────────────────────────────────────────────────────────────
   FOOTER STYLING (non-home pages)
   ───────────────────────────────────────────────────────────────── */
body:not(.home) #colophon,
body:not(.home) .site-footer,
body:not(.home) .ast-footer-overlay {
  background: #1A2237 !important;
  color: var(--alpha-white) !important;
}
body:not(.home) #colophon a,
body:not(.home) .site-footer a {
  color: rgba(255,255,255,0.7) !important;
}
body:not(.home) #colophon a:hover,
body:not(.home) .site-footer a:hover {
  color: var(--alpha-gold) !important;
}

/* ─────────────────────────────────────────────────────────────────
   SECONDARY NAV / CITY NAV BLOCK
   ───────────────────────────────────────────────────────────────── */
.alpha-city-nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  padding: 32px 0;
  border-top: 1px solid var(--alpha-gray-mid);
  margin-top: 40px;
}
.alpha-city-nav-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  color: var(--alpha-blue);
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px;
}
.alpha-city-nav a {
  display: block;
  font-size: 13px;
  color: var(--alpha-text);
  text-decoration: none;
  margin-bottom: 4px;
  font-weight: 500;
}
.alpha-city-nav a:hover { color: var(--alpha-blue); }

/* ─────────────────────────────────────────────────────────────────
   ELEMENTOR / ASTRA OVERRIDES (non-home only)
   ───────────────────────────────────────────────────────────────── */
body:not(.home) .ast-page-banner-wrap { display: none !important; }
body:not(.home) .elementor-section,
body:not(.home) .e-con {
  max-width: 100% !important;
}
body:not(.home) .elementor-container {
  max-width: var(--alpha-max) !important;
}

/* ─────────────────────────────────────────────────────────────────
   UTILITIES
   ───────────────────────────────────────────────────────────────── */
.alpha-text-blue { color: var(--alpha-blue) !important; }
.alpha-text-gold { color: var(--alpha-gold) !important; }
.alpha-text-center { text-align: center !important; }
.alpha-text-white { color: var(--alpha-white) !important; }
.alpha-mb-0 { margin-bottom: 0 !important; }
.alpha-mb-16 { margin-bottom: 16px !important; }
.alpha-mb-24 { margin-bottom: 24px !important; }
.alpha-mb-40 { margin-bottom: 40px !important; }
.alpha-mt-0 { margin-top: 0 !important; }
.alpha-w-full { width: 100% !important; }
.alpha-flex { display: flex; }
.alpha-flex-center { display: flex; align-items: center; justify-content: center; }
.alpha-flex-wrap { flex-wrap: wrap; }
.alpha-gap-8 { gap: 8px; }
.alpha-gap-16 { gap: 16px; }
.alpha-gap-24 { gap: 24px; }

/* ─────────────────────────────────────────────────────────────────
   MOBILE STICKY BOTTOM CALL BAR
   Only shows ≤768px — always visible — blue + gold
   Add this HTML to footer (or use the wp_footer hook):
   <div class="alpha-sticky-bar">
     <a href="tel:+17722972401" class="sticky-call">📞 Call 772-297-2401</a>
     <a href="/contact-us/" class="sticky-estimate">Free Estimate</a>
   </div>
   ───────────────────────────────────────────────────────────────── */
.alpha-sticky-bar { display: none; }

/* ============================================================================
   DESKTOP — 1025px and above
   ============================================================================ */
@media (min-width: 1025px) {
  .alpha-section,
  .alpha-section-alt,
  .alpha-section-blue { padding: 80px 64px; }
  .alpha-county-layout { grid-template-columns: 1fr 320px; gap: 40px; padding: 0 48px; }
  .alpha-grid-3 { grid-template-columns: repeat(3, 1fr); }
  .alpha-grid-4 { grid-template-columns: repeat(4, 1fr); }
  .alpha-trust-bar { grid-template-columns: repeat(5, 1fr); }
}

/* ============================================================================
   TABLET — 769px to 1024px
   ============================================================================ */
@media (min-width: 769px) and (max-width: 1024px) {
  .alpha-section,
  .alpha-section-alt,
  .alpha-section-blue { padding: 56px 32px; }
  .alpha-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .alpha-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .alpha-trust-bar { grid-template-columns: repeat(3, 1fr); }
  .alpha-trust-bar .alpha-trust-item:nth-child(3) { border-right: none; }
  .alpha-county-layout {
    grid-template-columns: 1fr 280px;
    gap: 28px;
    padding: 0 32px;
  }
  .alpha-county-cta { padding: 22px; }
  .alpha-page-hero { padding: 56px 32px; }
}

/* ============================================================================
   MOBILE — 768px and below
   COMPLETELY DIFFERENT LAYOUT FROM DESKTOP
   ============================================================================ */
@media (max-width: 768px) {

  /* Sections — tighter padding */
  .alpha-section,
  .alpha-section-alt,
  .alpha-section-blue { padding: 40px 20px !important; }
  .alpha-wrap { padding: 0 20px; }
  .alpha-page-hero { padding: 40px 20px 36px; }
  .alpha-blog-hero { padding: 40px 20px 32px; }

  /* Typography — slightly smaller */
  body:not(.home) h1 { font-size: clamp(24px, 6vw, 30px) !important; }
  body:not(.home) h2 { font-size: clamp(20px, 5vw, 26px) !important; }
  body:not(.home) h3 { font-size: 18px !important; }
  body:not(.home) p { font-size: 15px !important; }

  /* All grids stack to single column on mobile */
  .alpha-grid-2,
  .alpha-grid-3,
  .alpha-grid-4 {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* COUNTY LAYOUT: stack, CTA goes BELOW content */
  .alpha-county-layout {
    grid-template-columns: 1fr !important;
    padding: 0 20px !important;
    gap: 24px !important;
    margin: 24px auto !important;
  }
  .alpha-county-cta {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 22px !important;
    order: 2;
  }

  /* TRUST BAR: 2x3 grid instead of horizontal */
  .alpha-trust-bar {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 20px 16px !important;
    gap: 0 !important;
  }
  .alpha-trust-item {
    border-right: 1px solid rgba(255,255,255,0.12) !important;
    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
    padding: 14px 8px !important;
  }
  .alpha-trust-item:nth-child(2n) { border-right: none !important; }
  .alpha-trust-item:nth-last-child(-n+2) { border-bottom: none !important; }
  .alpha-trust-num { font-size: 22px !important; }
  .alpha-trust-lbl { font-size: 10px !important; }

  /* SERVICE CARDS: Horizontal swipe strip (use class .alpha-swipe-mobile on parent) */
  .alpha-swipe-mobile,
  .alpha-grid-3.alpha-swipe-on-mobile {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch;
    gap: 14px !important;
    padding: 4px 20px 16px !important;
    margin: 0 -20px !important;
    scrollbar-width: none;
    grid-template-columns: none !important;
  }
  .alpha-swipe-mobile::-webkit-scrollbar,
  .alpha-grid-3.alpha-swipe-on-mobile::-webkit-scrollbar { display: none; }
  .alpha-swipe-mobile > *,
  .alpha-grid-3.alpha-swipe-on-mobile > * {
    flex: 0 0 280px !important;
    scroll-snap-align: start;
    max-width: 280px !important;
  }

  /* Swipe hint */
  .alpha-swipe-hint {
    display: block !important;
    text-align: center;
    font-size: 11px;
    color: var(--alpha-text-light);
    margin-top: 8px;
    letter-spacing: 1px;
  }
  .alpha-swipe-hint::before { content: "← Swipe →"; }

  /* BLOG CARDS: horizontal layout (image left, text right) */
  .alpha-blog-card {
    display: grid !important;
    grid-template-columns: 110px 1fr !important;
    align-items: stretch;
  }
  .alpha-blog-card-img {
    width: 110px !important;
    height: 100% !important;
    aspect-ratio: unset !important;
  }
  .alpha-blog-card-body { padding: 14px !important; }
  .alpha-blog-card-title { font-size: 14px !important; }
  .alpha-blog-card-excerpt { display: none !important; }

  /* Buttons full width on mobile */
  .alpha-cta-btns { flex-direction: column; align-items: stretch; }
  .alpha-cta-btns .alpha-btn {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }

  /* Category pills horizontal scroll */
  .alpha-cat-filters {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding: 16px 20px !important;
    justify-content: flex-start !important;
    scrollbar-width: none;
  }
  .alpha-cat-filters::-webkit-scrollbar { display: none; }
  .alpha-cat-pill {
    white-space: nowrap;
    flex-shrink: 0;
  }

  /* City nav — single column */
  .alpha-city-nav { grid-template-columns: 1fr !important; }

  /* ──────────────────────────
     STICKY MOBILE CALL BAR
     ────────────────────────── */
  .alpha-sticky-bar {
    display: flex !important;
    position: fixed !important;
    bottom: 0; left: 0; right: 0;
    z-index: 9999;
    height: 56px;
    box-shadow: 0 -2px 16px rgba(0,0,0,0.15);
  }
  .alpha-sticky-bar a.sticky-call {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--alpha-blue);
    color: var(--alpha-white) !important;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    letter-spacing: 0.3px;
  }
  .alpha-sticky-bar a.sticky-estimate {
    flex: 0 0 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--alpha-gold);
    color: var(--alpha-text) !important;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    border-left: 2px solid rgba(255,255,255,0.2);
  }

  /* Push body up so sticky bar doesn't cover content */
  body:not(.home) { padding-bottom: 56px !important; }
}

/* Show/hide helpers */
.alpha-mobile-only { display: none; }
.alpha-desktop-only { display: block; }
@media (max-width: 768px) {
  .alpha-mobile-only { display: block; }
  .alpha-desktop-only { display: none !important; }
}

/* ============================================================================
   END ALPHA MASTER CSS
   ============================================================================ */

/* ============================================================================
   ALPHA MASTER CSS — PATCH 1
   Fixes: hero H1 color, timeline layout, animations, quote block
   Append AFTER the master CSS — do not replace
   ============================================================================ */

/* ─────────────────────────────────────────────────────────────────
   FIX 1: HERO H1 + LEDE — force white with higher specificity
   ───────────────────────────────────────────────────────────────── */
body:not(.home) .alpha-page-hero h1,
body:not(.home) .alpha-blog-hero h1,
body:not(.home) .alpha-page-hero .alpha-hero-title,
.alpha-page-hero h1,
.alpha-page-hero h1.entry-title,
section.alpha-page-hero h1 {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
  text-shadow: 0 2px 16px rgba(0,0,0,0.18);
}
body:not(.home) .alpha-page-hero p,
body:not(.home) .alpha-page-hero .alpha-lede,
.alpha-page-hero p {
  color: rgba(255,255,255,0.92) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
}
body:not(.home) .alpha-page-hero .alpha-hero-breadcrumb,
.alpha-page-hero .alpha-hero-breadcrumb,
.alpha-page-hero .alpha-hero-breadcrumb a {
  color: rgba(255,255,255,0.75) !important;
}

/* Hero gets a soft animated gradient + glow */
.alpha-page-hero {
  background: linear-gradient(135deg, #1567D0 0%, #1D77E6 50%, #2BA8E8 100%) !important;
  position: relative;
  overflow: hidden;
}
.alpha-page-hero::after {
  content: "";
  position: absolute;
  top: -30%; left: -20%;
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(201,168,106,0.18) 0%, transparent 60%);
  pointer-events: none;
}
/* Gold underline accent under H1 */
.alpha-page-hero h1::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  background: #C9A86A;
  border-radius: 2px;
  margin-top: 16px;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 2: TIMELINE — turn into card blocks, not narrow columns
   ───────────────────────────────────────────────────────────────── */
.abt-timeline {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 32px;
}
.abt-yr {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  padding: 24px 28px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F3 !important;
  border-left: 4px solid #1567D0 !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 12px rgba(21,103,208,0.08) !important;
  transition: all 0.25s ease !important;
}
.abt-yr:hover {
  transform: translateY(-3px);
  border-left-color: #C9A86A !important;
  box-shadow: 0 8px 24px rgba(21,103,208,0.15) !important;
}
.abt-yr-num {
  display: inline-block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  color: #1567D0 !important;
  background: #EBF3FF;
  padding: 4px 12px;
  border-radius: 6px;
  margin-bottom: 12px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}
.abt-yr-text {
  display: block !important;
  font-size: 15px !important;
  color: #4A5A7A !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  padding-top: 0 !important;
}
@media (max-width: 768px) {
  .abt-timeline { grid-template-columns: 1fr !important; }
}

/* ─────────────────────────────────────────────────────────────────
   FIX 3: QUOTE BLOCK styling
   ───────────────────────────────────────────────────────────────── */
.abt-quote-block,
blockquote.abt-quote-block {
  background: linear-gradient(135deg, #EBF3FF 0%, #FBF6EC 100%) !important;
  border-left: 4px solid #C9A86A !important;
  border-radius: 0 8px 8px 0;
  padding: 28px 32px !important;
  margin: 28px 0 !important;
  position: relative;
}
.abt-quote-block::before {
  content: """;
  position: absolute;
  top: -16px; left: 16px;
  font-family: Georgia, serif;
  font-size: 80px;
  color: #C9A86A;
  opacity: 0.3;
  line-height: 1;
}
.abt-quote-block p {
  font-family: 'Inter', sans-serif !important;
  font-size: 17px !important;
  font-style: italic !important;
  color: #1A2237 !important;
  line-height: 1.55 !important;
  margin: 0 0 12px !important;
  font-weight: 500 !important;
}
.abt-quote-attrib,
.abt-quote-block cite {
  display: block;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  color: #1567D0 !important;
  font-style: normal !important;
  text-transform: uppercase;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 4: SECTION EYEBROWS — gold accent line
   ───────────────────────────────────────────────────────────────── */
.abt-section-eyebrow,
.alpha-label {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  color: #1567D0 !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px;
  border-bottom: 2px solid #C9A86A;
  width: fit-content;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 5: H2 styling — left blue accent bar
   ───────────────────────────────────────────────────────────────── */
body:not(.home) .abt-section h2,
body:not(.home) .alpha-section h2,
body:not(.home) .alpha-section-alt h2 {
  position: relative;
  padding-left: 18px;
  font-size: clamp(26px, 3.5vw, 38px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  margin: 32px 0 20px !important;
}
body:not(.home) .abt-section h2::before,
body:not(.home) .alpha-section h2::before,
body:not(.home) .alpha-section-alt h2::before {
  content: "";
  position: absolute;
  left: 0; top: 8px; bottom: 8px;
  width: 4px;
  background: linear-gradient(180deg, #1567D0 0%, #C9A86A 100%);
  border-radius: 2px;
}
body:not(.home) .abt-section h2 em,
body:not(.home) .alpha-section h2 em,
body:not(.home) .alpha-section-alt h2 em {
  color: #1567D0 !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 6: STATS BAR — animate numbers in
   ───────────────────────────────────────────────────────────────── */
.abt-stats,
.alpha-trust-bar {
  background: linear-gradient(135deg, #1567D0 0%, #1D77E6 100%) !important;
}
.abt-stat-num,
.alpha-trust-num {
  font-weight: 800 !important;
  letter-spacing: -1px !important;
}
.abt-stat-num em,
.alpha-trust-num em {
  color: #C9A86A !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
.abt-stat-lbl,
.alpha-trust-lbl {
  color: rgba(255,255,255,0.85) !important;
  font-weight: 600 !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 7: SCROLL-TRIGGERED ANIMATIONS
   ───────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {

  /* Fade-up entrance for sections */
  .abt-section,
  .alpha-section,
  .alpha-section-alt {
  }

  /* Card hover lift */
  .abt-yr,
  .abt-diff-card,
  .alpha-card,
  .alpha-svc-card,
  .alpha-county-card,
  .alpha-blog-card,
  .abt-cred-item {
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1),
                box-shadow 0.3s ease,
                border-color 0.3s ease !important;
  }
  .abt-yr:hover,
  .abt-diff-card:hover,
  .alpha-card:hover,
  .alpha-svc-card:hover,
  .alpha-county-card:hover,
  .alpha-blog-card:hover,
  .abt-cred-item:hover {
    transform: translateY(-4px) !important;
  }

  /* Hero entrance animation */
  .alpha-page-hero h1 {
  }
  .alpha-page-hero p,
  .alpha-page-hero .alpha-lede {
  }
  .alpha-page-hero .alpha-hero-breadcrumb {
  }
  .abt-tldr,
  .alpha-tldr {
  }

  /* Stats numbers count-up feel */
  .abt-stat,
  .alpha-trust-item {
  }
  /* Buttons get a shine */
  .alpha-btn,
  a.alpha-btn {
    position: relative;
    overflow: hidden;
  }
  .alpha-btn::before,
  a.alpha-btn::before {
    content: "";
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.25) 50%, transparent 100%);
    transition: left 0.5s ease;
  }
  .alpha-btn:hover::before,
  a.alpha-btn:hover::before { left: 100%; }
}

/* ─────────────────────────────────────────────────────────────────
   FIX 8: TL;DR — animated left border + better text contrast
   ───────────────────────────────────────────────────────────────── */
.abt-tldr,
.alpha-tldr {
  background: linear-gradient(135deg, #EBF3FF 0%, #F4F7FB 100%) !important;
  border-left: 4px solid #1567D0 !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 22px 28px !important;
  position: relative;
  margin: 24px 0 32px !important;
}
.abt-tldr::before,
.alpha-tldr::before {
  content: "";
  position: absolute;
  left: -4px; top: 0;
  width: 4px; height: 0;
  background: #C9A86A;
  transition: height 0.6s ease;
}
.abt-tldr:hover::before,
.alpha-tldr:hover::before { height: 100%; }
.abt-tldr p,
.alpha-tldr p {
  font-size: 15.5px !important;
  color: #1A2237 !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
.abt-tldr-label,
.alpha-tldr-label {
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 2.5px !important;
  color: #1567D0 !important;
  display: inline-block !important;
  margin-bottom: 10px !important;
  padding: 3px 10px;
  background: #FFFFFF;
  border-radius: 4px;
  border: 1px solid rgba(21,103,208,0.2);
}

/* ─────────────────────────────────────────────────────────────────
   FIX 9: FOUNDER PORTRAIT — subtle frame glow
   ───────────────────────────────────────────────────────────────── */
.abt-founder-img {
  position: relative;
  border: 2px solid #1567D0 !important;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(21,103,208,0.18);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.abt-founder-img:hover {
  transform: scale(1.02);
  box-shadow: 0 20px 60px rgba(21,103,208,0.28);
}
.abt-founder-img::before,
.abt-founder-img::after,
.abt-founder-img .corner-bl,
.abt-founder-img .corner-br {
  border-color: #C9A86A !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 10: DIFFERENTIATOR CARDS
   ───────────────────────────────────────────────────────────────── */
.abt-diff-grid {
  background: transparent !important;
  gap: 16px !important;
  margin-top: 32px;
}
.abt-diff-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F3 !important;
  border-top: 3px solid #1567D0 !important;
  border-radius: 8px !important;
  padding: 28px 24px !important;
  box-shadow: 0 2px 12px rgba(21,103,208,0.08) !important;
  transition: all 0.3s ease !important;
}
.abt-diff-card:hover {
  border-top-color: #C9A86A !important;
  box-shadow: 0 12px 32px rgba(21,103,208,0.15) !important;
}
.abt-diff-icon {
  width: 48px; height: 48px;
  background: #EBF3FF;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 16px !important;
}
.abt-diff-card:hover .abt-diff-icon {
  background: #FBF6EC;
  transform: rotate(-4deg) scale(1.05);
  transition: all 0.3s ease;
}
.abt-diff-card h3 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1A2237 !important;
  margin: 0 0 8px !important;
}
.abt-diff-card p {
  font-size: 14px !important;
  color: #4A5A7A !important;
  margin: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 11: COMPARISON TABLE (Alpha vs the rest)
   ───────────────────────────────────────────────────────────────── */
.abt-compare {
  background: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(21,103,208,0.08);
  border: 1px solid #E2E8F3;
}
.abt-compare th {
  background: #1A2237 !important;
  color: rgba(255,255,255,0.95) !important;
  padding: 16px !important;
  font-weight: 700 !important;
}
.abt-compare th.alpha-col {
  background: linear-gradient(135deg, #1567D0 0%, #1D77E6 100%) !important;
  color: #FFFFFF !important;
}
.abt-compare td {
  color: #4A5A7A !important;
  border-bottom: 1px solid #F4F7FB !important;
  padding: 16px !important;
}
.abt-compare td.alpha-col {
  background: rgba(21,103,208,0.04) !important;
  color: #1A2237 !important;
  font-weight: 600 !important;
  border-left: 3px solid #1567D0;
  border-right: 3px solid #1567D0;
}
.abt-compare .check { color: #1567D0 !important; font-weight: 700; }
.abt-compare .cross { color: #C9CFD9 !important; }
.abt-compare tr:hover td:not(.alpha-col) { background: #F4F7FB; }

/* ─────────────────────────────────────────────────────────────────
   FIX 12: CREDENTIALS GRID
   ───────────────────────────────────────────────────────────────── */
.abt-cred-item {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F3 !important;
  border-radius: 8px !important;
  padding: 22px !important;
  box-shadow: 0 2px 12px rgba(21,103,208,0.06) !important;
  transition: all 0.25s ease !important;
}
.abt-cred-item:hover {
  border-color: #1567D0 !important;
  box-shadow: 0 8px 24px rgba(21,103,208,0.15) !important;
}
.abt-cred-check {
  width: 28px; height: 28px;
  background: #1567D0;
  color: #FFFFFF !important;
  border-radius: 50%;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 14px !important;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 0 !important;
}
.abt-cred-text strong {
  color: #1A2237 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.abt-cred-text {
  color: #4A5A7A !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 13: COUNTY GRID — Florida blue cards
   ───────────────────────────────────────────────────────────────── */
.abt-county-link {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F3 !important;
  border-left: 3px solid #1567D0 !important;
  color: #1A2237 !important;
  padding: 14px 18px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
}
.abt-county-link:hover {
  background: #1567D0 !important;
  color: #FFFFFF !important;
  border-left-color: #C9A86A !important;
  transform: translateX(4px);
  text-decoration: none !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 14: FAQ items — accordion-feel cards
   ───────────────────────────────────────────────────────────────── */
.abt-faq-item {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F3 !important;
  border-left: 3px solid #1567D0 !important;
  border-radius: 6px !important;
  padding: 20px 24px !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid #E2E8F3 !important;
  transition: all 0.25s ease;
}
.abt-faq-item:hover {
  border-left-color: #C9A86A !important;
  transform: translateX(2px);
  box-shadow: 0 4px 12px rgba(21,103,208,0.08);
}
.abt-faq-q {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1A2237 !important;
  margin: 0 0 8px !important;
  font-family: 'Inter', sans-serif !important;
}
.abt-faq-a {
  font-size: 14px !important;
  color: #4A5A7A !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 15: CTA BLOCK at end of page
   ───────────────────────────────────────────────────────────────── */
.abt-cta {
  background: linear-gradient(135deg, #1567D0 0%, #1D77E6 50%, #2BA8E8 100%) !important;
  border: none !important;
  border-radius: 12px;
  margin: 64px 24px !important;
  padding: 56px 32px !important;
  position: relative;
  overflow: hidden;
}
.abt-cta::before {
  content: "";
  position: absolute;
  top: -50%; right: -20%;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(201,168,106,0.25) 0%, transparent 60%);
  pointer-events: none;
}
.abt-cta h2 {
  color: #FFFFFF !important;
  padding-left: 0 !important;
}
.abt-cta h2::before { display: none !important; }
.abt-cta p {
  color: rgba(255,255,255,0.92) !important;
  font-size: 17px !important;
}
.abt-btn {
  background: #C9A86A !important;
  color: #1A2237 !important;
  border: 2px solid #C9A86A !important;
  padding: 16px 32px !important;
  border-radius: 8px !important;
}
.abt-btn:hover {
  background: #FFFFFF !important;
  color: #1567D0 !important;
  border-color: #FFFFFF !important;
}
.abt-btn-out {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
  color: #FFFFFF !important;
}
.abt-btn-out:hover {
  background: #FFFFFF !important;
  color: #1567D0 !important;
  border-color: #FFFFFF !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 16: MOBILE — about page specific tweaks
   ───────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .abt-founder-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .abt-founder-img {
    max-width: 240px;
    margin: 0 auto;
  }
  .abt-stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .abt-stat {
    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
    padding: 16px 8px !important;
  }
  .abt-section {
    padding: 48px 20px !important;
  }
  .abt-cta {
    margin: 32px 16px !important;
    padding: 40px 24px !important;
  }
  .abt-yr {
    padding: 20px 22px !important;
  }
}

/* ============================================================================
   END PATCH 1
   ============================================================================ */
/* ============================================================================
   ALPHA MASTER CSS — PATCH 2: Blog Layout Fix
   Maps old .alux- (dark luxury) classes to bright Florida design
   Hides duplicate Astra H1s + fixes overflow
   ============================================================================ */

/* ─────────────────────────────────────────────────────────────────
   HIDE DUPLICATE ASTRA WRAPPER on blog pages
   The Astra theme auto-adds an article wrapper with the post title
   We only want the content's H1 to show
   ───────────────────────────────────────────────────────────────── */

/* On single blog posts: hide Astra's auto-generated title block */
body.single-post .ast-article-single > .entry-header,
body.single-post .ast-article-single > header.entry-header,
body.single-post article.ast-article-single > .entry-meta,
body.single-post .ast-post-format-,
body.single-post .single-layout-1 > .entry-header {
  display: none !important;
}

/* On blog post: kill the duplicate H1 that Astra injects */
body.single-post .ast-article-single > h1.entry-title,
body.single-post article.ast-article-single > h1.entry-title,
body.single-post .ast-single-post-banner h1 {
  display: none !important;
}

/* On blog index page: hide the leaked "Latest Articles" Astra title */
body.page-id-2279 article.ast-article-single > .entry-header,
body.page-id-2279 article.ast-article-single > h1,
body.page-id-2279 .ast-archive-description,
body.page-id-2279 main > article.page > h1 {
  display: none !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX OVERFLOW from .nojq and leaked homepage marquee CSS
   ───────────────────────────────────────────────────────────────── */
body:not(.home) .nojq,
body:not(.home) .alux-marquee,
body:not(.home) .alux-marquee-row,
body:not(.home) [class*="alux-ticker"],
body:not(.home) [class*="alux-showcase"] {
  display: none !important;
}

body:not(.home) .alux-blog-index,
body:not(.home) main,
body:not(.home) #main,
body:not(.home) .site-main,
body:not(.home) article {
  overflow-x: clip !important;
  max-width: 100% !important;
}

/* ─────────────────────────────────────────────────────────────────
   BLOG INDEX — Re-skin .alux-blog-* to bright Florida design
   ───────────────────────────────────────────────────────────────── */

/* Blog hero — convert dark luxury to bright blue */
.alux-blog-index,
.alux-blog-index .alux-blog-hero {
  background: transparent !important;
  color: #1A2237 !important;
}
.alux-blog-index .alux-blog-hero {
  background: linear-gradient(135deg, #1567D0 0%, #1D77E6 50%, #2BA8E8 100%) !important;
  padding: 64px 32px 48px !important;
  text-align: center;
  position: relative;
  overflow: hidden;
  border-bottom: none !important;
}
.alux-blog-index .alux-blog-hero::after {
  content: "";
  position: absolute;
  top: -30%; right: -15%;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(201,168,106,0.18) 0%, transparent 60%);
  pointer-events: none;
}
.alux-blog-index .alux-blog-hero .eyebrow {
  color: rgba(255,255,255,0.85) !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  font-weight: 700 !important;
}
.alux-blog-index .alux-blog-hero h1 {
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(32px, 5vw, 56px) !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
  margin: 16px 0 12px !important;
}
.alux-blog-index .alux-blog-hero h1 em {
  color: #C9A86A !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
.alux-blog-index .alux-blog-hero p {
  color: rgba(255,255,255,0.92) !important;
  font-size: 17px !important;
  max-width: 640px !important;
  margin: 0 auto !important;
}

/* Category filter pills — convert dark to white pills with blue */
.alux-blog-index .alux-cat-filter {
  background: #F4F7FB !important;
  border-bottom: 1px solid #E2E8F3 !important;
  padding: 24px 32px !important;
  border-top: none !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}
.alux-blog-index .alux-cat-btn {
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border: 1px solid #E2E8F3 !important;
  border-radius: 24px !important;
  color: #4A5A7A !important;
  background: #FFFFFF !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  transition: all 0.22s ease !important;
}
.alux-blog-index .alux-cat-btn:hover,
.alux-blog-index .alux-cat-btn.active {
  background: #1567D0 !important;
  color: #FFFFFF !important;
  border-color: #1567D0 !important;
}

/* Blog grid — convert dark to white card grid */
.alux-blog-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  background: transparent !important;
  padding: 48px 32px !important;
  max-width: 1200px;
  margin: 0 auto;
}

/* Individual post cards — convert dark to white */
.alux-post-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F3 !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 12px rgba(21,103,208,0.08) !important;
  overflow: hidden !important;
  transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  padding: 0 !important;
  position: relative;
}
.alux-post-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: #1567D0;
  transition: background 0.3s ease;
}
.alux-post-card:hover {
  background: #FFFFFF !important;
  border-color: rgba(21,103,208,0.25) !important;
  box-shadow: 0 12px 32px rgba(21,103,208,0.18) !important;
  transform: translateY(-4px);
}
.alux-post-card:hover::before {
  background: #C9A86A;
}

.alux-post-img {
  aspect-ratio: 16/9 !important;
  background-color: #EBF3FF !important;
  border-bottom: 1px solid #E2E8F3;
}
.alux-post-cat-badge {
  position: absolute;
  top: 12px; left: 12px;
  background: #1567D0 !important;
  color: #FFFFFF !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  padding: 4px 10px !important;
  border-radius: 4px;
  text-transform: uppercase;
}

.alux-post-body {
  padding: 22px !important;
  background: #FFFFFF !important;
}
.alux-post-meta {
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  color: #8B96B0 !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
.alux-post-title {
  font-family: 'Inter', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #1A2237 !important;
  letter-spacing: -0.3px !important;
  line-height: 1.35 !important;
  margin: 0 0 10px !important;
}
.alux-post-title a {
  color: #1A2237 !important;
}
.alux-post-title a:hover {
  color: #1567D0 !important;
  text-decoration: none !important;
}
.alux-post-excerpt {
  font-size: 13.5px !important;
  color: #4A5A7A !important;
  line-height: 1.6 !important;
  margin: 0 0 16px !important;
  font-weight: 400 !important;
}
.alux-read-more {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #1567D0 !important;
  letter-spacing: 1px !important;
  border-bottom: none !important;
  text-transform: uppercase;
  padding: 0 !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: gap 0.22s ease;
}
.alux-read-more::after {
  content: "→";
  transition: transform 0.22s ease;
}
.alux-post-card:hover .alux-read-more::after {
  transform: translateX(4px);
}

/* Responsive blog grid */
@media (max-width: 1024px) {
  .alux-blog-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 32px 24px !important;
  }
}
@media (max-width: 640px) {
  .alux-blog-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 24px 16px !important;
  }
  .alux-blog-index .alux-blog-hero {
    padding: 40px 20px 32px !important;
  }
  .alux-blog-index .alux-blog-hero h1 {
    font-size: 28px !important;
  }
  /* Mobile blog cards: horizontal layout */
  .alux-post-card {
    display: grid;
    grid-template-columns: 110px 1fr;
  }
  .alux-post-img {
    width: 110px !important;
    height: 100% !important;
    aspect-ratio: unset !important;
    border-bottom: none !important;
    border-right: 1px solid #E2E8F3;
  }
  .alux-post-body { padding: 14px !important; }
  .alux-post-title { font-size: 14px !important; }
  .alux-post-excerpt { display: none !important; }
}

/* ─────────────────────────────────────────────────────────────────
   SINGLE BLOG POST — Re-skin .alux-post / .alux-byline / .alux-tldr
   to bright Florida design
   ───────────────────────────────────────────────────────────────── */

/* Post wrapper — white bg, max width, proper spacing */
.alux-post,
article.alux-post {
  background: #FFFFFF !important;
  color: #1A2237 !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 32px 24px 48px !important;
  font-family: 'Inter', sans-serif !important;
  overflow-x: clip !important;
}

/* Post H1 — proper headline */
.alux-post h1,
article.alux-post > h1,
article.alux-post .alux-post-h1 {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  color: #1A2237 !important;
  line-height: 1.15 !important;
  margin: 0 0 20px !important;
}

/* Author byline */
.alux-byline {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 16px 0 !important;
  margin: 0 0 24px !important;
  border-top: 1px solid #E2E8F3;
  border-bottom: 1px solid #E2E8F3;
  background: transparent !important;
  color: #4A5A7A !important;
  font-size: 13px !important;
}
.alux-byline-avatar,
.alux-byline img,
.alux-byline-img {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #C9A86A !important;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1A2237 !important;
  font-weight: 700;
  flex-shrink: 0;
}
.alux-byline-name,
.alux-byline strong {
  color: #1A2237 !important;
  font-weight: 700 !important;
}
.alux-byline a {
  color: #1567D0 !important;
}

/* TL;DR / QUICK ANSWER inside posts */
.alux-tldr {
  background: linear-gradient(135deg, #EBF3FF 0%, #F4F7FB 100%) !important;
  border-left: 4px solid #1567D0 !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 22px 28px !important;
  margin: 24px 0 32px !important;
  color: #1A2237 !important;
}
.alux-tldr-label,
.alux-tldr .label {
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 2.5px !important;
  color: #1567D0 !important;
  text-transform: uppercase !important;
  display: inline-block !important;
  margin-bottom: 10px !important;
  padding: 3px 10px;
  background: #FFFFFF;
  border-radius: 4px;
  border: 1px solid rgba(21,103,208,0.2);
}
.alux-tldr p,
.alux-tldr * {
  color: #1A2237 !important;
  font-size: 15.5px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  font-family: 'Inter', sans-serif !important;
}

/* H2/H3 inside posts */
.alux-post h2,
article.alux-post h2 {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 800 !important;
  color: #1A2237 !important;
  letter-spacing: -0.3px !important;
  line-height: 1.25 !important;
  margin: 36px 0 14px !important;
  position: relative;
  padding-left: 16px !important;
}
.alux-post h2::before,
article.alux-post h2::before {
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 3px;
  background: linear-gradient(180deg, #1567D0 0%, #C9A86A 100%);
  border-radius: 2px;
}
.alux-post h3,
article.alux-post h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1A2237 !important;
  margin: 28px 0 10px !important;
}

/* Body paragraphs in posts */
.alux-post p,
article.alux-post p {
  font-size: 16px !important;
  color: #2D3650 !important;
  line-height: 1.75 !important;
  margin: 0 0 18px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
}

/* Lists */
.alux-post ul,
.alux-post ol,
article.alux-post ul,
article.alux-post ol {
  margin: 0 0 20px;
  padding-left: 22px;
  color: #2D3650 !important;
}
.alux-post li,
article.alux-post li {
  margin-bottom: 8px;
  line-height: 1.7;
  font-size: 16px;
  color: #2D3650 !important;
}

/* Inline links in posts */
.alux-post a,
article.alux-post a {
  color: #1567D0 !important;
  text-decoration: underline !important;
  font-weight: 500;
}
.alux-post a:hover,
article.alux-post a:hover {
  color: #0E52A8 !important;
}

/* Featured image */
.alux-post img,
article.alux-post img {
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(21,103,208,0.1);
  margin: 24px 0;
  max-width: 100%;
  height: auto;
}

/* CTA block at end of post */
.alux-post-cta,
.alux-post .cta-block,
article.alux-post .cta-block {
  background: linear-gradient(135deg, #1567D0 0%, #1D77E6 100%) !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 36px 32px !important;
  margin: 48px 0 0 !important;
  text-align: center !important;
  color: #FFFFFF !important;
  position: relative;
  overflow: hidden;
}
.alux-post-cta::before,
.alux-post .cta-block::before {
  content: "";
  position: absolute;
  top: -40%; right: -10%;
  width: 350px; height: 350px;
  background: radial-gradient(circle, rgba(201,168,106,0.25) 0%, transparent 60%);
  pointer-events: none;
}
.alux-post-cta *,
.alux-post .cta-block * {
  color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important;
  position: relative;
  z-index: 2;
}
.alux-post-cta h2,
.alux-post-cta h3,
.alux-post .cta-block h2,
.alux-post .cta-block h3 {
  font-size: 24px !important;
  font-weight: 800 !important;
  margin: 0 0 12px !important;
  padding-left: 0 !important;
}
.alux-post-cta h2::before,
.alux-post-cta h3::before,
.alux-post .cta-block h2::before,
.alux-post .cta-block h3::before {
  display: none !important;
}
.alux-post-cta a,
.alux-post .cta-block a {
  display: inline-block;
  background: #C9A86A !important;
  color: #1A2237 !important;
  padding: 14px 28px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  border-radius: 8px !important;
  margin: 8px 6px 0 !important;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: all 0.22s ease;
}
.alux-post-cta a:hover,
.alux-post .cta-block a:hover {
  background: #FFFFFF !important;
  color: #1567D0 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.2);
}

/* FAQ section in posts */
.alux-post .faq-item,
article.alux-post .faq-item,
.alux-post details {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F3 !important;
  border-left: 3px solid #1567D0 !important;
  border-radius: 6px !important;
  padding: 18px 22px !important;
  margin: 0 0 12px !important;
  transition: all 0.25s ease;
}
.alux-post .faq-item:hover,
article.alux-post .faq-item:hover {
  border-left-color: #C9A86A !important;
  box-shadow: 0 4px 12px rgba(21,103,208,0.08);
}

/* ─────────────────────────────────────────────────────────────────
   POST METADATA / READING TIME / DATE
   ───────────────────────────────────────────────────────────────── */
.alux-post-meta-row,
.alux-post .post-meta {
  display: flex !important;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 12px !important;
  color: #8B96B0 !important;
  letter-spacing: 0.5px;
  margin: 12px 0 !important;
}
.alux-post-meta-row span,
.alux-post .post-meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Hide ANY remaining duplicate H1 — show only the first one */
article.alux-post h1 ~ h1,
.alux-post-card h1 ~ h1 {
  display: none !important;
}

/* ─────────────────────────────────────────────────────────────────
   MOBILE BLOG POST tweaks
   ───────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .alux-post,
  article.alux-post {
    padding: 20px 16px 32px !important;
  }
  .alux-post h1,
  article.alux-post > h1 {
    font-size: 24px !important;
  }
  .alux-post h2,
  article.alux-post h2 {
    font-size: 20px !important;
    padding-left: 12px !important;
  }
  .alux-post p,
  article.alux-post p,
  .alux-post li,
  article.alux-post li {
    font-size: 15px !important;
  }
  .alux-tldr {
    padding: 18px 20px !important;
    margin: 16px 0 24px !important;
  }
  .alux-post-cta,
  .alux-post .cta-block {
    padding: 28px 20px !important;
    margin: 32px 0 0 !important;
  }
  .alux-post-cta a,
  .alux-post .cta-block a {
    display: block;
    margin: 8px 0 0 !important;
    width: 100%;
  }
}

/* ============================================================================
   END PATCH 2
   ============================================================================ */
/* ============================================================================
   PATCH 3 — Hide empty county cards on About page
   ============================================================================ */

/* Hide any .alpha-county-card or .abt-county-link that has no text content */
.alpha-county-card:empty,
.abt-county-link:empty,
.alpha-county-card:not(:has(*)):not([href*="/locations/"]),
a.alpha-county-card[href=""],
a.alpha-county-card[href="#"] {
  display: none !important;
}

/* Belt-and-braces: hide cards with no inner text using :where */
.abt-county-grid > a:empty,
.alpha-county-grid > a:empty,
[class*="county-grid"] > a:empty {
  display: none !important;
}

/* Make sure the grid still flows nicely after hiding empties */
.abt-county-grid,
.alpha-county-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 12px !important;
  margin-top: 24px;
}

@media (max-width: 768px) {
  .abt-county-grid,
  .alpha-county-grid {
    grid-template-columns: 1fr !important;
  }
}
/* ============================================================================
   PATCH 6 — Force blog post content to render
   ============================================================================ */

/* Force visibility on every possible blog post content container */
body.single-post article,
body.single-post article.alux-post,
body.single-post article.post,
body.single-post .entry-content,
body.single-post .alux-post,
body.single-post .alux-post-body,
body.single-post .post-content,
body.single-post main article > *,
body.single-post .ast-article-single,
body.single-post .ast-article-single .entry-content,
body.single-post .ast-article-single article {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Make sure post body wrappers aren't accidentally collapsed by display:none */
body.single-post article p,
body.single-post article h2,
body.single-post article h3,
body.single-post article ul,
body.single-post article ol,
body.single-post article img,
body.single-post .entry-content > *,
body.single-post .alux-post > * {
  display: revert !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Make sure body height isn't clipped */
body.single-post .ast-article-single,
body.single-post #primary,
body.single-post #content,
body.single-post .site-content {
  min-height: auto !important;
  height: auto !important;
  overflow: visible !important;
}

/* ============================================================================
   PATCH 7 — Standardize footer + fix boxed layout + email replacement
   Append AFTER all previous CSS — do not replace
   ============================================================================ */

/* ─────────────────────────────────────────────────────────────────
   FIX 1 — STANDARDIZE FOOTER ACROSS ALL PAGES
   Both .alux-foot (homepage) and Elementor footer (other pages)
   get the SAME look: deep navy + gold accents + clean Inter typography
   ───────────────────────────────────────────────────────────────── */

footer.alux-foot,
.alux-foot,
.elementor-location-footer,
[data-elementor-type="footer"],
#colophon,
.site-footer,
.ast-footer-overlay,
body footer {
  background: #0E1A2E !important;
  color: #C5CFE0 !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  padding: 56px 32px 28px !important;
  border-top: 3px solid #1567D0 !important;
  position: relative;
}

/* Gold accent line above footer */
footer.alux-foot::before,
.elementor-location-footer::before,
[data-elementor-type="footer"]::before,
.alux-foot::before {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  width: 120px; height: 3px;
  background: #C9A86A;
  transform: translateX(-50%);
  pointer-events: none;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 2 — STANDARDIZE FOOTER TYPOGRAPHY
   Kill the 17 different font sizes — enforce ONE system
   ───────────────────────────────────────────────────────────────── */

/* Footer paragraphs and links — uniform 14px */
footer.alux-foot p,
footer.alux-foot a,
footer.alux-foot span:not(.alux-foot-brand):not(.alux-foot-heading),
footer.alux-foot li,
.elementor-location-footer p,
.elementor-location-footer a,
.elementor-location-footer span,
.elementor-location-footer li,
.elementor-location-footer .elementor-icon-list-text,
.elementor-location-footer .elementor-heading-title:not(h1):not(h2):not(h3) {
  font-size: 14px !important;
  font-family: 'Inter', sans-serif !important;
  color: #C5CFE0 !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* Footer headings — uniform 12px caps gold */
footer.alux-foot h1,
footer.alux-foot h2,
footer.alux-foot h3,
footer.alux-foot h4,
footer.alux-foot h5,
footer.alux-foot h6,
footer.alux-foot .alux-foot-heading,
.elementor-location-footer h1,
.elementor-location-footer h2,
.elementor-location-footer h3,
.elementor-location-footer h4,
.elementor-location-footer h5,
.elementor-location-footer h6,
.elementor-location-footer .elementor-heading-title {
  font-size: 12px !important;
  font-family: 'Inter', sans-serif !important;
  color: #C9A86A !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  margin: 0 0 16px !important;
  line-height: 1.4 !important;
}

/* Brand / company name (the only larger element) */
footer.alux-foot .alux-foot-brand,
footer .alux-foot-brand,
.elementor-location-footer [class*="brand"]:not(.elementor-icon-box-icon) {
  font-size: 18px !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
  display: block;
  letter-spacing: 0 !important;
}

/* Footer links — gold on hover */
footer.alux-foot a,
.elementor-location-footer a,
.site-footer a,
#colophon a {
  color: #C5CFE0 !important;
  text-decoration: none !important;
  transition: color 0.22s ease;
}
footer.alux-foot a:hover,
.elementor-location-footer a:hover,
.site-footer a:hover,
#colophon a:hover {
  color: #C9A86A !important;
  text-decoration: none !important;
}

/* Phone numbers — make them prominent and clickable */
footer a[href^="tel:"],
.elementor-location-footer a[href^="tel:"] {
  font-weight: 700 !important;
  color: #FFFFFF !important;
  font-size: 15px !important;
}
footer a[href^="tel:"]:hover {
  color: #C9A86A !important;
}

/* Email — same prominence as phone */
footer a[href^="mailto:"],
.elementor-location-footer a[href^="mailto:"] {
  color: #C9A86A !important;
  word-break: break-word;
  font-size: 14px !important;
}

/* Footer icons — make them all blue, uniform size */
footer.alux-foot .elementor-icon,
footer.alux-foot svg,
footer.alux-foot i,
.elementor-location-footer .elementor-icon,
.elementor-location-footer svg:not([class*="logo"]),
.elementor-location-footer .elementor-icon-list-icon i,
.elementor-location-footer .elementor-icon-list-icon svg {
  color: #1567D0 !important;
  fill: #1567D0 !important;
  font-size: 16px !important;
  width: 16px !important;
  height: 16px !important;
}

/* Bottom line — copyright / privacy */
footer.alux-foot .alux-foot-bottom,
footer.alux-foot p:last-child,
.elementor-location-footer .elementor-section:last-child p,
.site-info {
  font-size: 12px !important;
  color: rgba(197,207,224,0.55) !important;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 20px !important;
  margin-top: 28px !important;
  text-align: center;
}

/* Service Counties row — fix that crammed inline list */
.elementor-location-footer .elementor-widget-text-editor:has(strong:contains("Service Counties")),
footer .service-counties,
[class*="counties"]:not([class*="county-grid"]) {
  font-size: 13px !important;
  line-height: 1.8 !important;
  text-align: center;
  margin: 16px auto;
  max-width: 720px;
}

/* Social icons */
footer.alux-foot .elementor-social-icons-wrapper a,
.elementor-location-footer .elementor-social-icons-wrapper a {
  background: rgba(21,103,208,0.15) !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transition: all 0.22s ease;
}
footer.alux-foot .elementor-social-icons-wrapper a:hover,
.elementor-location-footer .elementor-social-icons-wrapper a:hover {
  background: #C9A86A !important;
  transform: translateY(-2px);
}
footer.alux-foot .elementor-social-icons-wrapper a svg,
.elementor-location-footer .elementor-social-icons-wrapper a svg {
  fill: #FFFFFF !important;
  color: #FFFFFF !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 3 — REMOVE BOXED LAYOUT, give content full width with buffer
   ───────────────────────────────────────────────────────────────── */

/* Astra "boxed" container override — full-width with edge buffer */
body:not(.home) .ast-container,
body:not(.home) .site-content > .ast-container,
body:not(.home) .ast-no-sidebar #primary,
body:not(.home) #content > .ast-container,
body:not(.home) .site-content .ast-container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

body:not(.home) #content,
body:not(.home) .site-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}

body:not(.home) main,
body:not(.home) #main,
body:not(.home) .site-main {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* The article itself — full width but content stays within reading width */
body:not(.home) article.ast-article-single,
body:not(.home) article.post,
body:not(.home) article.page,
body:not(.home) .single-layout-1 {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* The .entry-content wrapper — full width so our alpha-page-hero etc can go edge-to-edge */
body:not(.home) .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* For PURE TEXT pages without our alpha- sections (privacy, terms, plain blog post body),
   add a reading-width inner container with buffer */
body:not(.home) .entry-content > h1:not(.alpha-page-hero h1):not(.home-hero h1),
body:not(.home) .entry-content > h2:not(.alpha-page-hero *):not(.home-hero *),
body:not(.home) .entry-content > h3,
body:not(.home) .entry-content > p,
body:not(.home) .entry-content > ul,
body:not(.home) .entry-content > ol,
body:not(.home) .entry-content > blockquote,
body:not(.home) .entry-content > figure,
body:not(.home) .entry-content > table {
  max-width: 1140px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px;
  padding-right: 24px;
}

/* Sections that go edge-to-edge keep full bleed */
body:not(.home) .entry-content > .alpha-page-hero,
body:not(.home) .entry-content > .alpha-trust-bar,
body:not(.home) .entry-content > .alpha-section,
body:not(.home) .entry-content > .alpha-section-alt,
body:not(.home) .entry-content > .alpha-section-blue,
body:not(.home) .entry-content > .alpha-cta-strip,
body:not(.home) .entry-content > .home-hero,
body:not(.home) .entry-content > .home-section,
body:not(.home) .entry-content > .home-marquee,
body:not(.home) .entry-content > .home-stats-bar,
body:not(.home) .entry-content > .home-owner,
body:not(.home) .entry-content > .home-final-cta {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Mobile buffer */
@media (max-width: 768px) {
  body:not(.home) .entry-content > h1,
  body:not(.home) .entry-content > h2,
  body:not(.home) .entry-content > h3,
  body:not(.home) .entry-content > p,
  body:not(.home) .entry-content > ul,
  body:not(.home) .entry-content > ol {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* ─────────────────────────────────────────────────────────────────
   FIX 4 — MOBILE FOOTER STACKING
   ───────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  footer.alux-foot,
  .elementor-location-footer {
    padding: 40px 20px 20px !important;
    text-align: center;
  }
  footer.alux-foot .elementor-column,
  .elementor-location-footer .elementor-column {
    width: 100% !important;
    margin-bottom: 24px;
  }
  footer.alux-foot p,
  footer.alux-foot li,
  .elementor-location-footer p,
  .elementor-location-footer li {
    font-size: 13px !important;
  }
}

/* ============================================================================
   END PATCH 7
   ============================================================================ */
/* ============================================================================
   PATCH 9 — Eliminate white gap between header and hero
   Cause: Elementor header section uses position:fixed; top:46px
   (reserves admin-bar space). When admin bar is hidden, the 46px
   becomes a white gap because page bg shows through.
   ============================================================================ */

/* ─────────────────────────────────────────────────────────────────
   FIX 1 — Anchor fixed header sections to top: 0 instead of 46px
   ───────────────────────────────────────────────────────────────── */

.elementor-location-header section.elementor-section[style*="position: fixed"],
.elementor-location-header section.elementor-section.elementor-sticky--active,
.elementor-location-header > section.elementor-section,
.elementor-location-header > div > section.elementor-section,
.elementor-location-header section[class*="elementor-top-section"] {
  top: 0 !important;
}

/* Direct selector for the offending fixed sections */
.elementor-location-header [class*="elementor-section"][style*="top: 46px"],
.elementor-location-header [class*="elementor-section"][style*="top:46px"],
.elementor-location-header section[style*="top: 46px"],
.elementor-location-header section[style*="top:46px"] {
  top: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 2 — Color any white gap area navy so it visually merges
   If we can't move the header up, paint the body bg navy at top
   ───────────────────────────────────────────────────────────────── */

body:not(.home) {
  background: #040C43 !important;
}

/* But only the top 200px should be navy — content area below stays white */
body:not(.home)::before {
  content: "";
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 200px;
  background: #040C43;
  z-index: -1;
  pointer-events: none;
}

/* Restore white bg for actual content areas */
body:not(.home) #content,
body:not(.home) .site-content,
body:not(.home) main,
body:not(.home) #main,
body:not(.home) article,
body:not(.home) .entry-content {
  background: #FFFFFF !important;
  position: relative;
  z-index: 1;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 3 — Pull content up to flush with header
   The page wrapper #page might have margin-top from theme defaults
   ───────────────────────────────────────────────────────────────── */

#page,
.hfeed.site,
body:not(.home) #page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* The site-content needs to start IMMEDIATELY after the header */
body:not(.home) .site-content,
body:not(.home) #content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 4 — Logged-in users: keep proper spacing for admin bar
   Only logged-in users should see the 32/46px reservation
   ───────────────────────────────────────────────────────────────── */

@media screen and (min-width: 783px) {
  body.admin-bar.logged-in .elementor-location-header section.elementor-section[class*="sticky"],
  body.admin-bar.logged-in .elementor-location-header > section,
  body.admin-bar.logged-in .elementor-location-header > div > section {
    top: 32px !important;
  }
  body.admin-bar.logged-in::before {
    top: 32px;
  }
}

@media screen and (max-width: 782px) {
  body.admin-bar.logged-in .elementor-location-header section.elementor-section[class*="sticky"],
  body.admin-bar.logged-in .elementor-location-header > section,
  body.admin-bar.logged-in .elementor-location-header > div > section {
    top: 46px !important;
  }
  body.admin-bar.logged-in::before {
    top: 46px;
  }
}

/* ─────────────────────────────────────────────────────────────────
   FIX 5 — Pull hero sections up flush with header
   Page heroes (alpha-page-hero, home-hero) should start exactly where header ends
   ───────────────────────────────────────────────────────────────── */

body:not(.home) .alpha-page-hero:first-of-type,
body:not(.home) .home-hero:first-of-type,
body:not(.home) .entry-content > .alpha-page-hero:first-child,
body:not(.home) .entry-content > .home-hero:first-child,
body:not(.home) main > section:first-child.alpha-page-hero,
body:not(.home) main > section:first-child.home-hero {
  margin-top: 0 !important;
  border-top: none !important;
}

/* Remove any default WP block margin from first element */
body:not(.home) .entry-content > *:first-child {
  margin-top: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 6 — In case the gap is from Astra "page banner" being hidden but reserving space
   ───────────────────────────────────────────────────────────────── */

body:not(.home) .ast-page-banner-wrap,
body:not(.home) .ast-archive-description,
body:not(.home) .ast-single-post-banner,
body:not(.home) .ast-page-header {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ============================================================================
   END PATCH 9
   ============================================================================ */
/* ============================================================================
   PATCH 10 — CRITICAL FIX: Restore blog post visibility
   Earlier patch hid .ast-post-format- which actually CONTAINS the post body
   ============================================================================ */

/* OVERRIDE all previous display:none rules on these wrappers */
body.single-post .ast-post-format-,
body.single-post .single-layout-1,
body.single-post article > .ast-post-format-,
body.single-post article > div.ast-post-format-,
body.single-post article.ast-article-single > div,
body.single-post article.alux-post,
body.single-post article > div.single-layout-1,
body.page-template-default .ast-post-format-,
body.page-template-default .single-layout-1 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Force the article wrapper itself to be visible */
body.single-post article,
body.single-post article.ast-article-single,
body.single-post article.alux-post {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: auto !important;
}

/* Force ALL descendants of single post body to render */
body.single-post article *:not(style):not(script) {
  visibility: visible !important;
}

/* Make sure entry-content renders */
body.single-post .entry-content,
body.single-post .entry-content > *,
body.single-post .alux-post,
body.single-post .alux-post > * {
  display: revert !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
}

/* Hide ONLY the empty header that was the original problem */
/* This is the SPECIFIC empty title block, not the whole post */
body.single-post article.ast-article-single > header.entry-header:empty,
body.single-post article.ast-article-single > .entry-header.entry-header-only {
  display: none !important;
}

/* Make sure ast-post-format- is treated as a content wrapper, not a hidden element */
body.single-post .ast-post-format- {
  display: block !important;
}

/* If a previous CSS rule used a different selector to hide content, override here */
body.single-post .ast-post-format- > *,
body.single-post .single-layout-1 > * {
  display: revert !important;
  visibility: visible !important;
}

/* ============================================================================
   END PATCH 10
   ============================================================================ */
/* ============================================================================
   PATCH 11 — County page hero readability + mobile CTA fix
   ============================================================================ */

/* ─────────────────────────────────────────────────────────────────
   FIX 1 — Hero H1 + lede readability on county pages
   The master CSS h1 rule is overriding hero white H1 — strengthen
   ───────────────────────────────────────────────────────────────── */

body:not(.home) .alpha-page-hero h1,
body:not(.home) .alpha-page-hero .alpha-hero-title,
body:not(.home) section.alpha-page-hero h1,
.alpha-page-hero h1,
section.alpha-page-hero > .alpha-wrap > h1,
.alpha-page-hero > * h1,
.alpha-page-hero h1.entry-title {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
  line-height: 1.1 !important;
}

body:not(.home) .alpha-page-hero p,
body:not(.home) .alpha-page-hero .alpha-lede,
.alpha-page-hero p,
.alpha-page-hero .alpha-lede {
  color: rgba(255, 255, 255, 0.94) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

body:not(.home) .alpha-page-hero .alpha-label,
.alpha-page-hero .alpha-label {
  color: #C9A86A !important;
  background: rgba(201, 168, 106, 0.15) !important;
  padding: 6px 16px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(201, 168, 106, 0.4);
  display: inline-block !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
}

body:not(.home) .alpha-page-hero .alpha-hero-breadcrumb,
body:not(.home) .alpha-page-hero .alpha-hero-breadcrumb a,
.alpha-page-hero .alpha-hero-breadcrumb,
.alpha-page-hero .alpha-hero-breadcrumb a {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 13px;
}

/* Strengthen hero gradient — make sure it's bright Florida blue */
.alpha-page-hero {
  background: linear-gradient(135deg, #1567D0 0%, #1D77E6 50%, #2BA8E8 100%) !important;
  position: relative;
  overflow: hidden;
}
.alpha-page-hero::after {
  content: "";
  position: absolute;
  top: -30%; right: -10%;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(201,168,106,0.18) 0%, transparent 60%);
  pointer-events: none;
}

/* Hero CTA buttons — make phone button highly visible */
.alpha-page-hero .alpha-btn-gold,
.alpha-page-hero a.alpha-btn-gold {
  background: #C9A86A !important;
  color: #1A2237 !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  padding: 16px 28px !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}
.alpha-page-hero .alpha-btn-gold:hover {
  background: #FFFFFF !important;
  color: #1567D0 !important;
}
.alpha-page-hero .alpha-btn-white,
.alpha-page-hero a.alpha-btn-white {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
  border: 2px solid rgba(255, 255, 255, 0.5) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 14px 28px !important;
}
.alpha-page-hero .alpha-btn-white:hover {
  background: #FFFFFF !important;
  color: #1567D0 !important;
  border-color: #FFFFFF !important;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 2 — TLDR / QUICK ANSWER box readability on county pages
   ───────────────────────────────────────────────────────────────── */

body:not(.home) .alpha-tldr {
  background: linear-gradient(135deg, #EBF3FF 0%, #F4F7FB 100%) !important;
  border-left: 4px solid #1567D0 !important;
  border-radius: 0 8px 8px 0 !important;
}
body:not(.home) .alpha-tldr p {
  color: #1A2237 !important;
  font-size: 15.5px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}
body:not(.home) .alpha-tldr-label,
body:not(.home) .alpha-tldr .alpha-tldr-label {
  color: #1567D0 !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(21,103,208,0.2) !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-weight: 800 !important;
  letter-spacing: 2.5px !important;
  display: inline-block !important;
}
body:not(.home) .alpha-tldr p strong {
  color: #1567D0 !important;
  font-weight: 700;
}

/* ─────────────────────────────────────────────────────────────────
   FIX 3 — MOBILE: Hide / collapse the dark CTA card on mobile
   On mobile the CTA card is being cut off — replace with simpler
   inline phone bar that doesn't break layout
   ───────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  /* Hide the desktop sticky CTA card on mobile (it's getting cut off) */
  body:not(.home) .cty-cta-card,
  body:not(.home) .alpha-county-cta,
  body:not(.home) aside .alpha-card,
  body:not(.home) [class*="county-layout"] aside,
  body:not(.home) .cty-aside {
    display: none !important;
  }

  /* But keep the mobile-bottom-CTA visible (separate element if exists) */
  body:not(.home) .cty-mobile-cta-bottom {
    display: block !important;
  }
  body:not(.home) .cty-mobile-cta-bottom .cty-cta-card {
    display: block !important;
    background: linear-gradient(135deg, #1567D0 0%, #1D77E6 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 28px 22px !important;
    margin: 32px 16px !important;
    box-shadow: 0 8px 24px rgba(21,103,208,0.25);
  }
  body:not(.home) .cty-mobile-cta-bottom .cty-cta-card h3,
  body:not(.home) .cty-mobile-cta-bottom .cty-cta-card * {
    color: #FFFFFF !important;
  }

  /* Mobile hero — make sure H1 is readable */
  body:not(.home) .alpha-page-hero {
    padding: 48px 20px 40px !important;
  }
  body:not(.home) .alpha-page-hero h1 {
    font-size: 28px !important;
    line-height: 1.15 !important;
  }
  body:not(.home) .alpha-page-hero p {
    font-size: 15px !important;
  }
  body:not(.home) .alpha-page-hero a.alpha-btn-gold,
  body:not(.home) .alpha-page-hero a.alpha-btn-white {
    width: 100%;
    text-align: center;
    justify-content: center;
    padding: 14px 20px !important;
  }
}

/* ─────────────────────────────────────────────────────────────────
   FIX 4 — Sticky bottom mobile call bar appears on every county page
   (uses the existing alpha-sticky-bar from master CSS)
   Make sure it shows on county pages
   ───────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  body:not(.home) .alpha-sticky-bar {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
  }
}

/* ============================================================================
   END PATCH 11
   ============================================================================ */
/* ============================================================================
   PATCH 12 — Fix invisible "Free Estimate" button (white-on-white) on hero
   Applies to county pages, city pages, brand pages, blog posts —
   anywhere that uses .alpha-page-hero with .alpha-btn-white
   ============================================================================ */

/* Make the white "ghost" hero button actually visible */
.alpha-page-hero .alpha-btn.alpha-btn-white,
.alpha-page-hero a.alpha-btn-white,
.alpha-page-hero .alpha-btn-white,
section.alpha-page-hero .alpha-btn-white,
body .alpha-page-hero a.alpha-btn-white {
  background: rgba(255, 255, 255, 0.10) !important;
  color: #FFFFFF !important;
  border: 2px solid rgba(255, 255, 255, 0.65) !important;
  font-weight: 700 !important;
  padding: 14px 28px !important;
  letter-spacing: 0.3px;
  text-decoration: none !important;
  transition: all 0.22s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
}

.alpha-page-hero .alpha-btn.alpha-btn-white:hover,
.alpha-page-hero a.alpha-btn-white:hover,
.alpha-page-hero .alpha-btn-white:hover,
body .alpha-page-hero a.alpha-btn-white:hover {
  background: #FFFFFF !important;
  color: #1567D0 !important;
  border-color: #FFFFFF !important;
  text-decoration: none !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

/* Same fix for the bottom CTA strip (alpha-cta-strip uses same button) */
.alpha-cta-strip .alpha-btn.alpha-btn-white,
.alpha-cta-strip a.alpha-btn-white,
section.alpha-cta-strip .alpha-btn-white {
  background: rgba(255, 255, 255, 0.10) !important;
  color: #FFFFFF !important;
  border: 2px solid rgba(255, 255, 255, 0.65) !important;
  font-weight: 700 !important;
  padding: 14px 28px !important;
  text-decoration: none !important;
  transition: all 0.22s ease;
}

.alpha-cta-strip .alpha-btn.alpha-btn-white:hover,
.alpha-cta-strip a.alpha-btn-white:hover {
  background: #FFFFFF !important;
  color: #1567D0 !important;
  border-color: #FFFFFF !important;
  text-decoration: none !important;
}

/* Mobile: keep the button readable on small screens */
@media (max-width: 768px) {
  .alpha-page-hero .alpha-btn-white,
  .alpha-cta-strip .alpha-btn-white {
    display: inline-block !important;
    width: auto !important;
    min-width: 160px;
    text-align: center;
    padding: 14px 22px !important;
    font-size: 14px !important;
  }
}

/* Bonus — make the gold button text dark navy (currently white-on-gold which is harder to read at distance) */
.alpha-page-hero .alpha-btn.alpha-btn-gold,
.alpha-page-hero a.alpha-btn-gold,
section.alpha-page-hero .alpha-btn-gold {
  background: #C9A86A !important;
  color: #1A2237 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.alpha-page-hero .alpha-btn-gold:hover,
.alpha-page-hero a.alpha-btn-gold:hover {
  background: #FFFFFF !important;
  color: #1567D0 !important;
  text-decoration: none !important;
}

/* Same gold-button fix for bottom CTA strip */
.alpha-cta-strip .alpha-btn-gold,
.alpha-cta-strip a.alpha-btn-gold {
  background: #C9A86A !important;
  color: #1A2237 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.alpha-cta-strip .alpha-btn-gold:hover,
.alpha-cta-strip a.alpha-btn-gold:hover {
  background: #FFFFFF !important;
  color: #1567D0 !important;
  text-decoration: none !important;
}

/* ============================================================================
   END PATCH 12
   ============================================================================ */
/* ============================================================================
   GBP REVIEW BADGE — Links from county pages to regional Google Business Profile
   ============================================================================ */
.alpha-gbp-badge {
  display: flex;
  align-items: center;
  gap: 14px;
  background: linear-gradient(135deg, #FFFFFF 0%, #F4F7FB 100%);
  border: 1px solid #E2E8F3;
  border-left: 4px solid #4285F4;
  border-radius: 12px;
  padding: 18px 22px;
  margin: 24px 0;
  text-decoration: none !important;
  transition: all 0.22s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.alpha-gbp-badge:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(66, 133, 244, 0.15);
  border-left-color: #1567D0;
  text-decoration: none !important;
}
.alpha-gbp-badge .gbp-icon {
  width: 48px;
  height: 48px;
  background: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 24px;
  flex-shrink: 0;
  border: 1px solid #E2E8F3;
  background-image: linear-gradient(135deg, #4285F4 25%, #EA4335 25% 50%, #FBBC05 50% 75%, #34A853 75%);
  background-clip: padding-box;
}
.alpha-gbp-badge .gbp-icon::before {
  content: "G";
  background: white;
  color: #1A2237;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', sans-serif;
  font-weight: 800;
}
.alpha-gbp-badge .gbp-text {
  flex: 1;
}
.alpha-gbp-badge .gbp-title {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #1A2237 !important;
  margin: 0 0 2px !important;
  letter-spacing: -0.2px;
}
.alpha-gbp-badge .gbp-subtitle {
  font-size: 12.5px !important;
  color: #4A5A7A !important;
  margin: 0 !important;
}
.alpha-gbp-badge .gbp-stars {
  color: #FBBC05;
  font-size: 14px;
  margin-right: 6px;
}
.alpha-gbp-badge .gbp-cta {
  font-size: 12px;
  font-weight: 700;
  color: #1567D0 !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  flex-shrink: 0;
}

@media (max-width: 600px) {
  .alpha-gbp-badge { flex-wrap: wrap; }
  .alpha-gbp-badge .gbp-cta { width: 100%; margin-top: 8px; }
}
/* ===== PATCH 13 — Mobile menu + dark-heading safety ===== */

/* 1) MOBILE MENU — site uses Astra's classic .main-header-menu (not .ast-mobile-popup-drawer) */
@media (max-width: 1100px){
  .main-header-menu,
  .ast-mobile-header-content .main-header-menu,
  .main-navigation .main-header-menu{ background:#1A2237 !important; }
  .main-header-menu .menu-item{ border-top:1px solid rgba(255,255,255,0.08) !important; }
  .main-header-menu .menu-item > a,
  .main-header-menu li > a.menu-link{ color:#FFFFFF !important; text-shadow:none !important; }
  .main-header-menu .current-menu-item > a,
  .main-header-menu .current_page_item > a{ color:#2BA8E8 !important; }
  .main-header-menu .sub-menu,
  .main-navigation .main-header-menu ul ul{
    position:static !important; left:0 !important; top:auto !important;
    width:100% !important; min-width:0 !important; background:#222C45 !important;
    box-shadow:none !important; border:0 !important; border-radius:0 !important;
    border-top:1px solid rgba(201,168,106,0.25) !important; padding:0 !important; transform:none !important;
  }
  .main-header-menu .sub-menu .menu-item > a,
  .main-header-menu .sub-menu li > a.menu-link{ color:#FFFFFF !important; padding-left:42px !important; font-size:14px !important; }
}

/* 2) DARK-SECTION HEADING SAFETY NET — re-asserts white where the markup declared white,
   so custom heroes (services index, asd-* templates) stop rendering dark-on-dark */
body:not(.home) h1[style*="color:#fff"],   body:not(.home) h2[style*="color:#fff"],
body:not(.home) h3[style*="color:#fff"],   body:not(.home) p[style*="color:#fff"],
body:not(.home) h1[style*="color:#ffffff"],body:not(.home) h2[style*="color:#ffffff"],
body:not(.home) h3[style*="color:#ffffff"],body:not(.home) p[style*="color:#ffffff"],
body:not(.home) h1[style*="color:#FFFFFF"],body:not(.home) h2[style*="color:#FFFFFF"],
body:not(.home) h3[style*="color:#FFFFFF"],body:not(.home) p[style*="color:#FFFFFF"]{
  color:#FFFFFF !important;
}
/* ===== PATCH 14 — Mobile submenu: white text + remove dead space ===== */
@media (max-width: 1100px){

  /* (a) Top-level rows: kill the desktop 80px line-height that bloats mobile */
  .main-header-menu > .menu-item{ line-height:1.4 !important; }
  .main-header-menu > .menu-item > .menu-link{
    height:auto !important; min-height:0 !important;
    padding-top:16px !important; padding-bottom:16px !important; align-items:center !important;
  }

  /* (b) Submenu links WHITE — out-specify the old ID-level black rule */
  #ast-desktop-header .main-header-menu .sub-menu .menu-item .menu-link,
  #ast-desktop-header .main-header-menu .sub-menu .menu-item > a,
  #ast-mobile-header  .main-header-menu .sub-menu .menu-item .menu-link,
  .main-header-menu .sub-menu .menu-item .menu-link.menu-link.menu-link,
  .main-header-menu .sub-menu .menu-item > a.menu-link.menu-link{
    color:#FFFFFF !important;
  }

  /* (c) Submenu spacing: remove the dead space (kill inherited 80px line-height) */
  .main-header-menu .sub-menu{
    margin:0 !important; padding:0 !important; min-height:0 !important; line-height:normal !important;
  }
  .main-header-menu .sub-menu .menu-item{ line-height:1.4 !important; margin:0 !important; min-height:0 !important; }
  .main-header-menu .sub-menu .menu-item .menu-link,
  .main-header-menu .sub-menu .menu-item > a{
    line-height:1.4 !important; min-height:0 !important; height:auto !important;
    padding:13px 20px 13px 42px !important;
  }
}

/* PPC ad landing pages — hide all site chrome */
:is(.page-id-10093,.page-id-10101,.page-id-10102,.page-id-10108,.page-id-10107)
 :is(#masthead,.site-header,.ast-mobile-header-wrap,#ast-mobile-header,.elementor-location-header,
     .main-header-bar-wrap,.ast-above-header-wrap,.ast-below-header-wrap,
     .elementor-location-footer,#colophon,.site-footer,footer.alux-foot,.ast-footer-overlay,
     .alpha-sticky-bar,.ast-breadcrumbs,.ast-breadcrumbs-wrapper){display:none!important}
:is(.page-id-10093,.page-id-10101,.page-id-10102,.page-id-10108,.page-id-10107){padding-bottom:0!important}

/* ===== MOVED FROM PAGE CONTENT 2026-10-28: blog (alux-blog-master) (was pasted into 34 pages) ===== */
:root{
  --c-navy:#050E26; --c-navy-alt:#0A1A3F;
  --c-gold:#C9A86A; --c-gold-soft:rgba(201,168,106,0.4); --c-gold-line:rgba(201,168,106,0.18);
  --c-cream:#F5EFE0; --c-cream-mute:rgba(245,239,224,0.7);
  --f-serif:'Fraunces',Georgia,serif;
  --f-sans:system-ui,-apple-system,sans-serif;
}
/* Article wrapper — scopes all blog-specific styles */
.alux-post{font-family:var(--f-sans);color:#0A1A3F;max-width:760px;margin:0 auto;padding:8px 0 0;font-size:17px;line-height:1.75;}
.alux-post h1,.alux-post h2,.alux-post h3,.alux-post h4{font-family:var(--f-serif);color:var(--c-navy);letter-spacing:-.5px;font-weight:500;}
.alux-post h1{font-size:clamp(32px,4.4vw,52px);line-height:1.05;font-weight:400;letter-spacing:-1.5px;margin:0 0 28px;}
.alux-post h2{font-size:clamp(24px,2.6vw,32px);line-height:1.2;margin:48px 0 20px;font-weight:500;}
.alux-post h2 em{color:var(--c-gold);font-style:italic;}
.alux-post h3{font-size:22px;line-height:1.25;margin:36px 0 16px;}
.alux-post p{margin:0 0 22px;color:rgba(10,26,63,0.85);}
.alux-post ul,.alux-post ol{margin:0 0 22px;padding-left:24px;}
.alux-post li{margin:0 0 10px;color:rgba(10,26,63,0.85);}
.alux-post strong{color:var(--c-navy);font-weight:600;}
.alux-post a{color:var(--c-navy);font-weight:500;border-bottom:1px solid var(--c-gold-soft);transition:border-color .2s,color .2s;}
.alux-post a:hover{color:var(--c-gold);border-bottom-color:var(--c-gold);}
/* Byline at top of post */
.alux-byline{display:flex;align-items:center;gap:14px;padding:14px 0;margin:0 0 28px;border-top:1px solid rgba(10,26,63,0.08);border-bottom:1px solid rgba(10,26,63,0.08);}
.alux-byline-avatar{width:42px;height:42px;border-radius:50%;background:var(--c-gold);color:var(--c-navy);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;letter-spacing:1px;flex-shrink:0;}
.alux-byline-name{font-size:14px;font-weight:600;color:var(--c-navy);border:0;}
.alux-byline-name:hover{color:var(--c-gold);border:0;}
.alux-byline-role{font-size:12px;color:rgba(10,26,63,0.6);}
/* TL;DR — quick answer box */
.alux-tldr{background:rgba(201,168,106,0.08);border-left:3px solid var(--c-gold);padding:22px 26px;margin:0 0 36px;border-radius:0 6px 6px 0;}
.alux-tldr-label{font-size:10px;letter-spacing:2.5px;color:var(--c-gold);display:block;margin-bottom:10px;font-weight:700;text-transform:uppercase;}
.alux-tldr-text{color:var(--c-navy);font-size:16px;margin:0;line-height:1.65;font-weight:500;}
/* Resources block (related links before CTA) */
.alux-resources{background:#F5EFE0;border:1px solid rgba(10,26,63,0.08);padding:26px 30px;margin:48px 0 0;border-radius:6px;}
.alux-resources h3{font-family:var(--f-serif);font-size:18px;color:var(--c-navy);margin:0 0 16px;font-weight:500;}
.alux-resources ul{list-style:none;padding:0;margin:0;font-size:14px;line-height:1.95;}
.alux-resources li{margin:0;color:rgba(10,26,63,0.85);}
.alux-resources a{color:var(--c-gold);font-weight:600;border-bottom:1px solid rgba(201,168,106,0.4);}
.alux-resources a:hover{color:var(--c-navy);border-bottom-color:var(--c-navy);}
/* CTA block at end of post */
.alux-cta{background:linear-gradient(135deg,var(--c-navy),var(--c-navy-alt));border:1px solid rgba(201,168,106,0.2);padding:44px 36px;margin:48px 0 0;text-align:center;border-radius:6px;}
.alux-cta-eyebrow{font-size:11px;letter-spacing:3px;color:var(--c-gold);margin:0 0 14px;text-transform:uppercase;font-weight:600;}
.alux-cta-h{font-family:var(--f-serif);font-size:30px;color:var(--c-cream);font-weight:400;letter-spacing:-0.5px;margin:0 0 16px;line-height:1.1;}
.alux-cta-h em{color:var(--c-gold);font-style:italic;}
.alux-cta-sub{font-size:15px;color:var(--c-cream-mute);margin:0 0 28px;}
.alux-cta-btn{display:inline-block;padding:16px 32px;font-weight:700;font-size:13px;letter-spacing:2.5px;margin:0 8px 8px;text-transform:uppercase;border:1px solid var(--c-gold);transition:all .25s;}
.alux-cta-btn.primary{background:var(--c-gold);color:var(--c-navy);}
.alux-cta-btn.primary:hover{background:transparent;color:var(--c-gold);}
.alux-cta-btn.ghost{background:transparent;color:var(--c-cream);border-color:rgba(201,168,106,0.4);}
.alux-cta-btn.ghost:hover{border-color:var(--c-gold);color:var(--c-gold);}
.alux-cta-btn,.alux-cta-btn:hover{border-bottom:1px solid var(--c-gold);}
/* Mobile */
@media(max-width:640px){
  .alux-post{padding:0 4px;font-size:16px;}
  .alux-post h1{font-size:28px;}
  .alux-post h2{font-size:22px;margin-top:36px;}
  .alux-tldr{padding:18px 20px;}
  .alux-resources,.alux-cta{padding:28px 20px;}
  .alux-cta-h{font-size:24px;}
  .alux-cta-btn{display:block;margin:0 0 10px;}
}
/* Blog index page (already on /blogs/ — keep classes here for consistency) */
.alux-blog-index{font-family:var(--f-sans);background:var(--c-navy);color:var(--c-cream);margin:-2rem -2rem 0;}
.alux-blog-hero{padding:88px 48px 64px;text-align:center;border-bottom:1px solid var(--c-gold-line);}
.alux-blog-hero .eyebrow{font-size:11px;letter-spacing:4px;color:var(--c-gold);margin-bottom:18px;text-transform:uppercase;}
.alux-blog-hero h1{font-family:var(--f-serif);font-size:clamp(40px,5.4vw,76px);font-weight:400;letter-spacing:-2px;line-height:1.02;margin:0 0 20px;color:var(--c-cream);}
.alux-blog-hero h1 em{color:var(--c-gold);font-style:italic;font-weight:400;}
.alux-blog-hero p{font-size:17px;color:var(--c-cream-mute);max-width:640px;margin:0 auto;line-height:1.55;}
.alux-blog-hero .byline{font-size:11px;letter-spacing:2.5px;color:rgba(201,168,106,0.7);margin-top:22px;text-transform:uppercase;}
.alux-cat-filter{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:32px 48px;border-bottom:1px solid var(--c-gold-line);}
.alux-cat-btn{padding:9px 22px;border:1px solid rgba(201,168,106,0.3);color:rgba(245,239,224,0.75);font-size:11px;letter-spacing:2px;cursor:pointer;transition:all .25s;background:transparent;font-family:var(--f-sans);text-decoration:none;text-transform:uppercase;font-weight:500;}
.alux-cat-btn:hover,.alux-cat-btn.active{border-color:var(--c-gold);color:var(--c-gold);background:rgba(201,168,106,0.06);}
.alux-blog-grid-wrap{padding:48px 0 96px;background:var(--c-navy);}
.alux-blog-grid-inner{max-width:1320px;margin:0 auto;padding:0 32px;}
.alux-blog-grid-heading{font-family:var(--f-serif);font-size:24px;color:rgba(245,239,224,0.85);font-weight:400;letter-spacing:-0.5px;margin:0 0 36px;}
.alux-blog-grid-heading::before{content:"";display:inline-block;width:32px;height:1px;background:var(--c-gold);vertical-align:middle;margin-right:14px;}
.alux-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(201,168,106,0.18);border:1px solid var(--c-gold-line);}
.alux-post-card{background:var(--c-navy);display:flex;flex-direction:column;transition:background .3s;}
.alux-post-card:hover{background:var(--c-navy-alt);}
.alux-post-img{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:var(--c-navy-alt);position:relative;display:block;}
.alux-post-cat-badge{position:absolute;top:14px;left:14px;background:var(--c-gold);color:var(--c-navy);font-size:10px;letter-spacing:2px;font-weight:700;padding:5px 11px;text-transform:uppercase;}
.alux-post-body{padding:28px 28px 32px;display:flex;flex-direction:column;flex:1;}
.alux-post-meta{font-size:11px;letter-spacing:2px;color:rgba(201,168,106,0.7);margin-bottom:12px;text-transform:uppercase;}
.alux-post-title{font-family:var(--f-serif);font-size:22px;font-weight:500;color:var(--c-cream);letter-spacing:-.4px;line-height:1.2;margin:0 0 14px;}
.alux-post-title a{color:inherit;text-decoration:none;border:0;}
.alux-post-title a:hover{color:var(--c-gold);}
.alux-post-excerpt{font-size:14px;color:rgba(245,239,224,0.65);line-height:1.6;margin:0 0 22px;flex:1;}
.alux-read-more{font-size:11px;letter-spacing:2.5px;color:var(--c-gold);text-decoration:none;border-bottom:1px solid rgba(201,168,106,0.3);padding-bottom:3px;align-self:flex-start;text-transform:uppercase;font-weight:600;}
@media(max-width:1024px){.alux-blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:760px){.alux-blog-hero{padding:56px 24px 44px;}.alux-cat-filter{padding:24px;gap:6px;}.alux-blog-grid{grid-template-columns:1fr;}.alux-blog-grid-inner{padding:0 16px;}}

/* ===== MOVED FROM PAGE CONTENT 2026-10-28: city layout (was pasted into 89 pages) ===== */
.city-page{font-family:'Inter',sans-serif}
@media (min-width:1025px){.city-body-grid{display:grid;grid-template-columns:1fr 320px;gap:48px;max-width:1200px;margin:48px auto;padding:0 32px;align-items:start}.city-aside{position:sticky;top:100px}}
@media (min-width:769px) and (max-width:1024px){.city-body-grid{display:grid;grid-template-columns:1fr 280px;gap:28px;padding:0 24px}.city-aside{position:sticky;top:80px}}
@media (max-width:768px){.city-body-grid{display:block !important;padding:0 16px}.city-aside{display:none !important}.city-mobile-cta{display:block !important}.city-neighborhood-grid{grid-template-columns:1fr 1fr !important;gap:8px !important}.city-svc-list{grid-template-columns:1fr !important}.city-faq-grid{grid-template-columns:1fr !important}}
.city-mobile-cta{display:none}
.city-cta-card{background:#FFFFFF;border:1px solid #E2E8F3;border-top:4px solid #1567D0;border-radius:12px;padding:28px 24px;box-shadow:0 4px 20px rgba(21,103,208,.10)}
.city-cta-card h3{font-size:18px !important;font-weight:800 !important;color:#1A2237 !important;margin:0 0 6px !important}
.city-cta-card .cta-meta{font-size:13px !important;color:#4A5A7A !important;margin:0 0 16px !important;line-height:1.55}
.city-cta-card .cta-phone{display:block;font-size:22px;font-weight:800;color:#1567D0 !important;text-decoration:none !important;margin:12px 0;background:#EBF3FF;padding:12px 16px;border-radius:8px;text-align:center}
.city-cta-card .cta-phone:hover{background:#1567D0;color:#FFFFFF !important}
.city-cta-card .cta-btn-2{display:block;width:100%;padding:13px;background:#C9A86A;color:#1A2237 !important;text-align:center;text-decoration:none !important;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border-radius:8px;margin-top:10px}
.city-cta-trust{list-style:none !important;padding:14px 0 0 !important;margin:14px 0 0 !important;border-top:1px solid #E2E8F3}
.city-cta-trust li{font-size:13px;color:#4A5A7A;padding:5px 0;display:flex;gap:8px}
.city-cta-trust li::before{content:"\2713";color:#1567D0;font-weight:800}
.city-mobile-cta{background:linear-gradient(135deg,#1567D0 0%,#1D77E6 100%);border-radius:12px;padding:24px 22px;margin:24px 0;text-align:center;box-shadow:0 8px 24px rgba(21,103,208,.20)}
.city-mobile-cta h3,.city-mobile-cta p{color:#FFFFFF !important}
.city-mobile-cta a.mobile-phone{display:inline-block;background:#C9A86A;color:#1A2237 !important;padding:14px 24px;font-size:15px;font-weight:800;border-radius:8px;text-decoration:none !important;margin:4px}
.city-mobile-cta a.mobile-est{display:inline-block;background:rgba(255,255,255,.15);color:#FFFFFF !important;padding:14px 24px;font-size:13px;font-weight:700;border-radius:8px;border:1px solid rgba(255,255,255,.4);text-decoration:none !important;margin:4px}
.city-neighborhood-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.city-hood-card{background:#FFFFFF;border:1px solid #E2E8F3;border-left:3px solid #1567D0;border-radius:8px;padding:14px 16px}
.city-hood-card h4{font-size:14px !important;font-weight:700 !important;color:#1A2237 !important;margin:0 0 4px !important}
.city-hood-card p{font-size:12px !important;color:#4A5A7A !important;margin:0 !important;line-height:1.5}
.city-svc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0}
.city-svc-tile{background:#FFFFFF;border:1px solid #E2E8F3;border-left:3px solid #1567D0;border-radius:8px;padding:16px 18px;display:flex;gap:12px}
.city-svc-tile .icon{width:36px;height:36px;background:#EBF3FF;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.city-svc-tile h4{font-size:14px !important;font-weight:700 !important;color:#1A2237 !important;margin:0 0 4px !important}
.city-svc-tile p{font-size:12.5px !important;color:#4A5A7A !important;margin:0 !important;line-height:1.5}
.city-svc-tile a{color:#1567D0 !important;font-weight:600}
.city-faq-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:24px 0}
.city-faq{background:#FFFFFF;border:1px solid #E2E8F3;border-left:3px solid #1567D0;border-radius:8px;padding:18px 22px}
.city-faq h4{font-size:15px !important;font-weight:700 !important;color:#1A2237 !important;margin:0 0 8px !important}
.city-faq p{font-size:14px !important;color:#4A5A7A !important;line-height:1.65 !important;margin:0 !important}
.city-brands-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.city-brand-pill{font-size:13px;font-weight:600;padding:6px 12px;background:#EBF3FF;color:#1567D0 !important;border-radius:4px;text-decoration:none !important;transition:all .2s}
.city-brand-pill:hover{background:#1567D0;color:#FFFFFF !important}
.city-landmark-box{background:linear-gradient(135deg,#FFFCF5 0%,#FFF8E5 100%);border-left:4px solid #C9A86A;border-radius:0 8px 8px 0;padding:20px 24px;margin:24px 0}
.city-landmark-box h4{font-size:14px !important;font-weight:800 !important;color:#C9A86A !important;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 8px !important}
.city-landmark-box p{font-size:14.5px !important;color:#1A2237 !important;line-height:1.65 !important;margin:0 !important}


/* ===== PATCH 15 - 2026-10-28 reset: readability, call bar, hero motion ===== */
/* Paragraphs inside inline-styled dark boxes keep their white text (the global p rule was greying them) */
body:not(.home) [style*="color:#fff"] p, body:not(.home) [style*="color: #fff"] p, body:not(.home) [style*="color:#FFF"] p, body:not(.home) [style*="color:#ffffff"] p { color: #fff !important; }
/* Sticky call bar: navy text on the gold button beats the footer link rules; SVG icon instead of the emoji */
#colophon .alpha-cro-stickybar .acs-callnow, .site-footer .alpha-cro-stickybar .acs-callnow { color: #1A2237 !important; }
.alpha-cro-stickybar .acs-callnow::before { content:""; display:inline-block; width:1.1em; height:1.1em; vertical-align:-0.15em; background-color:currentColor; -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/></svg>") center/contain no-repeat; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/></svg>") center/contain no-repeat; }
/* Phone numbers never wrap mid-number */
a[href^="tel:"] { white-space: nowrap; }
/* Homepage: no entrance animation on the hero (it delayed the first paint); darker grey on the small text */
body.home .home-hero-eyebrow, body.home .home-hero h1, body.home .home-hero-lede, body.home .home-hero-cta-row, body.home .home-hero-imgwrap { animation: none !important; opacity: 1 !important; transform: none !important; }
body.home .home-proof-loc, body.home .cities { color: #5B6782 !important; }

/* ===== PATCH 16 - 2026-10-28 reset: footer office cards, city estimate box, contact page without Tailwind ===== */
.alpha-office-links{display:flex;gap:18px;margin-top:8px}
.alpha-office-phone::before,.alpha-office-map::before,.acf-callbox::before,.alpha-expect-item .icon,.acf-badge::before{content:"";display:inline-block;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center}
.alpha-office-phone::before,.alpha-office-map::before,.acf-callbox::before{width:1em;height:1em;vertical-align:-0.15em;margin-right:.4em}
.alpha-office-phone::before,.acf-callbox::before,.alpha-expect-item .icon-phone{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/></svg>")}
.alpha-office-map::before{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/></svg>")}
.cty-mobile-cta h3,.cty-mobile-cta p{color:#fff !important}
/* contact page: "What to expect" icons */
.alpha-contact-page .alpha-expect-item .icon{display:block;width:34px;height:34px;margin:0 auto 10px;background-color:#1567D0;font-size:0}
.alpha-expect-item .icon-calendar{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2'/><path d='M16 2v4M8 2v4M3 10h18'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2'/><path d='M16 2v4M8 2v4M3 10h18'/></svg>")}
.alpha-expect-item .icon-estimate{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 2h14v20l-2.3-1.6L14.4 22l-2.4-1.6L9.6 22l-2.3-1.6L5 22z'/><path d='M9 7h6M9 11h6M9 15h4'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 2h14v20l-2.3-1.6L14.4 22l-2.4-1.6L9.6 22l-2.3-1.6L5 22z'/><path d='M9 7h6M9 11h6M9 15h4'/></svg>")}
.alpha-expect-item .icon-wrench{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.8-3.8a6 6 0 0 1-7.9 7.9l-6.9 6.9a2.1 2.1 0 0 1-3-3l6.9-6.9a6 6 0 0 1 7.9-7.9z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.8-3.8a6 6 0 0 1-7.9 7.9l-6.9 6.9a2.1 2.1 0 0 1-3-3l6.9-6.9a6 6 0 0 1 7.9-7.9z'/></svg>")}
/* contact page: quote form */
.acf-callbox{display:block;background:linear-gradient(135deg,#C9A86A,#B8954E);color:#1A2237 !important;font-weight:800;font-size:18px;text-align:center;padding:16px;border-radius:12px;margin:0 0 16px;text-decoration:none !important}
.acf-hero{background:linear-gradient(135deg,#1A2237,#0E1726);border-radius:16px;padding:28px 20px;text-align:center;margin:0 0 16px}
.acf-hero h2{color:#C9A86A !important;font-size:28px !important;font-weight:800 !important;line-height:1.15 !important;margin:0 0 8px !important;letter-spacing:.3px}
.acf-hero p{color:#fff !important;font-weight:600;margin:0 !important}
.acf-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}
.acf-badge{background:#1A2237;border:1px solid rgba(201,168,106,.4);border-radius:8px;padding:12px 6px;text-align:center;color:#C9A86A;font-weight:700;font-size:12px;line-height:1.3}
.acf-badge::before{display:block;width:22px;height:22px;margin:0 auto 6px;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M8 12.5l2.5 2.5L16 9.5'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M8 12.5l2.5 2.5L16 9.5'/></svg>")}
.acf-card{background:#fff;border:4px solid #C9A86A;border-radius:16px;padding:28px 20px;box-shadow:0 20px 50px rgba(0,0,0,.15)}
@media (min-width:768px){.acf-card{padding:44px}}
.acf-card h2{color:#1A2237 !important;font-size:30px !important;font-weight:800 !important;line-height:1.15 !important;margin:0 0 24px !important;text-align:left}
.acf-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:18px}
@media (min-width:768px){.acf-grid{grid-template-columns:1fr 1fr}}
.acf-field{margin-bottom:0}
.acf-field label{display:block;font-weight:800;color:#1A2237;margin-bottom:6px;font-size:15px}
.acf-field label span{color:#6B7891;font-weight:600}
.acf-field input,.acf-field textarea{width:100%;box-sizing:border-box;padding:14px 16px;background:#F8FAFC;border:2px solid #E2E8F3;border-radius:12px;font-size:16px;color:#1A2237;outline:none;font-family:inherit}
.acf-field input:focus,.acf-field textarea:focus{border-color:#C9A86A}
.acf-card .alpha-sms-consent{font-size:13px;color:#475569;text-align:center;line-height:1.55;margin:18px 0 10px;padding:0 6px}
.acf-btn{display:block;width:100%;padding:20px;border:0;border-radius:12px;background:linear-gradient(135deg,#1567D0,#2BA8E8);color:#fff;font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;font-family:inherit}
.acf-btn:hover{background:linear-gradient(135deg,#C9A86A,#B8954E);color:#1A2237}

/* PATCH 16b - contact page: hero heading colour needs the page scope; intro paragraphs on the dark cards */
.alpha-contact-page .acf-hero h2, .entry-content .acf-hero h2 { color: #C9A86A !important; }
.alpha-contact-page .alpha-routing p, .alpha-contact-page .alpha-routing-intro { color: #D6DDE8 !important; }
