/* New Hero Gradient */
.bg-gradient-primary {
	background: linear-gradient(135deg, #7A1E4F 0%, #5a163a 100%) !important;
}

.text-gradient {
	background: linear-gradient(90deg, #fff 0%, #f0f0f0 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.hero-badge-top {
	animation: float 3s ease-in-out infinite;
}

.hero-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 2rem;
	max-width: 600px;
	margin: 0 auto;
}

.stat-item {
	padding: 1.5rem;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	transition: transform 0.3s ease;
}

.stat-item:hover {
	transform: translateY(-5px);
}

.stat-highlight {
	text-align: center;
	padding: 1rem;
	border-radius: 12px;
	background: rgba(122, 30, 79, 0.05);
	border: 1px solid rgba(122, 30, 79, 0.1);
	transition: all 0.3s ease;
	transform: translateZ(0);
}

.stat-highlight:hover {
	transform: translateY(-3px) translateZ(0);
	background: rgba(122, 30, 79, 0.1);
	box-shadow: 0 5px 15px rgba(122, 30, 79, 0.1);
}

/* Button hover color fix */
.btn-outline-grape:hover {
	background-color: #7A1E4F !important;
	border-color: #7A1E4F !important;
	color: white !important;
}

/* Ensure CTA section is visible */
.content-cta-section {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	z-index: 10 !important;
	position: relative !important;
	clear: both !important;
}

.hero-bottom-wave {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	transform: rotate(180deg);
}

.hero-bottom-wave svg {
	position: relative;
	display: block;
	width: calc(100% + 1.3px);
	height: 120px;
}

@keyframes pulse {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.05);
	}
}

.content-hero-premium {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	position: relative;
	overflow: hidden;
}

/* Fix button hover overflow */
.wrapper {
	overflow-x: visible;
}

.btn {
	transition: all 0.2s ease;
	transform: translateZ(0);
}

.btn:hover {
	transform: translateY(-2px) translateZ(0);
	box-shadow: 0 4px 12px rgba(122, 30, 79, 0.25);
}

.content-hero-premium::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle at 20% 80%, rgba(122, 30, 79, 0.05) 0%, transparent 40%),
		radial-gradient(circle at 80% 20%, rgba(122, 30, 79, 0.03) 0%, transparent 40%);
	z-index: 1;
}

.content-hero-figure {
	position: relative;
	z-index: 2;
}

.content-floating-badge {
	position: absolute;
	top: 20%;
	right: 10%;
	background: white;
	border-radius: 12px;
	padding: 1rem 1.5rem;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	border: 1px solid rgba(122, 30, 79, 0.1);
	z-index: 3;
	animation: float 3s ease-in-out infinite;
}

.badge-content {
	display: flex;
	align-items: center;
}

.badge-content i {
	font-size: 1.5rem;
}

.content-hero-title {
	position: relative;
	z-index: 2;
}

.content-problem-section {
	background: white;
}

.content-problem-card {
	background: #f8f9fa;
	border-radius: 16px;
	padding: 2.5rem;
	height: 100%;
	position: relative;
	border: 1px solid #e9ecef;
	transition: all 0.3s ease;
}

.content-problem-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 35px rgba(122, 30, 79, 0.1);
	border-color: rgba(122, 30, 79, 0.2);
}

.problem-number {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	width: 40px;
	height: 40px;
	background: rgba(122, 30, 79, 0.1);
	color: #7A1E4F;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.1rem;
}

.problem-icon-wrapper {
	width: 70px;
	height: 70px;
	background: white;
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
	border: 1px solid rgba(122, 30, 79, 0.1);
}

.problem-icon-wrapper i {
	font-size: 2rem;
	color: #7A1E4F;
}

.content-approach-section {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.content-approach-timeline {
	position: relative;
}

.content-approach-timeline::before {
	content: '';
	position: absolute;
	left: 30px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: linear-gradient(to bottom, #7A1E4F, #e9ecef);
}

.approach-item {
	position: relative;
	margin-bottom: 4rem;
}

.approach-marker {
	position: absolute;
	left: 0;
	top: 0;
	width: 60px;
	height: 60px;
	background: #7A1E4F;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-weight: 700;
	font-size: 1.2rem;
	z-index: 2;
	box-shadow: 0 5px 15px rgba(122, 30, 79, 0.3);
}

.approach-content-box {
	background: white;
	border-radius: 16px;
	padding: 2.5rem;
	margin-left: 90px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	border: 1px solid #e9ecef;
	transition: all 0.3s ease;
}

.approach-content-box:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 40px rgba(122, 30, 79, 0.15);
}

.content-results-section {
	background: white;
}

.results-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 2rem;
}

.result-card {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
	border-radius: 16px;
	padding: 2rem;
	text-align: center;
	border: 1px solid #e9ecef;
	transition: all 0.3s ease;
}

.result-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 35px rgba(122, 30, 79, 0.1);
	border-color: rgba(122, 30, 79, 0.2);
}

.result-icon {
	width: 80px;
	height: 80px;
	background: white;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.5rem;
	border: 1px solid rgba(122, 30, 79, 0.1);
}

.result-icon i {
	font-size: 2.5rem;
	color: #7A1E4F;
}

.content-process-section {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.process-timeline {
	position: relative;
}

.process-timeline::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 2px;
	background: linear-gradient(to bottom, #7A1E4F, #e9ecef);
	transform: translateX(-50%);
}

.process-item {
	position: relative;
	margin-bottom: 3rem;
}

.process-item:nth-child(odd) .process-content {
	margin-left: 50px;
	text-align: left;
}

.process-item:nth-child(even) .process-content {
	margin-left: 50px;
	text-align: left;
}

.process-marker {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 50px;
	height: 50px;
	background: #7A1E4F;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-weight: 700;
	z-index: 2;
	box-shadow: 0 5px 15px rgba(122, 30, 79, 0.3);
}

.process-content {
	background: white;
	border-radius: 16px;
	padding: 2rem;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	border: 1px solid #e9ecef;
}

.process-icon {
	width: 60px;
	height: 60px;
	background: rgba(122, 30, 79, 0.1);
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}

.process-icon i {
	font-size: 1.8rem;
	color: #7A1E4F;
}

.content-cta-section {
	background: linear-gradient(135deg, #7A1E4F 0%, #5a163a 100%);
	color: white;
	position: relative;
	overflow: hidden;
}

.content-cta-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: radial-gradient(circle at 30% 70%, rgba(255, 255, 255, 0.1) 0%, transparent 50%);
	z-index: 1;
}

.cta-content {
	position: relative;
	z-index: 2;
}

.cta-buttons .btn {
	margin: 0.5rem;
}

@keyframes float {

	0%,
	100% {
		transform: translateY(0px);
	}

	50% {
		transform: translateY(-10px);
	}
}

@keyframes pulse {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.05);
	}
}

/* Prevent horizontal scroll on mobile */
@media (max-width: 991px) {
	body,
	.content-wrapper {
		overflow-x: hidden;
	}
}

@media (max-width: 992px) {
	.content-approach-timeline::before {
		left: 20px;
	}

	.approach-content-box {
		margin-left: 70px;
	}

	.approach-marker {
		width: 50px;
		height: 50px;
		font-size: 1rem;
	}

	.process-timeline::before {
		left: 30px;
	}

	.process-item:nth-child(odd) .process-content,
	.process-item:nth-child(even) .process-content {
		margin-left: 70px;
		margin-right: 0;
		text-align: left;
	}

	.process-marker {
		left: 30px;
		transform: none;
	}
}

@media (max-width: 768px) {
	/* Section padding */
	section.wrapper .container,
	.wrapper.bg-soft-primary .container,
	.wrapper.bg-light .container,
	.content-problem-section .container,
	.content-approach-section .container,
	.content-results-section .container,
	.content-process-section .container {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		max-width: 100%;
	}

	/* Ensure no overflow */
	.row {
		margin-left: -0.5rem;
		margin-right: -0.5rem;
	}

	.row > [class*="col-"] {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	img.img-fluid {
		max-width: 100%;
		height: auto;
	}

	/* Hero */
	.display-2 {
		font-size: 1.75rem !important;
		line-height: 1.25;
	}

	.display-3 {
		font-size: 1.5rem !important;
	}

	.lead.fs-lg {
		font-size: 1rem !important;
	}

	.lead.fs-lg br {
		display: none;
	}

	.content-floating-badge {
		top: 10%;
		right: 5%;
		padding: 0.75rem 1rem;
	}

	.badge-content i {
		font-size: 1.2rem;
	}

	/* Buttons */
	.d-flex.flex-wrap.gap-3 .btn-lg {
		width: 100%;
		justify-content: center;
	}

	/* Problem cards */
	.content-problem-card {
		padding: 2rem 1.5rem;
	}

	.content-problem-card h4 {
		font-size: 1.1rem !important;
	}

	.problem-icon-wrapper {
		width: 60px;
		height: 60px;
	}

	.problem-icon-wrapper i {
		font-size: 1.75rem;
	}

	/* Approach timeline - fix step number overlapping with step names */
	.content-approach-timeline::before {
		left: 19px;
	}

	.approach-item {
		margin-bottom: 2rem;
	}

	.approach-marker {
		top: 0;
		left: 0;
		width: 40px;
		height: 40px;
		font-size: 0.85rem;
	}

	.approach-content-box {
		margin-left: 50px !important;
		margin-top: 0 !important;
		padding: 1.5rem 1rem;
		max-width: calc(100% - 50px);
	}

	.approach-content-box .display-6 {
		font-size: 1.15rem !important;
	}

	.approach-content-box .fs-18 {
		font-size: 0.95rem !important;
	}

	.approach-content-box .row {
		margin-left: 0;
		margin-right: 0;
	}

	.approach-content-box .col-lg-4,
	.approach-content-box .col-lg-8 {
		max-width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	.approach-content-box .col-lg-4 img {
		margin-top: 1rem;
		width: 100%;
	}

	/* Results grid */
	.content-results-section .results-grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.result-card {
		padding: 1.75rem 1.5rem;
	}

	.result-card .display-4 {
		font-size: 2rem !important;
	}

	.result-icon {
		width: 65px;
		height: 65px;
	}

	.result-icon i {
		font-size: 2rem;
	}

	/* Process timeline */
	.content-process-section .process-timeline::before {
		left: 19px;
	}

	.process-item {
		margin-bottom: 2rem;
	}

	.process-marker {
		left: 0 !important;
		transform: none !important;
		width: 40px;
		height: 40px;
		font-size: 0.9rem;
	}

	.process-content {
		margin-left: 55px !important;
		margin-right: 0 !important;
		padding: 1.5rem 1rem;
		max-width: calc(100% - 55px);
	}

	.process-content h4 {
		font-size: 1.05rem !important;
	}
}

@media (max-width: 576px) {
	.wrapper .container {
		padding-left: 0.75rem !important;
		padding-right: 0.75rem !important;
	}

	.display-2 {
		font-size: 1.5rem !important;
	}

	.display-3 {
		font-size: 1.35rem !important;
	}

	.content-problem-card {
		padding: 1.5rem 1.25rem;
	}

	.approach-content-box {
		padding: 1.5rem 1rem;
	}

	.approach-marker {
		width: 44px;
		height: 44px;
		font-size: 0.9rem;
	}

	.result-card .display-4 {
		font-size: 1.75rem !important;
	}

	footer .d-md-flex {
		flex-direction: column;
		align-items: flex-start !important;
		gap: 1rem;
	}
}

/* Fix for Twitter/X Logo Visibility */
.uil-twitter::before,
.x-social-icon i::before {
	content: "\edc5" !important;
	/* The 'X' icon Unicode for Unicons */
	font-family: "unicons" !important;
	font-style: normal;
	font-weight: normal;
	display: inline-block;
	text-decoration: inherit;
	color: #ffffff;
	/* Ensures it's white */
	opacity: 1 !important;
}

/* Fix Space Inconsistency */
.offset-lg-1 {
	margin-left: 8.33333333% !important;
	/* Standard Bootstrap offset */
}

/* Ensure the container uses flexbox for alignment */
.nav.social.social-white {
	display: flex !important;
	align-items: center !important;
	gap: 20px !important;
	/* This creates exactly equal 20px space between every icon */
}

/* Reset anchor tags to ensure they don't have inherited margins */
.nav.social.social-white a {
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #ffffff !important;
	line-height: 1 !important;
}

/* Align the SVG Twitter-X icon perfectly with FontIcons */
.x-social-icon {
	height: 14px;
	/* Matches the SVG height for a tight bounding box */
}

.x-social-icon svg {
	display: block;
	fill: #ffffff !important;
	/* Ensures the X is white */
}

/* Ensure Unicons match the visual center */
.nav.social.social-white i {
	font-size: 1rem;
	display: block;
	line-height: 1;
}
.widget-title {
    margin-bottom: 1.25rem !important;
    font-size: 0.95rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05rem;
    color: #ffffff !important;
}

footer .fs-sm,
footer address,
footer p,
footer li a {
    font-size: 0.85rem !important;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.6) !important;
}
/* Hover effect */
.hover-grape:hover {
    color: #7a1e4f !important;
}
