/* Estilo Executivo: verde-floresta, dourado e creme; Archivo condensada nos titulos; painel ilustrado. */
:root {
	--tinta: #10241D;
	--tinta-suave: #4D6159;
	--acento: #F2B33D;
	--acento-forte: #D9961B;
	--sobre-acento: #10241D;
	--acento-claro: #F8D894;
	--papel: #FFFFFF;
	--nevoa: #F4F1E8;
	--fundo: #F4F1E8;
	--linha: #E2DED1;
	--escuro: #0E3B2E;
	--sobre-escuro: #FFFFFF;
	--verde-claro: #1F6B52;
	--raio-botao: 10px;
	--fonte-titulo: "Archivo", system-ui, sans-serif;
	--fonte-texto: "Figtree", system-ui, sans-serif;
}

.site-publico h1, .site-publico h2 { font-weight: 800; font-stretch: 85%; letter-spacing: -.02em; }
.site-publico .topo { background: rgb(255 255 255 / .94); }
.site-publico .marca { font-stretch: 85%; font-weight: 800; }
.site-publico .rodape { background: var(--escuro); color: #CFE0D8; }
.site-publico .rodape-marca .marca { color: #FFFFFF; }
.site-publico .rodape .marca-icone rect { fill: var(--acento); }
.site-publico .rodape .marca-icone path { fill: var(--escuro); }
.site-publico .rodape-final { border-top-color: rgb(255 255 255 / .15); }
.site-publico .duvidas details { background: var(--papel); border: 1px solid var(--linha); border-radius: 12px; }
.site-publico .duvidas summary { font-family: var(--fonte-texto); font-weight: 700; font-size: 1.0625rem; }
.site-publico .duvidas details[open] { border-color: var(--escuro); }
.site-publico .posts a { border: 1px solid var(--linha); border-radius: 16px; background: var(--papel); box-shadow: 0 1px 0 var(--linha); }
.site-publico .posts a:hover { border-color: var(--escuro); box-shadow: 0 18px 36px -24px rgb(14 59 46 / .4); }
.site-publico .post-categoria { border-radius: 6px; background: var(--nevoa); color: var(--escuro); }
.site-publico .artigo-chamada { border-radius: 16px; }

.ex-home { --largura: 76rem; }
.ex-home h2 { font-size: clamp(1.875rem, 1.2rem + 2.6vw, 3.25rem); line-height: 1.02; }
.ex-home h3 { margin: 0; font: 700 1.1875rem/1.25 var(--fonte-texto); }
.ex-rotulo { display: inline-block; margin-bottom: .875rem; padding: .3125rem .625rem; border-radius: 6px; background: var(--nevoa); color: var(--escuro); font-size: .8125rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }

.ex-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; max-width: calc(var(--largura) + 4rem); margin: 0 auto; padding: clamp(2.5rem, 6vw, 5.5rem) clamp(1rem, 4vw, 2rem) clamp(3.5rem, 7vw, 6rem); }
.ex-hero::before { content: ""; position: absolute; z-index: -1; inset: 0 calc(50% - 50vw); background: linear-gradient(180deg, #F4F1E8, #FFFFFF 85%); }
.ex-hero::after { content: ""; position: absolute; z-index: -1; right: calc(50% - 50vw); top: 0; width: min(46vw, 40rem); height: 100%; background: var(--escuro); border-bottom-left-radius: 3rem; }
.ex-selo { display: inline-flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--escuro); font-size: .9375rem; }
.ex-selo span { width: .625rem; height: .625rem; border-radius: 50%; background: var(--acento); box-shadow: 0 0 0 4px rgb(242 179 61 / .25); }
.ex-hero h1 { margin-top: 1.25rem; font-size: clamp(2.5rem, 1.3rem + 4vw, 4.5rem); line-height: .98; }
.ex-hero h1 span { color: var(--verde-claro); }
.ex-sub { margin-top: 1.5rem; max-width: 40ch; font-size: 1.1875rem; color: var(--tinta-suave); }
.ex-acoes { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.ex-acoes .botao-acento { box-shadow: 0 14px 30px -14px rgb(217 150 27 / .9); }
.ex-botao-linha { background: transparent; color: var(--escuro); box-shadow: inset 0 0 0 2px var(--escuro); }
.ex-botao-linha:hover { background: var(--escuro); color: #FFFFFF; }
.ex-garantias { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: .9375rem; font-weight: 600; color: var(--tinta-suave); }
.ex-garantias li::before { content: "✓"; margin-right: .375rem; color: var(--verde-claro); font-weight: 800; }

.ex-painel { display: grid; gap: 1rem; padding: 1.25rem; border-radius: 20px; background: #FFFFFF; box-shadow: 0 50px 90px -40px rgb(0 0 0 / .55), 0 0 0 1px rgb(14 59 46 / .08); }
.ex-painel-topo { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.ex-painel-topo b { display: block; font: 800 1.125rem/1.2 var(--fonte-titulo); font-stretch: 90%; }
.ex-painel-topo small { color: var(--tinta-suave); font-size: .8125rem; }
.ex-vivo { display: inline-flex; align-items: center; gap: .375rem; padding: .3125rem .625rem; border-radius: 999px; background: #E3F4EC; color: var(--verde-claro); font-size: .8125rem; font-weight: 700; white-space: nowrap; }
.ex-vivo i { width: .5rem; height: .5rem; border-radius: 50%; background: #22A06B; }
.ex-preco-texto { margin-bottom: clamp(2rem, 4vw, 3rem); }
.ex-planos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); gap: 1rem; align-items: stretch; }
.ex-plano { display: grid; grid-template-rows: auto auto auto 1fr auto; gap: .625rem; padding: clamp(1.5rem, 3vw, 2rem); border-radius: 22px; background: #FFFFFF; color: var(--tinta); box-shadow: 0 40px 80px -40px rgb(0 0 0 / .6); }
.ex-plano-grupo { font-weight: 700; color: var(--tinta-suave); text-transform: uppercase; letter-spacing: .05em; font-size: .75rem; }
.ex-plano h3 { font: 800 1.375rem/1.1 var(--fonte-titulo); font-stretch: 85%; color: var(--escuro); }
.ex-plano-valor { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem; font: 800 clamp(2.5rem, 2rem + 1.8vw, 3.25rem)/1 var(--fonte-titulo); font-stretch: 80%; color: var(--escuro); }
.ex-plano-valor span { font-size: .4em; }
.ex-plano-valor small { flex-basis: 100%; font: 600 .9375rem/1.3 var(--fonte-texto); font-stretch: 100%; color: var(--tinta-suave); }
.ex-plano ul { list-style: none; margin: .25rem 0 .5rem; padding: 0; display: grid; gap: .5rem; align-content: start; }
.ex-plano li { display: flex; gap: .625rem; }
.ex-plano li::before { content: "✓"; display: grid; place-items: center; width: 1.375rem; height: 1.375rem; flex: none; border-radius: 50%; background: #E3F4EC; color: var(--verde-claro); font-size: .75rem; font-weight: 800; }
.ex-plano .botao { width: 100%; }
.ex-plano-minuto { background: var(--acento); }
.ex-plano-minuto li::before { background: rgb(255 255 255 / .5); color: var(--escuro); }
.ex-plano-minuto .ex-plano-grupo, .ex-plano-minuto .ex-plano-valor small { color: var(--tinta); }
.ex-plano-minuto .botao { background: var(--escuro); color: #FFFFFF; }
@media (prefers-reduced-motion: no-preference) { .ex-vivo i { animation: h-pisca 1.4s ease-in-out infinite; } }
.ex-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .625rem; }
.ex-kpis div { display: grid; gap: .25rem; padding: .875rem; border-radius: 12px; background: var(--nevoa); min-width: 0; }
.ex-kpis small { font-size: .75rem; font-weight: 600; color: var(--tinta-suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ex-kpis b { font: 800 1.75rem/1 var(--fonte-titulo); font-stretch: 85%; font-variant-numeric: tabular-nums; }
.ex-kpi-ouro { background: var(--escuro) !important; color: #FFFFFF; }
.ex-kpi-ouro small { color: var(--acento-claro) !important; }
.ex-kpi-ouro b { color: var(--acento); }
.ex-painel-corpo { display: grid; grid-template-columns: 1.4fr 1fr; gap: .875rem; }
.ex-grafico, .ex-rosca { padding: .875rem; border: 1px solid var(--linha); border-radius: 12px; }
.ex-grafico small { font-size: .75rem; font-weight: 600; color: var(--tinta-suave); }
.ex-barras { display: flex; align-items: end; gap: .375rem; height: 8.5rem; margin-top: .75rem; }
.ex-barras span { flex: 1; height: 100%; display: grid; grid-template-rows: 1fr auto; gap: .25rem; }
.ex-barras i { align-self: end; height: var(--p); border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, var(--verde-claro), var(--escuro)); }
.ex-barras span:nth-child(7) i { background: var(--acento); }
.ex-barras em { font-style: normal; font-size: .625rem; color: var(--tinta-suave); text-align: center; }
.ex-rosca { display: grid; justify-items: center; align-content: center; gap: .75rem; }
.ex-rosca-anel { position: relative; display: grid; place-items: center; align-content: center; width: 6.5rem; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--escuro) 0 61%, var(--acento) 61% 79%, var(--linha) 79% 100%); }
.ex-rosca-anel::before { content: ""; position: absolute; inset: 14px; border-radius: 50%; background: #FFFFFF; }
.ex-rosca-anel b, .ex-rosca-anel small { position: relative; }
.ex-rosca-anel b { font: 800 1.375rem/1 var(--fonte-titulo); }
.ex-rosca-anel small { font-size: .6875rem; color: var(--tinta-suave); }
.ex-rosca ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; font-size: .75rem; font-weight: 600; }
.ex-rosca li::before { content: ""; display: inline-block; width: .5rem; height: .5rem; margin-right: .375rem; border-radius: 2px; }
.ex-l1::before { background: var(--escuro); }
.ex-l2::before { background: var(--acento); }
.ex-l3::before { background: var(--linha); }
.ex-teclas-linha { display: flex; flex-wrap: wrap; gap: .5rem; }
.ex-teclas-linha span { display: inline-flex; align-items: center; gap: .5rem; padding: .3125rem .75rem .3125rem .3125rem; border-radius: 999px; background: var(--nevoa); font-size: .8125rem; font-weight: 600; }
.ex-home kbd { display: inline-grid; place-items: center; min-width: 1.75rem; height: 1.75rem; padding: 0 .25rem; border-radius: 7px; background: var(--escuro); color: #FFFFFF; font: 700 .875rem/1 var(--fonte-titulo); box-shadow: 0 2px 0 rgb(0 0 0 / .25); }

.ex-numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: var(--largura); margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2rem); }
.ex-numeros div { display: grid; gap: .375rem; padding: 1.75rem 1.5rem; border-top: 3px solid var(--escuro); }
.ex-numeros div + div { border-left: 1px solid var(--linha); }
.ex-numeros b { font: 800 clamp(2rem, 1.4rem + 2vw, 3rem)/1 var(--fonte-titulo); font-stretch: 80%; color: var(--escuro); }
.ex-numeros span { color: var(--tinta-suave); font-weight: 600; }

.ex-faixa { padding: clamp(4rem, 8vw, 6.5rem) clamp(1rem, 4vw, 2rem); }
.ex-faixa > * { max-width: var(--largura); margin-inline: auto; }
.ex-faixa-creme { background: var(--nevoa); }
.ex-faixa-creme .ex-rotulo { background: #FFFFFF; }
.ex-faixa-verde { background: var(--escuro); color: #FFFFFF; }
.ex-faixa-verde .ex-rotulo { background: rgb(255 255 255 / .1); color: var(--acento); }
.ex-cabeca { margin-bottom: clamp(2rem, 4vw, 3rem); }
.ex-cabeca h2, .ex-cabeca > p { max-width: 44rem; }
.ex-cabeca > p:not(.ex-rotulo) { margin-top: 1rem; font-size: 1.125rem; color: var(--tinta-suave); }
.ex-cabeca a { color: var(--verde-claro); font-weight: 700; }

.ex-passos { list-style: none; padding: 0; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.ex-passos li { position: relative; display: grid; align-content: start; gap: .625rem; padding: 1.25rem 1.25rem 1.5rem; border: 1px solid var(--linha); border-radius: 18px; background: #FFFFFF; }
.ex-passos p { color: var(--tinta-suave); }
.ex-passo-n { font: 800 .9375rem/1 var(--fonte-titulo); color: var(--acento-forte); margin-top: .5rem; }
.ex-ilustra { position: relative; display: grid; place-items: center; height: 8.5rem; border-radius: 12px; background: var(--nevoa); overflow: hidden; }
.ex-ilustra em { position: absolute; right: .75rem; bottom: .625rem; font-style: normal; font-size: .75rem; font-weight: 700; color: var(--tinta-suave); }
.ex-onda { display: flex; align-items: center; gap: 3px; height: 3.5rem; }
.ex-onda i { width: 4px; height: var(--h); border-radius: 4px; background: var(--escuro); }
.ex-onda i:nth-child(-n+11) { background: var(--acento-forte); }
.ex-ilustra-lista span { display: grid; grid-template-columns: repeat(2, 4.5rem); gap: 4px; padding: .5rem; border-radius: 8px; background: #FFFFFF; box-shadow: 0 8px 20px -14px rgb(0 0 0 / .4); }
.ex-ilustra-lista b { font-size: .6875rem; color: var(--tinta-suave); text-align: center; }
.ex-ilustra-lista i { height: .5rem; border-radius: 3px; background: #CFE0D8; }
.ex-ilustra-tecla span { display: grid; grid-template-columns: repeat(3, 2.25rem); gap: .375rem; }
.ex-ilustra-tecla kbd { height: 2.25rem !important; background: #FFFFFF !important; color: var(--tinta) !important; box-shadow: 0 2px 0 var(--linha) !important; }
.ex-ilustra-tecla .ex-acesa { background: var(--acento) !important; scale: 1.1; }

.ex-recursos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.ex-recurso { display: grid; align-content: start; gap: .625rem; padding: 1.5rem; border-radius: 18px; background: #FFFFFF; }
.ex-recurso p { color: var(--tinta-suave); }
.ex-recurso-grande { grid-row: span 2; background: var(--escuro); color: #FFFFFF; }
.ex-recurso-grande h3 { font: 800 1.75rem/1.1 var(--fonte-titulo); font-stretch: 85%; }
.ex-recurso-grande p { color: #CFE0D8; }
.ex-mapa { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .5rem; }
.ex-mapa li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .75rem; padding: .625rem .75rem; border-radius: 12px; background: rgb(255 255 255 / .08); }
.ex-mapa kbd { background: var(--acento) !important; color: var(--escuro) !important; }
.ex-mapa em { font-style: normal; font: 800 1.125rem/1 var(--fonte-titulo); color: var(--acento); }
.ex-ddd { display: flex; flex-wrap: wrap; gap: .375rem; margin-top: .375rem; }
.ex-ddd span { padding: .25rem .5rem; border-radius: 6px; background: var(--nevoa); font-weight: 700; font-size: .875rem; }
.ex-ddd span:first-child { background: var(--acento); }
.ex-play { display: flex; align-items: center; gap: .625rem; margin-top: .375rem; }
.ex-play span { position: relative; width: 2.25rem; height: 2.25rem; border-radius: 50%; background: var(--escuro); }
.ex-play span::after { content: ""; position: absolute; left: 55%; top: 50%; translate: -50% -50%; border-left: .55rem solid #FFFFFF; border-block: .35rem solid transparent; }
.ex-play i { flex: 1; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--acento) 40%, var(--linha) 40%); }

.ex-setores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.ex-setores article { display: grid; align-content: start; gap: .875rem; padding: 1.5rem; border: 1px solid var(--linha); border-radius: 18px; }
.ex-setor-topo { display: flex; align-items: center; gap: .75rem; }
.ex-setor-topo span { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; flex: none; border-radius: 10px; background: var(--escuro); color: var(--acento); }
.ex-setor-topo svg { width: 1.25rem; height: 1.25rem; }
.ex-setores blockquote { margin: 0; padding: .875rem 1rem; border-left: 3px solid var(--acento); border-radius: 0 10px 10px 0; background: var(--nevoa); font-weight: 600; font-size: .9375rem; line-height: 1.45; }
.ex-setores p { color: var(--tinta-suave); font-size: .9375rem; }

.ex-preco-texto p:not(.ex-rotulo) { margin-top: 1.25rem; font-size: 1.125rem; color: #CFE0D8; max-width: 44ch; }

.ex-duvidas-grade { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.ex-duvidas-grade .ex-cabeca { position: sticky; top: 6rem; }

.ex-final { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2.5rem; max-width: var(--largura); margin: 0 auto clamp(3rem, 6vw, 5rem); padding: clamp(2rem, 5vw, 3.5rem); border-radius: 24px; background: var(--acento); }
.ex-final > div { max-width: 40rem; }
.ex-final h2 { font-size: clamp(1.875rem, 1.2rem + 2.4vw, 3rem); }
.ex-final p { margin-top: .625rem; font-size: 1.0625rem; color: #4A3A12; }
.ex-botao-escuro { background: var(--escuro); color: #FFFFFF; }
.ex-botao-escuro:hover { background: #072A20; }
@media (width < 82rem) { .ex-final { margin-inline: clamp(1rem, 4vw, 2rem); } }

@media (width < 64rem) {
	.ex-duvidas-grade .ex-cabeca { position: static; }
	.ex-hero { grid-template-columns: minmax(0, 1fr); }
	.ex-hero::after { width: 100%; height: 34%; top: auto; bottom: 0; border-radius: 3rem 3rem 0 0; }
	.ex-painel { max-width: 36rem; width: 100%; margin-inline: auto; }
	.ex-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ex-numeros div:nth-child(3) { border-left: 0; }
	.ex-passos, .ex-setores { grid-template-columns: 1fr 1fr; }
	.ex-recursos { grid-template-columns: 1fr 1fr; }
	.ex-recurso-grande { grid-row: auto; grid-column: 1 / -1; }
	.ex-duvidas-grade { grid-template-columns: minmax(0, 1fr); }
	.ex-duvidas-grade .ex-cabeca { position: static; }
}
@media (width < 44rem) {
	.ex-passos, .ex-setores, .ex-recursos { grid-template-columns: minmax(0, 1fr); }
	.ex-painel-corpo { grid-template-columns: minmax(0, 1fr); }
	.ex-kpis b { font-size: 1.375rem; }
	.ex-kpis div { padding: .625rem; }
	.ex-acoes .botao, .ex-final .botao { width: 100%; }
	.ex-numeros div { padding: 1.25rem 1rem; }
	.ex-rosca { grid-template-columns: auto 1fr; justify-items: start; }
}

/* Painel e acesso */
.estilo-executivo .cartao { border-radius: 16px; }
.estilo-executivo .numero { border-radius: 14px; }
.estilo-executivo .campo input, .estilo-executivo .campo select, .estilo-executivo .campo textarea { border-radius: 10px; }
.estilo-executivo h1, .estilo-executivo h2 { font-stretch: 85%; }
.estilo-executivo .marca { font-stretch: 85%; }
@media (width < 60rem) { .site-publico .topo { position: static; } }
