/**
 * GEOCIKLO — Sector Intelligence & Ecosystem Platform Hub Styles
 * High-Impact Interactive SaaS Experience.
 * Typography: Inter Tight (Headlines in Black / 900).
 * Color Palette: Deep Petroleum (#035877), Emerald (#3FAE6A), Teal (#06605C), Clean Light (#F4F8F6), Lime (#99D435).
 * 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-sec-dark: #073F4D;
	--gc-sec-petroleum: #035877;
	--gc-sec-teal: #06605C;
	--gc-sec-emerald: #3FAE6A;
	--gc-sec-emerald-light: #56C983;
	--gc-sec-lime: #99D435;
	--gc-sec-bg-light: #F4F8F6;
	--gc-sec-bg-card: #FFFFFF;
	--gc-sec-border: #E1ECE7;
	--gc-sec-border-light: rgba(225, 236, 231, 0.6);
	--gc-sec-text-muted: #57737A;
	--gc-sec-text-sub: #7A9399;
	--gc-sec-shadow-sm: 0 4px 20px rgba(7, 63, 77, 0.05);
	--gc-sec-shadow-md: 0 14px 36px rgba(7, 63, 77, 0.08);
	--gc-sec-shadow-lg: 0 24px 54px rgba(7, 63, 77, 0.12);
	--gc-sec-shadow-glow: 0 0 35px rgba(63, 174, 106, 0.25);
}

.gc-sectors-root {
	overflow-x: clip;
}


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

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

/* Hide default theme headers if present */
body:has(.gc-sectors-root) .page-header,
body:has(.gc-sectors-root) .entry-header {
	display: none !important;
}

.gc-sec-container {
	width: 100%;
	max-width: var(--gc-page-max, 1380px);
	padding: 0;
	margin: 0 auto;
	box-sizing: border-box;
}

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

.text-center {
	text-align: center;
}

.gc-sec-eyebrow {
	font-size: 11.5px;
	font-weight: 900;
	letter-spacing: 0.12em;
	color: var(--gc-sec-emerald);
	text-transform: uppercase;
	margin-bottom: 12px;
	display: inline-block;
}

.gc-sec-eyebrow.text-white {
	color: var(--gc-sec-lime);
}

.gc-sec-section-title-wrap {
	max-width: 1100px;
	margin: 0 auto 50px auto;
}

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

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

/* Standardized Buttons */
.gc-somos-btn-primary {
	background: #035877 !important;
	color: #FFFFFF !important;
	padding: 13px 28px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 6px 20px rgba(3, 88, 119, 0.24);
	border: none;
	cursor: pointer;
}

.gc-somos-btn-primary:hover {
	background: #06605C !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(6, 96, 92, 0.32);
	color: #FFFFFF !important;
}

/* ==========================================================================
   01 — HERO DE ALTO IMPACTO
   ========================================================================== */
.gc-sec-hero-pro {
	position: relative;
	padding-top: calc(var(--gc-header-offset, 84px) + 36px);
	padding-bottom: 70px;
	min-height: 600px;
	display: flex;
	align-items: center;
	background-color: #FFFFFF;
	overflow: hidden;
}

.gc-sec-hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 1;
	z-index: 1;
	pointer-events: none;
}

.gc-sec-hero-pro::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		#FFFFFF 0%,
		rgba(255, 255, 255, 0.96) 34%,
		rgba(255, 255, 255, 0.86) 48%,
		rgba(255, 255, 255, 0.35) 68%,
		rgba(255, 255, 255, 0.05) 100%
	);
	z-index: 2;
	pointer-events: none;
}

.gc-sec-hero-pro::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.90) 80%,
		#FFFFFF 100%
	);
	z-index: 2;
	pointer-events: none;
}

.gc-sec-hero-pro .gc-sec-container {
	position: relative;
	z-index: 3;
}

.gc-sec-hero-pro-grid {
	max-width: 820px;
}

.gc-sec-hero-badge-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #FFFFFF;
	border: 1.5px solid var(--gc-sec-border);
	padding: 6px 16px;
	border-radius: 9999px;
	margin-bottom: 22px;
	box-shadow: 0 4px 14px rgba(7, 63, 77, 0.06);
}

.gc-badge-pulse-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gc-sec-emerald);
	box-shadow: 0 0 10px var(--gc-sec-emerald);
	animation: gcPulseDot 2s infinite ease-in-out;
}

@keyframes gcPulseDot {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.4); opacity: 0.6; }
}

.gc-badge-text {
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	color: var(--gc-sec-dark);
}

.gc-sec-hero-pro-h1 {
	font-size: clamp(34px, 4.2vw, 56px);
	font-weight: 900;
	line-height: 1.12;
	letter-spacing: -0.04em;
	color: #042d38;
	margin: 0 0 20px 0;
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.4);
}

.gc-sec-hero-pro-lead {
	font-size: clamp(16px, 1.25vw, 19px);
	line-height: 1.62;
	color: #093742;
	font-weight: 500;
	margin: 0 0 28px 0;
	max-width: 740px;
	text-shadow: 0 1px 2px rgba(255, 255, 255, 0.35);
}

.gc-sec-hero-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 32px;
}

.gc-hero-tag-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--gc-sec-bg-light);
	border: 1px solid var(--gc-sec-border);
	padding: 6px 14px;
	border-radius: 9999px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--gc-sec-dark);
}

.gc-tag-chk {
	color: var(--gc-sec-emerald);
	font-weight: 900;
}

.gc-sec-hero-ctas {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 36px;
}

.gc-btn-hero-primary {
	background: var(--gc-sec-emerald) !important;
	color: #FFFFFF !important;
	padding: 15px 32px;
	border-radius: 9999px;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 8px 24px rgba(63, 174, 106, 0.35);
	border: none;
	cursor: pointer;
}

.gc-btn-hero-primary:hover {
	background: #349659 !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(63, 174, 106, 0.45);
	color: #FFFFFF !important;
}

.gc-btn-hero-secondary {
	background: #FFFFFF;
	color: var(--gc-sec-dark) !important;
	border: 1.5px solid var(--gc-sec-border);
	padding: 14px 28px;
	border-radius: 9999px;
	font-size: 14.5px;
	font-weight: 800;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.22s ease;
}

.gc-btn-hero-secondary:hover {
	border-color: var(--gc-sec-emerald);
	color: var(--gc-sec-petroleum) !important;
	transform: translateY(-2px);
	box-shadow: var(--gc-sec-shadow-sm);
}

.gc-sec-hero-micro-metrics {
	display: flex;
	align-items: center;
	gap: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--gc-sec-border);
}

.gc-micro-metric-item strong {
	display: block;
	font-size: 19px;
	font-weight: 900;
	color: var(--gc-sec-dark);
	line-height: 1;
}

.gc-micro-metric-item span {
	font-size: 12px;
	color: var(--gc-sec-text-muted);
	font-weight: 600;
}

.gc-micro-metric-divider {
	width: 1px;
	height: 24px;
	background: var(--gc-sec-border);
}

/* Hero Right 3D Scene + Floating UI */
.gc-sec-stage-wrapper {
	position: relative;
	width: 100%;
	min-height: 540px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gc-sec-stage-backdrop {
	position: absolute;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(63, 174, 106, 0.22) 0%, rgba(3, 88, 119, 0.05) 70%, transparent 100%);
	filter: blur(40px);
	z-index: 1;
}

.gc-sec-stage-ring-pulse {
	position: absolute;
	width: 550px;
	height: 550px;
	border: 1px dashed rgba(63, 174, 106, 0.35);
	border-radius: 50%;
	animation: gcRotateSlow 40s linear infinite;
	z-index: 1;
}

@keyframes gcRotateSlow {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.gc-sec-stage-diorama {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 620px;
	animation: gcFloatDiorama 6s ease-in-out infinite alternate;
}

@keyframes gcFloatDiorama {
	0% { transform: translateY(0px); }
	100% { transform: translateY(-12px); }
}

.gc-sec-diorama-render {
	width: 100%;
	height: auto;
	display: block;
	filter: drop-shadow(0 24px 38px rgba(7, 63, 77, 0.16));
}

/* Floating UI Cards */
.gc-float-card {
	position: absolute;
	z-index: 4;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1.5px solid rgba(255, 255, 255, 0.8);
	border-radius: 18px;
	box-shadow: 0 16px 36px rgba(7, 63, 77, 0.14);
	padding: 14px 18px;
	animation: gcFloatCard 5s ease-in-out infinite alternate;
}

@keyframes gcFloatCard {
	0% { transform: translateY(0px); }
	100% { transform: translateY(-8px); }
}

.gc-float-telemetry {
	top: 5%;
	right: -4%;
	width: 220px;
	animation-delay: 0.5s;
}

.gc-float-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}

.gc-live-indicator {
	font-size: 9.5px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.gc-dot-live {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gc-sec-emerald);
	box-shadow: 0 0 6px var(--gc-sec-emerald);
}

.gc-float-card-time {
	font-size: 10px;
	font-weight: 700;
	color: var(--gc-sec-text-muted);
}

.gc-float-data-row {
	font-size: 11.5px;
	margin-bottom: 6px;
}

.gc-data-label { color: var(--gc-sec-text-muted); }
.gc-data-val { font-weight: 800; color: var(--gc-sec-dark); }

.gc-float-progress-track {
	width: 100%;
	height: 5px;
	background: #E8F2ED;
	border-radius: 9999px;
	overflow: hidden;
	margin-bottom: 6px;
}

.gc-float-progress-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--gc-sec-emerald), var(--gc-sec-lime));
	border-radius: 9999px;
}

.gc-float-data-sub {
	display: flex;
	justify-content: space-between;
	font-size: 10.5px;
	color: var(--gc-sec-dark);
}

.gc-text-success {
	color: var(--gc-sec-emerald);
	font-weight: 800;
}

.gc-float-destination {
	bottom: 2%;
	left: -2%;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 18px;
	animation-delay: 1.5s;
}

.gc-float-dest-icon {
	font-size: 22px;
	background: rgba(63, 174, 106, 0.12);
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gc-dest-badge {
	display: block;
	font-size: 9.5px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
	letter-spacing: 0.06em;
}

.gc-dest-name {
	display: block;
	font-size: 12.5px;
	font-weight: 800;
	color: var(--gc-sec-dark);
}

.gc-dest-status {
	display: block;
	font-size: 11px;
	color: var(--gc-sec-text-muted);
}

.gc-float-doc {
	top: 48%;
	right: -2%;
	padding: 8px 14px;
	animation-delay: 2.2s;
}

.gc-doc-pill {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 800;
	color: var(--gc-sec-dark);
}


/* ==========================================================================
   02 — LA OPERACIÓN YA NO DEBE SER CAOS
   ========================================================================== */
.gc-sec-chaos-section {
	padding: 90px 0;
	background: #FFFFFF;
}

.gc-sec-chaos-grid {
	display: grid;
	grid-template-columns: 52% 48%;
	gap: 48px;
	align-items: center;
}

.gc-chaos-monitor-card {
	background: #073F4D;
	color: #FFFFFF;
	border-radius: 24px;
	padding: 28px;
	box-shadow: 0 20px 48px rgba(7, 63, 77, 0.22);
	border: 1px solid rgba(255, 255, 255, 0.1);
	position: relative;
	overflow: hidden;
}

.gc-monitor-top-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	margin-bottom: 22px;
}

.gc-monitor-dots {
	display: flex;
	gap: 6px;
}

.gc-m-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}
.gc-dot-red { background: #FF5F56; }
.gc-dot-yellow { background: #FFBD2E; }
.gc-dot-green { background: #27C93F; }

.gc-monitor-title {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.6);
}

.gc-monitor-status-pill {
	font-size: 9.5px;
	font-weight: 900;
	background: rgba(63, 174, 106, 0.25);
	color: var(--gc-sec-lime);
	padding: 4px 10px;
	border-radius: 9999px;
	border: 1px solid rgba(153, 212, 53, 0.3);
}

.gc-monitor-stream-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 24px;
}

.gc-m-stream-tag {
	font-size: 10.5px;
	font-weight: 800;
	color: var(--gc-sec-emerald-light);
	display: block;
	margin-bottom: 4px;
}

.gc-m-stream-title {
	font-size: 20px;
	font-weight: 800;
	color: #FFFFFF;
	margin: 0;
}

.gc-m-stream-metric {
	font-size: 14px;
	font-weight: 800;
	color: var(--gc-sec-lime);
	background: rgba(255, 255, 255, 0.08);
	padding: 5px 12px;
	border-radius: 8px;
}

.gc-monitor-steps-pipeline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: rgba(0, 0, 0, 0.22);
	padding: 16px;
	border-radius: 16px;
	margin-bottom: 24px;
}

.gc-pipe-step {
	display: flex;
	align-items: center;
	gap: 10px;
}

.gc-pipe-circle {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--gc-sec-emerald);
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 900;
}

.gc-pipe-step.is-current .gc-pipe-circle {
	background: var(--gc-sec-lime);
	color: var(--gc-sec-dark);
	box-shadow: 0 0 12px var(--gc-sec-lime);
}

.gc-pipe-info strong {
	display: block;
	font-size: 11.5px;
	color: #FFFFFF;
}

.gc-pipe-info span {
	font-size: 10px;
	color: rgba(255, 255, 255, 0.6);
}

.gc-pipe-line {
	flex: 1;
	height: 2px;
	background: rgba(255, 255, 255, 0.15);
	margin: 0 10px;
}

.gc-pipe-line.is-active {
	background: var(--gc-sec-emerald);
}

.gc-monitor-telemetry-box {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-bottom: 20px;
}

.gc-tele-metric-block {
	background: rgba(255, 255, 255, 0.06);
	padding: 12px;
	border-radius: 12px;
	text-align: center;
}

.gc-tele-lbl {
	display: block;
	font-size: 10px;
	color: rgba(255, 255, 255, 0.6);
	margin-bottom: 4px;
}

.gc-tele-num {
	font-size: 15px;
	font-weight: 900;
	color: #FFFFFF;
}

.gc-monitor-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 11.5px;
	color: rgba(255, 255, 255, 0.6);
}

.gc-m-footer-link {
	color: var(--gc-sec-lime) !important;
	font-weight: 800;
	text-decoration: none !important;
}

/* Right Benefit Cards */
.gc-sec-chaos-cards-col {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gc-chaos-benefit-card {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	background: var(--gc-sec-bg-light);
	border: 1.5px solid var(--gc-sec-border);
	padding: 18px 22px;
	border-radius: 18px;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	cursor: default;
}

.gc-chaos-benefit-card:hover {
	background: #FFFFFF;
	border-color: var(--gc-sec-emerald);
	transform: translateX(6px);
	box-shadow: var(--gc-sec-shadow-md);
}

.gc-benefit-icon-box {
	font-size: 22px;
	background: #FFFFFF;
	border: 1px solid var(--gc-sec-border);
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gc-chaos-benefit-card:hover .gc-benefit-icon-box {
	background: var(--gc-sec-emerald);
	border-color: var(--gc-sec-emerald);
	transform: scale(1.08);
}

.gc-benefit-title {
	font-size: 16px;
	font-weight: 800;
	color: var(--gc-sec-dark);
	margin: 0 0 4px 0;
}

.gc-benefit-desc {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--gc-sec-text-muted);
	margin: 0;
}


/* ==========================================================================
   03 — COBERTURA / ECOSISTEMA CONECTADO
   ========================================================================== */
.gc-sec-coverage-section {
	padding: 90px 0;
	background: linear-gradient(180deg, #FFFFFF 0%, #F4F8F6 100%);
}

.gc-sec-coverage-grid {
	display: grid;
	grid-template-columns: 42% 58%;
	gap: 52px;
	align-items: center;
}

.gc-coverage-pillars-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 30px;
}

.gc-coverage-pillar-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.gc-cov-num {
	font-size: 14px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
	background: rgba(63, 174, 106, 0.12);
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gc-cov-body h4 {
	font-size: 16px;
	font-weight: 800;
	color: var(--gc-sec-dark);
	margin: 0 0 4px 0;
}

.gc-cov-body p {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--gc-sec-text-muted);
	margin: 0;
}

/* Map Card */
.gc-network-map-card {
	background: #073F4D;
	border-radius: 28px;
	padding: 30px;
	box-shadow: 0 24px 54px rgba(7, 63, 77, 0.2);
	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.1);
	overflow: hidden;
}

.gc-network-map-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.gc-net-badge {
	font-size: 11px;
	font-weight: 900;
	color: var(--gc-sec-lime);
	display: flex;
	align-items: center;
	gap: 8px;
}

.gc-pulse-green {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gc-sec-lime);
	box-shadow: 0 0 8px var(--gc-sec-lime);
	animation: gcPulseDot 1.8s infinite;
}

.gc-net-coverage-tag {
	font-size: 10px;
	font-weight: 800;
	background: rgba(255, 255, 255, 0.1);
	color: #FFFFFF;
	padding: 4px 10px;
	border-radius: 9999px;
}

.gc-network-interactive-stage {
	position: relative;
	width: 100%;
	height: 380px;
	background: radial-gradient(circle at center, rgba(3, 88, 119, 0.4) 0%, rgba(7, 63, 77, 0.9) 100%);
	border-radius: 20px;
	overflow: hidden;
}

.gc-network-bg-map {
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 0.35;
	filter: hue-rotate(140deg) brightness(1.2);
	position: absolute;
	top: 0;
	left: 0;
}

.gc-network-svg-lines {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.gc-svg-net-line {
	stroke: var(--gc-sec-emerald);
	stroke-width: 1.8;
	stroke-dasharray: 4 4;
	opacity: 0.6;
	animation: gcDashLine 20s linear infinite;
}

@keyframes gcDashLine {
	to { stroke-dashoffset: -100; }
}

/* Map Nodes */
.gc-net-node {
	position: absolute;
	cursor: pointer;
	z-index: 5;
	transform: translate(-50%, -50%);
}

.gc-node-pin {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 2px solid var(--gc-sec-emerald);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	transition: all 0.2s ease;
}

.gc-net-node.is-hq .gc-node-pin {
	border-color: var(--gc-sec-lime);
	background: #035877;
}

.gc-node-pin-pulse {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1.5px solid var(--gc-sec-emerald);
	animation: gcNodePulse 2.2s infinite ease-out;
}

@keyframes gcNodePulse {
	0% { transform: translate(-50%, -50%) scale(0.6); opacity: 1; }
	100% { transform: translate(-50%, -50%) scale(1.6); opacity: 0; }
}

.gc-node-tooltip {
	position: absolute;
	bottom: 34px;
	left: 50%;
	transform: translateX(-50%) translateY(10px);
	background: rgba(255, 255, 255, 0.96);
	color: var(--gc-sec-dark);
	padding: 10px 14px;
	border-radius: 12px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
	width: 180px;
	font-size: 11px;
	opacity: 0;
	pointer-events: none;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	z-index: 10;
}

.gc-node-tooltip strong {
	display: block;
	font-size: 12.5px;
	color: var(--gc-sec-dark);
	margin-bottom: 2px;
}

.gc-node-tooltip span {
	display: block;
	color: var(--gc-sec-petroleum);
	font-weight: 700;
	margin-bottom: 4px;
}

.gc-node-tooltip em {
	display: block;
	font-style: normal;
	font-size: 9.5px;
	color: var(--gc-sec-text-muted);
}

.gc-net-node:hover .gc-node-tooltip {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

.gc-net-node:hover .gc-node-pin {
	transform: scale(1.2);
}

.gc-network-footer-bar {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	text-align: center;
}

.gc-net-stat strong {
	display: block;
	font-size: 20px;
	font-weight: 900;
	color: var(--gc-sec-lime);
}

.gc-net-stat span {
	font-size: 11px;
	color: rgba(255, 255, 255, 0.7);
}


/* ==========================================================================
   04 — CÓMO FUNCIONA (Pipeline 3D en 5 Etapas)
   ========================================================================== */
.gc-sec-how-pro-section {
	padding: 90px 0;
	background: #FFFFFF;
}

.gc-how-tabs-nav {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-bottom: 40px;
	flex-wrap: wrap;
}

.gc-how-tab-btn {
	background: var(--gc-sec-bg-light);
	border: 1.5px solid var(--gc-sec-border);
	padding: 12px 20px;
	border-radius: 9999px;
	font-family: inherit;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: all 0.22s ease;
}

.gc-how-tab-num {
	font-size: 12px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
	background: #FFFFFF;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gc-how-tab-title {
	font-size: 13.5px;
	font-weight: 800;
	color: var(--gc-sec-dark);
}

.gc-how-tab-btn.is-active {
	background: var(--gc-sec-dark);
	border-color: var(--gc-sec-dark);
	box-shadow: var(--gc-sec-shadow-md);
	transform: translateY(-2px);
}

.gc-how-tab-btn.is-active .gc-how-tab-title {
	color: #FFFFFF;
}

.gc-how-tab-btn.is-active .gc-how-tab-num {
	background: var(--gc-sec-lime);
	color: var(--gc-sec-dark);
}

.gc-how-stage-showcase {
	background: var(--gc-sec-bg-light);
	border: 1.5px solid var(--gc-sec-border);
	border-radius: 28px;
	padding: 48px;
	box-shadow: var(--gc-sec-shadow-md);
	position: relative;
	min-height: 440px;
}

.gc-how-stage-panel {
	display: none;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
	animation: gcFadeIn 0.35s ease;
}

.gc-how-stage-panel.is-active {
	display: grid;
}

@keyframes gcFadeIn {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.gc-stage-badge-row {
	display: flex;
	gap: 10px;
	margin-bottom: 16px;
}

.gc-stage-badge {
	font-size: 10.5px;
	font-weight: 900;
	background: var(--gc-sec-dark);
	color: #FFFFFF;
	padding: 4px 12px;
	border-radius: 9999px;
}

.gc-stage-tag {
	font-size: 10.5px;
	font-weight: 800;
	background: rgba(63, 174, 106, 0.15);
	color: var(--gc-sec-teal);
	padding: 4px 12px;
	border-radius: 9999px;
}

.gc-stage-headline {
	font-size: clamp(24px, 2.5vw, 34px);
	font-weight: 900;
	color: var(--gc-sec-dark);
	margin: 0 0 16px 0;
	line-height: 1.2;
}

.gc-stage-lead {
	font-size: 16px;
	line-height: 1.6;
	color: var(--gc-sec-text-muted);
	margin: 0 0 24px 0;
}

.gc-stage-benefits-checklist {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 30px;
}

.gc-stage-chk-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 700;
	color: var(--gc-sec-dark);
}

.gc-chk-circle {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--gc-sec-emerald);
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 900;
	flex-shrink: 0;
}

.gc-stage-3d-card {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-sec-border);
	border-radius: 24px;
	padding: 30px;
	box-shadow: var(--gc-sec-shadow-md);
	position: relative;
	text-align: center;
}

.gc-stage-img-wrap {
	width: 100%;
	max-width: 380px;
	margin: 0 auto;
}

.gc-stage-3d-img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 14px 28px rgba(7, 63, 77, 0.12));
	transition: transform 0.3s ease;
}

.gc-stage-3d-card:hover .gc-stage-3d-img {
	transform: scale(1.03);
}

.gc-stage-overlay-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(7, 63, 77, 0.9);
	color: #FFFFFF;
	padding: 6px 16px;
	border-radius: 9999px;
	font-size: 11px;
	font-weight: 800;
	margin-top: 16px;
}

.gc-live-pulse-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gc-sec-lime);
	box-shadow: 0 0 6px var(--gc-sec-lime);
}


/* ==========================================================================
   05 — MÓDULOS DE LA PLATAFORMA SAAS
   ========================================================================== */
.gc-sec-modules-section {
	padding: 90px 0;
	background: #F8FCF9;
}

.gc-modules-interactive-wrapper {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 32px;
	align-items: flex-start;
}

.gc-modules-sidebar-nav {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.gc-mod-nav-btn {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-sec-border);
	padding: 16px 20px;
	border-radius: 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	cursor: pointer;
	text-align: left;
	font-family: inherit;
	transition: all 0.22s ease;
	outline: none;
	width: 100%;
}

.gc-mod-nav-icon {
	font-size: 24px;
	background: var(--gc-sec-bg-light);
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gc-mod-nav-text {
	flex: 1;
}

.gc-mod-nav-badge {
	display: block;
	font-size: 9.5px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
	letter-spacing: 0.06em;
}

.gc-mod-nav-name {
	display: block;
	font-size: 14.5px;
	font-weight: 800;
	color: var(--gc-sec-dark);
}

.gc-mod-nav-arrow {
	font-size: 14px;
	color: var(--gc-sec-text-muted);
	transition: transform 0.2s ease;
}

.gc-mod-nav-btn:hover {
	border-color: var(--gc-sec-emerald);
	transform: translateX(4px);
}

.gc-mod-nav-btn.is-active {
	background: #035877;
	border-color: #035877;
	box-shadow: var(--gc-sec-shadow-md);
	transform: translateX(4px);
}

.gc-mod-nav-btn.is-active .gc-mod-nav-name,
.gc-mod-nav-btn.is-active .gc-mod-nav-arrow {
	color: #FFFFFF;
}

.gc-mod-nav-btn.is-active .gc-mod-nav-badge {
	color: var(--gc-sec-lime);
}

.gc-mod-nav-btn.is-active .gc-mod-nav-icon {
	background: rgba(255, 255, 255, 0.15);
}

/* Main Display Panel */
.gc-modules-main-showcase {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-sec-border);
	border-radius: 28px;
	padding: 40px;
	box-shadow: var(--gc-sec-shadow-md);
	min-height: 480px;
}

.gc-module-display-panel {
	display: none;
	animation: gcFadeIn 0.35s ease;
}

.gc-module-display-panel.is-active {
	display: block;
}

.gc-module-panel-top {
	margin-bottom: 28px;
}

.gc-mod-badge-group {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.gc-mod-pill-badge {
	font-size: 10.5px;
	font-weight: 900;
	background: var(--gc-sec-dark);
	color: #FFFFFF;
	padding: 4px 12px;
	border-radius: 9999px;
}

.gc-mod-pill-status {
	font-size: 10.5px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.gc-mod-panel-title {
	font-size: 28px;
	font-weight: 900;
	color: var(--gc-sec-dark);
	margin: 0 0 10px 0;
}

.gc-mod-panel-lead {
	font-size: 16px;
	line-height: 1.6;
	color: var(--gc-sec-text-muted);
	margin: 0;
}

.gc-module-breakdown-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 28px;
}

.gc-mod-breakdown-card {
	background: var(--gc-sec-bg-light);
	border: 1px solid var(--gc-sec-border);
	padding: 20px;
	border-radius: 18px;
}

.gc-mod-breakdown-card.is-highlight {
	background: rgba(63, 174, 106, 0.08);
	border-color: rgba(63, 174, 106, 0.3);
}

.gc-bk-icon {
	font-size: 20px;
	display: block;
	margin-bottom: 8px;
}

.gc-mod-breakdown-card h4 {
	font-size: 14px;
	font-weight: 800;
	color: var(--gc-sec-dark);
	margin: 0 0 6px 0;
}

.gc-mod-breakdown-card p {
	font-size: 13px;
	line-height: 1.5;
	color: var(--gc-sec-text-muted);
	margin: 0;
}

.gc-module-mockup-viewport {
	background: #073F4D;
	border-radius: 18px;
	padding: 16px 20px;
	color: #FFFFFF;
	margin-bottom: 28px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.gc-mockup-bar-title {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: var(--gc-sec-lime);
}

.gc-mockup-bar-metric {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
}

.gc-mockup-bar-metric strong {
	color: #FFFFFF;
	font-size: 14px;
}

.gc-mod-mockup-inner {
	display: flex;
	gap: 16px;
	align-items: center;
}

.gc-mockup-stat-pill {
	font-size: 12px;
}

.gc-mockup-tagline {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.8);
	background: rgba(255, 255, 255, 0.08);
	padding: 4px 10px;
	border-radius: 6px;
}


/* ==========================================================================
   06 — AUTOMATIZACIÓN QUE IMPACTA
   ========================================================================== */
.gc-sec-automation-section {
	padding: 90px 0;
	background: #FFFFFF;
}

.gc-automation-simulator-card {
	background: linear-gradient(135deg, #073F4D 0%, #035877 100%);
	border-radius: 28px;
	padding: 36px;
	box-shadow: 0 24px 54px rgba(7, 63, 77, 0.25);
	color: #FFFFFF;
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.gc-auto-card-top-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	margin-bottom: 30px;
}

.gc-auto-live-tag {
	font-size: 11.5px;
	font-weight: 900;
	color: var(--gc-sec-lime);
	display: flex;
	align-items: center;
	gap: 8px;
}

.gc-auto-pulse-indicator {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gc-sec-lime);
	box-shadow: 0 0 8px var(--gc-sec-lime);
	animation: gcPulseDot 1.6s infinite;
}

.gc-auto-sys-tag {
	font-size: 10px;
	font-weight: 800;
	background: rgba(255, 255, 255, 0.1);
	padding: 4px 10px;
	border-radius: 9999px;
	letter-spacing: 0.06em;
}

.gc-auto-nodes-flow {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
	gap: 12px;
	align-items: center;
	margin-bottom: 36px;
}

.gc-auto-node-item {
	background: rgba(255, 255, 255, 0.07);
	backdrop-filter: blur(10px);
	border: 1.5px solid rgba(255, 255, 255, 0.12);
	border-radius: 20px;
	padding: 22px 18px;
	transition: all 0.25s ease;
}

.gc-auto-node-item:hover,
.gc-auto-node-item.is-primary-node {
	background: rgba(255, 255, 255, 0.14);
	border-color: var(--gc-sec-emerald);
	transform: translateY(-4px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

.gc-auto-node-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.gc-auto-badge-status {
	font-size: 9px;
	font-weight: 900;
	padding: 2px 8px;
	border-radius: 9999px;
	letter-spacing: 0.06em;
}

.badge-live { background: #FF5F56; color: #FFFFFF; }
.badge-auto { background: var(--gc-sec-emerald); color: #FFFFFF; }
.badge-verified { background: var(--gc-sec-lime); color: var(--gc-sec-dark); }

.gc-auto-node-step {
	font-size: 12px;
	font-weight: 900;
	color: rgba(255, 255, 255, 0.5);
}

.gc-auto-node-icon {
	font-size: 24px;
	margin-bottom: 10px;
}

.gc-auto-node-title {
	font-size: 15px;
	font-weight: 800;
	color: #FFFFFF;
	margin: 0 0 6px 0;
	line-height: 1.2;
}

.gc-auto-node-desc {
	font-size: 12px;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.7);
	margin: 0 0 14px 0;
}

.gc-auto-node-telemetry {
	font-size: 11px;
	background: rgba(0, 0, 0, 0.25);
	padding: 6px 10px;
	border-radius: 8px;
	display: flex;
	justify-content: space-between;
	color: rgba(255, 255, 255, 0.7);
}

.gc-auto-node-telemetry strong {
	color: var(--gc-sec-lime);
}

.gc-auto-connector-arrow {
	font-size: 20px;
	color: var(--gc-sec-emerald);
	font-weight: 900;
	opacity: 0.7;
}

.gc-auto-card-bottom-actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.gc-auto-bottom-info {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.85);
}

.gc-auto-check-bullet {
	color: var(--gc-sec-lime);
	font-weight: 900;
}

.gc-btn-auto-action {
	background: var(--gc-sec-lime) !important;
	color: var(--gc-sec-dark) !important;
	padding: 12px 24px;
	border-radius: 9999px;
	font-size: 13.5px;
	font-weight: 900;
	text-decoration: none !important;
	transition: all 0.22s ease;
}

.gc-btn-auto-action:hover {
	background: #FFFFFF !important;
	transform: translateY(-2px);
}


/* ==========================================================================
   07 — MATRIZ OPERACIONAL MULTI-SECTOR
   ========================================================================== */
.gc-sec-switcher-section {
	padding: 90px 0;
	background: #F4F8F6;
}

.gc-sec-selector-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 36px;
}

.gc-sec-nav-card {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-sec-border);
	border-radius: 24px;
	padding: 26px 24px;
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 190px;
	text-align: left;
	outline: none;
	font-family: inherit;
}

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

.gc-sec-nav-card.is-active {
	background: var(--gc-sec-dark);
	color: #FFFFFF;
	border-color: var(--gc-sec-dark);
	box-shadow: var(--gc-sec-shadow-md);
	transform: translateY(-4px);
}

.gc-sec-nav-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.gc-sec-nav-num {
	font-size: 13px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
}

.gc-sec-nav-card.is-active .gc-sec-nav-num {
	color: var(--gc-sec-lime);
}

.gc-sec-nav-badge {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.06em;
	padding: 3px 10px;
	border-radius: 9999px;
	background: rgba(7, 63, 77, 0.08);
	color: var(--gc-sec-dark);
	text-transform: uppercase;
}

.gc-sec-nav-card.is-active .gc-sec-nav-badge {
	background: rgba(255, 255, 255, 0.18);
	color: #FFFFFF;
}

.gc-sec-nav-title {
	font-size: 20px;
	font-weight: 900;
	color: var(--gc-sec-dark);
	margin: 0 0 8px 0;
}

.gc-sec-nav-card.is-active .gc-sec-nav-title {
	color: #FFFFFF;
}

.gc-sec-nav-desc {
	font-size: 13px;
	line-height: 1.5;
	color: var(--gc-sec-text-muted);
	margin: 0 0 16px 0;
}

.gc-sec-nav-card.is-active .gc-sec-nav-desc {
	color: rgba(255, 255, 255, 0.75);
}

.gc-sec-nav-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12.5px;
	font-weight: 800;
	color: var(--gc-sec-emerald);
}

.gc-sec-nav-card.is-active .gc-sec-nav-footer {
	color: var(--gc-sec-lime);
}

/* Dynamic Display Panels */
.gc-sec-intel-panel {
	display: none;
	animation: gcFadeIn 0.35s ease;
}

.gc-sec-intel-panel.is-active {
	display: block;
}

.gc-sec-intel-header {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-sec-border);
	border-radius: 24px;
	padding: 32px;
	margin-bottom: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
}

.gc-sec-telemetry-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}

.gc-sec-intel-eyebrow {
	font-size: 11px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
	letter-spacing: 0.08em;
}

.gc-sec-telemetry-badge {
	font-size: 10px;
	font-weight: 800;
	background: rgba(63, 174, 106, 0.12);
	color: var(--gc-sec-teal);
	padding: 3px 8px;
	border-radius: 9999px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.gc-telemetry-dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--gc-sec-emerald);
}

.gc-sec-intel-headline {
	font-size: 26px;
	font-weight: 900;
	color: var(--gc-sec-dark);
	margin: 0 0 8px 0;
}

.gc-sec-intel-lead {
	font-size: 15px;
	line-height: 1.55;
	color: var(--gc-sec-text-muted);
	margin: 0;
	max-width: 720px;
}

/* 3 Layer Cards Grid */
.gc-sec-matrix-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 24px;
}

.gc-sec-matrix-card {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-sec-border);
	border-radius: 24px;
	padding: 28px 24px;
	box-shadow: var(--gc-sec-shadow-sm);
}

.gc-matrix-card-header {
	margin-bottom: 20px;
}

.gc-m-badge {
	font-size: 10px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
	background: rgba(63, 174, 106, 0.12);
	padding: 3px 8px;
	border-radius: 9999px;
	display: inline-block;
	margin-bottom: 6px;
}

.gc-matrix-card-header h4 {
	font-size: 18px;
	font-weight: 900;
	color: var(--gc-sec-dark);
	margin: 0 0 4px 0;
}

.gc-matrix-card-sub {
	font-size: 12.5px;
	line-height: 1.45;
	color: var(--gc-sec-text-muted);
	margin: 0;
}

/* Layer 1: Materials List */
.gc-sec-materials-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.gc-sec-mat-card-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	background: var(--gc-sec-bg-light);
	border: 1px solid var(--gc-sec-border);
	border-radius: 14px;
	text-decoration: none !important;
	color: inherit;
	transition: all 0.2s ease;
}

.gc-sec-mat-card-item:hover {
	background: #FFFFFF;
	border-color: var(--gc-sec-emerald);
	transform: translateX(4px);
	box-shadow: var(--gc-sec-shadow-sm);
}

.gc-mat-item-top {
	display: flex;
	align-items: center;
	gap: 8px;
}

.gc-mat-item-icon {
	font-size: 18px;
}

.gc-mat-item-num {
	font-size: 11px;
	font-weight: 900;
	color: var(--gc-sec-text-muted);
}

.gc-mat-item-name {
	font-size: 13.5px;
	font-weight: 800;
	color: var(--gc-sec-dark);
	display: block;
}

.gc-mat-item-badge {
	font-size: 10px;
	color: var(--gc-sec-text-muted);
}

.gc-mat-item-link {
	font-size: 14px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
}

/* Layer 2: Needs Cluster */
.gc-sec-needs-cluster {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 20px;
}

.gc-sec-need-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--gc-sec-bg-light);
	border: 1px solid var(--gc-sec-border);
	padding: 6px 12px;
	border-radius: 9999px;
	font-size: 12px;
	font-weight: 700;
	color: var(--gc-sec-dark);
}

.gc-need-check {
	color: var(--gc-sec-emerald);
	font-weight: 900;
}

.gc-sec-challenges-box {
	background: #FFF9F4;
	border: 1px solid #FFE6D5;
	border-radius: 14px;
	padding: 14px;
}

.gc-challenges-label {
	font-size: 11px;
	font-weight: 900;
	color: #D9652B;
	display: block;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.gc-challenges-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.gc-challenges-list li {
	font-size: 12px;
	line-height: 1.4;
	color: #6E4530;
	display: flex;
	align-items: flex-start;
	gap: 6px;
}

.gc-challenge-dot {
	color: #D9652B;
	font-weight: 900;
}

/* Layer 3: Solutions List */
.gc-sec-resolved-solutions-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.gc-sec-sol-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px;
	background: var(--gc-sec-bg-light);
	border: 1px solid var(--gc-sec-border);
	border-radius: 14px;
	text-decoration: none !important;
	color: inherit;
	transition: all 0.2s ease;
}

.gc-sec-sol-item:hover {
	background: #FFFFFF;
	border-color: var(--gc-sec-emerald);
	transform: translateX(4px);
	box-shadow: var(--gc-sec-shadow-sm);
}

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

.gc-sol-eyebrow {
	font-size: 9.5px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
	display: block;
}

.gc-sol-title {
	font-size: 14px;
	font-weight: 800;
	color: var(--gc-sec-dark);
	display: block;
	margin-bottom: 4px;
}

.gc-sol-resolve {
	font-size: 12px;
	line-height: 1.4;
	color: var(--gc-sec-text-muted);
	margin: 0 0 6px 0;
}

.gc-sol-tags-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.gc-sol-hashtag {
	font-size: 10px;
	color: var(--gc-sec-petroleum);
	font-weight: 700;
}

.gc-sol-arrow {
	font-size: 14px;
	font-weight: 900;
	color: var(--gc-sec-emerald);
	margin-left: auto;
}


/* ==========================================================================
   08 — PRUEBA SOCIAL / EVIDENCIA / IMPACTO VERIFICABLE
   ========================================================================== */
.gc-sec-impact-section {
	padding: 90px 0;
	background: #FFFFFF;
}

.gc-sec-impact-box {
	background: linear-gradient(135deg, #073F4D 0%, #06605C 100%);
	border-radius: 32px;
	padding: 56px 48px;
	color: #FFFFFF;
	box-shadow: 0 24px 54px rgba(7, 63, 77, 0.22);
}

.gc-sec-impact-header {
	max-width: 760px;
	margin: 0 auto 48px auto;
}

.gc-sec-impact-h2 {
	font-size: clamp(28px, 3.2vw, 42px);
	font-weight: 900;
	color: #FFFFFF;
	line-height: 1.2;
	margin: 0 0 14px 0;
}

.gc-sec-impact-lead {
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.8);
	margin: 0;
}

.gc-impact-metrics-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-bottom: 40px;
}

.gc-impact-stat-card {
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 20px;
	padding: 24px 20px;
	text-align: center;
	transition: transform 0.25s ease;
}

.gc-impact-stat-card:hover {
	transform: translateY(-4px);
	background: rgba(255, 255, 255, 0.12);
}

.gc-stat-number {
	font-size: clamp(34px, 3.8vw, 48px);
	font-weight: 900;
	color: var(--gc-sec-lime);
	line-height: 1;
	margin-bottom: 8px;
}

.gc-stat-title {
	font-size: 15px;
	font-weight: 800;
	color: #FFFFFF;
	margin-bottom: 6px;
}

.gc-stat-desc {
	font-size: 12px;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

.gc-impact-trust-footer {
	text-align: center;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}


/* ==========================================================================
   09 — CTA FINAL PREMIUM 3D
   ========================================================================== */
.gc-sec-cta-pro-section {
	padding: 60px 0 90px 0;
	background: #FFFFFF;
}

.gc-sec-bottom-cta-card {
	background: linear-gradient(135deg, #073F4D 0%, #035877 100%);
	border-radius: 32px;
	padding: 48px 36px;
	color: #FFFFFF;
	display: grid;
	grid-template-columns: 220px 1fr 220px;
	gap: 32px;
	align-items: center;
	box-shadow: 0 24px 54px rgba(7, 63, 77, 0.22);
	position: relative;
	overflow: hidden;
}

.gc-sec-cta-side-asset {
	display: flex;
	align-items: center;
	justify-content: center;
}

.gc-sec-cta-img {
	width: 100%;
	max-width: 200px;
	height: auto;
	filter: drop-shadow(0 14px 28px rgba(0, 0, 0, 0.3));
	animation: gcFloatCard 6s ease-in-out infinite alternate;
}

.gc-sec-cta-asset-left .gc-sec-cta-img {
	animation-delay: 0.5s;
}

.gc-sec-cta-asset-right .gc-sec-cta-img {
	animation-delay: 1.5s;
}

.gc-sec-cta-center {
	text-align: center;
}

.gc-sec-cta-badge {
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.1em;
	color: var(--gc-sec-lime);
	display: inline-block;
	margin-bottom: 12px;
}

.gc-sec-cta-title {
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 900;
	color: #FFFFFF;
	line-height: 1.2;
	margin: 0 0 14px 0;
}

.gc-sec-cta-desc {
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 auto 28px auto;
	max-width: 580px;
}

.gc-sec-cta-btn-row {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.gc-sec-btn-green {
	background: var(--gc-sec-emerald) !important;
	color: #FFFFFF !important;
	padding: 14px 32px;
	border-radius: 9999px;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none !important;
	box-shadow: 0 8px 24px rgba(63, 174, 106, 0.4);
	transition: all 0.22s ease;
	display: inline-flex;
	align-items: center;
}

.gc-sec-btn-green:hover {
	background: #349659 !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(63, 174, 106, 0.5);
	color: #FFFFFF !important;
}

.gc-sec-btn-outline-light {
	background: transparent;
	color: #FFFFFF !important;
	border: 1.5px solid rgba(255, 255, 255, 0.3);
	padding: 13px 26px;
	border-radius: 9999px;
	font-size: 14.5px;
	font-weight: 800;
	text-decoration: none !important;
	transition: all 0.22s ease;
	display: inline-flex;
	align-items: center;
}

.gc-sec-btn-outline-light:hover {
	border-color: #FFFFFF;
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-2px);
}

.gc-sec-cta-footer-micro {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
	font-weight: 600;
}

.gc-sec-footer-copyright {
	text-align: center;
	font-size: 11px;
	color: var(--gc-sec-text-muted);
	margin-top: 36px;
	letter-spacing: 0.08em;
}


/* ==========================================================================
   RESPONSIVE BREAKPOINTS (100% FULL-WIDTH LAYOUT)
   ========================================================================== */
@media (min-width: 1200px) {
	.gc-sec-container {
		width: 100%;
		max-width: 100%;
		padding: 0 48px;
	}
}

@media (max-width: 1199px) and (min-width: 769px) {
	.gc-sec-container {
		width: 100%;
		max-width: 100%;
		padding: 0 32px;
	}

	.gc-sec-hero-pro-grid,
	.gc-sec-chaos-grid,
	.gc-sec-coverage-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.gc-sec-stage-wrapper {
		min-height: 440px;
	}

	.gc-modules-interactive-wrapper {
		grid-template-columns: 1fr;
	}

	.gc-modules-sidebar-nav {
		flex-direction: row;
		overflow-x: auto;
		padding-bottom: 8px;
	}

	.gc-mod-nav-btn {
		min-width: 220px;
	}

	.gc-auto-nodes-flow {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}

	.gc-auto-connector-arrow {
		display: none;
	}

	.gc-sec-matrix-grid {
		grid-template-columns: 1fr;
	}

	.gc-impact-metrics-grid {
		grid-template-columns: 1fr 1fr;
	}

	.gc-sec-bottom-cta-card {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.gc-sec-cta-side-asset {
		display: none;
	}
}

@media (max-width: 768px) {
	.gc-sec-container {
		width: 100%;
		padding: 0 20px;
	}

	.gc-sec-hero-pro {
		padding-top: 100px;
	}

	.gc-sec-hero-pro-grid,
	.gc-sec-chaos-grid,
	.gc-sec-coverage-grid {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.gc-sec-selector-grid {
		grid-template-columns: 1fr;
	}

	.gc-how-stage-panel {
		grid-template-columns: 1fr;
	}

	.gc-module-breakdown-grid {
		grid-template-columns: 1fr;
	}

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

	.gc-impact-metrics-grid {
		grid-template-columns: 1fr;
	}

	.gc-float-card {
		position: static;
		width: 100%;
		margin-top: 12px;
	}
}

/* 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-sec-detail-hero::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: 1;
	pointer-events: none;
}

.gc-wi-hero-bg-media,
.gc-so-hero-bg-media,
.gc-tl-hero-bg,
.gc-tl-hero-section::after,
.gc-cmn-disposal-hero::before,
.gc-cmn-disposal-hero::after,
.gc-detail-hero-section--cmn::before,
.gc-detail-hero-section--cmn::after {
	display: none !important;
}

.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 right);
	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,
.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%);
}


/* SECTOR HERO TRUE FULL WIDTH - explicit measurable background layer. */
.gc-sector-detail-root {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible;
}

.gc-sectors-root .gc-sector-hero-fullbleed,
.gc-sector-detail-root .gc-sector-hero-fullbleed,
.gc-sector-hero-fullbleed {
	position: relative;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding-inline: 0 !important;
	overflow: visible !important;
	isolation: isolate;
	background: transparent !important;
}

.gc-sector-hero-background {
	position: absolute;
	inset: 0;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
	background:
		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%);
	background-size: cover;
	background-position: var(--gc-sector-hero-position, center right);
	background-repeat: no-repeat;
}

.gc-sector-hero-fullbleed::before,
.gc-sector-hero-fullbleed::after {
	display: none !important;
}

.gc-sector-hero-inner {
	position: relative;
	z-index: 2;
	width: min(100% - calc(var(--gc-page-gutter, 24px) * 2), var(--gc-page-max, 1380px)) !important;
	max-width: var(--gc-page-max, 1380px) !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
}

.gc-sec-detail-hero {
	padding-top: calc(var(--gc-header-offset, 84px) + 36px) !important;
	padding-bottom: 60px !important;
	min-height: 620px !important;
	display: flex !important;
	align-items: center !important;
}

.gc-sec-hero-top-layout {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 48px;
	align-items: center;
	width: 100%;
}

.gc-sec-hero-left {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

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

.gc-sec-detail-ctas {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.gc-sec-btn-dark {
	background: var(--gc-sec-dark) !important;
	color: #FFFFFF !important;
	padding: 12px 24px;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: background 0.2s ease, transform 0.2s ease;
}

.gc-sec-btn-dark:hover {
	background: var(--gc-sec-petroleum) !important;
	transform: translateY(-2px);
}

.gc-sec-link-down {
	font-size: 14px;
	font-weight: 700;
	color: var(--gc-sec-dark);
	text-decoration: none;
}

.gc-sec-hero-right {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

.gc-sec-enfoque-card {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-sec-border);
	border-radius: 16px;
	padding: 16px 20px;
	box-shadow: var(--gc-sec-shadow-md);
	margin-bottom: 20px;
	width: 100%;
	max-width: 380px;
	align-self: flex-end;
}

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

.gc-enfoque-title {
	font-size: 16px;
	font-weight: 800;
	color: var(--gc-sec-dark);
	margin: 0 0 6px 0;
}

.gc-enfoque-sub {
	font-size: 12px;
	font-weight: 600;
	color: var(--gc-sec-text-muted);
	display: block;
	margin-bottom: 4px;
}

.gc-enfoque-materials {
	font-size: 13px;
	font-weight: 700;
	color: var(--gc-sec-teal);
	margin: 0;
}

.gc-sec-diorama-wrap {
	max-width: 440px;
	width: 100%;
}

.gc-sec-diorama-img {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}

@media (max-width: 1023px) {
	.gc-sec-hero-top-layout {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.gc-sec-enfoque-card {
		align-self: flex-start;
	}
}

/* GEOCIKLO glassmorphism pilot: /sectores/industrial/ detail system. */
.gc-non-home .gc-sector-detail-root .gc-detail-hero-section--sector,
.gc-non-home .gc-sector-detail-root .gc-sec-detail-hero {
	min-height: var(--gc-internal-hero-height, 765px) !important;
}

.gc-non-home .gc-sector-detail-root .gc-sector-hero-background,
.gc-non-home .gc-sector-detail-root .gc-detail-hero-section--sector::before,
.gc-non-home .gc-sector-detail-root .gc-detail-hero-section--sector::after {
	height: var(--gc-internal-hero-height, 765px) !important;
}

.gc-non-home .gc-sector-detail-root .gc-sec-enfoque-card,
.gc-non-home .gc-sector-detail-root .gc-sec-flow-card,
.gc-non-home .gc-sector-detail-root .gc-sec-box,
.gc-non-home .gc-sector-detail-root .gc-sec-solutions-container,
.gc-non-home .gc-sector-detail-root .gc-sec-solution-item,
.gc-non-home .gc-sector-detail-root .gc-sec-bottom-cta-card,
.gc-non-home .gc-sector-detail-root .gc-sec-need-pill {
	background: linear-gradient(135deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .48));
	backdrop-filter: blur(var(--gc-glass-blur, 20px)) saturate(var(--gc-glass-saturation, 135%));
	-webkit-backdrop-filter: blur(var(--gc-glass-blur, 20px)) saturate(var(--gc-glass-saturation, 135%));
	border-color: var(--gc-glass-border, rgba(255, 255, 255, .72));
	box-shadow: var(--gc-glass-shadow, 0 18px 55px rgba(7, 63, 77, .10));
}

.gc-non-home .gc-sector-detail-root .gc-chaos-monitor-card,
.gc-non-home .gc-sector-detail-root .gc-network-map-card,
.gc-non-home .gc-sector-detail-root .gc-sec-impact-box {
	background: linear-gradient(135deg, rgba(7, 63, 77, .72), rgba(3, 88, 119, .56));
	backdrop-filter: blur(22px) saturate(135%);
	-webkit-backdrop-filter: blur(22px) saturate(135%);
	border-color: rgba(255, 255, 255, .14);
}

.gc-non-home .gc-sector-detail-root .gc-sec-solution-item:hover,
.gc-non-home .gc-sector-detail-root .gc-sec-need-pill:hover {
	border-color: rgba(63, 174, 106, .46);
	box-shadow: 0 20px 58px rgba(7, 63, 77, .12);
}

/* Hero height and overflow unlock: ensure sector hero content is NEVER clipped */
.gc-non-home .gc-sector-detail-root .gc-sec-detail-hero {
	min-height: var(--gc-internal-hero-height, 765px) !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

@media (max-width: 1023px) {
	.gc-non-home .gc-sector-detail-root .gc-sec-detail-hero {
		padding-top: calc(var(--gc-header-height, 72px) + 24px) !important;
		padding-bottom: 32px !important;
	}

	.gc-non-home .gc-sector-detail-root .gc-sec-hero-top-layout {
		gap: 22px;
	}

	.gc-non-home .gc-sector-detail-root .gc-sec-hero-right {
		max-height: 330px;
		overflow: hidden;
	}

	.gc-non-home .gc-sector-detail-root .gc-sec-enfoque-card {
		margin-bottom: 12px;
	}
}

@media (max-width: 767px) {
	.gc-non-home .gc-sector-detail-root .gc-sec-hero-right {
		display: none;
	}
}

/* ==========================================================================
   SECTOR INTELLIGENCE — OPERATIONAL SYSTEM MAP & CONTEXTUAL INSPECTOR (GATE 04)
   ========================================================================== */

/* Official Data Banner (Industrial) */
.gc-sec-official-banner {
	background: #073F4D;
	border-radius: 16px;
	padding: 24px 28px;
	color: #FFFFFF;
	margin-bottom: 36px;
	box-shadow: 0 16px 36px -8px rgba(7, 63, 77, 0.22);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.gc-sec-off-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	padding-bottom: 10px;
}

.gc-sec-off-badge {
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #3FAE6A;
	text-transform: uppercase;
}

.gc-sec-off-source-pill {
	font-size: 11px;
	font-weight: 700;
	color: #94A3B8;
	background: rgba(255, 255, 255, 0.08);
	padding: 3px 10px;
	border-radius: 20px;
}

.gc-sec-off-content {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 28px;
	align-items: center;
}

.gc-sec-off-num-col {
	display: flex;
	flex-direction: column;
}

.gc-sec-off-num {
	font-size: 42px;
	font-weight: 900;
	color: #4ADE80;
	line-height: 1;
	letter-spacing: -0.02em;
}

.gc-sec-off-unit-note {
	font-size: 11.5px;
	color: #CBD5E1;
	margin-top: 6px;
	font-weight: 600;
}

.gc-sec-off-desc-col {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.gc-sec-off-title {
	font-size: 16px;
	font-weight: 800;
	color: #FFFFFF;
	margin: 0;
	line-height: 1.35;
}

.gc-sec-off-summary {
	font-size: 13.5px;
	color: #E2E8F0;
	margin: 0;
	line-height: 1.45;
}

.gc-sec-off-link {
	font-size: 12px;
	font-weight: 700;
	color: #3FAE6A;
	text-decoration: underline;
	align-self: flex-start;
	margin-top: 4px;
	transition: color 0.15s ease;
}

.gc-sec-off-link:hover {
	color: #4ADE80;
}

/* Qualitative Context Banner (Commercial / Services) */
.gc-sec-context-banner {
	background: #F1F5F9;
	border: 1px solid #CBD5E1;
	border-left: 4px solid #035877;
	border-radius: 12px;
	padding: 18px 22px;
	margin-bottom: 36px;
}

.gc-sec-ctx-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 6px;
}

.gc-sec-ctx-badge {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #035877;
	text-transform: uppercase;
}

.gc-sec-ctx-tag {
	font-size: 11px;
	font-weight: 600;
	color: #64748B;
}

.gc-sec-ctx-text {
	font-size: 13.5px;
	color: #334155;
	margin: 0;
	line-height: 1.45;
}

/* Operational System Map Layout */
.gc-sec-op-system-layout {
	display: grid;
	grid-template-columns: 360px 1fr;
	gap: 32px;
	align-items: start;
	margin-top: 20px;
}

/* Timeline Track */
.gc-sec-timeline-col {
	display: flex;
	flex-direction: column;
}

.gc-sec-timeline-track {
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: relative;
}

.gc-sec-timeline-track::before {
	content: "";
	position: absolute;
	left: 27px;
	top: 24px;
	bottom: 24px;
	width: 2px;
	background: #E2E8F0;
	z-index: 0;
}

.gc-sec-node-wrapper {
	position: relative;
	z-index: 1;
}

.gc-sec-node-btn {
	width: 100%;
	text-align: left;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 14px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	cursor: pointer;
	font-family: inherit;
	transition: all 0.18s ease;
}

.gc-sec-node-btn:hover {
	background: #FFFFFF;
	border-color: #CBD5E1;
	transform: translateX(3px);
	box-shadow: 0 4px 12px rgba(7, 63, 77, 0.06);
}

.gc-sec-node-btn.is-active {
	background: #FFFFFF;
	border-color: #3FAE6A;
	border-left: 4px solid #3FAE6A;
	box-shadow: 0 8px 24px -4px rgba(7, 63, 77, 0.12);
}

.gc-sec-node-pill {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #E2E8F0;
	color: #073F4D;
	font-size: 12px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.gc-sec-node-btn.is-active .gc-sec-node-pill {
	background: #073F4D;
	color: #3FAE6A;
}

.gc-sec-node-meta {
	flex: 1;
	min-width: 0;
}

.gc-sec-node-title {
	font-size: 14px;
	font-weight: 800;
	color: #073F4D;
	margin: 0 0 2px 0;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gc-sec-node-sub {
	font-size: 11.5px;
	color: #64748B;
	font-weight: 600;
}

.gc-sec-node-arrow {
	font-size: 14px;
	color: #94A3B8;
	font-weight: 700;
	transition: transform 0.18s ease, color 0.18s ease;
}

.gc-sec-node-btn.is-active .gc-sec-node-arrow {
	color: #3FAE6A;
	transform: translateX(3px);
}

/* Mobile Inline Drawer */
.gc-sec-mobile-drawer {
	display: none;
}

/* Contextual Inspector (Desktop) */
.gc-sec-inspector-col {
	position: sticky;
	top: 100px;
}

.gc-sec-inspector-card {
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 28px;
	box-shadow: 0 12px 32px -6px rgba(7, 63, 77, 0.08);
}

.gc-sec-insp-header {
	border-bottom: 1px solid #F1F5F9;
	padding-bottom: 18px;
	margin-bottom: 20px;
}

.gc-sec-insp-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #06605C;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.gc-sec-insp-title-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.gc-sec-insp-step-badge {
	background: #073F4D;
	color: #3FAE6A;
	font-size: 12px;
	font-weight: 800;
	padding: 3px 8px;
	border-radius: 6px;
}

.gc-sec-insp-title {
	font-size: 20px;
	font-weight: 800;
	color: #073F4D;
	margin: 0;
	line-height: 1.3;
}

.gc-sec-insp-desc {
	font-size: 13.5px;
	color: #475569;
	margin: 0;
	line-height: 1.5;
}

.gc-sec-insp-body {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.gc-sec-insp-block {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.gc-sec-insp-label {
	font-size: 11px;
	font-weight: 800;
	color: #64748B;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.gc-sec-insp-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gc-sec-mat-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	font-weight: 700;
	color: #035877;
	background: #F1F5F9;
	padding: 5px 12px;
	border-radius: 20px;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.gc-sec-mat-pill:hover {
	background: #035877;
	color: #FFFFFF;
}

.gc-sec-insp-obs-box {
	background: #FEF3C7;
	border-left: 4px solid #D97706;
	border-radius: 8px;
	padding: 14px 16px;
}

.gc-sec-insp-obs-box .gc-sec-insp-label {
	color: #92400E;
}

.gc-sec-insp-obs-text {
	font-size: 13px;
	font-weight: 600;
	color: #78350F;
	margin: 0;
	line-height: 1.45;
}

.gc-sec-insp-action-text {
	font-size: 13.5px;
	font-weight: 600;
	color: #073F4D;
	margin: 0;
	line-height: 1.45;
}

.gc-sec-insp-solutions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.gc-sec-sol-mini-card {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 8px;
	padding: 10px 14px;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	transition: border-color 0.15s ease, transform 0.15s ease, background-color 0.15s ease;
}

.gc-sec-sol-mini-card:hover {
	border-color: #3FAE6A;
	background: #FFFFFF;
	transform: translateX(2px);
}

.gc-sec-sol-mini-eyebrow {
	font-size: 9.5px;
	font-weight: 800;
	color: #06605C;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.gc-sec-sol-mini-title {
	font-size: 13px;
	font-weight: 800;
	color: #073F4D;
	margin-top: 2px;
}

.gc-sec-insp-footer {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid #F1F5F9;
}

.gc-sec-insp-nba-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: #073F4D;
	color: #3FAE6A;
	font-size: 13px;
	font-weight: 800;
	padding: 12px 18px;
	border-radius: 8px;
	text-decoration: none;
	transition: background-color 0.18s ease, color 0.18s ease;
}

.gc-sec-insp-nba-btn:hover {
	background: #035877;
	color: #4ADE80;
}

/* Responsive Rules */
@media (max-width: 900px) {
	.gc-sec-op-system-layout {
		grid-template-columns: 1fr;
	}

	.gc-sec-inspector-col {
		display: none;
	}

	.gc-sec-mobile-drawer {
		display: block;
		margin-top: 8px;
		background: #FFFFFF;
		border: 1px solid #E2E8F0;
		border-radius: 10px;
		padding: 16px;
	}

	.gc-sec-off-content {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}


/* Sector selector card text containment hotfix */
.gc-sec-selector-grid,
.gc-sec-nav-card,
.gc-sec-nav-card * {
	box-sizing: border-box;
}

.gc-sec-nav-card {
	min-width: 0;
	overflow: hidden;
	gap: 12px;
}

.gc-sec-nav-top,
.gc-sec-nav-title,
.gc-sec-nav-desc,
.gc-sec-nav-footer,
.gc-sec-nav-action {
	min-width: 0;
	max-width: 100%;
}

.gc-sec-nav-top {
	gap: 12px;
}

.gc-sec-nav-badge {
	flex: 0 1 auto;
	max-width: 62%;
	white-space: normal !important;
	overflow-wrap: anywhere;
	line-height: 1.15;
	text-align: center;
}

.gc-sec-nav-title,
.gc-sec-nav-desc,
.gc-sec-nav-action {
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

.gc-sec-nav-desc {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	min-height: calc(13px * 1.5 * 3);
}

.gc-sec-nav-footer {
	gap: 12px;
}

.gc-sec-nav-arrow {
	flex: 0 0 auto;
}

@media (max-width: 1180px) {
	.gc-sec-selector-grid {
		grid-template-columns: 1fr;
	}

	.gc-sec-nav-desc {
		-webkit-line-clamp: unset;
		min-height: 0;
	}
}

/* Recovery Gate: sector detail mobile containment for operational map and CTA. */
@media (max-width: 767px) {
	.gc-non-home .gc-sector-detail-root .gc-sec-op-system-layout,
	.gc-non-home .gc-sector-detail-root .gc-sec-timeline-col,
	.gc-non-home .gc-sector-detail-root .gc-sec-timeline-track,
	.gc-non-home .gc-sector-detail-root .gc-sec-node-wrapper,
	.gc-non-home .gc-sector-detail-root .gc-sec-node-btn,
	.gc-non-home .gc-sector-detail-root .gc-sec-mobile-drawer {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.gc-non-home .gc-sector-detail-root .gc-sec-bottom-cta-card {
		grid-template-columns: minmax(0, 1fr);
		max-width: 100%;
	}

	.gc-non-home .gc-sector-detail-root .gc-sec-cta-center,
	.gc-non-home .gc-sector-detail-root .gc-sec-cta-btn-row,
	.gc-non-home .gc-sector-detail-root .gc-sec-btn-green,
	.gc-non-home .gc-sector-detail-root .gc-sec-link-all {
		max-width: 100%;
		min-width: 0;
	}
}
