/* Architectural editorial refresh: white, warm stone, signature sage. */
:root{--ink:#273b35;--paper:#fff;--muted:#626e67;--line:#e0e5df;--gold:#e5e9df}
body{color:var(--ink);font-size:16px;line-height:1.7;background:#fff}
h1,h2,h3,.owner h2,.contact h2{color:#2e443a;font-weight:400}
.wrap{max-width:1440px;padding-left:5%;padding-right:5%}
.topline{background:#f2f4ef;border-color:#e4e8e1;color:#536559;font-size:10px;letter-spacing:1.5px;padding:8px 5%}
.header{border-bottom:1px solid #e6e9e2}.header nav{min-height:91px}.brand-logo{width:228px}
.site-nav{gap:4px}.site-nav a{font-size:12px;letter-spacing:.25px;padding:10px;color:#485e51}.site-nav a:hover,.site-nav a[aria-current=page]{background:#edf1e9;color:#203c2b}
.eyebrow,.owner .eyebrow{color:#687d60;font-size:10px;letter-spacing:2px}
.btn,.btn.gold,.btn.outline,.contact .btn{border-radius:0;border-color:#ced7c8;background:#e8edde;color:#2e4535;box-shadow:none}
.btn:hover,.btn.gold:hover,.btn.outline:hover{background:#dce5d4}.btn>span{padding:14px 18px}.btn b{font-size:18px;font-weight:400;margin-left:12px}.btn .action-photo,.actions .btn .action-photo{width:88px;height:80px}
.refined-hero{min-height:clamp(520px,40vw,760px);background:#f8f8f3}.refined-hero:after{background:linear-gradient(90deg,#fff 0%,#ffffffed 23%,#ffffffb8 38%,#ffffff00 65%)}
.refined-hero h1{font-size:clamp(44px,5vw,72px);line-height:1.07;letter-spacing:-2px;max-width:620px;margin:24px 0;color:#2e443a}.refined-hero h1 em{color:#738568}.refined-hero p{max-width:390px;color:#536358;font-size:16px;line-height:1.8}.refined-hero .actions{gap:10px;max-width:600px}.refined-hero .btn{font-size:12px}.refined-hero .wrap{padding-top:35px;padding-bottom:35px}
.promise-line{display:flex;justify-content:space-between;gap:20px;padding-top:15px;padding-bottom:15px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:#60735c}
.project-pathways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;padding-top:35px;padding-bottom:35px}.pathway{display:block;min-width:0}.pathway>img{display:block;width:100%;height:190px;object-fit:cover;object-position:center 35%}.pathway>div{padding:18px 0 0}.pathway h2{font-size:26px;line-height:1.2;letter-spacing:-.6px;margin:10px 0}.pathway h2 span{float:right;font-size:22px}.pathway p{font-size:14px;line-height:1.7;color:#667366;margin:0;max-width:330px}.pathway:hover h2{color:#738568}.pathway:hover img{filter:brightness(1.04)}
.home-closing{border-top:1px solid var(--line);padding-top:24px;padding-bottom:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.home-closing p{font-size:13px;margin:0;color:#6b7468}.home-closing strong{font-weight:400;font:22px/1.5 Georgia,serif;color:#3a4d3f}.home-closing>a{font-size:13px;border-bottom:1px solid #899782;padding:8px 0}
.owner{background:#f5f6f0;border-color:#e5e8de}.owner p,.page-heading p,.service-detail ul,.process-grid p,.process-steps p{color:#627063}.owner .lead{color:#445d49}.portrait img,.owner-grid .portrait img{background:#f2f4ef}.portrait figcaption{color:#40563f}.roles{border-color:#dce2d5;color:#63755c}.owner .sign{color:#5d7555}
.service{border-radius:0;box-shadow:none;border-color:#e3e7df}.service:hover{background:#f7f8f3}.service-link,.service .num{color:#647a59}.service-photo{height:210px}.service-copy{padding:24px}.service-copy p{color:#667366}.service h3{color:#3a503f}
.sector-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 25px}.sector-tabs a{border:1px solid #dbe2d3;padding:12px 18px;font-size:13px;background:#f6f8f1}.sector-tabs a:hover{background:#e7eddf}
.sector-intro{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-top:40px;padding-bottom:40px}.sector-intro h1{font:clamp(37px,4vw,60px)/1.12 Georgia,serif;letter-spacing:-1.5px;margin:20px 0}.sector-intro .lead{color:#667366;font-size:17px;max-width:530px}.sector-intro>img{width:100%;height:340px;object-fit:contain;background:#f5f6f1}.sector-intro .breadcrumb{margin-bottom:16px;color:#6c7e63}
.sector-body{display:grid;grid-template-columns:1.35fr 1fr;gap:8%;align-items:start;padding-bottom:55px}.scope-row{display:grid;grid-template-columns:35px 1fr;gap:20px;border-top:1px solid #dde4d7;padding:22px 0}.scope-row>span{font-size:11px;color:#7c8d72;padding-top:6px}.scope-row h2{font-size:27px;letter-spacing:-.5px;line-height:1.2;margin:0 0 12px}.scope-row p{font-size:15px;color:#667366;margin:0}.scope-note{font-size:13px;color:#68765f;border-left:2px solid #acb8a0;padding-left:18px}
.project-brief{background:#f1f3eb;padding:30px;min-width:0}.project-brief h2{font-size:34px;line-height:1.1;letter-spacing:-1px;margin:16px 0}.project-brief p{font-size:15px;color:#607057}.project-brief .btn{font-size:12px}.project-brief .fine{font-size:12px;margin-top:20px}
.contact form{border-radius:0;background:#f4f6ef;border-color:#dfe5d7;padding:30px}.contact label{color:#4d6349;font-size:12px}.contact input,.contact select,.contact textarea{border-color:#d2dbc8;border-radius:0}.contact .phone,.contact .email{color:#4e6d46}.contact .fine{color:#687661}.faq summary{color:#3c553d}.faq,.faq details{border-color:#dce4d4}
footer{background:#f5f6f0;border-color:#e0e6d8;color:#61705a;padding-top:30px;padding-bottom:30px}.footer-nav{gap:16px;flex-wrap:wrap;font-size:12px}.mobile-call{color:#405a3c;border-color:#d7e1ce}.mobile-call a{background:#e6eddd;color:#395533}.small-photo-link img{width:84px;height:60px}.mobile-call .small-photo-link img{width:64px;height:52px}
@media(min-width:1181px){.header nav{gap:12px}.header .site-nav{gap:0}.header .site-nav a{padding:10px 9px}}
@media(max-width:900px){.project-pathways{gap:18px}.pathway h2{font-size:23px}.sector-intro{gap:30px}.sector-intro>img{height:290px}.sector-body{gap:30px}.project-brief{padding:24px}.project-brief h2{font-size:30px}}
@media(max-width:700px){.header .site-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.header .site-nav a{font-size:13px;line-height:1.3;min-height:44px;padding:8px 2px;justify-content:center}.header .brand-logo{width:210px}.refined-hero{min-height:0}.refined-hero>img{height:auto;aspect-ratio:3/2;object-fit:contain;object-position:top center}.refined-hero:after{display:none}.refined-hero .wrap{padding-top:24px;padding-bottom:28px}.refined-hero h1{font-size:44px;letter-spacing:-1.5px}.refined-hero p{max-width:none;font-size:15px}.refined-hero .actions .btn{min-width:210px}.promise-line{gap:12px;font-size:9px;letter-spacing:.3px}.project-pathways{grid-template-columns:1fr;gap:23px;padding-top:28px;padding-bottom:28px}.pathway{display:grid;grid-template-columns:115px 1fr;gap:18px;align-items:center}.pathway>img{height:135px}.pathway>div{padding:0}.pathway .eyebrow{font-size:8px;letter-spacing:1px}.pathway h2{font-size:23px}.pathway p{font-size:12px;line-height:1.6}.home-closing{align-items:flex-start;flex-direction:column;gap:8px}.home-closing strong{font-size:20px}.sector-intro,.sector-body{grid-template-columns:1fr;gap:24px}.sector-intro{padding-top:25px;padding-bottom:28px}.sector-intro h1{font-size:38px}.sector-intro>img{height:auto;max-height:310px}.sector-intro .lead{font-size:15px;margin-bottom:0}.sector-body{padding-bottom:35px}.scope-row{gap:10px}.scope-row h2{font-size:25px}.scope-row p{font-size:14px}.sector-tabs{gap:8px}.sector-tabs a{font-size:12px;padding:10px}.contact form{padding:22px}.service-photo{height:145px}footer{padding-bottom:85px}}
.recruit-values,.hiring-notice,#application-form .upload-box{background:#f3f5ed;border-color:#dfe5d7}.recruit-copy p,.recruit-values p,.hiring-layout aside p{color:#60705c}#application-form legend,#application-form .application-section h2{color:#3d573e}#application-form{border-radius:0}#application-form input:not([type=checkbox]),#application-form select,#application-form textarea{border-color:#d1dbc9}
@media(prefers-reduced-motion:no-preference){a{transition:background-color .18s,color .18s}.pathway img{transition:filter .18s}}

/* Two project collections, balanced across the gallery. */
@media(min-width:801px){.real-gallery-grid.project-pairs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep the location and telephone strip compact on narrow phones. */
@media(max-width:380px){.topline{flex-direction:column;align-items:flex-start;gap:4px}.topline>span{letter-spacing:0}}
