/* Folha do site. A pagina inicial carrega uma copia deste conteudo dentro dela. */

:root {
  --cal: #f1efe8; --papel: #fbfaf6; --branco: #fff; --tinta: #16191d; --cinza: #525c66; --linha: #dbd7cc;
  --ardosia: #243b4a; --ardosia-funda: #162934; --ardosia-leve: #e4eaef; --ardosia-escrita: #1b3140;
  --ipe: #e3a008; --ipe-borda: #7a5600; --ipe-leve: #fbeeca; --campo: #3f7a4c; --campo-leve: #e4efe5;
  --serifa: "Besley", Georgia, serif; --corpo: "Asap", "Segoe UI", system-ui, sans-serif;
  --mono: "Reddit Mono", ui-monospace, Consolas, monospace;
  --quina: 2px; --folga: clamp(2.5rem, 5vw, 4.4rem);
}

:where([hidden]) { display: none !important; }
*, *::backdrop, ::before, ::after { box-sizing: border-box; }
html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--cal); color: var(--tinta); font: 400 1.0625rem/1.6 var(--corpo); }
:is(img, svg, iframe) { max-width: 100%; }
a { color: var(--ardosia-escrita); text-underline-offset: 3px; }
a:hover { color: var(--ipe-borda); }
h1, h2, h3 { font-family: var(--serifa); font-weight: 700; line-height: 1.16; margin: 0 0 .65rem; }
h1 { font-size: clamp(1.8rem, 4.2vw, 2.7rem); letter-spacing: -0.01em; }
h2 { font-size: clamp(1.4rem, 3vw, 1.95rem); }
h3 { font-size: 1.12rem; }
p { margin-block: 0 1rem; }
ul, ol { margin-block: 0 1rem; padding-left: 1.2rem; }
:is(input, select, textarea, button) { font: inherit; box-sizing: border-box; }
:focus-visible { outline: 3px solid var(--ipe-borda); outline-offset: 2px; }

.ag-limite { width: min(100% - 2rem, 1100px); margin-inline: auto; }
.ag-quebra { overflow-wrap: anywhere; }
.ag-salto { position: absolute; left: -999px; background: var(--ardosia-funda); color: #fff; padding: .7rem 1rem; z-index: 60; }
.ag-salto:focus { left: .5rem; top: .5rem; }

/* [ topo ] */
.ag-topo { background: var(--branco); border-bottom: 3px double var(--linha); position: sticky; top: 0; z-index: 40; }
.ag-topo__linha { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; min-height: 72px; padding-block: .55rem; }
.ag-marca { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; color: var(--ardosia); font-family: var(--serifa); font-weight: 800; font-size: 1.12rem; }
.ag-marca span { color: var(--tinta); }
.ag-marca__sinal { flex: none; }
.ag-topo__lado { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.ag-topo__selo { font: 600 .72rem/1.3 var(--mono); letter-spacing: .09em; text-transform: uppercase; color: var(--cinza); }
.ag-tel { font-family: var(--serifa); font-weight: 700; font-size: 1.04rem; color: var(--tinta); text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.ag-tel:hover { color: var(--ardosia-escrita); }

.ag-bt { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .6rem 1.1rem; border: 1px solid transparent; border-radius: var(--quina); font-family: var(--corpo); font-weight: 600; font-size: .98rem; text-decoration: none; cursor: pointer; }
.ag-bt--forte { background: var(--ardosia); color: #fff; }
.ag-bt--forte:hover { background: var(--ardosia-funda); color: #fff; }
.ag-bt--claro { background: var(--branco); color: var(--tinta); border-color: #b4b9b4; }
.ag-bt--claro:hover { background: var(--cal); color: var(--tinta); }
.ag-bt--cheio { width: 100%; min-height: 54px; background: var(--ipe); color: var(--tinta); border-color: var(--ipe-borda); font-size: 1.05rem; font-weight: 700; }
.ag-bt--cheio:hover { background: #d19500; color: var(--tinta); }

/* [ rotulo de secao ] */
.ag-rotulo { display: flex; align-items: center; gap: .55rem; margin: 0 0 .85rem; font: 600 .76rem/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--cinza); }
.ag-rotulo span { color: var(--ipe-borda); border-right: 1px solid var(--linha); padding-right: .55rem; }
.ag-rotulo--claro { color: #b9c9d4; }
.ag-rotulo--claro span { color: var(--ipe); border-color: #3c5465; }

/* [ abertura ] */
.ag-abertura { padding: var(--folga) 0 0; }
.ag-abertura__grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(1.5rem, 3vw, 2.9rem); align-items: start; }
.ag-abertura__apoio { font-size: 1.1rem; color: var(--cinza); max-width: 56ch; }
.ag-marcas { list-style: none; margin: 1.3rem 0 1.5rem; padding: 0; display: grid; gap: .55rem; }
.ag-marcas li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: .65rem; align-items: start; }
.ag-marcas svg { margin-top: .32rem; color: var(--campo); }
.ag-abertura__canais { margin: 0; color: var(--cinza); font-size: .97rem; display: flex; flex-wrap: wrap; gap: .2rem .9rem; align-items: center; }
.ag-abertura__canais a { display: inline-flex; align-items: center; min-height: 40px; padding-block: .3rem; }
.ag-cartao-forma, .ag-consulta__cartao { background: var(--branco); border: 1px solid var(--linha); border-top: 4px solid var(--ardosia); border-radius: var(--quina); padding: 1.3rem 1.25rem 1.4rem; box-shadow: 0 16px 34px -26px rgba(22, 25, 29, .55); }
.ag-cartao-forma h2 { font-size: 1.2rem; }
.ag-cartao-forma > p { color: var(--cinza); font-size: .95rem; }

/* [ identidade ] */
.ag-identidade { background: var(--ardosia); color: #e8eef2; margin-top: var(--folga); padding: 1.6rem 0 1.8rem; }
.ag-identidade__titulo { font-family: var(--serifa); font-weight: 700; font-size: 1.1rem; color: #fff; margin: 0 0 1rem; }
.ag-identidade__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(215px, 100%), 1fr)); gap: 1rem 1.7rem; margin: 0; }
.ag-identidade dt { font: 600 .7rem/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #9fb8c6; margin-bottom: .2rem; }
.ag-identidade dd { margin: 0; font-weight: 500; }
.ag-identidade a { color: #d7e6ef; }

/* [ secoes ] */
.ag-secao { padding: var(--folga) 0; }
.ag-secao--clara { background: var(--papel); border-block: 1px solid var(--linha); }
.ag-cabeca { max-width: 64ch; margin-bottom: 1.8rem; }
.ag-cabeca p { color: var(--cinza); margin: 0; }
.ag-cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr)); gap: 1rem; }
.ag-cartao { display: flex; flex-direction: column; gap: .5rem; background: var(--branco); border: 1px solid var(--linha); border-left: 4px solid var(--ipe); border-radius: var(--quina); padding: 1.15rem 1.1rem 1.25rem; color: inherit; text-decoration: none; }
.ag-cartao:hover { border-left-color: var(--ardosia); box-shadow: 0 12px 26px -22px rgba(22, 25, 29, .6); color: inherit; }
.ag-cartao__sinal { width: 40px; height: 40px; color: var(--ardosia); }
.ag-cartao h3 { margin: 0; }
.ag-cartao p { margin: 0; color: var(--cinza); font-size: .96rem; }
.ag-cartao__cnae { font: 400 .72rem/1.3 var(--mono); color: #5f656b; margin-top: auto; }
.ag-cartao__abrir { font-weight: 600; font-size: .93rem; color: var(--ardosia-escrita); }

/* [ calendario da migracao ] */
.ag-calendario { background: var(--ardosia-funda); color: #e6edf2; }
.ag-calendario__grade { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(1.4rem, 3vw, 2.6rem); padding: var(--folga) 0; align-items: start; }
.ag-calendario h2 { color: #fff; }
.ag-calendario__apoio { color: #adbfca; }
.ag-calendario__campos { display: grid; gap: .8rem; }
.ag-calendario label { display: block; font: 600 .74rem/1.3 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: #9fb3c0; margin-bottom: .28rem; }
.ag-calendario select, .ag-calendario input { width: 100%; min-height: 46px; padding: .55rem .7rem; background: #1d3340; border: 1px solid #3a5464; border-radius: var(--quina); color: #eef4f7; }
.ag-marcos { display: grid; gap: .7rem; }
.ag-marco { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: .85rem; align-items: start; background: #1b2f3b; border: 1px solid #335064; border-radius: var(--quina); padding: .85rem .95rem; }
.ag-marco__selo { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--ipe); border-radius: 50%; color: var(--ipe); font: 600 .78rem/1 var(--mono); }
.ag-marco__quando { display: block; font: 600 1.28rem/1.2 var(--mono); color: #ffd277; }
.ag-marco__oque { display: block; font-size: .93rem; color: #c0d0da; }
.ag-calendario__aviso { font-size: .86rem; color: #93a6b2; margin: .9rem 0 0; }
.ag-calendario .ag-bt--claro { margin-top: .85rem; }

/* [ composicao da conta ] */
.ag-conta__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 1.2rem; }
.ag-pilha { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--quina); padding: 1.1rem 1.1rem 1.25rem; }
.ag-pilha h3 { font-family: var(--mono); font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--cinza); }
.ag-pilha__barra { display: grid; gap: 2px; margin: .9rem 0 1rem; }
.ag-pilha__parte { padding: .7rem .85rem; border-radius: var(--quina); }
.ag-pilha__parte b { display: block; font-family: var(--serifa); font-size: 1.02rem; }
.ag-pilha__parte span { font-size: .92rem; }
.ag-pilha__parte--fio { background: var(--ardosia); color: #e8eef2; }
.ag-pilha__parte--energia { background: var(--ipe-leve); color: var(--tinta); border: 1px solid var(--ipe-borda); }
.ag-pilha__parte--tributo { background: var(--cal); color: var(--tinta); border: 1px solid var(--linha); }

/* [ muda e fica igual ] */
.ag-troca { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr)); gap: 1.2rem; }
.ag-troca__lado { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--quina); padding: 1.15rem 1.15rem 1.25rem; }
.ag-troca__lado h3 { display: flex; align-items: center; gap: .5rem; }
.ag-troca__lado ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.ag-troca__lado li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: .6rem; font-size: .97rem; color: var(--cinza); }
.ag-troca__lado li::before { content: ""; width: 10px; height: 10px; margin-top: .42rem; border-radius: 2px; }
.ag-troca__lado--muda li::before { background: var(--ipe); }
.ag-troca__lado--igual li::before { background: var(--campo); }

/* [ pedido e duvidas ] */
.ag-blocos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 1.1rem; }
.ag-bloco { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--quina); padding: 1.15rem 1.2rem 1.3rem; }
.ag-bloco ul { padding-left: 1.1rem; display: grid; gap: .4rem; color: var(--cinza); font-size: .97rem; }
.ag-passos { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; counter-reset: passo; }
.ag-passos li { counter-increment: passo; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: .7rem; color: var(--cinza); font-size: .97rem; }
.ag-passos li::before { content: counter(passo); width: 30px; height: 30px; display: grid; place-items: center; background: var(--ardosia-leve); color: var(--ardosia-escrita); border-radius: 50%; font: 600 .85rem/1 var(--mono); }
.ag-duvidas { display: grid; gap: .55rem; max-width: 84ch; }
.ag-duvida { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--quina); }
.ag-duvida summary { cursor: pointer; padding: .9rem 1rem; font-family: var(--serifa); font-weight: 700; display: flex; justify-content: space-between; gap: .8rem; align-items: center; min-height: 50px; }
.ag-duvida summary::-webkit-details-marker { display: none; }
.ag-duvida summary::after { content: "+"; font: 400 1.45rem/1 var(--mono); color: var(--ipe-borda); }
.ag-duvida[open] summary::after { content: "\2013"; }
.ag-duvida p { margin: 0; padding: 0 1rem 1rem; color: var(--cinza); }
.ag-atalhos { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: .7rem; }
.ag-atalhos a { display: block; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--quina); padding: .85rem 1rem; text-decoration: none; font-weight: 600; color: var(--tinta); }
.ag-atalhos a:hover { border-color: var(--ardosia); }

/* [ sede e mapa ] */
.ag-sede { padding: var(--folga) 0; background: var(--papel); border-block: 1px solid var(--linha); }
.ag-sede__grade { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(1.2rem, 3vw, 2.2rem); }
.ag-sede__ficha { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--quina); padding: 1.25rem 1.2rem; }
.ag-sede__ficha h2 { font-size: 1.12rem; margin-bottom: .4rem; }
.ag-sede__ficha p { color: var(--cinza); }
.ag-sede__aviso { font: 400 .83rem/1.5 var(--mono); color: #5f656b; }
.ag-sede__mapa { min-height: 300px; display: grid; place-items: center; border: 1px solid var(--linha); border-radius: var(--quina); overflow: hidden; background: repeating-linear-gradient(90deg, rgba(36, 59, 74, .07) 0 1px, transparent 1px 22px) var(--ardosia-leve); }
.ag-sede__mapa iframe { width: 100%; height: 100%; min-height: 300px; border: 0; display: block; }
.ag-sede__mapa--aberto { place-items: stretch; }

/* [ consulta ] */
.ag-consulta { background: var(--ardosia); color: #e7eef3; padding: var(--folga) 0; }
.ag-consulta__grade { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 3vw, 2.8rem); align-items: start; }
.ag-consulta h2 { color: #fff; }
.ag-consulta__lista { margin: 1rem 0 1.2rem; padding-left: 1.1rem; color: #c8d8e1; font-size: .97rem; display: grid; gap: .35rem; }
.ag-consulta__canal { margin: 0 0 .3rem; color: #d3e2eb; }
.ag-consulta__canal a { color: #ffd277; font-weight: 600; }
.ag-consulta__cartao { color: var(--tinta); }
.ag-consulta__cartao :is(h2, h3) { color: var(--tinta); }
.ag-consulta__cartao a { color: var(--ardosia-escrita); }

/* [ formulario ] */
.ag-forma { display: grid; gap: .85rem; }
.ag-forma__apoio { margin: 0; color: var(--cinza); font-size: .95rem; }
.ag-forma__pe { margin: 0; font-size: .85rem; color: #5f656b; }
.ag-engodo { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ag-campo { display: grid; gap: .28rem; }
.ag-campo--duplo { grid-template-columns: repeat(auto-fit, minmax(min(185px, 100%), 1fr)); gap: .85rem; }
.ag-campo--duplo > div { display: grid; gap: .28rem; }
.ag-campo label { font-weight: 600; font-size: .93rem; }
.ag-senao { font-weight: 400; color: #5f656b; }
.ag-campo :is(input, select, textarea) { width: 100%; min-height: 48px; padding: .6rem .7rem; background: var(--branco); border: 1px solid #b4b9b4; border-radius: var(--quina); color: var(--tinta); }
.ag-campo textarea { min-height: 110px; resize: vertical; }
.ag-campo :is(input, select, textarea):focus { border-color: var(--ardosia); }
.ag-campo :is(input, select)[aria-invalid="true"] { border-color: #a3231b; background: #fdeceb; }
.ag-queixa { display: block; color: #8c1d16; font-size: .88rem; font-weight: 600; }
.ag-aceito { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: .6rem; align-items: start; font-size: .93rem; }
.ag-aceito input { width: 24px; height: 24px; min-height: 0; margin-top: .15rem; accent-color: var(--ardosia); }
.ag-aceito label { padding-block: .3rem; }
.ag-nota { border: 1px solid var(--campo); background: var(--campo-leve); border-radius: var(--quina); padding: .9rem 1rem; margin: 0 0 1rem; font-weight: 500; }
.ag-nota--ruim { border-color: #a3231b; background: #fdeceb; }

/* [ paginas de frente e de texto ] */
.ag-frente { padding: var(--folga) 0 0; }
.ag-frente__grade { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(1.5rem, 3vw, 2.9rem); align-items: start; }
.ag-frente__abre { font-size: 1.1rem; color: var(--cinza); max-width: 54ch; }
.ag-frente__cnae { font: 400 .78rem/1.4 var(--mono); color: #5f656b; }
.ag-pagina { padding: var(--folga) 0; }
.ag-pagina__corpo { max-width: 76ch; }
.ag-pagina__corpo h2 { margin-top: 1.9rem; font-size: 1.26rem; }
.ag-pagina__data { font: 400 .82rem/1.5 var(--mono); color: #5f656b; }

/* [ rodape, atalho e cookie ] */
.ag-rodape { background: var(--ardosia-funda); color: #c5d2db; padding: var(--folga) 0 1.3rem; }
.ag-rodape__grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(225px, 100%), 1fr)); gap: 1.7rem; }
.ag-rodape__marca { display: block; font-family: var(--serifa); font-weight: 800; font-size: 1.08rem; color: #fff; margin-bottom: .5rem; }
.ag-rodape__rotulo { display: block; font: 600 .72rem/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #8ba2b1; margin-bottom: .55rem; }
.ag-rodape p { margin: 0 0 .35rem; font-size: .95rem; }
.ag-rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; font-size: .95rem; }
.ag-rodape a { color: #dbe6ed; display: inline-block; padding-block: .42rem; min-height: 38px; }
.ag-rodape a:hover { color: #fff; }
.ag-rodape__pe { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; justify-content: space-between; border-top: 1px solid #2c4654; margin-top: 1.9rem; padding-top: 1.1rem; font-size: .85rem; color: #8ba2b1; }
.ag-atalho { position: fixed; inset: auto 0 0 0; z-index: 45; display: none; gap: .5rem; padding: .5rem .7rem calc(.5rem + env(safe-area-inset-bottom)); background: rgba(22, 41, 52, .97); }
.ag-atalho__bt { flex: 1 1 0; min-width: 0; display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: var(--quina); text-decoration: none; font-weight: 600; background: #2e4a5b; color: #fff; }
.ag-atalho__bt--forte { background: var(--ipe); color: var(--tinta); }
.ag-cookie { position: fixed; inset: auto 0 0 0; z-index: 50; background: var(--branco); border-top: 3px solid var(--ardosia); padding: 1rem 1.1rem; display: grid; gap: .8rem; grid-template-columns: minmax(0, 1fr) auto; align-items: center; box-shadow: 0 -14px 30px -22px rgba(22, 25, 29, .7); }
.ag-cookie p { margin: 0; font-size: .93rem; }
.ag-cookie__botoes { display: flex; gap: .6rem; flex-wrap: wrap; }
.ag-cookie__botoes .ag-bt { min-width: 158px; }

@media (max-width: 910px) {
  .ag-abertura__grade, .ag-calendario__grade, .ag-sede__grade, .ag-consulta__grade, .ag-frente__grade { grid-template-columns: minmax(0, 1fr); }
  .ag-topo__selo { display: none; }
}
@media (max-width: 660px) {
  body { font-size: 1.01rem; }
  .ag-atalho { display: flex; }
  .ag-rodape { padding-bottom: 5rem; }
  .ag-cookie { grid-template-columns: minmax(0, 1fr); bottom: 4.4rem; }
  .ag-cookie__botoes .ag-bt { flex: 1 1 0; min-width: 0; }
  .ag-topo__lado { width: 100%; justify-content: space-between; }
}
@media screen and (prefers-reduced-motion) { html { scroll-behavior: auto; } }
@media print { .ag-atalho, .ag-cookie, .ag-salto, .ag-sede__mapa { display: none !important; } body { background: #fff; } }
