/* ==========================================================================
   Kinus — Design tokens
   Compiled from the "Novo Kinus" design system (colors, typography, spacing,
   borders, layout, motion). Values are 1:1 with the source deck.
   ========================================================================== */

/* Montserrat (display/headings) + Inter (body) */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap");

:root {
  /* --- Brand core --- */
  --kinus-navy: #001F3F;
  --kinus-blue: #0074D9;
  --kinus-cyan: #7FDBFF;
  --kinus-white: #FFFFFF;
  --kinus-mark-blue: #233DFF;
  --kinus-mark-ink: #F4F6FC;

  /* --- Navy ramp --- */
  --navy-900: #001428;
  --navy-800: #001F3F;
  --navy-700: #002E5C;
  --navy-600: #003D7A;

  /* --- Blue ramp --- */
  --blue-700: #005BA8;
  --blue-600: #0074D9;
  --blue-500: #178BEF;
  --blue-200: #7FDBFF;
  --blue-050: #F0F7FF;

  /* --- Neutrals --- */
  --gray-900: #333333;
  --gray-700: #444444;
  --gray-600: #555555;
  --gray-500: #666666;
  --gray-300: #E0E0E0;
  --gray-100: #F4F7FA;
  --gray-050: #F8F9FA;

  /* --- Semantic aliases --- */
  --text-heading: var(--kinus-navy);
  --text-body: var(--gray-600);
  --text-muted: var(--gray-500);
  --text-strong: var(--gray-700);
  --text-on-dark: var(--kinus-white);
  --text-on-dark-muted: rgba(255, 255, 255, .82);
  --text-accent: var(--kinus-blue);
  --text-accent-on-dark: var(--kinus-cyan);
  --text-link: var(--kinus-blue);
  --text-link-hover: var(--blue-700);

  --surface-page: var(--kinus-white);
  --surface-subtle: var(--gray-050);
  --surface-tinted: var(--gray-100);
  --surface-accent-tint: var(--blue-050);
  --surface-card: var(--kinus-white);
  --surface-inverse: var(--kinus-navy);
  --surface-accent: var(--kinus-blue);

  --border-default: var(--gray-300);
  --border-strong: var(--kinus-navy);
  --border-accent: var(--kinus-blue);
  --border-on-dark: rgba(255, 255, 255, .24);

  --accent-bar: var(--kinus-navy);
  --focus-ring: var(--kinus-blue);

  /* --- Typography --- */
  --font-display: "Montserrat", "Segoe UI", system-ui, sans-serif;
  --font-body: "Inter", "Segoe UI", system-ui, sans-serif;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  --text-display: 56px;
  --text-h1: 43px;
  --text-h2: 29px;
  --text-h3: 21px;
  --text-h4: 19px;
  --text-body-lg: 19px;
  --text-body-md: 17px;
  --text-body-sm: 15px;
  --text-caption: 13px;

  --lh-tight: 1.1;
  --lh-heading: 1.25;
  --lh-body: 1.55;
  --lh-relaxed: 1.7;

  --ls-tight: -0.02em;
  --ls-heading: -0.01em;
  --ls-normal: 0;
  --ls-label: 0.08em;

  /* --- Spacing --- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 56px;
  --space-9: 80px;
  --space-10: 112px;

  /* --- Borders / elevation --- */
  --radius-none: 0px;
  --radius-sm: 2px;
  --radius-pill: 999px;
  --radius-circle: 50%;
  --border-width: 1px;
  --border-width-thick: 2px;
  --accent-bar-width: 4px;
  --marker-ring-width: 3px;

  --shadow-none: none;
  --shadow-sm: 0 1px 2px rgba(0, 31, 63, .06);
  --shadow-md: 0 4px 16px rgba(0, 31, 63, .08);
  --shadow-lg: 0 16px 40px rgba(0, 31, 63, .12);
  --shadow-focus: 0 0 0 3px rgba(0, 116, 217, .35);

  /* --- Layout --- */
  --container-max: 1200px;
  --container-pad: 32px;
  --header-h: 72px;
  --gradient-title-split: linear-gradient(135deg, #001428 0%, #001F3F 46%, #004C99 72%, #0074D9 100%);
  --gradient-navy: linear-gradient(135deg, #001428 0%, #002E5C 100%);

  /* --- Motion --- */
  --ease-standard: cubic-bezier(.4, 0, .2, 1);
  --ease-out: cubic-bezier(0, 0, .2, 1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 320ms;
}
