/* ==========================================================================
   Hero scenes (js/hero-scenes.js) — one design + motion per page.
   Decoration only; nothing here adds or changes any wording on a page.
   ========================================================================== */
.mo-scene { position: absolute; inset: 0; overflow: hidden; }
.mo-ico, .mo-glyph, .mo-ember, .mo-confetti, .mo-balloon, .mo-step, .mo-spine, .mo-bar, .mo-node, .mo-live, .mo-pulse, .mo-ring, .mo-ticker, .mo-stage { position: absolute; will-change: transform; }
.mo-ico { color: rgba(255,255,255,.22); }
.mo-ico svg { width: 100%; height: 100%; display: block; overflow: visible; }
.mo-ico.gold, .mo-glyph.gold { color: rgba(244,163,0,.42); }
.mo-glyph { color: rgba(255,255,255,.16); font-family: 'Poppins', sans-serif; font-weight: 600; white-space: nowrap; }
.mo-ico.roll { color: rgba(255,255,255,.13); }
.mo-ico.roll.gold { color: rgba(244,163,0,.30); }

/* research: the assembling page */
.mo-stage { right: 7%; top: 50%; width: min(40vw, 440px); aspect-ratio: 400 / 520; margin-top: calc(min(40vw, 440px) * -.65); color: rgba(255,255,255,.3); }
.mo-stage .mo-ico { color: rgba(255,255,255,.55); }
.mo-stage .mo-ico.gold { color: rgba(255,196,77,.85); }
.mo-page { position: absolute; inset: 0; color: rgba(255,255,255,.5); filter: drop-shadow(0 0 14px rgba(244,163,0,.25)); }
.mo-page svg { overflow: visible; }

/* about */
.mo-ring { border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.mo-ring.gold { border-color: rgba(244,163,0,.35); }
.mo-dot { position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; border-radius: 50%; background: var(--gold-500); box-shadow: 0 0 18px 4px rgba(244,163,0,.6); }
.mo-ember { border-radius: 50%; background: radial-gradient(circle, #FFD370, rgba(244,163,0,0)); }

/* admissions */
.mo-step { background: linear-gradient(180deg, rgba(244,163,0,.55), rgba(244,163,0,.05)); border-radius: 8px 8px 0 0; transform-origin: bottom; }

/* hospital */
.mo-ecg { position: absolute; color: rgba(110,231,200,.55); filter: drop-shadow(0 0 8px rgba(110,231,200,.5)); }
.mo-ecg path { stroke-width: 2.5; }

/* library */
.mo-spine { bottom: 0; transform-origin: bottom; border-radius: 4px 4px 0 0; background: linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.02)); }
.mo-spine.gold { background: linear-gradient(180deg, rgba(244,163,0,.5), rgba(244,163,0,.04)); }

/* contact */
.mo-pulse { border-radius: 50%; border: 2px solid rgba(244,163,0,.55); }

/* business units */
.mo-bar { transform-origin: bottom; border-radius: 8px 8px 0 0; background: linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.03)); }
.mo-bar.gold { background: linear-gradient(180deg, rgba(244,163,0,.7), rgba(244,163,0,.06)); }

/* international */
.mo-globe { position: absolute; color: rgba(255,255,255,.32); }
.mo-globe svg { width: 100%; height: 100%; overflow: visible; }
.mo-globe .mer { transform-box: fill-box; transform-origin: center; }
.mo-globe .arc { stroke: var(--gold-500); }

/* careers */
.mo-path { position: absolute; color: rgba(244,163,0,.55); filter: drop-shadow(0 0 10px rgba(244,163,0,.45)); }
.mo-path path { stroke-width: 3; }

/* alumni */
.mo-confetti { width: 9px; height: 14px; border-radius: 2px; background: rgba(255,255,255,.7); }
.mo-confetti.gold { background: var(--gold-500); }
.mo-confetti.blue { background: #5E94FF; }

/* student life */
.mo-balloon { border-radius: 50%; }
.mo-balloon.gold { background: radial-gradient(circle at 30% 30%, rgba(255,214,120,.7), rgba(244,163,0,.2)); }
.mo-balloon.blue { background: radial-gradient(circle at 30% 30%, rgba(130,175,255,.65), rgba(60,110,214,.18)); }
.mo-balloon.white { background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.55), rgba(255,255,255,.08)); }

/* news */
.mo-ticker { left: 0; display: flex; gap: 22px; height: 12px; }
.mo-ticker i { display: block; height: 100%; border-radius: 6px; background: rgba(255,255,255,.1); flex-shrink: 0; }
.mo-ticker:nth-child(3n) i { background: rgba(244,163,0,.2); }
.mo-live { width: 16px; height: 16px; border-radius: 50%; background: #ff5d5d; box-shadow: 0 0 20px 4px rgba(255,93,93,.6); }

/* portal */
.mo-net { position: absolute; color: rgba(255,255,255,.18); }
.mo-net path { stroke-width: 1; }
.mo-node { width: 12px; height: 12px; margin: -6px; border-radius: 50%; background: var(--gold-500); box-shadow: 0 0 16px 3px rgba(244,163,0,.6); }

/* a distinct colour mood per page */
.page-hero[data-theme="research"]      { background: radial-gradient(800px 380px at 80% 20%, rgba(244,163,0,.16), transparent 65%), radial-gradient(900px 500px at 0% 100%, rgba(40,90,190,.55), transparent 60%), linear-gradient(135deg, #040B1C, #0A2250) !important; }
.page-hero[data-theme="about"]         { background: radial-gradient(700px 320px at 90% 0%, rgba(244,163,0,.2), transparent 65%), linear-gradient(135deg, #050F22, #0F2E5C) !important; }
.page-hero[data-theme="admissions"]    { background: radial-gradient(700px 360px at 100% 100%, rgba(244,163,0,.22), transparent 60%), linear-gradient(120deg, #07162f, #12376e) !important; }
.page-hero[data-theme="academics"]     { background: radial-gradient(800px 360px at 15% 0%, rgba(120,90,220,.38), transparent 62%), linear-gradient(135deg, #0a1030, #14306a) !important; }
.page-hero[data-theme="hospital"]      { background: radial-gradient(800px 380px at 85% 100%, rgba(16,185,150,.30), transparent 62%), linear-gradient(135deg, #04161f, #0a3a52) !important; }
.page-hero[data-theme="library"]       { background: radial-gradient(800px 360px at 10% 100%, rgba(244,163,0,.22), transparent 60%), linear-gradient(135deg, #0d1226, #1a2c5a) !important; }
.page-hero[data-theme="contact"]       { background: radial-gradient(600px 400px at 85% 50%, rgba(244,163,0,.2), transparent 62%), linear-gradient(135deg, #06132b, #0e2d5e) !important; }
.page-hero[data-theme="business-units"]{ background: radial-gradient(800px 360px at 100% 100%, rgba(244,163,0,.2), transparent 60%), linear-gradient(135deg, #0a1124, #1c2f55) !important; }
.page-hero[data-theme="international"] { background: radial-gradient(700px 400px at 85% 50%, rgba(50,150,230,.35), transparent 62%), linear-gradient(135deg, #04122a, #0b3a7a) !important; }
.page-hero[data-theme="careers"]       { background: radial-gradient(800px 360px at 0% 100%, rgba(244,163,0,.2), transparent 60%), linear-gradient(135deg, #07142e, #153566) !important; }
.page-hero[data-theme="alumni"]        { background: radial-gradient(800px 380px at 50% 0%, rgba(244,163,0,.26), transparent 62%), linear-gradient(135deg, #070f26, #112b60) !important; }
.page-hero[data-theme="student-life"]  { background: radial-gradient(700px 360px at 90% 10%, rgba(244,163,0,.24), transparent 60%), radial-gradient(700px 380px at 0% 100%, rgba(70,120,230,.4), transparent 60%), linear-gradient(135deg, #060e25, #102a5c) !important; }
.page-hero[data-theme="news"]          { background: radial-gradient(700px 320px at 80% 0%, rgba(255,93,93,.14), transparent 60%), linear-gradient(135deg, #060f24, #0f2a58) !important; }
.page-hero[data-theme="portal"]        { background: radial-gradient(800px 380px at 100% 0%, rgba(80,200,200,.2), transparent 62%), linear-gradient(135deg, #040d1e, #0c2a4e) !important; }

@media (max-width: 760px) {
  .mo-stage { right: -6%; opacity: .55; width: 62vw; margin-top: -34vw; }
}

/* research: the assembling page sits OVER the photo like a blueprint */
.page-hero[data-theme="research"] .mo-bg { z-index: 2; }
.page-hero[data-theme="research"] .container { z-index: 1; }
.page-hero[data-theme="research"] .mo-stage .mo-ico { color: rgba(255,255,255,.92); filter: drop-shadow(0 0 6px rgba(5,15,34,.9)) drop-shadow(0 0 14px rgba(244,163,0,.35)); }
.page-hero[data-theme="research"] .mo-stage .mo-ico.gold { color: #FFC24D; }
.page-hero[data-theme="research"] .mo-page { color: rgba(255,255,255,.9); filter: drop-shadow(0 0 6px rgba(5,15,34,.9)) drop-shadow(0 0 16px rgba(244,163,0,.4)); }
.page-hero .mo-ghost { -webkit-text-stroke: 1.5px rgba(255,255,255,.08); }
