*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Jost,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes drawLine{0%{width:0}to{width:80px}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.fade-up{animation:fadeUp 1s ease both}.fade-in{animation:fadeIn 1.2s ease both}.slide-down{animation:slideDown .8s ease both}.draw-line{animation:drawLine 1s ease both}input,select,textarea{width:100%;padding:14px 0;border:none;border-bottom:1px solid hsla(39,46%,61%,.3);background:transparent;font-family:Jost,sans-serif;font-size:16px;color:#3a3a3a;outline:none;transition:border-color .3s ease}input:focus,select:focus,textarea:focus{border-bottom-color:#8b7355}input::placeholder,textarea::placeholder{color:#bbb;font-weight:300}.gallery-img{transition:transform .6s ease,filter .6s ease}.gallery-img:hover{transform:scale(1.03);filter:brightness(1.05)}.envelope-overlay{animation:fadeIn .6s ease both}.envelope-exit{animation:envelopeFade 1.2s ease .4s both}@keyframes envelopeFade{0%{opacity:1}to{opacity:0;transform:scale(1.05)}}.seal-pulse{animation:sealPulse 2s ease-in-out infinite}@keyframes sealPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.seal-break{animation:sealBreak .6s ease both}@keyframes sealBreak{0%{transform:scale(1);opacity:1}40%{transform:scale(1.2);opacity:.9}to{transform:scale(0);opacity:0}}.envelope-flap{transition:transform .8s ease}.flap-open{transform:rotateX(180deg)}.seal-hint{animation:hintPulse 2.5s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.8}50%{opacity:.4}}.music-btn{transition:all .3s ease}.music-btn:hover{transform:scale(1.1)}.music-btn-playing{animation:musicPulse 2s ease-in-out infinite}@keyframes musicPulse{0%,to{box-shadow:0 2px 12px rgba(0,0,0,.08)}50%{box-shadow:0 2px 20px rgba(0,0,0,.15)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-rtl{0%{transform:translate(0)}to{transform:translate(50%)}}.animate-marquee{animation:marquee 30s linear infinite}[dir=rtl] .animate-marquee{animation:marquee-rtl 30s linear infinite}.animate-marquee:hover{animation-play-state:paused}.confetti-piece{position:absolute;top:-14px;width:8px;height:12px;border-radius:2px;opacity:0;animation-name:confettiFall;animation-timing-function:cubic-bezier(.2,.9,.25,1);animation-fill-mode:forwards}@keyframes confettiFall{0%{transform:translate3d(0,-20px,0) rotate(0deg);opacity:0}12%{opacity:1}to{transform:translate3d(0,105vh,0) rotate(560deg);opacity:0}}