/*
==============================================
   ALL LINED UP  WORLD CLASS REDESIGN v5
   - Nav gold shimmer bottom bar (matches footer)
   - Buttons: exact glow on e-button-base
   - Trust bar: animated scrolling ticker
==============================================
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap');

/* ── DESIGN TOKENS ── */
:root {
  --gold: #E8A020;
  --gold-light: #F5C04A;
  --gold-dark: #C07818;
  --dark-base: #0A0A0B;
  --dark-100: #111114;
  --dark-200: #18181C;
  --dark-300: #222228;
  --dark-400: #2E2E36;
  --border-gold: rgba(232,160,32,0.18);
  --text-primary: #F0EEE8;
  --text-secondary: rgba(240,238,232,0.72);
  --text-muted: rgba(240,238,232,0.48);
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-pill: 50px;
  --shadow-gold: 0 8px 32px rgba(232,160,32,0.22);
  --glow-gold: 0 0 28px rgba(232,160,32,0.55), 0 8px 40px rgba(232,160,32,0.35), 0 2px 8px rgba(232,160,32,0.6);
  --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* ── SITEWIDE MONTSERRAT FONT ── */
body, p, span, div, li, td, th, a,
h1, h2, h3, h4, h5, h6,
.elementor-widget-text-editor,
.elementor-widget-heading .elementor-heading-title,
.elementor-icon-box-title,
.elementor-icon-box-description,
input, textarea, select, button,
.wpforms-field-label, label {
  font-family: 'Montserrat', sans-serif !important;
}

/* ── GLOBAL BASE ── */
body {
  background: var(--dark-100) !important;
  color: var(--text-primary) !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: optimizeLegibility !important;
}
::-webkit-scrollbar { width: 6px !important; }
::-webkit-scrollbar-track { background: var(--dark-100) !important; }
::-webkit-scrollbar-thumb { background: var(--dark-400) !important; border-radius: 3px !important; }
::-webkit-scrollbar-thumb:hover { background: var(--dark-300) !important; }

/* ══════════════════════════════════════════
   NAV  — with gold shimmer line on BOTTOM
   matching the footer top shimmer
══════════════════════════════════════════ */
.elementor-element-2d6a4d7 {
  background: rgba(8,8,10,0.92) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  transition: var(--transition) !important;
}

/* Nav: offset for WordPress admin bar when logged in */
body.admin-bar .elementor-element-2d6a4d7 {
  top: 32px !important;
}
/* Gold shimmer line on BOTTOM of nav — same gradient as footer top */
.elementor-element-2d6a4d7::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--gold-dark) 20%,
    var(--gold-light) 50%,
    var(--gold-dark) 80%,
    transparent 100%
  ) !important;
  pointer-events: none !important;
}
/* Nav links */
.elementor-nav-menu a,
.elementor-nav-menu .elementor-item {
  color: rgba(240,238,232,0.85) !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  transition: var(--transition) !important;
}
.elementor-nav-menu a:hover,
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item-active {
  color: var(--gold-light) !important;
}

/* ══════════════════════════════════════════
   BUTTONS — targeting Elementor flex system
   .e-button-base  (new container-based)
   Exact same glow as the Submit button
══════════════════════════════════════════ */

/* Base gold style for ALL e-button-base buttons */
a.e-button-base,
.e-button-base {
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
}

/* NAV plain links (Home, Services, About Us) — transparent, no pill */
.elementor-element-2d6a4d7 .e-a94f1bb-661bedf.e-button-base,
.elementor-element-2d6a4d7 .e-fe60f9b-1d64b95.e-button-base,
.elementor-element-2d6a4d7 .e-a13bb07-f67c893.e-button-base {
  background: transparent !important;
  color: rgba(240,238,232,0.88) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  text-shadow: none !important;
}
.elementor-element-2d6a4d7 .e-a94f1bb-661bedf.e-button-base:hover,
.elementor-element-2d6a4d7 .e-fe60f9b-1d64b95.e-button-base:hover,
.elementor-element-2d6a4d7 .e-a13bb07-f67c893.e-button-base:hover {
  background: rgba(232,160,32,0.08) !important;
  color: var(--gold-light) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* NAV "Free Quote" button */
.e-57f04b1-38e2d70.e-button-base,
.elementor-element-2d6a4d7 a.e-button-base[href*="quote"] {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%) !important;
  color: #0A0A0B !important;
  font-weight: 700 !important;
  border-radius: var(--radius-pill) !important;
  box-shadow: var(--shadow-gold) !important;
  padding: 12px 28px !important;
  letter-spacing: 0.04em !important;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
  text-shadow: none !important;
  animation: pulseGlow 2s ease-in-out infinite !important;
}
.e-57f04b1-38e2d70.e-button-base:hover,
.elementor-element-2d6a4d7 a.e-button-base[href*="quote"]:hover {
  transform: translateY(-3px) scale(1.04) !important;
  box-shadow: var(--glow-gold) !important;
  background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 100%) !important;
}

/* HERO "Request a Free Quote" button */
.e-c93017e-a6ca43b.e-button-base,
.elementor-element-03f5c33 a.e-button-base {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%) !important;
  color: #0A0A0B !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  padding: 16px 40px !important;
  border-radius: var(--radius-pill) !important;
  box-shadow: var(--shadow-gold) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
  animation: pulseGlow 2s ease-in-out infinite !important;
}
.e-c93017e-a6ca43b.e-button-base:hover,
.elementor-element-03f5c33 a.e-button-base:hover {
  transform: translateY(-4px) scale(1.04) !important;
  box-shadow: var(--glow-gold) !important;
  background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 100%) !important;
}

/* ── HERO SECTION ── */
.elementor-element-03f5c33 {
  position: relative !important;
  z-index: 1 !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: none !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.elementor-element-03f5c33::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(170deg, rgba(6,6,8,0.55) 0%, rgba(6,6,8,0.18) 50%, rgba(6,6,8,0.50) 100%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.elementor-element-03f5c33 > * {
  position: relative !important;
  z-index: 1 !important;
}
.elementor-element-03f5c33 h1,
.elementor-element-03f5c33 .elementor-heading-title {
  color: #FFFFFF !important;
  font-weight: 900 !important;
  text-shadow: 0 2px 24px rgba(0,0,0,0.55) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
}
.elementor-element-03f5c33 p {
  color: rgba(255,255,255,0.88) !important;
  font-size: 1.18rem !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.45) !important;
}

/* ── SERVICES ── */
.elementor-element-04534a3 {
  background: var(--dark-100) !important;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
.elementor-element-04534a3 h2,
.elementor-element-04534a3 .elementor-heading-title {
  color: var(--text-primary) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

/* Service cards */
.elementor-element-56d76f6,
.elementor-element-cc54eaf,
.elementor-element-25229ee,
.elementor-element-9d142b8 {
  border-radius: var(--radius-lg) !important;
  overflow: hidden !important;
  min-height: 320px !important;
  position: relative !important;
  border: 1px solid rgba(232,160,32,0.12) !important;
  transition: var(--transition) !important;
  background-size: cover !important;
  background-position: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}
.elementor-element-56d76f6:hover,
.elementor-element-cc54eaf:hover,
.elementor-element-25229ee:hover,
.elementor-element-9d142b8:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(232,160,32,0.25) !important;
  border-color: rgba(232,160,32,0.3) !important;
}
.elementor-element-56d76f6::before,
.elementor-element-cc54eaf::before,
.elementor-element-25229ee::before,
.elementor-element-9d142b8::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(6,6,8,0.96) 0%, rgba(6,6,8,0.75) 45%, rgba(6,6,8,0.4) 100%) !important;
  z-index: 1 !important;
  border-radius: var(--radius-lg) !important;
}
.elementor-element-56d76f6 > *,
.elementor-element-cc54eaf > *,
.elementor-element-25229ee > *,
.elementor-element-9d142b8 > * {
  position: relative !important;
  z-index: 2 !important;
}
.elementor-element-56d76f6 h3, .elementor-element-cc54eaf h3,
.elementor-element-25229ee h3, .elementor-element-9d142b8 h3,
.elementor-element-56d76f6 .elementor-heading-title,
.elementor-element-cc54eaf .elementor-heading-title,
.elementor-element-25229ee .elementor-heading-title,
.elementor-element-9d142b8 .elementor-heading-title {
  color: #FFFFFF !important; font-weight: 700 !important; font-size: 1.25rem !important; text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
}
.elementor-element-56d76f6 p, .elementor-element-cc54eaf p,
.elementor-element-25229ee p, .elementor-element-9d142b8 p {
  color: #FFFFFF !important; font-size: 0.92rem !important; font-weight: 500 !important; text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
}

/* ══════════════════════════════════════════
   TRUST BAR — Animated Scrolling Ticker
   Gold/black gradient background
   White text · gold dots · infinite scroll
══════════════════════════════════════════ */
.elementor-element-4dca15b {
  background: linear-gradient(135deg, #0A0A0B 0%, #1A1208 40%, #0A0A0B 100%) !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-top: 1px solid rgba(232,160,32,0.15) !important;
  border-bottom: 1px solid rgba(232,160,32,0.15) !important;
}
.elementor-element-4dca15b .e-con-inner {
  padding: 0 !important;
  overflow: hidden !important;
}

/* Hide original content and replace with ticker via CSS */
.alu-stats-section {
  display: none !important;
}

/* The ticker container — injected via JS into the section */
.alu-ticker-wrap {
  width: 100% !important;
  overflow: hidden !important;
  padding: 16px 0 !important;
  position: relative !important;
}
.alu-ticker-track {
  display: flex !important;
  white-space: nowrap !important;
  animation: aluTicker 28s linear infinite !important;
  width: max-content !important;
}
.alu-ticker-track:hover {
  animation-play-state: paused !important;
}
.alu-ticker-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0 8px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #FFFFFF !important;
  flex-shrink: 0 !important;
}
.alu-ticker-dot {
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, var(--gold-dark), var(--gold-light)) !important;
  margin: 0 16px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 0 6px rgba(232,160,32,0.5) !important;
}

@keyframes aluTicker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── HOW IT WORKS ── */
.elementor-element-318146a {
  background: linear-gradient(135deg, #1A1208 0%, #2A1E0A 40%, #1E1508 100%) !important;
  position: relative !important;
  overflow: hidden !important;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
.elementor-element-318146a::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 8px, rgba(232,160,32,0.04) 8px, rgba(232,160,32,0.04) 16px) !important;
  pointer-events: none !important;
}
.elementor-element-318146a *, .elementor-element-318146a p,
.elementor-element-318146a h1, .elementor-element-318146a h2,
.elementor-element-318146a h3, .elementor-element-318146a h4 {
  font-family: 'Montserrat', sans-serif !important;
}
.elementor-element-318146a h2, .elementor-element-318146a h3,
.elementor-element-318146a .elementor-heading-title {
  color: var(--gold-light) !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
}
.elementor-element-318146a p {
  color: rgba(240,238,232,0.82) !important;
  line-height: 1.7 !important;
}

/* ── WHY CHOOSE US ── */
.elementor-element-3dc9bd7 {
  background: linear-gradient(160deg, #F8F6F0 0%, #FFFEF9 60%, #F5F3EC 100%) !important;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
  position: relative !important;
}
.elementor-element-3dc9bd7::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 10% !important;
  right: 10% !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--gold), var(--gold-light), var(--gold), transparent) !important;
}
.elementor-element-3dc9bd7 *, .elementor-element-3dc9bd7 p,
.elementor-element-3dc9bd7 h1, .elementor-element-3dc9bd7 h2,
.elementor-element-3dc9bd7 h3, .elementor-element-3dc9bd7 h4 {
  font-family: 'Montserrat', sans-serif !important;
}
.elementor-element-3dc9bd7 h2, .elementor-element-3dc9bd7 .elementor-heading-title {
  color: #0A0A0B !important; font-weight: 800 !important; letter-spacing: -0.02em !important;
}
.elementor-element-3dc9bd7 h2 span { color: var(--gold-dark) !important; }
.elementor-element-3dc9bd7 p { color: rgba(10,10,11,0.72) !important; line-height: 1.7 !important; }
.elementor-element-3dc9bd7 h3, .elementor-element-3dc9bd7 h4 {
  color: #111114 !important; font-weight: 700 !important;
  letter-spacing: 0.04em !important; text-transform: uppercase !important; font-size: 0.95rem !important;
}

/* ── QUOTE TITLE ── */
.elementor-element-09b3e44 {
  background: var(--dark-200) !important;
  padding-top: 70px !important;
  padding-bottom: 10px !important;
}
.elementor-element-09b3e44 h2, .elementor-element-09b3e44 .elementor-heading-title {
  color: var(--text-primary) !important; font-weight: 800 !important;
}
.elementor-element-09b3e44 h2 span { color: var(--gold) !important; }
.elementor-element-09b3e44 p { color: var(--text-secondary) !important; line-height: 1.7 !important; }

/* ── QUOTE FORM ── */
.elementor-element-8691ef2 {
  background: var(--dark-200) !important;
  padding-bottom: 80px !important;
}
.elementor-element-8691ef2 .wpforms-container,
.elementor-element-8691ef2 .wpforms-form {
  background: var(--dark-300) !important;
  border-radius: var(--radius-lg) !important;
  padding: 48px 40px !important;
  border: 1px solid var(--border-gold) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,0.4) !important;
  position: relative !important;
  overflow: hidden !important;
}
.elementor-element-8691ef2 .wpforms-container::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--gold-dark), var(--gold), var(--gold-light)) !important;
}
.elementor-element-8691ef2 .wpforms-field-label,
.elementor-element-8691ef2 label {
  color: var(--text-secondary) !important;
  font-weight: 600 !important; font-size: 0.88rem !important;
  letter-spacing: 0.05em !important; text-transform: uppercase !important;
}
.elementor-element-8691ef2 input[type="text"],
.elementor-element-8691ef2 input[type="email"],
.elementor-element-8691ef2 input[type="tel"],
.elementor-element-8691ef2 input[type="number"],
.elementor-element-8691ef2 textarea,
.elementor-element-8691ef2 select {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(232,160,32,0.22) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--text-primary) !important;
  padding: 14px 18px !important;
  font-size: 0.97rem !important;
  transition: var(--transition) !important;
  width: 100% !important;
}
.elementor-element-8691ef2 input:focus,
.elementor-element-8691ef2 textarea:focus,
.elementor-element-8691ef2 select:focus {
  border-color: var(--gold) !important;
  background: rgba(232,160,32,0.07) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(232,160,32,0.14) !important;
}
.elementor-element-8691ef2 input::placeholder,
.elementor-element-8691ef2 textarea::placeholder {
  color: var(--text-muted) !important;
}

/* Form submit — the REFERENCE button all others match */
.elementor-element-8691ef2 .wpforms-submit,
.elementor-element-8691ef2 button[type="submit"],
.elementor-element-8691ef2 input[type="submit"] {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%) !important;
  color: #0A0A0B !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  padding: 16px 48px !important;
  border-radius: var(--radius-pill) !important;
  border: none !important;
  cursor: pointer !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1) !important;
  box-shadow: var(--shadow-gold) !important;
  width: auto !important;
  margin-top: 16px !important;
}
.elementor-element-8691ef2 .wpforms-submit:hover,
.elementor-element-8691ef2 button[type="submit"]:hover,
.elementor-element-8691ef2 input[type="submit"]:hover {
  transform: translateY(-4px) scale(1.04) !important;
  box-shadow: var(--glow-gold) !important;
  background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 100%) !important;
}

/* ── FOOTER ── */
.elementor-element-32b9da0 {
  background: #060608 !important;
  position: relative !important;
  padding-top: 64px !important;
  padding-bottom: 48px !important;
}
.elementor-element-32b9da0::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent 0%, var(--gold-dark) 20%, var(--gold-light) 50%, var(--gold-dark) 80%, transparent 100%) !important;
}
.elementor-element-32b9da0 *, .elementor-element-32b9da0 h2,
.elementor-element-32b9da0 h3, .elementor-element-32b9da0 p,
.elementor-element-32b9da0 a, .elementor-element-32b9da0 li {
  font-family: 'Montserrat', sans-serif !important;
}
.elementor-element-32b9da0 h2, .elementor-element-32b9da0 h3,
.elementor-element-32b9da0 .elementor-heading-title {
  color: var(--gold-light) !important; font-weight: 700 !important;
  font-size: 0.95rem !important; letter-spacing: 0.08em !important; text-transform: uppercase !important;
}
.elementor-element-32b9da0 p, .elementor-element-32b9da0 a, .elementor-element-32b9da0 li {
  color: rgba(240,238,232,0.65) !important; font-size: 0.94rem !important; line-height: 1.8 !important; text-decoration: none !important;
}
.elementor-element-32b9da0 a:hover { color: var(--gold-light) !important; }

/* ── COPYRIGHT ── */
.elementor-element-c55c632 {
  background: #030304 !important;
  border-top: 1px solid rgba(232,160,32,0.10) !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}
.elementor-element-c55c632 *, .elementor-element-c55c632 p, .elementor-element-c55c632 a {
  font-family: 'Montserrat', sans-serif !important;
  color: rgba(240,238,232,0.45) !important;
  font-size: 0.85rem !important;
  text-decoration: none !important;
}

/* ── MOBILE ── */
@media (max-width: 767px) {
  .elementor-element-8691ef2 { padding-left: 15px !important; padding-right: 15px !important; }
  #quote { padding-left: 15px !important; padding-right: 15px !important; }
  .elementor-element-8691ef2 .wpforms-container,
  .elementor-element-8691ef2 .wpforms-form { padding: 28px 20px !important; }
  .elementor-element-8691ef2 input[type="text"],
  .elementor-element-8691ef2 input[type="email"],
  .elementor-element-8691ef2 input[type="tel"],
  .elementor-element-8691ef2 textarea,
  .elementor-element-8691ef2 select {
    width: 100% !important; min-width: 0 !important; box-sizing: border-box !important; font-size: 16px !important;
  }
  .elementor-element-56d76f6, .elementor-element-cc54eaf,
  .elementor-element-25229ee, .elementor-element-9d142b8 { min-height: 220px !important; }
  .alu-ticker-item { font-size: 0.78rem !important; }
}
@media (max-width: 480px) {
  .elementor-element-8691ef2 { padding-left: 10px !important; padding-right: 10px !important; }
  #quote { padding-left: 10px !important; padding-right: 10px !important; }
  .elementor-element-8691ef2 .wpforms-container,
  .elementor-element-8691ef2 .wpforms-form { padding: 20px 14px !important; }
  .elementor-element-8691ef2 .wpforms-submit,
  .elementor-element-8691ef2 button[type="submit"] { width: 100% !important; padding: 16px 24px !important; }
}

/* ── PULSE GLOW ANIMATION (both CTA buttons) ── */
@keyframes pulseGlow {
  0%, 100% { box-shadow: var(--shadow-gold); }
  50% { box-shadow: 0 0 48px 16px rgba(232,160,32,0.75), 0 8px 64px 24px rgba(232,160,32,0.55), 0 2px 12px rgba(232,160,32,0.7); }
}

/* Fix: nav slideshow should not block pointer events */
.elementor-element-2d6a4d7 .elementor-background-slideshow {
  pointer-events: none !important;
}

/* Why Choose Us - contained rounded box */
.why-choose-box.e-con {
	  --width: auto !important;
	  width: calc(100% - 120px) !important;
	  max-width: 1300px !important;
	  margin-left: auto !important;
	  margin-right: auto !important;
}
@media (max-width: 768px) {
	.why-choose-box.e-con {
		    width: calc(100% - 40px) !important;
		    margin-left: 20px !important;
		    margin-right: 20px !important;
	}
}

	}
}
}

/* Crack & Pothole Filling tile - readability boost */
.elementor-element-65320ac::before {
  background: linear-gradient(to top, rgba(0,0,0,0.96) 0%, rgba(0,0,0,0.8) 45%, rgba(0,0,0,0.5) 100%) !important;
}
.elementor-element-65320ac h2 {
  color: #FFFFFF !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
}
.elementor-element-65320ac p {
  color: #FFFFFF !important;
  font-weight: 500 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
}


/* ══════════════════════════════════════════
   FIX: Sticky nav (2d6a4d7) logo was rendering
   at its full native size (~750px), forcing the
   whole sticky nav bar to cover most of the
   viewport on both mobile and desktop.
   Constrain the logo to a normal header size so
   the sticky nav is a slim bar pinned at the top,
   and give the bar a little breathing room.
══════════════════════════════════════════ */
.elementor-element-2d6a4d7 img.e-image-base {
  width: auto !important;
  height: auto !important;
  max-height: 44px !important;
}
.elementor-element-2d6a4d7 .e-con-inner {
  padding: 14px 0 !important;
}


/* ══════════════════════════════════════════
   FIX: "Our Services" section title (97ef89f)
   had no color override, so it fell back to the
   theme's default dark heading color (#2a2a2a),
   making it nearly invisible on this dark
   background. Match the bright white treatment
   used by other dark-section headings on the page.
══════════════════════════════════════════ */
.elementor-element-97ef89f h2,
.elementor-element-97ef89f .elementor-heading-title {
  color: #FFFFFF !important;
}


/* ══════════════════════════════════════════
   FIX: Service card titles/descriptions are
   wrapped in <a> links (to their service pages).
   A global "a:visited" style makes the LINK's own
   color dark once a visitor has clicked into that
   page and returned — overriding the white color
   set above (inheritance always loses to a direct
   rule on the element itself). Force white for the
   link in both visited and unvisited states.
══════════════════════════════════════════ */
.elementor-element-56d76f6 h3 a, .elementor-element-56d76f6 h3 a:visited,
.elementor-element-cc54eaf h3 a, .elementor-element-cc54eaf h3 a:visited,
.elementor-element-25229ee h3 a, .elementor-element-25229ee h3 a:visited,
.elementor-element-9d142b8 h3 a, .elementor-element-9d142b8 h3 a:visited,
.elementor-element-65320ac h2 a, .elementor-element-65320ac h2 a:visited {
  color: #FFFFFF !important;
}
.elementor-element-56d76f6 p a, .elementor-element-56d76f6 p a:visited,
.elementor-element-cc54eaf p a, .elementor-element-cc54eaf p a:visited,
.elementor-element-25229ee p a, .elementor-element-25229ee p a:visited,
.elementor-element-9d142b8 p a, .elementor-element-9d142b8 p a:visited,
.elementor-element-65320ac p a, .elementor-element-65320ac p a:visited {
  color: #FFFFFF !important;
}


/* ══════════════════════════════════════════
   FIX: Crack & Pothole Filling card (65320ac)
   was missing the "lift content above the dark
   overlay" rule that the other 4 service cards
   have. Its ::before overlay (position:absolute)
   was painting above the plain static text,
   dimming it. Elevate the content like the others.
══════════════════════════════════════════ */
.elementor-element-65320ac > * {
  position: relative !important;
  z-index: 2 !important;
}


/* ===== Fixes: center Our Services heading, fix+center hero subtitle, shrink nav font ===== */
.elementor-element-97ef89f h2,
.elementor-element-97ef89f .elementor-heading-title {
  text-align: center !important;
}

.elementor-element-03f5c33 h2 {
  color: #FFFFFF !important;
  text-align: center !important;
  font-size: 1.18rem !important;
  font-weight: 400 !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.45) !important;
}

.elementor-element-2d6a4d7 a.e-button-base {
  font-size: 15px !important;
}
.elementor-element-2d6a4d7 a.e-57f04b1-38e2d70 {
  padding: 9px 22px !important;
}


/* Fix: Crack & Pothole Filling card had a much darker bottom-fade overlay than the other service cards. Match the same lighter 3-stop gradient used by the other 4 cards. */
.elementor-element-65320ac::before {
  background: linear-gradient(to top, rgba(6, 6, 8, 0.96) 0%, rgba(6, 6, 8, 0.75) 45%, rgba(6, 6, 8, 0.4) 100%) !important;
}


/* Fix: Service page (Pages template) titles were rendering in dark gray (#2a2a2a) against the dark page background, making them nearly unreadable. Match the light off-white color used by body text on these pages. */
.wp-block-post-title {
  color: #f0eee8 !important;
}
