/* Requested typography and targeted refinements, September 2026. */
body,button,input,textarea,select{font-family:'Exo 2',sans-serif}
body{font-weight:400}
h1,h2,h3,.button,.text-link{font-weight:600}
strong,b{font-weight:500}
.hero{display:block;padding-top:90px;padding-bottom:76px}
.hero-copy{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 7%}
.hero-copy>.eyebrow,.hero-copy>h1{grid-column:1/-1}
.hero h1{font-size:clamp(44px,6.4vw,92px);line-height:1.08;letter-spacing:-.035em;max-width:none;margin-bottom:48px}
.hero .intro,.hero .hero-detail{max-width:none;margin:0 0 32px;line-height:1.65}
.hero .button,.hero .hero-contact{justify-self:start;align-self:start;margin:0}
.service-grid h3{font-size:26px;line-height:1.25}
.service-color-6{color:var(--brand-6)}
.service-color-5{color:var(--brand-5)}
.service-color-3{color:var(--brand-3)}
.service-color-1{color:var(--brand-1)}
.service-color-2{color:var(--brand-2)}
.service-color-4{color:var(--brand-4)}
.service-grid .service-color-3{color:#c15d02}
.service-grid .service-color-4{color:#a97500}
.division .text-link{display:table!important;width:fit-content;max-width:100%;margin-top:22px}
.division .text-link+.text-link{margin-top:26px}
.footer-brand{width:195px;display:block;margin:8px 0 24px}
.footer-brand img{display:block;width:100%;height:auto}
.social-placeholders>span{display:inline-flex;align-items:center;gap:9px}
.social-placeholders img{display:block;opacity:.7}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.map-container iframe{display:block;width:100%;height:100%;min-height:360px;border:0}
#article-list article{padding:30px 0;border-top:1px solid #d9dade}
.form-result{padding-top:80px;padding-bottom:80px}
.project-brands .project-description{display:block;margin-top:16px;font-size:14px;color:#63666b;text-align:center;line-height:1.5}
.project-brands .project-has-description{flex-direction:column}
.jobs-grid .job-title{font-size:22px;line-height:1.25;font-weight:600;letter-spacing:-.025em;margin:17px 0 12px}
@media(max-width:800px){.jobs-grid .job-title{font-size:21px}}
@media(max-width:450px){.jobs-grid .job-title{font-size:23px;margin:13px 0 9px}}
@media(hover:none){
 .project-image img,.panel-photo img,.mosaic img{filter:none}
 .project-image::after,.panel-photo::after,.mosaic figure::after{opacity:0}
}
@media(max-width:700px){
 .hero{padding-top:58px;padding-bottom:48px}
 .hero-copy{display:block}
 .hero h1{font-size:clamp(38px,8vw,56px);margin-bottom:32px}
 .hero .hero-contact{display:table!important;margin-top:24px}
 .service-grid h3{font-size:24px}
 .map-container iframe{min-height:320px}
}
