* { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body { background: var(--color-paper); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
  ::selection { background: rgba(240,129,55,0.30); color: #0A0A08; }
  a { text-decoration: none; }
  :focus-visible { outline: 2px solid #0E4B5F; outline-offset: 3px; border-radius: 3px; }
  @keyframes ncUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes ncGlowA { 0%,100% { transform: translate(0,0) scale(1); opacity:.7; } 50% { transform: translate(-24px,20px) scale(1.08); opacity:.9; } }
  @keyframes ncGlowB { 0%,100% { transform: translate(0,0) scale(1); opacity:.55; } 50% { transform: translate(26px,-18px) scale(1.1); opacity:.75; } }
  .rm-hero__kicker { animation: ncUp .7s cubic-bezier(0.16,1,0.3,1) both; }
  .rm-h1 { animation: ncUp .8s .05s cubic-bezier(0.16,1,0.3,1) both; }
  .rm-hero__meta { animation: ncUp .8s .16s cubic-bezier(0.16,1,0.3,1) both; }
  .rm-hero__media { animation: ncUp .9s .24s cubic-bezier(0.16,1,0.3,1) both; }
  @media (prefers-reduced-motion: reduce) {
    .rm-hero__kicker, .rm-h1, .rm-hero__meta, .rm-hero__media, .rm-hero__glow { animation: none !important; }
  }
