:root {--ink: oklch(18% 0.03 255);--slate: oklch(42% 0.05 250);--white: oklch(100% 0 0);--text-xs: var(--text-xs);--text-xs-line-height: 1.45;--text-s: clamp(0.875rem, 0.84rem + 0.18vw, 0.9375rem);--text-s-line-height: 1.5;--text-m: clamp(1rem, 0.96rem + 0.2vw, 1.0625rem);--text-m-line-height: 1.55;--text-l: clamp(1.125rem, 1.04rem + 0.42vw, 1.25rem);--text-l-line-height: 1.45;--text-xl: var(--text-xl);--text-xl-line-height: 1.3;--text-xxl: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);--text-xxl-line-height: 1.15;--h1: var(--text-xxl);--h2: clamp(1.5rem, 1.18rem + 1.6vw, 2.25rem);--h3: clamp(1.3rem, 1.08rem + 1vw, 1.875rem);--h4: clamp(1.15rem, 1rem + 0.65vw, 1.5rem);--h5: var(--text-l);--h6: var(--text-m);--text-sm: var(--text-s);--text-base: var(--text-m);--text-lg: var(--text-l);--text-2xl: var(--h4);--text-3xl: var(--h3);--text-4xl: var(--h2);--text-5xl: var(--h1);--leading-tight: 1.2;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -0.02em;--tracking-normal: 0em;--tracking-wide: 0.04em;--tracking-wider: 0.08em;--space-xxs: clamp(0.25rem, 0.22rem + 0.15vw, 0.375rem);--space-xs: clamp(0.5rem, 0.42rem + 0.35vw, 0.75rem);--space-s: clamp(0.75rem, 0.62rem + 0.6vw, 1rem);--space-m: clamp(1rem, 0.84rem + 0.8vw, 1.5rem);--space-l: clamp(1.5rem, 1.18rem + 1.6vw, 2.25rem);--space-xl: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);--space-xxl: clamp(3rem, 2rem + 5vw, 5rem);--section-space-xxs: clamp(2rem, 1.45rem + 2.75vw, 3.25rem);--section-space-xs: clamp(2.75rem, 1.95rem + 4vw, 4.5rem);--section-space-s: clamp(3.5rem, 2.35rem + 5.75vw, 6rem);--section-space-m: clamp(4.5rem, 3rem + 7.5vw, 8rem);--section-space-l: clamp(6rem, 3.75rem + 11vw, 10rem);--section-space-xl: clamp(7.5rem, 4.5rem + 15vw, 13rem);--section-space-xxl: clamp(9rem, 5rem + 20vw, 16rem);--space-1: var(--space-xxs);--space-2: var(--space-xs);--space-3: var(--space-s);--space-4: var(--space-m);--space-5: calc(var(--space-m) * 1.25);--space-6: var(--space-l);--space-8: var(--space-xl);--space-10: calc(var(--space-xl) * 1.25);--space-12: var(--space-xxl);--space-16: var(--section-space-xs);--space-20: var(--section-space-s);--space-24: var(--section-space-m);--content-width: 1280px;--content-width-sm: 768px;--content-width-md: 1024px;--gutter: var(--space-l);--container-gap: var(--space-l);--content-gap: var(--space-m);--grid-gap: var(--space-l);--radius-xs: 2px;--radius-s: 4px;--radius-m: 8px;--radius-l: 16px;--radius-xl: 24px;--radius-full: 9999px;--radius-sm: var(--radius-s);--radius-md: var(--radius-m);--radius-lg: var(--radius-l);--shadow-s: 0 1px 2px oklch(0% 0 0 / 6%);--shadow-m: 0 4px 12px oklch(0% 0 0 / 8%);--shadow-l: 0 8px 24px oklch(0% 0 0 / 12%);--shadow-sm: var(--shadow-s);--shadow-md: var(--shadow-m);--shadow-lg: var(--shadow-l);--color-surface: var(--white);--color-text: var(--ink);--color-text-muted: var(--slate);--font-mono: ui-monospace, 'Cascadia Code', 'Fira Code', monospace;--navy: oklch(28% 0.10 265);--teal: oklch(43% 0.07 200);--amber: oklch(66% 0.14 67);--sand: oklch(93% 0.02 78);--font-heading: 'Fraunces', Georgia, serif;--font-body: 'DM Sans', system-ui, sans-serif;--color-primary: var(--navy);--color-secondary: var(--teal);--color-accent: var(--amber);--color-bg: var(--sand);--color-primary-ultra-light: color-mix(in oklch, var(--color-primary) 12%, white);--color-primary-light: color-mix(in oklch, var(--color-primary) 30%, white);--color-primary-medium: color-mix(in oklch, var(--color-primary) 72%, white);--color-primary-dark: color-mix(in oklch, var(--color-primary) 82%, black);--color-primary-ultra-dark: color-mix(in oklch, var(--color-primary) 68%, black);--color-primary-trans-10: color-mix(in oklch, var(--color-primary) 10%, transparent);--color-primary-trans-20: color-mix(in oklch, var(--color-primary) 20%, transparent);--color-primary-trans-40: color-mix(in oklch, var(--color-primary) 40%, transparent);--color-primary-trans-60: color-mix(in oklch, var(--color-primary) 60%, transparent);--color-primary-trans-80: color-mix(in oklch, var(--color-primary) 80%, transparent);--color-secondary-ultra-light: color-mix(in oklch, var(--color-secondary) 12%, white);--color-secondary-light: color-mix(in oklch, var(--color-secondary) 30%, white);--color-secondary-medium: color-mix(in oklch, var(--color-secondary) 72%, white);--color-secondary-dark: color-mix(in oklch, var(--color-secondary) 82%, black);--color-secondary-ultra-dark: color-mix(in oklch, var(--color-secondary) 68%, black);--color-secondary-trans-10: color-mix(in oklch, var(--color-secondary) 10%, transparent);--color-secondary-trans-20: color-mix(in oklch, var(--color-secondary) 20%, transparent);--color-secondary-trans-40: color-mix(in oklch, var(--color-secondary) 40%, transparent);--color-secondary-trans-60: color-mix(in oklch, var(--color-secondary) 60%, transparent);--color-secondary-trans-80: color-mix(in oklch, var(--color-secondary) 80%, transparent);--color-accent-ultra-light: color-mix(in oklch, var(--color-accent) 12%, white);--color-accent-light: color-mix(in oklch, var(--color-accent) 30%, white);--color-accent-medium: color-mix(in oklch, var(--color-accent) 72%, white);--color-accent-dark: color-mix(in oklch, var(--color-accent) 82%, black);--color-accent-ultra-dark: color-mix(in oklch, var(--color-accent) 68%, black);--color-accent-trans-10: color-mix(in oklch, var(--color-accent) 10%, transparent);--color-accent-trans-20: color-mix(in oklch, var(--color-accent) 20%, transparent);--color-accent-trans-40: color-mix(in oklch, var(--color-accent) 40%, transparent);--color-accent-trans-60: color-mix(in oklch, var(--color-accent) 60%, transparent);--color-accent-trans-80: color-mix(in oklch, var(--color-accent) 80%, transparent);--color-border: color-mix(in oklch, var(--sand) 60%, var(--slate));--color-border-light: color-mix(in oklch, var(--sand) 80%, var(--slate));}