/* Identidade institucional pública */
.institution-page { width: min(100%, 77rem); margin-inline: auto; padding-bottom: clamp(2rem, 5vw, 4rem); }
.institution-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(13rem, .42fr); gap: 2rem; align-items: end; margin: .5rem 0 1.25rem; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid #234d5b; border-radius: 1.1rem; background: linear-gradient(135deg, #102f3c 0%, #164b5c 62%, #286f72 100%); color: #fff; overflow: hidden; }
.institution-hero .eyebrow { color: #91dfc6; }
.institution-hero h1 { margin: 0; color: #fff; font-size: clamp(2.3rem, 5vw, 4.5rem); letter-spacing: -.06em; line-height: .98; }
.institution-lead { max-width: 45rem; margin: 1rem 0 0; color: #d9ece9; font-size: clamp(1rem, 2vw, 1.25rem); line-height: 1.65; }
.institution-hero-mark { display: grid; gap: .7rem; justify-items: start; align-content: end; padding: 1.15rem; border: 1px solid #91dfc655; border-radius: .85rem; background: #ffffff12; color: #d9ece9; font-size: .78rem; font-weight: 650; line-height: 1.5; }
.institution-hero-mark i { color: #91dfc6; font-size: 2rem; }
.institution-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.institution-card { min-width: 0; padding: clamp(1rem, 2.5vw, 1.45rem); border: 1px solid var(--radar-border); border-radius: .85rem; background: var(--radar-surface); box-shadow: var(--radar-shadow); }
.institution-card-wide { grid-column: 1 / -1; }
.institution-card-primary { border-color: #91dfc6; background: linear-gradient(145deg, var(--radar-primary-soft), var(--radar-surface)); }
.institution-card > i { display: block; margin-bottom: .8rem; color: var(--radar-primary); font-size: 1.35rem; }
.institution-card-label { display: block; margin-bottom: .45rem; color: var(--radar-primary); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.institution-card h2, .institution-contact-panel h2 { margin: 0 0 .7rem; color: var(--radar-text); font-size: clamp(1.05rem, 2vw, 1.35rem); letter-spacing: -.025em; }
.institution-card p, .institution-list, .institution-contact-heading p { margin: 0; color: var(--radar-muted); font-size: .86rem; line-height: 1.7; }
.institution-card p + p { margin-top: .7rem; }
.institution-list { display: grid; gap: .5rem; padding-left: 1.1rem; }
.institution-list li { display: grid; gap: .2rem; }
.institution-list li > strong { color: var(--radar-text); font-size: .8rem; line-height: 1.45; }
.institution-list li > span { color: var(--radar-muted); font-size: .78rem; line-height: 1.55; }
.institution-section-heading { max-width: 49rem; margin: 2.25rem 0 1rem; }
.institution-section-heading .eyebrow { margin-bottom: .55rem; color: var(--radar-primary); }
.institution-section-heading h2 { margin: 0 0 .65rem; color: var(--radar-text); font-size: clamp(1.45rem, 3vw, 2.15rem); letter-spacing: -.04em; }
.institution-section-heading > p:last-child { margin: 0; color: var(--radar-muted); font-size: .88rem; line-height: 1.7; }
.institution-profile-panel, .institution-services-panel { margin-top: 1rem; padding: clamp(1.15rem, 3vw, 2rem); border: 1px solid var(--radar-border); border-radius: .95rem; background: var(--radar-surface-soft); }
.institution-profile-panel .institution-section-heading, .institution-services-panel .institution-section-heading { margin-top: 0; }
.institution-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.institution-profile-card { min-width: 0; padding: clamp(1rem, 2.5vw, 1.35rem); border: 1px solid var(--radar-border); border-radius: .75rem; background: var(--radar-surface); }
.institution-profile-card-wide { grid-column: 1 / -1; }
.institution-profile-card-primary { border-color: #91dfc6; background: linear-gradient(145deg, var(--radar-primary-soft), var(--radar-surface)); }
.institution-profile-card h3, .institution-services-grid h3 { margin: 0 0 .55rem; color: var(--radar-text); font-size: 1rem; letter-spacing: -.02em; }
.institution-profile-card p { margin: 0; color: var(--radar-muted); font-size: .82rem; line-height: 1.65; }
.institution-profile-card p + p { margin-top: .65rem; }
.institution-profile-card .protected-contact { color: var(--radar-text); }
.institution-profile-list { margin: 0; color: var(--radar-muted); font-size: .8rem; line-height: 1.55; }
.institution-profile-list strong { color: var(--radar-text); }
.institution-profile-period { display: inline-flex; margin-bottom: .65rem !important; padding: .25rem .55rem; border-radius: 999px; background: var(--radar-primary-soft); color: var(--radar-primary) !important; font-size: .7rem !important; font-weight: 800; letter-spacing: .04em; }
.institution-services-panel { border-color: #234d5b; background: linear-gradient(145deg, #102f3c, #164b5c); }
.institution-services-panel .institution-section-heading .eyebrow { color: #91dfc6; }
.institution-services-panel .institution-section-heading h2 { color: #fff; }
.institution-services-panel .institution-section-heading > p:last-child { color: #d9ece9; }
.institution-services-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.institution-services-grid article { min-width: 0; padding: 1rem; border: 1px solid #91dfc633; border-radius: .7rem; background: #ffffff0d; }
.institution-services-grid i { display: block; margin-bottom: .65rem; color: #91dfc6; font-size: 1.35rem; }
.institution-services-grid h3 { color: #fff; }
.institution-services-grid p { margin: 0; color: #d9ece9; font-size: .77rem; line-height: 1.6; }
.institution-services-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-top: .75rem; padding: 1rem; border: 1px solid #91dfc655; border-radius: .7rem; background: #ffffff12; }
.institution-services-cta .institution-card-label { margin-bottom: .3rem; color: #91dfc6; }
.institution-services-cta strong { display: block; color: #fff; font-size: .95rem; }
.institution-services-cta p { margin: .3rem 0 0; color: #d9ece9; font-size: .76rem; line-height: 1.5; }
.institution-cta-link { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .45rem; padding: .7rem .9rem; border: 1px solid #91dfc6; border-radius: 999px; background: #91dfc6; color: #102f3c !important; cursor: default; font-size: .76rem; font-weight: 800; user-select: none; -webkit-user-select: none; }
.institution-contact-panel { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(0, 1.25fr); gap: 2rem; margin-top: .85rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--radar-border-strong); border-radius: .85rem; background: var(--radar-surface-soft); }
.institution-contact-heading .eyebrow { margin-bottom: .55rem; color: var(--radar-primary); }
.institution-contact-heading p { font-size: .78rem; }
.institution-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.institution-contact-item-wide { grid-column: 1 / -1; }
.institution-contact-item { display: grid; gap: .35rem; min-width: 0; padding: .85rem; border: 1px solid var(--radar-border); border-radius: .65rem; background: var(--radar-surface); }
.institution-contact-item > span:first-child { color: var(--radar-subtle); font-size: .67rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.institution-contact-item .protected-contact { color: var(--radar-text); font-size: .82rem; font-weight: 700; line-height: 1.45; overflow-wrap: anywhere; }
.institution-contact-item a.protected-contact:hover { color: var(--radar-primary); }
.protected-contact { user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; pointer-events: none; cursor: default; }
.institution-disclaimer { display: flex; align-items: flex-start; gap: .7rem; margin-top: .85rem; padding: .95rem 1rem; border-left: 3px solid var(--radar-primary); border-radius: .25rem .65rem .65rem .25rem; background: var(--radar-primary-soft); }
.institution-disclaimer i { flex: 0 0 auto; color: var(--radar-primary); }
.institution-disclaimer p { margin: 0; color: var(--radar-muted); font-size: .74rem; line-height: 1.55; }
.privacy-company-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-top: .8rem; }
.privacy-company-details > div { display: grid; gap: .25rem; min-width: 0; padding: .75rem .85rem; border: 1px solid var(--radar-border); border-radius: .6rem; background: var(--radar-surface-soft); }
.privacy-company-details span:first-child { color: var(--radar-subtle); font-size: .66rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.privacy-company-details strong, .privacy-company-details .protected-contact { color: var(--radar-text); font-size: .78rem; line-height: 1.45; overflow-wrap: anywhere; }
.privacy-company-details a.protected-contact:hover { color: var(--radar-primary); }
.privacy-company-activities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-top: .75rem; }
.privacy-company-activities article { min-width: 0; padding: .85rem; border: 1px solid var(--radar-border); border-radius: .6rem; background: var(--radar-surface-soft); }
.privacy-company-activities article > span { display: block; color: var(--radar-text); font-size: .76rem; font-weight: 800; line-height: 1.45; }
.privacy-company-activities article > p { margin: .35rem 0 0; color: var(--radar-muted); font-size: .74rem; line-height: 1.55; }
.privacy-company-note { margin-top: .75rem !important; color: var(--radar-subtle) !important; font-size: .72rem !important; }

@media (max-width: 61.99rem) {
    .institution-contact-panel { grid-template-columns: 1fr; gap: 1.25rem; }
}

@media (max-width: 47.99rem) {
    .institution-hero { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 0; padding: 1.35rem; }
    .institution-hero-mark { grid-template-columns: auto 1fr; align-items: center; }
    .institution-grid, .institution-profile-grid, .institution-contact-grid, .privacy-company-details, .privacy-company-activities { grid-template-columns: 1fr; }
    .institution-card-wide, .institution-profile-card-wide, .institution-contact-item-wide { grid-column: auto; }
    .institution-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .institution-services-cta { align-items: flex-start; flex-direction: column; }
    .institution-contact-panel { padding: 1.1rem; }
}

@media (max-width: 31.99rem) {
    .institution-services-grid { grid-template-columns: 1fr; }
}
