@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600&display=swap');


/* ==========================
   CHAT BOX
========================== */

.omkar-chat{
  position:fixed;
  right:22px;
  bottom:25px;
  width:400px;
  background:#f4f6fb;
  border-radius:14px;
  overflow:hidden;
  z-index:9999;
  box-shadow:0 20px 55px rgba(0,0,0,.22);
  font-family:'Manrope',sans-serif;

  opacity:0;
  visibility:hidden;
  transform:translateY(20px) scale(.95);
  transition:all .4s ease;
}

.omkar-chat.active{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}

/* CLOSE ANIMATION */
.omkar-chat.closing{
  opacity:0;
  visibility:visible;
  transform:translate(160px,260px) scale(.10);
  transform-origin:bottom right;
  pointer-events:none;
}

/* ==========================
   HEADER
========================== */

.chat-header{
  background:#1e2b5c;
  padding:22px 34px 26px;
  position:relative;
}

.chat-header h3{
  color:#fff;
  font-size:25px;
  line-height:1.35;
  font-family:"Cormorant Garamond",serif;
  font-weight:800;
  margin:0;
}

.chat-close,
.chat-expand{
  position:absolute;
  top:15px;
  border:0;
  background:none;
  color:#fff;
  font-size:16px;
  cursor:pointer;
}

.chat-expand{
  right:44px;
}

.chat-close{
  right:18px;
}

/* ==========================
   BODY
========================== */

.chat-body{
  padding:24px 16px 16px;
  background:linear-gradient(to bottom,#fff 0%,#f4f6fb 100%);
}

.chat-card{
  background:#fff;
  border-radius:14px;
  padding:18px;
  box-shadow:0 8px 25px rgba(0,0,0,.10);
}

.chat-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:14px;
}

.chat-top img{
  width:48px;
  height:48px;
  border-radius:50%;
  object-fit:contain;
  background:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}

.chat-top span{
  background:#e8ffe9;
  color:#10b72b;
  font-size:10px;
  font-weight:700;
  padding:6px 10px;
  border-radius:7px;
}

.chat-top span b{
  display:inline-block;
  width:8px;
  height:8px;
  background:#22d943;
  border-radius:50%;
  margin-right:5px;
}

.chat-title{
  color:#1e2b5c;
  font-size:16px;
  margin-bottom:14px;
  font-weight:600;
}

/* ==========================
   FORM
========================== */

.omkar-chat label{
  display:block;
  color:#111;
  font-size:15px;
  margin:12px 0 6px;
}

.omkar-chat label em{
  color:#c8102e;
  font-style:normal;
}

.omkar-chat input{
  width:100%;
  height:35px;
  border:1px solid #cfd4e2;
  outline:none;
  padding:0 12px;
  font-size:14px;
  border-radius:7px;
}

.omkar-chat input:focus{
  border-color:#1e2b5c;
}

.omkar-chat small{
  display:none;
  color:#c8102e;
  font-size:12px;
  margin-top:5px;
}

.omkar-chat small.show{
  display:block;
}

.phone-field{
  height:35px;
  border:1px solid #cfd4e2;
  border-radius:7px;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.phone-field span{
  width:56px;
  text-align:center;
  border-right:1px solid #cfd4e2;
}

.phone-field input{
  border:0;
  height:33px;
}

/* ==========================
   BUTTON
========================== */

.chat-submit{
  width:100%;
  height:42px;
  margin-top:12px;
  background:#c8102e;
  color:#fff;
  border:0;
  border-radius:7px;
  font-size:15px;
  font-weight:700;
  cursor:pointer;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:0 8px 0 16px;
}

.chat-submit i{
  width:32px;
  height:32px;
  background:rgba(255,255,255,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
}

.chat-powered{
  text-align:center;
  color:#a5a9b8;
  font-size:12px;
  margin-top:70px;
}

/* ==========================
   FLOAT BUTTON
========================== */

.chat-float{
  position:fixed;
  right:24px;
  bottom:24px;

  width:78px;
  height:78px;

  border-radius:50%;
  border:1px solid #a8021d;
  background:#fff;

  overflow:hidden;

  display:none;
  align-items:center;
  justify-content:center;

  cursor:pointer;
  z-index:9998;

  box-shadow:0 8px 25px rgba(0,0,0,.25);

  transition:.35s ease;
}

.chat-float.show{
  display:flex;
  animation:floatPop .4s ease;
}

.chat-float:hover{
  transform:scale(1.08);
}

.chat-float img{
  width:100%;
  height:100%;
  object-fit:cover;      /* image full fill */
  object-position:center;
  border-radius:50%;
  display:block;
}

/* ==========================
   FLOAT POP
========================== */

@keyframes floatPop{
  from{
    opacity:0;
    transform:scale(.4);
  }
  to{
    opacity:1;
    transform:scale(1);
  }
}

/* ==========================
   MOBILE
========================== */

@media(max-width:480px){

  .omkar-chat{
    width:calc(100% - 18px);
    right:9px;
    bottom:10px;
  }

  .chat-header h3{
    font-size:22px;
  }

  .chat-powered{
    margin-top:45px;
  }

  .omkar-chat.closing{
    transform:translate(120px,350px) scale(.10);
  }
}







/* FLOTING BUTTON */
 .site-wrapper{
    margin:0;
    font-family: 'Segoe UI', Arial, sans-serif;
    background:#f4f6f8;
    min-height:100vh;
  }
 
  /* ===================== FLOATING BUTTONS ===================== */
  .floating-buttons{
    position:fixed;
    left: 20px;
    bottom:120px;
    display:flex;
    flex-direction:column;
    gap:12px;
    z-index:999;
  }
 
  .float-call,
  .float-whatsapp,
  .float-appointment{
    position:relative;
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border-radius: 50%;
    color:#fff;
    font-size:22px;
    box-shadow:0 8px 25px rgba(0,0,0,.25);
    transition:.3s;
    cursor:pointer;
    border:none;
  }
 
  .float-call{
    background:#c8102e;
  }
 
  .float-whatsapp{
    background:#25D366;
  }
 
  .float-appointment{
    background:#1e2b5c;
  }
 
  .float-call:hover,
  .float-whatsapp:hover,
  .float-appointment:hover{
    background:#1e2b5c;
    transform:translateY(-4px);
  }
 
  /* Pulse Animation */
  .float-call::before,
  .float-whatsapp::before,
  .float-appointment::before{
    content:"";
    position:absolute;
    width:58px;
    height:58px;
    border-radius:50%;
    animation:pulse 2s infinite;
    z-index:-1;
  }
 
  .float-call::before{
    background:rgba(200,16,46,.35);
  }
 
  .float-whatsapp::before{
    background:rgba(37,211,102,.35);
  }
 
  .float-appointment::before{
    background:rgba(30,43,92,.35);
  }
 
  @keyframes pulse{
    0%{
      transform:scale(1);
      opacity:1;
    }
    100%{
      transform:scale(1.8);
      opacity:0;
    }
  }
 
  /* ===================== TOOLTIPS ===================== */
  .float-call .tooltip,
  .float-whatsapp .tooltip,
  .float-appointment .tooltip{
    position:absolute;
    right:70px;
    top:50%;
    transform:translateY(-50%) translateX(8px);
    background:#1e2b5c;
    color:#fff;
    padding:6px 12px;
    border-radius:6px;
    font-size:13px;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transition:.25s;
    font-weight:500;
  }
 
  .float-call .tooltip::after,
  .float-whatsapp .tooltip::after,
  .float-appointment .tooltip::after{
    content:"";
    position:absolute;
    right:-5px;
    top:50%;
    transform:translateY(-50%);
    border-width:5px 0 5px 5px;
    border-style:solid;
    border-color:transparent transparent transparent #1e2b5c;
  }
 
  .float-call:hover .tooltip,
  .float-whatsapp:hover .tooltip,
  .float-appointment:hover .tooltip{
    opacity:1;
    transform:translateY(-50%) translateX(0);
  }
 
  /* ===================== OVERLAY ===================== */
  .appointment-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0);
    z-index:1000;
    opacity:0;
    visibility:hidden;
    transition: background .35s ease, opacity .35s ease, visibility .35s;
    pointer-events:none;
  }
 
  .appointment-overlay.active{
    background:rgba(0,0,0,.45);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
 
  /* ===================== APPOINTMENT FORM (MORPH) ===================== */
  /* Wrapper is ALWAYS centered on screen. We only animate scale + opacity
     + border-radius, never width/height/top/left. This avoids the bug
     where animating size+position together failed to render reliably. */
  .appointment-form-wrapper{
    position:fixed;
    top:50%;
    left:50%;
    z-index:1001;
    width:min(420px, 90vw);
    height:min(560px, 88vh);
    border-radius:50%;
    overflow:hidden;
    transform:translate(-50%,-50%) scale(0.05);
    transform-origin:center center;
    opacity:0;
    background:#fff;
    box-shadow:0 20px 60px rgba(0,0,0,.3);
    transition: transform .45s cubic-bezier(.34,1.56,.64,1),
                border-radius .4s ease,
                opacity .3s ease;
    pointer-events:none;
  }
 
  .appointment-form-wrapper.open{
    border-radius:18px;
    transform:translate(-50%,-50%) scale(1);
    opacity:1;
    pointer-events:auto;
  }
 
  .appointment-form-inner{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    opacity:0;
    transition: opacity .25s ease .15s;
  }
 
  .appointment-form-wrapper.open .appointment-form-inner{
    opacity:1;
  }
 
  .form-header{
    background:#1e2b5c;
    color:#fff;
    padding:18px 22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-shrink:0;
  }
 
  .form-header h3{
    margin:0;
    font-size:18px;
    display:flex;
    align-items:center;
    gap:10px;
  }
 
  .form-header .close-btn{
    background:rgba(255,255,255,.15);
    border:none;
    color:#fff;
    width:32px;
    height:32px;
    border-radius:50%;
    cursor:pointer;
    font-size:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.2s;
  }
 
  .form-header .close-btn:hover{
    background:rgba(255,255,255,.3);
    transform:rotate(90deg);
  }
 
  .form-body{
    padding:22px;
    overflow-y:auto;
    flex:1;
  }
 
  .form-group{
    margin-bottom:16px;
  }
 
  .form-group label{
    display:block;
    margin-bottom:6px;
    font-size:13.5px;
    font-weight:600;
    color:#1e2b5c;
  }
 
  .form-group input,
  .form-group select,
  .form-group textarea{
    width:100%;
    padding:11px 12px;
    border:1.5px solid #dfe3ea;
    border-radius:8px;
    font-size:14px;
    font-family:inherit;
    transition:.2s;
    background:#fafbfc;
  }
 
  .form-group input:focus,
  .form-group select:focus,
  .form-group textarea:focus{
    outline:none;
    border-color:#1e2b5c;
    background:#fff;
  }
 
  .submit-btn{
    width:100%;
    padding:13px;
    background:#1e2b5c;
    color:#fff;
    border:none;
    border-radius:8px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    transition:.25s;
    margin-top:6px;
  }
 
  .submit-btn:hover{
    background:#c8102e;
    transform:translateY(-2px);
  }
 
  /* mobile */
  @media(max-width:576px){
 
    .floating-buttons{
      right:15px;
      bottom:15px;
    }
 
    .float-call,
    .float-whatsapp,
    .float-appointment{
      width:52px;
      height:52px;
      font-size:20px;
    }
 
    .float-call .tooltip,
    .float-whatsapp .tooltip,
    .float-appointment .tooltip{
      right:64px;
      font-size:12px;
    }
  }
 
  /* just for the demo page, not part of the component */
  .page-content{
    max-width:800px;
    margin:60px auto;
    padding:0 20px;
    text-align:center;
    color:#444;
  }
  .page-content h1{ color:#1e2b5c; }









*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:'Manrope',sans-serif;
}

/* TOPBAR */
.topbar{
  width:100%;
  background:#1e2b5c;
  color:#fff;
  padding:10px 0;
}

.topbar-container{
  max-width:1400px;
  margin:auto;
  padding:0 25px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

.topbar-left{
  font-size:14px;
  font-weight:400;
}

.topbar-right{
  display:flex;
  align-items:center;
  gap:22px;
}

.topbar-right a{
  color:#fff;
  text-decoration:none;
  font-size:14px;
}

.topbar i{
  color:#ef233c;
  margin-right:7px;
}

/* HEADER */
.main-header{
  width:100%;
  background:#fff;
  border-bottom:1px solid #ececec;
  position:sticky;
  top:0;
  z-index:999;
}

.header-container{
  max-width:1400px;
  margin:auto;
  padding:13px 25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.logo-box{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  flex-shrink:0;
}

.logo-box img{
  height:78px;
  width:auto;
  display:block;
}

.logo-content h2{
  font-family:'Cinzel',serif;
  font-size:32px;
  line-height:1;
  color:#1e2b5c;
  font-weight:700;
  letter-spacing:1px;
}

.logo-content h3{
  font-size:13px;
  font-weight:700;
  color:#ef233c;
  letter-spacing:2.4px;
  margin-top:5px;
}

.logo-content span{
  display:block;
  font-size:11px;
  color:#666;
  letter-spacing:.8px;
  margin-top:4px;
}

/* NAVBAR */
.navbar{
  display:flex;
  align-items:center;
  gap:38px;
}

.navbar a{
  text-decoration:none;
  color:#1e2b5c;
  font-size:15.5px;
  font-weight:400;
  position:relative;
  transition:.3s;
}

.navbar a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:0;
  height:2px;
  background:#ef233c;
  transition:.3s;
}

.navbar a:hover{
  color:#ef233c;
}

.navbar a:hover::after{
  width:100%;
}

.appointment-btn{
  background:#ef233c;
  color:#fff;
  text-decoration:none;
  padding:15px 24px;
  font-size:13px;
  font-weight:500;
  letter-spacing:.8px;
  text-transform:uppercase;
  transition:.3s;
  white-space:nowrap;
}

.appointment-btn:hover{
  background:#1e2b5c;
}

/* MOBILE BUTTONS */
.menu-toggle,
.close-menu{
  display:none;
}

.mobile-menu-buttons{
  display:none;
}

/* HEADER RIGHT WRAPPER (mobile) */

/* RESPONSIVE */
@media(max-width:1100px){

  .topbar{
    display:none;
  }

  .header-container{
    padding:12px 15px;
    gap:12px;
  }

  .logo-box img{
    height:58px;
  }

  .logo-content h2{
    font-size:22px;
  }

  .logo-content h3{
    font-size:9.5px;
    letter-spacing:1px;
  }

  .logo-content span{
    display:none;
  }

  .appointment-btn{
    display:none !important;
  }

  .menu-toggle{
    width:44px;
    height:44px;
    border:0;
    background:#ef233c;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    cursor:pointer;
    flex-shrink:0;
  }

  .navbar{
    position:fixed;
    top:0;
    left:-320px;
    width:300px;
    height:100vh;
    background:#fff;
    z-index:1001;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:0;
    padding:85px 24px 24px;
    transition:.4s ease;
    box-shadow:10px 0 35px rgba(0,0,0,.12);
  }

  .navbar.active{
    left:0;
  }

  .navbar a{
    width:100%;
    padding:15px 0;
    border-bottom:1px solid #eee;
    font-size:16px;
  }

  .navbar a::after{
    display:none;
  }

  .close-menu{
    position:absolute;
    top:22px;
    right:22px;
    width:38px;
    height:38px;
    border:0;
    background:#1e2b5c;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    cursor:pointer;
  }

  .mobile-menu-buttons{
    display:flex;
    flex-direction:column;
    width:100%;
    margin-top:25px;
    gap:12px;
  }

  .mobile-menu-buttons a{
    border-bottom:0;
    text-align:center;
    padding:14px;
    color:#fff !important;
    font-size:14px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
  }

  .mobile-menu-buttons a::after{
    display:none;
  }

  .mobile-appointment-btn{
    background:#ef233c;
  }

  .mobile-call-btn{
    background:#1e2b5c;
  }

  .mobile-appointment-btn:hover{
    background:#c8102e;
  }

  .mobile-call-btn:hover{
    background:#162149;
  }
}

@media(max-width:480px){

  .logo-box{
    gap:9px;
  }

  .logo-box img{
    height:52px;
  }

  .logo-content h2{
    font-size:20px;
  }

  .logo-content h3{
    font-size:8.5px;
  }

  .navbar{
    width:280px;
    left:-300px;
  }
}








/* =============================================
   HERO BANNER
============================================= */
.hero-banner{
  width:100%;
  background:#fff;
  overflow:hidden;
}

.hero-banner img{
  width:100%;
  height:auto;
  display:block;
}


/* =============================================
   SECTION LABELS (shared)
============================================= */

.section-label{
  color:#c8102e;
  font-size:13px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.section-heading{
  text-align:center;
  max-width:720px;
  margin:0 auto 45px;
}

.section-heading span{
  color:#c8102e;
  font-size:13px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.section-heading h2{
  color:#1c3f94;
  font-size:34px;
  font-weight:800;
  margin-top:10px;
  margin-bottom:12px;
  line-height:1.25;
  letter-spacing:-.3px;
}

.section-heading p{
  color:#5b6473;
  font-size:15px;
  line-height:1.8;
}

.main-container{
  max-width:1200px;
  margin:0 auto;
}
















/* LOCATIONSECTION */



.direction-section{
  width:100%;
  padding:70px 20px;
  background:#f8f9fc;
  font-family:'Manrope',sans-serif;
}

.direction-container{
  max-width:1200px;
  margin:auto;
  background:#fff;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  align-items:center;
  gap:40px;
  padding:45px;
  box-shadow:0 20px 50px rgba(0,0,0,.12);
  border-left:5px solid #c8102e;
}

.direction-content span{
  color:#c8102e;
  font-size:14px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
}

.direction-content h2{
  color:#1e2b5c;
  font-size:42px;
  line-height:1.15;
  margin:12px 0 16px;
  font-family:"Cormorant Garamond", Georgia, serif;
}

.direction-content p{
  color:#666;
  font-size:16px;
  line-height:1.8;
  max-width:620px;
  margin-bottom:25px;
}

.direction-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:#c8102e;
  color:#fff;
  padding:15px 26px;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  transition:.3s;
}

.direction-btn:hover{
  background:#1e2b5c;
}

.direction-qr-box{
  display:flex;
  justify-content:center;
}

.qr-card{
  width:260px;
  background:#f8f9fc;
  padding:22px;
  text-align:center;
  border:1px solid #e8e8e8;
}

.qr-card img{
  width:190px;
  height:190px;
  object-fit:contain;
  background:#fff;
  padding:10px;
  margin-bottom:16px;
}

.qr-card h3{
  color:#1e2b5c;
  font-size:24px;
  font-family:"Cormorant Garamond", serif;
  margin-bottom:6px;
}

.qr-card p{
  color:#666;
  font-size:13.5px;
  line-height:1.5;
}

@media(max-width:768px){
  .direction-container{
    grid-template-columns:1fr;
    padding:32px 22px;
    text-align:center;
  }

  .direction-content h2{
    font-size:32px;
  }

  .direction-content p{
    margin-left:auto;
    margin-right:auto;
  }
}














/* =============================================
   ABOUT SECTION
============================================= */
.about-section{
  width:100%;
  background:#fff;
  padding:80px 16px;
  font-family:'Manrope',sans-serif;
}

.about-container{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}

.about-image{
  border:1px solid #e5e5e5;
  padding:12px;
  background:#fff;
}

.about-image img{
  width:100%;
  height:500px;
  object-fit:cover;
  object-position:top;
  display:block;
}

.about-content span{
  color:#c8102e;
  font-size:14px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:1px;
}

.about-content h2 {
    color: #1e2b5c;
    font-size: 38px;
    font-weight: 700;
    margin: 10px 0 6px;
    font-family: "Cormorant Garamond", Georgia, serif;
}

.about-content h3 {
    color: #c8102e;
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 18px;
    font-family: "Cormorant Garamond", Georgia, serif;
}

.about-content p{
  color:#5d6878;
  font-size:15.5px;
  line-height:1.8;
  margin-bottom:14px;
}

.about-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 20px;
  margin:22px 0;
}

.about-points p{
  margin:0;
  color:#333;
  font-size:15px;
  font-weight:500;
}

.about-points i{
  color:#c8102e;
  margin-right:8px;
}

.about-btn{
  display:inline-block;
  background:#c8102e;
  color:#fff;
  text-decoration:none;
  padding:14px 26px;
  font-size:14px;
  font-weight:500;
  transition:.3s;
}

.about-btn:hover{
  background:#1e2b5c;
}

@media(max-width:900px){
  .about-container{
    grid-template-columns:1fr;
  }

  .about-image img{
    height:430px;
  }
}

@media(max-width:576px){
  .about-section{
    padding:55px 14px;
  }

  .about-content h2{
    font-size:28px;
  }

  .about-points{
    grid-template-columns:1fr;
  }

  .about-image img{
    height:340px;
  }
}

/* =============================================
   SERVICES SECTION
============================================= */
.services-section{
    width:100%;
    padding:100px 20px;
    background:#f8f9fc;
    font-family:'Manrope',sans-serif;
}

.section-title{
    text-align:center;
    max-width:800px;
    margin:0 auto 60px;
}

.section-title span{
    color:#c8102e;
    font-size:14px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}

.section-title h2 {
    font-size: 42px;
    color: #1e2b5c;
    margin: 12px 0;
    font-weight: 700;
    font-family: "Cormorant Garamond", Georgia, serif;
}

.section-title p{
    color:#666;
    font-size:16px;
    line-height:1.9;
}

.services-grid{
    max-width:1400px;
    margin:auto;
    padding:0 40px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.service-card{
    background:#fff;
    overflow:hidden;
   box-shadow: 0 15px 40px rgba(0,0,0,0.18);
    transition:.4s;
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(0,0,0,0.12);
}

.service-card img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
}

.service-content{
    padding:30px;
    min-height:240px;
}

.service-content h3 {
    font-size: 26px;
    color: #1e2b5c;
    margin-bottom: 14px;
    font-weight: 500;
    font-family: "Cormorant Garamond", serif;
}

.service-content p{
    color:#666;
    font-size:15px;
    line-height:1.9;
}

@media(max-width:991px){
    .services-grid{
        grid-template-columns:repeat(2,1fr);
        padding:0;
    }

    .section-title h2{
        font-size:34px;
    }
}

@media(max-width:576px){

    .services-section{
        padding:70px 15px;
    }

    .services-grid{
        grid-template-columns:1fr;
    }

    .section-title h2{
        font-size:28px;
    }

    .service-card img{
        height:240px;
    }

    .service-content{
        min-height:auto;
    }
}






/* =============================================
   WHY SECTION
============================================= */
.why-section{
  width:100%;
  background:#fff;
  padding:90px 20px;
  font-family:'Manrope',sans-serif;
}

.why-container{
  max-width:1300px;
  margin:auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:50px;
  align-items:center;
}

.why-heading{
  margin-bottom:34px;
}

.why-heading span{
  color:#c8102e;
  font-size:14px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
}

.why-heading h2{
  color:#1e2b5c;
  font-size:44px;
  font-weight:700;
  line-height:1.15;
  margin:12px 0 16px;
  font-family:"Cormorant Garamond", Georgia, serif;
}

.why-heading p{
  color:#666;
  font-size:16px;
  line-height:1.8;
  max-width:620px;
}

.why-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.why-card{
  background:#fff;
  padding:24px 20px;
  display:flex;
  gap:16px;
  align-items:flex-start;
  border:1px solid #e9e9e9;
  box-shadow:0 14px 35px rgba(0,0,0,0.08);
  transition:.35s ease;
  border-radius:12px;
}

.why-card:hover{
  transform:translateY(-6px);
  border-color:#c8102e;
  box-shadow:0 20px 45px rgba(0,0,0,0.12);
}

.why-icon{
  min-width:58px;
  height:58px;
  background:#fff1f3;
  color:#c8102e;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  border-radius:12px;
}

.why-card h3{
  color:#1e2b5c;
  font-size:24px;
  font-weight:700;
  margin-bottom:7px;
  font-family:"Cormorant Garamond", serif;
}

.why-card p{
  color:#666;
  font-size:14px;
  line-height:1.7;
}

.why-image{
  height:720px;
  padding:15px;
  background:#fff;
  border:1px solid #e8e8e8;
  box-shadow:0 20px 50px rgba(0,0,0,0.12);
  border-radius:18px;
  overflow:hidden;
}

.why-image img{
  width:100%;
  height:100%;
  object-fit:contain;   /* image crop nahi hogi */
  object-position:center;
  display:block;
}

/* ===========================
   Tablet
=========================== */
@media(max-width:992px){

  .why-container{
    grid-template-columns:1fr;
    gap:35px;
  }

  .why-heading{
    text-align:center;
  }

  .why-heading p{
    max-width:100%;
  }

  .why-image{
    height:550px;
  }

  .why-heading h2{
    font-size:36px;
  }
}

/* ===========================
   Mobile
=========================== */
@media(max-width:576px){

  .why-section{
    padding:60px 15px;
  }

  .why-grid{
    grid-template-columns:1fr;
  }

  .why-heading h2{
    font-size:30px;
  }

  .why-card{
    padding:20px 16px;
  }

  .why-card h3{
    font-size:22px;
  }

  .why-image{
    height:420px;
    padding:10px;
  }
}



















.facility-section{
    padding:90px 20px;
    background:#f8f9fc;
}

.facility-grid{
    max-width:1300px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:20px;
}

.facility-card{
    background:#fff;
    padding:35px 15px;
    text-align:center;
    border:1px solid #e8e8e8;
    transition:.3s;
}

.facility-card:hover{
    transform:translateY(-8px);
    border-color:#c8102e;
}

.facility-card i{
    font-size:34px;
    color:#c8102e;
    margin-bottom:15px;
}

.facility-card h3{
    font-size:20px;
    color:#1e2b5c;
    font-weight:700;
    font-family: "Cormorant Garamond", serif;
}

@media(max-width:991px){
    .facility-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:576px){
    .facility-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

















.counter-section{
    background:#1e2b5c;
    padding:70px 20px;
}

.counter-container{
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.counter-box{
    text-align:center;
}

.counter-box h2{
    color:#fff;
    font-size:52px;
    font-weight:700;
    margin-bottom:10px;
    font-family: math;
}

.counter-box p{
    color:#d9e3ff;
    font-size:20px;
    font-family: "Cormorant Garamond", serif;
}

@media(max-width:768px){
    .counter-container{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:576px){
    .counter-container{
        grid-template-columns:1fr;
    }

    .counter-box h2{
        font-size:42px;
    }
}


















/* =============================================
   TEAM SECTION
============================================= */
.team-section{
  width:100%;
  padding:90px 20px;
  background:#f6f9ff;
  font-family:'Manrope',sans-serif;
}

.team-container{
  max-width:1320px;
  margin:auto;
}

.team-heading{
  text-align:center;
  max-width:720px;
  margin:0 auto 55px;
}

.team-heading span{
  color:#c8102e;
  font-size:14px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
}

.team-heading h2{
  color:#1e2b5c;
  font-size:40px;
  font-weight:700;
  font-family: "Cormorant Garamond", Georgia, serif;
  margin:12px 0;
}

.team-heading p{
  color:#666;
  font-size:15px;
  line-height:1.8;
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
}

.team-card{
  background:#fff;
  overflow:hidden;
  border:1px solid #e7eaf0;
  box-shadow: 0 10px 30px rgba(0,0,0,0.12);
  transition:.35s ease;
}

.team-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.team-image{
  position:relative;
  height:340px;
  overflow:hidden;
  background:#eef3fa;
}

.team-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top center;
  display:block;
  transition:.5s ease;
}

.team-card:hover .team-image img{
  transform:scale(1.07);
}

.team-overlay{
  position:absolute;
  inset:0;
  background:rgba(30,43,92,.86);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  opacity:0;
  transition:.35s ease;
}

.team-card:hover .team-overlay{
  opacity:1;
}

.team-overlay a{
  width:42px;
  height:42px;
  background:#fff;
  color:#1e2b5c;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:15px;
  transition:.3s ease;
}

.team-overlay a:hover{
  background:#c8102e;
  color:#fff;
  transform:translateY(-4px);
}

.team-content{
  text-align:center;
  padding:22px 16px 24px;
}

.team-content h3{
  font-family: "Cormorant Garamond", serif;
  color:#1e2b5c;
  font-size:24px;
  font-weight:700;
  margin-bottom:7px;
}

.team-content p{
  color:#c8102e;
  font-size:14px;
  font-weight:500;
  margin:0;
}

@media(max-width:1100px){
  .team-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .team-image{
    height:310px;
  }
}

@media(max-width:850px){
  .team-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .team-heading h2{
    font-size:32px;
  }
}

@media(max-width:576px){
  .team-section{
    padding:60px 15px;
  }

  .team-grid{
    grid-template-columns:1fr;
  }

  .team-heading h2{
    font-size:28px;
  }

  .team-image{
    height:360px;
  }
}









/* =============================================
   APPOINTMENT SECTION
============================================= */
.appointment-section{
  width:100%;
  padding:90px 20px;
  background:#fff;
  font-family:'Manrope',sans-serif;
}

.appointment-container{
  max-width:1250px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px;
  align-items:stretch;
}

.appointment-info{
  background:#f8f9fc;
  padding:42px 36px;
  border-left:5px solid #c8102e;
  box-shadow:0 20px 50px rgba(0,0,0,0.10);
}

.appointment-info span{
  color:#c8102e;
  font-size:14px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
}

.appointment-info h2{
  color:#1e2b5c;
  font-size:38px;
  line-height:1.2;
  margin:12px 0 20px;
  font-family:"Cormorant Garamond", Georgia, serif;
}

.appointment-info > p{
  color:#666;
  font-size:15.5px;
  line-height:1.8;
  margin-bottom:28px;
}

.appointment-list{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-bottom:28px;
}

.appointment-item{
  display:flex;
  gap:15px;
  align-items:flex-start;
  background:#fff;
  padding:18px;
  border:1px solid #e8e8e8;
}

.appointment-icon{
  min-width:52px;
  height:52px;
  background:#fff1f3;
  color:#c8102e;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:21px;
}

.appointment-item h4{
  color:#1e2b5c;
  font-size:22px;
  font-weight:600;
  margin-bottom:5px;
  font-family:"Cormorant Garamond", serif;
}

.appointment-item p{
  color:#666;
  font-size:14.5px;
  line-height:1.7;
}

.direction-btn{
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#1e2b5c;
  color:#fff;
  text-decoration:none;
  padding:15px 22px;
  font-size:13px;
  font-weight:600;
}

.direction-btn:hover{
  background:#c8102e;
}

.appointment-actions{
  display:flex;
  flex-wrap:wrap;
  gap:15px;
}

.appointment-btn,
.whatsapp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  padding:15px 24px;
  font-size:14px;
  font-weight:600;
}

.appointment-btn{
  background:#c8102e;
}

.whatsapp-btn{
  background:#25D366;
}

.appointment-btn:hover,
.whatsapp-btn:hover{
  background:#1e2b5c;
}

.appointment-map{
  min-height:100%;
  background:#f8f9fc;
  padding:10px;
  border:1px solid #e8e8e8;
  box-shadow:0 20px 50px rgba(0,0,0,0.10);
}

.appointment-map iframe{
  width:100%;
  height:100%;
  min-height:620px;
  border:0;
  display:block;
}

@media(max-width:992px){
  .appointment-container{
    grid-template-columns:1fr;
  }

  .appointment-map iframe{
    min-height:380px;
  }
}

@media(max-width:576px){
  .appointment-section{
    padding:60px 15px;
  }

  .appointment-info{
    padding:30px 20px;
  }

  .appointment-info h2{
    font-size:28px;
  }

  .appointment-actions{
    flex-direction:column;
  }

  .appointment-btn,
  .whatsapp-btn,
  .direction-btn{
    width:100%;
  }

  .appointment-map iframe{
    min-height:300px;
  }
}












/* =============================================
   REVIEWS SECTION
============================================= */
.review-section{
  width:100%;
  padding:90px 20px;
  background:#f8f9fc;
  font-family:'Manrope',sans-serif;
}

.review-container{
  max-width:1250px;
  margin:auto;
}

.review-heading{
  text-align:center;
  max-width:700px;
  margin:0 auto 55px;
}

.review-heading span{
  color:#c8102e;
  font-size:14px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
}

.review-heading h2{
  color:#1e2b5c;
  font-size:40px;
  font-weight:700;
  font-family: "Cormorant Garamond", Georgia, serif;
  margin:12px 0;
}

.review-heading p{
  color:#666;
  font-size:15.5px;
  line-height:1.8;
}

.review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.review-card{
  background:#fff;
  padding:34px 28px;
  border:1px solid #e8e8e8;
  position:relative;
  transition:.35s ease;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
}

.review-card:hover{
  transform:translateY(-8px);
  box-shadow:0 18px 42px rgba(0,0,0,.10);
  border-color:#c8102e;
}

.quote-icon{
  position:absolute;
  right:28px;
  top:28px;
  color:#eef1f8;
  font-size:42px;
}

.stars{
  color:#ffb400;
  font-size:18px;
  letter-spacing:3px;
  margin-bottom:20px;
}

.review-card p{
  color:#5d6878;
  font-size:15px;
  line-height:1.9;
  margin-bottom:28px;
  position:relative;
  z-index:1;
}

.review-user{
  display:flex;
  align-items:center;
  gap:14px;
  border-top:1px solid #eeeeee;
  padding-top:20px;
}

.review-user-img{
  width:54px;
  height:54px;
  background:#fff1f3;
  color:#c8102e;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}

.review-user h4{
  color:#1e2b5c;
  font-family: "Cormorant Garamond", serif;
  font-size:22px;
  font-weight:600;
  margin-bottom:4px;
}

.review-user span{
  color:#777;
  font-size:13px;
}

@media(max-width:992px){
  .review-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:576px){
  .review-section{
    padding:60px 15px;
  }

  .review-heading h2{
    font-size:28px;
  }

  .review-grid{
    grid-template-columns:1fr;
  }

  .review-card{
    padding:30px 22px;
  }
}

/* =============================================
   FAQ SECTION
============================================= */
.faq-section{
  width:100%;
  padding:90px 20px;
  background:#fff;
  font-family:'Manrope',sans-serif;
}

.faq-container{
  max-width:1000px;
  margin:auto;
}

.faq-heading{
  text-align:center;
  margin-bottom:50px;
}

.faq-heading span{
  color:#c8102e;
  font-size:14px;
  font-weight:600;
  letter-spacing:2px;
  text-transform:uppercase;
}

.faq-heading h2{
  color:#1e2b5c;
  font-size:42px;
  font-family:"Cormorant Garamond",serif;
  margin:12px 0;
}

.faq-heading p{
  color:#666;
  font-size:15px;
  line-height:1.8;
}

.faq-list{
  display:flex;
  flex-direction:column;
  gap:15px;
}

.faq-item{
  background:#f8f9fc;
  border:1px solid #e8e8e8;
  transition:.3s;
}

.faq-item.active{
  border-color:#c8102e;
}

.faq-question{
  width:100%;
  border:none;
  background:none;
  cursor:pointer;
  padding:22px 25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:left;
}

.faq-question span{
  font-size:24px;
  color:#1e2b5c;
  font-family:"Cormorant Garamond",serif;
  font-weight:600;
}

.faq-question i{
  width:42px;
  height:42px;
  background:#fff;
  color:#c8102e;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.faq-item.active .faq-question i{
  background:#c8102e;
  color:#fff;
}

.faq-answer{
  display:none;
  padding:0 25px 25px;
}

.faq-answer p{
  color:#666;
  line-height:1.8;
  font-size:15px;
}

.faq-item.active .faq-answer{
  display:block;
}

@media(max-width:768px){

  .faq-heading h2{
    font-size:32px;
  }

  .faq-question span{
    font-size:18px;
  }

}

@media(max-width:576px){

  .faq-section{
    padding:60px 15px;
  }

  .faq-question{
    padding:18px;
  }

  .faq-answer{
    padding:0 18px 18px;
  }

}






/* =============================================
   FOOTER
============================================= */
.footer{
  width:100%;
  background:#14275c;
  color:#fff;
  padding:85px 20px 24px;
  font-family:'Manrope',sans-serif;
}

.footer-container{
  max-width:1300px;
  margin:auto;
  display:grid;
  grid-template-columns:1.4fr .9fr .9fr 1.25fr;
  gap:45px;
}

.footer-col h2{
  font-size:30px;
  font-family: "Cormorant Garamond", Georgia, serif;
  line-height:1.3;
  font-weight:700;
  margin-bottom:18px;
  color:#fff;
}

.footer-col h3{
  font-size:25px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight:700;
  margin-bottom:22px;
  color:#fff;
  position:relative;
  padding-bottom:12px;
}

.footer-col h3::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:42px;
  height:2px;
  background:#c8102e;
}

.footer-col p,
.footer-col a{
  color:#d8e0f4;
  font-size:14.5px;
  line-height:1.8;
  text-decoration:none;
}

.footer-col > a{
  display:block;
  margin-bottom:10px;
  transition:.3s;
}

.footer-col > a:hover{
  color:#fff;
  padding-left:6px;
}

.footer-about p{
  max-width:360px;
}

.footer-social{
  display:flex;
  gap:12px;
  margin-top:24px;
}

.footer-social a{
  width:42px;
  height:42px;
  background:#fff;
  color:#c8102e;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  transition:.3s;
}

.footer-social a:hover{
  background:#c8102e;
  color:#fff;
  transform:translateY(-4px);
}

.footer-info{
  display:flex;
  gap:13px;
  align-items:flex-start;
  margin-bottom:18px;
}

.footer-info i{
  min-width:42px;
  height:42px;
  background:#c8102e;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:15px;
}

.footer-info p{
  margin:0;
}

.footer-info p a{
  display:block;
  margin:0 0 3px;
}

.footer-info p a:hover{
  color:#fff;
}

.footer-bottom{
  max-width:1300px;
  margin:42px auto 0;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.16);
  text-align:center;
}

.footer-bottom p{
  color:#d8e0f4;
  font-size:13.5px;
}

@media(max-width:992px){
  .footer-container{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:576px){
  .footer{
    padding:60px 15px 22px;
  }

  .footer-container{
    grid-template-columns:1fr;
    gap:32px;
  }

  .footer-col h2{
    font-size:23px;
  }
}