/* ISPA Taman design tokens — generated from tokens.json */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,600;0,9..144,700;1,9..144,500&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap");

:root {
  --navy-900: #1b1d3a;
  --navy-700: #44536b;
  --leaf-600: #566e36;
  --leaf-700: #435629;
  --leaf-100: #e7edd9;
  --sage-200: #d6dfc8;
  --coral-500: #d47458;
  --coral-700: #a9503a;
  --note-200: #f3e4be;
  --surface-page: #faf7f0;
  --surface-card: #ffffff;
  --surface-panel: #efeee7;
  --text-body: #4a4a47;
  --text-muted: #6b6a63;
  --line-subtle: #dcd8cc;
  --line-strong: #8c8a80;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --shadow-card: 0 1px 2px rgba(27, 29, 58, 0.06), 0 4px 12px rgba(27, 29, 58, 0.06);
  --font-serif: "Fraunces", Georgia, "Times New Roman", serif;
  --font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.display-xl { font-family: var(--font-serif); font-size: 48px; line-height: 52px; font-weight: 600; }
.display-lg { font-family: var(--font-serif); font-size: 32px; line-height: 38px; font-weight: 600; }
.display-accent { font-family: var(--font-serif); font-size: 32px; line-height: 38px; font-weight: 500; font-style: italic; }
.heading { font-family: var(--font-sans); font-size: 22px; line-height: 28px; font-weight: 700; }
.subheading { font-family: var(--font-sans); font-size: 17px; line-height: 24px; font-weight: 600; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 400; }
.body-sm { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 14px; line-height: 20px; font-weight: 600; }
.caption { font-family: var(--font-sans); font-size: 13px; line-height: 18px; font-weight: 500; }
