/**
 * GEOCIKLO — Waste Intelligence Experience Styles (/soluciones/gestion-de-residuos/)
 * Typography: Inter Tight (Headlines in Black / 900).
 * Color Palette: Deep Petroleum (#073F4D), Emerald (#3FAE6A), Navy (#035877), Clean Light (#F4F8F6), Teal (#06605C), Lime (#99D435).
 * Matches exact high-fidelity graphical mockup specifications.
 *
 * @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-wi-dark: #073F4D;
	--gc-wi-petroleum: #035877;
	--gc-wi-teal: #06605C;
	--gc-wi-emerald: #3FAE6A;
	--gc-wi-emerald-light: #56C983;
	--gc-wi-lime: #99D435;
	--gc-wi-bg-light: #F4F8F6;
	--gc-wi-bg-card: #FFFFFF;
	--gc-wi-border: #E1ECE7;
	--gc-wi-text-muted: #57737A;
	--gc-wi-shadow-sm: 0 4px 20px rgba(7, 63, 77, 0.05);
	--gc-wi-shadow-md: 0 14px 36px rgba(7, 63, 77, 0.08);
	--gc-wi-shadow-lg: 0 24px 54px rgba(7, 63, 77, 0.12);
}

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

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

/* Hide default shell titles */
body:has(.gc-wi-root) .page-header,
body:has(.gc-wi-root) .entry-header,
body:has(.gc-wi-root) .entry-title:not(.gc-wi-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-wi-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-wi-emerald) !important;
	font-weight: 900;
	display: inline;
}

/* Typography Standards */
.gc-wi-eyebrow {
	font-size: 11.5px;
	font-weight: 900;
	letter-spacing: 0.1em;
	color: var(--gc-wi-emerald);
	text-transform: uppercase;
	margin-bottom: 12px;
	display: inline-block;
}

.gc-wi-section-header {
	max-width: 820px;
	margin-bottom: 44px;
}

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

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

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

/* Breadcrumbs */
.gc-wi-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	font-weight: 800;
	margin-bottom: 24px;
}

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

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

.gc-wi-bc-sep {
	color: #A0B3B8;
	font-size: 11px;
}

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

/* ==========================================================================
   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) 60%, 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--wi {
	--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-wi-hero-section {
	position: relative;
	padding-top: 130px;
	padding-bottom: 50px;
	min-height: 620px;
	display: flex;
	align-items: center;
	background-color: transparent !important;
	overflow: visible !important;
}

.gc-wi-hero-container {
	position: relative;
	z-index: 2;
}

.gc-wi-hero-grid {
	max-width: 640px;
}

.gc-wi-hero-title {
	font-size: clamp(32px, 3.8vw, 52px);
	font-weight: 900;
	color: var(--gc-wi-dark);
	line-height: 1.14;
	letter-spacing: -0.035em;
	margin: 0 0 20px 0;
}

.gc-wi-hero-lead {
	font-size: clamp(15px, 1.15vw, 17.5px);
	line-height: 1.6;
	color: var(--gc-wi-dark);
	font-weight: 600;
	margin: 0 0 8px 0;
}

.gc-wi-hero-secondary {
	font-size: 14px;
	line-height: 1.55;
	color: var(--gc-wi-text-muted);
	margin: 0 0 32px 0;
}

.gc-wi-hero-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 48px;
}

.gc-wi-hero-floating-pills {
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1.5px solid var(--gc-wi-border);
	border-radius: 9999px;
	padding: 10px 24px;
	display: inline-flex;
	align-items: center;
	gap: 16px;
	box-shadow: var(--gc-wi-shadow-md);
	margin: 16px 0 24px 0;
}

.gc-wi-floating-pill {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--gc-wi-dark);
}

.gc-wi-floating-pill--highlight strong {
	color: var(--gc-wi-teal);
}

.gc-wi-fp-icon { font-size: 16px; }
.gc-wi-fp-arrow { color: #A0B3B8; font-weight: 800; font-size: 13px; }

/* ==========================================================================
   02 — TOP 3 HUB METRIC CARDS (FOTOGRAFÍAS CON DEGRADADO TEAL)
   ========================================================================== */
.gc-wi-hub-cards-section {
	padding: 40px 0 60px 0;
	background: #FFFFFF;
}

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

.gc-wi-hub-card {
	position: relative;
	border-radius: 28px;
	overflow: hidden;
	height: 340px;
	background-size: cover;
	background-position: center;
	text-decoration: none !important;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 32px 28px;
	border: 1.5px solid var(--gc-wi-border);
	box-shadow: var(--gc-wi-shadow-sm);
	transition: all 0.25s ease;
}

.gc-wi-hub-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--gc-wi-shadow-lg);
	border-color: var(--gc-wi-emerald);
}

.gc-wi-hub-card-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(7, 63, 77, 0.15) 0%, rgba(7, 63, 77, 0.55) 40%, rgba(7, 63, 77, 0.96) 100%);
	z-index: 1;
}

.gc-wi-hub-card-content {
	position: relative;
	z-index: 2;
	color: #FFFFFF !important;
}

.gc-wi-hub-stat {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 6px;
}

.gc-wi-hub-num,
.gc-wi-hub-card .gc-wi-hub-num,
body .gc-wi-hub-card .gc-wi-hub-num {
	font-size: 42px;
	font-weight: 900;
	color: #FFFFFF !important;
	line-height: 1;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.gc-wi-hub-unit {
	font-size: 20px;
	font-weight: 900;
	color: var(--gc-wi-lime) !important;
}

.gc-wi-hub-desc,
.gc-wi-hub-card p,
.gc-wi-hub-card .gc-wi-hub-desc,
body .gc-wi-hub-card p,
body:not(.home):not(.page-id-20) .gc-wi-hub-card p {
	font-size: 13.5px;
	line-height: 1.45;
	color: #FFFFFF !important;
	opacity: 0.95;
	margin: 0 0 16px 0;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

.gc-wi-hub-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.22);
	color: #FFFFFF !important;
	font-size: 15px;
	font-weight: 900;
	transition: all 0.2s ease;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.gc-wi-hub-card:hover .gc-wi-hub-btn {
	background: var(--gc-wi-emerald);
	color: #073F4D;
}

/* ==========================================================================
   03 — TECNOLOGÍA GEOCIKLO (DASHBOARD CONSOLE & INTERACTIVE TABS)
   ========================================================================== */
.gc-wi-tech-platform-section {
	background: #FFFFFF;
	padding: 40px 0 80px 0;
}

.gc-wi-tech-platform-card {
	background: linear-gradient(180deg, #F8FCFA 0%, #FFFFFF 100%);
	border: 1.5px solid var(--gc-wi-border);
	border-radius: 32px;
	padding: 48px 40px 32px 40px;
	box-shadow: var(--gc-wi-shadow-sm);
}

.gc-wi-tp-grid {
	display: grid;
	grid-template-columns: 0.85fr 1.35fr;
	gap: 48px;
	align-items: center;
	margin-bottom: 40px;
}

.gc-wi-tp-title {
	font-size: clamp(28px, 2.8vw, 40px);
	font-weight: 900;
	color: var(--gc-wi-dark);
	margin: 0 0 12px 0;
	letter-spacing: -0.03em;
}

.gc-wi-tp-subtitle {
	font-size: 17px;
	font-weight: 800;
	color: var(--gc-wi-teal);
	margin: 0 0 16px 0;
	line-height: 1.35;
}

.gc-wi-tp-desc {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--gc-wi-text-muted);
	margin: 0 0 24px 0;
}

.gc-wi-tp-dots {
	display: flex;
	gap: 8px;
	margin-bottom: 24px;
}

.gc-wi-tp-dot {
	width: 24px;
	height: 3.5px;
	border-radius: 9999px;
	background: #D1E0DD;
}

.gc-wi-tp-dot.is-active {
	background: var(--gc-wi-emerald);
}

.gc-wi-tp-footer-text {
	font-size: 12.5px;
	font-weight: 800;
	color: var(--gc-wi-text-muted);
}

/* Dashboard Mockup Console */
.gc-wi-dash-shell {
	background: #073F4D;
	border-radius: 24px;
	display: grid;
	grid-template-columns: 140px 1fr;
	overflow: hidden;
	box-shadow: var(--gc-wi-shadow-lg);
	border: 1.5px solid rgba(255, 255, 255, 0.12);
}

.gc-wi-dash-sidebar {
	background: #042D38;
	padding: 20px 14px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.gc-wi-dash-brand {
	font-size: 14px;
	font-weight: 900;
	color: var(--gc-wi-emerald);
}

.gc-wi-dash-nav {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.gc-wi-dnav-item {
	font-size: 10.5px;
	font-weight: 700;
	color: #D1E0DD;
	padding: 5px 8px;
	border-radius: 6px;
	cursor: pointer;
}

.gc-wi-dnav-item.is-active {
	background: rgba(63, 174, 106, 0.2);
	color: #FFFFFF;
}

.gc-wi-dash-body {
	background: #F4F8F6;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gc-wi-dash-header h4 {
	font-size: 15px;
	font-weight: 900;
	color: var(--gc-wi-dark);
	margin: 0;
}

.gc-wi-dash-stats-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}

.gc-wi-dstat {
	background: #FFFFFF;
	border: 1px solid var(--gc-wi-border);
	border-radius: 12px;
	padding: 10px 8px;
	display: flex;
	flex-direction: column;
}

.gc-wi-dstat small {
	font-size: 9px;
	font-weight: 700;
	color: var(--gc-wi-text-muted);
}

.gc-wi-dstat strong {
	font-size: 16px;
	font-weight: 900;
	color: var(--gc-wi-dark);
	line-height: 1.2;
}

.gc-wi-dstat-sub {
	font-size: 8.5px;
	color: var(--gc-wi-emerald);
	font-weight: 800;
}

.gc-wi-dash-middle-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.gc-wi-dcard {
	background: #FFFFFF;
	border: 1px solid var(--gc-wi-border);
	border-radius: 12px;
	padding: 12px;
}

.gc-wi-dcard-title {
	font-size: 11px;
	font-weight: 900;
	color: var(--gc-wi-dark);
	margin-bottom: 8px;
}

.gc-wi-dtrace-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 10px;
}

.gc-wi-dtrace-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.gc-wi-tag-done {
	color: var(--gc-wi-teal);
	font-weight: 800;
	font-size: 9px;
}

/* Mini Bar Chart */
.gc-wi-mini-barchart {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	height: 60px;
	gap: 4px;
	padding-top: 8px;
}

.gc-wi-bar-col {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1;
	height: 100%;
	justify-content: flex-end;
}

.gc-wi-bar-fill {
	width: 100%;
	max-width: 12px;
	background: var(--gc-wi-teal);
	border-radius: 3px 3px 0 0;
	transition: height 0.3s ease;
}

.gc-wi-bar-col small {
	font-size: 7.5px;
	font-weight: 800;
	color: var(--gc-wi-text-muted);
	margin-top: 3px;
}

.gc-wi-dash-advisor-card {
	background: #FFFFFF;
	border: 1px solid var(--gc-wi-border);
	border-radius: 12px;
	padding: 10px 14px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.gc-wi-advisor-info {
	display: flex;
	flex-direction: column;
}

.gc-wi-advisor-label {
	font-size: 8.5px;
	font-weight: 800;
	color: var(--gc-wi-text-muted);
}

.gc-wi-advisor-info strong {
	font-size: 11.5px;
	color: var(--gc-wi-dark);
}

.gc-wi-advisor-btn {
	background: #073F4D;
	color: #FFFFFF !important;
	font-size: 10px;
	font-weight: 800;
	padding: 6px 12px;
	border-radius: 6px;
	text-decoration: none !important;
}

/* Bottom Action Tabs */
.gc-wi-tp-action-tabs {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px;
	padding-top: 24px;
	border-top: 1.5px solid var(--gc-wi-border);
}

.gc-wi-act-tab {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-wi-border);
	border-radius: 16px;
	padding: 12px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 12.5px;
	font-weight: 900;
	color: var(--gc-wi-dark);
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.gc-wi-act-tab:hover {
	border-color: var(--gc-wi-emerald);
	transform: translateY(-2px);
	box-shadow: var(--gc-wi-shadow-sm);
	color: var(--gc-wi-emerald);
}

.gc-wi-atab-icon { font-size: 15px; }

/* ==========================================================================
   04 — SOLUCIÓN INTEGRADA: 3 OPERATIONAL CARDS
   ========================================================================== */
.gc-wi-integrated-section {
	padding: 60px 0;
	background: #FFFFFF;
}

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

.gc-wi-int-card {
	position: relative;
	border-radius: 28px;
	overflow: hidden;
	height: 380px;
	background-size: cover;
	background-position: center;
	text-decoration: none !important;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 32px 28px;
	border: 1.5px solid var(--gc-wi-border);
	box-shadow: var(--gc-wi-shadow-sm);
	transition: all 0.25s ease;
}

.gc-wi-int-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--gc-wi-shadow-lg);
	border-color: var(--gc-wi-emerald);
}

.gc-wi-int-card-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, rgba(7, 63, 77, 0.15) 0%, rgba(7, 63, 77, 0.6) 40%, rgba(7, 63, 77, 0.96) 100%);
	z-index: 1;
}

.gc-wi-int-card-content {
	position: relative;
	z-index: 2;
	color: #FFFFFF !important;
}

.gc-wi-int-badge {
	width: 36px;
	height: 36px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.22);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.gc-wi-int-icon { font-size: 16px; }

.gc-wi-int-title,
.gc-wi-int-card h3,
.gc-wi-int-card .gc-wi-int-title,
body .gc-wi-int-card h3,
body:not(.home):not(.page-id-20) .gc-wi-int-card h3 {
	font-size: 22px;
	font-weight: 900;
	color: #FFFFFF !important;
	margin: 0 0 6px 0;
	letter-spacing: -0.02em;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.gc-wi-int-desc,
.gc-wi-int-card p,
.gc-wi-int-card .gc-wi-int-desc,
body .gc-wi-int-card p,
body:not(.home):not(.page-id-20) .gc-wi-int-card p {
	font-size: 13.5px;
	line-height: 1.45;
	color: #FFFFFF !important;
	opacity: 0.95;
	margin: 0 0 16px 0;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

.gc-wi-int-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.22);
	color: #FFFFFF !important;
	font-size: 15px;
	font-weight: 900;
	transition: all 0.2s ease;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.gc-wi-int-card:hover .gc-wi-int-btn {
	background: var(--gc-wi-emerald);
	color: #073F4D !important;
}

/* ==========================================================================
   05 to 11 — DEEP INTERACTIVE SECTIONS (RETAINED & STYLED)
   ========================================================================== */
.gc-wi-problem-section { background: var(--gc-wi-bg-light); }

.gc-wi-problem-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.gc-wi-pnode {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-wi-border);
	border-radius: 22px;
	padding: 24px 20px;
	display: flex;
	flex-direction: column;
}

.gc-wi-pnum {
	font-size: 11px;
	font-weight: 900;
	color: var(--gc-wi-emerald);
	margin-bottom: 10px;
}

.gc-wi-pnode h4 {
	font-size: 15px;
	font-weight: 900;
	color: var(--gc-wi-dark);
	margin: 0 0 6px 0;
}

.gc-wi-pnode p {
	font-size: 12px;
	line-height: 1.5;
	color: var(--gc-wi-text-muted);
	margin: 0;
}

.gc-wi-scanner-section {
	background: #FFFFFF;
	position: relative;
}

.gc-wi-scanner-header {
	margin-bottom: 36px;
}

.gc-wi-scanner-main-title {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-weight: 900 !important;
	color: #073F4D !important;
	font-size: clamp(30px, 3.4vw, 48px) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.03em !important;
	margin: 0 0 14px 0 !important;
}

.gc-wi-scanner-accent-bar {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 18px;
}

.gc-wi-scanner-accent-line {
	width: 38px;
	height: 4.5px;
	background-color: #3FAE6A;
	border-radius: 9999px;
	display: inline-block;
}

.gc-wi-scanner-accent-dot {
	width: 5px;
	height: 4.5px;
	background-color: #3FAE6A;
	border-radius: 9999px;
	display: inline-block;
}

.gc-wi-scanner-sub {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: clamp(14.5px, 1.1vw, 16.5px) !important;
	line-height: 1.55 !important;
	color: #57737A !important;
	margin: 0 !important;
	max-width: 680px;
}

.gc-wi-scanner-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.gc-wi-scard {
	background: #FFFFFF !important;
	border: 1.5px solid #E1ECE7 !important;
	border-radius: 24px !important;
	padding: 20px 18px 26px 18px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	box-shadow: 0 4px 18px rgba(7, 63, 77, 0.03) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.gc-wi-scard:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 14px 34px rgba(7, 63, 77, 0.08) !important;
	border-color: #3FAE6A !important;
}

.gc-wi-scard-top {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	margin-bottom: 4px;
}

.gc-wi-scard-num {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	color: #3FAE6A !important;
	border: 1.5px solid #3FAE6A !important;
	border-radius: 9999px !important;
	padding: 1.5px 8px !important;
	line-height: 1.2 !important;
	background: rgba(63, 174, 106, 0.04) !important;
}

.gc-wi-scard-icon-wrap {
	width: 100%;
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 2px 0 14px 0;
}

.gc-wi-scard-img {
	max-width: 82px;
	max-height: 82px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	transition: transform 0.25s ease;
}

.gc-wi-scard:hover .gc-wi-scard-img {
	transform: scale(1.06);
}

.gc-wi-scard-title {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	text-transform: none !important;
	letter-spacing: -0.01em !important;
	color: #073F4D !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.25 !important;
}

.gc-wi-scard-divider {
	width: 22px;
	height: 2.5px;
	background-color: #3FAE6A;
	border-radius: 2px;
	margin: 0 auto 10px auto;
}

.gc-wi-scard-desc {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	color: #57737A !important;
	margin: 0 !important;
}

/* 07 — Materiales Confirmados Section */
.gc-wi-materials-section {
	background: #FFFFFF;
	position: relative;
	padding: 60px 0 80px 0;
}

.gc-wi-materials-header {
	margin-bottom: 36px;
}

.gc-wi-materials-main-title {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-weight: 900 !important;
	color: #073F4D !important;
	font-size: clamp(30px, 3.4vw, 48px) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.03em !important;
	margin: 0 0 14px 0 !important;
}

.gc-wi-materials-sub {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: clamp(14.5px, 1.1vw, 16.5px) !important;
	line-height: 1.55 !important;
	color: #57737A !important;
	margin: 0 !important;
	max-width: 720px;
}

.gc-wi-materials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.gc-wi-mat-card {
	background: #FFFFFF !important;
	border: 1.5px solid #E1ECE7 !important;
	border-radius: 28px !important;
	padding: 24px 28px 28px 28px !important;
	text-decoration: none !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	box-shadow: 0 4px 22px rgba(7, 63, 77, 0.04) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
	position: relative;
}

.gc-wi-mat-card:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 16px 40px rgba(7, 63, 77, 0.09) !important;
	border-color: #3FAE6A !important;
}

.gc-wi-mat-card-top {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	margin-bottom: 6px;
}

.gc-wi-mat-card-num {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	color: #3FAE6A !important;
	border: 1.5px solid #3FAE6A !important;
	border-radius: 9999px !important;
	padding: 1.5px 8px !important;
	line-height: 1.2 !important;
	background: rgba(63, 174, 106, 0.04) !important;
}

.gc-wi-mat-icon-wrap {
	width: 100%;
	height: 155px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.gc-wi-mat-img {
	max-width: 145px;
	max-height: 145px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
	transition: transform 0.25s ease;
}

.gc-wi-mat-card:hover .gc-wi-mat-img {
	transform: scale(1.05);
}

.gc-wi-mat-title {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	color: #073F4D !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.2 !important;
}

.gc-wi-mat-divider {
	width: 28px;
	height: 3px;
	background-color: #3FAE6A;
	border-radius: 2px;
	margin: 0 auto 14px auto;
}

.gc-wi-mat-desc {
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
	color: #57737A !important;
	margin: 0 0 24px 0 !important;
	flex-grow: 1;
}

.gc-wi-mat-link {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	font-family: 'Inter Tight', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 900 !important;
	color: #3FAE6A !important;
	margin-top: auto;
	transition: color 0.2s ease;
}

.gc-wi-mat-card:hover .gc-wi-mat-link {
	color: #278A50 !important;
}

.gc-wi-journey-section { background: #FFFFFF; }

.gc-wi-journey-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.gc-wi-jstep {
	background: var(--gc-wi-bg-light);
	border: 1.5px solid var(--gc-wi-border);
	border-radius: 20px;
	padding: 20px 16px;
	display: flex;
	flex-direction: column;
}

.gc-wi-jnum {
	font-size: 11px;
	font-weight: 900;
	color: var(--gc-wi-emerald);
	margin-bottom: 8px;
}

.gc-wi-jstep h4 {
	font-size: 13.5px;
	font-weight: 900;
	color: var(--gc-wi-dark);
	margin: 0 0 4px 0;
}

.gc-wi-jstep p {
	font-size: 11.5px;
	color: var(--gc-wi-text-muted);
	margin: 0;
}

.gc-wi-routes-section { background: var(--gc-wi-bg-light); }

.gc-wi-routes-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.gc-wi-rcard {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-wi-border);
	border-radius: 24px;
	padding: 28px 24px;
	display: flex;
	flex-direction: column;
}

.gc-wi-rcard--highlight {
	border-color: var(--gc-wi-emerald);
	background: rgba(63, 174, 106, 0.05);
}

.gc-wi-rbadge {
	font-size: 9.5px;
	font-weight: 900;
	color: var(--gc-wi-emerald);
	margin-bottom: 8px;
}

.gc-wi-rcard h4 {
	font-size: 16px;
	font-weight: 900;
	color: var(--gc-wi-dark);
	margin: 0 0 8px 0;
}

.gc-wi-rcard p {
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--gc-wi-text-muted);
	margin: 0;
}

.gc-wi-sectors-section { background: #FFFFFF; }

.gc-wi-sectors-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.gc-wi-sec-card {
	background: var(--gc-wi-bg-light);
	border: 1.5px solid var(--gc-wi-border);
	border-radius: 24px;
	padding: 28px 24px;
	text-decoration: none !important;
	display: flex;
	flex-direction: column;
	transition: all 0.22s ease;
}

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

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

.gc-wi-sec-num {
	font-size: 11px;
	font-weight: 900;
	color: var(--gc-wi-emerald);
	background: rgba(63, 174, 106, 0.1);
	padding: 2px 8px;
	border-radius: 6px;
}

.gc-wi-sec-badge {
	font-size: 9.5px;
	font-weight: 900;
	letter-spacing: 0.06em;
	color: var(--gc-wi-teal);
	text-transform: uppercase;
}

.gc-wi-sec-icon { font-size: 24px; margin-bottom: 10px; }

.gc-wi-sec-card h4 {
	font-size: 16px;
	font-weight: 900;
	color: var(--gc-wi-dark);
	margin: 0 0 6px 0;
}

.gc-wi-sec-card p {
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--gc-wi-text-muted);
	margin: 0 0 14px 0;
	flex-grow: 1;
}

.gc-wi-sec-link {
	font-size: 12px;
	font-weight: 900;
	color: var(--gc-wi-emerald);
}

.gc-wi-faq-section { background: var(--gc-wi-bg-light); }

.gc-wi-faq-accordion {
	max-width: 860px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.gc-wi-faq-item {
	background: #FFFFFF;
	border: 1.5px solid var(--gc-wi-border);
	border-radius: 18px;
	overflow: hidden;
}

.gc-wi-faq-summary {
	padding: 20px 24px;
	font-size: 15px;
	font-weight: 900;
	color: var(--gc-wi-dark);
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
}

.gc-wi-faq-summary::-webkit-details-marker { display: none; }

.gc-wi-faq-icon { font-size: 18px; color: var(--gc-wi-emerald); font-weight: 900; }

.gc-wi-faq-answer {
	padding: 0 24px 20px 24px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gc-wi-text-muted);
}

/* ==========================================================================
   12 — FINAL CTA BANNER (FOTOGRAFÍA DEL EQUIPO CON DEGRADADO SUAVE)
   ========================================================================== */
.gc-wi-final-banner-section {
	padding: 40px 0 100px 0;
	background: #FFFFFF;
}

.gc-wi-final-banner-card {
	position: relative;
	border-radius: 32px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	padding: 64px 48px;
	box-shadow: var(--gc-wi-shadow-lg);
	border: 1.5px solid var(--gc-wi-border);
}

.gc-wi-final-banner-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.94) 45%, rgba(255, 255, 255, 0.6) 80%, rgba(255, 255, 255, 0.2) 100%);
	z-index: 1;
}

.gc-wi-fb-grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 40px;
	align-items: center;
}

.gc-wi-fb-title {
	font-size: clamp(26px, 2.8vw, 38px);
	font-weight: 900;
	color: var(--gc-wi-dark);
	line-height: 1.2;
	letter-spacing: -0.03em;
	margin: 0 0 14px 0;
}

.gc-wi-fb-sub {
	font-size: 15px;
	line-height: 1.6;
	color: var(--gc-wi-text-muted);
	margin: 0;
}

.gc-wi-fb-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 20px;
}

.gc-wi-fb-btn {
	background: var(--gc-wi-emerald) !important;
	color: #073F4D !important;
	font-weight: 900 !important;
	font-size: 15px !important;
	padding: 15px 32px !important;
}

.gc-wi-fb-btn:hover {
	background: var(--gc-wi-lime) !important;
}

.gc-wi-fb-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
}

.gc-wi-fb-badge {
	font-size: 11.5px;
	font-weight: 800;
	color: var(--gc-wi-dark);
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(8px);
	border: 1px solid var(--gc-wi-border);
	padding: 6px 12px;
	border-radius: 9999px;
}

/* ==========================================================================
   RESPONSIVE LAYOUT & MOBILE ADAPTATIONS
   ========================================================================== */
@media (max-width: 1024px) {
	.gc-wi-hub-grid {
		grid-template-columns: 1fr;
	}

	.gc-wi-tp-grid {
		grid-template-columns: 1fr;
	}

	.gc-wi-tp-action-tabs {
		grid-template-columns: repeat(3, 1fr);
	}

	.gc-wi-integrated-grid {
		grid-template-columns: 1fr;
	}

	.gc-wi-problem-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.gc-wi-scanner-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.gc-wi-materials-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.gc-wi-journey-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.gc-wi-routes-grid {
		grid-template-columns: 1fr;
	}

	.gc-wi-sectors-grid {
		grid-template-columns: 1fr;
	}

	.gc-wi-fb-grid {
		grid-template-columns: 1fr;
	}

	.gc-wi-fb-right {
		align-items: flex-start;
	}

	.gc-wi-fb-badges {
		justify-content: flex-start;
	}
}

@media (max-width: 768px) {
	.gc-wi-container {
		max-width: 100%;
	}

	.gc-wi-hero-section {
		padding-top: 100px;
		padding-bottom: 40px;
	}

	.gc-wi-br-desktop {
		display: none;
	}

	.gc-wi-hero-floating-pills {
		flex-direction: column;
		border-radius: 20px;
		width: 100%;
		align-items: flex-start;
		gap: 8px;
	}

	.gc-wi-fp-arrow {
		display: none;
	}

	.gc-wi-dash-shell {
		grid-template-columns: 1fr;
	}

	.gc-wi-dash-sidebar {
		display: none;
	}

	.gc-wi-dash-stats-row {
		grid-template-columns: repeat(2, 1fr);
	}

	.gc-wi-dash-middle-row {
		grid-template-columns: 1fr;
	}

	.gc-wi-tp-action-tabs {
		grid-template-columns: repeat(2, 1fr);
	}

	.gc-wi-problem-grid {
		grid-template-columns: 1fr;
	}

	.gc-wi-scanner-grid {
		grid-template-columns: 1fr;
	}

	.gc-wi-materials-grid {
		grid-template-columns: 1fr;
	}

	.gc-wi-journey-grid {
		grid-template-columns: 1fr;
	}

	.gc-wi-final-banner-card {
		padding: 40px 20px;
	}

	.gc-wi-fb-btn {
		width: 100%;
		text-align: center;
	}
}

/* ==========================================================================
   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-wi-hero-section so a `padding:` shorthand declared
   earlier in this file can never zero the contract gutter. Block padding
   (and therefore hero min-height / composition) is left untouched.
   ========================================================================== */
.gc-wi-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-so-hero-bg-media,
.gc-tl-hero-bg,
.gc-tl-hero-section::after {
	display: none !important;
}

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

/* GEOCIKLO glassmorphism pilot: /soluciones/gestion-de-residuos/ only. */
.gc-non-home .gc-wi-root .gc-detail-hero-shell--wi,
.gc-non-home .gc-wi-root .gc-wi-hero-section {
	min-height: var(--gc-internal-hero-height, 765px) !important;
}

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

.gc-non-home .gc-wi-root .gc-internal-hero-bg {
	height: var(--gc-hero-bg-height, 820px) !important;
	max-height: var(--gc-hero-bg-height, 820px) !important;
	min-height: 0 !important;
}

.gc-non-home .gc-wi-root .gc-solutions-layout__sidebar,
.gc-non-home .gc-wi-root .gc-wi-hero-floating-pills,
.gc-non-home .gc-wi-root .gc-wi-tech-platform-card,
.gc-non-home .gc-wi-root .gc-wi-dstat,
.gc-non-home .gc-wi-root .gc-wi-dcard,
.gc-non-home .gc-wi-root .gc-wi-dash-advisor-card,
.gc-non-home .gc-wi-root .gc-wi-act-tab,
.gc-non-home .gc-wi-root .gc-wi-pnode,
.gc-non-home .gc-wi-root .gc-wi-scard,
.gc-non-home .gc-wi-root .gc-wi-mat-card,
.gc-non-home .gc-wi-root .gc-wi-jstep,
.gc-non-home .gc-wi-root .gc-wi-rcard,
.gc-non-home .gc-wi-root .gc-wi-sec-card,
.gc-non-home .gc-wi-root .gc-wi-faq-item,
.gc-non-home .gc-wi-root .gc-wi-fb-badge {
	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-wi-root .gc-wi-dash-shell {
	background: linear-gradient(135deg, rgba(7, 63, 77, .74), rgba(3, 88, 119, .58));
	backdrop-filter: blur(22px) saturate(135%);
	-webkit-backdrop-filter: blur(22px) saturate(135%);
	border-color: rgba(255, 255, 255, .14);
}

.gc-non-home .gc-wi-root .gc-wi-act-tab:hover,
.gc-non-home .gc-wi-root .gc-wi-mat-card:hover,
.gc-non-home .gc-wi-root .gc-wi-sec-card:hover {
	border-color: rgba(63, 174, 106, .46);
	box-shadow: 0 20px 58px rgba(7, 63, 77, .12);
}

/* Hero height and overflow unlock: ensure pills, actions and content are NEVER clipped */
.gc-non-home .gc-wi-root .gc-wi-hero-section {
	min-height: var(--gc-internal-hero-height, 765px) !important;
	height: auto !important;
	max-height: none !important;
	padding-top: calc(var(--gc-header-height, 72px) + 34px) !important;
	padding-bottom: 48px !important;
	overflow: visible !important;
}

.gc-non-home .gc-wi-root .gc-internal-hero-bg {
	height: var(--gc-hero-bg-height, 820px) !important;
	max-height: var(--gc-hero-bg-height, 820px) !important;
}

.gc-non-home .gc-wi-root .gc-wi-hero-secondary {
	margin-bottom: 22px;
}

.gc-non-home .gc-wi-root .gc-wi-hero-actions {
	margin-bottom: 30px;
}

/* Scroll-triggered dashboard motion */
.gc-wi-scroll-dashboard {
	--gc-wi-reveal-step: 82ms;
	transform: translateY(18px) scale(0.985);
	opacity: 0.86;
	transition: transform 620ms cubic-bezier(0.19, 1, 0.22, 1), opacity 420ms ease, box-shadow 620ms ease;
}

.gc-wi-scroll-dashboard.gc-wi-dashboard-in-view {
	transform: translateY(0) scale(1);
	opacity: 1;
	box-shadow: 0 28px 70px rgba(4, 45, 56, 0.22);
}

.gc-wi-scroll-dashboard [data-gc-wi-reveal-text] {
	display: inline-block;
	opacity: 0;
	transform: translateY(8px);
	filter: blur(2px);
	transition: opacity 420ms ease, transform 520ms cubic-bezier(0.19, 1, 0.22, 1), filter 420ms ease;
	transition-delay: calc(var(--gc-wi-reveal-index, 0) * var(--gc-wi-reveal-step));
}

.gc-wi-scroll-dashboard.gc-wi-dashboard-in-view [data-gc-wi-reveal-text] {
	opacity: 1;
	transform: translateY(0);
	filter: blur(0);
}

.gc-wi-scroll-dashboard .gc-wi-dstat,
.gc-wi-scroll-dashboard .gc-wi-dcard,
.gc-wi-scroll-dashboard .gc-wi-dash-advisor-card {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 460ms ease, transform 560ms cubic-bezier(0.19, 1, 0.22, 1);
	transition-delay: calc(var(--gc-wi-card-index, 0) * 80ms + 90ms);
}

.gc-wi-scroll-dashboard.gc-wi-dashboard-in-view .gc-wi-dstat,
.gc-wi-scroll-dashboard.gc-wi-dashboard-in-view .gc-wi-dcard,
.gc-wi-scroll-dashboard.gc-wi-dashboard-in-view .gc-wi-dash-advisor-card {
	opacity: 1;
	transform: translateY(0);
}

.gc-wi-scroll-dashboard .gc-wi-bar-fill {
	height: 0;
	transform-origin: bottom;
	transition: height 760ms cubic-bezier(0.19, 1, 0.22, 1), filter 360ms ease;
	transition-delay: calc(var(--gc-wi-bar-index, 0) * 95ms + 220ms);
}

.gc-wi-scroll-dashboard.gc-wi-dashboard-in-view .gc-wi-bar-fill {
	height: var(--bar-target, 60%);
	animation: gcWiBarPulse 1100ms ease-out both;
	animation-delay: calc(var(--gc-wi-bar-index, 0) * 95ms + 360ms);
}

.gc-wi-scroll-dashboard.gc-wi-dashboard-in-view [data-gc-wi-reveal-text] {
	animation: gcWiTextReveal 560ms ease both;
	animation-delay: calc(var(--gc-wi-reveal-index, 0) * var(--gc-wi-reveal-step));
}

@keyframes gcWiBarPulse {
	0% { filter: saturate(0.7); }
	52% { filter: saturate(1.35) brightness(1.08); }
	100% { filter: saturate(1) brightness(1); }
}

@keyframes gcWiTextReveal {
	0% { opacity: 0; transform: translateY(8px); filter: blur(2px); }
	100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@media (prefers-reduced-motion: reduce) {
	.gc-wi-scroll-dashboard,
	.gc-wi-scroll-dashboard *,
	.gc-wi-scroll-dashboard.gc-wi-dashboard-in-view [data-gc-wi-reveal-text],
	.gc-wi-scroll-dashboard.gc-wi-dashboard-in-view .gc-wi-bar-fill {
		animation: none !important;
		transition-duration: 1ms !important;
		transition-delay: 0ms !important;
		filter: none !important;
	}

	.gc-wi-scroll-dashboard,
	.gc-wi-scroll-dashboard [data-gc-wi-reveal-text],
	.gc-wi-scroll-dashboard .gc-wi-dstat,
	.gc-wi-scroll-dashboard .gc-wi-dcard,
	.gc-wi-scroll-dashboard .gc-wi-dash-advisor-card {
		opacity: 1;
		transform: none;
	}

	.gc-wi-scroll-dashboard .gc-wi-bar-fill {
		height: var(--bar-target, 60%);
	}
}
