body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#273142;background:#fff}
.topbar{background:var(--theme-deep);color:#fff}
.main-nav{background:linear-gradient(90deg,var(--primary),var(--theme-deep));box-shadow:0 3px 20px rgba(0,0,0,.15)}
.brand-logo{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
.brand-mark{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--primary);display:grid;place-items:center;font-weight:800}
.navbar-brand small{font-size:.72rem;letter-spacing:1px;color:#EAF6EE}
.nav-link{font-weight:600;margin-left:5px}
.hero{background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.15),transparent 30%),linear-gradient(120deg,var(--primary),var(--theme-deep));color:#fff;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-80px;bottom:-180px;width:420px;height:420px;border:70px solid rgba(255,255,255,.04);border-radius:50%}
.min-vh-50{min-height:520px}
.hero-kicker,.section-heading span,.page-header span{font-size:.78rem;letter-spacing:2px;font-weight:700;color:var(--secondary)}
.hero h1{font-size:clamp(2.4rem,5vw,4.6rem);font-weight:800;line-height:1.04;max-width:850px}
.hero-panel{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:32px}
.hero-icon{font-size:4rem;color:var(--secondary)}
.quick-services{margin-top:-42px;position:relative;z-index:5}
.quick-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 15px 40px rgba(34,30,30,.12);display:flex;flex-direction:column;min-height:145px}
.quick-card i{font-size:2rem;color:var(--primary);margin-bottom:10px}.quick-card span{color:#7c8798;font-size:.9rem}
.section-space{padding:90px 0}.section-soft{background:#f5f8fd}.section-heading h2{font-weight:800}
.news-card{border:1px solid #eee;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 7px 30px rgba(0,0,0,.05)}
.news-card img,.image-placeholder{height:230px;width:100%;object-fit:cover}.image-placeholder{display:grid;place-items:center;background:var(--theme-soft);font-size:3rem;color:var(--primary)}
.news-card a{color:var(--primary);text-decoration:none;font-weight:700}
.program-row{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid #ddd}.program-icon{width:56px;height:56px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:1.5rem;flex:0 0 auto}
.announcement-box{background:var(--primary);color:#fff;border-radius:22px;padding:28px}.announcement-item{border-bottom:1px solid rgba(255,255,255,.18);padding:15px 0;display:flex;flex-direction:column}
.page-header{background:linear-gradient(120deg,var(--primary),var(--theme-deep));color:#fff}.page-header h1{font-weight:800}
.content-card{background:#fff;border:1px solid #eee;box-shadow:0 8px 30px rgba(0,0,0,.05);border-radius:18px;padding:32px}
.staff-card{border:1px solid #eee;border-radius:16px;overflow:hidden;background:#fff}.staff-card img,.staff-placeholder{width:100%;height:280px;object-fit:cover}.staff-placeholder{background:var(--theme-soft);display:grid;place-items:center;font-size:4rem;color:var(--primary)}
.article-img{max-height:540px;object-fit:cover}.empty-box{border:1px dashed #ccc;padding:40px;text-align:center;border-radius:15px}
.footer{background:var(--theme-deeper);color:#fff}.footer a{display:block;color:#d9c5ca;text-decoration:none;margin:7px 0}.footer-bottom{background:var(--theme-deeper);color:#c7b6ba}

/* ===== Medical Blue Identity ===== */
:root{
  --medical-blue:var(--primary);
  --medical-cyan:var(--secondary);
  --medical-navy:var(--theme-deep);
  --medical-sky:var(--theme-soft);
  --medical-mint:#DDF7F4;
  --medical-text:#18364A;
}
body{color:var(--medical-text);background:#fff}
.topbar{background:var(--medical-navy)}
.main-nav{background:linear-gradient(90deg,var(--medical-blue),var(--theme-deep))}
.navbar-brand small{color:#DDF4FA}
.brand-mark{color:var(--medical-blue)}
.nav-link{color:rgba(255,255,255,.92)!important}
.nav-link:hover{color:#fff!important}

.hero-slider-wrap{background:var(--medical-navy)}
.hero-slide{
  position:relative;
  min-height:610px;
  background-size:cover;
  background-position:center;
  color:#fff;
  overflow:hidden;
}
.hero-slide-medical{
  background:
    radial-gradient(circle at 78% 22%,rgba(88,216,232,.28),transparent 23%),
    radial-gradient(circle at 90% 72%,rgba(255,255,255,.10),transparent 24%),
    linear-gradient(120deg,var(--theme-deep) 0%,var(--primary) 58%,var(--secondary) 100%);
}
.hero-slide-content{min-height:610px;display:flex;align-items:center;position:relative;z-index:2}
.hero-slide h1{font-size:clamp(2.7rem,5vw,5.1rem);font-weight:800;line-height:1.03;max-width:930px;margin:14px 0 20px}
.hero-slide .lead{font-size:1.12rem;line-height:1.75;max-width:760px;color:#E1F6FB;margin-bottom:30px}
.hero-kicker{color:#8CE3EF}
.btn-medical-light{background:#fff;color:var(--medical-blue);border:0;font-weight:700;padding:.85rem 1.3rem;border-radius:12px}
.btn-medical-light:hover{background:var(--theme-soft);color:var(--theme-deep)}
.medical-pattern{position:absolute;right:8%;bottom:-35px;font-size:15rem;color:rgba(255,255,255,.055);z-index:1}
.carousel-indicators [data-bs-target]{width:28px;height:4px;border:0;border-radius:10px}
.carousel-control-prev,.carousel-control-next{width:7%}

.quick-card i,.news-card a{color:var(--medical-blue)}
.quick-card{border-top:4px solid var(--medical-cyan)}
.program-icon{background:linear-gradient(145deg,var(--medical-blue),var(--medical-cyan))}
.announcement-box{background:linear-gradient(145deg,var(--medical-blue),#087D9D)}
.section-soft{background:#F5FAFC}
.page-header{background:linear-gradient(115deg,var(--medical-navy),var(--medical-blue),#087D9D)}
.page-header span,.section-heading span{color:#3AC2D8}
.footer{background:var(--medical-navy)}
.footer-bottom{background:var(--theme-deeper)}
.image-placeholder,.staff-placeholder{background:var(--medical-sky);color:var(--medical-blue)}

/* ===== Professional Frontend v4 ===== */
a{transition:.2s}
.announcement-ticker{
  background:#f7fcfe;
  border-bottom:1px solid #dceef4;
  min-height:44px;
  display:flex;
  align-items:center;
  overflow:hidden;
}
.ticker-inner{display:flex;align-items:stretch;overflow:hidden;padding:0}
.ticker-label{
  flex:0 0 auto;
  background:linear-gradient(90deg,var(--primary),#087D9D);
  color:#fff;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 18px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.3px;
  position:relative;
  z-index:2;
}
.ticker-viewport{overflow:hidden;flex:1;display:flex;align-items:center}
.ticker-track{
  display:flex;
  align-items:center;
  width:max-content;
  white-space:nowrap;
  animation:tickerScroll 32s linear infinite;
}
.ticker-track:hover{animation-play-state:paused}
.ticker-item{display:inline-flex;align-items:center;padding:0 22px;font-size:.86rem;color:#27485b;font-weight:600}
.ticker-item i{color:var(--secondary);font-size:1.2rem}
@keyframes tickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.hero-slider-wrap{box-shadow:0 20px 50px rgba(8,76,122,.08)}
.quick-services{margin-top:-52px}
.quick-card{border-top:0;position:relative;overflow:hidden}
.quick-card:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:linear-gradient(var(--primary),var(--secondary))}
.quick-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(25,76,109,.14)}
.section-heading span{font-weight:800}
.section-heading h2{color:#14384f}
.news-card{border:1px solid #e2edf2;transition:.2s}
.news-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(31,76,106,.10)}
.news-card h5{font-weight:750;color:#173a50;line-height:1.45}
.news-date{color:#7a8d9b}
.content-card{border-color:#e3edf2;box-shadow:0 10px 35px rgba(31,76,106,.055)}

.page-header{
  position:relative;
  overflow:hidden;
  border-bottom:4px solid var(--secondary);
}
.page-header:after{
  content:"";
  position:absolute;
  width:280px;height:280px;
  border:52px solid rgba(255,255,255,.045);
  border-radius:50%;
  right:5%;top:-130px;
}
.page-header .container{position:relative;z-index:2}
.breadcrumb-lite{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#d5edf5;margin-top:13px}
.breadcrumb-lite a{color:#fff;text-decoration:none}.breadcrumb-lite i{font-size:.65rem}

.public-sidebar{position:sticky;top:138px}
.sidebar-widget{
  background:#fff;
  border:1px solid #e2edf2;
  border-radius:18px;
  padding:22px;
  margin-bottom:20px;
  box-shadow:0 8px 28px rgba(28,72,100,.045);
}
.sidebar-widget-title span{font-size:.64rem;letter-spacing:1.3px;font-weight:800;color:#0789A6}
.sidebar-widget-title h5{font-weight:800;color:#173a50;margin:4px 0 15px}
.latest-news-item{
  display:flex;
  gap:12px;
  padding:13px 0;
  border-bottom:1px solid #edf2f5;
  color:#173a50;
  text-decoration:none;
}
.latest-news-item:last-child{border-bottom:0;padding-bottom:0}
.latest-news-item:first-child{padding-top:0}
.latest-news-item img,.latest-news-placeholder{
  width:78px;height:62px;border-radius:10px;object-fit:cover;flex:0 0 auto
}
.latest-news-placeholder{display:grid;place-items:center;background:var(--theme-soft);color:var(--primary);font-size:1.3rem}
.latest-news-item small{display:block;color:#8999a5;font-size:.68rem;margin-bottom:3px}
.latest-news-item strong{display:block;font-size:.81rem;line-height:1.35}
.latest-news-item:hover strong{color:var(--primary)}
.sidebar-empty{font-size:.84rem;color:#8595a1}
.sidebar-quick>a{
  display:grid;
  grid-template-columns:34px 1fr 18px;
  align-items:center;
  gap:10px;
  padding:11px 0;
  border-bottom:1px solid #edf2f5;
  text-decoration:none;
  color:#294b60;
  font-size:.86rem;
  font-weight:650;
}
.sidebar-quick>a:last-child{border-bottom:0}
.sidebar-quick>a>i:first-child{
  width:34px;height:34px;border-radius:9px;background:var(--theme-soft);color:var(--primary);display:grid;place-items:center
}
.sidebar-quick>a>i:last-child{font-size:.72rem;color:#91a3af}
.medical-info-card{
  background:linear-gradient(145deg,var(--theme-deep),var(--primary) 68%,#087D9D);
  color:#fff;
  border:0;
}
.medical-info-card>i{font-size:2.6rem;color:#83E0EA}
.medical-info-card h5{font-weight:800;margin:12px 0 8px}
.medical-info-card p{color:#d9f1f6;font-size:.84rem;margin:0;line-height:1.65}

.program-detail-card{display:flex;gap:18px;align-items:flex-start}
.program-detail-icon{width:58px;height:58px;border-radius:15px;background:linear-gradient(145deg,var(--primary),var(--secondary));color:#fff;display:grid;place-items:center;font-size:1.4rem;flex:0 0 auto}
.program-detail-card h4{font-weight:800;color:#173a50}
.program-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px}
.program-meta span{font-size:.74rem;background:var(--theme-soft);color:var(--primary);padding:5px 9px;border-radius:20px;font-weight:700}
.article-meta{color:#7f909c;font-size:.82rem;margin-bottom:17px}
.doc-title{display:flex;align-items:center;gap:10px}.doc-title i{color:var(--primary);font-size:1.2rem}

.footer{
  background:linear-gradient(135deg,var(--theme-deeper),var(--theme-deep) 58%,var(--theme-deep));
  color:#fff !important;
  border-top:5px solid var(--secondary);
}
.footer *{color:inherit}
.footer h5,.footer h6,.footer strong{color:#fff !important}
.footer small,.footer-text,.footer-contact span{color:#cae4ee !important}
.footer-title{font-size:.78rem;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;margin-bottom:16px}
.footer a{color:#d8edf4 !important;text-decoration:none;margin:8px 0}
.footer a:hover{color:#fff !important;transform:translateX(2px)}
.footer-logo{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:14px;padding:5px}
.footer-logo-placeholder{width:58px;height:58px;border-radius:14px;background:#fff;color:var(--primary)!important;display:grid;place-items:center;font-size:1.5rem}
.footer-contact div{display:flex;align-items:center;gap:9px;margin:7px 0}.footer-contact i{color:#6CD6E5!important}
.social-links{display:flex;gap:9px}.social-links a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.1);display:grid;place-items:center;margin:0!important}
.social-links a:hover{background:var(--secondary);transform:translateY(-2px)}
.footer-bottom{background:var(--theme-deeper) !important;color:#bcd7e1 !important;border-top:1px solid rgba(255,255,255,.08);font-size:.78rem}
.footer-bottom *{color:#bcd7e1 !important}

@media(max-width:991px){
  .public-sidebar{position:static}
  .ticker-label span{display:none}
  .ticker-label{padding:0 12px}
}


/* Running text visibility fix */
.announcement-ticker{
  position:relative;
  z-index:15;
  display:flex !important;
  background:#F1FAFD !important;
  border-top:1px solid #DDEEF4;
  border-bottom:1px solid #D5EAF1;
}
.ticker-viewport{min-width:0}
.ticker-track{animation-duration:36s}


/* Contact & homepage professional sections */
.section-kicker{
  display:inline-block;
  font-size:.68rem;
  letter-spacing:1.5px;
  font-weight:800;
  color:#0789A6;
  margin-bottom:10px;
}
.home-section-title{
  font-size:clamp(2rem,3.2vw,3.15rem);
  line-height:1.12;
  font-weight:800;
  color:#173A50;
  margin-bottom:18px;
}
.home-section-desc{font-size:1rem;line-height:1.8;color:#6F8390}
.home-profile-section{background:#fff}
.profile-visual-card{
  min-height:390px;
  position:relative;
  border-radius:28px;
  background:
    radial-gradient(circle at 72% 20%,rgba(112,212,232,.35),transparent 23%),
    linear-gradient(145deg,var(--theme-deep),var(--primary) 62%,var(--secondary));
  overflow:hidden;
  padding:40px;
  box-shadow:0 25px 60px rgba(20,79,116,.18)
}
.profile-visual-card:after{
  content:"";
  position:absolute;
  width:260px;height:260px;
  border:46px solid rgba(255,255,255,.055);
  border-radius:50%;
  right:-65px;bottom:-70px
}
.profile-visual-main{position:relative;z-index:2;color:#fff;display:flex;flex-direction:column;align-items:flex-start}
.profile-visual-main>i{font-size:5rem;color:#8EE9F0;margin-bottom:44px}
.profile-visual-main span{font-size:.72rem;letter-spacing:1.6px;color:#C8EEF4;font-weight:800}
.profile-visual-main strong{font-size:2rem;margin-top:6px}
.profile-mini-card{
  position:absolute;
  z-index:3;
  left:36px;bottom:30px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 12px 35px rgba(0,0,0,.12);
  padding:14px 18px;
  display:flex;align-items:center;gap:12px
}
.profile-mini-card i{font-size:1.7rem;color:var(--primary)}
.profile-mini-card strong{display:block;color:#173A50;font-size:.85rem}
.profile-mini-card small{display:block;color:#7D919D;font-size:.7rem}
.profile-points{margin:20px 0}
.profile-points>div{display:flex;align-items:flex-start;gap:10px;margin:11px 0;color:#3D5D70;font-weight:600;font-size:.9rem}
.profile-points i{color:var(--secondary);font-size:1.15rem;margin-top:1px}

.home-stats-section{
  background:linear-gradient(180deg,#fff 0,#fff 50%,#F5FAFC 50%,#F5FAFC 100%);
  padding:10px 0 55px
}
.stats-panel{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:#fff;
  border:1px solid #E1EDF2;
  border-radius:22px;
  box-shadow:0 18px 45px rgba(34,82,112,.09);
  overflow:hidden
}
.stat-box{padding:28px;text-align:center;border-right:1px solid #E6EEF2}
.stat-box:last-child{border-right:0}
.stat-box i{display:block;font-size:1.8rem;color:var(--secondary);margin-bottom:8px}
.stat-box strong{display:block;font-size:2rem;color:var(--primary);line-height:1.1}
.stat-box span{display:block;color:#728692;font-size:.8rem;margin-top:5px}

.contact-cta-card{
  background:linear-gradient(120deg,var(--theme-deep),var(--primary) 62%,#087D9D);
  border-radius:24px;
  padding:36px 40px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  box-shadow:0 22px 50px rgba(11,95,165,.16)
}
.contact-cta-card span{font-size:.68rem;letter-spacing:1.5px;color:#91E4EE;font-weight:800}
.contact-cta-card h3{font-size:1.8rem;font-weight:800;margin:6px 0 8px}
.contact-cta-card p{margin:0;color:#D7EEF4;max-width:720px}

.contact-header .page-header-lead{max-width:760px;color:#DAEDF4;margin:12px 0 0}
.contact-main-card,.contact-side-card{
  background:#fff;border:1px solid #E1EDF2;border-radius:20px;padding:30px;
  box-shadow:0 10px 35px rgba(31,76,106,.055);height:100%
}
.contact-main-card h2{font-weight:800;color:#173A50;font-size:2rem}
.contact-intro{color:#718692;line-height:1.75;margin-bottom:25px}
.contact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-info-item{display:flex;gap:12px;align-items:flex-start;background:#F7FBFD;border:1px solid #E4EFF3;border-radius:14px;padding:16px}
.contact-info-icon{width:40px;height:40px;border-radius:11px;background:var(--theme-soft);color:var(--primary);display:grid;place-items:center;flex:0 0 auto}
.contact-info-item small{display:block;color:#82939F;font-size:.69rem;text-transform:uppercase;letter-spacing:.5px}
.contact-info-item strong{display:block;color:#294B60;font-size:.86rem;margin-top:3px;line-height:1.5}
.btn-contact-wa{margin-top:22px;background:#16A765;color:#fff;border:0;border-radius:11px;padding:.75rem 1rem;font-weight:700}
.btn-contact-wa:hover{background:#118952;color:#fff}
.contact-side-card{background:linear-gradient(180deg,#F8FCFE,#F1F9FC)}
.contact-side-icon{width:62px;height:62px;border-radius:18px;background:linear-gradient(145deg,var(--primary),var(--secondary));color:#fff;display:grid;place-items:center;font-size:1.7rem;margin-bottom:20px}
.contact-side-card h4{font-weight:800;color:#173A50}
.contact-side-card p{color:#718692;line-height:1.7}
.contact-links a{display:grid;grid-template-columns:34px 1fr 18px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #DFECF1;color:#33576C;text-decoration:none;font-size:.85rem;font-weight:650}
.contact-links a:last-child{border-bottom:0}
.contact-links a>i:first-child{width:34px;height:34px;border-radius:9px;background:var(--theme-soft);color:var(--primary);display:grid;place-items:center}
.contact-links a>i:last-child{font-size:.72rem;color:#8EA0AA}
.contact-map{border-radius:20px;overflow:hidden;border:1px solid #E1EDF2;box-shadow:0 10px 35px rgba(31,76,106,.05)}
.contact-map iframe{width:100%;height:390px;border:0;display:block}

@media(max-width:991px){
  .stats-panel{grid-template-columns:repeat(2,1fr)}
  .stat-box:nth-child(2){border-right:0}
  .stat-box:nth-child(-n+2){border-bottom:1px solid #E6EEF2}
  .contact-cta-card{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
  .stats-panel{grid-template-columns:1fr}
  .stat-box{border-right:0;border-bottom:1px solid #E6EEF2!important}
  .stat-box:last-child{border-bottom:0!important}
  .contact-info-grid{grid-template-columns:1fr}
  .profile-visual-card{min-height:330px;padding:28px}
  .contact-cta-card{padding:28px 24px}
}


/* Information Hub sections */
.public-information-hub{
  background:
    radial-gradient(circle at 8% 15%,rgba(0,166,199,.055),transparent 20%),
    #F6FAFC;
}
.public-information-hub .section-heading{max-width:700px}
.public-information-hub .section-heading p{color:#748894;line-height:1.7}
.info-hub-card{
  background:#fff;
  border:1px solid #E0ECF1;
  border-radius:20px;
  padding:24px;
  box-shadow:0 12px 36px rgba(30,75,104,.055);
  transition:.2s
}
.info-hub-card:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(30,75,104,.09)}
.hub-card-head{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.hub-icon{
  width:48px;height:48px;border-radius:14px;
  background:linear-gradient(145deg,var(--theme-soft),#DDF5F7);
  color:var(--primary);display:grid;place-items:center;font-size:1.35rem
}
.hub-card-head span{display:block;font-size:.6rem;letter-spacing:1.2px;font-weight:800;color:#0789A6}
.hub-card-head h4{font-size:1.15rem;font-weight:800;color:#183A50;margin:3px 0 0}

.useful-link-list a{
  display:grid;grid-template-columns:38px 1fr 18px;gap:10px;align-items:center;
  padding:10px 0;border-bottom:1px solid #EDF2F4;color:#315266;text-decoration:none;
  font-size:.84rem;font-weight:700
}
.useful-link-list a:last-child{border-bottom:0}
.useful-link-icon{width:36px;height:36px;border-radius:10px;background:#F1F8FB;color:var(--primary);display:grid;place-items:center}
.useful-link-list a>i:last-child{font-size:.72rem;color:#91A1AC}
.useful-link-list a:hover span{color:var(--primary)}

.multimedia-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.multimedia-item{position:relative;height:125px;border-radius:12px;overflow:hidden;background:var(--theme-soft)}
.multimedia-item img{width:100%;height:100%;object-fit:cover;transition:.3s}
.multimedia-item:hover img{transform:scale(1.06)}
.multimedia-placeholder{height:100%;display:grid;place-items:center;color:var(--primary);font-size:1.5rem}
.multimedia-overlay{
  position:absolute;inset:auto 0 0 0;
  background:linear-gradient(transparent,rgba(2,38,62,.82));
  color:#fff;padding:30px 9px 8px;
  display:flex;align-items:center;gap:6px;font-size:.66rem;font-weight:700
}
.multimedia-overlay span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.public-doc-list{display:flex;flex-direction:column}
.public-doc-item{
  display:grid;grid-template-columns:42px 1fr 28px;gap:10px;align-items:center;
  padding:10px 0;border-bottom:1px solid #EDF2F4
}
.public-doc-item:last-child{border-bottom:0}
.public-doc-icon{width:40px;height:40px;border-radius:10px;background:var(--theme-soft);color:var(--primary);display:grid;place-items:center}
.public-doc-item small{display:block;font-size:.62rem;color:#8899A4;text-transform:uppercase;letter-spacing:.4px}
.public-doc-item strong{display:block;font-size:.78rem;line-height:1.35;color:#315266}
.public-doc-item>a{width:28px;height:28px;border-radius:8px;background:#F2F8FA;color:var(--primary);display:grid;place-items:center;text-decoration:none;font-size:.75rem}
.hub-more-link{
  display:inline-flex;align-items:center;gap:7px;margin-top:17px;
  color:var(--primary);text-decoration:none;font-size:.8rem;font-weight:800
}
.hub-more-link:hover{color:#087D9D}
.empty-hub{padding:20px 0;color:#8999A4;font-size:.8rem}


/* Flat public portal sections v4.5 */
.flat-public-section{
  position:relative;
  border-top:1px solid #DCEDEB;
  border-bottom:1px solid #E3F0EF;
  overflow:hidden;
}
.docs-public-section,.links-public-section{background:#fff}
.multimedia-public-section{background:#F3F8F8}
.flat-public-section:before{
  content:"";
  position:absolute;top:-6px;left:50%;
  width:11px;height:11px;border:1px solid #A7D8D2;background:#fff;border-radius:50%;
  transform:translateX(-50%);
  box-shadow:0 0 0 3px rgba(255,255,255,.8)
}
.flat-section-title-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
  margin-bottom:24px
}
.flat-section-title-row>a{
  justify-self:end;
  font-size:.72rem;
  color:var(--primary);
  font-weight:800;
  text-decoration:none
}
.flat-section-title-row>a:hover{color:var(--primary)}
.flat-section-badge{
  justify-self:center;
  background:linear-gradient(135deg,var(--primary),var(--primary));
  color:#fff;
  border-radius:7px;
  padding:7px 13px;
  font-size:.78rem;
  line-height:1;
  font-weight:800;
  box-shadow:0 4px 10px rgba(11,117,111,.16)
}
.flat-slider-shell{position:relative;padding:0 34px}
.flat-scroll-track{
  display:flex;
  gap:14px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:2px 0 10px;
}
.flat-scroll-track::-webkit-scrollbar{display:none}
.flat-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:29px;height:29px;
  border:0;border-radius:50%;
  background:#B9DDD8;
  color:#fff;
  display:grid;place-items:center;
  z-index:5;
  transition:.2s
}
.flat-nav:hover{background:var(--primary)}
.flat-nav-left{left:0}.flat-nav-right{right:0}
.flat-section-indicator{
  width:12px;height:4px;border-radius:5px;
  background:var(--primary);margin:10px auto 0
}
.flat-empty{padding:35px 15px;color:#82969B;font-size:.85rem}

/* Documents */
.document-preview-track{min-height:315px}
.document-preview-item{
  flex:0 0 245px;
  scroll-snap-align:start;
  border:1px solid #CFE3E0;
  border-radius:8px;
  background:#fff;
  overflow:hidden;
}
.document-paper{
  width:100%;
  height:220px;
  padding:15px 18px 10px;
  position:relative;
  background:#fff;
  color:#263E43;
  text-align:center;
  border-bottom:1px solid #E3EFED
}
.paper-emblem{font-size:1.1rem;color:var(--primary);margin-bottom:2px}
.document-paper>small{display:block;font-size:.38rem;letter-spacing:.4px}
.document-paper>strong{display:block;font-size:.43rem;margin:2px 0 8px}
.paper-lines{padding:0 8px}
.paper-lines i{
  display:block;height:2px;background:#CBD7D7;margin:5px 0;border-radius:3px
}
.paper-lines i:nth-child(2n){width:92%}.paper-lines i:nth-child(3n){width:82%}
.paper-type{
  position:absolute;bottom:8px;left:16px;right:16px;
  font-size:.46rem;color:var(--primary);font-weight:800;text-transform:uppercase
}
.document-preview-info{padding:10px 11px 11px}
.document-preview-info>small{display:block;font-size:.52rem;color:var(--primary);font-weight:800;text-transform:uppercase}
.document-preview-info h6{
  font-size:.72rem;line-height:1.35;color:#29484D;font-weight:800;
  margin:4px 0 8px;min-height:30px
}
.document-actions{display:flex;gap:6px}
.document-actions a{
  flex:1;border:1px solid #A7D8D2;border-radius:5px;
  padding:5px 6px;text-align:center;
  font-size:.58rem;font-weight:800;color:var(--primary);text-decoration:none
}
.document-actions a:hover{background:var(--primary);color:#fff}

/* Multimedia */
.multimedia-flat-track{min-height:245px}
.multimedia-flat-item{
  flex:0 0 300px;scroll-snap-align:start;
  background:#fff;border:1px solid #CFE3E0;border-radius:8px;overflow:hidden
}
.multimedia-flat-image{height:165px;position:relative;background:#E8F2F1;overflow:hidden}
.multimedia-flat-image img{width:100%;height:100%;object-fit:cover;transition:.3s}
.multimedia-flat-item:hover img{transform:scale(1.04)}
.multimedia-flat-placeholder{height:100%;display:grid;place-items:center;color:var(--primary);font-size:2rem}
.media-chip{
  position:absolute;top:8px;left:8px;
  background:var(--primary);color:#fff;border-radius:5px;
  padding:4px 7px;font-size:.52rem;font-weight:800
}
.multimedia-flat-info{padding:10px 12px}
.multimedia-flat-info h6{font-size:.76rem;color:var(--primary);font-weight:750;line-height:1.35;margin:0 0 5px}
.multimedia-flat-info p{
  color:#829499;font-size:.58rem;line-height:1.45;margin:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}

/* Important links */
.important-links-track{
  justify-content:flex-start;
  min-height:120px;
  align-items:center;
  gap:65px;
  padding-left:40px;padding-right:40px
}
.important-link-item{
  flex:0 0 135px;
  scroll-snap-align:start;
  text-decoration:none;
  text-align:center;
  color:#29484D
}
.important-link-logo{
  width:64px;height:64px;
  margin:0 auto 9px;
  border-radius:50%;
  border:1px solid #D8E9E7;
  background:#fff;
  display:grid;place-items:center;
  font-size:2rem;color:var(--primary);
  transition:.2s
}
.important-link-item strong{font-size:.68rem;line-height:1.3}
.important-link-item:hover .important-link-logo{
  transform:translateY(-3px);
  box-shadow:0 8px 20px rgba(11,117,111,.12)
}

@media(min-width:1200px){
  .flat-public-section .container{max-width:1120px}
}
@media(max-width:767px){
  .flat-section-title-row{grid-template-columns:1fr auto;gap:10px}
  .flat-section-title-row>div:first-child{display:none}
  .flat-section-title-row>a{font-size:.62rem}
  .flat-section-badge{justify-self:start}
  .flat-slider-shell{padding:0 28px}
  .document-preview-item{flex-basis:210px}
  .multimedia-flat-item{flex-basis:255px}
  .important-links-track{gap:25px;padding-left:15px;padding-right:15px}
}


/* Medical Blue Gradient Theme v4.6 */
:root{
  --medical-blue:var(--primary);
  --medical-blue-deep:var(--theme-deep);
  --medical-blue-dark:#042F50;
  --medical-cyan:var(--secondary);
  --medical-sky:#4CC7DE;
  --medical-soft:var(--theme-soft);
  --medical-pale:#F4FBFD;
}

/* Main public template */
body{
  background:#fff;
  color:#294B60;
}
.topbar{
  background:linear-gradient(90deg,#042F50 0%,var(--theme-deep) 45%,var(--primary) 100%) !important;
  color:#DDF4FA !important;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.main-nav{
  background:linear-gradient(100deg,var(--theme-deep) 0%,var(--primary) 58%,var(--primary) 100%) !important;
  box-shadow:0 8px 24px rgba(4,47,80,.13);
}
.main-nav .nav-link{color:rgba(255,255,255,.88)!important}
.main-nav .nav-link:hover,.main-nav .nav-link:focus{color:#fff!important}
.brand-mark{
  background:linear-gradient(145deg,#fff,#DDF5FA)!important;
  color:var(--primary)!important;
}

/* Running text */
.announcement-ticker{
  background:linear-gradient(90deg,var(--theme-soft),#F8FDFF,var(--theme-soft))!important;
  border-color:#CDE8F0!important;
}
.ticker-label{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary))!important;
  color:#fff!important;
}
.ticker-item{color:#315A70!important}

/* Section labels: BLUE, not green/teal */
.flat-section-badge{
  background:linear-gradient(135deg,var(--theme-deep) 0%,var(--primary) 70%,var(--primary) 100%)!important;
  color:#fff!important;
  box-shadow:0 5px 13px rgba(11,95,165,.20)!important;
}
.flat-section-title-row>a{
  color:var(--primary)!important;
}
.flat-section-title-row>a:hover{color:var(--theme-deep)!important}
.flat-section-indicator{
  background:linear-gradient(90deg,var(--primary),var(--secondary))!important;
}
.flat-nav{
  background:linear-gradient(145deg,#B9DFEB,#8BCBD9)!important;
}
.flat-nav:hover{
  background:linear-gradient(145deg,var(--primary),var(--secondary))!important;
}
.flat-public-section:before{
  border-color:#93C9DA!important;
}
.docs-public-section,.links-public-section{
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFEFF 100%)!important;
}
.multimedia-public-section{
  background:
    radial-gradient(circle at 12% 15%,rgba(0,166,199,.055),transparent 25%),
    linear-gradient(180deg,#F3FAFC 0%,#EDF7FA 100%)!important;
}

/* Document section */
.document-preview-item{
  border-color:#CDE3EC!important;
}
.paper-emblem,
.paper-type,
.document-preview-info>small{
  color:var(--primary)!important;
}
.document-actions a{
  border-color:#A8D2E1!important;
  color:var(--primary)!important;
}
.document-actions a:hover{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary))!important;
  color:#fff!important;
}

/* Multimedia */
.media-chip{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary))!important;
}
.multimedia-flat-item{
  border-color:#CDE3EC!important;
}
.multimedia-flat-placeholder{color:var(--primary)!important}

/* Links */
.important-link-logo{
  border-color:#D0E5ED!important;
  color:var(--primary)!important;
  background:linear-gradient(145deg,#fff,#F3FAFC)!important;
}
.important-link-item:hover .important-link-logo{
  box-shadow:0 8px 22px rgba(11,95,165,.14)!important;
}

/* Homepage sections */
.home-profile-section{
  background:
    radial-gradient(circle at 90% 20%,rgba(0,166,199,.04),transparent 22%),
    linear-gradient(180deg,#FFFFFF,#F8FCFE)!important;
}
.profile-visual-card{
  background:
    radial-gradient(circle at 72% 20%,rgba(103,220,238,.28),transparent 24%),
    linear-gradient(145deg,#042F50 0%,var(--theme-deep) 32%,var(--primary) 70%,var(--secondary) 100%)!important;
}
.stats-panel{
  border-color:#D8E9F0!important;
}
.stat-box i{color:var(--secondary)!important}
.stat-box strong{color:var(--primary)!important}

/* CTA Hubungi Kami */
.contact-cta-card{
  background:
    radial-gradient(circle at 92% 20%,rgba(105,222,239,.20),transparent 24%),
    linear-gradient(120deg,#042F50 0%,var(--theme-deep) 30%,var(--primary) 72%,var(--primary) 100%)!important;
  box-shadow:0 22px 50px rgba(6,59,99,.18)!important;
}

/* Public page header */
.page-header{
  background:
    radial-gradient(circle at 85% 30%,rgba(92,215,235,.18),transparent 25%),
    linear-gradient(115deg,#042F50 0%,var(--theme-deep) 42%,var(--primary) 100%)!important;
}

/* Buttons and small labels */
.btn-primary{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary))!important;
  border-color:var(--primary)!important;
}
.btn-primary:hover{
  background:linear-gradient(135deg,#042F50,var(--primary))!important;
}
.section-kicker,.eyebrow{
  color:var(--primary)!important;
}

/* Footer: deeper medical gradient */
.footer{
  background:
    radial-gradient(circle at 90% 10%,rgba(0,166,199,.16),transparent 25%),
    linear-gradient(135deg,#032A47 0%,var(--theme-deep) 50%,var(--theme-deep) 100%)!important;
}
.footer-bottom{
  background:linear-gradient(90deg,#022238,#032E4D)!important;
}


/* Slider-all + larger labels + taller header v4.7 */

/* Header before running text: slightly taller */
.topbar .container{
  min-height:38px;
  align-items:center;
}
.main-nav .container{
  min-height:82px;
}
.main-nav .navbar-brand{
  padding-top:10px;
  padding-bottom:10px;
}
.brand-logo{
  max-height:58px!important;
}
.main-nav .navbar-brand strong{
  font-size:1.02rem;
  letter-spacing:.3px;
}
.main-nav .navbar-brand small{font-size:.69rem}
.main-nav .nav-link{
  padding-top:1.15rem!important;
  padding-bottom:1.15rem!important;
}

/* Larger section labels */
.section-heading>span,
.section-kicker{
  display:inline-block;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary));
  color:#fff!important;
  padding:7px 13px;
  border-radius:7px;
  font-size:.78rem!important;
  font-weight:800;
  letter-spacing:1px;
  box-shadow:0 4px 12px rgba(11,95,165,.15);
  margin-bottom:10px;
}
.flat-section-badge{
  padding:9px 16px!important;
  font-size:.9rem!important;
  border-radius:8px!important;
}
.announcement-box>h4{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary));
  color:#fff!important;
  padding:9px 14px;
  border-radius:8px;
  font-size:.9rem!important;
  box-shadow:0 4px 12px rgba(11,95,165,.14);
}

/* Generic horizontal slider */
.home-slider-shell{
  position:relative;
  padding:0 38px;
}
.home-scroll-track{
  display:flex;
  overflow-x:auto;
  gap:18px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  scroll-behavior:smooth;
}
.home-scroll-track::-webkit-scrollbar{display:none}
.home-slider-nav{
  position:absolute;
  z-index:8;
  top:50%;
  transform:translateY(-50%);
  width:31px;height:31px;
  border:0;border-radius:50%;
  display:grid;place-items:center;
  color:#fff;
  background:linear-gradient(145deg,#9ED4E3,#71BFD5);
  box-shadow:0 4px 12px rgba(11,95,165,.10);
}
.home-slider-nav:hover{background:linear-gradient(145deg,var(--theme-deep),var(--primary))}
.home-slider-nav.left{left:0}
.home-slider-nav.right{right:0}

.quick-track{gap:14px}
.quick-slide-item{flex:0 0 calc(25% - 11px);scroll-snap-align:start}
.news-slide-item{flex:0 0 calc(33.333% - 12px);scroll-snap-align:start}
.news-slide-item .news-card{width:100%}
.program-slider-track{gap:12px}
.program-slide-item{flex:0 0 100%;scroll-snap-align:start}
.program-slide-item .program-row{height:100%}
.announcement-slider-track{gap:10px}
.announcement-slide-item{flex:0 0 100%;scroll-snap-align:start}
.announcement-slider-shell{padding:0 34px}
.profile-slider-track{gap:30px;align-items:center}
.profile-slide-item{flex:0 0 calc(50% - 15px);scroll-snap-align:start}
.stats-panel{
  display:flex!important;
  overflow-x:auto!important;
  gap:0!important;
  scroll-snap-type:x mandatory;
}
.stats-panel .stat-box{
  flex:0 0 25%;
  scroll-snap-align:start;
}

/* Existing flat sliders: larger navigation and labels */
.flat-nav{
  width:32px!important;
  height:32px!important;
}
.flat-section-title-row{margin-bottom:28px!important}

@media(max-width:991px){
  .main-nav .container{min-height:72px}
  .quick-slide-item{flex-basis:calc(50% - 8px)}
  .news-slide-item{flex-basis:calc(50% - 9px)}
  .profile-slide-item{flex-basis:82%}
  .stats-panel .stat-box{flex-basis:50%}
}
@media(max-width:575px){
  .topbar .container{min-height:34px}
  .main-nav .container{min-height:66px}
  .home-slider-shell{padding:0 30px}
  .quick-slide-item{flex-basis:88%}
  .news-slide-item{flex-basis:88%}
  .profile-slide-item{flex-basis:92%}
  .stats-panel .stat-box{flex-basis:88%}
  .flat-section-badge{font-size:.8rem!important;padding:8px 12px!important}
}


/* Dynamic theme + mobile optimization v4.8 */

/* Dynamic frontend theme */
.topbar{
  background:linear-gradient(90deg,var(--theme-deeper),var(--theme-deep),var(--primary))!important;
}
.main-nav{
  background:linear-gradient(100deg,var(--theme-deep) 0%,var(--primary) 62%,var(--secondary) 100%)!important;
}
.brand-mark{color:var(--primary)!important}
.announcement-ticker{
  background:linear-gradient(90deg,var(--theme-soft),#fff,var(--theme-soft-2))!important;
  border-color:var(--theme-border)!important;
}
.ticker-label,
.section-heading>span,
.section-kicker,
.announcement-box>h4,
.flat-section-badge,
.media-chip{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary))!important;
}
.flat-section-title-row>a,
.paper-emblem,
.paper-type,
.document-preview-info>small,
.document-actions a,
.multimedia-flat-placeholder,
.important-link-logo,
.stat-box strong{
  color:var(--primary)!important;
}
.flat-section-indicator{
  background:linear-gradient(90deg,var(--primary),var(--secondary))!important;
}
.flat-nav,
.home-slider-nav{
  background:linear-gradient(145deg,var(--theme-border),color-mix(in srgb,var(--secondary) 55%,#ffffff 45%))!important;
}
.flat-nav:hover,
.home-slider-nav:hover,
.document-actions a:hover,
.btn-primary{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary))!important;
}
.btn-primary{border-color:var(--primary)!important}
.important-link-logo{
  border-color:var(--theme-border)!important;
  background:linear-gradient(145deg,#fff,var(--theme-soft))!important;
}
.profile-visual-card,
.contact-cta-card,
.page-header{
  background:
    radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--secondary) 22%,transparent),transparent 25%),
    linear-gradient(125deg,var(--theme-deeper),var(--theme-deep) 38%,var(--primary) 72%,var(--secondary) 100%)!important;
}
.footer{
  background:
    radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--secondary) 16%,transparent),transparent 25%),
    linear-gradient(135deg,var(--theme-deeper),var(--theme-deep) 52%,var(--primary))!important;
}
.footer-bottom{background:var(--theme-deeper)!important}
.section-kicker,.eyebrow{color:#fff!important}

/* Mobile-first polish */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%}

@media(max-width:991.98px){
  .topbar .container{
    min-height:34px!important;
    gap:10px;
    font-size:.72rem;
  }
  .topbar .container span:last-child{
    max-width:55%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align:right;
  }

  .main-nav{
    position:sticky;
    top:0;
  }
  .main-nav .container{min-height:72px!important}
  .navbar-toggler{
    border:1px solid rgba(255,255,255,.32)!important;
    padding:.35rem .5rem!important;
    box-shadow:none!important;
  }
  .navbar-collapse{
    margin:10px -12px -8px;
    padding:10px 14px 16px;
    background:linear-gradient(180deg,color-mix(in srgb,var(--theme-deep) 96%,transparent),var(--theme-deep));
    border-radius:0 0 14px 14px;
  }
  .main-nav .nav-link{
    padding:.72rem .35rem!important;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .main-nav .dropdown-menu{
    border:0;
    border-radius:10px;
    margin:4px 0 8px;
  }

  .hero-slide{min-height:480px!important}
  .hero-slide-content{min-height:480px!important}
  .hero-slide h1{
    font-size:clamp(2rem,6vw,3.2rem)!important;
    max-width:760px;
  }
  .hero-slide .lead{font-size:1rem!important;max-width:680px}
  .medical-pattern{opacity:.12!important}

  .announcement-ticker{height:auto!important}
  .ticker-inner{min-height:42px}
  .ticker-label{
    align-self:stretch;
    display:flex;
    align-items:center;
    padding:0 11px!important;
  }
  .ticker-label span{font-size:.67rem}
  .ticker-item{font-size:.76rem}

  .section-space,
  .section-soft .container,
  .home-profile-section,
  .flat-public-section,
  .home-contact-cta{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }

  .section-heading h2{font-size:1.65rem}
  .home-section-title{font-size:2.05rem!important}
  .home-section-desc{font-size:.92rem}

  .news-card img,.news-card .image-placeholder{height:210px!important}
  .news-card .p-4{padding:1rem!important}
  .news-card h5{font-size:1rem}
  .news-card p{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .document-preview-item{flex-basis:220px!important}
  .multimedia-flat-item{flex-basis:275px!important}
  .important-link-item{flex-basis:120px!important}

  .contact-cta-card{
    padding:28px!important;
    border-radius:18px!important;
  }
  .contact-cta-card h3{font-size:1.45rem!important}

  .footer .container{padding-top:38px!important;padding-bottom:28px!important}
}

@media(max-width:575.98px){
  .topbar .container{
    min-height:30px!important;
    font-size:.63rem;
  }
  .topbar .container span:first-child{
    max-width:48%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }

  .main-nav .container{min-height:66px!important}
  .brand-logo{max-height:46px!important}
  .brand-mark{width:42px!important;height:42px!important}
  .navbar-brand strong{font-size:.78rem!important}
  .navbar-brand small{font-size:.58rem!important}

  .hero-slide,.hero-slide-content{min-height:410px!important}
  .hero-slide{background-position:center!important}
  .hero-slide-content{padding-top:48px!important;padding-bottom:55px!important}
  .hero-kicker{
    font-size:.58rem!important;
    letter-spacing:.9px!important;
  }
  .hero-slide h1{
    font-size:2rem!important;
    line-height:1.12!important;
    margin-top:10px!important;
  }
  .hero-slide .lead{
    font-size:.88rem!important;
    line-height:1.55!important;
    margin-bottom:20px!important;
  }
  .hero-slide .btn{
    font-size:.8rem!important;
    padding:.65rem .9rem!important;
  }
  .carousel-control-prev,.carousel-control-next{
    width:10%!important;
  }

  .ticker-inner{padding-left:0!important}
  .ticker-label{
    min-width:auto!important;
    padding:0 9px!important;
  }
  .ticker-label span{display:none}
  .ticker-label i{font-size:.9rem}
  .ticker-track{animation-duration:28s!important}

  .quick-services{margin-top:-18px!important}
  .quick-card{min-height:116px!important;padding:16px!important}

  .section-heading>span,
  .section-kicker{
    font-size:.68rem!important;
    padding:7px 10px!important;
  }
  .flat-section-badge{
    font-size:.76rem!important;
    padding:8px 11px!important;
  }
  .section-heading h2{font-size:1.45rem!important}
  .home-section-title{font-size:1.72rem!important}

  .home-slider-shell{padding:0 27px!important}
  .home-slider-nav,.flat-nav{
    width:28px!important;height:28px!important;
    font-size:.72rem;
  }

  .quick-slide-item{flex-basis:90%!important}
  .news-slide-item{flex-basis:91%!important}
  .program-slide-item{flex-basis:94%!important}
  .announcement-slide-item{flex-basis:94%!important}
  .profile-slide-item{flex-basis:93%!important}
  .stats-panel .stat-box{flex-basis:88%!important}

  .profile-visual-card{min-height:300px!important;padding:24px!important}
  .profile-visual-main>i{font-size:3.6rem!important;margin-bottom:38px!important}
  .profile-visual-main strong{font-size:1.45rem!important}
  .profile-mini-card{left:22px!important;bottom:20px!important}

  .flat-section-title-row{
    grid-template-columns:1fr auto!important;
    gap:8px!important;
  }
  .flat-section-title-row>div:first-child{display:none!important}
  .flat-section-title-row>a{
    justify-self:end!important;
    font-size:.58rem!important;
    white-space:nowrap;
  }
  .flat-slider-shell{padding:0 25px!important}

  .document-preview-item{flex-basis:205px!important}
  .document-paper{height:190px!important}
  .multimedia-flat-item{flex-basis:245px!important}
  .multimedia-flat-image{height:145px!important}
  .important-links-track{
    gap:20px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .important-link-item{flex-basis:105px!important}
  .important-link-logo{
    width:55px!important;height:55px!important;
    font-size:1.55rem!important;
  }

  .contact-cta-card{
    padding:24px 20px!important;
    gap:20px!important;
  }
  .contact-cta-card h3{font-size:1.3rem!important}
  .contact-cta-card p{font-size:.82rem!important}
  .contact-cta-card .btn{font-size:.8rem}

  .footer{font-size:.82rem}
  .footer .row{--bs-gutter-y:2rem}
  .footer h5{font-size:1rem}
  .footer-title{margin-top:4px}
  .footer-bottom .container{
    text-align:center;
    font-size:.67rem;
  }
}


/* News social share v4.9 */
.share-news-bar{
  margin:18px 0 24px;
  padding:13px 14px;
  border-top:1px solid var(--theme-border);
  border-bottom:1px solid var(--theme-border);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.share-label{
  display:flex;
  align-items:center;
  gap:7px;
  color:#617985;
  font-size:.76rem;
  font-weight:800;
}
.share-label i{color:var(--primary)}
.share-buttons{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.share-btn{
  width:35px;
  height:35px;
  border-radius:50%;
  border:1px solid var(--theme-border);
  background:#fff;
  color:var(--primary);
  display:grid;
  place-items:center;
  text-decoration:none;
  font-size:.9rem;
  transition:.18s ease;
  cursor:pointer;
}
.share-btn:hover{
  transform:translateY(-2px);
  color:#fff;
  border-color:transparent;
}
.share-btn.whatsapp:hover{background:#25D366}
.share-btn.facebook:hover{background:#1877F2}
.share-btn.twitter:hover{background:#111}
.share-btn.telegram:hover{background:#229ED9}
.share-btn.copy-link:hover,
.share-btn.copy-link.copied{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary));
  color:#fff;
}

@media(max-width:575.98px){
  .share-news-bar{
    align-items:flex-start;
    flex-direction:column;
    padding-left:0;
    padding-right:0;
  }
  .share-btn{
    width:34px;
    height:34px;
  }
}


/* Green Theme + announcement/sidebar fixes v5.0 */
:root{
  --green-primary:#167B45;
  --green-secondary:#46B96D;
  --green-deep:#0B5730;
  --green-deeper:#073D23;
  --green-soft:#EDF8F1;
  --green-pale:#F7FCF8;
}

/* Base green identity */
body{color:#294A3A}
.section-soft{background:#F3F9F5!important}
.quick-card i,
.news-card a,
.program-icon,
.latest-news-item:hover strong{
  color:var(--primary)!important;
}
.program-icon{color:#fff!important}
.image-placeholder,
.latest-news-placeholder,
.sidebar-quick>a>i:first-child{
  background:var(--theme-soft)!important;
  color:var(--primary)!important;
}
.footer a{color:#D7ECDE!important}
.breadcrumb-lite{color:#DDF1E5!important}

/* Homepage announcement readability */
.announcement-box{
  background:linear-gradient(145deg,var(--theme-deep),var(--primary),var(--secondary))!important;
  color:#fff!important;
}
.announcement-box h4,
.announcement-box .announcement-item,
.announcement-box .announcement-item small,
.announcement-box .announcement-item b,
.announcement-box .announcement-item strong{
  color:#fff!important;
}
.announcement-box .announcement-item small{opacity:.84}
.announcement-box .announcement-item{
  border-bottom-color:rgba(255,255,255,.24)!important;
}

/* Right sidebar announcements */
.sidebar-announcement-widget{
  border-color:var(--theme-border)!important;
  overflow:hidden;
}
.sidebar-announcement-widget .sidebar-widget-title span{
  display:inline-block;
  padding:6px 10px;
  border-radius:7px;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary));
  color:#fff!important;
  letter-spacing:1px;
}
.sidebar-announcement-widget .sidebar-widget-title h5{
  color:#244C37!important;
  margin-top:9px;
}
.sidebar-announcement-list{
  display:flex;
  flex-direction:column;
}
.sidebar-announcement-item{
  padding:13px 0;
  border-bottom:1px solid #E5EFE8;
}
.sidebar-announcement-item:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.sidebar-announcement-date{
  color:var(--primary)!important;
  font-size:.69rem;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:5px;
}
.sidebar-announcement-item strong{
  display:block;
  color:#244637!important;
  font-size:.84rem;
  line-height:1.42;
}
.sidebar-announcement-item p{
  color:#6F8378!important;
  font-size:.75rem;
  line-height:1.5;
  margin:5px 0 0;
}

/* News share is deliberately after article content */
.public-content .share-news-bar{
  margin-top:32px!important;
  margin-bottom:0!important;
  background:linear-gradient(180deg,#fff,var(--theme-soft));
  border:1px solid var(--theme-border)!important;
  border-radius:12px;
  padding:13px 14px!important;
}

/* Green detail/card accents */
.sidebar-widget-title span{color:var(--primary)!important}
.sidebar-widget-title h5{color:#244C37!important}
.latest-news-item{color:#294A3A!important}
.sidebar-quick>a{color:#294A3A!important}
.medical-info-card{
  background:linear-gradient(145deg,var(--theme-deeper),var(--theme-deep),var(--primary),var(--secondary))!important;
}
.medical-info-card>i{color:#B6F1C8!important}
.medical-info-card p{color:#E2F4E8!important}

@media(max-width:575.98px){
  .sidebar-announcement-item strong{font-size:.81rem}
  .sidebar-announcement-item p{font-size:.73rem}
}


/* COMPLETE DYNAMIC THEME OVERRIDE v5.1 */
/* This block intentionally sits last so the selected theme wins over all legacy colors. */

a{accent-color:var(--primary)}

.topbar,
.main-nav,
.footer,
.footer-bottom,
.page-header,
.profile-visual-card,
.contact-cta-card,
.medical-info-card{
  border-color:color-mix(in srgb,var(--primary) 18%,transparent)!important;
}

.topbar{
  background:linear-gradient(90deg,var(--theme-deeper),var(--theme-deep),var(--primary))!important;
}
.main-nav{
  background:linear-gradient(105deg,var(--theme-deeper) 0%,var(--theme-deep) 35%,var(--primary) 72%,var(--secondary) 100%)!important;
}
.hero-slide-medical{
  background:
    radial-gradient(circle at 84% 28%,color-mix(in srgb,var(--secondary) 23%,transparent),transparent 28%),
    linear-gradient(125deg,var(--theme-deeper) 0%,var(--theme-deep) 42%,var(--primary) 78%,var(--secondary) 100%)!important;
}
.hero-kicker,
.section-heading>span,
.section-kicker,
.flat-section-badge,
.ticker-label,
.announcement-box>h4,
.media-chip{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary))!important;
  color:#fff!important;
  border-color:transparent!important;
}
.quick-card i,
.news-card a,
.news-card small,
.program-icon,
.section-heading h2,
.home-section-title,
.flat-section-title-row>a,
.document-preview-info>small,
.paper-emblem,
.paper-type,
.important-link-logo,
.sidebar-widget-title span,
.sidebar-announcement-date,
.share-label i{
  color:var(--primary)!important;
}
.quick-card:hover,
.news-card:hover,
.program-row:hover,
.document-preview-item:hover,
.multimedia-flat-item:hover,
.important-link-item:hover .important-link-logo{
  border-color:var(--theme-border)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 13%,transparent)!important;
}
.program-icon,
.btn-primary,
.btn-medical,
.document-actions a:hover,
.flat-nav:hover,
.home-slider-nav:hover,
.share-btn.copy-link:hover,
.share-btn.copy-link.copied{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary))!important;
  border-color:var(--primary)!important;
  color:#fff!important;
}
.flat-nav,
.home-slider-nav{
  background:linear-gradient(145deg,var(--theme-border),color-mix(in srgb,var(--secondary) 52%,#fff 48%))!important;
  color:#fff!important;
}
.flat-section-indicator,
.carousel-indicators .active{
  background:linear-gradient(90deg,var(--primary),var(--secondary))!important;
}
.announcement-ticker{
  background:linear-gradient(90deg,var(--theme-soft),#fff,var(--theme-soft-2))!important;
  border-color:var(--theme-border)!important;
}
.docs-public-section,
.links-public-section,
.home-profile-section{
  background:linear-gradient(180deg,#fff,var(--theme-soft))!important;
}
.multimedia-public-section,
.section-soft{
  background:
    radial-gradient(circle at 14% 20%,color-mix(in srgb,var(--secondary) 7%,transparent),transparent 26%),
    linear-gradient(180deg,var(--theme-soft),var(--theme-soft-2))!important;
}
.document-preview-item,
.multimedia-flat-item,
.important-link-logo,
.sidebar-widget,
.news-card,
.program-row,
.stats-panel{
  border-color:var(--theme-border)!important;
}
.document-actions a{
  color:var(--primary)!important;
  border-color:var(--theme-border)!important;
}
.important-link-logo,
.image-placeholder,
.latest-news-placeholder,
.sidebar-quick>a>i:first-child{
  background:linear-gradient(145deg,#fff,var(--theme-soft))!important;
  color:var(--primary)!important;
}
.stat-box i,
.stat-box strong{
  color:var(--primary)!important;
}
.sidebar-announcement-widget .sidebar-widget-title span{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary))!important;
  color:#fff!important;
}
.sidebar-announcement-widget .sidebar-widget-title h5,
.sidebar-announcement-item strong,
.sidebar-quick>a,
.latest-news-item{
  color:color-mix(in srgb,var(--primary) 55%,#203028 45%)!important;
}
.page-header{
  background:
    radial-gradient(circle at 86% 24%,color-mix(in srgb,var(--secondary) 20%,transparent),transparent 27%),
    linear-gradient(115deg,var(--theme-deeper),var(--theme-deep) 42%,var(--primary) 78%,var(--secondary))!important;
}
.profile-visual-card,
.contact-cta-card,
.medical-info-card{
  background:
    radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--secondary) 21%,transparent),transparent 25%),
    linear-gradient(125deg,var(--theme-deeper),var(--theme-deep) 38%,var(--primary) 75%,var(--secondary))!important;
}
.footer{
  background:
    radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--secondary) 17%,transparent),transparent 25%),
    linear-gradient(135deg,var(--theme-deeper),var(--theme-deep) 55%,var(--primary))!important;
}
.footer-bottom{
  background:var(--theme-deeper)!important;
}
.footer a:hover{
  color:color-mix(in srgb,var(--secondary) 70%,#fff 30%)!important;
}
.form-control:focus,
.form-select:focus{
  border-color:var(--primary)!important;
  box-shadow:0 0 0 .2rem color-mix(in srgb,var(--primary) 16%,transparent)!important;
}


/* Header-card spacing + multimedia video v5.2 */
/* Cards after hero no longer overlap/cut into the banner. */
.quick-services{
  margin-top:0!important;
  padding-top:28px!important;
  padding-bottom:22px!important;
  position:relative;
  z-index:3;
  overflow:visible!important;
}
.hero-slider-wrap{
  overflow:visible!important;
}
.quick-services .home-slider-shell{
  padding-top:8px;
  padding-bottom:12px;
}
.quick-card{
  margin-top:0!important;
  box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 10%,rgba(0,0,0,.08))!important;
}

/* Embedded videos inside gallery slider */
.multimedia-flat-image iframe,
.multimedia-flat-image video{
  width:100%;
  height:100%;
  min-height:170px;
  display:block;
  border:0;
  object-fit:cover;
  background:#111;
}
.multimedia-flat-image{
  overflow:hidden;
}
@media(max-width:575.98px){
  .quick-services{
    margin-top:0!important;
    padding-top:18px!important;
  }
  .multimedia-flat-image iframe,
  .multimedia-flat-image video{
    min-height:145px;
  }
}


/* v5.3 visual cleanup */

/* Hero/banner eyebrow: no colored box behind text */
.hero-kicker{
  display:inline-block!important;
  background:transparent!important;
  color:#fff!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  border:0!important;
  font-size:.78rem!important;
  font-weight:800!important;
  letter-spacing:2px!important;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
}

/* Quick service cards: give true breathing room so first/last cards are never clipped */
.quick-services{
  overflow:visible!important;
}
.quick-services .container{
  overflow:visible!important;
}
.quick-services .home-slider-shell{
  padding:10px 34px 14px!important;
  overflow:visible!important;
}
.quick-services .home-scroll-track{
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:4px 10px 18px!important;
  margin:0!important;
  scroll-padding-inline:10px;
}
.quick-services .quick-slide-item{
  padding:0!important;
  box-sizing:border-box;
}
.quick-services .quick-card{
  width:100%!important;
  min-height:145px!important;
  overflow:visible!important;
  border:1px solid var(--theme-border)!important;
  border-left:5px solid var(--primary)!important;
  border-radius:18px!important;
  box-shadow:0 9px 24px color-mix(in srgb,var(--primary) 10%,rgba(0,0,0,.06))!important;
}
.quick-services .home-slider-nav.left{left:0!important}
.quick-services .home-slider-nav.right{right:0!important}

/* Remove all remaining legacy-blue visual accents in frontend */
.hero-kicker,
.navbar-brand small,
.hero-icon,
.page-header span{
  color:#fff!important;
}
.quick-card i,
.news-card a,
.news-card small,
.program-row i,
.section-heading h2,
.home-section-title,
.flat-section-title-row>a,
.document-preview-info>small,
.paper-emblem,
.paper-type,
.important-link-logo,
.sidebar-widget-title span,
.sidebar-announcement-date,
.share-label i,
.latest-news-item i,
.sidebar-quick>a>i:first-child,
.contact-info-icon,
.contact-row i,
.profile-feature i,
.stat-box i,
.stat-box strong{
  color:var(--primary)!important;
}

/* Common blue Bootstrap utility remnants */
.text-primary{
  color:var(--primary)!important;
}
.bg-primary,
.badge.bg-primary,
.text-bg-primary{
  background-color:var(--primary)!important;
  color:#fff!important;
}
.border-primary{
  border-color:var(--primary)!important;
}
.btn-outline-primary{
  color:var(--primary)!important;
  border-color:var(--primary)!important;
}
.btn-outline-primary:hover{
  color:#fff!important;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary))!important;
  border-color:var(--primary)!important;
}

/* Force section labels to selected theme, but NOT hero kicker */
.section-heading>span,
.section-kicker,
.flat-section-badge,
.ticker-label,
.announcement-box>h4,
.media-chip{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary))!important;
  color:#fff!important;
}

/* Mobile spacing for the quick slider */
@media(max-width:991.98px){
  .quick-services .home-slider-shell{
    padding-left:30px!important;
    padding-right:30px!important;
  }
  .quick-services .home-scroll-track{
    padding-left:8px!important;
    padding-right:8px!important;
  }
}
@media(max-width:575.98px){
  .quick-services .home-slider-shell{
    padding-left:27px!important;
    padding-right:27px!important;
  }
  .quick-services .home-scroll-track{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .quick-services .quick-card{
    min-height:128px!important;
  }
  .hero-kicker{
    font-size:.63rem!important;
    letter-spacing:1.35px!important;
    line-height:1.45!important;
  }
}


/* Dynamic quick cards v5.4 */
.quick-card-link{
  text-decoration:none!important;
  color:inherit!important;
  position:relative;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.quick-card-link:hover{
  transform:translateY(-4px);
}
.quick-card-link b{
  color:color-mix(in srgb,var(--primary) 64%,#26352C 36%)!important;
}
.quick-card-link span{
  color:#7B8A82!important;
}
.quick-card-more{
  margin-top:auto;
  padding-top:14px;
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--primary)!important;
  font-size:.7rem;
  font-weight:800;
}
.quick-card-more i{
  margin:0!important;
  font-size:.72rem!important;
}
.quick-detail-icon{
  width:62px;height:62px;
  display:grid;place-items:center;
  border-radius:16px;
  margin-bottom:22px;
  background:linear-gradient(135deg,var(--theme-soft),var(--theme-soft-2));
  color:var(--primary);
  font-size:1.8rem;
}


/* Category cards + transparent larger logo v5.5 */
.brand-logo{
  width:auto!important;
  height:auto!important;
  max-width:78px!important;
  max-height:70px!important;
  object-fit:contain!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.main-nav .navbar-brand{
  gap:13px!important;
}
.news-category-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-bottom:7px;
  padding:4px 8px;
  border-radius:6px;
  background:var(--theme-soft);
  color:var(--primary)!important;
  font-size:.66rem;
  font-weight:800!important;
  text-decoration:none!important;
}
@media(max-width:575.98px){
  .brand-logo{
    max-width:62px!important;
    max-height:56px!important;
  }
}


/* Dynamic navigation + aligned news cards v5.6 */

/* Footer logo must not create a white disc/card behind uploaded transparent logo. */
.footer-logo{
  width:auto!important;
  height:auto!important;
  max-width:82px!important;
  max-height:78px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.footer-brand{
  align-items:center!important;
}
.footer-logo-placeholder{
  background:transparent!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18);
}

/* Homepage news slider: every item has identical visual height. */
.news-slider-track{
  align-items:stretch!important;
}
.news-slide-item{
  display:flex!important;
  align-self:stretch!important;
}
.news-slide-item .news-card{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:100%!important;
  min-height:570px!important;
}
.news-slide-item .news-card img,
.news-slide-item .news-card .image-placeholder{
  height:230px!important;
  flex:0 0 230px!important;
}
.news-slide-item .news-card .p-4{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  padding:22px!important;
}
.news-slide-item .news-card h5{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:4.35em;
  line-height:1.45;
}
.news-slide-item .news-card p{
  display:-webkit-box!important;
  -webkit-line-clamp:5!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:7.2em;
  line-height:1.45;
  margin-bottom:16px;
}
.news-slide-item .news-card .p-4 > a{
  margin-top:auto!important;
}

@media(max-width:991.98px){
  .news-slide-item .news-card{
    min-height:535px!important;
  }
}
@media(max-width:575.98px){
  .footer-logo{
    max-width:68px!important;
    max-height:64px!important;
  }
  .news-slide-item .news-card{
    min-height:510px!important;
  }
  .news-slide-item .news-card img,
  .news-slide-item .news-card .image-placeholder{
    height:205px!important;
    flex-basis:205px!important;
  }
}


/* Alumni public + nav cleanup v5.8 */
.main-nav .navbar-nav{gap:2px!important;flex-wrap:nowrap}
.main-nav .nav-link{white-space:nowrap!important;margin-left:0!important;padding-left:.65rem!important;padding-right:.65rem!important}
.main-nav .dropdown-menu{min-width:220px;border:0;border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.14);padding:8px}
.main-nav .dropdown-item{border-radius:8px;padding:.58rem .72rem;font-size:.84rem}
.main-nav .dropdown-item:hover{background:var(--theme-soft);color:var(--primary)}
.alumni-form-section{padding:60px 0;background:linear-gradient(180deg,var(--theme-soft),#fff)}
.alumni-form-card{background:#fff;border:1px solid var(--theme-border);border-radius:22px;padding:34px;box-shadow:0 16px 48px color-mix(in srgb,var(--primary) 8%,transparent)}
.alumni-form-intro{display:flex;gap:15px;align-items:center;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--theme-border)}
.alumni-form-intro>i{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:var(--theme-soft);color:var(--primary);font-size:1.5rem}
.alumni-form-intro h3{margin:0 0 4px;font-weight:800}.alumni-form-intro p{margin:0;color:#748278}
.form-section-label{font-size:.72rem;font-weight:800;letter-spacing:1.2px;color:var(--primary);padding-bottom:8px;border-bottom:1px solid var(--theme-border)}
.consent-box{background:var(--theme-soft);border-radius:12px;padding:14px 14px 14px 40px}
.alumni-success-card{max-width:680px;margin:auto;text-align:center;padding:50px 30px;border:1px solid var(--theme-border);border-radius:22px;background:#fff}
.alumni-success-card>i{font-size:4rem;color:var(--primary)}
.alumni-success-card h2{font-weight:800;margin-top:14px}
@media(max-width:1199.98px){.main-nav .nav-link{font-size:.82rem!important;padding-left:.45rem!important;padding-right:.45rem!important}}
@media(max-width:991.98px){.main-nav .navbar-nav{align-items:stretch!important}.main-nav .nav-link{font-size:.9rem!important}.alumni-form-card{padding:24px}}


/* Homepage news action + hero no-blue v5.9 */
.section-heading-with-action{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:26px!important;
}
.section-heading-with-action h2{
  margin-bottom:0!important;
}
.section-all-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:var(--primary)!important;
  text-decoration:none!important;
  font-size:.78rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
  padding-bottom:4px;
}
.section-all-link i{
  color:var(--primary)!important;
  font-size:.8rem!important;
}
.section-all-link:hover{
  color:var(--theme-deep)!important;
}
.section-all-link:hover i{
  transform:translateX(2px);
}

/* Hero/banner: all textual/icon accents follow selected theme, no legacy blue */
.hero-slide,
.hero-slide-medical{
  color:#fff!important;
}
.hero-slide h1,
.hero-slide .lead,
.hero-slide-content,
.hero-slide-content h1,
.hero-slide-content p{
  color:#fff!important;
}
.hero-kicker{
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.medical-pattern,
.medical-pattern i{
  color:color-mix(in srgb,var(--secondary) 50%,#fff 50%)!important;
}
.hero-icon,
.hero-slide i:not(.btn i),
.hero-slide-medical i:not(.btn i){
  color:color-mix(in srgb,var(--secondary) 58%,#fff 42%)!important;
}
.btn-medical-light{
  background:#fff!important;
  color:var(--primary)!important;
  border-color:#fff!important;
}
.btn-medical-light i{
  color:var(--primary)!important;
}
.btn-medical-light:hover{
  background:var(--theme-soft)!important;
  color:var(--theme-deep)!important;
}
.btn-medical-light:hover i{
  color:var(--theme-deep)!important;
}
.carousel-indicators [data-bs-target]{
  background-color:rgba(255,255,255,.48)!important;
}
.carousel-indicators .active{
  background:var(--secondary)!important;
}
.carousel-control-prev-icon,
.carousel-control-next-icon{
  filter:none!important;
}
.hero-slider-wrap .carousel-control-prev,
.hero-slider-wrap .carousel-control-next{
  color:#fff!important;
}

/* Remove any old medical-blue variable impact from hero/banner-specific selectors */
.hero-slider-wrap .text-primary,
.hero-slider-wrap .text-info,
.hero-slider-wrap .text-secondary{
  color:#fff!important;
}

/* Generic icon theme reinforcement for visible homepage sections */
.quick-card i,
.news-card i,
.program-icon i,
.announcement-box i,
.flat-public-section i,
.home-profile-section i,
.home-stats-section i,
.home-contact-cta i{
  color:var(--primary)!important;
}
.program-icon i,
.announcement-box h4 i,
.media-chip i,
.flat-section-badge i,
.section-heading>span i,
.section-kicker i{
  color:#fff!important;
}

@media(max-width:575.98px){
  .section-heading-with-action{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  .section-all-link{
    font-size:.72rem!important;
  }
}


/* Satisfaction survey popup v6.0 */
body.survey-open{overflow:hidden}
.survey-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(8,24,15,.54);
  backdrop-filter:blur(5px);
  opacity:0;
  visibility:hidden;
  transition:.22s ease;
}
.survey-modal-backdrop.show{
  opacity:1;
  visibility:visible;
}
.survey-modal-card{
  position:relative;
  width:min(470px,100%);
  padding:32px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--theme-border);
  box-shadow:0 24px 70px rgba(0,0,0,.22);
  text-align:center;
  transform:translateY(15px) scale(.98);
  transition:.22s ease;
}
.survey-modal-backdrop.show .survey-modal-card{
  transform:translateY(0) scale(1);
}
.survey-close{
  position:absolute;
  right:14px;
  top:14px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--theme-soft);
  color:var(--primary);
}
.survey-icon{
  width:64px;
  height:64px;
  margin:0 auto 12px;
  border-radius:18px;
  display:grid;
  place-items:center;
  font-size:1.7rem;
  color:#fff;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary));
}
.survey-eyebrow{
  display:block;
  color:var(--primary);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:1.5px;
  margin-bottom:6px;
}
.survey-modal-card h4{
  font-weight:800;
  color:color-mix(in srgb,var(--primary) 52%,#23372B 48%);
  margin-bottom:8px;
}
.survey-modal-card>p{
  color:#748278;
  font-size:.88rem;
  line-height:1.55;
}
.survey-stars{
  display:flex;
  justify-content:center;
  gap:8px;
  margin:22px 0 7px;
}
.survey-star{
  border:0;
  background:transparent;
  padding:2px;
  font-size:2rem;
  line-height:1;
  color:#D8DED9;
  transition:.15s ease;
}
.survey-star.selected,
.survey-star.hovered{
  color:#F2B319;
  transform:scale(1.08);
}
.survey-rating-text{
  min-height:21px;
  color:#7B877F;
  font-size:.77rem;
  font-weight:700;
  margin-bottom:16px;
}
.survey-comment{
  resize:none;
  margin-bottom:14px;
}
.survey-later{
  border:0;
  background:transparent;
  color:#88938C;
  margin-top:12px;
  font-size:.76rem;
}
.survey-later:hover{color:var(--primary)}
.survey-toast{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:10000;
  display:flex;
  align-items:center;
  gap:9px;
  padding:13px 16px;
  border-radius:12px;
  background:var(--theme-deep);
  color:#fff;
  box-shadow:0 12px 35px rgba(0,0,0,.18);
  opacity:0;
  transform:translateY(15px);
  pointer-events:none;
  transition:.2s ease;
}
.survey-toast.show{
  opacity:1;
  transform:translateY(0);
}
@media(max-width:575.98px){
  .survey-modal-card{padding:28px 20px}
  .survey-stars{gap:5px}
  .survey-star{font-size:1.75rem}
  .survey-toast{left:16px;right:16px;bottom:16px;justify-content:center}
}


/* General service satisfaction survey v6.1 */
.service-survey-card{
  width:min(610px,100%)!important;
  max-height:min(88vh,760px);
  display:flex;
  flex-direction:column;
}
.service-survey-scroll{
  overflow-y:auto;
  padding-right:4px;
  margin-top:2px;
}
.survey-field-label{
  display:block;
  text-align:left;
  font-size:.75rem;
  font-weight:800;
  color:color-mix(in srgb,var(--primary) 55%,#314039 45%);
  margin-bottom:6px;
}
.survey-field-label span{
  color:#8A958F;
  font-weight:600;
}
.service-aspect-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 12px;
  text-align:left;
  margin-top:16px;
}
.service-aspect-grid>div{
  padding:10px;
  border:1px solid var(--theme-border);
  border-radius:10px;
  background:var(--theme-soft);
}
.service-aspect-grid label{
  display:block;
  min-height:34px;
  margin-bottom:6px;
  color:#55655B;
  font-size:.7rem;
  font-weight:700;
  line-height:1.35;
}
.service-aspect-grid .form-select{
  background-color:#fff;
}
@media(max-width:575.98px){
  .service-survey-card{
    max-height:92vh;
  }
  .service-aspect-grid{
    grid-template-columns:1fr;
  }
}


/* Agenda sidebar widget v6.2 */
.sidebar-agenda-widget{
  border-color:var(--theme-border)!important;
}
.sidebar-agenda-widget .sidebar-widget-title span{
  display:inline-block;
  padding:6px 10px;
  border-radius:7px;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary));
  color:#fff!important;
  letter-spacing:1px;
}
.sidebar-agenda-list{
  display:flex;
  flex-direction:column;
}
.sidebar-agenda-item{
  display:flex;
  gap:11px;
  align-items:flex-start;
  padding:12px 0;
  border-bottom:1px solid var(--theme-border);
}
.sidebar-agenda-item:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.agenda-date-box{
  flex:0 0 48px;
  width:48px;
  height:53px;
  border-radius:10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,var(--theme-soft),var(--theme-soft-2));
  border:1px solid var(--theme-border);
}
.agenda-date-box strong{
  color:var(--primary)!important;
  font-size:1.05rem;
  line-height:1;
}
.agenda-date-box span{
  margin-top:3px;
  color:#738078;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.7px;
}
.agenda-content{
  min-width:0;
  flex:1;
}
.agenda-content>strong{
  display:block;
  color:color-mix(in srgb,var(--primary) 55%,#27372E 45%)!important;
  font-size:.82rem;
  line-height:1.4;
  margin-bottom:5px;
}
.agenda-content small{
  display:block;
  color:#748178;
  font-size:.68rem;
  line-height:1.5;
}
.agenda-content small i{
  color:var(--primary)!important;
  margin-right:3px;
}


/* Agenda visibility + survey icon v6.3 */
.public-sidebar .sidebar-agenda-widget{
  order:-10;
  position:relative;
  overflow:hidden;
  border:1px solid var(--theme-border)!important;
  background:
    linear-gradient(180deg,
      color-mix(in srgb,var(--primary) 4%,#fff 96%) 0%,
      #fff 38%)!important;
  box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 7%,transparent)!important;
}
.public-sidebar .sidebar-agenda-widget::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,var(--theme-deep),var(--primary),var(--secondary));
}
.sidebar-agenda-widget .sidebar-widget-title{
  margin-bottom:8px!important;
}
.sidebar-agenda-widget .sidebar-widget-title h5{
  margin-top:8px!important;
  font-weight:800!important;
  color:color-mix(in srgb,var(--primary) 54%,#26382D 46%)!important;
}
.sidebar-agenda-widget .sidebar-empty{
  padding:16px 12px!important;
  border-radius:10px;
  background:var(--theme-soft);
  color:#718078!important;
  text-align:center;
  font-size:.76rem;
}

/* Premium survey identity icon */
.survey-icon-premium{
  position:relative!important;
  width:78px!important;
  height:78px!important;
  margin:0 auto 13px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  border-radius:24px!important;
  background:
    radial-gradient(circle at 28% 22%,rgba(255,255,255,.30),transparent 28%),
    linear-gradient(145deg,var(--theme-deep),var(--primary),var(--secondary))!important;
  box-shadow:
    0 12px 28px color-mix(in srgb,var(--primary) 24%,transparent),
    inset 0 1px 0 rgba(255,255,255,.25)!important;
}
.survey-icon-premium::after{
  content:"";
  position:absolute;
  inset:7px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  pointer-events:none;
}
.survey-icon-main{
  position:relative;
  z-index:2;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:2rem;
}
.survey-icon-main>i{
  color:#fff!important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.12));
}
.survey-heart{
  position:absolute;
  right:-2px;
  bottom:0;
  width:21px;
  height:21px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  box-shadow:0 3px 9px rgba(0,0,0,.15);
}
.survey-heart i{
  color:var(--primary)!important;
  font-size:.72rem!important;
}
.survey-icon-orbit{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}
.survey-mini-star{
  position:absolute;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  box-shadow:0 3px 10px rgba(0,0,0,.14);
}
.survey-mini-star i{
  color:#F2B319!important;
  font-size:.56rem!important;
}
.survey-mini-star.s1{left:-7px;top:11px;transform:rotate(-8deg)}
.survey-mini-star.s2{right:-6px;top:8px;transform:rotate(9deg)}
.survey-mini-star.s3{right:4px;bottom:-7px;transform:rotate(4deg)}


/* Homepage Agenda + News Archive v6.4 */
.home-news-agenda-section{
  background:
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--secondary) 8%,transparent),transparent 22%),
    #fff;
}
.home-news-heading{
  margin-bottom:24px!important;
}
.home-news-heading>div>p{
  max-width:690px;
  margin:7px 0 0;
  color:#738077;
  font-size:.87rem;
  line-height:1.65;
}
.all-news-button{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:11px 12px 11px 18px!important;
  border-radius:13px!important;
  background:var(--theme-soft)!important;
  border:1px solid var(--theme-border)!important;
  color:var(--primary)!important;
  text-decoration:none!important;
  font-size:.78rem!important;
  font-weight:800!important;
  box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 5%,transparent);
}
.all-news-button i{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary));
  color:#fff!important;
  transition:.2s ease;
}
.all-news-button:hover{
  background:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 10%,transparent);
}
.all-news-button:hover i{
  transform:rotate(8deg);
}
.home-news-image-wrap{
  position:relative;
  overflow:hidden;
}
.home-news-category{
  position:absolute;
  left:14px;
  bottom:14px;
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:9px;
  background:rgba(255,255,255,.94);
  color:var(--primary);
  font-size:.64rem;
  font-weight:800;
  box-shadow:0 5px 15px rgba(0,0,0,.10);
}
.home-news-date{
  display:flex;
  align-items:center;
  gap:5px;
  color:#829087!important;
  font-size:.72rem;
}
.home-news-date i{color:var(--primary)!important}
.home-news-read{
  margin-top:auto;
}

/* Homepage agenda panel */
.home-agenda-panel{
  height:100%;
  min-height:100%;
  overflow:hidden;
  border:1px solid var(--theme-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 38px color-mix(in srgb,var(--primary) 8%,transparent);
  position:relative;
}
.home-agenda-panel::before{
  content:"";
  display:block;
  height:5px;
  background:linear-gradient(90deg,var(--theme-deep),var(--primary),var(--secondary));
}
.home-agenda-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:21px 20px 16px;
  border-bottom:1px solid var(--theme-border);
  background:linear-gradient(145deg,var(--theme-soft),#fff);
}
.home-agenda-icon{
  width:45px;
  height:45px;
  flex:0 0 45px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(145deg,var(--theme-deep),var(--primary),var(--secondary));
  color:#fff;
  font-size:1.18rem;
  box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 18%,transparent);
}
.home-agenda-head span{
  display:block;
  font-size:.61rem;
  letter-spacing:1.3px;
  font-weight:850;
  color:var(--primary);
}
.home-agenda-head h4{
  margin:2px 0 0;
  font-size:1rem;
  font-weight:850;
  color:color-mix(in srgb,var(--primary) 52%,#28382F 48%);
}
.home-agenda-list{
  padding:7px 18px 10px;
}
.home-agenda-item{
  display:flex;
  gap:11px;
  padding:14px 0;
  border-bottom:1px solid var(--theme-border);
}
.home-agenda-item:last-child{border-bottom:0}
.home-agenda-date{
  width:47px;
  height:52px;
  flex:0 0 47px;
  border-radius:11px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  background:var(--theme-soft);
  border:1px solid var(--theme-border);
}
.home-agenda-date strong{
  color:var(--primary);
  font-size:1.05rem;
  line-height:1;
}
.home-agenda-date span{
  margin-top:3px;
  color:#79867E;
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.7px;
}
.home-agenda-info{
  min-width:0;
  flex:1;
}
.home-agenda-info>strong{
  display:block;
  margin-bottom:5px;
  font-size:.78rem;
  line-height:1.38;
  color:#33443A;
}
.home-agenda-info small{
  display:block;
  color:#7A887F;
  font-size:.64rem;
  line-height:1.5;
}
.home-agenda-info small i{
  color:var(--primary)!important;
  width:15px;
  display:inline-block;
}
.home-agenda-empty{
  min-height:230px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px 15px;
  color:#77867D;
}
.home-agenda-empty>i{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:12px;
  border-radius:16px;
  background:var(--theme-soft);
  color:var(--primary)!important;
  font-size:1.45rem;
}
.home-agenda-empty strong{
  color:#405047;
  font-size:.81rem;
}
.home-agenda-empty span{
  max-width:190px;
  margin-top:5px;
  font-size:.68rem;
  line-height:1.5;
}
.home-agenda-foot{
  display:flex;
  gap:7px;
  align-items:flex-start;
  margin-top:auto;
  padding:12px 18px;
  border-top:1px solid var(--theme-border);
  background:var(--theme-soft);
  color:#78867D;
  font-size:.62rem;
}
.home-agenda-foot i{
  color:var(--primary)!important;
  margin-top:1px;
}

/* News archive page */
.news-archive-header .news-archive-intro{
  max-width:720px;
  margin:10px 0 0;
  color:rgba(255,255,255,.82);
  font-size:.9rem;
  line-height:1.65;
}
.news-archive-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:24px;
  padding-bottom:15px;
  border-bottom:1px solid var(--theme-border);
}
.news-archive-kicker{
  display:block;
  color:var(--primary);
  font-size:.63rem;
  letter-spacing:1.35px;
  font-weight:850;
}
.news-archive-toolbar h3{
  margin:4px 0 2px;
  color:#314139;
  font-size:1.45rem;
  font-weight:850;
}
.news-archive-toolbar small{
  color:#89958E;
  font-size:.73rem;
}
.news-back-all{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  border-radius:10px;
  background:var(--theme-soft);
  border:1px solid var(--theme-border);
  color:var(--primary);
  text-decoration:none;
  font-size:.72rem;
  font-weight:800;
}
.news-archive-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--theme-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 28px color-mix(in srgb,var(--primary) 5%,transparent);
  transition:.2s ease;
}
.news-archive-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 38px color-mix(in srgb,var(--primary) 10%,transparent);
}
.news-archive-image{
  position:relative;
  display:block;
  height:230px;
  overflow:hidden;
}
.news-archive-image img,
.news-archive-image .image-placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.35s ease;
}
.news-archive-card:hover .news-archive-image img{
  transform:scale(1.035);
}
.news-archive-category{
  position:absolute;
  left:15px;
  bottom:14px;
  padding:6px 10px;
  border-radius:8px;
  background:rgba(255,255,255,.95);
  color:var(--primary);
  font-size:.62rem;
  font-weight:850;
  box-shadow:0 5px 15px rgba(0,0,0,.11);
}
.news-archive-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:21px;
}
.news-archive-meta{
  margin-bottom:8px;
}
.news-archive-meta span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#849189;
  font-size:.69rem;
}
.news-archive-meta i{color:var(--primary)!important}
.news-archive-body h4{
  margin:0 0 9px;
  font-size:1rem;
  font-weight:850;
  line-height:1.45;
}
.news-archive-body h4 a{
  color:#304137;
  text-decoration:none;
}
.news-archive-body p{
  margin-bottom:17px;
  color:#758179;
  font-size:.78rem;
  line-height:1.6;
}
.news-archive-read{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  color:var(--primary);
  text-decoration:none;
  font-size:.74rem;
  font-weight:850;
}
.news-archive-read i{
  transition:.2s ease;
}
.news-archive-read:hover i{transform:translateX(3px)}
.news-archive-empty{
  padding:55px 20px;
  border:1px dashed var(--theme-border);
  border-radius:18px;
  text-align:center;
  background:var(--theme-soft);
}
.news-archive-empty i{
  display:block;
  margin-bottom:10px;
  color:var(--primary)!important;
  font-size:2.3rem;
}
.news-archive-empty h5{
  font-weight:800;
  color:#405047;
}

/* Public pagination */
.public-pagination-wrap{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-top:34px;
  padding-top:20px;
  border-top:1px solid var(--theme-border);
}
.public-pagination-info{
  color:#859087;
  font-size:.73rem;
}
.public-pagination-info strong{color:var(--primary)}
.public-pagination{
  display:flex;
  align-items:center;
  gap:6px;
  list-style:none;
  padding:0;
  margin:0;
}
.public-pagination li a,
.public-pagination li span{
  min-width:36px;
  height:36px;
  padding:0 10px;
  display:grid;
  place-items:center;
  border-radius:10px;
  border:1px solid var(--theme-border);
  background:#fff;
  color:#647269;
  text-decoration:none;
  font-size:.73rem;
  font-weight:800;
}
.public-pagination li a:hover{
  border-color:var(--primary);
  color:var(--primary);
  background:var(--theme-soft);
}
.public-pagination li.active a{
  border-color:var(--primary);
  background:linear-gradient(135deg,var(--theme-deep),var(--primary));
  color:#fff;
}
.public-pagination li.disabled span{
  opacity:.45;
}
.public-pagination li.ellipsis span{
  border:0;
  background:transparent;
}

@media(max-width:991.98px){
  .home-agenda-panel{margin-top:5px}
}
@media(max-width:767.98px){
  .home-news-heading{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .all-news-button{
    align-self:flex-start;
  }
  .public-pagination-wrap{
    align-items:flex-start;
    flex-direction:column;
  }
  .public-pagination{
    flex-wrap:wrap;
  }
}


/* Paging + survey trigger visibility v6.5 */
.public-pagination-wrap{
  margin-top:38px!important;
  padding:18px 20px!important;
  border:1px solid var(--theme-border)!important;
  border-radius:16px!important;
  background:linear-gradient(145deg,var(--theme-soft),#fff)!important;
}
.public-pagination-info{
  font-size:.76rem!important;
  font-weight:650;
}
.public-pagination li.disabled span{
  background:#f7f8f7!important;
  color:#a8b0aa!important;
}


/* Compact homepage agenda card v6.6 */
.home-news-agenda-section .row{
  align-items:flex-start!important;
}
.home-news-agenda-section .col-xl-3,
.home-news-agenda-section .col-lg-4{
  align-self:flex-start!important;
}
.home-agenda-panel{
  height:auto!important;
  min-height:0!important;
  align-self:flex-start!important;
}
.home-agenda-list{
  padding-bottom:8px!important;
}
.home-agenda-empty{
  min-height:150px!important;
  padding:22px 14px!important;
}
.home-agenda-empty>i{
  width:48px!important;
  height:48px!important;
  margin-bottom:10px!important;
  font-size:1.25rem!important;
}
.home-agenda-empty strong{
  font-size:.78rem!important;
}
.home-agenda-empty span{
  max-width:210px!important;
  font-size:.66rem!important;
}
.home-agenda-foot{
  margin-top:0!important;
}


/* Latest sidebar + multi news gallery v6.7 */
.home-latest-news-widget{
  overflow:hidden;
  margin-bottom:18px;
  border:1px solid var(--theme-border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 30px color-mix(in srgb,var(--primary) 7%,transparent);
}
.home-latest-news-widget::before{
  content:"";
  display:block;
  height:4px;
  background:linear-gradient(90deg,var(--theme-deep),var(--primary),var(--secondary));
}
.home-side-widget-head{
  display:flex;
  align-items:center;
  gap:11px;
  padding:17px 17px 13px;
  border-bottom:1px solid var(--theme-border);
  background:linear-gradient(145deg,var(--theme-soft),#fff);
}
.home-side-widget-icon{
  width:40px;height:40px;flex:0 0 40px;
  display:grid;place-items:center;
  border-radius:12px;
  background:linear-gradient(145deg,var(--theme-deep),var(--primary));
  color:#fff;font-size:1rem;
}
.home-side-widget-head span{
  display:block;color:var(--primary);font-size:.58rem;font-weight:850;letter-spacing:1.2px;
}
.home-side-widget-head h4{
  margin:2px 0 0;color:#33443a;font-size:.94rem;font-weight:850;
}
.home-side-news-list{padding:5px 16px}
.home-side-news-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:11px 0;
  border-bottom:1px solid var(--theme-border);
  text-decoration:none;
}
.home-side-news-item:last-child{border-bottom:0}
.home-side-news-item img,.home-side-news-placeholder{
  width:62px;height:50px;flex:0 0 62px;
  border-radius:9px;object-fit:cover;
}
.home-side-news-placeholder{
  display:grid;place-items:center;background:var(--theme-soft);color:var(--primary);
}
.home-side-news-item small{
  display:block;margin-bottom:3px;color:#88958d;font-size:.61rem;
}
.home-side-news-item small i{color:var(--primary)!important;margin-right:4px}
.home-side-news-item strong{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  color:#394a40;font-size:.72rem;line-height:1.35;
}
.home-side-news-item:hover strong{color:var(--primary)}
.home-side-widget-link{
  display:flex;justify-content:space-between;align-items:center;
  padding:11px 16px;border-top:1px solid var(--theme-border);
  background:var(--theme-soft);color:var(--primary);text-decoration:none;
  font-size:.67rem;font-weight:800;
}
.home-side-empty{padding:16px 0;color:#87938c;font-size:.72rem}

/* Multiple images on news detail */
.article-gallery-section{
  margin:30px 0 8px;
  padding-top:24px;
  border-top:1px solid var(--theme-border);
}
.article-gallery-heading span{
  display:block;color:var(--primary);font-size:.62rem;font-weight:850;letter-spacing:1.2px;
}
.article-gallery-heading span i{margin-right:5px}
.article-gallery-heading h5{
  margin:4px 0 14px;color:#35463c;font-weight:850;
}
.article-gallery-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.article-gallery-item{
  height:210px;position:relative;overflow:hidden;
  border-radius:14px;background:var(--theme-soft);
}
.article-gallery-item img{
  width:100%;height:100%;object-fit:cover;transition:.3s ease;
}
.article-gallery-item>span{
  position:absolute;right:10px;bottom:10px;
  width:33px;height:33px;display:grid;place-items:center;
  border-radius:10px;background:rgba(255,255,255,.93);
  color:var(--primary);opacity:0;transform:translateY(4px);transition:.2s ease;
}
.article-gallery-item:hover img{transform:scale(1.035)}
.article-gallery-item:hover>span{opacity:1;transform:none}
@media(max-width:575.98px){
  .article-gallery-grid{grid-template-columns:1fr}
  .article-gallery-item{height:220px}
}


/* Header language + floating WhatsApp v6.8 */
.topbar .container{align-items:center}
.topbar-right-tools{
  display:flex;
  align-items:center;
  gap:16px;
}
.language-picker{position:relative}
.language-picker-btn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 10px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:9px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:.7rem;
  font-weight:750;
  line-height:1;
}
.language-picker-btn:hover,
.language-picker-btn:focus{
  background:rgba(255,255,255,.18);
  color:#fff;
}
.language-picker-btn i{font-size:.85rem}
.language-menu{
  min-width:190px;
  margin-top:8px!important;
  padding:7px;
  border:1px solid var(--theme-border);
  border-radius:12px;
  box-shadow:0 14px 35px rgba(25,52,36,.14);
}
.language-menu .dropdown-item{
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 9px;
  border-radius:8px;
  color:#425148;
  font-size:.72rem;
  font-weight:700;
}
.language-menu .dropdown-item:hover{
  background:var(--theme-soft);
  color:var(--primary);
}
.language-code{
  width:28px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:var(--theme-soft);
  border:1px solid var(--theme-border);
  color:var(--primary);
  font-size:.6rem;
  font-weight:900;
}
.google-translate-engine{
  position:fixed!important;
  width:1px!important;height:1px!important;
  left:-9999px!important;bottom:-9999px!important;
  overflow:hidden!important;
}
body>.skiptranslate{display:none!important}
body{top:0!important}

.floating-whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:1035;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px 12px 8px 8px;
  border-radius:999px;
  background:#fff;
  border:1px solid color-mix(in srgb,#25D366 35%,#fff 65%);
  box-shadow:0 10px 32px rgba(24,76,43,.18);
  text-decoration:none!important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.floating-whatsapp:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 38px rgba(24,76,43,.24);
}
.floating-wa-icon{
  position:relative;
  z-index:2;
  width:45px;height:45px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  font-size:1.35rem;
}
.floating-wa-icon i{color:#fff!important}
.floating-wa-pulse{
  position:absolute;
  left:8px;
  top:8px;
  width:45px;height:45px;
  border-radius:50%;
  background:#25D366;
  opacity:.20;
  animation:floatingWaPulse 2s infinite;
}
.floating-wa-label{
  display:flex;
  flex-direction:column;
  padding-right:3px;
  line-height:1.15;
}
.floating-wa-label strong{
  color:#314239;
  font-size:.69rem;
  font-weight:850;
}
.floating-wa-label small{
  margin-top:3px;
  color:#25A958;
  font-size:.61rem;
  font-weight:750;
}
@keyframes floatingWaPulse{
  0%{transform:scale(1);opacity:.25}
  70%,100%{transform:scale(1.55);opacity:0}
}
@media(max-width:767.98px){
  .topbar-tagline{display:none}
  .topbar-right-tools{gap:6px}
  .language-picker-btn span{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .floating-whatsapp{
    right:14px;bottom:14px;
    padding:7px;
  }
  .floating-wa-label{display:none}
  .floating-wa-icon,.floating-wa-pulse{
    width:46px;height:46px;
  }
  .floating-wa-pulse{left:7px;top:7px}
}


/* Language dropdown guaranteed visible v6.9 */
.language-picker{
  position:relative!important;
  z-index:1100;
}
.language-picker-btn{
  cursor:pointer;
}
.language-chevron{
  margin-left:2px;
  font-size:.58rem!important;
  transition:transform .2s ease;
}
.language-picker.open .language-chevron{
  transform:rotate(180deg);
}
.language-menu-custom{
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  z-index:1200;
  width:230px;
  display:none;
  padding:7px;
  border:1px solid var(--theme-border);
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 40px rgba(25,52,36,.18);
}
.language-picker.open .language-menu-custom{
  display:block!important;
  animation:languageMenuIn .16s ease-out;
}
.language-menu-custom::before{
  content:"";
  position:absolute;
  right:18px;
  top:-6px;
  width:11px;
  height:11px;
  transform:rotate(45deg);
  background:#fff;
  border-left:1px solid var(--theme-border);
  border-top:1px solid var(--theme-border);
}
.language-menu-custom .language-option{
  width:100%;
  display:grid;
  grid-template-columns:34px 1fr 22px;
  align-items:center;
  gap:9px;
  padding:9px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#435249;
  text-align:left;
  cursor:pointer;
}
.language-menu-custom .language-option:hover,
.language-menu-custom .language-option.active{
  background:var(--theme-soft);
}
.language-menu-custom .language-option>span:nth-child(2){
  display:flex;
  flex-direction:column;
}
.language-menu-custom .language-option strong{
  color:#3a4a40;
  font-size:.72rem;
  line-height:1.2;
}
.language-menu-custom .language-option small{
  margin-top:2px;
  color:#8a958e;
  font-size:.58rem;
}
.language-menu-custom .language-option.active strong,
.language-menu-custom .language-option.active .language-check{
  color:var(--primary);
}
.language-check{
  visibility:hidden;
  color:var(--primary);
  font-size:.9rem;
}
.language-option.active .language-check{
  visibility:visible;
}
@keyframes languageMenuIn{
  from{opacity:0;transform:translateY(-5px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:575.98px){
  .language-menu-custom{
    position:fixed;
    top:48px;
    right:10px;
    width:min(230px,calc(100vw - 20px));
  }
}


/* WhatsApp always-visible fix v7.0 */
.floating-whatsapp{
  z-index:9998!important;
  visibility:visible!important;
  opacity:1!important;
  display:flex!important;
}
.floating-whatsapp.wa-unconfigured{
  filter:grayscale(.2);
}
.floating-whatsapp.wa-unconfigured .floating-wa-icon{
  background:#25D366!important;
}
.floating-whatsapp.wa-unconfigured .floating-wa-label small{
  color:#7c8981!important;
}


/* Quick category cards aligned + green gradient v7.1 */
.quick-services .quick-track{
  align-items:stretch!important;
}
.quick-services .quick-slide-item{
  display:flex!important;
  height:auto!important;
}
.quick-services .quick-card{
  width:100%!important;
  min-height:220px!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:28px 28px 24px!important;
  border:1px solid color-mix(in srgb,var(--secondary) 48%,#fff 52%)!important;
  border-left:0!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 92% 8%,rgba(255,255,255,.18),transparent 34%),
    linear-gradient(145deg,
      var(--theme-deep) 0%,
      var(--primary) 54%,
      var(--secondary) 100%)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 18%,transparent)!important;
  color:#fff!important;
  overflow:hidden!important;
  position:relative!important;
}
.quick-services .quick-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:7px;
  background:rgba(255,255,255,.24);
}
.quick-services .quick-card::after{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  right:-42px;
  bottom:-52px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}
.quick-services .quick-card>i{
  flex:0 0 auto!important;
  margin:0 0 22px!important;
  color:#fff!important;
  font-size:2rem!important;
  line-height:1!important;
}
.quick-services .quick-card>b{
  display:block!important;
  min-height:29px!important;
  margin:0 0 5px!important;
  color:#fff!important;
  font-size:1.03rem!important;
  font-weight:850!important;
  line-height:1.35!important;
}
.quick-services .quick-card>span{
  display:-webkit-box!important;
  min-height:48px!important;
  margin:0 0 18px!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  color:rgba(255,255,255,.84)!important;
  font-size:.82rem!important;
  line-height:1.55!important;
}
.quick-services .quick-card-more{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:auto!important;
  color:#fff!important;
  font-size:.69rem!important;
  font-weight:850!important;
}
.quick-services .quick-card-more i{
  color:#fff!important;
  transition:transform .2s ease;
}
.quick-services .quick-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 17px 34px color-mix(in srgb,var(--primary) 25%,transparent)!important;
}
.quick-services .quick-card:hover .quick-card-more i{
  transform:translateX(4px);
}
.quick-services .home-slider-nav{
  background:linear-gradient(145deg,var(--primary),var(--secondary))!important;
  color:#fff!important;
  border-color:transparent!important;
}
.quick-services .home-slider-nav i{
  color:#fff!important;
}
@media(max-width:767.98px){
  .quick-services .quick-card{
    min-height:205px!important;
    padding:24px 22px 21px!important;
  }
}


/* Quick category cards soft white-green gradient v7.2 */
.quick-services .quick-card{
  background:
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--secondary) 10%,transparent),transparent 34%),
    linear-gradient(145deg,
      #ffffff 0%,
      color-mix(in srgb,var(--primary) 5%,#ffffff 95%) 52%,
      color-mix(in srgb,var(--secondary) 14%,#ffffff 86%) 100%)!important;
  border:1px solid color-mix(in srgb,var(--primary) 20%,#ffffff 80%)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 9%,transparent)!important;
  color:#33443a!important;
}
.quick-services .quick-card::before{
  width:6px!important;
  background:linear-gradient(180deg,var(--theme-deep),var(--primary),var(--secondary))!important;
}
.quick-services .quick-card::after{
  background:color-mix(in srgb,var(--secondary) 9%,transparent)!important;
}
.quick-services .quick-card>i{
  color:var(--primary)!important;
}
.quick-services .quick-card>b{
  color:color-mix(in srgb,var(--primary) 58%,#2f4036 42%)!important;
}
.quick-services .quick-card>span{
  color:#7a887f!important;
}
.quick-services .quick-card-more{
  color:var(--primary)!important;
}
.quick-services .quick-card-more i{
  color:var(--primary)!important;
}
.quick-services .quick-card:hover{
  background:
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--secondary) 15%,transparent),transparent 34%),
    linear-gradient(145deg,
      #ffffff 0%,
      color-mix(in srgb,var(--primary) 8%,#ffffff 92%) 52%,
      color-mix(in srgb,var(--secondary) 19%,#ffffff 81%) 100%)!important;
  box-shadow:0 17px 34px color-mix(in srgb,var(--primary) 14%,transparent)!important;
}


/* Stronger soft green cards + latest news carousel v7.3 */
.quick-services .quick-card{
  background:
    radial-gradient(circle at 90% 9%,
      color-mix(in srgb,var(--secondary) 22%,transparent),
      transparent 37%),
    linear-gradient(145deg,
      #ffffff 0%,
      color-mix(in srgb,var(--primary) 9%,#ffffff 91%) 47%,
      color-mix(in srgb,var(--secondary) 27%,#ffffff 73%) 100%)!important;
  border:1px solid color-mix(in srgb,var(--primary) 29%,#ffffff 71%)!important;
  box-shadow:
    0 12px 30px color-mix(in srgb,var(--primary) 12%,transparent),
    inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.quick-services .quick-card::before{
  width:7px!important;
  background:linear-gradient(180deg,
    var(--theme-deep),
    var(--primary) 55%,
    var(--secondary))!important;
}
.quick-services .quick-card::after{
  width:125px!important;
  height:125px!important;
  right:-48px!important;
  bottom:-58px!important;
  background:color-mix(in srgb,var(--secondary) 15%,transparent)!important;
}
.quick-services .quick-card>i{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--primary) 12%,#fff 88%),
    color-mix(in srgb,var(--secondary) 30%,#fff 70%))!important;
  border:1px solid color-mix(in srgb,var(--primary) 18%,#fff 82%)!important;
  color:var(--primary)!important;
  box-shadow:0 7px 16px color-mix(in srgb,var(--primary) 9%,transparent)!important;
}
.quick-services .quick-card>b{
  color:color-mix(in srgb,var(--primary) 70%,#26372d 30%)!important;
}
.quick-services .quick-card-more{
  padding:7px 10px!important;
  border-radius:9px!important;
  background:color-mix(in srgb,var(--primary) 9%,#fff 91%)!important;
  border:1px solid color-mix(in srgb,var(--primary) 15%,#fff 85%)!important;
}
.quick-services .quick-card:hover{
  background:
    radial-gradient(circle at 90% 9%,
      color-mix(in srgb,var(--secondary) 28%,transparent),
      transparent 37%),
    linear-gradient(145deg,
      #ffffff 0%,
      color-mix(in srgb,var(--primary) 12%,#ffffff 88%) 47%,
      color-mix(in srgb,var(--secondary) 32%,#ffffff 68%) 100%)!important;
}

/* Homepage right-sidebar latest news carousel */
.home-side-news-carousel{
  padding:0;
}
.home-side-news-carousel .carousel-inner{
  border-bottom:1px solid var(--theme-border);
}
.home-side-news-slide{
  display:block;
  color:inherit;
  text-decoration:none;
}
.home-side-news-image{
  position:relative;
  height:175px;
  overflow:hidden;
  background:var(--theme-soft);
}
.home-side-news-image img,
.home-side-news-image .home-side-news-placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-side-news-image img{
  transition:transform .35s ease;
}
.home-side-news-slide:hover .home-side-news-image img{
  transform:scale(1.04);
}
.home-side-news-placeholder{
  display:grid!important;
  place-items:center!important;
  color:var(--primary);
  font-size:2rem;
}
.home-side-news-category{
  position:absolute;
  left:13px;
  bottom:12px;
  padding:5px 8px;
  border-radius:8px;
  background:rgba(255,255,255,.94);
  color:var(--primary);
  font-size:.57rem;
  font-weight:850;
  box-shadow:0 4px 12px rgba(0,0,0,.10);
}
.home-side-news-caption{
  min-height:136px;
  display:flex;
  flex-direction:column;
  padding:15px 16px 13px;
}
.home-side-news-caption small{
  display:flex;
  align-items:center;
  gap:5px;
  margin-bottom:7px;
  color:#87938c;
  font-size:.62rem;
}
.home-side-news-caption small i{
  color:var(--primary)!important;
}
.home-side-news-caption strong{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  color:#36473d;
  font-size:.78rem;
  line-height:1.45;
  font-weight:850;
}
.home-side-news-caption>span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:auto;
  padding-top:10px;
  color:var(--primary);
  font-size:.64rem;
  font-weight:800;
}
.home-side-news-caption>span i{
  transition:transform .2s ease;
}
.home-side-news-slide:hover .home-side-news-caption>span i{
  transform:translateX(3px);
}
.home-side-news-controls{
  display:grid;
  grid-template-columns:34px 1fr 34px;
  align-items:center;
  gap:9px;
  padding:10px 13px;
  background:linear-gradient(145deg,var(--theme-soft),#fff);
}
.home-side-carousel-btn{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid var(--theme-border);
  border-radius:9px;
  background:#fff;
  color:var(--primary);
}
.home-side-carousel-btn:hover{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
.home-side-carousel-btn:hover i{
  color:#fff!important;
}
.home-side-carousel-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}
.home-side-carousel-dots button{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:50%;
  background:color-mix(in srgb,var(--primary) 20%,#cfd8d2 80%);
  transition:.2s ease;
}
.home-side-carousel-dots button.active{
  width:20px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--primary),var(--secondary));
}


/* Professional compact category cards + Faculty in Numbers v7.4 */
.quick-services{
  padding:22px 0!important;
}
.quick-services .compact-slider{
  padding:0 36px!important;
}
.quick-services .quick-track{
  gap:14px!important;
}
.quick-services .quick-slide-item{
  flex:0 0 248px!important;
  width:248px!important;
}
.quick-services .quick-card{
  min-height:154px!important;
  height:154px!important;
  padding:19px 18px 17px!important;
  border-radius:16px!important;
  background:
    linear-gradient(135deg,#fff 0%,
      color-mix(in srgb,var(--primary) 7%,#fff 93%) 64%,
      color-mix(in srgb,var(--secondary) 18%,#fff 82%) 100%)!important;
  border:1px solid color-mix(in srgb,var(--primary) 20%,#fff 80%)!important;
  box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 8%,transparent)!important;
}
.quick-services .quick-card::before{
  left:0!important;
  top:17px!important;
  bottom:17px!important;
  width:4px!important;
  border-radius:0 7px 7px 0!important;
}
.quick-services .quick-card::after{
  width:82px!important;
  height:82px!important;
  right:-36px!important;
  bottom:-42px!important;
}
.quick-services .quick-card>i{
  width:38px!important;
  height:38px!important;
  margin:0 0 12px!important;
  border-radius:11px!important;
  font-size:1.15rem!important;
  box-shadow:none!important;
}
.quick-services .quick-card>b{
  min-height:auto!important;
  margin-bottom:3px!important;
  font-size:.91rem!important;
  line-height:1.25!important;
}
.quick-services .quick-card>span{
  min-height:auto!important;
  margin:0 0 9px!important;
  font-size:.70rem!important;
  line-height:1.4!important;
  -webkit-line-clamp:1!important;
}
.quick-services .quick-card-more{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:.62rem!important;
}
.quick-services .quick-card:hover{
  transform:translateY(-3px)!important;
  border-color:color-mix(in srgb,var(--primary) 32%,#fff 68%)!important;
  box-shadow:0 12px 25px color-mix(in srgb,var(--primary) 12%,transparent)!important;
}
.quick-services .home-slider-nav{
  width:32px!important;
  height:32px!important;
  box-shadow:0 6px 15px color-mix(in srgb,var(--primary) 13%,transparent)!important;
}

.faculty-numbers-section{
  position:relative;
  padding:72px 0;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 18%,color-mix(in srgb,var(--secondary) 12%,transparent),transparent 28%),
    linear-gradient(180deg,#fff 0%,color-mix(in srgb,var(--primary) 4%,#fff 96%) 100%);
  border-top:1px solid color-mix(in srgb,var(--primary) 10%,#fff 90%);
  border-bottom:1px solid color-mix(in srgb,var(--primary) 10%,#fff 90%);
}
.faculty-numbers-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:25px;
  margin-bottom:30px;
}
.faculty-numbers-kicker{
  display:inline-flex;
  margin-bottom:8px;
  color:var(--primary);
  font-size:.69rem;
  font-weight:850;
  letter-spacing:.12em;
}
.faculty-numbers-head h2{
  margin:0 0 8px;
  color:#263a2f;
  font-weight:850;
  font-size:clamp(1.7rem,2.8vw,2.35rem);
}
.faculty-numbers-head p{
  max-width:720px;
  margin:0;
  color:#77847d;
}
.faculty-data-year{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  border:1px solid var(--theme-border);
  border-radius:10px;
  background:#fff;
  color:var(--primary);
  font-size:.72rem;
  font-weight:800;
}
.faculty-numbers-layout{
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);
  gap:22px;
}
.faculty-number-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}
.faculty-number-card{
  min-height:118px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:20px;
  border:1px solid color-mix(in srgb,var(--primary) 16%,#fff 84%);
  border-radius:17px;
  background:rgba(255,255,255,.92);
  box-shadow:0 9px 24px color-mix(in srgb,var(--primary) 7%,transparent);
}
.faculty-program-card{
  grid-column:1/-1;
  min-height:94px;
}
.faculty-number-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg,
    color-mix(in srgb,var(--primary) 9%,#fff 91%),
    color-mix(in srgb,var(--secondary) 24%,#fff 76%));
  color:var(--primary);
  font-size:1.16rem;
}
.faculty-number-card strong{
  display:block;
  color:#25372d;
  font-size:1.62rem;
  line-height:1;
  font-weight:900;
}
.faculty-number-card div>span{
  display:block;
  margin-top:6px;
  color:#79867e;
  font-size:.73rem;
  font-weight:700;
}
.faculty-ratio-panel{
  padding:24px;
  border:1px solid color-mix(in srgb,var(--primary) 20%,#fff 80%);
  border-radius:20px;
  background:
    linear-gradient(145deg,#fff 0%,
      color-mix(in srgb,var(--primary) 6%,#fff 94%) 100%);
  box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 9%,transparent);
}
.faculty-ratio-title{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px;
  margin-bottom:29px;
}
.faculty-ratio-title span{
  color:var(--primary);
  font-size:.62rem;
  font-weight:850;
  letter-spacing:.11em;
}
.faculty-ratio-title h4{
  margin:4px 0 0;
  color:#2d4034;
  font-size:1.08rem;
  font-weight:850;
}
.faculty-ratio-badge{
  min-width:92px;
  padding:10px 12px;
  border-radius:12px;
  text-align:center;
  background:linear-gradient(145deg,var(--theme-deep),var(--primary));
  color:#fff;
}
.faculty-ratio-badge small{
  display:block;
  color:rgba(255,255,255,.72);
  font-size:.56rem;
  text-transform:uppercase;
}
.faculty-ratio-badge strong{
  display:block;
  margin-top:2px;
  font-size:1.04rem;
}
.faculty-ratio-chart{
  display:flex;
  flex-direction:column;
  gap:21px;
  padding:5px 0 22px;
}
.ratio-row-label{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:7px;
  color:#6e7c74;
  font-size:.69rem;
}
.ratio-row-label strong{
  color:#35483c;
  font-size:.75rem;
}
.ratio-track{
  width:100%;
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:color-mix(in srgb,var(--primary) 8%,#eef3ef 92%);
}
.ratio-bar{
  display:block;
  min-width:4px;
  height:100%;
  border-radius:999px;
  transition:width .8s ease;
}
.ratio-bar.lecturer{
  background:linear-gradient(90deg,var(--theme-deep),var(--primary));
}
.ratio-bar.student{
  background:linear-gradient(90deg,var(--primary),var(--secondary));
}
.faculty-ratio-note{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:12px 13px;
  border-radius:11px;
  background:color-mix(in srgb,var(--primary) 6%,#fff 94%);
  color:#6c7b72;
  font-size:.66rem;
  line-height:1.5;
}
.faculty-ratio-note i{
  margin-top:1px;
  color:var(--primary);
}
.faculty-numbers-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:170px;
  padding:28px;
  border:1px dashed var(--theme-border);
  border-radius:18px;
  background:#fff;
  color:#748178;
}
.faculty-numbers-empty>i{
  color:var(--primary);
  font-size:1.8rem;
}
.faculty-numbers-empty strong,
.faculty-numbers-empty span{
  display:block;
}
.faculty-numbers-empty strong{
  color:#3c4c42;
}
.faculty-numbers-empty span{
  margin-top:3px;
  font-size:.76rem;
}
@media(max-width:991.98px){
  .faculty-numbers-layout{grid-template-columns:1fr;}
}
@media(max-width:575.98px){
  .quick-services .quick-slide-item{flex-basis:218px!important;width:218px!important;}
  .quick-services .quick-card{height:148px!important;min-height:148px!important;}
  .faculty-numbers-section{padding:48px 0;}
  .faculty-numbers-head{align-items:flex-start;flex-direction:column;}
  .faculty-number-cards{grid-template-columns:1fr;}
  .faculty-program-card{grid-column:auto;}
  .faculty-number-card{min-height:94px;}
}


/* v7.5 — Full-width professional category cards */
.quick-services{
  padding:26px 0 30px!important;
}
.quick-services .home-slider-shell.compact-slider{
  padding:0!important;
}
.quick-services .quick-track{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  overflow:visible!important;
  scroll-snap-type:none!important;
  padding:0!important;
}
.quick-services .quick-slide-item{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:initial!important;
  display:block!important;
}
.quick-services .quick-card{
  width:100%!important;
  height:142px!important;
  min-height:142px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  grid-template-rows:auto auto 1fr!important;
  column-gap:14px!important;
  align-items:start!important;
  padding:19px 19px 17px!important;
  border-radius:16px!important;
  background:
    linear-gradient(135deg,
      #ffffff 0%,
      color-mix(in srgb,var(--primary) 6%,#ffffff 94%) 58%,
      color-mix(in srgb,var(--secondary) 17%,#ffffff 83%) 100%)!important;
  border:1px solid color-mix(in srgb,var(--primary) 18%,#ffffff 82%)!important;
  border-left:1px solid color-mix(in srgb,var(--primary) 18%,#ffffff 82%)!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 7%,transparent)!important;
  overflow:hidden!important;
}
.quick-services .quick-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:4px!important;
  border-radius:16px 0 0 16px!important;
  background:linear-gradient(180deg,var(--theme-deep),var(--primary),var(--secondary))!important;
}
.quick-services .quick-card::after{
  width:90px!important;
  height:90px!important;
  right:-40px!important;
  bottom:-46px!important;
  background:color-mix(in srgb,var(--secondary) 10%,transparent)!important;
}
.quick-services .quick-card>i{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  width:46px!important;
  height:46px!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:13px!important;
  background:
    linear-gradient(145deg,
      color-mix(in srgb,var(--primary) 10%,#fff 90%),
      color-mix(in srgb,var(--secondary) 25%,#fff 75%))!important;
  border:1px solid color-mix(in srgb,var(--primary) 14%,#fff 86%)!important;
  color:var(--primary)!important;
  font-size:1.18rem!important;
  box-shadow:none!important;
}
.quick-services .quick-card>b{
  grid-column:2!important;
  grid-row:1!important;
  min-height:0!important;
  margin:2px 0 3px!important;
  color:#2f4236!important;
  font-size:.92rem!important;
  line-height:1.25!important;
  font-weight:850!important;
}
.quick-services .quick-card>span{
  grid-column:2!important;
  grid-row:2!important;
  min-height:0!important;
  margin:0!important;
  display:-webkit-box!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  color:#77867d!important;
  font-size:.69rem!important;
  line-height:1.45!important;
}
.quick-services .quick-card-more{
  grid-column:1 / -1!important;
  grid-row:3!important;
  align-self:end!important;
  justify-self:start!important;
  margin-top:11px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--primary)!important;
  font-size:.63rem!important;
  font-weight:850!important;
}
.quick-services .quick-card-more i{
  color:var(--primary)!important;
}
.quick-services .quick-card:hover{
  transform:translateY(-3px)!important;
  border-color:color-mix(in srgb,var(--primary) 28%,#fff 72%)!important;
  box-shadow:0 12px 26px color-mix(in srgb,var(--primary) 11%,transparent)!important;
}
.quick-services .home-slider-nav{
  display:none!important;
}

@media (max-width:1199.98px){
  .quick-services .quick-track{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:575.98px){
  .quick-services .quick-track{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .quick-services .quick-card{
    height:132px!important;
    min-height:132px!important;
    padding:17px 17px 15px!important;
  }
}


/* v7.6 — Restore first green-gradient card style, aligned only */
.quick-services{
  padding:28px 0!important;
}
.quick-services .home-slider-shell.compact-slider{
  padding:0!important;
}
.quick-services .quick-track{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  overflow:visible!important;
  padding:0!important;
}
.quick-services .quick-slide-item{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:initial!important;
  display:flex!important;
}
.quick-services .quick-card{
  width:100%!important;
  min-height:205px!important;
  height:205px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:25px 24px 22px!important;
  border-radius:19px!important;
  position:relative!important;
  overflow:hidden!important;

  background:
    radial-gradient(circle at 92% 8%,rgba(255,255,255,.18),transparent 34%),
    linear-gradient(145deg,
      var(--theme-deep) 0%,
      var(--primary) 54%,
      var(--secondary) 100%)!important;

  border:1px solid color-mix(in srgb,var(--secondary) 45%,#ffffff 55%)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 18%,transparent)!important;
  color:#fff!important;
}
.quick-services .quick-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:6px!important;
  border-radius:19px 0 0 19px!important;
  background:rgba(255,255,255,.22)!important;
}
.quick-services .quick-card::after{
  content:""!important;
  position:absolute!important;
  width:105px!important;
  height:105px!important;
  right:-42px!important;
  bottom:-50px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.08)!important;
}
.quick-services .quick-card>i{
  width:auto!important;
  height:auto!important;
  display:block!important;
  margin:0 0 20px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:1.85rem!important;
  line-height:1!important;
}
.quick-services .quick-card>b{
  display:block!important;
  min-height:26px!important;
  margin:0 0 6px!important;
  color:#fff!important;
  font-size:1rem!important;
  font-weight:850!important;
  line-height:1.3!important;
}
.quick-services .quick-card>span{
  display:-webkit-box!important;
  min-height:44px!important;
  margin:0 0 15px!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  color:rgba(255,255,255,.83)!important;
  font-size:.76rem!important;
  line-height:1.5!important;
}
.quick-services .quick-card-more{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:.67rem!important;
  font-weight:850!important;
}
.quick-services .quick-card-more i{
  color:#fff!important;
  transition:transform .2s ease!important;
}
.quick-services .quick-card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(255,255,255,.38)!important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--primary) 24%,transparent)!important;
}
.quick-services .quick-card:hover .quick-card-more i{
  transform:translateX(4px)!important;
}
.quick-services .home-slider-nav{
  display:none!important;
}

@media(max-width:1199.98px){
  .quick-services .quick-track{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:575.98px){
  .quick-services .quick-track{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .quick-services .quick-card{
    min-height:190px!important;
    height:190px!important;
    padding:23px 22px 20px!important;
  }
}


/* v7.7 — Clean professional cards, no gradient */
.quick-services{
  background:#fff!important;
}
.quick-services .quick-card{
  min-height:188px!important;
  height:188px!important;
  padding:23px 22px 20px!important;
  border-radius:16px!important;
  background:#ffffff!important;
  border:1px solid color-mix(in srgb,var(--primary) 18%,#e7ece9 82%)!important;
  box-shadow:0 7px 20px rgba(28,52,38,.07)!important;
  color:#26382e!important;
}
.quick-services .quick-card::before{
  left:0!important;
  top:0!important;
  bottom:auto!important;
  width:100%!important;
  height:4px!important;
  border-radius:16px 16px 0 0!important;
  background:var(--primary)!important;
}
.quick-services .quick-card::after{
  display:none!important;
}
.quick-services .quick-card>i{
  width:43px!important;
  height:43px!important;
  display:grid!important;
  place-items:center!important;
  margin:0 0 17px!important;
  border-radius:11px!important;
  background:color-mix(in srgb,var(--primary) 9%,#fff 91%)!important;
  border:1px solid color-mix(in srgb,var(--primary) 12%,#fff 88%)!important;
  color:var(--primary)!important;
  font-size:1.25rem!important;
}
.quick-services .quick-card>b{
  min-height:25px!important;
  margin-bottom:4px!important;
  color:#293b31!important;
  font-size:.96rem!important;
}
.quick-services .quick-card>span{
  min-height:40px!important;
  margin-bottom:12px!important;
  color:#7a877f!important;
  font-size:.73rem!important;
  line-height:1.45!important;
}
.quick-services .quick-card-more{
  color:var(--primary)!important;
  font-size:.65rem!important;
}
.quick-services .quick-card-more i{
  color:var(--primary)!important;
}
.quick-services .quick-card:hover{
  transform:translateY(-4px)!important;
  background:#fff!important;
  border-color:color-mix(in srgb,var(--primary) 34%,#e7ece9 66%)!important;
  box-shadow:0 13px 28px rgba(28,52,38,.11)!important;
}
@media(max-width:575.98px){
  .quick-services .quick-card{
    min-height:178px!important;
    height:178px!important;
  }
}


/* v7.8 — section divider, public document UI, restrained frontend motion */
.quick-section-divider-wrap{
  padding-top:2px;
  padding-bottom:2px;
}
.quick-section-divider{
  display:grid;
  grid-template-columns:1fr 28px 1fr;
  align-items:center;
  gap:12px;
  max-width:100%;
}
.quick-section-divider span{
  height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--primary) 20%,#dfe6e1 80%));
}
.quick-section-divider span:last-child{
  background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 20%,#dfe6e1 80%),transparent);
}
.quick-section-divider i{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--primary) 16%,#fff 84%);
  border-radius:50%;
  background:#fff;
  color:var(--primary);
  font-size:.66rem;
}

.reveal-up,
.reveal-section{
  opacity:0;
  transform:translateY(18px);
  transition:
    opacity .62s cubic-bezier(.2,.7,.2,1),
    transform .62s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}
.reveal-section{
  transform:translateY(12px);
}
.reveal-up.is-visible,
.reveal-section.is-visible{
  opacity:1;
  transform:none;
}
@media(prefers-reduced-motion:reduce){
  .reveal-up,.reveal-section{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

.document-public-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
  padding:18px 20px;
  border:1px solid color-mix(in srgb,var(--primary) 12%,#e6ebe8 88%);
  border-radius:15px;
  background:#fff;
}
.document-toolbar-kicker{
  display:block;
  margin-bottom:3px;
  color:var(--primary);
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.11em;
}
.document-public-toolbar h4{
  margin:0 0 4px;
  color:#304137;
  font-size:1.05rem;
  font-weight:850;
}
.document-public-toolbar p{
  margin:0;
  color:#7c8981;
  font-size:.71rem;
}
.document-category-filter{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:225px;
}
.document-category-filter .form-select{
  border-color:color-mix(in srgb,var(--primary) 16%,#e2e8e4 84%);
  color:#526158;
  font-size:.7rem;
}
.document-filter-reset{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:grid;
  place-items:center;
  border:1px solid var(--theme-border);
  border-radius:8px;
  color:var(--primary);
}
.document-public-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.document-public-row{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:16px 17px;
  border:1px solid color-mix(in srgb,var(--primary) 11%,#e8ede9 89%);
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 15px rgba(28,52,38,.045);
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.document-public-row:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--primary) 25%,#e8ede9 75%);
  box-shadow:0 9px 22px rgba(28,52,38,.075);
}
.document-public-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:color-mix(in srgb,var(--primary) 8%,#fff 92%);
  color:var(--primary);
  font-size:1.1rem;
}
.document-public-copy>span{
  display:block;
  margin-bottom:3px;
  color:var(--primary);
  font-size:.58rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.document-public-copy h5{
  margin:0 0 5px;
  color:#34463b;
  font-size:.83rem;
  line-height:1.4;
  font-weight:800;
}
.document-public-copy small{
  display:flex;
  align-items:center;
  gap:5px;
  color:#929d96;
  font-size:.61rem;
}
.document-public-action a{
  min-width:76px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 10px;
  border:1px solid color-mix(in srgb,var(--primary) 17%,#fff 83%);
  border-radius:9px;
  background:color-mix(in srgb,var(--primary) 6%,#fff 94%);
  color:var(--primary);
  font-size:.63rem;
  font-weight:800;
}
.document-public-action a:hover{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
.document-public-action a:hover i{color:#fff!important;}
.document-public-empty{
  min-height:130px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px dashed var(--theme-border);
  border-radius:14px;
  color:#849188;
  background:#fff;
}
.document-public-empty i{
  color:var(--primary);
  font-size:1.5rem;
}
@media(max-width:767.98px){
  .document-public-toolbar{align-items:stretch;flex-direction:column;}
  .document-category-filter{min-width:0;width:100%;}
  .document-category-filter .form-select{flex:1;}
}
@media(max-width:575.98px){
  .document-public-row{
    grid-template-columns:42px minmax(0,1fr);
  }
  .document-public-action{
    grid-column:1/-1;
  }
  .document-public-action a{width:100%;}
}

/* v7.9 Alumni CAPTCHA */
.alumni-captcha-box{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--theme-border);border-radius:13px;background:color-mix(in srgb,var(--primary) 4%,#fff 96%)}
.alumni-captcha-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--primary);font-size:1.1rem;border:1px solid var(--theme-border)}
.alumni-captcha-copy{flex:1}.alumni-captcha-copy strong,.alumni-captcha-copy span{display:block}.alumni-captcha-copy strong{font-size:.78rem;color:#34463b}.alumni-captcha-copy span{font-size:.65rem;color:#859087;margin-top:2px}
.alumni-captcha-question{padding:8px 12px;border-radius:9px;background:var(--primary);color:#fff;font-weight:850;letter-spacing:.04em}.alumni-captcha-equals{font-weight:800;color:#728077}.alumni-captcha-input{width:76px!important;text-align:center;font-weight:800}
@media(max-width:575.98px){.alumni-captcha-box{flex-wrap:wrap}.alumni-captcha-copy{flex-basis:calc(100% - 58px)}}


/* v8.1 — dynamic identity in frontend header */
.main-nav .navbar-brand .brand-copy{
  min-width:0;
  max-width:390px;
  line-height:1.08;
}
.main-nav .navbar-brand .brand-copy strong{
  display:block;
  max-width:100%;
  color:#fff;
  font-size:.82rem;
  font-weight:850;
  line-height:1.18;
  letter-spacing:.025em;
  white-space:normal;
}
.main-nav .navbar-brand .brand-copy small{
  margin-top:4px;
  color:rgba(255,255,255,.74);
  font-size:.59rem;
  font-weight:700;
  letter-spacing:.08em;
}
@media(max-width:991.98px){
  .main-nav .navbar-brand .brand-copy{max-width:245px}
  .main-nav .navbar-brand .brand-copy strong{font-size:.72rem}
}
@media(max-width:575.98px){
  .main-nav .navbar-brand{max-width:80%}
  .main-nav .navbar-brand .brand-copy{max-width:210px}
  .main-nav .navbar-brand .brand-copy strong{font-size:.65rem}
  .main-nav .navbar-brand .brand-copy small{font-size:.52rem}
}


/* v8.2 — functional gallery preview + all gallery page */
.multimedia-preview-btn{
  margin-top:10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--primary) 20%,#e2e8e4 80%);
  border-radius:8px;
  background:#fff;
  color:var(--primary);
  font-size:.63rem;
  font-weight:850;
  cursor:pointer;
}
.multimedia-preview-btn:hover{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
.public-gallery-preview-modal .modal-content{
  border:0;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 65px rgba(23,40,31,.2);
}
.public-gallery-preview-modal .modal-header{
  padding:17px 20px;
  border-bottom:1px solid #edf1ee;
}
.public-gallery-preview-modal .modal-header small{
  display:block;
  margin-bottom:2px;
  color:var(--primary);
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.1em;
}
.public-gallery-preview-modal .modal-title{
  color:#324239;
  font-size:1rem;
  font-weight:850;
}
.public-gallery-modal-media{
  overflow:hidden;
  border-radius:13px;
  background:#f4f7f5;
}
.public-gallery-modal-media img{
  display:block;
  width:100%;
  max-height:65vh;
  object-fit:contain;
}
.public-gallery-modal-media video{
  display:block;
  width:100%;
  max-height:65vh;
  background:#111;
}
.public-gallery-modal-media iframe{border:0}
.public-gallery-modal-empty{
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#89958e;
}
.public-gallery-modal-empty i{font-size:2rem;color:var(--primary)}
.public-gallery-modal-caption{
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:10px;
  background:#f6f8f7;
  color:#68756d;
  font-size:.75rem;
  line-height:1.55;
}

.public-gallery-page{background:#fff}
.public-gallery-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:24px;
}
.public-gallery-toolbar>div:first-child>span{
  display:block;
  margin-bottom:3px;
  color:var(--primary);
  font-size:.61rem;
  font-weight:850;
  letter-spacing:.1em;
}
.public-gallery-toolbar h4{margin:0 0 5px;color:#304137;font-size:1.1rem;font-weight:850}
.public-gallery-toolbar p{margin:0;color:#7e8a82;font-size:.73rem}
.public-gallery-filter{display:flex;gap:7px;flex-wrap:wrap}
.public-gallery-filter a{
  padding:7px 11px;
  border:1px solid var(--theme-border);
  border-radius:8px;
  color:#68766d;
  background:#fff;
  font-size:.66rem;
  font-weight:800;
}
.public-gallery-filter a.active,.public-gallery-filter a:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.public-gallery-card{
  height:100%;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--primary) 11%,#e8ede9 89%);
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 18px rgba(28,52,38,.05);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.public-gallery-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(28,52,38,.09);border-color:color-mix(in srgb,var(--primary) 25%,#e8ede9 75%)}
.public-gallery-thumb{height:190px;position:relative;overflow:hidden;background:#f3f6f4}
.public-gallery-thumb img,.public-gallery-thumb video{width:100%;height:100%;object-fit:cover;display:block}
.public-gallery-video-poster,.public-gallery-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:color-mix(in srgb,var(--primary) 7%,#f5f7f6 93%);color:var(--primary)}
.public-gallery-video-poster i{font-size:2.3rem}.public-gallery-video-poster span{font-size:.68rem;font-weight:800}
.public-gallery-placeholder i{font-size:2rem}
.public-gallery-type{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:7px;background:rgba(255,255,255,.93);color:var(--primary);font-size:.58rem;font-weight:850}
.public-gallery-info{padding:15px}
.public-gallery-info h5{margin:0 0 6px;color:#34463b;font-size:.82rem;font-weight:850;line-height:1.4}
.public-gallery-info p{min-height:34px;margin:0 0 12px;color:#849087;font-size:.68rem;line-height:1.5}
.public-gallery-preview-btn{width:100%;display:flex;justify-content:center;align-items:center;gap:6px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--primary) 18%,#fff 82%);border-radius:8px;background:color-mix(in srgb,var(--primary) 5%,#fff 95%);color:var(--primary);font-size:.65rem;font-weight:850}
.public-gallery-preview-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.public-gallery-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--theme-border);border-radius:14px;color:#869189}
.public-gallery-empty i{font-size:1.8rem;color:var(--primary)}
@media(max-width:767.98px){.public-gallery-toolbar{align-items:stretch;flex-direction:column}}

/* v8.3 — gallery thumbnails/paging + public course schedule */
.public-gallery-video-poster.has-thumbnail{position:relative;overflow:hidden}
.public-gallery-video-poster.has-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-play-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,34,26,.18)}
.gallery-play-overlay i{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.94);color:var(--primary);font-size:1.35rem;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.public-gallery-preview-btn{width:auto!important;min-width:108px!important;display:inline-flex!important}
.gallery-pagination-summary{text-align:center;margin-top:30px;color:#87928b;font-size:.68rem}

.course-schedule-public{background:#fff}
.schedule-public-summary{display:flex;align-items:center;gap:16px;padding:19px 21px;margin-bottom:18px;border:1px solid var(--theme-border);border-radius:15px;background:color-mix(in srgb,var(--primary) 5%,#fff 95%)}
.schedule-summary-icon{width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;border-radius:13px;background:var(--primary);color:#fff;font-size:1.25rem}
.schedule-public-summary span{display:block;color:var(--primary);font-size:.6rem;font-weight:850;letter-spacing:.1em}.schedule-public-summary h4{margin:2px 0 4px;color:#33453a;font-size:1rem;font-weight:850}.schedule-public-summary p{margin:0;color:#7f8b83;font-size:.7rem}
.schedule-public-filter{display:grid;grid-template-columns:1fr 1fr .75fr auto;align-items:end;gap:10px;padding:16px 17px;margin-bottom:18px;border:1px solid #e7ece9;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(28,52,38,.045)}
.schedule-public-filter label{display:block;margin-bottom:5px;color:#5f6d64;font-size:.65rem;font-weight:800}.schedule-public-filter .form-select{font-size:.72rem}
.schedule-public-table-card{overflow:hidden;border:1px solid #e5ebe7;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(28,52,38,.055)}
.schedule-public-table-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:17px 19px;border-bottom:1px solid #edf1ee}.schedule-public-table-head span{display:block;color:var(--primary);font-size:.59rem;font-weight:850;letter-spacing:.1em}.schedule-public-table-head h4{margin:2px 0 0;color:#35463c;font-size:.96rem;font-weight:850}.schedule-public-table-head>small{color:#8a958e;font-size:.65rem}
.schedule-public-table{margin:0}.schedule-public-table thead th{padding:11px 14px;background:#f7f9f8;color:#647168;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e7ece9}.schedule-public-table td{padding:13px 14px;color:#56645b;font-size:.72rem;vertical-align:middle}.schedule-public-table td>strong,.schedule-public-table td>small{display:block}.schedule-public-table td>strong{color:#34463b;font-size:.76rem}.schedule-public-table td>small{margin-top:3px;color:#8a968e;font-size:.62rem}.schedule-time strong,.schedule-time span{display:block}.schedule-time strong{color:var(--primary);font-size:.74rem}.schedule-time span{margin-top:3px;color:#7e8a82;font-size:.63rem}.schedule-room{display:inline-flex;padding:5px 8px;border-radius:7px;background:var(--theme-soft);color:var(--primary);font-size:.64rem;font-weight:800}
.schedule-empty{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#87938b}.schedule-empty i{font-size:1.55rem;color:var(--primary)}
.schedule-pagination{padding:15px;border-top:1px solid #edf1ee}
@media(max-width:991.98px){.schedule-public-filter{grid-template-columns:1fr 1fr}.schedule-public-filter .btn{width:100%}}
@media(max-width:575.98px){.schedule-public-filter{grid-template-columns:1fr}.schedule-public-summary{align-items:flex-start}.schedule-public-table-head{align-items:flex-start;flex-direction:column}}


/* v8.5 — document filters/actions/paging and explicit schedule paging */
.document-public-actions{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
.document-public-actions a{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:78px;
  padding:7px 9px!important;
  border-radius:8px!important;
  font-size:.62rem!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.document-view-btn{
  border:1px solid var(--theme-border)!important;
  background:#fff!important;
  color:var(--primary)!important;
}
.document-view-btn:hover{
  background:var(--theme-soft)!important;
}
.document-download-btn{
  border:1px solid var(--primary)!important;
  background:var(--primary)!important;
  color:#fff!important;
}
.document-download-btn:hover{filter:brightness(.94)}
.document-no-file{font-size:.64rem;color:#96a099}
.document-page-summary,.schedule-page-summary{
  margin-top:20px;
  text-align:center;
  color:#87928b;
  font-size:.67rem;
}
.document-pagination{margin-top:12px}
.document-pagination .page-link,.schedule-pagination .page-link{
  color:var(--primary);
  border-color:#e3e9e5;
  font-size:.69rem;
  min-width:34px;
  text-align:center;
}
.document-pagination .page-item.active .page-link,
.schedule-pagination .page-item.active .page-link{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}
@media(max-width:767.98px){
  .document-public-row{align-items:flex-start}
  .document-public-actions{width:100%;justify-content:flex-start;margin-top:9px}
}


/* v8.6 — image-only hero banners */
.hero-slide-image-only{
  min-height:0!important;
  height:auto!important;
  background:none!important;
  padding:0!important;
  position:relative;
}
.hero-slide-image-only::before,
.hero-slide-image-only::after{
  display:none!important;
  content:none!important;
}
.hero-banner-full{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  background:#fff;
}
.hero-slide-image-only .hero-slide-content,
.hero-slide-image-only .medical-pattern{
  display:none!important;
}
@media(min-width:1200px){
  .hero-banner-full{width:100%;height:auto}
}
@media(max-width:767.98px){
  .hero-slide-image-only{min-height:0!important}
  .hero-banner-full{width:100%;height:auto;object-fit:contain}
}


/* v8.7 — sharper, cleaner SimpleCMS-style hero slider */
.hero-slide{
  min-height:520px;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:none!important;
  isolation:isolate;
}
.hero-slide[style*="background-image"]{
  /* Override the old heavy green gradient. Keep the original photo crisp. */
  background-blend-mode:normal!important;
}
.hero-slide::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(
    90deg,
    rgba(8,55,35,.68) 0%,
    rgba(8,55,35,.48) 34%,
    rgba(8,55,35,.16) 61%,
    rgba(8,55,35,.03) 100%
  )!important;
}
.hero-slide::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:auto 0 0!important;
  height:26%!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(0deg,rgba(8,45,30,.16),transparent)!important;
}
.hero-slide-content{
  position:relative!important;
  z-index:2!important;
  min-height:520px!important;
  display:flex!important;
  align-items:center!important;
}
.hero-slide-content .row{margin:0!important}
.hero-slide-content .col-xl-8{
  max-width:720px!important;
}
.hero-kicker{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  margin-bottom:13px!important;
  padding:6px 10px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:999px!important;
  background:rgba(7,58,36,.24)!important;
  backdrop-filter:blur(3px);
  color:#fff!important;
  font-size:.66rem!important;
  font-weight:800!important;
  letter-spacing:.09em!important;
}
.hero-slide h1{
  max-width:690px!important;
  margin:0 0 14px!important;
  color:#fff!important;
  font-size:clamp(2.15rem,4vw,4rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  font-weight:850!important;
  text-shadow:0 2px 14px rgba(0,0,0,.16)!important;
}
.hero-slide .lead{
  max-width:620px!important;
  margin-bottom:23px!important;
  color:rgba(255,255,255,.94)!important;
  font-size:clamp(.88rem,1.15vw,1.05rem)!important;
  line-height:1.6!important;
  text-shadow:0 1px 8px rgba(0,0,0,.16)!important;
}
.hero-slide .btn-medical-light{
  padding:11px 18px!important;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:9px!important;
  box-shadow:0 6px 18px rgba(0,0,0,.10)!important;
}
.medical-pattern{display:none!important}

/* Avoid the soft/washed-out look caused by old pseudo overlays. */
#heroCarousel .carousel-item,
#heroCarousel .hero-slide{
  opacity:1!important;
}
#heroCarousel .carousel-control-prev,
#heroCarousel .carousel-control-next{
  width:52px!important;
  opacity:.88!important;
}
#heroCarousel .carousel-control-prev-icon,
#heroCarousel .carousel-control-next-icon{
  width:36px!important;
  height:36px!important;
  padding:9px!important;
  border-radius:50%!important;
  background-size:46%!important;
  background-color:rgba(6,55,34,.42)!important;
  backdrop-filter:blur(3px);
}
#heroCarousel .carousel-indicators{
  bottom:15px!important;
  z-index:4!important;
}
#heroCarousel .carousel-indicators [data-bs-target]{
  width:7px!important;
  height:7px!important;
  margin:0 4px!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff!important;
  opacity:.48!important;
}
#heroCarousel .carousel-indicators .active{
  width:22px!important;
  border-radius:999px!important;
  opacity:1!important;
}

/* Image-only banners remain completely clean and unfiltered. */
.hero-slide-image-only::before,
.hero-slide-image-only::after{display:none!important}
.hero-slide-image-only .hero-banner-full{
  filter:none!important;
  opacity:1!important;
}

@media(max-width:991.98px){
  .hero-slide,.hero-slide-content{min-height:440px!important}
  .hero-slide-content .col-xl-8{max-width:610px!important}
}
@media(max-width:575.98px){
  .hero-slide,.hero-slide-content{min-height:390px!important}
  .hero-slide::before{
    background:linear-gradient(90deg,rgba(8,55,35,.69),rgba(8,55,35,.28))!important;
  }
  .hero-slide h1{font-size:2.05rem!important}
  .hero-kicker{font-size:.56rem!important}
}


/* v8.8 — plain clean hero, no green overlay */
.hero-slide::before,
.hero-slide::after{
  display:none!important;
  content:none!important;
  background:none!important;
}
.hero-slide{
  filter:none!important;
  opacity:1!important;
  background-blend-mode:normal!important;
}
.hero-slide-content{
  background:transparent!important;
}
.hero-slide h1,
.hero-slide .lead,
.hero-kicker{
  text-shadow:0 2px 10px rgba(0,0,0,.24)!important;
}
.hero-kicker{
  background:rgba(0,0,0,.18)!important;
  border-color:rgba(255,255,255,.28)!important;
}
.hero-slide .btn-medical-light{
  background:#fff!important;
  color:var(--primary)!important;
  border-color:#fff!important;
}
.medical-pattern{display:none!important}


/* v8.9 — pure image slider: no overlay, no title/tagline/button */
#fkHeroSlider .hero-slide-image-only{
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:none!important;
  background-image:none!important;
  background-color:transparent!important;
  background-blend-mode:normal!important;
  filter:none!important;
  opacity:1!important;
}
#fkHeroSlider .hero-slide-image-only::before,
#fkHeroSlider .hero-slide-image-only::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
#fkHeroSlider .hero-slide-image-only .hero-banner-full{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  transform:none!important;
}
#fkHeroSlider .hero-slide-image-only .hero-slide-content,
#fkHeroSlider .hero-slide-image-only .hero-kicker,
#fkHeroSlider .hero-slide-image-only h1,
#fkHeroSlider .hero-slide-image-only .lead,
#fkHeroSlider .hero-slide-image-only .btn,
#fkHeroSlider .hero-slide-image-only .medical-pattern{
  display:none!important;
}


/* v9.0 — fixed proportional pure-image hero slider */
#fkHeroSlider,
#fkHeroSlider .carousel-inner,
#fkHeroSlider .carousel-item{
  width:100%!important;
  overflow:hidden!important;
}

/* Desktop */
#fkHeroSlider .hero-slide-image-only{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:430px!important;
  min-height:430px!important;
  max-height:430px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#f4f7f5!important;
  filter:none!important;
  opacity:1!important;
}

#fkHeroSlider .hero-slide-image-only::before,
#fkHeroSlider .hero-slide-image-only::after{
  content:none!important;
  display:none!important;
}

#fkHeroSlider .hero-slide-image-only .hero-banner-full{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
}

/* Make controls compact and unobtrusive */
#fkHeroSlider .carousel-control-prev,
#fkHeroSlider .carousel-control-next{
  width:54px!important;
  opacity:.78!important;
}

#fkHeroSlider .carousel-control-prev-icon,
#fkHeroSlider .carousel-control-next-icon{
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  background-color:rgba(0,0,0,.22)!important;
  background-size:45%!important;
}

#fkHeroSlider .carousel-indicators{
  bottom:10px!important;
  margin-bottom:0!important;
}

#fkHeroSlider .carousel-indicators [data-bs-target]{
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  border:0!important;
  margin:0 4px!important;
  background:#fff!important;
  opacity:.55!important;
}

#fkHeroSlider .carousel-indicators .active{
  width:20px!important;
  border-radius:20px!important;
  opacity:1!important;
}

/* Tablet */
@media (max-width:991.98px){
  #fkHeroSlider .hero-slide-image-only{
    height:330px!important;
    min-height:330px!important;
    max-height:330px!important;
  }
}

/* Mobile */
@media (max-width:575.98px){
  #fkHeroSlider .hero-slide-image-only{
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }

  #fkHeroSlider .carousel-control-prev,
  #fkHeroSlider .carousel-control-next{
    width:38px!important;
  }

  #fkHeroSlider .carousel-control-prev-icon,
  #fkHeroSlider .carousel-control-next-icon{
    width:28px!important;
    height:28px!important;
  }
}


/* v9.1 — compact left overlay: subtitle + button only */
#fkHeroSlider .hero-slide-image-only .hero-mini-overlay{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:12px!important;
  position:absolute!important;
  left:clamp(28px,5vw,78px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:5!important;
  width:min(390px,38vw)!important;
  padding:18px 20px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:12px!important;
  background:rgba(15,25,21,.34)!important;
  -webkit-backdrop-filter:blur(4px)!important;
  backdrop-filter:blur(4px)!important;
  box-shadow:0 8px 26px rgba(0,0,0,.12)!important;
}
#fkHeroSlider .hero-slide-image-only .hero-mini-text{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(.9rem,1.15vw,1.08rem)!important;
  line-height:1.55!important;
  font-weight:600!important;
  letter-spacing:.005em!important;
  text-shadow:0 1px 4px rgba(0,0,0,.28)!important;
}
#fkHeroSlider .hero-slide-image-only .hero-mini-button{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:40px!important;
  padding:9px 15px!important;
  border:1px solid rgba(255,255,255,.92)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--primary)!important;
  font-size:.88rem!important;
  font-weight:750!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 4px 14px rgba(0,0,0,.10)!important;
}
#fkHeroSlider .hero-slide-image-only .hero-mini-button:hover{
  background:#fff!important;
  transform:translateY(-1px)!important;
}
@media(max-width:767.98px){
  #fkHeroSlider .hero-slide-image-only .hero-mini-overlay{
    left:18px!important;
    width:min(300px,72vw)!important;
    padding:13px 14px!important;
    gap:9px!important;
    border-radius:9px!important;
    background:rgba(15,25,21,.30)!important;
  }
  #fkHeroSlider .hero-slide-image-only .hero-mini-text{
    font-size:.78rem!important;
    line-height:1.45!important;
  }
  #fkHeroSlider .hero-slide-image-only .hero-mini-button{
    min-height:34px!important;
    padding:7px 11px!important;
    font-size:.76rem!important;
  }
}


/* v9.2 — overlay card includes title; banner image no longer cropped */
#fkHeroSlider .hero-slide-image-only{
  height:430px!important;
  min-height:430px!important;
  max-height:430px!important;
  background:#eef2ef!important;
}

/* Show the whole uploaded banner instead of cropping it with object-fit: cover */
#fkHeroSlider .hero-slide-image-only .hero-banner-full{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#eef2ef!important;
}

/* Overlay card */
#fkHeroSlider .hero-slide-image-only .hero-mini-overlay{
  width:min(410px,39vw)!important;
  padding:17px 19px!important;
  gap:8px!important;
  background:rgba(17,25,22,.46)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:12px!important;
  -webkit-backdrop-filter:blur(5px)!important;
  backdrop-filter:blur(5px)!important;
}

#fkHeroSlider .hero-slide-image-only .hero-mini-title{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(1.05rem,1.55vw,1.42rem)!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:-.015em!important;
  text-shadow:0 1px 5px rgba(0,0,0,.24)!important;
}

#fkHeroSlider .hero-slide-image-only .hero-mini-text{
  font-size:clamp(.78rem,.95vw,.92rem)!important;
  line-height:1.45!important;
  font-weight:500!important;
  color:rgba(255,255,255,.93)!important;
}

#fkHeroSlider .hero-slide-image-only .hero-mini-button{
  margin-top:3px!important;
}

@media(max-width:991.98px){
  #fkHeroSlider .hero-slide-image-only{
    height:330px!important;
    min-height:330px!important;
    max-height:330px!important;
  }
}

@media(max-width:575.98px){
  #fkHeroSlider .hero-slide-image-only{
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }

  #fkHeroSlider .hero-slide-image-only .hero-mini-overlay{
    left:14px!important;
    width:min(285px,74vw)!important;
    padding:11px 12px!important;
    gap:6px!important;
  }

  #fkHeroSlider .hero-slide-image-only .hero-mini-title{
    font-size:.93rem!important;
  }

  #fkHeroSlider .hero-slide-image-only .hero-mini-text{
    font-size:.70rem!important;
  }
}


/* v9.3 — full-width banner + green gradient overlay card */
#fkHeroSlider{
  width:100%!important;
  background:transparent!important;
}
#fkHeroSlider .carousel-inner,
#fkHeroSlider .carousel-item{
  width:100%!important;
  background:transparent!important;
}

/* Restore a wide/full hero presentation.
   cover intentionally fills the complete slider width. */
#fkHeroSlider .hero-slide-image-only{
  width:100%!important;
  height:430px!important;
  min-height:430px!important;
  max-height:430px!important;
  overflow:hidden!important;
  background:transparent!important;
}
#fkHeroSlider .hero-slide-image-only .hero-banner-full{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:transparent!important;
}

/* Green gradient card — only the card is overlaid, not the whole photo */
#fkHeroSlider .hero-slide-image-only .hero-mini-overlay{
  left:clamp(42px,6vw,105px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:min(470px,42vw)!important;
  padding:24px 25px 22px!important;
  gap:10px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:14px!important;
  background:linear-gradient(
    135deg,
    rgba(5,82,48,.91) 0%,
    rgba(15,126,70,.84) 58%,
    rgba(47,170,91,.73) 100%
  )!important;
  -webkit-backdrop-filter:blur(4px)!important;
  backdrop-filter:blur(4px)!important;
  box-shadow:0 14px 36px rgba(4,67,38,.20)!important;
}

#fkHeroSlider .hero-slide-image-only .hero-mini-title{
  color:#fff!important;
  font-size:clamp(1.28rem,1.8vw,1.72rem)!important;
  line-height:1.18!important;
  font-weight:800!important;
  text-shadow:none!important;
}
#fkHeroSlider .hero-slide-image-only .hero-mini-text{
  color:rgba(255,255,255,.92)!important;
  font-size:clamp(.82rem,1vw,.96rem)!important;
  line-height:1.5!important;
  font-weight:500!important;
  text-shadow:none!important;
}
#fkHeroSlider .hero-slide-image-only .hero-mini-button{
  margin-top:5px!important;
  min-height:40px!important;
  padding:9px 15px!important;
  background:#fff!important;
  color:#087443!important;
  border-color:#fff!important;
  border-radius:8px!important;
  box-shadow:0 5px 14px rgba(0,0,0,.10)!important;
}

/* Keep navigation inside the actual banner area */
#fkHeroSlider .carousel-control-prev,
#fkHeroSlider .carousel-control-next{
  z-index:7!important;
}

/* Tablet */
@media(max-width:991.98px){
  #fkHeroSlider .hero-slide-image-only{
    height:350px!important;
    min-height:350px!important;
    max-height:350px!important;
  }
  #fkHeroSlider .hero-slide-image-only .hero-mini-overlay{
    left:42px!important;
    width:min(410px,48vw)!important;
    padding:19px 20px!important;
  }
}

/* Mobile */
@media(max-width:575.98px){
  #fkHeroSlider .hero-slide-image-only{
    height:240px!important;
    min-height:240px!important;
    max-height:240px!important;
  }
  #fkHeroSlider .hero-slide-image-only .hero-banner-full{
    object-position:center center!important;
  }
  #fkHeroSlider .hero-slide-image-only .hero-mini-overlay{
    left:16px!important;
    width:min(285px,76vw)!important;
    padding:12px 13px!important;
    gap:6px!important;
    border-radius:10px!important;
  }
  #fkHeroSlider .hero-slide-image-only .hero-mini-title{
    font-size:.96rem!important;
  }
  #fkHeroSlider .hero-slide-image-only .hero-mini-text{
    font-size:.70rem!important;
    line-height:1.35!important;
  }
  #fkHeroSlider .hero-slide-image-only .hero-mini-button{
    min-height:32px!important;
    padding:6px 10px!important;
    font-size:.72rem!important;
  }
}


/* v9.4 — refined compact glass overlay */
#fkHeroSlider .hero-slide-image-only{
  height:430px!important;
  min-height:430px!important;
  max-height:430px!important;
}

#fkHeroSlider .hero-slide-image-only .hero-banner-full{
  object-fit:cover!important;
  object-position:center 52%!important;
}

/* Smaller, cleaner overlay that does not dominate the photo */
#fkHeroSlider .hero-slide-image-only .hero-mini-overlay{
  left:clamp(34px,5vw,82px)!important;
  top:auto!important;
  bottom:54px!important;
  transform:none!important;

  width:min(410px,36vw)!important;
  padding:18px 19px 17px!important;
  gap:8px!important;

  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:14px!important;

  background:
    linear-gradient(
      120deg,
      rgba(4,78,46,.82) 0%,
      rgba(8,113,61,.70) 58%,
      rgba(24,144,78,.54) 100%
    )!important;

  -webkit-backdrop-filter:blur(7px) saturate(120%)!important;
  backdrop-filter:blur(7px) saturate(120%)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.16)!important;
}

/* subtle accent */
#fkHeroSlider .hero-slide-image-only .hero-mini-overlay::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  top:17px!important;
  bottom:17px!important;
  width:3px!important;
  border-radius:0 6px 6px 0!important;
  background:rgba(255,255,255,.82)!important;
}

#fkHeroSlider .hero-slide-image-only .hero-mini-title{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(1.12rem,1.52vw,1.48rem)!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:-.018em!important;
  text-shadow:0 1px 3px rgba(0,0,0,.10)!important;
}

#fkHeroSlider .hero-slide-image-only .hero-mini-text{
  margin:0!important;
  color:rgba(255,255,255,.88)!important;
  font-size:clamp(.77rem,.90vw,.89rem)!important;
  line-height:1.45!important;
  font-weight:450!important;
  text-shadow:none!important;
}

/* Compact premium-looking CTA */
#fkHeroSlider .hero-slide-image-only .hero-mini-button{
  margin-top:5px!important;
  min-height:36px!important;
  padding:8px 13px!important;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.95)!important;
  color:#087443!important;
  font-size:.82rem!important;
  font-weight:750!important;
  box-shadow:none!important;
  transition:transform .18s ease, background .18s ease!important;
}

@media (hover:hover){
  #fkHeroSlider .hero-slide-image-only .hero-mini-button:hover{
    background:#fff!important;
    transform:translateY(-1px)!important;
  }
}

/* Softer controls */
#fkHeroSlider .carousel-control-prev,
#fkHeroSlider .carousel-control-next{
  width:46px!important;
  opacity:.68!important;
}

#fkHeroSlider .carousel-control-prev-icon,
#fkHeroSlider .carousel-control-next-icon{
  width:30px!important;
  height:30px!important;
  background-color:rgba(0,0,0,.16)!important;
}

#fkHeroSlider .carousel-indicators{
  bottom:12px!important;
}

#fkHeroSlider .carousel-indicators [data-bs-target]{
  width:6px!important;
  height:6px!important;
  margin:0 4px!important;
  opacity:.55!important;
}
#fkHeroSlider .carousel-indicators .active{
  width:18px!important;
  opacity:.95!important;
}

/* Tablet */
@media(max-width:991.98px){
  #fkHeroSlider .hero-slide-image-only{
    height:350px!important;
    min-height:350px!important;
    max-height:350px!important;
  }

  #fkHeroSlider .hero-slide-image-only .hero-mini-overlay{
    left:32px!important;
    bottom:40px!important;
    width:min(360px,46vw)!important;
    padding:16px 17px!important;
  }
}

/* Mobile */
@media(max-width:575.98px){
  #fkHeroSlider .hero-slide-image-only{
    height:245px!important;
    min-height:245px!important;
    max-height:245px!important;
  }

  #fkHeroSlider .hero-slide-image-only .hero-banner-full{
    object-position:center center!important;
  }

  #fkHeroSlider .hero-slide-image-only .hero-mini-overlay{
    left:14px!important;
    bottom:28px!important;
    width:min(280px,78vw)!important;
    padding:11px 12px!important;
    gap:5px!important;
    border-radius:10px!important;
    -webkit-backdrop-filter:blur(5px)!important;
    backdrop-filter:blur(5px)!important;
  }

  #fkHeroSlider .hero-slide-image-only .hero-mini-overlay::before{
    top:10px!important;
    bottom:10px!important;
    width:2px!important;
  }

  #fkHeroSlider .hero-slide-image-only .hero-mini-title{
    font-size:.92rem!important;
    line-height:1.2!important;
  }

  #fkHeroSlider .hero-slide-image-only .hero-mini-text{
    font-size:.68rem!important;
    line-height:1.35!important;
  }

  #fkHeroSlider .hero-slide-image-only .hero-mini-button{
    min-height:30px!important;
    padding:6px 9px!important;
    font-size:.69rem!important;
  }
}


/* v9.5 — premium FKIK hero inspired by the approved visual direction */
#fkHeroSlider .hero-slide-image-only{
  height:470px!important;
  min-height:470px!important;
  max-height:470px!important;
  background:#073d27!important;
}
#fkHeroSlider .hero-slide-image-only .hero-banner-full{
  object-fit:cover!important;
  object-position:center center!important;
}

/* subtle left-side tonal support, not a full-photo overlay */
#fkHeroSlider .hero-slide-image-only::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(
    90deg,
    rgba(2,48,29,.35) 0%,
    rgba(2,48,29,.12) 30%,
    rgba(2,48,29,0) 55%
  )!important;
}

#fkHeroSlider .hero-premium-panel{
  position:absolute!important;
  z-index:5!important;
  left:clamp(42px,4.7vw,78px)!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:min(500px,42vw)!important;
  padding:25px 27px 24px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:16px!important;
  background:linear-gradient(
    145deg,
    rgba(3,64,38,.91) 0%,
    rgba(4,80,45,.84) 55%,
    rgba(10,101,55,.70) 100%
  )!important;
  -webkit-backdrop-filter:blur(9px) saturate(115%)!important;
  backdrop-filter:blur(9px) saturate(115%)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.20)!important;
}

#fkHeroSlider .hero-premium-line{
  display:block!important;
  width:54px!important;
  height:3px!important;
  margin:0 0 14px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#b8dd31,#60c567)!important;
}

#fkHeroSlider .hero-premium-title{
  max-width:440px!important;
  color:#fff!important;
  font-size:clamp(1.55rem,2.25vw,2.25rem)!important;
  line-height:1.12!important;
  font-weight:850!important;
  letter-spacing:-.035em!important;
}
#fkHeroSlider .hero-premium-text{
  max-width:430px!important;
  margin-top:12px!important;
  color:rgba(255,255,255,.89)!important;
  font-size:clamp(.82rem,.95vw,.94rem)!important;
  line-height:1.55!important;
  font-weight:450!important;
}

#fkHeroSlider .hero-premium-features{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  margin:18px 0 17px!important;
  padding:15px 0 0!important;
  border-top:1px solid rgba(255,255,255,.15)!important;
}
#fkHeroSlider .hero-premium-features>div{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  padding:0 11px!important;
  border-right:1px solid rgba(255,255,255,.13)!important;
}
#fkHeroSlider .hero-premium-features>div:first-child{padding-left:0!important}
#fkHeroSlider .hero-premium-features>div:last-child{
  padding-right:0!important;
  border-right:0!important;
}
#fkHeroSlider .hero-premium-features i{
  color:#b8dd31!important;
  font-size:1.25rem!important;
}
#fkHeroSlider .hero-premium-features span{
  color:rgba(255,255,255,.86)!important;
  font-size:.66rem!important;
  line-height:1.25!important;
  font-weight:600!important;
}

#fkHeroSlider .hero-premium-button{
  display:inline-flex!important;
  align-items:center!important;
  gap:13px!important;
  min-height:40px!important;
  padding:8px 10px 8px 16px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#a8d832,#62c766)!important;
  color:#073d27!important;
  text-decoration:none!important;
  font-size:.82rem!important;
  font-weight:800!important;
  box-shadow:0 7px 18px rgba(0,0,0,.13)!important;
}
#fkHeroSlider .hero-premium-button i{
  display:grid!important;
  place-items:center!important;
  width:27px!important;
  height:27px!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#087443!important;
}

/* refined carousel controls */
#fkHeroSlider .carousel-control-prev,
#fkHeroSlider .carousel-control-next{
  z-index:8!important;
  width:48px!important;
  opacity:.78!important;
}
#fkHeroSlider .carousel-control-prev-icon,
#fkHeroSlider .carousel-control-next-icon{
  width:34px!important;
  height:34px!important;
  border:1px solid rgba(255,255,255,.55)!important;
  background-color:rgba(0,0,0,.30)!important;
}
#fkHeroSlider .carousel-indicators{z-index:8!important}

/* hide obsolete v9.4 overlay if cached markup ever exists */
#fkHeroSlider .hero-mini-overlay{display:none!important}

@media(max-width:991.98px){
  #fkHeroSlider .hero-slide-image-only{
    height:390px!important;
    min-height:390px!important;
    max-height:390px!important;
  }
  #fkHeroSlider .hero-premium-panel{
    left:32px!important;
    width:min(455px,50vw)!important;
    padding:20px 21px!important;
  }
  #fkHeroSlider .hero-premium-features span{font-size:.59rem!important}
}

@media(max-width:575.98px){
  #fkHeroSlider .hero-slide-image-only{
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
  }
  #fkHeroSlider .hero-slide-image-only::before{
    background:linear-gradient(90deg,rgba(2,48,29,.38),rgba(2,48,29,.04))!important;
  }
  #fkHeroSlider .hero-premium-panel{
    left:14px!important;
    width:min(285px,78vw)!important;
    padding:13px 14px!important;
    border-radius:12px!important;
  }
  #fkHeroSlider .hero-premium-line{
    width:38px!important;height:2px!important;margin-bottom:8px!important;
  }
  #fkHeroSlider .hero-premium-title{
    font-size:1.03rem!important;line-height:1.16!important;
  }
  #fkHeroSlider .hero-premium-text{
    margin-top:7px!important;font-size:.67rem!important;line-height:1.35!important;
  }
  #fkHeroSlider .hero-premium-features{
    margin:10px 0!important;padding-top:9px!important;
  }
  #fkHeroSlider .hero-premium-features>div{
    grid-template-columns:1fr!important;
    gap:2px!important;padding:0 6px!important;
  }
  #fkHeroSlider .hero-premium-features i{font-size:.9rem!important}
  #fkHeroSlider .hero-premium-features span{font-size:.49rem!important}
  #fkHeroSlider .hero-premium-button{
    min-height:31px!important;padding:5px 7px 5px 11px!important;font-size:.66rem!important;
  }
  #fkHeroSlider .hero-premium-button i{width:21px!important;height:21px!important}
}


/* v9.6 — shift hero content slightly left and lower */
#fkHeroSlider .hero-premium-panel{
  left:clamp(24px,3.2vw,52px)!important;
  top:54%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
}

@media(max-width:991.98px){
  #fkHeroSlider .hero-premium-panel{
    left:24px!important;
    top:54%!important;
  }
}

@media(max-width:575.98px){
  #fkHeroSlider .hero-premium-panel{
    left:10px!important;
    top:55%!important;
  }
}


/* v9.7 — lighter green header only */
.site-topbar{
  background:linear-gradient(90deg,#126b49 0%,#198754 55%,#26965f 100%)!important;
}

.site-navbar,
.navbar-medical{
  background:linear-gradient(
    100deg,
    #126b49 0%,
    #178052 48%,
    #32a866 100%
  )!important;
}

/* Keep text/logo readable on the lighter header */
.site-navbar .navbar-brand,
.site-navbar .nav-link,
.navbar-medical .navbar-brand,
.navbar-medical .nav-link{
  color:#fff!important;
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus,
.site-navbar .nav-link.active,
.navbar-medical .nav-link:hover,
.navbar-medical .nav-link:focus,
.navbar-medical .nav-link.active{
  color:#e9ffd9!important;
}

/* Dropdown stays clean and bright */
.site-navbar .dropdown-menu,
.navbar-medical .dropdown-menu{
  background:#fff!important;
  border-color:rgba(13,110,67,.12)!important;
}
.site-navbar .dropdown-item,
.navbar-medical .dropdown-item{
  color:#244237!important;
}
.site-navbar .dropdown-item:hover,
.navbar-medical .dropdown-item:hover{
  background:#edf8f1!important;
  color:#0c7846!important;
}


/* v9.8 — ACTUAL public header selectors: brighter green */
.topbar{
  background:linear-gradient(90deg,#168456 0%,#21965f 55%,#35aa69 100%)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}
.main-nav{
  background:linear-gradient(105deg,#14784f 0%,#1b8b58 38%,#27a363 72%,#45b873 100%)!important;
  box-shadow:0 6px 20px rgba(10,92,55,.15)!important;
}
.main-nav .nav-link,
.main-nav .navbar-brand strong{
  color:#fff!important;
}
.main-nav .navbar-brand small{
  color:rgba(255,255,255,.86)!important;
}
.main-nav .nav-link:hover,
.main-nav .nav-link:focus,
.main-nav .nav-link.active{
  color:#efffdc!important;
}


/* v9.9 — header: bright left, slightly darker right */
.topbar{
  background:linear-gradient(
    90deg,
    #168456 0%,
    #1d925b 42%,
    #16794f 72%,
    #116642 100%
  )!important;
}
.main-nav{
  background:linear-gradient(
    105deg,
    #218f5b 0%,
    #279f62 38%,
    #1c8755 70%,
    #126b47 100%
  )!important;
}


/* v10.0 — balanced header: left slightly darker, right darker */
.topbar{
  background:linear-gradient(
    90deg,
    #126f49 0%,
    #1a8a56 38%,
    #177c50 70%,
    #116642 100%
  )!important;
}
.main-nav{
  background:linear-gradient(
    105deg,
    #197c50 0%,
    #24965d 38%,
    #1c8554 70%,
    #126b47 100%
  )!important;
}


/* v10.1 — left side darker, center remains fresh green */
.topbar{
  background:linear-gradient(
    90deg,
    #0b5238 0%,
    #126b47 24%,
    #1b8654 52%,
    #17794e 74%,
    #105f40 100%
  )!important;
}
.main-nav{
  background:linear-gradient(
    105deg,
    #0b5639 0%,
    #126c47 25%,
    #208b57 52%,
    #1a7d50 74%,
    #105f40 100%
  )!important;
}


/* v10.3 — compact news typography + flag language selector */
.news-slide-item .news-card h5{
  font-size:.92rem!important;
  line-height:1.38!important;
  min-height:4.14em!important;
}
.news-slide-item .news-card p{
  font-size:.79rem!important;
  line-height:1.55!important;
  min-height:6.2em!important;
}
.news-slide-item .news-card .p-4{
  padding:19px!important;
}

/* Header language trigger uses a flag instead of a long text label. */
.language-picker-btn{
  min-width:44px!important;
  padding-left:9px!important;
  padding-right:8px!important;
  justify-content:center!important;
  gap:5px!important;
}
.language-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:25px;
  min-width:25px;
  font-size:1.18rem;
  line-height:1;
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
}
.active-language-flag{
  width:24px;
  min-width:24px;
  font-size:1.12rem;
}
.language-menu-custom .language-flag{
  margin-right:3px;
}


/* v10.4 — reliable CSS flags; no dependency on emoji fonts */
.language-flag{
  position:relative;
  display:inline-block!important;
  width:27px!important;
  min-width:27px!important;
  height:18px!important;
  flex:0 0 27px!important;
  overflow:hidden;
  border-radius:3px;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 1px 4px rgba(0,0,0,.18);
  vertical-align:middle;
  font-size:0!important;
}
.flag-id{
  background:linear-gradient(to bottom,#e31d2b 0 50%,#fff 50% 100%)!important;
}
/* Compact UK flag approximation built entirely with CSS */
.flag-en{
  background:
    linear-gradient(33deg,transparent 43%,#fff 43% 48%,#cf142b 48% 52%,#fff 52% 57%,transparent 57%),
    linear-gradient(-33deg,transparent 43%,#fff 43% 48%,#cf142b 48% 52%,#fff 52% 57%,transparent 57%),
    linear-gradient(to right,transparent 39%,#fff 39% 45%,#cf142b 45% 55%,#fff 55% 61%,transparent 61%),
    linear-gradient(to bottom,transparent 34%,#fff 34% 42%,#cf142b 42% 58%,#fff 58% 66%,transparent 66%),
    #21468b!important;
}
.language-menu-custom .language-flag{
  border-color:#d8e3dc;
  box-shadow:0 1px 3px rgba(0,0,0,.10);
}
.language-picker-btn .active-language-flag{
  margin:0!important;
}


/* v10.5 — label before language flag */
.language-picker-btn{
  min-width:auto!important;
  padding-left:10px!important;
  padding-right:9px!important;
  gap:7px!important;
}
.language-picker-label{
  display:inline-block;
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  white-space:nowrap;
  letter-spacing:.01em;
}
@media(max-width:575.98px){
  .language-picker-label{
    font-size:.62rem;
  }
}


/* v10.7 — homepage cards and news action refinements */

/* Cards directly below hero: stronger green gradient, still clean/readable */
.quick-services .quick-card{
  background:
    radial-gradient(circle at 92% 10%,
      rgba(255,255,255,.22),
      transparent 34%),
    linear-gradient(145deg,
      color-mix(in srgb,var(--primary) 84%,#ffffff 16%) 0%,
      color-mix(in srgb,var(--primary) 70%,var(--secondary) 30%) 58%,
      color-mix(in srgb,var(--secondary) 82%,#ffffff 18%) 100%)!important;
  border-color:color-mix(in srgb,var(--primary) 58%,transparent)!important;
  color:#fff!important;
}
.quick-services .quick-card h5,
.quick-services .quick-card p,
.quick-services .quick-card small{
  color:#fff!important;
}
.quick-services .quick-card i{
  color:#fff!important;
}
.quick-services .quick-card .quick-link,
.quick-services .quick-card a{
  color:#fff!important;
}

/* Lift "Lihat Informasi" so it never sits too close to/clips at card bottom */
.quick-services .quick-card{
  padding-bottom:20px!important;
}
.quick-services .quick-card > a:last-child,
.quick-services .quick-card .quick-link{
  position:relative;
  bottom:auto!important;
  margin-top:10px!important;
  margin-bottom:4px!important;
  transform:translateY(-3px);
}

/* "Lihat Semua Berita": no box, theme-green text, right aligned */
.all-news-button{
  padding:4px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--primary)!important;
  font-size:.78rem!important;
  font-weight:850!important;
}
.all-news-button i{
  width:auto!important;
  height:auto!important;
  display:inline-block!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--primary)!important;
  font-size:.9rem!important;
}
.all-news-button:hover{
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  color:var(--theme-deep)!important;
}
.all-news-button:hover i{
  color:var(--theme-deep)!important;
  transform:translateX(3px)!important;
}

/* Keep the news action on the right on desktop AND mobile. */
.home-news-heading{
  width:100%!important;
}
.home-news-heading .all-news-button{
  margin-left:auto!important;
  align-self:flex-end!important;
}
@media(max-width:991.98px){
  .home-news-heading{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .home-news-heading>div{
    min-width:0;
    flex:1 1 auto;
  }
  .home-news-heading .all-news-button{
    flex:0 0 auto;
    margin-left:auto!important;
    align-self:flex-end!important;
    text-align:right!important;
  }
}
@media(max-width:575.98px){
  .quick-services .quick-card{
    padding-bottom:18px!important;
  }
  .quick-services .quick-card > a:last-child,
  .quick-services .quick-card .quick-link{
    margin-top:8px!important;
    margin-bottom:5px!important;
    transform:translateY(-5px);
  }
  .home-news-heading{
    flex-direction:row!important;
    align-items:flex-end!important;
  }
  .home-news-heading>div>p{
    display:none;
  }
  .home-news-heading .all-news-button{
    margin-left:auto!important;
    padding-bottom:3px!important;
    white-space:nowrap;
    font-size:.72rem!important;
  }
}


/* v10.8 — restore contrast on green quick-service cards */
.quick-services .quick-card > i{
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.quick-services .quick-card > b{
  color:#fff!important;
}
.quick-services .quick-card > span{
  color:rgba(255,255,255,.88)!important;
}
.quick-services .quick-card .quick-card-more,
.quick-services .quick-card .quick-card-more i{
  color:#fff!important;
}
.quick-services .quick-card .quick-card-more{
  margin-top:auto!important;
  margin-bottom:5px!important;
  transform:translateY(-4px)!important;
}

/* Mobile: keep content safely inside the card */
@media(max-width:575.98px){
  .quick-services .quick-card > i{
    background:rgba(255,255,255,.15)!important;
    color:#fff!important;
  }
  .quick-services .quick-card > b{
    color:#fff!important;
  }
  .quick-services .quick-card > span{
    color:rgba(255,255,255,.88)!important;
  }
  .quick-services .quick-card .quick-card-more{
    color:#fff!important;
    margin-bottom:8px!important;
    transform:translateY(-6px)!important;
  }
  .quick-services .quick-card .quick-card-more i{
    color:#fff!important;
  }
}


/* v10.9 — keep quick cards green on hover + solid green all-news button */
.quick-services .quick-card:hover{
  background:
    radial-gradient(circle at 92% 10%,
      rgba(255,255,255,.27),
      transparent 34%),
    linear-gradient(145deg,
      color-mix(in srgb,var(--primary) 88%,#ffffff 12%) 0%,
      color-mix(in srgb,var(--primary) 74%,var(--secondary) 26%) 58%,
      color-mix(in srgb,var(--secondary) 86%,#ffffff 14%) 100%)!important;
  border-color:rgba(255,255,255,.34)!important;
  box-shadow:0 16px 32px color-mix(in srgb,var(--primary) 24%,transparent)!important;
  color:#fff!important;
}
.quick-services .quick-card:hover > i{
  background:rgba(255,255,255,.20)!important;
  border-color:rgba(255,255,255,.34)!important;
  color:#fff!important;
}
.quick-services .quick-card:hover > b{
  color:#fff!important;
}
.quick-services .quick-card:hover > span{
  color:rgba(255,255,255,.91)!important;
}
.quick-services .quick-card:hover .quick-card-more,
.quick-services .quick-card:hover .quick-card-more i{
  color:#fff!important;
}

/* Restore a compact solid-green action button for all news. */
.all-news-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  padding:9px 14px!important;
  border:1px solid var(--primary)!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary))!important;
  color:#fff!important;
  box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 18%,transparent)!important;
  font-size:.75rem!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.all-news-button i{
  width:auto!important;
  height:auto!important;
  display:inline-block!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:.85rem!important;
}
.all-news-button:hover{
  background:linear-gradient(135deg,var(--primary),var(--secondary))!important;
  border-color:var(--primary)!important;
  color:#fff!important;
  box-shadow:0 9px 20px color-mix(in srgb,var(--primary) 25%,transparent)!important;
  transform:translateY(-1px)!important;
}
.all-news-button:hover i{
  color:#fff!important;
  transform:translateX(3px)!important;
}
@media(max-width:575.98px){
  .home-news-heading .all-news-button{
    margin-left:auto!important;
    align-self:flex-end!important;
    padding:8px 11px!important;
    color:#fff!important;
    font-size:.68rem!important;
  }
  .home-news-heading .all-news-button i{
    color:#fff!important;
  }
}


/* v11.0 — brighter all-news button + force white text against legacy link rules */
a.all-news-button,
a.all-news-button:link,
a.all-news-button:visited,
a.all-news-button:active,
a.all-news-button:focus{
  background:linear-gradient(135deg,#27a85f 0%,#39bd70 100%)!important;
  border-color:#39bd70!important;
  color:#ffffff!important;
  text-decoration:none!important;
}
a.all-news-button span,
a.all-news-button i,
a.all-news-button:link span,
a.all-news-button:visited span,
a.all-news-button:focus span,
a.all-news-button:active span{
  color:#ffffff!important;
}
a.all-news-button:hover{
  background:linear-gradient(135deg,#31b968 0%,#4acb7c 100%)!important;
  border-color:#4acb7c!important;
  color:#ffffff!important;
}
a.all-news-button:hover span,
a.all-news-button:hover i{
  color:#ffffff!important;
}


/* v11.8 — Berita Fakultas: 6-column cards (2 per row) + tighter read-more spacing */
@media(min-width:992px){
  .home-news-track .news-slide-item{
    flex:0 0 calc(50% - 9px)!important;
  }
}

/* Remove artificial tall-card spacing that pushed the CTA to the bottom. */
.home-news-track .news-slide-item .news-card{
  min-height:0!important;
  height:auto!important;
}
.home-news-track .news-slide-item .news-card .p-4{
  flex:1 1 auto!important;
}
.home-news-track .news-slide-item .news-card p{
  min-height:0!important;
  margin-bottom:0!important;
  -webkit-line-clamp:4!important;
}
.home-news-track .news-slide-item .news-card .home-news-read,
.home-news-track .news-slide-item .news-card .p-4 > a{
  margin-top:12px!important;
  align-self:flex-start!important;
}

/* Keep cards balanced and compact on tablet/mobile too. */
@media(max-width:991.98px){
  .home-news-track .news-slide-item .news-card{
    min-height:0!important;
  }
  .home-news-track .news-slide-item .news-card .home-news-read{
    margin-top:10px!important;
  }
}




/* v12.0 — restore balanced homepage news + sidebar, keep 6 latest news in slider */
.home-news-main-column,
.home-latest-column{
  display:block!important;
}

.home-news-shell{
  overflow:hidden!important;
}

.home-news-track{
  display:flex!important;
  gap:16px!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  scrollbar-width:none!important;
  padding-bottom:2px!important;
}
.home-news-track::-webkit-scrollbar{
  display:none!important;
}

@media(min-width:1200px){
  .home-news-track .news-slide-item{
    flex:0 0 calc((100% - 32px)/3)!important;
    width:calc((100% - 32px)/3)!important;
    min-width:calc((100% - 32px)/3)!important;
    scroll-snap-align:start!important;
  }
}

@media(min-width:992px) and (max-width:1199.98px){
  .home-news-track .news-slide-item{
    flex:0 0 calc((100% - 16px)/2)!important;
    width:calc((100% - 16px)/2)!important;
    min-width:calc((100% - 16px)/2)!important;
    scroll-snap-align:start!important;
  }
}

@media(min-width:576px) and (max-width:991.98px){
  .home-news-track .news-slide-item{
    flex:0 0 calc((100% - 16px)/2)!important;
    width:calc((100% - 16px)/2)!important;
    min-width:calc((100% - 16px)/2)!important;
    scroll-snap-align:start!important;
  }
}

@media(max-width:575.98px){
  .home-news-track .news-slide-item{
    flex:0 0 88%!important;
    width:88%!important;
    min-width:88%!important;
    scroll-snap-align:start!important;
  }
}

/* Compact cards without shrinking them excessively */
.home-news-track .news-card{
  height:100%!important;
  min-height:0!important;
}
.home-news-track .home-news-image-wrap{
  height:210px!important;
}
.home-news-track .news-card .p-4{
  padding:18px!important;
}
.home-news-track .news-card h5{
  font-size:.96rem!important;
  line-height:1.42!important;
  min-height:4.1em!important;
}
.home-news-track .news-card p{
  font-size:.82rem!important;
  line-height:1.56!important;
  min-height:0!important;
  margin-bottom:0!important;
  display:-webkit-box!important;
  -webkit-line-clamp:4!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.home-news-track .home-news-read{
  margin-top:12px!important;
  font-size:.82rem!important;
}

/* Restore slider arrows and sidebar widget */
.home-news-shell > .home-slider-nav{
  display:flex!important;
}
.home-latest-column .home-latest-news-widget{
  display:block!important;
}

@media(max-width:991.98px){
  .home-latest-column{
    margin-top:20px!important;
  }
  .home-news-track .home-news-image-wrap{
    height:190px!important;
  }
}

@media(max-width:575.98px){
  .home-news-track .home-news-image-wrap{
    height:200px!important;
  }
  .home-news-track .news-card .p-4{
    padding:16px!important;
  }
}


/* v12.1 — restore premium public-document card/thumbnail */
.document-preview-track{
  min-height:350px!important;
  gap:16px!important;
}
.document-preview-item{
  flex:0 0 260px!important;
  border:1px solid color-mix(in srgb,var(--primary) 18%,#e8eeea 82%)!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 8px 22px rgba(25,65,45,.07)!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.document-preview-item:hover{
  transform:translateY(-4px)!important;
  border-color:color-mix(in srgb,var(--primary) 36%,#dfe9e3 64%)!important;
  box-shadow:0 15px 32px rgba(25,65,45,.13)!important;
}

.document-card-cover{
  position:relative!important;
  height:225px!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  color:#fff!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.20),transparent 28%),
    linear-gradient(145deg,var(--theme-deep) 0%,var(--primary) 58%,var(--secondary) 100%)!important;
}
.document-card-cover::before{
  content:""!important;
  position:absolute!important;
  width:150px!important;
  height:150px!important;
  right:-58px!important;
  bottom:-72px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:50%!important;
}
.document-card-cover::after{
  content:""!important;
  position:absolute!important;
  width:92px!important;
  height:92px!important;
  right:-18px!important;
  bottom:-38px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:50%!important;
}
.document-cover-top,
.document-cover-body,
.document-cover-footer{
  position:relative!important;
  z-index:2!important;
}
.document-cover-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.document-cover-icon{
  width:42px!important;
  height:42px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  color:#fff!important;
  font-size:1.2rem!important;
}
.document-cover-badge{
  max-width:145px!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--theme-deep)!important;
  font-size:.56rem!important;
  line-height:1.15!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.document-cover-body small{
  display:block!important;
  margin-bottom:7px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:.55rem!important;
  font-weight:800!important;
  letter-spacing:.14em!important;
}
.document-cover-body strong{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  margin-bottom:8px!important;
  color:#fff!important;
  font-size:.88rem!important;
  line-height:1.35!important;
  font-weight:850!important;
}
.document-cover-body span{
  display:block!important;
  color:rgba(255,255,255,.82)!important;
  font-size:.58rem!important;
  line-height:1.45!important;
}
.document-cover-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:rgba(255,255,255,.84)!important;
  font-size:.56rem!important;
  font-weight:750!important;
}
.document-cover-footer>i{
  color:#fff!important;
  font-size:1.28rem!important;
}
.document-preview-info{
  padding:14px 14px 15px!important;
  background:#fff!important;
}
.document-preview-info>small{
  margin-bottom:4px!important;
  font-size:.58rem!important;
  font-weight:850!important;
}
.document-preview-info h6{
  min-height:38px!important;
  margin:4px 0 10px!important;
  color:#254237!important;
  font-size:.78rem!important;
  line-height:1.42!important;
  font-weight:850!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.document-actions{
  display:flex!important;
  gap:8px!important;
}
.document-actions a{
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  border-radius:8px!important;
  font-size:.62rem!important;
  font-weight:850!important;
}
.document-actions a:first-child{
  background:var(--theme-soft)!important;
}
.document-actions a:hover{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary))!important;
  color:#fff!important;
}

@media(max-width:575.98px){
  .document-preview-item{
    flex-basis:235px!important;
  }
  .document-card-cover{
    height:205px!important;
    padding:15px!important;
  }
}


/* v12.2 — prevent right-most public document card from being clipped */
.flat-slider-shell{
  position:relative!important;
  overflow:visible!important;
}

.document-preview-track{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding-left:4px!important;
  padding-right:22px!important;
  scroll-padding-left:4px!important;
  scroll-padding-right:22px!important;
}

.document-preview-track .document-preview-item{
  flex-shrink:0!important;
}

@media(min-width:992px){
  .document-preview-track{
    padding-right:28px!important;
  }
}

@media(max-width:575.98px){
  .document-preview-track{
    padding-left:2px!important;
    padding-right:18px!important;
  }
}


/* v12.3 — public documents: full cards only, no clipped card at right */
.document-preview-track{
  gap:16px!important;
  padding-left:2px!important;
  padding-right:2px!important;
  scroll-padding-left:2px!important;
  scroll-padding-right:2px!important;
}

@media(min-width:1200px){
  .document-preview-track .document-preview-item{
    flex:0 0 calc((100% - 32px)/3)!important;
    width:calc((100% - 32px)/3)!important;
    min-width:calc((100% - 32px)/3)!important;
    max-width:calc((100% - 32px)/3)!important;
  }
}

@media(min-width:768px) and (max-width:1199.98px){
  .document-preview-track .document-preview-item{
    flex:0 0 calc((100% - 16px)/2)!important;
    width:calc((100% - 16px)/2)!important;
    min-width:calc((100% - 16px)/2)!important;
    max-width:calc((100% - 16px)/2)!important;
  }
}

@media(max-width:767.98px){
  .document-preview-track .document-preview-item{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
  }
}

/* Force cover icons to remain visible over green background */
.document-card-cover .document-cover-icon,
.document-card-cover .document-cover-icon i,
.document-card-cover .document-cover-footer,
.document-card-cover .document-cover-footer i,
.document-card-cover .document-cover-footer span,
.document-card-cover .document-cover-footer span i{
  color:#fff!important;
}

.document-card-cover .document-cover-icon i{
  display:inline-block!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:1.35rem!important;
  line-height:1!important;
}

.document-card-cover .document-cover-footer>i{
  display:inline-block!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:1.4rem!important;
}






/* v12.6 — secondary news aligned with main news, 3 cards per row + subtle animation */
.home-news-mini-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
  align-items:stretch;
}

.home-news-mini-item{
  position:relative;
  min-width:0;
  min-height:150px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--theme-border);
  border-radius:15px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 5px 16px rgba(24,64,43,.055);
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.home-news-mini-item::after{
  content:"";
  position:absolute;
  inset:auto -32px -48px auto;
  width:105px;
  height:105px;
  border-radius:50%;
  background:color-mix(in srgb,var(--primary) 7%,transparent);
  transition:transform .35s ease,opacity .35s ease;
  pointer-events:none;
}

.home-news-mini-item:hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--primary) 34%,#dfe9e3 66%);
  box-shadow:0 14px 28px rgba(24,64,43,.12);
}

.home-news-mini-item:hover::after{
  transform:scale(1.18);
  opacity:.9;
}

.home-news-mini-thumb{
  width:100%;
  height:135px;
  min-width:0;
  overflow:hidden;
  border-radius:0;
  background:var(--theme-soft);
}

.home-news-mini-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .45s ease,filter .45s ease;
}

.home-news-mini-item:hover .home-news-mini-thumb img{
  transform:scale(1.055);
  filter:saturate(1.04);
}

.home-news-mini-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  color:var(--primary);
  font-size:1.45rem;
}

.home-news-mini-copy{
  position:relative;
  z-index:1;
  min-width:0;
  display:flex;
  flex:1;
  flex-direction:column;
  padding:13px 14px 14px;
}

.home-news-mini-copy small{
  display:flex;
  align-items:center;
  gap:5px;
  margin-bottom:7px;
  color:var(--primary);
  font-size:.62rem;
  font-weight:750;
}

.home-news-mini-copy strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#213f54;
  font-size:.80rem;
  line-height:1.42;
  font-weight:850;
}

.home-news-mini-copy span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:auto;
  padding-top:10px;
  color:var(--primary);
  font-size:.63rem;
  font-weight:850;
}

.home-news-mini-copy span i{
  transition:transform .25s ease;
}

.home-news-mini-item:hover .home-news-mini-copy span i{
  transform:translateX(4px);
}

/* entrance animation */
@keyframes miniNewsFadeUp{
  from{
    opacity:0;
    transform:translateY(16px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.mini-news-reveal{
  opacity:0;
  animation:miniNewsFadeUp .55s ease forwards;
}

.home-news-mini-grid .mini-news-reveal:nth-child(1){animation-delay:.04s}
.home-news-mini-grid .mini-news-reveal:nth-child(2){animation-delay:.10s}
.home-news-mini-grid .mini-news-reveal:nth-child(3){animation-delay:.16s}
.home-news-mini-grid .mini-news-reveal:nth-child(4){animation-delay:.22s}
.home-news-mini-grid .mini-news-reveal:nth-child(5){animation-delay:.28s}
.home-news-mini-grid .mini-news-reveal:nth-child(6){animation-delay:.34s}

@media(prefers-reduced-motion:reduce){
  .mini-news-reveal{
    opacity:1!important;
    animation:none!important;
  }
  .home-news-mini-item,
  .home-news-mini-thumb img,
  .home-news-mini-copy span i{
    transition:none!important;
  }
}

@media(min-width:768px) and (max-width:1199.98px){
  .home-news-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-news-mini-thumb{
    height:150px;
  }
}

@media(max-width:767.98px){
  .home-news-mini-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .home-news-mini-thumb{
    height:190px;
  }
}

@media(max-width:575.98px){
  .home-news-mini-grid{
    margin-top:14px;
  }
  .home-news-mini-thumb{
    height:165px;
  }
  .home-news-mini-copy{
    padding:12px 13px 13px;
  }
  .home-news-mini-copy strong{
    font-size:.77rem;
  }
}


/* v12.7 — align lower news cards exactly with main news track */
@media(min-width:1200px){
  .home-news-mini-grid{
    width:calc(100% - 68px)!important;
    margin-left:34px!important;
    margin-right:34px!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
  }
}

@media(min-width:992px) and (max-width:1199.98px){
  .home-news-mini-grid{
    width:calc(100% - 56px)!important;
    margin-left:28px!important;
    margin-right:28px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:991.98px){
  .home-news-mini-grid{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* Keep all lower cards visually balanced */
.home-news-mini-item{
  height:100%!important;
}
.home-news-mini-copy strong{
  min-height:2.85em!important;
}
.home-news-mini-copy span{
  margin-top:auto!important;
}

/* divider between Berita/Agenda and Program Studi */
.section-transition-divider{
  width:min(1120px,calc(100% - 32px));
  margin:6px auto 8px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
}
.section-transition-divider span{
  display:block;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb,var(--primary) 28%,transparent) 22%,
    color-mix(in srgb,var(--primary) 52%,transparent) 100%
  );
}
.section-transition-divider span:last-child{
  transform:scaleX(-1);
}
.section-transition-divider i{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary));
  color:#fff!important;
  font-size:.72rem;
  box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 18%,transparent);
}

@media(max-width:575.98px){
  .section-transition-divider{
    width:calc(100% - 24px);
    gap:8px;
    margin-top:2px;
  }
  .section-transition-divider i{
    width:26px;
    height:26px;
    font-size:.62rem;
  }
}


/* v12.8 — clearer green divider before news + boxed news section */
.pre-news-divider{
  margin-top:8px!important;
  margin-bottom:16px!important;
}
.pre-news-divider span{
  height:2px!important;
  background:linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb,var(--primary) 42%,transparent) 18%,
    color-mix(in srgb,var(--primary) 78%,transparent) 100%
  )!important;
}
.pre-news-divider i{
  width:38px!important;
  height:38px!important;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary))!important;
  color:#fff!important;
  border:3px solid #fff!important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 24%,transparent)!important;
  font-size:.92rem!important;
}

.home-news-agenda-section{
  padding-top:18px!important;
}

.home-news-section-box{
  width:min(1180px,calc(100% - 24px));
  margin:0 auto;
  padding:28px 26px 26px;
  border:1px solid color-mix(in srgb,var(--primary) 20%,#e7eee9 80%);
  border-radius:22px;
  background:
    radial-gradient(circle at 95% 4%, color-mix(in srgb,var(--primary) 7%,transparent), transparent 26%),
    linear-gradient(180deg,#ffffff 0%,#fbfefc 100%);
  box-shadow:
    0 14px 34px rgba(22,72,48,.07),
    inset 0 1px 0 rgba(255,255,255,.85);
}

.home-news-section-box > .container{
  padding-left:0!important;
  padding-right:0!important;
}

.home-news-section-box .section-heading{
  margin-bottom:20px!important;
}

.home-news-section-box .home-news-shell,
.home-news-section-box .home-latest-news-widget,
.home-news-section-box .home-agenda-panel{
  position:relative;
  z-index:1;
}

@media(max-width:991.98px){
  .home-news-section-box{
    width:calc(100% - 20px);
    padding:22px 18px 20px;
    border-radius:18px;
  }
}

@media(max-width:575.98px){
  .pre-news-divider{
    margin-bottom:12px!important;
  }
  .pre-news-divider i{
    width:32px!important;
    height:32px!important;
    font-size:.78rem!important;
  }
  .home-news-section-box{
    width:calc(100% - 14px);
    padding:17px 12px 16px;
    border-radius:16px;
  }
}


/* v12.9 — widen the complete Berita Fakultas box */
.home-news-section-box{
  width:min(1380px,calc(100% - 32px))!important;
  max-width:1380px!important;
  padding-left:30px!important;
  padding-right:30px!important;
}

@media(min-width:1440px){
  .home-news-section-box{
    width:min(1460px,calc(100% - 40px))!important;
    max-width:1460px!important;
  }
}

@media(min-width:992px) and (max-width:1199.98px){
  .home-news-section-box{
    width:calc(100% - 24px)!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
}

@media(max-width:991.98px){
  .home-news-section-box{
    width:calc(100% - 18px)!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
}

@media(max-width:575.98px){
  .home-news-section-box{
    width:calc(100% - 10px)!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
}


/* v13.0 — restore floating accessibility widget */
.accessibility-widget{
  position:fixed!important;
  left:18px!important;
  bottom:78px!important;
  z-index:9998!important;
  font-size:1rem!important;
}
.accessibility-toggle{
  width:50px!important;
  height:50px!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary))!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(15,86,55,.26)!important;
  cursor:pointer!important;
}
.accessibility-toggle i{
  color:#fff!important;
  font-size:1.48rem!important;
}
.accessibility-panel{
  position:absolute!important;
  left:0!important;
  bottom:60px!important;
  width:278px!important;
  padding:14px!important;
  border:1px solid var(--theme-border)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 16px 36px rgba(22,62,43,.18)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(8px)!important;
  transition:.2s ease!important;
}
.accessibility-widget.open .accessibility-panel{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
}
.accessibility-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
.accessibility-head small{
  display:block!important;
  color:var(--primary)!important;
  font-size:.58rem!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
}
.accessibility-head strong{
  display:block!important;
  color:#23443a!important;
  font-size:.82rem!important;
}
.accessibility-close{
  width:30px!important;
  height:30px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #e4ebe6!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#6f8076!important;
}
.accessibility-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.accessibility-actions button{
  min-height:66px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:8px!important;
  border:1px solid var(--theme-border)!important;
  border-radius:11px!important;
  background:var(--theme-soft)!important;
  color:#345448!important;
  font-size:.62rem!important;
  font-weight:800!important;
}
.accessibility-actions button:hover{
  border-color:var(--primary)!important;
  background:#fff!important;
  color:var(--primary)!important;
}
.accessibility-actions button i{
  color:var(--primary)!important;
  font-size:1rem!important;
}

body{
  font-size:calc(1rem * var(--access-font-scale,1));
}
body.access-readable-font,
body.access-readable-font *{
  font-family:Arial,Helvetica,sans-serif!important;
}
body.access-grayscale{
  filter:grayscale(1);
}
body.access-high-contrast{
  background:#000!important;
  color:#fff!important;
}
body.access-high-contrast main,
body.access-high-contrast section,
body.access-high-contrast .card,
body.access-high-contrast .admin-card{
  background:#000!important;
  color:#fff!important;
}

/* Divider and label for previous-news block */
.previous-news-divider{
  width:calc(100% - 68px);
  margin:20px 34px 14px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
}
.previous-news-divider>span{
  height:2px;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb,var(--primary) 34%,transparent) 18%,
    color-mix(in srgb,var(--primary) 72%,transparent) 100%
  );
}
.previous-news-divider>span:last-child{
  transform:scaleX(-1);
}
.previous-news-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border:1px solid color-mix(in srgb,var(--primary) 22%,#e5ece7 78%);
  border-radius:999px;
  background:linear-gradient(135deg,#f8fcf9,#eef8f2);
  color:var(--primary);
  box-shadow:0 5px 14px rgba(24,79,51,.07);
}
.previous-news-label i{
  color:var(--primary)!important;
  font-size:.8rem;
}
.previous-news-label strong{
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.02em;
}

@media(max-width:991.98px){
  .previous-news-divider{
    width:100%;
    margin-left:0;
    margin-right:0;
  }
}
@media(max-width:575.98px){
  .accessibility-widget{
    left:12px!important;
    bottom:72px!important;
  }
  .accessibility-toggle{
    width:46px!important;
    height:46px!important;
  }
  .accessibility-panel{
    width:min(274px,calc(100vw - 24px))!important;
  }
  .previous-news-divider{
    gap:8px;
    margin-top:16px;
  }
  .previous-news-label{
    padding:7px 11px;
  }
  .previous-news-label strong{
    font-size:.62rem;
  }
}


/* v13.1 — YouTube sidebar widget */
.home-youtube-widget{
  margin-top:18px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--primary) 18%,#e6eee8 82%);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(24,64,43,.06);
}
.home-youtube-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 14px;
  border-bottom:1px solid #edf2ee;
  background:linear-gradient(135deg,#f8fcf9,#eef8f2);
}
.home-youtube-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 38px;
  border-radius:11px;
  background:#e62117;
  color:#fff;
  box-shadow:0 5px 12px rgba(230,33,23,.18);
}
.home-youtube-icon i{
  color:#fff!important;
  font-size:1.15rem;
}
.home-youtube-head span{
  display:block;
  color:var(--primary);
  font-size:.52rem;
  font-weight:850;
  letter-spacing:.08em;
}
.home-youtube-head h4{
  margin:1px 0 0;
  color:#23443a;
  font-size:.88rem;
  font-weight:850;
}
.home-youtube-video{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#101010;
}
.home-youtube-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.home-youtube-caption{
  padding:11px 13px 12px;
}
.home-youtube-caption strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#27463c;
  font-size:.72rem;
  line-height:1.4;
  font-weight:850;
}
.home-youtube-caption span{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:5px;
  color:#728078;
  font-size:.6rem;
  line-height:1.45;
}
.home-youtube-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 12px 10px;
  border-top:1px solid #edf2ee;
}
.home-youtube-controls button{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border:1px solid var(--theme-border);
  border-radius:50%;
  background:#fff;
  color:var(--primary);
}
.home-youtube-controls span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#e62117;
  font-size:.58rem;
  font-weight:850;
}
.home-youtube-controls span i{
  color:#e62117!important;
}
.home-youtube-empty{
  padding:24px 15px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.home-youtube-empty>i{
  margin-bottom:8px;
  color:#e62117!important;
  font-size:1.7rem;
}
.home-youtube-empty strong{
  color:#345348;
  font-size:.72rem;
}
.home-youtube-empty span{
  margin-top:4px;
  color:#7b8981;
  font-size:.6rem;
  line-height:1.45;
}

/* labeled separator after Berita: Visi Misi dan Program Studi */
.section-labeled-divider{
  width:min(1380px,calc(100% - 32px));
  margin:10px auto 12px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
}
.section-labeled-divider>span{
  height:2px;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb,var(--primary) 44%,transparent) 18%,
    color-mix(in srgb,var(--primary) 82%,transparent) 100%
  );
}
.section-labeled-divider>span:last-child{
  transform:scaleX(-1);
}
.section-labeled-divider-title{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 16px 9px 10px;
  border:1px solid color-mix(in srgb,var(--primary) 24%,#e4ece7 76%);
  border-radius:999px;
  background:linear-gradient(135deg,#fff,#edf8f1);
  box-shadow:0 6px 16px rgba(24,78,52,.08);
}
.section-labeled-divider-title>i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary));
  color:#fff!important;
  font-size:.84rem;
}
.section-labeled-divider-title small{
  display:block;
  color:var(--primary);
  font-size:.5rem;
  font-weight:850;
  letter-spacing:.08em;
}
.section-labeled-divider-title strong{
  display:block;
  margin-top:1px;
  color:#29493d;
  font-size:.72rem;
  font-weight:850;
}

@media(max-width:575.98px){
  .section-labeled-divider{
    width:calc(100% - 20px);
    gap:8px;
  }
  .section-labeled-divider-title{
    padding:7px 10px 7px 7px;
  }
  .section-labeled-divider-title>i{
    width:30px;
    height:30px;
    font-size:.72rem;
  }
  .section-labeled-divider-title strong{
    font-size:.62rem;
  }
  .section-labeled-divider-title small{
    font-size:.45rem;
  }
}


/* v13.2 — prominent Visi, Misi and Program Studi showcase */
.academic-showcase-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 12%,rgba(54,178,103,.10),transparent 27%),
    radial-gradient(circle at 94% 88%,rgba(18,107,71,.08),transparent 24%),
    linear-gradient(180deg,#f6fbf8 0%,#edf8f2 100%)!important;
}
.academic-showcase{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:20px;
}
.academic-vision-card,
.academic-mission-card,
.academic-program-card,
.academic-announcement-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(18,107,71,.14);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 34px rgba(18,75,49,.07);
}
.academic-vision-card,
.academic-mission-card{
  padding:24px;
}
.academic-vision-card{
  background:
    radial-gradient(circle at 100% 0%,rgba(61,186,111,.13),transparent 36%),
    #fff;
}
.academic-mission-card{
  background:linear-gradient(145deg,#0e6947 0%,#178252 55%,#2ba763 100%);
  color:#fff;
}
.academic-card-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:17px;
}
.academic-card-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary));
  color:#fff;
  box-shadow:0 7px 16px rgba(19,110,71,.18);
}
.academic-card-icon i{color:#fff!important;font-size:1.15rem}
.academic-card-head small{
  display:block;
  color:var(--primary);
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.09em;
}
.academic-card-head h3{
  margin:2px 0 0;
  color:#24483a;
  font-size:1.3rem;
  font-weight:900;
}
.academic-vision-card>p{
  margin:0;
  color:#466357;
  font-size:.88rem;
  line-height:1.8;
}
.academic-vision-card>a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:17px;
  color:var(--primary);
  font-size:.72rem;
  font-weight:850;
  text-decoration:none;
}
.academic-mission-card .academic-card-icon{
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:none;
}
.academic-mission-card .academic-card-head small,
.academic-mission-card .academic-card-head h3{color:#fff}
.academic-mission-list{
  display:grid;
  gap:9px;
}
.academic-mission-list>div{
  display:grid;
  grid-template-columns:32px 1fr;
  align-items:start;
  gap:10px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  background:rgba(255,255,255,.07);
}
.academic-mission-list b{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  border-radius:9px;
  background:#fff;
  color:var(--primary);
  font-size:.61rem;
}
.academic-mission-list span{
  color:rgba(255,255,255,.93);
  font-size:.67rem;
  line-height:1.5;
}
.academic-program-card{
  grid-column:1/2;
  padding:22px 24px 24px;
}
.academic-program-head{
  margin-bottom:13px;
}
.academic-program-count{
  margin-left:auto;
  padding:6px 10px;
  border-radius:999px;
  background:var(--theme-soft);
  color:var(--primary);
  font-size:.59rem;
  font-weight:850;
}
.academic-program-slider{
  margin-top:4px;
}
.academic-program-item{
  min-height:145px;
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:18px;
  border:1px solid #e3ece6;
  border-radius:16px;
  background:linear-gradient(145deg,#fbfefc,#f1f9f4);
}
.academic-program-copy>span{
  color:var(--primary);
  font-size:.55rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.academic-program-copy h5{
  margin:4px 0 5px;
  color:#25483a;
  font-size:.92rem;
  font-weight:900;
}
.academic-program-copy small{
  color:#668076;
  font-size:.62rem;
}
.academic-program-copy p{
  margin:8px 0 0;
  color:#5d746a;
  font-size:.66rem;
  line-height:1.5;
}
.academic-announcement-card{
  grid-column:2/3;
  padding:22px 24px 24px;
  background:linear-gradient(145deg,#0d6544,#16804f 55%,#31ad68);
}
.academic-announcement-head{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:17px;
  padding:8px 12px;
  border-radius:10px;
  background:rgba(255,255,255,.13);
  color:#fff;
  font-size:.75rem;
  font-weight:850;
}
.academic-announcement-head i{color:#fff!important}
.academic-announcement-item{
  min-height:120px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px 46px;
}
.academic-announcement-item small{
  color:rgba(255,255,255,.72);
  font-size:.6rem;
}
.academic-announcement-item b{
  margin-top:7px;
  color:#fff;
  font-size:.85rem;
  line-height:1.5;
}
.academic-announcement-empty{
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:rgba(255,255,255,.72);
  font-size:.7rem;
}
.academic-announcement-empty i{color:rgba(255,255,255,.72)!important}

@media(max-width:991.98px){
  .academic-showcase{grid-template-columns:1fr}
  .academic-program-card,.academic-announcement-card{grid-column:1}
}
@media(max-width:575.98px){
  .academic-showcase{gap:14px}
  .academic-vision-card,.academic-mission-card,.academic-program-card,.academic-announcement-card{
    padding:17px;
    border-radius:17px;
  }
  .academic-card-icon{width:42px;height:42px;flex-basis:42px}
  .academic-card-head h3{font-size:1.08rem}
  .academic-vision-card>p{font-size:.78rem;line-height:1.7}
  .academic-mission-list>div{grid-template-columns:28px 1fr}
  .academic-mission-list span{font-size:.62rem}
}


/* v13.3 — richer green-white gradient academic cards */
.academic-vision-card{
  background:
    radial-gradient(circle at 88% 8%,rgba(63,190,113,.20),transparent 30%),
    linear-gradient(145deg,#ffffff 0%,#f5fbf7 52%,#e6f6ec 100%)!important;
  border-color:rgba(24,127,79,.20)!important;
}
.academic-mission-card{
  background:
    radial-gradient(circle at 90% 10%,rgba(255,255,255,.14),transparent 28%),
    linear-gradient(145deg,#0c6242 0%,#158052 48%,#43ba75 100%)!important;
}
.academic-program-card{
  background:
    radial-gradient(circle at 6% 0%,rgba(53,177,105,.13),transparent 27%),
    linear-gradient(150deg,#ffffff 0%,#f7fcf9 48%,#eaf7ef 100%)!important;
  border-color:rgba(24,127,79,.18)!important;
}
.academic-announcement-card{
  background:
    radial-gradient(circle at 94% 8%,rgba(255,255,255,.14),transparent 26%),
    linear-gradient(145deg,#0d6544 0%,#1b8a57 56%,#48bd79 100%)!important;
}
.academic-vision-card::after,
.academic-program-card::after{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  right:-70px;
  bottom:-85px;
  border-radius:50%;
  background:rgba(39,168,95,.055);
  pointer-events:none;
}
.academic-vision-card,
.academic-mission-card,
.academic-program-card,
.academic-announcement-card{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.academic-vision-card:hover,
.academic-mission-card:hover,
.academic-program-card:hover,
.academic-announcement-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(17,84,53,.12);
}
.academic-program-item{
  background:
    linear-gradient(145deg,#ffffff 0%,#f3faf6 55%,#e6f5eb 100%)!important;
  border-color:rgba(24,127,79,.16)!important;
  box-shadow:0 7px 17px rgba(21,84,54,.045);
}
.academic-program-item:hover{
  border-color:rgba(24,127,79,.34)!important;
  box-shadow:0 11px 24px rgba(21,84,54,.08);
}
.academic-mission-list>div{
  background:linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,.065))!important;
}
.academic-mission-list>div:hover{
  background:rgba(255,255,255,.16)!important;
}

/* strengthen YouTube widget visibility */
.home-youtube-widget{
  border-color:rgba(18,107,71,.22)!important;
  box-shadow:0 10px 25px rgba(24,64,43,.085)!important;
}
.home-youtube-head{
  background:linear-gradient(135deg,#ffffff 0%,#eef8f2 100%)!important;
}
.home-youtube-video{
  min-height:150px;
}


/* v13.4 — right-side academic cards use green-white gradients too */
.academic-mission-card{
  background:
    radial-gradient(circle at 92% 8%,rgba(51,181,104,.18),transparent 31%),
    linear-gradient(145deg,#ffffff 0%,#f4fbf7 48%,#dff3e7 100%)!important;
  border-color:rgba(24,127,79,.20)!important;
  color:#36584b!important;
}
.academic-mission-card .academic-card-icon{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary))!important;
  border:0!important;
  box-shadow:0 7px 16px rgba(19,110,71,.18)!important;
}
.academic-mission-card .academic-card-head small{
  color:var(--primary)!important;
}
.academic-mission-card .academic-card-head h3{
  color:#24483a!important;
}
.academic-mission-list>div{
  border-color:rgba(24,127,79,.12)!important;
  background:linear-gradient(90deg,#ffffff 0%,#edf8f1 100%)!important;
}
.academic-mission-list>div:hover{
  background:linear-gradient(90deg,#f8fcf9 0%,#e3f4e9 100%)!important;
  border-color:rgba(24,127,79,.25)!important;
}
.academic-mission-list span{
  color:#49665a!important;
}
.academic-mission-list b{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary))!important;
  color:#fff!important;
}

.academic-announcement-card{
  background:
    radial-gradient(circle at 92% 8%,rgba(54,184,106,.18),transparent 30%),
    linear-gradient(145deg,#ffffff 0%,#f3faf6 50%,#dff3e7 100%)!important;
  border-color:rgba(24,127,79,.20)!important;
}
.academic-announcement-head{
  background:linear-gradient(135deg,var(--theme-deep),var(--primary),var(--secondary))!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(18,107,71,.16);
}
.academic-announcement-item small{
  color:var(--primary)!important;
  font-weight:750!important;
}
.academic-announcement-item b{
  color:#294b3e!important;
}
.academic-announcement-empty{
  color:#698077!important;
}
.academic-announcement-empty i{
  color:var(--primary)!important;
}


/* v13.5 — vision displayed as a stronger quote */
.academic-vision-quote{
  position:relative;
  margin-top:6px;
  padding:18px 20px 18px 24px;
  overflow:hidden;
  border-left:4px solid var(--primary);
  border-radius:0 15px 15px 0;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(224,244,232,.78));
}
.academic-vision-quote>i{
  position:absolute;
  top:4px;
  right:13px;
  color:color-mix(in srgb,var(--primary) 16%,transparent)!important;
  font-size:4.1rem;
  line-height:1;
  pointer-events:none;
}
.academic-vision-quote blockquote{
  position:relative;
  z-index:1;
  margin:0;
  color:#214b3a;
  font-size:1.02rem;
  line-height:1.72;
  font-weight:800;
  letter-spacing:-.01em;
}
.academic-vision-card>a{
  margin-top:16px!important;
}

@media(max-width:575.98px){
  .academic-vision-quote{
    padding:15px 16px 15px 18px;
  }
  .academic-vision-quote>i{
    font-size:3.4rem;
  }
  .academic-vision-quote blockquote{
    font-size:.88rem;
    line-height:1.65;
  }
}


/* v13.6 — centered, elegant vision quote typography */
.academic-vision-quote{
  padding:24px 34px 22px!important;
  border-left:0!important;
  border-top:3px solid var(--primary)!important;
  border-radius:16px!important;
  text-align:center!important;
}
.academic-vision-quote::before{
  content:"";
  position:absolute;
  top:-3px;
  left:50%;
  width:78px;
  height:3px;
  transform:translateX(-50%);
  border-radius:999px;
  background:linear-gradient(90deg,var(--theme-deep),var(--secondary));
}
.academic-vision-quote>i{
  top:3px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  font-size:3.5rem!important;
  color:color-mix(in srgb,var(--primary) 10%,transparent)!important;
}
.academic-vision-quote blockquote{
  max-width:760px;
  margin:10px auto 0!important;
  text-align:center!important;
  color:#173f31!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.08rem!important;
  line-height:1.72!important;
  font-weight:700!important;
  letter-spacing:.005em!important;
}
.academic-vision-quote blockquote::first-letter{
  font-size:1.22em;
  color:var(--primary);
}
.academic-vision-card>a{
  display:flex!important;
  width:max-content;
  margin:17px auto 0!important;
}

@media(max-width:575.98px){
  .academic-vision-quote{
    padding:20px 18px 18px!important;
  }
  .academic-vision-quote blockquote{
    font-size:.93rem!important;
    line-height:1.68!important;
  }
}


/* v13.7 — refine Visi typography and enlarge Misi text */
.academic-vision-quote blockquote{
  font-size:.96rem!important;
  line-height:1.72!important;
  font-weight:600!important;
  font-style:italic!important;
  letter-spacing:.002em!important;
}
.academic-vision-quote blockquote::first-letter{
  font-size:1.12em!important;
}

.academic-mission-list span{
  font-size:.73rem!important;
  line-height:1.58!important;
  font-weight:600!important;
}
.academic-mission-list b{
  font-size:.65rem!important;
}

@media(max-width:575.98px){
  .academic-vision-quote blockquote{
    font-size:.86rem!important;
    line-height:1.66!important;
  }
  .academic-mission-list span{
    font-size:.68rem!important;
    line-height:1.55!important;
  }
}


/* v13.8 — Visi card dark green gradient with bright white quote */
.academic-vision-card{
  background:
    radial-gradient(circle at 90% 8%,rgba(110,225,157,.18),transparent 31%),
    radial-gradient(circle at 8% 92%,rgba(255,255,255,.08),transparent 28%),
    linear-gradient(145deg,#073d2c 0%,#0b5b3d 48%,#138052 100%)!important;
  border-color:rgba(255,255,255,.13)!important;
  box-shadow:0 15px 34px rgba(5,55,37,.17)!important;
}
.academic-vision-card::after{
  background:rgba(255,255,255,.055)!important;
}
.academic-vision-card .academic-card-icon{
  background:rgba(255,255,255,.14)!important;
  color:#ffffff!important;
  border:1px solid rgba(255,255,255,.25)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.10)!important;
}
.academic-vision-card .academic-card-head small{
  color:#c9f4da!important;
}
.academic-vision-card .academic-card-head h3{
  color:#ffffff!important;
}
.academic-vision-quote{
  background:
    linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.065))!important;
  border-top-color:#8fe2b1!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important;
}
.academic-vision-quote::before{
  background:linear-gradient(90deg,#b7f0ce,#ffffff,#83dba7)!important;
}
.academic-vision-quote>i{
  color:rgba(255,255,255,.11)!important;
}
.academic-vision-quote blockquote{
  color:#ffffff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.16);
}
.academic-vision-quote blockquote::first-letter{
  color:#d7f8e4!important;
}
.academic-vision-card>a{
  color:#ffffff!important;
  font-weight:700!important;
}
.academic-vision-card>a:hover{
  color:#d8f8e5!important;
}


/* v13.9 — cleaner Vision card: no quote mark, lighter inner panel */
.academic-vision-card{
  background:
    radial-gradient(circle at 88% 10%,rgba(90,210,142,.14),transparent 28%),
    linear-gradient(145deg,#083e2e 0%,#0b573c 52%,#0f6e49 100%)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 14px 32px rgba(4,48,32,.14)!important;
}
.academic-vision-quote{
  margin-top:8px!important;
  padding:18px 22px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-top:0!important;
  border-radius:14px!important;
  box-shadow:none!important;
  backdrop-filter:blur(2px);
}
.academic-vision-quote::before{
  content:none!important;
}
.academic-vision-quote>i{
  display:none!important;
}
.academic-vision-quote blockquote{
  margin:0 auto!important;
  max-width:760px;
  color:#f7fffa!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:.94rem!important;
  line-height:1.7!important;
  font-weight:600!important;
  font-style:italic!important;
  text-align:center!important;
  text-shadow:none!important;
}
.academic-vision-quote blockquote::first-letter{
  color:inherit!important;
  font-size:inherit!important;
}
.academic-vision-card .academic-card-head{
  margin-bottom:4px!important;
}
.academic-vision-card>a{
  margin-top:14px!important;
  opacity:.94;
}
.academic-vision-card>a:hover{
  opacity:1;
}

@media(max-width:575.98px){
  .academic-vision-quote{
    padding:16px 16px!important;
  }
  .academic-vision-quote blockquote{
    font-size:.85rem!important;
    line-height:1.65!important;
  }
}


/* v14.0 — Visi moved directly below the academic divider */
.vision-highlight-wrap{
  padding:18px 0 4px;
  background:linear-gradient(180deg,#fff 0%,#f7fbf8 100%);
}
.vision-highlight{
  position:relative;
  overflow:hidden;
  max-width:1100px;
  margin:0 auto;
  padding:22px 34px 20px;
  text-align:center;
  border:1px solid rgba(20,125,78,.18);
  border-radius:18px;
  background:
    radial-gradient(circle at 12% 0%,rgba(62,190,116,.16),transparent 29%),
    radial-gradient(circle at 92% 100%,rgba(15,113,72,.10),transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f1faf5 56%,#e3f4ea 100%);
  box-shadow:0 12px 28px rgba(18,86,54,.08);
}
.vision-highlight::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
  animation:visionGlow 2.4s ease-in-out infinite;
}
.vision-highlight-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-bottom:8px;
  color:var(--primary);
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.14em;
}
.vision-live-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--primary);
  box-shadow:0 0 0 0 rgba(24,127,79,.38);
  animation:visionDotPulse 1.45s ease-out infinite;
}
.vision-highlight p{
  position:relative;
  z-index:1;
  max-width:940px;
  margin:0 auto;
  color:#174633;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.03rem;
  line-height:1.7;
  font-weight:700;
  font-style:italic;
  animation:visionTextBlink 3.4s ease-in-out infinite;
}
.vision-highlight a{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:10px;
  color:var(--primary);
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
}
.vision-highlight a:hover{gap:10px;color:var(--theme-deep);}

/* Academic cards below now focus on Misi, Program Studi, and Pengumuman */
.academic-showcase{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.academic-mission-card{
  grid-column:span 1;
}

@keyframes visionDotPulse{
  0%{box-shadow:0 0 0 0 rgba(24,127,79,.38);opacity:1}
  65%{box-shadow:0 0 0 8px rgba(24,127,79,0);opacity:.82}
  100%{box-shadow:0 0 0 0 rgba(24,127,79,0);opacity:1}
}
@keyframes visionGlow{
  0%,100%{opacity:.35}
  50%{opacity:1}
}
@keyframes visionTextBlink{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.72;transform:scale(.998)}
}

@media(max-width:991.98px){
  .vision-highlight-wrap{padding:14px 12px 2px;}
  .vision-highlight{padding:20px 22px;}
}
@media(max-width:575.98px){
  .vision-highlight{padding:18px 16px;border-radius:15px;}
  .vision-highlight p{font-size:.9rem;line-height:1.65;}
}
@media(prefers-reduced-motion:reduce){
  .vision-highlight::before,
  .vision-live-dot,
  .vision-highlight p{animation:none!important;}
}


/* v14.1 — tidy remaining 3 academic cards with no empty visual space */
.academic-showcase{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}

/* Misi spans full width so the 3-card layout stays balanced */
.academic-mission-card{
  grid-column:1 / -1!important;
  min-height:auto!important;
}

/* Program Studi + Pengumuman sit evenly below */
.academic-program-card,
.academic-announcement-card{
  grid-column:auto!important;
  height:100%!important;
  min-height:100%!important;
}

/* Make Misi content compact and balanced across the full row */
.academic-mission-list{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
}
.academic-mission-list>div{
  height:100%!important;
  align-items:flex-start!important;
}

/* Keep lower two cards visually equal */
.academic-program-card,
.academic-announcement-card{
  display:flex!important;
  flex-direction:column!important;
}
.academic-program-slider,
.announcement-slider-shell{
  flex:1 1 auto!important;
}
.academic-program-card .home-slider-shell,
.academic-announcement-card .home-slider-shell{
  min-height:0!important;
}

/* Avoid oversized blank areas when only a few announcements/programs exist */
.academic-program-card,
.academic-announcement-card{
  padding-bottom:20px!important;
}
.academic-announcement-empty,
.academic-program-empty{
  min-height:140px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

@media(max-width:1199.98px){
  .academic-mission-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .academic-mission-list>div:last-child{
    grid-column:1 / -1;
  }
}

@media(max-width:991.98px){
  .academic-showcase{
    grid-template-columns:1fr!important;
  }
  .academic-mission-card,
  .academic-program-card,
  .academic-announcement-card{
    grid-column:1!important;
  }
  .academic-mission-list{
    grid-template-columns:1fr!important;
  }
  .academic-mission-list>div:last-child{
    grid-column:auto;
  }
}


/* v14.2 — Visi dark green gradient + animated Misi workflow */

/* Visi highlight becomes a stronger dark green focal card */
.vision-highlight{
  background:
    radial-gradient(circle at 12% 0%,rgba(118,230,162,.16),transparent 30%),
    radial-gradient(circle at 92% 100%,rgba(255,255,255,.06),transparent 28%),
    linear-gradient(135deg,#073d2d 0%,#0a563a 48%,#0f774d 100%)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 16px 34px rgba(5,61,41,.17)!important;
}
.vision-highlight::before{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important;
}
.vision-highlight-kicker{
  color:#c9f5da!important;
}
.vision-live-dot{
  background:#b9f0cf!important;
  box-shadow:0 0 0 0 rgba(185,240,207,.42)!important;
}
.vision-highlight p{
  color:#ffffff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.14);
}
.vision-highlight a{
  color:#d8f8e5!important;
}
.vision-highlight a:hover{
  color:#ffffff!important;
}

/* Mission workflow */
.academic-mission-card{
  position:relative;
  overflow:hidden;
}
.academic-mission-workflow{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
  padding:10px 2px 2px;
}
.mission-flow-line{
  position:absolute;
  left:8%;
  right:8%;
  top:34px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#ccebd8,#45af74,#ccebd8);
  overflow:hidden;
}
.mission-flow-line::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:22%;
  left:-22%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
  animation:missionFlowSweep 3.1s linear infinite;
}
.mission-flow-step{
  position:relative;
  z-index:1;
  text-align:center;
  animation:missionStepFloat 3.6s ease-in-out infinite;
}
.mission-flow-step:nth-child(3){animation-delay:.18s}
.mission-flow-step:nth-child(4){animation-delay:.36s}
.mission-flow-step:nth-child(5){animation-delay:.54s}
.mission-flow-step:nth-child(6){animation-delay:.72s}
.mission-flow-node{
  width:54px;
  height:54px;
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(145deg,#0b6644,#1d965d);
  border:4px solid #eff9f3;
  box-shadow:0 7px 16px rgba(17,105,69,.17),0 0 0 1px rgba(20,127,79,.13);
}
.mission-flow-node span{
  color:#fff;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.03em;
}
.mission-flow-content{
  height:100%;
  padding:14px 13px 15px;
  border:1px solid rgba(24,127,79,.13);
  border-radius:14px;
  background:linear-gradient(145deg,#ffffff 0%,#f0f9f4 100%);
  box-shadow:0 8px 18px rgba(22,87,58,.05);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.mission-flow-step:hover .mission-flow-content{
  transform:translateY(-4px);
  border-color:rgba(24,127,79,.30);
  box-shadow:0 12px 24px rgba(22,87,58,.09);
}
.mission-flow-content strong{
  display:block;
  margin-bottom:7px;
  color:#1b4a37;
  font-size:.78rem;
  line-height:1.35;
  font-weight:800;
}
.mission-flow-content p{
  margin:0;
  color:#557064;
  font-size:.69rem;
  line-height:1.55;
  font-weight:550;
}

@keyframes missionFlowSweep{
  0%{left:-22%}
  100%{left:100%}
}
@keyframes missionStepFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}

@media(max-width:1199.98px){
  .academic-mission-workflow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mission-flow-line{
    display:none;
  }
  .mission-flow-step:last-child{
    grid-column:1 / -1;
    max-width:50%;
    width:100%;
    justify-self:center;
  }
}
@media(max-width:767.98px){
  .academic-mission-workflow{
    grid-template-columns:1fr;
    gap:13px;
  }
  .mission-flow-step{
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:12px;
    align-items:center;
    text-align:left;
  }
  .mission-flow-step:last-child{
    grid-column:auto;
    max-width:none;
  }
  .mission-flow-node{
    margin:0;
  }
  .mission-flow-content{
    padding:13px 14px;
  }
}
@media(prefers-reduced-motion:reduce){
  .mission-flow-line::after,
  .mission-flow-step{
    animation:none!important;
  }
}


/* v14.3 — richer Visi gradient + stronger animated workflow arrows */

/* Visi: make the card more visually rich, not flat */
.vision-highlight{
  background:
    radial-gradient(circle at 18% 18%,rgba(133,239,177,.22),transparent 24%),
    radial-gradient(circle at 82% 24%,rgba(255,255,255,.10),transparent 23%),
    radial-gradient(circle at 70% 100%,rgba(68,184,118,.18),transparent 32%),
    linear-gradient(135deg,#063526 0%,#07523a 35%,#0b7049 68%,#16945c 100%)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:
    0 18px 38px rgba(5,61,41,.20),
    inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.vision-highlight::after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-80px;
  top:-90px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 0 0 28px rgba(255,255,255,.025),
    0 0 0 58px rgba(255,255,255,.018);
  pointer-events:none;
}
.vision-highlight-kicker{
  padding:6px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.13);
  backdrop-filter:blur(4px);
}
.vision-highlight p{
  max-width:900px!important;
  font-size:1.02rem!important;
  line-height:1.72!important;
  letter-spacing:.01em;
}
.vision-highlight a{
  margin-top:12px!important;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
}

/* Workflow line is more visible */
.mission-flow-line{
  top:35px!important;
  height:4px!important;
  left:7%!important;
  right:7%!important;
  background:linear-gradient(90deg,#d9efe2 0%,#54bb7e 25%,#18935c 50%,#54bb7e 75%,#d9efe2 100%)!important;
  box-shadow:0 2px 8px rgba(24,127,79,.13);
}
.mission-flow-line::after{
  width:18%!important;
  left:-18%!important;
  background:linear-gradient(90deg,transparent,#ffffff,transparent)!important;
  animation:missionFlowSweep 2.25s linear infinite!important;
}

/* Add visible animated arrows between each workflow step */
.mission-flow-step:not(:last-child)::after{
  content:"\2192";
  position:absolute;
  top:20px;
  right:-17px;
  z-index:4;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#ffffff;
  background:linear-gradient(135deg,#0c704a,#25a765);
  border:3px solid #eef8f2;
  box-shadow:0 6px 14px rgba(18,113,73,.18);
  font-size:1rem;
  font-weight:900;
  line-height:1;
  animation:missionArrowMove 1.45s ease-in-out infinite;
}
.mission-flow-step:nth-child(3)::after{animation-delay:.12s}
.mission-flow-step:nth-child(4)::after{animation-delay:.24s}
.mission-flow-step:nth-child(5)::after{animation-delay:.36s}

.mission-flow-node{
  position:relative;
  overflow:visible;
  animation:missionNodePulse 2.1s ease-in-out infinite;
}
.mission-flow-step:nth-child(3) .mission-flow-node{animation-delay:.18s}
.mission-flow-step:nth-child(4) .mission-flow-node{animation-delay:.36s}
.mission-flow-step:nth-child(5) .mission-flow-node{animation-delay:.54s}
.mission-flow-step:nth-child(6) .mission-flow-node{animation-delay:.72s}

.mission-flow-node::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:50%;
  border:1px solid rgba(28,150,91,.20);
  animation:missionRingPulse 2.1s ease-out infinite;
}

@keyframes missionArrowMove{
  0%,100%{transform:translateX(-2px) scale(1);opacity:.88}
  50%{transform:translateX(5px) scale(1.08);opacity:1}
}
@keyframes missionNodePulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.055)}
}
@keyframes missionRingPulse{
  0%{transform:scale(.86);opacity:.55}
  70%{transform:scale(1.18);opacity:0}
  100%{transform:scale(1.18);opacity:0}
}

@media(max-width:1199.98px){
  .mission-flow-step:not(:last-child)::after{
    display:none!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .mission-flow-step:not(:last-child)::after,
  .mission-flow-node,
  .mission-flow-node::after{
    animation:none!important;
  }
}


/* v14.4 — outer presentation box for Visi, Misi, Program Studi */
.academic-section-box-wrap{
  width:min(1460px,calc(100% - 32px));
  margin:28px auto 34px;
}
.academic-section-box{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(19,119,75,.16);
  border-radius:24px;
  background:
    radial-gradient(circle at 3% 3%,rgba(52,178,105,.08),transparent 22%),
    radial-gradient(circle at 98% 98%,rgba(25,139,85,.065),transparent 24%),
    linear-gradient(145deg,#ffffff 0%,#fbfefc 48%,#f1f9f4 100%);
  box-shadow:0 16px 38px rgba(16,76,49,.075);
}
.academic-section-box::before{
  content:"";
  position:absolute;
  z-index:2;
  left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,#07583b,#15915a,#61c78b,#15915a,#07583b);
}
.academic-section-box .news-to-program-divider{
  margin-top:0!important;
  padding:25px 28px 4px!important;
}
.academic-section-box .vision-highlight-wrap{
  background:transparent!important;
  padding-top:15px!important;
}
.academic-section-box .academic-showcase-section{
  background:transparent!important;
}
.academic-section-box .academic-showcase-section>.container{
  padding-top:24px!important;
  padding-bottom:34px!important;
}
@media(max-width:767.98px){
  .academic-section-box-wrap{
    width:calc(100% - 20px);
    margin:20px auto 26px;
  }
  .academic-section-box{border-radius:18px;}
  .academic-section-box .news-to-program-divider{
    padding:20px 14px 2px!important;
  }
}


/* v14.5 — brighter Visi + auto-wrapping Misi workflow */

/* Slightly brighter green gradient for Visi */
.vision-highlight{
  background:
    radial-gradient(circle at 16% 14%,rgba(154,244,190,.24),transparent 26%),
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.12),transparent 24%),
    radial-gradient(circle at 72% 100%,rgba(91,211,143,.20),transparent 32%),
    linear-gradient(135deg,#0a563b 0%,#0d7049 38%,#15915a 70%,#28aa69 100%)!important;
  box-shadow:
    0 18px 38px rgba(8,92,57,.16),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
}

/* Workflow can accommodate more than five items automatically */
.academic-mission-workflow{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  gap:18px 16px!important;
}
.mission-flow-step:last-child{
  max-width:none!important;
  width:auto!important;
  grid-column:auto!important;
}

/* Connector line is decorative for one-row desktop layouts;
   each item keeps its animated arrow, and wrapping stays clean. */
@media(min-width:1200px){
  .academic-mission-workflow{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  }
}
@media(max-width:1199.98px){
  .academic-mission-workflow{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  }
  .mission-flow-step:last-child{
    grid-column:auto!important;
    max-width:none!important;
  }
}
@media(max-width:767.98px){
  .academic-mission-workflow{
    grid-template-columns:1fr!important;
  }
}


/* v14.6 — dynamic CMS-driven mission workflow */
.mission-flow-step{
  animation-delay:var(--mission-delay,0s)!important;
}
.mission-flow-step::after,
.mission-flow-step .mission-flow-node,
.mission-flow-step .mission-flow-node::after{
  animation-delay:var(--mission-delay,0s)!important;
}
.academic-mission-empty{
  grid-column:1 / -1;
  min-height:130px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px dashed rgba(24,127,79,.22);
  border-radius:14px;
  background:rgba(255,255,255,.62);
  color:#678075;
}
.academic-mission-empty i{font-size:1.7rem;color:var(--primary);}


/* v14.7 — Visi: stronger visible gradient + slow horizontal text movement */
.vision-highlight{
  background:
    radial-gradient(circle at 8% 10%,rgba(174,247,204,.28),transparent 24%),
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.16),transparent 25%),
    radial-gradient(circle at 72% 105%,rgba(95,225,153,.24),transparent 34%),
    linear-gradient(120deg,#07583d 0%,#0b714a 27%,#14955b 55%,#31b873 78%,#0d7049 100%)!important;
  background-size:160% 160%!important;
  animation:visionGradientFlow 10s ease-in-out infinite!important;
  box-shadow:
    0 18px 38px rgba(7,91,57,.17),
    inset 0 1px 0 rgba(255,255,255,.13)!important;
}

/* remove old blinking/pulsing effect from the Vision text */
.vision-highlight p{
  animation:visionTextDrift 9s ease-in-out infinite!important;
  opacity:1!important;
  will-change:transform;
}

/* keep the text fully readable while it moves gently */
@keyframes visionTextDrift{
  0%,100%{transform:translateX(-12px);opacity:1}
  50%{transform:translateX(12px);opacity:1}
}
@keyframes visionGradientFlow{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

@media(max-width:767.98px){
  .vision-highlight p{
    animation:visionTextDriftMobile 9s ease-in-out infinite!important;
  }
  @keyframes visionTextDriftMobile{
    0%,100%{transform:translateX(-4px);opacity:1}
    50%{transform:translateX(4px);opacity:1}
  }
}

@media(prefers-reduced-motion:reduce){
  .vision-highlight,
  .vision-highlight p{
    animation:none!important;
    transform:none!important;
  }
}


/* v14.8 — Vision text typewriter animation, character by character */
.vision-highlight p.vision-typing-text{
  animation:none!important;
  transform:none!important;
  opacity:1!important;
  min-height:3.4em;
  position:relative;
}
.vision-highlight p.vision-typing-text.is-typing::after{
  content:"";
  display:inline-block;
  width:2px;
  height:1.05em;
  margin-left:4px;
  vertical-align:-0.12em;
  background:rgba(255,255,255,.92);
  animation:visionCaretBlink .8s steps(1,end) infinite;
}
.vision-highlight p.vision-typing-text.typing-done::after{
  content:"";
}
@keyframes visionCaretBlink{
  0%,48%{opacity:1}
  49%,100%{opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .vision-highlight p.vision-typing-text::after{
    display:none!important;
  }
}


/* v14.9 — typewriter starts only when Visi is actually visible */
.vision-highlight{
  overflow:hidden;
}
.vision-highlight p.vision-typing-text{
  animation:none!important;
  transform:none!important;
  opacity:1!important;
  min-height:3.6em;
  max-width:100%!important;
  white-space:normal;
}
.vision-highlight p.vision-typing-text.is-typing::after{
  content:"";
  display:inline-block;
  width:2px;
  height:1em;
  margin-left:4px;
  vertical-align:-0.1em;
  background:#ffffff;
  animation:visionCaretBlink .72s steps(1,end) infinite;
  box-shadow:0 0 5px rgba(255,255,255,.35);
}


/* v15.0 — medical visual ambience for the Visi card */
.vision-highlight{isolation:isolate;}
.vision-highlight > *:not(.vision-medical-bg){position:relative;z-index:3;}
.vision-medical-bg{
  position:absolute;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
}
.vision-medical-bg::before{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  left:-65px;
  bottom:-120px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 68px rgba(255,255,255,.018);
}
.vision-medical-bg .med-ico{
  position:absolute;
  color:rgba(255,255,255,.085);
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.05));
  animation:visionMedicalFloat 7s ease-in-out infinite;
}
.vision-medical-bg .med-ico-1{right:7%;top:15%;font-size:4.8rem;transform:rotate(-8deg);}
.vision-medical-bg .med-ico-2{right:24%;bottom:9%;font-size:3.2rem;animation-delay:1.1s;}
.vision-medical-bg .med-ico-3{left:5%;top:18%;font-size:3.5rem;animation-delay:2.1s;}
.vision-medical-bg .med-ico-4{left:34%;bottom:7%;font-size:2.7rem;transform:rotate(18deg);animation-delay:3s;}
.vision-ecg-line{
  position:absolute;
  left:4%;
  right:4%;
  top:53%;
  height:2px;
  opacity:.18;
  background:linear-gradient(90deg,
    transparent 0 4%,
    rgba(255,255,255,.7) 4% 18%,
    transparent 18% 20%,
    rgba(255,255,255,.95) 20% 21%,
    transparent 21% 23%,
    rgba(255,255,255,.95) 23% 24%,
    transparent 24% 27%,
    rgba(255,255,255,.7) 27% 44%,
    transparent 44% 100%);
  animation:visionEcgMove 8s linear infinite;
}
@keyframes visionMedicalFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -8px}
}
@keyframes visionEcgMove{
  0%{transform:translateX(-4%);opacity:.10}
  50%{transform:translateX(4%);opacity:.24}
  100%{transform:translateX(-4%);opacity:.10}
}

/* Survey popup restored to clean version without top logo/illustration */
.service-survey-card .survey-icon,
.service-survey-card .survey-icon-premium{
  display:none!important;
}
.service-survey-card .survey-eyebrow{
  margin-top:0!important;
}

@media(max-width:767.98px){
  .vision-medical-bg .med-ico-1{font-size:3.7rem;right:4%}
  .vision-medical-bg .med-ico-2{font-size:2.4rem;right:15%}
  .vision-medical-bg .med-ico-3{font-size:2.5rem;left:3%}
  .vision-medical-bg .med-ico-4{font-size:2rem;left:30%}
}
@media(prefers-reduced-motion:reduce){
  .vision-medical-bg .med-ico,.vision-ecg-line{animation:none!important;}
}


/* v15.1 — sharpen and clarify medical background on Visi card */
.vision-medical-bg .med-ico{
  color:rgba(255,255,255,.145)!important;
  filter:
    drop-shadow(0 3px 7px rgba(0,0,0,.10))
    drop-shadow(0 0 8px rgba(205,255,225,.08))!important;
}
.vision-medical-bg .med-ico-1{
  color:rgba(220,255,235,.17)!important;
}
.vision-medical-bg .med-ico-2,
.vision-medical-bg .med-ico-3{
  color:rgba(255,255,255,.135)!important;
}
.vision-medical-bg .med-ico-4{
  color:rgba(224,255,237,.15)!important;
}
.vision-ecg-line{
  opacity:.34!important;
  height:2px!important;
  filter:drop-shadow(0 0 3px rgba(221,255,234,.20));
}
.vision-medical-bg::before{
  border-color:rgba(255,255,255,.16)!important;
  box-shadow:
    0 0 0 34px rgba(255,255,255,.045),
    0 0 0 68px rgba(255,255,255,.028)!important;
}

/* retain text contrast while making background details more visible */
.vision-highlight{
  background:
    radial-gradient(circle at 8% 10%,rgba(174,247,204,.23),transparent 24%),
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.13),transparent 25%),
    radial-gradient(circle at 72% 105%,rgba(95,225,153,.20),transparent 34%),
    linear-gradient(120deg,#075239 0%,#0a6b46 27%,#128a55 55%,#2eaa6b 78%,#0c6845 100%)!important;
}


/* v15.2 — Visi card white-to-green gradient */
.vision-highlight{
  background:
    radial-gradient(circle at 88% 18%,rgba(24,145,90,.12),transparent 27%),
    radial-gradient(circle at 8% 92%,rgba(71,190,125,.10),transparent 30%),
    linear-gradient(118deg,#ffffff 0%,#f7fcf9 24%,#e8f7ee 50%,#c9ead6 73%,#8fd0aa 100%)!important;
  border:1px solid rgba(20,126,78,.18)!important;
  box-shadow:
    0 18px 38px rgba(13,104,65,.12),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
  color:#164c36!important;
}

/* Text must remain readable over the light card */
.vision-highlight p,
.vision-highlight p.vision-typing-text{
  color:#174c37!important;
  text-shadow:none!important;
}
.vision-highlight .vision-highlight-kicker{
  color:#0d6f48!important;
  background:rgba(255,255,255,.64)!important;
  border-color:rgba(17,126,77,.15)!important;
}
.vision-highlight a{
  color:#0b7048!important;
  background:rgba(255,255,255,.62)!important;
  border-color:rgba(15,121,74,.15)!important;
}
.vision-highlight a:hover{
  background:#ffffff!important;
  color:#075c3b!important;
}
.vision-live-dot{
  background:#19a760!important;
  box-shadow:0 0 0 5px rgba(25,167,96,.12)!important;
}

/* Medical decoration becomes green on the light background */
.vision-medical-bg .med-ico{
  color:rgba(10,112,69,.15)!important;
  filter:drop-shadow(0 3px 6px rgba(11,101,65,.07))!important;
}
.vision-medical-bg .med-ico-1{color:rgba(8,116,70,.19)!important;}
.vision-medical-bg .med-ico-2,
.vision-medical-bg .med-ico-3{color:rgba(14,123,76,.15)!important;}
.vision-medical-bg .med-ico-4{color:rgba(21,139,85,.17)!important;}
.vision-medical-bg::before{
  border-color:rgba(14,120,73,.12)!important;
  box-shadow:
    0 0 0 34px rgba(20,139,84,.035),
    0 0 0 68px rgba(20,139,84,.022)!important;
}
.vision-ecg-line{
  opacity:.30!important;
  filter:drop-shadow(0 0 2px rgba(9,116,69,.14))!important;
  background:linear-gradient(90deg,
    transparent 0 4%,
    rgba(10,118,70,.72) 4% 18%,
    transparent 18% 20%,
    rgba(8,111,65,.92) 20% 21%,
    transparent 21% 23%,
    rgba(8,111,65,.92) 23% 24%,
    transparent 24% 27%,
    rgba(10,118,70,.72) 27% 44%,
    transparent 44% 100%)!important;
}

/* Typewriter caret follows the new light theme */
.vision-highlight p.vision-typing-text.is-typing::after{
  background:#0b7048!important;
  box-shadow:0 0 4px rgba(11,112,72,.18)!important;
}


/* v15.3 — compact, modern About Faculty section */
.home-profile-section.home-profile-compact{
  padding:34px 0 38px!important;
  background:
    radial-gradient(circle at 8% 30%,rgba(33,160,96,.055),transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f8fcfa 100%);
}
.profile-modern-card{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  min-height:350px;
  overflow:hidden;
  border:1px solid rgba(16,121,74,.13);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 38px rgba(15,91,59,.075);
}
.profile-modern-visual{
  position:relative;
  min-height:350px;
  padding:38px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:
    radial-gradient(circle at 90% 85%,rgba(79,205,128,.38),transparent 32%),
    radial-gradient(circle at 20% 12%,rgba(67,186,116,.16),transparent 25%),
    linear-gradient(135deg,#075238 0%,#0a7048 54%,#16925a 100%);
  color:#fff;
}
.profile-modern-visual::before{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-72px;bottom:-115px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 78px rgba(255,255,255,.022);
}
.profile-medical-watermark{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.profile-medical-watermark i{
  position:absolute;
  left:44px;
  top:38px;
  font-size:4.5rem;
  color:rgba(111,230,158,.25);
}
.profile-medical-watermark span{
  position:absolute;
  left:30px;right:30px;top:39%;
  height:2px;
  opacity:.20;
  background:linear-gradient(90deg,transparent 0 7%,#fff 7% 24%,transparent 24% 27%,#fff 27% 29%,transparent 29% 32%,#fff 32% 34%,transparent 34% 38%,#fff 38% 54%,transparent 54% 100%);
}
.profile-visual-copy{position:relative;z-index:2;margin-bottom:24px;}
.profile-visual-copy small{
  display:block;
  margin-bottom:8px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  color:rgba(255,255,255,.78);
}
.profile-visual-copy strong{
  display:block;
  font-size:clamp(1.7rem,2.2vw,2.45rem);
  line-height:1.08;
}
.profile-visual-copy p{
  margin:9px 0 0;
  font-size:.88rem;
  color:rgba(255,255,255,.72);
}
.profile-focus-pill{
  position:relative;z-index:2;
  width:max-content;
  max-width:100%;
  display:flex;align-items:center;gap:11px;
  padding:11px 15px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;
  background:rgba(255,255,255,.94);
  color:#174b37;
  box-shadow:0 10px 24px rgba(4,61,39,.12);
}
.profile-focus-pill>i{font-size:1.55rem;color:#138451;}
.profile-focus-pill strong,.profile-focus-pill small{display:block;}
.profile-focus-pill strong{font-size:.86rem;}
.profile-focus-pill small{margin-top:2px;font-size:.69rem;color:#71887e;}

.profile-modern-content{
  padding:34px 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.profile-modern-content .section-kicker{
  align-self:flex-start;
  margin-bottom:12px;
  padding:6px 12px;
  font-size:.7rem;
}
.profile-modern-content .home-section-title{
  max-width:760px;
  margin:0 0 12px!important;
  font-size:clamp(1.85rem,2.8vw,3rem)!important;
  line-height:1.08!important;
}
.profile-modern-content .home-section-desc{
  max-width:780px;
  margin:0 0 18px!important;
  font-size:.96rem!important;
  line-height:1.65!important;
}
.profile-points.profile-points-compact{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:0 0 18px;
}
.profile-points.profile-points-compact>div{
  display:flex;
  align-items:flex-start;
  gap:7px;
  padding:10px 11px;
  border:1px solid rgba(18,126,77,.10);
  border-radius:11px;
  background:#f7fbf8;
  font-size:.78rem;
  line-height:1.35;
}
.profile-points.profile-points-compact i{
  flex:0 0 auto;
  margin-top:1px;
  color:#15925a;
  font-size:1rem;
}
.profile-modern-link{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 14px;
  border-radius:10px;
  background:linear-gradient(135deg,#086342,#1b9c5e);
  color:#fff!important;
  font-size:.86rem;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(12,112,69,.13);
}
.profile-modern-link:hover{transform:translateY(-1px);box-shadow:0 11px 22px rgba(12,112,69,.18);}

@media(max-width:991.98px){
  .profile-modern-card{grid-template-columns:1fr;}
  .profile-modern-visual{min-height:270px;padding:30px;}
  .profile-modern-content{padding:30px;}
}
@media(max-width:767.98px){
  .home-profile-section.home-profile-compact{padding:24px 0 28px!important;}
  .profile-modern-card{border-radius:18px;}
  .profile-modern-visual{min-height:240px;padding:24px;}
  .profile-modern-content{padding:24px 20px;}
  .profile-points.profile-points-compact{grid-template-columns:1fr;}
  .profile-modern-content .home-section-title{font-size:1.8rem!important;}
}


/* v15.4 — subtle animations for compact About Faculty section */
.profile-modern-card{
  animation:profileCardEnter .75s ease-out both;
}
.profile-modern-visual::after{
  content:"";
  position:absolute;
  top:-45%;
  left:-35%;
  width:32%;
  height:190%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
  animation:profileSoftSweep 7s ease-in-out infinite;
  pointer-events:none;
}
.profile-medical-watermark i{
  animation:profileHeartFloat 3.2s ease-in-out infinite;
}
.profile-medical-watermark span{
  background-size:125% 100%;
  animation:profileEcgDrift 5.5s linear infinite;
}
.profile-focus-pill{
  animation:profilePillFloat 4s ease-in-out infinite;
}
.profile-points.profile-points-compact>div{
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
}
.profile-points.profile-points-compact>div:hover{
  transform:translateY(-3px);
  border-color:rgba(18,126,77,.20);
  background:#fff;
  box-shadow:0 8px 18px rgba(13,103,65,.08);
}
.profile-points.profile-points-compact>div i{
  transition:transform .25s ease;
}
.profile-points.profile-points-compact>div:hover i{
  transform:scale(1.12) rotate(-5deg);
}
.profile-modern-link{
  transition:transform .25s ease,box-shadow .25s ease;
}
.profile-modern-link i{
  transition:transform .25s ease;
}
.profile-modern-link:hover i{
  transform:translateX(4px);
}

@keyframes profileCardEnter{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes profileSoftSweep{
  0%,18%{left:-38%;opacity:0}
  35%{opacity:1}
  58%,100%{left:118%;opacity:0}
}
@keyframes profileHeartFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-5px) scale(1.045)}
}
@keyframes profileEcgDrift{
  0%{transform:translateX(-3%);opacity:.14}
  50%{transform:translateX(3%);opacity:.24}
  100%{transform:translateX(-3%);opacity:.14}
}
@keyframes profilePillFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@media(prefers-reduced-motion:reduce){
  .profile-modern-card,
  .profile-modern-visual::after,
  .profile-medical-watermark i,
  .profile-medical-watermark span,
  .profile-focus-pill{
    animation:none!important;
  }
  .profile-points.profile-points-compact>div:hover,
  .profile-modern-link:hover{
    transform:none!important;
  }
}
