/*
Theme Name: Drip Doctors Plumbing V2.2 Block Theme
Theme URI: https://www.dripdoctorsplumbing.com/
Author: Cardinal Hound Media
Description: Clean block-native Drip Doctors theme with reusable section patterns, native Site Logo identity, integrated dynamic mega navigation, Gutenberg page templates, and controlled design settings.
Version: 2.2.56
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: drip-doctors
*/
:root{--blue:#099bd6;--blue-dark:#0782b4;--black:#0d0d0d;--red:#9f1710;--snow:#fafafa;--white:#fff;--gray-50:#f7f7f8;--gray-100:#eceef1;--gray-200:#dfe2e6;--gray-400:#8b929c;--gray-500:#65707c;--gray-600:#4e5965;--green:#14804a;--amber:#f59e0b;--shadow:0 16px 42px rgba(13,13,13,.10);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--snow);color:var(--black);font-family:Inter,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1180px,calc(100% - 32px));margin:auto}.section{padding:80px 0}.eyebrow{display:inline-block;font:700 11px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);background:rgba(9,155,214,.1);padding:7px 11px;border-radius:999px}.display{font-family:Montserrat,sans-serif}.section-title{font:900 clamp(30px,4vw,44px)/1.08 Montserrat,sans-serif;letter-spacing:-.035em;margin:14px 0 10px}.muted{color:var(--gray-500)}.card{background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius);box-shadow:0 4px 14px rgba(0,0,0,.04)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:14px 22px;border:1px solid transparent;font:800 14px/1 Montserrat,sans-serif;transition:.2s}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(9,155,214,.22)}.btn-primary:hover{background:var(--blue-dark);transform:translateY(-1px)}.btn-danger{background:var(--red);color:#fff}.btn-outline-danger{background:#fff;border:2px solid var(--red);color:var(--red)}.grid{display:grid;gap:24px}.icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:rgba(9,155,214,.09);color:var(--blue);font-weight:900}.check{color:var(--blue);font-weight:900}.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--gray-100)}.header-inner{height:76px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;font:900 23px/1 Montserrat,sans-serif;letter-spacing:-.05em}.brand-mark{position:relative;width:35px;height:35px;margin-right:9px}.brand-mark:before{content:'◆';font-size:31px;color:var(--blue);position:absolute;transform:rotate(45deg)}.brand-mark:after{content:'●';font-size:12px;color:var(--red);position:absolute;right:0;bottom:0}.brand-blue{color:var(--blue)}.tagline{display:block;font:700 8px/1.3 Inter,sans-serif;letter-spacing:.13em;color:var(--gray-500);margin-top:2px}.main-nav{display:flex;align-items:center;gap:22px;margin-left:auto;font:700 13px Montserrat,sans-serif}.nav-link,.menu-toggle{border:0;background:transparent;padding:28px 0}.header-actions{display:flex;gap:9px}.header-phone{font:800 12px Montserrat,sans-serif;color:var(--red)}.mega-wrap{position:relative}.mega-menu{display:none;position:absolute;top:69px;right:-250px;width:min(1000px,92vw);background:#fff;border:1px solid var(--gray-100);border-radius:0 0 18px 18px;box-shadow:var(--shadow);padding:22px}.mega-wrap.open .mega-menu{display:grid;grid-template-columns:260px 1fr;gap:22px}.mega-cats{border-right:1px solid var(--gray-100);padding-right:18px}.mega-cat{display:block;width:100%;border:0;background:transparent;text-align:left;padding:12px;border-radius:10px;font-weight:800}.mega-cat.active,.mega-cat:hover{background:rgba(9,155,214,.08);color:var(--blue)}.mega-panel{display:none}.mega-panel.active{display:block}.mega-panel h3{margin:3px 0}.mega-services{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin-top:12px}.mega-services a{padding:8px;border-radius:8px;font-size:12px}.mega-services a:hover{background:var(--gray-50);color:var(--blue)}.mobile-toggle{display:none;margin-left:auto;border:0;background:transparent;font-size:24px}.hero{padding:132px 0 82px;border-bottom:1px solid var(--gray-100);background:radial-gradient(circle at 85% 30%,rgba(9,155,214,.09),transparent 30%),var(--snow)}.hero-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:54px;align-items:start}.hero h1{font:900 clamp(42px,6vw,70px)/1.02 Montserrat,sans-serif;letter-spacing:-.055em;margin:14px 0 20px}.hero-lead{font-size:18px;color:var(--gray-600);max-width:720px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:560px;margin:24px 0}.spec{padding:15px;background:#fff;border:1px solid var(--gray-100);border-radius:12px}.spec small{display:block;color:var(--gray-400);text-transform:uppercase;font-size:9px;letter-spacing:.08em}.spec strong{font:800 13px Montserrat,sans-serif}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid var(--gray-100);font-size:13px}.service-selector{padding:26px}.service-selector h2{margin:0;font:800 18px Montserrat,sans-serif}.service-list{display:grid;gap:10px;margin-top:18px}.service-link{padding:13px;border:1px solid var(--gray-100);border-radius:12px;display:flex;align-items:center;justify-content:space-between}.service-link:hover{border-color:var(--blue);background:rgba(9,155,214,.04)}.service-link strong{font-size:13px}.service-link small{display:block;color:var(--gray-400);font-size:10px}.diagnostic{background:#fff}.diag-grid{grid-template-columns:.8fr 1.2fr}.issue-list{display:grid;gap:10px}.issue-btn{padding:14px;text-align:left;border:1px solid var(--gray-200);background:#fff;border-radius:12px}.issue-btn.active{border-color:var(--blue);background:rgba(9,155,214,.06)}.wizard{padding:26px;min-height:330px}.wizard h3{font:800 22px Montserrat,sans-serif}.wizard-options{display:grid;gap:10px}.wizard-option{padding:14px;border:1px solid var(--gray-200);background:#fff;border-radius:12px;text-align:left}.wizard-option:hover{border-color:var(--blue)}.estimate{font:900 34px Montserrat,sans-serif;color:var(--blue)}.service-details-grid{grid-template-columns:1.05fr .95fr}.feature-grid,.trust-grid{grid-template-columns:repeat(3,1fr)}.feature-card,.trust-card,.review-card{padding:24px}.feature-card h3,.trust-card h3{font:800 16px Montserrat,sans-serif}.signs{padding:28px}.signs ul{padding:0;list-style:none}.signs li{padding:9px 0;border-bottom:1px solid var(--gray-100)}.trust{background:#fff;border-top:1px solid var(--gray-100);border-bottom:1px solid var(--gray-100)}.trust-callout{margin-top:34px;padding:20px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:rgba(9,155,214,.05);border:1px solid rgba(9,155,214,.2);border-radius:16px}.reviews-header{display:flex;justify-content:space-between;gap:20px;align-items:end}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.filter-btn{border:1px solid var(--gray-200);background:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800}.filter-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.review-grid{grid-template-columns:repeat(3,1fr)}.stars{color:var(--amber);letter-spacing:1px}.verified{font-size:10px;color:var(--green);font-weight:800}.review-card blockquote{margin:12px 0;color:var(--gray-600);font-size:13px}.review-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px}.editor-content{background:#fff}.editor-content .entry-content{max-width:850px;margin:auto}.site-footer{background:var(--black);color:#fff;padding:64px 0 28px}.footer-grid{grid-template-columns:5fr 4fr 3fr}.site-footer h4{color:var(--blue);font:800 12px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em}.site-footer p,.site-footer li,.site-footer a{color:#a2a7ae;font-size:12px}.site-footer ul{list-style:none;padding:0}.footer-bottom{border-top:1px solid #2a2a2a;margin-top:32px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#72777e}.modal{display:none;position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.58);padding:20px;overflow:auto}.modal.open{display:grid;place-items:center}.modal-dialog{width:min(650px,100%);background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:28px;position:relative}.modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.field input,.field select,.field textarea{width:100%;border:1px solid var(--gray-200);border-radius:10px;padding:11px 12px;background:#fff}.notice{padding:12px;border-radius:10px;background:rgba(9,155,214,.08);font-size:12px}.service-page{padding-top:76px}.service-hero{padding:54px 0;background:linear-gradient(130deg,#fff,var(--snow));border-bottom:1px solid var(--gray-100)}.breadcrumbs{font-size:11px;color:var(--gray-500);margin-bottom:18px}.service-hero-grid{grid-template-columns:2fr 1fr}.service-hero h1{font:900 clamp(34px,5vw,54px)/1.05 Montserrat,sans-serif;letter-spacing:-.04em;margin:8px 0}.metrics{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0}.metric{padding-right:18px;border-right:1px solid var(--gray-200)}.metric small{display:block;color:var(--gray-400);font-size:9px;text-transform:uppercase}.metric strong{font:800 14px Montserrat,sans-serif}.why-card{padding:24px}.content-stack{display:grid;gap:34px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px}.process-grid{grid-template-columns:repeat(4,1fr)}.process-step{padding:20px}.process-number{font:900 24px Montserrat,sans-serif;color:rgba(9,155,214,.22)}details.faq{background:#fff;border:1px solid var(--gray-200);border-radius:13px;padding:16px 18px}details.faq+details.faq{margin-top:10px}details.faq summary{font:800 14px Montserrat,sans-serif;cursor:pointer}.related-grid{grid-template-columns:repeat(3,1fr)}.related-link{display:flex;justify-content:space-between;padding:14px;border:1px solid var(--gray-200);border-radius:11px;background:#fff;font-size:12px;font-weight:700}.related-link.current{border-color:var(--blue);background:rgba(9,155,214,.08);color:var(--blue)}.urgent-cta{background:linear-gradient(110deg,#0d0d0d,#292929,#0d0d0d);color:#fff;padding:34px;border-radius:24px;display:flex;justify-content:space-between;align-items:center;gap:24px}.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
@media(max-width:900px){.main-nav,.header-actions{display:none}.mobile-toggle{display:block}.site-header.mobile-open .main-nav{display:flex;position:absolute;top:75px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:18px 24px;box-shadow:var(--shadow)}.site-header.mobile-open .main-nav .nav-link,.site-header.mobile-open .menu-toggle{padding:10px 0;text-align:left}.mega-wrap.open .mega-menu{position:static;width:100%;box-shadow:none;border:0;padding:10px 0;grid-template-columns:1fr}.mega-cats{border:0;padding:0}.mega-panel{display:none}.mega-services{grid-template-columns:1fr}.hero-grid,.diag-grid,.service-details-grid,.service-hero-grid,.two-col,.footer-grid{grid-template-columns:1fr}.hero{padding-top:116px}.feature-grid,.trust-grid,.review-grid,.related-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.urgent-cta{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.section{padding:58px 0}.container{width:min(100% - 24px,1180px)}.hero h1{font-size:39px}.spec-grid,.benefits,.form-grid,.feature-grid,.trust-grid,.review-grid,.related-grid,.process-grid{grid-template-columns:1fr}.actions{flex-direction:column}.btn{width:100%}.reviews-header,.trust-callout,.footer-bottom{align-items:flex-start;flex-direction:column}.service-selector{padding:18px}.header-inner{height:68px}.service-page{padding-top:68px}}

.section-heading-center{text-align:center;max-width:700px;margin:0 auto 36px}.trust-note{margin:3px 0 0}.section-title-md{font-size:30px}.section-title-sm{font-size:28px}.content-narrow{max-width:850px;margin:auto}.text-center{text-align:center}.card-pad{padding:26px}


/* Header refinement: match the original compact React header while using the native WP menu. */
.site-header{height:78px;background:rgba(255,255,255,.98);border-top:1px solid #111;border-bottom:1px solid var(--gray-100);backdrop-filter:none}
.site-header .header-inner{width:min(1145px,calc(100% - 32px));height:77px;gap:0;display:grid;grid-template-columns:224px minmax(0,1fr) auto;align-items:center}
.brand{min-width:0;display:flex;align-items:center;font:900 23px/1 Montserrat,sans-serif;letter-spacing:-.055em;white-space:nowrap}
.brand-mark{position:relative;display:block;width:27px;height:34px;margin-right:8px;flex:0 0 27px;color:var(--blue)}
.brand-mark svg{display:block;width:27px;height:34px}
.brand-mark-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#c32920;right:-1px;bottom:2px;border:1.5px solid #fff}
.brand-copy{display:block;min-width:0}
.brand-name{display:block;line-height:1;font-size:22px}
.tagline{display:block;margin-top:3px;font:700 7px/1.1 Inter,sans-serif;letter-spacing:.135em;text-transform:uppercase;color:var(--gray-500)}
.main-nav{min-width:0;margin:0;display:flex;justify-content:center;align-items:stretch;font:700 12px/1.35 Montserrat,sans-serif}
.primary-menu{display:flex;align-items:stretch;justify-content:center;gap:34px;margin:0;padding:0;list-style:none;height:77px}
.primary-menu>li{position:relative;display:flex;align-items:center;margin:0;padding:0;list-style:none}
.primary-menu>li>a.nav-link{position:relative;display:flex;align-items:center;min-height:77px;padding:0;color:#343434;white-space:normal}
.primary-menu>li>a.nav-link:hover,.primary-menu>li.current-menu-item>a.nav-link,.primary-menu>li.current-menu-ancestor>a.nav-link{color:var(--blue)}
.primary-menu>.menu-item-has-children>a.nav-link{padding-right:16px}
.primary-menu>.menu-item-has-children>a.nav-link:after{content:'';position:absolute;right:0;top:50%;width:6px;height:6px;border-right:1.5px solid var(--blue);border-bottom:1.5px solid var(--blue);transform:translateY(-65%) rotate(45deg)}
.primary-menu>.menu-item-interactive>a.nav-link{padding-left:80px;max-width:150px}
.primary-menu>.menu-item-interactive>a.nav-link:before{content:'INTERACTIVE';position:absolute;left:0;top:50%;transform:translateY(-50%);padding:4px 7px;border-radius:3px;background:#eef8fc;color:var(--blue);font:800 7px/1 Montserrat,sans-serif;letter-spacing:.03em;box-shadow:0 1px 5px rgba(9,155,214,.08)}
.primary-menu .sub-menu{display:none;position:absolute;z-index:1100;left:-18px;top:68px;min-width:230px;margin:0;padding:10px;background:#fff;border:1px solid var(--gray-100);border-radius:10px;box-shadow:var(--shadow);list-style:none}
.primary-menu .sub-menu li{display:block;margin:0}
.primary-menu .sub-menu a{display:block;padding:10px 12px;border-radius:7px;font-size:11px;white-space:nowrap}
.primary-menu .sub-menu a:hover{background:var(--gray-50);color:var(--blue)}
.primary-menu>li:hover>.sub-menu,.primary-menu>li:focus-within>.sub-menu{display:block}
.header-actions{display:flex;align-items:center;gap:14px;margin-left:26px;white-space:nowrap}
.urgent-line{height:53px;min-width:153px;padding:7px 14px;display:flex;align-items:center;gap:10px;border:1px solid rgba(159,23,16,.16);border-radius:11px;background:#fff8f7;color:var(--red)}
.urgent-dot{width:11px;height:11px;border-radius:50%;background:#b31c16;flex:0 0 11px}
.urgent-copy{display:flex;flex-direction:column;align-items:center;line-height:1.1}
.urgent-label{font:800 7px/1.2 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.urgent-phone{margin-top:6px;font:800 12px/1 Montserrat,sans-serif}
.header-book{height:40px;min-width:129px;padding:0 18px;border-radius:10px;font-size:12px;box-shadow:0 4px 9px rgba(9,155,214,.22)}
.mobile-toggle{display:none}

@media(max-width:1100px){
  .site-header .header-inner{grid-template-columns:205px minmax(0,1fr) auto}
  .primary-menu{gap:20px}
  .header-actions{gap:8px;margin-left:14px}
  .urgent-line{min-width:138px;padding-left:10px;padding-right:10px}
  .header-book{min-width:112px;padding-left:13px;padding-right:13px}
}
@media(max-width:900px){
  .site-header{height:69px}
  .site-header .header-inner{height:68px;display:flex;width:min(100% - 24px,1145px)}
  .brand-name{font-size:20px}
  .brand-mark{width:24px;height:31px;flex-basis:24px}
  .brand-mark svg{width:24px;height:31px}
  .mobile-toggle{display:block;margin-left:auto;border:0;background:transparent;font-size:24px}
  .main-nav,.header-actions{display:none}
  .site-header.mobile-open .main-nav{display:block;position:absolute;top:68px;left:0;right:0;background:#fff;padding:14px 20px;box-shadow:var(--shadow);max-height:calc(100vh - 68px);overflow:auto}
  .site-header.mobile-open .primary-menu{height:auto;display:flex;flex-direction:column;align-items:stretch;gap:0}
  .site-header.mobile-open .primary-menu>li{display:block;border-bottom:1px solid var(--gray-100)}
  .site-header.mobile-open .primary-menu>li>a.nav-link{min-height:0;padding:13px 20px 13px 0}
  .site-header.mobile-open .primary-menu>.menu-item-interactive>a.nav-link{padding-left:0}
  .site-header.mobile-open .primary-menu>.menu-item-interactive>a.nav-link:before{display:none}
  .site-header.mobile-open .primary-menu .sub-menu{display:block;position:static;min-width:0;padding:0 0 8px 14px;border:0;box-shadow:none}
  .site-header.mobile-open .primary-menu .sub-menu a{white-space:normal}
  .hero{padding-top:109px}
  .service-page{padding-top:68px}
}

/* Native WordPress logo + final header action refinement. */
.site-header .header-inner{
  grid-template-columns:250px minmax(0,1fr) auto;
}
.site-branding{
  display:flex;
  align-items:center;
  min-width:0;
}
.site-branding .custom-logo-link{
  display:inline-flex;
  align-items:center;
  line-height:0;
}
.site-branding .custom-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:250px;
  max-height:43px;
  object-fit:contain;
}
.site-title-fallback{
  font:900 22px/1 Montserrat,sans-serif;
  letter-spacing:-.04em;
}
.header-actions{
  gap:17px;
  margin-left:30px;
}
.urgent-line{
  width:188px;
  min-width:188px;
  height:66px;
  padding:9px 16px 9px 15px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:13px;
  border:1px solid rgba(179,28,22,.18);
  border-radius:14px;
  background:#fff8f7;
  color:#b31c16;
  box-shadow:none;
  transition:border-color .2s ease,background-color .2s ease,transform .2s ease;
}
.urgent-line:hover,
.urgent-line:focus-visible{
  border-color:rgba(179,28,22,.34);
  background:#fff3f1;
  transform:translateY(-1px);
}
.urgent-dot{
  position:relative;
  width:13px;
  height:13px;
  flex:0 0 13px;
  border-radius:50%;
  background:#b31c16;
  box-shadow:0 0 0 5px rgba(179,28,22,.13);
}
.urgent-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  flex:1;
  line-height:1;
}
.urgent-label{
  display:block;
  margin:0;
  color:#b31c16;
  font:800 9px/1 Montserrat,sans-serif;
  letter-spacing:.075em;
  text-transform:uppercase;
  white-space:nowrap;
}
.urgent-phone{
  display:block;
  margin-top:8px;
  color:#b31c16;
  font:800 15px/1 Montserrat,sans-serif;
  letter-spacing:-.015em;
  white-space:nowrap;
}
.header-book{
  height:48px;
  min-width:158px;
  padding:0 22px;
  border-radius:12px;
  font-size:14px;
}
@media(max-width:1100px){
  .site-header .header-inner{grid-template-columns:220px minmax(0,1fr) auto}
  .site-branding .custom-logo{max-width:215px;max-height:40px}
  .header-actions{gap:10px;margin-left:16px}
  .urgent-line{width:165px;min-width:165px;height:58px;padding-left:12px;padding-right:12px;gap:10px}
  .urgent-label{font-size:8px}
  .urgent-phone{font-size:13px;margin-top:7px}
  .header-book{min-width:125px;padding:0 15px;font-size:12px}
}
@media(max-width:900px){
  .site-branding .custom-logo{max-width:215px;max-height:39px}
}


/* ==========================================================
   Header v2 — authoritative native-WordPress header styling
   Mirrors the original Google AI Studio / React proportions.
   ========================================================== */
.site-header {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  height: 78px;
  padding: 0;
  background: rgba(255,255,255,.98);
  border-top: 1px solid #111;
  border-bottom: 1px solid #eceef1;
  box-shadow: none;
  backdrop-filter: blur(8px);
}

.site-header .header-inner {
  width: min(1280px, calc(100% - 48px));
  height: 77px;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: 252px minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 28px;
}

.site-header .site-branding {
  min-width: 0;
  display: flex;
  align-items: center;
}
.site-header .site-branding .custom-logo-link {
  display: inline-flex;
  align-items: center;
  padding: 0;
  margin: 0;
  line-height: 0;
}
.site-header .site-branding .custom-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 230px;
  max-height: 46px;
  object-fit: contain;
  object-position: left center;
}
.site-header .site-title-fallback {
  font: 900 22px/1 Montserrat, sans-serif;
  letter-spacing: -.04em;
  white-space: nowrap;
}

.site-header .main-nav {
  min-width: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: stretch;
  font: 600 13px/1.35 Inter, Arial, sans-serif;
}
.site-header .primary-menu {
  height: 77px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 30px;
  list-style: none;
}
.site-header .primary-menu > li {
  position: relative;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  list-style: none;
}
.site-header .primary-menu > li::marker { content: ''; }
.site-header .primary-menu > li > a.nav-link {
  position: relative;
  min-height: 77px;
  padding: 0 2px;
  display: flex;
  align-items: center;
  color: rgba(13,13,13,.85);
  font: 600 13px/1.35 Inter, Arial, sans-serif;
  text-decoration: none;
  white-space: normal;
}
.site-header .primary-menu > li > a.nav-link:hover,
.site-header .primary-menu > li.current-menu-item > a.nav-link,
.site-header .primary-menu > li.current-menu-ancestor > a.nav-link {
  color: #099bd6;
}
.site-header .primary-menu > .menu-item-has-children > a.nav-link {
  padding-right: 21px;
}
.site-header .primary-menu > .menu-item-has-children > a.nav-link::after {
  content: '';
  position: absolute;
  right: 4px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -5px;
  border-right: 1.5px solid #099bd6;
  border-bottom: 1.5px solid #099bd6;
  transform: rotate(45deg);
}
.site-header .primary-menu > .menu-item-interactive > a.nav-link {
  max-width: 150px;
  padding-left: 84px;
}
.site-header .primary-menu > .menu-item-interactive > a.nav-link::before {
  content: 'INTERACTIVE';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  padding: 4px 7px;
  border-radius: 3px;
  background: rgba(9,155,214,.08);
  color: #099bd6;
  font: 800 8px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .02em;
}
.site-header .primary-menu .sub-menu {
  display: none;
  position: absolute;
  z-index: 1100;
  top: 68px;
  left: -16px;
  min-width: 230px;
  margin: 0;
  padding: 10px;
  list-style: none;
  background: #fff;
  border: 1px solid #eceef1;
  border-radius: 12px;
  box-shadow: 0 16px 42px rgba(13,13,13,.10);
}
.site-header .primary-menu .sub-menu li {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header .primary-menu .sub-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: #343434;
  font-size: 12px;
  white-space: nowrap;
}
.site-header .primary-menu .sub-menu a:hover {
  color: #099bd6;
  background: #f7f7f8;
}
.site-header .primary-menu > li:hover > .sub-menu,
.site-header .primary-menu > li:focus-within > .sub-menu {
  display: block;
}

.site-header .header-actions {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
}

/* Deliberately unique selector to prevent generic theme/plugin link rules from
   flattening the urgent-line button back into ordinary text. */
.site-header a.urgent-line {
  width: 188px;
  min-width: 188px;
  height: 54px;
  margin: 0;
  padding: 7px 14px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  color: #b31c16;
  background: rgba(179,28,22,.045);
  border: 1px solid rgba(179,28,22,.18);
  border-radius: 12px;
  box-shadow: none;
  text-decoration: none;
  line-height: 1;
}
.site-header a.urgent-line:hover,
.site-header a.urgent-line:focus-visible {
  color: #b31c16;
  background: rgba(179,28,22,.08);
  border-color: rgba(179,28,22,.28);
}
.site-header .urgent-dot {
  position: relative;
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  border-radius: 50%;
  background: #b31c16;
  box-shadow: 0 0 0 5px rgba(179,28,22,.12);
}
.site-header .urgent-copy {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-align: center;
}
.site-header .urgent-label {
  display: block;
  margin: 0;
  color: #b31c16;
  font: 800 8px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.site-header .urgent-phone {
  display: block;
  margin-top: 7px;
  color: #b31c16;
  font: 700 14px/1 Montserrat, sans-serif;
  letter-spacing: -.01em;
  white-space: nowrap;
}
.site-header .header-book {
  width: auto;
  min-width: 129px;
  height: 40px;
  margin: 0;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: #099bd6;
  color: #fff;
  box-shadow: 0 4px 9px rgba(9,155,214,.22);
  font: 700 13px/1 Montserrat, sans-serif;
}
.site-header .header-book:hover,
.site-header .header-book:focus-visible {
  background: #0782b4;
  color: #fff;
}

@media (max-width: 1180px) {
  .site-header .header-inner {
    width: min(1100px, calc(100% - 32px));
    grid-template-columns: 220px minmax(0, 1fr) auto;
    column-gap: 18px;
  }
  .site-header .site-branding .custom-logo { max-width: 205px; max-height: 42px; }
  .site-header .primary-menu { gap: 18px; }
  .site-header .header-actions { gap: 10px; }
  .site-header a.urgent-line { width: 166px; min-width: 166px; }
  .site-header .urgent-phone { font-size: 13px; }
}

@media (max-width: 900px) {
  .site-header { height: 69px; }
  .site-header .header-inner {
    width: min(100% - 24px, 1280px);
    height: 68px;
    display: flex;
    gap: 12px;
  }
  .site-header .site-branding .custom-logo { max-width: 205px; max-height: 39px; }
  .site-header .mobile-toggle {
    display: block;
    margin-left: auto;
    border: 0;
    background: transparent;
    font-size: 24px;
  }
  .site-header .main-nav,
  .site-header .header-actions { display: none; }
  .site-header.mobile-open .main-nav {
    display: block;
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    max-height: calc(100vh - 68px);
    overflow: auto;
    padding: 14px 20px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(13,13,13,.10);
  }
  .site-header.mobile-open .primary-menu {
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .site-header.mobile-open .primary-menu > li {
    display: block;
    border-bottom: 1px solid #eceef1;
  }
  .site-header.mobile-open .primary-menu > li > a.nav-link {
    min-height: 0;
    padding: 13px 20px 13px 0;
  }
  .site-header.mobile-open .primary-menu > .menu-item-interactive > a.nav-link { padding-left: 0; }
  .site-header.mobile-open .primary-menu > .menu-item-interactive > a.nav-link::before { display: none; }
  .site-header.mobile-open .primary-menu .sub-menu {
    display: block;
    position: static;
    min-width: 0;
    padding: 0 0 8px 14px;
    border: 0;
    box-shadow: none;
  }
}

/* Hero refinement v1.2 — Google AI Studio reference */
.hero {
  padding: 110px 0 76px;
  border-bottom: 1px solid #eceef1;
  background: #fbfbfc;
}
.hero .hero-container {
  width: min(1215px, calc(100% - 40px));
}
.hero .hero-eyebrow {
  margin: 0 0 23px;
  padding: 5px 13px;
  border: 1px solid rgba(9,155,214,.12);
  background: #eaf6fb;
  color: #0798d4;
  font: 800 10px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .115em;
}
.hero .hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 690px) minmax(400px, 486px);
  justify-content: space-between;
  gap: 58px;
  align-items: start;
}
.hero .hero-content {
  min-width: 0;
  padding-top: 1px;
}
.hero .hero-kicker {
  margin: 0 0 29px;
  color: #687485;
  font: 800 13px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .135em;
  text-transform: uppercase;
}
.hero h1 {
  max-width: 675px;
  margin: 0 0 28px;
  color: #080808;
  font: 900 clamp(50px, 4.55vw, 65px)/1.09 Montserrat, sans-serif;
  letter-spacing: -.058em;
  text-wrap: balance;
}
.hero .hero-lead {
  max-width: 675px;
  margin: 0;
  color: #536277;
  font-size: 17px;
  line-height: 1.72;
}
.hero .spec-grid {
  display: grid;
  grid-template-columns: 220px 220px;
  gap: 14px;
  max-width: none;
  margin: 36px 0 0;
}
.hero .spec {
  min-height: 96px;
  padding: 17px 17px;
  display: flex;
  align-items: center;
  gap: 13px;
  background: #fff;
  border: 1px solid #e7e9ed;
  border-radius: 12px;
  box-shadow: 0 3px 7px rgba(13,13,13,.05);
}
.hero .spec-icon {
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: #eef8fc;
  color: #099bd6;
}
.hero .spec-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero .spec-icon-money {
  font: 900 18px/1 Montserrat, sans-serif;
}
.hero .spec-copy {
  min-width: 0;
}
.hero .spec small {
  display: block;
  margin-bottom: 6px;
  color: #9aa4b2;
  font: 600 8px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hero .spec strong {
  display: block;
  color: #111;
  font: 800 12px/1.45 Montserrat, sans-serif;
}
.hero .hero-actions {
  gap: 14px;
  margin: 43px 0 0;
}
.hero .hero-actions .btn {
  min-height: 59px;
  border-radius: 11px;
  padding: 0 31px;
  font: 800 14px/1 Montserrat, sans-serif;
}
.hero .hero-actions .btn-primary {
  min-width: 284px;
}
.hero .hero-actions .btn-outline-danger {
  min-width: 230px;
  border-width: 1.5px;
  color: #a71913;
  background: #fff;
  box-shadow: 0 3px 8px rgba(13,13,13,.05);
}
.hero .cta-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #b01d16;
}
.hero .benefits-wrap {
  margin-top: 48px;
}
.hero .benefits-label {
  margin: 0 0 14px;
  color: #98a3b2;
  font: 600 8px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.hero .benefits {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px 30px;
  margin: 0;
  padding: 0;
  border: 0;
  color: #566275;
  font-size: 12px;
  line-height: 1.35;
}
.hero .benefits span {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.hero .benefits .check {
  color: #099bd6;
  font-size: 15px;
  line-height: 1.1;
}
.hero .service-selector {
  margin-top: -1px;
  padding: 34px 32px 30px;
  background: #fff;
  border: 1px solid #696969;
  border-radius: 16px;
  box-shadow: 0 14px 29px rgba(13,13,13,.11);
}
.hero .service-selector-heading h2,
.hero .service-selector h2 {
  margin: 0;
  color: #111;
  font: 800 18px/1.25 Montserrat, sans-serif;
  letter-spacing: -.025em;
}
.hero .service-selector-heading p {
  max-width: 360px;
  margin: 8px 0 0;
  color: #748094;
  font-size: 11px;
  line-height: 1.45;
}
.hero .service-list {
  display: grid;
  gap: 11px;
  margin-top: 25px;
}
.hero .service-link {
  min-height: 74px;
  padding: 10px 13px 10px 14px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  background: #fff;
  border: 1px solid #edf0f3;
  border-radius: 12px;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.hero .service-link:hover,
.hero .service-link:focus-visible {
  border-color: rgba(9,155,214,.45);
  background: #fbfdfe;
  transform: translateY(-1px);
}
.hero .service-icon {
  width: 37px;
  height: 37px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #f8fafb;
  color: #798699;
}
.hero .service-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hero .service-link-copy {
  min-width: 0;
}
.hero .service-link-copy strong {
  display: block;
  color: #111;
  font: 800 12px/1.35 Montserrat, sans-serif;
  letter-spacing: -.02em;
}
.hero .service-link-copy small {
  display: block;
  margin-top: 5px;
  color: #a0a9b7;
  font: 500 9px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.hero .service-link-meta {
  min-width: 55px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 13px;
}
.hero .emergency-badge {
  display: inline-block;
  padding: 3px 6px;
  border-radius: 4px;
  background: #fff0ef;
  color: #b21f18;
  font: 800 8px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.hero .service-arrow {
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 32px;
  color: #94a3b8;
  background: #f8fafc;
  border: 1px solid #eef2f6;
  border-radius: 999px;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}
.hero .service-arrow svg {
  width: 15px;
  height: 15px;
}
.hero .service-link:hover .service-arrow,
.hero .service-link:focus-visible .service-arrow {
  color: #fff;
  background: #099bd6;
  border-color: #099bd6;
  transform: translateX(2px);
}
.hero .service-link:hover .service-icon,
.hero .service-link:focus-visible .service-icon {
  color: #099bd6;
  background: rgba(9,155,214,.08);
}
.hero .diagnostic-notice {
  margin: 20px 0 0;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  text-align: center;
  background: #f7f9fa;
  border: 1px dashed #e2e6ea;
  border-radius: 11px;
  color: #687487;
  font-size: 10px;
  line-height: 1.45;
}
.hero .diagnostic-notice a {
  color: #099bd6;
  font-size: 10px;
}

@media (max-width: 1100px) {
  .hero .hero-container { width: min(100% - 40px, 980px); }
  .hero .hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(370px, .85fr); gap: 38px; }
  .hero h1 { font-size: clamp(48px, 5.5vw, 60px); }
  .hero .spec-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero .hero-actions .btn-primary,
  .hero .hero-actions .btn-outline-danger { min-width: 0; }
}

@media (max-width: 900px) {
  .hero { padding: 108px 0 64px; }
  .hero .hero-container { width: min(100% - 32px, 720px); }
  .hero .hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .hero .service-selector { margin-top: 0; }
  .hero .hero-content,
  .hero .hero-lead,
  .hero h1 { max-width: none; }
}

@media (max-width: 600px) {
  .hero { padding: 94px 0 50px; }
  .hero .hero-container { width: min(100% - 24px, 540px); }
  .hero .hero-eyebrow { margin-bottom: 18px; font-size: 9px; }
  .hero .hero-kicker { margin-bottom: 20px; font-size: 10px; line-height: 1.5; }
  .hero h1 { margin-bottom: 20px; font-size: clamp(38px, 12vw, 49px); line-height: 1.03; }
  .hero .hero-lead { font-size: 15px; line-height: 1.65; }
  .hero .spec-grid { grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 28px; }
  .hero .spec { min-height: 86px; padding: 12px 10px; gap: 8px; }
  .hero .spec-icon { width: 27px; height: 27px; flex-basis: 27px; }
  .hero .spec strong { font-size: 10px; }
  .hero .hero-actions { margin-top: 30px; flex-direction: column; }
  .hero .hero-actions .btn { width: 100%; min-height: 54px; }
  .hero .benefits-wrap { margin-top: 35px; }
  .hero .benefits { grid-template-columns: 1fr; gap: 10px; }
  .hero .service-selector { padding: 24px 18px 20px; border-radius: 14px; }
  .hero .service-link { grid-template-columns: 38px minmax(0, 1fr) auto; min-height: 70px; padding-left: 10px; padding-right: 10px; gap: 9px; }
  .hero .service-icon { width: 34px; height: 34px; }
  .hero .service-link-meta { min-width: 47px; gap: 8px; }
}

/* =========================================================
   Diagnostic estimator refinement — Google AI Studio parity
   ========================================================= */
.diagnostic {
    background:#fff;
    padding:78px 0 86px;
}
.diagnostic-container {
    width:min(1460px,calc(100% - 72px));
}
.diagnostic-intro {
    max-width:980px;
    margin:0 auto 72px;
    text-align:center;
}
.diagnostic-intro .eyebrow {
    padding:6px 15px;
    font:800 12px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    letter-spacing:.11em;
    background:#eaf6fc;
}
.diagnostic-intro .section-title {
    margin:19px 0 8px;
    font-size:clamp(38px,4.15vw,58px);
    line-height:1.02;
    letter-spacing:-.045em;
}
.diagnostic-intro .muted {
    max-width:860px;
    margin:0 auto;
    font-size:17px;
    line-height:1.55;
    color:#778398;
}
.diagnostic .diag-grid {
    display:grid;
    grid-template-columns:460px minmax(0,1fr);
    gap:36px;
    align-items:stretch;
}
.diagnostic-sidebar {
    min-height:650px;
    padding:28px 28px 25px;
    border:1px solid #eef0f2;
    border-radius:20px;
    background:#fbfbfb;
    display:flex;
    flex-direction:column;
}
.diagnostic-step-label {
    margin-bottom:20px;
    color:#9aa6b8;
    font:500 13px/1.25 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.diagnostic .issue-list {
    display:grid;
    gap:10px;
}
.diagnostic .issue-btn {
    width:100%;
    min-height:98px;
    padding:17px 18px;
    display:grid;
    grid-template-columns:45px minmax(0,1fr);
    gap:16px;
    align-items:center;
    text-align:left;
    border:1px solid transparent;
    border-radius:15px;
    background:#fff;
    color:#111;
    box-shadow:none;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.diagnostic .issue-btn:hover {
    border-color:#b8dff1;
}
.diagnostic .issue-btn.active {
    border:2px solid var(--blue);
    background:#fff;
    box-shadow:0 6px 14px rgba(0,0,0,.09);
}
.issue-icon {
    width:45px;
    height:45px;
    border-radius:10px;
    background:#f6f7f8;
    color:#7a879a;
    display:grid;
    place-items:center;
}
.issue-btn.active .issue-icon {
    background:var(--blue);
    color:#fff;
}
.issue-icon svg,
.privacy-icon svg,
.wizard-calculator-icon svg {
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.issue-copy {
    min-width:0;
    display:block;
}
.issue-copy strong {
    display:block;
    margin-bottom:3px;
    font:800 15px/1.25 Montserrat,sans-serif;
    letter-spacing:-.018em;
}
.issue-copy small {
    display:block;
    color:#a1adbe;
    font-size:12px;
    line-height:1.45;
}
.diagnostic-privacy {
    display:flex;
    gap:11px;
    align-items:flex-start;
    margin-top:auto;
    padding-top:22px;
    border-top:1px solid #aab2bc;
    color:#a3aebd;
    font-size:12px;
    line-height:1.35;
}
.privacy-icon {
    flex:0 0 auto;
    width:18px;
    height:20px;
    color:var(--blue);
}
.privacy-icon svg {
    width:18px;
    height:18px;
}
.diagnostic-workspace {
    min-height:650px;
    padding:0 38px 32px;
    border:1px solid #eef0f2;
    border-radius:20px;
    background:#fbfbfb;
    box-shadow:none;
    display:flex;
    flex-direction:column;
}
.wizard-topbar {
    min-height:84px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
}
.wizard-context {
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}
.wizard-context strong {
    font:800 17px/1.25 Montserrat,sans-serif;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.wizard-calculator-icon {
    flex:0 0 auto;
    width:22px;
    height:22px;
    color:var(--blue);
}
.wizard-calculator-icon svg {
    width:22px;
    height:22px;
}
.wizard-progress {
    flex:0 0 auto;
    color:#929cae;
    font:600 13px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    letter-spacing:.04em;
}
.wizard-rule,
.wizard-bottom-rule {
    width:100%;
    height:1px;
    background:#767676;
}
.wizard-body {
    padding:86px 0 38px;
}
.diagnostic-workspace .wizard-body h3 {
    margin:0 0 28px;
    font:850 25px/1.18 Montserrat,sans-serif;
    letter-spacing:-.025em;
}
.diagnostic-workspace .wizard-options {
    display:grid;
    gap:13px;
}
.diagnostic-workspace .wizard-option {
    min-height:63px;
    padding:16px 21px;
    border:1px solid #343434;
    border-radius:13px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    text-align:left;
    color:#111;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.diagnostic-workspace .wizard-option:hover {
    border-color:var(--blue);
    box-shadow:0 4px 12px rgba(0,0,0,.06);
    transform:translateY(-1px);
}
.diagnostic-workspace .wizard-option > span:first-child {
    font:700 15px/1.35 Montserrat,sans-serif;
}
.wizard-arrow {
    color:#d0d7de;
    font-size:25px;
    font-weight:300;
    line-height:1;
}
.wizard-bottom-rule {
    margin-top:auto;
}
.wizard-result {
    padding-top:54px;
}
.wizard-result .estimate {
    margin:10px 0;
}

@media (max-width:1100px) {
    .diagnostic-container {width:min(100% - 40px,1180px)}
    .diagnostic .diag-grid {grid-template-columns:360px minmax(0,1fr);gap:24px}
    .diagnostic-sidebar,.diagnostic-workspace {min-height:620px}
    .diagnostic-workspace {padding-left:28px;padding-right:28px}
    .wizard-body {padding-top:65px}
}
@media (max-width:820px) {
    .diagnostic {padding:62px 0 68px}
    .diagnostic-intro {margin-bottom:42px}
    .diagnostic .diag-grid {grid-template-columns:1fr}
    .diagnostic-sidebar,.diagnostic-workspace {min-height:0}
    .diagnostic-sidebar {padding:22px}
    .diagnostic-privacy {margin-top:24px}
    .diagnostic-workspace {padding:0 24px 28px}
    .wizard-body {padding:48px 0 32px}
}
@media (max-width:560px) {
    .diagnostic-container {width:calc(100% - 28px)}
    .diagnostic-intro {text-align:left}
    .diagnostic-intro .section-title {font-size:36px}
    .diagnostic-intro .muted {font-size:15px}
    .diagnostic .issue-btn {grid-template-columns:40px minmax(0,1fr);padding:14px;min-height:88px}
    .issue-icon {width:40px;height:40px}
    .wizard-topbar {align-items:flex-start;min-height:92px;padding:20px 0}
    .wizard-context strong {font-size:13px}
    .wizard-progress {font-size:11px}
    .wizard-body {padding-top:36px}
    .diagnostic-workspace .wizard-body h3 {font-size:22px}
    .diagnostic-workspace .wizard-option {min-height:58px;padding:14px 16px}
    .diagnostic-workspace .wizard-option > span:first-child {font-size:13px}
}

/* ==========================================================
   Footer refinement — Google AI Studio reference
   ========================================================== */
.site-footer{
  background:#0b0b0c;
  color:#fff;
  padding:58px 0 26px;
}
.site-footer .footer-container{width:min(1420px,calc(100% - 64px));}
.footer-main-grid{
  display:grid;
  grid-template-columns:1.08fr .82fr .82fr;
  gap:88px;
  align-items:start;
  padding-bottom:58px;
}
.footer-brand{display:inline-flex;align-items:center;gap:11px;color:#fff;margin-bottom:22px;}
.footer-brand-mark{width:38px;height:46px;display:flex;color:var(--blue);flex:0 0 auto;}
.footer-brand-mark svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.footer-wordmark{display:grid;grid-template-columns:auto auto;column-gap:0;align-items:end;font:900 25px/1 Montserrat,sans-serif;letter-spacing:-.055em;color:#fff;}
.footer-wordmark-blue{color:var(--blue);}
.footer-wordmark small{grid-column:1/-1;margin-top:6px;color:#9ca3af;font:700 8px/1.2 Inter,sans-serif;letter-spacing:.18em;}
.footer-description{max-width:520px;margin:0 0 20px;color:#9ca3af!important;font-size:14px!important;line-height:1.75!important;}
.footer-credentials{display:flex;flex-wrap:wrap;gap:24px;color:#8f96a1;font:600 13px/1.4 Inter,sans-serif;letter-spacing:.02em;}
.footer-credentials span{display:inline-flex;align-items:center;gap:8px;}
.footer-credentials svg{width:18px;height:18px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.footer-heading{margin:4px 0 22px;color:var(--blue);font:900 15px/1.2 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.07em;}
.footer-contact-list{display:grid;gap:18px;}
.footer-contact-item{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:start;color:#9ca3af!important;font-size:13px!important;line-height:1.55;}
.footer-contact-item strong{display:block;color:#f5f5f5;font:800 13px/1.35 Montserrat,sans-serif;margin-bottom:2px;}
.footer-contact-item span{color:#9ca3af;}
.footer-contact-icon{width:22px;height:22px;color:var(--blue)!important;display:flex;align-items:center;justify-content:center;}
.footer-contact-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.footer-contact-link{transition:color .18s ease;}
.footer-contact-link:hover strong,.footer-contact-link:hover>span:last-child{color:#fff;}
.footer-service-areas{display:grid!important;grid-template-columns:1fr 1fr;gap:13px 42px;margin:0!important;padding:0!important;}
.site-footer .footer-service-areas li{position:relative;padding-left:16px;color:#9ca3af;font-size:13px;line-height:1.35;}
.footer-service-areas li::before{content:'';position:absolute;left:0;top:.45em;width:7px;height:7px;border-radius:50%;background:var(--blue);}
.footer-scheduling{
  display:grid;
  grid-template-columns:1.1fr 1.9fr;
  gap:68px;
  align-items:start;
  padding:38px 0 42px;
  border-top:1px solid #24303a;
  border-bottom:1px solid #24303a;
}
.footer-scheduling-intro h2{margin:0 0 10px;color:#9ca3af;font:900 14px/1.2 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em;}
.footer-scheduling-intro p{max-width:500px;margin:0;color:#7d8590!important;font-size:13px!important;line-height:1.55!important;}
.footer-booking-links{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:16px 74px;max-width:680px;justify-self:end;width:100%;}
.footer-book-link{appearance:none;border:0;background:transparent;color:#8e96a1;text-align:left;padding:0;font:700 13px/1.35 Inter,sans-serif;transition:color .18s ease,transform .18s ease;}
.footer-book-link span{margin-left:4px;color:#5f6974;}
.footer-book-link:hover{color:#fff;transform:translateX(2px);}
.footer-bottom{margin-top:0;padding-top:30px;border-top:0;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;color:#66707d;font-size:10px;}
.footer-legal-copy{display:grid;gap:4px;max-width:760px;}
.footer-legal-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:28px;}
.site-footer .footer-legal-links a{color:#66707d;font-size:10px;transition:color .18s ease;white-space:nowrap;}
.site-footer .footer-legal-links a:hover{color:#fff;}
@media(max-width:1100px){
  .footer-main-grid{grid-template-columns:1.15fr .85fr;gap:54px;}
  .footer-service-column{grid-column:1/-1;}
  .footer-service-areas{grid-template-columns:repeat(4,1fr);}
  .footer-scheduling{grid-template-columns:1fr 1.45fr;gap:44px;}
}
@media(max-width:760px){
  .site-footer{padding-top:46px;}
  .site-footer .footer-container{width:min(100% - 32px,1420px);}
  .footer-main-grid{grid-template-columns:1fr;gap:38px;padding-bottom:42px;}
  .footer-service-column{grid-column:auto;}
  .footer-service-areas{grid-template-columns:1fr 1fr;gap:12px 24px;}
  .footer-scheduling{grid-template-columns:1fr;gap:28px;padding:32px 0 36px;}
  .footer-booking-links{justify-self:stretch;max-width:none;gap:15px 28px;}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:20px;padding-top:24px;}
  .footer-legal-links{justify-content:flex-start;gap:14px 22px;}
}
@media(max-width:480px){
  .footer-booking-links{grid-template-columns:1fr;}
  .footer-service-areas{grid-template-columns:1fr;}
  .footer-wordmark{font-size:22px;}
  .footer-description{font-size:13px!important;}
}

/* ==========================================================
   Services mini mega menu — native WordPress menu hierarchy
   Google AI Studio layout refinement (v2.4.7.11)
   ========================================================== */
.site-header .mega-wrap{position:static!important;}
.site-header .mega-trigger{display:inline-flex!important;align-items:center!important;gap:10px!important;}
.site-header .mega-trigger::after{display:none!important;}
.site-header .mega-trigger-chevron{width:7px;height:7px;border-right:1.5px solid var(--blue);border-bottom:1.5px solid var(--blue);transform:translateY(-2px) rotate(45deg);transition:transform .18s ease;}
.site-header .mega-wrap.open .mega-trigger-chevron{transform:translateY(2px) rotate(225deg);}

.site-header .mega-menu{
  display:block!important;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  position:fixed;
  z-index:1090;
  top:76px;
  left:50%;
  right:auto;
  width:min(1280px,calc(100vw - 32px));
  min-height:0;
  margin-top:4px;
  padding:0;
  overflow:hidden;
  transform:translate(-50%,-8px);
  background:rgba(255,255,255,.98);
  border:1px solid rgba(209,213,219,.8);
  border-radius:16px;
  box-shadow:0 25px 50px -12px rgba(15,23,42,.25);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
}
.admin-bar .site-header .mega-menu{top:108px;}
.site-header .mega-wrap.open .mega-menu{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
  transition:opacity .2s ease,transform .2s ease,visibility 0s;
}

.site-header .mega-summary{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:12px 24px;
  background:rgba(250,250,250,.8);
  border-bottom:1px solid #f3f4f6;
  font-family:Inter,Arial,sans-serif;
  font-size:12px;
}
.site-header .mega-summary-title{display:flex;align-items:center;gap:10px;color:#4b5563;font:500 12px/1.3 Inter,Arial,sans-serif;white-space:nowrap;}
.site-header .mega-summary-icon{color:var(--blue);font-size:18px;line-height:1;}
.site-header .mega-summary-stats{display:flex;align-items:center;gap:16px;color:#6b7280;font:400 11px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:nowrap;}
.site-header .mega-stat{display:inline-flex;align-items:center;gap:6px;}
.site-header .mega-stat-green{color:#059669;font-weight:700;}
.site-header .mega-summary-stats .mega-stat:not(.mega-stat-green):not(.mega-stat-red){color:#0d0d0d;font-weight:700;}
.site-header .mega-stat-red{color:#9f1710;font-weight:700;}
.site-header .mega-stat-icon{width:15px;height:15px;border:1.5px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;font:800 9px/1 Inter,sans-serif;}
.site-header .mega-stat-sep{color:#9ca3af;font-size:9px;}

.site-header .mega-menu-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));min-height:420px;}
.site-header .mega-cats{
  grid-column:span 4 / span 4;
  border:0!important;
  border-right:1px solid #f3f4f6!important;
  padding:16px!important;
  background:rgba(249,250,251,.7);
}
.site-header .mega-cats-label{margin:2px 10px 12px;color:#9ca3af;font:800 10px/1 Montserrat,sans-serif;letter-spacing:.13em;text-transform:uppercase;}
.site-header .mega-cat{
  position:relative;
  display:flex!important;
  align-items:flex-start;
  gap:12px;
  width:100%;
  min-height:0;
  margin:0 0 8px;
  padding:14px!important;
  border:1px solid transparent!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#374151!important;
  text-align:left;
  box-shadow:none;
  transition:all .2s ease;
}
.site-header .mega-cat:hover{background:rgba(255,255,255,.6)!important;color:#0d0d0d!important;transform:none;}
.site-header .mega-cat.active{background:#fff!important;border-color:rgba(9,155,214,.20)!important;color:#0d0d0d!important;box-shadow:0 4px 6px -1px rgba(15,23,42,.10),0 2px 4px -2px rgba(15,23,42,.10);outline:1px solid rgba(9,155,214,.10);}
.site-header .mega-cat-accent{position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 4px 4px 0;background:transparent;transition:background .2s ease;}
.site-header .mega-cat.active .mega-cat-accent{background:var(--blue);}
.site-header .mega-cat-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto;background:#f3f4f6;color:#647181;transition:background .2s ease,color .2s ease,box-shadow .2s ease;}
.site-header .mega-cat-icon svg,.site-header .mega-panel-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.site-header .mega-cat.active .mega-cat-icon{background:var(--blue);color:#fff;box-shadow:0 5px 10px rgba(9,155,214,.18);}
.site-header .mega-cat-copy{display:block;min-width:0;flex:1 1 auto;padding-top:1px;}
.site-header .mega-cat-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font:700 14px/1.25 Montserrat,sans-serif;letter-spacing:-.01em;}
.site-header .mega-cat.active .mega-cat-copy strong{color:var(--blue);}
.site-header .mega-cat-copy small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7d8795;font:400 11px/1.3 Inter,sans-serif;}
.site-header .mega-cat-arrow{margin-left:auto;align-self:center;flex:0 0 auto;color:#aab2bc;transition:color .2s ease,transform .2s ease;}
.site-header .mega-cat.active .mega-cat-arrow,.site-header .mega-cat:hover .mega-cat-arrow{color:var(--blue);transform:translateX(2px);}

.site-header .mega-panels{grid-column:span 8 / span 8;position:relative;min-width:0;padding:24px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;}
.site-header .mega-panel{
  display:none!important;
  min-height:372px;
  padding:0;
  animation:ddMegaPanelIn .14s ease both;
}
.site-header .mega-panel.active{display:flex!important;flex-direction:column;}
@keyframes ddMegaPanelIn{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}
.site-header .mega-panel-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;}
.site-header .mega-panel-heading{display:grid;grid-template-columns:50px minmax(0,1fr);gap:16px;align-items:center;min-width:0;}
.site-header .mega-panel-icon{width:50px;height:50px;border-radius:12px;background:#edf7fb;color:var(--blue);display:grid;place-items:center;}
.site-header .mega-panel-title-row{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;}
.site-header .mega-panel-title-row h3{margin:0;color:#10151b;font:900 20px/1.15 Montserrat,sans-serif;letter-spacing:-.025em;}
.site-header .mega-panel-title-row span{color:#7f8997;font:400 11px/1.2 Inter,sans-serif;}
.site-header .mega-panel-heading p{margin:7px 0 0;color:#697484;font:400 12px/1.4 Inter,sans-serif;}
.site-header .mega-explore{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:10px 14px;border-radius:9px;background:#edf7fb;color:var(--blue);font:800 12px/1 Montserrat,sans-serif;transition:background .14s ease,transform .14s ease;}
.site-header .mega-explore:hover{background:#dff2fa;transform:translateX(1px);}
.site-header .mega-panel-rule{height:1px;background:#f3f4f6;margin:14px 0 12px;}
.site-header .mega-services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;}
.site-header .mega-service-link{
  min-height:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px;
  border:1px solid transparent;
  border-radius:12px;
  color:#1f2937;
  text-align:left;
  transition:all .15s ease;
}
.site-header .mega-service-link:hover{background:#fafafa;border-color:#e5e7eb;color:var(--blue);box-shadow:0 1px 2px rgba(15,23,42,.06);transform:none;}
.site-header .mega-service-check{width:16px;height:16px;display:grid;place-items:center;flex:0 0 auto;color:#0aba7a;margin-top:1px;}
.site-header .mega-service-title{font:600 12px/1.35 Inter,Arial,sans-serif;color:#1f2937;transition:color .15s ease;min-width:0;}
.site-header .mega-service-link:hover .mega-service-title{color:var(--blue);}
.site-header .mega-service-badge{margin-left:auto;flex:0 0 auto;padding:2px 6px;border-radius:4px;background:rgba(9,155,214,.10);color:var(--blue);font:700 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-transform:uppercase;white-space:nowrap;}
.site-header .mega-service-badge.bg-amber-100{background:#fef3c7;color:#92400e;}
.site-header .mega-service-badge.bg-emergency-red\/10{background:rgba(159,23,16,.10);color:#9f1710;}

.site-header .mega-trust-strip{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px;border:1px solid #f3f4f6;border-top-color:#f3f4f6;border-radius:12px;background:rgba(250,250,250,.7);}
.site-header .mega-trust-copy{display:flex;align-items:center;gap:9px;min-width:0;}
.site-header .mega-trust-badge,.site-header .mega-trust-shield{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font:800 11px/1 Inter,sans-serif;}
.site-header .mega-trust-badge{background:#e7f8ef;color:#118b5c;}
.site-header .mega-trust-shield{background:#e8f6fc;color:var(--blue);}
.site-header .mega-trust-copy strong{display:block;color:#1e2934;font:800 12px/1.3 Montserrat,sans-serif;}
.site-header .mega-trust-copy small{display:block;margin-top:2px;color:#8a94a1;font:400 10px/1.3 Inter,sans-serif;}
.site-header .mega-dispatch{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:8px 16px;border-radius:8px;background:#9f1710;color:#fff!important;font:700 12px/1 Montserrat,sans-serif;box-shadow:0 1px 3px rgba(15,23,42,.12);transition:background .15s ease;}
.site-header .mega-dispatch:hover{background:#b91c1c;transform:none;}

@media(max-width:1180px){
  .site-header .mega-menu{width:calc(100vw - 20px);}
  .site-header .mega-menu-body{grid-template-columns:290px minmax(0,1fr);}
  .site-header .mega-summary{padding:0 22px;}
  .site-header .mega-summary-title{font-size:12px;}
  .site-header .mega-summary-stats{gap:13px;font-size:10px;}
  .site-header .mega-panel{padding:24px 24px 20px;}
  .site-header .mega-services-grid{column-gap:24px;}
}

@media(max-width:900px){
  .site-header .mega-wrap{position:relative!important;}
  .site-header .mega-trigger{width:100%;justify-content:space-between;padding:13px 0!important;}
  .site-header .mega-menu,
  .admin-bar .site-header .mega-menu{
    position:static;
    top:auto;
    left:auto;
    width:100%;
    min-height:0;
    max-height:0;
    border:0;
    border-radius:12px;
    box-shadow:none;
    transform:none;
    overflow:hidden;
    opacity:1;
    visibility:visible;
    transition:max-height .22s ease,margin .22s ease;
  }
  .site-header .mega-wrap.open .mega-menu{max-height:1400px;margin:4px 0 12px;transform:none;}
  .site-header .mega-summary{display:none;}
  .site-header .mega-menu-body{display:block;min-height:0;}
  .site-header .mega-cats{border-right:0!important;padding:10px!important;background:#f8fafb;}
  .site-header .mega-cats-label{margin:4px 6px 10px;}
  .site-header .mega-cat{min-height:58px;margin-bottom:4px;grid-template-columns:38px minmax(0,1fr) 14px;padding:8px 9px!important;}
  .site-header .mega-cat-icon{width:36px;height:36px;}
  .site-header .mega-cat-copy small{display:none;}
  .site-header .mega-panels{border-top:1px solid #edf0f2;}
  .site-header .mega-panel{min-height:0;padding:18px 14px 16px;}
  .site-header .mega-panel-header{align-items:flex-start;}
  .site-header .mega-panel-heading{grid-template-columns:42px minmax(0,1fr);gap:11px;}
  .site-header .mega-panel-icon{width:42px;height:42px;}
  .site-header .mega-panel-title-row h3{font-size:16px;}
  .site-header .mega-panel-title-row span,.site-header .mega-panel-heading p{font-size:10px;}
  .site-header .mega-explore{display:none;}
  .site-header .mega-services-grid{grid-template-columns:1fr;row-gap:0;}
  .site-header .mega-service-link{min-height:43px;padding:5px 4px;}
  .site-header .mega-trust-strip{margin-top:14px;align-items:flex-start;flex-direction:column;}
  .site-header .mega-dispatch{width:100%;justify-content:center;}
}


/* ==========================================================
   Responsive header actions + mobile services accordion v1.7
   ========================================================== */
.site-header .responsive-header-actions{
  display:none;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-left:auto;
  flex:0 0 auto;
}
.site-header .responsive-call,
.site-header .responsive-book{
  min-height:40px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  font:800 12px/1 Montserrat,sans-serif;
  transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.site-header .responsive-call{
  gap:7px;
  padding:0 14px;
  color:#fff;
  background:#ad1d17;
  border:1px solid #ad1d17;
  box-shadow:0 4px 10px rgba(173,29,23,.16);
}
.site-header .responsive-call:hover,
.site-header .responsive-call:focus-visible{
  color:#fff;
  background:#931812;
  border-color:#931812;
  transform:translateY(-1px);
}
.site-header .responsive-call-icon{font-size:14px;line-height:1;}
.site-header .responsive-book{
  padding:0 15px;
  color:#fff;
  background:var(--blue);
  border:1px solid var(--blue);
  box-shadow:0 4px 10px rgba(9,155,214,.18);
}
.site-header .responsive-book:hover,
.site-header .responsive-book:focus-visible{
  background:var(--blue-dark);
  border-color:var(--blue-dark);
  transform:translateY(-1px);
}
.site-header .mobile-toggle-lines{
  width:18px;
  height:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.site-header .mobile-toggle-lines span{
  display:block;
  width:100%;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transform-origin:center;
  transition:transform .16s ease,opacity .16s ease;
}
.site-header.mobile-open .mobile-toggle-lines span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.site-header.mobile-open .mobile-toggle-lines span:nth-child(2){opacity:0;}
.site-header.mobile-open .mobile-toggle-lines span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.site-header .mega-mobile-services{display:none;}

@media (max-width:900px){
  .site-header{
    height:69px;
    border-top:0;
  }
  .site-header .header-inner{
    width:min(100% - 28px,1280px);
    height:68px;
    display:flex;
    align-items:center;
    gap:12px;
  }
  .site-header .site-branding{
    flex:1 1 auto;
    min-width:0;
  }
  .site-header .site-branding .custom-logo{
    max-width:180px;
    max-height:38px;
  }
  .site-header .responsive-header-actions{
    display:flex;
  }
  .site-header .main-nav,
  .site-header .header-actions{
    display:none;
  }
  .site-header.mobile-open .main-nav{
    display:block;
    position:absolute;
    top:68px;
    left:0;
    right:0;
    width:100%;
    max-height:calc(100dvh - 68px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:8px 18px 22px;
    background:#fff;
    border-top:1px solid #edf0f3;
    box-shadow:0 18px 38px rgba(13,24,36,.12);
  }
  .site-header.mobile-open .primary-menu{
    width:min(100%,760px);
    height:auto;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .site-header.mobile-open .primary-menu>li{
    display:block;
    width:100%;
    border-bottom:1px solid #edf0f3;
  }
  .site-header.mobile-open .primary-menu>li>a.nav-link{
    min-height:52px;
    width:100%;
    padding:0 34px 0 4px;
    display:flex;
    align-items:center;
    color:#17212c;
    font:750 15px/1.25 Inter,Arial,sans-serif;
  }
  .site-header.mobile-open .primary-menu>.menu-item-has-children>a.nav-link::after{
    right:8px;
    width:8px;
    height:8px;
    transition:transform .16s ease;
  }
  .site-header.mobile-open .primary-menu>.mega-wrap.open>a.nav-link::after{
    transform:rotate(225deg);
    margin-top:0;
  }
  .site-header.mobile-open .primary-menu>.menu-item-interactive>a.nav-link{
    max-width:none;
    padding-left:4px;
  }
  .site-header.mobile-open .primary-menu>.menu-item-interactive>a.nav-link::before{display:none;}

  /* Turn desktop mega menu into a native vertical accordion. */
  .site-header .mega-wrap{position:relative!important;}
  .site-header .mega-trigger{width:100%;justify-content:flex-start!important;}
  .site-header .mega-trigger-chevron{display:none;}
  .site-header .mega-menu,
  .admin-bar .site-header .mega-menu{
    position:static;
    top:auto;
    left:auto;
    width:100%;
    min-height:0;
    max-height:0;
    margin:0;
    padding:0;
    overflow:hidden;
    opacity:1;
    visibility:visible;
    pointer-events:none;
    transform:none;
    border:0;
    border-radius:0;
    background:#fafbfc;
    box-shadow:none;
    transition:max-height .24s ease;
  }
  .site-header .mega-wrap.open .mega-menu{
    max-height:3600px;
    margin:0 0 10px;
    pointer-events:auto;
    transform:none;
  }
  .site-header .mega-summary,
  .site-header .mega-panels{
    display:none!important;
  }
  .site-header .mega-menu-body{
    display:block;
    min-height:0;
  }
  .site-header .mega-cats{
    width:100%;
    padding:8px 0 4px!important;
    border:0!important;
    background:#fafbfc;
  }
  .site-header .mega-cats-label{
    margin:8px 10px 10px;
    color:#8a95a2;
    font-size:10px;
  }
  .site-header .mega-cat{
    min-height:58px;
    margin:0;
    padding:8px 10px!important;
    grid-template-columns:40px minmax(0,1fr) 18px;
    gap:10px;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    touch-action:manipulation;
  }
  .site-header .mega-cat+.mega-mobile-services{border-top:0;}
  .site-header .mega-cat-icon{
    width:40px;
    height:40px;
    border-radius:9px;
  }
  .site-header .mega-cat-copy strong{
    font-size:14px;
    white-space:normal;
  }
  .site-header .mega-cat-copy small{
    display:none;
  }
  .site-header .mega-cat-arrow{
    justify-self:end;
    font-size:22px;
    transform:rotate(90deg);
    transition:transform .16s ease,color .16s ease;
  }
  .site-header .mega-cat.mobile-open{
    color:var(--blue)!important;
    background:#f1f8fb!important;
  }
  .site-header .mega-cat.mobile-open .mega-cat-icon{
    background:var(--blue);
    color:#fff;
  }
  .site-header .mega-cat.mobile-open .mega-cat-arrow{
    color:var(--blue);
    transform:rotate(-90deg);
  }
  .site-header .mega-cat-accent{display:none;}
  .site-header .mega-mobile-services{
    display:block;
    max-height:0;
    overflow:hidden;
    margin:0 8px;
    padding:0 0 0 42px;
    opacity:0;
    border-left:1px solid #dfe8ed;
    transition:max-height .22s ease,opacity .16s ease,padding .22s ease;
  }
  .site-header .mega-mobile-services.open{
    max-height:1700px;
    opacity:1;
    padding-top:4px;
    padding-bottom:10px;
  }
  .site-header .mega-mobile-explore,
  .site-header .mega-mobile-service-link{
    min-height:46px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:9px 10px;
    border-radius:8px;
    color:#33404d;
    font:650 13px/1.35 Inter,Arial,sans-serif;
    touch-action:manipulation;
  }
  .site-header .mega-mobile-explore{
    color:var(--blue);
    font-weight:800;
  }
  .site-header .mega-mobile-service-link:hover,
  .site-header .mega-mobile-service-link:focus-visible,
  .site-header .mega-mobile-explore:hover,
  .site-header .mega-mobile-explore:focus-visible{
    background:#fff;
    color:var(--blue);
  }
  .site-header .mega-mobile-check{
    width:17px;
    height:17px;
    flex:0 0 17px;
    display:grid;
    place-items:center;
    border:1.5px solid #0aba7a;
    border-radius:50%;
    color:#0aba7a;
    font:800 9px/1 Inter,sans-serif;
  }
}

/* Tablet: show both high-intent actions beside the menu button. */
@media (min-width:601px) and (max-width:900px){
  .site-header .responsive-call{min-width:108px;}
  .site-header .responsive-book{min-width:132px;}
}

/* Mobile: keep the red call action prominent; hide Schedule Service. */
@media (max-width:600px){
  .site-header .header-inner{
    width:calc(100% - 20px);
    gap:7px;
  }
  .site-header .site-branding .custom-logo{
    max-width:150px;
    max-height:34px;
  }
  .site-header .responsive-book{display:none;}
  .site-header .responsive-call{
    min-width:96px;
    min-height:40px;
    padding:0 11px;
    border-radius:9px;
    font-size:11px;
  }
  .site-header .responsive-call-icon{font-size:13px;}
  .site-header.mobile-open .main-nav{
    padding-left:12px;
    padding-right:12px;
  }
  .site-header .mega-mobile-services{
    margin-right:0;
    padding-left:30px;
  }
}

@media (max-width:390px){
  .site-header .site-branding .custom-logo{max-width:132px;}
  .site-header .responsive-call{min-width:88px;padding:0 9px;font-size:10px;}
  .site-header .responsive-call-icon{display:none;}
}

@media (max-width:900px){
  /* Desktop's initially-selected category must not look expanded on compact nav. */
  .site-header .mega-cat.active:not(.mobile-open){
    background:transparent!important;
    border-color:transparent!important;
    color:#1a2430!important;
    box-shadow:none!important;
  }
  .site-header .mega-cat.active:not(.mobile-open) .mega-cat-icon{
    background:#f1f3f5;
    color:#647181;
    box-shadow:none;
  }
  .site-header .mega-cat.active:not(.mobile-open) .mega-cat-arrow{
    color:#aab2bc;
    transform:rotate(90deg);
  }
}


/* ==========================================================
   v1.8.0 — RESPONSIVE NAVIGATION BOTTOM CONVERSION RAIL
   Keeps emergency + booking actions pinned to the bottom of
   the tablet/mobile hamburger panel while menu content scrolls.
   ========================================================== */
.site-header .mobile-nav-ctas{
  display:none;
}

@keyframes ddEmergencyPulse{
  0%,100%{
    transform:translateZ(0) scale(1);
    box-shadow:0 6px 16px rgba(173,29,23,.22),0 0 0 0 rgba(173,29,23,.22);
  }
  50%{
    transform:translateZ(0) scale(1.012);
    box-shadow:0 8px 20px rgba(173,29,23,.26),0 0 0 7px rgba(173,29,23,0);
  }
}

@media (max-width:900px){

  .site-header.mobile-open .main-nav{
    display:block;
    position:absolute;
    top:68px;
    left:0;
    right:0;
    width:100%;
    height:calc(100dvh - 68px);
    max-height:calc(100dvh - 68px);
    box-sizing:border-box;
    overflow:hidden;
    overscroll-behavior:contain;
    padding:8px 18px 154px;
    background:#fff;
    border-top:1px solid #edf0f3;
    box-shadow:0 18px 38px rgba(13,24,36,.12);
  }

  .admin-bar .site-header.mobile-open .main-nav{
    height:calc(100dvh - 100px);
    max-height:calc(100dvh - 100px);
  }

  .site-header.mobile-open .primary-menu{
    width:min(100%,760px);
    height:100%;
    max-height:100%;
    margin:0 auto;
    padding:0 2px 10px;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    -webkit-overflow-scrolling:touch;
  }

  .site-header.mobile-open .mobile-nav-ctas{
    position:absolute;
    z-index:8;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    padding:12px max(18px,calc((100vw - 760px)/2 + 18px)) calc(12px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,#fff 18%,#fff 100%);
    border-top:1px solid #e7ebef;
    box-shadow:0 -10px 24px rgba(17,31,43,.08);
  }

  .site-header .mobile-nav-emergency,
  .site-header .mobile-nav-book{
    width:100%;
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:10px 16px;
    border-radius:11px;
    font:800 13px/1.15 Montserrat,Arial,sans-serif;
    letter-spacing:-.01em;
    text-align:center;
    touch-action:manipulation;
    transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease;
  }

  .site-header .mobile-nav-emergency{
    color:#fff!important;
    background:#ad1d17;
    border:1px solid #ad1d17;
    animation:ddEmergencyPulse 2.15s ease-in-out infinite;
  }

  .site-header .mobile-nav-emergency:hover,
  .site-header .mobile-nav-emergency:focus-visible{
    color:#fff!important;
    background:#941812;
    border-color:#941812;
    animation-play-state:paused;
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(173,29,23,.25);
  }

  .site-header .mobile-nav-emergency-icon{
    flex:0 0 auto;
    font-size:17px;
    line-height:1;
  }

  .site-header .mobile-nav-emergency-copy{
    display:flex;
    align-items:baseline;
    justify-content:center;
    flex-wrap:wrap;
    gap:4px;
  }

  .site-header .mobile-nav-emergency-copy strong{
    color:inherit;
    font-weight:900;
  }

  .site-header .mobile-nav-book{
    appearance:none;
    -webkit-appearance:none;
    color:#fff;
    background:var(--blue);
    border:1px solid var(--blue);
    box-shadow:0 6px 15px rgba(9,155,214,.18);
    cursor:pointer;
  }

  .site-header .mobile-nav-book:hover,
  .site-header .mobile-nav-book:focus-visible{
    background:var(--blue-dark);
    border-color:var(--blue-dark);
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(9,155,214,.22);
  }
}

@media (max-width:600px){
  .site-header.mobile-open .main-nav{
    padding-left:12px;
    padding-right:12px;
    padding-bottom:150px;
  }

  .site-header.mobile-open .mobile-nav-ctas{
    gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  }

  .site-header .mobile-nav-emergency,
  .site-header .mobile-nav-book{
    min-height:50px;
    padding:9px 12px;
    border-radius:10px;
    font-size:12px;
  }

  .site-header .mobile-nav-emergency-icon{
    font-size:15px;
  }
}

@media (prefers-reduced-motion:reduce){
  .site-header .mobile-nav-emergency{
    animation:none!important;
  }
}

/* ==========================================================
   v1.8.1 — COMPACT NAV STRUCTURAL FIXES
   Full-viewport scrolling overlay, default Services accordion,
   and explicit accordion chevrons for mobile/tablet.
   ========================================================== */
@media (max-width:900px){
  html,
  body{
    max-width:100%;
  }

  /* Keep the physical header controls above the fixed menu sheet. */
  .site-header .header-inner{
    position:relative;
    z-index:1102;
    background:rgba(255,255,255,.98);
  }

  /*
   * The whole navigation is the scroll container. This removes the old
   * nested-scroll trap and ensures the first menu item can always be reached.
   */
  .site-header .main-nav,
  .site-header.mobile-open .main-nav,
  .admin-bar .site-header.mobile-open .main-nav{
    display:block!important;
    position:fixed!important;
    z-index:1100;
    top:0!important;
    left:0!important;
    right:auto!important;
    width:100%!important;
    height:100dvh!important;
    max-height:none!important;
    margin:0!important;
    padding:calc(76px + 12px) 18px calc(158px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    scrollbar-gutter:stable;
    background:#fff!important;
    border:0!important;
    border-top:1px solid #edf0f3!important;
    box-shadow:0 18px 42px rgba(13,24,36,.13)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
  }

  .site-header.mobile-open .main-nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:opacity .18s ease,transform .18s ease,visibility 0s;
  }

  /* The navigation itself no longer becomes a second scrolling box. */
  .site-header.mobile-open .primary-menu,
  .site-header .primary-menu{
    width:min(100%,760px)!important;
    height:auto!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:0 2px 18px!important;
    overflow:visible!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
  }

  .site-header .primary-menu>li{
    width:100%;
    flex:0 0 auto;
  }

  .site-header .primary-menu>li>a.nav-link{
    width:100%;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:13px 4px!important;
  }

  /* Top-level Our Services accordion trigger. */
  .site-header .mega-wrap{
    position:relative!important;
    order:-1; /* Our Services stays immediately accessible at the top. */
  }

  .site-header .mega-trigger{
    width:100%!important;
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:14px 4px!important;
    font-weight:800!important;
  }

  .site-header .mega-trigger-chevron{
    display:inline-block!important;
    flex:0 0 10px;
    width:10px!important;
    height:10px!important;
    margin:0 6px 0 auto;
    border-right:2px solid #75808d!important;
    border-bottom:2px solid #75808d!important;
    transform:translateY(-2px) rotate(45deg)!important;
    transition:transform .18s ease,border-color .18s ease!important;
  }

  .site-header .mega-wrap.open>.mega-trigger .mega-trigger-chevron{
    border-color:var(--blue)!important;
    transform:translateY(2px) rotate(225deg)!important;
  }

  /* Compact Services block: category list only; desktop panel is suppressed. */
  .site-header .mega-menu,
  .admin-bar .site-header .mega-menu{
    display:block!important;
    position:static!important;
    width:100%!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    transform:none!important;
    background:#fafbfc!important;
    border:0!important;
    border-radius:12px!important;
    box-shadow:none!important;
    transition:max-height .24s ease,margin .24s ease!important;
  }

  .site-header .mega-wrap.open .mega-menu{
    max-height:5000px!important;
    margin:0 0 12px!important;
    pointer-events:auto!important;
  }

  .site-header .mega-summary,
  .site-header .mega-panels{
    display:none!important;
  }

  .site-header .mega-menu-body{
    display:block!important;
    min-height:0!important;
  }

  .site-header .mega-cats{
    display:block!important;
    width:100%!important;
    padding:10px 8px 8px!important;
    border:0!important;
    background:#fafbfc!important;
  }

  .site-header .mega-cats-label{
    margin:5px 8px 10px!important;
    color:#8a95a2!important;
    font:800 10px/1 Montserrat,sans-serif!important;
    letter-spacing:.12em!important;
  }

  /* Each category is a second-level accordion trigger. */
  .site-header .mega-cat{
    width:100%!important;
    min-height:58px!important;
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) 28px!important;
    align-items:center!important;
    gap:10px!important;
    margin:0!important;
    padding:9px 10px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    touch-action:manipulation;
  }

  .site-header .mega-cat:focus-visible{
    outline:2px solid rgba(9,155,214,.45)!important;
    outline-offset:2px!important;
  }

  .site-header .mega-cat-icon{
    width:40px!important;
    height:40px!important;
    border-radius:9px!important;
  }

  .site-header .mega-cat-copy strong{
    white-space:normal!important;
    font-size:14px!important;
    line-height:1.3!important;
  }

  .site-header .mega-cat-copy small{
    display:none!important;
  }

  /* Replace the ambiguous right-arrow treatment with an obvious chevron. */
  .site-header .mega-cat-arrow{
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    justify-self:end!important;
    overflow:hidden;
    color:transparent!important;
    font-size:0!important;
    transform:none!important;
  }

  .site-header .mega-cat-arrow::before{
    content:"";
    width:9px;
    height:9px;
    border-right:2px solid #8d97a4;
    border-bottom:2px solid #8d97a4;
    transform:translateY(-2px) rotate(45deg);
    transition:transform .18s ease,border-color .18s ease;
  }

  .site-header .mega-cat.mobile-open{
    color:var(--blue)!important;
    background:#f1f8fb!important;
  }

  .site-header .mega-cat.mobile-open .mega-cat-icon{
    background:var(--blue)!important;
    color:#fff!important;
  }

  .site-header .mega-cat.mobile-open .mega-cat-arrow::before{
    border-color:var(--blue)!important;
    transform:translateY(2px) rotate(225deg);
  }

  .site-header .mega-cat-accent{
    display:none!important;
  }

  .site-header .mega-mobile-services{
    display:block!important;
    max-height:0!important;
    overflow:hidden!important;
    margin:0 8px!important;
    padding:0 0 0 42px!important;
    opacity:0!important;
    border-left:1px solid #dfe8ed!important;
    transition:max-height .22s ease,opacity .16s ease,padding .22s ease!important;
  }

  .site-header .mega-mobile-services.open{
    max-height:1800px!important;
    opacity:1!important;
    padding-top:4px!important;
    padding-bottom:10px!important;
  }

  .site-header .mega-mobile-explore,
  .site-header .mega-mobile-service-link{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    padding:10px!important;
    border-radius:8px!important;
    font:650 13px/1.35 Inter,Arial,sans-serif!important;
    touch-action:manipulation;
  }

  /* Keep conversion rail viewport-fixed while the menu itself scrolls. */
  .site-header.mobile-open .mobile-nav-ctas{
    position:fixed!important;
    z-index:1103!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    display:grid!important;
    width:100%!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:12px max(18px,calc((100vw - 760px)/2 + 18px)) calc(12px + env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,#fff 18%,#fff 100%)!important;
    border-top:1px solid #e7ebef!important;
    box-shadow:0 -10px 24px rgba(17,31,43,.08)!important;
  }
}

@media (max-width:600px){
  .site-header .main-nav,
  .site-header.mobile-open .main-nav{
    padding-left:12px!important;
    padding-right:12px!important;
    padding-bottom:calc(152px + env(safe-area-inset-bottom))!important;
  }

  .site-header .mega-mobile-services{
    margin-right:0!important;
    padding-left:30px!important;
  }

  .site-header.mobile-open .mobile-nav-ctas{
    gap:8px!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .site-header .main-nav,
  .site-header .mega-menu,
  .site-header .mega-trigger-chevron,
  .site-header .mega-cat-arrow::before,
  .site-header .mega-mobile-services{
    transition:none!important;
  }
}


/* ==========================================================
   v1.8.2 — SIMPLIFIED COMPACT NAV FLOW
   Natural full-height scrolling, visible close control, and
   conversion CTAs at the true end of the menu content.
   ========================================================== */
.site-header .mobile-nav-topbar{
  display:none;
}

@media (max-width:900px){
  /* Do not lock page scrolling. The overlay itself is a normal scroll surface. */

  .site-header .main-nav,
  .admin-bar .site-header .main-nav{
    display:block!important;
    position:fixed!important;
    z-index:1200!important;
    top:0!important;
    left:0!important;
    right:auto!important;
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0 18px calc(24px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:auto!important;
    scrollbar-gutter:auto!important;
    background:#fff!important;
    border:0!important;
    box-shadow:0 18px 42px rgba(13,24,36,.13)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
  }

  .site-header.mobile-open .main-nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:opacity .18s ease,transform .18s ease,visibility 0s;
  }

  /* Sticky utility row keeps the exit control available while menu content scrolls. */
  .site-header .mobile-nav-topbar{
    position:sticky;
    z-index:12;
    top:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:min(100%,760px);
    min-height:68px;
    margin:0 auto;
    padding:10px 2px;
    background:rgba(255,255,255,.98);
    border-bottom:1px solid #edf0f3;
    backdrop-filter:blur(8px);
  }

  .site-header .mobile-nav-title{
    color:#808a96;
    font:800 10px/1 Montserrat,Arial,sans-serif;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .site-header .mobile-nav-close{
    flex:0 0 44px;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    margin-left:auto;
    padding:0;
    border:1px solid #dfe4e8;
    border-radius:11px;
    background:#fff;
    color:#18222d;
    box-shadow:0 3px 9px rgba(18,31,43,.06);
    font:400 32px/1 Inter,Arial,sans-serif;
    touch-action:manipulation;
  }

  .site-header .mobile-nav-close:hover,
  .site-header .mobile-nav-close:focus-visible{
    border-color:#b9c4cc;
    background:#f8fafb;
    outline:none;
  }

  .site-header .primary-menu,
  .site-header.mobile-open .primary-menu{
    width:min(100%,760px)!important;
    height:auto!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:8px 2px 18px!important;
    overflow:visible!important;
  }

  /* Keep Services first and expanded by JS, but let everything remain in normal flow. */
  .site-header .mega-wrap{
    order:-1;
  }

  .site-header .mega-menu,
  .admin-bar .site-header .mega-menu{
    position:static!important;
  }

  /* Conversion actions now appear only after the user reaches the end of menu content. */
  .site-header .mobile-nav-ctas,
  .site-header.mobile-open .mobile-nav-ctas{
    position:static!important;
    z-index:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    display:grid!important;
    width:min(100%,760px)!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:8px auto 0!important;
    padding:18px 2px 0!important;
    background:transparent!important;
    border-top:1px solid #e7ebef!important;
    box-shadow:none!important;
  }

  .site-header .mobile-nav-emergency,
  .site-header .mobile-nav-book{
    min-height:54px!important;
  }
}

@media (max-width:600px){
  .site-header .main-nav,
  .site-header.mobile-open .main-nav{
    padding:0 12px calc(20px + env(safe-area-inset-bottom))!important;
  }

  .site-header .mobile-nav-topbar{
    min-height:64px;
  }

  .site-header .mobile-nav-close{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

  .site-header .mobile-nav-ctas,
  .site-header.mobile-open .mobile-nav-ctas{
    padding-top:16px!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .site-header .main-nav{
    transition:none!important;
  }
}


/* ==========================================================
   v1.9.0 — INLINE LUCIDE ICON SYSTEM
   Crisp currentColor SVGs across desktop + responsive nav.
   Preserves v1.8.2 natural mobile/tablet scroll behavior.
   ========================================================== */
.site-header .lucide{
  display:block;
  width:1em;
  height:1em;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Desktop mega-menu vectors */
.site-header .mega-summary-icon,
.site-header .mega-stat-icon,
.site-header .mega-service-check,
.site-header .mega-trust-shield,
.site-header .mega-dispatch-icon,
.site-header .mega-inline-chevron,
.site-header .mega-trigger-chevron,
.site-header .mega-cat-arrow{
  display:inline-grid;
  place-items:center;
}

.site-header .mega-summary-icon .lucide{width:15px;height:15px;}
.site-header .mega-stat-icon .lucide{width:14px;height:14px;}
.site-header .mega-cat-icon .lucide,
.site-header .mega-panel-icon .lucide{width:23px;height:23px;stroke-width:1.9;}
.site-header .mega-service-check{border:0!important;border-radius:0!important;width:17px;height:17px;font-size:17px;}
.site-header .mega-service-check .lucide{width:17px;height:17px;stroke-width:2;}
.site-header .mega-trust-shield{border-radius:8px!important;}
.site-header .mega-trust-shield .lucide{width:16px;height:16px;}
.site-header .mega-dispatch-icon .lucide{width:15px;height:15px;stroke-width:2.2;}
.site-header .mega-inline-chevron{margin-left:2px;}
.site-header .mega-inline-chevron .lucide{width:14px;height:14px;stroke-width:2.1;}

/* Replace CSS-drawn chevrons with the actual Lucide vectors. */
.site-header .mega-trigger-chevron{
  width:16px!important;
  height:16px!important;
  margin-left:5px!important;
  border:0!important;
  transform:none!important;
  transition:none!important;
  color:var(--blue);
}
.site-header .mega-trigger-chevron::before,
.site-header .mega-trigger-chevron::after{content:none!important;display:none!important;}
.site-header .mega-trigger-chevron .lucide{
  width:15px;
  height:15px;
  transition:transform .18s ease;
}
.site-header .mega-wrap.open>.mega-trigger .mega-trigger-chevron{
  transform:none!important;
}
.site-header .mega-wrap.open>.mega-trigger .mega-trigger-chevron .lucide{
  transform:rotate(180deg);
}

.site-header .mega-cat-arrow{
  width:26px!important;
  height:26px!important;
  color:#8d97a4!important;
  font-size:inherit!important;
  overflow:visible!important;
  transform:none!important;
}
.site-header .mega-cat-arrow::before,
.site-header .mega-cat-arrow::after{content:none!important;display:none!important;}
.site-header .mega-cat-arrow .lucide{
  width:17px;
  height:17px;
  transition:transform .18s ease,color .18s ease;
}
.site-header .mega-cat.active .mega-cat-arrow{color:var(--blue)!important;}

/* Header action vectors */
.site-header .responsive-call-icon,
.site-header .mobile-nav-emergency-icon{
  display:grid;
  place-items:center;
  line-height:1;
}
.site-header .responsive-call-icon .lucide{width:15px;height:15px;stroke-width:2.2;}
.site-header .mobile-nav-emergency-icon .lucide{width:18px;height:18px;stroke-width:2.2;}

/* Hamburger is now Lucide Menu -> Lucide X, no CSS bars. */
.site-header .mobile-toggle-lines{display:none!important;}
.site-header .mobile-toggle-icons{
  position:relative;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
}
.site-header .mobile-toggle-icon{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  transition:opacity .16s ease,transform .16s ease;
}
.site-header .mobile-toggle-icon .lucide{width:23px;height:23px;stroke-width:2;}
.site-header .mobile-toggle-icon--menu{opacity:1;transform:scale(1);}
.site-header .mobile-toggle-icon--x{opacity:0;transform:scale(.84) rotate(-10deg);}
.site-header.mobile-open .mobile-toggle-icon--menu{opacity:0;transform:scale(.84) rotate(10deg);}
.site-header.mobile-open .mobile-toggle-icon--x{opacity:1;transform:scale(1) rotate(0);}

.site-header .mobile-nav-close .lucide{width:22px;height:22px;stroke-width:2;}

@media (max-width:900px){
  /* Preserve the v1.8.2 single, natural scroll surface. */
  .site-header .main-nav,
  .admin-bar .site-header .main-nav{
    position:fixed!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:auto!important;
  }

  .site-header .primary-menu,
  .site-header.mobile-open .primary-menu{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .site-header .mobile-nav-ctas,
  .site-header.mobile-open .mobile-nav-ctas{
    position:static!important;
    inset:auto!important;
    margin:8px auto 0!important;
  }

  /* Mobile top-level Services chevron */
  .site-header .mega-trigger-chevron{
    display:inline-grid!important;
    width:22px!important;
    height:22px!important;
    margin-left:auto!important;
    color:#7d8792!important;
  }
  .site-header .mega-trigger-chevron .lucide{width:19px;height:19px;}
  .site-header .mega-wrap.open>.mega-trigger .mega-trigger-chevron{color:var(--blue)!important;}

  /* Category chevrons rotate down when an accordion section is open. */
  .site-header .mega-cat-arrow{
    width:28px!important;
    height:28px!important;
    justify-self:end!important;
  }
  .site-header .mega-cat-arrow .lucide{width:18px;height:18px;}
  .site-header .mega-cat.mobile-open .mega-cat-arrow{color:var(--blue)!important;}
  .site-header .mega-cat.mobile-open .mega-cat-arrow .lucide{transform:rotate(90deg);}

  /* Mobile service checks use the bare Lucide check. */
  .site-header .mega-mobile-check{
    width:18px!important;
    height:18px!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:0!important;
    color:#0aba7a!important;
  }
  .site-header .mega-mobile-check .lucide{width:16px;height:16px;stroke-width:2.3;}

  .site-header .mobile-nav-close{
    font-size:0!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .site-header .mega-trigger-chevron .lucide,
  .site-header .mega-cat-arrow .lucide,
  .site-header .mobile-toggle-icon{
    transition:none!important;
  }
}

/* ==========================================================
   v1.9.1 — STRICT LUCIDE SVG SIZE / RENDERING OVERRIDES
   Keep this block at the END of style.css so it wins against
   generic theme svg/img/flex sizing rules.
   ========================================================== */

/* Global Lucide reset inside the header. */
.site-header svg.lucide {
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  overflow: visible !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke;
}

/* Header action: Call Now */
.site-header .responsive-call-icon svg.lucide {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
}

/* Primary navigation / Our Services dropdown trigger */
.site-header .mega-trigger-chevron svg.lucide {
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px !important;
}

/* Desktop + responsive sub-service checklist vectors */
.site-header .mega-service-check svg.lucide,
.site-header .mega-mobile-check svg.lucide {
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
}

/* Bottom mobile/tablet emergency action */
.site-header .mobile-nav-emergency-icon svg.lucide {
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
}

/* ==========================================================
   v2.0.0 — SEO SERVICE CATEGORY + SUB-SERVICE TEMPLATES
   ========================================================== */
.service-category-hub,.sub-service-detail{padding-top:78px;background:#fff}.service-category-hero,.sub-service-hero{padding:64px 0 70px;background:linear-gradient(135deg,#fff 0%,#f8fbfd 58%,#eef8fc 100%);border-bottom:1px solid var(--gray-100)}.service-category-hero__grid,.sub-service-hero__grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:54px;align-items:start}.service-breadcrumbs{margin-bottom:24px}.service-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;padding:0;list-style:none;color:var(--gray-500);font-size:11px}.service-breadcrumbs li+li:before{content:'/';margin-right:8px;color:#b1b7be}.service-breadcrumbs a:hover{color:var(--blue)}.service-category-hero__eyebrow,.sub-service-hero__eyebrow,.service-category-directory__eyebrow,.sub-service-editorial__eyebrow,.sub-service-local-cta__eyebrow,.service-category-quote__eyebrow{margin:0 0 12px;color:var(--blue);font:800 10px/1.3 Montserrat,sans-serif;letter-spacing:.12em;text-transform:uppercase}.service-category-hero__title,.sub-service-hero__title{max-width:760px;margin:0 0 18px;font:900 clamp(38px,5.2vw,64px)/1.02 Montserrat,sans-serif;letter-spacing:-.052em;color:#111820}.service-category-hero__description,.sub-service-hero__description{max-width:720px;color:var(--gray-600);font-size:16px}.service-category-trust,.sub-service-hero__signals{display:flex;flex-wrap:wrap;gap:11px 18px;margin:24px 0 28px;padding:0;list-style:none}.service-category-trust li,.sub-service-hero__signals li{display:flex;align-items:center;gap:7px;font:700 12px/1.35 Inter,sans-serif;color:#35414e}.service-category-trust svg,.sub-service-hero__signals svg{width:17px!important;height:17px!important;color:#0aa56d}.service-category-call-strip,.sub-service-call-cta{display:inline-flex;align-items:center;gap:13px;min-height:62px;padding:10px 18px;border-radius:13px;background:linear-gradient(90deg,#101820 0 24%,var(--blue) 24% 100%);color:#fff;box-shadow:0 12px 24px rgba(9,55,82,.15)}.service-category-call-strip__icon,.sub-service-call-cta__icon{width:34px;height:34px;display:grid;place-items:center}.service-category-call-strip svg,.sub-service-call-cta svg{width:19px!important;height:19px!important}.service-category-call-strip__copy,.sub-service-call-cta>span:last-child{display:flex;flex-direction:column}.service-category-call-strip small,.sub-service-call-cta small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;opacity:.82}.service-category-call-strip strong,.sub-service-call-cta strong{margin-top:4px;font:800 15px/1.1 Montserrat,sans-serif}.service-category-quote,.sub-service-quote{padding:28px;background:#fff;border:1px solid #e5e9ed;border-radius:20px;box-shadow:0 18px 48px rgba(23,43,58,.10)}.service-category-quote__header h2,.sub-service-quote__header h2{margin:4px 0 8px;font:900 26px/1.08 Montserrat,sans-serif;letter-spacing:-.03em}.service-category-quote__header>p:last-child,.sub-service-quote__header>span{display:block;margin:0 0 20px;color:var(--gray-500);font-size:12px}.service-quote-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.service-quote-form__field{display:grid;gap:6px}.service-quote-form__field:nth-last-of-type(-n+2){grid-column:1/-1}.service-quote-form__field label{font:800 10px/1.2 Montserrat,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#4f5b67}.service-quote-form__field input,.service-quote-form__field select,.service-quote-form__field textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid #dbe1e6;border-radius:10px;background:#fff;color:#17212b;outline:0;transition:border-color .15s ease,box-shadow .15s ease}.service-quote-form__field textarea{min-height:112px;resize:vertical}.service-quote-form__field input:focus,.service-quote-form__field select:focus,.service-quote-form__field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(9,155,214,.11)}.service-quote-form__submit{grid-column:1/-1;min-height:50px;border:0;border-radius:11px;background:var(--blue);color:#fff;font:800 13px/1 Montserrat,sans-serif;box-shadow:0 8px 18px rgba(9,155,214,.2)}.service-quote-form__submit:hover{background:var(--blue-dark)}.service-category-directory{padding:76px 0;background:#fff}.service-category-directory__header{max-width:720px;margin:0 0 30px}.service-category-directory__header h2,.sub-service-editorial__header h2{margin:0 0 9px;font:900 clamp(29px,4vw,42px)/1.08 Montserrat,sans-serif;letter-spacing:-.035em}.service-category-directory__header>p:last-child{margin:0;color:var(--gray-500)}.service-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-category-card{min-width:0;background:#fff;border:1px solid #e6e9ed;border-radius:16px;box-shadow:0 5px 18px rgba(23,43,58,.045);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.service-category-card:hover{transform:translateY(-2px);border-color:#cbe7f2;box-shadow:0 14px 28px rgba(23,43,58,.08)}.service-category-card.is-popular{border-color:rgba(9,155,214,.35)}.service-category-card__link{display:flex;min-height:100%;flex-direction:column;padding:22px}.service-category-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.service-category-card__check svg{width:21px!important;height:21px!important;color:#0aa56d}.service-category-card__badge{padding:5px 8px;border-radius:999px;background:#e9f7fd;color:#087da9;font:800 8px/1 Montserrat,sans-serif;letter-spacing:.07em;text-transform:uppercase}.service-category-card__title{margin:0 0 10px;font:800 18px/1.2 Montserrat,sans-serif;letter-spacing:-.02em}.service-category-card__excerpt{margin:0 0 18px;color:var(--gray-500);font-size:12px;line-height:1.65}.service-category-card__cta{display:flex;align-items:center;gap:5px;margin-top:auto;color:var(--blue);font:800 11px/1 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.04em}.service-category-card__cta svg{width:14px!important;height:14px!important}.service-category-editorial{padding:0 0 76px}.service-category-editorial__inner{max-width:860px;color:#36414c}.sub-service-content{padding:72px 0;background:#fff}.sub-service-content__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:50px;align-items:start}.sub-service-editorial__body{color:#36414c}.sub-service-editorial__body>*:first-child{margin-top:0}.sub-service-editorial__body h2,.sub-service-editorial__body h3{font-family:Montserrat,sans-serif;letter-spacing:-.025em}.sub-service-assurances{display:grid;gap:14px;position:sticky;top:100px}.sub-service-assurance-card{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:19px;background:#f9fbfc;border:1px solid #e5eaee;border-radius:14px}.sub-service-assurance-card__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:11px;background:#edf8fc;color:var(--blue)}.sub-service-assurance-card__icon svg{width:22px!important;height:22px!important}.sub-service-assurance-card__metric{margin:0 0 2px;color:var(--blue);font:900 11px/1 Montserrat,sans-serif;letter-spacing:.07em;text-transform:uppercase}.sub-service-assurance-card h3{margin:0 0 6px;font:800 14px/1.2 Montserrat,sans-serif}.sub-service-assurance-card__content>p:last-child{margin:0;color:var(--gray-500);font-size:11px;line-height:1.55}.sub-service-local-cta{padding:38px 0;background:#101820;color:#fff}.sub-service-local-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.sub-service-local-cta h2{margin:0;font:900 clamp(25px,4vw,38px)/1.05 Montserrat,sans-serif;letter-spacing:-.035em}.sub-service-local-cta__actions{display:flex;flex-wrap:wrap;gap:10px}.sub-service-local-cta__call,.sub-service-local-cta__book{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border-radius:11px;font:800 12px/1 Montserrat,sans-serif}.sub-service-local-cta__call{background:#fff;color:#111820}.sub-service-local-cta__call svg{width:16px!important;height:16px!important;color:var(--red)}.sub-service-local-cta__book{border:0;background:var(--blue);color:#fff}.service-category-directory__empty{padding:24px;border:1px dashed var(--gray-200);border-radius:14px;color:var(--gray-500);background:#fafbfc}
@media(max-width:900px){.service-category-hub,.sub-service-detail{padding-top:68px}.service-category-hero__grid,.sub-service-hero__grid,.sub-service-content__grid{grid-template-columns:1fr;gap:34px}.service-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sub-service-assurances{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.sub-service-assurance-card{grid-template-columns:1fr}.sub-service-local-cta__inner{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.service-category-hero,.sub-service-hero{padding:42px 0 50px}.service-category-hero__title,.sub-service-hero__title{font-size:38px}.service-category-trust,.sub-service-hero__signals{display:grid;grid-template-columns:1fr}.service-category-call-strip,.sub-service-call-cta{width:100%;background:linear-gradient(90deg,#101820 0 23%,var(--blue) 23% 100%)}.service-category-quote,.sub-service-quote{padding:20px}.service-quote-form,.service-category-grid,.sub-service-assurances{grid-template-columns:1fr}.service-quote-form__field{grid-column:1/-1}.service-category-directory,.sub-service-content{padding:54px 0}.sub-service-local-cta__actions,.sub-service-local-cta__call,.sub-service-local-cta__book{width:100%}}

/* ==========================================================
   v2.1.0 — SEO CATEGORY HUB + SUB-SERVICE DETAIL TEMPLATES
   ========================================================== */
.seo-service-template{padding-top:76px;background:#fff;color:#17202a}.seo-service-template .container{width:min(1180px,calc(100% - 32px));margin-inline:auto}.seo-service-nav{background:#fff;border-bottom:1px solid #e9edf1}.seo-service-nav__inner{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:24px}.seo-breadcrumbs ol{display:flex;align-items:center;gap:8px;list-style:none;margin:0;padding:0;font-size:12px;color:#687482}.seo-breadcrumbs li+li::before{content:'/';margin-right:8px;color:#b5bdc6}.seo-breadcrumbs a:hover{color:var(--blue)}.seo-directory-return{font:800 11px/1.2 Montserrat,sans-serif;letter-spacing:.02em;color:var(--blue)}
.seo-service-hero{padding:58px 0 64px;background:radial-gradient(circle at 85% 15%,rgba(9,155,214,.08),transparent 30%),#fafbfc;border-bottom:1px solid #e9edf1}.seo-service-hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(340px,5fr);gap:44px;align-items:start}.seo-service-hero__primary{min-width:0}.seo-micro-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.seo-micro-tags span,.seo-eyebrow{display:inline-flex;align-items:center;border-radius:999px;background:#eaf7fc;color:#0787bb;padding:7px 10px;font:800 10px/1 Montserrat,sans-serif;letter-spacing:.07em;text-transform:uppercase}.seo-service-hero h1{max-width:760px;margin:0;font:900 clamp(38px,5.1vw,62px)/1.02 Montserrat,sans-serif;letter-spacing:-.05em;color:#111820}.seo-service-hero__lede{max-width:760px;margin:20px 0 0;color:#566271;font-size:17px;line-height:1.72}.seo-quick-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:28px}.seo-quick-spec{min-height:80px;padding:14px;border:1px solid #e3e8ed;border-radius:13px;background:#fff;box-shadow:0 3px 9px rgba(17,31,43,.035)}.seo-quick-spec span{display:block;margin-bottom:6px;color:#8a949f;font:800 9px/1.3 Montserrat,sans-serif;letter-spacing:.07em;text-transform:uppercase}.seo-quick-spec strong{font:800 13px/1.35 Montserrat,sans-serif;color:#1a2530}.seo-service-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.seo-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border:1px solid transparent;border-radius:10px;font:800 13px/1 Montserrat,sans-serif;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.seo-btn:hover{transform:translateY(-1px)}.seo-btn--primary{background:var(--blue);color:#fff;box-shadow:0 7px 18px rgba(9,155,214,.18)}.seo-btn--call{background:#111820;color:#fff}.seo-btn--call svg,.seo-btn--emergency svg{width:16px!important;height:16px!important}
.seo-trust-card,.seo-quick-request{border:1px solid #e0e5ea;border-radius:18px;background:#fff;box-shadow:0 18px 42px rgba(17,31,43,.09);padding:26px}.seo-trust-card__rating{display:flex;align-items:center;gap:16px}.seo-trust-card__rating>div:first-child{display:flex;align-items:baseline}.seo-trust-card__rating strong{font:900 40px/1 Montserrat,sans-serif}.seo-trust-card__rating span{font:700 14px Montserrat,sans-serif;color:#6e7884}.seo-stars,.seo-review-card__stars,.seo-inline-rating span{color:#f4aa00;letter-spacing:.08em}.seo-trust-card__rating p{margin:2px 0 0;color:#7c8792;font-size:11px}.seo-trust-card__rule{height:1px;background:#edf0f2;margin:20px 0}.seo-trust-card h2{font:800 18px/1.3 Montserrat,sans-serif}.seo-trust-card ul,.seo-quick-request__trust ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:11px}.seo-trust-card li,.seo-quick-request__trust li{position:relative;padding-left:24px;color:#4d5b68;font-size:12px}.seo-trust-card li::before,.seo-quick-request__trust li::before{content:'✓';position:absolute;left:0;top:0;color:#0aaa70;font-weight:900}
.seo-quick-request__header h2{margin:8px 0 7px;font:900 23px/1.2 Montserrat,sans-serif}.seo-quick-request__header>p:last-child{margin:0;color:#6b7682;font-size:12px}.seo-quick-request__form{display:grid;gap:12px;margin-top:20px}.seo-form-field{display:grid;gap:6px}.seo-form-field label{font:800 10px/1.2 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#4d5964}.seo-form-field input,.seo-form-field textarea{width:100%;border:1px solid #dfe5ea;border-radius:10px;background:#fff;padding:11px 12px;color:#18222c;outline:none}.seo-form-field input:focus,.seo-form-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(9,155,214,.09)}.seo-quick-request__submit{min-height:48px;border:0;border-radius:10px;background:var(--blue);color:#fff;font:800 13px Montserrat,sans-serif;box-shadow:0 7px 18px rgba(9,155,214,.18)}.seo-quick-request__trust{border-top:1px solid #edf0f2;margin-top:3px;padding-top:15px}.seo-inline-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.seo-inline-rating strong{font:900 14px Montserrat,sans-serif}.seo-inline-rating small{color:#7d8792;font-size:10px}
.seo-section{padding:76px 0}.seo-section:nth-of-type(even){background:#fafbfc}.seo-section-heading{max-width:780px;margin-bottom:32px}.seo-section-heading--center{text-align:center;margin-inline:auto}.seo-section-heading h2{margin:12px 0 0;font:900 clamp(30px,4vw,44px)/1.08 Montserrat,sans-serif;letter-spacing:-.035em;color:#141c24}.seo-local-impact__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:34px;align-items:start}.seo-editorial-content{color:#4f5d6a;font-size:15px;line-height:1.75}.seo-editorial-content>*:first-child{margin-top:0}.seo-editorial-content h2,.seo-editorial-content h3{font-family:Montserrat,sans-serif;color:#17202a}.seo-local-impact__note{margin-top:24px;padding:22px;border:1px solid #dce8ee;border-radius:14px;background:#f5fbfd}.seo-local-impact__note h3{margin:0 0 8px}.seo-warning-card{padding:24px;border:1px solid #efd9d7;border-radius:16px;background:#fffafa;box-shadow:0 8px 25px rgba(92,31,26,.05)}.seo-warning-card__eyebrow{margin:0 0 8px;color:#a22720;font:800 10px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em}.seo-warning-card h3{margin:0;font:800 19px/1.3 Montserrat,sans-serif}.seo-warning-card ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}.seo-warning-card li{position:relative;padding-left:23px;color:#5c646d;font-size:13px}.seo-warning-card li::before{content:'✓';position:absolute;left:0;color:#a22720;font-weight:900}
.seo-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.seo-feature-card{padding:24px;border:1px solid #e3e7eb;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(20,31,42,.04)}.seo-feature-card__number{color:rgba(9,155,214,.26);font:900 30px/1 Montserrat,sans-serif}.seo-feature-card h3{margin:17px 0 9px;font:800 16px/1.3 Montserrat,sans-serif}.seo-feature-card p{margin:0;color:#64707c;font-size:12px;line-height:1.7}.seo-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0}.seo-process-step{position:relative;padding:22px 22px 22px 0}.seo-process-step:not(:last-child)::after{content:'';position:absolute;top:38px;right:14px;width:calc(100% - 58px);height:1px;background:#dfe5e9;transform:translateX(50%);z-index:0}.seo-process-step__number{position:relative;z-index:1;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e7f7fd;color:#0788bb;font:900 11px Montserrat,sans-serif;margin-bottom:17px}.seo-process-step h3{margin:0 0 8px;font:800 15px/1.3 Montserrat,sans-serif}.seo-process-step p{margin:0;color:#687481;font-size:12px;line-height:1.65}
.seo-faq-list{max-width:860px;margin:0 auto;display:grid;gap:10px}.seo-faq-item{border:1px solid #e1e6ea;border-radius:12px;background:#fff;overflow:hidden}.seo-faq-item summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;cursor:pointer;list-style:none;font:800 13px/1.4 Montserrat,sans-serif}.seo-faq-item summary::-webkit-details-marker{display:none}.seo-faq-chevron{transition:transform .15s ease}.seo-faq-item[open] .seo-faq-chevron{transform:rotate(180deg)}.seo-faq-answer{padding:0 18px 18px;color:#5e6975;font-size:13px;line-height:1.7}.seo-faq-answer p{margin:0}
.seo-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.seo-related-card>a{height:100%;display:flex;flex-direction:column;padding:22px;border:1px solid #e2e7eb;border-radius:14px;background:#fff;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.seo-related-card>a:hover{transform:translateY(-2px);border-color:#bee3f1;box-shadow:0 10px 26px rgba(17,31,43,.07)}.seo-related-card h3{margin:0 0 9px;font:800 15px/1.3 Montserrat,sans-serif}.seo-related-card p{margin:0;color:#697582;font-size:12px;line-height:1.65}.seo-related-card__link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:18px;color:var(--blue);font:800 11px Montserrat,sans-serif}.seo-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.seo-review-card{padding:23px;border:1px solid #e3e7eb;border-radius:15px;background:#fff}.seo-review-card blockquote{margin:12px 0 18px;color:#56626e;font-size:13px;line-height:1.7}.seo-review-card footer{display:flex;flex-direction:column;gap:2px}.seo-review-card footer strong{font:800 12px Montserrat,sans-serif}.seo-review-card footer span{font-size:10px;color:#858f99}
.seo-bottom-cta{padding:52px 0;background:linear-gradient(120deg,#10151b,#1c2630);color:#fff}.seo-bottom-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:34px}.seo-bottom-cta__eyebrow{margin:0 0 8px;color:#62c9ee;font:800 10px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em}.seo-bottom-cta h2{margin:0;font:900 clamp(28px,4vw,40px)/1.1 Montserrat,sans-serif;letter-spacing:-.035em}.seo-bottom-cta p:not(.seo-bottom-cta__eyebrow){margin:9px 0 0;color:#bdc6ce;font-size:13px}.seo-bottom-cta__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.seo-btn--light{background:#fff;color:#111820}.seo-btn--emergency{background:#a6241e;color:#fff}
@media(max-width:980px){.seo-service-hero__grid,.seo-local-impact__grid{grid-template-columns:1fr}.seo-trust-card,.seo-quick-request{max-width:720px}.seo-feature-grid,.seo-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-process-step:nth-child(2)::after{display:none}.seo-related-grid,.seo-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-bottom-cta__inner{align-items:flex-start;flex-direction:column}.seo-bottom-cta__actions{justify-content:flex-start}}
@media(max-width:700px){.seo-service-template{padding-top:68px}.seo-service-nav__inner{align-items:flex-start;flex-direction:column;padding-block:12px}.seo-breadcrumbs ol{flex-wrap:wrap}.seo-service-hero{padding:38px 0 44px}.seo-service-hero h1{font-size:38px}.seo-service-hero__lede{font-size:15px}.seo-quick-specs{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-service-hero__actions,.seo-bottom-cta__actions{flex-direction:column;width:100%}.seo-btn{width:100%}.seo-section{padding:56px 0}.seo-feature-grid,.seo-process-grid,.seo-related-grid,.seo-review-grid{grid-template-columns:1fr}.seo-process-step::after{display:none!important}.seo-trust-card,.seo-quick-request{padding:20px}.seo-bottom-cta{padding:42px 0}}
@media(max-width:430px){.seo-service-template .container{width:min(100% - 24px,1180px)}.seo-service-hero h1{font-size:34px}.seo-quick-specs{grid-template-columns:1fr 1fr}.seo-quick-spec{padding:12px}.seo-trust-card__rating{align-items:flex-start;flex-direction:column}.seo-section-heading h2{font-size:30px}}

/* ==========================================================
   v2.3.0 — GOOGLE AI STUDIO SEO CATEGORY + SINGLE SERVICE UI
   Static production CSS counterpart to the utility-class layouts.
   ========================================================== */
.gai-seo-page{padding-top:78px;background:#fff;color:#0f172a}.gai-container{width:min(1180px,calc(100% - 32px));margin-inline:auto}.gai-breadcrumb-bar{background:#fff;border-bottom:1px solid #f1f5f9}.gai-breadcrumb-inner{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px}.gai-breadcrumb-inner ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#64748b;font-size:12px;font-weight:600}.gai-breadcrumb-inner a:hover{color:#0284c7}.gai-directory-return{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.05);font-size:12px;font-weight:800;color:#334155;transition:.18s}.gai-directory-return:hover{border-color:#bae6fd;background:#f0f9ff;color:#0284c7}.gai-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(330px,1fr);gap:32px;align-items:start;padding:24px 0 48px}.gai-hero-service{grid-template-columns:minmax(0,7fr) minmax(390px,5fr)}.gai-tag-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gai-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}.gai-pill-blue{border:1px solid #bae6fd;background:rgba(240,249,255,.65);color:#0284c7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.gai-pill-red{border:1px solid #fecdd3;background:rgba(255,241,242,.65);color:#be123c}.gai-geo{display:flex;align-items:center;gap:4px;color:#64748b;font-size:12px;font-weight:700}.gai-icon-xs{width:14px!important;height:14px!important}.gai-icon-md{width:20px!important;height:20px!important}.gai-icon-lg{width:22px!important;height:22px!important}.gai-btn-icon{width:16px!important;height:16px!important}.gai-hero h1{max-width:820px;margin:16px 0 22px;font:900 clamp(38px,5vw,58px)/1.06 Montserrat,Inter,sans-serif;letter-spacing:-.045em;color:#0f172a}.gai-hero-service h1{font-size:clamp(36px,4.7vw,54px)}.gai-hero-lede{max-width:760px;margin:0 0 28px;color:#475569;font-size:16px;line-height:1.75}.gai-spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:28px}.gai-spec{min-width:0;padding:15px;border:1px solid #f1f5f9;border-radius:16px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.035)}.gai-spec small{display:block;margin-bottom:5px;color:#94a3b8;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.gai-spec strong{display:block;color:#0f172a;font:900 13px/1.35 Montserrat,Inter,sans-serif}.gai-spec strong.is-green{color:#047857}.gai-spec strong.is-blue{color:#0369a1}.gai-spec strong.is-red{color:#b91c1c}.gai-action-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.gai-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;padding:14px 22px;font:800 13px/1 Montserrat,Inter,sans-serif;letter-spacing:.02em;transition:.18s}.gai-btn-primary{background:#0ea5e9;color:#fff;box-shadow:0 7px 18px rgba(14,165,233,.14)}.gai-btn-primary:hover{background:#38bdf8}.gai-btn-alert{background:#fff1f2;color:#9f1239;border:1px solid rgba(254,205,211,.8)}.gai-btn-alert:hover{background:#ffe4e6}.gai-btn-red{background:#991b1b;color:#fff}.gai-btn-red:hover{background:#b91c1c}.gai-service-signals{display:flex;flex-wrap:wrap;gap:9px 14px;color:#64748b;font-size:11px;font-weight:700}.gai-trust-card{position:relative;padding:24px;border:1px solid #f1f5f9;border-radius:24px;background:#fff;box-shadow:0 16px 38px rgba(148,163,184,.18)}.gai-trust-water{position:absolute;right:24px;top:24px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#f0f9ff;color:#0284c7}.gai-trust-card>small,.gai-related-section>.gai-container>small{display:block;margin-bottom:4px;color:#0284c7;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.gai-trust-card h2{padding-right:54px;margin:0;font:800 17px/1.35 Montserrat,Inter,sans-serif;color:#0f172a}.gai-trust-card ul{list-style:none;padding:0;margin:24px 0;display:grid;gap:15px}.gai-trust-card li{display:flex;gap:11px;align-items:flex-start;color:#475569;font-size:12px;line-height:1.5}.gai-trust-card li>span:first-child,.gai-trust-card li::marker{color:#059669}.gai-trust-card li strong{color:#0f172a}.gai-rating{padding:15px;border:1px solid rgba(241,245,249,.8);border-radius:16px;background:rgba(248,250,252,.82)}.gai-stars{color:#f59e0b;letter-spacing:1px}.gai-rating strong{display:block;margin-top:3px;color:#0f172a;font-size:13px}.gai-rating p{margin:4px 0 0;color:#94a3b8;font-size:10px;line-height:1.5}.gai-form-card{overflow:hidden;border:1px solid #f1f5f9;border-radius:24px;background:#fff;box-shadow:0 18px 42px rgba(15,23,42,.12)}.gai-form-header{padding:18px 20px;display:flex;align-items:center;gap:12px;background:#0ea5e9;color:#fff}.gai-form-header>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.14)}.gai-form-header strong{display:block;font:900 14px/1.25 Montserrat,Inter,sans-serif;letter-spacing:.05em}.gai-form-header small{display:block;margin-top:4px;color:#e0f2fe;font:700 9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}.gai-book-form{padding:22px;display:grid;gap:18px}.gai-diagnostic-banner{padding:14px;border:1px solid #e0f2fe;border-radius:16px;background:rgba(240,249,255,.72);display:flex;gap:11px;color:#0369a1;font-size:11px;line-height:1.5}.gai-diagnostic-banner>b{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e0f2fe;color:#0284c7}.gai-diagnostic-banner strong{display:block;color:#075985;font-size:10px;letter-spacing:.05em}.gai-diagnostic-banner p{margin:4px 0 0}.gai-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gai-field label{display:block;margin-bottom:5px;color:#94a3b8;font:800 9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;text-transform:uppercase}.gai-field input,.gai-field select,.gai-field textarea{width:100%;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;padding:11px 13px;color:#1e293b;font-size:12px;font-weight:700;outline:none;transition:.16s}.gai-field input:focus,.gai-field select:focus,.gai-field textarea:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.08)}.gai-input-wrap{position:relative}.gai-input-wrap>span{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#94a3b8;z-index:1;font-size:12px}.gai-input-wrap input{padding-left:34px}.gai-field textarea{height:98px;resize:none;line-height:1.5}.gai-emergency-panel{padding:13px 14px;border:1px solid #f1f5f9;border-radius:12px;background:rgba(248,250,252,.75);display:flex;align-items:center;justify-content:space-between;gap:14px}.gai-emergency-panel strong{display:block;color:#0f172a;font-size:11px}.gai-emergency-panel small{display:block;margin-top:3px;color:#94a3b8;font-size:9px;line-height:1.45}.gai-emergency-panel input{width:17px;height:17px;accent-color:#0ea5e9}.gai-form-actions{padding-top:10px;border-top:1px solid #f8fafc;display:flex;justify-content:flex-end;gap:10px}.gai-cancel,.gai-submit{border:0;border-radius:12px;padding:11px 18px;font-size:12px;font-weight:800}.gai-cancel{background:#f1f5f9;color:#334155}.gai-submit{background:#0ea5e9;color:#fff;box-shadow:0 5px 14px rgba(14,165,233,.14)}.gai-editorial-zone{padding:34px 0;border-top:1px solid #f1f5f9}.gai-editor-content{color:#475569;line-height:1.75}.gai-editor-content h2,.gai-editor-content h3,.gai-editor-content h4{font-family:Montserrat,Inter,sans-serif;color:#0f172a}.gai-two-card-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:46px 0;border-top:1px solid #f1f5f9}.gai-info-card{padding:30px;border:1px solid #f1f5f9;border-radius:24px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.04)}.gai-info-card header{display:flex;align-items:center;gap:12px}.gai-info-card h2{margin:0;font:900 18px/1.3 Montserrat,Inter,sans-serif;color:#0f172a}.gai-round-icon{width:40px;height:40px;flex:0 0 40px;border-radius:50%;display:grid;place-items:center;background:#f0f9ff;color:#0284c7}.gai-round-danger{background:#fff1f2;color:#e11d48}.gai-copy{margin-top:20px;color:#475569;font-size:13px;line-height:1.78}.gai-copy p{margin:0 0 14px}.gai-local-note{margin-top:20px;padding:14px;border:1px solid #e0f2fe;border-radius:16px;background:rgba(240,249,255,.65);color:#0369a1;font-size:11px;line-height:1.65}.gai-warning-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px}.gai-warning-list li{display:flex;align-items:flex-start;gap:11px;color:#475569;font-size:12px;font-weight:600;line-height:1.55}.gai-warning-list li>span{width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:grid;place-items:center;background:#fff1f2;color:#e11d48;font-size:10px;font-weight:900}.gai-section{padding:46px 0}.gai-section-title{text-align:center;max-width:760px;margin-inline:auto}.gai-section-title>small{display:block;color:#0284c7;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.gai-section-title h2{margin:5px 0 0;font:900 clamp(28px,3vw,36px)/1.15 Montserrat,Inter,sans-serif;letter-spacing:-.035em;color:#0f172a}.gai-section-title>p{margin:10px auto 0;color:#64748b;font-size:12px;line-height:1.65}.gai-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:28px}.gai-feature-card{padding:22px;border:1px solid #f1f5f9;border-radius:16px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.03)}.gai-outline-check{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;margin-bottom:14px;border:1px solid #bae6fd;background:#f0f9ff;color:#0284c7;font-weight:900}.gai-feature-card h3{margin:0 0 8px;color:#0f172a;font-size:13px;font-weight:900}.gai-feature-card p{margin:0;color:#64748b;font-size:11px;line-height:1.65}.gai-process-card{margin-top:42px;padding:30px;border:1px solid #f1f5f9;border-radius:24px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.04)}.gai-process-grid{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.gai-step-no{display:block;margin-bottom:4px;color:rgba(14,165,233,.13);font:900 38px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.06em}.gai-process-grid h3{margin:0 0 7px;color:#0f172a;font-size:12px;font-weight:900}.gai-process-grid p{margin:0;color:#64748b;font-size:11px;line-height:1.65}.gai-faq-section{padding:58px 0;border-top:1px solid #f1f5f9}.gai-faq-list{max-width:850px;margin:30px auto 0;display:grid;gap:11px}.gai-faq-list details{border:1px solid #f1f5f9;border-radius:16px;background:#fff;transition:.18s}.gai-faq-list details[open]{border-color:#e2e8f0;box-shadow:0 2px 8px rgba(15,23,42,.04)}.gai-faq-list summary{padding:17px 20px;list-style:none;cursor:pointer;display:grid;grid-template-columns:28px 1fr 18px;align-items:center;gap:11px;color:#0f172a;font-size:13px;font-weight:800}.gai-faq-list summary::-webkit-details-marker{display:none}.gai-q{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;border:1px solid #bae6fd;background:#f0f9ff;color:#0284c7;font-weight:900}.gai-chevron{color:#94a3b8;font-size:18px;transition:.18s}.gai-faq-list details[open] .gai-chevron{transform:rotate(180deg)}.gai-faq-answer{margin:0 20px;padding:14px 0 18px;border-top:1px solid #f8fafc;color:#64748b;font-size:12px;line-height:1.7}.gai-faq-answer p{margin:0}.gai-related-section{padding:58px 24px;border-top:1px solid #f1f5f9;background:rgba(248,250,252,.65)}.gai-related-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px}.gai-related-heading h2{margin:0;color:#0f172a;font:900 30px/1.15 Montserrat,Inter,sans-serif;letter-spacing:-.035em}.gai-related-heading p{margin:7px 0 0;color:#64748b;font-size:12px}.gai-related-heading>a{color:#0284c7;font-size:11px;font-weight:800}.gai-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gai-related-grid article>a{min-height:74px;padding:17px;border:1px solid #f1f5f9;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 2px 7px rgba(15,23,42,.03);transition:.18s}.gai-related-grid article>a:hover{border-color:#bae6fd;box-shadow:0 6px 16px rgba(15,23,42,.06)}.gai-related-grid strong{display:block;color:#0f172a;font-size:13px;font-weight:900}.gai-related-grid article>a:hover strong{color:#0284c7}.gai-related-grid article span span{display:inline-block;margin-top:6px;padding:2px 7px;border-radius:4px;background:#f0f9ff;color:#0284c7;font-size:9px;font-weight:800}.gai-related-grid b{color:#94a3b8}.gai-reviews-section{padding:58px 24px;background:#fff}.gai-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.gai-review-grid article{padding:22px;border:1px solid #f1f5f9;border-radius:22px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.035)}.gai-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.gai-review-top em{padding:4px 8px;border-radius:999px;background:#ecfdf5;color:#047857;font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}.gai-review-grid blockquote{margin:16px 0 0;color:#475569;font-size:12px;line-height:1.75}.gai-review-grid footer{margin-top:20px;padding-top:16px;border-top:1px solid #f1f5f9;display:flex;align-items:center;gap:10px}.gai-initials{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#0f172a;color:#fff;font-size:10px;font-weight:900}.gai-review-grid footer strong{display:block;color:#0f172a;font-size:12px}.gai-review-grid footer small{display:block;margin-top:2px;color:#64748b;font-size:10px}.gai-master-cta{width:min(1180px,calc(100% - 32px));margin:58px auto;position:relative;overflow:hidden;padding:36px 40px;border:1px solid #020617;border-radius:24px;background:linear-gradient(135deg,#0b1329,#050a14);box-shadow:0 16px 36px rgba(2,6,23,.22);display:flex;align-items:center;justify-content:space-between;gap:28px}.gai-master-cta small{display:block;margin-bottom:5px;color:#0ea5e9;font-size:10px;font-weight:800;letter-spacing:.16em}.gai-master-cta h2{margin:0;color:#fff;font:900 clamp(24px,3vw,34px)/1.1 Montserrat,Inter,sans-serif;letter-spacing:-.035em}.gai-master-cta p{max-width:620px;margin:8px 0 0;color:#94a3b8;font-size:12px;line-height:1.65}.gai-master-actions{display:flex;flex:0 0 auto;align-items:center;gap:12px}
@media(max-width:1000px){.gai-hero,.gai-hero-service{grid-template-columns:1fr}.gai-hero-main{order:1}.gai-trust-card,.gai-form-card{order:2}.gai-two-card-section{grid-template-columns:1fr}.gai-feature-grid,.gai-process-grid{grid-template-columns:1fr 1fr}.gai-related-grid,.gai-review-grid{grid-template-columns:1fr 1fr}.gai-master-cta{flex-direction:column;align-items:flex-start}.gai-master-actions{width:100%}}
@media(max-width:700px){.gai-seo-page{padding-top:68px}.gai-container{width:min(100% - 24px,1180px)}.gai-breadcrumb-inner{align-items:flex-start;flex-direction:column;padding:12px 0}.gai-directory-return{width:100%}.gai-hero{padding-top:22px}.gai-hero h1{font-size:38px}.gai-spec-grid{grid-template-columns:1fr 1fr}.gai-action-row,.gai-master-actions{flex-direction:column;align-items:stretch}.gai-btn{width:100%}.gai-form-grid{grid-template-columns:1fr}.gai-two-card-section{padding:36px 0}.gai-info-card{padding:22px}.gai-feature-grid,.gai-process-grid,.gai-related-grid,.gai-review-grid{grid-template-columns:1fr}.gai-related-heading{align-items:flex-start;flex-direction:column}.gai-related-section,.gai-reviews-section{padding-inline:12px}.gai-process-card{padding:22px}.gai-master-cta{width:min(100% - 24px,1180px);padding:28px 22px}.gai-service-signals span:nth-child(even){display:none}}

/* ==========================================================
   v2.4.0 — SERVICE ROUTING REFINEMENTS
   ========================================================== */
.gai-feature-card-link {
  padding: 0 !important;
  overflow: hidden;
}

.gai-feature-card-anchor {
  display: block;
  width: 100%;
  height: 100%;
  padding: 24px;
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.gai-feature-card-link:hover {
  border-color: #bae6fd;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .07);
  transform: translateY(-2px);
}

.gai-feature-card-link:hover h3 {
  color: #0284c7;
}

.gai-empty-services {
  margin-top: 2rem;
  padding: 2rem;
  border: 1px solid #f1f5f9;
  border-radius: 1rem;
  background: #fff;
  text-align: center;
  color: #64748b;
  font-size: .875rem;
  font-weight: 500;
}

/* ================================================================
   Homepage Technical Details & Outlines — Google AI Studio parity
   Version 2.4.7.2
   The original Tailwind utility class names remain on the markup;
   these scoped rules provide the production CSS without React/Tailwind runtime.
   ================================================================ */
.dd-tech-section{padding:64px 0 96px;background:#FAFAFA;border-bottom:1px solid #eceef1;scroll-margin-top:80px}
.dd-tech-container{width:min(1280px,calc(100% - 32px));margin:0 auto}
.dd-tech-header{max-width:672px;margin:0 auto 64px;text-align:center}
.dd-tech-eyebrow{display:inline-block;padding:4px 12px;border-radius:999px;background:rgba(9,155,214,.10);color:#099bd6;font:700 12px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;letter-spacing:.08em;text-transform:uppercase}
.dd-tech-title{margin:12px 0 0;color:#0D0D0D;font:900 clamp(30px,4vw,36px)/1.16 Montserrat,sans-serif;letter-spacing:-.025em}
.dd-tech-intro{margin:8px 0 0;color:#65707c;font:400 16px/1.65 Inter,Arial,sans-serif}
.dd-tech-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:start}
.dd-tech-card{background:#fff;border:1px solid #eceef1;border-radius:16px;box-shadow:0 8px 20px rgba(13,13,13,.08);padding:32px;display:flex;flex-direction:column;gap:24px}
.dd-tech-card-heading{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #eceef1}
.dd-tech-card-heading .dd-tech-icon{width:24px;height:24px;color:#099bd6;flex:0 0 auto}
.dd-tech-card-heading h3{margin:0;color:#0D0D0D;font:700 18px/1.3 Montserrat,sans-serif;letter-spacing:-.025em}
.dd-tech-card-heading span{display:block;margin-top:2px;color:#8b929c;font:400 10px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;letter-spacing:.08em;text-transform:uppercase}
.dd-tech-copy{margin:0;color:#65707c;font:400 14px/1.7 Inter,Arial,sans-serif}
.dd-tech-symptom-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.dd-tech-symptom-list li{display:flex;align-items:flex-start;gap:12px;color:#0D0D0D;font:600 14px/1.5 Inter,Arial,sans-serif}
.dd-tech-symptom-icon{display:grid;place-items:center;flex:0 0 auto;margin-top:2px;padding:2px;border-radius:4px;background:rgba(159,23,16,.10);color:#9F1710}
.dd-tech-symptom-icon .dd-tech-icon{width:16px;height:16px}
.dd-tech-card-action{padding-top:16px;border-top:1px solid #eceef1}
.dd-tech-diagnose-btn{width:100%;min-height:48px;border:0;border-radius:12px;background:rgba(9,155,214,.10);color:#099bd6;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 18px;font:700 14px/1 Montserrat,sans-serif;letter-spacing:.025em;transition:background .2s ease,transform .2s ease}
.dd-tech-diagnose-btn:hover{background:rgba(9,155,214,.15);transform:translateY(-1px)}
.dd-tech-diagnose-btn .dd-tech-icon{width:16px;height:16px}
.dd-tech-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dd-tech-feature-card{position:relative;min-width:0;padding:16px;border:1px solid #eceef1;border-radius:12px;background:#FAFAFA;display:flex;flex-direction:column;gap:8px}
.dd-tech-feature-title-row{display:flex;align-items:center;gap:8px}
.dd-tech-feature-title-row h4{margin:0;color:#0D0D0D;font:800 14px/1.35 Montserrat,sans-serif;letter-spacing:-.02em}
.dd-tech-feature-card p{margin:0;color:#65707c;font:400 12px/1.65 Inter,Arial,sans-serif}
.dd-tech-check-box{width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;padding:4px;border-radius:4px;background:#099bd6;color:#fff}
.dd-tech-check-box .dd-tech-icon{width:14px;height:14px}
.dd-tech-warranty-card{background:#fff;border:2px solid rgba(9,155,214,.30);overflow:hidden;justify-content:space-between}
.dd-tech-warranty-card .dd-tech-icon{width:20px;height:20px;color:#099bd6;flex:0 0 auto}
.dd-tech-warranty-accent{position:absolute;top:0;right:0;width:48px;height:48px;border-radius:0 0 0 999px;background:rgba(9,155,214,.05);pointer-events:none}
.dd-tech-scheduling-panel{padding:24px;border-radius:16px;background:#0D0D0D;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}
.dd-tech-scheduling-copy{min-width:0}
.dd-tech-scheduling-copy>span{color:#099bd6;font:700 10px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;letter-spacing:.1em;text-transform:uppercase}
.dd-tech-scheduling-copy h4{margin:6px 0 0;color:#fff;font:700 18px/1.3 Montserrat,sans-serif;letter-spacing:-.02em}
.dd-tech-scheduling-copy p{max-width:384px;margin:6px 0 0;color:#8b929c;font:400 12px/1.6 Inter,Arial,sans-serif}
.dd-tech-scheduling-actions{display:flex;gap:12px;flex:0 0 auto}
.dd-tech-book-btn,.dd-tech-phone-btn{min-height:44px;padding:12px 20px;border-radius:12px;font:700 14px/1 Montserrat,sans-serif;letter-spacing:.025em;text-align:center;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease}
.dd-tech-book-btn{border:0;background:#099bd6;color:#fff;box-shadow:0 6px 15px rgba(9,155,214,.20)}
.dd-tech-book-btn:hover{background:#0782b4;transform:translateY(-1px)}
.dd-tech-phone-btn{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.20);color:#fff}
.dd-tech-phone-btn:hover{background:rgba(255,255,255,.15)}
.dd-tech-icon{display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;vector-effect:non-scaling-stroke}
@media(max-width:1023px){.dd-tech-section{padding:64px 0}.dd-tech-grid{grid-template-columns:1fr}.dd-tech-header{margin-bottom:48px}}
@media(max-width:767px){.dd-tech-container{width:min(100% - 32px,1280px)}.dd-tech-card{padding:24px}.dd-tech-feature-grid{grid-template-columns:1fr}.dd-tech-scheduling-panel{flex-direction:column;align-items:stretch}.dd-tech-scheduling-copy{text-align:center}.dd-tech-scheduling-copy p{margin-left:auto;margin-right:auto}.dd-tech-scheduling-actions{width:100%;flex-direction:column}.dd-tech-book-btn,.dd-tech-phone-btn{width:100%}}


/* v2.4.7.4 — Drip Doctors Standards Lucide icon mapping */
.trust-standard-icon{background:rgba(9,155,214,.09);color:var(--blue)}
.trust-standard-icon--red{background:rgba(159,23,16,.09);color:var(--red)}
.trust-standard-svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ==========================================================================\n   v2.4.7.5 - Why Choose Us navigation dropdown\n   Native WordPress/PHP equivalent of the Google AI Studio popover.\n   ========================================================================== */
.site-header .why-choose-wrap{position:relative;}
.site-header .why-choose-menu{
  position:absolute;
  z-index:1200;
  top:calc(100% - 8px);
  left:50%;
  width:min(430px,calc(100vw - 32px));
  padding:8px;
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius:18px;
  box-shadow:0 22px 55px rgba(15,23,42,.16),0 8px 20px rgba(15,23,42,.08);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,10px) scale(.985);
  transform-origin:top center;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.site-header .why-choose-wrap:hover>.why-choose-menu,
.site-header .why-choose-wrap:focus-within>.why-choose-menu,
.site-header .why-choose-wrap.open>.why-choose-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0) scale(1);
}
.site-header .why-choose-menu-header{padding:12px 12px 9px;}
.site-header .why-choose-menu-header>span{display:block;color:#099bd6;font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;letter-spacing:.13em;text-transform:uppercase;}
.site-header .why-choose-menu-header p{margin:5px 0 0;color:#64748b;font:500 11px/1.5 Inter,Arial,sans-serif;}
.site-header .why-choose-grid{display:grid;grid-template-columns:1fr;gap:3px;}
.site-header .why-choose-item{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:start;gap:11px;padding:11px 12px;border-radius:13px;color:#0f172a;text-decoration:none;transition:background-color .15s ease,transform .15s ease;}
.site-header .why-choose-item:hover,.site-header .why-choose-item:focus-visible{background:#f8fafc;outline:none;}
.site-header .why-choose-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #e0f2fe;border-radius:10px;background:#f0f9ff;color:#0284c7;}
.site-header .why-choose-icon svg{width:18px!important;height:18px!important;}
.site-header .why-choose-copy{min-width:0;}
.site-header .why-choose-copy strong{display:block;color:#0f172a;font:800 13px/1.35 Montserrat,Inter,Arial,sans-serif;transition:color .15s ease;}
.site-header .why-choose-item:hover .why-choose-copy strong,.site-header .why-choose-item:focus-visible .why-choose-copy strong{color:#0369a1;}
.site-header .why-choose-copy small{display:block;margin-top:3px;color:#64748b;font:500 10.5px/1.45 Inter,Arial,sans-serif;}
.site-header .why-choose-arrow{width:28px;height:28px;display:flex;align-items:center;justify-content:center;align-self:center;border-radius:999px;color:#94a3b8;transition:background-color .15s ease,color .15s ease,transform .15s ease;}
.site-header .why-choose-arrow svg{width:14px!important;height:14px!important;}
.site-header .why-choose-item:hover .why-choose-arrow,.site-header .why-choose-item:focus-visible .why-choose-arrow{background:#e0f2fe;color:#0369a1;transform:translateX(2px);}
.site-header .why-choose-footer{margin-top:7px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:13px;background:#0f172a;color:#fff;text-decoration:none;transition:background-color .15s ease,transform .15s ease;}
.site-header .why-choose-footer:hover,.site-header .why-choose-footer:focus-visible{background:#1e293b;outline:none;}
.site-header .why-choose-footer small{display:block;color:#38bdf8;font:800 9px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;letter-spacing:.12em;text-transform:uppercase;}
.site-header .why-choose-footer strong{display:block;margin-top:3px;color:#fff;font:800 11.5px/1.3 Montserrat,Inter,Arial,sans-serif;}
.site-header .why-choose-footer svg{width:16px!important;height:16px!important;transition:transform .15s ease;}
.site-header .why-choose-footer:hover svg{transform:translateX(2px);}

@media (max-width:900px){
  .site-header.mobile-open .why-choose-wrap{display:block!important;width:100%;position:relative!important;}
  .site-header.mobile-open .why-choose-trigger{width:100%!important;min-height:52px!important;padding:13px 4px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;font-weight:700!important;}
  .site-header.mobile-open .why-choose-wrap.open>.why-choose-trigger::after{transform:rotate(225deg)!important;margin-top:0!important;}
  .site-header.mobile-open .why-choose-menu,
  .site-header.mobile-open .why-choose-wrap:hover>.why-choose-menu,
  .site-header.mobile-open .why-choose-wrap:focus-within>.why-choose-menu{
    position:static!important;
    width:100%!important;
    max-height:0;
    margin:0!important;
    padding:0 6px!important;
    overflow:hidden;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    transform:none!important;
    border:0!important;
    border-radius:12px!important;
    background:#fafbfc!important;
    box-shadow:none!important;
    transition:max-height .24s ease,padding .24s ease!important;
  }
  .site-header.mobile-open .why-choose-wrap.open>.why-choose-menu{max-height:900px;padding:7px 6px 10px!important;pointer-events:auto!important;}
  .site-header.mobile-open .why-choose-menu-header{padding:8px 8px 6px;}
  .site-header.mobile-open .why-choose-item{grid-template-columns:36px minmax(0,1fr) 28px;padding:10px 8px;}
  .site-header.mobile-open .why-choose-icon{width:34px;height:34px;}
  .site-header.mobile-open .why-choose-copy strong{font-size:12.5px;}
  .site-header.mobile-open .why-choose-copy small{font-size:10px;}
  .site-header.mobile-open .why-choose-footer{margin:6px 4px 2px;}
}


/* ==========================================================================
   v2.4.7.7 - Dynamic Why Choose Us WordPress menu hierarchy
   Parent/child items now come directly from Appearance > Menus.
   ========================================================================== */
.site-header .why-choose-item-wrap{border-radius:13px;overflow:hidden;}
.site-header .why-choose-nested{margin:-2px 12px 7px 50px;padding:5px 0 4px 11px;border-left:1px solid #e2e8f0;display:grid;gap:2px;}
.site-header .why-choose-nested .why-choose-nested{margin:2px 0 2px 10px;}
.site-header .why-choose-nested-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;color:#64748b;font:700 10.5px/1.35 Inter,Arial,sans-serif;text-decoration:none;transition:background-color .15s ease,color .15s ease;}
.site-header .why-choose-nested-link:hover,.site-header .why-choose-nested-link:focus-visible{background:#f0f9ff;color:#0369a1;outline:none;}
.site-header .why-choose-nested-link svg{width:12px!important;height:12px!important;flex:0 0 auto;}
@media(max-width:900px){
  .site-header.mobile-open .why-choose-nested{margin:-1px 8px 6px 43px;padding-left:9px;}
  .site-header.mobile-open .why-choose-nested-link{font-size:10px;padding:6px 7px;}
  .site-header.mobile-open .why-choose-wrap.open>.why-choose-menu{max-height:2400px;}
}


/* ==========================================================================\n   v2.4.7.15 - Special Savings Banner below homepage hero\n   Native CSS fallback matching Google AI Studio Tailwind utilities.\n   ========================================================================== */
.dd-savings-section{width:100%;padding:16px 0;background:var(--snow)}
.dd-savings-container{width:min(1280px,calc(100% - 32px));margin:0 auto}
.dd-savings-banner{position:relative;overflow:hidden;padding:20px;border:1px solid rgba(16,185,129,.30);border-radius:16px;background:linear-gradient(90deg,#0f172a 0%,#111827 50%,#0f172a 100%);color:#fff;box-shadow:0 20px 25px -5px rgba(15,23,42,.22),0 8px 10px -6px rgba(15,23,42,.18)}
.dd-savings-glow{position:absolute;width:192px;height:192px;border-radius:999px;filter:blur(40px);pointer-events:none}
.dd-savings-glow--emerald{top:-48px;right:-48px;background:rgba(16,185,129,.10)}
.dd-savings-glow--blue{bottom:-48px;left:-48px;background:rgba(9,155,214,.10)}
.dd-savings-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px}
.dd-savings-offer{min-width:0;display:flex;align-items:center;gap:14px;flex:1 1 auto}
.dd-savings-award{width:48px;height:48px;padding:12px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:12px;background:linear-gradient(135deg,#10b981,#047857);color:#fff;box-shadow:0 4px 8px rgba(0,0,0,.18)}
.dd-savings-award svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor}
.dd-savings-copy{min-width:0}
.dd-savings-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.dd-savings-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border:1px solid rgba(16,185,129,.40);border-radius:999px;background:rgba(16,185,129,.20);color:#6ee7b7;font:700 11px/1.4 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;letter-spacing:.025em;text-transform:uppercase}
.dd-savings-badge svg{width:12px;height:12px;color:#34d399;flex:0 0 auto}
.dd-savings-residents{display:inline-flex;align-items:center;gap:4px;color:#d1d5db;font:400 12px/1.4 Inter,Arial,sans-serif}
.dd-savings-residents svg{width:14px;height:14px;color:#34d399;flex:0 0 auto}
.dd-savings-title{display:flex;align-items:center;flex-wrap:wrap;column-gap:8px;margin:4px 0 0;color:#fff;font:900 18px/1.35 Montserrat,sans-serif;letter-spacing:-.025em}
.dd-savings-title>span:last-child{color:#6ee7b7}
.dd-savings-divider{color:#34d399;font-weight:400}
.dd-savings-description{max-width:672px;margin:4px 0 0;color:#d1d5db;font:400 12px/1.55 Inter,Arial,sans-serif}
.dd-savings-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.dd-savings-claim,.dd-savings-details{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:12px;font-family:Montserrat,sans-serif;text-align:center;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease,color .2s ease}
.dd-savings-claim{padding:10px 20px;border:0;background:#10b981;color:#fff;font-size:13px;font-weight:800;letter-spacing:.025em;box-shadow:0 4px 8px rgba(0,0,0,.18)}
.dd-savings-claim:hover{background:#059669;box-shadow:0 8px 16px rgba(0,0,0,.20);transform:translateY(-1px)}
.dd-savings-details{padding:10px 16px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.10);color:#e5e7eb;font-size:12px;font-weight:700}
.dd-savings-details:hover{background:rgba(255,255,255,.20);color:#fff}
.dd-savings-claim svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor}
.dd-savings-details svg{width:14px;height:14px;flex:0 0 auto;color:#34d399;fill:none;stroke:currentColor}
.dd-savings-claim:focus-visible,.dd-savings-details:focus-visible{outline:2px solid #34d399;outline-offset:2px}
@media(max-width:1023px){.dd-savings-inner{flex-direction:column;align-items:stretch}.dd-savings-actions{padding-top:8px;border-top:1px solid rgba(31,41,55,.8)}}
@media(max-width:639px){.dd-savings-banner{padding:16px}.dd-savings-offer{flex-direction:column;align-items:flex-start}.dd-savings-title{font-size:16px}.dd-savings-divider{display:none}.dd-savings-actions{flex-direction:column;align-items:stretch}.dd-savings-claim,.dd-savings-details{width:100%}}


/* v2.4.7.16 — Google AI Studio-inspired Schedule Service Online modal. */
.dd-booking-modal{display:none;position:fixed;inset:0;z-index:5000;padding:16px;background:rgba(15,23,42,.40);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow:auto;opacity:0;transition:opacity .18s ease}
.dd-booking-modal.open{display:flex;align-items:center;justify-content:center}
.dd-booking-modal.is-active{opacity:1}
.dd-booking-card{position:relative;width:100%;max-width:576px;padding:0;background:#fff;border:1px solid #f3f4f6;border-radius:16px;box-shadow:0 25px 50px -12px rgba(15,23,42,.35);overflow:hidden;max-height:min(90vh,850px);display:flex;flex-direction:column;transform:translateY(8px) scale(.985);transition:transform .18s ease}
.dd-booking-modal.is-active .dd-booking-card{transform:translateY(0) scale(1)}
.dd-booking-emergency{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;padding:10px 16px;background:#dc2626;color:#fff;border-bottom:1px solid #b91c1c;box-shadow:0 2px 6px rgba(127,29,29,.22);font:800 12px/1.4 Montserrat,sans-serif;text-align:center;text-transform:uppercase;letter-spacing:.045em}
.dd-booking-emergency svg{width:16px;height:16px;flex:0 0 16px}.dd-booking-emergency a{text-decoration:underline;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:900;margin-left:4px}.dd-booking-emergency a:hover{color:#fde047}
.dd-booking-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;padding:16px 24px;background:var(--blue);color:#fff}.dd-booking-header>div{display:flex;align-items:center;gap:10px;min-width:0}.dd-booking-header>div>svg{width:20px;height:20px;flex:0 0 20px}.dd-booking-header h2{margin:0;font:900 16px/1.25 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.055em}.dd-booking-header p{margin:3px 0 0;font:700 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.8)}
.dd-booking-status{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.14);font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.08em}.dd-booking-status-dot{width:6px;height:6px;border-radius:50%;background:#86efac;box-shadow:0 0 0 3px rgba(134,239,172,.14)}
.dd-booking-close{position:static;width:36px;height:36px;display:grid;place-items:center;padding:6px;border:0;border-radius:8px;background:transparent;color:#fff}.dd-booking-close:hover{background:rgba(255,255,255,.1)}.dd-booking-close svg{width:24px;height:24px}
.dd-booking-body{padding:24px;overflow-y:auto;flex:1 1 auto;overscroll-behavior:contain}.dd-booking-diagnostic{display:flex;align-items:flex-start;gap:10px;padding:14px;margin-bottom:20px;background:rgba(9,155,214,.05);border:1px solid rgba(9,155,214,.2);border-radius:12px}.dd-booking-diagnostic[hidden]{display:none!important}.dd-booking-diagnostic svg{width:20px;height:20px;color:var(--blue);flex:0 0 20px;margin-top:2px}.dd-booking-diagnostic strong{display:block;color:var(--blue);font:900 12px/1.3 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.05em}.dd-booking-diagnostic p{margin:3px 0 0;color:var(--gray-500);font-size:11px;line-height:1.55}
.dd-booking-stage{min-height:420px}.dd-booking-stage[hidden]{display:none!important}#booking-modal-form{display:grid;gap:16px}.dd-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}#booking-modal-form label,#booking-modal-form legend{display:block;margin:0 0 4px;color:var(--gray-500);font:800 11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.035em}.dd-booking-control{position:relative}.dd-booking-control>svg{position:absolute;z-index:1;left:14px;top:50%;width:16px;height:16px;color:#9ca3af;transform:translateY(-50%);pointer-events:none}#booking-modal-form input[type=text],#booking-modal-form input[type=email],#booking-modal-form input[type=tel],#booking-modal-form input[type=date],#booking-modal-form select,#booking-modal-form textarea{width:100%;min-height:46px;border:1px solid #dfe2e6;border-radius:12px;background:var(--snow);color:var(--black);font:600 13px/1.35 Inter,sans-serif;outline:0;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}#booking-modal-form input[type=text],#booking-modal-form input[type=email],#booking-modal-form input[type=tel]{padding:12px 16px 12px 40px}#booking-modal-form input[type=date]{padding:12px 12px 12px 40px}#booking-modal-form select,#booking-modal-form textarea{padding:12px 14px}#booking-modal-form textarea{min-height:92px;resize:vertical}#booking-modal-form input:focus,#booking-modal-form select:focus,#booking-modal-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);background:#fff}
.dd-booking-time-fieldset{margin:0;padding:0;border:0;min-width:0}.dd-booking-time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dd-time-option{position:relative;margin:0!important}.dd-time-option>input{position:absolute;opacity:0;pointer-events:none}.dd-time-option-card{min-height:46px;padding:8px 7px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #dfe2e6;border-radius:10px;background:var(--snow);color:#5d6670;font:700 10px/1.2 Inter,sans-serif;text-align:center;cursor:pointer;transition:.15s}.dd-time-option-card svg{width:14px;height:14px;flex:0 0 14px}.dd-time-option>input:checked+.dd-time-option-card{border-color:rgba(9,155,214,.48);background:rgba(9,155,214,.08);color:var(--blue);box-shadow:0 0 0 1px rgba(9,155,214,.1)}.dd-time-option>input:focus-visible+.dd-time-option-card{outline:2px solid var(--blue);outline-offset:2px}.dd-time-emergency>input:checked+.dd-time-option-card,.is-emergency .dd-time-emergency .dd-time-option-card{border-color:rgba(159,23,16,.35);background:rgba(159,23,16,.07);color:var(--red)}
.dd-discount-check{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:0!important;padding:12px;border:1px solid #a7f3d0;border-radius:12px;background:#ecfdf5;cursor:pointer;text-transform:none!important;letter-spacing:0!important}.dd-discount-check strong{display:block;color:var(--black);font:800 12px/1.35 Montserrat,sans-serif}.dd-discount-check span span{display:block;margin-top:2px;color:#047857;font:500 11px/1.45 Inter,sans-serif}.dd-discount-check input{width:20px;height:20px;accent-color:#059669;flex:0 0 20px}
.dd-booking-error{padding:10px 12px;border:1px solid #fecaca;border-radius:10px;background:#fef2f2;color:#991b1b;font-size:12px;font-weight:600}.dd-booking-error[hidden]{display:none!important}#form-submit-btn,#form-cancel-btn{min-height:46px;border:0}#form-submit-btn{padding:14px 32px;border-radius:12px;background:var(--blue);color:#fff;box-shadow:0 5px 14px rgba(9,155,214,.23);font:800 13px/1 Montserrat,sans-serif}#form-submit-btn:hover{background:var(--blue-dark);box-shadow:0 8px 18px rgba(9,155,214,.28)}#form-submit-btn:disabled{opacity:.6;cursor:wait}#form-cancel-btn{padding:14px 24px;border-radius:12px;background:#f3f4f6;color:#5f6874;font:800 13px/1 Montserrat,sans-serif}#form-cancel-btn:hover{background:#e5e7eb}
.dd-booking-confirmation{display:grid;align-content:center;gap:20px;text-align:center;padding:24px 8px}.dd-booking-confirmation>div:first-child{width:64px;height:64px;margin:0 auto;display:grid;place-items:center;border:2px solid rgba(16,185,129,.3);border-radius:50%;background:#ecfdf5;color:#059669}.dd-booking-confirmation>div:first-child svg{width:40px;height:40px}.dd-booking-confirm-copy h3{margin:0;font:900 24px/1.15 Montserrat,sans-serif;letter-spacing:-.025em}.dd-booking-confirm-copy p{max-width:448px;margin:8px auto 0;color:var(--gray-500);font-size:13px}.dd-booking-summary{display:grid;gap:10px;max-width:448px;margin:0 auto;padding:16px;border:1px solid #dfe2e6;border-radius:16px;background:var(--snow);font-size:12px}.dd-booking-summary>div{display:flex;justify-content:space-between;gap:16px}.dd-booking-summary span{color:#9ca3af}.dd-booking-summary strong{text-align:right;color:var(--black)}#form-success-close-btn{width:min(320px,100%);min-height:46px;margin:0 auto;padding:14px;border:0;border-radius:12px;background:var(--black);color:#fff;font:800 13px/1 Montserrat,sans-serif;box-shadow:0 5px 14px rgba(13,13,13,.15)}
.dd-booking-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--gray-100)}.dd-booking-trust-item{padding:9px 6px;border:1px solid var(--gray-100);border-radius:10px;background:#fff;text-align:center}.dd-booking-trust-item strong{display:block;color:var(--blue);font:900 11px/1.2 Montserrat,sans-serif}.dd-booking-trust-item span{display:block;margin-top:2px;color:var(--gray-500);font-size:9px;line-height:1.25}.dd-booking-security{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;color:#9ca3af;font-size:10px;text-align:center}.dd-booking-security svg{width:16px;height:16px;flex:0 0 16px;color:var(--blue)}
@media(max-width:640px){.dd-booking-modal{padding:10px;align-items:flex-start}.dd-booking-card{max-height:calc(100dvh - 20px);margin:auto 0}.dd-booking-emergency{font-size:10px;padding:9px 10px}.dd-booking-header{padding:13px 16px}.dd-booking-header h2{font-size:14px}.dd-booking-status{display:none}.dd-booking-body{padding:18px}.dd-booking-grid{grid-template-columns:1fr;gap:13px}.dd-booking-stage{min-height:0}.dd-booking-time-grid{grid-template-columns:1fr}.dd-time-option-card{justify-content:flex-start;padding:10px 12px}.dd-booking-trust-grid{grid-template-columns:1fr 1fr 1fr}.dd-booking-trust-item strong{font-size:10px}.dd-booking-trust-item span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.dd-booking-modal,.dd-booking-card{transition:none!important}}


/* v2.4.7.18 — AI Studio service/category inline booking form refinement */
.gai-form-header{display:flex;align-items:center;gap:10px}
.gai-form-header-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:inherit}
.gai-form-header-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor}
.gai-book-form .gai-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gai-book-form .gai-field input:not([type="checkbox"]),
.gai-book-form .gai-field select,
.gai-book-form .gai-field textarea{width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 16px;color:#111827;font-size:14px;font-weight:400;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
.gai-book-form .gai-field input:not([type="checkbox"]):focus,
.gai-book-form .gai-field select:focus,
.gai-book-form .gai-field textarea:focus{border-color:#099bd6;box-shadow:0 0 0 2px rgba(9,155,214,.5)}
.gai-book-form .gai-field textarea{min-height:96px;height:auto;line-height:1.5;resize:vertical}
.gai-category-form-trust{margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9}
.gai-category-form-trust>small{display:block;color:#64748b;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.gai-category-form-trust ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:7px}
.gai-category-form-trust li{display:flex;align-items:flex-start;gap:7px;color:#64748b;font-size:10px;line-height:1.45}
.gai-category-form-trust strong{color:#0f172a}
@media(max-width:767px){.gai-book-form .gai-form-grid{grid-template-columns:1fr}}


/* === Drip Doctors V2 Block Theme === */
.ddv2-section{padding:72px 24px;background:#fff}.ddv2-section.ddv2-soft{background:#fafafa}.ddv2-inner{width:min(1180px,100%);margin:0 auto}.ddv2-eyebrow{display:inline-block;color:#099bd6;font:800 11px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.ddv2-title{font:900 clamp(30px,4vw,44px)/1.08 Montserrat,sans-serif;letter-spacing:-.035em;margin:0 0 14px}.ddv2-copy{color:#65707c;line-height:1.75}.ddv2-grid-2,.ddv2-grid-3,.ddv2-grid-4{display:grid;gap:24px}.ddv2-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ddv2-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ddv2-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ddv2-card{height:100%;padding:24px;border:1px solid #eceef1;border-radius:18px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.04)}.ddv2-card h3{font:800 17px/1.3 Montserrat,sans-serif;margin:0 0 10px}.ddv2-card p{color:#65707c;font-size:14px;line-height:1.7}.ddv2-icon{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:12px;background:rgba(9,155,214,.1);color:#099bd6;font-weight:900;margin-bottom:16px}.ddv2-dark{background:#0d0d0d;color:#fff}.ddv2-dark .ddv2-title{color:#fff}.ddv2-dark .ddv2-copy{color:#cbd5e1}.ddv2-note{padding:16px 18px;border:1px solid #bae6fd;border-radius:14px;background:#f0f9ff;color:#334155}.ddv2-warning{padding:24px;border:1px solid #fee2e2;border-radius:18px;background:#fffafa}.ddv2-warning li{margin-bottom:10px}.ddv2-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.ddv2-metric{padding:14px;border:1px solid #eceef1;border-radius:12px;background:#fff}.ddv2-metric small{display:block;color:#8b929c;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.ddv2-metric strong{display:block;font:800 14px Montserrat,sans-serif;margin-top:4px}.ddv2-faq details{background:#fff;border:1px solid #dfe2e6;border-radius:13px;padding:16px 18px;margin-top:10px}.ddv2-faq summary{font:800 14px Montserrat,sans-serif;cursor:pointer}.ddv2-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.ddv2-button a{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:14px 22px;background:#099bd6;color:#fff;font:800 14px Montserrat,sans-serif}.ddv2-button.is-red a{background:#9f1710}.ddv2-savings{padding:20px;border-radius:18px;background:linear-gradient(90deg,#0f172a,#111827,#0f172a);color:#fff;border:1px solid rgba(16,185,129,.35)}.ddv2-savings h2{margin:4px 0;font:900 20px Montserrat,sans-serif}.ddv2-savings p{color:#d1d5db;margin:4px 0 0}.ddv2-editor-guide{border:1px dashed #94a3b8!important}.wp-site-blocks{padding:0}.wp-block-post-content{margin-top:0!important}.ddv2-footer{background:#0d0d0d;color:#fff;padding:64px 24px 28px}.ddv2-footer a{color:#cbd5e1}.ddv2-footer p{color:#a2a7ae}.ddv2-footer .wp-block-heading{color:#099bd6;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.ddv2-footer-bottom{border-top:1px solid #2a2a2a;padding-top:24px;margin-top:30px}.ddv2-site-shell{padding-top:78px}
@media(max-width:900px){.ddv2-grid-4,.ddv2-grid-3,.ddv2-grid-2,.ddv2-metrics{grid-template-columns:1fr 1fr}.ddv2-site-shell{padding-top:69px}}
@media(max-width:600px){.ddv2-section{padding:54px 16px}.ddv2-grid-4,.ddv2-grid-3,.ddv2-grid-2,.ddv2-metrics{grid-template-columns:1fr}.ddv2-buttons{flex-direction:column}.ddv2-button a{width:100%}}


/* ==========================================================
   Drip Doctors V2.1 — section-pattern design system
   ========================================================== */
.dd21-site-shell{padding-top:78px}.dd21-row{padding:72px 24px;background:#fff}.dd21-row>.wp-block-group__inner-container{width:min(1180px,100%);margin-inline:auto}.dd21-eyebrow{display:inline-block!important;width:auto!important;margin:0 0 10px!important;color:#099bd6!important;font:800 10px/1.3 Inter,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase}.dd21-section-heading{text-align:center;max-width:760px;margin:0 auto 42px}.dd21-section-title,.dd21-service-title{font-family:Montserrat,Inter,sans-serif!important;font-weight:900!important;letter-spacing:-.04em!important;color:#0d0d0d!important}.dd21-section-title{font-size:clamp(30px,4vw,42px)!important;line-height:1.08!important;margin:0 0 10px!important}.dd21-service-title{font-size:clamp(38px,5vw,58px)!important;line-height:1.03!important;margin:5px 0 16px!important}.dd21-section-intro,.dd21-service-lead{color:#65707c!important;line-height:1.7}.dd21-section-intro{font-size:15px}.dd21-service-lead{font-size:16px;max-width:780px}.dd21-mini-label,.dd21-spec-label{font:800 9px/1.3 Inter,sans-serif!important;letter-spacing:.09em!important;text-transform:uppercase;color:#8b929c!important}.dd21-spec-value{font:800 13px/1.35 Montserrat,sans-serif!important;color:#0d0d0d!important;margin-top:3px!important}.dd21-pattern-button .wp-block-button__link{border-radius:10px;padding:12px 18px;font:800 12px/1 Montserrat,sans-serif}.dd21-primary .wp-block-button__link{background:#099bd6;color:#fff}.dd21-danger-outline .wp-block-button__link{background:#fff;color:#9f1710;border:1.5px solid #9f1710}.dd21-secondary .wp-block-button__link{background:#fff;color:#0d0d0d;border:1px solid #dfe2e6}.dd21-green .wp-block-button__link{background:#10b981;color:#fff}.dd21-dark-outline .wp-block-button__link{background:#243041;color:#fff;border:1px solid #3d4a5c}.dd21-soft-blue .wp-block-button__link{background:#eaf7fc;color:#0782b4}.dd21-link-button .wp-block-button__link{background:transparent;color:#099bd6;padding:8px 0}.dd21-row .wp-block-button__link:hover{transform:translateY(-1px)}

/* Header: native Site Logo + integrated dynamic nav/mega menu. */
.dd21-global-header{padding:0!important;height:78px;background:rgba(255,255,255,.98)!important;border-top:1px solid #111;border-bottom:1px solid #eceef1;position:fixed;top:0;left:0;right:0;z-index:1000}.admin-bar .dd21-global-header{top:32px}.dd21-header-inner{width:min(1145px,calc(100% - 32px))!important;max-width:none!important;height:77px;margin:0 auto!important;display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;gap:18px!important;align-items:center!important}.dd21-header-logo{margin:0!important}.dd21-header-logo img{display:block;width:auto!important;max-width:172px!important;max-height:50px!important;object-fit:contain}.dd21-header-system{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px}.dd21-header-system .main-nav{margin:0;justify-self:center}.dd21-header-system .header-actions{align-items:center}.dd21-header-system .urgent-line{display:flex;align-items:center;gap:7px;color:#9f1710}.dd21-header-system .urgent-dot{width:7px;height:7px;border-radius:50%;background:#e43a30}.dd21-header-system .urgent-copy{display:grid;line-height:1.1}.dd21-header-system .urgent-label{font:700 7px Inter,sans-serif;letter-spacing:.1em}.dd21-header-system .urgent-phone{font:800 10px Montserrat,sans-serif}.dd21-header-system .header-book{padding:11px 14px;font-size:11px}.dd21-header-system .mobile-nav-close{display:none}.dd21-header-system .mega-menu{right:auto!important;left:50%!important;transform:translateX(-50%) translateY(-5px);width:min(1120px,calc(100vw - 24px));padding:0!important;overflow:hidden;opacity:0;visibility:hidden;display:block!important;border-radius:16px;top:68px;transition:opacity .15s ease,visibility .15s ease,transform .15s ease}.dd21-header-system .mega-wrap.open .mega-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.dd21-header-system .mega-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 22px;background:#fafafa;border-bottom:1px solid #f0f1f2;font-size:11px}.dd21-header-system .mega-summary-title{display:flex;gap:8px;align-items:center;color:#596472}.dd21-header-system .mega-summary-stats{display:flex;align-items:center;gap:10px;color:#6b7280}.dd21-header-system .mega-stat-green{color:#0f9f65}.dd21-header-system .mega-stat-red{color:#9f1710}.dd21-header-system .mega-menu-body{grid-template-columns:320px minmax(0,1fr)!important}.dd21-header-system .mega-cats{max-height:510px;overflow:auto}.dd21-header-system .mega-panels{padding:24px}.dd21-header-system .mega-services-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}.dd21-header-system .mega-service-check svg,.dd21-header-system .mega-cat-arrow svg,.dd21-header-system .mega-dispatch svg,.dd21-header-system .mega-mobile-check svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dd21-header-system .mega-cat-icon svg,.dd21-header-system .mega-panel-icon svg{width:22px;height:22px}.dd21-header-system .mega-mobile-services{display:none}.dd21-header-system .mobile-toggle{display:none}.dd21-header-system .mega-trigger-chevron{margin-left:5px;font-size:13px}.dd21-header-system .mega-service-link{display:flex}.dd21-header-system .mega-panel.active{display:flex!important}.dd21-header-system .mega-panel{display:none!important}.dd21-header-system .mega-trust-strip{margin-top:auto}

/* Hero */
.dd21-home-hero{padding-top:54px;padding-bottom:62px;background:#fff}.dd21-home-hero-grid{gap:62px;align-items:center!important}.dd21-hero-title{font:900 clamp(42px,5.4vw,62px)/.98 Montserrat,sans-serif!important;letter-spacing:-.055em!important;margin:8px 0 18px!important;max-width:650px}.dd21-hero-lead{font-size:15px!important;color:#596472!important;line-height:1.7!important;max-width:650px}.dd21-hero-specs{max-width:410px;gap:12px!important;margin:18px 0 0!important}.dd21-spec{padding:12px 14px;border:1px solid #e7e9ec;border-radius:9px;background:#fff}.dd21-spec p{margin:0}.dd21-hero-actions{gap:10px;margin:16px 0 0}.dd21-hero-benefits{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px!important;margin:20px 0 0!important;padding:16px 0 0!important;border-top:1px solid #eceef1;list-style:none!important}.dd21-hero-benefits li{position:relative;padding-left:15px;color:#5f6975;font-size:10px;line-height:1.45}.dd21-hero-benefits li::before{content:'✓';position:absolute;left:0;color:#099bd6;font-weight:900}.dd21-service-selector{padding:22px!important;border-radius:12px!important;border:1px solid #d9dde2!important;box-shadow:0 7px 18px rgba(15,23,42,.09)!important}.dd21-service-selector h2{font-size:14px!important}.dd21-service-selector .service-selector-heading p{font-size:9px;margin-top:4px}.dd21-service-selector .service-list{gap:5px;margin-top:14px}.dd21-service-selector .service-link{min-height:47px;padding:8px 10px;border-radius:8px}.dd21-service-selector .service-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f5f8fa;color:#64748b;flex:none}.dd21-service-selector .service-icon svg{width:15px;height:15px}.dd21-service-selector .service-link-copy{flex:1;min-width:0;padding-left:8px}.dd21-service-selector .service-link strong{font-size:10px}.dd21-service-selector .service-link small{font-size:8px}.dd21-service-selector .diagnostic-notice{margin-top:10px;padding:8px 10px;border-radius:7px;font-size:8px;display:flex;justify-content:space-between;gap:8px}

/* Savings */
.dd21-savings-row{padding-top:18px;padding-bottom:18px;background:#fff}.dd21-savings-bar{padding:17px 20px;border-radius:12px;background:#102033;color:#fff;box-shadow:0 7px 15px rgba(15,23,42,.12)}.dd21-savings-label{margin:0!important;color:#a7f3d0!important;font-size:8px!important;font-weight:800;letter-spacing:.08em}.dd21-savings-title{margin:4px 0!important;color:#fff!important;font:900 13px/1.35 Montserrat,sans-serif!important}.dd21-savings-copy{margin:0!important;color:#cbd5e1!important;font-size:9px}.dd21-savings-actions{gap:8px}.dd21-savings-actions .wp-block-button__link{font-size:9px;padding:9px 13px}

/* Estimator */
.dd21-estimator-row{background:#fff;padding-top:62px;padding-bottom:70px}.dd21-estimator-row .ddpe-estimator{max-width:1000px;margin:0 auto}.dd21-estimator-row .ddpe-grid{grid-template-columns:320px minmax(0,1fr);gap:18px}.dd21-estimator-row .ddpe-grid>div:first-child{padding:18px;border:1px solid #eceef1;border-radius:13px;background:#fafafa}.dd21-estimator-row .ddpe-grid>div:first-child>h3{margin:0 0 14px;font:700 9px Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#65707c}.dd21-estimator-row .ddpe-symptoms{gap:8px}.dd21-estimator-row .ddpe-symptom-btn{position:relative;margin:0;padding:11px 12px 11px 42px;border-radius:9px;font-size:10px;background:#fff}.dd21-estimator-row .ddpe-symptom-btn::before{content:'◈';position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:5px;background:#eaf7fc;color:#099bd6;display:grid;place-items:center;font-size:10px}.dd21-estimator-row .ddpe-symptom-btn strong{font:800 10px Montserrat,sans-serif}.dd21-estimator-row .ddpe-symptom-btn small{color:#7b8490;font-size:8px}.dd21-estimator-row .ddpe-wizard{min-height:330px;padding:22px;border-radius:13px;box-shadow:none;border:1px solid #eceef1;background:#fff}.dd21-estimator-row .ddpe-wizard h3{font:900 18px/1.3 Montserrat,sans-serif}.dd21-estimator-row .ddpe-option-btn{font-size:10px;padding:11px;border-radius:8px}.dd21-estimator-row .ddpe-price{font-size:28px}

/* Professional Specifications */
.dd21-specifications-row{background:#fafafa;padding-top:62px;padding-bottom:72px}.dd21-specification-grid{gap:22px;align-items:stretch!important;max-width:1000px;margin:0 auto}.dd21-spec-card{padding:24px;border:1px solid #e7e9ec;border-radius:13px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.04)}.dd21-spec-card>h3{position:relative;padding-left:34px;margin:0 0 2px!important;font:800 15px Montserrat,sans-serif!important}.dd21-spec-card>h3::before{position:absolute;left:0;top:-3px;width:23px;height:23px;border-radius:7px;background:#eaf7fc;color:#099bd6;display:grid;place-items:center;font-weight:900}.dd21-symptoms-card>h3::before{content:'?'} .dd21-scope-card>h3::before{content:'▣'}.dd21-spec-card>p{font-size:10px;color:#65707c}.dd21-check-list{list-style:none!important;padding:0!important;margin:15px 0!important}.dd21-check-list li{position:relative;padding:5px 0 5px 20px;font-size:10px;line-height:1.45}.dd21-check-list li::before{content:'☑';position:absolute;left:0;color:#9f1710;font-size:11px}.dd21-scope-grid{gap:10px}.dd21-scope-item{padding:10px;border:1px solid #e9ecef;border-radius:8px;background:#fafafa;margin-bottom:8px}.dd21-scope-item h4{margin:0 0 4px!important;font:800 9px Montserrat,sans-serif!important}.dd21-scope-item p{margin:0!important;font-size:8px;line-height:1.5;color:#65707c}.dd21-pro-cta{padding:14px;margin-top:12px;background:#0d0d0d;border-radius:9px;color:#fff}.dd21-pro-cta h4{color:#fff!important;font-size:10px!important;margin:0!important}.dd21-pro-cta p{color:#aab2bd!important;font-size:8px!important;margin:3px 0 0!important}.dd21-pro-cta .wp-block-button__link{font-size:8px;padding:8px 12px}

/* Standards */
.dd21-standards-row{background:#fff;padding-top:62px;padding-bottom:64px}.dd21-standards-grid{gap:10px;max-width:1000px;margin:0 auto}.dd21-standards-grid>.wp-block-column{display:grid;gap:10px}.dd21-standard-card{position:relative;min-height:116px;padding:18px 18px 16px 52px;border:1px solid #e9ecef;border-radius:11px;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.025)}.dd21-standard-card::before{position:absolute;left:16px;top:17px;width:25px;height:25px;border-radius:7px;background:#eaf7fc;color:#099bd6;display:grid;place-items:center;font-size:12px;font-weight:900}.dd21-icon-shield::before{content:'⌾'}.dd21-icon-dollar::before{content:'$'}.dd21-icon-award::before{content:'★'}.dd21-icon-people::before{content:'⌁'}.dd21-icon-bolt::before{content:'↯';color:#9f1710;background:#fff1f1}.dd21-icon-heart::before{content:'♥'}.dd21-standard-card h3{margin:0 0 5px!important;font:800 11px Montserrat,sans-serif!important}.dd21-standard-card p{margin:0!important;font-size:9px;line-height:1.55;color:#65707c}.dd21-standards-callout{max-width:1000px;margin:12px auto 0;padding:12px 16px;border:1px solid #ccecf8;border-radius:9px;background:#eef9fd}.dd21-standards-callout h3{font-size:10px!important;margin:0!important}.dd21-standards-callout p{font-size:8px;margin:2px 0 0!important;color:#596472}

/* Reviews */
.dd21-reviews-row{background:#fafafa;padding-top:62px;padding-bottom:64px}.dd21-review-heading,.dd21-review-controls,.dd21-review-grid{max-width:1000px;margin-inline:auto}.dd21-review-rating{font-size:10px}.dd21-review-controls .filter-row{margin:16px 0}.dd21-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dd21-review-grid .review-card{padding:14px;border-radius:9px;min-height:145px;box-shadow:0 2px 6px rgba(15,23,42,.03)}.dd21-review-grid .review-meta{font-size:8px}.dd21-review-grid .review-card blockquote{font-size:9px;line-height:1.55}.dd21-review-grid .stars{font-size:9px}.dd21-review-grid .verified{font-size:7px}.dd21-review-grid .filter-btn{font-size:7px;padding:5px 7px}

/* Resources */
.dd21-resources-row{background:#fff;padding-top:62px;padding-bottom:68px}.dd21-resource-heading,.dd21-resource-grid,.dd21-resource-callout{max-width:1000px;margin-inline:auto}.dd21-resource-heading{margin-bottom:28px}.dd21-resource-heading>.wp-block-group{max-width:650px}.dd21-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dd21-resource-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e5e7eb;border-radius:9px;background:#fff;box-shadow:0 3px 8px rgba(15,23,42,.05);transition:.2s}.dd21-resource-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.1)}.dd21-resource-image{height:165px;position:relative;overflow:hidden;background:#eef1f4}.dd21-resource-image img{width:100%;height:100%;object-fit:cover}.dd21-resource-cat,.dd21-resource-time{position:absolute;font:700 7px Inter,sans-serif;padding:5px 7px;border-radius:5px}.dd21-resource-cat{left:8px;top:8px;background:rgba(13,13,13,.86);color:#fff}.dd21-resource-time{right:8px;bottom:8px;background:rgba(255,255,255,.94);color:#334155}.dd21-resource-body{display:flex;flex:1;flex-direction:column;padding:13px}.dd21-resource-meta{font-size:7px;color:#83909d}.dd21-resource-body h3{margin:5px 0!important;font:800 12px/1.35 Montserrat,sans-serif!important}.dd21-resource-body p{margin:0!important;color:#65707c;font-size:8px;line-height:1.55}.dd21-resource-takeaway{margin-top:8px;padding:7px;border-radius:6px;background:#ecfdf5;color:#065f46;font-size:7px}.dd21-resource-read{margin-top:auto;padding-top:12px;font:800 7px Montserrat,sans-serif}.dd21-resource-read b{float:right;width:18px;height:18px;border-radius:50%;background:#eaf7fc;color:#099bd6;display:grid;place-items:center}.dd21-resource-callout{margin-top:22px;padding:16px 18px;background:#0d0d0d;color:#fff;border-radius:9px}.dd21-resource-callout h3{color:#fff!important;font-size:13px!important;margin:0!important}.dd21-resource-callout p{color:#b9c1ca!important;font-size:8px!important;margin:3px 0 0!important}.dd21-resource-callout .wp-block-button__link{font-size:8px;padding:8px 12px}

/* Final CTA */
.dd21-final-cta-row{padding-top:0;padding-bottom:18px;background:#fff}.dd21-final-cta{padding:25px 28px;background:#0d0d0d;color:#fff;border-radius:0}.dd21-final-cta h2,.dd21-final-cta h3{color:#fff!important;margin:0!important;font:900 22px/1.2 Montserrat,sans-serif!important}.dd21-final-cta p{color:#b8c0c9!important;font-size:10px!important;margin:6px 0 0!important}

/* Service/category sections */
.dd21-category-hero,.dd21-single-hero,.dd21-hub-hero,.dd21-discounts-hero,.dd21-service-areas-hero,.dd21-resources-hero{background:#fff;padding-top:54px;padding-bottom:56px}.dd21-category-hero-grid,.dd21-single-hero-grid{gap:34px;align-items:stretch!important}.dd21-service-metrics{gap:8px;margin:20px 0}.dd21-service-metric{padding:12px;border:1px solid #e6e9ed;border-radius:9px;background:#fff}.dd21-local-experts-card,.dd21-booking-col{padding:22px;border:1px solid #e0e4e8;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(15,23,42,.06)}.dd21-local-experts-card h2{font:900 22px/1.2 Montserrat,sans-serif!important}.dd21-service-signals{font-size:10px!important;color:#65707c!important}.dd21-service-options-row,.dd21-local-impact-row,.dd21-faq-row,.dd21-related-row,.dd21-guarantees-row,.dd21-process-row{padding-top:64px;padding-bottom:64px}.dd21-service-options-row,.dd21-process-row,.dd21-related-row{background:#fafafa}.dd21-service-card-grid,.dd21-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dd21-service-card{display:flex;flex-direction:column;padding:18px;border:1px solid #e7e9ec;border-radius:11px;background:#fff}.dd21-service-card h3{font:800 13px Montserrat,sans-serif}.dd21-service-card p{font-size:9px;color:#65707c;line-height:1.55}.dd21-service-card .btn{align-self:flex-start;margin-top:auto;font-size:9px;padding:9px 11px}.dd21-card-check{width:23px;height:23px;border-radius:7px;background:#eaf7fc;color:#099bd6;display:grid;place-items:center;font-size:11px}.dd21-local-impact-grid{gap:28px}.dd21-local-impact-copy p,.dd21-warning-card li{font-size:11px;line-height:1.7;color:#596472}.dd21-local-note{padding:12px 14px;border:1px solid #bae6fd;border-radius:9px;background:#f0f9ff}.dd21-warning-card{padding:22px;border:1px solid #fee2e2;border-radius:12px;background:#fffafa}.dd21-danger-label{color:#9f1710!important;font:800 9px Inter,sans-serif!important;letter-spacing:.09em;text-transform:uppercase}.dd21-warning-card h3{font:900 21px Montserrat,sans-serif!important}.dd21-warning-list{padding-left:18px!important}.dd21-process-grid,.dd21-guarantee-grid,.dd21-hub-grid{gap:12px}.dd21-process-card,.dd21-guarantee-card,.dd21-hub-card{padding:18px;border:1px solid #e7e9ec;border-radius:11px;background:#fff}.dd21-process-number{color:rgba(9,155,214,.3)!important;font:900 22px Montserrat,sans-serif!important}.dd21-process-card h3,.dd21-guarantee-card h3,.dd21-hub-card h3{font:800 12px Montserrat,sans-serif!important}.dd21-process-card p,.dd21-guarantee-card p,.dd21-hub-card p{font-size:9px;color:#65707c;line-height:1.55}.dd21-faq-list{max-width:900px;margin:0 auto}.dd21-faq-list details{padding:14px 16px;border:1px solid #dfe2e6;border-radius:9px;background:#fff;margin-bottom:8px}.dd21-faq-list summary{font:800 11px Montserrat,sans-serif;cursor:pointer}.dd21-faq-list p{font-size:10px;color:#65707c}.dd21-related-card{display:flex;align-items:center;justify-content:space-between;padding:14px;border:1px solid #e5e7eb;border-radius:9px;background:#fff;font-size:10px}.dd21-community-row,.dd21-commitments-row,.dd21-area-expertise-row,.dd21-calculator-row{padding-top:64px;padding-bottom:64px}.dd21-local-quote-row{padding-top:0;padding-bottom:26px}.dd21-local-quote-row .dd21-final-cta{border-radius:14px}

/* Footer native Site Logo */
.dd21-footer{background:#0d0d0d;color:#fff;padding:48px 24px 22px}.dd21-footer>.wp-block-group__inner-container{width:min(1000px,100%);margin:0 auto}.dd21-footer-main{gap:34px}.dd21-footer-logo img{display:block;width:auto!important;max-width:176px!important;max-height:54px!important}.dd21-footer-tagline{margin-top:6px!important;color:#099bd6!important;font:800 8px Inter,sans-serif!important;letter-spacing:.11em}.dd21-footer h3{margin:0 0 12px!important;color:#099bd6!important;font:800 10px Montserrat,sans-serif!important;text-transform:uppercase;letter-spacing:.08em}.dd21-footer p,.dd21-footer li,.dd21-footer a{color:#a2a7ae;font-size:9px;line-height:1.6}.dd21-footer ul{list-style:none;padding:0}.dd21-footer-credentials{font-size:8px!important}.dd21-footer-scheduling{padding:18px 0;border-top:1px solid #25282d;border-bottom:1px solid #25282d;margin-top:24px}.dd21-footer-scheduling h3{color:#fff!important;text-transform:none;letter-spacing:0;font-size:11px!important;margin:0!important}.dd21-footer-scheduling p{margin:3px 0 0!important}.dd21-footer-scheduling .wp-block-button__link{background:#099bd6;color:#fff;font-size:9px;padding:9px 13px}.dd21-footer-bottom{padding-top:16px}.dd21-footer-bottom p{font-size:7px!important;max-width:700px}.dd21-footer-bottom .wp-block-navigation-item__content{font-size:7px}

/* Editor: make each row obvious in List View / canvas without exposing design controls. */
.editor-styles-wrapper .dd21-row{outline:1px dashed rgba(9,155,214,.22);outline-offset:-1px}.editor-styles-wrapper .dd21-row:hover{outline-color:#099bd6}

@media(max-width:1050px){.dd21-header-inner{grid-template-columns:155px minmax(0,1fr)!important}.dd21-header-logo img{max-width:145px!important}.dd21-header-system{gap:10px}.primary-menu{gap:20px}.dd21-header-system .header-actions{display:none}.dd21-home-hero-grid{gap:34px}.dd21-review-grid,.dd21-resource-grid,.dd21-service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.admin-bar .dd21-global-header{top:46px}.dd21-global-header{height:69px}.dd21-site-shell{padding-top:69px}.dd21-header-inner{height:68px!important;grid-template-columns:minmax(0,1fr) auto!important}.dd21-header-logo img{max-height:43px!important}.dd21-header-system{display:flex;justify-content:flex-end}.dd21-header-system .mobile-toggle{display:block;margin:0}.dd21-header-system .mobile-nav-close{display:none}.site-header.mobile-open .dd21-header-system .mobile-nav-close{display:block;position:fixed;right:18px;top:18px;z-index:1105;width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f9;font-size:26px}.admin-bar .site-header.mobile-open .dd21-header-system .mobile-nav-close{top:64px}.site-header.mobile-open .dd21-header-system .mobile-toggle{display:none}.dd21-header-system .main-nav{display:none}.site-header.mobile-open .dd21-header-system .main-nav{display:block;position:fixed;z-index:1100;inset:69px 0 0;background:#fff;padding:20px 22px 40px;overflow:auto}.admin-bar .site-header.mobile-open .dd21-header-system .main-nav{top:115px}.dd21-header-system .primary-menu{height:auto;display:block}.dd21-header-system .primary-menu>li{display:block}.dd21-header-system .primary-menu>li>.nav-link,.dd21-header-system .mega-trigger{width:100%;min-height:0;padding:13px 0!important;text-align:left;justify-content:space-between}.dd21-header-system .mega-menu,.admin-bar .dd21-header-system .mega-menu{position:static!important;transform:none!important;width:100%!important;max-height:0!important;opacity:1!important;visibility:visible!important;border:0!important;border-radius:10px!important;box-shadow:none!important;margin:0!important;transition:max-height .2s ease!important}.dd21-header-system .mega-wrap.open .mega-menu{max-height:1800px!important}.dd21-header-system .mega-summary{display:none}.dd21-header-system .mega-menu-body{display:block!important}.dd21-header-system .mega-cats{max-height:none;overflow:visible;border:0!important;padding:8px!important}.dd21-header-system .mega-panels{display:none!important}.dd21-header-system .mega-mobile-services{display:none;padding:4px 8px 10px 56px}.dd21-header-system .mega-cat.mobile-open + .mega-mobile-services{display:grid;gap:5px}.dd21-header-system .mega-mobile-explore,.dd21-header-system .mega-mobile-service-link{padding:8px 0;font-size:10px}.dd21-header-system .mega-mobile-service-link{display:flex;gap:7px;align-items:center}.dd21-header-system .mega-cat{margin-bottom:4px!important}.dd21-header-system .header-actions{display:none}.dd21-home-hero-grid,.dd21-category-hero-grid,.dd21-single-hero-grid,.dd21-specification-grid,.dd21-local-impact-grid{display:block!important}.dd21-home-selector-col,.dd21-local-experts-card,.dd21-booking-col{margin-top:28px}.dd21-home-hero{padding-top:42px}.dd21-row{padding-left:18px;padding-right:18px}.dd21-standards-grid,.dd21-process-grid,.dd21-guarantee-grid,.dd21-hub-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.dd21-estimator-row .ddpe-grid{grid-template-columns:1fr}.dd21-hero-title{font-size:48px!important}}
@media(max-width:600px){.dd21-row{padding:50px 14px}.dd21-home-hero{padding-top:32px}.dd21-hero-title{font-size:38px!important}.dd21-service-title{font-size:36px!important}.dd21-hero-specs,.dd21-service-metrics,.dd21-standards-grid,.dd21-process-grid,.dd21-guarantee-grid,.dd21-hub-grid{display:grid!important;grid-template-columns:1fr!important}.dd21-hero-benefits{grid-template-columns:1fr}.dd21-savings-bar,.dd21-review-heading,.dd21-resource-heading,.dd21-resource-callout,.dd21-final-cta,.dd21-footer-scheduling,.dd21-footer-bottom{align-items:flex-start!important;flex-direction:column!important}.dd21-review-grid,.dd21-resource-grid,.dd21-service-card-grid,.dd21-related-grid{grid-template-columns:1fr}.dd21-spec-card{padding:18px}.dd21-footer-main{display:block!important}.dd21-footer-main>.wp-block-column{margin-bottom:24px}.dd21-final-cta-row{padding-top:0}.dd21-header-inner{width:calc(100% - 24px)!important}}


/* ==========================================================
   V2.1.1 MINI MEGA MENU — V1 VISUAL STRUCTURE
   Keeps WordPress-driven categories/services while restoring
   the compact two-column desktop navigation treatment.
   ========================================================== */
@media (min-width:901px){
  .site-header .mega-menu,
  .admin-bar .site-header .mega-menu{
    width:min(1280px,calc(100vw - 40px))!important;
    max-height:min(720px,calc(100vh - 110px))!important;
    overflow:hidden!important;
    border-radius:16px!important;
    background:#fff!important;
    border:1px solid #dde2e8!important;
    box-shadow:0 22px 48px rgba(15,23,42,.16)!important;
  }

  .site-header .mega-summary{
    min-height:50px!important;
    padding:0 26px!important;
    background:#fbfcfd!important;
    border-bottom:1px solid #eceff2!important;
  }

  .site-header .mega-summary-title{
    gap:10px!important;
    color:#536173!important;
    font-size:12px!important;
    font-weight:600!important;
  }

  .site-header .mega-summary-stats{
    gap:15px!important;
    font-size:11px!important;
  }

  .site-header .mega-menu-body{
    display:grid!important;
    grid-template-columns:minmax(340px,4fr) minmax(0,8fr)!important;
    align-items:stretch!important;
    min-height:420px!important;
    max-height:calc(min(720px,100vh - 160px))!important;
  }

  .site-header .mega-cats{
    display:block!important;
    grid-column:auto!important;
    width:auto!important;
    min-width:0!important;
    padding:18px 16px 16px!important;
    overflow-y:auto!important;
    border:0!important;
    border-right:1px solid #edf0f3!important;
    background:#fafbfc!important;
  }

  .site-header .mega-cats-label{
    margin:1px 12px 13px!important;
    color:#9aa4b1!important;
    font:800 10px/1 Montserrat,sans-serif!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
  }

  .site-header .mega-cat{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr) 18px!important;
    align-items:center!important;
    gap:11px!important;
    width:100%!important;
    min-height:58px!important;
    margin:0 0 7px!important;
    padding:8px 10px!important;
    border:1px solid transparent!important;
    border-radius:12px!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .site-header .mega-cat-copy{
    align-self:center!important;
    padding:0!important;
  }

  .site-header .mega-cat-copy strong{
    display:block!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    color:#344050!important;
    font:750 14px/1.25 Montserrat,sans-serif!important;
  }

  .site-header .mega-cat-copy small{
    display:none!important;
  }

  .site-header .mega-cat-icon{
    width:42px!important;
    height:42px!important;
    border-radius:10px!important;
    background:#f2f4f6!important;
    color:#718093!important;
  }

  .site-header .mega-cat.active{
    border-color:rgba(9,155,214,.24)!important;
    background:#fff!important;
    box-shadow:0 4px 10px rgba(15,23,42,.08)!important;
    outline:1px solid rgba(9,155,214,.08)!important;
  }

  .site-header .mega-cat.active .mega-cat-icon{
    background:#099bd6!important;
    color:#fff!important;
  }

  .site-header .mega-cat.active .mega-cat-copy strong{
    color:#099bd6!important;
  }

  .site-header .mega-cat-accent{
    top:10px!important;
    bottom:10px!important;
    width:4px!important;
  }

  .site-header .mega-panels{
    display:flex!important;
    grid-column:auto!important;
    min-width:0!important;
    padding:30px 28px 24px!important;
    overflow-y:auto!important;
    background:#fff!important;
  }

  .site-header .mega-panel{
    min-height:360px!important;
    width:100%!important;
  }

  .site-header .mega-panel-header{
    min-height:54px!important;
    gap:24px!important;
  }

  .site-header .mega-panel-heading{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:14px!important;
  }

  .site-header .mega-panel-icon{
    width:48px!important;
    height:48px!important;
    border-radius:12px!important;
    background:#edf8fc!important;
    color:#099bd6!important;
  }

  .site-header .mega-panel-title-row{
    gap:9px!important;
    align-items:baseline!important;
  }

  .site-header .mega-panel-title-row h3{
    color:#0d0d0d!important;
    font:900 21px/1.1 Montserrat,sans-serif!important;
    letter-spacing:-.03em!important;
  }

  .site-header .mega-panel-title-row span{
    color:#87919e!important;
    font-size:11px!important;
  }

  .site-header .mega-panel-heading p{
    display:none!important;
  }

  .site-header .mega-explore{
    min-height:42px!important;
    padding:0 16px!important;
    border-radius:10px!important;
    background:#edf8fc!important;
    color:#099bd6!important;
    font:800 12px/1 Montserrat,sans-serif!important;
  }

  .site-header .mega-panel-rule{
    margin:18px 0 12px!important;
    background:#edf0f3!important;
  }

  .site-header .mega-services-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:32px!important;
    row-gap:2px!important;
    align-content:start!important;
  }

  .site-header .mega-service-link{
    min-height:44px!important;
    padding:9px 10px!important;
    gap:10px!important;
    border-radius:9px!important;
  }

  .site-header .mega-service-check{
    width:17px!important;
    height:17px!important;
    margin-top:0!important;
    color:#0aba7a!important;
  }

  .site-header .mega-service-title{
    color:#273342!important;
    font:650 12px/1.35 Inter,Arial,sans-serif!important;
  }

  .site-header .mega-trust-strip{
    margin-top:auto!important;
    padding:13px 14px!important;
    min-height:66px!important;
    border:1px solid #edf0f3!important;
    border-radius:12px!important;
    background:#fafbfc!important;
  }

  .site-header .mega-trust-copy strong{
    color:#273342!important;
    font-size:12px!important;
  }

  .site-header .mega-trust-copy small{
    margin-top:2px!important;
    color:#8b95a2!important;
    font-size:10px!important;
  }

  .site-header .mega-dispatch{
    min-height:40px!important;
    padding:0 17px!important;
    background:#ad170f!important;
    color:#fff!important;
    border-radius:9px!important;
    font:800 12px/1 Montserrat,sans-serif!important;
  }

  .site-header .mega-mobile-services{
    display:none!important;
  }
}

@media (min-width:901px) and (max-height:760px){
  .site-header .mega-menu{
    max-height:calc(100vh - 100px)!important;
  }
  .site-header .mega-menu-body{
    min-height:360px!important;
    max-height:calc(100vh - 150px)!important;
  }
  .site-header .mega-cat{
    min-height:52px!important;
    margin-bottom:4px!important;
  }
  .site-header .mega-panels{
    padding-top:22px!important;
    padding-bottom:18px!important;
  }
}


/* ==========================================================
   V2.1.2 HOMEPAGE VERTICAL RHYTHM / SCROLLABILITY
   Reduces excessive blank space between section-level patterns
   while preserving the existing V1-inspired content proportions.
   ========================================================== */

/* Shared homepage rhythm */
.dd21-row{
  padding-top:52px!important;
  padding-bottom:52px!important;
}
.dd21-section-heading{
  margin-bottom:28px!important;
}
.dd21-section-title{
  margin-bottom:7px!important;
}
.dd21-section-intro{
  line-height:1.55!important;
}

/* Hero: keep it substantial but avoid an oversized first viewport. */
.dd21-home-hero{
  padding-top:42px!important;
  padding-bottom:44px!important;
}
.dd21-home-hero-grid{
  gap:48px!important;
}
.dd21-hero-title{
  margin-top:6px!important;
  margin-bottom:14px!important;
}
.dd21-hero-lead{
  line-height:1.55!important;
}
.dd21-hero-specs{
  margin-top:14px!important;
}
.dd21-hero-actions{
  margin-top:13px!important;
}
.dd21-hero-benefits{
  margin-top:15px!important;
  padding-top:13px!important;
}

/* Savings is a connector row, not its own large section. */
.dd21-savings-row{
  padding-top:14px!important;
  padding-bottom:14px!important;
}

/* Estimator: largest source of perceived dead space in current build. */
.dd21-estimator-row{
  padding-top:46px!important;
  padding-bottom:48px!important;
}
.dd21-estimator-row .dd21-section-heading{
  margin-bottom:24px!important;
}
.dd21-estimator-row .ddpe-grid{
  gap:14px!important;
}
.dd21-estimator-row .ddpe-grid>div:first-child{
  padding:15px!important;
}
.dd21-estimator-row .ddpe-wizard{
  min-height:260px!important;
  padding:19px!important;
}

/* Specifications */
.dd21-specifications-row{
  padding-top:48px!important;
  padding-bottom:50px!important;
}
.dd21-specification-grid{
  gap:18px!important;
}
.dd21-spec-card{
  padding:21px!important;
}

/* Standards */
.dd21-standards-row{
  padding-top:48px!important;
  padding-bottom:50px!important;
}
.dd21-standards-row .dd21-section-heading{
  margin-bottom:24px!important;
}
.dd21-standard-card{
  min-height:108px!important;
}
.dd21-standards-callout{
  margin-top:10px!important;
}

/* Reviews */
.dd21-reviews-row{
  padding-top:48px!important;
  padding-bottom:50px!important;
}
.dd21-review-heading{
  margin-bottom:0!important;
}
.dd21-review-controls .filter-row{
  margin:13px 0!important;
}

/* The small black CTA should visually bridge reviews/resources. */
.dd21-final-cta-row{
  padding-top:12px!important;
  padding-bottom:12px!important;
}
.dd21-final-cta{
  padding-top:20px!important;
  padding-bottom:20px!important;
}

/* Resources */
.dd21-resources-row{
  padding-top:48px!important;
  padding-bottom:52px!important;
}
.dd21-resource-heading{
  margin-bottom:20px!important;
}
.dd21-resource-callout{
  margin-top:18px!important;
}

/* Prevent default Gutenberg block gaps from adding invisible vertical space
   between the page's top-level section patterns. */
.dd21-site-shell > .wp-block-post-content,
.dd21-site-shell .wp-block-post-content{
  margin-top:0!important;
}
.dd21-site-shell .wp-block-post-content > .dd21-row,
.dd21-site-shell .wp-block-post-content > .wp-block-group.dd21-row{
  margin-block-start:0!important;
  margin-block-end:0!important;
}
.dd21-site-shell .wp-block-post-content > * + *{
  margin-block-start:0;
}

/* Tablet */
@media (max-width:900px){
  .dd21-row{
    padding-top:44px!important;
    padding-bottom:44px!important;
  }
  .dd21-home-hero{
    padding-top:34px!important;
    padding-bottom:38px!important;
  }
  .dd21-home-hero-grid{
    gap:30px!important;
  }
  .dd21-section-heading{
    margin-bottom:24px!important;
  }
  .dd21-estimator-row,
  .dd21-specifications-row,
  .dd21-standards-row,
  .dd21-reviews-row,
  .dd21-resources-row{
    padding-top:42px!important;
    padding-bottom:44px!important;
  }
  .dd21-estimator-row .ddpe-wizard{
    min-height:230px!important;
  }
}

/* Mobile */
@media (max-width:600px){
  .dd21-row{
    padding:38px 14px!important;
  }
  .dd21-home-hero{
    padding-top:26px!important;
    padding-bottom:32px!important;
  }
  .dd21-savings-row{
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .dd21-section-heading{
    margin-bottom:20px!important;
  }
  .dd21-estimator-row,
  .dd21-specifications-row,
  .dd21-standards-row,
  .dd21-reviews-row,
  .dd21-resources-row{
    padding-top:36px!important;
    padding-bottom:38px!important;
  }
  .dd21-estimator-row .ddpe-wizard{
    min-height:0!important;
  }
  .dd21-final-cta-row{
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
}


/* V2.1.3 full-site shared block-page rows */
.dd21-reviews-hub-hero,
.dd21-booking-page-row{
  padding-top:56px;
  padding-bottom:56px;
  background:#fff;
}
.dd21-reviews-hub-hero .dd21-service-title,
.dd21-booking-page-row .dd21-service-title{
  max-width:820px;
}
.dd21-reviews-hub-hero .dd21-service-lead,
.dd21-booking-page-row .dd21-service-lead{
  max-width:760px;
}
.dd21-booking-page-grid{
  align-items:flex-start;
  gap:36px;
}
.dd21-booking-page-benefits{
  margin-top:22px;
}
@media(max-width:900px){
  .dd21-reviews-hub-hero,
  .dd21-booking-page-row{
    padding-top:44px;
    padding-bottom:44px;
  }
}


/* ==========================================================
   V2.2.1 WHY CHOOSE US — V1 DESIGN PORT
   Recreates the original Why Choose Us visual system while
   keeping the page assembled from editable Gutenberg rows.
   ========================================================== */

.dd22-wcu-hero,
.dd22-wcu-commitments-row,
.dd22-wcu-community-row,
.dd22-wcu-local-quote-row{
  background:#fff;
  color:#0D0D0D;
}

.dd22-wcu-icon{
  display:block;
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.dd22-wcu-hero{
  position:relative;
  padding-top:68px!important;
  padding-bottom:58px!important;
  background:
    radial-gradient(circle at 82% 10%,rgba(9,155,214,.08),transparent 28rem),
    radial-gradient(circle at 12% 70%,rgba(16,185,129,.045),transparent 24rem),
    #fff;
}
.dd22-wcu-hero-inner{text-align:center}
.dd22-wcu-hero-pill{
  display:inline-flex!important;
  width:auto!important;
  margin:0 auto 16px!important;
  padding:5px 12px!important;
  border:1px solid rgba(9,155,214,.20);
  border-radius:999px;
  background:rgba(9,155,214,.10);
  color:#099bd6!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.dd22-wcu-hero-title{
  max-width:900px;
  margin:0 auto 20px!important;
  font:900 clamp(38px,5vw,58px)/1.04 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.045em!important;
  text-align:center;
}
.dd22-wcu-hero-copy{
  max-width:780px;
  margin:0 auto!important;
  color:#667085!important;
  font-size:16px!important;
  line-height:1.7!important;
  text-align:center;
}
.dd22-wcu-directory-heading{
  margin-top:58px!important;
  text-align:center;
}
.dd22-wcu-label{
  margin:0!important;
  color:#099bd6!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.dd22-wcu-heading{
  margin:8px 0 0!important;
  font:900 clamp(30px,4vw,44px)/1.08 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.035em!important;
}
.dd22-wcu-directory-grid,
.dd22-wcu-guarantees-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  margin-top:36px!important;
}
.dd22-wcu-hub-card{
  position:relative;
  display:flex!important;
  flex-direction:column;
  min-width:0;
  height:100%;
  padding:22px!important;
  border:1px solid #eaecf0!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(15,23,42,.04)!important;
  text-align:left;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.dd22-wcu-hub-card:hover{
  transform:translateY(-3px);
  border-color:#d0d5dd!important;
  box-shadow:0 18px 40px rgba(15,23,42,.09)!important;
}
.dd22-wcu-card-top{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:48px;
  margin-bottom:16px!important;
}
.dd22-wcu-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:16px;
  background:rgba(9,155,214,.09);
  color:#099bd6;
}
.dd22-wcu-card-green .dd22-wcu-card-icon{background:#ecfdf3;color:#059669}
.dd22-wcu-card-dark .dd22-wcu-card-icon{background:#f2f4f7;color:#0D0D0D}
.dd22-wcu-card-orange .dd22-wcu-card-icon{background:#fff7ed;color:#ea580c}
.dd22-wcu-card-badge{
  width:auto!important;
  margin:0!important;
  padding:6px 9px!important;
  border-radius:9px;
  background:#f2f4f7;
  color:#101828!important;
  font-size:10px!important;
  font-weight:850!important;
  letter-spacing:.04em;
  white-space:nowrap;
}
.dd22-wcu-card-green .dd22-wcu-card-badge{background:#ecfdf3;color:#047857!important}
.dd22-wcu-card-orange .dd22-wcu-card-badge{background:#fff7ed;color:#c2410c!important}
.dd22-wcu-hub-card h3{
  margin:0!important;
  font:850 17px/1.3 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.02em;
}
.dd22-wcu-card-copy{
  margin:9px 0 0!important;
  color:#667085!important;
  font-size:13px!important;
  line-height:1.6!important;
}
.dd22-wcu-card-list{
  display:grid!important;
  gap:9px!important;
  margin:18px 0 20px!important;
  padding:0!important;
  list-style:none!important;
}
.dd22-wcu-card-list li{
  position:relative;
  padding-left:20px;
  color:#475467;
  font-size:12px;
  line-height:1.45;
}
.dd22-wcu-card-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#099bd6;
  font-weight:900;
}
.dd22-wcu-card-green .dd22-wcu-card-list li::before{color:#059669}
.dd22-wcu-card-dark .dd22-wcu-card-list li::before{color:#0D0D0D}
.dd22-wcu-card-orange .dd22-wcu-card-list li::before{color:#ea580c}
.dd22-wcu-card-button{
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  margin-top:auto!important;
  padding:12px 14px!important;
  border:0!important;
  border-radius:12px!important;
  background:#099bd6!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  text-align:center;
  text-decoration:none!important;
}
.dd22-wcu-card-green .dd22-wcu-card-button{background:#059669!important}
.dd22-wcu-card-dark .dd22-wcu-card-button{background:#0D0D0D!important}
.dd22-wcu-card-orange .dd22-wcu-card-button{background:#ea580c!important}

.dd22-wcu-commitments-row{
  padding-top:60px!important;
  padding-bottom:62px!important;
  background:#fafafa!important;
  border-top:1px solid #f3f4f6;
  border-bottom:1px solid #f3f4f6;
}
.dd22-wcu-commitments-header{text-align:center}
.dd22-wcu-guarantees-grid{margin-top:34px!important}
.dd22-wcu-guarantee{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  height:100%;
  padding:26px!important;
  border:1px solid #f0f1f3!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(15,23,42,.035)!important;
  text-align:left;
  transition:transform .25s ease,box-shadow .25s ease;
}
.dd22-wcu-guarantee:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 35px rgba(15,23,42,.08)!important;
}
.dd22-wcu-guarantee-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:18px;
  border-radius:16px;
  background:rgba(9,155,214,.10);
  color:#099bd6;
}
.dd22-wcu-guarantee h3{
  margin:0!important;
  font:850 16px/1.35 Montserrat,Inter,sans-serif!important;
}
.dd22-wcu-guarantee p{
  margin:10px 0 0!important;
  color:#667085!important;
  font-size:13px!important;
  line-height:1.65!important;
}

.dd22-wcu-community-row{
  padding-top:58px!important;
  padding-bottom:58px!important;
  border-top:1px solid #f3f4f6;
  border-bottom:1px solid #f3f4f6;
}
.dd22-wcu-community-inner{
  max-width:1024px!important;
  margin:0 auto!important;
}
.dd22-wcu-community-badge{
  display:inline-flex!important;
  width:auto!important;
  margin:0 0 14px!important;
  padding:5px 10px!important;
  border-radius:6px;
  background:#fff1f2;
  color:#e11d48!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.dd22-wcu-community-title{
  max-width:850px;
  margin:0 0 14px!important;
  font:900 clamp(28px,3.5vw,36px)/1.12 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.035em!important;
}
.dd22-wcu-community-copy{
  max-width:900px;
  margin:0!important;
  color:#667085!important;
  font-size:14px!important;
  line-height:1.75!important;
}

.dd22-wcu-local-quote-row{
  padding-top:0!important;
  padding-bottom:44px!important;
}
.dd22-wcu-local-quote{
  max-width:1180px;
  margin:0 auto!important;
  padding:28px 32px!important;
  border-radius:20px!important;
  background:#0D0D0D!important;
  color:#fff!important;
  box-shadow:0 24px 60px rgba(15,23,42,.18)!important;
}
.dd22-wcu-final-label{
  margin:0 0 8px!important;
  color:#fb7185!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.dd22-wcu-final-quote{
  max-width:780px;
  margin:0!important;
  color:#fff!important;
  font:800 clamp(18px,2vw,22px)/1.45 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.02em!important;
}
.dd22-wcu-final-author{
  margin:7px 0 0!important;
  color:#98a2b3!important;
  font-size:11px!important;
}

@media(max-width:1024px){
  .dd22-wcu-directory-grid,
  .dd22-wcu-guarantees-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .dd22-wcu-hero{
    padding-top:42px!important;
    padding-bottom:44px!important;
  }
  .dd22-wcu-directory-heading{margin-top:42px!important}
  .dd22-wcu-directory-grid,
  .dd22-wcu-guarantees-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  .dd22-wcu-hub-card,
  .dd22-wcu-guarantee{
    padding:20px!important;
  }
  .dd22-wcu-commitments-row,
  .dd22-wcu-community-row{
    padding-top:44px!important;
    padding-bottom:44px!important;
  }
  .dd22-wcu-local-quote{
    padding:24px!important;
    border-radius:16px!important;
  }
}


/* ==========================================================
   V2.2.2 SERVICE AREAS — V1 DESIGN PORT + COMPACT COVERAGE
   ========================================================== */
.dd22-sa-hero,
.dd22-sa-lookup-row,
.dd22-sa-expertise-row,
.dd22-sa-dispatch-row,
.dd22-sa-faq-row,
.dd22-sa-compact-row{
  color:#0f172a;
}
.dd22-sa-hero{
  padding-top:60px!important;
  padding-bottom:54px!important;
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;
  border-bottom:1px solid #e5e7eb;
}
.dd22-sa-hero-inner{
  max-width:960px!important;
  margin:0 auto!important;
  text-align:center;
}
.dd22-sa-pill{
  display:inline-flex!important;
  width:auto!important;
  margin:0 auto 14px!important;
  padding:5px 10px!important;
  border:1px solid rgba(2,132,199,.18);
  border-radius:999px;
  background:rgba(2,132,199,.09);
  color:#0284c7!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.dd22-sa-hero-title{
  max-width:880px;
  margin:0 auto 16px!important;
  font:900 clamp(38px,5vw,56px)/1.05 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.045em!important;
}
.dd22-sa-hero-copy{
  max-width:800px;
  margin:0 auto!important;
  color:#64748b!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.dd22-sa-metrics{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  max-width:820px;
  margin:28px auto 0!important;
}
.dd22-sa-metric{
  padding:14px!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 2px 6px rgba(15,23,42,.035)!important;
  text-align:left;
}
.dd22-sa-metric-label{
  margin:0!important;
  color:#94a3b8!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.08em;
}
.dd22-sa-metric-value{
  margin:4px 0 0!important;
  color:#0f172a!important;
  font:800 12px/1.25 Montserrat,Inter,sans-serif!important;
}
.dd22-sa-metric-green .dd22-sa-metric-value{color:#047857!important}
.dd22-sa-metric-red .dd22-sa-metric-value{color:#b91c1c!important}

.dd22-sa-lookup-row{
  padding-top:48px!important;
  padding-bottom:52px!important;
  background:#fff!important;
  border-bottom:1px solid #e5e7eb;
}
.dd22-sa-section-heading{
  max-width:780px!important;
  margin:0 auto 28px!important;
  text-align:center;
}
.dd22-sa-label{
  margin:0!important;
  color:#0284c7!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.dd22-sa-heading{
  margin:7px 0 8px!important;
  font:900 clamp(28px,4vw,40px)/1.08 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.035em!important;
}
.dd22-sa-intro{
  margin:0!important;
  color:#64748b!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.dd22-sa-lookup-tool{
  max-width:1180px;
  margin:0 auto;
}
.dd22-sa-search-wrap{
  max-width:720px;
  margin:0 auto 14px;
}
.dd22-sa-search-input{
  width:100%;
  padding:15px 16px;
  border:1px solid #dbe2ea;
  border-radius:15px;
  background:#f8fafc;
  color:#0f172a;
  font-size:14px;
  outline:none;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
.dd22-sa-search-input:focus{
  border-color:#38bdf8;
  box-shadow:0 0 0 3px rgba(2,132,199,.10);
}
.dd22-sa-lookup-result{
  max-width:720px;
  margin:0 auto 18px;
  padding:13px 15px;
  border:1px solid #a7f3d0;
  border-radius:13px;
  background:#ecfdf5;
  color:#065f46;
  font-size:12px;
}
.dd22-sa-lookup-result strong{display:block}
.dd22-sa-lookup-result span{display:block;margin-top:2px;color:#64748b}
.dd22-sa-zip-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.dd22-sa-zip-card{
  display:flex;
  flex-direction:column;
  min-height:126px;
  padding:14px;
  border:1px solid #e2e8f0;
  border-radius:14px;
  background:#f8fafc;
  transition:.2s;
}
.dd22-sa-zip-card:hover{
  border-color:rgba(2,132,199,.3);
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.07);
}
.dd22-sa-zip-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.dd22-sa-zip-top strong{color:#0284c7;font:800 13px/1.2 ui-monospace,monospace}
.dd22-sa-zip-top span{
  padding:3px 6px;
  border-radius:6px;
  background:#d1fae5;
  color:#047857;
  font-size:9px;
  font-weight:800;
}
.dd22-sa-zip-card h3{
  margin:8px 0 2px!important;
  font:800 13px/1.25 Montserrat,Inter,sans-serif!important;
}
.dd22-sa-zip-card p{
  margin:0!important;
  color:#64748b!important;
  font-size:10px!important;
}
.dd22-sa-zip-bottom{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
  padding-top:9px;
  border-top:1px solid #e2e8f0;
  color:#64748b;
  font-size:9px;
}

.dd22-sa-expertise-row{
  padding-top:54px!important;
  padding-bottom:58px!important;
  background:#f8fafc!important;
  border-bottom:1px solid #e5e7eb;
}
.dd22-sa-zone-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
}
.dd22-sa-zone-card{
  display:flex!important;
  flex-direction:column;
  min-width:0;
  padding:26px!important;
  border:1px solid #e2e8f0!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(15,23,42,.04)!important;
}
.dd22-sa-zone-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid #eef2f6;
}
.dd22-sa-zone-card h3{
  margin:0!important;
  font:850 18px/1.25 Montserrat,Inter,sans-serif!important;
}
.dd22-sa-zone-county{
  margin:4px 0 0!important;
  color:#64748b!important;
  font-size:10px!important;
}
.dd22-sa-response-badge{
  width:auto!important;
  margin:0!important;
  padding:5px 8px!important;
  border-radius:999px;
  background:rgba(2,132,199,.09);
  color:#0284c7!important;
  font-size:9px!important;
  font-weight:800!important;
  white-space:nowrap;
}
.dd22-sa-zone-copy{
  margin:16px 0!important;
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.6!important;
}
.dd22-sa-zone-label{
  margin:8px 0 7px!important;
  color:#94a3b8!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.dd22-sa-issue-list{
  display:grid!important;
  gap:7px!important;
  margin:0 0 8px!important;
  padding:0!important;
  list-style:none!important;
}
.dd22-sa-issue-list li{
  position:relative;
  padding:9px 10px 9px 22px;
  border:1px solid #eef2f6;
  border-radius:10px;
  background:#f8fafc;
  color:#334155;
  font-size:10px;
  line-height:1.45;
}
.dd22-sa-issue-list li::before{
  content:"•";
  position:absolute;
  left:10px;
  color:#0284c7;
  font-weight:900;
}
.dd22-sa-communities,
.dd22-sa-zips{
  margin:0!important;
  color:#64748b!important;
  font-size:10px!important;
  line-height:1.55!important;
}
.dd22-sa-zips{margin-top:8px!important}
.dd22-sa-zone-footer{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:auto!important;
  padding-top:16px!important;
  border-top:1px solid #eef2f6;
}
.dd22-sa-no-fee{
  margin:0!important;
  color:#047857!important;
  font-size:10px!important;
  font-weight:800!important;
}
.dd22-sa-zone-button{
  padding:9px 12px!important;
  border-radius:9px!important;
  background:#0f172a!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:800!important;
}

.dd22-sa-dispatch-row{
  padding-top:56px!important;
  padding-bottom:58px!important;
  background:#fff!important;
}
.dd22-sa-dispatch-grid{
  align-items:center!important;
  gap:42px!important;
}
.dd22-sa-dispatch-features{
  display:grid!important;
  gap:10px!important;
  margin-top:20px!important;
}
.dd22-sa-dispatch-feature{
  padding:13px 14px!important;
  border:1px solid #eef2f6;
  border-radius:12px;
  background:#f8fafc;
}
.dd22-sa-dispatch-feature h3{
  margin:0!important;
  font:800 12px/1.35 Montserrat,Inter,sans-serif!important;
}
.dd22-sa-dispatch-feature p{
  margin:3px 0 0!important;
  color:#64748b!important;
  font-size:10px!important;
  line-height:1.5!important;
}
.dd22-sa-hq-card{
  padding:28px!important;
  border:1px solid #1f2937;
  border-radius:22px!important;
  background:#0f172a!important;
  color:#fff!important;
  box-shadow:0 22px 50px rgba(15,23,42,.18);
}
.dd22-sa-hq-label{
  margin:0 0 6px!important;
  color:#38bdf8!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.1em;
}
.dd22-sa-hq-title{
  margin:0 0 16px!important;
  color:#fff!important;
  font:800 20px/1.25 Montserrat,Inter,sans-serif!important;
}
.dd22-sa-hq-line{
  margin:8px 0!important;
  color:#cbd5e1!important;
  font-size:11px!important;
}
.dd22-sa-core-cities{
  margin-top:18px!important;
  padding:14px!important;
  border:1px solid #273449;
  border-radius:13px;
  background:#111827;
}
.dd22-sa-core-city-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 14px!important;
  margin:8px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
.dd22-sa-core-city-list li{
  color:#6ee7b7;
  font-size:10px;
}
.dd22-sa-core-city-list li::before{content:"✓ ";font-weight:900}
.dd22-sa-hq-actions{
  display:flex!important;
  gap:10px!important;
  margin-top:18px!important;
}
.dd22-sa-hq-primary,
.dd22-sa-hq-secondary{
  padding:11px 14px!important;
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:800!important;
}
.dd22-sa-hq-primary{background:#0284c7!important;color:#fff!important}
.dd22-sa-hq-secondary{background:#b91c1c!important;color:#fff!important}

.dd22-sa-faq-row{
  padding-top:52px!important;
  padding-bottom:54px!important;
  background:#f8fafc!important;
}
.dd22-sa-faq-heading{max-width:820px!important}
.dd22-sa-faq-list{
  display:grid!important;
  gap:10px!important;
  max-width:900px!important;
  margin:0 auto!important;
}
.dd22-sa-faq-list details{
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden;
}
.dd22-sa-faq-list summary{
  padding:15px 17px!important;
  color:#0f172a;
  font:800 13px/1.4 Montserrat,Inter,sans-serif;
  cursor:pointer;
}
.dd22-sa-faq-list details p{
  margin:0!important;
  padding:14px 17px 17px!important;
  border-top:1px solid #eef2f6;
  background:#f8fafc;
  color:#64748b!important;
  font-size:11px!important;
  line-height:1.65!important;
}

.dd22-sa-emergency-row{
  padding-top:0!important;
  padding-bottom:0!important;
  background:#b91c1c!important;
}
.dd22-sa-emergency{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  padding:30px 0!important;
  color:#fff!important;
}
.dd22-sa-emergency-label{
  display:inline-flex!important;
  width:auto!important;
  margin:0 0 8px!important;
  padding:4px 8px!important;
  border-radius:999px;
  background:rgba(0,0,0,.16);
  color:#fff!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.08em;
}
.dd22-sa-emergency-title{
  margin:0!important;
  color:#fff!important;
  font:900 clamp(22px,3vw,30px)/1.15 Montserrat,Inter,sans-serif!important;
}
.dd22-sa-emergency-text{
  max-width:720px;
  margin:6px 0 0!important;
  color:#fee2e2!important;
  font-size:11px!important;
}
.dd22-sa-emergency-actions{
  display:flex!important;
  flex-shrink:0;
  gap:9px!important;
}
.dd22-sa-emergency-call,
.dd22-sa-emergency-book{
  padding:12px 15px!important;
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:900!important;
}
.dd22-sa-emergency-call{background:#fff!important;color:#b91c1c!important}
.dd22-sa-emergency-book{background:rgba(0,0,0,.16)!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important}

/* Compact reusable coverage pattern */
.dd22-sa-compact-row{
  padding-top:22px!important;
  padding-bottom:22px!important;
  background:#fff!important;
}
.dd22-sa-compact{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  padding:24px 28px!important;
  border:1px solid #dbeafe;
  border-radius:18px!important;
  background:linear-gradient(135deg,#f0f9ff,#fff 64%)!important;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.dd22-sa-compact-copy{max-width:820px}
.dd22-sa-compact-title{
  margin:5px 0 6px!important;
  font:900 clamp(22px,3vw,30px)/1.12 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.03em!important;
}
.dd22-sa-compact-text{
  margin:0!important;
  color:#64748b!important;
  font-size:12px!important;
}
.dd22-sa-city-chips{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin-top:12px!important;
}
.dd22-sa-city-chip{
  width:auto!important;
  margin:0!important;
  padding:4px 8px!important;
  border-radius:999px;
  background:#fff;
  border:1px solid #dbeafe;
  color:#334155!important;
  font-size:9px!important;
  font-weight:700!important;
}
.dd22-sa-compact-actions{flex-shrink:0}
.dd22-sa-compact-button{
  padding:12px 16px!important;
  border-radius:10px!important;
  background:#0284c7!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
}

@media(max-width:960px){
  .dd22-sa-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dd22-sa-zip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dd22-sa-zone-grid{grid-template-columns:minmax(0,1fr)!important}
  .dd22-sa-dispatch-grid{gap:24px!important}
}
@media(max-width:700px){
  .dd22-sa-hero,
  .dd22-sa-lookup-row,
  .dd22-sa-expertise-row,
  .dd22-sa-dispatch-row,
  .dd22-sa-faq-row{
    padding-top:40px!important;
    padding-bottom:42px!important;
  }
  .dd22-sa-hero-title{font-size:36px!important}
  .dd22-sa-metrics{grid-template-columns:minmax(0,1fr)!important}
  .dd22-sa-zip-grid{grid-template-columns:minmax(0,1fr)}
  .dd22-sa-zone-card{padding:20px!important}
  .dd22-sa-zone-head,
  .dd22-sa-zone-footer,
  .dd22-sa-emergency,
  .dd22-sa-compact{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .dd22-sa-emergency-actions,
  .dd22-sa-compact-actions{
    width:100%;
  }
  .dd22-sa-emergency-actions .wp-block-button,
  .dd22-sa-compact-actions .wp-block-button{
    width:100%;
  }
  .dd22-sa-emergency-call,
  .dd22-sa-emergency-book,
  .dd22-sa-compact-button{
    width:100%;
    justify-content:center;
  }
  .dd22-sa-compact{padding:22px!important}
}


/* ==========================================================
   V2.2.3 CENTRAL GREENSBORO DISPATCH — REFINED
   ========================================================== */
.dd223-sa-dispatch-row{
  padding-top:58px!important;
  padding-bottom:62px!important;
  background:#fff!important;
}
.dd223-sa-dispatch-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  align-items:center!important;
  gap:46px!important;
}
.dd223-sa-operations-pill{
  display:inline-flex!important;
  width:auto!important;
  margin:0 0 13px!important;
  padding:5px 10px!important;
  border-radius:999px;
  background:rgba(2,132,199,.09);
  border:1px solid rgba(2,132,199,.16);
  color:#0284c7!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.dd223-sa-dispatch-title{
  max-width:640px;
  margin:0!important;
  color:#0f172a!important;
  font:900 clamp(30px,4vw,42px)/1.08 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.04em!important;
}
.dd223-sa-dispatch-intro{
  max-width:650px;
  margin:14px 0 0!important;
  color:#64748b!important;
  font-size:14px!important;
  line-height:1.72!important;
}
.dd223-sa-feature-list{
  display:grid!important;
  gap:10px!important;
  margin-top:22px!important;
}
.dd223-sa-feature{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  align-items:start!important;
  gap:12px!important;
  padding:12px 14px!important;
  border:1px solid #edf0f3!important;
  border-radius:13px!important;
  background:#f8fafc!important;
  box-shadow:0 1px 2px rgba(15,23,42,.025)!important;
}
.dd223-sa-feature-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:11px;
  background:rgba(2,132,199,.09);
  color:#0284c7;
}
.dd223-sa-feature-green .dd223-sa-feature-icon{
  background:#ecfdf5;
  color:#059669;
}
.dd223-sa-feature-red .dd223-sa-feature-icon{
  background:#fef2f2;
  color:#b91c1c;
}
.dd223-sa-feature-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dd223-sa-feature-copy h3{
  margin:1px 0 3px!important;
  color:#0f172a!important;
  font:800 12px/1.35 Montserrat,Inter,sans-serif!important;
}
.dd223-sa-feature-copy p{
  margin:0!important;
  color:#64748b!important;
  font-size:10px!important;
  line-height:1.52!important;
}
.dd223-sa-direct-links{
  margin-top:19px!important;
}
.dd223-sa-direct-label{
  margin:0 0 8px!important;
  color:#94a3b8!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.dd223-sa-direct-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.dd223-sa-service-chip{
  min-height:30px!important;
  padding:7px 10px!important;
  border:1px solid #e2e8f0!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  color:#334155!important;
  font-size:9px!important;
  font-weight:750!important;
  box-shadow:none!important;
}
.dd223-sa-service-chip:hover{
  border-color:#bae6fd!important;
  background:#f0f9ff!important;
  color:#0284c7!important;
}

.dd223-sa-hq-col{
  align-self:stretch;
  display:flex!important;
}
.dd223-sa-hq-card{
  position:relative;
  display:flex!important;
  flex-direction:column!important;
  width:100%;
  min-height:100%;
  padding:28px!important;
  border:1px solid #263244!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 92% 7%,rgba(2,132,199,.18),transparent 13rem),
    linear-gradient(145deg,#0f172a,#0b101b 72%)!important;
  color:#fff!important;
  box-shadow:0 22px 48px rgba(15,23,42,.22)!important;
  overflow:hidden;
}
.dd223-sa-hq-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding-bottom:16px!important;
  border-bottom:1px solid rgba(148,163,184,.16);
}
.dd223-sa-hq-eyebrow{
  margin:0!important;
  color:#38bdf8!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.dd223-sa-hq-title{
  margin:5px 0 0!important;
  color:#fff!important;
  font:850 20px/1.22 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.025em!important;
}
.dd223-sa-live-dot{
  display:block;
  width:11px;
  height:11px;
  flex:0 0 11px;
  margin-top:4px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 5px rgba(34,197,94,.11);
}
.dd223-sa-hq-details{
  display:grid!important;
  gap:0!important;
  margin-top:14px!important;
}
.dd223-sa-hq-detail{
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr)!important;
  gap:12px!important;
  margin:0!important;
  padding:10px 0!important;
  border-bottom:1px solid rgba(148,163,184,.11);
  color:#cbd5e1!important;
  font-size:10px!important;
  line-height:1.4!important;
}
.dd223-sa-hq-detail strong{
  color:#94a3b8;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.dd223-sa-hq-detail span{
  color:#e2e8f0;
}
.dd223-sa-hq-detail-red span{
  color:#fecaca;
  font-weight:750;
}
.dd223-sa-route-box{
  margin-top:15px!important;
  padding:13px 14px!important;
  border:1px solid rgba(148,163,184,.13);
  border-radius:13px!important;
  background:rgba(15,23,42,.48)!important;
}
.dd223-sa-route-label{
  margin:0!important;
  color:#94a3b8!important;
  font-size:8px!important;
  font-weight:850!important;
  letter-spacing:.1em;
}
.dd223-sa-city-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 14px!important;
  margin-top:9px!important;
}
.dd223-sa-city{
  margin:0!important;
  color:#6ee7b7!important;
  font-size:9px!important;
  font-weight:650!important;
}
.dd223-sa-hq-trust{
  margin-top:14px!important;
  padding:9px 10px!important;
  border-radius:9px!important;
  background:rgba(2,132,199,.08)!important;
}
.dd223-sa-hq-trust-text{
  margin:0!important;
  color:#7dd3fc!important;
  font-size:8px!important;
  font-weight:750!important;
  letter-spacing:.05em;
  text-align:center;
}
.dd223-sa-hq-actions{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:9px!important;
  margin-top:auto!important;
  padding-top:18px!important;
}
.dd223-sa-hq-primary,
.dd223-sa-hq-secondary{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:41px!important;
  padding:10px 14px!important;
  border-radius:10px!important;
  font-size:10px!important;
  font-weight:850!important;
  white-space:nowrap;
}
.dd223-sa-hq-primary{
  background:#0284c7!important;
  color:#fff!important;
}
.dd223-sa-hq-secondary{
  background:#b91c1c!important;
  color:#fff!important;
}

@media(max-width:960px){
  .dd223-sa-dispatch-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:30px!important;
  }
  .dd223-sa-hq-card{
    min-height:0!important;
  }
}
@media(max-width:600px){
  .dd223-sa-dispatch-row{
    padding-top:42px!important;
    padding-bottom:44px!important;
  }
  .dd223-sa-dispatch-title{
    font-size:31px!important;
  }
  .dd223-sa-feature{
    grid-template-columns:36px minmax(0,1fr)!important;
    padding:11px!important;
  }
  .dd223-sa-feature-icon{
    width:36px;
    height:36px;
  }
  .dd223-sa-hq-card{
    padding:22px!important;
    border-radius:18px!important;
  }
  .dd223-sa-hq-detail{
    grid-template-columns:minmax(0,1fr)!important;
    gap:3px!important;
  }
  .dd223-sa-city-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .dd223-sa-hq-actions{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .dd223-sa-hq-primary,
  .dd223-sa-hq-secondary{
    width:100%;
  }
}


/* V2.2.4 Service Area location-page internal links */
.dd22-sa-zip-card .dd224-sa-location-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  align-self:flex-start;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #e2e8f0;
  color:#0284c7;
  font:800 9px/1.25 Montserrat,Inter,sans-serif;
  text-decoration:none;
  letter-spacing:.01em;
  transition:color .18s ease,gap .18s ease;
}
.dd22-sa-zip-card .dd224-sa-location-link:hover{
  color:#0369a1;
  gap:8px;
  text-decoration:underline;
  text-underline-offset:2px;
}
.dd22-sa-zip-card .dd224-sa-location-link span{
  font-size:12px;
  line-height:1;
}


/* V2.2.6 Editable Service Area Location Cards */
.dd226-sa-location-directory{max-width:1180px;margin:0 auto}
.dd226-sa-directory-search{max-width:720px;margin:0 auto 16px}
.dd226-sa-directory-input{width:100%;padding:15px 16px;border:1px solid #dbe2ea;border-radius:15px;background:#f8fafc;color:#0f172a;font-size:14px;outline:none;box-shadow:inset 0 1px 2px rgba(15,23,42,.04)}
.dd226-sa-directory-input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(2,132,199,.10)}
.dd226-sa-directory-status{display:none;max-width:720px;margin:0 auto 18px;padding:11px 14px;border:1px solid #dbeafe;border-radius:12px;background:#f0f9ff;color:#0369a1;font-size:11px;font-weight:700}
.dd226-sa-directory-status.is-visible{display:block}
.dd226-sa-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dd226-sa-location-card{display:flex;flex-direction:column;min-width:0;min-height:156px;padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
.dd226-sa-location-card:hover{transform:translateY(-1px);border-color:rgba(2,132,199,.28);background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.07)}
.dd226-sa-location-top{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}
.dd226-sa-location-zips{color:#0284c7;font:800 11px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace}
.dd226-sa-location-fee{flex:0 0 auto;padding:3px 6px;border-radius:6px;background:#d1fae5;color:#047857;font-size:8px;font-weight:800}
.dd226-sa-location-city{margin:9px 0 2px!important;color:#0f172a!important;font:850 14px/1.25 Montserrat,Inter,sans-serif!important}
.dd226-sa-location-county{margin:0!important;color:#64748b!important;font-size:10px!important}
.dd226-sa-location-meta{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px solid #e2e8f0;color:#64748b;font-size:9px}
.dd226-sa-location-link{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:9px;color:#0284c7;font:800 9px/1.25 Montserrat,Inter,sans-serif;text-decoration:none;transition:color .18s ease,gap .18s ease}
.dd226-sa-location-link:hover{gap:8px;color:#0369a1;text-decoration:underline;text-underline-offset:2px}
.dd226-sa-location-link span{font-size:12px}
.editor-styles-wrapper .dd226-sa-location-directory{padding:16px;border:1px dashed #bae6fd;border-radius:16px;background:rgba(240,249,255,.35)}
.editor-styles-wrapper .dd226-sa-editor-note{display:flex;flex-direction:column;gap:3px;margin-bottom:14px;padding:10px 12px;border-radius:10px;background:#eff6ff;color:#1e3a8a;font-size:11px}
.editor-styles-wrapper .dd226-sa-editor-note strong{font-size:12px}
.editor-styles-wrapper .dd226-sa-location-directory > .block-editor-inner-blocks > .block-editor-block-list__layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.editor-styles-wrapper .dd226-sa-location-card{min-height:170px}
.editor-styles-wrapper .dd226-sa-editor-link{pointer-events:none}
@media(max-width:1000px){.dd226-sa-directory-grid,.editor-styles-wrapper .dd226-sa-location-directory > .block-editor-inner-blocks > .block-editor-block-list__layout{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dd226-sa-directory-grid,.editor-styles-wrapper .dd226-sa-location-directory > .block-editor-inner-blocks > .block-editor-block-list__layout{grid-template-columns:minmax(0,1fr)}}


/* V2.2.8 Native Gutenberg Service Area Location Cards */
.dd228-sa-search-wrap{max-width:720px;margin:0 auto 18px}
.dd228-sa-search-input{width:100%;padding:15px 16px;border:1px solid #dbe2ea;border-radius:15px;background:#f8fafc;color:#0f172a;font-size:14px;outline:none;box-shadow:inset 0 1px 2px rgba(15,23,42,.04)}
.dd228-sa-search-input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(2,132,199,.10)}
.dd228-sa-search-status{display:none;margin-top:10px;padding:10px 12px;border:1px solid #dbeafe;border-radius:10px;background:#f0f9ff;color:#0369a1;font-size:11px;font-weight:700}
.dd228-sa-search-status.is-visible{display:block}
.dd228-sa-card-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.dd228-sa-location-card{display:flex!important;flex-direction:column!important;min-width:0;min-height:158px;padding:14px!important;border:1px solid #e2e8f0!important;border-radius:14px!important;background:#f8fafc!important;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
.dd228-sa-location-card:hover{transform:translateY(-1px);border-color:rgba(2,132,199,.28)!important;background:#fff!important;box-shadow:0 8px 22px rgba(15,23,42,.07)!important}
.dd228-sa-card-top{display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:space-between!important;gap:9px!important}
.dd228-sa-zips{margin:0!important;color:#0284c7!important;font:800 10px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace!important}
.dd228-sa-fee{flex:0 0 auto;margin:0!important;padding:3px 6px!important;border-radius:6px;background:#d1fae5;color:#047857!important;font-size:8px!important;font-weight:800!important}
.dd228-sa-city{margin:9px 0 2px!important;color:#0f172a!important;font:850 14px/1.25 Montserrat,Inter,sans-serif!important}
.dd228-sa-county{margin:0!important;color:#64748b!important;font-size:10px!important}
.dd228-sa-card-meta{display:flex!important;flex-direction:row!important;justify-content:space-between!important;gap:8px!important;margin-top:auto!important;padding-top:10px!important;border-top:1px solid #e2e8f0}
.dd228-sa-card-meta p{margin:0!important;color:#64748b!important;font-size:9px!important}
.dd228-sa-more-link{margin:9px 0 0!important}
.dd228-sa-more-link a{display:inline-flex;align-items:center;gap:5px;color:#0284c7!important;font:800 9px/1.25 Montserrat,Inter,sans-serif!important;text-decoration:none!important}
.dd228-sa-more-link a:hover{color:#0369a1!important;text-decoration:underline!important;text-underline-offset:2px}
.dd228-sa-load-more-wrap{display:flex;justify-content:center;margin-top:22px}
.dd228-sa-load-more{min-height:42px;padding:10px 16px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;font:800 11px/1.2 Montserrat,Inter,sans-serif;cursor:pointer}
.dd228-sa-load-more:hover{border-color:#7dd3fc;background:#f0f9ff;color:#0369a1}
.editor-styles-wrapper .dd228-sa-card-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.editor-styles-wrapper .dd228-sa-location-card{display:flex!important}
.editor-styles-wrapper .dd228-sa-load-more-wrap{opacity:.55;pointer-events:none}
@media(max-width:1000px){.dd228-sa-card-grid,.editor-styles-wrapper .dd228-sa-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.dd228-sa-card-grid,.editor-styles-wrapper .dd228-sa-card-grid{grid-template-columns:minmax(0,1fr)!important}}


/* V2.2.13 native WordPress menu source + preserved Services mini mega menu */
.dd21-native-menu-item > .dd21-native-submenu{
  position:absolute;
  z-index:1000;
  top:100%;
  left:0;
  display:none;
  min-width:220px;
  margin:10px 0 0;
  padding:9px;
  border:1px solid #e2e8f0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 16px 34px rgba(15,23,42,.12);
  list-style:none;
}
.dd21-native-menu-item:hover > .dd21-native-submenu,
.dd21-native-menu-item:focus-within > .dd21-native-submenu{
  display:block;
}
.dd21-native-submenu li{list-style:none}
.dd21-native-submenu .sub-menu-link{
  display:block;
  padding:8px 10px;
  border-radius:8px;
  color:#334155;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.dd21-native-submenu .sub-menu-link:hover{
  background:#f0f9ff;
  color:#0284c7;
}
.dd21-menu-empty{
  margin:0;
  color:#94a3b8;
  font-size:11px;
}
.dd21-native-footer-nav{
  width:auto;
}
.dd21-native-footer-menu{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
  margin:0;
  padding:0;
  list-style:none;
}
.dd21-native-footer-menu li{
  margin:0;
  list-style:none;
}
.dd21-native-footer-menu a{
  color:inherit;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
}
.dd21-native-footer-menu a:hover{
  text-decoration:underline;
  text-underline-offset:2px;
}
@media(max-width:900px){
  .dd21-native-menu-item > .dd21-native-submenu{
    position:static;
    display:block;
    min-width:0;
    margin:0;
    padding:0 0 0 16px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
}


/* ==========================================================
   V2.2.14 REUSABLE SERVICE HERO LEAD INTAKE
   Prepared for future GoHighLevel / LeadConnector handoff.
   ========================================================== */
.dd214-intake-card{
  border-color:#e2e8f0!important;
  box-shadow:0 20px 46px rgba(15,23,42,.12)!important;
}
.dd214-intake-header{
  background:linear-gradient(135deg,#0284c7,#0ea5e9)!important;
  padding:17px 20px!important;
}
.dd214-intake-header strong{
  font-size:14px!important;
}
.dd214-service-intake-form{
  gap:14px!important;
  padding:20px!important;
}
.dd214-service-context{
  padding:12px 14px;
  border:1px solid #bae6fd;
  border-radius:12px;
  background:#f0f9ff;
}
.dd214-service-context-label{
  display:block;
  margin-bottom:3px;
  color:#0284c7;
  font:800 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.11em;
}
.dd214-service-context strong{
  display:block;
  color:#0f172a;
  font:850 12px/1.35 Montserrat,Inter,sans-serif;
}
.dd214-service-context small{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:9px;
  line-height:1.4;
}
.dd214-service-intake-form .gai-form-grid{
  gap:12px!important;
}
.dd214-urgency-field{
  display:flex;
  flex-direction:column;
}
.dd214-check-row{
  display:flex!important;
  align-items:flex-start;
  gap:9px;
  min-height:42px;
  margin:0!important;
  padding:9px 10px;
  border:1px solid #fecaca;
  border-radius:9px;
  background:#fff7f7;
  text-transform:none!important;
  letter-spacing:0!important;
  cursor:pointer;
}
.dd214-check-row input{
  flex:0 0 auto;
  width:16px!important;
  height:16px;
  margin-top:1px;
  accent-color:#dc2626;
}
.dd214-check-row strong{
  display:block;
  color:#991b1b;
  font-size:10px;
  line-height:1.3;
}
.dd214-check-row small{
  display:block;
  margin-top:2px;
  color:#9f1239;
  font-size:8px;
  line-height:1.35;
}
.dd214-discount-panel{
  padding:11px 12px!important;
  border-color:#d1fae5!important;
  background:#f0fdf4!important;
}
.dd214-discount-panel strong{
  color:#065f46!important;
}
.dd214-discount-panel small{
  color:#047857!important;
}
.dd214-form-note{
  margin-top:-2px;
  color:#94a3b8;
  font-size:8px;
  line-height:1.4;
}
.dd214-form-actions{
  justify-content:stretch!important;
  padding-top:12px!important;
}
.dd214-form-actions .gai-submit{
  width:100%;
  min-height:44px;
  background:#0284c7!important;
  border-radius:10px!important;
  font:850 12px/1 Montserrat,Inter,sans-serif!important;
}
.dd214-form-actions .gai-submit:hover{
  background:#0369a1!important;
}
@media(max-width:767px){
  .dd214-service-intake-form{
    padding:16px!important;
  }
}


/* ==========================================================
   V2.2.15 SIMPLIFIED V1-INSPIRED SERVICE HERO INTAKE
   ========================================================== */
.dd215-intake-card{
  overflow:hidden;
  border:1px solid #dce3ea!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.12)!important;
}
.dd215-intake-header{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:68px;
  padding:15px 18px!important;
  border-bottom:0!important;
  background:linear-gradient(135deg,#0284c7 0%,#0b9ddd 100%)!important;
  color:#fff!important;
}
.dd215-header-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:10px;
  background:rgba(255,255,255,.14);
}
.dd215-header-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:#fff;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dd215-intake-header strong{
  display:block;
  color:#fff!important;
  font:850 13px/1.2 Montserrat,Inter,sans-serif!important;
  letter-spacing:.025em;
}
.dd215-intake-header small{
  display:block;
  margin-top:3px;
  color:#dff4ff!important;
  font:650 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace!important;
  letter-spacing:.1em;
}
.dd215-service-intake-form{
  display:block!important;
  padding:18px!important;
  background:#fff!important;
}
.dd215-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.dd215-service-intake-form .gai-field{
  min-width:0;
}
.dd215-service-intake-form .gai-field label{
  display:block;
  margin:0 0 6px!important;
  color:#475569!important;
  font:800 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.dd215-service-intake-form input[type="text"],
.dd215-service-intake-form input[type="tel"],
.dd215-service-intake-form input[type="email"],
.dd215-service-intake-form input[type="date"],
.dd215-service-intake-form select,
.dd215-service-intake-form textarea{
  width:100%!important;
  min-height:42px;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid #dce3ea!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:none!important;
  font:500 11px/1.35 Inter,Arial,sans-serif!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.dd215-service-intake-form textarea{
  min-height:88px;
  resize:vertical;
}
.dd215-service-intake-form input::placeholder,
.dd215-service-intake-form textarea::placeholder{
  color:#94a3b8!important;
}
.dd215-service-intake-form input:focus,
.dd215-service-intake-form select:focus,
.dd215-service-intake-form textarea:focus{
  outline:none!important;
  border-color:#38bdf8!important;
  box-shadow:0 0 0 3px rgba(2,132,199,.10)!important;
  background:#fff!important;
}
.dd215-discount-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:13px 0!important;
  padding:11px 12px!important;
  border:1px solid #bbf7d0!important;
  border-radius:10px!important;
  background:#f0fdf4!important;
  cursor:pointer;
  text-transform:none!important;
  letter-spacing:0!important;
}
.dd215-discount-copy strong{
  display:block;
  color:#14532d!important;
  font:800 10px/1.25 Montserrat,Inter,sans-serif!important;
}
.dd215-discount-copy small{
  display:block;
  margin-top:2px;
  color:#15803d!important;
  font:500 8px/1.35 Inter,Arial,sans-serif!important;
}
.dd215-discount-row input{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px;
  margin:0!important;
  accent-color:#16a34a;
}
.dd215-message-field{
  margin-top:0!important;
}
.dd215-form-actions{
  margin-top:13px;
}
.dd215-submit{
  width:100%!important;
  min-height:44px!important;
  padding:12px 16px!important;
  border:0!important;
  border-radius:10px!important;
  background:#0284c7!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(2,132,199,.22)!important;
  font:850 11px/1 Montserrat,Inter,sans-serif!important;
  cursor:pointer;
}
.dd215-submit:hover{
  background:#0369a1!important;
  box-shadow:0 7px 18px rgba(2,132,199,.26)!important;
}
.dd215-form-footnote{
  margin:9px 0 0!important;
  color:#94a3b8!important;
  font-size:8px!important;
  line-height:1.4!important;
  text-align:center;
}
@media(max-width:650px){
  .dd215-form-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .dd215-service-intake-form{
    padding:15px!important;
  }
}


/* ==========================================================
   V2.2.16 RESPONSIVE HEADER + CATEGORY-FIRST MOBILE SERVICES
   ========================================================== */

/* Desktop conversion CTA */
.site-header .dd216-book-cta{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 17px;
  border:1px solid var(--blue);
  border-radius:10px;
  background:var(--blue);
  color:#fff;
  box-shadow:0 5px 14px rgba(9,155,214,.18);
  font:800 12px/1 Montserrat,Inter,sans-serif;
  white-space:nowrap;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.site-header .dd216-book-cta:hover,
.site-header .dd216-book-cta:focus-visible{
  background:var(--blue-dark);
  border-color:var(--blue-dark);
  box-shadow:0 7px 18px rgba(9,155,214,.23);
  transform:translateY(-1px);
  outline:none;
}

/* Keep desktop navigation balanced around the action group. */
@media (min-width:1025px){
  .site-header .dd21-header-system{
    min-width:0;
  }
  .site-header .main-nav{
    min-width:0;
  }
  .site-header .primary-menu{
    gap:clamp(10px,1.15vw,18px);
  }
  .site-header .header-actions{
    display:flex!important;
    align-items:center;
    gap:12px;
    margin-left:18px;
  }
  .site-header .responsive-header-actions,
  .site-header .mobile-nav-ctas{
    display:none!important;
  }
}

/* Tablet + mobile use the same predictable category-first navigation model. */
@media (max-width:1024px){
  .site-header{
    height:69px!important;
  }
  .site-header .header-inner{
    min-height:68px!important;
    height:68px!important;
    width:min(100% - 28px,1280px)!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  .site-header .wp-block-site-logo{
    flex:1 1 auto;
    min-width:0;
  }
  .site-header .wp-block-site-logo img{
    width:auto!important;
    max-width:180px!important;
    max-height:40px!important;
    object-fit:contain;
  }

  .site-header .main-nav,
  .site-header .header-actions{
    display:none!important;
  }

  .site-header .responsive-header-actions{
    display:flex!important;
    margin-left:auto!important;
  }
  .site-header .responsive-book{
    min-height:40px!important;
    padding:0 14px!important;
    border:1px solid var(--blue)!important;
    border-radius:10px!important;
    background:var(--blue)!important;
    color:#fff!important;
    font:800 11px/1 Montserrat,Inter,sans-serif!important;
    cursor:pointer;
  }

  .site-header.mobile-open .main-nav{
    display:block!important;
    position:absolute!important;
    z-index:1098!important;
    top:68px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:calc(100dvh - 68px)!important;
    max-height:calc(100dvh - 68px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
    padding:0 18px calc(146px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border-top:1px solid #edf0f3!important;
    box-shadow:0 18px 42px rgba(13,24,36,.13)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  .site-header.mobile-open .primary-menu{
    width:min(100%,760px)!important;
    height:auto!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:8px 0 24px!important;
    overflow:visible!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
  }

  .site-header .primary-menu>li{
    width:100%!important;
    flex:0 0 auto!important;
    border-bottom:1px solid #edf0f3!important;
  }

  /* Services is deliberately first on compact screens. */
  .site-header .primary-menu>.mega-wrap{
    order:-100!important;
    position:relative!important;
  }

  .site-header .mega-trigger{
    width:100%!important;
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:14px 4px!important;
    color:#17212c!important;
    font:800 15px/1.25 Inter,Arial,sans-serif!important;
    background:transparent!important;
    border:0!important;
    cursor:pointer!important;
  }

  .site-header .mega-trigger-chevron{
    display:inline-block!important;
    width:9px!important;
    height:9px!important;
    margin:0 8px 0 auto!important;
    border-right:2px solid #75808d!important;
    border-bottom:2px solid #75808d!important;
    transform:translateY(-2px) rotate(45deg)!important;
    transition:transform .18s ease,border-color .18s ease!important;
    font-size:0!important;
  }

  .site-header .mega-wrap.open>.mega-trigger .mega-trigger-chevron{
    border-color:var(--blue)!important;
    transform:translateY(2px) rotate(225deg)!important;
  }

  /* Desktop mega panel is replaced with 8 parent category rows. */
  .site-header .mega-menu,
  .admin-bar .site-header .mega-menu{
    display:block!important;
    position:static!important;
    width:100%!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    transform:none!important;
    background:#f8fafc!important;
    border:0!important;
    border-radius:12px!important;
    box-shadow:none!important;
    transition:max-height .24s ease,margin .24s ease!important;
  }
  .site-header .mega-wrap.open .mega-menu{
    max-height:6000px!important;
    margin:0 0 12px!important;
    pointer-events:auto!important;
  }
  .site-header .mega-summary,
  .site-header .mega-panels{
    display:none!important;
  }
  .site-header .mega-menu-body{
    display:block!important;
    min-height:0!important;
  }
  .site-header .mega-cats{
    display:block!important;
    width:100%!important;
    padding:10px 8px 8px!important;
    background:#f8fafc!important;
    border:0!important;
  }
  .site-header .mega-cats-label{
    margin:5px 8px 9px!important;
    color:#7b8794!important;
    font:800 10px/1 Montserrat,Inter,sans-serif!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
  }

  /* Parent category rows are always visible. Child services remain collapsed. */
  .site-header .mega-cat{
    width:100%!important;
    min-height:58px!important;
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr) 28px!important;
    align-items:center!important;
    gap:10px!important;
    margin:0!important;
    padding:9px 10px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#263441!important;
    cursor:pointer!important;
  }
  .site-header .mega-cat:hover,
  .site-header .mega-cat:focus-visible,
  .site-header .mega-cat.mobile-open{
    background:#eef8fc!important;
    color:var(--blue)!important;
    outline:none!important;
  }
  .site-header .mega-cat-icon{
    width:40px!important;
    height:40px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:9px!important;
  }
  .site-header .mega-cat-copy strong{
    display:block!important;
    white-space:normal!important;
    font:750 14px/1.3 Inter,Arial,sans-serif!important;
    text-align:left!important;
  }
  .site-header .mega-cat-copy small{
    display:none!important;
  }
  .site-header .mega-cat-arrow{
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    justify-self:end!important;
  }
  .site-header .mega-cat-arrow svg{
    width:16px!important;
    height:16px!important;
    transition:transform .18s ease!important;
  }
  .site-header .mega-cat.mobile-open .mega-cat-arrow svg{
    transform:rotate(90deg)!important;
  }

  .site-header .mega-mobile-services{
    display:block!important;
    max-height:0!important;
    overflow:hidden!important;
    margin:0 8px!important;
    padding:0 0 0 42px!important;
    opacity:0!important;
    border-left:1px solid #dfe8ed!important;
    transition:max-height .22s ease,opacity .16s ease,padding .22s ease!important;
  }
  .site-header .mega-mobile-services.open{
    max-height:2200px!important;
    opacity:1!important;
    padding-top:4px!important;
    padding-bottom:10px!important;
  }
  .site-header .mega-mobile-explore{
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    padding:9px 10px!important;
    color:var(--blue)!important;
    font:800 12px/1.35 Inter,Arial,sans-serif!important;
  }
  .site-header .mega-mobile-service-link{
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    padding:9px 10px!important;
    color:#42515f!important;
    font:650 12px/1.35 Inter,Arial,sans-serif!important;
  }

  .site-header .primary-menu>.dd21-native-menu-item>a.nav-link{
    width:100%!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    padding:13px 4px!important;
    color:#17212c!important;
    font:750 14px/1.25 Inter,Arial,sans-serif!important;
  }

  /* Bottom conversion rail remains visible after scrolling through categories/menu. */
  .site-header .mobile-nav-ctas{
    display:none!important;
  }
  .site-header.mobile-open .mobile-nav-ctas{
    position:absolute!important;
    z-index:1101!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    padding:11px max(18px,calc((100vw - 760px)/2 + 18px)) calc(11px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border-top:1px solid #e7ebef!important;
    box-shadow:0 -10px 24px rgba(17,31,43,.08)!important;
  }
  .site-header .mobile-nav-book,
  .site-header .mobile-nav-emergency{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:9px 12px!important;
    border-radius:10px!important;
    font:800 11px/1.15 Montserrat,Inter,sans-serif!important;
    text-align:center!important;
    text-decoration:none!important;
    cursor:pointer!important;
  }
  .site-header .mobile-nav-book{
    border:1px solid var(--blue)!important;
    background:var(--blue)!important;
    color:#fff!important;
  }
  .site-header .mobile-nav-emergency{
    border:1px solid #ad1d17!important;
    background:#fff!important;
    color:#ad1d17!important;
  }
}

/* Phones: preserve Book Online beside hamburger, but shorten it visually. */
@media (max-width:600px){
  .site-header .header-inner{
    width:calc(100% - 20px)!important;
    gap:8px!important;
  }
  .site-header .wp-block-site-logo img{
    max-width:145px!important;
    max-height:36px!important;
  }
  .site-header .responsive-book{
    min-height:38px!important;
    padding:0 11px!important;
    font-size:10px!important;
  }
  .site-header.mobile-open .main-nav{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .site-header.mobile-open .mobile-nav-ctas{
    grid-template-columns:1fr!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

/* ==========================================================
   V2.2.16 RESPONSIVE FOOTER NAVIGATION
   ========================================================== */
.dd21-footer .dd21-native-footer-nav{
  min-width:0;
}
.dd21-footer .dd21-native-footer-menu{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:9px 18px;
  margin:0;
  padding:0;
  list-style:none;
}
.dd21-footer .dd21-native-footer-menu>li{
  margin:0;
  padding:0;
}
.dd21-footer .dd21-native-footer-menu a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  color:inherit;
  font-size:11px;
  font-weight:700;
  line-height:1.3;
  text-decoration:none;
}
.dd21-footer .dd21-native-footer-menu .sub-menu{
  display:none;
}

@media (max-width:1024px) and (min-width:701px){
  .dd21-footer .dd21-footer-main{
    flex-wrap:wrap!important;
    gap:28px!important;
  }
  .dd21-footer .dd21-footer-main>.wp-block-column:first-child{
    flex-basis:100%!important;
  }
  .dd21-footer .dd21-footer-main>.wp-block-column:nth-child(2),
  .dd21-footer .dd21-footer-main>.wp-block-column:nth-child(3){
    flex-basis:calc(50% - 14px)!important;
  }
  .dd21-footer .dd21-footer-bottom{
    align-items:flex-start!important;
    gap:18px!important;
  }
  .dd21-footer .dd21-native-footer-menu{
    justify-content:flex-start!important;
  }
}

@media (max-width:700px){
  .dd21-footer{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .dd21-footer .dd21-footer-main{
    display:block!important;
  }
  .dd21-footer .dd21-footer-main>.wp-block-column{
    width:100%!important;
    margin:0 0 28px!important;
  }
  .dd21-footer .dd21-footer-scheduling{
    display:block!important;
  }
  .dd21-footer .dd21-footer-scheduling .wp-block-buttons{
    margin-top:14px!important;
  }
  .dd21-footer .dd21-footer-bottom{
    display:block!important;
  }
  .dd21-footer .dd21-footer-bottom>p{
    margin-bottom:18px!important;
  }
  .dd21-footer .dd21-native-footer-menu{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    justify-content:stretch!important;
    gap:6px 12px!important;
  }
  .dd21-footer .dd21-native-footer-menu a{
    min-height:42px!important;
    padding:6px 0!important;
    font-size:12px!important;
  }
}
@media (max-width:420px){
  .dd21-footer .dd21-native-footer-menu{
    grid-template-columns:1fr!important;
  }
}


/* V2.2.50: obsolete DD217 mobile navigation CSS removed; DD242 is canonical. */

/* ==========================================================
   V2.2.18 V1-FAITHFUL 24/7 URGENT LINE
   Ported from the final V1 header treatment.
   ========================================================== */
@media (min-width:1025px){
  .site-header .header-actions{
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    gap:16px!important;
    white-space:nowrap!important;
  }
  .site-header a.urgent-line{
    width:188px!important;
    min-width:188px!important;
    height:54px!important;
    margin:0!important;
    padding:7px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    color:#b31c16!important;
    background:rgba(179,28,22,.045)!important;
    border:1px solid rgba(179,28,22,.18)!important;
    border-radius:12px!important;
    box-shadow:none!important;
    text-decoration:none!important;
    line-height:1!important;
    transition:background-color .18s ease,border-color .18s ease,transform .18s ease!important;
  }
  .site-header a.urgent-line:hover,
  .site-header a.urgent-line:focus-visible{
    color:#b31c16!important;
    background:rgba(179,28,22,.08)!important;
    border-color:rgba(179,28,22,.28)!important;
    transform:translateY(-1px)!important;
    outline:none!important;
  }
  .site-header .urgent-dot{
    position:relative!important;
    width:12px!important;
    height:12px!important;
    flex:0 0 12px!important;
    border-radius:50%!important;
    background:#b31c16!important;
    box-shadow:0 0 0 5px rgba(179,28,22,.12)!important;
  }
  .site-header .urgent-copy{
    min-width:0!important;
    flex:1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    text-align:center!important;
  }
  .site-header .urgent-label{
    display:block!important;
    margin:0!important;
    color:#b31c16!important;
    font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
  .site-header .urgent-phone{
    display:block!important;
    margin-top:7px!important;
    color:#b31c16!important;
    font:700 14px/1 Montserrat,Inter,sans-serif!important;
    letter-spacing:-.01em!important;
    white-space:nowrap!important;
  }
}
@media (min-width:1025px) and (max-width:1180px){
  .site-header .header-actions{gap:10px!important;}
  .site-header a.urgent-line{
    width:166px!important;
    min-width:166px!important;
    padding-left:12px!important;
    padding-right:12px!important;
    gap:10px!important;
  }
  .site-header .urgent-phone{font-size:13px!important;}
}


/* ==========================================================
   V2.2.19 V1-FAITHFUL INSTANT DISCOUNT CALCULATOR
   10% Military/Veteran + 10% Senior
   ========================================================== */
.dd219-discount-pattern{
  background:#fff;
}
.dd219-discount-pattern>.dd219-discount-eyebrow{
  color:#099bd6;
}
.dd219-discount-pattern>.dd219-discount-title{
  max-width:760px;
  margin-bottom:10px;
}
.dd219-discount-pattern>.dd219-discount-intro{
  max-width:760px;
  margin-bottom:30px;
}

.dd219-calculator{
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
  margin-top:28px;
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:#fff;
  box-shadow:0 20px 50px rgba(15,23,42,.10);
}
.dd219-calculator-controls{
  padding:32px;
}
.dd219-step-label{
  display:block;
  margin-bottom:12px;
  color:#64748b;
  font:800 11px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.dd219-discount-toggle{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.dd219-tier{
  appearance:none;
  min-height:122px;
  padding:16px;
  border:2px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
  text-align:left;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.dd219-tier:hover,
.dd219-tier:focus-visible{
  border-color:#6ee7b7;
  background:#f0fdf4;
  outline:none;
}
.dd219-tier.is-active{
  border-color:#10b981;
  background:#ecfdf5;
  box-shadow:0 0 0 3px rgba(16,185,129,.08);
}
.dd219-tier-rate{
  display:block;
  color:#047857;
  font:900 11px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.dd219-tier-name{
  display:block;
  margin-top:5px;
  color:#0f172a;
  font:800 15px/1.3 Montserrat,Inter,sans-serif;
}
.dd219-tier-note{
  display:block;
  margin-top:4px;
  color:#64748b;
  font:500 11px/1.4 Inter,Arial,sans-serif;
}
.dd219-service-field{
  margin-top:24px;
}
.dd219-service-field select{
  width:100%;
  min-height:48px;
  padding:13px 16px;
  border:1px solid #cbd5e1;
  border-radius:13px;
  background:#fff;
  color:#1e293b;
  outline:none;
  font:700 14px/1.3 Inter,Arial,sans-serif;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.dd219-service-field select:focus{
  border-color:#099bd6;
  box-shadow:0 0 0 3px rgba(9,155,214,.18);
}
.dd219-calc-note{
  margin:11px 0 0;
  color:#64748b;
  font:500 11px/1.6 Inter,Arial,sans-serif;
}

.dd219-calculator-result{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:32px;
  background:#0f172a;
  color:#fff;
}
.dd219-result-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#a7f3d0;
  font:800 10px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.dd219-result-badge svg,
.dd219-claim-button svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dd219-result-title{
  margin:16px 0 3px;
  color:#fff;
  font:900 25px/1.15 Montserrat,Inter,sans-serif;
  letter-spacing:-.025em;
}
.dd219-result-service{
  margin:0;
  color:#94a3b8;
  font:500 13px/1.4 Inter,Arial,sans-serif;
}
.dd219-result-list{
  display:grid;
  gap:16px;
  margin-top:28px;
}
.dd219-result-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:16px;
  border-bottom:1px solid #334155;
}
.dd219-result-row span{
  color:#94a3b8;
  font-size:13px;
}
.dd219-result-row strong{
  color:#fff;
  font-size:18px;
}
.dd219-result-discount-name{
  display:block;
  margin-top:3px;
  color:#34d399!important;
  font-size:11px!important;
  font-weight:700;
}
.dd219-result-savings{
  color:#34d399!important;
}
.dd219-final-label{
  display:block;
  color:#94a3b8;
  font:800 11px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.dd219-final-price{
  display:block;
  margin-top:6px;
  color:#fff;
  font:900 clamp(40px,5vw,61px)/1 Montserrat,Inter,sans-serif;
  letter-spacing:-.04em;
}
.dd219-result-actions{
  margin-top:28px;
}
.dd219-claim-button{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 18px;
  border:0;
  border-radius:13px;
  background:#10b981;
  color:#052e16;
  box-shadow:0 10px 30px rgba(16,185,129,.25);
  font:900 13px/1.2 Montserrat,Inter,sans-serif;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.dd219-claim-button:hover,
.dd219-claim-button:focus-visible{
  background:#34d399;
  transform:translateY(-1px);
  box-shadow:0 12px 34px rgba(16,185,129,.30);
  outline:none;
}
.dd219-result-actions p{
  margin:11px 0 0;
  color:#64748b;
  font:500 10px/1.5 Inter,Arial,sans-serif;
  text-align:center;
}

@media(max-width:960px){
  .dd219-calculator{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .dd219-calculator{
    margin-top:22px;
    border-radius:18px;
  }
  .dd219-calculator-controls,
  .dd219-calculator-result{
    padding:20px;
  }
  .dd219-discount-toggle{
    grid-template-columns:1fr;
  }
  .dd219-tier{
    min-height:0;
  }
  .dd219-final-price{
    font-size:42px;
  }
}


/* ==========================================================
   V2.2.20 EDITABLE V1 DISCOUNT VERIFICATION CALLOUT
   ========================================================== */
.dd220-verification-note{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:10px;
  margin-top:24px;
  padding:18px 20px;
  border:1px solid #86efac;
  border-radius:18px;
  background:#ecfdf5;
  color:#065f46;
}
.dd220-verification-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  color:#047857;
}
.dd220-verification-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.dd220-verification-note strong{
  display:block;
  margin:0 0 5px;
  color:#065f46;
  font:800 14px/1.3 Inter,Arial,sans-serif;
}
.dd220-verification-note p{
  margin:0;
  color:#065f46;
  font:500 13px/1.55 Inter,Arial,sans-serif;
}
@media(max-width:640px){
  .dd220-verification-note{
    margin-top:18px;
    padding:15px 16px;
    border-radius:14px;
  }
}


/* ==========================================================
   V2.2.21 RESOURCES / BLOG HUB PATTERNS
   ========================================================== */
.dd221-resources-hero{
  padding-top:82px!important;
  padding-bottom:78px!important;
  background:linear-gradient(180deg,#f8fbfd 0%,#fff 100%);
}
.dd221-resources-hero-grid{
  gap:48px!important;
}
.dd221-resource-title{
  max-width:760px;
}
.dd221-resource-lead{
  max-width:700px;
}
.dd221-resource-hero-actions{
  margin-top:26px!important;
}
.dd221-resource-help-card{
  padding:28px!important;
  border:1px solid #dbe7ed;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 44px rgba(15,23,42,.08);
}
.dd221-resource-mini-label{
  margin:0 0 8px!important;
  color:#099bd6;
  font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
}
.dd221-resource-help-title{
  margin-bottom:10px!important;
  font-size:22px!important;
}
.dd221-resource-help-copy{
  color:#64748b;
}
.dd221-resource-help-list{
  margin:18px 0 0!important;
  padding-left:18px!important;
  color:#334155;
}
.dd221-resource-help-list li{
  margin:8px 0!important;
}
.dd221-centered-heading{
  max-width:760px;
  margin:0 auto 34px!important;
  text-align:center;
}
.dd221-resource-topics-row{
  padding-top:72px!important;
  padding-bottom:72px!important;
  background:#f8fafc;
}
.dd221-topic-grid{
  gap:18px!important;
}
.dd221-topic-card{
  min-height:250px;
  padding:26px!important;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.dd221-topic-number{
  margin:0 0 24px!important;
  color:#099bd6;
  font:900 12px/1 Montserrat,Inter,sans-serif;
  letter-spacing:.12em;
}
.dd221-topic-title{
  margin-bottom:10px!important;
  font-size:19px!important;
}
.dd221-topic-copy{
  color:#64748b;
}
.dd221-topic-link{
  margin-top:20px!important;
}
.dd221-topic-link a{
  color:#0284c7;
  font-weight:800;
  text-decoration:none;
}
.dd221-resource-latest-row,
.dd221-blog-latest-row{
  padding-top:76px!important;
  padding-bottom:80px!important;
}
.dd221-resource-latest-heading{
  margin-bottom:30px!important;
}
.dd221-resource-archive-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.dd221-resource-archive-card{
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.055);
  transition:transform .18s ease,box-shadow .18s ease;
}
.dd221-resource-archive-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(15,23,42,.09);
}
.dd221-resource-image-link{
  display:block;
}
.dd221-resource-image{
  position:relative;
  height:190px;
  overflow:hidden;
  background:#eaf3f7;
}
.dd221-resource-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.dd221-resource-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:#7aa7bd;
}
.dd221-resource-placeholder svg{
  width:42px;
  height:42px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
}
.dd221-resource-category{
  position:absolute;
  left:14px;
  bottom:14px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(15,23,42,.86);
  color:#fff;
  font:800 9px/1 Inter,sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.dd221-resource-card-body{
  padding:21px 21px 22px;
}
.dd221-resource-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
  color:#94a3b8;
  font:700 9px/1.2 Inter,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.dd221-resource-card-body h3{
  margin:0 0 10px;
  font-size:18px;
  line-height:1.3;
}
.dd221-resource-card-body h3 a{
  color:#17212c;
  text-decoration:none;
}
.dd221-resource-card-body p{
  margin:0;
  color:#64748b;
  font-size:12px;
  line-height:1.6;
}
.dd221-resource-read{
  display:inline-flex;
  gap:7px;
  margin-top:17px;
  color:#0284c7;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-decoration:none;
  text-transform:uppercase;
}
.dd221-resource-cta-row{
  margin-bottom:0!important;
  padding-top:54px!important;
  padding-bottom:54px!important;
  background:#0f172a;
  color:#fff;
}
.dd221-resource-cta-grid{
  gap:32px!important;
}
.dd221-resource-cta-label{
  margin-bottom:8px!important;
  color:#7dd3fc!important;
  font:800 10px/1.2 Inter,sans-serif;
  letter-spacing:.12em;
}
.dd221-resource-cta-title{
  margin-bottom:8px!important;
  color:#fff!important;
}
.dd221-resource-cta-copy{
  max-width:700px;
  color:#cbd5e1!important;
}
.dd221-resource-cta-action .wp-block-buttons{
  justify-content:flex-end;
}
.dd221-blog-hero{
  padding-top:80px!important;
  padding-bottom:70px!important;
  background:linear-gradient(135deg,#0f172a,#172a3b);
  color:#fff;
}
.dd221-blog-hero .dd21-eyebrow{
  color:#7dd3fc!important;
}
.dd221-blog-hero .dd21-service-title,
.dd221-blog-hero .dd21-service-lead{
  color:#fff!important;
}
.dd221-blog-hero .dd21-service-lead{
  max-width:760px;
}

/* ==========================================================
   V2.2.21 DISCOUNT PAGE REFINEMENT
   Calculator itself remains V2.2.20.
   ========================================================== */
.dd221-discounts-hero{
  padding-top:76px!important;
  padding-bottom:72px!important;
  background:linear-gradient(135deg,#0f172a 0%,#172a3b 100%);
  color:#fff;
}
.dd221-discount-hero-grid{
  gap:44px!important;
}
.dd221-discount-pill{
  display:inline-block;
  width:auto;
  margin:0 0 15px!important;
  padding:7px 11px;
  border:1px solid rgba(125,211,252,.28);
  border-radius:999px;
  background:rgba(14,165,233,.08);
  color:#7dd3fc!important;
  font:800 9px/1.2 Inter,sans-serif;
  letter-spacing:.1em;
}
.dd221-discount-hero-title{
  max-width:730px;
  margin-bottom:14px!important;
  color:#fff!important;
  font-size:clamp(38px,5vw,62px)!important;
  line-height:1.02!important;
}
.dd221-discount-hero-copy{
  max-width:650px;
  color:#cbd5e1!important;
  font-size:16px!important;
  line-height:1.65!important;
}
.dd221-discount-hero-actions{
  margin-top:25px!important;
}
.dd221-discount-primary .wp-block-button__link{
  background:#10b981!important;
  color:#052e16!important;
}
.dd221-discount-secondary .wp-block-button__link{
  border:1px solid #475569!important;
  background:transparent!important;
  color:#fff!important;
}
.dd221-discount-summary-card{
  padding:28px!important;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:rgba(255,255,255,.06);
  box-shadow:0 18px 38px rgba(0,0,0,.16);
}
.dd221-discount-summary-label{
  margin-bottom:18px!important;
  color:#a7f3d0!important;
  font:800 10px/1.2 Inter,sans-serif;
  letter-spacing:.12em;
}
.dd221-discount-rate-grid{
  gap:12px!important;
}
.dd221-discount-rate-grid>.wp-block-column{
  padding:18px!important;
  border:1px solid rgba(167,243,208,.18);
  border-radius:14px;
  background:rgba(16,185,129,.08);
}
.dd221-discount-rate{
  display:block;
  color:#34d399;
  font:900 34px/1 Montserrat,Inter,sans-serif;
}
.dd221-discount-rate-name{
  display:block;
  margin-top:6px;
  color:#fff;
  font:700 12px/1.35 Inter,sans-serif;
}
.dd221-discount-summary-copy{
  margin:18px 0 0!important;
  color:#94a3b8!important;
  font-size:11px!important;
}
.dd221-discount-eligibility-row{
  padding-top:74px!important;
  padding-bottom:74px!important;
  background:#f8fafc;
}
.dd221-eligibility-grid{
  max-width:950px;
  margin:0 auto!important;
  gap:22px!important;
}
.dd221-eligibility-card{
  padding:30px!important;
  border:1px solid #dbe7df;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.dd221-eligibility-rate{
  color:#059669;
  font:900 42px/1 Montserrat,Inter,sans-serif;
  letter-spacing:-.035em;
}
.dd221-eligibility-title{
  margin:8px 0 10px!important;
}
.dd221-eligibility-copy{
  color:#64748b;
}
.dd221-verification-mini{
  margin-top:20px!important;
  padding:14px 15px!important;
  border:1px solid #bbf7d0;
  border-radius:12px;
  background:#f0fdf4;
}
.dd221-verification-label{
  margin:0 0 4px!important;
  color:#047857!important;
  font:900 8px/1.2 Inter,sans-serif;
  letter-spacing:.1em;
}
.dd221-verification-copy{
  margin:0!important;
  color:#166534!important;
  font-size:10px!important;
}
.dd221-discount-process-row{
  padding-top:74px!important;
  padding-bottom:74px!important;
}
.dd221-process-heading{
  max-width:780px;
  margin-bottom:32px!important;
}
.dd221-discount-process-grid{
  gap:16px!important;
}
.dd221-discount-step{
  position:relative;
  min-height:230px;
  padding:25px!important;
  border:1px solid #e2e8f0;
  border-radius:17px;
  background:#fff;
}
.dd221-step-number{
  margin:0 0 28px!important;
  color:#0ea5e9!important;
  font:900 11px/1 Montserrat,Inter,sans-serif;
  letter-spacing:.12em;
}
.dd221-step-title{
  margin-bottom:9px!important;
  font-size:17px!important;
}
.dd221-step-copy{
  color:#64748b;
  font-size:11px!important;
  line-height:1.6!important;
}
.dd221-discount-faq-row{
  padding-top:74px!important;
  padding-bottom:74px!important;
  background:#f8fafc;
}
.dd221-discount-faq-grid{
  gap:48px!important;
}
.dd221-faq-intro{
  position:sticky;
  top:110px;
  align-self:flex-start;
}
.dd221-discount-faq-list details{
  margin-bottom:12px!important;
  padding:0!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden;
}
.dd221-discount-faq-list summary{
  padding:18px 20px!important;
  font-weight:800!important;
}
.dd221-discount-faq-list details p{
  padding:0 20px 18px!important;
  color:#64748b!important;
}
.dd221-discount-cta-row{
  padding-top:52px!important;
  padding-bottom:52px!important;
  background:#072f44;
  color:#fff;
}
.dd221-discount-cta-grid{
  gap:30px!important;
}
.dd221-discount-cta-label{
  margin-bottom:7px!important;
  color:#a7f3d0!important;
  font:800 9px/1.2 Inter,sans-serif;
  letter-spacing:.11em;
}
.dd221-discount-cta-title{
  margin-bottom:8px!important;
  color:#fff!important;
}
.dd221-discount-cta-copy{
  color:#cbd5e1!important;
}
.dd221-discount-cta-actions .wp-block-buttons{
  justify-content:flex-end;
}
.dd221-discount-cta-button .wp-block-button__link{
  background:#10b981!important;
  color:#052e16!important;
  font-weight:900!important;
}

@media(max-width:960px){
  .dd221-resource-archive-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .dd221-topic-grid,
  .dd221-discount-process-grid{
    flex-wrap:wrap!important;
  }
  .dd221-topic-grid>.wp-block-column,
  .dd221-discount-process-grid>.wp-block-column{
    flex-basis:calc(50% - 9px)!important;
  }
  .dd221-faq-intro{
    position:static;
  }
}
@media(max-width:700px){
  .dd221-resources-hero,
  .dd221-resource-topics-row,
  .dd221-resource-latest-row,
  .dd221-blog-latest-row,
  .dd221-discounts-hero,
  .dd221-discount-eligibility-row,
  .dd221-discount-process-row,
  .dd221-discount-faq-row{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }
  .dd221-resources-hero-grid,
  .dd221-discount-hero-grid,
  .dd221-resource-cta-grid,
  .dd221-discount-cta-grid,
  .dd221-discount-faq-grid{
    gap:24px!important;
  }
  .dd221-resource-archive-grid{
    grid-template-columns:1fr;
  }
  .dd221-topic-grid>.wp-block-column,
  .dd221-discount-process-grid>.wp-block-column{
    flex-basis:100%!important;
  }
  .dd221-topic-card,
  .dd221-discount-step{
    min-height:0;
  }
  .dd221-resource-cta-action .wp-block-buttons,
  .dd221-discount-cta-actions .wp-block-buttons{
    justify-content:flex-start;
  }
  .dd221-discount-summary-card,
  .dd221-eligibility-card,
  .dd221-resource-help-card{
    padding:22px!important;
  }
}


/* V2.2.22 native-block validation adjustments */
.dd221-discount-rate{
  margin:0!important;
}
.dd221-discount-rate-name{
  margin:6px 0 0!important;
}
.dd221-discount-cta-actions .wp-block-buttons{
  width:100%;
}

/* V2.2.23 Gutenberg-native discount validation */
p.dd221-eligibility-rate{
  margin:0!important;
  color:#059669;
  font:900 42px/1 Montserrat,Inter,sans-serif;
  letter-spacing:-.035em;
}


/* ==========================================================
   V2.2.25 HOMEPAGE VISUAL RHYTHM REFINEMENT
   Homepage only. No content architecture changes.
   ========================================================== */

body.home{
  --dd-home-max:1180px;
  --dd-home-pad-x:32px;
  --dd-home-section-y:76px;
  --dd-home-section-y-tight:56px;
  --dd-home-card-pad:26px;
  --dd-home-gap:22px;
}

/* Consistent homepage content width and side padding */
body.home main .wp-block-group.alignfull > .wp-block-group__inner-container,
body.home main .wp-block-group:not(.alignfull),
body.home main .wp-block-columns,
body.home main .dd21-row > *{
  max-width:var(--dd-home-max);
  margin-left:auto;
  margin-right:auto;
}

body.home main .dd21-row{
  padding-left:var(--dd-home-pad-x)!important;
  padding-right:var(--dd-home-pad-x)!important;
}

/* Standardize section rhythm */
body.home main .dd21-row{
  padding-top:var(--dd-home-section-y)!important;
  padding-bottom:var(--dd-home-section-y)!important;
}

body.home main .dd21-row.dd21-hero,
body.home main .dd21-row.dd21-home-hero,
body.home main .dd21-row.dd21-homepage-hero{
  padding-top:68px!important;
  padding-bottom:64px!important;
}

body.home main .dd21-row.dd21-compact,
body.home main .dd21-row.dd21-tight{
  padding-top:var(--dd-home-section-y-tight)!important;
  padding-bottom:var(--dd-home-section-y-tight)!important;
}

/* Avoid doubled vertical gaps from first/last child margins */
body.home main .dd21-row > :first-child{
  margin-top:0!important;
}
body.home main .dd21-row > :last-child{
  margin-bottom:0!important;
}

/* Homepage section headings */
body.home main .dd21-section-title,
body.home main h2{
  font-size:clamp(34px,3.5vw,44px);
  line-height:1.05;
  letter-spacing:-.03em;
}

body.home main .dd21-section-intro{
  max-width:760px;
  margin-top:10px!important;
  margin-bottom:30px!important;
  font-size:16px;
  line-height:1.65;
}

/* Hero balance */
body.home main .dd21-home-hero .wp-block-columns,
body.home main .dd21-homepage-hero .wp-block-columns,
body.home main .dd21-hero .wp-block-columns{
  gap:42px!important;
  align-items:center!important;
}

body.home main .dd21-home-hero h1,
body.home main .dd21-homepage-hero h1,
body.home main .dd21-hero h1{
  max-width:680px;
  font-size:clamp(52px,5.3vw,68px)!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
}

body.home main .dd21-home-hero .dd21-service-lead,
body.home main .dd21-homepage-hero .dd21-service-lead,
body.home main .dd21-hero .dd21-service-lead{
  max-width:650px;
  font-size:15px!important;
  line-height:1.65!important;
}

/* General card scale */
body.home main .dd21-row .wp-block-column[class*="card"],
body.home main .dd21-row .dd21-card,
body.home main .dd21-row .ddv2-card{
  padding:var(--dd-home-card-pad)!important;
}

body.home main .wp-block-columns{
  gap:var(--dd-home-gap)!important;
}

/* Professional Specifications */
body.home main .dd21-specs-row,
body.home main .dd21-professional-specifications,
body.home main [class*="professional-spec"]{
  padding-top:72px!important;
  padding-bottom:72px!important;
}

body.home main .dd21-specs-row .wp-block-column,
body.home main .dd21-professional-specifications .wp-block-column,
body.home main [class*="professional-spec"] .wp-block-column{
  padding:28px!important;
  border-radius:18px!important;
}

body.home main .dd21-specs-row p,
body.home main .dd21-professional-specifications p,
body.home main [class*="professional-spec"] p{
  font-size:13px!important;
  line-height:1.6!important;
}

/* Standards / trust grid */
body.home main .dd21-standards-row .wp-block-columns,
body.home main [class*="standards"] .wp-block-columns{
  gap:18px!important;
}

body.home main .dd21-standards-row .wp-block-column,
body.home main [class*="standards"] .wp-block-column{
  min-height:132px;
  padding:22px!important;
  border-radius:15px!important;
}

body.home main .dd21-standards-row h3,
body.home main [class*="standards"] h3{
  font-size:15px!important;
  line-height:1.3!important;
}

body.home main .dd21-standards-row p,
body.home main [class*="standards"] p{
  font-size:11.5px!important;
  line-height:1.55!important;
}

/* Reviews should carry more visual weight */
body.home main .dd21-reviews-row,
body.home main [class*="reviews-section"]{
  padding-top:76px!important;
  padding-bottom:76px!important;
}

body.home main [class*="review-card"],
body.home main .dd21-review-card{
  min-height:190px;
  padding:22px!important;
  border-radius:16px!important;
}

body.home main [class*="review-card"] p,
body.home main .dd21-review-card p{
  font-size:12.5px!important;
  line-height:1.6!important;
}

/* Estimator: reduce dead space in default state */
body.home main #plumbing-diagnostic,
body.home main .dd21-estimator-row,
body.home main [class*="estimator"]{
  min-height:0!important;
}

body.home main #plumbing-diagnostic .wp-block-columns,
body.home main .dd21-estimator-row .wp-block-columns{
  align-items:flex-start!important;
}

body.home main #plumbing-diagnostic [class*="result"],
body.home main #plumbing-diagnostic [class*="panel"],
body.home main .dd21-estimator-row [class*="result"],
body.home main .dd21-estimator-row [class*="panel"]{
  min-height:310px!important;
  height:auto!important;
}

body.home main #plumbing-diagnostic [class*="placeholder"],
body.home main .dd21-estimator-row [class*="placeholder"]{
  min-height:0!important;
}

/* If plugin sets a huge fixed panel height, constrain it on homepage only */
body.home main #plumbing-diagnostic{
  padding-bottom:0!important;
}
body.home main #plumbing-diagnostic > *{
  margin-bottom:0!important;
}

/* Resources cards gain stronger visual presence */
body.home main .dd21-resources-section,
body.home main [class*="recent-resources"]{
  padding-top:72px!important;
  padding-bottom:72px!important;
}

body.home main [class*="resource-card"]{
  border-radius:17px!important;
  overflow:hidden;
}

body.home main [class*="resource-card"] img{
  min-height:190px;
  object-fit:cover;
}

body.home main [class*="resource-card"] h3{
  font-size:17px!important;
  line-height:1.32!important;
}

body.home main [class*="resource-card"] p{
  font-size:11.5px!important;
  line-height:1.6!important;
}

/* Normalize dark CTA strips */
body.home main .dd21-row[class*="cta"],
body.home main [class*="cta-row"]{
  padding-top:50px!important;
  padding-bottom:50px!important;
}

body.home main .dd21-row[class*="cta"] h2,
body.home main [class*="cta-row"] h2{
  margin-bottom:8px!important;
}

body.home main .dd21-row[class*="cta"] p,
body.home main [class*="cta-row"] p{
  margin-bottom:0!important;
}

/* Keep section transitions deliberate */
body.home main .dd21-row:nth-of-type(even){
  scroll-margin-top:90px;
}

/* Tablet */
@media(max-width:1024px){
  body.home{
    --dd-home-pad-x:24px;
    --dd-home-section-y:62px;
    --dd-home-section-y-tight:46px;
    --dd-home-card-pad:22px;
    --dd-home-gap:18px;
  }

  body.home main .dd21-home-hero h1,
  body.home main .dd21-homepage-hero h1,
  body.home main .dd21-hero h1{
    font-size:clamp(46px,7vw,58px)!important;
  }

  body.home main [class*="review-card"]{
    min-height:175px;
  }

  body.home main #plumbing-diagnostic [class*="result"],
  body.home main #plumbing-diagnostic [class*="panel"],
  body.home main .dd21-estimator-row [class*="result"],
  body.home main .dd21-estimator-row [class*="panel"]{
    min-height:260px!important;
  }
}

/* Mobile */
@media(max-width:700px){
  body.home{
    --dd-home-pad-x:18px;
    --dd-home-section-y:46px;
    --dd-home-section-y-tight:36px;
    --dd-home-card-pad:18px;
    --dd-home-gap:14px;
  }

  body.home main .dd21-row{
    padding-top:46px!important;
    padding-bottom:46px!important;
  }

  body.home main .dd21-home-hero,
  body.home main .dd21-homepage-hero,
  body.home main .dd21-hero{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }

  body.home main .dd21-home-hero .wp-block-columns,
  body.home main .dd21-homepage-hero .wp-block-columns,
  body.home main .dd21-hero .wp-block-columns{
    gap:28px!important;
  }

  body.home main .dd21-home-hero h1,
  body.home main .dd21-homepage-hero h1,
  body.home main .dd21-hero h1{
    font-size:clamp(40px,12vw,50px)!important;
    line-height:.98!important;
  }

  body.home main .dd21-section-title,
  body.home main h2{
    font-size:clamp(30px,9vw,38px);
  }

  body.home main .dd21-section-intro{
    margin-bottom:24px!important;
    font-size:15px;
  }

  body.home main .dd21-standards-row .wp-block-column,
  body.home main [class*="standards"] .wp-block-column,
  body.home main [class*="review-card"]{
    min-height:0;
  }

  body.home main #plumbing-diagnostic [class*="result"],
  body.home main #plumbing-diagnostic [class*="panel"],
  body.home main .dd21-estimator-row [class*="result"],
  body.home main .dd21-estimator-row [class*="panel"]{
    min-height:220px!important;
  }

  body.home main [class*="resource-card"] img{
    min-height:175px;
  }

  body.home main .dd21-row[class*="cta"],
  body.home main [class*="cta-row"]{
    padding-top:38px!important;
    padding-bottom:38px!important;
  }
}


/* ==========================================================
   V2.2.26 HOMEPAGE ESTIMATOR HEIGHT REFINEMENT
   Compact at rest; expands naturally with result content.
   ========================================================== */

/* Remove inherited/fixed height pressure from the homepage estimator shell. */
body.home main #plumbing-diagnostic,
body.home main .dd21-estimator-row,
body.home main [class*="estimator"]{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}

/* Keep the two-column tool compact before interaction. */
body.home main #plumbing-diagnostic .wp-block-columns,
body.home main .dd21-estimator-row .wp-block-columns{
  align-items:stretch!important;
  min-height:0!important;
}

/* Default/right response area: roughly 25–35% shorter than previous state. */
body.home main #plumbing-diagnostic [class*="result"],
body.home main #plumbing-diagnostic [class*="response"],
body.home main #plumbing-diagnostic [class*="panel"],
body.home main .dd21-estimator-row [class*="result"],
body.home main .dd21-estimator-row [class*="response"],
body.home main .dd21-estimator-row [class*="panel"]{
  min-height:270px!important;
  height:auto!important;
  max-height:none!important;
}

/* Let empty/default states collapse instead of reserving oversized space. */
body.home main #plumbing-diagnostic [class*="placeholder"],
body.home main #plumbing-diagnostic [class*="empty"],
body.home main .dd21-estimator-row [class*="placeholder"],
body.home main .dd21-estimator-row [class*="empty"]{
  min-height:0!important;
  height:auto!important;
}

/* Do not compress the symptom choices themselves. */
body.home main #plumbing-diagnostic [class*="symptom"],
body.home main #plumbing-diagnostic [class*="choice"],
body.home main .dd21-estimator-row [class*="symptom"],
body.home main .dd21-estimator-row [class*="choice"]{
  min-height:0!important;
}

/* Tablet */
@media(max-width:1024px){
  body.home main #plumbing-diagnostic [class*="result"],
  body.home main #plumbing-diagnostic [class*="response"],
  body.home main #plumbing-diagnostic [class*="panel"],
  body.home main .dd21-estimator-row [class*="result"],
  body.home main .dd21-estimator-row [class*="response"],
  body.home main .dd21-estimator-row [class*="panel"]{
    min-height:245px!important;
  }
}

/* Mobile: stack naturally with no artificial minimum height. */
@media(max-width:700px){
  body.home main #plumbing-diagnostic [class*="result"],
  body.home main #plumbing-diagnostic [class*="response"],
  body.home main #plumbing-diagnostic [class*="panel"],
  body.home main .dd21-estimator-row [class*="result"],
  body.home main .dd21-estimator-row [class*="response"],
  body.home main .dd21-estimator-row [class*="panel"]{
    min-height:0!important;
    height:auto!important;
  }
}


/* ==========================================================
   V2.2.27 SERVICE PAGE ALTERNATING RHYTHM
   Applies to service category + individual service pages.
   ========================================================== */

body.single-service,
body.page-template-service,
body[class*="service-category"],
body[class*="service-single"]{
  --dd-service-max:1180px;
  --dd-service-x:32px;
  --dd-service-y:76px;
  --dd-service-y-tight:58px;
  --dd-service-gap:22px;
  --dd-service-card-pad:26px;
}

/* Consistent width + section padding */
body.single-service main .dd21-row,
body.page-template-service main .dd21-row,
body[class*="service-category"] main .dd21-row,
body[class*="service-single"] main .dd21-row{
  padding-left:var(--dd-service-x)!important;
  padding-right:var(--dd-service-x)!important;
  padding-top:var(--dd-service-y)!important;
  padding-bottom:var(--dd-service-y)!important;
}

body.single-service main .dd21-row > *,
body.page-template-service main .dd21-row > *,
body[class*="service-category"] main .dd21-row > *,
body[class*="service-single"] main .dd21-row > *{
  max-width:var(--dd-service-max);
  margin-left:auto;
  margin-right:auto;
}

/* Explicit alternating surfaces */
.dd227-service-hero{
  background:#fff!important;
}

.dd227-surface-soft{
  background:#f7f9fb!important;
}

.dd227-surface-white{
  background:#fff!important;
}

.dd227-surface-blue{
  background:#eef7fb!important;
}

.dd227-surface-dark{
  background:#0f172a!important;
  color:#fff!important;
}

/* Fallback alternating rhythm for existing inserted service patterns
   that predate the new marker classes. */
body.single-service main > .wp-block-post-content > .dd21-row:nth-child(odd),
body.page-template-service main > .wp-block-post-content > .dd21-row:nth-child(odd),
body[class*="service-category"] main > .wp-block-post-content > .dd21-row:nth-child(odd),
body[class*="service-single"] main > .wp-block-post-content > .dd21-row:nth-child(odd){
  background:#fff;
}

body.single-service main > .wp-block-post-content > .dd21-row:nth-child(even),
body.page-template-service main > .wp-block-post-content > .dd21-row:nth-child(even),
body[class*="service-category"] main > .wp-block-post-content > .dd21-row:nth-child(even),
body[class*="service-single"] main > .wp-block-post-content > .dd21-row:nth-child(even){
  background:#f7f9fb;
}

/* Preserve explicit dark/blue surfaces above fallback */
body.single-service main .dd227-surface-blue,
body.page-template-service main .dd227-surface-blue,
body[class*="service-category"] main .dd227-surface-blue,
body[class*="service-single"] main .dd227-surface-blue{
  background:#eef7fb!important;
}

body.single-service main .dd227-surface-dark,
body.page-template-service main .dd227-surface-dark,
body[class*="service-category"] main .dd227-surface-dark,
body[class*="service-single"] main .dd227-surface-dark{
  background:#0f172a!important;
}

/* Hero transitions */
body.single-service main .dd227-service-hero,
body.page-template-service main .dd227-service-hero,
body[class*="service-category"] main .dd227-service-hero,
body[class*="service-single"] main .dd227-service-hero{
  padding-top:68px!important;
  padding-bottom:64px!important;
}

/* Headings + intros */
body.single-service main .dd21-section-title,
body.page-template-service main .dd21-section-title,
body[class*="service-category"] main .dd21-section-title,
body[class*="service-single"] main .dd21-section-title{
  font-size:clamp(34px,3.5vw,44px);
  line-height:1.06;
  letter-spacing:-.03em;
}

body.single-service main .dd21-section-intro,
body.page-template-service main .dd21-section-intro,
body[class*="service-category"] main .dd21-section-intro,
body[class*="service-single"] main .dd21-section-intro{
  max-width:760px;
  margin-top:10px!important;
  margin-bottom:30px!important;
  font-size:16px;
  line-height:1.65;
}

/* Card rhythm */
body.single-service main .wp-block-columns,
body.page-template-service main .wp-block-columns,
body[class*="service-category"] main .wp-block-columns,
body[class*="service-single"] main .wp-block-columns{
  gap:var(--dd-service-gap)!important;
}

body.single-service main .dd21-row .wp-block-column[class*="card"],
body.page-template-service main .dd21-row .wp-block-column[class*="card"],
body[class*="service-category"] main .dd21-row .wp-block-column[class*="card"],
body[class*="service-single"] main .dd21-row .wp-block-column[class*="card"]{
  padding:var(--dd-service-card-pad)!important;
  border-radius:18px!important;
}

/* White cards on tinted sections for stronger separation */
.dd227-surface-soft .wp-block-column[class*="card"],
.dd227-surface-blue .wp-block-column[class*="card"],
.dd227-surface-soft .dd21-card,
.dd227-surface-blue .dd21-card{
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  box-shadow:0 8px 24px rgba(15,23,42,.045);
}

/* Process feels deliberately distinct */
.dd227-surface-blue .dd21-eyebrow{
  color:#0284c7!important;
}
.dd227-surface-blue .dd21-section-intro{
  color:#526475!important;
}

/* FAQ should feel quieter than conversion sections */
.dd227-surface-soft details{
  background:#fff!important;
  border-color:#e2e8f0!important;
}

/* Reviews get visual breathing room */
body.single-service main [class*="review-card"],
body.page-template-service main [class*="review-card"],
body[class*="service-category"] main [class*="review-card"],
body[class*="service-single"] main [class*="review-card"]{
  min-height:185px;
  padding:22px!important;
  border-radius:16px!important;
}

/* Final CTA creates a strong ending */
.dd227-surface-dark h2,
.dd227-surface-dark h3,
.dd227-surface-dark p{
  color:#fff!important;
}
.dd227-surface-dark .dd21-eyebrow{
  color:#7dd3fc!important;
}
.dd227-surface-dark{
  padding-top:54px!important;
  padding-bottom:54px!important;
}

/* Prevent accidental double margins at section boundaries */
body.single-service main .dd21-row > :first-child,
body.page-template-service main .dd21-row > :first-child,
body[class*="service-category"] main .dd21-row > :first-child,
body[class*="service-single"] main .dd21-row > :first-child{
  margin-top:0!important;
}
body.single-service main .dd21-row > :last-child,
body.page-template-service main .dd21-row > :last-child,
body[class*="service-category"] main .dd21-row > :last-child,
body[class*="service-single"] main .dd21-row > :last-child{
  margin-bottom:0!important;
}

/* Tablet */
@media(max-width:1024px){
  body.single-service,
  body.page-template-service,
  body[class*="service-category"],
  body[class*="service-single"]{
    --dd-service-x:24px;
    --dd-service-y:62px;
    --dd-service-y-tight:48px;
    --dd-service-gap:18px;
    --dd-service-card-pad:22px;
  }
}

/* Mobile */
@media(max-width:700px){
  body.single-service,
  body.page-template-service,
  body[class*="service-category"],
  body[class*="service-single"]{
    --dd-service-x:18px;
    --dd-service-y:46px;
    --dd-service-y-tight:38px;
    --dd-service-gap:14px;
    --dd-service-card-pad:18px;
  }

  body.single-service main .dd21-row,
  body.page-template-service main .dd21-row,
  body[class*="service-category"] main .dd21-row,
  body[class*="service-single"] main .dd21-row{
    padding-top:46px!important;
    padding-bottom:46px!important;
  }

  body.single-service main .dd227-service-hero,
  body.page-template-service main .dd227-service-hero,
  body[class*="service-category"] main .dd227-service-hero,
  body[class*="service-single"] main .dd227-service-hero{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }

  body.single-service main .dd21-section-title,
  body.page-template-service main .dd21-section-title,
  body[class*="service-category"] main .dd21-section-title,
  body[class*="service-single"] main .dd21-section-title{
    font-size:clamp(30px,9vw,38px);
  }

  body.single-service main [class*="review-card"],
  body.page-template-service main [class*="review-card"],
  body[class*="service-category"] main [class*="review-card"],
  body[class*="service-single"] main [class*="review-card"]{
    min-height:0;
  }

  .dd227-surface-dark{
    padding-top:40px!important;
    padding-bottom:40px!important;
  }
}


/* ==========================================================
   V2.2.29 SINGLE SERVICE — SERVICE GUARANTEES + IMAGE
   ========================================================== */
.dd229-service-guarantees{
  background:#f7f9fb;
}
.dd229-guarantee-heading{
  max-width:780px;
  margin:0 0 32px!important;
}
.dd229-guarantee-layout{
  gap:28px!important;
  align-items:stretch!important;
}
.dd229-guarantee-card-column{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.dd229-guarantee-card-row{
  gap:16px!important;
  margin:0!important;
  flex:1;
}
.dd229-guarantee-card-row .dd21-guarantee-card{
  min-height:100%;
  padding:22px!important;
  border:1px solid #e1e7eb;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.045);
}
.dd229-guarantee-number{
  margin:0 0 18px!important;
  color:#099bd6!important;
  font:900 10px/1 Montserrat,Inter,sans-serif!important;
  letter-spacing:.12em;
}
.dd229-guarantee-card-row .dd21-guarantee-card h3{
  margin:0 0 9px!important;
  font-size:15px!important;
  line-height:1.3!important;
}
.dd229-guarantee-card-row .dd21-guarantee-card p:not(.dd229-guarantee-number){
  margin:0!important;
  color:#65707c!important;
  font-size:11px!important;
  line-height:1.6!important;
}
.dd229-guarantee-image-column{
  display:flex;
  flex-direction:column;
}
.dd229-guarantee-image{
  width:100%;
  height:100%;
  min-height:390px;
  margin:0!important;
  overflow:hidden;
  border-radius:18px;
  background:#eaf3f7;
  box-shadow:0 10px 28px rgba(15,23,42,.08);
}
.dd229-guarantee-image img{
  width:100%;
  height:100%;
  min-height:390px;
  object-fit:cover;
  display:block;
}
.dd229-image-helper{
  margin:10px 2px 0!important;
  color:#87929d!important;
  font-size:9px!important;
  line-height:1.45!important;
}

@media(max-width:1024px){
  .dd229-guarantee-layout{
    gap:20px!important;
  }
  .dd229-guarantee-card-row .dd21-guarantee-card{
    padding:19px!important;
  }
  .dd229-guarantee-image,
  .dd229-guarantee-image img{
    min-height:360px;
  }
}

@media(max-width:760px){
  .dd229-guarantee-layout{
    display:block!important;
  }
  .dd229-guarantee-card-column,
  .dd229-guarantee-image-column{
    width:100%!important;
  }
  .dd229-guarantee-image-column{
    margin-top:22px;
  }
  .dd229-guarantee-image,
  .dd229-guarantee-image img{
    min-height:280px;
    max-height:420px;
  }
}

@media(max-width:560px){
  .dd229-guarantee-card-row{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .dd229-guarantee-image,
  .dd229-guarantee-image img{
    min-height:240px;
  }
}


/* ==========================================================
   V2.2.30 SERVICE GUARANTEES SURFACE COLOR SWAP
   White section + soft gray guarantee cards.
   ========================================================== */
.dd229-service-guarantees{
  background:#fff!important;
}

.dd229-guarantee-card-row .dd21-guarantee-card{
  background:#f7f9fb!important;
  border-color:#e4e9ed!important;
  box-shadow:none!important;
}

.dd229-guarantee-card-row .dd21-guarantee-card:hover{
  background:#f3f6f8!important;
  border-color:#d8e0e5!important;
}

.dd229-guarantee-image{
  background:#eef6f9!important;
}


/* ==========================================================
   V2.2.31 SERVICE CATEGORY PAGE — SEO + ALTERNATING RHYTHM
   ========================================================== */

/* Category pages only */
body[class*="service-category"]{
  --ddcat-max:1180px;
  --ddcat-x:32px;
  --ddcat-y:78px;
  --ddcat-y-tight:58px;
  --ddcat-gap:22px;
  --ddcat-card-pad:24px;
}

/* Strong section cadence */
body[class*="service-category"] main .dd21-category-hero,
body[class*="service-category"] main .dd231-category-hero{
  background:#fff!important;
}

body[class*="service-category"] main .dd21-service-options-row,
body[class*="service-category"] main .dd231-category-service-options{
  background:#f7f9fb!important;
}

body[class*="service-category"] main .dd21-local-impact-row,
body[class*="service-category"] main .dd231-category-local-impact{
  background:#fff!important;
}

body[class*="service-category"] main .dd21-process-row,
body[class*="service-category"] main .dd231-category-process{
  background:#eef7fb!important;
}

body[class*="service-category"] main .dd21-faq-row,
body[class*="service-category"] main .dd231-category-faq{
  background:#fff!important;
}

body[class*="service-category"] main .dd21-reviews-row,
body[class*="service-category"] main .dd231-category-reviews{
  background:#f7f9fb!important;
}

body[class*="service-category"] main .dd21-final-cta-row,
body[class*="service-category"] main .dd231-category-final-cta{
  background:#0f172a!important;
}

/* Uniform category-page section sizing */
body[class*="service-category"] main .dd21-row{
  padding-left:var(--ddcat-x)!important;
  padding-right:var(--ddcat-x)!important;
  padding-top:var(--ddcat-y)!important;
  padding-bottom:var(--ddcat-y)!important;
}

body[class*="service-category"] main .dd21-row > *{
  max-width:var(--ddcat-max);
  margin-left:auto;
  margin-right:auto;
}

/* SEO hierarchy: preserve one H1, make secondary hierarchy easier to scan */
body[class*="service-category"] main .dd21-service-title,
body[class*="service-category"] main .dd21-hero-title{
  max-width:760px;
  margin-bottom:18px!important;
}

body[class*="service-category"] main .dd21-section-heading{
  max-width:820px;
  margin-bottom:34px!important;
}

body[class*="service-category"] main .dd21-section-title{
  margin-top:6px!important;
  margin-bottom:12px!important;
  font-size:clamp(34px,3.3vw,44px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}

body[class*="service-category"] main .dd21-section-intro{
  max-width:760px!important;
  margin-top:0!important;
  margin-bottom:0!important;
  font-size:16px!important;
  line-height:1.65!important;
  color:#5f6975!important;
}

/* HERO — clear topical authority without extra visual noise */
body[class*="service-category"] main .dd21-category-hero{
  padding-top:68px!important;
  padding-bottom:66px!important;
}
body[class*="service-category"] main .dd21-category-hero-grid{
  gap:42px!important;
  align-items:center!important;
}
body[class*="service-category"] main .dd21-category-hero .dd21-service-lead{
  max-width:720px;
  font-size:16px!important;
  line-height:1.7!important;
}
body[class*="service-category"] main .dd21-category-hero .dd21-service-metrics{
  gap:10px!important;
  margin-top:24px!important;
}
body[class*="service-category"] main .dd21-category-hero .dd21-service-metric{
  padding:15px 16px!important;
  border-color:#e2e8f0!important;
  border-radius:12px!important;
}

/* SERVICE OPTIONS — strongest internal-link section */
body[class*="service-category"] main .dd21-service-options-row{
  padding-top:82px!important;
  padding-bottom:82px!important;
}
body[class*="service-category"] main .dd21-service-card-grid{
  gap:18px!important;
}
body[class*="service-category"] main .dd21-service-card{
  padding:22px!important;
  border:1px solid #e2e8f0!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}
body[class*="service-category"] main .dd21-service-card h3{
  margin:12px 0 8px!important;
  font-size:15px!important;
  line-height:1.3!important;
}
body[class*="service-category"] main .dd21-service-card p{
  font-size:11px!important;
  line-height:1.65!important;
}
body[class*="service-category"] main .dd21-service-card .btn{
  margin-top:14px!important;
  font-size:10px!important;
  padding:10px 13px!important;
}

/* LOCAL IMPACT — long-form localized SEO content gets more breathing room */
body[class*="service-category"] main .dd21-local-impact-row{
  padding-top:84px!important;
  padding-bottom:84px!important;
}
body[class*="service-category"] main .dd21-local-impact-grid{
  gap:38px!important;
  align-items:start!important;
}
body[class*="service-category"] main .dd21-local-impact-copy p{
  font-size:13px!important;
  line-height:1.75!important;
  margin-bottom:16px!important;
}
body[class*="service-category"] main .dd21-local-note{
  margin-top:22px!important;
  padding:16px 18px!important;
  border-radius:12px!important;
}
body[class*="service-category"] main .dd21-warning-card{
  padding:26px!important;
  border-radius:16px!important;
  background:#fffafa!important;
}
body[class*="service-category"] main .dd21-warning-card h3{
  font-size:24px!important;
  margin:8px 0 14px!important;
}
body[class*="service-category"] main .dd21-warning-card li{
  font-size:12px!important;
  line-height:1.65!important;
  margin-bottom:9px!important;
}

/* PROCESS — distinct soft-blue education band */
body[class*="service-category"] main .dd21-process-row{
  padding-top:78px!important;
  padding-bottom:78px!important;
}
body[class*="service-category"] main .dd21-process-grid{
  gap:16px!important;
}
body[class*="service-category"] main .dd21-process-card{
  padding:22px!important;
  border-radius:15px!important;
  border-color:#dbe9ef!important;
  background:#fff!important;
}
body[class*="service-category"] main .dd21-process-number{
  font-size:26px!important;
  margin-bottom:12px!important;
}
body[class*="service-category"] main .dd21-process-card h3{
  font-size:14px!important;
  margin-bottom:8px!important;
}
body[class*="service-category"] main .dd21-process-card p{
  font-size:11px!important;
  line-height:1.6!important;
}

/* FAQ — clean white information band */
body[class*="service-category"] main .dd21-faq-row{
  padding-top:76px!important;
  padding-bottom:80px!important;
}
body[class*="service-category"] main .dd21-faq-list{
  max-width:920px!important;
}
body[class*="service-category"] main .dd21-faq-list details{
  padding:17px 18px!important;
  margin-bottom:10px!important;
  border-radius:12px!important;
  border-color:#dfe5ea!important;
}
body[class*="service-category"] main .dd21-faq-list summary{
  font-size:12px!important;
  line-height:1.45!important;
}
body[class*="service-category"] main .dd21-faq-list p{
  font-size:11px!important;
  line-height:1.65!important;
  margin-top:10px!important;
}

/* REVIEWS — muted trust band */
body[class*="service-category"] main .dd21-reviews-row{
  padding-top:76px!important;
  padding-bottom:76px!important;
}
body[class*="service-category"] main .dd21-review-grid{
  gap:18px!important;
}
body[class*="service-category"] main .dd21-review-card{
  min-height:210px;
  padding:24px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}

/* FINAL CTA — strong terminal conversion band */
body[class*="service-category"] main .dd21-final-cta-row{
  padding-top:58px!important;
  padding-bottom:58px!important;
}
body[class*="service-category"] main .dd21-final-cta{
  background:transparent!important;
  color:#fff!important;
}
body[class*="service-category"] main .dd21-final-cta h2,
body[class*="service-category"] main .dd21-final-cta h3,
body[class*="service-category"] main .dd21-final-cta p{
  color:#fff!important;
}

/* Prevent vertical rhythm from being broken by inherited margins */
body[class*="service-category"] main .dd21-row > :first-child{
  margin-top:0!important;
}
body[class*="service-category"] main .dd21-row > :last-child{
  margin-bottom:0!important;
}

/* Tablet */
@media(max-width:1024px){
  body[class*="service-category"]{
    --ddcat-x:24px;
    --ddcat-y:64px;
    --ddcat-gap:18px;
    --ddcat-card-pad:21px;
  }

  body[class*="service-category"] main .dd21-category-hero-grid,
  body[class*="service-category"] main .dd21-local-impact-grid{
    gap:28px!important;
  }

  body[class*="service-category"] main .dd21-service-options-row,
  body[class*="service-category"] main .dd21-local-impact-row{
    padding-top:68px!important;
    padding-bottom:68px!important;
  }
}

/* Mobile */
@media(max-width:700px){
  body[class*="service-category"]{
    --ddcat-x:18px;
    --ddcat-y:48px;
    --ddcat-gap:14px;
    --ddcat-card-pad:18px;
  }

  body[class*="service-category"] main .dd21-row{
    padding-top:48px!important;
    padding-bottom:48px!important;
  }

  body[class*="service-category"] main .dd21-category-hero{
    padding-top:40px!important;
    padding-bottom:44px!important;
  }

  body[class*="service-category"] main .dd21-section-heading{
    margin-bottom:24px!important;
  }

  body[class*="service-category"] main .dd21-section-title{
    font-size:clamp(30px,9vw,38px)!important;
  }

  body[class*="service-category"] main .dd21-service-card-grid,
  body[class*="service-category"] main .dd21-process-grid,
  body[class*="service-category"] main .dd21-review-grid{
    grid-template-columns:1fr!important;
  }

  body[class*="service-category"] main .dd21-service-card,
  body[class*="service-category"] main .dd21-process-card,
  body[class*="service-category"] main .dd21-review-card{
    min-height:0!important;
  }

  body[class*="service-category"] main .dd21-local-impact-copy p{
    font-size:12px!important;
  }

  body[class*="service-category"] main .dd21-warning-card{
    padding:20px!important;
  }

  body[class*="service-category"] main .dd21-final-cta-row{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }
}


/* V2.2.32 Parent Service — Child Services */
.dd232-parent-child-services-row{background:#f7f9fb}
.dd232-parent-child-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dd232-parent-child-related-card{
  min-height:64px;
  padding:16px 18px!important;
  border-radius:11px!important;
  background:#fff!important;
  border:1px solid #e5e7eb!important;
}
.dd232-parent-child-related-card:hover{
  border-color:#cfd8df!important;
  box-shadow:0 6px 16px rgba(15,23,42,.05);
}
.dd232-parent-child-related-card strong{font-size:11px;line-height:1.35}
.dd232-parent-child-related-card span{color:#099bd6;font-weight:900}
@media(max-width:900px){
  .dd232-parent-child-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .dd232-parent-child-related-grid{grid-template-columns:1fr}
}


/* ==========================================================
   V2.2.34 SINGLE SERVICE HERO — EDITABLE LEADCONNECTOR BODY
   Keeps the existing booking card/header and lets the form
   itself be managed from a native Gutenberg Shortcode block.
   ========================================================== */
.dd234-shortcode-card > .wp-block-html{margin:0!important;}
.dd234-leadconnector-body{
  margin:0!important;
  padding:18px!important;
  background:#fff!important;
}
.dd234-leadconnector-body > .wp-block-shortcode{
  margin:0!important;
  width:100%;
}
.dd234-leadconnector-body iframe{
  display:block;
  width:100%;
  max-width:100%;
  border:0;
}
@media(max-width:767px){
  .dd234-leadconnector-body{padding:16px!important;}
}


/* ==========================================================
   V2.2.35 SINGLE SERVICE HERO — 48/52 DESKTOP SPLIT
   Scoped only to the existing Single Service — Hero & Booking Form.
   The !important declarations are required to override the inline
   flex-basis saved in already-inserted Gutenberg pattern instances.
   ========================================================== */
@media(min-width:901px){
  .dd21-single-hero-grid > .wp-block-column:first-child{
    flex-basis:48% !important;
  }
  .dd21-single-hero-grid > .dd21-booking-col{
    flex-basis:52% !important;
  }
}


/* ==========================================================
   V2.2.36 GLOBAL RESPONSIVE HEADER / FOOTER HARDENING
   ========================================================== */

/* V2.2.50: legacy header-toggle presentation removed; DD242 owns compact navigation. */
/* Native Social Icons live in the global footer template part so editors can
   manage each network directly in Site Editor without theme PHP. */
.dd21-footer .dd236-footer-social{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:15px!important;
}
.dd21-footer .dd236-footer-social-label{
  margin:0!important;
  color:#d7dce2!important;
  font:800 9px/1.2 Montserrat,Inter,sans-serif!important;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.dd21-footer .dd236-social-links{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}
.dd21-footer .dd236-social-links .wp-social-link{
  margin:0!important;
}
.dd21-footer .dd236-social-links .wp-social-link a{
  width:36px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  padding:8px!important;
  border:1px solid #2f343b!important;
  border-radius:10px!important;
  background:#17191d!important;
  color:#fff!important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.dd21-footer .dd236-social-links .wp-social-link a:hover,
.dd21-footer .dd236-social-links .wp-social-link a:focus-visible{
  background:var(--blue)!important;
  border-color:var(--blue)!important;
  transform:translateY(-1px);
  outline:none;
}
.dd21-footer .dd236-social-links svg{
  width:18px!important;
  height:18px!important;
}

/* Prevent Gutenberg columns, embeds, images and controls from creating
   horizontal overflow anywhere inside the reusable site patterns. */
.dd21-row .wp-block-column,
.dd21-row .wp-block-group,
.dd21-footer .wp-block-column,
.dd21-header-inner,
.dd21-header-system{
  min-width:0;
}
.dd21-row img,
.dd21-row video,
.dd21-row iframe,
.dd21-row input,
.dd21-row select,
.dd21-row textarea,
.dd21-footer img,
.dd21-footer iframe{
  max-width:100%;
}

@media (max-width:1024px){

  .dd21-footer{
    padding-top:42px!important;
  }
  .dd21-footer .dd21-footer-main{
    align-items:flex-start!important;
  }
}

@media (max-width:700px){
  .site-header .wp-block-site-logo img{
    max-width:132px!important;
    max-height:38px!important;
  }

  .dd21-footer{
    padding:38px 18px 22px!important;
  }
  .dd21-footer .dd236-footer-social{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  .dd21-footer .dd21-footer-main>.wp-block-column{
    flex-basis:100%!important;
  }
  .dd21-footer .dd21-footer-scheduling .wp-block-button,
  .dd21-footer .dd21-footer-scheduling .wp-block-button__link{
    width:100%!important;
  }
  .dd21-footer .dd21-footer-scheduling .wp-block-button__link{
    justify-content:center!important;
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    font-size:11px!important;
  }
}

@media (max-width:480px){
  .site-header .header-inner{
    width:calc(100% - 20px)!important;
  }
  .site-header .wp-block-site-logo img{
    max-width:118px!important;
  }
  .dd21-footer .dd21-native-footer-menu{
    grid-template-columns:1fr!important;
  }
}


/* V2.2.38 — Existing Global Reviews pattern: editable CRM shortcode body */
.dd237-reviews-widget-body{
  width:100%;
  max-width:none!important;
  margin:28px 0 0!important;
  padding:0!important;
}
.dd237-reviews-widget-body > .wp-block-shortcode{
  width:100%;
  max-width:none!important;
  margin:0!important;
}
.dd237-reviews-widget-body iframe,
.dd237-reviews-widget-body embed,
.dd237-reviews-widget-body object{
  display:block;
  width:100%!important;
  max-width:100%!important;
  border:0;
}
@media (max-width:700px){
  .dd237-reviews-widget-body{margin-top:20px!important;}
}

/* =========================================================
   V2.2.38 — Homepage Professional Specifications refinement
   Existing pattern only: drip-doctors/home-professional-specifications
   ========================================================= */
.dd21-specifications-row{
  background:#f8fafc;
  padding-top:78px;
  padding-bottom:84px;
}
.dd21-specifications-row .dd21-section-heading{
  max-width:820px;
  margin-bottom:46px;
}
.dd21-specifications-row .dd21-section-intro{
  max-width:760px;
  margin-inline:auto;
  font-size:16px!important;
  line-height:1.7!important;
}
.dd21-specification-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:24px!important;
  align-items:stretch!important;
  max-width:1120px;
  margin:0 auto;
}
.dd21-spec-card{
  position:relative;
  min-width:0;
  padding:30px!important;
  border:1px solid #e2e8f0!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(15,23,42,.07)!important;
  overflow:hidden;
}
.dd21-spec-card::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:#099bd6;
}
.dd21-symptoms-card::after{background:#b42318;}
.dd21-spec-card>h3{
  position:relative;
  min-height:46px;
  display:flex;
  align-items:center;
  padding-left:58px!important;
  margin:0 0 8px!important;
  font:800 21px/1.25 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.02em!important;
  color:#0f172a!important;
}
.dd21-spec-card>h3::before{
  content:""!important;
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:12px;
  background-color:#eaf7fc;
  background-repeat:no-repeat;
  background-position:center;
  background-size:22px 22px;
}
.dd21-symptoms-card>h3::before{
  background-color:#fff1f0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23b42318' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 2.9 1.8 17a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 2.9a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}
.dd21-scope-card>h3::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23099bd6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}
.dd21-spec-card>.dd21-mini-label{
  margin:2px 0 12px!important;
  font:800 11px/1.35 Inter,sans-serif!important;
  letter-spacing:.1em!important;
  color:#64748b!important;
}
.dd21-spec-card>p:not(.dd21-mini-label){
  margin:0!important;
  font-size:15px!important;
  line-height:1.7!important;
  color:#52606d!important;
}
.dd21-check-list{
  list-style:none!important;
  padding:0!important;
  margin:22px 0 24px!important;
  display:grid;
  gap:0;
}
.dd21-check-list li{
  position:relative;
  padding:11px 0 11px 30px!important;
  border-bottom:1px solid #eef2f6;
  font-size:14px!important;
  line-height:1.55!important;
  color:#334155!important;
}
.dd21-check-list li:first-child{border-top:1px solid #eef2f6;}
.dd21-check-list li::before{
  content:""!important;
  position:absolute;
  left:0;
  top:13px;
  width:18px;
  height:18px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23b42318' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}
.dd21-symptoms-card .dd21-soft-blue .wp-block-button__link{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 18px!important;
  border:1px solid #bae6fd;
  border-radius:11px!important;
  background:#eaf7fc!important;
  color:#087fb8!important;
  font-size:13px!important;
  font-weight:800!important;
}
.dd21-scope-grid{
  gap:12px!important;
  margin-top:20px!important;
  align-items:stretch!important;
}
.dd21-scope-grid>.wp-block-column{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.dd21-scope-item{
  position:relative;
  flex:1 1 0;
  min-height:118px;
  margin:0!important;
  padding:18px 18px 18px 48px!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#f8fafc!important;
}
.dd21-scope-item::before{
  content:"";
  position:absolute;
  left:17px;
  top:19px;
  width:20px;
  height:20px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:20px 20px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23099bd6' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5'/%3E%3C/svg%3E");
}
.dd21-scope-item h4{
  margin:0 0 7px!important;
  font:800 14px/1.35 Montserrat,Inter,sans-serif!important;
  letter-spacing:-.01em!important;
  color:#0f172a!important;
}
.dd21-scope-item p{
  margin:0!important;
  font-size:13px!important;
  line-height:1.6!important;
  color:#5b6775!important;
}
.dd21-pro-cta{
  gap:18px;
  padding:20px!important;
  margin-top:16px!important;
  background:#0f172a!important;
  border-radius:12px!important;
  color:#fff;
}
.dd21-pro-cta h4{
  color:#fff!important;
  font-size:15px!important;
  line-height:1.35!important;
  margin:0!important;
}
.dd21-pro-cta p{
  color:#cbd5e1!important;
  font-size:13px!important;
  line-height:1.5!important;
  margin:4px 0 0!important;
}
.dd21-pro-cta .wp-block-button__link{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:11px 16px!important;
  font-size:12px!important;
  border-radius:9px!important;
}

@media(max-width:900px){
  .dd21-specifications-row{padding-top:64px;padding-bottom:68px;}
  .dd21-specification-grid{display:block!important;max-width:720px;}
  .dd21-spec-card{padding:26px!important;margin-bottom:20px;}
  .dd21-scope-grid{display:flex!important;gap:12px!important;}
  .dd21-scope-grid>.wp-block-column{flex:1 1 0!important;}
}
@media(max-width:640px){
  .dd21-specifications-row{padding-top:52px;padding-bottom:56px;}
  .dd21-specifications-row .dd21-section-heading{margin-bottom:30px;}
  .dd21-specifications-row .dd21-section-intro{font-size:15px!important;}
  .dd21-spec-card{padding:22px 18px!important;border-radius:15px!important;}
  .dd21-spec-card>h3{min-height:40px;padding-left:50px!important;font-size:18px!important;}
  .dd21-spec-card>h3::before{width:38px;height:38px;border-radius:10px;background-size:20px 20px;}
  .dd21-spec-card>p:not(.dd21-mini-label){font-size:14px!important;line-height:1.65!important;}
  .dd21-check-list li{padding:10px 0 10px 28px!important;font-size:14px!important;}
  .dd21-scope-grid{display:block!important;}
  .dd21-scope-grid>.wp-block-column{display:block!important;}
  .dd21-scope-item{min-height:0;margin-bottom:10px!important;padding:16px 16px 16px 44px!important;}
  .dd21-scope-item::before{left:15px;top:17px;}
  .dd21-scope-item h4{font-size:14px!important;}
  .dd21-scope-item p{font-size:13px!important;}
  .dd21-pro-cta{display:block!important;padding:18px!important;}
  .dd21-pro-cta .wp-block-buttons{margin-top:14px!important;}
  .dd21-pro-cta .wp-block-button,.dd21-pro-cta .wp-block-button__link{width:100%;}
}

/* ========================================================================
   V2.2.39 — Homepage — Drip Doctors Standards refinement
   Refines the existing pattern only. Color palette intentionally unchanged.
   ======================================================================== */
.dd21-standards-row{
  padding-top:68px!important;
  padding-bottom:72px!important;
}
.dd21-standards-row .dd21-section-heading{
  max-width:760px;
  margin:0 auto 34px!important;
  text-align:center;
}
.dd21-standards-row .dd21-section-title{
  margin-bottom:12px!important;
}
.dd21-standards-row .dd21-section-intro{
  max-width:680px;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:16px!important;
  line-height:1.65!important;
}

/* Flatten the Gutenberg column wrappers visually so all six existing cards
   participate in one responsive grid without changing the pattern markup. */
.dd21-standards-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px!important;
  max-width:1120px!important;
  margin:0 auto!important;
}
.dd21-standards-grid>.wp-block-column{
  display:contents!important;
}

.dd21-standard-card{
  position:relative;
  min-height:178px!important;
  margin:0!important;
  padding:24px 22px 22px 82px!important;
  border:1px solid #e9ecef!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(15,23,42,.045)!important;
}
.dd21-standard-card::before{
  content:''!important;
  position:absolute!important;
  left:22px!important;
  top:24px!important;
  width:42px!important;
  height:42px!important;
  border-radius:11px!important;
  display:block!important;
  background-color:#eaf7fc!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:22px 22px!important;
}
.dd21-icon-shield::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23099bd6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")!important;
}
.dd21-icon-dollar::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23099bd6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8'/%3E%3Cpath d='M12 6v12'/%3E%3C/svg%3E")!important;
}
.dd21-icon-award::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23099bd6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='5'/%3E%3Cpath d='m8.5 12-1.5 9 5-3 5 3-1.5-9'/%3E%3Cpath d='m10 8 1.3 1.3L14 6.6'/%3E%3C/svg%3E")!important;
}
.dd21-icon-people::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23099bd6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E")!important;
}
.dd21-icon-bolt::before{
  background-color:#fff1f1!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239f1710' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9z'/%3E%3C/svg%3E")!important;
}
.dd21-icon-heart::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23099bd6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.9-8.6a5.5 5.5 0 0 0-.1-7.8z'/%3E%3C/svg%3E")!important;
}
.dd21-standard-card h3{
  margin:0 0 9px!important;
  color:#0f172a!important;
  font-family:Montserrat,sans-serif!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1.28!important;
  letter-spacing:-.01em;
}
.dd21-standard-card p{
  margin:0!important;
  color:#65707c!important;
  font-size:14.5px!important;
  line-height:1.65!important;
}

.dd21-standards-callout{
  max-width:1120px!important;
  margin:20px auto 0!important;
  padding:20px 22px!important;
  gap:20px!important;
  border:1px solid #ccecf8!important;
  border-radius:12px!important;
  background:#eef9fd!important;
}
.dd21-standards-callout h3{
  margin:0!important;
  font-size:18px!important;
  line-height:1.3!important;
}
.dd21-standards-callout p{
  margin:5px 0 0!important;
  color:#596472!important;
  font-size:14px!important;
  line-height:1.55!important;
}
.dd21-standards-callout .wp-block-button__link{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px!important;
  font-size:13px!important;
  line-height:1.25!important;
}

@media(max-width:960px){
  .dd21-standards-row{
    padding-top:60px!important;
    padding-bottom:64px!important;
  }
  .dd21-standards-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:760px!important;
  }
  .dd21-standard-card{
    min-height:168px!important;
  }
  .dd21-standards-callout{
    max-width:760px!important;
  }
}

@media(max-width:640px){
  .dd21-standards-row{
    padding-top:52px!important;
    padding-bottom:56px!important;
  }
  .dd21-standards-row .dd21-section-heading{
    margin-bottom:28px!important;
    text-align:left;
  }
  .dd21-standards-row .dd21-section-intro{
    font-size:15px!important;
    line-height:1.6!important;
  }
  .dd21-standards-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .dd21-standard-card{
    min-height:0!important;
    padding:20px 18px 20px 70px!important;
    border-radius:13px!important;
  }
  .dd21-standard-card::before{
    left:18px!important;
    top:20px!important;
    width:38px!important;
    height:38px!important;
    border-radius:10px!important;
    background-size:20px 20px!important;
  }
  .dd21-standard-card h3{
    font-size:17px!important;
  }
  .dd21-standard-card p{
    font-size:14px!important;
    line-height:1.6!important;
  }
  .dd21-standards-callout{
    display:block!important;
    margin-top:16px!important;
    padding:18px!important;
  }
  .dd21-standards-callout h3{
    font-size:17px!important;
  }
  .dd21-standards-callout p{
    font-size:14px!important;
  }
  .dd21-standards-callout .wp-block-buttons{
    margin-top:14px!important;
  }
  .dd21-standards-callout .wp-block-button,
  .dd21-standards-callout .wp-block-button__link{
    width:100%;
  }
}

/* ==========================================================
   V2.2.42 MOBILE NAVIGATION — VIEWPORT-LEVEL REBUILD
   The mobile navigation block is rendered OUTSIDE .site-header so the
   header's backdrop-filter cannot create a containing block for the drawer.
   Native <details>/<summary> handles all mobile open/close states.
   ========================================================== */
.dd242-mobile-nav{display:none;}

@media (max-width:1024px){
  /* Retire every legacy compact-navigation control inside the header. */
  .dd21-header-system > .main-nav,
  .dd21-header-system > .header-actions,
  .dd21-header-system > .mobile-toggle,
  .dd21-header-system > .mobile-nav-close,
  .dd21-header-system > .mobile-nav-ctas,
  .dd21-header-system > .dd217-mobile-nav{
    display:none!important;
  }

  .dd242-mobile-nav{
    display:block!important;
    margin:0!important;
    padding:0!important;
  }
  .dd242-mobile-nav > summary::-webkit-details-marker,
  .dd242-mobile-section > summary::-webkit-details-marker{display:none;}
  .dd242-mobile-nav > summary,
  .dd242-mobile-section > summary{list-style:none;}

  /* Summary is viewport-level, visually occupying the existing right-hand
     header control position without living inside the filtered header. */
  .dd242-mobile-toggle{
    position:fixed!important;
    z-index:1205!important;
    top:17px!important;
    right:max(16px,calc((100vw - 1145px)/2))!important;
    width:44px!important;
    height:44px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dce3ea!important;
    border-radius:13px!important;
    background:#fff!important;
    color:#17212c!important;
    box-shadow:0 2px 8px rgba(15,23,42,.06)!important;
    cursor:pointer!important;
  }
  .admin-bar .dd242-mobile-toggle{top:49px!important;}
  .dd242-mobile-toggle:focus-visible{
    outline:3px solid rgba(9,155,214,.18)!important;
    outline-offset:2px!important;
    border-color:rgba(9,155,214,.55)!important;
  }
  .dd242-toggle-icons{position:relative!important;width:24px!important;height:24px!important;display:block!important;}
  .dd242-mobile-toggle svg{
    position:absolute!important;inset:0!important;width:24px!important;height:24px!important;
    fill:none!important;stroke:currentColor!important;stroke-width:2.2!important;stroke-linecap:round!important;stroke-linejoin:round!important;
    transition:opacity .14s ease,transform .14s ease!important;
  }
  .dd242-icon-menu{opacity:1;transform:scale(1);}
  .dd242-icon-close{opacity:0;transform:scale(.86);}
  .dd242-mobile-nav[open] .dd242-icon-menu{opacity:0;transform:scale(.86);}
  .dd242-mobile-nav[open] .dd242-icon-close{opacity:1;transform:scale(1);}

  /* This is now truly viewport-fixed because it is NOT a descendant of
     .site-header / backdrop-filter. */
  .dd242-mobile-drawer{
    position:fixed!important;
    z-index:1200!important;
    top:78px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    background:#fff!important;
    border-top:1px solid #edf0f3!important;
    box-shadow:0 18px 42px rgba(13,24,36,.13)!important;
    padding:12px 18px calc(26px + env(safe-area-inset-bottom))!important;
  }
  .admin-bar .dd242-mobile-drawer{top:110px!important;}

  .dd242-mobile-menu{width:min(100%,760px)!important;margin:0 auto!important;padding:0!important;}
  .dd242-mobile-row{
    width:100%!important;min-height:58px!important;display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;gap:11px!important;
    margin:0!important;padding:10px 4px!important;border:0!important;border-bottom:1px solid #edf0f3!important;
    background:transparent!important;color:#17212c!important;text-align:left!important;text-decoration:none!important;
    font:800 15px/1.25 Inter,Arial,sans-serif!important;cursor:pointer!important;
  }
  .dd242-mobile-section-title{grid-template-columns:38px minmax(0,1fr) 20px!important;}
  .dd242-row-icon{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:#f0f7fa!important;color:var(--blue)!important;font-size:17px!important;}
  .dd242-chevron{width:9px!important;height:9px!important;justify-self:end!important;margin-right:5px!important;border-right:2px solid #75808d!important;border-bottom:2px solid #75808d!important;transform:rotate(45deg)!important;transition:transform .16s ease,border-color .16s ease!important;}
  .dd242-mobile-section[open] > .dd242-mobile-section-title .dd242-chevron{border-color:var(--blue)!important;transform:rotate(225deg)!important;}

  .dd242-submenu{padding:8px 0 12px!important;border-bottom:1px solid #edf0f3!important;background:#f8fafc!important;}
  .dd242-submenu-label{padding:8px 12px 10px!important;color:#7b8794!important;font:800 9px/1 Montserrat,Inter,sans-serif!important;letter-spacing:.1em!important;text-transform:uppercase!important;}
  .dd242-category-link{width:100%!important;min-height:54px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) 24px!important;align-items:center!important;gap:10px!important;padding:7px 10px!important;border-radius:9px!important;color:#273542!important;text-decoration:none!important;font:700 13px/1.3 Inter,Arial,sans-serif!important;}
  .dd242-category-link:hover,.dd242-category-link:focus-visible{background:#eef8fc!important;color:var(--blue)!important;outline:none!important;}
  .dd242-category-group{margin:0!important;border:0!important;}
  .dd242-category-group > summary::-webkit-details-marker{display:none;}
  .dd242-category-group > summary{list-style:none;cursor:pointer!important;}
  .dd242-category-summary{grid-template-columns:38px minmax(0,1fr) 24px!important;}
  .dd242-category-chevron{width:9px!important;height:9px!important;justify-self:center!important;border-right:2px solid #8a96a2!important;border-bottom:2px solid #8a96a2!important;transform:rotate(45deg)!important;transition:transform .16s ease,border-color .16s ease!important;}
  .dd242-category-group[open] > .dd242-category-summary{background:#eef8fc!important;color:var(--blue)!important;}
  .dd242-category-group[open] > .dd242-category-summary .dd242-category-chevron{border-color:var(--blue)!important;transform:rotate(225deg)!important;}
  .dd242-category-children{margin:0 10px 6px 58px!important;padding:4px 0 8px 12px!important;border-left:2px solid #d8edf6!important;}
  .dd242-category-parent-link{min-width:0!important;color:inherit!important;text-decoration:none!important;font:inherit!important;}
  .dd242-category-parent-link:hover,.dd242-category-parent-link:focus-visible{color:var(--blue)!important;text-decoration:underline!important;text-underline-offset:3px!important;outline:none!important;}
  .dd242-child-service-link{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:42px!important;padding:8px 10px!important;border-radius:8px!important;color:#455565!important;text-decoration:none!important;font:650 12.5px/1.35 Inter,Arial,sans-serif!important;}
  .dd242-child-service-link:hover,.dd242-child-service-link:focus-visible{background:#fff!important;color:var(--blue)!important;outline:none!important;}
  .dd242-category-icon{width:36px!important;height:36px!important;display:grid!important;place-items:center!important;border:1px solid #e4edf2!important;border-radius:9px!important;background:#fff!important;color:var(--blue)!important;}
  .dd242-category-icon svg{width:18px!important;height:18px!important;}
  .dd242-arrow{justify-self:end!important;color:#8a96a2!important;font-size:15px!important;}
  .dd242-resource-submenu{padding:7px 10px 12px!important;}
  .dd242-resource-link{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:9px 10px!important;border-radius:9px!important;color:#334155!important;text-decoration:none!important;font:700 13px/1.3 Inter,Arial,sans-serif!important;}
  .dd242-resource-link:hover,.dd242-resource-link:focus-visible{background:#fff!important;color:var(--blue)!important;outline:none!important;}
  .dd242-mobile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:18px 0 8px!important;}
  .dd242-call,.dd242-book{min-height:50px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:10px 14px!important;border-radius:11px!important;text-decoration:none!important;text-align:center!important;font:850 12px/1.15 Montserrat,Inter,sans-serif!important;cursor:pointer!important;}
  .dd242-call{border:1px solid #ad1d17!important;background:#ad1d17!important;color:#fff!important;box-shadow:0 6px 16px rgba(173,29,23,.18)!important;}
  .dd242-book{border:1px solid var(--blue)!important;background:var(--blue)!important;color:#fff!important;box-shadow:0 6px 16px rgba(9,155,214,.18)!important;}
}

@media (max-width:900px){
  .dd242-mobile-toggle{top:12px!important;right:12px!important;}
  .admin-bar .dd242-mobile-toggle{top:58px!important;}
  .dd242-mobile-drawer{top:69px!important;}
  .admin-bar .dd242-mobile-drawer{top:115px!important;}
}
@media (max-width:520px){
  .dd242-mobile-drawer{padding-left:12px!important;padding-right:12px!important;}
  .dd242-mobile-actions{grid-template-columns:1fr!important;}
  .dd242-call,.dd242-book{min-height:52px!important;}
}
@media (min-width:1025px){.dd242-mobile-nav{display:none!important;}}

@media (max-width:1024px){
  .dd21-header-system{padding-right:54px!important;}
  body:has(.dd242-mobile-nav[open]){overflow:hidden!important;}
}


/* V2.2.47 Booking modal shortcode slot */
.dd-booking-shortcode-stage{min-height:0}
.dd-booking-shortcode{width:100%}
.dd-booking-shortcode form{margin:0}
.dd-booking-shortcode :where(input,select,textarea,button){max-width:100%}
.dd-booking-shortcode :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){box-sizing:border-box}
.dd-booking-form-empty{padding:28px 22px;text-align:center;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#334155}
.dd-booking-form-empty strong{display:block;margin-bottom:6px;color:var(--black);font:800 16px/1.3 Inter,sans-serif}
.dd-booking-form-empty p{margin:0 0 14px;font:500 14px/1.6 Inter,sans-serif;color:#64748b}
.dd-booking-empty-call{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:10px;background:var(--blue);color:#fff!important;font:800 14px/1 Inter,sans-serif;text-decoration:none}


/* =========================================================
   V2.2.49 LOCAL ENTITY HARDENING
   ========================================================= */
.dd249-business-credentials{margin-top:10px!important;font-size:12px!important;line-height:1.55!important;opacity:.82;}


/* ================================================================
   V2.2.52 — DYNAMIC SERVICE HUB GRID
   Featured-image aware, text-only fallback, no placeholders.
   ================================================================ */
.dd252-service-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;margin:0}
.dd252-service-hub-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #dfe6eb;border-radius:18px;box-shadow:0 10px 30px rgba(13,13,13,.055);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.dd252-service-hub-card:hover{transform:translateY(-3px);border-color:rgba(9,155,214,.5);box-shadow:0 16px 38px rgba(9,155,214,.12)}
.dd252-service-hub-media{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#eef4f7}
.dd252-service-hub-media:after{content:'';position:absolute;inset:auto 0 0;height:36%;background:linear-gradient(to top,rgba(13,13,13,.28),transparent);pointer-events:none}
.dd252-service-hub-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.dd252-service-hub-card:hover .dd252-service-hub-image{transform:scale(1.025)}
.dd252-service-hub-body{display:flex;flex:1;flex-direction:column;padding:24px}
.dd252-service-hub-card.no-image .dd252-service-hub-body{padding-top:28px;min-height:255px;border-top:4px solid var(--blue)}
.dd252-service-hub-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.dd252-service-hub-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:rgba(9,155,214,.09);color:var(--blue)}
.dd252-service-hub-icon svg{width:22px;height:22px}
.dd252-service-hub-count{font:700 10px/1.2 Inter,sans-serif;letter-spacing:.065em;text-transform:uppercase;color:#65707c;background:#f4f7f9;border-radius:999px;padding:7px 9px}
.dd252-service-hub-title{margin:0 0 10px;font:800 21px/1.2 Montserrat,sans-serif;letter-spacing:-.025em;color:#111}
.dd252-service-hub-title a{text-decoration:none;color:inherit}
.dd252-service-hub-title a:hover{color:var(--blue)}
.dd252-service-hub-copy{margin:0 0 20px;color:#56616d;font-size:15px;line-height:1.65}
.dd252-service-hub-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--blue-dark);font:800 12px/1.2 Montserrat,sans-serif;text-transform:uppercase;letter-spacing:.045em}
.dd252-service-hub-link span{transition:transform .2s ease}
.dd252-service-hub-link:hover span{transform:translateX(3px)}
.dd252-service-hub-empty{padding:24px;border:1px dashed #cbd5dc;border-radius:14px;background:#fff;color:#65707c;text-align:center}
@media(max-width:980px){.dd252-service-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.dd252-service-hub-grid{grid-template-columns:1fr;gap:18px}.dd252-service-hub-body{padding:21px}.dd252-service-hub-card.no-image .dd252-service-hub-body{min-height:0}.dd252-service-hub-title{font-size:20px}.dd252-service-hub-copy{font-size:15px}}


/* ==========================================================================
   V2.2.53 — Homepage hero: simplify tablet/mobile experience
   Hide the service-category selector below desktop widths and allow the
   primary hero copy to span the available width. Desktop remains unchanged.
   ========================================================================== */
@media (max-width: 1024px) {
  body.home .dd21-home-selector-col,
  body.home #hero-section .service-selector {
    display: none !important;
  }

  body.home .dd21-home-hero-grid {
    display: block !important;
  }

  body.home .dd21-home-hero-copy {
    width: 100% !important;
    max-width: 760px;
    flex-basis: 100% !important;
  }

  body.home #hero-section .hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home #hero-section .hero-content {
    max-width: 760px;
  }
}


/* ==========================================================
   V2.2.56 TABLET HEADER QUICK ACTIONS
   Restore the 24/7 Urgent Line beside Book Online on tablets.
   Phones keep the cleaner Book Online + hamburger header; the
   urgent call action remains available inside the mobile drawer.
   ========================================================== */
@media (min-width:601px) and (max-width:1024px){
  .site-header .responsive-header-actions{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
  }
  .site-header .responsive-call{
    display:inline-flex!important;
    min-height:40px!important;
    padding:0 12px!important;
    border:1px solid #ad1d17!important;
    border-radius:10px!important;
    background:#ad1d17!important;
    color:#fff!important;
    text-decoration:none!important;
    font:800 10.5px/1 Montserrat,Inter,sans-serif!important;
    box-shadow:0 4px 10px rgba(173,29,23,.16)!important;
  }
  .site-header .responsive-call-icon{font-size:13px!important;line-height:1!important;}
  .site-header .responsive-book{
    display:inline-flex!important;
    min-height:40px!important;
    padding:0 13px!important;
    font-size:10.5px!important;
  }
}
@media (max-width:600px){
  .site-header .responsive-call{display:none!important;}
}
