:root{
  --navy:#0b1e3c;
  --dark-navy:#071226;
  --grey:#f5f7fa;
  --light:#ffffff;
  --muted:#6b7280;
  --primary:#0b5ed7;
}
body{font-family:"Poppins","Roboto",system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:#fff;color:#222}
.bg-navy{background-color:var(--navy)!important}
.text-navy{color:var(--navy)!important}
.navbar-dark.bg-navy .navbar-brand,.navbar-dark.bg-navy .nav-link{color:#fff}
.navbar .navbar-brand{font-family:"Poppins","Roboto",system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-weight:800;font-size:1.6rem;letter-spacing:.6px;line-height:1;display:inline-flex;align-items:center}
.navbar-dark.bg-navy .navbar-brand{color:#fff;background:linear-gradient(90deg,#ffffff,#d8e7ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.navbar.sticky-top{position:relative}
.brand-logo{height:30px;width:auto}
.brand-mark{height:28px;width:auto;display:inline-block}
.header-affiliations{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:16px;z-index:1040}
.aff-logo{display:inline-flex;align-items:center;justify-content:center;height:48px;width:88px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.04);overflow:hidden}
.aff-logo img{max-height:100%;width:auto;object-fit:contain;filter:brightness(1.12) contrast(1.05);transition:transform .3s ease}
.aff-logo img:hover{transform:scale(1.05)}
.header-affiliations-bar{background:#0a1a37}
.header-affiliations-bar .aff-logo{height:28px;width:72px}
.header-affiliations-bar img{max-height:100%;width:auto;object-fit:contain;filter:brightness(1.12) contrast(1.05)}
@media (max-width: 991.98px){
  .aff-logo{height:36px;width:76px}
}
@media (max-width: 575.98px){
  .header-affiliations-bar .aff-logo{height:24px;width:64px}
}
@media (min-width: 992px){
  .navbar .container{padding-right: 300px}
}
.hero{background:linear-gradient(180deg,var(--navy),var(--dark-navy))}
.card,.border,.navbar,.footer{border-color:#e5e7eb!important}
a{color:#0d6efd}
.stat .h2{letter-spacing:.5px}
.btn-primary{background-color:var(--navy);border-color:var(--navy)}
.btn-outline-primary{color:var(--navy);border-color:var(--navy)}
.btn-outline-primary:hover{background-color:var(--navy);color:#fff}
.bg-light{background-color:var(--grey)!important}
img{max-width:100%;height:auto}
@media (prefers-reduced-motion:no-preference){
  .fade-in{animation:fadeIn .6s ease-in-out}
}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.hero-section{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy),#102a56)}
.hero-section{background-size:200% 200%}
.hero-section .hero-illustration{will-change:transform}
@media (prefers-reduced-motion:no-preference){
  .hero-section{animation:heroGradient 12s ease-in-out infinite alternate}
}
.hero-section:before{content:'';position:absolute;inset:0;pointer-events:none;background:
  repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 60px),
  repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 60px);opacity:.25}
@keyframes heroGradient{
  0%{background-position:0% 0%}
  100%{background-position:100% 100%}
}
.hero-section:after{content:'';position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.12),transparent 60%);animation:floatCircle 22s ease-in-out infinite alternate}
.hero-section .headline{color:var(--light)}
.hero-section .sub{color:#dbe3f4}
.glow-line{position:absolute;left:-10%;top:60%;width:140%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);filter:blur(1.2px);opacity:.6;transform:rotate(2deg);animation:glowShift 8s ease-in-out infinite}
.hero-illustration{filter:drop-shadow(0 8px 16px rgba(0,0,0,.25))}
.badge-soft{background:rgba(255,255,255,.12);color:#e6eefc;border:1px solid rgba(255,255,255,.18);padding:.45rem .7rem;border-radius:999px;font-size:.78rem}
.trust-line{color:#c9d6ee;font-size:.9rem;letter-spacing:.2px}
.trust-line .sep{opacity:.6;margin:0 .4rem}
.feature-list{display:flex;flex-wrap:wrap;gap:.9rem;margin:0;padding:0}
.feature-list li{list-style:none;color:#e6eefc;font-size:.9rem;display:flex;align-items:center}
.feature-list .bi{color:#22c55e}
.service-card{transition:transform .2s ease,box-shadow .2s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.icon-circle{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;color:#3b82f6}
.trust-tile{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;display:flex;align-items:center;gap:.6rem}
.trust-tile .bi{color:#198754}
.testimonial{border:1px solid #e5e7eb;border-radius:.5rem;background:#fff}
.gallery-thumb{border-radius:.5rem;overflow:hidden}
.gallery-item{position:relative;display:block;border-radius:.5rem;overflow:hidden}
.gallery-item img{transition:transform .2s ease}
.gallery-item:hover img{transform:scale(1.03)}
.gallery-item:before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.25);opacity:0;transition:opacity .2s ease}
.gallery-item:hover:before{opacity:1}
.gallery-item .overlay-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:1.5rem;opacity:0;transition:opacity .2s ease}
.gallery-item:hover .overlay-icon{opacity:1}
.cta-strip{background:linear-gradient(90deg,#0b1e3c,#183a77);color:#fff}
.footer{background:#0e1b36;color:#cfd8e3}

.course-card .card-img-top{aspect-ratio:16/9;object-fit:cover;background:#0b1e3c}
.course-card .badge{font-size:.75rem}

.btn-partner{opacity:.6;transition:opacity .2s ease,transform .2s ease;border-color:rgba(255,255,255,.7);color:#fff}
.btn-partner:hover{opacity:1;transform:translateY(-1px)}

.section-title{position:relative;display:inline-flex;align-items:center;gap:.5rem;color:var(--navy);letter-spacing:.3px}
.section-title i{color:#3b82f6}
.section-title:after{content:'';position:absolute;left:0;bottom:-8px;width:72px;height:3px;background:linear-gradient(90deg,#3b82f6,#22c55e);border-radius:3px}
 
 .gallery-thumb{width:100%;height:160px;object-fit:cover;aspect-ratio:4/3;background:#0b1e3c}
 @media (max-width: 576px){
   .gallery-thumb{height:120px}
 }
 .carousel-indicators [data-bs-target]{width:10px;height:10px;border-radius:50%;background:#9aa5b1}
 .carousel-indicators .active{background:#0b5ed7}
@keyframes floatCircle{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-10px,12px) scale(1.03)}100%{transform:translate(6px,18px) scale(1.02)}}
@keyframes glowShift{0%{opacity:.4;filter:blur(1px)}50%{opacity:.7;filter:blur(1.6px)}100%{opacity:.4;filter:blur(1px)}}
@media (prefers-reduced-motion:no-preference){
  .hero-section:before{animation:gridPan 28s linear infinite}
}
@keyframes gridPan{0%{background-position:0 0,0 0}100%{background-position:120px 0,0 120px}}
 
.site-footer{background:linear-gradient(180deg,var(--navy),#0a1a37);color:#cfd8e3;position:relative}
.site-footer .footer-accent{position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#22c55e,#3b82f6)}
.site-footer .brand-name{font-weight:800;font-size:1.25rem;color:#fff;letter-spacing:.5px}
.site-footer .foot-title{color:#fff;margin-bottom:.5rem}
.site-footer .foot-list li{line-height:1.5}
.site-footer .icon-link{width:36px;height:36px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#e6eefc}
.site-footer .icon-link:hover{background:rgba(255,255,255,.16);color:#fff}
.site-footer .foot-divider{border-color:rgba(255,255,255,.12)}
.site-footer a.link-light{color:#e6eefc;text-decoration:none}
.site-footer a.link-light:hover{color:#fff;text-decoration:underline}

.icon-title{display:flex;align-items:center;justify-content:center;gap:.6rem;font-weight:700;letter-spacing:.3px}
.icon-title .bi{color:#22c55e}
.section-lead{max-width:760px;margin:0 auto;color:#6b7280}
.vsn-card{border:1px solid #e5e7eb;border-radius:12px;padding:1rem;background:#fff;display:flex;gap:.75rem;align-items:flex-start}
.vsn-card .vsn-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#0b1e3c;color:#e6eefc;font-size:1.6rem}
.logo-card{border:1px solid #e5e7eb;border-radius:12px;padding:1rem;background:#fff;text-align:center}
.logo-card img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}
.mini-testimonials .carousel-item{min-height:120px}
.mini-testimonials .testimonial{background:#0e1b36;color:#e6eefc;border:0}
.aff-card{border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.aff-card .aff-img{width:100%;aspect-ratio:650/360;object-fit:contain;background:#f5f7fa;border-bottom:1px solid #e5e7eb;border-top-left-radius:12px;border-top-right-radius:12px}
