
  *, *::before, *::after { box-sizing: border-box; }
  body { margin: 0; background: #FBF7F0; color: #2A2124; font-family: 'DM Sans', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
  a { color: #8B5E3C; text-decoration: none; }
  a:hover { color: #2A2124; }
  img { display: block; max-width: 100%; }
  input, select, textarea, button { font: inherit; color: inherit; }
  @keyframes snisFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
  @keyframes snisUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
  @keyframes snisKen { from { transform: scale(1.1); } to { transform: scale(1); } }
  @keyframes snisMarquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 8px)); } }
  @keyframes snisMarqueeRev { from { transform: translateX(calc(-50% - 6px)); } to { transform: translateX(0); } }
  @keyframes snisProgress { from { width: 0; } to { width: 100%; } }
  @keyframes snisScroll { 0% { transform: translateY(-18px); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(44px); opacity: 0; } }
  @keyframes snisStepIn { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: none; } }
  @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }
