:root{--ink:#1a3440;--text:#334650;--muted:#63727b;--paper:#fff;--tint:#f1f5f6;--line:#d9e0e2;--accent:#945f3b;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.7}img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a,button{touch-action:manipulation}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:var(--ink);font-weight:400}h1,h2{font-family:var(--serif);line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,4.5vw,5rem)}h2{font-size:clamp(2rem,3.3vw,3.55rem)}h3{font-size:1.3rem;line-height:1.35}h1 em,h2 em{font-weight:400;color:var(--accent)}p+p{margin-top:1.1rem}p{text-wrap:pretty}header{padding:18px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:5;min-height:102px}.brand{flex-shrink:0}.brand img{width:175px;height:78px;object-fit:contain}nav{display:flex;align-items:center;gap:34px;font-size:.91rem}nav>a:not(.button):hover{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:36px;background:var(--ink);color:#fff;padding:17px 24px;font-size:.95rem;line-height:1.4;border:1px solid var(--ink);cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#2b4e5d;transform:translateY(-2px)}.button.small{padding:13px 18px;gap:20px;font-size:.875rem}.button.light{background:#fff;color:var(--ink);border-color:#fff}.button.secondary{background:transparent;color:var(--ink)}.menu-toggle{display:none}.skip{position:absolute;left:15px;top:-100px;z-index:20;background:white;padding:12px}.skip:focus{top:15px}.hero{display:grid;grid-template-columns:1.02fr 1fr;min-height:660px}.hero-copy{padding:66px 8% 35px 10.8%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:.75rem;letter-spacing:.15em;line-height:1.6;font-weight:600;color:var(--muted);display:block}.hero .eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:28px;font-size:.7rem}.line{width:27px;height:1px;background:var(--accent);flex-shrink:0}.hero h1{font-size:clamp(2.6rem,4.2vw,4.4rem);line-height:1.12;letter-spacing:-.045em}.lead{font-size:1.1rem;line-height:1.8}.hero .lead{margin:25px 0 28px;font-size:1rem}.hero-note{margin-top:52px;display:flex;gap:22px;font-size:.625rem;letter-spacing:.1em;color:var(--muted);line-height:1.5;flex-wrap:wrap}.hero-image{position:relative;overflow:hidden;min-height:100%;background:var(--tint)}.hero-image>img{position:absolute;height:100%;width:100%;object-fit:cover;object-position:49% center}.hero-image:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#10242cb3)}.hero-image figcaption{position:absolute;bottom:27px;left:28px;right:28px;display:flex;flex-direction:column;gap:7px;color:white;z-index:1;font-size:.8rem;line-height:1.4}.hero-image figcaption span:first-child{font-size:.7rem;letter-spacing:.16em}.intro-strip{padding:24px 5.5%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.intro-strip>span{font-size:.7rem;letter-spacing:.13em;color:#d6e1e6}.intro-strip p{font-size:.9rem}.intro-strip b{font-weight:400;margin:0 17px;color:#a9bec8}.section{padding:90px 5.5%}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-head .eyebrow{margin-bottom:19px}.section-head>p{font-size:.95rem;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service{padding:28px 28px 28px 0;display:flex;align-items:flex-start;flex-direction:column;transition:background .2s}.service+.service{border-left:1px solid var(--line);padding-left:28px}.number{color:var(--accent);font-family:var(--serif);font-size:1.1rem}.service h3{margin:35px 0 16px;font-size:1.25rem}.service p{font-size:.95rem;color:var(--muted);margin-bottom:30px}.text-link{border-bottom:1px solid #9caeb7;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:.875rem;padding-bottom:7px;color:var(--ink)}.service .text-link{margin-top:auto;width:100%;border:0}.service:hover h3,.text-link:hover{color:var(--accent)}.approach{background:var(--tint);display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center}.approach-image{position:relative}.approach-image img{aspect-ratio:1.1;object-fit:cover}.image-label{position:absolute;bottom:0;left:0;padding:14px 20px;background:var(--ink);font-size:.65rem;letter-spacing:.12em;color:white}.approach-copy .eyebrow{margin-bottom:20px}.approach-copy h2{margin-bottom:27px}.approach-copy p{max-width:520px}.approach-copy .text-link{margin-top:26px}.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:34px}.project-grid img{width:100%;height:390px;object-fit:cover}.project-grid figcaption{padding-top:20px}.project-grid h3{font-family:var(--serif);font-size:1.55rem}.project-grid figcaption>span{display:block;color:var(--muted);font-size:.85rem;margin-top:5px}.process{background:var(--tint)}.process ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:35px}.process li{border-top:1px solid #b8c5cb;padding-top:24px}.process li>span{font-size:.85rem;color:var(--accent)}.process h3{margin:17px 0 12px}.process p{font-size:.95rem;color:var(--muted)}.local{text-align:center;max-width:900px;margin:auto}.local .eyebrow{margin-bottom:24px}.local h2{margin-bottom:30px}.local p:not(.eyebrow){max-width:660px;margin:16px auto 0}.cta{margin:0 5.5% 85px;background:var(--ink);padding:57px 5%;display:flex;justify-content:space-between;align-items:center;gap:40px;color:#e4ebef}.cta .eyebrow{color:#becfd7;margin-bottom:18px}.cta h2{color:white;font-size:clamp(2rem,3vw,3.1rem)}.cta p{margin-top:20px;font-size:.95rem}.cta .button{flex-shrink:0}footer{padding:50px 5.5% 24px;background:var(--tint);font-size:.85rem}.footer-top{display:grid;grid-template-columns:1.3fr 1fr .6fr;gap:30px;padding-bottom:45px}.footer-brand{font-family:var(--serif);font-size:2.2rem;color:var(--ink)}.footer-top>div>a{display:block;margin-top:10px;overflow-wrap:anywhere}.footer-top .eyebrow{margin:12px 0 18px}.footer-bottom{border-top:1px solid #cdd6db;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:.75rem}.page-hero{background:var(--tint);padding-top:65px;padding-bottom:65px}.page-hero .eyebrow{margin:18px 0 20px}.page-hero h1{max-width:900px}.page-hero .lead{max-width:740px;margin-top:27px}.page-hero .button{margin-top:30px}.breadcrumb{font-size:.8rem;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:10%;align-items:start}.detail-step{position:relative;border-bottom:1px solid var(--line);padding:32px 0 32px 40px}.detail-step .number{position:absolute;top:37px;left:0}.detail-step h2{font-family:var(--sans);font-size:1.35rem;letter-spacing:-.02em;margin:0 0 15px;line-height:1.4}.detail-grid aside{background:var(--tint);padding:36px}.detail-grid aside h2{font-size:2.1rem;margin:22px 0}.detail-grid aside .text-link{margin-top:25px}.note{padding-top:0;padding-bottom:0;max-width:900px}.note h2{font-family:var(--sans);font-size:1.3rem;letter-spacing:0;margin-bottom:18px}.gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}.gallery figure:nth-child(2){margin-top:100px}.gallery img{width:100%;object-fit:cover}.gallery figcaption{padding-top:25px}.gallery h2{font-size:2rem;margin-bottom:15px}.contact-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:8%}.contact-grid aside h2{font-size:2.2rem;margin-bottom:15px}.contact-item{margin:30px 0}.contact-item>a{display:block;margin-top:8px;font-size:1.05rem;overflow-wrap:anywhere}.contact-grid aside>p:last-child{max-width:330px;font-size:.95rem}.form-panel{background:var(--tint);padding:36px}.form-panel h2{font-size:2rem;margin-bottom:17px}.form-panel>p{font-size:.9rem;color:var(--muted);margin-bottom:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:.875rem;display:block;margin-bottom:20px}input,select,textarea{display:block;width:100%;border:1px solid #b5c3ca;padding:12px;background:white;color:var(--ink);border-radius:0;margin-top:8px;font-size:1rem;min-width:0}textarea{resize:vertical}input{height:48px}.fine{font-size:.8rem;color:var(--muted);margin-bottom:25px}.fine a,.prose a,.form-result a{text-decoration:underline}.form-result{margin-top:25px;font-size:.9rem}.form-result textarea{font-size:.9rem}.form-result .button{margin-top:12px}.prose{max-width:880px}.prose h2{font-size:1.8rem;margin:35px 0 17px}.prose h2:first-child{margin-top:0}[hidden]{display:none!important}
@media(min-width:1550px){body{max-width:1800px;margin:auto}.hero{min-height:760px}.hero-copy{padding-top:90px;padding-bottom:65px}}
@media(max-width:1050px){header{padding:14px 4%}nav{gap:22px}.brand img{width:145px;height:66px}.hero-copy{padding:50px 7%}.hero h1{font-size:3.2rem}.hero{min-height:610px}.hero .eyebrow{font-size:.625rem}.hero-note{gap:12px}.section{padding:65px 5%}.service,.service+.service{padding:25px 18px}.service:first-child{padding-left:0}.service h3{font-size:1.1rem}.service .text-link{font-size:.8rem;gap:10px}.project-grid img{height:310px}.cta{margin:0 5% 65px;padding:40px 5%}.cta h2{font-size:2.4rem}.contact-grid{gap:5%;grid-template-columns:.85fr 1.3fr}.form-panel{padding:25px}}
@media(max-width:760px){header{min-height:88px;padding:10px 6%}.brand img{width:145px;height:66px}.menu-toggle{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);padding:10px 14px;font-size:.875rem;color:var(--ink)}nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;box-shadow:0 15px 20px #18323e12;border-bottom:1px solid var(--line);padding:20px 6%;align-items:stretch}nav.open{display:flex;flex-direction:column;gap:0}nav>a{padding:15px 0}nav .button{margin:10px 0}.hero{display:flex;flex-direction:column}.hero-copy{padding:42px 6% 35px}.hero h1{font-size:clamp(2.7rem,8.8vw,4.6rem)}.hero .eyebrow{font-size:.65rem;letter-spacing:.1em;margin-bottom:24px}.hero .lead{font-size:1rem;margin:24px 0}.hero-note{font-size:.6rem;margin-top:30px;gap:20px}.hero-image{min-height:380px}.hero-image>img{height:100%;object-position:center 55%}.intro-strip{padding:25px 6%;align-items:flex-start;flex-direction:column;gap:10px}.intro-strip p{font-size:.8rem;line-height:1.8}.intro-strip b{margin:0 6px}.section{padding:56px 6%}.section-head{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:32px}.section-head .eyebrow{margin-bottom:17px}.section-head p br{display:none}h2{font-size:2.4rem}.services{grid-template-columns:1fr 1fr}.service,.service+.service{padding:24px 18px}.service:nth-child(odd){border-left:0;padding-left:0}.service:nth-child(3),.service:nth-child(4){border-top:1px solid var(--line)}.service h3{font-size:1.17rem;margin:23px 0 12px}.service p{font-size:.9rem;margin-bottom:22px}.service .text-link{font-size:.8rem}.approach{grid-template-columns:1fr;gap:36px}.approach-image img{aspect-ratio:1.35}.approach-copy h2{margin-bottom:22px}.project-grid{grid-template-columns:1fr;gap:36px}.project-grid img{height:auto;aspect-ratio:1.35;object-fit:cover}.project-grid h3{font-size:1.4rem}.process ol{grid-template-columns:1fr 1fr;gap:24px}.process h3{font-size:1.15rem}.process p{font-size:.9rem}.local h2{font-size:2.2rem}.cta{margin:0 6% 56px;padding:34px 26px;align-items:flex-start;flex-direction:column;gap:27px}.cta h2{font-size:2.1rem}.cta p{font-size:.9rem}footer{padding:37px 6% 24px}.footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:nth-child(2){min-width:0}.footer-bottom{align-items:flex-start;flex-wrap:wrap;gap:12px}.footer-bottom span{width:100%}.footer-bottom a:last-child{margin-left:auto}.page-hero h1{font-size:2.8rem}.page-hero .lead{font-size:1.05rem}.detail-grid{grid-template-columns:1fr;gap:35px}.detail-grid aside{padding:28px}.note{padding-top:0;padding-bottom:0}.gallery{grid-template-columns:1fr;gap:45px}.gallery figure:nth-child(2){margin-top:0}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-grid aside>p:last-child{max-width:none}.form-panel{padding:26px 20px}.form-row{grid-template-columns:1fr;gap:0}.contact-item>a{font-size:1rem}.form-panel .button{width:100%;gap:18px}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Two complementary areas of expertise */
.hero-choices{display:flex;flex-wrap:wrap;gap:12px;width:100%}.hero-choices a{flex:1 1 180px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--ink);padding:14px 15px;font-size:.85rem;line-height:1.5;background:var(--ink);color:white}.hero-choices a:nth-child(2){background:white;color:var(--ink)}.hero-choices a:hover{background:var(--tint);color:var(--ink)}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.expertise{padding:38px;background:var(--tint);border-top:2px solid var(--ink);display:flex;flex-direction:column;align-items:flex-start}.expertise.interior{background:#f7f3f0;border-top-color:var(--accent)}.expertise h3{font-family:var(--serif);font-size:2.5rem;line-height:1.1;margin:24px 0;letter-spacing:-.025em}.expertise ul{padding-left:20px;margin:22px 0 28px;font-size:.95rem}.expertise li{margin:8px 0}.expertise .text-link{margin-top:auto}.interior-hero{background:#f7f3f0}nav{gap:22px;font-size:.85rem}nav .button.small{gap:12px}
@media(max-width:1100px) and (min-width:761px){header{gap:18px}.brand img{width:125px}nav{gap:15px;font-size:.8rem}nav .button.small{max-width:140px;font-size:.8rem;padding:10px 12px}.expertise{padding:28px}.expertise h3{font-size:2.2rem}}
@media(max-width:760px){.expertise-grid{grid-template-columns:1fr;gap:22px}.expertise{padding:28px 24px}.expertise h3{font-size:2.25rem}.hero-choices{gap:10px}.hero-choices a{flex-basis:100%;justify-content:center;padding:14px}nav{font-size:1rem}.hero-note{margin-top:24px}}
.faq{max-width:1060px;margin:auto}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:1.05rem;color:var(--ink);padding-right:18px}.faq details p{max-width:790px;margin-top:18px;color:var(--muted)}
