@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--cream:#f7f5f0;--green:#626e66;--clay:#8b7c6a;--ink:#414740;--muted:#62685f;--line:#d9d9ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.05}h1{font-size:clamp(52px,5.7vw,90px);letter-spacing:-2px}h2{font-size:clamp(37px,4vw,61px);letter-spacing:-1px}h3{font-size:36px}em{font-weight:400;color:var(--clay)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--clay);outline-offset:5px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);gap:30px}.brand{width:250px;height:62px;overflow:hidden;display:block}.brand img{width:250px;height:62px;object-fit:cover}nav{display:flex;align-items:center;gap:30px;font-size:13px}nav a:hover,.text-link:hover{color:var(--clay)}.nav-cta{border:1px solid var(--green);padding:12px 18px}.nav-cta span{margin-left:24px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:76px 9% 42px 10%;display:flex;align-items:flex-start;flex-direction:column}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin-bottom:24px}.lead{font-size:17px;line-height:1.7}.hero .lead{max-width:490px;margin:28px 0}.button{background:var(--green);color:var(--cream);display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 25px;border:0;font-family:inherit;font-size:13px;cursor:pointer}.button:hover{background:#535e57}.text-link{font-size:13px;border-bottom:1px solid var(--clay);padding-bottom:3px;display:inline-block}.hero .text-link{margin-top:20px}.hero-note{margin-top:38px;display:flex;gap:14px;align-items:center;font-size:12px;color:var(--muted)}.small-mark{font-family:Georgia;font-size:40px;color:var(--clay)}.hero-image{position:relative;min-width:0;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.hero-image figcaption{position:absolute;bottom:16px;left:20px;right:20px;background:#f7f5f0eb;color:white;padding:8px 12px;font-size:8px;letter-spacing:1px;text-align:center}.ribbon{background:var(--green);color:var(--cream);padding:22px 7%;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px;gap:20px}.ribbon i{color:#928b7d;font-size:20px}.section{padding:90px 7%}.intro{display:grid;grid-template-columns:1fr 3fr;gap:40px}.intro h2{font-size:44px;margin-bottom:24px}.intro p:not(.eyebrow){max-width:750px;color:var(--muted)}.services{padding-top:30px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:55px}.section-heading>p{width:310px;color:var(--muted)}.service{padding:38px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:70px 1fr 205px;gap:30px}.service.featured{border-top:2px solid var(--green)}.num{color:var(--clay);font-family:Georgia;font-size:23px}.tag{font-size:10px;letter-spacing:1.5px;margin-bottom:12px;color:var(--muted);font-weight:600}.service h3{margin-bottom:18px}.service p:not(.tag){max-width:660px}.service ul{display:grid;grid-template-columns:1fr 1fr;padding-left:17px;font-size:13px;gap:5px 25px;margin-top:22px}.fine{font-size:12px;color:var(--muted);line-height:1.65;margin-top:16px}.service-action{text-align:right;padding-top:24px;font-size:14px}.service-action a{font-size:12px;display:block;margin-top:16px;text-decoration:underline;text-underline-offset:6px}.materials{background:#edeae2;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.materials h2{margin-bottom:26px}.materials p:not(.eyebrow){color:var(--muted)}.materials .text-link{margin-top:24px}.material-art{height:380px;position:relative;isolation:isolate}.swatch{position:absolute;box-shadow:9px 16px 20px #626e661a}.oak{width:57%;height:75%;top:2%;left:4%;background:repeating-linear-gradient(92deg,#a5825c 0,#bc9b73 2px,#b6976e 7px,#c2a17c 10px)}.stone{width:48%;height:53%;right:1%;top:12%;background:radial-gradient(ellipse at 25% 25%,#dbd2be 1%,transparent 3%),#e8e0d0}.green{width:39%;height:42%;left:29%;bottom:9%;background:var(--green)}.clay{width:25%;height:32%;right:3%;bottom:4%;background:#b8ad9e}.material-art>p{position:absolute;bottom:-23px;left:4%;font-size:9px;letter-spacing:2px}.process{background:var(--green);color:var(--cream)}.process .eyebrow{color:#62685f}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:55px}.steps article{border-top:1px solid #ffffff40;padding-top:20px}.steps span{font-size:10px;letter-spacing:1.5px;color:#756857}.steps h3{font-size:29px;margin:20px 0}.steps p{font-size:13px;color:#555e54}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;border-bottom:1px solid var(--line)}.about .lead{margin-bottom:20px}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:10%}details{border-bottom:1px solid var(--line);padding:21px 0}summary{cursor:pointer;font-size:15px;font-weight:500}details p{padding-top:15px;color:var(--muted);font-size:14px}.project{display:grid;grid-template-columns:1fr 1.2fr;gap:11%;background:#edeae2}.project h2{margin-bottom:25px}.project>div>p:not(.eyebrow){max-width:310px}.worksheet-note{margin-top:30px;font-size:12px;max-width:345px;border-left:2px solid var(--clay);padding-left:16px}.worksheet-note p{margin-top:5px;color:#536156}form{display:grid;gap:18px}label{font-size:12px;font-weight:600;display:block}input,select,textarea{display:block;background:#f7f5f0;border:1px solid #b9c2b6;width:100%;padding:13px;margin-top:7px;font:14px 'DM Sans',Arial;color:var(--green);border-radius:0}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--green)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form .button{justify-self:start}#form-status{font-size:13px}footer{padding:40px 7%;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:11px;color:var(--muted)}.footer-brand{font-family:Georgia;font-size:27px;color:var(--green)}.footer-brand span{display:block;font-family:Arial;font-size:8px;letter-spacing:1.5px}.skip{position:absolute;top:-100px;left:10px;padding:10px;background:white;z-index:5}.skip:focus{top:10px}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:800px}}@media(max-width:900px){header{padding:0 5%;height:86px}.brand,.brand img{width:210px;height:54px}nav{gap:18px}nav>a:not(.nav-cta){display:none}.hero{min-height:610px}.hero-copy{padding:55px 9%}.hero h1{font-size:60px}.hero .lead{font-size:15px}.section{padding:65px 6%}.intro{grid-template-columns:1fr}.service{grid-template-columns:35px 1fr;gap:15px}.service-action{grid-column:2;text-align:left;padding:0}.service-action a{display:inline;margin-left:20px}.steps{grid-template-columns:1fr 1fr}.material-art{height:300px}.section-heading>p{width:240px}.project{gap:6%}footer{flex-wrap:wrap}}@media(max-width:600px){header{gap:12px}.brand,.brand img{width:180px;height:48px}.nav-cta{font-size:11px;padding:10px}.nav-cta span{display:none}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 6%}.hero h1{font-size:62px}.hero-image{height:390px}.hero-image img{object-position:50% 50%}.hero-note{display:none}.ribbon{padding:18px 5%;font-size:8px;letter-spacing:1px;gap:8px}.ribbon i{font-size:12px}.section{padding:55px 6%}.intro h2{font-size:37px}.eyebrow{font-size:9px;letter-spacing:1.7px}.section-heading{display:block;margin-bottom:35px}.section-heading>p{width:auto;margin-top:20px}.service ul{grid-template-columns:1fr}.service h3{font-size:31px}.service-action a{display:block;margin:10px 0}.materials,.about,.faq,.project{grid-template-columns:1fr;gap:40px}.materials>div:last-child{order:-1}.material-art{max-width:430px;width:100%;margin:auto}.steps{gap:30px 22px}.steps h3{font-size:27px}.form-row{grid-template-columns:1fr}footer{display:block}footer>p{margin-bottom:18px}.project h2{font-size:52px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Softer palette drawn from the supplied renovation photos. */
.ribbon{background:#e5e0d7;color:#414740}.hero-image figcaption{color:#414740}.process{background:#e5e0d7;color:#414740}.steps article{border-top-color:#b6b9ad}.material-art .green{background:#a4ada3}.material-art .oak{filter:saturate(.5) brightness(1.18)}.portfolio{padding-top:15px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.portfolio-grid figure{margin:0}.portfolio-grid img{width:100%;aspect-ratio:1.5;object-fit:cover;display:block}.portfolio-grid a{display:block;overflow:hidden}.portfolio-grid a:hover img{opacity:.94}.portfolio-grid figcaption{padding-top:10px;font-size:12px;color:#62685f}.hero-image img{object-position:54% center}.button span,.nav-cta span{font-family:Arial,sans-serif}@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr;gap:22px}.portfolio-grid img{aspect-ratio:1.5}.hero-image{height:360px}.hero-image img{object-position:center}}
