:root { --dourado: #B5A03D; --amarelo: #F9C757; --terracota: #D27C62; --grafite: #333333; --off-white: #FDFDFD; }
body { font-family: 'Inter', sans-serif; color: var(--grafite); background-color: var(--off-white); line-height: 1.6; }
h1, h2, h3, h4 { font-family: 'Playfair Display', serif; }
img { max-width: 100%; height: auto; display: block; }

.bg-dourado { background-color: var(--dourado); }
.text-dourado { color: var(--dourado); }
.bg-amarelo { background-color: var(--amarelo); }
.text-amarelo { color: var(--amarelo); }
.bg-terracota { background-color: var(--terracota); }
.text-terracota { color: var(--terracota); }
.bg-grafite { background-color: var(--grafite); }
.text-grafite { color: var(--grafite); }
.bg-soft-gold { background-color: rgba(181, 160, 61, 0.05); }
.border-dourado { border-color: var(--dourado); }
.border-terracota { border-color: var(--terracota); }
.border-grafite { border-color: var(--grafite); }
.rounded-maternar { border-radius: 3rem; }
.btn-pill { border-radius: 9999px; transition: all 0.3s ease; }

/* Fixed content width with fluid responsiveness */
.cc-container {
	max-width: 1200px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}


/* Accordion Custom */
.faq-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out; }
.faq-item.active .faq-content { max-height: 400px; padding-top: 1.5rem; }
.faq-item.active .faq-icon { transform: rotate(180deg); color: var(--dourado); }

.step-number { font-family: 'Playfair Display', serif; opacity: 0.1; font-size: 5rem; position: absolute; top: -1rem; left: 1rem; }

/* Dra. slider */
.dra-slider-wrap {
	display: flex;
	justify-content: flex-end;
}

.dra-slider {
	position: relative;
	aspect-ratio: 4 / 5;
	background: #f4f4f4;
	width: 100%;
	max-width: 520px;
	max-height: 560px;
}

.dra-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	opacity: 0;
	transition: opacity 0.6s ease;
}

.dra-slide.active {
	opacity: 1;
}

.dra-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border-radius: 9999px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	background: rgba(255, 255, 255, 0.9);
	color: var(--grafite);
	font-size: 1.5rem;
	line-height: 1;
	display: grid;
	place-items: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dra-nav:hover {
	transform: translateY(-50%) scale(1.05);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.dra-prev { left: 16px; }
.dra-next { right: 16px; }

/* Testimonials slider */
.testi-slider {
	position: relative;
	overflow: hidden;
	padding: 48px 72px;
	min-height: 240px;
}

.testi-slide {
	position: absolute;
	inset: 0;
	padding: 48px 72px;
	opacity: 0;
	transition: opacity 0.6s ease;
}

.testi-slide.active {
	opacity: 1;
}

.testi-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	background: rgba(255, 255, 255, 0.95);
	color: var(--grafite);
	font-size: 1.4rem;
	line-height: 1;
	display: grid;
	place-items: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.testi-nav:hover {
	transform: translateY(-50%) scale(1.05);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.testi-prev { left: 16px; }
.testi-next { right: 16px; }

@media (max-width: 640px) {
	.testi-slider,
	.testi-slide {
		padding: 32px 20px;
		min-height: 260px;
	}

	.testi-prev { left: 8px; }
	.testi-next { right: 8px; }
}

/* Método cards */
.method-card {
	position: relative;
	padding: 40px;
	border-radius: 24px;
	background: #ffffff;
	border: 1px solid #f0f0f0;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	overflow: hidden;
}

.method-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background: linear-gradient(90deg, var(--dourado), var(--amarelo));
}

#metodo .method-card:nth-child(2)::before { background: linear-gradient(90deg, var(--terracota), var(--dourado)); }
#metodo .method-card:nth-child(3)::before { background: linear-gradient(90deg, var(--amarelo), var(--terracota)); }
#metodo .method-card:nth-child(4)::before { background: linear-gradient(90deg, var(--grafite), var(--amarelo)); }

.method-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.10);
	border-color: rgba(0, 0, 0, 0.05);
}

.method-card h4 { margin-top: 18px; }

/* Modal animation */
@keyframes fadeUp {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}

.animate-fade-up { animation: fadeUp 0.25s ease; }

/* Scroll reveal */
[data-reveal] {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

[data-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* Gentle floating for hero visual */
@keyframes floatSlow {
	0% { transform: translateY(0px); }
	50% { transform: translateY(-10px); }
	100% { transform: translateY(0px); }
}

.float-slow { animation: floatSlow 6s ease-in-out infinite; }

/* Glow pulse for primary CTAs */
@keyframes glowPulse {
	0% { box-shadow: 0 10px 25px rgba(249, 199, 87, 0.25); }
	50% { box-shadow: 0 16px 32px rgba(249, 199, 87, 0.45); }
	100% { box-shadow: 0 10px 25px rgba(249, 199, 87, 0.25); }
}

.cta-pulse { animation: glowPulse 2.8s ease-in-out infinite; }

/* Floating WhatsApp button */
.wa-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 900;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--dourado), var(--amarelo));
	color: #0f172a;
	display: grid;
	place-items: center;
	box-shadow: 0 18px 30px rgba(0,0,0,0.18);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wa-float:hover {
	transform: translateY(-3px) scale(1.02);
	box-shadow: 0 22px 36px rgba(0,0,0,0.22);
}

.wa-float svg {
	width: 28px;
	height: 28px;
}

.anchor-target { scroll-margin-top: 120px; }

/* Mobile refinements */
@media (max-width: 768px) {
	.cc-container { padding-left: 16px; padding-right: 16px; }
	.hero-title { font-size: clamp(2.4rem, 6vw, 3.4rem); line-height: 1.15; }
	.hero-lead { font-size: 1.125rem; }
	.hero-cta a { width: 100%; text-align: center; justify-content: center; }
	.method-card { padding: 28px; }
	.step-number { font-size: 4rem; top: -0.4rem; }
	.dra-slider { max-width: 100%; aspect-ratio: 4 / 5; }
	.cc-container.grid, .cc-container .grid { gap: 20px; }
	.wa-float { width: 54px; height: 54px; right: 16px; bottom: 16px; }
	header nav { padding-left: 20px !important; padding-right: 20px !important; }
	.anchor-target { scroll-margin-top: 96px; }
}

@media (max-width: 480px) {
	.hero-lead { font-size: 1rem; }
	.method-card { padding: 22px; }
	.cc-container { padding-left: 14px; padding-right: 14px; }
}
