/* RIO ONE — global styles (resets, fonts, keyframes) */
*, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; background: #FFFFFF; -webkit-font-smoothing: antialiased; font-family: 'DM Sans', system-ui, sans-serif; }
  a { color: #ED3237; text-decoration: none; }
  a:hover { color: #B08D57; }
  ::selection { background: #ED3237; color: #FFFFFF; }
  @keyframes bob { 0%, 100% { transform: translateY(0); opacity: 0.9; } 50% { transform: translateY(7px); opacity: 0.45; } }
  @keyframes marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes spinSlow { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
  @keyframes spinBack { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } }
  @keyframes pulseRing { 0% { transform: scale(1); opacity: 0.55; } 70% { transform: scale(1.45); opacity: 0; } 100% { transform: scale(1.45); opacity: 0; } }
  @keyframes shine { from { transform: translateX(-120%) skewX(-18deg); } to { transform: translateX(320%) skewX(-18deg); } }
