:root{--color-primary: #1a365d;--color-primary-light: #2c5282;--color-primary-dark: #102a43;--color-accent: #3843d0;--color-accent-hover: #2a33a3;--color-accent-tint: #d1d9ff;--color-primary-rgb: 26, 54, 93;--color-accent-light: #667eea;--color-secondary: #0f172a;--color-bg: #fffbf7;--color-bg-subtle: #fdf8f2;--color-bg-alt: #f5ede3;--color-text: #2c2926;--color-text-light: #5c5854;--color-text-lighter: #8c8884;--color-link: var(--color-accent);--color-link-tint: #eef0fb;--color-success: #38a169;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 9999px;--gray-50: #f7fafc;--gray-100: #edf2f7;--gray-200: #e2e8f0;--gray-300: #cbd5e0;--gray-400: #a0aec0;--gray-500: #718096;--gray-600: #4a5568;--gray-700: #2d3748;--gray-800: #1a202c;--border: var(--gray-200);--shadow-xs: 0 1px 2px 0 rgba(16, 19, 18, .05);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .06);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .05);--shadow-float: 0 20px 25px -5px rgb(0 0 0 / .1), 0 10px 10px -5px rgb(0 0 0 / .04);--font-heading: "DM Sans", system-ui, sans-serif;--font-accent: "DM Serif Display", Georgia, serif;--text-display: clamp(2.25rem, 4vw, 3.25rem);--text-h2: clamp(1.875rem, 3vw, 2.5rem);--tracking-tight: -.02em;--font-body: "Inter", system-ui, sans-serif;--container-width: 1200px;--section-spacing: 6rem}@media(max-width:768px){:root{--section-spacing: 3.5rem}}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/material-symbols-outlined.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;font-feature-settings:"liga"}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600}h1 em,h2 em{font-family:var(--font-accent);font-style:italic;font-weight:400;letter-spacing:-.01em}#app{width:100%;min-height:100vh;display:flex;flex-direction:column;overflow-x:clip}button{cursor:pointer;border:none;background:none;font-family:inherit}.btn-primary,.btn-secondary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1.25rem;font-family:inherit;font-weight:600;font-size:.9375rem;line-height:1.2;border-radius:var(--radius-md);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .1s ease}.btn-primary:active,.btn-secondary:active,.btn-ghost:active{transform:scale(.98)}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover{background-color:var(--color-accent-hover);color:#fff}.btn-secondary{background-color:#fff;color:var(--color-text);border-color:var(--gray-200)}.btn-secondary:hover{border-color:var(--gray-400)}.btn-ghost{background-color:#1013120a;color:var(--color-text);border-color:#10131224}.btn-ghost:hover{background-color:#10131214;border-color:#10131238}.btn-inverse{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1.25rem;font-family:inherit;font-weight:600;font-size:.9375rem;line-height:1.2;border-radius:var(--radius-md);border:1px solid transparent;background-color:#fff;color:var(--color-secondary);text-decoration:none;cursor:pointer;transition:background-color .18s ease,transform .1s ease}.btn-inverse:hover{background-color:var(--gray-100);color:var(--color-secondary)}.btn-inverse:active{transform:scale(.98)}.btn-inverse:focus-visible{outline:2px solid #fff;outline-offset:3px}.btn-sm{min-height:40px;padding:0 1rem;font-size:.875rem}.btn-lg{min-height:48px;padding:0 1.5rem;font-size:1rem}.btn-block{width:100%}
