:root{--night:#020817;--navy:#061a3a;--blue:#0c2f63;--gold:#d9b35f;--gold2:#ffe6a6;--cream:#fff8e8;--muted:#cbd4e7;--glass:rgba(255,255,255,.075)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 0,#10356b 0,#071a39 30%,#020817 72%);color:var(--cream);font-family:Montserrat,sans-serif;overflow-x:hidden}.locked{overflow:hidden}.hidden{display:none!important}button,a{font:inherit}#sky{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}.shooting-stars{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden}.shooting-stars i{position:absolute;width:150px;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);transform:rotate(-28deg);filter:drop-shadow(0 0 6px var(--gold2));opacity:0;animation:shoot 9s linear infinite}.shooting-stars i:nth-child(1){top:15%;left:75%;animation-delay:1s}.shooting-stars i:nth-child(2){top:42%;left:90%;animation-delay:5s}.shooting-stars i:nth-child(3){top:74%;left:62%;animation-delay:8s}@keyframes shoot{0%,78%{opacity:0;transform:translate(0,0) rotate(-28deg)}80%{opacity:1}100%{opacity:0;transform:translate(-55vw,28vw) rotate(-28deg)}}
.intro{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at center,rgba(16,53,107,.45),rgba(2,8,23,.98) 68%);transition:opacity 1.1s ease,visibility 1.1s ease}.intro.opened{opacity:0;visibility:hidden}.curtain{position:absolute;top:0;bottom:0;width:51%;background:linear-gradient(90deg,#01040d,#061a38 50%,#01040d);box-shadow:inset 0 0 80px #000;transition:transform 1.6s cubic-bezier(.74,0,.19,1)}.curtain:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 12%,rgba(255,255,255,.025) 13%,transparent 14%)}.curtain-left{left:0}.curtain-right{right:0}.intro.opening .curtain-left{transform:translateX(-105%)}.intro.opening .curtain-right{transform:translateX(105%)}.intro-card{position:relative;z-index:3;text-align:center;width:min(92%,680px);padding:2rem;animation:introFloat 5s ease-in-out infinite}.crown{font-size:2.2rem;color:var(--gold2);filter:drop-shadow(0 0 13px rgba(255,230,166,.65));animation:twinkle 2s ease-in-out infinite}.kicker{text-transform:uppercase;letter-spacing:.32em;font-size:.68rem;color:var(--gold2);margin:.8rem 0 1.1rem}.line,.divider{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold)}.line span,.divider span{width:72px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.mis{font:500 1.3rem Cinzel,serif;letter-spacing:.24em;text-transform:uppercase;margin:1rem 0;color:#fff}.intro h1,.hero h2{font:400 clamp(5.5rem,18vw,10rem) Parisienne,cursive;line-height:.8;margin:.45rem 0;color:var(--gold2);text-shadow:0 0 25px rgba(255,230,166,.25)}.surname{font:500 clamp(1.7rem,6vw,3.4rem) 'Cormorant Garamond',serif;letter-spacing:.12em;margin:.8rem 0 2.2rem}.primary,.secondary{border-radius:999px;padding:1rem 1.7rem;text-decoration:none;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;text-transform:uppercase;letter-spacing:.11em;font-size:.73rem;font-weight:600;transition:.3s}.primary{color:#07152f;background:linear-gradient(135deg,#fff0bd,#c99d45);box-shadow:0 14px 45px rgba(217,179,95,.3),inset 0 1px rgba(255,255,255,.7)}.primary:hover,.secondary:hover{transform:translateY(-3px) scale(1.01)}.secondary{color:var(--gold2);background:rgba(255,255,255,.03);border:1px solid rgba(255,230,166,.55)}.tap-note{font-size:.67rem;color:var(--muted);margin-top:1.1rem}.scroll-hint{position:absolute;bottom:20px;font-size:.55rem;letter-spacing:.22em;color:#9baac7}.scroll-hint span{display:block;font-size:1.3rem;animation:bounce 1.5s infinite}.intro-orbit{position:absolute;border:1px solid rgba(217,179,95,.2);border-radius:50%;animation:spin 22s linear infinite}.orbit-a{width:70vmin;height:70vmin}.orbit-b{width:86vmin;height:86vmin;animation-direction:reverse;animation-duration:30s}.intro-orbit:before,.intro-orbit:after{content:"✦";position:absolute;color:var(--gold2);font-size:.7rem;filter:drop-shadow(0 0 8px var(--gold2))}.intro-orbit:before{top:10%;left:16%}.intro-orbit:after{bottom:10%;right:16%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes introFloat{50%{transform:translateY(-8px)}}@keyframes twinkle{50%{opacity:.55;transform:scale(.9)}}@keyframes bounce{50%{transform:translateY(6px)}}
main{position:relative;z-index:3}.panel{position:relative;width:min(1120px,92%);margin:auto;padding:7rem 0}.hero{min-height:100vh;display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;align-items:center;gap:5rem;padding-top:5rem}.hero-frame{position:relative;max-width:490px;margin:auto}.hero-photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 38%;display:block;border-radius:250px 250px 30px 30px;filter:saturate(.92) contrast(1.02);box-shadow:0 40px 100px rgba(0,0,0,.55)}.gold-frame{position:absolute;inset:-13px;border:1px solid rgba(255,230,166,.75);border-radius:270px 270px 45px 45px;box-shadow:0 0 28px rgba(217,179,95,.2)}.gold-frame:before{content:"✦";position:absolute;top:-17px;left:50%;transform:translateX(-50%);color:var(--gold2);background:#071a38;padding:0 12px}.photo-aura{position:absolute;inset:8% -12%;background:radial-gradient(circle,rgba(71,119,195,.35),transparent 65%);filter:blur(28px)}.moon{position:absolute;width:420px;height:420px;border-radius:50%;right:-180px;top:80px;background:radial-gradient(circle at 35% 35%,rgba(255,248,224,.23),rgba(202,178,116,.08) 45%,transparent 70%);box-shadow:0 0 70px rgba(255,230,166,.08)}.hero-copy{text-align:left}.hero-copy .mis{font-size:.9rem}.hero-copy .surname{margin-bottom:1.5rem}.poem{font:400 1.4rem/1.8 'Cormorant Garamond',serif;color:#e9eef8;max-width:620px}.floating-word{position:absolute;font:400 4rem Parisienne,cursive;color:rgba(255,230,166,.07);pointer-events:none}.floating-word.one{right:4%;top:12%}.floating-word.two{left:38%;bottom:5%}.count-section{text-align:center;padding-top:4rem}.date-script{font:400 2.3rem Parisienne,cursive;color:var(--gold2);margin-bottom:2.2rem}.countdown{display:flex;align-items:center;justify-content:center;gap:1rem}.countdown div{min-width:140px;padding:1.6rem 1rem;border-block:1px solid rgba(255,230,166,.32);background:linear-gradient(180deg,rgba(255,255,255,.05),transparent)}.countdown strong{display:block;font:500 clamp(2.8rem,7vw,5rem) Cinzel,serif;color:var(--gold2);text-shadow:0 0 22px rgba(255,230,166,.15)}.countdown span{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.countdown em{font:300 2.2rem 'Cormorant Garamond',serif;color:var(--gold)}.section-head{text-align:center;margin-bottom:3rem}.section-head h3,.gift h3,.modal h3{font:400 clamp(3rem,7vw,5rem) Parisienne,cursive;color:var(--gold2);margin:.3rem 0 1rem}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.info-card{position:relative;overflow:hidden;text-align:center;padding:2.4rem 1.2rem;border:1px solid rgba(255,230,166,.22);border-radius:26px;background:linear-gradient(150deg,rgba(255,255,255,.1),rgba(255,255,255,.025));backdrop-filter:blur(12px);box-shadow:0 22px 50px rgba(0,0,0,.22)}.info-card:after{content:"";position:absolute;inset:auto -40% -70% -40%;height:120%;background:radial-gradient(circle,rgba(217,179,95,.13),transparent 65%)}.info-card .icon{font-size:2.1rem;color:var(--gold2)}.info-card small{display:block;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin:1rem 0 .6rem}.info-card strong{font:500 1.35rem 'Cormorant Garamond',serif;color:#fff}.actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2.4rem}.quote-band{width:100%;max-width:none;text-align:center;padding:8rem 6%;background:linear-gradient(90deg,transparent,rgba(12,47,99,.52),transparent);border-block:1px solid rgba(255,230,166,.12)}.quote-band p{font:italic 400 clamp(1.8rem,5vw,3.4rem) 'Cormorant Garamond',serif;color:#fff;margin:auto;max-width:900px}.carousel{position:relative;max-width:820px;margin:auto}.slides{position:relative;height:min(72vh,700px);overflow:hidden;border-radius:34px;box-shadow:0 40px 90px rgba(0,0,0,.45);border:1px solid rgba(255,230,166,.3)}.slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.06);transition:opacity .9s,transform 1.4s}.slide.active{opacity:1;transform:scale(1)}.slide img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.slide:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(2,8,23,.92))}.slide figcaption{position:absolute;z-index:2;left:0;right:0;bottom:2rem;text-align:center;font:400 1.55rem 'Cormorant Garamond',serif}.nav{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,230,166,.55);background:rgba(2,8,23,.55);color:var(--gold2);font-size:2rem;cursor:pointer;backdrop-filter:blur(8px)}.nav.prev{left:-24px}.nav.next{right:-24px}.dots{display:flex;justify-content:center;gap:8px;margin-top:1.3rem}.dots button{width:8px;height:8px;border:0;border-radius:50%;background:#6f7f9e;padding:0;cursor:pointer}.dots button.active{background:var(--gold2);box-shadow:0 0 12px var(--gold2)}.gift{text-align:center;width:100%;max-width:none;padding:8rem 6%;background:radial-gradient(circle at center,rgba(33,73,133,.38),transparent 65%)}.gift p:last-child{color:var(--muted)}.envelope{position:relative;width:95px;height:62px;margin:0 auto 1.8rem;border:1px solid var(--gold2);border-radius:5px;box-shadow:0 0 25px rgba(255,230,166,.15)}.envelope:before,.envelope:after{content:"";position:absolute;bottom:0;width:64%;height:1px;background:var(--gold2)}.envelope:before{left:0;transform:rotate(31deg);transform-origin:left}.envelope:after{right:0;transform:rotate(-31deg);transform-origin:right}.flap{position:absolute;top:0;left:0;width:100%;height:1px;background:var(--gold2);transform:rotate(32deg);transform-origin:left}.envelope span{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);color:var(--gold2)}.rsvp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;max-width:860px;margin:auto}.guest-card{text-align:left;padding:2rem;border-radius:28px;border:1px solid rgba(255,230,166,.22);background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.025));color:#fff;cursor:pointer;transition:.35s;box-shadow:0 24px 55px rgba(0,0,0,.22)}.guest-card:hover{transform:translateY(-7px);border-color:var(--gold2);box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 30px rgba(217,179,95,.08)}.guest-icon{font-size:2rem;color:var(--gold2)}.guest-card b,.guest-card small,.guest-card i{display:block}.guest-card b{font:500 1.55rem 'Cormorant Garamond',serif;margin:.8rem 0}.guest-card small{color:var(--muted);line-height:1.5}.guest-card i{font-style:normal;color:var(--gold2);margin-top:1.3rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.16em}.deadline{text-align:center;color:var(--muted)}footer{text-align:center;padding:7rem 1rem 6rem!important;border-top:1px solid rgba(255,230,166,.12)}footer p{font:400 clamp(3rem,8vw,5rem) Parisienne,cursive;color:var(--gold2);margin:.5rem}footer span{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.footer-stars{color:var(--gold)}
.music-toggle{position:fixed;z-index:30;right:18px;bottom:18px;border:1px solid rgba(255,230,166,.45);border-radius:999px;padding:.55rem .9rem .55rem .55rem;background:rgba(2,8,23,.72);color:#fff;display:none;align-items:center;gap:.55rem;backdrop-filter:blur(10px);cursor:pointer}.music-toggle.show{display:flex}.disc{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,var(--gold2),var(--gold));color:#08152e}.music-toggle.playing .disc{animation:spin 3s linear infinite}.music-label{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase}.reveal{opacity:0;transition:1s opacity,.9s transform}.reveal.up{transform:translateY(50px)}.reveal.left{transform:translateX(-55px)}.reveal.right{transform:translateX(55px)}.reveal.zoom{transform:scale(.88)}.reveal.visible{opacity:1;transform:none}.modal{position:relative;padding:2.2rem;border-radius:28px;background:linear-gradient(160deg,#10356b,#041126);border:1px solid rgba(255,230,166,.35);color:#fff;box-shadow:0 40px 100px rgba(0,0,0,.65)}dialog{width:min(92%,580px);padding:0;border:0;background:transparent}dialog::backdrop{background:rgba(0,5,16,.82);backdrop-filter:blur(9px)}.close{position:absolute;right:1rem;top:.7rem;border:0;background:transparent;color:#fff;font-size:2rem;cursor:pointer}.modal h3{text-align:left;font-size:2.8rem}.modal label{display:block;margin:1rem 0;font-size:.8rem;color:#e9eef8}.modal input,.modal select,.modal textarea{width:100%;margin-top:.45rem;padding:1rem;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font:inherit}.modal select option{color:#111}.full{width:100%;margin-top:.8rem}.privacy{text-align:center;font-size:.68rem;color:var(--muted)}.toast{position:fixed;left:50%;bottom:95px;z-index:60;transform:translate(-50%,25px);opacity:0;padding:.8rem 1rem;border-radius:999px;background:#fff;color:#07152f;font-size:.75rem;transition:.3s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:850px){.panel{padding:5.5rem 0}.hero{grid-template-columns:1fr;gap:3rem;padding-top:5rem}.hero-frame{max-width:420px}.hero-copy{text-align:center}.poem{margin-inline:auto}.event-grid{grid-template-columns:repeat(2,1fr)}.countdown div{min-width:105px}.rsvp-grid{grid-template-columns:1fr}.nav.prev{left:10px}.nav.next{right:10px}}
@media(max-width:520px){.intro h1{font-size:5.3rem}.surname{font-size:1.8rem}.panel{width:90%;padding:4.5rem 0}.hero-photo{aspect-ratio:3/4}.hero-copy h2{font-size:5.6rem}.poem{font-size:1.2rem}.countdown{gap:.3rem}.countdown div{min-width:0;flex:1;padding:1rem .2rem}.countdown strong{font-size:2.15rem}.countdown span{font-size:.48rem}.countdown em{font-size:1.25rem}.event-grid{gap:.7rem}.info-card{padding:1.6rem .65rem}.info-card strong{font-size:1.05rem}.actions>*{width:100%}.slides{height:67vh}.slide figcaption{font-size:1.25rem;padding:0 1rem}.music-label{display:none}.music-toggle{padding:.5rem}.kicker{letter-spacing:.22em}.quote-band{padding:6rem 8%}}


/* Mariposas animadas — tema principal de los XV */
.butterfly-field{position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.4s ease}
body:not(.locked) .butterfly-field{opacity:1}
.butterfly{--size:34px;--duration:18s;--delay:0s;--start-y:50vh;--end-y:18vh;position:absolute;left:-12vw;top:0;width:var(--size);height:calc(var(--size)*.72);filter:drop-shadow(0 0 8px rgba(255,230,166,.36));opacity:0;animation:butterflyFlight var(--duration) linear var(--delay) infinite;will-change:transform,opacity}
.butterfly-inner{position:absolute;inset:0;animation:butterflyFloat 2.2s ease-in-out infinite}
.butterfly-wing{position:absolute;top:8%;width:48%;height:70%;background:radial-gradient(circle at 58% 45%,rgba(255,248,220,.96) 0 9%,#f3cf78 23%,#c79235 58%,rgba(91,49,119,.88) 100%);border:1px solid rgba(255,240,188,.75);box-shadow:inset 0 0 7px rgba(255,255,255,.4);animation:wingFlap .5s ease-in-out infinite alternate}
.butterfly-wing::after{content:"";position:absolute;width:60%;height:48%;bottom:-28%;background:linear-gradient(145deg,#d9b35f,#754381);border:1px solid rgba(255,230,166,.55)}
.butterfly-wing.left{right:50%;border-radius:90% 42% 78% 32%;transform-origin:100% 55%}.butterfly-wing.left::after{right:4%;border-radius:78% 22% 75% 40%}
.butterfly-wing.right{left:50%;border-radius:42% 90% 32% 78%;transform-origin:0 55%;animation-direction:alternate-reverse}.butterfly-wing.right::after{left:4%;border-radius:22% 78% 40% 75%}
.butterfly-body{position:absolute;z-index:2;left:47%;top:18%;width:6%;height:65%;border-radius:999px;background:linear-gradient(#fff0bd,#6f426f 70%);box-shadow:0 0 5px rgba(255,230,166,.65)}
.butterfly-body::before,.butterfly-body::after{content:"";position:absolute;top:-22%;width:1px;height:34%;background:#ffe6a6;transform-origin:bottom}.butterfly-body::before{left:35%;transform:rotate(-32deg)}.butterfly-body::after{right:35%;transform:rotate(32deg)}
@keyframes wingFlap{from{transform:perspective(90px) rotateY(66deg)}to{transform:perspective(90px) rotateY(8deg)}}
@keyframes butterflyFloat{0%,100%{transform:translateY(-8px) rotate(-4deg)}50%{transform:translateY(10px) rotate(5deg)}}
@keyframes butterflyFlight{0%{transform:translate3d(-12vw,var(--start-y),0) scale(.72);opacity:0}7%{opacity:.82}28%{transform:translate3d(26vw,calc(var(--start-y) - 13vh),0) scale(.9)}52%{transform:translate3d(55vw,calc(var(--end-y) + 18vh),0) scale(1)}76%{transform:translate3d(83vw,var(--end-y),0) scale(.82);opacity:.78}100%{transform:translate3d(116vw,calc(var(--end-y) - 10vh),0) scale(.62);opacity:0}}
@media(max-width:600px){.butterfly{--size:27px;filter:drop-shadow(0 0 5px rgba(255,230,166,.3))}.butterfly:nth-child(n+8){display:none}}
@media(prefers-reduced-motion:reduce){.butterfly-field{display:none}}


/* Mariposas v2: silueta SVG reconocible y visibles desde la portada */
.butterfly-field{z-index:55;opacity:1}
body:not(.locked) .butterfly-field{opacity:1}
.butterfly{width:var(--size);height:calc(var(--size)*.75);filter:drop-shadow(0 2px 5px rgba(0,0,0,.35)) drop-shadow(0 0 7px rgba(255,230,166,.38))}
.butterfly-inner,.butterfly-svg{display:block;width:100%;height:100%;overflow:visible}
.butterfly-svg{transform:rotate(-7deg)}
.svg-wing{transform-box:fill-box;animation:svgWingFlap .62s ease-in-out infinite alternate}
.svg-wing-left{transform-origin:right center}
.svg-wing-right{transform-origin:left center;animation-direction:alternate-reverse}
.wing-main{fill:url("#none");fill:#d9b35f;stroke:#fff0bd;stroke-width:2.1;stroke-linejoin:round}
.svg-wing-left .wing-main{fill:#d7aa4c}.svg-wing-right .wing-main{fill:#c5913f}
.wing-mark{fill:none;stroke:#70427e;stroke-width:3;stroke-linecap:round;opacity:.9}
.svg-wing circle{fill:#fff0bd;stroke:#70427e;stroke-width:2}
.svg-body{fill:#39233f;stroke:#ffe6a6;stroke-width:1.5}.svg-head{fill:#503052;stroke:#ffe6a6;stroke-width:1.5}
.antenna{fill:none;stroke:#ffe6a6;stroke-width:2;stroke-linecap:round}
@keyframes svgWingFlap{from{transform:perspective(110px) rotateY(58deg) scaleX(.7)}to{transform:perspective(110px) rotateY(4deg) scaleX(1)}}
@media(max-width:600px){.butterfly-field{z-index:55}.butterfly{filter:drop-shadow(0 1px 3px rgba(0,0,0,.35)) drop-shadow(0 0 4px rgba(255,230,166,.3))}}


/* Corrección v3: visibles y reconocibles en todos los equipos */
.butterfly{min-width:30px;min-height:23px}
.svg-wing .wing-main{stroke-width:2.8}
.svg-wing .wing-mark{stroke-width:3.6}
@media(min-width:601px){.butterfly{filter:drop-shadow(0 3px 7px rgba(0,0,0,.48)) drop-shadow(0 0 10px rgba(255,230,166,.48))}}
@media(prefers-reduced-motion:reduce){
  .butterfly-field{display:block!important;opacity:1!important}
  .butterfly{animation:butterflyFlight var(--duration) linear var(--delay) infinite!important}
  .svg-wing{animation:svgWingFlap .8s ease-in-out infinite alternate!important}
}


/* Animaciones de contenido v4: entradas variadas y elegantes */
.reveal.focus-in{transform:scale(.9);filter:blur(10px)}
.reveal.unfold{transform:perspective(700px) rotateX(-18deg) scale(.94);transform-origin:center top}
.reveal.rotate-left{transform:translateX(-48px) rotate(-2.5deg) scale(.96)}
.reveal.rotate-right{transform:translateX(48px) rotate(2.5deg) scale(.96)}
.reveal.glow-in{transform:scale(.94);filter:blur(7px);text-shadow:0 0 30px rgba(255,230,166,.2)}
.reveal.bloom{transform:scale(.78) rotate(-2deg);filter:blur(5px)}
.reveal.focus-in.visible,.reveal.unfold.visible,.reveal.rotate-left.visible,.reveal.rotate-right.visible,.reveal.glow-in.visible,.reveal.bloom.visible{transform:none;filter:none}
.count-section.visible .countdown div{animation:countTileIn .7s cubic-bezier(.2,.8,.2,1) both}
.count-section.visible .countdown div:nth-of-type(1){animation-delay:.08s}.count-section.visible .countdown div:nth-of-type(2){animation-delay:.2s}.count-section.visible .countdown div:nth-of-type(3){animation-delay:.32s}.count-section.visible .countdown div:nth-of-type(4){animation-delay:.44s}
.event-grid .info-card:nth-child(1){transition-delay:.04s}.event-grid .info-card:nth-child(2){transition-delay:.16s}.event-grid .info-card:nth-child(3){transition-delay:.28s}.event-grid .info-card:nth-child(4){transition-delay:.4s}
.gift.visible .envelope{animation:envelopeArrival 1s cubic-bezier(.18,.85,.32,1.25) .25s both, envelopeHover 3s ease-in-out 1.25s infinite}
.gift.visible .flap{animation:flapOpen 1.1s ease .65s both}
.gallery .section-head.visible+.carousel{transition-delay:.18s}
footer.visible .footer-stars{animation:footerSparkle 1.8s ease-in-out infinite}
@keyframes countTileIn{0%{opacity:0;transform:translateY(28px) rotateX(-32deg)}100%{opacity:1;transform:none}}
@keyframes envelopeArrival{0%{opacity:0;transform:scale(.4) rotate(-12deg)}70%{transform:scale(1.12) rotate(3deg)}100%{opacity:1;transform:none}}
@keyframes envelopeHover{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes flapOpen{0%{opacity:.2;transform:rotate(0)}100%{opacity:1;transform:rotate(32deg)}}
@keyframes footerSparkle{0%,100%{opacity:.5;letter-spacing:.05em}50%{opacity:1;letter-spacing:.22em;text-shadow:0 0 16px var(--gold2)}}
@media(max-width:600px){.reveal.rotate-left{transform:translateX(-28px) rotate(-1.5deg)}.reveal.rotate-right{transform:translateX(28px) rotate(1.5deg)}}
@media(prefers-reduced-motion:reduce){.reveal.focus-in,.reveal.unfold,.reveal.rotate-left,.reveal.rotate-right,.reveal.glow-in,.reveal.bloom{filter:none}}


/* Navegación rápida v5 */
#inicio,#fecha,#celebracion,#galeria,#rsvp{scroll-margin-top:24px}
.reading-progress{position:fixed;z-index:45;top:0;left:0;width:100%;height:3px;background:rgba(255,255,255,.05);opacity:0;transition:opacity .5s}
.reading-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#8c5aa0,var(--gold2),#d9b35f);box-shadow:0 0 12px rgba(255,230,166,.65)}
body:not(.locked) .reading-progress{opacity:1}
.quick-nav{position:fixed;z-index:44;right:18px;top:50%;display:flex;flex-direction:column;gap:8px;transform:translate(110px,-50%);opacity:0;pointer-events:none;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .5s}
body:not(.locked) .quick-nav{transform:translate(0,-50%);opacity:1;pointer-events:auto}
.quick-nav a{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:9px;min-height:42px;color:#d8dfed;text-decoration:none}
.quick-nav a b{order:2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font:500 .88rem Cinzel,serif;background:rgba(2,8,23,.78);border:1px solid rgba(255,230,166,.25);backdrop-filter:blur(12px);box-shadow:0 8px 26px rgba(0,0,0,.3);transition:.3s}
.quick-nav a span{padding:.5rem .75rem;border-radius:999px;background:rgba(2,8,23,.82);border:1px solid rgba(255,230,166,.18);font-size:.58rem;letter-spacing:.11em;text-transform:uppercase;opacity:0;transform:translateX(10px);transition:.3s;pointer-events:none}
.quick-nav a:hover span,.quick-nav a:focus-visible span,.quick-nav a.active span{opacity:1;transform:none}
.quick-nav a:hover b,.quick-nav a:focus-visible b,.quick-nav a.active b{color:#07152f;background:linear-gradient(135deg,#fff0bd,#c99d45);border-color:#fff0bd;box-shadow:0 0 20px rgba(255,230,166,.35)}
@media(max-width:600px){
  #inicio,#fecha,#celebracion,#galeria,#rsvp{scroll-margin-top:12px}
  body{padding-bottom:82px}
  .quick-nav{left:10px;right:10px;top:auto;bottom:max(9px,env(safe-area-inset-bottom));height:64px;flex-direction:row;justify-content:space-around;gap:2px;padding:7px 6px;border-radius:23px;background:rgba(2,8,23,.88);border:1px solid rgba(255,230,166,.23);backdrop-filter:blur(16px);box-shadow:0 14px 45px rgba(0,0,0,.5);transform:translateY(100px)}
  body:not(.locked) .quick-nav{transform:none}
  .quick-nav a{flex:1;min-width:0;min-height:48px;flex-direction:column;justify-content:center;gap:2px;border-radius:16px}
  .quick-nav a b{order:0;width:auto;height:auto;border:0;background:transparent;box-shadow:none;font-size:.86rem}
  .quick-nav a span,.quick-nav a:hover span,.quick-nav a:focus-visible span,.quick-nav a.active span{display:block;padding:0;border:0;background:transparent;opacity:1;transform:none;font-size:.43rem;letter-spacing:.05em;white-space:nowrap}
  .quick-nav a.active{background:linear-gradient(135deg,rgba(255,240,189,.18),rgba(201,157,69,.09))}
  .quick-nav a.active b,.quick-nav a:hover b,.quick-nav a:focus-visible b{color:var(--gold2);background:transparent;box-shadow:none}
  .music-toggle{bottom:86px}
}


/* Ajuste final v6: botones de navegación ligeramente más grandes */
.quick-nav a{min-height:48px}
.quick-nav a b{width:46px;height:46px;font-size:1rem}
.quick-nav a span{font-size:.64rem;padding:.58rem .86rem}
@media(max-width:600px){
  body{padding-bottom:90px}
  .quick-nav{height:72px;padding:8px 7px;border-radius:25px}
  .quick-nav a{min-height:56px}
  .quick-nav a b{width:auto;height:auto;font-size:1.08rem}
  .quick-nav a span,.quick-nav a:hover span,.quick-nav a:focus-visible span,.quick-nav a.active span{font-size:.5rem}
  .music-toggle{bottom:94px}
}


/* Confirmación registrada v8 */
.rsvp-status{max-width:620px;margin:0 auto;text-align:center;padding:2.4rem 2rem;border:1px solid rgba(255,230,166,.3);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.025));box-shadow:0 24px 55px rgba(0,0,0,.24)}
.rsvp-status span{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 1rem;border-radius:50%;background:linear-gradient(135deg,#fff0bd,#c99d45);color:#07152f;font-size:1.7rem}
.rsvp-status h4{margin:.3rem 0 .7rem;font:500 1.8rem 'Cormorant Garamond',serif;color:var(--gold2)}
.rsvp-status p{margin:0;color:var(--muted);line-height:1.6}
.modal button:disabled{opacity:.62;cursor:wait}
