:root{--cream: #fdf6f0;--ivory: #faf0e8;--petal: #fae0e4;--blush: #f5c8ce;--blush-soft: #fae4df;--rose: #eaa4ae;--peach: #f5c8b0;--rose-gold: #c08878;--deep-rose: #9e4c56;--plum: #5a2030;--sage: #a8b5a0;--sage-light: #e3ead9;--ink: #2a1a18;--ink-soft: #5a4038;--muted: #a08478;--border: rgba(42, 26, 24, .12);--border-soft: rgba(42, 26, 24, .06);--text-primary: #2a1a18;--text-secondary: #5a4038;--text-muted: #a08478;--white: #ffffff;--footer-bg: #1a0e0b;--footer-text: #fdf6f0}[data-theme=dark]{--cream: #14100e;--ivory: #1f1814;--petal: #2a1816;--blush: #3a1f22;--blush-soft: #28181a;--rose: #8a4a4a;--peach: #8a5040;--rose-gold: #e0a890;--deep-rose: #f09090;--plum: #f0a8b8;--sage: #9aab92;--sage-light: #1e241a;--ink: #f4e0d4;--ink-soft: #d4b8a8;--muted: #a08878;--border: rgba(240, 220, 208, .16);--border-soft: rgba(240, 220, 208, .08);--text-primary: #f4e0d4;--text-secondary: #d4b8a8;--text-muted: #a08878;--white: #1c1410;--footer-bg: #0e0806;--footer-text: #f4e0d4}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,DM Sans,sans-serif;background-color:var(--cream);color:var(--text-primary);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased;transition:background-color .3s,color .3s;position:relative;overflow-x:hidden}.glass{background:#ffffff8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(245,213,218,.4);border-radius:20px}h1,h2,h3,h4{font-family:Cormorant Garamond,serif;font-weight:300;line-height:1.1;letter-spacing:-.02em}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background-color:var(--blush);color:var(--text-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--rose);border-radius:3px}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:linear-gradient(90deg,var(--rose-gold),var(--plum));z-index:300;transition:width .1s linear;pointer-events:none}.back-to-top{position:fixed;bottom:2rem;right:2rem;z-index:200;width:48px;height:48px;border-radius:50%;background:var(--text-primary);color:var(--cream);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #3a28204d;opacity:0;transform:translateY(12px) scale(.9);transition:opacity .3s,transform .3s,background .3s;pointer-events:none}.back-to-top.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.back-to-top:hover{background:var(--plum);transform:translateY(-3px) scale(1.05)}.btt-ring{position:absolute;top:0;left:0;pointer-events:none}.btt-ring-fill{transition:stroke-dashoffset .1s linear}.btt-arrow{position:relative;z-index:1}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal-left{opacity:0;transform:translate(-32px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal-right{opacity:0;transform:translate(32px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal-scale{opacity:0;transform:scale(.94);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal.is-visible,.reveal-left.is-visible,.reveal-right.is-visible,.reveal-scale.is-visible{opacity:1;transform:translate(0) scale(1)}.stagger>*{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.stagger.is-visible>*:nth-child(1){opacity:1;transform:translateY(0);transition-delay:.05s}.stagger.is-visible>*:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.15s}.stagger.is-visible>*:nth-child(3){opacity:1;transform:translateY(0);transition-delay:.25s}.stagger.is-visible>*:nth-child(4){opacity:1;transform:translateY(0);transition-delay:.35s}.stagger.is-visible>*:nth-child(5){opacity:1;transform:translateY(0);transition-delay:.45s}.stagger.is-visible>*:nth-child(6){opacity:1;transform:translateY(0);transition-delay:.55s}.stagger.is-visible>*:nth-child(7){opacity:1;transform:translateY(0);transition-delay:.65s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.reveal-left,.reveal-right,.reveal-scale,.stagger>*{opacity:1!important;transform:none!important}body:before,body:after{animation:none!important}}
