html { scroll-behavior: smooth; }
body { margin:0; background:#061B33; color:#D1D5DB; font-family:'IBM Plex Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:#E8630A; text-decoration:none; }
a:hover { color:#FF7C22; }
::selection { background:#E8630A; color:#fff; }
*:focus-visible { outline:2px solid #E8630A; outline-offset:3px; }
button { border-radius:5px; }
input, textarea, select { font-family:'IBM Plex Sans',sans-serif; }
input::placeholder, textarea::placeholder { color:#8AA4C0; }
@keyframes riseIn { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes pulse { 0%,100% { transform:scale(1); opacity:.4; } 50% { transform:scale(1.18); opacity:.12; } }
.rise { animation: riseIn .7s cubic-bezier(.22,.7,.3,1) both; }
.fade { animation: fadeIn .45s ease both; }
.orbit-rings { animation: spin 46s linear infinite; transform-origin:200px 200px; }
.orbit-pulse circle { animation: pulse 3.4s ease-in-out infinite; transform-origin:200px 200px; }
@media (prefers-reduced-motion: reduce) {
  .orbit-rings, .orbit-pulse circle { animation:none; }
}
