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

:root{
/* base — from the Little Zoo logo lockup */
--green-100:#F3F7DC;--green-300:#D8E68C;--green-500:#BCD140;--green-600:#A4B92C;--green-700:#84961F;
--coral-100:#FDE4DC;--coral-300:#F9A78F;--coral-500:#F2603F;--coral-600:#D94A2B;--coral-700:#B23A20;
--ink-100:#EDEAF3;--ink-300:#A79FBE;--ink-500:#5C4E7E;--ink-700:#3A2A5E;--ink-900:#241442;
--blush-100:#FBE9E2;--blush-300:#F3B3A0;
--paper:#FFFFFF;--paper-warm:#FDFBF4;--dot:#D9D5E2;
/* semantic */
--brand-primary:var(--green-500);--brand-accent:var(--coral-500);--brand-ink:var(--ink-900);
--text-heading:var(--ink-900);--text-body:#443861;--text-muted:var(--ink-500);--text-on-dark:#FFFFFF;--text-on-primary:var(--ink-900);
--surface-page:var(--paper);--surface-warm:var(--paper-warm);--surface-card:#FFFFFF;--surface-tint-green:var(--green-100);--surface-tint-coral:var(--coral-100);--surface-tint-blush:var(--blush-100);
--border-soft:#EAE7F0;--border-strong:var(--ink-900);
--focus-ring:0 0 0 3px var(--coral-100),0 0 0 5px var(--coral-500);
--success:var(--green-700);--danger:var(--coral-600);--warning:#E89B1C;--info:var(--ink-500);
--pattern-dots:radial-gradient(var(--dot) 1.5px, transparent 1.5px);--pattern-dots-size:28px 28px;

--font-display:'Playfair Display',Georgia,'Times New Roman',serif;
--font-body:'Quicksand',-apple-system,'Segoe UI',sans-serif;
--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--text-display:64px;
--weight-regular:500;--weight-medium:600;--weight-bold:700;--weight-display:700;
--leading-tight:1.1;--leading-snug:1.3;--leading-body:1.55;
--tracking-wide:0.22em;--tracking-caps:0.08em;

--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;
--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:32px;--radius-pill:999px;
--container-max:1120px;

--shadow-card:0 2px 6px rgba(36,20,66,.06),0 10px 24px rgba(36,20,66,.07);
--shadow-float:0 6px 16px rgba(36,20,66,.10),0 20px 44px rgba(36,20,66,.12);
--shadow-press:0 1px 2px rgba(36,20,66,.10);
--ease-bounce:cubic-bezier(.34,1.56,.64,1);
--ease-out:cubic-bezier(.22,.8,.36,1);
--dur-fast:120ms;
--dur-med:220ms;
}

body{font-family:var(--font-body);color:var(--text-body);background:var(--surface-page);font-weight:var(--weight-regular);line-height:var(--leading-body);margin:0}
h1,h2,h3{color:var(--text-heading);line-height:var(--leading-tight)}
a{color:var(--coral-600);text-decoration:none;font-weight:var(--weight-medium)}
a:hover{color:var(--coral-700);text-decoration:underline}
::selection{background:var(--green-300);color:var(--ink-900)}
