/* Refinamento institucional: a marca original permanece no cabeçalho. */
.institutional { --muted: #505e53; --accent: #ac8d46; }
.institutional .home-container { max-width: 1240px; }
.institutional .eyebrow { font-size: 11px; line-height: 1.6; letter-spacing: 1.8px; }
.institutional .home-hero { background: radial-gradient(ellipse at 85% 20%, #263c2d 0, transparent 55%), #101b15; border-bottom: 1px solid #8d753c; }
.institutional .hero-grid { min-height: 650px; gap: 64px; }
.institutional h1 { font-size: clamp(42px, 4.1vw, 62px); line-height: 1.13; letter-spacing: -1.9px; }
.institutional h1 em, .institutional h2 em { color: #b39550; }
.institutional .home-hero h1 em { color: #d5bb7c; }
.institutional .hero-copy > p { font-size: 17px; color: #d3dacf; max-width: 470px; }
.institutional .hero-signature { color: #c2cdbf; font-size: 11px; }
.institutional .primary-link { min-height: 50px; border-radius: 6px; font-size: 14px; gap: 24px; box-shadow: 0 5px 16px #07170c14; }
.institutional .text-link { font-size: 14px; border-bottom: 1px solid #6b785e; padding: 12px 0; }
.institutional .map-live, .institutional .map-caption { font-size: 12px; color: #d1d9ca; }
.institutional .mission-strip > .home-container { padding-block: 20px; font-size: 14px; }
.institutional .mission-strip a { font-size: 13px; }
.institutional .about-section { gap: 80px; padding-block: 80px; }
.institutional .about-copy p { font-size: 16px; color: #4f5d52; line-height: 1.9; }
.institutional .underlined-link { font-size: 14px; color: #42553f; }
.institutional .section-heading > p { max-width: 390px; font-size: 15px; color: #526052; }
.institutional .profession-grid { gap: 14px; }
.institutional .profession-grid article { display: grid; grid-template-columns: 48px 1fr; column-gap: 18px; align-content: center; min-height: 148px; padding: 24px; border-top: 1px solid #d7dccf; border-radius: 8px; box-shadow: none; }
.institutional .profession-grid article:last-child { border-top: 1px solid #d7dccf; }
.institutional .profession-grid article i { grid-row: 1 / 3; width: 48px; height: 48px; margin: 0; border-radius: 50%; font-size: 21px; }
.institutional .profession-grid article h3 { font-size: 16px; margin: 0; }
.institutional .profession-grid article p { font-size: 13px; margin-top: 6px; line-height: 1.6; }
.institutional .presence-section { padding-block: 80px; }
.institutional .presence-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 28px; }
.institutional .presence-aside { border: 1px solid #dedfd2; border-radius: 10px; }
.institutional .state-filters button { min-height: 46px; font-size: 14px; }
.institutional .location-note { font-size: 12px; }
.institutional .client-card { border-radius: 10px; box-shadow: 0 4px 18px #24362b05; }
.institutional .client-body { padding: 26px; }
.institutional .client-card h3 { font-size: 18px; color: #203b2b; }
.institutional .client-card p { font-size: 13px; color: #52604e; }
.institutional .client-card .client-description { font-size: 14px; }
.institutional .client-card .client-address { font-size: 13px; color: #596553; }
.institutional .client-status { font-size: 11px; color: #647056; }
.institutional .client-units { font-size: 14px; }
.institutional .movement-card { border-radius: 10px; }
.institutional .post-copy { padding: 24px; }
.institutional .post-copy .eyebrow { font-size: 10px; letter-spacing: 1px; }
.institutional .post-copy p { font-size: 14px; color: #52604e; line-height: 1.75; }
.institutional .movement-footer p { font-size: 14px; }
.institutional .join-section { background: #192d21; border-top: 1px solid #ac8d46; }
.institutional .join-section h2 em { color: #d5bb7c; }
.institutional .join-section p { font-size: 15px; color: #d3dbcd; }
.institutional .join-options a { font-size: 20px; padding-block: 26px; }
.institutional .join-options small { font-size: 11px; color: #dac58f; }
.institutional .join-options > p { font-size: 13px; }
.institutional .contact-section p { font-size: 15px; color: #526052; }
.institutional .contact-options { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.institutional a:focus-visible, .institutional button:focus-visible { outline: 3px solid #987624; outline-offset: 5px; }
@media (max-width: 1050px) {
    .institutional .hero-grid { gap: 30px; }
    .institutional .profession-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .institutional .profession-grid article:last-child { grid-column: 1 / -1; }
    .institutional .presence-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 700px) {
    .institutional .hero-grid { min-height: 0; grid-template-columns: 1fr; gap: 24px; }
    .institutional h1 { font-size: clamp(36px, 8vw, 46px); letter-spacing: -1.2px; }
    .institutional .hero-copy > p { font-size: 16px; }
    .institutional .about-section { grid-template-columns: 1fr; gap: 24px; padding-block: 56px; }
    .institutional .presence-section { padding-block: 56px; }
    .institutional .presence-layout { grid-template-columns: 1fr; }
    .institutional .profession-grid { grid-template-columns: 1fr; }
    .institutional .profession-grid article { min-height: 118px; padding: 20px; }
    .institutional .client-grid { grid-template-columns: 1fr; }
    .institutional .client-body { padding: 22px; }
    .institutional .map-caption { font-size: 11px; }
    .institutional .contact-options { margin-top: 24px; }
    .institutional .contact-options .primary-link { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .institutional *, .institutional *::before, .institutional *::after { transition: none !important; scroll-behavior: auto !important; }
}
