/* --- 1. Global Design System --- */
:root {
	--primary-blue: #0055a6;
	--primary-dark: #004485;
	--tech-green: #3eb489;
	--dark-text: #1a1a1a;
	--body-text: #555555;
	--bg-light: #f5f6fa;
	--bg-section-gray: #f8f9fb;
	--white: #ffffff;

	/* Dark Theme Variables */
			--dark-bg: #0a192f;
			--dark-card: #112240;
			--text-gray: #8892b0;
}


body {
	font-family: "Open Sans", sans-serif;
	color: var(--body-text);
	overflow-x: hidden;
	scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Outfit", sans-serif;
	/* color: var(--dark-text); */
	font-weight: 700;
}
.about-wrapper h1,
.about-wrapper h2,
.about-wrapper h3,
.about-wrapper h4,
.about-wrapper h5,
.about-wrapper h6 {
	/* font-family: "Outfit", sans-serif; */
	color: var(--dark-text);
	/* font-weight: 700; */
}

/* Color Utilities */
.about-wrapper .text-primary {
	color: var(--primary-blue) !important;
}

.about-wrapper .bg-primary {
	background-color: var(--primary-blue) !important;
}

.about-wrapper .bg-light-custom {
	background-color: var(--bg-light) !important;
}

/* Buttons */
.about-wrapper .btn {
	font-family: "Outfit", sans-serif;
	font-weight: 700;
}

.about-wrapper .btn-primary {
	background-color: var(--primary-blue);
	border-color: var(--primary-blue);
	color: #fff !important;
	padding: 12px 30px;
	border-radius: 6px;
	transition: all 0.3s ease;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.about-wrapper .btn-primary:hover {
	background-color: var(--primary-dark);
	border-color: var(--primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 85, 166, 0.4);
	color: #fff !important;
}

.about-wrapper .btn-outline-light {
	border-width: 2px;
	padding: 12px 30px;
	font-weight: 600;
	color: #fff !important;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}

.about-wrapper .btn-outline-light:hover {
	background-color: white;
	color: var(--primary-blue) !important;
	text-shadow: none;
}

/* Section Spacing */
.about-wrapper section {
	padding: 80px 0;
	position: relative;
	overflow: hidden;
}

@media (max-width: 768px) {
	.about-wrapper section {
		padding: 50px 0;
	}
}

/* --- Page 1: Hero --- */
#hero {
	height: 100vh;
	min-height: 600px;
	background-color: #0a192f;
	position: relative;
	margin-top: 0;
	padding-top: 76px;
	display: flex;
	align-items: center;
}

.hero-overlay {
	background: linear-gradient(
		135deg,
		rgba(0, 85, 166, 0.39) 0%,
		rgba(0, 0, 0, 0.16) 100%
	);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

.hero-content {
	position: relative;
	z-index: 2;
}

#hero .hero-title {
	font-size: 3.5rem;
	line-height: 1.2;
	color: #ffffff !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

#hero p.lead {
	color: rgba(255, 255, 255, 0.95) !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

@media (max-width: 991px) {
	#hero .hero-title {
		font-size: 2.5rem;
	}
}

@media (max-width: 576px) {
	#hero .hero-title {
		font-size: 2rem;
	}
}

.mobius-bg {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
	height: 80%;
	border: 1px solid rgba(255, 255, 255, 0.05);
	border-radius: 50%;
	z-index: 0;
	animation: pulse 10s infinite;
}

/* Video Wrapper */
.video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 12px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
	background: #000;
}

.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* --- Key Figures --- */
.figures-section {
	background: url("https://placehold.co/1920x600/f0f2f5/d1d5db?text=Abstract+Tech+Background+(Shutterstock)")
		center/cover fixed;
	padding: 80px 0;
	position: relative;
}

.figures-section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(245, 246, 250, 0.9);
}

.figure-card {
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(5px);
	padding: 30px;
	border-radius: 12px;
	text-align: center;
	height: 100%;
	border: 1px solid rgba(255, 255, 255, 0.8);
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.figure-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 30px rgba(0, 85, 166, 0.15);
	border-color: var(--primary-blue);
	background: white;
}

.figure-icon {
	font-size: 2.5rem;
	color: var(--primary-blue);
	margin-bottom: 15px;
	position: relative;
	z-index: 1;
}

.figure-number {
	font-size: 3.5rem;
	font-weight: 700;
	color: var(--dark-text);
	line-height: 1;
	margin-bottom: 10px;
	font-family: "Outfit", sans-serif;
	position: relative;
	z-index: 1;
	background: linear-gradient(135deg, var(--primary-blue) 0%, #003366 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.figure-label {
	font-size: 1rem;
	color: #6c757d;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	position: relative;
	z-index: 1;
}

/* --- Page 2: Milestones (Fixed Layout) --- */
#milestones {
	background: url("https://placehold.co/1920x1080/f8f9fa/e9ecef?text=World+Map+Background")
		center/cover no-repeat;
	position: relative;
}

#milestones::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.9);
	z-index: 0;
}

/* Fixed Height Container for Timeline */
.timeline-wrapper-fixed {
	height: 600px;
	position: relative;
	display: flex;
	align-items: center;
}

.timelineSwiper {
	width: 100%;
	height: 100%;
	padding-bottom: 60px !important;
	overflow: visible !important;
}

.timelineSwiper .swiper-wrapper {
	display: flex;
	align-items: center;
}

.timelineSwiper .swiper-slide {
	width: 300px;
	height: 100%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Central Line - Fixed to Wrapper */
.timeline-line-decoration {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 4px;
	background: #d1d5db;
	transform: translateY(-50%);
	z-index: 0;
	border-radius: 2px;
}

/* The Dot (Static Center) - Positioned relative to Slide Center */
/* Since swiper-slide is vertically centered in container, and items are centered, top:50% is the line */
.timeline-dot-static {
	width: 20px;
	height: 20px;
	background: var(--primary-blue);
	border: 4px solid #fff;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 0 4px rgba(0, 85, 166, 0.15);
	z-index: 10;
}

/* Content Wrapper - Absolute positioning relative to slide center */
.timeline-content-wrapper {
	width: 100%;
	position: absolute;
	left: 0;
	transition: all 0.3s;
}

/* Odd slides: Up */
.timelineSwiper .swiper-slide:nth-child(odd) .timeline-content-wrapper {
	bottom: 50%;
	margin-bottom: 40px;
}

/* Even slides: Down */
.timelineSwiper .swiper-slide:nth-child(even) .timeline-content-wrapper {
	top: 50%;
	margin-top: 40px;
}

/* Connector Lines */
.timelineSwiper .swiper-slide:nth-child(odd) .timeline-content-wrapper::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -40px;
	width: 2px;
	height: 40px;
	background: #d1d5db;
	transform: translateX(-50%);
	z-index: -1;
}

.timelineSwiper
	.swiper-slide:nth-child(even)
	.timeline-content-wrapper::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -40px;
	width: 2px;
	height: 40px;
	background: #d1d5db;
	transform: translateX(-50%);
	z-index: -1;
}

.timeline-card {
	background: #fff;
	padding: 25px;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	border-top: 4px solid var(--primary-blue);
	text-align: left;
}

.timeline-card:hover {
	transform: scale(1.02);
	z-index: 5;
}

@media (max-width: 768px) {
	.timeline-wrapper-fixed {
		height: auto;
		display: block;
	}

	.timelineSwiper {
		padding: 20px 0 40px 0 !important;
		height: auto;
	}

	.timeline-line-decoration {
		display: none;
	}

	.timeline-dot-static {
		display: none;
	}

	.timelineSwiper .swiper-slide {
		width: 280px;
		height: auto;
		display: block;
		margin-right: 20px;
	}

	.timelineSwiper .swiper-slide:nth-child(odd) .timeline-content-wrapper,
	.timelineSwiper .swiper-slide:nth-child(even) .timeline-content-wrapper {
		position: relative;
		top: auto;
		bottom: auto;
		margin: 0;
	}

	.timelineSwiper .swiper-slide:nth-child(odd) .timeline-content-wrapper::after,
	.timelineSwiper
		.swiper-slide:nth-child(even)
		.timeline-content-wrapper::before {
		display: none;
	}
}

/* --- Page 3: Culture (Spotlight Border + Default Border) --- */
.culture-section {
	background-color: var(--bg-section-gray);
	padding: 100px 0;
}

/* Mouse Follow Border Wrapper */
.mouse-follow-card {
	position: relative;
	background: #fff;
	border-radius: 12px;
	padding: 3px;
	/* INCREASED Border thickness */
	overflow: hidden;
	height: 100%;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
	/* Default Visible Border */
	border: 1px solid #e0e0e0;
}

/* The "Spotlight" layer behind the content */
.mouse-follow-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* More Intense Gradient */
	background: radial-gradient(
		500px circle at var(--x) var(--y),
		var(--spotlight-color),
		transparent 60%
	);
	z-index: 0;
	opacity: 0;
	transition: opacity 0.5s;
}

.mouse-follow-card:hover::before {
	opacity: 1;
}

.mouse-follow-card:hover {
	border-color: transparent;
}

.mouse-follow-content {
	background: white;
	border-radius: 9px;
	/* Inner radius */
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
	padding: 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.card-mission {
	--spotlight-color: #0055a6;
}

.card-vision {
	--spotlight-color: #3eb489;
}

.bento-icon {
	font-size: 2.5rem;
	margin-bottom: 20px;
}

/* Values Grid - 3. Wider Columns */
.bento-card-small {
	background: white;
	padding: 30px 20px;
	border-radius: 8px;
	text-align: center;
	border: 1px solid #eee;
	transition: all 0.3s;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.bento-card-small:hover {
	transform: translateY(-3px);
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
	border-color: var(--primary-blue);
}

/* --- Page 4: Qualifications (Image Logos) --- */
.cert-container {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
}

.cert-box {
	background: #fff;
	padding: 15px 30px;
	border-radius: 12px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	height: 90px;
	border: 1px solid #e9ecef;
	transition: all 0.3s;
}

.cert-box:hover {
	border-color: var(--primary-blue);
	transform: translateY(-3px);
	box-shadow: 0 8px 15px rgba(0, 85, 166, 0.1);
}

.cert-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

/* Actual Image Styling */
.cert-logo-img {
	height: 40px;
	width: auto;
	object-fit: contain;
}

.cert-text {
	font-weight: 600;
	color: var(--dark-text);
	font-size: 0.9rem;
	margin-top: 5px;
}

.swiper {
	width: 100%;
	padding-bottom: 50px !important;
}

.patent-card {
	background: white;
	border: 1px solid #eee;
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.3s;
	width: 100%;
}

.patent-card:hover {
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.swiper-pagination-bullet-active {
	background-color: var(--primary-blue) !important;
}

/* --- Page 5: Advantages --- */
.advantage-card {
	background: white;
	padding: 30px;
	border-radius: 12px;
	height: 100%;
	transition: all 0.3s;
	border-left: 4px solid transparent;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
}

.advantage-card:hover {
	border-left-color: var(--primary-blue);
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

/* 5. Inspection Capabilities Background - Designed for Real Images */
.equip-item {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	/* Fallback color while image loads */
	background: #e9ecef;
	height: 100%;
}

/* The container itself will hold the background image via inline style in HTML */
.equip-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s;
}

.equip-item:hover .equip-bg {
	transform: scale(1.05);
}

.equip-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px;
	/* Gradient overlay to make text readable over any image */
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.8) 0%,
		rgba(0, 0, 0, 0.4) 60%,
		transparent 100%
	);
	color: white;
	z-index: 2;
}

.placeholder-img {
	display: none;
	/* Hide old placeholder structure */
}

@keyframes pulse {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.1;
	}

	50% {
		transform: translate(-50%, -50%) scale(1.05);
		opacity: 0.2;
	}

	100% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 0.1;
	}
}

/* .in-section {
	padding-top: 7rem;
	padding-bottom: 7rem;
} */

.in-mission-version {
	background-image: url("/static/i/common/mission-version-bg.png");
	background-repeat: no-repeat;
	background-size: cover;
}

.in-timeline-content {
	background-image: url("/static/i/common/world-map.svg");
	background-repeat: no-repeat;
	background-size: auto 100%;
	background-position: 60% center;
}

.in-timeline-content .timeline-wrapper::after {
	content: "";
	position: absolute;
	top: 279px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #1f1f1f;
	z-index: 0;
}

.timeline {
	margin: 0;
	list-style-type: none;
	display: flex;
	padding: 0;
	text-align: center;
}

.timeline li {
	transition: all 200ms ease-in;
}

.timestamp {
	width: 100%;
	margin-bottom: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	word-break: break-all;
	/* overflow: hidden; */
	height: 280px;
}

.timeline .timestamp .timeline-date {
	font-size: 6.25rem;
	color: #0068b7;
}

.timeline .status .timeline-date {
	font-size: 6.25rem;
	color: #0068b7;
}

.timestamp span {
	font-weight: 600;
}

.status {
	display: flex;
	flex-direction: column;
	justify-content: center;
	/* border-top: 2px solid #1F1F1F; */
	position: relative;
	transition: all 200ms ease-in;
	word-break: break-all;
	/* overflow: hidden; */
	height: 280px;
}

.status span {
	font-weight: 600;
}

.status span:before {
	content: "";
	width: 15px;
	height: 15px;
	background-color: #000;
	border-radius: 25px;
	border: 2px solid #1f1f1f;
	position: absolute;
	top: -8px;
	left: calc(50% - 12px);
	transition: all 200ms ease-in;
}

.swiper-control {
	text-align: right;
}

.swiper-container {
	width: 100%;
	overflow: hidden;
}

.swiper-slide {
	width: 200px;
	text-align: center;
	font-size: 18px;
}

.swiper-slide:nth-child(2n) {
	width: 25%;
}

.swiper-slide:nth-child(3n) {
	width: 25%;
}

.stroke-text {
	color: transparent;
	-webkit-text-stroke: 2px #3fb46e;
	background-color: transparent;
}

.slider-top .slider-wrap {
	padding-top: 15rem;
	padding-bottom: 15rem;
	width: 100%;
	background: url("/static/i/common/bg-hero.jpg") no-repeat;
	background-size: cover;
}

.slider-top .slider-wrap .slider-title {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.2;
}

.slider-top .slider-wrap .slider-wrap-container {
	width: 60%;
}

.in-qualify-control {
	background-color: #0068b7;
}

.in-qualify-control .in-qualify-control-desc::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 10%;
	width: 100%;
	height: 100%;
	background-image: url("/static/i/common/circle-bg.svg");
	background-repeat: no-repeat;
	background-size: auto;
	background-position: bottom right;
	z-index: 0;
	opacity: 0.01;
}

.in-answer-submit {
	background-color: #f5f5f5;
}

/* in-btn-group */
.in-btn-group .btn-group-content::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #0068b7;
	transform: translateX(100%);
	transition: transform 0.5s ease;
	z-index: -1;
}

.in-btn-group:hover .btn-group-content {
	color: #fff !important;
}

.in-btn-group:hover .btn-group-content::before {
	transform: translateX(0);
}
