/* Biolift design tokens. Generated from tokens.json. Do not edit by hand: edit tokens.json and rebuild. */
/* Light theme is the default on :root. Add data-theme="dark" (or class "bl-dark") on any ancestor for the dark canvas. */

:root {
  /* Primitives */
  --bl-color-orange-50: #FDF2EC;
  --bl-color-orange-100: #FAE6DB;
  --bl-color-orange-200: #F6CEB6;
  --bl-color-orange-300: #F0AC86;
  --bl-color-orange-400: #E98C56;
  --bl-color-orange-450: #EA6A21;
  --bl-color-orange-500: #E05A0D;
  --bl-color-orange-600: #C04A06;
  --bl-color-orange-700: #9F3A00;
  --bl-color-orange-800: #772C00;
  --bl-color-orange-900: #501D00;
  --bl-color-navy-50: #E7EBF0;
  --bl-color-navy-100: #CFD8E1;
  --bl-color-navy-300: #8FA6BD;
  --bl-color-navy-400: #597998;
  --bl-color-navy-500: #12406D;
  --bl-color-navy-700: #0E3357;
  --bl-color-navy-800: #07192B;
  --bl-color-navy-900: #051320;
  --bl-color-neutral-0: #FFFFFF;
  --bl-color-neutral-50: #FFF7F3;
  --bl-color-neutral-100: #F2F2F2;
  --bl-color-neutral-200: #D8D9D9;
  --bl-color-neutral-300: #B2B3B4;
  --bl-color-neutral-400: #9A9B9D;
  --bl-color-neutral-500: #808182;
  --bl-color-neutral-600: #6B6C6E;
  --bl-color-neutral-700: #4D4E50;
  --bl-color-neutral-800: #2C2F33;
  --bl-color-neutral-850: #24272A;
  --bl-color-neutral-900: #1A1C1E;
  --bl-color-neutral-950: #010305;
  --bl-color-functional-success-600: #1E7B4A;
  --bl-color-functional-success-50: #E6F4EC;
  --bl-color-functional-warning-600: #8A5B00;
  --bl-color-functional-warning-50: #FFF3D6;
  --bl-color-functional-error-600: #C41E3A;
  --bl-color-functional-error-50: #FCE8EB;
  --bl-color-functional-info-600: #12406D;
  --bl-color-functional-info-50: #E7EBF0;

  /* Semantic roles, light canvas */
  --bl-bg-canvas: #FFF7F3;
  --bl-bg-surface: #FFFFFF;
  --bl-bg-muted: #F2F2F2;
  --bl-bg-brand-subtle: #FDF2EC;
  --bl-bg-emphasis: #1A1C1E;
  --bl-bg-blue: #0E3357;
  --bl-bg-brand: #E05A0D;
  --bl-bg-overlay: #01030599;
  --bl-text-primary: #1A1C1E;
  --bl-text-secondary: #4D4E50;
  --bl-text-muted: #6B6C6E;
  --bl-text-on-emphasis: #FFF7F3;
  --bl-text-inverse: #FFF7F3;
  --bl-text-brand: #9F3A00;
  --bl-text-brand-display: #E05A0D;
  --bl-text-link: #9F3A00;
  --bl-text-on-brand: #1A1C1E;
  --bl-border-default: #D8D9D9;
  --bl-border-strong: #B2B3B4;
  --bl-border-brand: #E05A0D;
  --bl-border-focus: #E05A0D;
  --bl-action-primary-bg: #E05A0D;
  --bl-action-primary-text: #1A1C1E;
  --bl-action-primary-bg-hover: #EA6A21;
  --bl-action-primary-bg-active: #C04A06;
  --bl-action-secondary-border: #1A1C1E;
  --bl-action-secondary-text: #1A1C1E;
  --bl-action-secondary-bg-hover: #1A1C1E;
  --bl-action-ghost-bg-hover: #F2F2F2;
  --bl-chart-series-1: #E05A0D;
  --bl-chart-series-2: #0E3357;
  --bl-chart-series-3: #808182;
  --bl-chart-series-4: #F0AC86;
  --bl-chart-grid: #D8D9D9;

  /* Typography */
  --bl-font-sans: Inter, "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --bl-font-mono: "JetBrains Mono", "SF Mono", Consolas, "Liberation Mono", monospace;
  --bl-weight-regular: 400;
  --bl-weight-medium: 500;
  --bl-weight-bold: 700;
  --bl-weight-extrabold: 800;
  --bl-weight-black: 900;
  --bl-text-display-size: 72px; --bl-text-display-lh: 1.0; --bl-text-display-ls: -0.02em; --bl-text-display-weight: 900;
  --bl-text-h1-size: 56px; --bl-text-h1-lh: 1.05; --bl-text-h1-ls: -0.02em; --bl-text-h1-weight: 800;
  --bl-text-h2-size: 40px; --bl-text-h2-lh: 1.1; --bl-text-h2-ls: -0.015em; --bl-text-h2-weight: 800;
  --bl-text-h3-size: 28px; --bl-text-h3-lh: 1.2; --bl-text-h3-ls: -0.01em; --bl-text-h3-weight: 700;
  --bl-text-h4-size: 22px; --bl-text-h4-lh: 1.3; --bl-text-h4-ls: 0; --bl-text-h4-weight: 700;
  --bl-text-body-lg-size: 20px; --bl-text-body-lg-lh: 1.5; --bl-text-body-lg-ls: 0; --bl-text-body-lg-weight: 400;
  --bl-text-body-size: 16px; --bl-text-body-lh: 1.5; --bl-text-body-ls: 0; --bl-text-body-weight: 400;
  --bl-text-body-sm-size: 14px; --bl-text-body-sm-lh: 1.5; --bl-text-body-sm-ls: 0; --bl-text-body-sm-weight: 400;
  --bl-text-eyebrow-size: 12px; --bl-text-eyebrow-lh: 1.4; --bl-text-eyebrow-ls: 0.08em; --bl-text-eyebrow-weight: 700;
  --bl-text-caption-size: 12px; --bl-text-caption-lh: 1.4; --bl-text-caption-ls: 0; --bl-text-caption-weight: 400;

  /* Spacing, layout, radius, borders, shadows, motion */
  --bl-space-1: 4px;
  --bl-space-2: 8px;
  --bl-space-3: 12px;
  --bl-space-4: 16px;
  --bl-space-5: 24px;
  --bl-space-6: 32px;
  --bl-space-7: 48px;
  --bl-space-8: 64px;
  --bl-space-9: 96px;
  --bl-space-10: 128px;
  --bl-container-max: 1280px;
  --bl-gutter-desktop: 32px;
  --bl-gutter-mobile: 16px;
  --bl-section-padding-desktop: 96px;
  --bl-section-padding-mobile: 64px;
  --bl-breakpoint-sm: 640px;
  --bl-breakpoint-md: 768px;
  --bl-breakpoint-lg: 1024px;
  --bl-breakpoint-xl: 1280px;
  --bl-radius-none: 0px;
  --bl-radius-sm: 2px;
  --bl-radius-md: 4px;
  --bl-radius-lg: 8px;
  --bl-radius-full: 999px;
  --bl-border-width-hairline: 1px;
  --bl-border-width-strong: 2px;
  --bl-border-width-rail: 4px;
  --bl-shadow-1: 0px 1px 2px 0px #0103051F;
  --bl-shadow-2: 0px 4px 12px 0px #01030529;
  --bl-shadow-3: 0px 12px 32px 0px #0103053D;
  --bl-duration-fast: 120ms;
  --bl-duration-base: 200ms;
  --bl-duration-slow: 320ms;
  --bl-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --bl-easing-enter: cubic-bezier(0, 0, 0.2, 1);
  --bl-easing-exit: cubic-bezier(0.4, 0, 1, 1);
}

[data-theme="dark"], .bl-dark {
  --bl-bg-canvas: #1A1C1E;
  --bl-bg-surface: #24272A;
  --bl-bg-muted: #2C2F33;
  --bl-bg-brand-subtle: #3A261B;
  --bl-bg-emphasis: #FFF7F3;
  --bl-bg-blue: #0E3357;
  --bl-bg-brand: #E05A0D;
  --bl-bg-overlay: #010305B3;
  --bl-text-primary: #FFF7F3;
  --bl-text-secondary: #B2B3B4;
  --bl-text-muted: #9A9B9D;
  --bl-text-on-emphasis: #1A1C1E;
  --bl-text-inverse: #1A1C1E;
  --bl-text-brand: #E05A0D;
  --bl-text-brand-display: #E05A0D;
  --bl-text-link: #E05A0D;
  --bl-text-on-brand: #1A1C1E;
  --bl-border-default: #3A3D41;
  --bl-border-strong: #4D4E50;
  --bl-border-brand: #E05A0D;
  --bl-border-focus: #E05A0D;
  --bl-action-primary-bg: #E05A0D;
  --bl-action-primary-text: #1A1C1E;
  --bl-action-primary-bg-hover: #EA6A21;
  --bl-action-primary-bg-active: #C04A06;
  --bl-action-secondary-border: #FFF7F3;
  --bl-action-secondary-text: #FFF7F3;
  --bl-action-secondary-bg-hover: #FFF7F3;
  --bl-action-ghost-bg-hover: #2C2F33;
  --bl-chart-series-1: #E05A0D;
  --bl-chart-series-2: #8FA6BD;
  --bl-chart-series-3: #9A9B9D;
  --bl-chart-series-4: #F0AC86;
  --bl-chart-grid: #3A3D41;
  color-scheme: dark;
}

/* Base recipes (optional): the headline and body treatments the brand book describes. */
.bl-root { font-family: var(--bl-font-sans); color: var(--bl-text-primary); background: var(--bl-bg-canvas); font-size: var(--bl-text-body-size); line-height: var(--bl-text-body-lh); -webkit-font-smoothing: antialiased; }
.bl-display, .bl-h1, .bl-h2 { font-weight: var(--bl-weight-extrabold); text-transform: uppercase; text-wrap: balance; }
.bl-display { font-size: var(--bl-text-display-size); line-height: var(--bl-text-display-lh); letter-spacing: var(--bl-text-display-ls); font-weight: var(--bl-weight-black); }
.bl-h1 { font-size: var(--bl-text-h1-size); line-height: var(--bl-text-h1-lh); letter-spacing: var(--bl-text-h1-ls); }
.bl-h2 { font-size: var(--bl-text-h2-size); line-height: var(--bl-text-h2-lh); letter-spacing: var(--bl-text-h2-ls); }
.bl-h3 { font-size: var(--bl-text-h3-size); line-height: var(--bl-text-h3-lh); letter-spacing: var(--bl-text-h3-ls); font-weight: var(--bl-weight-bold); }
.bl-eyebrow { font-size: var(--bl-text-eyebrow-size); line-height: var(--bl-text-eyebrow-lh); letter-spacing: var(--bl-text-eyebrow-ls); font-weight: var(--bl-weight-bold); text-transform: uppercase; }
.bl-body { max-width: 65ch; }
.bl-outline { color: transparent; -webkit-text-stroke: 0.035em currentColor; paint-order: stroke fill; }
.bl-dot { color: var(--bl-color-orange-500); }
.bl-tnum { font-variant-numeric: tabular-nums; }
.bl-btn { display: inline-flex; align-items: center; gap: var(--bl-space-2); padding: var(--bl-space-3) var(--bl-space-5); border-radius: var(--bl-radius-md); font-weight: var(--bl-weight-bold); text-transform: uppercase; letter-spacing: 0.04em; font-size: var(--bl-text-body-sm-size); line-height: 1.2; border: var(--bl-border-width-strong) solid transparent; cursor: pointer; transition: background var(--bl-duration-fast) var(--bl-easing-standard), color var(--bl-duration-fast) var(--bl-easing-standard); }
.bl-btn-primary { background: var(--bl-action-primary-bg); color: var(--bl-action-primary-text); border-color: var(--bl-action-primary-bg); }
.bl-btn-primary:hover { background: var(--bl-action-primary-bg-hover); border-color: var(--bl-action-primary-bg-hover); }
.bl-btn-primary:active { background: var(--bl-action-primary-bg-active); border-color: var(--bl-action-primary-bg-active); }
.bl-btn-secondary { background: transparent; color: var(--bl-action-secondary-text); border-color: var(--bl-action-secondary-border); }
.bl-btn-secondary:hover { background: var(--bl-action-secondary-bg-hover); color: var(--bl-text-inverse); }
.bl-btn-ghost { background: transparent; color: var(--bl-text-primary); }
.bl-btn-ghost:hover { background: var(--bl-action-ghost-bg-hover); }
:is(.bl-btn, .bl-root a, .bl-root button, .bl-root input):focus-visible { outline: var(--bl-border-width-strong) solid var(--bl-border-focus); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .bl-root * { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; } }
