/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --color-primary-100: #e8f5ef; /** Tint for soft backgrounds. */
  --color-primary-200: #bce2d1; /** Soft tint for borders and panels on light; light text on dark green. Perceptual midpoint of 100 and 300. */
  --color-primary-300: #8fcfb4; /** Accents and text on dark green. */
  --color-primary-400: #19ad6e; /** Bright green. Replaces 500 on dark backgrounds; hover, focus, selection. Too light for text on light backgrounds (2.6:1). */
  --color-primary-500: #106e46; /** Core brand green. Default for brand color, buttons and links on light backgrounds. */
  --color-primary-600: #0d5738; /** Hover / pressed state for 500. */
  --color-primary-700: #18412f; /** Deep field for dark sections, footer and newsletter panels. */
  --color-primary-800: #0f3724; /** Dark hero band. */
  --color-primary-900: #041d13; /** Near-black green; button borders. */
  --color-neutral-100: #faf7f5; /** Lighter band / raised surface. */
  --color-neutral-200: #f2f0ed; /** Default page background. */
  --color-neutral-300: #e7e4e0; /** Hairline borders, CTA panels. */
  --color-neutral-400: #cfcac5; /** Strong borders, rules. */
  --color-neutral-500: #a6a09a; /** Disabled and decorative only; not for text. */
  --color-neutral-600: #7d7771; /** Muted text at large sizes. Fails AA for body text on the page background (3.9:1). */
  --color-neutral-700: #4d4741; /** Secondary text. */
  --color-neutral-800: #2b2722; /** Body text. */
  --color-neutral-900: #080605; /** Headings, near-black. */
  --color-neutral-white: #ffffff; /** Cards and panels on the page background. */
  --color-accent-ochre: #d1a84c;
  --color-accent-rust: #993e17;
  --color-accent-amber: #cc7829;
  --color-accent-brick: #a43939; /** The only accent with a meaning: errors. Avoid it for decoration. */
  --color-accent-teal: #558e99;
  --color-accent-navy: #334657;
  --color-accent-periwinkle: #6e8acc;
  --color-accent-plum: #592e46;
  --font-family-display: kepler-3-display-variable, Georgia, 'Times New Roman', serif; /** Kepler Display: headlines, pull quotes, big moments. Adobe Fonts kit piw5axu. */
  --font-family-serif: kepler-3-variable, Georgia, 'Times New Roman', serif; /** Kepler (text optical size): long-form prose, letters, blockquotes. Adobe Fonts kit piw5axu. */
  --font-family-sans: dm-sans, 'DM Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; /** DM Sans: body, UI, labels, captions. Adobe Fonts kit piw5axu (also free on Google Fonts as "DM Sans"). */
  --font-family-fallback-serif: Lora, Georgia, serif; /** Official stand-in for both Kepler faces where Kepler isn't available: Google Docs/Slides, Adobe Express, email. Headings Lora 500, body Lora 400. */
  --font-weight-regular: 400;
  --font-weight-medium: 500; /** DM Sans 500 must be in the Adobe Fonts kit to render correctly. */
  --font-weight-semibold: 600; /** DM Sans 600 must be in the Adobe Fonts kit to render correctly. */
  --font-weight-bold: 700; /** DM Sans only. Kepler Display headings use regular (400) and semibold (600). */
  --font-weight-prose: 360; /** Kepler text weight for long-form prose (variable font). */
  --font-size-2xs: 0.625rem; /** 11.25px; micro meta */
  --font-size-xs: 0.75rem; /** 13.5px; eyebrow / meta */
  --font-size-sm: 0.875rem; /** 15.75px */
  --font-size-base: 1rem; /** 18px; body */
  --font-size-lg: 1.125rem; /** 20.25px; buttons */
  --font-size-xl: 1.25rem; /** 22.5px */
  --font-size-2xl: 1.5rem; /** 27px */
  --font-size-3xl: 1.875rem; /** 33.75px */
  --font-size-4xl: 2.25rem; /** 40.5px; h1 on mobile */
  --font-size-5xl: 3rem; /** 54px */
  --font-size-6xl: 3.75rem; /** 67.5px */
  --font-size-7xl: 4.5rem; /** 81px */
  --font-size-8xl: 6rem; /** 108px; h1 at xl */
  --font-leading-none: 1;
  --font-leading-tight: 1.25;
  --font-leading-snug: 1.375;
  --font-leading-normal: 1.5;
  --font-leading-relaxed: 1.625;
  --font-tracking-normal: 0em;
  --font-tracking-wide: 0.025em;
  --font-tracking-wider: 0.05em; /** Eyebrow / meta caps */
  --radius-sm: 0.125rem; /** 2.25px */
  --radius-default: 0.25rem; /** 4.5px; buttons, cards, inputs */
  --radius-md: 0.375rem; /** 6.75px; badges, media tiles, podcast covers */
  --radius-lg: 0.5rem; /** 9px. Retired: use md for small surfaces, xl for panels. */
  --radius-xl: 0.75rem; /** 13.5px; CTA panels */
  --radius-full: 9999px; /** Avatars, pills */
  --shadow-sm: 0px 2px 2px 0px rgba(88, 70, 80, 0.01), 0px 1px 2px 0px rgba(88, 70, 80, 0.05), 0px 1px 1px 0px rgba(88, 70, 80, 0.09), 0px 0px 1px 0px rgba(88, 70, 80, 0.1);
  --shadow-md: 0px 14px 5px 0px rgba(88, 70, 80, 0.01), 0px 8px 5px 0px rgba(88, 70, 80, 0.04), 0px 3px 3px 0px rgba(88, 70, 80, 0.07), 0px 0px 2px 0px rgba(88, 70, 80, 0.08);
  --shadow-lg: 0px 39px 16px 0px rgba(88, 70, 80, 0.01), 0px 22px 13px 0px rgba(88, 70, 80, 0.04), 0px 10px 10px 0px rgba(88, 70, 80, 0.07), 0px 1px 5px 0px rgba(88, 70, 80, 0.08);
  --shadow-xl: 0px 277px 111px 0px rgba(88, 70, 80, 0.01), 0px 156px 94px 0px rgba(88, 70, 80, 0.04), 0px 69px 69px 0px rgba(88, 70, 80, 0.07), 0px 17px 38px 0px rgba(88, 70, 80, 0.08);
  --shadow-3xl: -60px 75px 25px 0px rgba(0, 5, 20, 0.00), -22.5px 30px 15px 0px rgba(0, 5, 20, 0.01), -15px 22.5px 22.5px 0px rgba(0, 5, 20, 0.10), -7.5px 11.25px 15px 0px rgba(0, 5, 20, 0.17), -3px 4.5px 12.75px 0px rgba(0, 5, 20, 0.20);
  --shadow-4xl: -80px 100px 34px 0px rgba(0, 5, 20, 0.00), -30px 40px 20px 0px rgba(0, 5, 20, 0.01), -20px 30px 30px 0px rgba(0, 5, 20, 0.10), -10px 15px 20px 0px rgba(0, 5, 20, 0.17), -4px 6px 17px 0px rgba(0, 5, 20, 0.20);
  --shadow-5xl: -119.111px 148.889px 50.622px 0px rgba(0, 5, 20, 0.00), -44.667px 59.556px 29.778px 0px rgba(0, 5, 20, 0.01), -29.778px 44.667px 44.667px 0px rgba(0, 5, 20, 0.10), -14.889px 22.333px 29.778px 0px rgba(0, 5, 20, 0.17), -5.956px 8.933px 25.311px 0px rgba(0, 5, 20, 0.20);
  --motion-duration-default: 300ms; /** Site default for transitions. */
  --motion-duration-button: 200ms; /** Button fill grow and underline wipe. */
  --motion-easing-default: cubic-bezier(0.455, 0.03, 0.515, 0.955); /** In-out quad; site default. */
  --motion-easing-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86); /** Underline wipes, video hover. */
  --motion-easing-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --motion-hover-scale-button: 1.1; /** Primary/secondary button fill grows on hover. */
  --motion-hover-scale-media: 1.05; /** Images zoom inside cards on hover. */
  --layout-container: 1536px; /** .fluid-container max width */
  --layout-gutter: 2rem; /** Side padding below lg (36px) */
  --layout-gutter-lg: 3rem; /** Side padding at lg and up (54px) */
  --layout-prose: 42rem; /** Readable measure, max-w-2xl */
  --color-text-body: var(--color-neutral-800);
  --color-text-heading: var(--color-neutral-900);
  --color-text-secondary: var(--color-neutral-700);
  --color-text-brand: var(--color-primary-500);
  --color-text-on-dark: var(--color-neutral-white);
  --color-text-error: var(--color-accent-brick);
  --color-surface-page: var(--color-neutral-200);
  --color-surface-card: var(--color-neutral-white);
  --color-surface-raised: var(--color-neutral-100);
  --color-surface-panel: var(--color-neutral-300);
  --color-surface-dark: var(--color-primary-700);
  --color-surface-darker: var(--color-primary-800);
  --color-surface-brand: var(--color-primary-500);
  --color-border-default: var(--color-neutral-300);
  --color-border-strong: var(--color-neutral-400);
  --color-border-brand: var(--color-primary-700);
  --color-action-default: var(--color-primary-500);
  --color-action-hover: var(--color-primary-600); /** Primary button hover. White text stays at ~8.5:1. (Replaces the bright Primary 400 hover, which dropped white text to 2.9:1.) */
  --color-action-pressed: var(--color-primary-700);
}
