:root {
    --site-blue: #123a63;
    --site-blue-dark: #092642;
    --site-blue-soft: #eaf2f8;
    --site-gold: #d4a72c;
    --site-ink: #17212b;
    --site-muted: #5a6875;
    --site-line: #dce4ea;
    --site-white: #fff;
    --site-max: 1180px;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--site-ink);
    background: var(--site-white);
    line-height: 1.6;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--site-white); }
img { max-width: 100%; }
a { color: var(--site-blue); text-underline-offset: .2em; }
.skip-link { position: fixed; top: -4rem; left: 1rem; z-index: 100; padding: .75rem 1rem; background: #fff; }
.skip-link:focus { top: 1rem; }
.site-container { width: min(100% - 2rem, var(--site-max)); margin-inline: auto; }

.site-header { position: sticky; top: 0; z-index: 20; color: #fff; background: rgba(9, 38, 66, .98); box-shadow: 0 2px 18px rgba(0, 0, 0, .16); }
.site-header-inner { width: min(100% - 2rem, var(--site-max)); min-height: 76px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.site-brand { display: flex; align-items: center; gap: .75rem; color: #fff; text-decoration: none; min-width: 0; }
.site-brand img { width: 48px; height: 48px; border-radius: .6rem; object-fit: contain; background: #fff; }
.site-brand span { display: grid; gap: .15rem; min-width: 0; }
.site-brand strong { font-size: 1rem; line-height: 1.2; }
.site-brand small { color: #cedbe6; font-size: .9rem; font-weight: 800; line-height: 1.15; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.site-navigation { display: flex; align-items: center; gap: .25rem; }
.site-navigation a { padding: .7rem .75rem; border-radius: .5rem; color: #fff; font-weight: 650; text-decoration: none; white-space: nowrap; }
.site-navigation a:hover, .site-navigation a:focus-visible { background: rgba(255,255,255,.12); }
.site-navigation .site-area-link { border: 1px solid rgba(255,255,255,.45); margin-left: .25rem; }
.site-menu-button { display: none; min-width: 48px; min-height: 44px; padding: .55rem .8rem; color: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: .5rem; background: transparent; font: inherit; font-weight: 700; }

.site-cover { width: 100%; overflow: hidden; background: var(--site-blue-dark); }
.site-cover-frame { position: relative; width: 100%; height: clamp(440px, calc(100vh - 76px), 680px); height: clamp(440px, calc(100svh - 76px), 680px); margin-inline: auto; overflow: hidden; }
.site-cover img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.site-cover-indicators { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; width: min(100% - 2rem, var(--site-max)); margin-inline: auto; overflow: hidden; color: #fff; background: rgba(9,38,66,.84); box-shadow: 0 -12px 32px rgba(9,38,66,.18); backdrop-filter: blur(3px); }
.site-home-indicators-standalone { border-bottom: 1px solid var(--site-line); background: #fff; box-shadow: 0 10px 24px rgba(18,58,99,.05); }
.site-home-indicator-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.site-home-indicator-grid article { display: grid; align-content: center; min-height: 82px; padding: .7rem 1rem; text-align: center; }
.site-home-indicator-grid article + article { border-left: 1px solid rgba(255,255,255,.28); }
.site-home-indicator-grid span { color: #fff; font-size: .86rem; font-weight: 800; text-shadow: 0 1px 3px rgba(0,0,0,.45); }
.site-home-indicator-grid strong { margin-top: .2rem; color: #fff; font-size: clamp(1.55rem, 3vw, 2.05rem); line-height: 1; text-shadow: 0 1px 4px rgba(0,0,0,.45); }
.site-home-indicators-standalone .site-home-indicator-grid article + article { border-left-color: var(--site-line); }
.site-home-indicators-standalone .site-home-indicator-grid span { color: var(--site-muted); text-shadow: none; }
.site-home-indicators-standalone .site-home-indicator-grid strong { color: var(--site-blue-dark); text-shadow: none; }
.site-hero { min-height: 430px; padding-block: clamp(5rem, 12vw, 10rem); color: #fff; background: linear-gradient(125deg, var(--site-blue-dark), var(--site-blue)); }
.site-hero h1, .site-page-heading h1 { max-width: 820px; margin: .15rem 0 .7rem; font-size: clamp(2.3rem, 6vw, 4.8rem); line-height: 1.05; letter-spacing: -.035em; }
.site-hero > p:not(.site-eyebrow) { max-width: 720px; font-size: clamp(1.05rem, 2.2vw, 1.35rem); }
.site-page-heading { padding-block: clamp(3rem, 8vw, 6rem); }
.site-page-heading h1 { color: var(--site-blue-dark); }
.site-page-heading > p:last-child { max-width: 760px; color: var(--site-muted); font-size: 1.1rem; }
.site-eyebrow { margin: 0; color: var(--site-gold); font-size: .78rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }

.site-section { padding-block: clamp(2.8rem, 7vw, 5.5rem); }
.site-section-soft { background: var(--site-blue-soft); }
.site-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.site-section-heading h2 { margin: .15rem 0 0; color: var(--site-blue-dark); font-size: clamp(1.7rem, 4vw, 2.5rem); line-height: 1.15; }
.site-section-heading > a { font-weight: 750; }
.site-prose { max-width: 840px; color: #344452; font-size: 1.05rem; }
.site-prose p { margin: 0; }
.site-prose-card { padding: clamp(1.25rem, 4vw, 2.25rem); border: 1px solid var(--site-line); border-radius: 1rem; background: #fff; box-shadow: 0 12px 30px rgba(18,58,99,.07); }
.site-prose-card h2 { margin-top: 0; color: var(--site-blue-dark); }
.site-prose-card .site-button { margin-top: 1.25rem; }
.site-prose-card > small { display: block; margin-top: .75rem; color: var(--site-muted); }
.site-lead { color: var(--site-muted); font-size: 1.1rem; }

.site-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .72rem 1.15rem; border-radius: .6rem; color: #fff; background: var(--site-blue); font-weight: 750; text-decoration: none; }
.site-button:hover, .site-button:focus-visible { background: var(--site-blue-dark); }
.site-button-small { min-height: 42px; padding: .58rem .9rem; }

.site-gallery-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.site-gallery-cards-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-gallery-card { min-width: 0; overflow: hidden; border: 1px solid var(--site-line); border-radius: 1rem; background: #fff; box-shadow: 0 10px 24px rgba(18,58,99,.08); }
.site-gallery-card > img, .site-photo-placeholder { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #eef2f5; }
.site-photo-placeholder { display: grid; place-items: center; padding: 1rem; color: var(--site-muted); text-align: center; background: #edf1f4; }
.site-gallery-card > div:last-child { padding: 1.2rem; }
.site-gallery-card h2, .site-gallery-card h3 { margin: 0 0 .4rem; color: var(--site-blue-dark); line-height: 1.2; }
.site-gallery-card p { min-height: 3.2em; margin: 0 0 1rem; color: var(--site-muted); }
.site-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.site-photo-grid figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--site-line); border-radius: .9rem; background: #fff; }
.site-photo-open { display: block; width: 100%; padding: 0; border: 0; background: #eef2f5; cursor: zoom-in; }
.site-photo-open:focus-visible { outline: 4px solid rgba(18,58,99,.32); outline-offset: -4px; }
.site-photo-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #eef2f5; transition: transform .2s ease; }
.site-photo-open:hover img { transform: scale(1.02); }
.site-photo-grid figcaption { display: grid; padding: .8rem 1rem; font-weight: 650; }
.site-photo-grid small { color: var(--site-muted); font-weight: 400; }
.site-photo-lightbox { width: min(1100px, 96vw); max-width: none; height: min(860px, 92vh); padding: 0; border: 0; border-radius: 1rem; color: #fff; background: #071827; box-shadow: 0 26px 80px rgba(0,0,0,.5); }
.site-photo-lightbox::backdrop { background: rgba(2,10,17,.88); }
.site-photo-lightbox figure { display: grid; grid-template-rows: minmax(0,1fr) auto; align-items: center; width: 100%; height: 100%; margin: 0; padding: 48px 76px 26px; }
.site-photo-lightbox figure img { display: block; max-width: 100%; max-height: calc(92vh - 120px); margin: auto; object-fit: contain; }
.site-photo-lightbox figcaption { padding-top: .8rem; color: #dce8f1; text-align: center; }
.site-photo-lightbox-close, .site-photo-lightbox-nav { position: absolute; z-index: 2; display: grid; place-items: center; border: 0; border-radius: 50%; color: var(--site-blue-dark); background: rgba(255,255,255,.94); font-weight: 900; cursor: pointer; }
.site-photo-lightbox-close { top: 14px; right: 14px; width: 42px; height: 42px; font-size: 1.55rem; }
.site-photo-lightbox-nav { top: 50%; width: 48px; height: 48px; transform: translateY(-50%); font-size: 2rem; }
.site-photo-lightbox-prev { left: 14px; }
.site-photo-lightbox-next { right: 14px; }

.institutional-intro { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.5fr); align-items: start; gap: clamp(1.5rem, 5vw, 4rem); }
.institutional-photo { position: sticky; top: 100px; width: 100%; border-radius: 1rem; box-shadow: 0 16px 40px rgba(18,58,99,.14); }
.institutional-blocks { display: grid; gap: 2rem; }
.institutional-blocks article { padding-bottom: 2rem; border-bottom: 1px solid var(--site-line); }
.institutional-blocks h2 { margin-top: 0; color: var(--site-blue-dark); }
.directorate-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.directorate-grid article { display: grid; padding: 1rem; border-radius: .75rem; background: #fff; }
.directorate-grid span { color: var(--site-muted); }

.site-callout { margin-block: 2rem 5rem; padding: clamp(1.5rem, 5vw, 3rem); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; border-radius: 1rem; color: #fff; background: var(--site-blue-dark); }
.site-callout h2 { margin: .15rem 0; }
.site-callout p:last-child { margin-bottom: 0; color: #d8e3ec; }
.site-callout .site-button { color: var(--site-blue-dark); background: #fff; }
.indicator-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; }
.indicator-grid article { display: grid; padding: 1.4rem; border-left: 5px solid var(--site-gold); border-radius: .75rem; background: var(--site-blue-soft); }
.indicator-grid strong { color: var(--site-blue-dark); font-size: 2rem; line-height: 1; }
.indicator-grid span { margin-top: .5rem; color: var(--site-muted); }
.indicator-grid small { margin-top: .25rem; color: var(--site-muted); font-size: .78rem; }
.transparency-document { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem; border: 1px solid var(--site-line); border-radius: .9rem; }
.transparency-document h2 { margin: 0; }
.transparency-document p { margin: .3rem 0 0; color: var(--site-muted); }
.site-data-note { color: var(--site-muted); font-size: .9rem; }
.collaborate-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.site-confirmation{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--site-line)}.site-button-secondary{width:100%;border:1px solid var(--site-blue);color:var(--site-blue-dark);background:#eef6fb}.site-button-secondary:hover,.site-button-secondary:focus-visible{color:#fff;background:var(--site-blue-dark)}.site-form{display:grid;gap:1rem;margin-top:1rem}.site-form label{display:grid;gap:.45rem;color:var(--site-blue-dark);font-weight:700}.site-form input,.site-form textarea{width:100%;padding:.75rem;border:1px solid #b8c8d5;border-radius:.6rem;background:#fff;color:#182d3f;font:inherit}.site-form input:focus,.site-form textarea:focus{outline:3px solid rgba(31,111,174,.15);border-color:var(--site-blue)}.site-form small{color:var(--site-muted);font-weight:400}.site-alert{margin-top:1rem;padding:.8rem 1rem;border-radius:.6rem;border:1px solid}.site-alert-success{color:#176642;background:#e7f6ee;border-color:#bce4ce}.site-alert-error{color:#852e2e;background:#fff0f0;border-color:#efc3c3}.site-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.site-detail-list { margin: 0; }
.site-detail-list div { padding: .7rem 0; border-bottom: 1px solid var(--site-line); }
.site-detail-list dt { color: var(--site-muted); font-size: .85rem; font-weight: 750; }
.site-detail-list dd { margin: .15rem 0 0; font-weight: 650; }
.site-detail-list .site-pix-key-row dd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}.site-copy-pix-button{min-height:36px;padding:.45rem .85rem;border:1px solid var(--site-blue);border-radius:.55rem;background:#eef6fb;color:var(--site-blue-dark);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.site-copy-pix-button:hover,.site-copy-pix-button:focus-visible{background:var(--site-blue-dark);color:#fff}@media(max-width:440px){.site-detail-list .site-pix-key-row dd{grid-template-columns:1fr}.site-copy-pix-button{width:100%}}
.break-text { overflow-wrap: anywhere; }
.collaborate-qr { display: block; width: min(100%, 280px); height: auto; margin: 0 auto 1.25rem; padding: .75rem; border: 1px solid var(--site-line); border-radius: .8rem; background: #fff; }
.site-empty { padding: 2rem; border: 1px dashed #aebdca; border-radius: .9rem; color: var(--site-muted); text-align: center; background: #f7f9fa; }
.site-empty h2 { margin-top: 0; color: var(--site-blue-dark); }
.site-back-link { display: inline-block; margin-bottom: 1.2rem; font-weight: 750; }

.site-footer { display: flex; justify-content: space-between; gap: 2rem; padding: 2rem max(1rem, calc((100% - var(--site-max)) / 2)); color: #d5e0e9; background: var(--site-blue-dark); }
.site-footer p { margin: .25rem 0 0; }
.site-footer > div:last-child { display: grid; align-content: start; justify-items: end; }
.site-footer a { color: #fff; }

@media (max-width: 940px) {
    .site-menu-button { display: inline-block; }
    .site-navigation { position: absolute; top: 100%; left: 0; right: 0; display: none; padding: .75rem 1rem 1rem; flex-direction: column; align-items: stretch; background: var(--site-blue-dark); box-shadow: 0 12px 20px rgba(0,0,0,.18); }
    .site-navigation.is-open { display: flex; }
    .site-navigation .site-area-link { margin: .25rem 0 0; text-align: center; }
    .site-gallery-cards, .site-photo-grid, .directorate-grid, .indicator-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .site-container, .site-header-inner { width: min(100% - 1.25rem, var(--site-max)); }
    .site-header-inner { min-height: 66px; }
    .site-brand img { width: 40px; height: 40px; }
    .site-brand small { max-width: 170px; }
    .site-cover-frame { height: clamp(390px, 72vh, 560px); height: clamp(390px, 72svh, 560px); }
    .site-cover-indicators { width: min(100% - 1.25rem, var(--site-max)); }
    .site-home-indicator-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .site-home-indicator-grid article { min-height: 74px; padding: .55rem .45rem; }
    .site-home-indicator-grid span { font-size: .76rem; line-height: 1.25; }
    .site-home-indicator-grid strong { font-size: 1.5rem; }
    .site-home-indicator-grid article + article { border-left: 0; }
    .site-home-indicator-grid article:nth-child(even) { border-left: 1px solid rgba(255,255,255,.28); }
    .site-home-indicator-grid article:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.28); }
    .site-home-indicators-standalone .site-home-indicator-grid article:nth-child(even) { border-left-color: var(--site-line); }
    .site-home-indicators-standalone .site-home-indicator-grid article:nth-child(n+3) { border-top-color: var(--site-line); }
    .site-gallery-cards, .site-gallery-cards-2, .site-photo-grid, .directorate-grid, .indicator-grid, .institutional-intro, .collaborate-grid { grid-template-columns: 1fr; }
    .institutional-photo { position: static; }
    .site-section-heading, .site-callout, .transparency-document, .site-footer { align-items: stretch; flex-direction: column; }
    .site-section-heading > a { align-self: start; }
    .site-gallery-card p { min-height: 0; }
    .site-footer > div:last-child { justify-items: start; }
    .site-photo-lightbox figure { padding: 54px 14px 74px; }
    .site-photo-lightbox-nav { top: auto; bottom: 14px; transform: none; }
    .site-photo-lightbox-prev { left: calc(50% - 60px); }
    .site-photo-lightbox-next { right: calc(50% - 60px); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
.site-photo-grid figcaption span{display:block;margin-top:4px;color:var(--muted);font-size:.82rem}

/* 0.34.1: diretórios públicos no padrão das galerias da página inicial. */
.site-directory-heading { padding-block: clamp(2.8rem, 7vw, 5.5rem) 1.5rem; }
.site-directory-heading h1 { font-size: clamp(1.7rem, 4vw, 2.5rem); line-height: 1.15; letter-spacing: normal; }
.site-directory-heading > p:last-child { font-size: 1rem; margin-bottom: 0; }
.site-directory-list { padding-top: 0; }
.site-directory-list .site-gallery-card h2 { font-size: 1.17em; }
.site-directory-list .site-gallery-card > a { display: block; }
.site-directory-list .site-gallery-card > a > img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; background: #eef2f5; }
