@font-face{font-family:Poppins;src:url('/assets/poppins-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('/assets/poppins-bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--blue:#29abe2;--charcoal:#292929;--white:#f7f7f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Poppins,Arial,sans-serif;color:#000;background:#fff;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #000;outline-offset:5px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h1,h2{line-height:1.15}h1{font-size:64px;font-weight:400}h2{font-size:36px;font-weight:700}h3{font-size:18px;line-height:1.5}p+p{margin-top:18px}.wrap{width:min(1100px,calc(100% - 80px));margin-inline:auto}.section{padding-block:90px}.preview{text-align:center;background:#f7f7f7;color:#565656;font-size:9px;padding:3px;letter-spacing:.15em}header{background:#f7f7f7;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px #00000005}.header-inner{width:min(1100px,calc(100% - 80px));height:80px;margin:auto;display:flex;align-items:center;gap:24px}.brand{flex-shrink:0}.brand img{width:110px;height:auto}.header-inner nav{display:flex;align-items:center;gap:23px;margin-left:auto;font-size:13px}.header-inner nav a:hover{text-decoration:underline;text-underline-offset:5px}.phone{white-space:nowrap;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;line-height:1.45;padding:13px 20px;border:2px solid transparent;border-radius:4px;text-align:center;min-height:45px;transition:filter .2s}.button:hover{filter:brightness(.93)}.button.blue{background:var(--blue);color:#fff}.button.white{background:var(--white);color:#116f98}.button.outline{border:2px solid white;color:white;background:transparent}.header-inner>.button{font-size:10px;padding:11px 12px;white-space:nowrap}.menu{display:none}.hero{position:relative;min-height:650px;display:grid;place-items:center;background:#292929;color:#fff;overflow:hidden}.hero-still,.hero video,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero video{opacity:0}.hero video.playing{opacity:1}.shade{background:#0008;pointer-events:none}.hero-content{position:relative;z-index:1;text-align:center;padding:82px 30px 105px;width:100%}.hero h1{font-size:clamp(42px,5.45vw,70px);line-height:1.03;max-width:1120px;margin:auto;font-weight:400;letter-spacing:-.025em}.hero h1 strong{font-weight:700}.hero p{max-width:820px;font-size:20px;line-height:1.65;margin:55px auto 42px}.hero-actions{display:flex;justify-content:center;gap:40px}.hero-actions .button{min-width:300px}.video-control{position:absolute;bottom:15px;right:20px;z-index:2;border:1px solid #fff9;border-radius:3px;background:#0005;color:#fff;padding:7px 12px;font-size:10px}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:65px;align-items:center}.copy p{margin-top:22px}.copy .button{margin-top:25px}.blue-text{color:var(--blue)}.caps{text-transform:uppercase;font-size:30px}.rounded{border-radius:9px}.split figure img{width:100%}figcaption{font-size:12px;text-align:center;margin-top:12px}.heat{padding-top:20px}.heat h3{margin-top:22px}.heat-media{position:relative;min-height:420px;display:flex;align-items:center;justify-content:flex-end}.heat-media>img{width:92%;height:365px;object-fit:cover;border-radius:6px}.heat-media>video{position:absolute;left:-18px;bottom:-5px;width:38%;height:355px;object-fit:cover;background:#eee;box-shadow:0 5px 20px #0002;border-radius:4px}.service-grid{display:grid;grid-template-columns:1fr 1fr}.service-copy{padding:60px max(30px,7vw);text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.service-copy h2{font-size:38px;line-height:1.06}.service-copy p{font-size:18px;line-height:1.65;margin:30px 0 24px}.blue-panel{background:var(--blue);color:white}.service-grid>img{width:100%;height:100%;min-height:420px;max-height:530px;object-fit:cover}.finish-image{width:100%;min-height:360px;object-fit:cover}.closing{padding:72px 0;background:var(--blue);color:white;text-align:center}.closing h2{font-size:43px}.closing p{font-size:19px;max-width:680px;margin:24px auto 30px}.closing .button{background:white;color:#116f98}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.faq h2{font-size:32px}.faq details{border-bottom:1px solid #ddd}.faq details:first-child{border-top:1px solid #ddd}summary{cursor:pointer;list-style:none;font-size:15px;font-weight:700;padding:22px 30px 22px 0;position:relative;line-height:1.6}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;top:20px;font-weight:400;font-size:21px;color:#000}details[open] summary:after{content:'−'}.faq details p{font-size:14px;margin:0 20px 23px 0;color:#444}footer{background:#f7f7f7;padding:60px 0 22px}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:45px;font-size:13px}.footer-main p{margin-top:20px}.footer-main .brand img{width:165px}.footer-nav{display:flex;flex-direction:column;gap:9px}.footer-main>div:last-child>p{margin-top:10px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ddd;padding-top:24px;margin-top:40px;font-size:11px}.page-intro{text-align:center;padding:65px 0 38px}.page-intro h1{font-size:50px;font-weight:700;letter-spacing:-.025em}.page-intro p{max-width:760px;margin:23px auto 0;font-size:18px}.page-intro .eyebrow{color:#116f98;font-size:11px;letter-spacing:.15em;font-weight:700;margin:0 auto 18px}.fine{font-size:13px!important;color:#555}.tool-section{max-width:1000px;margin-bottom:60px}.estimator-frame{display:block;width:100%;height:920px;border:0;background:white}.tool-help{text-align:center;font-size:14px;margin:22px 0}.tool-help a{font-weight:700;text-decoration:underline;text-underline-offset:4px}.booking-section{display:grid;grid-template-columns:1.6fr 1fr;gap:55px;align-items:start;margin-bottom:70px}.booking-form iframe{display:block;width:100%;height:1150px;border:0;background:white}.booking-section aside{padding-top:35px}.booking-section h2{font-size:27px}.booking-section ol{padding-left:23px}.booking-section li{margin-bottom:18px}.booking-section h3{margin-top:35px}.contact-phone{display:inline-block;font-size:25px;font-weight:700;margin:12px 0}.booking-section aside .fine{margin-top:26px}.privacy-copy{max-width:760px;padding:10px 0 90px}.privacy-copy h2{font-size:25px;margin:30px 0 16px}.skip{position:absolute;top:-100px;left:15px;z-index:50;background:white;padding:12px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1100px){.header-inner nav{gap:16px}.header-inner{gap:18px}.header-inner .phone{display:none}.hero-actions{gap:22px}.split{gap:40px}.service-copy{padding:45px 35px}.service-copy h2{font-size:32px}.service-copy p{font-size:16px}.caps{font-size:28px}}
@media(max-width:800px){.header-inner{height:75px;width:calc(100% - 48px)}.header-inner>.button{margin-left:auto}.header-inner nav{display:none;position:absolute;top:75px;left:0;right:0;background:#f7f7f7;padding:20px 24px;flex-direction:column;align-items:flex-start;gap:0;box-shadow:0 6px 10px #0001}.header-inner nav.open{display:flex}.header-inner nav a{padding:12px 0;width:100%;font-size:15px}.menu{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:10px 0 10px 8px}.menu span{width:29px;height:1px;background:#292929}.wrap{width:calc(100% - 48px)}.hero{min-height:560px}.hero-content{padding:60px 24px 85px}.hero h1{font-size:43px}.hero p{font-size:18px;max-width:610px;margin:35px auto 32px}.hero-actions{gap:16px}.hero-actions .button{min-width:0;flex:1;max-width:300px;font-size:11px}.split{gap:28px}.section{padding-block:65px}.caps{font-size:24px}.copy p{font-size:14px}.copy .button{font-size:11px}.heat{padding-top:20px}.heat-media{min-height:320px}.heat-media>img{height:300px}.heat-media>video{height:255px;left:0}.service-copy{padding:40px 28px}.service-copy h2{font-size:29px}.service-copy p{font-size:15px}.service-grid>img{min-height:400px}.faq{gap:35px}.faq h2{font-size:28px}.footer-main{gap:25px}.booking-section{grid-template-columns:1fr}.booking-section aside{padding-top:0}.booking-form iframe{height:1100px}}
@media(max-width:600px){.header-inner{height:72px;width:calc(100% - 32px);gap:14px}.header-inner>.button{font-size:8px;padding:10px 9px;min-height:37px}.brand img{width:99px}.menu span{width:24px}.header-inner nav{top:72px}.wrap{width:calc(100% - 40px)}.hero{min-height:640px}.hero-content{padding:65px 20px 85px}.hero h1{font-size:36px;line-height:1.08;letter-spacing:-.03em}.hero h1 br{display:none}.hero h1 strong{display:block;margin-top:4px}.hero p{font-size:16px;line-height:1.75;margin:29px auto}.hero-actions{flex-direction:column;gap:14px;align-items:center}.hero-actions .button{flex:none;width:100%;max-width:340px;min-height:47px;font-size:11px}.video-control{font-size:9px;bottom:15px;right:15px}.split{grid-template-columns:1fr;gap:30px}.section{padding-block:55px}.caps{font-size:28px}.copy p{font-size:15px}.copy .button{font-size:11px;margin-top:23px}.split figure{order:1}.heat{padding-top:15px}.heat h3{font-size:17px}.heat-media{min-height:325px;margin-left:20px}.heat-media>img{height:290px}.heat-media>video{height:285px;width:40%;left:-20px}.service-grid{grid-template-columns:1fr}.service-copy{padding:48px 30px}.service-copy h2{font-size:31px}.service-copy p{font-size:16px;margin-block:24px}.service-grid>img{min-height:0;max-height:450px;height:auto;aspect-ratio:1.25;object-fit:cover}.service-grid>.patio-image{order:4}.service-grid>.service-copy:last-child{order:3}.finish-image{min-height:0}.closing{padding:55px 0}.closing h2{font-size:32px}.closing p{font-size:16px}.closing .button{font-size:11px}.faq{grid-template-columns:1fr;gap:28px}.faq h2{font-size:30px}.footer-main{grid-template-columns:1fr;gap:27px}.footer-main p{margin-top:15px}.footer-main .brand img{width:145px}.footer-bottom{font-size:10px}.page-intro{padding-top:50px}.page-intro h1{font-size:34px}.page-intro p{font-size:16px}.page-intro .fine{font-size:12px!important}.tool-section{width:100%;padding:0 12px}.estimator-frame{height:850px}.tool-help{font-size:13px;padding:0 15px}.tool-help a{display:block;margin-top:10px}.booking-section{width:calc(100% - 24px);gap:20px}.booking-section aside{padding:0 12px}.booking-form iframe{height:1250px}.privacy-copy h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.hero video{display:none}}
.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;margin:15px auto 90px;align-items:center}.contact-card{padding:45px;background:#f7f7f7;border-radius:5px}.contact-layout h2{font-size:28px}.contact-card p{margin-top:23px}.contact-call{margin-top:28px;width:100%;font-size:17px}.contact-details ol{padding-left:23px;margin-block:25px}.contact-details li{margin-bottom:20px}.contact-details>p{font-size:14px}@media(max-width:700px){.contact-layout{grid-template-columns:1fr;gap:35px;margin-bottom:60px}.contact-card{padding:28px}.contact-layout h2{font-size:26px}.contact-call{font-size:14px}}
.hero .instant-promise{font-size:22px;font-weight:700;margin:0 auto 20px;line-height:1.4}.hero-content>p:not(.instant-promise){margin-bottom:25px}.page-intro>.button{margin-top:28px}.header-inner>.button{font-size:9px}@media(max-width:600px){.hero .instant-promise{font-size:18px;margin-bottom:20px}.header-inner>.button{font-size:8px;max-width:145px}}

.heat-media{min-height:0;margin-left:0;justify-content:center}.heat-media>video{position:static;display:block;width:min(100%,300px);height:auto;aspect-ratio:9/16;object-fit:contain;box-shadow:none;border-radius:6px;background:#292929}
.copy-link{display:inline-block;margin-top:22px;text-decoration:underline;text-underline-offset:4px}.heat .copy p{margin-top:12px}#transformations h2{font-size:30px}#process .copy p{margin-top:20px}.hero-content>p:not(.instant-promise){margin-bottom:42px}@media(max-width:600px){#transformations h2{font-size:28px}.hero-content>p:not(.instant-promise){margin-bottom:29px}}
/* Project gallery and product science */
.gallery-intro,.science-intro{padding-bottom:55px;text-align:left}.gallery-intro h1,.science-intro h1{max-width:950px;font-size:clamp(36px,4.8vw,64px);line-height:1.15}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:55px 32px;padding-bottom:90px}.gallery-card{margin:0;min-width:0}.gallery-open{display:block;position:relative;width:100%;padding:0;border:0;background:#eee;cursor:zoom-in;border-radius:6px;overflow:hidden}.gallery-open img{display:block;width:100%;height:380px;object-fit:contain;background:#eee}.gallery-open>span{position:absolute;bottom:14px;right:14px;background:#fff;padding:10px 15px;font:700 10px Poppins,sans-serif;color:#292929}.gallery-open>span span{margin-left:15px}.gallery-card figcaption{text-align:left;margin-top:18px}.gallery-card h2{font-size:21px;line-height:1.4}.gallery-card p{font-size:14px;margin-top:9px}.gallery-dialog{width:min(1100px,94vw);max-height:94vh;padding:22px;border:0;border-radius:7px;background:#f7f7f7;color:#292929}.gallery-dialog::backdrop{background:rgb(0 0 0 / .85)}.gallery-toolbar,.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.gallery-toolbar{margin-bottom:15px}.gallery-toolbar p{font-size:12px}.gallery-dialog button{min-width:44px;min-height:44px;border:1px solid #ccc;background:white;border-radius:3px;font:inherit;cursor:pointer;padding:8px 14px}.gallery-dialog>img{width:100%;height: min(64vh,650px);object-fit:contain;display:block}.gallery-bottom{margin-top:18px}.gallery-bottom h2{font-size:18px}.gallery-bottom p{font-size:12px;margin-top:5px}.gallery-bottom>div{text-align:center}.science-feature{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding-bottom:75px}.science-feature h2,.science-build h2,.science-process>h2{font-size:clamp(32px,4vw,48px);line-height:1.2}.science-feature>div>p:not(.eyebrow){margin-top:22px;font-size:17px}.science-result{background:#29abe2;padding:40px;text-align:center;color:#292929;border-radius:6px}.science-result>p:first-child{font-weight:700;letter-spacing:.13em;font-size:12px!important;margin-top:0!important}.science-result>strong{display:block;margin:22px 0;font-size:25px;line-height:1.2}.science-result>strong span{font-size:110px;letter-spacing:-.06em}.science-result h2{font-size:25px}.science-result>p:last-child{font-size:12px!important;max-width:320px;margin-inline:auto}.science-points{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid #ddd}.point-number{font-size:18px;color:#18779f;display:block;margin-bottom:24px}.science-points h2{font-size:24px;line-height:1.3;min-height:63px}.science-points p{font-size:15px;margin-top:20px}.science-build{background:#eee}.science-process ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;counter-reset:steps;margin-top:45px}.science-process li{counter-increment:steps;border-top:2px solid #29abe2;padding-top:25px}.science-process li:before{content:'0' counter(steps);color:#18779f;font-size:14px}.science-process h3{font-size:21px;margin-top:15px}.science-process li p{font-size:15px;margin-top:15px}.science-source{font-size:11px;margin-top:55px;color:#595959}.closing .button{margin-top:26px}button:focus-visible,a:focus-visible{outline:3px solid #156286;outline-offset:5px}
@media(max-width:800px){.science-feature{gap:35px}.gallery-open img{height:290px}.science-points{gap:22px}.science-points h2{font-size:20px}.science-process ol{gap:25px}.science-result{padding:30px 20px}.science-result>strong span{font-size:88px}}
@media(max-width:600px){.gallery-intro,.science-intro{padding-bottom:35px}.project-gallery{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.gallery-open img{height:auto;max-height:420px}.gallery-card h2{font-size:19px}.science-feature{grid-template-columns:1fr;gap:32px;padding-bottom:45px}.science-points{grid-template-columns:1fr;gap:35px}.science-points h2{min-height:0;font-size:25px}.science-points p{margin-top:12px}.point-number{margin-bottom:14px}.science-process ol{grid-template-columns:1fr;gap:30px}.gallery-dialog{padding:14px}.gallery-dialog>img{height:55vh}.gallery-bottom{gap:10px}.gallery-bottom h2{font-size:14px}.gallery-bottom p{font-size:11px}.gallery-bottom button{padding:8px}.science-result>strong span{font-size:105px}}

.coating-photos{display:grid;gap:24px;min-width:0}.coating-photos img{width:100%;height:auto}@media(max-width:600px){.coating-photos{gap:16px}}

/* Homepage rhythm and responsive proportions. */
.home-page .section{padding-block:clamp(56px,7vw,88px)}
.home-page .split{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,5vw,64px)}
.home-page h2{letter-spacing:-.025em;text-wrap:balance}
.home-page #transformations h2,.home-page #process h2{font-size:clamp(28px,3vw,38px);line-height:1.2}
.home-page .copy p{font-size:16px;line-height:1.8}
.home-page .hero{min-height:620px}
.home-page .hero-content{padding:84px 24px 92px}
.home-page .hero h1{font-size:clamp(38px,5.1vw,66px);line-height:1.08}
.home-page .hero-content>p{max-width:780px;font-size:18px;margin:32px auto}
.home-page .hero-actions{gap:20px}
.home-page .hero-actions .button{min-width:270px;min-height:48px}
.home-page .heat{padding-top:24px}
.home-page .heat-media>video{width:min(100%,280px)}
.home-page .service-copy{padding:clamp(36px,5vw,68px);min-width:0}
.home-page .service-copy h2{font-size:clamp(28px,3vw,38px);line-height:1.2}
.home-page .service-copy p{font-size:16px;max-width:430px;margin:24px 0}
.home-page .coating-photos{gap:20px}
.home-page .coating-photos img{border-radius:8px}
.home-page .closing{padding:64px 0}
.home-page .closing h2{max-width:760px;margin:auto;font-size:clamp(28px,3.4vw,42px);line-height:1.2}
.home-page .closing p{font-size:17px;max-width:640px;margin:22px auto 0}
/* Customer review slider. */
.reviews-section{padding:72px 0;background-color:#1c1916;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M24 14v20M14 24h20' fill='none' stroke='%23ffffff' stroke-opacity='.025' stroke-width='3'/%3E%3C/svg%3E");color:#f7f7f7}
.reviews-section>.wrap{max-width:1000px}
.reviews-heading{text-align:center;margin-bottom:32px}
.reviews-heading h2{font-family:Impact,Haettenschweiler,'Arial Narrow',Poppins,sans-serif;font-size:clamp(32px,4.2vw,54px);font-weight:900;line-height:1.15;letter-spacing:.015em}
.review-stars{display:flex;justify-content:center;gap:10px;color:#ffc400;margin:20px 0 10px}
.review-stars svg{width:23px;height:23px;fill:currentColor}
.reviews-heading>p{font-size:17px;color:#b9b5b1;margin:0}
.review-track{display:flex;align-items:stretch;gap:24px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:4px 0 8px}
.review-track::-webkit-scrollbar{display:none}
.review-card{flex:0 0 calc((100% - 24px)/2);min-width:0;min-height:260px;scroll-snap-align:start;background:#262320;border:1px solid #413b35;border-radius:8px;padding:30px;display:flex;flex-direction:column;justify-content:space-between}
.review-card blockquote{margin:0}
.review-card blockquote p{font-size:15px;line-height:1.85;color:#efeeec}
.review-card figcaption{text-align:left;margin-top:28px;padding-top:18px;border-top:1px solid #ffffff12}
.review-card figcaption strong{display:block;font-size:14px;color:#fff}
.review-card figcaption span{display:block;font-size:11px;color:#b9b5b1;margin-top:3px}
.review-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px}
.review-controls[hidden]{display:none}
.review-arrow{width:46px;height:46px;flex:none;border-radius:50%;border:1px solid #625d57;background:#302d29;color:white;font:28px/1 Arial,sans-serif;display:grid;place-items:center;padding:0 0 3px}
.review-arrow:hover{background:#44403b}
.review-dots{display:flex;align-items:center;justify-content:center;gap:0}
.review-dot{width:24px;height:44px;border:0;background:transparent;padding:0;display:grid;place-items:center}
.review-dot:before{content:'';display:block;width:9px;height:9px;border-radius:20px;background:#706b65}
.review-dot[aria-current="true"]{width:39px}
.review-dot[aria-current="true"]:before{width:30px;background:#29abe2}
.leave-review{display:flex;justify-content:center;align-items:center;gap:22px;border-top:1px solid #ffffff18;padding-top:26px;margin-top:28px}
.leave-review p{font-size:13px;color:#b9b5b1}
.leave-review .review-button{display:inline-flex;gap:12px;padding:14px 22px;min-height:52px;border:1px solid #625d57;border-radius:0;background:transparent;color:#e0dedb;font-size:14px;font-weight:700;letter-spacing:.045em;line-height:1.3}
.review-button img{width:23px;height:23px;flex:none}
.leave-review .review-button:hover{background:#ffffff08;border-color:#aaa49d;filter:none}
.review-carousel button:focus-visible,.review-track:focus-visible,.reviews-section a:focus-visible{outline:3px solid #29abe2;outline-offset:3px}
@media(min-width:601px) and (max-width:800px){.home-page .split{gap:30px}.home-page .copy p{font-size:15px}.home-page .service-copy{padding:32px 24px}.home-page .service-copy h2{font-size:27px}.review-card{padding:24px}.review-card blockquote p{font-size:14px}}
@media(max-width:600px){
.home-page .hero{min-height:580px}.home-page .hero-content{padding:58px 20px 78px}.home-page .hero h1{font-size:36px}.home-page .hero-content>p{font-size:16px;margin:26px auto 28px}.home-page .hero-actions{gap:12px}.home-page .hero-actions .button{min-width:0;width:100%;max-width:340px}
.home-page .split{grid-template-columns:minmax(0,1fr);gap:30px}.home-page .copy p{font-size:15px}.home-page .heat{padding-top:16px}.home-page .heat-media>video{width:min(100%,270px)}.home-page .service-copy{padding:44px 24px}.home-page .service-copy h2{font-size:29px}.home-page .closing{padding:50px 0}.home-page .closing p{font-size:15px}
.reviews-section{padding:52px 0}.reviews-heading{margin-bottom:26px}.reviews-heading h2{font-size:36px;max-width:340px;margin:auto}.review-stars{margin-top:18px;gap:9px}.review-stars svg{width:21px;height:21px}.reviews-heading>p{font-size:15px}
.review-track{gap:16px}.review-card{flex-basis:100%;padding:24px;min-height:290px}.review-card blockquote p{font-size:15px;line-height:1.8}.review-card figcaption{margin-top:24px;padding-top:16px}
.review-controls{gap:8px;margin-top:16px}.review-arrow{width:44px;height:44px;font-size:27px}.review-dots{flex:1;max-width:240px}.review-dot{width:15px}.review-dot:before{width:6px;height:6px}.review-dot[aria-current="true"]{width:27px}.review-dot[aria-current="true"]:before{width:22px;height:7px}
.leave-review{flex-direction:column;gap:12px;margin-top:24px;padding-top:24px}.leave-review .review-button{min-height:52px;width:auto;padding:14px 24px;font-size:14px}
}

/* Full customer quotations, preserved verbatim. */
.review-card blockquote p{white-space:pre-line}
.review-track{align-items:flex-start}

/* Expand complete verbatim reviews without oversized default cards. */
.review-card{min-height:330px;position:relative}
.review-card blockquote p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.review-card.expanded blockquote p{display:block;overflow:visible;-webkit-line-clamp:unset}
.review-expand{align-self:flex-start;display:inline-flex;align-items:center;gap:12px;padding:8px 0;margin-top:10px;min-height:44px;border:0;background:transparent;color:#73cef3;font-size:13px;font-weight:600;line-height:1.4}
.review-expand[hidden]{display:none}
.review-expand span{font-size:20px;line-height:1}
.review-expand[aria-expanded="true"] span{transform:rotate(180deg)}
.review-expand:hover{text-decoration:underline;text-underline-offset:4px}
.review-card figcaption{margin-top:auto;padding-top:18px}
.review-card blockquote{margin-bottom:16px}
.review-card.expanded figcaption{margin-top:18px}
@media(max-width:600px){.review-card{min-height:340px}.review-card blockquote p{-webkit-line-clamp:5}.review-card.expanded blockquote p{-webkit-line-clamp:unset}}

/* Service and homeowner guides */
.guide-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding-block:76px}.guide-hero h1{font-size:clamp(36px,4.4vw,58px);font-weight:700;letter-spacing:-.035em;margin:16px 0 24px}.guide-hero p{max-width:650px}.guide-lead{font-size:22px;line-height:1.5;margin-bottom:20px}.guide-hero .button{margin-top:26px}.guide-hero .fine{font-size:12px;color:#555;margin-top:14px}.guide-hero figure img{width:100%;height:420px;object-fit:cover;border-radius:8px}.guide-layout{display:grid;grid-template-columns:minmax(0,730px) minmax(200px,1fr);gap:64px;align-items:start;padding-bottom:80px}.guide-copy section{padding-block:30px;border-top:1px solid #e4e4e4}.guide-copy h2{font-size:clamp(26px,3vw,34px);margin-bottom:24px;letter-spacing:-.02em}.guide-copy p,.guide-copy li{color:#333;font-size:16px}.guide-copy ul,.guide-copy ol{padding-left:24px;margin-block:24px}.guide-copy li+li{margin-top:14px}.guide-copy a{color:#116f98;text-decoration:underline;text-underline-offset:4px}.reading-links{background:#f5f8f9;padding:26px;border-top:3px solid var(--blue);border-radius:0 0 6px 6px}.reading-links a{display:block;font-size:14px;line-height:1.6;padding-block:15px;border-bottom:1px solid #dfe5e8}.reading-links a:hover{text-decoration:underline}.reading-links a:last-child{border:0}.reading-links .eyebrow{font-size:11px}.footer-nav{display:flex;flex-direction:column;gap:12px}@media(max-width:760px){.guide-hero{grid-template-columns:1fr;gap:30px;padding-block:42px}.guide-hero figure img{height:280px}.guide-layout{grid-template-columns:1fr;gap:20px;padding-bottom:48px}.guide-lead{font-size:19px}.guide-copy section{padding-block:26px}}

.guide-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:10px}.guide-cards>a{display:flex;flex-direction:column;align-items:flex-start;background:#f5f8f9;border-top:3px solid var(--blue);padding:30px;border-radius:0 0 8px 8px}.guide-cards h2{font-size:26px;margin:18px 0}.guide-cards p{font-size:15px;color:#444}.guide-read{margin-top:auto;padding-top:28px;font-size:14px;font-weight:700;color:#116f98}.guide-cards>a:hover .guide-read{text-decoration:underline}@media(max-width:760px){.guide-cards{grid-template-columns:1fr}.guide-cards h2{font-size:25px}}

.project-stories{padding-top:0}.project-draft-note{font-size:13px;background:#f5f8f9;padding:16px 22px;border-left:3px solid var(--blue);margin-bottom:30px}.project-slots{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project-slot{border:1px solid #dfe5e8;border-radius:10px;overflow:hidden;background:white}.project-slot-heading{display:flex;justify-content:space-between;align-items:center;padding:22px;gap:15px}.project-slot h2{font-size:23px}.draft-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#555}.project-comparison{display:grid;grid-template-columns:1fr 1fr;gap:2px}.project-comparison figure{position:relative;margin:0;background:#f0f3f4;min-width:0}.project-comparison figure>span{position:absolute;top:12px;left:12px;padding:3px 8px;background:#fff;border-radius:3px;font-size:10px;font-weight:700}.project-comparison img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-photo-placeholder>div{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#60717a;padding-top:22px}.project-photo-placeholder>div>span{font-size:30px;color:#116f98}.project-photo-placeholder p{font-size:12px}.project-facts{margin:0;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.project-facts>div:last-child{grid-column:1/-1}.project-facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#555}.project-facts dd{margin:5px 0 0;font-size:14px}.project-video{margin:0 22px 22px;padding:18px;background:#f5f8f9;border-radius:6px}.project-video.placeholder{display:flex;gap:16px;align-items:center}.project-video>span{font-size:29px;color:#116f98}.project-video strong{font-size:13px}.project-video p{font-size:12px;color:#555;margin-top:4px}.project-video iframe{border:0;width:100%;min-height:520px;background:white}.project-video .button{font-size:11px}@media(max-width:760px){.project-slots{grid-template-columns:1fr}.project-slot-heading{padding:18px}.project-slot h2{font-size:21px}.project-facts{padding:18px}.project-video{margin:0 18px 18px}}

/* Clear navigation, readable actions and visible keyboard focus. */
#navigation a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
.header-inner{gap:18px}#navigation{gap:18px}#navigation a{white-space:nowrap}
.button.blue{background:#087ca8;color:#fff}.button.blue:hover{background:#076487}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #087ca8;outline-offset:5px}
.reading-links a,.footer-nav a{min-height:44px;display:flex;align-items:center}
@media(min-width:901px) and (max-width:1250px){.header-inner .phone{display:none}}
@media(max-width:900px){#navigation.open{max-height:calc(100dvh - 115px);overflow-y:auto}#navigation a{min-height:44px;display:flex;align-items:center}.header-inner{gap:12px}}
@media(max-width:600px){.header-inner>.button{min-height:44px;font-size:9px}.menu{min-width:44px;min-height:44px}.header-inner{gap:8px}}
