/* ============================================================
   Nova Academy — Color tokens
   Extracted verbatim from "Nova Website.fig" (Website V1.0, Nov 2023).
   Base ramps use raw values as they appear in the file; do not
   snap to a public palette. Semantic aliases sit at the bottom.
   ============================================================ */

:root {
  /* ---- Brand ---- */
  --nova-blue: #0057FF;          /* rgb(0,87,255)  primary action, logo mark, links, "What we offer" */
  --nova-navy: #001E59;          /* rgb(0,30,89)   top bar, testimonial band, deep surfaces */
  --nova-navy-800: #001B4E;      /* rgb(0,27,78)   navy alt */
  --nova-navy-gradient-from: #0D3585; /* rgb(13,53,133) CTA banner gradient start */
  --nova-navy-gradient-to: #042058;   /* rgb(4,32,88)   CTA banner gradient end */
  --nova-ink: #121212;           /* rgb(18,18,18)  footer, primary text, headings */

  /* ---- Accents ---- */
  --nova-red: #BB171E;           /* rgb(187,23,30) UITM partner badge, hot accent */
  --nova-pink: #FF84FC;          /* rgb(255,132,252) hand-drawn underline accent */
  --nova-coral: #FF815C;         /* rgb(255,129,92) warm accent */
  --nova-coral-tint: #FFEDDD;    /* rgb(255,237,221) warm wash background */
  --nova-green: #009E00;         /* rgb(0,158,0)   WhatsApp mark + label */
  --nova-green-tint: #C6F3C6;    /* rgb(198,243,198) WhatsApp pill background */
  --nova-blue-tint: #F3F8FC;     /* rgb(243,248,252) cool wash background */

  /* ---- Neutrals (Untitled UI gray ramp, as carried in the file) ---- */
  --nova-white: #FFFFFF;
  --nova-gray-50: #F9FAFB;       /* rgb(249,250,251) */
  --nova-gray-100: #F2F4F7;      /* rgb(242,244,247) */
  --nova-gray-200: #EAECF0;      /* rgb(234,236,240) borders, arrow rings */
  --nova-gray-300: #D0D5DD;      /* rgb(208,213,221) */
  --nova-gray-400: #94969C;      /* rgb(148,150,156) footer heading (on dark) */
  --nova-gray-500: #667085;      /* rgb(102,112,133) */
  --nova-gray-600: #475467;      /* rgb(71,84,103)  secondary text */
  --nova-gray-700: #696969;      /* rgb(105,105,105) muted footer/meta text */
  --nova-gray-900: #101828;      /* rgb(16,24,40)   near-black text */
  --nova-hairline: #EDEDED;      /* rgb(237,237,237) light divider */
  --nova-hairline-strong: #C5C5C5; /* rgb(197,197,197) footer divider */

  /* semantic error (Untitled UI error ramp, carried in file variables) */
  --nova-error-400: #F97066;     /* rgb(249,112,102) */
  --nova-error-500: #F04438;     /* rgb(240,68,56) */
  --nova-error-600: #D92D20;     /* rgb(217,45,32) */

  /* ================= Semantic aliases ================= */
  /* Surfaces */
  --surface-page: var(--nova-white);
  --surface-raised: var(--nova-white);
  --surface-inverse: var(--nova-ink);       /* footer */
  --surface-navy: var(--nova-navy);         /* testimonial / accent bands */
  --surface-subtle: var(--nova-gray-50);
  --surface-tint-warm: var(--nova-coral-tint);
  --surface-tint-cool: var(--nova-blue-tint);
  --surface-tint-green: var(--nova-green-tint);

  /* Text */
  --text-primary: var(--nova-ink);
  --text-secondary: var(--nova-gray-600);
  --text-muted: var(--nova-gray-700);
  --text-on-dark: var(--nova-white);
  --text-on-dark-muted: var(--nova-gray-400);
  --text-brand: var(--nova-blue);
  --text-link: var(--nova-blue);

  /* Actions */
  --action-primary-bg: var(--nova-blue);
  --action-primary-fg: var(--nova-white);
  --action-primary-bg-hover: #0049D6;       /* darkened --nova-blue for hover */
  --action-whatsapp-bg: var(--nova-green-tint);
  --action-whatsapp-fg: var(--nova-green);
  --action-ghost-fg: var(--nova-ink);

  /* Lines */
  --border-default: var(--nova-gray-200);
  --border-subtle: var(--nova-hairline);
  --border-ring: var(--nova-gray-200);      /* carousel arrow ring */

  /* Status */
  --badge-partner-bg: var(--nova-red);
  --badge-partner-fg: var(--nova-white);
}
