@import"https://fonts.googleapis.com/css2?family=Baskervville:ital@0;1&family=Baskervville+SC&display=swap";.envelope-scene{display:flex;align-items:center;justify-content:center;width:100%;min-height:100vh;padding:clamp(24px,8vmin,96px);box-sizing:border-box;background:var(--envelope-backdrop, #33342a)}.envelope{--envelope-width: clamp(min(560px, 84vw), 44vw, 900px);--open-duration: .9s;--fade-out-delay: .5s;--fade-out-duration: .9s;position:relative;width:var(--envelope-width);aspect-ratio:591 / 373;border:0;padding:0;background:none;cursor:pointer;overflow:visible;transition:transform .25s ease,opacity var(--fade-out-duration) ease var(--fade-out-delay);-webkit-tap-highlight-color:transparent}.envelope:not(.envelope--open):hover{transform:translateY(-4px)}.envelope--open{opacity:0;pointer-events:none}.envelope:focus-visible{outline:2px solid var(--color-link, #afc3de);outline-offset:6px;border-radius:4px}.envelope__render{position:absolute;left:0;bottom:0;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 12px 28px rgba(0,0,0,.28))}.envelope__render--open,.envelope--open .envelope__render--closed{visibility:hidden}.envelope--open .envelope__render--open{visibility:visible}.envelope__monogram{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);z-index:2;font-family:var(--font-display);color:var(--color-text-muted, #4e513b);font-size:clamp(2rem,4.6vw,3.4rem);line-height:1;letter-spacing:.02em;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .3s ease}.envelope__monogram img{display:block;height:clamp(3rem,6.9vw,8.5rem);width:auto}.envelope--open .envelope__monogram{opacity:0}.envelope__contents{position:absolute;left:8%;right:8%;bottom:6%;z-index:3;opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .4s ease}.envelope--open .envelope__contents{opacity:1;transform:translateY(0);transition:opacity .3s ease calc(var(--open-duration) * .6),transform .3s ease calc(var(--open-duration) * .6)}@media(prefers-reduced-motion:reduce){.envelope,.envelope__render,.envelope__monogram,.envelope__contents{transition:none}}.landing{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 20px 80px;box-sizing:border-box;background:#111110;overflow:hidden}.landing:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/lily_background.png) center 42% / cover no-repeat;opacity:.9;z-index:0}.landing>*{position:relative;z-index:1}.landing__intro,.landing__names,.landing__hint{transition:opacity .9s ease}.landing--opened .landing__intro,.landing--opened .landing__names,.landing--opened .landing__hint{opacity:0;pointer-events:none}.landing .landing__invite{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(48vw,1000px);min-width:min(620px,88vw);height:auto;max-height:88vh;object-fit:contain;z-index:2;opacity:0;pointer-events:none;filter:drop-shadow(0 14px 40px rgba(0,0,0,.45));transition:opacity .9s ease 1.1s}.landing--opened .landing__invite{opacity:1}.landing__intro{font-family:var(--font-subheading);font-variant:small-caps;letter-spacing:.14em;color:var(--color-primary-accent-2, #ffffd6);font-size:clamp(1.05rem,2.2vw,3rem);margin:0}.landing__names{font-family:var(--font-display);font-weight:400;font-style:normal;color:var(--color-primary-accent-2, #ffffd6);font-size:clamp(3.25rem,9vw,11rem);letter-spacing:.05em;line-height:1;margin:.05em 0 0;text-shadow:0 2px 18px rgba(0,0,0,.45)}.landing .envelope-scene{width:auto;min-height:0;padding:0;margin-top:.5rem;background:none}.landing__hint{font-family:var(--font-subheading);font-variant:small-caps;letter-spacing:.14em;color:var(--color-text-accent, #8a9a6e);font-size:clamp(1.05rem,2.2vw,3rem);margin:1.25rem 0 0}@media(max-width:640px){.landing{padding:48px 16px 64px}.landing__names{letter-spacing:.03em}.landing__hint{margin-top:1rem}}.instructions{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(2.5rem,6vw,4rem);text-align:center;padding:clamp(48px,8vh,88px) 20px;box-sizing:border-box;background:var(--color-base, #fbf8f1)}.instructions__portrait{margin:0}.instructions__portrait img{display:block;width:clamp(min(352px,62vw),27.5vw,620px);height:auto}.instructions__copy{display:flex;flex-direction:column;align-items:center;gap:clamp(1.25rem,3vw,2rem);max-width:clamp(min(914px,90vw),71vw,1500px)}.instructions__intro,.instructions__signoff{font-family:var(--font-body);font-style:italic;color:var(--color-text, #33342a);font-size:clamp(1.05rem,1.9vw,2.6rem);line-height:1.55;margin:0}.instructions__names{font-family:var(--font-display);font-weight:400;font-style:normal;color:var(--color-text, #33342a);font-size:clamp(2.75rem,8vw,9rem);line-height:1.1;margin:0}.collage{position:relative;display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;box-sizing:border-box;padding:clamp(24px,5vw,64px) 0;background:var(--color-base, #fbf8f1)}.collage__stage{position:relative;width:100%;max-width:1920px;aspect-ratio:1280 / 1940;overflow:hidden}.collage__bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.collage__el{position:absolute;object-fit:contain;pointer-events:none}.collage__link{pointer-events:auto;cursor:pointer;display:block}.collage__link img{display:block;width:100%;height:100%;object-fit:contain}.collage__el--details{left:13.181%;top:40.679%;width:37.58%;height:35.449%}.collage__el--static{left:8.984%;top:5.928%;width:85.078%;height:73%}.collage__el--story{left:42.493%;top:51.165%;width:23.494%;height:13.01%}.rsvp *,.rsvp *:before,.rsvp *:after{box-sizing:border-box}.rsvp{background:var(--color-text-muted);color:var(--color-text);font-family:var(--font-body);padding:64px 20px 100px;display:flex;justify-content:center}.rsvp .page{width:100%;max-width:780px}.rsvp header{text-align:center;margin-bottom:52px}.rsvp h1{font-family:var(--font-subheading);font-weight:400;font-style:normal;font-size:48px;letter-spacing:.3em;text-indent:.3em;margin:0 0 14px;color:var(--color-text)}.rsvp .divider{border:none;border-top:1px solid rgba(255,255,255,.55);width:100%;margin:0 0 22px}.rsvp .subtitle{font-family:var(--font-body);font-size:32px;color:var(--color-text-secondary);margin:0;letter-spacing:.02em}.rsvp .lace-frame{border-style:solid;border-width:92px;border-image-source:url(/images/lace_rectangle.png);border-image-slice:145 fill;border-image-repeat:round}.rsvp .lace-frame--submitted{border:none}.rsvp form{display:flex;flex-direction:column;gap:40px}.rsvp .field label,.rsvp .group-label{display:block;font-family:var(--font-subheading);font-size:18px;font-weight:400;letter-spacing:.06em;color:var(--color-text);margin-bottom:12px}.rsvp .field input[type=text],.rsvp .field input[type=email],.rsvp .field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-body);font-size:20px;padding:8px 2px 10px;outline:none;resize:none;transition:border-color .25s ease}.rsvp .field textarea{border:1px solid var(--color-border);padding:14px 16px;border-radius:2px;min-height:76px;line-height:1.5}.rsvp .field input::placeholder,.rsvp .field textarea::placeholder{color:var(--color-text-secondary);opacity:.55;font-style:italic}.rsvp .field input:focus,.rsvp .field textarea:focus{border-color:var(--color-text-accent)}.rsvp .helper{font-family:var(--font-body);font-size:16px;font-style:italic;color:var(--color-text-secondary);margin:8px 0 0;line-height:1.5}.rsvp .attend-options{display:flex;gap:32px;flex-wrap:wrap}.rsvp .attend-option{display:flex;align-items:center;gap:12px;cursor:pointer;font-family:var(--font-body);font-size:19px;color:var(--color-text)}.rsvp .attend-option input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1px solid var(--color-text-accent);border-radius:50%;margin:0;position:relative;cursor:pointer;flex-shrink:0}.rsvp .attend-option input[type=radio]:checked:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:var(--color-text-accent)}.rsvp .question-box textarea{min-height:128px}.rsvp .address-box textarea,.rsvp .dietary-box textarea{min-height:98px}.rsvp .submit-row{margin-top:16px;text-align:center}.rsvp button.submit{background:var(--color-button-bg);border:1px solid var(--color-button-bg);color:var(--color-button-text);font-family:var(--font-subheading);font-size:18px;font-weight:400;letter-spacing:.16em;padding:16px 48px;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}.rsvp button.submit:hover{background:var(--color-text-accent);border-color:var(--color-text-accent);color:var(--color-background)}.rsvp .thanks{display:none;text-align:center;padding:40px 0}.rsvp .thanks h2{font-family:var(--font-subheading);letter-spacing:.15em;font-weight:400;font-size:30px;margin:0 0 14px;color:var(--color-text-accent)}.rsvp .thanks p{font-family:var(--font-body);color:var(--color-text-secondary);font-size:19px;margin:0}.rsvp .hidden{display:none}.rsvp,.rsvp h1,.rsvp .subtitle,.rsvp .field label,.rsvp .group-label,.rsvp .field input[type=text],.rsvp .field input[type=email],.rsvp .field textarea,.rsvp .helper,.rsvp .attend-option,.rsvp .thanks h2,.rsvp .thanks p{color:#fff}.rsvp .field input::placeholder,.rsvp .field textarea::placeholder{color:#fff}@media(max-width:480px){.rsvp{padding:48px 12px 80px}.rsvp .lace-frame{margin:40px 8px 26px;border-width:48px}.rsvp h1{font-size:34px;letter-spacing:.22em;text-indent:.22em}.rsvp .subtitle{font-size:22px}.rsvp .attend-options{gap:18px;flex-direction:column}}.contact{container-type:inline-size;display:flex;justify-content:center;align-items:flex-end;background:var(--color-base, #fbf8f1)}.contact__stage{--u: calc(min(100cqw, 1920px) / 1280);position:relative;width:100%;max-width:1920px;aspect-ratio:1280 / 360;overflow:hidden}.contact__fade{position:absolute;left:calc(var(--u) * 20);top:calc(var(--u) * 23);width:calc(var(--u) * 236);height:calc(var(--u) * 283);object-fit:cover;pointer-events:none}.contact__lilies{position:absolute;left:calc(var(--u) * 1079);top:calc(var(--u) * 89);width:calc(var(--u) * 201);height:calc(var(--u) * 316);object-fit:cover;pointer-events:none}.contact__copy{position:absolute;left:50%;top:calc(var(--u) * 61);transform:translate(-50%);width:calc(var(--u) * 656);display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 36);text-align:center;color:#000}.contact__title{margin:0;font-family:var(--font-subheading);font-weight:400;font-size:calc(var(--u) * 48);letter-spacing:calc(var(--u) * 4.8);color:var(--color-text-muted, #4e513b)}.contact__text{margin:0;width:calc(var(--u) * 546);font-family:var(--font-body);font-size:calc(var(--u) * 32);line-height:calc(var(--u) * 35);letter-spacing:calc(var(--u) * 3.2)}.contact__text a{color:inherit;text-decoration:underline}.contact__text--closing{display:flex;align-items:center;justify-content:flex-start;padding-left:calc(var(--u) * 30);font-size:calc(var(--u) * 24);line-height:calc(var(--u) * 25);letter-spacing:calc(var(--u) * 2.4)}.contact__logo{width:calc(var(--u) * 61);height:calc(var(--u) * 51);object-fit:contain;flex-shrink:0;pointer-events:none}.our-story{position:relative;min-height:100vh;min-height:100dvh;background:var(--color-base, #fbf8f1)}.our-story__hero{position:relative}.our-story__photo{display:block;width:100%;height:auto}.our-story__back{position:fixed;top:clamp(16px,3vw,32px);left:clamp(16px,3vw,32px);z-index:2;font-family:var(--font-subheading);font-variant:small-caps;letter-spacing:.12em;font-size:clamp(.9rem,1.6vw,1.1rem);color:var(--color-base, #fbf8f1);text-decoration:none;padding:8px 14px;background:#33342a8c;border-radius:2px;transition:background .2s ease}.our-story__back:hover{background:#33342ad9}@media(max-width:640px){.our-story__back{padding:5px 10px;font-size:.8rem}}.details{container-type:inline-size;display:flex;justify-content:center;background:var(--color-base, #fbf8f1)}.details__stage{--u: calc(min(100cqw, 1920px) / 1280);position:relative;width:100%;max-width:1920px;aspect-ratio:1280 / 4036;overflow:hidden}.details__stage>*,.details__band>*{position:absolute}.details__img{display:block;object-fit:cover;max-width:none;pointer-events:none}.details__txt{display:flex;flex-direction:column;justify-content:center;text-align:center;line-height:normal;color:var(--color-base-text, #33342a)}.details__txt p{margin:0;color:inherit;font:inherit;letter-spacing:inherit}.details__sc{font-family:var(--font-subheading);font-weight:400}.details__display{font-family:var(--font-display);font-weight:400}.details__body{font-family:var(--font-body);font-weight:400}.details__green{color:var(--color-text-muted, #4e513b)}.details__ivory{color:var(--color-base, #fbf8f1)}.details__accent{color:#fff3ae}.details__pale{color:var(--color-primary-accent-2, #ffffd6)}.details__beige{color:var(--color-warm-neutral, #e4d5b7)}.details__stack p+p{margin-top:1.25em}.details__medium{font-style:normal;font-weight:500}.details__stack strong,.details__glance-copy strong{font-weight:700}.details__glance-copy p{line-height:1.667}.details__glance-copy p+p{margin-top:0}.details__faq-q{font-family:var(--font-body);font-style:italic;font-weight:500}.details__faq-q span{display:block}.details__mono{font-family:var(--font-display);color:var(--color-text-muted, #4e513b)}.details__mono--w{justify-content:flex-end;text-align:right}.details__nav a,.details__nav span{position:absolute;display:flex;align-items:center;font-family:var(--font-subheading);font-size:calc(var(--u) * 24);letter-spacing:calc(var(--u) * 2.4);color:var(--color-base-text, #33342a);text-decoration:none}.details__nav a:hover{color:var(--color-text-accent, #8a9a6e)}.details__rule{height:0;border-top:1px solid}.details__vrule{width:0;border-left:1px solid}.details__vrule--thick{border-left-width:2px}.details__rule--sage,.details__vrule--sage{border-color:var(--color-text-accent, #8a9a6e)}.details__rule--pale,.details__vrule--pale{border-color:var(--color-primary-accent-2, #ffffd6)}.details__band--green{background:var(--color-text-muted, #4e513b);overflow:hidden}.details__swatch{border-radius:50%}.details__lace{overflow:hidden;pointer-events:none}.details__lace img{position:absolute;left:-.11%;top:-9.94%;width:100%;height:109.84%;max-width:none}.details__badge{display:block}.details__badge img{display:block;width:100%;height:100%;object-fit:cover}.details__nowrap{white-space:nowrap}.app{position:relative;background:#111110}.app--locked{height:100vh;height:100dvh;overflow:hidden}html,body{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}.display,h1{font-family:var(--font-display);font-weight:400;font-style:normal;color:var(--color-text);line-height:1.15;margin:0 0 .5em;font-size:clamp(2.5rem,6vw,5rem)}.monogram{font-family:var(--font-display);font-size:clamp(2rem,5vw,4rem);letter-spacing:.05em}.subheading,h2{font-family:var(--font-subheading);font-variant:small-caps;letter-spacing:.08em;color:var(--color-text-accent);font-weight:400;margin:0 0 .5em;font-size:clamp(1rem,2vw,1.5rem)}h3,h4,h5,h6{font-family:var(--font-subheading);font-weight:400;color:var(--color-text);margin:0 0 .5em}p,li,.text-base{font-family:var(--font-body);color:var(--color-text);font-weight:400}.text-muted{color:var(--color-text-secondary)}.text-accent{color:var(--color-text-accent)}:root{--color-base: #fbf8f1;--color-base-text: #33342a;--color-primary-accent: #fff3ae;--color-primary-accent-2: #ffffd6;--color-contrast-accent: #afc3de;--color-text-accent: #8a9a6e;--color-text-muted: #4e513b;--color-warm-neutral: #e4d5b7;--color-background: var(--color-base);--color-text: var(--color-base-text);--color-text-secondary: var(--color-text-muted);--color-link: var(--color-contrast-accent);--color-border: var(--color-warm-neutral);--color-button-bg: var(--color-primary-accent);--color-button-text: var(--color-base-text);--font-display: "altesse-std-24pt", cursive;--font-subheading: "Baskervville SC", "Baskervville", serif;--font-body: "Baskervville", Georgia, serif}
