/* ============================================================
   E.S. WAGNER — COLOR TOKENS
   Source: 2026 Branding Guide "Color Story"
   Base brand colors carry the names from the brand guide.
   ============================================================ */

:root {
  /* ---- Brand core ---- */
  --esw-legacy-red: #d03742;   /* The legacy of E.S. Wagner since 1947 */
  --esw-navy:       #133544;   /* Professionalism with a personal touch */
  --esw-asphalt:    #212731;   /* Highway / bridge / airport; final top layer */

  /* ---- Brand supporting / sector palette ---- */
  --esw-gravel:        #d4dadb; /* Crushed-stone gray; rail ballast & aggregate */
  --esw-reservoir:     #7795b2; /* Water — flood, reservoir & shoreline systems */
  --esw-dozer:         #fdb71a; /* Equipment & commitment to safety */
  --esw-carolina-dirt: #d27742; /* Iron-rich Carolina red dirt */
  --esw-clay:          #aa8f6e; /* NW Ohio clay; grounded, developing people from the ground up */
  --esw-earth:         #525841; /* Earthmoving; self-perform experience */

  /* ---- Red ramp (states) ---- */
  --esw-red-100: #fbe7e8;
  --esw-red-300: #e88f95;
  --esw-red-500: #d03742;   /* = legacy red */
  --esw-red-600: #b62b35;
  --esw-red-700: #971f28;

  /* ---- Navy ramp (states) ---- */
  --esw-navy-100: #e2e9ed;
  --esw-navy-300: #6f8a98;
  --esw-navy-500: #133544;  /* = navy */
  --esw-navy-700: #0c2530;
  --esw-navy-900: #081820;

  /* ---- Neutral ramp (asphalt → white) ---- */
  --esw-ink:    #11161c;
  --esw-asphalt-deep: #1a1f27;
  --esw-slate:  #3a414b;
  --esw-steel:  #5b636d;
  --esw-stone:  #8b939b;
  --esw-fog:    #c7ccd0;
  --esw-mist:   #e6e9eb;
  --esw-paper:  #f4f5f6;
  --esw-white:  #ffffff;

  /* ============================================================
     SEMANTIC ALIASES — reference these in components
     ============================================================ */

  /* Text */
  --text-strong:  var(--esw-asphalt);
  --text-body:    #2c333d;
  --text-muted:   var(--esw-steel);
  --text-faint:   var(--esw-stone);
  --text-inverse: var(--esw-white);
  --text-on-red:  var(--esw-white);
  --text-link:    var(--esw-legacy-red);

  /* Surfaces */
  --surface-page:    var(--esw-paper);
  --surface-card:    var(--esw-white);
  --surface-sunken:  var(--esw-mist);
  --surface-raised:  var(--esw-white);
  --surface-dark:    var(--esw-asphalt);
  --surface-navy:    var(--esw-navy);
  --surface-navy-deep: var(--esw-navy-900);

  /* Borders */
  --border-subtle:  var(--esw-mist);
  --border-default: var(--esw-fog);
  --border-strong:  var(--esw-stone);
  --border-dark:    var(--esw-slate);

  /* Brand actions */
  --brand-primary:        var(--esw-legacy-red);
  --brand-primary-hover:  var(--esw-red-600);
  --brand-primary-press:  var(--esw-red-700);
  --brand-primary-tint:   var(--esw-red-100);
  --accent-navy:          var(--esw-navy);
  --accent-navy-hover:    var(--esw-navy-700);

  /* Status */
  --status-danger:  var(--esw-legacy-red);
  --status-warning: var(--esw-dozer);
  --status-success: #2f7d4f;
  --status-info:    var(--esw-reservoir);

  /* Focus */
  --focus-ring: 0 0 0 3px rgba(208, 55, 66, 0.35);
}
