:root{
  --primary:#2C6BE0;
  --teal:#0FB5A6;
  --navy:#1B2A4A;
  --bg-light:#F5F8FE;
  --white:#fff;
  --muted:#5A6B85;
  --radius:16px;
  --shadow:0 10px 30px rgba(27,42,74,.08);
  --shadow-hover:0 18px 40px rgba(44,107,224,.18);
}
*{box-sizing:border-box}
body{font-family:'Inter',sans-serif;color:var(--muted);background:#fff;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-family:'Jost',sans-serif;color:var(--navy)}
a{text-decoration:none}
.section-pad{padding:90px 0}
.bg-soft{background:var(--bg-light)}
.eyebrow{color:var(--teal);font-weight:600;letter-spacing:2px;text-transform:uppercase;font-size:.8rem;display:inline-block;margin-bottom:8px}
.btn-primary{background:var(--primary);border-color:var(--primary);border-radius:50px;padding:.7rem 1.8rem;font-weight:600}
.btn-primary:hover{background:#1f56bd;border-color:#1f56bd;transform:translateY(-2px)}
.btn-outline-primary{color:var(--primary);border-color:var(--primary);border-radius:50px;padding:.7rem 1.8rem;font-weight:600}
.btn-outline-primary:hover{background:var(--primary);color:#fff}
.icon-badge{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--primary),var(--teal));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin:0 auto 18px;box-shadow:0 8px 20px rgba(44,107,224,.3)}

/* ---------- Top bar ---------- */
.topbar{background:var(--navy);color:#cdd6e4;font-size:.85rem;padding:8px 0}
.topbar a{color:#cdd6e4;transition:.3s}
.topbar a:hover{color:#fff}
.topbar .social a{margin-left:12px}

/* ---------- Navbar ---------- */
.navbar{background:transparent;padding:14px 0;transition:.4s}
.navbar.scrolled,.navbar.solid{background:rgba(255,255,255,.97);box-shadow:0 4px 20px rgba(27,42,74,.1);padding:8px 0}
.navbar-brand{font-family:'Jost';font-weight:700;font-size:1.45rem;color:var(--navy)}
.navbar-brand i{color:var(--primary);margin-right:6px}
.nav-link{color:var(--navy)!important;font-weight:500;margin:0 8px;position:relative}
.nav-link::after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:2px;background:var(--primary);transform:scaleX(0);transition:.3s}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.navbar-toggler{border:none}
.hero-nav .nav-link,.hero-nav .navbar-brand{color:#fff!important}
.navbar.scrolled .nav-link,.navbar.scrolled .navbar-brand,
.navbar.solid .nav-link,.navbar.solid .navbar-brand{color:var(--navy)!important}
.dropdown-menu{border:none;box-shadow:var(--shadow);border-radius:12px}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero .carousel-item{min-height:100vh;display:flex;align-items:center;background-size:cover;background-position:center}
.hero .slide-1{background:linear-gradient(rgba(20,35,65,.78),rgba(20,35,65,.78)),url('https://images.unsplash.com/photo-1586773860418-d37222d8fce3?w=1600&q=80') center/cover}
.hero .slide-2{background:linear-gradient(rgba(20,35,65,.78),rgba(20,35,65,.78)),url('https://images.unsplash.com/photo-1538108149393-fbbd81895907?w=1600&q=80') center/cover}
.hero .slide-3{background:linear-gradient(rgba(20,35,65,.78),rgba(20,35,65,.78)),url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=1600&q=80') center/cover}
.hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700}
.hero .lead{color:#dbe5f5}
.hero .badge-soft{background:rgba(15,181,166,.18);color:#7ee8df;border:1px solid rgba(15,181,166,.5);border-radius:50px;padding:.45rem 1.1rem;font-weight:500}
.hero-controls .carousel-control-prev,.hero-controls .carousel-control-next{width:52px;height:52px;top:auto;bottom:60px;border:1px solid rgba(255,255,255,.4);border-radius:50%}
.hero-controls .carousel-control-prev{right:120px;left:auto}
.hero-controls .carousel-control-next{right:50px}
.emergency-card{background:var(--white);color:var(--navy);border-radius:var(--radius);box-shadow:var(--shadow-hover);padding:1.4rem 1.6rem;max-width:320px}
.emergency-card i{color:var(--teal);font-size:1.8rem}
.emergency-card a{color:var(--primary);font-weight:700;font-size:1.25rem}

/* ---------- Page banner (subpages) ---------- */
.page-banner{background:linear-gradient(rgba(20,35,65,.82),rgba(20,35,65,.82)),url('https://images.unsplash.com/photo-1586773860418-d37222d8fce3?w=1600&q=80') center/cover;padding:160px 0 70px;color:#fff;text-align:center}
.page-banner h1{color:#fff;font-size:clamp(2rem,4vw,3rem);font-weight:700}
.page-banner .breadcrumb-item a{color:#9fd8d2}
.page-banner .breadcrumb-item.active{color:#fff}
.page-banner .breadcrumb-item+.breadcrumb-item::before{color:#8fa3c0}

/* ---------- Stats ---------- */
.stats-wrap{margin-top:-70px;position:relative;z-index:5}
.stats-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-hover);padding:2rem 1rem;text-align:center;height:100%}
.stats-card .num{font-family:'Jost';font-size:2.6rem;font-weight:700;color:var(--primary)}
.stats-card .num span{color:var(--teal)}

/* ---------- Cards ---------- */
.dept-card,.doc-card,.news-card,.why-card,.value-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.8rem;height:100%;transition:.35s;border:1px solid rgba(44,107,224,.06)}
.dept-card:hover,.why-card:hover,.value-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}
.dept-card .icon-badge{margin:0 0 16px}
.dept-card h5{margin-bottom:.5rem}
.dept-card a{font-weight:600;color:var(--primary);font-size:.9rem}
.dept-card a:hover{color:var(--teal)}

/* ---------- About ---------- */
.about-img{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-hover)}
.about-img img{width:100%;border-radius:var(--radius)}
.exp-badge{position:absolute;bottom:-20px;left:-10px;background:var(--primary);color:#fff;border-radius:var(--radius);padding:1.2rem 1.6rem;text-align:center;box-shadow:var(--shadow-hover)}
.exp-badge .big{font-family:'Jost';font-size:2.2rem;font-weight:700}
.check-list li{margin-bottom:.7rem;display:flex;gap:.6rem;align-items:flex-start}
.check-list i{color:var(--teal);margin-top:3px}

/* ---------- Doctors ---------- */
.doc-card{padding:0;overflow:hidden;text-align:center;position:relative}
.doc-card img{width:100%;height:300px;object-fit:cover;object-position:top}
.doc-card .doc-body{padding:1.2rem}
.doc-card .doc-social{position:absolute;top:14px;right:-60px;display:flex;flex-direction:column;gap:8px;transition:.4s}
.doc-card:hover .doc-social{right:14px}
.doc-card .doc-social a{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.doc-card .doc-social a:hover{background:var(--primary);color:#fff}
.doc-card span{color:var(--teal);font-size:.85rem;font-weight:600}

/* ---------- Appointment ---------- */
.appointment-wrap{background:linear-gradient(120deg,var(--primary),var(--teal));border-radius:24px;padding:3.2rem;box-shadow:var(--shadow-hover)}
.appointment-wrap h2{color:#fff}
.appointment-wrap p{color:#e6f7f5}
.form-control,.form-select{border-radius:12px;padding:.7rem 1rem}
.appointment-wrap .form-control,.appointment-wrap .form-select{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35)}
.appointment-wrap .form-control::placeholder{color:#d7e6fd}
.appointment-wrap .form-control:focus,.appointment-wrap .form-select:focus{background:rgba(255,255,255,.2);box-shadow:none;color:#fff}
.appointment-wrap .form-select option{color:var(--navy)}

/* ---------- Testimonials ---------- */
.testi-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:2.2rem;position:relative;height:100%}
.testi-card .stars{color:#FFB703;font-size:1.05rem;margin-bottom:.8rem}
.testi-card img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.testi-card::before{content:"\201C";position:absolute;top:10px;right:26px;font-size:5rem;font-family:Georgia;color:rgba(44,107,224,.12)}
.carousel-indicators [data-bs-target]{background-color:var(--primary);width:10px;height:10px;border-radius:50%}

/* ---------- FAQ ---------- */
.accordion-item{border:none;margin-bottom:12px;border-radius:12px!important;box-shadow:var(--shadow);overflow:hidden}
.accordion-button{font-family:'Jost';font-weight:600;color:var(--navy);padding:1.1rem 1.4rem}
.accordion-button:not(.collapsed){background:var(--primary);color:#fff;box-shadow:none}
.accordion-button:focus{box-shadow:none;border:none}

/* ---------- Gallery ---------- */
.gallery-item{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);height:260px}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s}
.gallery-item .overlay{position:absolute;inset:0;background:linear-gradient(rgba(44,107,224,.0),rgba(27,42,74,.75));opacity:0;transition:.4s;display:flex;align-items:flex-end;padding:1.2rem}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-item:hover .overlay{opacity:1}
.gallery-item .overlay h6{color:#fff;margin:0}

/* ---------- Contact strip ---------- */
.contact-strip .c-box{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem;text-align:center;height:100%;transition:.3s}
.contact-strip .c-box:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.contact-strip .c-box i{font-size:1.9rem;color:var(--primary);display:block;margin-bottom:.7rem}
.map-frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}

/* ---------- Footer ---------- */
footer{background:var(--navy);color:#aebbcf;padding:70px 0 0}
footer h5{color:#fff;margin-bottom:1.2rem}
footer a{color:#aebbcf;transition:.3s;display:block;margin-bottom:.55rem}
footer a:hover{color:var(--teal);padding-left:6px}
footer .social a{display:inline-flex;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);align-items:center;justify-content:center;margin-right:8px}
footer .social a:hover{background:var(--primary);border-color:var(--primary);color:#fff;padding-left:0}
.newsletter .form-control{border-radius:50px 0 0 50px;border:none}
.newsletter .btn{border-radius:0 50px 50px 0;background:var(--primary);color:#fff;border:none;padding:.6rem 1.3rem}
.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:50px;padding:20px 0;font-size:.88rem;text-align:center}

/* ---------- Back to top / loader ---------- */
#backTop{position:fixed;right:24px;bottom:24px;width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;border:none;display:none;align-items:center;justify-content:center;box-shadow:var(--shadow-hover);z-index:99}
#backTop:hover{background:var(--teal)}
#loader{position:fixed;inset:0;background:#fff;display:flex;align-items:center;justify-content:center;z-index:999;transition:opacity .5s}
#loader .pulse{width:60px;height:60px;border-radius:50%;border:4px solid var(--primary);border-top-color:var(--teal);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:768px){.topbar{display:none}.section-pad{padding:60px 0}.appointment-wrap{padding:2rem}.exp-badge{left:0}}
