@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img,svg{display:block}img{max-width:100%;height:auto}button{border:0}figure,p,h1,h2,h3{margin:0}[hidden]{display:none!important}}@layer base{:root{--paper:#f6f4ed;--ink:#292e24;--muted:#666a5e;--olive:#394331;--light-olive:#e5e8dc;--cream:#eeeadf;--clay:#a34f32;--hairline:#39433125;--serif:var(--font-cormorant), Georgia, serif;--sans:var(--font-geist), sans-serif;--ease:cubic-bezier(.22,.68,0,1);--layer-nav:20;--layer-skip:30}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.65}h1,h2,h3{font-weight:400}h2{font-family:var(--serif);letter-spacing:-.045em;font-size:clamp(48px,5.2vw,76px);line-height:.98}h2 em,h1 em{font-weight:400}::selection{color:#242b22;background:#d8cba8}:focus-visible{outline:2px solid var(--clay);outline-offset:5px}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}main{width:100%;max-width:100%;overflow:clip}[id]{scroll-margin-top:130px}}@layer components{.back-top{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.footer-legal{border-top:1px solid #ffffff20;flex-wrap:wrap;gap:24px;padding:25px 0;font-size:11px;display:flex}.wrap{width:min(1320px,100% - 112px);margin-inline:auto}.section-pad{padding-block:140px}.section-kicker{letter-spacing:.13em;text-transform:uppercase;margin-bottom:26px;font-size:11px;font-weight:500;line-height:1.5}.arrow{flex:none;width:21px;height:21px}.arrow.diagonal{transform:rotate(-45deg)}.button{background:var(--olive);color:#fff;min-height:58px;transition:transform .5s var(--ease), background .5s var(--ease);border-radius:100px;justify-content:space-between;align-items:center;gap:30px;padding:8px 9px 8px 25px;font-size:13px;font-weight:500;display:inline-flex}.button-icon{width:40px;height:40px;transition:transform .5s var(--ease);background:#ffffff16;border-radius:50%;place-items:center;display:grid}.button:hover .button-icon{transform:translate(2px,-1px)scale(1.05)}.button:hover{background:#20291d}.button:active{transform:scale(.98)}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#fff}.button-light .button-icon{background:#3943310e}.text-link{align-items:center;gap:18px;padding-block:10px;font-size:13px;font-weight:500;display:inline-flex}.text-link .arrow{transition:transform .5s var(--ease)}.text-link:hover .arrow{transform:translate(5px)}.round-arrow{width:48px;height:48px;transition:transform .5s var(--ease), background .5s var(--ease);border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 1px}a:hover>.round-arrow,.round-arrow:hover{transform:rotate(8deg)}.media-shell{background:#494c3510;border-radius:20px;padding:5px;box-shadow:inset 0 0 0 1px #404c2910}.media-core{border-radius:15px;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #ffffff25}.media-core>img{object-fit:cover;transition:transform 1s var(--ease)}a:hover .media-core>img{transform:scale(1.035)}.image-note{color:var(--muted);letter-spacing:.02em;margin-top:14px;font-size:10px}.skip-link{z-index:var(--layer-skip);background:#fff;padding:12px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand>svg{width:37px;height:41px}.brand>span{gap:3px;line-height:1.2;display:grid}.brand strong{letter-spacing:.045em;font-size:12px;font-weight:600}.brand strong small{color:var(--clay);font-size:10px}.brand>span>span{letter-spacing:.22em;font-size:8px}.site-header{z-index:var(--layer-nav);max-width:1472px;margin-inline:auto;position:fixed;top:19px;left:28px;right:28px}.nav-island{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#f9f8f1f2;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;min-height:79px;padding:12px 16px 12px 25px;display:flex;position:relative;box-shadow:0 6px 30px #1e251c08,inset 0 1px #ffffffa8}.desktop-nav{align-items:center;gap:clamp(15px,2vw,32px);display:flex}.desktop-nav a,.desktop-nav button{white-space:nowrap;background:0 0;align-items:center;gap:9px;padding:12px 0;font-size:12px;display:flex}.desktop-nav a:hover,.desktop-nav button:hover,.desktop-nav button[aria-expanded=true]{color:var(--clay)}.chevron{width:6px;height:6px;transition:transform .4s var(--ease);border-bottom:1px solid;border-right:1px solid;display:block;transform:rotate(45deg)translateY(-2px)}[aria-expanded=true] .chevron,details[open]>summary .chevron{transform:rotate(225deg)}.nav-cta{background:var(--olive);color:#fff;white-space:nowrap;border-radius:50px;align-items:center;gap:18px;padding:7px 7px 7px 19px;font-size:11px;display:flex}.nav-cta>span{width:36px;height:36px;transition:transform .4s var(--ease);background:#ffffff16;border-radius:50%;place-items:center;display:grid}.nav-cta:hover>span{transform:rotate(8deg)}.mega-menu{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);max-height:calc(100dvh - 135px);animation:menuReveal .35s var(--ease);background:#f9f8f5fa;border-radius:19px;grid-template-columns:1fr 3fr;gap:40px;margin-top:9px;padding:35px;display:grid;overflow-y:auto;box-shadow:0 15px 45px #242f2020}.menu-intro{border-right:1px solid var(--hairline);flex-direction:column;justify-content:space-between;gap:30px;padding-right:30px;display:flex}.menu-intro>span{font-family:var(--serif);font-size:35px;line-height:1.1}.menu-intro>a{align-items:center;gap:12px;font-size:12px;display:flex}.menu-columns{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.menu-columns h2{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin:0 0 16px;font-size:11px;font-weight:500}.menu-columns a,.menu-town-grid a{transition:color .3s var(--ease);justify-content:space-between;align-items:center;gap:7px;padding:10px 0;font-size:12px;display:flex}.menu-columns a:hover,.menu-town-grid a:hover{color:var(--clay)}.menu-columns .arrow,.menu-town-grid .arrow{opacity:.5;width:15px;height:15px}.menu-town-grid{grid-template-columns:repeat(3,1fr);gap:0 30px;display:grid}.menu-town-grid p{color:var(--muted);grid-column:1/-1;margin-top:12px;font-size:11px}.mobile-toggle{background:0 0;flex:none;width:44px;height:44px;display:none;position:relative}.mobile-toggle>span{background:var(--ink);width:24px;height:1px;transition:transform .4s var(--ease);position:absolute;top:17px;left:10px}.mobile-toggle>span+span{top:25px}.mobile-toggle[aria-expanded=true]>span{transform:translateY(4px)rotate(45deg)}.mobile-toggle[aria-expanded=true]>span+span{transform:translateY(-4px)rotate(-45deg)}.mobile-navigation{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);overscroll-behavior:contain;max-height:calc(100dvh - 110px);animation:menuReveal .4s var(--ease);background:#f8f6effa;border-radius:18px;margin-top:8px;padding:20px 25px 40px;overflow-y:auto}.mobile-navigation>a,.mobile-navigation>details>summary{font-family:var(--serif);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:18px 0;font-size:30px;display:flex}.mobile-navigation details a{padding:10px 0;font-size:13px;display:block}.mobile-navigation details>div{padding:15px 0}.mobile-navigation>p{color:var(--muted);margin-top:30px;font-size:11px}.site-footer{color:#eaece3;background:#252e23;padding:65px 56px 24px}.footer-top,.footer-links,.footer-bottom,.footer-wordmark{max-width:1320px;margin-inline:auto}.brand-light strong small{color:#c6cfb4}.footer-top{border-bottom:1px solid #f4f3e81a;justify-content:space-between;align-items:center;padding-bottom:58px;display:flex}.footer-top>p{font-family:var(--serif);font-size:31px;line-height:1.1}.back-top{align-items:center;gap:14px;font-size:11px;display:flex}.footer-links{grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:35px;padding-block:55px 45px;display:grid}.footer-links h2{font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;color:#b9c0ad;margin-bottom:20px;font-size:10px}.footer-links a{color:#e7e7d8;gap:6px;padding-block:6px;font-size:11px;display:flex}.footer-links a:hover{color:#fff;text-underline-offset:4px;text-decoration:underline}.footer-links .arrow{width:14px;height:14px}.footer-person{color:#b9c0ad;margin-top:22px;font-size:11px}.footer-wordmark{font-family:var(--serif);letter-spacing:-.055em;white-space:nowrap;color:#aebaa28c;text-align:center;padding-block:15px 35px;font-size:clamp(60px,13.2vw,192px);line-height:1}.footer-bottom{color:#b9c0ad;border-top:1px solid #f4f3e820;justify-content:space-between;gap:16px;padding-top:24px;font-size:9px;display:flex}@keyframes menuReveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1600px){.section-pad{padding-block:165px}}@media (max-width:1150px){.desktop-nav{gap:18px}.desktop-nav a,.desktop-nav button{font-size:11px}.nav-island{gap:15px;padding-left:17px}.nav-cta{gap:8px;font-size:10px}.brand strong{font-size:10px}.brand>span>span{font-size:7px}.wrap{width:calc(100% - 72px)}}@media (max-width:1000px){.desktop-nav,.nav-cta{display:none}.mobile-toggle{display:block}.site-header{top:14px;left:18px;right:18px}.nav-island{min-height:70px;padding:10px 14px 10px 20px}.brand strong{font-size:12px}.brand>span>span{font-size:8px}.section-pad{padding-block:100px}}@media (max-width:700px){.wrap{width:calc(100% - 40px)}.section-pad{padding-block:76px}.site-header{top:12px;left:12px;right:12px}.nav-island{border-radius:15px;min-height:65px;padding-left:14px}.brand>svg{width:31px;height:36px}.brand strong{font-size:10px}.brand>span>span{font-size:7px}.button{gap:14px;min-height:56px;padding-left:20px;font-size:12px}.site-footer{padding:45px 20px 24px}.footer-top{flex-wrap:wrap;gap:30px;padding-bottom:35px}.footer-top>p{font-size:25px}.back-top{font-size:10px}.footer-links{grid-template-columns:repeat(2,1fr);gap:40px 24px}.footer-bottom{flex-direction:column;gap:8px}.footer-wordmark{white-space:normal;padding-block:5px 30px;font-size:14vw}.section-kicker{margin-bottom:22px;font-size:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}}.nav-phone{white-space:nowrap;align-items:center;min-height:48px;font-size:12px;font-weight:500;display:flex}.mobile-call{display:none}@media (min-width:1000px) and (max-width:1250px){.nav-phone{display:none}}@media (max-width:999px){body{padding-bottom:80px}.mobile-call{z-index:120;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));color:#fffdf7;background:#384532;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 18px;display:flex;position:fixed;box-shadow:0 3px 16px #18211330}.mobile-call span{font-size:10px}.mobile-call strong{font-size:13px;font-weight:500}.nav-phone{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-call[hidden]{display:none}
@font-face{font-family:geist;src:url(../media/geist_latin_400_normal-s.p.2o3xb38ucbuw3.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:geist;src:url(../media/geist_latin_500_normal-s.p.19fpjsj-urh6p.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:geist;src:url(../media/geist_latin_600_normal-s.p.2wfsxoxr0shu2.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:geist Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geist_e33afe44-module__mmYjRa__className{font-family:geist,geist Fallback}.geist_e33afe44-module__mmYjRa__variable{--font-geist:"geist", "geist Fallback"}
@font-face{font-family:cormorant;src:url(../media/cormorant_garamond_latin_400_normal-s.p.2tp5pqjy048ru.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:cormorant;src:url(../media/cormorant_garamond_latin_400_italic-s.p.3vgpwwuad6sup.woff2)format("woff2");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:cormorant Fallback;src:local(Times New Roman);ascent-override:96.16%;descent-override:29.87%;line-gap-override:0.0%;size-adjust:96.09%}.cormorant_1071fbe6-module__BP74wW__className{font-family:cormorant,cormorant Fallback}.cormorant_1071fbe6-module__BP74wW__variable{--font-cormorant:"cormorant", "cormorant Fallback"}
.hero{color:#fff;isolation:isolate;align-items:center;height:max(690px,min(900px,100dvh));min-height:min(900px,100dvh);padding:145px 35px 115px;display:grid;position:relative}.hero>.hero-image{object-fit:cover;object-position:center 59%;z-index:-2}.hero-wash{z-index:-1;background:linear-gradient(#202a233b 0%,#14231b60 45%,#152419a6 100%);position:absolute;inset:0}.hero-content{text-align:center;width:min(1120px,100%);margin-inline:auto}.hero-location{letter-spacing:.25em;margin-bottom:33px;font-size:10px}.hero h1{font-family:var(--serif);letter-spacing:-.046em;text-wrap:balance;font-size:clamp(58px,7.6vw,112px);line-height:.96}.hero h1 em{color:#f0e8d5}.hero-description{color:#fffffff0;margin-top:29px;font-size:14px;line-height:1.8}.hero-actions{justify-content:center;align-items:center;gap:32px;margin-top:30px;display:flex}.hero-actions .text-link{font-size:12px}.hero-bottom{letter-spacing:.05em;justify-content:space-between;align-items:center;font-size:9px;display:flex;position:absolute;bottom:34px;left:50px;right:50px}.scroll-down{border:1px solid #fff5;border-radius:50%;place-items:center;width:41px;height:41px;display:grid;position:absolute;left:calc(50% - 20px)}.scroll-down .arrow{width:17px;height:17px;transform:rotate(90deg)}.section-lead{justify-content:space-between;align-items:baseline;display:flex}.small-location{letter-spacing:.03em;color:var(--muted);font-size:10px}.story-statement{max-width:1160px;margin-top:25px;font-size:clamp(54px,6.8vw,96px);line-height:1.02}.story-statement em{color:#738163}.inline-photo{vertical-align:middle;border:4px solid #e5e5d8;border-radius:50px;width:132px;height:70px;margin-inline:10px 6px;display:inline-block;overflow:hidden}.inline-photo img{object-fit:cover;object-position:50% 38%;width:100%;height:100%}.story-bottom{grid-template-columns:1fr 1fr;gap:70px;margin-top:65px;display:grid}.story-signature{align-items:center;gap:20px;display:flex}.story-signature>span{font-family:var(--serif);color:var(--clay);font-size:90px;font-style:italic;line-height:1}.story-signature p{color:var(--muted);font-size:11px}.story-copy{max-width:500px}.story-copy p{color:var(--muted);margin-bottom:18px;font-size:14px;line-height:1.9}.story-copy .text-link{margin-top:12px}.material-marquee{border-block:1px solid var(--hairline);color:#777e69;background:#efeee4;padding-block:14px;overflow:hidden}.material-marquee>div{width:max-content;animation:55s cubic-bezier(.5,.5,.5,.5) infinite materials;display:flex}.material-marquee span{font-family:var(--serif);white-space:nowrap;padding-right:30px;font-size:39px;display:block}.material-marquee i{color:var(--clay);margin-inline:32px;font-size:22px;font-style:normal;display:inline-block}@keyframes materials{to{transform:translate(-50%)}}.services{background:#eeece3}.section-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:55px;display:flex}.section-heading>p{color:var(--muted);margin-right:40px;font-size:13px;line-height:1.8}.service-panels{grid-auto-flow:dense;grid-template-rows:repeat(2,260px);grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.service-panel{min-width:0}.service-panel:first-child{grid-area:span 2/span 2}.service-panel .media-core{height:100%}.panel-wash{background:linear-gradient(#0000 30%,#142015a6);position:absolute;inset:0}.panel-caption{color:#fff;position:absolute;bottom:28px;left:25px;right:25px}.panel-caption>span:first-child{letter-spacing:.13em;text-transform:uppercase;font-size:9px}.panel-caption h3{font-family:var(--serif);max-width:80%;margin-top:10px;font-size:34px;line-height:1.07}.service-panel:first-child h3{font-size:49px}.panel-caption .round-arrow{width:38px;height:38px;position:absolute;bottom:0;right:0}.service-panel.is-active .media-core img{transform:scale(1.025)}.service-directory{grid-template-columns:1fr 1fr;gap:0 50px;margin-top:45px;display:grid}.service-detail{border-bottom:1px solid var(--hairline);align-self:start}.service-detail summary{justify-content:space-between;align-items:center;gap:25px;min-height:69px;font-size:14px;display:flex}.plus{flex:none;width:14px;height:14px;position:relative}.plus:before,.plus:after{content:"";width:14px;height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;top:6px;left:0}.plus:after{transform:rotate(90deg)}details[open]>summary .plus:after{transform:rotate(0)}.service-detail>div{padding-bottom:23px}.service-detail>div>p{color:var(--muted);font-size:13px;line-height:1.8}.service-detail .service-scope{margin-top:10px;font-size:11px}.service-detail .text-link{margin-top:12px;font-size:11px}.projects{grid-template-columns:.85fr 1.25fr;align-items:start;gap:80px;display:grid}.projects-intro{max-width:420px}.projects-intro>p:not(.section-kicker){color:var(--muted);margin-top:26px;font-size:13px;line-height:1.9}.projects-intro .text-link{margin-top:23px}.projects-intro .project-disclosure{max-width:300px;margin-top:40px!important;font-size:10px!important;line-height:1.7!important}.project-stack{min-width:0}.project-card{background:var(--paper);padding-bottom:52px;position:relative}.project-card:last-child{padding-bottom:0}.project-card .media-shell{height:440px}.project-place{color:var(--ink);background:#f6f4edea;border-radius:40px;padding:7px 12px;font-size:9px;position:absolute;bottom:16px;left:17px}.project-caption{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.project-caption .section-kicker{color:var(--muted);margin-bottom:10px;font-size:9px}.project-caption h3{font-family:var(--serif);letter-spacing:-.03em;font-size:39px;line-height:1.1}.project-caption .round-arrow{color:#4c5543;flex:none}.project-text{color:var(--muted);max-width:470px;margin-top:13px;font-size:12px;line-height:1.8}.method{background:#e8e9df}.method-grid{grid-template-columns:1fr 1fr;align-items:center;gap:95px;display:grid}.method-photo{align-self:stretch;min-height:660px}.method-photo .media-core{min-height:650px}.method-photo img{object-position:43% 50%}.photo-caption{background:#f6f4ede0;border-radius:30px;padding:6px 10px;font-size:9px;position:absolute;bottom:18px;left:20px}.method-content h2{font-size:clamp(50px,4.9vw,72px)}.method-intro{color:var(--muted);max-width:370px;margin-top:26px;font-size:13px}.method ol{margin:35px 0 0;padding:0;list-style:none}.method li{border-top:1px solid var(--hairline);gap:27px;padding-block:23px;display:flex}.method li>span{color:var(--muted);padding-top:4px;font-size:10px}.method li h3{font-family:var(--serif);font-size:28px;line-height:1.2}.method li p{color:var(--muted);max-width:340px;margin-top:10px;font-size:12px;line-height:1.8}.territory{color:#f6f4eb;background:#394331}.territory-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:95px;display:grid}.territory h2{font-size:clamp(50px,5vw,72px)}.territory h2 em,.territory .section-kicker{color:#d4dabf}.territory h2+p{color:#d1d5c9;max-width:440px;margin-top:28px;font-size:13px;line-height:1.9}.territory-detail{align-items:center;gap:9px;margin-top:10px;padding-block:25px;font-size:10px;display:flex}.location-dot{background:#d1d8b5;border-radius:50%;width:6px;height:6px}.territory-detail>span:last-child{font-family:var(--serif);margin-left:auto;font-size:35px;font-style:italic}.town-grid{grid-template-columns:1fr 1fr;gap:0 25px;display:grid}.town-grid a{color:#e7e8df;border-top:1px solid #eff1e41e;justify-content:space-between;align-items:center;padding-block:10px;scroll-margin-top:150px;font-size:11px;display:flex}.town-grid .arrow{opacity:.55;width:13px;height:13px}.town-grid a:hover{color:#fff}.territory-photo{background:#f6f4e514;height:730px;margin-top:40px}.territory-photo img{object-position:50% 50%}.territory-photo figcaption{background:#273522ca;border-radius:12px;padding:12px 15px;font-size:10px;position:absolute;bottom:19px;left:20px}.questions{grid-template-columns:1fr 1.1fr;gap:80px;display:grid}.questions h2{font-size:clamp(48px,4.4vw,68px)}.faq-list{padding-top:7px}.faq-list details{border-bottom:1px solid var(--hairline)}.faq-list details:first-child{border-top:1px solid var(--hairline)}.faq-list summary{justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:14px;line-height:1.6;display:flex}.faq-list details p{color:var(--muted);padding:0 27px 25px 0;font-size:13px;line-height:1.9}.contact{background:#e7e3d5}.contact-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:90px;display:grid}.contact h2{font-size:clamp(56px,5.8vw,86px)}.contact h2 em{color:#667456}.contact h2+p{color:var(--muted);margin-top:35px;font-size:14px;line-height:1.9}.contact-signature{font-family:var(--serif);margin-top:48px;font-size:36px}.contact-signature span{font-family:var(--sans);letter-spacing:.07em;margin-top:4px;font-size:9px;display:block}.project-form-shell{background:#f7f7f24d;border-radius:26px;padding:7px;box-shadow:inset 0 0 0 1px #45492e0a}.project-form{background:#f8f7f1;border-radius:20px;padding:35px;box-shadow:inset 0 1px 1px #fff}.project-form h3{font-family:var(--serif);letter-spacing:-.03em;font-size:36px}.project-form>p:first-of-type{color:var(--muted);margin:6px 0 25px;font-size:12px}.project-form label{margin:20px 0 8px;font-size:10px;font-weight:500;display:block}.project-form input,.project-form select,.project-form textarea{color:var(--ink);background:#fffefa;border:0;border-radius:9px;width:100%;padding:13px 14px;font-size:12px;box-shadow:0 0 0 1px #444b3420,inset 0 1px #fff}.project-form textarea{resize:vertical;min-height:100px}.project-form .button{width:100%;margin-top:22px;font-size:11px}.project-form .form-notice{color:var(--muted);margin:14px 3px 0;font-size:9px;line-height:1.6}.form-status{color:#375a30;margin-top:12px;font-size:11px}@media (min-width:1500px){.hero{height:880px}}@media (max-width:1100px){.projects,.method-grid,.territory-grid,.contact-grid,.questions{gap:45px}.project-card .media-shell{height:360px}.service-panels{grid-template-rows:repeat(2,225px)}.panel-caption h3{font-size:28px}.panel-caption .round-arrow{width:30px;height:30px}.method-photo,.method-photo .media-core{min-height:610px}}@media (max-width:999px){.projects{grid-template-columns:1fr}.projects-intro{max-width:100%}.projects-intro>p br{display:none}.projects-intro .project-disclosure{margin-top:16px!important}.project-stack{grid-template-columns:1fr;gap:40px;display:grid}.project-card{padding-bottom:0}.project-card .media-shell{height:480px}.method-grid{grid-template-columns:.9fr 1.1fr;gap:35px}.territory-grid{grid-template-columns:1.2fr .8fr;gap:35px}.territory-photo{height:620px}}@media (max-width:700px){.hero{height:min(850px,100dvh);min-height:700px;padding:155px 20px 120px}.hero>.hero-image{object-position:57% 50%}.hero-wash{background:linear-gradient(#15201845,#1b291b65 35%,#132016ad)}.hero h1{letter-spacing:-.048em;font-size:clamp(42px,10.7vw,66px);line-height:1.01}.hero-location{letter-spacing:.16em;margin-bottom:28px;font-size:8px}.hero-description{margin-top:27px;font-size:12px}.hero-actions{flex-direction:column;gap:14px;margin-top:27px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:10px;font-size:8px;bottom:25px;left:20px;right:20px}.scroll-down{bottom:1px;left:auto;right:0}.section-lead{display:block}.small-location{display:none}.story-statement{margin-top:12px;font-size:clamp(44px,9.8vw,65px)}.inline-photo{border-width:3px;width:77px;height:43px;margin-inline:3px}.story-bottom{grid-template-columns:1fr;gap:30px;margin-top:35px}.story-signature{display:none}.story-copy p{font-size:13px}.material-marquee span{font-size:31px}.material-marquee i{margin-inline:20px}.section-heading{margin-bottom:33px;display:block}.section-heading>p{margin:25px 0 0;font-size:12px}.section-heading>p br{display:none}.service-panels{grid-template-rows:repeat(3,340px);grid-template-columns:1fr;gap:14px}.service-panel:first-child{grid-area:auto}.service-panel:first-child h3,.panel-caption h3{font-size:38px}.panel-caption{bottom:25px;left:22px;right:22px}.service-directory{grid-template-columns:1fr;gap:0;margin-top:30px}.service-detail summary{min-height:67px;font-size:13px}.projects{gap:38px}.project-card .media-shell{height:310px}.project-caption h3{font-size:33px}.project-caption .round-arrow{width:39px;height:39px}.project-place{font-size:8px}.project-text{font-size:12px}.method-grid{grid-template-columns:1fr;gap:40px}.method-photo,.method-photo .media-core{height:370px;min-height:0}.method-photo{order:2}.method-photo .media-core{height:100%}.method-content h2{font-size:54px}.method-intro{font-size:12px}.method li h3{font-size:27px}.method ol{margin-top:27px}.territory-grid{grid-template-columns:1fr;gap:45px}.territory h2{font-size:clamp(46px,10.5vw,64px)}.territory-photo{height:400px;margin-top:0}.territory-photo img{object-position:50% 58%}.town-grid{gap:0 15px}.town-grid a{font-size:10px}.questions{grid-template-columns:1fr;gap:35px}.faq-list summary{padding-block:22px;font-size:13px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact h2{font-size:clamp(51px,11.8vw,72px)}.contact-signature{margin-top:27px;font-size:31px}.project-form{padding:25px 20px}.project-form-shell{padding:5px}}@media (prefers-reduced-motion:reduce){.material-marquee>div{animation:none}}.contact-call{border-block:1px solid var(--hairline);margin-top:30px;padding:25px 0;display:block}.contact-call>span{align-items:center;gap:12px;font-size:12px;line-height:1.8;display:flex}.contact-call strong{font:400 clamp(30px,3.5vw,46px)/1.4 var(--serif);display:block}.contact-call svg{width:18px}.contact-steps{color:var(--muted);margin-top:25px;padding-left:18px;font-size:13px;line-height:1.9}.contact-steps li{margin-bottom:8px;padding-left:6px}.project-form fieldset{border:0;min-width:0;margin:0;padding:0}.project-form .form-progress{text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;font-size:11px}.project-form .form-notice{font-size:11px;line-height:1.7}.form-notice a{text-underline-offset:3px;text-decoration:underline}.form-back{background:0 0;min-height:48px;margin-top:10px;font-size:12px;text-decoration:underline;display:block}.form-error{color:#923c27;padding:15px 0;font-size:13px;line-height:1.6}.project-form button:disabled{opacity:.65;cursor:wait}.form-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-success>p{margin-top:20px;font-size:14px;line-height:1.8}.form-success a{text-decoration:underline}.project-form input,.project-form select{min-height:48px}.project-form .button{min-height:56px}@media (max-width:800px){.contact-grid .project-form-shell{order:-1}.contact.section-pad{padding-block:48px}}.contact{--muted:#626658}@media (prefers-reduced-motion:no-preference){.hero-content>*{animation:1.15s cubic-bezier(.165,.84,.44,1) both hero-enter}.hero-content>:nth-child(2){animation-delay:.13s}.hero-content>:nth-child(3){animation-delay:.26s}.hero-content>:nth-child(4){animation-delay:.39s}}@keyframes hero-enter{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.content-page{background:var(--cream);padding-top:145px}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:10px;padding:12px 0 34px;font-size:11px;line-height:1.6;display:flex}.breadcrumbs a{text-underline-offset:4px;text-decoration:underline}.breadcrumbs [aria-current]{color:var(--ink)}.content-hero{grid-template-columns:1.3fr .8fr;align-items:center;gap:70px;padding:24px 0 105px;display:grid}.content-hero h1{font-family:var(--serif);letter-spacing:-.045em;text-wrap:balance;margin:25px 0 28px;font-size:clamp(44px,4.3vw,74px);font-weight:400;line-height:1.04}.content-answer{max-width:690px;color:var(--muted);margin-bottom:30px;font-size:16px;line-height:1.85}.content-hero figure{background:var(--paper);border-radius:12px;align-self:stretch;min-height:430px;margin:0;position:relative;overflow:hidden}.content-hero figure img{object-fit:cover;width:100%;height:100%;position:absolute}.content-hero figcaption{color:#fff;background:#263020aa;border-radius:20px;padding:8px 12px;font-size:10px;position:absolute;bottom:18px;left:20px}.reading-layout{border-top:1px solid var(--hairline);grid-template-columns:270px minmax(0,800px);justify-content:space-between;gap:85px;padding-top:75px;display:grid}.reading-sidebar{align-self:start;position:sticky;top:140px}.page-toc{border:1px solid var(--hairline);border-radius:9px;padding:20px}.page-toc summary{cursor:pointer;justify-content:space-between;gap:12px;font-size:13px;font-weight:500;list-style:none;display:flex}.page-toc ol{margin:25px 0 0;padding-left:18px}.page-toc li{margin-bottom:14px;font-size:12px;line-height:1.65}.page-toc a:hover{text-underline-offset:3px;text-decoration:underline}.reading-note{font-family:var(--serif);color:var(--muted);padding:15px 20px;font-size:27px;line-height:1.25}.reading-body section{margin-bottom:70px;position:relative}.section-number{letter-spacing:.12em;color:var(--clay);margin-bottom:15px;font-size:10px;display:block}.reading-body h2,.content-sources h2{font-size:clamp(30px,3vw,44px);font-family:var(--serif);letter-spacing:-.025em;text-wrap:balance;margin:0 0 25px;font-weight:400;line-height:1.1}.reading-body p{color:var(--muted);margin:0 0 20px;font-size:15px;line-height:1.95}.content-checklist{background:var(--paper);border-radius:8px;margin:28px 0;padding:20px 28px;list-style:none}.content-checklist li{border-bottom:1px solid var(--hairline);padding:12px 0 12px 24px;font-size:14px;line-height:1.55;position:relative}.content-checklist li:last-child{border:0}.content-checklist li:before{content:"↗";color:var(--clay);position:absolute;left:0}.table-scroll{max-width:100%;margin-top:30px;overflow:auto}.table-scroll table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.7}.table-scroll th,.table-scroll td{text-align:left;border:1px solid var(--hairline);min-width:145px;padding:16px}.table-scroll thead{background:var(--olive);color:var(--cream)}.table-scroll tbody th{font-weight:500}.content-directory{padding:70px 0 100px}.content-directory>h2,.content-faq>h2,.content-next h2{font:400 clamp(46px,5vw,76px)/1.02 var(--serif);letter-spacing:-.04em;margin:20px 0 45px}.content-directory em,.content-faq em,.content-next em{color:var(--olive);font-weight:400}.directory-grid{border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.directory-grid>a{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:30px 30px 55px;transition:background .25s;position:relative}.directory-grid>a:hover{background:var(--paper)}.directory-number{color:var(--clay);font-size:10px}.directory-grid h3{font:400 30px/1.12 var(--serif);text-wrap:balance;margin:26px 0 16px}.directory-grid p{color:var(--muted);font-size:13px;line-height:1.8}.directory-grid svg{width:22px;position:absolute;bottom:24px;right:28px}.content-faq{max-width:900px;margin:40px auto 100px}.content-faq details{border-top:1px solid var(--hairline);padding:24px 0}.content-faq details:last-child{border-bottom:1px solid var(--hairline)}.content-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:25px;font-size:16px;font-weight:500;list-style:none;display:flex}.content-faq p{color:var(--muted);max-width:760px;margin:20px 0 0;font-size:15px;line-height:1.85}.content-sources{background:var(--paper);border-radius:10px;max-width:900px;margin:0 auto 80px;padding:30px}.content-sources h2{font-size:30px}.content-sources p,.content-sources li{font-size:12px;line-height:1.9}.content-sources a{text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.related-content{border-top:1px solid var(--hairline);padding:55px 0}.related-content h2{font:400 36px/1.1 var(--serif);margin:0 0 30px}.related-content>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;display:grid}.related-content p{margin:0;font-size:13px;line-height:1.8}.related-content p>span{color:var(--muted);margin-bottom:12px;display:block}.related-content a{text-underline-offset:4px;align-items:center;gap:12px;text-decoration:underline;display:flex}.related-content svg{flex-shrink:0;width:18px}.content-next{text-align:center;padding:100px 0 120px}.content-next .button{text-align:left}.draft-note{border:1px solid var(--hairline);color:var(--clay);padding:20px;font-size:14px;line-height:1.6}.inspiration-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:80px;display:grid}.inspiration-gallery figure{margin:0}.inspiration-gallery img{object-fit:cover;border-radius:10px;width:100%;height:330px}.inspiration-gallery figcaption{color:var(--muted);margin-top:10px;font-size:10px;line-height:1.6}.back-top{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.footer-legal{border-top:1px solid #ffffff20;flex-wrap:wrap;gap:24px;padding:25px 0;font-size:11px;display:flex}@media (max-width:1050px){.content-hero{grid-template-columns:1.2fr .8fr;gap:35px}.reading-layout{grid-template-columns:220px minmax(0,1fr);gap:40px}.directory-grid,.related-content>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.content-page{padding-top:100px}.breadcrumbs{padding-bottom:20px;font-size:10px}.content-hero{grid-template-columns:1fr;gap:35px;padding-bottom:55px}.content-hero h1{font-size:clamp(39px,7vw,58px)}.content-hero figure{min-height:320px}.content-answer{font-size:15px}.reading-layout{grid-template-columns:1fr;gap:35px;padding-top:35px}.reading-sidebar{position:static}.reading-note{display:none}.reading-body section{margin-bottom:50px}.content-directory{padding:30px 0 60px}.related-content>div{grid-template-columns:1fr;gap:25px}.content-next{padding:60px 0 80px}.inspiration-gallery{grid-template-columns:1fr}.content-faq{margin-bottom:65px}.content-next .button,.content-hero .button{max-width:100%;font-size:12px}.content-hero .button>span:first-child{max-width:245px}.content-sources{padding:24px}}@media (max-width:500px){.directory-grid{grid-template-columns:1fr}.content-hero h1{font-size:41px}.content-hero figure{min-height:290px}.content-directory>h2,.content-faq>h2,.content-next h2{font-size:46px}.reading-body h2{font-size:32px}.content-checklist{padding:14px 18px}.content-faq summary{font-size:15px}.content-sources h2{font-size:28px}}.intent-summary{border-block:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:-40px 0 70px;padding:0;list-style:none;display:grid}.intent-summary li{border-right:1px solid var(--hairline);padding:25px 24px;font-size:13px;line-height:1.7}.intent-summary li:first-child{padding-left:0}.intent-summary li:last-child{border-right:0}.hero-call{text-underline-offset:4px;min-height:48px;margin-top:18px;padding-block:14px;font-size:13px;text-decoration:underline;display:block}.reading-cta{background:var(--olive);color:var(--cream);border-radius:5px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:18px;font-size:13px;display:flex}.reading-cta svg{width:18px}.editorial-visual{background:var(--paper);border-radius:10px;margin:20px 0 75px;overflow:hidden}.editorial-visual img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}.editorial-visual figcaption{font:400 24px/1.35 var(--serif);padding:26px 28px 8px}.editorial-visual figcaption>span{font:400 10px/1.6 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;display:block}.editorial-visual ul{color:var(--muted);margin:0;padding:10px 28px 28px 46px;font-size:13px;line-height:1.8}.editorial-visual li+li{margin-top:8px}.content-contact .content-hero{padding-bottom:35px}.content-contact .content-hero figure{min-height:300px}.content-contact .reading-layout{margin-top:70px}@media (max-width:800px){.intent-summary{grid-template-columns:1fr;margin:0 0 40px}.intent-summary li,.intent-summary li:first-child{border-right:0;border-bottom:1px solid var(--hairline);padding:16px 0}.intent-summary li:last-child{border-bottom:0}.reading-cta{margin-top:15px}.editorial-visual{margin-bottom:50px}.editorial-visual figcaption{padding:22px 22px 8px;font-size:25px}.content-contact .content-hero figure{display:none}.content-contact .content-hero{padding-bottom:15px}.content-contact .content-answer{margin-bottom:12px}}@media (max-width:500px){.content-hero h1{margin-top:16px;margin-bottom:20px;font-size:38px}.content-answer{font-size:14px;line-height:1.7}.content-hero figure{min-height:260px}}
