@charset "UTF-8";
html {
	scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

.num-big {
	font-family: "Barlow", sans-serif;
	font-weight: 300;
	font-size: clamp(60px, 8vw, 120px);
	line-height: 1;
	letter-spacing: -0.06em;
	color: #181818;
}

.slick-prev {
	left: 8px;
	z-index: 10;
}

.slick-next {
	right: 8px;
	z-index: 10;
}

.slick-prev:before,
.slick-next:before {
	color: #aaa;
	font-size: 26px;
}

/* ── Hero entrance animations (fire on load) ── */
@keyframes heroFadeUp {
	from {
		opacity: 0;
		transform: translateY(36px);
		filter: blur(4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0px);
	}
}
.hero-anim {
	opacity: 0;
	animation: heroFadeUp 0.85s cubic-bezier(0.22, 0.68, 0, 1.15) forwards;
}

.hero-anim.d1 {
	animation-delay: 0.15s;
}

.hero-anim.d2 {
	animation-delay: 0.35s;
}

.hero-anim.d3 {
	animation-delay: 0.55s;
}

.hero-anim.d4 {
	animation-delay: 0.8s;
}

/* ── Footer logos ── */
@keyframes logoPop {
	0% {
		opacity: 0;
		transform: scale(0.72) translateY(16px);
	}
	65% {
		transform: scale(1.08) translateY(-3px);
	}
	100% {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}
.logo-reveal {
	opacity: 0;
	transition: transform 0.3s ease, filter 0.3s ease;
}

.logo-reveal.visible {
	animation: logoPop 0.65s cubic-bezier(0.22, 0.68, 0, 1.3) forwards;
}

.logo-reveal.reveal-d1.visible {
	animation-delay: 0s;
}

.logo-reveal.reveal-d2.visible {
	animation-delay: 0.12s;
}

.logo-reveal.reveal-d3.visible {
	animation-delay: 0.24s;
}

.logo-reveal.reveal-d4.visible {
	animation-delay: 0.36s;
}

.logo-reveal.reveal-d5.visible {
	animation-delay: 0.48s;
}

/* Footer logo hover: brightness + scale */
.footer-logo-wrap {
	transition: transform 0.25s cubic-bezier(0.22, 0.68, 0, 1.3);
}

.footer-logo-wrap:hover {
	transform: scale(1.08);
}

.footer-logo-wrap:hover .logo-reveal {
	filter: brightness(1.15);
}

/* ── Fade & slide-up animations on scroll ── */
.reveal {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity 0.7s cubic-bezier(0.22, 0.68, 0, 1.2), transform 0.7s cubic-bezier(0.22, 0.68, 0, 1.2);
}

.reveal.visible {
	opacity: 1;
	transform: translateY(0);
}

/* Stagger delays */
.reveal-d1 {
	transition-delay: 0.05s;
}

.reveal-d2 {
	transition-delay: 0.15s;
}

.reveal-d3 {
	transition-delay: 0.25s;
}

.reveal-d4 {
	transition-delay: 0.35s;
}

.reveal-d5 {
	transition-delay: 0.45s;
}

.reveal-d6 {
	transition-delay: 0.55s;
}

.reveal-d7 {
	transition-delay: 0.65s;
}

.reveal-d8 {
	transition-delay: 0.75s;
}

/* Fade-in only (sin translate) para líneas y separadores */
.reveal-line {
	opacity: 0;
	transform: scaleX(0);
	transform-origin: left;
	transition: opacity 0.6s ease, transform 0.7s cubic-bezier(0.22, 0.68, 0, 1.1);
}

.reveal-line.visible {
	opacity: 1;
	transform: scaleX(1);
}

/* Número contador: fade + scale leve */
.reveal-num {
	opacity: 0;
	transform: scale(0.85) translateY(20px);
	transition: opacity 0.8s cubic-bezier(0.22, 0.68, 0, 1.2), transform 0.8s cubic-bezier(0.22, 0.68, 0, 1.2);
}

.reveal-num.visible {
	opacity: 1;
	transform: scale(1) translateY(0);
}

/* Hero elements */
.reveal-hero {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.9s ease, transform 0.9s ease;
}

#clientes img {
	filter: grayscale(1);
}

#clientes img:hover {
	filter: grayscale(0);
}

.reveal-hero.visible {
	opacity: 1;
	transform: translateY(0);
}

.footer-logo-wrap img {
	filter: grayscale(100%);
}

.footer-logo-wrap:hover img {
	filter: none;
}