:root{--yellow:#facc15;--yellow-hover:#fde047;--dark:#111827;--dark2:#1f2937;--text:#1f2937;--muted:#4b5563;--light:#f3f4f6;--border:#e5e7eb;--white:#fff;--radius:14px;--shadow:0 10px 25px rgba(0,0,0,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.6}a{color:inherit}img{max-width:100%;height:auto}.container{width:min(1120px,calc(100% - 32px));margin:auto}.narrow{width:min(820px,100%)}.center{text-align:center}.section{padding:64px 0}.white-section{background:#fff}.light-section{background:var(--light)}.dark-section{background:var(--dark2);color:#fff}.muted{color:#d1d5db}.large{font-size:1.12rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--yellow);margin:0 0 14px}.yellow-dark{color:#ca8a04}h1,h2,h3{line-height:1.15;margin-top:0;color:inherit}h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800}h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:800}h3{font-size:1.35rem;font-weight:800}.hero{padding:78px 0}.hero-text{font-size:clamp(1.1rem,2.2vw,1.3rem);color:#e5e7eb}.button-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;text-decoration:none!important;font-weight:800;padding:13px 24px;border-radius:10px;transition:.2s;border:2px solid transparent;line-height:1.25}.btn.btn-yellow,.btn.btn-yellow:visited{background:#facc15!important;color:#111827!important;border-color:#facc15!important}.btn.btn-yellow:hover,.btn.btn-yellow:focus{background:#fde047!important;color:#111827!important;border-color:#fde047!important}.btn.btn-outline,.btn.btn-outline:visited{background:transparent!important;border-color:#fff!important;color:#fff!important}.btn.btn-outline:hover,.btn.btn-outline:focus{background:#fff!important;color:#111827!important;border-color:#fff!important}.btn.btn-dark,.btn.btn-dark:visited{background:#111827!important;color:#fff!important;border-color:#111827!important}.btn.btn-dark:hover,.btn.btn-dark:focus{background:#1f2937!important;color:#fff!important;border-color:#1f2937!important}.site-header{position:sticky;top:0;z-index:9999;background:var(--dark);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.18)}.header-inner{display:flex;align-items:center;gap:22px;min-height:76px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-logo{width:48px;height:48px;border-radius:999px;background:var(--yellow);color:#111827;font-size:20px;font-weight:900;display:grid;place-items:center;flex:0 0 auto}.custom-logo-wrap{background:transparent}.custom-logo-wrap img{max-height:48px;width:auto}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:18px}.brand-copy small{color:#d1d5db}.primary-nav{margin-left:auto}.menu{list-style:none;display:flex;gap:22px;margin:0;padding:0}.menu a{text-decoration:none;font-weight:700;color:#f9fafb}.menu a:hover{color:var(--yellow)}.header-phone{white-space:nowrap}.menu-toggle{display:none;background:transparent;color:#fff;border:1px solid #4b5563;border-radius:8px;padding:8px 12px;font-weight:700}.section-heading{max-width:760px;margin:0 auto 38px}.section-heading p{color:#6b7280}.cards{display:grid;gap:22px}.cards-3{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.card p{color:#4b5563;margin-bottom:0}.split{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.feature-box{border-radius:18px;padding:34px;box-shadow:var(--shadow)}.dark-card{background:var(--dark);color:#fff}.dark-card p:not(.eyebrow){color:#d1d5db}.number{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--yellow);font-size:1.4rem;font-weight:900;margin-bottom:20px}.check-list{list-style:none;padding:0}.check-list li{position:relative;padding-left:30px;margin:15px 0}.check-list li:before{content:'✓';position:absolute;left:0;color:#ca8a04;font-weight:900}.prose p{margin:0 0 20px}.cta-yellow{background:var(--yellow);color:#111827}.site-footer{background:#111827!important;color:#d1d5db!important}.site-footer .footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:48px 0 40px}.site-footer .footer-col{min-width:0}.site-footer .footer-brand{margin:0 0 16px}.site-footer .footer-brand .brand-copy strong{color:#fff}.site-footer p{margin:0 0 14px;color:#d1d5db}.site-footer h3{color:#fff!important;font-size:1.125rem;margin:0 0 16px}.site-footer ul{list-style:none!important;padding:0!important;margin:0!important}.site-footer li{margin:0 0 8px!important;color:#d1d5db}.site-footer a{color:#d1d5db!important;text-decoration:none!important}.site-footer a:hover{color:#fde047!important}.site-footer .footer-phone,.site-footer .footer-phone:visited{color:#facc15!important;font-weight:800;font-size:1.125rem}.site-footer .footer-phone:hover{color:#fde047!important}.site-footer .footer-bottom{border-top:1px solid #374151;padding:24px 0;text-align:center;color:#6b7280!important;font-size:.875rem}.site-footer .footer-bottom p{margin:0;color:#6b7280!important}.page-hero,.article-hero{padding:58px 0}.content-area,.article-content{max-width:820px}.content-area h2,.article-content h2{margin-top:38px}.content-area h3,.article-content h3{margin-top:28px}.article-content{font-size:1.08rem}.article-image{border-radius:16px;margin-bottom:28px}.article-meta,.post-meta{color:#d1d5db}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.post-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.post-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.post-card-body{padding:24px}.post-card h2{font-size:1.45rem}.post-card h2 a{text-decoration:none}.post-card .post-meta{color:#6b7280;font-size:.9rem}.text-link{font-weight:800;text-decoration:none}.text-link:hover{color:#ca8a04}.pagination{margin-top:36px}.nav-links{display:flex;gap:8px;justify-content:center}.page-numbers{padding:8px 12px;border:1px solid var(--border);text-decoration:none;border-radius:7px}.page-numbers.current{background:var(--dark);color:#fff}.footer-menu{margin-top:16px}.footer-menu a{color:#d1d5db;text-decoration:none}
@media(max-width:900px){.primary-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--dark);padding:18px 24px;border-top:1px solid #374151}.primary-nav.open{display:block}.menu{flex-direction:column;gap:12px}.menu-toggle{display:block;margin-left:auto}.header-phone{margin-left:0}.cards-3,.post-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.site-footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.section{padding:50px 0}.hero{padding:60px 0}.cards-3,.post-grid{grid-template-columns:1fr}.site-footer .footer-grid{grid-template-columns:1fr}.header-inner{gap:10px}.brand-copy strong{font-size:16px}.brand-copy small{font-size:12px}.brand-logo{width:42px;height:42px}.header-phone{padding:10px 12px;font-size:.9rem}.call-word{display:none}.menu-toggle{font-size:.85rem}.footer-grid{padding:38px 0}}

/* ===== Footer: isolated to match original site exactly ===== */
.fbmm-site-footer {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #111827 !important;
  color: #d1d5db !important;
  font-family: Arial, Helvetica, sans-serif !important;
  clear: both !important;
}
.fbmm-site-footer *,
.fbmm-site-footer *::before,
.fbmm-site-footer *::after { box-sizing: border-box !important; }
.fbmm-footer-inner {
  width: calc(100% - 32px) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 48px 0 0 !important;
}
.fbmm-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 32px !important;
  row-gap: 32px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 40px !important;
  align-items: start !important;
}
.fbmm-footer-column {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.fbmm-footer-brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}
.fbmm-footer-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9999px !important;
  background: #facc15 !important;
  color: #111827 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 48px !important;
}
.fbmm-footer-brand-text { display: block !important; margin: 0 !important; padding: 0 !important; }
.fbmm-footer-brand-title {
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
.fbmm-footer-brand-subtitle {
  margin: 2px 0 0 !important;
  padding: 0 !important;
  color: #9ca3af !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}
.fbmm-footer-description,
.fbmm-footer-location,
.fbmm-footer-phone-wrap {
  margin: 0 0 14px !important;
  padding: 0 !important;
  color: #d1d5db !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.fbmm-footer-description { max-width: 330px !important; }
.fbmm-footer-heading {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}
.fbmm-footer-services {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.fbmm-footer-services li {
  display: list-item !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #d1d5db !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
.fbmm-footer-phone,
.fbmm-footer-phone:visited {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #facc15 !important;
  text-decoration: none !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}
.fbmm-footer-phone:hover,
.fbmm-footer-phone:focus { color: #fde047 !important; }
.fbmm-footer-bottom {
  width: 100% !important;
  margin: 0 !important;
  padding: 24px 0 !important;
  border-top: 1px solid #374151 !important;
  text-align: center !important;
}
.fbmm-footer-bottom p {
  margin: 0 !important;
  padding: 0 !important;
  color: #6b7280 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
@media (max-width: 767px) {
  .fbmm-footer-inner { padding-top: 40px !important; }
  .fbmm-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding-bottom: 32px !important;
  }
  .fbmm-footer-description { max-width: none !important; }
}

/* ===== v1.2 Responsive header, menus and four-column footer ===== */
.header-inner {
  position: relative;
  flex-wrap: nowrap;
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  order: 3;
}
.primary-nav {
  order: 2;
  margin-left: auto;
}
.header-actions .header-phone {
  margin: 0;
}
.menu-toggle {
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  cursor: pointer;
}
.menu-toggle-bars {
  display: inline-flex;
  width: 20px;
  flex-direction: column;
  gap: 4px;
}
.menu-toggle-bars span {
  display: block;
  width: 20px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform .2s ease, opacity .2s ease;
}
.menu-toggle[aria-expanded="true"] .menu-toggle-bars span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-bars span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle-bars span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.header-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 10px 0;
}

/* Footer layout: four columns desktop, two tablet, one phone */
.fbmm-footer-grid {
  grid-template-columns: 1.25fr .8fr 1.1fr .85fr !important;
  column-gap: 40px !important;
}
.fbmm-footer-menu {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.fbmm-footer-menu li {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}
.fbmm-footer-menu a,
.fbmm-footer-menu a:visited {
  display: inline !important;
  color: #d1d5db !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.fbmm-footer-menu a:hover,
.fbmm-footer-menu a:focus {
  color: #fde047 !important;
}
.fbmm-footer-call-button,
.fbmm-footer-call-button:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  margin-top: 6px !important;
  padding: 10px 18px !important;
  border-radius: 9px !important;
  background: #facc15 !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}
.fbmm-footer-call-button:hover,
.fbmm-footer-call-button:focus {
  background: #fde047 !important;
  color: #111827 !important;
}

@media (min-width: 961px) {
  .header-inner { min-height: 76px; }
  .primary-nav { display: block; }
  .header-menu { align-items: center; }
  .header-menu > li { position: relative; }
  .header-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: -16px;
    min-width: 220px;
    padding: 10px 0;
    background: #111827;
    border: 1px solid #374151;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(0,0,0,.25);
  }
  .header-menu li:hover > .sub-menu,
  .header-menu li:focus-within > .sub-menu { display: block; }
  .header-menu .sub-menu a { display: block; padding: 10px 16px; }
}

@media (max-width: 960px) {
  .site-header { position: sticky; top: 0; }
  .header-inner {
    min-height: 72px;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .brand { min-width: 0; }
  .header-actions { margin-left: auto; gap: 8px; }
  .menu-toggle { display: inline-flex; margin: 0; }
  .primary-nav {
    display: none;
    position: static;
    order: 4;
    flex: 0 0 100%;
    width: 100%;
    margin: 0;
    padding: 8px 0 4px;
    border-top: 1px solid #374151;
    background: #111827;
  }
  .primary-nav.open { display: block; }
  .header-menu {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
  }
  .header-menu li { width: 100%; margin: 0; }
  .header-menu a {
    display: block;
    width: 100%;
    padding: 12px 4px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .header-menu .sub-menu { padding: 0 0 0 18px; }
  .header-menu .sub-menu a { font-weight: 600; color: #d1d5db; }
  .fbmm-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 36px !important;
    row-gap: 38px !important;
  }
}

@media (max-width: 680px) {
  .container { width: min(100% - 28px,1120px); }
  .site-header .container { width: min(100% - 20px,1120px); }
  .brand-logo { width: 42px; height: 42px; flex-basis: 42px; }
  .custom-logo-wrap img { max-height: 42px; }
  .brand-copy strong { font-size: 15px; }
  .brand-copy small { font-size: 11px; }
  .header-phone {
    min-height: 42px;
    padding: 9px 11px !important;
    font-size: 13px !important;
  }
  .menu-toggle {
    min-height: 42px;
    padding: 8px 10px;
  }
  .menu-toggle-label { display: none; }
  .hero h1 { font-size: clamp(2rem, 10vw, 3rem); }
  h2 { font-size: clamp(1.7rem, 8vw, 2.3rem); }
  .button-row { flex-direction: column; align-items: stretch; }
  .button-row .btn { width: 100%; text-align: center; }
  .card, .feature-box { padding: 24px; }
  .fbmm-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .fbmm-footer-column { width: 100% !important; }
}

@media (max-width: 430px) {
  .brand-copy small { display: none; }
  .brand-copy strong { font-size: 14px; }
  .call-word { display: none; }
  .header-phone { font-size: 12.5px !important; padding-left: 9px !important; padding-right: 9px !important; }
  .menu-toggle { padding-left: 9px; padding-right: 9px; }
  .header-actions { gap: 6px; }
}

/* ===== v1.2.1 Compact mobile header phone button ===== */
@media (max-width: 680px) {
  .site-header .header-phone,
  .site-header .header-phone:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 7px 9px !important;
    border-width: 2px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }
}

@media (max-width: 430px) {
  .site-header .header-phone,
  .site-header .header-phone:visited {
    padding: 6px 8px !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }
}


/* ===== v1.3.0 Designed editable Home page ===== */
.fbmm-front-page { overflow: hidden; }
.fbmm-front-page > .section,
.fbmm-front-page > .hero { margin: 0; }
.service-card-grid .card { height: 100%; }
.service-card-grid .card h3 { margin-bottom: 12px; }
.problem-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.problem-item {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 18px 20px;
  font-weight: 700;
  line-height: 1.35;
  box-shadow: 0 4px 12px rgba(0,0,0,.04);
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.problem-item:hover {
  border-color: #facc15;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.07);
}
.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
.step-card { padding: 4px 18px; }
.step-card .step-number { margin-left: auto; margin-right: auto; }
.step-card p { color: #4b5563; margin-bottom: 0; }
.local-service-section .muted { max-width: 780px; margin-left: auto; margin-right: auto; }
.faq-list { display: grid; gap: 20px; }
.faq-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 26px 28px;
  box-shadow: 0 6px 18px rgba(0,0,0,.05);
}
.faq-card h3 { margin-bottom: 10px; }
.faq-card p { color: #4b5563; margin: 0; }

@media (max-width: 900px) {
  .problem-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps-grid { grid-template-columns: 1fr; gap: 26px; }
  .step-card { max-width: 620px; margin: 0 auto; }
}

@media (max-width: 640px) {
  .problem-grid { grid-template-columns: 1fr; gap: 12px; }
  .problem-item { padding: 16px 18px; }
  .faq-card { padding: 22px 20px; }
  .fbmm-home-hero .button-row { gap: 12px; }
}

/* ===== v1.3.2 Universal sticky header fix ===== */
html,
body {
  overflow-x: clip;
}

.site-header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 999999 !important;
  isolation: isolate;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Keep the theme header below the WordPress admin bar while logged in. */
body.admin-bar .site-header {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar .site-header {
    top: 46px !important;
  }
}

/* Prevent page/article content from painting over the sticky header. */
#content,
.fbmm-full-page,
.page-hero,
.article-hero {
  position: relative;
  z-index: 0;
}


/* ===== v1.3.4 Reduced heading scale ===== */
/* Keep the homepage hero prominent while making normal page typography calmer. */
.fbmm-front-page .hero h1,
.fbmm-home-hero h1 {
  font-size: clamp(2.1rem, 4.2vw, 3.25rem);
}

/* Inner page and article hero headings. */
.page-hero,
.article-hero {
  padding-top: 92px;
  padding-bottom: 58px;
}
.page-hero h1,
.article-hero h1 {
  font-size: clamp(1.9rem, 3.4vw, 2.15rem);
}

/* Normal page/article section headings. */
.content-area h2,
.article-content h2,
.fbmm-full-page h2 {
  font-size: clamp(1.75rem, 3.2vw, 2rem);
}
.content-area h3,
.article-content h3,
.fbmm-full-page h3 {
  font-size: clamp(1.25rem, 2.4vw, 1.5rem);
}

@media (max-width: 782px) {
  .page-hero,
  .article-hero {
    padding-top: 72px;
    padding-bottom: 48px;
  }
  .page-hero h1,
  .article-hero h1 {
    font-size: clamp(1.75rem, 6vw, 1.9rem);
  }
  .content-area h2,
  .article-content h2,
  .fbmm-full-page h2 {
    font-size: clamp(1.625rem, 6vw, 1.75rem);
  }
}

@media (max-width: 430px) {
  .page-hero,
  .article-hero {
    padding-top: 62px;
  }
  .page-hero h1,
  .article-hero h1 {
    font-size: 1.7rem;
  }
  .content-area h2,
  .article-content h2,
  .fbmm-full-page h2 {
    font-size: 1.5625rem;
  }
}

/* ===== v1.3.5 More breathing room below sticky header ===== */
/* Applies to inner-page/article heroes only; homepage hero remains unchanged. */
.page-hero,
.article-hero {
  padding-top: 118px;
}

@media (max-width: 782px) {
  .page-hero,
  .article-hero {
    padding-top: 92px;
  }
}

@media (max-width: 430px) {
  .page-hero,
  .article-hero {
    padding-top: 82px;
  }
}

/* ===== v1.3.6 Inner-page heading + top-spacing correction =====
   Explicit selectors override the original global h1/hero rules.
   Homepage remains unchanged. */
body:not(.home) .page-hero h1,
body:not(.home) .article-hero h1,
body:not(.home) .fbmm-full-page > .hero:first-child h1,
body:not(.home) .fbmm-full-page h1 {
  font-size: 1.875rem !important; /* 30px */
  line-height: 1.18 !important;
}

/* Give the opening inner-page hero clear breathing room below the sticky header. */
body:not(.home) #content > .page-hero,
body:not(.home) #content > .article-hero,
body:not(.home) .fbmm-full-page > .hero:first-child {
  padding-top: 140px !important;
}

@media (max-width: 782px) {
  body:not(.home) .page-hero h1,
  body:not(.home) .article-hero h1,
  body:not(.home) .fbmm-full-page > .hero:first-child h1,
  body:not(.home) .fbmm-full-page h1 {
    font-size: 1.6875rem !important; /* 27px */
  }

  body:not(.home) #content > .page-hero,
  body:not(.home) #content > .article-hero,
  body:not(.home) .fbmm-full-page > .hero:first-child {
    padding-top: 110px !important;
  }
}

@media (max-width: 430px) {
  body:not(.home) .page-hero h1,
  body:not(.home) .article-hero h1,
  body:not(.home) .fbmm-full-page > .hero:first-child h1,
  body:not(.home) .fbmm-full-page h1 {
    font-size: 1.5rem !important; /* 24px */
  }

  body:not(.home) #content > .page-hero,
  body:not(.home) #content > .article-hero,
  body:not(.home) .fbmm-full-page > .hero:first-child {
    padding-top: 95px !important;
  }
}

/* ===== v1.3.7 Inner-page spacing + heading hierarchy =====
   Put a real visual gap between the sticky header and inner-page content.
   H1 stays only ~2px larger than H2. Homepage remains separate. */
body:not(.home) #content {
  padding-top: 42px !important;
}

/* Remove the oversized hero top padding from earlier revisions; the gap now
   belongs to #content so it works regardless of the page's inner markup. */
body:not(.home) .page-hero,
body:not(.home) .article-hero,
body:not(.home) .fbmm-full-page > .hero:first-child {
  padding-top: 54px !important;
  padding-bottom: 54px !important;
}

body:not(.home) .page-hero h1,
body:not(.home) .article-hero h1,
body:not(.home) .fbmm-full-page h1,
body:not(.home) #content h1 {
  font-size: 1.875rem !important; /* 30px */
  line-height: 1.2 !important;
}

body:not(.home) .content-area h2,
body:not(.home) .article-content h2,
body:not(.home) .fbmm-full-page h2,
body:not(.home) #content h2 {
  font-size: 1.75rem !important; /* 28px */
  line-height: 1.22 !important;
}

@media (max-width: 782px) {
  body:not(.home) #content {
    padding-top: 34px !important;
  }
  body:not(.home) .page-hero,
  body:not(.home) .article-hero,
  body:not(.home) .fbmm-full-page > .hero:first-child {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
  body:not(.home) .page-hero h1,
  body:not(.home) .article-hero h1,
  body:not(.home) .fbmm-full-page h1,
  body:not(.home) #content h1 {
    font-size: 1.75rem !important; /* 28px */
  }
  body:not(.home) .content-area h2,
  body:not(.home) .article-content h2,
  body:not(.home) .fbmm-full-page h2,
  body:not(.home) #content h2 {
    font-size: 1.625rem !important; /* 26px */
  }
}

@media (max-width: 430px) {
  body:not(.home) #content {
    padding-top: 28px !important;
  }
  body:not(.home) .page-hero,
  body:not(.home) .article-hero,
  body:not(.home) .fbmm-full-page > .hero:first-child {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }
  body:not(.home) .page-hero h1,
  body:not(.home) .article-hero h1,
  body:not(.home) .fbmm-full-page h1,
  body:not(.home) #content h1 {
    font-size: 1.6875rem !important; /* 27px */
  }
  body:not(.home) .content-area h2,
  body:not(.home) .article-content h2,
  body:not(.home) .fbmm-full-page h2,
  body:not(.home) #content h2 {
    font-size: 1.5625rem !important; /* 25px */
  }
}

/* ===== v1.3.8 Standard-page title banner removal =====
   Normal WordPress pages now use the H1 placed in page content instead of
   automatically rendering a separate dark title banner. */
body:not(.home) .fbmm-standard-page {
  padding-top: 56px;
}

@media (max-width: 782px) {
  body:not(.home) .fbmm-standard-page {
    padding-top: 46px;
  }
}

@media (max-width: 430px) {
  body:not(.home) .fbmm-standard-page {
    padding-top: 40px;
  }
}

/* ===== v1.3.9 Streamlined homepage ===== */
.cards-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.value-card-grid .card { height: 100%; }
.section-button-row { margin-top: 34px; }
@media (max-width: 960px) {
  .cards-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .cards-4 { grid-template-columns: 1fr; }
  .section-button-row { margin-top: 28px; }
}

/* v1.4.3 editable footer legal links */
.fbmm-footer-legal-menu{list-style:none;margin:10px 0 0;padding:0;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.fbmm-footer-legal-menu li{margin:0!important}.fbmm-footer-legal-menu a{font-size:.875rem}@media(max-width:640px){.fbmm-footer-legal-menu{gap:10px 16px}}

/* v1.4.16 — Vehicle makes use the exact same card + responsive grid as problem cards */
.fbmm-vehicle-makes-section .section-heading {
  margin-bottom: 30px;
}
.make-link,
.make-link:visited {
  display: block;
  color: #111827;
  text-decoration: none !important;
}
.make-link::before,
.make-link::after {
  content: none !important;
  display: none !important;
}
.make-link:hover,
.make-link:focus {
  color: #111827;
}

/* ===== v1.4.17 Vehicle-make card hard fix =====
   Do not depend on WordPress preserving problem-item classes on <a> elements.
   The make links get the same card treatment and breakpoints directly. */
.fbmm-vehicle-makes-section .make-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
.fbmm-vehicle-makes-section .make-grid > a,
.fbmm-vehicle-makes-section a.make-link,
.fbmm-vehicle-makes-section a[href*="-repair-flagler-beach-fl/"],
.fbmm-vehicle-makes-section a[href*="-car-repair-flagler-beach-fl/"] {
  display: block !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 18px 20px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #111827 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.04) !important;
  transition: border-color .2s, transform .2s, box-shadow .2s !important;
}
.fbmm-vehicle-makes-section .make-grid > a:hover,
.fbmm-vehicle-makes-section .make-grid > a:focus,
.fbmm-vehicle-makes-section a.make-link:hover,
.fbmm-vehicle-makes-section a.make-link:focus {
  border-color: #facc15 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0,0,0,.07) !important;
  color: #111827 !important;
}
.fbmm-vehicle-makes-section .make-grid > a::before,
.fbmm-vehicle-makes-section .make-grid > a::after,
.fbmm-vehicle-makes-section a.make-link::before,
.fbmm-vehicle-makes-section a.make-link::after {
  content: none !important;
  display: none !important;
}
@media (max-width: 900px) {
  .fbmm-vehicle-makes-section .make-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .fbmm-vehicle-makes-section .make-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .fbmm-vehicle-makes-section .make-grid > a,
  .fbmm-vehicle-makes-section a.make-link {
    padding: 16px 18px !important;
  }
}



/* ===== v1.4.18 Vehicle-make section copy ===== */
.fbmm-vehicle-makes-section .section-heading > p:last-child {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
.fbmm-vehicle-makes-section .make-help-text {
  max-width: 820px;
  margin: 26px auto 0;
}
.fbmm-vehicle-makes-section .make-help-text a {
  font-weight: 800;
  color: #111827;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* ===== v1.4.19 Vehicle-make copy rendering ===== */
.fbmm-vehicle-makes-section .make-section-lead {
  max-width: 840px;
  margin: 14px auto 0;
  font-size: 1.06rem;
  line-height: 1.75;
}
.fbmm-vehicle-makes-section .make-help-text {
  max-width: 840px;
  margin: 28px auto 0;
  line-height: 1.65;
}


/* ===== v1.4.26 Desktop header: brand + tagline + nav + phone in one row ===== */
@media (min-width: 961px) {
  .site-header .container {
    width: min(1320px, calc(100% - 32px));
  }

  .header-inner {
    display: grid;
    grid-template-columns: minmax(245px, auto) minmax(0, 1fr) auto;
    grid-template-areas: "brand nav actions";
    align-items: center;
    column-gap: 22px;
    min-height: 84px;
  }

  .brand {
    grid-area: brand;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    margin: 0;
  }

  .brand-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    line-height: 1.12;
  }

  .brand-site-title {
    display: block;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.12;
    white-space: nowrap;
  }

  .brand-tagline {
    display: block;
    margin-top: 5px;
    color: #d1d5db;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.15;
    white-space: nowrap;
  }

  .primary-nav {
    grid-area: nav;
    display: block;
    width: 100%;
    margin: 0;
    min-width: 0;
  }

  .header-menu {
    justify-content: flex-end;
    align-items: center;
    gap: 18px;
  }

  .header-actions {
    grid-area: actions;
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    min-width: max-content;
  }

  .header-actions .header-phone {
    margin: 0;
  }
}

/* Keep the full desktop header on narrower laptop widths without touching mobile. */
@media (min-width: 961px) and (max-width: 1180px) {
  .site-header .container {
    width: calc(100% - 24px);
  }

  .header-inner {
    grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto;
    column-gap: 14px;
  }

  .brand-site-title { font-size: 16px; }
  .brand-tagline { font-size: 12.5px; }
  .header-menu { gap: 12px; }
  .header-menu > li > a { font-size: 13.5px; }
  .header-phone { padding-left: 14px; padding-right: 14px; font-size: 13.5px; }
}

/* Existing tablet/mobile behavior retained. */
@media (max-width: 960px) {
  .brand-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    line-height: 1.12;
  }
  .brand-site-title {
    display: block;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
  }
  .brand-tagline {
    display: block;
    margin-top: 3px;
    color: #d1d5db;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.1;
    white-space: nowrap;
  }
  .header-actions { margin-left: auto; }
}

@media (max-width: 680px) {
  .brand { gap: 9px; }
  .brand-site-title { font-size: 14px; }
  .brand-tagline { font-size: 13px; }
}

@media (max-width: 430px) {
  .brand-copy small.brand-tagline {
    display: block;
    font-size: 12px;
    line-height: 1.05;
  }
  .brand-site-title {
    font-size: 12.5px;
    white-space: normal;
    max-width: 145px;
  }
  .brand-logo {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
}

/* ===== v1.4.29 Mobile header readability ===== */
@media (max-width: 680px) {
  .site-header .brand-copy small.brand-tagline {
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 600;
  }

  .site-header .header-phone,
  .site-header .header-phone:visited {
    font-size: 17px !important;
    line-height: 1.15 !important;
    padding: 12px 14px !important;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 430px) {
  .site-header .brand-copy small.brand-tagline {
    font-size: 15px !important;
    line-height: 1.18 !important;
  }

  .site-header .header-phone,
  .site-header .header-phone:visited {
    font-size: 16px !important;
    padding: 11px 10px !important;
    min-height: 42px;
  }
}


/* ===== v1.4.30 Mobile phone number contrast ===== */
@media (max-width: 680px) {
  .site-header .header-phone,
  .site-header .header-phone:visited,
  .site-header .header-phone:hover,
  .site-header .header-phone:focus {
    color: #000000 !important;
    font-weight: 900 !important;
  }
}

/* ===== v1.4.31 Mobile navigation: keep the entire menu accessible ===== */
@media (max-width: 960px) {
  .site-header .primary-nav.open {
    display: block;
    max-height: calc(100dvh - 110px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding-bottom: 18px;
  }

  .site-header .header-menu,
  .site-header .header-menu .sub-menu {
    max-height: none;
    overflow: visible;
  }

  .site-header .header-menu > li,
  .site-header .header-menu .sub-menu > li {
    display: block;
    visibility: visible;
  }
}


/* ===== v1.4.32 Mobile navigation: always show Contact Us ===== */
.mobile-contact-link {
  display: none;
}

@media (max-width: 960px) {
  .site-header .mobile-contact-link {
    display: block;
    padding: 12px 0;
    color: #f9fafb;
    text-decoration: none;
    font-weight: 700;
  }

  .site-header .mobile-contact-link:hover,
  .site-header .mobile-contact-link:focus {
    color: var(--yellow);
  }
}
