/* =====================================================================
   CURRÍCULO SOB MEDIDA - SITE PÚBLICO (página inicial e demais páginas abertas)
   ---------------------------------------------------------------------
   Carregar depois do bootstrap.min.css e do estilo.css (que já tem as
   cores da marca, as fontes e os botões btn-primary e btn-destaque).
   ===================================================================== */

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body.site {
	background-color: #fff;
	color: var(--csm-texto-escuro);
}

/* AS SEÇÕES COM ÂNCORA NÃO FICAM ESCONDIDAS ATRÁS DO TOPO FIXO */
section[id] {
	scroll-margin-top: 80px;
}

/* TOPO */
.site-topo {
	position: sticky;
	top: 0;
	z-index: 1030;
	background-color: #fff;
	border-bottom: 1px solid #E1E8F0;
}

.site-topo .navbar-brand img {
	height: 44px;
	width: auto;
}

.site-topo .nav-link {
	font-weight: 500;
	color: #3D4A5C;
}

.site-topo .nav-link:hover,
.site-topo .nav-link:focus {
	color: var(--csm-azul);
}

/* ABERTURA: TEXTO À ESQUERDA E, À DIREITA, A FOLHA DO CURRÍCULO COM O BILHETE DO QUE O CANDIDATO ESCREVE */
.site-abertura {
	background-color: var(--csm-azul-escuro);
	color: #fff;
	padding: 64px 0 80px 0;
	overflow: hidden;
}

.site-titulo {
	font-weight: 800;
	font-size: clamp(2rem, 5vw, 3.25rem);
	line-height: 1.1;
	letter-spacing: -0.5px;
	max-width: 15em;
	margin-bottom: 0;
}

.site-subtitulo {
	font-size: 1.15rem;
	line-height: 1.6;
	color: #D6E0F5;
	max-width: 34em;
	margin: 20px 0 0 0;
}

.site-btn-claro {
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.55);
}

.site-btn-claro:hover,
.site-btn-claro:focus {
	color: #fff;
	background-color: rgba(255, 255, 255, 0.1);
	border-color: #fff;
}

.site-preco-inicial {
	margin: 18px 0 0 0;
	color: #C9D6F0;
}

.site-preco-inicial strong {
	color: #fff;
}

.site-folha-area {
	position: relative;
	max-width: 460px;
	margin: 0 auto;
}

.site-folha {
	display: block;
	width: 100%;
	height: auto;
	background-color: #fff;
	border-radius: 4px;
	transform: rotate(2deg);
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.6);
}

.site-bilhete {
	position: absolute;
	left: -36px;
	bottom: 70px;
	z-index: 2;
	width: 240px;
	padding: 14px 16px;
	background-color: #FFD9A8;
	color: #3A2A12;
	border-radius: 2px;
	transform: rotate(-4deg);
	box-shadow: 0 14px 26px -12px rgba(0, 0, 0, 0.6);
}

.site-bilhete-legenda {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	color: #8A4B00;
	margin-bottom: 4px;
}

.site-bilhete-texto {
	display: block;
	font-style: italic;
	line-height: 1.45;
}

.site-folha-legenda {
	text-align: center;
	color: #C9D6F0;
	font-size: 0.85rem;
	margin-top: 22px;
}

.site-folha-legenda a {
	color: #FFFFFF;
	font-weight: 600;
}

@media (max-width: 575.98px) {
	.site-bilhete {
		position: relative;
		left: 0;
		bottom: 0;
		width: 88%;
		margin: 0 0 -18px 0;
		transform: rotate(-2deg);
	}
}

/* SEÇÕES */
.site-secao {
	padding: 72px 0;
}

.site-secao-fundo {
	background-color: var(--csm-fundo);
}

.site-secao-titulo {
	font-weight: 700;
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	color: var(--csm-azul-escuro);
	margin-bottom: 8px;
}

.site-secao-texto {
	font-size: 1.05rem;
	color: #5B6B80;
	max-width: 40em;
	margin-bottom: 0;
}

/* PARA QUEM É */
.site-perfil {
	height: 100%;
	padding: 22px;
	background-color: #fff;
	border: 1px solid #E1E8F0;
	border-radius: 14px;
}

.site-perfil i {
	font-size: 26px;
	color: var(--csm-azul);
	margin-bottom: 12px;
}

.site-perfil h3,
.site-passos h3,
.site-beneficio h3 {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--csm-texto-escuro);
	margin-bottom: 6px;
}

.site-perfil p,
.site-passos p,
.site-beneficio p {
	color: #5B6B80;
	margin-bottom: 0;
}

/* COMO FUNCIONA (OS PASSOS SÃO UMA SEQUÊNCIA: NUMERADOS E LIGADOS POR UMA LINHA) */
.site-passos {
	list-style: none;
	counter-reset: passo;
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	padding: 0;
	margin: 36px 0 0 0;
}

.site-passos li {
	counter-increment: passo;
	position: relative;
	padding-top: 58px;
}

.site-passos li::before {
	content: counter(passo);
	position: absolute;
	top: 0;
	left: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--csm-azul);
	color: #fff;
	font-family: 'Montserrat', 'Inter', sans-serif;
	font-weight: 700;
	font-size: 1.1rem;
}

@media (min-width: 992px) {
	.site-passos {
		grid-template-columns: repeat(4, 1fr);
	}

	.site-passos li::after {
		content: '';
		position: absolute;
		top: 22px;
		left: 56px;
		right: -16px;
		border-top: 2px dashed #B4C4E6;
	}

	.site-passos li:last-child::after {
		display: none;
	}
}

/* DO SEU JEITO PARA O CURRÍCULO */
.site-antes {
	height: 100%;
	padding: 24px;
	background-color: #FFF4E6;
	border-left: 4px solid var(--csm-laranja);
	border-radius: 12px;
	font-size: 1.1rem;
	font-style: italic;
	color: #3A2A12;
}

.site-depois {
	height: 100%;
	padding: 24px;
	background-color: #fff;
	border: 1px solid #E1E8F0;
	border-radius: 12px;
	box-shadow: 0 12px 30px -18px rgba(11, 44, 107, 0.35);
}

.site-comparacao-titulo {
	font-size: 0.9rem;
	font-weight: 600;
	font-style: normal;
	color: #5B6B80;
	margin-bottom: 12px;
}

.site-comparacao-titulo i {
	margin-right: 4px;
}

.site-depois-cargo {
	font-weight: 700;
}

.site-depois-empresa {
	color: #5B6B80;
	font-size: 0.9rem;
	margin-bottom: 8px;
}

.site-nota {
	font-size: 0.85rem;
	color: #8A97A8;
	margin: 14px 0 0 0;
}

/* O QUE VOCÊ RECEBE */
.site-beneficio {
	display: flex;
	gap: 16px;
}

.site-beneficio > i {
	flex-shrink: 0;
	width: 32px;
	font-size: 24px;
	color: var(--csm-azul);
	margin-top: 2px;
}

/* PLANOS */
.site-plano {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 28px;
	background-color: #fff;
	border: 1px solid #E1E8F0;
	border-radius: 16px;
}

/* PLANO EM DESTAQUE (MARCADO NO CADASTRO DO PLANO) */
.site-plano-destaque {
	border: 2px solid var(--csm-azul);
}

.site-plano-nome {
	font-size: 1.3rem;
	font-weight: 700;
	margin-bottom: 4px;
}

.site-plano-preco {
	font-family: 'Montserrat', 'Inter', sans-serif;
	font-size: 2.2rem;
	font-weight: 800;
	color: var(--csm-azul-escuro);
	margin-bottom: 12px;
}

.site-plano-texto {
	color: #5B6B80;
}

.site-plano-itens {
	list-style: none;
	padding: 0;
	margin: 4px 0 16px 0;
}

.site-plano-itens li {
	margin-bottom: 8px;
}

.site-plano-itens i {
	color: #198754;
	width: 1.4em;
}

.site-plano-adicional {
	font-size: 0.95rem;
	color: var(--csm-laranja-texto);
}

/* DÚVIDAS FREQUENTES (details/summary: ABRE E FECHA SEM JAVASCRIPT) */
.site-perguntas details {
	border-bottom: 1px solid #DCE3EE;
	padding: 16px 0;
}

.site-perguntas details:first-child {
	border-top: 1px solid #DCE3EE;
}

.site-perguntas summary {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.site-perguntas summary::-webkit-details-marker {
	display: none;
}

.site-perguntas summary::after {
	content: '+';
	font-size: 1.3rem;
	line-height: 1;
	color: var(--csm-azul);
}

.site-perguntas details[open] summary::after {
	content: '\2013';
}

.site-perguntas summary:focus-visible {
	outline: 3px solid var(--csm-laranja);
	outline-offset: 4px;
}

.site-perguntas details p {
	margin: 10px 0 0 0;
	color: #3D4A5C;
	max-width: 44em;
}

/* CHAMADA FINAL */
.site-final {
	padding: 64px 0;
	background-color: var(--csm-azul);
	color: #fff;
	text-align: center;
}

.site-final h2 {
	font-weight: 700;
	font-size: clamp(1.6rem, 3vw, 2.1rem);
}

.site-final p {
	color: #D6E0F5;
	margin-bottom: 24px;
}

/* RODAPÉ */
.site-rodape {
	padding: 56px 0 28px 0;
	background-color: var(--csm-azul-escuro);
	color: #C9D6F0;
}

.site-rodape a {
	color: #E3EAF7;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.site-rodape a:hover,
.site-rodape a:focus {
	text-decoration: underline;
}

.site-rodape-titulo {
	font-family: 'Inter', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	color: #fff;
	margin-bottom: 12px;
}

.site-rodape li {
	margin-bottom: 8px;
}

.site-rodape-empresa {
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 0.85rem;
}

/* FOCO VISÍVEL NAS ÁREAS ESCURAS */
.site-abertura a:focus-visible,
.site-final a:focus-visible,
.site-rodape a:focus-visible {
	outline: 3px solid var(--csm-laranja);
	outline-offset: 3px;
}

/* BOTÃO FIXO NO CELULAR */
.site-cta-fixo {
	display: none;
}

@media (max-width: 767.98px) {
	body.site {
		padding-bottom: 72px;
	}

	.site-cta-fixo {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1020;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		background-color: #fff;
		box-shadow: 0 -6px 18px rgba(11, 44, 107, 0.12);
	}

	.site-secao {
		padding: 56px 0;
	}
}

/* =====================================================================
   PÁGINAS DE TEXTO (TERMOS DE USO E POLÍTICA DE PRIVACIDADE)
   As seções do texto e os itens do sumário são numerados na mesma ordem
   (o número vem do CSS, para nunca ficar diferente do sumário)
   ===================================================================== */
.site-doc-cabecalho {
	padding: 48px 0 40px 0;
	background-color: var(--csm-fundo);
	border-bottom: 1px solid #E1E8F0;
}

.site-doc-titulo {
	font-weight: 800;
	font-size: clamp(2rem, 4vw, 2.6rem);
	line-height: 1.15;
	color: var(--csm-azul-escuro);
	margin-bottom: 8px;
}

.site-doc-versao {
	font-size: 0.9rem;
	color: #5B6B80;
	margin-bottom: 0;
}

.site-doc-intro {
	font-size: 1.1rem;
	line-height: 1.6;
	color: #3D4A5C;
	max-width: 40em;
	margin: 18px 0 0 0;
}

.site-doc-corpo {
	padding: 48px 0 72px 0;
}

/* SUMÁRIO: NO COMPUTADOR FICA PARADO AO LADO DO TEXTO; NO CELULAR ABRE E FECHA PELO BOTÃO */
.site-doc-sumario-botao {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 12px 16px;
	background-color: #fff;
	border: 1px solid #DCE3EE;
	border-radius: 10px;
	font-weight: 600;
	color: var(--csm-texto-escuro);
}

.site-doc-sumario-botao:focus-visible {
	outline: 3px solid var(--csm-laranja);
	outline-offset: 2px;
}

.site-doc-sumario-titulo {
	font-family: 'Inter', sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	color: #5B6B80;
	margin-bottom: 10px;
}

.site-doc-sumario ol {
	padding-left: 1.4em;
	margin: 12px 0 0 0;
}

.site-doc-sumario li {
	margin-bottom: 6px;
	color: #8A97A8;
	font-size: 0.95rem;
}

.site-doc-sumario a {
	color: #3D4A5C;
	text-decoration: none;
}

.site-doc-sumario a:hover,
.site-doc-sumario a:focus {
	color: var(--csm-azul);
	text-decoration: underline;
}

@media (min-width: 992px) {
	.site-doc-sumario {
		position: sticky;
		top: 96px;
		max-height: calc(100vh - 120px);
		overflow-y: auto;
	}

	.site-doc-sumario ol {
		margin-top: 0;
	}
}

/* TEXTO */
.site-doc {
	counter-reset: secao;
	max-width: 46em;
	color: #2B3645;
	line-height: 1.7;
}

.site-doc section {
	margin-top: 44px;
}

.site-doc section:first-child {
	margin-top: 0;
}

.site-doc h2 {
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--csm-azul-escuro);
	margin-bottom: 12px;
}

.site-doc section > h2::before {
	counter-increment: secao;
	content: counter(secao) ". ";
	color: var(--csm-azul);
}

.site-doc h3 {
	font-family: 'Inter', sans-serif;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--csm-texto-escuro);
	margin: 22px 0 8px 0;
}

.site-doc ul {
	padding-left: 1.3em;
}

.site-doc li {
	margin-bottom: 6px;
}

.site-doc a {
	overflow-wrap: anywhere;
}

/* "EM POUCAS PALAVRAS" NO INÍCIO DA POLÍTICA */
.site-doc-resumo {
	padding: 20px 24px;
	margin-bottom: 44px;
	background-color: #EEF3FC;
	border-left: 4px solid var(--csm-azul);
	border-radius: 12px;
}

.site-doc-resumo h2 {
	font-size: 1.1rem;
	margin-bottom: 10px;
}

.site-doc-resumo ul {
	margin-bottom: 0;
}

/* LISTAS COM TÍTULO E EXPLICAÇÃO (FINALIDADES, FORNECEDORES, PRAZOS DE GUARDA) */
.site-doc-itens {
	list-style: none;
	padding: 0 !important;
	margin: 0 0 16px 0;
	border-top: 1px solid #E1E8F0;
}

.site-doc-itens li {
	padding: 12px 0;
	margin: 0;
	border-bottom: 1px solid #E1E8F0;
}

.site-doc-itens strong {
	display: block;
	color: var(--csm-texto-escuro);
}

.site-doc-itens span {
	display: block;
	color: #5B6B80;
	font-size: 0.95rem;
}

/* TABELA DOS PLANOS NOS TERMOS */
.site-doc-tabela {
	width: 100%;
	margin-bottom: 16px;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.site-doc-tabela th,
.site-doc-tabela td {
	padding: 10px 12px;
	border-bottom: 1px solid #E1E8F0;
	text-align: left;
	vertical-align: top;
}

.site-doc-tabela thead th {
	background-color: var(--csm-fundo);
	font-weight: 600;
	color: var(--csm-texto-escuro);
}

/* =====================================================================
   BLOG (LISTAGEM, CATEGORIA, AUTOR E POST)
   ===================================================================== */

.blog-migalhas {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
	font-size: 0.9rem;
	color: #5B6B80;
}

.blog-migalhas a {
	color: #3D4A5C;
	text-decoration: none;
}

.blog-migalhas a:hover,
.blog-migalhas a:focus {
	color: var(--csm-azul);
	text-decoration: underline;
}

.blog-categorias {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 24px;
}

.blog-categorias a {
	padding: 6px 14px;
	border: 1px solid #CBD5E1;
	border-radius: 999px;
	background-color: #fff;
	color: #3D4A5C;
	font-size: 0.92rem;
	font-weight: 500;
	text-decoration: none;
}

.blog-categorias a:hover,
.blog-categorias a:focus {
	border-color: var(--csm-azul);
	color: var(--csm-azul);
}

.blog-categorias a[aria-current] {
	background-color: var(--csm-azul);
	border-color: var(--csm-azul);
	color: #fff;
}

.blog-autor-topo {
	display: flex;
	align-items: center;
	gap: 20px;
}

.blog-autor-topo img {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid #fff;
}

.blog-autor-cargo {
	color: #5B6B80;
	font-size: 0.95rem;
}

.blog-corpo {
	padding: 48px 0 72px 0;
}

/* CATEGORIA E DATA DOS POSTS */
.blog-categoria {
	display: inline-block;
	margin-bottom: 6px;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--csm-laranja-texto);
	text-decoration: none;
}

.blog-categoria:hover,
.blog-categoria:focus {
	text-decoration: underline;
}

.blog-data {
	font-size: 0.86rem;
	color: #5B6B80;
}

/* POST EM DESTAQUE (TOPO DA PÁGINA 1) */
.blog-destaque {
	display: grid;
	margin-bottom: 40px;
	background-color: #fff;
	border: 1px solid #E1E8F0;
	border-radius: 16px;
	overflow: hidden;
}

.blog-destaque-imagem img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1200 / 630;
	object-fit: cover;
}

.blog-destaque-corpo {
	padding: 28px;
	align-self: center;
}

.blog-destaque-titulo {
	font-weight: 800;
	font-size: clamp(1.45rem, 2.6vw, 2rem);
	line-height: 1.2;
	margin-bottom: 12px;
}

.blog-destaque-titulo a,
.blog-cartao-titulo a {
	color: var(--csm-azul-escuro);
	text-decoration: none;
}

.blog-destaque-titulo a:hover,
.blog-destaque-titulo a:focus,
.blog-cartao-titulo a:hover,
.blog-cartao-titulo a:focus {
	text-decoration: underline;
}

.blog-destaque-resumo {
	font-size: 1.05rem;
	line-height: 1.6;
	color: #3D4A5C;
}

@media (min-width: 992px) {
	.blog-destaque {
		grid-template-columns: 7fr 5fr;
	}

	.blog-destaque-corpo {
		padding: 36px 40px;
	}
}

/* LISTA DE POSTS */
.blog-grade {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr));
	gap: 28px;
}

.blog-cartao {
	display: flex;
	flex-direction: column;
	background-color: #fff;
	border: 1px solid #E1E8F0;
	border-radius: 14px;
	overflow: hidden;
}

.blog-cartao-imagem img,
.blog-cartao-sem-imagem {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1200 / 630;
	object-fit: cover;
}

.blog-cartao-sem-imagem {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--csm-azul-claro);
	color: var(--csm-azul);
	font-size: 2rem;
}

.blog-cartao-corpo {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 20px 22px 22px 22px;
}

.blog-cartao-titulo {
	font-weight: 700;
	font-size: 1.15rem;
	line-height: 1.3;
	margin-bottom: 8px;
}

.blog-cartao-resumo {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 0.95rem;
	line-height: 1.55;
	color: #3D4A5C;
	margin-bottom: 14px;
}

.blog-cartao .blog-data {
	margin-top: auto;
}

.blog-paginacao {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 12px 20px;
	margin-top: 44px;
	color: #5B6B80;
	font-size: 0.95rem;
}

.blog-paginacao a {
	padding: 8px 16px;
	border: 1px solid var(--csm-azul);
	border-radius: 8px;
	color: var(--csm-azul);
	font-weight: 500;
	text-decoration: none;
}

.blog-paginacao a:hover,
.blog-paginacao a:focus {
	background-color: var(--csm-azul);
	color: #fff;
}

/* POST */
.blog-post-cabecalho {
	padding: 40px 0 32px 0;
	background-color: var(--csm-fundo);
	border-bottom: 1px solid #E1E8F0;
}

.blog-leitura {
	max-width: 46em;
	margin: 0 auto;
}

.blog-post-titulo {
	font-weight: 800;
	font-size: clamp(1.9rem, 4vw, 2.6rem);
	line-height: 1.15;
	color: var(--csm-azul-escuro);
	margin-bottom: 14px;
}

.blog-post-resumo {
	font-size: 1.15rem;
	line-height: 1.6;
	color: #3D4A5C;
	margin-bottom: 22px;
}

.blog-post-meta {
	display: flex;
	align-items: center;
	gap: 12px;
}

.blog-post-meta img,
.blog-autor img {
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}

.blog-post-autor {
	font-weight: 600;
	color: var(--csm-texto-escuro);
	text-decoration: none;
}

.blog-post-autor:hover,
.blog-post-autor:focus {
	color: var(--csm-azul);
	text-decoration: underline;
}

.blog-post-imagem {
	margin: 32px 0 0 0;
}

.blog-post-imagem img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px;
}

/* TEXTO DO POST (HTML DO EDITOR) */
.blog-conteudo {
	padding-top: 32px;
	font-size: 1.1rem;
	line-height: 1.75;
	color: #2B3645;
	overflow-wrap: break-word;
}

.blog-conteudo h2 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--csm-azul-escuro);
	margin: 1.9em 0 0.6em 0;
}

.blog-conteudo h3 {
	font-size: 1.22rem;
	font-weight: 700;
	line-height: 1.35;
	color: var(--csm-azul-escuro);
	margin: 1.6em 0 0.5em 0;
}

.blog-conteudo h4 {
	font-family: 'Inter', sans-serif;
	font-size: 1.08rem;
	font-weight: 600;
	color: var(--csm-texto-escuro);
	margin: 1.4em 0 0.4em 0;
}

.blog-conteudo > :first-child {
	margin-top: 0;
}

.blog-conteudo p {
	margin: 0 0 1.2em 0;
}

.blog-conteudo ul,
.blog-conteudo ol {
	padding-left: 1.3em;
	margin: 0 0 1.2em 0;
}

.blog-conteudo li {
	margin-bottom: 0.4em;
}

.blog-conteudo a {
	color: var(--csm-azul);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.blog-conteudo img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}

.blog-conteudo figure {
	margin: 1.6em 0;
}

.blog-conteudo figcaption {
	margin-top: 8px;
	font-size: 0.88rem;
	color: #5B6B80;
	text-align: center;
}

.blog-conteudo blockquote {
	margin: 1.6em 0;
	padding: 0.2em 0 0.2em 1.2em;
	border-left: 4px solid var(--csm-laranja);
	font-size: 1.15rem;
	color: #3D4A5C;
}

.blog-conteudo table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	margin: 0 0 1.4em 0;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.blog-conteudo th,
.blog-conteudo td {
	padding: 10px 12px;
	border-bottom: 1px solid #E1E8F0;
	text-align: left;
	vertical-align: top;
}

.blog-conteudo th {
	background-color: var(--csm-fundo);
	font-weight: 600;
}

.blog-conteudo pre {
	padding: 14px 16px;
	background-color: var(--csm-fundo);
	border-radius: 8px;
	font-size: 0.9rem;
	overflow-x: auto;
}

/* CHAMADA PARA O SERVIÇO NO FIM DO POST */
.blog-chamada {
	margin: 48px 0;
	padding: 28px;
	background-color: var(--csm-azul-escuro);
	border-radius: 16px;
	color: #fff;
}

.blog-chamada h2 {
	font-size: 1.35rem;
	font-weight: 700;
	color: #fff;
	margin-bottom: 8px;
}

.blog-chamada p {
	color: #D6E0F5;
	margin-bottom: 20px;
}

.blog-chamada-link {
	display: inline-block;
	margin: 12px 0 0 16px;
	color: #fff;
}

.blog-chamada-link:hover,
.blog-chamada-link:focus {
	color: #fff;
}

.blog-chamada a:focus-visible {
	outline: 3px solid var(--csm-laranja);
	outline-offset: 3px;
}

/* SOBRE O AUTOR */
.blog-autor {
	display: flex;
	gap: 16px;
	padding: 28px 0 56px 0;
	border-top: 1px solid #E1E8F0;
}

.blog-autor-rotulo {
	font-size: 0.82rem;
	color: #5B6B80;
}

.blog-autor-nome {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--csm-azul-escuro);
	text-decoration: none;
}

.blog-autor-nome:hover,
.blog-autor-nome:focus {
	text-decoration: underline;
}

.blog-autor p {
	margin: 8px 0 0 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: #3D4A5C;
}

/* LEIA TAMBÉM */
.blog-relacionados {
	padding: 56px 0 72px 0;
	background-color: var(--csm-fundo);
	border-top: 1px solid #E1E8F0;
}

.blog-relacionados .site-secao-titulo {
	margin-bottom: 24px;
}

/* IMPRESSÃO: SÓ O TEXTO */
@media print {
	.site-topo,
	.site-rodape,
	.site-doc-sumario-coluna,
	.blog-chamada,
	.blog-relacionados {
		display: none !important;
	}

	.site-doc-cabecalho {
		background: none;
		border: 0;
		padding: 0 0 16px 0;
	}

	.site-doc-corpo {
		padding: 0;
	}

	.site-doc a {
		color: inherit;
	}
}

/* BOTÃO FLUTUANTE DO WHATSAPP (rodape_site.php) */
.site-whatsapp {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 1030;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	border-radius: 999px;
	background-color: #1F8A4C;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.site-whatsapp:hover,
.site-whatsapp:focus {
	background-color: #176E3C;
	color: #fff;
}

.site-whatsapp i {
	font-size: 24px;
}

@media (max-width: 767.98px) {
	.site-whatsapp {
		right: 16px;
		bottom: 16px;
		width: 56px;
		height: 56px;
		padding: 0;
		justify-content: center;
	}

	.site-whatsapp-texto {
		display: none;
	}

	/* PÁGINA INICIAL: FICA ACIMA DO BOTÃO FIXO "FAZER MEU CURRÍCULO" */
	body:has(.site-cta-fixo) .site-whatsapp {
		bottom: calc(80px + env(safe-area-inset-bottom));
	}
}

/* =====================================================================
   EFEITOS DA PÁGINA INICIAL (files/js/site.js)
   ---------------------------------------------------------------------
   Sem bibliotecas: só CSS (transform e opacity) e um JS pequeno.
   As classes vão no <html>, por um script curto no <head> da index:
   - js       = o JavaScript está ativo (abas do exemplo, CTA fixo)
   - efeitos  = movimento liberado (não vale para quem marcou "reduzir
                movimento" no aparelho). Sem ela, a página fica igual
                à versão sem efeitos, com todo o conteúdo visível.
   ===================================================================== */

/* TOPO: SOMBRA AO ROLAR, BARRA DE LEITURA E LINK DA SEÇÃO ATUAL */
.site-topo {
	transition: box-shadow 0.25s ease;
}

.site-topo.rolou {
	box-shadow: 0 8px 24px -14px rgba(11, 44, 107, 0.35);
}

.site-progresso {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 3px;
	background-color: var(--csm-laranja);
	transform: scaleX(0);
	transform-origin: left center;
	pointer-events: none;
}

@media (min-width: 992px) {
	.site-topo .nav-link.ativo {
		color: var(--csm-azul);
		box-shadow: inset 0 -2px 0 var(--csm-laranja);
	}
}

/* ABERTURA: PONTOS DE FUNDO E BRILHO (DECORAÇÃO, SEM IMAGEM) */
.site-abertura {
	position: relative;
	isolation: isolate;
}

.site-abertura::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(255, 255, 255, 0.10) 1px, transparent 1.6px);
	background-size: 22px 22px;
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 75% 45%, #000 0%, transparent 75%);
	mask-image: radial-gradient(ellipse 70% 80% at 75% 45%, #000 0%, transparent 75%);
	pointer-events: none;
}

.site-abertura::after {
	content: '';
	position: absolute;
	top: -30%;
	right: -20%;
	z-index: -1;
	width: 80%;
	aspect-ratio: 1 / 1;
	background: radial-gradient(closest-side at 55% 45%, rgba(245, 124, 0, 0.20), rgba(245, 124, 0, 0)),
	            radial-gradient(30% 30% at 40% 70%, rgba(76, 132, 255, 0.22), rgba(76, 132, 255, 0));
	pointer-events: none;
}

/* PRAZO DO TÍTULO SUBLINHADO EM LARANJA */
.site-titulo-destaque {
	background-image: linear-gradient(var(--csm-laranja), var(--csm-laranja));
	background-repeat: no-repeat;
	background-position: 0 92%;
	background-size: 100% 0.12em;
}

/* A FOLHA FICA DENTRO DE UMA MOLDURA (A INCLINAÇÃO PASSOU PARA ELA, PARA O DESTAQUE ACOMPANHAR A FOLHA) */
.site-folha-moldura {
	position: relative;
	transform: rotate(2deg);
}

.site-folha-moldura .site-folha {
	transform: none;
}

/* DESTAQUE NA FOLHA: MOSTRA ONDE O TEXTO DO BILHETE FOI PARAR */
.site-folha-destaque {
	display: none;
}

.efeitos .site-folha-destaque {
	display: block;
	position: absolute;
	left: 5.5%;
	top: 59.4%;
	width: 89%;
	height: 15.8%;
	border: 2px solid var(--csm-laranja);
	border-radius: 8px;
	background-color: rgba(245, 124, 0, 0.07);
	opacity: 0;
	transform: scale(0.96);
	transition: opacity 0.45s ease, transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1.2);
	pointer-events: none;
}

.efeitos .site-folha-destaque.ativo {
	opacity: 1;
	transform: none;
	animation: destaque-pulso 1.6s ease-out 0.3s 2;
}

.site-folha-destaque span {
	position: absolute;
	right: -6px;
	top: -14px;
	padding: 3px 10px;
	border-radius: 999px;
	background-color: var(--csm-laranja);
	color: #1A1A1A;
	font-size: 0.75rem;
	font-weight: 600;
	white-space: nowrap;
	box-shadow: 0 6px 14px -6px rgba(0, 0, 0, 0.45);
}

@keyframes destaque-pulso {
	0%   { box-shadow: 0 0 0 0 rgba(245, 124, 0, 0.45); }
	100% { box-shadow: 0 0 0 14px rgba(245, 124, 0, 0); }
}

/* BILHETE: O TEXTO É "DIGITADO" POR CIMA DE UMA CÓPIA TRANSPARENTE (A ALTURA NÃO MUDA) */
.site-bilhete-texto {
	position: relative;
}

.site-bilhete-digitado {
	position: absolute;
	inset: 0;
	color: #3A2A12;
}

.site-bilhete-texto.digitando {
	color: transparent;
}

.site-bilhete-texto.digitando .site-bilhete-digitado::after {
	content: '';
	display: inline-block;
	width: 2px;
	height: 1.05em;
	margin-left: 1px;
	vertical-align: -0.15em;
	background-color: #8A4B00;
	animation: cursor-piscar 0.9s steps(1) infinite;
}

@keyframes cursor-piscar {
	50% { opacity: 0; }
}

/* ENTRADA DA ABERTURA (O TÍTULO E A FOLHA NÃO ANIMAM: APARECEM NA HORA, SEM ATRASAR O CARREGAMENTO) */
.efeitos .site-subtitulo,
.efeitos .site-abertura-botoes,
.efeitos .site-preco-inicial,
.efeitos .site-bilhete {
	animation: subir 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}

.efeitos .site-abertura-botoes  { animation-delay: 0.12s; }
.efeitos .site-preco-inicial    { animation-delay: 0.22s; }
.efeitos .site-bilhete          { animation-delay: 0.35s; }

.efeitos .site-titulo-destaque {
	animation: sublinhar 0.9s cubic-bezier(0.6, 0, 0.2, 1) 0.4s both;
}

.efeitos .site-abertura::after {
	animation: brilho-mover 16s ease-in-out infinite alternate;
}

.efeitos .site-folha-moldura {
	animation: folha-flutuar 7s ease-in-out infinite;
}

.efeitos .site-folha-area {
	transform: perspective(1200px) rotateX(var(--giro-x, 0deg)) rotateY(var(--giro-y, 0deg));
	transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}

@keyframes subir {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: none; }
}

/* O BILHETE TEM INCLINAÇÃO PRÓPRIA: A ENTRADA PRECISA MANTER O ROTATE */
.efeitos .site-bilhete {
	animation-name: bilhete-entrar;
}

@keyframes bilhete-entrar {
	from { opacity: 0; transform: rotate(-9deg) translateY(16px); }
	to   { opacity: 1; transform: rotate(-4deg); }
}

@media (max-width: 575.98px) {
	@keyframes bilhete-entrar {
		from { opacity: 0; transform: rotate(-5deg) translateY(12px); }
		to   { opacity: 1; transform: rotate(-2deg); }
	}
}

@keyframes sublinhar {
	from { background-size: 0% 0.12em; }
	to   { background-size: 100% 0.12em; }
}

@keyframes brilho-mover {
	from { transform: translate(0, 0) scale(1); }
	to   { transform: translate(-12%, 10%) scale(1.15); }
}

@keyframes folha-flutuar {
	0%, 100% { transform: rotate(2deg) translateY(0); }
	50%      { transform: rotate(2deg) translateY(-8px); }
}

/* REVELAR AO ROLAR (O JS COLOCA "visivel" QUANDO O BLOCO ENTRA NA TELA; --ordem ESCALONA OS ITENS) */
.efeitos .revelar {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
	transition-delay: calc(var(--ordem, 0) * 90ms);
}

.efeitos .revelar.visivel {
	opacity: 1;
	transform: none;
}

/* PARA QUEM É: CARTÃO SOBE E UMA LUZ SEGUE O MOUSE */
.site-perfil {
	position: relative;
	overflow: hidden;
}

.site-perfil > * {
	position: relative;
}

.site-perfil::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(260px circle at var(--luz-x, 50%) var(--luz-y, 0%), rgba(15, 59, 142, 0.09), transparent 70%);
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

@media (hover: hover) {
	.efeitos .site-perfil,
	.efeitos .site-plano {
		transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	}

	.efeitos .site-perfil:hover {
		transform: translateY(-4px);
		border-color: #B4C4E6;
		box-shadow: 0 18px 34px -22px rgba(11, 44, 107, 0.45);
	}

	.efeitos .site-perfil:hover::before {
		opacity: 1;
	}

	.efeitos .site-perfil:hover i,
	.efeitos .site-beneficio:hover > i {
		animation: icone-pulo 0.5s ease;
	}

	.efeitos .site-plano:hover {
		transform: translateY(-4px);
		box-shadow: 0 24px 44px -26px rgba(11, 44, 107, 0.5);
	}
}

@keyframes icone-pulo {
	0%, 100% { transform: none; }
	40%      { transform: translateY(-5px) scale(1.12); }
}

/* COMO FUNCIONA: OS NÚMEROS APARECEM EM SEQUÊNCIA E A LINHA "CORRE" DE UM PASSO PARA O OUTRO */
.efeitos .site-passos li::before {
	transform: scale(0.3);
	opacity: 0;
	transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1.4), opacity 0.3s ease, box-shadow 0.4s ease;
	transition-delay: calc(var(--ordem, 0) * 350ms);
}

.efeitos .site-passos.visivel li::before {
	transform: none;
	opacity: 1;
	box-shadow: 0 0 0 6px rgba(15, 59, 142, 0.12);
}

.efeitos .site-passos li > * {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.5s ease, transform 0.5s ease;
	transition-delay: calc(var(--ordem, 0) * 350ms + 150ms);
}

.efeitos .site-passos.visivel li > * {
	opacity: 1;
	transform: none;
}

@media (min-width: 992px) {
	.efeitos .site-passos li::after {
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 0.45s ease;
		transition-delay: calc(var(--ordem, 0) * 350ms + 200ms);
	}

	.efeitos .site-passos.visivel li::after {
		transform: none;
	}
}

/* DO SEU JEITO PARA O CURRÍCULO: ABAS COM EXEMPLOS E O CURRÍCULO SENDO "ESCRITO" */
.site-demo-abas {
	display: none;
}

.js .site-demo-abas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 22px;
}

.site-demo-abas button {
	padding: 7px 16px;
	border: 1px solid #CBD5E1;
	border-radius: 999px;
	background-color: #fff;
	color: #3D4A5C;
	font-size: 0.92rem;
	font-weight: 500;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.site-demo-abas button:hover {
	border-color: var(--csm-azul);
	color: var(--csm-azul);
}

.site-demo-abas button[aria-selected="true"] {
	background-color: var(--csm-azul);
	border-color: var(--csm-azul);
	color: #fff;
}

.site-demo-abas button:focus-visible {
	outline: 3px solid var(--csm-laranja);
	outline-offset: 2px;
}

.site-depois {
	position: relative;
}

.site-depois-selo {
	position: absolute;
	top: 20px;
	right: 20px;
	padding: 3px 10px;
	border-radius: 999px;
	background-color: #E7F4EC;
	color: #146C3A;
	font-size: 0.78rem;
	font-weight: 600;
}

/* RASCUNHO (LINHAS CINZAS) ENQUANTO O CURRÍCULO É "ESCRITO" */
.site-depois-rascunho {
	display: none;
}

.efeitos .site-depois-rascunho {
	display: block;
	position: absolute;
	left: 24px;
	right: 24px;
	top: 58px;
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}

.site-depois-rascunho i {
	display: block;
	height: 11px;
	margin-bottom: 12px;
	border-radius: 6px;
	background: linear-gradient(90deg, #E6ECF5 0%, #F4F7FB 40%, #E6ECF5 80%);
	background-size: 200% 100%;
	animation: rascunho-brilho 1.1s linear infinite;
}

.site-depois-rascunho i:nth-child(1) { width: 45%; height: 14px; }
.site-depois-rascunho i:nth-child(2) { width: 60%; margin-bottom: 20px; }
.site-depois-rascunho i:nth-child(3) { width: 92%; }
.site-depois-rascunho i:nth-child(4) { width: 78%; }
.site-depois-rascunho i:nth-child(5) { width: 86%; }

@keyframes rascunho-brilho {
	from { background-position: 100% 0; }
	to   { background-position: -100% 0; }
}

.efeitos .site-demo.escrevendo .site-depois-rascunho {
	opacity: 1;
}

.efeitos .site-demo [data-escrever] {
	transition: opacity 0.4s ease, transform 0.4s ease;
	transition-delay: calc(var(--ordem, 0) * 110ms);
}

.efeitos .site-demo:not(.escrito) [data-escrever] {
	opacity: 0;
	transform: translateY(6px);
	transition-delay: 0s;
}

.site-antes p {
	transition: opacity 0.3s ease;
}

.efeitos .site-demo.trocando .site-antes p {
	opacity: 0;
}

/* PLANOS: BORDA EM MOVIMENTO NO PLANO EM DESTAQUE (SÓ ANIMA QUANDO ESTÁ NA TELA) */
@property --borda-angulo {
	syntax: '<angle>';
	inherits: false;
	initial-value: 0deg;
}

.efeitos .site-plano-destaque {
	border-color: transparent;
	background: linear-gradient(#fff, #fff) padding-box,
	            conic-gradient(from var(--borda-angulo), var(--csm-azul) 0%, #4C84FF 25%, var(--csm-laranja) 40%, var(--csm-azul) 55%, var(--csm-azul) 100%) border-box;
	animation: borda-girar 6s linear infinite paused;
}

.efeitos .site-plano-destaque.em-tela {
	animation-play-state: running;
}

@keyframes borda-girar {
	to { --borda-angulo: 360deg; }
}

/* DÚVIDAS: ABRE E FECHA COM ANIMAÇÃO (O "+" VIRA "X") */
.efeitos .site-perguntas summary::after,
.efeitos .site-perguntas details[open] summary::after {
	content: '+';
	transition: transform 0.25s ease;
}

.efeitos .site-perguntas details.aberto summary::after {
	transform: rotate(45deg);
}

.site-perguntas summary {
	transition: color 0.2s ease;
}

.site-perguntas summary:hover {
	color: var(--csm-azul);
}

/* CHAMADA FINAL: LUZ QUE PASSA NO FUNDO E BRILHO NO BOTÃO */
.site-final {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.efeitos .site-final::before {
	content: '';
	position: absolute;
	inset: -50% -10%;
	z-index: -1;
	background: radial-gradient(closest-side, rgba(255, 255, 255, 0.10), transparent);
	animation: final-luz 9s ease-in-out infinite alternate;
	pointer-events: none;
}

@keyframes final-luz {
	from { transform: translateX(-35%); }
	to   { transform: translateX(35%); }
}

.site-btn-brilho {
	position: relative;
	overflow: hidden;
}

.efeitos .site-btn-brilho::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: -60%;
	width: 40%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.55), transparent);
	transform: skewX(-20deg);
	animation: botao-brilho 5s ease-in-out 1.5s infinite;
	pointer-events: none;
}

@keyframes botao-brilho {
	0%       { left: -60%; }
	22%, 100% { left: 130%; }
}

/* CELULAR: O BOTÃO FIXO SÓ APARECE DEPOIS QUE OS BOTÕES DA ABERTURA SAEM DA TELA */
@media (max-width: 767.98px) {
	.js .site-cta-fixo {
		transform: translateY(110%);
		transition: transform 0.3s ease;
	}

	.js .site-cta-fixo.mostrar {
		transform: none;
	}

	/* ENQUANTO O BOTÃO FIXO ESTÁ ESCONDIDO, O DO WHATSAPP DESCE PARA O CANTO */
	.js .site-whatsapp {
		transition: bottom 0.3s ease;
	}

	.js body:has(.site-cta-fixo:not(.mostrar)) .site-whatsapp {
		bottom: calc(16px + env(safe-area-inset-bottom));
	}
}
