*{box-sizing:border-box;margin:0;padding:0}:root{--tierra:#6b7a3a;--tierra-dk:#3d4a1f;--salvia:#8a9a5b;--salvia-lt:#d4dec0;--crema:#faf7f0;--crema-dk:#f0ead8;--arena:#c9a96e;--madera:#8b6f47;--texto:#2b2418}html{scroll-behavior:smooth}body{background:var(--crema);color:var(--texto);font-family:Jost,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");position:fixed;inset:0}.hero{background:linear-gradient(#14190a8c 0%,#1e230f80 40%,#14190ab3 100%),url(https://res.cloudinary.com/dtqj6adlq/image/upload/v1788003141/Firefly_Gemini_Flash_Necesito_usar_una_imagen_para_el_background_hero_de_una_invitacion_digital_web._Este_143168_lfmsy4.png) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-content:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#14190a80 0%,#14190a26 55%,#0000 75%);position:absolute;inset:-10% -20%}.hero:after{content:"";mix-blend-mode:color;pointer-events:none;z-index:1;background:#3c501e0f;position:absolute;inset:0}.branch-top{pointer-events:none;z-index:1;opacity:.25;height:160px;position:absolute;top:0;left:0;right:0}.branch-bottom{pointer-events:none;z-index:1;opacity:.25;height:140px;position:absolute;bottom:0;left:0;right:0;transform:rotate(180deg)}.hero-rings{opacity:0;filter:drop-shadow(0 4px 12px #0006);width:clamp(60px,12vw,100px);margin:0 auto 1.2rem;animation:1.5s .8s forwards fadeIn;display:block}.floral-corner{opacity:0;pointer-events:none;z-index:2;width:clamp(120px,22vw,240px);animation:1.8s .3s forwards fadeIn;position:absolute}.floral-corner.tl{transform-origin:0 0;top:0;left:0}.floral-corner.tr{transform-origin:100% 0;top:0;right:0;transform:scaleX(-1)}.floral-corner.bl{transform-origin:0 100%;bottom:0;left:0;transform:scaleY(-1)}.floral-corner.br{transform-origin:100% 100%;bottom:0;right:0;transform:scale(-1)}.hero-content{z-index:2;text-align:center;opacity:0;max-width:820px;padding:2rem 1.5rem;animation:2s .4s forwards fadeIn;position:relative}@keyframes fadeIn{to{opacity:1}}.hero-pre{letter-spacing:6px;text-transform:uppercase;color:#f5f0de;opacity:.85;text-shadow:0 2px 12px #0000004d;margin-bottom:1.5rem;font-family:Jost,sans-serif;font-size:clamp(.85rem,2vw,1.1rem);font-weight:400;animation:1s .7s both slideDown;display:block}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:.85;transform:translateY(0)}}.hero-names{color:#f5f0de;text-shadow:0 2px 4px #000000d9,0 4px 20px #000000b3,0 8px 50px #00000080;font-family:Parisienne,cursive;font-size:clamp(5rem,20vw,12rem);font-weight:400;line-height:.95;animation:1.4s cubic-bezier(.16,1,.3,1) .5s both riseUp}@keyframes riseUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero-names .amp{color:var(--arena);vertical-align:middle;text-shadow:0 2px 20px #0000004d;margin:0 .1em;font-family:Parisienne,cursive;font-size:.7em;display:inline-block}.hero-branch-divider{justify-content:center;align-items:center;gap:1rem;margin:2rem auto;animation:1s 1.3s both fadeIn;display:flex}.branch-line{background:#f5efe066;flex:1;max-width:100px;height:1px}.hero-gem{background:var(--arena);width:8px;height:8px;display:inline-block;transform:rotate(45deg);box-shadow:0 0 8px #c9a96e99}.hero-date,.hero-lugar{letter-spacing:6px;color:var(--crema);opacity:.8;text-transform:uppercase;margin-bottom:.5rem;font-family:Jost,sans-serif;font-size:clamp(.8rem,2vw,1rem);font-weight:300;animation:1s 1.6s both fadeIn}.hero-lugar{letter-spacing:4px;opacity:.65;margin-bottom:0;font-size:clamp(.7rem,1.7vw,.85rem)}.scroll-cue{z-index:2;text-align:center;opacity:0;cursor:pointer;animation:1s 2.5s forwards fadeIn;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-cue-icon{color:#f5efe099;font-size:1.2rem;animation:2s ease-in-out infinite bounce;display:block}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}section:not(.hero){z-index:1;padding:100px 24px;position:relative}.container{max-width:1080px;margin:0 auto}.section-pre{color:var(--salvia);text-align:center;margin-bottom:.5rem;font-family:Parisienne,cursive;font-size:clamp(1rem,2.5vw,1.3rem);display:block}.section-title{text-align:center;color:var(--tierra-dk);margin-bottom:.5rem;font-family:Fraunces,serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:400;line-height:1.15}.section-title em{color:var(--madera);font-style:italic}.sprig-divider{text-align:center;color:var(--salvia);opacity:.75;margin:1.2rem auto 3.5rem;font-size:1.2rem;display:block}.mensaje-section{background:var(--crema-dk)}.mensaje-wrap{background:var(--crema);max-width:720px;margin:0 auto;padding:4rem 3.5rem;position:relative;box-shadow:0 2px 8px #5a4a2a14,0 20px 60px #5a4a2a0f}.mensaje-wrap:before{content:"";background:linear-gradient(to right, var(--salvia) 0%, var(--arena) 40%, var(--salvia-lt) 70%, var(--tierra) 100%);height:4px;position:absolute;top:0;left:0;right:0}.mensaje-text{color:var(--tierra-dk);z-index:1;text-align:center;font-family:Fraunces,serif;font-size:clamp(1.3rem,2.8vw,1.7rem);font-style:italic;font-weight:500;line-height:1.95;position:relative}.mensaje-firma{color:var(--madera);text-align:center;z-index:1;margin-top:2.5rem;font-family:Parisienne,cursive;font-size:clamp(1.3rem,3vw,1.8rem);position:relative}.countdown-section{background:linear-gradient(180deg, var(--tierra-dk) 0%, #24300f 100%)}.countdown-section .section-pre{color:var(--arena)}.countdown-section .section-title{color:var(--crema)}.countdown-section .section-title em{color:var(--arena)}.countdown{grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:640px;margin:0 auto;display:grid}.countdown-item{text-align:center;background:#ffffff0d;border:1px solid #c9b08a33;border-radius:4px;padding:2.5rem 1rem;position:relative}.countdown-item:after{content:"";background:linear-gradient(to right, transparent, var(--arena), transparent);height:2px;position:absolute;bottom:0;left:20%;right:20%}.countdown-number{color:var(--arena);margin-bottom:.5rem;font-family:Fraunces,serif;font-size:clamp(2.5rem,7vw,4rem);font-style:italic;line-height:1;display:block}.countdown-label{letter-spacing:4px;color:#f5efe066;text-transform:uppercase;font-family:Jost,sans-serif;font-size:.6rem;font-weight:300}.info-section{background:var(--crema)}.info-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.8rem;display:grid}.info-card{border-left:3px solid var(--salvia);background:#fff;border-radius:4px;padding:2.8rem 2.2rem;transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden;box-shadow:0 4px 20px #5a4a2a12}.info-card:after{content:"";background:linear-gradient(to right, var(--salvia), transparent);opacity:0;height:2px;transition:opacity .4s;position:absolute;bottom:0;left:0;right:0}.info-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #5a4a2a21}.info-card:hover:after{opacity:1}.info-card h3{color:var(--tierra-dk);margin-bottom:1.1rem;padding-bottom:.7rem;font-family:Fraunces,serif;font-size:1.4rem;font-style:italic;font-weight:600;position:relative}.info-card h3:after{content:"";background:var(--salvia);width:34px;height:2px;position:absolute;bottom:0;left:0}.info-card p{color:#2b2418;font-family:Fraunces,serif;font-size:1.05rem;line-height:1.8}.info-card p strong{color:var(--tierra-dk);font-weight:700}.info-link{color:var(--madera);border-bottom:1px solid var(--salvia-lt);font-weight:600;text-decoration:none}.info-link:hover{color:var(--tierra-dk);border-color:var(--madera)}.map-wrap{border-radius:4px;max-width:720px;margin:2.5rem auto 0;line-height:0;overflow:hidden;box-shadow:0 4px 20px #5a4a2a1a}.weather-card{border:1px dashed var(--salvia-lt);text-align:center;background:#ffffff8c;border-radius:4px;max-width:640px;margin:2rem auto 0;padding:1.5rem 1.8rem}.weather-card-label{letter-spacing:3px;text-transform:uppercase;color:var(--salvia);margin-bottom:.6rem;font-family:Jost,sans-serif;font-size:.68rem;font-weight:600}.weather-card p:not(.weather-card-label){color:var(--texto);opacity:.85;font-family:Jost,sans-serif;font-size:.95rem;font-style:italic;line-height:1.75}.rsvp-section{background:linear-gradient(180deg, #24300f 0%, var(--tierra-dk) 100%)}.rsvp-section .section-pre{color:var(--arena)}.rsvp-section .section-title{color:var(--crema)}.rsvp-section .section-title em{color:var(--arena)}.highlight-card{background:var(--crema);text-align:center;border-radius:4px;max-width:420px;margin:0 auto 2rem;padding:2.2rem 2rem;box-shadow:0 10px 34px #00000038}.highlight-card h3{letter-spacing:4px;text-transform:uppercase;color:var(--tierra);margin-bottom:.9rem;font-family:Jost,sans-serif;font-size:.7rem;font-weight:600}.highlight-value{color:var(--tierra-dk);font-family:Fraunces,serif;font-size:2.1rem;font-style:italic;font-weight:600}.highlight-alias{letter-spacing:1.5px;color:var(--tierra-dk);font-family:Jost,sans-serif;font-size:1.4rem;font-weight:600}.highlight-sub{color:var(--madera);margin-top:.5rem;font-family:Jost,sans-serif;font-size:.85rem}.rsvp-note{text-align:center;color:#f5efe0bf;max-width:540px;margin:0 auto 2rem;font-family:Jost,sans-serif;font-size:.92rem;line-height:1.8}.rsvp-note strong{color:var(--arena)}.rsvp-form{background:#ffffff0d;border:1px solid #c9b08a33;border-radius:4px;max-width:540px;margin:0 auto;padding:3.5rem 3rem}.form-group{margin-bottom:1.8rem}.form-group label{letter-spacing:4px;color:var(--arena);text-transform:uppercase;margin-bottom:.6rem;font-family:Jost,sans-serif;font-size:.62rem;font-weight:500;display:block}.form-group input,.form-group select{width:100%;color:var(--crema);appearance:none;background:#ffffff0f;border:1px solid #c9b08a40;border-radius:3px;padding:.95rem 1.1rem;font-family:Fraunces,serif;font-size:1rem;transition:border-color .3s,background .3s}.form-group select option{background:var(--tierra-dk);color:var(--crema)}.form-group input:focus,.form-group select:focus{background:#ffffff1a;border-color:#c9b08a8c;outline:none}.form-group input::placeholder{color:#f5efe040;font-style:italic}.submit-btn{background:var(--salvia);color:#fff;letter-spacing:5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:3px;width:100%;margin-top:.5rem;padding:1.2rem;font-family:Jost,sans-serif;font-size:.75rem;font-weight:500;transition:background .3s,transform .2s}.submit-btn:hover{background:var(--tierra);transform:translateY(-2px)}.submit-btn:active{transform:translateY(0)}.footer{text-align:center;z-index:1;background:#171d0b;padding:5rem 2rem 3rem;position:relative}.footer:before{content:"";background:linear-gradient(to right, transparent, var(--salvia), transparent);width:160px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.footer-sprig{color:var(--salvia);margin-bottom:1.8rem;font-size:1.6rem;animation:4s ease-in-out infinite sway;display:block}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.footer-names{color:var(--arena);margin-bottom:.8rem;font-family:Parisienne,cursive;font-size:clamp(2rem,6vw,3.2rem)}.footer-date{letter-spacing:6px;color:#c9b08a66;text-transform:uppercase;margin-bottom:3rem;font-family:Jost,sans-serif;font-size:.7rem;font-weight:300}.powered{letter-spacing:3px;color:#f5efe026;text-transform:uppercase;font-family:Jost,sans-serif;font-size:.6rem}.powered a{color:#c9b08a59;text-decoration:none;transition:color .3s}.powered a:hover{color:var(--arena)}@media (width<=768px){section:not(.hero){padding:70px 20px}.countdown{grid-template-columns:repeat(2,1fr);gap:1rem}.countdown-item{padding:1.8rem .8rem}.info-grid{grid-template-columns:1fr;gap:1.2rem}.info-card{padding:2rem 1.6rem}.mensaje-wrap{padding:2.5rem 1.5rem}.rsvp-form{background:#00000040;padding:2.5rem 1.5rem}.hero{background-position:18%}}button.music-control-btn{background:linear-gradient(135deg, var(--salvia) 0%, var(--tierra-dk) 100%)!important;box-shadow:0 8px 25px #3d4a1f73,inset 0 0 0 4px #ffffff1f,inset 0 0 0 8px #ffffff0f!important}button.music-control-btn:hover{box-shadow:0 12px 35px #3d4a1fa6,inset 0 0 0 4px #fff3,inset 0 0 0 8px #ffffff1a!important}@keyframes pulse{0%,to{box-shadow:0 8px 25px #3d4a1f73,inset 0 0 0 4px #ffffff1f,inset 0 0 0 8px #ffffff0f}50%{box-shadow:0 12px 40px #3d4a1fbf,inset 0 0 0 4px #fff3,inset 0 0 0 8px #ffffff1a}}.section-floral{opacity:.18;pointer-events:none;width:clamp(80px,14vw,160px);position:absolute}.section-floral.tl{top:0;left:0}.section-floral.tr{top:0;right:0;transform:scaleX(-1)}
