/* Tagency tokens — generated from tokens.json. Load before components/bundle.css. */
@font-face { font-family: 'Jost'; src: url('fonts/Jost-Variable.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Jost'; src: url('fonts/Jost-Variable-Italic.woff2') format('woff2'); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: 'Source Sans 3'; src: url('fonts/SourceSans3-Variable.woff2') format('woff2'); font-weight: 200 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Fraunces'; src: url('fonts/Fraunces-Variable.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
:root {
  --tg-red: #ec3f43;
  --tg-red-bright: #ee272e;
  --tg-black: #1b191a;
  --tg-charcoal: #444444;
  --tg-grey: #898989;
  --tg-silver: #d1d1d1;
  --tg-white: #ffffff;
  --tg-offwhite: #efefef;
  --tg-red-text: #c8282d;
  --surface: var(--tg-white);
  --surface-alt: var(--tg-offwhite);
  --surface-dark: var(--tg-black);
  --surface-dark-raised: var(--tg-charcoal);
  --surface-brand: var(--tg-red);
  --ink: var(--tg-black);
  --ink-secondary: var(--tg-charcoal);
  --ink-on-dark: var(--tg-white);
  --ink-secondary-on-dark: var(--tg-silver);
  --ink-muted-on-dark: var(--tg-grey);
  --ink-on-brand: var(--tg-white);
  --accent: var(--tg-red);
  --accent-on-dark: var(--tg-red-bright);
  --link-small: var(--tg-red-text);
  --error: var(--tg-red-text);
  --border: var(--tg-silver);
  --border-strong: var(--tg-black);
  --border-on-dark: var(--tg-charcoal);
  --field-border: var(--tg-grey);
  --focus-ring: var(--tg-black);
  --focus-ring-on-dark: var(--tg-white);
  --disabled-fill: var(--tg-silver);
  --disabled-ink: var(--tg-grey);
  --overlay: rgba(27, 25, 26, 0.5);
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;
  --space-96: 96px;
  --space-128: 128px;
  --space-160: 160px;
  --radius-0: 0px;
  --radius-8: 8px;
  --radius-12: 12px;
  --radius-16: 16px;
  --radius-24: 24px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(27, 25, 26, 0.06);
  --shadow-md: 0 8px 24px rgba(27, 25, 26, 0.08);
  --container-max: 1280px;
  --text-max: 720px;
  --page-margin: 64px;
  --page-margin-mobile: 20px;
  --gutter: 24px;
  --gutter-mobile: 16px;
  --control-h: 52px;
  --control-h-mobile: 48px;
  --tap-min: 44px;
  --header-h: 88px;
  --logo-h: 36px;
  --tmark-min: 20px;
  --border-hairline: 1px;
  --border-control: 1.5px;
  --focus-width: 3px;
  --focus-offset: 3px;
  --dur-micro: 150ms;
  --dur-ui: 300ms;
  --dur-zoom: 400ms;
  --dur-reveal: 600ms;
  --stagger-hero: 60ms;
  --stagger-menu: 40ms;
  --ease-tag: cubic-bezier(0.2, 0.7, 0.1, 1);
  --font-sans: Jost, "Century Gothic", "Futura", sans-serif;
  --font-bold: "Source Sans 3", "Myriad Pro", "Helvetica Neue", sans-serif;
  --font-display: Fraunces, Georgia, serif;
}
.type-signature { font-family: var(--font-sans); font-size: 112px; line-height: 0.95; font-weight: 300; letter-spacing: -0.02em; }
.type-signature-key { font-family: var(--font-sans); font-size: 112px; line-height: 0.95; font-weight: 700; letter-spacing: -0.02em; font-style: italic; }
.type-display { font-family: var(--font-display); font-size: 112px; line-height: 0.95; font-weight: 800; letter-spacing: -0.02em; font-variation-settings: "SOFT" 100, "opsz" 144; }
.type-statement { font-family: var(--font-display); font-size: 56px; line-height: 1.05; font-weight: 800; letter-spacing: -0.015em; font-variation-settings: "SOFT" 100, "opsz" 144; }
.type-quote { font-family: var(--font-display); font-size: 44px; line-height: 1.12; font-weight: 800; letter-spacing: -0.01em; font-variation-settings: "SOFT" 100, "opsz" 144; }
.type-case-title { font-family: var(--font-display); font-size: 32px; line-height: 1.1; font-weight: 800; font-variation-settings: "SOFT" 100, "opsz" 144; }
.type-numeral { font-family: var(--font-display); font-size: 64px; line-height: 1; font-weight: 900; font-variation-settings: "SOFT" 100, "opsz" 144; }
.type-h1 { font-family: var(--font-sans); font-size: 64px; line-height: 1.05; font-weight: 300; letter-spacing: -0.015em; }
.type-h2 { font-family: var(--font-sans); font-size: 44px; line-height: 1.1; font-weight: 400; letter-spacing: -0.01em; }
.type-h3 { font-family: var(--font-sans); font-size: 28px; line-height: 1.2; font-weight: 400; }
.type-h4 { font-family: var(--font-sans); font-size: 20px; line-height: 1.3; font-weight: 500; }
.type-body-l { font-family: var(--font-sans); font-size: 20px; line-height: 1.55; font-weight: 400; }
.type-body { font-family: var(--font-sans); font-size: 17px; line-height: 1.6; font-weight: 400; }
.type-small { font-family: var(--font-sans); font-size: 14px; line-height: 1.5; font-weight: 400; }
.type-nav { font-family: var(--font-sans); font-size: 15px; line-height: 1.4; font-weight: 400; }
.type-eyebrow { font-family: var(--font-sans); font-size: 13px; line-height: 1.4; font-weight: 500; letter-spacing: 0.14em; }
.type-stat { font-family: var(--font-bold); font-size: 96px; line-height: 0.95; font-weight: 900; letter-spacing: -0.02em; }
.type-button { font-family: var(--font-bold); font-size: 19px; line-height: 1; font-weight: 700; }
.type-label { font-family: var(--font-bold); font-size: 15px; line-height: 1.3; font-weight: 700; }
