:root{
  --green:#00412d;
  --green-dark:#002d20;
  --gold:#b98b3d;
  --gold-light:#d9b96d;
  --cream:#fbfaf4;
  --box:#fffdf8;
  --text:#172b24;
  --muted:#5b6a65;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:"Inter",sans-serif;
  background:#fbfaf4;
  color:var(--text);
}

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

img{
  max-width:100%;
  display:block;
}

.container{
  width:min(1180px,92%);
  margin:auto;
}

/* TOP BAR */

.top-bar{
  background:var(--green);
  color:#fff;
  font-size:13px;
}

.top-inner{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.top-info{
  display:flex;
  align-items:center;
  gap:44px;
}

.top-info i,
.top-social i{
  color:var(--gold-light);
  margin-right:6px;
}

.top-social{
  display:flex;
  align-items:center;
  gap:12px;
}

.top-social a{
  width:28px;
  height:28px;
  /* border:1px solid rgba(255,255,255,.25); */
  /* border-radius:50%; */
  display:grid;
  place-items:center;
}


/* HEADER */

.header{
  position:sticky;
  top:0;
  z-index:999;
  background:#fff;
  box-shadow:0 5px 22px rgba(0,0,0,.08);
}

.nav-wrap{
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand{
  display:flex;
  align-items:center;
  gap:13px;
}

.brand img{
  width:82px;
  height:auto;
  object-fit:contain;
}




.nav{
  display:flex;
  align-items:center;
  gap:27px;
  text-transform:uppercase;
  font-size:11px;
  font-weight:900;
}

.nav a{
  position:relative;
  color:#1d2e28;
}

.nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:0;
  height:2px;
  background:var(--gold);
  transition:.25s;
}

.nav a:hover::after,
.nav a.active::after{
  width:100%;
}

.book-btn{
  background:var(--green);
  color:#fff !important;
  padding:15px 21px;
  border-radius:5px;
  box-shadow:0 8px 18px rgba(0,65,45,.25);
}

.book-btn::after{
  display:none;
}

.menu-btn{
  display:none;
  border:0;
  background:none;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
}

.menu-btn span{
  width:28px;
  height:3px;
  border-radius:20px;
  background:var(--green);
}

/* HERO */

.hero{
  padding:38px 0 28px;
  background:#fbfaf4;
}

.hero-grid{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  align-items:center;
  gap:40px;
}

.hero-text span{
  display:inline-block;
  background:#d9c58e;
  color:#213c31;
  padding:8px 14px;
  border-radius:5px;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:14px;
}

.hero-text h1{
  font-family:"Cinzel",serif;
  color:var(--green);
  text-transform:uppercase;
  font-size:58px;
  line-height:1.05;
  margin-bottom:10px;
}

.hero-text h3{
  font-family:"Cinzel",serif;
  color:#a2752c;
  font-size:25px;
  margin-bottom:9px;
}

.decor{
  width:140px;
  height:18px;
  margin-bottom:14px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.8;
}

.hero-text p{
  font-size:16px;
  line-height:1.7;
  color:#222;
  font-weight:600;
  max-width:560px;
}

.hero-image img{
  width:100%;
  height:310px;
  object-fit:cover;
}

/* QUICK CARDS */

.quick-section{
  padding:4px 0 24px;
}

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

.quick-card{
  background:#fff;
  min-height:210px;
  text-align:center;
  padding:26px 18px;
  border-radius:8px;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  border:1px solid rgba(0,65,45,.06);
}

.quick-icon{
  width:64px;
  height:64px;
  background:var(--green);
  color:var(--gold-light);
  display:grid;
  place-items:center;
  margin:0 auto 14px;
  border-radius:50%;
  font-size:26px;
}

.quick-card h3{
  font-family:"Cinzel",serif;
  color:var(--green);
  text-transform:uppercase;
  font-size:17px;
  margin-bottom:7px;
}

.small-line{
  width:42px;
  height:1px;
  background:var(--gold);
  margin:0 auto 12px;
}

.quick-card strong{
  display:block;
  font-size:14px;
  line-height:1.55;
  color:#222;
  margin-bottom:8px;
}

.quick-card p{
  font-size:13px;
  line-height:1.45;
  color:#333;
  font-weight:600;
}

.quick-card a{
  display:inline-block;
  background:#efe5d2;
  color:#222;
  font-size:12px;
  font-weight:800;
  padding:7px 18px;
  border-radius:20px;
}

/* COMMON BOX */

.main-section,
.map-why-section{
  padding:0 0 22px;
}

.white-box{
  background:#fff;
  border-radius:10px;
  box-shadow:0 8px 22px rgba(0,0,0,.08);
  border:1px solid rgba(0,65,45,.06);
  padding:22px;
}

.section-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-bottom:18px;
}

.section-title h2{
  font-family:"Cinzel",serif;
  color:var(--green);
  text-transform:uppercase;
  font-size:22px;
}

.section-title span{
  width:42px;
  height:1px;
  background:var(--gold);
  position:relative;
}

.section-title span::before{
  content:"✦";
  position:absolute;
  left:50%;
  top:-11px;
  transform:translateX(-50%);
  color:var(--gold);
  font-size:12px;
}

/* MAIN GRID */

.main-grid{
  display:grid;
  grid-template-columns:.95fr 1.3fr;
  gap:24px;
}

.map-why-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:24px;
}

/* BRANCHES */

.branch-row{
  display:grid;
  grid-template-columns:46px 1fr 20px;
  gap:16px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid #e4dac8;
}

.branch-row:last-of-type{
  border-bottom:0;
}

.branch-number{
  width:38px;
  height:38px;
  background:var(--gold-light);
  color:#fff;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-weight:900;
}

.branch-row h3{
  font-family:"Cinzel",serif;
  color:var(--green);
  font-size:18px;
  margin-bottom:4px;
}

.branch-row p{
  font-size:13px;
  color:#222;
  line-height:1.45;
  font-weight:600;
}

.branch-row > i{
  color:var(--green);
}

.coming{
  text-align:center;
  color:#b47b28;
  font-weight:800;
  margin-top:10px;
  font-size:13px;
}

/* FORM */

.contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 12px;
}

.input-wrap{
  height:42px;
  border:1px solid #e2d6c4;
  border-radius:5px;
  background:#fff;
  display:flex;
  align-items:center;
  padding:0 12px;
  gap:10px;
}

.input-wrap i{
  color:var(--gold);
}

.input-wrap input,
.input-wrap textarea{
  width:100%;
  border:0;
  outline:0;
  font-family:inherit;
  font-size:12px;
  background:transparent;
}

.textarea-wrap{
  grid-column:1/-1;
  height:92px;
  align-items:flex-start;
  padding-top:12px;
}

.textarea-wrap textarea{
  resize:none;
  height:70px;
}

.contact-form button{
  grid-column:1/-1;
  height:44px;
  border:0;
  background:var(--green);
  color:#fff;
  text-transform:uppercase;
  font-weight:900;
  border-radius:5px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

/* MAP */

.map-box{
  height:230px;
  overflow:hidden;
  border-radius:6px;
  border:1px solid #e1d4c3;
}

.map-box iframe{
  width:100%;
  height:100%;
  border:0;
}

.map-btn{
  width:max-content;
  margin:12px auto 0;
  height:38px;
  padding:0 24px;
  border:1px solid #e1d4c3;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:var(--green);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

/* WHY CONTACT */

.why-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.why-grid > div{
  display:flex;
  align-items:center;
  gap:16px;
  padding:14px;
  background:#fffdf8;
  border:1px solid #eadfcd;
  border-radius:8px;
}

.why-grid i{
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f0e7d7;
  font-size:28px;
  color:var(--green);
  flex-shrink:0;
}

.why-grid h3{
  font-family:"Cinzel",serif;
  font-size:15px;
  color:var(--green);
  line-height:1.25;
  margin-bottom:4px;
}

.why-grid p{
  font-size:12px;
  color:#333;
  line-height:1.45;
}

/* CTA */

/* .cta-section{
  padding:2px 0 10px;
}

.cta-box{
  background:linear-gradient(90deg,var(--green),var(--green-dark));
  color:#fff;
  border-radius:8px;
  min-height:260px;
  display:grid;
  grid-template-columns:130px 1fr;
  overflow:hidden;
}

.cta-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.cta-content{
  padding:30px 190px;
  padding-left: -200px;
}

.cta-content h2{
  font-family:"Cinzel",serif;
  color:var(--gold-light);
  font-size:28px;
  text-transform:uppercase;
}

.cta-content p{
  color:#fff;
  font-size:15px;
  margin:4px 0 14px;
}

.cta-buttons{
  display:flex;
  gap:12px;
}

.cta-buttons a{
  height:42px;
  padding:0 28px;
  border-radius:5px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
}

.gold-btn{
  background:var(--gold-light);
  color:#173b2e;
}

.outline-light{
  border:1px solid rgba(255,255,255,.7);
  color:#fff;
} */
 .appointment-section{
  padding:30px 0;
  background:#fbfaf4;
   
}

.appointment-box{
  min-height:320px;
  /* background:#00412d; */
   background:
    linear-gradient(90deg,#00412d 0%,#00412d 13%,rgba(250,247,236,.08) 72%),
    url("../image/blog10.png") center right/cover no-repeat;
  border-radius:8px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:42px 24px;
  box-shadow:0 8px 24px rgba(0,65,45,.12);
}

.appointment-content{
  text-align:left;
  max-width:520px;
}

.appointment-content h2{
  font-family:"Cinzel", serif;
  color:#d9b96d;
  font-size:32px;
  line-height:1.2;
  text-transform:uppercase;
  margin-bottom:8px;
  font-weight:800;
}

.appointment-content p{
  color:#ffffff;
  font-size:16px;
  font-weight:700;
  margin-bottom:20px;
}

.appointment-buttons{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

.appointment-btn{
  height:52px;
  min-width:178px;
  padding:0 28px;
  border-radius:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-transform:uppercase;
  font-size:14px;
  font-weight:900;
  transition:.25s ease;
}

.call-btn{
  background:#d9b96d;
  color:#00412d;
}

.whatsapp-btn{
  background:transparent;
  color:#ffffff;
  border:1px solid rgba(255,255,255,.75);
}

.appointment-btn:hover{
  transform:translateY(-2px);
}

@media(max-width:768px){
  .appointment-box{
    min-height:auto;
    padding:34px 20px;
    justify-content:flex-start;
  }

  .appointment-content h2{
    font-size:24px;
  }

  .appointment-buttons{
    flex-direction:column;
    align-items:stretch;
  }

  .appointment-btn{
    width:100%;
  }
}

/* FOOTER */

.footer{
  background:#003c29;
  color:#fff;
  padding-top:38px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.4fr .8fr .9fr 1fr 1.4fr;
  gap:32px;
  padding-bottom:34px;
}

.footer-logo{
  margin-bottom:14px;
}

.footer-logo h2,
.footer-logo p,
.footer-logo span{
  color:#fff;
}

.footer p,
.footer a{
  color:rgba(255,255,255,.75);
  font-size:12px;
  line-height:1.65;
}

.footer h3{
  text-transform:uppercase;
  font-size:12px;
  margin-bottom:15px;
}

.footer a{
  display:block;
  margin-bottom:6px;
  transition:.25s;
}

.footer a:hover{
  color:#d1a850;
  padding-left:4px;
}

.footer-social{
  display:flex;
  gap:10px;
  margin-top:14px;
}

.footer-social a{
  width:28px;
  height:28px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  display:grid;
  place-items:center;
  padding:0;
}

.newsletter{
  display:flex;
  margin-top:12px;
  border:1px solid rgba(255,255,255,.28);
  overflow:hidden;
  border-radius:4px;
}

.newsletter input{
  flex:1;
  border:0;
  padding:12px;
  outline:0;
}

.newsletter button{
  width:44px;
  border:0;
  color:var(--green);
  background:#fff;
  cursor:pointer;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.18);
  padding:15px 0;
  display:flex;
  justify-content:space-between;
  gap:18px;
}

.footer-bottom p,
.footer-bottom a{
  font-size:11px;
  margin:0;
  display:inline;
}

.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:.7s;
}

.reveal.visible{
  opacity:1;
  transform:translateY(0);
}

@media(max-width:1050px){
  .nav{
    gap:15px;
  }

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

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

  .blog-cta-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:820px){
  .top-inner,
  .top-inner div:first-child{
    height:auto;
    padding:8px 0;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }

  .social{
    display:none;
  }

  .menu-btn{
    display:flex;
  }

  .nav{
    position:absolute;
    top:88px;
    left:0;
    right:0;
    background:#fff;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:15px 4%;
    transform:translateY(-15px);
    opacity:0;
    visibility:hidden;
    transition:.25s;
    box-shadow:0 14px 24px rgba(0,0,0,.12);
  }

  .nav.open{
    transform:translateY(0);
    opacity:1;
    visibility:visible;
  }

  .nav a{
    padding:13px 0;
    width:100%;
    border-bottom:1px solid #eee;
  }

  .book-btn{
    text-align:center;
    margin-top:10px;
  }

  .hero{
    min-height:auto;
    background:
      linear-gradient(90deg,rgba(250,247,236,.97),rgba(250,247,236,.92)),
      url("https://images.unsplash.com/photo-1544787219-7f47ccb76574?auto=format&fit=crop&w=1200&q=85") center/cover;
  }

  .hero-content{
    min-height:auto;
    padding:45px 0;
  }

  .hero h1{
    font-size:38px;
  }

  .hero h3{
    font-size:18px;
  }

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

  .treat-grid,
  .promise-grid,
  .about-grid,
  .stats-grid,
  .testimonial-track{
    grid-template-columns:1fr;
  }

  .promise-grid div,
  .stats-grid div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.18);
  }

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

  .testimonial-track{
    width:85%;
  }

  .review-card{
    display:none;
  }

  .review-card.active{
    display:block;
  }

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

  .whatsapp .container{
    flex-direction:column;
    align-items:flex-start;
  }

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

  .footer-bottom{
    flex-direction:column;
  }
}

@media(max-width:520px){
  .logo h2{
    font-size:25px;
  }

  .logo-icon{
    width:38px;
    height:38px;
  }

  .hero h1{
    font-size:32px;
  }

  .hero-buttons{
    flex-direction:column;
  }

  .hero-features{
    grid-template-columns:1fr;
  }

  .service-grid,
  .blog-grid{
    grid-template-columns:1fr;
  }

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

/* ===============================
   Footer Logo Fix
================================ */

.footer .footer-logo{
  display:flex !important;
  align-items:flex-start;
  gap:12px;
  width:auto !important;
  height:auto !important;
  margin-bottom:14px;
  padding:0;
}

.footer .footer-logo:hover{
  padding-left:0;
}

.footer .footer-logo .logo-icon{
  width:54px;
  height:54px;
  min-width:54px;
  border-radius:0 18px 0 18px;
  font-size:22px;
  flex-shrink:0;
}

.footer .footer-logo h2{
  font-family:"Cinzel",serif;
  font-size:30px;
  line-height:1;
  color:#fff;
  margin:0 0 3px;
  letter-spacing:1px;
}

.footer .footer-logo p{
  color:#fff;
  font-size:11px;
  font-weight:900;
  line-height:1.25;
  margin:0;
}

.footer .footer-logo span{
  display:block;
  color:rgba(255,255,255,.85);
  font-size:11px;
  font-weight:700;
  line-height:1.25;
  margin-top:2px;
}

.footer-grid > div:first-child > p{
  max-width:270px;
  margin-top:10px;
  color:rgba(255,255,255,.78);
  font-size:13px;
  line-height:1.7;
}

.footer-social{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:14px;
}

.footer-social a{
  width:32px !important;
  height:32px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  padding:0 !important;
  margin:0 !important;
}