.product-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}.product-hero h1{font-size:clamp(1.8rem,3.2vw,3.4rem);overflow-wrap:anywhere}.product-hero-image{margin:0;min-width:0}.product-photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:8px}.product-hero-image figcaption{font-size:.75rem;color:#b6bdc8;margin-top:12px}.system-product>.product-photo{max-height:240px;margin-bottom:24px}.quick-features{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.88rem}.quick-features li{border-top:1px solid #39404b;padding-top:10px;overflow-wrap:anywhere}.quick-features span{display:block;color:#b6bdc8;font-size:.75rem;margin-bottom:4px}.enquiry-details{border:1px solid #39404b;border-radius:6px;padding:16px;margin:16px 0}.enquiry-details>summary{cursor:pointer;font-weight:600;padding:4px}.enquiry-details[open]>summary{margin-bottom:20px}.enquiry-details fieldset{margin:0}.enquiry-details input[type=file]{max-width:100%;white-space:normal}.remove-selection{background:transparent;color:inherit;cursor:pointer;border:0;padding:12px 0;margin-right:20px}.compare-picker{display:grid;gap:20px;margin-bottom:48px}.compare-picker fieldset{border:1px solid #39404b;padding:24px;min-width:0}.compare-picker legend{padding:0 8px}.compare-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.compare-options label{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;overflow-wrap:anywhere}.compare-options input{width:20px;height:20px;flex:none;accent-color:#d92e37}.comparison-table table{table-layout:fixed;min-width:640px;width:100%}.comparison-table th,.comparison-table td{overflow-wrap:anywhere;vertical-align:top;font-size:.88rem;padding:18px}.comparison-table th:first-child{width:145px}.comparison-table .product-photo{max-width:160px;margin-bottom:16px}.spec-difference{background:rgba(255,255,255,.035)}.before-after-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.before-after figure{margin:0}.before-after img,.photo-gallery img{max-width:100%;height:auto}.before-after figcaption{font-size:.88rem;margin-top:12px}.coverage-diagram{margin:32px 0;padding:20px;background:#111922;border:1px solid #39404b}.coverage-diagram svg{width:100%;height:auto}.coverage-diagram figcaption{font-size:.85rem;color:#b6bdc8}.capacity-result{font-size:1.4rem;font-weight:600}.calculator-result .button{white-space:normal}.review-source{display:block;font-size:.82rem;color:#b6bdc8}.project-facts{display:grid;grid-template-columns:1fr 2fr;gap:12px}.project-facts dd{margin:0}.project-card img{width:100%;height:auto;margin-bottom:20px}.page-compare .final-cta{display:none}.product-enquiry-summary h3{overflow-wrap:anywhere}
@media(max-width:900px){.compare-options{grid-template-columns:1fr 1fr}.product-hero{gap:24px}.product-hero .actions{align-items:stretch;flex-direction:column}.product-hero .button{white-space:normal}}
@media(max-width:700px){.product-hero{grid-template-columns:1fr}.product-hero-image{max-width:420px;margin:auto;width:100%}.product-hero h1{font-size:2rem}.compare-options{grid-template-columns:1fr}.before-after-grid{grid-template-columns:1fr}.enquiry-details{padding:12px}.comparison-table{max-width:100%;overflow-x:auto}.quick-features{font-size:.8rem}.product-hero .lead{font-size:1rem}.page-contact .mobile-contact{display:none}}
/* County and town directories use ordinary crawlable links; no client bundle. */
.location-town-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;list-style:none;padding:0!important;margin:20px 0 32px!important}.location-town-list li{margin:0!important;min-width:0}.location-town-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 0;border-bottom:1px solid var(--border);font-size:14px;line-height:1.5;text-decoration:none!important;overflow-wrap:anywhere}.location-town-list a:hover{color:var(--soft-red)}.location-town-list .icon{flex:0 0 16px;width:16px;color:var(--soft-red)}.county-town-directory .location-town-list{grid-template-columns:repeat(2,minmax(0,1fr))}.county-town-directory h2{margin-top:0}.location-reading{border-left:2px solid var(--red);padding-left:22px}.location-region-nav{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:24px}.location-region-nav a{padding:12px 0;color:var(--text);text-decoration:underline;text-underline-offset:5px;font-size:14px}.location-directory>section,.county-town-directory{scroll-margin-top:150px}.location-content{min-width:0}@media(max-width:700px){.location-town-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.location-town-list a{font-size:13px;min-height:52px}.county-town-directory .location-town-list{grid-template-columns:1fr}.location-reading{padding-left:17px}}@media(max-width:380px){.location-town-list{grid-template-columns:1fr}}
/* Developed local pages keep the existing article design and native controls. */
.local-trust-strip{display:flex;flex-wrap:wrap;gap:14px 24px;list-style:none;margin:0;padding:22px 0;border-bottom:1px solid var(--border)}.local-trust-strip li{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.local-trust-strip .icon{width:15px;height:15px;color:var(--soft-red);flex-shrink:0}.priority-location-content>section:first-child h2{margin-top:0}.priority-location-content section{margin-bottom:36px}.local-intent-cta{margin:24px 0 36px}.local-intent-cta .button{white-space:normal}.local-brands dl{margin:20px 0}.local-brands dt{font-weight:600;margin-top:16px}.local-brands dd{margin:5px 0 16px}.local-area-names{display:flex;flex-wrap:wrap;gap:8px 25px;padding-left:20px!important;font-size:14px}.local-postcodes{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px 20px;padding:20px;background:var(--surface);font-size:14px}.local-postcodes dt{font-weight:700;color:var(--text)}.local-postcodes dd{margin:0}.local-coverage h3{margin:28px 0 15px;font-size:21px}.county-priority-links{display:flex;flex-wrap:wrap;gap:12px 25px;list-style:none;padding:0!important;margin:20px 0!important}.county-priority-links li{margin:0}.county-priority-links a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}.county-all-towns{margin:25px 0 40px;padding:18px;border:1px solid var(--border)}.county-all-towns summary{cursor:pointer;font-size:15px;color:var(--text);min-height:32px}.local-enquiry-summary{padding:24px;margin-bottom:28px;background:var(--surface);border-left:3px solid var(--red)}.local-enquiry-summary h3{font-size:26px;margin:10px 0 15px}.local-enquiry-summary p{font-size:14px}.local-enquiry-summary a{display:inline-block;padding:10px 0;text-decoration:underline;text-underline-offset:4px;font-size:14px}.local-review-section h2{margin-bottom:35px}.local-review-section .review-grid{grid-template-columns:1fr;max-width:850px}.page-location .final-cta__inner>div:first-child{max-width:660px}.page-location .final-cta .actions{flex-wrap:wrap}@media(max-width:700px){.local-trust-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px}.local-trust-strip li{font-size:11px;align-items:flex-start}.local-intent-cta .button{max-width:100%;font-size:12px;padding-inline:16px}.local-postcodes{grid-template-columns:55px minmax(0,1fr);padding:17px;gap:13px}.local-enquiry-summary{padding:20px}.local-review-section h2{font-size:29px}.county-all-towns{padding:15px}}

/* Decorative artwork rotates on each non-home page request. */
.audience-panel .button,.article-aside .button,.final-cta .button{white-space:normal}
.location-content:not(.priority-location-content)>section:not(:first-child){margin-top:36px}
@media(max-width:700px){html{scroll-padding-bottom:calc(76px + env(safe-area-inset-bottom))}.button,input,select,textarea,summary{scroll-margin-bottom:76px}}
.page-hero--art{background-color:#101113;background-image:linear-gradient(90deg,rgba(16,17,19,.96) 0%,rgba(16,17,19,.94) 50%,rgba(16,17,19,.84) 72%,rgba(16,17,19,.3) 100%),var(--page-hero-image);background-size:cover;background-position:center 45%;background-repeat:no-repeat}
.page-product .page-hero--art{background-image:linear-gradient(90deg,rgba(16,17,19,.65),rgba(16,17,19,.92) 50%,rgba(16,17,19,.96)),var(--page-hero-image)}
@media(max-width:700px){.page-hero--art,.page-product .page-hero--art{background-image:linear-gradient(rgba(16,17,19,.87),rgba(16,17,19,.94)),var(--page-hero-image);background-position:70% center}}
