		/* CSS Variables for Colors and Typography */
		:root {
			--primary-blue: #1a5f7a;
			--secondary-blue: #2d82a5;
			--accent-blue: #57a6c3;
			--light-blue: #e8f4f8;
			--dark-blue: #0a3d53;
			--white: #ffffff;
			--light-gray: #f8f9fa;
			--medium-gray: #e9ecef;
			--dark-gray: #495057;
			--black: #212529;
			--accent-orange: #ff7a45;
			--success-green: #28a745;

			--font-heading: 'Poppins', sans-serif;
			--font-body: 'Open Sans', sans-serif;

			--shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
			--shadow-hover: 0 8px 20px rgba(0, 0, 0, 0.12);
			--radius: 8px;
			--transition: all 0.3s ease;
		}

		/* Reset & Base Styles */
		* {
			margin: 0;
			padding: 0;
			box-sizing: border-box;
		}

		html {
			scroll-behavior: smooth;
		}

		body {
			font-family: var(--font-body);
			color: var(--dark-gray);
			line-height: 1.6;
			overflow-x: hidden;
		}

		h1,
		h2,
		h3,
		h4,
		h5,
		h6 {
			font-family: var(--font-heading);
			font-weight: 600;
			line-height: 1.3;
			margin-bottom: 1rem;
			color: var(--dark-blue);
		}

		h1 {
			font-size: 2.8rem;
		}

		h2 {
			font-size: 2.2rem;
			text-align: center;
			margin-bottom: 2.5rem;
			position: relative;
		}

		h2::after {
			content: '';
			position: absolute;
			width: 80px;
			height: 4px;
			background-color: var(--accent-blue);
			bottom: -10px;
			left: 50%;
			transform: translateX(-50%);
		}

		h3 {
			font-size: 1.6rem;
		}

		p {
			margin-bottom: 1.2rem;
		}

		a {
			text-decoration: none;
			color: inherit;
		}

		ul {
			list-style: none;
		}

		.container {
			width: 100%;
			max-width: 1200px;
			margin: 0 auto;
			padding: 0 20px;
		}

		section {
			padding: 80px 0;
		}

		.section-bg {
			background-color: var(--light-blue);
		}

		.btn {
			display: inline-block;
			padding: 14px 32px;
			border-radius: 50px;
			font-weight: 600;
			font-size: 1rem;
			cursor: pointer;
			transition: var(--transition);
			text-align: center;
			border: none;
			font-family: var(--font-heading);
		}

		.btn-primary {
			background-color: var(--accent-orange);
			color: var(--white);
		}

		.btn-primary:hover {
			background-color: var(--secondary-blue);
			transform: translateY(-3px);
			box-shadow: var(--shadow-hover);
		}

		.btn-secondary {
			background-color: transparent;
			color: var(--primary-blue);
			border: 2px solid var(--primary-blue);
		}

		.btn-secondary:hover {
			background-color: var(--primary-blue);
			color: var(--white);
		}

		/* Navigation Styles */
		header {
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			z-index: 1000;
			background-color: var(--white);
			box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
			transition: var(--transition);
		}

		.header-scrolled {
			padding: 5px 0;
		}

		nav {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 20px 0;
		}

		.logo {
			font-family: var(--font-heading);
			font-weight: 700;
			font-size: 1.8rem;
			color: var(--primary-blue);
			display: flex;
			align-items: center;
		}

		.logo i {
			color: var(--accent-blue);
			margin-right: 10px;
			font-size: 2rem;
		}

		.desktop-menu {
			display: flex;
		}

		.desktop-menu li {
			margin-left: 30px;
		}

		.desktop-menu a {
			font-weight: 500;
			position: relative;
			padding: 5px 0;
		}

		.desktop-menu a::after {
			content: '';
			position: absolute;
			width: 0;
			height: 2px;
			background-color: var(--accent-blue);
			bottom: 0;
			left: 0;
			transition: var(--transition);
		}

		.desktop-menu a:hover::after {
			width: 100%;
		}

		.mobile-toggle {
			display: none;
			font-size: 1.5rem;
			color: var(--primary-blue);
			cursor: pointer;
		}

		.mobile-menu {
			position: fixed;
			top: 0;
			right: -100%;
			width: 300px;
			height: 100%;
			background-color: var(--white);
			z-index: 1001;
			padding: 80px 30px 30px;
			box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
			transition: var(--transition);
		}

		.mobile-menu.active {
			right: 0;
		}

		.mobile-menu li {
			margin-bottom: 20px;
		}

		.mobile-menu a {
			font-size: 1.2rem;
			font-weight: 500;
			display: block;
			padding: 10px 0;
			border-bottom: 1px solid var(--medium-gray);
		}

		.mobile-menu-close {
			position: absolute;
			top: 25px;
			right: 25px;
			font-size: 1.5rem;
			color: var(--primary-blue);
			cursor: pointer;
		}

		/* Hero Section */
		.hero {
			padding-top: 150px;
			padding-bottom: 100px;
			background: linear-gradient(135deg, var(--light-blue) 0%, #d4eaf0 100%);
			overflow: hidden;
		}

		.hero-content {
			display: flex;
			align-items: center;
			justify-content: space-between;
			flex-wrap: wrap;
		}

		.hero-text {
			flex: 1;
			min-width: 300px;
			padding-right: 30px;
		}

		.hero-image {
			flex: 1;
			min-width: 300px;
			position: relative;
		}

		.hero-image img {
			width: 100%;
			border-radius: var(--radius);
			box-shadow: var(--shadow);
		}

		.hero-btns {
			display: flex;
			gap: 15px;
			margin: 30px 0;
			flex-wrap: wrap;
		}

		.trust-indicators {
			display: flex;
			flex-wrap: wrap;
			gap: 20px;
			margin-top: 30px;
		}

		.trust-item {
			display: flex;
			align-items: center;
			gap: 8px;
			font-weight: 500;
		}

		.trust-item i {
			color: var(--success-green);
		}

		/* How We Work Section */
		.how-we-work {
			display: flex;
			align-items: center;
			flex-wrap: wrap;
			gap: 40px;
		}

		.how-image {
			flex: 1;
			min-width: 300px;
		}

		.how-image img {
			width: 100%;
			border-radius: var(--radius);
			box-shadow: var(--shadow);
		}

		.how-content {
			flex: 1;
			min-width: 300px;
		}

		.process-steps {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 25px;
			margin-top: 30px;
		}

		.step {
			display: flex;
			gap: 15px;
			align-items: flex-start;
		}

		.step-number {
			background-color: var(--accent-blue);
			color: var(--white);
			width: 40px;
			height: 40px;
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			font-weight: 700;
			flex-shrink: 0;
		}

		/* Gallery Section */
		.gallery-container {
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
			gap: 25px;
			margin-top: 40px;
		}

		.gallery-item {
			position: relative;
			border-radius: var(--radius);
			overflow: hidden;
			height: 250px;
			box-shadow: var(--shadow);
			transition: var(--transition);
		}

		.gallery-item:hover {
			transform: translateY(-10px);
			box-shadow: var(--shadow-hover);
		}

		.gallery-item img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: var(--transition);
		}

		.gallery-item:hover img {
			transform: scale(1.05);
		}

		.gallery-overlay {
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			padding: 20px;
			background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
			color: var(--white);
		}

		/* Services Section */
		.services-grid {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 30px;
			margin-top: 40px;
		}

		.service-card {
			background-color: var(--white);
			border-radius: var(--radius);
			padding: 30px;
			box-shadow: var(--shadow);
			transition: var(--transition);
			text-align: center;
			height: 100%;
			display: flex;
			flex-direction: column;
		}

		.service-card:hover {
			transform: translateY(-10px);
			box-shadow: var(--shadow-hover);
		}

		.service-icon {
			font-size: 2.5rem;
			color: var(--accent-blue);
			margin-bottom: 20px;
		}

		.service-card h3 {
			margin-bottom: 15px;
			font-size: 1.4rem;
		}

		.service-card p {
			flex-grow: 1;
			margin-bottom: 20px;
		}

		/* Detailed Services */
		.detailed-service {
			display: flex;
			align-items: center;
			flex-wrap: wrap;
			gap: 40px;
			margin-bottom: 60px;
		}

		.detailed-service:nth-child(even) {
			flex-direction: row-reverse;
		}

		.service-detail-img,
		.service-detail-content {
			flex: 1;
			min-width: 300px;
		}

		.service-detail-img img {
			width: 100%;
			border-radius: var(--radius);
			box-shadow: var(--shadow);
		}

		.service-features {
			margin-top: 20px;
		}

		.service-features li {
			margin-bottom: 10px;
			display: flex;
			align-items: flex-start;
			gap: 10px;
		}

		.service-features i {
			color: var(--success-green);
			margin-top: 3px;
		}

		/* Service Areas */
		.areas-container {
			display: flex;
			flex-wrap: wrap;
			gap: 40px;
			margin-top: 40px;
		}

		.areas-list {
			flex: 1;
			min-width: 300px;
		}

		.areas-columns {
			column-count: 3;
			column-gap: 30px;
		}

		.areas-columns li {
			margin-bottom: 10px;
			page-break-inside: avoid;
			break-inside: avoid;
		}

		.areas-map {
			flex: 1;
			min-width: 300px;
			background-color: var(--medium-gray);
			border-radius: var(--radius);
			display: flex;
			align-items: center;
			justify-content: center;
			padding: 30px;
			box-shadow: var(--shadow);
		}

		.service-area-map {
			flex: 1;
			min-width: 300px;
		}

		.service-area-map-img {
			width: 100%;
			border-radius: var(--radius);
			box-shadow: var(--shadow);
		}

		.map-placeholder {
			text-align: center;
			color: var(--dark-gray);
		}

		.map-placeholder i {
			font-size: 4rem;
			color: var(--primary-blue);
			margin-bottom: 20px;
		}

		/* FAQ Section */
		.faq-container {
			max-width: 800px;
			margin: 40px auto 0;
		}

		.faq-item {
			margin-bottom: 15px;
			border-radius: var(--radius);
			overflow: hidden;
			box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
		}

		.faq-question {
			background-color: var(--white);
			padding: 20px;
			cursor: pointer;
			display: flex;
			justify-content: space-between;
			align-items: center;
			font-weight: 600;
			transition: var(--transition);
		}

		.faq-question:hover {
			background-color: var(--light-blue);
		}

		.faq-answer {
			padding: 0 20px;
			max-height: 0;
			overflow: hidden;
			transition: var(--transition);
			background-color: var(--white);
		}

		.faq-answer.active {
			padding: 20px;
			max-height: 500px;
		}

		.faq-toggle {
			transition: var(--transition);
			color: var(--accent-blue);
		}

		.faq-item.active .faq-toggle {
			transform: rotate(45deg);
		}

		/* Contact Section */
		.contact-container {
			display: flex;
			flex-wrap: wrap;
			gap: 40px;
			margin-top: 40px;
		}

		.contact-map {
			flex: 1;
			min-width: 300px;
			background-color: var(--medium-gray);
			border-radius: var(--radius);
			overflow: hidden;
			box-shadow: var(--shadow);
		}

		.map-placeholder-contact {
			height: 100%;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			padding: 30px;
			text-align: center;
		}

		.contact-form-container {
			flex: 1;
			min-width: 300px;
		}

		.contact-form {
			background-color: var(--white);
			padding: 30px;
			border-radius: var(--radius);
			box-shadow: var(--shadow);
		}

		.form-group {
			margin-bottom: 20px;
		}

		.form-group label {
			display: block;
			margin-bottom: 8px;
			font-weight: 500;
		}

		.form-control {
			width: 100%;
			padding: 12px 15px;
			border: 1px solid var(--medium-gray);
			border-radius: var(--radius);
			font-family: var(--font-body);
			font-size: 1rem;
			transition: var(--transition);
		}

		.form-control:focus {
			outline: none;
			border-color: var(--accent-blue);
			box-shadow: 0 0 0 3px rgba(87, 166, 195, 0.2);
		}

		.contact-info-box {
			background-color: var(--light-blue);
			padding: 25px;
			border-radius: var(--radius);
			margin-top: 30px;
		}

		.contact-info-item {
			display: flex;
			align-items: center;
			gap: 15px;
			margin-bottom: 15px;
		}

		.contact-info-item i {
			color: var(--accent-blue);
			font-size: 1.2rem;
			width: 20px;
		}

		/* Footer */
		footer {
			background-color: var(--dark-blue);
			color: var(--white);
		}

		.footer-top {
			padding: 60px 0 40px;
		}

		.footer-columns {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 40px;
		}

		.footer-column h3 {
			color: var(--white);
			font-size: 1.3rem;
			margin-bottom: 20px;
			position: relative;
			padding-bottom: 10px;
		}

		.footer-column h3::after {
			content: '';
			position: absolute;
			width: 40px;
			height: 3px;
			background-color: var(--accent-blue);
			bottom: 0;
			left: 0;
		}

		.footer-logo {
			font-family: var(--font-heading);
			font-weight: 700;
			font-size: 1.8rem;
			color: var(--white);
			display: flex;
			align-items: center;
			margin-bottom: 20px;
		}

		.footer-logo i {
			color: var(--accent-blue);
			margin-right: 10px;
		}

		.footer-links li,
		.footer-services li {
			margin-bottom: 10px;
		}

		.footer-links a:hover,
		.footer-services a:hover {
			color: var(--accent-blue);
		}

		.footer-bottom {
			padding: 20px 0;
			border-top: 1px solid rgba(255, 255, 255, 0.1);
			text-align: center;
		}

		/* Responsive Styles */
		@media (max-width: 992px) {
			.services-grid {
				grid-template-columns: repeat(2, 1fr);
			}

			.areas-columns {
				column-count: 2;
			}

			.footer-columns {
				grid-template-columns: repeat(2, 1fr);
			}
		}

		@media (max-width: 768px) {
			h1 {
				font-size: 2.2rem;
			}

			h2 {
				font-size: 1.8rem;
			}

			section {
				padding: 60px 0;
			}

			.desktop-menu {
				display: none;
			}

			.mobile-toggle {
				display: block;
			}

			.hero-text {
				padding-right: 0;
				margin-bottom: 40px;
			}

			.hero-btns {
				flex-direction: column;
				align-items: flex-start;
			}

			.process-steps {
				grid-template-columns: 1fr;
			}

			.services-grid {
				grid-template-columns: 1fr;
			}

			.areas-columns {
				column-count: 1;
			}
		}

		@media (max-width: 576px) {
			.footer-columns {
				grid-template-columns: 1fr;
			}
		}

		/* Animation Classes */
		.fade-in {
			opacity: 0;
			transform: translateY(30px);
			transition: opacity 0.5s ease, transform 0.5s ease;
		}

		.fade-in.appear {
			opacity: 1;
			transform: translateY(0);
		}



			.services-detailed-section {
				padding: 50px 0 30px 0;
				background: #fafafa;
			}

			.services-title {
				text-align: center;
				font-size: 2.3rem;
				margin-bottom: 36px;
				font-weight: 600;
				color: #283048;
			}

			.services-list {
				display: flex;
				flex-direction: column;
				gap: 32px;
				max-width: 950px;
				margin: 0 auto;
			}

			.service-row {
				background: #fff;
				border-radius: 12px;
				box-shadow: 0 2px 14px rgba(40, 48, 72, 0.07);
				padding: 30px 38px;
				display: flex;
				flex-direction: row;
				justify-content: flex-start;
				align-items: center;
			}

			.service-content {
				flex: 1;
			}

			.service-content h3 {
				font-size: 1.35rem;
				margin-bottom: 13px;
				color: #1c272e;
				font-weight: 500;
				letter-spacing: 0.5px;
			}

			.service-content p {
				color: #454545;
				line-height: 1.7;
				font-size: 1.04rem;
			}

			@media (max-width: 768px) {
				.services-detailed-section {
					padding: 32px 0 20px 0;
				}

				.services-title {
					font-size: 1.4rem;
				}

				.service-row {
					padding: 18px 12px;
				}

				.service-content h3 {
					font-size: 1.07rem;
					margin-bottom: 7px;
				}

				.service-content p {
					font-size: 0.97rem;
				}
			}
