/* qwitto Design System — generated from tokens.json */
:root, [data-theme="default"] {
  --qw-navy: #041e44;
  --qw-sky: #93c5ed;
  --qw-teal: #7ec5c5;
  --qw-green: #408d77;
  --qw-lime: #bcd767;
  --qw-black: #000000;
  --qw-white: #ffffff;
  --qw-navy-900: #020f22;
  --qw-navy-800: #031731;
  --qw-navy-700: #041e44;
  --qw-navy-600: #0b2f63;
  --qw-navy-500: #1b4682;
  --qw-navy-300: #7086a5;
  --qw-navy-200: #b6c1d0;
  --qw-navy-100: #dde2e9;
  --qw-navy-50: #f1f3f6;
  --qw-sky-600: #4e9bd4;
  --qw-sky-500: #93c5ed;
  --qw-sky-200: #d3e7f8;
  --qw-sky-100: #eaf4fc;
  --text-body: var(--qw-navy);
  --text-heading: var(--qw-navy);
  --text-muted: var(--qw-navy-300);
  --text-inverse: var(--qw-white);
  --text-link: var(--qw-navy-600);
  --text-link-hover: var(--qw-navy);
  --text-on-accent: var(--qw-navy);
  --surface-page: var(--qw-white);
  --surface-subtle: var(--qw-navy-50);
  --surface-card: var(--qw-white);
  --surface-inverse: var(--qw-navy);
  --surface-accent: var(--qw-sky-100);
  --surface-overlay: rgba(4,30,68,.72);
  --border-subtle: var(--qw-navy-100);
  --border-default: var(--qw-navy-200);
  --border-strong: var(--qw-navy);
  --border-focus: var(--qw-sky-600);
  --action-primary: var(--qw-navy);
  --action-primary-hover: var(--qw-navy-600);
  --action-primary-active: var(--qw-navy-900);
  --action-secondary: var(--qw-sky);
  --action-secondary-hover: var(--qw-sky-600);
  --action-disabled: var(--qw-navy-100);
  --status-success: var(--qw-green);
  --status-info: var(--qw-sky-600);
  --status-progress: var(--qw-teal);
  --status-attention: var(--qw-lime);
  --focus-ring: 0 0 0 3px rgba(147,197,237,.65);
  --shadow-none: none;
  --shadow-xs: 0 1px 2px rgba(4,30,68,.06);
  --shadow-sm: 0 2px 6px rgba(4,30,68,.08);
  --shadow-md: 0 6px 18px rgba(4,30,68,.10);
  --shadow-lg: 0 18px 44px rgba(4,30,68,.14);
  --shadow-inset-hairline: inset 0 0 0 1px rgba(4,30,68,.10);
}
:root {
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-32: 128px;
  --logo-clear-space: 20px;
  --gutter: 24px;
  --section-y: 96px;
  --container-max: 1200px;
  --border-width: 1px;
  --border-width-strong: 2px;
  --rule-width: 1px;
  --radius-none: 0px;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-pill: 999px;
  --ease-standard: cubic-bezier(.2,0,.2,1);
  --ease-out: cubic-bezier(0,0,.2,1);
  --ease-in-out: cubic-bezier(.4,0,.2,1);
  --duration-instant: 80ms;
  --duration-fast: 140ms;
  --duration-base: 220ms;
  --duration-slow: 400ms;
  --weight-note: 300;
  --weight-section: 500;
  --weight-title: 600;
  --scrim-bottom: linear-gradient(to top,rgba(4,30,68,.78) 0%,rgba(4,30,68,.35) 45%,rgba(4,30,68,0) 100%);
  --scrim-left: linear-gradient(to right,rgba(4,30,68,.82) 0%,rgba(4,30,68,.25) 55%,rgba(4,30,68,0) 100%);
  --blur-glass: saturate(140%) blur(14px);
  --press-scale: .985;
  --font-sans: "Exo 2","Segoe UI",system-ui,sans-serif;
  --font-mono: "SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --text-text-display: 400 72px/1.02 var(--font-sans);
  --text-text-h1: 400 48px/1.08 var(--font-sans);
  --text-text-h2: 400 34px/1.15 var(--font-sans);
  --text-text-h3: 400 24px/1.25 var(--font-sans);
  --text-text-lead: 400 20px/1.55 var(--font-sans);
  --text-text-body: 400 16px/1.65 var(--font-sans);
  --text-text-small: 400 14px/1.55 var(--font-sans);
  --text-text-footnote: 200 12px/1.5 var(--font-sans);
  --text-text-eyebrow: 400 12px/1.4 var(--font-sans);
}
.text-display {
  font-family: var(--font-sans);
  font-size: 72px;
  line-height: 1.02;
  font-weight: 400;
  letter-spacing: -0.02em;
}
.text-h1 {
  font-family: var(--font-sans);
  font-size: 48px;
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.015em;
}
.text-h2 {
  font-family: var(--font-sans);
  font-size: 34px;
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.01em;
}
.text-h3 {
  font-family: var(--font-sans);
  font-size: 24px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0em;
}
.text-lead {
  font-family: var(--font-sans);
  font-size: 20px;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0;
}
.text-body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  letter-spacing: 0;
}
.text-small {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.55;
  font-weight: 400;
  letter-spacing: 0;
}
.text-footnote {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 200;
  letter-spacing: 0;
}
.text-eyebrow {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.16em;
}
.body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  letter-spacing: 0;
}
@font-face {
  font-family: "Exo 2";
  src: url("assets/fonts/exo2-latin.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Exo 2";
  src: url("assets/fonts/exo2-latin-ext.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Exo 2";
  src: url("assets/fonts/exo2-latin-italic.woff2") format("woff2");
  font-weight: 200 800;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Exo 2";
  src: url("assets/fonts/exo2-latin-ext-italic.woff2") format("woff2");
  font-weight: 200 800;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "lucide";
  src: url("assets/icons/lucide.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
