@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#203a3b;--teal:#3e5859;--coral:#d96e4d;--rose:#bba097;--paper:#f8f7f3;--line:#cdd0ca}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a4442a;outline-offset:6px}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:0}.topbar{background:var(--ink);color:white;padding:8px 5%;font-size:12px;letter-spacing:.14em;display:flex;justify-content:space-between}.topbar a{font-size:14px;letter-spacing:.08em}header{display:flex;justify-content:space-between;align-items:center;padding:25px 5%;gap:25px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}.brand{display:flex;gap:11px;align-items:center;line-height:1.06}.brand b{font-size:23px;letter-spacing:.03em}.brand span span{display:block;letter-spacing:.27em;font-size:17px;margin-top:4px}.brand-bars{display:flex;width:34px;height:42px;gap:2px;transform:skewY(-10deg)}.brand-bars i{flex:1;background:var(--coral)}.brand-bars i:nth-child(2){background:var(--rose)}.brand-bars i:nth-child(3){background:#95958f}.brand-bars i:nth-child(4){background:#597573}.brand-bars i:nth-child(5){background:#3e5859}nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}nav>a:not(.button):hover{color:#99422b}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:15px 24px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:4px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s;text-align:center}.button:hover{background:#395858;transform:translateY(-2px)}.button.small{min-height:46px;font-size:14px;padding:12px 17px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:4%;padding:65px 5% 75px;overflow:hidden;max-width:1600px;margin:auto}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;margin:0 0 25px;line-height:1.7}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;margin:0;font-weight:600}h1{font-size:clamp(64px,6.7vw,106px);letter-spacing:-.07em;line-height:.99}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}h1 em{color:#527372;line-height:1.1}.intro{max-width:410px;margin:27px 0;font-size:18px;line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:17px;align-items:center}.text-link{font-size:14px;border-bottom:1px solid #75817b}.hero-note{font-size:13px;margin-top:20px}.hero-art{align-self:center;padding:20px 3% 0;position:relative}.photo{background:#fff;padding:18px 18px 22px;box-shadow:0 18px 55px #223a3b20;transform:rotate(3deg);transition:transform .4s}.photo:hover{transform:rotate(1deg)}.image-window{overflow:hidden;background:#ebece7;aspect-ratio:1.25;position:relative}.image-window:after{content:'';position:absolute;inset:0;background:var(--paper);transform-origin:bottom;animation:unveil 1.3s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none}#house{width:100%;height:100%;object-fit:cover;transition:filter .7s ease}.photo-caption{display:flex;justify-content:space-between;gap:15px;font-family:Georgia,serif;font-size:19px;line-height:1.3;padding:24px 3px 10px}.photo-number{font-family:'DM Sans',sans-serif;font-size:12px;white-space:nowrap;padding-top:3px;color:#5a6867}.swatches{display:flex;gap:12px;padding:10px 4px}.swatches button{background:var(--swatch);width:37px;height:37px;border:4px solid white;box-shadow:0 0 0 1px #ddd;border-radius:50%;cursor:pointer;transition:transform .2s}.swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink);transform:scale(1.08)}.art-note{text-align:center;font-family:Georgia,serif;font-style:italic;margin-top:27px;font-size:17px}.art-note small{font-family:'DM Sans',sans-serif;font-style:normal;font-size:12px;color:#566564}.trust-strip{display:flex;justify-content:space-around;gap:20px;padding:25px 5%;border-block:1px solid var(--line);font-size:14px}.trust-strip b{font-size:13px;letter-spacing:.09em;margin-right:13px}.section{padding:90px 7%;max-width:1600px;margin:auto}h2{font-size:clamp(40px,4.4vw,68px);line-height:1.07;letter-spacing:-.05em}.section-heading{margin-bottom:45px;max-width:750px}.section-heading>p:last-child:not(.eyebrow){max-width:450px;margin:25px 0 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{padding:30px;min-height:345px;display:flex;flex-direction:column}.service-num{font-size:12px;letter-spacing:.12em;font-weight:700}.service h3{font-size:35px;letter-spacing:-.04em;line-height:1.13;margin-top:27px}.service p{font-size:15px;line-height:1.65;margin:18px 0 25px}.service-foot{font-size:13px;margin-top:auto;padding-top:15px;border-top:1px solid #203a3b44}.coral{background:#e6a28b}.teal{background:#597573;color:white}.teal .service-foot{border-color:#ffffff66}.rose{background:#d5c0b8}.neutral{background:#d7d7d0}.light{background:#e3e8e1}.service.brand-card{align-items:center;justify-content:center;background:#ffffff;color:var(--ink);text-align:center;padding:20px}.brand-card img{width:205px;height:220px;object-fit:contain}.brand-card p{font-family:Georgia,serif;font-size:18px;margin:10px}.promise{background:var(--ink);color:var(--paper);padding:85px 9%;display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:center}.promise p:not(.eyebrow){max-width:480px;margin:28px 0}.promise h2 em{color:#d4b3a6}.cream{background:var(--paper);color:var(--ink);border-color:var(--paper)}.cream:hover{background:#e1ded4}.warranty-mark{aspect-ratio:1;border:1px solid #96aaa5;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:370px;width:100%;justify-self:center;box-shadow:0 0 0 16px #ffffff04}.warranty-mark>span{font-size:12px;letter-spacing:.16em}.warranty-mark strong{font-family:Georgia,serif;font-weight:400;font-size:180px;line-height:1.1;color:#d8b7aa}.warranty-mark b{font-size:18px;letter-spacing:.12em;margin-bottom:10px}.steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.steps li{border-top:1px solid #879691;padding-top:24px}.steps li>span{font-family:Georgia,serif;font-size:35px;color:#91604e}.steps h3{font-size:22px;margin-top:22px}.steps p{font-size:15px}.reviews{background:#eee8e1;max-width:none}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.review{margin:0;background:#fff;padding:29px;box-shadow:0 8px 16px #203a3b0a;display:flex;flex-direction:column;transform:rotate(-1.4deg)}.review:nth-child(2){transform:rotate(1.5deg)}.review:nth-child(3){transform:rotate(-.8deg)}.stars{color:#486665;letter-spacing:4px;font-size:19px}.review blockquote{margin:25px 0 35px;font-family:Georgia,serif;font-size:22px;line-height:1.45}.review figcaption{margin-top:auto;border-top:1px solid #ddd;padding-top:17px}.review figcaption span{display:block;font-size:12px;margin-top:5px;color:#586360}.review-note{font-size:12px;margin:30px 0 0;color:#586360}.local{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;align-items:center}.local p:not(.eyebrow){max-width:480px}.towns{display:flex;flex-wrap:wrap;gap:10px}.towns span{padding:11px 18px;border:1px solid #abb6ae;border-radius:100px;font-size:15px}.faq{padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:9%}.faq h2{font-size:46px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{font-weight:600;cursor:pointer;list-style:none;padding-right:30px;position:relative}summary:after{content:'+';position:absolute;right:5px;font-size:24px;top:-5px}details[open] summary:after{content:'−'}details p{font-size:15px;margin-bottom:3px}.estimate{background:#d9bbae;padding:80px 9%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.estimate h2{font-size:clamp(44px,4.8vw,74px)}.contact-phone{font-family:'Manrope',sans-serif;font-size:clamp(25px,3vw,40px);letter-spacing:-.04em;display:block;margin-top:30px}.contact-card{padding:35px;background:var(--paper);border-radius:5px}.contact-card h3{font-size:29px}.contact-card .button{display:flex;width:100%;margin-top:12px}.outline{background:transparent;color:var(--ink)}.outline:hover{background:#e1e6de}.email{display:block;font-size:14px;text-align:center;text-decoration:underline;margin-top:25px;overflow-wrap:anywhere}.contact-tip{font-size:13px;color:#53625b;margin:22px 0 0}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:40px 5%;font-size:13px}footer p{margin:0}.mobile-contact{display:none}@keyframes unveil{to{transform:scaleY(0)}}@media(min-width:1600px){.promise,.estimate{padding-inline:calc((100vw - 1300px)/2)}.review-grid,.reviews .section-heading,.review-note{max-width:1320px;margin-left:auto;margin-right:auto}}@media(max-width:1050px){nav{gap:16px}nav>a:not(.button){display:none}.hero{gap:2%}.hero h1{font-size:76px}.hero .button{font-size:14px}.photo-caption{font-size:16px}.service{padding:24px}.service h3{font-size:30px}.trust-strip b{display:block}.steps{gap:20px}.review{padding:22px}.review blockquote{font-size:20px}.warranty-mark strong{font-size:140px}.faq h2{font-size:38px}.contact-card{padding:25px}}@media(max-width:700px){html{scroll-padding-top:20px}.topbar{font-size:10px;padding:8px 5%}.topbar a{font-size:12px}header{padding:19px 5%;gap:10px}.brand b{font-size:19px}.brand span span{font-size:14px}.brand-bars{width:25px;height:34px}.button.small{font-size:12px;padding:10px 12px;min-height:42px}nav{gap:0}.hero{grid-template-columns:1fr;padding:42px 6% 35px;gap:30px}.hero h1{font-size:clamp(65px,14vw,94px)}.eyebrow{font-size:11px;letter-spacing:.09em;margin-bottom:20px}.intro{font-size:17px;max-width:100%}.hero-art{padding:12px 4% 0;max-width:550px;width:100%;margin:auto}.image-window{aspect-ratio:1.45}.photo{padding:12px 12px 17px}.photo-caption{font-size:18px}.art-note{margin-bottom:0}.trust-strip{gap:12px;padding:22px 5%;font-size:11px;align-items:start;text-align:center}.trust-strip b{font-size:12px;margin:0 0 5px}.section{padding:60px 6%}.section-heading{margin-bottom:30px}h2{font-size:45px}.service-grid{grid-template-columns:1fr 1fr;gap:11px}.service{padding:22px 18px;min-height:335px}.service h3{font-size:29px}.service-num{font-size:10px}.service p{font-size:14px}.service-foot{font-size:12px}.brand-card img{max-width:100%;height:auto}.brand-card p{font-size:16px}.promise{grid-template-columns:1fr;padding:60px 7%;gap:45px}.warranty-mark{max-width:270px}.warranty-mark strong{font-size:140px}.warranty-mark>span{font-size:11px}.steps{grid-template-columns:1fr 1fr;gap:22px}.steps h3{font-size:21px;margin-top:12px}.steps p{font-size:14px}.review-grid{grid-template-columns:1fr;gap:22px}.review{padding:27px}.review blockquote{font-size:23px;margin:20px 0 25px}.local,.faq,.estimate{grid-template-columns:1fr;gap:28px}.local h2,.faq h2{font-size:42px}.faq{padding-top:0}.faq .section-heading{margin:0}.estimate{padding:60px 6%}.contact-card{padding:27px}.estimate>div>p{font-size:15px}footer{align-items:start;flex-wrap:wrap;padding:35px 6% 100px}footer .brand{width:100%}.mobile-contact{display:flex;position:fixed;bottom:0;inset-inline:0;background:var(--ink);color:white;z-index:20;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{padding:16px;text-align:center;font-size:14px;flex:1}.mobile-contact a:last-child{background:#d9bbae;color:var(--ink);flex:2}.hero-note{font-size:12px}}@media(max-width:380px){.service-grid{grid-template-columns:1fr}.service{min-height:290px}.topbar{letter-spacing:.04em}.brand-bars{display:none}.hero h1{font-size:62px}.steps{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.image-window:after{display:none}}
