body {
	font: 18px/26px "Open Sans", sans-serif;
	color: #000;
}
h1, h2, h3, h4, h5, h6{font-family: "Noto Serif", serif;}

img {
	max-width: 100%;
}

ul,
ol {
	list-style: none;
}

#wrapper {
	position: relative;
	width: 100%; 
	
}
 
#main{overflow: hidden;}
.hero-section,
.about-us-section,
.services-section,
.cta-wrap,
.why-choose-section,
.service-areas-section,
.recent-work-section,
.testimonials-section,
.faq-estimate-section,
.blog-listing-section,
.blog-detail-section,
.services-page-intro,
.services-page-list,
.services-page-cta{overflow: hidden;}
#header .logo img {
	display: block; 
	max-width: 100%;
	height: auto;
}
#header .container{max-width: 1345px;}
#header .nav-align {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

#header .nav-align .navbar {
	padding: 26px 0;
	width: 100%;
}
.header_wrp{position: relative;}
.header_wrp:before{content: ""; background: #fff; position: absolute; background: #fff; border-radius: 30px; top:0; right: -25px; width: 100%; height: 175px;}
.header_wrp .row{z-index: 9; position: relative;}
.azteclogo{margin-top: 30px;}
#header .nav-align .navbar .navbar-nav .nav-item {
	margin: 0 14px;
}

#header .nav-align .navbar .navbar-nav .nav-link {
	font-size: 18px;
	font-weight: 700;
	color: #0b2138;
	    font-family: "Noto Serif", serif;
	    padding: 0;
}

#header .nav-align .navbar .navbar-nav .nav-link:hover,
#header .nav-align .navbar .navbar-nav .nav-link.active {
	color: #f1b209;
}

.close-toggler {
	display: none;
}
.navbar-expand-lg .navbar-nav{margin-right: 15px;}
 
.main-btn a{
	border-radius: 15px;
	padding: 14px 24px;
	border: none;
	background: #0DA4AF;
	background:linear-gradient(119deg,rgba(241, 178, 9, 1) 0%, rgba(233, 72, 8, 1) 100%);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	font-size: 18px;
	display: inline-block	;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
    font-family: "Noto Serif", serif;
}
.main-btn i{padding-left: 10px;}
.main-btn a:hover {
	color: #fff;
	background: #0DA4AF;
	background: linear-gradient(119deg,rgba(233, 72, 8, 1) 0%, rgba(241, 178, 9, 1) 100%);
}
 


#header .right-top{
	border-radius: 0 0 31px 31px;
    background: #000;
    padding: 14px 30px 14px 35px;
}
#header .right-top .contact{
	display: flex;
	justify-content: space-between;
}
#header .right-top .info,
#header .right-top .social{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	gap: 15px;
	align-items: center;
}
#header .right-top .social{
	gap: 17px;
}
#header .right-top .info a,
#header .right-top .social a{
	text-decoration: none;
	color: #fff;
	transition: all ease 0.5s;
}
#header .right-top .info a,
#header .right-top .social a{
	font-size: 16px;
	line-height: 1.2;
	font-weight: bold;
}
#header .right-top .social a{
	font-size: 20px;
}
#header .right-top .info a:hover,
#header .right-top .social a:hover{
	color: #f1b209;
}
#header .right-top .info i{background: #f1b209; color: #fff; width: 40px; height: 40px; border-radius: 100%; line-height: 40px; text-align: center;}
#header .right-top .info a{font-family: "Noto Serif", serif; font-size: 24px;}





/* responsive tweaks */
@media (max-width: 991.98px) {
 

	#header .nav-align {
		justify-content: flex-end !important;
	}

	.header-actions {
		margin-top: 8px;
	}
}


 
.heading {
	text-align: center;
	margin: 0 0 46px;
}

.heading .title {
	display: block;
	color: #0da4af;
	margin-bottom: 2px;
	font-size: 18px;
	line-height: 1.2;
	font-family: "Montserrat", sans-serif;
}

.heading h2 {
	margin: 0;
	font-weight: bold;
	font-size: 32px;
	line-height: 1.2;
	color: #08405f;
	font-family: "Montserrat", sans-serif;
}

.heading h2 span {
	display: block;
}



/*********************************************
	Slider Css
**********************************************/ 
.hero-section{
	background: url(../images/slider.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	min-height: 800px;
	display: flex;
	align-items: center; 
	margin-top: -134px;
	padding: 170px 0 110px;
}
.hero-section .caption{
	max-width: 640px;
}
.hero-section .caption .title{
	display: inline-block;
	background: rgb(38 37 36 / 70%);
	padding: 8px 20px;
	border-radius: 10px;
	color: #f1b209;
	font-size: 20px;
	margin: 0 0 6px;
	font-family: "Noto Serif", serif;
}
 
.hero-section .caption h1{
	font-size: 60px;
	line-height: 1.15;
	font-weight: bold;
	color: #fff; 
	margin-bottom: 18px;
}
.hero-section .caption p{
	color: #fff;
	font-size: 18px;
	line-height: 1.6;
	font-family: "Noto Serif", serif;
	margin-bottom: 22px;
}

@media (max-width: 1399.98px) {
	.hero-section {
		min-height: 730px;
		padding: 150px 0 95px;
	}

	.hero-section .caption h1 {
		font-size: 52px;
	}
}

@media (max-width: 1199.98px) {
	.hero-section {
		min-height: 650px;
		padding: 130px 0 80px;
	}

	.hero-section .caption {
		max-width: 560px;
	}

	.hero-section .caption .title {
		font-size: 18px;
		padding: 7px 16px;
	}

	.hero-section .caption h1 {
		font-size: 44px;
	}

	.hero-section .caption p {
		font-size: 17px;
	}
}

@media (max-width: 991.98px) {
	.hero-section {
		min-height: 560px;
		padding: 110px 0 70px;
		margin-top: -24px;
	}

	.hero-section .caption {
		max-width: 100%;
		text-align: center;
	}

	.hero-section .caption h1 {
		font-size: 36px;
		line-height: 1.2;
	}

	.hero-section .caption p {
		font-size: 16px;
		max-width: 680px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 767.98px) {
	.hero-section {
		min-height: 500px;
		padding: 90px 0 50px;
		margin-top: 0;
	}

	.hero-section .caption .title {
		font-size: 15px;
		padding: 6px 12px;
	}

	.hero-section .caption h1 {
		font-size: 30px;
	}

	.hero-section .caption p {
		font-size: 15px;
		line-height: 1.5;
		margin-bottom: 18px;
	}
}

@media (max-width: 575.98px) {
	.hero-section {
		min-height: 450px;
		padding: 75px 0 40px;
	}

	.hero-section .caption h1 {
		font-size: 26px;
	}
}




/* ==========================================================================
   Home About Section
   ========================================================================== */
   .about-us-section { 
	padding: 70px 0;
}
 

.about-us-image-wrap {
	position: relative;
	display: inline-block;
}

.experience-badge {
	position: absolute;
	top: 84px;
	right: 0px;
	width: 164px;
	height: 142px;
	background: #ef5507;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-align: center;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.experience-badge .years {
	font-size: 60px;
	line-height: 1;
	font-weight: 700;
	font-family: 'Noto Serif', serif;
}

.experience-badge .label {
	font-size: 18px;
	line-height: 1.2;
	font-weight: 700;
	font-family: 'Noto Serif', serif;
}

.main_title .subtitle {
	display: inline-block;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 700;
	color: #e94808;
	margin-bottom: 10px;
	font-family: 'Noto Serif', serif;
}

.main_title h2 {
	font-size: 48px; 
	color: #111111;
	margin-bottom: 18px;
	font-weight: 700;
	font-family: 'Noto Serif', serif;
}

.main_title h2 span {
	color: #f1b209;
}

.about-us-content p {
	font-size:18px;
	line-height: 1.75;
	color: #575757;
	margin-bottom: 22px; 
	border-bottom: 1px solid #e7e7e6;
	padding-bottom: 25px;
	margin-bottom: 30px;
}

.highlight-item {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
}

.highlight-item h3 {
	font-size: 20px;
	line-height: 1.25;
	margin: 0;
	color: #111111;
	font-weight: 700;
	font-family: 'Noto Serif', serif;
}

.icon-circle {
	width: 58px;
	height: 58px;
	min-width: 58px;
	border-radius: 50%;
	background: #e6b316;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.icon-circle img { 
	object-fit: contain;
}

.about-us-list {
	background: #f4e8e1;
	border-radius: 14px;
	padding: 20px 24px;
	margin-top: 18px;
}

.about-us-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 18px;
	line-height: 1.45;
	font-weight: 600;
	color: #111111;
}

.about-us-list li+li {
	margin-top: 8px;
}

.about-us-list li i {
	color: #e56f1e;
	margin-top: 8px;
	font-size: 20px;
}

.about-us-btn {
	margin-top: 26px;
}

/* ==========================================================================
   Home Services Section
   ========================================================================== */
.services-section {
	background: #f4efe3;
	padding: 70px 0;
	margin: 0 50px;
	border-radius: 30px;
	z-index: 9; position: relative;
}

.services-intro p {
	font-size:18px;
	line-height: 30px;
	color: #222;
	margin-bottom: 20px;
}

.service-card {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	min-height: 540px;
	height: 100%;
}

.service-card img {
	width: 100%;
	height: 100%;
	min-height: 540px;
	object-fit: cover;
	transition: transform 0.55s ease;
}

 

.service-card-content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 26px 36px 40px;
	z-index: 2;
	color: #fff;
	text-align: center;
}

.service-card-content h3 {
	font-size: 30px;
	line-height: 1.15;
	margin-bottom: 10px;
	font-weight: 700;
	font-family: "Noto Serif", serif;
	color: #fff;
}

.service-card-content p {
	font-size: 18px;
	line-height: 30px;
	margin: 0;
	color: rgba(255, 255, 255, 0.95);
}

.service-icon {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #f1b209;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 24px;
	z-index: 3;
	transition: transform 0.35s ease, background 0.35s ease;
	transform: rotate(-50deg);
}

.service-card:hover img {
	transform: scale(1.08);
}

.service-card:hover::after {
	background: linear-gradient(to top, rgba(7, 12, 20, 0.92) 20%, rgba(7, 12, 20, 0.3) 60%, rgba(7, 12, 20, 0.08) 100%);
}

.service-card:hover .service-icon {
	transform: translateY(-2px) rotate(0deg);
	background: #e94808;
}

@media (max-width: 1399.98px) {
	.services-intro p {
		font-size: 25px;
	}

	.service-card,
	.service-card img {
		min-height: 480px;
	}

 
	.service-card-content p {
		font-size: 20px;
	}

	.about-us-content h2 {
		font-size: 48px;
	}

	.about-us-content p {
		font-size: 22px;
	}

	.highlight-item h3 {
		font-size: 30px;
	}

	.about-us-list li {
		font-size: 27px;
	}
}

@media (max-width: 1199.98px) {
	.services-intro p {
		font-size: 20px;
	}
	
	.service-card,
	.service-card img {
		min-height: 430px;
	}
	.services-section{padding: 70px 15px;}
	.services-intro p {
        font-size: 16px;
        line-height: 24px;
    }
	.service-card-content h3 {
		font-size: 24px;}
		.service-card-content p {
			font-size: 16px;
			line-height: 24px;
		}
		.main_title h2 {
			font-size: 36px;}
	.about-us-content h2 {
		font-size: 42px;
	}

	.about-us-content p {
		font-size: 19px;
	}

	.highlight-item h3 {
		font-size:18px;
	}

	.about-us-list li {
		font-size: 18px;
	}

	.about-us-btn a {
		font-size: 19px;
		padding: 14px 28px;
	}

	.experience-badge {
		top: 68px;
		right: -15px;
		width: 128px;
		height: 128px;
	}

	.experience-badge .years {
		font-size: 40px;
	}

	.experience-badge .label {
		font-size: 15px;
	}
}

@media (max-width: 991.98px) {
	.services-intro {
		max-width: 100%;
	}

	.service-card,
	.service-card img {
		min-height: inherit;
	}

	.about-us-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.about-us-content h2 br {
		display: none;
	}

	.experience-badge {
		top: 20px;
		right: 10px;
	}
}

@media (max-width: 767.98px) {
	.services-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.services-intro p {
		font-size: 17px;
		line-height: 1.55;
	}

	 
	.service-card-content {
		padding: 20px 16px;
	}

	.service-card-content h3 {
		font-size: 31px;
	}

	.service-card-content p {
		font-size: 16px;
		line-height: 1.5;
	}

	.service-icon {
		width: 48px;
		height: 48px;
		font-size: 18px;
	}

	.about-us-content .about-us-subtitle {
		font-size: 15px;
	}

	.about-us-content h2 {
		font-size: 34px;
		line-height: 1.15;
	}

	.about-us-content p {
		font-size: 17px;
		line-height: 1.65;
	}

	.icon-circle {
		width: 48px;
		height: 48px;
		min-width: 48px;
	}

	.icon-circle img {
		width: 22px;
		height: 22px;
	}

	.highlight-item h3 {
		font-size: 21px;
	}

	.about-us-list {
		padding: 16px 16px;
	}

	.about-us-list li {
		font-size: 17px;
	}

	.about-us-list li i {
		font-size: 14px;
		margin-top: 5px;
	}

	.about-us-btn a {
		font-size: 16px;
		padding: 12px 22px;
	}

	.experience-badge {
		top: 14px;
		right: 8px;
		width: 98px;
		height: 98px;
		border-radius: 12px;
	}

	.experience-badge .years {
		font-size: 30px;
	}

	.experience-badge .label {
		font-size: 11px;
	}
}
    
 

@media only screen and (max-width: 1200px) {

	#header .header-row {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	#header .header-nav-col {
		display: contents;
	}

	#header .header-logo-col {
		order: 2;
		width: 30%;
		flex: 0 0 30%;
		max-width: 30%;
		text-align: left;
		margin-top: 12px;
	}

	#header .header-nav-col .right-top {
		order: 1;
		width: 100%;
		flex: 0 0 100%;
	}
	.header_wrp:before{display: none;}
	#header{padding: 0 15px;}
	#header .header-nav-col .nav-align {
		order: 3;
		width: 70%;
		flex: 0 0 70%; 
		justify-content: flex-end;
	}
	.hero-section{margin-top: -32px;}
	#header .header-nav-col .nav-align .navbar {
		padding:0 0 14px 0;
	}

	#header .nav-align .navbar .navbar-nav .nav-item {
		margin: 0 10px;
	}

	#header .logo {
		justify-content: flex-start;
	}

}

@media only screen and (max-width: 991.98px) {
	#header .right-top {
		display: none;
	}

	#header .header-logo-col {
		margin-top: 0;
	}

 

	.labimg {
		text-align: center;
	}

	.dropdown-toggle::after {
		float: right;
		margin-top: 11px;
	}

	#header .dropdown-submenu .dropdown-toggle::after {
		display: inline-block;
		margin-left: .255em;
		vertical-align: .255em;
		content: "";
		border-top: .3em solid;
		border-right: .3em solid transparent;
		border-bottom: 0;
		border-left: .3em solid transparent;
	}

	#header .nav-align .navbar .navbar-nav .nav-link {
		color: #fff;
	}

	.header-actions {
		margin-left: 0;
	}

	.cart-link {
		border: none;
	}

 
	.header-phone .phone-number,
	.header-phone .phone-label {
		color: #fff;
	}

	#header .navbar-toggler {
		background: #fff;
		position: absolute; right: 0;
		
	}

	#header .navbar-collapse {
		position: fixed;
		top: 0px;
		bottom: 0;
		left: 100%;
		width: 60%;
		padding-right: 1rem;
		padding-left: 1rem;
		overflow-y: auto;
		visibility: hidden;
		background-color: rgba(0, 0, 0, 0.8);
		transition: visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
		transition: transform .3s ease-in-out, visibility .3s ease-in-out;
		transition: transform .3s ease-in-out, visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
		z-index: 10000;
	}

	#header .navbar-collapse.show {
		visibility: visible;
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}

	.navbar-nav {
		padding-top: 70px;
	}

	#header .nav-align .navbar .navbar-nav .nav-link:hover,
	#header .nav-align .navbar .navbar-nav .nav-link.active {
		color: #fff !important;
		background: #f1b209;
		padding-left: 16px;
	}

	#header .nav-align .navbar .navbar-nav .nav-item {
		margin: 0;
	}

	.navbar-light .navbar-nav .nav-link {
		color: #fff;
		padding: 10px 0;
		transition: transform 0.3s ease;
	}

	#header .close-toggler {
		background: none;
		color: #fff;
		padding: 5px;
		border: none;
		margin-top: 10px;
		font-size: 24px;
		position: absolute;
		top: 0;
		right: 15px;
		display: block;
	}

	#header .nav-align .navbar .navbar-nav .nav-link {
		text-transform: uppercase;
	}

	#header .navbar .dropdown-menu {
		background: #4e4e4e;
		padding: 0;
		border: 0;
	}

	#header .navbar .dropdown-menu li {
		border-bottom: 1px solid #777777;
	}

	#header .navbar .dropdown-menu li:last-child {
		border: none;
	}

	#header .navbar .dropdown-menu .dropdown-item {
		color: #fff;
		text-transform: uppercase;
		white-space: normal;
		padding: 10px 16px;

	}

	#header .navbar .dropdown-menu .dropdown-item:focus,
	#header .navbar .dropdown-menu .dropdown-item:hover {
		background: transparent;
		color: #04dcf7;
	}

	#header .navbar .dropdown-menu .dropdown-submenu .dropdown-menu .dropdown-item {
		padding-left: 32px;
		padding-right: 32px;
	}

}

@media only screen and (max-width: 767.98px) {
	#header .header-logo-col {
        order: 2;
        width: 50%;
        flex: 0 0 50%;
        max-width: 50%;
        text-align: left;
        margin-top: 12px;
    }
	#header .header-nav-col .nav-align{width: 50%;
        flex: 0 0 50%;}

	.header-actions {
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.cart-link {
		border: none;
		padding-left: 0;
		margin-right: 0;
	}

	.header-phone {
		width: 100%;
		justify-content: flex-start;
	}

	.btn-account {
		margin-bottom: 20px;
	}

	.header-actions {
		display: inline-block !important;
		margin-bottom: 40px;
	}

	#header .navbar-collapse {
		width: 80%;
	}

}



.cta-wrap{background: #000; padding:90px 0 30px 0; margin:-40px 50px 0 50px; border-radius: 30px;}
.cta-wrap h2{color: #fff; font-size: 42px; margin-bottom: 0;}
.cta-wrap .subtitle{color: #fff; font-size: 20px;}





/* Keep hero top spacing consistent after header breakpoint rules */
@media (max-width: 991.98px) {
	.hero-section {
		margin-top: -24px;
	}
	#header .nav-align .navbar .navbar-nav .nav-link{font-size: 16px;}
	#header .nav-align .navbar .navbar-nav .nav-link {
        font-size: 14px;
        padding: 6px 0;
    }
}

@media (max-width: 767px) {
	.services-section{padding: 50px 15px;}
	.main_title h2 {
		font-size: 32px;
	}
}

@media (max-width: 480px) {
	.main-btn a{font-size: 15px;}
	.hero-section .caption h1 {
        font-size: 20px;
    }
	.hero-section .caption .title {
        font-size: 14px;
	}
	#header .nav-align .navbar .navbar-nav .nav-link {
        font-size: 14px;
    }
	.services-section{margin: 0 15px;}
}

@media (max-width: 320px) {
.hero-section {
	margin-top: -13px;
}
.header_wrp .main-btn a{padding: 14px;}

}

/* ==========================================================================
   Why Choose Section
   ========================================================================== */
.why-choose-section {
	background: #ffffff;
}

.why-choose-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.why-choose-item {
	background: #f4e8e1;
	border-radius: 20px;
	padding: 20px 24px;
	display: flex;
	align-items: center;
	gap: 20px;
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.why-icon-wrap {
	width: 84px;
	height: 84px;
	min-width: 84px;
	border-radius: 50%;
	background: #f1b209;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

 
.why-content h3 {
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
	margin: 0 0 6px;
	color: #111;
	font-family: "Noto Serif", serif;
}

.why-content p {
	font-size: 18px;
	line-height: 1.6;
	margin: 0;
	color: #2d2d2d;
}

.why-choose-image {
	height: 100%;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	max-width: 570px;
}

.why-choose-image img { 
	transition: transform 0.5s ease;
	border-radius: 20px;
}

.why-choose-item:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.why-choose-image:hover img {
	transform: scale(1.04);
}

.why-image-text {
	position: absolute;
	top: 38px;
	left: 38px;
	max-width: 435px;
	z-index: 2;
}

.why-image-text h3 {
	font-size: 36px;
	line-height: 1.1;
	font-weight: 700;
	margin: 0;
	color: #fff;
	font-family: "Noto Serif", serif;
}

.why-image-text h3 span {
	color: #f1b209;
}

@media (max-width: 1399.98px) {
 
	.why-image-text {
		max-width: 370px;
	}
 
}

@media (max-width: 1199.98px) {
 

	.why-icon-wrap {
		width: 74px;
		height: 74px;
		min-width: 74px;
	}

	.why-icon-wrap img {
		width: 40px;
		height: 40px;
	}

	.why-choose-image img {
		min-height: 500px;
	}

	.why-image-text {
		top: 26px;
		left: 26px; 
	}
	.why-image-text h3 {
		font-size: 32px;}
		.why-content h3 {
			font-size: 24px;}

}

@media (max-width: 991.98px) {
	.why-choose-image img {
		min-height: 440px;
	}

	.why-image-text {
		max-width: 360px;
	}

	 
}

@media (max-width: 767.98px) {
	.why-choose-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.why-choose-item {
		padding: 16px;
		border-radius: 14px;
		gap: 14px;
		align-items: flex-start;
	}

	.why-icon-wrap {
		width: 62px;
		height: 62px;
		min-width: 62px;
	}

	.why-icon-wrap img {
		width: 34px;
		height: 34px;
	}

 
	.why-content p {
		font-size: 18px;
		line-height: 1.5;
	}

	.why-choose-image {
		border-radius: 14px;
	}

	.why-choose-image img {
		min-height: 340px;
	}

	.why-image-text {
		top: 30px;
        left: 36px;
		right: 16px; 
		
	}

	.why-image-text h3 {
		font-size: 32px;
	}
}

/* ==========================================================================
   Service Areas Section
   ========================================================================== */
.service-areas-box {
	position: relative;
	border-radius: 28px;
	overflow: hidden;
	background: url(../images/servicearea-bg.jpg) no-repeat center center;
	background-size: cover;
	padding: 60px 0px;
	margin: 0 50px;
}

.service-areas-overlay {
	position: absolute;
	inset: 0;
	background: rgba(34, 28, 24, 0.42);
}

.service-areas-content {
	position: relative;
	z-index: 2;
}

.service-areas-section .main_title .subtitle {
	color: #f1b209;
}

.service-areas-section .main_title h2 {
	color: #fff;
	font-size: 48px; 
}

/* Note kept: this section follows h3=24 and p=18 */
.service-areas-section h3 {
	font-size: 24px;
	line-height: 1.3;
}

.service-areas-section p {
	font-size: 18px;
	line-height: 1.6;
}
.service-areas-tags a{text-decoration: none;}
.service-areas-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 16px;
	justify-content: center;
}
.service-areas-tags a:hover{background: #ef5507; color: #fff;}
.service-areas-section .main_title{margin-bottom: 40px;}
.area-tag {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	background: #fff;
	color: #3a3a3a;
	border-radius: 10px;
	padding: 0 0 0 18px;
	font-size: 18px;
	line-height: 1.1;
	font-weight: 700;
	min-height: 42px;
	font-family: "Noto Serif", serif;
}

.area-tag i {
	background: #ef5507;
	color: #fff;
	height: 42px;
	width: 34px;
	border-radius: 0 10px 10px 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
}

@media (max-width: 1199.98px) {
	.service-areas-section .main_title h2 {
		font-size: 52px;
	}
}

@media (max-width: 991.98px) {
	.service-areas-box {
		padding: 38px 20px;
		border-radius: 18px;
	}

	.service-areas-section .main_title h2 {
		font-size: 42px;
	}
}

@media (max-width: 767.98px) {
	.service-areas-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.service-areas-box {
		padding: 30px 14px;
		border-radius: 14px;
	}

	.service-areas-section .main_title .subtitle {
		font-size: 16px;
	}

	.service-areas-section .main_title h2 {
		font-size: 32px;
	}

	.area-tag {
		font-size: 14px;
		min-height: 40px;
		padding-left: 14px;
		gap: 10px;
	}

	.area-tag i {
		height: 40px;
		width: 32px;
	}
}

/* ==========================================================================
   Recent Work Section
   ========================================================================== */
.recent-work-section {
	padding-bottom: 50px;
}

.recent-work-slider .owl-stage {
	display: flex;
}

.recent-work-slider .owl-item {
	padding: 0 8px;
}

.work-item {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
}

.work-item img {
	width: 100%; 
	object-fit: cover;
	display: block;
}

.work-caption {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 12px;
	background: rgba(255, 255, 255, 0.86);
	border-radius: 10px;
	padding: 10px 14px;
	opacity: 0;
	transform: translateY(8px);
	transition: all 0.3s ease;
}

.work-caption h3 {
	font-size: 24px;
	line-height: 1.3;
	margin: 0;
	color: #111;
	font-family: "Noto Serif", serif;
}

.work-item.has-hover-caption:hover .work-caption {
	opacity: 1;
	transform: translateY(0);
}

.recent-work-slider .owl-dots { 
	text-align: center;
	display: block !important;
	position: relative;
	z-index: 5;
	margin-top: 35px !important;
	line-height: 0;
}

.recent-work-slider .owl-dots .owl-dot span {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #d9d9d9;
	margin: 0 5px;
	transition: all 0.3s ease;
	opacity: 1;
}

.recent-work-slider .owl-dots .owl-dot.active span {
	width: 34px;
	height: 10px;
	border-radius: 999px;
	background: #ef5507;
}

.recent-work-slider .owl-dots .owl-dot {
	display: inline-block;
}

.work-popup-trigger {
	display: block;
}

.recent-work-modal .modal-content {
	background: transparent;
	border: 0;
}

.recent-work-popup-inner {
	background: #101010;
	border-radius: 18px;
	padding: 12px 12px 16px;
	position: relative;
}

.popup-close-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.65);
	color: #fff;
	z-index: 5;
}

.recent-work-popup-slider .popup-slide img {
	width: 100%;
	height: min(80vh, 760px);
	object-fit: contain;
	border-radius: 12px;
	background: #0b0b0b;
}

.recent-work-popup-slider .owl-nav {
	margin-top: 12px;
	text-align: center;
}

.recent-work-popup-slider .owl-nav button.owl-prev,
.recent-work-popup-slider .owl-nav button.owl-next {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #ef5507 !important;
	color: #fff !important;
	margin: 0 6px;
	font-size: 18px !important;
}

.recent-work-popup-slider .owl-dots {
	margin-top: 10px;
}

@media (max-width: 1199.98px) {
	.work-item img {
		height: 330px;
	}
}

@media (max-width: 991.98px) {
	.work-item img {
		height: 360px;
	}
}

@media (max-width: 767.98px) {
	.recent-work-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.work-item img {
		height: 320px;
	}

	.work-caption h3 {
		font-size: 21px;
	}
}

/* ==========================================================================
   Testimonials Section
   ========================================================================== */
.testimonials-box {
	background: #f4efe3;
	border-radius: 26px;
	padding: 55px 26px 50px;
	margin: 0 50px;
}

.testimonial-slider .owl-item {
	padding: 0 8px;
}
.testimonial-user img{width: auto !important;}
.testimonial-item {
	background: #f1e9eb;
	border-radius: 16px;
	padding: 14px;
	height: 100%;
}

.testimonial-quote {
	background: #fff;
	border-radius: 22px;
	padding: 35px;
	position: relative;
}
.testimonial-quote:before{content: ""; background: url(../images/downarrow.png) no-repeat top; width: 22px; height: 22px; position: absolute; bottom: -22px; left: 50px;}

.quote-icon {
	color: #ef5507;
	font-size: 30px;
	line-height: 1;
	display: inline-block;
	margin-bottom: 6px;
}

.testimonial-quote p {
	font-size: 18px;
	line-height: 1.55;
	margin: 0;
	color: #1f1f1f;
	font-style: italic;
	font-weight: 600;
}

.testimonial-user {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 38px 6px 15px 58px;
}

.testimonial-user img {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	object-fit: cover;
}

.testimonial-user h3 {
	font-size: 18px;
	line-height: 1.25;
	margin: 0;
	color: #111;
	font-family: "Noto Serif", serif;
}

.testimonial-slider .owl-dots {
	margin-top: 14px;
	text-align: center;
	display: block !important;
}

.testimonial-slider .owl-dots .owl-dot span {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #d9d9d9;
	margin: 0 5px;
	transition: all 0.3s ease;
}

.testimonial-slider .owl-dots .owl-dot.active span {
	width: 34px;
	height: 10px;
	border-radius: 999px;
	background: #ef5507;
}

@media (max-width: 991.98px) {
	.testimonials-box {
		padding: 34px 16px 24px;
		border-radius: 18px;
	}
}

@media (max-width: 767.98px) {
	.testimonials-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}
	.testimonials-box{margin: 0 15px;}
	.testimonials-box {
		border-radius: 14px;
	}
	.testimonial-slider .owl-item {
		padding: 0;
	}

	.testimonial-user h3 {
		font-size: 22px;
	}
}




/* ==========================================================================
   FAQ + Estimate Section
   ========================================================================== */
 

.faq-accordion .accordion-item {
	border: 0;
	border-radius: 15px;
	overflow: hidden;
	background: #f9f3e3;
	margin-bottom: 15px;
}

.faq-accordion .accordion-button {
	background: #f9f3e3;
	font-size: 18px;
	line-height: 1.35;
	font-weight: 700;
	color: #181818;
	padding: 16px 25px;
	box-shadow: none !important;
}

.faq-accordion .accordion-button:not(.collapsed) {
	color: #d1663d;
	background: #f9f3e3;
}

.faq-accordion .accordion-button::after {
	display: none;
}

.faq-accordion .accordion-body {
	border-top: 1px solid #e6e1d2;
	padding: 20px 25px 20px;
	font-size: 16px;
	line-height: 1.55;
	color: #2a2a2a;
}

.estimate-form-box {
	background: #f1b209;
	border-radius: 40px;
	padding: 40px 50px;
	margin: 0 0 0 auto;
	max-width: 470px;
}

.estimate-form-box h3 {
	font-size: 36px;
	line-height: 1.25;
	margin: 0 0 4px;
	color: #111;
	text-align: center;
	font-family: "Noto Serif", serif;
	font-weight: bold;
}

.estimate-form-box p {
	font-size: 18px;
	line-height: 1.45;
	margin: 0 0 20px;
	color: #111;
	text-align: center;
	font-weight: 700;
}

.estimate-form .form-control,
.estimate-form .form-select {
	height: 48px;
	border: 0;
	border-radius: 8px;
	background: #ecddad;
	padding: 0 16px;
	margin-bottom: 12px;
	font-size: 18px;
	color: #212121;
	font-weight: bold;
	box-shadow: none;
	appearance: auto;
}

.estimate-form textarea.form-control {
	height: auto;
	padding: 12px 16px;
	resize: none;
}

.estimate-form .form-control::placeholder {
	color: #2e2e2e;
	opacity: 1;
}

.estimate-btn {
	width: 100%;
	border: 0;
	border-radius: 10px;
	background: #ed5125;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	padding: 14px 16px;
	font-family: "Noto Serif", serif;
}

.estimate-btn:hover {
	background: #000;
	color: #fff;
}

.estimate-btn i {
	padding-left: 8px;
}

@media (max-width: 991.98px) {
	.estimate-form-box {
		padding: 40px;
		border-radius: 20px;
	}
	.why-choose-image{margin: 0 auto;}
	.cta-wrap{text-align: center; padding: 75px 15px 30px 15px;}
	.cta-wrap .main_title{margin-bottom: 25px;}
	.services-section .main_title h2{margin-bottom: 0;}
	.services-section .main-btn{margin-bottom: 30px;}
}

@media (max-width: 767.98px) {
	.faq-estimate-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.faq-accordion .accordion-button {
		font-size: 20px;
	}

	.estimate-form .form-control,
	.estimate-form .form-select {
		font-size: 17px;
	}
}



.footer-section {
    background: #0c0c0c;
    color: #fff;
    padding: 60px 0 0;
}
 
.tagline {
    letter-spacing: 2px;
    font-size: 14px;
    color: #ddd;
}

.footer-title {
    color: #f1b209;
    font-weight: 600;
    margin-bottom: 20px;
}

.footer-links {
    list-style: none;
    padding: 0;
}

.footer-links li {
    margin-bottom: 10px;
    color: #ccc;
    font-size: 14px;
}

.footer-links li a {
    color: #ccc;
    text-decoration: none;
}

.footer-links li a:hover {
    color: #f1b209;
}

.contact-item {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
}

.contact-item i {
    color: #ed5125;
    font-size: 18px;
    margin-top: 5px;
}

.contact-item strong {
    display: block;
    font-size: 16px;
}

.contact-item a {
    margin: 0;
    font-size: 14px;
    color: #ccc;
	text-decoration: none;
}
.contact-item a:hover{color:#f1b209;}
.footer-bottom {
    background: #eaeaea;
    color: #777;
    padding: 15px 0; 
    font-size: 14px;
}
.footer-bottom a{text-decoration: none; color: #777;}
.footer-bottom a:hover{color: #ed5125;}

.footer-bottom p {
    margin: 0;
}



.page-title{padding: 70px 0 55px; margin-top: -134px;	background: url(../images/pagetitle-bg.jpg) no-repeat top; background-size: cover; text-align: center;}
.page-title h1{font-weight: bold; color: #fff; font-size: 48px; z-index: 9; position: relative;}




@media (max-width: 1200px) {
.cta-wrap h2{font-size: 32px;}
.cta-wrap{padding: 90px 15px 30px 15px;}
.main-btn a{font-size: 16px;}
.estimate-btn{font-size: 16px;}
.estimate-form .form-control, .estimate-form .form-select{font-size: 16px;}
.page-title{margin-top: -32px;}

}

@media (max-width: 990px) {
.estimate-form-box{max-width: inherit;}
.page-title {
    padding: 36px 0 30px;}
	.page-title h1{font-size: 36px;}
}


@media (max-width: 767px) {
.footer-bottom .d-flex{display: block !important; text-align: center;}
.why-content h3 {
    font-size: 20px;}
	.why-content p{font-size: 16px; line-height: 24px;}
}


@media (max-width: 480px) {
	.page-title h1 {
        font-size: 24px;
    }
	.page-title {
        margin-top: -22px;
    }
	.process-item h3 {
		font-size: 20px;}
		.value-card{text-align: center;}
	.faq-estimate-section, .recent-work-section{padding-top: 10px !important;}
	.cta-wrap{margin: -58px 15px 0 15px;}
	.service-areas-box{margin: 0 15px;}
	.service-areas-section .main_title h2 {
        font-size: 22px;
    }
	.why-image-text h3 {
        font-size: 23px;
    } 
	.why-content h3 {
        font-size: 18px;
    }
	.service-areas-tags{display: block;}
	.service-areas-tags a{display: flex; margin-bottom: 7px;}
	.main_title .subtitle{font-size: 16px;}
	.main_title h2 {
		font-size: 22px !important; line-height: 30px;
	}
	.testimonial-user h3 {
		font-size: 16px;
	}
	.faq-accordion .accordion-button {
		font-size: 17px;
	}
	.estimate-form-box h3 {
		font-size: 28px;
	}
	.estimate-form-box p {
		font-size: 16px;
		line-height: 24px;
	}
	.estimate-form .form-control, .estimate-form .form-select {
		font-size: 15px;
	}
	.estimate-btn{font-size: 16px;}
	
	
	}

/* ==========================================================================
   About Page
   ========================================================================== */
.about-intro-section,
.about-process-section {
	background: #ffffff;
}

.about-values-section {
	background: #f8f5ec;
}

.about-intro-image img {
	border-radius: 18px;
}

.about-text {
	font-size: 18px;
	line-height: 1.7;
	color: #2f2f2f;
	margin-bottom: 14px;
}

.value-card {
	background: #fff;
	border-radius: 16px;
	padding: 22px 18px;
	height: 100%;
	border: 1px solid #efe8d8;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.value-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 24px rgba(0, 0, 0, 0.08);
}

.value-icon {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #f1b209;
	color: #fff;
	font-size: 23px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}

.value-card h3 {
	font-size: 24px;
	line-height: 1.3;
	margin-bottom: 8px;
}

.value-card p {
	font-size: 18px;
	line-height: 1.55;
	margin: 0;
}

.process-item {
	display: flex;
	gap: 14px;
	background: #f8f5ec;
	border-radius: 14px;
	padding: 14px;
}

.process-item + .process-item {
	margin-top: 12px;
}

.process-item span {
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 50%;
	background: #ef5507;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: "Noto Serif", serif;
	font-weight: 700;
}

.process-item h3 {
	font-size: 24px;
	line-height: 1.3;
	margin: 0 0 5px;
}

.process-item p {
	font-size: 18px;
	line-height: 1.5;
	margin: 0;
}

.stat-card {
	background: #111;
	border-radius: 14px;
	padding: 18px 16px;
	color: #fff;
	text-align: center;
}

.stat-card h4 {
	font-size: 40px;
	color: #f1b209;
	line-height: 1;
	margin-bottom: 6px;
	font-family: "Noto Serif", serif;
}

.stat-card p {
	font-size: 18px;
	margin: 0;
	color: #fff;
}

.about-cta-section {
	background: #f8f5ec;
}

.about-cta-box {
	background: #111;
	border-radius: 24px;
	padding: 40px 24px;
}

.about-cta-box .main_title .subtitle {
	color: #f1b209;
}

.about-cta-box .main_title h2 {
	color: #fff;
}

.about-cta-box p {
	font-size: 18px;
	color: #e8e8e8;
	max-width: 760px;
	margin: 0 auto;
}

@media (max-width: 991.98px) {
	.about-cta-box {
		padding: 30px 16px;
		border-radius: 16px;
	}
}

@media (max-width: 767.98px) {
	.about-intro-section,
	.about-values-section,
	.about-process-section,
	.about-cta-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}
}

/* ==========================================================================
   Contact Page
   ========================================================================== */
.contact-info-section {
	background: #fff;
}

.contact-info-card {
	background: #f8f5ec;
	border-radius: 16px;
	padding: 20px 16px;
	height: 100%;
	text-align: center;
}

.contact-info-icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #f1b209;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	margin-bottom: 10px;
}

.contact-info-card h3 {
	font-size: 24px;
	line-height: 1.3;
	margin-bottom: 6px;
}

.contact-info-card p,
.contact-info-card a {
	font-size: 18px;
	line-height: 1.55;
	color: #2a2a2a;
	margin: 0;
	text-decoration: none;
}
.contact-info-card a:hover{color: #f1b209;}
.contact-main-section {
	background: #f3f3f3;
}

.contact-form-wrap,
.contact-side-box {
	background: #fff;
	border-radius: 20px;
	padding: 40px;
	border: 1px solid #ece6d8;
}

.contact-intro {
	font-size: 18px;
	line-height: 1.65;
	color: #313131;
	margin-bottom: 14px;
}

.contact-form .form-control,
.contact-form .form-select {
	border: 1px solid #e7dfcf;
	background: #f8f5ec;
	height: 50px;
	border-radius: 10px;
	padding: 0 15px;
	font-size: 18px;
	box-shadow: none;
	appearance: auto;
}
.contact-info-section .main_title h2, .contact-main-section .main_title h2{font-size: 38px;}
.contact-form textarea.form-control {
	height: auto;
	padding: 12px 15px;
	resize: none;
}

.contact-form .form-control::placeholder {
	color: #3a3a3a;
	opacity: 1;
}

.contact-submit-btn {
	background: linear-gradient(119deg, rgba(241, 178, 9, 1) 0%, rgba(233, 72, 8, 1) 100%);
	border: 0;
	border-radius: 12px;
	color: #fff;
	font-size: 18px;
	font-family: "Noto Serif", serif;
	font-weight: 700;
	padding: 13px 20px;
}

.contact-submit-btn:hover {
	color: #fff;
	background: linear-gradient(119deg, rgba(233, 72, 8, 1) 0%, rgba(241, 178, 9, 1) 100%);
}

.contact-check-list {
	padding: 0;
	margin: 0;
	list-style: none;
}

.contact-check-list li {
	font-size: 18px;
	line-height: 1.55;
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.contact-check-list li + li {
	margin-top: 9px;
}

.contact-check-list li i {
	color: #ef5507;
	margin-top: 5px;
}

.contact-side-note {
	margin-top: 20px;
	padding: 25px;
	border-radius: 12px;
	background: #111;
	color: #fff; 
	text-align: center;
}

.contact-side-note i {
	font-size: 48px;
	margin-bottom: 15px;
	color: #f1b209; 
}

.contact-side-note h3 {
	font-size: 24px;
	line-height: 1.3;
	margin: 0 0 4px;
	color: #fff;
}

.contact-side-note p {
	font-size: 18px;
	line-height: 1.5;
	margin: 0 0 4px;
	color: #e5e5e5;
	margin-bottom: 12px;
}

.contact-side-note a {
	font-size: 26px;
	color: #f1b209;
	text-decoration: none;
	font-weight: 700;
}
.contact-side-note a:hover{color: #fff;}
.contact-map-section {
	background: #f3f3f3;
}

.contact-map-box {
	border-radius: 18px;
	overflow: hidden;
	border: 2px solid #ece6d8;
}

.contact-map-box iframe {
	width: 100%;
	height: 410px;
	border: 0;
	display: block;
}

@media (max-width: 767.98px) {
	.contact-info-section,
	.contact-main-section,
	.contact-map-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}
	.contact-map-section{padding-top: 0 !important;}

	.contact-form .form-control,
	.contact-form .form-select,
	.contact-intro,
	.contact-check-list li,
	.contact-side-note p,
	.contact-side-note a,
	.contact-info-card p {
		font-size: 17px;
	}

	.contact-map-box iframe {
		height: 320px;
	}
}

/* ==========================================================================
   Blog Listing Page
   ========================================================================== */
.blog-listing-section {
	background: #f3f3f3;
}

.blog-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.blog-filter a {
	background: #fff;
	border: 1px solid #ece3d1;
	color: #222;
	text-decoration: none;
	padding: 8px 14px;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 700;
	font-family: "Noto Serif", serif;
	transition: all 0.25s ease;
}

.blog-filter a.active,
.blog-filter a:hover {
	background: #ef5507;
	border-color: #ef5507;
	color: #fff;
}

.blog-card {
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	height: 100%;
	border: 1px solid #ece6d8;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 24px rgba(0, 0, 0, 0.08);
}

.blog-card-img {
	display: block;
	overflow: hidden;
}

.blog-card-img img {
	width: 100%;
	height: 230px;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.blog-card:hover .blog-card-img img {
	transform: scale(1.06);
}

.blog-card-body {
	padding: 16px 16px 18px;
}

.blog-meta {
	font-size: 14px;
	color: #6b6b6b;
	margin-bottom: 8px;
	font-weight: 600;
}

.blog-meta span {
	color: #ef5507;
	margin: 0 5px;
}

.blog-card h3 {
	font-size: 24px;
	line-height: 1.32;
	margin-bottom: 8px;
}

.blog-card h3 a {
	text-decoration: none;
	color: #111;
}

.blog-card h3 a:hover {
	color: #ef5507;
}

.blog-card p {
	font-size: 18px;
	line-height: 1.6;
	color: #2f2f2f;
	margin-bottom: 10px;
}

.blog-read-more {
	text-decoration: none;
	color: #ef5507;
	font-size: 16px;
	font-family: "Noto Serif", serif;
	font-weight: 700;
}

.blog-read-more i {
	padding-left: 6px;
}

.blog-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.blog-pagination li a {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	text-decoration: none;
	color: #222;
	background: #fff;
	border: 1px solid #e6decc;
	font-family: "Noto Serif", serif;
	font-weight: 700;
}

.blog-pagination li a.active,
.blog-pagination li a:hover {
	color: #fff;
	background: #ef5507;
	border-color: #ef5507;
}

.blog-sidebar {
	position: sticky;
	top: 18px;
}

.sidebar-widget {
	background: linear-gradient(180deg, #fff 0%, #fdfaf3 100%);
	border: 1px solid #ece2cf;
	border-radius: 16px;
	padding: 30px;
	box-shadow: 0 8px 22px rgba(18, 22, 28, 0.05);
	position: relative;
	overflow: hidden;
}

.sidebar-widget + .sidebar-widget {
	margin-top: 16px;
}

.sidebar-widget::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #f1b209 0%, #ef5507 100%);
}

.sidebar-widget h3 {
	font-size: 24px; 
	margin-bottom: 20px;
	position: relative;
	padding-left: 14px;
}

.sidebar-widget h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 4px;
	height: 22px;
	border-radius: 2px;
	background: #ef5507;
}

.sidebar-search {
	position: relative;
}

.sidebar-search .form-control {
	background: #fff;
	border: 1px solid #e5ddca;
	border-radius: 10px;
	height: 46px;
	padding-right: 50px;
	padding-left: 14px;
	box-shadow: none;
	font-size: 16px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.sidebar-search .form-control:focus {
	border-color: #ef5507;
	box-shadow: 0 0 0 3px rgba(239, 85, 7, 0.1);
}

.sidebar-search button {
	position: absolute;
	top: 6px;
	right: 6px;
	border: 0;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	background: linear-gradient(145deg, #ef5507 0%, #f1b209 100%);
	color: #fff;
	transition: transform 0.2s ease;
}

.sidebar-search button:hover {
	transform: scale(1.05);
}

.sidebar-links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.sidebar-links li + li {
	margin-top: 8px;
}

.sidebar-links li a {
	text-decoration: none;
	color: #242424;
	font-size: 18px;
	display: flex;
	justify-content: space-between;
	gap: 8px;
	align-items: center;
	background: #fff;
	border: 1px solid #eee6d7;
	border-radius: 10px;
	padding: 10px 12px;
	transition: all 0.25s ease;
}

.sidebar-links li a span {
	min-width: 28px;
	height: 28px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 700;
	background: #f8f5ec;
	color: #5c5c5c;
}

.sidebar-links li a:hover {
	color: #ef5507;
	border-color: #ef5507;
	transform: translateX(3px);
}

.sidebar-links li a:hover span {
	background: #ef5507;
	color: #fff;
}

.recent-post-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.recent-post-list li {
	display: flex;
	gap: 10px;
}

.recent-post-list li + li {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #eee6d7;
}

.recent-post-list img {
	width: 74px;
	height: 58px;
	object-fit: cover;
	border-radius: 8px;
}

.recent-post-list a {
	display: block;
	text-decoration: none;
	font-size: 16px;
	line-height: 1.45;
	color: #151515;
	font-family: "Noto Serif", serif;
	font-weight: 700;
}

.recent-post-list a:hover {
	color: #ef5507;
}

.recent-post-list span {
	font-size: 13px;
	color: #777;
}

.sidebar-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.sidebar-tags a {
	font-size: 14px;
	text-decoration: none;
	background: #f8f5ec;
	border: 1px solid #e8dfcd;
	color: #232323;
	border-radius: 999px;
	padding: 6px 11px;
}

.sidebar-tags a:hover {
	background: #ef5507;
	border-color: #ef5507;
	color: #fff;
}

.blog-card-item.blog-filter-animate {
	animation: blogFilterFade 0.35s ease;
}

@keyframes blogFilterFade {
	0% {
		opacity: 0;
		transform: translateY(12px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 767.98px) {
	.blog-listing-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.blog-card h3 {
		font-size: 22px;
	}

	.blog-card p {
		font-size: 17px;
	}

	.sidebar-widget h3 {
		font-size: 22px;
	}

	.sidebar-links li a {
		font-size: 17px;
	}
}

/* ==========================================================================
   Blog Detail Page
   ========================================================================== */
.blog-detail-section {
	background: #f3f3f3;
}

.blog-detail-content {
	background: #fff;
	border: 1px solid #ece6d8;
	border-radius: 16px;
	padding: 24px; 
}

.blog-detail-meta {
	font-size: 14px;
	color: #6e6e6e;
	font-weight: 600;
	margin-bottom: 8px;
}

.blog-detail-meta span {
	color: #ef5507;
	margin: 0 5px;
}

.blog-detail-content h2 {
	font-size: 42px;
	line-height: 1.2;
	margin-bottom: 14px;
}

.blog-detail-content h3 {
	font-size: 24px;
	line-height: 1.35;
	margin: 16px 0 10px;
}

.blog-detail-content img {
	width: 100%;
	border-radius: 14px;
	margin-bottom: 16px;
}

.blog-detail-content p,
.blog-detail-content li {
	font-size: 18px;
	line-height: 1.65;
	color: #2d2d2d;
}

.blog-detail-content ul {
	list-style: none;
	padding-left: 0;
	margin: 8px 0 14px;
}

.blog-detail-content ul li {
	position: relative;
	padding-left: 30px;
	margin-bottom: 10px;
}

.blog-detail-content ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #f1b209;
	box-shadow: inset 0 0 0 4px #fff;
	border: 2px solid #ef5507;
}

.blog-detail-content blockquote {
	background: #f8f5ec;
	border-left: 4px solid #ef5507;
	border-radius: 10px;
	padding: 14px 16px;
	font-size: 18px;
	line-height: 1.6;
	font-style: italic;
	font-family: "Noto Serif", serif;
	margin: 16px 0;
}

@media (max-width: 1199.98px) {
	.blog-detail-content {
		padding-right: 24px;
	}

	.blog-detail-content h2 {
		font-size: 36px;
	}
}

@media (max-width: 767.98px) {
	.blog-detail-section {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.blog-detail-content {
		padding: 18px 14px;
	}

	.blog-detail-content h2 {
		font-size: 30px;
	}
}

/* ==========================================================================
   Services Page
   ========================================================================== */
.services-page-intro {
	background: #ffffff;
}

.services-page-text {
	font-size: 18px;
	line-height: 1.7;
	color: #2f2f2f;
	margin: 0;
}

.services-page-badges {
	display: grid;
	gap: 12px;
}

.sp-badge {
	background: #f8f5ec;
	border: 1px solid #eee6d7;
	border-radius: 16px;
	padding: 14px;
	display: flex;
	gap: 12px;
	align-items: center;
}

.sp-badge i {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: linear-gradient(145deg, #ef5507 0%, #f1b209 100%);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}

.sp-badge h3 {
	font-size: 24px;
	line-height: 1.25;
	margin: 0 0 2px;
}

.sp-badge p {
	font-size: 18px;
	line-height: 1.45;
	margin: 0;
	color: #2f2f2f;
}

.services-page-list {
	background: #f3f3f3;
}

.service-tile {
	background: #fff;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid #ece6d8;
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 26px rgba(0, 0, 0, 0.08);
}

.service-tile-img {
	position: relative;
}

.service-tile-img img {
	width: 100%;
	height: 210px;
	object-fit: cover;
	display: block;
	transition: transform 0.45s ease;
}

.service-tile:hover .service-tile-img img {
	transform: scale(1.05);
}

.service-tile-img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(17, 17, 17, 0.45) 0%, rgba(17, 17, 17, 0.06) 60%, rgba(17, 17, 17, 0) 100%);
}

.service-tile-icon {
	position: absolute;
	right: 14px;
	bottom: -18px;
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: #f1b209;
	color: #111;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	z-index: 2;
	box-shadow: 0 12px 22px rgba(0, 0, 0, 0.15);
	transition: transform 0.3s ease, background 0.3s ease;
}

.service-tile:hover .service-tile-icon {
	transform: translateY(-2px) rotate(-6deg);
	background: #ef5507;
	color: #fff;
}

.service-tile-body {
	padding: 26px 18px 18px;
}

.service-tile-body h3 {
	font-size: 24px;
	line-height: 1.3;
	margin-bottom: 8px;
}

.service-tile-body p {
	font-size: 18px;
	line-height: 1.6;
	color: #2f2f2f;
	margin-bottom: 10px;
}

.service-tile-body ul {
	list-style: none;
	padding: 0;
	margin: 0 0 14px;
}

.service-tile-body li {
	position: relative;
	padding-left: 26px;
	font-size: 18px;
	line-height: 1.55;
	color: #2f2f2f;
}

.service-tile-body li + li {
	margin-top: 6px;
}

.service-tile-body li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #f1b209;
	box-shadow: inset 0 0 0 4px #fff;
	border: 2px solid #ef5507;
}

.service-tile-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	font-family: "Noto Serif", serif;
	font-weight: 700;
	color: #ef5507;
	font-size: 16px;
}

.service-tile-btn:hover {
	color: #111;
}

.services-page-cta {
	background: #ffffff;
}

.services-cta-box {
	background: #111;
	border-radius: 24px;
	padding: 40px 22px;
}

.services-cta-box .main_title .subtitle {
	color: #f1b209;
}

.services-cta-box .main_title h2 {
	color: #fff;
}

.services-cta-box p {
	font-size: 18px;
	line-height: 1.6;
	color: #e8e8e8;
	max-width: 760px;
	margin: 0 auto;
}

@media (max-width: 991.98px) {
	.service-tile-img img {
		height: 230px;
	}
}

@media (max-width: 767.98px) {
	.services-page-intro,
	.services-page-list,
	.services-page-cta {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.service-tile-body {
		padding: 26px 14px 16px;
	}

	.service-tile-body p,
	.service-tile-body li,
	.services-page-text,
	.sp-badge p {
		font-size: 17px;
	}
}
	

@media (max-width: 480px) {
	.contact-form-wrap, .contact-side-box{padding: 25px 20px;}
	.blog-detail-content h2 {
        font-size: 22px;
    }
}

@media (max-width: 320px) {
.about-cta-section .main-btn a{padding: 14px 18px; font-size: 14px;}
.page-title {
	margin-top: -18px;
}

}

/* ==========================================================================
   Service Detail Page
   ========================================================================== */
.service-detail-hero {
	background: url(../images/interior-extreior-painting.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
	margin-top: -120px;
	padding: 130px 0 50px;
	overflow: hidden;
	text-align: center;
}

.service-detail-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(17, 17, 17, 0.58);
}

.service-detail-hero-inner {
	position: relative;
	z-index: 2;
	color: #fff; 
}
.detailimg img{border-radius: 15px;}
.service-detail-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: rgba(241, 178, 9, 0.95);
	color: #111;
	font-weight: 800;
	padding: 10px 14px;
	border-radius: 999px;
	margin-bottom: 14px;
	font-family: "Noto Serif", serif;
}

.service-detail-badge i {
	color: #111;
}

.service-detail-hero h1 {
	font-size: 64px;
	line-height: 1.02;
	font-family: "Noto Serif", serif;
	margin-bottom: 14px;
}

.service-detail-hero p {
	font-size: 18px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.92);
	margin-bottom: 18px;
}

.service-detail-section {
	background: #f3f3f3;
}

.service-detail-content {
	background: #fff;
	border-radius: 18px;
	padding: 28px 24px;
	border: 1px solid #ece6d8;
}

.service-detail-content h2 {
	font-size: 42px;
	font-family: "Noto Serif", serif;
	margin-bottom: 12px;
}

.service-detail-content p {
	font-size: 18px;
	line-height: 1.7;
	color: #2a2a2a;
}

.service-detail-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin: 18px 0 16px;
}

.detail-check {
	display: flex;
	gap: 14px;
	background: #f8f5ec;
	border: 1px solid #ece6d8;
	border-radius: 14px;
	padding: 16px 14px;
}

.detail-check i {
	color: #ef5507;
	font-size: 22px;
	margin-top: 4px;
}

.detail-check h3 {
	font-size: 22px;
	margin-bottom: 4px;
	font-family: "Noto Serif", serif;
}

.detail-check p {
	font-size: 17px;
	margin: 0;
}

.service-detail-content ul {
	padding-left: 0;
	list-style: none;
}

.service-detail-list li {
	position: relative;
	padding-left: 26px;
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 1.6;
	color: #2a2a2a;
}

.service-detail-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #f1b209;
	box-shadow: inset 0 0 0 4px #fff;
	border: 2px solid #ef5507;
}

.service-detail-sidebar {
	position: sticky;
	top: 18px;
}

.service-side-card {
	background: #fff;
	border: 1px solid #ece6d8;
	border-radius: 18px; 
	margin-bottom: 20px;
}

.service-side-card h3 {
	font-size: 24px;
	margin-bottom: 14px;
	font-family: "Noto Serif", serif;
	margin-bottom: 20px;
}

.side-bullets {
	padding: 0;
	margin: 0;
	list-style: none;
}

.side-bullets li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 16px;
	line-height: 1.55;
	color: #2a2a2a;
	margin-bottom: 10px;
}

.side-bullets i {
	color: #f1b209;
	margin-top: 2px;
}

.side-bullets span {
	font-weight: 800;
	color: #111;
}

.side-tags {
	list-style: none;
	padding: 0;
	margin: 0;
}

.side-tags li {
	font-size: 16px;
	line-height: 1.6;
	color: #2a2a2a;
	margin-bottom: 10px;
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.side-tags i {
	color: #ef5507;
	margin-top: 2px;
}

.related-services-section {
	background: #fff;
}

.related-service-card {
	display: block;
	background: #fff;
	border: 1px solid #ece6d8;
	border-radius: 18px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.related-service-card img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	transition: transform 0.45s ease;
}

.related-service-body {
	padding: 18px 16px 18px;
}

.related-service-body h3 {
	font-size: 24px;
	font-family: "Noto Serif", serif;
	margin-bottom: 8px;
}

.related-service-body p {
	font-size: 18px;
	line-height: 1.6;
	color: #2a2a2a;
	margin-bottom: 12px;
}

.related-service-link {
	color: #ef5507;
	font-family: "Noto Serif", serif;
	font-weight: 800;
	text-decoration: none;
}

.related-service-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 26px rgba(0, 0, 0, 0.08);
}

.related-service-card:hover img {
	transform: scale(1.05);
}

@media (max-width: 1199.98px) {
	.service-detail-hero {
		padding: 190px 0 85px;
	}

	.service-detail-hero h1 {
		font-size: 52px;
	}
}

@media (max-width: 991.98px) {
	.service-detail-hero {
		padding: 150px 0 70px;
	}

	.service-detail-content h2 {
		font-size: 34px;
	}

	.service-detail-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.service-detail-hero {
		padding: 125px 0 60px;
		margin-top: -18px;
	}

	.service-detail-hero h1 {
		font-size: 30px;
	}

	.service-detail-hero p {
		font-size: 15px;
	}

	.service-detail-content {
		padding: 18px 14px;
	}

	.service-detail-sidebar {
		position: static;
	}

	.related-service-card img {
		height: 200px;
	}
}
