*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f6efe2;--cream-deep:#efe5d2;--cream-mid:#f0e8d8;--paper:#fff;--ink:#0f0f10;--ink-80:#2a2a2c;--ink-60:#545458;--ink-40:#8a8a8f;--ink-20:#c8c2b4;--line:#0f0f1014;--rose:#ff4d6d;--rose-deep:#e0254b;--rose-soft:#ffd9e0;--blush:#ff8fa3;--orange:#ff6b1a;--orange-deep:#e55600;--purple:#8b5cf6;--purple-ink:#5b21b6;--purple-soft:#f1e7ff;--gold:#b8893e;--gold-soft:#f5e6c8;--teal:#0e9f7e;--amber:#e8a33a;--serif:"Fraunces", "Instrument Serif", Georgia, serif;--sans:"Inter", -apple-system, system-ui, sans-serif;--r-sm:10px;--r-md:16px;--r-lg:22px;--r-xl:28px;--r-full:999px;--shadow-card:0 1px 2px #0f0f100a, 0 8px 24px #0f0f1012;--shadow-lift:0 2px 4px #0f0f100f, 0 12px 32px #0f0f101a;--shadow-float:0 8px 24px #0f0f101a, 0 32px 64px #0f0f1014}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{width:100%}button{font-family:var(--sans);cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream-deep)}::-webkit-scrollbar-thumb{background:var(--ink-20);border-radius:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-10px)rotate(1.5deg)}66%{transform:translateY(-5px)rotate(-1deg)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes orbPulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.6;transform:scale(1.18)}}@keyframes particleRise{0%{opacity:0;transform:translate(var(--px,0), 0) scale(.4)}20%{opacity:.8}80%{opacity:.4}to{opacity:0;transform:translate(var(--px,0), var(--py,-200px)) scale(1.2)}}@keyframes dotBounce{0%,60%,to{opacity:.4;transform:scale(.6)}30%{opacity:1;transform:scale(1)}}@keyframes ringFill{0%{stroke-dashoffset:440px}to{stroke-dashoffset:var(--offset,110)}}@keyframes shimmerSlide{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.reveal{opacity:0;transition:opacity .75s cubic-bezier(.2,.8,.3,1),transform .75s cubic-bezier(.2,.8,.3,1);transform:translateY(28px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:opacity .75s cubic-bezier(.2,.8,.3,1),transform .75s cubic-bezier(.2,.8,.3,1);transform:translate(-32px)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transition:opacity .75s cubic-bezier(.2,.8,.3,1),transform .75s cubic-bezier(.2,.8,.3,1);transform:translate(32px)}.reveal-right.visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transition:opacity .75s cubic-bezier(.2,.8,.3,1),transform .75s cubic-bezier(.2,.8,.3,1);transform:scale(.9)}.reveal-scale.visible{opacity:1;transform:scale(1)}
