:root {
  color-scheme: dark;

  --site--viewport-max: 100;
  --site--viewport-min: 20;
  --site--column-count: 12;
  --site--margin: clamp(1.25rem, 3.2vw, 3.5rem);
  --site--gutter: clamp(1.25rem, 1.1875rem + 0.3125vw, 1.5rem);
  --site--column-width: calc((min(var(--max-width--main), 100% - (var(--site--margin) * 2)) - (var(--site--gutter) * (var(--site--column-count) - 1))) / var(--site--column-count));
  --layout-video-max: none;
  --layout-wide-max: 96rem;
  --layout-content-max: 96rem;
  --layout-reading-max: 45rem;
  --layout-narrow-max: 34rem;
  --max-width--main: var(--layout-content-max);
  --max-width--small: 50rem;
  --border-width--main: 0.094rem;

  --mono-palette--mono-900: color(srgb 0.0720588 0.0754902 0.0720588);
  --mono-palette--mono-100: color(srgb 0.945098 0.945098 0.945098);
  --mono-palette--mono-875: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 96.875%);
  --mono-palette--mono-850: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 93.75%);
  --mono-palette--mono-800: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 87.5%);
  --mono-palette--mono-700: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 75%);
  --mono-palette--mono-600: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 62.5%);
  --mono-palette--mono-500: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 50%);
  --mono-palette--mono-400: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 37.5%);
  --mono-palette--mono-300: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 25%);
  --mono-palette--mono-200: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 12.5%);
  --mono-palette--mono-150: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 6.25%);
  --mono-palette--mono-125: color-mix(in srgb, var(--mono-palette--mono-100), var(--mono-palette--mono-900) 3.125%);

  --brand-palette--brand-900: #ff2f2f;
  --brand-palette--brand-300: var(--mono-palette--mono-100);
  --brand-palette--brand-800: color-mix(in srgb, var(--brand-palette--brand-900) 85%, var(--brand-palette--brand-300) 15%);
  --brand-palette--brand-700: color-mix(in srgb, var(--brand-palette--brand-900) 65%, var(--brand-palette--brand-300) 35%);
  --brand-palette--brand-600: color-mix(in srgb, var(--brand-palette--brand-900) 50%, var(--brand-palette--brand-300) 50%);
  --brand-palette--brand-500: color-mix(in srgb, var(--brand-palette--brand-900) 35%, var(--brand-palette--brand-300) 65%);
  --brand-palette--brand-400: color-mix(in srgb, var(--brand-palette--brand-900) 15%, var(--brand-palette--brand-300) 85%);

  --color-black-950: var(--mono-palette--mono-900);
  --color-white: var(--mono-palette--mono-100);
  --color-black-900: var(--mono-palette--mono-875);
  --color-black-850: var(--mono-palette--mono-850);
  --color-black-800: var(--mono-palette--mono-800);
  --color-black-700: var(--mono-palette--mono-700);
  --color-black-600: var(--mono-palette--mono-600);
  --color-red-600: var(--brand-palette--brand-900);
  --color-red-700: var(--brand-palette--brand-800);
  --color-red-800: var(--brand-palette--brand-700);
  --color-cream-100: var(--mono-palette--mono-100);
  --color-stone-200: var(--mono-palette--mono-200);
  --color-stone-300: var(--mono-palette--mono-300);
  --color-stone-400: var(--mono-palette--mono-400);
  --color-stone-500: var(--mono-palette--mono-500);
  --color-line: var(--mono-palette--mono-800);
  --color-line-strong: var(--mono-palette--mono-800);

  --bg: var(--color-black-950);
  --surface: var(--color-black-850);
  --surface-elevated: var(--color-black-800);
  --surface-depth-0: var(--bg);
  --surface-depth-1: color-mix(in srgb, var(--bg) 92%, var(--mono-palette--mono-100) 8%);
  --surface-depth-2: color-mix(in srgb, var(--bg) 96%, #000 4%);
  --surface-depth-3: color-mix(in srgb, var(--bg) 90%, #000 10%);
  --surface-depth-line: rgb(241 241 241 / 6.8%);
  --surface-depth-vignette: rgb(0 0 0 / 28%);
  --surface-depth-dither: url("./assets/surface-dither.png");
  --surface-depth-dither-size: 128px 128px;
  --text: color(srgb 0.837255 0.837745 0.837255);
  --heading: var(--text);
  --muted: color(srgb 0.621569 0.623039 0.621569);
  --subtle: color(srgb 0.298039 0.30098 0.298039);
  --line: var(--color-line);
  --primary: var(--color-red-600);
  --primary-dark: var(--color-red-700);
  --accent: var(--color-red-600);
  --accent-rgb: 255 47 47;

  --alpha--transparent: transparent;
  --alpha--mono-900-o10: color-mix(in srgb, var(--mono-palette--mono-900), #000 12.5%);
  --alpha--mono-100-o10: color-mix(in srgb, var(--mono-palette--mono-100), #fff 45%);

  --_theme---background: var(--alpha--mono-900-o10);
  --_theme---background-2: var(--mono-palette--mono-900);
  --_theme---background-3: var(--mono-palette--mono-875);
  --_theme---background-skeleton: var(--_theme---background-3);
  --_theme---heading: var(--heading);
  --_theme---heading-accent: var(--mono-palette--mono-600);
  --_theme---heading-accent-contrast: var(--mono-palette--mono-500);
  --_theme---text-focus-primary: var(--text);
  --_theme---text-focus-secondary: color(srgb 0.729412 0.730392 0.729412);
  --_theme---text-focus-tertiary: var(--muted);
  --_theme---text-decorative: var(--subtle);
  --_theme---border: var(--mono-palette--mono-875);
  --_theme---border-light: var(--mono-palette--mono-800);
  --_theme---text-link--text: var(--mono-palette--mono-500);
  --_theme---text-link--text-hover: var(--mono-palette--mono-700);
  --_theme---text-link--border: var(--_theme---border);
  --_theme---text-link--border-hover: var(--_theme---border-light);
  --_theme---nav--background: var(--_theme---background-3);
  --_theme---card--background: var(--_theme---background-2);
  --_theme---card--background-hover: var(--_theme---background);
  --_theme---card--border: var(--mono-palette--mono-875);
  --_theme---card--heading: var(--heading);
  --_theme---card--text-body: var(--text);
  --_theme---card--text-auxiliary: var(--muted);
  --_theme---selection--background: var(--mono-palette--mono-150);
  --_theme---selection--text: var(--mono-palette--mono-875);
  --_theme---button-primary--background: var(--mono-palette--mono-100);
  --_theme---button-primary--border: var(--_theme---button-primary--background);
  --_theme---button-primary--text: var(--mono-palette--mono-900);
  --_theme---button-primary--icon: var(--_theme---button-primary--text);
  --_theme---button-primary--background-hover: var(--mono-palette--mono-875);
  --_theme---button-primary--border-hover: var(--_theme---button-primary--background-hover);
  --_theme---button-primary--text-hover: var(--text);
  --_theme---button-primary--icon-hover: var(--mono-palette--mono-700);
  --_theme---button-secondary--background: var(--mono-palette--mono-850);
  --_theme---button-secondary--border: var(--_theme---button-secondary--background);
  --_theme---button-secondary--text: var(--text);
  --_theme---button-secondary--icon: var(--_theme---button-secondary--text);
  --_theme---button-secondary--background-hover: var(--mono-palette--mono-875);
  --_theme---button-secondary--border-hover: var(--_theme---button-secondary--background-hover);
  --_theme---button-secondary--text-hover: var(--mono-palette--mono-200);
  --_theme---button-secondary--icon-hover: var(--text);
  --_theme---button-tertiary--background: var(--alpha--transparent);
  --_theme---button-tertiary--border: var(--mono-palette--mono-850);
  --_theme---button-tertiary--text: var(--mono-palette--mono-200);
  --_theme---button-tertiary--icon: var(--mono-palette--mono-400);
  --_theme---button-tertiary--decoration: var(--_theme---text-decorative);
  --_theme---button-tertiary--background-hover: var(--mono-palette--mono-875);
  --_theme---button-tertiary--border-hover: var(--mono-palette--mono-300);
  --_theme---button-tertiary--text-hover: var(--text);
  --_theme---button-tertiary--icon-hover: var(--brand-palette--brand-900);
  --_theme---button-tertiary--decoration-hover: var(--mono-palette--mono-600);
  --_theme---tag-primary--background: var(--mono-palette--mono-850);
  --_theme---tag-primary--border: var(--_theme---tag-primary--background);
  --_theme---tag-primary--text: var(--mono-palette--mono-400);
  --_theme---tag-primary--icon: var(--_theme---tag-primary--text);
  --_theme---tag-primary--background-hover: var(--mono-palette--mono-800);
  --_theme---tag-primary--border-hover: var(--_theme---tag-primary--background-hover);
  --_theme---tag-primary--text-hover: var(--mono-palette--mono-300);
  --_theme---tag-primary--icon-hover: var(--_theme---tag-primary--text-hover);
  --_theme---tag-secondary--background: var(--alpha--transparent);
  --_theme---tag-secondary--border: var(--_theme---tag-secondary--background);
  --_theme---tag-secondary--text: var(--mono-palette--mono-500);
  --_theme---tag-secondary--icon: var(--mono-palette--mono-600);
  --_theme---tag-secondary--background-hover: var(--alpha--transparent);
  --_theme---tag-secondary--border-hover: var(--_theme---tag-secondary--background-hover);
  --_theme---tag-secondary--text-hover: var(--_theme---tag-primary--text);
  --_theme---tag-secondary--icon-hover: var(--_theme---tag-secondary--icon);

  --font-sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --font-display: var(--font-sans);
  --font-body: var(--font-sans);
  --_typography---font--primary-family: var(--font-sans);
  --_typography---font--primary-light: 300;
  --_typography---font--primary-regular: 400;
  --_typography---font--primary-medium: 500;
  --_typography---font--primary-bold: 700;
  --_typography---font--primary-trim-top: 0.38em;
  --_typography---font--primary-trim-bottom: 0.38em;

  --page-x: var(--site--margin);
  --page-max: var(--layout-content-max);
  --content-max: var(--layout-content-max);
  --wide-max: var(--layout-wide-max);
  --reading-max: var(--layout-reading-max);
  --narrow-max: var(--layout-narrow-max);
  --measure-2: 13.75rem;
  --measure-3: 16.25rem;
  --measure-4: 32.5rem;
  --measure-5: 40rem;
  --measure-6: 45rem;
  --measure-7: 43rem;
  --measure-8: 56.25rem;
  --measure-9: 17.5rem;
  --measure-10: 8.75rem;
  --measure-11: 9.375rem;
  --measure-12: 15rem;
  --section-y: clamp(4rem, 3.45rem + 2.75vw, 6.2rem);
  --section-y-tight: clamp(3rem, 2.5rem + 2.5vw, 5rem);
  --section-y-compact: clamp(2.75rem, 2.25rem + 2.5vw, 4.6rem);
  --_spacing---space--1: clamp(0.375rem, 0.34375rem + 0.15625vw, 0.5rem);
  --_spacing---space--2: clamp(0.625rem, 0.59375rem + 0.15625vw, 0.75rem);
  --_spacing---space--3: clamp(0.875rem, 0.84375rem + 0.15625vw, 1rem);
  --_spacing---space--4: clamp(1.25rem, 1.1875rem + 0.3125vw, 1.5rem);
  --_spacing---space--5: clamp(1.75rem, 1.6875rem + 0.3125vw, 2rem);
  --_spacing---space--6: clamp(2rem, 1.875rem + 0.625vw, 2.5rem);
  --_spacing---space--7: clamp(2.25rem, 2.0625rem + 0.9375vw, 3rem);
  --_spacing---space--8: clamp(2.5rem, 2.125rem + 1.875vw, 4rem);
  --_spacing---section-space--small: var(--section-y-tight);
  --_spacing---section-space--main: var(--section-y);
  --_spacing---section-space--large: clamp(6rem, 5.25rem + 3.75vw, 9rem);
  --space-1: var(--_spacing---space--1);
  --space-2: var(--_spacing---space--2);
  --space-3: var(--_spacing---space--3);
  --space-4: var(--_spacing---space--4);
  --space-5: var(--_spacing---space--5);
  --space-6: var(--_spacing---space--6);
  --space-7: var(--_spacing---space--7);
  --space-8: var(--_spacing---space--8);
  --space-10: var(--_spacing---space--6);
  --space-12: var(--_spacing---space--7);
  --space-16: var(--_spacing---space--8);

  --_typography---font-size--text-micro: clamp(0.8125rem, 0.796875rem + 0.078125vw, 0.875rem);
  --_typography---font-size--text-small: clamp(0.875rem, 0.859375rem + 0.078125vw, 0.9375rem);
  --_typography---font-size--text-main: clamp(1rem, 0.984375rem + 0.078125vw, 1.0625rem);
  --_typography---font-size--h6: clamp(1.0625rem, 1.046875rem + 0.078125vw, 1.125rem);
  --_typography---font-size--h5: clamp(1.125rem, 1.09375rem + 0.15625vw, 1.25rem);
  --_typography---font-size--h4: clamp(1.25rem, 1.1875rem + 0.3125vw, 1.5rem);
  --_typography---font-size--h3: clamp(1.45rem, 1.3625rem + 0.4375vw, 1.8rem);
  --_typography---font-size--h2: clamp(1.7rem, 1.575rem + 0.625vw, 2.2rem);
  --_typography---font-size--h1: clamp(2.15rem, 1.9625rem + 0.9375vw, 2.9rem);
  --_typography---font-size--display: clamp(2.35rem, 2.0125rem + 1.6875vw, 3.7rem);
  --_typography---line-height--heading-height-1: 1.08;
  --_typography---line-height--heading-height-2: 1.12;
  --_typography---line-height--heading-height-3: 1.18;
  --_typography---line-height--heading-height-4: 1.24;
  --_typography---line-height--body-height: 1.5;
  --_typography---letter-spacing--spacing-1: 0;
  --_typography---letter-spacing--spacing-2: 0;
  --_typography---letter-spacing--spacing-3: 0;
  --_typography---letter-spacing--spacing-4: 0;
  --_typography---letter-spacing--spacing-5: 0;
  --_typography---letter-spacing--spacing-6: 0;
  --_typography---letter-spacing--spacing-7: 0;
  --_typography---letter-spacing--spacing-8: 0.012em;
  --_typography---letter-spacing--spacing-9: 0.055em;
  --_typography---text-transform--none: none;
  --_typography---text-transform--uppercase: uppercase;
  --_typography---text-transform--capitalize: capitalize;
  --_typography---text-transform--lowercase: lowercase;
  --_text-style---font-family: var(--_typography---font--primary-family);
  --_text-style---font-size: var(--_typography---font-size--text-main);
  --_text-style---line-height: var(--_typography---line-height--body-height);
  --_text-style---font-weight: var(--_typography---font--primary-regular);
  --_text-style---letter-spacing: var(--_typography---letter-spacing--spacing-7);
  --_text-style---margin-bottom: var(--_spacing---space--4);
  --_text-style---margin-top: var(--_spacing---space--4);
  --_text-style---trim-top: var(--_typography---font--primary-trim-top);
  --_text-style---trim-bottom: var(--_typography---font--primary-trim-bottom);
  --_text-style---text-transform: var(--_typography---text-transform--none);
  --text-xs: var(--_typography---font-size--text-micro);
  --text-sm: var(--_typography---font-size--text-small);
  --text-base: var(--_typography---font-size--text-main);
  --text-md: var(--_typography---font-size--h5);
  --text-lg: var(--_typography---font-size--h4);
  --text-xl: var(--_typography---font-size--h2);
  --text-hero: var(--_typography---font-size--h1);
  --text-display: var(--_typography---font-size--display);
  --text-metric: var(--_typography---font-size--display);
  --type-section: var(--_typography---font-size--h2);
  --type-body: var(--text-base);
  --type-intro: var(--_typography---font-size--h1);
  --type-label: clamp(0.75rem, 0.734375rem + 0.078125vw, 0.8125rem);
  --type-card-title: clamp(1rem, 0.953125rem + 0.234375vw, 1.1875rem);
  --type-card-body: var(--text-sm);
  --type-weight-copy: var(--_typography---font--primary-regular);
  --type-weight-caption: var(--_typography---font--primary-regular);
  --type-weight-ui: var(--_typography---font--primary-regular);
  --type-color-copy: color-mix(in srgb, var(--muted) 92%, var(--text) 8%);
  --type-color-copy-soft: color-mix(in srgb, var(--muted) 82%, var(--surface-depth-0) 18%);
  --type-color-caption: color-mix(in srgb, var(--muted) 74%, var(--surface-depth-0) 26%);

  --radius--main: 1rem;
  --radius--tiny: 0.1875rem;
  --radius--small: 0.5rem;
  --radius--round: 100vw;
  --radius-xs: var(--radius--tiny);
  --radius-sm: var(--radius--small);
  --shadow: 0 1.125rem 3rem rgb(0 0 0 / 34%);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --transition-fast: 180ms var(--ease);
  --link-transition: 200ms ease;
  --link-line-transition: 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --box-transition: 420ms cubic-bezier(0.22, 1, 0.36, 1);
  --box-cut: clamp(1.25rem, 3vw, 2.75rem);
  --service-x-default: clamp(20px, 7vw, 40px);
  --service-y-top: clamp(3rem, 3.8vw, 5rem);
  --service-y-bottom: clamp(3.35rem, 4.6vw, 5.75rem);
  --service-y-default: var(--service-y-top);
  --service-row-gap: clamp(0.75rem, 1.2vw, 1rem);
  --service-card-min-height: clamp(11.25rem, 11.2vw, 13.5rem);
  --service-card-min-height-mobile: 11.75rem;
  --service-card-padding: clamp(1rem, 0.953125rem + 0.234375vw, 1.1875rem);
  --service-card-active-lift: clamp(1.2rem, 1.4vw, 1.8rem);
  --service-card-cut: clamp(2rem, 3vw, 2.75rem);
  --service-button-size: 32px;
  --service-button-inset: 18px;
  --service-title-size: var(--type-card-title);
  --service-title-line-height: var(--_typography---line-height--heading-height-3);
  --service-title-letter-spacing: var(--_typography---letter-spacing--spacing-4);
  --service-title-measure: 21ch;
  --service-copy-size: var(--type-card-body);
  --service-copy-line-height: var(--_typography---line-height--body-height);
  --service-copy-letter-spacing: var(--_typography---letter-spacing--spacing-7);
  --service-copy-measure: 33rem;
  --service-depth-black: var(--alpha--mono-900-o10);
  --service-field-deep: #050605;
  --service-field-mid: #0a0b0a;
  --service-material-idle: rgb(8 9 8 / 94%);
  --service-material-hover: rgb(11 12 11 / 96%);
  --service-material-active: rgb(12 13 12 / 97%);
  --service-glass-idle: var(--service-material-idle);
  --service-glass-hover: var(--service-material-hover);
  --service-glass-border: rgb(241 241 241 / 5.2%);
  --service-glass-border-active: rgb(241 241 241 / 8.4%);
  --service-edge-light: rgb(241 241 241 / 6.8%);
  --service-edge-dark: rgb(0 0 0 / 28%);
  --service-ease-out: cubic-bezier(.25,.46,.45,.94);
  --service-ease-in-out: cubic-bezier(.645,.045,.355,1);
  --gallery-bg: #0b0c0b;
  --gallery-card-bg: #060706;
  --gallery-card-radius: var(--radius--small);
  --gallery-card-width: clamp(22rem, 36vw, 38rem);
  --gallery-gap: clamp(0.875rem, 1.35vw, 1.125rem);
  --control-size: 1.875rem;
  --control-size-large: 2.125rem;
  --control-bg: rgb(241 241 241 / 4%);
  --control-bg-hover: rgb(241 241 241 / 7.25%);
  --control-border: rgb(241 241 241 / 13%);
  --control-border-hover: rgb(241 241 241 / 23%);
  --control-icon: var(--text);
  --control-icon-hover: var(--text);
  --blur-nav: blur(18px);
  --nav--max-width-outer: var(--layout-content-max);
  --nav--max-width-inner: var(--layout-content-max);
  --nav--spacing-outer-horizontal: var(--site--margin);
  --nav--spacing-outer-vertical: 1.5rem;
  --nav--height: 3.625rem;
  --nav--height-total: calc(var(--nav--height) + var(--nav--spacing-outer-vertical));
  --nav--radius: var(--radius--small);
  --nav--spacing-inner-horizontal: var(--_spacing---space--5);
  --nav-dark: color(srgb 0.0823529 0.0862745 0.0823529);
  --nav-cream: color(srgb 0.918137 0.91826 0.918137);
  --nav-text-cream: color(srgb 0.837255 0.837745 0.837255);
  --nav-font-size: var(--text-sm);
  --nav-line-height: var(--_typography---line-height--body-height);
  --nav-letter-spacing: var(--_typography---letter-spacing--spacing-6);
  --nav-brand-letter-spacing: var(--nav-letter-spacing);
  --nav-bg: color(srgb 0.075 0.08 0.076 / 0.46);
  --nav-bg-scrolled: color(srgb 0.918137 0.91826 0.918137 / 0.9);
  --nav-backdrop: blur(24px) saturate(1.12);
  --nav-cta-bg: var(--nav-cream);
  --nav-cta-radius: 0.3125rem;
  --nav-border: rgb(241 241 241 / 4%);
  --nav-border-scrolled: rgb(21 22 21 / 4%);
  --nav-brand: var(--nav-text-cream);
  --nav-brand-scrolled: var(--mono-palette--mono-800);
  --nav-brand-size: var(--nav-font-size);
  --nav-link: var(--nav-brand);
  --nav-link-scrolled: var(--nav-brand-scrolled);
  --nav-link-hover: var(--nav-brand);
  --nav-link-hover-scrolled: var(--nav-brand-scrolled);
  --nav-link-line: rgb(241 241 241 / 78%);
  --nav-link-line-scrolled: rgb(48 49 48 / 32%);
  --nav-brand-weight: var(--_typography---font--primary-regular);
  --brand-mark-filter: grayscale(1) brightness(1.24) contrast(.76);
  --brand-mark-filter-scrolled: grayscale(1) brightness(.48) contrast(.92);
  --nav-height-scrolled: var(--nav--height);
  --nav-inset-scrolled: var(--nav--spacing-outer-horizontal);
  --nav--banner-height: 2.4rem;
  --nav-cta-height: 2.0625rem;
  --nav-cta-x: 0.5rem;
  --nav-cta-gap: 0.4375rem;
  --nav-cta-font-size: var(--text-sm);
  --nav-cta-line-height: var(--_typography---line-height--body-height);
  --nav-cta-icon: 0.875rem;
  --nav-cta-icon-y: 0;
  --stats-block-y: clamp(0.95rem, 1.2vw, 1.25rem);
  --stats-block-x: clamp(1rem, 2vw, 1.875rem);
  --stats-row-gap: clamp(0.42rem, 0.7vw, 0.65rem);
  --stats-number-row: auto;
  --stats-label-title-shift: .24em;
  --stats-label-size: var(--type-label);
  --stats-caption-size: var(--type-label);
  --stats-number-size: clamp(1.55rem, 1.4rem + 0.75vw, 2.15rem);
  --stats-number-line-height: var(--_typography---line-height--heading-height-2);
  --stats-text-line-height: 1.28;
  --stats-label-spacing: var(--_typography---letter-spacing--spacing-8);
  --stats-number-spacing: var(--_typography---letter-spacing--spacing-3);
  --stats-intro-label-size: var(--type-label);
  --stats-intro-heading-size: clamp(1.85rem, 1.675rem + 0.875vw, 2.55rem);
  --stats-intro-heading-line: var(--_typography---line-height--heading-height-1);
  --stats-intro-heading-spacing: var(--_typography---letter-spacing--spacing-2);
  --stats-intro-label-shift: -0.56em;
  --button-size--medium: 3rem;
  --button-size--large: 5rem;
  --nav-floating-top: var(--nav--spacing-outer-vertical);
  --nav-height: var(--nav--height);
  --nav-active-height: var(--nav-height);
  --nav-shell-x: var(--nav--spacing-inner-horizontal);
  --nav-shell-y: 0;
  --nav-item-height: var(--button-size--medium);
  --nav-mark-size: 2rem;
  --footer-mark-size: 1.75rem;
  --button-height: var(--button-size--medium);
  --button-x: var(--_spacing---space--3);
  --button-arrow-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.75 12h14M12.5 5.9 18.6 12l-6.1 6.1' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --hero-min-height: clamp(34rem, 62svh, 43rem);
  --hero-padding-top: clamp(4rem, 6vw, 5.75rem);
  --hero-padding-bottom: clamp(3.25rem, 4.8vw, 4.75rem);
  --hero-video-position-x: 50%;
  --hero-video-position-y: 45%;
  --panel-min-height: 8.125rem;
  --mobile-breakpoint-main: 991px;
  --mobile-breakpoint-small: 479px;

  font-family: var(--font-body);
}

* {
  box-sizing: border-box;
}

html {
  overflow-x: clip;
  scroll-behavior: smooth;
  text-size-adjust: 100%;
  font-family: var(--font-body);
}

body {
  overflow-x: clip;
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: var(--_typography---line-height--body-height);
  letter-spacing: var(--_typography---letter-spacing--spacing-7);
  font-kerning: normal;
  font-feature-settings: "kern" 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
  font-synthesis: none;
}

.skip-link {
  position: fixed;
  top: var(--space-3);
  left: var(--space-3);
  z-index: 1000;
  transform: translateY(calc(-100% - var(--space-4)));
  padding: 0.65rem 0.85rem;
  color: var(--nav-dark);
  background: var(--nav-cream);
  border-radius: var(--radius-xs);
  font-size: var(--text-sm);
  font-weight: var(--_typography---font--primary-medium);
  line-height: 1;
  text-decoration: none;
  transition: transform var(--transition-fast);
}

.skip-link:focus-visible {
  transform: translateY(0);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
button,
span {
  text-shadow: none;
  -webkit-text-stroke: 0;
  paint-order: normal;
}

button,
input,
textarea,
select {
  font-family: var(--font-body);
  font-weight: var(--_typography---font--primary-regular);
}

strong,
b {
  font-weight: var(--_typography---font--primary-medium);
}

a {
  color: inherit;
  text-decoration: none;
}

a:not(.brand):not(.footer-brand):not(.button) {
  color: color-mix(in srgb, var(--_theme---text-link--text) 100%, var(--_theme---text-link--text-hover) 0%);
  background-image: linear-gradient(var(--_theme---text-link--border-hover), var(--_theme---text-link--border-hover));
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% var(--border-width--main);
  transition:
    color var(--link-transition),
    background-size var(--link-line-transition),
    opacity var(--link-transition);
}

a:not(.brand):not(.footer-brand):not(.button):hover,
a:not(.brand):not(.footer-brand):not(.button):focus-visible {
  color: color-mix(in srgb, var(--_theme---text-link--text) 0%, var(--_theme---text-link--text-hover) 100%);
  background-size: 0 var(--border-width--main);
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible {
  outline: var(--border-width--main) solid var(--accent);
  outline-offset: var(--_spacing---space--1);
}

::selection {
  color: var(--_theme---selection--text);
  background: var(--_theme---selection--background);
}

@media screen and (max-width: 767px) {
  :root {
    --hero-min-height: clamp(34rem, 76svh, 42rem);
    --hero-padding-top: clamp(4rem, 14vw, 5.25rem);
    --hero-padding-bottom: clamp(3rem, 10vw, 4rem);
    --hero-video-position-x: 58%;
    --hero-video-position-y: 44%;
  }
}

.eyebrow {
  margin: 0 0 var(--_spacing---space--2);
  color: var(--accent);
  font-size: var(--type-label);
  font-weight: 400;
  line-height: var(--_typography---line-height--body-height);
  letter-spacing: var(--_typography---letter-spacing--spacing-8);
  text-transform: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
label {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  text-wrap: inherit;
  margin-top: 0;
  margin-bottom: 0;
}

h1 {
  max-width: var(--measure-7);
  margin-bottom: var(--space-6);
  color: var(--heading);
  font-family: var(--font-display);
  font-size: var(--text-hero);
  font-weight: 400;
  line-height: var(--_typography---line-height--heading-height-1);
  letter-spacing: var(--_typography---letter-spacing--spacing-3);
  text-wrap: balance;
}

h2 {
  margin-bottom: var(--space-5);
  color: var(--heading);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 400;
  line-height: var(--_typography---line-height--heading-height-1);
  letter-spacing: var(--_typography---letter-spacing--spacing-2);
  text-wrap: balance;
}

h3 {
  margin-bottom: var(--_spacing---space--2);
  color: var(--heading);
  font-size: var(--text-md);
  font-weight: 400;
  line-height: var(--_typography---line-height--heading-height-4);
  letter-spacing: var(--_typography---letter-spacing--spacing-5);
}

h1::before,
h2::before,
h3::before,
p::before {
  content: none;
}

h1::after,
h2::after,
h3::after,
p::after {
  content: none;
}

.button {
  display: inline-flex;
  position: relative;
  min-height: var(--button-height);
  align-items: center;
  justify-content: center;
  gap: var(--_spacing---space--2);
  padding: 0 var(--button-x);
  border: var(--border-width--main) solid var(--_theme---button-tertiary--border);
  border-radius: var(--radius-xs);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: var(--_typography---line-height--body-height);
  letter-spacing: var(--_typography---letter-spacing--spacing-7);
  overflow: hidden;
  transition:
    background var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast);
}

.button::before {
  content: "";
  display: block;
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: var(--button-arrow-icon) center / contain no-repeat;
  mask: var(--button-arrow-icon) center / contain no-repeat;
}

.button::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: var(--border-width--main);
  background: currentColor;
  transform: translateY(100%) scaleX(0);
  transform-origin: left center;
  transition: transform var(--link-line-transition);
}

.button:hover::after,
.button:focus-visible::after {
  transform: translateY(0) scaleX(1);
}

.button.primary {
  background: var(--_theme---button-primary--background);
  color: var(--_theme---button-primary--text);
  border-color: var(--_theme---button-primary--border);
}

.button.primary:hover,
.button.primary:focus-visible {
  background: var(--_theme---button-primary--background-hover);
  border-color: var(--_theme---button-primary--border-hover);
  color: var(--_theme---button-primary--text-hover);
}

.button.secondary {
  background: var(--_theme---button-tertiary--background);
  border-color: var(--_theme---button-tertiary--border);
  color: var(--_theme---button-tertiary--text);
}

.button.secondary:hover,
.button.secondary:focus-visible {
  background: var(--_theme---button-tertiary--background-hover);
  border-color: var(--_theme---button-tertiary--border-hover);
  color: var(--_theme---button-tertiary--text-hover);
}
