:root{--paper:#fcfaf6;--ink:#282d28;--muted:#5d655c;--oak:#c8ab84;--green:#344b3d;--line:#deded4;--tint:#f0efe7;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}p{margin:0 0 1.25rem}h1,h2,h3{letter-spacing:-.035em;margin:0 0 1.25rem;font-weight:400;line-height:1.08}h1,h2{font-family:var(--serif)}h1{font-size:clamp(3.3rem,6.2vw,6.5rem)}h2{font-size:clamp(2.4rem,4vw,4.3rem)}h3{letter-spacing:-.02em;font-size:1.5rem}em{color:var(--green);font-weight:400}img{width:100%;height:auto;display:block}figure{margin:0}figcaption{color:var(--muted);justify-content:space-between;gap:1rem;padding:.7rem 0;font-size:.75rem;display:flex}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:5px;outline:3px solid #985a24}button{cursor:pointer}[hidden]{display:none!important}.shell{width:min(1280px,100% - 96px);margin:auto}.section{padding-top:100px;padding-bottom:100px}.eyebrow{letter-spacing:.17em;margin-bottom:1.6rem;font-size:.7rem;font-weight:700;line-height:1.6}.lede{max-width:630px;color:var(--muted);font-size:1.2rem;line-height:1.65}.fine{color:var(--muted);margin-top:1.25rem;font-size:.8rem}.skip{z-index:100;background:#fff;padding:12px;position:fixed;top:-100px;left:12px}.skip:focus{top:12px}.demo-bar{background:var(--green);color:#fff;letter-spacing:.13em;text-align:center;padding:9px 24px;font-size:.62rem}.demo-bar span{letter-spacing:.02em;opacity:.95;margin-left:18px}.header{justify-content:space-between;align-items:center;gap:25px;padding-top:27px;padding-bottom:27px;display:flex}.brand{font-family:var(--serif);white-space:nowrap;align-items:center;gap:12px;font-size:1.6rem;line-height:1.1;display:flex}.brand small{font-family:var(--sans);letter-spacing:.2em;margin-top:9px;font-size:.5rem;display:block}.brand-icon{color:var(--green);font-family:var(--serif);letter-spacing:-.12em;margin-right:8px;font-size:2.4rem;transform:skew(-10deg)}.header nav{align-items:center;gap:27px;font-size:.78rem;display:flex}.header nav a[aria-current]{text-underline-offset:7px;text-decoration:underline}.button{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:2px;justify-content:center;align-items:center;gap:24px;padding:16px 23px;font-size:.82rem;font-weight:600;line-height:1.5;transition:background .2s;display:inline-flex}.button:hover{background:#223529}.button.small{padding:12px 18px}.button.light{background:var(--paper);color:var(--green);border-color:var(--paper)}.button.light:hover{background:#e9e3d8}.text-link{border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:.85rem;display:inline-block}.text-link:hover{color:var(--green)}.menu-button{display:none}.hero{grid-template-columns:.85fr 1.15fr;align-items:center;gap:50px;padding:40px 0 65px;display:grid}.hero-copy{padding:16px 0}.hero-copy .lede{max-width:360px;font-size:1.05rem}.hero h1{margin-bottom:1.8rem;font-size:clamp(3.5rem,6.6vw,6.9rem)}.actions{flex-direction:column;align-items:flex-start;gap:20px;margin-top:30px;display:flex}.hero-image{position:relative}.hero-image img{aspect-ratio:4/4.6;object-fit:cover}.hero-stamp{background:var(--paper);font-family:var(--serif);padding:22px 28px;font-size:1.15rem;font-style:italic;line-height:1.4;position:absolute;bottom:70px;left:-25px}.strip{border-block:1px solid var(--line)}.strip .shell{color:var(--muted);justify-content:space-between;gap:20px;padding-block:22px;font-size:.75rem;display:flex}.split{grid-template-columns:1fr 1.15fr;gap:80px;display:grid}.intro>div{max-width:660px}.intro p:not(.eyebrow){max-width:610px}.tinted{background:var(--tint)}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px;display:flex}.section-heading h2{margin:0}.service-grid{grid-template-columns:repeat(4,1fr);gap:22px;display:grid}.service-tile{background:var(--paper);padding:22px;position:relative}.service-tile:hover h3{color:var(--green)}.swatch{background:repeating-linear-gradient(90deg,#b89564 0,#d4b586 4px 38px,#bda073 40px);height:190px;margin-bottom:25px;display:block}.swatch-hybrid{background:repeating-linear-gradient(90deg,#a38e73 0,#c1b09a 3px 39px,#a38e73 41px)}.swatch-laminate{background:repeating-linear-gradient(90deg,#886e52 0,#ba9874 3px 39px,#886e52 41px)}.swatch-vinyl{background:repeating-linear-gradient(90deg,#bfb4a3 0,#ddd3bf 3px 39px,#bfb4a3 41px)}.number{color:var(--muted);margin-bottom:15px;font-size:.72rem;display:block}.service-tile p{color:var(--muted);min-height:45px;font-size:.85rem}.prep-note{margin-top:35px;margin-bottom:0;font-size:.85rem}.prep-note a{border-bottom:1px solid}.projects-grid{grid-template-columns:repeat(2,1fr);gap:50px 32px;display:grid}.image-wrap{position:relative;overflow:hidden}.project-card img{aspect-ratio:3/2;object-fit:cover;transition:transform .4s}.project-card a:hover img{transform:scale(1.025)}.image-label{background:var(--paper);color:var(--ink);padding:5px 9px;font-size:.62rem;position:absolute;bottom:12px;left:12px}.card-meta{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin-block:19px 12px;font-size:.65rem;display:flex}.project-card h3{font-family:var(--serif);font-size:2rem}.project-card p{color:var(--muted);font-size:.9rem}.process{border-top:1px solid var(--line);grid-template-columns:1fr 1.15fr;gap:80px;display:grid}.process ol{margin:0;padding:0;list-style:none}.process li{border-bottom:1px solid var(--line);gap:25px;padding:25px 0;display:flex}.process li:first-child{padding-top:0}.process li>span{color:var(--muted);font-size:.75rem}.process h3{font-size:1.2rem}.process p{color:var(--muted);margin:0;font-size:.9rem}.cta{background:var(--green);color:var(--paper);padding:75px 0}.cta-inner{justify-content:space-between;align-items:center;gap:30px;display:flex}.cta h2{margin:0;font-size:clamp(2.5rem,4vw,4.4rem)}.footer{grid-template-columns:2fr 1fr 1fr;gap:35px;padding-block:70px 30px;display:grid}.footer .brand{display:block}.footer p{color:var(--muted);margin-top:24px;font-size:.85rem}.footer>div>strong{font-size:.75rem}.footer>div>a:not(.brand){margin-top:12px;font-size:.8rem;display:block}.footer-note{border-top:1px solid var(--line);grid-column:1/-1;padding-top:20px;font-size:.7rem!important}.page-intro{max-width:1280px;padding-top:80px;padding-bottom:25px}.page-intro .lede{max-width:710px}.page-intro .button{margin-top:20px}.page-intro>.text-link{margin-bottom:35px}.narrow{max-width:830px}.services-list article{border-top:1px solid var(--line);grid-template-columns:50px 1fr 1fr;gap:35px;padding-block:45px;scroll-margin-top:25px;display:grid}.services-list h2{font-size:2.6rem}.services-list .lede{font-size:1rem}.filters{flex-wrap:wrap;gap:10px;display:flex}.filters button{border:1px solid var(--line);background:0 0;border-radius:40px;padding:11px 22px;font-size:.85rem}.filters button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.gallery .projects-grid{margin-top:35px}.empty{background:var(--tint);margin-top:30px;padding:50px}.empty h2{font-size:2.5rem}.project-hero{margin-top:30px}.project-hero img{aspect-ratio:16/9;object-fit:cover}.project-detail{grid-template-columns:.7fr 1.3fr;gap:90px;display:grid}.project-detail h2{margin-top:35px;font-size:2.3rem}.project-detail h2:first-child{margin-top:0}.project-detail li{margin-bottom:15px}.project-detail .button{margin-top:25px}dt{color:var(--muted);margin-top:22px;font-size:.72rem}dd{margin:3px 0;font-size:.95rem}.about img{aspect-ratio:4/5;object-fit:cover}.about>div{align-self:center}.three-grid{grid-template-columns:repeat(3,1fr);gap:40px;margin-top:35px;display:grid}.three-grid p{color:var(--muted)}.area-grid{grid-template-columns:1fr 1fr;gap:0 24px;margin:0 0 35px;padding:0;list-style:none;display:grid}.area-grid li{border-bottom:1px solid var(--line);padding:15px 0}.notice{background:var(--tint);border-left:3px solid var(--green);max-width:760px;padding:20px;font-size:.9rem}.notice p{margin-top:12px;margin-bottom:0}.quote-layout{grid-template-columns:.75fr 1.25fr;gap:80px;display:grid}.quote-layout aside h2{font-size:2.5rem}.form-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.field.full{grid-column:1/-1}.field label{margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.field label span{color:var(--muted);font-weight:400}input,select,textarea{width:100%;color:var(--ink);background:#fffefa;border:1px solid #879083;border-radius:2px;min-height:50px;padding:13px}textarea{resize:vertical}input[aria-invalid=true],select[aria-invalid=true]{border:2px solid #a02d25}.field small{color:var(--muted);margin-top:7px;font-size:.75rem;display:block}.field-error{color:#a02d25;margin-top:6px;font-size:.8rem;display:block}form>.button{margin-top:30px}.error-summary{border:2px solid #a02d25;margin-bottom:28px;padding:22px}.error-summary h2{font-size:1.6rem}.error-summary a{text-decoration:underline}.confirmation{background:var(--tint);padding:40px}.confirmation h2{font-size:3.5rem}.faqs{margin-top:35px}.faqs details{border-top:1px solid var(--line);padding:21px 0}.faqs summary{cursor:pointer;min-height:28px;font-weight:500}.faqs details p{color:var(--muted);margin:18px 25px 0 0}.demo-information h2{margin-top:40px;font-size:2rem}@media (width>=1600px){.hero-image img{aspect-ratio:1}}@media (width<=1100px){.shell{width:calc(100% - 56px)}.header nav{gap:15px}.header .brand{font-size:1.3rem}.hero{gap:30px}.hero h1{font-size:5.2rem}.service-grid{grid-template-columns:repeat(2,1fr)}.swatch{height:170px}.split,.process,.quote-layout{gap:45px}.project-detail{gap:50px}}@media (width<=800px){.shell{width:calc(100% - 40px)}.demo-bar{font-size:.6rem}.demo-bar span{margin-top:3px;margin-left:0;font-size:.58rem;display:block}.header{flex-wrap:wrap;gap:0;padding-block:22px}.menu-button{border:1px solid var(--line);background:0 0;align-items:center;gap:16px;padding:9px 13px;font-size:.85rem;display:flex}.header nav{flex-direction:column;align-items:stretch;gap:0;width:100%;padding-top:25px;display:none}.header nav.open{display:flex}.header nav>a{padding:13px 0;font-size:.95rem}.header nav>.button{margin-top:10px;padding:14px}.hero{grid-template-columns:1fr;gap:40px;padding-top:35px;padding-bottom:40px}.hero h1{font-size:clamp(3.5rem,12vw,5.8rem)}.hero-copy .lede{max-width:500px}.hero-image img{aspect-ratio:4/3}.hero-stamp{padding:14px 20px;font-size:1rem;bottom:55px;left:12px}.hero-copy{padding:0}.strip .shell{grid-template-columns:1fr 1fr;gap:12px;font-size:.67rem;display:grid}.section{padding-block:65px}.split,.process,.quote-layout,.project-detail{grid-template-columns:1fr;gap:30px}.section-heading{flex-direction:column;align-items:start;gap:20px;margin-bottom:30px}.projects-grid{gap:35px 22px}.project-card h3{font-size:1.6rem}.cta-inner{flex-direction:column;align-items:start}.cta{padding:55px 0}.footer{grid-template-columns:1fr 1fr;padding-top:50px}.footer>div:first-child{grid-column:1/-1}.page-intro{padding-top:45px}.page-intro h1{font-size:clamp(3rem,10vw,5rem)}.services-list article{grid-template-columns:30px 1fr;gap:20px}.services-list article>div:last-child{grid-column:2}.services-list h2{font-size:2.2rem}.project-hero img{aspect-ratio:4/3}.three-grid{grid-template-columns:1fr;gap:20px}.about img{aspect-ratio:4/3}.quote-layout aside{max-width:650px}}@media (width<=520px){.projects-grid{grid-template-columns:1fr}.service-grid{gap:12px}.service-tile{padding:15px}.service-tile h3{font-size:1.4rem}.swatch{height:130px}.service-tile .text-link{font-size:.75rem}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.hero-stamp{display:none}.hero-image figcaption{font-size:.65rem}.button{padding:15px 20px}.footer{gap:25px}.filters{gap:8px}.filters button{padding:10px 15px}.confirmation{padding:25px}.confirmation h2{font-size:2.8rem}.empty{padding:25px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}button:disabled{opacity:.6;cursor:not-allowed}@media (width<=800px){html:not(.js) .header nav{display:flex}html:not(.js) .menu-button{display:none}}html:not(.js) .filters,html:not(.js) #quote-form{display:none}.cta :focus-visible,.demo-bar :focus-visible{outline-color:#fcfaf6}.header{flex-wrap:wrap}.header nav{flex-wrap:wrap;max-width:100%}
