/* ============================================================
   Growing Future Industry Showcase – Scoped Frontend Styles
   v2.0 – Horizontal split card layout matching reference design
   ============================================================ */

/* ---------- CSS Custom Properties ---------- */
.gfis-section {
	--gfis-navy:        #0f1f5c;
	--gfis-orange:      #f97316;
	--gfis-grey-text:   #555e7a;
	--gfis-bg:          #f5f6ff;
	--gfis-white:       #ffffff;
	--gfis-accent:      #1a2f5e;
	--gfis-shadow:      0 4px 28px rgba(15, 31, 92, 0.09);
	font-family: inherit;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	background-color: var(--gfis-bg);
}

.gfis-section *,
.gfis-section *::before,
.gfis-section *::after {
	box-sizing: border-box;
}

/* ---------- Decorative Dotted Background ---------- */
.gfis-section.gfis-has-dots::before,
.gfis-section.gfis-has-dots::after {
	content: "";
	position: absolute;
	width: 200px;
	height: 200px;
	background-image: radial-gradient(circle, #c0c8e6 1.5px, transparent 1.5px);
	background-size: 14px 14px;
	opacity: 0.5;
	z-index: 0;
	pointer-events: none;
}
.gfis-section.gfis-has-dots::before { top: 40px;     left: 20px; }
.gfis-section.gfis-has-dots::after  { bottom: 100px; right: 20px; }

/* ---------- Container ---------- */
.gfis-container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 30px 20px;
	position: relative;
	z-index: 1;
}

/* ---------- Section Header ---------- */
.gfis-section-header {
	text-align: center;
	margin-bottom: 52px;
}

.gfis-section-label {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--gfis-orange);
	margin-bottom: 4px;
}

.gfis-label-divider {
	display: block;
	width: 36px;
	height: 3px;
	background-color: var(--gfis-orange);
	border-radius: 2px;
	margin: 8px auto 18px;
}

.gfis-main-heading {
	font-size: clamp(26px, 3.5vw, 46px);
	font-weight: 800;
	color: var(--gfis-navy);
	line-height: 1.15;
	margin: 0 0 18px;
}

.gfis-subtitle {
	font-size: 16px;
	color: var(--gfis-grey-text);
	line-height: 1.75;
	max-width: 680px;
	margin: 0 auto;
}

/* =============================================================
   INDUSTRIES GRID  –  3 columns, each card is horizontal split
   ============================================================= */

.gfis-industries-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 28px;
}

/* ---------- Single Card ---------- */
.gfis-industry-item {
	background: var(--gfis-white);
	border-radius: 16px;
	box-shadow: var(--gfis-shadow);
	overflow: hidden;
	/* HORIZONTAL split */
	display: flex;
	flex-direction: row;
	align-items: stretch;
	min-height: 260px;
	transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.4s ease;
	opacity: 1;
	transform: translateY(0);
}

/* Scroll-in animation states */
.gfis-industry-item.gfis-card-hidden {
	opacity: 0;
	transform: translateY(24px);
}
.gfis-industry-item.gfis-card-visible {
	opacity: 1 !important;
	transform: translateY(0) !important;
}
.gfis-industry-item.gfis-hover-enabled:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 48px rgba(15, 31, 92, 0.15);
}
.gfis-industry-item.gfis-card-visible.gfis-hover-enabled:hover {
	transform: translateY(-5px) !important;
}

/* ---------- Left: Text Content (52%) ---------- */
.gfis-industry-content {
	flex: 0 0 52%;
	padding: 28px 20px 24px 24px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-width: 0;
}

/* Icon Badge */
.gfis-icon-badge {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	flex-shrink: 0;
	transition: transform 0.3s ease;
}
.gfis-hover-enabled:hover .gfis-icon-badge {
	transform: translateY(-3px) scale(1.08);
}
.gfis-icon-badge i,
.gfis-icon-badge svg {
	font-size: 22px;
	width: 22px;
	height: 22px;
	color: #fff !important;
	fill: #fff !important;
}

/* Title */
.gfis-industry-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--gfis-navy);
	margin: 0 0 10px;
	padding-left: 10px;
	border-left: 4px solid var(--gfis-accent);
	line-height: 1.3;
}

/* Description */
.gfis-industry-desc {
	font-size: 13px;
	color: var(--gfis-grey-text);
	line-height: 1.7;
	margin: 0 0 16px;
	flex: 1;
}

/* Learn More */
.gfis-learn-more {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	color: var(--gfis-accent);
	transition: gap 0.22s ease;
	margin-top: auto;
}
.gfis-hover-enabled:hover .gfis-learn-more { gap: 9px; }

.gfis-arrow {
	font-size: 15px;
	display: inline-block;
	transition: transform 0.22s ease;
}
.gfis-hover-enabled:hover .gfis-arrow { transform: translateX(4px); }

/* ---------- Right: Image (48%) – large left-arch curve ---------- */
.gfis-industry-image-wrap {
	flex: 0 0 48%;
	position: relative;
	overflow: hidden;
	/* Arch/half-circle on the LEFT side to mirror reference design */
	border-radius: 50% 0 0 50% / 50% 0 0 50%;
	background: #dde1ee;
	min-height: 200px;
}

.gfis-industry-image-wrap img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
	transition: transform 0.4s ease;
}
.gfis-hover-enabled:hover .gfis-industry-image-wrap img {
	transform: scale(1.06);
}

/* =============================================================
   STATS STRIP
   ============================================================= */
.gfis-stats-strip {
	background: var(--gfis-white);
	border-radius: 20px;
	box-shadow: 0 6px 32px rgba(15, 31, 92, 0.1);
	padding: 36px 40px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 8px;
}

.gfis-stats-intro {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 0 0 auto;
	max-width: 290px;
}

.gfis-stats-globe-wrap {
	position: relative;
	flex-shrink: 0;
	width: 74px;
	height: 74px;
}
.gfis-globe-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	position: relative;
}
.gfis-globe-icon .fa-globe { font-size: 54px; color: #c5cbe0; }
.gfis-pin {
	position: absolute !important;
	bottom: 2px; right: 2px;
	font-size: 20px !important;
	color: var(--gfis-orange) !important;
}

.gfis-stats-intro-text { flex: 1; }

.gfis-stats-heading {
	font-size: 17px;
	font-weight: 800;
	color: var(--gfis-navy);
	line-height: 1.35;
	margin: 0 0 8px;
}
.gfis-stats-h-normal { color: var(--gfis-navy); }
.gfis-stats-h-accent { color: var(--gfis-orange); }

.gfis-stats-desc {
	font-size: 13px;
	color: var(--gfis-grey-text);
	line-height: 1.6;
	margin: 0;
}

.gfis-stats-divider {
	width: 1px;
	align-self: stretch;
	background: #e4e7f0;
	flex-shrink: 0;
}

.gfis-stats-items {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
	gap: 16px;
}

.gfis-stat-item { text-align: center; min-width: 78px; }

.gfis-stat-icon { margin-bottom: 6px; }
.gfis-stat-icon i,
.gfis-stat-icon svg {
	font-size: 26px;
	width: 26px;
	height: 26px;
	color: #b8c0d8;
	fill: #b8c0d8;
}

.gfis-stat-number {
	font-size: 28px;
	font-weight: 800;
	color: var(--gfis-navy);
	line-height: 1;
	margin-bottom: 4px;
}

.gfis-stat-label {
	font-size: 11px;
	color: var(--gfis-grey-text);
	line-height: 1.4;
}

/* =============================================================
   RESPONSIVE – TABLET  ≤ 1024px  (2 columns)
   ============================================================= */
@media (max-width: 1024px) {
	.gfis-industries-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.gfis-industry-item { min-height: 220px; }

	.gfis-stats-strip { flex-direction: column; align-items: flex-start; }
	.gfis-stats-intro { max-width: 100%; }
	.gfis-stats-divider { width: 100%; height: 1px; align-self: auto; }
	.gfis-stats-items { width: 100%; justify-content: flex-start; }
}

/* =============================================================
   RESPONSIVE – MOBILE  ≤ 768px  (1 column, vertical stacked)
   Image on top, content below
   ============================================================= */
@media (max-width: 768px) {
	.gfis-industries-grid {
		grid-template-columns: 1fr;
	}

	/* Switch to vertical on mobile */
	.gfis-industry-item {
		flex-direction: column;
		min-height: unset;
	}

	/* Image goes on top with arch at bottom */
	.gfis-industry-image-wrap {
		flex: none;
		width: 100%;
		height: 200px;
		border-radius: 0 0 50% 50% / 0 0 28% 28%;
		order: -1;
	}

	.gfis-industry-content {
		flex: none;
		width: 100%;
		padding: 22px 20px 20px;
	}

	.gfis-stats-strip { padding: 28px 20px; }
	.gfis-stats-items { gap: 14px; justify-content: center; }
	.gfis-stat-item   { flex: 0 0 calc(33% - 14px); }
	.gfis-main-heading { font-size: clamp(22px, 6vw, 32px); }
	.gfis-section-header { margin-bottom: 32px; }
	.gfis-section.gfis-has-dots::before,
	.gfis-section.gfis-has-dots::after { display: none; }
}

/* =============================================================
   RESPONSIVE – SMALL MOBILE  ≤ 480px
   ============================================================= */
@media (max-width: 480px) {
	.gfis-stats-intro { flex-direction: column; text-align: center; }
	.gfis-stat-item   { flex: 0 0 calc(50% - 14px); }
	.gfis-stats-items { justify-content: center; }
	.gfis-container   { padding: 30px 16px; }
}
