@charset "utf-8";

.boxes {
	display: flex;
	flex-wrap: wrap;
	gap: 42px 0;
	margin: 0 auto 60px;
}
.boxes .box {
	width: calc(25% - 18px);
	margin: 0 24px 0 0;
	position: relative;
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}
.boxes .box:nth-child(2n) {
	animation-delay: 1.2s;
}
.boxes .box:nth-child(4n) {
	margin: 0;
}
.boxes .box > div {
	width: 100%;
	position: relative;
}
.boxes .box .imagen {
	height:0;
	padding:0 0 100%;
	overflow: hidden;
	border-radius: 6px;
	z-index: 1;
}
.boxes .box .imagen img {
	width: 102%;
	height:102%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	transition: all 0.6s ease-in-out;
}
.boxes .box .imagen a:hover img {
	transform: translate(-50%,-50%) scale(1.2);
}
.boxes .box .texto {
	border-bottom: solid 2px var(--negro);
	z-index: 3;
}
.boxes .box .texto h3 {
	font-size: 1.5em;
	padding:24px;
	line-height: 1;
	position: relative;
}
.boxes .box .texto h3::after {
	content: '';
	width: 100%;
	height:1px;
	position: absolute;
	background: var(--azulClaro);
	left: 0;
	bottom:0;
	transition: all 0.3s ease-in-out;
	z-index: -1;
}
.boxes .box:hover .texto h3::after {
	height:100%;
}
.boxes .box .texto > div {
	position: absolute;
	left: 0;
	bottom:100%;
	padding:0;
	overflow: hidden;
	clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
	transition: all 0.6s ease-in;
}
.boxes .box:hover .texto > div {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.boxes .box .texto p {
	font-size: 0.9em;
	background: var(--azulClaro);
	padding:24px 24px 0;
}

.slider-container {
	width: 100%;
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	cursor: ew-resize;
	border-radius: 6px;
	box-shadow: 0 0 12px var(--azulClaro);
}
.slider-container::before,
.slider-container::after {
	color: var(--blanco);
	font-size: 0.8em;
	position: absolute;
	bottom:18px;
	z-index: 3;
}
.slider-container::before {
	content: 'Antes';
	left: 24px;
}
.slider-container::after {
	content: 'Después';
	right:24px;
}
.slider-container img {
	width: 100%;
	height:100%;
	position: absolute;
	object-fit: cover;
	top: 0;
	left: 0;
}
.after-image {
	clip-path: inset(0 50% 0 0);
	transition: clip-path 0.05s linear;
}
.handle {
	width: 2px;
	height:100%;
	position: absolute;
	top: 0;
	left: 50%;
	background: #ffffffcc;
	cursor: ew-resize;
	z-index: 9;
	transform: translateX(-1px);
}
.handle circle {
	width: 42px;
	height:42px;
	background: var(--azulClaro);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left:50%;
	transform: translate(-50%,-50%);
	z-index: 3;
}
.handle circle::before,
.handle circle::after {
	content: '';
	width: 9px;
	height:9px;
	border: solid 1px var(--azul);
	position: absolute;
	top: 50%;
	left:50%;
	z-index: 3;
}
.handle circle::before {
	transform: translate(-100%,-50%) rotate(45deg);
	border-width: 0 0 1px 1px;
}
.handle circle::after {
	transform: translate(0,-50%) rotate(45deg);
	border-width: 1px 1px 0 0;
}

#pruebas {
	padding:48px 0 48px calc(25% - 42px);
}
#pruebas > h2 {
	font-size: 2.4em;
	color: var(--cafe);
	margin: 0 0 42px;
}
#pruebas > p {
	width: calc(50% - 9px);
	font-size: 1.5em;
	margin: 0 0 30px;
}
#pruebas > p span {
	color: var(--azul);
}
#pruebas .cajas {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 42px 0;
}
#pruebas .cajas .box {
	width: calc(50% - 9px);
	position: relative;
}
#pruebas .cajas .box p {
	padding:18px 24px;
}
#pruebas > h2,
#pruebas > p,
#pruebas .box {
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}

.subtit {
	display: flex;
	gap: 18px;
	padding:60px 0 42px;
}
.subtit h1 {
	font-size: 2.4em;
}
.subtit img {
	width: auto;
	height:3.3em;
	margin: 0.3em 0 0;
}

.descripcion {
	padding:18px 120px 60px calc(25% + 9px);
	position: relative;
	animation-duration: 1.3s;
	animation-delay: 0.9s;
}
.descripcion::after {
	content: '';
	width: calc(75% - 9px);
	height:1px;
	background: var(--negro);
	position: absolute;
	top: 0;
	right:0;
	z-index: 3;
}
.descripcion ul {
	list-style: none;
	margin: 30px 0 0;
}
.descripcion ul li {
	margin: 0 0 30px;
}
.descripcion ul li:last-child {
	margin: 0;
}
.descripcion ul li h3 {
	font-size: 1.2em;
	color: var(--azul);
}

@media screen and (max-width:666px) {
	
	.boxes {
		margin: 0 auto 48px;
		justify-content: space-between;
	}
	.boxes .box,
	.boxes .box:nth-child(4n) {
		width: calc(50% - 9px);
		margin: 0;
	}
	.boxes .box .imagen {
		padding:0 0 120%;
	}
	.boxes .box .texto h3 {
		font-size: 1.3em;
		padding:18px;
	}
	.boxes .box .texto p {
		font-size: 0.8em;
		padding:18px 18px 0;
	}

	#pruebas {
		padding:42px 0;
	}
	#pruebas > h2 {
		font-size: 1.8em;
		margin: 0 0 42px 60px;
	}
	#pruebas > p {
		width: 100%;
		font-size: 1em;
	}
	#pruebas .cajas .box {
		width: 100%;
	}

	.subtit {
		padding:48px 0 30px;
	}
	.subtit h1 {
		font-size: 1.8em;
	}
	.subtit img {
		height:2.4em;
		margin: 0.21em 0 0;
	}

	.descripcion {
		padding:18px 0 48px 60px;
	}
	.descripcion::after {
		width: calc(100% - 60px);
	}
	.descripcion ul li h3 {
		font-size: 1em;
		margin: 0 0 12px;
	}
	
}