@charset "UTF-8";

* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

html {
	font-size: 62.5%;
}

:root {
	--corpreto: #000000;
	--corareia: #c79f78;
	--cormarron: #855e4e;
	--corbege: #fdfaf0;
	--corbranco: #ffffff;
	--fontepadrao: sans-serif;
	--fontedestaque: serif;
	--hero-gap: 2rem;
	--hero-padding-desktop: 10rem 0rem;
	--hero-padding-tablet: 4rem 1.5rem;
	--hero-padding-mobile: 2.4rem 1rem;
	--text-color: #4a3c2a;
	--btn-gradient-start: var(--corareia);
	--btn-gradient-end: var(--cormarron);
	--bg-fallback: #181716;
}

/* reset rápido (ajuda a evitar sobrescritas) */

.site-container {
	max-width: 1200px;
	margin: 0 auto;
}

.section_inicial_clinica {
	display: flex; /* ativa flexbox */
	flex-direction: column; /* filhos em coluna */
	align-items: center;
	justify-content: flex-start; /* filhos começam do topo */
	width: 100%;
	min-height: 100vh; /* responsivo, não fixa 80rem */
	overflow: hidden;

	position: relative;

	padding: var(--hero-padding-desktop);
	gap: var(--hero-gap);
	overflow: hidden;
	background-color: var(--bg-fallback); /* fallback */

	/* degradê principal aplicado corretamente */
	background-image: linear-gradient(
		135deg,
		var(--corbege) 10%,
		var(--corbege) 40%,
		var(--corareia) 100%
	);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

/* overlay sutil para profundidade e sofisticação */
.section_inicial_clinica::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(
			circle at 12% 18%,
			rgba(255, 255, 255, 0.55),
			rgba(255, 255, 255, 0) 26%
		),
		linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(0, 0, 0, 0.02));
	mix-blend-mode: overlay;
	pointer-events: none;
	z-index: 0;
	opacity: 0.95;
}

/* wrapper interno que alinha texto e imagem lado-a-lado */
.home_inicial_clinica {
	position: relative;
	z-index: 2; /* acima do ::before */
	display: flex;
	gap: 8rem;
	width: 100%;
	max-width: 1200px;
	align-items: flex-start;
	justify-content: center;
	padding: 0.5rem;
}

/* coluna de texto */
.section_imagem2_clinica {
	padding-left: 0.6rem;

	min-width: 280px;
	max-width: 720px;
	text-align: left;
	color: var(--text-color);
	display: flex;
	flex-direction: column;
	gap: 5.6rem;
	justify-content: center;
}

.hero-title {
	margin: 0;
	font-family: var(--fontedestaque);
	font-size: clamp(3.6rem, 2.4vw, 2.4rem);
	line-height: 1.6;
	letter-spacing: -0.01em;
	color: var(--text-color);
}

.hero-sub {
	margin: 0;
	font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, Arial,
		sans-serif;
	font-size: clamp(1.98rem, 1.4vw, 1.05rem);
	line-height: 1.25;
	color: rgba(74, 60, 42, 0.9);
	max-width: 55ch;
}

.hero-cta {
	display: flex;
	justify-content: flex-start;
}

.cta-button {
	align-items: center;
	text-align: center;
	margin-top: 6rem;
	max-width: 46rem;
	text-decoration: none;
	color: #fff;
	font-weight: 100;
	padding: 1.8rem 8rem;
	border-radius: 28px;
	background: linear-gradient(
		90deg,
		var(--btn-gradient-start),
		var(--btn-gradient-end)
	);
	box-shadow: 0 8px 20px rgba(16, 24, 40, 0.08);
	transition: transform 0.16s ease, box-shadow 0.16s ease, opacity 0.16s;
	font-size: 2.6rem;
}

.section_imagem2_clinica > a:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(16, 24, 40, 0.12);
	opacity: 0.98;
}

.trust-bar {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-top: 3rem;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	color: var(--muted);
}

.trust-item {
	display: flex;
	gap: 10px;
	align-items: center;
	min-width: 180px;
}
.stars {
	color: #f59e0b;
	font-weight: 700;
	letter-spacing: 0.6px;
}
.icon {
	width: 20px;
	height: 20px;
	fill: currentColor;
	color: var(--accent);
	flex: 0 0 20px;
}
.icon-cert {
	color: #0f172a;
} /* ajuste visual */
.icon-experience {
	color: #d6336c;
} /* destaque rosa */
.icon-shield {
	color: #10b981;
} /* verde suave */
.trust-text {
	color: var(--muted);
	line-height: 1.1;
}
.trust-text strong {
	color: #0f172a;
	font-weight: 700;
}

/* coluna de imagem */
.section_imagem3_clinica {
	display: flex;
	align-items: center;
	justify-content: center;
}

.section_imagem3_clinica img.responsive-img {
	max-width: 35rem;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(16, 24, 40, 0.06);
	object-fit: cover;
}

/* mobile/tablet: empilha as colunas, ajusta espaçamentos e padding */

@media (max-width: 640px) {
	.trust-item {
		min-width: unset;
	}
}

@media (max-width: 420px) {
	.section_inicial_clinica {
		padding: 1.8rem 0.8rem;
		min-height: 40vh;
	}
	.section_imagem2_clinica > a {
		padding: 10px 16px;
	}
}

/* Sobre nós / Diferenciais */
.section-about {
	display: flex;
	justify-content: center;
	padding: 14rem 0rem;
	overflow: hidden;
}
.about-grid {
	display: flex;
	padding: 0 6rem;
	gap: 10rem;
	width: 100%;
	max-width: 1200px;
	align-items: center;
	justify-content: space-between;
}
.about-left {
	display: flex;
	justify-content: center;
}
.about-image {
	width: 100%;
	border-radius: 14px;
	object-fit: cover;
	box-shadow: 0 12px 40px rgba(2, 6, 23, 0.06);
	max-width: 500px;
}
figure {
	margin: 0 auto;
	text-align: center;
}

figure img {
	width: 100%;
	border-radius: 12px;
}

figure figcaption {
	margin-top: 8px;
	font-size: 1.9rem;
	color: #5c4a3d;
	font-style: italic;
}

/* Conteúdo direita */
.about-right {
	max-width: 600px;
	display: flex;
	flex-direction: column;
	gap: 2.6rem;
}
.about-right .section-title {
	margin-top: 0;
	margin-bottom: 8px;
	font-size: 2.35rem;
}
.about-right .section-sub {
	color: var(--muted);
	margin-bottom: 18px;
	line-height: 1.45;
	font-size: 1.8rem;
}

/* Cards grid */
.about-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.4rem;
	margin: 6px 0 18px;
}
.about-card {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
	background: white;
	padding: 12px;
	border-radius: 12px;
	border: 1px solid rgba(15, 23, 42, 0.04);
	box-shadow: 0 8px 24px rgba(2, 6, 23, 0.04);
}
.about-icon {
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(
		180deg,
		rgba(214, 51, 108, 0.08),
		rgba(214, 51, 108, 0.04)
	);
}
.about-icon .icon {
	width: 20px;
	height: 20px;
	color: var(--accent);
	fill: currentColor;
}
.about-title {
	font-weight: 700;
	color: var(--corpreto);
	font-size: 2rem;
}
.about-desc {
	color: var(--muted);
	font-size: 1.6rem;
	margin-top: 4px;
}

/* CTA dentro da seção */
.about-cta {
	margin-top: 6px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

/* Responsividade */

@media (max-width: 640px) {
	.about-cards {
		grid-template-columns: 1fr;
	}
	.about-icon {
		width: 40px;
		height: 40px;
	}
	.about-image {
		border-radius: 12px;
		min-height: 200px;
		object-position: center;
	}
}

/* Serviços / Tratamentos */
/* --- Seção Principal --- */
.section-services {
	display: flex;
	flex-direction: column;
	width: auto;
	min-height: 60vh;
	position: relative;
	padding: 10rem 5.6rem; /* Ajustei levemente para não ficar gigante, mas pode voltar para 18rem se preferir */
	overflow: hidden;
	background-color: var(--bg-fallback);
	background-image: linear-gradient(
		135deg,
		var(--corbege) 10%,
		var(--corareia) 40%,
		var(--cormarron) 100%
	);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.site-container {
	max-width: 1200px; /* Limita a largura para não esticar demais em telas gigantes */
	margin: 0 auto;
	width: 100%;
}

/* --- Cabeçalho da Seção --- */
.section-header {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-bottom: 4rem; /* Espaço entre título e cards */
}

.section-title {
	margin-top: 0;
	margin-bottom: 8px;
	font-size: 3.35rem;
	color: var(--cormarron);
	line-height: 3.4rem;
}

.section-sub {
	color: var(--muted);
	margin-bottom: 18px;
	line-height: 2.45;
	font-size: 2.2rem;
}

/* --- GRID DO LAYOUT (A Mágica acontece aqui) --- */

.services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	align-items: stretch;
}

/* Quando a tela for maior que 992px (Desktop/Laptop), vira 3 colunas */
@media (min-width: 992px) {
	.services-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* --- Estilo dos Cards --- */
.service-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: #fff;
	border-radius: 12px;
	border: 1px solid rgba(15, 23, 42, 0.04);
	box-shadow: 0 12px 40px rgba(2, 6, 23, 0.04);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	height: 100%; /* Garante que todos tenham a mesma altura visual */
}

.service-card:hover {
	box-shadow: 0 20px 50px rgba(2, 6, 23, 0.08);
	transform: translateY(-5px);
}

.service-body {
	padding: 2.4rem; /* Um pouco mais de respiro interno */
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	flex-grow: 1;
}

.service-title {
	margin: 0;
	padding: 0;
	font-size: 2rem;
	font-weight: 700;
	color: var(--cormarron);
}

.service-meta {
	flex-grow: 1;
	margin: 0;
	color: var(--muted);
	font-size: 1.6rem; /* Ajuste fino para caber melhor nas colunas */
	line-height: 1.5;
}

/* --- Botões e Rodapé do Card --- */
.service-footer {
	margin-top: auto; /* Empurra o botão para o fundo do card */
	display: flex;
	justify-content: flex-start; /* Alinhado à esquerda fica mais moderno, ou use center */
}

.btn-sm {
	padding: 10px 20px;
	border-radius: 10px;
	text-decoration: none;
	font-size: 1.6rem;
	display: inline-block;
	text-align: center;
	transition: all 0.2s ease;
}

.btn-primary.btn-sm {
	background: var(--cormarron);
	color: var(--corbranco);
	box-shadow: 0 8px 22px rgba(214, 51, 108, 0.12);
}

.btn-primary.btn-sm:hover {
	background: var(--corareia);
	color: var(--cormarron);
	transform: translateY(-2px);
}

/* --- Botão "Ver todos" --- */
.tratamentos-cta {
	display: flex;
	justify-content: center;
	padding-top: 6rem;
}

/* PROVA SOCIAL / DEPOIMENTOS */
.testimonials-section {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 10rem;
	justify-content: center;
	align-items: center;
	padding: 14rem 6rem;
}

#depoimentos {
	max-width: 1200px;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 3rem;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.review-summary {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	align-items: center;
	margin-bottom: 2rem;
	color: var(--muted);
}
.review-score {
	display: flex;
	align-items: center;
	gap: 8px;
}
.review-stars {
	color: #f59e0b;
	font-weight: 700;
	font-size: 2.2rem;
	letter-spacing: 0.6px;
}
.review-number {
	font-weight: 700;
	font-size: 2.2rem;
	color: var(--corpreto);
}
.review-badge {
	background: rgba(15, 23, 42, 0.04);
	padding: 6px 10px;
	font-size: 2.8rem;
	border-radius: 12px;
	font-weight: 700;
}

/* Slider (CSS-only) */
.testimonials-slider {
	position: relative;
	margin-bottom: 22px;
}

#review-summary {
	font-size: 3.2rem;
	line-height: 8.4rem;
}

/* Track: contains slides horizontally */
.ts-track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 100%;
	gap: 18px;
	overflow-x: auto;
}

/* Each item */
.ts-item {
	scroll-snap-align: var(--btn-gradient-start);
	min-width: 100%;
	box-sizing: border-box;
	padding: 20px;
	background: linear-gradient(180deg, var(--cormarron), #fff);
	border-radius: 12px;
	border: 1px solid rgba(15, 23, 42, 0.04);
	box-shadow: 0 12px 36px rgba(2, 6, 23, 0.04);
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

/* Quote */
.ts-quote {
	margin: 0;
	font-size: 1rem;
	color: var(--corpreto);
	line-height: 1.45;
	font-style: normal;
}

/* Meta */
.ts-meta {
	font-size: 16rem;
	display: flex;
	gap: 12px;
	align-items: center;
	margin-top: auto;
}
.testimonial-avatar {
	width: 56px;
	height: 56px;
	border-radius: 999px;
	object-fit: cover;
}

/* Controls (dots) */
.ts-controls {
	display: flex;
	gap: 8px;
	justify-content: center;
	margin-top: 12px;
}
.ts-dot {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(2, 6, 23, 0.12);
	display: inline-block;
	cursor: pointer;
}

/* Grid of testimonials for desktop */
.testimonials-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
	align-items: stretch;
}
.testimonial-card {
	padding: 18px;
	background: var(--corareia);
	border-radius: 12px;
	border: 1px solid rgba(15, 23, 42, 0.04);
	box-shadow: 0 10px 30px rgba(2, 6, 23, 0.04);
	display: flex;
	flex-direction: column;
	gap: 3.8rem;
	background-image: linear-gradient(
		135deg,
		var(--corbege) 10%,
		var(--corbege) 40%,
		var(--corareia) 100%
	);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 100%;
}

.testimonial-text {
	flex-grow: 1;
	margin: 0;
	font-family: var(--fontedestaque);
	font-size: 2rem;
	color: var(--cormarron);
	line-height: 1.4;
}

.testimonial-name {
	font-family: var(--fontedestaque);
	font-weight: 700;
	font-size: 1.8rem;
	color: var(--cormarron);
}

.testimonial-role {
	font-size: 1.8rem;
	margin-top: auto;
}

.testimonial-author {
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	align-content: center;
	margin-top: auto;
	place-items: center;
}

.testimonial-author img {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center center;
}

/* CTA under testimonials */
.testimonials-cta {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 18px;
}

/* --- Agenda Rápida (atualizado com selected state) --- */
.agenda-section {
	padding: 10rem 0.2rem 15rem 0.2rem;
	overflow: hidden;
	background-color: var(--bg-fallback); /* fallback */

	/* degradê principal aplicado corretamente */
	background-image: linear-gradient(
		135deg,
		var(--corbege) 10%,
		var(--corareia) 100%,
		var(--cormarron) 40%
	);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.agenda-container {
	gap: 6rem;
	display: flex;
	max-width: 100%;
	margin: 0 auto;
	align-items: center;
	padding-left: 2rem;
	padding-right: 2rem;
}
.agenda-left {
	display: flex;
	flex-direction: column;
	max-width: 100%;
	min-width: 280px;
}
.agenda-right {
	display: flex;
	flex-direction: column;
	gap: 8rem;
	justify-content: center;
	align-items: center;
}
.agenda-right img {
	width: 100%;
	max-width: 550px;
	border-radius: 16px;
	object-fit: cover;
}

.agenda-left h2 {
	display: block;
	margin: 0 auto;
	font-size: 3rem;
	color: var(--corpreto);
	gap: 3rem;
	max-width: 100%;
}
.agenda-subtitle {
	margin-top: 26px;
	margin-bottom: 26px;
	align-items: center;
	color: var(--cormarron);
	font-size: 2rem;
	line-height: 1.8;
}

/* Service cards (buttons) */
/* Container que agrupa as linhas de botões */
.agenda-services-container {
	display: flex;
	flex-direction: column;
	gap: 1.5rem; /* Espaço entre os grupos de botões */
	width: 100%;
}

/* O Grid de cada grupo */
.agenda-services {
	display: grid;
	/* Cria colunas automáticas que têm no mínimo 200px de largura */
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1.2rem;
	width: 100%;
}

/* Estilo dos Botões (Cards) */
.service-card2 {
	/* Reseta estilos nativos de botão */
	appearance: none;
	border: none;
	outline: none;
	cursor: pointer;

	/* Layout interno do botão */
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;

	width: 100%;
	min-height: 6rem; /* Altura mínima para facilitar o toque */
	padding: 1.2rem 1.6rem;

	/* Visual */
	border: 1px solid #e6e9ee;
	border-radius: 12px;
	background: var(--corbege);
	color: var(--cormarron);
	box-shadow: 0 6px 20px rgba(2, 6, 23, 0.03);

	/* Tipografia */
	font-family: inherit; /* Herda a fonte padrão do site */
	font-size: 2rem; /* Ajustado para ficar legível. Se quiser maior, mude para 2.4rem */
	font-weight: 500;
	line-height: 1.2;

	transition: all 0.2s ease;
}

/* Estado Hover (Mouse em cima) */
.service-card2:hover,
.service-card2:focus {
	transform: translateY(-3px);
	background: var(--corbege); /* Ou use #fff para clarear */
	border-color: var(--corareia);
	color: var(--corpreto, #000); /* Garante contraste no hover */
	box-shadow: 0 10px 25px rgba(2, 6, 23, 0.08);
}

/* Estado Ativo (Clicado) */
.service-card2:active {
	transform: translateY(0);
	box-shadow: 0 2px 10px rgba(2, 6, 23, 0.05);
}

/* --- Ajustes para Celular --- */
@media (max-width: 600px) {
	.agenda-services {
		/* No celular, força 1 coluna para melhor leitura de textos longos */
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.service-card2 {
		font-size: 1.8rem; /* Fonte levemente menor no mobile */
		padding: 1.5rem; /* Área de toque maior */
	}
}
.service-card.selected {
	background: linear-gradient(90deg, var(--corbege), var(--corbege));
	border: 1px solid var(--cormarron);
	box-shadow: 0 10px 36px rgba(141, 127, 134, 0.1);
	color: var(--cormarron);
}

/* Form */
.agenda-form {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	margin-top: 26px;
}

.agenda-form label {
	font-weight: 600;
	font-size: 1.6rem;
	color: var(--corpreto);
}
.agenda-form input,
.agenda-form select,
.agenda-form textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid var(--corbege);
	font-size: 1.3rem;
	outline: none;
	background: var(--corbranco);
}

.agenda-form input:focus,
.agenda-form select:focus,
.agenda-form textarea:focus {
	box-shadow: 0 0 0 3px var(--corareia);
	border-color: var(--cormarron);
}
.form-check {
	display: flex;
	align-items: center;
	gap: 1.6rem; /* reduz drasticamente o risco */
	font-size: 1.9rem;
	color: var(--corareia);
	flex-wrap: wrap; /* permite quebrar linha */
	max-width: 100%;
}

.form-check a {
	word-break: break-word; /* evita texto longo estourar */
}
.btn-cta {
	width: 100%;
	max-width: 28rem; /* limite real e previsível */
	padding: 12px 18px;
	background: var(--corareia);
	color: var(--corbranco);
	border: none;
	border-radius: 12px;
	font-weight: 600;
	font-size: 2rem;
	cursor: pointer;
	transition: 0.15s;
}

.btn-cta:hover {
	background: var(--cormarron);
	transform: translateY(-2px);
}

.agenda-form .btn-cta {
	margin: 0 auto;
}

.bk-feedback {
	margin-top: 10px;
	font-size: 2rem;
	color: red;
}

/* Trust bar */
.agenda-trustbar {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-top: 30px;
	flex-wrap: wrap;
	font-size: 1.95rem;
	color: var(--cormarron);
	max-width: 100%;
}

.agenda-trustbar div {
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: 100%;
}

.agenda-trustbar div span {
	color: yellow;
}

/* Responsive */

/* SOBRE A CLÍNICA (CONFIANÇA) */
.about-trust-section {
	padding: 16rem 4rem;
	background: var(--corbege);
}
.about-trust-grid {
	display: flex;
	flex-direction: column;
	gap: 7rem;
	margin: 0 auto;
}

.about-trust-left {
	display: flex;
	gap: 6rem;
}

.about-trust-body {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
	width: 100%;
	max-width: 600px;
}

/* left */
.about-trust-left .lead {
	color: var(--muted);
	font-size: 2rem;
	line-height: 1.8;
}
.trust-features {
	list-style: none;
	padding: 0;
	margin: 0 0 12px;
	display: grid;
	gap: 1rem;
}
.trust-features li {
	background: linear-gradient(180deg, #fff, #fff);
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid rgba(15, 23, 42, 0.03);
	color: var(--corpreto);
	font-size: 1.8rem;
	box-shadow: 0 8px 24px rgba(2, 6, 23, 0.03);
}

/* certificates */
.certificates {
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 4rem;
	width: 100%;
}
.cert-title {
	font-weight: 999;
	font-size: 2.5rem;
	color: var(--cormarron);
	margin-bottom: 6px;
}
.cert-list {
	display: flex;
	gap: 10rem;
	align-items: center;
}
.cert {
	width: 84px;
	height: auto;
	object-fit: contain;
	filter: grayscale(0.02);
	border-radius: 6px;
	background: transparent;
	padding: 6px;
}

/* right (profile card + process) */
.about-trust-right {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.profile-card {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	background: linear-gradient(180deg, #fff, #fff);
	padding: 12px;
	border-radius: 14px;
	border: 1px solid rgba(15, 23, 42, 0.04);
	box-shadow: 0 12px 36px rgba(2, 6, 23, 0.04);
}
.profile-photo {
	width: 110px;
	height: 110px;
	border-radius: 12px;
	object-fit: cover;
	flex: 0 0 110px;
}
.profile-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.profile-name {
	font-weight: 700;
	color: var(--corpreto);
	font-size: 1.6rem;
}
.profile-role {
	color: var(--cormarron);
	font-size: 1.6rem;
}
.profile-desc {
	color: var(--cormarron);
	margin: 4px 0 0;
	font-size: 1.6rem;
}

/* stats */
.profile-stats {
	display: grid;
	gap: 6px;
	margin-top: 8px;
	grid-template-columns: 1fr;
	font-size: 1.6rem;
	color: var(--cormarron);
}
.profile-stats dt {
	font-weight: 700;
	color: var(--corpreto);
}
.profile-stats dd {
	margin: 0 0 8px 0;
}

/* process / timeline */
.process-title {
	margin: 0;
	font-size: 2rem;
	font-weight: 700;
	color: var(--corpreto);
}
.process-list {
	margin: 8px 0 0 0;
	padding: 0 0 0 18px;
	color: var(--cormarron);
}
.process-list li {
	margin-bottom: 8px;
	font-size: 1.8rem;
	line-height: 1.4;
}

.about-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 18px;
	width: 100%;
}

/* small screens */
@media (min-width: 900px) {
	.about-trust-grid {
		grid-template-columns: 1fr 420px;
	}
}
@media (max-width: 899px) {
	.cert-list {
		gap: 8px;
		flex-wrap: wrap;
	}
	.profile-card {
		align-items: start;
	}
	.profile-photo {
		width: 96px;
		height: 96px;
		border-radius: 10px;
	}
}
/* OFFER: Primeira avaliação gratuita */
.offer-free {
	padding: 26px 20px;
	background: linear-gradient(90deg, var(--corareia), var(--cormarron));
	box-shadow: 0 16px 50px rgba(248, 219, 174, 0.774);
}
.offer-inner {
	display: flex;
	gap: 3rem;
	align-items: center;
	margin: 8rem 0;
}
.offer-left {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3.6rem;
}
.offer-right {
	flex: 0 0 280px;
	display: flex;
	justify-content: center;
}
.offer-right img {
	width: 100%;
	max-width: 280px;
	border-radius: 12px;
	object-fit: cover;
	box-shadow: 0 10px 30px rgba(2, 6, 23, 0.06);
}

.offer-title {
	font-size: 3.2rem;
	margin: 0 0 6px;
	color: var(--corbranco);
	line-height: 3.2rem;
	text-align: center;
}
.offer-sub {
	margin: 0 0 12px;
	color: var(--corbranco);
	font-size: 2.8rem;
	line-height: 1.45;
	text-align: center;
}
.offer-ctas {
	display: flex;
	align-items: center;
	gap: 1.6rem;
	margin-bottom: 8px;
	color: var(--cormarron);
}
.offer-note {
	color: var(--corbranco);
	font-size: 1.9rem;
	margin-top: 16px;
}

/* Modal (re-using modal patterns) */
.offer-modal {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	background: var(--cormarron);
	z-index: 220;
}
.offer-modal[aria-hidden='false'] {
	display: flex;
}
.modal-panel {
	background: var(--corbranco);
	padding: 100px 5px 0 5px;
	border-radius: 2px;
	width: 100%;
	max-width: 620px;
	max-height: 900px;
	box-shadow: 0 20px 60px var(--corpreto);
	position: relative;
	border: 1px solid rgba(15, 23, 42, 0.04);
}
.modal-close {
	position: absolute;
	right: 12px;
	top: 12px;
	border: 0;
	background: transparent;
	font-size: 1.3rem;
	cursor: pointer;
	color: var(--corareia);
}

.form-vertical label {
	display: block;
	margin: 10px 0;
	font-weight: 600;
	color: var(--corpreto);
}
.form-vertical input,
.form-vertical select {
	width: 100%;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid #e6e9ee;
	font-size: 1.2rem;
}
.form-check {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-top: 6px;
	color: var(--cormarron);
	font-size: 1.3rem;
}

#freeConsent {
	width: auto;
}
.form-actions {
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}
.offer-result {
	margin-top: 10px;
	padding: 10px;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid rgba(15, 23, 42, 0.04);
	color: var(--muted);
}

/* Buttons */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: 12px;
	cursor: pointer;
	font-weight: 700;
	font-family: sans-serif;
}
.btn-primary {
	padding: 11px 14px;
	background: var(--corbranco);
	color: var(--cormarron);
	font-size: 1.6rem;
	border: 0;
}
.btn-primary:hover {
	background: var(--cormarron);
	color: var(--corbranco);
}
.btn-ghost {
	text-decoration: none;
	background: var(--corbranco);
	color: var(--cormarron);
	font-size: 1.6rem;
	border: 0;
}

.btn-ghost:hover {
	background: var(--cormarron);
	color: var(--corbranco);
}

/* Responsive */
@media (max-width: 900px) {
	.offer-inner {
		flex-direction: column;
		align-items: stretch;
	}
	.offer-right {
		order: -1;
	}
}

/* --- Blog / Conteúdo educativo (cards) --- */
.blog-section {
	overflow: hidden;
	display: flex;
	background-color: var(--bg-fallback); /* fallback */

	/* degradê principal aplicado corretamente */
	background-image: linear-gradient(
		135deg,
		var(--corbege) 10%,
		var(--corbege) 40%,
		var(--corareia) 100%
	);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 18rem 8rem;
}
.blog-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin-top: 18px;
}

/* Post card */
.post-card {
	display: flex;
	flex-direction: column;
	background: var(--corbranco);
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, 0.04);
	box-shadow: 0 12px 36px rgba(2, 6, 23, 0.04);
}

time {
	font-size: 1.8rem;
	color: var(--muted);
	font-weight: 700;
}
.post-media {
	display: block;
	width: 100%;
	height: 180px;
	background: var(--corbege);
	overflow: hidden;
}
.post-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.post-card:hover .post-media img {
	transform: scale(1.03);
}

.post-body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.post-meta {
	color: var(--muted);
	font-size: 1.6rem;
	display: flex;
	gap: 8px;
	align-items: center;
}
.post-category {
	background: rgba(15, 23, 42, 0.04);
	padding: 4px 8px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 1.6rem;
	color: var(--corpreto);
}
.post-title {
	margin: 0;
	font-size: 2rem;
	color: var(--cormarron);
}
.post-title a {
	color: inherit;
	text-decoration: none;
}
.post-excerpt {
	margin: 0;
	color: var(--muted);
	line-height: 1.45;
	font-size: 1.6rem;
}
.post-cta {
	margin-top: auto;
	text-decoration: none;
	font-weight: 700;
	color: var(--accent);
}

/* footer */
.blog-footer .btn {
	border-radius: 12px;
	padding: 10px 16px;
	font-size: 1.8rem;
	background: var(--cormarron);
	color: var(--corbranco);
	box-shadow: 0 8px 22px rgba(214, 51, 108, 0.12);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	text-decoration: none;
	&:hover {
		transform: translateY(-2px);
	}
	box-shadow: 0 12px 28px rgba(214, 51, 108, 0.16);
}

/* responsive grid */
@media (min-width: 900px) {
	.blog-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 22px;
	}
	.post-media {
		height: 160px;
	}
}
@media (max-width: 899px) {
	.post-media {
		height: 200px;
	}
}
/* --- FAQ / Perguntas Frequentes --- */
.faq-section {
	padding: 18rem 20px;
	background: var(--cormarron);
	background-image: linear-gradient(
		135deg,
		var(--corbege) 10%,
		var(--corareia) 40%,
		var(--cormarron) 100%
	);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.containerfaq {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.faq-grid {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 18px;
}

/* details/summary styling */
.faq-item {
	background: white;
	border: 1px solid rgba(15, 23, 42, 0.04);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(2, 6, 23, 0.04);
}
.faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	cursor: pointer;
	font-size: 2rem;
	color: var(--corpreto);
	list-style: none;
}
.faq-question::after {
	content: '▸';
	transform: rotate(0deg);
	transition: transform 0.18s ease;
	color: var(--cormarron);
	font-size: 2rem;
}
.faq-item[open] .faq-question::after {
	transform: rotate(90deg);
}

/* answer area */
.faq-answer {
	padding: 12px 16px 18px 16px;
	color: var(--cormarron);
	line-height: 1.5;
	font-size: 1.6rem;
}
.faq-answer ul {
	margin: 8px 0 0 18px;
}
.small-muted {
	color: var(--cormarron);
	font-size: 1.8rem;
	margin-top: 8px;
}

/* CTA area */
.faq-section .btn {
	text-decoration: none;
	background: var(--corbege);
	border-radius: 12px;
	padding: 10px 16px;
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--cormarron);
	box-shadow: 0 8px 22px rgba(141, 127, 134, 0.12);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	&:hover {
		transform: translateY(-2px);
		box-shadow: 0 12px 28px rgba(141, 127, 134, 0.16);
	}
}

/* accessibility focus */
.faq-question:focus {
	outline: none;
	box-shadow: var(--focus-ring);
	border-radius: 8px;
}
.faq-cta {
	display: flex;
	margin-top: 2rem;
	justify-content: center;
	gap: 1.6rem;
}
.faq-cta-button {
	display: flex;
	font-size: 2.2rem;
	line-height: 2.3rem;
	align-items: center;
	text-align: center;
	margin-top: 6rem;
	max-width: 40rem;
	text-decoration: none;
	color: var(--corbranco);
	font-weight: 300;
	padding: 1.8rem 8rem;
	border-radius: 28px;
	background: linear-gradient(
		90deg,
		var(--btn-gradient-start),
		var(--btn-gradient-end)
	);
	box-shadow: 0 8px 20px rgba(16, 24, 40, 0.08);
	transition: transform 0.16s ease, box-shadow 0.16s ease, opacity 0.16s;
}

/* responsive */
@media (min-width: 900px) {
	.faq-grid {
		gap: 16px;
	}
}
