/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant:wght@400;500;700&display=swap');

/* Reset CSS */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html,
body {
  scroll-behavior: smooth;
}
body {
  font-family: "Poppins", sans-serif;
  font-size: 1rem; /* Responsive typography */
  line-height: 1.6;
  font-weight: 400;
  background-color: var(--smoky-black);
  color: var(--white-color);
}

ul {
  list-style: none;
}
a {
  text-decoration: none;
  transition: 0.3s ease-in-out;
}
img {
  max-width: 100%;
  vertical-align: middle;
  height: auto;
}

/* Color Variables */
:root {
  --dark-gray: #1f1d1c;
  --white-color: #fff;
  --smoky-black: #160c00;
  --dark-orange: #ab5d00;
  --gray:#ddd;
  --dark-opacity: rgba(39, 26, 11, 0.5);
  --primary-spacing: 10px;
  --secondary-spacing: 30px;
  --large-spacing: 50px;
}

/* Container */
.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 15px;
}

/* Responsive Grid System */
.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
[class*="col-"] {
  padding: 0 15px;
}

.col-1 {
  width: 8.33%;
}
.col-2 {
  width: 16.66%;
}
.col-3 {
  width: 25%;
}
.col-4 {
  width: 33.33%;
}
.col-5 {
  width: 41.66%;
}
.col-6 {
  width: 50%;
}
.col-7 {
  width: 58.33%;
}
.col-8 {
  width: 66.66%;
}
.col-9 {
  width: 75%;
}
.col-10 {
  width: 83.33%;
}
.col-11 {
  width: 91.66%;
}
.col-12 {
  width: 100%;
}

/* Responsive Columns */
@media (max-width: 992px) {
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-12 {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .col-md-12 {
    width: 100%;
  }
  

}
@media (max-width: 576px) {
  .col-sm-12 {
    width: 100%;
  }
}

/* Flexbox Utilities */
.d-flex {
  display: flex;
}
.justify-content-center {
  justify-content: center;
}
.justify-content-between {
  justify-content: space-between;
}
.justify-content-end {
  justify-content: flex-end;
}
.align-items-center {
  align-items: center;
}
.align-items-start {
  align-items: flex-start;
}
.align-items-end {
  align-items: flex-end;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-column {
  flex-direction: column;
}

/* Background Cover */
.cover {
  background-position: center;
  background-size: cover;
  height: 100vh;
  width: 100%;
}

/* Background Overlay */
.bg-opacity {
  position: relative;
  z-index: 1;
}
.bg-opacity::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--dark-opacity);
  z-index: -1;
}

/* Position Utilities */
.position-relative {
  position: relative;
}
.position-absolute {
  position: absolute;
}
.top-0 {
  top: 0;
}
.bottom-0 {
  bottom: 0;
}

/* Spacing Utilities (Using Variables) */
.pt-small {
  padding-top: var(--primary-spacing);
}
.pt-medium {
  padding-top: var(--secondary-spacing);
}
.pt-large {
  padding-top: var(--large-spacing);
}

.pb-small {
  padding-bottom: var(--primary-spacing);
}
.pb-medium {
  padding-bottom: var(--secondary-spacing);
}
.pb-large {
  padding-bottom: var(--large-spacing);
}

.mt-small {
  margin-top: var(--primary-spacing);
}
.mt-medium {
  margin-top: var(--secondary-spacing);
}
.mt-large {
  margin-top: var(--large-spacing);
}

.mb-small {
  margin-bottom: var(--primary-spacing);
}
.mb-medium {
  margin-bottom: var(--secondary-spacing);
}
.mb-large {
  margin-bottom: var(--large-spacing);
}

/* Typography Utilities */
.text-center {
  text-align: center;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-white {
  color: var(--white-color);
}
.text-dark-gray {
  color: var(--dark-gray);
}
.text-regular {
  font-weight: 400;
}
.text-medium {
  font-weight: 500;
}
.text-bold {
  font-weight: 700;
}

/* Text Shadow */
.text-shadow {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
/* Common Css  */

.section-title span {
  font-size: 18px;
  line-height: 32px;
  font-weight: 400;
  font-style: italic;
  color: var(--dark-orange);
}
.section-title h4 {
  font-size: 56px;
  line-height: 65px;
  font-weight: 400;
  font-family: comorant;
  font-style: italic;
  position: relative;
  margin-bottom: 20px;
}
.section-title h4:after {
  content: "";
  position: absolute;
  background: var(--dark-orange);
  width: 41px;
  height: 4px;
  bottom: -10px;
  left: 47%;
  transform: translate(50%,-50%);
}
.sticky {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  background-color: var(--dark-gray); 
}
/* Preloader */
#preloader {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background-color: var(--white-color);
  display: flex;
  justify-content: center;
  align-items: center;
}

.loader {
  border: 16px solid var(--white-color);
  border-radius: 50%;
  border-top: 16px solid #3498db;
  width: 20px;
  height: 20px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Scroll to Top Button */
#scrollToTopBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  font-size: 18px;
  border: none;
  outline: none;
  background-color: var(--dark-orange);
  color: var(--white-color);
  cursor: pointer;
  padding: 5px;
  border-radius: 4px;
}

#scrollToTopBtn:hover {
  background-color: var(--dark-gray);
}
/* Toggle btn  */
.toggle-btn{
  display: none;
}
.close-btn {
  display: none;
}

/*  Header Area */
.header-area {
  position: absolute;
  width: 100%;
  z-index: 1000;
}

.header-top {
  border-bottom: 1px solid var(--gray);
  padding: 10px 0;
}
.header-info a,
.header-social a {
  display: inline-block;
  font-size: 16px;
  color: var(--white-color);
  opacity: 0.6;
}
.header-info a {
  margin-right: 10px;
}
.header-social a {
  margin-left: 10px;
}
.header-info a:hover,
.header-social a:hover,
.navbar ul li a:hover {
  opacity: 1;
}
.headers{
  padding: 20px 0;
}
.navbar ul li {
  margin-right: 13px;
}
.navbar ul li a {
  display: inline-block;
  font-size: 17px;
  text-transform: capitalize;
  color: var(--white-color);
  font-family: cormor;
  opacity: .6;
}
 
/* Hero area  */
.hero-text {
	width: 800px;
  padding-top: 100px;
}
.hero-text h1 {
  font-size: 80px;
  line-height: 89px;
  font-weight: 400;
  font-family: comorant;
}
.hero-text p {
  font-size: 22px;
  line-height: 35px;
  margin: 14px 0;
  opacity: 0.7;
}


.btn,.bg-btn {
  display: inline-block;
  font-size: 17px;
  color: var(--white-color);
  padding: 9px 14px;
  border: 2px solid var(--dark-orange);
  text-transform: capitalize;
  font-weight: 500;
  border-radius: 23px;
  margin: 10px;
}
.bg-btn {
  background: var(--dark-orange);
  border-radius: 5px;
}
.bg-btn:hover {
  background: transparent;
  border: 2px solid var(--dark-orange);
}
.btn:hover {
  background: var(--dark-orange);
  border: 2px solid transparent;
}

/* philosophy area  */
.philosophy-area {
  padding: 100px 0;
  background: var(--dark-gray);
}


/* About Area */

.about-area {
	padding: 100px 0;
	/* background: #1f1d1c; */
}

.about-text span,
.philosophy-text span {
  font-size: 17px;
  color: var(--dark-orange);
  font-style: italic;
  line-height: 32px;
}
.about-text h2,
.philosophy-text h2 {
  font-size: 56px;
  line-height: 68px;
  margin: 22px 0;
  font-family: comorant;
  font-weight: 400;
  font-style: italic;
}
.about-text p,
.philosophy-text p {
  font-size: 18px;
  line-height: 30px;
   margin-bottom: 30px;
  opacity: 0.7;
}

.counters li span {
  font-size: 45px;
  font-weight: 700;
}
.counters li p {
  font-size: 15px;
}

/* Services Area */
.services-area {
  padding: 100px 0;
  background: #1f1d1c;

}
.services-box {
  background: #2b2927;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 20px;
}
.services-icon {
  display: inline-block;
  padding: 20px;
  background: var(--dark-orange);
  border-radius: 50%;
  text-align: center;
  opacity: 0.5;
  transition: .3s;
}
.services-box h4 {
  font-size: 41px;
  line-height: 51px;
  font-weight: 500;
  font-family: comorant;
  margin: 20px 0;
  color: var(--white-color);
}
.services-box p {
  font-size: 17px;
  line-height: 30px;
  opacity: 0.6;
  padding: 20px;
  transition: .3s;
}
.services-box:hover p {
  opacity: 1;
}
.services-box:hover .services-icon {
  opacity: 1;
}

/* Projects  */
.projects-area {
	padding: 100px 0;
}


.project-card {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  margin: 10px 0;
}

/* Background Overlay */
.project-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* Dark Overlay */
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

/* Hover Effect on Card */
.project-card:hover::before {
  opacity: 1;
}

/* Button Overlay */
.overlay {
  position: absolute;
  bottom: -100%; /* Start completely hidden */
  opacity: 0;
  text-align: center;
  transition: all 0.4s ease-in-out;
}

.overlay a {
  display: inline-block;
  font-size: 16px;
  text-transform: capitalize;
  color: var(--dark-gray);
  padding: 6px 10px;
  background: var(--dark-orange);
  border-radius: 6px;
  text-decoration: none;
  transition:  0.3s ease-in-out;
}
.overlay a:hover{
  color: var(--white-color);
}
.overlay p {
	font-size: 23px;
	line-height: 36px;
	font-family: comrant;
	font-weight: 400;
}
/* Hover Effect */
.project-card:hover .overlay {
  bottom: 105px; /* Adjusted to be visible */
  opacity: 1;
}
/* contact  */
/* Contact Area */
.contact-area {
  padding: 100px 0;
  background: var(--dark-gray);
  color: var(--white-color);
}

.contact-info h4 {
  font-size: 36px;
  line-height: 46px;
  font-weight: 500;
  font-family: comorant;
  margin-bottom: 20px;
}

.contact-info p {
  font-size: 18px;
  line-height: 30px;
  opacity: 0.7;
  margin-bottom: 20px;
}

.contact-info ul {
  list-style: none;
  padding: 0;
}

.contact-info ul li {
  font-size: 18px;
  line-height: 30px;
  margin-bottom: 10px;
}

.contact-info ul li i {
  margin-right: 10px;
  color: var(--dark-orange);
}

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

.contact-form .form-control {
  width: 100%;
  padding: 10px;
  border: 1px solid var(--gray);
  border-radius: 5px;
  background: #2b2927;
  color: var(--white-color);
}

.contact-form .form-control::placeholder {
  color: var(--gray);
}

.contact-form .bg-btn {
  display: inline-block;
  font-size: 17px;
  color: var(--white-color);
  padding: 10px 20px;
  border: 2px solid var(--dark-orange);
  background: var(--dark-orange);
  border-radius: 5px;
  text-transform: capitalize;
  font-weight: 500;
  transition:  0.3s ease-in-out;
}

.contact-form .bg-btn:hover {
  background: transparent;
  color: var(--dark-orange);
}

/* footer  */
.footer-area{
  padding: 80px 20px 0;
  background: var(--smoky-black);
  color: var(--white-color);
}


.footer-about img {
  max-width: 150px;
  margin-bottom: 20px;
}

.footer-about p {
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 20px;
  opacity: 0.7;
}

.footer-about a {
  display: block;
  font-size: 16px;
  color: var(--white-color);
  margin-bottom: 10px;
  opacity: 0.7;
}

.footer-about a i {
  margin-right: 10px;
}

.footer-links h4,
.footer-services h4,
.footer-social h4 {
  font-size: 24px;
  margin-bottom: 20px;
  font-weight: 500;
  color: var(--white-color);
}

.footer-links ul,
.footer-services ul {
  list-style: none;
  padding: 0;
}

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

.footer-links ul li a,
.footer-services ul li a {
  font-size: 16px;
  color: var(--white-color);
  opacity: 0.7;
  transition: opacity 0.3s ease-in-out;
}

.footer-links ul li a:hover,
.footer-services ul li a:hover {
  opacity: 1;
}

.footer-social .social-links a {
  display: inline-block;
  font-size: 20px;
  color: var(--white-color);
  margin-right: 10px;
  opacity: 0.7;
  transition: opacity 0.3s ease-in-out;
}

.footer-social .social-links a:hover {
  opacity: 1;
}

.footer-bottom {
  padding: 20px  0;
  /* background: var(--dark-gray); */
  color: var(--white-color);
  border-top: 1px solid var(--gray);
}

.footer-bottom p {
  margin: 0;
  font-size: 14px;
  opacity: 0.7;
}

.footer-bottom a {
  color: var(--dark-orange);
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}

.footer-bottom a:hover {
  color: var(--white-color);
}