/* Derby Plumbing Solutions — premium site refresh */
:root{--dps-navy:#263675;--dps-dark:#16234f;--dps-blue:#588ff2;--dps-pale:#f4f7fd;--dps-text:#26324e}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
body,body p{font-family:Arial,Helvetica,sans-serif}
.dps-site-header{position:absolute;inset:0 0 auto;z-index:10000;color:#fff;width:100%;pointer-events:none}
.dps-site-header *{box-sizing:border-box}
.dps-site-header a,.dps-site-header button,.dps-site-header nav{pointer-events:auto}
.dps-desktop-header{background:linear-gradient(180deg,rgba(20,30,68,.88) 0%,rgba(20,30,68,.63) 68%,transparent 100%);transition:background .25s ease,box-shadow .25s ease}
.dps-site-header.dps-is-scrolled{position:fixed}
.dps-site-header.dps-is-scrolled .dps-desktop-header{background:rgba(22,35,79,.98);box-shadow:0 10px 30px rgba(6,17,45,.2)}
.dps-header-inner{width:min(1380px,calc(100% - 50px));margin:0 auto}
.dps-contact-strip{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.6vw,28px);min-height:45px;border-bottom:1px solid rgba(255,255,255,.16);font-size:clamp(10px,.79vw,13px);letter-spacing:.03em;white-space:nowrap}
.dps-contact-strip a{color:#e9efff;text-decoration:none}
.dps-contact-strip a:hover{color:#fff}
.dps-contact-strip strong{font-weight:700}
.dps-hours{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.dps-hours svg{width:16px;height:16px;fill:none;stroke:#afc7ff;stroke-width:1.8;flex-shrink:0}
.dps-sep{opacity:.5}
.dps-desktop-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:95px;padding:12px 0}
.dps-brand{display:block;min-width:190px;flex:0 1 310px}
.dps-brand img{display:block;width:100%;max-width:310px;height:auto;object-fit:contain}
.dps-desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.45vw,27px);flex:1}
.dps-desktop-nav>a,.dps-services-trigger{border:0;background:none;text-transform:uppercase;color:#fff!important;font-family:Arial,Helvetica,sans-serif;font-weight:750;font-size:clamp(10px,.9vw,13px);letter-spacing:.06em;text-decoration:none;white-space:nowrap;padding:11px 0;cursor:pointer}
.dps-desktop-nav>a:not(.dps-nav-cta):hover,.dps-services-trigger:hover{color:#b6cfff!important}
.dps-services-dropdown{position:relative}
.dps-services-trigger span{font-size:17px;vertical-align:1px}
.dps-services-list{position:absolute;top:calc(100% + 8px);left:-14px;width:355px;max-height:min(68vh,570px);overflow:auto;background:#fff;padding:10px;border:1px solid #e4eafa;border-radius:17px;box-shadow:0 18px 50px rgba(8,20,51,.23);list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .18s,transform .18s,visibility .18s;scrollbar-width:thin}
.dps-services-dropdown:hover .dps-services-list,.dps-services-dropdown:focus-within .dps-services-list,.dps-services-dropdown.is-open .dps-services-list{opacity:1;visibility:visible;transform:translateY(0)}
.dps-services-list li{margin:0;padding:0;display:block}
.dps-services-list a{display:block;color:#263675!important;padding:10px 12px;border-radius:9px;font-size:13px;line-height:1.35;font-weight:650;letter-spacing:0;text-decoration:none}
.dps-services-list a:hover,.dps-services-list a:focus{background:#eff4ff;color:#2d67c4!important}
.dps-desktop-nav .dps-nav-cta{display:flex;align-items:center;gap:15px;background:var(--dps-blue);padding:10px 11px 10px 18px;border-radius:100px;text-transform:none;letter-spacing:0;font-size:clamp(11px,.95vw,14px);box-shadow:0 8px 22px rgba(46,106,220,.22)}
.dps-nav-cta span{width:30px;height:30px;display:grid;place-items:center;border-radius:100px;background:var(--dps-navy);font-size:20px;font-weight:400}
.dps-desktop-nav .dps-nav-cta:hover{background:#427cde}
.dps-mobile-header{display:none}
.dps-site-header :focus-visible{outline:3px solid #f2c450;outline-offset:4px}
/* Content refinement without altering existing banner art */
body:not(.dps-homepage) .ht__bradcaump__area{background-position:center center!important}
body:not(.dps-homepage) .ht__bradcaump__wrap{height:clamp(310px,32vw,440px)}
body:not(.dps-homepage) .bradcaump-title{font-size:clamp(31px,3.4vw,52px);max-width:1150px;margin:0 auto 16px;line-height:1.15;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 3px 18px rgba(0,0,0,.27)}
body:not(.dps-homepage) .bradcaump-inner{line-height:1.6;overflow-wrap:anywhere}
body.dps-homepage .slider__full--screen{height:auto;min-height:clamp(590px,87vh,850px)}
body.dps-homepage .slider__inner{padding:190px 0 130px;max-width:640px}
body.dps-homepage .slider__inner h1{line-height:1.1;padding-bottom:24px}
body.dps-homepage .slider__inner h1 img{width:min(100%,500px);height:auto;max-height:290px;object-fit:contain;display:block}
body.dps-homepage .slider__container+section{margin-top:-32px!important;border-radius:28px 28px 0 0;box-shadow:0 -8px 30px rgba(18,34,72,.05)}
body.dps-homepage .htc__feature__area.bg__white{padding-top:65px;padding-bottom:72px}
body.dps-homepage .gallery-section.pt--100{padding-top:85px;padding-bottom:75px}
body.dps-homepage .gallery-section.pt--50{padding-top:55px;padding-bottom:55px}
body.dps-service-page .htc__feature__area{scroll-margin-top:95px}
body.dps-service-page .htc__feature__area .htc__feature__wrap{margin-top:min(5vw,52px)}
body.dps-service-page .htc__feature__area h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(24px,2.25vw,33px);line-height:1.28;letter-spacing:-.025em;color:var(--dps-navy);font-weight:750;margin-bottom:22px!important}
body.dps-service-page .htc__feature__area p{font-size:16px;line-height:1.82;color:#39445a}
body.dps-service-page .htc__feature__area .service-photo{width:100%;height:auto;max-height:550px;object-fit:cover;border-radius:20px;box-shadow:0 17px 48px rgba(13,32,67,.12)}
body.dps-service-page .htc__feature__area .panel{border:none;box-shadow:none}
body.dps-service-page .htc__feature__area .col-md-6{margin-bottom:18px}
body.dps-service-page .htc__feature__area[style*="E6F5FF"]{border:0!important;border-radius:26px!important;margin:12px auto 20px;max-width:calc(100% - 30px);background:#f0f6ff!important}
body.dps-service-page .htc__feature__area[style*="E6F5FF"]>.container{max-width:1170px}
body:not(.dps-homepage) .htc__feature__area{scroll-margin-top:80px}
#vlightbox0 a{transition:transform .2s,box-shadow .2s}
#vlightbox0 a:hover{transform:translateY(-5px)}
#vlightbox0 a img{border:1px solid #eaf0fb;box-shadow:0 12px 25px rgba(12,27,69,.08)}
.contact-map{max-width:100%;border-radius:16px}
@media(max-width:1200px){
 .dps-header-inner{width:min(100% - 32px,1380px)}
 .dps-brand{flex-basis:245px;min-width:170px}
 .dps-desktop-row{gap:12px;min-height:85px}
 .dps-desktop-nav{gap:12px}
 .dps-contact-strip{font-size:11px;gap:12px}
}
@media(max-width:1099px){
 .dps-site-header,.dps-site-header.dps-is-scrolled{position:relative;top:auto;left:auto;right:auto;background:var(--dps-navy)}
 .dps-desktop-header{display:none}
 .dps-mobile-header{display:block;background:var(--dps-navy);position:relative;box-shadow:0 6px 24px rgba(5,19,52,.2)}
 .dps-mobile-bar{width:100%;padding:14px clamp(17px,4vw,30px);display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:96px}
 .dps-mobile-brand{display:block;flex:0 1 330px;min-width:0}
 .dps-mobile-brand img{display:block;width:100%;max-width:330px;height:auto;max-height:74px;object-fit:contain;object-position:left center}
 .dps-menu-toggle{border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.06);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 14px;min-width:95px;min-height:48px;cursor:pointer;font-size:14px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}
 .dps-menu-toggle:hover{background:rgba(255,255,255,.13)}
 .dps-menu-icon{display:flex;flex-direction:column;gap:5px;width:21px}
 .dps-menu-icon i{display:block;height:2px;width:21px;background:#fff;border-radius:3px;transition:transform .2s,opacity .2s}
 .dps-menu-toggle[aria-expanded="true"] .dps-menu-icon i:first-child{transform:translateY(7px) rotate(45deg)}
 .dps-menu-toggle[aria-expanded="true"] .dps-menu-icon i:nth-child(2){opacity:0}
 .dps-menu-toggle[aria-expanded="true"] .dps-menu-icon i:last-child{transform:translateY(-7px) rotate(-45deg)}
 .dps-mobile-panel{position:absolute;left:0;right:0;top:100%;background:#fff;color:var(--dps-text);box-shadow:0 20px 46px rgba(10,20,52,.25);padding:8px clamp(16px,3vw,30px) 23px;max-height:min(calc(100dvh - 92px),700px);overflow-y:auto;border-radius:0 0 22px 22px;z-index:20000}
 .dps-mobile-panel[hidden],.dps-mobile-service-list[hidden]{display:none!important}
 .dps-mobile-links,.dps-mobile-service-list{list-style:none;padding:0;margin:0}
 .dps-mobile-links>li{border-bottom:1px solid #edf0f7}
 .dps-mobile-links>li>a,.dps-mobile-services-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:15px 4px;text-decoration:none;color:var(--dps-navy)!important;font-size:16px;line-height:1.25;font-weight:750;background:none;border:0;text-align:left;cursor:pointer}
 .dps-mobile-links>li>a:hover,.dps-mobile-services-toggle:hover{color:var(--dps-blue)!important}
 .dps-mobile-services-toggle span{font-size:25px;font-weight:400;line-height:1}
 .dps-mobile-service-list{background:#f2f6fc;border-radius:12px;padding:5px 8px 10px;margin-bottom:12px}
 .dps-mobile-service-list li a{display:block;color:#29385b!important;font-size:14px;line-height:1.38;padding:11px 9px;border-bottom:1px solid #e2e8f3;text-decoration:none}
 .dps-mobile-service-list li:last-child a{border:0}
 .dps-mobile-panel-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
 .dps-mobile-panel-footer a{display:flex;justify-content:center;align-items:center;min-height:48px;border-radius:999px;text-align:center;font-size:13px;line-height:1.2;font-weight:750;padding:10px;text-decoration:none!important;color:#fff!important;background:var(--dps-navy)}
 .dps-mobile-panel-footer a.dps-mobile-enquiry{background:var(--dps-blue)}
 .dps-mobile-panel-footer p{grid-column:1/-1;color:#6b7690;text-align:center;font-size:12px;margin-top:8px}
 body.dps-homepage .slider__full--screen{min-height:600px}
 body.dps-homepage .slider__inner{padding:115px 0 110px}
 body:not(.dps-homepage) .ht__bradcaump__wrap{height:310px}
}
@media(max-width:767px){
 .dps-mobile-bar{min-height:80px;padding:12px 16px;gap:10px}
 .dps-mobile-brand{flex-basis:275px}
 .dps-mobile-brand img{max-width:265px;max-height:60px}
 .dps-menu-toggle{min-width:84px;min-height:44px;padding:10px 11px;font-size:12px;gap:8px}
 .dps-menu-icon,.dps-menu-icon i{width:19px}
 body.dps-homepage .slider__full--screen{min-height:520px!important;align-items:center}
 body.dps-homepage .slider__inner{padding:85px 0 105px;max-width:100%}
 body.dps-homepage .slider__inner h1 img{width:min(100%,330px);height:auto;max-height:230px}
 body.dps-homepage .slider__container+section{margin-top:-22px!important;border-radius:22px 22px 0 0}
 body.dps-homepage .htc__feature__area.bg__white{padding-top:40px!important;padding-bottom:48px!important}
 body.dps-homepage .gallery-section.pt--100{padding-top:56px!important;padding-bottom:48px!important}
 body.dps-homepage .gallery-section.pt--50{padding-top:45px!important;padding-bottom:45px!important}
 body:not(.dps-homepage) .ht__bradcaump__wrap{height:260px;min-height:260px}
 body:not(.dps-homepage) .bradcaump__inner{padding-top:5px}
 body:not(.dps-homepage) .bradcaump-title{font-size:clamp(25px,7vw,34px)!important;line-height:1.2!important;padding:0 8px}
 body:not(.dps-homepage) .bradcaump-inner{font-size:12px}
 body.dps-service-page .htc__feature__area .htc__feature__wrap{margin-top:24px}
 body.dps-service-page .htc__feature__area h2{font-size:clamp(23px,6vw,28px);line-height:1.3;margin-bottom:18px!important}
 body.dps-service-page .htc__feature__area p{font-size:15px;line-height:1.82}
 body.dps-service-page .htc__feature__area[style*="E6F5FF"]{max-width:calc(100% - 20px);padding:24px 6px!important;border-radius:20px!important}
 body.dps-service-page .htc__feature__area .panel{margin-bottom:20px}
 body.dps-service-page .htc__feature__area .col-md-6{padding-left:10px;padding-right:10px}
 .contact-map{height:320px!important}
 #vlightbox0{gap:14px}
 #vlightbox0 a{flex:0 1 calc(50% - 7px)!important;max-width:calc(50% - 7px)!important}
 #vlightbox0 a img{aspect-ratio:4/3;height:auto!important;object-fit:cover}
 .accreditation-logo{width:100%;max-width:300px;margin:0 auto 18px;height:112px!important}
}
@media(max-width:440px){
 .dps-mobile-brand img{max-width:215px;max-height:54px}
 .dps-mobile-bar{min-height:75px}
 .dps-menu-toggle{min-width:77px}
 #vlightbox0 a{flex-basis:100%!important;max-width:100%!important}
 body.dps-homepage .slider__full--screen{min-height:470px!important}
}
@media(prefers-reduced-motion:reduce){.dps-site-header *,#vlightbox0 a{transition:none!important}html{scroll-behavior:auto}}

/* Consistent premium finishing touches across the entire site */
body.dps-about-us-page .htc__feature__area h2,
body.dps-contact-page .htc__section__title h2,
body.dps-portfolio-page .htc__feature__area h2{
  color:var(--dps-navy);letter-spacing:-.025em;font-size:clamp(25px,2.5vw,36px);line-height:1.22;font-weight:750
}
body.dps-about-us-page .htc__feature__area p,
body.dps-contact-page .htc__section__title p{line-height:1.8;color:#34435a;overflow-wrap:anywhere}
.dps-content-cta{display:inline-flex;align-items:center;text-decoration:none!important;color:#fff!important;font-weight:750;max-width:100%;white-space:normal;text-align:left}
.dps-content-cta .button-text{color:#fff!important}
.dps-content-cta .arrow-wrapper{flex:0 0 36px}
.dps-site-header .dps-desktop-nav a[aria-current="page"]:not(.dps-nav-cta){color:#c4d7ff!important}
.dps-site-header .dps-mobile-links a[aria-current="page"],
.dps-site-header .dps-mobile-service-list a[aria-current="page"]{color:#397be5!important}
.htc__footer__area{background:#263675;color:#e9efff}
.htc__footer__area .footer__title{font-size:18px;font-weight:750;letter-spacing:.025em;margin-bottom:19px;color:#fff}
.htc__footer__area .footer__list li{line-height:1.72;overflow-wrap:anywhere}
.htc__footer__area .footer__list a{transition:color .2s ease}
.htc__footer__area .footer__list a:hover{color:#aaccff!important}
.htc__footer__area .footer__bottom{border-top:1px solid rgba(255,255,255,.18)}
.htc__footer__area .copyright__inner p{display:block;height:auto;min-height:60px;padding:17px 0;font-size:12px;line-height:1.8}
.htc__footer__area .copyright__inner p a{display:inline-block}
@media(max-width:767px){
 body.dps-about-us-page .htc__feature__area h2,
 body.dps-contact-page .htc__section__title h2,
 body.dps-portfolio-page .htc__feature__area h2{font-size:26px;line-height:1.28}
 body.dps-portfolio-page .htc__feature__area{padding-top:28px!important;padding-bottom:40px!important}
 .dps-content-cta{min-height:48px}
 .htc__footer__area .footer__widget{margin-bottom:22px}
 .htc__footer__area .footer__bottom{margin-top:8px}
}


/* Sticky / glass header: preserves the existing Derby Plumbing design.
   Solid on arrival, softly translucent and more compact while scrolling. */
.dps-desktop-header{
  transition:background-color .25s ease,background .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.dps-desktop-row,.dps-brand,.dps-brand img,.dps-contact-strip{
  transition:min-height .28s ease,max-height .28s ease,opacity .24s ease,transform .28s ease,flex-basis .28s ease;
}
@media(min-width:1100px){
  .dps-site-header.dps-is-scrolled{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:10000;
  }
  .dps-site-header.dps-is-scrolled .dps-desktop-header{
    background:rgba(22,35,79,.87);
    -webkit-backdrop-filter:blur(16px) saturate(150%);
    backdrop-filter:blur(16px) saturate(150%);
    box-shadow:0 8px 26px rgba(10,24,58,.17);
    border-bottom:1px solid rgba(255,255,255,.11);
  }
  .dps-site-header.dps-is-scrolled .dps-contact-strip{
    max-height:0;
    min-height:0;
    opacity:0;
    overflow:hidden;
    border:0;
    pointer-events:none;
  }
  .dps-site-header.dps-is-scrolled .dps-desktop-row{
    min-height:72px;
    padding-top:8px;
    padding-bottom:8px;
  }
  .dps-site-header.dps-is-scrolled .dps-brand{
    flex-basis:235px;
  }
  .dps-site-header.dps-is-scrolled .dps-brand img{
    max-width:235px;
  }
}
@media(max-width:1099px){
  /* Sticky in normal document flow; the banner keeps its natural position. */
  .dps-site-header,.dps-site-header.dps-is-scrolled{
    position:-webkit-sticky;
    position:sticky;
    top:0;
    left:auto;
    right:auto;
    z-index:10000;
    background:transparent;
  }
  .dps-mobile-header{
    transition:background-color .25s ease,box-shadow .25s ease,border-color .25s ease;
  }
  .dps-mobile-bar,.dps-mobile-brand img{
    transition:min-height .25s ease,max-height .25s ease,padding .25s ease;
  }
  .dps-site-header.dps-is-scrolled .dps-mobile-header{
    background:rgba(29,45,102,.88);
    -webkit-backdrop-filter:blur(16px) saturate(150%);
    backdrop-filter:blur(16px) saturate(150%);
    box-shadow:0 7px 25px rgba(8,21,51,.16);
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .dps-site-header.dps-is-scrolled .dps-mobile-bar{
    min-height:76px;
    padding-top:8px;
    padding-bottom:8px;
  }
  .dps-site-header.dps-is-scrolled .dps-mobile-brand img{
    max-height:64px;
  }
  /* Keep the expanded menu opaque for easy reading. */
  .dps-mobile-panel{
    background:#fff;
  }
}
@media(max-width:767px){
  .dps-site-header.dps-is-scrolled .dps-mobile-bar{min-height:68px}
  .dps-site-header.dps-is-scrolled .dps-mobile-brand img{max-height:51px}
}
@media(prefers-reduced-transparency:reduce){
  .dps-site-header.dps-is-scrolled .dps-desktop-header,
  .dps-site-header.dps-is-scrolled .dps-mobile-header{
    background:#1d2d66;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
}
@media(prefers-reduced-motion:reduce){
  .dps-desktop-header,.dps-desktop-row,.dps-brand,.dps-brand img,
  .dps-contact-strip,.dps-mobile-header,.dps-mobile-bar,.dps-mobile-brand img{
    transition:none!important;
  }
}


/* Mobile sticky reliability hotfix – 2026-11-04
   A fixed-position mobile header avoids Safari's nested overflow/sticky trap.
   The parent wrapper reserves the header's normal space so the banner and
   page content do not jump underneath the navigation. Desktop remains as-is. */
@media (max-width: 1099px) {
  :root { --dps-mobile-header-space: 102px; }
  .dps-site-header,
  .dps-site-header.dps-is-scrolled {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    bottom: auto !important;
    width: 100%;
    z-index: 100000;
    background: transparent;
    -webkit-transform: none;
    transform: none;
  }
  body > .wrapper {
    padding-top: var(--dps-mobile-header-space);
  }
  .dps-mobile-header {
    width: 100%;
    margin: 0;
  }
  .dps-mobile-panel {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    max-height: calc(100vh - 95px);
    max-height: calc(100dvh - 95px);
  }
  html { scroll-padding-top: 110px; }
}
@media (max-width: 767px) {
  :root { --dps-mobile-header-space: 80px; }
  html { scroll-padding-top: 88px; }
  .dps-mobile-panel {
    max-height: calc(100vh - 78px);
    max-height: calc(100dvh - 78px);
  }
}
@media (max-width: 440px) {
  :root { --dps-mobile-header-space: 79px; }
}

/* 05 Nov 2026 — user-requested service and callback improvements */
.dps-trusted-heading {
  font-family: Arial, Helvetica, sans-serif;
  font-size:clamp(30px,3.1vw,48px)!important;
  line-height:1.13!important;
  letter-spacing:-.045em;
  color:#263675;
  font-weight:800;
  margin:0 0 18px!important;
  text-wrap:balance;
}
/* The complete pill is one anchor, including its arrow. */
a.cta-button.dps-content-cta {cursor:pointer; display:inline-flex; align-items:center; text-decoration:none!important; color:#fff!important;}
a.cta-button.dps-content-cta .button-text {color:#fff!important;}
a.cta-button.dps-content-cta:hover{background:#386ac4;color:#fff!important;}
a.cta-button.dps-content-cta .arrow-wrapper{margin-left:auto;flex-shrink:0;}
.dps-spotlight-callback{width:calc(100% - 36px);margin:0 18px 18px!important;justify-content:space-between;box-sizing:border-box;}
#contact-form {scroll-margin-top:155px;}
#contact-form .dps-form-title{color:#263675;margin:0 0 20px;font-weight:750;font-size:clamp(28px,3vw,38px);}
#contact-form .dps-form-fallback{margin-top:14px;color:#4b5870;font-size:14px;line-height:1.5;}
#contact-form .dps-form-fallback a{color:#215bc3;font-weight:700;text-decoration:underline;}
.dps-building-content .dps-building-row {display:flex;align-items:center;gap:0;flex-wrap:wrap;}
.dps-building-content .dps-building-row>div{float:none;}
.dps-building-content .dps-building-reverse{flex-direction:row-reverse;}
.dps-building-content .dps-building-photo{width:100%;max-height:540px;object-fit:cover;object-position:center;border-radius:22px;}
.dps-building-content .dps-building-intro{padding-top:70px!important;}
.dps-building-content .dps-building-intro .dps-building-row>div{padding:20px 26px;}
.dps-building-content .dps-building-section{padding:60px 0!important;}
.dps-building-content .dps-building-section .dps-building-row>div{padding:18px 26px;}
.dps-building-content .dps-building-readable{max-width:950px;margin:0 auto;}
.dps-building-content .dps-building-section h2{margin-top:0!important;}
.dps-building-content .dps-building-content p{margin-bottom:16px;}
.dps-building-content .dps-building-highlight{background:#eff6ff!important;border:0!important;border-radius:25px;margin:8px auto;max-width:calc(100% - 28px);}
.dps-building-cta-section{padding:70px 0 95px;background:#fff;}
.dps-building-cta-card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px 48px;background:#263675;color:#fff;border-radius:26px;}
.dps-building-cta-card h2{color:#fff!important;font-size:clamp(28px,3vw,42px);margin:0 0 12px!important;}
.dps-building-cta-card p{color:#dfe7ff!important;margin:0;font-size:16px;line-height:1.6;}
.dps-building-cta-card .dps-eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.18em;color:#99bcff!important;margin:0 0 9px;}
.dps-building-cta-link{color:#fff!important;text-decoration:none!important;background:#588ff2;display:flex;align-items:center;justify-content:center;gap:20px;min-height:55px;white-space:nowrap;padding:13px 23px;border-radius:50px;font-weight:700;}
.dps-building-cta-link:hover{background:#6ba0ff;}
@media(max-width:1099px){#contact-form{scroll-margin-top:115px;}}
@media(max-width:767px){
 .dps-trusted-heading{font-size:clamp(29px,8vw,40px)!important;letter-spacing:-.045em;line-height:1.16!important;margin-bottom:18px!important;}
 .dps-spotlight-callback{max-width:calc(100% - 30px)!important;width:calc(100% - 30px)!important;margin:0 15px 18px!important;}
 .dps-spotlight-callback .button-text{font-size:14px!important;}
 .dps-building-content .dps-building-row{display:block;}
 .dps-building-content .dps-building-intro{padding-top:28px!important;}
 .dps-building-content .dps-building-intro .dps-building-row>div,.dps-building-content .dps-building-section .dps-building-row>div{padding:14px 12px;}
 .dps-building-content .dps-building-section{padding:32px 4px!important;}
 .dps-building-content .dps-building-highlight{max-width:calc(100% - 16px);border-radius:22px;}
 .dps-building-content .dps-building-photo{max-height:400px;}
 .dps-building-cta-section{padding:35px 0 65px;}
 .dps-building-cta-card{display:block;padding:30px 25px;border-radius:20px;}
 .dps-building-cta-link{width:100%;margin-top:25px;}
 #contact-form{scroll-margin-top:95px;}
}

/* Featured new building service on homepage */
.dps-home-newservice-wrap{margin:14px 0 35px;}
.dps-home-newservice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 34px;text-decoration:none!important;background:linear-gradient(105deg,#eaf3ff,#f7faff);border:1px solid #d8e7fb;border-radius:23px;box-shadow:0 12px 30px rgba(20,42,82,.06)}
.dps-home-newservice-text{display:flex;flex-direction:column;gap:8px;color:#435270;font-size:15px;line-height:1.5}
.dps-home-newservice-text strong{font-size:clamp(23px,2.4vw,32px);color:#263675;line-height:1.18;letter-spacing:-.035em}
.dps-home-newservice-kicker{color:#588ff2;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.dps-home-newservice-arrow{flex:0 0 54px;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#263675;color:#fff;font-size:28px}
.dps-home-newservice:hover{background:#e6f1ff}
@media(max-width:767px){.dps-home-newservice{padding:22px;gap:10px}.dps-home-newservice-arrow{width:44px;height:44px;flex-basis:44px;font-size:24px}}


/* Hide the promotional footer of the Jotform embed without changing the form fields. 
   This restores the mask used in the earlier Derby Plumbing site. */
#contact-form .dps-jotform-branding-mask {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  height: 70px;
  margin-top: -60px;
  background: #ffffff;
  pointer-events: auto;
}


/* 2026-11-09: work photography – leak detection */
.dps-work-photo-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
  width:100%;
}
body.dps-service-page .dps-work-photo-pair img.service-photo{
  display:block;
  width:100%;
  height:clamp(275px,31vw,460px);
  max-height:none;
  object-fit:cover;
  object-position:center;
  border-radius:16px;
}
@media(max-width:600px){
  .dps-work-photo-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.dps-service-page .dps-work-photo-pair img.service-photo{height:245px;border-radius:14px}
}
@media(max-width:350px){
  .dps-work-photo-pair{grid-template-columns:1fr}
  body.dps-service-page .dps-work-photo-pair img.service-photo{height:auto;max-height:450px}
}


/* 2026-11-09: trench digging gallery */
.dps-trench-photo-grid{
  display:grid;
  grid-template-columns:repeat(1,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
  width:100%;
}
body.dps-service-page .dps-trench-photo-grid img.service-photo{
  display:block;
  width:100%;
  height:clamp(210px,24vw,320px);
  max-height:none;
  object-fit:cover;
  object-position:center;
  border-radius:16px;
}
@media(max-width:600px){
  body.dps-service-page .dps-trench-photo-grid img.service-photo{height:auto;max-height:420px;border-radius:14px}
}
