@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600&family=DM+Sans:wght@300;400;500;600;700&display=swap');
:root{--paper:#fdfdf7;--ink:#080808;--blue:#0096f7;--orange:#ff4000;--sand:#f5f2de;--line:#d9d8d0;--muted:#595b57;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:#b9e4ff}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:0 clamp(20px,5vw,90px);background:var(--paper);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;min-width:240px;font-size:20px;font-weight:600;letter-spacing:-.045em;line-height:1}.brand img{width:51px;height:51px;object-fit:contain}.brand i{font-style:normal;font-weight:300}.brand small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.25em;margin-top:6px;font-weight:500}.desktop-nav{display:flex;gap:34px;font-size:13px}.desktop-nav a:hover,.text-link:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:49px;padding:12px 19px;border-radius:12px;font-weight:600;font-size:13px;transition:transform .2s ease,background .2s ease,color .2s ease}.button:hover{transform:translateY(-3px)}.button span{font-size:18px;font-weight:300}.button-blue{background:var(--blue);color:white;border:1px solid var(--blue)}.button-blue:hover{background:#047ecb}.button-outline{border:1px solid var(--ink);background:transparent}.button-outline:hover{background:var(--ink);color:white}.menu-toggle{display:none;border:0;background:transparent;font-size:25px}.mobile-nav{position:absolute;top:119px;left:0;right:0;z-index:25;background:var(--paper);padding:18px 24px 26px;box-shadow:0 20px 40px #0002}.mobile-nav:not([hidden]){display:grid;gap:16px}.mobile-nav a{padding:8px 0;border-bottom:1px solid var(--line)}
.hero{display:grid;grid-template-columns:50% 50%;min-height:min(760px,calc(100vh - 88px));background:var(--paper)}.hero-copy{padding:clamp(50px,6vw,110px) clamp(22px,5vw,90px) 42px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:11px!important;font-weight:700!important;letter-spacing:.18em!important;line-height:1.3!important;text-transform:uppercase;color:#444;margin:0 0 26px!important}.dot{display:inline-block;background:var(--orange);width:8px;height:8px;border-radius:50%;margin-right:10px}.hero h1{font-weight:300;font-size:clamp(60px,7.5vw,120px);line-height:.99;letter-spacing:-.085em;margin:0 0 34px;max-width:720px}.hero h1 em{font-style:normal;color:#343a33}.hero-copy>p{max-width:485px;font-size:18px;line-height:1.55;color:#484a46;margin:0 0 31px}.hero-actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap}.text-link{display:inline-flex;gap:15px;align-items:center;font-weight:600;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:7px;transition:color .2s}.hero-meta{display:flex;gap:30px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#686962;margin-top:auto;padding-top:54px}.hero-meta span+span:before{content:'●';color:var(--orange);font-size:7px;margin-right:30px}.hero-image{position:relative;overflow:hidden;background:#c7cfc1;min-height:620px}.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008)}.image-caption{position:absolute;z-index:2;left:34px;right:34px;bottom:28px;display:flex;justify-content:space-between;color:white;font-size:11px;letter-spacing:.11em;text-transform:uppercase}
.intro-band{padding:100px max(7vw,24px) 110px;display:grid;grid-template-columns:1fr 3fr auto;gap:28px;align-items:start;background:#e9e7df}.intro-band>p{font-size:11px;letter-spacing:.18em;font-weight:700;margin:13px 0 0}.intro-band h2{font-size:clamp(33px,4.2vw,64px);font-weight:300;line-height:1.12;letter-spacing:-.06em;max-width:900px;margin:0}.intro-band>span{font-size:34px;font-weight:300}.section{padding:110px clamp(24px,6vw,96px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:48px}.section-heading h2,.about h2,.estimate h2{font-size:clamp(42px,5.5vw,80px);font-weight:300;line-height:1.03;letter-spacing:-.067em;margin:0}.section-heading>p{font-size:15px;color:var(--muted);line-height:1.55;max-width:340px;margin:0 0 4px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{position:relative;border-radius:13px;overflow:hidden;aspect-ratio:.75;background:#333;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:21px;min-height:370px}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s;z-index:0}.service-card:hover img{transform:scale(1.06)}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(#0004,transparent 40%,#000b);z-index:1}.service-card>*:not(img){position:relative;z-index:2}.service-card .index{font-size:12px;letter-spacing:.12em}.service-card h3{font-size:28px;font-weight:400;letter-spacing:-.04em;margin:0 0 10px}.service-card p{font-size:13px;line-height:1.45;max-width:270px;margin:0}.service-card .arrow{position:absolute;top:17px;right:19px;font-size:24px}
.featured-work{background:var(--sand);padding:110px clamp(24px,6vw,96px)}.project-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}.project-card{position:relative;overflow:hidden;border-radius:13px;background:#d9ddd5;min-height:330px}.project-card:first-child{grid-row:span 2;min-height:680px}.project-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s}.project-card:hover img{transform:scale(1.05)}.project-card:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0009)}.project-card div{position:absolute;bottom:22px;left:23px;right:22px;z-index:1;color:white}.project-card p{font-size:10px;letter-spacing:.17em;text-transform:uppercase;margin:0 0 7px}.project-card h3{font-size:22px;font-weight:400;letter-spacing:-.04em;margin:0}.before-after{display:grid;grid-template-columns:.75fr 1.25fr;gap:45px;margin-top:110px;align-items:center}.before-after-copy h3{font-size:clamp(42px,4.5vw,69px);line-height:1.04;font-weight:300;letter-spacing:-.065em;margin:0 0 22px}.before-after-copy>p:not(.eyebrow){max-width:340px;color:var(--muted);line-height:1.6;margin-bottom:30px}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:8px}.comparison>div{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1.1}.comparison img{width:100%;height:100%;object-fit:cover}.comparison span{position:absolute;bottom:15px;left:15px;background:var(--paper);font-size:10px;font-weight:700;letter-spacing:.14em;padding:9px 11px;border-radius:5px}
.about{display:grid;grid-template-columns:1fr 1fr;min-height:670px}.about-image{position:relative;background:#d1d8c8;min-height:620px}.about-image img{position:absolute;width:100%;height:100%;object-fit:cover}.about-image span{position:absolute;bottom:28px;left:30px;color:white;font-size:11px;letter-spacing:.17em;font-weight:700;text-shadow:0 2px 10px #000}.about-copy{padding:clamp(56px,7vw,110px) clamp(28px,6vw,100px);display:flex;align-items:flex-start;flex-direction:column}.about-copy>p:not(.eyebrow){max-width:480px;font-size:16px;line-height:1.65;color:var(--muted);margin:30px 0 35px}.about-points{width:100%;max-width:510px;margin-bottom:38px}.about-points div{border-top:1px solid var(--line);display:flex;gap:28px;padding:14px 0;font-size:14px}.about-points div:last-child{border-bottom:1px solid var(--line)}.about-points b{font-size:11px;color:var(--blue)}.reviews{background:var(--paper)}.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.review-card{background:#f5f3eb;border-radius:14px;padding:27px;min-height:270px;display:flex;flex-direction:column}.review-card .stars{color:var(--orange);letter-spacing:.14em;font-size:10px;font-weight:700}.review-card blockquote{font-size:18px;line-height:1.35;letter-spacing:-.025em;margin:25px 0;flex:1}.review-card a{font-size:12px;color:#555;border-top:1px solid #d6d2c8;padding-top:15px}.review-card a:hover{color:var(--blue)}
.estimate{background:#070a08;color:white;padding:110px clamp(24px,6vw,96px);display:grid;grid-template-columns:1fr 1fr;gap:10vw}.estimate .eyebrow{color:#aab7ad}.estimate-copy>p:not(.eyebrow){max-width:410px;color:#b6beb8;font-size:16px;line-height:1.6;margin:27px 0 45px}.contact-lines{display:grid;gap:15px}.contact-lines a{font-size:16px;border-bottom:1px solid #525a54;padding-bottom:11px;width:max-content;max-width:100%;overflow-wrap:anywhere}.contact-lines a:hover{color:var(--blue)}.estimate-form{background:var(--paper);color:var(--ink);border-radius:15px;padding:33px;display:grid;gap:14px}.estimate-form h3{font-size:26px;letter-spacing:-.04em;font-weight:400;margin:0 0 8px}.estimate-form label{display:grid;gap:6px;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.1em}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;border:1px solid #d8d8d0;border-radius:9px;background:white;padding:11px 12px;font-size:13px;color:#111;outline:none;resize:vertical}.estimate-form input:focus,.estimate-form textarea:focus,.estimate-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0096f71e}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.estimate-form .button{margin-top:3px;width:100%}.estimate-form small{color:#777;font-size:11px}.form-message{font-size:13px;margin:0;color:#146944}
footer{background:#111511;color:#f8f9f4;padding:60px clamp(24px,6vw,96px) 25px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px;align-items:start}.footer-brand{display:flex;align-items:center;gap:13px;font-size:23px;line-height:1.05;letter-spacing:-.05em}.footer-brand img{width:75px}.footer-main>p{color:#aab1aa;font-size:13px;max-width:220px;line-height:1.6}.footer-main>div:last-child{display:grid;gap:11px;font-size:13px}.footer-main a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid #374037;margin-top:60px;padding-top:20px;display:flex;justify-content:space-between;color:#a8afa8;font-size:11px}.footer-bottom a{text-decoration:underline}
@media(max-width:1100px){.desktop-nav{gap:17px}.service-grid,.review-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr 1fr}.project-card:first-child{grid-row:span 1;min-height:330px}.hero h1{font-size:clamp(57px,7vw,95px)}}
@media(max-width:740px){.site-header{height:72px;padding:0 20px}.brand{min-width:0;font-size:18px}.brand img{width:44px;height:44px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.mobile-nav{top:103px}.hero{grid-template-columns:1fr}.hero-copy{min-height:560px;padding:60px 23px 26px}.hero h1{font-size:clamp(55px,12vw,82px)}.hero-image{min-height:420px}.hero-meta{padding-top:50px}.intro-band{grid-template-columns:1fr;padding:70px 24px}.intro-band h2{font-size:42px}.intro-band>span{display:none}.section,.featured-work{padding:78px 23px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:22px}.service-grid,.review-grid{grid-template-columns:1fr 1fr}.service-card{min-height:320px}.project-grid{grid-template-columns:1fr 1fr}.project-card,.project-card:first-child{min-height:260px}.before-after{grid-template-columns:1fr;gap:28px;margin-top:75px}.about{grid-template-columns:1fr}.about-image{min-height:480px}.about-copy{padding:70px 24px}.estimate{grid-template-columns:1fr;gap:40px;padding:80px 24px}.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:530px){.hero h1{font-size:56px}.hero-copy>p{font-size:16px}.hero-actions{gap:22px}.service-grid,.review-grid,.project-grid{grid-template-columns:1fr}.service-card{aspect-ratio:1.1;min-height:290px}.project-card,.project-card:first-child{min-height:320px}.review-card{min-height:200px}.form-row{grid-template-columns:1fr}.estimate-form{padding:23px}.comparison>div{aspect-ratio:.75}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{gap:15px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Details carried over from the earlier concept, tuned to the Samara palette. */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--blue);z-index:100;pointer-events:none}
body{overflow-x:clip}
.site-header{height:126px}
.brand{min-width:350px;gap:17px;font-size:31px}
.brand img{width:94px;height:94px;flex:none}
.brand small{font-size:12px;letter-spacing:.27em;margin-top:10px}
@media(max-width:1100px){.brand{min-width:290px;font-size:26px}.brand img{width:80px;height:80px}}
@media(max-width:740px){.site-header{height:108px}.brand{min-width:0;gap:13px;font-size:28px}.brand img{width:82px;height:82px}.brand small{font-size:11px;letter-spacing:.23em;margin-top:7px}.mobile-nav{top:139px}}
@media(max-width:380px){.site-header{padding:0 14px}.brand{gap:9px;font-size:21px}.brand img{width:64px;height:64px}.brand small{font-size:9px}}
.hero-image>img{animation:hero-settle 7s ease-out both}
@keyframes hero-settle{from{transform:scale(1.08)}to{transform:scale(1)}}
.service-signal{overflow:hidden;background:var(--blue);color:white;padding:13px 0;transform:rotate(-.45deg) scale(1.01);position:relative;z-index:1}
.signal-track{display:flex;width:max-content;animation:signal-move 24s linear infinite}
.signal-track span{white-space:nowrap;font-size:clamp(17px,2vw,28px);font-weight:600;letter-spacing:-.04em;text-transform:uppercase;padding-right:28px}
.signal-track i{font-style:normal;color:var(--orange);margin:0 20px}
@keyframes signal-move{to{transform:translateX(-50%)}}
.intro-band{grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:clamp(30px,6vw,90px);background:#e9e7df;overflow:hidden}
.intro-side{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:45px}
.intro-side>p{font-size:11px;letter-spacing:.18em;font-weight:700;line-height:1.5;max-width:170px;margin:11px 0 0}
.intro-emblem{width:clamp(130px,16vw,225px);aspect-ratio:1;position:relative;display:grid;place-items:center}
.intro-emblem:before{content:'';position:absolute;inset:-8px;border:1px solid #0096f75c;border-radius:50%;animation:emblem-pulse 2.4s ease-out infinite}
.intro-emblem img{width:100%;height:100%;object-fit:contain;animation:emblem-turn 24s linear infinite;filter:drop-shadow(0 12px 16px #0002)}
@keyframes emblem-turn{to{transform:rotate(360deg)}}
@keyframes emblem-pulse{to{transform:scale(1.13);opacity:0}}
.intro-band h2{max-width:1100px;font-size:clamp(44px,5.5vw,86px)}
.intro-band h2 em{color:var(--blue);font-style:normal}
.intro-details{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:45px;padding-top:24px;border-top:1px solid #aaa9a1}
.intro-details p{font-size:15px;line-height:1.6;color:#464943;margin:0;max-width:390px}
.service-grid{perspective:1100px}
.service-card{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;transform-style:preserve-3d;transition:transform .18s ease,box-shadow .25s ease}
.service-card:before{content:'';position:absolute;inset:0;z-index:2;background:radial-gradient(circle at var(--mx) var(--my),#0096f750,transparent 48%);opacity:0;transition:opacity .2s;pointer-events:none}
.service-card:hover:before{opacity:1}
.service-card:hover .arrow{transform:translate(3px,-3px)}
.service-card .arrow{transition:transform .2s}
@media(hover:hover) and (pointer:fine){.service-card.is-active{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-8px);box-shadow:0 20px 40px #0003}}
.compare{position:relative;aspect-ratio:1.55;overflow:hidden;border-radius:13px;background:#c5c5bd;box-shadow:15px 15px 0 var(--blue)}
.compare>img,.after-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.after-wrap{position:absolute;inset:0;clip-path:inset(0 0 0 50%)}
.compare-line{position:absolute;left:50%;top:0;bottom:0;width:3px;background:white;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 6px #0004}
.compare-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;border-radius:50%;background:var(--blue);color:white;display:grid;place-items:center;font-size:25px;box-shadow:0 8px 24px #0004;pointer-events:none}
.compare-label{position:absolute;top:18px;padding:9px 12px;background:var(--paper);border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.14em;pointer-events:none}
.compare-label.before{left:18px}.compare-label.after{right:18px;background:var(--orange);color:white}
.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}
.compare input:focus-visible{opacity:1;height:5px;top:auto;bottom:0;accent-color:var(--blue)}
.compare-note{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:18px;font-size:10px;letter-spacing:.15em;font-weight:700}
.compare-note b{color:var(--blue)}
.about-copy h2{font-size:clamp(43px,4.5vw,70px);max-width:670px}
.about-copy h2 em{font-style:normal;color:var(--blue)}
.about-copy #about-text{margin:25px 0 0}
.about-copy .about-followup{margin:13px 0 30px!important}
.about-points div{display:grid;grid-template-columns:95px 1fr;gap:16px;align-items:start}
.about-points b{font-size:13px;letter-spacing:-.02em;color:var(--ink)}
.about-points span{line-height:1.45}
.coverage{text-align:center;background:#e9e7df;padding:110px 24px 120px}
.coverage .eyebrow{color:#575b55}
.coverage h2{font-size:clamp(56px,9vw,136px);line-height:.91;letter-spacing:-.08em;font-weight:300;margin:0 0 36px}
.coverage h2 em{color:var(--blue);font-style:normal}
.states{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.states span{border:1px solid var(--ink);border-radius:999px;padding:13px 22px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;transition:background .2s,color .2s,transform .2s}.states span:hover{background:var(--ink);color:white;transform:translateY(-3px)}
.motion-ready .reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal.in{opacity:1;transform:none}
@media(max-width:740px){.intro-band{grid-template-columns:1fr;gap:30px}.intro-side{flex-direction:row;align-items:center}.intro-emblem{width:120px;flex:none}.intro-band h2{font-size:clamp(44px,9vw,65px)}.intro-details{margin-top:30px}.compare{aspect-ratio:1.3}.coverage{padding:85px 22px}}
@media(max-width:530px){.intro-side{align-items:flex-start}.intro-details{grid-template-columns:1fr;gap:14px}.compare{aspect-ratio:1}.compare-handle{width:52px;height:52px}.compare-note{line-height:1.5}}
@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.hero-image>img,.signal-track,.intro-emblem:before,.intro-emblem img{animation:none!important}.motion-ready .reveal{opacity:1;transform:none}}

/* The1-style rotating word belongs to the services introduction. */
.services{overflow:hidden}
.services .section-heading{display:block;margin-bottom:52px}
.services .section-heading h2{--service-title-size:clamp(84px,11vw,166px);width:100%;max-width:none;font-family:'DM Sans',Arial,sans-serif;font-size:var(--service-title-size);font-weight:400;line-height:.83;letter-spacing:-.09em}
.services .service-heading-static{display:block;text-align:right}
.services .rotating-service{display:block;height:var(--service-title-size);white-space:nowrap;text-align:left;transition:opacity .24s ease,transform .24s ease}
.services .rotating-service.long-word{font-size:.76em;line-height:1.08;letter-spacing:-.075em}
.services .rotating-service.is-changing{opacity:0;transform:perspective(700px) rotateX(-40deg) translateY(.12em)}
.services .section-heading>p{max-width:360px;margin:28px 0 0 auto}
.services .section-heading>div{position:relative}
.service-spotlight{position:absolute;top:34px;left:clamp(36px,10vw,170px);width:min(30vw,440px);aspect-ratio:1.9;margin:0;border-radius:28px;overflow:hidden;background:#d9ded2;box-shadow:12px 12px 0 #0096f72b;transform:rotate(-2deg)}
.service-spotlight:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#101810a6);pointer-events:none}
.service-spotlight img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s ease}
.service-spotlight figcaption{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;color:white;display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.13em;font-weight:700}
@media(min-width:531px) and (max-width:900px){.service-spotlight{aspect-ratio:2.1}.service-spotlight figcaption{left:12px;right:12px;bottom:11px;justify-content:flex-end;font-size:10px}.service-spotlight figcaption span:first-child{display:none}}
@media(max-width:530px){.service-spotlight{display:none}}
@media(max-width:740px){.services .section-heading h2{--service-title-size:clamp(68px,13vw,104px)}.services .section-heading>p{margin:22px 0 0 auto}}
@media(max-width:530px){.services .section-heading h2{--service-title-size:clamp(52px,13.5vw,70px)}.services .section-heading{margin-bottom:36px}}
@media(prefers-reduced-motion:reduce){.services .rotating-service{transition:none}}

/* MindMarket-inspired page rhythm: one warm canvas, soft inset sections, and recurring rounded shapes. */
:root{--flow-paper:#f5f1e4;--flow-white:#fff;--flow-ink:#2c2e2a;--flow-pale-blue:#e0f1fb}
body{background:var(--flow-paper);color:var(--flow-ink)}
.site-header{height:112px;width:calc(100% - clamp(32px,5vw,80px));margin:22px auto 20px;padding:0 clamp(22px,3vw,45px);border-radius:60px;background:var(--flow-white)}
.brand{min-width:300px;font-size:28px}.brand img{width:82px;height:82px}
.button{border-radius:999px}.button:hover{transform:translateY(-2px)}
.button-blue{background:var(--blue)}
.hero{margin:0 clamp(16px,2.5vw,40px);border-radius:48px;overflow:hidden;background:var(--flow-white)}
.hero-copy{background:#e7eee4}.hero-image{min-height:610px}
.service-signal{margin:20px clamp(16px,2.5vw,40px) 0;border-radius:999px;transform:none;padding:13px 0}
.intro-band{background:transparent;padding-top:115px;padding-bottom:115px}
.section{padding-top:100px;padding-bottom:100px}
.services{background:transparent}.services .section-heading{margin-bottom:48px}
.service-grid{gap:18px}.service-card{border-radius:36px}
.featured-work{margin:18px clamp(16px,2.5vw,40px);padding:95px clamp(24px,5vw,80px);background:var(--flow-white);border-radius:50px}
.project-grid{gap:18px}.project-card{border-radius:34px}.project-card:first-child{border-radius:34px}
.before-after{margin-top:95px}.compare{border-radius:34px;box-shadow:14px 14px 0 #0096f72d}
.about{margin:18px clamp(16px,2.5vw,40px);border-radius:50px;overflow:hidden;background:var(--flow-white)}
.about-copy{background:var(--flow-white)}
.coverage{margin:18px clamp(16px,2.5vw,40px);padding:105px 24px;background:var(--flow-pale-blue);border-radius:50px}
.states span{background:var(--flow-white);border:0;padding:14px 23px}
.reviews{background:transparent}.review-grid{gap:18px}.review-card{background:var(--flow-white);border-radius:34px}
.estimate{margin:18px clamp(16px,2.5vw,40px);border-radius:50px;overflow:hidden}.estimate-form{border-radius:34px}
footer{position:relative;margin:18px clamp(16px,2.5vw,40px) 0;padding:48px clamp(26px,4vw,62px) 24px;border-radius:50px 50px 0 0;background:#0a120e;color:#f8f9f4;overflow:hidden}footer:before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--blue) 0 68%,var(--orange) 68%)}.footer-main{grid-template-columns:1.25fr 1.35fr .8fr .55fr;gap:34px;align-items:start}.footer-brand{font-size:24px}.footer-brand img{width:78px;height:78px}.footer-contact{display:grid;gap:9px}.footer-contact small{margin-bottom:3px;color:#8f9a93;font-size:9px;font-weight:800;letter-spacing:.16em}.footer-contact a{width:max-content;max-width:100%;font-size:14px;overflow-wrap:anywhere}.footer-main>p{color:#aab5ad;font-size:13px}.footer-links{font-size:14px!important;gap:12px!important}.footer-links a{width:max-content}.footer-main a:hover{color:var(--blue)}.facebook-link{display:flex;align-items:center;gap:9px;margin-top:4px}.facebook-link svg{width:28px;height:28px;padding:6px;border-radius:50%;background:var(--blue);fill:white}.footer-bottom{border-color:#ffffff2b;color:#8f9a93;margin-top:38px;padding-top:18px}.footer-bottom a{color:#b8c1bb}
.mobile-nav{top:134px;left:clamp(16px,2.5vw,40px);right:clamp(16px,2.5vw,40px);border-radius:25px}
@media(max-width:1100px){.brand{min-width:260px;font-size:24px}.brand img{width:72px;height:72px}}
@media(max-width:740px){.site-header{height:100px;width:calc(100% - 32px);margin:16px auto;padding:0 20px}.brand{min-width:0;font-size:23px}.brand img{width:68px;height:68px}.mobile-nav{top:116px;left:16px;right:16px}.hero{margin:0 16px;border-radius:34px}.hero-copy{min-height:540px}.hero-image{min-height:410px}.service-signal{margin:16px 16px 0}.intro-band{padding-top:80px;padding-bottom:80px}.section{padding-top:80px;padding-bottom:80px}.featured-work{margin:16px;padding:72px 23px;border-radius:34px}.about{margin:16px;border-radius:34px}.coverage{margin:16px;border-radius:34px;padding:80px 20px}.review-card{border-radius:28px}.estimate{margin:16px;border-radius:34px}.estimate-form{border-radius:28px}}
@media(max-width:530px){.site-header{height:86px;padding:0 16px}.brand{font-size:21px;gap:9px}.brand img{width:60px;height:60px}.brand small{font-size:9px}.mobile-nav{top:102px}.hero{border-radius:26px}.hero-copy{min-height:520px;padding:54px 22px 24px}.hero-image{min-height:340px}.hero-meta{display:none}.service-card{border-radius:26px}.project-card,.project-card:first-child{border-radius:26px}.featured-work,.about,.coverage,.estimate{border-radius:28px}.compare{border-radius:25px;box-shadow:8px 8px 0 #0096f72d}.review-card{border-radius:26px}.estimate-form{border-radius:24px}}

/* Layered, circular testimonial carousel. */
.reviews{overflow:hidden}
.reviews .section-heading{margin-bottom:22px}
.review-grid{--review-shift:clamp(320px,32vw,480px);--review-back-shift:clamp(190px,20vw,300px);display:block;position:relative;height:485px;overflow:hidden;isolation:isolate;outline-offset:5px}
.review-card{position:absolute;left:50%;top:50%;width:min(440px,74vw);height:430px;min-height:0;padding:22px;background:var(--flow-white);border:1px solid #e8e4db;border-radius:42px;box-shadow:0 16px 42px #00000012;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .4s ease,filter .4s ease}
.review-card[data-position="center"]{z-index:4;opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.review-card[data-position="prev"]{z-index:2;opacity:1;pointer-events:auto;cursor:pointer;transform:translate(calc(-50% - var(--review-shift)),-50%) scale(.86)}
.review-card[data-position="next"]{z-index:2;opacity:1;pointer-events:auto;cursor:pointer;transform:translate(calc(-50% + var(--review-shift)),-50%) scale(.86)}
.review-card[data-position="prev"]>*,.review-card[data-position="next"]>*{pointer-events:none}
.review-card[data-position="far-prev"],.review-card[data-position="far-next"]{z-index:1;opacity:1;pointer-events:none}
.review-card[data-position="far-prev"]{transform:translate(calc(-50% - var(--review-back-shift)),calc(-50% - 80px)) scale(.75) rotate(-3deg)}
.review-card[data-position="far-next"]{transform:translate(calc(-50% + var(--review-back-shift)),calc(-50% - 80px)) scale(.75) rotate(3deg)}
.review-card[data-position="rear"]{z-index:0;opacity:0;transform:translate(-50%,calc(-50% - 135px)) scale(.58)}
.review-card .review-kicker,.review-card blockquote,.review-card h3,.review-card .review-source{transition:opacity .3s ease}
.review-card[data-position="far-prev"] .review-kicker,.review-card[data-position="far-prev"] blockquote,.review-card[data-position="far-prev"] h3,.review-card[data-position="far-prev"] .review-source,.review-card[data-position="far-next"] .review-kicker,.review-card[data-position="far-next"] blockquote,.review-card[data-position="far-next"] h3,.review-card[data-position="far-next"] .review-source{opacity:0}
.review-art{height:128px;min-height:128px;border-radius:23px;background:#fbf5ed;position:relative;overflow:hidden}
.review-quote-mark{position:absolute;left:51%;top:-3px;transform:translateX(-50%);color:var(--blue);font-family:Georgia,serif;font-size:155px;line-height:1}
.review-art-dot{position:absolute;width:44px;height:44px;border-radius:50%;background:var(--orange);left:22%;top:45px}
.review-art-spark{position:absolute;right:21%;top:32px;color:var(--orange);font-size:37px}
.review-kicker{font-size:10px;font-weight:700;letter-spacing:.16em;color:#6e716a;margin-top:18px}
.review-card blockquote{display:flex;align-items:center;font-size:21px;line-height:1.3;letter-spacing:-.025em;margin:12px 0 16px;flex:1;color:#252823}
.review-card h3{font-size:15px;line-height:1.2;margin:0 0 15px;font-weight:700}
.review-card .review-source{display:block;width:100%;padding:13px 18px;border:0;border-radius:999px;background:var(--blue);color:white;text-align:center;font-size:12px;font-weight:700;transition:background .2s}
.review-card .review-source:hover{background:#047ecb;color:white}
.review-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin:8px 0 0}
.review-controls button{width:50px;height:50px;border:1px solid #d5d2ca;border-radius:50%;background:white;color:var(--flow-ink);font-size:21px;transition:background .2s,color .2s,transform .2s}
.review-controls button:hover:not(:disabled){background:var(--blue);color:white;transform:translateY(-2px)}
.review-controls button:disabled{opacity:.35;cursor:default}
.review-controls span{font-size:12px;font-weight:700;letter-spacing:.16em;min-width:62px;text-align:center}
@media(max-width:740px){.review-grid{--review-shift:clamp(280px,50vw,320px);height:470px}.review-card{width:min(410px,74vw);height:420px;padding:20px;border-radius:34px}.review-card[data-position="far-prev"],.review-card[data-position="far-next"],.review-card[data-position="rear"]{opacity:0;pointer-events:none}.review-art{height:120px;min-height:120px}.review-card blockquote{font-size:18px}.review-card h3{font-size:14px}}
@media(max-width:530px){.reviews .section-heading{margin-bottom:18px}.review-grid{--review-shift:230px;height:450px;margin:0 -23px}.review-card{width:min(305px,80vw);height:412px;padding:17px;border-radius:30px}.review-art{height:108px;min-height:108px;border-radius:18px}.review-quote-mark{font-size:130px;top:-2px}.review-art-dot{width:35px;height:35px;top:39px}.review-art-spark{font-size:29px}.review-kicker{margin-top:13px}.review-card blockquote{font-size:18px;margin:9px 0 12px}.review-card h3{margin-bottom:12px}.review-card .review-source{padding:11px 14px}.review-controls{margin-top:0}}
@media(prefers-reduced-motion:reduce){.review-card{transition:none}.review-controls button{transition:none}}
@media(min-width:741px){.footer-bottom{padding-right:190px}}
@media(max-width:740px){footer{margin:16px 16px 0;padding:44px 24px 24px;border-radius:34px 34px 0 0}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1;font-size:24px}.footer-brand img{width:72px;height:72px}.footer-links{grid-column:1/-1;grid-template-columns:repeat(3,max-content);display:grid!important;gap:13px 24px!important}.footer-bottom{padding-bottom:68px}}
@media(max-width:530px){footer{border-radius:28px 28px 0 0;padding-top:40px}.footer-main{grid-template-columns:1fr;gap:26px}.footer-brand{grid-column:auto}.footer-links{grid-column:auto;grid-template-columns:1fr 1fr}.footer-bottom{display:grid;gap:12px}.footer-contact a{font-size:13px}}
