:root{--paper-white:#fdfbf7;--paper-cream:#f5f0e6;--paper-yellow:#f2e8c9;--ink-dark:#2c2418;--ink-medium:#5a4f3e;--ink-light:#8c7e6a;--accent-warm:#c4956a;--accent-gold:#d4a853;--accent-rose:#c48b7c;--glass-bg:#fdfbf7b8;--glass-border:#c2b29659;--shadow-soft:0 8px 32px #2c241814;--shadow-card:0 2px 16px #2c24180f, 0 0 0 1px #c2b2962e;--font-body:"Outfit", system-ui, -apple-system, sans-serif;--font-display:"Playfair Display", Georgia, serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:4rem;--space-2xl:8rem;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--transition-smooth:.6s var(--ease-out-expo)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);color:var(--ink-dark);background-color:var(--paper-white);min-height:100vh;line-height:1.6;overflow-x:hidden}#root{width:100%;min-height:100vh;position:relative}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.2}a{color:var(--accent-warm);text-decoration:none;transition:color .3s}a:hover{color:var(--accent-gold)}::selection{background:var(--accent-gold);color:var(--paper-white)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--paper-cream)}::-webkit-scrollbar-thumb{background:var(--ink-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--ink-medium)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loader-screen{z-index:1000;background-color:var(--paper-white);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.loader-butterfly-wrapper{justify-content:center;align-items:center;width:200px;height:200px;display:flex;position:relative}.loader-butterfly{filter:drop-shadow(0 4px 12px #c4956a4d);width:120px;height:120px}.loader-butterfly .left-wing{transform-origin:50%;animation:.4s ease-in-out infinite alternate flapLeft}.loader-butterfly .right-wing{transform-origin:50%;animation:.4s ease-in-out infinite alternate flapRight}@keyframes flapLeft{0%{transform:rotateY(0)skewY(0)}to{transform:rotateY(50deg)skewY(-5deg)}}@keyframes flapRight{0%{transform:rotateY(0)skewY(0)}to{transform:rotateY(-50deg)skewY(5deg)}}.loader-butterfly-float{animation:2s ease-in-out infinite floatButterfly}@keyframes floatButterfly{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-15px)rotate(2deg)}}.loader-flower{opacity:.5;width:60px;height:80px;position:absolute;bottom:-30px}.loader-extra-flower{position:absolute}.loader-extra-flower .loader-flower{position:static}.loader-extra-flower-1{opacity:.35;top:-40px;left:-60px;transform:rotate(-25deg)}.loader-extra-flower-1 .loader-flower{width:35px;height:50px}.loader-extra-flower-2{opacity:.4;top:-20px;right:-70px;transform:rotate(18deg)}.loader-extra-flower-2 .loader-flower{width:45px;height:65px}.loader-extra-flower-3{opacity:.3;bottom:-50px;left:-45px;transform:rotate(-10deg)}.loader-extra-flower-3 .loader-flower{width:30px;height:45px}.loader-extra-flower-4{opacity:.25;bottom:-35px;right:-55px;transform:rotate(30deg)}.loader-extra-flower-4 .loader-flower{width:50px;height:70px}.loader-text{margin-top:var(--space-lg);font-family:var(--font-display);color:var(--ink-light);letter-spacing:.15em;text-transform:lowercase;font-size:1.1rem;font-style:italic}.loader-dots span{animation:1.4s ease-in-out infinite dotPulse;display:inline-block}.loader-dots span:nth-child(2){animation-delay:.2s}.loader-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.2}40%{opacity:1}}.loader-bg-circle{border:1px solid var(--glass-border);opacity:.3;border-radius:50%;position:absolute}.loader-bg-circle:first-child{width:300px;height:300px;animation:3s ease-in-out infinite pulseCircle}.loader-bg-circle:nth-child(2){width:500px;height:500px;animation:3s ease-in-out .5s infinite pulseCircle}@keyframes pulseCircle{0%,to{opacity:.15;transform:scale(.95)}50%{opacity:.3;transform:scale(1.05)}}.lightbox-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);cursor:pointer;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-close{width:40px;height:40px;color:var(--ink-light,#8c7e6a);cursor:pointer;z-index:10;background:#2c241873;border:1.5px solid #8c7e6a80;border-radius:50%;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:background .25s,color .25s,transform .25s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{color:var(--paper-white,#fdfbf7);background:#2c2418b3;transform:scale(1.1)}.lightbox-image-container{cursor:default;touch-action:pan-y;justify-content:flex-start;align-items:center;width:90vw;display:flex;position:relative;overflow:hidden}.lightbox-track{will-change:transform;align-items:center;height:100%;display:flex}.lightbox-slide{flex:0 0 90vw;justify-content:center;align-items:center;width:90vw;height:80vh;display:flex}.lightbox-slide img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;border-radius:6px;max-width:100%;max-height:100%}.lightbox-dots{cursor:default;justify-content:center;align-items:center;gap:8px;margin-top:20px;display:flex}.lightbox-dot{cursor:pointer;width:8px;height:8px;transition:all .3s var(--ease-out-expo,cubic-bezier(.16, 1, .3, 1));background:#8c7e6a66;border:none;border-radius:50%;padding:0}.lightbox-dot.active{background:var(--accent-gold,#d4a853);width:12px;height:12px;box-shadow:0 0 8px #d4a85366}.lightbox-dot:hover:not(.active){background:#8c7e6ab3;transform:scale(1.15)}.lightbox-nav-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:48px;height:48px;color:var(--paper-white,#fdfbf7);cursor:pointer;z-index:100;background:#fdfbf71a;border:1px solid #fdfbf733;border-radius:50%;justify-content:center;align-items:center;padding-bottom:4px;font-size:28px;transition:background .2s,opacity .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav-btn:hover:not(:disabled){background:#fdfbf740;transform:translateY(-50%)scale(1.1)}.lightbox-nav-btn:disabled{opacity:.3;cursor:default}.lightbox-nav-btn.prev{left:clamp(10px,4vw,40px)}.lightbox-nav-btn.next{right:clamp(10px,4vw,40px)}.app-wrapper{width:100%;height:100vh;position:relative;overflow:hidden}.canvas-container{z-index:0;position:fixed;inset:0}
