:root{--paper:#f8f6ef;--ink:#30312d;--bronze:#8b652e;--rule:#d8d2c6;--muted:#696b63;--white:#fffefa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--bronze);outline-offset:5px}p{margin:0 0 24px}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);padding:0 5.5%;background:var(--paper);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:18px}.brand-mark{font:42px Georgia,serif;letter-spacing:-3px}.dot{color:var(--bronze)}.brand-name{font-size:9px;line-height:1.5;letter-spacing:1.5px;border-left:1px solid var(--rule);padding-left:18px}nav{display:flex;align-items:center;gap:32px;font-size:12px}nav a:hover{color:var(--bronze)}.nav-cta{border-bottom:1px solid var(--bronze);padding-bottom:5px}.nav-cta span{margin-left:22px}.menu-toggle{display:none}.hero{padding:35px 7% 85px}.hero-top{display:flex;justify-content:space-between;gap:15px}.eyebrow,.small-label,.since{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.7}.eyebrow{color:var(--bronze)}.since{color:var(--muted);letter-spacing:1.3px}.hero-logo{width:100%;height:auto;max-width:1080px;display:block;margin:0 auto 8px;mix-blend-mode:multiply}.hero-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:11%;border-top:1px solid var(--rule);padding-top:46px}.hero h1{font:32px/1.3 Georgia,serif;font-weight:400;margin:0 0 24px;max-width:650px}.hero p{font-size:14px}.hero-intro{padding-top:6px}.hero-intro .small-label{display:block;margin-bottom:22px;color:var(--bronze)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:15px 23px;font-size:12px;cursor:pointer;transition:background .2s}.button:hover{background:var(--bronze);border-color:var(--bronze)}.section{padding:100px 7%;scroll-margin-top:0}.section-head{margin-bottom:55px}.section-head .eyebrow{display:block;margin-bottom:22px}h2{font:clamp(40px,4.4vw,65px)/1.12 Georgia,serif;font-weight:400;letter-spacing:-1.7px;margin:0 0 25px}h2 em{font-weight:400;color:var(--bronze)}.section-head>p{max-width:620px;font-size:15px}.approach{background:#eeece3}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.drawing{color:var(--bronze);padding:25px 0;position:sticky;top:150px}.drawing svg{display:block;width:100%;height:auto}.drawing>span{display:block;text-align:center;font-size:8px;letter-spacing:2px;margin-top:20px;color:var(--muted)}.body-copy{font-size:14px}.body-copy .lead,.lead{font:22px/1.55 Georgia,serif}.service-list{border-top:1px solid var(--rule)}.service-list article{display:grid;grid-template-columns:45px 1fr 1fr;gap:30px;align-items:start;padding:30px 0;border-bottom:1px solid var(--rule)}.service-list article>span{font:italic 16px Georgia,serif;color:var(--bronze);padding-top:7px}.service-list h3{font:26px/1.3 Georgia,serif;font-weight:400;margin:0}.service-list p{font-size:14px;margin:0}.specialist{margin:30px 0 0 75px;max-width:720px;font-size:12px;color:var(--muted)}.experience{border-top:1px solid var(--rule);background:#f1eee5}.experience-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:12%}.year{display:block;font:110px/1 Georgia,serif;letter-spacing:-7px;color:var(--bronze);margin-bottom:28px}.milestone .small-label{display:block;margin-bottom:16px}.milestone p{font-size:14px}.line{width:70px;height:1px;background:var(--bronze);margin:45px 0}.milestone-note{font:italic 25px/1.6 Georgia,serif!important}.local{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.local:after{content:'APM';position:absolute;right:-30px;bottom:-110px;font:400px Georgia,serif;color:#ffffff04;pointer-events:none}.local-inner{position:relative;z-index:1;max-width:800px;margin:0 auto}.local .eyebrow{color:#ceb184;display:block;margin-bottom:25px}.local h2 em{color:#ceb184}.local p:not(.lead){font-size:14px;color:#deded3}.towns{display:flex;flex-wrap:wrap;gap:12px 25px;border-top:1px solid #ffffff30;margin-top:40px;padding-top:25px;font-size:11px;letter-spacing:1px}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;padding-top:110px}.contact .eyebrow{display:block;margin-bottom:24px}.contact-intro>p:not(.lead){font-size:14px}.contact-intro h2{font-size:clamp(42px,4.1vw,62px)}.form-wrap{background:var(--white);border:1px solid var(--rule);padding:34px}.form-wrap h3{font:27px/1.3 Georgia,serif;font-weight:400;margin:0 0 20px}.preview-note{font-size:11px;color:var(--muted);background:#f0eee6;padding:10px 12px;line-height:1.6}.preview-note span{color:var(--bronze);font-weight:bold;font-size:9px;letter-spacing:1px;margin-right:5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form label{display:block;font-size:11px;margin-bottom:18px}input:not([type=radio]),textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #bdb9ad;padding:8px 0;font-size:14px;color:var(--ink);border-radius:0}textarea{resize:vertical}input::placeholder{font-size:11px;color:#77786d}fieldset{border:0;padding:0;margin:0 0 20px}legend{font-size:11px;margin-bottom:10px}.radio{display:inline-flex;align-items:center;gap:8px;margin:0 22px 0 0}.radio input{accent-color:var(--bronze)}form .button{width:100%}#form-status{font-size:12px;margin:15px 0 0}footer{border-top:1px solid var(--rule);padding:50px 7% 25px;display:grid;grid-template-columns:1.4fr 1fr;gap:25px 12%}footer>div:first-child{display:flex;gap:25px;align-items:center}.footer-brand{font:50px Georgia,serif;letter-spacing:-3px}.footer-brand span{color:var(--bronze)}footer p{font-size:11px;line-height:1.9;margin:0}footer strong{font-weight:500}footer em{color:var(--bronze)}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);padding-top:22px;margin-top:20px;font-size:9px;color:var(--muted)}.skip{position:fixed;left:15px;top:-100px;background:var(--ink);color:white;padding:10px 20px;z-index:50}.skip:focus{top:10px}@media(min-width:1600px){header{padding-left:max(5.5%,calc((100vw - 1400px)/2));padding-right:max(5.5%,calc((100vw - 1400px)/2))}.hero,.section,footer{padding-left:max(7%,calc((100vw - 1300px)/2));padding-right:max(7%,calc((100vw - 1300px)/2))}}@media(max-width:850px){header{height:80px;padding:0 6%}.brand-mark{font-size:36px}.brand-name{font-size:8px}.menu-toggle{display:flex;gap:20px;background:none;border:0;padding:10px 0;font-size:12px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--rule);flex-direction:column;align-items:flex-start;gap:20px}nav.open{display:flex}.hero{padding:25px 6% 65px}.hero-top{flex-direction:column;gap:5px}.eyebrow,.since{font-size:9px;letter-spacing:1.2px}.hero-logo{margin:12px auto 20px;width:112%;max-width:none;position:relative;left:-6%}.hero-bottom{grid-template-columns:1fr;gap:35px;padding-top:30px}.hero h1{font-size:29px}.hero-intro{border-left:2px solid var(--bronze);padding:0 0 0 22px}.section{padding:70px 6%}.section-head{margin-bottom:35px}h2{font-size:43px}.approach-layout,.experience-grid,.contact{grid-template-columns:1fr;gap:35px}.drawing{position:static;max-width:500px;margin:0 auto;padding:0}.body-copy .lead,.lead{font-size:21px}.service-list article{grid-template-columns:28px 1fr;gap:10px 15px;padding:25px 0}.service-list h3{font-size:24px}.service-list p{grid-column:2}.specialist{margin-left:43px}.year{font-size:85px}.milestone .line,.milestone-note{display:none}.milestone{border-bottom:1px solid var(--rule);padding-bottom:18px}.contact{display:grid}.form-wrap{padding:25px}.contact-intro h2{font-size:47px}footer{padding:35px 6% 25px;grid-template-columns:1fr;gap:22px}.footer-bottom{flex-direction:column;gap:7px;margin-top:5px}.local:after{font-size:220px;bottom:-50px}}@media(max-width:400px){.brand-name{display:none}.form-row{grid-template-columns:1fr;gap:0}.form-wrap{padding:20px}.hero h1{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Architectural dimension rules extend the three introductory headings. */
.heading-line{display:flex;align-items:center;gap:34px;width:100%}
.heading-line>span{flex:none}
.heading-line:after{content:"";flex:1;min-width:45px;height:27px;opacity:1;background:linear-gradient(var(--bronze),var(--bronze)) center / 100% 6px no-repeat,linear-gradient(var(--bronze),var(--bronze)) right center / 3px 27px no-repeat,linear-gradient(var(--bronze),var(--bronze)) calc(100% - 10px) center / 3px 11px no-repeat;transform:translateY(7px)}
@media(max-width:850px){.heading-line{display:block}.heading-line:after{display:none}}

.verification{margin:4px 0 22px;max-width:100%}.verification-label{display:block;font-size:11px;margin-bottom:10px}.verification-note{font-size:10px;color:var(--muted);line-height:1.6;margin:8px 0 0}#verification-status{font-size:11px;margin:6px 0 0}.verification-retry{font-size:11px;color:var(--bronze);background:none;border:0;border-bottom:1px solid currentColor;cursor:pointer;padding:0;margin-top:8px}.button:disabled{cursor:not-allowed;opacity:.5}.cf-turnstile{min-height:65px;max-width:100%}

.form-trap{display:none!important}.form-privacy{font-size:10px;color:var(--muted);line-height:1.7;margin:18px 0 0}.form-privacy a{border-bottom:1px solid var(--rule)}.verification-note{margin-bottom:18px}.thank-you{max-width:760px;margin:12vh auto;padding:40px 7%}.thank-you h1{font:clamp(38px,6vw,70px)/1.15 Georgia,serif;font-weight:400}.thank-you h1 em{color:var(--bronze)}.thank-you p{max-width:480px}

.service-guides{border-top:1px solid var(--rule);margin-top:40px;padding-top:25px}.service-guides>div{display:flex;flex-wrap:wrap;gap:15px 30px;margin-top:15px}.service-guides a{font-size:13px;border-bottom:1px solid var(--bronze);padding-bottom:4px}.service-guides a span{margin-left:10px}.guide-hero{padding:55px 7% 75px;border-bottom:1px solid var(--rule);background:#eeece3}.guide-back{display:block;font-size:11px;color:var(--muted);margin-bottom:45px}.guide-hero .eyebrow{display:block;margin-bottom:20px}.guide-hero h1{font:clamp(38px,5vw,68px)/1.12 Georgia,serif;letter-spacing:-1.5px;margin:0 0 30px}.guide-hero h1 em{color:var(--bronze)}.guide-hero .lead{max-width:800px;margin-bottom:30px}.guide-body{max-width:940px;margin:0 auto;padding:65px 6%}.guide-section{margin-bottom:50px}.guide-section h2,.guide-faq h2,.guide-cta h2{font:32px/1.25 Georgia,serif;letter-spacing:-.5px}.guide-section p,.guide-faq p{font-size:15px}.guide-faq{margin:20px 0 50px}.guide-faq details{padding:18px 0;border-bottom:1px solid var(--rule)}.guide-faq summary{cursor:pointer;font-size:15px;font-weight:600}.guide-faq details p{margin:15px 0 0}.guide-related{border-top:1px solid var(--rule);padding-top:25px;margin-bottom:50px}.guide-related .eyebrow{display:block;margin-bottom:15px}.guide-related a{display:block;font-size:14px;padding:5px 0;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--bronze)}.guide-cta{background:#eeece3;padding:30px}.guide-cta p{font-size:14px}@media(max-width:850px){.guide-hero{padding:35px 6% 50px}.guide-back{margin-bottom:30px}.guide-hero h1{font-size:42px}.guide-body{padding:45px 6%}.guide-section h2,.guide-faq h2,.guide-cta h2{font-size:29px}.service-guides>div{flex-direction:column;align-items:flex-start}}
