/*
  PITTSBURGH FITNESS CULT — Design Tokens
  Palette: Deep forest green + off-white + rust orange
  Industrial-meets-community Pittsburgh energy
*/

:root {
  /* ── Type Scale (fluid clamp) ─────────────── */
  --text-xs:   clamp(0.75rem,  0.7rem  + 0.25vw, 0.875rem);
  --text-sm:   clamp(0.875rem, 0.8rem  + 0.35vw, 1rem);
  --text-base: clamp(1rem,     0.95rem + 0.25vw, 1.125rem);
  --text-lg:   clamp(1.125rem, 1rem    + 0.75vw, 1.5rem);
  --text-xl:   clamp(1.5rem,   1.2rem  + 1.25vw, 2.25rem);
  --text-2xl:  clamp(2rem,     1.2rem  + 2.5vw,  3.5rem);
  --text-3xl:  clamp(2.5rem,   1rem    + 4vw,    5rem);
  --text-hero: clamp(3rem,     0.5rem  + 7vw,    8rem);

  /* ── 4px Spacing System ────────────────────── */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* ── Pittsburgh Fitness Cult Palette ──────── */
  /* Surfaces */
  --color-bg:              #f5f0e8;   /* worn parchment off-white */
  --color-surface:         #ede8df;
  --color-surface-2:       #e4ddd1;
  --color-surface-dark:    #1a2318;   /* deep forest night */
  --color-surface-dark-2:  #212d1e;
  --color-surface-offset:  #d9d1c0;
  --color-border:          #c8bfac;
  --color-border-dark:     #2e3d29;
  --color-divider:         #b8ae9a;

  /* Text */
  --color-text:            #1a1a14;   /* near-black */
  --color-text-muted:      #5a5240;
  --color-text-faint:      #9a8f7a;
  --color-text-inverse:    #f5f0e8;

  /* Primary — Deep Forest Green */
  --color-green:           #1e4d1a;
  --color-green-mid:       #2a6624;
  --color-green-light:     #3d8534;
  --color-green-hover:     #163a12;
  --color-green-dim:       rgba(30,77,26,0.12);

  /* Accent — Rust Orange */
  --color-rust:            #c94b1a;
  --color-rust-mid:        #e05420;
  --color-rust-light:      #f0773a;
  --color-rust-hover:      #a83810;
  --color-rust-dim:        rgba(201,75,26,0.12);

  /* Contrast white */
  --color-cream:           #f5f0e8;
  --color-chalk:           #faf7f2;

  /* ── Radii ──────────────────────────────────── */
  --radius-sm:  2px;
  --radius-md:  4px;
  --radius-lg:  6px;
  --radius-xl:  8px;
  --radius-full: 9999px;

  /* ── Shadows ────────────────────────────────── */
  --shadow-sm: 0 1px 3px rgba(26,26,20,0.10);
  --shadow-md: 0 4px 16px rgba(26,26,20,0.12);
  --shadow-lg: 0 12px 40px rgba(26,26,20,0.16);
  --shadow-rust: 0 4px 20px rgba(201,75,26,0.25);
  --shadow-green: 0 4px 20px rgba(30,77,26,0.25);

  /* ── Transitions ────────────────────────────── */
  --transition-fast: 150ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-base: 250ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow: 400ms cubic-bezier(0.16, 1, 0.3, 1);

  /* ── Content Widths ─────────────────────────── */
  --content-narrow:  640px;
  --content-default: 960px;
  --content-wide:    1200px;

  /* ── Fonts ──────────────────────────────────── */
  --font-display: 'Bebas Neue', 'Barlow Condensed', 'Impact', sans-serif;
  --font-heading: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-body:    'Barlow', 'Work Sans', 'Arial', sans-serif;
  --font-mono:    'Courier New', monospace;

  /* ── Nav Height ─────────────────────────────── */
  --nav-height: 72px;
}

/* ── Dark sections use green-on-dark palette ── */
.section--dark {
  background: var(--color-surface-dark);
  color: var(--color-text-inverse);
}
.section--dark-2 {
  background: var(--color-surface-dark-2);
  color: var(--color-text-inverse);
}
.section--green {
  background: var(--color-green);
  color: var(--color-cream);
}
.section--rust {
  background: var(--color-rust);
  color: var(--color-chalk);
}
.section--cream {
  background: var(--color-cream);
  color: var(--color-text);
}
.section--texture {
  background: var(--color-bg);
  color: var(--color-text);
}
