/*
  Nkhoma College of Nursing & Midwifery — Premium Public Website Theme
  Works with Bootstrap 5, no build tools, no framework dependency.
*/
:root{
  --brand:#E46AA3;
  --brand-700:#D42677;
  --brand-900:#A91E5F;
  --ink:#0f172a;
  --ink-soft:#334155;
  --muted:#64748b;
  --line:#e2e8f0;
  --paper:#ffffff;
  --surface:#f8fafc;
  --surface-2:#f1f5f9;
  --success:#0f766e;
  --warning:#b45309;
  --danger:#b91c1c;
  --shadow-sm:0 8px 20px rgba(15,23,42,.08);
  --shadow-md:0 18px 45px rgba(15,23,42,.13);
  --shadow-lg:0 30px 80px rgba(15,23,42,.18);
  --radius:22px;
  --radius-sm:14px;
  --container-w:1200px;
  --topbar-h:40px;
  --navbar-h:76px;
  --header-offset:calc(var(--topbar-h) + var(--navbar-h));
  --focus:#2563eb;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-offset) + 1rem)}
body{
  margin:0;
  color:var(--ink);
  background:linear-gradient(180deg,#fff 0%,#fff 45%,#fbfdff 100%);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:var(--brand-700);text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
a:hover{color:var(--brand-900)}
::selection{background:rgba(212,38,119,.18)}
.container{width:min(var(--container-w),calc(100% - 2rem));margin-inline:auto}
.text-balance{text-wrap:balance}
.text-muted{color:var(--muted)!important}
.bg-soft{background:var(--surface)}
.border-soft{border:1px solid var(--line)}
.shadow-premium{box-shadow:var(--shadow-md)}
.rounded-premium{border-radius:var(--radius)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Accessibility */
.skip-link,.visually-hidden-focusable{
  position:absolute;left:1rem;top:.75rem;z-index:9999;background:#fff;color:var(--ink);padding:.7rem 1rem;border-radius:999px;box-shadow:var(--shadow-md);transform:translateY(-140%);
}
.skip-link:focus,.visually-hidden-focusable:focus{transform:translateY(0);outline:3px solid var(--focus);outline-offset:3px}
:focus-visible{outline:3px solid rgba(37,99,235,.55);outline-offset:3px;border-radius:8px}

/* Buttons */
.btn{font-weight:750;letter-spacing:.01em;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;transition:transform .12s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-primary,.btn--primary,.btn-cta{
  --bs-btn-color:#fff;--bs-btn-bg:var(--brand-700);--bs-btn-border-color:var(--brand-700);
  --bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--brand-900);--bs-btn-hover-border-color:var(--brand-900);
  --bs-btn-active-color:#fff;--bs-btn-active-bg:var(--brand-900);--bs-btn-active-border-color:var(--brand-900);
  background:linear-gradient(135deg,var(--brand),var(--brand-700));border-color:var(--brand-700);color:#fff;box-shadow:0 14px 30px rgba(212,38,119,.26);
}
.btn-primary:hover,.btn--primary:hover,.btn-cta:hover{color:#fff;box-shadow:0 18px 38px rgba(169,30,95,.32);filter:none}
.btn--outline,.btn-outline-primary,.btn-outline-secondary{
  --bs-btn-color:var(--brand-700);--bs-btn-border-color:rgba(212,38,119,.55);
  --bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--brand-700);--bs-btn-hover-border-color:var(--brand-700);
  color:var(--brand-700);border-color:rgba(212,38,119,.55);background:#fff;
}
.btn--ghost,.btn-light{background:#fff;border:1px solid var(--line);color:var(--ink-soft);box-shadow:0 8px 20px rgba(15,23,42,.06)}
.btn--ghost:hover,.btn-light:hover{background:var(--surface);color:var(--ink)}
.btn .bi{line-height:1}

/* Header */
.topbar-premium{
  position:sticky;top:0;z-index:1035;min-height:var(--topbar-h);display:flex;align-items:center;background:#0f172a;color:#e2e8f0;font-size:.875rem;border-bottom:1px solid rgba(255,255,255,.08)
}
.topbar-premium a{color:#e2e8f0;text-decoration:none}.topbar-premium a:hover{color:#fff;text-decoration:underline}
.topbar-chip{display:inline-flex;align-items:center;gap:.45rem;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:.35rem .65rem;border-radius:999px}
.site-header-wrap{position:sticky;top:var(--topbar-h);z-index:1030;background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid rgba(226,232,240,.85);box-shadow:0 12px 30px rgba(15,23,42,.06)}
.site-header-wrap.is-scrolled{box-shadow:0 14px 36px rgba(15,23,42,.12)}
.mega-navbar{min-height:var(--navbar-h);background:transparent!important;z-index:1030;padding:.6rem 0}
.navbar-brand{min-width:0}
.navbar-brand img{object-fit:contain}.brand-lockup{min-width:0}.brand-title{font-weight:850;color:var(--ink);letter-spacing:-.02em;line-height:1.05}.brand-subtitle{color:var(--muted);font-size:.78rem;line-height:1.1}
.navbar-toggler{border:1px solid var(--line);border-radius:14px;padding:.55rem .65rem;box-shadow:none!important}.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(212,38,119,.18)!important}
.navbar-nav .nav-link{color:var(--ink-soft);font-weight:750;border-radius:999px;padding:.62rem .85rem!important}
.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus,.navbar-nav .nav-link.active{background:rgba(212,38,119,.08);color:var(--brand-900)}
.navbar .dropdown-toggle::after{margin-left:.38rem;vertical-align:.12em}
.dropdown-menu.mega-menu{border:1px solid rgba(226,232,240,.95);border-radius:22px;box-shadow:var(--shadow-lg);padding:1.15rem;background:#fff;overflow:hidden}
.mega-menu::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--brand),var(--brand-700),#8b5cf6)}
.mega-menu h6{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:850;margin-bottom:.65rem}
.dropdown-item{border-radius:12px;padding:.58rem .75rem;color:var(--ink-soft);font-weight:650}.dropdown-item:hover,.dropdown-item:focus{background:rgba(212,38,119,.08);color:var(--brand-900)}
.mega-card{height:100%;border:1px solid var(--line);background:linear-gradient(135deg,#fff,var(--surface));border-radius:20px;padding:1rem;box-shadow:var(--shadow-sm)}
.header-search-btn{width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);display:grid;place-items:center}.header-search-btn:hover{background:var(--surface);color:var(--brand-900)}
.notice-shell{position:relative;z-index:1020}

@media (min-width:992px){
  .dropdown-mega.position-static{position:static!important}.dropdown-mega .dropdown-menu.mega-menu{position:absolute;left:50%;top:100%;transform:translateX(-50%);width:min(1080px,calc(100vw - 2rem));margin-top:.5rem;display:none}.dropdown-mega:hover>.dropdown-menu,.dropdown-mega:focus-within>.dropdown-menu,.dropdown-mega.show>.dropdown-menu{display:block}.dropdown-mega::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
}
@media (max-width:991.98px){
  .site-header-wrap{top:0}.topbar-premium{display:none}.mega-navbar{min-height:64px}.navbar-collapse{padding:1rem 0}.navbar-nav .nav-link{border-radius:14px}.dropdown-menu.mega-menu{position:static!important;box-shadow:none;border-radius:16px;margin:.25rem 0 1rem;padding:.75rem}.mega-menu::before{display:none}.brand-title{font-size:.95rem}.brand-subtitle{display:none}html{scroll-padding-top:76px}
}
@media (max-width:575.98px){.brand-title{max-width:58vw;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.navbar-brand img:first-child{height:40px!important}.navbar-brand img:nth-child(2){display:none!important}}

/* Page heroes */
.page-hero,.hero,.hero-slide{position:relative;overflow:hidden;isolation:isolate}
.page-hero{min-height:300px;display:grid;place-items:center;color:#fff;background-color:#111827;background-size:cover;background-position:center}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.84),rgba(15,23,42,.48),rgba(15,23,42,.16));z-index:-1}.page-hero .inner{position:relative;z-index:1;text-align:center}.page-hero h1{font-weight:900;letter-spacing:-.03em;text-wrap:balance}.page-hero p{color:rgba(255,255,255,.9)}
.hero-slide{min-height:clamp(560px,74vh,760px);display:flex;align-items:center;color:#fff;background:#111827}.hero-slide .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);transition:transform 1.2s ease}.carousel-item.active .hero-slide .bg{transform:scale(1)}.hero-slide .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.88),rgba(15,23,42,.58) 48%,rgba(15,23,42,.16)),linear-gradient(180deg,rgba(15,23,42,.25),rgba(15,23,42,.65))}.hero-slide .content{position:relative;z-index:2}.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.14em;font-weight:850;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:.45rem .72rem;margin-bottom:1rem}.hero-eyebrow::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--brand)}.hero-title{font-weight:950;letter-spacing:-.055em;line-height:1;text-wrap:balance}.hero-lead{font-size:clamp(1.05rem,1.4vw,1.28rem);line-height:1.65;color:rgba(255,255,255,.92);max-width:760px}.carousel-control-prev,.carousel-control-next{width:52px;height:52px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:999px;opacity:1;backdrop-filter:blur(8px)}.carousel-control-prev{left:1.25rem}.carousel-control-next{right:1.25rem}.carousel-indicators [data-bs-target]{width:10px;height:10px;border-radius:999px;border:0;opacity:.55}.carousel-indicators .active{width:28px;opacity:1;background:var(--brand)}
@media (max-width:767.98px){.hero-slide{min-height:620px}.carousel-control-prev,.carousel-control-next{display:none}.hero-title{font-size:2.3rem}.hero-slide .shade{background:linear-gradient(180deg,rgba(15,23,42,.82),rgba(15,23,42,.62))}}

/* Sections/cards */
.section{padding:clamp(3rem,6vw,5.5rem) 0}.section--muted{background:var(--surface)}.section-kicker{display:inline-flex;align-items:center;gap:.5rem;color:var(--brand-900);font-weight:850;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem}.section-kicker::before{content:"";width:32px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand-700))}.section-title{display:flex;align-items:center;gap:.75rem}.section-title .dot{width:.62rem;height:.62rem;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand-700));display:inline-block;box-shadow:0 0 0 6px rgba(212,38,119,.1)}.section-title h2{font-weight:900;letter-spacing:-.025em}.lead-soft{color:var(--muted);font-size:1.08rem;line-height:1.75}.premium-card,.prog-card,.t-card,.stats-wrap,.programme-card{border:1px solid rgba(226,232,240,.95)!important;background:#fff;border-radius:var(--radius)!important;box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .22s ease,border-color .22s ease}.premium-card:hover,.prog-card:hover,.programme-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(212,38,119,.28)!important}.card{border-radius:var(--radius-sm)}.card.border-0{box-shadow:var(--shadow-sm);border:1px solid var(--line)!important;border-radius:var(--radius)}.card-img-top,.card img.w-100{border-radius:var(--radius-sm)}

/* Homepage specific */
.journey-band{margin-top:-60px;position:relative;z-index:5}.journey-wrap{background:linear-gradient(135deg,#111827,#1e293b);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:1.25rem;box-shadow:var(--shadow-lg)}.journey-item{display:flex;gap:.9rem;align-items:flex-start;padding:.75rem;border-radius:18px}.journey-ico{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;font-size:1.25rem;flex:0 0 48px}.journey-title{font-weight:850;line-height:1.2}.journey-desc{color:rgba(255,255,255,.76);font-size:.92rem}.quick-link-card{display:flex;gap:1rem;align-items:flex-start;height:100%;padding:1.15rem;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.quick-link-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.quick-link-icon{width:50px;height:50px;border-radius:18px;display:grid;place-items:center;background:rgba(212,38,119,.1);color:var(--brand-900);font-size:1.25rem;flex:0 0 50px}.principal-section{background:linear-gradient(135deg,#fff,var(--surface));border:1px solid var(--line);border-radius:32px;overflow:hidden;box-shadow:var(--shadow-md);position:relative}.principal-section::after{content:"";position:absolute;right:-120px;top:-120px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(228,106,163,.2),transparent 70%)}.principal-content{position:relative;z-index:1;padding:clamp(1.5rem,4vw,3rem)}.principal-body{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}.principal-image{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:26px;box-shadow:var(--shadow-md);border:8px solid #fff}.principal-name{font-weight:900;font-size:1.25rem;margin-top:1rem}.principal-title{color:var(--muted);font-weight:650}.principal-message-text{font-size:1.06rem;line-height:1.85;color:var(--ink-soft)}.principal-quote-mark{font-family:Georgia,serif;font-size:5rem;color:rgba(212,38,119,.18);line-height:1;position:absolute;transform:translate(-.6rem,-1.2rem);z-index:-1}.principal-badge{display:inline-flex;align-items:center;background:rgba(212,38,119,.1);color:var(--brand-900);border:1px solid rgba(212,38,119,.2);border-radius:999px;padding:.45rem .8rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}.principal-title-main{font-weight:950;letter-spacing:-.035em;margin:.75rem 0 0}.clamp-5{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.clamp-expanded{-webkit-line-clamp:initial}.readmore-btn{border:0;background:transparent;color:var(--brand-900);font-weight:850;padding:0}.readmore-btn:hover{text-decoration:underline}.accent-line{width:70px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand-700),#8b5cf6);margin-bottom:1rem}.stat-item{display:flex;align-items:center;gap:1rem;padding:1rem}.stat-ico{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:rgba(212,38,119,.1);color:var(--brand-900);font-size:1.3rem;flex:0 0 52px}.stat-val{font-weight:950;font-size:clamp(1.65rem,3vw,2.4rem);letter-spacing:-.04em;line-height:1}.stat-k{color:var(--muted);font-weight:650}.prog-card{display:flex;gap:.9rem;padding:1.15rem;height:100%;color:inherit}.prog-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:rgba(212,38,119,.1);color:var(--brand-900);flex:0 0 44px}.prog-meta{color:var(--muted);font-size:.92rem}.cta-band{position:relative;overflow:hidden;border-radius:32px;background:linear-gradient(135deg,#111827,#312e81);color:#fff;padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow-lg)}.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(228,106,163,.35),transparent 30%)}.cta-band>*{position:relative;z-index:1}.news-card-img{aspect-ratio:16/9;object-fit:cover;width:100%;border-radius:18px}.event-datebox{width:62px;min-width:62px;border-radius:18px;background:rgba(212,38,119,.1);color:var(--brand-900);text-align:center;padding:.55rem .25rem;font-weight:900}.event-datebox small{display:block;color:var(--muted);font-weight:800;text-transform:uppercase;font-size:.68rem}
@media (max-width:991.98px){.principal-body{grid-template-columns:1fr}.principal-image{max-width:320px}.journey-band{margin-top:1rem}.journey-wrap{border-radius:22px}}

/* Forms */
.form-control,.form-select{border-radius:14px;border-color:#cbd5e1;min-height:44px}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .22rem rgba(212,38,119,.14)}.input-group-text{border-radius:14px;border-color:#cbd5e1;background:#fff}.alert{border-radius:18px}.badge{border-radius:999px;padding:.45em .7em}.list-group-item{border-color:var(--line);padding:1rem}.list-group{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}

/* Footer */
.site-footer{margin-top:auto;background:#0f172a;color:#cbd5e1;position:relative}.site-footer a{color:#e2e8f0}.site-footer a:hover{color:#fff}.site-footer .footer-top{padding:clamp(2.5rem,5vw,4.5rem) 0;background:radial-gradient(circle at 15% 0%,rgba(228,106,163,.16),transparent 32%),#0f172a}.site-footer .footer-bottom{padding:1rem 0;border-top:1px solid rgba(255,255,255,.08);background:#0b1220}.site-footer h3,.site-footer h4{color:#fff}.footer-logo-card{display:flex;align-items:center;gap:.8rem}.footer-logo-card img{background:#fff;border-radius:16px;padding:.25rem}.social-link{width:38px;height:38px;border:1px solid rgba(255,255,255,.14);border-radius:999px;display:inline-grid;place-items:center;color:#fff;background:rgba(255,255,255,.06)}.social-link:hover{background:var(--brand-700);border-color:var(--brand-700);color:#fff}.newsletter-mini .input-group{background:#fff;border-radius:999px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.newsletter-mini .form-control{border:0;border-radius:999px 0 0 999px}.newsletter-mini .btn-brand{background:var(--brand-700);border-color:var(--brand-700);color:#fff;border-radius:999px!important}.back-to-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;box-shadow:var(--shadow-md);z-index:999;opacity:0;visibility:hidden;transform:translateY(8px)}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}

/* Utilities for existing pages */
.aside-stick{position:sticky;top:calc(var(--header-offset) + 1rem)}.strip{background:var(--surface)}.hp-wrap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.reveal-on-scroll{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}

/* ========================================================================
   Professional university polish v2 — applied globally to all public pages
   ======================================================================== */
:root{
  --brand:#E46AA3;
  --brand-700:#D42677;
  --brand-900:#A91E5F;
  --navy:#0f172a;
  --navy-2:#111827;
  --ink:#0f172a;
  --ink-soft:#334155;
  --muted:#64748b;
  --line:#e2e8f0;
  --paper:#ffffff;
  --surface:#f8fafc;
  --surface-2:#eef2f7;
  --gold:#f4b740;
  --radius:22px;
  --radius-sm:14px;
  --shadow-sm:0 8px 24px rgba(15,23,42,.08);
  --shadow-md:0 18px 48px rgba(15,23,42,.13);
  --shadow-lg:0 32px 86px rgba(15,23,42,.18);
  --topbar-h:40px;
  --navbar-h:78px;
  --header-offset:calc(var(--topbar-h) + var(--navbar-h));
}
html{scroll-padding-top:calc(var(--header-offset) + 18px)}
body{background:#fff;color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 12% 10%,rgba(228,106,163,.08),transparent 34%),radial-gradient(circle at 92% 8%,rgba(15,23,42,.06),transparent 28%),linear-gradient(180deg,#fff 0%,#fff 52%,#f8fafc 100%)}
a{text-decoration:none}.container{width:min(1220px,calc(100% - 2rem));max-width:none}.fw-black{font-weight:950}.rounded-premium{border-radius:var(--radius)!important}.shadow-premium{box-shadow:var(--shadow-md)!important}

/* Header and navigation */
.site-chrome{position:relative;z-index:1040}.topbar-premium{height:auto;min-height:var(--topbar-h);background:linear-gradient(90deg,#0b1220,#111827);border-bottom:1px solid rgba(255,255,255,.08);color:#e5e7eb;font-size:.84rem;position:sticky;top:0;z-index:1045}.topbar-inner{min-height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar-left,.topbar-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.topbar-premium a,.topbar-premium span{color:#e5e7eb}.topbar-premium a{display:inline-flex;align-items:center;gap:.4rem;font-weight:650}.topbar-premium a:hover{color:#fff;text-decoration:none}.topbar-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);border-radius:999px;padding:.28rem .62rem;font-weight:750;color:#fff!important}
.site-header-wrap{position:sticky;top:var(--topbar-h);z-index:1040;background:rgba(255,255,255,.96);backdrop-filter:saturate(170%) blur(16px);border-bottom:1px solid rgba(226,232,240,.95);box-shadow:0 12px 36px rgba(15,23,42,.06)}.site-header-wrap.is-scrolled{box-shadow:0 18px 50px rgba(15,23,42,.14)}
.mega-navbar{min-height:var(--navbar-h);padding:.62rem 0;background:transparent!important}.nav-container{display:flex!important;align-items:center!important;gap:1rem;min-width:0}.header-brand{display:flex!important;align-items:center;gap:.72rem;min-width:0;flex:0 1 430px;margin-right:.5rem;padding:0!important;color:var(--ink)!important}.brand-emblem,.brand-crest-wrap{display:grid;place-items:center;flex:0 0 auto;border-radius:18px;background:#fff;border:1px solid rgba(226,232,240,.95);box-shadow:0 8px 22px rgba(15,23,42,.08)}.brand-emblem{width:56px;height:56px}.brand-crest-wrap{width:48px;height:48px}.brand-logo{width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important;object-fit:contain!important;display:block}.brand-crest{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important;display:block}.brand-lockup{display:block;min-width:0;max-width:310px}.brand-title{display:block;font-weight:930;letter-spacing:-.035em;line-height:1.05;color:var(--ink);font-size:1.04rem;white-space:normal}.brand-subtitle{display:block;margin-top:.15rem;color:var(--brand-900);font-size:.75rem;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-collapse{min-width:0;flex-grow:1}.main-menu{gap:.08rem}.navbar-nav .nav-link{color:var(--ink-soft)!important;font-weight:820;font-size:.93rem;border-radius:999px;padding:.57rem .72rem!important;white-space:nowrap}.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus,.navbar-nav .nav-link.active{background:linear-gradient(135deg,rgba(228,106,163,.13),rgba(212,38,119,.08));color:var(--brand-900)!important}.navbar .dropdown-toggle::after{margin-left:.3rem;vertical-align:.14em}.nav-actions{display:flex;align-items:center;gap:.55rem;flex:0 0 auto;margin-left:auto}.header-search-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);box-shadow:0 8px 20px rgba(15,23,42,.06)}.header-search-btn:hover{color:#fff;background:var(--brand-700);border-color:var(--brand-700);transform:translateY(-1px)}.nav-apply-btn{min-height:43px;padding-inline:1rem!important}.navbar-toggler{border:1px solid var(--line)!important;border-radius:14px!important;padding:.55rem .66rem!important;background:#fff!important;box-shadow:0 8px 20px rgba(15,23,42,.06)!important}.navbar-toggler:focus{box-shadow:0 0 0 .22rem rgba(212,38,119,.18)!important}
.dropdown-menu.mega-menu{border:1px solid rgba(226,232,240,.98)!important;border-radius:24px!important;box-shadow:0 34px 90px rgba(15,23,42,.18)!important;padding:1.2rem!important;background:#fff!important;overflow:hidden}.mega-menu::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--brand),var(--brand-700),#7c3aed)}.mega-menu h6{font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:900;margin-bottom:.65rem}.dropdown-item{display:flex;align-items:center;gap:.55rem;border-radius:14px;padding:.68rem .78rem;color:var(--ink-soft);font-weight:720}.dropdown-item:hover,.dropdown-item:focus{background:rgba(212,38,119,.09);color:var(--brand-900)}.mega-card{height:100%;border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f8fafc);border-radius:22px;padding:1.05rem;box-shadow:0 12px 28px rgba(15,23,42,.08)}
@media (min-width:1200px){.dropdown-mega.position-static{position:static!important}.dropdown-mega .dropdown-menu.mega-menu{position:absolute;left:50%;top:100%;transform:translateX(-50%);width:min(1080px,calc(100vw - 2rem));margin-top:.65rem;display:none}.dropdown-mega:hover>.dropdown-menu,.dropdown-mega:focus-within>.dropdown-menu,.dropdown-mega.show>.dropdown-menu{display:block}.dropdown-mega::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}}
@media (min-width:1200px) and (max-width:1370px){.header-brand{flex-basis:360px}.brand-lockup{max-width:250px}.brand-title{font-size:.94rem}.navbar-nav .nav-link{font-size:.88rem;padding:.52rem .56rem!important}.brand-crest-wrap{display:none!important}.nav-apply-btn{padding-inline:.8rem!important}}
@media (max-width:1199.98px){:root{--topbar-h:0px}.topbar-premium{display:none}.site-header-wrap{top:0}.mega-navbar{min-height:72px}.header-brand{flex:1 1 auto;max-width:calc(100% - 120px)}.navbar-collapse{order:4;width:100%;flex-basis:100%;background:#fff;border-top:1px solid var(--line);margin-top:.8rem;padding:1rem 0}.navbar-nav .nav-link{border-radius:14px;padding:.72rem .85rem!important}.dropdown-menu.mega-menu{position:static!important;border-radius:18px!important;box-shadow:none!important;margin:.25rem 0 1rem!important;padding:.85rem!important}.mega-menu::before{display:none}.nav-actions{margin-left:0}.brand-title{font-size:1rem}.brand-subtitle{font-size:.74rem}}
@media (max-width:575.98px){.brand-emblem{width:48px;height:48px;border-radius:16px}.brand-logo{width:40px!important;height:40px!important}.brand-lockup{max-width:58vw}.brand-title{font-size:.92rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.brand-subtitle{display:none}.header-search-btn{width:40px;height:40px}.nav-apply-btn{display:none!important}.container{width:min(100% - 1.2rem,1220px)}}

/* Page hero systems used across all public pages */
.page-hero,.hero-cover,.page-header{position:relative;isolation:isolate;overflow:hidden;background:#111827;color:#fff;border-bottom:0!important}.page-hero,.hero-cover{min-height:clamp(260px,34vw,430px);display:grid;align-items:center;background-size:cover!important;background-position:center!important}.page-header{padding:clamp(2.5rem,5vw,4.5rem) 0;background:linear-gradient(135deg,#0f172a,#1e293b)}.page-hero::before,.hero-cover::before,.page-header::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(15,23,42,.88),rgba(15,23,42,.62) 50%,rgba(15,23,42,.28))}.page-hero::after,.hero-cover::after,.page-header::after{content:"";position:absolute;right:-90px;top:-120px;width:310px;height:310px;border-radius:999px;background:radial-gradient(circle,rgba(228,106,163,.42),transparent 68%);z-index:-1}.page-hero .inner,.page-hero .content,.hero-cover .hero-inner{position:relative;z-index:1;padding-block:clamp(2.5rem,6vw,5rem)}.page-hero h1,.page-hero .display-5,.page-hero .display-6,.hero-cover h1,.hero-cover .display-6,.page-header h1,.page-header h4{font-weight:950;letter-spacing:-.045em;line-height:1.05;color:#fff}.page-hero p,.hero-cover p,.page-header p{color:rgba(255,255,255,.86)}.page-hero .eyebrow,.hero-cover .small,.page-header .small{text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:rgba(255,255,255,.8)}.breadcrumb{--bs-breadcrumb-divider-color:rgba(255,255,255,.6);font-size:.88rem}.breadcrumb a{color:rgba(255,255,255,.85)}.breadcrumb .active{color:rgba(255,255,255,.66)}.hero-cover .breadcrumb,.page-header .breadcrumb,.page-hero .breadcrumb{margin-bottom:.75rem}
.hero-slide{min-height:clamp(560px,72vh,760px)}.hero-slide .shade{background:linear-gradient(90deg,rgba(15,23,42,.88),rgba(15,23,42,.62) 48%,rgba(15,23,42,.18)),linear-gradient(180deg,rgba(15,23,42,.18),rgba(15,23,42,.72))}.hero-title{font-size:clamp(2.55rem,5vw,5.35rem);font-weight:950;letter-spacing:-.065em}.hero-lead{font-size:clamp(1.05rem,1.5vw,1.28rem);max-width:760px}.hero-eyebrow{backdrop-filter:blur(8px)}
@media (max-width:767.98px){.hero-slide{min-height:610px}.page-hero,.hero-cover{min-height:300px}.page-hero .inner,.page-hero .content,.hero-cover .hero-inner{padding-block:2.7rem}.hero-title{font-size:2.45rem}}

/* Global page layout polish */
main,.section{position:relative}.section{padding:clamp(3rem,6vw,5.5rem) 0}.section--muted,.strip{background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.container.py-4,.container.py-5,.container.my-4{position:relative}.section-title{display:flex;align-items:center;gap:.65rem}.section-title .dot{width:.62rem;height:.62rem;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-700));box-shadow:0 0 0 7px rgba(212,38,119,.12);display:inline-block}.section-title h1,.section-title h2,.section-title h3,.section-title h4,.section-title h5,.section-title h6{font-weight:900;letter-spacing:-.025em}.section-kicker{display:inline-flex!important;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;font-size:.74rem;color:var(--brand-900)}.section-kicker::before{content:"";display:inline-block;width:34px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--brand),var(--brand-700))}.lead-soft{color:var(--muted);font-size:1.08rem;line-height:1.75}.text-body{color:var(--ink-soft)!important}.text-muted{color:var(--muted)!important}
.card,.section-card,.principal-wrap,.contact-card,.dl-card,.job-card,.leader,.quick-nav,.programme-card,.g-card,.premium-card,.stats-wrap,.prog-card,.t-card{border:1px solid rgba(226,232,240,.95)!important;border-radius:var(--radius)!important;background:#fff!important;box-shadow:var(--shadow-sm)!important;overflow:hidden}.card:hover,.section-card:hover,.contact-card:hover,.dl-card:hover,.job-card:hover,.leader:hover,.programme-card:hover,.g-card:hover,.premium-card:hover,.prog-card:hover{box-shadow:var(--shadow-md)!important;border-color:rgba(212,38,119,.28)!important}.card-body{padding:1.25rem}.card-img-top,.thumb img,.headshot img,.g-media img{object-fit:cover}.icon-circle,.quick-link-icon,.stat-ico,.prog-icon{display:grid;place-items:center;border-radius:18px;background:rgba(212,38,119,.1);color:var(--brand-900)}.icon-circle{width:44px;height:44px;flex:0 0 44px}.brand-soft{background:rgba(212,38,119,.1)!important;color:var(--brand-900)!important;border-color:rgba(212,38,119,.18)!important}.badge.text-bg-light{background:#f8fafc!important;color:var(--ink-soft)!important;border:1px solid var(--line)!important}.alert{border-radius:18px;border-color:var(--line)}.list-group{border-radius:var(--radius)!important;box-shadow:var(--shadow-sm);overflow:hidden}.list-group-item{border-color:var(--line);padding:1rem 1.15rem}.accordion-item{border-color:var(--line)!important;border-radius:18px!important;overflow:hidden;margin-bottom:.7rem;box-shadow:0 8px 18px rgba(15,23,42,.05)}.accordion-button{font-weight:800}.accordion-button:not(.collapsed){background:rgba(212,38,119,.08);color:var(--brand-900)}.table{vertical-align:middle}.table thead th{background:#f8fafc;color:var(--ink);font-weight:850;border-bottom:1px solid var(--line)}.table>:not(caption)>*>*{border-bottom-color:var(--line)}

/* Forms, filters and application wizard */
.form-control,.form-select{border-radius:15px;border:1px solid #cbd5e1;min-height:46px;background:#fff}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .22rem rgba(212,38,119,.14)}.form-label{font-weight:800;color:var(--ink-soft);font-size:.9rem}.input-group-text{border-radius:15px;border-color:#cbd5e1;background:#fff}.filterbar,.filters,.card.shadow-sm.mb-4.border-0{border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);padding:1rem}.apply-wizard>.mb-2:first-child{border:1px solid var(--line);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem}.wizard-steps{display:flex;gap:.5rem;flex-wrap:wrap}.wizard-steps>*{border-radius:999px!important;background:#fff;border:1px solid var(--line);box-shadow:0 8px 18px rgba(15,23,42,.04);padding:.55rem .85rem;font-weight:800}

/* Buttons */
.btn{font-weight:850;border-radius:999px;letter-spacing:.005em;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.btn:hover{transform:translateY(-1px)}.btn-primary,.btn--primary,.btn-cta,.btn-brand{background:linear-gradient(135deg,var(--brand),var(--brand-700))!important;border-color:var(--brand-700)!important;color:#fff!important;box-shadow:0 16px 34px rgba(212,38,119,.27)!important}.btn-primary:hover,.btn--primary:hover,.btn-cta:hover,.btn-brand:hover{background:linear-gradient(135deg,var(--brand-700),var(--brand-900))!important;color:#fff!important;box-shadow:0 20px 42px rgba(169,30,95,.34)!important}.btn--outline,.btn-outline-primary,.btn-outline-secondary{color:var(--brand-900)!important;border-color:rgba(212,38,119,.45)!important;background:#fff!important}.btn--outline:hover,.btn-outline-primary:hover,.btn-outline-secondary:hover{background:var(--brand-700)!important;color:#fff!important;border-color:var(--brand-700)!important}.btn-light,.btn--ghost{background:#fff!important;border:1px solid var(--line)!important;color:var(--ink-soft)!important;box-shadow:0 8px 20px rgba(15,23,42,.06)!important}.btn-light:hover,.btn--ghost:hover{background:#f8fafc!important;color:var(--ink)!important}

/* Homepage polish */
.journey-band{margin-top:-58px;position:relative;z-index:5}.journey-wrap{background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:1.25rem;box-shadow:var(--shadow-lg)}.journey-item{display:flex;gap:.95rem;align-items:flex-start;border-radius:20px;padding:.85rem;color:#fff}.journey-ico{width:50px;height:50px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.12);color:#fff;font-size:1.25rem;flex:0 0 50px}.journey-title{font-weight:900}.journey-desc{color:rgba(255,255,255,.76);font-size:.92rem}.quick-link-card{display:flex;gap:1rem;align-items:flex-start;height:100%;padding:1.2rem;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);color:inherit}.quick-link-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);color:inherit}.quick-link-icon{width:52px;height:52px;flex:0 0 52px;font-size:1.25rem}.principal-section{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow-md);overflow:hidden}.principal-image{border-radius:26px!important;border:8px solid #fff;box-shadow:var(--shadow-md)}.cta-band{border-radius:32px;background:linear-gradient(135deg,#0f172a,#312e81);box-shadow:var(--shadow-lg);overflow:hidden}.stats-wrap{padding:1rem}.stat-item{display:flex;gap:1rem;align-items:center;padding:1rem}.stat-val{font-weight:950;letter-spacing:-.04em;font-size:clamp(1.7rem,3vw,2.45rem);line-height:1}.stat-k{font-weight:750;color:var(--muted)}

/* Content-specific pages */
.about-subnav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:calc(var(--header-offset));z-index:1000;box-shadow:0 10px 24px rgba(15,23,42,.05)}.about-subnav .nav-link{font-weight:800;color:var(--ink-soft);border-radius:999px}.about-subnav .nav-link.active,.about-subnav .nav-link:hover{background:rgba(212,38,119,.1);color:var(--brand-900)}.crumbs{color:var(--muted)}.photo-card{border-radius:24px!important;overflow:hidden;background:#f1f5f9;box-shadow:var(--shadow-sm)}.photo-card img,.zoom{width:100%;height:100%;object-fit:cover}.programme-card .card-img-top{height:190px;object-fit:cover}.programme-card .card-title{font-weight:900}.tab-pill .nav-link{border-radius:999px;color:var(--ink-soft);font-weight:800}.tab-pill .nav-link.active{background:var(--brand-700);color:#fff}.thumb{aspect-ratio:16/10;background:#f1f5f9;border-radius:18px;overflow:hidden}.tag,.chip{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .62rem;background:#f8fafc;border:1px solid var(--line);font-weight:750;color:var(--muted);font-size:.78rem}.badge-kind{background:rgba(212,38,119,.1)!important;color:var(--brand-900)!important}.dl-card .icon{font-size:2rem;color:var(--brand-900)}.dl-card{transition:transform .18s ease}.dl-card:hover{transform:translateY(-3px)}.job-card{position:relative;transition:transform .18s ease}.job-card:hover{transform:translateY(-3px)}.leader .headshot{aspect-ratio:4/3;background:#f1f5f9;overflow:hidden}.leader .headshot img{width:100%;height:100%;object-fit:cover}.contact-card h6,.leader h6,.dl-card h6,.job-card h5{font-weight:900;letter-spacing:-.015em}.layout-grid{display:grid;grid-template-columns:minmax(220px,285px) 1fr;gap:1.25rem}.sidebar-sticky{position:sticky;top:calc(var(--header-offset) + 1rem)}.quick-nav .title{font-weight:900;color:var(--ink)}.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem}.g-media{aspect-ratio:4/3;background:#f1f5f9;overflow:hidden}.g-media img,.g-media video{width:100%;height:100%;object-fit:cover}.g-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:2rem;background:rgba(15,23,42,.2)}
@media (max-width:991.98px){.layout-grid{grid-template-columns:1fr}.sidebar-sticky{position:static}.about-subnav{position:relative;top:auto}.journey-band{margin-top:1rem}.principal-body{grid-template-columns:1fr!important}.principal-image{max-width:320px}.filterbar,.filters{padding:.85rem}}

/* Footer */
.site-footer{margin-top:0;background:#0f172a;color:#cbd5e1}.site-footer .footer-top{background:radial-gradient(circle at 12% 0%,rgba(228,106,163,.18),transparent 36%),linear-gradient(135deg,#0f172a,#111827);padding:clamp(3rem,5vw,5rem) 0}.site-footer .footer-bottom{background:#0b1220;border-top:1px solid rgba(255,255,255,.08);padding:1rem 0}.site-footer h3,.site-footer h4{color:#fff}.site-footer a{color:#e2e8f0}.site-footer a:hover{color:#fff}.footer-logo-card img{width:56px!important;height:56px!important;max-width:56px!important;max-height:56px!important;object-fit:contain;background:#fff;border-radius:16px;padding:.25rem}.newsletter-mini .input-group{background:#fff;border-radius:999px;overflow:hidden}.newsletter-mini .form-control{border:0;border-radius:999px}.newsletter-mini .btn-brand{border-radius:999px!important}.back-to-top{position:fixed;right:18px;bottom:18px;width:48px;height:48px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:var(--shadow-md);z-index:999;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}

/* Keep old page-level assets from overpowering the professional theme */
img{max-width:100%;height:auto}.navbar-brand img.brand-logo,.navbar-brand img.brand-crest{height:auto!important}.object-fit-cover{object-fit:cover!important}.bg-light{background:#f8fafc!important}.text-primary{color:var(--brand-900)!important}.border-bottom{border-bottom-color:var(--line)!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}
/* Final logo safety: prevent oversized header images on every page */
.navbar-brand img.brand-logo{width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important;object-fit:contain!important}.navbar-brand img.brand-crest{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important}
@media (max-width:575.98px){.navbar-brand img.brand-logo{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important}}
