:root{
  --brand:#2d1b75;
  --brand-deep:#20105d;
  --medical-blue:#0D47A1;
  --accent:#2E7D32;
  --green-deep:#043518;
  --ink:#172033;
  --muted:#667085;
  --surface:#f6f8fc;
  --line:#e7eaf0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3,h4,h5,h6,.navbar-brand,.btn{font-family:Poppins,Arial,sans-serif}
a{text-decoration:none}
.topbar{background:var(--brand-deep);color:#fff}
.topbar a{color:#fff}
.site-logo{width:58px;height:58px;object-fit:contain;border-radius:50%}
.brand-text{line-height:1.05;display:flex;flex-direction:column;color:var(--brand);max-width:340px}
.brand-text strong{font-size:.95rem;letter-spacing:.02em}
.brand-text small{font-size:.75rem;color:#46536b;margin-top:4px}
.navbar .nav-link{font-weight:500;color:#26324a;padding:.7rem .58rem!important}
.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--brand)}
.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-deep);--bs-btn-hover-border-color:var(--brand-deep)}
.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand)}
.hero-slide{min-height:610px;display:flex;align-items:center;position:relative;background-size:cover;background-position:center}
.hero-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,10,77,.92),rgba(13,71,161,.72),rgba(4,53,24,.45))}
.hero-content{position:relative;z-index:2;color:#fff;max-width:760px;padding:70px 0}
.hero-content .eyebrow{letter-spacing:.16em;text-transform:uppercase;font-weight:600;font-size:.82rem}
.hero-content h1{font-size:clamp(2.25rem,5vw,4.6rem);font-weight:700;line-height:1.07}
.hero-content p{font-size:1.15rem;max-width:650px;color:rgba(255,255,255,.88)}
.hero-pattern-1{background-image:radial-gradient(circle at 80% 20%,rgba(255,255,255,.18),transparent 20%),linear-gradient(135deg,#2d1b75,#0D47A1)}
.hero-pattern-2{background-image:radial-gradient(circle at 25% 30%,rgba(46,125,50,.45),transparent 25%),linear-gradient(135deg,#0D47A1,#20105d)}
.hero-pattern-3{background-image:radial-gradient(circle at 72% 52%,rgba(255,255,255,.16),transparent 22%),linear-gradient(135deg,#043518,#2d1b75)}
.section-pad{padding:80px 0}
.section-soft{background:var(--surface)}
.section-title .kicker{color:var(--accent);font-weight:700;text-transform:uppercase;font-size:.8rem;letter-spacing:.12em}
.section-title h2{font-weight:700;color:var(--brand-deep)}
.material-card{border:0;border-radius:18px;box-shadow:0 10px 34px rgba(32,40,75,.08);transition:transform .25s ease,box-shadow .25s ease;overflow:hidden}
.material-card:hover{transform:translateY(-5px);box-shadow:0 16px 42px rgba(32,40,75,.13)}
.icon-circle{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:rgba(45,27,117,.09);color:var(--brand)}
.icon-circle .material-icons{font-size:30px}
.stat-card{text-align:center;padding:28px 18px;background:#fff;border-radius:16px;box-shadow:0 10px 28px rgba(24,35,74,.08)}
.stat-number{font:700 2.5rem Poppins;color:var(--brand)}
.news-thumb{height:215px;object-fit:cover;width:100%;background:#e9edf5}
.news-placeholder{height:215px;display:grid;place-items:center;background:linear-gradient(135deg,#ede9ff,#e7f0ff);color:var(--brand)}
.badge-category{background:rgba(45,27,117,.1);color:var(--brand);font-weight:600}
.cta-band{background:linear-gradient(120deg,var(--brand),var(--medical-blue));color:white;border-radius:26px;padding:48px}
.page-hero{background:linear-gradient(120deg,var(--brand),var(--medical-blue));color:#fff;padding:75px 0}
.page-hero h1{font-weight:700}
.breadcrumb-item,.breadcrumb-item a{color:rgba(255,255,255,.78)}
.breadcrumb-item.active{color:#fff}
.breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.55)}
.prose{font-size:1.04rem;line-height:1.85;color:#374151}
.prose img{max-width:100%;height:auto;border-radius:12px}
.prose table{width:100%;border-collapse:collapse}
.prose td,.prose th{padding:.65rem;border:1px solid #ddd}
.filter-card{position:sticky;top:105px}
.library-item .material-icons{vertical-align:middle}
.pdf-viewer-modal .modal-dialog{max-width:1100px}
.pdf-viewer-modal iframe{width:100%;height:78vh;border:0;background:#323639}
.contact-card{height:100%}
.contact-card .material-icons{font-size:34px;color:var(--brand)}
.site-footer{background:#11172a;color:#fff}
.site-footer a{display:block;color:#cbd4e9;margin:.5rem 0}
.site-footer a:hover{color:#fff}
.footer-logo{width:70px;height:70px;border-radius:50%;object-fit:contain;background:#fff}
.footer-copy{color:#cbd4e9;max-width:490px}
#page-loader{position:fixed;inset:0;background:var(--brand);z-index:99999;display:grid;place-items:center;transition:opacity .25s ease}
#page-loader.loaded{opacity:0;pointer-events:none}
.form-control:focus,.form-select:focus{border-color:#8172bc;box-shadow:0 0 0 .2rem rgba(45,27,117,.12)}
.pagination .page-link{color:var(--brand)}
.pagination .active>.page-link{background:var(--brand);border-color:var(--brand)}
@media(max-width:1199px){.brand-text{max-width:245px}.brand-text strong{font-size:.82rem}}
@media(max-width:767px){.topbar{display:none}.site-logo{width:48px;height:48px}.brand-text{max-width:235px}.brand-text strong{font-size:.72rem}.hero-slide{min-height:560px}.section-pad{padding:58px 0}.cta-band{padding:34px 24px}}
@media(max-width:420px){.brand-text small{display:none}.brand-text{max-width:190px}}
