:root{
  --brand-navy:#0b1f3b;
  --brand-blue:#114b8a;
  --brand-teal:#0aa6a6;
  --brand-ice:#f4f8ff;
  --text:#0f172a;
}

body{ padding-top:72px; color:var(--text); background: #ffffff; }

/* Scientific/corporate hero */
.hero{
  background:
    radial-gradient(1200px 600px at 20% 10%, rgba(17,75,138,.18), transparent 60%),
    radial-gradient(900px 500px at 85% 35%, rgba(10,166,166,.14), transparent 55%),
    linear-gradient(180deg, var(--brand-ice), #ffffff 55%);
}

/* Navbar */
.navbar-science{
  background: linear-gradient(90deg, var(--brand-navy), var(--brand-blue));
}
.navbar-science .navbar-brand{ letter-spacing:.2px; }
.navbar-science .nav-link{ opacity:.92; }
.navbar-science .nav-link:hover{ opacity:1; }

/* Strong active styling */
.navbar-science .nav-link.active,
.navbar-science .nav-link[aria-current="page"]{
  opacity:1;
  font-weight:600;
  background: rgba(255,255,255,.12);
  border-radius: 999px;
  padding-left: .85rem;
  padding-right: .85rem;
}
.navbar-science .nav-link.active::after{
  content:"";
  display:block;
  height:2px;
  margin-top:.25rem;
  background: rgba(255,255,255,.55);
  border-radius:2px;
}

/* Cards */
.card-icon{
  width:44px;height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius: 12px;
  background: rgba(10,166,166,.14);
  color: var(--brand-blue);
  font-weight:700;
}
.small-muted{ color: rgba(15,23,42,.72); }

/* Prose */
.prose h1,.prose h2,.prose h3{ margin-top:1.5rem; }
.prose img{ max-width:100%; height:auto; border-radius: 1rem; }

/* Buttons (keep Bootstrap but nudge accents) */
.btn-primary{
  --bs-btn-bg: var(--brand-blue);
  --bs-btn-border-color: var(--brand-blue);
  --bs-btn-hover-bg: #0e3f77;
  --bs-btn-hover-border-color: #0e3f77;
}
.btn-outline-primary{
  --bs-btn-color: var(--brand-blue);
  --bs-btn-border-color: var(--brand-blue);
  --bs-btn-hover-bg: var(--brand-blue);
  --bs-btn-hover-border-color: var(--brand-blue);
}

/* Footer */
footer.bg-dark{
  background: linear-gradient(90deg, var(--brand-navy), var(--brand-blue)) !important;
}
footer .text-secondary{ color: rgba(255,255,255,.65) !important; }
