@font-face{font-family:Classic Serif;src:url(/assets/fonts/clasica/cormorant-regular.woff)format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Classic Serif;src:url(/assets/fonts/clasica/cormorant-medium.woff)format("woff");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Classic Serif;src:url(/assets/fonts/clasica/cormorant-semibold.woff)format("woff");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Classic Serif;src:url(/assets/fonts/clasica/cormorant-italic.woff)format("woff");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Classic Script;src:url(/assets/fonts/clasica/great-vibes.woff)format("woff");font-style:normal;font-weight:400;font-display:swap}.classic-preview{flex-direction:column;min-height:100svh;margin:0;display:flex}.classic-preview a{color:inherit}.classic-preview>.invitation-preview-header,.classic-preview>.invitation-preview-actions,.classic-preview>.invitation-footer{box-sizing:border-box;flex-shrink:0}.classic-preview .invitation-preview-actions a{box-sizing:border-box}.clasica{--primary:#315b46;--background:#1c3428;--paper:#fbf5e9;--ink:#51402a;--gold:#9b7336;--gold-light:#e2c782;--gold-edge:#b39566;--cover-light:#40664e;--serif:"Classic Serif", Georgia, serif;--script:"Classic Script", "Brush Script MT", cursive;background:var(--background);color:var(--paper);font:400 20px/1.4 var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;isolation:isolate;flex:1;min-width:0;margin:0;position:relative;overflow-x:clip}.clasica *,.clasica :before,.clasica :after{box-sizing:border-box}.clasica [hidden]{display:none!important}.clasica button,.clasica select{font:inherit}.clasica button,.clasica a,.clasica summary{-webkit-tap-highlight-color:transparent}.clasica button,.clasica summary{cursor:pointer}.clasica button:disabled{cursor:default;opacity:.46}.clasica button,.clasica select,.clasica a{touch-action:manipulation}.clasica a{color:inherit}.clasica :focus-visible{outline:2px solid var(--gold-light);outline-offset:5px}.clasica .paper-card :focus-visible{outline-color:var(--gold)}.clasica p,.clasica h1,.clasica h2{margin:0}.clasica h1,.clasica h2{font-weight:400}.clasica img{max-width:100%;display:block}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading{text-align:center;padding:40vh 24px}.load-error{text-align:center;max-width:420px;margin:25vh auto;padding:24px}.classic-shell{isolation:isolate;max-width:560px;margin:0 auto;padding:28px 18px 24px;display:flow-root;position:relative}.clasica:before{content:"";pointer-events:none;z-index:-1;background-image:var(--paper-texture);opacity:.12;mix-blend-mode:soft-light;background-size:370px;position:absolute;inset:0}.dress-details summary::-webkit-details-marker{display:none}.skip-invitation{z-index:30;border:1px solid var(--gold);color:var(--ink);background:var(--paper);padding:12px 20px;position:fixed;top:0;left:50%;transform:translate(-50%,-200%)}.skip-invitation:focus-visible{transform:translate(-50%,8px)}.intro-greeting{text-align:center;opacity:1;max-height:95px;margin:1px 0 27px;transition:max-height .7s,margin .7s,opacity .35s}.intro-greeting p{letter-spacing:.015em;font-size:22px}.intro-greeting .ornament{margin:10px auto 0}.folio-stage{perspective:1400px;padding:8px 11px 0}.folio{perspective:1400px;width:100%;margin:0 auto;position:relative;container-type:inline-size}.paper-card{isolation:isolate;background:var(--paper);color:var(--ink);text-align:center;overflow-wrap:anywhere;padding:35px 27px;position:relative}.paper-card:before{content:"";z-index:-1;background-image:var(--paper-texture);mix-blend-mode:multiply;opacity:.09;pointer-events:none;background-size:330px;position:absolute;inset:0}.paper-card:after{content:"";border:1px solid var(--gold-edge);opacity:.63;pointer-events:none;z-index:-1;position:absolute;inset:10px}.ornament{background-color:var(--gold);pointer-events:none;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.ornament--corner{width:54px;height:54px;mask-image:var(--corner-image);-webkit-mask-image:var(--corner-image);position:absolute}.corner--tl{top:11px;left:11px}.corner--tr{top:11px;right:11px;transform:scaleX(-1)}.corner--bl{bottom:11px;left:11px;transform:scaleY(-1)}.corner--br{bottom:11px;right:11px;transform:scale(-1)}.ornament--rings{width:154px;height:47px;mask-image:var(--rings-image);-webkit-mask-image:var(--rings-image);margin:0 auto}.ornament--divider{width:78px;height:19px;mask-image:var(--rings-image);-webkit-mask-image:var(--rings-image);margin:0 auto}.intro-greeting .ornament,.closing-story .ornament{background-color:var(--gold-light)}.letter{border:7px solid var(--gold-edge);outline:12px solid var(--primary);min-height:570px;padding:53px 23px 42px;box-shadow:4px 8px 13px #0003}.letter:after{border-color:var(--gold);opacity:.8;inset:11px}.couple-names{font:400 clamp(36px, 12.6cqi, 66px)/1.2 var(--script);color:var(--gold);padding-inline:2px;margin-bottom:11px!important}.letter-headline{font-size:clamp(25px,7cqi,34px);line-height:1.2;margin:15px 0 13px!important}.letter-quote{white-space:pre-line;font-size:clamp(18px,5.3cqi,23px);line-height:1.23}.letter-date{color:var(--gold);flex-direction:column;align-items:center;margin:26px auto 20px;display:flex}.letter-date__month{border-block:1px solid var(--gold-edge);letter-spacing:.12em;text-transform:uppercase;padding:4px 20px;font-size:18px;line-height:1.15;display:inline-block}.letter-date__day{padding:5px 0;font-size:72px;font-weight:500;line-height:.98}.letter-date__year{border-bottom:1px solid var(--gold-edge);min-width:145px;padding-bottom:4px;font-size:21px}.letter-family{font-size:18px;line-height:1.2;margin-top:17px!important}.letter-welcome{font-size:18px;line-height:1.2;margin-top:8px!important}.folio-cover{z-index:4;background:var(--primary);transform-origin:0;width:66%;transform-style:preserve-3d;border:1px solid #ffffff16;position:absolute;top:-12px;bottom:-12px;left:-11px;transform:rotateY(-2deg);box-shadow:7px 4px 14px #0005,inset -1px 0 #ffffff26}.folio-cover:before,.flap-back:before{content:"";background-image:var(--paper-texture);mix-blend-mode:soft-light;opacity:.58;pointer-events:none;background-size:330px;position:absolute;inset:0}.flap-back{background:var(--primary);backface-visibility:hidden;pointer-events:none;position:absolute;inset:0;transform:rotateY(180deg)}.cover-cord{z-index:2;border-top:1px solid var(--gold-light);border-bottom:1px solid var(--gold-edge);background:repeating-linear-gradient(115deg, var(--gold-edge) 0 1px, var(--gold-light) 1px 3px);width:158%;height:4px;position:absolute;top:47%;left:-1%;transform:rotate(-.6deg);box-shadow:0 2px 2px #0005}.seal-button{z-index:3;transform-origin:65% 85%;backface-visibility:hidden;background:0 0;border:0;width:91%;padding:0;position:absolute;bottom:53%;left:-4%;transform:translateY(18%)}.seal-flowers{filter:drop-shadow(1px 3px 2px #0003);width:100%;height:auto}.seal-button:hover{filter:brightness(1.025)}.clasica .seal-button:disabled{opacity:1}.seal-button:focus-visible{outline-offset:-8px;border-radius:20%}.cover-calendar{text-align:center;color:var(--gold-light);backface-visibility:hidden;position:absolute;bottom:5%;left:12%;right:12%}.cover-month{font:400 clamp(28px, 9.5cqi, 47px)/1.2 var(--script);white-space:nowrap;text-transform:capitalize;display:block}.cover-year{text-align:right;margin:-4px 2px 7px 0;font-size:13px;display:block}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:5px 1px;font-size:clamp(11px,3.7cqi,17px);line-height:1.15;display:grid}.calendar-weekday{border-bottom:1px solid var(--gold-edge);margin-bottom:3px;padding-bottom:4px;font-size:.8em;font-weight:600}.calendar-day{isolation:isolate;place-items:center;min-height:19px;display:grid;position:relative}.is-wedding-day{color:var(--background);font-weight:600}.is-wedding-day:before{content:"";z-index:-1;background:var(--gold-light);border-radius:50%;width:22px;height:22px;position:absolute}.cover-caption{font:400 clamp(21px, 6.7cqi, 32px)/1.2 var(--script);margin-top:14px;display:block}.cover-calendar.has-six-weeks .calendar-grid{row-gap:3px}.cover-calendar.has-six-weeks .cover-caption{margin-top:12px}.open-invitation{min-height:48px;color:var(--paper);letter-spacing:.015em;background:0 0;border:0;margin:33px auto 22px;padding:8px 14px;display:block;font-size:21px!important}.open-invitation:before{content:"";background:var(--gold-light);width:1px;height:18px;margin:0 auto 10px;display:block}.folio[data-state=opening] .cover-cord{animation:.65s ease-in forwards untie-cord}.folio[data-state=opening] .folio-cover{animation:1.7s cubic-bezier(.45,0,.22,1) .34s forwards open-cover}.folio[data-state=open] .folio-cover{display:none}.classic-shell.is-open .intro-greeting{opacity:0;max-height:0;margin:0;overflow:hidden}.classic-shell.is-open .folio-stage{padding-top:9px}@keyframes untie-cord{0%{opacity:1}65%{opacity:.8;transform:translate(20px,36px)rotate(8deg)}to{opacity:0;transform:translate(32px,90px)rotate(13deg)}}@keyframes open-cover{0%{opacity:1;transform:rotateY(-2deg)}68%{opacity:1}to{opacity:0;transform:rotateY(-151deg)}}.invitation-details{padding-top:27px}.invitation-details>.paper-card{margin-top:18px;box-shadow:0 4px 12px #0002}.card-title{font-size:32px;line-height:1.13;margin:7px 0 15px!important}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:600;line-height:1.5}.gold-button{border:1px solid var(--gold);min-height:46px;color:var(--ink);background:0 0;border-radius:999px;justify-content:center;align-items:center;margin-top:18px;padding:10px 26px;font-size:18px;line-height:1.2;text-decoration:none;transition:color .2s,background .2s;display:inline-flex}.gold-button:hover{background:var(--ink);color:var(--paper)}.countdown{text-align:center;padding:13px 0 24px}.countdown-title{font-size:23px;font-style:italic;margin-bottom:12px!important}.countdown-clock{justify-content:center;gap:25px;display:flex}.countdown-unit{flex-direction:column;min-width:38px;display:flex}.countdown-value{color:var(--gold-light);font-variant-numeric:tabular-nums;font-size:32px;line-height:1.1}.countdown-label{text-transform:uppercase;letter-spacing:.12em;margin-top:4px;font-size:10px}.venue+.venue{border-top:1px solid var(--gold-edge);margin-top:27px;padding-top:27px}.venue-name{font-size:22px;line-height:1.2;margin-bottom:6px!important}.venue-address{font-size:18px}.venue-time{margin:13px 0 0;font-size:17px;display:block}.time-zone-note{font-size:13px;font-style:italic}.passes{padding:37px 29px 28px}.passes .card-title{margin:9px 0 17px!important}.reservation{width:fit-content;color:var(--gold);flex-direction:column;margin:12px auto 14px;display:flex}.reservation-number{font-size:69px;line-height:1}.reservation-unit{border-block:1px solid var(--gold-edge);text-transform:uppercase;letter-spacing:.2em;padding:0 20px;font-size:14px;line-height:1.8}.pass-note{font-size:19px}.rsvp-form{border-top:1px solid var(--gold-edge);margin-top:24px;padding-top:19px}.rsvp-label{margin-bottom:12px;font-size:20px;display:block}.pass-stepper{justify-content:center;align-items:center;gap:10px;display:flex}.stepper-button{border:1px solid var(--gold-edge);width:44px;height:44px;color:var(--ink);background:0 0;border-radius:50%;font-size:25px!important}.attendees{min-width:105px;max-width:160px;min-height:44px;color:var(--ink);background:var(--paper);border:0;border-bottom:1px solid var(--gold-edge);text-align:center;border-radius:0;padding:5px 4px;font-size:21px!important}.confirm-button{width:100%;max-width:290px}.deadline{font-size:16px;font-style:italic;line-height:1.3;margin-top:12px!important}.demo-note{max-width:270px;font-size:13px;line-height:1.3;margin:20px auto 0!important}.rsvp-message:not(:empty){margin-top:18px;font-size:18px}.rsvp-result{border-top:1px solid var(--gold-edge);margin-top:22px;padding-top:22px}.rsvp-result h3{font:400 27px/1.1 var(--serif);margin:0 0 12px}.rsvp-result p{font-size:18px}.family .card-title{max-width:290px;margin:12px auto 23px!important}.family-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:12px;display:grid}.family-group p,.sponsor{font-size:18px;line-height:1.4}.sponsors-label{margin-top:23px!important;margin-bottom:10px!important}.dress-title{font:400 43px/1.2 var(--script);color:var(--gold);margin:18px 0 10px!important}.dress-details summary{list-style:none}.guidelines{text-align:left;margin:22px 0 0;padding-left:18px;font-size:19px}.guidelines li+li{margin-top:8px}.gift-message{white-space:pre-line;font-size:20px}.registry-links{flex-wrap:wrap;justify-content:center;gap:0 12px;display:flex}.closing-story{text-align:center;padding:55px 25px 25px}.closing-story h2{font:400 43px/1.2 var(--script);color:var(--gold-light);margin:20px 0!important}.closing-story>p:not(.eyebrow){white-space:pre-line;font-size:21px}.closing-story .ornament{margin-top:25px}.replay-invitation{color:var(--gold-light);text-underline-offset:5px;background:0 0;border:0;min-height:44px;margin:25px auto;text-decoration:underline;display:block;font-size:17px!important}.reveal{opacity:1}.motion-enabled .reveal:not(.is-visible){opacity:0;transform:translateY(18px)}.motion-enabled .reveal{transition:opacity .7s,transform .7s}@media (width>=700px){.classic-shell{max-width:520px;padding:32px 26px 24px}.intro-greeting{margin-bottom:32px}.folio-stage{padding-inline:15px}.letter{min-height:642px;padding:58px 29px 46px}.letter-date{margin-block:30px 24px}.letter-family,.letter-welcome{font-size:21px}.cover-calendar{bottom:6%}.calendar-grid{gap:7px 2px}.cover-caption{margin-top:21px}.open-invitation{margin-bottom:35px}.paper-card:not(.letter){padding:40px}.classic-shell.is-open .folio-stage{padding-top:15px}}@media (width<=360px){.classic-shell{padding-inline:14px}.folio-stage{padding-inline:8px}.letter{padding-inline:17px;min-height:546px;padding-top:46px}.letter-family,.letter-welcome{font-size:16px}.letter-quote{font-size:17px}.letter-date{margin-block:22px 17px}.cover-calendar{bottom:5%;left:8%;right:8%}.family-groups{grid-template-columns:1fr}.paper-card:not(.letter){padding-inline:23px}.countdown-clock{gap:19px}}@media (prefers-reduced-motion:reduce){.clasica *,.clasica :before,.clasica :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1!important;transform:none!important}}
