:root{--navy:#061b2e;--navy2:#0b2b46;--blue:#168fd3;--pale:#edf8ff;--orange:#f79332;--ink:#0b2940;--muted:#527086;--white:#fff;--shadow:0 14px 36px rgba(5,34,55,.12);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:190px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden;padding-top:190px}img{max-width:100%}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.section{padding:68px 0}.eyebrow{display:block;color:var(--blue);font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:14px;margin-bottom:12px}.section-title{text-align:center;max-width:760px;margin:0 auto 34px}.section-title h2,.about-heading h2,.quote-copy h2,.legal-card h1,.service-hero-copy h1{margin:0;color:var(--ink);font-size:clamp(34px,5vw,58px);line-height:1.04}.section-intro{font-size:18px;color:var(--muted);line-height:1.65}.pale-blue{background:linear-gradient(180deg,#f8fcff,#eaf6ff)}.white-section{background:#fff}.navy{background:var(--navy);color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:14px 22px;font-weight:800}.btn-primary{background:var(--orange);color:#fff}.btn-secondary{background:#fff;color:var(--navy);border:1px solid #b9d1df}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:#fff;box-shadow:0 6px 20px rgba(3,24,40,.18)}.header-banner{height:128px;display:block;overflow:hidden;background:#fff}.header-banner img{width:100%;height:100%;object-fit:cover;object-position:center}.header-nav-wrap{background:var(--navy);border-top:3px solid var(--orange)}.main-nav{height:62px;display:flex;align-items:center;justify-content:center;gap:clamp(18px,3.2vw,44px);white-space:nowrap}.main-nav a:not(.header-call){font-weight:800;color:#fff;font-size:16px;padding:20px 0}.main-nav a:not(.header-call):hover{color:#8fd8ff}.header-call{margin-left:auto;background:var(--orange);color:#fff;font-weight:900;padding:13px 18px;border-radius:11px}
.hero{background:#031523}.hero-image-wrap{position:relative;line-height:0}.hero-image-wrap>img{display:block;width:100%;height:auto}.hero-live-actions{position:absolute;left:3.6%;top:63%;width:25%;height:9%;display:flex;gap:7%}.hero-hotspot{display:block;flex:1;font-size:0;border-radius:8px}.hero-hotspot:focus{outline:3px solid #fff;outline-offset:2px}
.no-find-section{background:linear-gradient(135deg,#071d32,#0d3555);color:#fff}.no-find-inner{display:grid;grid-template-columns:150px 1fr;align-items:start;gap:42px;background:linear-gradient(145deg,#0a2945,#071d32);border:1px solid rgba(91,178,234,.35);border-radius:28px;padding:54px 64px;box-shadow:var(--shadow)}.no-find-badge{width:118px;height:118px;border:8px solid var(--orange);border-radius:50%;display:grid;place-items:center;color:var(--orange);font-size:68px;font-weight:900}.no-find-inner h2{font-size:clamp(38px,5vw,64px);margin:5px 0 18px}.no-find-inner p{font-size:22px;line-height:1.55;margin:0 0 16px}.small-note{font-size:15px!important;color:#b8cfde}
.services-section{background:linear-gradient(180deg,#f7fcff,#eaf7ff)!important;color:var(--ink)!important}.services-section .section-title h2{color:var(--ink)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{display:block;background:#fff;border:2px solid #a7daf6;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);line-height:0}.service-card img{display:block;width:100%;height:auto;margin:0;transform:scale(1.002)}.service-card:hover{transform:translateY(-3px);transition:.2s}
.price-table-wrap{background:#fff;border:1px solid #c8e3f3;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;table-layout:fixed}th{background:#0b3859;color:#fff;padding:18px 14px;font-size:16px}td{padding:17px 14px;text-align:center;border-bottom:1px solid #d9e9f2;font-weight:700}td:first-child{text-align:left;font-weight:900}.featured-price td{background:#e2f4ff}.featured-price small{font-weight:600;color:#527086}.price-note{padding:14px 18px;background:#f7fbfe;color:#587488}.heating-leak-summary{margin:22px auto 0;background:#fff;border-left:5px solid var(--orange);border-radius:16px;padding:22px 26px;box-shadow:var(--shadow)}.heating-leak-summary h3{margin:0 0 10px;font-size:24px}.heating-leak-summary p{margin:8px 0;line-height:1.6;color:#496a80}
.about-single{max-width:850px;text-align:center}.about-heading{margin-bottom:20px}.about-section p{font-size:19px;line-height:1.7;color:#496a80}
.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.support-card{background:#fff;border:1px solid #c9e2f0;border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(7,46,74,.08)}.support-icon{font-size:30px}.support-card h3{margin:12px 0 8px}.support-card p{color:#547286;line-height:1.55}.support-cta{margin-top:24px;background:#0b3859;color:#fff;border-radius:18px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.support-cta strong,.support-cta span{display:block}.support-cta strong{font-size:24px}.support-disclaimer{color:#688397;margin-top:18px}
.reviews-section,.branded-work{position:relative;background-color:#071f35!important;background-image:linear-gradient(rgba(46,145,215,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(46,145,215,.16) 1px,transparent 1px),radial-gradient(circle at 83% 20%,rgba(255,104,25,.22),transparent 22%),radial-gradient(circle at 14% 72%,rgba(0,168,255,.18),transparent 24%)!important;background-size:58px 58px,58px 58px,auto,auto;color:#fff}.reviews-section .section-title h2,.branded-work .section-title h2{color:#fff}.reviews-section .section-intro{color:#c9dfed}.review-slider-shell{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:12px}.review-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;scrollbar-width:none}.review-slider::-webkit-scrollbar{display:none}.review-card{min-width:calc(50% - 9px);scroll-snap-align:start;background:rgba(7,35,59,.94);border:1px solid rgba(111,196,247,.42);border-radius:20px;padding:28px;color:#fff}.review-card-top{display:flex;justify-content:space-between;gap:16px}.stars{color:#ffad42}.review-card blockquote{font-size:20px;line-height:1.6;margin:24px 0}.review-arrow{width:46px;height:46px;border:1px solid #68bce9;border-radius:50%;background:#0d3b5f;color:#fff;font-size:30px}.reviews-actions{text-align:center;margin-top:24px}.reviews-button{display:inline-block;padding:14px 22px;border:1px solid #6dbde8;border-radius:12px;font-weight:800}.work-slider{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.work-slide{border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:#0b2d49}.work-slide img{width:100%;height:100%;object-fit:cover}
.quote-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.quote-copy p{font-size:18px;line-height:1.65;color:#557489}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff;border:1px solid #c9e2f0;border-radius:20px;padding:26px;box-shadow:var(--shadow)}.quote-form label{font-weight:800;color:#284d65}.quote-form input,.quote-form textarea,.quote-form select{width:100%;margin-top:7px;border:1px solid #b9d4e4;border-radius:10px;padding:13px;font:inherit;background:#fff}.quote-form .wide{grid-column:1/-1}.quote-form button{grid-column:1/-1;border:0;border-radius:12px;padding:15px;background:var(--orange);color:#fff;font-size:17px;font-weight:900}
.site-footer{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#edf8ff 100%);color:var(--ink);border-top:4px solid var(--orange)}.site-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at -5% 100%,rgba(24,143,211,.28),transparent 38%),radial-gradient(ellipse at 108% 0%,rgba(24,143,211,.2),transparent 42%),linear-gradient(155deg,transparent 0 70%,rgba(247,147,50,.15) 70% 71%,transparent 71%);pointer-events:none}.footer-accent{height:7px;background:linear-gradient(90deg,#138ed0 0 42%,#fff 42% 58%,#f79332 58%)}.footer-signature,.footer-bottom{position:relative;z-index:1}.footer-signature{display:grid;grid-template-columns:1.35fr .85fr .75fr .75fr;gap:34px;padding:34px 0 24px}.footer-identity img{width:100%;max-width:430px;height:auto}.footer-identity p{font-size:18px;font-weight:800}.footer-area{font-size:15px!important;font-weight:600!important;color:#547286}.footer-column{display:flex;flex-direction:column;gap:13px}.footer-column h3{margin:0 0 5px;font-size:21px}.footer-column a,.footer-column span{color:#315b74}.social-links{display:flex;flex-direction:column;gap:12px}.social-links a{display:flex;align-items:center;gap:10px}.social-links svg{width:23px;height:23px;fill:currentColor}.footer-bottom{border-top:1px solid #cbdde8;padding:18px 0 25px;display:flex;justify-content:space-between;color:#5d798b}
.newsletter-overlay{position:fixed;inset:0;z-index:2000;background:rgba(3,19,31,.72);display:none;align-items:center;justify-content:center;padding:20px}.newsletter-overlay.is-open{display:flex}.newsletter-modal{position:relative;width:min(520px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;padding:32px;box-shadow:0 24px 80px rgba(0,0,0,.4)}.newsletter-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:32px}.newsletter-offer{display:inline-block;background:var(--orange);color:#fff;font-weight:900;padding:9px 14px;border-radius:999px}.newsletter-modal h2{font-size:34px;margin:12px 0}.newsletter-modal form{display:grid;gap:12px}.newsletter-modal input{width:100%;padding:12px;border:1px solid #b8d2e2;border-radius:9px;margin-top:5px}.newsletter-modal button[type=submit]{border:0;background:var(--orange);color:#fff;font-weight:900;padding:14px;border-radius:10px}.newsletter-consent{display:flex;gap:8px;align-items:flex-start;font-size:13px}.newsletter-consent input{width:auto;margin-top:2px}
.service-page-hero{background:linear-gradient(135deg,#061b2e,#0d3b60);color:#fff;padding:62px 0}.service-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.service-hero-copy h1{color:#fff}.service-hero-copy p{font-size:19px;line-height:1.65;color:#c8deeb}.service-hero img{border-radius:22px;box-shadow:var(--shadow)}.content-grid,.service-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.content-card,.service-price,.legal-card{background:#fff;border:1px solid #cae1ee;border-radius:18px;padding:26px;box-shadow:var(--shadow)}.content-card h2,.content-card h3,.service-price h3{margin-top:0}.content-card p,.content-card li,.service-price p{color:#547286;line-height:1.6}.page-cta{text-align:center;background:var(--navy);color:#fff;border-radius:20px;padding:34px;margin-top:30px}.legal-page{background:#f4faff}.legal-card{max-width:900px;margin:auto}.legal-card h1{font-size:42px}.legal-card h2{margin-top:28px}.legal-card p,.legal-card li{line-height:1.7;color:#4f7085}.legal-actions{margin-top:25px}
@media(max-width:900px){html{scroll-padding-top:166px}body{padding-top:166px}.header-banner{height:108px}.main-nav{height:58px;gap:18px}.main-nav a:not(.header-call){font-size:14px}.header-call{padding:11px 13px}.service-grid{grid-template-columns:repeat(2,1fr)}.support-grid{grid-template-columns:repeat(2,1fr)}.work-slider{grid-template-columns:repeat(3,1fr)}.footer-signature{grid-template-columns:1.2fr 1fr}.quote-grid,.service-hero-grid{grid-template-columns:1fr}.review-card{min-width:80%}}
@media(max-width:640px){html{scroll-padding-top:145px}body{padding-top:145px}.wrap{width:min(100% - 24px,1160px)}.header-banner{height:91px}.header-banner img{object-fit:cover}.main-nav{height:54px;gap:0;justify-content:space-between;padding:0 8px}.main-nav a:not(.header-call){font-size:11px;padding:18px 2px}.header-call{font-size:11px;padding:10px 8px;margin-left:0;border-radius:8px}.section{padding:42px 0}.hero-live-actions{left:3.6%;top:63%;width:25.5%;height:9.5%}.no-find-inner{grid-template-columns:1fr;padding:28px 22px;gap:22px}.no-find-badge{width:88px;height:88px;font-size:48px;border-width:6px}.no-find-inner p{font-size:18px}.service-grid{gap:10px}.service-card{border-radius:14px}.section-title h2,.about-heading h2,.quote-copy h2{font-size:32px}.pricing-section .wrap{width:calc(100% - 16px)}.price-table-wrap{border-radius:14px}.price-table-wrap thead{display:none}.price-table-wrap table,.price-table-wrap tbody{display:block}.price-table-wrap tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #d8e8f1}.price-table-wrap td{display:block;border:0;padding:8px 4px;font-size:11px;line-height:1.2}.price-table-wrap td:first-child{grid-column:1/-1;text-align:left;padding:10px;background:#f4faff;font-size:12px}.price-table-wrap td:nth-child(2):before{content:"8–5";display:block;font-size:9px;color:#6b8798}.price-table-wrap td:nth-child(3):before{content:"5–9";display:block;font-size:9px;color:#6b8798}.price-table-wrap td:nth-child(4):before{content:"After 9";display:block;font-size:9px;color:#6b8798}.featured-price td,.featured-price td:first-child{background:#e0f4ff!important}.heating-leak-summary{padding:17px}.support-grid{grid-template-columns:1fr}.support-cta{display:grid}.review-slider-shell{grid-template-columns:1fr}.review-arrow{display:none}.review-card{min-width:88%;padding:22px}.work-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.work-slide{min-width:78%;scroll-snap-align:start}.quote-form{grid-template-columns:1fr;padding:18px}.quote-form .wide,.quote-form button{grid-column:auto}.footer-signature{grid-template-columns:1fr;gap:22px;padding:26px 0 20px}.footer-identity img{max-width:100%}.footer-bottom{flex-direction:column;gap:5px}.content-grid,.service-price-grid{grid-template-columns:1fr}.newsletter-modal{padding:25px}.newsletter-modal h2{font-size:28px}}


/* FINAL USER-APPROVED LAYOUT REFINEMENTS — 2026-07-21 */

/* True table layout at every width: time bands stay across the top. */
.price-table-wrap{overflow:hidden}
.price-table-wrap table{width:100%;table-layout:fixed;border-collapse:collapse}
.price-table-wrap th:first-child,.price-table-wrap td:first-child{width:31%;text-align:left}
.price-table-wrap th:not(:first-child),.price-table-wrap td:not(:first-child){width:23%;text-align:center}
.price-table-wrap th{padding:14px 6px;font-size:14px;line-height:1.15}
.price-table-wrap td{padding:14px 7px;font-size:15px;line-height:1.22;vertical-align:middle}
.price-table-wrap td strong{display:block}
.fixed-label{display:block;margin-top:4px;font-size:11px;font-weight:800;color:#2479aa;text-transform:uppercase;letter-spacing:.04em}
.header-call{background:var(--orange);color:var(--navy);font-weight:900}
.featured-price td strong,.fixed-label{color:#073451}
.price-note{padding:14px 18px;text-align:center}

/* Service pages: remove the empty second column and present a clean, centred hero. */
.service-page-hero{padding:58px 0;background:linear-gradient(140deg,#061b2e,#0c456d)}
.service-hero-grid{display:block;max-width:940px;text-align:center}
.service-hero-copy{max-width:860px;margin:0 auto}
.service-hero-copy h1{margin-bottom:18px}
.service-hero-copy>p{max-width:780px;margin:20px auto;color:#d7e9f3}
.service-hero-copy>.service-price{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:230px;min-height:0;margin:8px auto;padding:15px 24px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:rgba(255,255,255,.10);color:#fff;font-size:22px;font-weight:900;box-shadow:none}
.service-subprice{color:#d7e9f3;font-size:17px;font-weight:700;margin-top:8px}
.service-price-grid{max-width:760px;margin:20px auto 10px;grid-template-columns:repeat(3,1fr)}
.service-price-grid>div{padding:18px 10px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:rgba(255,255,255,.09)}
.service-price-grid span,.service-price-grid strong{display:block;color:#fff}
.service-price-grid span{font-size:13px;margin-bottom:5px}
.service-price-grid strong{font-size:20px}
.page-cta{display:flex;justify-content:center;align-items:center;gap:12px;max-width:560px;margin:26px auto 0;padding:24px;background:rgba(1,19,33,.72)}
.page-cta .btn{min-width:190px}

/* Important Information and exclusions return to premium orange panels. */
.notice,.notice.exclusion{background:linear-gradient(135deg,#ff9b36,#ef7f19)!important;color:#fff!important;border:0!important;border-left:6px solid #c75e00!important;border-radius:14px;padding:20px 22px;box-shadow:0 12px 28px rgba(180,82,0,.18)}
.notice b,.notice strong{color:#fff}
.content-card aside,.content-card{overflow:hidden}

/* Full footer uses the header's water artwork across the complete section. */
.site-footer{position:relative;overflow:hidden;text-align:center;color:#12344c;border-top:4px solid var(--orange);background:#f8fcff url('images/header-banner-approved.jpg') center/cover no-repeat}
.site-footer:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.84);backdrop-filter:blur(1px);pointer-events:none}
.site-footer:after{content:"";position:absolute;left:-10%;right:-10%;bottom:17%;height:3px;background:linear-gradient(90deg,transparent,#1699dc 18%,#f79432 50%,#1699dc 82%,transparent);transform:rotate(-9deg);opacity:.55;pointer-events:none}
.footer-accent{position:relative;z-index:1;height:8px}
.footer-signature{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:26px;padding:36px 0 24px}
.footer-identity{display:flex;flex-direction:column;align-items:center}
.footer-identity img{width:min(520px,92vw);max-width:520px;border-radius:18px;box-shadow:0 12px 35px rgba(5,39,65,.12)}
.footer-identity p{margin:16px 0 0;text-align:center}
.footer-column{align-items:center;text-align:center;gap:12px;width:100%}
.footer-column h3{font-size:24px;margin:0 0 3px}
.footer-column a,.footer-column span{font-size:17px;color:#315b74}
.social-links{align-items:center;gap:12px}
.social-links a{justify-content:center;min-width:170px;font-weight:700}
.social-links svg{width:25px;height:25px}
.footer-bottom{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:20px 0 28px;color:#5d798b}

@media(max-width:640px){
  .price-table-wrap thead{display:table-header-group!important}
  .price-table-wrap table{display:table!important;table-layout:fixed!important}
  .price-table-wrap tbody{display:table-row-group!important}
  .price-table-wrap tr{display:table-row!important}
  .price-table-wrap th,.price-table-wrap td{display:table-cell!important;border-bottom:1px solid #d8e8f1!important;padding:9px 3px!important;font-size:10.5px!important;line-height:1.15!important}
  .price-table-wrap th:first-child,.price-table-wrap td:first-child{width:34%!important;grid-column:auto!important;text-align:left!important;background:inherit!important;font-size:10.5px!important}
  .price-table-wrap th:not(:first-child),.price-table-wrap td:not(:first-child){width:22%!important}
  .price-table-wrap td:nth-child(2):before,.price-table-wrap td:nth-child(3):before,.price-table-wrap td:nth-child(4):before{content:none!important}
  .price-table-wrap th{font-size:9.5px!important;word-break:normal}
  .price-table-wrap td strong{font-size:10.5px}
  .price-table-wrap small{font-size:8.5px;line-height:1.1}
  .fixed-label{font-size:7.5px;margin-top:3px}
  .price-note{font-size:13px;padding:12px}
  .service-page-hero{padding:40px 0}
  .service-hero-copy h1{font-size:38px}
  .service-price-grid{gap:7px}
  .service-price-grid>div{padding:13px 4px}
  .service-price-grid strong{font-size:15px}
  .page-cta{padding:18px 12px;gap:0}
  .page-cta .btn{min-width:0;flex:1;padding:14px 8px}
  .footer-signature{gap:24px;padding-top:28px}
  .footer-identity img{width:100%;border-radius:14px}
  .footer-column h3{font-size:25px}
  .footer-column a,.footer-column span{font-size:18px}
}


/* FINAL LOCKED CHANGE: only translucent information panels and full water footer. */
.notice,
.notice.exclusion{
  background:rgba(255,145,45,.16)!important;
  color:#08233d!important;
  border:1px solid rgba(255,145,45,.45)!important;
  border-left:5px solid rgba(239,127,25,.62)!important;
  box-shadow:0 10px 30px rgba(8,35,61,.08)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.notice b,.notice strong{color:#08233d!important}

.site-footer{
  position:relative;
  overflow:hidden;
  text-align:center;
  color:#08233d;
  border-top:4px solid #f79332;
  background-color:#eef9ff;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.38) 48%,rgba(238,249,255,.88) 72%,rgba(238,249,255,.98) 100%),
    url('images/footer-locked-reference.jpg');
  background-repeat:no-repeat,no-repeat;
  background-position:center top,center top;
  background-size:100% 100%,100% auto;
}
.site-footer:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 8% 78%,rgba(24,143,211,.18),transparent 36%),
    radial-gradient(ellipse at 94% 66%,rgba(24,143,211,.14),transparent 38%);
  pointer-events:none;
}
.site-footer:after{display:none!important}
.footer-accent{
  position:relative;
  z-index:1;
  height:8px;
  background:linear-gradient(90deg,#138ed0 0 42%,#fff 42% 58%,#f79332 58%);
}
.footer-signature{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:34px;
  padding:clamp(430px,64vw,620px) 0 34px;
  max-width:980px;
}
.footer-column{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:12px;
  min-width:0;
}
.footer-column h3{
  margin:0 0 7px;
  font-size:24px;
  color:#08233d;
}
.footer-column a,.footer-column span{
  color:#315b74;
  font-size:17px;
  line-height:1.45;
}
.social-links{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.social-links a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.social-links svg{width:24px;height:24px;fill:currentColor;flex:0 0 auto}
.footer-bottom{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
  border-top:1px solid rgba(49,91,116,.22);
  padding:20px 0 28px;
  color:#5d798b;
}
@media(max-width:800px){
  .footer-signature{
    grid-template-columns:1fr;
    gap:30px;
    padding-top:clamp(430px,66vw,520px);
  }
  .footer-column h3{font-size:25px}
  .footer-column a,.footer-column span{font-size:18px}
}
@media(max-width:520px){
  .site-footer{background-size:100% 100%,100% auto}
  .footer-signature{padding-top:72vw;gap:28px}
  .footer-bottom{padding-bottom:24px}
}

/* FINAL FOOTER REBUILD — supplied reference colours, no faded logo. Header untouched. */
.site-footer{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  text-align:center!important;
  color:#08233d!important;
  border-top:4px solid #f79332!important;
  background:#f8fcff!important;
  padding:0!important;
}
.site-footer::before{
  content:""!important;
  position:absolute!important;
  z-index:-2!important;
  inset:0 0 auto 0!important;
  height:clamp(150px,22vw,280px)!important;
  background:url('images/footer-locked-reference.jpg') center top/cover no-repeat!important;
  opacity:1!important;
  pointer-events:none!important;
}
.site-footer::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:-2!important;
  inset:auto 0 0 0!important;
  height:clamp(260px,37vw,470px)!important;
  background:url('images/footer-locked-reference.jpg') center bottom/cover no-repeat!important;
  opacity:1!important;
  pointer-events:none!important;
}
.footer-accent{display:none!important}
.footer-brand{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  padding:clamp(34px,5vw,64px) 16px 18px;
}
.footer-brand img{
  display:block;
  width:min(330px,62vw);
  height:auto;
  border-radius:18px;
  box-shadow:0 8px 28px rgba(8,35,61,.11);
}
.footer-signature{
  position:relative!important;
  z-index:2!important;
  width:min(900px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:20px 0 34px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:start!important;
  gap:36px!important;
}
.footer-column{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  gap:12px!important;
}
.footer-column h3{
  margin:0 0 8px!important;
  color:#08233d!important;
  font-size:24px!important;
}
.footer-column a,.footer-column span{
  color:#315b74!important;
  font-size:17px!important;
  line-height:1.45!important;
}
.social-links,.social-links a{align-items:center!important;justify-content:center!important}
.footer-bottom{
  position:relative!important;
  z-index:2!important;
  width:min(900px,calc(100% - 32px))!important;
  margin:0 auto!important;
  padding:20px 0 clamp(285px,39vw,500px)!important;
  border-top:1px solid rgba(49,91,116,.22)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:6px!important;
  color:#5d798b!important;
  text-align:center!important;
}
@media(max-width:800px){
  .site-footer::before{height:150px!important;background-size:auto 150px!important}
  .site-footer::after{height:285px!important;background-size:auto 285px!important}
  .footer-brand{padding-top:34px!important}
  .footer-brand img{width:min(290px,68vw)!important}
  .footer-signature{grid-template-columns:1fr!important;gap:28px!important;padding-top:18px!important}
  .footer-column h3{font-size:25px!important}
  .footer-column a,.footer-column span{font-size:18px!important}
  .footer-bottom{padding-bottom:305px!important}
}

/* APPROVED TALL FOOTER — exact artwork, no fading, header untouched */
.site-footer{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border-top:4px solid #f79332!important;
  color:#08233d!important;
  text-align:center!important;
  background-color:#f8fcff!important;
  background-image:url('images/footer-locked-reference.jpg')!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:100% 100%!important;
}
.site-footer::before,.site-footer::after,.footer-accent{display:none!important;content:none!important}
.footer-brand{display:none!important}
.footer-signature{
  position:relative!important;
  z-index:2!important;
  width:min(860px,calc(100% - 36px))!important;
  margin:0 auto!important;
  padding:clamp(300px,31vw,465px) 0 clamp(250px,28vw,420px)!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(26px,4vw,54px)!important;
  align-items:start!important;
}
.footer-column{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  text-align:center!important;
}
.footer-column h3{
  margin:0 0 8px!important;
  color:#08233d!important;
  font-size:clamp(22px,2.2vw,30px)!important;
  line-height:1.15!important;
}
.footer-column a,.footer-column span{
  color:#315b74!important;
  font-size:clamp(16px,1.45vw,19px)!important;
  line-height:1.5!important;
  text-align:center!important;
}
.social-links{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:12px!important;
}
.social-links a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
}
.social-links svg{width:24px!important;height:24px!important;fill:currentColor!important;flex:0 0 24px!important}
.footer-bottom{display:none!important}

@media(max-width:800px){
  .site-footer{
    background-size:100% 100%!important;
    background-position:center top!important;
  }
  .footer-signature{
    width:min(560px,calc(100% - 34px))!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding:clamp(220px,48vw,350px) 0 clamp(185px,38vw,290px)!important;
  }
  .footer-column h3{font-size:26px!important}
  .footer-column a,.footer-column span{font-size:18px!important}
}
@media(max-width:480px){
  .footer-signature{
    gap:26px!important;
    padding-top:46vw!important;
    padding-bottom:38vw!important;
  }
  .footer-column h3{font-size:24px!important}
  .footer-column a,.footer-column span{font-size:17px!important}
}

/* ===== FOOTER V4 — NEW ASSET + NEW CSS FILENAME (CACHE SAFE) ===== */
.site-footer{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  min-height:clamp(820px,141.33vw,1320px)!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-top:4px solid #f79332!important;
  background-color:#f7fbff!important;
  background-image:url('images/footer-locked-reference.jpg')!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:100% 100%!important;
  color:#08233d!important;
  text-align:center!important;
}
.site-footer::before,.site-footer::after,.site-footer .footer-accent,.site-footer .footer-brand{display:none!important;content:none!important;background:none!important;opacity:0!important}
.site-footer .footer-signature{
  position:relative!important;
  z-index:3!important;
  width:min(620px,calc(100% - 36px))!important;
  margin:0 auto!important;
  padding:clamp(245px,34vw,410px) 0 clamp(250px,32vw,390px)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:28px!important;
}
.site-footer .footer-column{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  text-align:center!important;
}
.site-footer .footer-column h3{
  margin:0 0 5px!important;
  color:#08233d!important;
  font-size:clamp(23px,4.1vw,31px)!important;
  line-height:1.12!important;
  font-weight:800!important;
}
.site-footer .footer-column a,.site-footer .footer-column span{
  color:#315b74!important;
  font-size:clamp(16px,3vw,20px)!important;
  line-height:1.42!important;
  text-align:center!important;
  text-decoration:none!important;
}
.site-footer .social-links{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:10px!important;
}
.site-footer .social-links a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  font-weight:700!important;
}
.site-footer .social-links svg{width:24px!important;height:24px!important;fill:currentColor!important;flex:0 0 24px!important}
.site-footer .footer-bottom{display:none!important}

/* Soft translucent information panels — retained */
.info-box,.important-box,.not-included,.service-note,.warning-box,.orange-panel,
.service-page .important-information,.service-page .not-included-box,
.leak-page .important-information,.leak-page .not-included-box{
  background:rgba(255,145,45,.16)!important;
  border:1px solid rgba(255,145,45,.45)!important;
  color:#08233d!important;
  box-shadow:0 10px 30px rgba(8,35,61,.08)!important;
}

@media (max-width:800px){
  .site-footer{min-height:141.33vw!important;max-height:none!important;background-size:100% 100%!important}
  .site-footer .footer-signature{
    width:min(560px,calc(100% - 34px))!important;
    padding-top:34vw!important;
    padding-bottom:31vw!important;
    gap:25px!important;
  }
}
@media (max-width:480px){
  .site-footer .footer-signature{padding-top:35vw!important;padding-bottom:29vw!important;gap:22px!important}
  .site-footer .footer-column h3{font-size:24px!important}
  .site-footer .footer-column a,.site-footer .footer-column span{font-size:17px!important}
}


/* ===== FINAL APPROVED FINISHING PASS ===== */
/* Tall footer artwork is displayed at full colour, never faded or enlarged behind text. */
.site-footer{
  min-height:clamp(900px,141.33vw,1491px)!important;
  background:#f8fcff url('images/footer-approved-tall-final.png') center top/100% 100% no-repeat!important;
  color:#08233d!important;
}
.site-footer .footer-signature{
  width:min(620px,calc(100% - 36px))!important;
  padding:clamp(300px,42vw,455px) 0 clamp(210px,25vw,320px)!important;
  gap:26px!important;
}
.site-footer .footer-bottom{
  position:absolute!important;
  z-index:5!important;
  left:50%!important;
  bottom:18px!important;
  transform:translateX(-50%)!important;
  width:min(760px,calc(100% - 30px))!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  border:0!important;
  padding:0!important;
  color:#eaf7ff!important;
  text-align:center!important;
  font-size:14px!important;
  font-weight:700!important;
  text-shadow:0 1px 3px rgba(0,25,55,.8)!important;
}
/* Exact translucent orange finish for Important Information / exclusions. */
.notice,.notice.exclusion,.info-box,.important-box,.not-included,.service-note,.warning-box,.orange-panel,
.service-page .important-information,.service-page .not-included-box,
.leak-page .important-information,.leak-page .not-included-box{
  background:rgba(255,145,45,.16)!important;
  border:1px solid rgba(255,145,45,.45)!important;
  color:#08233d!important;
  box-shadow:0 10px 30px rgba(8,35,61,.08)!important;
}
/* Keep service images completely flush within their cards, including HVAC. */
.service-card{padding:0!important;background:#fff!important;line-height:0!important}
.service-card img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;border:0!important;vertical-align:bottom!important}
/* Branded recent-work images are slightly taller because the contact banner is now part of each image. */
.work-slide{aspect-ratio:4/6!important}
@media(max-width:800px){
  .site-footer{min-height:141.33vw!important}
  .site-footer .footer-signature{padding-top:42vw!important;padding-bottom:28vw!important;gap:23px!important}
  .site-footer .footer-bottom{bottom:12px!important;font-size:12px!important}
}
@media(max-width:480px){
  .site-footer .footer-signature{padding-top:43vw!important;padding-bottom:28vw!important;gap:20px!important}
}


/* --- Final hero trust strip rebuild --- */
.hero-image-wrap{position:relative}
.hero-trust-strip{position:absolute;left:3.6%;right:3.6%;bottom:4.35%;height:14.9%;display:grid;grid-template-columns:1.05fr .95fr 1.7fr .95fr 1.15fr .95fr;align-items:stretch;background:rgba(6,23,39,.96);border:1px solid rgba(97,184,236,.42);border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.3);overflow:hidden;z-index:3}
.hero-trust-item{display:flex;align-items:center;gap:12px;padding:10px 14px;color:#fff;min-width:0}
.hero-trust-item+.hero-trust-item{border-left:1px solid rgba(255,255,255,.12)}
.hero-trust-icon{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#3d86ff;border:2px solid rgba(61,134,255,.9);background:rgba(7,31,52,.65);font-weight:800;font-size:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.hero-trust-icon svg{width:24px;height:24px;display:block}
.hero-trust-copy{display:flex;flex-direction:column;min-width:0;line-height:1.06}
.hero-trust-copy strong{font-size:15px;font-weight:800;color:#fff;display:block}
.hero-trust-copy span{font-size:13px;color:#eef7ff;display:block}
.hero-trust-item-areas .hero-trust-copy strong{font-size:14px}
.hero-trust-item-areas .hero-trust-copy span{font-size:10px;line-height:1.18;white-space:normal}
.hero-icon-round{font-size:19px;letter-spacing:.02em}
.hero-live-actions{z-index:4}

/* Clickable work gallery */
.work-slide{position:relative}
.work-slide-trigger{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}
.work-slide-trigger img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-lightbox{position:fixed;inset:0;z-index:2500;display:none;align-items:center;justify-content:center;background:rgba(5,15,25,.9);padding:28px}
.gallery-lightbox.is-open{display:flex}
.gallery-lightbox-stage{max-width:min(95vw,1180px);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.gallery-lightbox-stage img{max-width:100%;max-height:82vh;width:auto;height:auto;border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.45);background:#fff}
.gallery-lightbox-caption{margin:0;color:#d8ebf6;font-size:14px;font-weight:600;text-align:center}
.gallery-lightbox-close,.gallery-lightbox-nav{position:absolute;border:0;border-radius:999px;background:rgba(8,30,50,.9);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.gallery-lightbox-close{top:20px;right:20px;width:48px;height:48px;font-size:34px;line-height:1}
.gallery-lightbox-nav{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:34px}
.gallery-lightbox-prev{left:20px}
.gallery-lightbox-next{right:20px}
body.modal-open{overflow:hidden}

@media(max-width:900px){
  .hero-trust-strip{left:3.4%;right:3.4%;bottom:4%;height:16%}
  .hero-trust-item{gap:8px;padding:8px 8px}
  .hero-trust-icon{width:34px;height:34px;font-size:16px}
  .hero-trust-icon svg{width:18px;height:18px}
  .hero-trust-copy strong{font-size:11px}
  .hero-trust-copy span{font-size:9px}
  .hero-trust-item-areas .hero-trust-copy strong{font-size:10px}
  .hero-trust-item-areas .hero-trust-copy span{font-size:7.2px;line-height:1.08}
}
@media(max-width:640px){
  .hero-trust-strip{left:3.3%;right:3.3%;bottom:3.8%;height:16.8%;border-radius:12px;grid-template-columns:1fr 1fr 1.55fr .95fr 1fr .95fr}
  .hero-trust-item{gap:5px;padding:6px 4px}
  .hero-trust-icon{width:24px;height:24px;border-width:1.6px;font-size:10px}
  .hero-trust-icon svg{width:12px;height:12px}
  .hero-trust-copy strong{font-size:7.4px;line-height:1.06}
  .hero-trust-copy span{font-size:6.8px;line-height:1.08}
  .hero-trust-item-areas .hero-trust-copy strong{font-size:7.2px}
  .hero-trust-item-areas .hero-trust-copy span{font-size:5.2px;line-height:1.06}
  .gallery-lightbox{padding:16px}
  .gallery-lightbox-stage img{max-height:74vh;border-radius:14px}
  .gallery-lightbox-nav{width:44px;height:44px;font-size:28px}
  .gallery-lightbox-prev{left:8px}
  .gallery-lightbox-next{right:8px}
  .gallery-lightbox-close{top:10px;right:10px;width:40px;height:40px;font-size:30px}
}


/* TRUE FINAL FIX: hero trust strip is part of the approved hero artwork. Never overlay a second strip. */
.hero-trust-strip{display:none!important}

/* Clearly compact reviews and work sections on all devices. */
.reviews-section,.branded-work{padding:28px 0!important}
.reviews-section .section-title,.branded-work .section-title{margin-bottom:14px!important}
.review-slider{gap:12px!important}
.review-card{min-width:44%!important;padding:18px!important}
.review-card blockquote{font-size:16px!important;line-height:1.4!important;margin:12px 0!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:5!important;overflow:hidden!important}
.reviews-actions{margin-top:14px!important}
.work-slider{gap:10px!important}
.work-slide{aspect-ratio:4/5!important}

/* Keep footer artwork at its native aspect ratio so the built-in logo is never stretched. */
.site-footer{background-size:100% auto!important;min-height:141.33vw!important}

@media(max-width:640px){
  .reviews-section,.branded-work{padding:24px 0!important}
  .review-card{min-width:72%!important;padding:15px!important}
  .review-card blockquote{font-size:14px!important;-webkit-line-clamp:4!important}
  .work-slider{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:9px!important}
  .work-slide{min-width:42%!important;aspect-ratio:4/5!important;scroll-snap-align:start!important}
  .site-footer{background-size:100% auto!important;min-height:141.33vw!important}
}


/* ===== VERIFIED FOOTER + HERO FIX V3 ===== */
/* Footer artwork keeps its natural proportions; content is positioned inside the white centre area. */
.site-footer{
  position:relative!important;
  width:100%!important;
  height:141.33vw!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border-top:4px solid #f79332!important;
  background:#f8fcff url('images/footer-approved-tall-final.png') center top/100% auto no-repeat!important;
  color:#08233d!important;
}
.site-footer::before,.site-footer::after,.site-footer .footer-accent,.site-footer .footer-brand{display:none!important;content:none!important}
.site-footer .footer-signature{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  top:29vw!important;
  transform:translateX(-50%)!important;
  width:min(560px,calc(100% - 34px))!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:16px!important;
}
.site-footer .footer-column{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:4px!important;
  margin:0!important;
}
.site-footer .footer-column h3{
  margin:0 0 3px!important;
  font-size:20px!important;
  line-height:1.08!important;
  color:#08233d!important;
}
.site-footer .footer-column a,.site-footer .footer-column span{
  margin:0!important;
  font-size:14px!important;
  line-height:1.2!important;
  color:#315b74!important;
  text-decoration:none!important;
}
.site-footer .social-links{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:6px!important;
}
.site-footer .social-links a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
}
.site-footer .social-links svg{width:20px!important;height:20px!important;flex:0 0 20px!important}
.site-footer .footer-bottom{
  position:absolute!important;
  z-index:4!important;
  left:50%!important;
  bottom:10px!important;
  transform:translateX(-50%)!important;
  width:calc(100% - 28px)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  text-align:center!important;
  color:#eef7ff!important;
  font-size:11px!important;
  line-height:1.08!important;
  font-weight:700!important;
  text-shadow:0 1px 3px rgba(0,25,55,.9)!important;
}

/* Hero trust strip is baked into the hero artwork; do not overlay a second strip. */
.hero-trust-strip,.hero-insured-fix{display:none!important}

/* Compact reviews and recent work visibly on mobile. */
@media(max-width:640px){
  .reviews-section,.branded-work{padding:18px 0!important}
  .reviews-section .section-title,.branded-work .section-title{margin-bottom:10px!important}
  .reviews-section .section-title h2,.branded-work .section-title h2{font-size:30px!important}
  .review-card{min-width:66%!important;padding:13px!important;border-radius:14px!important}
  .review-card blockquote{font-size:13.5px!important;line-height:1.32!important;margin:9px 0!important;-webkit-line-clamp:4!important}
  .reviews-actions{margin-top:10px!important}
  .reviews-button{padding:10px 14px!important;font-size:13px!important}
  .work-slider{gap:8px!important}
  .work-slide{min-width:38%!important;aspect-ratio:4/5!important;border-radius:14px!important}
}


/* ===== HOTFIX V4: footer spacing + insured alignment ===== */
.site-footer .footer-signature{top:clamp(230px,36vw,360px)!important;gap:14px!important}
.site-footer .footer-column h3{margin:0 0 2px!important}
.site-footer .footer-bottom{bottom:14px!important;font-size:11px!important;line-height:1.12!important}
@media (max-width:640px){
  .site-footer .footer-signature{top:36vw!important;gap:14px!important;width:min(560px,calc(100% - 34px))!important}
  .site-footer .footer-column h3{font-size:19px!important}
  .site-footer .footer-column a,.site-footer .footer-column span{font-size:14px!important;line-height:1.18!important}
  .site-footer .social-links{gap:7px!important}
  .site-footer .footer-bottom{bottom:14px!important;font-size:11px!important;line-height:1.12!important}
}


/* FINAL CACHE-SAFE HERO + SERVICE PAGE CTA CLEANUP */
.page-cta{background:transparent!important;padding:0!important;border-radius:0!important;box-shadow:none!important;}
.page-cta .btn{margin:0!important;}

/* Final service CTA wrapper fix */
.page-cta{
  background:transparent!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}


/* FINAL GET A QUOTE ALIGNMENT */
#quote .quote-copy {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#quote .quote-copy .eyebrow,
#quote .quote-copy h2,
#quote .quote-copy p,
#quote .quote-copy .quote-note {
  text-align: center !important;
}

#quote .quote-copy p {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 759px) {
  #quote .quote-grid {
    display: block !important;
  }

  #quote .quote-copy {
    width: 100% !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    margin-bottom: 28px !important;
  }

  #quote .quote-copy h2 {
    font-size: clamp(34px, 9vw, 52px) !important;
    line-height: 1.08 !important;
  }

  #quote .quote-copy p {
    max-width: 620px !important;
  }
}
