/* Shared SI motion system: purposeful, lightweight, and reduced-motion safe. */
@media (prefers-reduced-motion: no-preference) {
  :root { --si-motion-ease: cubic-bezier(.16,1,.3,1); }
  .hero .si-signal { position:absolute; z-index:-1; pointer-events:none; width:clamp(180px,23vw,360px); aspect-ratio:1; border:1px solid rgb(var(--si-rgb) / .36); border-radius:50%; opacity:.78; background:radial-gradient(circle at center,transparent 0 16%,rgb(var(--si-rgb) / .46) 16.3% 16.8%,transparent 17.1% 39%,rgb(var(--si-rgb) / .24) 39.3% 39.8%,transparent 40.1% 100%); box-shadow:0 0 0 22px rgb(var(--si-rgb) / .055),0 0 52px rgb(var(--si-rgb) / .11); animation:si-signal-drift 12s var(--si-motion-ease) infinite; }
  .hero .si-signal::before { content:""; position:absolute; inset:23%; border:1px dashed rgb(var(--si-rgb) / .42); border-radius:50%; animation:si-signal-turn 20s linear infinite; }
  .hero .si-signal::after { content:""; position:absolute; width:8px; height:8px; top:15.5%; left:48%; border-radius:50%; background:rgb(var(--si-rgb)); box-shadow:0 0 18px rgb(var(--si-rgb) / .82); animation:si-signal-pulse 2.8s var(--si-motion-ease) infinite; }
  body.si-site-navigator { --si-rgb:246 199 91; } body.si-site-navigator .hero .si-signal { left:66%; top:24%; }
  body.si-site-lab { --si-rgb:36 81 207; } body.si-site-lab .hero .si-signal { left:15%; top:23%; }
  body.si-site-commons { --si-rgb:216 79 55; } body.si-site-commons .hero .si-signal { left:73%; top:56%; width:clamp(150px,18vw,290px); opacity:.58; }
  html.si-motion-ready .hero h1,html.si-motion-ready .hero p,html.si-motion-ready .hero .find,html.si-motion-ready .hero .button,html.si-motion-ready .hero .navigator-hero,html.si-motion-ready .hero .hero-links,html.si-motion-ready .hero .hero-meta,html.si-motion-ready .hero .scroll-cue { opacity:0; transform:translateY(18px); }
  html.si-motion-ready .hero.si-entered h1,html.si-motion-ready .hero.si-entered p,html.si-motion-ready .hero.si-entered .find,html.si-motion-ready .hero.si-entered .button,html.si-motion-ready .hero.si-entered .navigator-hero,html.si-motion-ready .hero.si-entered .hero-links,html.si-motion-ready .hero.si-entered .hero-meta,html.si-motion-ready .hero.si-entered .scroll-cue { animation:si-rise .72s var(--si-motion-ease) forwards; }
  html.si-motion-ready .hero.si-entered p{animation-delay:.12s}html.si-motion-ready .hero.si-entered .find,html.si-motion-ready .hero.si-entered .button{animation-delay:.22s}html.si-motion-ready .hero.si-entered .navigator-hero,html.si-motion-ready .hero.si-entered .hero-links{animation-delay:.30s}html.si-motion-ready .hero.si-entered .hero-meta{animation-delay:.38s}html.si-motion-ready .hero.si-entered .scroll-cue{animation-delay:.48s}
  html.si-motion-ready [data-si-reveal] { opacity:0; transform:translateY(26px); transition:opacity .7s var(--si-motion-ease),transform .7s var(--si-motion-ease); } html.si-motion-ready [data-si-reveal].is-inview { opacity:1; transform:translateY(0); }
  .door,.guide-item,.principle,.research-story,.lens { transition:transform .28s var(--si-motion-ease),box-shadow .28s ease,border-color .28s ease; } .door:hover,.guide-item:hover,.principle:hover,.research-story:hover { transform:translateY(-5px); } .lens:hover { transform:translateX(4px); }
  @keyframes si-rise { to { opacity:1; transform:translateY(0); } } @keyframes si-signal-drift { 0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-12px,0) scale(1.035)} } @keyframes si-signal-turn { to{transform:rotate(360deg)} } @keyframes si-signal-pulse { 0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.65);opacity:1} }
}
@media (max-width: 820px) and (prefers-reduced-motion: no-preference) { .hero .si-signal { width:170px; left:auto!important; right:-44px; top:17%!important; opacity:.38!important; } }
@media (prefers-reduced-motion: reduce) { .si-signal { display:none!important; } }
