/* ==========================================================================
   DRSV Techno Solution - Custom Theme & New Styles (style.css)
   Preserves all existing template design while overriding brand colors and
   adding new section components cleanly.
   ========================================================================== */

/* 1. Theme Color Root Variables (Matched to DRSV Logo Palette) */
:root {
	--primary-color: #174d3a;
	--secondary-color: #f1f8f5;
	--text-color: #667670;
	--white-color: #ffffff;
	--black-color: #101c17;
	--accent-color: #f79331;
	--brand-green: #2d8b69;
	--brand-teal: #1db295;
	--brand-orange: #f79331;
	--white-divider: #ffffff70;
	--divider-color: #d5e2dc;
	--overlay-color: rgba(23, 77, 58, 0.72);
	--error-color: rgb(230, 87, 87);
}

/* 2. Subtitle Section Icon Color Sync (Leaf/Spark icon before h3) */
.section-title h3:before {
	background-color: var(--accent-color) !important;
	-webkit-mask: url(../images/icon-sub-heading.svg) no-repeat left center;
	mask: url(../images/icon-sub-heading.svg) no-repeat left center;
	-webkit-mask-size: contain;
	mask-size: contain;
	z-index: 1;
}

/* 3. Header sticky border color sync */
header.main-header .header-sticky.hide,
header.main-header .header-sticky.active {
	border-bottom: 1px solid rgba(23, 77, 58, 0.08) !important;
}

/* 4. Services list border color sync */
.services-list-box ul li a {
	border-bottom: 1px solid rgba(45, 139, 105, 0.2) !important;
}

/* 4b. Hero Headline Typography & Flow */
.hero-content .section-title h1 {
	font-size: 52px;
	line-height: 1.2em;
	word-break: normal;
}

.hero-content .section-title h1 .hero-h1-sub {
	display: inline;
	color: var(--accent-color);
}

@media (min-width: 1200px) {
	.hero-content .section-title h1 {
		font-size: 52px;
	}
}

@media (min-width: 1400px) {
	.hero-content .section-title h1 {
		font-size: 55px;
	}
}

@media (max-width: 767px) {
	.hero-content .section-title h1 {
		font-size: 38px;
		line-height: 1.25em;
	}
}

/* ==========================================================================
   5. Hero Section Right-Side Book Site Inspection Form (Transparent Glassmorphic Card)
   ========================================================================== */
.hero-enquiry-box {
	background: rgba(8, 32, 23, 0.78) !important;
	backdrop-filter: blur(16px) saturate(140%) !important;
	-webkit-backdrop-filter: blur(16px) saturate(140%) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.28) !important;
	border-radius: 22px !important;
	padding: 26px 24px !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.52), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
	position: relative;
	z-index: 2;
}

@media (min-width: 992px) {
	.hero-enquiry-box {
		margin-right: 18px;
	}
}

.hero-form-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
}

.hero-form-header-icon {
	font-size: 22px;
	color: var(--accent-color, #f79331);
}

.hero-form-header-title {
	font-family: var(--accent-font, 'Rajdhani', sans-serif);
	font-size: 24px;
	font-weight: 700;
	color: var(--accent-color, #f79331);
	margin: 0;
	letter-spacing: 0.02em;
	line-height: 1.2;
}

.hero-form-label {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: #ffffff !important;
	margin-bottom: 5px;
	font-family: var(--default-font, 'Rubik', sans-serif);
	letter-spacing: 0.01em;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

.hero-enquiry-box .form-control {
	background: rgba(3, 18, 12, 0.72) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.32) !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	font-size: 14px !important;
	font-family: var(--default-font, 'Rubik', sans-serif) !important;
	color: #ffffff !important;
	transition: all 0.25s ease !important;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

.hero-enquiry-box .form-control::placeholder {
	color: rgba(255, 255, 255, 0.76) !important;
	font-weight: 400;
	opacity: 1 !important;
}

.hero-enquiry-box .form-control::-webkit-input-placeholder {
	color: rgba(255, 255, 255, 0.76) !important;
	opacity: 1 !important;
}

.hero-enquiry-box .form-control::-moz-placeholder {
	color: rgba(255, 255, 255, 0.76) !important;
	opacity: 1 !important;
}

.hero-enquiry-box .form-control:-ms-input-placeholder {
	color: rgba(255, 255, 255, 0.76) !important;
	opacity: 1 !important;
}

.hero-enquiry-box .form-control:focus {
	background: rgba(2, 14, 9, 0.92) !important;
	border-color: var(--accent-color, #f79331) !important;
	box-shadow: 0 0 0 3px rgba(247, 147, 49, 0.32), inset 0 2px 4px rgba(0, 0, 0, 0.35) !important;
	outline: none !important;
	color: #ffffff !important;
}

.hero-enquiry-box select.form-control {
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='%23ffffff' d='M1.64 0L7 5.36L12.36 0L14 1.64L7 8.64L0 1.64z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 11px 7px !important;
	padding-right: 36px !important;
	cursor: pointer;
}

.hero-enquiry-box select.form-control option {
	background-color: #0b3828 !important;
	color: #ffffff !important;
	padding: 10px 14px;
}

.hero-enquiry-box textarea.form-control {
	resize: vertical;
	min-height: 80px;
}

/* Hero Form Validation Errors - Vivid High Visibility */
.hero-enquiry-box .help-block.with-errors,
.hero-enquiry-box .with-errors,
.hero-enquiry-box .help-block {
	color: #ff9182 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	margin-top: 4px !important;
	margin-bottom: 2px !important;
	display: block !important;
	line-height: 1.3 !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6) !important;
}

.hero-enquiry-box .help-block.with-errors ul,
.hero-enquiry-box .with-errors ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.hero-enquiry-box .help-block.with-errors ul li,
.hero-enquiry-box .with-errors ul li {
	color: #ff9182 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
}

.hero-enquiry-box .has-error .form-control {
	border-color: #ff7666 !important;
	box-shadow: 0 0 0 2px rgba(255, 118, 102, 0.35), inset 0 2px 4px rgba(0, 0, 0, 0.35) !important;
}

.hero-form-submit-btn {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--accent-color, #f79331) !important;
	color: #ffffff !important;
	font-family: var(--accent-font, 'Rajdhani', sans-serif);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.04em;
	border: none !important;
	border-radius: 50px !important;
	padding: 13px 26px !important;
	margin-top: 4px;
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 8px 24px rgba(247, 147, 49, 0.35);
}

.hero-form-submit-btn i {
	font-size: 16px;
	color: #ffffff;
	transition: transform 0.25s ease;
}

.hero-form-submit-btn:hover {
	background: #ff9d3b !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(247, 147, 49, 0.45);
}

.hero-form-submit-btn:hover i {
	transform: scale(1.1);
	color: #ffffff;
}

.hero-form-submit-btn:active {
	transform: translateY(0);
	box-shadow: 0 4px 12px rgba(247, 147, 49, 0.25);
}

.hero-form-trust {
	text-align: center;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.75);
	margin-top: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.hero-form-trust i {
	color: var(--accent-color, #f79331);
}

@media (max-width: 991px) {
	.hero-enquiry-box {
		margin-top: 35px;
	}
}

/* ==========================================================================
   6. Government Scheme Highlight Strip (Below Hero Section)
   ========================================================================== */
.scheme-highlight-strip {
	padding: 24px 0 20px;
	position: relative;
	z-index: 5;
}

.scheme-cta-box {
	background-color: var(--secondary-color);
	border-radius: 30px;
	overflow: hidden;
	box-shadow: 0 15px 40px rgba(23, 77, 58, 0.08);
	border: 1px solid rgba(45, 139, 105, 0.15);
	transition: all 0.35s ease;
}

.scheme-cta-box:hover {
	box-shadow: 0 22px 55px rgba(23, 77, 58, 0.14);
}

/* Eliminate any gap around the left image: stretch 100% full height & flush */
.scheme-cta-box .row {
	margin: 0 !important;
	align-items: stretch !important;
}

.scheme-cta-box .col-lg-4 {
	padding: 0 !important;
	display: flex;
}

.scheme-cta-box .cta-image {
	width: 100%;
	height: 100%;
	display: flex;
}

.scheme-cta-box .cta-image figure {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	display: block;
	position: relative;
	overflow: hidden;
}

.scheme-cta-box .cta-image figure img {
	width: 100%;
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.scheme-cta-box .col-lg-8 {
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.scheme-cta-content {
	position: relative;
	padding: 38px 60px 38px 70px;
	width: 100%;
}

.scheme-cta-box .phone-icon {
	left: 0 !important;
	top: 50% !important;
	transform: translate(-50%, -50%) !important;
	z-index: 5;
}

.scheme-cta-content .section-title,
.scheme-section-title {
	text-align: left !important;
	margin-bottom: 10px !important;
}

.scheme-cta-content .section-title h3,
.scheme-section-title h3,
.scheme-badge {
	display: inline-block !important;
	text-align: left !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
	letter-spacing: 2px !important;
	color: var(--accent-color) !important;
	position: relative !important;
	padding-left: 20px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-right: 0 !important;
	margin-bottom: 8px !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	z-index: 2 !important;
}

.scheme-cta-content .section-title h3:before,
.scheme-section-title h3:before,
.scheme-badge:before {
	content: '' !important;
	display: block !important;
	width: 12px !important;
	height: 16px !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	background-color: var(--accent-color) !important;
	-webkit-mask: url(../images/icon-sub-heading.svg) no-repeat left center !important;
	mask: url(../images/icon-sub-heading.svg) no-repeat left center !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	z-index: 1 !important;
}

.scheme-cta-content .section-title h2,
.scheme-cta-content h2 {
	font-size: 38px !important;
	font-family: var(--accent-font) !important;
	color: var(--primary-color) !important;
	font-weight: 700 !important;
	line-height: 1.2em !important;
	margin-bottom: 10px !important;
	text-align: left !important;
}

.scheme-cta-content .section-title h2 span,
.scheme-cta-content h2 span {
	color: var(--accent-color) !important;
}

.scheme-cta-content p {
	font-size: 16px;
	color: var(--text-color);
	line-height: 1.6em;
	margin-bottom: 20px;
}

.scheme-cta-action .btn-scheme {
	background: var(--primary-color);
	color: #ffffff;
	border-radius: 30px;
	padding: 12px 28px;
	font-size: 15px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	box-shadow: 0 2px 6px rgba(23, 77, 58, 0.08);
	transition: all 0.3s ease;
}

.scheme-cta-action .btn-scheme:hover {
	background: var(--accent-color);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(247, 147, 49, 0.2);
}

@media (max-width: 991px) {
	.scheme-highlight-strip {
		padding: 30px 0 10px;
	}

	.scheme-cta-box .col-lg-4 {
		height: 260px;
		display: block;
	}

	.scheme-cta-box .cta-image {
		height: 100%;
	}

	.scheme-cta-content {
		padding: 55px 25px 35px;
		text-align: center;
	}

	.scheme-cta-box .phone-icon {
		left: 50% !important;
		top: 0 !important;
		transform: translate(-50%, -50%) !important;
		width: 70px !important;
		height: 70px !important;
	}

	.scheme-cta-content h2 {
		font-size: 28px;
	}

	.scheme-badge-wrapper {
		display: flex;
		justify-content: center;
	}
}

/* ==========================================================================
   7. About Us Section - Sticky Left Visual & Scrolling Right Content with Mission/Vision
   ========================================================================== */
.about-layout2 {
	padding: 80px 0 60px;
	position: relative;
	overflow: visible !important;
}

.about-layout2 .container {
	position: relative;
	overflow: visible !important;
}

.about-layout2>.container>.row {
	display: grid !important;
	grid-template-columns: 45% 1fr !important;
	align-items: start !important;
	gap: 48px !important;
	position: relative !important;
	overflow: visible !important;
}

.about-layout2 .col-lg-5 {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	position: sticky !important;
	top: 100px !important;
	align-self: start !important;
	z-index: 10 !important;
}

.about-layout2 .about-sticky-col {
	width: 100% !important;
	position: static !important;
	animation: none !important;
	transform: none !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.about-sticky-col .about-image-slider {
	border-radius: 24px;
	overflow: hidden;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	position: relative;
	height: 520px;
}

.about-sticky-col .about-carousel,
.about-sticky-col .about-carousel .swiper,
.about-sticky-col .about-image {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.about-sticky-col .about-carousel,
.about-sticky-col .about-carousel .swiper {
	width: 100% !important;
	height: 100% !important;
	position: relative !important;
	overflow: hidden !important;
}

.about-sticky-col .about-carousel .swiper-wrapper {
	height: 100% !important;
	width: 100% !important;
}

.about-sticky-col .about-carousel .swiper-slide {
	height: 100% !important;
	width: 100% !important;
	overflow: hidden !important;
}

.about-sticky-col .about-carousel .about-image,
.about-sticky-col .about-carousel .about-image figure,
.about-sticky-col .about-carousel .about-image figure.image-anime {
	height: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	overflow: hidden !important;
}

.about-sticky-col .about-carousel .about-image img {
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
}

.about-layout2 .col-lg-7 {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	min-width: 0 !important;
	position: relative !important;
}

.about-layout2-content {
	padding-left: 0;
	min-width: 0;
	position: relative;
}

.about-layout2-content .section-title {
	margin-bottom: 24px;
}

.about-layout2-content .section-title h2 {
	font-size: 40px;
	color: var(--primary-color);
	font-weight: 700;
	line-height: 1.2em;
}

.about-layout2-content .about-body p {
	font-size: 16px;
	line-height: 1.75em;
	color: var(--text-color);
	margin-bottom: 18px;
}

/* Mission & Vision Cards (Matching user's reference design) */
.mission-vision-container {
	margin-top: 32px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.mission-vision-card {
	background: #ffffff;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: none !important;
	border: 1.5px solid rgba(45, 139, 105, 0.2);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease, background-color 0.4s ease;
}

.mission-vision-card.mv-card-mission {
	border: 2px solid rgba(45, 139, 105, 0.25) !important;
}

.mission-vision-card.mv-card-mission:hover {
	transform: translateY(-4px);
	box-shadow: none !important;
	border-color: var(--brand-green) !important;
	background-color: #fafdfb;
}

/* Orange border for Our Vision card as explicitly requested */
.mission-vision-card.mv-card-vision {
	border: 2px solid var(--accent-color) !important;
}

.mission-vision-card.mv-card-vision:hover {
	transform: translateY(-4px);
	box-shadow: none !important;
	border-color: var(--accent-color) !important;
	background-color: #fefbf8;
}

.mission-vision-card .row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.mission-vision-card .mv-col-content {
	flex: 0 0 60% !important;
	width: 60% !important;
	max-width: 60% !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
}

.mission-vision-card .mv-col-media {
	flex: 0 0 40% !important;
	width: 40% !important;
	max-width: 40% !important;
	padding: 0 !important;
}

.mv-card-body {
	padding: 24px 28px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	height: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.mv-icon-badge {
	width: 44px !important;
	height: 44px !important;
	border-radius: 13px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 19px !important;
	margin-bottom: 12px !important;
	transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	cursor: pointer;
}

.mv-icon-badge i {
	transition: transform 0.35s ease, color 0.35s ease;
}

.mv-icon-mission {
	background: rgba(45, 139, 105, 0.12);
	color: var(--brand-green);
	border: 1.5px solid rgba(45, 139, 105, 0.25);
}

.mv-icon-vision {
	background: rgba(247, 147, 49, 0.12);
	color: var(--accent-color);
	border: 1.5px solid rgba(247, 147, 49, 0.25);
}

/* Icon & Card Micro-Interactions (No shadow effect) */
.mission-vision-card:hover .mv-icon-mission,
.mv-icon-mission:hover {
	background: var(--brand-green);
	color: #ffffff;
	border-color: var(--brand-green);
	transform: scale(1.12) rotate(6deg);
}

.mission-vision-card:hover .mv-icon-vision,
.mv-icon-vision:hover {
	background: var(--accent-color);
	color: #ffffff;
	border-color: var(--accent-color);
	transform: scale(1.12) rotate(-6deg);
}

.mission-vision-card:hover .mv-icon-badge i,
.mv-icon-badge:hover i {
	transform: scale(1.1);
}

.mv-card-title {
	font-size: 22px !important;
	font-family: var(--accent-font) !important;
	font-weight: 700 !important;
	color: var(--primary-color) !important;
	margin-bottom: 8px !important;
	line-height: 1.25em !important;
	transition: color 0.3s ease;
}

.mv-card-text {
	font-size: 14px !important;
	color: var(--text-color) !important;
	line-height: 1.6em !important;
	margin-bottom: 0 !important;
}

.mv-card-image {
	height: 100% !important;
	width: 100% !important;
	min-height: 190px !important;
	overflow: hidden !important;
	position: relative !important;
}

.mv-card-image figure,
.mv-card-image figure.image-anime {
	height: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	overflow: hidden !important;
}

.mv-card-image figure img {
	height: 100% !important;
	width: 100% !important;
	min-height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.mission-vision-card:hover .mv-card-image figure img {
	transform: scale(1.06);
}

@media (max-width: 991px) {
	.about-layout2 {
		padding: 60px 0 50px !important;
	}

	.about-layout2>.container {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.about-layout2>.container>.row {
		display: flex !important;
		flex-direction: column !important;
		gap: 35px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.about-layout2 .col-lg-5 {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-bottom: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.about-layout2 .col-lg-7 {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.about-sticky-col {
		position: static !important;
	}

	.about-sticky-col .about-image-slider {
		height: 380px !important;
	}

	.about-layout2-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.about-layout2-content .section-title h2 {
		font-size: 32px;
	}
}

@media (max-width: 575px) {
	.about-layout2>.container {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

@media (max-width: 767px) {
	.mission-vision-card .row {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}

	.mission-vision-card .mv-col-content {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		order: 1 !important;
	}

	.mission-vision-card .mv-col-media {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		order: 2 !important;
	}

	.mv-card-image {
		min-height: 180px !important;
		height: 180px !important;
	}

	.mv-card-body {
		padding: 22px 20px !important;
	}
}

@media (max-width: 575px) {
	.about-sticky-col .about-image-slider {
		height: 280px !important;
	}
}

/* ==========================================================================
   8. Our Services Section - Anti-Slop Card Grid (No Scroller, Reduced Shadow)
   ========================================================================== */
.our-services {
	padding: 90px 0 85px;
	background-color: var(--secondary-color);
	position: relative;
	overflow: hidden;
}

/* Decorative Green Corner Lines Style Design */
.services-corner-decor {
	position: absolute;
	pointer-events: none;
	z-index: 1;
	transition: all 0.3s ease;
}

.services-corner-decor.corner-tl {
	top: 0px;
	left: 0px;
}

.services-corner-decor.corner-br {
	bottom: 0px;
	right: 0px;
}

/* Decorative Floating Solar Illustration (Bottom-Left) */
.services-floating-solar {
	position: absolute;
	left: max(30px, calc(50% - 590px));
	bottom: 40px;
	z-index: 2;
	width: 210px;
	max-width: 20vw;
	pointer-events: none;
	animation: solarFloat 5s ease-in-out infinite;
	filter: drop-shadow(0 15px 30px rgba(23, 77, 58, 0.12));
	transition: all 0.3s ease;
}

.floating-solar-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

@keyframes solarFloat {

	0%,
	100% {
		transform: translateY(0) rotate(0deg);
	}

	50% {
		transform: translateY(-9px) rotate(1.5deg);
	}
}

@media (max-width: 1200px) {
	.services-floating-solar {
		left: 25px;
		bottom: 30px;
		width: 160px;
	}

	.services-corner-decor {
		width: 120px;
		height: 120px;
	}
}

@media (max-width: 991px) {
	.services-floating-solar {
		display: none;
	}

	.services-corner-decor {
		width: 80px;
		height: 80px;
		z-index: 2;
	}

	.services-corner-decor.corner-tl {
		top: 15px;
		left: 15px;
	}

	.services-corner-decor.corner-br {
		bottom: 15px;
		right: 15px;
	}
}

@media (max-width: 575px) {
	.services-corner-decor {
		width: 70px;
		height: 70px;
	}

	.services-corner-decor.corner-tl {
		top: 12px;
		left: 12px;
	}

	.services-corner-decor.corner-br {
		bottom: 12px;
		right: 12px;
	}
}

.our-services .section-title {
	margin-bottom: 14px;
	text-align: center;
}

.our-services .section-title h3 {
	margin-bottom: 8px;
	color: var(--accent-color);
}

.our-services .section-title h2 {
	font-size: 38px;
	color: var(--primary-color);
	font-weight: 700;
	line-height: 1.25em;
}

.services-intro {
	max-width: 720px;
	margin: 0 auto 46px;
}

.services-intro p {
	font-size: 16.5px;
	line-height: 1.7em;
	color: var(--text-color);
	margin-bottom: 0;
}

.services-grid {
	margin-top: 5px;
}

.drsv-service-card {
	background: #ffffff;
	border-radius: 22px;
	border: 1.5px solid rgba(45, 139, 105, 0.18);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	box-shadow: none !important;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease, background-color 0.35s ease;
}

.drsv-service-card:hover {
	transform: translateY(-6px);
	border-color: var(--brand-green);
	background-color: #fafdfb;
	box-shadow: none !important;
}

.drsv-service-card:has(.drsv-badge-accent):hover,
.services-grid > div:nth-child(even) .drsv-service-card:hover {
	border-color: var(--accent-color);
	background-color: #fffdf9;
}

.drsv-card-media {
	height: 200px;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.drsv-card-media figure,
.drsv-card-media figure.image-anime {
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	display: block;
	overflow: hidden;
}

.drsv-card-media figure img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.drsv-service-card:hover .drsv-card-media figure img {
	transform: scale(1.07);
}

.drsv-card-badge {
	position: absolute;
	bottom: 14px;
	right: 18px;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: #ffffff;
	color: var(--brand-green);
	border: 1.5px solid rgba(45, 139, 105, 0.25);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	z-index: 2;
	box-shadow: none !important;
	transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.drsv-card-badge.drsv-badge-accent {
	color: var(--accent-color);
	border-color: rgba(247, 147, 49, 0.3);
}

.drsv-service-card:hover .drsv-card-badge {
	background: var(--brand-green);
	color: #ffffff;
	border-color: var(--brand-green);
	transform: scale(1.12) rotate(6deg);
}

.drsv-service-card:hover .drsv-card-badge.drsv-badge-accent {
	background: var(--accent-color);
	color: #ffffff;
	border-color: var(--accent-color);
	transform: scale(1.12) rotate(-6deg);
}

.drsv-card-content {
	padding: 24px 24px 20px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.drsv-card-title {
	font-family: var(--accent-font);
	font-size: 21px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 10px;
	line-height: 1.28em;
	transition: color 0.3s ease;
}

.drsv-service-card:hover .drsv-card-title {
	color: var(--brand-green);
}

.drsv-service-card:has(.drsv-badge-accent):hover .drsv-card-title,
.services-grid > div:nth-child(even) .drsv-service-card:hover .drsv-card-title {
	color: var(--accent-color);
}

.drsv-card-desc {
	font-size: 14.5px;
	color: var(--text-color);
	line-height: 1.62em;
	margin-bottom: 16px;
	flex-grow: 1;
}

.drsv-card-action {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid rgba(45, 139, 105, 0.12);
}

.drsv-card-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 13.5px;
	color: var(--brand-green);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.25s ease;
	text-decoration: none;
}

.drsv-card-link i {
	transition: transform 0.25s ease;
}

.drsv-service-card:hover .drsv-card-link {
	color: var(--brand-green);
}

.drsv-service-card:has(.drsv-badge-accent):hover .drsv-card-link,
.services-grid > div:nth-child(even) .drsv-service-card:hover .drsv-card-link {
	color: var(--accent-color);
}

.drsv-service-card:hover .drsv-card-link i {
	transform: translateX(4px);
}

/* Services CTA Banner (8th Slot in Grid) */
.drsv-services-cta-banner {
	background: linear-gradient(135deg, #1b3d2f 0%, #234b3b 60%, #153226 100%);
	border-radius: 22px;
	border: 1.5px solid rgba(45, 139, 105, 0.35);
	padding: 34px 40px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	position: relative;
	overflow: hidden;
	box-shadow: none !important;
	transition: transform 0.35s ease, border-color 0.35s ease;
}

.drsv-services-cta-banner:hover {
	transform: translateY(-4px);
	border-color: var(--accent-color);
}

.cta-banner-content {
	flex: 1;
	z-index: 2;
}

.cta-banner-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(247, 147, 49, 0.18);
	color: var(--accent-color);
	border: 1px solid rgba(247, 147, 49, 0.35);
	padding: 5px 14px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.cta-banner-title {
	font-family: var(--accent-font);
	color: #ffffff;
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 8px;
	line-height: 1.25em;
}

.cta-banner-desc {
	color: rgba(255, 255, 255, 0.82);
	font-size: 14.5px;
	line-height: 1.6em;
	margin-bottom: 0;
	max-width: 500px;
}

.cta-banner-action {
	z-index: 2;
	flex-shrink: 0;
}

.drsv-cta-btn {
	background: var(--accent-color);
	color: #ffffff;
	padding: 14px 28px;
	border-radius: 50px;
	font-size: 15px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: all 0.3s ease;
	border: none;
	text-decoration: none;
	white-space: nowrap;
}

.drsv-cta-btn:hover {
	background: #e07f20;
	color: #ffffff;
	transform: scale(1.03);
}

.drsv-cta-btn i {
	transition: transform 0.25s ease;
}

.drsv-cta-btn:hover i {
	transform: translateX(4px);
}

@media (max-width: 991px) {
	.drsv-services-cta-banner {
		flex-direction: column;
		align-items: flex-start;
		padding: 30px 28px;
	}

	.cta-banner-title {
		font-size: 23px;
	}

	.drsv-card-media {
		height: 190px;
	}

	.our-services {
		padding: 75px 0 110px !important;
	}
}

@media (max-width: 575px) {
	.our-services {
		padding: 55px 0 115px !important;
	}

	.our-services .section-title h2 {
		font-size: 30px;
	}

	.drsv-card-media {
		height: 180px;
	}

	.drsv-card-content {
		padding: 20px 18px;
	}
}

/* ==========================================================================
   9. Who We Serve Section - Interactive Hover Reveal Cards
   ========================================================================== */
.who-we-serve {
	padding: 95px 0 90px;
	background-color: #ffffff;
	position: relative;
}

.who-we-serve .section-title {
	margin-bottom: 48px;
	text-align: center;
}

.who-we-serve .section-title h3 {
	margin-bottom: 8px;
	color: var(--accent-color);
}

.who-we-serve .section-title h2 {
	font-size: 38px;
	color: var(--primary-color);
	font-weight: 700;
	line-height: 1.25em;
}

.serve-card {
	border-radius: 28px;
	overflow: hidden;
	position: relative;
	padding: 44px 34px 40px;
	height: 100%;
	min-height: 360px;
	display: flex;
	flex-direction: column;
	border: 1.5px solid rgba(45, 139, 105, 0.16);
	box-shadow: none !important;
	transition: transform 0.55s cubic-bezier(0.25, 1, 0.5, 1), border-color 0.45s ease;
	transition-delay: 0s;
	cursor: pointer;
}

/* White background cover in default state */
.serve-card:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #ffffff;
	z-index: 2;
	border-radius: 28px;
	transition: transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.55s ease;
	transition-delay: 0s;
}

/* Background image underneath */
.serve-card-bg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 28px;
	overflow: hidden;
	z-index: 1;
}

.serve-card-bg:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(20, 52, 38, 0.88) 0%, rgba(27, 61, 47, 0.92) 100%);
	transition: background 0.4s ease;
}

.serve-card-bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.85s cubic-bezier(0.25, 0.8, 0.25, 1);
	transition-delay: 0s;
}

/* Content above mask */
.serve-card-content {
	position: relative;
	z-index: 4;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.serve-card-icon {
	width: 66px;
	height: 66px;
	border-radius: 18px;
	background: rgba(45, 139, 105, 0.1);
	color: var(--brand-green);
	border: 1.5px solid rgba(45, 139, 105, 0.22);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	margin-bottom: 24px;
	transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease;
	transition-delay: 0s;
}

.serve-card-title {
	font-family: var(--accent-font);
	font-size: 24px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 14px;
	line-height: 1.25em;
	transition: color 0.45s ease;
	transition-delay: 0s;
}

.serve-card-desc {
	font-size: 15px;
	line-height: 1.68em;
	color: var(--text-color);
	margin-bottom: 0;
	transition: color 0.45s ease;
	transition-delay: 0s;
}

/* Hover State - Smooth, elegant reveal with subtle delay */
.serve-card:hover {
	transform: translateY(-8px);
	border-color: var(--accent-color);
	box-shadow: none !important;
	transition-delay: 0.12s;
}

.serve-card:hover:before {
	transform: translate(100%, -100%);
	opacity: 0;
	transition-delay: 0.15s;
	transition-duration: 0.7s;
}

.serve-card:hover .serve-card-bg img {
	transform: scale(1.08);
	transition-delay: 0.15s;
	transition-duration: 0.85s;
}

.serve-card:hover .serve-card-icon {
	background: rgba(255, 255, 255, 0.18);
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.45);
	transform: scale(1.1) rotate(6deg);
	transition-delay: 0.15s;
	transition-duration: 0.55s;
}

.serve-card:hover .serve-card-title,
.serve-card:hover .serve-card-desc {
	color: #ffffff !important;
	transition-delay: 0.15s;
	transition-duration: 0.5s;
}

/* Who We Serve CTA Button */
.who-we-serve-cta {
	margin-top: 48px;
	display: flex;
	justify-content: center;
}

.who-we-serve-cta .btn-default {
	background: var(--accent-color);
	color: #ffffff;
	padding: 15px 36px;
	font-size: 15.5px;
	font-weight: 600;
	border-radius: 50px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: all 0.3s ease;
	border: none;
	text-decoration: none;
	box-shadow: none !important;
}

.who-we-serve-cta .btn-default:hover {
	background: #e07f20;
	color: #ffffff;
	transform: scale(1.03);
}

.who-we-serve-cta .btn-default i {
	transition: transform 0.25s ease;
}

.who-we-serve-cta .btn-default:hover i {
	transform: translateX(4px);
}

@media (max-width: 991px) {
	.who-we-serve {
		padding: 70px 0;
	}

	.serve-card {
		padding: 34px 26px;
		min-height: 320px;
	}

	.serve-card-title {
		font-size: 22px;
	}
}

@media (max-width: 575px) {
	.who-we-serve {
		padding: 60px 0;
	}

	.who-we-serve .section-title h2 {
		font-size: 30px;
	}
}

/* ==========================================================================
   10. Our Products Section - Premium Interactive Two-Column Showcase
   ========================================================================== */
.our-products {
	padding: 95px 0 90px;
	background-color: var(--secondary-color);
	position: relative;
}

.our-products .section-title {
	margin-bottom: 48px;
	text-align: center;
}

.our-products .section-title h3 {
	margin-bottom: 8px;
	color: var(--accent-color);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.our-products .section-title h2 {
	font-size: 38px;
	color: var(--primary-color);
	font-weight: 700;
	line-height: 1.25em;
}

/* Wide White Showcase Container */
.product-showcase-box {
	background: #ffffff;
	border-radius: 28px;
	border: 1.5px solid rgba(45, 139, 105, 0.16);
	overflow: hidden;
	box-shadow: none !important;
	position: relative;
}

/* Left Column (~40-42%): Large Product Visual (Full View Without Cutoff) */
.product-visual-col {
	position: relative;
	background-color: transparent;
	min-height: 520px;
}

.product-visual-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 520px;
	overflow: hidden;
	clip-path: none !important;
	-webkit-clip-path: none !important;
	background: transparent;
}

.product-visual-item {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	transform: scale(1.05);
	transition: opacity 0.45s ease-in-out, transform 0.65s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.45s ease;
	z-index: 1;
}

.product-visual-item.active {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
	z-index: 2;
}

.product-visual-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* Right Column (~58-60%): Vertically Stacked Product Rows */
.product-list-col {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 42px 48px 42px 28px;
	background: #ffffff;
}

.product-items-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.product-row-item {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 20px 24px;
	border-radius: 18px;
	background-color: transparent;
	border: 1.5px solid transparent;
	cursor: pointer;
	text-decoration: none;
	position: relative;
	transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.product-row-item:hover,
.product-row-item.active {
	background-color: rgba(45, 139, 105, 0.05);
	border-color: rgba(45, 139, 105, 0.22);
}

/* Number Badge */
.product-num-badge {
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 800;
	width: 54px;
	height: 54px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f1f8f5;
	color: var(--primary-color);
	border: 1.5px solid rgba(45, 139, 105, 0.2);
	flex-shrink: 0;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.product-row-item:hover .product-num-badge,
.product-row-item.active .product-num-badge {
	background-color: var(--brand-green);
	color: #ffffff;
	border-color: var(--brand-green);
	transform: scale(1.06);
}

/* Product Info */
.product-info {
	flex-grow: 1;
}

.product-heading {
	font-family: var(--accent-font);
	font-size: 21px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 6px;
	line-height: 1.3em;
	transition: color 0.3s ease;
}

.product-row-item:hover .product-heading,
.product-row-item.active .product-heading {
	color: var(--brand-green);
}

.product-text {
	font-size: 14.5px;
	color: var(--text-color);
	line-height: 1.58em;
	margin-bottom: 0;
}

/* Arrow indicator */
.product-arrow {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #b5c7bf;
	font-size: 15px;
	flex-shrink: 0;
	transition: all 0.3s ease;
}

.product-row-item:hover .product-arrow,
.product-row-item.active .product-arrow {
	color: var(--brand-green);
	transform: translateX(5px);
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
	.our-products {
		padding: 50px 0 24px;
	}

	.our-products .section-title h2 {
		font-size: 32px;
	}

	.product-visual-col {
		min-height: 360px;
	}

	.product-visual-wrapper {
		min-height: 360px;
		height: 360px;
		clip-path: none !important;
		-webkit-clip-path: none !important;
		border-radius: 24px 24px 0 0;
	}

	.product-list-col {
		padding: 30px 24px 32px;
	}
}

@media (max-width: 575px) {
	.our-products {
		padding: 40px 0 16px;
	}

	.our-products .section-title h2 {
		font-size: 27px;
	}

	.product-visual-col {
		min-height: 260px;
	}

	.product-visual-wrapper {
		min-height: 260px;
		height: 260px;
	}

	.product-list-col {
		padding: 22px 16px 26px;
	}

	.product-row-item {
		padding: 16px 14px;
		gap: 16px;
	}

	.product-num-badge {
		width: 44px;
		height: 44px;
		font-size: 17px;
		border-radius: 12px;
	}

	.product-heading {
		font-size: 18px;
	}

	.product-text {
		font-size: 13.5px;
	}

	.product-arrow {
		display: none;
	}
}

/* ==========================================================================
   11. PM Surya Ghar: Features & Subsidy Section (Architectural Spec Layout)
   ========================================================================== */
.pm-surya-ghar-section {
	padding: 95px 0 90px;
	position: relative;
	background-color: var(--secondary-color);
	background-image:
		linear-gradient(135deg, rgba(241, 248, 245, 0.88) 0%, rgba(220, 237, 230, 0.90) 100%),
		url('../images/pm-surya-bg.webp');
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

.pm-surya-ghar-section .section-title {
	margin-bottom: 48px;
	text-align: center;
}

.pm-surya-ghar-section .section-title h3 {
	margin-bottom: 10px;
	color: var(--accent-color);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pm-surya-ghar-section .section-title h2 {
	font-size: 38px;
	color: var(--primary-color);
	font-weight: 700;
	line-height: 1.25em;
	margin-bottom: 16px;
}

.surya-intro-text {
	font-size: 16.5px;
	color: var(--text-color);
	max-width: 780px;
	margin: 0 auto;
	line-height: 1.65em;
}

/* 1. Architectural Spec Matrix Container */
.surya-matrix-container {
	border: 1.5px solid rgba(45, 139, 105, 0.22);
	border-radius: 20px;
	overflow: hidden;
	background: #ffffff;
	margin-bottom: 45px;
	box-shadow: none !important;
}

.matrix-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 26px;
	background: #f1f8f5;
	border-bottom: 1.5px solid rgba(45, 139, 105, 0.18);
}

.matrix-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--accent-font);
	font-size: 19px;
	font-weight: 700;
	color: var(--primary-color);
	letter-spacing: 0.02em;
}

.matrix-pill i {
	color: var(--brand-green);
	font-size: 18px;
}

.matrix-code-tag {
	font-family: var(--default-font);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--brand-green);
	background: rgba(45, 139, 105, 0.1);
	padding: 4px 12px;
	border-radius: 6px;
	text-transform: uppercase;
}

/* Hairline Grid Architecture (gap: 1px with background divider color) */
.surya-spec-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: rgba(45, 139, 105, 0.18);
}

.spec-cell {
	background: #ffffff;
	padding: 30px 28px;
	display: flex;
	flex-direction: column;
	position: relative;
	cursor: pointer;
	transition: background-color 0.35s ease, background-image 0.35s ease, transform 0.35s ease;
}

.spec-cell-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}

.spec-icon-box {
	width: 54px;
	height: 54px;
	border-radius: 8px;
	background-color: var(--brand-green);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	flex-shrink: 0;
	transition: background-color 0.35s ease, transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.spec-title-wrap {
	display: flex;
	flex-direction: column;
	gap: 3px;
	flex-grow: 1;
}

.spec-index {
	font-family: var(--default-font);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--brand-green);
	transition: color 0.35s ease;
}

.spec-title {
	font-family: var(--accent-font);
	font-size: 21px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 0;
	line-height: 1.25em;
	transition: color 0.35s ease;
}

.spec-text {
	font-size: 14.5px;
	color: var(--text-color);
	line-height: 1.6em;
	margin-bottom: 0;
	transition: color 0.35s ease;
}

/* Solar Panel Hover Effect (Matching Reference Image) */
.spec-cell:hover {
	background-color: var(--brand-green);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38'%3E%3Crect x='1' y='1' width='36' height='36' rx='3' fill='none' stroke='rgba(255,255,255,0.22)' stroke-width='1.2'/%3E%3Cline x1='1' y1='19' x2='37' y2='19' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3Cline x1='19' y1='1' x2='19' y2='37' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C/svg%3E");
	background-size: 38px 38px;
}

.spec-cell:hover .spec-icon-box {
	background-color: var(--accent-color) !important;
	/* Solar Yellow / Orange */
	color: #ffffff !important;
	transform: scale(1.06);
}

.spec-cell:hover .spec-title {
	color: #ffffff !important;
}

.spec-cell:hover .spec-text {
	color: #ffffff !important;
}

.spec-cell:hover .spec-index {
	color: rgba(255, 255, 255, 0.85) !important;
}

/* 2. Connected Linear Process Pipeline Container */
.surya-pipeline-container {
	border: 1.5px solid rgba(45, 139, 105, 0.22);
	border-radius: 20px;
	overflow: hidden;
	background: #ffffff;
	margin-bottom: 35px;
	box-shadow: none !important;
}

.pipeline-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 26px;
	background: #f1f8f5;
	border-bottom: 1.5px solid rgba(45, 139, 105, 0.18);
}

.pipeline-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--accent-font);
	font-size: 19px;
	font-weight: 700;
	color: var(--primary-color);
	letter-spacing: 0.02em;
}

.pipeline-pill i {
	color: var(--brand-green);
	font-size: 18px;
}

.pipeline-code-tag {
	font-family: var(--default-font);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--brand-green);
	background: rgba(45, 139, 105, 0.1);
	padding: 4px 12px;
	border-radius: 6px;
	text-transform: uppercase;
}

/* Continuous Horizontal Stepper Track */
.pipeline-track {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	position: relative;
	padding: 38px 26px 42px;
	background: #ffffff;
}

/* Continuous connecting line across steps */
.pipeline-track::before {
	content: "";
	position: absolute;
	top: 61px;
	left: 8%;
	right: 8%;
	height: 2px;
	background: rgba(45, 139, 105, 0.22);
	z-index: 1;
}

.pipeline-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	position: relative;
	z-index: 2;
	padding: 0 16px;
	transition: transform 0.25s ease;
}

.step-marker {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #ffffff;
	border: 2px solid var(--brand-green);
	color: var(--primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
	position: relative;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: none !important;
}

.marker-num {
	font-family: var(--accent-font);
	font-weight: 800;
	font-size: 18px;
	color: var(--primary-color);
	transition: color 0.3s ease;
}

.pipeline-step:hover .step-marker {
	background: var(--brand-green);
	transform: scale(1.14);
}

.pipeline-step:hover .marker-num {
	color: #ffffff;
}

.step-detail {
	width: 100%;
}

.step-instruction {
	font-size: 14.5px;
	color: var(--text-color);
	line-height: 1.58em;
	margin-bottom: 0;
	font-weight: 500;
	transition: color 0.25s ease;
}

.pipeline-step:hover .step-instruction {
	color: var(--primary-color);
	font-weight: 600;
}

/* 3. Action Console Bar (Eligibility & Portal Link) */
.surya-console-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	background: #f1f8f5;
	border: 1.5px solid rgba(45, 139, 105, 0.22);
	border-radius: 16px;
	padding: 20px 28px;
	box-shadow: none !important;
}

.console-note-col {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-grow: 1;
}

.console-badge {
	font-family: var(--accent-font);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	color: #ffffff;
	background: var(--accent-color);
	padding: 4px 10px;
	border-radius: 6px;
	flex-shrink: 0;
}

.console-text {
	font-size: 14.5px;
	color: var(--text-color);
	line-height: 1.55em;
	margin-bottom: 0;
}

.console-text strong {
	color: var(--primary-color);
	font-weight: 700;
}

.console-btn-col {
	flex-shrink: 0;
}

.btn-console-cta {
	background: var(--brand-green);
	color: #ffffff;
	border-radius: 100px;
	padding: 13px 26px;
	font-weight: 600;
	font-size: 15px;
	font-family: var(--accent-font);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 1.5px solid var(--brand-green);
	text-decoration: none;
	transition: all 0.25s ease;
	box-shadow: none !important;
	white-space: nowrap;
}

.btn-console-cta:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: none !important;
}

/* Responsive Media Queries */
@media (max-width: 991px) {
	.pm-surya-ghar-section {
		padding: 24px 0 55px;
		background-attachment: scroll;
	}

	.pm-surya-ghar-section .section-title {
		margin-bottom: 24px !important;
	}

	.pm-surya-ghar-section .section-title h2 {
		font-size: 32px;
	}

	.surya-spec-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.pipeline-track {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 36px;
		padding: 30px 20px 34px;
	}

	.pipeline-track::before {
		display: none;
	}

	.surya-console-bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
		padding: 22px 20px;
	}

	.console-btn-col {
		width: 100%;
	}

	.btn-console-cta {
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 575px) {
	.pm-surya-ghar-section {
		padding: 16px 0 45px;
	}

	.pm-surya-ghar-section .section-title {
		margin-bottom: 18px !important;
	}

	.pm-surya-ghar-section .section-title h2 {
		font-size: 27px;
	}

	.matrix-topbar,
	.pipeline-topbar {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		padding: 14px 18px;
	}

	.surya-spec-grid {
		grid-template-columns: 1fr;
	}

	.spec-cell {
		padding: 24px 20px;
	}

	.pipeline-track {
		grid-template-columns: 1fr;
		row-gap: 28px;
	}

	.pipeline-step {
		flex-direction: row;
		text-align: left;
		gap: 16px;
		align-items: flex-start;
	}

	.step-marker {
		margin-bottom: 0;
		flex-shrink: 0;
		width: 42px;
		height: 42px;
	}

	.console-note-col {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}

/* ==========================================================================
   12. Project Photos Section - Gallery Tabs
   ========================================================================== */
.project-photos-section {
	padding: 95px 0 90px;
	background-color: var(--secondary-color);
	position: relative;
}

.project-photos-section .section-title {
	margin-bottom: 36px;
	text-align: center;
}

.project-photos-section .section-title h3 {
	margin-bottom: 8px;
	color: var(--accent-color);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.project-photos-section .section-title h2 {
	font-size: 38px;
	color: var(--primary-color);
	font-weight: 700;
	line-height: 1.25em;
	margin-bottom: 14px;
}

.projects-intro-text {
	font-size: 16.5px;
	color: var(--text-color);
	max-width: 760px;
	margin: 0 auto;
	line-height: 1.65em;
}

/* Gallery Filter Tabs Nav */
.project-tabs-wrapper {
	margin-bottom: 46px;
}

.project-filter-nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border: 1.5px solid rgba(45, 139, 105, 0.22);
	border-radius: 100px;
	padding: 6px;
	gap: 6px;
	box-shadow: none !important;
}

.filter-tab-btn {
	background: transparent;
	border: none;
	outline: none;
	border-radius: 100px;
	padding: 10px 28px;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 700;
	color: var(--primary-color);
	cursor: pointer;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: none !important;
}

.filter-tab-btn:hover {
	color: var(--brand-green);
}

.filter-tab-btn.active {
	background: var(--brand-green);
	color: #ffffff;
}

/* Project Gallery Cards */
.project-gallery-item {
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.project-card {
	background: #ffffff;
	border: 1.5px solid rgba(45, 139, 105, 0.16);
	border-radius: 24px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	box-shadow: none !important;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease, background-color 0.35s ease;
}

.project-card:hover {
	transform: translateY(-6px);
	border-color: var(--brand-green);
	background-color: #fafdfb;
	box-shadow: none !important;
}

.project-card-media {
	height: 240px;
	width: 100%;
	position: relative;
	overflow: hidden;
	background: #174d3a;
}

.project-card-media figure,
.project-card-media figure.image-anime {
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	display: block;
	overflow: hidden;
}

.project-card-media figure img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.project-card:hover .project-card-media figure img {
	transform: scale(1.08);
}

.project-card-badges {
	position: absolute;
	top: 14px;
	left: 14px;
	right: 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	z-index: 2;
	pointer-events: none;
}

.badge-cat {
	font-family: var(--accent-font);
	font-size: 12.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #ffffff;
	background: var(--primary-color);
	padding: 4px 14px;
	border-radius: 100px;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.badge-cap {
	font-family: var(--accent-font);
	font-size: 13px;
	font-weight: 800;
	color: #ffffff;
	background: var(--accent-color);
	padding: 4px 14px;
	border-radius: 100px;
}

.project-card-body {
	padding: 24px 22px 26px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.project-title {
	font-family: var(--accent-font);
	font-size: 21px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 12px;
	line-height: 1.28em;
	transition: color 0.3s ease;
}

.project-card:hover .project-title {
	color: var(--brand-green);
}

.project-details-line {
	background: #f1f8f5;
	border: 1px solid rgba(45, 139, 105, 0.18);
	border-radius: 12px;
	padding: 10px 14px;
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin-top: auto;
}

.details-label {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--brand-green);
}

.details-value {
	font-size: 14px;
	color: var(--black-color);
	font-weight: 600;
	line-height: 1.45em;
}

/* Responsive Media Queries */
@media (max-width: 991px) {
	.project-photos-section {
		padding: 70px 0;
	}

	.project-photos-section .section-title h2 {
		font-size: 32px;
	}

	.project-card-media {
		height: 220px;
	}
}

@media (max-width: 575px) {
	.project-photos-section {
		padding: 55px 0;
	}

	.project-photos-section .section-title h2 {
		font-size: 27px;
	}

	.project-filter-nav {
		flex-wrap: wrap;
		border-radius: 18px;
		padding: 4px;
		width: 100%;
	}

	.filter-tab-btn {
		padding: 8px 16px;
		font-size: 14px;
		flex: 1 1 42%;
		text-align: center;
	}

	.project-card-media {
		height: 200px;
	}

	.project-card-body {
		padding: 20px 18px;
	}
}

/* ==========================================================================
   13. Why Choose Solar Energy Section - Connected Hub Infographic
   ========================================================================== */
.why-choose-solar-section {
	padding: 85px 0 35px;
	background-color: #ffffff;
	position: relative;
}

.why-choose-solar-section .section-title {
	margin-bottom: 45px;
	text-align: center;
}

.why-choose-solar-section .section-title h3 {
	margin-bottom: 8px;
	color: var(--accent-color);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.why-choose-solar-section .section-title h2 {
	font-size: 38px;
	color: var(--primary-color);
	font-weight: 700;
	line-height: 1.25em;
	margin-bottom: 12px;
}

/* Wide White Board Container */
.why-choose-board {
	background: var(--secondary-color);
	border: 1.5px solid rgba(45, 139, 105, 0.22);
	border-radius: 32px;
	padding: 40px 36px 32px;
	box-shadow: 0 15px 40px rgba(23, 77, 58, 0.05);
	position: relative;
}

/* Infographic Wrapper (Desktop: 1000 x 490px) */
.infographic-wrapper {
	position: relative;
	width: 100%;
	max-width: 1000px;
	height: 490px;
	margin: 0 auto;
}

/* SVG Connector Lines */
.infographic-lines {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
}

.connector-line {
	stroke: var(--accent-color);
	stroke-width: 3;
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: stroke 0.35s ease, stroke-width 0.35s ease, filter 0.35s ease;
}

.connector-line.active-line {
	stroke: var(--brand-green);
	stroke-width: 4.5;
	filter: drop-shadow(0 0 5px rgba(45, 139, 105, 0.6));
}

/* Keyframes for Solar Energy Charge & Pulses */
@keyframes solarEnergyFlow {
	0% {
		stroke-dashoffset: 40;
	}

	100% {
		stroke-dashoffset: 0;
	}
}

@keyframes hubSolarPulse {

	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.2);
	}
}

@keyframes nodePulseCharge {

	0%,
	100% {
		transform: scale(1.14);
	}

	50% {
		transform: scale(1.2);
	}
}

/* Outward Energy Surge when Center Hub is Hovered */
.infographic-wrapper.is-charging .connector-line,
.infographic-wrapper:has(.center-hub:hover) .connector-line {
	stroke: var(--brand-green);
	stroke-width: 4.5px;
	stroke-dasharray: 12 8;
	animation: solarEnergyFlow 0.65s linear infinite;
	filter: drop-shadow(0 0 4px rgba(45, 139, 105, 0.5)) drop-shadow(0 0 2px rgba(247, 147, 49, 0.4));
}

/* Center Hub Circle */
.center-hub {
	position: absolute;
	left: 50%;
	top: 310px;
	transform: translate(-50%, -50%);
	z-index: 4;
	cursor: pointer;
}

.center-hub-ring {
	width: 140px;
	height: 140px;
	border-radius: 50%;
	background: #ffffff;
	border: 4px solid var(--accent-color);
	padding: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: none !important;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease, outline 0.4s ease;
}

.center-hub:hover .center-hub-ring,
.infographic-wrapper.is-charging .center-hub-ring,
.infographic-wrapper:has(.center-hub:hover) .center-hub-ring {
	transform: scale(1.08);
	border-color: var(--brand-green);
	outline: 3px solid rgba(45, 139, 105, 0.3);
	outline-offset: 4px;
}

.center-hub-inner {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #f1f8f5;
	border: 2px dashed rgba(45, 139, 105, 0.35);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	text-align: center;
	transition: background 0.35s ease, border-color 0.35s ease;
}

.center-hub:hover .center-hub-inner,
.infographic-wrapper.is-charging .center-hub-inner,
.infographic-wrapper:has(.center-hub:hover) .center-hub-inner {
	background: #e6f6ee;
	border-color: var(--brand-green);
}

.hub-icon {
	font-size: 26px;
	color: var(--brand-green);
	transition: color 0.35s ease, transform 0.35s ease;
}

.center-hub:hover .hub-icon,
.infographic-wrapper.is-charging .hub-icon,
.infographic-wrapper:has(.center-hub:hover) .hub-icon {
	color: var(--accent-color);
	animation: hubSolarPulse 1.2s ease-in-out infinite;
}

.hub-title {
	font-family: var(--accent-font);
	font-size: 13.5px;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--primary-color);
	line-height: 1.15em;
}

.hub-subtitle {
	font-family: var(--accent-font);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.12em;
	color: var(--brand-green);
	text-transform: uppercase;
	transition: color 0.35s ease;
}

.center-hub:hover .hub-subtitle,
.infographic-wrapper.is-charging .hub-subtitle,
.infographic-wrapper:has(.center-hub:hover) .hub-subtitle {
	color: var(--accent-color);
}

/* Infographic Nodes */
.info-node {
	position: absolute;
	z-index: 5;
	cursor: pointer;
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.node-circle {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #ffffff;
	border: 2.5px solid var(--accent-color);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: var(--brand-green);
	flex-shrink: 0;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: none !important;
}

.node-title {
	font-family: var(--accent-font);
	font-size: 15.5px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 0;
	line-height: 1.3em;
	background: #ffffff;
	border: 1.5px solid rgba(45, 139, 105, 0.22);
	border-radius: 12px;
	padding: 7px 14px;
	box-shadow: 0 4px 14px rgba(16, 28, 23, 0.06);
	display: inline-block;
	white-space: nowrap;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Direct Node Hover effects */
.info-node:hover .node-circle {
	background: var(--brand-green);
	border-color: var(--brand-green);
	color: #ffffff;
	transform: scale(1.14);
}

.info-node:hover .node-title {
	color: var(--brand-green);
	border-color: var(--brand-green);
	box-shadow: 0 8px 20px rgba(45, 139, 105, 0.2);
	transform: translateY(-2px);
}

/* Surrounding 8 Nodes Glow & Color Change when Center Hub Charges */
.infographic-wrapper.is-charging .info-node .node-circle,
.infographic-wrapper:has(.center-hub:hover) .info-node .node-circle {
	background: var(--brand-green);
	border-color: var(--accent-color);
	color: #ffffff;
	transform: scale(1.14);
	outline: 3px solid rgba(247, 147, 49, 0.45);
	outline-offset: 3px;
	animation: nodePulseCharge 1.8s ease-in-out infinite;
}

.infographic-wrapper.is-charging .info-node .node-title,
.infographic-wrapper:has(.center-hub:hover) .info-node .node-title {
	color: var(--brand-green);
	font-weight: 800;
	border-color: var(--accent-color);
	box-shadow: 0 8px 20px rgba(247, 147, 49, 0.25);
}

/* Staggered Energy Wave Arrival Timing */
.infographic-wrapper.is-charging .node-top .node-circle,
.infographic-wrapper:has(.center-hub:hover) .node-top .node-circle {
	transition-delay: 0.08s;
	animation-delay: 0.08s;
}

.infographic-wrapper.is-charging .node-r1 .node-circle,
.infographic-wrapper:has(.center-hub:hover) .node-r1 .node-circle {
	transition-delay: 0.12s;
	animation-delay: 0.12s;
}

.infographic-wrapper.is-charging .node-r2 .node-circle,
.infographic-wrapper:has(.center-hub:hover) .node-r2 .node-circle {
	transition-delay: 0.16s;
	animation-delay: 0.16s;
}

.infographic-wrapper.is-charging .node-r3 .node-circle,
.infographic-wrapper:has(.center-hub:hover) .node-r3 .node-circle {
	transition-delay: 0.20s;
	animation-delay: 0.20s;
}

.infographic-wrapper.is-charging .node-bottom .node-circle,
.infographic-wrapper:has(.center-hub:hover) .node-bottom .node-circle {
	transition-delay: 0.14s;
	animation-delay: 0.14s;
}

.infographic-wrapper.is-charging .node-l1 .node-circle,
.infographic-wrapper:has(.center-hub:hover) .node-l1 .node-circle {
	transition-delay: 0.12s;
	animation-delay: 0.12s;
}

.infographic-wrapper.is-charging .node-l2 .node-circle,
.infographic-wrapper:has(.center-hub:hover) .node-l2 .node-circle {
	transition-delay: 0.16s;
	animation-delay: 0.16s;
}

.infographic-wrapper.is-charging .node-l3 .node-circle,
.infographic-wrapper:has(.center-hub:hover) .node-l3 .node-circle {
	transition-delay: 0.20s;
	animation-delay: 0.20s;
}

/* Node Positioning on Desktop */
.node-top {
	left: 50%;
	top: 18px;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-align: center;
	max-width: 320px;
}

.node-bottom {
	left: 50%;
	bottom: 15px;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-align: center;
	max-width: 320px;
}

/* Left 3 Nodes (Text on left, Circle on right) */
.node-left {
	display: flex;
	align-items: center;
	gap: 12px;
	text-align: right;
	max-width: 350px;
	flex-direction: row;
	justify-content: flex-end;
}

.node-left .node-title {
	flex-shrink: 0;
	white-space: nowrap;
}

.node-l1 {
	left: 348px;
	top: 180px;
	transform: translate(-100%, -50%);
}

.node-l2 {
	left: 320px;
	top: 310px;
	transform: translate(-100%, -50%);
}

.node-l3 {
	left: 348px;
	top: 440px;
	transform: translate(-100%, -50%);
}

/* Right 3 Nodes (Circle on left, Text on right) */
.node-right {
	display: flex;
	align-items: center;
	gap: 12px;
	text-align: left;
	max-width: 350px;
}

.node-r1 {
	left: 652px;
	top: 180px;
	transform: translateY(-50%);
}

.node-r2 {
	left: 680px;
	top: 310px;
	transform: translateY(-50%);
}

.node-r3 {
	left: 652px;
	top: 440px;
	transform: translateY(-50%);
}

/* CTA Button */
.why-choose-cta {
	margin-top: 16px;
}

.btn-saving-solar {
	background: var(--brand-green);
	color: #ffffff;
	border-radius: 100px;
	padding: 15px 36px;
	font-weight: 700;
	font-size: 16px;
	font-family: var(--accent-font);
	display: inline-flex;
	align-items: center;
	gap: 12px;
	border: 1.5px solid var(--brand-green);
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: none !important;
}

.btn-saving-solar:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: none !important;
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
	.why-choose-solar-section {
		padding: 60px 0;
	}

	.why-choose-solar-section .section-title {
		margin-bottom: 28px !important;
	}

	.why-choose-solar-section .section-title h2 {
		font-size: 32px;
	}

	.why-choose-board {
		padding: 32px 20px 36px;
		border-radius: 24px;
		overflow: hidden;
	}

	.infographic-wrapper {
		height: auto;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.infographic-lines {
		display: none;
	}

	.center-hub {
		grid-column: 1 / -1;
		position: static;
		transform: none;
		margin: 0 auto 16px;
	}

	.center-hub-ring {
		width: 120px;
		height: 120px;
	}

	.info-node {
		position: static !important;
		transform: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		text-align: left !important;
		gap: 14px !important;
		background: #ffffff !important;
		border: 1.5px solid rgba(45, 139, 105, 0.18) !important;
		border-radius: 16px !important;
		padding: 14px 18px !important;
		box-shadow: 0 4px 14px rgba(16, 28, 23, 0.04) !important;
		overflow: hidden !important;
		transition: all 0.3s ease !important;
	}

	.info-node:hover {
		border-color: var(--brand-green) !important;
		transform: translateY(-2px) !important;
		box-shadow: 0 8px 24px rgba(45, 139, 105, 0.12) !important;
	}

	.info-node .node-circle {
		order: -1 !important;
		width: 44px !important;
		height: 44px !important;
		font-size: 17px !important;
		flex-shrink: 0 !important;
	}

	.info-node .node-title {
		font-size: 15.5px !important;
		font-weight: 700 !important;
		color: var(--primary-color) !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		padding: 0 !important;
		box-shadow: none !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: break-word !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		line-height: 1.35 !important;
		display: block !important;
		transition: color 0.3s ease !important;
	}

	.info-node:hover .node-title {
		color: var(--brand-green) !important;
	}
}

@media (max-width: 767px) {
	.infographic-wrapper {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 12px !important;
	}
}

@media (max-width: 575px) {
	.why-choose-solar-section {
		padding: 42px 0;
	}

	.why-choose-solar-section .section-title {
		margin-bottom: 20px !important;
	}

	.why-choose-solar-section .section-title h2 {
		font-size: 26px;
	}

	.why-choose-board {
		padding: 24px 12px 28px !important;
		border-radius: 20px;
	}

	.infographic-wrapper {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 10px !important;
		width: 100% !important;
	}

	.info-node {
		padding: 12px 14px !important;
		gap: 12px !important;
		border-radius: 14px !important;
	}

	.info-node .node-circle {
		width: 40px !important;
		height: 40px !important;
		font-size: 15px !important;
	}

	.info-node .node-title {
		font-size: 14px !important;
		line-height: 1.3 !important;
	}

	.btn-saving-solar {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================================
   14. Customer Testimonials Section (Clean Modern Card Slider)
   ========================================================================== */
.customer-testimonials-section {
	padding: 35px 0 85px;
	background: #ffffff url('../images/map-bg-img.svg') no-repeat center center;
	background-size: cover;
	position: relative;
}

.customer-testimonials-section .section-title {
	margin-bottom: 48px;
	text-align: center;
}

.customer-testimonials-section .section-title h3 {
	color: var(--accent-color) !important;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.customer-testimonials-section .section-title h2 {
	font-size: 40px;
	color: var(--primary-color);
	font-weight: 800;
	line-height: 1.24em;
	margin-bottom: 0;
	letter-spacing: -0.02em;
}

/* Testimonial Swiper Slider */
.testimonial-slider2 {
	position: relative;
}

.testimonial-slider2 .swiper {
	padding-bottom: 50px;
}

.testimonial-slider2 .swiper-slide {
	height: auto;
	display: flex;
}

.testimonial-slider2 .testimonial-item2 {
	background: #edf3ee;
	border-radius: 28px;
	padding: 38px 32px 40px;
	display: flex;
	flex-direction: column;
	width: 100%;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.35s ease;
	box-shadow: none !important;
	border: none;
}

.testimonial-slider2 .testimonial-item2:hover {
	transform: translateY(-4px);
	background: #e7efe9;
	box-shadow: none !important;
}

/* Header */
.testimonial-slider2 .testimonial-item2 .testimonial-header {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 22px;
}

.testimonial-slider2 .testimonial-item2 .testimonial-author-image {
	width: 64px;
	height: 64px;
	position: relative;
	flex-shrink: 0;
	margin-right: 0;
}

.testimonial-slider2 .testimonial-item2 .testimonial-author-image:after {
	display: none !important;
}

.testimonial-slider2 .testimonial-item2 .testimonial-author-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	display: block;
}

/* Small Green Quote Badge Overlapping Bottom-Right of Avatar */
.testimonial-author-image .quote-badge {
	position: absolute;
	bottom: -2px;
	right: -2px;
	width: 22px;
	height: 22px;
	background: #61ce70;
	color: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	border: 2px solid #edf3ee;
	box-shadow: none !important;
	transition: background-color 0.3s ease, border-color 0.3s ease;
}

.testimonial-item2:hover .quote-badge {
	background: var(--brand-green);
	border-color: #e7efe9;
}

.testimonial-slider2 .testimonial-author-info {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.testimonial-slider2 .testimonial-author-info h3 {
	font-family: var(--accent-font);
	font-size: 19px;
	font-weight: 800;
	color: var(--primary-color);
	margin-bottom: 0;
	line-height: 1.25em;
}

.testimonial-slider2 .testimonial-author-info p {
	font-size: 13.5px;
	color: #718479;
	font-weight: 500;
	margin: 0;
}

/* Body */
.testimonial-slider2 .testimonial-body {
	flex-grow: 1;
}

.testimonial-slider2 .testimonial-body p {
	font-size: 15px;
	line-height: 1.68em;
	color: #55695e;
	margin: 0;
	font-weight: 400;
}

/* Centered Testimonial Slider Controls (Prev, Bullets, Next) */
.testimonial-slider2 .swiper {
	padding-bottom: 0px !important;
}

.testimonial-slider-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 36px;
	position: relative;
	z-index: 10;
}

.testimonial-slider-controls .swiper-pagination {
	position: static !important;
	width: auto !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 !important;
}

.testimonial-slider-controls .swiper-pagination .swiper-pagination-bullet {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: rgba(247, 147, 49, 0.3);
	opacity: 1;
	margin: 0 !important;
	transition: all 0.3s ease;
	cursor: pointer;
}

.testimonial-slider-controls .swiper-pagination .swiper-pagination-bullet-active {
	background: var(--accent-color);
	width: 24px;
	height: 9px;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(247, 147, 49, 0.45);
	transform: none;
}

.testimonial-nav-btn {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--accent-color);
	border: 1.5px solid var(--accent-color);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	cursor: pointer;
	transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 14px rgba(247, 147, 49, 0.32);
	outline: none;
	padding: 0;
	user-select: none;
}

.testimonial-nav-btn:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(11, 67, 49, 0.28);
}

.testimonial-nav-btn:active {
	transform: translateY(0) scale(0.94);
	background: var(--accent-color);
	border-color: var(--accent-color);
}

.testimonial-nav-btn.swiper-button-disabled {
	opacity: 0.35;
	cursor: not-allowed;
	pointer-events: none;
}

@media (max-width: 575px) {
	.testimonial-nav-btn {
		width: 38px;
		height: 38px;
		font-size: 13.5px;
	}

	.testimonial-slider-controls {
		gap: 12px;
		margin-top: 28px;
	}
}

/* Trust Bar */
.testimonial-trust-bar {
	margin-top: 36px;
}

.trust-badge-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #f1f8f5;
	border: 1px solid rgba(45, 139, 105, 0.25);
	padding: 10px 24px;
	border-radius: 100px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--primary-color);
	box-shadow: none !important;
}

.trust-badge-pill i {
	color: var(--brand-green);
	font-size: 16px;
}

/* Responsive Breakpoints */
@media (max-width: 991px) {
	.customer-testimonials-section {
		padding: 30px 0 60px;
	}

	.customer-testimonials-section .section-title h2 {
		font-size: 32px;
	}

	.testimonial-slider2 .testimonial-item2 {
		padding: 30px 24px 34px;
	}
}

@media (max-width: 575px) {
	.customer-testimonials-section {
		padding: 24px 0 50px;
	}

	.customer-testimonials-section .section-title h2 {
		font-size: 27px;
	}

	.testimonial-slider2 .testimonial-item2 {
		padding: 26px 20px 28px;
		border-radius: 22px;
	}

	.trust-badge-pill {
		font-size: 13.5px;
		padding: 8px 18px;
		text-align: left;
	}
}

/* ==========================================================================
   15. Frequently Asked Questions (FAQ) Section
   ========================================================================== */
.faq-section {
	padding: 95px 0 90px;
	background-color: var(--secondary-color);
	background-image: linear-gradient(135deg, rgba(241, 248, 245, 0.95) 0%, rgba(228, 242, 236, 0.95) 100%);
	position: relative;
}

.faq-section .section-title {
	margin-bottom: 30px;
}

.faq-section .section-title h3 {
	margin-bottom: 8px;
	color: var(--accent-color);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.faq-section .section-title h2 {
	font-size: 38px;
	color: var(--primary-color);
	font-weight: 800;
	line-height: 1.25em;
	margin-bottom: 0;
}

/* FAQ Visual Guide Card (Left Column) */
.faq-visual-card {
	background: #ffffff;
	border: 1.5px solid rgba(45, 139, 105, 0.2);
	border-radius: 28px;
	overflow: hidden;
	box-shadow: none !important;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.faq-visual-media {
	position: relative;
	height: 270px;
	overflow: hidden;
}

.faq-visual-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.faq-visual-card:hover .faq-visual-media img {
	transform: scale(1.04);
}

.faq-floating-badge {
	position: absolute;
	bottom: 16px;
	left: 16px;
	background: rgba(23, 77, 58, 0.92);
	backdrop-filter: blur(8px);
	padding: 10px 18px;
	border-radius: 100px;
	display: flex;
	align-items: center;
	gap: 12px;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.faq-floating-badge .badge-icon {
	color: var(--accent-color);
	font-size: 20px;
}

.faq-floating-badge .badge-info {
	display: flex;
	flex-direction: column;
}

.faq-floating-badge .badge-title {
	color: #ffffff;
	font-weight: 700;
	font-size: 13.5px;
	line-height: 1.2em;
}

.faq-floating-badge .badge-sub {
	color: rgba(255, 255, 255, 0.75);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.faq-card-support {
	padding: 28px 26px 30px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	background: #ffffff;
}

.faq-card-support h3 {
	font-family: var(--accent-font);
	font-size: 21px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 8px;
}

.faq-card-support p {
	font-size: 14.5px;
	line-height: 1.6em;
	color: #5d6e64;
	margin-bottom: 22px;
}

.btn-faq-contact {
	margin-top: auto;
	align-self: flex-start;
	background: var(--brand-green);
	color: #ffffff;
	border-radius: 100px;
	padding: 12px 28px;
	font-weight: 700;
	font-size: 14.5px;
	font-family: var(--accent-font);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 1.5px solid var(--brand-green);
	transition: all 0.3s ease;
	text-decoration: none;
	box-shadow: none !important;
}

.btn-faq-contact:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #ffffff;
	transform: translateY(-2px);
}

/* FAQ Custom Accordion */
.faq-custom-accordion .accordion-item {
	background: #ffffff;
	border: 1.5px solid rgba(45, 139, 105, 0.16);
	border-radius: 20px !important;
	margin-bottom: 15px;
	overflow: hidden;
	box-shadow: none !important;
	transition: border-color 0.3s ease;
}

.faq-custom-accordion .accordion-item:hover {
	border-color: rgba(45, 139, 105, 0.4);
}

.faq-custom-accordion .accordion-button {
	background: #ffffff;
	padding: 18px 22px;
	font-family: var(--accent-font);
	font-size: 17px;
	font-weight: 700;
	color: var(--primary-color);
	border: none;
	box-shadow: none !important;
	display: flex;
	align-items: center;
	gap: 16px;
	transition: all 0.3s ease;
}

.faq-custom-accordion .accordion-button:not(.collapsed) {
	background: #f1f8f5;
	color: var(--primary-color);
	box-shadow: none !important;
	border-bottom: 1px solid rgba(45, 139, 105, 0.15);
}

.faq-number {
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: #f1f8f5;
	color: var(--brand-green);
	font-size: 13px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: all 0.3s ease;
}

.faq-custom-accordion .accordion-button:not(.collapsed) .faq-number {
	background: var(--brand-green);
	color: #ffffff;
}

.faq-question {
	flex-grow: 1;
	line-height: 1.35em;
	padding-right: 12px;
}

.faq-custom-accordion .accordion-button::after {
	width: 32px;
	height: 32px;
	background-color: #f1f8f5;
	border: 1.5px solid rgba(45, 139, 105, 0.28);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232d8b69' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4.5v4l-3.5 3h5.5l-3 3.5h1.5v4'/%3E%3Cpolyline points='8.5,15.5 12,19 15.5,15.5'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: 18px 18px !important;
	content: "" !important;
	flex-shrink: 0;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.3s ease, border-color 0.3s ease;
}

.faq-custom-accordion .accordion-button:hover::after {
	border-color: var(--brand-green);
	background-color: #e6f6ee;
}

.faq-custom-accordion .accordion-button:not(.collapsed)::after {
	transform: rotate(180deg);
	background-color: var(--brand-green);
	border-color: var(--brand-green);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4.5v4l-3.5 3h5.5l-3 3.5h1.5v4'/%3E%3Cpolyline points='8.5,15.5 12,19 15.5,15.5'/%3E%3C/svg%3E") !important;
}

.faq-custom-accordion .accordion-body {
	padding: 18px 22px 22px 70px;
	background: #f1f8f5;
}

.faq-custom-accordion .accordion-body p {
	font-size: 15px;
	line-height: 1.65em;
	color: #495e53;
	margin: 0;
}

/* ==========================================================================
   16. Contact Us Section
   ========================================================================== */
.contact-us-section {
	padding: 95px 0 90px;
	background: #ffffff;
	position: relative;
}

.contact-us-section .section-title {
	margin-bottom: 45px;
	text-align: center;
}

.contact-us-section .section-title h3 {
	margin-bottom: 8px;
	color: var(--accent-color);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.contact-us-section .section-title h2 {
	font-size: 38px;
	color: var(--primary-color);
	font-weight: 800;
	line-height: 1.25em;
	margin-bottom: 0;
}

/* Contact Cards Grid */
.contact-cards-grid {
	margin-bottom: 45px;
}

.contact-info-card {
	background: #fbfdfc;
	border: 1.5px solid rgba(45, 139, 105, 0.18);
	border-radius: 20px;
	padding: 24px 22px;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	box-shadow: none !important;
	height: 100%;
	transition: transform 0.3s ease, border-color 0.3s ease;
}

.contact-info-card:hover {
	transform: translateY(-4px);
	border-color: var(--brand-green);
}

.contact-card-icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #f1f8f5;
	color: var(--brand-green);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.contact-info-card:hover .contact-card-icon {
	background: var(--brand-green);
	color: #ffffff;
}

.contact-card-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.contact-card-label {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--accent-color);
}

.contact-card-title {
	font-family: var(--accent-font);
	font-size: 17.5px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 0;
	line-height: 1.3em;
}

.contact-card-email-title {
	font-size: 15px;
	word-break: break-all;
}

.contact-card-address-title {
	font-size: 16px;
}

.contact-link {
	color: var(--primary-color);
	text-decoration: none;
	transition: color 0.25s ease;
}

.contact-link:hover {
	color: var(--accent-color);
}

.contact-sublink {
	color: #55685f;
	text-decoration: none;
	font-weight: 600;
	transition: color 0.25s ease;
}

.contact-sublink:hover {
	color: var(--brand-green);
}

.footer-link-text {
	color: #ffffff;
	text-decoration: none;
	transition: color 0.25s ease;
}

.footer-link-text:hover {
	color: var(--accent-color);
	text-decoration: underline;
}

.contact-card-value {
	font-size: 14px;
	color: #55685f;
	margin: 0;
	line-height: 1.45em;
}

/* Form and Map Containers */
.contact-form-container {
	background: #fbfdfc;
	border: 1.5px solid rgba(45, 139, 105, 0.18);
	border-radius: 28px;
	padding: 38px 34px 42px;
	box-shadow: none !important;
	height: 100%;
}

.contact-form-container h3 {
	font-family: var(--accent-font);
	font-size: 24px;
	font-weight: 800;
	color: var(--primary-color);
	margin-bottom: 8px;
}

.contact-form-container p {
	font-size: 14.5px;
	color: #66796f;
	margin-bottom: 24px;
}

.contact-form-group {
	margin-bottom: 18px;
}

.contact-form-group label {
	font-size: 13px;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 6px;
	display: block;
}

.contact-form-group .form-control,
.contact-form-group .form-select {
	background: #ffffff;
	border: 1.5px solid rgba(45, 139, 105, 0.22);
	border-radius: 12px;
	padding: 12px 16px;
	font-size: 14.5px;
	color: var(--black-color);
	box-shadow: none !important;
	transition: border-color 0.3s ease;
}

.contact-form-group .form-control:focus,
.contact-form-group .form-select:focus {
	border-color: var(--brand-green);
	outline: none;
	background: #ffffff;
}

.btn-contact-submit {
	background: var(--brand-green);
	color: #ffffff;
	border-radius: 100px;
	padding: 14px 34px;
	font-weight: 700;
	font-size: 16px;
	font-family: var(--accent-font);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 1.5px solid var(--brand-green);
	transition: all 0.3s ease;
	cursor: pointer;
	box-shadow: none !important;
}

.btn-contact-submit:hover {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: #ffffff;
	transform: translateY(-2px);
}

/* Map Container */
.contact-map-wrapper {
	height: 100%;
	min-height: 480px;
	border-radius: 28px;
	overflow: hidden;
	border: 1.5px solid rgba(45, 139, 105, 0.18);
	box-shadow: none !important;
}

.contact-map-wrapper iframe {
	width: 100%;
	height: 100%;
	min-height: 480px;
	display: block;
	border: 0;
}

/* ==========================================================================
   Above-Footer Outline Solar Marquee Ticker (Matching Typography Reference)
   ========================================================================== */
.footer-ticker.drsv-solar-ticker {
	padding: 24px 0 16px;
	background: #ffffff;
	border-top: 1.5px solid rgba(45, 139, 105, 0.16);
	border-bottom: 1.5px solid rgba(45, 139, 105, 0.16);
	overflow: hidden;
	position: relative;
	user-select: none;
}

.drsv-solar-ticker .scrolling-ticker-box {
	--gap: 36px;
	display: flex;
	overflow: hidden;
	gap: var(--gap);
}

.drsv-solar-ticker .scrolling-content {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: var(--gap);
	min-width: 100%;
	animation: scroll 32s linear infinite;
}

.drsv-solar-ticker:hover .scrolling-content {
	animation-play-state: paused;
}

.drsv-solar-ticker .scrolling-content span {
	display: inline-flex;
	align-items: center;
	font-family: var(--accent-font, 'Rajdhani', sans-serif);
	text-transform: uppercase;
	font-size: clamp(50px, 6vw, 84px);
	line-height: 1.15em;
	font-weight: 700;
	letter-spacing: 2.5px;
	color: transparent;
	-webkit-text-stroke: 1.8px #2d8b69;
	/* DRSV Signature Brand Green Outline */
	stroke: #2d8b69;
	stroke-width: 1.8px;
	transition: all 0.3s ease;
	cursor: default;
}

.drsv-solar-ticker .scrolling-content span:hover {
	color: rgba(45, 139, 105, 0.08);
	-webkit-text-stroke: 2px #247558;
}

.drsv-solar-ticker .scrolling-content span:after {
	content: '/';
	margin-left: 36px;
	color: transparent;
	-webkit-text-stroke: 2px #f79331;
	/* Solar Orange Accent Slash */
	stroke: #f79331;
	stroke-width: 2px;
	font-weight: 800;
}

@media (max-width: 767px) {
	.footer-ticker.drsv-solar-ticker {
		padding: 18px 0 12px;
	}

	.drsv-solar-ticker .scrolling-content span {
		font-size: 38px;
		-webkit-text-stroke-width: 1.4px;
	}

	.drsv-solar-ticker .scrolling-content span:after {
		margin-left: 20px;
		-webkit-text-stroke-width: 1.4px;
	}
}

/* ==========================================================================
   17. Modern Centered Footer (Matching Reference Design & Brand Theme)
   ========================================================================== */
footer.main-footer.drsv-footer-modern {
	background: #0b4331 !important;
	/* Deep DRSV Brand Green */
	background-image: none !important;
	padding: 65px 0 32px !important;
	position: relative;
	color: #ffffff;
}

.drsv-footer-modern .drsv-footer-card {
	max-width: 1200px;
	margin: 0 auto;
}

.drsv-footer-modern .drsv-footer-main-row {
	margin-bottom: 35px;
}

.drsv-footer-modern .footer-left-content {
	text-align: left;
	padding-right: 15px;
}

.drsv-footer-modern .footer-logo-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	padding: 12px 28px;
	border-radius: 14px;
	margin-bottom: 20px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.drsv-footer-modern .footer-logo-badge:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.drsv-footer-modern .footer-logo-badge img {
	height: 48px;
	width: auto;
	object-fit: contain;
	display: block;
}

.drsv-footer-modern .footer-tagline-text {
	max-width: 580px;
	margin: 0 0 22px 0;
	text-align: left;
}

.drsv-footer-modern .footer-tagline-text p {
	color: rgba(255, 255, 255, 0.92);
	font-size: 15.5px;
	line-height: 1.7em;
	margin-bottom: 0;
	font-family: var(--primary-font);
}

.drsv-footer-modern .footer-contact-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 14px 28px;
	margin-bottom: 24px;
}

.drsv-footer-modern .footer-contact-item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #ffffff;
	font-size: 15px;
	font-weight: 500;
	font-family: var(--primary-font);
}

.drsv-footer-modern .footer-contact-item i {
	color: var(--accent-color);
	/* #f79331 Solar Orange */
	font-size: 16px;
}

.drsv-footer-modern .footer-contact-item span {
	color: #ffffff;
}

.drsv-footer-modern .footer-social-row {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	margin-bottom: 0;
}

.drsv-footer-modern .footer-social-circle {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	font-size: 16px;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	text-decoration: none;
}

.drsv-footer-modern .footer-social-circle:hover {
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: #ffffff;
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(247, 147, 49, 0.4);
}

.drsv-footer-modern .footer-map-wrapper {
	width: 100%;
	height: 270px;
	border-radius: 18px;
	overflow: hidden;
	border: 1.5px solid rgba(255, 255, 255, 0.18);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
	position: relative;
	background: #10382b;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.drsv-footer-modern .footer-map-wrapper:hover {
	border-color: rgba(247, 147, 49, 0.5);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.3);
}

.drsv-footer-modern .footer-map-wrapper iframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	filter: contrast(1.02);
}

.drsv-footer-modern .footer-divider {
	width: 100%;
	height: 1px;
	background: rgba(255, 255, 255, 0.15);
	margin-bottom: 22px;
}

.drsv-footer-modern .footer-copyright-row {
	text-align: center;
}

.drsv-footer-modern .footer-copyright-row p {
	color: rgba(255, 255, 255, 0.72);
	font-size: 14px;
	margin-bottom: 0;
	font-weight: 400;
	letter-spacing: 0.2px;
}

@media (max-width: 991px) {
	.drsv-footer-modern .footer-left-content {
		text-align: center;
		padding-right: 0;
	}

	.drsv-footer-modern .footer-tagline-text {
		margin: 0 auto 20px;
		text-align: center;
	}

	.drsv-footer-modern .footer-contact-row {
		justify-content: center;
		margin-bottom: 22px;
	}

	.drsv-footer-modern .footer-social-row {
		justify-content: center;
		margin-bottom: 0;
	}

	.drsv-footer-modern .footer-map-wrapper {
		margin: 0 auto;
		height: 240px;
	}
}

@media (max-width: 767px) {
	footer.main-footer.drsv-footer-modern {
		padding: 50px 0 25px !important;
	}

	.drsv-footer-modern .drsv-footer-main-row {
		margin-bottom: 28px;
	}

	.drsv-footer-modern .footer-logo-badge {
		padding: 10px 22px;
		margin-bottom: 16px;
	}

	.drsv-footer-modern .footer-logo-badge img {
		height: 38px;
	}

	.drsv-footer-modern .footer-tagline-text p {
		font-size: 14.5px;
	}

	.drsv-footer-modern .footer-contact-row {
		flex-direction: column;
		gap: 12px;
		margin-bottom: 20px;
	}

	.drsv-footer-modern .footer-social-row {
		margin-bottom: 0;
	}

	.drsv-footer-modern .footer-map-wrapper {
		border-radius: 14px;
		height: 200px;
	}
}

/* Responsive Media Queries */
@media (max-width: 991px) {

	.faq-section,
	.contact-us-section {
		padding: 70px 0;
	}

	.faq-section .section-title h2,
	.contact-us-section .section-title h2 {
		font-size: 32px;
	}

	.faq-visual-card {
		margin-bottom: 35px;
	}

	.faq-custom-accordion .accordion-body {
		padding-left: 24px;
	}

	.contact-map-wrapper {
		margin-top: 30px;
		min-height: 380px;
	}
}

@media (max-width: 575px) {

	.faq-section,
	.contact-us-section {
		padding: 55px 0;
	}

	.faq-section .section-title h2,
	.contact-us-section .section-title h2 {
		font-size: 27px;
	}

	.faq-custom-accordion .accordion-button {
		padding: 16px 16px;
		font-size: 15.5px;
		gap: 12px;
	}

	.faq-custom-accordion .accordion-body {
		padding: 16px 16px 18px;
	}

	.contact-form-container {
		padding: 26px 20px 30px;
		border-radius: 20px;
	}

	.btn-contact-submit {
		width: 100%;
		justify-content: center;
	}
}

/* ==========================================================================
   Header Refinements: Zero Top Empty Space & Logo + Enquiry Button Layout
   ========================================================================== */

/* 1. Flush Topbar - Eliminates any white gap above header */
html,
body {
	margin: 0 !important;
	padding: 0 !important;
}

.topbar {
	background-color: var(--primary-color) !important;
	position: relative;
	z-index: 105;
	margin: 0 !important;
	padding: 9px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.topbar-contact-info ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.topbar-contact-info ul li {
	display: inline-flex;
	align-items: center;
	color: rgba(255, 255, 255, 0.95);
	font-size: 14px;
	font-weight: 500;
	margin: 0;
}

.topbar-contact-info ul li a {
	color: rgba(255, 255, 255, 0.95);
	text-decoration: none;
	transition: color 0.2s ease;
}

.topbar-contact-info ul li a:hover {
	color: var(--accent-color);
}

.topbar-contact-info ul li i {
	color: var(--accent-color);
	margin-right: 7px;
}

.header-social-links ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

/* 2. Floating Header Card - Preserves Present Design Language */
header.main-header {
	position: relative;
	max-width: 1270px;
	margin: 14px auto 0 auto !important;
	background: #ffffff;
	border-radius: 35px;
	border: 1px solid rgba(23, 77, 58, 0.08);
	box-shadow: 0 10px 30px rgba(16, 28, 23, 0.08);
	z-index: 100;
	transition: all 0.3s ease;
}

header.main-header .header-sticky {
	padding: 13px 28px !important;
	border-radius: 35px;
	background: #ffffff;
	transition: all 0.3s ease;
}

.header-container,
header.main-header .header-container {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	gap: 32px !important;
	flex-wrap: nowrap !important;
}

.header-logo-img {
	max-height: 44px;
	width: auto;
	display: block;
	transition: transform 0.25s ease;
}

.navbar-brand {
	padding: 0;
	margin: 0;
	display: inline-flex;
	align-items: center;
	flex-shrink: 0 !important;
}

.navbar-brand:hover .header-logo-img {
	transform: scale(1.02);
}

/* 3. Reference-Matched "ENQUIRY NOW" Pill Button (Solar Color Theme) */
.header-btn-action {
	display: flex;
	align-items: center;
	flex-shrink: 0 !important;
}

.header-enquiry-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 10px 22px;
	border: 2px solid var(--accent-color, #f79331) !important;
	background-color: var(--accent-color, #f79331) !important;
	color: #ffffff !important;
	border-radius: 50px;
	font-family: var(--accent-font, 'Rajdhani', sans-serif);
	font-size: 14.5px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 16px rgba(247, 147, 49, 0.35);
	line-height: 1;
	white-space: nowrap !important;
}

.header-enquiry-btn i {
	font-size: 14px;
	color: #ffffff !important;
	transition: transform 0.25s ease, color 0.25s ease;
}

.header-enquiry-btn:hover {
	background-color: #ff9d3b !important;
	color: #ffffff !important;
	border-color: #ff9d3b !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(247, 147, 49, 0.45);
}

.header-enquiry-btn:hover i {
	color: #ffffff !important;
	transform: rotate(15deg) scale(1.1);
}

.header-enquiry-btn:active {
	transform: translateY(0);
	box-shadow: 0 4px 12px rgba(247, 147, 49, 0.25);
}

/* 4. Sticky Header State */
header.main-header .header-sticky.active {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	border-radius: 0 !important;
	border-bottom: 1px solid rgba(23, 77, 58, 0.1) !important;
	box-shadow: 0 4px 20px rgba(16, 28, 23, 0.1) !important;
	background: #ffffff !important;
	padding: 12px 30px !important;
	transform: translateY(0) !important;
	z-index: 1000 !important;
}

header.main-header .header-sticky.active .header-container {
	max-width: 1270px;
	margin: 0 auto;
}

/* 5. Hero Alignment Seamless With No Gap & Custom DRSV Hero Image */
.hero,
.hero.parallaxie {
	margin-top: -95px !important;
	padding-top: 170px !important;
	padding-bottom: 50px !important;
	background-image: url(../images/hero-image-drsv.webp) !important;
	background-size: cover !important;
}

/* 6. Mobile & Tablet Responsiveness */
@media (max-width: 991px) {
	header.main-header {
		margin: 10px 14px 0 14px !important;
		border-radius: 24px;
	}

	header.main-header .header-sticky {
		padding: 10px 18px !important;
		border-radius: 24px;
	}

	.header-container,
	header.main-header .header-container {
		gap: 24px !important;
	}

	.header-logo-img {
		max-height: 38px !important;
	}

	.header-enquiry-btn {
		padding: 7.5px 16px !important;
		font-size: 13px !important;
		gap: 7px !important;
	}

	.hero {
		margin-top: -85px !important;
		padding-top: 190px !important;
	}
}

@media (max-width: 767px) {
	header.main-header {
		margin: 8px 10px 0 10px !important;
		border-radius: 20px;
	}

	header.main-header .header-sticky {
		padding: 8px 14px !important;
		border-radius: 20px;
	}

	.header-container,
	header.main-header .header-container {
		gap: 20px !important;
	}

	.header-logo-img {
		max-height: 33px !important;
	}

	.header-enquiry-btn {
		padding: 6.5px 14px !important;
		font-size: 12px !important;
		gap: 6px !important;
	}
}

@media (max-width: 575px) {
	.topbar {
		padding: 7px 0 !important;
	}

	.topbar-contact-info ul {
		justify-content: center;
		gap: 12px;
	}

	.topbar-contact-info ul li {
		font-size: 12px;
	}

	header.main-header {
		margin: 6px 8px 0 8px !important;
		border-radius: 16px !important;
	}

	header.main-header .header-sticky {
		padding: 7px 10px !important;
		border-radius: 16px !important;
	}

	header.main-header .header-sticky.active {
		padding: 7px 10px !important;
	}

	.header-container,
	header.main-header .header-container {
		padding: 0 !important;
		gap: 18px !important;
		flex-wrap: nowrap !important;
	}

	.header-logo-img {
		max-height: 29px !important;
	}

	.header-enquiry-btn {
		padding: 5px 11px !important;
		font-size: 11px !important;
		gap: 5px !important;
		letter-spacing: 0.03em !important;
	}

	.header-enquiry-btn i {
		font-size: 10px !important;
	}

	.hero,
	.hero.parallaxie {
		margin-top: -75px !important;
		padding-top: 145px !important;
		padding-bottom: 40px !important;
	}

	.hero-enquiry-box {
		padding: 20px 16px !important;
		border-radius: 18px !important;
	}

	.hero-form-header-title {
		font-size: 20px;
	}

	.hero-form-submit-btn {
		padding: 11px 20px !important;
		font-size: 15px;
	}
}

@media (max-width: 380px) {
	header.main-header {
		margin: 5px 6px 0 6px !important;
		border-radius: 14px !important;
	}

	header.main-header .header-sticky {
		padding: 6px 8px !important;
		border-radius: 14px !important;
	}

	.header-logo-img {
		max-height: 25px !important;
	}

	.header-enquiry-btn {
		padding: 4.5px 9px !important;
		font-size: 10px !important;
		gap: 4px !important;
	}

	.header-enquiry-btn i {
		font-size: 9px !important;
	}
}

/* ==========================================================================
   Comprehensive Mobile & Tablet Responsive Enhancements
   (Fixes: Hero Background Blur, Both Hero Buttons, Section Padding & Nav Buttons)
   ========================================================================== */
@media (max-width: 991px) {

	/* 1. Hero Mobile Background Image Crisp Rendering & Overlay */
	.hero,
	.hero.parallaxie {
		background: url(../images/hero-image-drsv.webp) no-repeat center top !important;
		background-size: cover !important;
		background-attachment: scroll !important;
		background-position: center 20% !important;
	}

	.hero:before {
		content: '' !important;
		display: block !important;
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		background: linear-gradient(180deg, rgba(14, 46, 35, 0.90) 0%, rgba(14, 46, 35, 0.72) 42%, rgba(14, 46, 35, 0.94) 100%) !important;
		z-index: 1 !important;
	}

	/* 2. Display Both Buttons in Hero on Mobile & Fit-Content Width */
	.hero-content-footer {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 12px !important;
		margin-top: 24px !important;
	}

	.hero-content-footer .btn-default {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin: 0 !important;
		padding: 12px 26px !important;
		font-size: 14.5px !important;
		border-radius: 50px !important;
		width: auto !important;
		width: fit-content !important;
		max-width: fit-content !important;
		flex: 0 0 auto !important;
	}

	.hero-content-footer .btn-border {
		background: rgba(255, 255, 255, 0.1) !important;
		border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
		color: #ffffff !important;
		transition: all 0.3s ease !important;
		width: auto !important;
		width: fit-content !important;
		max-width: fit-content !important;
		flex: 0 0 auto !important;
	}

	.hero-content-footer .btn-border:hover {
		background: var(--accent-color) !important;
		border-color: var(--accent-color) !important;
		color: #ffffff !important;
	}

	/* Hero Form Submit Button on Mobile: Fit Content & Centered */
	.hero-form-submit-btn {
		width: auto !important;
		width: fit-content !important;
		max-width: 100% !important;
		margin: 4px auto 0 auto !important;
		display: inline-flex !important;
		padding: 12px 28px !important;
	}

	.hero-enquiry-box .col-md-12.pt-2 {
		text-align: center !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}

	/* 3. Section Global Container Padding Guard */
	.container {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	/* 4. Project Gallery Card Visibility Fix */
	.project-gallery-item .project-card {
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* 5. Testimonial Both Buttons Visible */
	.testimonial-slider-controls {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 16px !important;
		margin-top: 32px !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.testimonial-nav-btn {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}

@media (max-width: 575px) {

	/* Hero background position on smaller phones */
	.hero,
	.hero.parallaxie {
		background-position: center 15% !important;
		background-attachment: scroll !important;
	}

	.hero-content-footer {
		gap: 10px !important;
		justify-content: flex-start !important;
	}

	.hero-content-footer .btn-default {
		padding: 11px 22px !important;
		font-size: 13.5px !important;
		width: auto !important;
		width: fit-content !important;
		max-width: fit-content !important;
		flex: 0 0 auto !important;
		text-align: center !important;
		display: inline-flex !important;
	}

	/* All General Buttons on Mobile Reduced to Fit Content */
	.btn-default,
	a.btn-default,
	button.btn-default,
	.who-we-serve-cta .btn-default {
		width: auto !important;
		width: fit-content !important;
		max-width: fit-content !important;
		flex: 0 0 auto !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	/* Section padding on small phones */
	.container {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* Testimonial Nav Buttons on small phones */
	.testimonial-nav-btn {
		width: 40px !important;
		height: 40px !important;
		font-size: 14px !important;
	}

	.testimonial-slider-controls {
		gap: 12px !important;
		margin-top: 24px !important;
	}
}

/* ========================================================
   DRSV TECHNO SOLUTION - SOLAR THEMED PRELOADER
   ======================================================== */
.preloader.drsv-solar-preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 999999;
	background: radial-gradient(circle at center, #105943 0%, #072a1e 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}

.preloader.drsv-solar-preloader.loaded,
.preloader.loaded,
.preloader[style*="display: none"] {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	display: none !important;
}

.solar-preloader-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
	z-index: 2;
}

/* Outer Solar Energy Glow & Rings */
.solar-sun-ring {
	position: relative;
	width: 130px;
	height: 130px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
}

/* Rotating Dashed Sun Ray Ring */
.solar-ray-ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 3px dashed var(--accent-color, #f79331);
	box-shadow: 0 0 30px rgba(247, 147, 49, 0.45);
	animation: drsvSolarRotate 8s linear infinite;
}

/* Inner Opposing Solar Orbit Ring */
.solar-panel-grid-ring {
	position: absolute;
	inset: 8px;
	border-radius: 50%;
	border: 2.5px solid transparent;
	border-top-color: var(--brand-green, #2d8b69);
	border-bottom-color: var(--accent-color, #f79331);
	box-shadow: inset 0 0 15px rgba(45, 139, 105, 0.35);
	animation: drsvSolarRotateRev 3.5s linear infinite;
}

/* White Core Badge for DRSV Logo */
.solar-core-badge {
	position: relative;
	width: 86px;
	height: 86px;
	background: #ffffff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35), 0 0 20px rgba(247, 147, 49, 0.3);
	animation: drsvSolarCorePulse 2.4s ease-in-out infinite;
	z-index: 3;
}

.solar-preloader-logo {
	max-width: 62px;
	max-height: 48px;
	object-fit: contain;
	display: block;
}

/* Preloader Typography & Charge Bar */
.solar-preloader-text-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.solar-preloader-title {
	font-family: var(--accent-font, 'Rajdhani', sans-serif);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 2.5px;
	color: #ffffff;
	text-transform: uppercase;
	margin: 0 0 12px 0;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.solar-energy-charge-bar {
	width: 170px;
	height: 4px;
	background: rgba(255, 255, 255, 0.12);
	border-radius: 99px;
	overflow: hidden;
	position: relative;
	margin-bottom: 12px;
}

.solar-charge-progress {
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #2d8b69, #f79331, #2d8b69);
	border-radius: 99px;
	animation: drsvChargeSlide 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.solar-preloader-sub {
	font-family: var(--default-font, 'Rubik', sans-serif);
	font-size: 13px;
	color: #bcecd7;
	margin: 0;
	letter-spacing: 0.5px;
	display: flex;
	align-items: center;
	gap: 6px;
}

@keyframes drsvSolarRotate {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes drsvSolarRotateRev {
	0% {
		transform: rotate(360deg);
	}

	100% {
		transform: rotate(0deg);
	}
}

@keyframes drsvSolarCorePulse {

	0%,
	100% {
		transform: scale(1);
		box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35), 0 0 18px rgba(247, 147, 49, 0.25);
	}

	50% {
		transform: scale(1.05);
		box-shadow: 0 14px 30px rgba(0, 0, 0, 0.4), 0 0 30px rgba(247, 147, 49, 0.55);
	}
}

@keyframes drsvChargeSlide {
	0% {
		left: -100%;
	}

	50% {
		left: 0%;
	}

	100% {
		left: 100%;
	}
}

/* ========================================================
   DRSV FLOATING ACTION STACK (WHATSAPP, CALL, SCROLL-TO-TOP)
   Exact match to the provided design reference
   ======================================================== */
.drsv-floating-action-stack {
	position: fixed;
	right: 8px !important;
	bottom: 22px !important;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.floating-action-circle {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
	border: none;
	outline: none;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, background-color 0.25s ease;
	padding: 0;
}

.floating-action-circle:hover {
	transform: translateY(-3px) scale(1.06);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
}

/* 1. WhatsApp Button: Bright Green with White Icon */
.floating-btn-whatsapp {
	background-color: #25D366;
	color: #ffffff !important;
}

.floating-btn-whatsapp i {
	font-size: 24px;
	color: #ffffff;
	line-height: 1;
}

.floating-btn-whatsapp:hover {
	background-color: #20ba59;
}

/* 2. Call Button: Dark Green Background, 2px Solid White Border, White Icon */
.floating-btn-call {
	background-color: #074836;
	border: 2px solid #ffffff !important;
	color: #ffffff !important;
}

.floating-btn-call i {
	font-size: 18px;
	color: #ffffff;
	line-height: 1;
}

.floating-btn-call:hover {
	background-color: #0c5c46;
}

/* 3. Scroll to Top Button: Hidden in Hero section, appears when scrolled */
.floating-btn-scroll {
	display: none !important;
	background-color: var(--accent-color, #f79331);
	color: #074836 !important;
}

.floating-btn-scroll.show {
	display: flex !important;
	animation: drsvScrollPop 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes drsvScrollPop {
	0% {
		opacity: 0;
		transform: scale(0.5) translateY(10px);
	}

	100% {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}

.floating-btn-scroll i {
	font-size: 18px;
	font-weight: 800;
	color: #074836;
	line-height: 1;
	transition: transform 0.25s ease;
}

.floating-btn-scroll:hover {
	background-color: #ff9d3b;
	transform: translateY(-3px) scale(1.06);
}

.floating-btn-scroll:hover i {
	transform: translateY(-2px);
}

/* Footer Brand & Developer Links (Theme Color Connected Links) */
.footer-highlight-link {
	color: var(--accent-color, #f79331) !important;
	text-decoration: none !important;
	font-weight: 600;
	transition: color 0.25s ease, text-shadow 0.25s ease;
}

.footer-highlight-link:hover {
	color: #ffaa52 !important;
	text-decoration: underline !important;
	text-shadow: 0 0 10px rgba(247, 147, 49, 0.4);
}

/* Mobile Responsiveness */
@media (max-width: 767px) {
	.drsv-floating-action-stack {
		right: 6px !important;
		bottom: 14px !important;
		gap: 8px !important;
	}

	.floating-action-circle {
		width: 38px !important;
		height: 38px !important;
	}

	.floating-btn-whatsapp i {
		font-size: 21px !important;
	}

	.floating-btn-call i {
		font-size: 15px !important;
	}

	.floating-btn-scroll i {
		font-size: 15px !important;
	}
}