/**
 * GEOCIKLO — Source Operations Experience Styles (/soluciones/administracion-desde-la-fuente/)
 * Typography: Inter Tight (Headlines in Black / 900).
 * Color Palette: Deep Petroleum (#073F4D), Emerald (#3FAE6A), Navy (#035877), Clean Light (#F4F8F6), Teal (#06605C), Lime (#99D435).
 * Geociklo Official Palette. GECS 1.1 Compliant. Strict Palette Discipline.
 *
 * @package Geociklo\SiteSections
 */

@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,900&display=swap');

:root {
	--gc-so-dark: #073F4D;
	--gc-so-petroleum: #035877;
	--gc-so-teal: #06605C;
	--gc-so-emerald: #3FAE6A;
	--gc-so-emerald-light: #56C983;
	--gc-so-lime: #99D435;
	--gc-so-bg-light: #F4F8F6;
	--gc-so-bg-card: #FFFFFF;
	--gc-so-border: #E1ECE7;
	--gc-so-text-muted: #57737A;
	--gc-so-shadow-sm: 0 4px 20px rgba(7, 63, 77, 0.05);
	--gc-so-shadow-md: 0 14px 36px rgba(7, 63, 77, 0.08);
	--gc-so-shadow-lg: 0 24px 54px rgba(7, 63, 77, 0.12);
}

.gc-so-root {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	background-color: #FFFFFF;
	color: var(--gc-so-dark);
	width: 100%;
	position: relative;
	box-sizing: border-box;
}

.gc-so-root *,
.gc-so-root *::before,
.gc-so-root *::after {
	box-sizing: border-box;
}

/* Hide default shell headers if present */
body:has(.gc-so-root) .page-header,
body:has(.gc-so-root) .entry-header,
body:has(.gc-so-root) .entry-title:not(.gc-so-hero-title) {
	display: none !important;
}

/* Fase 2.5 — Legacy alias of the page width contract.
   The gutter now lives on .gc-page-section and the frame on .gc-page-container;
   this class must never reduce the width a second time. */
.gc-so-container {
	width: 100%;
	max-width: var(--gc-page-max, 1380px);
	margin-inline: auto;
	padding-inline: 0;
	box-sizing: border-box;
}

.gc-highlight-text {
	color: var(--gc-so-emerald) !important;
	font-weight: 900;
	display: inline;
}

.gc-somos-btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #3FAE6A;
	color: #ffffff !important;
	padding: 14px 28px;
	border-radius: 9999px;
	font-weight: 800;
	font-size: 15px;
	text-decoration: none;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	border: 1px solid transparent;
	box-shadow: 0 4px 14px rgba(63, 174, 106, 0.3);
	cursor: pointer;
}

.gc-somos-btn-primary:hover {
	background: #2E9C57;
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(63, 174, 106, 0.4);
	color: #ffffff !important;
}

.gc-somos-btn-pill-light {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	color: #035877 !important;
	padding: 14px 28px;
	border-radius: 9999px;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	border: 1.5px solid #E1ECE7;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	cursor: pointer;
}

.gc-somos-btn-pill-light:hover {
	background: #F4F8F6;
	border-color: #035877;
	color: #073F4D !important;
	transform: translateY(-2px);
}

/* Typography & Section Standards */
.gc-so-eyebrow {
	font-size: 11.5px;
	font-weight: 900;
	letter-spacing: 0.1em;
	color: var(--gc-so-emerald);
	text-transform: uppercase;
	margin-bottom: 12px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.gc-so-eyebrow--light {
	color: var(--gc-so-lime);
}

.gc-so-pulse-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gc-so-emerald);
	display: inline-block;
}

.gc-so-section-header {
	max-width: 860px;
	margin-bottom: 44px;
}

.gc-so-header-split {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	max-width: 100%;
	flex-wrap: wrap;
	gap: 20px;
}

.gc-so-protocol-link {
	font-size: 14px;
	font-weight: 800;
	color: var(--gc-so-petroleum);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border-radius: 999px;
	background: #FAFDFB;
	border: 1.5px solid var(--gc-so-border);
	transition: all 0.2s ease;
}

.gc-so-protocol-link:hover {
	background: #F4F8F6;
	border-color: var(--gc-so-emerald);
	color: var(--gc-so-dark);
}

.gc-so-section-title {
	font-size: clamp(28px, 3vw, 44px);
	font-weight: 900;
	color: var(--gc-so-dark);
	line-height: 1.18;
	letter-spacing: -0.03em;
	margin: 0 0 16px 0;
}

.gc-so-section-sub {
	font-size: clamp(15px, 1.15vw, 17.5px);
	line-height: 1.6;
	color: var(--gc-so-text-muted);
	margin: 0;
}

.gc-so-section {
	padding: 85px 0;
	position: relative;
}

/* ==========================================================================
   01 — HERO: TRUE FULL-WIDTH BACKGROUND LAYER
   ========================================================================== */
.gc-internal-hero-bg {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	height: var(--gc-hero-bg-height, 740px) !important;
	overflow: hidden;
	pointer-events: none;
	z-index: 0 !important;
}

.gc-internal-hero-video,
.gc-internal-hero-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--gc-hero-bg-position, center right);
}

.gc-internal-hero-overlay {
	position: absolute;
	inset: 0;
	background: var(--gc-hero-overlay, linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 58%, rgba(255, 255, 255, 0.85) 88%, #FFFFFF 100%), linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 36%, rgba(255, 255, 255, 0.45) 68%, rgba(255, 255, 255, 0.08) 100%));
	z-index: 1;
}

.gc-internal-hero-bg::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 180px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.45) 45%, rgba(255, 255, 255, 0.9) 80%, #FFFFFF 100%);
	z-index: 2;
	pointer-events: none;
}

.gc-internal-hero-bg--so {
	--gc-hero-bg-height: 820px;
	--gc-hero-bg-position: right center;
	--gc-hero-overlay: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 58%, rgba(255, 255, 255, 0.85) 88%, #FFFFFF 100%),
		linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.94) 38%, rgba(255, 255, 255, 0.38) 70%, rgba(255, 255, 255, 0.05) 100%);
}

.gc-so-hero-section {
	padding: calc(var(--gc-header-offset, 84px) + 24px) 0 60px 0;
	background: transparent !important;
	position: relative;
	overflow: visible !important;
}

.gc-so-hero-container {
	position: relative;
	z-index: 1;
}

.gc-so-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	color: var(--gc-so-text-muted);
	margin-bottom: 32px;
}

.gc-so-breadcrumb a {
	color: var(--gc-so-text-muted);
	text-decoration: none;
	transition: color 0.2s ease;
}

.gc-so-breadcrumb a:hover {
	color: var(--gc-so-emerald);
}

.gc-so-bc-sep {
	color: #B0C4BE;
}

.gc-so-bc-current {
	color: var(--gc-so-dark);
}

.gc-so-hero-grid {
	display: block;
	max-width: 760px;
	margin-bottom: 48px;
}

.gc-so-hero-content {
	max-width: 720px;
}

.gc-so-hero-title {
	font-size: clamp(34px, 3.8vw, 56px);
	font-weight: 900;
	color: var(--gc-so-dark);
	line-height: 1.12;
	letter-spacing: -0.04em;
	margin: 0 0 20px 0;
}

.gc-so-hero-lead {
	font-size: clamp(16px, 1.2vw, 18.5px);
	line-height: 1.6;
	color: var(--gc-so-text-muted);
	margin: 0 0 32px 0;
	max-width: 580px;
}

.gc-so-hero-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

/* Hero Visual Art (hidden to reveal full-width background) */
.gc-so-hero-visual-wrapper {
	display: none !important;
}

.gc-so-hero-top-badge {
	align-self: flex-end;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: #FFFFFF;
	border: 1.5px solid var(--gc-so-border);
	border-radius: 14px;
	padding: 8px 16px;
	box-shadow: var(--gc-so-shadow-sm);
	margin-bottom: 12px;
}

.gc-so-htb-num {
	font-size: 24px;
	font-weight: 900;
	color: var(--gc-so-emerald);
	line-height: 1;
}

.gc-so-htb-text strong {
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.05em;
	color: var(--gc-so-dark);
}

.gc-so-htb-text small {
	font-size: 10px;
	color: var(--gc-so-text-muted);
}

.gc-so-htb-chart {
	display: flex;
	align-items: flex-end;
	gap: 3px;
	height: 18px;
}

.gc-so-htb-chart span {
	width: 3px;
	background: var(--gc-so-emerald);
	border-radius: 2px;
}

.gc-so-htb-chart span:nth-child(1) {
	height: 40%;
}

.gc-so-htb-chart span:nth-child(2) {
	height: 70%;
}

.gc-so-htb-chart span:nth-child(3) {
	height: 100%;
}

.gc-so-htb-chart span:nth-child(4) {
	height: 60%;
}

.gc-so-htb-chart span:nth-child(5) {
	height: 85%;
}

.gc-so-hero-center-art {
	position: relative;
	width: 100%;
	max-width: 440px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.gc-so-hero-3d-img {
	width: 100%;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 20px 40px rgba(7, 63, 77, 0.15));
}

.gc-so-badge-float {
	position: absolute;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1.5px solid var(--gc-so-border);
	box-shadow: 0 8px 24px rgba(7, 63, 77, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}

.gc-so-badge-float--left {
	top: 25%;
	left: 10%;
}

.gc-so-badge-float--right {
	bottom: 20%;
	right: 10%;
}

/* Hero Bottom 3-Pill Telemetry Bar */
.gc-so-hero-telemetry-bar {
	background: var(--gc-so-dark);
	border-radius: 18px;
	padding: 22px 36px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-shadow: var(--gc-so-shadow-md);
}

.gc-so-tbar-item {
	display: flex;
	align-items: center;
	gap: 16px;
}

.gc-so-tbar-icon {
	font-size: 24px;
}

.gc-so-tbar-text strong {
	display: block;
	font-size: 13.5px;
	font-weight: 900;
	letter-spacing: 0.05em;
	color: #FFFFFF;
	margin-bottom: 2px;
}

.gc-so-tbar-text span {
	font-size: 12.5px;
	color: #A0BFC7;
}

.gc-so-tbar-divider {
	width: 1px;
	height: 36px;
	background: rgba(255, 255, 255, 0.15);
}


/* ==========================================================================
   02 — EL RETO DE PLANTA (6 3D VISUAL IMPACT CARDS)
   ========================================================================== */
.gc-so-reto-section {
	position: relative;
	background: #FAFDFB;
	padding: 90px 0 100px 0;
	overflow: hidden;
}

/* Background Watermark Leaf Decor */
.gc-so-reto-bg-decor {
	position: absolute;
	top: -40px;
	right: -20px;
	width: 420px;
	height: 420px;
	pointer-events: none;
	z-index: 0;
}

.gc-so-reto-leaf-watermark {
	width: 100%;
	height: 100%;
}

/* Section Header */
.gc-so-reto-header {
	position: relative;
	z-index: 2;
	max-width: 960px;
	margin-bottom: 48px;
}

.gc-so-reto-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #2E8B57;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 16px;
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
}

.gc-so-reto-eyebrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #2E8B57;
}

.gc-so-reto-eyebrow-text {
	letter-spacing: -0.01em;
}

.gc-so-reto-title {
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: clamp(30px, 3.2vw, 44px);
	font-weight: 900;
	color: #073F4D;
	line-height: 1.15;
	letter-spacing: -0.035em;
	margin: 0 0 16px 0;
	white-space: normal;
}

.gc-so-reto-title-green {
	color: #2E995B;
}

.gc-so-reto-sub {
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: clamp(14.5px, 1.1vw, 16.5px);
	line-height: 1.55;
	color: #52606D;
	margin: 0;
	max-width: 660px;
}

/* Flow Wrapper & Connecting Lines */
.gc-so-reto-flow-wrapper {
	position: relative;
	z-index: 2;
	padding: 10px 0;
}

.gc-so-reto-flow-svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
}

.gc-so-reto-row {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0;
	margin-bottom: 24px;
}

.gc-so-reto-row:last-child {
	margin-bottom: 0;
}

/* Step Connector Arrow between Cards */
.gc-so-reto-step-connector {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	flex-shrink: 0;
	z-index: 3;
}

.gc-so-reto-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1.5px solid #D8EADB;
	color: #2E8B57;
	box-shadow: 0 2px 8px rgba(7, 63, 77, 0.06);
	transition: all 0.25s ease;
}

/* 3D Visual Cards */
.gc-so-reto-card {
	flex: 1 1 0;
	min-width: 0;
	background: #FFFFFF;
	border: 1px solid rgba(220, 235, 228, 0.85);
	border-radius: 24px;
	padding: 24px 22px;
	box-shadow: 0 10px 30px rgba(7, 63, 77, 0.04);
	display: grid;
	grid-template-columns: 112px 1fr;
	gap: 16px;
	align-items: center;
	min-height: 188px;
	box-sizing: border-box;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;
	position: relative;
}

.gc-so-reto-card:hover {
	transform: translateY(-4px);
	border-color: #3FAE6A;
	box-shadow: 0 18px 40px rgba(7, 63, 77, 0.10);
}

.gc-so-reto-card__left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	height: 100%;
}

.gc-so-reto-card__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #239457;
	color: #FFFFFF;
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: 13.5px;
	font-weight: 800;
	letter-spacing: 0.02em;
	padding: 4px 10px;
	border-radius: 9px;
	line-height: 1.3;
}

.gc-so-reto-card__img-wrap {
	width: 100%;
	height: 102px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 4px;
}

.gc-so-reto-card__img {
	max-width: 100%;
	max-height: 102px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 8px 16px rgba(7, 63, 77, 0.09));
	transition: transform 0.3s ease;
}

.gc-so-reto-card:hover .gc-so-reto-card__img {
	transform: scale(1.06);
}

.gc-so-reto-card__right {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.gc-so-reto-card__title {
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: 19px;
	font-weight: 800;
	color: #073F4D;
	letter-spacing: -0.02em;
	margin: 0 0 8px 0;
	line-height: 1.25;
}

.gc-so-reto-card__desc {
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: 13.5px;
	line-height: 1.5;
	color: #52606D;
	margin: 0;
}

/* Responsive Rules */
@media (max-width: 1100px) {
	.gc-so-reto-row {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}

	.gc-so-reto-step-connector {
		display: none;
	}

	.gc-so-reto-flow-svg {
		display: none;
	}
}

@media (max-width: 860px) {
	.gc-so-reto-row {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.gc-so-reto-card {
		grid-template-columns: 90px 1fr;
		min-height: auto;
		padding: 18px 16px;
	}

	.gc-so-reto-card__img-wrap {
		height: 76px;
	}

	.gc-so-reto-card__img {
		max-height: 76px;
	}

	.gc-so-reto-card__title {
		font-size: 17px;
	}
}


/* ==========================================================================
   03 — ARQUITECTURA DE PLANTA
   ========================================================================== */
.gc-so-plant-section {
	background: #FAFDFB;
	border-top: 1px solid var(--gc-so-border);
	border-bottom: 1px solid var(--gc-so-border);
}

.gc-so-plant-interactive-grid {
	display: grid;
	grid-template-columns: 1fr 1.25fr;
	gap: 36px;
	align-items: center;
}

.gc-so-plant-controls-col {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.gc-so-zones-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gc-so-zone-btn {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-so-border);
	border-radius: 999px;
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 800;
	color: var(--gc-so-dark);
	cursor: pointer;
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: inherit;
}

.gc-so-zone-btn:hover {
	border-color: var(--gc-so-emerald);
	background: #F4F8F6;
}

.gc-so-zone-btn.is-active {
	background: #3FAE6A;
	color: #FFFFFF;
	border-color: #3FAE6A;
	box-shadow: 0 4px 14px rgba(63, 174, 106, 0.3);
}

.gc-so-zone-detail-card {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-so-border);
	border-radius: 20px;
	padding: 30px;
	box-shadow: var(--gc-so-shadow-sm);
}

.gc-so-zdc-header {
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid #EEF4F1;
}

.gc-so-zdc-badge {
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	color: var(--gc-so-emerald);
	display: block;
	margin-bottom: 4px;
}

.gc-so-zdc-title {
	font-size: 20px;
	font-weight: 900;
	color: var(--gc-so-dark);
	margin: 0;
	letter-spacing: -0.02em;
}

.gc-so-zdc-body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 20px;
}

.gc-so-zdc-item {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.gc-so-zdc-label {
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.06em;
	color: var(--gc-so-petroleum);
}

.gc-so-zdc-item p {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--gc-so-text-muted);
	margin: 0;
}

.gc-so-zdc-link {
	font-size: 13px;
	font-weight: 800;
	color: var(--gc-so-emerald);
	text-decoration: none;
}

.gc-so-zdc-link:hover {
	text-decoration: underline;
}

/* Right Column Model Box */
.gc-so-plant-model-box {
	position: relative;
	background: #FFFFFF;
	border: 1.5px solid var(--gc-so-border);
	border-radius: 24px;
	padding: 24px;
	box-shadow: var(--gc-so-shadow-md);
	display: flex;
	justify-content: center;
	align-items: center;
}

.gc-so-plant-3d-img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	object-fit: cover;
}

.gc-so-plant-pin {
	position: absolute;
	bottom: 36px;
	right: 36px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(10px);
	border: 1.5px solid var(--gc-so-border);
	border-radius: 12px;
	padding: 8px 16px;
	display: flex;
	align-items: center;
	gap: 10px;
	box-shadow: var(--gc-so-shadow-sm);
}

.gc-so-pin-dot {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--gc-so-emerald);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 900;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gc-so-pin-text strong {
	display: block;
	font-size: 12px;
	font-weight: 800;
	color: var(--gc-so-dark);
}

.gc-so-pin-text small {
	font-size: 10.5px;
	color: var(--gc-so-emerald);
	font-weight: 700;
}

.gc-so-plant-nav-arrows {
	position: absolute;
	bottom: 36px;
	left: 36px;
	display: flex;
	gap: 8px;
}

.gc-so-pnav-btn {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1.5px solid var(--gc-so-border);
	color: var(--gc-so-dark);
	font-size: 18px;
	font-weight: 900;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.gc-so-pnav-btn:hover {
	background: #F4F8F6;
	border-color: var(--gc-so-emerald);
}


/* ==========================================================================
   04 — ANÁLISIS DE ORIGEN (4 MOMENTOS 3D VISUAL CARDS)
   ========================================================================== */
.gc-so-analisis-section {
	position: relative;
	background: #FAFDFB;
	padding: 90px 0 100px 0;
	overflow: hidden;
}

/* Background Leaf Decorative Watermark & Flow Lines */
.gc-so-ao-bg-decor {
	position: absolute;
	top: -20px;
	right: -20px;
	width: 600px;
	height: 380px;
	pointer-events: none;
	z-index: 0;
}

.gc-so-ao-flow-svg {
	width: 100%;
	height: 100%;
}

/* Header */
.gc-so-ao-header {
	position: relative;
	z-index: 2;
	max-width: 960px;
	margin-bottom: 48px;
}

.gc-so-ao-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #FFFFFF;
	border: 1px solid #D6E8DE;
	border-radius: 999px;
	padding: 5px 14px 5px 8px;
	margin-bottom: 18px;
	box-shadow: 0 2px 8px rgba(7, 63, 77, 0.03);
}

.gc-so-ao-eyebrow-icon {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	object-fit: contain;
	display: block;
}

.gc-so-ao-eyebrow-text {
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: 13.5px;
	font-weight: 700;
	color: #2E8B57;
	letter-spacing: -0.01em;
}

.gc-so-ao-title {
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: clamp(30px, 3.2vw, 44px);
	font-weight: 900;
	color: #073F4D;
	line-height: 1.15;
	letter-spacing: -0.035em;
	margin: 0 0 16px 0;
}

.gc-so-ao-title-green {
	color: #2E995B;
}

.gc-so-ao-sub {
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: clamp(14.5px, 1.1vw, 16.5px);
	line-height: 1.55;
	color: #52606D;
	margin: 0;
	max-width: 660px;
}

/* 4-Cards Grid */
.gc-so-ao-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

/* Individual 3D Visual Card */
.gc-so-ao-card {
	background: #FFFFFF;
	border: 1px solid rgba(220, 235, 228, 0.85);
	border-radius: 24px;
	padding: 26px 22px 28px 22px;
	box-shadow: 0 10px 30px rgba(7, 63, 77, 0.04);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	box-sizing: border-box;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease;
	position: relative;
	min-height: 380px;
}

.gc-so-ao-card:hover {
	transform: translateY(-5px);
	border-color: #3FAE6A;
	box-shadow: 0 18px 40px rgba(7, 63, 77, 0.10);
}

.gc-so-ao-card__img-wrap {
	width: 100%;
	height: 175px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
}

.gc-so-ao-card__img {
	max-width: 100%;
	max-height: 175px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 10px 20px rgba(7, 63, 77, 0.08));
	transition: transform 0.3s ease;
}

.gc-so-ao-card:hover .gc-so-ao-card__img {
	transform: scale(1.05);
}

.gc-so-ao-card__heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.gc-so-ao-card__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #E8F5EE;
	color: #239457;
	border: 1.5px solid #D2E7DC;
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: 13.5px;
	font-weight: 800;
	letter-spacing: 0.02em;
	padding: 3px 9px;
	border-radius: 8px;
	line-height: 1.3;
}

.gc-so-ao-card__title {
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: 21px;
	font-weight: 800;
	color: #073F4D;
	letter-spacing: -0.025em;
	margin: 0;
	line-height: 1.2;
}

.gc-so-ao-card__desc {
	font-family: 'Inter Tight', system-ui, -apple-system, sans-serif;
	font-size: 13.5px;
	line-height: 1.55;
	color: #52606D;
	margin: 0;
}

/* Responsive Breakpoints */
@media (max-width: 1100px) {
	.gc-so-ao-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 18px;
	}

	.gc-so-ao-card {
		min-height: auto;
	}
}

@media (max-width: 640px) {
	.gc-so-ao-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.gc-so-ao-card {
		padding: 22px 18px 24px 18px;
	}

	.gc-so-ao-card__img-wrap {
		height: 150px;
	}

	.gc-so-ao-card__img {
		max-height: 150px;
	}
}


/* ==========================================================================
   05 — SEPARACIÓN DESDE EL ORIGEN (3-STAGE FLOW)
   ========================================================================== */
.gc-so-separacion-section {
	background: #FAFDFB;
	border-top: 1px solid var(--gc-so-border);
	border-bottom: 1px solid var(--gc-so-border);
}

.gc-so-flow-grid {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1.25fr;
	gap: 16px;
	align-items: center;
}

.gc-so-flow-arrow {
	font-size: 24px;
	font-weight: 900;
	color: var(--gc-so-emerald);
	text-align: center;
}

.gc-so-flow-card {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-so-border);
	border-radius: 20px;
	padding: 26px;
	box-shadow: var(--gc-so-shadow-sm);
	min-height: 380px;
	display: flex;
	flex-direction: column;
}

.gc-so-fc-tag {
	font-size: 10.5px;
	font-weight: 900;
	letter-spacing: 0.08em;
	color: var(--gc-so-text-muted);
	display: block;
	margin-bottom: 6px;
}

.gc-so-fc-tag--highlight {
	color: var(--gc-so-emerald);
}

.gc-so-fc-title {
	font-size: 16px;
	font-weight: 900;
	color: var(--gc-so-dark);
	margin: 0 0 6px 0;
}

.gc-so-fc-desc {
	font-size: 12.5px;
	color: var(--gc-so-text-muted);
	line-height: 1.45;
	margin: 0 0 16px 0;
}

.gc-so-fc-img-box {
	margin-top: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 200px;
}

.gc-so-fc-img {
	max-width: 100%;
	max-height: 190px;
	object-fit: contain;
}

/* 3 Output Streams Column */
.gc-so-seg-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: auto;
}

.gc-so-seg-item {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #F4F8F6;
	border: 1px solid var(--gc-so-border);
	border-radius: 12px;
	padding: 10px 14px;
	transition: all 0.2s ease;
}

.gc-so-seg-item:hover {
	background: #FFFFFF;
	border-color: var(--gc-so-emerald);
}

.gc-so-seg-thumb {
	width: 48px;
	height: 48px;
	object-fit: contain;
	flex-shrink: 0;
}

.gc-so-seg-text strong {
	display: block;
	font-size: 13.5px;
	font-weight: 800;
	color: var(--gc-so-dark);
}

.gc-so-seg-text small {
	font-size: 11.5px;
	color: var(--gc-so-text-muted);
}


/* ==========================================================================
   06 — PUNTOS DE GESTIÓN (3 IN-SITU STATIONS)
   ========================================================================== */
.gc-so-stations-section {
	background: #FFFFFF;
}

.gc-so-stations-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.gc-so-scard {
	background: #FAFDFB;
	border: 1.5px solid var(--gc-so-border);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: var(--gc-so-shadow-sm);
	transition: all 0.25s ease;
	display: flex;
	flex-direction: column;
}

.gc-so-scard:hover {
	transform: translateY(-4px);
	border-color: var(--gc-so-emerald);
	box-shadow: var(--gc-so-shadow-md);
}

.gc-so-scard-media {
	height: 200px;
	background: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	border-bottom: 1px solid #EEF4F1;
}

.gc-so-scard-img {
	max-width: 100%;
	max-height: 170px;
	object-fit: contain;
}

.gc-so-scard-content {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-grow: 1;
}

.gc-so-scard-badge {
	font-size: 10.5px;
	font-weight: 900;
	letter-spacing: 0.08em;
	color: var(--gc-so-emerald);
}

.gc-so-scard-title {
	font-size: 17px;
	font-weight: 900;
	color: var(--gc-so-dark);
	margin: 0 0 6px 0;
	letter-spacing: -0.01em;
}

.gc-so-scard-field {
	display: flex;
	flex-direction: column;
	font-size: 12.5px;
	line-height: 1.4;
}

.gc-so-scard-field strong {
	color: var(--gc-so-dark);
	font-weight: 800;
}

.gc-so-scard-field span {
	color: var(--gc-so-text-muted);
}

.gc-so-scard-status {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid #EEF4F1;
	font-size: 12px;
	font-weight: 800;
	color: #27AE60;
	display: flex;
	align-items: center;
	gap: 6px;
}

.gc-so-status-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #27AE60;
}


/* ==========================================================================
   07 — CRITERIO TÉCNICO (2 SPLIT CLASSIFICATION CARDS)
   ========================================================================== */
.gc-so-criterio-section {
	background: #FAFDFB;
	border-top: 1px solid var(--gc-so-border);
	border-bottom: 1px solid var(--gc-so-border);
}

.gc-so-criterio-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

.gc-so-ccard {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-so-border);
	border-radius: 22px;
	padding: 32px;
	box-shadow: var(--gc-so-shadow-sm);
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 20px;
	align-items: center;
}

.gc-so-ccard-tag {
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	color: var(--gc-so-emerald);
	display: block;
	margin-bottom: 4px;
}

.gc-so-ccard-title {
	font-size: 22px;
	font-weight: 900;
	color: var(--gc-so-dark);
	margin: 0 0 16px 0;
	letter-spacing: -0.02em;
}

.gc-so-ccard-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.gc-so-ccard-row {
	display: flex;
	flex-direction: column;
	font-size: 13px;
	line-height: 1.4;
}

.gc-so-ccard-row strong {
	color: var(--gc-so-dark);
	font-weight: 800;
}

.gc-so-ccard-row span {
	color: var(--gc-so-text-muted);
}

.gc-so-ccard-media {
	display: flex;
	justify-content: center;
	align-items: center;
}

.gc-so-ccard-img {
	max-width: 100%;
	max-height: 220px;
	object-fit: contain;
}


/* ========================================================================== 
   08 — SOURCE REVIEW
   ========================================================================== */
.gc-so-review-section {
	background: #F4F8F6;
}

.gc-so-review-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin-top: 28px;
}

.gc-so-review-card {
	border: 1.5px solid var(--gc-so-border);
	border-radius: 18px;
	background: #FFFFFF;
	padding: 22px;
	box-shadow: var(--gc-so-shadow-sm);
	min-width: 0;
}

.gc-so-review-card legend {
	font-size: 13px;
	font-weight: 900;
	color: var(--gc-so-dark);
	margin-bottom: 12px;
	padding: 0;
}

.gc-so-review-card label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 700;
	color: var(--gc-so-text);
	line-height: 1.35;
	margin-top: 10px;
}

.gc-so-review-card input[type="radio"] {
	width: 18px;
	height: 18px;
	accent-color: var(--gc-so-emerald);
	flex: 0 0 auto;
}

.gc-so-review-card input[type="radio"]:focus-visible {
	outline: 3px solid rgba(63, 174, 106, 0.28);
	outline-offset: 2px;
}

.gc-so-review-result {
	margin-top: 24px;
	border-left: 4px solid var(--gc-so-emerald);
	background: #FFFFFF;
	border-radius: 16px;
	padding: 22px 24px;
	box-shadow: var(--gc-so-shadow-sm);
}

.gc-so-review-result strong {
	display: block;
	font-size: 14px;
	font-weight: 900;
	color: var(--gc-so-dark);
	margin-bottom: 8px;
}

.gc-so-review-result p {
	font-size: 16px;
	line-height: 1.55;
	color: var(--gc-so-text);
	margin: 0 0 10px 0;
}

.gc-so-review-result small {
	display: block;
	font-size: 12px;
	line-height: 1.55;
	color: var(--gc-so-muted);
}


/* ==========================================================================
   09 — FINAL BANNER (DARK TECHNICAL BANNER WITH TECHNICIAN IMAGE)
   ========================================================================== */
.gc-so-final-banner-section {
	background: #FFFFFF;
	padding: 60px 0 90px 0;
}

.gc-so-final-card {
	background: linear-gradient(135deg, #051F27 0%, #073F4D 50%, #042D38 100%);
	border-radius: 28px;
	padding: 48px 56px 0 56px;
	box-shadow: var(--gc-so-shadow-lg);
	overflow: hidden;
	position: relative;
}

.gc-so-final-grid {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: 40px;
	align-items: end;
}

.gc-so-final-content {
	padding-bottom: 48px;
}

.gc-so-final-title,
.gc-so-final-card h2 {
	font-size: clamp(30px, 3.4vw, 48px);
	font-weight: 900;
	color: #FFFFFF !important;
	line-height: 1.18;
	letter-spacing: -0.03em;
	margin: 0 0 14px 0;
}

.gc-so-final-sub {
	font-size: clamp(15px, 1.15vw, 18px);
	line-height: 1.6;
	color: #B2D1D8;
	margin: 0 0 32px 0;
}

.gc-so-final-actions {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 36px;
}

.gc-so-final-btn {
	background: #3FAE6A;
	color: #FFFFFF !important;
}

.gc-so-final-btn:hover {
	background: #2E9C57;
}

.gc-so-final-btn-secondary {
	background: rgba(255, 255, 255, 0.08);
	border: 1.5px solid rgba(255, 255, 255, 0.25);
	color: #FFFFFF !important;
}

.gc-so-final-btn-secondary:hover {
	background: rgba(255, 255, 255, 0.15);
	border-color: #FFFFFF;
	color: #FFFFFF !important;
}

.gc-so-final-badges {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.gc-so-fbadge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	color: #E1ECE7;
}

.gc-so-final-media {
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.gc-so-final-img {
	max-width: 100%;
	max-height: 480px;
	object-fit: contain;
	display: block;
}


/* ==========================================================================
   RESPONSIVENESS
   ========================================================================== */
@media (max-width: 1024px) {

	.gc-so-hero-grid,
	.gc-so-plant-interactive-grid,
	.gc-so-criterio-grid,
	.gc-so-final-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.gc-so-reto-grid,
	.gc-so-variables-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.gc-so-flow-grid {
		grid-template-columns: 1fr;
	}

	.gc-so-flow-arrow {
		transform: rotate(90deg);
		margin: 8px 0;
	}

	.gc-so-stations-grid {
		grid-template-columns: 1fr;
	}

	.gc-so-review-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gc-so-hero-telemetry-bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.gc-so-tbar-divider {
		display: none;
	}
}

@media (max-width: 768px) {

	.gc-so-reto-grid,
	.gc-so-variables-grid {
		grid-template-columns: 1fr 1fr;
	}

	.gc-so-final-card {
		padding: 36px 24px 0 24px;
	}

	.gc-so-ccard {
		grid-template-columns: 1fr;
	}

	.gc-so-review-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {

	.gc-so-reto-grid,
	.gc-so-variables-grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   FASE 2.5 — Internal Page Width Contract binding
   The horizontal gutter is owned by .gc-page-section. This rule is intentionally
   more specific than .gc-so-hero-section so its `padding: 30px 0 60px 0`
   shorthand cannot zero the contract gutter. Block padding (and therefore hero
   height / composition) is left untouched.
   ========================================================================== */
.gc-so-root .gc-page-section {
	padding-inline: var(--gc-page-gutter, 24px);
}

/* GEOCIKLO internal detail hero system hotfix: full-bleed backgrounds + H1 normalization. */
.gc-wi-root,
.gc-so-root,
.gc-tl-root,
.gc-cmn-root,
.gc-rre-root,
.gc-sector-detail-root {
	--gc-internal-hero-title-family: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
	--gc-internal-hero-title-weight: 900;
	--gc-internal-hero-title-size: 62px;
	--gc-internal-hero-title-line: 65px;
	--gc-internal-hero-title-color: #073F4D;
}

.gc-wi-hero-section,
.gc-so-hero-section,
.gc-tl-hero-section,
.gc-cmn-disposal-hero,
.gc-rre-hero-section,
.gc-sec-detail-hero {
	position: relative;
	isolation: isolate;
	min-height: clamp(650px, 72vh, 720px);
	overflow: visible !important;
}

.gc-wi-hero-bg-media,
.gc-wi-hero-gradient-overlay,
.gc-so-hero-bg-media,
.gc-tl-hero-bg,
.gc-tl-hero-section::after,
.gc-cmn-disposal-hero::before,
.gc-rre-hero-section::before,
.gc-sec-detail-hero::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	right: auto;
	width: 100vw;
	width: 100dvw;
	transform: translateX(-50%);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: var(--gc-hero-position, center center);
	pointer-events: none;
}

.gc-wi-hero-bg-media {
	--gc-hero-position: center right;
}

.gc-so-hero-bg-media {
	--gc-hero-position: center center;
}

.gc-tl-hero-bg {
	--gc-hero-position: center center;
}

.gc-cmn-disposal-hero::before {
	--gc-hero-position: center center;
}

.gc-rre-hero-section::before {
	--gc-hero-position: center right;
}

.gc-sec-detail-hero::before {
	--gc-hero-position: center right;
}

.gc-wi-hero-container,
.gc-so-hero-container,
.gc-tl-hero-grid,
.gc-cmn-disposal-hero-grid,
.gc-rre-hero-grid,
.gc-sec-hero-top-layout {
	position: relative;
	z-index: 2;
}

.gc-wi-hero-title,
.gc-so-hero-title,
.gc-tl-hero-copy h1,
.gc-cmn-disposal-copy h1,
.gc-rre-hero-title,
.gc-sec-detail-h1 {
	font-family: var(--gc-internal-hero-title-family) !important;
	font-style: normal !important;
	font-weight: var(--gc-internal-hero-title-weight) !important;
	font-size: var(--gc-internal-hero-title-size) !important;
	line-height: var(--gc-internal-hero-title-line) !important;
	color: var(--gc-internal-hero-title-color) !important;
	letter-spacing: normal !important;
	max-width: 760px;
	text-wrap: balance;
}

@media (min-width: 1024px) and (max-width: 1199px) {

	.gc-wi-root,
	.gc-so-root,
	.gc-tl-root,
	.gc-cmn-root,
	.gc-rre-root,
	.gc-sector-detail-root {
		--gc-internal-hero-title-size: 54px;
		--gc-internal-hero-title-line: 58px;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {

	.gc-wi-root,
	.gc-so-root,
	.gc-tl-root,
	.gc-cmn-root,
	.gc-rre-root,
	.gc-sector-detail-root {
		--gc-internal-hero-title-size: 48px;
		--gc-internal-hero-title-line: 52px;
	}
}

@media (min-width: 480px) and (max-width: 767px) {

	.gc-wi-root,
	.gc-so-root,
	.gc-tl-root,
	.gc-cmn-root,
	.gc-rre-root,
	.gc-sector-detail-root {
		--gc-internal-hero-title-size: 40px;
		--gc-internal-hero-title-line: 44px;
	}
}

@media (max-width: 479px) {

	.gc-wi-root,
	.gc-so-root,
	.gc-tl-root,
	.gc-cmn-root,
	.gc-rre-root,
	.gc-sector-detail-root {
		--gc-internal-hero-title-size: 36px;
		--gc-internal-hero-title-line: 40px;
	}
}

/* Internal hero pseudo-layer paint contract. */
.gc-tl-hero-section::after,
.gc-cmn-disposal-hero::before,
.gc-rre-hero-section::before,
.gc-sec-detail-hero::before {
	content: "";
	z-index: 0;
}

.gc-wi-hero-bg-media,
.gc-so-hero-bg-media,
.gc-tl-hero-bg,
.gc-cmn-disposal-hero::before,
.gc-rre-hero-section::before,
.gc-sec-detail-hero::before {
	z-index: 0;
}

.gc-rre-hero-section::before {
	background: linear-gradient(90deg, rgba(244, 248, 246, .98) 0%, rgba(244, 248, 246, .86) 42%, rgba(244, 248, 246, .38) 76%, rgba(244, 248, 246, .12) 100%), linear-gradient(180deg, #F4F8F6 0%, #FFFFFF 100%);
}

.gc-sec-detail-hero::before {
	background: radial-gradient(circle at 78% 22%, rgba(63, 174, 106, .13) 0%, rgba(248, 252, 249, .78) 48%, #FFFFFF 100%);
}


/* GEOCIKLO TRUE INTERNAL HERO FULL-BLEED SYSTEM. */
.gc-detail-hero-shell,
.gc-detail-hero-section {
	position: relative;
	isolation: isolate;
	overflow: visible;
}

.gc-detail-hero-shell::before,
.gc-detail-hero-shell::after {
	display: none !important;
}

.gc-detail-hero-section::before,
.gc-detail-hero-section::after {
	content: "";
	position: absolute;
	left: 50%;
	width: 100vw;
	width: 100dvw;
	transform: translateX(-50%);
	pointer-events: none;
}

.gc-detail-hero-shell::before,
.gc-detail-hero-section::before {
	top: 0;
	height: var(--gc-detail-hero-height, 720px);
	z-index: 0;
	background-image: var(--gc-detail-hero-bg, linear-gradient(180deg, #F4F8F6 0%, #FFFFFF 100%));
	background-size: cover;
	background-position: var(--gc-detail-hero-position, center center);
	background-repeat: no-repeat;
}

.gc-detail-hero-shell::after,
.gc-detail-hero-section::after {
	top: 0;
	height: var(--gc-detail-hero-height, 720px);
	z-index: 1;
	background: var(--gc-detail-hero-overlay, linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.86) 42%, rgba(255, 255, 255, 0.36) 76%, rgba(255, 255, 255, 0.08) 100%), linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, #FFFFFF 100%));
}

.gc-detail-hero-shell>*,
.gc-detail-hero-section>* {
	position: relative;
	z-index: 2;
}

.gc-detail-hero-shell .gc-wi-hero-bg-media,
.gc-detail-hero-shell .gc-so-hero-bg-media,
.gc-detail-hero-shell .gc-tl-hero-bg {
	display: none;
}

.gc-detail-hero-shell--wi {
	--gc-detail-hero-position: center right;
	--gc-detail-hero-height: 720px;
	--gc-detail-hero-overlay: linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.92) 38%, rgba(255, 255, 255, 0.4) 72%, rgba(255, 255, 255, 0.08) 100%), linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, #FFFFFF 100%);
}

.gc-detail-hero-shell--so {
	--gc-detail-hero-position: center right;
	--gc-detail-hero-height: 720px;
	--gc-detail-hero-overlay: linear-gradient(90deg, rgba(244, 248, 246, 0.98) 0%, rgba(255, 255, 255, 0.9) 44%, rgba(255, 255, 255, 0.34) 78%, rgba(255, 255, 255, 0.1) 100%), linear-gradient(180deg, rgba(244, 248, 246, 0.18) 0%, #FFFFFF 100%);
}

.gc-detail-hero-shell--tl {
	--gc-detail-hero-position: center right;
	--gc-detail-hero-height: 720px;
	--gc-detail-hero-overlay: linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.88) 42%, rgba(255, 255, 255, 0.34) 76%, rgba(255, 255, 255, 0.08) 100%), linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, #FFFFFF 100%);
}

.gc-detail-hero-section--cmn {
	--gc-detail-hero-height: 690px;
	--gc-detail-hero-overlay: radial-gradient(circle at 78% 22%, rgba(63, 174, 106, 0.13) 0%, rgba(248, 252, 249, 0.78) 48%, #FFFFFF 100%);
}

.gc-detail-hero-section--rre,
.gc-detail-hero-section--sector {
	--gc-detail-hero-height: 690px;
	--gc-detail-hero-overlay: linear-gradient(90deg, rgba(244, 248, 246, 0.98) 0%, rgba(244, 248, 246, 0.86) 42%, rgba(244, 248, 246, 0.38) 76%, rgba(244, 248, 246, 0.12) 100%), linear-gradient(180deg, #F4F8F6 0%, #FFFFFF 100%);
}

/* SOURCE OPERATIONS ORIENTATION ENGINE — scoped hotfix */
.gc-so-review-engine {
	position: relative;
	margin-top: 30px;
}

.gc-so-review-engine::before {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	top: calc(100% - 186px);
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(0, 132, 129, 0.34), transparent);
	pointer-events: none;
}

.gc-so-review-engine .gc-so-review-grid {
	margin-top: 0;
}

.gc-so-review-engine .gc-so-review-card {
	border: 1px solid rgba(255, 255, 255, 0.76);
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.58));
	box-shadow: 0 18px 46px rgba(7, 63, 77, 0.11);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.gc-so-review-option {
	position: relative;
	justify-content: space-between;
	border: 1px solid rgba(7, 63, 77, 0.1);
	border-radius: 14px;
	padding: 10px 12px;
	background: rgba(255, 255, 255, 0.58);
	cursor: pointer;
	transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.gc-so-review-option:hover,
.gc-so-review-option:has(input:checked) {
	border-color: rgba(0, 132, 129, 0.45);
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 10px 26px rgba(7, 63, 77, 0.09);
	transform: translateY(-1px);
}

.gc-so-review-option input[type="radio"] {
	margin: 0;
}

.gc-so-option-indicator {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	border: 1px solid rgba(0, 132, 129, 0.28);
	color: transparent;
	font-size: 12px;
	font-weight: 900;
	background: rgba(255, 255, 255, 0.58);
	transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.gc-so-review-option:has(input:checked) .gc-so-option-indicator {
	border-color: rgba(63, 174, 106, 0.62);
	background: rgba(63, 174, 106, 0.14);
	color: #0F7A4C;
}

.gc-so-orientation-panel {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.82);
	border-left: 1px solid rgba(0, 132, 129, 0.42);
	background: linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(236, 249, 246, 0.66));
	box-shadow: 0 24px 70px rgba(7, 63, 77, 0.14);
	backdrop-filter: blur(22px);
	-webkit-backdrop-filter: blur(22px);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.gc-so-orientation-panel::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: linear-gradient(180deg, #008481, #3FAE6A);
}

.gc-so-orientation-panel::after {
	content: "";
	position: absolute;
	left: -35%;
	top: 0;
	width: 30%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.52), transparent);
	transform: skewX(-16deg);
	transition: left 420ms ease;
	pointer-events: none;
}

.gc-so-orientation-panel.is-updating {
	transform: translateY(-2px);
	box-shadow: 0 28px 78px rgba(7, 63, 77, 0.17);
}

.gc-so-orientation-panel.is-updating::after {
	left: 110%;
}

.gc-so-orientation-status,
.gc-so-panel-label,
.gc-so-action-bar span,
.gc-so-state-grid span {
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #008481;
}

.gc-so-orientation-panel h3 {
	margin: 8px 0 10px;
	font-family: "Inter Tight", Inter, system-ui, sans-serif;
	font-size: clamp(24px, 3vw, 36px);
	font-weight: 900;
	line-height: 1.05;
	color: #073F4D;
}

.gc-so-state-grid,
.gc-so-orientation-columns,
.gc-so-action-bar {
	display: grid;
	gap: 14px;
}

.gc-so-state-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 20px 0;
}

.gc-so-state-grid div,
.gc-so-orientation-columns>div,
.gc-so-action-bar {
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.58);
	padding: 14px;
}

.gc-so-state-grid strong,
.gc-so-action-bar strong {
	margin-top: 5px;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.25;
	color: #073F4D;
}

.gc-so-orientation-columns {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 16px;
}

.gc-so-priority-list,
.gc-so-condition-list {
	margin: 10px 0 0;
	padding-left: 18px;
	color: var(--gc-so-text);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.45;
}

.gc-so-priority-list li,
.gc-so-condition-list li {
	margin-top: 6px;
}

.gc-so-action-bar {
	grid-template-columns: minmax(150px, 0.75fr) minmax(240px, 1.4fr) auto;
	align-items: center;
	margin-bottom: 14px;
}

.gc-so-contextual-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 16px;
	border-radius: 999px;
	background: #073F4D;
	color: #FFFFFF;
	font-size: 13px;
	font-weight: 900;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 14px 30px rgba(7, 63, 77, 0.18);
	transition: background 180ms ease, transform 180ms ease;
}

.gc-so-contextual-cta:hover,
.gc-so-contextual-cta:focus-visible {
	background: #0F7A4C;
	color: #FFFFFF;
	transform: translateY(-1px);
}

@media (max-width: 1024px) {

	.gc-so-state-grid,
	.gc-so-orientation-columns,
	.gc-so-action-bar {
		grid-template-columns: 1fr 1fr;
	}

	.gc-so-contextual-cta {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {

	.gc-so-state-grid,
	.gc-so-orientation-columns,
	.gc-so-action-bar {
		grid-template-columns: 1fr;
	}

	.gc-so-contextual-cta {
		width: 100%;
		white-space: normal;
		text-align: center;
	}
}

/* SOURCE OPERATIONS ORIENTATION REDESIGN — 1:1 Reference Match */
.gc-so-review-section {
	background: #F3F8F9;
	padding: 60px 0 80px;
}

.gc-so-review-section .gc-context-block {
	margin-bottom: 28px;
}

/* Card Container */
.gc-so-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.gc-so-orientation-card {
	position: relative;
	background: #FFFFFF;
	border: 1.5px solid #E3ECEF;
	border-radius: 26px;
	box-shadow: 0 10px 36px rgba(7, 63, 77, 0.05);
	padding: 34px 38px 28px;
	margin-top: 24px;
	overflow: hidden;
}

.gc-so-orientation-card__topline {
	position: absolute;
	top: 0;
	left: 0;
	width: 190px;
	height: 5px;
	background: #008481;
	border-top-left-radius: 26px;
	border-bottom-right-radius: 4px;
}

/* Header: Tab + Badge */
.gc-so-orientation-card__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 18px;
}

.gc-so-orientation-card__tab {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 8px 18px 8px 14px;
	border-radius: 999px;
	background: #E5F6F1;
	color: #034D40;
	font-size: 13px;
	font-weight: 850;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.gc-so-tab-icon {
	width: 19px;
	height: 19px;
	object-fit: contain;
	display: block;
}

.gc-so-orientation-card__badge {
	display: inline-flex;
	align-items: center;
	padding: 6px 16px;
	border-radius: 999px;
	background: #EDF3F6;
	color: #547385;
	font-size: 13.5px;
	font-weight: 700;
}

/* Alert Banner */
.gc-so-orientation-alert {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 20px;
	border-radius: 12px;
	background: #F1F6F8;
	color: #3B5D6E;
	font-size: 14.5px;
	font-weight: 550;
	margin-bottom: 26px;
}

.gc-so-alert-icon {
	width: 20px;
	height: 20px;
	object-fit: contain;
	flex-shrink: 0;
	display: block;
}

.gc-so-orientation-alert p {
	margin: 0;
	line-height: 1.4;
	color: #3B5D6E;
}

/* Panel Root */
.gc-so-orientation-panel.gc-so-review-result {
	margin-top: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

/* Hero Section */
.gc-so-orientation-hero {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 36px;
	align-items: center;
	margin-bottom: 28px;
}

.gc-so-orientation-copy .gc-so-orientation-status {
	font-size: 12px;
	font-weight: 900;
	color: #008481;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.gc-so-orientation-copy h3 {
	font-size: clamp(34px, 3.2vw, 42px);
	font-weight: 900;
	color: #063943;
	margin: 0 0 12px 0;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.gc-so-orientation-copy p {
	font-size: 15.5px;
	line-height: 1.5;
	color: #4B697A;
	margin: 0;
	max-width: 630px;
}

.gc-so-orientation-visual {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 26px;
	border-radius: 20px;
	background: #EEF8F3;
	border: 1.5px solid #D6EFE1;
}

.gc-so-shield-wrap {
	width: 82px;
	height: 82px;
	border-radius: 50%;
	background: #DCF3E6;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gc-so-shield-img {
	width: 64px;
	height: 64px;
	object-fit: contain;
	display: block;
}

.gc-so-visual-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.gc-so-visual-text strong {
	font-size: 20px;
	font-weight: 850;
	color: #063943;
	line-height: 1.25;
}

.gc-so-visual-pill {
	display: inline-block;
	padding: 5px 14px;
	border-radius: 999px;
	background: #D5F3E2;
	color: #0D7D46;
	font-size: 13px;
	font-weight: 800;
}

/* 4 Process Steps Connected Row */
.gc-so-orientation-state-grid {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 26px;
	width: 100%;
}

.gc-so-step-card {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 14px 18px;
	border-radius: 16px;
	background: #FFFFFF;
	border: 1.5px solid #E3ECEF;
	box-shadow: 0 4px 14px rgba(7, 63, 77, 0.03);
}

.gc-so-step-icon-wrap {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #EAF7F0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gc-so-step-icon {
	width: 28px;
	height: 28px;
	object-fit: contain;
	display: block;
}

.gc-so-step-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex-grow: 1;
}

.gc-so-step-label {
	font-size: 11px;
	font-weight: 850;
	color: #008481;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 2px;
}

.gc-so-step-val {
	font-size: 17px;
	font-weight: 850;
	color: #063943;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gc-so-step-check {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gc-so-step-check img {
	width: 24px;
	height: 24px;
	object-fit: contain;
	display: block;
}

.gc-so-step-arrow {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 14px;
}

.gc-so-step-arrow svg {
	width: 8px;
	height: 14px;
	display: block;
}

/* 3 Columns Row */
.gc-so-orientation-columns {
	display: grid;
	grid-template-columns: 1fr 1fr 1.05fr;
	gap: 18px;
	margin-bottom: 24px;
}

.gc-so-priority-card,
.gc-so-known-card,
.gc-so-validate-card {
	background: #FFFFFF;
	border: 1.5px solid #E3ECEF;
	border-radius: 18px;
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 14px rgba(7, 63, 77, 0.03);
}

.gc-so-col-label {
	font-size: 12px;
	font-weight: 850;
	color: #008481;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 14px;
	display: block;
}

/* Col 1: PRIORIDAD PRINCIPAL */
.gc-so-priority-feature-row {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 12px;
}

.gc-so-priority-num {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #DCF5E8;
	color: #04715F;
	font-size: 18px;
	font-weight: 900;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gc-so-priority-title {
	font-size: 19px;
	font-weight: 850;
	color: #063943;
	line-height: 1.2;
	flex-grow: 1;
}

.gc-so-priority-icon-wrap {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #E8F8F2;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-left: auto;
}

.gc-so-priority-icon-wrap img {
	width: 34px;
	height: 34px;
	object-fit: contain;
	display: block;
}

.gc-so-priority-desc {
	font-size: 14px;
	line-height: 1.45;
	color: #506D7D;
	margin: 0;
}

/* Col 2: CONDICIONES CONOCIDAS */
.gc-so-condition-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.gc-so-condition-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13.5px;
	font-weight: 550;
	color: #446374;
	line-height: 1.35;
	position: relative;
}

.gc-so-check-dot {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	margin-top: 1px;
	object-fit: contain;
	display: block;
}

/* Fallback for JS-rendered items without inline img */
.gc-so-condition-list li:not(:has(.gc-so-check-dot))::before {
	content: "";
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	margin-top: 1px;
	background: url('/geociklo/wp-content/uploads/1Fuentes/Fuentes11.png') no-repeat center / contain;
	display: inline-block;
}

/* Col 3: POR VALIDAR */
.gc-so-validate-body {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.gc-so-validate-icon-wrap {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #E5F6F6;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gc-so-validate-icon-wrap img {
	width: 34px;
	height: 34px;
	object-fit: contain;
	display: block;
}

.gc-so-validate-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.gc-so-validate-text {
	font-size: 14.5px;
	font-weight: 750;
	color: #063943;
	line-height: 1.35;
}

.gc-so-validate-pill {
	display: inline-block;
	padding: 5px 14px;
	border-radius: 999px;
	background: #EDF3F5;
	color: #577382;
	font-size: 12.5px;
	font-weight: 700;
}

/* Bottom Action Bar */
.gc-so-action-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 24px;
	border-radius: 20px;
	background: #FFFFFF;
	border: 1.5px solid #E3ECEF;
	box-shadow: 0 4px 16px rgba(7, 63, 77, 0.03);
	margin-bottom: 16px;
	gap: 20px;
}

.gc-so-action-left {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.gc-so-action-icon-wrap {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #EAF8F2;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gc-so-action-icon-wrap img {
	width: 28px;
	height: 28px;
	object-fit: contain;
	display: block;
}

.gc-so-action-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.gc-so-action-eyebrow {
	font-size: 11px;
	font-weight: 850;
	color: #008481;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 2px;
}

.gc-so-action-title {
	font-size: 18px;
	font-weight: 850;
	color: #063943;
	margin-bottom: 2px;
	line-height: 1.25;
}

.gc-so-action-desc {
	font-size: 13px;
	color: #587484;
	margin: 0;
	line-height: 1.35;
}

.gc-so-contextual-cta {
	background: #004F59;
	color: #FFFFFF !important;
	border-radius: 999px;
	padding: 15px 34px;
	font-size: 15.5px;
	font-weight: 800;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	flex-shrink: 0;
	transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
	box-shadow: 0 4px 14px rgba(0, 79, 89, 0.22);
}

.gc-so-contextual-cta:hover,
.gc-so-contextual-cta:focus-visible {
	background: #063D45;
	color: #FFFFFF !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(0, 79, 89, 0.28);
}

/* Bottom Disclaimer */
.gc-so-orientation-disclaimer {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	color: #6D8896;
	line-height: 1.4;
	padding-left: 4px;
}

.gc-so-disclaimer-icon {
	width: 17px;
	height: 17px;
	object-fit: contain;
	flex-shrink: 0;
	display: block;
}

.gc-so-disclaimer-text {
	margin: 0;
	color: #6D8896;
	font-size: 12.5px;
}

/* Responsive Breakpoints */
@media (max-width: 1180px) {
	.gc-so-orientation-hero {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.gc-so-orientation-visual {
		width: 100%;
		max-width: 520px;
	}

	.gc-so-orientation-state-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.gc-so-step-arrow {
		display: none;
	}

	.gc-so-orientation-columns {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.gc-so-action-bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
	}

	.gc-so-contextual-cta {
		width: 100%;
	}
}

@media (max-width: 720px) {
	.gc-so-orientation-card {
		padding: 24px 18px 20px;
		border-radius: 18px;
	}

	.gc-so-orientation-card__topline {
		width: 120px;
		border-top-left-radius: 18px;
	}

	.gc-so-orientation-card__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.gc-so-orientation-copy h3 {
		font-size: 28px;
	}

	.gc-so-orientation-visual {
		padding: 16px;
		gap: 14px;
	}

	.gc-so-shield-wrap {
		width: 60px;
		height: 60px;
	}

	.gc-so-shield-img {
		width: 48px;
		height: 48px;
	}

	.gc-so-visual-text strong {
		font-size: 16.5px;
	}

	.gc-so-orientation-state-grid {
		grid-template-columns: 1fr;
	}

	.gc-so-priority-feature-row {
		flex-wrap: wrap;
	}

	.gc-so-action-left {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}