/* OnCall only: independent from the institutional homepage banner. */
.oncall-hero { overflow: hidden; min-height: 0 !important; padding-block: 36px !important; }
.oncall-hero .oncall-hero-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 56px !important; }
.oncall-hero .oncall-hero-copy { gap: 24px !important; }
.oncall-hero-copy h1 { line-height: 1.18 !important; }
.oncall-hero-copy > p { line-height: 1.75 !important; }
.oc-motion { width: 100%; max-width: 680px; min-width: 0; margin-inline: auto; }
.oc-motion-scene { position: relative; padding-bottom: 20px; isolation: isolate; }
.oc-motion-message { position: relative; margin: 0 3% 12px auto; width: 43%; box-sizing: border-box; display: grid; padding: 16px 18px; border-radius: 14px; background: #fff; box-shadow: 0 14px 32px #10286926; z-index: 2; }
.oc-motion-message-item { grid-area: 1 / 1; opacity: 0; transition: opacity .35s ease-out; align-self: center; }
.oc-motion-message-item.is-active { opacity: 1; transition: opacity .6s ease-in .35s; }
.oc-motion-message-item span { display: block; margin-bottom: 7px; color: #2563eb; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.oc-motion-message-item strong { display: block; color: #19335b; font-size: 13px; line-height: 1.5; font-weight: 600; }
.oc-motion-orbit { position: absolute; inset: 9% 3% 8%; border: 1px solid #ffffff25; border-radius: 50%; transform: rotate(-18deg); }
.oc-motion-center { position: relative; margin: 0 auto; width: 74%; overflow: hidden; border: 1px solid #ffffff66; border-radius: 16px; background: #eff6ff; box-shadow: 0 24px 60px -24px #10286988; }
.oc-screen-top { display: flex; align-items: center; gap: 8px; padding: 11px 14px; background: #f4f8ff; color: #355582; font-size: 10px; border-bottom: 1px solid #dce6f5; }
.oc-screen-top > span { width: 6px; height: 6px; background: #3187de; border-radius: 50%; }
.oc-screen-frame { position: relative; width: 100%; aspect-ratio: 1565 / 1000; overflow: hidden; background: #eff6ff; transition: height 1.8s ease-in-out; }
.oc-motion-slide { position: absolute; inset: 0; display: block; width: 100%; height: auto !important; opacity: 0; transition: opacity 1.8s ease-in-out; }
.oc-screen-caption { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 14px; background: #f4f8ff; color: #355582; font-size: 11px; font-weight: 600; border-top: 1px solid #dce6f5; }
.oc-screen-dots { display: flex; gap: 4px; }
.oc-screen-dots i { width: 4px; height: 4px; border-radius: 50%; background: #c0d2e8; }
.oc-screen-dots i.is-active { background: #3187de; }
.oc-motion-slide.is-active { opacity: 1; }
.oc-motion-icon { position: absolute; width: 10%; max-width: 52px; animation: oc-icon-float 7s ease-in-out infinite; }
.oc-motion-icon img { display: block; width: 100%; height: auto !important; filter: drop-shadow(0 12px 12px #10286933); }
.oc-motion-icon--1 { left: 16%; top: 4%; }
.oc-motion-icon--2 { right: 3%; top: 24%; animation-delay: -2s; }
.oc-motion-icon--3 { left: 3%; top: 43%; animation-delay: -4s; }
.oc-motion-icon--4 { right: 3%; top: 57%; animation-delay: -1s; }
.oc-motion-icon--5 { left: 5%; bottom: 2%; animation-delay: -3s; }
.oc-motion-icon--6 { right: 5%; bottom: 2%; animation-delay: -5s; }
.oc-motion-icon.is-leaving { animation: oc-icon-out .55s ease-in both; }
.oc-motion-icon.is-entering { animation: oc-icon-in .8s cubic-bezier(.16, 1, .3, 1) both; }
.oc-motion-toggle { display: block; margin: 4px 0 0 auto; border: 1px solid #ffffff66; border-radius: 24px; padding: 10px 14px; background: #ffffff18; color: #fff; font: inherit; font-size: 12px; cursor: pointer; }
.oc-motion-toggle[hidden] { display: none; }
.oc-motion-toggle:hover { background: #ffffff30; }
.oc-motion-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.oc-motion.is-inactive * { animation-play-state: paused !important; }
@keyframes oc-icon-float { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-12px) rotate(4deg); } }
@keyframes oc-icon-out { from { opacity: 1; scale: 1; } to { opacity: 0; scale: .6; } }
@keyframes oc-icon-in { from { opacity: 0; scale: .6; } to { opacity: 1; scale: 1; } }
@media (max-width: 900px) {
  .oncall-hero .oncall-hero-layout { grid-template-columns: minmax(0, 1fr); gap: 40px !important; }
  .oc-motion { max-width: 600px; margin-inline: auto; }
}
@media (max-width: 480px) {
  .oc-motion-message { margin-right: 0; width: 60%; padding: 12px 14px; }
  .oc-motion-message-item strong { font-size: 12px; }
  .oc-motion-scene { padding-bottom: 22px; }
  .oc-motion-center { width: 86%; border-radius: 10px; }
  .oc-motion-icon--2, .oc-motion-icon--4 { right: 0; }
  .oc-motion-icon--3 { left: 0; }
  .oc-screen-top, .oc-screen-caption { padding: 8px 10px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .oc-motion * { animation: none !important; transition: none !important; }
  .oc-motion-toggle { display: none; }
}
