/* Preto, dourado, verde e branco de Alegoria; tonalidades para leitura de dados. */
.ol-pagina { max-width:1120px; margin:auto; padding:0 32px 80px; }
.ol-pagina [hidden] { display:none!important; }
.ol-pagina h1,.ol-pagina h2,.ol-pagina h3 { font-weight:400; }
.ol-modos { display:flex; gap:28px; padding:25px 0; border-bottom:1px solid var(--linha); font:14px/1.5 var(--sem-serifa); }
.ol-modos a { text-decoration:none; padding:6px 0; }
.ol-modos [aria-current] { border-bottom:2px solid var(--tinta); }
.ol-hero { display:grid; grid-template-columns:1.3fr 1fr; gap:60px; padding:62px 0 42px; align-items:center; }
.ol-selo { font:11px/1.6 var(--sem-serifa); text-transform:uppercase; letter-spacing:.14em; margin:0 0 20px; }
.ol-hero h1 { font-size:clamp(42px,5.2vw,68px); line-height:1.06; letter-spacing:-.045em; margin:0 0 27px; }
.ol-hero h1 em { color:#606060; }
.ol-intro { font-size:19px; line-height:1.6; max-width:430px; }
.ol-cta { display:inline-flex; gap:38px; align-items:center; background:#111; color:#fff; padding:15px 21px; margin-top:14px; font:14px/1.5 var(--sem-serifa); text-decoration:none; }
.ol-cta:hover { background:#353535; }
.ol-numero { border:1px solid #111; padding:36px 30px; box-shadow:9px 9px 0 #ecebea; }
.ol-numero > span:first-child { font:13px/1.5 var(--sem-serifa); display:block; max-width:230px; }
.ol-numero > strong { font-size:clamp(38px,4.6vw,60px); letter-spacing:-.05em; line-height:1.25; display:block; margin-top:24px; font-weight:400; white-space:nowrap; }
.ol-numero .ol-bilhoes { font-size:28px; }
.ol-numero p { font:14px/1.7 var(--sem-serifa); margin:22px 0; }
.ol-precos { font:11px/1.6 var(--sem-serifa); text-transform:uppercase; letter-spacing:.1em; }
.ol-regua,.ol-composicao { display:flex; height:13px; gap:3px; margin-top:24px; overflow:hidden; }
.ol-segmento { display:block; flex-shrink:1; }
.ol-implantacao { background:#111; }
.ol-operacao { background:#888; }
.ol-margem { background:repeating-linear-gradient(135deg,#bcbcbc 0,#bcbcbc 2px,#f5f5f5 2px,#f5f5f5 6px); }
.ol-aviso { border-left:3px solid #111; background:#f5f4f2; padding:17px 21px; font:14px/1.7 var(--sem-serifa); }
.ol-atalhos { display:flex; flex-wrap:wrap; gap:14px 27px; margin:28px 0 0; font:12px/1.5 var(--sem-serifa); }
.ol-atalhos a { text-decoration:none; border-bottom:1px solid #aaa; padding-bottom:5px; }
.ol-secao { padding:78px 0; border-bottom:1px solid var(--linha); scroll-margin-top:90px; }
.ol-secao h2,.ol-fecho h2 { font-size:clamp(32px,4vw,48px); letter-spacing:-.035em; line-height:1.15; margin:0 0 24px; }
.ol-texto { max-width:590px; font-size:19px; }
.ol-pagina button { font:inherit; color:inherit; border-radius:0; cursor:pointer; }
.ol-pagina button:disabled { cursor:default; }
.ol-pagina :focus-visible { outline:3px solid #555; outline-offset:5px; }
.ol-controles fieldset { padding:0; border:0; margin:35px 0 20px; }
.ol-controles legend { font:13px/1.5 var(--sem-serifa); margin-bottom:12px; }
.ol-opcoes { display:flex; flex-wrap:wrap; gap:8px; }
.ol-opcoes button { border:1px solid #bbb; background:#fff; padding:11px 17px; font:13px/1.5 var(--sem-serifa); min-height:44px; }
.ol-opcoes button[aria-pressed=true] { background:#111; color:#fff; border-color:#111; }
.ol-contexto { display:grid; gap:6px; margin:26px 0 12px; }
.ol-contexto > span { font:12px/1.5 var(--sem-serifa); color:#555; }
.ol-contexto strong { font-weight:400; font-size:30px; line-height:1.25; }
.ol-contexto p { font:13px/1.6 var(--sem-serifa); max-width:600px; margin:4px 0; }
.ol-legenda { font:12px/1.75 var(--sem-serifa); color:#555; }
.ol-explorador { display:grid; grid-template-columns:1.25fr 1fr; gap:38px; margin:34px 0 48px; }
.ol-area { display:block; width:100%; border:0; border-top:1px solid #ccc; background:#fff; text-align:left; padding:19px 16px; }
.ol-area:last-child { border-bottom:1px solid #ccc; }
.ol-area[aria-pressed=true] { background:#efeeec; }
.ol-area:hover:not(:disabled) { background:#f5f4f2; }
.ol-area-linha { display:flex; justify-content:space-between; align-items:baseline; gap:18px; font:14px/1.5 var(--sem-serifa); }
.ol-area-linha strong { font-weight:600; white-space:nowrap; }
.ol-trilho { height:6px; background:#e0dfdc; display:block; margin:14px 0 10px; }
.ol-trilho > span { display:block; height:100%; background:#111; transition:width .55s ease; }
.ol-area-rodape { display:flex; justify-content:space-between; font:11px/1.5 var(--sem-serifa); color:#555; }
.ol-detalhe { background:#111; color:#fff; padding:32px; align-self:start; position:sticky; top:85px; }
.ol-detalhe h3 { font-size:30px; line-height:1.2; margin:0 0 22px; }
.ol-detalhe p { font-size:16px; }
.ol-detalhe ul { padding-left:19px; font:13px/1.8 var(--sem-serifa); margin:22px 0; }
.ol-detalhe .ol-legenda { color:#ccc; font:12px/1.7 var(--sem-serifa); }
.ol-detalhe a { display:inline-block; font:12px/1.5 var(--sem-serifa); margin-top:15px; }
.ol-subtitulo { font-size:29px; line-height:1.25; }
.ol-composicao { height:30px; margin:25px 0; }
.ol-composicao .ol-segmento { transition:width .6s ease; }
.ol-componentes { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.ol-etiqueta { font:12px/1.5 var(--sem-serifa); display:flex; align-items:center; gap:7px; }
.ol-amostra { display:inline-block; width:12px; height:12px; border:1px solid #999; flex-shrink:0; }
.ol-componentes strong { display:block; font-size:26px; margin:13px 0 7px; font-weight:400; }
.ol-componentes p { font:13px/1.6 var(--sem-serifa); }
.ol-cada { font:11px/1.5 var(--sem-serifa); color:#555; }
.ol-tempo-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:45px; margin-top:30px; align-items:center; }
.ol-anos { display:flex; gap:12px; align-items:end; padding:12px 0 0; border-bottom:1px solid #bbb; }
.ol-ano { display:flex; flex:1; flex-direction:column; align-items:center; gap:11px; min-width:0; background:transparent; border:0; padding:8px 3px; font:12px/1.5 var(--sem-serifa)!important; }
.ol-ano-valor { font-size:11px; white-space:nowrap; }
.ol-coluna { display:flex; align-items:end; height:190px; width:100%; max-width:60px; }
.ol-coluna > span { width:100%; background:#bbb; transition:height .65s ease,background .3s ease; }
.ol-ano[aria-pressed=true] .ol-coluna > span { background:#111; }
.ol-ano[aria-pressed=true] { font-weight:600!important; }
.ol-tempo-detalhe { padding:30px; border-left:1px solid #bbb; }
.ol-tempo-detalhe .ol-selo { display:block; }
.ol-tempo-detalhe strong { font-size:39px; font-weight:400; }
.ol-tempo-detalhe p { font:14px/1.7 var(--sem-serifa); }
.ol-player { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.ol-player button { font:12px/1.5 var(--sem-serifa); background:#fff; border:1px solid #aaa; padding:11px 13px; min-height:44px; }
.ol-player button:disabled { opacity:.5; }
.ol-compromisso { background:#f4f3f1; padding:24px; font-size:18px; margin-top:28px; }
.ol-reuso { display:grid; grid-template-columns:1fr 1fr; gap:65px; }
.ol-reuso p { font-size:17px; }
.ol-reuso .ol-legenda { font-size:12px; }
.ol-reuso-grafico { padding-top:45px; }
.ol-reuso-linha { font:13px/1.5 var(--sem-serifa); margin-bottom:28px; }
.ol-reuso-linha strong { display:block; font:27px/1.5 var(--serifa); margin-top:7px; }
.ol-reuso-ganho { border-top:1px solid #bbb; padding-top:20px; }
.ol-reuso-ganho strong { display:block; font:40px/1.3 var(--serifa); margin-bottom:8px; }
.ol-pagina details { border-top:1px solid #bbb; padding:20px 0; }
.ol-pagina details:last-child { border-bottom:1px solid #bbb; }
.ol-pagina summary { cursor:pointer; font-size:21px; padding-right:20px; }
.ol-pagina details p { font:15px/1.8 var(--sem-serifa); max-width:750px; padding-left:20px; }
.ol-fecho { padding:65px 0 0; max-width:720px; }
.ol-link-secundario { display:block; font:13px/1.6 var(--sem-serifa); margin-top:22px; }
@keyframes ol-entrada { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
.ol-hero { animation:ol-entrada .65s ease both; }
.ol-sem-movimento * { animation:none!important; transition:none!important; }
@media(prefers-reduced-motion:reduce) { .ol-pagina * { animation:none!important; transition:none!important; } }
@media(max-width:800px) {
 .ol-pagina { padding:0 22px 65px; }
 .ol-hero { gap:35px; padding-top:40px; }
 .ol-hero h1 { font-size:44px; }
 .ol-numero { padding:26px 20px; }
 .ol-numero > strong { font-size:40px; }
 .ol-explorador,.ol-tempo-grid { gap:24px; }
 .ol-detalhe { padding:24px; }
 .ol-area { padding:16px 10px; }
 .ol-area-linha { flex-wrap:wrap; gap:5px; }
}
@media(max-width:760px) {
 .ol-hero,.ol-explorador,.ol-tempo-grid,.ol-reuso { grid-template-columns:1fr; }
 .ol-hero { padding:35px 0; gap:30px; }
 .ol-hero h1 { font-size:clamp(38px,10vw,51px); }
 .ol-numero { max-width:420px; }
 .ol-numero > strong { font-size:52px; }
 .ol-modos { gap:20px; font-size:12px; }
 .ol-atalhos { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
 .ol-secao { padding:55px 0; }
 .ol-opcoes button { padding:11px 10px; font-size:12px; }
 .ol-contexto strong { font-size:26px; }
 .ol-area-linha { flex-wrap:nowrap; }
 .ol-detalhe { position:static; }
 .ol-componentes { grid-template-columns:1fr; gap:0; }
 .ol-componentes > div { border-bottom:1px solid #ddd; padding:18px 0; }
 .ol-componentes strong { margin:8px 0; }
 .ol-componentes p { margin:8px 0; }
 .ol-tempo-detalhe { border-left:0; border-top:1px solid #bbb; padding:24px 0 0; }
 .ol-reuso { gap:10px; }
 .ol-reuso-grafico { padding-top:15px; }
 .ol-area-linha strong { font-size:13px; }
}
@media print { .ol-controles,.ol-atalhos { display:none!important; } .ol-pagina { max-width:none; } .ol-hero { animation:none; } .ol-detalhe { position:static; background:white; color:black; border:1px solid #aaa; } .ol-detalhe .ol-legenda { color:#555; } .ol-secao { padding:25px 0; } }

/* Camada cromática compartilhada entre o círculo, as barras e suas legendas. */
.ol-pagina { --ol-verde:#176448; --ol-ouro:#b28627; --ol-preto:#202b25; --ol-suave:#eef4ef; }
.ol-hero h1 em { color:var(--ol-verde); }
.ol-numero { background:linear-gradient(140deg,#fff 30%,#f4f0e4); border-color:#a8873d; box-shadow:9px 9px 0 #ece7d7; }
.ol-numero > strong { color:var(--ol-verde); }
.ol-cta { background:var(--ol-verde); transition:background .2s,transform .2s; }
.ol-cta:hover { background:#103f2e; transform:translateY(-2px); }
.ol-aviso { border-left-color:var(--ol-ouro); }
.ol-pagina :focus-visible { outline-color:var(--ol-verde); }
.ol-guia { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin:30px 0 0; padding:23px 0; border-top:1px solid #dedfd7; }
.ol-guia p { font:13px/1.75 var(--sem-serifa); margin:0; }
.ol-guia strong { display:block; color:#18543e; }
.ol-opcoes button { transition:background .25s,color .25s,box-shadow .25s; }
.ol-opcoes button[aria-pressed=true] { background:var(--ol-verde); border-color:var(--ol-verde); box-shadow:0 3px 0 #c2d4c5; }
.ol-contexto strong { color:#18543e; }
.ol-mapa { display:grid; grid-template-columns:280px 1fr; gap:45px; align-items:center; padding:25px 30px; background:linear-gradient(115deg,#f3f6f0,#faf8f1); margin-top:30px; }
.ol-mapa h3 { font-size:29px; margin:0 0 15px; line-height:1.2; }
.ol-mapa p { font:14px/1.8 var(--sem-serifa); }
.ol-mapa .ol-selo { font-size:11px; }
.ol-anel { position:relative; width:280px; height:280px; }
.ol-anel svg { width:100%; height:100%; overflow:visible; transform:rotate(-90deg); }
.ol-arco { stroke:var(--area-cor); opacity:.78; transition:stroke-dasharray .8s,stroke-dashoffset .8s,opacity .35s,stroke-width .35s; }
.ol-arco-ativo { opacity:1; stroke-width:32px; }
.ol-anel-centro { position:absolute; inset:65px 40px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; font:10px/1.6 var(--sem-serifa); pointer-events:none; }
.ol-anel-centro > span:first-child { font-size:11px; max-width:150px; }
.ol-anel-centro strong { font:40px/1.2 var(--serifa); letter-spacing:-.035em; margin:7px 0; }
.ol-anel-centro b { color:#19583e; margin-top:5px; font-weight:600; }
[data-area=infra],[data-arco=infra],[data-grupo-ficha=infra] { --area-cor:#176448; }
[data-area=educacao],[data-arco=educacao],[data-grupo-ficha=educacao] { --area-cor:#b28627; }
[data-area=ciencia],[data-arco=ciencia],[data-grupo-ficha=ciencia] { --area-cor:#4b8f77; }
[data-area=producao],[data-arco=producao],[data-grupo-ficha=producao] { --area-cor:#677339; }
[data-area=servicos],[data-arco=servicos],[data-grupo-ficha=servicos] { --area-cor:#252c29; }
.ol-area { border-left:3px solid transparent; transition:background .25s,border-color .25s,transform .25s; }
.ol-area[aria-pressed=true] { border-left-color:var(--area-cor); background:#f1f4ed; }
.ol-area:hover:not(:disabled) { background:#f5f6f0; transform:translateX(3px); }
.ol-area-indice { display:inline-grid; place-items:center; width:24px; height:24px; margin-right:7px; font:10px var(--sem-serifa); color:white; background:var(--area-cor); }
.ol-area[data-area=educacao] .ol-area-indice { background:#826018; }
.ol-area[data-area=ciencia] .ol-area-indice { background:#306b55; }
.ol-area .ol-trilho { height:9px; }
.ol-area .ol-trilho > span { background:var(--area-cor); }
.ol-trilho > span { transform-origin:left; }
.ol-detalhe { background:var(--ol-preto); border-top:4px solid var(--ol-ouro); position:static; }
.ol-detalhe a { color:#f0dc9c; }
.ol-detalhe li { margin:14px 0; }
.ol-detalhe li small { display:block; color:#d1ddce; font-size:12px; line-height:1.7; margin-top:4px; }
.ol-implantacao { background:#176448; }
.ol-operacao { background:#c49b3e; }
.ol-margem { background:repeating-linear-gradient(135deg,#6c776e 0,#6c776e 3px,#eef1e9 3px,#eef1e9 7px); }
.ol-amostra { border:0; width:15px; height:15px; }
.ol-exemplo { padding:30px; margin-top:42px; background:#f4f5ef; border-top:3px solid var(--ol-ouro); }
.ol-exemplo h3 { font-size:30px; margin:0 0 16px; }
.ol-exemplo p { font:14px/1.8 var(--sem-serifa); }
.ol-formula { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:20px; align-items:center; margin:27px 0; }
.ol-formula > div { display:flex; flex-direction:column; gap:7px; }
.ol-formula b { font:15px var(--sem-serifa); }
.ol-formula div > span { font:12px/1.6 var(--sem-serifa); color:#555e52; }
.ol-formula strong { font:29px var(--serifa); color:#19583e; }
.ol-pagina .ol-ficha { padding:0; scroll-margin-top:100px; border-bottom:0; border-top:1px solid #d6dbd1; }
.ol-ficha summary { padding:24px 18px 24px 29px; display:flex; gap:18px; justify-content:space-between; align-items:baseline; font:17px/1.5 var(--serifa); position:relative; list-style:none; }
.ol-ficha summary::-webkit-details-marker { display:none; }
.ol-ficha summary:before { content:'+'; position:absolute; left:7px; font:18px var(--sem-serifa); color:var(--ol-verde); }
.ol-ficha[open] summary:before { content:'−'; }
.ol-ficha summary small { font:10px var(--sem-serifa); margin-right:8px; color:#5c665d; }
.ol-ficha summary strong { font:15px var(--sem-serifa); white-space:nowrap; }
.ol-ficha[open],.ol-ficha-destaque { background:#f7f8f3; }
.ol-ficha-destaque summary { box-shadow:inset 3px 0 var(--area-cor); }
.ol-ficha-corpo { padding:0 28px 24px; }
.ol-pagina .ol-ficha-corpo p { padding-left:0; max-width:none; }
.ol-ficha-corpo .ol-quantidade { font:18px/1.7 var(--sem-serifa); }
.ol-quantidade strong { color:var(--ol-verde); }
.ol-ficha-conta { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #d9dfd2; border-bottom:1px solid #d9dfd2; padding:20px 0; gap:20px; }
.ol-ficha-conta dt { font:12px/1.6 var(--sem-serifa); }
.ol-ficha-conta dd { font:23px/1.5 var(--serifa); margin:8px 0 0; }
.ol-chave { display:flex; gap:14px 25px; flex-wrap:wrap; margin:22px 0; font:12px/1.5 var(--sem-serifa); }
.ol-chave > span { display:flex; align-items:center; gap:8px; }
.ol-anos { background:repeating-linear-gradient(to top,transparent 0,transparent 59px,#e5e8df 59px,#e5e8df 60px); }
.ol-coluna { height:240px; max-width:65px; }
.ol-coluna > span,.ol-ano[aria-pressed=true] .ol-coluna > span { display:flex; flex-direction:column-reverse; background:transparent; transform-origin:bottom; transition:height .8s cubic-bezier(.22,1,.36,1),filter .3s,opacity .3s; }
.ol-coluna i { display:block; width:100%; flex-shrink:0; transition:height .8s; }
.ol-ano .ol-coluna > span { opacity:.78; }
.ol-ano:hover .ol-coluna > span,.ol-ano[aria-pressed=true] .ol-coluna > span { opacity:1; filter:drop-shadow(0 4px 3px #17462d22); }
.ol-ano[aria-pressed=true] { box-shadow:inset 0 -3px var(--ol-verde); color:#164831; }
.ol-ano-conta { font:12px/1.6 var(--sem-serifa); }
.ol-ano-conta > div { display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid #dee2d9; padding:8px 0; }
.ol-ano-conta dd { margin:0; white-space:nowrap; }
.ol-progresso { height:7px; background:#e1e6db; overflow:hidden; }
.ol-progresso > span { display:block; height:100%; background:var(--ol-verde); transition:width .8s cubic-bezier(.22,1,.36,1); }
.ol-player button:hover { border-color:var(--ol-verde); background:#f0f5ec; }
.ol-player button[aria-pressed=true] { background:var(--ol-verde); color:#fff; }
.ol-compromisso { background:#eef3e8; }
.ol-reuso-linha .ol-trilho { height:18px; }
.ol-reuso-linha:first-child .ol-trilho > span { background:#b28627; }
.ol-reuso-linha:nth-child(2) .ol-trilho > span { background:var(--ol-verde); }
.ol-reuso-ganho strong { color:var(--ol-verde); }
.ol-fluxo { display:grid; grid-template-columns:1fr 1fr; margin:35px 0; gap:1px; background:#cfd8c9; border:1px solid #cfd8c9; }
.ol-fluxo > div { background:#f7f8f3; padding:28px; }
.ol-fluxo span { font:12px/1.6 var(--sem-serifa); }
.ol-fluxo strong { display:block; font:32px/1.35 var(--serifa); color:var(--ol-verde); margin:12px 0; }
.ol-fluxo p { font:13px/1.75 var(--sem-serifa); }
.ol-fluxo > .ol-fluxo-total { background:#202b25; color:white; }
.ol-fluxo-total strong { color:#ead79b; }
.ol-pagina .ol-teste summary { font-size:20px; }
@media(max-width:1000px) { .ol-area-linha { flex-wrap:wrap; gap:8px; } .ol-explorador { grid-template-columns:1fr 1fr; } }
@media(max-width:760px) {
 .ol-guia,.ol-mapa,.ol-ficha-conta,.ol-fluxo { grid-template-columns:1fr; }
 .ol-guia { gap:15px; }
 .ol-mapa { gap:12px; padding:22px; }
 .ol-anel { margin:auto; width:260px; height:260px; max-width:100%; }
 .ol-anel-centro { inset:55px 35px; }
 .ol-mapa h3 { font-size:27px; }
 .ol-explorador { grid-template-columns:1fr; }
 .ol-area-linha { flex-wrap:wrap; }
 .ol-formula { grid-template-columns:1fr; gap:13px; }
 .ol-formula > div { padding:10px 0; }
 .ol-exemplo { padding:24px 20px; }
 .ol-ficha summary { flex-wrap:wrap; gap:9px; }
 .ol-ficha summary strong { margin-left:19px; }
 .ol-ficha-corpo { padding:0 20px 20px; }
 .ol-ficha-conta { gap:16px; }
 .ol-ficha-conta dd { margin-top:3px; }
 .ol-coluna { height:200px; }
 .ol-fluxo > div { padding:23px; }
 .ol-fluxo strong { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) { .ol-pagina *, .ol-pagina *:before { animation:none!important; transition:none!important; } }
@media print { .ol-pagina { print-color-adjust:exact; } .ol-detalhe { background:#fff; color:#111; } .ol-detalhe a,.ol-detalhe li small { color:#333; } .ol-fluxo > .ol-fluxo-total { background:white; color:#111; } .ol-fluxo-total strong { color:#111; } }
