:root{--ink:#18212b;--orange:#f3af45;--paper:#fff;--muted:#53606c;--line:#dfe4e8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 Arial,Helvetica,sans-serif}a{color:inherit}a:focus-visible{outline:3px solid #a15d00;outline-offset:6px}header{max-width:1440px;margin:auto;min-height:112px;padding:22px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:inline-flex;flex-direction:column;line-height:1}.mark{font-size:2.5rem;font-weight:900;letter-spacing:-.1rem;display:flex;align-items:center;gap:9px}.brand-square{width:12px;height:12px;background:var(--orange);align-self:flex-end;margin-bottom:4px}.brand-label{font-size:.875rem;letter-spacing:.34rem;font-weight:700;margin-top:7px}nav{display:flex;gap:32px;align-items:center}nav a{font-size:.9375rem;font-weight:700;text-decoration:none}nav a:hover,.text-link:hover{color:#a15d00}.nav-button{border:1px solid var(--ink);padding:12px 21px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:620px}.hero-copy{padding:68px 7% 34px 12%}.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.13rem;line-height:1.5;margin:0 0 28px}h1{font-size:clamp(3.3rem,5.25vw,5rem);line-height:1.06;letter-spacing:-.055em;margin:0 0 28px;font-weight:800}h1 span{color:#a86009}.intro{font-size:1.125rem;color:var(--muted);max-width:390px;margin:0 0 30px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.button{background:var(--ink);color:white;padding:16px 22px;text-decoration:none;font-weight:700;display:inline-block}.button:hover{background:#334353}.text-link{font-size:.9375rem;font-weight:700;text-underline-offset:5px}.hero-foot{font-size:.8125rem;letter-spacing:.09rem;margin:48px 0 0;color:var(--muted)}.hero-visual{position:relative;min-height:620px;background:#e8e9e8;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:30px 36px;background:linear-gradient(transparent,rgba(18,27,35,.88));color:white}.image-caption span{display:block;font-size:.8125rem;letter-spacing:.1rem;margin:30px 0 7px}.image-caption strong{font-size:1.65rem;line-height:1.2}.reference-label{position:absolute;top:22px;right:22px;font-size:.8125rem;background:rgba(255,255,255,.95);padding:5px 10px;color:var(--ink)}.overview{background:var(--ink);color:white;padding:42px max(6%,calc((100vw - 1267px)/2));display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:45px}.overview>p{font-size:1.4rem;line-height:1.45;margin:4px 0}.overview>div{border-left:1px solid #52606b;padding-left:32px}.overview span{font-size:.875rem;color:var(--orange)}.overview h2{font-size:1.2rem;margin:3px 0 8px}.overview div p{font-size:1rem;margin:0;color:#c7d0d7;max-width:320px}.section{max-width:1440px;margin:auto;padding:100px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:48px}.section h2{font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.04em;margin:0}.section-heading>p{max-width:380px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.service-grid article{border-top:2px solid var(--ink);padding-top:25px;display:flex;flex-direction:column}.number{color:#996017;font-size:.875rem;font-weight:700}.service-grid h3{font-size:1.3rem;line-height:1.3;margin:32px 0 14px}.service-grid p{color:var(--muted);margin:0 0 35px}.service-note{font-size:.75rem;font-weight:700;letter-spacing:.08rem;margin-top:auto;color:var(--muted)}.approach{background:#f1f4f6;display:grid;grid-template-columns:1fr 1fr;gap:80px}.steps article{display:flex;gap:25px;padding:25px 0;border-top:1px solid #c5ced5}.steps article:last-child{padding-bottom:0}.steps article>span{font-size:.875rem;color:#96600e;line-height:2;font-weight:700}.steps h3{font-size:1.2rem;margin:0 0 9px}.steps p{margin:0;color:var(--muted);max-width:450px}.project{display:grid;grid-template-columns:1fr 1fr;gap:80px}.project>div>p:last-child{color:var(--muted);max-width:360px;font-size:1.125rem;margin-top:28px}.project-checklist{list-style:none;padding:0;margin:0}.project-checklist li{padding:17px 0;border-bottom:1px solid var(--line);font-size:1.125rem}.project-checklist span{color:#9b630d;display:inline-block;margin-right:25px;font-size:.875rem;font-weight:700}footer{background:var(--ink);color:white;padding:45px max(6%,calc((100vw - 1267px)/2)) 25px}footer>p{color:#c7d0d7}.footer-bottom{border-top:1px solid #44515d;padding-top:22px;margin-top:35px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.8125rem;color:#c7d0d7}.footer-bottom a{color:inherit}.skip{position:absolute;left:10px;top:-70px;background:white;padding:10px;z-index:2}.skip:focus{top:10px}@media(min-width:1600px){.hero-copy{padding-left:86px}}@media(max-width:1000px){.hero-copy{padding-top:45px}.hero{min-height:580px}.hero-visual{min-height:580px}h1{font-size:3.6rem}.hero-foot{letter-spacing:0}.service-grid{grid-template-columns:repeat(2,1fr);gap:38px}.overview{gap:25px}.overview>div{padding-left:20px}.section{padding-top:70px;padding-bottom:70px}.approach,.project{gap:35px}}@media(max-width:700px){header{min-height:95px;padding:22px 6%;align-items:start}.mark{font-size:2rem}.brand-label{font-size:.75rem;letter-spacing:.27rem}nav{gap:12px;justify-content:flex-end;flex-wrap:wrap;max-width:210px}nav a{font-size:.875rem}.nav-button{padding:8px 12px}nav a:nth-child(2){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 35px}.hero h1{font-size:clamp(2.9rem,10.5vw,4.5rem)}.eyebrow{font-size:.8125rem;letter-spacing:.09rem;margin-bottom:24px}.hero-foot{margin-top:30px}.hero-visual{min-height:390px}.image-caption{padding:22px 6%}.overview{grid-template-columns:1fr;padding:35px 6%;gap:28px}.overview>p{font-size:1.6rem}.overview>div{padding-left:22px}.overview div p{max-width:none}.section{padding:60px 6%}.section-heading{display:block}.section-heading>p{margin-top:25px}.service-grid{grid-template-columns:1fr 1fr;gap:35px 22px}.service-grid h3{font-size:1.15rem;margin-top:22px}.service-note{letter-spacing:.02rem}.approach,.project{grid-template-columns:1fr;gap:38px}.section h2{font-size:2.7rem}.footer-bottom{flex-direction:column;gap:12px}.hero-actions{gap:18px}}@media(max-width:370px){.service-grid{grid-template-columns:1fr}nav{max-width:180px;gap:10px}.hero h1{font-size:2.9rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:root .hero h1{font-size:clamp(2.75rem,4.3vw,4rem)}.residential-note{padding-top:20px;border-top:1px solid var(--line)}@media(max-width:700px){:root .hero h1{font-size:clamp(2.5rem,8vw,3.8rem)}nav a:nth-child(2){display:none}}@media(max-width:370px){header nav{max-width:180px}.nav-button{max-width:180px;text-align:center}}
.gallery{border-top:1px solid var(--line)}.gallery-controls{margin-bottom:28px}.gallery-controls[hidden],.project-card[hidden],.gallery-more[hidden]{display:none}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px}.gallery-filters button{padding:11px 18px;border:1px solid #b7c2ca;background:white;color:var(--ink);font:700 .9375rem/1.4 Arial,Helvetica,sans-serif;cursor:pointer}.gallery-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}#gallery-count{font-size:.875rem;color:var(--muted);margin:16px 0 0}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}.project-card{min-width:0}.project-card>a{display:block;position:relative;background:#e8edf0;overflow:hidden}.project-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}.project-card>a:hover img{transform:scale(1.035)}.photo-action{position:absolute;bottom:13px;right:13px;background:var(--ink);color:white;padding:7px 13px;font-size:.875rem}.photo-category{font-size:.8125rem;letter-spacing:.09rem;text-transform:uppercase;color:#965b08;margin:17px 0 7px;font-weight:700}.project-card h3{font-size:1.125rem;line-height:1.4;margin:0}.gallery-more{border:0;font:700 1rem/1.5 Arial,Helvetica,sans-serif;cursor:pointer;margin-top:38px}button:focus-visible{outline:3px solid #a15d00;outline-offset:4px}#photo-dialog{width:min(1040px,94vw);max-height:94dvh;border:0;padding:24px;background:var(--ink);color:white;overflow:auto}#photo-dialog::backdrop{background:rgba(0,0,0,.85)}.dialog-top,.dialog-navigation{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.dialog-top{margin-bottom:14px}.dialog-top p{margin:0;font-size:.9375rem}#photo-dialog button{background:white;border:0;color:var(--ink);padding:11px 16px;font:700 .9375rem/1.4 Arial,Helvetica,sans-serif;cursor:pointer}#photo-full{display:block;max-width:100%;width:auto;max-height:66dvh;height:auto;margin:auto;object-fit:contain}#photo-title{font-size:1.25rem;line-height:1.4;letter-spacing:0;margin:20px 0}.hero-visual img{object-position:center center}@media(max-width:1100px){header nav{gap:18px}.nav-button{padding:11px 14px}}@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}header nav a[href='#approach']{display:none}header nav a[href='#work']{display:inline}.project-card h3{font-size:1rem}.gallery-filters button{padding:9px 12px}.photo-action{font-size:.8125rem;padding:5px 9px;bottom:8px;right:8px}#photo-dialog{padding:16px}.image-caption strong{font-size:1.45rem}.image-caption{padding-top:35px}}@media(max-width:420px){.gallery-grid{grid-template-columns:1fr}.project-card h3{font-size:1.125rem}}@media(prefers-reduced-motion:reduce){.project-card img{transition:none}}
.contact-options{display:flex;align-items:flex-start;flex-direction:column;gap:18px;margin:28px 0}.contact-email,.contact-phone{font-size:clamp(1.125rem,2vw,1.45rem);font-weight:700;text-underline-offset:5px;overflow-wrap:anywhere;max-width:100%}.contact-email:hover,.contact-phone:hover,.residential-contact:hover{color:#a15d00}.residential-contact{display:inline-block;margin-top:12px;text-underline-offset:5px;font-weight:700;font-size:1rem}.footer-email{color:white;text-underline-offset:5px;overflow-wrap:anywhere}footer .footer-email:hover{color:var(--orange)}
