 :root{
    --ah-teal-900:#082C27; --ah-teal-800:#0A3F38; --ah-teal-700:#0F5C52; --ah-teal-600:#147468;
    --ah-teal-100:#E7F2F0; --ah-teal-050:#F3F8F7;
    --ah-gold-600:#B8740A; --ah-gold-500:#D98E04; --ah-gold-400:#F0A825; --ah-gold-100:#FCEACB;
    --ah-danger:#C0392B; --ah-info:#2C7DA0; --ah-success:#2E8B57;
    --ah-bg:#F5F7F6; --ah-text:#16211F; --ah-text-muted:#5B6B68; --ah-border:#E1E8E6;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',sans-serif; color:var(--ah-text); background:#fff; -webkit-font-smoothing:antialiased;}
  h1,h2,h3,h4,h5,.font-display{font-family:'Sora',sans-serif; color:var(--ah-teal-900); letter-spacing:-0.01em;}
  a{color:var(--ah-teal-700); text-decoration:none;}
  .text-gold{color:var(--ah-gold-600) !important;}
  .bg-brand{background:var(--ah-teal-700) !important;}
  .text-brand{color:var(--ah-teal-700) !important;}
  .section-eyebrow{font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:var(--ah-gold-600); font-weight:700; margin-bottom:10px;}
  .section-pad{padding:88px 0;}
  @media (max-width:767.98px){ .section-pad{padding:56px 0;} }

  /* ---------- Top bar ---------- */
  .topbar{background:var(--ah-teal-900); color:#CFE3DF; font-size:.8rem;}
  .topbar a{color:#CFE3DF;}
  .topbar a:hover{color:#fff;}

  /* ---------- Navbar ---------- */
  .navbar-public{background:#fff; box-shadow:0 1px 0 var(--ah-border); padding:14px 0; transition:box-shadow .2s ease;}
  .navbar-public.scrolled{box-shadow:0 8px 24px rgba(10,63,56,.08);}
  .brand-mark{width:44px; height:44px; border-radius:12px; background:var(--ah-gold-500); display:flex; align-items:center; justify-content:center; color:var(--ah-teal-900); font-family:'Sora',sans-serif; font-weight:700; font-size:1.05rem; flex-shrink:0;}
  .brand-title{font-family:'Sora',sans-serif; font-weight:700; font-size:.98rem; color:var(--ah-teal-900); line-height:1.15;}
  .brand-sub{font-size:.68rem; color:var(--ah-gold-600); letter-spacing:.06em; text-transform:uppercase;}
  .navbar-public .nav-link{font-weight:600; font-size:.9rem; color:var(--ah-teal-900); padding:8px 14px !important;}
  .navbar-public .nav-link:hover, .navbar-public .nav-link.active{color:var(--ah-teal-700);}
  .btn-brand{background:var(--ah-teal-700); border-color:var(--ah-teal-700); color:#fff; font-weight:600; border-radius:10px;}
  .btn-brand:hover{background:var(--ah-teal-800); border-color:var(--ah-teal-800); color:#fff;}
  .btn-gold{background:var(--ah-gold-500); border-color:var(--ah-gold-500); color:var(--ah-teal-900); font-weight:600; border-radius:10px;}
  .btn-gold:hover{background:var(--ah-gold-600); border-color:var(--ah-gold-600); color:var(--ah-teal-900);}
  .btn-outline-brand{border-color:var(--ah-teal-700); color:var(--ah-teal-700); font-weight:600; border-radius:10px;}
  .btn-outline-brand:hover{background:var(--ah-teal-700); color:#fff;}
  .btn-outline-light-brand{border:1px solid rgba(255,255,255,.5); color:#fff; font-weight:600; border-radius:10px;}
  .btn-outline-light-brand:hover{background:rgba(255,255,255,.12); color:#fff; border-color:#fff;}

  /* ---------- Ridge motif ---------- */
  .ridge-motif{position:absolute; left:0; right:0; bottom:0; width:100%; pointer-events:none;}
  .ridge-dot{animation:ah-pulse 2.6s ease-in-out infinite; transform-origin:center;}
  @keyframes ah-pulse{0%,100%{opacity:1; transform:scale(1);} 50%{opacity:.35; transform:scale(1.8);}}
  @media (prefers-reduced-motion: reduce){ .ridge-dot{animation:none;} }

  /* ---------- Hero ---------- */
  .hero{
    position:relative; overflow:hidden; color:#fff; padding:120px 0 0;
    background:radial-gradient(120% 120% at 15% 10%, var(--ah-teal-600) 0%, var(--ah-teal-800) 45%, var(--ah-teal-900) 100%);
  }
  .hero .badge-pill{background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; padding:6px 14px; border-radius:30px; font-size:.78rem; font-weight:600;}
  .hero-stats{background:#fff; border-radius:20px; box-shadow:0 20px 50px rgba(10,63,56,.18); margin-top:56px; margin-bottom:-90px; position:relative; z-index:3;}
  .hero-stat{padding:26px 16px; text-align:center; border-right:1px solid var(--ah-border);}
  .hero-stat:last-child{border-right:none;}
  .hero-stat .num{font-family:'Sora',sans-serif; font-weight:800; font-size:1.9rem; color:var(--ah-teal-800); line-height:1;}
  .hero-stat .lbl{font-size:.78rem; color:var(--ah-text-muted); margin-top:6px;}
  @media (max-width:767.98px){
    .hero-stat{border-right:none; border-bottom:1px solid var(--ah-border);}
    .hero-stats .row > div:last-child .hero-stat{border-bottom:none;}
  }

  /* ---------- About ---------- */
  .about-photo-wrap{position:relative;}
  .about-photo-main{border-radius:20px; width:100%; height:380px; object-fit:cover; box-shadow:0 24px 50px rgba(10,63,56,.16);}
  .about-photo-badge{
    position:absolute; bottom:-24px; right:-24px; background:#fff; border-radius:16px; padding:18px 22px;
    box-shadow:0 16px 40px rgba(10,63,56,.16); display:flex; align-items:center; gap:12px; max-width:230px;
  }
  @media (max-width:991.98px){ .about-photo-badge{position:static; margin-top:16px; max-width:none;} }
  .check-item{display:flex; align-items:flex-start; gap:10px; margin-bottom:12px;}
  .check-item i{color:var(--ah-teal-700); font-size:1.1rem; margin-top:2px;}

  /* ---------- Service / facility cards ---------- */
  .service-card{border:1px solid var(--ah-border); border-radius:16px; padding:28px 24px; height:100%; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; background:#fff;}
  .service-card:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(10,63,56,.1); border-color:transparent;}
  .service-icon{width:52px; height:52px; border-radius:14px; background:var(--ah-teal-100); color:var(--ah-teal-700); display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:16px;}

  .facility-card{border-radius:16px; overflow:hidden; box-shadow:0 6px 18px rgba(10,63,56,.06); background:#fff; height:100%; border:1px solid var(--ah-border);}
  .facility-card img{height:190px; width:100%; object-fit:cover;}
  .facility-tag{position:absolute; top:14px; left:14px; background:rgba(8,44,39,.75); color:#fff; font-size:.7rem; font-weight:600; padding:4px 10px; border-radius:20px; backdrop-filter:blur(2px);}

  /* ---------- Stats / impact ---------- */
  .impact-section{background:var(--ah-teal-800); color:#fff; position:relative; overflow:hidden;}
  .impact-stat .num{font-family:'Sora',sans-serif; font-weight:800; font-size:2.4rem; color:var(--ah-gold-400);}
  .impact-stat .lbl{font-size:.85rem; color:#CFE3DF;}
  .impact-icon{width:56px; height:56px; border-radius:14px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--ah-gold-400); margin:0 auto 14px;}

  /* ---------- News ---------- */
  .news-card{border-radius:16px; overflow:hidden; border:1px solid var(--ah-border); height:100%; background:#fff; transition:box-shadow .18s ease, transform .18s ease;}
  .news-card:hover{box-shadow:0 16px 36px rgba(10,63,56,.1); transform:translateY(-4px);}
  .news-card img{height:180px; width:100%; object-fit:cover;}
  .news-date{font-size:.72rem; font-weight:700; color:var(--ah-gold-600); text-transform:uppercase; letter-spacing:.06em;}

  /* ---------- Leadership ---------- */
  .leader-quote{position:relative; background:var(--ah-teal-050); border-radius:20px; padding:44px; }
  .leader-quote i.bi-quote{font-size:2.6rem; color:var(--ah-gold-400); line-height:1;}

  /* ---------- Testimonials ---------- */
  .testimonial-card{background:#fff; border:1px solid var(--ah-border); border-radius:16px; padding:28px; height:100%;}
  .testimonial-card .stars{color:var(--ah-gold-500); font-size:.85rem; margin-bottom:12px;}

  /* ---------- CTA banner ---------- */
  .cta-banner{background:linear-gradient(120deg, var(--ah-teal-700), var(--ah-teal-900)); border-radius:24px; color:#fff; padding:48px; position:relative; overflow:hidden;}

  /* ---------- Footer ---------- */
  .footer-public{background:var(--ah-teal-900); color:#B9D1CB; padding-top:64px;}
  .footer-public h6{color:#fff; font-family:'Sora',sans-serif; font-weight:700; margin-bottom:18px;}
  .footer-public a{color:#B9D1CB;}
  .footer-public a:hover{color:#fff;}
  .footer-public .footer-link{display:block; padding:5px 0; font-size:.88rem;}
  .footer-social{width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; color:#fff;}
  .footer-social:hover{background:var(--ah-gold-500); color:var(--ah-teal-900);}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:48px; padding:20px 0; font-size:.82rem;}

  /* ---------- Floating buttons ---------- */
  .float-btn{position:fixed; right:22px; z-index:1040; width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(10,63,56,.28); font-size:1.3rem;}
  .float-call{bottom:88px; background:var(--ah-danger); color:#fff;}
  .float-top{bottom:24px; background:#fff; color:var(--ah-teal-800); border:1px solid var(--ah-border); opacity:0; pointer-events:none; transition:opacity .2s ease;}
  .float-top.show{opacity:1; pointer-events:auto;}

  .divider-dot{width:6px; height:6px; border-radius:50%; background:var(--ah-gold-500); display:inline-block; margin:0 10px;}



.facility-count {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 50px;
  background: #f0fdf4;
  color: #15803d;
  font-size: 13px;
  font-weight: 600;
}

.facility-card-modern {
  height: 100%;
  padding: 24px 20px 20px;
  background: #ffffff;
  border: 1px solid #e8edf1;
  border-radius: 18px;
  position: relative;
  overflow: hidden;
  transition: all .3s ease;
  box-shadow: 0 4px 18px rgba(0,0,0,.04);
}

.facility-card-modern::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: #198754;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}

.facility-card-modern:hover {
  transform: translateY(-6px);
  border-color: rgba(25,135,84,.25);
  box-shadow: 0 14px 35px rgba(0,0,0,.09);
}

.facility-card-modern:hover::before {
  transform: scaleX(1);
}

.facility-icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #ecfdf5;
  color: #198754;
  font-size: 25px;
  margin-bottom: 15px;
}

.facility-type {
  display: inline-block;
  padding: 5px 10px;
  border-radius: 6px;
  background: #ecfdf5;
  color: #15803d;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 10px;
}

.facility-type.general {
  background: #eff6ff;
  color: #2563eb;
}

.facility-type.specialist {
  background: #faf5ff;
  color: #9333ea;
}

.facility-card-modern h5 {
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  color: #172b4d;
}

.facility-info {
  border-top: 1px solid #edf0f2;
}

.facility-info div {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 9px;
}

.facility-info div:last-child {
  margin-bottom: 0;
}

.facility-info i {
  color: #198754;
  font-size: 14px;
  margin-top: 2px;
  flex-shrink: 0;
}

.facility-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid #edf0f2;
  color: #198754;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}

.facility-link i {
  transition: transform .2s ease;
}

.facility-link:hover {
  color: #146c43;
}

.facility-link:hover i {
  transform: translateX(4px);
}

@media (max-width: 575px) {

  .facility-card-modern {
    padding: 20px 17px;
  }

  .facility-card-modern h5 {
    font-size: 15px;
  }

}