/* Três famílias com papéis consistentes: título, subtítulo e leitura. */
:root{--font-title:"Montserrat",Arial,sans-serif;--font-subtitle:"Lato",Arial,sans-serif;--font-ui:"Open Sans",Arial,sans-serif}
body,button,input,select,textarea{font-family:var(--font-ui)}
h1,h2,.page-hero h1,.hero h1,.acomp-preview h2,.section-head h2,.closing h2,.spec h2{font-family:var(--font-title);font-weight:600;letter-spacing:-.035em;line-height:1.22}
h3,.project h3,.feature-news h3,.news-list h3,.info-card h3,.page-content .info-card h3,.dash-top h3,.photo-title strong,.quick strong,.portal-links strong,.directory strong,.eyebrow,.category-label,.footer-main>div>strong:not(.footer-brand){font-family:var(--font-subtitle);font-weight:700;letter-spacing:-.01em;line-height:1.35}
.eyebrow,.category-label{letter-spacing:.09em;line-height:1.5}.hero h1{font-size:clamp(2.4rem,4vw,3.7rem)}.hero h1 em{font-family:inherit;font-weight:inherit;color:var(--green)}
.lead{font-family:var(--font-ui);font-weight:400}.photo-title strong{font-size:clamp(1.8rem,2.8vw,2.5rem)}
nav{font-size:12px;gap:15px}.nav-acomp{font-size:12px}.btn{font-family:var(--font-ui)}
@media(max-width:1200px) and (min-width:761px){nav{gap:10px 15px;font-size:12px}}
@media(max-width:760px){header nav,.nav-acomp{font-size:15px}.hero h1{font-size:clamp(2.1rem,8.7vw,2.8rem)}h2,.section-head h2{font-size:28px}.acomp-preview h2{font-size:31px}.photo-title strong{font-size:28px}}
