/* ========================================
	Hero Section
	======================================== */
.hero {
	background: var(--gradient-primary);
	min-height: 80vh;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 60px 80px;
	position: relative;
	overflow: hidden;
}

.hero::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -20%;
	width: 80%;
	height: 200%;
	background: radial-gradient(circle, rgba(56, 178, 172, 0.15) 0%, transparent 70%);
	pointer-events: none;
}

.hero-content {
	flex: 1;
	max-width: 600px;
	z-index: 1;
}

.hero-title {
	font-size: 4rem;
	font-weight: 800;
	color: var(--white);
	line-height: 1.1;
	margin-bottom: 20px;
}

.hero-title span {
	display: block;
	background: var(--gradient-accent);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.hero-subtitle {
	font-size: 1.5rem;
	color: rgba(255,255,255,0.9);
	margin-bottom: 15px;
	font-weight: 500;
}

.hero-description {
	font-size: 1.1rem;
	color: rgba(255,255,255,0.7);
	margin-bottom: 40px;
	line-height: 1.8;
}

.hero-stats {
	display: flex;
	gap: 40px;
}

.stat-item {
	text-align: center;
	padding: 20px 30px;
	background: #39567d;
	border-radius: var(--border-radius);
	backdrop-filter: blur(10px);
}

.stat-number {
	display: block;
	font-size: 2.5rem;
	font-weight: 800;
	color: var(--secondary-color);
}

.stat-label {
	font-size: 0.9rem;
	color: rgba(255,255,255,0.8);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.hero-visual {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	z-index: 1;
}

/* ========================================
	Landing Construction
	======================================== */
.landing-hero {
	background: var(--gradient-primary);
	min-height: 80vh;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 60px 80px;
	position: relative;
	overflow: hidden;
}

.landing-hero::before {
	content: '';
	position: absolute;
	top: -40%;
	right: -10%;
	width: 70%;
	height: 200%;
	background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 65%);
	pointer-events: none;
}

.landing-hero .hero-content {
	max-width: 520px;
}

.landing-hero .hero-title {
	font-size: 3.8rem;
}

.landing-hero .hero-description {
	max-width: 480px;
}

.landing-info {
	padding: 80px 0;
	background: var(--background);
}

.landing-highlights {
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
}

.landing-card {
	background: var(--white);
	border-radius: var(--border-radius);
	padding: 30px;
	border: 1px solid rgba(0,0,0,0.05);
	box-shadow: var(--shadow-sm);
	transition: var(--transition);
}

.landing-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--shadow-md);
}

.landing-card h3 {
	font-size: 1.25rem;
	margin-bottom: 0.75rem;
}

.landing-card p {
	color: var(--text-light);
	line-height: 1.6;
}

.landing-cta {
	background: var(--gradient-accent);
}

.landing-cta .container {
	text-align: center;
}

.landing-cta h2,
.landing-cta p {
	color: var(--white);
}

.landing-cta .newsletter-form input,
.landing-cta .newsletter-form button {
	border-radius: 999px;
}

.landing-cta .newsletter-form input {
	max-width: 360px;
	margin: 0 auto 15px;
}

.data-chart-animation {
	display: flex;
	align-items: flex-end;
	gap: 15px;
	height: 300px;
}

.chart-bar {
	width: 50px;
	height: var(--height);
	background: var(--gradient-accent);
	border-radius: 8px 8px 0 0;
	animation: growBar 1.5s ease-out forwards;
	opacity: 0;
	transform: scaleY(0);
	transform-origin: bottom;
}

.chart-bar:nth-child(1) { animation-delay: 0.1s; }
.chart-bar:nth-child(2) { animation-delay: 0.2s; }
.chart-bar:nth-child(3) { animation-delay: 0.3s; }
.chart-bar:nth-child(4) { animation-delay: 0.4s; }
.chart-bar:nth-child(5) { animation-delay: 0.5s; }

@keyframes growBar {
	to {
		opacity: 1;
		transform: scaleY(1);
	}
}
