/* Larger, brighter text on the existing black theme. */
:root{--paper:#fff;--muted:#f1f1ee;--light-muted:#f1f1ee}
body{color:#fff;font-size:16px}
.hero h1{font-size:clamp(56px,5.4vw,82px)}
.hero-lead{font-size:21px;color:#fff}
.hero .eyebrow,.eyebrow,.section-heading>.eyebrow{font-size:12px;letter-spacing:.9px;color:#f5f5f2}
.hero-description,.section-heading>div>p,.service-body>p,.process-grid p,.section-intro,.quote-intro .section-intro,.faq details p{font-size:16px;line-height:1.85;color:#f4f4f1}
.section-heading>div>p{max-width:275px}
.service-row summary small,.service-aside p,.service-aside .small-label,.service-body .text-link,.service-aside .text-link,.area-instruction,.area-footnote,.builder-note p,.builder-note a,.builder-note>.small-label,.quote-note p,.quote-note strong,.contact-email{font-size:14px;line-height:1.8;color:#f2f2ef}
.service-number,.process-number{font-size:13px}
.small-label,.tags span,.work-index{font-size:12px;color:#f4f4f1}
.tags span{letter-spacing:.2px;border-color:#77716b}
.text-link,.hero-phone{font-size:14px;color:#fff}
.explore-link{font-size:12px;color:#f4f4f1}
.credentials strong{font-size:14px}
.credentials p>span{font-size:13px;color:#f3f3f0}
.area-buttons button{font-size:14px;color:#fff;border-color:#8b7b6d}
.area-footnote,.muted{color:#f3f3f0}
.map-top{font-size:12px;color:#f4f4f1;letter-spacing:.2px}
.map-bottom,.map-bottom small{font-size:12px;color:#f3f3f0}
.region-graphic svg text{font-size:15px}
.gallery-filter{font-size:12px;color:#f5f5f2;padding:12px 15px}
.gallery-filter span{font-size:12px;color:#f4f4f1}
.gallery-filter[aria-pressed=true],.gallery-filter[aria-pressed=true] span{color:#111}
.gallery-count,.gallery-hint{font-size:13px;color:#f1f1ee}
.gallery-card h3{font-size:17px;color:#fff}
.gallery-card figcaption{padding-top:16px}
.gallery-cta p{font-size:16px;color:#fff}
.gallery-cta .text-link{font-size:14px;color:#fff}
.form-heading .small-label,.form-heading>span:last-child{font-size:12px;color:#f3f3f0}
.step-indicators li{font-size:12px;color:#f0f0ed}
.step-indicators li>span{font-size:12px;width:24px;height:24px}
.step-indicators .active{color:#fff}
.field-help,.form-footnote,.form-status{font-size:14px;line-height:1.8;color:#f4f4f1}
.field-label{font-size:14px;color:#fff}
.field-label small{font-size:12px;color:#f3f3f0}
.service-option strong{font-size:15px;color:#fff}
.service-option small{font-size:13px;line-height:1.6;color:#f2f2ef}
.service-option .option-icon{font-size:12px;color:#e9e5df}
.service-option>span:nth-of-type(2){min-width:0}
input:not([type=radio]),select,textarea{font-size:16px;color:#fff;border-color:#9c8169}
input::placeholder,textarea::placeholder{font-size:14px;color:#e6e0d8;opacity:1}
.enquiry-review>.small-label{font-size:12px;color:#f3f3f0}
.enquiry-review p{font-size:15px;color:#fff}
.copy-enquiry,.back-button{font-size:13px;color:#f5f5f2}
.form-status{background:#2c3021;color:#fff}
.form-actions .button,.button,.main-nav .button{font-size:13px;color:#111}
.faq summary{font-size:16px;line-height:1.7;color:#fff}
.footer-bottom,.footer-bottom p>span,.footer-bottom a,.privacy-note,.privacy-note p{font-size:13px;line-height:1.9;color:#f1f1ee}
.footer-call>span:first-child,.footer-top .eyebrow{font-size:12px;color:#f3f3f0}
.viewer-counter,.viewer-close{font-size:12px;color:#f2f2ef}
.viewer-caption p{font-size:16px;color:#fff}
.viewer-caption p:last-child{font-size:12px;color:#f4f4f1}
.main-nav{font-size:12px}
.top-line{font-size:11px;color:#111}
.privacy-note{margin-top:26px}
@media(max-width:1100px){.hero h1{font-size:68px}.main-nav{gap:20px}.main-nav .button{padding:14px 17px;font-size:12px}.hero-actions>.button{font-size:12px}.section-heading>div{gap:28px}}
@media(max-width:1000px){.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid #ffffff60;padding:12px 15px;color:#fff;font-size:13px}.menu-bars{width:16px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.main-nav{display:none;position:absolute;left:0;right:0;top:94px;padding:22px 32px;background:#0b0b0b;border-bottom:1px solid #ffffff50;box-shadow:0 12px 20px #0005;align-items:stretch;font-size:14px}.main-nav.open{display:flex;flex-direction:column;gap:8px}.main-nav>a:not(.button){padding:14px 0;border-bottom:1px solid #ffffff30}.main-nav .button{margin-top:10px;font-size:13px;padding:16px;justify-content:space-between}.section-heading>div{flex-wrap:wrap}.section-heading>div>p{max-width:100%}}
@media(max-width:850px){.hero h1{font-size:60px}.hero .eyebrow{font-size:12px}.hero-lead{font-size:20px}.hero-description,.section-heading>div>p,.process-grid p{font-size:16px}.credentials strong{font-size:13px}.credentials p>span{font-size:12px}.builder-note a{max-width:none}.service-aside .text-link{font-size:13px}.contact-email{font-size:14px}.gallery-filter{font-size:12px;padding:11px}.gallery-filter span{font-size:12px}.gallery-card h3{font-size:16px}.work-index{font-size:12px}.step-indicators{gap:10px}.step-indicators li{font-size:11px}}
@media(max-width:700px){.main-nav{top:75px;padding:20px}.hero .eyebrow{font-size:12px;line-height:1.7;letter-spacing:.4px;margin-bottom:22px}.hero h1{font-size:clamp(44px,10vw,64px);line-height:1.03}.hero-lead{font-size:19px;line-height:1.6}.hero-description{font-size:16px;line-height:1.85}.hero-actions{gap:22px}.hero-actions>.button{font-size:12px;padding:17px 15px}.hero-phone{font-size:14px}.top-line-inner{font-size:10px;line-height:1.6;min-height:34px}.credentials{grid-template-columns:1fr;gap:19px}.credentials>div:last-child{grid-column:auto}.credentials>div:last-child p{display:block}.credentials>div:last-child strong{margin-bottom:5px}.credentials strong{font-size:14px}.credentials p>span{font-size:13px}.service-row summary small{font-size:14px}.service-body>p,.section-heading>div>p,.process-grid p,.faq details p{font-size:16px}.service-body .text-link{font-size:14px}.tags span{font-size:12px}.service-number{font-size:12px}.section-intro,.quote-intro .section-intro{font-size:16px}.area-buttons button{font-size:13px;padding:14px 12px}.area-instruction,.area-footnote{font-size:14px}.map-top,.map-bottom,.map-bottom small{font-size:11px}.quote-note p,.quote-note strong,.contact-email{font-size:14px}.form-heading .small-label,.form-heading>span:last-child{font-size:12px}.step-indicators{gap:10px}.step-indicators li{flex:1;flex-direction:column;align-items:flex-start;font-size:12px;line-height:1.5;gap:7px}.step-indicators li>span{font-size:12px;width:24px;height:24px}.field-help,.field-label,.form-footnote,.form-status{font-size:14px}.field-label small{font-size:12px}.service-option strong{font-size:15px}.service-option small{font-size:13px}.service-option .option-icon{font-size:12px}.form-actions .button{font-size:12px;gap:15px;padding:15px}.copy-enquiry,.back-button{font-size:13px}.enquiry-review>.small-label{font-size:12px}.enquiry-review p{font-size:15px}.field-grid:has(#access){grid-template-columns:1fr}.faq summary{font-size:16px}.gallery-filters{display:grid;grid-template-columns:1fr 1fr}.gallery-filter{font-size:12px;padding:13px 10px}.gallery-filter span{font-size:12px;margin-left:8px}.gallery-count,.gallery-hint{font-size:13px;line-height:1.8}.gallery-card h3{font-size:15px}.work-index{font-size:11px;letter-spacing:.2px}.gallery-cta p{font-size:16px}.gallery-cta .text-link{font-size:14px}.viewer-counter,.viewer-close{font-size:12px}.viewer-caption p{font-size:15px}.viewer-caption p:last-child{font-size:12px}.footer-bottom,.footer-bottom p>span,.footer-bottom a,.privacy-note,.privacy-note p{font-size:13px}.footer-call>span:first-child,.footer-top .eyebrow{font-size:12px}.mobile-contact a{font-size:13px}.site-footer{padding-bottom:120px}}
@media(max-width:370px){.hero h1{font-size:44px}.hero-actions>.button{gap:15px}.hero-phone{font-size:13px}.gallery-filter{font-size:11px}.gallery-card h3{font-size:14px}.work-index{font-size:11px}.form-actions{flex-wrap:wrap}.form-actions .button{font-size:12px}.viewer-counter{font-size:11px}.mobile-contact a{font-size:12px;padding:14px 12px}}

/* Regional coverage keeps every town readable at phone sizes. */
.area-grid{align-items:start}
.coverage-choices,.coverage-overview{min-width:0}
.area-group{margin-top:24px}
.area-group>h3{font-size:16px;line-height:1.5;color:#fff;margin:0 0 12px}
.area-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
.area-buttons button{min-width:0;min-height:52px;line-height:1.5;gap:10px}
.area-buttons button>span{flex-shrink:0}
.coverage-overview{padding:28px;max-width:none}
.coverage-base{padding:30px 0 28px;border-bottom:1px solid #ffffff26}
.coverage-base>p{margin:0 0 10px;font-size:13px;color:#f3f3f0}
.coverage-base>h3{margin:0;font-size:clamp(27px,2.7vw,36px);line-height:1.2;color:#fff;letter-spacing:-.04em}
.coverage-regions{list-style:none;margin:30px 0;padding:0}
.coverage-regions>li{position:relative;padding:0 0 26px 25px;border-left:1px solid #ff500070;margin-left:5px}
.coverage-regions>li:last-child{padding-bottom:0;border-left-color:transparent}
.coverage-regions>li::before{content:"";position:absolute;top:5px;left:-5px;width:9px;height:9px;background:var(--orange);box-shadow:0 0 0 4px #ff50001b}
.coverage-regions strong{display:block;font-size:17px;line-height:1.5;color:#fff;margin-bottom:6px}
.coverage-regions span{display:block;font-size:15px;line-height:1.75;color:#f3f3f0}
.coverage-overview .map-top,.coverage-overview .map-bottom{font-size:12px;line-height:1.6;letter-spacing:.15px}
@media(max-width:700px){.coverage-overview{padding:23px}.coverage-base{padding:24px 0}.coverage-regions{margin:26px 0}.coverage-regions strong{font-size:17px}.coverage-regions span{font-size:15px}.area-group>h3{font-size:16px}}

/* Keep service labels and long gallery captions within their columns. */
.gallery-card figcaption,.gallery-card h3,.viewer-caption p{min-width:0;max-width:100%;overflow-wrap:anywhere}
.tags span{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.service-row summary strong,.service-option strong,.service-body .text-link{max-width:100%;overflow-wrap:anywhere}
