:root {
  /* Color Palette - Based on Figma design */
  --color-primary: #f16b50;        /* Coral primary brand color */
  --color-primary-light: #f59785;  /* Lighter shade */
  --color-primary-dark: #c94808;   /* Dark coral shade for hover states */
  --color-secondary: #1d2d3a;      /* CHARCOAL - Dark blue for headers */
  --color-secondary-dark: #0F2436;  /* Darker blue */
  --color-accent: #F8F9FA;         /* Light gray for backgrounds */
  --color-text-primary: #1d2d3a;   /* CHARCOAL - Main text color */
  --color-text-secondary: #515861; /* STEEL - Secondary text color */
  --color-text-light: #999999;     /* Light text */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-gray-100: #F8F9FA;
  --color-gray-200: #E9ECEF;
  --color-gray-300: #DEE2E6;
  --color-gray-400: #CED4DA;
  --color-gray-500: #ADB5BD;
  --color-border: #E0E0E0;
  --color-success: #28A745;
  --color-error: #DC3545;
  --color-warning: #FFC107;

  /* ------------------------------------------------------------------
   * Measured Figma palette — FND-2 / DONI-701.
   *
   * Source: file PMOumVEsuQEHJFYkbGBD84, page 1:5 "Design System",
   * frame 97:261 "Color palette". Each swatch carries its own name and
   * hex as a text label AND as the rectangle fill. Both agree on all 12.
   *
   * Bind to the COLOUR name, not the semantic alias. Ruled by Caroline
   * Casals 2026-08-04: a brand retune then reaches everywhere, and a
   * wrong colour fails visibly instead of hiding behind an alias.
   * ------------------------------------------------------------------ */
  --color-steel: #515861;          /* STEEL      · swatch 97:283  */
  --color-coral: #f16b50;          /* Coral      · swatch 97:270  */
  --color-dark-coral: #c94808;     /* Dark Coral · swatch 4032:438 */
  --color-eee: #eee;
  --color-melon: #f8b095;          /* Melon      · swatch 4212:340 */
  --color-light-melon: #FCEEE7;
  --color-dedede: #dedede;
  --color-charcol: #1D2D3A;        /* CHARCOAL   · swatch 97:286  */
  --color-lemon: #fff095;          /* LEMON      · swatch 4035:557 */
  --color-neutral-1: #fff7ca;      /* NEUTRAL #1 · swatch 4035:560 */
  --color-neutral-2: #d6d2c4;      /* NEUTRAL #2 · swatch 4035:563 */
  --color-neutral-3: #e2ceb3;      /* NEUTRAL #3 · swatch 4035:573 */
  --color-neutral-4: #bfb7af;      /* NEUTRAL #4 · swatch 4035:569 */

  /* An undocumented band literal, NOT a second Coral. The palette names
   * exactly one coral (#f16b50). #eb6f56 appears only as the Notification
   * Bar fill on 24410:65587. Declared so a future band stops hardcoding
   * it; do not alias it to --color-coral, that is a brand change. */
  --color-coral-band: #eb6f56;

  /* The button Pressed fill. Also an undocumented literal, not a palette
     colour — `10211:15833`, `10211:15841` and `10211:15844` all paint it as
     a bare hex with no variable behind it, unlike Hover which binds
     `Dark Coral`. Real, measured, named here so FND-7 does not hardcode it
     in three places. FND-7 / DONI-714. */
  --color-coral-pressed: #a33905;

  --color-nav-active: #f16b50;
  --color-isi-heading: #c94808;

  --color-text-muted: var(--color-text-secondary);
  --color-rule: var(--color-primary);

  --silver-gradient: linear-gradient(
    90deg,
    rgba(222, 225, 227, 1) 0%,
    rgba(255, 251, 230, 1) 25.4807710647583%,
    rgba(212, 203, 191, 1) 59.61538553237915%,
    rgba(237, 236, 236, 1) 79.80769276618958%,
    rgba(214, 212, 186, 1) 100%
  );


  /* Additional utility colors */
  --color-placeholder: #ff00b7;        /* Placeholder/debug color - should be replaced in production */
  --color-border-light: #eeeeee;       /* Light border color */
  --color-overlay-dark: rgba(0, 0, 0, 0.5);  /* Dark overlay */
  --color-overlay-light: rgba(255, 255, 255, 0.5);  /* Light overlay */


  /* Typography — families. FND-3 / DONI-704.
   *
   * The KIT name comes first in every stack. Kit `gzb5nao` serves the family
   * as `tilt-neon`; `Tilt Neon` is the Google Fonts spelling of the same
   * typeface, kept second only as a safety net.
   *
   * 🔴 They are NOT interchangeable. Same glyphs, different default metrics:
   * `line-height: normal` is 1.57 on the kit face and 1.26 on the Google one.
   * Measured in Chrome at 1440, 2026-08-05. Never let a tilt-neon rule fall
   * back to `normal` — see --line-height-display below. */
  --font-family-primary: 'agenda', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
  --font-family-secondary: 'tilt-neon', 'Tilt Neon', Georgia, 'Times New Roman', serif;
  --font-family-mono: 'SF Mono', Monaco, 'Courier New', monospace;

  /* Figma Design System Typography */
  --font-agenda: 'agenda', 'Inter', Arial, sans-serif;
  --font-tilt-neon: 'tilt-neon', 'Tilt Neon', Georgia, serif;

  /* Font Sizes - Fluid Typography */
  --font-size-xs: clamp(0.75rem, 0.7vw, 0.875rem);    /* 12-14px */
  --font-size-sm: clamp(0.875rem, 0.9vw, 1rem);       /* 14-16px */
  --font-size-base: clamp(1rem, 1vw, 1.125rem);       /* 16-18px */
  --font-size-lg: clamp(1.125rem, 1.2vw, 1.25rem);    /* 18-20px */
  --font-size-xl: clamp(1.25rem, 1.5vw, 1.5rem);      /* 20-24px */
  --font-size-2xl: clamp(1.5rem, 2vw, 2rem);          /* 24-32px */
  --font-size-3xl: clamp(2rem, 2.5vw, 2.5rem);        /* 32-40px */
  --font-size-4xl: clamp(2.5rem, 3vw, 3rem);          /* 40-48px */
  --font-size-5xl: clamp(3rem, 4vw, 4rem);            /* 48-64px */

  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Line Heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
  --line-height-loose: 2;

  /* Spacing System (8px base) */
  --space-xs: 0.25rem;   /* 4px */
  --space-sm: 0.5rem;    /* 8px */
  --space-md: 1rem;      /* 16px */
  --space-lg: 1.5rem;    /* 24px */
  --space-xl: 2rem;      /* 32px */
  --space-2xl: 2.5rem;   /* 40px */
  --space-3xl: 3rem;     /* 48px */
  --space-4xl: 4rem;     /* 64px */
  --space-5xl: 5rem;     /* 80px */
  --space-6xl: 6rem;     /* 96px */

  --padding-size-xs: 0.5rem;    /*  8px */
  --padding-size-sm: 1rem;      /* 16px */
  --padding-size-md: 1.25rem;   /* 20px */
  --padding-size-lg: 2rem;      /* 32px */
  --padding-size-xl: 3rem;      /* 48px */
  --padding-size-2xl: 4rem;     /* 64px */
  --padding-size-3xl: 5rem;     /* 80px */
  --padding-size-4xl: 6rem;     /* 96px */
  --padding-size-5xl: 8rem;     /* 128px */

  --gap-size-xs: 0.25rem;   /*  4px */
  --gap-size-sm: 0.5rem;    /*  8px */
  --gap-size-md: 1rem;      /* 16px */
  --gap-size-lg: 1.5rem;    /* 24px */
  --gap-size-xl: 2rem;      /* 32px */
  --gap-size-2xl: 3rem;     /* 48px */

  --footer-links: 60px;
  --section-margin: 60px;

  --content-width: 1200px;
  --gutter: 84px;
  --gutter-min: 24px;
  --page-width: 1368px;
  --gutter-fluid: clamp(
    var(--gutter-min),
    calc((100vw - var(--content-width)) / 2),
    var(--gutter)
  );

  /* Layout Variables */
  --container-max-width: var(--content-width);
  --container-narrow-max-width: 864px;   
  --container-padding: var(--space-lg);
  --header-height: 80px;
  --header-height-mobile: 72px;
  --utilitybar-height: 30px;
  --sidebar-width: 300px;
  --content-max-width: 65ch;

  /* Grid & Flexbox */
  --grid-gap: var(--space-lg);
  --grid-columns: 12;

  /* Shadows */
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.1);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.25);
  --shadow-inner: inset 0 2px 4px rgba(0, 0, 0, 0.06);
/* Custom shadows found in components */
  --shadow-card: 0px 8px 24px -4px rgba(81, 88, 97, 0.16);
  --shadow-section: 0px -4px 24px -4px rgba(81, 88, 97, 0.08);
  --shadow-focus-primary: 0 0 0 3px rgba(241, 107, 80, 0.1);
  --shadow-focus-error: 0 0 0 3px rgba(220, 53, 69, 0.1);
  --shadow-glow-primary: 0px 0px 8px 0px var(--color-primary-dark), 0px 0px 8px 0px var(--color-primary-light);

  /* Border Radius */
  --radius-sm: 0.25rem;   /* 4px */
  --radius-md: 0.5rem;    /* 8px */
  --radius-lg: 0.75rem;   /* 12px */
  --radius-xl: 1rem;      /* 16px */
  --radius-2xl: 1.5rem;   /* 24px */
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms ease-in-out;
  --transition-base: 300ms ease-in-out;
  --transition-slow: 500ms ease-in-out;
  --transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;

  /* Z-index Scale */
  --z-negative: -1;
  --z-base: 0;
  --z-dropdown: 1000;
  --z-sticky: 1020;
  --z-fixed: 1030;
  --z-modal-backdrop: 1040;
  --z-modal: 1050;
  --z-popover: 1060;
  --z-tooltip: 1070;

  /* Breakpoints */
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-2xl: 1400px;
}

/* Tablet adjustments */
@media (min-width: 768px) {
  :root {
    --container-padding: var(--space-xl);
  }
}

/* Desktop adjustments */
@media (min-width: 1250px) {
  :root {
    --container-padding: 0;
  }
}

/* Dark mode support (optional) */
@media (prefers-color-scheme: dark) {
  :root {
    /* Dark mode overrides can be added here */
  }
}

/* Motion preferences */
@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: 0ms;
    --transition-base: 0ms;
    --transition-slow: 0ms;
  }
}
