/* index.css */

/* HERO */

.home-hero{
	position:relative;
	width:calc(100% - (var(--imeba-side) * 2));
	max-width:calc(var(--imeba-shell) - (var(--imeba-side) * 2));
	min-height:400px;
	margin:0 auto;
	overflow:hidden;
	background:#000000;
}

.home-hero-media,
.home-hero-overlay{
	position:absolute;
	inset:0;
}

.home-hero-media img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
}

.home-hero-overlay{
	background:linear-gradient(
		90deg,
		rgba(0,0,0,.92) 0%,
		rgba(0,0,0,.70) 38%,
		rgba(0,0,0,.24) 72%,
		rgba(0,0,0,.08) 100%
	);
}

.home-hero-inner{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:minmax(0,1fr) 340px;
	gap:48px;
	align-items:center;
	min-height:400px;
}

.home-hero-copy{
	max-width:690px;
	padding:35px 0;
}

.home-hero-copy h1{
	margin:0 0 22px;
	color:#ffffff;
	font-size:48px;
	font-weight:800;
	letter-spacing:-1.7px;
	line-height:1;
	text-transform:uppercase;
}

.home-hero-copy h1 span,
.home-hero-copy h1 strong{
	display:block;
}

.home-hero-copy h1 span:nth-child(2){
	font-size:.82em;
}

.home-hero-copy h1 strong{
	color:var(--imeba-red);
}

.home-hero-copy p{
	max-width:590px;
	margin:0 0 28px;
	color:rgba(255,255,255,.84);
	font-size:16px;
	line-height:1.65;
}

.home-hero-actions{
	display:flex;
	align-items:center;
	gap:12px;
}

.home-hero-card{
	margin-top:20px;
	border:1px solid rgba(255,255,255,.18);
	background:rgba(13,15,17,.90);
}

.home-hero-card-title{
	padding:14px 18px;
	border-bottom:1px solid rgba(255,255,255,.12);
	color:#ffffff;
	font-size:12px;
	font-weight:700;
	letter-spacing:.8px;
	text-transform:uppercase;
}

.home-hero-card-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
}

.home-hero-card-grid > div{
	display:flex;
	align-items:center;
	min-height:74px;
	padding:14px;
	border-right:1px solid rgba(255,255,255,.10);
	border-bottom:1px solid rgba(255,255,255,.10);
}

.home-hero-card-grid > div:nth-child(2n){
	border-right:0;
}

.home-hero-card-grid > div:nth-last-child(-n+2){
	border-bottom:0;
}

.home-hero-card-grid i{
	margin-right:10px;
	color:var(--imeba-red);
	font-size:21px;
}

.home-hero-card-grid span{
	color:#ffffff;
	font-size:11px;
	font-weight:700;
	line-height:1.35;
}

/* PRESENTACIÓN */

.home-intro{
	padding:68px 0 58px;
	background:#ffffff;
}

.home-intro-grid{
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
	gap:68px;
}

.home-intro-heading h2{
	max-width:560px;
	margin:0;
	color:var(--imeba-black);
	font-size:40px;
	font-weight:800;
	letter-spacing:-1px;
	line-height:1.08;
}

.home-intro-text p{
	margin:0 0 16px;
	color:var(--imeba-muted);
	font-size:15px;
	line-height:1.75;
}

.home-stats{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	margin-top:38px;
	border-top:1px solid var(--imeba-line);
	border-left:1px solid var(--imeba-line);
}

.home-stat{
	min-height:112px;
	padding:22px;
	border-right:1px solid var(--imeba-line);
	border-bottom:1px solid var(--imeba-line);
}

.home-stat strong{
	display:block;
	margin-bottom:8px;
	color:var(--imeba-red);
	font-size:29px;
	font-weight:800;
	line-height:1;
}

.home-stat span{
	display:block;
	color:var(--imeba-black);
	font-size:12px;
	font-weight:700;
	line-height:1.45;
}

/* ÁREAS TÉCNICAS */

.home-services{
	padding:68px 0;
	background:#ffffff;
}

.home-services-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	grid-auto-rows:280px;
	gap:16px;
}

.home-service{
	position:relative;
	overflow:hidden;
	background:var(--imeba-black);
}

.home-service-large{
	grid-column:span 2;
	grid-row:span 2;
}

.home-service-media,
.home-service-overlay{
	position:absolute;
	inset:0;
}

.home-service-media img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .4s ease;
}

.home-service-overlay{
	background:linear-gradient(
		0deg,
		rgba(0,0,0,.91) 0%,
		rgba(0,0,0,.36) 62%,
		rgba(0,0,0,.05) 100%
	);
}

.home-service-content{
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	z-index:2;
	padding:22px;
}

.home-service-large .home-service-content{
	padding:30px;
}

.home-service-number{
	display:block;
	margin-bottom:9px;
	color:var(--imeba-red);
	font-size:11px;
	font-weight:700;
	letter-spacing:1.3px;
}

.home-service h3{
	margin:0 0 10px;
	color:#ffffff;
	font-size:22px;
	font-weight:800;
	line-height:1.15;
}

.home-service-large h3{
	font-size:34px;
}

.home-service p{
	margin:0 0 15px;
	color:rgba(255,255,255,.76);
	font-size:13px;
	line-height:1.55;
}

.home-service a{
	display:inline-flex;
	align-items:center;
	color:#ffffff;
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
}

.home-service a i{
	margin-left:8px;
}

.home-service:hover .home-service-media img{
	transform:scale(1.045);
}

.home-service:hover a{
	color:var(--imeba-red);
}

/* PROYECTO DESTACADO */

.home-project{
	padding:72px 0;
	background:#ffffff;
}

.home-project-grid{
	display:grid;
	grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
	min-height:480px;
}

.home-project-copy{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:42px;
	background:#f0f2f4;
}

.home-project-copy h2{
	margin:0 0 18px;
	color:var(--imeba-black);
	font-size:36px;
	font-weight:800;
	letter-spacing:-.8px;
	line-height:1.1;
}

.home-project-copy > p{
	margin:0 0 23px;
	color:var(--imeba-muted);
	font-size:14px;
	line-height:1.7;
}

.home-project-copy ul{
	margin:0 0 27px;
	padding:0;
	list-style:none;
}

.home-project-copy li{
	display:flex;
	align-items:center;
	margin-bottom:10px;
	color:var(--imeba-black);
	font-size:13px;
	font-weight:700;
}

.home-project-copy li i{
	display:flex;
	align-items:center;
	justify-content:center;
	width:25px;
	height:25px;
	margin-right:10px;
	border-radius:50%;
	background:var(--imeba-red);
	color:#ffffff;
	font-size:10px;
}

.home-project-copy .imeba-btn{
	align-self:flex-start;
}

.home-project-media{
	position:relative;
	overflow:hidden;
}

.home-project-media img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.home-project-label{
	position:absolute;
	right:25px;
	bottom:25px;
	padding:18px 21px;
	background:rgba(13,15,17,.92);
	color:#ffffff;
}

.home-project-label span{
	display:block;
	margin-bottom:5px;
	color:var(--imeba-red);
	font-size:10px;
	font-weight:700;
	text-transform:uppercase;
}

.home-project-label strong{
	font-size:17px;
}

/* SECTORES */

.home-sectors{
	width:calc(100% - (var(--imeba-side) * 2));
	max-width:calc(var(--imeba-shell) - (var(--imeba-side) * 2));
	margin:0 auto;
	padding:48px var(--imeba-side);
	background:var(--imeba-black);
}

.home-sectors .imeba-section-head{
	margin-bottom:24px;
}

.home-sectors .imeba-section-head h2{
	color:#ffffff;
	font-size:30px;
}

.home-sectors-grid{
	display:grid;
	grid-template-columns:repeat(6,minmax(0,1fr));
	border-top:1px solid rgba(255,255,255,.11);
	border-left:1px solid rgba(255,255,255,.11);
}

.home-sector{
	display:flex;
	flex-direction:column;
	justify-content:center;
	min-height:105px;
	padding:17px;
	border-right:1px solid rgba(255,255,255,.11);
	border-bottom:1px solid rgba(255,255,255,.11);
}

.home-sector i{
	margin-bottom:12px;
	color:var(--imeba-red);
	font-size:23px;
}

.home-sector span{
	color:#ffffff;
	font-size:12px;
	font-weight:700;
	line-height:1.35;
}

/* FABRICANTES */

.home-partners{
	padding:58px 0;
	background:#ffffff;
}

.home-partners-head{
	margin-bottom:26px;
	text-align:center;
}

.home-partners-head h2{
	margin:0;
	color:var(--imeba-black);
	font-size:32px;
	font-weight:800;
}

.home-partners-grid{
	display:grid;
	grid-template-columns:repeat(8,minmax(0,1fr));
	border-top:1px solid var(--imeba-line);
	border-left:1px solid var(--imeba-line);
}

.home-partner{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:95px;
	padding:16px;
	border-right:1px solid var(--imeba-line);
	border-bottom:1px solid var(--imeba-line);
	background:#ffffff;
	filter:grayscale(1);
	opacity:.7;
	transition:filter .2s ease,opacity .2s ease;
}

.home-partner:hover{
	filter:grayscale(0);
	opacity:1;
}

.home-partner img{
	max-width:112px;
	max-height:48px;
	object-fit:contain;
}

/* CTA CONTACTO */

.home-contact{
	position:relative;
	width:calc(100% - (var(--imeba-side) * 2));
	max-width:calc(var(--imeba-shell) - (var(--imeba-side) * 2));
	margin:0 auto;
	padding:46px var(--imeba-side);
	overflow:hidden;
	background:var(--imeba-black);
}

.home-contact:after{
	position:absolute;
	top:-90px;
	right:-80px;
	width:360px;
	height:300px;
	background:repeating-linear-gradient(
		135deg,
		var(--imeba-red) 0,
		var(--imeba-red) 17px,
		#b31218 17px,
		#b31218 34px
	);
	transform:skewX(-12deg);
	content:"";
}

.home-contact-grid{
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:1.15fr 1fr auto;
	gap:38px;
	align-items:center;
}

.home-contact-copy h2{
	margin:0 0 11px;
	color:#ffffff;
	font-size:29px;
	font-weight:800;
	line-height:1.15;
}

.home-contact-copy p{
	margin:0;
	color:rgba(255,255,255,.68);
	font-size:13px;
	line-height:1.6;
}

.home-contact-data{
	display:grid;
	gap:10px;
}

.home-contact-data a{
	display:flex;
	align-items:center;
	color:#ffffff;
}

.home-contact-data i{
	display:flex;
	flex:0 0 34px;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	margin-right:11px;
	border:1px solid rgba(255,255,255,.18);
	color:var(--imeba-red);
}

.home-contact-data span{
	display:block;
	margin-bottom:2px;
	color:rgba(255,255,255,.52);
	font-size:9px;
	font-weight:700;
	text-transform:uppercase;
}

.home-contact-data strong{
	color:#ffffff;
	font-size:12px;
}

/* NOTICIAS Y SUBVENCIÓN */

.home-bottom{
	padding:58px 0;
	background:#ffffff;
}

.home-bottom-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:22px;
}

.home-news,
.home-subsidy{
	display:grid;
	grid-template-columns:42% 58%;
	min-height:215px;
	border:1px solid var(--imeba-line);
}

.home-news-media{
	overflow:hidden;
}

.home-news-media img{
	width:100%;
	height:100%;
	object-fit:cover;
}

.home-news-copy,
.home-subsidy-copy{
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:25px;
}

.home-news-copy h3,
.home-subsidy-copy h3{
	margin:0 0 13px;
	color:var(--imeba-black);
	font-size:19px;
	font-weight:800;
	line-height:1.25;
}

.home-news-copy a{
	display:inline-flex;
	align-items:center;
	align-self:flex-start;
	color:var(--imeba-red);
	font-size:11px;
	font-weight:700;
	text-transform:uppercase;
}

.home-news-copy a i{
	margin-left:8px;
}

.home-subsidy{
	background:#f0f2f4;
}

.home-subsidy-logo{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:24px;
	border-right:1px solid var(--imeba-line);
	background:#ffffff;
}

.home-subsidy-logo img{
	max-width:175px;
	max-height:90px;
	object-fit:contain;
}

.home-subsidy-copy p{
	margin:0;
	color:var(--imeba-muted);
	font-size:12px;
	line-height:1.6;
}

/* RESPONSIVE */

@media(max-width:1100px){
	.home-hero,
	.home-sectors,
	.home-contact{
		width:calc(100% - (var(--imeba-side) * 2));
		max-width:none;
	}

	.home-hero-inner{
		grid-template-columns:1fr;
	}

	.home-hero-card{
		display:none;
	}

	.home-services-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		grid-auto-rows:310px;
	}

	.home-service-large{
		grid-column:span 2;
		grid-row:span 1;
	}

	.home-sectors-grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.home-partners-grid{
		grid-template-columns:repeat(4,minmax(0,1fr));
	}

	.home-contact-grid{
		grid-template-columns:1fr;
	}

	.home-contact-grid > .imeba-btn{
		justify-self:start;
	}
}

@media(max-width:991px){
	.home-intro-grid,
	.home-project-grid{
		grid-template-columns:1fr;
	}

	.home-intro-grid{
		gap:25px;
	}

	.home-stats{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.home-project-media{
		min-height:380px;
	}

	.home-bottom-grid{
		grid-template-columns:1fr;
	}
}

@media(max-width:767px){
	.home-hero,
	.home-sectors,
	.home-contact{
		width:100%;
		max-width:100%;
	}

	.home-hero{
		min-height:500px;
	}

	.home-hero-inner{
		min-height:500px;
		padding:0 var(--imeba-side);
	}

	.home-hero-overlay{
		background:rgba(0,0,0,.76);
	}

	.home-hero-copy h1{
		font-size:37px;
		letter-spacing:-1px;
	}

	.home-hero-copy p{
		font-size:15px;
	}

	.home-hero-actions{
		flex-direction:column;
		align-items:stretch;
	}

	.home-hero-actions .imeba-btn{
		width:100%;
	}

	.home-intro,
	.home-services,
	.home-project,
	.home-partners,
	.home-bottom{
		padding:50px 0;
	}

	.home-intro-heading h2,
	.home-project-copy h2,
	.home-partners-head h2{
		font-size:28px;
	}

	.home-stats,
	.home-services-grid{
		grid-template-columns:1fr;
	}

	.home-service-large{
		grid-column:auto;
	}

	.home-project-copy{
		padding:28px 22px;
	}

	.home-sectors-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.home-partners-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.home-contact:after{
		display:none;
	}

	.home-contact-grid > .imeba-btn{
		width:100%;
	}

	.home-news,
	.home-subsidy{
		grid-template-columns:1fr;
	}

	.home-news-media{
		height:220px;
	}

	.home-subsidy-logo{
		min-height:135px;
		border-right:0;
		border-bottom:1px solid var(--imeba-line);
	}
}

/* SECTORES COMPACTOS EN MÓVIL */

@media(max-width:479px){
	.home-sectors{
		padding:36px 16px;
	}

	.home-sectors .imeba-section-head{
		margin-bottom:20px;
	}

	.home-sectors .imeba-section-head h2{
		font-size:30px;
		line-height:1.1;
	}

	.home-sectors-grid{
		grid-template-columns:1fr;
	}

	.home-sector{
		flex-direction:row;
		align-items:center;
		justify-content:flex-start;
		min-height:78px;
		padding:15px 18px;
	}

	.home-sector i{
		flex:0 0 32px;
		width:32px;
		margin:0 15px 0 0;
		font-size:22px;
		text-align:center;
	}

	.home-sector span{
		font-size:14px;
	}
}
