/*
  Every colour, typeface, radius and spacing step in the project is declared here.
  Nothing else in the codebase declares a colour.

  Contrast rules that follow from the palette, and are not negotiable:
  1. Navy and charcoal never layer. They sit at 1.08 and read as a rendering fault.
  2. Coral never carries small text and never takes white text at body size.
     Use --tas-coral-deep for any coral label, link or small icon.
  3. The filled primary button is navy with white text.
*/

:root {
  /* Brand, sampled from the TAS logo */
  --tas-navy: #393971;
  --tas-charcoal: #393a40;
  --tas-coral: #df6f55;
  --tas-white: #ffffff;

  /* Derived */
  --tas-coral-deep: #b84a31;
  --tas-body: #6b6b78;
  --tas-surface: #f5f5f8;
  --tas-border: #e2e2e9;

  /* Semantic */
  --colour-page: var(--tas-surface);
  --colour-card: var(--tas-white);
  --colour-heading: var(--tas-charcoal);
  --colour-text: var(--tas-body);
  --colour-link: var(--tas-navy);
  --colour-accent: var(--tas-coral);
  --colour-accent-text: var(--tas-coral-deep);
  --colour-rule: var(--tas-border);
  --colour-hero: var(--tas-navy);
  --colour-error: var(--tas-coral-deep);

  /* Type */
  --font-heading: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --size-label: 0.75rem;
  --size-small: 0.875rem;
  --size-body: 1rem;
  --size-name: 1.625rem;
  --size-section: 0.8125rem;

  --tracking-label: 0.14em;
  --leading-body: 1.6;

  /* Space */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;

  /* Shape */
  --radius-card: 16px;
  --radius-control: 10px;
  --radius-round: 50%;

  --shadow-card: 0 12px 32px rgba(57, 58, 64, 0.12);

  --content-width: 420px;
  --tap-target: 48px;
}
