/*
 * Petoona · Home (Figma: Home Desktop 37:425 e Home Mobile 106:756).
 * Seções renderizadas pelos blocos petoona/secao (pasta secoes/).
 */

main.pt-home {
	display: flex;
	flex-direction: column;
}

main.pt-home > * {
	margin-block: 0;
}

/* No celular, os Achados vêm antes das Coleções (como no Figma mobile). */
@media (max-width: 767px) {
	main.pt-home > .pt-colecoes {
		order: 1;
	}

	main.pt-home > .pt-depoimentos,
	main.pt-home > .pt-newsletter-secao {
		order: 2;
	}
}

/* ---------- Hero: carrossel de banners (37:433 · 106:831) ---------- */
.pt-hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding-top: 32px;
}

.pt-hero__palco {
	position: relative;
	width: min(var(--pt-container), 100% - 2 * var(--pt-margem));
}

.pt-hero__trilho {
	position: relative;
	height: 432px;
	overflow: hidden;
	border-radius: var(--pt-raio-3xl);
	background: linear-gradient(180deg, #ffe0c1 0%, #fbd2ad 100%);
	touch-action: pan-y;
}

.pt-slide {
	position: absolute;
	inset: 0;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.45s ease, visibility 0s linear 0.45s;
}

.pt-slide.is-ativo {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.45s ease;
}

.pt-slide__foto {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 21.37%;
}

.pt-slide__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right center;
}

/* Slides de kit: foto quadrada à direita, fundida no degradê. */
.pt-slide--produto .pt-slide__foto {
	right: 40px;
	left: auto;
	width: 432px;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18%, #000 82%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 18%, #000 82%, transparent 100%);
}

/* Slide do Perfil Pet: foto em arco com moldura branca. */
.pt-slide--arco .pt-slide__foto {
	top: 32px;
	right: 112px;
	bottom: auto;
	left: auto;
	width: 300px;
	height: 368px;
	overflow: hidden;
	border: 8px solid var(--pt-fundo-superficie);
	border-radius: 150px 150px var(--pt-raio-2xl) var(--pt-raio-2xl);
	box-shadow: var(--pt-sombra-media);
	transform: rotate(3deg);
}

.pt-slide--arco .pt-slide__img {
	object-position: center;
}

.pt-slide__texto {
	position: absolute;
	top: 40px;
	left: 72px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	max-width: min(640px, 62%);
}

/*
 * No Figma a anotação girada ocupa a caixa já girada: a margem de cima
 * (largura x seno de 2 graus, cerca de 0,22em) baixa o título como lá.
 */
.pt-slide__anotacao {
	margin-top: 0.22em;
	transform: rotate(-2deg);
	transform-origin: left bottom;
}

.pt-slide__itens {
	margin: 0;
	color: var(--pt-texto-secundario);
	font: 400 var(--pt-tipo-lead) / var(--pt-tipo-lead-altura) var(--pt-fonte-interface);
}

.pt-slide__rodape {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.pt-slide__preco {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0;
	padding-top: 4px;
	white-space: nowrap;
}

.pt-slide__preco-itens {
	color: var(--pt-texto-secundario);
	font: 400 15px/24px var(--pt-fonte-interface);
}

.pt-slide__preco-valor {
	color: var(--pt-texto-principal);
	font: 700 var(--pt-tipo-preco) / var(--pt-tipo-preco-altura) var(--pt-fonte-interface);
}

.pt-slide__preco-pix {
	color: var(--pt-texto-economia);
	font: 400 15px/24px var(--pt-fonte-interface);
}

.pt-slide__acoes {
	display: flex;
	align-items: center;
	gap: 24px;
	padding-top: 6px;
}

/* x/y do Figma são o canto da peça girada: gira pelo canto (origem 0 0). */
.pt-slide__nota {
	position: absolute;
	top: 34px;
	left: 49.11%;
	z-index: 1;
	transform: rotate(3deg);
	transform-origin: 0 0;
}

.pt-slide__coracao {
	position: absolute;
	top: 150px;
	left: 93.52%;
	width: 36px;
	height: 32px;
	transform: rotate(-14deg);
	transform-origin: 0 0;
}

/*
 * Selo circular "feito com carinho", girado sobre o canto do banner. Girado,
 * ele cresce 13 px de cada lado: a folga de 21 px deixa 8 px até a borda.
 */
.pt-hero .pt-selo {
	right: calc(-1 * min(48px, var(--pt-margem) - 21px));
	bottom: -68px;
	z-index: 2;
	transform: rotate(12deg);
}

.pt-hero__controles,
.pt-carrossel-controles {
	display: flex;
	align-items: center;
	gap: 16px;
}

/* Sem setas: a linha dos pontinhos mantém os 44 px do Figma (o que vem abaixo não sobe). */
@media (min-width: 768px) {
	.pt-hero__controles {
		min-height: 44px;
	}
}

.pt-indicadores {
	display: flex;
	align-items: center;
}

.pt-indicador {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	border: 0;
	background: none;
	cursor: pointer;
}

.pt-indicador span {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: var(--pt-raio-xs);
	background: var(--pt-fundo-indicador);
	transition: width 0.25s ease, background-color 0.25s ease;
}

.pt-indicador[aria-current="true"] span {
	width: 28px;
	background: var(--pt-fundo-acao);
}

/*
 * Telas médias (768 a 1379 px): a foto do banner encolhe junto com o banner
 * (mesma composição do Figma) e um véu do próprio degradê clareia o que
 * ficaria atrás do texto.
 */
@media (min-width: 768px) and (max-width: 1379px) {
	.pt-slide--cheio .pt-slide__foto {
		top: auto;
		left: auto;
		width: 78.63%;
		aspect-ratio: 1019 / 432;
	}

	.pt-slide--cheio::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(180deg, #ffe0c1 0%, #fbd2ad 100%);
		-webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.8) 36%, transparent 54%);
		mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0.94) 0%, rgba(0, 0, 0, 0.8) 36%, transparent 54%);
		pointer-events: none;
	}

	.pt-slide--produto .pt-slide__texto {
		max-width: 54%;
	}
}

@media (max-width: 1099px) {
	.pt-slide__texto {
		left: 48px;
		max-width: 70%;
	}

	.pt-slide__nota,
	.pt-slide__coracao {
		display: none;
	}

	.pt-slide--arco .pt-slide__foto {
		right: 40px;
		width: 240px;
		height: 300px;
		top: 66px;
	}
}

@media (max-width: 767px) {
	.pt-hero {
		gap: 16px;
		padding-top: 16px;
	}

	.pt-hero__palco {
		width: calc(100% - 32px);
	}

	.pt-hero__trilho {
		height: 448px;
		border-radius: var(--pt-raio-2xl);
		background: linear-gradient(180deg, #ffe0c1 0%, #fbd6b8 100%);
	}

	.pt-slide__foto {
		left: 0;
	}

	.pt-slide__img {
		object-position: center bottom;
	}

	.pt-slide--produto .pt-slide__foto {
		top: auto;
		right: 0;
		width: 100%;
		height: 330px;
		-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%);
		mask-image: linear-gradient(180deg, transparent 0, #000 22%);
	}

	.pt-slide--arco .pt-slide__foto {
		top: auto;
		right: auto;
		bottom: 24px;
		left: calc(50% - 105px);
		width: 210px;
		height: 250px;
		border-width: 6px;
		border-radius: 105px 105px var(--pt-raio-xl) var(--pt-raio-xl);
	}

	.pt-slide__texto {
		top: 18px;
		right: 20px;
		left: 20px;
		gap: 8px;
		max-width: none;
	}

	/* No celular o título do banner usa o Título/2 (32/38), como no Figma. */
	.pt-titulo.pt-slide__titulo {
		font-size: var(--pt-tipo-titulo-2);
		line-height: var(--pt-tipo-titulo-2-altura);
	}

	.pt-slide__titulo .pt-destaque--sublinhado .pt-destaque__grafismo {
		height: 16px;
	}

	.pt-slide__itens,
	.pt-slide__preco-pix {
		display: none;
	}

	.pt-slide__rodape {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 0 12px;
		padding-top: 2px;
	}

	.pt-slide__preco {
		gap: 4px;
		padding: 0;
	}

	.pt-slide__preco-itens,
	.pt-slide__preco-valor {
		color: var(--pt-texto-principal);
		font: 700 15px/22px var(--pt-fonte-interface);
	}

	.pt-slide__acoes {
		padding: 0;
	}

	/* Área de toque de 44 px sem empurrar a linha (no Figma ela tem 22 px). */
	a.pt-slide__cta,
	a.pt-slide__cta:hover {
		height: auto;
		min-height: 44px;
		margin-block: -11px;
		padding: 0;
		gap: 4px;
		border: 0;
		background: none;
		color: var(--pt-texto-principal);
		font-size: 15px;
		font-weight: 600;
		line-height: 22px;
	}

	a.pt-slide__cta:hover {
		color: var(--pt-fundo-acao);
		text-decoration: underline;
	}

	.pt-hero__controles {
		gap: 12px;
	}
}

/* ---------- Faixa de promessas (86:322): só no desktop ---------- */
.pt-promessas {
	position: relative;
	height: 120px;
	overflow: hidden;
}

.pt-promessas__faixa {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	width: calc(100% + 260px);
	height: 62px;
	overflow: hidden;
	background: var(--pt-fundo-inverso);
	transform: translate(calc(-50% + 10px), calc(-50% - 7px)) rotate(-1.6deg);
}

.pt-promessas__trilho {
	display: flex;
	width: max-content;
	animation: pt-promessas 48s linear infinite;
}

.pt-promessas__lista {
	display: flex;
	align-items: center;
	gap: 32px;
	margin: 0;
	padding: 0 32px 0 0;
	list-style: none;
}

.pt-promessas__lista li {
	color: var(--pt-inv-texto);
	font-family: var(--pt-fonte-titulo);
	font-size: var(--pt-tipo-frase);
	font-style: italic;
	font-weight: 500;
	line-height: var(--pt-tipo-frase-altura);
	white-space: nowrap;
}

.pt-promessas__lista li.pt-promessas__sep {
	color: var(--pt-marca);
	font: 400 16px/26px var(--pt-fonte-interface);
}

.pt-promessas:hover .pt-promessas__trilho,
.pt-promessas:focus-within .pt-promessas__trilho,
.pt-promessas.is-pausado .pt-promessas__trilho {
	animation-play-state: paused;
}

@keyframes pt-promessas {
	to {
		transform: translateX(-50%);
	}
}

/* Como no Figma, sem botão à vista: ele só aparece no foco pelo teclado. */
.pt-promessas__pausa {
	position: absolute;
	top: 50%;
	right: calc(130px + var(--pt-margem));
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: var(--pt-raio-pilula);
	background: rgba(251, 244, 234, 0.16);
	color: var(--pt-inv-texto);
	cursor: pointer;
	transform: translateY(-50%);
}

.pt-promessas__pausa:not(:focus-visible) {
	clip-path: inset(50%);
	opacity: 0;
}

.pt-promessas__pausa .pt-icone {
	font-size: 18px;
}

.pt-promessas__pausa:hover {
	background: rgba(251, 244, 234, 0.28);
}

@media (prefers-reduced-motion: reduce) {
	.pt-promessas__trilho {
		animation: none;
	}

	.pt-promessas__pausa {
		display: none;
	}
}

@media (max-width: 767px) {
	.pt-promessas {
		display: none;
	}
}

/* ---------- Perfil Pet: faixa de personalização (39:135 · 117:1475) ---------- */
/* O respiro antes da faixa (frame "espaço" do Figma: 96 px, 56 px no celular). */
main.pt-home > .pt-perfil {
	margin-top: var(--pt-secao);
}

.pt-perfil {
	padding: var(--pt-secao) 0;
	background: var(--pt-quente-pessego);
}

@media (min-width: 768px) {
	.pt-perfil__titulo {
		--pt-titulo-vao: 16px;
	}
}

.pt-perfil__interno {
	display: flex;
	align-items: center;
	gap: 80px;
	width: min(var(--pt-container), 100% - 2 * var(--pt-margem));
	margin: 0 auto;
}

.pt-perfil__composicao {
	position: relative;
	flex: 0 0 560px;
	width: 560px;
	height: 560px;
}

.pt-perfil__forma {
	position: absolute;
	top: 40px;
	left: 20px;
	width: 528px;
	height: 480px;
}

.pt-perfil__arco {
	position: absolute;
	top: 30px;
	left: 120px;
	width: 370px;
	height: 470px;
	overflow: hidden;
	border: 8px solid var(--pt-fundo-superficie);
	border-radius: 185px 185px var(--pt-raio-3xl) var(--pt-raio-3xl);
}

.pt-perfil__circulo {
	position: absolute;
	top: 350px;
	left: 16px;
	width: 176px;
	height: 176px;
	overflow: hidden;
	border: 7px solid var(--pt-fundo-superficie);
	border-radius: var(--pt-raio-pilula);
	box-shadow: var(--pt-sombra-alta);
}

.pt-perfil__arco img,
.pt-perfil__circulo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pt-perfil__nota {
	position: absolute;
	top: 24px;
	left: 451px;
	margin: 0;
	color: var(--pt-texto-principal);
	font-family: var(--pt-fonte-manuscrita);
	font-size: var(--pt-tipo-anotacao-g);
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
	transform: translate(-50%, -50%) rotate(6deg);
}

.pt-perfil__seta {
	position: absolute;
	top: 69px;
	left: 439px;
	width: 67.2px;
	height: 50.4px;
	transform: translate(-50%, -50%) rotate(100deg);
}

.pt-perfil__brilho-1 {
	position: absolute;
	top: 70px;
	left: 86px;
	width: 35.2px;
	height: 35.2px;
}

.pt-perfil__brilho-2 {
	position: absolute;
	top: 250px;
	left: 520px;
	width: 22.4px;
	height: 22.4px;
}

.pt-perfil__pata {
	position: absolute;
	top: 484px;
	left: 513px;
	width: 43.2px;
	height: 43.2px;
	transform: translate(-50%, -50%) rotate(-18deg);
}

.pt-perfil__conteudo {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	min-width: 0;
}

.pt-perfil__texto {
	max-width: 656px;
	margin: 0;
	color: var(--pt-texto-secundario);
	font: 400 var(--pt-tipo-lead) / var(--pt-tipo-lead-altura) var(--pt-fonte-interface);
}

.pt-passos {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pt-passos li {
	display: flex;
	align-items: center;
	gap: 16px;
	color: var(--pt-texto-principal);
	font: 600 16px/22px var(--pt-fonte-interface);
}

.pt-passos__numero {
	min-width: 14px;
	color: var(--pt-texto-acao);
	font-family: var(--pt-fonte-titulo);
	font-size: var(--pt-tipo-titulo-3);
	font-style: italic;
	font-weight: 500;
	line-height: var(--pt-tipo-titulo-3-altura);
	letter-spacing: -0.015em;
}

.pt-perfil__como-botao {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 44px;
	padding: 0 8px;
	border: 0;
	background: none;
	color: var(--pt-texto-principal);
	font: 600 15px/22px var(--pt-fonte-interface);
	cursor: pointer;
}

.pt-perfil__como-botao .pt-icone {
	transition: transform 0.15s ease;
}

.pt-perfil__como-botao[aria-expanded="true"] .pt-icone {
	transform: rotate(180deg);
}

.pt-perfil__especies {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pt-perfil__rotulo {
	margin: 0;
	color: var(--pt-texto-principal);
	font: 700 14px/20px var(--pt-fonte-interface);
}

.pt-perfil__chips {
	display: flex;
	gap: 12px;
}

a.pt-chip-especie {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px 8px 8px;
	border: 1px solid var(--pt-borda-interativa);
	border-radius: var(--pt-raio-pilula);
	background: var(--pt-fundo-superficie);
	color: var(--pt-texto-principal);
	font: 700 15px/22px var(--pt-fonte-interface);
	text-decoration: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

a.pt-chip-especie:hover {
	border-color: var(--pt-borda-acao);
	background: var(--pt-fundo-acao-suave);
	color: var(--pt-texto-principal);
}

.pt-chip-especie__foto {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: var(--pt-raio-pilula);
}

.pt-chip-especie span {
	flex: 1;
}

.pt-chip-especie .pt-icone {
	color: var(--pt-texto-acao);
}

.pt-perfil__acoes {
	display: flex;
	align-items: center;
	gap: 24px;
}

.pt-perfil__duracao {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--pt-texto-secundario);
	font: 400 14px/20px var(--pt-fonte-interface);
}

.pt-perfil__duracao .pt-icone {
	width: 18px;
}

.pt-perfil__privacidade {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--pt-texto-apoio);
	font: 400 13px/18px var(--pt-fonte-interface);
}

.pt-perfil__privacidade .pt-icone {
	width: 14px;
	font-size: 16px;
}

@media (max-width: 1279px) {
	.pt-perfil__interno {
		gap: 48px;
	}

	.pt-perfil__composicao {
		zoom: 0.78;
	}
}

@media (max-width: 1023px) and (min-width: 768px) {
	.pt-perfil__interno {
		flex-direction: column;
	}

	.pt-perfil__composicao {
		zoom: 0.8;
	}
}

@media (max-width: 767px) {
	.pt-perfil {
		padding: 40px 0;
	}

	.pt-perfil__interno {
		flex-direction: column;
		gap: 20px;
		width: calc(100% - 32px);
		text-align: center;
	}

	.pt-perfil__composicao {
		flex: none;
		width: 100%;
		max-width: 358px;
		height: 172px;
		zoom: 1;
	}

	.pt-perfil__forma {
		top: 14px;
		left: calc(50% - 73px);
		width: 158px;
		height: 144px;
	}

	.pt-perfil__arco {
		top: 4px;
		left: calc(50% - 29px);
		width: 124px;
		height: 160px;
		border-width: 4px;
		border-radius: 62px 62px var(--pt-raio-xl) var(--pt-raio-xl);
		box-shadow: var(--pt-sombra-media);
	}

	.pt-perfil__circulo {
		top: 92px;
		left: calc(50% - 87px);
		width: 76px;
		height: 76px;
		border-width: 4px;
		box-shadow: var(--pt-sombra-media);
	}

	.pt-perfil__brilho-1 {
		top: 22px;
		left: calc(50% - 71px);
		width: 26px;
		height: 26px;
	}

	.pt-perfil__pata {
		top: 146px;
		left: calc(50% + 114px);
		width: 24px;
		height: 24px;
		transform: translate(-50%, -50%) rotate(12deg);
	}

	.pt-perfil__nota,
	.pt-perfil__seta,
	.pt-perfil__brilho-2 {
		display: none;
	}

	.pt-perfil__conteudo {
		align-items: center;
		gap: 20px;
		width: 100%;
	}

	.pt-perfil__titulo {
		text-align: center;
	}

	.pt-perfil__texto {
		text-align: center;
	}

	.pt-perfil__como {
		display: flex;
		flex-direction: column;
		align-items: center;
		order: 1;
	}

	.pt-js .pt-perfil__como:not(.is-aberto) .pt-passos {
		display: none;
	}

	.pt-passos {
		margin-top: 8px;
		text-align: left;
	}

	.pt-perfil__especies {
		align-items: stretch;
		width: 100%;
	}

	.pt-perfil__rotulo {
		font-size: 13px;
		font-weight: 600;
		line-height: 18px;
	}

	.pt-perfil__chips {
		width: 100%;
	}

	a.pt-chip-especie {
		flex: 1;
		min-width: 0;
	}

	.pt-perfil__acoes {
		justify-content: center;
		margin-top: -8px;
	}

	.pt-perfil__duracao {
		gap: 6px;
		font-size: 13px;
		line-height: 18px;
	}

	.pt-perfil__duracao .pt-icone {
		width: 16px;
		font-size: 16px;
	}

	.pt-perfil__privacidade {
		justify-content: center;
		gap: 6px;
		order: 2;
		font-size: 12px;
		line-height: 16px;
	}

	.pt-perfil__privacidade .pt-icone {
		width: 16px;
	}
}

/* ---------- Kits (381:1385 · 381:1518): cada card na altura do conteúdo ---------- */
.pt-kits .pt-carrossel__lista--kits {
	align-items: flex-start;
}

.pt-kits .pt-card-kit__compra {
	margin-top: 0;
}

/* ---------- Achados (40:146 · 108:2165): cabeçalho próprio no Figma ---------- */
@media (min-width: 768px) {
	.pt-vitrine--achados .pt-cabecalho {
		min-height: 70px;
	}

	.pt-vitrine--achados .pt-titulo {
		--pt-titulo-vao: 16px;
	}

	.pt-vitrine--achados .pt-cabecalho__acoes {
		gap: 20px;
	}

	.pt-vitrine--achados .pt-cabecalho__acoes .pt-link-acao {
		gap: 8px;
	}

	.pt-vitrine--achados .pt-cabecalho__acoes .pt-link-acao .pt-icone {
		width: 18px;
		height: 18px;
		overflow: visible;
		line-height: 18px;
	}
}

/* No celular as listas do Figma têm 8 px de respiro embaixo. */
@media (max-width: 767px) {
	main.pt-home .pt-carrossel {
		margin-bottom: -24px;
	}
}

/* ---------- Coleções: tiles de campanha (39:198 · 108:2109) ---------- */
.pt-carrossel__lista--tiles > li {
	container-type: inline-size;
}

a.pt-tile {
	position: relative;
	display: block;
	height: 79.33cqw;
	overflow: hidden;
	border-radius: var(--pt-raio-3xl);
	color: var(--pt-texto-principal);
	text-decoration: none;
}

.pt-tile--pessego {
	background: var(--pt-quente-pessego-forte);
}

.pt-tile--areia {
	background: var(--pt-quente-areia-forte);
}

.pt-tile--linho {
	background: var(--pt-quente-linho);
}

.pt-tile__rotulo {
	position: absolute;
	top: 8.17cqw;
	left: 7.21cqw;
	color: var(--pt-texto-acao);
	font-family: var(--pt-fonte-manuscrita);
	font-size: max(20px, 5.77cqw);
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
	transform: rotate(3deg);
	transform-origin: 0 0;
}

.pt-tile__titulo {
	position: absolute;
	top: 18.75cqw;
	left: 7.21cqw;
	width: 40.38cqw;
	font-family: var(--pt-fonte-titulo);
	font-size: max(20px, 6.73cqw);
	font-weight: 600;
	line-height: 1.143;
	letter-spacing: -0.015em;
}

.pt-tile__link {
	position: absolute;
	bottom: 8.17cqw;
	left: 7.21cqw;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font: 700 14px/20px var(--pt-fonte-interface);
}

.pt-tile__link .pt-icone {
	font-size: 16px;
}

.pt-tile__foto {
	position: absolute;
	right: 5.77cqw;
	bottom: -3.37cqw;
	width: 47.12cqw;
	height: 68.75cqw;
	overflow: hidden;
	border-radius: 23.56cqw 23.56cqw 0 0;
}

.pt-tile__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}

a.pt-tile:hover .pt-tile__foto img {
	transform: scale(1.04);
}

a.pt-tile:hover .pt-tile__link {
	color: var(--pt-fundo-acao);
	text-decoration: underline;
}

@media (max-width: 767px) {
	a.pt-tile {
		height: 232px;
		border-radius: var(--pt-raio-2xl);
	}

	.pt-tile__rotulo {
		top: 16px;
		left: 18px;
		font-size: 20px;
	}

	.pt-tile__titulo {
		top: 50px;
		left: 18px;
		width: 132px;
		font-size: 22px;
		line-height: 26px;
	}

	.pt-tile__link {
		bottom: 18px;
		left: 18px;
	}

	.pt-tile__foto {
		right: 16px;
		bottom: -24px;
		width: 128px;
		height: 188px;
		border-radius: 64px 64px 0 0;
	}
}

/* ---------- Depoimentos (40:264 · 108:2302), só fora de produção ---------- */
.pt-depoimentos__interno {
	display: flex;
	align-items: flex-start;
	gap: 56px;
}

.pt-depoimentos__resumo {
	position: relative;
	display: flex;
	flex: 0 0 360px;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.pt-nota-media {
	display: flex;
	align-items: center;
	gap: 16px;
}

.pt-nota-media__numero {
	margin: 0;
	color: var(--pt-texto-principal);
	font-family: var(--pt-fonte-titulo);
	font-size: var(--pt-tipo-display);
	font-weight: 600;
	line-height: var(--pt-tipo-display-altura);
	letter-spacing: -0.03em;
}

.pt-nota-media__detalhe {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pt-nota-media__estrelas {
	display: flex;
	gap: 2px;
	margin: 0;
	color: var(--pt-texto-avaliacao);
}

.pt-nota-media__estrelas .pt-icone {
	width: 22px;
	height: 22px;
	line-height: 22px;
	text-align: center;
}

.pt-nota-media__fonte {
	width: 170px;
	margin: 0;
	color: var(--pt-texto-apoio);
	font: 400 14px/20px var(--pt-fonte-interface);
}

.pt-depoimentos__obrigado {
	position: absolute;
	top: 271px;
	left: 210px;
	margin: 0;
	color: var(--pt-texto-destaque);
	font-family: var(--pt-fonte-manuscrita);
	font-size: var(--pt-tipo-anotacao-g);
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
	transform: translate(-50%, -50%) rotate(5deg);
}

/* Coração 8 px depois de "recomenda" (no celular, 2 px), como no Figma. */
.pt-depoimentos .pt-destaque--coracao .pt-destaque__grafismo {
	right: auto;
	left: calc(100% - 38px);
}

.pt-carrossel.pt-depoimentos__carrossel {
	flex: 1;
	width: auto;
	margin: 0;
	padding: 0;
	overflow: visible;
	container-type: normal;
}

.pt-carrossel__lista--depoimentos {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	width: auto;
}

.pt-carrossel__lista--depoimentos > li:nth-child(2) {
	padding-top: 40px;
}

.pt-depoimento {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--pt-borda-sutil);
	border-radius: var(--pt-raio-2xl);
	background: var(--pt-fundo-superficie);
}

.pt-depoimento__aspas {
	display: block;
	height: 44px;
	color: var(--pt-marca);
	font-family: var(--pt-fonte-titulo);
	font-size: 72px;
	font-weight: 600;
	line-height: 44px;
}

.pt-depoimento__texto {
	margin: 0;
	padding: 0;
	border: 0;
}

.pt-depoimento__texto p {
	margin: 0;
	color: var(--pt-texto-secundario);
	font: 400 15px/24px var(--pt-fonte-interface);
}

.pt-depoimento__autor {
	display: flex;
	align-items: center;
	gap: 12px;
}

.pt-depoimento__fotos {
	display: flex;
	flex-shrink: 0;
}

.pt-depoimento__foto {
	width: 52px;
	height: 52px;
	border: 3px solid var(--pt-fundo-superficie);
	border-radius: var(--pt-raio-pilula);
	object-fit: cover;
	box-shadow: var(--pt-sombra-sutil);
}

.pt-depoimento__foto + .pt-depoimento__foto {
	margin-left: -14px;
}

.pt-depoimento__dados {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	color: var(--pt-texto-apoio);
	font: 400 13px/18px var(--pt-fonte-interface);
}

.pt-depoimento__dados strong {
	color: var(--pt-texto-principal);
	font: 700 14px/20px var(--pt-fonte-interface);
}

.pt-depoimento__verificado {
	display: flex;
	align-items: center;
	gap: 4px;
	color: var(--pt-texto-economia);
	font: 400 12px/16px var(--pt-fonte-interface);
	white-space: nowrap;
}

.pt-depoimento__verificado .pt-icone {
	font-size: 16px;
}

@media (max-width: 1099px) {
	.pt-depoimentos__interno {
		flex-direction: column;
		gap: 40px;
	}

	.pt-depoimentos__resumo {
		flex: none;
	}

	.pt-carrossel.pt-depoimentos__carrossel {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.pt-depoimentos__interno {
		gap: 24px;
		width: 100%;
	}

	.pt-depoimentos__resumo {
		align-self: stretch;
		align-items: center;
		gap: 16px;
		padding: 0 16px;
		text-align: center;
	}

	.pt-depoimentos .pt-destaque--coracao {
		padding-right: 27px;
	}

	.pt-depoimentos .pt-destaque--coracao .pt-destaque__grafismo {
		top: 6px;
		left: calc(100% - 25px);
		width: 30px;
		height: 27px;
	}

	/* Nota e estrelas centradas numa linha; a fonte da nota embaixo. */
	.pt-nota-media {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 4px 12px;
		width: 100%;
	}

	.pt-nota-media__detalhe {
		display: contents;
	}

	.pt-nota-media__estrelas .pt-icone {
		width: 20px;
		height: 20px;
		line-height: 20px;
	}

	.pt-nota-media__fonte {
		flex: 0 0 100%;
		width: auto;
		font-size: 13px;
		line-height: 18px;
	}

	/* Girada como no Figma; a margem reserva a caixa girada (40 px). */
	.pt-depoimentos__obrigado {
		position: static;
		margin: 5px 0;
		font-size: 24px;
		transform: rotate(4deg);
	}

	.pt-carrossel.pt-depoimentos__carrossel {
		margin: -4px 0 -32px;
		padding: 4px 0 32px;
		overflow-x: auto;
	}

	.pt-carrossel__lista--depoimentos {
		display: flex;
		gap: 12px;
		width: max-content;
		padding-inline: 16px;
	}

	.pt-carrossel__lista--depoimentos > li {
		width: 280px;
	}

	.pt-carrossel__lista--depoimentos > li:nth-child(2) {
		padding-top: 0;
	}

	.pt-depoimento {
		height: 100%;
	}
}

/* ---------- Newsletter (87:488 · 108:2363) ---------- */
.pt-newsletter-secao {
	padding-top: var(--pt-secao);
}

.pt-newsletter {
	position: relative;
	display: flex;
	align-items: center;
	gap: 56px;
	padding: 64px 56px 64px 72px;
	overflow: hidden;
	border-radius: var(--pt-raio-3xl);
	background: var(--pt-fundo-inverso);
	color: var(--pt-inv-texto);
}

.pt-newsletter__pata {
	position: absolute;
	pointer-events: none;
	transform: translate(-50%, -50%) rotate(14deg);
}

.pt-newsletter__pata--1 {
	top: 56px;
	left: 56px;
	width: 43.2px;
	height: 43.2px;
}

.pt-newsletter__pata--2 {
	top: 288px;
	left: 543px;
	width: 62.4px;
	height: 62.4px;
}

.pt-newsletter__pata--3 {
	top: 51px;
	left: 994px;
	width: 38.4px;
	height: 38.4px;
}

.pt-newsletter__pata--mobile {
	display: none;
}

.pt-newsletter__conteudo {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	min-width: 0;
}

.pt-titulo.pt-newsletter__titulo {
	color: var(--pt-inv-texto);
}

.pt-newsletter__titulo em {
	color: var(--pt-inv-acao);
}

.pt-newsletter__texto {
	max-width: 520px;
	margin: 0;
	color: var(--pt-inv-secundario);
	font: 400 16px/26px var(--pt-fonte-interface);
}

.pt-newsletter__form {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	max-width: 560px;
	margin: 0;
}

.pt-newsletter__rotulo {
	color: var(--pt-inv-secundario);
	font: 600 13px/18px var(--pt-fonte-interface);
}

.pt-newsletter__linha {
	display: flex;
	gap: 8px;
}

.pt-newsletter__linha .pt-campo {
	flex: 1;
}

.pt-newsletter__aviso {
	margin: 0;
	padding: 10px 14px;
	border-radius: var(--pt-raio-md);
	font: 600 14px/20px var(--pt-fonte-interface);
}

.pt-newsletter__aviso--sucesso {
	background: rgba(30, 122, 78, 0.3);
	color: #d9f2e4;
}

.pt-newsletter__aviso--erro {
	background: rgba(201, 67, 26, 0.3);
	color: #ffe3d8;
}

.pt-newsletter__privacidade {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	color: var(--pt-inv-apoio);
	font: 400 13px/18px var(--pt-fonte-interface);
}

.pt-newsletter__privacidade .pt-icone {
	width: 14px;
	margin-top: 1px;
	font-size: 16px;
}

.pt-newsletter__privacidade a {
	color: var(--pt-inv-texto);
	text-decoration: underline;
}

.pt-newsletter__privacidade a:hover {
	color: var(--pt-inv-acao);
}

.pt-newsletter__composicao {
	position: relative;
	flex: 0 0 380px;
	height: 320px;
}

.pt-newsletter__anel {
	position: absolute;
	top: 38px;
	left: 118px;
	width: 260px;
	height: 260px;
}

.pt-newsletter__foto {
	position: absolute;
	top: 20px;
	left: 100px;
	width: 260px;
	height: 260px;
	border-radius: var(--pt-raio-pilula);
	object-fit: cover;
}

.pt-newsletter__nota {
	position: absolute;
	top: 279px;
	left: 70px;
	margin: 0;
	color: var(--pt-inv-texto);
	font-family: var(--pt-fonte-manuscrita);
	font-size: var(--pt-tipo-anotacao-g);
	font-weight: 700;
	line-height: 1.25;
	white-space: nowrap;
	transform: translate(-50%, -50%) rotate(6deg);
}

.pt-newsletter__seta {
	position: absolute;
	top: 176px;
	left: 25px;
	width: 59.52px;
	height: 44.64px;
	transform: translate(-50%, -50%) rotate(-150deg);
}

@media (max-width: 1099px) {
	.pt-newsletter {
		gap: 32px;
		padding: 48px;
	}

	.pt-newsletter__composicao {
		flex-basis: 300px;
		zoom: 0.8;
	}
}

@media (max-width: 767px) {
	.pt-newsletter {
		flex-direction: column-reverse;
		align-items: stretch;
		gap: 16px;
		padding: 24px;
	}

	.pt-newsletter__pata--1,
	.pt-newsletter__pata--2,
	.pt-newsletter__pata--3 {
		display: none;
	}

	.pt-newsletter__composicao {
		flex: none;
		width: 100%;
		max-width: 310px;
		height: 132px;
		zoom: 1;
	}

	.pt-newsletter__pata--mobile {
		display: block;
		top: 30px;
		left: 32px;
		width: 48px;
		height: 48px;
	}

	.pt-newsletter__anel {
		top: 2px;
		right: 6px;
		left: auto;
		width: 128px;
		height: 128px;
	}

	.pt-newsletter__foto {
		top: 10px;
		right: 18px;
		left: auto;
		width: 116px;
		height: 116px;
	}

	.pt-newsletter__nota {
		top: 101px;
		left: 96px;
		font-size: 24px;
		transform: translate(-50%, -50%) rotate(-6deg);
	}

	.pt-newsletter__seta {
		top: 90px;
		left: 146px;
		width: 53px;
		height: 40px;
		transform: translate(-50%, -50%) rotate(-70deg);
	}

	.pt-newsletter__conteudo {
		gap: 16px;
	}

	.pt-newsletter__form {
		gap: 8px;
	}

	.pt-newsletter__linha {
		flex-direction: column;
	}

	/* Em coluna, flex: 1 esmagaria a altura do campo. */
	.pt-newsletter__linha .pt-campo {
		flex: 0 0 auto;
	}

	.pt-newsletter__linha .pt-botao {
		width: 100%;
	}

	.pt-newsletter__privacidade {
		gap: 6px;
		margin-top: 8px;
		font-size: 12px;
		line-height: 16px;
	}
}
