.font-jura { font-family: "Jura", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
body { background-color: white; background-image: url("background.jpg"); background-size: cover; background-repeat: no-repeat; background-position: center; }
.topbar-bg { background-color: #2a2a2a; }
.banner-bg { background-color: #216778ff; }
.footer-bg { background-color: #2a2a2a; }
.btn-accent{ background-color:#216778; color:#fff; border:1px solid rgba(255,255,255,.95); border-radius:.375rem; padding:.45rem .75rem; font-size:.95rem; line-height:1.2; }
.btn-accent:hover{ background-color:#1c5260; }
.icon-white { display:inline-block; width:1rem; height:1rem; background-color:#fff; mask:url('/static/icons/join.svg') no-repeat center / contain; -webkit-mask:url('/static/icons/join.svg') no-repeat center / contain; }
#mobileMenu a { text-align: center; }
@media (min-width:1024px){ #desktopNav{display:flex !important} #menuBtn{display:none !important} #desktopCta{display:flex !important} #mobileMenu{display:none !important} }
@media (max-width:1023.98px){ #desktopNav{display:none !important} #menuBtn{display:inline-flex !important; grid-column:3; justify-self:end} }
.alpha-badge{ display:inline-block; margin-left:.5rem; vertical-align:middle; font-size:10px; line-height:1; letter-spacing:.04em; color:#d1d5db; border:2px solid rgba(33,103,120,.65); border-radius:4px; padding:2px 6px; white-space:nowrap; }
@media (max-width:640px){ .alpha-badge{ display:none; } }

.article-card { border: 1px solid #216778; border-radius: .75rem; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.article-card:hover { box-shadow: 0 10px 16px rgba(0,0,0,.08); transform: translateY(-1px); transition: all .15s ease; }
.tag { display:inline-block; font-size:.75rem; border-radius:9999px; padding:.2rem .55rem; background:#dfebec; color:#216778; border:1px solid rgba(33,103,120,.5); }
.hero-grid { background: transparent; border: 0; }

.cv-grid-3cols { grid-template-columns:1fr auto 1fr; }
.cv-justify-self-center { justify-self:center; }
.cv-justify-self-end { justify-self:end; }
.cv-banner-fixed { height:220px; padding:8px 0; }
.cv-banner-logo { height:145px; width:auto; max-height:none; flex-shrink:0; }
.cv-main-shell { background-color:#dfebecff; min-height:980px; }
.cv-footer-strip { background-color:#216778; }
