*{box-sizing:border-box;margin:0;padding:0}:root{--pink-deep:#8b4567;--pink-mid:#d4a0b8;--pink-light:#f2c6d4;--pink-pale:#fce4ec;--pink-soft:#f8bbd0;--pink-white:#fff5f7;--rose:#e91e8c;--rose-light:#f48fb1;--gold:#f0c27a;--gold-light:#fdd9a0;--pearl:#5d394a;--lavender:#b39cd0}body{color:var(--pearl);background:linear-gradient(#fde8ef 0%,#f9d0de 30%,#f5b8cc 60%,#e89fb5 100%);min-height:100vh;font-family:Nunito,sans-serif;overflow-x:hidden}h1,h2,h3{font-family:Cormorant Garamond,serif}.entrance-overlay{z-index:10000;cursor:pointer;background:linear-gradient(135deg,#fce4ec 0%,#f8bbd0 30%,#f48fb1 60%,#e91e8c 100%);justify-content:center;align-items:center;animation:3s ease-in-out infinite entrancePulse;display:flex;position:fixed;inset:0}@keyframes entrancePulse{0%,to{background:linear-gradient(135deg,#fce4ec 0%,#f8bbd0 30%,#f48fb1 60%,#e91e8c 100%)}50%{filter:brightness(1.05);background:linear-gradient(135deg,#fce4ec 0%,#f8bbd0 30%,#f48fb1 60%,#e91e8c 100%)}}.entrance-card{text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffd9;border:2px solid #f48fb166;border-radius:32px;max-width:400px;padding:50px 40px;animation:.6s ease-out entranceCardIn;box-shadow:0 20px 60px #e91e8c33,0 0 100px #f0c27a26}@keyframes entranceCardIn{0%{opacity:0;transform:scale(.85)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.entrance-icon{margin-bottom:15px;font-size:4rem;animation:2s ease-in-out infinite bounce}.entrance-title{background:linear-gradient(135deg, var(--rose), var(--pink-deep));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:2.2rem;font-weight:700}.entrance-subtitle{color:var(--pink-mid);margin-bottom:25px;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-style:italic}.entrance-btn{color:#fff;background:linear-gradient(135deg, var(--rose), var(--pink-deep));cursor:pointer;border:none;border-radius:50px;padding:16px 40px;font-family:Nunito,sans-serif;font-size:1.1rem;font-weight:700;transition:all .3s;box-shadow:0 6px 25px #e91e8c59}.entrance-btn:hover{transform:translateY(-3px)scale(1.03);box-shadow:0 10px 35px #e91e8c73}.invitation{max-width:600px;min-height:100vh;margin:0 auto;padding:0 20px;position:relative}.bubbles{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.bubble{background:radial-gradient(circle at 30% 30%,#fff6,#f48fb126);border:1px solid #ffffff4d;border-radius:50%;animation:linear infinite floatUp;position:absolute;bottom:-20px}@keyframes floatUp{0%{opacity:.7;transform:translateY(0)translate(0)scale(1)}50%{opacity:.4}to{transform:translateY(-110vh) translateX(var(--drift)) scale(.3);opacity:0}}.sparkles{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0}.sparkle{background:var(--gold);width:4px;height:4px;box-shadow:0 0 6px var(--gold), 0 0 10px #f0c27a80;border-radius:50%;animation:ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}}.waves-container{pointer-events:none;z-index:0;opacity:.12;width:100%;height:120px;position:fixed;bottom:0;left:0}.wave{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100'%3E%3Cpath fill='%23f48fb1' d='M0,50 C360,100 720,0 1080,50 C1260,75 1380,60 1440,50 L1440,100 L0,100 Z'/%3E%3C/svg%3E") 0 0/1440px 100px repeat-x;width:120%;height:80px;animation:linear infinite waveMove;position:absolute;bottom:0;left:-10%}.wave:first-child{opacity:.7;animation-duration:8s}.wave:nth-child(2){opacity:.5;animation-duration:12s;bottom:-10px}@keyframes waveMove{0%{transform:translate(0)}to{transform:translate(-1440px)}}.hero{z-index:1;text-align:center;padding:50px 0 30px;animation:1.2s ease-out fadeInDown;position:relative}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}.hero-badge{color:var(--pink-deep);background:#e91e8c14;border:1px solid #e91e8c33;border-radius:50px;margin-bottom:20px;padding:8px 24px;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-style:italic;font-weight:600;animation:3s ease-in-out infinite shimmer;display:inline-block}@keyframes shimmer{0%,to{box-shadow:0 0 10px #e91e8c1a}50%{box-shadow:0 0 25px #e91e8c40}}.hero-title{flex-direction:column;align-items:center;margin-bottom:8px;font-size:3rem;font-weight:700;line-height:1.3;display:flex}.title-line-1{background:linear-gradient(135deg, var(--rose), var(--gold), var(--rose-light));-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;font-size:1.1em;animation:4s ease-in-out infinite gradientShift}.title-line-2{color:var(--rose-light);margin-top:5px;font-family:Cormorant Garamond,serif;font-size:1.6rem;font-style:italic;font-weight:600}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.hero-subtitle{color:var(--pink-deep);margin-bottom:25px;font-family:Cormorant Garamond,serif;font-size:1.8rem;font-style:italic;font-weight:600}.music-btn{z-index:100;color:var(--pink-white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:linear-gradient(135deg,#e91e8cb3,#8b456799);border:1px solid #f48fb166;border-radius:50px;align-items:center;gap:6px;padding:10px 16px;font-family:Nunito,sans-serif;font-size:1.3rem;font-weight:700;transition:all .3s;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 20px #e91e8c33}.music-btn:hover{background:linear-gradient(135deg,#e91e8cd9,#8b4567cc);transform:scale(1.05);box-shadow:0 6px 30px #e91e8c66}.music-bars{align-items:flex-end;gap:2px;height:14px;display:flex}.bar{background:var(--pink-white);border-radius:2px;width:3px;animation:.8s ease-in-out infinite musicBar}.bar-1{height:6px;animation-delay:0s}.bar-2{height:10px;animation-delay:.2s}.bar-3{height:8px;animation-delay:.4s}@keyframes musicBar{0%,to{transform:scaleY(1)}50%{transform:scaleY(.3)}}.countdown-section{z-index:1;text-align:center;animation:1.2s ease-out .5s both fadeInUp;position:relative}.countdown-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffffa6,#fce4ec73);border:1px solid #f48fb14d;border-radius:24px;margin-bottom:25px;padding:30px 20px;box-shadow:0 10px 40px #8b45671a}.countdown-label{color:var(--pink-deep);margin-bottom:20px;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic}.countdown-timer{justify-content:center;align-items:center;gap:6px;display:flex}.countdown-item{flex-direction:column;align-items:center;min-width:60px;display:flex}.countdown-number{background:linear-gradient(135deg, var(--rose), var(--pink-deep));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Cormorant Garamond,serif;font-size:2.8rem;font-weight:700;line-height:1}.countdown-unit{color:var(--pink-mid);text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-size:.8rem;font-weight:600}.countdown-sep{color:var(--rose-light);margin-top:-15px;font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:700;animation:1s ease-in-out infinite blinkSep}@keyframes blinkSep{0%,to{opacity:1}50%{opacity:.3}}.countdown-hearts{margin-top:18px;font-size:1.2rem;animation:1.5s ease-in-out infinite heartbeat}.photo-container{margin-bottom:20px;animation:1.5s ease-out .3s both fadeIn;display:inline-block;position:relative}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.photo-frame{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:4px solid #f0c27a99;border-radius:50%;outline:none;width:220px;height:220px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 0 40px #f0c27a4d,0 0 80px #f48fb133}.photo-frame:hover{transform:scale(1.03);box-shadow:0 0 50px #f0c27a80,0 0 100px #f48fb14d}.photo-frame:active{transform:scale(.97)}.photo-hint{text-align:center;color:var(--rose-light);opacity:.7;margin-top:8px;font-size:.85rem;animation:2s ease-in-out infinite pulseHint}@keyframes pulseHint{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}.photo-frame:before{content:"";background:linear-gradient(45deg, var(--rose), var(--gold), var(--lavender), var(--pink-soft), var(--rose));-webkit-mask-composite:xor;z-index:-1;background-size:400% 400%;border-radius:50%;padding:4px;animation:4s linear infinite borderRotate;position:absolute;inset:-4px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes borderRotate{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.photo-frame img{object-fit:cover;object-position:center;width:100%;height:100%;display:block;transform:scale(1.25)}.photo-star{font-size:2rem;animation:6s linear infinite spinStar;position:absolute;top:-10px;right:-10px}@keyframes spinStar{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.click-phrase{white-space:nowrap;color:var(--rose);pointer-events:none;z-index:5;background:#ffffffe6;border-radius:20px;padding:6px 14px;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:700;animation:2s ease-out forwards phraseFloat;position:absolute;top:-40px;box-shadow:0 2px 15px #e91e8c33}@keyframes phraseFloat{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:1;transform:translateY(-10px)scale(1)}80%{opacity:1;transform:translateY(-40px)scale(1)}to{opacity:0;transform:translateY(-60px)scale(.8)}}.section-divider{text-align:center;opacity:.7;margin:30px 0;font-size:1.5rem;animation:1.5s ease-out .6s both fadeIn}.ocean-separator{color:var(--rose-light);opacity:.6;justify-content:center;align-items:center;gap:12px;font-size:1.2rem;display:flex}.ocean-separator:before,.ocean-separator:after{content:"";background:linear-gradient(90deg, transparent, var(--rose-light), transparent);width:60px;height:1px}.details-section{z-index:1;animation:1.2s ease-out .8s both fadeInUp;position:relative}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.details-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffffb3,#fce4ec80);border:1px solid #f48fb14d;border-radius:24px;margin-bottom:25px;padding:35px 30px;transition:transform .3s,box-shadow .3s;box-shadow:0 10px 40px #8b45671a,inset 0 1px #fffc}.details-card:hover{transform:translateY(-3px);box-shadow:0 15px 50px #8b456726,inset 0 1px #ffffffe6,0 0 30px #f48fb126}.detail-item{align-items:flex-start;gap:18px;padding:18px 0;display:flex}.detail-item:not(:last-child){border-bottom:1px solid #f48fb133}.detail-icon{background:linear-gradient(135deg,#e91e8c1a,#b39cd01a);border:1px solid #f48fb133;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:55px;height:55px;font-size:2rem;display:flex}.detail-content{flex:1}.detail-label{color:var(--pink-deep);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:4px;font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:600}.detail-value{color:var(--pearl);font-size:1.25rem;font-weight:700;line-height:1.4}.detail-value.highlight{background:linear-gradient(135deg, var(--rose), var(--gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gift-section{z-index:1;text-align:center;animation:1.2s ease-out 1.1s both fadeInUp;position:relative}.gift-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff9,#fce4ec66);border:1px solid #f48fb14d;border-radius:24px;margin-bottom:30px;padding:30px 25px;box-shadow:0 10px 40px #8b45671a}.gift-icon{margin-bottom:15px;font-size:2.5rem;animation:2s ease-in-out infinite bounce;display:inline-block}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.gift-text{color:var(--rose);margin-bottom:18px;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-style:italic;line-height:1.6}.gift-link{color:var(--pink-white);background:linear-gradient(135deg, var(--rose), var(--pink-deep));cursor:pointer;border:none;border-radius:50px;align-items:center;gap:8px;padding:14px 32px;font-family:Nunito,sans-serif;font-size:1rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #e91e8c40}.gift-link:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.gift-link:hover:before{left:100%}.gift-link:hover{transform:translateY(-2px);box-shadow:0 6px 30px #e91e8c66}.goodbye-section{z-index:1;text-align:center;padding:30px 0 50px;animation:1.2s ease-out 1.4s both fadeInUp;position:relative}.goodbye-text{color:var(--pink-deep);font-family:Cormorant Garamond,serif;font-size:1.6rem;font-style:italic;line-height:1.8}.goodbye-hearts{margin-top:15px;font-size:1.5rem;animation:1.5s ease-in-out infinite heartbeat}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.1)}}.confetti{pointer-events:none;z-index:10;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-piece{opacity:0;animation:linear forwards confettiFall;position:absolute;top:-20px}@keyframes confettiFall{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}70%{opacity:1}to{opacity:0;transform:translateY(100vh) rotate(var(--rot-end,720deg)) translateX(var(--drift,30px)) scale(.5)}}[data-animate]{opacity:0;transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94);transform:translateY(40px)}[data-animate].section-visible{opacity:1;transform:translateY(0)}[data-animate].section-delay-1{transition-delay:.1s}[data-animate].section-delay-2{transition-delay:.2s}[data-animate].section-delay-3{transition-delay:.3s}.floating-decor{opacity:.12;pointer-events:none;z-index:0;font-size:1.5rem;position:fixed}.floating-decor.shell-1{animation:8s ease-in-out infinite floatDecor;top:15%;left:5%}.floating-decor.shell-2{animation:10s ease-in-out 1s infinite floatDecor;top:40%;right:8%}.floating-decor.flower-1{animation:12s ease-in-out 2s infinite floatDecor;bottom:25%;left:10%}.floating-decor.flower-2{animation:9s ease-in-out .5s infinite floatDecor;top:60%;right:5%}@keyframes floatDecor{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(10px,-15px)rotate(5deg)}50%{transform:translate(-5px,-25px)rotate(-3deg)}75%{transform:translate(15px,-10px)rotate(4deg)}}@media (width<=480px){.hero-title{font-size:2.2rem}.title-line-2{font-size:1.2rem}.hero-subtitle{font-size:1.4rem}.photo-frame{width:180px;height:180px}.details-card{padding:25px 20px}.detail-item{gap:14px}.detail-icon{width:45px;height:45px;font-size:1.5rem}.detail-value{font-size:1.1rem}}
