/* Focused additions. Original colours, fonts, hero, header and page layouts remain in style.css. */
.hero-content{padding-top:44px;padding-bottom:56px}
.small-form-details{font-size:.84rem;text-align:left}
.small-form-details summary{cursor:pointer;color:var(--teal-deeper);font-weight:600;min-height:40px;padding:9px 0}
.small-form-details summary span{font-weight:400}
.small-optional-fields{display:grid;gap:14px;padding:8px 0 4px}
.small-form-next,.small-form-privacy{font-size:.75rem;line-height:1.6;color:var(--slate-mid);margin:0}
.small-form-privacy{font-size:.7rem}
.small-form-next+button{margin-top:0}
.small-form-privacy a,.small-map-note a,.small-answer a,.small-faq-link a{color:var(--teal-deeper);text-decoration:underline;text-underline-offset:3px}
.small-page-links{border-bottom:1px solid var(--border);background:var(--off-white)}
.small-page-links nav.container{display:flex;justify-content:flex-start;gap:12px 28px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px}
.small-page-links a{font-size:.82rem;font-weight:600;color:var(--teal-deeper);padding:5px 0;text-decoration:underline;text-underline-offset:4px}
#recent-work,#roofing-options,#roofing-questions,#get-quote,#contact-form,#contact-maps,#coverage-map{scroll-margin-top:125px}
.small-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0 32px}
.small-map-grid.single{grid-template-columns:1fr}
.small-map-card{border:1px solid var(--border);border-radius:12px;background:var(--white);overflow:hidden;display:flex;flex-direction:column}
.small-map-card>div{padding:22px 24px;flex:1}
.small-map-card h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.4rem;margin:0 0 10px;color:var(--slate)}
.small-map-card p{font-size:.88rem;line-height:1.7;color:var(--slate-mid);margin:0}
.small-map-card iframe{display:block;width:100%;height:300px;min-height:300px;border:0;background:#e8eeee}
.small-map-card>a{display:block;padding:16px 24px;color:var(--teal-deeper);font-weight:600;font-size:.82rem;text-decoration:underline;text-underline-offset:3px}
.small-map-note{font-size:.88rem;line-height:1.7}
.small-map-stage{height:300px;min-height:300px;position:relative;background:var(--off-white);border-block:1px solid var(--border)}
.small-map-preview{height:100%;padding:22px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(ellipse at 85% 10%,#e1eff0,transparent 65%)}
.small-map-preview>svg{color:var(--teal-deeper);flex-shrink:0}
.small-map-preview>strong{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.35rem;color:var(--slate)}
.small-map-preview>span{font-size:.8rem;line-height:1.6;color:var(--slate-mid)}
.small-map-load{min-height:46px;margin-top:5px;font-size:.83rem;cursor:pointer}
.small-map-load:disabled{cursor:wait;opacity:.7}
.small-map-card .small-map-status{font-size:.75rem;line-height:1.5;max-width:340px}
.small-map-status:empty{display:none}
.small-map-card .small-map-stage iframe{height:100%;min-height:0}
.small-map-stage [hidden]{display:none!important}
@media(max-width:800px){.small-map-stage{height:280px;min-height:280px}.small-map-preview{padding:18px}}
.small-answer{border-top:1px solid var(--border);padding:0 0 4px;max-width:880px}
.small-answer summary{cursor:pointer;font-weight:600;padding:20px 0;line-height:1.5;color:var(--slate)}
.small-answer p{font-size:.95rem;line-height:1.8;color:var(--slate-mid);margin:0 0 20px}
.small-faq-link{margin-top:24px;font-size:.9rem}
.sr-preview-banner{background:var(--off-white);color:var(--slate-mid);text-align:center;font-size:11px;padding:5px 12px;border-bottom:1px solid var(--border)}
.sr-form-in-view .sticky-call,.sr-form-in-view .whatsapp-btn{opacity:0!important;pointer-events:none!important}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--teal-deeper);outline-offset:4px}
@media(max-width:800px){.small-map-grid{grid-template-columns:1fr;gap:20px}.small-contact-wrapper>.contact-form-wrap{order:-1}.small-contact-wrapper{margin-top:8px;gap:32px}.small-map-card iframe{height:280px;min-height:280px}.small-page-links nav.container{gap:10px 22px}.small-map-card>div{padding:20px}.small-map-card>a{padding:15px 20px}}
@media(max-width:660px){.hero-content{padding-top:32px;padding-bottom:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sticky-call a{animation:none!important}}

/* Reviews stay readable without a carousel or a competing set of badges. */
.small-review-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0 12px}
.small-platform{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 16px;padding:24px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);color:var(--slate);text-decoration:none}
.small-platform-name{font-weight:700;font-size:1rem}
.small-platform>strong{grid-row:1/3;grid-column:2;font-family:'DM Serif Display',Georgia,serif;font-size:2.25rem;white-space:nowrap}
.small-platform>strong span{font-family:Inter,sans-serif;font-size:.9rem;font-weight:400}
.small-platform>span{font-size:.85rem}
.small-platform>strong.small-google-label{font:600 .95rem/1.5 Inter,sans-serif;white-space:normal;max-width:100px}
.small-platform-link{grid-column:1/-1;text-decoration:underline;text-underline-offset:4px;color:var(--teal-deeper);padding-top:8px;font-weight:600}
.small-platform:hover{border-color:var(--teal-deeper);box-shadow:0 6px 20px #2c3e4a0d}
.small-rating-note{font-size:.75rem;line-height:1.6;color:var(--slate-mid);margin:0 0 28px}
.small-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.small-review-card{display:flex;flex-direction:column;gap:14px;border:1px solid var(--border);border-radius:var(--radius);padding:26px;background:var(--white);color:var(--slate)}
.small-review-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--teal-deeper);font-size:.75rem;font-weight:600;line-height:1.4}
.small-review-score{white-space:nowrap;background:var(--teal-light);padding:6px 10px;border-radius:5px}
.small-review-card h3{font:400 1.4rem/1.3 'DM Serif Display',Georgia,serif;margin:0}
.small-review-card p{font-size:.92rem;line-height:1.75;margin:0}
.small-review-byline{font-size:.8rem;font-weight:600;margin-top:auto}
.small-review-card>a{font-size:.8rem;color:var(--teal-deeper);font-weight:600;text-decoration:underline;text-underline-offset:4px;min-height:32px;display:flex;align-items:center;gap:6px}
.small-review-card small,.small-existing-review small{font-size:.7rem;color:var(--slate-mid)}
.small-review-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:30px}
.small-review-nav,.small-case-nav{display:flex;gap:10px 24px;flex-wrap:wrap;margin:24px 0}
.small-review-nav a,.small-case-nav a,.small-text-link,.small-review-source-link a,.small-case-credit a{color:var(--teal-deeper);font-weight:600;font-size:.85rem;text-decoration:underline;text-underline-offset:4px;padding:6px 0}
.small-section-heading{font:400 1.8rem/1.3 'DM Serif Display',Georgia,serif;margin:42px 0 22px;scroll-margin-top:130px}
.small-existing-review::before{content:none}
.small-existing-review small{margin-top:16px}
.small-review-source-link{margin-top:22px}
.small-featured-work{padding:30px 0 0}
.small-project{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--off-white)}
.small-project-image{display:block;min-height:240px}
.small-project-image img{display:block;width:100%;height:100%;max-height:340px;object-fit:cover}
.small-project-copy{padding:30px 34px;align-self:center}
.small-project-copy h2{font:400 1.7rem/1.25 'DM Serif Display',Georgia,serif;color:var(--slate);margin:12px 0}
.small-project-copy p{font-size:.92rem;line-height:1.7;color:var(--slate-mid);margin:0 0 16px}
.small-quote-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;max-width:1000px;margin:34px auto 0;align-items:start}
.small-quote-box{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:32px;min-width:0}
.small-quote-proof>p{font-size:.88rem;line-height:1.7;margin:20px 0 8px;color:var(--slate-mid)}
.small-review-compact{margin-bottom:20px}
.small-case-nav{border-block:1px solid var(--border);padding:12px 0}
.prose h2[id]{scroll-margin-top:130px}
.small-case-lead-photo{margin:24px 0 30px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--off-white)}
.small-case-lead-photo img{display:block;width:100%;height:340px;object-fit:contain}
.small-case-lead-photo figcaption{padding:12px 16px;font-size:.8rem;line-height:1.6;color:var(--slate-mid)}
.small-before-after{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.small-before-after .case-photo-card img{height:330px;object-fit:contain;background:var(--off-white)}
.small-case-credit{border-top:1px solid var(--border);padding-top:22px;margin-top:32px!important;font-size:.85rem!important}
.small-case-lead-photo~.before-after-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#customer-reviews{scroll-margin-top:20px}
@media(max-width:1000px){.small-review-grid{gap:14px}.small-review-card{padding:22px}.small-platform{padding:20px;gap:8px}.small-project-copy{padding:24px}}
@media(max-width:800px){.small-review-grid,.small-review-platforms{grid-template-columns:1fr}.small-platform{grid-template-columns:1fr auto;padding:20px 24px}.small-platform-link{grid-column:1;grid-row:3}.small-platform>strong{grid-row:1/4}.small-platform>strong.small-google-label{max-width:100px}.small-review-card{gap:12px}.small-quote-layout{grid-template-columns:1fr;gap:24px;max-width:600px}.small-quote-box{order:-1;padding:24px}.small-review-compact{margin-bottom:0}.small-project{grid-template-columns:1fr}.small-project-image{min-height:0}.small-project-image img{aspect-ratio:16/9;max-height:280px}.small-project-copy{padding:24px}.small-before-after .case-photo-card img{height:260px}.small-case-lead-photo img{height:280px}}
@media(max-width:660px){.hero-sub{font-size:.95rem;line-height:1.6;margin:14px 0 22px}.page-hero{padding-top:34px;padding-bottom:36px}.page-hero-content>p{font-size:.95rem;line-height:1.6;margin-bottom:22px}.small-featured-work{padding-top:22px}.small-review-actions .btn{width:100%;text-align:center;justify-content:center}.small-before-after{grid-template-columns:1fr}.small-before-after .case-photo-card img{height:340px}.small-section-heading{font-size:1.55rem}}

/* Understated finishing: the existing typography, imagery and brand accents remain. */
:root{--border:#DEE4E6;--off-white:#F6F7F7;--teal-pale:#F4F7F7;--radius:6px;--shadow:rgba(44,62,74,.08)}
#site-header header{box-shadow:none;border-color:var(--border)}
.ann{background:var(--slate);font-weight:400}
.header-inner nav>a:not(.nav-cta),.header-inner .nav-dropdown>a{border-radius:0;background:transparent}
.header-inner nav>a.active:not(.nav-cta){text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.header-inner nav>a:not(.nav-cta):hover,.header-inner .nav-dropdown>a:hover{background:transparent;text-decoration:underline;text-underline-offset:8px}
.btn,.hc-submit,.form-submit,.nav-cta{border-radius:4px;box-shadow:none;transition:background-color .18s,color .18s,border-color .18s}
.btn-teal:hover,.btn-slate:hover{transform:none;box-shadow:none}
.hero-glow{display:none}
.hero-badge{background:none;border:0;border-radius:0;padding:0;color:#D5E8E8;font-size:.7rem;letter-spacing:.16em;gap:12px}
.hero-badge::before{width:26px;height:1px;border-radius:0;animation:none;background:#A9CDCE}
.hero-service-list{gap:10px 20px;margin-top:24px}
.hero-service-list span{padding:0;border:0;border-radius:0;background:none;font-weight:400;font-size:.78rem}
.hero-service-list span::before{width:3px;height:3px;background:#A9CDCE}
.hero-card{border-radius:6px;border:1px solid #E3E7E8;box-shadow:0 16px 44px rgba(10,23,30,.16)}
.hero-sub{color:rgba(255,255,255,.8)}
.hc-emergency{border-radius:4px;background:var(--off-white);border-top:1px solid var(--border)}
.divider{height:1px;width:56px;border-radius:0;background:var(--teal-deeper)}
.service-card,.project-card,.case-study-card,.review-card,.small-review-card,.small-platform,.small-quote-box,.small-map-card{border-width:1px;border-radius:6px;box-shadow:none}
.service-card:hover,.project-card:hover,.case-study-card:hover,.case-study-card:focus-visible,.small-platform:hover,.why-card:hover,.price-card:hover{transform:none;box-shadow:0 5px 16px rgba(44,62,74,.05);border-color:#A7B7BF}
.service-card::after{display:none}
.service-link,.project-body::after,.case-study-card ul::after{padding:6px 0;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--teal-deeper);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.service-card:is(:hover,:focus-visible) .service-link,.project-card:is(:hover,:focus-visible) .project-body::after{background:transparent;border:0;color:var(--teal-hover);box-shadow:none;transform:none}
.project-body{padding:24px}
.project-card h3,.project-card h4{font-size:1.18rem;line-height:1.35}
.project-tag{border-radius:2px;background:var(--off-white);color:var(--slate-mid);font-weight:500}
.small-review-score{background:none;padding:0;border-radius:0;color:var(--slate);font-weight:600}
.small-review-card{padding:28px;gap:16px}
.small-review-top{color:var(--slate-mid)}
.sticky-call a{animation:none;border-radius:5px;box-shadow:0 4px 14px rgba(20,39,48,.16)}
.whatsapp-btn,.whatsapp-btn:hover{background:var(--teal-deeper);box-shadow:0 4px 14px rgba(20,39,48,.16);transform:none}
@media(max-width:660px){.hero-service-list{gap:10px 18px}.hero-card{padding:22px}.small-review-card{padding:24px}.project-body{padding:22px}}

/* Cobham project photography retains the full portrait view of the roof. */
.cobham-case{padding-block:64px}
.cobham-case .two-col{margin-top:0}
.cobham-case .case-photo-card{border-width:1px;box-shadow:none}
.cobham-case .case-photo-card img,.cobham-case .small-before-after .case-photo-card img{height:auto;aspect-ratio:3/4;object-fit:contain;background:var(--off-white)}
.cobham-case .case-photo-card figcaption{font-size:.85rem;line-height:1.6}
.cobham-finish-photo{max-width:500px;margin:28px auto 34px}
.cobham-spec{margin:20px 0 28px}
.cobham-spec dt{font-size:.75rem;color:var(--slate-mid);margin-top:14px}
.cobham-spec dd{font-size:.88rem;line-height:1.6;margin:3px 0 0;color:var(--slate);padding-bottom:12px;border-bottom:1px solid var(--border)}
.cobham-local-project{margin-top:36px;padding-top:28px;border-top:1px solid var(--border)}
.cobham-local-project>a>img{width:100%;height:300px;object-fit:cover;object-position:center 48%;border-radius:6px;margin:12px 0 18px}
@media(max-width:660px){.cobham-case{padding-block:42px}.cobham-case .local-proof-grid{grid-template-columns:1fr}.cobham-case .small-case-nav{gap:8px 20px}.cobham-local-project>a>img{height:260px}}

/* Branded review panels and an editorial treatment for customer feedback. */
.small-home-reviews{background:#F0F4F7}
.small-review-heading{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px;align-items:end;margin-bottom:30px}
.small-review-heading .display{max-width:720px;margin-bottom:0;text-wrap:balance}
.small-review-heading>p{font-size:.92rem;line-height:1.8;color:var(--slate-mid);padding-bottom:4px;margin:0}
.small-review-platforms{gap:18px;margin-top:0;margin-bottom:14px}
.small-platform{position:relative;display:flex;flex-direction:column;gap:16px;padding:20px 26px 19px;overflow:hidden;border:1px solid #D9E2E8;border-radius:10px;box-shadow:0 4px 18px rgba(28,52,72,.035);text-decoration:none}
.small-platform::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:#0058A2}
.small-platform-trust::before{background:#348AB4}
.small-platform-google::before{background:linear-gradient(90deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc05 50% 75%,#34a853 75%)}
.small-platform .small-platform-brand{display:flex;align-items:center;gap:10px;height:56px;flex:none}
.small-platform-brand img{display:block;object-fit:contain;flex:none}
.small-platform-brand .small-check-logo{width:225px;max-width:100%;height:78px;margin-left:-18px}
.small-platform-brand .small-trust-logo{width:58px;height:58px}
.small-platform-brand .small-platform-name{font-size:1.05rem;letter-spacing:-.02em;font-weight:700}
.small-platform-brand .small-google-logo{display:block;width:152px;height:46px}
.small-platform .small-platform-rating{display:flex;align-items:center;gap:20px;min-height:58px}
.small-platform-rating>strong{font:600 2.75rem/1.1 Inter,sans-serif;letter-spacing:-.06em;color:#213D52;white-space:nowrap}
.small-platform-rating>strong>span{font-size:1.05rem;font-weight:400;letter-spacing:0;color:#657A89;margin-left:3px}
.small-platform-detail{font-size:.76rem;line-height:1.9;color:#657A89}
.small-platform-detail b{display:block;color:#314D60;font-weight:500}
.small-platform-detail br{display:none}
.small-platform-stars{display:block;color:#A86B12;font-size:.92rem;letter-spacing:2px;line-height:1.5}
.small-platform-rating>strong.small-google-label{font:500 1.1rem/1.4 Inter,sans-serif;letter-spacing:0;white-space:normal;color:#314D60}
.small-platform .small-platform-link{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #E6EBEF;padding-top:14px;margin-top:auto;font-size:.78rem;text-decoration:none;line-height:1.5;min-height:35px}
.small-platform-link>span{font-size:1.1rem}
.small-platform:hover .small-platform-link{text-decoration:underline;text-underline-offset:4px}
.small-rating-note{color:#607482;margin-bottom:28px;font-size:.72rem}
.small-review-grid{gap:22px}
.small-review-card{position:relative;padding:28px;gap:17px;border:1px solid #D9E2E8;border-radius:10px;box-shadow:0 6px 22px rgba(28,52,72,.025)}
.small-review-top{gap:12px;align-items:flex-start;font-size:.72rem;color:#5B7282;line-height:1.5}
.small-review-score{font-size:.85rem;font-weight:700;flex:none;color:#213D52}
.small-review-score>span{color:#A86B12;margin-right:3px}
.small-review-card h3{font-size:1.48rem;line-height:1.25;max-width:300px;color:#213D52}
.small-review-card>p{font-size:.9rem;line-height:1.8;color:#526978}
.small-review-footer{margin-top:auto;border-top:1px solid #E3E9EE;padding-top:18px;display:grid;gap:10px}
.small-review-byline{font-size:.78rem;color:#314D60;margin:0;font-weight:600}
.small-review-footer>a{display:flex;align-items:center;gap:8px;font-size:.76rem;font-weight:600;color:var(--teal-deeper);text-decoration:none;min-height:32px}
.small-review-footer>a:hover{text-decoration:underline;text-underline-offset:4px}
.small-review-footer img{width:23px;height:23px;object-fit:contain;flex:none;background:white;border-radius:4px}
.small-review-footer small{font-size:.66rem;line-height:1.4;color:#657A89}
.small-review-actions{gap:18px;margin-top:30px}
.small-review-actions .btn-outline-dark{border:1px solid #BFCED8;color:#213D52;background:transparent}
.small-review-actions .btn-outline-dark:hover{background:#E6EDF2}
@media(max-width:1050px){.small-review-heading{grid-template-columns:1fr;gap:14px}.small-review-heading>p{max-width:650px}.small-platform{padding:20px}.small-platform-rating>strong{font-size:2.35rem}.small-platform .small-platform-rating{gap:14px}.small-review-card{padding:24px}.small-platform-brand .small-check-logo{width:210px}}
@media(max-width:800px){.small-review-platforms{grid-template-columns:1fr;gap:12px}.small-platform{display:grid;grid-template-columns:1fr auto;gap:12px 20px;padding:18px 22px}.small-platform .small-platform-brand{height:54px}.small-platform .small-platform-rating{justify-content:flex-end;gap:14px}.small-platform .small-platform-link{grid-row:2;grid-column:1/-1;width:100%;margin-top:0}.small-platform .small-platform-rating strong.small-google-label{font-size:.95rem;text-align:right}.small-review-grid{grid-template-columns:1fr;gap:16px}.small-review-card h3{max-width:none}.small-review-card{gap:15px}.small-review-footer{margin-top:7px}.small-review-heading .display{font-size:2.25rem}}
@media(max-width:480px){.small-platform{grid-template-columns:1fr;padding:20px 24px;gap:12px}.small-platform .small-platform-rating{justify-content:flex-start;min-height:48px}.small-platform .small-platform-link{grid-row:auto}.small-platform .small-platform-rating strong.small-google-label{text-align:left;font-size:1.05rem}.small-platform-brand .small-trust-logo{width:52px;height:52px}.small-platform-rating>strong{font-size:2.5rem}.small-review-heading{gap:12px;margin-bottom:22px}.small-review-heading .display{font-size:2rem}.small-review-heading>p{font-size:.88rem}}

/* A light consistency pass across the existing pages, without changing their layouts. */
.section{padding-block:80px}
section>.container>.two-col:first-child,section>.container>.contact-wrapper:first-child{margin-top:0}
.contact-form-wrap h3 span{color:var(--teal-deeper)!important}
.page-hero p{color:rgba(255,255,255,.82)}
.breadcrumb,.breadcrumb a{color:rgba(255,255,255,.78)}
.breadcrumb span{color:rgba(255,255,255,.68)}
.sidebar-card,.contact-form-wrap,.contact-note-panel,.why-card,.faq-item,.info-box{border:1px solid var(--border);border-radius:8px}
.sidebar-card,.contact-form-wrap{box-shadow:none}
.sidebar-services a:last-child{border-bottom:0}
.prose p,.prose li{line-height:1.8}
.btn,.hc-submit,.form-submit{min-height:46px;border-radius:6px}
.btn-outline-dark{border:1px solid #BFCED8;color:var(--slate);background:transparent}
.btn-outline-dark:hover{background:#EDF2F4;border-color:#A7B7BF}
.btn:focus-visible,.service-card:focus-visible,.project-card:focus-visible{transform:none}
.form-group label{letter-spacing:.02em;text-transform:none}
.form-group input,.form-group select,.form-group textarea,.hc-form input,.hc-form select,.hc-form textarea{border-width:1px;border-color:#C5D0D5;border-radius:6px}
.form-group input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.form-group select,.hc-form input:not([type=hidden]),.hc-form select{min-height:46px}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.hc-form input:focus,.hc-form select:focus,.hc-form textarea:focus{border-color:var(--teal-deeper);outline:2px solid var(--teal-deeper);outline-offset:2px}
.form-group input::placeholder,.form-group textarea::placeholder{color:#657983;opacity:1}
.faq-q{gap:20px;line-height:1.55;min-height:60px}
.faq-q.open{background:#F0F5F5}
.faq-a{line-height:1.8;padding-top:16px}
.calc-option span,.calc-check,.calc-method-item,.source-item,.quote-step{border-width:1px;border-radius:8px}
.footer-about p,.footer-bottom{color:rgba(255,255,255,.76)}
.footer-col a,.footer-bottom a{color:rgba(255,255,255,.82)}
.footer-col a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:660px){.section{padding-block:56px}.two-col{gap:32px}.contact-wrapper{gap:32px}.faq-q{padding:17px 18px}.faq-a{padding-inline:18px}.small-home-reviews .small-review-card{border-radius:8px}}
@media(prefers-reduced-motion:reduce){.reveal{transition:none;transform:none}.service-card,.project-card,.case-study-card,.btn{transition:none}}

/* Phone navigation: contact actions first, with short expandable service/area lists. */
.mobile-nav{align-items:stretch;gap:0;padding:16px 24px max(24px,env(safe-area-inset-bottom))}
.mobile-nav>.mobile-close{position:sticky;top:0;right:auto;align-self:flex-end;flex-shrink:0;background:white;margin-bottom:10px}
.mobile-nav>a,.small-mobile-group>summary{min-height:48px;padding:12px 4px;font-size:1rem;font-weight:600;border-bottom:1px solid var(--border)}
.mobile-nav>a{justify-content:flex-start;width:100%}
.small-mobile-group{flex-shrink:0}
.small-mobile-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;color:var(--slate)}
.small-mobile-group>summary::-webkit-details-marker{display:none}
.small-mobile-group>summary span{font-size:1.25rem;font-weight:400;transition:transform .15s}
.small-mobile-group[open]>summary span{transform:rotate(45deg)}
.small-mobile-group>div{padding:6px 0 10px 12px;background:var(--off-white);border-bottom:1px solid var(--border)}
.small-mobile-group a.mobile-sub{display:flex;min-height:44px;padding:10px 12px;font-size:.9rem}
.small-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;flex-shrink:0}
.small-mobile-actions a{padding:12px 8px;justify-content:center;min-height:48px;font-size:.9rem;border:1px solid var(--teal-deeper);border-radius:6px;color:var(--teal-deeper)}
.small-mobile-actions a[href='/contact']{background:var(--teal-deeper);color:white}
.mobile-nav>a[href^='tel:']{border:0;font-size:.86rem;padding-block:18px;color:var(--teal-deeper)}
@media(max-width:660px){.btn,.hc-submit,.form-submit,.calc-check{min-height:48px}.small-page-links a{display:flex;align-items:center;min-height:44px}.small-form-details summary,.small-review-footer>a{min-height:44px}}

/* Replacement advice: existing blue/grey palette, optional calculator, no overlays. */
.replacement-byline{font-size:.82rem;color:var(--muted);margin-bottom:24px}
.replacement-calculator-note{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;margin:28px 0 36px;background:#edf3f5;border:1px solid #d7e2e8;border-radius:8px}
.replacement-calculator-note strong{font-size:1.08rem;color:var(--slate)}
.replacement-calculator-note p{margin:7px 0 0!important;font-size:.94rem;line-height:1.65}
.replacement-calculator-note>.btn{flex-shrink:0;text-decoration:none;white-space:normal;text-align:center;background:var(--teal-deeper);color:#fff}
.replacement-contents{margin:28px 0;padding:18px 22px;border-left:3px solid #557384;background:#f4f7f8}
.replacement-contents ul{margin:8px 0 0;padding-left:20px}
.replacement-contents li{margin:0}
.replacement-contents a{display:inline-flex;align-items:center;min-height:44px}
.replacement-cost-examples{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}
.replacement-cost-example{border:1px solid #d7e2e8;border-radius:8px;overflow:hidden;background:#fff;min-width:0}
.replacement-cost-example img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.replacement-cost-example>div{padding:22px}
.replacement-cost-example h3{margin:8px 0 14px;font-size:1.3rem;line-height:1.35}
.replacement-cost-example .replacement-project-location{font-size:.8rem;font-weight:600;letter-spacing:.04em;color:#496171;margin:0}
.replacement-cost-example .replacement-project-price{font-size:1.4rem;font-weight:700;color:var(--slate);line-height:1.35;margin:0 0 16px}
.replacement-project-price span{display:block;font-size:.8rem;font-weight:400;margin-top:4px}
.replacement-cost-example p{font-size:.93rem}
.replacement-cost-example>div>a{display:inline-flex;align-items:center;min-height:44px}
.replacement-article-photo{margin:28px 0 36px}
.replacement-article-photo img{display:block;width:100%;max-height:460px;object-fit:cover;border-radius:8px}
.replacement-article-photo figcaption{font-size:.82rem;line-height:1.6;color:#496171;margin-top:10px}
.replacement-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.replacement-reading{border-top:1px solid #d7e2e8;padding-top:10px;margin-top:32px}
.replacement-reading ul{padding-left:20px}
.replacement-reading a{display:inline-flex;align-items:center;min-height:44px}
.replacement-next-step{margin-top:28px;padding-top:22px;border-top:1px solid #d7e2e8}
.replacement-home-link{margin:26px 0 0;line-height:1.8}
.replacement-local{margin-top:32px;border-top:1px solid #d7e2e8;padding-top:10px}
.replacement-faq{margin-top:32px}
.prose [id]{scroll-margin-top:110px}
@media(max-width:1000px){.replacement-calculator-note{align-items:flex-start;flex-direction:column;gap:18px}.replacement-cost-examples{grid-template-columns:1fr}}
@media(max-width:660px){.replacement-calculator-note{padding:20px;margin-block:24px}.replacement-calculator-note>.btn{width:100%;min-height:48px}.replacement-cost-example>div{padding:20px}.replacement-article-photo img{max-height:360px}.replacement-contents{padding:16px 18px}.replacement-faq summary{min-height:48px}}
