/*
   GENERATED by tools/funnelgen — DO NOT EDIT THIS FILE.
   Your changes will be lost on the next build, and the build will refuse to
   run until you move them somewhere that survives.
   
     Copy lives in:  templates/recruiting-guide/pages
     Data lives in:  clients/GRIT/recruiting-guide/locations.json
     Rebuild:        double-click build.cmd
*/
/* =========================================================================
   GRIT FITNESS & ATHLETIC DEVELOPMENT — CANONICAL BRAND TOKENS
   Generated artifact. Source of truth is ./DESIGN.md — do not hand-edit.
   ========================================================================= */

@import url("https://fonts.googleapis.com/css2?family=Anton&family=Oswald:wght@400;500;600;700&family=Nunito+Sans:ital,opsz,wght@0,6..12,300..900;1,6..12,300..900&display=swap");

:root {
  --grit-black: #000000;
  --grit-ink-900: #121214;
  --grit-ink-800: #19191b;
  --grit-ink-700: #232426;
  --grit-carbon-600: #292b2a;
  --grit-carbon-500: #3e403b;
  --grit-sage-700: #4a4d47;
  --grit-sage-600: #5f655b;
  --grit-sage-500: #666c62;
  --grit-sage-400: #868f7e;
  --grit-sage-300: #a9b29f;
  --grit-sage-200: #c8cfc0;
  --grit-sage-100: #e6e9e1;
  --grit-white: #ffffff;
  --grit-paper: #f4f4f2;
  --grit-line-200: #e4e5e1;
  --grit-line-300: #c9cbc4;
  --grit-grey-500: #8a8d86;
  --grit-grey-600: #5d605b;
  --grit-gain: #7f9a63;
  --grit-clay: #a8543c;
  --grit-gold: #c9a227;

  --grit-surface-page: var(--grit-ink-900);
  --grit-surface-card: var(--grit-ink-800);
  --grit-surface-raised: var(--grit-carbon-600);
  --grit-surface-paper: var(--grit-paper);
  --grit-surface-white: var(--grit-white);
  --grit-surface-row: rgba(255, 255, 255, 0.06);
  --grit-surface-row-alt: rgba(169, 178, 159, 0.22);
  --grit-text-display: var(--grit-white);
  --grit-text-body: rgba(255, 255, 255, 0.88);
  --grit-text-muted: rgba(255, 255, 255, 0.58);
  --grit-text-faint: rgba(255, 255, 255, 0.34);
  --grit-text-display-light: var(--grit-ink-900);
  --grit-text-body-light: var(--grit-grey-600);
  --grit-text-muted-light: var(--grit-grey-500);
  --grit-border-dark: rgba(255, 255, 255, 0.12);
  --grit-border-dark-strong: rgba(255, 255, 255, 0.24);
  --grit-border-light: var(--grit-line-200);
  --grit-border-light-strong: var(--grit-line-300);

  --grit-action-dark-bg: var(--grit-white);
  --grit-action-dark-fg: var(--grit-ink-900);
  --grit-action-dark-hover: var(--grit-sage-100);
  --grit-action-light-bg: var(--grit-ink-900);
  --grit-action-light-fg: var(--grit-white);
  --grit-action-light-hover: var(--grit-carbon-600);
  --grit-action-sage-bg: var(--grit-sage-400);
  --grit-action-sage-fg: var(--grit-ink-900);
  --grit-action-sage-hover: var(--grit-sage-300);
  --grit-focus-ring: var(--grit-sage-300);

  --grit-gradient: linear-gradient(225deg, #121214 0%, #19191b 24%, #3e403b 58%, #5f655b 78%, #868f7e 100%);
  --grit-gradient-soft: linear-gradient(200deg, #121214 0%, #1d1e1f 45%, #4a4d47 100%);
  --grit-gradient-glow: radial-gradient(120% 90% at 8% 108%, #939c8a 0%, #5f655b 26%, #26272a 62%, #121214 100%);
  --grit-protect-bottom: linear-gradient(180deg, rgba(18, 18, 20, 0) 0%, rgba(18, 18, 20, 0.55) 45%, rgba(18, 18, 20, 0.94) 100%);
  --grit-protect-top: linear-gradient(180deg, rgba(18, 18, 20, 0.88) 0%, rgba(18, 18, 20, 0) 100%);

  --grit-font-display: "Anton", Haettenschweiler, "Arial Narrow", sans-serif;
  --grit-font-lockup: "Oswald", "Arial Narrow", sans-serif;
  --grit-font-body: "Nunito Sans", "Segoe UI", system-ui, sans-serif;
  --grit-font-mono: ui-monospace, "SFMono-Regular", Menlo, monospace;
  --grit-fs-hero: clamp(56px, 7.4vw, 132px);
  --grit-fs-headline: clamp(40px, 5.5vw, 88px);
  --grit-fs-title: clamp(28px, 3.6vw, 44px);
  --grit-fs-body: 17px;
  --grit-fs-label: 13px;
  --grit-fs-metric: 40px;
  --grit-lh-display: 0.9;
  --grit-lh-body: 1.55;
  --grit-ls-display: -0.01em;
  --grit-ls-label: 0.14em;

  --grit-space-1: 4px;
  --grit-space-2: 8px;
  --grit-space-3: 12px;
  --grit-space-4: 16px;
  --grit-space-5: 24px;
  --grit-space-6: 32px;
  --grit-space-7: 40px;
  --grit-space-8: 56px;
  --grit-space-9: 72px;
  --grit-space-10: 96px;
  --grit-space-11: 128px;
  --grit-container: 1200px;
  --grit-measure: 62ch;
  --grit-control-h: 48px;
  --grit-control-h-lg: 60px;
  --grit-tap-min: 44px;

  --grit-radius-sm: 8px;
  --grit-radius: 14px;
  --grit-radius-lg: 20px;
  --grit-radius-xl: 28px;
  --grit-radius-pill: 999px;
  --grit-shadow-light: 0 6px 20px -6px rgba(18, 18, 20, 0.18);
  --grit-shadow-overlay: 0 24px 60px -20px rgba(18, 18, 20, 0.32);
  --grit-shadow-inset-row: inset 0 1px 0 rgba(255, 255, 255, 0.07);
  --grit-ease-out: cubic-bezier(0.2, 0.7, 0.3, 1);
  --grit-dur-fast: 120ms;
  --grit-dur: 200ms;
  --grit-filter-photo: saturate(0.86) contrast(1.04);
  --grit-filter-photo-muted: saturate(0.5) contrast(1.06) brightness(0.92);
}

.grit-display,
.grit-headline {
  font-family: var(--grit-font-display);
  font-weight: 400;
  line-height: var(--grit-lh-display);
  letter-spacing: var(--grit-ls-display);
  text-transform: uppercase;
}
.grit-display { font-size: var(--grit-fs-hero); }
.grit-headline { font-size: var(--grit-fs-headline); }
.grit-lockup {
  font-family: var(--grit-font-lockup);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.grit-body {
  font-family: var(--grit-font-body);
  font-size: var(--grit-fs-body);
  line-height: var(--grit-lh-body);
}
.grit-label {
  font-family: var(--grit-font-body);
  font-size: var(--grit-fs-label);
  font-style: italic;
  font-weight: 800;
  line-height: 1;
  letter-spacing: var(--grit-ls-label);
  text-transform: uppercase;
}
.grit-metric {
  font-family: var(--grit-font-body);
  font-size: var(--grit-fs-metric);
  font-variant-numeric: tabular-nums;
  font-weight: 300;
  line-height: 1;
}

.grit-button-dark,
.grit-button-light,
.grit-button-sage {
  align-items: center;
  border: 0;
  border-radius: var(--grit-radius-pill);
  cursor: pointer;
  display: inline-flex;
  font-family: var(--grit-font-body);
  font-size: var(--grit-fs-label);
  font-weight: 800;
  justify-content: center;
  letter-spacing: 0.08em;
  min-height: var(--grit-control-h-lg);
  padding: 0 34px;
  text-transform: uppercase;
  transition: background-color var(--grit-dur) var(--grit-ease-out), color var(--grit-dur) var(--grit-ease-out), transform var(--grit-dur-fast) var(--grit-ease-out);
}
.grit-button-dark { background: var(--grit-action-dark-bg); color: var(--grit-action-dark-fg); }
.grit-button-dark:hover { background: var(--grit-action-dark-hover); }
.grit-button-light { background: var(--grit-action-light-bg); color: var(--grit-action-light-fg); }
.grit-button-light:hover { background: var(--grit-action-light-hover); }
.grit-button-sage { background: var(--grit-action-sage-bg); color: var(--grit-action-sage-fg); }
.grit-button-sage:hover { background: var(--grit-action-sage-hover); }
.grit-button-dark:active,
.grit-button-light:active,
.grit-button-sage:active { transform: translateY(1px); }
.grit-button-dark:focus-visible,
.grit-button-light:focus-visible,
.grit-button-sage:focus-visible {
  outline: 2px solid var(--grit-focus-ring);
  outline-offset: 2px;
}
.grit-card-dark {
  background: var(--grit-surface-row);
  border-radius: var(--grit-radius);
  box-shadow: var(--grit-shadow-inset-row);
}
.grit-card-light {
  background: var(--grit-surface-white);
  border: 1px solid var(--grit-border-light);
  border-radius: var(--grit-radius);
  box-shadow: var(--grit-shadow-light);
}
.grit-photo { filter: var(--grit-filter-photo); }

@media (prefers-reduced-motion: reduce) {
  .grit-button-dark,
  .grit-button-light,
  .grit-button-sage { transition: none; }
}

