*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#07070b;color:#f6edf1;font-family:Inter,Arial,sans-serif}body{background:radial-gradient(circle at 50% 25%,#21101a 0,#0c0910 38%,#050508 100%)}.bg{position:fixed;inset:0;background-image:radial-gradient(#fff 1px,transparent 1px),radial-gradient(#d77794 1px,transparent 1px);background-size:115px 115px,190px 190px;background-position:20px 10px,80px 70px;opacity:.12}.progress{position:fixed;top:24px;left:50%;transform:translateX(-50%);width:min(380px,70vw);z-index:5;color:#756b74;font-size:10px;letter-spacing:.2em;text-align:center}.bar{height:2px;background:#282129;margin-top:8px}.bar i{display:block;width:14%;height:100%;background:#d65b79;transition:.6s}.slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:55px 25px;opacity:0;transform:scale(.97) translateY(15px);pointer-events:none;transition:.7s ease}.slide.active{opacity:1;transform:none;pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:#a8939d;margin:0 0 22px}.sub{color:#a79ba3;line-height:1.8;max-width:520px;margin:22px auto 30px}h1,h2{font-family:"Cormorant Garamond",serif;font-weight:600;line-height:.9;margin:0}h1{font-size:clamp(75px,14vw,150px);letter-spacing:-.06em}h1 em,h2 em{color:#e56f8d;font-style:italic}h2{font-size:clamp(48px,7vw,88px)}button{border:0;border-radius:999px;padding:14px 25px;background:linear-gradient(135deg,#bd4163,#ed7893);color:#fff;font-weight:600;cursor:pointer;box-shadow:0 10px 35px #a238571f;transition:.25s}button:hover{transform:translateY(-3px);box-shadow:0 14px 40px #d85d7a35}.ghost{background:#111016;border:1px solid #39303a;color:#d9cbd1;box-shadow:none}.glow{position:absolute;width:350px;height:350px;border-radius:50%;background:#a6385d18;filter:blur(40px);z-index:-1}.monkey{position:absolute;font-size:52px;filter:drop-shadow(0 12px 20px #0008);animation:float 4s ease-in-out infinite}.m1{left:11%;bottom:17%}.m2{right:12%;top:20%;animation-delay:1s}@keyframes float{50%{transform:translateY(-14px) rotate(5deg)}}.card{width:min(720px,92vw);padding:65px 45px;border:1px solid #2e2630;border-radius:28px;background:linear-gradient(145deg,#15121aee,#0b0a0fee);box-shadow:0 30px 100px #0009;position:relative}.corner{color:#e36d89;font-size:25px;margin-bottom:18px}.card p:not(.eyebrow){color:#aaa0a7;line-height:1.9;max-width:510px;margin:25px auto 32px}.split{display:grid;grid-template-columns:1fr 1fr;gap:35px;text-align:left;align-items:center}.split .eyebrow{text-align:left}.split h2{font-size:clamp(45px,6vw,75px)}.note{border-left:1px solid #45323a;padding:25px;color:#b7aab1;line-height:1.9}.mini{text-align:right;font-size:45px;margin-top:25px}.outside{position:absolute;bottom:13%}.polaroids{display:flex;justify-content:center;gap:12px;margin:22px 0 35px}.polaroids div{width:85px;height:105px;background:#17131a;border:1px solid #3c3037;display:flex;align-items:center;justify-content:center;color:#e46c89;font-size:35px;transform:rotate(-7deg);box-shadow:0 15px 30px #0008}.polaroids div:nth-child(2){transform:rotate(5deg);background:#21151c}.polaroids div:nth-child(3){transform:rotate(-2deg)}.envelope-wrap{width:100%}.envelope{width:270px;height:175px;background:#a83e5d;border-radius:8px;margin:30px auto;position:relative;box-shadow:0 25px 80px #b3455d38;cursor:pointer;overflow:hidden;transition:.5s}.envelope:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 49%,#762c45 50% 52%,transparent 53%),linear-gradient(225deg,transparent 49%,#762c45 50% 52%,transparent 53%)}.flap{position:absolute;top:0;left:0;width:0;height:0;border-left:135px solid transparent;border-right:135px solid transparent;border-top:85px solid #d75d7b;z-index:3;transform-origin:top;transition:.7s}.seal{position:absolute;z-index:4;left:50%;top:53%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#f08aa0;color:#651f35;display:grid;place-items:center;font-size:23px}.envelope.open .flap{transform:rotateX(180deg);z-index:1}.question .sub{margin-bottom:0}.sparkles{color:#d86682;font-size:20px;margin-bottom:25px}.answers{display:flex;gap:12px;justify-content:center;margin-top:28px}.final{width:min(820px,94vw);position:relative}.letter{margin:28px auto;padding:27px 35px;border-left:1px solid #5a3440;border-right:1px solid #5a3440;color:#c8bbc1;line-height:1.8;font-size:15px}.letter p{margin:0 0 12px}.letter strong{display:block;color:#e8899f;font-family:"Cormorant Garamond",serif;font-size:24px;margin-top:18px}.name{font-size:9px;letter-spacing:.2em;color:#766a72}.party{font-size:50px}.p1{left:0;top:5%}.p2{right:0;bottom:8%;animation-delay:.8s}#confetti{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden}.piece{position:absolute;top:-20px;font-size:13px;animation:fall 3.4s linear forwards}@keyframes fall{to{transform:translate(var(--dx),110vh) rotate(720deg);opacity:0}}@media(max-width:650px){.split{grid-template-columns:1fr;text-align:center}.split .eyebrow{text-align:center}.card{padding:45px 24px}.m1{left:3%;bottom:8%}.m2{right:3%;top:10%}.monkey{font-size:36px}.answers{flex-direction:column;align-items:center}.answers button{width:190px}.letter{padding:22px 17px;font-size:13px}.p1{left:2%}.p2{right:2%}}