:root {
	--cor-primaria: #E85D4C; /* Laranja/Coral */
	--cor-primaria-hover: #D14A3A;
	--cor-secundaria: #7B4B94; /* Roxo */
	--cor-secundaria-light: #9B6BB4;
	--cor-texto: #333333;
	--cor-texto-light: #666666;
	--cor-fundo: #FFFFFF;
	--cor-fundo-alt: #FDF8F7;
	--cor-fundo-card: #FFFFFF;
	--gradiente-hero: linear-gradient(135deg, #FDF8F7 0%, #F5EBF7 100%);
	--sombra-card: 0 10px 40px rgba(123, 75, 148, 0.1);
	--sombra-card-hover: 0 20px 60px rgba(123, 75, 148, 0.15);
	--transicao: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
           RESET E BASE
           ============================================ */
*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	line-height: 1.7;
	color: var(--cor-texto);
	background-color: var(--cor-fundo);
	-webkit-font-smoothing: antialiased;
}

/* ============================================
           CONTAINER
           ============================================ */
.container {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 24px;
}

/* ============================================
           HERO / TOPO DO CONTEÚDO
           ============================================ */
.hero {
	background: var(--gradiente-hero);
	padding: 60px 0 70px;
	text-align: center;
}

.hero-imagem {
	max-width: 900px;
	margin: 0 auto 30px;
}

	.hero-imagem img {
		width: 100%;
		height: auto;
		border-radius: 12px;
	}

.hero-slogan {
	font-family: 'Playfair Display', serif;
	font-size: 2.4rem;
	font-weight: 600;
	color: var(--cor-secundaria);
	line-height: 1.3;
	margin-bottom: 16px;
}

.hero-descricao {
	font-size: 1.05rem;
	color: var(--cor-texto-light);
	max-width: 600px;
	margin: 0 auto 50px;
	line-height: 1.8;
}

/* Ícones do Hero */
.hero-icones {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	max-width: 700px;
	margin: 0 auto;
}

.hero-icone-item {
	text-align: center;
}

.hero-icone-circle {
	width: 70px;
	height: 70px;
	background: linear-gradient(135deg, var(--cor-primaria), var(--cor-secundaria));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 12px;
	box-shadow: 0 8px 25px rgba(232, 93, 76, 0.25);
	transition: var(--transicao);
}

.hero-icone-item:hover .hero-icone-circle {
	transform: translateY(-5px);
	box-shadow: 0 12px 30px rgba(232, 93, 76, 0.35);
}

.hero-icone-circle img {
	width: 32px;
	height: 32px;
	filter: brightness(0) invert(1);
}

.hero-icone-circle .emoji {
	font-size: 1.8rem;
}

.hero-icone-texto {
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--cor-secundaria);
}

/* ============================================
           SEÇÃO BEM-VINDO
           ============================================ */
.secao-bemvindo {
	padding: 80px 0;
	text-align: center;
}

.secao-titulo {
	font-family: 'Playfair Display', serif;
	font-size: 2rem;
	font-weight: 700;
	color: var(--cor-primaria);
	margin-bottom: 12px;
	position: relative;
	display: inline-block;
}

	.secao-titulo::after {
		content: '';
		position: absolute;
		bottom: -10px;
		left: 50%;
		transform: translateX(-50%);
		width: 60px;
		height: 3px;
		background: linear-gradient(90deg, var(--cor-primaria), var(--cor-secundaria));
		border-radius: 2px;
	}

.secao-bemvindo .texto-intro {
	max-width: 750px;
	margin: 40px auto 0;
	font-size: 1.05rem;
	color: var(--cor-texto-light);
	line-height: 1.9;
}

/* ============================================
           SEÇÃO COMO FUNCIONA
           ============================================ */
.secao-como-funciona {
	padding: 80px 0 100px;
	background: var(--cor-fundo-alt);
}

	.secao-como-funciona .secao-titulo {
		display: block;
		text-align: center;
		margin-bottom: 60px;
	}

.passos-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 35px;
	position: relative;
}

	/* Linha conectora entre os cards */
	.passos-grid::before {
		content: '';
		position: absolute;
		top: 90px;
		left: 18%;
		right: 18%;
		height: 2px;
		background: linear-gradient(90deg, transparent, var(--cor-secundaria-light) 15%, var(--cor-secundaria-light) 85%, transparent );
		opacity: 0.25;
		z-index: 0;
	}

.passo-card {
	background: var(--cor-fundo-card);
	border-radius: 20px;
	padding: 40px 28px;
	text-align: center;
	box-shadow: var(--sombra-card);
	transition: var(--transicao);
	position: relative;
	z-index: 1;
}

	.passo-card:hover {
		transform: translateY(-8px);
		box-shadow: var(--sombra-card-hover);
	}

.passo-numero {
	width: 55px;
	height: 55px;
	background: linear-gradient(135deg, var(--cor-primaria), var(--cor-secundaria));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	font-family: 'Playfair Display', serif;
	font-size: 1.4rem;
	font-weight: 700;
	color: white;
	box-shadow: 0 8px 20px rgba(232, 93, 76, 0.3);
}

.passo-titulo {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--cor-secundaria);
	margin-bottom: 12px;
}

.passo-descricao {
	font-size: 0.95rem;
	color: var(--cor-texto-light);
	line-height: 1.75;
}

/* ============================================
           SEÇÃO QUEM SOMOS
           ============================================ */
.secao-quem-somos {
	padding: 90px 0 100px;
	background: linear-gradient(180deg, var(--cor-fundo) 0%, var(--cor-fundo-alt) 100%);
}

.quem-somos-content {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

.secao-quem-somos .secao-titulo {
	margin-bottom: 40px;
}

.quem-somos-texto {
	font-size: 1.1rem;
	color: var(--cor-texto-light);
	line-height: 2;
}

	.quem-somos-texto p {
		margin-bottom: 16px;
	}

		.quem-somos-texto p:last-child {
			margin-bottom: 0;
		}

.texto-destaque {
	color: var(--cor-secundaria);
	font-weight: 500;
}

/* ============================================
           RESPONSIVO - TABLET
           ============================================ */
@media (max-width: 992px) {
	.hero-icones {
		grid-template-columns: repeat(2, 1fr);
		gap: 25px;
		max-width: 400px;
	}

	.passos-grid {
		grid-template-columns: 1fr;
		max-width: 400px;
		margin: 0 auto;
	}

		.passos-grid::before {
			display: none;
		}
}

/* ============================================
           RESPONSIVO - MOBILE
           ============================================ */
@media (max-width: 576px) {
	.hero {
		padding: 40px 0 50px;
	}

	.hero-imagem {
		max-width: 100%;
		margin-bottom: 25px;
	}

	.hero-slogan {
		font-size: 1.7rem;
	}

	.hero-descricao {
		font-size: 0.95rem;
		margin-bottom: 40px;
	}

	.hero-icones {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.hero-icone-circle {
		width: 60px;
		height: 60px;
	}

		.hero-icone-circle .emoji {
			font-size: 1.5rem;
		}

	.hero-icone-texto {
		font-size: 0.85rem;
	}

	.secao-bemvindo,
	.secao-como-funciona,
	.secao-quem-somos {
		padding: 60px 0;
	}

	.secao-titulo {
		font-size: 1.6rem;
	}

	.secao-bemvindo .texto-intro,
	.quem-somos-texto {
		font-size: 1rem;
	}

	.passo-card {
		padding: 30px 24px;
	}

	.passo-numero {
		width: 48px;
		height: 48px;
		font-size: 1.2rem;
	}

	.passo-titulo {
		font-size: 1.1rem;
	}
}

/* ============================================
           ANIMAÇÕES DE ENTRADA
           ============================================ */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.animate-on-scroll {
	opacity: 0;
	animation: fadeInUp 0.8s ease forwards;
}

.delay-1 {
	animation-delay: 0.1s;
}

.delay-2 {
	animation-delay: 0.2s;
}

.delay-3 {
	animation-delay: 0.3s;
}

.delay-4 {
	animation-delay: 0.4s;
}
