/*
 * Coletivo Flip — LP.
 * Medidas em px do Figma multiplicadas por --px (specs/design.md §2):
 *   desktop (>= 1200px): 1 px do Figma = min(1px, 100cqw / 1366)  — 1:1 a partir de 1366px
 *   mobile  (<  1200px): 1 px do Figma = min(100cqw, 540px) / 402
 * Cores e fontes: custom properties em :root (Personalizar, inc/assets.php); padrões abaixo.
 */

/* ---------- Fontes (arquivos do cliente, servidos pelo site) ---------- */
@font-face { font-family: "Guton"; src: url(../fonts/Guton-Regular.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Guton"; src: url(../fonts/Guton-SemiBold.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Guton"; src: url(../fonts/Guton-Bold.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Guton"; src: url(../fonts/Guton-ExtraBold.woff2) format("woff2"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "JUST Sans"; src: url(../fonts/JUSTSans-Lt.woff2) format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "JUST Sans"; src: url(../fonts/JUSTSans-Rg.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "JUST Sans"; src: url(../fonts/JUSTSans-Bd.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

/* ---------- Tokens ---------- */
:root {
	--cf-primary: #00ff89;
	--cf-secondary: #8000ff;
	--cf-text: #0d0d0d;
	--cf-bg: #fafafa;
	--cf-gray: #323232;
	--cf-border: #e7e7e7;
	--cf-cta-text: #161b1e;
	--cf-font-title: "Guton", "Helvetica Neue", Arial, sans-serif;
	--cf-font-body: "JUST Sans", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
	margin: 0;
	background: var(--cf-bg);
	color: var(--cf-text);
	font-family: var(--cf-font-body);
	font-weight: 300;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-kerning: normal;
}
img, svg { display: block; max-width: none; }
img { height: auto; }
a { color: inherit; }
h1, h2, h3, p, ul, ol, figure, blockquote, fieldset, legend { margin: 0; padding: 0; }
ul, ol { list-style: none; }
fieldset { border: 0; min-width: 0; }
button, input { font: inherit; color: inherit; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.cf-skip:focus {
	clip: auto; clip-path: none;
	width: auto; height: auto;
	top: 8px; left: 8px;
	z-index: 100;
	padding: 10px 16px;
	background: var(--cf-bg);
	color: var(--cf-text);
	font-weight: 700;
}
:focus-visible { outline: 3px solid var(--cf-secondary); outline-offset: 3px; }

/* Cores dos SVG decorativos (tools/build-assets.js). */
.cf-f-primary { fill: var(--cf-primary); }
.cf-f-secondary { fill: var(--cf-secondary); }
.cf-f-text { fill: var(--cf-text); }
.cf-f-bg { fill: var(--cf-bg); }
.cf-f-gray { fill: var(--cf-gray); }
.cf-f-border { fill: var(--cf-border); }
.cf-s-primary { stroke: var(--cf-primary); }
.cf-s-secondary { stroke: var(--cf-secondary); }
.cf-s-text { stroke: var(--cf-text); }
.cf-s-border { stroke: var(--cf-border); }

/* ---------- Unidade e containers ---------- */
.cf-lp, .cf-footer, .cf-page, .cf-obg { container-type: inline-size; }
.cf-lp { overflow-x: clip; }
.cf-u { --px: min(1px, 100cqw / 1366); }
@media (max-width: 1199.98px) {
	.cf-u { --px: calc(min(100cqw, 540px) / 402); }
	.cf-d, .cf-d-flex { display: none !important; }
}
@media (min-width: 1200px) {
	.cf-m { display: none !important; }
}

.cf-sec {
	position: relative;
	overflow-x: clip;
	background: var(--cf-bg);
	color: var(--cf-text);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.cf-dark { background: var(--cf-text); color: var(--cf-bg); }

/* ---------- Tipografia (estilos do Figma) ---------- */
.cf-h1, .cf-h2, .cf-h4 {
	font-family: var(--cf-font-title);
	font-weight: 800;
	line-height: 0.9;
	letter-spacing: -0.05em;
	text-transform: uppercase;
}
.cf-h1 { font-size: calc(var(--px) * 80); }
.cf-h2 { font-size: calc(var(--px) * 64); }
.cf-h4 { font-size: calc(var(--px) * 34); }
.cf-h1 em, .cf-h2 em { font-style: normal; color: var(--cf-primary); }
.cf-t2 { font-family: var(--cf-font-title); font-weight: 400; font-size: calc(var(--px) * 24); line-height: 1.15; }
.cf-t { font-family: var(--cf-font-body); font-weight: 300; font-size: calc(var(--px) * 16); line-height: 1.6; }
.cf-t strong { font-weight: 700; }
.cf-t em { font-style: normal; }
@media (max-width: 1199.98px) {
	.cf-h1 { font-size: calc(var(--px) * 44); }
	.cf-h2 { font-size: calc(var(--px) * 32); }
	.cf-h4 { font-size: calc(var(--px) * 22); }
	.cf-t2 { font-size: calc(var(--px) * 18); }
}

/* ---------- Botão (componente "cta") ---------- */
.cf-cta {
	display: inline-flex;
	align-items: center;
	gap: calc(var(--px) * 60);
	padding: calc(var(--px) * 15) calc(var(--px) * 30);
	border: 0;
	border-radius: calc(var(--px) * 121);
	background: var(--cf-primary);
	color: var(--cf-cta-text);
	font-family: var(--cf-font-title);
	font-weight: 400;
	font-size: calc(var(--px) * 20);
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}
.cf-cta__icon svg { width: calc(var(--px) * 38); height: calc(var(--px) * 38); }
.cf-cta__icon--m { display: none; }
@media (max-width: 1199.98px) {
	.cf-cta { gap: calc(var(--px) * 20); padding: calc(var(--px) * 12) calc(var(--px) * 20); font-size: calc(var(--px) * 16); }
	.cf-cta__icon--d { display: none; }
	.cf-cta__icon--m { display: block; }
	.cf-cta__icon svg { width: calc(var(--px) * 31); height: calc(var(--px) * 31); }
}
/* Interação (ajustes 01): seta para a direita; no hover/foco, gira 45° no sentido anti-horário e o botão
   cresce um pouco. A volta também é suave (transição nos dois sentidos). */
.cf-cta { transition: transform 0.3s ease; }
.cf-cta__icon--d svg, .cf-cta__icon--m svg { transform: rotate(45deg); transition: transform 0.3s ease; }
@media (hover: hover) {
	.cf-cta:not(:disabled):hover { transform: scale(1.04); }
	.cf-cta:not(:disabled):hover .cf-cta__icon--d svg, .cf-cta:not(:disabled):hover .cf-cta__icon--m svg { transform: rotate(0deg); }
}
.cf-cta:not(:disabled):focus-visible { transform: scale(1.04); }
.cf-cta:not(:disabled):focus-visible .cf-cta__icon--d svg, .cf-cta:not(:disabled):focus-visible .cf-cta__icon--m svg { transform: rotate(0deg); }
@media (prefers-reduced-motion: reduce) {
	.cf-cta, .cf-cta__icon--d svg, .cf-cta__icon--m svg { transition: none; }
}

/* ---------- Faixa de logos (rolagem contínua) ---------- */
.cf-logos {
	width: 100%;
	height: calc(var(--px) * 126);
	margin: calc(var(--px) * -4) 0;
	overflow: hidden;
}
.cf-logos__track {
	display: flex;
	width: max-content;
	height: 100%;
	margin-left: calc(var(--px) * 40);
	animation: cf-marquee 45s linear infinite;
}
.cf-logos:hover .cf-logos__track, .cf-logos:focus-within .cf-logos__track { animation-play-state: paused; }
.cf-logos__list { display: flex; align-items: center; gap: calc(var(--px) * 56); padding-right: calc(var(--px) * 56); }
.cf-logos__item { flex: none; }
.cf-logos__img { height: calc(var(--px) * var(--h, 56)); width: auto; max-width: calc(var(--px) * 280); }
.cf-logos--dark .cf-logos__img { filter: brightness(0); }
.cf-logos--light .cf-logos__img { filter: brightness(0) invert(1); }
@keyframes cf-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.cf-logos__track { animation: none; margin-inline: auto; }
	.cf-logos__list[aria-hidden] { display: none; }
	.cf-logos { display: flex; justify-content: center; }
}
@media (max-width: 1199.98px) {
	.cf-logos { margin: calc(var(--px) * 7) 0 calc(var(--px) * -1); }
	.cf-logos__track { margin-left: calc(var(--px) * -799); }
}

/* ---------- Dobra 1 — Topo ---------- */
.cf-topo { padding: calc(var(--px) * 120) 0; gap: calc(var(--px) * 80); }
.cf-topo__in { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 80); }
.cf-topo__logo { display: block; color: var(--cf-text); }
.cf-topo__logo__img { width: calc(var(--px) * 216); height: calc(var(--px) * 57); }
img.cf-topo__logo__img { object-fit: contain; }
.cf-topo__texto { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 40); text-align: center; }
.cf-topo__title { width: calc(var(--px) * 1250); }
.cf-topo__title em { color: var(--cf-secondary); }
.cf-topo__lead { width: calc(var(--px) * 1070); }
@media (max-width: 1199.98px) {
	.cf-topo { padding: calc(var(--px) * 60) 0; gap: calc(var(--px) * 60); }
	.cf-topo__in { gap: calc(var(--px) * 40); }
	.cf-topo__logo__img { width: calc(var(--px) * 140); height: calc(var(--px) * 37); }
	.cf-topo__title { width: calc(var(--px) * 294); }
	.cf-topo__lead { width: calc(var(--px) * 312); }
}

/* ---------- Dobra 2 — Cenários ---------- */
.cf-cenarios { padding: calc(var(--px) * 120) 0 calc(var(--px) * 60); }
.cf-cenarios__title { width: calc(var(--px) * 874); text-align: center; }
.cf-cenarios__clip { display: flex; justify-content: center; width: 100%; margin-top: calc(var(--px) * 120); }
.cf-cenarios__list {
	flex: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: calc(var(--px) * 120);
	width: calc(var(--px) * 1072);
}
.cf-cenarios__item { width: calc(var(--px) * 265); text-align: center; }
.cf-cenarios__item::before {
	content: "";
	display: block;
	height: calc(var(--px) * 5);
	margin: calc(var(--px) * -5) 0 calc(var(--px) * 25);
	background: var(--cf-primary);
	transition: transform 0.3s ease;
}
/* Ajustes 01: no hover do card, o traço verde sobe 10 px e volta suavemente. */
@media (hover: hover) {
	.cf-cenarios__item:hover::before { transform: translateY(calc(var(--px) * -10)); }
}
@media (prefers-reduced-motion: reduce) {
	.cf-cenarios__item::before { transition: none; }
}
.cf-problema { position: relative; width: calc(var(--px) * 1316); height: calc(var(--px) * 584); flex: none; }
.cf-problema__card { position: absolute; left: calc(var(--px) * 123.41); top: calc(var(--px) * 138.67); width: calc(var(--px) * 1170.11); height: calc(var(--px) * 447.25); }
.cf-problema__img { position: absolute; left: 0; top: 0; width: calc(var(--px) * 767); height: calc(var(--px) * 586); }
.cf-problema__img img { width: 100%; height: 100%; object-fit: contain; }
.cf-problema__texto {
	position: absolute;
	left: calc(var(--px) * 767);
	top: calc(var(--px) * 220);
	width: calc(var(--px) * 354);
	display: flex;
	flex-direction: column;
	gap: calc(var(--px) * 40);
	color: var(--cf-text);
}
.cf-problema__texto .cf-t strong { line-height: 1.2; }
.cf-cenarios > .cf-cta { margin-top: calc(var(--px) * 80); }
@media (max-width: 1199.98px) {
	.cf-cenarios { padding: calc(var(--px) * 80) 0; }
	.cf-cenarios__title { width: calc(var(--px) * 290); }
	/* Os 6 cenários correm na horizontal (rolagem ao toque, uma coluna de 2 cards por vez, centrada). O respiro de
	   15 px em cima é do traço verde de cada card, que sobe no hover e seria cortado pelo overflow. */
	.cf-cenarios__clip {
		justify-content: flex-start;
		margin-top: calc(var(--px) * 45);
		padding: calc(var(--px) * 15) max(calc(var(--px) * 108), calc((100cqw - var(--px) * 186) / 2)) 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
		scrollbar-color: var(--cf-primary) transparent;
		-webkit-overflow-scrolling: touch;
	}
	.cf-cenarios__list { display: grid; grid-template-columns: repeat(3, calc(var(--px) * 186)); gap: calc(var(--px) * 60) calc(var(--px) * 80); width: max-content; margin: 0 auto; }
	.cf-cenarios__item { width: auto; scroll-snap-align: center; }
	.cf-problema { width: calc(var(--px) * 402); height: calc(var(--px) * 955); margin-top: calc(var(--px) * 80); }
	.cf-problema__card { left: calc(var(--px) * 15); top: calc(var(--px) * 159); width: calc(var(--px) * 379); height: calc(var(--px) * 796); }
	.cf-problema__img { width: calc(var(--px) * 402); height: calc(var(--px) * 446); }
	.cf-problema__texto { left: calc(var(--px) * 92); top: calc(var(--px) * 442); width: calc(var(--px) * 227); }
}

/* ---------- Dobra 3 — Método ---------- */
.cf-metodo { padding: calc(var(--px) * 60) 0; }
.cf-metodo__intro { display: flex; align-items: center; }
.cf-metodo__arte { flex: none; margin-right: calc(var(--px) * -134); }
.cf-metodo__arte svg.cf-d { width: calc(var(--px) * 537.59); height: calc(var(--px) * 421.28); }
.cf-metodo__texto {
	position: relative;
	width: calc(var(--px) * 423);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: calc(var(--px) * 40);
	text-align: right;
}
.cf-metodo__lead { width: calc(var(--px) * 405); }
.cf-metodo__lead strong { color: var(--cf-primary); }
.cf-etapas {
	position: relative;
	display: grid;
	grid-auto-rows: calc(var(--px) * 114);
	row-gap: calc(var(--px) * 90);
	width: calc(var(--px) * 786);
	margin-top: calc(var(--px) * 70);
}
.cf-etapas__item {
	position: relative;
	display: grid;
	grid-template-columns: calc(var(--px) * 69) 1fr;
	column-gap: calc(var(--px) * 86);
	align-items: center;
}
.cf-etapas__icon { position: relative; z-index: 1; width: calc(var(--px) * 69); height: calc(var(--px) * 69); }
.cf-etapas__item:not(:last-child)::after {
	content: "";
	position: absolute;
	left: calc(var(--px) * 32);
	top: 50%;
	width: calc(var(--px) * 5);
	height: calc(100% + var(--px) * 90);
	background: var(--cf-primary);
}
.cf-etapas__card { display: grid; grid-template-columns: 1fr calc(var(--px) * 192); align-items: center; }
.cf-etapas__title {
	font-family: var(--cf-font-title);
	font-weight: 400;
	font-size: calc(var(--px) * 64);
	line-height: 0.9;
	letter-spacing: -0.05em;
	padding-right: calc(var(--px) * 20);
}
@media (max-width: 1199.98px) {
	.cf-metodo { padding: 0 0 calc(var(--px) * 60); }
	.cf-metodo__intro { flex-direction: column; gap: calc(var(--px) * 22); }
	.cf-metodo__arte { order: 2; margin: 0; }
	.cf-metodo__arte svg.cf-m { width: calc(var(--px) * 444.09); height: calc(var(--px) * 348); }
	.cf-metodo__texto { width: calc(var(--px) * 368); min-height: calc(var(--px) * 248); justify-content: center; align-items: center; text-align: center; gap: calc(var(--px) * 20); }
	.cf-metodo__lead { width: 100%; }
	.cf-etapas { display: flex; flex-direction: column; gap: calc(var(--px) * 20); width: calc(var(--px) * 335); margin-top: 0; }
	.cf-etapas::before {
		content: "";
		position: absolute;
		left: calc(var(--px) * 166);
		top: calc(var(--px) * 25.3);
		bottom: 0;
		width: calc(var(--px) * 5);
		background: var(--cf-primary);
	}
	.cf-etapas__item { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 20.3); }
	.cf-etapas__item:not(:last-child)::after { content: none; }
	.cf-etapas__card {
		position: relative;
		display: flex;
		flex-direction: column;
		gap: calc(var(--px) * 15);
		width: 100%;
		padding: calc(var(--px) * 30);
		border-radius: calc(var(--px) * 13);
		background: var(--cf-bg);
		color: var(--cf-text);
		text-align: left;
	}
	.cf-etapas__title { font-size: calc(var(--px) * 32); padding: 0; }
}

/* ---------- Dobra 4 — Brand Thinking ---------- */
.cf-brand { padding: calc(var(--px) * 60) 0 calc(var(--px) * 120); }
.cf-brand__arte { position: relative; width: calc(var(--px) * 1225); min-height: calc(var(--px) * 475); padding: calc(var(--px) * 32) 0 0 calc(var(--px) * 24); }
.cf-brand__elipse { position: absolute; left: 0; top: 0; width: calc(var(--px) * 1225); height: calc(var(--px) * 475); }
.cf-brand__elipse.cf-d { transform: rotate(180deg); }
.cf-brand__title { position: relative; display: flex; flex-direction: column; gap: calc(var(--px) * 20); width: calc(var(--px) * 1177.74); }
.cf-brand__chamada { display: block; }
.cf-brand__nome img { width: calc(var(--px) * 1177.74); height: calc(var(--px) * 321.64); }
.cf-brand__texto { position: relative; width: calc(var(--px) * 979); margin-top: calc(var(--px) * -10.36); text-align: center; }
.cf-brand__texto strong { font-weight: 800; line-height: 1; }
.cf-brand > .cf-cta { margin-top: calc(var(--px) * 80); }
@media (max-width: 1199.98px) {
	.cf-brand { padding: calc(var(--px) * 30) 0 calc(var(--px) * 80); }
	.cf-brand__arte { width: calc(var(--px) * 402); min-height: calc(var(--px) * 374.11); padding: calc(var(--px) * 78) 0 0 calc(var(--px) * 28.57); }
	.cf-brand__elipse { left: calc(var(--px) * -8.58); width: calc(var(--px) * 419.15); height: calc(var(--px) * 374.11); }
	.cf-brand__title { width: calc(var(--px) * 344.85); gap: 0; }
	.cf-brand__chamada { width: calc(var(--px) * 244); min-height: calc(var(--px) * 51); }
	.cf-brand__nome img { width: calc(var(--px) * 344.85); height: calc(var(--px) * 211); }
	.cf-brand__texto { width: calc(var(--px) * 368); margin-top: calc(var(--px) * 15); }
	.cf-brand__texto strong { font-weight: 700; line-height: 1.15; }
}

/* ---------- Dobra 5 — Time e serviços ---------- */
.cf-servicos { padding-bottom: calc(var(--px) * 60); }
.cf-servicos__time { width: 100%; display: flex; flex-direction: column; align-items: center; overflow: hidden; }
.cf-servicos__time.cf-d img { width: max(100%, calc(var(--px) * 1920)); flex: none; }
.cf-servicos__faixa { position: relative; flex: none; width: calc(var(--px) * 1920); height: calc(var(--px) * 500); }
.cf-servicos__formas { position: absolute; left: 0; top: 0; width: calc(var(--px) * 3214); height: calc(var(--px) * 500); }
.cf-servicos__title { position: relative; width: calc(var(--px) * 507); margin: calc(var(--px) * 112) 0 0 calc(var(--px) * 526); text-align: right; }
.cf-servicos__lista { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 80); width: 100%; padding: calc(var(--px) * 80) 0; }
.cf-servico { display: flex; align-items: center; }
.cf-servico--1 { gap: calc(var(--px) * 128); }
.cf-servico--2, .cf-servico--3 { gap: calc(var(--px) * 92); width: calc(var(--px) * 1262); }
.cf-servico__head { display: flex; flex-direction: column; gap: calc(var(--px) * 15); }
.cf-servico--2 .cf-servico__head { width: calc(var(--px) * 466); }
.cf-servico--3 .cf-servico__head { width: calc(var(--px) * 458); gap: calc(var(--px) * 16); }
.cf-servico__title { font-family: var(--cf-font-title); font-weight: 400; font-size: calc(var(--px) * 64); line-height: 0.9; letter-spacing: -0.05em; text-transform: uppercase; }
.cf-servico--1 .cf-servico__title { font-weight: 800; white-space: nowrap; }
.cf-servico--2 .cf-servico__title { white-space: nowrap; }
.cf-servico__text { font-family: var(--cf-font-body); font-weight: 300; font-size: calc(var(--px) * 16); line-height: 1.6; }
.cf-servico--1 .cf-servico__text { font-weight: 700; line-height: 1.2; white-space: nowrap; }
.cf-servico--3 .cf-servico__text { white-space: nowrap; }
.cf-servico--1 .cf-tags { width: calc(var(--px) * 718); gap: calc(var(--px) * 15); }
.cf-servico--2 .cf-tags { width: calc(var(--px) * 626); }
.cf-servico--3 .cf-tags { width: calc(var(--px) * 656); }
.cf-servico--2 .cf-tag { border-color: var(--cf-secondary); }
.cf-servico--3 .cf-tag { border-color: var(--cf-gray); }
.cf-servicos__lista > .cf-cta { margin-top: 0; }

/* Tags (componente "tag_cases_interna"). */
.cf-tags { display: flex; flex-wrap: wrap; align-content: center; align-items: center; gap: calc(var(--px) * 14); flex: none; }
.cf-tag {
	padding: calc(var(--px) * 15);
	border-bottom: 1px solid var(--cf-primary);
	font-family: var(--cf-font-title);
	font-weight: 600;
	font-size: calc(var(--px) * 14);
	line-height: 1;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	white-space: nowrap;
}
@media (max-width: 1199.98px) {
	.cf-servicos { padding-bottom: 0; }
	.cf-servicos__time { background: var(--cf-text); }
	.cf-servicos__time img { width: calc(var(--px) * 402); }
	.cf-servicos__faixa { width: 100%; height: auto; padding: calc(var(--px) * 60) calc(var(--px) * 15); background: var(--cf-text); color: var(--cf-bg); display: flex; justify-content: center; }
	.cf-servicos__title { width: calc(var(--px) * 369); margin: 0; }
	.cf-servicos__lista { gap: calc(var(--px) * 60); padding: calc(var(--px) * 60) 0; }
	.cf-servico, .cf-servico--2, .cf-servico--3 { flex-direction: column; gap: calc(var(--px) * 30); width: 100%; }
	.cf-servico__head, .cf-servico--2 .cf-servico__head, .cf-servico--3 .cf-servico__head { align-items: center; text-align: center; }
	.cf-servico--1 .cf-servico__head { width: calc(var(--px) * 366); gap: 0; }
	.cf-servico--2 .cf-servico__head { width: calc(var(--px) * 290); gap: calc(var(--px) * 7); }
	.cf-servico--3 .cf-servico__head { width: calc(var(--px) * 312); gap: calc(var(--px) * 16); }
	.cf-servico__title { font-size: calc(var(--px) * 44); }
	.cf-servico--3 .cf-servico__title { width: 100%; }
	.cf-servico--1 .cf-servico__text { width: calc(var(--px) * 228); line-height: 1.6; white-space: normal; }
	.cf-servico--3 .cf-servico__text { white-space: normal; }
	/* Tags dos 3 serviços: as duas linhas passam da largura da tela e correm na horizontal (rolagem ao toque).
	   O auto das margens centra a lista quando cabe e vira rolagem a partir da esquerda quando não cabe. */
	.cf-tags-clip { display: flex; width: 100%; padding: 0 calc(var(--px) * 15); overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--cf-primary) transparent; -webkit-overflow-scrolling: touch; }
	.cf-tags-clip .cf-tags { margin: 0 auto; }
	.cf-servico--1 .cf-tags { width: calc(var(--px) * 768); gap: calc(var(--px) * 7); justify-content: center; }
}

/* ---------- Dobra 6 — Números ---------- */
.cf-numeros { padding: calc(var(--px) * 120) 0 calc(var(--px) * 60); gap: calc(var(--px) * 90); }
.cf-numeros__row { display: flex; align-items: center; gap: calc(var(--px) * 80); }
.cf-numero { display: flex; flex-direction: column; align-items: flex-start; gap: calc(var(--px) * 10); height: calc(var(--px) * 121); font-family: var(--cf-font-title); font-weight: 400; white-space: nowrap; }
.cf-numero::after { content: ""; align-self: stretch; height: calc(var(--px) * 5); margin-top: calc(var(--px) * 10); background: var(--cf-primary); }
.cf-numero__rotulo { font-size: calc(var(--px) * 24); line-height: 1.15; }
.cf-numero--2 .cf-numero__rotulo { line-height: 1; }
.cf-numero__valor { font-weight: 400; font-size: calc(var(--px) * 96); line-height: 0.63; color: var(--cf-primary); }
.cf-numeros__estrela { width: calc(var(--px) * 52); height: calc(var(--px) * 52); }
.cf-numeros__marcas { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 60); width: 100%; padding: calc(var(--px) * 60) 0; }
.cf-numeros__title { white-space: nowrap; text-align: center; }
.cf-numeros__marcas .cf-logos { margin: 0; }
@media (max-width: 1199.98px) {
	.cf-numeros { padding: calc(var(--px) * 80) 0 calc(var(--px) * 30); gap: calc(var(--px) * 30); }
	.cf-numeros__row { flex-direction: column; gap: calc(var(--px) * 30); }
	.cf-numero { gap: calc(var(--px) * 5); }
	.cf-numero::after { margin-top: calc(var(--px) * 5); }
	.cf-numero__rotulo, .cf-numero--2 .cf-numero__rotulo { font-size: calc(var(--px) * 18); line-height: 1.15; }
	.cf-numero__valor { font-size: calc(var(--px) * 80); line-height: 0.9; letter-spacing: -0.05em; }
	.cf-numeros__estrela { width: calc(var(--px) * 25); height: calc(var(--px) * 25); }
	.cf-numeros__marcas { gap: calc(var(--px) * 40); }
	.cf-numeros__title { width: calc(var(--px) * 273); white-space: normal; }
}

/* ---------- Dobra 7 — Cases ---------- */
.cf-cases { padding-top: calc(var(--px) * 60); }
.cf-cases__title { color: var(--cf-primary); white-space: nowrap; }
.cf-case { display: flex; flex-direction: column; align-items: center; width: 100%; padding-bottom: calc(var(--px) * 120); }
.cf-cases__title + .cf-case { margin-top: calc(var(--px) * 80); }
.cf-case + .cf-case { padding-top: calc(var(--px) * 60); }
.cf-case__head { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 60); }
.cf-case__logo img { width: calc(var(--px) * 120); height: auto; }
.cf-case__info { display: flex; align-items: center; gap: calc(var(--px) * 31); }
.cf-case__nome { display: flex; flex-direction: column; gap: calc(var(--px) * 9); width: calc(var(--px) * 236); text-transform: uppercase; }
.cf-case__cidade { font-family: var(--cf-font-body); font-weight: 400; font-size: calc(var(--px) * 16); line-height: 1.2; }
.cf-case__tags .cf-tags { width: calc(var(--px) * 615); gap: calc(var(--px) * 15); }
.cf-case__abertura { width: 100%; margin-top: calc(var(--px) * 80); display: flex; justify-content: center; overflow: hidden; }
.cf-case__abertura img { flex: none; width: max(100%, calc(var(--px) * 1920)); }
.cf-case__card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--px) * 1269);
	height: calc(var(--px) * 409);
	margin-top: calc(var(--px) * var(--cf-sobe, 210) * -1);
	color: var(--cf-text);
}
.cf-case__card-bg { position: absolute; inset: 0; width: 100%; height: 100%; }
.cf-case__blocos { position: relative; display: flex; align-items: center; gap: calc(var(--px) * 60); }
.cf-case__blocos .cf-t { width: calc(var(--px) * 240); text-align: center; }
.cf-case__resultado { display: flex; align-items: center; gap: calc(var(--px) * 120); margin-top: calc(var(--px) * 105); }
.cf-case__destaque { width: calc(var(--px) * var(--cf-dw, 660)); }
.cf-case__depo { display: flex; flex-direction: column; gap: calc(var(--px) * 20); width: calc(var(--px) * var(--cf-qw, 440)); }
.cf-case__autor { display: flex; flex-wrap: wrap; align-items: center; column-gap: calc(var(--px) * 26); white-space: nowrap; }
.cf-case__autor-nome { font-family: var(--cf-font-title); font-weight: 400; font-size: calc(var(--px) * 24); line-height: 1; color: var(--cf-primary); text-transform: capitalize; }
.cf-case__autor-empresa { font-family: var(--cf-font-body); font-weight: 300; font-size: calc(var(--px) * 16); line-height: 1.6; text-transform: uppercase; }
.cf-case__galeria { display: grid; grid-template-columns: calc(var(--px) * 633) calc(var(--px) * 632); margin-top: calc(var(--px) * 120); }
.cf-case__foto img { width: 100%; height: auto; }
.cf-case__foto--1 img, .cf-case__foto--2 img { border-radius: calc(var(--px) * 30); }
.cf-case__foto--3 { grid-column: 1 / -1; }
.cf-case__foto--3 img { border-radius: calc(var(--px) * 26); }
.cf-case__cta { margin-top: calc(var(--px) * 120); }
@media (max-width: 1199.98px) {
	/* Mobile: logo, nome, abertura, tags (ordem do Figma); textos sem o card. */
	.cf-cases { padding-top: calc(var(--px) * 80); }
	.cf-case { padding-bottom: 0; }
	.cf-case:has(> .cf-case__cta) { padding-bottom: calc(var(--px) * 80); }
	.cf-cases__title + .cf-case { margin-top: calc(var(--px) * 30); }
	.cf-case + .cf-case { padding-top: 0; }
	.cf-case__head, .cf-case__info { display: contents; }
	.cf-case__logo { order: 1; }
	.cf-case__nome { order: 2; width: calc(var(--px) * var(--cf-nwm, 236)); margin-top: calc(var(--px) * 30); align-items: center; text-align: center; }
	.cf-case__cidade { font-weight: 300; line-height: 1.6; }
	.cf-case__abertura { order: 3; height: calc(var(--px) * 400); margin-top: calc(var(--px) * 30); }
	.cf-case__abertura picture { display: contents; }
	.cf-case__abertura img { width: auto; height: 100%; }
	.cf-case__tags { order: 4; width: 100%; margin-top: calc(var(--px) * 60); }
	.cf-case__tags .cf-tags { justify-content: center; }
	.cf-case__card { order: 5; width: 100%; height: auto; margin-top: calc(var(--px) * 60); color: var(--cf-bg); }
	.cf-case__card-bg { display: none; }
	.cf-case__blocos { flex-direction: column; gap: calc(var(--px) * 60); }
	.cf-case__resultado { order: 6; flex-direction: column; align-items: center; gap: calc(var(--px) * 40); margin-top: calc(var(--px) * 60); }
	.cf-case__destaque { width: calc(var(--px) * var(--cf-dwm, 280)); }
	.cf-case__depo { width: calc(var(--px) * var(--cf-qwm, 290)); }
	.cf-case__autor { width: max-content; max-width: calc(var(--px) * 340); }
	.cf-case__autor-nome { font-size: calc(var(--px) * 18); line-height: 1.15; }
	.cf-case__galeria { order: 7; grid-template-columns: calc(var(--px) * 531); margin-top: calc(var(--px) * 60); }
	.cf-case__foto--3 { grid-column: auto; }
	.cf-case__cta { order: 8; margin-top: calc(var(--px) * 60); }
}

/* ---------- Dobra 8 — Como funciona + FAQ ---------- */
.cf-como { padding: calc(var(--px) * 120) 0; }
.cf-como__head { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 20); width: 100%; text-align: center; text-transform: uppercase; }
.cf-como__rotulo { font-family: var(--cf-font-body); font-weight: 700; font-size: calc(var(--px) * 16); line-height: 1.6; }
.cf-como__title { width: calc(var(--px) * 892); }
.cf-passos { position: relative; display: grid; grid-template-columns: repeat(4, calc(var(--px) * 193)); column-gap: calc(var(--px) * 22); margin-top: calc(var(--px) * 60); }
.cf-passos::before {
	content: "";
	position: absolute;
	left: calc(var(--px) * 96.5);
	right: calc(var(--px) * 96.5);
	top: calc(var(--px) * 32);
	height: calc(var(--px) * 5);
	background: var(--cf-primary);
}
.cf-passos__item { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 30); }
.cf-passos__icon { position: relative; width: calc(var(--px) * 69); height: calc(var(--px) * 69); }
.cf-passos__text { text-align: center; color: var(--cf-text); }
.cf-como > .cf-cta { margin-top: calc(var(--px) * 60); }
.cf-faq { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 60); margin-top: calc(var(--px) * 120); }
.cf-faq__title { width: calc(var(--px) * 892); text-align: center; color: var(--cf-secondary); }
.cf-faq__list { display: flex; flex-direction: column; gap: calc(var(--px) * 30); width: calc(var(--px) * 689); }
.cf-faq__q { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: calc(var(--px) * 8); padding-bottom: calc(var(--px) * 15); list-style: none; cursor: pointer; }
.cf-faq__q::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--px) * 5); background: var(--cf-primary); }
.cf-faq__q::-webkit-details-marker { display: none; }
.cf-faq__q .cf-t2 { flex: 1 1 auto; min-width: 0; }
.cf-faq__icon { flex: none; width: calc(var(--px) * 26); height: calc(var(--px) * 16.9); margin: 0 0 calc(var(--px) * 3) calc(var(--px) * 6); transform: rotate(180deg); transition: transform 0.35s ease; }
.cf-faq__item[open] .cf-faq__icon { transform: none; }
.cf-faq__a-in { padding-top: calc(var(--px) * 15); }
/* Ajustes 01: abertura/fechamento suave (altura animada pelo main.js; sem JS, abre na hora). */
.cf-faq__item.is-animating .cf-faq__a { overflow: hidden; transition: height 0.35s ease; }
.cf-faq__item.is-closing .cf-faq__icon { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .cf-faq__icon { transition: none; } }
@media (max-width: 1199.98px) {
	.cf-como { padding: calc(var(--px) * 60) 0; }
	.cf-como__title { width: calc(var(--px) * 402); }
	.cf-passos { display: flex; flex-direction: column; gap: calc(var(--px) * 30); width: calc(var(--px) * 292); min-height: calc(var(--px) * 719); padding-left: calc(var(--px) * 99); }
	.cf-passos::before { left: calc(var(--px) * 32); right: auto; top: calc(var(--px) * 40); width: calc(var(--px) * 5); height: calc(var(--px) * 658); }
	.cf-passos__item { display: block; }
	.cf-passos__icon { position: absolute; left: 0; }
	.cf-passos__item:nth-child(1) .cf-passos__icon { top: 0; }
	.cf-passos__item:nth-child(2) .cf-passos__icon { top: calc(var(--px) * 213); }
	.cf-passos__item:nth-child(3) .cf-passos__icon { top: calc(var(--px) * 427); }
	.cf-passos__item:nth-child(4) .cf-passos__icon { top: calc(var(--px) * 650); }
	.cf-passos__text { text-align: left; }
	.cf-passos__item:nth-child(1) .cf-passos__text { min-height: calc(var(--px) * 154); }
	.cf-passos__item:nth-child(2) .cf-passos__text { min-height: calc(var(--px) * 152); }
	.cf-passos__item:nth-child(3) .cf-passos__text { min-height: calc(var(--px) * 211); }
	.cf-passos__item:nth-child(4) .cf-passos__text { min-height: calc(var(--px) * 154); }
	.cf-faq { margin-top: calc(var(--px) * 60); width: calc(var(--px) * 368); }
	.cf-faq__title { width: calc(var(--px) * 314); font-size: calc(var(--px) * 32); }
	.cf-faq__list { width: calc(var(--px) * 314); }
}

/* ---------- Dobra 9 — Formulário ---------- */
.cf-form-sec { padding-bottom: calc(var(--px) * 120); }
.cf-form-sec__head { position: relative; flex: none; width: calc(var(--px) * 1920); height: calc(var(--px) * 495); margin-bottom: calc(var(--px) * -60); }
.cf-form-sec__formas { position: absolute; top: 0; }
.cf-form-sec__formas.cf-d { left: calc(var(--px) * -1084); width: calc(var(--px) * 3184); height: calc(var(--px) * 495); }
.cf-form-sec__texto { position: relative; display: flex; flex-direction: column; gap: calc(var(--px) * 30); width: calc(var(--px) * 460); margin: calc(var(--px) * 130) 0 0 calc(var(--px) * 574); }
.cf-form-sec__texto .cf-t { width: calc(var(--px) * 378); }
.cf-form { position: relative; display: flex; flex-direction: column; align-items: center; }
.cf-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cf-form__card {
	display: flex;
	flex-direction: column;
	gap: calc(var(--px) * 12);
	width: calc(var(--px) * 892);
	padding: calc(var(--px) * 60);
	border-radius: calc(var(--px) * 33);
	background: var(--cf-bg);
}
.cf-form__row { display: flex; gap: calc(var(--px) * 12); }
.cf-form__row .cf-field { flex: 1 1 0; min-width: 0; }
.cf-input {
	display: block;
	width: 100%;
	height: calc(var(--px) * 46);
	padding: 0 calc(var(--px) * 25);
	border: 1px solid var(--cf-border);
	border-radius: calc(var(--px) * 15);
	background: transparent;
	color: var(--cf-text);
	font-family: var(--cf-font-body);
	font-weight: 300;
	font-size: calc(var(--px) * 16);
	line-height: 1.6;
}
.cf-field--nome .cf-input { height: calc(var(--px) * 58); }
.cf-input::placeholder { color: var(--cf-text); opacity: 1; }
.cf-input:focus { outline: none; border-color: var(--cf-primary); }
.cf-input:focus-visible { outline: 2px solid var(--cf-primary); outline-offset: 0; }
.cf-input[aria-invalid="true"] { border-color: var(--cf-secondary); }
.cf-box {
	display: flex;
	flex-direction: column;
	gap: calc(var(--px) * 10);
	padding: calc(var(--px) * 15) calc(var(--px) * 25);
	border: 1px solid var(--cf-border);
	border-radius: calc(var(--px) * 9);
}
.cf-box__title { float: left; width: 100%; padding: 0; white-space: nowrap; font-family: var(--cf-font-body); font-weight: 700; font-size: calc(var(--px) * 16); line-height: 1.6; }
.cf-box__title + * { clear: both; }
.cf-faixa { gap: calc(var(--px) * 15); }
.cf-faixa__ui { position: relative; height: calc(var(--px) * 105); }
.cf-faixa__bolha {
	position: absolute;
	top: 0;
	left: calc(var(--px) * 13 + (100% - var(--px) * 26) * var(--cf-pos, 0.5));
	transform: translateX(calc(-50% + var(--cf-shift, 0px)));
	height: calc(var(--px) * 38);
	padding: 0 calc(var(--px) * 25);
	display: flex;
	align-items: center;
	border-radius: calc(var(--px) * 7);
	background: var(--cf-primary);
	color: var(--cf-text);
	font-family: var(--cf-font-body);
	font-weight: 300;
	font-size: calc(var(--px) * 16);
	line-height: 1.6;
	white-space: nowrap;
	pointer-events: none;
}
.cf-faixa__bolha::after {
	content: "";
	position: absolute;
	left: calc(50% - var(--cf-shift, 0px));
	top: 100%;
	transform: translateX(-50%);
	border-left: calc(var(--px) * 9.84) solid transparent;
	border-right: calc(var(--px) * 9.84) solid transparent;
	border-top: calc(var(--px) * 12.6) solid var(--cf-primary);
}
.cf-faixa__range {
	--cf-fill: calc(var(--px) * 13 + (100% - var(--px) * 26) * var(--cf-pos, 0.5));
	position: absolute;
	left: 0;
	right: 0;
	top: calc(var(--px) * 53);
	width: 100%;
	height: calc(var(--px) * 26);
	margin: 0;
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
.cf-faixa__range::-webkit-slider-runnable-track {
	height: calc(var(--px) * 8);
	border-radius: calc(var(--px) * 4);
	background: linear-gradient(to right, var(--cf-primary) 0 var(--cf-fill), var(--cf-border) var(--cf-fill) 100%);
}
.cf-faixa__range::-moz-range-track {
	height: calc(var(--px) * 8);
	border-radius: calc(var(--px) * 4);
	background: linear-gradient(to right, var(--cf-primary) 0 var(--cf-fill), var(--cf-border) var(--cf-fill) 100%);
}
.cf-faixa__range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: calc(var(--px) * 26);
	height: calc(var(--px) * 26);
	margin-top: calc(var(--px) * -9);
	border: 2px solid var(--cf-primary);
	border-radius: 50%;
	background: var(--cf-gray);
}
.cf-faixa__range::-moz-range-thumb {
	box-sizing: border-box;
	width: calc(var(--px) * 26);
	height: calc(var(--px) * 26);
	border: 2px solid var(--cf-primary);
	border-radius: 50%;
	background: var(--cf-gray);
}
.cf-faixa__range:focus { outline: none; }
.cf-faixa__range:focus-visible::-webkit-slider-thumb { outline: 3px solid var(--cf-secondary); outline-offset: 2px; }
.cf-faixa__range:focus-visible::-moz-range-thumb { outline: 3px solid var(--cf-secondary); outline-offset: 2px; }
.cf-faixa__min, .cf-faixa__max { position: absolute; top: calc(var(--px) * 79); font-family: var(--cf-font-body); font-weight: 300; font-size: calc(var(--px) * 16); line-height: 1.6; }
.cf-faixa__min { left: 0; }
.cf-faixa__max { right: 0; }
.cf-check { position: relative; display: flex; align-items: center; gap: calc(var(--px) * 10); cursor: pointer; }
.cf-check input { position: absolute; left: 0; top: 50%; width: 1px; height: 1px; opacity: 0; margin: 0; }
.cf-check__box { position: relative; flex: none; width: calc(var(--px) * 16); height: calc(var(--px) * 16); border: 1px solid var(--cf-border); border-radius: calc(var(--px) * 3); }
.cf-check__box svg { position: absolute; left: calc(var(--px) * -2); top: calc(var(--px) * -2); width: calc(var(--px) * 18); height: calc(var(--px) * 18); opacity: 0; }
.cf-check input:checked + .cf-check__box { border-color: transparent; }
.cf-check input:checked + .cf-check__box svg { opacity: 1; }
.cf-check input:focus-visible + .cf-check__box { outline: 3px solid var(--cf-secondary); outline-offset: 2px; }
.cf-check input[aria-invalid="true"] + .cf-check__box { border-color: var(--cf-secondary); }
.cf-check__label { font-family: var(--cf-font-body); font-weight: 300; font-size: calc(var(--px) * 16); line-height: 1.6; }
.cf-check--consent .cf-check__label { font-size: calc(var(--px) * 12); line-height: 0.9; letter-spacing: -0.05em; white-space: nowrap; }
.cf-check--consent a { color: inherit; }
.cf-form__erro { display: block; margin-top: calc(var(--px) * 6); color: var(--cf-secondary); font-family: var(--cf-font-body); font-weight: 400; font-size: calc(var(--px) * 13); line-height: 1.3; }
.cf-form__erro[hidden] { display: none; }
.cf-form__status { margin-top: calc(var(--px) * 30); color: var(--cf-secondary); font-family: var(--cf-font-body); font-weight: 400; font-size: calc(var(--px) * 16); line-height: 1.4; text-align: center; }
.cf-form__status[hidden] { display: none; }
.cf-form__submit { margin-top: calc(var(--px) * 60); }
.cf-form__submit[aria-busy="true"] { opacity: 0.6; cursor: progress; }
@media (max-width: 1199.98px) {
	.cf-form-sec { padding-bottom: 0; }
	.cf-form-sec__head { width: calc(var(--px) * 402); height: auto; margin: 0; display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 60); }
	.cf-form-sec__formas.cf-m { position: relative; flex: none; left: calc(var(--px) * -166.5); width: calc(var(--px) * 849); height: calc(var(--px) * 132); }
	.cf-form-sec__texto { width: calc(var(--px) * 306); margin: 0; }
	.cf-form-sec__texto .cf-h2 { font-size: calc(var(--px) * 44); }
	.cf-form-sec__texto .cf-t { width: 100%; }
	.cf-form__card { width: calc(var(--px) * 402); padding: calc(var(--px) * 60) calc(var(--px) * 16); }
	.cf-check--consent .cf-check__label { line-height: 1.15; white-space: normal; }
	.cf-form__submit { margin-top: calc(var(--px) * 10); }
}

/* ---------- Dobra 10 — Rodapé ---------- */
.cf-footer { position: relative; z-index: 1; overflow-x: clip; }
/* A curva sobe 71 px sobre o formulário e é cortada no fim do rodapé (como o frame do Figma). */
.cf-footer__curva-clip { position: absolute; left: 0; right: 0; top: calc(var(--px) * -71); height: calc(var(--px) * 482); overflow: hidden; pointer-events: none; }
.cf-footer__in { position: relative; display: flex; justify-content: center; height: calc(var(--px) * 411); overflow: hidden; }
.cf-footer__curva { position: absolute; top: 0; left: calc(50% - var(--px) * 787); width: calc(var(--px) * 1574.19); height: calc(var(--px) * 737.75); }
.cf-footer__card {
	position: absolute;
	top: calc(var(--px) * 137);
	left: calc(50% - var(--px) * 635);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(var(--px) * 60);
	width: calc(var(--px) * 1268);
	padding: calc(var(--px) * 120) 0;
	border-radius: calc(var(--px) * 60) calc(var(--px) * 60) 0 0;
	background: var(--cf-text);
	color: var(--cf-bg);
}
.cf-footer__marca { display: flex; align-items: center; gap: calc(var(--px) * 30); }
.cf-footer__logo { display: block; color: var(--cf-bg); }
.cf-footer__logo-img { width: calc(var(--px) * 162); height: calc(var(--px) * 43); }
img.cf-footer__logo-img { object-fit: contain; }
.cf-footer__slogan { font-family: var(--cf-font-title); font-weight: 400; font-size: calc(var(--px) * 16); line-height: 1; text-transform: uppercase; white-space: nowrap; }
.cf-footer__slogan strong { font-weight: 700; }
.cf-footer__links { display: flex; align-items: center; gap: calc(var(--px) * 30); }
.cf-footer__politica { font-family: var(--cf-font-body); font-weight: 300; font-size: calc(var(--px) * 16); line-height: 1.6; text-decoration: none; }
a.cf-footer__politica:hover { text-decoration: underline; }
.cf-footer__redes { display: flex; gap: calc(var(--px) * 30); }
.cf-footer__redes a { display: block; }
.cf-footer__redes svg { width: calc(var(--px) * 24); height: calc(var(--px) * 24); }
@media (max-width: 1199.98px) {
	.cf-footer__in { height: auto; overflow: visible; padding-top: calc(var(--px) * 104); }
	.cf-footer__curva-clip { display: none; }
	.cf-footer__card {
		position: relative;
		top: auto;
		left: auto;
		flex-direction: column;
		width: 100%;
		min-height: calc(var(--px) * 429);
		padding: calc(var(--px) * 60) 0 calc(var(--px) * 120);
		border-radius: calc(var(--px) * 30) calc(var(--px) * 30) 0 0;
	}
	.cf-footer__marca { order: 2; flex-direction: column; align-items: flex-start; gap: calc(var(--px) * 33); }
	.cf-footer__logo-img { width: calc(var(--px) * 216); height: calc(var(--px) * 57.33); }
	.cf-footer__slogan { font-size: calc(var(--px) * 11.7); }
	.cf-footer__links { order: 1; flex-direction: column; }
}

/* ---------- Páginas comuns (Obrigado e Política têm layout próprio, abaixo) ---------- */
.cf-page__in { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 60); padding: calc(var(--px) * 120) calc(var(--px) * 24); }
.cf-page__logo { color: var(--cf-text); }
.cf-page__logo__img { width: calc(var(--px) * 216); height: calc(var(--px) * 57); }
.cf-page__article { width: min(100%, calc(var(--px) * 892)); display: flex; flex-direction: column; gap: calc(var(--px) * 40); }
.cf-page__content > * + * { margin-top: 1em; }

/* ---------- Obrigado (nó 77:1667; mobile derivado no padrão da LP) ---------- */
.cf-obrigado { background: var(--cf-text); }
.cf-obg { min-height: 100vh; min-height: 100svh; background: var(--cf-text); color: var(--cf-bg); overflow-x: clip; }
.cf-obg__in { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 60); padding: calc(var(--px) * 120) 0; text-align: center; }
.cf-obg__msg { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 20); }
.cf-obg__saudacao { width: calc(var(--px) * 1070); }
.cf-obg__title { width: calc(var(--px) * 712); font-family: var(--cf-font-title); font-weight: 400; font-size: calc(var(--px) * 64); line-height: 0.9; letter-spacing: -0.05em; color: var(--cf-primary); }
.cf-obg__passos-box { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 20); }
.cf-obg__passos { display: flex; align-items: flex-start; gap: calc(var(--px) * 78); }
.cf-obg__passo { display: flex; flex-direction: column; align-items: center; gap: calc(var(--px) * 25); width: calc(var(--px) * 269); }
.cf-obg__passo::before { content: ""; order: 1; width: 100%; height: calc(var(--px) * 5); margin-top: calc(var(--px) * -5); background: var(--cf-primary); }
.cf-obg__num { display: flex; align-items: center; justify-content: center; width: calc(var(--px) * 40); height: calc(var(--px) * 40); border-radius: 50%; background: var(--cf-primary); color: var(--cf-text); }
.cf-obg__passo-texto { order: 2; }
.cf-obg__caixa { position: relative; display: flex; align-items: center; gap: calc(var(--px) * 30); width: calc(var(--px) * 886); padding: calc(var(--px) * 60); border-radius: calc(var(--px) * 30); overflow: hidden; background: var(--cf-gray); text-align: left; }
.cf-obg__caixa picture, .cf-obg__fundo { position: absolute; inset: 0; width: 100%; height: 100%; }
.cf-obg__fundo { object-fit: cover; }
.cf-obg__caixa-title { position: relative; flex: none; width: calc(var(--px) * 286); color: var(--cf-primary); }
.cf-obg__caixa-body { position: relative; display: flex; flex-direction: column; gap: calc(var(--px) * 15); width: calc(var(--px) * 450); }
.cf-obg__caixa-texto { width: calc(var(--px) * 400); }
.cf-obg__botoes { display: flex; flex-wrap: wrap; gap: calc(var(--px) * 15); }
.cf-obg__botoes:empty { display: none; }
.cf-obg__logo { display: block; color: var(--cf-bg); }
.cf-obg__logo-img { width: calc(var(--px) * 190); height: calc(var(--px) * 50); }
img.cf-obg__logo-img { object-fit: contain; }
/* Botão com link externo: ícone de 24 px na cor do texto do botão. */
.cf-cta--link .cf-cta__icon svg { width: calc(var(--px) * 24); height: calc(var(--px) * 24); }
.cf-cta--link .cf-cta__icon svg * { fill: currentColor; }
@media (max-width: 1199.98px) {
	.cf-obg__in { gap: calc(var(--px) * 40); padding: calc(var(--px) * 60) 0; }
	.cf-obg__msg { gap: calc(var(--px) * 15); width: calc(var(--px) * 362); }
	.cf-obg__saudacao, .cf-obg__title { width: 100%; }
	.cf-obg__title { font-size: calc(var(--px) * 32); }
	.cf-obg__passos-box { gap: calc(var(--px) * 30); width: calc(var(--px) * 362); }
	.cf-obg__passos { flex-direction: column; align-items: center; gap: calc(var(--px) * 40); }
	.cf-obg__caixa { flex-direction: column; align-items: flex-start; gap: calc(var(--px) * 20); width: calc(var(--px) * 362); padding: calc(var(--px) * 30); }
	.cf-obg__caixa-title { width: calc(var(--px) * 286); }
	.cf-obg__caixa-body, .cf-obg__caixa-texto { width: 100%; }
	.cf-obg__botoes { gap: calc(var(--px) * 10); }
	.cf-cta--link .cf-cta__icon svg { width: calc(var(--px) * 20); height: calc(var(--px) * 20); }
	.cf-obg__logo-img { width: calc(var(--px) * 140); height: calc(var(--px) * 37); }
}

/* ---------- Política de Privacidade e Cookies (nó 85:1851; mobile derivado) ---------- */
.cf-pol__in { display: flex; flex-direction: column; align-items: flex-start; gap: calc(var(--px) * 60); width: calc(var(--px) * 966); margin: 0 auto; padding: calc(var(--px) * 120) 0; }
.cf-pol__logo { display: block; color: var(--cf-text); }
.cf-pol__logo__img { width: calc(var(--px) * 190); height: calc(var(--px) * 50); }
img.cf-pol__logo__img { object-fit: contain; }
.cf-pol__article { display: flex; flex-direction: column; gap: calc(var(--px) * 40); width: 100%; }
.cf-pol__head { display: flex; flex-direction: column; gap: calc(var(--px) * 15); }
.cf-pol__content { overflow-wrap: break-word; }
.cf-pol__content > * + * { margin-top: 1.6em; }
.cf-pol__content > h2 { font-family: var(--cf-font-title); font-weight: 400; font-size: calc(var(--px) * 24); line-height: 1.15; }
.cf-pol__content > * + h2 { margin-top: calc(var(--px) * 40); }
.cf-pol__content > h2 + *, .cf-pol__content > .cf-pol__tabela + * { margin-top: calc(var(--px) * 15); }
.cf-pol__content ul { padding-left: 1.5em; list-style: disc; }
.cf-pol__content strong { font-weight: 700; }
.cf-pol__content a { text-decoration: underline; text-underline-position: from-font; }
.cf-pol__content table { width: calc(var(--px) * 876); border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.cf-pol__content th, .cf-pol__content td { border-radius: calc(var(--px) * 15); text-align: left; }
.cf-pol__content th { padding: calc(var(--px) * 12) calc(var(--px) * 30); border: calc(var(--px) * 1.5) solid var(--cf-secondary); background: var(--cf-secondary); color: var(--cf-bg); font-weight: 700; white-space: nowrap; vertical-align: top; }
.cf-pol__content td { padding: calc(var(--px) * 30) calc(var(--px) * 34.5); border: calc(var(--px) * 1.5) solid var(--cf-border); vertical-align: middle; }
@media (max-width: 1199.98px) {
	.cf-pol__in { gap: calc(var(--px) * 40); width: calc(var(--px) * 362); padding: calc(var(--px) * 60) 0; }
	.cf-pol__logo__img { width: calc(var(--px) * 140); height: calc(var(--px) * 37); }
	.cf-pol__content > h2 { font-size: calc(var(--px) * 18); }
	/* Tabela de 3 colunas: rolagem horizontal só na caixa da tabela (a página não rola de lado). */
	.cf-pol__tabela { max-width: 100%; overflow-x: auto; }
	.cf-pol__content table { width: calc(var(--px) * 720); }
	.cf-pol__content td { padding: calc(var(--px) * 20); }
}
