@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700;800&family=Pinyon+Script&display=swap');

:root {
  --black: #0b0a09;
  --ink: #15120f;
  --coal: #1c1814;
  --coal-2: #241f19;
  --line: #34291c;
  --gold: #d4a64a;
  --gold-hi: #f6dc8c;
  --gold-lo: #a97a22;
  --cream: #f7f0e1;
  --cream-2: #efe5cf;
  --paper: #fffaf0;
  --text: #241c12;
  --muted: #7d6e58;
  --ok: #4f9a5b;
  --warn: #e0a02f;
  --bad: #c9473a;
  --gold-grad: linear-gradient(135deg, #f6dc8c 0%, #d4a64a 45%, #a97a22 100%);
  --serif: 'Playfair Display', Georgia, serif;
  --script: 'Pinyon Script', 'Brush Script MT', cursive;
  --sans: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --spring: cubic-bezier(.34, 1.56, .64, 1);
}

* { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
html { font-family: var(--sans); color: var(--text); }
body { background: var(--black); min-height: 100vh; }
button { font: inherit; color: inherit; border: 0; background: none; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
img { max-width: 100%; display: block; }
a { color: inherit; }

.gold-text {
  background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent;
  background-size: 200% 100%; animation: shimmer 6s linear infinite;
}
@keyframes shimmer { 0% { background-position: 0% 0 } 100% { background-position: 200% 0 } }
@keyframes rise { from { opacity: 0; transform: translateY(14px) } to { opacity: 1; transform: none } }
@keyframes pop { 0% { transform: scale(.6); opacity: 0 } 70% { transform: scale(1.08) } 100% { transform: scale(1); opacity: 1 } }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(212, 166, 74, .55) } 100% { box-shadow: 0 0 0 16px rgba(212, 166, 74, 0) } }
@keyframes floaty { 0%, 100% { transform: translateY(0) } 50% { transform: translateY(-6px) } }
@keyframes spin { to { transform: rotate(360deg) } }
@media (prefers-reduced-motion: reduce) { * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
