/* ==========================================================================
   Key-Cert — Design Tokens
   Single source of truth for colour, type, spacing and shape.
   Every other stylesheet must reference these custom properties —
   no stray hex values, no arbitrary pixel values outside --space-*.
   ========================================================================== */

:root {
  /* brand */
  --kc-blue:        #00A8E8;  /* logo blue — primary brand */
  --kc-blue-deep:   #0079AB;  /* hover / gradient end / links on white */
  --kc-marine:      #062A43;  /* headings, dark sections, footer */
  --kc-marine-2:    #0B3A5B;  /* gradient partner for marine */

  /* action — the ONLY warm colour on the site */
  --kc-seal:        #E39A2B;  /* CTA buttons, the active nav indicator, and the accreditation stamp ONLY */
  --kc-seal-deep:   #8F5C0E;  /* darkened from a lighter draft so it still hits 4.5:1 as text/on-white */
  --kc-blue-tint:   #E7F7FD;  /* pale blue wash for selected/pressed toggle backgrounds */

  /* neutrals */
  --kc-ink:         #10202B;  /* body copy */
  --kc-slate:       #4C6070;  /* secondary copy, captions */
  --kc-line:        #D8E3EA;  /* hairlines, decorative card/section borders */
  --kc-line-strong: #7C93A3;  /* functional UI borders needing ≥3:1 on white: inputs, outline buttons */
  --kc-mist:        #F1F7FA;  /* alternating section background */
  --kc-white:       #FFFFFF;

  /* state */
  --kc-ok:          #15805A;
  --kc-error:       #B3261E;

  /* gradients */
  --kc-gradient-marine: linear-gradient(135deg, var(--kc-marine), var(--kc-marine-2));

  /* fonts */
  --font-display: "Roboto", system-ui, -apple-system, sans-serif;
  --font-body:    "Roboto", system-ui, -apple-system, sans-serif;
  --font-mono:    "Roboto", system-ui, -apple-system, sans-serif;

  /* type scale — fluid */
  --step-h1:    clamp(1.75rem, 1.3rem + 4vw, 4.5rem);
  --step-h2:    clamp(1.5rem, 1.2rem + 2.4vw, 2.75rem);
  --step-h3:    clamp(1.25rem, 1.15rem + 0.5vw, 1.5rem);
  --step-body:  1.0625rem;
  --step-small: .9375rem;

  /* spacing scale */
  --space-4:  0.25rem;
  --space-8:  0.5rem;
  --space-12: 0.75rem;
  --space-16: 1rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-48: 3rem;
  --space-64: 4rem;
  --space-96: 6rem;

  /* section rhythm — set once, never overridden */
  --section-pad: clamp(72px, 9vw, 128px);

  /* layout */
  --container-max: 1200px;
  --container-wide: 1440px;
  --container-pad: clamp(20px, 5vw, 40px);

  /* shape */
  --radius: 4px;
  --border: 1px solid var(--kc-line);

  /* motion */
  --ease: cubic-bezier(.4, 0, .2, 1);
  --motion-fast: 150ms;
  --motion-med: 400ms;

  /* header */
  --header-height: 72px;
}
