/* ============================================================
   QUIENES.CSS
   ============================================================ */

.gb-quienes section { padding: var(--gb-espacio-seccion) 0; }

/* ============================================================
   HERO DE PÁGINA — compartido por Quiénes Somos, Contacto,
   archive de Servicios y páginas genéricas (index.php).
   Degradado de marca consistente con single.php y CTA final.
   ============================================================ */
.gb-page-hero {
	text-align: center;
	padding: 128px 0 72px;
	background: var(--gb-degradado-marca);
	position: relative;
	overflow: hidden;
}
.gb-page-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 80% 15%, rgba(255,122,69,0.16), transparent 45%), radial-gradient(circle at 15% 85%, rgba(14,143,143,0.22), transparent 50%);
	pointer-events: none;
}
.gb-page-hero-content { max-width: 720px; margin: 0 auto; position: relative; z-index: 1; }
.gb-page-hero .gb-eyebrow { color: #7FE0D8; justify-content: center; }
.gb-page-hero .gb-eyebrow::before { background: #7FE0D8; }
.gb-page-hero h1 {
	font-size: clamp(34px, 4.6vw, 52px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 18px 0 18px;
	color: #fff;
}
.gb-page-hero-descripcion {
	font-size: 18px;
	color: rgba(255,255,255,0.8);
	line-height: 1.7;
}

@media (max-width: 768px) {
	.gb-page-hero { padding: 108px 0 56px; }
}

/* ============================================================
   HISTORIA
   ============================================================ */
.gb-historia-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: center;
}
.gb-historia-imagen { position: relative; }
.gb-historia-imagen img {
	width: 100%;
	height: 420px;
	object-fit: cover;
	border-radius: var(--gb-radio-lg);
	border: 1px solid var(--gb-borde);
}
.gb-historia-badge {
	position: absolute;
	bottom: 20px;
	left: 20px;
	background: var(--gb-superficie);
	padding: 15px 22px;
	border-radius: var(--gb-radio-md);
	box-shadow: var(--gb-sombra-lg);
	display: flex;
	flex-direction: column;
}
.gb-historia-badge strong {
	font-family: var(--gb-font-display);
	font-size: 25px;
	font-weight: 700;
	color: var(--gb-primario);
	line-height: 1;
}
.gb-historia-badge span { font-size: 12px; color: var(--gb-tinta-suave); margin-top: 4px; }

.gb-historia-content h2 {
	font-size: clamp(24px, 3.2vw, 34px);
	font-weight: 700;
	margin: 12px 0 18px;
	line-height: 1.28;
}
.gb-historia-content p {
	font-size: 16px;
	color: var(--gb-tinta-suave);
	line-height: 1.8;
	margin-bottom: 16px;
}
.gb-historia-content p:last-child { margin-bottom: 0; }
.gb-historia-content strong { color: var(--gb-primario); font-weight: 600; }

/* ============================================================
   MISIÓN Y VISIÓN
   ============================================================ */
.gb-mision-vision { background: var(--gb-fondo-alterno); }
.gb-mv-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
	max-width: 1000px;
	margin: 0 auto;
}
.gb-mv-card {
	background: var(--gb-superficie);
	border: 1px solid var(--gb-borde);
	border-radius: var(--gb-radio-lg);
	padding: 38px 34px;
	transition: transform var(--gb-transicion), box-shadow var(--gb-transicion);
}
.gb-mv-card:hover { transform: translateY(-5px); box-shadow: var(--gb-sombra-lg); }
.gb-mv-icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	background: var(--gb-primario-tenue);
	border-radius: var(--gb-radio-md);
	color: var(--gb-primario);
	font-size: 22px;
	margin-bottom: 18px;
}
.gb-mv-card h3 { font-size: 21px; font-weight: 700; margin-bottom: 12px; }
.gb-mv-card p { font-size: 15.5px; color: var(--gb-tinta-suave); line-height: 1.75; }

/* ============================================================
   VALORES
   ============================================================ */
.gb-valores-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}
.gb-valor-card {
	position: relative;
	padding: 30px 22px;
	border-radius: var(--gb-radio-lg);
	border: 1px solid var(--gb-borde);
	background: var(--gb-superficie);
	transition: transform var(--gb-transicion), box-shadow var(--gb-transicion), border-color var(--gb-transicion);
}
.gb-valor-card:hover { transform: translateY(-6px); border-color: var(--gb-primario); box-shadow: var(--gb-sombra-md); }
.gb-valor-numero {
	position: absolute;
	top: 18px;
	right: 20px;
	font-family: var(--gb-font-mono);
	font-size: 12px;
	color: var(--gb-borde-fuerte);
}
.gb-valor-icono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: var(--gb-primario-tenue);
	border-radius: 50%;
	color: var(--gb-primario);
	font-size: 21px;
	margin-bottom: 16px;
	transition: all var(--gb-transicion);
}
.gb-valor-card:hover .gb-valor-icono { background: var(--gb-primario); color: #fff; }
.gb-valor-card h3 { font-size: 17px; font-weight: 700; margin-bottom: 8px; }
.gb-valor-card p { font-size: 14px; color: var(--gb-tinta-suave); line-height: 1.6; }

/* ============================================================
   ESTADÍSTICAS
   ============================================================ */
.gb-stats { background: var(--gb-degradado-marca); }
.gb-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	text-align: center;
}
.gb-stat-numero {
	display: block;
	font-family: var(--gb-font-display);
	font-size: clamp(30px, 3.6vw, 40px);
	font-weight: 700;
	color: #fff;
	margin-bottom: 6px;
}
.gb-stat-texto { font-size: 14px; color: rgba(255,255,255,0.85); font-weight: 500; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 992px) {
	.gb-historia-grid { grid-template-columns: 1fr; gap: 40px; }
	.gb-historia-imagen img { height: 320px; }
	.gb-mv-grid { grid-template-columns: 1fr; }
	.gb-valores-grid { grid-template-columns: 1fr 1fr; }
	.gb-stats-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
}

@media (max-width: 600px) {
	.gb-valores-grid { grid-template-columns: 1fr; }
}
