/* Restrained editorial emphasis: hierarchy varies by section. */
.key-phrase{font-weight:inherit;color:inherit;background:none}
.section-intro h2,.manifesto h2,.about h2{font-weight:480}
.hero-copy .key-phrase{color:#fff;font-weight:720}
.manifesto .key-phrase{color:#79634d;font-weight:580}
.services .section-intro h2::before{content:'';display:block;width:48px;height:2px;background:#907452;margin-bottom:25px;transform-origin:left;transition:transform 1s cubic-bezier(.2,.7,.2,1) .2s}
.services .section-intro.reveal:not(.is-visible) h2::before{transform:scaleX(0)}
.service.primary{background:transparent;border-left:0;padding-left:0;padding-right:0}
.service h3{font-weight:620}.service.primary h3{color:#705a42}
.portfolio .section-intro h2{font-weight:450}.portfolio .key-phrase{font-weight:550;color:inherit}
.about .key-phrase{color:#fff4df;font-weight:610}
.about-lead{color:#e0ded2}.values h3{font-weight:550;color:#f4eee3}.values p{color:#d2d2c5}
.process .section-intro h2{font-weight:480}.process-steps h3{font-weight:600}
.section-intro>p,.manifesto p:not(.eyebrow),.service p,.process-steps p{color:#625c52}
.contact h2{font-size:clamp(48px,5.3vw,76px);font-weight:730;line-height:1.4;letter-spacing:-2.8px;color:#40372c;margin:32px 0}
.contact-line{display:block;overflow:hidden;padding-bottom:.06em}
.contact-line>span{display:block}
.contact h2.reveal{opacity:1;transform:none;transition:none}
.contact h2.reveal:not(.is-visible) .contact-line>span{opacity:0;transform:translateY(105%)}
.contact h2.reveal.is-visible .contact-line>span{animation:contact-line-in 1.15s cubic-bezier(.22,.7,.25,1) both}
.contact h2.reveal.is-visible .contact-line:nth-child(2)>span{animation-delay:.16s}
@keyframes contact-line-in{from{opacity:0;transform:translateY(105%)}to{opacity:1;transform:translateY(0)}}
.portfolio .reveal,.about-copy.reveal{transform:none;transition:opacity 1s ease}
.contact-buttons>*{font-weight:600}
@media(max-width:760px){.contact h2{font-size:clamp(34px,9.7vw,48px);letter-spacing:-1.7px}.services .section-intro h2::before{width:36px;margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.contact h2.reveal .contact-line>span{animation:none!important;opacity:1!important;transform:none!important}.services .section-intro h2::before{transition:none;transform:none!important}}

/* User-supplied brand artwork, preserved without redrawing. */
.header .brand,footer .brand{display:block;position:relative;width:88px;height:82px;overflow:hidden;flex-shrink:0;mix-blend-mode:multiply}
.brand .brand-logo{display:block;position:absolute;width:116px;height:116px;max-width:none;left:-14px;top:-20px;object-fit:contain}
footer .brand{width:110px;height:104px}footer .brand-logo{width:146px;height:146px;left:-18px;top:-25px}
@media(max-width:760px){.header .brand{width:62px;height:62px}.header .brand-logo{width:84px;height:84px;left:-11px;top:-14px}.header nav{gap:15px}}

.location{background:#eeeadf}.location-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;margin-top:45px}.location h2{font-size:clamp(28px,3vw,44px);font-weight:550;line-height:1.5}.location-address{font-size:20px;line-height:1.9;margin:30px 0 20px}.location-address strong{font-weight:600}.location-note{font-size:13px;color:#716858;line-height:1.8}.location-call{display:inline-block;margin-top:22px;font-size:14px;border-bottom:1px solid #a59680;padding-bottom:8px}.location-card{min-height:370px;border:1px solid #c9beaa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse at center,#faf8f1,#e3ddcf);color:#514736;transition:background .3s}.location-card:hover{background:#e1d9c9}.location-card svg{width:44px;height:44px;margin-bottom:10px}.location-card strong{font-size:27px;font-weight:550}.location-card>span:not(.eyebrow){font-size:13px}.location-card .map-open{margin-top:26px;border-bottom:1px solid #887962;padding-bottom:9px}
@media(max-width:760px){.location-layout{grid-template-columns:1fr;gap:35px}.location-card{min-height:310px}.location-address{font-size:17px}.header nav{gap:10px;font-size:10px}.header-contact{font-size:10px;padding:8px}.location h2{font-size:28px}}

.location-layout{grid-template-columns:.85fr 1.3fr;gap:6%}.location-map{min-width:0;border:1px solid #c9beaa;background:#f8f5ef}.location-map iframe{display:block;width:100%;height:450px;border:0}.map-caption{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.map-caption small{font-size:11px;color:#756b5d;line-height:2}.map-caption a{white-space:nowrap;border-bottom:1px solid #a59680;padding-bottom:5px}@media(max-width:760px){.location-layout{grid-template-columns:1fr}.location-map iframe{height:360px}.map-caption{padding:15px;font-size:12px}}

#office-map{height:450px;width:100%;z-index:0}.leaflet-container{font-family:inherit}@media(max-width:760px){#office-map{height:360px}}
.location-calls{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:22px}.location-calls .location-call{margin-top:0}
.why-preview{background:#e9e3d7;text-align:center}.why-preview h2{font-size:clamp(28px,3vw,44px);line-height:1.5;margin:25px 0;font-weight:550}.why-preview>p:not(.eyebrow){font-size:13px;line-height:2;color:#756650}.why-preview>a{display:inline-block;border-bottom:1px solid #9d8a6d;padding:12px 0;margin-top:22px;font-size:14px}.header nav{gap:clamp(12px,2.3vw,36px)}@media(max-width:760px){.header{flex-wrap:wrap;height:auto!important;min-height:92px;padding:8px 0;gap:8px}.header nav{order:3;flex-basis:100%;justify-content:center;gap:20px;padding:8px 0;font-size:11px}.header-contact{margin-left:auto}.why-preview>p:not(.eyebrow){max-width:260px;margin:auto}}
