:root {
  --institutional-green-950:#03351f;
  --institutional-green-900:#064e2f;
  --institutional-green-800:#075f37;
  --institutional-green-700:#0b7246;
  --institutional-green-100:#e4f5ec;
  --institutional-green-50:#f2faf6;
  --institutional-gold-700:#9b5c00;
  --institutional-gold-600:#d98a00;
  --institutional-gold-500:#e6a000;
  --institutional-gold-100:#fff0bf;
  --institutional-ink:#13231a;
  --institutional-muted:#5f6f66;
  --institutional-border:#dbe8e0;
  --institutional-surface:#ffffff;
  --institutional-bg:#f6faf7;
  --institutional-shadow:0 18px 54px rgba(3,53,31,.10);
  --institutional-shadow-soft:0 10px 30px rgba(3,53,31,.07);
  --institutional-radius-xl:30px;
  --institutional-radius-lg:22px;
  --institutional-radius-md:15px;
  --institutional-focus:#b56a00;
  --institutional-container:min(1180px, calc(100% - 40px));
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body.institutional-page { margin:0; min-width:0; overflow-x:hidden; overflow-x:clip; color:var(--institutional-ink); background:var(--institutional-bg); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.6; }
a { color:inherit; }
img { max-width:100%; height:auto; }
button,input,textarea,select { font:inherit; }
:where(main,section,article,div,nav,aside,header,footer) { min-width:0; }
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.institutional-container { width:var(--institutional-container); margin-inline:auto; }
.institutional-section { padding:94px 0; }
.institutional-section-kicker, .institutional-eyebrow { margin:0 0 12px; color:var(--institutional-green-700); font-size:.78rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.institutional-section-heading { display:grid; grid-template-columns:minmax(0, 1fr) minmax(280px, 480px); gap:48px; align-items:end; margin-bottom:42px; }
.institutional-section-heading h2, .institutional-login-intro h2, .institutional-contact h2 { margin:0; color:var(--institutional-green-950); font-size:clamp(2rem, 4vw, 3.25rem); line-height:1.08; letter-spacing:-.035em; font-weight:900; }
.institutional-section-heading > p, .institutional-login-intro > p, .institutional-contact p { margin:0; color:var(--institutional-muted); font-size:1.05rem; }
.institutional-skip-link { position:fixed; left:16px; top:12px; z-index:2000; transform:translateY(-160%); padding:12px 16px; color:#fff; background:var(--institutional-green-950); border-radius:10px; font-weight:800; }
.institutional-skip-link:focus { transform:none; }


.institutional-header { position:sticky; top:0; z-index:1100; background:rgba(255,255,255,.96); border-bottom:1px solid rgba(219,232,224,.92); backdrop-filter:blur(16px); box-shadow:0 8px 28px rgba(3,53,31,.055); }
.institutional-header-inner { position:relative; min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.institutional-brand { flex:0 0 auto; display:inline-flex; align-items:center; width:166px; height:62px; }
.institutional-brand img { width:100%; height:100%; object-fit:contain; object-position:left center; }
.institutional-navigation { display:flex; align-items:center; gap:7px; }
.institutional-navigation > a, .institutional-solutions-menu > summary { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:9px 12px; color:#294337; text-decoration:none; border-radius:12px; font-weight:780; cursor:pointer; list-style:none; white-space:nowrap; }
.institutional-solutions-menu > summary::-webkit-details-marker { display:none; }
.institutional-navigation > a:hover, .institutional-solutions-menu > summary:hover, .institutional-solutions-menu[open] > summary { color:var(--institutional-green-800); background:var(--institutional-green-50); }
.institutional-solutions-menu { position:relative; }
.institutional-solutions-menu > summary i { font-size:.76rem; transition:transform .18s ease; }
.institutional-solutions-menu[open] > summary i { transform:rotate(180deg); }
.institutional-solutions-list { position:absolute; top:calc(100% + 12px); left:50%; width:330px; padding:11px; display:grid; gap:5px; transform:translateX(-50%); border:1px solid var(--institutional-border); border-radius:18px; background:#fff; box-shadow:0 24px 50px rgba(3,53,31,.16); }
.institutional-solutions-list::before { content:""; position:absolute; left:50%; top:-7px; width:13px; height:13px; transform:translateX(-50%) rotate(45deg); border-left:1px solid var(--institutional-border); border-top:1px solid var(--institutional-border); background:#fff; }
.institutional-solutions-list a { position:relative; min-height:48px; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; padding:7px 10px; color:#294337; text-decoration:none; border-radius:12px; font-weight:750; }
.institutional-solutions-list a:hover { color:var(--institutional-green-900); background:var(--institutional-green-50); }
.institutional-solutions-list a i { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:var(--institutional-green-700); background:var(--institutional-green-100); }
.institutional-navigation .institutional-header-demo { margin-left:4px; padding-inline:17px; color:#3e2a00; background:linear-gradient(135deg, #ffd45f, var(--institutional-gold-500)); box-shadow:0 10px 22px rgba(230,160,0,.22); }
.institutional-navigation .institutional-header-demo:hover { color:#2c1d00; background:linear-gradient(135deg, #ffdc76, #efad12); }
.institutional-menu-toggle { display:none; width:48px; height:48px; border:1px solid var(--institutional-border); border-radius:14px; color:var(--institutional-green-900); background:#fff; font-size:1.65rem; }
.institutional-menu-glyph { position:relative; width:22px; height:16px; display:block; }
.institutional-menu-glyph span { position:absolute; left:0; width:22px; height:2px; border-radius:999px; background:currentColor; transition:transform .18s ease, top .18s ease, opacity .18s ease; }
.institutional-menu-glyph span:nth-child(1) { top:0; }.institutional-menu-glyph span:nth-child(2) { top:7px; }.institutional-menu-glyph span:nth-child(3) { top:14px; }
.institutional-menu-glyph.is-open span:nth-child(1) { top:7px; transform:rotate(45deg); }.institutional-menu-glyph.is-open span:nth-child(2) { opacity:0; }.institutional-menu-glyph.is-open span:nth-child(3) { top:7px; transform:rotate(-45deg); }

.institutional-hero { position:relative; overflow:hidden; padding:72px 0 88px; background:linear-gradient(135deg, #fff 0%, #edf8f2 56%, #fff5d8 100%); }
.institutional-hero::before { content:""; position:absolute; width:540px; height:540px; left:-300px; top:80px; border-radius:50%; background:rgba(11,114,70,.075); }
.institutional-hero::after { content:""; position:absolute; width:420px; height:420px; right:-220px; bottom:-170px; border-radius:50%; background:rgba(230,160,0,.16); }
.institutional-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(380px, .85fr); gap:42px; align-items:center; }
.institutional-hero-banner { position:relative; min-width:0; padding:54px 48px 48px; overflow:hidden; border:1px solid rgba(255,255,255,.9); border-radius:36px; background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(243,251,247,.88)); box-shadow:0 32px 72px rgba(3,53,31,.13); }
.institutional-hero-copy { position:relative; z-index:3; max-width:720px; }
.institutional-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border:1px solid #cfe8db; border-radius:999px; background:rgba(255,255,255,.78); }
.institutional-hero-subtitle { margin:21px 0 5px; color:var(--institutional-gold-700); font-size:clamp(1.05rem, 2vw, 1.35rem); font-weight:900; }
.institutional-hero h1 { max-width:680px; margin:0 0 21px; color:var(--institutional-green-950); font-size:clamp(2.75rem, 5.1vw, 4.75rem); line-height:.98; letter-spacing:-.055em; font-weight:950; }
.institutional-hero-lead { max-width:650px; margin:0; color:#4e6257; font-size:clamp(1.05rem, 1.7vw, 1.24rem); }
.institutional-hero-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:30px; }
.institutional-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:12px 20px; border:1px solid transparent; border-radius:14px; text-decoration:none; font-weight:850; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.institutional-button:hover { transform:translateY(-2px); }
.institutional-button-primary { color:#fff; background:linear-gradient(135deg, var(--institutional-green-700), var(--institutional-green-950)); box-shadow:0 14px 28px rgba(7,95,55,.20); }
.institutional-button-primary:hover { color:#fff; box-shadow:0 18px 35px rgba(7,95,55,.27); }
.institutional-button-secondary { color:var(--institutional-green-900); border-color:#bcd8c8; background:rgba(255,255,255,.83); }
.institutional-button-secondary:hover { color:var(--institutional-green-950); background:#fff; }
.institutional-button-gold { color:#3f2b00; background:linear-gradient(135deg, #ffd15a, var(--institutional-gold-500)); box-shadow:0 15px 30px rgba(230,160,0,.22); }
.institutional-hero-link { min-height:44px; display:inline-flex; align-items:center; gap:8px; margin-top:18px; color:var(--institutional-green-800); text-decoration:none; font-weight:850; }
.institutional-trust-list { display:flex; flex-wrap:wrap; gap:18px; margin:28px 0 0; padding:0; list-style:none; color:#52665b; font-size:.91rem; font-weight:720; }
.institutional-trust-list li { display:flex; align-items:center; gap:7px; }
.institutional-trust-list i { color:var(--institutional-green-700); }
.institutional-banner-visual { position:absolute; right:-82px; bottom:-95px; width:365px; height:310px; z-index:1; opacity:.93; pointer-events:none; }
.institutional-banner-glow { position:absolute; inset:30px; border-radius:50%; background:rgba(230,160,0,.24); filter:blur(36px); }
.institutional-banner-panel { position:absolute; inset:24px 20px 15px 35px; padding:20px; transform:rotate(-5deg); border:1px solid rgba(255,255,255,.92); border-radius:26px; background:rgba(255,255,255,.9); box-shadow:0 30px 55px rgba(3,53,31,.17); backdrop-filter:blur(10px); }
.institutional-banner-panel-top { display:flex; align-items:center; gap:6px; color:var(--institutional-green-900); font-size:.75rem; }
.institutional-banner-panel-top strong { margin-left:auto; }
.institutional-banner-dot { width:8px; height:8px; border-radius:50%; background:#d8e4dd; }
.institutional-banner-dot:nth-child(2) { background:#f1bf43; }
.institutional-banner-dot:nth-child(3) { background:#42a975; }
.institutional-banner-logo { height:86px; display:grid; place-items:center; margin:15px 0; border-radius:17px; background:linear-gradient(135deg, var(--institutional-green-50), #fff7de); }
.institutional-banner-logo img { width:150px; height:70px; object-fit:contain; }
.institutional-banner-modules { display:flex; gap:7px; }
.institutional-banner-modules span { width:37px; height:37px; display:grid; place-items:center; border-radius:11px; color:var(--institutional-green-700); background:var(--institutional-green-100); }
.institutional-banner-chart { height:50px; display:flex; align-items:end; gap:8px; margin-top:14px; }
.institutional-banner-chart i { flex:1; border-radius:5px 5px 2px 2px; background:linear-gradient(180deg, #34ae74, var(--institutional-green-900)); }
.institutional-banner-chart i:nth-child(1) { height:34%; }.institutional-banner-chart i:nth-child(2) { height:72%; }.institutional-banner-chart i:nth-child(3) { height:50%; }.institutional-banner-chart i:nth-child(4) { height:88%; background:linear-gradient(180deg, #ffd15a, var(--institutional-gold-600)); }.institutional-banner-chart i:nth-child(5) { height:64%; }

.institutional-login-section { min-width:0; align-self:stretch; display:flex; align-items:center; }
.institutional-login-card { position:relative; width:100%; overflow:hidden; padding:34px; border:1px solid rgba(255,255,255,.95); border-radius:30px; background:linear-gradient(180deg, #fff 0%, #fbfdfc 100%); box-shadow:0 34px 78px rgba(3,53,31,.20); }
.institutional-login-card::before { content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg, var(--institutional-green-700), #2da66b 62%, var(--institutional-gold-500)); }
.institutional-login-card-heading { display:grid; grid-template-columns:104px minmax(0,1fr); gap:18px; align-items:center; padding:2px 0 23px; margin-bottom:22px; border-bottom:1px solid var(--institutional-border); }
.institutional-login-brand { width:104px; height:70px; display:grid; place-items:center; padding:8px; border:1px solid #d8e9df; border-radius:18px; background:linear-gradient(145deg, #fff, var(--institutional-green-50)); }
.institutional-login-card-heading img { width:88px; height:54px; object-fit:contain; }
.institutional-login-card-heading h2 { margin:2px 0 5px; color:var(--institutional-green-950); font-size:1.65rem; line-height:1.08; letter-spacing:-.025em; font-weight:950; }
.institutional-login-card-heading p { margin:0; color:var(--institutional-muted); font-size:.91rem; line-height:1.45; }
.institutional-login-card-heading .institutional-login-kicker { display:flex; align-items:center; gap:7px; color:var(--institutional-gold-700); font-size:.72rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.institutional-alerts { display:grid; gap:10px; margin-bottom:20px; }
.institutional-alert { min-height:48px; display:flex; align-items:flex-start; gap:10px; padding:12px 14px; border:1px solid transparent; border-radius:13px; font-size:.9rem; font-weight:720; line-height:1.45; }
.institutional-alert > i { flex:0 0 auto; margin-top:2px; font-size:1rem; }
.institutional-alert-danger { color:#7d1620; border-color:#efb7bd; background:#fff0f1; }
.institutional-alert-warning { color:#654500; border-color:#efd896; background:#fff9e5; }
.institutional-alert-success { color:#07532f; border-color:#acd9bf; background:#edf9f2; }
.institutional-field { margin-bottom:19px; }
.institutional-field label { display:block; margin-bottom:7px; color:var(--institutional-green-950); font-size:.91rem; font-weight:850; }
.institutional-input-wrap { position:relative; }
.institutional-input-wrap > i { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:#60746a; font-size:1.03rem; pointer-events:none; }
.institutional-input-wrap input { width:100%; min-height:54px; padding:13px 52px 13px 45px; border:1px solid #c7d8cf; border-radius:14px; color:var(--institutional-ink); background:#fff; outline:none; font-size:1rem; transition:border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.institutional-input-wrap input::placeholder { color:#7b8a82; opacity:1; }
.institutional-input-wrap input:hover { border-color:#9dbdaf; }
.institutional-input-wrap input:focus { border-color:var(--institutional-green-700); background:#fff; box-shadow:0 0 0 4px rgba(11,114,70,.13); }
.institutional-field.has-error .institutional-input-wrap input, .institutional-input-wrap input[aria-invalid="true"] { border-color:#b92331; background:#fffafa; box-shadow:0 0 0 1px rgba(185,35,49,.04); }
.institutional-field.has-error .institutional-input-wrap > i { color:#a61e2b; }
.institutional-field-error { display:flex; align-items:flex-start; gap:7px; margin:7px 1px 0; color:#8a1722; font-size:.82rem; font-weight:760; line-height:1.4; }
.institutional-field-error i { margin-top:2px; }
.institutional-password-toggle { display:none; position:absolute; right:7px; top:50%; width:42px; height:42px; transform:translateY(-50%); border:1px solid transparent; border-radius:11px; color:var(--institutional-green-900); background:transparent; cursor:pointer; }
.js-enabled .institutional-password-toggle { display:grid; place-items:center; }
.institutional-password-toggle:hover { border-color:#d7e9df; background:var(--institutional-green-50); }
.institutional-password-toggle[aria-pressed="true"] { color:#fff; background:var(--institutional-green-700); }
.institutional-login-submit { width:100%; min-height:54px; border:0; margin-top:3px; font-size:1rem; box-shadow:0 15px 28px rgba(6,78,47,.19); }
.institutional-login-divider { display:flex; align-items:center; gap:12px; margin:22px 0 18px; color:#8ba096; }
.institutional-login-divider::before, .institutional-login-divider::after { content:""; height:1px; flex:1; background:var(--institutional-border); }
.institutional-login-divider span { width:6px; height:6px; border-radius:50%; background:var(--institutional-gold-500); }
.institutional-login-security { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:12px; padding:13px 14px; border:1px solid #d8e9df; border-radius:14px; color:#40584b; background:var(--institutional-green-50); }
.institutional-login-security > i { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; color:var(--institutional-green-800); background:#fff; font-size:1.12rem; }
.institutional-login-security div { min-width:0; display:grid; gap:1px; }
.institutional-login-security strong { color:var(--institutional-green-950); font-size:.86rem; }
.institutional-login-security span { color:#5a6d62; font-size:.79rem; line-height:1.4; }
.institutional-login-help { margin:14px 0 0; color:var(--institutional-muted); font-size:.79rem; line-height:1.5; text-align:center; }
.institutional-login-help a { color:var(--institutional-green-800); font-weight:850; text-decoration-thickness:1px; text-underline-offset:3px; }

.institutional-modules { background:#fff; }
.institutional-module-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; }
.institutional-module-card { min-width:0; min-height:286px; display:flex; flex-direction:column; padding:26px; border:1px solid var(--institutional-border); border-radius:var(--institutional-radius-lg); background:linear-gradient(155deg, #fff 0%, #fbfdfc 72%, #eef8f3 100%); box-shadow:var(--institutional-shadow-soft); transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.institutional-module-card:hover { transform:translateY(-4px); border-color:#b8d7c6; box-shadow:0 18px 38px rgba(3,53,31,.11); }
.institutional-module-card-top { min-height:58px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.institutional-module-icon { width:53px; height:53px; flex:0 0 auto; display:grid; place-items:center; border-radius:16px; color:var(--institutional-green-800); background:var(--institutional-green-100); font-size:1.35rem; }
.institutional-availability { max-width:190px; min-height:31px; display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid #bfe1cf; border-radius:999px; color:#075f37; background:#edf9f3; font-size:.72rem; line-height:1.2; font-weight:880; }
.institutional-availability i { flex:0 0 auto; font-size:.76rem; }
.institutional-availability-configurable { color:#6a4700; border-color:#ead29a; background:#fff8e6; }
.institutional-module-card h3 { margin:22px 0 9px; color:var(--institutional-green-950); font-size:1.24rem; line-height:1.25; font-weight:920; }
.institutional-module-card p { margin:0 0 22px; color:var(--institutional-muted); font-size:.95rem; }
.institutional-module-card a { min-height:44px; display:inline-flex; align-items:center; gap:8px; margin-top:auto; color:var(--institutional-green-700); text-decoration:none; font-size:.91rem; font-weight:880; }
.institutional-module-card a:hover { color:var(--institutional-green-950); text-decoration:underline; text-underline-offset:4px; }

.institutional-blog { background:linear-gradient(180deg, #eff8f3, #f8fbf9); }
.institutional-blog-grid { display:grid; gap:18px; align-items:stretch; justify-content:center; grid-auto-rows:1fr; }
.institutional-blog-grid[data-card-count="1"] { grid-template-columns:minmax(0, 380px); }
.institutional-blog-grid[data-card-count="2"] { grid-template-columns:repeat(2, minmax(0, 380px)); }
.institutional-blog-grid[data-card-count="3"] { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.institutional-blog-grid[data-card-count="4"] { grid-template-columns:repeat(4, minmax(0, 1fr)); }
.institutional-blog-grid[data-card-count="5"] { grid-template-columns:repeat(5, minmax(0, 1fr)); }
.institutional-blog-card { min-width:0; height:100%; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--institutional-border); border-radius:var(--institutional-radius-lg); background:#fff; box-shadow:var(--institutional-shadow-soft); transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.institutional-blog-card:hover { transform:translateY(-4px); border-color:#b7d5c4; box-shadow:0 18px 38px rgba(3,53,31,.11); }
.institutional-blog-image { flex:0 0 auto; aspect-ratio:16/9; overflow:hidden; background:#eaf4ee; }
.institutional-blog-image img { width:100%; height:100%; object-fit:cover; display:block; }.institutional-blog-image img.is-placeholder { object-fit:contain; padding:12px; }
.institutional-blog-content { min-height:280px; flex:1 1 auto; display:flex; flex-direction:column; padding:20px; }
.institutional-blog-content time { color:var(--institutional-gold-700); font-size:.78rem; font-weight:900; }
.institutional-blog-content h3 { min-height:2.65em; display:-webkit-box; overflow:hidden; margin:9px 0 10px; color:var(--institutional-green-950); font-size:1.05rem; line-height:1.32; font-weight:900; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.institutional-blog-content p { min-height:6.1em; display:-webkit-box; overflow:hidden; margin:0 0 18px; color:var(--institutional-muted); font-size:.88rem; line-height:1.52; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.institutional-blog-action { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; margin-top:auto; padding:10px 14px; border:1px solid #bcd8c8; border-radius:13px; color:#fff; background:linear-gradient(135deg, var(--institutional-green-700), var(--institutional-green-950)); box-shadow:0 10px 22px rgba(7,95,55,.15); text-decoration:none; font-size:.89rem; font-weight:900; }
.institutional-blog-action:hover { color:#fff; box-shadow:0 14px 28px rgba(7,95,55,.23); }
.institutional-empty-state { padding:50px 28px; border:1px dashed #a9cbb9; border-radius:var(--institutional-radius-lg); text-align:center; background:rgba(255,255,255,.72); }
.institutional-empty-state i { color:var(--institutional-green-700); font-size:2.3rem; }.institutional-empty-state h3 { margin:12px 0 5px; color:var(--institutional-green-950); }.institutional-empty-state p { margin:0; color:var(--institutional-muted); }

.institutional-article { min-height:calc(100vh - 82px); background:linear-gradient(145deg, #f7fbf8, #fff8e8); }
.institutional-article-container { max-width:920px; }
.institutional-article-back { min-height:44px; display:inline-flex; align-items:center; gap:8px; margin-bottom:22px; color:var(--institutional-green-800); text-decoration:none; font-weight:850; }
.institutional-article-card { overflow:hidden; border:1px solid var(--institutional-border); border-radius:var(--institutional-radius-xl); background:#fff; box-shadow:var(--institutional-shadow); }
.institutional-article-header { padding:46px 52px 38px; }
.institutional-article-header time { color:var(--institutional-gold-700); font-size:.86rem; font-weight:880; }
.institutional-article-header h1 { margin:12px 0 18px; color:var(--institutional-green-950); font-size:clamp(2.25rem, 5vw, 4.1rem); line-height:1.03; letter-spacing:-.045em; font-weight:950; }
.institutional-article-summary { max-width:760px; margin:0; color:var(--institutional-muted); font-size:1.12rem; }
.institutional-article-image { width:100%; height:auto; aspect-ratio:16/9; display:block; object-fit:cover; background:#eaf4ee; }
.institutional-article-image.is-placeholder { object-fit:contain; padding:28px; }
.institutional-article-body { padding:45px 52px 50px; color:#294337; font-size:1.04rem; line-height:1.82; white-space:pre-line; overflow-wrap:anywhere; }
.institutional-article-footer { padding:0 52px 48px; }

.institutional-module-details { background:linear-gradient(180deg, #fff, #f4faf6); }
.institutional-detail-list { display:grid; gap:24px; }
.institutional-detail-card { scroll-margin-top:110px; display:grid; grid-template-columns:92px minmax(0, 1fr); gap:28px; padding:32px; border:1px solid var(--institutional-border); border-radius:var(--institutional-radius-xl); background:#fff; box-shadow:var(--institutional-shadow-soft); }
.institutional-detail-rail { display:flex; flex-direction:column; align-items:center; gap:17px; padding-right:25px; border-right:1px solid var(--institutional-border); }
.institutional-detail-number { color:#cfe3d8; font-size:2.7rem; line-height:1; font-weight:950; }
.institutional-detail-content { min-width:0; }
.institutional-detail-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.institutional-detail-heading h3 { margin:9px 0 0; color:var(--institutional-green-950); font-size:clamp(1.45rem, 2.5vw, 1.9rem); line-height:1.2; font-weight:920; }
.institutional-detail-login-link { min-height:44px; flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; padding:9px 13px; color:var(--institutional-green-800); border:1px solid #c8dfd2; border-radius:12px; background:var(--institutional-green-50); text-decoration:none; font-size:.84rem; font-weight:880; }
.institutional-detail-login-link:hover { color:var(--institutional-green-950); border-color:#a9cdb9; background:#fff; }
.institutional-detail-description { max-width:870px; margin:14px 0 20px; color:var(--institutional-muted); font-size:.98rem; }
.institutional-feature-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px 13px; margin:0; padding:0; list-style:none; }
.institutional-feature-grid li { min-width:0; min-height:43px; display:flex; align-items:center; gap:9px; padding:9px 11px; border:1px solid #e0ece5; border-radius:12px; color:#355044; background:#fbfdfc; font-size:.86rem; font-weight:760; }
.institutional-feature-grid li i { width:23px; height:23px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--institutional-green-700); font-size:.76rem; }
.institutional-feature-note { display:flex; align-items:flex-start; gap:8px; margin:16px 0 0; padding:11px 13px; border-left:3px solid var(--institutional-gold-500); border-radius:0 10px 10px 0; color:#66501f; background:#fff8e7; font-size:.84rem; }
.institutional-feature-note i { margin-top:2px; color:var(--institutional-gold-700); }

.institutional-contact { padding-top:34px; background:#fff; }
.institutional-contact-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,470px); align-items:end; gap:48px; margin-bottom:38px; }
.institutional-contact-heading h2 { max-width:720px; }
.institutional-contact-heading > p { margin:0; color:var(--institutional-muted); font-size:1.05rem; }
.institutional-contact-layout { display:grid; grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr); gap:26px; align-items:stretch; }
.institutional-contact-panel { display:flex; flex-direction:column; gap:30px; padding:38px; border-radius:var(--institutional-radius-xl); color:#fff; background:linear-gradient(145deg,var(--institutional-green-950),var(--institutional-green-700)); box-shadow:var(--institutional-shadow); }
.institutional-contact-panel-kicker { margin:0 0 9px !important; color:#ffd15a !important; font-size:.76rem !important; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.institutional-contact-panel h3 { margin:0; color:#fff; font-size:clamp(1.65rem,3vw,2.25rem); line-height:1.08; font-weight:900; }
.institutional-contact-panel > div > p:not(.institutional-contact-panel-kicker) { margin:14px 0 0; color:#cbe2d5; }
.institutional-contact-channels { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.institutional-contact-channels a { min-height:67px; display:grid; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:12px; padding:10px 13px; border:1px solid rgba(255,255,255,.16); border-radius:15px; color:#fff; background:rgba(255,255,255,.08); text-decoration:none; }
.institutional-contact-channels a:hover { background:rgba(255,255,255,.14); }
.institutional-contact-channels i { width:43px; height:43px; display:grid; place-items:center; border-radius:13px; color:#ffe18a; background:rgba(0,0,0,.13); font-size:1.15rem; }
.institutional-contact-channels span { min-width:0; display:grid; }
.institutional-contact-channels small { color:#bcd9c9; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.institutional-contact-channels strong { overflow-wrap:anywhere; font-size:.94rem; }
.institutional-contact-config-note { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; padding:14px; border:1px solid rgba(255,255,255,.16); border-radius:15px; background:rgba(255,255,255,.08); }
.institutional-contact-config-note i { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:#ffe18a; background:rgba(0,0,0,.13); }
.institutional-contact-config-note p { margin:0 !important; color:#d5e9dd !important; font-size:.88rem !important; }
.institutional-contact-assurance { display:grid; grid-template-columns:43px minmax(0,1fr); gap:13px; align-items:start; margin-top:auto; padding-top:24px; border-top:1px solid rgba(255,255,255,.14); }
.institutional-contact-assurance > i { width:43px; height:43px; display:grid; place-items:center; border-radius:13px; color:#163600; background:#ffd15a; font-size:1.1rem; }
.institutional-contact-assurance p { display:grid; gap:2px; margin:0 !important; }
.institutional-contact-assurance strong { color:#fff; }
.institutional-contact-assurance span { color:#bdd7c8; font-size:.84rem; }
.institutional-contact-form-card { padding:38px; border:1px solid var(--institutional-border); border-radius:var(--institutional-radius-xl); background:#fff; box-shadow:var(--institutional-shadow-soft); }
.institutional-contact-form-heading { margin-bottom:25px; }
.institutional-contact-form-heading p { margin:0 0 6px; color:var(--institutional-gold-700); font-size:.76rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.institutional-contact-form-heading h3 { margin:0; color:var(--institutional-green-950); font-size:clamp(1.6rem,3vw,2.15rem); line-height:1.15; font-weight:900; }
.institutional-contact-form-heading span { display:block; margin-top:6px; color:var(--institutional-muted); font-size:.88rem; }
.institutional-contact-alert { display:grid; grid-template-columns:23px minmax(0,1fr); gap:10px; align-items:start; margin-bottom:20px; padding:13px 15px; border-radius:13px; font-weight:740; line-height:1.45; }
.institutional-contact-alert-success { color:#12582f; border:1px solid #a9d8bc; background:#e8f8ee; }
.institutional-contact-alert-error { color:#811b28; border:1px solid #e4b2b8; background:#fff0f2; }
.institutional-contact-alert i { margin-top:2px; }
.institutional-contact-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.institutional-contact-form .institutional-field { min-width:0; }
.institutional-contact-form .institutional-field label { display:block; margin-bottom:7px; color:#294337; font-size:.88rem; font-weight:830; }
.institutional-contact-form .institutional-input-wrap input { min-height:50px; }
.institutional-contact-message-field { margin-top:18px; }
.institutional-contact-message-field textarea { width:100%; min-height:145px; resize:vertical; padding:14px 15px; border:1px solid #cdded4; border-radius:13px; color:var(--institutional-ink); background:#fff; font:inherit; line-height:1.55; }
.institutional-contact-message-field textarea:hover { border-color:#9dc2ae; }
.institutional-contact-form .has-error input,.institutional-contact-form .has-error textarea { border-color:#b82d3f; box-shadow:0 0 0 3px rgba(184,45,63,.09); }
.institutional-contact-submit-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:25px; margin-top:22px; padding-top:21px; border-top:1px solid var(--institutional-border); }
.institutional-contact-submit-row p { margin:0; color:var(--institutional-muted); font-size:.8rem; }
.institutional-contact-submit-row p a { color:var(--institutional-green-800); font-weight:800; }
.institutional-contact-submit-row .institutional-button { min-width:225px; border:0; }
.institutional-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

.institutional-footer { padding:58px 0 28px; color:#d5e6dc; background:#032919; }
.institutional-footer-inner { display:grid; grid-template-columns:minmax(250px,1.25fr) minmax(150px,.55fr) minmax(220px,.8fr); gap:42px; align-items:start; }
.institutional-footer-brand img { width:145px; height:68px; padding:6px; object-fit:contain; object-position:center; border-radius:12px; background:#fff; }
.institutional-footer-brand p { max-width:420px; margin:13px 0 0; color:#aac5b5; }
.institutional-footer-brand strong { color:#fff; }
.institutional-footer-column h2 { margin:3px 0 14px; color:#fff; font-size:.82rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.institutional-footer nav,.institutional-footer-contacts { display:grid; gap:9px; }
.institutional-footer nav a,.institutional-footer-contacts a { min-height:44px; display:flex; align-items:center; gap:8px; color:#d5e6dc; text-decoration:none; font-weight:720; overflow-wrap:anywhere; }
.institutional-footer nav a:hover,.institutional-footer-contacts a:hover { color:#ffd15a; }
.institutional-footer-contacts i { color:#ffd15a; }
.institutional-footer-bottom { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:6px; padding-top:24px; border-top:1px solid rgba(255,255,255,.1); }
.institutional-footer-bottom p { margin:0; color:#89aa97; font-size:.84rem; }
.institutional-footer-bottom a { color:#c7ddd0; font-size:.84rem; font-weight:750; }

:where(a, button, input, textarea, select, summary, [tabindex]):focus,
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible { outline:3px solid var(--institutional-focus); outline-offset:3px; }
@supports not selector(:focus-visible) { :where(a, button, input, textarea, select, summary, [tabindex]):focus { outline:3px solid var(--institutional-focus); outline-offset:3px; } }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }


@media (max-width:1440px) and (min-width:1181px) {
  .institutional-blog-grid[data-card-count="5"] { grid-template-columns:repeat(4, minmax(0,1fr)); }
  .institutional-blog-grid[data-card-count="5"] > .institutional-blog-card:last-child { grid-column:1 / -1; width:calc((100% - 54px) / 4); justify-self:center; }
}

@media (max-width:1280px) {
  .institutional-header-inner { flex-wrap:wrap; }
  .js-enabled .institutional-menu-toggle { display:grid; place-items:center; }
  .js-enabled .institutional-navigation { position:absolute; top:calc(100% + 1px); left:-20px; right:-20px; width:auto; max-height:calc(100vh - 84px); overflow-y:auto; display:none; grid-template-columns:1fr; align-items:stretch; gap:5px; padding:14px 20px 20px; border-bottom:1px solid var(--institutional-border); background:#fff; box-shadow:0 20px 35px rgba(3,53,31,.14); }
  .js-enabled .institutional-navigation.is-open { display:grid; }
  .institutional-navigation { min-width:0; flex-basis:100%; width:100%; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px; order:3; padding-bottom:9px; }
  .institutional-navigation > a, .institutional-solutions-menu > summary { width:100%; justify-content:flex-start; min-height:48px; padding:10px 12px; text-align:left; }
  .institutional-navigation :focus-visible { outline:3px solid var(--institutional-focus); outline-offset:-3px; box-shadow:none; }
  .institutional-navigation .institutional-header-demo { margin:0; justify-content:center; grid-column:1 / -1; }
  .institutional-solutions-menu { grid-column:1 / -1; }
  .institutional-solutions-list { position:static; width:100%; margin-top:5px; padding:5px 0 0 16px; transform:none; border:0; border-left:2px solid var(--institutional-green-100); border-radius:0; box-shadow:none; }
  .institutional-solutions-list::before { display:none; }
  .institutional-solutions-list a { min-height:46px; }
}

@media (max-width:1180px) {
  .institutional-navigation > a, .institutional-solutions-menu > summary { padding-inline:9px; font-size:.91rem; }
  .institutional-navigation .institutional-header-demo { padding-inline:12px; }
  .institutional-hero-grid { grid-template-columns:minmax(0, 1fr) minmax(350px, .72fr); gap:28px; }
  .institutional-hero-banner { padding-inline:38px; }
  .institutional-blog-grid[data-card-count="4"], .institutional-blog-grid[data-card-count="5"] { grid-template-columns:repeat(6, minmax(0, 1fr)); }
  .institutional-blog-grid[data-card-count="4"] > .institutional-blog-card, .institutional-blog-grid[data-card-count="5"] > .institutional-blog-card { grid-column:span 2; width:auto; }
  .institutional-blog-grid[data-card-count="4"] > .institutional-blog-card:last-child { grid-column:3 / span 2; }
  .institutional-blog-grid[data-card-count="5"] > .institutional-blog-card:nth-last-child(2) { grid-column:2 / span 2; }
  .institutional-blog-grid[data-card-count="5"] > .institutional-blog-card:last-child { grid-column:4 / span 2; }
}

@media (max-width:960px) {
  :root { --institutional-container:min(100% - 30px, 820px); }
  .institutional-section { padding:72px 0; }
  .institutional-header-inner { min-height:74px; flex-wrap:wrap; }
  .js-enabled .institutional-menu-toggle { display:grid; place-items:center; }
  .js-enabled .institutional-navigation { position:absolute; top:calc(100% + 1px); left:-15px; right:-15px; width:auto; max-height:calc(100vh - 76px); overflow-y:auto; display:none; grid-template-columns:1fr; align-items:stretch; gap:5px; padding:14px 15px 20px; border-bottom:1px solid var(--institutional-border); background:#fff; box-shadow:0 20px 35px rgba(3,53,31,.14); }
  .js-enabled .institutional-navigation.is-open { display:grid; }
  .institutional-navigation { min-width:0; flex-basis:100%; width:100%; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px; order:3; padding-bottom:9px; }
  .institutional-navigation > a, .institutional-solutions-menu > summary { width:100%; justify-content:flex-start; min-height:48px; padding:10px 12px; text-align:left; }
  .institutional-navigation :focus-visible { outline:3px solid var(--institutional-focus); outline-offset:-3px; box-shadow:none; }
  .institutional-navigation .institutional-header-demo { margin:0; justify-content:center; grid-column:1 / -1; }
  .institutional-solutions-menu { grid-column:1 / -1; }
  .institutional-solutions-list { position:static; width:100%; margin-top:5px; padding:5px 0 0 16px; transform:none; border:0; border-left:2px solid var(--institutional-green-100); border-radius:0; box-shadow:none; }
  .institutional-solutions-list::before { display:none; }
  .institutional-solutions-list a { min-height:46px; }
  .institutional-hero { padding:54px 0 66px; }
  .institutional-hero-grid { grid-template-columns:1fr; max-width:780px; }
  .institutional-hero-banner { min-height:610px; }
  .institutional-login-section { width:min(100%, 620px); margin-inline:auto; }
  .institutional-section-heading { grid-template-columns:1fr; gap:15px; }
  .institutional-module-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .institutional-blog-grid[data-card-count]:not([data-card-count="1"]) { grid-template-columns:repeat(4, minmax(0,1fr)); }
  .institutional-blog-grid[data-card-count]:not([data-card-count="1"]) > .institutional-blog-card { grid-column:span 2; width:auto; }
  .institutional-blog-grid[data-card-count="4"] > .institutional-blog-card:last-child, .institutional-blog-grid[data-card-count="5"] > .institutional-blog-card:nth-last-child(2) { grid-column:span 2; }
  .institutional-blog-grid[data-card-count="3"] > .institutional-blog-card:last-child, .institutional-blog-grid[data-card-count="5"] > .institutional-blog-card:last-child { grid-column:2 / span 2; }
  .institutional-detail-card { grid-template-columns:76px minmax(0,1fr); gap:22px; padding:27px; }
  .institutional-detail-rail { padding-right:18px; }
  .institutional-feature-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .institutional-contact-heading { grid-template-columns:1fr; gap:15px; }
  .institutional-contact-layout { grid-template-columns:1fr; }
  .institutional-contact-panel { min-height:0; }
  .institutional-footer-inner { grid-template-columns:1.2fr .7fr 1fr; gap:28px; }
}

@media (max-width:620px) {
  :root { --institutional-container:calc(100% - 24px); }
  html { scroll-padding-top:78px; }
  .institutional-section { padding:58px 0; }
  .institutional-header-inner { min-height:70px; }
  .institutional-brand { width:142px; height:55px; }
  .institutional-navigation { grid-template-columns:1fr; }
  .js-enabled .institutional-navigation { left:-12px; right:-12px; }
  .institutional-navigation .institutional-header-demo, .institutional-solutions-menu { grid-column:1; }
  .institutional-hero { padding:38px 0 52px; }
  .institutional-hero-banner { min-height:0; padding:31px 22px 285px; border-radius:27px; }
  .institutional-hero h1 { font-size:clamp(2.35rem, 12.4vw, 3.55rem); }
  .institutional-hero-actions { display:grid; }
  .institutional-button { width:100%; }
  .institutional-trust-list { display:grid; gap:9px; }
  .institutional-banner-visual { right:-10px; bottom:-58px; width:290px; height:275px; }
  .institutional-banner-panel { inset:25px 15px 20px 30px; }
  .institutional-login-card { padding:27px 20px 24px; border-radius:24px; }
  .institutional-login-card-heading { grid-template-columns:76px minmax(0,1fr); gap:13px; padding-bottom:19px; margin-bottom:20px; }
  .institutional-login-brand { width:76px; height:62px; border-radius:15px; }
  .institutional-login-card-heading img { width:64px; height:44px; }
  .institutional-login-card-heading h2 { font-size:1.4rem; }
  .institutional-login-card-heading p { font-size:.84rem; }
  .institutional-input-wrap input { min-height:52px; font-size:16px; }
  .institutional-login-security { grid-template-columns:38px minmax(0,1fr); padding:12px; }
  .institutional-login-security > i { width:38px; height:38px; }
  .institutional-module-grid, .institutional-blog-grid[data-card-count], .institutional-blog-grid[data-card-count]:not([data-card-count="1"]) { grid-template-columns:1fr; }
  .institutional-blog-grid[data-card-count] > .institutional-blog-card, .institutional-blog-grid[data-card-count]:not([data-card-count="1"]) > .institutional-blog-card, .institutional-blog-grid[data-card-count="3"] > .institutional-blog-card:last-child, .institutional-blog-grid[data-card-count="4"] > .institutional-blog-card:last-child, .institutional-blog-grid[data-card-count="5"] > .institutional-blog-card:nth-last-child(2), .institutional-blog-grid[data-card-count="5"] > .institutional-blog-card:last-child { grid-column:auto; width:auto; }
  .institutional-article-header { padding:32px 22px 28px; }
  .institutional-article-body { padding:30px 22px 36px; }
  .institutional-article-footer { padding:0 22px 32px; }
  .institutional-module-card { min-height:0; }
  .institutional-module-card-top { align-items:center; }
  .institutional-detail-card { grid-template-columns:1fr; gap:18px; padding:23px 20px; }
  .institutional-detail-rail { flex-direction:row; justify-content:space-between; padding:0 0 16px; border-right:0; border-bottom:1px solid var(--institutional-border); }
  .institutional-detail-number { font-size:2.15rem; }
  .institutional-detail-heading { display:grid; gap:14px; }
  .institutional-detail-login-link { width:100%; justify-content:center; }
  .institutional-feature-grid { grid-template-columns:1fr; }
  .institutional-contact-panel,.institutional-contact-form-card { padding:27px 20px; }
  .institutional-contact-form-grid { grid-template-columns:1fr; }
  .institutional-contact-submit-row { grid-template-columns:1fr; }
  .institutional-contact-submit-row .institutional-button { width:100%; min-width:0; }
  .institutional-footer-inner { grid-template-columns:1fr; gap:28px; }
  .institutional-footer nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .institutional-footer-bottom { grid-column:1; align-items:flex-start; flex-direction:column; }
}

/* Apresentação inicial administrável */
.institutional-hero-complement { max-width:650px; margin:14px 0 0; color:#315347; font-size:.96rem; line-height:1.65; }
.institutional-hero-banner.has-custom-background { isolation:isolate; }
.institutional-hero-background-image { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; }
.institutional-hero-background-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(250,253,251,.97) 0%, rgba(250,253,251,.91) 56%, rgba(250,253,251,.48) 100%); }
.institutional-hero-banner.has-custom-background .institutional-hero-copy,
.institutional-hero-banner.has-custom-background .institutional-banner-visual { position:relative; z-index:2; }
.institutional-banner-custom-image { position:absolute; right:28px; bottom:28px; width:min(43%, 470px); margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.9); border-radius:26px; background:#fff; box-shadow:0 24px 55px rgba(3,53,31,.22); }
.institutional-banner-custom-image img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
@media (max-width: 991.98px) {
  .institutional-banner-custom-image { right:34px; bottom:34px; width:48%; }
}
@media (max-width: 767.98px) {
  .institutional-banner-custom-image { right:22px; bottom:22px; width:calc(100% - 44px); max-height:235px; }
  .institutional-banner-custom-image img { max-height:235px; }
  .institutional-hero-background-shade { background:rgba(250,253,251,.9); }
}

/* Slides públicos vigentes */
.institutional-highlights { padding-top:34px; overflow-x:clip; }
.institutional-carousel-shell {
  --carousel-height-desktop:520px;
  --carousel-height-tablet:480px;
  --carousel-height-mobile:500px;
  position:relative;
  width:100%;
  max-width:100%;
  overflow:hidden;
  border-radius:30px;
  background:#062f23;
  box-shadow:0 24px 55px rgba(3,53,31,.18);
  contain:layout paint;
}
.institutional-carousel-viewport {
  position:relative;
  width:100%;
  min-width:0;
  min-height:var(--carousel-height-desktop);
  outline:none;
}
.institutional-carousel-viewport:focus-visible {
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.9), inset 0 0 0 7px #0c5b42;
}
.institutional-public-slide {
  position:absolute;
  inset:0;
  display:grid;
  align-items:end;
  width:100%;
  min-width:0;
  min-height:var(--carousel-height-desktop);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:linear-gradient(135deg,#073f2e,#0b6d4c);
}
.institutional-public-slide[hidden] { display:none; }
.institutional-public-slide img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.institutional-public-slide-image-fallback {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.22);
  font-size:clamp(3rem,10vw,8rem);
  background:radial-gradient(circle at 75% 28%,rgba(255,255,255,.15),transparent 35%);
}
.institutional-public-slide:not(.is-image-unavailable) .institutional-public-slide-image-fallback { opacity:0; }
.institutional-public-slide-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(3,40,29,.94) 0%, rgba(3,40,29,.72) 52%, rgba(3,40,29,.18) 100%); }
.institutional-public-slide-copy {
  position:relative;
  z-index:2;
  width:min(690px, 78%);
  max-width:100%;
  padding:56px 68px 64px;
  color:#fff;
  overflow-wrap:anywhere;
}
.institutional-public-slide-badge { display:inline-flex; align-items:center; min-height:31px; margin-bottom:16px; padding:6px 12px; border:1px solid rgba(255,255,255,.35); border-radius:999px; background:rgba(255,255,255,.13); font-size:.78rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.institutional-public-slide h3 { margin:0; font-size:clamp(2rem,4vw,3.8rem); line-height:1.04; letter-spacing:-.04em; }
.institutional-public-slide p { max-width:620px; margin:18px 0 25px; color:rgba(255,255,255,.88); font-size:1.04rem; line-height:1.7; }
.institutional-carousel-control {
  position:absolute;
  z-index:5;
  top:50%;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid rgba(255,255,255,.62);
  border-radius:50%;
  background:rgba(2,31,23,.68);
  color:#fff;
  transform:translateY(-50%);
  backdrop-filter:blur(7px);
  cursor:pointer;
}
.institutional-carousel-control[hidden],.institutional-carousel-indicators[hidden] { display:none !important; }
.institutional-carousel-control:hover,.institutional-carousel-control:focus-visible { background:#fff; color:#0c5b42; outline:3px solid rgba(12,91,66,.35); outline-offset:3px; }
.institutional-carousel-control.is-previous { left:16px; }
.institutional-carousel-control.is-next { right:16px; }
.institutional-carousel-indicators { position:absolute; z-index:5; left:50%; bottom:20px; display:flex; max-width:calc(100% - 32px); gap:9px; transform:translateX(-50%); overflow-x:auto; scrollbar-width:none; }
.institutional-carousel-indicators::-webkit-scrollbar { display:none; }
.institutional-carousel-indicators button { flex:0 0 auto; width:12px; height:12px; padding:0; border:1px solid rgba(255,255,255,.85); border-radius:999px; background:rgba(255,255,255,.35); cursor:pointer; }
.institutional-carousel-indicators button.is-active { width:32px; background:#fff; }
.institutional-carousel-indicators button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.institutional-carousel-shell.is-single-slide .institutional-public-slide-copy { padding-inline:clamp(28px,7vw,92px); }
.institutional-public-slide.is-transition-fade.is-entering { animation:institutional-slide-fade .36s ease both; }
.institutional-public-slide.is-transition-deslizamento.is-entering { animation:institutional-slide-shift .36s ease both; }
@keyframes institutional-slide-fade { from { opacity:0; } to { opacity:1; } }
@keyframes institutional-slide-shift { from { opacity:.25; transform:translateX(34px); } to { opacity:1; transform:translateX(0); } }
@media (prefers-reduced-motion: reduce) {
  .institutional-public-slide.is-entering { animation:none !important; }
  .institutional-carousel-control,.institutional-carousel-indicators button { transition:none !important; }
}
@media (max-width:991.98px) {
  .institutional-carousel-viewport,.institutional-public-slide { min-height:var(--carousel-height-tablet); }
  .institutional-public-slide-copy { width:min(720px,86%); padding:48px 58px 62px; }
}
@media (max-width:767.98px) {
  .institutional-carousel-viewport,.institutional-public-slide { min-height:var(--carousel-height-mobile); }
  .institutional-public-slide-shade { background:linear-gradient(0deg, rgba(3,40,29,.97) 0%, rgba(3,40,29,.78) 64%, rgba(3,40,29,.22) 100%); }
  .institutional-public-slide-copy { width:100%; padding:132px 26px 64px; }
  .institutional-public-slide h3 { font-size:clamp(1.85rem,10vw,3rem); }
  .institutional-public-slide p { font-size:.95rem; line-height:1.6; }
  .institutional-carousel-control { top:22px; width:44px; height:44px; transform:none; }
  .institutional-carousel-control.is-previous { left:auto; right:72px; }
  .institutional-carousel-control.is-next { right:18px; }
  .institutional-carousel-indicators { bottom:16px; }
}
@media (max-width:420px) {
  .institutional-carousel-shell { border-radius:22px; }
  .institutional-public-slide-copy { padding:118px 20px 60px; }
  .institutional-public-slide-copy .institutional-button { width:100%; white-space:normal; text-align:center; }
}
@media (min-resolution:2dppx) {
  .institutional-public-slide img { image-rendering:auto; }
}

/* Janela flutuante pública da página de login. O componente começa oculto e
   só é aberto após o JavaScript instalar todos os mecanismos de fechamento. */
.institutional-page.is-popup-open { overflow:hidden; }
.institutional-popup-overlay {
  position:fixed;
  inset:0;
  z-index:1400;
  display:grid;
  place-items:center;
  min-width:0;
  padding:clamp(14px,3vw,34px);
  overflow:auto;
  overscroll-behavior:contain;
  background:rgba(3,31,20,.74);
  backdrop-filter:blur(7px);
}
.institutional-popup-overlay[hidden] { display:none !important; }
.institutional-popup-card {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  width:min(100%,880px);
  max-height:min(88vh,820px);
  min-width:0;
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(255,255,255,.84);
  border-radius:28px;
  background:#fff;
  box-shadow:0 34px 90px rgba(0,0,0,.34);
}
.institutional-popup-card.is-pequena { width:min(100%,680px); }
.institutional-popup-card.is-grande { width:min(100%,1080px); }
.institutional-popup-card:focus { outline:none; }
.institutional-popup-card:focus-visible { outline:4px solid rgba(255,198,74,.88); outline-offset:5px; }
.institutional-popup-close {
  position:absolute;
  z-index:4;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:9px 13px;
  border:1px solid rgba(3,76,44,.18);
  border-radius:999px;
  color:var(--institutional-green-950);
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 22px rgba(3,53,31,.16);
  font:inherit;
  font-size:.84rem;
  font-weight:900;
  cursor:pointer;
}
.institutional-popup-close:hover { background:#fff; transform:translateY(-1px); }
.institutional-popup-close:focus-visible { outline:4px solid rgba(255,198,74,.88); outline-offset:3px; }
.institutional-popup-media {
  position:relative;
  min-width:0;
  min-height:360px;
  overflow:hidden;
  background:linear-gradient(145deg,var(--institutional-green-950),var(--institutional-green-700));
}
.institutional-popup-media img {
  display:block;
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
}
.institutional-popup-media.is-image-unavailable img { display:none; }
.institutional-popup-image-fallback {
  position:absolute;
  inset:0;
  display:none;
  place-items:center;
  color:rgba(255,255,255,.86);
  background:
    radial-gradient(circle at 30% 25%,rgba(255,198,74,.24),transparent 34%),
    linear-gradient(145deg,var(--institutional-green-950),var(--institutional-green-700));
  font-size:clamp(3rem,9vw,6rem);
}
.institutional-popup-media.is-image-unavailable .institutional-popup-image-fallback { display:grid; }
.institutional-popup-content {
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  gap:17px;
  padding:clamp(54px,6vw,72px) clamp(24px,5vw,54px) clamp(28px,5vw,48px);
  overflow-wrap:anywhere;
}
.institutional-popup-kicker {
  margin:0;
  color:var(--institutional-gold-700);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.institutional-popup-content h2 {
  margin:0;
  color:var(--institutional-green-950);
  font-size:clamp(1.7rem,4vw,2.75rem);
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:950;
}
.institutional-popup-content > p:not(.institutional-popup-kicker) {
  margin:0;
  color:var(--institutional-muted);
  font-size:1rem;
  line-height:1.65;
  white-space:pre-line;
}
.institutional-popup-actions { display:flex; flex-wrap:wrap; gap:11px; align-items:center; }
.institutional-popup-actions .institutional-button { min-height:46px; white-space:normal; text-align:center; }

@media (max-width:767.98px) {
  .institutional-popup-overlay { place-items:start center; padding:12px; }
  .institutional-popup-card,
  .institutional-popup-card.is-pequena,
  .institutional-popup-card.is-grande {
    grid-template-columns:1fr;
    width:100%;
    max-height:calc(100dvh - 24px);
    border-radius:22px;
  }
  .institutional-popup-media,
  .institutional-popup-media img { min-height:220px; max-height:38vh; }
  .institutional-popup-content { padding:30px 20px 24px; }
  .institutional-popup-close { top:10px; right:10px; }
}
@media (max-width:420px) {
  .institutional-popup-overlay { padding:8px; }
  .institutional-popup-card,
  .institutional-popup-card.is-pequena,
  .institutional-popup-card.is-grande { max-height:calc(100dvh - 16px); border-radius:18px; }
  .institutional-popup-media,
  .institutional-popup-media img { min-height:180px; }
  .institutional-popup-actions { align-items:stretch; flex-direction:column; }
  .institutional-popup-actions .institutional-button { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .institutional-popup-close { transition:none !important; }
}

/* Prompt 15: soluções detalhadas administráveis */
.institutional-solution-list{display:grid;gap:1.5rem}
.institutional-solution-card{overflow:hidden;border:1px solid rgba(15,107,72,.14);border-radius:1.35rem;background:#fff;box-shadow:0 16px 40px rgba(21,59,49,.08)}
.institutional-solution-cover{display:block;width:100%;max-height:520px;aspect-ratio:16/8;object-fit:cover;background:#eef5f1}
.institutional-solution-body{padding:clamp(1.2rem,3vw,2.2rem)}
.institutional-solution-heading{max-width:900px}.institutional-solution-title-row{display:flex;gap:1rem;align-items:flex-start}.institutional-solution-title-row h3{margin:.45rem 0 .2rem;font-size:clamp(1.45rem,3vw,2.15rem);color:#153b31}.institutional-solution-name{margin:0;color:#687a72;font-weight:700}
.institutional-solution-icon-image{width:64px;height:64px;flex:0 0 auto;border-radius:1rem;object-fit:contain;background:#eef8f3;padding:.5rem}
.institutional-rich-content{color:#40554d;line-height:1.72}.institutional-rich-content h3,.institutional-rich-content h4{color:#153b31}.institutional-rich-content ul,.institutional-rich-content ol{padding-left:1.35rem}.institutional-rich-content a{color:#087044;font-weight:700}
.institutional-solution-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}.institutional-solution-columns>section{padding:1rem;border:1px solid rgba(15,107,72,.12);border-radius:1rem;background:#f9fcfa}.institutional-solution-columns h4{display:flex;gap:.45rem;align-items:center;margin:0 0 .7rem;color:#153b31;font-size:1rem}
.institutional-solution-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-top:1.4rem}.institutional-solution-gallery-item{overflow:hidden;margin:0;border-radius:.85rem;background:#eef5f1}.institutional-solution-gallery-item img{display:block;width:100%;aspect-ratio:8/5;object-fit:cover}
.institutional-solution-video{position:relative;overflow:hidden;margin-top:1.4rem;border-radius:1rem;background:#0c1713;aspect-ratio:16/9}.institutional-solution-video iframe,.institutional-solution-video video{display:block;width:100%;height:100%;border:0}
.institutional-solution-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:1.4rem}.institutional-primary-link,.institutional-secondary-link{display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 1rem;border-radius:.75rem;font-weight:800;text-decoration:none}.institutional-primary-link{background:#0f6b48;color:#fff}.institutional-primary-link:hover{color:#fff;background:#0b5438}.institutional-secondary-link{border:1px solid rgba(15,107,72,.25);color:#0f6b48;background:#fff}
@media(max-width:991.98px){.institutional-solution-columns{grid-template-columns:1fr}.institutional-solution-cover{aspect-ratio:16/9}}
@media(max-width:575.98px){.institutional-solution-title-row{align-items:flex-start}.institutional-solution-icon-image{width:52px;height:52px}.institutional-solution-gallery{grid-template-columns:1fr}.institutional-solution-actions>a{width:100%;justify-content:center}}


/* Prompt 16: módulos institucionais administráveis. */
.institutional-module-card.is-featured,.institutional-detail-card.is-featured{border-color:#ddb85d;box-shadow:0 18px 38px rgba(116,78,0,.12)}
.institutional-module-card-image{width:100%;aspect-ratio:3/2;display:block;object-fit:cover;border-radius:14px;margin-bottom:18px;background:#eaf4ee}
.institutional-module-icon-image,.institutional-solution-icon-image{width:53px;height:53px;flex:0 0 auto;display:block;object-fit:cover;border-radius:16px;background:#eef7f2}
.institutional-availability-soon{color:#6a4700;border-color:#ead29a;background:#fff8e6}
.institutional-availability-new{color:#174b7a;border-color:#b9d4ec;background:#eef7ff}
.institutional-availability-updated{color:#51407a;border-color:#d2c7ee;background:#f6f2ff}
.institutional-availability-featured{color:#704900;border-color:#e4c46d;background:#fff8da}
.institutional-availability-maintenance{color:#7a2e13;border-color:#e9bba8;background:#fff1eb}
.institutional-availability-unavailable{color:#5c6460;border-color:#ced7d2;background:#f2f5f3}
@media (max-width:640px){.institutional-module-card-image{max-height:220px}.institutional-module-icon-image{width:48px;height:48px}}

/* Prompt 18: Painel de navegação dinâmico */
.institutional-navigation-panel{overflow:hidden}
.institutional-navigation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}
.institutional-navigation-grid.is-preview{margin:1rem 0}
.institutional-navigation-group{min-width:0;padding:1.15rem;border:1px solid var(--institutional-border,#dfe6e3);border-radius:1rem;background:var(--institutional-surface,#fff);box-shadow:0 10px 30px rgba(17,47,39,.06)}
.institutional-navigation-group-heading{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}
.institutional-navigation-group-heading>i{display:grid;place-items:center;flex:0 0 2.25rem;height:2.25rem;border-radius:.7rem;background:rgba(25,135,84,.1);color:#146c43;font-size:1.15rem}
.institutional-navigation-group h3{margin:0;font-size:1.05rem}.institutional-navigation-group p{margin:.25rem 0 0;color:var(--institutional-muted,#60706a);font-size:.9rem}
.institutional-navigation-group ul{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}
.institutional-navigation-group a{display:flex;align-items:center;gap:.6rem;min-width:0;padding:.6rem .7rem;border-radius:.65rem;color:inherit;text-decoration:none;overflow-wrap:anywhere}
.institutional-navigation-group a:hover,.institutional-navigation-group a:focus-visible{background:rgba(25,135,84,.08);outline:2px solid transparent;color:#146c43}
.institutional-navigation-group a:focus-visible{outline-color:#198754;outline-offset:2px}.institutional-navigation-external{margin-left:auto;font-size:.8rem}
@media(max-width:575.98px){.institutional-navigation-group{padding:1rem}.institutional-navigation-grid{grid-template-columns:1fr}}

/* Prévia protegida da página pública */
.institutional-preview-page{padding-top:0}.institutional-preview-notice{position:sticky;top:0;z-index:1200;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#132b20;color:#fff;border-bottom:3px solid #d9a441;box-shadow:0 8px 24px rgba(0,0,0,.16)}.institutional-preview-notice>i{font-size:1.35rem;color:#f1c66a}.institutional-preview-notice div{display:grid;line-height:1.2}.institutional-preview-notice div span{font-size:.78rem;color:#dce8e1}.institutional-preview-draft-badge{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:.75rem;font-weight:800}.institutional-preview-page form button[type=submit]{cursor:not-allowed}.institutional-preview-page a[target=_blank]::after{content:" · prévia";font-size:.68em;font-weight:700}@media(max-width:640px){.institutional-preview-notice{align-items:flex-start;flex-wrap:wrap}.institutional-preview-draft-badge{margin-left:2rem}}

/* Prompt 24: reforços de responsividade e acessibilidade da página pública. */
.institutional-page :where(p,h1,h2,h3,h4,li,a,button,label,strong,span) {
  overflow-wrap:anywhere;
}
.institutional-page :where(a,button,input,textarea,select,summary) {
  -webkit-tap-highlight-color:rgba(181,106,0,.18);
}
.institutional-skip-link:focus-visible {
  transform:none;
  outline-color:#fff;
  outline-offset:3px;
}
#conteudo-principal:focus { outline:none; }
.institutional-button,
.institutional-menu-toggle,
.institutional-password-toggle,
.institutional-carousel-control,
.institutional-blog-action,
.institutional-detail-login-link,
.institutional-primary-link,
.institutional-secondary-link {
  min-inline-size:44px;
  min-block-size:44px;
  white-space:normal;
  text-align:center;
}
.institutional-password-toggle { width:44px; height:44px; }
.institutional-module-card-top,
.institutional-detail-heading,
.institutional-solution-title-row,
.institutional-popup-actions,
.institutional-contact-submit-row,
.institutional-footer-bottom {
  flex-wrap:wrap;
}
.institutional-availability {
  white-space:normal;
  text-align:left;
}
.institutional-carousel-indicators { min-height:44px; align-items:center; }
.institutional-carousel-indicators button {
  position:relative;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
}
.institutional-carousel-indicators button::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:12px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:999px;
  background:rgba(255,255,255,.45);
  transform:translate(-50%,-50%);
}
.institutional-carousel-indicators button.is-active::before {
  width:32px;
  background:#fff;
}
.institutional-public-slide-copy a[target="_blank"]::after,
.institutional-solution-actions a[target="_blank"]::after,
.institutional-contact-channels a[target="_blank"]::after,
.institutional-footer a[target="_blank"]::after {
  content:"";
}
.institutional-field-error[role="alert"] { scroll-margin-top:100px; }
.institutional-footer-bottom > a {
  min-inline-size:44px;
  min-block-size:44px;
  display:inline-flex;
  align-items:center;
}
.institutional-login-fallback-page { min-height:100vh; }
.institutional-login-fallback-main {
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:clamp(14px,4vw,36px);
}
.institutional-login-fallback-shell { width:min(100%,620px); }
.institutional-login-fallback-note {
  margin:0 0 1rem;
  padding:.8rem 1rem;
  border:1px solid #efd896;
  border-radius:12px;
  color:#654500;
  background:#fff9e5;
  font-weight:750;
}

@media (max-width:480px) {
  .institutional-section-heading h2,
  .institutional-contact h2 { font-size:clamp(1.75rem,10vw,2.25rem); }
  .institutional-hero h1 { font-size:clamp(2rem,12vw,3rem); }
  .institutional-login-card-heading { grid-template-columns:1fr; }
  .institutional-login-brand { width:88px; }
  .institutional-module-card-top { align-items:flex-start; }
  .institutional-availability { max-width:100%; }
  .institutional-footer nav { grid-template-columns:1fr; }
}

@media (orientation:landscape) and (max-height:600px) {
  .institutional-popup-overlay { place-items:start center; padding:8px; }
  .institutional-popup-card,
  .institutional-popup-card.is-pequena,
  .institutional-popup-card.is-grande {
    grid-template-columns:minmax(160px,.7fr) minmax(260px,1.3fr);
    max-height:calc(100dvh - 16px);
  }
  .institutional-popup-media,
  .institutional-popup-media img { min-height:0; height:calc(100dvh - 16px); }
  .institutional-popup-content { padding:54px 24px 24px; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .institutional-button:hover,
  .institutional-module-card:hover,
  .institutional-blog-card:hover,
  .institutional-popup-close:hover { transform:none; }
}

@media (forced-colors:active) {
  .institutional-button,
  .institutional-availability,
  .institutional-alert,
  .institutional-contact-alert,
  .institutional-popup-close,
  .institutional-navigation-group,
  .institutional-module-card,
  .institutional-blog-card { border:1px solid CanvasText; }
  :where(a,button,input,textarea,select,summary,[tabindex]):focus-visible {
    outline:3px solid Highlight;
  }
}
/* Contrato de foco específico preservado para formulários institucionais. */
.institutional-contact-form :where(input, textarea):focus-visible {
  outline:3px solid var(--institutional-focus);
  outline-offset:3px;
}

/* Prompt 25: blocos abaixo da dobra são renderizados sob demanda pelo navegador. */
#blog,
#detalhes-modulos,
#painel-navegacao,
#contato {
  content-visibility: auto;
  contain-intrinsic-size: auto 900px;
}


/* Prompt 23: contingência visual do formulário essencial de autenticação. */
.institutional-login-fallback-support {
  margin-top:18px;
  padding:16px 18px;
  border:1px solid #d8e9df;
  border-radius:14px;
  color:#40584b;
  background:#f3faf6;
}
.institutional-login-fallback-support h2 {
  margin:0 0 6px;
  color:var(--institutional-green-950);
  font-size:1rem;
}
.institutional-login-fallback-support p { margin:0; font-size:.86rem; line-height:1.55; }
