@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap');

/* Prevent horizontal scroll globally */
:root {
	overflow-x: hidden;
}

body {
	/* overflow-x: hidden; */
	width: 100%;
	position: relative;
}

.reference-hero {
	position: relative;
	min-height: 600px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #ffffff;
	background-image:
		radial-gradient(circle at 1px 1px, #e2e8f0 1.2px, transparent 0);
	background-size: 32px 32px;
	overflow: hidden !important;
	font-family: 'Outfit', sans-serif !important;
	padding: 30px 24px 0px 24px;
	margin-top: -30px;
	border-bottom: 1px solid #2563eb;
}

/* Premium Glow Effect */
.reference-hero::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 800px;
	height: 800px;
	background: radial-gradient(circle, rgba(37, 99, 235, 0.08) 0%, transparent 70%);
	z-index: 1;
	pointer-events: none;
}

.reference-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(to right, rgba(226, 232, 240, 0.5) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(226, 232, 240, 0.5) 1px, transparent 1px);
	background-size: 64px 64px;
	z-index: 0;
	pointer-events: none;
	mask-image: radial-gradient(circle at center, black, transparent 85%);
}

.ref-content {
	position: relative;
	z-index: 5;
	text-align: center;
	max-width: 1000px;
}

.ref-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 100px;
	font-size: 0.8rem;
	font-weight: 700;
	color: #2563eb;
	margin-bottom: 32px;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.ref-title {
	font-size: clamp(2.5rem, 6vw, 4.2rem) !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	margin-bottom: 24px !important;
	letter-spacing: -0.01em !important;
	background: linear-gradient(135deg, #0f172a 0%, #1e40af 50%, #3b82f6 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-top: 0;
}

.ref-subtitle {
	font-size: 1.25rem !important;
	color: #475569 !important;
	margin-bottom: 48px !important;
	font-weight: 400 !important;
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6 !important;
}

.ref-buttons {
	display: flex;
	gap: 20px;
	justify-content: center;
}

.btn-ref-primary {
	background: #2563eb !important;
	color: white !important;
	padding: 12px 32px !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: 0 15px 30px -10px rgba(37, 99, 235, 0.35) !important;
	transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1) !important;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	position: relative;
	overflow: hidden;
	font-size: 0.95rem;
}

.btn-ref-primary:hover {
	transform: translateY(-6px) scale(1.02);
	box-shadow: 0 30px 60px -15px rgba(37, 99, 235, 0.5) !important;
	background: #1d4ed8 !important;
}

.btn-ref-primary::after {
	content: '';
	position: absolute;
	top: -50%;
	left: -100%;
	width: 100%;
	height: 200%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transform: rotate(35deg);
	animation: shimmerBtn 4s infinite;
}

@keyframes shimmerBtn {
	0% {
		left: -100%;
	}

	20% {
		left: 100%;
	}

	100% {
		left: 100%;
	}
}

.btn-ref-secondary {
	background: white !important;
	color: #0f172a !important;
	padding: 12px 32px !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	border: 1.5px solid #e2e8f0 !important;
	text-decoration: none !important;
	transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1) !important;
	display: inline-flex;
	align-items: center;
	font-size: 0.95rem;
}

.btn-ref-secondary:hover {
	border-color: #2563eb !important;
	color: #2563eb !important;
	transform: translateY(-6px);
	background: #f8fafc !important;
	box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.05) !important;
}

@media (max-width: 1200px) {
	.ref-title {
		font-size: clamp(1.8rem, 5.5vw, 3.5rem) !important;
	}
}

@media (max-width: 1024px) {
	.reference-hero {
		min-height: 530px;
	}
}

@media (max-width: 768px) {

	.btn-ref-primary,
	.btn-ref-secondary {
		justify-content: center;
	}

	.reference-hero {
		min-height: auto;
		padding: 80px 24px;
	}
}

@media (max-width: 425px) {
	.btn-ref-primary {
		font-size: 13px !important;
		padding: 12px !important;
	}

	.btn-ref-primary svg {
		width: 18px !important;
		height: 18px !important;
	}

	.ref-subtitle {
		margin-bottom: 25px !important;
		font-size: 1rem !important;
	}

	.ref-buttons {
		gap: 10px;
	}
}