:root{--container-max:1120px;}
:root{--bg:#ffffff;--text:#121212;--muted:#5b6470;--brand:#0a58ca;--brand2:#063a86;--card:#f6f8fb;--ring:rgba(10,88,202,.25);} *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)} a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline} .container{max-width:1120px;margin:0 auto;padding:0 16px} .skip{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip:focus{left:16px;top:16px;width:auto;height:auto;padding:10px 12px;background:#fff;border:2px solid var(--brand);border-radius:10px;z-index:9999} header{position:relative;background:#fff;border-bottom:1px solid #e6e9ef;z-index:50} .topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0} .brand{display:flex;align-items:center;gap:10px} .brand img{width:160px;height:auto} .nav{display:flex;align-items:center;gap:16px} .nav a{padding:10px 10px;border-radius:10px;font-weight:600;color:var(--text)}.nav a[aria-current="page"]{background:var(--card);color:var(--brand2)} .callbtn{background:var(--brand);color:#fff;padding:10px 14px;border-radius:12px;font-weight:700;white-space:nowrap}.callbtn:hover{background:var(--brand2);text-decoration:none} .menuBtn{display:none;background:transparent;border:1px solid #d7dce6;border-radius:12px;padding:10px 12px;font-weight:700} @media(max-width:860px){.nav{display:none;position:absolute;left:0;right:0;top:62px;background:#fff;border-bottom:1px solid #e6e9ef;padding:12px 16px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menuBtn{display:inline-flex}.brand img{width:150px}} main{padding-bottom:40px} .hero{padding:34px 0 18px} .heroGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center} .heroCard{background:linear-gradient(180deg,#f7fbff,#ffffff);border:1px solid #e6e9ef;border-radius:18px;padding:22px;box-shadow:none;line-height:1.15;margin:0 0 10px} .lede{color:var(--muted);margin:0 0 14px} .ctaRow{display:flex;gap:10px;flex-wrap:wrap} .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:12px 14px;font-weight:800;border:1px solid transparent} .btnPrimary{background:var(--brand);color:#fff}.btnPrimary:hover{background:var(--brand2);text-decoration:none} .btnGhost{background:#fff;border-color:#d7dce6;color:var(--text)} .heroImg{border-radius:18px;overflow:hidden;border:1px solid #e6e9ef}.heroImg img{width:100%;height:auto;display:block} @media(max-width:860px){.heroGrid{grid-template-columns:1fr}} .section{padding:18px 0} .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px} .card{background:var(--card);border:1px solid #e6e9ef;border-radius:18px;padding:16px} .card h3{margin:0 0 8px} @media(max-width:860px){.grid3{grid-template-columns:1fr}} .breadcrumb{font-size:14px;color:var(--muted);padding:12px 0}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--brand)} .pageHead{padding:16px 0 6px}.pageHead h1{margin:0} .prose{max-width:78ch} .prose h2{margin-top:22px} img.lazy{loading:lazy} .map{border:1px solid #e6e9ef;border-radius:18px;overflow:hidden} footer{border-top:1px solid #e6e9ef;background:#fff} .footerGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;padding:18px 0}@media(max-width:860px){.footerGrid{grid-template-columns:1fr}} small{color:var(--muted)} :focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:12px}
/* --- Color overrides requested --- */
header{background:var(--brand2);border-bottom:0}
.nav a{color:#eef5ff}
.nav a:hover{background:rgba(255,255,255,.12);text-decoration:none}
.nav a[aria-current="page"]{background:rgba(255,255,255,.18);color:#ffffff}
.menuBtn{color:#ffffff;border-color:rgba(255,255,255,.35)}
.menuBtn:focus-visible{outline:3px solid rgba(255,255,255,.5)}
@media(max-width:860px){.nav{background:var(--brand2);border-bottom:1px solid rgba(255,255,255,.18)}}
.callbtn{background:#00a884;color:#ffffff}
.callbtn:hover{background:#008a6d}
footer{background:#0b1b3a;border-top:0}
footer, footer p, footer small{color:#ffffff}
footer a{color:#ffffff;text-decoration:underline}
footer a:hover{opacity:.9}
small{color:rgba(255,255,255,.78)}

/* --- Accessibility & contrast overrides (2026-02-21) --- */
footer{background:#0b1220}
footer,footer p,footer small{color:#fff}
footer a{color:#fff}
footer a:hover,footer a:focus{color:#cfe1ff;opacity:1}
.footer-logo-badge{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:10px 14px}
.footer-logo-badge img{display:block;max-height:44px;width:auto}
.site-header{background:#0a2a66}
.main-menu a{color:#e8f1ff}
.main-menu a:hover,.main-menu a:focus{color:#fff;text-decoration:underline}
.main-menu a[aria-current="page"]{color:#ffea9a;font-weight:700}
.call-btn{background:#ffea9a;color:#0b1220;border:2px solid #ffea9a}
.call-btn:hover,.call-btn:focus{background:#fff;border-color:#fff;color:#0b1220}
.page-hero,.page-title,.service-hero{background:#0a2a66;color:#fff}
.page-hero h1,.page-title h1,.service-hero h1{color:#fff}
.breadcrumbs a{color:#e8f1ff}
.breadcrumbs a:hover,.breadcrumbs a:focus{color:#fff;text-decoration:underline}
:focus-visible{outline:3px solid #ffea9a;outline-offset:3px}
.pageHead{background:#0a2a66;color:#fff;padding:18px 16px;border-radius:18px;margin:10px 0 16px}
.pageHead h1{color:#fff}

/* Floating contact buttons */
.floating-actions{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:12px;z-index:9999}
.fab-btn{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;text-decoration:none;color:#fff;box-shadow:none;outline-offset:3px}
.fab-icon svg{fill:currentColor}
.fab-call{background:#0b3a80}
.fab-whatsapp{background:#1fa855}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){.fab-btn{transition:none}.fab-btn:hover{transform:none}}
@media (max-width:360px){.floating-actions{right:12px;bottom:12px}}


/* --- Overrides for contrast + headings --- */
.pageHead h1, .hero h1, .service-hero h1, .page-title h1, .page-header h1 { color:#fff !important; }

/* Ensure floating buttons always visible */
.floating-actions{display:flex !important;opacity:1 !important;visibility:visible !important;pointer-events:auto !important;}
.fab-btn{border:2px solid rgba(255,255,255,.15)}
.fab-btn:focus{outline:3px solid #fff;outline-offset:3px}

/* Darker footer + white text */
.site-footer, footer{background:#0b1220 !important;color:#fff !important;}
.site-footer a, footer a{color:#fff !important;}
.site-footer .muted, footer .muted{color:rgba(255,255,255,.8) !important;}

/* Darker blue menu bar + contrasting links */
.site-header, header{background:#062a63 !important;}
.site-header a, header a{color:#e8f1ff;}
.site-header a:hover, header a:hover{color:#ffffff;}
.main-menu a{color:#e8f1ff !important;}
.main-menu a[aria-current="page"], .main-menu a.active{color:#ffd54a !important;}



/* FAQ */
.faqSection h2{margin-bottom:8px}
.faqList{max-width:78ch}
.faq-item{border:1px solid rgba(255,255,255,.12);border-radius:14px;margin:10px 0;background:rgba(255,255,255,.04)}
.faq-item summary{cursor:pointer;padding:14px 16px;font-weight:700;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-answer{padding:0 16px 14px}
.faq-links{margin-top:8px}
.faq-links a{text-decoration:underline}



/* FAQ contrast on light backgrounds */
.faq-item{border:1px solid rgba(0,0,0,.12);background:var(--card)}
.faq-item summary{color:var(--text)}

 .footer-logo img{background:#fff;padding:10px 12px;border-radius:14px;display:inline-block;}
/* patches */
.heroCard{background:linear-gradient(180deg,#0b2a55,#081e3d);border-color:#0b2a55}
.heroCard,.heroCard p,.heroCard .lede,.heroCard small{color:#fff}
.heroCard h1{color:#fff}
.heroCard .btnGhost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25)}
.heroGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch}
.heroForm{background:#ffffff;border:1px solid #e6e9ef;border-radius:18px;padding:22px;box-shadow:none;font-size:20px}
.leadForm{display:grid;gap:10px;margin-top:10px}
.field label{display:block;font-weight:600;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid #cfd6e4;border-radius:12px}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(10,88,202,.35);border-color:#0a58ca}
.fab-wrapper{position:fixed;bottom:20px;left:20px;right:auto;z-index:9999;display:flex !important;flex-direction:column;gap:12px}
.fab-wrapper a{width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;box-shadow:none;font-size:24px}
.fab-wrapper a.fab-call{background:#0a58ca}
.fab-wrapper a.fab-whatsapp{background:#25D366}
.fab-wrapper a:focus{outline:3px solid #fff;outline-offset:3px}
.cardLink{display:block;color:inherit;text-decoration:none}
.cardLink:focus{outline:3px solid rgba(10,88,202,.45);outline-offset:4px;border-radius:18px}


/* Breadcrumb styling */
.breadcrumb{background:#7a0000;color:#fff;padding:10px 14px;border-radius:12px;margin:16px 0;display:inline-block}
.breadcrumb a{color:#fff;text-decoration:underline}
.breadcrumb a:hover{text-decoration:none}
.breadcrumb [aria-current="page"]{color:#fff;font-weight:700}

/* Active nav item */
.main-menu a[aria-current="page"], .main-menu .active{color:#fff !important}

/* Ensure H1 in hero/page heads stays white where needed */
.hero h1, .pageHead h1, .serviceHero h1{color:#fff !important}

.site-footer{border-top:4px solid #d10000}

.mapPlaceholder{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:16px;border-radius:16px}
.mapFrame{margin-top:12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}



/* Sticky header (menu) */
.site-header, header.site-header, header{position:sticky;top:0;z-index:1000}

/* Ensure hero H1 is white */
.hero h1, .page-header h1, .service-hero h1{color:#fff !important}

/* Breadcrumb styling */
.breadcrumb, .breadcrumbs, .breadcrumbBar{background:#7a0000 !important;color:#fff !important}
.breadcrumb a, .breadcrumbs a, .breadcrumbBar a{color:#fff !important;text-decoration:none}
.breadcrumb a:hover, .breadcrumbs a:hover, .breadcrumbBar a:hover{color:#fff !important;font-weight:700 !important}

/* Floating buttons bottom-left, no shadow */
.fab-wrapper{right:auto !important;left:20px !important;bottom:20px !important}
.fab-call,.fab-whatsapp{box-shadow:none;position:static!important;right:auto!important;left:auto!important;bottom:auto!important;top:auto!important;z-index:auto!important;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.to-top:focus{outline:3px solid #fff;outline-offset:2px}

/* Hero form title accent */
.heroFormAccent{color:#e11d2e;font-weight:800;font-size:1.15em;letter-spacing:.2px}


/* --- Overrides (2026-02-21) --- */
.heroGrid{max-width:1100px;margin:0 auto;padding:0 16px;}
/* Floating buttons left, no shadow */
.fab-wrapper{right:auto !important;left:20px !important;bottom:20px !important;}
.fab-wrapper a{box-shadow:none;}
/* Breadcrumb hover: keep white, bold */
.breadcrumb a:hover{color:#fff !important;font-weight:700 !important;text-decoration:none !important;}


/* New header layout */
.top-strip{background:#0b1f45;color:#fff}
.top-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.top-contacts{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.top-contact{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:600}
.top-contact:hover,.top-contact:focus{color:#fff;text-decoration:underline}
.nav-bar{background:#0b3a80;position:sticky;top:0;z-index:9998}
.nav-inner{display:flex;align-items:center;gap:12px;padding:10px 0}
.nav-search{margin-left:auto;display:flex;align-items:center;gap:8px}
.nav-search input{max-width:220px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff}
.nav-search input::placeholder{color:rgba(255,255,255,.8)}
.nav-search button{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-weight:700}
.nav-search button:hover,.nav-search button:focus{background:rgba(255,255,255,.2)}



.breadcrumb{background:#7a0000 !important;color:#fff !important;padding:12px 0}
.breadcrumb a{color:#fff !important;text-decoration:none}
.breadcrumb a:hover,.breadcrumb a:focus{color:#fff !important;font-weight:700 !important;text-decoration:none}
.breadcrumb span{color:#fff !important}

.nav a.active{color:#fff !important}

.heroForm h2,.heroForm .formTitle{color:#d00000 !important;font-weight:800}


/* Prevent stretched card/service images: crop instead of stretch */
.services-grid img,.service-cards img,.service-card img,.service-block img,.card img{width:100%!important;height:180px!important;object-fit:cover!important;display:block;}
/* Floating buttons bottom-left, no shadow */
.fab-stack{position:fixed!important;left:20px!important;right:auto!important;bottom:20px!important;z-index:9999!important;display:flex!important;flex-direction:column;gap:12px;}
.fab{width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:none!important;color:#fff;}
.fab-call{background:#0a58ca;}
.fab-whatsapp{background:#25D366;}
.fab:focus{outline:3px solid #fff;outline-offset:2px;}
/* Back to top bottom-right */

.to-top:focus{outline:3px solid #fff;outline-offset:2px;}

/* --- NAV SERVICES DROPDOWN --- */
.nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.nav-dd{position:relative}
.nav-dd>summary{list-style:none;cursor:pointer;color:#d7e7ff;font-weight:600}
.nav-dd>summary::-webkit-details-marker{display:none}
.nav-dd[open]>summary{color:#fff}
.nav-dd-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:260px;max-height:60vh;overflow:auto;background:#062b63;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;z-index:9999}
.nav-dd-menu a{color:#fff;text-decoration:none;padding:10px 10px;border-radius:10px;font-weight:500}
.nav-dd-menu a:hover,.nav-dd-menu a:focus{background:rgba(255,255,255,.12);outline:none}
@media (max-width: 860px){
  .nav-dd-menu{position:static;min-width:0;max-height:none;border:none;padding:0;background:transparent}
  .nav-dd-menu a{padding:8px 0}
}
/* --- CARD IMAGES --- */
a.card img{width:100%;height:160px;object-fit:cover;border-radius:14px;display:block;margin-bottom:12px}
@media (max-width: 860px){a.card img{height:140px}}
/* --- SERVICE FEATURED IMAGE --- */
.service-photo{margin:18px 0;padding:0}
.service-photo img{width:100%;max-height:420px;object-fit:cover;border-radius:18px;display:block}
.service-photo figcaption{font-size:.95rem;color:var(--muted);margin-top:8px}
/* --- BACK TO TOP BUTTON --- */

.to-top svg{width:18px;height:18px}
.to-top:hover{background:#8f0000}
/* --- BREADCRUMB HOVER BEHAVIOR --- */
.breadcrumb a:hover{color:#fff !important;font-weight:700;text-decoration:underline}

/* FIX: ensure FAB buttons stay bottom-left and do not position on right */
.fab-call,.fab-whatsapp{position:relative!important;right:auto!important;left:auto!important;bottom:auto!important;top:auto!important;}


/* Core service cards images */
.grid3 .card img{display:block;width:100%;height:160px;object-fit:cover;border-radius:12px 12px 0 0;}
/* Page media images */
.page-media{margin:18px 0;}
.page-media img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:14px;}
/* Services dropdown: hover open on desktop */
@media (hover:hover) and (pointer:fine){
  .nav-dd{position:relative;}
  .nav-dd-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;min-width:280px;max-height:70vh;overflow:auto;z-index:9999;}
  .nav-dd:hover .nav-dd-menu{display:block;}
  .nav-dd:hover > summary{color:#fff;}
}
/* Force floating action buttons only bottom-left */
.fab-wrapper{left:20px !important; right:auto !important;}

/* to-top red */

.to-top:hover{background:#a00000!important;}

.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}@media(max-width:860px){.grid2{grid-template-columns:1fr;}}

.breadcrumb-bar{width:100vw;margin-left:calc(50% - 50vw);background:#06264a;color:#fff}
.breadcrumb-bar a{color:#fff;text-decoration:none}
.breadcrumb-bar a:hover{color:#fff;font-weight:700}

.core-services-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
@media(max-width:900px){.core-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.core-services-grid{grid-template-columns:1fr;}}
.service-card{background:#fff;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;border:1px solid rgba(0,0,0,.08)}
.service-card img{width:100%;height:140px;object-fit:cover;display:block}
.service-card .sc-body{padding:12px}


/* --- Overrides Feb 2026: breadcrumb + sticky + layout fixes --- */
.top-strip{position:static!important}
.nav-bar{position:sticky;top:0;z-index:9998}
.breadcrumb-bar{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:4px 0} /* thinner */
.breadcrumb{color:#fff}
.breadcrumb a{color:#fff}
.breadcrumb a:hover{color:#fff;font-weight:700}
.top-strip-inner{padding-left:14px} /* move text a bit right */
.heroFormTitle{color:var(--crumb-red,#8b0000)!important;font-weight:800}
.fab-wrapper{left:20px!important;right:auto!important;box-shadow:none!important}
.fab-call,.fab-whatsapp{box-shadow:none!important}


.feature-media img,.service-card img,.blog-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;max-width:100%}
.media-constrain{max-width:var(--content-max,1100px);margin:0 auto}

.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.ql-card{display:flex;gap:12px;align-items:center;text-decoration:none;border:1px solid rgba(255,255,255,.12);background:#0b2a55;border-radius:14px;padding:12px;color:#fff}
.ql-card img{width:76px;height:76px;border-radius:12px;object-fit:cover;flex:0 0 auto}
.ql-card p{margin:.25rem 0 0;opacity:.9}

/* thinner, full width */
.breadcrumb-bar .container{padding-left:24px;padding-right:16px}
.breadcrumb a{color:#fff!important}
.breadcrumb a:hover,.breadcrumb a:focus{color:#fff!important;font-weight:700!important;text-decoration:underline}

/* Dropdown menu (Services) */
.nav .nav-item.dropdown{position:relative;display:inline-block;padding-bottom:14px}
.nav .nav-item.dropdown>.nav-link{display:inline-flex;align-items:center;gap:6px}
.nav .dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:280px;max-height:70vh;overflow:auto;background:#fff;border:1px solid #e6e9ef;border-radius:12px;padding:10px;box-shadow:0 10px 24px rgba(0,0,0,.12);z-index:9999}
.nav .dropdown-menu a{display:block;padding:8px 10px;border-radius:10px;color:#0b1f45;text-decoration:none;font-weight:600}
.nav .dropdown-menu a:hover,.nav .dropdown-menu a:focus{background:#eef4ff}
.nav .nav-item.dropdown:hover>.dropdown-menu{display:block}
.nav .nav-item.dropdown.open>.dropdown-menu{display:block}

/* Ensure hero sits under breadcrumb cleanly */
.hero{margin-top:0}

/* Force floating buttons LEFT only */
.fab-stack{left:20px!important;right:auto!important}

.breadcrumb-bar .breadcrumb a:hover{color:#fff!important;font-weight:800;text-decoration:none}

figure, img{max-width:100%}
.featured img,.page-image img{display:block;max-width:100%;height:auto;border-radius:16px}
.container{padding-left:18px;padding-right:18px}

.related-services{margin-top:18px}
.related-services .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}

/* --- Overrides: sticky menu only + remove unwanted blue blocks --- */
.nav-bar{position:sticky!important;top:0!important;z-index:9999!important}
.top-strip{position:static!important;top:auto!important}
/* Ensure any accidental blue callout banners are neutral */
.callout,.notice,.banner{background:transparent!important;color:inherit!important;box-shadow:none!important}


/* --- One-pager overrides --- */
.top-strip{position:static!important}
.nav-bar{position:sticky!important;top:0;z-index:1000;background:var(--brand2)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nav a{color:#eaf2ff;text-decoration:none;padding:10px 12px;border-radius:10px}
.nav a:hover,.nav a:focus{background:rgba(255,255,255,.12);outline:none}
.heroGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}
@media (max-width:900px){.heroGrid{grid-template-columns:1fr}}
.hero{padding-top:8px}
.hero h1{color:#fff!important}
.hero .heroLead{color:#eaf2ff}
.heroFormCard{background:#fff;border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.10)}
.formTitle{margin:0 0 6px 0;font-size:1.2rem}
.accentRed{color:#7a0b0b;font-weight:800}
.contactForm input,.contactForm select,.contactForm textarea{width:100%;padding:10px 12px;border:1px solid #d6dbe3;border-radius:12px;margin:6px 0 12px}
.contactForm label{display:block;font-weight:600;margin-top:6px}
.btnPrimary{display:inline-block;width:100%;padding:12px 14px;border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}
.btnPrimary:hover{filter:brightness(.95)}
.trustBadges{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.trustBadges li{background:rgba(255,255,255,.12);color:#fff;padding:6px 10px;border-radius:999px;font-weight:600}
.iconCards .service-card{background:var(--card);border-radius:16px;padding:14px;display:flex;gap:12px;align-items:flex-start}
.iconCards .svcIcon{width:44px;height:44px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;border:1px solid #e6eaf2;flex:0 0 auto}
.iconCards svg{width:24px;height:24px;fill:var(--brand2)}
.iconCards .sc-body p{margin:6px 0 0;color:var(--muted)}
.servicesList ul{margin:0;padding-left:18px}
.twoCol{columns:2;column-gap:28px}
@media (max-width:900px){.twoCol{columns:1}}
.mapWrap{border-radius:16px;overflow:hidden;border:1px solid #e6eaf2}


/* Sticky header (top contact bar + menu)
   NOTE: other rules in this file set header/nav-bar to static with !important.
   We override them here so the menu stays sticky. */
header{position:sticky!important;top:0!important;z-index:10000!important}
.nav-bar{position:sticky!important;top:0!important;z-index:10001!important}
/* Font Awesome icon sizing + spacing in top bar */
.top-contact .fa{font-size:14px;line-height:1}
/* Make sure header doesn't overlap anchor jumps */
:target{scroll-margin-top:120px}

/* CUSTOM: menu sticky (top strip scrolls away) + floating buttons + hero text color */
header{position:relative!important;top:auto!important;z-index:auto!important}
.nav-bar{position:sticky!important;top:0!important;z-index:10001!important}

/* Hero lead text should be black */
.heroLead{color:#000!important}

/* Floating contact buttons (left side) */
.floating-actions{position:fixed;left:15px;bottom:15px;display:flex;flex-direction:column;gap:10px;z-index:10050}
.float-btn{width:54px;height:54px;border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.float-btn i{font-size:22px;color:#fff}
.float-btn.whatsapp{background:#25D366}
.float-btn.call{background:#111}

/* Make sure in-page anchor jumps aren't hidden under the sticky menu */
:target{scroll-margin-top:90px}


/* Breadcrumbs (NOT sticky) */
.breadcrumbs{
  background: #f7f7f7;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.breadcrumbs-inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 15px;
  font-size: 14px;
}
.breadcrumbs a{
  color: inherit;
  text-decoration: none;
}
.breadcrumbs a:hover{ text-decoration: underline; }
.crumb-sep{ margin: 0 8px; opacity: .6; }

/* H1 */
.page-h1{
  margin: 0 0 12px 0;
}

/* Move content closer to hero/contact form and widen to match hero container */
.blocked-drains-section{
  padding-top: 18px !important;
  margin-top: -18px;
}


/* FAQ accordion styling similar to compact bottom FAQ */
.faq-accordion{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px 30px 15px;
}
.faq-accordion .faq-item{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  margin: 10px 0;
  overflow: hidden;
  background: #fff;
}
.faq-accordion summary{
  list-style: none;
  cursor: pointer;
  padding: 14px 16px;
  font-weight: 600;
  position: relative;
}
.faq-accordion summary::-webkit-details-marker{ display:none; }
.faq-accordion summary::after{
  content: "+";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
}
.faq-accordion details[open] summary::after{ content: "–"; }
.faq-answer{ padding: 0 16px 14px 16px; }


.blocked-drains-section > div,
.blocked-drains-section .container,
.blocked-drains-section .breadcrumbs-inner{
  max-width: 1200px;
}


/* Match blocked drains content width to hero/contact form */
.full-width-match > div,
.full-width-match .blocked-drains-copy {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Force Call + Back-to-top to identical blue */
.floating-call,
.back-to-top {
  background: var(--cta-blue, #0b5ed7) !important;
  color: #fff !important;
}


/* Ensure Call + Back-to-top match EXACTLY */
.floating-call,
.back-to-top{
  background: var(--cta-blue) !important;
  color: #fff !important;
}

/* Match content width to hero/contact form grid */
.heroGrid{max-width:1100px;margin:0 auto;padding:0 16px;}
.blocked-drains-section .container,
.breadcrumbs-inner,
.faq-accordion{
  max-width:1100px !important;
  padding-left:16px !important;
  padding-right:16px !important;
}

/* Remove extra white space under hero */
.blocked-drains-section{padding-top:10px !important;margin-top:-10px !important;}

/* Lock CTA button colors */
.floating-call,
.back-to-top {
  background: #0b5ed7 !important;
  color: #ffffff !important;
}









/* === AUTHORITATIVE LAYOUT + CTA LOCK (FINAL) === */
.heroGrid,
.breadcrumbs-inner,
.blocked-drains-section .container,
.faq-accordion {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* Back-to-top visibility/clickability */
.back-to-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
  pointer-events: auto;
}

/* Floating CTA buttons – EXACT SAME COLOR */
.floating-call,
.back-to-top {
  background: #0b5ed7 !important;
  color: #ffffff !important;
}


/* WhatsApp icon size */
.floating-whatsapp i,
.floating-whatsapp svg {
  font-size: 26px !important;
  width: 26px !important;
  height: 26px !important;
  line-height: 1 !important;
}


/* Width alignment: match hero/contact form width */
.breadcrumbs-inner,
.blocked-drains-section .container,
.blocked-drains-section .heroGrid,
.blocked-drains-section .wrapper,
.blocked-drains-section .inner,
.faq-accordion {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* Prevent any nested max-width from shrinking the text */
.blocked-drains-section .blocked-drains-copy,
.blocked-drains-section .blocked-drains-copy p {
  max-width: none !important;
}



/* === BLOCKED DRAINS WIDTH ALIGNMENT (CONTACT FORM MATCH) === */
.blocked-drains-section .heroGrid {
  max-width: inherit;
  padding-left: 16px;
  padding-right: 16px;
}

/* ensure paragraphs can span full heroGrid */
.blocked-drains-section .blocked-drains-copy,
.blocked-drains-section .blocked-drains-copy p {
  max-width: none !important;
}

/* === FINAL WIDTH GUARANTEE === */
.blocked-drains-section .heroGrid,
.heroGrid {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

.blocked-drains-section .blocked-drains-copy,
.blocked-drains-section .blocked-drains-copy p {
  max-width: none;
}


/* === SPACING FIX: REMOVE GAP UNDER CONTACT FORM === */
section.hero, .hero, .hero-section {
  padding-bottom: 10px !important;
  margin-bottom: 0 !important;
}
.blocked-drains-section {
  padding-top: 0 !important;
  margin-top: -20px !important; /* pull up closer to hero/contact form */
}
.blocked-drains-section .blocked-drains-copy {
  padding-top: 0 !important;
  margin-top: 0 !important;
}


/* If header is inside a wrapper with overflow, sticky breaks */
body, html { overflow-x: hidden; }


/* === SPACING FIX: SERVICES LIST TO MAP === */
.full-plumbing-services, .services-list, .services-section, #services {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.map, .map-section, #map {
  margin-top: 0 !important;
  padding-top: 10px !important;
}


/* === REMOVE GAP BETWEEN FULL PLUMBING SERVICES AND MAP === */
.full-plumbing-services,
.services-list,
.services-section,
#services,
ul {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.map,
.map-section,
#map {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* === FIX: BREADCRUMBS + TOP BAR MUST NOT STICK / MUST NOT TURN BLUE === */
.breadcrumbs{
  position: static !important;
  top: auto !important;
  background: #f7f7f7 !important;
  color: #111 !important;
  z-index: 1 !important;
}
.breadcrumbs a{ color: #111 !important; }
.breadcrumbs a:hover{ color: #111 !important; text-decoration: underline; }

.top-bar{
  position: static !important;
  top: auto !important;
  z-index: 1 !important;
}

/* Make sure only the NAV/MENU sticks, not the entire header wrapper */
header, .site-header, .main-header{
  position: static !important;
  top: auto !important;
}
.nav-bar, .navbar{
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}


/* JS fallback: fixed ONLY for the menu bar */
.nav-bar.is-fixed, .navbar.is-fixed, nav.is-fixed{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
}

/* WhatsApp icon larger */
.float-btn.whatsapp i{
  font-size: 26px !important;
  line-height: 1 !important;
}

/* === Back-to-top button (FIXED + CLICKABLE) === */

.to-top i{ font-size: 24px; line-height: 1; }

/* === BACK TO TOP (AUTHORITATIVE) === */
.to-top{
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 46px !important;
  height: 46px !important;
  border: none !important;
  border-radius: 50% !important;
  background: #0b5ed7 !important;
  color: #fff !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 2147483647 !important; /* max */
  pointer-events: auto !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.25) !important;
}
.to-top i{ font-size: 24px !important; line-height: 1 !important; }

/* === FOOTER + CTA COLOR SYNC (NO HEADER CHANGES) === */

/* Footer main background = top bar */
footer, .site-footer {
  background: #111111 !important;
}

/* Copyright bar = menu bar */
.footer-bottom, .copyright, .copyright-bar {
  background: #0b3a80 !important;
}

/* Call button = Back-to-top button */
.floating-call, .float-btn.call {
  background: #0b5ed7 !important;
  color: #fff !important;
}

/* Ensure back-to-top visible */
.to-top{
  background: #0b5ed7 !important;
  display: none;
}
