:root {
  /* Brand — Groovz peach palette */
  --brand-primary: #f8d6b1;
  --brand-secondary: #ffd4ac;
  --brand-accent: #f8d6b1;

  /* Surfaces */
  --surface-bg: #ffffff;
  --surface-card: #ffffff;
  --surface-alt: #ffffff;
  --background-dark: #1a1a1a;

  /* Text */
  --text-primary: #1a1a1a;
  --text-secondary: #4a4a4a;
  --text-inverse: #ffffff;
  --text-white: #ffffff;

  /* Borders / state */
  --border-default: rgba(0, 0, 0, 0.12);
  --state-success: #22c55e;
  --state-warning: #f59e0b;
  --state-error: #ef4444;

  /* Radius */
  --radius-big: 16px;
}

/* CTA attention pulse — subtle heartbeat scale (color-independent so it reads
   on the light peach button). Used on the sticky mobile CTA. */
@keyframes cta-pulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.03); }
}

.cta-pulse {
  animation: cta-pulse 1.6s ease-in-out infinite;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .cta-pulse { animation: none; }
}
