:root{--sage:#8fa382;--sage-mid:#6b8f71;--sage-deep:#3d5c4a;--night:#1c2b24;--cream:#f7f3eb;--champagne:#e8d9b8;--dusty-rose:#c98990;--light-gold:#f2e3a2;--ink:#24302a;--glass:#1c2b247a;--font-display:"Cormorant Garamond", "Palatino Linotype", Palatino, serif;--font-body:Nunito, "Segoe UI", system-ui, sans-serif;--radius:1.25rem;--shell:440px;--pad:1.35rem;--shadow:0 12px 32px #1c2b2429}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--sage-mid) var(--cream)}::selection{background:var(--sage-deep);color:var(--cream)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.bulb,.bokeh,.butterfly,.wing-l,.wing-r,.bloom,.lights,.btn-shimmer:after,.audio-toggle:after{animation:none!important}}html,body{min-height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:var(--night);-webkit-font-smoothing:antialiased;line-height:1.55}html:has([data-overlay]:not(.is-gone)),html:has([data-overlay]:not(.is-gone)) body{overscroll-behavior:none;height:100dvh;overflow:hidden}html:has([data-overlay]:not(.is-gone)) body{width:100%;position:fixed;inset:0}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}a{color:inherit}.skip{z-index:80;background:var(--cream);color:var(--ink);border-radius:999px;padding:.65rem 1rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip:focus{transform:none}.shell{width:min(100%, var(--shell));background:radial-gradient(120% 50% at 10% 12%, #8fa38238, transparent 48%), radial-gradient(90% 40% at 110% 28%, #c989902e, transparent 46%), radial-gradient(80% 40% at 30% 92%, #e8d9b859, transparent 50%), var(--cream);min-height:100vh;margin-inline:auto;position:relative;overflow:clip}.shell:after{content:"";pointer-events:none;opacity:.04;mix-blend-mode:multiply;z-index:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='80' height='80' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");position:absolute;inset:0}.shell>*{z-index:2;position:relative}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.btn{border-radius:var(--radius);cursor:pointer;touch-action:manipulation;width:100%;min-height:3.25rem;box-shadow:var(--shadow);border:0;justify-content:center;align-items:center;gap:.45rem;padding:.9rem 1.25rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background-color .2s,border-color .2s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--light-gold);outline-offset:3px}.btn-primary{background:var(--sage-deep);color:var(--cream)}.btn-ghost{color:var(--cream);box-shadow:none;backdrop-filter:blur(10px);background:#f7f3eb29;border:1px solid #f7f3eb47}.btn-cream{background:var(--cream);color:var(--sage-deep)}.btn-outline{color:var(--sage-deep);box-shadow:none;background:0 0;border:1.5px solid #3d5c4a59}.btn[disabled]{opacity:.55;cursor:not-allowed}.display{font-family:var(--font-display);letter-spacing:-.02em;font-style:italic;font-weight:600;line-height:.95}.section{padding:2.6rem var(--pad) 0}.section-title{font-family:var(--font-display);color:var(--sage-deep);text-align:center;margin:.35rem 0 .75rem;font-size:clamp(2rem,8.5vw,2.55rem);font-style:italic;font-weight:600;line-height:1.05}.lede{color:#3a4a42;text-align:center;max-width:34ch;margin:0 auto}.overlay{z-index:50;background:radial-gradient(circle at 20% 18%, #f2e3a233, transparent 26%), radial-gradient(circle at 80% 12%, #c9899029, transparent 24%), linear-gradient(180deg, #24382f 0%, var(--night) 55%, #15201b 100%);color:var(--cream);overscroll-behavior:none;touch-action:none;place-items:end center;padding:0;display:grid;position:fixed;inset:0;overflow:hidden}.overlay.is-gone{opacity:0;visibility:hidden;pointer-events:none}@media (prefers-reduced-motion:no-preference){[data-overlay]:not(.is-ready):not(.is-gone) [data-overlay-copy]>*{opacity:0}}.overlay-inner{width:100%;min-height:100%;padding:5.5rem var(--pad) 5.8rem;flex-direction:column;justify-content:flex-end;display:flex;position:relative;overflow:hidden}.overlay-copy{z-index:4;text-align:center;width:min(100%,22rem);margin-inline:auto;position:relative}.overlay-lights{z-index:2;position:absolute;top:0;left:0;right:0}.overlay-lights .lights{animation:none;position:relative}.overlay-meadow{z-index:1;pointer-events:none;height:5.75rem;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.overlay-meadow .meadow{width:100%;height:5.75rem;position:relative;bottom:0}.overlay #entrada-title{font-size:clamp(1.7rem,7vw,2.1rem);font-family:var(--font-display);margin:.35rem 0 0;font-weight:600}.overlay .headline{color:var(--cream);margin:.15rem 0 .4rem;font-size:clamp(4.4rem,22vw,5.6rem)}.overlay-hint{max-width:22rem;color:var(--champagne);margin:0 auto 1.5rem}.audio-toggle{z-index:40;width:2.85rem;height:2.85rem;color:var(--cream);cursor:pointer;backdrop-filter:blur(12px);background:#1c2b248c;border:1px solid #f7f3eb47;border-radius:999px;place-items:center;transition:transform .25s,opacity .45s,box-shadow .25s;display:grid;position:fixed;top:.9rem;right:max(.85rem,50% - 220px + .85rem);box-shadow:0 8px 20px #121c1847}.has-motion .audio-toggle{opacity:0}html:has([data-overlay]:not(.is-gone)) .audio-toggle{opacity:0;pointer-events:none}.has-motion body.is-alive .audio-toggle[data-muted=false]:not([disabled]){box-shadow:0 8px 20px #121c1847,0 0 0 1px #f2e3a259}.has-motion body.is-alive .audio-toggle[data-muted=false]:not([disabled]):after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #f2e3a273;animation:2.6s ease-out infinite audioRing;position:absolute;inset:-6px}.audio-toggle:focus-visible{outline:2px solid var(--light-gold);outline-offset:2px}.audio-toggle[disabled]{opacity:.5;cursor:not-allowed}.audio-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.audio-toggle .icon-muted,.audio-toggle[data-muted=true] .icon-on{display:none}.audio-toggle[data-muted=true] .icon-muted{display:block}.hero{color:var(--cream);position:relative}.hero-media{background:var(--night);min-height:100dvh;position:relative;overflow:hidden}.hero-media picture,.hero-photo{object-fit:cover;object-position:center 32%;width:100%;height:100%;position:absolute;inset:0}.gallery-slide img,.gallery-slide picture,.gallery-slide picture img{object-fit:cover;width:100%;height:100%}.hero-shade{background:linear-gradient(#1c2b242e 0%,#1c2b2414 28%,#1c2b2433 52%,#121c18e0 100%);position:absolute;inset:0}.hero-copy{z-index:3;padding:0 var(--pad) .4rem;text-align:center;position:absolute;bottom:3.2rem;left:0;right:0}.has-motion .hero-copy>*{opacity:0}.hero-name{font-family:var(--font-display);margin:.35rem 0 0;font-size:clamp(1.55rem,6.4vw,1.9rem);font-weight:600}.hero-headline{color:var(--cream);text-shadow:0 8px 28px #0c141073;margin:.05rem 0 .55rem;font-size:clamp(4.2rem,21vw,5.4rem)}.hero-phrase{max-width:20rem;color:var(--champagne);font-size:1.08rem;font-family:var(--font-display);margin:.15rem auto .55rem;font-style:italic}.hero-date{letter-spacing:.14em;text-transform:uppercase;color:var(--champagne);margin:0 0 1rem;font-size:.72rem;font-weight:700}.countdown{background:var(--glass);backdrop-filter:blur(16px);border:1px solid #f7f3eb24;border-radius:1.15rem;width:min(100%,22.5rem);margin:0 auto 1.1rem;padding:.85rem .7rem .75rem;box-shadow:0 10px 30px #0c141038}.countdown-grid{grid-template-columns:repeat(3,1fr);gap:.25rem;display:grid}.countdown-cell{flex-direction:column;align-items:center;display:flex}.countdown-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.85rem;font-style:italic;line-height:1}.countdown-value.is-tick{animation:.38s digitTick}.countdown-label{letter-spacing:.12em;text-transform:uppercase;color:var(--champagne);margin-top:.2rem;font-size:.62rem}.countdown-message{font-family:var(--font-display);margin:0;font-size:1.55rem;font-style:italic}.countdown[data-mode=message] .countdown-grid,.countdown[data-mode=clock] .countdown-message{display:none}.hero .btn{box-shadow:0 14px 28px #0c141047}.lights{z-index:2;pointer-events:none;transform-origin:50% 0;width:100%;height:34%;animation:7.5s ease-in-out infinite hang;position:absolute;top:0;left:0}.overlay .lights{animation:7.5s ease-in-out infinite hang,1.4s both fadeIn}.bokeh{background:radial-gradient(circle,#f2e3a2b3,#f2e3a200 70%);border-radius:999px;animation:7s ease-in-out infinite floaty;position:absolute}.butterfly{z-index:2;pointer-events:none;opacity:.82;filter:drop-shadow(0 6px 8px #1c2b2440);will-change:transform;animation:8s ease-in-out infinite flutter;position:absolute}.wing-l,.wing-r{transform-origin:32px 34px;transform-box:fill-box}.wing-l{animation:1.05s ease-in-out infinite flapL}.wing-r{animation:1.05s ease-in-out infinite flapR}.meadow{z-index:3;pointer-events:none;width:100%;height:auto;display:block;position:absolute;bottom:-1px;left:0;right:0}.divider{width:min(18rem,78%);color:var(--sage);margin:2.1rem auto 0;display:block}.letter{text-align:center;border:0;max-width:28ch;margin:.2rem auto 0;padding:0}.letter p{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.38rem;font-style:italic;font-weight:500;line-height:1.45}.letter footer{font-family:var(--font-display);color:var(--sage-deep);margin-top:1.15rem;font-size:1.15rem;font-style:italic}.invite-plate{text-align:center;margin-top:1.5rem}.invite-date{font-family:var(--font-display);margin:0;font-size:1.55rem;font-style:italic}.invite-time{letter-spacing:.14em;text-transform:uppercase;color:var(--sage-mid);margin:.25rem 0 1.05rem;font-size:.72rem;font-weight:700}.invite-place,.invite-hosts{color:#3a4a42;margin:.4rem 0 0}.invite-place strong{font-family:var(--font-display);color:var(--ink);font-size:1.4rem;font-style:italic;font-weight:600;display:block}.night{gap:1.2rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid;position:relative}.night:before{content:"";background:linear-gradient(180deg, transparent, var(--champagne), var(--sage), transparent);width:1px;position:absolute;top:.45rem;bottom:.45rem;left:4.35rem}.night li{grid-template-columns:4.1rem 1fr;align-items:start;gap:1.15rem;display:grid}.night time{font-family:var(--font-display);color:var(--sage-deep);text-align:right;font-size:1.4rem;font-style:italic;line-height:1.15}.night-label{margin:.1rem 0 .2rem;font-weight:700}.night p{color:#3a4a42;margin:0}.place-line{text-align:center;color:#3a4a42;margin:.2rem 0 1.15rem}.place-line strong{font-family:var(--font-display);color:var(--ink);font-size:1.4rem;font-style:italic;font-weight:600;display:block}.practical{margin:1.35rem 0 0}.practical dt{font-family:var(--font-display);color:var(--sage-deep);margin-top:1.25rem;font-size:1.45rem;font-style:italic}.practical dt:first-child{margin-top:0}.practical dd{color:#3a4a42;margin:.28rem 0 0}.lede.tight{margin-bottom:.4rem}.gift-details{margin-top:1.15rem}.gift-details summary{cursor:pointer;width:100%;list-style:none}.gift-details summary::-webkit-details-marker,.gift-details summary::marker{content:"";display:none}.gift-details [data-gift-open],.gift-details[open] [data-gift-closed]{display:none}.gift-details[open] [data-gift-open]{display:inline}.copy-row{gap:.55rem;margin-top:.9rem;display:grid}.copy-item{background:#ffffff8c;border:1px solid #3d5c4a2e;border-radius:1rem;grid-template-columns:1fr auto;align-items:center;gap:.5rem;padding:.55rem .55rem .55rem .9rem;display:grid}.copy-item code{font-family:var(--font-body);word-break:break-all;font-size:.88rem}.copy-item button{border-radius:var(--radius);min-width:72px;min-height:48px;color:var(--sage-deep);cursor:pointer;background:0 0;border:1.5px solid #3d5c4a47;font-weight:700}.holder{color:#4b5c54;margin:.8rem 0 0;font-size:.9rem}.form-hint{color:#3a4a42;margin:.4rem 0 0;font-size:.92rem}.section-gallery{padding-left:0;padding-right:0}.section-gallery .section-title{padding-inline:var(--pad)}.swatches{grid-template-columns:repeat(5,1fr);gap:.45rem;margin:1.2rem 0 .85rem;padding:0;list-style:none;display:grid}.swatches li{text-align:center}.swatch{aspect-ratio:1;border:2px solid #f7f3ebe6;border-radius:999px;display:block;box-shadow:0 0 0 1px #24302a1f,0 8px 16px #1c2b241a}.swatches small{color:#4b5c54;margin-top:.4rem;font-size:.68rem;line-height:1.2;display:block}.note{text-align:center;color:var(--sage-deep);margin:1rem 0 0;font-style:italic}.gallery-wrap{position:relative}.gallery-track{scroll-snap-type:x mandatory;scrollbar-width:none;padding:.2rem var(--pad) .4rem;scroll-behavior:smooth;gap:.75rem;display:flex;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{scroll-snap-align:center;aspect-ratio:3/4;border-radius:var(--radius);background:var(--night);box-shadow:var(--shadow);flex:0 0 78%;transition:transform .45s,opacity .45s;overflow:hidden}.gallery-slide:nth-child(2){aspect-ratio:1;flex-basis:62%}.gallery-slide:nth-child(3){aspect-ratio:4/3;flex-basis:86%}.gallery-slide:nth-child(4){aspect-ratio:3/4;flex-basis:70%}.gallery-slide:nth-child(5){aspect-ratio:5/4;flex-basis:74%}.has-motion .gallery-slide{opacity:.72;transform:scale(.96)}.has-motion .gallery-slide.is-active{opacity:1;transform:scale(1)}.gallery-nav{padding:.85rem var(--pad) 0;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.gallery-arrows{gap:.45rem;display:flex}.icon-btn{width:2.6rem;height:2.6rem;color:var(--sage-deep);cursor:pointer;background:#ffffff73;border:1px solid #3d5c4a38;border-radius:999px;place-items:center;display:grid}.icon-btn svg{width:1.1rem;height:1.1rem}.icon-btn:focus-visible{outline:2px solid var(--sage-deep);outline-offset:2px}.dots{gap:.35rem;display:flex}.dots button{cursor:pointer;background:#3d5c4a47;border:0;border-radius:999px;width:.55rem;height:.55rem;padding:0}.dots button[aria-current=true]{background:var(--sage-deep);width:1.1rem}.map-actions,.rsvp-actions{gap:.7rem;margin-top:1.2rem;display:grid}.form{gap:.95rem;margin-top:1.2rem;display:grid}fieldset{border:0;min-inline-size:0;margin:0;padding:0}.form:has([name=asiste][value=true]:checked) [data-qty-wrap],.form:has([name=asiste][value=true]:checked) [data-song-wrap]{display:block}.form:has([name=asiste][value=false]:checked) [data-song-wrap],[data-qty-wrap],[data-song-wrap]{display:none}label,.legend{margin-bottom:.4rem;font-size:.92rem;font-weight:700;display:block}input[type=text],select,textarea{width:100%;color:var(--ink);caret-color:var(--sage-deep);background:#ffffff8c;border:1.5px solid #3d5c4a38;border-radius:1rem;padding:.85rem .95rem}textarea{resize:vertical;min-height:6.2rem}.choices{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.choices label{text-align:center;cursor:pointer;background:#ffffff80;border:1.5px solid #3d5c4a38;border-radius:1rem;margin:0;padding:.8rem .6rem;font-weight:650}.choices input{opacity:0;pointer-events:none;position:absolute}.choices label:has(input:checked){border-color:var(--sage-deep);background:var(--sage-deep);color:var(--cream)}.choices label:has(input:focus-visible){outline:2px solid var(--sage-deep);outline-offset:2px}.form-error{color:#8a3a44;margin:0;font-size:.92rem}.thanks{padding:1.1rem 0 .4rem}.thanks h3{font-family:var(--font-display);color:var(--sage-deep);margin:0 0 .5rem;font-size:1.85rem;font-style:italic}.site-footer{padding:2.4rem var(--pad) 2.3rem;background:var(--night);color:var(--cream);text-align:center;margin-top:2.6rem}.site-footer p{margin:0}.site-footer .hashtag{letter-spacing:.14em;text-transform:uppercase;color:var(--champagne);margin:0 0 .55rem;font-size:.78rem}.site-footer .closing{font-family:var(--font-display);font-size:1.85rem;font-style:italic}.site-footer .brand{letter-spacing:.12em;text-transform:uppercase;color:var(--champagne);margin-top:.85rem;font-size:.82rem}.site-footer .brand a{color:inherit;text-decoration:none}.thanks:not([hidden]){animation:.75s cubic-bezier(.22,1,.36,1) overlayRise}.btn-shimmer{position:relative;overflow:hidden}.btn-shimmer:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 35%,#f2e3a261 50%,#0000 65%);animation:3.8s ease-in-out 1.1s infinite shimmer;position:absolute;inset:0;transform:translate(-130%)}.bloom{transform-box:fill-box;transform-origin:50% 100%;animation:4.8s ease-in-out infinite sway}.bloom:nth-child(2n){animation-duration:5.6s;animation-delay:.5s}.bloom:nth-child(3n){animation-duration:4.2s;animation-delay:.9s}.hero .butterfly,.hero .bulb,.hero .bloom{animation-play-state:paused}body.is-alive .hero .butterfly,body.is-alive .hero .bulb,body.is-alive .hero .bloom{animation-play-state:running}.choices label,.icon-btn,.dots button,input[type=text],select,textarea{transition:background-color .2s,border-color .2s,color .2s,transform .2s}.bulb{filter:drop-shadow(0 0 4px #f2e3a2d9);animation:2.8s ease-in-out infinite twinkle}@media (hover:hover) and (pointer:fine){.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px #1c2b2433}.btn:active{transform:translateY(0)scale(.99)}.icon-btn:hover,.audio-toggle:hover:not([disabled]){transform:scale(1.06)}.swatch{transition:transform .25s,box-shadow .25s}.swatches li:hover .swatch{transform:scale(1.08)}}@keyframes twinkle{0%,to{opacity:.35}50%{opacity:1}}@keyframes flutter{0%,to{transform:translate(0)rotate(-8deg)}50%{transform:translate(14px,-16px)rotate(10deg)}}@keyframes floaty{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:.7;transform:translateY(-8px)}}@keyframes overlayRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes hang{0%,to{transform:rotate(-.45deg)}50%{transform:rotate(.55deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes flapL{0%,to{transform:scaleX(1)rotate(-3deg)}50%{transform:scaleX(.68)rotate(4deg)}}@keyframes flapR{0%,to{transform:scaleX(1)rotate(3deg)}50%{transform:scaleX(.68)rotate(-4deg)}}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(6deg)}}@keyframes shimmer{0%,55%{transform:translate(-130%)}75%,to{transform:translate(130%)}}@keyframes audioRing{0%{opacity:.7;transform:scale(.92)}to{opacity:0;transform:scale(1.28)}}@keyframes digitTick{0%{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:none}}@media (width>=900px){:root{--shell:100%;--paper-wide:min(calc(100% - 3rem), 68rem);--pad:1.6rem}body{background:radial-gradient(ellipse at 50% 0%, #f2e3a21f, transparent 36%), var(--night)}.shell{width:100%;box-shadow:none;background:0 0;overflow-x:clip}.shell:after{display:none}.audio-toggle{right:max(.9rem, calc(env(safe-area-inset-right,0px) + .9rem))}.section-title{font-size:2.35rem}.hero-copy{width:min(100%,38rem);margin-inline:auto;bottom:3.6rem}.hero-headline{font-size:clamp(5rem,8vw,6.4rem)}.hero-phrase{max-width:26rem;font-size:1.28rem}.hero .meadow{height:6.2rem}.sheet{width:var(--paper-wide);background:var(--cream);margin-inline:auto;overflow-x:hidden;box-shadow:0 24px 64px #080e0c47}main>.sheet:first-of-type{border-radius:0 0 var(--radius) var(--radius)}.sheet-end{border-radius:var(--radius);margin-bottom:2.5rem}.invite-column{width:min(100%,440px);margin-inline:auto}.sheet-end .site-footer{border-radius:0 0 var(--radius) var(--radius);margin-top:1.4rem}#fotos{width:min(100% - 2.5rem,86rem);margin-inline:auto;padding:2.8rem 0 3.2rem}#fotos .section-title{color:var(--champagne);margin-bottom:1.5rem;padding-inline:0}.gallery-nav{display:none}.gallery-track{scroll-snap-type:none;grid-template-rows:minmax(16.5rem,1.15fr) minmax(11.5rem,.85fr);grid-template-columns:1.35fr .95fr 1.15fr;gap:1.05rem;min-height:38rem;margin:0;padding:0;display:grid;overflow:visible}.gallery-slide,.gallery-slide:nth-child(2),.gallery-slide:nth-child(3),.gallery-slide:nth-child(4),.gallery-slide:nth-child(5),.has-motion .gallery-slide,.has-motion .gallery-slide.is-active{aspect-ratio:auto;opacity:1;flex:none;min-width:0;height:100%;min-height:0;transform:none}.gallery-slide:first-child{grid-area:1/1/3}.gallery-slide picture{width:100%;height:100%;display:block}.section-gallery+.divider{color:var(--champagne);margin-inline:auto}.site-footer{margin-top:0;padding-block:3.2rem}}
