/* Página Nosotros (page-nosotros.php). */

/* --- Cabecera a sangre ---------------------------------------------------
   The header is laid over the photo (see .has-header-overlay in layout.css);
   its rule shows through in white. */

.empresa__hero {
	position: relative;
	min-height: clamp(520px, 62vw, 890px);
	display: flex;
	align-items: center;
	color: var(--c-white);
	background: var(--c-dark);
	overflow: hidden;
}

.empresa__hero-media {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.empresa__hero-inner {
	position: relative;
	padding: 120px var(--edge) 60px;
}

.empresa__hero-title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(26px, 2.8vw, 40px);
	letter-spacing: -0.03em;
	line-height: 1.1;
	max-width: 700px;
	margin-bottom: 14px;
}

.empresa__hero-copy,
.empresa__block-copy {
	max-width: 520px;
	font-size: clamp(15px, 1.042vw, 20px);
	line-height: 1.3;
}

/* --- Bloques texto / imagen ---------------------------------------------- */

.empresa__block {
	display: grid;
	grid-template-columns: 41fr 59fr;
	background: var(--c-white);
}

.empresa__block--crema { background: #d1cfcb; }

/* El texto acompaña a su foto: se queda arriba (.sticky-top) mientras el
   bloque pasa y se suelta al acabar la foto. */
.empresa__block-text {
	align-self: start;
	padding: 40px var(--gutter) 40px var(--edge);
}

.empresa__block-title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(22px, 2.1vw, 41px);
	letter-spacing: -0.03em;
	line-height: 1.1;
	margin-bottom: 18px;
}

/* The photo sets the block height: it runs edge to edge at its natural
   ratio, and the text column simply grows with it. */
.empresa__block-media {
	margin: 0;
	min-height: 100%;
}

.empresa__block-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* --- Contenido libre del editor (opcional) ------------------------------- */

.empresa__content {
	padding: clamp(40px, 6vw, 80px) var(--edge);
	font-size: clamp(15px, 1.042vw, 20px);
	line-height: 1.5;
}

.empresa__content p + p { margin-top: 1em; }

/* --- Responsive ---------------------------------------------------------- */

@media (max-width: 800px) {
	.empresa__block { grid-template-columns: 1fr; }

	.empresa__block-media { min-height: 0; }

	.empresa__block-text {
		position: static;
		padding: 32px var(--edge);
	}

	.empresa__hero-inner { padding: 110px var(--edge) 48px; }
}
