:root{--primary:#191970;--primary-hover:#2525a7;--primary-dark:#11114b;--primary-subtle:#eeeefb;--secondary:#11114b;--container-prose:62rem;--primary-400:#4A4AC9;--primary-300:#9292E7;--secondary-hover:#3D3D70;--secondary-subtle:#E8E8F0;--accent:#3B82F6;--accent-hover:#2563EB;--accent-subtle:#DBEAFE;--white:#FFFFFF;--grey-50:#f6f6f9;--grey-100:#f0f0f5;--grey-200:#e1e1ea;--grey-300:#d0d0dc;--grey-400:#a3a3b8;--grey-500:#70708f;--grey-600:#54546d;--grey-700:#3d3d51;--grey-800:#2b2b3b;--grey-900:#1b1b27;--black:#030315;--text-heading:var(--black);--text-body:var(--black);--text-muted:var(--grey-600);--text-light:var(--grey-100);--text-link:var(--primary);--text-link-hover:var(--primary-hover);--bg-page:var(--white);--bg-surface:var(--grey-100);--bg-surface-alt:var(--grey-50);--bg-card:var(--white);--bg-input:var(--white);--bg-elevated:var(--white);--bg-dark:#050527;--bg-primary:var(--primary);--bg-overlay:rgba(23, 23, 54, 0.6);--border-default:var(--grey-300);--border-strong:var(--grey-300);--border-focus:var(--primary);--success:#22C55E;--success-subtle:#DCFCE7;--success-dark:#166534;--warning:#F59E0B;--warning-subtle:#FEF3C7;--warning-dark:#92400E;--error:#EF4444;--error-subtle:#FEE2E2;--error-dark:#991B1B;--info:#3B82F6;--info-subtle:#DBEAFE;--info-dark:#1E40AF;--font-base:'Work Sans', system-ui, -apple-system, sans-serif;--font-heading:'Work Sans', system-ui, -apple-system, sans-serif;--font-mono:'JetBrains Mono', 'Fira Code', monospace;--text-xs:clamp(1.2rem, 1.152rem + 0.15vw, 1.3rem);--text-sm:clamp(1.3rem, 1.248rem + 0.2vw, 1.4rem);--text-base:clamp(1.5rem, 1.44rem + 0.2vw, 1.6rem);--text-md:clamp(1.6rem, 1.52rem + 0.25vw, 1.8rem);--text-lg:clamp(1.8rem, 1.68rem + 0.4vw, 2rem);--text-xl:clamp(2rem, 1.76rem + 0.75vw, 2.4rem);--text-2xl:clamp(2.4rem, 2.08rem + 1vw, 3rem);--text-3xl:clamp(3rem, 2.48rem + 1.6vw, 4rem);--text-4xl:clamp(3.6rem, 2.88rem + 2.25vw, 5.2rem);--text-5xl:clamp(4.4rem, 3.36rem + 3.25vw, 6.8rem);--text-6xl:clamp(5.2rem, 3.84rem + 4.25vw, 8.8rem);--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--leading-none:1;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--leading-loose:2;--tracking-tighter:-0.04em;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.05em;--tracking-wider:0.1em;--tracking-widest:0.15em;--space-3xs:clamp(0.4rem, 0.352rem + 0.15vw, 0.6rem);--space-2xs:clamp(0.6rem, 0.528rem + 0.2vw, 0.8rem);--space-xs:clamp(0.8rem, 0.72rem + 0.25vw, 1.2rem);--space-s:clamp(1.2rem, 1.04rem + 0.5vw, 1.6rem);--space-m:clamp(1.6rem, 1.36rem + 0.75vw, 2.4rem);--space-l:clamp(2.4rem, 1.92rem + 1.5vw, 4rem);--space-xl:clamp(3.2rem, 2.4rem + 2.5vw, 5.6rem);--space-2xl:clamp(4.8rem, 3.52rem + 4vw, 8rem);--space-3xl:clamp(6.4rem, 4.8rem + 5vw, 11.2rem);--section-xs:var(--space-l);--section-s:var(--space-xl);--section-m:var(--space-2xl);--section-l:var(--space-3xl);--container-width:120rem;--container-narrow:88rem;--container-wide:128rem;--container-full:100%;--container-gutter:var(--space-m);--radius-xs:0.4rem;--radius-s:0.6rem;--radius-m:0.8rem;--radius-l:1.2rem;--radius-xl:1.6rem;--radius-2xl:2.4rem;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-s:0 1px 3px rgba(0,0,0,0.08);--shadow-m:0 4px 12px rgba(0,0,0,0.1);--shadow-l:0 8px 30px rgba(0,0,0,0.12);--shadow-xl:0 20px 50px rgba(0,0,0,0.15);--shadow-inner:inset 0 2px 4px rgba(0,0,0,0.06);--ease-fast:0.15s ease;--ease:0.2s cubic-bezier(0.4, 0, 0.2, 1);--ease-slow:0.4s cubic-bezier(0.4, 0, 0.2, 1);--ease-bounce:0.4s cubic-bezier(0.34, 1.56, 0.64, 1);--z-dropdown:100;--z-sticky:200;--z-offcanvas:300;--z-modal:400;--z-toast:500;--z-skip:9999;--h-screen:100vh;--h-dvh:100dvh;--h-full:100%;--flex-1:1;--header-height:8rem;--size-1:clamp(0.8rem, 0.75rem + 0.15vw, 1rem);--size-1-5:clamp(1.2rem, 1.12rem + 0.25vw, 1.5rem);--size-2:clamp(1.6rem, 1.5rem + 0.35vw, 2rem);--size-2-5:clamp(2rem, 1.88rem + 0.4vw, 2.5rem);--size-3:clamp(2.4rem, 2.25rem + 0.5vw, 3rem);--size-4:clamp(3.2rem, 3rem + 0.75vw, 4rem);--size-5:clamp(4rem, 3.7rem + 0.9vw, 5rem);--size-6:clamp(4.8rem, 4.5rem + 1vw, 6rem);--size-8:clamp(6.4rem, 6rem + 1.5vw, 8rem);--size-10:clamp(8rem, 7.5rem + 1.75vw, 10rem);--size-12:clamp(9.6rem, 9rem + 2vw, 12rem);--size-16:clamp(12.8rem, 12rem + 3vw, 16rem);--size-20:clamp(16rem, 15rem + 3.5vw, 20rem);--size-24:clamp(19.2rem, 18rem + 4vw, 24rem);--size-32:clamp(25.6rem, 24rem + 5.5vw, 32rem);--bg-section:var(--grey-100)}