/**
 * FCAL Design Tokens
 * Import this on every page that uses the shared layout.
 * Single source of truth for all CSS variables and base resets.
 */

:root {
  /* Brand colours */
  --ink: #0d1b3e;
  --ink2: #1a3060;
  --ink3: #2b4a8c;
  --g1: #d4a017;
  --g2: #e8c145;
  --glt: #fdf6e0;
  --gdk: #a07810;

  /* Teal accent */
  --tl: #1a6b68;
  --tlm: #22857f;
  --tllt: #daf2f0;

  /* Status colours */
  --rd: #b22828;
  --rdlt: #fde8e8;
  --am: #956808;
  --amlt: #fef0d0;
  --gr: #1a7a40;
  --grlt: #dcf0e4;

  /* Neutrals */
  --off: #f7f6f4;
  --pale: #f0f3fa;
  --bdr: #e2e2e2;
  --white: #fff;
  --txt: #1a1a2e;
  --txt2: #52556a;

  /* Radii */
  --r: 10px;
  --rl: 14px;

  /* Shadows */
  --sh: 0 4px 28px rgba(13, 27, 62, .09);
  --shh: 0 10px 44px rgba(13, 27, 62, .17);

  /* Gradients */
  --gold-grad: linear-gradient(135deg, #d4a017 0%, #f0c840 50%, #c99010 100%);
  --navy-grad: linear-gradient(135deg, #0d1b3e 0%, #1a3060 100%);
}

/* Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--txt);
  background: #fdfcf9;
  overflow-x: hidden;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
  transition: color .3s ease, border-color .3s ease, background-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

ul {
  list-style: none;
}

button {
  font-family: inherit;
}

body.no-scroll {
  overflow: hidden;
}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}