@font-face{font-family:DM Sans;src:url(/fonts/DMSans-VariableFont_opsz_wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/DMSans-Italic-VariableFont_opsz_wght.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/DMMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/DMMono-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/DMMono-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/DMMono-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}:root{--color-ink:#0d1f2d;--color-ink-muted:#3d5166;--color-ink-faint:#6b8399;--color-cream:#fafaf9;--color-cream-border:#e8e8e5;--color-cream-dark:#f0f0ee;--color-orange:#ff6b35;--color-orange-light:#fff0ea;--color-orange-dark:#c94a18;--color-sky:#b8d4e8;--color-sky-faint:#e8f3fa;--color-sky-dark:#2e7bae;--color-surface-dark:#1c3148;--bg-page:#e8f3fa;--bg-surface:#fff;--bg-surface-dark:var(--color-surface-dark);--text-heading:var(--color-ink);--text-body:var(--color-ink);--text-muted:var(--color-ink-muted);--text-faint:var(--color-ink-faint);--text-on-dark:var(--color-cream);--text-price:var(--color-orange);--border-default:#d4e9f5;--border-focus:var(--color-orange);--font-sans:"DM Sans",system-ui,sans-serif;--font-mono:"DM Mono","Courier New",monospace;--fw-regular:400;--fw-medium:500;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:12px;--radius-pill:20px;--shadow-card:0 2px 8px rgba(13,31,45,.07);--shadow-hover:0 8px 32px rgba(13,31,45,.1);--shadow-modal:0 8px 32px rgba(13,31,45,.18);--duration-color:150ms;--duration-enter:200ms;--ease-default:ease;--ease-out:ease-out}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font-sans);font-size:14px;font-weight:var(--fw-regular);line-height:1.7;color:var(--text-body);background:var(--bg-page);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}a{color:inherit}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}