@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=DM+Mono:wght@400;500&family=DM+Sans:wght@300;400;500;600&display=swap");*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--bg-base:#faf8f3;--bg-surface:#fff;--bg-elevated:#f2ede3;--bg-overlay:#ebe4d8;--bg-subtle:#fff9f0;--border-default:#e4ddd3;--border-strong:#cec6bb;--border-focus:#a09890;--text-primary:#1c1814;--text-secondary:#4a4540;--text-muted:#8a837a;--text-faint:#c4bdb5;--text-inverse:#fff;--accent:#d4470c;--accent-light:rgba(212,71,12,.08);--accent-mid:rgba(212,71,12,.18);--green:#1a7a4a;--green-bg:rgba(26,122,74,.07);--green-mid:rgba(26,122,74,.18);--amber:#b45309;--amber-bg:rgba(180,83,9,.07);--amber-mid:rgba(180,83,9,.15);--shadow-sm:0 2px 16px rgba(28,24,20,.07);--shadow-md:0 4px 16px rgba(28,24,20,.08);--shadow-lg:0 12px 56px rgba(28,24,20,.12);--shadow-xl:0 24px 64px rgba(28,24,20,.16);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--ease:cubic-bezier(0.16,1,0.3,1);--ease-back:cubic-bezier(0.34,1.56,0.64,1);--sidebar:220px}html{scroll-behavior:smooth}body,html{height:100%}body{font-family:DM Sans,sans-serif;font-size:13px;background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}@keyframes mountIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes heroIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes barGrow{0%{width:0}}@keyframes countUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}