.invitacion-envelope-root{background-color:var(--wedding-dark);display:flex;justify-content:center;align-items:flex-start}.envelope-contenedor,.invitacion-envelope-root{position:relative;width:100%;min-height:100vh;padding:0;box-sizing:border-box}.envelope-contenedor{max-width:430px;margin:0 auto;background-color:var(--wedding-gold);box-shadow:0 0 45px rgba(0,0,0,.35);overflow-x:hidden;perspective:2000px}.main-wrapper{display:flex;flex-direction:column;justify-content:space-between;align-items:center;width:100%;min-height:100vh;min-height:100dvh;padding:40px 0 36px;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:min-height .4s ease,padding .4s ease}.sobre-seccion{cursor:pointer}.sobre-seccion:focus-visible{outline:3px solid var(--wedding-gold);outline-offset:4px;border-radius:20px}.sobre-seccion.sobre-abierto{min-height:480px;padding-bottom:12px}.cinta_superior{width:185px;margin-bottom:150px;opacity:1;z-index:100;pointer-events:none}.instruccion-abrir{margin-top:50px;z-index:10;font-family:var(--font-reenie),"Reenie Beanie",cursive;color:var(--wedding-brown-muted);font-size:30px;line-height:1;text-align:center;white-space:nowrap;opacity:1;pointer-events:none;transition:opacity .3s ease,transform .3s ease,max-height .3s ease,margin .3s ease;max-height:50px}.instruccion-abrir.oculto{transform:translateY(10px);opacity:0;max-height:0;margin:0;overflow:hidden}.desktop-scaler{position:relative;width:300px;height:300px;transform:scale(1);transform-style:preserve-3d;transform-origin:center;transition:transform .6s cubic-bezier(.22,1,.36,1)}.desktop-scaler:hover{transform:scale(1.03) rotate(2deg)}.animador-loop,.hover-wrapper{width:100%;height:100%;transform-style:preserve-3d}.animador-loop.idle{animation:headShake 3.5s ease-in-out infinite}@keyframes headShake{0%{transform:rotate(0deg)}6.5%{transform:rotate(-2deg)}18.5%{transform:rotate(1.5deg)}31.5%{transform:rotate(-1deg)}43.5%{transform:rotate(.5deg)}50%{transform:rotate(0deg)}}@keyframes abrir-sobre{0%{transform:rotateY(0deg) rotate(0deg)}45%{transform:rotateY(90deg) rotate(-7deg)}to{transform:rotateY(180deg) rotate(0deg)}}.escenario{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.22,1,.36,1)}.escenario.active{animation:abrir-sobre 1.1s cubic-bezier(.22,1,.36,1) forwards}.cara{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden}.frontal{z-index:2}.trasera{transform:rotateY(180deg)}.img-capa{display:block}.capa,.img-capa{width:100%;height:auto;pointer-events:none}.capa{position:absolute;bottom:0;left:0}.capa-fondo{z-index:1;opacity:0}.capa-solapa{z-index:4;opacity:0}.escenario.active .capa-fondo,.escenario.active .capa-solapa{opacity:1;transition:opacity .1s ease .8s}.capa-cerrada{z-index:5;height:100%;opacity:1}.escenario.active .capa-cerrada{opacity:0;transition:opacity .3s ease .9s}.contenido{position:absolute;-o-object-fit:contain;object-fit:contain;opacity:0;pointer-events:none}.escenario.active .contenido{opacity:1}.carta{bottom:46%;left:50%;z-index:2;width:82%;transform:translateX(-50%) translateY(80px) rotate(0deg);filter:drop-shadow(4px 8px 16px rgba(0,0,0,.3))}.escenario.active .carta{transform:translateX(-48%) translateY(-22%) rotate(-8deg);transition:transform .7s cubic-bezier(.22,1,.36,1) 1.5s,opacity .4s ease 1.5s}.f1{bottom:50%;left:-10%;z-index:3;width:42%;transform:translateY(60px) rotate(0deg);filter:drop-shadow(2px 6px 12px rgba(0,0,0,.25))}.escenario.active .f1{transform:translateY(-55%) rotate(-18deg);transition:transform .6s cubic-bezier(.34,1.56,.64,1) 1s,opacity .4s ease 1s}.f2{right:-10%;bottom:62%;z-index:3;width:44%;transform:translateY(60px) rotate(0deg);filter:drop-shadow(2px 6px 12px rgba(0,0,0,.25))}.escenario.active .f2{transform:translateY(-60%) rotate(16deg);transition:transform .8s cubic-bezier(.22,1,.36,1) 1.2s,opacity .4s ease 1.2s}.f3{bottom:20%;left:59%;z-index:3;width:42%;transform:translateX(-50%) translateY(70px) rotate(0deg);filter:drop-shadow(2px 6px 12px rgba(0,0,0,.25))}.escenario.active .f3{transform:translateX(-50%) translateY(-28%) rotate(8deg);transition:transform 1s cubic-bezier(.22,1,.36,1) 1.35s,opacity .4s ease 1.35s}.contenido-expandido{width:100%;animation:fadeIn .6s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.saludo-seccion{width:100%;box-sizing:border-box;padding-top:16px;padding-bottom:32px;margin-bottom:24px}.saludo-nombre{font-family:RL Limo Regular,RL Limo,serif;font-weight:700;color:var(--wedding-brown-dark);letter-spacing:-.2px}.seccion-countdown{flex-direction:column;margin:60px auto 50px;padding:24px 16px 0;background:transparent;border:none;box-shadow:none;box-sizing:border-box;width:100%}.countdown-layout,.seccion-countdown{display:flex;align-items:center;justify-content:center}.countdown-layout{gap:16px;position:relative}.countdown-izq{position:relative;display:flex;flex-direction:column;align-items:flex-start}.countdown-texto-faltan{font-family:RL Limo Regular,RL Limo,serif;font-size:25px;line-height:1;color:var(--wedding-brown-text);transform:rotate(-7deg);margin-bottom:-10px;margin-left:-4px;letter-spacing:-.2px;display:inline-block}.countdown-dias-numero{font-family:RL Limo Bold,RL Limo,serif;font-weight:900;font-size:96px;color:#3b3d45;line-height:.88;letter-spacing:-4px;display:block}.countdown-der{display:flex;align-items:center}.countdown-texto-pie{font-size:24px;line-height:1.15;letter-spacing:-.3px;text-align:left}.countdown-terminada,.countdown-texto-pie{font-family:RL Limo Regular,RL Limo,serif;font-weight:400;color:var(--wedding-brown-text)}.countdown-terminada{font-size:20px;margin:16px 0 0;text-align:center}.separador-polaroids-wrapper{width:100%;padding:0;margin:20px 0 -130px;box-sizing:border-box;position:relative;z-index:20;line-height:0}.separador-polaroids-img{width:100%;max-width:100%;height:auto;display:block;-o-object-fit:cover;object-fit:cover;filter:drop-shadow(0 12px 20px rgba(0,0,0,.16))}.seccion-detalles{background-color:var(--wedding-blush);width:100%;margin:0 auto;display:flex;flex-direction:column;position:relative;z-index:1;overflow:hidden;padding-bottom:28px}.detalles-contenido{width:100%;padding:140px 20px 20px;box-sizing:border-box;text-align:center}.detalles-header{text-align:center;margin-bottom:22px}.detalles-script-intro{display:block;font-family:var(--font-reenie),"Reenie Beanie",cursive;font-size:38px;color:var(--wedding-brown-dark);line-height:1;margin-bottom:2px}.detalles-titulo-principal{margin:0;font-family:RL Limo Bold,RL Limo,serif;font-weight:700;font-size:42px;color:var(--wedding-brown-dark);line-height:1;letter-spacing:-.5px}.detalles-subtitulo{margin:8px auto 0;font-family:RL Limo Regular,RL Limo,serif;font-weight:400;font-size:13px;color:var(--wedding-brown-text);max-width:290px;line-height:1.4;text-align:center}.tarjetas-grid{display:flex;flex-direction:column;align-items:center;gap:32px}.tarjeta-contenedor{width:100%;display:flex;justify-content:center}.tarjeta-enlace{display:block;cursor:pointer;transition:transform .25s ease;max-width:320px;width:100%}.tarjeta-enlace:hover{transform:scale(1.02)}.tarjeta-enlace:focus-visible{outline:3px solid var(--wedding-brown-dark);outline-offset:4px;border-radius:16px;transform:scale(1.02)}.tarjeta-evento{width:100%;height:auto;display:block;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.separador-manos{width:100%;line-height:0;background:linear-gradient(to bottom,var(--wedding-blush) 0,var(--wedding-blush) 70%,var(--wedding-slate) 100%);overflow:hidden;margin:0;padding:0;display:block}.foto-manos-separador{width:100%;max-width:430px;height:auto;display:block;margin:0 auto;-o-object-fit:cover;object-fit:cover;vertical-align:bottom}.seccion-dresscode{background-color:var(--wedding-slate);padding:90px 20px;box-sizing:border-box;flex-direction:column;text-align:center;margin:0}.dresscode-contenido,.seccion-dresscode{width:100%;display:flex;align-items:center;justify-content:center}.img-dresscode{width:100%;max-width:270px;height:auto;display:block;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none}.seccion-regalo-sobre{background-color:var(--wedding-sage,#94977C);padding:90px 20px;box-sizing:border-box;text-align:center;margin:0}.regalo-sobre-contenido,.seccion-regalo-sobre{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.regalo-sobre-contenido{max-width:320px;margin:0 auto}.img-regalo-sobre{width:100%;max-width:290px;height:auto;display:block;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:0 auto}.regalo-sobre-texto{font-family:RL Limo Regular,RL Limo,serif;font-size:12px;color:#ffffff;line-height:1.5;margin:16px auto 0;text-align:center;max-width:290px;letter-spacing:.3px}.seccion-itinerario{position:relative;background-color:var(--wedding-coral,var(--wedding-terracotta,#F6BFA1));width:100%;padding:90px 20px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:0}.itinerario-onda-inferior{position:absolute;bottom:-1px;left:0;width:100%;overflow:hidden;line-height:0;pointer-events:none;z-index:2}.itinerario-onda-svg{position:relative;display:block;width:100%;height:20px;color:var(--wedding-gold)}@media (min-width:480px){.itinerario-onda-svg{height:24px}}.itinerario-contenido{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:360px;margin:0 auto;background-color:#fefefe;border-radius:32px;padding:40px 22px 36px;box-shadow:0 10px 30px rgba(0,0,0,.08);box-sizing:border-box}.itinerario-header{width:100%;text-align:center;margin-bottom:28px}.itinerario-titulo{margin:0;font-weight:700;font-size:40px;color:#4a4533;line-height:1;letter-spacing:-.5px}.itinerario-subtitulo,.itinerario-titulo{font-family:rl-horizon,RL Horizon,sans-serif}.itinerario-subtitulo{margin:8px auto 0;font-weight:400;font-size:14px;color:#55575b;max-width:290px;line-height:1.4;text-align:center}.itinerario-items{gap:38px}.itinerario-item,.itinerario-items{width:100%;display:flex;flex-direction:column;align-items:center}.itinerario-item{max-width:100%;background-color:transparent;border-radius:0;padding:0 12px;box-shadow:none;text-align:center;box-sizing:border-box}.itinerario-icon-wrapper{width:110px;height:95px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.itinerario-icon-img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.itinerario-item-titulo{margin:0 0 6px;font-size:28px;color:#45474b;line-height:1.15;letter-spacing:-.3px}.itinerario-item-hora,.itinerario-item-titulo{font-family:rl-horizon,RL Horizon,sans-serif;font-weight:700}.itinerario-item-hora{margin:0 0 4px;font-size:16px;color:#3e3f42;line-height:1.2;letter-spacing:.2px}.itinerario-item-desc{margin:0;font-size:14px;color:#55575b;line-height:1.35}.itinerario-item-desc,.itinerario-item-nota{font-family:rl-horizon,RL Horizon,sans-serif;font-weight:400}.itinerario-item-nota{margin:3px 0 0;font-size:12px;color:#65676b;line-height:1.25}.separador-pareja{width:100%;line-height:0;background:var(--wedding-coral,var(--wedding-terracotta,#F6BFA1));margin:0;padding:0;display:block}.foto-pareja-separador{width:100%;max-width:430px;height:auto;display:block;margin:0 auto;-o-object-fit:cover;object-fit:cover;vertical-align:bottom}.seccion-rsvp{background-color:transparent;padding:30px 18px 48px;box-sizing:border-box;width:100%}.rsvp-header{text-align:center;margin-bottom:22px}.rsvp-script-intro{display:block;font-family:var(--font-reenie),"Reenie Beanie",cursive;font-size:38px;color:var(--wedding-brown-text);line-height:1;margin-bottom:2px}.rsvp-titulo-principal{margin:0;font-family:RL Limo Bold,RL Limo,serif;font-weight:700;font-size:42px;color:var(--wedding-brown-dark);line-height:1;letter-spacing:-.5px}.rsvp-subtitulo{margin:8px auto 0;font-family:RL Limo Regular,RL Limo,serif;font-size:13px;color:var(--wedding-brown-text);max-width:290px;line-height:1.4;text-align:center}.rsvp-card-wrapper{background-color:#ffffff;border-radius:28px;padding:22px 18px 24px;box-shadow:0 10px 30px rgba(0,0,0,.12);max-width:380px;margin:20px auto 0}@media (max-width:767px){.carta{bottom:56%;left:50%;z-index:2;width:82%;transform:translateX(-50%) translateY(80px) rotate(0deg);filter:drop-shadow(4px 8px 16px rgba(0,0,0,.3))}.cinta_superior{width:140px;margin-bottom:100px;rotate:-10deg}.f1{bottom:58%;left:-10%;width:48%}.f2{right:-10%;bottom:65%;width:46%}.f3{bottom:10%;left:60%;width:58%}.escenario.active .carta{width:82%;transform:translateX(-48%) translateY(-18%) rotate(-5deg)}.escenario.active .f1{z-index:3;transform:translateY(-85px) rotate(-14deg)}.escenario.active .f2{z-index:3;transform:translateY(-90px) rotate(18deg)}.escenario.active .f3{z-index:4;transform:translateX(-50%) translateY(-55px) rotate(8deg)}}@media (prefers-reduced-motion:reduce){.animador-loop.idle{animation:none}.desktop-scaler,.desktop-scaler:hover,.tarjeta-enlace,.tarjeta-enlace:hover{transition:none;transform:none}.contenido-expandido,.escenario,.escenario.active,.escenario.active .capa-cerrada,.escenario.active .capa-fondo,.escenario.active .capa-solapa,.escenario.active .carta,.escenario.active .f1,.escenario.active .f2,.escenario.active .f3,.instruccion-abrir{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}.rsvp-btn-primary{width:100%;padding:14px 24px;border-radius:16px;background-color:var(--wedding-caramel);color:#ffffff;font-size:14px;font-weight:500;border:none;cursor:pointer;box-shadow:0 4px 12px rgba(182,126,84,.25);display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.rsvp-btn-primary:hover{background-color:var(--wedding-caramel-hover);box-shadow:0 6px 16px rgba(182,126,84,.35)}.rsvp-btn-primary:active{background-color:var(--wedding-caramel-active)}.rsvp-btn-primary:disabled{opacity:.6;cursor:not-allowed}.rsvp-btn-primary:focus-visible{outline:2px solid var(--wedding-caramel-dark);outline-offset:2px}.rsvp-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:12px;background-color:var(--wedding-caramel);color:#ffffff;font-size:12px;font-weight:600;border:none;box-shadow:0 2px 6px rgba(182,126,84,.2);cursor:pointer;transition:all .15s ease}.rsvp-btn-secondary:hover{background-color:var(--wedding-caramel-hover)}.rsvp-btn-secondary:focus-visible{outline:2px solid var(--wedding-caramel-dark);outline-offset:2px}.rsvp-btn-text{font-size:12px;color:var(--wedding-caramel-dark);text-decoration:underline;font-weight:500;background:none;border:none;padding:4px;cursor:pointer;transition:color .15s ease}.rsvp-btn-text:hover{color:var(--wedding-brown-dark)}.rsvp-btn-text:focus-visible{outline:2px solid var(--wedding-caramel);outline-offset:2px;border-radius:4px}.rsvp-decision-card{position:relative;padding:14px 16px;border-radius:16px;text-align:left;transition:all .2s ease;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #e7e5e4;background-color:#ffffff}.rsvp-decision-card:hover{border-color:rgba(148,151,124,.5)}.rsvp-decision-card:focus-visible{outline:2px solid var(--wedding-caramel);outline-offset:2px}.rsvp-decision-card--attending{border:2px solid var(--wedding-success-border);background-color:var(--wedding-success-bg);box-shadow:0 1px 3px rgba(0,0,0,.05)}.rsvp-decision-card--declined{border:2px solid var(--wedding-danger-border);background-color:var(--wedding-danger-bg);box-shadow:0 1px 3px rgba(0,0,0,.05)}.rsvp-check-circle{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.rsvp-check-circle--attending{background-color:var(--wedding-sage,#94977C);color:#ffffff}.rsvp-check-circle--declined{background-color:var(--wedding-blush,#EAC0C4);color:#723B44}.rsvp-check-circle--empty{border:2px solid #d6d3d1}.rsvp-input-control{width:100%;padding:8px 12px;border-radius:8px;border:1px solid #d6d3d1;font-size:14px;background-color:#ffffff;color:#292524;outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.rsvp-input-control:focus{border-color:var(--wedding-terracotta);box-shadow:0 0 0 2px rgba(188,107,77,.2)}.scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.scroll-reveal.is-visible{opacity:1;transform:translateY(0)}.scroll-reveal-scale{opacity:0;transform:translateY(20px) scale(.97);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.scroll-reveal-scale.is-visible{opacity:1;transform:translateY(0) scale(1)}@media (prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal-scale{opacity:1!important;transform:none!important;transition:none!important}}