#page-flower{background:linear-gradient(180deg,#fff8fb,#ffe4ef);}
#page-flower .garden{position:relative;width:300px;height:350px;}
#page-flower .seed{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:18px;height:18px;background:#7a4b28;border-radius:50%;cursor:pointer;animation:pulse-flower 1.5s infinite;}
@keyframes pulse-flower{50%{transform:translateX(-50%) scale(1.3);}}
#page-flower .stem{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:8px;height:0;background:#2ecc71;border-radius:20px;transition:2s;}
#page-flower .rose{position:absolute;bottom:260px;left:50%;transform:translateX(-50%) scale(0);font-size:70px;transition:1s;}
#page-flower #message{margin-top:20px;width:80%;text-align:center;opacity:0;transition:1s;color:#ff2d75;}
#page-flower button{margin-top:30px;padding:15px 35px;border:none;border-radius:40px;background:#ff4d88;color:white;font-size:18px;display:none;cursor:pointer;}
#page-flower .rose{filter:drop-shadow(0 0 0 rgba(255,45,117,0));transition:filter 1s, transform 1s;}
#page-flower .rose.bloomed{filter:drop-shadow(0 0 18px rgba(255,45,117,.6));}
#page-flower .petal{position:absolute;top:-20px;pointer-events:none;animation:petal-fall linear forwards;}
@keyframes petal-fall{
  0%{transform:translateY(0) rotate(0deg);opacity:1;}
  100%{transform:translateY(370px) rotate(360deg);opacity:0;}
}
#page-flower .butterfly{position:absolute;top:40px;left:20%;font-size:28px;cursor:pointer;z-index:3;
  animation:butterfly-fly 5s ease-in-out infinite, butterfly-flap 0.4s ease-in-out infinite alternate;}
@keyframes butterfly-fly{
  0%{left:10%;top:60px;}25%{left:60%;top:20px;}50%{left:75%;top:90px;}75%{left:30%;top:110px;}100%{left:10%;top:60px;}
}
@keyframes butterfly-flap{from{transform:scaleX(1);}to{transform:scaleX(.7);}}
#page-flower .butterfly.caught{animation:butterfly-caught .5s forwards;pointer-events:none;}
@keyframes butterfly-caught{to{transform:scale(2) rotate(20deg);opacity:0;}}
#page-flower .butterfly-note{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:240px;
  background:white;color:#ff2d75;font-size:13px;font-weight:600;padding:12px 16px;border-radius:14px;
  box-shadow:0 10px 25px rgba(0,0,0,.2);text-align:center;z-index:4;animation:butterfly-note-in .4s ease;}
@keyframes butterfly-note-in{from{opacity:0;transform:translateX(-50%) translateY(-10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}

/* Premium responsive */
*{box-sizing:border-box}img,video{max-width:100%;height:auto}body{overflow-x:hidden}
.container{width:min(92%,1100px);margin:auto}
h1{font-size:clamp(2rem,5vw,4rem)}h2{font-size:clamp(1.5rem,4vw,3rem)}p{font-size:clamp(1rem,2vw,1.1rem)}
button,.btn{min-height:48px;padding:.8rem 1.4rem;border-radius:14px}
@media(max-width:768px){section{padding:60px 16px}}
