
:root{--navy:#11283c;--navy2:#081c2c;--blue:#1374a0;--gold:#e4b44b;--pale:#f4f7f8;--ink:#1c3141;--muted:#5c6b76}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.65 system-ui,-apple-system,'Segoe UI',sans-serif;background:#fff}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(1160px,calc(100% - 36px));margin:auto}.topbar{background:var(--navy2);color:#fff;font-size:13px}.topinner{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;flex-wrap:wrap}.topinner a{color:white;text-decoration:none;font-weight:700}.nav{background:#fff;position:relative;z-index:20;box-shadow:0 7px 24px #12243815}.navin{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0}.logo{display:block;width:235px;max-width:40vw}.logo img{width:100%;height:68px;object-fit:contain;object-position:left center}.links{display:flex;gap:21px;align-items:center}.links a{text-decoration:none;color:#16334a;font-size:14px;font-weight:750}.links a:hover{color:var(--blue)}.btn{background:var(--gold);color:#10283a;border-radius:6px;padding:13px 21px;display:inline-block;text-decoration:none;font-weight:850;border:0;cursor:pointer;line-height:1.3;text-align:center}.btn:hover{filter:brightness(.95)}.btn.blue{background:var(--blue);color:white}.btn.line{border:1px solid #e7edf0;background:transparent;color:var(--navy)}.mobile-menu{display:none}.hero{background:linear-gradient(90deg,#061b2bea 0%,#061b2bc4 45%,#061b2b6b 100%),url(white-windows-and-door.webp) center/cover;min-height:570px;display:flex;align-items:center;color:white}.eyebrow{font-size:12px;font-weight:850;letter-spacing:2.7px;text-transform:uppercase;color:#ddb75d}.hero h1{font-size:clamp(36px,5vw,65px);letter-spacing:-1.6px;line-height:1.08;margin:16px 0 20px;max-width:770px}.hero p{font-size:19px;max-width:640px;color:#e3edf3}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust{background:var(--navy);color:white}.trustinner{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:24px 0}.trustinner span{display:block;font-weight:800;font-size:15px}.trustinner small{display:block;color:#c3d3de;font-weight:500;font-size:12px}.section{padding:76px 0}.section.alt{background:var(--pale)}.section h2,.pitch h2{font-size:clamp(28px,3.2vw,42px);line-height:1.2;margin:10px 0 18px;letter-spacing:-.7px}.intro{max-width:730px;color:var(--muted);font-size:17px;margin-bottom:28px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border-radius:13px;overflow:hidden;background:white;box-shadow:0 12px 35px #162a3612;border:1px solid #e8edef}.card img{height:225px;width:100%;object-fit:cover}.cardcontent{padding:22px}.card h3{margin:0 0 8px;font-size:22px}.card p{color:var(--muted);margin:0 0 15px}.card a.more{color:var(--blue);font-weight:850;text-decoration:none}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.split img{width:100%;height:430px;object-fit:cover;border-radius:12px}.checks{padding:0;list-style:none}.checks li{padding:10px 0 10px 30px;position:relative}.checks li:before{content:'✓';font-weight:900;color:var(--blue);position:absolute;left:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{aspect-ratio:1.35;object-fit:cover;width:100%;border-radius:9px}.note{color:var(--muted);font-size:13px;margin-top:12px}.pitch{background:var(--navy);color:#fff;padding:65px 0}.pitch .inner{display:flex;gap:30px;align-items:center;justify-content:space-between}.pitch p{color:#d4e0e8}.cities{display:flex;flex-wrap:wrap;gap:12px}.pill{padding:12px 18px;background:#fff;border:1px solid #dce5eb;border-radius:6px;text-decoration:none;font-weight:700}.contactgrid{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px}.contactgrid .contactpanel{padding:30px;border-radius:12px;background:var(--navy);color:white}.contactpanel a{color:#fff;font-size:20px;font-weight:800;text-decoration:none}.contactpanel p{color:#d6e3e9}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{font-weight:750;font-size:13px}.form input,.form textarea,.form select{display:block;width:100%;border:1px solid #cdd8dd;padding:13px;border-radius:6px;font:inherit;margin-top:6px;background:#fff}.form .wide{grid-column:span 2}.form textarea{min-height:124px}footer{background:#071b2b;color:#d0dce4;padding:40px 0}footer .foot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px}footer a{color:#e4edf3}footer small{color:#a6bdca}.pagehero{background:var(--navy);color:white;padding:80px 0}.pagehero h1{font-size:clamp(34px,4vw,54px);line-height:1.1;max-width:850px}.pagehero p{color:#d5e5ed;max-width:700px;font-size:18px}.reviewbox{border-left:5px solid var(--gold);padding:20px 25px;background:#fff;border-radius:6px;box-shadow:0 8px 22px #10283a0d}.reviewbox p{margin:0 0 14px}.reviewbox a{color:var(--blue);font-weight:800}.stickycall{display:none}@media(max-width:850px){.links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px;box-shadow:0 15px 25px #09203522;flex-direction:column;align-items:stretch}.links.open{display:flex}.mobile-menu{display:block;background:var(--navy);border:0;color:white;border-radius:5px;padding:11px;font-weight:800}.navin{position:relative}.trustinner{grid-template-columns:repeat(2,1fr)}.split,.contactgrid{grid-template-columns:1fr;gap:28px}.cards{grid-template-columns:repeat(2,1fr)}.pitch .inner{flex-direction:column;align-items:flex-start}}@media(max-width:570px){.topinner{font-size:11px}.logo{width:200px;max-width:65vw}.hero{min-height:610px}.hero p{font-size:17px}.trustinner{grid-template-columns:repeat(2,1fr);gap:20px}.section{padding:53px 0}.cards,.gallery,footer .foot{grid-template-columns:1fr}.split img{height:270px}.form{grid-template-columns:1fr}.form .wide{grid-column:span 1}.stickycall{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#e5b54e;padding:11px;text-align:center;font-weight:900}.stickycall a{color:#11283c;text-decoration:none}body{padding-bottom:44px}}

/* Linked local-service landing pages */
.location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:22px}
.location-card{display:block;padding:20px;border-radius:12px;border:1px solid #d5dee7;background:#fff;color:#11283c;font-weight:700;text-decoration:none;box-shadow:0 3px 10px rgba(0,0,0,.04)}
.location-card:hover,.location-card:focus-visible{border-color:#1d6ca8;background:#f0f7fc}

/* October 2026 photographic gallery */
.photo-upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.photo-upgrade-grid figure{margin:0;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 2px 15px #11283c13}
.photo-upgrade-grid img{width:100%;height:245px;display:block;object-fit:cover}
.photo-upgrade-grid figcaption{padding:11px 14px;font-weight:600;color:#26394b;font-size:14px;line-height:1.4}
@media(max-width:760px){.photo-upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-upgrade-grid img{height:190px}}
@media(max-width:480px){.photo-upgrade-grid{grid-template-columns:1fr}.photo-upgrade-grid img{height:240px}}

/* FENSA registration and CPA guarantee trust strip */
.certifications{background:#ecf4f7;border-top:1px solid #d9e9f1;border-bottom:1px solid #cadfe8}.certifications-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;padding:16px 0}.certification{display:flex;align-items:center;gap:11px;min-width:240px}.certification-mark{display:grid;place-items:center;width:36px;height:36px;background:#176a58;color:white;border-radius:50%;font-size:21px;font-weight:800;flex:none}.certification strong{display:block;font-size:16px;line-height:1.35;color:#11283c}.certification small{display:block;font-size:12px;line-height:1.5;color:#4e6471}.certification-link{font-weight:700;color:#0a618d;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}@media(max-width:650px){.certifications-inner{align-items:flex-start;gap:12px}.certification{width:100%}.certification-link{padding-left:47px}}

/* Genuine FENSA and CPA badges supplied by Bay Windows NW Ltd */
.certification-logo{display:block;flex:none;width:66px;height:58px;object-fit:contain;border-radius:3px;background:#fff;padding:2px}.certification{gap:13px}.certifications-inner{padding:12px 0}@media(max-width:650px){.certification-logo{width:56px;height:50px}.certification-link{padding-left:69px}}


/* Colour and style inspiration galleries */
.inspiration-section { background:#f6f8f8; }
.inspiration-heading { font-size:1.55rem; margin:34px 0 3px; color:#17324d; }
.inspiration-sub { color:#526472; margin:0 0 16px; }
.inspiration-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:16px; }
.inspiration-grid figure { margin:0; background:#fff; overflow:hidden; border-radius:12px; box-shadow:0 5px 16px rgba(25,39,52,.09); }
.inspiration-grid img { width:100%; height:240px; object-fit:cover; display:block; }
.inspiration-grid figcaption { padding:11px 13px; font-size:.92rem; font-weight:600; color:#273d4f; }
.inspiration-cta { margin:26px 0 4px; }
@media(max-width:540px) { .inspiration-grid {grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;} .inspiration-grid img{height:175px;} .inspiration-grid figcaption{font-size:.8rem;} }

/* South Lakes photography and coverage map update */
.hero{background-image:linear-gradient(95deg,rgba(7,26,42,.95) 0%,rgba(7,26,42,.83) 44%,rgba(7,26,42,.28) 100%),url("https://commons.wikimedia.org/wiki/Special:FilePath/Lake_Windermere_Panoramic.jpg?width=1920")!important;background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important}
.hero h1,.hero p{text-shadow:0 2px 12px rgba(0,0,0,.22)}
.service-map-preview{background:#eaf2f5}
.service-map-teaser{display:grid;grid-template-columns:1fr 1.07fr;align-items:center;gap:32px}
.map-mini,.coverage-map-frame{overflow:hidden;border-radius:16px;background:#dce6ea;box-shadow:0 9px 28px #0b233521}
.map-mini iframe{width:100%;height:310px;border:0;display:block}
.coverage-section{background:#f5f9fa}
.coverage-description{max-width:740px;margin-bottom:26px;color:#48606d}
.coverage-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(235px,.8fr);gap:22px;align-items:stretch}
.coverage-map-frame iframe{display:block;width:100%;height:480px;border:0}
.coverage-locations{background:#fff;padding:24px;border:1px solid #e0e9ee;border-radius:15px}
.coverage-locations h3{margin:0 0 10px}
.coverage-locations ul{padding-left:20px;line-height:1.85}
.coverage-locations p{font-size:.93rem}
.map-attribution,.landscape-credit{font-size:12px;color:#667681;padding:12px 0}
.landscape-credit{text-align:center;margin:5px auto}
.landscape-credit a{color:inherit}
@media(max-width:720px){.service-map-teaser,.coverage-layout{grid-template-columns:1fr}.map-mini iframe{height:265px}.coverage-map-frame iframe{height:370px}.hero{background-position:center}}
