/* Hero section extracted from css/styles.css on 2025-08-13 */

/* ===== HERO SECTION ===== */
.hero {
	padding: calc(80px + var(--spacing-xxl)) 0 var(--spacing-xxl);
	position: relative;
	overflow: hidden;
}

.hero-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		135deg,
		rgba(20, 33, 61, 0.05) 0%,
		rgba(229, 229, 229, 0.1) 100%
	);
	z-index: -1;
}

.hero .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-xl);
}

.hero-content {
	flex: 1;
}

.hero-title {
	font-size: 3.5rem;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: var(--spacing-md);
}

.hero-subtitle {
	font-size: 1.3rem;
	margin-bottom: var(--spacing-lg);
	color: #666;
}

.hero-cta {
	display: flex;
	gap: var(--spacing-md);
}

.hero-visual {
	flex: 1;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* Original gradient circle */
.gradient-circle {
	width: 350px;
	height: 350px;
	border-radius: 50%;
	background: conic-gradient(
		var(--gradient-blue-start),
		var(--gradient-blue-end),
		var(--gradient-teal),
		var(--gradient-orange-start),
		var(--gradient-orange-end),
		var(--gradient-yellow),
		var(--gradient-blue-start)
	);
	/* animation: rotate 20s linear infinite; */
	box-shadow: var(--shadow-lg);
}

.rotating-logo {
	width: 350px;
	height: 350px;
	display: flex;
	justify-content: center;
	align-items: center;
	/* animation: rotate 20s linear infinite; */
}

.logo-img-rotating {
	width: 250px;
	height: 250px;
	border-radius: 50%;
	box-shadow: var(--shadow-lg);
}

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

/* ===== RESPONSIVE ===== */
@media (max-width: 992px) {
	.hero {
		padding: var(--spacing-xl) 0 var(--spacing-lg);
		padding-top: calc(140px + env(safe-area-inset-top));
		scroll-margin-top: 140px;
	}
	.hero .container {
		flex-direction: column-reverse;
		text-align: center;
		gap: var(--spacing-md);
	}
	.hero-cta {
		justify-content: center;
	}
	.rotating-logo {
		width: 260px;
		height: 260px;
	}
	.logo-img-rotating {
		width: 190px;
		height: 190px;
	}
}

@media (max-width: 768px) {
	.rotating-logo {
		width: 250px;
		height: 250px;
	}
	.logo-img-rotating {
		width: 180px;
		height: 180px;
	}
}

/* Phone-friendly tweaks */
@media (max-width: 640px) {
	/* Reduce hero padding and keep visual above content; clear fixed header */
	.hero {
		padding: var(--spacing-lg) 0 var(--spacing-md);
		padding-top: calc(140px + env(safe-area-inset-top));
		scroll-margin-top: 140px;
	}
	.hero .container {
		gap: var(--spacing-sm);
		flex-direction: column-reverse;
		text-align: center;
	}
	.hero-title {
		font-size: 2rem;
		margin-bottom: var(--spacing-sm);
		line-height: 1.2;
	}
	.hero-subtitle {
		font-size: 1rem;
		margin-bottom: var(--spacing-sm);
	}
	.hero-cta {
		justify-content: center;
	}
	.hero-cta .btn {
		padding: 0.6rem 1rem;
		font-size: 0.95rem;
	}
	/* Smaller logo visual */
	.rotating-logo {
		width: 160px;
		height: 160px;
	}
	.logo-img-rotating {
		width: 130px;
		height: 130px;
	}
}

@media (max-width: 480px) {
	/* Minimal padding; keep visual small and above content; clear header */
	.hero {
		padding: var(--spacing-md) 0 var(--spacing-md);
		padding-top: calc(140px + env(safe-area-inset-top));
		scroll-margin-top: 140px;
	}
	.hero .container {
		gap: var(--spacing-xs);
	}
	.hero-title {
		font-size: 1.7rem;
		margin-bottom: var(--spacing-xs);
	}
	.hero-subtitle {
		font-size: 0.95rem;
		margin-bottom: var(--spacing-xs);
	}
	.hero-cta {
		flex-direction: column;
		gap: var(--spacing-xs);
		justify-content: center;
	}
	.hero-cta .btn {
		padding: 0.55rem 0.9rem;
		font-size: 0.95rem;
	}
	.rotating-logo {
		width: 120px;
		height: 120px;
	}
	.logo-img-rotating {
		width: 100px;
		height: 100px;
	}
}
