/* CCS Pressure Washing: commercial cleaning-specific layout and refinements. */
.brand small{font-size:14px}.topbar{gap:14px}.site-menu a{padding:10px}.site-menu a[aria-current=page]{background:rgba(255,255,255,.12);color:#fff}

/* Core hero treatment */
.hero{background:#111827;color:#fff;min-height:0;border-top:1px solid #334155}.hero-content{max-width:var(--max);padding:70px 0 76px;justify-self:auto}.hero h1{max-width:900px;line-height:1.06;letter-spacing:-.045em;font-size:clamp(36px,5.8vw,70px)}.hero-copy{max-width:780px}.inner-hero .hero-content{padding-top:54px;padding-bottom:58px}.inner-hero h1{font-size:clamp(34px,4.8vw,56px)}.inner-hero .hero-copy{font-size:20px}.eyebrow,.section-kicker{font-size:14px}.section .section-kicker{color:#9f2530;font-size:14px}.dark-section .section-kicker{color:#d4af37}

/* Full-width homepage image hero */
.full-photo-hero{position:relative;min-height:clamp(560px,72vh,760px);display:grid;align-items:center;overflow:hidden;isolation:isolate;border-top:0}.full-photo-hero .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-3}.full-photo-hero .hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(7,12,22,.88) 0%,rgba(7,12,22,.76) 34%,rgba(7,12,22,.40) 62%,rgba(7,12,22,.12) 100%),linear-gradient(0deg,rgba(9,15,26,.60) 0%,rgba(9,15,26,0) 38%)}.full-photo-hero .hero-content{width:min(100% - 32px,var(--max));margin:0 auto;padding:84px 0 92px;max-width:none}.full-photo-hero h1{max-width:790px;font-size:clamp(40px,6.2vw,76px);text-shadow:0 2px 20px rgba(0,0,0,.22)}.full-photo-hero .hero-copy{font-size:clamp(18px,2vw,22px);max-width:720px}.hero-note{margin:20px 0 0;color:#e2e8f0;font-weight:700;font-size:14px;letter-spacing:.02em}

/* Typography and sections */
.section h2{line-height:1.12;font-size:clamp(28px,3.8vw,44px)}.section-head{max-width:880px}.section-head h2{margin-bottom:20px}.section-head>p:last-child{font-size:18px;color:#475569;max-width:780px}.section+.section:not(.dark-section){border-top:1px solid #e5e7eb}.card-action,.text-link{font-weight:700;color:#9f2530}.narrow{max-width:900px}

/* Service cards */
.services-section .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{box-shadow:none;overflow:hidden}.service-card div{padding:26px}.service-card h3{font-size:23px}.service-card img.cleaning-card-image{display:block;width:100%;height:250px;object-fit:cover;aspect-ratio:auto}.service-card:hover .card-action{color:#fff}.project-card{box-shadow:none}

/* Sectors */
.sector-section{background:#f8fafc}.sector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px}.sector-grid article{background:#fff;border:1px solid #e2e8f0;border-top:4px solid #9f2530;border-radius:16px;padding:24px;min-height:190px}.sector-grid h3{margin-top:0;font-size:20px}.sector-grid p{margin-bottom:0;color:#475569}

/* Feature photography */
.feature-photo-section{padding-top:56px;padding-bottom:56px}.feature-photo-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:46px;align-items:center}.feature-photo-grid.feature-photo-reverse figure{order:2}.feature-photo-grid.feature-photo-reverse>div{order:1}.feature-photo-grid figure,.service-photo,.roof-comparison figure{margin:0}.feature-photo{display:block;width:100%;height:auto;border-radius:22px}.service-photo-section{padding-top:48px;padding-bottom:48px}.service-photo{margin:0 auto;max-width:1060px}.service-photo img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;border-radius:22px;background:#f8fafc}.roof-comparison{align-items:center}.roof-comparison img{display:block;width:100%;height:auto;border-radius:22px}.roof-comparison figcaption{font-size:14px;color:#475569;margin-top:12px}

/* FAQs */
.questions{max-width:860px;margin:auto}.questions details{border-bottom:1px solid #cbd5e1;padding:22px 0}.questions summary{font-weight:700;cursor:pointer;font-size:20px;line-height:1.4}.questions p{padding-top:16px;max-width:760px}.questions details:first-child{border-top:1px solid #cbd5e1}

/* Footer form */
.enquiry-list{font-size:18px;padding-left:24px;margin-top:0}.enquiry-list li{padding:7px 0}.site-footer .section-kicker{color:#d4af37}.site-footer h2{font-size:36px;line-height:1.15}.footer-links{margin-top:20px}.site-footer a{overflow-wrap:anywhere}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-grid>div:nth-child(2){grid-column:1;grid-row:2}.footer-grid>.enquiry-card{grid-column:2;grid-row:1/span 2}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row>div{min-width:0}.form-status:not([hidden]){padding:14px;border:1px solid #cbd5e1;border-radius:12px;background:#1f2937;color:#fff}.form-status[data-state="error"]{border-color:#fca5a5}.form-status[data-state="success"]{border-color:#86efac}.contact-card .form-privacy{font-size:14px;margin-top:16px}.contact-card button:disabled{cursor:not-allowed;opacity:.6;transform:none}.contact-card textarea{resize:vertical}

a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d4af37;outline-offset:5px}

@media(max-width:1100px){.services-section .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.hero-content{padding:48px 0}.inner-hero .hero-content{padding:46px 0 52px}.full-photo-hero{min-height:600px}.full-photo-hero .hero-bg{object-position:62% center}.full-photo-hero .hero-shade{background:linear-gradient(90deg,rgba(7,12,22,.90) 0%,rgba(7,12,22,.76) 48%,rgba(7,12,22,.28) 100%),linear-gradient(0deg,rgba(9,15,26,.62) 0%,rgba(9,15,26,0) 40%)}.full-photo-hero .hero-content{padding:70px 0 78px}.feature-photo-grid{grid-template-columns:1fr;gap:28px}.feature-photo-grid.feature-photo-reverse figure,.feature-photo-grid.feature-photo-reverse>div{order:initial}.feature-photo-grid figure{max-width:820px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:nth-child(2),.footer-grid>.enquiry-card{grid-column:auto;grid-row:auto}.footer-grid>.enquiry-card{order:2}.footer-grid>div:nth-child(2){order:3}.site-menu{display:flex}.js .site-menu{display:none}.js .site-menu.is-open{display:flex}.menu-toggle{display:none}.js .menu-toggle{display:inline-flex}}
@media(max-width:620px){.services-section .service-grid,.sector-grid{grid-template-columns:1fr}.hero h1{font-size:40px}.inner-hero h1{font-size:36px}.hero-copy{font-size:19px}.full-photo-hero{min-height:590px}.full-photo-hero .hero-bg{object-position:68% center}.full-photo-hero .hero-shade{background:linear-gradient(90deg,rgba(7,12,22,.93) 0%,rgba(7,12,22,.80) 60%,rgba(7,12,22,.46) 100%)}.full-photo-hero .hero-content{width:calc(100% - 24px);padding:62px 0 68px}.full-photo-hero h1{font-size:42px}.section{padding-top:46px;padding-bottom:46px}.dark-section{width:100%;padding-left:12px;padding-right:12px}.brand strong{font-size:19px}.brand small{display:block;font-size:14px}.hero-actions{gap:12px}.hero-actions .btn{width:100%}.service-card div{padding:22px}.service-card img.cleaning-card-image{height:225px}.site-footer{padding:48px 0}.feature-photo-section,.service-photo-section{padding-top:32px;padding-bottom:32px}.feature-photo,.service-photo img,.roof-comparison img{border-radius:16px}.sector-grid article{min-height:0}.form-row{grid-template-columns:1fr;gap:0}}

/* Homepage proof strip and final visual balancing */
.home-proof-strip{background:#0b1220;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.home-proof-grid{width:min(100% - 32px,var(--max));margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.home-proof-grid p{margin:0;padding:24px 28px;border-right:1px solid rgba(255,255,255,.10);font-size:15px;line-height:1.45}
.home-proof-grid p:first-child{padding-left:0}.home-proof-grid p:last-child{border-right:0;padding-right:0}
.home-proof-grid strong{display:block;color:#fff;font-size:17px;margin-bottom:4px}.home-proof-grid span{display:block;color:#b9c4d3}

/* Keep service cards aligned and make the five-card layouts feel intentional. */
.service-card-link{display:flex;flex-direction:column}.service-card-link>div{display:flex;flex:1;flex-direction:column}.service-card .card-action{margin-top:auto;padding-top:8px}
@media(min-width:1101px){
  .balanced-five-services .service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .balanced-five-services .service-card{grid-column:span 2}
  .balanced-five-services .service-card:nth-child(4),.balanced-five-services .service-card:nth-child(5){grid-column:span 3}
  .related-services-section .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin-left:auto;margin-right:auto}
}

/* Slightly calmer card treatment on the homepage. */
.sector-grid article{box-shadow:0 8px 26px rgba(15,23,42,.045)}

@media(max-width:980px){
  .home-proof-grid{grid-template-columns:1fr}
  .home-proof-grid p{padding:18px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.10)}
  .home-proof-grid p:last-child{border-bottom:0}
}
@media(max-width:520px){
  .full-photo-hero h1{font-size:38px}
  .home-proof-grid{width:calc(100% - 24px)}
  .sector-grid{grid-template-columns:1fr}
}


/* === CCS Pressure Washing: Rope Access-style contact footer === */
.contact-footer{
  background:#0b1220;
  color:#e5e7eb;
  padding:68px 0 70px;
}
.contact-footer .contact-footer-grid{
  width:min(100% - 64px,1500px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(440px,.85fr);
  gap:clamp(56px,7vw,120px);
  align-items:start;
}
.contact-footer .contact-footer-details{
  grid-column:1;
  grid-row:1;
  min-width:0;
  padding-top:2px;
}
.contact-footer .contact-footer-details h2{
  margin:0 0 24px;
  max-width:760px;
  color:#fff;
  font-size:clamp(44px,4.4vw,70px);
  line-height:1.01;
  letter-spacing:-.045em;
}
.contact-footer .contact-footer-intro{
  max-width:760px;
  margin:0 0 30px;
  color:#dfe6f1;
  font-size:clamp(18px,1.35vw,22px);
  line-height:1.55;
}
.contact-footer .contact-list{
  margin:0;
  padding:0;
}
.contact-footer .contact-list li{
  margin:0 0 16px;
  color:#f1f5f9;
  font-size:clamp(17px,1.18vw,21px);
  line-height:1.35;
}
.contact-footer .contact-list a{
  text-underline-offset:3px;
}
.contact-footer .contact-policy-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:42px 0 26px;
}
.contact-footer .contact-policy-links a{
  color:#e5e7eb;
  font-size:17px;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.32);
}
.contact-footer .contact-policy-links a:hover,
.contact-footer .contact-policy-links a:focus-visible{
  color:#fff;
  border-bottom-color:#fff;
}
.contact-footer .company-number{
  margin:0 0 8px;
  max-width:760px;
  color:#cbd5e1;
  font-size:16px;
  line-height:1.45;
}
.contact-footer .contact-trading-name{
  margin-top:0;
}
.contact-footer .rope-style-enquiry-card{
  grid-column:2;
  grid-row:1;
  width:100%;
  max-width:650px;
  justify-self:end;
  padding:34px 34px 36px;
  background:#182131;
  border:1px solid #344154;
  border-radius:28px;
  box-shadow:0 20px 55px rgba(0,0,0,.16);
}
.contact-footer .rope-style-enquiry-card h3{
  margin:0 0 26px;
  color:#fff;
  font-size:clamp(24px,1.7vw,31px);
  line-height:1.15;
}
.contact-footer .rope-style-enquiry-card label{
  display:block;
  margin:0 0 9px;
  color:#fff;
  font-size:18px;
  line-height:1.25;
  font-weight:700;
}
.contact-footer .rope-style-enquiry-card input,
.contact-footer .rope-style-enquiry-card textarea{
  display:block;
  width:100%;
  margin:0 0 24px;
  border:1px solid #4a5668;
  border-radius:18px;
  background:#2a3445;
  color:#fff;
  font:inherit;
  font-size:18px;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-footer .rope-style-enquiry-card input{
  min-height:70px;
  padding:0 20px;
}
.contact-footer .rope-style-enquiry-card textarea{
  min-height:210px;
  padding:18px 20px;
  line-height:1.48;
  resize:vertical;
}
.contact-footer .rope-style-enquiry-card input::placeholder,
.contact-footer .rope-style-enquiry-card textarea::placeholder{
  color:#aebdd2;
  opacity:1;
}
.contact-footer .rope-style-enquiry-card input:focus,
.contact-footer .rope-style-enquiry-card textarea:focus{
  border-color:#8392a8;
  background:#2d394b;
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
.contact-footer .rope-style-enquiry-card .form-status:not([hidden]){
  margin:0 0 20px;
  padding:14px 16px;
  border:1px solid #cbd5e1;
  border-radius:14px;
  background:#213045;
  color:#fff;
}
.contact-footer .rope-style-enquiry-card .form-status[data-state="error"]{border-color:#fca5a5}
.contact-footer .rope-style-enquiry-card .form-status[data-state="success"]{border-color:#86efac}
.contact-footer .rope-style-enquiry-card .form-privacy{
  margin:-3px 0 20px;
  color:#d5dceb;
  font-size:14px;
  line-height:1.5;
}
.contact-footer .rope-style-enquiry-card .btn-primary{
  width:100%;
  min-height:66px;
  margin-top:6px;
  border-radius:999px;
  font-size:18px;
  font-weight:800;
}
.contact-footer .submitted-card p{
  color:#dbe3ef;
  font-size:17px;
  line-height:1.6;
}
.contact-footer .submitted-card .btn-primary{
  width:auto;
  min-height:52px;
  padding-left:24px;
  padding-right:24px;
}
@media(max-width:980px){
  .contact-footer .contact-footer-grid{
    width:min(100% - 32px,var(--max));
    grid-template-columns:1fr;
    gap:38px;
  }
  .contact-footer .contact-footer-details,
  .contact-footer .rope-style-enquiry-card{
    grid-column:auto;
    grid-row:auto;
  }
  .contact-footer .rope-style-enquiry-card{
    justify-self:start;
    max-width:760px;
  }
}
@media(max-width:620px){
  .contact-footer{
    padding:48px 0;
  }
  .contact-footer .contact-footer-grid{
    width:calc(100% - 24px);
  }
  .contact-footer .contact-footer-details h2{
    font-size:clamp(38px,12vw,50px);
  }
  .contact-footer .contact-policy-links{
    margin-top:32px;
  }
  .contact-footer .rope-style-enquiry-card{
    padding:24px 18px 26px;
    border-radius:22px;
  }
  .contact-footer .rope-style-enquiry-card input{
    min-height:62px;
  }
  .contact-footer .rope-style-enquiry-card textarea{
    min-height:185px;
  }
}
