:root{color-scheme:light;--ink:#111;--paper:#fff;--ease:cubic-bezier(.22,.68,.18,1)}*{box-sizing:border-box}html{background:#fff;scrollbar-gutter:stable}body{margin:0;background:#fff;color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:1px solid #333;outline-offset:7px}button{cursor:pointer}.opening{position:fixed;inset:0;z-index:5;overflow:hidden;isolation:isolate;transition:visibility 0s 2s}.waves{position:absolute;inset:0;overflow:hidden;pointer-events:none}.wave{position:absolute;inset:0;width:100%;height:100%;overflow:visible;will-change:transform;transform:translateX(0);transition:transform 1.85s var(--ease);filter:drop-shadow(0 0 1px #00000012)}.wave path{fill:#fff}.wave-right{transition-duration:2s}.opening-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(-3vh);transition:opacity .42s ease,transform .6s var(--ease)}.monogram-button{background:transparent;border:0;display:flex;align-items:center;justify-content:center;width:220px;height:230px;padding:24px;transition:transform .4s var(--ease)}.monogram{width:100%;height:100%;fill:#080808;overflow:visible}.monogram-button:hover{transform:scale(1.025)}.monogram-button:active{transform:scale(.98)}.opening-date{font-size:10px;letter-spacing:.32em;font-weight:300;margin:23px 0 0 5px;color:#4a4a4a}.opening-date span{padding:0 6px;color:#888}.opening-hint{font-size:7px;letter-spacing:.23em;color:#888;margin:62px 0 0 3px}.invitation{width:min(92vw,500px);margin:0 auto;padding:22px 0 0;opacity:0;transform:translateY(18px);visibility:hidden;transition:opacity 1.1s .15s ease,transform 1.7s .1s var(--ease)}.page{width:100%;position:relative}.page img{display:block;width:100%;height:auto;object-fit:contain}.page-one{background:#fff}.page-two{box-shadow:0 7px 27px -17px #0004}.next-page{display:flex;flex-direction:column;align-items:center;gap:10px;margin:10px auto 34px;padding:12px 22px;background:none;border:0;color:#7a7a7a}.next-page span{font-size:7px;letter-spacing:.22em}.next-page svg{transition:transform .25s}.next-page:hover svg{transform:translateY(3px)}footer{padding:30px 0 34px;display:flex;justify-content:center}.replay{border:0;background:none;display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.04em;color:#777;padding:12px 16px;min-height:44px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fallback{max-width:500px;margin:20px auto;line-height:1.7;padding:16px;font-size:14px}body[data-state=opening] .invitation,body[data-state=open] .invitation{visibility:visible;opacity:1;transform:translateY(0)}body[data-state=opening] .opening-content,body[data-state=open] .opening-content{opacity:0;transform:translateY(-3vh) scale(.96);pointer-events:none}body[data-state=opening] .wave-left,body[data-state=open] .wave-left{transform:translateX(-72%)}body[data-state=opening] .wave-right,body[data-state=open] .wave-right{transform:translateX(72%)}body[data-state=open]{overflow:auto}body[data-state=open] .opening{visibility:hidden;pointer-events:none}body.resetting *,body.resetting .opening{transition:none!important}body.resetting .wave{transform:translateX(0)}
@media(min-width:700px){.invitation{padding-top:36px;width:min(85vw,500px)}.next-page{margin-top:6px;margin-bottom:40px}.opening-hint{margin-top:76px}}
@media(max-width:360px){.invitation{width:94vw;padding-top:12px}.monogram-button{width:192px;height:208px}.opening-date{font-size:9px}.opening-hint{margin-top:48px}}
@media(max-height:500px){.monogram-button{height:160px;width:170px;padding:15px}.opening-date{margin-top:10px}.opening-hint{margin-top:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.wave{will-change:auto}}

.rsvp-page{padding:90px 26px 20px;text-align:center;font-family:Georgia,"Times New Roman",serif}.rsvp-eyebrow{font:8px Arial,sans-serif;letter-spacing:.25em;color:#777;margin:0 0 28px}.rsvp-page h2{font-weight:400;font-size:30px;line-height:1.2;margin:0 0 20px}.rsvp-intro{font-size:14px;line-height:1.6;margin:0 0 40px;color:#555}.rsvp-page form{text-align:left}.rsvp-label,.rsvp-page legend{font:10px Arial,sans-serif;letter-spacing:.035em;display:block;margin:24px 0 10px;color:#444}.rsvp-page input:not([type=radio]){width:100%;border:0;border-bottom:1px solid #bdbdbd;background:#fff;border-radius:0;padding:12px 2px;font:16px Georgia,serif;color:#111;min-height:44px}.rsvp-page input:focus-visible{outline:1px solid #333;outline-offset:4px}.rsvp-page fieldset{border:0;padding:0;margin:20px 0 24px;min-width:0}.rsvp-page legend{padding:0;margin-bottom:12px}.rsvp-choice{display:flex;gap:8px}.rsvp-choice label{flex:1;position:relative;cursor:pointer}.rsvp-choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.rsvp-choice span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;border:1px solid #ccc;padding:10px 8px;font-size:13px;line-height:1.3}.rsvp-choice input:checked+span{background:#111;color:white;border-color:#111}.rsvp-choice input:focus-visible+span{outline:1px solid #111;outline-offset:4px}.rsvp-help{font:10px/1.5 Arial,sans-serif;color:#777;margin:8px 0 25px}.rsvp-send{background:#111;color:#fff;border:1px solid #111;width:100%;padding:16px;font:11px Arial,sans-serif;letter-spacing:.08em;min-height:48px}.rsvp-send:disabled{opacity:.6;cursor:default}.rsvp-status{font:14px/1.6 Georgia,serif;min-height:1.6em;color:#333;margin:20px 0}.rsvp-privacy{font:9px/1.7 Arial,sans-serif;color:#888;margin-top:22px}.rsvp-signature{font-size:16px;font-style:italic;margin:42px 0 0}.rsvp-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(max-width:360px){.rsvp-page{padding:65px 18px 12px}.rsvp-page h2{font-size:26px}.rsvp-choice span{font-size:12px}}
