/* Versión estática para cPanel */
:root{--font-display:'Cormorant Garamond',Georgia,serif;--font-sans:'Manrope',Arial,sans-serif}
[hidden]{display:none!important}
:root{--wine:#6d1734;--berry:#a82e5b;--rose:#d75d86;--blush:#f7dce5;--paper:#fffaf7;--ink:#33262a;--muted:#79666d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans),sans-serif;overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}.eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.24em;color:var(--berry)}.primary{display:inline-flex;align-items:center;gap:1.2rem;border:0;border-radius:999px;background:var(--wine);color:#fff;padding:1rem 1.45rem;text-decoration:none;font-size:.83rem;font-weight:700;box-shadow:0 14px 35px #6d17342c;transition:.3s}.primary:hover{transform:translateY(-3px);background:#8d234c}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
.intro{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#fff0f4 0,#fbdde6 42%,#eeb7ca 100%);overflow:hidden;transition:opacity .6s 1.35s,visibility .6s 1.35s}.intro.is-opening{opacity:0;visibility:hidden}.intro:before{content:"";position:absolute;inset:18px;border:1px solid #a82e5b33;pointer-events:none}.intro-copy{text-align:center;z-index:2;margin-bottom:1rem}.intro-copy span{font-size:.63rem;letter-spacing:.38em;color:var(--berry);font-weight:700}.intro-copy h1{font-family:var(--font-display);font-size:clamp(3rem,8vw,5rem);font-style:italic;font-weight:500;margin:.15rem;color:var(--wine)}.intro-copy p{font-family:var(--font-display);font-size:1.05rem;color:var(--muted);margin:0}.envelope-wrap{border:0;background:transparent;width:min(78vw,390px);height:260px;perspective:1100px;z-index:3}.envelope{position:relative;width:100%;height:220px;top:25px;filter:drop-shadow(0 25px 25px #6d17343d)}.envelope-back{position:absolute;inset:0;border-radius:12px;background:#bc4771}.envelope-left,.envelope-right,.envelope-bottom{position:absolute;inset:0;border-radius:12px}.envelope-left{clip-path:polygon(0 0,55% 53%,0 100%);background:#973054}.envelope-right{clip-path:polygon(100% 0,45% 53%,100% 100%);background:#7d2447}.envelope-bottom{clip-path:polygon(0 100%,50% 43%,100% 100%);background:#ae3b66}.envelope-flap{position:absolute;inset:0;background:#c2557b;clip-path:polygon(0 0,50% 62%,100% 0);transform-origin:top;transition:transform 1s cubic-bezier(.3,.7,.2,1),z-index .1s .5s;z-index:5;border-radius:12px}.letter-peek{position:absolute;left:7%;right:7%;bottom:8px;height:90%;background:#fff9f6;padding:10px;z-index:2;transition:transform 1s .55s cubic-bezier(.1,.8,.2,1);box-shadow:0 5px 20px #0002;overflow:hidden}.letter-peek img{width:100%;height:78%;object-fit:cover}.letter-peek b{font-family:var(--font-display);font-style:italic;color:var(--wine);font-size:1.2rem}.seal{position:absolute;z-index:8;left:50%;top:53%;transform:translate(-50%,-50%);display:grid;place-items:center;width:57px;height:57px;border-radius:50%;color:#fff;background:radial-gradient(circle at 35% 30%,#df789b,#8b244a 70%);border:3px double #f7bfd1;box-shadow:0 5px 12px #4e102c66;transition:.4s}.is-opening .envelope-flap{transform:rotateX(180deg);z-index:1}.is-opening .letter-peek{transform:translateY(-125px) rotate(-1deg)}.is-opening .seal{transform:translate(-50%,-50%) scale(0);opacity:0}.open-button{z-index:4;border:0;border-radius:99px;padding:.95rem 1.65rem;background:#fff;color:var(--wine);font-weight:800;box-shadow:0 12px 35px #78183d29;transition:.3s}.open-button:hover{transform:translateY(-3px)}.sound-hint{z-index:2;font-size:.7rem;color:#8a5d6c;letter-spacing:.1em}.heart-rain{position:absolute;inset:0;overflow:hidden;pointer-events:none}.heart-rain span{position:absolute;left:calc((var(--i) * 17 + 4) * 1%);top:-10%;color:#c84773;opacity:.22;font-size:calc(12px + (var(--i) % 4) * 5px);animation:fall calc(7s + (var(--i) % 6) * 1s) linear infinite;animation-delay:calc(var(--i) * -.8s)}@keyframes fall{to{transform:translateY(115vh) rotate(50deg)}}
.site{opacity:0;transition:opacity .8s}.site.is-visible{opacity:1}.topbar{position:fixed;z-index:100;left:50%;top:16px;transform:translateX(-50%);width:min(94%,1080px);display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem .65rem 1.1rem;background:#fffaf7e8;border:1px solid #fff;border-radius:999px;box-shadow:0 9px 30px #4d1b2b14;backdrop-filter:blur(14px)}.brand{color:var(--wine);font-family:var(--font-display);font-size:1.2rem;font-weight:700;text-decoration:none}.brand span{color:var(--rose);font-size:.8rem}.topbar>p{font-size:.65rem;letter-spacing:.18em;color:var(--muted)}.music{display:flex;align-items:center;gap:.6rem;border:0;border-radius:999px;color:var(--wine);background:var(--blush);padding:.7rem 1rem;font-size:.7rem;font-weight:700}.music i{width:4px;height:4px;border-radius:50%;background:var(--rose);box-shadow:7px 0 var(--rose),14px 0 var(--rose)}.music.playing i{animation:pulse .8s infinite alternate}@keyframes pulse{to{transform:scaleY(3)}}
.hero{min-height:100vh;padding:9rem max(6vw,24px) 6rem;display:grid;grid-template-columns:minmax(300px,520px) minmax(300px,600px);gap:clamp(3rem,8vw,9rem);align-items:center;justify-content:center;position:relative;background:linear-gradient(145deg,#fffaf7 50%,#fbe8ee);overflow:hidden}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px)}.hero-orb.one{width:400px;height:400px;background:#efbdd04a;right:-190px;top:10%}.hero-orb.two{width:180px;height:180px;border:1px solid #9d305048;left:-60px;bottom:10%}.hero-photo{position:relative;background:#fff;padding:13px 13px 52px;transform:rotate(-2.2deg)!important;box-shadow:0 28px 70px #6b20332a;z-index:2}.hero-photo.visible{transform:rotate(-2.2deg)!important}.hero-photo img{display:block;width:100%;aspect-ratio:853/1280;max-height:68vh;object-fit:cover}.photo-note{position:absolute;bottom:17px;left:0;right:0;text-align:center;font-family:var(--font-display);font-style:italic;color:var(--wine);font-size:1.05rem}.tape{position:absolute;z-index:2;width:110px;height:28px;background:#eed9bdcc;top:-12px;left:50%;transform:translateX(-50%) rotate(2deg)}.hero-copy{z-index:2}.hero-copy h1,.section-heading h2,.time-section h2,.letter-copy h2,.reasons h2,.plans h2,.final-question h2{font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);font-weight:500;line-height:.88;letter-spacing:-.035em;margin:1.2rem 0;color:var(--wine)}.hero-copy h1 em{color:var(--rose);font-weight:500}.hero-copy>p{max-width:480px;font-family:var(--font-display);font-size:1.4rem;line-height:1.5;color:var(--muted);margin:2rem 0}
.time-section{text-align:center;padding:7rem 5vw;background:var(--wine);color:#fff}.time-section .eyebrow{color:#efb3c8}.time-section h2{color:#fff;font-size:clamp(2.6rem,5vw,4.6rem);margin-bottom:3rem}.counter{display:flex;justify-content:center;gap:clamp(.6rem,2vw,2rem);flex-wrap:wrap}.counter-item{min-width:95px}.counter-item strong{display:block;font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5rem);font-weight:500}.counter-item span{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#e9afc1}.mini-love{font-family:var(--font-display);font-style:italic;color:#e9b7c8;margin-top:2.5rem}
.quote-section{padding:7rem max(6vw,24px);display:flex;align-items:center;justify-content:center;gap:clamp(3rem,8vw,8rem);background:#f9e8ed}.vinyl{position:relative;width:clamp(180px,27vw,330px);aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#2c2024 0 3px,#3a2c31 4px 7px);display:grid;place-items:center;box-shadow:0 30px 50px #41182733;animation:spin 12s linear infinite}.vinyl:before{content:"";position:absolute;width:28%;height:28%;border-radius:50%;background:var(--rose)}.vinyl div{z-index:2;width:12%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#fff4f7;color:var(--wine)}@keyframes spin{to{transform:rotate(360deg)}}.quote-section blockquote{font-family:var(--font-display);font-size:clamp(2rem,4vw,4.3rem);line-height:1.1;color:var(--wine);margin:1.2rem 0}.quote-section blockquote em{color:var(--rose)}.quote-section p{font-size:.72rem;letter-spacing:.13em;color:var(--muted)}
.story,.coupons,.reasons{padding:8rem max(5vw,22px)}.section-heading{text-align:center;max-width:760px;margin:0 auto 4rem}.section-heading h2,.reasons h2{font-size:clamp(3rem,5vw,5rem)}.section-heading p{color:var(--muted);line-height:1.8}.photo-grid{max-width:1160px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;align-items:start}.photo-card{position:relative;padding:0;border:0;background:#fff;overflow:hidden;text-align:left;box-shadow:0 14px 35px #39131e16}.photo-card:nth-child(2){margin-top:4rem}.photo-card:nth-child(5){margin-top:-4rem}.photo-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s}.photo-card.wide img{aspect-ratio:4/3}.photo-card:hover img{transform:scale(1.04)}.photo-card>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem}.photo-card span{font-size:.62rem;color:var(--rose)}.photo-card p{font-family:var(--font-display);font-style:italic;margin:0;color:var(--wine);font-size:1.08rem}.photo-card b{font-weight:400}
.letter-section{margin:3rem auto 8rem;width:min(1120px,90%);display:grid;grid-template-columns:1fr 1fr;background:var(--wine);color:#fff;min-height:500px;overflow:hidden}.letter-art{position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#f5d8e2,#e7a9be);overflow:hidden}.big-heart{position:absolute;font-size:24rem;color:#fff4;line-height:1}.mini-envelope{position:relative;z-index:2;background:#fffaf7;color:var(--wine);width:240px;padding:3.5rem 1rem;text-align:center;font-family:var(--font-display);font-size:2rem;box-shadow:0 24px 40px #681c3838;transform:rotate(-5deg)}.mini-envelope i{font-size:1.1rem;color:var(--rose)}.letter-copy{padding:clamp(3rem,7vw,6rem);display:flex;flex-direction:column;justify-content:center}.letter-copy .eyebrow{color:#e9adc1}.letter-copy h2{color:#fff;font-size:clamp(3rem,5vw,5rem)}.letter-copy p{color:#efdce3;line-height:1.8}.letter-copy .primary{align-self:flex-start;background:#fff;color:var(--wine);margin-top:1rem}
.reasons{text-align:center;background:#fff}.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1160px;margin:3.5rem auto 0;gap:1rem}.reason-grid article{position:relative;text-align:left;padding:2rem;background:var(--paper);border:1px solid #dca3b636;min-height:250px;transition:.35s}.reason-grid article:hover{transform:translateY(-8px);box-shadow:0 20px 40px #41142212}.reason-grid article>span{color:var(--rose);font-size:.68rem}.reason-grid h3{font-family:var(--font-display);font-size:1.7rem;color:var(--wine);margin:2.5rem 0 .7rem}.reason-grid p{font-size:.83rem;color:var(--muted);line-height:1.7}.reason-grid i{position:absolute;right:1.5rem;bottom:1rem;color:#ecc4d1;font-size:1.5rem}
.plans{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;padding:8rem max(7vw,24px);align-items:center;background:#f8e8ed}.plans h2{font-size:clamp(3rem,5vw,5rem)}.plans>div p{color:var(--muted);line-height:1.8}.plans ol{list-style:none;margin:0;padding:0}.plans li{display:grid;grid-template-columns:40px 1fr 30px;gap:1rem;padding:1.4rem .5rem;border-bottom:1px solid #b9688338;align-items:center}.plans li b{color:var(--rose);font-size:.7rem}.plans li span{font-family:var(--font-display);font-size:1.35rem;color:var(--wine)}.plans li i{font-style:normal;color:var(--rose)}
.coupons{background:#fff}.coupon-row{display:flex;gap:1rem;max-width:1200px;margin:auto;overflow-x:auto;padding:1rem 1rem 2rem;scroll-snap-type:x mandatory}.coupon-row::-webkit-scrollbar{height:5px}.coupon-row::-webkit-scrollbar-thumb{background:#d98aa5;border-radius:5px}.coupon{position:relative;flex:0 0 300px;min-height:340px;padding:2rem;border:1px dashed var(--rose);border-radius:4px;background:#fff8fa;text-align:center;scroll-snap-align:center;overflow:hidden;transition:.4s}.coupon:hover{transform:translateY(-5px)}.coupon:before,.coupon:after{content:"";position:absolute;top:48%;width:22px;height:22px;border-radius:50%;background:#fff;border:1px dashed var(--rose)}.coupon:before{left:-12px}.coupon:after{right:-12px}.coupon-icon{display:block;font-size:2.8rem}.coupon small{display:block;letter-spacing:.2em;color:var(--rose);margin-top:1.5rem}.coupon h3{font-family:var(--font-display);font-size:1.8rem;color:var(--wine);margin:.7rem}.coupon p{font-size:.8rem;color:var(--muted);line-height:1.6}.coupon b{position:absolute;bottom:1.3rem;left:0;right:0;font-size:.57rem;letter-spacing:.12em;color:var(--berry)}.coupon i{position:absolute;inset:0;display:grid;place-items:center;background:#6d1734e8;color:#fff;font-size:1.2rem;font-style:normal;font-weight:800;letter-spacing:.15em;transform:translateY(101%);transition:.4s}.coupon.redeemed i{transform:none}
.final-question{position:relative;min-height:88vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:7rem 24px 2rem;background:radial-gradient(circle at 50% 40%,#fff6f8,#f4c9d8);overflow:hidden}.final-question h2{font-size:clamp(3.2rem,7vw,7rem);max-width:950px}.final-question>p{color:var(--muted)}.answer-buttons{display:flex;align-items:center;gap:1rem;margin:2rem;min-height:100px}.answer-buttons button{border-radius:999px;padding:1rem 1.8rem;font-weight:800;transition:.25s}.yes{border:0;background:var(--wine);color:#fff;box-shadow:0 12px 30px #6d17343d}.yes:hover{transform:scale(1.06)}.no{border:1px solid #bb6d87;background:#fff8fa;color:var(--wine)}.final-question footer{position:absolute;bottom:2rem;font-family:var(--font-display);color:var(--wine)}.final-question footer span{color:var(--rose)}.yes-message{z-index:2}.yes-message>span{display:block;font-size:5rem;color:var(--rose);animation:heartbeat 1s infinite}.yes-message h2{margin:.4rem}.yes-message p{font-family:var(--font-display);font-size:1.35rem;color:var(--muted)}@keyframes heartbeat{50%{transform:scale(1.18)}}.heart-rain.burst span{opacity:.65;animation-duration:3.5s}
.modal,.lightbox{position:fixed;inset:0;z-index:500;background:#241118d9;display:grid;place-items:center;padding:20px;backdrop-filter:blur(8px);animation:fade .35s}.modal article{position:relative;width:min(700px,100%);max-height:90vh;overflow:auto;background:#fffaf7;padding:clamp(2rem,6vw,5rem);box-shadow:0 25px 80px #0005;background-image:linear-gradient(#e8bdca26 1px,transparent 1px);background-size:100% 32px}.modal article:before{content:"♥";display:block;text-align:center;color:var(--rose);font-size:2rem}.modal h2{font-family:var(--font-display);font-size:3.2rem;color:var(--wine);margin:.7rem 0}.modal p{font-family:var(--font-display);font-size:1.18rem;line-height:1.75;color:#5e4a51}.signature{text-align:right;font-family:var(--font-display);font-style:italic;color:var(--wine);font-size:1.2rem}.signature b{font-size:2rem}.close{position:absolute;top:14px;right:16px;z-index:4;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--wine);font-size:1.6rem}.lightbox figure{margin:0;max-width:min(82vw,900px);max-height:88vh;text-align:center}.lightbox img{max-width:100%;max-height:80vh;object-fit:contain;box-shadow:0 25px 70px #0008}.lightbox figcaption{color:#fff;font-family:var(--font-display);font-style:italic;font-size:1.2rem;margin-top:1rem}.lightbox .close{background:#ffffff22;color:#fff;top:25px;right:25px}.arrow{position:absolute;top:50%;width:50px;height:50px;border:1px solid #ffffff44;border-radius:50%;background:#ffffff18;color:#fff;font-size:2rem}.prev{left:3vw}.next{right:3vw}@keyframes fade{from{opacity:0}}
@media(max-width:800px){.topbar>p{display:none}.music span{display:none}.hero{grid-template-columns:1fr;padding-top:7rem;gap:3.5rem;text-align:center}.hero-photo{width:min(85%,420px);margin:auto}.hero-copy>p{margin:1.5rem auto}.quote-section{flex-direction:column;text-align:center}.photo-grid{grid-template-columns:1fr 1fr}.photo-card:nth-child(2),.photo-card:nth-child(5){margin-top:0}.letter-section{grid-template-columns:1fr}.letter-art{min-height:390px}.reason-grid{grid-template-columns:1fr 1fr}.plans{grid-template-columns:1fr}.counter-item{min-width:72px}.counter-item strong{font-size:2.7rem}.modal article{padding:3.2rem 1.5rem 2rem}}
@media(max-width:520px){.intro:before{inset:8px}.envelope-wrap{height:220px}.envelope{height:180px}.hero{padding-inline:18px}.hero-copy h1{font-size:3.5rem}.time-section{padding:5rem 1rem}.counter{gap:1rem .4rem}.counter-item{min-width:62px}.counter-item strong{font-size:2rem}.counter-item span{font-size:.5rem}.photo-grid{grid-template-columns:1fr;gap:1.4rem}.photo-card.wide img,.photo-card img{aspect-ratio:4/4.6}.letter-section{width:100%;margin-bottom:5rem}.reason-grid{grid-template-columns:1fr}.reason-grid article{min-height:210px}.plans{padding-block:6rem}.coupon{flex-basis:82vw}.answer-buttons{flex-direction:column}.arrow{top:auto;bottom:30px}.lightbox figure{max-width:95vw}.lightbox img{max-height:72vh}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Álbum cronológico en mosaico */
.photo-grid{display:block;columns:4 240px;column-gap:1rem;max-width:1240px}
.album-card{display:inline-block;width:100%;margin:0 0 1rem;break-inside:avoid;border-radius:18px;overflow:hidden;box-shadow:0 16px 38px #5d173020}
.album-card:nth-child(2),.album-card:nth-child(5){margin-top:0}
.album-card img,.album-card.wide img{width:100%;height:auto;aspect-ratio:auto;max-height:520px;object-fit:cover}
.album-card.tall img{max-height:600px}.album-card.square img{aspect-ratio:1;object-fit:cover}
.album-card.album-hidden{display:none}
.album-more-wrap{column-span:all;text-align:center;padding:2.2rem 0 0}
.album-more-wrap p{margin:.9rem 0;color:var(--muted);font-size:.75rem;letter-spacing:.08em}
.album-more{border:0}.album-more:hover{transform:translateY(-4px) scale(1.02)}

/* Explosión de confeti de corazones */
.heart-confetti{position:absolute;inset:0;z-index:8;overflow:hidden;pointer-events:none}
.confetti-heart{position:absolute;left:50%;top:48%;color:var(--c);font-size:var(--s);filter:drop-shadow(0 4px 4px #6d173433);animation:heartBurst var(--d) cubic-bezier(.15,.72,.25,1) forwards;animation-delay:var(--delay)}
@keyframes heartBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}12%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.2) rotate(var(--r))}}
@media(max-width:700px){.photo-grid{columns:2 145px;column-gap:.7rem}.album-card{margin-bottom:.7rem;border-radius:12px}.album-card>div{padding:.75rem}.album-card p{font-size:.93rem}.album-card.tall img{max-height:450px}}
