html{position:relative}.page-transition{flex-direction:column;flex:1;min-height:100svh;display:flex;position:relative}.page-dawn{z-index:60;pointer-events:none;opacity:0;background:radial-gradient(at 50% 65%,#ffedc9 0%,#f3ede4bb 45%,#b8935f33 100%);position:fixed;inset:0}.invitation-access .floral-corners img{opacity:.35}.scroll-reveal:has(:focus-visible){opacity:1!important;filter:none!important;transform:none!important}@media (min-width:768px) and (max-width:1100px){.invitation-experience main>section:not(.wedding-home){padding-right:76px}}@media (max-width:767px){.invitation-experience .wedding-footer{padding-bottom:95px}}.invitation-experience .wedding-home h1{font-family:var(--font-wedding-script), cursive}.invitation-experience .home-actions{--home-tail-space:calc(clamp(14px,2.5svh,26px) + 58.8px)}.invitation-experience .home-actions:after{content:"";height:var(--home-tail-space);display:block}.home-scroll-hint{top:calc(100% - var(--home-tail-space) + 5px);color:#6e2c3a;opacity:.75;place-items:center;width:44px;height:44px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.home-scroll-hint span{display:flex}.home-scroll-hint:hover{opacity:1}@media (max-height:620px){.invitation-experience .home-actions{--home-tail-space:82.8px}.home-scroll-hint{margin-top:-5px}}.wedding-site{--paper:#f8f5ef;--ink:#493f36;--muted-ink:#73634f;isolation:isolate;color:var(--ink);background:var(--paper);font-size:17px;line-height:1.6;position:relative;overflow-x:clip}.wedding-site:before{content:"";pointer-events:none;z-index:-1;opacity:.56;background:url(/images/wedding/editorial/paper.png) 50%/980px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 28% 72%,#0000);mask-image:linear-gradient(90deg,#0000,#000 28% 72%,#0000)}.wedding-site ::selection{color:#f3ede4;background:#6e2c3a}.wedding-site :is(a,button,input,textarea):focus-visible{outline-offset:5px;outline:2px solid #6e2c3a}.wedding-site input,.wedding-site textarea{caret-color:#6e2c3a}.wedding-site :is(h1,h2,h3,p,figure){margin:0}.wedding-site :is(h1,h2,h3){text-wrap:balance;font-weight:400}.wedding-site h2{color:#6e2c3a;font-family:var(--font-wedding-serif), serif;letter-spacing:-.035em;font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.22}.wedding-site h2 em{font-weight:400}.wedding-site h3{font-size:1.5rem;line-height:1.35}.wedding-site p{text-wrap:pretty}.wedding-site a{text-underline-offset:5px}.wedding-site section[id]{scroll-margin-top:110px}.wedding-site main{display:block}.wedding-header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f5efed;border:1px solid #8a9a7e4d;border-radius:5px;width:calc(100% - 64px);max-width:1100px;position:fixed;top:18px;left:50%;transform:translate(-50%)}.wedding-nav{justify-content:space-between;align-items:center;gap:20px;height:70px;padding:0 25px;display:flex}.wedding-monogram{color:#6e2c3a;font-family:var(--font-wedding-script), cursive;white-space:nowrap;font-size:2.55rem;line-height:1}.wedding-monogram span{color:#907141;margin:0 2px;font-size:1.7rem}.desktop-links{align-items:center;gap:27px;font-size:15px;display:flex}.desktop-links a{transition:color .2s}.desktop-links a:hover{color:#6e2c3a;text-decoration:underline}.wedding-button{color:#f3ede4;cursor:pointer;background:#6e2c3a;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:14px;min-height:46px;padding:10px 22px;font-family:inherit;font-size:15px;line-height:1.3;transition:background .5s,transform .5s;display:inline-flex}.wedding-button:hover{background:#54212c;transform:translateY(-2px)}.wedding-button:active{transform:translateY(0)}.menu-toggle{color:#6e2c3a;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:none}.mobile-links{flex-direction:column;padding:0 22px;display:flex;overflow:hidden}.mobile-links a{border-top:1px solid #8a9a7e33;justify-content:space-between;align-items:center;min-height:48px;padding:14px 0;display:flex}.reading-progress{transform-origin:0;background:#b8935f;width:100%;height:2px;position:absolute;bottom:-1px;left:0}.skip-link{z-index:100;color:#f3ede4;background:#6e2c3a;padding:12px 18px;position:fixed;top:15px;left:20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.wedding-hero{flex-direction:column;align-items:center;height:min(100svh,1040px);min-height:760px;display:flex;position:relative;overflow:hidden}.hero-image{width:min(100%,780px);margin:auto;position:absolute;inset:28% 0 -35px;-webkit-mask-image:linear-gradient(#0000,#000 27% 70%,#0000);mask-image:linear-gradient(#0000,#000 27% 70%,#0000)}.hero-image:after{content:"";background:linear-gradient(90deg,#f8f5ef40,#0000 35% 65%,#f8f5ef40);position:absolute;inset:0}.hero-photograph{object-fit:cover;object-position:50% 57%}.hero-copy{z-index:2;text-align:center;padding:150px 22px 0;position:relative}.hero-announcement{color:#73634f;font-size:21px;margin-bottom:10px!important}.wedding-site h1{color:#6e2c3a;font-family:var(--font-wedding-serif), serif;letter-spacing:-.04em;font-size:clamp(3.8rem,7vw,6rem);line-height:1.13}.hero-ampersand{font-family:var(--font-wedding-script), cursive;color:#92733f;font-size:1.35em;font-weight:400}.hero-date{color:#574836;font-size:17px;margin-top:15px!important}.hero-date span{margin-top:5px;font-size:14px;display:block}.hero-guest{color:#6e2c3a;font-size:15px;margin-top:15px!important}.hero-scroll{z-index:3;color:#6e2c3a;flex-direction:column;align-items:center;gap:7px;font-size:13px;display:flex;position:absolute;bottom:22px}.hero-scroll svg{animation:3s ease-in-out infinite scroll-hint}.floral-corners{pointer-events:none;position:absolute;inset:0;overflow:hidden}.floral-corners img{opacity:.48;width:clamp(120px,18vw,250px);height:auto;position:absolute}.floral-left{top:30px;left:-24px;transform:rotate(-6deg)}.floral-right{bottom:35px;right:-24px;transform:rotate(6deg)}.wedding-hero .floral-left{opacity:.3;width:175px;top:130px}.wedding-hero .floral-right{opacity:.3;width:175px;bottom:90px}.petal-field{z-index:20;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.petal-track{animation:linear infinite petal-fall;display:block;position:absolute;top:-80px}.petal-track img{opacity:.74;height:auto;animation:ease-in-out infinite alternate petal-sway;display:block}.petal-repel{display:block}.wind-field{z-index:19;pointer-events:none;color:#b8935f;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.wind-field path{stroke:currentColor;stroke-width:.8px;fill:none;stroke-linecap:round;stroke-dasharray:110 1250;opacity:.15;animation:36s linear infinite wind-gust}.wind-field path:nth-child(2){opacity:.09;animation-delay:-9s}.wind-field path:nth-child(3){opacity:.11;animation-delay:-17s}.wedding-story{padding:110px 0 100px;position:relative}.story-introduction{text-align:center;max-width:780px;margin:auto;padding:0 26px}.story-introduction h2{font-size:clamp(1.8rem,3vw,2.65rem)}.story-introduction p{max-width:570px;margin:30px auto 15px;font-size:18px}.signature{font-family:var(--font-wedding-script), cursive;color:#6e2c3a;font-size:2.4rem;line-height:1.5;display:block}.memory-gallery{overscroll-behavior-x:contain;scrollbar-width:none;padding:80px 0 95px;overflow-x:auto}.memory-gallery::-webkit-scrollbar{display:none}.memory-strip{gap:26px;width:max-content;margin:0 auto;padding:15px 64px;display:flex}.instagram-section{text-align:center}.instagram-section .memory-gallery{width:100vw;margin-left:calc(50% - 50vw)}.instagram-copy{max-width:780px;margin:auto}.instagram-copy>p{color:#73634f;margin-top:20px}.instagram-copy .instagram-handle{margin-top:16px;font-size:13px}.instagram-copy .instagram-hashtag{font-family:var(--font-wedding-serif),serif;color:#6e2c3a;font-size:1.4rem}.memory-print{background:#6e2c3a;flex-shrink:0;width:235px;padding:8px 8px 26px;box-shadow:3px 8px 12px #493f3614}.memory-image{aspect-ratio:1;position:relative}.polaroid-caption{font-family:var(--font-wedding-script),cursive}.story-portrait{grid-template-columns:1fr 1fr;align-items:center;gap:70px;max-width:1080px;margin:auto;padding:0 26px;display:grid}.portrait-frame{background:#fffcf6;padding:10px 10px 35px;transform:rotate(-3deg);box-shadow:2px 9px 22px #493f3614}.portrait-frame img{width:100%;height:auto}.portrait-note h3{color:#6e2c3a;font-family:var(--font-wedding-serif), serif;margin-bottom:20px}.portrait-note h2{margin-bottom:26px;font-size:clamp(1.8rem,3vw,2.65rem)}.portrait-note p{margin-bottom:20px}.wedding-date-section{text-align:center;padding:65px 26px 90px}.wedding-date-display{font-family:var(--font-wedding-serif),serif;color:#6e2c3a;letter-spacing:-.035em;font-size:clamp(3.1rem,8vw,6rem);line-height:1.2;margin:30px 0 35px!important}.wedding-date-section h2{font-size:clamp(1.8rem,3vw,2.7rem)}.wedding-countdown{max-width:660px;margin:40px auto 25px}.wedding-text-link{color:#6e2c3a;border-bottom:1px solid #b8935f;justify-content:center;align-items:center;gap:9px;min-height:44px;font-size:15px;transition:gap .5s;display:inline-flex}.wedding-text-link:hover{gap:14px}.wedding-section{padding:100px 26px;position:relative}.section-intro{text-align:center;max-width:760px;margin:0 auto 65px}.section-intro p{max-width:540px;margin:24px auto 0}.wedding-timeline{max-width:760px;margin:0 auto;padding:0;list-style:none;position:relative}.timeline-track{background:#8a9a7e55;width:1px;position:absolute;top:85px;bottom:145px;left:50%}.timeline-track span{transform-origin:top;background:#6e2c3a;width:1px;height:100%;display:block}.timeline-item{width:50%;min-height:145px;margin-left:50%;padding:0 0 65px 45px;position:relative}.timeline-left{text-align:right;margin-left:0;padding:0 45px 65px 0}.timeline-dot{background:#8a9a7e;border-radius:50%;outline:5px solid #f8f5ef;width:9px;height:9px;position:absolute;top:80px;left:-4px}.timeline-left .timeline-dot{left:auto;right:-5px}.timeline-content time{color:#73634f;font-size:13px}.timeline-content{align-items:center;gap:24px;min-height:170px;display:flex}.timeline-illustration{object-fit:contain;flex-shrink:0;width:170px;height:170px}.timeline-left .timeline-content{flex-direction:row-reverse}.guest-form-step{text-align:center;max-width:620px;margin:auto}.guest-step-description{color:#73634f;max-width:48ch;font-size:16px;margin:24px auto 30px!important}.guest-response-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;margin-top:30px;display:flex}.guest-response-status{color:#6e2c3a;font-size:14px;margin:25px 0!important}.guest-step-continue{justify-content:center;margin-top:32px;display:flex}.wedding-site button:disabled{cursor:not-allowed;opacity:.55}.guest-dni-form{text-align:left;flex-direction:column;gap:12px;max-width:360px;margin:auto;display:flex}.guest-dni-form label{color:#493f36;font-size:14px}.guest-dni-form input{font-variant-numeric:tabular-nums;color:#493f36;background:#fffcf6;border:1px solid #8a9a7e77;border-radius:12px;width:100%;min-height:52px;padding:12px 16px;font-size:20px}.guest-dni-form input[aria-invalid=true]{border-color:#6e2c3a}.guest-dni-form p{color:#73634f;font-size:12px}.guest-dni-form .guest-step-error{color:#6e2c3a}.guest-dni-form .wedding-button{margin-top:16px}.invitation-access-card{z-index:30;background:#fffcf6;border:1px solid #8a9a7e66;border-radius:16px;width:min(100%,440px);padding:32px;position:relative}.wedding-site.invitation-access h1{color:#6e2c3a;font-family:var(--font-wedding-serif),serif;letter-spacing:-.03em;font-size:clamp(2rem,5vw,2.5rem);line-height:1.2}.invitation-access-card>p{color:#73634f;margin-top:16px;font-size:14px;line-height:1.7}.invitation-access-card form{gap:20px;margin-top:28px;display:grid}.access-field{gap:10px;display:grid}.access-field label{color:#493f36;font-size:14px}.access-field input{color:#493f36;font-variant-numeric:tabular-nums;background:#fffcf6;border:1px solid #8a9a7e88;border-radius:12px;width:100%;min-height:52px;padding:12px 16px;font-size:18px}.access-field input::placeholder{color:#73634f}.access-field input[aria-invalid=true]{border-color:#6e2c3a}.invitation-access-card .wedding-button{border-radius:999px;width:100%;min-height:48px}.invitation-access-card .access-back{justify-self:center;width:fit-content}.invitation-access-card .access-error{color:#6e2c3a;font-size:14px}.timeline-content h3{color:#6e2c3a;font-family:var(--font-wedding-serif), serif;margin-top:7px;font-size:1.6rem}.timeline-content p{margin-top:12px;font-size:16px}.venue-layout,.dress-layout,.access-layout{grid-template-columns:1fr 1fr;align-items:center;gap:75px;max-width:1000px;margin:auto;display:grid}.venue-photo{background:#fffcf6;padding:10px 10px 20px;transform:rotate(-4deg);box-shadow:2px 9px 22px #493f3614}.venue-photo img{object-fit:cover;width:100%;height:350px}.venue-photo .signature{text-align:center;margin-top:10px;font-size:1.9rem}.venue-block+.venue-block{border-top:1px solid #8a9a7e44;margin-top:30px;padding-top:30px}.venue-block h3{color:#6e2c3a;font-family:var(--font-wedding-serif), serif;margin-bottom:10px;font-size:1.6rem}.venue-block p{font-size:15px}.venue-block .venue-name{margin-bottom:6px;font-size:18px}.venue-block a{margin-top:12px}.dress-copy h3{color:#6e2c3a;margin-top:25px}.dress-copy p{max-width:360px;margin-top:15px}.dress-linework{width:100%;max-width:440px;height:auto;margin:auto}.guest-party{color:#493f36;text-align:center;max-width:620px;margin:auto}.guest-party-intro{color:#73634f;font-size:16px;margin:20px auto 36px!important}.invitation-price{text-align:left;border-top:1px solid #b8935f66;border-bottom:1px solid #b8935f66;padding:32px 0 24px}.wedding-site .invitation-price h3{font-family:var(--font-wedding-serif),serif;color:#6e2c3a;font-size:1.65rem}.invitation-price-description{max-width:60ch;font-size:14px;line-height:1.8;margin-top:16px!important}.invitation-price-list{margin:25px 0 0}.invitation-price-list>div{justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.invitation-price-list>div+div{border-top:1px solid #8a9a7e44}.invitation-price-list dt{font-size:14px}.invitation-price-list dt span{color:#73634f;margin-top:4px;font-size:12px;display:block}.invitation-price-list dd{font-family:var(--font-wedding-serif),serif;font-variant-numeric:tabular-nums;white-space:nowrap;color:#6e2c3a;margin:0;font-size:clamp(1.6rem,3vw,2rem)}.invitation-price-note{color:#73634f;font-size:12px;margin-top:18px!important}.guest-plan-note{text-align:left;color:#73634f;border-bottom:1px solid #8a9a7e44;align-items:flex-start;gap:10px;margin:28px 0;padding:16px 0;font-size:13px;line-height:1.75;display:flex}.guest-plan-note svg{color:#8a9a7e;flex-shrink:0}.companion-list{text-align:left;margin:24px 0}.companion-row{border-bottom:1px solid #8a9a7e44;align-items:center;gap:14px;padding:22px 0;display:flex}.companion-person-icon{color:#8a9a7e;padding:8px 0}.companion-person-icon svg{color:inherit}.wedding-site .companion-name{font-family:var(--font-wedding-serif),serif;color:#6e2c3a;overflow-wrap:anywhere;font-size:1.4rem}.companion-child{font-family:var(--font-wedding-sans),sans-serif;color:#73634f;margin-left:9px;font-size:12px;display:inline-block}.companion-dni{color:#73634f;font-variant-numeric:tabular-nums;font-size:12px;margin-top:5px!important}.companion-action{color:#6e2c3a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:background .5s;display:flex}.companion-action:hover{background:#8a9a7e1a}.companion-action:disabled{opacity:.35}.companion-empty,.companion-limit{color:#73634f;padding:14px 0;font-size:13px}.companion-dialog{color:#493f36;font-family:var(--font-wedding-sans),sans-serif;background:#f8f5ef;border-color:#8a9a7e66}.dress-swatches{gap:10px;margin-top:24px;display:flex}.dress-swatches span{opacity:.6;background:#6e2c3a;width:42px;height:1px}.dress-swatches span:nth-child(2){background:#8a9a7e}.dress-swatches span:nth-child(3){background:#b8935f}.access-photo{min-height:510px;position:relative}.access-photo img{object-fit:cover;object-position:35% 40%}.access-copy h2{font-size:clamp(2rem,3.4vw,3.2rem)}.access-copy>p{margin-top:22px}.wedding-access-form{flex-direction:column;gap:9px;margin-top:30px;display:flex}.wedding-access-form label{color:#6e2c3a;font-size:14px}.wedding-access-form input{color:#493f36;background:#8a9a7e0d;border:1px solid #8a9a7e66;border-radius:3px;width:100%;min-height:50px;padding:12px 14px}.wedding-access-form input::placeholder{color:#73634f}.wedding-access-form .wedding-button{width:100%;margin-top:5px}.access-copy .access-help{color:#73634f;font-size:13px;line-height:1.6}.wedding-footer{text-align:center;background:#e8ede088;padding:80px 26px 30px;position:relative}.wedding-footer>p{font-size:17px;position:relative}.footer-names{color:#6e2c3a;font-family:var(--font-wedding-serif), serif;margin:20px 0 50px;font-size:clamp(2.8rem,6vw,5rem);line-height:1.2;display:block;position:relative}.footer-names span{color:#92733f;font-family:var(--font-wedding-script), cursive;font-size:1.3em}.footer-bottom{color:#625341;border-top:1px solid #8a9a7e55;flex-wrap:wrap;justify-content:space-between;gap:15px;max-width:1000px;margin:auto;padding-top:25px;font-size:13px;display:flex;position:relative}.guest-panel{max-width:1000px;margin:auto}.guest-panel-inner{max-width:660px;margin:auto}.guest-panel svg.h-12,.guest-panel svg.sm\:h-14,.guest-panel .tracking-\[0\.35em\]{display:none}.guest-panel .rounded-full{border-radius:4px}.guest-panel .shadow-lg,.guest-panel .shadow-2xl{box-shadow:none}.guest-panel .font-serif{font-family:var(--font-wedding-serif), serif}.guest-panel h2{font-size:clamp(2rem,3.4vw,3.1rem)}.guest-panel button{min-height:44px}.guest-panel [data-slot=dialog-content]{max-height:calc(100dvh - 40px);overflow-y:auto}.guest-confirmation-layout{grid-template-columns:.85fr 1fr;align-items:start;gap:65px;max-width:1050px;margin:auto;display:grid}.guest-confirmation-photo{width:100%;position:sticky;top:120px}.guest-confirmation-photo img{width:100%;height:auto}.invitation-end .wedding-section{padding-top:48px;padding-bottom:48px}.rsvp-unified{max-width:820px;margin:auto}.rsvp-heading{margin-bottom:28px}.rsvp-heading h2{max-width:700px;font-size:clamp(2rem,3.5vw,3rem)}.rsvp-heading>p{color:#73634f;margin-top:14px;font-size:15px}.rsvp-attendance{border:0;flex-wrap:wrap;gap:12px;margin:0 0 30px;padding:0;display:flex}.rsvp-choice{cursor:pointer;border:1px solid #8a9a7e77;border-radius:999px;align-items:center;gap:10px;min-height:48px;padding:10px 18px;font-size:14px;display:flex}.rsvp-choice:has(input:checked){color:#6e2c3a;background:#6e2c3a0a;border-color:#6e2c3a}.rsvp-unified input[type=radio],.rsvp-unified input[type=checkbox]{accent-color:#6e2c3a;flex-shrink:0;width:17px;height:17px}.rsvp-unified fieldset:disabled{opacity:.65}.rsvp-fields{border-bottom:1px solid #8a9a7e55;grid-template-columns:.85fr 1.15fr;gap:40px;padding-bottom:28px;display:grid}.rsvp-identity label,.rsvp-menu legend{color:#6e2c3a;margin-bottom:12px;font-size:17px;display:block}.rsvp-identity input,.rsvp-menu textarea{color:#493f36;width:100%;min-height:48px;font:inherit;background:#fffcf6;border:1px solid #8a9a7e88;border-radius:10px;padding:12px 14px;font-size:16px}.rsvp-identity input{font-variant-numeric:tabular-nums}.rsvp-identity>p,.rsvp-menu>p{color:#73634f;margin-top:8px;font-size:13px}.rsvp-menu{border:0;min-width:0;margin:0;padding:0}.rsvp-menu>p{margin-top:-4px}.rsvp-dietas{grid-template-columns:1fr 1fr;gap:3px 16px;margin:10px 0 14px;display:grid}.rsvp-dietas label{cursor:pointer;align-items:center;gap:8px;min-height:36px;font-size:13px;display:flex}.rsvp-menu>label{margin-bottom:8px;font-size:13px;display:block}.rsvp-menu>label span{color:#73634f}.rsvp-menu textarea{resize:vertical;min-height:78px;font-size:14px}.rsvp-menu textarea::placeholder{color:#73634f}.rsvp-column{min-width:0}.rsvp-column>#invitados,.rsvp-column>#pagos{border-top:1px solid #8a9a7e55;margin-top:24px;padding-top:20px}.rsvp-fields .guest-party{text-align:left;max-width:none}.rsvp-fields .guest-party>h3{font-family:var(--font-wedding-serif),serif;color:#6e2c3a;font-size:1.65rem}.rsvp-fields .companion-list{margin:10px 0}.rsvp-fields .companion-row{gap:10px;padding:10px 0}.rsvp-fields .companion-name{font-size:1.1rem}.rsvp-fields .companion-empty,.rsvp-fields .companion-limit{padding:8px 0;font-size:12px}.rsvp-fields .guest-plan-note{margin:10px 0;padding:8px 0;font-size:12px}.rsvp-price>summary{cursor:pointer;color:#6e2c3a;min-height:44px;font-size:14px;display:list-item}.rsvp-price .invitation-price{border-top:0;border-bottom:0;padding:16px 0}.rsvp-price .invitation-price h3{font-size:1.4rem}.rsvp-price .invitation-price-description{font-size:13px;margin-top:8px!important}.rsvp-price .invitation-price-list{margin-top:10px}.rsvp-price .invitation-price-list>div{padding:10px 0}.rsvp-price .invitation-price-list dd{font-size:1.45rem}.rsvp-payment-link{text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 0;display:flex}.rsvp-payment-link>span:first-child{display:none}.rsvp-payment-link .font-serif{font-size:1.6rem;font-family:var(--font-wedding-serif),serif}.rsvp-payment-link .text-xs{color:#73634f;font-size:12px}.rsvp-finish{align-items:center;gap:30px;padding-top:28px;display:flex}.rsvp-finish h3{font-family:var(--font-wedding-serif),serif;color:#6e2c3a;font-size:1.8rem}.rsvp-finish .rsvp-photo{flex:0 0 135px;width:135px;margin:0;padding:6px 6px 18px}.rsvp-save-status{color:#73634f;max-width:48ch;font-size:14px;margin:12px 0 18px!important}.rsvp-finish .wedding-button{border-radius:999px}.rsvp-unified .rsvp-error{color:#6e2c3a;font-size:14px;margin:10px 0!important}.rsvp-unified button:disabled{opacity:.5;cursor:default}.rsvp-table{border-top:1px solid #8a9a7e55;max-width:820px;margin:30px auto 0;padding-top:24px}.invitation-end #regalos{padding-top:32px;padding-bottom:32px}.invitation-end #regalos h2,.invitation-end #redes h2{font-size:clamp(1.8rem,3vw,2.35rem)}.invitation-end #regalos .space-y-6{gap:14px;display:grid}.invitation-end #regalos .space-y-6>*{margin-block:0}.invitation-end #regalos .space-y-6>button{justify-self:center;width:fit-content}.invitation-end #redes .memory-gallery{padding-top:28px;padding-bottom:35px}.invitation-end #redes .memory-print{width:195px}.invitation-end #redes .instagram-copy>p{margin-top:12px}.invitation-experience>.wedding-footer{padding-top:36px}.invitation-experience>.wedding-footer .footer-names{margin:12px 0 25px;font-size:3rem}@media (max-width:760px){.invitation-end .wedding-section{padding-top:36px;padding-bottom:36px}.rsvp-fields{grid-template-columns:1fr;gap:24px}.rsvp-heading{margin-bottom:22px}.rsvp-attendance{gap:10px;margin-bottom:24px}.rsvp-choice{padding:10px 14px;font-size:13px}.rsvp-finish{align-items:flex-start;gap:20px}.rsvp-finish .rsvp-photo{flex-basis:95px;width:95px}.rsvp-finish h3{font-size:1.5rem}.rsvp-finish .wedding-button{padding:12px 15px;font-size:13px}.invitation-end #redes .memory-print{width:155px}}.closed-notice{text-align:center;color:#6e2c3a;border:1px solid #b8935f66;max-width:850px;margin:105px auto 0;padding:12px 20px;font-size:14px}@keyframes petal-fall{0%{transform:translateY(-80px)}to{transform:translate(100px,calc(100dvh + 150px))}}@keyframes petal-sway{0%{transform:translate(-22px)rotate(-35deg)rotateY(5deg)}50%{transform:translate(12px)rotate(35deg)rotateY(65deg)}to{transform:translate(30px)rotate(100deg)rotateY(15deg)}}@keyframes wind-gust{0%{stroke-dashoffset:1400px}to{stroke-dashoffset:-1400px}}@keyframes scroll-hint{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media (max-width:760px){.guest-response-actions{flex-direction:column}.guest-response-actions .wedding-button{min-width:205px}.guest-response-actions .wedding-text-link{min-width:176px}.wedding-header{width:calc(100% - 28px);top:12px}.wedding-nav{gap:8px;height:62px;padding:0 12px 0 17px}.wedding-monogram{font-size:2.25rem}.desktop-links{display:none}.menu-toggle{display:flex}.nav-rsvp{gap:8px;min-height:42px;margin-left:auto;padding:10px 13px;font-size:13px}.wedding-hero{height:90svh;min-height:680px;max-height:900px}.hero-copy{padding-top:140px}.wedding-site h1{font-size:clamp(3.2rem,12.5vw,5rem)}.hero-announcement{font-size:18px}.hero-date{font-size:15px}.hero-image{inset:33% 0 -10px}.hero-photograph{object-position:50% 62%}.hero-guest{max-width:260px;margin-left:auto!important;margin-right:auto!important}.wedding-hero .floral-left{opacity:.25;width:110px;top:90px;left:-35px}.wedding-hero .floral-right{opacity:.25;width:110px;bottom:100px;right:-30px}.wedding-story{padding-top:75px;padding-bottom:60px}.story-introduction p{margin-top:25px;font-size:17px}.memory-gallery{padding:60px 0 65px}.memory-strip{gap:18px}.memory-print{width:175px}.story-portrait{grid-template-columns:1fr;gap:40px;max-width:460px}.portrait-frame{max-width:340px;margin:auto}.portrait-note{text-align:center}.wedding-date-section{padding-top:40px;padding-bottom:55px}.wedding-section{padding:70px 26px}.section-intro{margin-bottom:40px}.wedding-timeline{padding-left:7px}.timeline-track{left:11px}.timeline-item,.timeline-left{text-align:left;width:100%;min-height:130px;margin-left:0;padding:0 0 45px 35px}.timeline-item .timeline-dot{left:0;right:auto}.timeline-content h3{font-size:1.45rem}.timeline-content,.timeline-left .timeline-content{flex-direction:row;gap:18px;min-height:140px}.timeline-illustration{width:clamp(95px,30vw,130px);height:140px}.timeline-item .timeline-dot{top:65px}.timeline-track{top:70px;bottom:120px}.venue-layout,.dress-layout,.access-layout{grid-template-columns:1fr;gap:40px;max-width:460px}.venue-photo{max-width:340px;margin:auto}.venue-photo img{height:270px}.venue-details{text-align:center}.dress-layout{flex-direction:column-reverse;display:flex}.dress-copy{width:100%}.access-photo{min-height:380px}.footer-bottom{text-align:center;justify-content:center}.wedding-footer{padding-top:65px}.guest-confirmation-layout{grid-template-columns:1fr;gap:35px}.guest-confirmation-photo{max-width:340px;margin:auto;position:static}.petal-track:nth-child(n+8){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.petal-field,.wind-field{display:none}.hero-scroll svg{animation:none}.wedding-site :is(a,button),.faq-plus{transition:none}}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.countdown-unit{text-align:center;padding:0 8px}.countdown-unit+.countdown-unit{border-left:1px solid #8a9a7e55}.countdown-number{justify-content:center;align-items:center;height:70px;display:flex;position:relative;overflow:hidden}.countdown-number span{font-family:var(--font-wedding-serif), serif;font-variant-numeric:tabular-nums;color:#6e2c3a;font-size:clamp(1.9rem,4vw,3rem);position:absolute}.countdown-label{color:#73634f;font-size:12px}@media (max-width:480px){.countdown-number{height:55px}.countdown-label{font-size:11px}}.wedding-home{width:100%;height:100svh;min-height:0;padding:clamp(16px,4svh,42px) 22px max(20px,env(safe-area-inset-bottom));flex-direction:column;align-items:center;display:flex;overflow:hidden}.home-titles{z-index:3;text-align:center;flex-shrink:0;position:relative}.home-titles>p:first-child{color:#73634f;font-size:clamp(15px,2svh,19px)}.home-date{color:#574836;font-size:clamp(13px,1.8svh,16px);margin-top:7px!important}.home-date span{margin-top:2px;font-size:12px;display:block}.home-photo{z-index:1;flex:auto;width:100vw;min-height:0;margin:-5px 0 -25px;position:relative;-webkit-mask-image:linear-gradient(#0000,#000 12% 68%,#0000);mask-image:linear-gradient(#0000,#000 12% 68%,#0000)}.home-photo img{object-fit:cover;object-position:50% 48%}.home-actions{z-index:3;text-align:center;flex-shrink:0;width:min(620px,100%);position:relative}.home-actions .countdown-number{height:clamp(45px,8.5svh,84px)}.home-actions .countdown-number span{font-size:clamp(2.1rem,6.5svh,4.3rem)}.home-actions .countdown-label{font-size:12px}.home-actions .wedding-button{border-radius:999px;min-width:205px;min-height:48px;margin-top:clamp(14px,2.5svh,26px)}.home-calendar-link{color:#6e2c3a;text-underline-offset:4px;width:fit-content;margin:12px auto 0;font-size:13px;text-decoration:underline;display:block}.home-calendar-link:hover{color:#493f36}.wedding-home .floral-left{opacity:.3;width:min(16vw,200px);top:15%}.wedding-home .floral-right{opacity:.3;width:min(16vw,200px);bottom:14%}@media (max-width:760px){.wedding-home{padding-top:max(25px,env(safe-area-inset-top))}.wedding-home h1{font-size:clamp(2.8rem,11.6vw,4.5rem)}.home-photo{width:calc(100vw + 30px);margin-top:0;margin-bottom:-15px}.home-actions .countdown-number span{font-size:clamp(2rem,9vw,3rem)}.home-actions .countdown-label{font-size:11px}.wedding-home .floral-left,.wedding-home .floral-right{width:110px}}@media (max-height:620px){.wedding-home{padding-top:12px;padding-bottom:12px}.wedding-home h1{font-size:clamp(2.1rem,7svh,3rem)}.home-date span{margin-left:7px;display:inline}.home-actions .countdown-number{height:40px}.home-actions .countdown-number span{font-size:2rem}.home-actions .wedding-button{min-height:44px;margin-top:10px}}.wedding-site h1{font-family:var(--font-wedding-script), cursive;letter-spacing:0;font-weight:400;line-height:1.1}.wedding-site h1 .hero-ampersand{font-size:1em}.wedding-home h1{font-size:clamp(3.6rem,min(9vw,11svh),6rem)}@media (max-width:760px){.wedding-home .home-titles{margin-top:10px}.wedding-home h1{font-size:clamp(3.2rem,15vw,4.7rem)}}@media (max-height:620px){.wedding-home h1{font-size:clamp(2.6rem,9svh,3.3rem)}}
.operations-shell{color:#493f36;--card:#fffcf6;--card-foreground:#493f36;--muted-foreground:#73634f;--primary:#6e2c3a;--primary-foreground:#f3ede4;--muted:#f0eadf;--ring:#6e2c3a;--border:#8a9a7e55}.operations-shell h1{color:#6e2c3a;letter-spacing:-.025em}.operations-shell :is(input:not([type=checkbox]),select,button,[data-slot=button]){min-height:44px}.operations-shell :is(input:not([type=checkbox]),select,textarea){font-size:16px}.operations-shell :is(a,button,input,select,textarea):focus-visible{outline-offset:3px;outline:2px solid #6e2c3a}.operations-shell button:active:not(:disabled){transition:transform .1s ease-out;transform:scale(.98)}.operations-shell [data-slot=card]{box-shadow:none;border-color:#8a9a7e55}.operations-event{margin-bottom:8px;font-size:12px}.operations-login{background:#f8f5ef}.operations-login [data-slot=card]{max-width:420px}.operations-login button[type=submit]{color:#f3ede4;background:#6e2c3a;border-radius:999px}.operations-button,.operations-icon-button{color:#f3ede4;min-height:44px;font:inherit;cursor:pointer;background:#6e2c3a;border:1px solid #6e2c3a;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;transition:background .2s;display:inline-flex}.operations-button:hover:not(:disabled){background:#54212c}.operations-button.secondary,.operations-icon-button{color:#6e2c3a;background:0 0;border-color:#8a9a7e88}.operations-button.secondary:hover:not(:disabled),.operations-button[aria-pressed=true]{background:#e8ede0}.operations-button:disabled,.operations-icon-button:disabled{opacity:.45;cursor:default}.operations-icon-button{flex-shrink:0;width:44px;padding:10px}.people-list{gap:14px;display:grid}.people-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.people-search{background:#fffcf6;border:1px solid #8a9a7e88;border-radius:10px;flex:1;align-items:center;gap:10px;min-width:200px;padding:0 12px;display:flex}.people-search svg{color:#73634f;flex-shrink:0}.people-search input{background:0 0;border:0;outline:0;width:100%}.people-search:focus-within{outline-offset:2px;outline:2px solid #6e2c3a}.people-search input:focus-visible{outline:none}.people-filter-mesa{width:86px}.people-filter-mesa input,.people-filters select{background:#fffcf6;border:1px solid #8a9a7e88;border-radius:10px;width:100%;min-height:44px;padding:8px 12px}.people-filter-mesa input{text-align:center}.people-count{color:#73634f;font-size:13px}.people-bulk{z-index:20;background:#fffcf6;border:1px solid #8a9a7e88;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex;position:sticky;top:12px}.people-selection-count{flex-direction:column;align-items:flex-start;gap:2px;font-size:14px;display:flex}.people-selection-count>span{font-weight:600}.people-selection-count button{color:#6e2c3a;text-underline-offset:4px;font-size:12px;text-decoration:underline}.people-selection-count button:disabled{opacity:.4;text-decoration:none}.people-bulk-actions{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.people-bulk-actions label{align-items:center;gap:10px;font-size:13px;display:flex}.people-bulk-actions input{text-align:center;font-variant-numeric:tabular-nums;background:#f8f5ef;border:1px solid #8a9a7e88;border-radius:10px;width:78px;min-height:44px;padding:8px}.people-result{color:#65735a;font-size:14px}.people-error{color:#84293e;overflow-wrap:anywhere;font-size:14px}.people-error a{text-underline-offset:4px;text-decoration:underline}.people-table-wrap{background:#fffcf6;border:1px solid #8a9a7e66;border-radius:14px;overflow:hidden}.people-table-wrap [data-slot=table-container]{touch-action:pan-x pan-y}.people-table-wrap th{color:#73634f;font-size:13px}.people-table-wrap td{padding:10px 12px}.people-table-wrap tr[data-state=selected]{background:#e8ede099}.people-table-wrap .people-check-cell{width:46px;padding:0}.people-checkbox{cursor:pointer;justify-content:center;align-items:center;width:44px;min-height:44px;display:flex}.people-checkbox input{accent-color:#6e2c3a;width:18px;height:18px;cursor:inherit}.people-checkbox:has(input:disabled){opacity:.4;cursor:default}.people-name{white-space:normal;min-width:0}.people-name strong{overflow-wrap:anywhere;font-size:14px;font-weight:600;display:block}.people-name>span{color:#73634f;font-variant-numeric:tabular-nums;margin-top:3px;font-size:12px;display:block}.people-name>span.sm\:hidden{display:none}.people-role{white-space:normal;color:#73634f;font-size:12px}.people-dietas{white-space:normal;max-width:250px}.people-dietary-details{flex-wrap:wrap;gap:5px;font-size:12px;display:flex}.people-dietary-details p{color:#84293e;overflow-wrap:anywhere;width:100%}.people-dietary-chip{color:#84293e;background:#f5e4e6;border-radius:5px;padding:3px 6px;line-height:1.5}.people-no-diet{color:#73634f}.people-table-number{text-align:center;font-variant-numeric:tabular-nums}.people-mesa-controls{justify-content:center;align-items:flex-start;gap:6px;display:flex}.people-mesa input{text-align:center;font-variant-numeric:tabular-nums;background:#f8f5ef;border:1px solid #8a9a7e88;border-radius:8px;width:64px;min-height:44px}.people-mesa>span{white-space:normal;color:#84293e;max-width:120px;margin-top:4px;font-size:11px;display:block}.people-mesa .people-save-hint{color:#73634f}.people-arrival{white-space:normal;width:110px}.people-arrival time{color:#73634f;margin-top:5px;font-size:11px;display:block}.people-arrived,.people-outside{border-radius:5px;padding:4px 6px;font-size:12px;display:inline-block}.people-arrived{color:#4c5c40;background:#e8ede0}.people-outside{color:#73634f}.people-empty{color:#73634f;white-space:normal;text-align:center;padding:36px 16px!important}@media (max-width:639px){.people-filters{gap:8px}.people-search{flex-basis:100%}.people-filters>.operations-button{flex:1}.people-bulk{gap:8px;padding:12px;top:8px}.people-selection-count{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.people-bulk-actions{gap:8px;width:100%}.people-bulk-actions label{flex:1}.people-bulk-actions .operations-button{flex:1;padding:10px 12px}.people-table-wrap td{padding:10px 8px}.people-table-wrap .people-check-cell{padding:0}.people-name>span.sm\:hidden{display:block}.people-name .people-dietary-details{margin-top:8px}.people-mesa-controls{flex-direction:column;align-items:center}.people-arrival{width:95px}}@media (prefers-reduced-motion:reduce){.operations-shell :is(button,a,input,select){transition:none}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.operations-shell{--border:#65735a}.people-bulk{background:#fffcf6}}.rsvp-choice:active{background:#6e2c3a12}.rsvp-unified .wedding-button:active{transition:transform .1s ease-out;transform:scale(.98)}.rsvp-dietas label{min-height:44px}.companion-action{width:44px;height:44px}.companion-field{color:#493f36;gap:6px;min-width:0;font-size:13px;display:grid}.companion-field input{width:100%;min-width:0}[data-slot=dialog-content]{overscroll-behavior:contain;max-height:calc(100dvh - 32px);font-family:var(--font-wedding-sans),sans-serif;overflow-y:auto}[data-slot=dialog-content] :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:#7c896e;min-height:44px;font-size:16px}[data-slot=dialog-content] button{min-height:44px}[data-slot=dialog-close]{min-width:44px;min-height:44px}[data-slot=dialog-content] input:is([type=checkbox],[type=radio]){accent-color:#6e2c3a}[data-slot=dialog-content] :is(a,button,input,select,textarea):focus-visible{outline-offset:3px;outline:2px solid #6e2c3a}[data-slot=dialog-content] button:active:not(:disabled){transition:transform .1s ease-out;transform:scale(.98)}.companion-dialog label:has(input[type=checkbox]){min-height:44px}.operations-shell :is(input:not([type=checkbox]),select,textarea),.rsvp-unified :is(input:not([type=radio]):not([type=checkbox]),textarea),.invitation-access-card input{border-color:#7c896e}.letter-invitation{background:#fffcf6 url(/images/wedding/editorial/paper.png) 50%/700px;max-width:820px;margin:auto;padding:clamp(28px,6vw,72px);box-shadow:3px 12px 30px #493f3610}.letter-heading h2{font-size:clamp(1.8rem,3.3vw,2.8rem)}.letter-heading .letter-salutation{font-family:var(--font-wedding-script),cursive;color:#6e2c3a;margin-top:32px;font-size:clamp(2.1rem,4vw,3rem);line-height:1.25}.letter-heading>p:last-child{font-size:14px}.letter-question{border-top:1px solid #8a9a7e44;padding:28px 0;scroll-margin-top:100px}.letter-question .letter-prompt{min-height:1.5em;font-family:var(--font-wedding-serif),serif;color:#6e2c3a;text-wrap:wrap;margin-bottom:18px;font-size:clamp(1.45rem,2.4vw,1.85rem);font-style:italic;font-weight:400;line-height:1.45}.letter-caret{background:#6e2c3a88;width:1px;height:.8em;margin-left:3px;display:inline-block}.letter-answer{gap:14px;display:grid}.letter-field{color:#73634f;gap:8px;min-width:0;font-size:13px;display:grid}.letter-field>span{display:contents}.letter-field :is(input,select,textarea){color:#493f36;width:100%;min-width:0;min-height:48px;font-family:var(--font-wedding-sans),sans-serif;background:#fffcf6bb;border:1px solid #7c896e;border-radius:6px;padding:11px 12px;font-size:16px}.letter-field textarea{resize:vertical;min-height:90px}.letter-field input::placeholder{color:#73634f}.letter-choices{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.letter-choices label{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:12px;min-height:48px;padding:10px 12px;font-size:14px;display:flex}.letter-choices label:has(input:checked){background:#e8ede066;border-color:#8a9a7e77}.letter-choices:disabled{opacity:.65}.letter-next{color:#6e2c3a;justify-self:end;min-height:44px;font-size:14px}.letter-hint{color:#73634f;font-size:13px}.letter-signature{font-family:var(--font-wedding-script),cursive;color:#6e2c3a;font-size:2rem;line-height:1.4;display:block}.letter-total{color:#6e2c3a;margin:20px 0 14px;font-size:15px}.letter-invitation .invitation-price{border:0;padding:0}.letter-invitation .invitation-price h3{font-size:1.5rem}.letter-bank{color:#73634f;border-top:1px solid #8a9a7e44;margin-top:24px;padding-top:18px;font-size:13px}.letter-bank h4{color:#6e2c3a;margin-bottom:10px;font-size:14px}.letter-bank>div{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;display:flex}.letter-bank button{place-items:center;min-width:44px;min-height:44px;display:grid}.letter-finish{align-items:center;gap:24px;margin-top:10px;display:flex}.letter-finish .rsvp-photo{flex:0 0 115px;width:115px;margin:0;padding:6px 6px 18px}.letter-finish p{margin-bottom:14px;font-size:14px}.letter-seal-area{justify-items:start;gap:12px;margin-top:24px;display:grid}.letter-seal-area .wedding-button{border-radius:999px}.letter-seal{outline-offset:-7px;color:#6e2c3a;text-align:center;border:2px solid #6e2c3aa6;border-radius:50%;outline:1px solid #6e2c3a88;flex-direction:column;justify-content:center;justify-self:end;align-items:center;gap:5px;width:170px;height:170px;display:flex}.letter-seal>span{white-space:pre-line;font-family:var(--font-wedding-serif),serif;font-size:23px;line-height:1.05}.letter-seal small{margin-top:5px;font-size:9px}.letter-invitation :is(input,select,textarea,button):focus-visible{outline-offset:3px;outline:2px solid #6e2c3a}@media (max-width:480px){.letter-invitation{margin-inline:-6px;padding:26px 20px}.letter-question{padding-block:24px}.letter-finish{gap:16px}.letter-finish .rsvp-photo{flex-basis:84px;width:84px}.letter-finish .letter-signature{font-size:1.65rem}}
