
:root{--navy:#061b35;--navy2:#09294f;--blue:#0c4a8a;--orange:#f97316;--orange2:#ffb703;--ink:#0f172a;--text:#334155;--muted:#64748b;--line:#e2e8f0;--bg:#f8fafc;--white:#fff;--shadow:0 18px 45px rgba(2,8,23,.12);--radius:22px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:20px;top:20px;width:auto;height:auto;background:#fff;color:#000;padding:10px;z-index:99}.container{width:min(var(--max),calc(100% - 36px));margin-inline:auto}.topbar{background:#031225;color:#dbeafe;font-size:.92rem}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0;flex-wrap:wrap}.topbar a{color:#fff;text-decoration:none}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:900;letter-spacing:-.02em}.brand img{width:170px;height:auto;display:block;border-radius:10px}.brand span{display:none}.navlinks{display:flex;align-items:center;gap:4px}.navlinks a{padding:10px 12px;text-decoration:none;color:#172033;font-weight:700;border-radius:12px;font-size:.94rem}.navlinks a:hover,.navlinks a.active{background:#eef6ff;color:var(--blue)}.navlinks .quote{background:var(--orange);color:white;margin-left:6px}.navlinks .quote:hover{background:#ea580c;color:white}.menu{display:none;background:var(--navy);color:white;border:0;border-radius:12px;padding:10px 13px;font-size:22px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 15%,rgba(249,115,22,.22),transparent 30%),linear-gradient(135deg,#061b35,#082f5d 56%,#031225);color:white}.hero:after{content:"";position:absolute;inset:auto -10% -35% -10%;height:380px;background:rgba(255,255,255,.06);transform:rotate(-4deg)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;padding:72px 0}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#fed7aa;background:rgba(249,115,22,.14);border:1px solid rgba(251,146,60,.34);border-radius:999px;padding:6px 12px;font-weight:800;font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.h1,h1{font-size:clamp(2.2rem,4vw,4.8rem);line-height:1.02;letter-spacing:-.055em;margin:.35em 0 .28em;color:inherit}h2{font-size:clamp(1.75rem,2.5vw,2.9rem);line-height:1.12;letter-spacing:-.04em;color:var(--ink);margin:0 0 14px}h3{font-size:1.2rem;color:var(--ink);line-height:1.25}.hero p{font-size:1.15rem;max-width:720px;color:#e2e8f0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:14px;text-decoration:none;font-weight:900;border:1px solid transparent;line-height:1.1}.btn-primary{background:var(--orange);color:#fff}.btn-secondary{background:#10b981;color:#fff}.btn-outline{border-color:rgba(255,255,255,.35);color:#fff}.btn-light{background:#fff;color:var(--navy)}.hero-art{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:30px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.hero-art img,.image-card img,.service-image{width:100%;height:auto;display:block;border-radius:22px}.trust-strip{background:#fff;box-shadow:var(--shadow);border-radius:20px;margin-top:-34px;position:relative;z-index:5}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.trust-item{padding:22px;background:#fff;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;color:var(--ink);font-size:1.1rem}.section{padding:76px 0}.section.alt{background:var(--bg)}.intro{max-width:780px;margin-bottom:28px}.intro p{font-size:1.06rem}.grid{display:grid;gap:22px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px);transition:.25s}.card a{text-decoration:none;color:inherit}.icon{width:48px;height:48px;border-radius:15px;background:#fff3e9;color:var(--orange);display:grid;place-items:center;font-size:25px;margin-bottom:12px}.card p{margin-bottom:0}.feature{display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center}.feature ul,.checklist{padding-left:0;list-style:none;margin:18px 0 0}.feature li,.checklist li{margin:10px 0;padding-left:28px;position:relative}.feature li:before,.checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--orange);font-weight:900}.cta{background:linear-gradient(135deg,#061b35,#0b3b72);color:#fff;border-radius:28px;padding:44px;display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center}.cta h2{color:#fff}.cta p{color:#dbeafe}.form{background:#fff;border-radius:24px;padding:24px;box-shadow:var(--shadow);border:1px solid var(--line)}.form label{display:block;font-weight:800;color:var(--ink);font-size:.9rem;margin:12px 0 6px}.form input,.form select,.form textarea{width:100%;padding:13px;border:1px solid #cbd5e1;border-radius:12px;font:inherit}.form textarea{min-height:120px}.form button{width:100%;margin-top:16px;border:0;cursor:pointer}.locations{display:flex;flex-wrap:wrap;gap:10px}.locations a{padding:10px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:800}.locations a:hover{background:#eef6ff;color:var(--blue)}.breadcrumbs{font-size:.9rem;color:#cbd5e1}.breadcrumbs a{color:#fff}.page-hero{background:linear-gradient(135deg,#061b35,#0b3b72);color:#fff;padding:48px 0}.page-hero h1{max-width:920px}.page-hero p{max-width:760px;color:#dbeafe}.service-layout{display:grid;grid-template-columns:2fr .9fr;gap:30px;align-items:start}.sidebar{position:sticky;top:105px}.mini-list a{display:block;padding:11px 0;border-bottom:1px solid var(--line);color:var(--blue);font-weight:800;text-decoration:none}.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:12px}.faq summary{cursor:pointer;font-weight:900;color:var(--ink)}.footer{background:#031225;color:#cbd5e1;padding:54px 0 28px}.footer h3{color:#fff}.footer a{color:#fff;text-decoration:none}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr .8fr;gap:28px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:18px;font-size:.9rem;color:#94a3b8}.float-actions{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;gap:10px}.float-actions a{box-shadow:var(--shadow);border-radius:999px;padding:12px 16px;font-weight:900;text-decoration:none;color:white}.float-actions .wa{background:#16a34a}.float-actions .call{background:var(--orange)}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line)}.table th,.table td{padding:14px;border-bottom:1px solid var(--line);text-align:left}.table th{background:#f1f5f9;color:var(--ink)}@media (max-width:980px){.menu{display:block}.navlinks{position:absolute;left:18px;right:18px;top:84px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:12px;display:none;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.hero-grid,.feature,.cta,.service-layout{grid-template-columns:1fr}.grid-3,.grid-4,.trust-grid,.footer-grid{grid-template-columns:repeat(2,1fr)}.sidebar{position:static}.brand img{width:140px}}@media (max-width:620px){.topbar .container{display:block}.nav{height:76px}.hero-grid{padding:48px 0}.section{padding:54px 0}.grid-3,.grid-4,.trust-grid,.footer-grid{grid-template-columns:1fr}.trust-strip{margin-top:0;border-radius:0}.cta{padding:28px}.float-actions{left:12px;right:12px;flex-direction:row}.float-actions a{flex:1;text-align:center}.brand img{width:120px}}


/* Real photo integration */
.hero-art img,.image-card img,.service-image{aspect-ratio:16/10;object-fit:cover;background:#e2e8f0}
.service-thumb{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;display:block;margin-bottom:14px;background:#e2e8f0}
.image-gallery .card{padding:0;overflow:hidden}.image-gallery img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.image-gallery .gallery-body{padding:20px}.image-gallery h3{margin-top:0}.contact-image{margin-bottom:24px}.brand-photo{border-radius:24px;box-shadow:var(--shadow);border:1px solid var(--line)}


/* Stronger public-facing heading colours */
:root{--ink:#071a2f;--text:#1f2937;--muted:#475569;--blue:#073b78}
h2,.section h2,.feature h2,.service-layout h2{color:#061b35;font-weight:950}
h3,.card h3,.footer h3,.sidebar h3{color:#073b78;font-weight:950}
.card h3{margin-top:10px;margin-bottom:10px}
.card p,.section p,.service-layout p{color:#1f2937}
.eyebrow{color:#7c2d12;background:#ffedd5;border-color:#fb923c;font-weight:950}
.card{border-color:#cbd5e1}
.mini-list a{color:#073b78}
.locations a{color:#061b35}


/* Colour visibility fix: stronger section labels and checklist text */
.eyebrow,
.section .eyebrow,
.intro .eyebrow,
.feature .eyebrow {
  background:#fff1e6 !important;
  color:#7a2e0e !important;
  border:2px solid #f97316 !important;
  box-shadow:0 6px 16px rgba(249,115,22,.14) !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
}
.hero .eyebrow,
.page-hero .eyebrow {
  background:#f97316 !important;
  color:#ffffff !important;
  border-color:#fb923c !important;
  text-shadow:0 1px 1px rgba(0,0,0,.18) !important;
}
.section h2,
.service-layout h2,
.feature h2,
.intro h2 {
  color:#061b35 !important;
  font-weight:950 !important;
}
.card h3,
.sidebar h3,
.form h3,
.service-layout h3 {
  color:#073b78 !important;
  font-weight:950 !important;
}
.feature li {
  color:#0f172a !important;
  font-weight:700 !important;
}
.feature li:before {
  color:#ea580c !important;
}
.checklist {
  padding-left:0 !important;
  list-style:none !important;
  margin:18px 0 0 !important;
}
.checklist li {
  color:#0f172a !important;
  background:#ffffff !important;
  border:1px solid #cbd5e1 !important;
  border-radius:14px !important;
  padding:11px 14px 11px 44px !important;
  margin:10px 0 !important;
  font-weight:750 !important;
  box-shadow:0 5px 14px rgba(15,23,42,.05) !important;
}
.checklist li:before {
  left:14px !important;
  top:12px !important;
  width:19px !important;
  height:19px !important;
  border-radius:999px !important;
  background:#f97316 !important;
  color:#ffffff !important;
  display:grid !important;
  place-items:center !important;
  font-size:.74rem !important;
  line-height:1 !important;
  font-weight:950 !important;
}
.form .checklist li,
.cta .form .checklist li {
  background:#fff7ed !important;
  border-color:#fdba74 !important;
  color:#071a2f !important;
}
.cta .form h3,
.cta .form p,
.cta .form li {
  color:#071a2f !important;
}

/* Homepage dark quote section contrast fix */
.cta,
.section .cta {
  background:linear-gradient(135deg,#061b35,#0b3b72) !important;
  color:#ffffff !important;
}
.cta > div:first-child h2,
.section .cta > div:first-child h2,
.cta h2 {
  color:#ffffff !important;
  text-shadow:0 2px 4px rgba(0,0,0,.28) !important;
}
.cta > div:first-child p,
.section .cta > div:first-child p,
.cta p {
  color:#eaf4ff !important;
  font-weight:600 !important;
  opacity:1 !important;
}
.cta .form {
  background:#ffffff !important;
  color:#071a2f !important;
}
.cta .form h3 {
  color:#061b35 !important;
}
.cta .form .checklist li {
  color:#061b35 !important;
  background:#fff7ed !important;
  border-color:#fb923c !important;
  font-weight:850 !important;
}


/* Desktop menu update: added Bathroom Fans link and tightened spacing so the menu stays neat */
.navlinks a{padding:9px 10px;font-size:.91rem}
@media (max-width:1120px){.navlinks a{padding:8px 8px;font-size:.86rem}.brand img{width:150px}}
@media (max-width:980px){.navlinks a{font-size:.94rem;padding:10px 12px}}

/* Image size correction: keep home page service photos neat and in line with the website design */
.service-thumb,
.image-gallery img {
  width:100% !important;
  height:220px !important;
  min-height:220px !important;
  max-height:220px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:16px !important;
  display:block !important;
}

.image-gallery .card {
  padding:0 !important;
  overflow:hidden !important;
}

.hero-art img {
  width:100% !important;
  height:360px !important;
  max-height:360px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.image-card img,
.service-image,
.contact-image,
.brand-photo {
  width:100% !important;
  height:340px !important;
  max-height:340px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.card:has(.service-thumb) {
  display:flex;
  flex-direction:column;
}

.card:has(.service-thumb) a {
  display:flex;
  flex-direction:column;
  height:100%;
}

@media (max-width:980px){
  .service-thumb,
  .image-gallery img{height:230px !important;min-height:230px !important;max-height:230px !important;}
  .hero-art img{height:320px !important;max-height:320px !important;}
  .image-card img,.service-image,.contact-image,.brand-photo{height:300px !important;max-height:300px !important;}
}

@media (max-width:620px){
  .service-thumb,
  .image-gallery img{height:215px !important;min-height:215px !important;max-height:215px !important;}
  .hero-art img{height:240px !important;max-height:240px !important;}
  .image-card img,.service-image,.contact-image,.brand-photo{height:235px !important;max-height:235px !important;}
}
