:root{--paper:#f6f4ee;--ink:#192b2a;--muted:#626c65;--line:#d8dbd1;--accent:#a59268;--white:#fff;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,select{font:inherit}a,button,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #8b7042;outline-offset:5px}::selection{background:#ddcda9;color:var(--ink)}.skip{position:fixed;left:16px;top:-90px;z-index:20;background:#fff;padding:12px}.skip:focus{top:12px}.header{height:106px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #eee;position:relative;z-index:5}.brand{line-height:0}.brand img{width:144px;height:91px;object-fit:contain}.header nav{display:flex;gap:35px;align-items:center;font-size:12px}.header nav>a{padding:10px 0}.header nav>a:hover{color:#866b3f}.header .nav-contact{padding:12px 20px;border:1px solid var(--ink)}.nav-contact span{margin-left:16px}.menu-toggle{display:none}.section-pad{padding:100px 6%}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:7%;padding-top:55px;padding-bottom:55px;max-width:1640px;margin:auto}.hero-copy{padding-top:35px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;margin:0 0 28px;line-height:1.5}.eyebrow>span{width:7px;height:7px;background:var(--accent);display:inline-block;border-radius:50%;margin-right:10px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2.5px;line-height:1.05}h1{font-size:clamp(52px,5.25vw,90px);margin-bottom:28px}em{font-family:var(--serif);font-weight:400;color:#7c806b}.hero-lead{font-size:19px;line-height:1.5;max-width:400px;margin-bottom:16px}.hero-description{max-width:400px;font-size:13px;color:var(--muted);line-height:1.9}.actions{display:flex;align-items:center;gap:25px;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 22px;font-size:12px;line-height:1.5;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:#fff}.dark:hover{background:#344d46}.light{background:var(--paper);color:var(--ink)}.text-link{font-size:11px;border-bottom:1px solid #9b9f90;padding-bottom:5px}.text-link span{margin-left:16px}.hero-foot{display:flex;gap:22px;align-items:center;border-top:1px solid var(--line);margin-top:56px;padding-top:20px;font-size:10px;line-height:1.5;color:var(--muted)}.hero-foot>span:first-child{font-family:var(--serif);letter-spacing:2px;color:var(--ink);font-size:12px}.hero-visual{position:relative;background:#dce3dd;overflow:hidden;align-self:start}.visual-heading{display:flex;justify-content:space-between;padding:22px 26px;font-size:8px;letter-spacing:1.3px;position:absolute;top:0;left:0;right:0;z-index:1}.building{width:100%;display:block;min-height:500px;object-fit:cover}.visual-caption{position:absolute;bottom:0;left:0;right:0;padding:24px 26px;display:flex;justify-content:space-between;align-items:end;background:linear-gradient(transparent,rgba(240,236,224,.96));font-family:var(--serif);font-size:20px;line-height:1.2}.caption-small{font:8px/1.6 Arial,sans-serif;text-align:right;text-transform:uppercase;letter-spacing:1px}.service-strip{border-block:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:24px 6%;font-size:10px;letter-spacing:1px}.service-strip i{color:var(--accent);font-style:normal}.services{display:grid;grid-template-columns:.9fr 1.25fr;gap:12%;max-width:1640px;margin:auto}.section-intro{position:sticky;top:60px;align-self:start}.section-intro>p:last-child{max-width:330px;color:var(--muted);font-size:13px}h2{font-size:clamp(40px,4vw,64px);margin-bottom:25px}.service-list article{display:grid;grid-template-columns:24px 1fr 32px;gap:20px;border-top:1px solid var(--line);padding:28px 0}.service-list article:last-child{border-bottom:1px solid var(--line)}.service-no{font-size:10px;color:#868f7e;padding-top:7px}.service-list h3{font-family:var(--serif);font-size:26px;line-height:1.2;font-weight:400;margin-bottom:15px;letter-spacing:-.5px}.service-list p{font-size:12px;color:var(--muted);margin-bottom:15px;max-width:430px}.service-list ul{padding:0;list-style:none;margin:0;font-size:10px;line-height:1.9}.service-list li:before{content:'—';margin-right:8px;color:var(--accent)}.service-list article>a{border:1px solid var(--line);height:32px;text-align:center;font-size:18px;transition:background .2s}.service-list article>a:hover{background:#e2e5d8}.projects{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.05fr 1fr;gap:15%}.projects em{color:#c6c7af}.project-panel>p:not(.eyebrow){color:#c1cbc3;font-size:13px;max-width:415px;line-height:1.85;margin-bottom:30px}.project-diagram{border-left:1px solid #53635b;padding-left:35px}.diagram-label{font-size:9px;letter-spacing:1.5px;color:#aab8ad;display:block;margin-bottom:22px}.phase{position:relative;border-top:1px solid #53635b;display:grid;grid-template-columns:35px 1fr;padding:20px 0;gap:0 20px}.phase>span{font-size:10px;color:#bdc5a5;padding-top:7px}.phase h3{font-family:var(--serif);font-size:28px;font-weight:400;margin-bottom:4px}.phase p{grid-column:2;font-size:11px;color:#bfc9c1;margin-bottom:0;max-width:270px}.method{display:grid;grid-template-columns:1fr 1.4fr;gap:12%;max-width:1640px;margin:auto}.method-steps{display:grid;gap:30px}.method-steps article{border-bottom:1px solid var(--line);padding-bottom:24px}.method-steps article>span{font-size:9px;letter-spacing:1.4px;color:#737d6c}.method-steps h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:12px 0}.method-steps p{font-size:12px;color:var(--muted);max-width:450px;margin-bottom:0}.about{background:#e8e9df;padding-top:70px;padding-bottom:60px}.about-statement{font-family:var(--serif);font-size:clamp(29px,3.35vw,52px);line-height:1.3;letter-spacing:-1px;max-width:1050px;margin-bottom:36px}.about-bottom{display:flex;justify-content:space-between;align-items:start;gap:50px;border-top:1px solid #c8ccbd;padding-top:25px}.about-bottom>span{font-size:9px;letter-spacing:1px}.about-bottom p{max-width:430px;font-size:12px;color:var(--muted);margin-bottom:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:15%;max-width:1640px;margin:auto}.contact>div>p:not(.eyebrow){font-size:13px;color:var(--muted)}.contact-phone{display:block;font-family:var(--serif);font-size:29px;line-height:1.5;margin-top:30px}.contact-phone span{font:18px Arial;margin-left:15px}.contact-email{display:inline-block;font-size:12px;border-bottom:1px solid #c5c9b9;padding-bottom:5px;overflow-wrap:anywhere}.contact-box{background:white;border:1px solid var(--line);padding:35px;align-self:center}.contact-box label{display:block;font-size:13px;margin-bottom:12px}.contact-box select{width:100%;border:0;border-bottom:1px solid #a8af9e;background:#fff;border-radius:0;color:var(--ink);padding:12px 0;margin-bottom:20px;font-size:14px}.contact-box p{font-size:12px;color:var(--muted);margin-bottom:25px}.contact-box .button{width:100%;margin-bottom:20px}.contact-box .text-link{display:table;margin-bottom:25px}.contact-box small{display:block;font-size:9px;line-height:1.7;color:#6c746a}.footer{padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ink);color:var(--paper);font-size:9px}.footer>a:first-child{font-family:var(--serif);font-size:22px;letter-spacing:2px}.footer>a:first-child span{display:block;font:7px Arial;letter-spacing:2.4px;margin-top:4px}.footer p{margin:0;color:#bbc8bd}.footer>span{color:#bbc8bd}.back-top{border:1px solid #657367;width:34px;height:34px;display:grid;place-items:center;font-size:17px}
@media(min-width:1600px){.section-pad{padding-left:max(6%,calc((100vw - 1450px)/2));padding-right:max(6%,calc((100vw - 1450px)/2))}.hero{padding-left:6%;padding-right:6%}}
@media(max-width:1000px){.hero{gap:5%;grid-template-columns:1fr 1fr}.hero-copy{padding-top:12px}h1{font-size:54px}.hero-lead{font-size:17px}.hero-foot{margin-top:28px}.building{min-height:530px}.actions{gap:18px}.button{gap:20px;padding:14px 17px}.header nav{gap:22px}.projects{gap:8%}.services{gap:7%}.contact{gap:8%}.service-strip{font-size:9px;gap:12px}.section-pad{padding-top:75px;padding-bottom:75px}.hero{padding-top:40px;padding-bottom:40px}}
@media(max-width:700px){html{scroll-padding-top:25px}.header{height:86px;padding:0 6%}.brand img{width:117px;height:76px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid var(--line);font-size:11px;padding:8px 11px;color:var(--ink)}.header nav{display:none;position:absolute;top:86px;left:0;right:0;background:white;padding:20px 6%;box-shadow:0 10px 16px #192b2a12;align-items:stretch;gap:5px}.header nav.open{display:flex;flex-direction:column}.header nav>a{padding:12px 0}.header .nav-contact{padding:12px;margin-top:10px}.hero{grid-template-columns:1fr;gap:38px;padding-top:35px}.hero-copy{padding:0}h1{font-size:clamp(48px,12vw,74px);letter-spacing:-2px}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:24px}.hero-lead{max-width:390px;font-size:18px}.hero-description{font-size:12px}.hero-foot{margin-top:30px}.hero-visual{max-width:500px;width:100%;justify-self:center}.building{min-height:0}.service-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-block:22px;font-size:9px}.service-strip i{display:none}.services,.projects,.method,.contact{grid-template-columns:1fr;gap:32px}.section-pad{padding-top:56px;padding-bottom:56px}.hero{padding-top:35px;padding-bottom:35px}.section-intro{position:static}.section-intro>p:last-child{max-width:420px}.service-list article{gap:12px;grid-template-columns:22px 1fr 30px;padding:25px 0}.service-list h3{font-size:25px}.service-list ul{font-size:10px}.projects h2{font-size:48px}.project-diagram{padding-left:20px;margin-top:10px}.about-bottom{flex-direction:column;gap:20px}.about-statement{font-size:32px}.contact-box{padding:25px}.footer{flex-wrap:wrap;gap:25px}.footer>span{display:none}.footer p{margin-left:auto}.back-top{margin-left:auto}.contact-phone{font-size:29px}h2{font-size:45px}.about{padding-top:50px;padding-bottom:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
