@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#25382f;--cream:#f6f3eb;--muted:#60665e;--line:#d6d8cd;--accent:#a75e35}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.02;letter-spacing:-.025em}h1{font-size:clamp(56px,6.4vw,92px);margin-bottom:30px}h2{font-size:clamp(42px,4.3vw,64px);margin-bottom:24px}h3{font-size:20px;line-height:1.35;font-weight:500;margin:0 0 8px}em{font-weight:400;color:var(--accent)}.wrap{max-width:1320px;margin:auto;padding-left:48px;padding-right:48px}.header{display:flex;justify-content:space-between;align-items:center;min-height:118px;gap:25px}.brand{display:flex;align-items:center;gap:16px}.monogram{font:44px/1 Georgia,serif;letter-spacing:-4px;border-bottom:2px solid var(--accent);padding-bottom:6px}.monogram span{font-size:26px}.brand-name{font-size:14px;letter-spacing:.1em;font-weight:700;line-height:1.5}.brand-name>span{display:block;font-size:14px;letter-spacing:.15em;font-weight:500}.header nav{display:flex;gap:34px;align-items:center;font-size:14px}.nav-contact{border:1px solid var(--ink);padding:10px 18px}.nav-contact span{margin-left:20px}.hero{padding-top:30px;padding-bottom:0}.hero-copy{display:grid;grid-template-columns:1.4fr 1fr;column-gap:8%;align-items:end}.eyebrow{font-size:14px;font-weight:600;letter-spacing:.15em;margin-bottom:24px}.hero-copy>.eyebrow{grid-column:1/-1}.hero-bottom{padding-bottom:38px;max-width:405px}.hero-bottom p{font-size:17px;color:var(--muted);margin-bottom:24px}.button{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;padding:15px 23px;background:var(--ink);color:white;font-size:14px;font-weight:500;min-height:52px}.button:hover{background:#385445}.hero-image{position:relative}.hero-image>img{height:min(57vw,590px);object-position:50% 53%}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.65));color:white;display:flex;justify-content:space-between;align-items:center;padding:70px 28px 23px;font-size:14px}.hero-image figcaption span{letter-spacing:.13em;font-size:14px}.service-strip{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-strip>.wrap{display:flex;justify-content:space-between;padding-top:19px;padding-bottom:19px;font-size:14px;color:var(--muted)}.section{padding-top:100px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.section-heading>p{max-width:350px;color:var(--muted);margin-bottom:24px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}.project img{height:460px;transition:filter .2s}.project a:hover img{filter:brightness(.94)}.project.wide{grid-column:1/-1}.project.wide img{height:520px;object-position:center 55%}.project.pergola img{height:420px;object-position:center 55%}.project figcaption{display:flex;justify-content:space-between;align-items:center;padding:17px 0 0}.project h3{font-size:18px;margin:0}.project p{font-size:14px;color:var(--muted);margin:4px 0 0}.project figcaption>span{font-size:25px}.services{background:#e9ebe2}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.services-intro{max-width:410px;color:var(--muted);margin:30px 0}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:5px}.service-list article{display:flex;gap:24px;padding:25px 0;border-top:1px solid #c3c9bb}.service-list article:last-child{border-bottom:1px solid #c3c9bb}.service-list article>span{color:#697666;font-size:14px;padding-top:4px}.service-list p{color:var(--muted);font-size:15px;margin:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.about-copy{padding-top:40px}.about-copy>p:first-child{font-size:23px;line-height:1.5}.about-copy>p{color:var(--muted)}blockquote{margin:36px 0 0;padding-top:24px;border-top:1px solid var(--line);font-family:Georgia,serif;font-size:22px;color:var(--accent);font-style:italic}.contact{background:var(--ink);color:var(--cream)}.contact .eyebrow{color:#c1c7b7}.contact h2{font-size:clamp(46px,5vw,72px)}.contact em{color:#d1b68d}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12%}.contact-grid>div>p{max-width:470px;color:#d4d8cd}.button.light{background:var(--cream);color:var(--ink);margin:15px 0 22px}.contact .text-link{display:block;width:fit-content}.contact-details{padding-top:10px}.contact-details h3{font-size:14px;font-weight:500;letter-spacing:.04em;margin:24px 0 15px;color:#d1b68d}.email{font-size:clamp(16px,1.6vw,22px);overflow-wrap:anywhere}.contact-details h3:nth-of-type(2){margin-top:56px}.area-note{font-size:14px;color:#b7c1b3!important}footer{display:flex;gap:24px;justify-content:space-between;align-items:center;padding-top:30px;padding-bottom:30px;font-size:14px}footer .footer-brand{font-size:16px;font-weight:600}footer>span{color:var(--muted)}a:focus-visible,button:focus-visible{outline:3px solid #b77737;outline-offset:5px}.skip{position:absolute;top:-80px;left:20px;background:white;padding:10px;z-index:20}.skip:focus{top:15px}dialog{border:0;background:#f6f3eb;padding:20px;max-width:min(1100px,94vw);max-height:95vh;color:var(--ink)}dialog::backdrop{background:rgba(9,20,15,.88)}dialog img{object-fit:contain;max-height:75vh;width:100%}dialog p{margin:12px 0 0;font-size:14px}.close{display:block;margin:0 0 12px auto;border:1px solid var(--ink);padding:7px 15px;color:var(--ink);background:transparent;cursor:pointer}
@media(min-width:1000px){.project:nth-child(2) img{object-position:center 52%}.project:nth-child(3) img{object-position:center}}
@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.header{min-height:100px;gap:10px}.brand{gap:10px}.monogram{font-size:36px}.brand-name{font-size:14px}.brand-name>span{font-size:14px}.header nav{gap:12px}.header nav>a:not(.nav-contact){display:none}.nav-contact{padding:8px 11px;font-size:14px}.nav-contact span{margin-left:6px}.hero{padding-top:24px}.hero-copy{display:block}.eyebrow{font-size:14px;letter-spacing:.12em;margin-bottom:24px}h1{font-size:62px;margin-bottom:23px}.hero-bottom{padding-bottom:30px;max-width:none}.hero-bottom p{font-size:16px}.hero-image>img{height:370px;object-position:55% center}.hero-image figcaption{padding:50px 15px 15px}.hero-image figcaption span{font-size:14px;max-width:140px}.hero-image figcaption a{font-size:14px}.service-strip{margin-top:28px}.service-strip>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:8px 15px;font-size:14px}.section{padding-top:66px;padding-bottom:66px}.section-heading{display:block;margin-bottom:28px}h2{font-size:45px}.section-heading>p{max-width:none;margin-bottom:0}.gallery{gap:30px 18px}.project.wide img{height:310px}.project img{height:300px}.project{grid-column:1/-1}.project.pergola img{height:310px}.project h3{font-size:18px}.services-grid,.about,.contact-grid{grid-template-columns:1fr;gap:35px}.services-intro{margin:20px 0}.service-list article{padding:23px 0}.about-copy{padding-top:0}.about-copy>p:first-child{font-size:21px}.contact h2{font-size:49px}.contact-details h3:nth-of-type(2){margin-top:32px}.contact-details{padding-top:0;border-top:1px solid #637163}.email{font-size:18px}footer{flex-wrap:wrap;gap:8px}footer>span{width:100%;order:3}footer>a:last-child{margin-left:auto}dialog{padding:12px}.button{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:760px){.brand-name>span{display:none}.brand-name{font-size:12px;max-width:110px}.eyebrow{font-size:14px}.hero-image figcaption span{font-size:14px}.hero-image figcaption{gap:15px}}
/* Project inquiries and customer testimonials */
.site-form{margin-top:25px;max-width:900px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.site-form label{display:block;font-size:16px;font-weight:500;margin-bottom:22px}.site-form input:not([type=checkbox]),.site-form textarea,.site-form select{display:block;width:100%;border:1px solid #9aa598;border-radius:3px;background:#fff;color:#21352e;font:16px/1.5 'DM Sans',Arial,sans-serif;padding:12px;margin-top:8px;min-height:49px}.site-form textarea{resize:vertical}.site-form input:focus,.site-form textarea:focus,.site-form select:focus{outline:3px solid #c7985d;outline-offset:2px}.site-form .form-grid label{margin-bottom:0}.site-form .form-grid{margin-bottom:22px}.site-form .check-label{display:flex;align-items:flex-start;gap:12px;font-size:14px;font-weight:400}.check-label input{width:20px;height:20px;flex-shrink:0;accent-color:#a75e35;margin-top:3px}.optional{font-size:14px;font-weight:400}.site-form button{border:0;cursor:pointer}.site-form button:disabled{opacity:.65;cursor:wait}.form-note{font-size:14px;max-width:720px}.form-status{font-size:16px;margin:16px 0 0;white-space:pre-line}.form-status.error{border-left:3px solid #c46b42;padding-left:15px}.form-status.success{border-left:3px solid #80a683;padding:12px 16px;background:#ffffff14}.trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.inquiry-panel{margin-top:65px;border-top:1px solid #637163;padding-top:42px}.inquiry-heading h3{font:36px/1.1 'Libre Caslon Display',Georgia,serif}.inquiry-heading p{color:#d4d8cd;max-width:660px}.contact .form-note{color:#d4d8cd}.photo-previews{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.photo-preview{max-width:135px}.photo-preview img{height:92px;width:125px;object-fit:cover;border:1px solid #8b9785}.photo-preview span{display:block;font-size:12px;overflow-wrap:anywhere;margin-top:6px}.photo-preview button{background:transparent;color:inherit;padding:4px 0;text-decoration:underline;min-height:36px;font-size:14px}.review-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-top:30px}.review-details summary{font-size:18px;cursor:pointer;padding:8px 0}.testimonial-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.testimonial-card{border-top:2px solid var(--accent);padding-top:23px}.testimonial-card blockquote{font:22px/1.5 Georgia,serif;color:var(--ink);margin:0;border:0;padding:0;white-space:pre-wrap;overflow-wrap:anywhere}.testimonial-card p{font-size:14px;color:var(--muted);margin:18px 0 0}.empty-reviews{grid-column:1/-1;color:var(--muted)}
@media(max-width:760px){.form-grid,.testimonial-list{grid-template-columns:1fr;gap:18px}.inquiry-panel{margin-top:42px;padding-top:30px}.site-form input[type=file]{font-size:14px}.inquiry-heading h3{font-size:32px}.site-form .button{width:100%;justify-content:center}footer{gap:14px}}
/* Featured videos from the owner's YouTube channel */
.video-gallery{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;gap:30px;margin-top:4px;align-items:start}.video-card{display:block;min-width:0}.video-thumbnail{position:relative;aspect-ratio:16/9;background:#18271f;overflow:hidden}.video-thumbnail img{height:100%;width:100%;object-fit:cover}.video-short .video-thumbnail img{object-fit:contain}.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:66px;height:48px;border-radius:12px;background:#d82222;color:white;font-size:24px;box-shadow:0 3px 15px #0005;padding-left:3px;transition:transform .18s}.video-card:hover .video-play{transform:translate(-50%,-50%) scale(1.1)}.video-format{position:absolute;left:16px;bottom:14px;background:#17261fef;color:white;padding:5px 9px;font-size:12px;letter-spacing:.07em}.video-copy{padding-top:20px}.video-copy .eyebrow{font-size:12px;margin:0 0 10px;letter-spacing:.1em}.video-copy h3{font-size:23px;line-height:1.3;margin-bottom:12px}.video-copy>p:not(.eyebrow){color:var(--muted);font-size:16px;margin-bottom:16px}.video-watch{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:14px}.video-channel{grid-column:1/-1;border-top:1px solid var(--line);padding-top:24px;margin-top:-12px;display:flex;justify-content:space-between;align-items:center;gap:20px}.video-channel>span{font-size:16px;color:var(--muted)}@media(max-width:760px){.video-gallery{grid-template-columns:1fr;gap:36px;margin-top:0}.video-channel{flex-direction:column;align-items:flex-start;margin-top:0;gap:14px}.video-copy h3{font-size:22px}.video-play{width:60px;height:43px}.video-format{font-size:12px;left:12px;bottom:10px}}
