/* Encabezado de página. Medidas de los hero de cada .dc.html del diseño. */

.inc-hero {
	padding: 16px clamp(8px, 1.2vw, 16px) 0;
}

.inc-hero__caja {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	background: #141614;
	color: #fff;
	isolation: isolate;
}

.inc-hero__caja > .inc-fondo,
.inc-hero__foto { z-index: 0; }
.inc-hero__caja > .inc-velo { z-index: 1; }
.inc-hero__dentro,
.inc-hero__accesos,
.inc-hero__banda { position: relative; z-index: 2; }

.inc-hero__titulo {
	margin: 0;
	font-size: clamp(36px, 4.2vw, 60px);
	line-height: 1.05;
	font-weight: 600;
	letter-spacing: -.02em;
	color: inherit;
}

.inc-hero__acento { color: #62CD24; }

.inc-hero__texto {
	margin: 0;
	font-size: clamp(17px, 1.4vw, 19px);
	line-height: 1.6;
	color: #D4D8D4;
}

.inc-hero__ante {
	font-size: 14px;
	font-weight: 700;
	color: #62CD24;
}

/* ── Velos ─────────────────────────────────────────────────────────────── */
.inc-hero--velo-portada .inc-velo { --inc-velo: linear-gradient(90deg, rgba(12, 14, 12, .85) 0%, rgba(12, 14, 12, .5) 45%, rgba(12, 14, 12, 0) 75%), linear-gradient(0deg, rgba(12, 14, 12, .75) 0%, rgba(12, 14, 12, 0) 40%); }
.inc-hero--velo-fuerte .inc-velo { --inc-velo: linear-gradient(90deg, rgba(12, 14, 12, .94) 0%, rgba(12, 14, 12, .76) 50%, rgba(12, 14, 12, .45) 100%); }
.inc-hero--velo-medio .inc-velo { --inc-velo: linear-gradient(90deg, rgba(12, 14, 12, .92) 0%, rgba(12, 14, 12, .72) 50%, rgba(12, 14, 12, .4) 100%), linear-gradient(0deg, rgba(12, 14, 12, .6) 0%, rgba(12, 14, 12, 0) 50%); }
.inc-hero--velo-suave .inc-velo { --inc-velo: linear-gradient(90deg, rgba(12, 14, 12, .92) 0%, rgba(12, 14, 12, .68) 50%, rgba(12, 14, 12, .3) 100%), linear-gradient(0deg, rgba(12, 14, 12, .6) 0%, rgba(12, 14, 12, 0) 50%); }
.inc-hero--velo-catalogo .inc-velo { --inc-velo: linear-gradient(90deg, rgba(12, 14, 12, .94) 0%, rgba(12, 14, 12, .78) 50%, rgba(12, 14, 12, .45) 100%), linear-gradient(0deg, rgba(12, 14, 12, .7) 0%, rgba(12, 14, 12, 0) 55%); }
.inc-hero--velo-contacto .inc-velo { --inc-velo: linear-gradient(90deg, rgba(12, 14, 12, .94) 0%, rgba(12, 14, 12, .74) 50%, rgba(12, 14, 12, .35) 100%), linear-gradient(0deg, rgba(12, 14, 12, .7) 0%, rgba(12, 14, 12, 0) 55%); }
.inc-hero--velo-lateral .inc-velo { --inc-velo: linear-gradient(95deg, rgba(17, 19, 17, .9) 0%, rgba(17, 19, 17, .5) 45%, rgba(17, 19, 17, 0) 75%); }
.inc-hero--velo-error .inc-velo { --inc-velo: linear-gradient(90deg, rgba(12, 14, 12, .94) 0%, rgba(12, 14, 12, .75) 55%, rgba(12, 14, 12, .45) 100%); }

/* ── Compacto (Sectores, Normas, Clientes, Preguntas, legales) ─────────── */
.inc-hero--compacto .inc-hero__dentro {
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(56px, 6vw, 96px) clamp(20px, 3vw, 40px) clamp(48px, 5vw, 72px);
	display: flex;
	flex-direction: column;
	gap: 22px;
}

/* ── Alto (Diseño) ─────────────────────────────────────────────────────── */
.inc-hero--alto .inc-hero__caja {
	min-height: clamp(460px, 62vh, 600px);
	display: flex;
	align-items: flex-end;
}

.inc-hero--alto .inc-hero__dentro {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(48px, 5vw, 72px) clamp(20px, 3vw, 40px);
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.inc-hero--alto .inc-hero__ante { font-size: 15px; }
.inc-hero--alto .inc-hero__titulo { font-size: clamp(36px, 4.4vw, 64px); line-height: 1.04; }

.inc-hero--alto .inc-hero__boton {
	align-self: flex-start;
	height: 56px;
	padding: 0 28px;
	font-size: 16px;
	margin-top: 6px;
}

/* ── Portada (Inicio) ──────────────────────────────────────────────────── */
.inc-hero--portada .inc-hero__caja {
	height: clamp(580px, calc(100svh - 140px), 840px);
	background: #1C1F1C;
}

.inc-hero__foto { position: absolute; inset: 0; }

.inc-hero--portada .inc-hero__dentro {
	position: absolute;
	left: clamp(24px, 4.4vw, 72px);
	right: clamp(24px, 4.4vw, 72px);
	bottom: clamp(110px, 13vh, 140px);
	display: flex;
	flex-direction: column;
	gap: 22px;
	pointer-events: none;
}

.inc-hero--portada .inc-hero__ante { font-size: 15px; font-weight: 600; animation: incUp .9s cubic-bezier(.2, .7, .2, 1) .1s both; }
.inc-hero--portada .inc-hero__titulo { font-size: clamp(40px, 4.8vw, 68px); line-height: 1.04; animation: incUp 1.1s cubic-bezier(.2, .7, .2, 1) .2s both; }
.inc-hero--portada .inc-hero__texto { font-size: clamp(17px, 1.4vw, 20px); line-height: 1.5; color: #E2E5E2; animation: incUp 1.1s cubic-bezier(.2, .7, .2, 1) .4s both; }

.inc-hero--portada .inc-hero__boton {
	pointer-events: auto;
	align-self: flex-start;
	gap: 12px;
	height: 56px;
	padding: 0 30px;
	font-size: 17px;
	animation: incUp 1.1s cubic-bezier(.2, .7, .2, 1) .55s both;
}

.inc-hero--portada .inc-hero__boton span { font-size: 20px; }

.inc-hero__accesos {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 30px;
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 0 16px;
	animation: incUp 1.1s cubic-bezier(.2, .7, .2, 1) .75s both;
}

.inc-hero__acceso {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 50px;
	padding: 0 24px;
	background: #fff;
	color: #141614;
	text-decoration: none;
	font-weight: 600;
	font-size: 16px;
	border-radius: 999px;
	box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .4);
	transition: background-color .25s;
}

.inc-hero__acceso:hover { background: #62CD24; color: #141614; }

.inc-hero__banda {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 8px;
	display: grid;
	grid-template-rows: 1fr 1fr 1fr;
	overflow: hidden;
}

.inc-hero__banda span:nth-child(odd) { background: #62CD24; }
.inc-hero__banda span:nth-child(2) { background: #D9DEDA; }

.inc-hero__banda i {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, transparent 44%, rgba(255, 255, 255, .9) 50%, transparent 56%);
	background-size: 260% 100%;
	animation: incSweep 5s linear infinite;
}

/* ── Banner (Nosotros) ─────────────────────────────────────────────────── */
.inc-hero--banner .inc-hero__caja { height: clamp(480px, 64vh, 620px); }

.inc-hero--banner .inc-hero__dentro {
	position: absolute;
	left: clamp(24px, 4vw, 64px);
	right: clamp(24px, 4vw, 64px);
	bottom: clamp(40px, 6vw, 72px);
	max-width: 680px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.inc-hero__pildora {
	align-self: flex-start;
	font-size: 14px;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .2);
}

.inc-hero--banner .inc-hero__titulo { font-size: clamp(34px, 3.8vw, 54px); line-height: 1.08; letter-spacing: -.015em; }
.inc-hero--banner .inc-hero__texto { font-size: 18px; }

/* ── Dividido (Catálogo, Blog) ─────────────────────────────────────────── */
.inc-hero--dividido .inc-hero__dentro {
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(48px, 5vw, 72px) clamp(20px, 3vw, 32px) clamp(32px, 4vw, 48px);
	display: flex;
	flex-direction: column;
	gap: clamp(32px, 4vw, 48px);
}

.inc-hero--dividido .inc-hero__fila {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px 64px;
	flex-wrap: wrap;
}

.inc-hero--dividido .inc-hero__cabeza { display: flex; flex-direction: column; gap: 12px; }
.inc-hero--dividido .inc-hero__titulo { font-size: clamp(34px, 3.8vw, 54px); line-height: 1.06; }
.inc-hero--dividido .inc-hero__texto { font-size: 17px; color: #B9BDB9; }

.inc-hero--dividido .inc-hero__dentro--linea { padding-bottom: 48px; gap: 40px; }
.inc-hero__dentro--linea .inc-hero__cabeza { gap: 22px; }
.inc-hero__dentro--linea .inc-hero__titulo { line-height: 1.08; letter-spacing: -.015em; }

.inc-hero__dentro--linea .inc-hero__ante {
	display: flex;
	align-items: center;
	gap: 14px;
	font-weight: 600;
}

.inc-hero__dentro--linea .inc-hero__ante::before {
	content: "";
	width: 36px;
	height: 2px;
	background: #62CD24;
}

/* ── Con tarjetas (Contacto) ───────────────────────────────────────────── */
.inc-hero--tarjetas .inc-hero__dentro {
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(48px, 5vw, 80px) clamp(20px, 3vw, 32px) clamp(32px, 4vw, 48px);
	display: flex;
	flex-direction: column;
	gap: clamp(32px, 4vw, 56px);
}

.inc-hero--tarjetas .inc-hero__cabeza { display: flex; flex-direction: column; gap: 16px; }
.inc-hero--tarjetas .inc-hero__titulo { font-size: clamp(34px, 4vw, 58px); line-height: 1.04; }
.inc-hero--tarjetas .inc-hero__texto { font-size: 17px; color: #B9BDB9; }

.inc-hero__tarjetas {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 10px;
}

.inc-hero__tarjeta {
	border-radius: 14px;
	background: rgba(255, 255, 255, .08);
	padding: 20px 22px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.inc-hero__tarjeta-etiqueta { font-size: 13px; font-weight: 600; color: #62CD24; }
.inc-hero__tarjeta-texto { font-size: 16px; line-height: 1.45; }

.inc-hero__tarjeta--enlace {
	background: #62CD24;
	color: #111311;
	text-decoration: none;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	transition: background-color .25s;
}

.inc-hero__tarjeta--enlace:hover { background: #57BA1E; color: #111311; }
.inc-hero__tarjeta-dentro { display: flex; flex-direction: column; gap: 14px; }
.inc-hero__tarjeta--enlace .inc-hero__tarjeta-etiqueta { color: inherit; }
.inc-hero__tarjeta-valor { font-size: 22px; font-weight: 600; }

.inc-hero__tarjeta-flecha {
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #111311;
	color: #62CD24;
	display: grid;
	place-items: center;
}

/* ── Error (404) ───────────────────────────────────────────────────────── */
.inc-hero--error { padding-bottom: clamp(40px, 4vw, 56px); }

.inc-hero--error .inc-hero__caja {
	min-height: clamp(480px, 70vh, 680px);
	display: flex;
	align-items: center;
}

.inc-hero--error .inc-hero__dentro {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(48px, 5vw, 72px) clamp(20px, 3vw, 40px);
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.inc-hero__numero {
	font-size: clamp(80px, 12vw, 180px);
	font-weight: 600;
	line-height: .9;
	letter-spacing: -.04em;
	color: #62CD24;
}

.inc-hero--error .inc-hero__titulo { font-size: clamp(30px, 3.4vw, 48px); line-height: 1.1; }
.inc-hero--error .inc-hero__texto { font-size: 18px; }

.inc-hero__botones { display: flex; gap: 10px; flex-wrap: wrap; }
.inc-hero--error .inc-hero__boton { height: 54px; padding: 0 26px; font-size: 16px; gap: 0; }

.inc-hero__boton--borde {
	padding: 0 24px;
	border: 1.5px solid rgba(255, 255, 255, .5);
	color: #fff;
	font-weight: 600;
}

.inc-hero--error .inc-hero__boton--borde { padding: 0 24px; }
.inc-hero__boton--borde:hover { background: #fff; color: #141614; }

/*
 * Portada en el celular. El diseño pone el texto y los accesos como dos capas
 * fijas al fondo de la foto; en pantallas angostas los accesos ocupan tres
 * filas y se montaban sobre el botón verde. Aquí van uno debajo del otro, en
 * flujo, y los accesos son más pequeños (pedido del usuario, 2026-10-19).
 */
@media (max-width: 700px) {
	.inc-hero--portada .inc-hero__caja {
		height: auto;
		min-height: clamp(580px, calc(100svh - 140px), 760px);
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		padding: 88px 0 30px;
	}
	.inc-hero--portada .inc-hero__dentro {
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
		margin: 0 22px;
		gap: 18px;
	}
	.inc-hero--portada .inc-hero__titulo { font-size: clamp(34px, 9.6vw, 44px); }
	.inc-hero--portada .inc-hero__texto { font-size: 16px; }
	.inc-hero--portada .inc-hero__boton { height: 52px; padding: 0 24px; font-size: 16px; }
	.inc-hero__accesos {
		position: relative;
		bottom: auto;
		justify-content: flex-start;
		gap: 8px;
		margin-top: 22px;
		padding: 0 22px;
	}
	.inc-hero__acceso { height: 38px; padding: 0 14px; gap: 6px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
	.inc-hero__banda i,
	.inc-hero--portada .inc-hero__dentro *,
	.inc-hero__accesos { animation: none; }
}
