/* Plumber in Middletown — modern trade identity */
:root{--color-primary:#102d3b;--color-primary-dark:#09212c;--color-secondary:#315967;--color-accent:#b94d25;--color-accent-hover:#943a18;--color-accent-light:#fcf0e8;--color-bg-light:#f5f5f0;--color-bg-subtle:#edf2f2;--color-bg-dark:#102d3b;--color-text:#17333f;--color-text-muted:#53636a;--color-border:#dce3e1;--container-max:1320px;--radius-xl:14px;--radius-lg:12px;--radius-md:8px;--shadow-md:0 7px 24px #102d3b08;--shadow-lg:0 14px 40px #102d3b12;--shadow-hover:0 18px 40px #102d3b14}
html{font-family:Inter,'Segoe UI',Arial,sans-serif}body{background:#fff}h1,h2,h3{letter-spacing:-.035em}h2{font-size:clamp(1.85rem,3vw,2.65rem);line-height:1.16;font-weight:750}h3{line-height:1.3}p{line-height:1.8}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #c26538;outline-offset:5px}a{transition:color .18s,background .18s}main{overflow:clip}.container{padding-inline:clamp(20px,3vw,40px)}
.top-bar{background:#102d3b;border:0;padding:8px 0}.top-badge{font-size:12px;letter-spacing:.035em}.top-badge-dot{background:#deb88f;animation:none;box-shadow:none}.top-contact{font-size:12px}.top-phone-link{font-size:12px}.site-header{box-shadow:none;border-bottom:1px solid #e1e6e4}.nav-container{height:92px;gap:25px}.brand-logo-img{width:274px;height:auto}.desktop-nav{gap:22px}.nav-link{font-size:14px;font-weight:650}.nav-link[aria-current=page]{color:var(--color-accent)}.header-call-btn{border-radius:5px;padding:14px 20px;font-size:14px;box-shadow:none;font-weight:700}.header-call-btn:hover{box-shadow:none;transform:none}.dropdown-menu{border-radius:10px;box-shadow:0 20px 45px #102d3b20;border:1px solid #dce3e1}.nav-item:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-link{font-size:14px;padding:10px 18px}.mobile-nav-drawer{top:92px}.mobile-nav-drawer.active{border-top:1px solid #ddd}.mobile-nav-title{font-size:1rem}.breadcrumbs-bar{background:#f5f5f0;border-bottom:1px solid #e1e6e4}.breadcrumb-list{font-size:12px}
.hero-section{background:#f5f5f0;color:#17333f;padding:64px 0 72px}.hero-section::before{display:none}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}.hero-content,.hero-image-col{min-width:0}.hero-badge{background:transparent;color:#9c4322;border:0;border-radius:0;letter-spacing:.08em;font-size:11px;text-transform:uppercase;padding:0;margin-bottom:24px;line-height:1.6}.hero-badge svg{color:#a94c28}.hero-h1{color:#102d3b;font-size:clamp(2.45rem,4.2vw,4rem);line-height:1.06;letter-spacing:-.055em;font-weight:800;margin-bottom:24px;text-wrap:balance}.page-home .hero-h1{font-size:clamp(3rem,5.6vw,5rem);max-width:620px}.hero-intro{color:#53636a;font-size:16px;line-height:1.85;margin-bottom:26px;max-width:620px}.hero-actions{gap:12px;margin-bottom:28px}.btn-primary,.btn-secondary{border-radius:5px;padding:15px 20px;font-size:14px;font-weight:700;min-height:50px;justify-content:center;box-shadow:none;text-decoration:none!important}.btn-primary:hover{box-shadow:none;transform:translateY(-2px)}.hero-section .btn-secondary{color:#17333f!important;background:transparent;border:1px solid #9eafaf}.hero-section .btn-secondary:hover{background:#e9ede9;border-color:#17333f}.hero-trust-bar{border-color:#d5ddda;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:22px}.trust-item{font-size:12px;font-weight:600;color:#435b63}.trust-check-icon{color:#9e4c2a;width:16px;height:16px}.hero-img-card{border:0;border-radius:10px;box-shadow:none;overflow:hidden;isolation:isolate}.hero-img-card>img{width:100%;height:500px;object-fit:cover}.hero-badge-float{background:#102d3b;color:#fff;backdrop-filter:none;border:0;border-left:3px solid #de9b70;border-radius:4px;bottom:22px;left:22px;right:22px;padding:16px 18px}.hero-badge-icon{color:#edb891}.stats-ribbon{background:#102d3b;border:0;padding:26px 0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.stat-box{border-right:1px solid #ffffff26;padding-right:15px;gap:14px}.stat-box:last-child{border:0}.stat-icon-wrap{background:transparent;border:1px solid #ffffff30;border-radius:50%;width:46px;height:46px;flex-shrink:0}.stat-icon{color:#edb891;width:21px;height:21px}.stat-value{color:white;font-size:17px;font-weight:700}.stat-label{color:#c0cfd0;font-size:12px}
.section-full{padding:80px 0}.section-full.bg-light,.section-full.bg-subtle{border:0}.section-full.bg-dark{background:#102d3b}.section-header,.section-header.text-left{text-align:left;max-width:820px;margin:0 0 32px}.section-tag{background:transparent!important;padding:0;border:0;border-radius:0;color:#a04725;font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;margin-bottom:13px}.section-tag::before{content:'';display:inline-block;width:24px;height:2px;background:currentColor;vertical-align:middle;margin-right:10px}.section-lead{font-size:16px;line-height:1.8}.section-full>.container>p{max-width:100%;color:#53636a}.editorial-section>.container{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:0 70px}.editorial-section>.container>.section-header{grid-column:1;grid-row:1 / span 20}.editorial-section>.container>p{grid-column:2}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.svc-card,.loc-card{border:1px solid #dce3e1;border-radius:9px;background:white;box-shadow:none;overflow:hidden;transition:transform .2s,box-shadow .2s}.svc-card:hover,.loc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:#b7c4c2}.svc-card-img-wrap{height:210px}.svc-card-img-wrap img{filter:saturate(.8)}.svc-card-body{padding:25px}.svc-card-title{font-size:21px;letter-spacing:-.025em}.svc-card-desc{color:#53636a;font-size:14px;line-height:1.8}.svc-card-cta{color:#9b4322;font-size:13px;padding-top:16px;margin-top:auto;border-top:1px solid #e1e6e4;justify-content:space-between}.svc-card-badge,.svc-card-category{border-radius:3px;background:#102d3b;color:#fff;box-shadow:none;font-size:10px;letter-spacing:.045em}.svc-card a,.loc-card a{text-decoration:none!important}.loc-card-img-wrap{height:155px}.loc-card-body{padding:22px}.loc-card-title{font-size:20px}.loc-card-region{background:#102d3b;border-radius:3px;font-size:10px}.loc-card-desc{font-size:14px;line-height:1.8}.loc-card-cta{color:#9b4322;font-size:13px}.loc-tag{background:#edf2f2;color:#395861;border:0;border-radius:3px}.loc-pin-icon{color:#ac4c27}.feature-split{gap:55px}.feature-visual-card{border-radius:10px;box-shadow:none;border:0}.feature-visual-caption{background:#102d3b}.alert-cards-grid,.trust-cards-grid{gap:20px}.alert-card,.trust-card{border-radius:8px;border:1px solid #dce3e1;box-shadow:none;padding:26px;background:white}.alert-card:hover,.trust-card:hover{transform:none;box-shadow:none;border-color:#b9c8c4}.alert-icon-wrap{background:#f6eae1;border-radius:6px;color:#a84a24}.alert-card h3,.trust-card h3{font-size:20px}.alert-card p,.trust-card p{font-size:14px;color:#53636a;line-height:1.8}.trust-card-icon{color:#a84a24;background:#f6eae1}.step-grid{gap:22px;counter-reset:steps}.step-card{border:0;border-top:2px solid #c47c52;border-radius:0;box-shadow:none;background:transparent;padding:26px 12px 12px 0}.step-card:hover{box-shadow:none;transform:none}.step-number{background:transparent;color:#a44a27;border:0;box-shadow:none;border-radius:0;width:auto;justify-content:flex-start;font-size:36px;letter-spacing:-.05em}.step-card h3{font-size:20px}.step-card p{font-size:14px}.ownership-card,.job-showcase-card,.eeat-card{border-radius:9px;box-shadow:none;border:1px solid #dce3e1}.ownership-col.homeowner{background:#fcf0e8}.ownership-col.city{background:#edf2f2}.table-responsive{border-radius:8px;box-shadow:none;border:1px solid #dce3e1}.styled-table thead tr{background:#102d3b}.styled-table th{font-size:13px;padding:18px 20px}.styled-table td{font-size:14px;padding:18px 20px}.styled-table tbody tr:nth-of-type(even){background:#f5f5f0}
.faq-section .container-narrow{max-width:1320px}.faq-section>.container{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:0 70px}.faq-section .section-header{grid-column:1;grid-row:1;margin:0 0 20px}.faq-section .container>p{grid-column:1;grid-row:2;align-self:start}.faq-section .faq-grid{grid-column:2;grid-row:1 / span 3}.faq-grid{gap:12px}.faq-item{border-radius:6px;border:1px solid #dce3e1;background:#fff;box-shadow:none}.faq-item:hover{border-color:#aebfbd;box-shadow:none}.faq-header{padding:22px 24px;gap:20px}.faq-header h3{font-size:16px;line-height:1.5;letter-spacing:-.015em}.faq-item.active .faq-header{background:#fff;color:#102d3b}.faq-icon{color:#a84a24;flex-shrink:0}.faq-body{display:none;max-height:none;padding:0 24px!important;transition:none}.faq-item.active .faq-body{display:block;max-height:none;padding:0 24px 22px!important}.faq-body p{color:#53636a}.cta-banner-full{background:#102d3b;border-top:4px solid #c47c52;padding:74px 0}.cta-banner-full::before{display:none}.cta-banner-content{max-width:850px}.cta-banner-full h2{font-size:clamp(2rem,3.5vw,3.15rem);letter-spacing:-.04em}.cta-banner-full p{color:#c6d3d5;font-size:16px}.map-frame-wrapper{border-radius:10px;box-shadow:none;filter:saturate(.65)}.contact-card{border:1px solid #dce3e1;border-radius:9px;box-shadow:none}.form-control{border-radius:5px;border-color:#b9c6c4;min-height:48px}.form-control:focus{border-color:#b94d25;box-shadow:0 0 0 3px #b94d2515}.site-footer{background:#09212c;padding-top:65px}.footer-grid{gap:45px}.footer-brand-image{width:270px;height:auto!important;background:transparent!important;padding:0!important;border-radius:0!important}.footer-col h3{font-size:15px;letter-spacing:0}.footer-col h3::after{background:#c88961;height:2px}.footer-desc{color:#bccacc;font-size:14px}.footer-links a{font-size:13px;color:#c6d2d4}.footer-bottom{font-size:12px}.nap-box{border-radius:6px;background:#ffffff05}.nap-phone-link{color:#edb891}.lead-gen-disclosure-img{filter:none;opacity:1}.mobile-sticky-bar{border-top:1px solid #dce3e1;box-shadow:0 -4px 20px #102d3b12;padding-bottom:max(10px,env(safe-area-inset-bottom))}.sticky-btn-call,.sticky-btn-quote{border-radius:5px;box-shadow:none;font-size:13px;min-height:46px}body.nav-open{overflow:hidden}
@media(min-width:1025px){.hero-section:not(:has(.hero-image-col)) .hero-grid{grid-template-columns:1fr}.hero-section:not(:has(.hero-image-col)) .hero-content{max-width:900px}}
@media(max-width:1100px){.brand-logo-img{width:240px}.desktop-nav{gap:8px}.nav-container{gap:14px}.hero-grid{gap:35px}.hero-img-card>img{height:460px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions>a{min-width:230px}.cards-grid{gap:18px}.editorial-section>.container,.faq-section>.container{gap:0 35px}}
@media(max-width:900px){.desktop-nav{display:none}.mobile-nav-toggle{display:block}.header-actions .header-call-btn{display:none}.hero-grid{grid-template-columns:1fr 1fr;gap:28px}.hero-h1{font-size:2.6rem}.page-home .hero-h1{font-size:3.2rem}.hero-img-card>img{height:500px}.hero-badge-float{left:14px;right:14px;bottom:14px;padding:14px}.hero-badge-float svg{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:25px}.stat-box:nth-child(2){border:0}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-section>.container,.faq-section>.container{display:block}.faq-section .faq-grid{margin-top:28px}.section-full{padding:56px 0}.footer-grid{grid-template-columns:1fr 1fr}.feature-split{grid-template-columns:1fr}}
@media(max-width:650px){.top-bar-inner{justify-content:center}.top-contact{display:none}.top-badge{font-size:10px}.nav-container{height:76px}.brand-logo-img{width:224px}.mobile-nav-drawer{top:76px}.hero-section{padding:38px 0 42px}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-badge{font-size:10px;margin-bottom:20px}.hero-h1,.page-home .hero-h1{font-size:clamp(2.3rem,10vw,3.2rem);max-width:520px}.hero-intro{font-size:15px}.hero-actions{align-items:stretch}.hero-actions>a{width:100%;min-width:0}.hero-trust-bar{gap:12px 8px}.trust-item{font-size:11px}.hero-img-card>img{height:330px}.stats-ribbon{padding:24px 0}.stats-grid{gap:22px 14px}.stat-box{gap:10px;padding:0;border:0}.stat-icon-wrap{width:34px;height:34px}.stat-icon{width:16px;height:16px}.stat-value{font-size:13px}.stat-label{font-size:10px}.cards-grid{grid-template-columns:1fr;gap:20px}.svc-card-img-wrap{height:210px}.section-full{padding:46px 0}.section-header{margin-bottom:25px}.section-tag{font-size:10px}.alert-cards-grid,.trust-cards-grid,.step-grid{grid-template-columns:1fr}.faq-header{padding:18px}.faq-header h3{font-size:15px}.faq-body{padding-inline:18px!important}.faq-item.active .faq-body{padding:0 18px 18px!important}.cta-banner-full{padding:50px 0}.footer-grid{grid-template-columns:1fr;gap:34px}.contact-card{padding:22px}.breadcrumbs-bar{overflow:auto}.breadcrumb-list{flex-wrap:wrap;white-space:normal}.mobile-sticky-grid{gap:8px}body{padding-bottom:82px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* ==========================================================================
   Double-Width 2-Column Mega Navigation Dropdowns (Desktop)
   ========================================================================== */
.dropdown-menu.dropdown-double {
  padding: 0;
  border-radius: var(--radius-lg, 12px);
  background: #ffffff;
  border: 1px solid var(--color-border, #dce3e1);
  box-shadow: 0 20px 45px rgba(16, 45, 59, 0.16);
  overflow: visible;
  max-height: none;
}

.dropdown-menu.dropdown-services {
  width: 680px;
  min-width: 680px;
  left: -80px;
}

.dropdown-menu.dropdown-areas {
  width: 580px;
  min-width: 580px;
  left: -140px;
}

.dropdown-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 1.75rem;
  padding: 1.25rem 1.5rem;
}

.dropdown-col {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

/* Nav Groups in Services Dropdown */
.nav-group {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.nav-group-title {
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--color-primary, #102d3b);
  text-decoration: none;
  padding: 4px 6px;
  border-radius: 4px;
  transition: all 0.15s ease;
  display: inline-block;
  line-height: 1.3;
}

.nav-group-title:hover {
  color: var(--color-accent, #b94d25);
  background: var(--color-accent-light, #fcf0e8);
  text-decoration: none;
}

.nav-sub-list {
  list-style: none;
  margin: 0;
  padding: 1px 0 1px 8px;
  border-left: 2px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.nav-sub-link {
  font-size: 0.8rem;
  line-height: 1.35;
  color: var(--color-text-muted, #53636a);
  padding: 2.5px 6px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
  display: block;
}

.nav-sub-link:hover {
  color: var(--color-primary, #102d3b);
  background: #f4f6f7;
  font-weight: 600;
  text-decoration: none;
}

/* Areas We Serve Column Heading & Lists */
.col-heading {
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted, #53636a);
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #e5e7eb;
  margin-bottom: 0.2rem;
}

.dropdown-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.dropdown-list .dropdown-link {
  font-size: 0.8125rem;
  padding: 5px 8px;
  color: var(--color-text, #17333f);
  text-decoration: none;
  border-radius: 4px;
  display: flex;
  align-items: center;
  transition: all 0.15s ease;
}

.dropdown-list .dropdown-link:hover {
  background: var(--color-accent-light, #fcf0e8);
  color: var(--color-accent, #b94d25);
  font-weight: 600;
  text-decoration: none;
}

/* Callout badge card in Areas column 2 */
.nav-callout-card {
  margin-top: auto;
  background: var(--color-bg-light, #f5f5f0);
  border: 1px solid var(--color-border, #dce3e1);
  border-radius: 8px;
  padding: 0.75rem 0.85rem;
}

.callout-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-accent, #b94d25);
  background: #ffffff;
  border: 1px solid var(--color-border, #dce3e1);
  padding: 2px 7px;
  border-radius: 4px;
  margin-bottom: 0.35rem;
}

.nav-callout-card p {
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--color-text-muted, #53636a);
  margin: 0;
}

/* Dropdown Footer */
.dropdown-footer {
  background: var(--color-bg-light, #f5f5f0);
  border-top: 1px solid var(--color-border, #dce3e1);
  padding: 0.75rem 1.5rem;
  border-bottom-left-radius: 11px;
  border-bottom-right-radius: 11px;
}

.dropdown-footer-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--color-accent, #b94d25);
  text-decoration: none;
  transition: all 0.15s ease;
}

.dropdown-footer-link:hover {
  color: var(--color-accent-hover, #943a18);
  text-decoration: underline;
}
