:root {
  --kg-blue:#362C6A; --kg-blue-mid:#4a3d8a; --kg-blue-soft:#5c4fa0;
  --gold:#c9962a; --gold-light:#f0c965;
  --ivory:#faf6ef; --ivory-mid:#f5efe0; --white:#ffffff;
  --slate:#4a5568; --slate-light:#718096; --text-dark:#1a202c;
  --green-acc:#1a6b4a; --green-bg:#e8f5ef;
  --red-acc:#b91c1c; --red-bg:#fef2f2;
  --violet-tint:#e8e2f5; --amber-light:#f2e3bb;
  --font-display:'Playfair Display',Georgia,serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --sh-sm:0 1px 3px rgba(54,44,106,.07);
  --sh-md:0 4px 16px rgba(54,44,106,.10);
  --sh-lg:0 8px 32px rgba(54,44,106,.16);
  --r:10px; --rlg:16px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);color:var(--text-dark);background:var(--ivory);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
.container{max-width:1140px;margin:0 auto;padding:0 24px;}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:10px;}

/* NAV */
.top-bar{background:var(--white);border-bottom:1px solid rgba(54,44,106,.08);position:sticky;top:0;z-index:100;box-shadow:var(--sh-sm);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px;}
.logo-wrap{display:flex;align-items:center;gap:14px;}
.logo-mark{width:46px;height:46px;border-radius:10px;background:var(--kg-blue);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--gold-light);flex-shrink:0;}
.logo-text-primary{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--kg-blue);line-height:1.2;}
.logo-text-sub{font-size:11px;color:var(--slate-light);}
.nabh-pill{display:inline-block;font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;background:var(--green-bg);color:var(--green-acc);vertical-align:middle;}
.nav-links{display:flex;gap:4px;}
.nav-links a{font-size:13px;font-weight:500;color:var(--slate);padding:5px 8px;border-radius:6px;transition:color .2s,background .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--kg-blue);background:rgba(54,44,106,.05);}
.nav-cta{display:flex;gap:10px;align-items:center;}
.btn-primary{background:var(--kg-blue);color:#fff;font-size:14px;font-weight:600;padding:10px 22px;border-radius:8px;border:none;cursor:pointer;transition:background .2s,transform .15s;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);}
.btn-primary:hover{background:var(--kg-blue-mid);transform:translateY(-1px);}
.btn-call{background:transparent;color:var(--kg-blue);font-size:13px;font-weight:600;padding:10px 16px;border-radius:8px;border:1.5px solid rgba(54,44,106,.2);display:inline-flex;align-items:center;gap:6px;transition:all .2s;font-family:var(--font-body);}
.btn-call:hover{border-color:var(--kg-blue);background:rgba(54,44,106,.04);}

/* BREADCRUMB */
.breadcrumb{background:var(--ivory-mid);border-bottom:1px solid rgba(54,44,106,.07);padding:10px 0;}
.bc-inner{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--slate-light);}
.bc-inner a{color:var(--kg-blue-mid);font-weight:500;}
.bc-inner a:hover{color:var(--kg-blue);}
.bc-sep{opacity:.4;}
.bc-current{color:var(--kg-blue);font-weight:600;}

/* PAGE HERO */
.page-hero{background:var(--ivory);padding:56px 0 48px;position:relative;overflow:hidden;text-align:center;}
.page-hero::before{content:'';position:absolute;top:-100px;right:-80px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(201,150,42,.08) 0%,transparent 70%);pointer-events:none;}
.page-hero::after{content:'';position:absolute;bottom:-60px;left:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(54,44,106,.06) 0%,transparent 70%);pointer-events:none;}
.page-hero-inner{position:relative;z-index:1;max-width:700px;margin:0 auto;}
.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;justify-content:center;}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:20px;font-size:12px;font-weight:600;}
.badge-nabh{background:var(--green-bg);color:var(--green-acc);border:1px solid rgba(26,107,74,.2);}
.badge-24{background:var(--red-bg);color:var(--red-acc);border:1px solid rgba(185,28,28,.18);}
.badge-kg{background:var(--violet-tint);color:var(--kg-blue);border:1px solid rgba(54,44,106,.18);}
.page-hero h1{font-family:var(--font-display);font-size:clamp(28px,3.8vw,46px);font-weight:700;color:var(--kg-blue);line-height:1.14;margin-bottom:16px;}
.page-hero h1 em{font-style:normal;color:var(--gold);}
.page-hero-desc{font-size:15px;color:var(--slate);line-height:1.72;margin-bottom:32px;max-width:580px;margin-left:auto;margin-right:auto;}
.page-hero-desc strong{color:var(--kg-blue);}
.hero-stats{display:flex;justify-content:center;padding-top:28px;border-top:1px solid rgba(54,44,106,.1);}
.hstat{padding:0 28px;}
.hstat+.hstat{border-left:1px solid rgba(54,44,106,.1);}
.hstat-val{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--kg-blue);line-height:1;}
.hstat-lbl{font-size:11px;color:var(--slate-light);margin-top:3px;line-height:1.35;}

/* SEARCH / FILTER BAR */
.filter-section{background:var(--white);border-bottom:1px solid rgba(54,44,106,.07);padding:16px 0;position:sticky;top:72px;z-index:90;}
.filter-inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.filter-label{font-size:12px;font-weight:600;color:var(--slate-light);white-space:nowrap;}
.filter-btn{font-family:var(--font-body);font-size:12px;font-weight:600;padding:6px 14px;border-radius:20px;border:1.5px solid rgba(54,44,106,.15);background:transparent;color:var(--slate);cursor:pointer;transition:all .2s;white-space:nowrap;}
.filter-btn:hover{border-color:var(--kg-blue);color:var(--kg-blue);}
.filter-btn.active{background:var(--kg-blue);color:#fff;border-color:var(--kg-blue);}
.filter-search{margin-left:auto;position:relative;}
.filter-search input{font-family:var(--font-body);font-size:13px;padding:8px 14px 8px 36px;border-radius:8px;border:1.5px solid rgba(54,44,106,.15);background:var(--ivory);color:var(--text-dark);outline:none;width:220px;transition:border-color .2s;}
.filter-search input:focus{border-color:var(--kg-blue);}
.filter-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--slate-light);pointer-events:none;}

/* FEATURED — emergency, visa medical callouts */
.featured-section{padding:48px 0 0;background:var(--ivory);}
.featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.featured-card{border-radius:var(--rlg);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;transition:transform .2s,box-shadow .2s;}
.featured-card:hover{transform:translateY(-2px);box-shadow:var(--sh-lg);}
.fc-emergency{background:var(--red-acc);}
.fc-visa{background:var(--kg-blue);}
.fc-text{}
.fc-eyebrow{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.fc-emergency .fc-eyebrow{color:rgba(255,255,255,.6);}
.fc-visa .fc-eyebrow{color:var(--gold-light);}
.fc-title{font-family:var(--font-display);font-size:20px;font-weight:700;margin-bottom:6px;}
.fc-emergency .fc-title{color:#fff;}
.fc-visa .fc-title{color:#fff;}
.fc-desc{font-size:13px;line-height:1.55;}
.fc-emergency .fc-desc{color:rgba(255,255,255,.75);}
.fc-visa .fc-desc{color:rgba(255,255,255,.65);}
.fc-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:11px 22px;border-radius:8px;transition:all .2s;white-space:nowrap;font-family:var(--font-body);}
.fc-emergency .fc-cta{background:#fff;color:var(--red-acc);}
.fc-emergency .fc-cta:hover{background:var(--ivory);}
.fc-visa .fc-cta{background:var(--gold);color:var(--kg-blue);}
.fc-visa .fc-cta:hover{background:var(--gold-light);}

/* DEPARTMENTS GRID */
.depts-section{padding:16px 0 72px;background:var(--ivory);}
.depts-section-head{margin-bottom:28px;}
.depts-section-head h2{font-family:var(--font-display);font-size:clamp(20px,2.4vw,28px);font-weight:700;color:var(--kg-blue);margin-bottom:4px;}
.depts-section-head p{font-size:14px;color:var(--slate-light);}
.dept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}

/* Department card */
.dept-card{background:var(--white);border-radius:var(--rlg);border:1px solid rgba(54,44,106,.08);overflow:hidden;transition:box-shadow .25s,transform .25s;display:flex;flex-direction:column;}
.dept-card:hover{box-shadow:var(--sh-lg);transform:translateY(-3px);}
.dept-card-top{padding:20px 20px 0;}
.dept-card-tag{display:inline-block;font-size:10px;font-weight:700;padding:2px 9px;border-radius:4px;margin-bottom:12px;letter-spacing:.04em;}
.tag-specialist{background:var(--violet-tint);color:var(--kg-blue-mid);}
.tag-surgical{background:var(--amber-light);color:#7a4a0a;}
.tag-diagnostic{background:var(--green-bg);color:var(--green-acc);}
.tag-preventive{background:rgba(54,44,106,.07);color:var(--kg-blue);}
.dept-card-name{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--kg-blue);margin-bottom:8px;line-height:1.3;}
.dept-card-desc{font-size:12px;color:var(--slate);line-height:1.6;margin-bottom:12px;}
.dept-card-highlights{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:16px;}
.dept-hl{font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px;background:var(--ivory);border:1px solid rgba(54,44,106,.08);color:var(--slate);}
.dept-card-footer{margin-top:auto;padding:14px 20px;border-top:1px solid rgba(54,44,106,.06);display:flex;align-items:center;justify-content:space-between;}
.dept-card-link{font-size:13px;font-weight:700;color:var(--kg-blue);display:inline-flex;align-items:center;gap:5px;transition:gap .2s;}
.dept-card:hover .dept-card-link{gap:8px;}
.dept-card-arrow{font-size:15px;transition:transform .2s;}
.dept-card:hover .dept-card-arrow{transform:translateX(3px);}
.dept-card-book{font-size:11px;font-weight:600;padding:5px 12px;border-radius:6px;background:var(--kg-blue);color:#fff;transition:background .2s;}
.dept-card-book:hover{background:var(--kg-blue-mid);}

/* TRUST SECTION */
.trust-section{padding:56px 0;background:var(--white);}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.trust-card{background:var(--ivory);border-radius:var(--rlg);padding:24px;border:1px solid rgba(54,44,106,.07);text-align:center;}
.trust-val{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--kg-blue);line-height:1;margin-bottom:6px;}
.trust-lbl{font-size:13px;font-weight:600;color:var(--kg-blue);margin-bottom:4px;}
.trust-sub{font-size:12px;color:var(--slate-light);line-height:1.5;}

/* GEO SECTION */
.geo-section{padding:56px 0;background:var(--ivory);}
.geo-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.geo-text h2{font-family:var(--font-display);font-size:clamp(20px,2.4vw,28px);font-weight:700;color:var(--kg-blue);margin-bottom:12px;line-height:1.25;}
.geo-text p{font-size:14px;color:var(--slate);line-height:1.72;margin-bottom:14px;}
.geo-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;}
.geo-chip{font-size:12px;font-weight:500;padding:5px 12px;border-radius:16px;background:var(--white);border:1px solid rgba(54,44,106,.1);color:var(--text-dark);transition:all .2s;}
.geo-chip.primary{background:var(--kg-blue);color:#fff;border-color:transparent;font-weight:600;}
.geo-chip:hover{background:var(--violet-tint);border-color:rgba(54,44,106,.2);}
.contact-card{background:var(--white);border-radius:var(--rlg);padding:24px;border:1px solid rgba(54,44,106,.08);box-shadow:var(--sh-sm);}
.cc-title{font-size:12px;font-weight:700;color:var(--kg-blue);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;}
.cc-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(54,44,106,.06);}
.cc-row:last-of-type{border-bottom:none;}
.cc-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.cc-label{font-size:11px;color:var(--slate-light);margin-bottom:1px;}
.cc-val{font-size:14px;font-weight:600;color:var(--kg-blue);}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;background:#25d366;color:#fff;font-size:14px;font-weight:700;padding:11px;border-radius:9px;transition:all .2s;font-family:var(--font-body);}
.wa-btn:hover{background:#1db954;}

/* FAQ */
.faq-section{padding:56px 0;background:var(--white);}
.faq-layout{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start;}
.faq-sidebar{position:sticky;top:120px;}
.faq-sidebar h2{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--kg-blue);margin-bottom:10px;}
.faq-sidebar p{font-size:13px;color:var(--slate);line-height:1.65;margin-bottom:20px;}
.faq-item{border-bottom:1px solid rgba(54,44,106,.09);padding:14px 0;}
.faq-q{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;cursor:pointer;}
.faq-q-text{font-size:14px;font-weight:600;color:var(--kg-blue);line-height:1.4;}
.faq-toggle{font-size:20px;color:var(--gold);flex-shrink:0;transition:transform .25s;font-weight:300;line-height:1;margin-top:2px;}
.faq-a{font-size:13px;color:var(--slate);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .35s ease,margin-top .2s;}
.faq-item.open .faq-a{max-height:280px;margin-top:10px;}
.faq-item.open .faq-toggle{transform:rotate(45deg);}

/* BOTTOM CTA */
.bottom-cta{background:var(--kg-blue);padding:64px 0;text-align:center;position:relative;overflow:hidden;}
.bottom-cta::before{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:rgba(201,150,42,.07);pointer-events:none;}
.bottom-cta h2{font-family:var(--font-display);font-size:clamp(24px,3vw,36px);font-weight:700;color:#fff;margin-bottom:10px;position:relative;z-index:1;}
.bottom-cta p{font-size:15px;color:rgba(255,255,255,.7);margin-bottom:30px;position:relative;z-index:1;}
.cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1;}
.btn-cta-gold{background:var(--gold);color:var(--kg-blue);font-size:15px;font-weight:700;padding:14px 32px;border-radius:10px;border:none;cursor:pointer;font-family:var(--font-body);display:inline-flex;align-items:center;gap:8px;transition:all .2s;}
.btn-cta-gold:hover{background:var(--gold-light);transform:translateY(-2px);}
.btn-cta-white{background:rgba(255,255,255,.1);color:#fff;font-size:15px;font-weight:600;padding:14px 32px;border-radius:10px;border:1.5px solid rgba(255,255,255,.25);font-family:var(--font-body);display:inline-flex;align-items:center;gap:8px;transition:all .2s;}
.btn-cta-white:hover{background:rgba(255,255,255,.16);}

/* ══════════════════════════
   FOOTER
══════════════════════════ */
footer { background:var(--kg-blue); color:rgba(255,255,255,.75); padding:60px 0 28px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-brand-desc { font-size:13px; color:rgba(255,255,255,.55); line-height:1.7; margin:14px 0 18px; max-width:280px; }
.footer-col-title { font-size:12px; font-weight:700; color:white; letter-spacing:.07em; text-transform:uppercase; margin-bottom:14px; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:8px; }
.footer-links a { font-size:13px; color:rgba(255,255,255,.6); transition:color .2s; }
.footer-links a:hover { color:var(--gold-light); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:22px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom-text { font-size:12px; color:rgba(255,255,255,.4); }
.footer-cert-badge { font-size:11px; font-weight:600; padding:4px 10px; border-radius:4px; background:rgba(201,150,42,.15); color:var(--gold-light); border:1px solid rgba(201,150,42,.25); }


/* STICKY */
.sticky-actions{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:1000;}
.sticky-btn{width:52px;height:52px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.22);transition:all .2s;text-decoration:none;}
.sticky-btn.wa{background:#25d366;}
.sticky-btn.call{background:var(--red-acc);}
.sticky-btn:hover{transform:scale(1.1);}

/* hidden class for filter */
.dept-card.hidden{display:none;}

@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.page-hero-inner>*{opacity:0;animation:fadeUp .5s ease forwards;}
.hero-badges{animation-delay:.05s;}.page-hero h1{animation-delay:.12s;}
.page-hero-desc{animation-delay:.2s;}.hero-stats{animation-delay:.3s;}

@media(max-width:1024px){.dept-grid{grid-template-columns:repeat(3,1fr);}.trust-grid{grid-template-columns:repeat(2,1fr);}.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){
  .nav-links{display:none;}.dept-grid{grid-template-columns:repeat(2,1fr);}
  .featured-grid{grid-template-columns:1fr;}.featured-card{flex-direction:column;align-items:flex-start;}
  .geo-inner{grid-template-columns:1fr;}.faq-layout{grid-template-columns:1fr;gap:32px;}
  .faq-sidebar{position:static;}.footer-grid{grid-template-columns:1fr;}
  .hero-stats{flex-wrap:wrap;}.hstat{padding:0 14px;}
  .filter-search{margin-left:0;width:100%;}
  .filter-search input{width:100%;}
}
@media(max-width:480px){.dept-grid{grid-template-columns:1fr 1fr;}.cta-buttons{flex-direction:column;}.trust-grid{grid-template-columns:1fr 1fr;}}
