/*-----------------header------------*/

 :root {
    --orange: #ffaf00;
    --text: #333;
    --border: #ddd;
  }
 
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body { font-family: 'Poppins', sans-serif; color: var(--text); }
 
  /* Poora header Poppins font mein */
  .site-header,
  .site-header * {
    font-family: 'Poppins', sans-serif !important;
  }
  a { text-decoration: none; color: inherit; }
  ul { list-style: none; }
 
  /* ---------- HEADER ---------- */
 .site-header {
  background: #fff;
 box-shadow: 0 8px 8px -6px rgba(0,0,0,.25); 
  position: relative;   /* sticky hata diya, ab header page ke saath scroll hoga */
  z-index: 100;
}
  .header-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 30px 0 65px;
    display: flex;
    align-items: center;
    gap: 55px;
  }
  .logo img { display: block; width: 260px; height: 90px; object-fit: contain; }
 
  .header-right { flex: 1; }
 
  /* ---------- TOP ROW (email / call / button) ---------- */
  .top-row {
    display: flex;
    align-items: center;
    gap: 55px;
    padding: 8px 0 12px;
  }
  .info { display: flex; align-items: center; gap: 12px; font-family: 'Poppins', sans-serif; }
  .info svg { width: 38px; height: 38px; fill: var(--orange); flex-shrink: 0; }
  .info small { display: block; font-size: 19px; font-weight: 600; color: #111; line-height: 1.3; }
  .info span  { display: block; font-size: 17px; color: #222; line-height: 1.4;font-weight: 600;  }
 
  /* ---------- BOOK APPOINTMENT BUTTON ---------- */
  .btn-book {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--orange);
    color: #111;
    border: 2px solid var(--orange);
    border-radius: 4px;
    padding: 11px 30px;
    font-family: 'Poppins', sans-serif;
    font-size: 19px;
    font-weight: 500;
    cursor: pointer;
    transition: background .2s, color .2s;
  }
  .btn-book svg { width: 17px; height: 17px; fill: currentColor; }
 
  /* click / hover / focus par: white bg + orange border + orange text & icon */
  .btn-book:hover,
  .btn-book:active,
  .btn-book:focus-visible {
    background: #fff;
    color: var(--orange);
    border-color: var(--orange);
    outline: none;
  }
 
  /* ---------- NAV ---------- */
  .main-nav { border-top: 1px solid var(--border); }
  .nav-list { display: flex; justify-content: space-between; }
  .nav-list > li { position: relative; }
 
  .nav-list > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 6px 10px;
    font-size: 19px;
    color: rgb(77, 77, 77);
    border-bottom: 2px solid transparent;   /* underline placeholder */
    transition: color .2s;
  }
  .nav-list > li > a:hover { color: var(--orange); }
 
  /* ACTIVE PAGE: orange text + orange underline */
  .nav-list > li > a.active {
    color: var(--orange);
    border-bottom-color: var(--orange);
  }
 
  /* dropdown arrow */
  .caret {
    width: 0; height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid currentColor;
  }
 
  /* ---------- DROPDOWN ---------- */
  .dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: max-content;
    min-width: 225px;
    margin: 0;
    padding: 0;               /* andar ki padding hatayi, taaki orange full width aaye */
    background: #fff;
    border: 1px solid var(--border);
    box-shadow: 0 6px 16px rgba(0,0,0,.12);
    display: none;
    z-index: 200;
    text-align: left;
  }
  .dropdown li {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #eee;   /* underline poori width mein */
  }
  .dropdown li:last-child { border-bottom: 0; }
  .dropdown li a {
    display: block;
    width: 100%;                     /* orange highlight poori width mein */
    margin: 0;
    padding: 17px 20px;              /* text left se 20px */
    text-align: left;
    font-size: 16px;
    color: var(--text);
    border-bottom: 0;
    transition: background .15s, color .15s;
  }
  .dropdown li a:hover { background: var(--orange); color: #fff; }
  .dropdown li a.active { background: var(--orange); color: #fff; }
 
  .has-dropdown:hover > .dropdown { display: block; }
 
  /* ---------- DROPDOWN FIX (site ki dusri CSS ko override karne ke liye) ---------- */
  .site-header .main-nav ul.dropdown {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    width: max-content !important;
    min-width: 240px !important;
  }
  .site-header .main-nav ul.dropdown > li {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    list-style: none !important;
    border-bottom: 1px solid #eee !important;
  }
  .site-header .main-nav ul.dropdown > li:last-child { border-bottom: 0 !important; }
  .site-header .main-nav ul.dropdown > li > a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 17px 20px !important;
    text-align: left !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .site-header .main-nav ul.dropdown > li > a:hover { background: var(--orange) !important; color: #fff !important; }
 
  /* ---------- MOBILE TOGGLE ---------- */
  .menu-toggle {
    display: none;
    background: none;
    border: 0;
    font-size: 30px;
    color: var(--orange);
    cursor: pointer;
    margin-left: auto;
  }
 
  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 1100px) {
    .header-inner { padding: 10px 20px; gap: 20px; flex-wrap: wrap; }
    .logo img { width: 200px; height: 66px; }
    .menu-toggle { display: block; }
    .header-right { flex-basis: 100%; display: none; }
    .header-right.open { display: block; }
    .top-row { flex-wrap: wrap; gap: 20px; }
    .btn-book { margin-left: 0; }
    .nav-list { flex-direction: column; }
    .nav-list > li > a { padding: 12px 0; }
    .dropdown { position: static; box-shadow: none; }
    .has-dropdown:hover > .dropdown { display: none; }
    .has-dropdown.open > .dropdown { display: block; }
  }



  /*-------------------------------------------------------------Footer------------------------------------------------------------*/
 :root {
    --orange: #ffaf00;
    --blue: #0b6fd8;
  }

  .site-footer {
    background: #000;
    color: #fff;
    padding: 38px 20px;
    position: relative;
    text-align: center;
  }
  .site-footer,
  .site-footer * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
  .site-footer p {
    margin: 0;
    font-size: 17px;
    line-height: 1.6;
    font-family: 'Poppins', sans-serif;
  }
  .site-footer p a {
    color: var(--orange);
    text-decoration: none;
    transition: opacity .2s;
    font-family: 'Poppins', sans-serif;
  }
  .site-footer p a:hover { opacity: .8; }

  .back-to-top {
    position: absolute;
    right: 70px;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 3px;
    background: var(--blue);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s;
  }
  .back-to-top svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
  .back-to-top:hover { background: #0958ad; }

  @media (max-width: 768px) {
    .site-footer { padding: 30px 15px 80px; }
    .site-footer p { font-size: 15px; }
    .back-to-top {
      right: 20px;
      top: auto;
      bottom: 20px;
      transform: none;
    }
  }


  /*---------------------------------------------------index page----------------------------------------------------------*/


 :root { --orange: #ffaf00;
/* margin-top: 50px; } */

  .hero {
    position: relative;
    width: 100%;
    max-width: 1750px;         
    min-height: 625px;
    margin: 0 auto;             /* beech mein center */
    display: flex;
    align-items: center;
    background: url('images/pexels-photo-4269694.webp') center / cover no-repeat;   /* apni image ka path yahan daalo */
    overflow: hidden;
  }
  .hero,
  .hero * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }

  /* Black overlay image ke upar */
  .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .6);   /* .6 ko kam/zyada karke dark-ness badlo */
    z-index: 1;
  }

  .hero-content {
    position: relative;
    z-index: 2;                 /* overlay ke upar text */
    width: 100%;
    padding: 60px 50px;
  }
  .hero-text {
    max-width: 780px;
    color: #fff;
  }

  .hero-text h1 {
    margin: 0 0 22px;
    font-size: 60px;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
  }
  .hero-text h1 span {
    display: block;
    color: var(--orange);
  }

  .hero-text p {
    margin: 0 0 30px;
    max-width: 740px;
    font-size: 19px;
    line-height: 1.7;
    color: #fff;
  }

  /* ---------- BOOK NOW BUTTON ---------- */
  .btn-book-now {
    display: inline-block;
    padding: 16px 50px;
    background: var(--orange);
    color: #111;
    border: 2px solid var(--orange);
    border-radius: 3px;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: background .25s, color .25s;
  }
  .btn-book-now:hover,
  .btn-book-now:focus-visible {
    background: #fff;
    color: #111;
    border-color: #fff;
    outline: none;
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 992px) {
    .hero { min-height: 520px; }
    .hero-content { padding: 50px 25px; }
    .hero-text h1 { font-size: 40px; }
    .hero-text p { font-size: 17px; }
  }
  @media (max-width: 576px) {
    .hero { min-height: 460px; }
    .hero-text h1 { font-size: 30px; }
    .hero-text p { font-size: 15px; }
    .btn-book-now { padding: 13px 36px; font-size: 16px; }
  }


/*--------------------------------------about section-------------------*/




   .about-section,
  .about-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
   
    
  }
 
  .about-section {
  background-color: #ECECEC;
  padding: 60px 20px 20px;
  box-sizing: border-box;
  display: block;
  float: none;
         /* dono side 20px khali jagah */
  max-width: 2200px;               /* width yahan badlein */
  margin: 50px auto 0 !important;  /* auto = beech me */
}
 
  .about-container {
   max-width: 1300px;                 /* pehle 1000px tha */
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr;  /* image wala column bada, text wala chhota */
  gap: 50px;
  align-items: center;
  }
 .about-photo
 {
  transform: translate(0,-30px);
 }
 .about-photo img {
  width: 85%;                       /* column ki poori width */
  height: 500px;                     /* height yahan badlein */
  object-fit: cover;                 /* image pichkegi nahi, crop hokar fit hogi */
  border-radius: 40px 40px 0px 0px;
  display: block;
}
  .about-photo h3 {
  
    margin: 24px 0 10px;
    font-size: 25px;
    font-weight: 600;
    color: #000;
    margin-left: 150px;
   
    
  }
  .about-photo p {
    text-align: center;
    margin: 0;
    font-size: 18px;
    line-height: 1.6;
    color: #6b6b6b;
     
      margin-left: -100px;
      letter-spacing: 0.5;
  }
 
  /* Right: content */
  .about-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 18px;
    color: #6b6b6b;
    margin-bottom: 15px;
  }
  .about-label::before,
  .about-label::after {
    content: "";
    width: 34px;
    height: 2px;
    background: #F5A623;
  }
  .about-content
  {
   
    transform: translate(-60px,0);
  }
  .about-content h2 {
    font-size: 44px;
    line-height: 1.2;
    font-weight: 600;
    color: #000;
    margin: 0 0 24px;
  }
  .about-content p {
    font-size: 19px;
    line-height: 1.7;
    color: #6b6b6b;
    margin: 0 0 14px;
  }
 
  /* Read more: extra text hidden by default */
  .about-more {
    display: none;
  }
  .about-more.open {
    display: block;
  }
 
  /* Read More button */
  .read-more-btn {
    margin-top: 14px;
    padding: 14px 30px;
    font-family: 'Poppins', sans-serif;
    font-size: 17px;
    font-weight: 500;
    color: #222;
    background-color: #D9A93B;      /* default */
    border: 2px solid #D9A93B;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease;
  }
  /* Mouse le jane (hover) par: text orange + background white */
  .read-more-btn:hover,
  .read-more-btn:focus-visible,
  /* Click karne ke baad: text orange + background white */
  .read-more-btn.active {
    background-color: #FFFFFF;
    color: #FEB101;                 /* orange */
    border-color: #FF7A00;
  }
 
  /* Buttons row */
  .about-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 14px;
  }
  .about-buttons .read-more-btn { margin-top: 0; }
 
  
 
  @media (max-width: 768px) {
    .about-container { grid-template-columns: 1fr; gap: 30px; }
    .about-content h2 { font-size: 32px; }
  }


  /*------------------------------------------services----------------------*/


  
  .services-section,
  .services-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
 
  .services-section {
    background: #fff;
    max-width: 1220px;
    margin: 0 auto;
    padding: 60px 20px 70px;
  }
 
  /* ---------- Heading ---------- */
  .services-head { text-align: center; margin-bottom: 45px; }
  .services-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    color: #6b6b6b;
    margin-bottom: 10px;
  }
  .services-label::before,
  .services-label::after {
    content: "";
    width: 34px;
    height: 2px;
    background: #F5A623;
  }
  .services-head h2 {
    margin: 0;
    font-size: 42px;
    font-weight: 600;
    line-height: 1.25;
    color: #000;
  }
 
  /* ---------- 3 cards ek hi row me ---------- */
  .services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    align-items: stretch;
  }
 
  .service-card {
     background: #fff;
    border-radius: 24px;
    padding: 0px 0px 10px;
    text-align: center;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
    min-height: 660px;
    border: 2px solid transparent;
    border-bottom: 3px solid #FFAF00;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
  .service-card img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    margin: 0 auto;
  }
  .service-card h3 {
    margin: 22px 0 19px;
    font-size: 27px;
    font-weight: 600;
    color: #000;
   
  }
 
  /* heading ke niche grey line */
  .service-line {
    height: 30px;                 /* line ki motai yahan badlein */
    background: #DEE0E3;
   
    margin: 0 0 20px;
  }
  .service-card p {
    margin: 0;
    font-size: 19px;
    line-height: 1.7;
    color: black;
   justify-content: center;
  }
 
  /* ---------- Hover: simple zoom + patli orange border ---------- */
  .service-card:hover {
    transform: scale(1.04);          /* zoom kam/zyada: 1.04 badlein */
    border-color: #FFAF00;
    box-shadow: 0 10px 24px rgba(0,0,0,.2);
  }
 
  /* ---------- View more button (beech me) ---------- */
  .services-more { text-align: center; margin-top: 50px; }
  .view-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 30px;
    background: #FFAF00;
    color: #111;
    border: 2px solid #FFAF00;
    border-radius: 4px;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
  }
  .view-more-btn:hover,
  .view-more-btn:focus-visible {
    background: #fff;
    color: #FFAF00;
    outline: none;
  }
 
  /* ---------- Responsive ---------- */
  @media (max-width: 992px) {
    .services-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 640px) {
    .services-grid { grid-template-columns: 1fr; }
    .services-head h2 { font-size: 28px; }
    .service-card img { height: 240px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .service-card { transition: none; }
  }


  /*------------------------------------special facilities section--------------------------*/



  
  .facilities-section,
  .facilities-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
 
  /* Background image: scroll par ek hi jagah ruki rahegi + black overlay */
  .facilities-section {
    position: relative;
    padding: 70px 20px 80px;
    background: url('images/special-facilitie-backgroundimg.jpg') center / cover no-repeat fixed;
    margin-top: -20px;
  }
  .facilities-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .5);      /* overlay kam/zyada dark: .7 badlein */
  }
  .facilities-inner {
    position: relative;                 /* overlay ke upar */
    max-width: 1250px;
    margin: 0 auto;
  }
 
  /* ---------- Heading ---------- */
  .facilities-head { text-align: center; margin-bottom: 60px; }
  .facilities-label {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    color: #fff;
    margin-bottom: 10px;
  }
  .facilities-label::before,
  .facilities-label::after {
    content: "";
    width: 40px;
    height: 2px;
    background: #F5A623;
  }
  .facilities-head h2 {
    margin: 0;
    font-size: 44px;
    font-weight: 600;
    line-height: 1.25;
    color: #fff;
  }
 
  /* ---------- Cards: row 1 me 3, row 2 me 2 (beech me) ---------- */
/* ---------- Cards: row 1 me 3, row 2 me 2 ---------- */
.facilities-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 38px;
}

.facility-card {
    grid-column: auto;
    background: #E6E6E6;
    border: 3px solid #FFAF00;
    border-radius: 14px;
    padding: 15px 26px 30px;
    text-align: center;
}

.facility-card:nth-child(4) {
    grid-column: 1;
}

.facility-card:nth-child(5) {
    grid-column: 2;
}
  .facility-card img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    margin: 0 auto 6px;
  }
  .facility-card h3 {
    margin: 16px 0 8px;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.25;
    color: #000;
  }
  .facility-card p {
    margin: 0;
    font-size: 19px;
    line-height: 1.8;
    color: #686868;
  }
 
  /* ---------- Hover: koi animation nahi, bas border black + heading light blue ---------- */
  .facility-card:hover {
    border-color: #000;
  }
  .facility-card:hover h3 {
    color: #7dc0df;                     /* light blue */
  }
 
  /* ---------- Responsive ---------- */
  @media (max-width: 992px) {
    .facility-card { width: calc((100% - 38px) / 2); }   /* 2 cards ek row me */
    .facilities-head h2 { font-size: 34px; }
  }
  @media (max-width: 640px) {
    .facilities-section { background-attachment: scroll; padding: 50px 15px 60px; }
    .facility-card { width: 100%; padding: 30px 20px 26px; }
    .facility-card img { height: 220px; }
    .facility-card h3 { font-size: 26px; }
    .facility-card p { font-size: 16px; }
    .facilities-head h2 { font-size: 28px; }
  }


  /*-----------------------------------why choose us section-------------------------*/



  .appt-section,
  .appt-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
  .appt-section {
    background: #fff;
    padding: 60px 20px;
    margin-top: 50px;
    margin-left: 40px;
  }
  .appt-container {
    max-width: 1300px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.55fr;
    gap: 60px;
    align-items: start;
  }
 
  /* ---------- Form card ---------- */
  .appt-card {
    background: #fff;
   
    box-shadow: 0 4px 16px rgba(0,0,0,.20);
    padding: 36px 36px 120px;
    border-radius: 10px;
  }
  .appt-card h3 {
    margin: 0;
    font-size: 28px;
    font-weight: 600;
    color: #000;
  }
  .appt-underline {
    display: block;
    width: 80px;
    height: 3px;
    background: #FFAF00;
    margin: 10px 0 18px;
  }
  .appt-sub {
    margin: 0 0 24px;
    font-size: 18px;
    line-height: 1.7;
    color: #6b6b6b;
  }
 
  .appt-field { margin-bottom: 16px; }
  .appt-field label {
    display: block;
    margin-bottom: 8px;
    font-size: 17px;
    font-weight: 600;
    color: #000;
  }
  .appt-field input {
    width: 100%;
    height: 50px;
    padding: 0 14px;
    font-size: 18px;
    color: #222;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    outline: none;
  }
  .appt-field input:focus { border-color: #FFAF00; }
 
  /* Error: sirf Book Now dabane par (empty field par) dikhega */
  .appt-error {
    display: none;
    margin-top: 4px;
    font-size: 15px;
    color: #d93025;
  }
  .appt-field.has-error input { border-color: #d93025; }
  .appt-field.has-error .appt-error { display: block; }
 
  .appt-btn {
    width: 100%;
    height: 54px;
    margin-top: 10px;
    font-size: 19px;
    font-weight: 500;
    color: #111;
    background: #FFAF00;
    border: 2px solid #FFAF00;
    border-radius: 3px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
  }
  .appt-btn:hover,
  .appt-btn:focus-visible {
    background: #fff;
    color: #FFAF00;
    outline: none;
  }
  .appt-success {
    display: none;
    margin: 14px 0 0;
    font-size: 16px;
    color: #1e8e3e;
  }
  .appt-success.show { display: block; }
 
  /* ---------- Right content ---------- */
  .why-label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    color: #6b6b6b;
    margin-bottom: 18px;
  }
  .why-label::before,
  .why-label::after {
    content: "";
    width: 34px;
    height: 2px;
    background: #F5A623;
  }
  .why-content h2 {
    margin: 0 0 28px;
    font-size: 44px;
    font-weight: 600;
    line-height: 1.15;
    color: #000;
  }
 
  .why-list { list-style: none; margin: 0; padding: 0; }
  .why-list li {
    position: relative;
    padding-left: 36px;
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 1.65;
    color: #555;
  }
 /* orange circle icon (chhota) */
.why-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 14px;            /* circle ki size yahan badlein */
  height: 14px;
  box-sizing: border-box;
  border: 2px solid #FFAF00;
  border-radius: 50%;
}
.why-list li::after {
  content: "";
  position: absolute;
  left: 5px;              /* (circle - dot) / 2 */
  top: 15px;              /* circle ka top + (circle - dot) / 2 */
  width: 4px;             /* andar ke dot ki size */
  height: 4px;
  background: #FFAF00;
  border-radius: 50%;
}
 
  /* ---------- Counters ---------- */
  .stats {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 40px;
    text-align: center;
  }
  .stat { flex: 1; }
  .stat-num {
    font-size: 60px;
    font-weight: 600;
    line-height: 1.1;
    color: #FFAF00;
  }
  .stat-text {
    margin-top: 6px;
    font-size: 24px;
    color: #444;
  }
 
  /* ---------- Responsive ---------- */
  @media (max-width: 992px) {
    .appt-container { grid-template-columns: 1fr; gap: 40px; }
    .why-content h2 { font-size: 34px; }
  }
  @media (max-width: 576px) {
    .appt-card { padding: 26px 20px 30px; }
    .why-list li { font-size: 17px; }
    .stats { flex-direction: column; gap: 24px; }
    .stat-num { font-size: 48px; }
    .stat-text { font-size: 20px; }
  }


  /*-----------------------------------gellary section--------------*/


  
  .gallery-section,
  .gallery-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
  .gallery-section {
    background: #F5F5F5;
    padding: 50px 15px 60px;
  }
  .gallery-inner { max-width: 1400px; margin: 0 auto; margin-top:50px; }
 
  /* ---------- Heading ---------- */
  .gallery-head { text-align: center; margin-bottom: 30px; }
  .gallery-label {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 18px;
    color: #6b6b6b;
    margin-bottom: 10px;
  }
  .gallery-label::before,
  .gallery-label::after {
    content: "";
    width: 60px;
    height: 2px;
    background: #F5A623;
  }
  .gallery-head h2 {
    margin: 0;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;
    color: #000;
  }
 
  /* ---------- Grid: #FEB101 background, 4 columns (row-wise order) ---------- */
  .gallery-grid {
    background: #FEB101;
    padding: 12px;
    display: grid;                          /* JS se pehle: 1,2,3,4 row-wise */
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    align-items: start;
  }
  .gallery-grid.is-masonry {                /* JS ke baad: row-wise + alag heights */
    display: flex;
    align-items: flex-start;
  }
  .g-col {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .g-item {
    position: relative;
    display: block;
    overflow: hidden;
    cursor: pointer;
    line-height: 0;
  }
  .g-item img {
    width: 100%;
    height: auto;
    display: block;
  }
  /* hover: image par overlay + beech me magnifier symbol */
  .g-zoom {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .35);
    color: #fff;
    opacity: 0;
    transition: opacity .25s ease;
  }
  .g-zoom svg { width: 20px; height: 20px; }
  .g-item:hover .g-zoom { opacity: 1; }
 
  /* ---------- Lightbox ---------- */
  .glb,
  .glb * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
  .glb {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(0, 0, 0, .88);
    display: none;
  }
  .glb.open { display: block; }
 
  .glb-progress {                       /* upar ki red line */
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 4px;
    background: #e53935;
    z-index: 10;
    opacity: 0;
  }
  .glb-toolbar {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 52px;
    background: #0d0d0d;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px 0 24px;
    z-index: 5;
  }
  .glb-counter { color: #fff; font-size: 18px; }
  .glb-actions { display: flex; align-items: center; }
  .glb-btn {
    width: 52px;
    height: 52px;
    background: none;
    border: 0;
    padding: 0;
    color: #999;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .glb-btn svg {
    width: 26px; height: 26px;
    fill: none; stroke: currentColor;
    stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  }
  .glb-btn:hover { color: #fff; }
  .glb-btn.disabled { opacity: .35; pointer-events: none; }
 
  .glb-stage {
    position: absolute;
    top: 52px; left: 0; right: 0; bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 20px 90px;
  }
  .glb.show-thumbs .glb-stage { bottom: 100px; }
  .glb-img {
   max-width: calc(100vw - 180px);
  max-height: calc(100vh - 112px);
  width: auto;
  height: auto;
  opacity: 1;
    display: block;
    user-select: none;
    -webkit-user-drag: none;
    touch-action: none;
    transition: opacity .25s ease;
  }
  .glb.show-thumbs .glb-img { max-height: calc(100vh - 212px); }

.glb:fullscreen,
.glb:-webkit-full-screen {
  background: #000;
  width: 100%;
  height: 100%;
}
  .glb-img.zoomed { cursor: grab; }
 
  .glb-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    background: none;
    border: 0;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 6;
  }
  .glb-nav svg {
    width: 40px; height: 40px;
    fill: none; stroke: currentColor;
    stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
  }
  .glb-nav:hover { color: #FEB101; }
  .glb-prev { left: 15px; }
  .glb-next { right: 15px; }
 
  .glb-thumbs {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 100px;
    background: #0d0d0d;
    display: none;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    overflow-x: auto;
    z-index: 5;
  }
  .glb.show-thumbs .glb-thumbs { display: flex; }
  .glb-thumbs img {
    height: 78px;
    width: 110px;
    object-fit: cover;
    flex-shrink: 0;
    cursor: pointer;
    opacity: .55;
    border: 2px solid transparent;
  }
  .glb-thumbs img.active { opacity: 1; border-color: #FEB101; }
 
  /* ---------- Responsive ---------- */
  @media (max-width: 992px) {
    .gallery-grid:not(.is-masonry) { grid-template-columns: repeat(3, 1fr); }
    .gallery-head h2 { font-size: 36px; }
  }
  @media (max-width: 640px) {
    .gallery-grid:not(.is-masonry) { grid-template-columns: repeat(2, 1fr); }
    .gallery-head h2 { font-size: 28px; }
    .glb-btn { width: 40px; height: 52px; }
    .glb-btn svg { width: 22px; height: 22px; }
    .glb-stage { padding: 20px 10px; }
    .glb-nav { width: 40px; height: 40px; }
    .glb-prev { left: 4px; }
    .glb-next { right: 4px; }
  }
  /* Fullscreen Lightbox Fix */
.glb:fullscreen .glb-toolbar,
.glb:-webkit-full-screen .glb-toolbar {
    z-index: 10;
}

.glb:fullscreen .glb-stage,
.glb:-webkit-full-screen .glb-stage {
    position: absolute;
    top: 52px;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    padding: 20px 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.glb:fullscreen .glb-img,
.glb:-webkit-full-screen .glb-img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100vh - 92px);
    object-fit: contain;
    opacity: 1;
}

.glb:fullscreen.show-thumbs .glb-stage,
.glb:-webkit-full-screen.show-thumbs .glb-stage {
    bottom: 100px;
}

.glb:fullscreen.show-thumbs .glb-img,
.glb:-webkit-full-screen.show-thumbs .glb-img {
    max-height: calc(100vh - 192px);
}

@media (max-width: 640px) {
    .glb:fullscreen .glb-stage,
    .glb:-webkit-full-screen .glb-stage {
        padding: 15px 40px;
    }

    .glb:fullscreen .glb-img,
    .glb:-webkit-full-screen .glb-img {
        max-width: 100%;
        max-height: calc(100vh - 82px);
    }
}


/*-------------------------------testimanisl section-----------------------------*/




  .testi-section,
  .testi-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
  .testi-section {
    background: #fff;
    padding: 50px 20px 70px;
    margin-top: 50px;
  }
  .testi-inner { max-width: 1250px; margin: 0 auto; }
 
  /* ---------- Heading ---------- */
  .testi-head { text-align: center; margin-bottom: 40px; }
  .testi-label {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 18px;
    color: #6b6b6b;
    margin-bottom: 10px;
  }
  .testi-label::before,
  .testi-label::after {
    content: "";
    width: 40px;
    height: 2px;
    background: #FFAF00;
  }
  .testi-head h2 {
    margin: 0;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;
    color: #000;
  }
 
  /* ---------- 3 cards ek row me (hover nahi) ---------- */
  .testi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: stretch;
  }
  .testi-card {
    min-height: 540px;
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid #FFAF00;
    border-radius: 14px;
    padding: 38px 34px 40px;
    text-align: center;
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
  }
 
  /* upar right ka orange quarter-circle + quote symbol */
  .testi-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    background: #FFAF00;
    border-bottom-left-radius: 100%;
  }
  .testi-quote {
    position: absolute;
    top: 20px;
    right: 22px;
    width: 40px;
    height: 28px;
    z-index: 1;
  }
  .testi-quote svg { width: 100%; height: 100%; display: block; }
 
  .testi-avatar {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    background: #f1f1f1;
    display: block;
    margin: 0 auto 22px;
  }
  .testi-card h3 {
    margin: 0 0 6px;
    font-size: 22px;
    font-weight: 600;
    color: #000;
  }
  .testi-role {
    font-size: 18px;
    color: #777;
    margin-bottom: 14px;
  }
  .testi-stars {
    font-size: 26px;
    letter-spacing: 6px;
    line-height: 1;
    color: #FDB913;
    margin-bottom: 26px;
  }
  .testi-card p {
    margin: 0;
    font-size: 18px;
    line-height: 1.8;
    color: #777;
  }
 
  /* ---------- Responsive ---------- */
  @media (max-width: 992px) {
    .testi-grid { grid-template-columns: repeat(2, 1fr); }
    .testi-head h2 { font-size: 36px; }
  }
  @media (max-width: 640px) {
    .testi-grid { grid-template-columns: 1fr; }
    .testi-head h2 { font-size: 28px; }
    .testi-card { padding: 34px 22px 32px; }
  }


  /*------------------------------contact section----------------*/



  
  .contact-section,
  .contact-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
  .contact-section {
    background: #ECECEC;
    padding: 50px 20px 120px;
    
  }
  .contact-inner { max-width: 1200px; margin: 0 auto; }
 
  /* ---------- Heading ---------- */
  .contact-head { text-align: center; margin-bottom: 40px; }
  .contact-label {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 18px;
    color: #6b6b6b;
    margin-bottom: 10px;
  }
  .contact-label::before,
  .contact-label::after {
    content: "";
    width: 40px;
    height: 2px;
    background: #FFAF00;
  }
  .contact-head h2 {
    margin: 0;
    font-size: 46px;
    font-weight: 600;
    line-height: 1.2;
    color: #000;
  }
 
  .contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    margin-top: 60px;
  }
 
  /* ---------- Left: form ---------- */
  .contact-sub {
    margin: 0 0 22px 28px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.4;
    color: #000;
  }
  .contact-form {
    background: #fff;
    border-radius: 20px;
    padding: 36px 40px 40px;
  }
  .contact-form label {
    display: block;
    margin-bottom: 6px;
    font-size: 18px;
    font-weight: 500;
    color: #222;
  }
  .contact-form input {
    width: 100%;
    height: 50px;
    margin-bottom: 20px;
    padding: 0 14px;
    font-size: 18px;
    color: #222;
    background: #fdfdfd;
    border: 1px solid #ccc;
    border-radius: 10px;
    outline: none;
  }
  .contact-form input:focus { border-color: #FFAF00; }
 
  .contact-submit {
    padding: 12px 34px;
    font-size: 19px;
    font-weight: 500;
    color: #000;
    background: #FFAF00;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
  }
  /* hover: button grey + text white */
  .contact-submit:hover,
  .contact-submit:focus-visible {
    background: #808080;
    color: #fff;
    outline: none;
  }
  .contact-success {
    display: none;
    margin: 14px 0 0;
    font-size: 16px;
    color: #1e8e3e;
  }
  .contact-success.show { display: block; }
 
  /* ---------- Right: grey panel ---------- */
  .contact-right {
    background: #7a7a7a;
    border-radius: 14px;
    padding: 25px 25px 22px;
    margin-top: 20px;
      max-width: 580px;  
  }
  .info-box {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
    padding: 26px 28px;
    background: #fff;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: transform .3s ease;
  }
  /* hover: white box thoda right side hatega */
  .info-box:hover { transform: translateX(14px); }
 
  .info-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    color: #FFAF00;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .info-icon svg { width: 100%; height: 100%; }
 
  .info-text { min-width: 0; }
  .info-text strong {
    display: block;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.3;
    color: #000;
    word-break: break-word;
    transition: color .25s ease;
  }
  .info-text small {
    display: block;
    margin-top: 4px;
    font-size: 17px;
    line-height: 1.7;
    color: #777;
  }
  /* hover: sirf heading ka color light blue */
  .info-box:hover .info-text strong { color: #4FC3F7; }
 
  /* ---------- Social icons ---------- */
  .social {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding-top: 2px;
  }
  .social a {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #FFC93C;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s ease;      /* sirf move ka transition */
  }
  .social a svg { width: 22px; height: 22px; }
  .social .yt-tri { fill: #FFC93C; }
 
  /* hover: sirf halka upar move hoga, color nahi badlega */
  .social a:hover {
    transform: translateY(-4px);
  }
 .contact-form input[type="number"]::-webkit-inner-spin-button,
.contact-form input[type="number"]::-webkit-outer-spin-button {
  opacity: 1;               /* hamesha dikhe */
  height: 32px;             /* arrows ki size */
  margin-left: 8px;
  cursor: pointer;
}


html{
    scroll-behavior: smooth;
}

section[id]{
    scroll-margin-top: 90px;   /* apne header ki height jitna rakho */
}
  /* ---------- Responsive ---------- */
  @media (max-width: 992px) {
    .contact-grid { grid-template-columns: 1fr; gap: 40px; }
    .contact-head h2 { font-size: 36px; }
    .contact-sub { margin-left: 0; font-size: 22px; }
  }
  @media (max-width: 576px) {
    .contact-head h2 { font-size: 28px; }
    .contact-form { padding: 26px 20px 30px; }
    .contact-right { padding: 18px 14px; }
    .info-box { padding: 20px 16px; gap: 16px; }
    .info-text strong { font-size: 20px; }
    .info-text small { font-size: 15px; }
    .info-box:hover { transform: translateX(6px); }
  }

  
/* ---------- Global ---------- */
html { overflow-x: hidden; }
img { max-width: 100%; }
 
 
/* =====================================================================
   TABLET  (<= 1100px)
   ===================================================================== */
@media (max-width: 1100px) {
 
  /* about: text/image ki extra shifting kam */
  .about-container { gap: 35px; }
  .about-photo img { height: 440px; }
  .about-photo h3 { margin-left: 90px; }
  .about-photo p  { margin-left: -30px; }
  .about-content  { transform: translate(-30px, 0); }
  .about-content h2 { font-size: 38px; }
 
  /* services */
  .services-grid { gap: 28px; }
  .service-card { min-height: 600px; }
  .service-card img { height: 270px; }
  .service-card h3 { font-size: 24px; }
  .service-card p  { font-size: 17px; }
 
  /* appointment */
  .appt-section { margin-left: 0; }
  .appt-container { gap: 40px; }
  .why-content h2 { font-size: 38px; }
  .stat-num { font-size: 50px; }
  .stat-text { font-size: 20px; }
 
  /* contact */
  .contact-grid { gap: 40px; }
  .info-text strong { font-size: 22px; }
}
 
 
/* =====================================================================
   TABLET  (<= 992px)
   ===================================================================== */
@media (max-width: 992px) {
 
  /* ---------- HERO ---------- */
  .hero { min-height: 500px; }
  .hero-content { padding: 50px 25px; }
  .hero-text { max-width: 100%; }
  .hero-text h1 { font-size: 40px; }
  .hero-text p  { font-size: 17px; max-width: 100%; }
 
  /* ---------- ABOUT ---------- */
 .about-section { padding: 40px 20px 40px; margin: 30px auto 0 !important; }
.about-container { grid-template-columns: 1fr; gap: 30px; }
.about-photo { transform: none; max-width: 560px; margin: 0 auto; }
.about-photo img { width: 100%; height: 420px; border-radius: 30px; }
.about-photo h3 { margin-left: 0; text-align: center; }
.about-photo p  { margin-left: 0; }

.about-content  { transform: none; text-align: center; }
.about-label    { justify-content: center; }
.about-content h2 { font-size: 34px; }
.about-content p  { font-size: 18px; }
.about-buttons  { justify-content: center; }
 
  /* ---------- SERVICES ---------- */
  .services-section { padding: 45px 20px 55px; }
  .services-head h2 { font-size: 34px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); gap: 28px; }
  .service-card { min-height: auto; padding-bottom: 20px; }
  .service-card img { height: 280px; }
  /* 3rd card beech me */
  .services-grid .service-card:nth-child(3):last-child {
    grid-column: 1 / -1;
    width: calc(50% - 14px);
    justify-self: center;
  }
 
  /* ---------- FACILITIES ---------- */
  .facilities-section {
    background-attachment: scroll;      /* tablet/mobile par fixed bg theek nahi chalta */
    padding: 55px 20px 65px;
    margin-top: 0;
  }
  .facilities-head { margin-bottom: 40px; }
  .facilities-head h2 { font-size: 34px; }
  .facilities-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .facility-card,
  .facility-card:nth-child(4),
  .facility-card:nth-child(5) { grid-column: auto; width: auto; }
  /* 5th card beech me */
  .facility-card:nth-child(5) {
    grid-column: 1 / -1;
    width: calc(50% - 12px);
    justify-self: center;
  }
  .facility-card img { height: 230px; }
  .facility-card h3  { font-size: 26px; }
  .facility-card p   { font-size: 17px; line-height: 1.7; }
 
  /* ---------- APPOINTMENT / WHY CHOOSE US ---------- */
  .appt-section { padding: 40px 20px; margin: 30px 0 0; }
  .appt-container { grid-template-columns: 1fr; gap: 40px; }
  .appt-card { padding: 30px 28px 40px; max-width: 640px; width: 100%; margin: 0 auto; }
  .why-content h2 { font-size: 34px; }
  .why-list li { font-size: 18px; }
 
  /* ---------- GALLERY ---------- */
  .gallery-section { padding: 40px 12px 50px; }
  .gallery-inner { margin-top: 20px; }
  .gallery-head h2 { font-size: 34px; }
 
  /* ---------- TESTIMONIALS ---------- */
  .testi-section { padding: 40px 20px 55px; margin-top: 30px; }
  .testi-head h2 { font-size: 34px; }
  .testi-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .testi-card { min-height: auto; padding: 36px 26px 34px; }
  /* 3rd card beech me */
  .testi-grid .testi-card:nth-child(3):last-child {
    grid-column: 1 / -1;
    width: calc(50% - 10px);
    justify-self: center;
  }
 
  /* ---------- CONTACT ---------- */
  .contact-section { padding: 40px 20px 70px; }
  .contact-head { margin-bottom: 20px; }
  .contact-head h2 { font-size: 36px; }
  .contact-grid { grid-template-columns: 1fr; gap: 30px; margin-top: 30px; }
  .contact-sub { margin: 0 0 16px 0; font-size: 22px; }
  .contact-right { max-width: 100%; margin-top: 0; }
}
 
 
/* =====================================================================
   TABLET (chhota) / BADA MOBILE  (<= 768px)
   ===================================================================== */
@media (max-width: 768px) {
 
  /* header */
  .info small { font-size: 17px; }
  .info span  { font-size: 15px; }
  .info svg   { width: 32px; height: 32px; }
  .btn-book   { font-size: 17px; padding: 10px 24px; }
  .nav-list > li > a { font-size: 17px; }
 
  /* hero */
  .hero { min-height: 470px; }
  .hero-text h1 { font-size: 34px; }
 
  /* about */
  .about-photo img { height: 380px; }
  .about-content h2 { font-size: 30px; }
 
  /* services */
  .services-head h2 { font-size: 30px; }
  .service-line { height: 22px; }
 
  /* appointment */
  .why-content h2 { font-size: 30px; }
  .stats { gap: 10px; }
  .stat-num { font-size: 44px; }
  .stat-text { font-size: 17px; }
 
  /* footer */
  .site-footer p { font-size: 15px; }
}
 
 
/* =====================================================================
   MOBILE  (<= 576px)
   ===================================================================== */
@media (max-width: 576px) {
 
  /* ---------- HEADER ---------- */
  .header-inner { padding: 8px 16px; gap: 12px; }
  .logo img { width: 160px; height: 56px; }
  .menu-toggle { font-size: 28px; }
  .top-row { gap: 14px; padding: 6px 0 12px; }
  .info small { font-size: 16px; }
  .info span  { font-size: 14px; }
  .info svg   { width: 28px; height: 28px; }
  .btn-book   { width: 100%; justify-content: center; font-size: 16px; padding: 10px 20px; }
  .nav-list > li > a { font-size: 16px; padding: 11px 0; }
 
  /* ---------- HERO ---------- */
  .hero { min-height: 440px; }
  .hero-content { padding: 40px 20px; }
  .hero-text h1 { font-size: 28px; margin-bottom: 16px; }
  .hero-text p  { font-size: 15px; margin-bottom: 22px; }
  .btn-book-now { padding: 12px 32px; font-size: 16px; }
 
  /* ---------- ABOUT ---------- */
 .about-section { padding: 30px 16px 30px; margin-top: 20px !important; }
.about-photo img { height: 300px; border-radius: 24px; }
.about-photo h3 { font-size: 22px; margin: 18px 0 8px; }
.about-photo p  { font-size: 16px; }

.about-content  { text-align: center; }
.about-label    { font-size: 16px; justify-content: center; }
.about-content h2 { font-size: 26px; margin-bottom: 16px; }
.about-content p  { font-size: 16px; }
.about-buttons  { justify-content: center; }
.read-more-btn  { padding: 12px 26px; font-size: 16px; }
 
  /* ---------- SERVICES ---------- */
  .services-section { padding: 35px 16px 45px; }
  .services-label { font-size: 16px; }
  .services-head { margin-bottom: 28px; }
  .services-head h2 { font-size: 26px; }
  .services-grid { grid-template-columns: 1fr; gap: 24px; max-width: 460px; margin: 0 auto; }
  .services-grid .service-card:nth-child(3):last-child { grid-column: auto; width: auto; }
  .service-card img { height: 240px; }
  .service-card h3 { font-size: 22px; margin: 18px 0 14px; }
  .service-line { height: 18px; margin-bottom: 16px; }
  .service-card p { font-size: 16px; padding: 0 16px; }
  .services-more { margin-top: 35px; }
  .view-more-btn { font-size: 16px; padding: 11px 26px; }
 
  /* ---------- FACILITIES ---------- */
  .facilities-section { padding: 40px 14px 50px; }
  .facilities-head { margin-bottom: 28px; }
  .facilities-head h2 { font-size: 26px; }
  .facilities-grid { grid-template-columns: 1fr; gap: 20px; max-width: 480px; margin: 0 auto; }
  .facility-card:nth-child(5) { grid-column: auto; width: auto; justify-self: stretch; }
  .facility-card { padding: 14px 18px 24px; }
  .facility-card img { height: 210px; }
  .facility-card h3 { font-size: 23px; }
  .facility-card p  { font-size: 16px; }
 
  /* ---------- APPOINTMENT / WHY CHOOSE US ---------- */
  .appt-section { padding: 30px 16px; margin-top: 20px; }
  .appt-card { padding: 24px 18px 30px; }
  .appt-card h3 { font-size: 24px; }
  .appt-sub { font-size: 16px; }
  .appt-field label { font-size: 16px; }
  .appt-field input { height: 46px; font-size: 16px; }
  .appt-btn { height: 48px; font-size: 17px; }
  .why-label { font-size: 16px; }
  .why-content h2 { font-size: 26px; margin-bottom: 20px; }
  .why-list li { font-size: 16px; padding-left: 30px; }
  .stats { flex-direction: column; gap: 22px; margin-top: 30px; }
  .stat-num { font-size: 44px; }
  .stat-text { font-size: 18px; }
 
  /* ---------- GALLERY ---------- */
  .gallery-section { padding: 30px 10px 40px; }
  .gallery-label { font-size: 16px; }
  .gallery-label::before,
  .gallery-label::after { width: 36px; }
  .gallery-head h2 { font-size: 26px; }
  .gallery-grid { padding: 8px; }
  .g-col { gap: 8px; }
  .gallery-grid.is-masonry { gap: 8px; }
 
  /* lightbox */
  .glb-toolbar { padding: 0 2px 0 14px; }
  .glb-counter { font-size: 15px; }
  .glb-btn { width: 36px; height: 52px; }
  .glb-btn svg { width: 20px; height: 20px; }
  .glb-stage { padding: 12px 8px; }
  .glb-img { max-width: calc(100vw - 16px); max-height: calc(100vh - 130px); }
  .glb.show-thumbs .glb-img { max-height: calc(100vh - 220px); }
  .glb-nav { width: 38px; height: 38px; }
  .glb-nav svg { width: 28px; height: 28px; }
  .glb-prev { left: 2px; }
  .glb-next { right: 2px; }
  .glb-thumbs { height: 84px; padding: 8px 10px; }
  .glb-thumbs img { height: 64px; width: 88px; }
  .glb.show-thumbs .glb-stage { bottom: 84px; }
 
  /* ---------- TESTIMONIALS ---------- */
  .testi-section { padding: 30px 16px 45px; margin-top: 20px; }
  .testi-label { font-size: 16px; }
  .testi-head { margin-bottom: 28px; }
  .testi-head h2 { font-size: 26px; }
  .testi-grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
  .testi-grid .testi-card:nth-child(3):last-child { grid-column: auto; width: auto; }
  .testi-card { padding: 32px 20px 28px; }
  .testi-card::before { width: 80px; height: 80px; }
  .testi-quote { width: 32px; height: 22px; top: 16px; right: 16px; }
  .testi-avatar { width: 76px; height: 76px; margin-bottom: 16px; }
  .testi-card h3 { font-size: 20px; }
  .testi-role { font-size: 16px; }
  .testi-stars { font-size: 22px; margin-bottom: 18px; }
  .testi-card p { font-size: 16px; line-height: 1.7; }
 
  /* ---------- CONTACT ---------- */
  .contact-section { padding: 30px 16px 55px; }
  .contact-label { font-size: 16px; }
  .contact-head h2 { font-size: 26px; }
  .contact-sub { font-size: 19px; }
  .contact-form { padding: 24px 18px 28px; border-radius: 16px; }
  .contact-form label { font-size: 16px; }
  .contact-form input { height: 46px; font-size: 16px; margin-bottom: 16px; }
  .contact-submit { width: 100%; font-size: 17px; }
  .contact-right { padding: 16px 12px; }
  .info-box { padding: 18px 14px; gap: 14px; margin-bottom: 16px; }
  .info-icon { width: 28px; height: 28px; }
  .info-text strong { font-size: 18px; }
  .info-text small  { font-size: 14px; }
  .social { gap: 16px; }
  .social a { width: 42px; height: 42px; }
 
  /* ---------- FOOTER ---------- */
  .site-footer { padding: 28px 14px 80px; }
  .site-footer p { font-size: 14px; }
}
 
 
/* =====================================================================
   CHHOTA MOBILE  (<= 400px)
   ===================================================================== */
@media (max-width: 400px) {
  .logo img { width: 140px; height: 50px; }
  .hero-text h1 { font-size: 25px; }
  .about-content h2,
  .services-head h2,
  .facilities-head h2,
  .why-content h2,
  .gallery-head h2,
  .testi-head h2,
  .contact-head h2 { font-size: 23px; }
  .glb-btn { width: 32px; }
  .glb-counter { font-size: 14px; }
  .info-text strong { font-size: 16px; }
}
 
 
/* =====================================================================
   TOUCH DEVICES (phone/tablet): hover wali movement band
   ===================================================================== */
@media (hover: none) {
  .service-card:hover { transform: none; }
  .info-box:hover { transform: none; }
  .social a:hover { transform: none; }
}
 


/*--------------------------book your appointment---------------------*/



  /* Desktop par hide */
  .mobile-cta { display: none; margin-bottom: 20px;}
 
  /* Tablet + Mobile par show */
  @media (max-width: 992px) {
    .mobile-cta {
      display: flex;
      width: 100%;
    }
    .mobile-cta,
    .mobile-cta * {
      font-family: 'Poppins', sans-serif;
      box-sizing: border-box;
    }
    .mobile-cta a {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 6px;
      padding: 16px 12px;
      text-align: center;
      text-decoration: none;
      line-height: 1.4;
    }
    .mobile-cta strong {
      font-size: 20px;
      font-weight: 600;
    }
    .mobile-cta span {
      font-size: 19px;
    }
 
    /* Left: orange */
    .cta-call { background: #FFAF00; }
    .cta-call strong { color: #fff; }
    .cta-call span   { color: #000; }
 
    /* Right: black */
    .cta-book { background: #000; }
    .cta-book strong { color: #fff; }
    .cta-book span   { color: #FFAF00; }
  }
 
  @media (max-width: 576px) {
    .mobile-cta a { padding: 14px 8px; }
    .mobile-cta strong { font-size: 18px; }
    .mobile-cta span   { font-size: 16px; }
  }


  /*--------------------------------------------------------About-us------------------------------------------------------*/


  
  .page-banner,
  .page-banner * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
    margin-top: 50px;
  }
 
  .page-banner {
    position: relative;
    width: 100%;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: url('images/special-facilitie-backgroundimg.jpg') top / cover no-repeat;   /* apni banner image ka path */
    overflow: hidden;
  }
 
  /* black overlay image ke upar */
  .page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .65);        /* kam/zyada dark: .65 badlein */
  }
 
  .page-banner-inner {
    position: relative;                    /* overlay ke upar */
    width: 100%;
    max-width: 1300px;
    padding: 50px 20px;
  }
 
  .breadcrumb-nav {
    margin-bottom: 18px;
    font-size: 22px;
    color: #fff;
  }
  .breadcrumb-nav a {
    color: #fff;
    text-decoration: none;
    transition: color .2s ease;
  }
  .breadcrumb-nav a:hover { color: #FFAF00; }
  .breadcrumb-nav span { color: #fff; }
 
  .page-banner h1 {
    margin: 0;
    font-size: 64px;
    font-weight: 700;
    line-height: 1.2;
    color: #FFAF00;
  }
 
  /* ---------- Tablet ---------- */
  @media (max-width: 992px) {
    .page-banner { min-height: 300px; }
    .breadcrumb-nav { font-size: 19px; }
    .page-banner h1 { font-size: 48px; }
  }
 
  /* ---------- Mobile ---------- */
  @media (max-width: 576px) {
    .page-banner { min-height: 240px; }
    .page-banner-inner { padding: 40px 16px; }
    .breadcrumb-nav { font-size: 16px; margin-bottom: 12px; }
    .page-banner h1 { font-size: 34px; }
  }




  
  .ab-intro,
  .ab-intro * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
  .ab-intro {
    background: #ECECEC;
    padding: 70px 20px 60px;
    
  }
  .ab-intro-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 70px;
    align-items: center;
    margin-top: 60px;
  }
 
  /* ---------- Left: images ---------- */
  .ab-intro-images {
    position: relative;
    padding-bottom: 40px;                 /* chhoti image ke overlap ke liye jagah */
  }
  .ab-img-main {
    display: block;
    width: 90%;
    height: 420px;
    object-fit: cover;
    border-radius: 70px 70px 70px 70px;  /* kone gol: size yahan badlein */
  }
  .ab-img-small {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 44%;
    height: 200px;
    object-fit: cover;
    border-radius: 40px;
  }
 
  /* ---------- Right: content ---------- */
  .ab-intro-label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    color: #6b6b6b;
    margin-bottom: 16px;
  }
  .ab-intro-label::before,
  .ab-intro-label::after {
    content: "";
    width: 36px;
    height: 2px;
    background: #F5A623;
  }
  .ab-intro-content h2 {
    margin: 0 0 22px;
    font-size: 46px;
    font-weight: 600;
    line-height: 1.15;
    color: #000;
  }
  .ab-intro-content p {
    margin: 0 0 16px;
    font-size: 19px;
    line-height: 1.75;
    color: #6b6b6b;
    text-align: justify;
  }
 
  /* ---------- Tablet ---------- */
  @media (max-width: 992px) {
    .ab-intro { padding: 50px 20px 60px; }
    .ab-intro-container { grid-template-columns: 1fr; gap: 40px; }
    .ab-intro-images { max-width: 620px; margin: 0 auto; width: 100%; }
    .ab-img-main { height: 400px; }
    .ab-intro-content { text-align: center; }
    .ab-intro-label { justify-content: center; }
    .ab-intro-content h2 { font-size: 36px; }
    .ab-intro-content p { font-size: 18px; }
  }
 
  /* ---------- Mobile ---------- */
  @media (max-width: 576px) {
    .ab-intro { padding: 35px 16px 45px; }
    .ab-img-main { height: 280px; border-radius: 40px; }
    .ab-img-small { height: 130px; border-radius: 24px; }
    .ab-intro-images { padding-bottom: 30px; }
    .ab-intro-label { font-size: 16px; }
    .ab-intro-content h2 { font-size: 28px; }
    .ab-intro-content p { font-size: 16px; }
  }


  
  .doc-section,
  .doc-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
  .doc-section {
    background: #fff;
    padding: 60px 20px 70px;
  }
  .doc-container {
    max-width: 1250px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    margin-top: 40px;
  }
 
  /* ---------- Left ---------- */
  .doc-content h2 {
    margin: 0 0 26px;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.1;
    color: #000;
  }
  .doc-content p {
    margin: 0 0 28px;
    font-size: 19px;
    line-height: 1.75;
    color: #777;
  }
  .doc-content p:last-child { margin-bottom: 0; }
 
  /* ---------- Right ---------- */
  .doc-card img {
    display: block;
    width: 100%;
    height: 440px;
    object-fit: cover;
    background: #C3CAD2;          /* image aane se pehle grey */
  }
  .doc-card h3 {
    margin: 22px 0 8px;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.2;
    color: #000;
  }
  .doc-card p {
    margin: 0;
    font-size: 18px;
    line-height: 1.6;
    color: #777;
  }
 
  /* ---------- Tablet ---------- */
  @media (max-width: 992px) {
    .doc-section { padding: 45px 20px 55px; }
    .doc-container { grid-template-columns: 1fr; gap: 40px; }
    .doc-content { text-align: center; }
    .doc-content h2 { font-size: 36px; }
    .doc-content p { font-size: 18px; margin-bottom: 20px; }
    .doc-card { max-width: 620px; width: 100%; margin: 0 auto; text-align: center; }
    .doc-card img { height: 400px; }
    .doc-card h3 { font-size: 30px; }
  }
 
  /* ---------- Mobile ---------- */
  @media (max-width: 576px) {
    .doc-section { padding: 35px 16px 45px; }
    .doc-content h2 { font-size: 27px; }
    .doc-content p { font-size: 16px; }
    .doc-card img { height: 280px; }
    .doc-card h3 { font-size: 24px; }
    .doc-card p { font-size: 16px; }
  }


  .stats-band,
  .stats-band * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
  .stats-band {
    background: #FFAF00;
    width: calc(100% - 40px);
    max-width: 1800px;
    margin: 30px auto;
    padding: 30px 20px 30px;
    margin-bottom: 30px;
  }
  .stats-band-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    text-align: center;
  }
  .sb-num {
    font-size: 64px;
    font-weight: 700;
    line-height: 1.15;
    color: #fff;
  }
  .sb-text {
    margin-top: 4px;
    font-size: 24px;
    color: #000;
  }
 
  /* ---------- Tablet ---------- */
  @media (max-width: 992px) {
    .stats-band { padding: 45px 16px 50px; }
    .sb-num { font-size: 48px; }
    .sb-text { font-size: 19px; }
  }
 
  /* ---------- Mobile ---------- */
  @media (max-width: 576px) {
    .stats-band { padding: 35px 16px 40px; }
    .stats-band-inner { grid-template-columns: 1fr; gap: 26px; }
    .sb-num { font-size: 44px; }
    .sb-text { font-size: 18px; }
  }

/*-------------------------mobile and tablet view css--------------------*/



html, body { overflow-x: hidden; }
 
/* ---------- Banner ---------- */
.page-banner,
.page-banner * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.page-banner {
  position: relative;
  width: 100%;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: url('images/special-facilitie-backgroundimg.jpg') top / cover no-repeat;
  overflow: hidden;
}
.page-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .65);
}
.page-banner-inner {
  position: relative;
  width: 100%;
  max-width: 1300px;
  padding: 50px 20px;
}
.breadcrumb-nav {
  margin-bottom: 18px;
  font-size: 22px;
  color: #fff;
}
.breadcrumb-nav a {
  color: #fff;
  text-decoration: none;
  transition: color .2s ease;
}
.breadcrumb-nav a:hover { color: #FFAF00; }
.breadcrumb-nav span { color: #fff; }
.page-banner h1 {
  margin: 0;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.2;
  color: #FFAF00;
}
 
/* ---------- About intro ---------- */
.ab-intro,
.ab-intro * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.ab-intro {
  background: #ECECEC;
  padding: 70px 20px 60px;
}
.ab-intro-container {
  max-width: 1200px;
  margin: 60px auto 0;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 70px;
  align-items: center;
}
.ab-intro-images {
  position: relative;
  padding-bottom: 40px;
}
.ab-img-main {
  display: block;
  width: 90%;
  height: 420px;
  object-fit: cover;
  border-radius: 70px;
}
.ab-img-small {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 44%;
  height: 200px;
  object-fit: cover;
  border-radius: 40px;
}
.ab-intro-label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  color: #6b6b6b;
  margin-bottom: 16px;
}
.ab-intro-label::before,
.ab-intro-label::after {
  content: "";
  width: 36px;
  height: 2px;
  background: #F5A623;
}
.ab-intro-content h2 {
  margin: 0 0 22px;
  font-size: 46px;
  font-weight: 600;
  line-height: 1.15;
  color: #000;
}
.ab-intro-content p {
  margin: 0 0 16px;
  font-size: 19px;
  line-height: 1.75;
  color: #6b6b6b;
  text-align: justify;
}
 
/* ---------- Doctor section ---------- */
.doc-section,
.doc-section * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.doc-section {
  background: #fff;
  padding: 60px 20px 70px;
}
.doc-container {
  max-width: 1250px;
  margin: 40px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.doc-content h2 {
  margin: 0 0 26px;
  font-size: 40px;
  font-weight: 600;
  line-height: 1.1;
  color: #000;
}
.doc-content p {
  margin: 0 0 28px;
  font-size: 19px;
  line-height: 1.75;
  color: #777;
}
.doc-content p:last-child { margin-bottom: 0; }
.doc-card img {
  display: block;
  width: 100%;
  height: 440px;
  object-fit: cover;
  background: #C3CAD2;
}
.doc-card h3 {
  margin: 22px 0 8px;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.2;
  color: #000;
}
.doc-card p {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  color: #777;
}
 
/* ---------- Stats band ---------- */
.stats-band,
.stats-band * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.stats-band {
  background: #FFAF00;
  width: calc(100% - 40px);
  max-width: 1800px;
  margin: 30px auto;
  padding: 30px 20px;
}
.stats-band-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  text-align: center;
}
.sb-num {
  font-size: 64px;
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
}
.sb-text {
  margin-top: 4px;
  font-size: 24px;
  color: #000;
}
 
/* =========================================================
   SMALL LAPTOP  (<= 1199px)
   ========================================================= */
@media (max-width: 1199px) {
  .ab-intro-container { gap: 44px; }
  .ab-img-main { height: 380px; border-radius: 56px; }
  .ab-img-small { height: 180px; border-radius: 32px; }
  .ab-intro-content h2 { font-size: 40px; }
  .ab-intro-content p { font-size: 18px; }
 
  .doc-container { gap: 40px; }
  .doc-content h2 { font-size: 36px; }
  .doc-content p { font-size: 18px; }
  .doc-card img { height: 400px; }
  .doc-card h3 { font-size: 32px; }
 
  .sb-num { font-size: 54px; }
  .sb-text { font-size: 21px; }
}
 
/* =========================================================
   TABLET  (<= 992px)
   ========================================================= */
@media (max-width: 992px) {
  /* Banner */
  .page-banner { min-height: 300px; }
  .breadcrumb-nav { font-size: 19px; }
  .page-banner h1 { font-size: 48px; }
 
  /* About intro */
  .ab-intro { padding: 45px 24px 55px; }
  .ab-intro-container {
    grid-template-columns: 1fr;
    gap: 36px;
    margin-top: 20px;
  }
  .ab-intro-images { max-width: 620px; width: 100%; margin: 0 auto; }
  .ab-img-main { width: 90%; height: 400px; border-radius: 60px; }
  .ab-img-small { width: 42%; height: 190px; }
  .ab-intro-content { text-align: center; }
  .ab-intro-label { justify-content: center; }
  .ab-intro-content h2 { font-size: 36px; }
  .ab-intro-content p { font-size: 17px; text-align: center; }
 
  /* Doctor section */
  .doc-section { padding: 45px 24px 55px; }
  .doc-container { grid-template-columns: 1fr; gap: 36px; margin-top: 10px; }
  .doc-content { text-align: center; }
  .doc-content h2 { font-size: 34px; margin-bottom: 20px; }
  .doc-content p { font-size: 17px; margin-bottom: 18px; }
  .doc-card { max-width: 620px; width: 100%; margin: 0 auto; text-align: center; }
  .doc-card img { height: 400px; }
  .doc-card h3 { font-size: 28px; }
  .doc-card p { font-size: 17px; }
 
  /* Stats band */
  .stats-band { margin: 24px auto; padding: 36px 16px; }
  .sb-num { font-size: 46px; }
  .sb-text { font-size: 18px; }
}
 
/* =========================================================
   LARGE MOBILE  (<= 768px)
   ========================================================= */
@media (max-width: 768px) {
  .page-banner h1 { font-size: 40px; }
  .ab-img-main { height: 340px; border-radius: 48px; }
  .ab-img-small { height: 160px; border-radius: 28px; }
  .ab-intro-content h2 { font-size: 32px; }
  .doc-content h2 { font-size: 30px; }
  .doc-card img { height: 340px; }
}
 
/* =========================================================
   MOBILE  (<= 576px)
   ========================================================= */
@media (max-width: 576px) {
  /* Banner */
  .page-banner { min-height: 240px; }
  .page-banner-inner { padding: 40px 16px; }
  .breadcrumb-nav { font-size: 16px; margin-bottom: 12px; }
  .page-banner h1 { font-size: 32px; }
 
  /* About intro */
  .ab-intro { padding: 32px 16px 44px; }
  .ab-intro-container { gap: 28px; margin-top: 0; }
  .ab-intro-images { padding-bottom: 28px; }
  .ab-img-main { width: 92%; height: 260px; border-radius: 36px; }
  .ab-img-small { width: 46%; height: 120px; border-radius: 22px; }
  .ab-intro-label { font-size: 16px; gap: 10px; }
  .ab-intro-label::before,
  .ab-intro-label::after { width: 24px; }
  .ab-intro-content h2 { font-size: 26px; margin-bottom: 16px; }
  .ab-intro-content p { font-size: 15.5px; line-height: 1.7; }
 
  /* Doctor section */
  .doc-section { padding: 32px 16px 44px; }
  .doc-container { gap: 28px; }
  .doc-content h2 { font-size: 25px; }
  .doc-content p { font-size: 15.5px; line-height: 1.7; }
  .doc-card img { height: 280px; }
  .doc-card h3 { font-size: 23px; margin-top: 18px; }
  .doc-card p { font-size: 15.5px; }
 
  /* Stats band */
  .stats-band { width: calc(100% - 32px); margin: 20px auto; padding: 30px 16px; }
  .stats-band-inner { grid-template-columns: 1fr; gap: 22px; }
  .sb-num { font-size: 42px; }
  .sb-text { font-size: 17px; }
}
 
/* =========================================================
   EXTRA SMALL  (<= 380px)
   ========================================================= */
@media (max-width: 380px) {
  .page-banner h1 { font-size: 28px; }
  .ab-img-main { height: 230px; }
  .ab-img-small { height: 105px; }
  .ab-intro-content h2 { font-size: 23px; }
  .doc-content h2 { font-size: 23px; }
  .doc-card img { height: 250px; }
}
 

  /*-----------------------------------------------------contact us--------------------------------------------------------*/




  .contact-banner,
.contact-banner * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
    margin-top: 50px;
}

.contact-banner {
    position: relative;
    width: 100%;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: url('images/special-facilitie-backgroundimg.jpg') top / cover no-repeat;
    overflow: hidden;
}

/* Black overlay */
.contact-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .65);
    
}

.contact-banner-inner {
    position: relative;
    width: 100%;
    max-width: 1300px;
    padding: 50px 10px;
}

.contact-breadcrumb-nav {
    margin-bottom: 18px;
    font-size: 22px;
    color: #fff;
}

.contact-breadcrumb-nav a {
    color: #fff;
    text-decoration: none;
    transition: color .2s ease;
}

.contact-breadcrumb-nav a:hover {
    color: #FFAF00;
}

.contact-breadcrumb-nav span {
    color: #fff;
}

.contact-banner h1 {
    margin: 0;
    font-size: 64px;
    font-weight: 700;
    line-height: 1.2;
    color: #FFAF00;
}

/* Tablet */
@media (max-width: 992px) {
    .contact-banner {
        min-height: 300px;
    }

    .contact-breadcrumb-nav {
        font-size: 19px;
    }

    .contact-banner h1 {
        font-size: 48px;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .contact-banner {
        min-height: 240px;
    }

    .contact-banner-inner {
        padding: 40px 16px;
    }

    .contact-breadcrumb-nav {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .contact-banner h1 {
        font-size: 34px;
    }
}



.reach-section,
.reach-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
}

.reach-section {
    background: #ECECEC;
    padding: 50px 20px 120px;
}

.reach-inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* Heading */
.reach-head {
    text-align: center;
    margin-bottom: 40px;
}

.reach-label {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 18px;
    color: #6b6b6b;
    margin-bottom: 10px;
}


.reach-left
{
  margin-top: -50px;
}
.reach-head h2 {
    margin: 0;
    font-size: 46px;
    font-weight: 600;
    line-height: 1.2;
    color: #000;
}

.reach-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    margin-top: 60px;
}

/* Left: Form */
.reach-sub {
    margin: 0 0 22px 28px;
    font-size: 44px;
    font-weight: 600;
    line-height: 1.4;
    color: #000;
}

.reach-form {
    background: #fff;
    border-radius: 20px;
    padding: 36px 40px 40px;
}

.reach-form label {
    display: block;
    margin-bottom: 6px;
    font-size: 18px;
    font-weight: 500;
    color: #222;
}

.reach-form input {
    width: 100%;
    height: 50px;
    margin-bottom: 20px;
    padding: 0 14px;
    font-size: 18px;
    color: #222;
    background: #fdfdfd;
    border: 1px solid #ccc;
    border-radius: 10px;
    outline: none;
}

.reach-form input:focus {
    border-color: #FFAF00;
}

.reach-submit {
    padding: 12px 34px;
    font-size: 19px;
    font-weight: 500;
    color: #000;
    background: #FFAF00;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

.reach-submit:hover,
.reach-submit:focus-visible {
    background: #808080;
    color: #fff;
    outline: none;
}

.reach-success {
    display: none;
    margin: 14px 0 0;
    font-size: 16px;
    color: #1e8e3e;
}

.reach-success.show {
    display: block;
}

/* Right: Info panel */
.reach-right {
    background: #7a7a7a;
    border-radius: 14px;
    padding: 25px 25px 22px;
    margin-top: 20px;
    max-width: 580px;
}

.reach-info-box {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
    padding: 26px 28px;
    background: #fff;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: transform .3s ease;
}

.reach-info-box:hover {
    transform: translateX(14px);
}

.reach-info-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    color: #FFAF00;
    display: flex;
    align-items: center;
    justify-content: center;
}

.reach-info-icon svg {
    width: 100%;
    height: 100%;
}

.reach-info-text {
    min-width: 0;
}

.reach-info-text strong {
    display: block;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.3;
    color: #000;
    word-break: break-word;
    transition: color .25s ease;
}

.reach-info-text small {
    display: block;
    margin-top: 4px;
    font-size: 17px;
    line-height: 1.7;
    color: #777;
}

.reach-info-box:hover .reach-info-text strong {
    color: #4FC3F7;
}

/* Social icons */
.reach-social {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding-top: 2px;
}

.reach-social a {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #FFC93C;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s ease;
}

.reach-social a svg {
    width: 22px;
    height: 22px;
}

.reach-social .reach-yt-tri {
    fill: #FFC93C;
}

.reach-social a:hover {
    transform: translateY(-4px);
}

.reach-form input[type="number"]::-webkit-inner-spin-button,
.reach-form input[type="number"]::-webkit-outer-spin-button {
    opacity: 1;
    height: 32px;
    margin-left: 8px;
    cursor: pointer;
}

html {
    scroll-behavior: smooth;
}

/* Responsive */
@media (max-width: 992px) {
    .reach-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .reach-head h2 {
        font-size: 36px;
    }

    .reach-sub {
        margin-left: 0;
        font-size: 22px;
    }
}

@media (max-width: 576px) {
    .reach-head h2 {
        font-size: 28px;
    }

    .reach-form {
        padding: 26px 20px 30px;
    }

    .reach-right {
        padding: 18px 14px;
    }

    .reach-info-box {
        padding: 20px 16px;
        gap: 16px;
    }

    .reach-info-text strong {
        font-size: 20px;
    }

    .reach-info-text small {
        font-size: 15px;
    }

    .reach-info-box:hover {
        transform: translateX(6px);
    }
}

/* Full Width Google Map */
.reach-map {
    width: 100%;
    height: 450px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    margin-top: -30px;
    margin-bottom: 50px;
}

.reach-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Tablet View */
@media (max-width: 991px) {
    .reach-map {
        height: 380px;
    }
}

/* Mobile View */
@media (max-width: 576px) {
    .reach-map {
        height: 300px;
    }
}


/*-----------------mobiel and tablet view css---------------*/


html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}
body { overflow-x: hidden; }
 
/* ---------- Banner ---------- */
.contact-banner,
.contact-banner * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.contact-banner {
  position: relative;
  width: 100%;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: url('images/special-facilitie-backgroundimg.jpg') top / cover no-repeat;
  overflow: hidden;
}
.contact-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .65);
}
.contact-banner-inner {
  position: relative;
  width: 100%;
  max-width: 1300px;
  padding: 50px 10px;
}
.contact-breadcrumb-nav {
  margin-bottom: 18px;
  font-size: 22px;
  color: #fff;
}
.contact-breadcrumb-nav a {
  color: #fff;
  text-decoration: none;
  transition: color .2s ease;
}
.contact-breadcrumb-nav a:hover { color: #FFAF00; }
.contact-breadcrumb-nav span { color: #fff; }
.contact-banner h1 {
  margin: 0;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.2;
  color: #FFAF00;
}
 
/* ---------- Reach section ---------- */
.reach-section,
.reach-section * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.reach-section {
  background: #ECECEC;
  padding: 50px 20px 120px;
}
.reach-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.reach-head {
  text-align: center;
  margin-bottom: 40px;
}
.reach-label {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 18px;
  color: #6b6b6b;
  margin-bottom: 10px;
}
.reach-head h2 {
  margin: 0;
  font-size: 46px;
  font-weight: 600;
  line-height: 1.2;
  color: #000;
}
.reach-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
  margin-top: 60px;
}
.reach-left { margin-top: -50px; }
 
/* Left: Form */
.reach-sub {
  margin: 0 0 22px 28px;
  font-size: 44px;
  font-weight: 600;
  line-height: 1.4;
  color: #000;
}
.reach-form {
  background: #fff;
  border-radius: 20px;
  padding: 36px 40px 40px;
}
.reach-form label {
  display: block;
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: 500;
  color: #222;
}
.reach-form input {
  display: block;
  width: 100%;
  min-width: 0;
  height: 50px;
  margin-bottom: 20px;
  padding: 0 14px;
  font-size: 18px;
  color: #222;
  background: #fdfdfd;
  border: 1px solid #ccc;
  border-radius: 10px;
  outline: none;
}
.reach-form input:focus { border-color: #FFAF00; }
.reach-submit {
  padding: 12px 34px;
  font-size: 19px;
  font-weight: 500;
  color: #000;
  background: #FFAF00;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.reach-submit:hover,
.reach-submit:focus-visible {
  background: #808080;
  color: #fff;
  outline: none;
}
.reach-success {
  display: none;
  margin: 14px 0 0;
  font-size: 16px;
  color: #1e8e3e;
}
.reach-success.show { display: block; }
 
.reach-form input[type="number"]::-webkit-inner-spin-button,
.reach-form input[type="number"]::-webkit-outer-spin-button {
  opacity: 1;
  height: 32px;
  margin-left: 8px;
  cursor: pointer;
}
 
/* Right: Info panel */
.reach-right {
  background: #7a7a7a;
  border-radius: 14px;
  padding: 25px 25px 22px;
  margin-top: 20px;
  max-width: 580px;
}
.reach-info-box {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
  padding: 26px 28px;
  background: #fff;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: transform .3s ease;
}
.reach-info-box:hover { transform: translateX(14px); }
.reach-info-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  color: #FFAF00;
  display: flex;
  align-items: center;
  justify-content: center;
}
.reach-info-icon svg { width: 100%; height: 100%; }
.reach-info-text { min-width: 0; }
.reach-info-text strong {
  display: block;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.3;
  color: #000;
  word-break: break-word;
  transition: color .25s ease;
}
.reach-info-text small {
  display: block;
  margin-top: 4px;
  font-size: 17px;
  line-height: 1.7;
  color: #777;
}
.reach-info-box:hover .reach-info-text strong { color: #4FC3F7; }
 
/* Social icons */
.reach-social {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding-top: 2px;
}
.reach-social a {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: #FFC93C;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .25s ease;
}
.reach-social a svg { width: 22px; height: 22px; }
.reach-social .reach-yt-tri { fill: #FFC93C; }
.reach-social a:hover { transform: translateY(-4px); }
 
/* Full Width Google Map */
.reach-map {
  width: 100%;
  height: 450px;
  margin: -30px 0 50px;
  padding: 0;
  overflow: hidden;
}
.reach-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
 
/* =========================================================
   SMALL LAPTOP  (<= 1199px)
   ========================================================= */
@media (max-width: 1199px) {
  .reach-grid { gap: 40px; }
  .reach-head h2 { font-size: 40px; }
  .reach-sub { font-size: 36px; margin-left: 0; }
  .reach-form { padding: 30px 28px 34px; }
  .reach-info-box { padding: 22px 22px; gap: 18px; }
  .reach-info-text strong { font-size: 22px; }
  .reach-info-text small { font-size: 16px; }
}
 
/* =========================================================
   TABLET  (<= 992px)
   ========================================================= */
@media (max-width: 992px) {
  /* Banner */
  .contact-banner { min-height: 300px; }
  .contact-breadcrumb-nav { font-size: 19px; }
  .contact-banner h1 { font-size: 48px; }
 
  /* Reach section: single column */
  .reach-section { padding: 45px 24px 70px; }
  .reach-head { margin-bottom: 28px; }
  .reach-head h2 { font-size: 36px; }
  .reach-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-top: 30px;
  }
  .reach-left { margin-top: 0; }          /* -50px hata diya, overlap nahi hoga */
  .reach-sub {
    margin: 0 0 18px;
    font-size: 28px;
    line-height: 1.35;
    text-align: center;
  }
  .reach-form {
    max-width: 640px;
    margin: 0 auto;
    border-radius: 18px;
  }
  .reach-right {
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
  }
  .reach-info-text strong { font-size: 24px; }
 
  /* Map */
  .reach-map { height: 380px; margin: 0 0 40px; }
}
 
/* =========================================================
   LARGE MOBILE  (<= 768px)
   ========================================================= */
@media (max-width: 768px) {
  .contact-banner h1 { font-size: 40px; }
  .reach-head h2 { font-size: 32px; }
  .reach-sub { font-size: 24px; }
}
 
/* =========================================================
   MOBILE  (<= 576px)
   ========================================================= */
@media (max-width: 576px) {
  /* Banner */
  .contact-banner { min-height: 240px; }
  .contact-banner-inner { padding: 40px 16px; }
  .contact-breadcrumb-nav { font-size: 16px; margin-bottom: 12px; }
  .contact-banner h1 { font-size: 32px; }
 
  /* Reach section */
  .reach-section { padding: 32px 16px 50px; }
  .reach-label { font-size: 16px; gap: 10px; }
  .reach-head { margin-bottom: 22px; }
  .reach-head h2 { font-size: 26px; }
  .reach-grid { gap: 26px; margin-top: 20px; }
  .reach-sub { font-size: 21px; margin-bottom: 14px; }
 
  .reach-form { padding: 24px 18px 28px; border-radius: 16px; }
  .reach-form label { font-size: 16px; }
  .reach-form input {
    height: 46px;
    font-size: 16px;              /* 16px = iPhone par zoom nahi hoga */
    margin-bottom: 16px;
  }
  .reach-submit {
    width: 100%;
    padding: 13px 20px;
    font-size: 17px;
  }
 
  .reach-right { padding: 16px 12px 14px; border-radius: 12px; }
  .reach-info-box {
    padding: 16px 14px;
    gap: 14px;
    margin-bottom: 16px;
  }
  .reach-info-icon { width: 30px; height: 30px; }
  .reach-info-text strong { font-size: 18px; }
  .reach-info-text small { font-size: 14px; line-height: 1.55; }
  .reach-info-box:hover { transform: translateX(4px); }
 
  .reach-social { gap: 14px; }
  .reach-social a { width: 42px; height: 42px; }
 
  /* Map */
  .reach-map { height: 300px; margin: 0 0 30px; }
}
 
/* =========================================================
   EXTRA SMALL  (<= 380px)
   ========================================================= */
@media (max-width: 380px) {
  .contact-banner h1 { font-size: 28px; }
  .reach-head h2 { font-size: 23px; }
  .reach-sub { font-size: 19px; }
  .reach-info-text strong { font-size: 16px; }
  .reach-map { height: 260px; }
}
 
/* =========================================================
   Touch / accessibility
   ========================================================= */
@media (hover: none) {
  .reach-info-box:hover { transform: none; }
  .reach-social a:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reach-info-box,
  .reach-social a,
  .reach-submit { transition: none; }
}
 
/*-----------------------------------------------------------------services--------------------------------------------------*/



.services-banner,
.services-banner * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
  margin-top: 50px;
}

.services-banner {
  position: relative;
  width: 100%;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: url('images/special-facilitie-backgroundimg.jpg') top / cover no-repeat;
  overflow: hidden;
}

.services-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .65);
}

.services-banner-inner {
  position: relative;
  width: 100%;
  max-width: 1300px;
  padding: 50px 20px;
}

.services-breadcrumb-nav {
  margin-bottom: 18px;
  font-size: 22px;
  color: #fff;
}

.services-breadcrumb-nav a {
  color: #fff;
  text-decoration: none;
  transition: color .2s ease;
}

.services-breadcrumb-nav a:hover {
  color: #FFAF00;
}

.services-breadcrumb-nav span {
  color: #fff;
}

.services-banner h1 {
  margin: 0;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.2;
  color: #FFAF00;
}

/* Tablet */
@media (max-width: 992px) {
  .services-banner {
    min-height: 300px;
  }

  .services-breadcrumb-nav {
    font-size: 19px;
  }

  .services-banner h1 {
    font-size: 48px;
  }
}

/* Mobile */
@media (max-width: 576px) {
  .services-banner {
    min-height: 240px;
  }

  .services-banner-inner {
    padding: 40px 16px;
  }

  .services-breadcrumb-nav {
    font-size: 16px;
    margin-bottom: 12px;
  }

  .services-banner h1 {
    font-size: 34px;
  }
}



  .srv-section,
  .srv-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
 
  .srv-section {
    background: #fff;
    max-width: 1300px;
    margin: 0 auto;
    padding: 60px 20px 70px;
  }
 
  /* ---------- Heading ---------- */
  .srv-head { text-align: center; margin-bottom: 45px; }
  .srv-head h2 {
    margin: 0;
    font-size: 42px;
    font-weight: 600;
    line-height: 1.25;
    color: #000;
  }
 
  /* ---------- 3 cards ek row me (2 rows = 6 cards) ---------- */
  .srv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    align-items: stretch;
     row-gap: 80px; 
     margin-top: 30px;
  }
 
  .srv-card {
    background: #fff;
    border-radius: 24px;
    padding: 0 0 10px;
    text-align: center;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
    min-height: 580px;
    border: 2px solid transparent;
    border-bottom: 3px solid #FFAF00;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
  }
  .srv-card img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    margin: 0 auto;
  }
  .srv-card h3 {
    margin: 22px 0 19px;
    font-size: 27px;
    font-weight: 600;
    color: #000;
  }
 
  /* heading ke niche grey line */
  .srv-line {
    height: 30px;                 /* line ki motai yahan badlein */
    background: #DEE0E3;
    margin: 20px 0 20px;
    
  }
  /* Grey line below card heading */
.srv-card .srv-line {
    display: block !important;
    width: 100% !important;
    height: 40px !important;
    background-color: #DEE0E3 !important;
    margin: 20px 0 20px !important;
    padding: 0 !important;
    border: none !important;
    box-sizing: border-box;
}
  .srv-card p {
    margin: 0;
    padding: 0 14px;
    font-size: 19px;
    line-height: 1.7;
    color: #000;
  }
 
  /* ---------- Hover: simple zoom + patli orange border ---------- */
  .srv-card:hover {
    transform: scale(1.04);          /* zoom kam/zyada: 1.04 badlein */
    border-color: #FFAF00;
    box-shadow: 0 10px 24px rgba(0,0,0,.2);
  }
 
  /* ---------- Tablet ---------- */
  @media (max-width: 1100px) {
    .srv-grid { gap: 28px; }
    .srv-card { min-height: 600px; }
    .srv-card img { height: 270px; }
    .srv-card h3 { font-size: 24px; }
    .srv-card p { font-size: 17px; }
  }
  @media (max-width: 992px) {
    .srv-section { padding: 45px 20px 55px; }
    .srv-head h2 { font-size: 34px; }
    .srv-grid { grid-template-columns: repeat(2, 1fr); }
    .srv-card { min-height: auto; padding-bottom: 20px; }
    .srv-card img { height: 280px; }
  }
 
  /* ---------- Mobile ---------- */
  @media (max-width: 640px) {
    .srv-section { padding: 35px 16px 45px; }
    .srv-head { margin-bottom: 28px; }
    .srv-head h2 { font-size: 26px; }
    .srv-grid { grid-template-columns: 1fr; gap: 24px; max-width: 460px; margin: 0 auto; }
    .srv-card img { height: 240px; }
    .srv-card h3 { font-size: 22px; margin: 18px 0 14px; }
    .srv-line { height: 18px; margin-bottom: 16px; }
    .srv-card p { font-size: 16px; padding: 0 16px; }
  }
 
  /* touch screen par hover zoom band */
  @media (hover: none) {
    .srv-card:hover { transform: none; }
  }
  @media (prefers-reduced-motion: reduce) {
    .srv-card { transition: none; }
  }

 /*-----------------------mobile and tablet view css---------------*/
html, body { overflow-x: hidden; }
 
/* ---------- Banner ---------- */
.services-banner,
.services-banner * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.services-banner {
  position: relative;
  width: 100%;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: url('images/special-facilitie-backgroundimg.jpg') top / cover no-repeat;
  overflow: hidden;
}
.services-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .65);
}
.services-banner-inner {
  position: relative;
  width: 100%;
  max-width: 1300px;
  padding: 50px 20px;
}
.services-breadcrumb-nav {
  margin-bottom: 18px;
  font-size: 22px;
  color: #fff;
}
.services-breadcrumb-nav a {
  color: #fff;
  text-decoration: none;
  transition: color .2s ease;
}
.services-breadcrumb-nav a:hover { color: #FFAF00; }
.services-breadcrumb-nav span { color: #fff; }
.services-banner h1 {
  margin: 0;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.2;
  color: #FFAF00;
}
 
/* ---------- Services section ---------- */
.srv-section,
.srv-section * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.srv-section {
  background: #fff;
  max-width: 1300px;
  margin: 0 auto;
  padding: 60px 20px 70px;
}
.srv-head { text-align: center; margin-bottom: 45px; }
.srv-head h2 {
  margin: 0;
  font-size: 42px;
  font-weight: 600;
  line-height: 1.25;
  color: #000;
}
 
.srv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 40px;
  row-gap: 80px;
  align-items: stretch;
  margin-top: 30px;
}
.srv-card {
  background: #fff;
  border-radius: 24px;
  padding: 0 0 10px;
  text-align: center;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
  min-height: 580px;
  border: 2px solid transparent;
  border-bottom: 3px solid #FFAF00;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.srv-card img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: 12px;
  margin: 0 auto;
}
.srv-card h3 {
  margin: 22px 0 19px;
  font-size: 27px;
  font-weight: 600;
  color: #000;
}
/* heading ke niche grey line (!important hata diya, taaki mobile me height change ho sake) */
.srv-card .srv-line {
  display: block;
  width: 100%;
  height: 40px;
  background-color: #DEE0E3;
  margin: 20px 0;
  padding: 0;
  border: none;
}
.srv-card p {
  margin: 0;
  padding: 0 14px;
  font-size: 19px;
  line-height: 1.7;
  color: #000;
}
.srv-card:hover {
  transform: scale(1.04);
  border-color: #FFAF00;
  box-shadow: 0 10px 24px rgba(0,0,0,.2);
}
 
/* =========================================================
   SMALL LAPTOP  (<= 1199px)
   ========================================================= */
@media (max-width: 1199px) {
  .srv-grid { column-gap: 28px; row-gap: 56px; }
  .srv-card { min-height: 540px; }
  .srv-card img { height: 270px; }
  .srv-card h3 { font-size: 24px; margin: 20px 0 14px; }
  .srv-card .srv-line { height: 32px; margin: 16px 0; }
  .srv-card p { font-size: 17px; padding: 0 12px; }
}
 
/* =========================================================
   TABLET  (<= 992px)
   ========================================================= */
@media (max-width: 992px) {
  /* Banner */
  .services-banner { min-height: 300px; }
  .services-breadcrumb-nav { font-size: 19px; }
  .services-banner h1 { font-size: 48px; }
 
  /* Services: 2 columns */
  .srv-section { padding: 45px 24px 55px; }
  .srv-head { margin-bottom: 32px; }
  .srv-head h2 { font-size: 34px; }
  .srv-grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 24px;
    row-gap: 32px;
    margin-top: 0;
  }
  .srv-card { min-height: 0; padding-bottom: 24px; border-radius: 20px; }
  .srv-card img { height: 260px; }
  .srv-card h3 { font-size: 23px; margin: 18px 0 12px; }
  .srv-card .srv-line { height: 24px; margin: 14px 0; }
  .srv-card p { font-size: 16px; line-height: 1.65; }
}
 
/* =========================================================
   LARGE MOBILE  (<= 768px)
   ========================================================= */
@media (max-width: 768px) {
  .services-banner h1 { font-size: 40px; }
  .srv-head h2 { font-size: 30px; }
  .srv-grid { column-gap: 18px; row-gap: 26px; }
  .srv-card img { height: 220px; }
  .srv-card h3 { font-size: 21px; }
  .srv-card p { font-size: 15px; padding: 0 12px; }
}
 
/* =========================================================
   MOBILE  (<= 576px)
   ========================================================= */
@media (max-width: 576px) {
  /* Banner */
  .services-banner { min-height: 240px; }
  .services-banner-inner { padding: 40px 16px; }
  .services-breadcrumb-nav { font-size: 16px; margin-bottom: 12px; }
  .services-banner h1 { font-size: 32px; }
 
  /* Services: 1 column */
  .srv-section { padding: 32px 16px 44px; }
  .srv-head { margin-bottom: 24px; }
  .srv-head h2 { font-size: 25px; }
  .srv-grid {
    grid-template-columns: 1fr;
    row-gap: 24px;
    max-width: 440px;
    margin: 0 auto;
  }
  .srv-card { padding-bottom: 22px; border-radius: 18px; }
  .srv-card img { height: 230px; }
  .srv-card h3 { font-size: 21px; margin: 16px 0 10px; padding: 0 12px; }
  .srv-card .srv-line { height: 16px; margin: 12px 0 14px; }
  .srv-card p { font-size: 15.5px; padding: 0 16px; }
}
 
/* =========================================================
   EXTRA SMALL  (<= 380px)
   ========================================================= */
@media (max-width: 380px) {
  .services-banner h1 { font-size: 28px; }
  .srv-head h2 { font-size: 22px; }
  .srv-card img { height: 200px; }
  .srv-card h3 { font-size: 19px; }
}
 
/* =========================================================
   Touch / accessibility
   ========================================================= */
@media (hover: none) {
  .srv-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .srv-card { transition: none; }
}
 
  /*---------------------------------------------------------special facilities-------------------------------------*/



  .special-facility-banner,
.special-facility-banner * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
    margin-top: 50px;
}

.special-facility-banner {
    position: relative;
    width: 100%;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: url('images/special-facilitie-backgroundimg.jpg') top / cover no-repeat;
    overflow: hidden;
}

/* Black overlay */
.special-facility-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .65);
}

.special-facility-banner-inner {
    position: relative;
    width: 100%;
    max-width: 1300px;
    padding: 50px 20px;
}

.special-facility-breadcrumb {
    margin-bottom: 18px;
    font-size: 22px;
    color: #fff;
}

.special-facility-breadcrumb a {
    color: #fff;
    text-decoration: none;
    transition: color .2s ease;
}

.special-facility-breadcrumb a:hover {
    color: #FFAF00;
}

.special-facility-breadcrumb span {
    color: #fff;
}

.special-facility-banner h1 {
    margin: 0;
    font-size: 64px;
    font-weight: 700;
    line-height: 1.2;
    color: #FFAF00;
}

/* ---------- Tablet ---------- */
@media (max-width: 992px) {
    .special-facility-banner {
        min-height: 300px;
    }

    .special-facility-breadcrumb {
        font-size: 19px;
    }

    .special-facility-banner h1 {
        font-size: 48px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 576px) {
    .special-facility-banner {
        min-height: 240px;
    }

    .special-facility-banner-inner {
        padding: 40px 16px;
    }

    .special-facility-breadcrumb {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .special-facility-banner h1 {
        font-size: 34px;
    }
}




.fac-section {
  padding: 50px 20px;
  font-family: 'Poppins', sans-serif;
  margin-top: 60px;
}
 
.fac-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 38px;
  align-items: stretch;
}
 
/* Intro (left text block) */
.fac-intro {
  padding: 12px 12px 0;
}
.fac-intro h2 {
  font-size: 44px;
  line-height: 1.02;
  font-weight: 600;
  color: #000;
  margin: 0 0 28px;
}
.fac-intro p {
  font-size: 19px;
  line-height: 1.75;
  color: #666;
  margin: 0 0 30px;
}
.fac-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #ffab00;
  margin: 0 auto;
  text-decoration: none;
}
 
/* Cards */
.fac-card {
  background: #e0e0e0;
  border: 2px solid #ffab00;
  border-radius: 20px;
  padding: 50px 26px 40px;
  text-align: center;
}
.fac-card img {
  display: block;
  width: 237px;
  height: 237px;
  max-width: 100%;
  object-fit: cover;
  margin: 0 auto 14px;
}
.fac-card h3 {
  font-size: 28px;
  font-weight: 600;
  color: #000;
  margin: 0 0 10px;
}
.fac-card p {
  font-size: 19px;
  line-height: 1.75;
  color: #666;
  margin: 0;
}
 
/* Hover: sirf heading ka color light blue (koi animation nahi) */
.fac-card:hover h3 {
  color: #4fc3f7;
}
 
/* Responsive */
@media (max-width: 1024px) {
  .fac-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .fac-grid { grid-template-columns: 1fr; }
  .fac-intro h2 { font-size: 34px; }
}






  .bk-section,
  .bk-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
  }
  .bk-section {
    background: #ECECEC;
    padding: 60px 20px 40px 60px;
    margin-top: 50px;
    margin-bottom: 70px;
  }
  .bk-container {
    max-width: 1300px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.55fr;
    gap: 60px;
    align-items: start;
  }
 
  /* ---------- Form card ---------- */
  .bk-card {
    background: #fff;
    box-shadow: 0 4px 16px rgba(0,0,0,.20);
    padding: 36px 36px 120px;
    border-radius: 10px;
  }
  .bk-card h3 {
    margin: 0;
    font-size: 28px;
    font-weight: 600;
    color: #000;
  }
  .bk-underline {
    display: block;
    width: 80px;
    height: 3px;
    background: #FFAF00;
    margin: 10px 0 18px;
  }
  .bk-sub {
    margin: 0 0 24px;
    font-size: 18px;
    line-height: 1.7;
    color: #6b6b6b;
  }
 
  .bk-field { margin-bottom: 16px; }
  .bk-field label {
    display: block;
    margin-bottom: 8px;
    font-size: 17px;
    font-weight: 600;
    color: #000;
  }
  .bk-field input {
    width: 100%;
    height: 50px;
    padding: 0 14px;
    font-size: 18px;
    color: #222;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    outline: none;
  }
  .bk-field input:focus { border-color: #FFAF00; }
 
  /* Error: sirf Book Now dabane par (empty field par) dikhega */
  .bk-error {
    display: none;
    margin-top: 4px;
    font-size: 15px;
    color: #d93025;
  }
  .bk-field.has-error input { border-color: #d93025; }
  .bk-field.has-error .bk-error { display: block; }
 
  .bk-btn {
    width: 100%;
    height: 54px;
    margin-top: 10px;
    font-size: 19px;
    font-weight: 500;
    color: #111;
    background: #FFAF00;
    border: 2px solid #FFAF00;
    border-radius: 3px;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
  }
  .bk-btn:hover,
  .bk-btn:focus-visible {
    background: #fff;
    color: #FFAF00;
    outline: none;
  }
  .bk-success {
    display: none;
    margin: 14px 0 0;
    font-size: 16px;
    color: #1e8e3e;
  }
  .bk-success.show { display: block; }
 
  /* ---------- Right content ---------- */
  .choose-label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 18px;
    color: #6b6b6b;
    margin-bottom: 18px;
  }
  .choose-label::before,
  .choose-label::after {
    content: "";
    width: 34px;
    height: 2px;
    background: #F5A623;
  }
  .choose-content h2 {
    margin: 0 0 28px;
    font-size: 44px;
    font-weight: 600;
    line-height: 1.15;
    color: #000;
  }
 
  .choose-list { list-style: none; margin: 0; padding: 0; }
  .choose-list li {
    position: relative;
    padding-left: 36px;
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 1.65;
    color: #555;
  }
  /* orange circle icon (chhota) */
  .choose-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 14px;
    height: 14px;
    box-sizing: border-box;
    border: 2px solid #FFAF00;
    border-radius: 50%;
  }
  .choose-list li::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 15px;
    width: 4px;
    height: 4px;
    background: #FFAF00;
    border-radius: 50%;
  }
 
  /* ---------- Counters ---------- */
  .bk-stats {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 40px;
    text-align: center;
  }
  .bk-stat { flex: 1; }
  .bk-stat-num {
    font-size: 60px;
    font-weight: 600;
    line-height: 1.1;
    color: #FFAF00;
  }
  .bk-stat-text {
    margin-top: 6px;
    font-size: 24px;
    color: #444;
  }
 
  /* ---------- Responsive ---------- */
  @media (max-width: 992px) {
    .bk-container { grid-template-columns: 1fr; gap: 40px; }
    .choose-content h2 { font-size: 34px; }
  }
  @media (max-width: 576px) {
    .bk-section { padding: 40px 20px; }
    .bk-card { padding: 26px 20px 30px; }
    .choose-list li { font-size: 17px; }
    .bk-stats { flex-direction: column; gap: 24px; }
    .bk-stat-num { font-size: 48px; }
    .bk-stat-text { font-size: 20px; }
  }


  /*-------------------------mobile and tablet view----------------*/



  /* =========================================================
   BASE (Desktop)
   ========================================================= */
html, body { overflow-x: hidden; }
 
/* ---------- Banner ---------- */
.special-facility-banner,
.special-facility-banner * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.special-facility-banner {
  position: relative;
  width: 100%;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: url('images/special-facilitie-backgroundimg.jpg') top / cover no-repeat;
  overflow: hidden;
}
.special-facility-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .65);
}
.special-facility-banner-inner {
  position: relative;
  width: 100%;
  max-width: 1300px;
  padding: 50px 20px;
}
.special-facility-breadcrumb {
  margin-bottom: 18px;
  font-size: 22px;
  color: #fff;
}
.special-facility-breadcrumb a {
  color: #fff;
  text-decoration: none;
  transition: color .2s ease;
}
.special-facility-breadcrumb a:hover { color: #FFAF00; }
.special-facility-breadcrumb span { color: #fff; }
.special-facility-banner h1 {
  margin: 0;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.2;
  color: #FFAF00;
}
 
/* ---------- Facilities cards ---------- */
.fac-section {
  padding: 50px 20px;
  font-family: 'Poppins', sans-serif;
  margin-top: 60px;
}
.fac-section *,
.fac-section *::before,
.fac-section *::after { box-sizing: border-box; }
 
.fac-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 38px;
  align-items: stretch;
}
.fac-intro { padding: 12px 12px 0; }
.fac-intro h2 {
  font-size: 44px;
  line-height: 1.1;
  font-weight: 600;
  color: #000;
  margin: 0 0 28px;
}
.fac-intro p {
  font-size: 19px;
  line-height: 1.75;
  color: #666;
  margin: 0 0 30px;
}
.fac-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #ffab00;
  margin: 0 auto;
  text-decoration: none;
}
.fac-card {
  background: #e0e0e0;
  border: 2px solid #ffab00;
  border-radius: 20px;
  padding: 50px 26px 40px;
  text-align: center;
}
.fac-card img {
  display: block;
  width: 237px;
  height: 237px;
  max-width: 100%;
  object-fit: cover;
  margin: 0 auto 14px;
}
.fac-card h3 {
  font-size: 28px;
  font-weight: 600;
  color: #000;
  margin: 0 0 10px;
}
.fac-card p {
  font-size: 19px;
  line-height: 1.75;
  color: #666;
  margin: 0;
}
/* Hover: sirf heading ka color light blue (koi animation nahi) */
.fac-card:hover h3 { color: #4fc3f7; }
 
/* ---------- Appointment section ---------- */
.bk-section,
.bk-section * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.bk-section {
  background: #ECECEC;
  padding: 60px 20px 40px 60px;
  margin-top: 50px;
  margin-bottom: 70px;
}
.bk-container {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.55fr;
  gap: 60px;
  align-items: start;
}
.bk-card {
  background: #fff;
  box-shadow: 0 4px 16px rgba(0,0,0,.20);
  padding: 36px 36px 120px;
  border-radius: 10px;
}
.bk-card h3 {
  margin: 0;
  font-size: 28px;
  font-weight: 600;
  color: #000;
}
.bk-underline {
  display: block;
  width: 80px;
  height: 3px;
  background: #FFAF00;
  margin: 10px 0 18px;
}
.bk-sub {
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 1.7;
  color: #6b6b6b;
}
.bk-field { margin-bottom: 16px; }
.bk-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 17px;
  font-weight: 600;
  color: #000;
}
.bk-field input {
  display: block;
  width: 100%;
  min-width: 0;
  height: 50px;
  padding: 0 14px;
  font-size: 18px;
  color: #222;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.bk-field input:focus { border-color: #FFAF00; }
.bk-error {
  display: none;
  margin-top: 4px;
  font-size: 15px;
  color: #d93025;
}
.bk-field.has-error input { border-color: #d93025; }
.bk-field.has-error .bk-error { display: block; }
 
.bk-btn {
  width: 100%;
  height: 54px;
  margin-top: 10px;
  font-size: 19px;
  font-weight: 500;
  color: #111;
  background: #FFAF00;
  border: 2px solid #FFAF00;
  border-radius: 3px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.bk-btn:hover,
.bk-btn:focus-visible {
  background: #fff;
  color: #FFAF00;
  outline: none;
}
.bk-success {
  display: none;
  margin: 14px 0 0;
  font-size: 16px;
  color: #1e8e3e;
}
.bk-success.show { display: block; }
 
.choose-label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  color: #6b6b6b;
  margin-bottom: 18px;
}
.choose-label::before,
.choose-label::after {
  content: "";
  width: 34px;
  height: 2px;
  background: #F5A623;
}
.choose-content h2 {
  margin: 0 0 28px;
  font-size: 44px;
  font-weight: 600;
  line-height: 1.15;
  color: #000;
}
.choose-list { list-style: none; margin: 0; padding: 0; }
.choose-list li {
  position: relative;
  padding-left: 36px;
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 1.65;
  color: #555;
}
.choose-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 14px;
  height: 14px;
  box-sizing: border-box;
  border: 2px solid #FFAF00;
  border-radius: 50%;
}
.choose-list li::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 15px;
  width: 4px;
  height: 4px;
  background: #FFAF00;
  border-radius: 50%;
}
.bk-stats {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 40px;
  text-align: center;
}
.bk-stat { flex: 1; }
.bk-stat-num {
  font-size: 60px;
  font-weight: 600;
  line-height: 1.1;
  color: #FFAF00;
}
.bk-stat-text {
  margin-top: 6px;
  font-size: 24px;
  color: #444;
}
 
/* =========================================================
   SMALL LAPTOP  (<= 1199px)
   ========================================================= */
@media (max-width: 1199px) {
  .fac-grid { gap: 28px; }
  .fac-intro h2 { font-size: 38px; }
  .fac-intro p,
  .fac-card p { font-size: 17px; }
  .fac-card h3 { font-size: 24px; }
  .fac-card { padding: 40px 20px 32px; }
 
  .bk-section { padding: 50px 24px 40px 40px; }
  .bk-container { gap: 40px; }
  .choose-content h2 { font-size: 38px; }
  .bk-stat-num { font-size: 50px; }
  .bk-stat-text { font-size: 20px; }
}
 
/* =========================================================
   TABLET  (<= 992px)
   ========================================================= */
@media (max-width: 992px) {
  /* Banner */
  .special-facility-banner { min-height: 300px; }
  .special-facility-breadcrumb { font-size: 19px; }
  .special-facility-banner h1 { font-size: 48px; }
 
  /* Facilities: 2 columns (intro + 5 cards = 6 boxes, 3 equal rows) */
  .fac-section { padding: 40px 24px; margin-top: 40px; }
  .fac-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .fac-intro { padding: 10px 8px 0; }
  .fac-intro h2 { font-size: 34px; margin-bottom: 20px; }
  .fac-intro p { margin-bottom: 24px; }
  .fac-card img { width: 220px; height: 220px; }
 
  /* Appointment: single column */
  .bk-section {
    padding: 40px 24px;
    margin-top: 40px;
    margin-bottom: 50px;
  }
  .bk-container { grid-template-columns: 1fr; gap: 40px; }
  .bk-card {
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
    padding: 32px 32px 36px;
  }
  .choose-content h2 { font-size: 34px; margin-bottom: 22px; }
  .choose-list li { font-size: 17px; }
  .bk-stats { margin-top: 32px; }
  .bk-stat-num { font-size: 46px; }
  .bk-stat-text { font-size: 18px; }
}
 
/* =========================================================
   LARGE MOBILE / SMALL TABLET  (<= 768px)
   ========================================================= */
@media (max-width: 768px) {
  .special-facility-banner h1 { font-size: 40px; }
 
  .fac-grid { gap: 18px; }
  .fac-intro h2 { font-size: 30px; }
  .fac-intro p,
  .fac-card p { font-size: 16px; line-height: 1.65; }
  .fac-card h3 { font-size: 22px; }
  .fac-card { padding: 28px 16px 26px; border-radius: 16px; }
  .fac-card img { width: 100%; max-width: 200px; height: auto; aspect-ratio: 1 / 1; }
  .fac-btn { width: 60px; height: 60px; }
}
 
/* =========================================================
   MOBILE  (<= 576px)
   ========================================================= */
@media (max-width: 576px) {
  /* Banner */
  .special-facility-banner { min-height: 240px; }
  .special-facility-banner-inner { padding: 40px 16px; }
  .special-facility-breadcrumb { font-size: 16px; margin-bottom: 12px; }
  .special-facility-banner h1 { font-size: 32px; }
 
  /* Facilities: 1 column */
  .fac-section { padding: 30px 16px; margin-top: 24px; }
  .fac-grid { grid-template-columns: 1fr; gap: 20px; }
  .fac-intro { padding: 0 4px; text-align: left; }
  .fac-intro h2 { font-size: 28px; margin-bottom: 14px; }
  .fac-intro p { margin-bottom: 20px; }
  .fac-btn { margin: 0; }              /* arrow left me, text ke saath aligned */
  .fac-card img { max-width: 220px; }
 
  /* Appointment */
  .bk-section {
    padding: 30px 16px;
    margin-top: 24px;
    margin-bottom: 40px;
  }
  .bk-container { gap: 32px; }
  .bk-card { padding: 24px 18px 26px; }
  .bk-card h3 { font-size: 24px; }
  .bk-sub { font-size: 16px; margin-bottom: 20px; }
  .bk-field label { font-size: 16px; }
  .bk-field input { height: 46px; font-size: 16px; }   /* 16px = iOS zoom nahi karega */
  .bk-btn { height: 50px; font-size: 17px; }
 
  .choose-label { font-size: 16px; }
  .choose-label::before,
  .choose-label::after { width: 24px; }
  .choose-content h2 { font-size: 26px; margin-bottom: 18px; }
  .choose-list li { font-size: 15px; padding-left: 30px; line-height: 1.6; }
 
  .bk-stats { flex-direction: column; gap: 20px; margin-top: 28px; }
  .bk-stat-num { font-size: 42px; }
  .bk-stat-text { font-size: 18px; }
}
 
/* =========================================================
   EXTRA SMALL  (<= 380px)
   ========================================================= */
@media (max-width: 380px) {
  .special-facility-banner h1 { font-size: 28px; }
  .fac-intro h2 { font-size: 24px; }
  .choose-content h2 { font-size: 23px; }
  .bk-card { padding: 20px 14px 22px; }
}


/*-------------------------back to top buttun-------------*/

/* Back To Top Button */
.back-to-top {
    position: fixed;
    right: 25px;
    bottom: 10px!important;

    width: 50px;
    height: 50px;

    display: none;
    align-items: center;
    justify-content: center;

    background-color: #1C3E8E;
    color: #ffffff;

    border: none;
    border-radius: 50%;

    font-size: 30px;
    font-weight: 600;
    line-height: 1;

    cursor: pointer;
    z-index: 9999;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease;
}

.back-to-top:hover {
    background-color: #142d69;
}

@media (max-width: 767px) {
    .back-to-top {
        right: 15px;
        bottom: 15px;
        width: 42px;
        height: 42px;
        font-size: 25px;
    }
}




/*--------------------------------------------------------gallery------------------------------------------------------------*/


.gallery-page-banner,
.gallery-page-banner * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
    margin-top: 50px;
}

.gallery-page-banner {
    position: relative;
    width: 100%;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: url('images/special-facilitie-backgroundimg.jpg') top / cover no-repeat;
    overflow: hidden;
}

/* Black overlay image ke upar */
.gallery-page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .65);
}

.gallery-page-banner-inner {
    position: relative;
    width: 100%;
    max-width: 1300px;
    padding: 50px 20px;
}

.gallery-breadcrumb-nav {
    margin-bottom: 18px;
    font-size: 22px;
    color: #fff;
}

.gallery-breadcrumb-nav a {
    color: #fff;
    text-decoration: none;
    transition: color .2s ease;
}

.gallery-breadcrumb-nav a:hover {
    color: #FFAF00;
}

.gallery-breadcrumb-nav span {
    color: #fff;
}

.gallery-page-banner h1 {
    margin: 0;
    font-size: 64px;
    font-weight: 700;
    line-height: 1.2;
    color: #FFAF00;
}

/* ---------- Tablet ---------- */
@media (max-width: 992px) {
    .gallery-page-banner {
        min-height: 300px;
    }

    .gallery-breadcrumb-nav {
        font-size: 19px;
    }

    .gallery-page-banner h1 {
        font-size: 48px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 576px) {
    .gallery-page-banner {
        min-height: 240px;
    }

    .gallery-page-banner-inner {
        padding: 40px 16px;
    }

    .gallery-breadcrumb-nav {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .gallery-page-banner h1 {
        font-size: 34px;
    }
}





.gpg-section,
.gpg-section * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
  
}
.gpg-section {
  background: #F5F5F5;
  padding: 50px 15px 60px;
  margin-bottom: 80px;
}
.gpg-inner { max-width: 1400px; margin: 0 auto; margin-top: 50px; }
 
/* ---------- Heading ---------- */
.gpg-head { text-align: center; margin-bottom: 30px; }
.gpg-label {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 18px;
  color: #6b6b6b;
  margin-bottom: 10px;
}
.gpg-label::before,
.gpg-label::after {
  content: "";
  width: 60px;
  height: 2px;
  background: #F5A623;
}
.gpg-head h2 {
  margin: 0;
  font-size: 40px;
  font-weight: 600;
  line-height: 1.2;
  color: #000;
}
 
/* ---------- Grid: #FEB101 background, 4 columns (row-wise order) ---------- */
.gpg-grid {
  background: #FEB101;
  padding: 12px;
  display: grid;                          /* JS se pehle: 1,2,3,4 row-wise */
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  align-items: start;
}
.gpg-grid.gpg-masonry {                   /* JS ke baad: row-wise + alag heights */
  display: flex;
  align-items: flex-start;
}
.gpg-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.gpg-item {
  position: relative;
  display: block;
  overflow: hidden;
  cursor: pointer;
  line-height: 0;
}
.gpg-item img {
  width: 100%;
  height: auto;
  display: block;
}
/* hover: image par overlay + beech me magnifier symbol */
.gpg-zoom {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, .35);
  color: #fff;
  opacity: 0;
  transition: opacity .25s ease;
}
.gpg-zoom svg { width: 20px; height: 20px; }
.gpg-item:hover .gpg-zoom { opacity: 1; }
 
/* ---------- Lightbox ---------- */
.gpl,
.gpl * {
  font-family: 'Poppins', sans-serif;
  box-sizing: border-box;
}
.gpl {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(0, 0, 0, .88);
  display: none;
}
.gpl.gpl-open { display: block; }
 
.gpl-progress {                       /* upar ki red line */
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 4px;
  background: #e53935;
  z-index: 10;
  opacity: 0;
}
.gpl-toolbar {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 52px;
  background: #0d0d0d;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px 0 24px;
  z-index: 5;
}
.gpl-counter { color: #fff; font-size: 18px; }
.gpl-actions { display: flex; align-items: center; }
.gpl-btn {
  width: 52px;
  height: 52px;
  background: none;
  border: 0;
  padding: 0;
  color: #999;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gpl-btn svg {
  width: 26px; height: 26px;
  fill: none; stroke: currentColor;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.gpl-btn:hover { color: #fff; }
.gpl-btn.gpl-disabled { opacity: .35; pointer-events: none; }
 
.gpl-stage {
  position: absolute;
  top: 52px; left: 0; right: 0; bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 20px 90px;
}
.gpl.gpl-show-thumbs .gpl-stage { bottom: 100px; }
.gpl-img {
  max-width: calc(100vw - 180px);
  max-height: calc(100vh - 112px);
  width: auto;
  height: auto;
  opacity: 1;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
  touch-action: none;
  transition: opacity .25s ease;
}
.gpl.gpl-show-thumbs .gpl-img { max-height: calc(100vh - 212px); }
 
.gpl:fullscreen,
.gpl:-webkit-full-screen {
  background: #000;
  width: 100%;
  height: 100%;
}
.gpl-img.gpl-zoomed { cursor: grab; }
 
.gpl-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  background: none;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 6;
}
.gpl-nav svg {
  width: 40px; height: 40px;
  fill: none; stroke: currentColor;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.gpl-nav:hover { color: #FEB101; }
.gpl-prev { left: 15px; }
.gpl-next { right: 15px; }
 
.gpl-thumbs {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 100px;
  background: #0d0d0d;
  display: none;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  overflow-x: auto;
  z-index: 5;
}
.gpl.gpl-show-thumbs .gpl-thumbs { display: flex; }
.gpl-thumbs img {
  height: 78px;
  width: 110px;
  object-fit: cover;
  flex-shrink: 0;
  cursor: pointer;
  opacity: .55;
  border: 2px solid transparent;
}
.gpl-thumbs img.gpl-active { opacity: 1; border-color: #FEB101; }
 
/* ---------- Responsive ---------- */
@media (max-width: 992px) {
  .gpg-grid:not(.gpg-masonry) { grid-template-columns: repeat(3, 1fr); }
  .gpg-head h2 { font-size: 36px; }
}
@media (max-width: 640px) {
  .gpg-grid:not(.gpg-masonry) { grid-template-columns: repeat(2, 1fr); }
  .gpg-head h2 { font-size: 28px; }
  .gpl-btn { width: 40px; height: 52px; }
  .gpl-btn svg { width: 22px; height: 22px; }
  .gpl-stage { padding: 20px 10px; }
  .gpl-nav { width: 40px; height: 40px; }
  .gpl-prev { left: 4px; }
  .gpl-next { right: 4px; }
}
 
/* Fullscreen Lightbox Fix */
.gpl:fullscreen .gpl-toolbar,
.gpl:-webkit-full-screen .gpl-toolbar {
  z-index: 10;
}
.gpl:fullscreen .gpl-stage,
.gpl:-webkit-full-screen .gpl-stage {
  position: absolute;
  top: 52px;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  padding: 20px 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.gpl:fullscreen .gpl-img,
.gpl:-webkit-full-screen .gpl-img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: calc(100vh - 92px);
  object-fit: contain;
  opacity: 1;
}
.gpl:fullscreen.gpl-show-thumbs .gpl-stage,
.gpl:-webkit-full-screen.gpl-show-thumbs .gpl-stage {
  bottom: 100px;
}
.gpl:fullscreen.gpl-show-thumbs .gpl-img,
.gpl:-webkit-full-screen.gpl-show-thumbs .gpl-img {
  max-height: calc(100vh - 192px);
}
@media (max-width: 640px) {
  .gpl:fullscreen .gpl-stage,
  .gpl:-webkit-full-screen .gpl-stage {
    padding: 15px 40px;
  }
  .gpl:fullscreen .gpl-img,
  .gpl:-webkit-full-screen .gpl-img {
    max-width: 100%;
    max-height: calc(100vh - 82px);
  }
}
 


/*-----------------------------------------------------Testimonial 2--------------------------------------------------------*/




.testimonial-banner,
.testimonial-banner * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
    margin-top: 50px;
}

.testimonial-banner {
    position: relative;
    width: 100%;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: url('images/special-facilitie-backgroundimg.jpg') top / cover no-repeat;
    overflow: hidden;
}

/* Black overlay */
.testimonial-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .65);
}

.testimonial-banner-inner {
    position: relative;
    width: 100%;
    max-width: 1300px;
    padding: 50px 20px;
}

.testimonial-breadcrumb {
    margin-bottom: 18px;
    font-size: 22px;
    color: #fff;
}

.testimonial-breadcrumb a {
    color: #fff;
    text-decoration: none;
    transition: color .2s ease;
}

.testimonial-breadcrumb a:hover {
    color: #FFAF00;
}

.testimonial-breadcrumb span {
    color: #fff;
}

.testimonial-banner h1 {
    margin: 0;
    font-size: 64px;
    font-weight: 700;
    line-height: 1.2;
    color: #FFAF00;
}

/* ---------- Tablet ---------- */
@media (max-width: 992px) {
    .testimonial-banner {
        min-height: 300px;
    }

    .testimonial-breadcrumb {
        font-size: 19px;
    }

    .testimonial-banner h1 {
        font-size: 48px;
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 576px) {
    .testimonial-banner {
        min-height: 240px;
    }

    .testimonial-banner-inner {
        padding: 40px 16px;
    }

    .testimonial-breadcrumb {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .testimonial-banner h1 {
        font-size: 34px;
    }
}






.testimonial-section,
.testimonial-section * {
    font-family: 'Poppins', sans-serif;
    box-sizing: border-box;
    margin-top: 20px;
}

.testimonial-section {
    background: #fff;
    padding: 50px 20px 70px;
    margin-bottom: 40px;
   
}

.testimonial-inner {
    max-width: 1250px;
    margin: 0 auto;
}

/* ---------- Heading ---------- */
.testimonial-head {
    text-align: center;
    margin-bottom: 40px;
}

.testimonial-label {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 18px;
    color: #6b6b6b;
    margin-bottom: 10px;
}

.testimonial-label::before,
.testimonial-label::after {
    content: "";
    width: 40px;
    height: 2px;
    background: #FFAF00;
}

.testimonial-head h2 {
    margin: 0;
    font-size: 40px;
    font-weight: 600;
    line-height: 1.2;
    color: #000;
}

/* ---------- Three Cards in One Row ---------- */
.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: stretch;
}

.testimonial-card {
    min-height: 540px;
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid #FFAF00;
    border-radius: 14px;
    padding: 38px 34px 40px;
    text-align: center;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
}

/* Orange Quarter Circle */
.testimonial-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    background: #FFAF00;
    border-bottom-left-radius: 100%;
}

.testimonial-quote {
    position: absolute;
    top: 20px;
    right: 22px;
    width: 40px;
    height: 28px;
    z-index: 1;
}

.testimonial-quote svg {
    width: 100%;
    height: 100%;
    display: block;
}

.testimonial-avatar {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    background: #f1f1f1;
    display: block;
    margin: 0 auto 22px;
}

.testimonial-card h3 {
    margin: 0 0 6px;
    font-size: 22px;
    font-weight: 600;
    color: #000;
}

.testimonial-role {
    font-size: 18px;
    color: #777;
    margin-bottom: 14px;
}

.testimonial-stars {
    font-size: 26px;
    letter-spacing: 6px;
    line-height: 1;
    color: #FDB913;
    margin-bottom: 26px;
}

.testimonial-card p {
    margin: 0;
    font-size: 18px;
    line-height: 1.8;
    color: #777;
}

/* ---------- Responsive ---------- */
@media (max-width: 992px) {
    .testimonial-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .testimonial-head h2 {
        font-size: 36px;
    }
}

@media (max-width: 640px) {
    .testimonial-grid {
        grid-template-columns: 1fr;
    }

    .testimonial-head h2 {
        font-size: 28px;
    }

    .testimonial-card {
        padding: 34px 22px 32px;
    }
}


/* ========================================
   TABLET VIEW
======================================== */
@media (min-width: 577px) and (max-width: 992px) {

    /* Testimonial Banner */
    .testimonial-banner {
        min-height: 320px;
        margin-top: 30px;
        background-position: center;
    }

    .testimonial-banner-inner {
        padding: 40px 25px;
    }

    .testimonial-breadcrumb {
        font-size: 18px;
        margin-bottom: 14px;
    }

    .testimonial-banner h1 {
        font-size: 46px;
        line-height: 1.2;
    }

    /* Testimonial Section */
    .testimonial-section {
        padding: 40px 25px 55px;
        margin-bottom: 30px;
    }

    .testimonial-inner {
        width: 100%;
        max-width: 850px;
    }

    .testimonial-head {
        margin-bottom: 30px;
    }

    .testimonial-label {
        font-size: 16px;
        gap: 10px;
    }

    .testimonial-label::before,
    .testimonial-label::after {
        width: 32px;
    }

    .testimonial-head h2 {
        font-size: 34px;
        line-height: 1.3;
    }

    .testimonial-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .testimonial-card {
        min-height: 500px;
        padding: 35px 22px 30px;
    }

    .testimonial-card::before {
        width: 85px;
        height: 85px;
    }

    .testimonial-quote {
        top: 17px;
        right: 18px;
        width: 34px;
        height: 24px;
    }

    .testimonial-avatar {
        width: 78px;
        height: 78px;
        margin-bottom: 18px;
    }

    .testimonial-card h3 {
        font-size: 20px;
    }

    .testimonial-role {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .testimonial-stars {
        font-size: 23px;
        letter-spacing: 4px;
        margin-bottom: 22px;
    }

    .testimonial-card p {
        font-size: 16px;
        line-height: 1.7;
        overflow-wrap: break-word;
    }
}


/* ========================================
   MOBILE VIEW
======================================== */
@media (max-width: 576px) {

    /* Testimonial Banner */
    .testimonial-banner {
        width: 100%;
        min-height: 230px;
        margin-top: 20px;
        background-position: center;
    }

    .testimonial-banner-inner {
        padding: 35px 15px;
    }

    .testimonial-breadcrumb {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 12px;
    }

    .testimonial-banner h1 {
        font-size: 30px;
        line-height: 1.25;
        overflow-wrap: break-word;
    }

    /* Testimonial Section */
    .testimonial-section {
        padding: 35px 15px 40px;
        margin-bottom: 20px;
    }

    .testimonial-inner {
        width: 100%;
        max-width: 100%;
    }

    .testimonial-head {
        margin-bottom: 25px;
    }

    .testimonial-label {
        font-size: 14px;
        gap: 8px;
        margin-bottom: 10px;
    }

    .testimonial-label::before,
    .testimonial-label::after {
        width: 25px;
        height: 2px;
    }

    .testimonial-head h2 {
        font-size: 26px;
        line-height: 1.35;
    }

    .testimonial-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    .testimonial-card {
        width: 100%;
        min-height: auto;
        padding: 32px 20px 30px;
        border-radius: 12px;
    }

    .testimonial-card::before {
        width: 75px;
        height: 75px;
    }

    .testimonial-quote {
        top: 15px;
        right: 15px;
        width: 30px;
        height: 22px;
    }

    .testimonial-avatar {
        width: 72px;
        height: 72px;
        margin: 0 auto 18px;
    }

    .testimonial-card h3 {
        font-size: 19px;
        line-height: 1.4;
        margin-bottom: 5px;
    }

    .testimonial-role {
        font-size: 15px;
        line-height: 1.5;
        margin-bottom: 12px;
    }

    .testimonial-stars {
        font-size: 21px;
        letter-spacing: 3px;
        line-height: 1.3;
        margin-bottom: 20px;
    }

    .testimonial-card p {
        font-size: 15px;
        line-height: 1.7;
        overflow-wrap: break-word;
    }
}


/* ========================================
   SMALL MOBILE VIEW
======================================== */
@media (max-width: 380px) {

    .testimonial-banner {
        min-height: 200px;
    }

    .testimonial-banner-inner {
        padding: 30px 12px;
    }

    .testimonial-breadcrumb {
        font-size: 12px;
    }

    .testimonial-banner h1 {
        font-size: 26px;
    }

    .testimonial-section {
        padding: 30px 12px 35px;
    }

    .testimonial-head h2 {
        font-size: 23px;
    }

    .testimonial-card {
        padding: 30px 16px 25px;
    }

    .testimonial-card p {
        font-size: 14px;
        line-height: 1.7;
    }

    .testimonial-stars {
        font-size: 19px;
        letter-spacing: 2px;
    }
}