*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#f4faf6;color:#1a3028;font-family:Amiri,serif;overflow-x:hidden}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes floatGentle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes countPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes sealGlow{0%,to{box-shadow:0 0 #63964473,0 8px 32px #0003}50%{box-shadow:0 0 0 18px #63964400,0 8px 32px #0003}}@keyframes sealHover{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes sealBreak{0%{transform:scale(1) rotate(0);opacity:1;filter:none}10%{transform:scale(1.1) rotate(-5deg)}22%{transform:scale(1.18) rotate(4deg)}38%{transform:scale(1.12) rotate(-3deg);opacity:1}58%{transform:scale(1.55) rotate(7deg);opacity:.55;filter:blur(.5px)}to{transform:scale(2.8) rotate(15deg);opacity:0;filter:blur(3px)}}@keyframes crackAppear{0%{opacity:0}20%{opacity:1}65%{opacity:.9}to{opacity:0}}@keyframes flapFront{0%{transform:scaleY(1);opacity:1;filter:drop-shadow(0 6px 18px rgba(0,0,0,.22))}8%{transform:scaleY(.91);opacity:1;filter:drop-shadow(0 10px 26px rgba(0,0,0,.28))}28%{transform:scaleY(.62);opacity:1;filter:drop-shadow(0 14px 30px rgba(0,0,0,.24))}58%{transform:scaleY(.2);opacity:.85;filter:drop-shadow(0 8px 18px rgba(0,0,0,.16))}80%{transform:scaleY(.04);opacity:.3;filter:none}to{transform:scaleY(0);opacity:0;filter:none}}@keyframes flapBack{0%{transform:scaleY(1);opacity:0}50%{transform:scaleY(.22);opacity:0}62%{transform:scaleY(.14);opacity:.55}78%{transform:scaleY(.04);opacity:.25}to{transform:scaleY(0);opacity:0}}@keyframes envelopeOpen{0%{transform:perspective(800px) rotateX(0)}20%{transform:perspective(800px) rotateX(-30deg)}to{transform:perspective(800px) rotateX(-180deg)}}@keyframes sealPop{0%{transform:translate(-50%,-50%) scale(1);opacity:1}30%{transform:translate(-50%,-50%) scale(1.45);opacity:1}60%{transform:translate(-50%,-50%) scale(.65);opacity:.5}to{transform:translate(-50%,-50%) scale(0);opacity:0}}@keyframes letterRise{0%{transform:translateY(60px) scale(.9);opacity:0}30%{opacity:1}70%{transform:translateY(-30px) scale(1.02)}to{transform:translateY(-24px) scale(1);opacity:1}}@keyframes whiteReveal{0%{opacity:0}to{opacity:1}}@keyframes envelopeSettle{0%{transform:scale(1)}40%{transform:scale(1.03)}to{transform:scale(1.01)}}@keyframes petalDrift{0%{opacity:0;transform:translateY(0) rotate(0)}20%{opacity:.7}80%{opacity:.3}to{opacity:0;transform:translateY(-110px) rotate(30deg)}}@keyframes dividerExpand{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes nameReveal{0%{opacity:0;transform:translateY(36px) scale(.9);filter:blur(6px)}55%{filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes nameShimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes cardRise{0%{transform:translateY(40px) scale(.93);opacity:0}15%{opacity:1}60%{transform:translateY(-100px) scale(1.015)}80%{transform:translateY(-80px) scale(1.003)}to{transform:translateY(-90px) scale(1);opacity:1}}
