.rsvp-page{--color-paper:#f6ede4;--color-paper-raised:#fcf7f1;--color-paper-sunk:#efe1d6;--color-ink:#33221a;--color-ink-soft:#6a5044;--color-ink-faint:#85695b;--color-line:#ddc9bc;--color-line-strong:#bd9c8a;--color-claret:#93401f;--color-claret-deep:#6b2c13;--color-claret-tint:#f3e1d7;--color-gilt:#a0784f;--shadow-focus:0 0 0 2px var(--color-paper), 0 0 0 4px var(--color-claret);--shadow-raise:0 18px 50px -30px #6b2c1340;--inv-ink:#d3c0b8;--inv-ink-soft:#d3c0b8;color:var(--color-ink);background:#1e120c;min-height:100svh;position:relative}.invitation{aspect-ratio:105/148;width:min(100%,42.25rem);color:var(--inv-ink);text-align:center;font-family:var(--font-invitation-body), var(--font-sans), sans-serif;background:#4a281c;margin-inline:auto;position:relative;container-type:inline-size}.invitation-background{object-fit:cover}.invitation-frame{pointer-events:none;background:url(/dab-frame-final.svg) 50%/100% 100% no-repeat;position:absolute;inset:16.1% 12.6% 12.8% 11.4%}.invitation-seal{filter:drop-shadow(0 3px 4px #0004);width:30%;height:auto;position:absolute;top:6.4%;left:50%;transform:translate(-50%)}.language-switch{z-index:2;background:#472219cc;border:1px solid #d3c0b866;border-radius:999px;gap:.125rem;padding:.125rem;display:flex;position:absolute;top:1rem;right:1rem}.language-switch button{min-width:36px;min-height:36px;color:var(--inv-ink);letter-spacing:.06em;cursor:pointer;border-radius:999px;padding:.25rem .5rem;font-size:.7rem}.language-switch button[aria-pressed=true]{background:var(--inv-ink);color:#472219}.language-switch button:hover{outline:1px solid var(--inv-ink)}.language-switch button:focus-visible{outline:2px solid var(--inv-ink);outline-offset:3px}.invitation-copy{gap:3.65cqw;font-size:clamp(.7rem,3.26cqw,1.38rem);font-style:italic;font-weight:400;line-height:1.21;display:grid;position:absolute;top:26.3%;left:14%;right:14%}.invitation-intro{font-size:clamp(.7rem,3.26cqw,1.38rem);font-weight:700;line-height:1.2;position:absolute;top:42.6%;left:14%;right:14%}.invitation-names{font-family:var(--font-invitation-names), var(--font-sans), sans-serif;letter-spacing:-.065em;justify-content:center;align-items:flex-start;gap:.06em;font-size:9.25cqw;font-weight:750;line-height:.83;display:flex;position:absolute;top:48.5%;left:20.8%;right:20.8%}.invitation-name{flex-direction:column;display:flex}.invitation-first{transform:translateY(.09em)}.invitation-name-bride{align-items:flex-start}.invitation-name-groom{align-items:flex-end}.invitation-last{letter-spacing:-.04em;margin-top:.06em;font-size:.535em;line-height:1}.invitation-name-bride .invitation-last{margin-left:-.95em}.invitation-name-groom .invitation-last{margin-right:-.9em}.invitation-and{flex:0 0 1.14em;height:.6em;position:relative;transform:translateY(.38em)}.invitation-and-artwork{width:2.3em;max-width:none;height:auto;position:absolute;left:50%;transform:translate(-50%)}.invitation-details{font-size:clamp(.7rem,3.26cqw,1.38rem);font-weight:700;line-height:1.2;position:absolute;top:58.8%;left:14%;right:14%}.invitation-venue{color:inherit;text-underline-offset:.2em;text-decoration:none}.invitation-venue:hover{text-decoration:underline}.invitation-venue:focus-visible{outline-offset:4px;outline:2px solid}.invitation-dress{font-size:clamp(.7rem,3.26cqw,1.38rem);font-weight:400;line-height:1.21;position:absolute;top:69.5%;left:14%;right:14%}.invitation-dress-title{font-style:italic}.invitation-dress-line{margin-inline:auto;display:table;position:relative}.invitation-dress-tag{font-family:var(--font-amp), cursive;letter-spacing:0;white-space:nowrap;font-size:1.25em;font-weight:400;position:absolute}.invitation-dress-her .invitation-dress-tag{top:-.75em;left:0}.invitation-dress-him .invitation-dress-tag{bottom:-.8em;left:calc(100% + .3em)}.invitation-rsvp{justify-content:center;align-items:center;min-height:44px;font-size:clamp(.75rem,3.26cqw,1.38rem);font-weight:700;line-height:1.2;text-decoration:none;display:flex;position:absolute;top:82.1%;left:20%;right:20%;transform:translateY(-50%)}.invitation-rsvp:hover{text-underline-offset:.2em;text-decoration:underline}.invitation-rsvp:focus-visible{outline:2px solid var(--inv-ink);outline-offset:2px}.response-section{background:var(--color-paper);width:min(100%,42.25rem);font-family:var(--font-serif), Georgia, serif;justify-items:center;margin-inline:auto;padding:clamp(2.5rem,7vw,4rem) clamp(1.1rem,5vw,3rem) 2.5rem;scroll-margin-top:1rem;display:grid}.response-monogram{font-family:var(--font-script), cursive;color:var(--color-claret);font-size:2.5rem}.response-section h2{text-align:center;font-size:clamp(1.9rem,5vw,2.6rem);font-weight:500;line-height:1.3}.response-deadline{color:var(--color-ink-soft);text-align:center;margin-top:.6rem;font-size:1.1rem}.rsvp-page .response-section .pr-card{border-radius:3px;margin-top:1.8rem}.rsvp-page .response-section .pr-input,.rsvp-page .response-section .pr-choice-option,.rsvp-page .response-section .pr-submit{border-radius:3px}.response-signature{text-align:center;font-family:var(--font-script), cursive;color:var(--color-claret);gap:.3rem;margin-top:2.5rem;font-size:1.8rem;display:grid}.response-signature span{font-family:var(--font-serif), serif;text-transform:uppercase;letter-spacing:.2em;font-size:.75rem}.rsvp-unavailable{border:1px solid var(--color-line);text-align:center;max-width:32rem;margin-top:2rem;padding:2rem}.rsvp-unavailable h3{margin-bottom:.7rem;font-size:1.3rem}.rsvp-unavailable p{font-size:1.1rem;line-height:1.5}@media (min-width:52rem){.rsvp-page{padding-block:2rem}}@keyframes rsvp-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.rsvp-page .pr-card{z-index:1;background:var(--color-paper-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);width:100%;max-width:32rem;box-shadow:var(--shadow-raise);animation:rsvp-rise .9s var(--ease-out-soft) .1s both;margin-top:clamp(2rem,5vw,3rem);padding:clamp(1.75rem,5vw,2.75rem);position:relative}.rsvp-page .pr-card-eyebrow{text-align:center;font-family:var(--font-serif), serif;text-transform:uppercase;letter-spacing:.22em;color:var(--color-claret);margin-bottom:1.5rem;font-size:.78rem;font-weight:600;display:block}.rsvp-page .pr-form,.rsvp-page .pr-names{gap:clamp(1.25rem,4vw,1.65rem);display:grid}@media (min-width:28rem){.rsvp-page .pr-names{grid-template-columns:1fr 1fr}}.rsvp-page .pr-field{gap:.5rem;display:grid}.rsvp-page .pr-label{font-family:var(--font-serif), serif;letter-spacing:.01em;color:var(--color-ink-soft);font-size:.95rem}.rsvp-page .pr-input{width:100%;font-family:var(--font-serif), Georgia, serif;color:var(--color-ink);background:var(--color-paper);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);transition:border-color .18s var(--ease-out-soft), box-shadow .18s var(--ease-out-soft), background-color .18s var(--ease-out-soft);padding:.7rem .85rem;font-size:1.08rem}.rsvp-page .pr-input::placeholder{color:var(--color-ink-faint)}.rsvp-page .pr-input:hover{border-color:var(--color-gilt)}.rsvp-page .pr-input:focus-visible{border-color:var(--color-claret);box-shadow:var(--shadow-focus);background:var(--color-paper-raised);outline:none}.rsvp-page .pr-input:disabled{opacity:.55;cursor:not-allowed}.rsvp-page .pr-textarea{resize:vertical;min-height:4.5rem;line-height:1.55}.rsvp-page .pr-choice{border:0;gap:.75rem;margin:0;padding:0;display:grid}.rsvp-page .pr-legend{font-family:var(--font-serif), serif;letter-spacing:.01em;color:var(--color-ink-soft);margin-bottom:.35rem;padding:0;font-size:.95rem}.rsvp-page .pr-choice-option{cursor:pointer;background:var(--color-paper);border:1px solid var(--color-line-strong);border-radius:var(--radius-md);transition:border-color .18s var(--ease-out-soft), background-color .18s var(--ease-out-soft), box-shadow .18s var(--ease-out-soft);align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.rsvp-page .pr-choice-option:hover{border-color:var(--color-gilt)}.rsvp-page .pr-choice-option[data-selected=true]{border-color:var(--color-claret);background:var(--color-claret-tint)}.rsvp-page .pr-choice-option:has(.pr-radio:focus-visible){box-shadow:var(--shadow-focus);border-color:var(--color-claret)}.rsvp-page .pr-radio{appearance:none;border:1px solid var(--color-line-strong);background:var(--color-paper-raised);cursor:pointer;width:1.1rem;height:1.1rem;transition:border-color .18s var(--ease-out-soft), box-shadow .18s var(--ease-out-soft);border-radius:50%;flex:none;margin:0}.rsvp-page .pr-radio:checked{border-color:var(--color-claret);box-shadow:inset 0 0 0 3px var(--color-paper-raised), inset 0 0 0 8px var(--color-claret)}.rsvp-page .pr-choice-label{font-family:var(--font-serif), serif;color:var(--color-ink);font-size:1.08rem;font-weight:500;line-height:1.4}.rsvp-page .pr-error{color:var(--color-danger);background:var(--color-danger-tint);border:1px solid color-mix(in srgb, var(--color-danger) 30%, transparent);border-radius:var(--radius-md);margin:0;padding:.7rem .85rem;font-size:.95rem;line-height:1.5}.rsvp-page .pr-submit{width:100%;font-family:var(--font-serif), serif;text-transform:uppercase;letter-spacing:.2em;color:var(--color-paper-raised);background:var(--color-claret);border:1px solid var(--color-claret);border-radius:var(--radius-md);cursor:pointer;transition:background-color .18s var(--ease-out-soft), transform .18s var(--ease-out-soft), box-shadow .18s var(--ease-out-soft);margin-top:.25rem;padding:.9rem 1.25rem;font-size:.92rem;font-weight:600}.rsvp-page .pr-submit:hover{background:var(--color-claret-deep);border-color:var(--color-claret-deep)}.rsvp-page .pr-submit:active{transform:translateY(1px)}.rsvp-page .pr-submit:focus-visible{box-shadow:var(--shadow-focus);outline:none}.rsvp-page .pr-submit:disabled{opacity:.6;cursor:progress}.rsvp-page .pr-card--thanks{text-align:center}.rsvp-page .pr-thanks{gap:.6rem;padding:clamp(.5rem,3vw,1.25rem) 0;display:grid}.rsvp-page .pr-thanks-eyebrow{font-family:var(--font-serif), serif;text-transform:uppercase;letter-spacing:.22em;color:var(--color-claret);font-size:.78rem;font-weight:600}.rsvp-page .pr-thanks-name{font-family:var(--font-script), "Brush Script MT", cursive;color:var(--color-claret);font-size:clamp(2.25rem,1.4rem + 3vw,3.25rem);font-weight:400;line-height:1.1}.rsvp-page .pr-thanks-body{max-width:24rem;color:var(--color-ink-soft);margin-inline:auto;font-size:1.08rem;line-height:1.65}@media (prefers-reduced-motion:reduce){.rsvp-page .pr-card{animation:none}.rsvp-page .pr-input,.rsvp-page .pr-choice-option,.rsvp-page .pr-radio,.rsvp-page .pr-submit{transition:none}}.personal-eyebrow{color:var(--color-claret);letter-spacing:.18em;text-align:center;text-transform:uppercase;margin-top:.75rem;font-size:.78rem;font-weight:600}.personal-allocation-note{max-width:32rem;color:var(--color-ink-soft);text-align:center;margin-top:.6rem;font-size:1rem;line-height:1.5}.personal-saved{text-align:center}.personal-saved-answer{color:var(--color-claret);font-size:1.35rem}.personal-saved-message{color:var(--color-ink-soft);margin-top:1rem;font-size:1.08rem;line-height:1.55}.personal-edit,.personal-directions{color:var(--color-claret);cursor:pointer;font:600 .9rem var(--font-serif), serif;border-bottom:1px solid;margin-top:1.25rem;padding-bottom:.2rem;text-decoration:none;display:inline-block}.admission-pass{background:var(--color-paper-raised);border:1px solid var(--color-line);width:100%;max-width:32rem;box-shadow:var(--shadow-raise);text-align:center;justify-items:center;margin-top:1.5rem;padding:clamp(1.75rem,5vw,2.75rem);display:grid}.admission-pass h3{color:var(--color-claret);font-family:var(--font-script), cursive;margin:.3rem 0 .6rem;font-size:clamp(2rem,8vw,3rem);font-weight:400}.admission-qr{width:min(100%,17.5rem);height:auto;margin:1.5rem 0 .75rem}.admission-help{color:var(--color-ink-soft);line-height:1.5}.admission-whatsapp{border:1px solid var(--color-claret);background:var(--color-claret);min-height:3rem;color:var(--color-paper-raised);font:600 1rem var(--font-serif), serif;justify-content:center;align-items:center;margin-top:1rem;padding:.85rem 1.25rem;line-height:1.4;text-decoration:none;display:inline-flex}.admission-whatsapp:hover{opacity:.9}.admission-whatsapp:focus-visible{outline:2px solid var(--color-claret);outline-offset:4px}
