/* ==========================================================================
   NMF Digital — Color tokens
   Derived from the brand imagery: a hot magenta→violet→electric-blue spectrum
   over deep plum darks. Magenta is the signature; blue anchors the cool end.
   ========================================================================== */
:root {
  /* --- Brand spectrum (the gradient stops, light → cool) --- */
  --nmf-pink:        #FF3D8B;   /* hot pink, top of the poster */
  --nmf-magenta:     #E11486;   /* SIGNATURE brand color */
  --nmf-fuchsia:     #C01E97;   /* mid magenta-purple */
  --nmf-violet:      #7A2BD4;   /* purple core */
  --nmf-blue:        #3526D9;   /* electric indigo-blue, cool end */
  --nmf-indigo:      #241A8F;   /* deep blue anchor */

  /* --- Magenta ramp (primary scale) --- */
  --magenta-50:  #FDEAF4;
  --magenta-100: #FBD0E6;
  --magenta-200: #F6A3CC;
  --magenta-300: #F06FAE;
  --magenta-400: #EB3F93;
  --magenta-500: #E11486;   /* = signature */
  --magenta-600: #C00F72;
  --magenta-700: #970B59;
  --magenta-800: #6E0840;
  --magenta-900: #45052A;

  /* --- Violet ramp --- */
  --violet-100: #EADBFA;
  --violet-300: #B589EC;
  --violet-500: #7A2BD4;
  --violet-700: #54199A;
  --violet-900: #2E0D57;

  /* --- Blue ramp --- */
  --blue-100: #DBDDFA;
  --blue-300: #8488EE;
  --blue-500: #3526D9;
  --blue-700: #221896;
  --blue-900: #130D55;

  /* --- Plum darks (from the petal macro) --- */
  --plum-900: #14040F;   /* near-black, hero/footer ground */
  --plum-800: #200a1a;
  --plum-700: #320f29;
  --plum-600: #4a163c;

  /* --- Neutrals (cool, faintly pink-warmed) --- */
  --white:    #FFFFFF;
  --neutral-50:  #FAF7FB;
  --neutral-100: #F2EEF4;
  --neutral-200: #E5DFE9;
  --neutral-300: #CEC6D4;
  --neutral-400: #A79CB0;
  --neutral-500: #7E7388;
  --neutral-600: #5C5365;
  --neutral-700: #423B49;
  --neutral-800: #2A2530;
  --neutral-900: #171319;

  /* --- Semantic feedback --- */
  --success-500: #18A971;
  --success-50:  #E6F6EF;
  --warning-500: #E8920C;
  --warning-50:  #FCF1DD;
  --danger-500:  #E5342F;
  --danger-50:   #FBE6E5;
  --info-500:    var(--blue-500);
  --info-50:     var(--blue-100);

  /* ====================================================================
     SEMANTIC ALIASES — reach for these in product UI, not the raw ramps
     ==================================================================== */
  --color-brand:           var(--nmf-magenta);
  --color-brand-strong:    var(--magenta-600);
  --color-accent:          var(--nmf-blue);

  --text-strong:           var(--neutral-900);
  --text-body:             var(--neutral-700);
  --text-muted:            var(--neutral-500);
  --text-on-brand:         var(--white);
  --text-on-dark:          var(--neutral-50);
  --text-link:             var(--magenta-600);

  --surface-page:          var(--neutral-50);
  --surface-card:          var(--white);
  --surface-sunken:        var(--neutral-100);
  --surface-inverse:       var(--plum-900);
  --surface-brand:         var(--nmf-magenta);

  --border-subtle:         var(--neutral-200);
  --border-default:        var(--neutral-300);
  --border-strong:         var(--neutral-400);
  --border-brand:          var(--nmf-magenta);

  --focus-ring:            color-mix(in oklch, var(--nmf-magenta) 45%, transparent);

  /* ====================================================================
     BRAND GRADIENTS — the core visual signature
     ==================================================================== */
  --gradient-brand:    linear-gradient(100deg, #FF2E6E 0%, #C81E94 38%, #6A2BD9 72%, #3526D9 100%); /* @kind color */
  --gradient-brand-soft: linear-gradient(120deg, var(--magenta-500) 0%, var(--violet-500) 100%); /* @kind color */
  --gradient-spectrum: linear-gradient(90deg, #FF3D8B 0%, #E11486 25%, #C01E97 50%, #7A2BD4 75%, #3526D9 100%); /* @kind color */
  --gradient-ink:      linear-gradient(160deg, #320f29 0%, #14040F 100%); /* @kind color */
  --gradient-glow:     radial-gradient(120% 120% at 80% 0%, rgba(225,20,134,0.55) 0%, rgba(53,38,217,0.0) 60%); /* @kind color */
}
