html { scroll-behavior: smooth; }
body { margin: 0; }
* { box-sizing: border-box; }
input::placeholder { color: #a99; opacity: .7; }

@keyframes shine { 0% { background-position: 0% 0; } 100% { background-position: -200% 0; } }
@keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: .2; } }
@keyframes floaty { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-12px) rotate(-3deg); } }
@keyframes nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
@keyframes reelLand { 0% { opacity: 0; transform: translateY(-110px) scaleY(1.4); filter: blur(6px); } 55% { opacity: 1; transform: translateY(10px) scaleY(.94); filter: blur(0); } 78% { transform: translateY(-5px) scaleY(1.03); } 100% { opacity: 1; transform: translateY(0) scaleY(1); filter: blur(0); } }
@keyframes dingPulse { 0% { box-shadow: 0 0 0 2px #C9A227; } 45% { box-shadow: 0 0 0 2px #C9A227, 0 0 26px 7px rgba(245,197,24,.95); transform: scale(1.45); } 100% { box-shadow: 0 0 0 2px #C9A227; transform: scale(1); } }
@keyframes moneyFall { 0% { transform: translateY(-40px) rotate(0deg); opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { transform: translateY(var(--fall, 600px)) rotate(var(--spin, 360deg)); opacity: 0; } }
@keyframes reelSpin { from { transform: translateY(0); } to { transform: translateY(-50%); } }

/* ---------- MOBILE (primary interface) ---------- */
@media (max-width: 820px) {
  /* nav: drop text links, keep logo + Donate */
  nav a[href="#timeline"], nav a[href="#calculator"], nav a[href="#quiz"], nav a[href="#pledge"] { display: none !important; }
  /* hero: stack text over card */
  [style*="grid-template-columns: 1.15fr 0.85fr"] { grid-template-columns: 1fr !important; gap: 36px !important; }
  /* timeline rows: stack date / text / badge */
  [style*="grid-template-columns: 130px 1fr auto"] { grid-template-columns: 1fr !important; gap: 10px !important; align-items: start !important; }
  /* calculator + form: single column */
  .calc-grid, .name-grid { grid-template-columns: 1fr !important; }
  .calc-inputs { border-right: none !important; border-bottom: 1px dashed #d8cba6 !important; }
  /* rules: 1 column */
  .rules-grid { grid-template-columns: 1fr !important; }
  /* donate tiers: 2 columns */
  #donationTiers { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 460px) {
  /* very small: donate tiers single column for tap comfort */
  #donationTiers { grid-template-columns: 1fr !important; }
}
