@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap";*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#20231f;background:#f3f2ee;min-width:320px;margin:0;font-family:Manrope,Arial,sans-serif;overflow-x:hidden}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}:root{--ink:#20231f;--muted:#6b6f68;--line:#d6d6d0;--paper:#f3f2ee;--card:#e9e8e2;--green:#667b45;--deep-green:#26342b;--serif:"Playfair Display", Georgia, serif;--mono:"DM Mono", monospace}.site-header,main,.site-footer{max-width:1440px;margin:auto;padding-left:4.5rem;padding-right:4.5rem}.site-header{justify-content:space-between;align-items:center;min-height:100px;display:flex}.brand{align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink);color:var(--paper);font-family:var(--serif);justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:1.45rem;font-style:italic;font-weight:700;display:inline-flex}.brand-name{letter-spacing:-.06em;font-size:1rem;font-weight:800}.brand-name span{color:var(--green)}.nav{gap:2.4rem;display:flex}.nav a{color:#555950;font-size:.77rem;font-weight:700;text-decoration:none}.nav a:hover{color:var(--ink)}.button{letter-spacing:.03em;border:1px solid #0000;justify-content:center;align-items:center;gap:1.25rem;min-height:3.35rem;padding:0 1.25rem;font-size:.75rem;font-weight:800;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:#536639}.button span{font-size:1.05rem}.hero{grid-template-columns:1.02fr .98fr;min-height:570px;padding-top:2.75rem;padding-bottom:3.75rem;display:grid}.hero-copy{align-self:center;padding-right:3.5rem}.eyebrow{color:var(--green);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.3rem;font-size:.68rem;font-weight:500}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.065em;line-height:.94}h1{margin-bottom:2rem;font-size:clamp(3.9rem,7vw,7.3rem)}h2{margin-bottom:0;font-size:clamp(2.9rem,5vw,5.5rem)}h1 em,h2 em{color:var(--green);font-family:var(--serif);font-weight:600}.hero-text{color:#62675e;max-width:35rem;font-size:1rem;line-height:1.75}.service-area{border-left:2px solid var(--green);color:#4f5946;max-width:35rem;margin:1.35rem 0 0;padding-left:.9rem;font-size:.78rem;font-weight:700;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:2.4rem;display:flex}.button-text{border-color:var(--line);color:var(--ink)}.hero-media{height:540px;position:relative;overflow:hidden}.hero-media img{object-fit:cover;width:100%;height:100%}.hero-media-caption{background:var(--ink);color:#fff;gap:.25rem;padding:1.25rem 1.5rem;display:grid;position:absolute;bottom:0;left:0}.hero-media-caption span{color:#bcc9a8;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.hero-media-caption strong{font-size:.9rem}.intro{border-top:1px solid var(--line);justify-content:space-between;align-items:end;padding:5.75rem 0 3rem;display:flex}.intro p:last-child,.section-heading>p{color:var(--muted);max-width:23rem;margin:0;line-height:1.7}.services-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.service-card{border-right:1px solid var(--line);min-height:270px;padding:1.65rem 1.4rem;position:relative}.service-card:first-child{border-left:1px solid var(--line)}.service-number{color:var(--green);font-family:var(--mono);font-size:.7rem}.service-card h3{letter-spacing:-.04em;max-width:12rem;margin:4rem 0 .8rem;font-size:1.1rem;line-height:1.2}.service-card p{color:var(--muted);max-width:15rem;font-size:.8rem;line-height:1.65}.service-arrow{color:var(--green);font-size:1.2rem;position:absolute;bottom:1.4rem;right:1.4rem}.work-section{padding:6.5rem 0}.section-heading{justify-content:space-between;align-items:end;margin-bottom:3rem;display:flex}.project-viewer{background:var(--ink);color:#fff;grid-template-columns:minmax(0,1.45fr) minmax(15rem,.55fr);display:grid}.project-viewer-image{background:#ddd;border:0;min-height:34rem;padding:0;position:relative;overflow:hidden}.project-viewer-image img{object-fit:contain;width:100%;height:100%;transition:opacity .2s,transform .45s;display:block}.project-viewer-image:hover img{transform:scale(1.025)}.image-expand{background:var(--paper);color:var(--ink);justify-content:center;align-items:center;width:3.25rem;height:3.25rem;font-size:1.35rem;display:flex;position:absolute;bottom:1.25rem;right:1.25rem}.project-viewer-copy{flex-direction:column;align-self:stretch;padding:2.5rem;display:flex}.project-kicker{color:#b6c3a5;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.9rem;font-size:.65rem}.project-index{color:#b6c3a5;font-family:var(--mono);align-items:center;gap:.65rem;font-size:.68rem;display:flex}.project-index i{background:#718164;width:2rem;height:1px}.project-viewer-copy h3{font-family:var(--serif);letter-spacing:-.06em;margin:auto 0 1rem;font-size:clamp(2rem,3vw,3.15rem);font-style:italic;font-weight:600;line-height:.95}.project-viewer-copy>p:not(.project-kicker){color:#cad1c4;font-size:.82rem;line-height:1.65}.text-button{color:#fff;background:0 0;border:0;border-bottom:1px solid #718164;align-self:flex-start;margin-top:1.5rem;padding:0 0 .65rem;font-size:.72rem;font-weight:800}.text-button span{color:#bbd099;margin-left:1rem}.project-controls{gap:.65rem;margin-top:2.25rem;display:flex}.project-controls button{color:#fff;background:0 0;border:1px solid #718164;justify-content:center;align-items:center;width:2.85rem;height:2.85rem;font-size:1.15rem;transition:background .2s,color .2s;display:flex}.project-controls button:hover{color:var(--ink);background:#b6c3a5}.request-section{background:var(--deep-green);color:#fff;grid-template-columns:.8fr 1.2fr;gap:7rem;margin-left:-4.5rem;margin-right:-4.5rem;padding:7rem 4.5rem;display:grid}.request-copy h2{font-size:clamp(3.2rem,5vw,5.5rem)}.request-copy>p:not(.eyebrow){color:#c8d0c3;max-width:24rem;line-height:1.7}.request-note{border-top:1px solid #4d5b51;gap:1rem;margin-top:5rem;padding-top:1.25rem;display:flex}.request-note span{color:#b4c797;font-family:var(--mono);font-size:.68rem}.request-note p{color:#c8d0c3;max-width:19rem;margin:0;font-size:.78rem;line-height:1.6}.repair-form{color:var(--ink);background:#f6f5f0;padding:2.25rem}.repair-form label{letter-spacing:.04em;margin-bottom:1.25rem;font-size:.7rem;font-weight:800;display:block}.repair-form input,.repair-form textarea{outline-color:var(--green);resize:vertical;background:0 0;border:0;border-bottom:1px solid #c7c8c0;border-radius:0;width:100%;margin-top:.55rem;padding:.55rem 0;display:block}.form-row{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.form-row-three{grid-template-columns:repeat(3,1fr)}.optional{color:#858980;text-transform:none;font-weight:500}.file-upload{border:1px dashed #afb2a8;margin-top:.3rem;padding:1rem}.file-upload input{opacity:0;border:0;width:0;height:0;margin:0;padding:0;position:absolute}.upload-prompt{background:#e6e6df;justify-content:space-between;margin-top:1rem;padding:.7rem;font-size:.72rem;display:flex}.file-upload small,.privacy-note{color:#73776d;margin-top:.75rem;font-size:.65rem;line-height:1.5;display:block}.submit-button{border:0;width:100%;margin-top:1rem}.form-status{font-size:.78rem;line-height:1.5}.form-status.success{color:#426525}.form-status.error{color:#9b3528}.honeypot{display:none!important}.cta-band{background:var(--green);color:#fff;justify-content:space-between;align-items:center;margin-left:-4.5rem;margin-right:-4.5rem;padding:2.5rem 4.5rem;display:flex}.cta-band p{font-family:var(--serif);max-width:45rem;margin:0;font-size:clamp(1.4rem,2.3vw,2rem);font-style:italic}.button-light{background:var(--paper);color:var(--ink);flex:none}.privacy-section{border-bottom:1px solid var(--line);padding:6.5rem 0}.privacy-content{grid-template-columns:1fr 1fr;gap:5rem;display:grid}.privacy-content h2{font-size:clamp(2.6rem,4.2vw,4.75rem)}.privacy-content>div{color:var(--muted);max-width:34rem;font-size:.85rem;line-height:1.8}.privacy-content p{margin-bottom:1.25rem}.privacy-content a{color:var(--ink);font-weight:700}.site-footer{color:#666b62;justify-content:space-between;align-items:center;min-height:140px;font-size:.7rem;display:flex}.footer-brand .brand-mark{width:1.75rem;height:1.75rem}.site-footer div:last-child{gap:1.75rem;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--green)}.lightbox{z-index:10;background:#131914f0;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;max-width:min(90vw,900px);max-height:90vh;box-shadow:0 1rem 3rem #000}.lightbox-close{color:#fff;background:0 0;border:0;font-size:2.5rem;line-height:1;position:absolute;top:.75rem;right:1rem}@media (width<=900px){.site-header,main,.site-footer{padding-left:2rem;padding-right:2rem}.nav{gap:1.25rem}.header-cta{display:none}.hero{grid-template-columns:1fr;gap:2rem}.hero-copy{padding-right:0}.hero-media{height:420px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(3){border-left:1px solid var(--line)}.project-viewer-image{min-height:28rem}.request-section,.cta-band{margin-left:-2rem;margin-right:-2rem;padding-left:2rem;padding-right:2rem}.request-section{grid-template-columns:1fr;gap:3rem}.request-note{margin-top:2.5rem}.privacy-content{gap:3rem}.site-footer{gap:1rem}}@media (width<=600px){.site-header,main,.site-footer{padding-left:1.25rem;padding-right:1.25rem}.site-header{min-height:76px}.nav{display:none}.header-cta{width:2.8rem;min-height:2.8rem;padding:0;display:inline-flex}.header-cta .button-label{display:none}.header-cta .button-label+span{margin:0}.brand-name{font-size:.85rem}.hero{min-height:0;padding:2.25rem 0 3.5rem}.hero-copy{min-width:0;padding-right:0}.hero h1{overflow-wrap:anywhere;max-width:6.5ch;margin-bottom:1.5rem;font-size:clamp(3.25rem,15vw,4.15rem);line-height:.9}.hero h1 em{white-space:nowrap;display:block}.hero-text{font-size:.94rem}.hero-actions{gap:.75rem;margin-top:2rem}.hero-actions .button{flex:1 1 0;min-width:0;padding:0 .85rem}.hero-media{height:auto}.hero-media img{aspect-ratio:1;object-fit:contain}.intro,.section-heading{flex-direction:column;align-items:start;gap:1.5rem}.intro{padding:4rem 0 2rem}.services-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(3){border-left:1px solid var(--line);min-height:210px}.service-card h3{margin-top:2.5rem}.work-section,.privacy-section{padding:4.5rem 0}.project-viewer{grid-template-columns:1fr}.project-viewer-image{min-height:0}.project-viewer-image img{aspect-ratio:1}.project-viewer-copy{min-height:24rem;padding:1.75rem}.project-viewer-copy h3{margin-top:auto}.request-section,.cta-band{margin-left:-1.25rem;margin-right:-1.25rem;padding-left:1.25rem;padding-right:1.25rem}.request-section{padding-top:4rem;padding-bottom:4rem}.repair-form{padding:1.25rem}.form-row,.form-row-three,.privacy-content{grid-template-columns:1fr}.cta-band{flex-direction:column;align-items:start;gap:1.5rem}.site-footer{flex-direction:column;align-items:start;padding-top:2rem;padding-bottom:2rem}.site-footer div:last-child{flex-direction:column;gap:.4rem}}
