@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Jost:wght@300;400;500;600&family=Tangerine:wght@400;700&display=swap";:root{--ink:#4a2c59;--primary:#9b6b9e;--primary-soft:#e8d5ec;--cream:#fff9fc;--gold:#d8a05b;--sage:#a8c3b4}html{scroll-behavior:smooth}.font-script{font-family:Tangerine,cursive}.font-serif{font-family:Cormorant Garamond,serif}.corner-wrap{pointer-events:none;z-index:0;width:250px;position:absolute}.corner-wrap img{opacity:.65;filter:hue-rotate(240deg)brightness(1.2)contrast(.9);width:100%;animation:5.5s ease-in-out infinite pulseZoom;display:block}.corner-tl{top:-18px;left:-18px;transform:scale(-1)}.corner-tr{top:-18px;right:-18px;transform:rotate(-90deg)}.corner-bl{bottom:-18px;left:-18px;transform:scaleX(-1)}.corner-br{bottom:-18px;right:-18px;transform:rotate(-90deg)scaleX(-1)}.corner-tl img{animation-delay:0s}.corner-tr img{animation-delay:1.2s}.corner-bl img{animation-delay:.6s}.corner-br img{animation-delay:1.8s}@keyframes pulseZoom{0%,to{transform:scale(1)}50%{transform:scale(1.09)}}.glass-panel{-webkit-backdrop-filter:blur(5px);z-index:10;background:#fff6;border:1px solid #ffffff80;border-radius:1.5rem;position:relative;box-shadow:0 8px 32px #9b6b9e1a}.divider-line{background:linear-gradient(90deg, transparent, var(--primary), transparent);height:1px}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(24px)}.reveal.opacity-100{opacity:1;transform:translateY(0)}.butterfly{opacity:.85;pointer-events:none;transform-style:preserve-3d;animation:linear infinite flutterFall;position:absolute;top:-10%}.butterfly-wing{transform-origin:50%;animation:.3s ease-in-out infinite alternate flap}.butterfly-wing-left{transform-origin:100%;animation:.3s ease-in-out infinite alternate flap-left}.butterfly-wing-right{transform-origin:0;animation:.3s ease-in-out infinite alternate flap-right}@keyframes flutterFall{0%{opacity:0;transform:translateY(0)translate(0)rotate(0)}10%{opacity:1}50%{transform:translateY(55vh)translate(30px)rotate(15deg)}90%{opacity:1}to{opacity:0;transform:translateY(110vh)translate(-20px)rotate(-15deg)}}@keyframes flap-left{0%{transform:rotateY(0)}to{transform:rotateY(60deg)}}@keyframes flap-right{0%{transform:rotateY(0)}to{transform:rotateY(-60deg)}}.btn-primary{background:var(--ink);color:var(--cream);transition:background .3s,transform .2s}.btn-primary:hover:not(:disabled){background:var(--primary);transform:translateY(-2px)}::selection{background:var(--primary-soft);color:var(--ink)}.photo-frame{flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:260px;height:auto;margin:0 auto;display:flex;position:relative}.photo-frame .corner-bottom{object-fit:contain;opacity:.8;z-index:10;filter:hue-rotate(240deg)brightness(1.2)contrast(.9);width:180px;height:auto;margin-top:-45px;animation:4s ease-in-out infinite cornerZoom;position:relative}.photo-frame .photo-ring{width:220px;height:280px;box-shadow:0 8px 24px #4a2c592e, 0 0 0 1px var(--primary-soft);background:var(--primary-soft)/40;z-index:2;border:3px solid #fff;border-radius:110px 110px 12px 12px;position:relative;overflow:hidden}@keyframes cornerZoom{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.anim-pulse{filter:hue-rotate(240deg)brightness(1.2)contrast(.9);animation:5.5s ease-in-out infinite pulseZoom}.anim-pulse-delay{filter:hue-rotate(240deg)brightness(1.2)contrast(.9);animation:5.5s ease-in-out 2s infinite pulseZoom}#bottomNav{left:50%;bottom:env(safe-area-inset-bottom,24px);z-index:50;-webkit-backdrop-filter:blur(16px);background:#ffffffbf;border:1px solid #ffffff80;border-radius:9999px;justify-content:space-around;align-items:center;width:calc(100% - 48px);max-width:360px;margin-bottom:24px;padding:12px 8px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 40px #4a2c5926}@media (width>=1024px){#bottomNav{left:auto;right:210px;transform:translate(50%)}}.nav-icon{color:#4a2c5973;flex-direction:column;align-items:center;gap:4px;width:44px;transition:all .3s;display:flex}.nav-icon svg{width:20px;height:20px}.nav-icon span{letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:500}.nav-icon.active{color:var(--ink);transform:translateY(-3px)}.hide-scrollbar::-webkit-scrollbar{display:none}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}.hide-scrollbar,html,body{-ms-overflow-style:none;scrollbar-width:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none}
