*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  scroll-behavior:smooth;
  text-decoration: none;
} 

body {
  font-family: 'Poppins', sans-serif;
}

/* =========================== NAVBAR ============================= */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.3rem 6%;
  background: #fdfcf9;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 8px 25px rgba(0,0,0,0.05);
}

.logo {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2rem;
}

.logo img{
  height: 4rem;

}

.nav-links {
  display: flex;
  gap: 2.2rem;
}

.nav-links a {
  color: #7a7a7a;
  font-weight: 500;
  position: relative;
  padding-bottom: 5px;
}

.nav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: #2c1801;
  transition: .3s;
}

.nav-links a:hover {
  color: #4a4a4a;
}

.nav-links a:hover::after,
.nav-links a.active::after {
  width: 100%;
}

.menu-toggle {
  display: none;
  font-size: 1.8rem;
  color: #4a4a4a;
  cursor: pointer;
}

/*==================== Floating Buttons =====================*/

.floating-buttons{
position:fixed;
right:5px;
bottom:30px;
display:flex;
flex-direction:column;
gap:2px;
z-index:999;
}

.call-btn,
.whatsapp-btn,
.insta-btn{
width:55px;
height:55px;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
color:white;
border-radius:50%;
box-shadow:0 6px 20px rgba(0,0,0,0.25);
transition:.4s;
}

.call-btn{
background:#19d9b9;
}

.whatsapp-btn{
background:#25D366;
}

.insta-btn {
  background: palevioletred;
}

.call-btn:hover{
transform:translateY(-5px);
background:#b8962e;
}

.whatsapp-btn:hover{
transform:translateY(-5px);
background:#1ebe5d;
}

@media(max-width:600px){

.call-btn,
.whatsapp-btn,
.insta-btn{
width:48px;
height:48px;
font-size:18px;
}

}

/* ================= Hero Banner ================= */

.hero {
    width: 100%;
}

img {
  width: 100%;
  /* height: 100%; */
}

/* ================= ABOUT ================= */
.about{
  padding:120px 8%;
  background:#fff;
}

.about-container{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.about-images{
  position:relative;
}

.main-img{
  width:100%;
  height:650px;
  object-fit:cover;
  border-radius:25px;
}

.small-img{
  position:absolute;
  width:220px;
  height:260px;
  object-fit:cover;
  border-radius:20px;
  right:-40px;
  bottom:50px;
  border:8px solid #fff;
  box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.experience-card{
  position:absolute;
  left:-30px;
  bottom:80px;
  background: #2c1801;
  padding:25px 35px;
  border-radius:20px;
  text-align:center;
  box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.experience-card h2{
  color: #c9a46c;
  font-size:3rem;
  margin-bottom:5px;
}

.experience-card span{
  color:#fff;
  font-size:14px;
}

.section-tag{
  color: #4d2a04;
  letter-spacing:3px;
  text-transform:uppercase;
  font-weight:600;
}

.about-content h2{
  font-size:3.5rem;
  line-height:1.2;
  margin:20px 0;
  color: #1f1a17;
  font-family:'Playfair Display',serif;
}

.about-content p{
  color:#666;
  line-height:1.9;
  margin-bottom:18px;
}

.about-features{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin:35px 0;
}

.feature{
  display:flex;
  align-items:center;
  gap:10px;
}

.feature i{
  color: #c9a46c;
  font-size:18px;
}

.feature span{
  color:#333;
  font-weight:500;
}

.btn{
  display:inline-block;
  padding:14px 35px;
  background:#2c1801;
  color:#fff;
  border-radius:50px;
  transition:.4s;
}

.btn:hover{
  transform:translateY(-5px);
}

.btn-outline{
  background:transparent;
  border:2px solid #fff;
}

/* ================= SERVICES ================= */
.services{
  padding:120px 8%;
  background:#fdf9f5;
}

.services-heading{
  text-align:center;
  max-width:750px;
  margin:auto;
  margin-bottom:60px;
}

.services-heading span{
  color: #4d2a04;
  letter-spacing:3px;
  text-transform:uppercase;
  font-weight:600;
}

.services-heading h2{
  font-size:3.5rem;
  margin:15px 0;
  color:var(--dark);
  font-family:'Playfair Display', serif;
}

.services-heading p{
  color:#666;
  line-height:1.8;
}

.services-container{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
}

.service-card{
  position:relative;
  overflow:hidden;
  border-radius:25px;
  height:450px;
  cursor:pointer;
}

.service-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.6s;
}

.service-card:hover img{
  transform:scale(1.1);
}

.service-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
  to top,
  rgba(0,0,0,.85),
  rgba(0,0,0,.2));
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:30px;
}

.service-overlay span{
  color: #c9a46c;
  font-size:3rem;
  font-weight:700;
  margin-bottom:10px;
}

.service-overlay h3{
  color:#fff;
  font-size:1.8rem;
  margin-bottom:10px;
  font-family:'Playfair Display', serif;
}

.service-overlay p{
  color:#ddd;
  line-height:1.7;
}

/* ================= OUR WORK ================= */
.work-section{
padding:80px 8%;
background:#f7f7f7; 
}

.work-container{
max-width:1200px;
margin:auto;
}

.work-heading{
text-align:center;
margin-bottom:50px;
}

.work-heading h2{
font-family:'Playfair Display', serif;
font-size:38px;
color: #2c1801;
margin-bottom:10px;
}

.work-heading p{
color:#5C4033;
font-size:15px;
}

.work-gallery{
display:grid;
grid-template-columns:repeat(6,1fr);
gap:15px;
}

.work-img{
overflow:hidden;
border-radius:10px;
animation:fadeUp 1s ease forwards;
}

.work-img img{
width:100%;
height:240px;
border-radius:8px;
transition:0.4s;
}

.work-img:hover img{
transform:scale(1.1);
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(30px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* ================= WHY CHOOSE US ================= */

.why-choose{
  padding:80px 8%;
  background:#FFF8F2;
  text-align:center;
}

.section-title{
  font-family:'Playfair Display', serif;
  font-size:40px;
  color:#4d2a04;
  margin-bottom:15px;
}

.section-subtitle{
  color:#5C4033;
  max-width:600px;
  margin:0 auto 50px;
  font-size:16px;
}

.cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
}

.card{
  background:#ffffff;
  padding:35px 25px;
  border-radius:15px;
  box-shadow:0 8px 25px rgba(0,0,0,0.05);
  transition:0.4s ease;
}

.card i{
  font-size:35px;
  color:#4d2a04;
  margin-bottom:20px;
}

.card h3{
  font-size:20px;
  margin-bottom:15px;
  color:#834605;
}

.card p{
  font-size:14px;
  color:#5C4033;
  line-height:1.6;
}

.card:hover{
  transform:translateY(-8px);
  box-shadow:0 15px 35px rgba(0,0,0,0.08);
}

/* ================= CONTACT US ================= */
.contact{
padding:120px 8%;
background:white;
}

.contact-container{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:60px;
flex-wrap:wrap;
}

.contact-info{
flex:1;
min-width:300px;
}

.contact-info h2{
font-family:'Playfair Display',serif;
font-size:46px;
margin-bottom:20px;
}

.contact-info h2 span{
color:#4d2a04;
}

.contact-info p{
color:#666;
margin-bottom:35px;
line-height:1.8;
}

.contact-details div{
margin-bottom:20px;
font-size:16px;
color:#444;
}

.contact-details span{
color:#4d2a04;
font-weight:600;
margin-right:8px;
}

.contact-form{
flex:1;
min-width:300px;
background:#fffaf4;
padding:45px 35px;
border-radius:30px;
box-shadow:0 12px 40px rgba(0,0,0,0.08);
}

.contact-form input,
.contact-form textarea{
width:100%;
padding:15px 18px;
margin-bottom:20px;
border:none;
border-radius:40px;
font-size:15px;
background:white;
box-shadow:0 4px 15px rgba(0,0,0,0.05);
}

.contact-form textarea{
height:130px;
border-radius:20px;
resize:none;
}

.contact-btn{
display:inline-block;
padding:14px 38px;
background:#2c1801;
color:white;
border:none;
border-radius:40px;
font-size:16px;
cursor:pointer;
transition:.4s;
}

.contact-btn:hover{
background:#4d2a04;
}

/* ===== FOOTER ===== */
.footer {
  background: #e9dfcf;
  padding: 60px 40px;
  position: relative;
}

.footer-container {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
  gap: 40px;
}

/* LOGO */
.footer-logo img {
  width: 220px;
  height: 170px;
  margin-bottom: 10px;
}

.footer-logo h2 {
  color: #7a4b2c;
}

.footer-logo p {
  color: #a67c52;
}

/* HEADINGS */
.footer-col h3 {
  color: #7a4b2c;
  margin-bottom: 15px;
}

.footer-col h4 {
  margin-top: 15px;
}

/* LIST */
.footer-col ul {
  list-style: none;
}

.footer-col ul li {
  margin-bottom: 8px;
  cursor: pointer;
  transition: 0.3s;
}

.footer-col a {
  text-decoration: none;
  color: #444;
}

.footer-col a:hover {
   color: #c89263;
}

/* TEXT */
.footer-col p {
  font-size: 14px;
  margin-bottom: 8px;
  color: #444;
}

/* EMAIL */

.email-text {
  font-size: 20px;
  display: inline-block;
}
.email a {
  text-decoration: underline;
  font-size: 1rem;
}

/* INPUT */
.footer-col input {
  width: 100%;
  height: 20%;
  padding: 12px;
  border-radius: 25px;
  border: 1px solid #ccc;
  margin: 10px 0;
}

/* BUTTON */
.book-btn  {
  background: #a67c52;
  border: 2px solid #7a4b2c;
  padding: 10px 20px;
  border-radius: 25px;
  color: white;
  cursor: pointer;
  display: inline-block;
}

/* SPACING */
.mt {
  margin-top: 20px;
}

.footer-bottom{
margin-top:50px;
text-align:center;
font-size:14px;
color: #444;
border-top:1px solid rgba(255,255,255,0.2);
padding-top:18px;
}

/* RESPONSIVE */
@media(max-width: 900px) {
  .footer-container {
    grid-template-columns: 1fr 1fr;
  }
}

@media(max-width: 500px) {
  .footer-container {
    grid-template-columns: 1fr;
  }
}

/* =========================== RESPONSIVE SCREENS ============================= */

/* ================= 1024px ================= */

@media(max-width:1024px){ 
    .about-container{
    gap:50px;
  }

  .about-content h2{
    font-size:2.8rem;
  }

  .main-img{
    height:550px;
  }

  .small-img{
    width:180px;
    height:220px;
  }

  .hero {
    height: 85vh;
  }

  .services{
    padding:100px 6%;
  }

  .services-heading h2{
    font-size:3rem;
  }

  .services-container{
    gap:20px;
  }

  .service-card{
    height:400px;
  }

  .work-gallery{
grid-template-columns:repeat(3,1fr);
}

 .cards{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (max-width: 768px) {
  .menu-toggle {
    display: block;
  }

  .nav-links {
    position: absolute;
    top: 100%;
    right: 0;
    width: 100%;
    background: #fdfcf9;
    flex-direction: column;
    padding: 30px;
    gap: 1.5rem;
    display: none;
    text-align: center;
  }

  .nav-links.active {
    display: flex;
  }

   .about{
    padding:90px 6%;
  }

  .about-container{
    grid-template-columns:1fr;
  }

  .about-images{
    max-width:600px;
    margin:auto;
  }

  .about-content{
    text-align:center;
  }

  .about-features{
    grid-template-columns:1fr 1fr;
  }

   .services-container{
    grid-template-columns:repeat(2,1fr);
  }

  .services-heading h2{
    font-size:2.5rem;
  }

  .work-gallery{
grid-template-columns:repeat(2,1fr);
}

.work-img img{
height:140px;
}

.section-title{
    font-size:32px;
  }

  .cards{
    grid-template-columns:1fr;
  }

   .contact-info h2{
font-size:36px;
}

}

@media (max-width: 480px) {
  .logo {
  height: 2rem;
}

.logo img{
  height: 3.5rem;
}

 .btn{
    width:220px;
    text-align:center;
  }

   .about{
    padding:70px 5%;
  }

  .about-content{
    text-align: left;
  }

  .main-img{
    height:400px;
  }

  .small-img{
    width:100px;
    height:150px;
    right:-10px;
    bottom:20px;
  }

  .experience-card{
    left:0;
    bottom:15px;
    padding:15px 20px;
  }

  .experience-card h2{
    font-size:2rem;
  }

  .about-content h2{
    font-size:2rem;
  }

  .about-features{
    grid-template-columns:1fr;
    text-align:left;
  }

  .services{
    padding:70px 5%;
  }

  .services-heading{
    text-align:left;
  }

  .services-heading h2{
    font-size:2rem;
  }

  .services-container{
    grid-template-columns:1fr;
  }

  .service-card{
    height:380px;
  }

  .service-overlay{
    padding:20px;
  }

  .service-overlay span{
    font-size:2rem;
  }

  .service-overlay h3{
    font-size:1.4rem;
  }

  .work-section{
padding:60px 5%;
}

.work-heading h2{
font-size:26px;
}

.work-gallery{
grid-template-columns:1fr;
}

.work-img img{
height:340px;
}

 .why-choose{
    padding:60px 5%;
  }

  .section-title{
    font-size:26px;
  }

  .section-subtitle{
    font-size:14px;
  }

  .card{
    padding:25px 20px;
  }

   .contact{
padding:50px 6%;
}

.contact-info h2{
font-size:30px;
}

}