/* GENERATED FILE — DO NOT EDIT.
   Source: IDENTIDADE/design-system/tokens.json (v1.0.0)
   Regenerate with `node build.mjs`. To change a value, change the token file. */
:root {

  /* colour · raw ramps */
  --rn-plum-50: #F8F1F6;
  --rn-plum-100: #EFE2EC;
  --rn-plum-300: #C09BB9;
  --rn-plum-500: #8C5482;
  --rn-plum-600: #73406A;
  --rn-plum-700: #5E3455;
  --rn-plum-800: #4A2843;
  --rn-plum-900: #3A1F35;
  --rn-rose-50: #FCF0F3;
  --rn-rose-200: #F3CBD6;
  --rn-rose-400: #E594A8;
  --rn-rose-500: #D4778F;
  --rn-rose-700: #A34A64;
  --rn-sand-50: #FCF9F5;
  --rn-sand-100: #F7F0E6;
  --rn-sand-200: #EFE5D6;
  --rn-sand-300: #E5D7C3;
  --rn-sand-400: #D8C6AE;
  --rn-blue-50: #EEF5F9;
  --rn-blue-200: #C3DCEA;
  --rn-blue-500: #4E86AB;
  --rn-blue-700: #2B5F82;
  --rn-blue-800: #1F4A69;
  --rn-gray-0: #FFFFFF;
  --rn-gray-100: #F1EBEE;
  --rn-gray-200: #E4DCE1;
  --rn-gray-300: #C9C0C6;
  --rn-gray-400: #9A909A;
  --rn-gray-500: #6E656D;
  --rn-gray-700: #4C444A;
  --rn-gray-900: #221C21;
  --rn-success: #2F6F5B;
  --rn-warning: #96601A;
  --rn-error: #A32E44;
  --rn-info: #2B5F82;

  /* colour · roles — components reference these, never the ramps */
  --rn-brand-primary: var(--rn-plum-700);
  --rn-brand-primary-hover: var(--rn-plum-800);
  --rn-brand-primary-active: var(--rn-plum-900);
  --rn-brand-on-primary: var(--rn-sand-50);
  --rn-brand-accent: var(--rn-rose-400);
  --rn-brand-accent-text: var(--rn-rose-700);
  --rn-brand-clinical: var(--rn-blue-700);
  --rn-brand-clinical-surface: var(--rn-blue-50);
  --rn-surface-canvas: var(--rn-sand-50);
  --rn-surface-raised: var(--rn-gray-0);
  --rn-surface-sunken: var(--rn-sand-100);
  --rn-surface-tint: var(--rn-plum-50);
  --rn-border-subtle: var(--rn-sand-300);
  --rn-border-default: var(--rn-gray-200);
  --rn-border-strong: var(--rn-plum-300);
  --rn-text-primary: var(--rn-gray-900);
  --rn-text-secondary: var(--rn-gray-500);
  --rn-text-on-dark: var(--rn-sand-50);
  --rn-text-brand: var(--rn-plum-700);
  --rn-text-link: var(--rn-blue-700);
  --rn-focus-ring: var(--rn-blue-500);

  /* typography */
  --rn-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --rn-font-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --rn-fvar-display-brand: 'opsz' 96, 'wght' 600, 'SOFT' 60, 'WONK' 0;
  --rn-fvar-display-heading: 'opsz' 72, 'wght' 600, 'SOFT' 60, 'WONK' 0;
  --rn-fvar-display-quote: 'opsz' 48, 'wght' 400, 'SOFT' 70, 'WONK' 0;
  --rn-text-display-1-size: 56px;
  --rn-text-display-1-lh: 60px;
  --rn-text-display-1-tracking: -0.02em;
  --rn-text-display-1-weight: 600;
  --rn-text-display-1-family: var(--rn-font-display);
  --rn-text-h1-size: 44px;
  --rn-text-h1-lh: 50px;
  --rn-text-h1-tracking: -0.015em;
  --rn-text-h1-weight: 600;
  --rn-text-h1-family: var(--rn-font-display);
  --rn-text-h2-size: 34px;
  --rn-text-h2-lh: 40px;
  --rn-text-h2-tracking: -0.01em;
  --rn-text-h2-weight: 600;
  --rn-text-h2-family: var(--rn-font-display);
  --rn-text-h3-size: 26px;
  --rn-text-h3-lh: 32px;
  --rn-text-h3-tracking: -0.005em;
  --rn-text-h3-weight: 600;
  --rn-text-h3-family: var(--rn-font-display);
  --rn-text-h4-size: 20px;
  --rn-text-h4-lh: 28px;
  --rn-text-h4-tracking: 0em;
  --rn-text-h4-weight: 600;
  --rn-text-h4-family: var(--rn-font-sans);
  --rn-text-body-lg-size: 19px;
  --rn-text-body-lg-lh: 32px;
  --rn-text-body-lg-tracking: 0em;
  --rn-text-body-lg-weight: 400;
  --rn-text-body-lg-family: var(--rn-font-sans);
  --rn-text-body-size: 17px;
  --rn-text-body-lh: 28px;
  --rn-text-body-tracking: 0em;
  --rn-text-body-weight: 400;
  --rn-text-body-family: var(--rn-font-sans);
  --rn-text-body-sm-size: 15px;
  --rn-text-body-sm-lh: 24px;
  --rn-text-body-sm-tracking: 0em;
  --rn-text-body-sm-weight: 400;
  --rn-text-body-sm-family: var(--rn-font-sans);
  --rn-text-caption-size: 13px;
  --rn-text-caption-lh: 18px;
  --rn-text-caption-tracking: 0.01em;
  --rn-text-caption-weight: 500;
  --rn-text-caption-family: var(--rn-font-sans);
  --rn-text-overline-size: 12px;
  --rn-text-overline-lh: 16px;
  --rn-text-overline-tracking: 0.18em;
  --rn-text-overline-weight: 600;
  --rn-text-overline-family: var(--rn-font-sans);
  --rn-text-button-size: 16px;
  --rn-text-button-lh: 20px;
  --rn-text-button-tracking: 0.01em;
  --rn-text-button-weight: 600;
  --rn-text-button-family: var(--rn-font-sans);
  --rn-text-legal-size: 13px;
  --rn-text-legal-lh: 20px;
  --rn-text-legal-tracking: 0em;
  --rn-text-legal-weight: 400;
  --rn-text-legal-family: var(--rn-font-sans);

  /* space — `.` is not a legal ident character, so 0.5 becomes 0-5 */
  --rn-space-0: 0px;
  --rn-space-1: 4px;
  --rn-space-2: 8px;
  --rn-space-3: 12px;
  --rn-space-4: 16px;
  --rn-space-5: 20px;
  --rn-space-6: 24px;
  --rn-space-8: 32px;
  --rn-space-10: 40px;
  --rn-space-12: 48px;
  --rn-space-16: 64px;
  --rn-space-20: 80px;
  --rn-space-24: 96px;
  --rn-space-32: 128px;
  --rn-space-px: 1px;
  --rn-space-0-5: 2px;
  --rn-space-1-5: 6px;

  /* radius */
  --rn-radius-none: 0px;
  --rn-radius-sm: 8px;
  --rn-radius-md: 12px;
  --rn-radius-lg: 16px;
  --rn-radius-xl: 24px;
  --rn-radius-2xl: 32px;
  --rn-radius-pill: 999px;
  --rn-radius-circle: 50%;

  /* elevation */
  --rn-shadow-sm: 0 1px 2px rgba(34,28,33,0.06);
  --rn-shadow-md: 0 4px 16px rgba(34,28,33,0.08);
  --rn-shadow-lg: 0 12px 32px rgba(34,28,33,0.10);
  --rn-shadow-plum: 0 8px 24px rgba(94,52,85,0.16);
  --rn-shadow-focus: 0 0 0 3px rgba(78,134,171,0.45);

  /* motion */
  --rn-duration-fast: 150ms;
  --rn-duration-base: 220ms;
  --rn-duration-slow: 380ms;
  --rn-ease-standard: cubic-bezier(0.2,0.8,0.2,1);
  --rn-ease-entrance: cubic-bezier(0,0.6,0.3,1);
  --rn-ease-exit: cubic-bezier(0.4,0,1,1);

  /* layout */
  --rn-container-max: 1180px;
  --rn-gutter: 20px;
  --rn-grid-gap: 16px;
  --rn-measure-body: 68ch;
  --rn-measure-lead: 46ch;
  --rn-section-y: 64px;
}

@media (min-width: 768px) {
  :root {
    --rn-gutter: 32px;
    --rn-grid-gap: 24px;
    --rn-section-y: 96px;
  }
}

@media (max-width: 767px) {
  :root {
    --rn-text-display-1-size: 40px;
    --rn-text-display-1-lh: 44px;
    --rn-text-h1-size: 33px;
    --rn-text-h1-lh: 38px;
    --rn-text-h2-size: 27px;
    --rn-text-h2-lh: 32px;
    --rn-text-h3-size: 22px;
    --rn-text-h3-lh: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --rn-duration-fast: 1ms;
    --rn-duration-base: 1ms;
    --rn-duration-slow: 1ms;
  }
}
