/* Central Praia design tokens.
   Identity revision of 2026-10-14: warm palette without green.
   Logo, typefaces, spacing and component geometry follow Design System 1.0. */

@font-face { font-family: "Archivo Expanded"; src: url("assets/archivo-expanded-black.woff2") format("woff2"); font-weight: 900; font-display: swap; }
@font-face { font-family: "Archivo Expanded"; src: url("assets/archivo-expanded-extrabold.woff2") format("woff2"); font-weight: 800; font-display: swap; }
@font-face { font-family: "Inter Tight"; src: url("assets/inter-tight-variable.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Martian Mono"; src: url("assets/martian-mono-variable.woff2") format("woff2"); font-weight: 100 800; font-display: swap; }
@font-face { font-family: "Syne"; src: url("assets/syne-variable.woff2") format("woff2"); font-weight: 400 800; font-display: swap; }

:root {
  /* Palette */
  --cp-cream: #FFF8EF;
  --cp-sand: #F4E8D8;
  --cp-plum: #4A1634;
  --cp-plum-muted: #72536A;
  --cp-guava: #D9254E;
  --cp-guava-strong: #B71F44;
  --cp-yellow: #FFC857;
  --cp-lavender: #E4D9F5;
  --cp-blush: #F9DDE3;
  --cp-line: #E8DAD9;
  --cp-line-control: #AA8496;
  --cp-white: #FFFFFF;

  /* Semantic roles */
  --cp-bg: var(--cp-cream);
  --cp-surface: var(--cp-white);
  --cp-surface-sand: var(--cp-sand);
  --cp-surface-strong: var(--cp-plum);
  --cp-text: var(--cp-plum);
  --cp-text-muted: var(--cp-plum-muted);
  --cp-text-on-strong: var(--cp-cream);
  --cp-accent: var(--cp-guava);
  --cp-accent-hover: var(--cp-guava-strong);
  --cp-on-accent: var(--cp-white);
  --cp-highlight: var(--cp-yellow);
  --cp-on-highlight: var(--cp-plum);
  --cp-border: var(--cp-line);
  --cp-border-control: var(--cp-line-control);
  --cp-focus-ring: 0 0 0 2px var(--cp-cream), 0 0 0 4px var(--cp-plum);

  /* Typography */
  --cp-font-display: "Archivo Expanded", "Arial Black", sans-serif;
  --cp-font-editorial: "Syne", sans-serif;
  --cp-font-body: "Inter Tight", Arial, sans-serif;
  --cp-font-data: "Martian Mono", "Courier New", monospace;

  /* Spacing, radius, layout */
  --cp-space-4: 0.25rem;
  --cp-space-8: 0.5rem;
  --cp-space-12: 0.75rem;
  --cp-space-16: 1rem;
  --cp-space-24: 1.5rem;
  --cp-space-32: 2rem;
  --cp-space-48: 3rem;
  --cp-space-64: 4rem;
  --cp-radius-sm: 4px;
  --cp-radius-md: 8px;
  --cp-content-max: 80rem;
  --cp-page-margin: 1rem;
  --cp-target-size: 3rem;

  /* Motion: short, purposeful, never looping. Enter is slower than exit. */
  --cp-duration-fast: 120ms;
  --cp-duration-standard: 180ms;
  --cp-duration-slow: 260ms;
  --cp-ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --cp-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --cp-ease-in: cubic-bezier(0.7, 0, 0.84, 0);

  /* Elevation: the system has no drop shadows; layers are separated by color and border.
     The only exception is the modal scrim. */
  --cp-scrim: rgba(74, 22, 52, 0.55);
  --cp-z-sticky: 20;
  --cp-z-dropdown: 30;
  --cp-z-dialog: 40;
  --cp-z-toast: 50;
}


/* Consolidated additions: sizing and feedback reuse existing palette values. */
:root {
 --cp-space-20: 1.25rem; --cp-space-40: 2.5rem; --cp-space-80: 5rem; --cp-space-96: 6rem;
 --cp-radius-pill: 999px;
 --cp-type-display: clamp(2rem, 4.7vw, 4.125rem);
 --cp-type-title: clamp(1.625rem, 3.5vw, 2.5rem);
 --cp-type-body: 1rem;
 --cp-error: var(--cp-guava-strong); --cp-error-bg: var(--cp-blush);
 --cp-success: var(--cp-plum); --cp-success-bg: var(--cp-lavender);
 --cp-warning: var(--cp-plum); --cp-warning-bg: #FFEFC2;
 --cp-info: var(--cp-plum); --cp-info-bg: var(--cp-sand);
}
