.wedding .first-impression{min-height:calc(100svh - var(--header-height,85px));flex-direction:column;display:flex}.wedding .first-impression .hero.hero-atelier{flex:1;align-items:center;gap:38px;width:100%;max-width:1180px;margin-inline:auto;padding:36px 5%}.wedding .first-impression .atelier-photo,.wedding .first-impression .atelier-card{aspect-ratio:4/5;border:1px solid var(--card-line);background-color:var(--card);background-image:var(--cotton-grain);border-radius:3px;width:100%;max-width:none;height:auto;min-height:0;margin:0;box-shadow:0 18px 36px #00000013}.wedding .first-impression .atelier-photo{grid-template-rows:minmax(0,1fr) 58px;padding:12px 12px 0;display:grid;transform:rotate(-1.5deg)}.wedding .first-impression .atelier-photo img{aspect-ratio:auto;object-fit:cover;object-position:50% 66%;width:100%;height:100%;min-height:0;max-height:none}.wedding .first-impression .atelier-postcard-meta{padding:10px 5px 12px}.wedding .first-impression .atelier-card{justify-content:center;padding:48px 27px 23px;transform:rotate(1deg)}.wedding .first-impression .atelier-card:after{border-radius:0;inset:11px}.postcard-origin{font:400 8px/1.4 var(--sans);letter-spacing:.12em;color:var(--card-muted);position:absolute;top:23px;left:25px}.postcard-stamp{border:1px solid var(--card-line);outline:2px dotted var(--card-line);outline-offset:2px;width:44px;height:54px;color:var(--accent);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:17px;right:19px}.wedding .postcard-stamp>svg{width:30px;height:30px}.postcard-stamp small{font:400 6px var(--sans);letter-spacing:.06em}.wedding .first-impression .atelier-card h1.couple-heading{margin:15px 0 14px!important;font-size:73px!important}.wedding .first-impression .atelier-kicker{font-size:10px}.wedding .first-impression .atelier-kicker>svg{width:22px;height:22px}.wedding .first-impression .atelier-message{margin:0 0 14px;font-size:19px;line-height:1.45}.wedding .first-impression .atelier-date{margin-bottom:14px;padding:9px 19px}.wedding .first-impression .atelier-date>strong{font-size:44px}.wedding .first-impression .atelier-place{margin-bottom:14px}.wedding .first-impression .atelier-signoff{margin-top:12px;font-size:25px}.postcard-flip{display:none}.wedding .first-impression .date-ribbon{flex-shrink:0;width:100%;margin-top:auto}.collection-perla .first-impression .atelier-card{text-align:left;align-items:flex-start;padding-inline:34px}.collection-perla .first-impression .atelier-card .name-line,.collection-perla .first-impression .atelier-card .atelier-place{justify-content:flex-start}.collection-perla .first-impression .atelier-card:after{border-style:double;border-width:3px}.collection-rosa .first-impression .atelier-card:before{content:"";opacity:.15;z-index:-1;pointer-events:none;background:url(/images/palmeral-watercolor-v1.webp) 50%/100% 100%;position:absolute;inset:0}.collection-rosa .first-impression .atelier-message em{font:400 32px/1 var(--script)}.collection-medianoche .first-impression .postcard-stamp{border-color:#bca471;outline-color:#bca471}.wedding .scroll-plan .section-shell{max-width:1280px}.wedding .scroll-plan .timeline{gap:24px;margin-top:48px}.wedding .scroll-plan .timeline-item{min-height:395px;padding:32px 25px}.wedding .scroll-plan .timeline-step{box-shadow:none;border:0;font-size:11px;top:19px;right:19px;background:0 0!important}.wedding .scroll-plan .timeline-icon{width:85px;height:92px;margin-bottom:23px}.wedding .scroll-plan .timeline-icon>svg{width:80px;height:80px}.wedding .scroll-plan .timeline-time{font-size:25px}.wedding .scroll-plan .timeline-item h3{margin:14px 0 19px;font-size:43px}.wedding .scroll-plan .timeline-item p{font-size:15px;line-height:1.85}.wedding .scroll-plan .timeline-progress{display:none}.wedding .clock-content>.calendar-cta{background:color-mix(in srgb, var(--feature-ink) 7%, var(--feature));color:var(--feature-ink);border-color:color-mix(in srgb, var(--feature-accent) 40%, transparent);margin:32px auto 0}.wedding .clock-content .calendar-cta small,.wedding .clock-content .calendar-cta-icon,.wedding .clock-content .calendar-cta>svg{color:var(--feature-accent)}.cinematic-invitation .envelope-preview-card{background-image:var(--cotton-grain);justify-content:center;gap:17px;padding:26px}.cinematic-invitation .envelope-preview-card>p,.cinematic-invitation .envelope-preview-card>p em{font-size:40px;line-height:1.15}.envelope-preview-dedication{font:400 15px/1.7 var(--serif);color:#637050}.cinematic-invitation .envelope-preview-card>span{font-size:10px}.cinematic-invitation{--envelope-stage-width:520px;--envelope-stage-height:380px;--envelope-front-fill:linear-gradient(160deg,#f1e9d6,#e1d4b8);--envelope-flap-fill:linear-gradient(160deg,#e8ddc3,#d7c9a8);--envelope-stock-edge:#c6b58b}.cinematic-invitation.variant-perla{--envelope-stage-width:500px;--envelope-stage-height:370px;--envelope-front-fill:linear-gradient(135deg,#f4eddc,#e8dfc7);--envelope-flap-fill:linear-gradient(140deg,#f3ebd6,#e0d3b4);--envelope-stock-edge:#c5b999}.cinematic-invitation.variant-rosa{--envelope-front-fill:linear-gradient(135deg,#cbd2b8,#b5c0a4);--envelope-flap-fill:linear-gradient(140deg,#d5dbc3,#bac5a7);--envelope-stock-edge:#899b77}.cinematic-invitation.variant-medianoche{--envelope-stage-width:555px;--envelope-stage-height:400px;--envelope-front-fill:linear-gradient(135deg,#31553d,#193b2a);--envelope-flap-fill:linear-gradient(140deg,#44664a,#274c35);--envelope-stock-edge:#9f8851}.cinematic-invitation .envelope-scene{width:var(--envelope-stage-width);height:var(--envelope-stage-height);max-width:none}.cinematic-invitation .luxury-envelope-front{background:var(--envelope-front-fill)}.cinematic-invitation .luxury-envelope-flap{background:var(--envelope-flap-fill)}@media screen{.cinematic-invitation .invitation-paper-reveal{flex-direction:column;align-items:center;gap:0;padding:90px 20px 70px;display:flex;inset:0}.cinematic-invitation .invitation-paper-reveal>.formal-invitation{width:calc(var(--envelope-stage-width) - 26px);flex-shrink:0;max-width:100%;margin:0 auto}.cinematic-invitation .invitation-paper-reveal>.invitation-sharing{width:calc(var(--envelope-stage-width) - 26px);flex-shrink:0;max-width:100%;margin:auto auto 36px}.cinematic-invitation .invitation-paper-reveal>.paper-reveal-actions{margin:max(60px, calc(var(--closed-envelope-height,var(--envelope-stage-height)) - var(--display-paper-height) + 54px)) auto auto;flex-shrink:0;padding:0}.cinematic-invitation .paper-reveal-actions .paper-enter{gap:9px;min-height:44px;padding:10px 18px;font-size:13px;line-height:1.4}.cinematic-invitation .paper-enter svg{border:0;border-radius:0;width:16px;height:16px;padding:0}.cinematic-invitation .opened-envelope-backdrop{width:var(--closed-envelope-width,var(--envelope-stage-width));height:var(--closed-envelope-height,var(--envelope-stage-height));max-width:none;top:calc(var(--display-paper-top) + 18px);background:var(--envelope-front-fill);border-color:var(--envelope-stock-edge);transform:translate(-50%)rotate(-2deg)}.cinematic-invitation .opened-envelope-flap{display:none}}@media (max-width:1100px) and (min-width:761px){.wedding .first-impression .hero.hero-atelier{gap:24px}.wedding .first-impression .atelier-card{padding:42px 23px 20px}.wedding .first-impression .atelier-card h1.couple-heading{font-size:63px!important}.wedding .first-impression .atelier-message{font-size:17px}.wedding .first-impression .atelier-signoff{font-size:22px}.wedding .scroll-plan .timeline-item{padding:29px 20px}}@media (max-height:800px) and (min-width:761px){.cinematic-invitation,.cinematic-invitation.variant-perla{--envelope-stage-width:440px;--envelope-stage-height:325px}.cinematic-invitation.variant-medianoche{--envelope-stage-width:460px;--envelope-stage-height:340px}.wedding .scroll-plan .timeline-item{min-height:350px}}@media (max-width:760px){.wedding .first-impression{min-height:calc(100svh - var(--header-height,80px))}.wedding .first-impression .hero.hero-atelier{perspective:1200px;grid-template-rows:auto auto;grid-template-columns:1fr;align-content:center;gap:20px;padding:26px 7% 25px;display:grid}.wedding .first-impression .atelier-photo,.wedding .first-impression .atelier-card{aspect-ratio:4/5;backface-visibility:hidden;grid-area:1/1;justify-self:center;width:min(350px,100%);height:auto;transition:transform .95s cubic-bezier(.2,.7,.2,1),opacity .35s;transform:none}.wedding .first-impression .atelier-photo{grid-template-rows:minmax(0,1fr) 48px;padding:9px 9px 0}.wedding .first-impression .atelier-photo img{object-position:50% 65%;height:100%}.wedding .first-impression .atelier-postcard-meta>span{font-size:26px}.wedding .first-impression .atelier-card{text-align:center;align-items:center;padding:42px 19px 21px}.wedding .hero[data-postcard-face=photo] .atelier-card{opacity:0;pointer-events:none;transform:rotateY(180deg)}.wedding .hero[data-postcard-face=photo] .atelier-photo{opacity:1;transform:rotateY(0)}.wedding .hero[data-postcard-face=message] .atelier-photo{opacity:0;pointer-events:none;transform:rotateY(-180deg)}.wedding .hero[data-postcard-face=message] .atelier-card{opacity:1;transform:rotateY(0)}.wedding .first-impression .postcard-origin{font-size:6px;top:18px;left:18px}.wedding .first-impression .postcard-stamp{width:30px;height:36px;top:12px;right:14px}.wedding .postcard-stamp>svg{width:23px;height:23px}.postcard-stamp small{font-size:4px}.wedding .first-impression .atelier-kicker{display:none}.wedding .first-impression .atelier-card h1.couple-heading{margin:11px 0 13px!important;font-size:48px!important}.wedding .first-impression .atelier-card .hero-names{flex-wrap:nowrap}.wedding .first-impression .atelier-card .name-line{justify-content:center}.wedding .first-impression .atelier-message{margin-bottom:12px;font-size:17px;line-height:1.4}.wedding .first-impression .atelier-date{margin-bottom:12px;padding:7px 17px}.wedding .first-impression .atelier-date>strong{font-size:35px}.wedding .first-impression .atelier-date em{font-size:12px}.wedding .first-impression .atelier-place{margin-bottom:13px}.wedding .first-impression .atelier-place>span{font-size:14px}.wedding .first-impression .atelier-signoff{display:none}.wedding .postcard-flip{border:1px solid var(--line);background:var(--card);min-height:46px;color:var(--card-ink);font:400 13px var(--sans);border-radius:30px;grid-area:2/1;justify-self:center;align-items:center;gap:11px;padding:12px 19px;display:inline-flex}.wedding .scroll-plan .timeline{gap:20px}.wedding .scroll-plan .timeline-item{min-height:220px;padding:27px 22px}.wedding .scroll-plan .timeline-item h3{font-size:38px}.wedding .scroll-plan .timeline-icon{width:62px;height:80px}.wedding .scroll-plan .timeline-icon>svg{width:62px;height:62px}.wedding .scroll-plan .timeline-item p{font-size:14px}.cinematic-invitation,.cinematic-invitation.variant-perla,.cinematic-invitation.variant-rosa,.cinematic-invitation.variant-medianoche{--envelope-stage-width:min(86vw,420px);--envelope-stage-height:285px}.cinematic-invitation .envelope-preview-card{gap:12px;padding:18px 13px}.cinematic-invitation .envelope-preview-card>p,.cinematic-invitation .envelope-preview-card>p em{font-size:32px}.envelope-preview-dedication{font-size:12px;line-height:1.5}}@media (max-width:360px){.wedding .first-impression .atelier-card h1.couple-heading{font-size:40px!important}.wedding .first-impression .atelier-card{padding:36px 16px 16px}.wedding .first-impression .atelier-message{font-size:15px}.wedding .first-impression .atelier-date{margin-bottom:9px}.wedding .first-impression .atelier-place{margin-bottom:10px}}@media (prefers-reduced-motion:reduce){.wedding .first-impression .atelier-photo,.wedding .first-impression .atelier-card{transition:none}}.cinematic-invitation:is(.variant-sobre,.variant-perla,.variant-rosa,.variant-medianoche) .envelope-scene{width:var(--envelope-stage-width);height:var(--envelope-stage-height);max-width:none}.wedding .first-impression .atelier-photo,.wedding .first-impression .atelier-card{background-image:linear-gradient(color-mix(in srgb,var(--card) 75%,transparent),color-mix(in srgb,var(--card) 75%,transparent)), var(--cotton-grain)}.invitation-sharing .sharing-status{color:#f2e6c8;z-index:100;pointer-events:none;text-align:center;background:#153729f5;border:1px solid #b9a06a66;border-radius:12px;width:min(340px,100% - 36px);margin:0;padding:12px 16px;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0003}.atelier-postcard{display:contents}.wedding .proposal-photo .proposal-photo-date{color:#171917}.wedding .story-quote em{margin-top:8px;font-size:1.2em;line-height:1.2;display:inline-block}.wedding:not([data-example]) .clock-content .clock-names,.wedding[data-example=caribe] .clock-content .clock-names{color:#596b45;font-weight:400}@media (max-width:760px){.wedding .first-impression .hero .atelier-postcard{aspect-ratio:4/5;width:min(350px,100%);transform-style:preserve-3d;will-change:transform;grid-area:1/1;justify-self:center;transition:transform 1.15s cubic-bezier(.45,0,.2,1);display:grid;position:relative;transform:rotateY(0)}.wedding .first-impression .hero[data-postcard-face=message] .atelier-postcard{transform:rotateY(-180deg)}.wedding .first-impression .hero .atelier-postcard>.atelier-photo,.wedding .first-impression .hero .atelier-postcard>.atelier-card{aspect-ratio:auto;opacity:1;backface-visibility:hidden;box-sizing:border-box;grid-area:1/1;width:100%;height:100%;transition:none}.wedding .first-impression .hero .atelier-postcard>.atelier-photo{transform:rotateY(0)}.wedding .first-impression .hero .atelier-postcard>.atelier-card{transform:rotateY(180deg)}}@media (prefers-reduced-motion:reduce){.wedding .first-impression .hero .atelier-postcard{will-change:auto;transition:none}}
.formal-invitation .paper-edition-emblem{color:#9b8857;width:6.5%;height:10%;display:none;position:absolute}.formal-invitation .paper-composition{gap:1.45cqw 5cqw;inset:7%}.formal-invitation .paper-couple{font-size:10.5cqw;font-weight:400}.formal-invitation .paper-message{font-size:2.3cqw;font-weight:400;line-height:1.6}.formal-invitation .paper-date>strong{font-family:var(--serif);letter-spacing:.035em;font-size:5cqw;font-weight:400}.formal-invitation .paper-location strong{font-size:3.1cqw;font-weight:400}.formal-invitation .paper-signoff{font-size:3.6cqw}.formal-invitation:after{opacity:.36}.formal-invitation.stationery-sobre .paper-inner-frame{border-color:#b8a16b55;inset:3.5%}.formal-invitation.stationery-sobre .paper-composition .paper-recipient strong{font-size:8.8cqw}.formal-invitation.stationery-perla{color:#46583d;background-color:#faf6e9}.formal-invitation.stationery-perla .paper-composition{grid-template:"kicker event""couple event""announcement event""message event""recipient recipient"1fr"signoff signoff"/1.3fr .85fr;gap:1.4cqw 4cqw;inset:9% 7%}.formal-invitation.stationery-perla .paper-couple{font-size:8.6cqw}.formal-invitation.stationery-perla .paper-message{font-size:2.1cqw}.formal-invitation.stationery-perla .paper-event{gap:2.2cqw}.formal-invitation.stationery-perla .paper-date>strong{font-size:4.4cqw}.formal-invitation.stationery-perla .paper-location strong{font-size:2.8cqw}.formal-invitation.stationery-perla .paper-inner-frame{border:3px double #89936c50;inset:3%}.formal-invitation.stationery-perla .paper-composition .paper-recipient{gap:.6cqw}.formal-invitation.stationery-perla .paper-composition .paper-recipient strong{font-size:9.4cqw}.formal-invitation.stationery-perla .paper-composition .paper-recipient-long strong{font-size:7cqw}.formal-invitation.stationery-perla:after{opacity:.23;transform:scaleX(-1)}.formal-invitation.stationery-rosa{color:#36533d;background-color:#f1f2e4}.formal-invitation.stationery-rosa .paper-composition{grid-template:"kicker kicker""couple couple""announcement announcement""recipient event"1fr"message message""signoff signoff"/1.25fr 1fr;inset:7% 8%}.formal-invitation.stationery-rosa .paper-inner-frame{border:1px solid #85967140;border-radius:3px;inset:4%}.formal-invitation.stationery-rosa .paper-composition .paper-recipient strong{font-size:10cqw}.formal-invitation.stationery-rosa .paper-composition .paper-recipient-long strong{font-size:6.8cqw}.formal-invitation.stationery-rosa:after{opacity:.42;transform:scaleX(-1)}.formal-invitation.stationery-rosa .paper-signoff{color:#718158}.formal-invitation.stationery-medianoche{color:#f1e5c5;background-color:#173b2c}.formal-invitation.stationery-medianoche .paper-composition{grid-template:"kicker kicker""couple couple""announcement announcement""recipient recipient"1fr"event event""signoff signoff"/1fr 1fr;row-gap:1cqw;inset:7%}.formal-invitation.stationery-medianoche .paper-couple{color:#f1e5c5;font-size:10cqw}.formal-invitation.stationery-medianoche .paper-couple>span,.formal-invitation.stationery-medianoche .paper-announcement,.formal-invitation.stationery-medianoche .paper-date>strong,.formal-invitation.stationery-medianoche .paper-signoff{color:#d6bb7d}.formal-invitation.stationery-medianoche .paper-message{display:none}.formal-invitation.stationery-medianoche .paper-event{flex-direction:row;justify-content:center;align-items:center;gap:5cqw}.formal-invitation.stationery-medianoche .paper-date,.formal-invitation.stationery-medianoche .paper-location{width:auto}.formal-invitation.stationery-medianoche .paper-date>strong{font-size:4cqw}.formal-invitation.stationery-medianoche .paper-location strong{font-size:3.1cqw}.formal-invitation.stationery-medianoche .paper-composition .paper-recipient strong{color:#f7ecd2;font-size:10cqw}.formal-invitation.stationery-medianoche .paper-composition .paper-recipient>span,.formal-invitation.stationery-medianoche .paper-composition .paper-recipient small{color:#d8c99f}.formal-invitation.stationery-medianoche .paper-inner-frame{border:3px double #c5a96988;inset:3%}.formal-invitation.stationery-medianoche:after{filter:saturate(.6)brightness(1.4);opacity:.24}.formal-invitation.stationery-medianoche:before{mix-blend-mode:soft-light;opacity:.5}@media (max-width:760px){.formal-invitation.stationery-perla .paper-kicker,.formal-invitation.stationery-perla .paper-date>span,.formal-invitation.stationery-perla .paper-composition .paper-recipient>span{font-size:max(5px,1.35cqw)}.formal-invitation.stationery-medianoche .paper-event{gap:4cqw}}@media print{.formal-invitation .paper-couple{font-size:10.5cqw!important}.formal-invitation.stationery-perla .paper-couple{font-size:8.6cqw!important}.formal-invitation.stationery-medianoche .paper-couple{font-size:10cqw!important}}.formal-invitation.stationery-sobre .paper-composition .paper-recipient-long strong{font-size:6.3cqw}.formal-invitation.stationery-medianoche .paper-composition .paper-recipient-long strong{font-size:6.8cqw}@media print{.formal-invitation .paper-kicker{font-size:1.35cqw!important}.formal-invitation .paper-announcement{font-size:1.5cqw!important}.formal-invitation .paper-date>span{font-size:1.45cqw!important}.formal-invitation .paper-date>strong{font-size:5cqw!important}.formal-invitation.stationery-perla .paper-date>strong{font-size:4.4cqw!important}.formal-invitation.stationery-perla .paper-message{font-size:2.1cqw!important}.formal-invitation.stationery-medianoche .paper-date>strong{font-size:4cqw!important}.formal-invitation.stationery-sobre .paper-composition .paper-recipient strong{font-size:8.8cqw!important}.formal-invitation.stationery-perla .paper-composition .paper-recipient strong{font-size:9.4cqw!important}.formal-invitation.stationery-rosa .paper-composition .paper-recipient strong,.formal-invitation.stationery-medianoche .paper-composition .paper-recipient strong{font-size:10cqw!important}.formal-invitation.stationery-sobre .paper-composition .paper-recipient-long strong{font-size:6.3cqw!important}.formal-invitation.stationery-perla .paper-composition .paper-recipient-long strong{font-size:7cqw!important}.formal-invitation.stationery-rosa .paper-composition .paper-recipient-long strong,.formal-invitation.stationery-medianoche .paper-composition .paper-recipient-long strong{font-size:6.8cqw!important}}
.wedding .clock-celebration-copy{max-width:540px;font:300 16px/1.85 var(--sans);color:var(--feature-ink);margin:28px auto;padding-inline:12px}.clock-celebration-copy span{margin-top:12px;display:block}.wedding .celebration-heading h2{font:400 clamp(35px, 4vw, 52px)/1.15 var(--serif);margin:20px 0 25px}.wedding .celebration-heading h2 em{font:400 1.25em/1 var(--script);color:var(--accent)}.wedding .celebration-heading>p{max-width:420px;font:300 16px/1.85 var(--sans);color:var(--muted)}.wedding .celebration-guide{padding-block:70px}.wedding #supervivencia,.wedding #alojamiento,.wedding #temazo,.wedding #mensajito{scroll-margin-top:calc(var(--header-height,80px) + 20px)}.celebration-guide .celebration-heading{text-align:center;margin-bottom:42px}.survival-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.survival-tip{background:var(--card);min-width:0;color:var(--card-ink);border:1px solid var(--card-line);border-radius:var(--frame);padding:30px}.survival-tip>svg{color:var(--accent);margin-bottom:18px}.survival-tip h3{font:400 24px/1.3 var(--serif);margin:0 0 16px}.survival-tip p{font:300 15px/1.85 var(--sans);margin:0}.survival-tip .survival-aside{color:var(--card-muted);margin-top:16px;font-weight:400}.wedding .stay-section{grid-template-columns:1fr 1.15fr;gap:60px;padding-block:60px 80px;display:grid}.stay-links{flex-direction:column;gap:12px;min-width:0;display:flex}.stay-links a{background:var(--card);color:var(--card-ink);border:1px solid var(--card-line);border-radius:var(--frame);align-items:center;gap:18px;padding:22px;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.stay-links a:hover{border-color:var(--accent);transform:translateY(-2px)}.stay-links a>svg{color:var(--accent);flex-shrink:0}.stay-links a>span{flex:1;min-width:0}.stay-links strong{font:400 18px/1.4 var(--serif);display:block}.stay-links small{font:300 12px/1.6 var(--sans);color:var(--card-muted);margin-top:5px;display:block}.stay-note{font:300 13px/1.8 var(--sans);color:var(--muted);margin:8px 0 0}.wedding .guest-keepsake{border:0;border-top:1px solid var(--card-line);min-width:0;margin:32px 0 0;padding:28px 0 8px}.wedding .guest-keepsake legend{font:400 29px/1.3 var(--script);color:var(--card-ink);padding:0 10px 0 0}.guest-keepsake legend svg{vertical-align:middle;color:var(--accent);margin-right:8px}.wedding .guest-keepsake h4{font:400 19px/1.5 var(--serif);color:var(--card-ink);margin:0 0 12px}.wedding .guest-keepsake p{font:300 14px/1.8 var(--sans);color:var(--card-muted);margin:0 0 20px}.wedding .guest-keepsake label{font:400 13px/1.6 var(--sans);color:var(--card-ink);margin-bottom:9px;display:block}.guest-keepsake label span{color:var(--card-muted)}.wedding .guest-keepsake input,.wedding .guest-keepsake textarea{box-sizing:border-box;width:100%;min-width:0;font:300 16px/1.5 var(--sans);color:var(--card-ink);border:1px solid var(--card-line);background:0 0;border-radius:6px;padding:14px;display:block}.guest-keepsake textarea{resize:vertical}.guest-keepsake input::placeholder,.guest-keepsake textarea::placeholder{color:var(--card-muted);opacity:.8}.wedding .guest-keepsake .keepsake-aside{margin-top:12px;font-size:12px}.wedding .keepsake-save-note{font:400 12px/1.7 var(--sans);color:var(--card-muted);margin:16px 0 24px}.cinematic-invitation .envelope-preview-card>p{max-width:92%;font-size:29px;line-height:1.25}.cinematic-invitation .envelope-preview-card>p em{font-size:inherit;line-height:inherit}@media (max-width:760px){.wedding .clock-celebration-copy{font-size:14px}.wedding .celebration-guide{padding-block:45px}.survival-grid{grid-template-columns:1fr;gap:16px}.survival-tip{padding:25px}.wedding .stay-section{grid-template-columns:1fr;gap:26px;padding-block:30px 55px}.stay-links a{gap:12px;padding:19px}.wedding .guest-keepsake legend{font-size:28px}.cinematic-invitation .envelope-preview-card>p{font-size:25px}}
.wedding .wedding-music-control{right:22px;bottom:max(22px, env(safe-area-inset-bottom));z-index:85;border:1px solid var(--card-line);background:var(--card);min-height:44px;color:var(--card-ink);font:400 12px/1.5 var(--sans);cursor:pointer;border-radius:28px;justify-content:center;align-items:center;gap:9px;padding:10px 15px;display:inline-flex;position:fixed;box-shadow:0 4px 18px #102d2318}.wedding .wedding-music-control[aria-pressed=true]{border-color:var(--accent)}.wedding-music-control svg{flex-shrink:0}@media (max-width:760px){.wedding .wedding-music-control{right:16px;bottom:max(18px, env(safe-area-inset-bottom));width:44px;height:44px;padding:0}.wedding-music-control span{display:none}}
.cinematic-invitation{height:100dvh;min-height:0;max-height:none;overflow:hidden auto}.cinematic-invitation .intro-background{height:100dvh;position:fixed;inset:0}.cinematic-invitation .intro-grid{background-image:none;display:none}.cinematic-invitation .luxury-card[tabindex="0"]{cursor:pointer}.cinematic-invitation .luxury-card[tabindex="0"]:focus-visible{outline-offset:5px;outline:2px solid #c6b179}.envelope-continue{color:inherit;font:inherit;cursor:pointer;background:#fff9e511;border:1px solid #dfd1ae70;border-radius:99px;justify-content:center;align-items:center;gap:10px;margin-bottom:14px;padding:10px 18px;font-size:13px;display:inline-flex}.portfolio-wedding .wedding.invitation-is-open{background:var(--demo-bg)}.portfolio-wedding .cinematic-invitation{background:var(--demo-bg);color:var(--demo-ink);--collection-paper:var(--demo-paper);--collection-ink:var(--demo-ink)}.portfolio-wedding .cinematic-invitation .intro-background{background:radial-gradient(ellipse at 50% 45%,var(--demo-paper),var(--demo-bg) 80%)}.portfolio-wedding .intro-curtain{background:var(--demo-bg)}.portfolio-wedding .cinematic-invitation .intro-top,.portfolio-wedding .cinematic-invitation .intro-names,.portfolio-wedding .cinematic-invitation .intro-names>span,.portfolio-wedding .cinematic-invitation .intro-date,.portfolio-wedding .cinematic-invitation .intro-date>em,.portfolio-wedding .cinematic-invitation .intro-instructions,.portfolio-wedding .cinematic-invitation .intro-skip,.portfolio-wedding .cinematic-invitation .intro-reveal-word,.portfolio-wedding .cinematic-invitation .intro-reveal-word strong{color:var(--demo-ink)}.portfolio-wedding .cinematic-invitation .intro-skip{background:var(--demo-paper);border:1px solid color-mix(in srgb,var(--demo-ink) 20%,transparent)}.portfolio-wedding .cinematic-invitation .intro-emblem{color:var(--demo-ink);opacity:.13}.portfolio-wedding .cinematic-invitation .intro-particles>span{background:var(--demo-ink);opacity:.1}.portfolio-wedding .cinematic-invitation .intro-halo{border-color:color-mix(in srgb,var(--demo-ink) 8%,transparent);box-shadow:none}.portfolio-wedding .cinematic-invitation .luxury-envelope-front{background:linear-gradient(140deg,var(--demo-paper),var(--demo-pastel));color:var(--demo-ink)}.portfolio-wedding .cinematic-invitation .luxury-envelope-back{background:var(--demo-pastel)}.portfolio-wedding .cinematic-invitation .luxury-envelope-flap{background:linear-gradient(140deg,var(--demo-paper),var(--demo-pastel))}.portfolio-wedding .cinematic-invitation .envelope-address,.portfolio-wedding .cinematic-invitation .envelope-address>span,.portfolio-wedding .cinematic-invitation .envelope-preview-card,.portfolio-wedding .cinematic-invitation .envelope-preview-card>span,.portfolio-wedding .cinematic-invitation .envelope-preview-card>p,.portfolio-wedding .cinematic-invitation .envelope-preview-card>p em{color:var(--demo-ink)}.portfolio-wedding .cinematic-invitation .envelope-preview-card{background-color:var(--demo-paper)}.portfolio-wedding .cinematic-invitation .paper-enter,.portfolio-wedding .cinematic-invitation .envelope-continue{color:var(--demo-ink);background:var(--demo-paper);border-color:color-mix(in srgb,var(--demo-ink) 25%,transparent)}@media (max-height:750px){.cinematic-invitation{justify-content:flex-start}.cinematic-invitation>.intro-top{margin-top:0}.cinematic-invitation .intro-instructions{flex-shrink:0}}.cinematic-invitation.is-opening:not(.is-finishing):not(.has-paper) .intro-instructions{opacity:1;visibility:visible;transition:opacity .3s;transform:none}.cinematic-invitation.is-opening:not(.is-finishing):not(.has-paper) .intro-instructions>svg,.cinematic-invitation.is-opening:not(.is-finishing):not(.has-paper) .intro-instructions>span{display:none}.cinematic-invitation.is-opening:not(.is-finishing):not(.has-paper) .intro-instructions>p{margin-top:0;font-size:12px}.portfolio-wedding .wedding[class]{--feature:var(--demo-pastel);--feature-ink:var(--demo-ink);--feature-accent:var(--demo-ink);--soft:var(--demo-pastel);--gold:var(--demo-ink);--dark:var(--demo-ink);--button:var(--demo-ink);--button-ink:var(--demo-paper);--muted:color-mix(in srgb,var(--demo-ink) 78%,var(--demo-paper));--line:color-mix(in srgb,var(--demo-ink) 22%,transparent)}.portfolio-wedding .wedding .clock-content>.calendar-cta{background:var(--demo-paper);color:var(--demo-ink);border:1px solid color-mix(in srgb,var(--demo-ink) 45%,transparent);border-radius:8px}.portfolio-wedding .wedding .clock-content .calendar-cta :is(strong,small,svg,.calendar-cta-icon){color:var(--demo-ink)}.portfolio-wedding .wedding :is(.countdown-experience,.wedding-footer){background:var(--demo-pastel);color:var(--demo-ink)}.portfolio-wedding .wedding .footer-palm{color:var(--demo-ink);opacity:.24}.portfolio-wedding .paper-message,.portfolio-wedding .envelope-preview-card>p{white-space:pre-line;overflow-wrap:anywhere}.portfolio-wedding .cinematic-invitation .luxury-envelope-front{background:var(--demo-paper);filter:none;mix-blend-mode:normal;isolation:isolate}.portfolio-wedding .cinematic-invitation .luxury-envelope-back{background:color-mix(in srgb,var(--demo-paper) 92%,var(--demo-ink));border:1px solid color-mix(in srgb,var(--demo-ink) 14%,transparent)}.portfolio-wedding .cinematic-invitation .luxury-envelope-flap{background:color-mix(in srgb,var(--demo-paper) 97%,var(--demo-ink));filter:none;mix-blend-mode:normal}.portfolio-wedding .cinematic-invitation .luxury-card{background:var(--demo-paper);border-color:var(--demo-paper);filter:none}.portfolio-wedding .cinematic-invitation .envelope-preview-card{background:var(--demo-paper);isolation:isolate;background-image:none;position:relative}.portfolio-wedding .cinematic-invitation .luxury-envelope-front:before{mix-blend-mode:normal;opacity:.22;background:url(/images/experiences/ciudad-watercolor-v1.webp) 100% 100%/auto 100% no-repeat}.portfolio-wedding .cinematic-invitation .luxury-envelope-flap:before{opacity:0;background:0 0}.portfolio-wedding .cinematic-invitation .envelope-preview-card:before{content:"";z-index:-1;pointer-events:none;opacity:.19;background:url(/images/experiences/ciudad-watercolor-v1.webp) 100% 100%/auto 90% no-repeat;position:absolute;inset:0}.portfolio-wedding .cinematic-invitation :is(.envelope-light-sweep,.flap-pattern,.envelope-botanical){display:none}.portfolio-wedding[data-typography=script]{--demo-name-font:"Italianno",cursive}.portfolio-wedding[data-typography=serif]{--demo-name-font:"DM Serif Display",serif}.portfolio-wedding[data-typography=modern]{--demo-name-font:"Outfit Variable",sans-serif}.portfolio-wedding[data-typography] :is(.ns-names,.paper-couple,.intro-names,.footer-names,.wordmark,.couple-heading){font-family:var(--demo-name-font)!important}.portfolio-wedding[data-typography=modern] :is(.ns-names,.paper-couple,.intro-names,.footer-names,.couple-heading){letter-spacing:-.04em;font-weight:400!important;line-height:1.1!important}.portfolio-wedding[data-typography=serif] :is(.ns-names,.paper-couple,.intro-names,.footer-names,.couple-heading){line-height:1.1!important}.portfolio-wedding[data-typography] :is(.envelope-preview-card>p,.envelope-preview-card>p em,.paper-message){font-style:normal;font-family:var(--demo-name-font)!important}.portfolio-wedding .cinematic-invitation .envelope-preview-card>p{font-size:var(--demo-message-size,24px);max-width:92%;line-height:1.35}.portfolio-wedding[data-typography] .envelope-preview-card>p em{font-size:inherit;line-height:inherit}.portfolio-wedding .cinematic-invitation .luxury-envelope-front:before,.portfolio-wedding .cinematic-invitation .envelope-preview-card:before{background-image:var(--demo-watercolor);background-position:100% 100%;background-repeat:no-repeat;background-size:auto 100%}.portfolio-wedding .formal-invitation .paper-leaf{display:none}.portfolio-wedding .formal-invitation:before{background-image:var(--demo-watercolor);opacity:.23;mix-blend-mode:normal;pointer-events:none;background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.portfolio-wedding .formal-invitation{background-image:none}.wedding .site-header{gap:18px;min-height:64px;padding-block:12px}.wedding .site-header .wordmark{font-size:32px;line-height:1.1}.wedding .site-header .header-rsvp{min-height:40px;padding-block:9px}.wedding .wedding-footer{padding:42px 6% 26px}.wedding .wedding-footer h2{margin-block:14px;font-size:clamp(38px,4.4vw,64px);line-height:1.05}.wedding .footer-names{margin-block:15px;font-size:clamp(30px,3vw,42px)}.wedding .footer-date{gap:12px;margin-top:14px}.wedding .footer-date strong{font-size:30px}.wedding .footer-motif{width:30px;height:30px;margin-block:18px}.wedding .footer-bottom{margin-top:22px;padding-top:16px}.wedding .footer-palm{max-height:250px;bottom:35px}@media (max-width:760px){.wedding .site-header{gap:12px;min-height:60px;padding:10px 5%}.wedding .site-header .wordmark{font-size:28px}.wedding .site-header .header-rsvp{min-height:40px}.wedding .site-header .menu-toggle{min-width:40px;min-height:40px}.wedding .wedding-footer{padding:32px 6% 26px}.wedding .wedding-footer h2{font-size:42px}.wedding .footer-names{margin-block:12px;font-size:32px}.wedding .footer-date strong{font-size:26px}.wedding .footer-bottom{gap:10px;margin-top:18px}}.wedding .wedding-footer h2{margin-block:10px;font-size:clamp(36px,3.4vw,50px)}.wedding .footer-date{margin:10px 0 12px}.wedding .footer-motif{display:none}.wedding .footer-bottom{margin-top:18px;padding:12px 0 0}.wedding .footer-names{margin-block:10px}@media (max-width:760px){.wedding .wedding-footer{padding-block:28px 22px}.wedding .wedding-footer h2{font-size:36px}.wedding .footer-date{gap:7px}.wedding .footer-bottom{margin-top:16px;padding:12px 0 0}}
.wedding .wedding-footer>.eyebrow,.wedding .dream-gift>.eyebrow,.wedding .celebration-heading>.eyebrow{letter-spacing:.12em;font-size:13px;font-weight:500;line-height:1.8}.wedding .wedding-footer h2{text-wrap:balance;max-width:1000px;margin-inline:auto}.wedding .wedding-footer h2 em{font-size:.9em}.wedding .invitation-copy>p{max-width:390px;font-size:18px;line-height:1.85}.wedding .invitation-layout{align-items:start;gap:40px}.wedding .personal-note{margin-top:22px;font-size:13px;line-height:1.8}.wedding .faq-list summary{gap:16px;font-size:18px;font-weight:500;line-height:1.6}.wedding .faq-list details>p{font-size:16px;line-height:1.85}.wedding .venue-copy>p{font-size:18px;line-height:1.85}.wedding .survival-tip p{font-size:16px;line-height:1.85}.wedding .survival-tip .survival-aside,.wedding .survival-aside strong{color:var(--card-ink);font-weight:600}.wedding .guest-keepsake h4{font-weight:600}.wedding .guest-keepsake .keepsake-aside{color:var(--card-ink);font-size:13px;font-weight:600;line-height:1.8}.wedding .form-heading>span{font-size:14px;font-weight:500;line-height:1.7}.wedding .form-heading>h4,.wedding .guest-fieldset>legend{font-weight:600}.wedding .scroll-plan .plan-date{line-height:1.7;font-size:19px!important}.wedding .scroll-plan .plan-date>span{font-size:15px}.wedding .scroll-plan .timeline-item p{max-width:none;font-size:16px;line-height:1.8}.wedding .scroll-plan .timeline-five{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.wedding .scroll-plan .timeline-five .timeline-item{min-height:360px}.wedding .scroll-plan .timeline-five .timeline-item h3{font-size:clamp(32px,3vw,42px);line-height:1.2}.wedding .story-dance-message{font:400 27px/1.4 var(--script);color:var(--ink);align-items:center;gap:12px;margin-top:8px;display:inline-flex}.wedding .story-dance-message svg{color:var(--accent);flex-shrink:0}.wedding .rsvp-deadline{border-left:2px solid var(--gold);background:var(--soft);padding:10px 14px;font-size:16px;line-height:1.7}@media (max-width:1000px) and (min-width:761px){.wedding .scroll-plan .timeline-five{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.wedding .wedding-footer>.eyebrow,.wedding .dream-gift>.eyebrow,.wedding .celebration-heading>.eyebrow{font-size:11px;line-height:1.8}.wedding .wedding-footer h2{font-size:clamp(46px,12vw,64px);line-height:1.1}.wedding .invitation-layout{gap:24px}.wedding .invitation-copy>p,.wedding .venue-copy>p{max-width:100%;font-size:17px;line-height:1.8}.wedding .personal-note{font-size:12.5px;line-height:1.8}.wedding .faq-list summary{padding-block:22px;font-size:16px}.wedding .faq-list details>p{font-size:15px;line-height:1.85}.wedding .survival-tip p{font-size:15.5px;line-height:1.85}.wedding .survival-tip .survival-aside{font-size:15px}.wedding .scroll-plan .plan-date{font-size:17px!important}.wedding .scroll-plan .plan-date>span{font-size:14px}.wedding .scroll-plan .timeline-five{flex-direction:column;display:flex}.wedding .scroll-plan .timeline-five .timeline-item{min-height:0;padding:26px 20px}.wedding .scroll-plan .timeline-five .timeline-item h3{font-size:34px}.wedding .scroll-plan .timeline-item p{font-size:15px;line-height:1.8}.wedding .story-dance-message{margin-top:4px;font-size:27px}.wedding .rsvp-deadline{font-size:15px}}.wedding:not([data-example]) .footer-names,.wedding[data-example=caribe] .footer-names{color:#806437;font-weight:400}.wedding:not([data-example]) .footer-date>strong,.wedding[data-example=caribe] .footer-date>strong{color:#354a35}.wedding:not([data-example]) .footer-date>strong em,.wedding[data-example=caribe] .footer-date>strong em{color:#806437}.wedding .story-copy>p strong,.wedding .venue-copy>p strong,.wedding .survival-tip>p:not(.survival-aside) strong{color:var(--ink);font-weight:600}.wedding:not([data-example]) .footer-date>span,.wedding[data-example=caribe] .footer-date>span{color:#46573e;opacity:1}.wedding:is(:not([data-example]),[data-example=caribe]) .wedding-footer h2{color:#52634a;max-width:640px;margin:18px auto 32px;font-size:clamp(26px,2.8vw,38px);line-height:1.25}.wedding:is(:not([data-example]),[data-example=caribe]) .footer-names{letter-spacing:-.025em;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .14em;max-width:100%;margin:0 auto 30px;font-size:clamp(76px,8vw,112px);font-weight:400;line-height:1.15;display:flex}.wedding:is(:not([data-example]),[data-example=caribe]) .footer-names>span{display:block}.wedding:is(:not([data-example]),[data-example=caribe]) .footer-names .footer-names-amp{letter-spacing:0;font-family:DM Serif Display,serif;font-size:.45em;font-weight:400}@media (max-width:600px){.wedding:is(:not([data-example]),[data-example=caribe]) .wedding-footer h2{max-width:310px;margin:16px auto 29px;font-size:25px;line-height:1.3}.wedding:is(:not([data-example]),[data-example=caribe]) .wedding-footer h2 em{font-size:1em}.wedding:is(:not([data-example]),[data-example=caribe]) .footer-names{flex-direction:column;align-items:center;gap:0;margin-bottom:28px;font-size:clamp(66px,17vw,86px);line-height:1}.wedding:is(:not([data-example]),[data-example=caribe]) .footer-names .footer-names-amp{margin:3px 0;font-size:23px;line-height:1.25}.wedding:is(:not([data-example]),[data-example=caribe]) .footer-date>strong{font-size:28px}}.wedding .rsvp-card{isolation:isolate;position:relative;overflow:hidden}.wedding .nu-paper-texture{z-index:-1;pointer-events:none;mix-blend-mode:multiply;opacity:.34;border-radius:inherit;background:url(/images/stationery/paper-cotton-photoreal-v1.webp) 50%/cover;position:absolute;inset:0}.wedding :is(.intro-names,.couple-heading,.paper-couple,.reservation h3){font-synthesis:none;text-shadow:none;font-weight:400}.wedding .intro-names>span{font-family:var(--script);color:inherit;padding-inline:.12em;font-size:.72em;font-weight:400}.wedding .hero-names .name-ampersand{font-family:var(--script);color:inherit;font-size:.65em;font-weight:400}.wedding .rsvp-card :is(.form-heading>h4,.guest-fieldset>legend){font-weight:500}
.portfolio-wedding .wedding[data-example]{--paper:var(--demo-bg);--ink:var(--demo-ink);--card:var(--demo-paper);--card-ink:var(--demo-ink);--card-muted:color-mix(in srgb,var(--demo-ink) 75%,var(--demo-paper));--card-line:color-mix(in srgb,var(--demo-ink) 20%,transparent);background:var(--demo-bg);color:var(--demo-ink)}.portfolio-wedding .wedding[data-example] .site-header{background:var(--demo-paper)}.portfolio-wedding .wedding[data-example] .rsvp-card{background:var(--demo-paper);color:var(--demo-ink)}.portfolio-wedding .wedding[data-example=mar] .story{border-block:1px solid var(--line);grid-template-columns:1.1fr 1fr;gap:10%;margin-block:50px}.portfolio-wedding .wedding[data-example=mar] .story-quote{border-left:2px solid var(--demo-pastel);padding-left:25px;font-family:DM Serif Display,serif;font-size:clamp(24px,3vw,40px)}.portfolio-wedding .wedding[data-example=oliva] .proposal-photo{background:var(--demo-paper);border-radius:45% 45% 0 0;overflow:hidden;rotate:0deg}.portfolio-wedding .wedding[data-example=oliva] .invitation-section{background:var(--demo-pastel);border-radius:80px 80px 0 0}.portfolio-wedding .wedding[data-example=ciudad] .story-intro{order:2}.portfolio-wedding .wedding[data-example=ciudad] .story-copy{order:1}.portfolio-wedding .wedding[data-example=ciudad] .story{background:var(--demo-paper);padding-block:80px}.portfolio-wedding .wedding[data-example=ciudad] .timeline-item{border-top:2px solid var(--demo-ink);box-shadow:none;border-radius:0}.portfolio-wedding .wedding[data-example=noche] .story{grid-template-columns:1fr 1fr;gap:6%}.portfolio-wedding .wedding[data-example=noche] .story-copy{background:var(--demo-paper);border:1px solid var(--line);padding:40px;rotate:2deg}.portfolio-wedding .wedding[data-example=noche] .wedding-footer{background:var(--demo-pastel);color:var(--demo-ink)}.portfolio-wedding .wedding[data-example=noche] .wedding-footer :is(.footer-names,.footer-date,.footer-date>strong,.footer-date>span){color:var(--demo-ink)}.portfolio-wedding .wedding[data-example=tierra] .story{background:var(--demo-pastel);border:10px solid var(--demo-paper);margin-block:60px;padding:60px 5%}.portfolio-wedding .wedding[data-example=tierra] .story-quote{font-family:Italianno,cursive;font-size:40px;line-height:1.3}.portfolio-wedding .wedding[data-example=tierra] .rsvp-card{box-shadow:8px 8px 0 var(--demo-pastel);rotate:-1deg}.portfolio-wedding .wedding[data-example=siempre] .story{text-align:center;grid-template-columns:1fr;gap:40px;max-width:850px}.portfolio-wedding .wedding[data-example=siempre] .story-intro{justify-items:center;display:grid}.portfolio-wedding .wedding[data-example=siempre] .proposal-photo{width:min(450px,85%);rotate:0deg}.portfolio-wedding .wedding[data-example=siempre] .story-copy{max-width:640px;margin:auto}.portfolio-wedding .wedding[data-example=siempre] .faq{border-top:1px solid var(--line)}@media (max-width:760px){.portfolio-wedding .wedding:is([data-example=mar],[data-example=noche]) .story{grid-template-columns:1fr;gap:35px}.portfolio-wedding .wedding[data-example=ciudad] .story-intro{order:0}.portfolio-wedding .wedding[data-example=ciudad] .story-copy{order:1}.portfolio-wedding .wedding[data-example=noche] .story-copy{padding:26px}.portfolio-wedding .wedding[data-example=tierra] .story{border-width:5px;padding:35px 5%}.portfolio-wedding .wedding[data-example=oliva] .invitation-section{border-radius:35px 35px 0 0}}.themed-portfolio[data-typography=script]{--demo-name-font:"Italianno",cursive}.themed-portfolio[data-typography=serif]{--demo-name-font:"DM Serif Display",serif}.themed-portfolio[data-typography=modern]{--demo-name-font:"Outfit Variable",sans-serif}.themed-portfolio[data-typography] .ns-names{font-family:var(--demo-name-font)!important}
