:root{--paper:#f6f1e9;--paper-deep:#e9ded1;--ivory:#fffaf2;--ink:#2d2724;--ink-soft:#655b55;--wine:#7b2736;--wine-deep:#42131c;--wine-soft:#a85a64;--sage:#667263;--sage-light:#dce1d8;--gold:#b79662;--line:#42131c2b;--serif:var(--font-editorial), Georgia, "Times New Roman", Times, serif;--sans:var(--font-ui), "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{background:radial-gradient(circle at 15% 5%, #b7966217, transparent 27rem), var(--paper);width:100%;min-width:0;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55;overflow-x:clip}body::selection{background:var(--wine);color:var(--ivory)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto;display:block}main,section,article,header,footer,nav,form,fieldset{min-width:0}.scroll-progress{z-index:1200;background:linear-gradient(90deg, #e3c99a, var(--wine), #e3c99a);pointer-events:none;transform-origin:0;width:100%;height:3px;position:fixed;top:0;left:0;transform:scaleX(0);box-shadow:0 0 14px #7b273666}@supports (animation-timeline:scroll()){.scroll-progress{animation:linear both pageProgress;animation-timeline:scroll()}}@keyframes pageProgress{to{transform:scaleX(1)}}.particle-field{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.particle{top:-12%;left:var(--particle-left);width:var(--particle-size);height:calc(var(--particle-size) * 1.55);opacity:0;animation:particleFall var(--particle-duration) var(--particle-delay) linear infinite;display:block;position:absolute}.particle-petal{background:linear-gradient(145deg,#fffaf2c7,#a85a6440);border:1px solid #b7966275;border-radius:90% 12%;box-shadow:0 0 12px #fffaf22e}.particle-dot{width:calc(var(--particle-size) * .45);height:calc(var(--particle-size) * .45);background:#e5cc9fc7;border-radius:50%;box-shadow:0 0 10px #e5cc9f80}@keyframes particleFall{0%{opacity:0;transform:translateY(-8vh)rotate(0)scale(.76)}10%{opacity:.68}78%{opacity:.46}to{opacity:0;transform:translate3d(var(--particle-drift), 120vh, 0) rotate(var(--particle-spin)) scale(1.08)}}.section-shell{width:min(1180px,100% - clamp(36px,6vw,64px));margin-inline:auto}.eyebrow{color:var(--wine);letter-spacing:.24em;text-transform:uppercase;align-items:center;gap:11px;font-size:.72rem;font-weight:650;line-height:1.4;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:30px;height:1px}.section-heading{max-width:670px}.section-heading.centered{text-align:center;margin-inline:auto}.section-heading.centered .eyebrow{justify-content:center}.section-heading h2,.padrinos-copy h2,.rsvp-copy h2,.closing-content h2{font-family:var(--serif);letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;margin:18px 0 22px;font-size:clamp(2.7rem,5vw,5.2rem);font-weight:500;line-height:1.02}.section-heading p,.rsvp-copy>p{color:var(--ink-soft);font-family:var(--serif);margin:0;font-size:1.2rem;font-weight:500;line-height:1.8}.reveal{opacity:0;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}.invitation-gate{z-index:1000;overscroll-behavior:contain;background:var(--wine-deep);max-width:100vw;min-height:100svh;color:var(--ivory);isolation:isolate;place-items:center start;display:grid;position:fixed;inset:0;overflow:hidden auto}.gate-image,.gate-vignette{z-index:-2;position:absolute;inset:0}.gate-image{object-fit:cover;object-position:50% 42%;transform-origin:54% 42%;width:57%;max-width:none;height:100%;left:43%;transform:scale(1.03)}.gate-vignette{z-index:-1;background:linear-gradient(90deg, var(--wine-deep) 0 35%, #42131cfa 43%, #2a0c1357 68%, #1f060b85), linear-gradient(180deg, #20070c38, transparent 48%, #20070c80)}.invitation-gate:before,.invitation-gate:after{content:"";pointer-events:none;border:1px solid #fffaf257;position:absolute}.invitation-gate:before{inset:22px}.invitation-gate:after{border-color:#fffaf21f;inset:31px}.gate-content{z-index:3;text-align:left;text-shadow:0 2px 28px #23060c85;width:min(560px,40vw,100vw - 96px);margin-left:clamp(48px,8vw,142px);padding:clamp(24px,6vh,48px) 24px;animation:1.2s .15s both gateContent;position:relative}.gate-eyebrow{color:var(--ivory)}.gate-monogram{font-family:var(--serif);letter-spacing:-.08em;text-shadow:0 0 34px #e4cfa72e;justify-content:flex-start;align-items:center;gap:18px;margin:clamp(20px,4vh,38px) 0 clamp(16px,3vh,26px);font-size:clamp(2.5rem,min(6vw,8.5vh),5rem);line-height:1;display:flex}.gate-monogram i{color:#e4cfa7;font-size:.54em;font-weight:400}.gate-content h1{max-width:650px;font-family:var(--serif);letter-spacing:-.05em;overflow-wrap:anywhere;text-wrap:balance;margin:0;font-size:clamp(2.7rem,min(5.7vw,8.5vh),5.2rem);font-weight:500;line-height:1.02}.gate-content>p{letter-spacing:.29em;margin:clamp(16px,3vh,27px) 0 clamp(18px,3.5vh,32px);font-size:.8rem;font-weight:600}.gate-button{min-width:230px;color:var(--ivory);cursor:pointer;background:#fffaf21a;border:1px solid #fffaf2b8;border-radius:100px;flex-direction:column;justify-content:center;align-items:center;padding:16px 30px 14px;transition:all .25s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 14px 40px #1c050a3d}.gate-button:after{content:"";background:linear-gradient(90deg,#0000,#ffffff94,#0000);width:28%;height:240%;transition:transform .65s;position:absolute;top:-70%;left:-40%;transform:rotate(18deg)translate(-260%)}.gate-button:hover:after,.gate-button:focus-visible:after{transform:rotate(18deg)translate(640%)}.gate-button:disabled{cursor:wait}.gate-button:hover,.gate-button:focus-visible{border-color:var(--ivory);background:var(--ivory);color:var(--wine-deep);outline:none;transform:translateY(-3px)}.gate-button span{font-family:var(--serif);font-size:1.07rem}.gate-button small{letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:.64rem;font-weight:650}.gate-note{letter-spacing:.22em;text-transform:uppercase;white-space:normal;max-width:calc(100vw - 96px);font-size:.64rem;position:absolute;bottom:48px;left:clamp(72px,9.5vw,168px);transform:none}.particles-gate{z-index:2;opacity:.65}.gate-opening-light{z-index:6;opacity:0;pointer-events:none;background:linear-gradient(105deg,#0000 35%,#fff6e2d1 49%,#fffffffa 52%,#0000 67%);position:absolute;inset:-20%;transform:translate(-115%)}.invitation-gate.is-opening{pointer-events:none}.invitation-gate.is-opening .gate-content,.invitation-gate.is-opening .gate-note{animation:.7s cubic-bezier(.55,0,.3,1) both gateDeparture}.invitation-gate.is-opening .gate-image{animation:.76s cubic-bezier(.55,0,.3,1) both gateImageOpen}.invitation-gate.is-opening .gate-opening-light{animation:.76s cubic-bezier(.55,0,.3,1) both gateLight}.invitation-gate.is-opening .particle-field{animation:.7s ease-out both particlesBloom}.invitation-gate.is-opening:before,.invitation-gate.is-opening:after{animation:.76s ease-in both frameOpen}@keyframes gateContent{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes gateDeparture{0%{opacity:1;transform:translate(0)scale(1)}55%{opacity:.65}to{opacity:0;transform:translate(-36px)scale(.98)}}@keyframes gateImageOpen{0%{opacity:1;transform:scale(1.03)}to{opacity:.82;transform:scale(1.09)}}@keyframes gateLight{0%{opacity:0;transform:translate(-115%)}32%{opacity:.86}to{opacity:0;transform:translate(115%)}}@keyframes particlesBloom{0%{opacity:.65;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}@keyframes frameOpen{to{opacity:0;transform:scale(1.04)}}.site-header{z-index:50;width:min(1180px,100% - 32px);color:var(--wine-deep);opacity:0;background:#fffaf2f5;border:1px solid #42131c1f;border-radius:100px;justify-content:space-between;align-items:center;padding:11px 13px 11px 19px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)translateY(-18px);box-shadow:0 13px 38px #41231e1a}.site-header.is-active{animation:.85s cubic-bezier(.22,1,.36,1) .48s both headerArrive}.header-mark{font-family:var(--serif);letter-spacing:-.08em;font-size:1.35rem}.header-mark span{color:var(--wine);margin-inline:3px;font-size:.7em}.site-header nav{letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:clamp(18px,2.4vw,38px);font-size:.69rem;font-weight:650;display:flex}.site-header nav a{position:relative}.site-header nav a:not(.nav-rsvp):after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .2s;position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover:after{transform-origin:0;transform:scaleX(1)}.nav-rsvp{border:1px solid var(--wine-deep);border-radius:100px;padding:10px 18px;transition:all .2s}.nav-rsvp:hover{background:var(--wine-deep);color:var(--ivory)}@keyframes headerArrive{0%{opacity:0;transform:translate(-50%)translateY(-18px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.hero{background:radial-gradient(circle at 81% 19%, #a85a641c, transparent 22rem), linear-gradient(118deg, var(--ivory), var(--paper) 54%, #e8ded2);isolation:isolate;perspective:1400px;grid-template-columns:minmax(0,1fr) clamp(280px,32vw,420px);align-items:center;gap:clamp(32px,5vw,80px);min-height:100svh;padding:clamp(110px,14vh,150px) clamp(28px,7vw,112px) clamp(80px,10vh,110px);display:grid;position:relative;overflow:hidden}.hero:before{content:"";border:1px solid #7b27361f;border-radius:50%;width:42vw;height:42vw;position:absolute;top:-16vw;left:-10vw}.hero-grain{opacity:.25;pointer-events:none;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='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-aurora{z-index:-1;background:radial-gradient(circle at 35% 40%,#b7966238,#0000 31%),radial-gradient(circle at 62% 61%,#a85a6430,#0000 39%);border-radius:50%;width:68vw;height:68vw;position:absolute;top:-28vw;right:-14vw}.particles-hero{z-index:0;opacity:.42}.particles-hero .particle-petal{background:linear-gradient(145deg,#fffaf2a8,#7b273638);border-color:#7b27363b}.hero-ghost{z-index:0;color:#7b27360e;font-family:var(--serif);letter-spacing:-.07em;pointer-events:none;white-space:nowrap;font-size:clamp(6rem,14vw,14rem);font-style:italic;font-weight:500;line-height:.7;position:absolute;bottom:5vh;right:-1.5vw;transform:rotate(-4deg)}.hero-copy,.hero-portrait{z-index:1;position:relative}.hero-copy{max-width:720px}.hero-copy h1{color:var(--wine-deep);font-family:var(--serif);letter-spacing:-.06em;overflow-wrap:anywhere;margin:22px 0 23px;font-size:clamp(4rem,7.5vw,8rem);font-weight:500;line-height:.88}.hero-copy h1 em{color:var(--wine);font-size:.48em;font-weight:400}.hero-date{color:var(--wine);letter-spacing:.19em;text-transform:uppercase;margin:0 0 26px;font-size:.73rem;font-weight:650}.hero-intro{max-width:555px;color:var(--ink-soft);font-family:var(--serif);margin:0 0 29px;font-size:clamp(1.06rem,1.35vw,1.3rem);font-weight:500;line-height:1.72}.text-link{color:var(--wine-deep);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #42131c61;align-items:center;gap:14px;padding-bottom:7px;font-size:.72rem;font-weight:650;display:inline-flex}.text-link span{transition:transform .18s}.text-link:hover span{transform:translateY(3px)}.hero-portrait{perspective:1200px;width:min(100%,380px);transform-style:preserve-3d;justify-self:center}.hero-photo-frame{transform-style:preserve-3d;background:#fffaf280;border:1px solid #42131c30;padding:12px;transition:transform .75s cubic-bezier(.22,1,.36,1),box-shadow .75s;position:relative;transform:rotateY(-4deg)rotateX(1.5deg)rotate(1.5deg);box-shadow:0 35px 90px #41231e2e}.hero-portrait:hover .hero-photo-frame{transform:translateY(-9px)rotateY(1.5deg)rotateX(-1deg)rotate(.4deg);box-shadow:0 48px 115px #41231e40}.hero-photo-frame:before{z-index:-1;content:"";border:1px solid #7b273630;position:absolute;inset:26px -28px -26px 26px}.hero-photo-frame img{width:100%;height:auto}.photo-glint{z-index:2;pointer-events:none;position:absolute;inset:12px;overflow:hidden}.photo-glint:after{content:"";background:linear-gradient(90deg,#0000,#fff8e547,#0000);width:35%;height:160%;position:absolute;top:-30%;left:-70%;transform:rotate(14deg)}.experience-open .photo-glint:after{animation:1.4s cubic-bezier(.22,1,.36,1) .65s both photoSweep}.photo-caption{background:var(--wine-deep);color:var(--ivory);font-family:var(--serif);letter-spacing:.04em;padding:10px 17px;font-size:.9rem;font-style:italic;position:absolute;bottom:24px;right:12px;transform:rotate(-1.5deg)}.hero-seal{background:var(--wine);width:98px;height:98px;color:var(--ivory);font-family:var(--serif);border:1px solid #fffaf273;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;top:-34px;right:-16px;box-shadow:0 15px 36px #42131c38}.hero-seal:before{border-radius:inherit;content:"";border:1px solid #fffaf273;position:absolute;inset:6px}.hero-seal span{font-size:1rem}.hero-seal i{color:#ebd6b1;margin-block:2px;font-size:.68rem}.scroll-cue{color:#2d27249e;letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:12px;font-size:.58rem;font-weight:650;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.scroll-cue span{background:currentColor;width:1px;height:30px;display:block}.experience-open .hero-copy{animation:.72s cubic-bezier(.22,1,.36,1) 80ms both heroCopyArrive}.experience-open .hero-portrait{animation:.82s cubic-bezier(.22,1,.36,1) .15s both heroPortraitArrive}@keyframes heroCopyArrive{0%{opacity:0;transform:translate(-24px,18px)}to{opacity:1;transform:translate(0,0)}}@keyframes heroPortraitArrive{0%{opacity:0;transform:translate(28px,22px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes photoSweep{0%{transform:translate(0)rotate(14deg)}to{transform:translate(580%)rotate(14deg)}}.love-note{text-align:center;padding-block:clamp(110px,14vw,190px)}.ornament{color:var(--gold);font-size:1.2rem}.script-line{color:var(--wine);font-family:var(--serif);margin:26px 0 14px;font-size:1.04rem;font-style:italic}.love-note blockquote{max-width:890px;color:var(--wine-deep);font-family:var(--serif);letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;margin:0 auto;font-size:clamp(2.1rem,4.2vw,4.35rem);font-weight:500;line-height:1.12}.verse-reference{color:var(--wine);font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;justify-content:center;align-items:center;gap:13px;margin-top:28px;font-size:.68rem;font-style:normal;font-weight:700;display:flex}.verse-reference:before,.verse-reference:after{content:"";opacity:.55;background:currentColor;width:28px;height:1px}.signature{color:var(--ink-soft);font-family:var(--serif);margin-top:20px;font-size:1rem;font-style:italic}.story{content-visibility:auto;contain-intrinsic-size:auto 2500px;padding-bottom:clamp(120px,13vw,190px);position:relative}.story:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(#0000,#7b273640 12%,#b7966261 50%,#7b273633 88%,#0000);width:1px;position:absolute;top:330px;bottom:80px;left:50%}.story .section-heading{margin-bottom:clamp(70px,9vw,130px)}.story-chapter{z-index:1;grid-template-columns:minmax(280px,.8fr) minmax(300px,.72fr);align-items:center;gap:clamp(50px,9vw,130px);margin-bottom:clamp(80px,11vw,155px);display:grid;position:relative}.story-chapter>*,.event-grid>*,.padrinos-section>*,.rsvp-section>*{min-width:0}.story-chapter:after{z-index:3;border:2px solid var(--paper);background:var(--wine);content:"";border-radius:50%;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #7b27364d,0 0 18px #7b273647}.story-chapter:last-child{margin-bottom:0}.chapter-reverse{grid-template-columns:minmax(300px,.72fr) minmax(280px,.8fr)}.chapter-reverse .chapter-photo{grid-column:2}.chapter-reverse .chapter-copy{grid-area:1/1;justify-self:end}.chapter-photo{perspective:1000px;justify-self:center;max-width:500px;transition:transform .7s cubic-bezier(.22,1,.36,1);position:relative}.chapter-photo:hover{transform:translateY(-8px)rotateY(1.4deg)}.chapter-photo:before{z-index:-1;border:1px solid var(--line);content:"";position:absolute}.chapter-photo img{width:100%;height:auto;transition:box-shadow .4s;box-shadow:0 30px 70px #41231e1f}.chapter-photo:hover img{box-shadow:0 42px 90px #41231e33}.portrait-soft img{object-position:50% 48%}.portrait-soft{aspect-ratio:auto}.portrait-soft:before{inset:28px -28px -28px 28px}.portrait-kiss{aspect-ratio:1;background:var(--paper-deep);border-radius:50% 50% 0 0;width:min(100%,440px);padding:18px}.portrait-kiss img{object-position:50% 50%;border-radius:50% 50% 0 0}.portrait-kiss:before{border-radius:50% 50% 0 0;inset:-17px 17px 17px -17px}.portrait-night{aspect-ratio:auto;width:min(100%,430px)}.portrait-night img{object-position:50% 40%}.portrait-night:before{inset:-25px 25px 25px -25px}.chapter-number{color:var(--wine);letter-spacing:.2em;text-transform:uppercase;font-size:.68rem;font-weight:650}.chapter-copy{max-width:455px}.chapter-copy h3{color:var(--wine-deep);font-family:var(--serif);letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;margin:15px 0 19px;font-size:clamp(2.4rem,4.3vw,4.3rem);font-weight:500;line-height:1}.chapter-copy p{color:var(--ink-soft);font-family:var(--serif);margin:0;font-size:1.08rem;font-weight:500;line-height:1.82}.date-reveal{min-height:720px;color:var(--ivory);isolation:isolate;content-visibility:auto;contain-intrinsic-size:auto 720px;place-items:center start;display:grid;position:relative;overflow:hidden}.date-photo,.date-overlay{z-index:-2;position:absolute;inset:0}.date-photo{background:url(/photos/un-dia-a-tu-lado.jpg) 50% 35%/cover;left:46%;transform:scale(1.04)}.date-overlay{z-index:-1;background:linear-gradient(90deg, var(--wine-deep) 0 39%, #42131cfa 46%, #2a0c1338 72%, #2a0c138a)}.date-content{z-index:2;text-align:left;width:min(560px,44vw);margin-left:clamp(42px,7vw,120px);position:relative}.date-content .eyebrow{color:#ead9b9}.date-layout{max-width:540px;font-family:var(--serif);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(10px,2.5vw,30px);margin:38px 0 42px;display:grid}.date-layout>span,.date-layout>div{min-width:0;font-size:clamp(1.3rem,2.2vw,2rem);font-style:italic}.date-layout>span{text-align:right}.date-layout>strong{letter-spacing:-.07em;text-shadow:0 0 42px #ead9b924;font-size:clamp(5.6rem,11vw,9rem);font-weight:600;line-height:.86;position:relative}.date-layout>strong:before,.date-layout>strong:after{display:none}.date-layout>div{flex-direction:column;gap:4px;display:flex}.button{cursor:pointer;letter-spacing:.12em;text-transform:uppercase;border:1px solid #0000;border-radius:100px;justify-content:center;align-items:center;gap:13px;min-height:50px;padding:13px 23px;font-size:.69rem;font-weight:680;transition:all .22s;display:inline-flex;position:relative;overflow:hidden}.button:after{content:"";background:linear-gradient(90deg,#0000,#ffffff70,#0000);width:24%;height:300%;transition:transform .7s;position:absolute;top:-100%;left:-35%;transform:rotate(18deg)translate(-320%)}.button:hover:after,.button:focus-visible:after{transform:rotate(18deg)translate(720%)}.button:hover,.button:focus-visible{outline:none;transform:translateY(-2px)}.button-light{background:var(--ivory);color:var(--wine-deep);border-color:#fffaf2bf}.button-light:hover{color:var(--ivory);background:0 0}.countdown-section{content-visibility:auto;contain-intrinsic-size:auto 520px;text-align:center;padding-block:clamp(100px,12vw,160px)}.countdown-section>.eyebrow{justify-content:center}.countdown{grid-template-columns:repeat(4,1fr);max-width:900px;margin:50px auto 28px;display:grid}.countdown-item{padding:0 24px;transition:transform .35s cubic-bezier(.22,1,.36,1);position:relative}.countdown-item:hover{transform:translateY(-8px)}.countdown-item:not(:last-child):after{background:var(--line);content:"";width:1px;height:80%;position:absolute;top:50%;right:0;transform:translateY(-50%)}.countdown-item strong{color:var(--wine-deep);font-family:var(--serif);letter-spacing:-.06em;font-size:clamp(3.3rem,8vw,7rem);font-weight:600;line-height:1;display:block}.countdown-item span{color:var(--ink-soft);letter-spacing:.17em;text-transform:uppercase;margin-top:9px;font-size:.63rem;font-weight:650;display:block}.countdown-section>p{color:var(--ink-soft);font-family:var(--serif);margin:0;font-size:.97rem;font-style:italic}.countdown-arrived{color:var(--wine-deep);font-family:var(--serif);margin:42px 0 20px;font-size:clamp(3rem,8vw,6.5rem);font-weight:400}.event-details{content-visibility:auto;contain-intrinsic-size:auto 1000px;padding-block:40px clamp(120px,14vw,190px)}.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:66px;display:grid}.event-card{border:1px solid var(--line);background:#fffaf285;min-height:550px;padding:clamp(44px,6vw,76px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s;position:relative;overflow:hidden}.event-card:before{z-index:0;content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#b7966229,#0000 67%);border-radius:50%;width:120%;height:120%;transition:opacity .5s,transform .8s cubic-bezier(.22,1,.36,1);position:absolute;top:-45%;left:-55%}.event-card>*{z-index:1;position:relative}.event-card.is-visible:hover{transform:translateY(-10px)rotateX(1.2deg);box-shadow:0 34px 80px #41231e29}.event-card:hover:before{opacity:1;transform:translate(38%,30%)}.event-card-accent{border-color:var(--wine-deep);background:radial-gradient(circle at 95% 0%, #b796622b, transparent 20rem), var(--wine-deep);color:var(--ivory)}.event-card:after{border:1px solid var(--line);content:"";border-radius:50%;width:230px;height:230px;position:absolute;bottom:-90px;right:-90px}.event-card-accent:after{border-color:#fffaf221}.event-index{color:#42131c40;font-family:var(--serif);font-size:1rem;font-style:italic;position:absolute;top:25px;right:27px}.event-card-accent .event-index{color:#fffaf254}.event-icon{border:1px solid var(--line);width:62px;height:62px;color:var(--wine);border-radius:50%;place-items:center;margin-bottom:45px;font-size:1rem;display:grid}.event-card-accent .event-icon{color:#ead9b9;border-color:#fffaf247}.event-card-accent .eyebrow{color:#ead9b9}.event-card h3{max-width:460px;font-family:var(--serif);letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;margin:15px 0 18px;font-size:clamp(2.2rem,4vw,4.1rem);font-weight:500;line-height:1}.event-time{color:var(--wine);font-family:var(--serif);margin:0 0 22px;font-size:1.5rem;font-style:italic;font-weight:600}.event-card-accent .event-time{color:#ead9b9}.event-copy{max-width:430px;min-height:76px;color:var(--ink-soft);font-family:var(--serif);margin:0 0 28px;font-size:1.06rem;font-weight:500;line-height:1.65}.event-card-accent .event-copy{color:#fffaf2b8}.button-outline{color:var(--wine-deep);border-color:#42131c7a}.button-outline:hover{background:var(--wine-deep);color:var(--ivory)}.arrival-note{max-width:760px;color:var(--ink-soft);font-family:var(--serif);text-align:center;justify-content:center;align-items:center;gap:14px;margin:44px auto 0;font-size:1rem;font-style:italic;display:flex}.arrival-note span{color:var(--gold);font-size:1.5rem}.padrinos-section{content-visibility:auto;contain-intrinsic-size:auto 760px;background:#e8ded2;grid-template-columns:.92fr 1.08fr;min-height:760px;display:grid}.padrinos-image{min-height:720px;overflow:hidden}.padrinos-image img{object-fit:cover;object-position:50% 38%;width:100%;height:100%;transition:transform .65s cubic-bezier(.22,1,.36,1);transform:scale(1.015)}.padrinos-image:hover img{transform:scale(1.035)}.padrinos-copy{flex-direction:column;justify-content:center;max-width:720px;padding:clamp(70px,9vw,135px);display:flex}.padrinos-copy h2{color:var(--wine-deep);overflow-wrap:anywhere;text-wrap:balance}.names-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;margin-top:24px;padding-block:32px;display:grid}.names-list p{font-family:var(--serif);margin:0;font-size:clamp(1.2rem,2vw,1.75rem);font-weight:500;line-height:1.35}.names-list>span{color:var(--wine);font-family:var(--serif);font-size:1.4rem;font-style:italic}.padrinos-note{max-width:480px;color:var(--ink-soft);font-family:var(--serif);margin:26px 0 0;font-style:italic;line-height:1.65}.gallery-section{content-visibility:auto;contain-intrinsic-size:auto 1800px;padding-block:clamp(120px,14vw,190px)}.gallery-grid{columns:3 280px;column-gap:16px;margin-top:66px}.gallery-item{break-inside:avoid;cursor:zoom-in;background:#fffaf2c7;border:1px solid #42131c1a;width:100%;margin:0 0 16px;padding:10px;transition:transform .26s,box-shadow .26s;display:block;position:relative;overflow:hidden;box-shadow:0 12px 34px #41231e17}.gallery-item:nth-child(3n+1){transform:rotate(-.25deg)}.gallery-item:nth-child(3n+2){transform:rotate(.3deg)}.gallery-item:nth-child(3n){transform:rotate(-.1deg)}.gallery-item img{object-fit:contain;width:100%;height:auto}.gallery-item>span{color:var(--wine-deep);letter-spacing:.1em;opacity:0;text-transform:uppercase;background:#fffaf2de;border-radius:100px;padding:8px 11px;font-size:.55rem;font-weight:700;transition:all .22s;position:absolute;bottom:14px;right:14px;transform:translateY(6px)}.gallery-item:hover,.gallery-item:focus-visible{transform:translateY(-6px)rotate(0);box-shadow:0 20px 48px #41231e26}.gallery-item:hover>span,.gallery-item:focus-visible>span{opacity:1;transform:none}.gallery-item:focus-visible{outline:3px solid var(--wine);outline-offset:3px}.rsvp-section{background:radial-gradient(circle at 0% 100%, #b7966224, transparent 34rem), var(--wine-deep);color:var(--ivory);isolation:isolate;content-visibility:auto;contain-intrinsic-size:auto 900px;grid-template-columns:minmax(0,.85fr) minmax(420px,.78fr);gap:clamp(70px,10vw,150px);padding:clamp(100px,12vw,170px) max(6vw,50vw - 590px);display:grid;position:relative;overflow:hidden}.rsvp-flower{border:1px solid #fffaf217;border-radius:50%;width:500px;height:500px;position:absolute;bottom:-190px;right:-180px}.rsvp-flower:before,.rsvp-flower:after{content:"";border:1px solid #fffaf217;border-radius:50%;position:absolute}.rsvp-flower:before{inset:70px}.rsvp-flower:after{inset:140px}.rsvp-copy{z-index:2;align-self:center;position:relative}.rsvp-copy .eyebrow{color:#ead9b9}.rsvp-copy>p{color:#fffaf2ad}.rsvp-deadline{border-top:1px solid #fffaf22e;flex-direction:column;gap:8px;margin-top:44px;padding-top:28px;display:flex}.rsvp-deadline span{color:#fffaf28c;font-family:var(--serif);font-size:.95rem;font-style:italic}.rsvp-deadline strong{color:#ead9b9;font-family:var(--serif);letter-spacing:.08em;font-size:1.5rem;font-weight:400}.rsvp-form{z-index:1;color:var(--ink);background:linear-gradient(145deg,#fffaf2fa,#f6f1e9f2);border:1px solid #b7966257;flex-direction:column;gap:23px;padding:clamp(32px,4vw,52px);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;display:flex;position:relative;transform:none;box-shadow:0 32px 80px #18030845,inset 0 1px #ffffffe6}.rsvp-form.reveal.is-visible{transform:none}.rsvp-form.is-visible:hover,.rsvp-form:focus-within{transform:translateY(-3px);box-shadow:0 42px 105px #18030857,inset 0 1px #ffffffe6}.rsvp-form>label,.rsvp-form legend{color:var(--wine-deep);font-family:var(--serif);flex-direction:column;gap:10px;font-size:.99rem;font-weight:600;display:flex}.rsvp-form label>span{color:var(--ink-soft);font-family:var(--sans);font-size:.68rem;font-weight:500}.rsvp-form input[type=text],.rsvp-form select,.rsvp-form textarea{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #42131c3d;border-radius:0;outline:none}.rsvp-form input[type=text],.rsvp-form select{height:45px}.rsvp-form textarea{resize:vertical;min-height:78px;padding:11px 0}.rsvp-form input:focus,.rsvp-form select:focus,.rsvp-form textarea:focus{border-color:var(--wine)}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#9d9189}.rsvp-form fieldset{border:0;padding:0}.radio-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px;display:grid}.radio-grid label{cursor:pointer}.radio-grid input{opacity:0;pointer-events:none;position:absolute}.radio-grid span{min-height:48px;color:var(--ink-soft);letter-spacing:.05em;text-align:center;text-transform:uppercase;border:1px solid #42131c33;justify-content:center;align-items:center;padding:10px;font-size:.68rem;font-weight:650;transition:all .18s;display:flex}.radio-grid input:checked+span{border-color:var(--wine);background:var(--wine);color:var(--ivory)}.radio-grid input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.button-solid{border-color:var(--wine-deep);background:var(--wine-deep);width:100%;color:var(--ivory)}.button-solid:hover{background:var(--wine)}.form-help,.share-status{color:var(--ink-soft);text-align:center;margin:-13px 0 0;font-size:.68rem;line-height:1.5}.share-status{color:var(--wine);margin-top:-8px;font-weight:650}.closing-section{background:var(--wine-deep);min-height:800px;color:var(--ivory);isolation:isolate;content-visibility:auto;contain-intrinsic-size:auto 800px;place-items:center start;display:grid;position:relative;overflow:hidden}.closing-image,.closing-overlay{z-index:-2;position:absolute;inset:0}.closing-image{background:url(/photos/rosas-y-recuerdos.jpg) top/cover;left:46%;transform:scale(1.02)}.closing-overlay{z-index:-1;background:linear-gradient(90deg, var(--wine-deep) 0 39%, #42131cfa 46%, #27070d38 74%, #27070d73)}.closing-content{z-index:2;text-align:left;width:min(560px,44vw);margin-left:clamp(42px,7vw,120px);padding:50px 20px;position:relative}.closing-content .eyebrow{color:#ead9b9}.closing-content h2{overflow-wrap:anywhere;text-wrap:balance;margin-inline:auto;font-size:clamp(3rem,5vw,5rem);font-weight:500;line-height:1.04}.closing-monogram{font-family:var(--serif);letter-spacing:-.07em;margin:46px 0 20px;font-size:3rem}.closing-monogram span{color:#ead9b9;font-size:.65em;font-style:italic}.closing-content>p{letter-spacing:.27em;font-size:.67rem;font-weight:650}footer{color:#fffaf2ad;letter-spacing:.12em;text-transform:uppercase;background:#271016;justify-content:space-between;align-items:center;padding:26px 4.5vw;font-size:.65rem;display:flex}footer span{color:var(--ivory);font-family:var(--serif);letter-spacing:0;text-transform:none;font-size:1rem}.music-dock{z-index:90;width:min(220px,100vw - 20px);color:var(--ivory);background:#2d0e15fa;border:1px solid #fffaf22e;border-radius:16px;align-items:center;animation:.6s .25s both musicIn;display:flex;position:fixed;bottom:18px;right:18px;overflow:hidden;box-shadow:0 18px 50px #22080d4d}.music-video{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.music-video iframe{border:0;width:1px;height:1px}.music-dock>button{min-width:0;min-height:61px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:auto;grid-template-columns:30px 1fr 18px;align-items:center;gap:9px;padding:10px 13px;display:grid}.music-note{color:#ead9b9;border:1px solid #fffaf24d;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.music-dock>button>span:nth-child(2){min-width:0;font-family:var(--serif);text-overflow:ellipsis;font-size:.82rem;line-height:1.2;overflow:hidden}.music-dock small{color:#fffaf280;font-family:var(--sans);letter-spacing:.13em;text-transform:uppercase;margin-bottom:3px;font-size:.52rem;font-weight:650;display:block}.play-icon{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid #ead9b9;width:0;height:0}.equalizer{justify-content:center;align-items:flex-end;gap:2px;height:14px;display:flex}.equalizer i{background:#ead9b9;border-radius:2px;width:2px;height:5px;animation:.85s ease-in-out infinite alternate equalize;display:block}.equalizer i:nth-child(2){height:11px;animation-delay:-400ms}.equalizer i:nth-child(3){height:8px;animation-delay:-650ms}.music-dock>a{color:#fffaf2d1;background:#180509a8;border:1px solid #fffaf22e;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;margin-right:9px;font-size:.8rem;font-weight:700;display:grid}.music-dock:not(.is-playing)>a{display:none}@keyframes musicIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lightbox{z-index:200;color:var(--ivory);background:#17070bf5;grid-template-columns:80px 1fr 80px;align-items:center;padding:40px;animation:.24s both lightboxIn;display:grid;position:fixed;inset:0}.lightbox figure{justify-self:center;place-items:center;max-width:1000px;max-height:calc(100vh - 80px);margin:0;display:grid}.lightbox figure img{object-fit:contain;max-width:100%;max-height:calc(100vh - 125px);animation:.52s cubic-bezier(.22,1,.36,1) both lightboxPhotoIn;box-shadow:0 25px 80px #00000059}.lightbox figcaption{color:#fffaf2a3;letter-spacing:.17em;margin-top:13px;font-size:.62rem}.lightbox button{color:inherit;cursor:pointer;background:0 0;border:0}.lightbox-close{width:44px;height:44px;font-family:var(--serif);font-size:2rem;line-height:1;position:absolute;top:22px;right:25px}.lightbox-arrow{border-radius:50%;place-items:center;width:54px;height:54px;font-size:1.1rem;transition:all .18s;display:grid;border:1px solid #fffaf242!important}.lightbox-arrow:hover,.lightbox-arrow:focus-visible{background:var(--ivory);color:var(--wine-deep);outline:none;border-color:var(--ivory)!important}.lightbox-next{justify-self:end}@keyframes lightboxIn{0%{opacity:0}to{opacity:1}}@keyframes lightboxPhotoIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes equalize{0%{transform:scaleY(.45)}to{transform:scaleY(1.15)}}@media (width<=980px){.gate-content{width:40vw;margin-left:38px}.gate-content h1{font-size:clamp(2.7rem,6vw,4.8rem)}.hero{gap:5vw;padding-inline:6vw}.hero-copy h1{font-size:clamp(3.7rem,7.2vw,6.6rem)}.event-card{padding:50px 38px}.padrinos-copy{padding:70px 54px}.rsvp-section{gap:55px}.gallery-grid{columns:3 220px}.rsvp-section{grid-template-columns:1fr;gap:58px;padding:clamp(84px,10vw,110px) max(28px,6vw)}.rsvp-copy,.rsvp-form{width:min(100%,580px);margin-inline:auto}.rsvp-copy{text-align:center}.rsvp-copy .eyebrow{justify-content:center}.rsvp-form.reveal.is-visible,.rsvp-form.is-visible:hover,.rsvp-form:focus-within{transform:none}}@media (width<=900px){.section-shell{width:min(100% - 36px,620px)}.invitation-gate{place-items:end center}.gate-image{object-position:center 38%;width:100%;height:52%;inset:0 0 auto}.gate-vignette{background:linear-gradient(180deg, #1f060b2e, #1f060b14 38%, var(--wine-deep) 52%, var(--wine-deep)), linear-gradient(90deg, #1f060b2e, transparent 50%, #1f060b2e)}.gate-content{text-align:center;width:min(560px,100% - 48px);margin:0 auto 28px;padding:20px 8px}.gate-content .eyebrow,.gate-monogram{justify-content:center}.gate-monogram{margin:18px auto 14px;font-size:clamp(2.5rem,12vw,3.8rem)}.gate-content h1{max-width:560px;margin-inline:auto;font-size:clamp(2.45rem,9.8vw,4rem);line-height:1.01}.gate-content>p{margin:15px 0 17px}.gate-note{display:none}.site-header{width:calc(100% - 18px);padding:8px 9px 8px 14px;top:9px}.site-header nav a:not(.nav-rsvp){display:none}.nav-rsvp{padding:9px 14px}.hero{grid-template-columns:1fr;gap:55px;min-height:auto;padding:120px 22px 85px}.hero:before{width:90vw;height:90vw}.hero-copy{text-align:center}.hero-copy .eyebrow,.hero-copy .text-link{justify-content:center}.hero-copy h1{margin-top:18px;font-size:clamp(3.35rem,16.5vw,5.6rem);line-height:.92}.hero-intro{margin-inline:auto}.hero-portrait{width:min(78vw,360px)}.hero-photo-frame,.hero-portrait:hover .hero-photo-frame{transform:rotate(.8deg)}.hero-seal{width:82px;height:82px;top:-25px;right:-20px}.photo-caption{bottom:20px;right:10px}.scroll-cue{display:none}.love-note{padding-block:100px}.love-note blockquote{font-size:clamp(2.2rem,10vw,3.6rem)}.story .section-heading{text-align:center}.story .section-heading .eyebrow{justify-content:center}.story:before,.story-chapter:after{display:none}.story-chapter,.chapter-reverse{grid-template-columns:1fr;gap:54px;margin-bottom:105px}.chapter-reverse .chapter-photo,.chapter-reverse .chapter-copy{grid-area:auto}.chapter-copy{text-align:center;justify-self:center!important}.chapter-photo{width:min(82vw,470px)}.date-reveal{background:var(--wine-deep);place-items:end center;min-height:820px}.date-photo{background-position:50% 35%;width:100%;height:56%;inset:0 0 auto;transform:scale(1.035)}.date-overlay{background:linear-gradient(180deg, #2a0c1324, #2a0c130d 43%, var(--wine-deep) 57%, var(--wine-deep))}.date-content{text-align:center;width:min(560px,100% - 36px);margin:0 auto 47px}.date-content .eyebrow{justify-content:center}.date-layout{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:clamp(6px,3vw,13px);width:100%;margin:25px 0 28px}.date-layout>span,.date-layout>div{min-width:0;font-size:clamp(.95rem,4.2vw,1.05rem)}.date-layout>strong{font-size:clamp(6.2rem,28vw,9rem)}.date-layout>strong:before,.date-layout>strong:after{display:none}.countdown{grid-template-columns:repeat(2,1fr);gap:36px 0}.countdown-item:nth-child(2):after{display:none}.countdown-item strong{font-size:clamp(3.3rem,16vw,5.5rem)}.event-grid{grid-template-columns:1fr}.event-card{min-height:520px}.padrinos-section{grid-template-columns:1fr}.padrinos-image{min-height:560px}.padrinos-copy{text-align:center;max-width:none;padding:85px 28px}.padrinos-copy .eyebrow{justify-content:center}.names-list{grid-template-columns:1fr;gap:18px}.padrinos-note{margin-inline:auto}.gallery-grid{columns:2 145px;column-gap:10px}.gallery-item{margin-bottom:10px;padding:7px;transform:none!important}.gallery-item:hover,.gallery-item:focus-visible{transform:translateY(-5px)!important}.closing-section{place-items:end center;min-height:800px}.closing-image{background-position:top;width:100%;height:54%;inset:0 0 auto;transform:scale(1.02)}.closing-overlay{background:linear-gradient(180deg, #27070d1f, #27070d0d 39%, var(--wine-deep) 55%, var(--wine-deep))}.closing-content{text-align:center;width:min(620px,100% - 36px);margin:0 auto 45px;padding:36px 10px}.closing-content .eyebrow{justify-content:center}.closing-content h2{font-size:clamp(2.8rem,12vw,4.4rem)}.music-dock{bottom:10px;right:10px}.music-dock>button{min-height:55px}.lightbox{grid-template-columns:48px 1fr 48px;padding:22px 10px}.lightbox-arrow{width:42px;height:42px}}@media (width<=470px){.gate-content{width:calc(100% - 44px);padding-inline:6px}.invitation-gate:before{inset:12px}.invitation-gate:after{inset:19px}.gate-content h1{font-size:clamp(2.45rem,12vw,3.5rem)}.gate-monogram{margin-top:16px}.gate-note{font-size:.54rem;bottom:34px}.radio-grid{grid-template-columns:1fr}.event-card{padding:50px 26px}.music-dock>button{grid-template-columns:27px 1fr 14px;padding-inline:9px}footer{text-align:center;flex-wrap:wrap;justify-content:center;gap:16px}}@media (height<=700px) and (width>=901px){.gate-content{padding-block:18px}.gate-monogram{margin-block:14px 12px;font-size:clamp(2.25rem,8vh,3.5rem)}.gate-content h1{font-size:clamp(2.55rem,7.8vh,3.65rem)}.gate-content>p{margin-block:13px 16px}.gate-button{padding-block:12px 10px}.gate-note{bottom:24px}}@media (height<=680px) and (width<=900px){.gate-image{height:45%}.gate-content{margin-bottom:max(12px, env(safe-area-inset-bottom));padding-block:10px}.gate-eyebrow{display:none}.gate-monogram{margin-block:7px;font-size:clamp(2rem,8vh,2.8rem)}.gate-content h1{font-size:clamp(2.15rem,7.4vh,3rem);line-height:1}.gate-content>p{margin-block:10px 12px}.gate-button{min-width:210px;padding-block:11px 9px}}@media (height<=520px) and (width>=560px) and (orientation:landscape){.invitation-gate{place-items:center start}.gate-image{object-position:50% 38%;width:54%;height:100%;inset:0 0 0 46%}.gate-vignette{background:linear-gradient(90deg, var(--wine-deep) 0 39%, #42131cf5 48%, #1f060b2e 76%), linear-gradient(180deg, #1f060b26, #1f060b66)}.gate-content{text-align:left;width:43%;margin:0 0 0 34px;padding:12px 8px}.gate-content .eyebrow,.gate-monogram{justify-content:flex-start}.gate-monogram{margin-block:4px;font-size:2rem}.gate-content h1{margin-inline:0;font-size:clamp(1.85rem,6.8vh,2.3rem)}.gate-content>p{margin-block:7px 9px}.gate-button{min-width:178px;padding:8px 18px 7px}}@media (hover:none){.hero-portrait:hover .hero-photo-frame,.chapter-photo:hover,.event-card.is-visible:hover,.gallery-item:hover,.padrinos-image:hover img,.rsvp-form.is-visible:hover{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;filter:none;transform:none}.particle-field,.scroll-progress{display:none}}
