:root {
  /* Brand */
  --fep-brand: #0f6f9f;
  --fep-brand-deep: #03557e;
  --fep-brand-soft: #e8f4fb;
  --fep-accent: #f58220;
  --fep-accent-soft: #fff3e8;

  /* Functional */
  --fep-success: #1f7a6f;
  --fep-success-soft: #e6f6f3;
  --fep-warning: #b45309;
  --fep-warning-soft: #fffbeb;
  --fep-danger: #b91c1c;
  --fep-danger-soft: #fef2f2;
  --fep-info: #1d4ed8;
  --fep-info-soft: #eff6ff;

  /* Neutrals */
  --fep-ink: #0f172a;
  --fep-ink-2: #334155;
  --fep-muted: #64748b;
  --fep-line: rgba(15, 86, 126, 0.12);
  --fep-line-strong: rgba(15, 23, 42, 0.14);
  --fep-surface: #ffffff;
  --fep-surface-2: #f7fafc;
  --fep-bg: #f3f6fa;
  --fep-bg-warm: #fbf8f4;

  /* Shape */
  --fep-radius-sm: 10px;
  --fep-radius: 14px;
  --fep-radius-lg: 20px;
  --fep-radius-xl: 28px;

  /* Shadow */
  --fep-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 10px 28px rgba(15, 23, 42, 0.05);
  --fep-shadow-hover: 0 8px 28px rgba(15, 86, 126, 0.12);
  --fep-shadow-soft: 0 1px 2px rgba(15, 23, 42, 0.03);

  /* Type */
  --fep-font: "Manrope", system-ui, sans-serif;
  --fep-display: "Poppins", "Manrope", sans-serif;
  --fep-text: 1rem;
  --fep-text-sm: 0.875rem;
  --fep-text-xs: 0.8125rem;
  --fep-h1: clamp(1.85rem, 3.2vw, 2.75rem);
  --fep-h2: clamp(1.35rem, 2.2vw, 1.85rem);
  --fep-h3: 1.1rem;
  --fep-leading: 1.55;
  --fep-measure: 42rem;

  /* Layout */
  --fep-container: 1180px;
  --fep-gutter: 1.25rem;
  --fep-section: clamp(2.5rem, 5vw, 4rem);
  --fep-touch: 44px;

  /* Motion */
  --fep-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --fep-fast: 150ms;
  --fep-med: 220ms;

  /* Z */
  --fep-z-nav: 50;
  --fep-z-sticky: 40;
  --fep-z-dropdown: 60;
  --fep-z-modal: 80;

  /* Legacy aliases (gradual migration) */
  --primary: var(--fep-brand);
  --primary-deep: var(--fep-brand-deep);
  --accent: var(--fep-accent);
  --dark: var(--fep-ink);
  --muted: var(--fep-muted);
  --line: var(--fep-line);
  --card: var(--fep-surface);
  --sky: var(--fep-brand);
  --sky-soft: var(--fep-brand-soft);
  --coral: #e86a4a;
  --coral-soft: #fdeee9;
  --mint: var(--fep-success);
  --mint-soft: var(--fep-success-soft);
  --amber: var(--fep-accent);
  --amber-soft: var(--fep-accent-soft);
  --bg: var(--fep-bg);
  --radius: var(--fep-radius);
  --radius-lg: var(--fep-radius-lg);
  --shadow: var(--fep-shadow);
  --shadow-hover: var(--fep-shadow-hover);
  --font: var(--fep-font);
  --display: var(--fep-display);
  --container: var(--fep-container);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --fep-fast: 0ms;
    --fep-med: 0ms;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
