.bx-specs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(220px, 100%), 1fr)); gap: var(--space-4); }
.bx-spec { display: flex; gap: var(--space-3); align-items: center; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); color: var(--ink) !important; font: 600 15px/24px var(--font-display); }
.bx-spec:hover { border-color: var(--line-strong); box-shadow: var(--shadow-card); }
.bx-svcpromo { display: grid; gap: var(--space-3); align-content: start; padding: var(--space-8); color: var(--ink) !important; }
.bx-svcpromo h3 { margin: 0; font: 600 22px/34px var(--font-display); }
.bx-svcpromo p { margin: 0; color: var(--ink-muted); }
.bx-specs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .bx-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* faculty cards: white tile, blue text, in both themes */
.bx-specs:has(.bx-fac) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bx-fac { background: #ffffff !important; color: #0b3aa8 !important; border-color: #d6def5 !important; min-height: 84px; box-shadow: 0 1px 2px rgba(1,2,50,.06), 0 6px 18px rgba(1,2,50,.08); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.bx-fac b { color: #0b3aa8; font: 700 16px/26px var(--font-display); }
.bx-fac:hover { transform: translateY(-2px); border-color: #0b3aa8 !important; box-shadow: 0 10px 28px rgba(11,58,168,.18); }
.bx-fac .bx-fac-ic { background: #e8eeff; color: #0b3aa8; }
.bx-fac .bx-fac-ic .ic { width: 26px; height: 26px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 900px) { .bx-specs:has(.bx-fac) { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bx-fac b { font-size: 14px; line-height: 22px; } }
@media (max-width: 600px) { .bx-fac { padding: 12px; gap: 10px; min-height: 72px; } .bx-fac .bx-fac-ic { width: 40px; height: 40px; } .bx-fac .bx-fac-ic .ic { width: 22px; height: 22px; } .bx-fac b { font-size: 13px; line-height: 20px; } }

/* platform numbers band */
.bx-statband { position: relative; overflow: hidden; isolation: isolate; display: grid; gap: var(--space-6); padding: var(--space-8); border-radius: var(--radius-lg); border: 1px solid rgba(255,255,255,.08);
  background: radial-gradient(70% 140% at 100% 0%, #14196a 0%, transparent 60%), radial-gradient(50% 120% at 0% 100%, rgba(198,248,74,.10), transparent 60%), #010232; color: rgba(255,255,255,.75); }
.bx-sb-head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-6); flex-wrap: wrap; }
.bx-sb-head h2 { margin: 6px 0 0; color: #fff; font: 700 30px/42px var(--font-display); }
.bx-sb-head p { margin: 0; max-width: 30em; font: 400 15px/26px var(--font-sans); color: rgba(255,255,255,.72); }
.bx-statband .bx-eyebrow { display: inline-flex; align-items: center; gap: 8px; }
.bx-live { width: 8px; height: 8px; border-radius: 50%; background: #c6f84a; box-shadow: 0 0 0 0 rgba(198,248,74,.6); animation: bxPulse 2s infinite; }
@keyframes bxPulse { 0% { box-shadow: 0 0 0 0 rgba(198,248,74,.55); } 70% { box-shadow: 0 0 0 10px rgba(198,248,74,0); } 100% { box-shadow: 0 0 0 0 rgba(198,248,74,0); } }
.bx-sb-grid { display: grid; grid-template-columns: repeat(var(--sb-n, 5), minmax(0, 1fr)); gap: var(--space-4); }
.bx-sb { display: grid; gap: 6px; justify-items: start; padding: var(--space-5, 20px); border-radius: var(--radius-md); background: #ffffff; border: 1px solid #ffffff; box-shadow: 0 10px 28px rgba(0,0,0,.25); transition: transform .15s ease, border-color .15s ease, background .15s ease; }
.bx-sb:hover { transform: translateY(-3px); border-color: #c6f84a; box-shadow: 0 14px 34px rgba(0,0,0,.32); }
.bx-sb-ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #e8eeff; color: #0b3aa8; margin-bottom: 6px; }
.bx-sb-ic .ic { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bx-sb b { color: #010232; font: 700 34px/42px var(--font-display); font-variant-numeric: tabular-nums; white-space: nowrap; }
.bx-sb-l { font: 600 14px/22px var(--font-sans); color: #0b3aa8; }
.bx-sb-note { font: 400 12px/18px var(--font-sans); color: rgba(255,255,255,.5); }
@media (max-width: 1100px) { .bx-sb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .bx-statband { padding: var(--space-5, 20px); gap: var(--space-5, 20px); } .bx-sb-head h2 { font-size: 24px; line-height: 34px; } .bx-sb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .bx-sb { padding: 14px; } .bx-sb:last-child:nth-child(odd) { grid-column: 1 / -1; } .bx-sb b { font-size: 26px; line-height: 34px; } }
.bx-sb-head { flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 8px; }
.bx-sb-head p { max-width: 40em; font-size: 17px; line-height: 30px; color: rgba(255,255,255,.85); }
/* instructors strip (auto-scrolling) */
.bx-marquee { position: relative; overflow: hidden; direction: ltr; padding: 10px 0 22px; width: 100vw; margin-inline: calc(50% - 50vw); }
.bs-root:has(.bx-marquee) { overflow-x: clip; }
.bx-mq-track { display: flex; width: max-content; animation: bxMarquee var(--mq-dur, 45s) linear infinite; }
.bx-marquee:hover .bx-mq-track, .bx-marquee:focus-within .bx-mq-track { animation-play-state: paused; }
.bx-mq-half { display: flex; gap: 16px; padding-right: 16px; }
.bx-mq-half .bs-inst { direction: rtl; width: 270px; flex: none; justify-content: flex-start; }
.bx-mq-half { align-items: stretch; }
@keyframes bxMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.bx-mq-static { overflow-x: auto; }
.bx-mq-static .bx-mq-track { animation: none; }
html[data-lang="en"] .bx-mq-half .bs-inst { direction: ltr; }
@media (max-width: 600px) { .bx-mq-half .bs-inst { width: 220px; } }
/* numbers band without its own box: tiles sit directly on the page */
.bx-statband { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; border-radius: 0; overflow: visible; }
