#page-final{background:#09111f;color:white;position:relative;}
#page-final .stars{position:absolute;inset:0;overflow:hidden;z-index:0;}
#page-final .stars .star{position:absolute;width:2px;height:2px;background:white;border-radius:50%;animation:twinkle-final ease-in-out infinite;}
@keyframes twinkle-final{0%,100%{opacity:.2;transform:scale(1);}50%{opacity:1;transform:scale(1.8);}}
#page-final .shooting-star{position:absolute;width:3px;height:3px;background:white;border-radius:50%;
  box-shadow:0 0 6px 2px rgba(255,255,255,.8);animation:shooting-fly 1.5s linear forwards;}
#page-final .shooting-star::before{content:"";position:absolute;top:0;left:0;width:80px;height:1px;
  background:linear-gradient(to left,rgba(255,255,255,.9),transparent);transform:translateX(-80px) rotate(0deg);}
@keyframes shooting-fly{0%{transform:translate(0,0);opacity:1;}100%{transform:translate(-260px,180px);opacity:0;}}
#page-final .achievement-tally{position:relative;z-index:1;margin-top:16px;font-size:13px;color:#ffd6e8;
  text-align:center;animation:final-secret-in .6s ease;}
#page-final #title, #page-final #heart, #page-final #finalMessage, #page-final button{position:relative;z-index:1;}
#page-final #title{opacity:0;animation:fade-final 2s forwards;text-align:center;padding:0 20px;}
@keyframes fade-final{to{opacity:1;}}

#page-final #heart{position:relative;width:312px;height:312px;margin-top:40px;animation:heartbeat-final 2s infinite;}
#page-final #heart .photo-tile{position:absolute;overflow:hidden;box-sizing:border-box;width:56px;height:56px;border-radius:14px;box-shadow:0 0 12px rgba(255,255,255,.4);transition:1.4s ease;display:flex;align-items:center;justify-content:center;font-size:20px;border:2px solid white;}
#page-final #heart .photo-tile img{width:100%;height:100%;object-fit:cover;display:block;}
#page-final #heart .photo-tile:hover{transform:scale(1.15) !important;box-shadow:0 0 20px hotpink;z-index:2;}
@keyframes heartbeat-final{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,45,117,0));}50%{transform:scale(1.05);filter:drop-shadow(0 0 30px rgba(255,45,117,.5));}}
@media(max-width:420px){#page-final #heart{transform:scale(.85);margin-top:10px;}}

#page-final #finalMessage{width:80%;text-align:center;margin-top:35px;font-size:20px;min-height:100px;}
#page-final button{margin-top:30px;padding:15px 35px;border:none;border-radius:40px;background:#ff2d75;color:white;font-size:18px;display:none;cursor:pointer;}
#page-final .final-secret{width:75%;text-align:center;margin-top:14px;font-size:14px;font-style:italic;
  color:#ffd6e8;animation:final-secret-in .5s ease;}
#page-final .final-secret.hidden{display:none;}
@keyframes final-secret-in{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
#page-final #heart{cursor:pointer;}

/* 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}}
