:root{--crema:#fff8f3;--rosado:#ffd3de;--rosado-suave:#ffe7ed;--durazno:#fff1e6;--hoja-suave:#eaf3e3;--fresa:#e63950;--fresa-oscuro:#8c1f35;--texto:#5c2a34;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--crema);scroll-behavior:smooth;scroll-snap-type:y mandatory;overscroll-behavior-y:none}body{background:var(--crema);color:var(--texto);min-height:100%;font-family:Quicksand,sans-serif;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:"Baloo 2",sans-serif}#bg-fill{z-index:-2;background:var(--crema);position:fixed;inset:0}#gate{z-index:100;background:radial-gradient(circle at 20% 15%, var(--rosado-suave), transparent 55%), radial-gradient(circle at 85% 85%, var(--rosado), transparent 50%), var(--crema);justify-content:center;align-items:center;padding:24px;transition:opacity .7s,visibility .7s;display:flex;position:fixed;inset:0}#gate.hidden{opacity:0;visibility:hidden;pointer-events:none}.gate-card{text-align:center;border:1px solid var(--rosado);background:#fff;border-radius:28px;width:100%;max-width:380px;padding:44px 32px;box-shadow:0 20px 60px #8c1f3526}.gate-photo-wrap{border:4px solid var(--rosado);background:var(--rosado-suave);border-radius:50%;justify-content:center;align-items:center;width:130px;height:130px;margin:0 auto 16px;display:flex;overflow:hidden;box-shadow:0 10px 24px #8c1f3529}.gate-photo-wrap img{object-fit:cover;width:100%;height:100%}.gate-berry{margin-bottom:6px;font-size:44px;animation:3s ease-in-out infinite bob;display:block}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.gate-card h1{color:var(--fresa-oscuro);margin-bottom:6px;font-size:26px;line-height:1.25}.gate-card p{color:#9c6a75;margin-bottom:24px;font-size:14.5px}.gate-input-wrap{border:2px solid var(--rosado);background:var(--durazno);border-radius:16px;justify-content:center;align-items:center;padding:10px 16px;transition:border-color .2s;display:flex}.gate-input-wrap:focus-within{border-color:var(--fresa)}.gate-prefix{color:var(--fresa-oscuro);-webkit-user-select:none;user-select:none;margin-right:8px;font-family:"Baloo 2",sans-serif;font-size:20px;font-weight:700}#gate-input{text-align:center;letter-spacing:4px;width:100px;color:var(--fresa-oscuro);background:0 0;border:none;outline:none;padding:4px 0;font-family:Quicksand,sans-serif;font-size:20px;font-weight:700}#gate-btn{background:var(--fresa);color:#fff;cursor:pointer;border:none;border-radius:16px;width:100%;margin-top:14px;padding:14px;font-family:"Baloo 2",sans-serif;font-size:16px;font-weight:700;transition:transform .15s,background .2s}#gate-btn:hover{background:var(--fresa-oscuro);transform:translateY(-1px)}#gate-btn:disabled{opacity:.6;cursor:not-allowed}#gate-error{color:var(--fresa);min-height:16px;margin-top:12px;font-size:13px;font-weight:600}.gate-gift-link{border-top:1px solid var(--rosado-suave);margin-top:20px;padding-top:16px}.gate-gift-link a{color:var(--fresa-oscuro);background:var(--rosado-suave);border-radius:100px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.gate-gift-link a:hover{background:var(--rosado);color:var(--fresa)}#trail{z-index:40;pointer-events:none;flex-direction:column;align-items:center;gap:12px;display:flex;position:fixed;top:50%;right:14px;transform:translateY(-50%)}.paso{background:#f3d4db;border-radius:50%;width:9px;height:9px;transition:background .4s,transform .4s}.paso.left{margin-right:8px}.paso.right{margin-left:8px}.paso.active{background:var(--fresa);transform:scale(1.35)}@media (width<=640px){#trail{gap:9px;right:8px}.paso{width:7px;height:7px}}.hero,.final{scroll-snap-align:center;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:32px;display:flex;position:relative}.hero{background:linear-gradient(180deg, var(--rosado-suave) 0%, var(--crema) 100%)}.hero-avatar-wrap{margin-bottom:22px;animation:3s ease-in-out infinite bob;display:inline-block;position:relative}.hero-avatar{border:6px solid var(--rosado);background:var(--rosado-suave);border-radius:50%;justify-content:center;align-items:center;width:clamp(190px,48vw,240px);height:clamp(190px,48vw,240px);display:flex;overflow:hidden;box-shadow:0 16px 36px #8c1f3538}.hero-avatar img{object-fit:cover;width:100%;height:100%}.hero-avatar-fallback{font-size:72px}.hero-strawberry-badge{filter:drop-shadow(0 4px 8px #0000002e);-webkit-user-select:none;user-select:none;font-size:44px;position:absolute;top:-8px;left:-8px;transform:rotate(-15deg)}.hero .family-hero-title{color:var(--fresa-oscuro);margin-bottom:8px;font-family:"Baloo 2",sans-serif;font-size:clamp(32px,8vw,54px);font-weight:800;line-height:1.15}.hero .sub-hero-title{color:var(--fresa);margin-top:4px;font-family:"Baloo 2",sans-serif;font-size:clamp(22px,5.5vw,36px);font-weight:700}.hero .sub{color:#a5717c;max-width:360px;margin-top:16px;font-size:16px;font-weight:600}.scroll-hint{color:var(--fresa);flex-direction:column;align-items:center;gap:6px;margin-top:44px;font-size:13px;font-weight:700;animation:2.2s ease-in-out infinite bob;display:flex}.slide{scroll-snap-align:center;justify-content:center;align-items:center;min-height:100dvh;padding:56px 24px;display:flex;position:relative;overflow:hidden}.slide-bg{background:radial-gradient(circle at 32% 28%, var(--tint,var(--rosado-suave)), transparent 62%);z-index:0;will-change:transform;position:absolute;inset:-20%}.tint-a{--tint:var(--rosado-suave)}.tint-b{--tint:var(--durazno)}.tint-c{--tint:var(--hoja-suave)}.slide-content{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:440px;display:flex;position:relative}.foto-wrap,.info-wrap{will-change:transform;flex-direction:column;align-items:center;width:100%;display:flex}.foto-reveal{transition:transform 1s cubic-bezier(.16,1,.3,1),opacity .8s}.r0 .foto-reveal{opacity:0;transform:translateY(130px)scale(.82)rotate(-3deg)}.r1 .foto-reveal{opacity:0;transform:translate(-140px)rotate(-9deg)scale(.88)}.r2 .foto-reveal{opacity:0;transform:translate(140px)rotate(9deg)scale(.88)}.r3 .foto-reveal{opacity:0;transition:transform 1s cubic-bezier(.34,1.56,.64,1),opacity .8s;transform:scale(.5)}.slide.visible .foto-reveal{opacity:1;transform:none}.info-reveal{opacity:0;transition:transform .8s cubic-bezier(.16,1,.3,1) .18s,opacity .7s .18s;transform:translateY(36px)}.slide.visible .info-reveal{opacity:1;transform:none}.foto{aspect-ratio:4/5;background:#fff;border-radius:8px;width:86vw;max-width:400px;margin:0 auto;padding:16px 16px 48px;position:relative;box-shadow:0 20px 45px #8c1f352e,0 2px 6px #8c1f3514}.foto .marco{background:linear-gradient(145deg, var(--rosado-suave), var(--rosado));color:#c98698;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;font-size:12px;font-weight:600;display:flex;position:relative;overflow:hidden}.foto img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder-icon{opacity:.65;font-size:36px}.cinta{transform:translateX(-50%) rotate(var(--cinta-rot,-4deg));z-index:10;background:#ffd3ded9;width:66px;height:22px;position:absolute;top:-14px;left:50%;box-shadow:0 2px 4px #00000014}.info{text-align:center}.mes{background:var(--fresa);color:#fff;border-radius:100px;margin-top:24px;padding:7px 20px;font-family:"Baloo 2",sans-serif;font-size:15px;font-weight:700;display:inline-block}.caption{color:#9c6a75;max-width:300px;margin-top:11px;font-size:15px;font-weight:500;line-height:1.55}.invita .foto{background:var(--fresa)}.invita .marco{background:repeating-linear-gradient(135deg, #ffffff14 0 10px, transparent 10px 20px), var(--fresa);color:#fff;border:2px dashed #fff9;border-radius:8px}.invita .placeholder-icon{opacity:1;font-size:42px}.invita .mes{color:var(--fresa-oscuro);background:#fff}.invita .caption{color:var(--fresa-oscuro);max-width:320px;font-weight:600}.invita h3{color:#fff;margin-top:2px;font-family:"Baloo 2",sans-serif;font-size:19px}.final{background:linear-gradient(180deg, var(--crema) 0%, var(--fresa) 130%);overflow:hidden}.final .eyebrow{color:#fff;letter-spacing:2px;text-transform:uppercase;opacity:.85;font-size:13px;font-weight:700}.final h2{color:#fff;margin-top:14px;font-size:clamp(28px,8vw,44px);line-height:1.2}.final .fecha{color:var(--fresa-oscuro);background:#fff;border-radius:22px;margin-top:22px;padding:18px 34px;font-family:"Baloo 2",sans-serif;font-size:clamp(22px,5.5vw,32px);font-weight:800;line-height:1.3;box-shadow:0 16px 40px #00000026}.final .lugar{color:#fff;opacity:.95;flex-direction:column;align-items:center;gap:6px;margin-top:16px;font-size:15px;font-weight:600;display:flex}.location-address-link{color:#fff;text-underline-offset:4px;align-items:center;gap:6px;margin-top:4px;font-size:15px;font-weight:700;text-decoration:underline;transition:opacity .2s,transform .15s;display:inline-flex}.location-address-link:hover{opacity:.88;transform:translateY(-1px)}.cuenta{z-index:1;gap:10px;margin-top:26px;display:flex;position:relative}.cuenta .bloque{text-align:center;background:#fffffff0;border-radius:16px;width:64px;padding:12px 6px;box-shadow:0 10px 24px #0000001f}.cuenta .num{color:var(--fresa-oscuro);font-family:"Baloo 2",sans-serif;font-size:24px;font-weight:800;line-height:1}.cuenta .label{color:#b5828d;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:10.5px;font-weight:700}.final-actions{z-index:10;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:28px;display:flex;position:relative}.rsvp-btn{background:var(--fresa-oscuro);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:100px;align-items:center;gap:8px;padding:14px 24px;font-family:"Baloo 2",sans-serif;font-size:15px;font-weight:700;transition:transform .15s,background .2s;display:inline-flex;box-shadow:0 14px 30px #0003}.rsvp-btn:hover{background:#6a1426;transform:translateY(-2px)}.rsvp-btn:active{transform:scale(.97)}.rsvp-btn.confirmed{background:#2e7d32;border-color:#a5d6a7}.regalo-btn{color:var(--fresa-oscuro);background:#fff;border-radius:100px;align-items:center;gap:10px;padding:14px 26px;font-family:"Baloo 2",sans-serif;font-size:15px;font-weight:700;text-decoration:none;transition:transform .15s;display:inline-flex;box-shadow:0 14px 30px #00000029}.regalo-btn:active{transform:scale(.97)}.regalo-btn svg{flex-shrink:0}.rsvp-modal-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.rsvp-modal{width:100%;max-width:420px;max-height:90vh;color:var(--texto);text-align:center;border:2px solid var(--rosado);background:#fff;border-radius:24px;padding:28px 24px;overflow-y:auto;box-shadow:0 24px 60px #0000004d}.rsvp-modal h3{color:var(--fresa-oscuro);margin-bottom:6px;font-size:22px}.rsvp-modal p{color:#9c6a75;margin-bottom:16px;font-size:14px}.rsvp-options{gap:12px;margin-bottom:18px;display:flex}.rsvp-opt-btn{border:2px solid var(--rosado);background:var(--durazno);color:var(--fresa-oscuro);cursor:pointer;border-radius:16px;flex:1;padding:12px 10px;font-family:"Baloo 2",sans-serif;font-size:14px;font-weight:700;transition:all .2s}.rsvp-opt-btn.selected-yes{color:#1b5e20;background:#e8f5e9;border-color:#2e7d32}.rsvp-opt-btn.selected-no{color:#b71c1c;background:#ffebee;border-color:#c62828}.rsvp-grid-counts{gap:12px;margin-bottom:14px;display:flex}.rsvp-grid-counts .rsvp-field{flex:1;margin-bottom:0}.rsvp-experience-note{background:var(--rosado-suave);border:1px dashed var(--fresa);color:var(--fresa-oscuro);text-align:left;border-radius:14px;margin-bottom:14px;padding:12px 14px;font-size:12.5px;line-height:1.45}.rsvp-field{text-align:left;margin-bottom:16px}.rsvp-field label{color:var(--fresa-oscuro);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.rsvp-field select,.rsvp-field textarea{border:1px solid var(--rosado);width:100%;color:var(--texto);background:var(--crema);border-radius:12px;outline:none;padding:10px 14px;font-family:Quicksand,sans-serif;font-size:14px}.rsvp-field textarea{resize:none;height:60px}.rsvp-modal-actions{gap:10px;margin-top:20px;display:flex}.rsvp-submit-btn{background:var(--fresa);color:#fff;cursor:pointer;border:none;border-radius:14px;flex:1;padding:12px;font-family:"Baloo 2",sans-serif;font-size:15px;font-weight:700}.rsvp-cancel-btn{border:1px solid var(--rosado);color:#9c6a75;cursor:pointer;background:#fff;border-radius:14px;padding:12px 18px;font-family:Quicksand,sans-serif;font-size:14px;font-weight:600}.final>:not(.semilla){z-index:2;position:relative}.semilla{opacity:.88;pointer-events:none;z-index:1;filter:drop-shadow(0 6px 12px #0000001f);font-size:44px;animation:linear infinite caer;position:absolute;top:-70px}@keyframes caer{to{transform:translateY(115vh)rotate(360deg)}}.floating-nav-btn{z-index:40;color:var(--fresa-oscuro);border:1px solid var(--rosado);cursor:pointer;background:#ffffffeb;border-radius:100px;align-items:center;gap:8px;padding:10px 18px;font-family:"Baloo 2",sans-serif;font-size:14px;font-weight:700;transition:transform .15s,background .2s;display:inline-flex;position:fixed;bottom:20px;left:20px;box-shadow:0 8px 24px #8c1f3526}.floating-nav-btn:hover{background:#fff;transform:translateY(-2px)}.floating-nav-btn:active{transform:scale(.96)}.music-player-btn{z-index:50;border:2px solid var(--rosado);cursor:pointer;background:#fffffff0;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:20px;transition:transform .2s,background .2s,border-color .2s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #8c1f352e}.music-player-btn:hover{border-color:var(--fresa);background:#fff;transform:scale(1.08)}.music-player-btn:active{transform:scale(.94)}.music-player-btn.playing{background:var(--rosado-suave);border-color:var(--fresa);animation:2s ease-in-out infinite pulse-music}@keyframes pulse-music{0%,to{transform:scale(1);box-shadow:0 8px 24px #e6395033}50%{transform:scale(1.06);box-shadow:0 12px 28px #e6395059}}@media (height<=700px){.foto{width:74vw;max-width:280px;padding:12px 12px 36px}.mes{margin-top:14px;font-size:13px}.caption{margin-top:8px;font-size:13.5px}.slide,.hero,.final{padding:28px 20px}}@media (width>=640px){.foto{width:60vw;max-width:400px}}
