:root{
  /* ---- Cash Train palette (drop these tokens anywhere) ---- */
  --ct-green:        #123c2d;  /* primary background green */
  --ct-green-deep:   #0e2b20;
  --ct-green-glow:   #1c5a42;
  --ct-carriage:     #236743;
  --ct-gold:         #e6c057;  /* primary gold */
  --ct-gold-light:   #fff4c2;
  --ct-gold-mid:     #d9a838;
  --ct-gold-deep:    #8a6109;
  --ct-bronze:       #5d4308;
  --ct-paper:        #f6ecc0;
  --ct-ink:          #0e2b20;
  /* reusable gold gradient that matches the wordmark face */
  --ct-gold-gradient: linear-gradient(180deg,#fff4c2 0%,#eec560 30%,#d9a838 50%,#bd8a24 68%,#8a6109 100%);

  /* ---- Extended palette v2 ---- */
  --ct-green-darkest:  #071812;
  --ct-green-rich:     #0c2d1f;
  --ct-green-mid:      #18573e;
  --ct-green-vivid:    #22744e;
  --ct-green-bright:   #2d9165;
  --ct-cream:          #f8f3e4;
  --ct-cream-light:    #fdfaf3;
  --ct-cream-dark:     #e8d9b5;
  --ct-offwhite:       #f2ece0;
  --ct-slate-green:    rgba(18,60,45,0.94);

  /* Surface / glass tokens */
  --ct-glass-sm:       rgba(255,255,255,0.04);
  --ct-glass-md:       rgba(255,255,255,0.07);
  --ct-glass-hi:       rgba(255,255,255,0.12);
  --ct-glass-border:   rgba(255,255,255,0.10);
  --ct-glass-border-hi:rgba(230,192,87,0.25);

  /* Deprecated glow aliases kept neutral for older components. */
  --ct-glow-green-sm:  0 10px 28px rgba(15,23,42,.12);
  --ct-glow-green-md:  0 16px 44px rgba(15,23,42,.16);
  --ct-glow-green-lg:  0 24px 72px rgba(15,23,42,.18);
  --ct-glow-gold-sm:   0 10px 28px rgba(15,23,42,.12);
  --ct-glow-gold-md:   0 16px 44px rgba(15,23,42,.16);
  --ct-glow-gold-card: 0 18px 50px rgba(15,23,42,.18);

  /* Shadow tokens */
  --ct-shadow-card:    0 4px 24px rgba(0,0,0,.32), 0 1px 4px rgba(0,0,0,.20);
  --ct-shadow-raised:  0 8px 40px rgba(0,0,0,.40), 0 2px 8px rgba(0,0,0,.24);
  --ct-shadow-float:   0 20px 60px rgba(0,0,0,.50), 0 4px 16px rgba(0,0,0,.30);

  /* Hero gradient tokens */
  --ct-hero-bg:        linear-gradient(160deg, #071812 0%, #0c2d1f 35%, #16503a 60%, #1a5c42 100%);
  --ct-hero-overlay:   linear-gradient(180deg, rgba(7,24,18,.05) 0%, rgba(7,24,18,.60) 100%);

  /* Section background tokens */
  --ct-section-dark-bg:   #0f3024;
  --ct-section-alt-bg:    #10341f;
  --ct-section-mid-bg:    #122e22;
  --ct-section-cream-bg:  #f5ede0;

  /* Typography tokens */
  --ct-font-display:   'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  --ct-font-body:      'Inter', 'Helvetica Neue', Arial, sans-serif;
  --ct-text-primary:   #f0e9d8;
  --ct-text-secondary: rgba(240,233,216,0.72);
  --ct-text-muted:     rgba(240,233,216,0.48);
  --ct-text-dark:      #1a3028;

  /* Timing / easing tokens */
  --ct-ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --ct-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ct-ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --ct-duration-fast:   180ms;
  --ct-duration-base:   280ms;
  --ct-duration-slow:   450ms;
  --ct-duration-xslow:  700ms;

  /* Border radius tokens */
  --ct-radius-sm:   8px;
  --ct-radius-md:   14px;
  --ct-radius-lg:   20px;
  --ct-radius-xl:   28px;
  --ct-radius-pill: 999px;
}

/* gold gradient text to echo the logo lettering */
.ct-gold-text{
  background: var(--ct-gold-gradient);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ct-bg   { background: var(--ct-green); color: #f3ead0; }
.ct-panel{ background: var(--ct-green-deep); color:#f3ead0; border:1px solid rgba(230,192,87,.25); border-radius:14px; }
.ct-btn{
  display:inline-block; background: var(--ct-gold-gradient); color:#3a2a05;
  border:0; border-radius:10px; padding:.72em 1.5em; font-weight:800;
  text-decoration:none; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.25);
}
.ct-btn:hover{ filter:brightness(1.05); }

/* logo helpers */
.ct-logo { height:64px; width:auto; display:block; }
.ct-icon { height:44px; width:44px; }
.ct-lockup{ display:flex; align-items:center; gap:16px; }
.ct-lockup .ct-wordmark{ height:38px; width:auto; }
