/* Mimo  — Design tokens V1.0 */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Young+Serif&display=swap');
:root {
  --color-pink: #F50078;
  --color-pink-contrast: #C90061;
  --color-pink-hover: #A80051;
  --color-purple: #4B0750;
  --color-cream: #FFF1DC;
  --color-paper: #FFF9F0;
  --color-gold: #F5A400;
  --color-rose: #F9C5D8;
  --color-teal: #237D78;
  --color-orange: #F36A21;
  --color-orange-text: #AD4814;
  --color-border: #E8C5B5;
  --color-text: #301B35;
  --color-white: #FFFFFF;
  --font-display: 'Young Serif', Georgia, serif;
  --font-body: 'Space Grotesk', Arial, sans-serif;
  --space-1: 4px; --space-2: 8px; --space-3: 12px;
  --space-4: 16px; --space-6: 24px; --space-8: 32px;
  --space-12: 48px; --space-16: 64px; --space-24: 96px;
  --radius-sm: 12px; --radius-card: 20px;
  --radius-banner: 28px; --radius-pill: 999px;
  --shadow-card: 0 8px 24px rgba(75,7,80,.08);
  --container-width: 1200px;
}
body { background: var(--color-cream); color: var(--color-text); font-family: var(--font-body); line-height: 1.6; }
h1,h2,h3 { font-family: var(--font-display); color: var(--color-purple); }
h1 { font-size: clamp(2.5rem,5vw,4.75rem); line-height: 1.05; }
h2 { font-size: clamp(1.8rem,3vw,2.8rem); line-height: 1.15; }
.container { width: min(var(--container-width), calc(100% - 32px)); margin-inline: auto; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 24px; border-radius: var(--radius-pill); font: 800 1rem var(--font-body); text-decoration: none; cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.btn-primary { background: var(--color-pink-contrast); color: var(--color-white); border: 2px solid var(--color-pink-contrast); }
.btn-primary:hover { background: var(--color-pink-hover); border-color: var(--color-pink-hover); }
.btn-secondary { background: var(--color-paper); color: var(--color-purple); border: 2px solid var(--color-purple); }
.btn-secondary:hover { background: var(--color-rose); }
.btn:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid var(--color-purple); outline-offset: 3px; }
.btn:disabled, .btn[aria-disabled='true'] { opacity: .55; cursor: not-allowed; }
.card { background: var(--color-paper); border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-card); overflow: hidden; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
