:root{color-scheme:only light;background:#fff;--navy:#0c1928;--navy2:#132b41;--gold:#f6b51b;--ink:#172634;--muted:#526371;--line:#dce3e8;--light:#f3f6f8;--white:#fff;--max:1184px}
*{box-sizing:border-box}html{background:#fff;color:var(--ink);scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6;font-size:1rem}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a,button{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}svg{width:28px;height:28px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(2.6rem,5.1vw,4.6rem);font-weight:700}h2{font-size:clamp(1.9rem,3.1vw,2.9rem)}h3{font-size:1.25rem;letter-spacing:-.025em}p{margin-top:1rem}h1 em{font-style:normal;color:var(--gold)}.wrap{max-width:var(--max);width:calc(100% - 80px);margin:auto}.section{padding-top:88px;padding-bottom:88px}.eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.14em;margin:0 0 20px;line-height:1.4}.skip{position:fixed;top:-100px;left:12px;z-index:200;background:var(--gold);padding:12px}.skip:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2d7cce;outline-offset:5px}.topbar{background:var(--navy2);color:#d5e0e8;font-size:.8125rem}.topbar .wrap{display:flex;justify-content:space-between;padding:9px 0;gap:16px}.topbar a{font-weight:700;color:#fff}.header{background:var(--navy);color:#fff;border-bottom:1px solid #ffffff17}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:96px}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand img{width:56px;height:56px}.brand span{font-size:1rem;font-weight:700;letter-spacing:.025em;line-height:1.2}.brand small{display:block;font-size:.6875rem;letter-spacing:.23em;margin-top:7px;color:#cbd5dd}nav{display:flex;gap:26px;align-items:center}nav>a{font-size:.875rem;white-space:nowrap}nav>a:not(.button){padding:10px 0;border-bottom:2px solid transparent}nav>a:not(.button):hover,nav>a[aria-current=page]:not(.button){color:var(--gold);border-bottom-color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 23px;border:1px solid transparent;border-radius:3px;font-weight:700;font-size:.9375rem;line-height:1.4;text-align:center;transition:background .15s,transform .15s}.button:hover{transform:translateY(-1px)}.gold{background:var(--gold);color:var(--navy)}.gold:hover{background:#ffca4b}.outline{border-color:#ffffff66;color:#fff;background:transparent}.outline:hover{background:#ffffff12}.nav-quote{min-height:44px;padding:10px 16px}.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.menu-button{display:none}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.home-hero{background:var(--navy);color:#fff;padding:48px 0 56px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.hero-copy{padding:16px 0}.hero-copy .eyebrow{color:var(--gold)}.hero-intro{font-size:1.125rem;color:#cfdae3;line-height:1.65;margin-top:24px;max-width:590px}.hero-local{font-size:.8125rem;color:#afbdc8;margin-top:28px}.hero-image{position:relative;overflow:hidden;aspect-ratio:1.12;border-radius:3px}.hero-image>img{width:100%;height:100%;object-fit:cover}.image-caption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(5,18,30,.92));padding:70px 28px 26px;color:white}.image-caption span{display:block;font-size:.6875rem;letter-spacing:.12em;margin-bottom:8px;color:#e7e7df}.image-caption strong{font-size:1.25rem;letter-spacing:-.025em}.trust-band{background:#f6f8fa;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:23px 0;gap:12px;color:var(--muted);font-size:.875rem}.trust-grid span+span{border-left:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:36px}.section-heading>p{max-width:400px;color:var(--muted);margin-bottom:6px}.section .eyebrow,.process-section .eyebrow,.faq-section .eyebrow{color:#7c5800}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{border:1px solid var(--line);padding:27px 24px;position:relative;display:flex;flex-direction:column;border-radius:3px;transition:background .2s,border-color .2s}.service-card:hover{background:#f8fafb;border-color:#adbdc9}.service-icon{margin-bottom:32px;color:#8a6100}.service-card p{color:var(--muted);font-size:.9375rem;line-height:1.6;margin-bottom:24px}.card-link{margin-top:auto;font-size:.875rem;font-weight:700;text-decoration:underline;text-underline-offset:5px}.process-section{background:var(--light);padding:80px 0}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.process-grid>div>p:last-child{max-width:440px;color:var(--muted);margin-top:24px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:24px;padding:0 0 25px;border-bottom:1px solid var(--line);margin-bottom:25px}.steps li:last-child{padding-bottom:0;border:0;margin:0}.steps>li>span{font-size:.875rem;font-weight:700;color:#8a6100;padding-top:2px}.steps p{font-size:.9375rem;color:var(--muted);margin-top:10px}.local-section{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}.local-section p{color:var(--muted)}.towns{display:flex;flex-wrap:wrap;gap:10px}.towns span{font-size:.875rem;padding:9px 15px;border:1px solid var(--line);border-radius:2px;background:#fff}.contact-band{background:var(--navy2);color:#fff;border-top:4px solid var(--gold);padding:66px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}.contact-band .eyebrow{color:var(--gold)}.contact-band p:last-child{color:#cbd7e0}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:16px;min-width:200px}.phone-link{font-size:.9375rem}.phone-link:hover{text-decoration:underline}footer{background:var(--navy);color:#b6c3cd;padding:42px 0 20px;font-size:.8125rem}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer-brand{font-size:1rem;font-weight:700;color:white}.footer-grid>div:nth-child(2){display:flex;flex-direction:column;gap:8px;padding-top:4px;overflow-wrap:anywhere}.footer-grid p{margin:10px 0 0}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff1a;margin-top:34px;padding-top:18px;font-size:.75rem}.mobile-contact{display:none}.service-hero{background:var(--navy);color:#fff;padding:25px 0 60px}.breadcrumb{font-size:.8125rem;color:#b7c6d1}.breadcrumb-divider{color:#7e91a1;margin:0 10px}.service-hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:80px;align-items:center;margin-top:40px}.service-hero-grid .eyebrow{color:var(--gold)}.service-hero h1{font-size:clamp(2.5rem,4.6vw,4.2rem)}.project-note{background:var(--navy2);padding:30px 32px;border-top:0;border-radius:2px}.project-note .eyebrow{font-size:.75rem;margin-bottom:16px}.project-note h2{font-size:1.9rem}.project-note p:last-child{font-size:.9375rem;color:#cbd7e0;line-height:1.7}.large-icon{color:var(--gold);display:block;margin-bottom:20px}.large-icon svg{width:36px;height:36px}.scope-section{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.scope-section>div>p:last-child{color:var(--muted);max-width:300px;margin-top:24px}.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.scope-item{border-top:2px solid var(--line);padding-top:22px}.scope-item p{color:var(--muted);font-size:.9375rem}.faq-section{padding:70px 0;background:var(--light)}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.faqs details{border-bottom:1px solid #ccd5dc;padding:20px 0}.faqs details:first-child{padding-top:0}.faqs summary{font-weight:700;cursor:pointer;list-style:none;padding-right:30px;position:relative;font-size:1rem}.faqs summary::after{content:'+';position:absolute;right:1px;top:-4px;font-size:1.5rem;font-weight:400}.faqs details[open] summary::after{content:'−'}.faqs p{color:var(--muted);margin-right:20px;font-size:.9375rem}.quote-title{background:var(--navy);color:white;padding:54px 0 60px}.quote-title .eyebrow{color:var(--gold)}.quote-title h1{font-size:clamp(2.6rem,4.3vw,3.7rem)}.quote-title p:last-child{color:#cfdae3;max-width:540px;font-size:1.125rem;margin-top:22px}.quote-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:70px;padding-top:60px}.quote-aside h2{font-size:1.8rem}.quote-aside>p{color:var(--muted)}.contact-number{display:block;font-size:1.8rem;font-weight:700;letter-spacing:-.035em;margin-top:24px}.text-link{display:block;font-size:.9375rem;text-decoration:underline;text-underline-offset:4px;margin-top:10px;overflow-wrap:anywhere}.aside-note{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.aside-note h3{font-size:1.125rem}.aside-note p{color:var(--muted);font-size:.9375rem}.quote-panel{border:1px solid var(--line);padding:35px;border-radius:3px;min-width:0}.quote-panel h2{font-size:1.65rem}.form-intro{color:var(--muted);font-size:.9375rem;margin:14px 0 27px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}label{display:block;font-weight:700;font-size:.875rem;margin-bottom:22px}.optional{font-weight:400;color:var(--muted)}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #a8b7c2;background:#fff;border-radius:3px;padding:11px 12px;margin-top:8px;font-size:1rem;color:var(--ink);min-height:48px}textarea{resize:vertical;min-height:130px}input:focus,textarea:focus,select:focus{outline:2px solid #377caf;outline-offset:2px}.small{font-size:.8125rem;color:var(--muted);line-height:1.7;margin:16px 0}form>.button{margin-top:6px}#quote-review>p{color:var(--muted)}#quote-review .eyebrow{color:#7c5800}#request-summary{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:.9375rem;background:var(--light);padding:20px;border:1px solid var(--line);border-radius:3px;line-height:1.6;margin-top:22px}.edit-link{border:0;background:transparent;color:var(--ink);padding:8px 0;font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.small a{text-decoration:underline;overflow-wrap:anywhere}#copy-status{font-size:.875rem}.not-found{min-height:55vh}.not-found .button{margin-top:24px}[hidden]{display:none!important}
@media(min-width:1440px){.home-hero{padding-top:60px;padding-bottom:64px}}
@media(max-width:1100px){nav{gap:15px}.wrap{width:calc(100% - 48px)}.brand span{font-size:.875rem}.brand img{width:48px;height:48px}.nav-wrap{gap:16px}.hero-grid{gap:35px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{padding:28px}.service-hero-grid{gap:40px}.process-grid,.scope-section,.faq-grid{gap:50px}}
@media(max-width:900px){.header{position:relative}.menu-button{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid #ffffff55;color:#fff;padding:9px 14px;border-radius:3px;font-size:.875rem;min-height:44px}.nav-wrap{min-height:82px;flex-wrap:wrap}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:0 0 20px}nav.open{display:flex}nav>a:not(.button){padding:13px 0;border-bottom:1px solid #ffffff20}nav .nav-quote{margin-top:16px}nav>a{font-size:1rem}.hero-grid{grid-template-columns:1.1fr 1fr;gap:24px}.hero-image{aspect-ratio:.82}.image-caption{padding:60px 20px 22px}.hero-copy h1{font-size:3.1rem}.hero-intro{font-size:1rem}.hero-local{font-size:.8125rem}.section-heading{gap:30px}.process-grid{gap:40px}.service-hero-grid{grid-template-columns:1.3fr 1fr;gap:28px}.project-note{padding:26px 24px}.scope-section,.faq-grid{grid-template-columns:1fr 1.4fr;gap:36px}.quote-layout{grid-template-columns:1fr 1.8fr;gap:35px}.quote-panel{padding:25px}.local-section{gap:35px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.topbar .wrap{padding:8px 0;justify-content:center}.topbar span{display:none}.topbar a{font-size:.8125rem}.brand span{font-size:.9375rem}.brand img{width:48px;height:48px}.home-hero{padding:36px 0 30px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(2.7rem,10.5vw,4rem)}.eyebrow{font-size:.75rem;margin-bottom:16px}.hero-intro{margin-top:20px;font-size:1.0625rem}.hero-intro br{display:none}.hero-local{margin-top:20px}.hero-image{aspect-ratio:1.32}.image-caption{padding:55px 20px 20px}.image-caption strong{font-size:1.125rem}.image-caption span{font-size:.625rem}.button-row{gap:10px;margin-top:24px}.button{padding:13px 20px}.trust-grid{grid-template-columns:1fr 1fr;padding:20px 0;gap:15px 10px;font-size:.8125rem}.trust-grid span+span{border:0}.trust-grid span:nth-child(even){border-left:1px solid var(--line)}.section{padding-top:55px;padding-bottom:55px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:20px}.service-grid{gap:12px}.service-card{padding:23px 19px}.service-icon{margin-bottom:26px}.service-card h3{font-size:1.25rem}.service-card p{font-size:.9375rem;margin-bottom:24px}.card-link{font-size:.8125rem}.process-section{padding:55px 0}.process-grid{grid-template-columns:1fr;gap:38px}.process-grid>div>p:last-child{margin-top:20px}.steps li{gap:20px}.steps h3{font-size:1.125rem}.local-section{grid-template-columns:1fr;gap:27px}.local-section p br{display:none}.towns{gap:8px}.towns span{font-size:.8125rem;padding:8px 12px}.contact-band{padding:46px 0}.contact-inner{display:block}.contact-actions{align-items:flex-start;margin-top:28px;gap:14px}.contact-band h2 br{display:none}.footer-grid{grid-template-columns:1fr;gap:22px}.footer-grid p{margin-top:8px}.footer-bottom{display:block;line-height:1.7}.footer-bottom span{display:block;margin-top:6px}footer{padding-bottom:90px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--navy);z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -2px 15px #0c19282a}.mobile-contact a{flex:1;text-align:center;font-size:.875rem;font-weight:700;min-height:44px;padding:10px;border:1px solid #ffffff55;border-radius:3px;color:#fff}.mobile-contact a:last-child{background:var(--gold);border-color:var(--gold);color:var(--navy)}.service-hero{padding:20px 0 35px}.service-hero-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.service-hero h1{font-size:clamp(2.35rem,8.5vw,3.6rem)}.project-note{padding:25px}.project-note h2 br{display:none}.project-note h2{font-size:1.6rem}.large-icon{float:right;margin:0 0 8px 20px}.scope-section{grid-template-columns:1fr;gap:32px}.scope-section>div>p:last-child{max-width:none;margin-top:18px}.scope-grid{gap:28px 22px}.scope-item h3{font-size:1.125rem}.scope-item p{font-size:.9375rem}.faq-section{padding:50px 0}.faq-grid{grid-template-columns:1fr;gap:28px}.quote-title{padding:40px 0}.quote-title h1{font-size:2.8rem}.quote-title p:last-child{font-size:1rem}.quote-layout{grid-template-columns:1fr;gap:32px;padding-top:40px}.quote-aside .aside-note,.quote-aside>.small{display:none}.quote-aside h2{font-size:1.7rem}.contact-number{font-size:1.6rem;margin-top:15px}.quote-panel{padding:24px 20px}.field-grid{grid-template-columns:1fr;gap:0}.quote-panel h2{font-size:1.5rem}.quote-panel .button-row .button{flex:1 1 180px}.quote-panel .small{font-size:.8125rem}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.brand img{width:42px;height:42px}.brand{gap:8px}.brand span{font-size:.8125rem}.brand small{font-size:.5625rem}.menu-button{padding:8px 10px;gap:7px}.service-grid{grid-template-columns:1fr}.service-icon{margin-bottom:18px}.scope-grid{grid-template-columns:1fr}.hero-copy h1{font-size:2.7rem}.hero-copy .button-row .button{flex:1}.topbar a{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.service-card{transition:none}.button:hover{transform:none}}
h1,h2,h3{overflow-wrap:break-word}.hero-grid>*,.service-hero-grid>*,.process-grid>*,.scope-section>*,.faq-grid>*,.local-section>*,.footer-grid>*{min-width:0}
.towns a{font-size:.875rem;padding:9px 15px;border:1px solid var(--line);border-radius:2px;background:#fff;transition:background .15s,border-color .15s}.towns a:hover{border-color:#7b8d9a;background:#f5f8fa}.footer-areas{border-top:1px solid #ffffff1a;margin-top:30px;padding-top:22px;display:flex;align-items:baseline;gap:26px}.footer-areas-title{font-size:.875rem;color:#fff;font-weight:700;white-space:nowrap}.footer-areas>div{display:flex;gap:10px 22px;flex-wrap:wrap}.footer-areas a:hover{text-decoration:underline;text-underline-offset:4px}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.area-card{border:1px solid var(--line);padding:30px;border-radius:3px;display:flex;flex-direction:column;transition:background .15s,border-color .15s}.area-card:hover{background:var(--light);border-color:#a0b2be}.area-card .eyebrow{margin-bottom:20px;color:#7c5800}.area-card h2{font-size:1.8rem}.area-card>p:not(.eyebrow){color:var(--muted);margin-bottom:28px}.area-card .card-link{margin-top:auto}.note-link{display:block;color:var(--gold);text-decoration:underline;text-underline-offset:5px;font-size:.875rem;margin-top:22px}.town-focus .section-heading h2{max-width:570px;font-size:clamp(1.9rem,3vw,2.65rem)}.town-focus .section-heading>p{max-width:390px}.town-focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.town-focus-grid h3{font-size:1.25rem;line-height:1.25}.local-services-section{background:var(--light);padding:70px 0}.local-service{border:1px solid var(--line);padding:27px 24px;background:white;display:flex;flex-direction:column;border-radius:3px;min-width:0}.local-service .service-icon{margin-bottom:26px}.local-service h3 a:hover{text-decoration:underline;text-underline-offset:5px}.local-service p{font-size:.9375rem;color:var(--muted);margin-bottom:25px}.local-service .card-link{margin-top:auto}.related-areas{padding-top:45px;padding-bottom:50px}.related-areas h2{font-size:1.3rem;margin-bottom:20px}.related-areas .text-link{font-size:.875rem;margin-top:20px}
@media(max-width:1100px){.area-grid{grid-template-columns:repeat(2,1fr)}.town-focus-grid{gap:25px}}
@media(max-width:680px){.area-grid{gap:14px}.area-card{padding:24px 20px}.area-card h2{font-size:1.45rem}.area-card p{font-size:.9375rem}.area-card .card-link{font-size:.8125rem}.area-card .eyebrow{font-size:.6875rem;margin-bottom:16px}.town-focus-grid{grid-template-columns:1fr;gap:30px}.local-services-section{padding:50px 0}.local-service{padding:23px 19px}.towns a{font-size:.8125rem;padding:8px 12px}.footer-areas{display:block;margin-top:26px}.footer-areas>div{margin-top:15px;gap:10px 20px}.related-areas{padding-top:35px;padding-bottom:40px}.town-hero .button-row .button{flex:1 1 150px}.town-hero h1{font-size:clamp(2.4rem,10vw,3.6rem)}}
@media(max-width:380px){.area-grid{grid-template-columns:1fr}}

/* Owner project photos fit the existing service-page column. */
.service-photo-card{overflow:hidden;border-radius:3px;background:var(--navy2);border-top:0;min-width:0}.service-project-photo{margin:0}.service-project-photo img{width:100%;height:290px;object-fit:cover;background:#e5e8eb}.service-project-photo img.portrait{object-fit:contain}.service-project-photo figcaption{padding:16px 24px 0;font-weight:700;font-size:.9375rem;line-height:1.5}.service-project-photo figcaption span{display:block;font-weight:400;font-size:.8125rem;color:#b7c6d1;margin-top:4px}.service-photo-note{padding:20px 24px 25px}.service-photo-note .eyebrow{font-size:.75rem;margin:0}.service-photo-note>p:last-child{font-size:.9375rem;color:#cbd7e0;line-height:1.7;margin-top:10px}@media(max-width:680px){.service-project-photo img{height:260px}.service-photo-note{padding:18px 22px 24px}.service-project-photo figcaption{padding:16px 22px 0}}

/* Explicit surfaces keep text readable in mobile app viewers. */
main{background:#fff;color:var(--ink)}.header,.home-hero,.service-hero,.quote-title,.contact-band,.project-note,.service-photo-card{color:#fff}.hero-intro,.hero-local,.quote-title p:last-child,.service-photo-note>p:last-child,.project-note p:last-child,.contact-band p:last-child{color:#e1e9ef}.image-caption{background:linear-gradient(transparent,rgba(5,18,30,.98));color:#fff}.image-caption span{color:#fff}.service-project-photo figcaption span{color:#dce6ee}

/* Selected Google reviews: three columns on desktop, stacked on phones. */
.reviews-section{padding-top:24px}.google-rating{flex-shrink:0;color:var(--ink)}.google-rating strong{font-size:2.25rem;line-height:1.2;letter-spacing:-.04em}.google-rating strong span{font-size:1rem;font-weight:400;color:var(--muted);letter-spacing:0}.google-rating p{font-size:.9375rem;color:var(--muted);margin-top:6px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{margin:0;padding:28px;background:var(--light);border:1px solid var(--line);border-radius:3px;display:flex;flex-direction:column;min-width:0}.review-stars{color:#7c5800;letter-spacing:.14em;font-size:1rem;line-height:1.4;margin-bottom:20px}.review-card blockquote{margin:0 0 26px;font-size:1.3rem;line-height:1.45;letter-spacing:-.025em;font-weight:700}.review-card blockquote p{margin:0}.review-card figcaption{margin-top:auto;font-size:.875rem;line-height:1.6}.review-card cite{font-style:normal;font-weight:700;display:block}.review-card figcaption span{display:block;color:var(--muted);margin-top:5px}.review-card figcaption .review-source{font-size:.8125rem;margin-top:10px}.reviews-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}.reviews-bottom p{margin:0;font-size:.8125rem;color:var(--muted)}@media(max-width:900px){.review-card{padding:24px}.review-card blockquote{font-size:1.125rem}}@media(max-width:680px){.reviews-section{padding-top:10px}.google-rating{margin-top:24px}.google-rating strong{font-size:1.75rem}.reviews-grid{grid-template-columns:1fr;gap:14px}.review-card{padding:25px}.review-card blockquote{font-size:1.25rem;margin-bottom:22px}.reviews-bottom{flex-direction:column;align-items:flex-start;gap:16px}.reviews-bottom .button{width:100%}}

.form-honeypot{display:none}.photo-fields{margin-top:24px}.photo-fields input[type=file]{max-width:100%;min-width:0;white-space:normal;padding:12px;font-size:.875rem}.photo-fields input::file-selector-button{border:1px solid var(--line);background:var(--light);color:var(--ink);padding:8px 10px;margin-right:10px;border-radius:3px;cursor:pointer}.photo-fields .small{margin-top:8px}.extra-photos{margin-top:16px}.extra-photos summary{font-size:.9375rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.extra-photos label{margin-top:16px}#form-status{padding:14px;border:1px solid #b92929;background:#fff4f4;color:#842121;font-size:.9375rem;line-height:1.5}#form-status[hidden]{display:none}

#quote-form button[type=submit]{width:100%;min-height:54px;position:relative}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #b92929}

#form-status[data-state=handoff]{border-color:#a8b7c2;background:#f2f6fa;color:var(--ink)}
@media(min-width:901px){.brand img{width:68px;height:68px}}

.reviews-bottom{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px}.reviews-bottom .button{gap:10px}.google-wordmark{width:74px;height:auto;flex-shrink:0}@media(max-width:680px){.reviews-bottom .button{width:auto;max-width:100%}}

.ev-finished-photo .service-project-photo img.portrait{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 24%}.ev-installation{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;border-top:1px solid var(--line)}.ev-installation>div>p:last-child{margin-top:22px;max-width:440px;line-height:1.8}.ev-installation figure{margin:0}.ev-installation img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:3px}.ev-installation figcaption{font-size:.875rem;margin-top:14px;line-height:1.6}@media(max-width:680px){.ev-installation{grid-template-columns:1fr;gap:28px}.ev-finished-photo .service-project-photo img.portrait{aspect-ratio:4/5}.ev-installation>div>p:last-child{max-width:none}}

.panel-finished-photo .service-project-photo img.portrait{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%}.panel-installation img{aspect-ratio:4/3;object-position:50% 50%}

.service-upgrade-photo .service-project-photo img.portrait,.service-installation img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

/* Compact navigation for the expanded private review. */
@media(min-width:1201px){.header nav{gap:14px}.header nav>a{font-size:.8125rem}.header nav .nav-quote{padding:10px 14px}}
@media(max-width:1200px){.header{position:relative}.menu-button{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid #ffffff55;color:#fff;padding:9px 14px;border-radius:3px;font-size:.875rem;min-height:44px}.nav-wrap{min-height:82px;flex-wrap:wrap}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:0 0 20px}nav.open{display:flex}nav>a:not(.button){padding:13px 0;border-bottom:1px solid #ffffff20}nav .nav-quote{margin-top:16px}nav>a{font-size:1rem}}
