/* 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/fonts/archivo-expanded-black.woff2") format("woff2"); font-weight: 900; font-display: swap; }
@font-face { font-family: "Archivo Expanded"; src: url("/assets/fonts/archivo-expanded-extrabold.woff2") format("woff2"); font-weight: 800; font-display: swap; }
@font-face { font-family: "Inter Tight"; src: url("/assets/fonts/inter-tight-variable.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Martian Mono"; src: url("/assets/fonts/martian-mono-variable.woff2") format("woff2"); font-weight: 100 800; font-display: swap; }
@font-face { font-family: "Syne"; src: url("/assets/fonts/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 */
  --cp-duration-fast: 120ms;
  --cp-duration-standard: 180ms;
  --cp-ease-standard: cubic-bezier(0.2, 0, 0, 1);
}
