:root{--color-bg:#faf7f4;--color-bg-card:#fff;--color-bg-hover:#f5f0eb;--color-burgundy:#741616;--color-burgundy-light:#9a2020;--color-burgundy-soft:#fdf0f0;--color-taupe:#b58270;--color-taupe-light:#c9a090;--color-cream:#f2ece3;--color-cream-deep:#ebe3d6;--color-text:#1a1a1a;--color-text-dim:#7a6e68;--color-border:#e8e0d8;--color-border-light:#f0ebe4;--font-header:"Playfair Display", serif;--font-body:"Lato", sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--ease-soft:cubic-bezier(.4, 0, .2, 1);--shadow-xs:0 1px 2px #4a26160a;--shadow-sm:0 1px 2px #4a26160a, 0 2px 6px #4a26160a;--shadow-md:0 2px 4px #4a26160a, 0 6px 16px #4a26160f;--shadow-lg:0 4px 8px #4a26160d, 0 16px 40px #4a261614;--shadow-burgundy:0 2px 8px #7416162e, 0 8px 20px #7416161f;--shadow-toast:0 4px 12px #4a261614, 0 16px 40px #4a26161f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px}*{box-sizing:border-box}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:1rem;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-header);color:var(--color-text);letter-spacing:-.01em}h1{line-height:1.15}h3{line-height:1.3}button{transition:transform .16s var(--ease-out), background-color .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);will-change:transform;font-family:inherit}button:not(:disabled):active{transform:scale(.97)}button:focus-visible{outline:2px solid var(--color-burgundy);outline-offset:2px;border-radius:6px}button:disabled{cursor:not-allowed;opacity:.6}a{transition:color .18s var(--ease-out)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border:2px solid var(--color-bg);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-taupe-light)}::selection{background:var(--color-burgundy);color:#fff}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger>*{opacity:0;animation:fadeUp .36s var(--ease-out) forwards}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:50ms}.stagger>:nth-child(3){animation-delay:.1s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.2s}.stagger>:nth-child(6){animation-delay:.25s}.stagger>:nth-child(7){animation-delay:.3s}.stagger>:nth-child(8){animation-delay:.35s}.stagger>:nth-child(9){animation-delay:.4s}.stagger>:nth-child(10){animation-delay:.45s}.stagger>:nth-child(n+11){animation-delay:.5s}.fade-in{opacity:0;animation:fadeUp .32s var(--ease-out) forwards}@keyframes shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}.skeleton{background:linear-gradient(90deg, var(--color-bg) 0%, var(--color-cream) 50%, var(--color-bg) 100%);border-radius:var(--radius-sm);background-size:800px 100%;animation:1.4s linear infinite shimmer}.lift-on-hover{transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out)}@media (hover:hover) and (pointer:fine){.lift-on-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}}@keyframes toastSlide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast-enter{animation:toastSlide .28s var(--ease-out) forwards}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.stagger>*,.fade-in{opacity:1}}
