@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap";
:root{--ink:#171816;--paper:#f3f0e9;--white:#fffefb;--muted:#6d6c66;--line:#d8d3c8;--bronze:#a67846;--bronze-dark:#79542f;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--white);color:var(--ink);margin:0;font:400 16px/1.6 DM Sans,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em;font-family:Manrope,sans-serif;font-weight:500;line-height:1.04}h1{font-size:clamp(3.2rem,7vw,7.4rem)}h2{font-size:clamp(2.25rem,4.3vw,4.5rem)}h3{font-family:Manrope,sans-serif;line-height:1.2}.shell{width:min(calc(100% - 48px), var(--max));margin-inline:auto}.narrow{max-width:1000px;margin-inline:auto}.skip-link{background:var(--ink);color:#fff;z-index:100;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.eyebrow{color:var(--bronze-dark);letter-spacing:.16em;text-transform:uppercase;font-size:.76rem;font-weight:600}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;letter-spacing:.01em;justify-content:center;align-items:center;min-height:52px;padding:0 26px;font-weight:600;transition:background .2s,color .2s,transform .2s;display:inline-flex}.button:hover{background:var(--bronze-dark);border-color:var(--bronze-dark);transform:translateY(-2px)}.button-small{min-height:42px;padding:0 18px;font-size:.9rem}.button-outline{color:var(--ink);background:0 0}.button-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.text-link{cursor:pointer;background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:8px;padding:0 0 4px;font-weight:600;display:inline-flex}.button-row{flex-wrap:wrap;align-items:center;gap:28px;margin-top:40px;display:flex}.section{padding:130px 0}.site-header{z-index:20;background:var(--white);border-bottom:1px solid var(--line);position:relative}.header-inner{justify-content:space-between;align-items:center;gap:32px;min-height:84px;display:flex}.brand{white-space:nowrap;align-items:center;display:inline-flex}.brand img{width:180px;height:auto;display:block}.footer-brand{letter-spacing:.12em;color:var(--paper);font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:600}.footer-brand span{color:#b9b7af}.header-inner nav{align-items:center;gap:clamp(18px,2.5vw,38px);font-size:.9rem;font-weight:500;display:flex}.header-inner nav>a:not(.button){position:relative}.header-inner nav>a:not(.button):after{content:"";border-bottom:1px solid;transition:right .2s;position:absolute;bottom:-5px;left:0;right:100%}.header-inner nav>a:not(.button):hover:after{right:0}.hero{background:var(--paper);padding:34px 0 76px}.hero-grid{grid-template-columns:.92fr 1.08fr;align-items:center;gap:clamp(36px,7vw,100px);min-height:720px;display:grid}.hero-copy h1{margin:24px 0 32px}.hero-copy h1 em{color:var(--bronze-dark);font-style:normal}.hero-copy>p:not(.eyebrow){color:#494a46;max-width:590px;font-size:1.13rem}.hero-visual{background:#39352f;position:relative;overflow:hidden}.hero-visual:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff24}.hero-visual img{width:100%;height:auto;display:block}.measure-line{opacity:.6;border-top:1px solid #fff;border-left:1px solid #fff;width:70px;height:70px;position:absolute;top:28px;left:28px}.section-heading{max-width:790px;margin-bottom:70px}.section-heading h2{margin:12px 0 24px}.section-heading>p:last-child{color:var(--muted);max-width:580px;font-size:1.08rem}.section-heading.split{grid-template-columns:1.2fr .8fr;align-items:end;gap:80px;max-width:none;display:grid}.section-heading.split>p{margin-bottom:14px}.service-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.service-grid article{border-right:1px solid var(--line);padding:42px 44px 20px 0}.service-grid article+article{padding-left:44px}.service-grid article:last-child{border-right:0}.service-grid article>span,.approach-list article>span{color:var(--bronze-dark);font-size:.8rem}.service-grid h3{margin:62px 0 20px;font-size:1.65rem}.service-grid p{color:var(--muted);min-height:104px}.projects-section{background:var(--paper)}.project-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project-photo{background:#d6d0c4;display:block;overflow:hidden}.project-photo img{width:100%;height:auto;transition:transform .45s;display:block}.project-photo:hover img{transform:scale(1.025)}.project-meta{justify-content:space-between;gap:20px;padding-top:20px;display:flex}.project-meta p,.project-meta>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.project-meta h3{margin:6px 0 0;font-size:1.28rem}.section-action{text-align:center;margin-top:60px}.approach{background:var(--ink);color:var(--paper)}.approach .eyebrow{color:#cba26f}.approach-grid{grid-template-columns:.85fr 1.15fr;gap:100px;display:grid}.approach-list article{border-top:1px solid #454641;gap:32px;padding:28px 0;display:flex}.approach-list h3{margin-bottom:10px;font-size:1.35rem}.approach-list p{color:#b7b6b0;margin:0}.secondary-grid{grid-template-columns:.9fr 1.1fr;gap:110px;display:grid}.secondary-grid ul{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.secondary-grid li{border-bottom:1px solid var(--line);justify-content:space-between;padding:20px 0;font-size:1.1rem;display:flex}.service-area{background:#dedad0;padding:110px 0}.area-grid{grid-template-columns:1fr auto;align-items:center;gap:80px;display:grid}.area-grid>div:first-child{max-width:760px}.area-grid h2{margin-bottom:24px}.area-mark{letter-spacing:-.08em;color:var(--bronze-dark);font-family:Manrope;font-size:clamp(5rem,11vw,10rem);line-height:.8}.area-mark span{letter-spacing:.16em;text-align:right;margin-top:20px;font:500 .7rem DM Sans;display:block}.cta{background:var(--bronze-dark);color:#fff;padding:90px 0}.cta .eyebrow{color:#f0d6b8}.cta-inner{justify-content:space-between;align-items:center;gap:50px;display:flex}.cta h2{margin:10px 0 12px}.cta p:last-child{color:#eadbca;margin-bottom:0}.page-hero{background:var(--paper);padding:130px 0 110px}.page-hero h1{margin:24px 0 34px;font-size:clamp(3.3rem,6.4vw,6.4rem)}.page-hero .narrow>p:last-child{color:var(--muted);max-width:670px;font-size:1.15rem}.filters{flex-wrap:wrap;gap:10px;margin-bottom:54px;display:flex}.filters button{border:1px solid var(--line);cursor:pointer;color:#4b4c48;background:#fff;padding:11px 16px}.filters button.active,.filters button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.empty-state{background:var(--paper);text-align:center;padding:100px 24px}.empty-state h2{font-size:2rem}.empty-state p{color:var(--muted)}.project-hero{background:var(--paper);padding:70px 0 0}.back-link{border-bottom:1px solid;margin-bottom:70px;display:inline-block}.project-title{justify-content:space-between;align-items:end;gap:40px;display:flex}.project-title h1{margin:12px 0 40px;font-size:clamp(3.2rem,6vw,6rem)}.project-title>p{color:var(--muted);margin-bottom:48px}.project-cover{background:#d6d0c4;overflow:hidden}.project-cover img{width:100%;height:auto;display:block}.detail-grid{grid-template-columns:1fr 1fr;gap:100px;display:grid}.detail-grid h2{font-size:clamp(2.2rem,4vw,4rem)}.detail-grid>div:last-child>p{color:var(--muted);font-size:1.18rem}.detail-grid dl{margin-top:48px}.detail-grid dl>div{border-top:1px solid var(--line);grid-template-columns:160px 1fr;padding:16px 0;display:grid}.detail-grid dt{color:var(--muted)}.detail-grid dd{margin:0}.project-gallery{grid-template-columns:1fr 1fr;gap:24px;margin-top:90px;display:grid}.project-gallery figure{margin:0;display:block}.project-gallery figure:first-child{grid-column:1/-1}.project-gallery picture{background:#ddd8ce;display:block;overflow:hidden}.project-gallery img{width:100%;height:auto;display:block}.project-gallery figcaption{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;padding:12px 0 0;font-size:.76rem;font-weight:600}.service-detail-list{padding-top:60px}.service-detail-list article{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:start;gap:100px;padding:64px 0;display:grid}.service-detail-list article span{color:var(--bronze-dark)}.service-detail-list h2{margin:20px 0 0;font-size:clamp(2rem,3.4vw,3.6rem)}.service-detail-list article>p{color:var(--muted);padding-top:35px;font-size:1.13rem}.secondary-services{background:var(--paper)}.secondary-services .button{margin-top:24px}.story-grid{grid-template-columns:1fr 1fr;align-items:center;gap:110px;display:grid}.story-visual{aspect-ratio:4/5;color:#fff;background:linear-gradient(145deg,#5a5b56,#272825);flex-direction:column;justify-content:flex-end;padding:32px;display:flex}.story-visual small{opacity:.7}.story-grid h2{font-size:clamp(2.3rem,4vw,4rem)}.story-grid p:not(.eyebrow){color:var(--muted);font-size:1.06rem}.placeholder-note{border-left:2px solid var(--bronze);padding:12px 0 12px 20px;font-size:.9rem!important}.values{background:var(--paper)}.value-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.value-grid article{border-right:1px solid var(--line);padding:38px 40px 0 0}.value-grid article+article{padding-left:40px}.value-grid article:last-child{border:0}.value-grid h3{font-size:1.4rem}.value-grid p{color:var(--muted)}.quote-page,.contact-page{background:var(--paper);padding:100px 0 130px}.quote-layout{grid-template-columns:.72fr 1.28fr;align-items:start;gap:90px;display:grid}.quote-intro{position:sticky;top:40px}.quote-intro h1,.contact-grid h1{margin:20px 0 32px;font-size:clamp(3rem,5.7vw,5.8rem)}.quote-intro>p:not(.eyebrow),.contact-grid>div:first-child>p:not(.eyebrow){color:var(--muted);font-size:1.08rem}.quote-aside{border-top:1px solid var(--line);margin-top:70px;padding-top:30px}.quote-aside h2{letter-spacing:0;font-size:1.15rem}.quote-aside ol{padding:0;list-style:none}.quote-aside li{color:var(--muted);gap:16px;margin:16px 0;display:flex}.quote-aside li span{color:var(--bronze-dark);font-size:.75rem}.quote-form{background:#fff;padding:46px}.field-grid{grid-template-columns:1fr 1fr;gap:26px 22px;display:grid}.quote-form label{flex-direction:column;gap:8px;font-size:.9rem;font-weight:600;display:flex}.quote-form input,.quote-form select,.quote-form textarea{width:100%;color:var(--ink);background:#faf9f6;border:1px solid #cbc7bd;border-radius:0;padding:13px 14px}.quote-form textarea{resize:vertical;margin-bottom:24px}.quote-form label:has(textarea){margin-top:26px}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid var(--bronze);outline-offset:1px}.quote-form small{color:var(--muted);font-weight:400}.hidden-field{position:absolute;left:-9999px}.form-note,.form-error{margin:16px 0 0;font-size:.85rem}.form-note{color:var(--muted)}.form-error{color:#8f2c22}.form-success{background:#fff;flex-direction:column;justify-content:center;align-items:flex-start;min-height:430px;padding:64px;display:flex}.form-success h2{font-size:2.8rem}.form-success p:not(.eyebrow){color:var(--muted);max-width:580px}.contact-grid{grid-template-columns:1fr 1fr;gap:100px;display:grid}.contact-grid .button{margin-top:26px}.contact-list{border-top:1px solid var(--line)}.contact-list>div{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;padding:26px 0;display:grid}.contact-list span{color:var(--muted)}.contact-list strong{font-weight:500}.footer{background:var(--ink);color:#deddd7;padding:78px 0 28px}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:70px;display:grid}.footer-grid>div{flex-direction:column;align-items:flex-start;gap:11px;display:flex}.footer-grid>div:first-child p{color:#999a95;max-width:340px;margin-top:25px}.footer h3{color:#fff;text-transform:uppercase;letter-spacing:.13em;margin-bottom:18px;font-size:.78rem}.footer a:hover{color:#fff}.footer-grid span{color:#999a95}.footer-bottom{color:#7d7e79;border-top:1px solid #373834;justify-content:space-between;margin-top:70px;padding-top:24px;font-size:.8rem;display:flex}@media (max-width:980px){.header-inner{align-items:flex-start;padding:20px 0}.header-inner nav{flex-wrap:wrap;justify-content:flex-end;gap:14px 22px}.hero-grid{grid-template-columns:1fr;padding-top:70px}.hero-visual{min-height:520px}.section-heading.split,.approach-grid,.secondary-grid,.story-grid,.quote-layout,.contact-grid{grid-template-columns:1fr;gap:55px}.project-grid{grid-template-columns:repeat(2,1fr)}.project-card:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 12px)}.quote-intro{position:static}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.shell{width:min(calc(100% - 32px), var(--max))}.section{padding:84px 0}.site-header{position:relative}.header-inner{display:block}.header-inner nav{grid-template-columns:repeat(2,1fr);margin-top:18px;display:grid}.header-inner nav .button{grid-column:1/-1}.hero{padding-top:0}.hero-grid{gap:54px;min-height:0;padding-top:64px}.hero-copy h1{font-size:clamp(3rem,16vw,5rem)}.hero-visual{margin-inline:-16px}.service-grid,.project-grid,.value-grid,.field-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article,.value-grid article,.value-grid article+article{border-right:0;border-bottom:1px solid var(--line);padding:34px 0}.service-grid h3{margin-top:30px}.service-grid p{min-height:0}.project-card:last-child:nth-child(odd){grid-column:auto;max-width:none}.area-grid{grid-template-columns:1fr}.cta-inner{display:block}.cta .button{margin-top:30px}.page-hero{padding:90px 0 75px}.project-title{display:block}.project-title>p{margin-top:-20px}.project-cover{margin-inline:-16px}.detail-grid,.service-detail-list article{grid-template-columns:1fr;gap:20px}.project-gallery{grid-template-columns:1fr}.project-gallery figure:first-child{grid-column:auto}.story-grid{gap:45px}.quote-page,.contact-page{padding:76px 0 90px}.quote-form{margin-inline:-8px;padding:28px 20px}.form-success{padding:38px 26px}.footer-grid{grid-template-columns:1fr;gap:38px}.footer-bottom{display:block}.footer-bottom span{margin-top:6px;display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
