/* Final visual refinements, 2.1.1. Keep the established editorial design. */
:root{--section-title:clamp(32px,4.2vw,64px)}
.brand-image{width:180px;height:auto;object-fit:contain}
.custom-brand .custom-logo{width:auto;max-width:180px;height:63px;object-fit:contain}
.brand-footer .brand-image,.brand-footer .custom-logo{width:236px;height:auto;max-width:100%;object-fit:contain}
.brand-footer{align-self:flex-start;margin-bottom:12px}
.site-header.scrolled .brand-image{filter:brightness(0)}
.site-header.header-on-light:not(.scrolled){color:var(--ink)}
.site-header.header-on-light .brand-image{filter:brightness(0)}
.menu-open .site-header,.menu-open .site-header.scrolled{background:#171714;color:#fff;border-color:transparent}
.menu-open .site-header.header-on-light:not(.scrolled){color:#fff}
.menu-open .site-header .brand-image{filter:none}
.menu-open .site-header .menu-toggle span{background:#fff}
.site-header .brand,.custom-logo-link{flex-shrink:0}
h1,h2,h3{overflow-wrap:break-word}
.section-head h2,.service-intro h2,.about-lead h2,.table-focus h2,
.design-feature-copy h2,.contact-tease h2,.next-project h2{font-size:var(--section-title);line-height:1.12;letter-spacing:-.035em}
.v2-statement h2{font-size:clamp(36px,4.5vw,68px);line-height:1.1}
.v2-process-head h2{font-size:var(--section-title);line-height:1.12;margin:0}
.v2-process-step h3{font-size:clamp(26px,2.6vw,40px);line-height:1.16}
.v2-custom-copy h2{font-size:clamp(30px,3vw,48px);line-height:1.14;letter-spacing:-.035em}
.v2-custom-copy{min-width:0}
.v2-contact-cta h2{font-size:clamp(36px,4.8vw,74px);line-height:1.12;margin:0;letter-spacing:-.04em}
.v2-contact-cta .tease-row{margin-top:40px}
.v2-category-row{height:auto;min-height:104px;padding-top:22px;padding-bottom:22px;gap:12px;grid-template-columns:46px minmax(0,1fr) auto}
.v2-category-row h3{font-size:clamp(24px,2.8vw,40px);line-height:1.18}
.v2-custom-copy li,.service-row p,.project-notes p{line-height:1.65}
.v2-scroll-cue{bottom:24px}
.process-page-row{grid-template-columns:60px minmax(0,1fr) minmax(0,1fr);gap:32px}
.process-page-row h2{font-size:clamp(25px,3vw,44px);line-height:1.18;letter-spacing:-.025em}
.process-page-row>*,.service-intro>*,.design-feature>*,.about-columns>*,.values>*,.footer-grid>*,.archive-meta>*,.project-story>*,.inquiry>*{min-width:0}
.mosaic-copy h2{font-size:clamp(28px,2.1vw,34px);line-height:1.14;letter-spacing:-.03em}
.mosaic-copy p{font-size:14px;line-height:1.65}
.values h3{font-size:clamp(17px,1.5vw,22px);line-height:1.25}
.values p,.material-cards p{font-size:15px;line-height:1.65}
.rich-text{font-size:clamp(24px,2.25vw,34px);line-height:1.45}
.inquiry{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,5vw,80px)}
.inquiry-intro h2{font-size:clamp(30px,3.1vw,50px);line-height:1.14;letter-spacing:-.035em}
.inquiry-intro>p:not(.eyebrow){max-width:480px;line-height:1.65}
.contact-direct{font-size:15px;gap:24px}
.contact-location{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,5vw,80px)}
.contact-location h2{font-size:clamp(34px,4.2vw,64px);line-height:1.12}
.contact-location h2 em{display:block;font-size:.65em;line-height:1.25;margin-top:.45em}
.contact-location h2 br{display:none}
.location-card{grid-template-columns:82px minmax(0,1fr);align-content:start;font-size:15px}
.location-card a{overflow-wrap:anywhere}
.project-form legend,.project-form>label,.form-row label{font-size:11px;line-height:1.55;letter-spacing:.08em}
.form-row>label{min-width:0}
.project-form input:not([type=radio]):not([type=checkbox]),.project-form select,.project-form textarea{font-size:16px;line-height:1.5;letter-spacing:normal;font-weight:400;border-radius:0}
.choice-grid span{font-size:13px;line-height:1.35;letter-spacing:normal;padding:10px 8px;text-align:center}
.project-form .consent{font-size:12px;line-height:1.6;letter-spacing:normal;font-weight:400}
.project-form .consent input{flex:none;margin:4px 0 0}
.project-form input:focus-visible,.project-form select:focus-visible,.project-form textarea:focus-visible{outline:2px solid #8b7353;outline-offset:4px}
.choice-grid input:focus-visible+span{outline:2px solid #8b7353;outline-offset:3px}
.btn{font-size:12px;letter-spacing:.07em;line-height:1.4;text-align:center;padding:14px 22px}
.text-link{font-size:12px;letter-spacing:.07em;line-height:1.5}
.footer-statement h2{font-size:clamp(32px,4.5vw,72px);line-height:1.12;letter-spacing:-.04em}
.footer-grid{gap:clamp(30px,4vw,64px);margin-top:80px}
.footer-grid p,.footer-grid a,.footer-grid span{font-size:14px;line-height:1.65}
.footer-grid .footer-label{font-size:11px;letter-spacing:.12em}
.footer-bottom{font-size:11px;line-height:1.6;letter-spacing:.06em}
.footer-grid a{overflow-wrap:anywhere}
.footer-grid .brand,.footer-grid .custom-logo-link{display:inline-block}
.not-found h1{font-size:clamp(36px,5vw,80px);line-height:1.12;margin-bottom:40px;letter-spacing:-.035em}
section[id]{scroll-margin-top:115px}
@media(max-width:1100px){
 .inquiry,.contact-location{grid-template-columns:minmax(0,1fr)}
 .v2-custom-copy h2{font-size:clamp(36px,5.5vw,60px)}
 .v2-statement{grid-template-columns:70px minmax(0,1fr);gap:28px}
 .v2-statement-copy{max-width:640px}
 .v2-process-head{margin-bottom:48px}
}
@media(max-width:720px){
 :root{--section-title:clamp(29px,7.8vw,42px)}
 .brand-image{width:155px}
 .custom-brand .custom-logo{max-width:155px;height:54px}
 .brand-footer .brand-image,.brand-footer .custom-logo{width:210px}
 .v2-statement h2,.v2-custom-copy h2,.v2-contact-cta h2,.footer-statement h2{font-size:clamp(29px,7.8vw,42px);line-height:1.15}
 .v2-category-row{min-height:88px;grid-template-columns:26px minmax(0,1fr) 20px;gap:10px}
 .v2-category-row h3{font-size:clamp(23px,6.1vw,32px)}
 .v2-process-step h3{font-size:clamp(25px,6.5vw,34px)}
 .v2-process-step p{font-size:16px;line-height:1.65}
 .process-page-row{grid-template-columns:28px minmax(0,1fr);gap:14px;padding:28px 0;min-height:0}
 .process-page-row h2{font-size:clamp(24px,6.2vw,32px)}
 .process-page-row p{grid-column:2;margin:0;line-height:1.65}
 .inquiry-intro h2{font-size:clamp(29px,7.8vw,40px)}
 .inquiry{gap:40px}
 .project-form fieldset{min-width:0}
 .contact-direct{margin-top:40px;gap:16px;font-size:14px}
 .contact-hero{padding-top:145px}
 .location-card{grid-template-columns:1fr;gap:6px}
 .location-card a+span{margin-top:16px}
 .footer-grid{margin-top:56px;gap:30px}
 .footer-bottom{margin-top:44px}
 .footer-statement h2{margin-bottom:30px}
 .v2-contact-cta .tease-row{margin-top:30px}
 .service-intro{gap:24px}.service-intro>div:nth-child(2){padding-top:0}
 .values article{padding:24px 0;border-left:0;border-top:1px solid rgba(255,255,255,.2)}
 .table-focus-card h3{font-size:clamp(30px,8vw,38px)}
 section[id]{scroll-margin-top:98px}
}
