@font-face{font-family:playfair;src:url(../media/playfair_display_variable.p.2cixtqnvcetab.woff2)format("woff2");font-display:swap;font-weight:400 900;font-style:normal}.playfair_ed2f42f6-module__xPtq1a__className{font-family:playfair,Playfair Display,Times New Roman,serif;font-style:normal}.playfair_ed2f42f6-module__xPtq1a__variable{--font-playfair:"playfair", Playfair Display, Times New Roman, serif}
@font-face{font-family:cormorant;src:url(../media/cormorant_variable-s.p.2jobs01de8t2k.woff2)format("woff2");font-display:swap;font-weight:300 700;font-style:normal}@font-face{font-family:cormorant Fallback;src:local(Arial);ascent-override:105.57%;descent-override:32.79%;line-gap-override:0.0%;size-adjust:87.52%}.cormorant_7b239378-module__v721Ka__className{font-family:cormorant,cormorant Fallback,Cormorant Garamond,Georgia,Times New Roman,serif;font-style:normal}.cormorant_7b239378-module__v721Ka__variable{--font-cormorant:"cormorant", "cormorant Fallback", Cormorant Garamond, Georgia, Times New Roman, serif}
@font-face{font-family:cormorantItalic;src:url(../media/cormorant_italic_variable-s.3pgms88wb4vrk.woff2)format("woff2");font-display:swap;font-weight:300 700;font-style:italic}@font-face{font-family:cormorantItalic Fallback;src:local(Arial);ascent-override:116.85%;descent-override:36.3%;line-gap-override:0.0%;size-adjust:79.07%}.cormorantitalic_63f4974a-module__0GGtHa__className{font-family:cormorantItalic,cormorantItalic Fallback,Cormorant Garamond,Georgia,Times New Roman,serif;font-style:italic}.cormorantitalic_63f4974a-module__0GGtHa__variable{--font-cormorant-italic:"cormorantItalic", "cormorantItalic Fallback", Cormorant Garamond, Georgia, Times New Roman, serif}
:root{--ivory:#f6f3ee;--cream:#f0ece5;--paper:#fbf9f5;--ink:#2a4132;--ink-80:#2a4132cc;--ink-70:#2a4132b3;--ink-55:#2a41328c;--olive:#5b6a3e;--gold:#c98936;--gold-line:#c989366b;--gold-line-soft:#c9893647;--limestone:#d7c19d;--greige:#b09a78;--rose:#cb7772;--line:#2a413247;--envelope-dark:#2c3d30;--display:var(--font-playfair), "Playfair Display", "Times New Roman", serif;--body:var(--font-cormorant), "Cormorant Garamond", Georgia, "Times New Roman", serif;--body-italic:var(--font-cormorant-italic), var(--font-cormorant), "Cormorant Garamond", Georgia, "Times New Roman", serif;--gutter:clamp(1.25rem, 6vw, 2rem);--col:min(100%, 32rem);--panel:min(100%, 30rem);--band:clamp(3.5rem, 12vw, 6rem);--ease:cubic-bezier(.22, .61, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:clamp(1rem,4.27vw,1.125rem);font-weight:400;line-height:1.7;overflow-x:hidden}img,video,svg,canvas{max-width:100%;display:block}button{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--olive);outline-offset:3px;border-radius:2px}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section{padding:clamp(3.5rem, 14vw, 6rem) var(--gutter);position:relative}.section--tight{padding-block:clamp(2.5rem,10vw,4rem)}.shell{width:var(--col);text-align:center;margin-inline:auto}.heading{font-family:var(--display);letter-spacing:.035em;color:var(--ink);white-space:pre-line;margin:0;font-size:clamp(2rem,9.6vw,3rem);font-weight:400;line-height:1.1}.eyebrow{font-family:var(--body);letter-spacing:.36em;text-indent:.36em;text-transform:uppercase;color:var(--ink-80);margin:0;font-size:clamp(.66rem,2.9vw,.75rem);font-weight:400;line-height:1.6}@media (min-width:768px){.eyebrow{letter-spacing:.42em;text-indent:.42em}}.rule{background:var(--gold-line);border:0;width:2.5rem;height:1px;margin:clamp(.75rem,3vw,1rem) auto}.rule--soft{background:var(--gold-line-soft)}.note{font-style:italic;font-family:var(--body-italic);color:var(--ink-80);margin:0;font-weight:300;line-height:1.75}.action{border:0;border-bottom:1px solid var(--line);font-family:var(--body);letter-spacing:.15em;text-indent:.15em;text-transform:uppercase;color:var(--ink-70);cursor:pointer;transition:color .3s var(--ease), border-color .3s var(--ease);background:0 0;align-items:center;gap:.55em;padding:.25rem 0 .3rem;font-size:clamp(.8rem,3.5vw,.9rem);text-decoration:none;display:inline-flex}.action:hover,.action:focus-visible{color:var(--ink);border-bottom-color:var(--ink)}.action__icon{flex:none;width:1em;height:1em}.actions{flex-direction:column;align-items:center;gap:.75rem;display:flex}.band{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;line-height:0;position:relative;overflow:hidden}.band img{object-fit:cover;width:100%;height:100%}.band--candles{height:min(42.4vw,11rem)}.band--garland{height:min(42.4vw,10rem)}.band--hanging{height:min(55.8vw,13rem)}.band--hanging img{object-position:center top}.reveal{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);will-change:opacity, transform;transform:translateY(1.75rem)}.reveal.is-visible{opacity:1;transform:none}.control{z-index:40;color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;transition:color .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);background:#fbf9f5f0;border:1px solid #2a413224;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:fixed;box-shadow:0 8px 24px -12px #2a413266}.control:hover{border-color:#2a41324d}.control--music{right:var(--gutter);bottom:calc(var(--gutter) + env(safe-area-inset-bottom,0px));width:3rem;height:3rem}.control--music svg{width:1.15rem;height:1.15rem}.language{z-index:40;top:calc(var(--gutter) + env(safe-area-inset-top,0px));right:var(--gutter);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fbf9f5f0;border:1px solid #2a413224;border-radius:999px;align-items:center;padding:.15rem;display:inline-flex;position:fixed;box-shadow:0 8px 24px -12px #2a413266}.language__option{min-width:2.5rem;font-family:var(--body);letter-spacing:.16em;text-indent:.16em;color:var(--ink-55);cursor:pointer;transition:background .3s var(--ease), color .3s var(--ease);background:0 0;border:0;border-radius:999px;padding:.4rem .55rem;font-size:.72rem}.language__option[aria-pressed=true]{background:var(--ink);color:var(--paper)}.intro{z-index:60;background:var(--envelope-dark);transition:opacity .9s var(--ease);position:fixed;inset:0;overflow:hidden}.intro--closing{opacity:0;pointer-events:none}.intro__film{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.intro__stage{cursor:pointer;background:0 0;border:0;width:100%;padding:0;position:absolute;inset:0}.intro__hint{inset-inline:0;bottom:calc(3.5rem + env(safe-area-inset-bottom,0px));letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;text-align:center;color:#ffffffeb;text-shadow:0 1px 6px #00000073;transition:opacity .5s var(--ease);margin:0;font-size:clamp(.65rem,2.9vw,.75rem);position:absolute}.intro__hint.is-gone{opacity:0}.intro__skip{z-index:2;top:calc(1.5rem + env(safe-area-inset-top,0px));letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:#ffffffd9;cursor:pointer;transition:color .3s var(--ease), border-color .3s var(--ease);background:0 0;border:1px solid #fff6;border-radius:999px;padding:.6rem 1.1rem;font-size:.62rem;position:absolute;right:1.5rem}.intro__skip:hover{color:#fff;border-color:#fffc}.hero{background:var(--ivory);flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero__art{object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;width:100%;height:100%;transition:opacity 1.4s var(--ease), transform 2.4s var(--ease);position:absolute;inset:0;transform:scale(1.06)}.hero__art.is-shown{opacity:1;transform:none}.hero__body{z-index:1;padding:45svh var(--gutter) 0;text-align:center;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.hero__names{font-family:var(--display);letter-spacing:.1em;text-indent:.1em;text-transform:uppercase;color:var(--ink);flex-direction:column;align-items:center;margin:0;font-size:clamp(1.5rem,6.4vw,2.25rem);font-weight:400;line-height:1.4;display:flex}@media (min-width:768px){.hero__names{letter-spacing:.12em;text-indent:.12em}}.hero__amp{text-transform:none;letter-spacing:normal;text-indent:0;margin-block:.25rem;font-style:italic}.hero__date{letter-spacing:.25em;text-indent:.25em;text-transform:uppercase;color:var(--ink);margin:clamp(1.1rem,5vw,1.6rem) 0 0;font-size:clamp(.66rem,2.93vw,1rem)}@media (min-width:768px){.hero__date{letter-spacing:.3em;text-indent:.3em}}.hero__discover{z-index:1;padding:1rem 1.5rem calc(2rem + env(safe-area-inset-bottom,0px));color:var(--ink);cursor:pointer;transition:color .3s var(--ease);background:0 0;border:0;flex-direction:column;align-items:center;gap:.5rem;margin:0 auto;text-decoration:none;display:flex;position:relative}.hero__discover:hover{color:var(--gold)}.hero__discover span{letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;font-size:.75rem}.hero__discover svg{width:1.25rem;height:1.25rem;animation:nudge 2.6s var(--ease) infinite}@keyframes nudge{0%,70%,to{transform:translateY(0)}35%{transform:translateY(.3rem)}}.countdown{--spray:min(26vw, 9rem);padding:calc(var(--spray) * 1.295 + clamp(.75rem, 3vw, 1.5rem)) var(--gutter) clamp(3rem, 12vw, 4.5rem);position:relative;overflow:hidden}.countdown .shell{z-index:1;position:relative}.countdown__floral{pointer-events:none;-webkit-user-select:none;user-select:none;height:auto;position:absolute;top:0}.countdown__floral--left{width:var(--spray);left:0}.countdown__floral--right{width:min(13vw,4.5rem);right:0}.countdown .eyebrow{margin-top:clamp(.5rem,2vw,.75rem)}.countdown__grid{justify-content:center;align-items:stretch;margin-top:clamp(1rem,4vw,1.5rem);display:flex}.countdown__cell{flex-direction:column;align-items:center;gap:.4rem;padding-inline:clamp(.9rem,4.5vw,1.75rem);display:flex}.countdown__cell+.countdown__cell{border-left:1px solid var(--line)}.countdown__value{font-family:var(--display);letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:clamp(1.875rem,8vw,2.75rem);font-weight:300;line-height:1}.countdown__unit{letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;color:var(--ink-80);font-size:clamp(.66rem,2.9vw,.78rem)}.countdown__done{font-family:var(--display);margin:clamp(1rem,4vw,1.5rem) 0 0;font-size:clamp(1.25rem,5.6vw,1.75rem)}.welcome{padding-bottom:0}.welcome__hosts{font-style:italic;font-family:var(--body-italic);color:#2a4132e6;margin:0;font-size:clamp(1rem,4.27vw,1.15rem);font-weight:300}.welcome__lead{max-width:26rem;font-style:italic;font-family:var(--body-italic);margin:clamp(1.5rem,6vw,2rem) auto 0;font-size:clamp(1.05rem,4.5vw,1.25rem);font-weight:300;line-height:1.7}.welcome__couple{margin-top:clamp(1.75rem,7vw,2.5rem)}.welcome__name{font-family:var(--display);letter-spacing:.01em;text-wrap:balance;margin:0;font-size:clamp(2.1rem,9.6vw,3rem);font-weight:400;line-height:1.2}.welcome__and{font-family:var(--display);color:var(--ink);margin:.35rem 0;font-size:clamp(1.7rem,7.6vw,2.25rem);font-weight:500}.welcome__message{max-width:24rem;font-style:italic;font-family:var(--body-italic);margin:clamp(2rem,8vw,3rem) auto 0;font-size:clamp(1.1rem,4.8vw,1.25rem);font-weight:300;line-height:1.7}.welcome__date{color:var(--ink);margin:clamp(.75rem,3vw,1rem) 0 0;font-size:clamp(.95rem,4vw,1.1rem);font-style:normal}.celebration{padding:clamp(1.5rem, 6vw, 3rem) var(--gutter) clamp(2rem, 8vw, 4rem);position:relative}.celebration__stage{width:var(--panel);aspect-ratio:1072/1920;margin-inline:auto;position:relative}.celebration__frame{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.celebration__inner{z-index:1;height:100%;padding:calc(var(--panel) * .484) calc(var(--panel) * .15) calc(var(--panel) * .466);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;container-type:inline-size}.celebration__heading{font-size:10.8cqi;line-height:1.12}.celebration .rule{width:31cqi;margin-block:5.7cqi}.celebration__venue{font-family:var(--display);letter-spacing:.02em;text-wrap:balance;margin:0;font-size:max(.95rem,7.7cqi);font-weight:400;line-height:1.3}.celebration__when{font-style:italic;font-family:var(--body-italic);opacity:.78;margin:3.1cqi 0 0;font-size:max(.72rem,5.3cqi);line-height:1.4}.celebration__programme{flex-direction:column;gap:1.4cqi;margin:0;padding:0;font-size:max(.72rem,5.3cqi);line-height:1.45;list-style:none;display:flex}.celebration__action{margin-top:7.1cqi;padding-bottom:.25rem;font-size:max(.68rem,4.9cqi)}.dress-code{padding-top:clamp(1rem,5vw,2.5rem);position:relative;overflow:hidden}.dress-code__value{font-family:var(--display);text-wrap:balance;margin:0;font-size:clamp(1.6rem,7.5vw,2.25rem);font-weight:400;line-height:1.25}.dress-code__note{max-width:26rem;margin:clamp(1rem,4vw,1.5rem) auto 0}.dress-code__figures{width:min(100%,30rem);height:auto;margin:clamp(1.5rem,7vw,2.5rem) auto 0}.schedule__track{width:min(100%,34rem);margin:clamp(1.5rem,6vw,2.5rem) auto 0;position:relative}.schedule__line{background-image:repeating-linear-gradient(var(--olive) 0, var(--olive) 4px, transparent 4px, transparent 12px);pointer-events:none;width:3px;position:absolute;top:.75rem;bottom:.75rem;left:42%;transform:translate(-50%)}.schedule__marker{background:var(--olive);width:1rem;height:1rem;box-shadow:0 0 0 4px var(--ivory);border-radius:999px;transition:top .25s linear;position:absolute;left:50%;transform:translate(-50%,-50%)}.schedule__items{flex-direction:column;gap:clamp(2rem,8vw,3.5rem);margin:0;padding:0;list-style:none;display:flex}.schedule__item{grid-template-columns:38% 1fr;align-items:center;gap:1rem;display:grid}.schedule__icon{justify-self:center;width:100%;max-width:8.125rem;height:auto}.schedule__copy{text-align:left;padding-left:clamp(1.25rem,5vw,2.5rem)}.schedule__time{letter-spacing:.06em;margin:0;font-size:clamp(1.125rem,4.8vw,1.5rem);font-weight:700;line-height:1.2}.schedule__title{letter-spacing:.14em;text-transform:uppercase;color:#2a4132d9;margin:.4rem 0 0;font-size:clamp(.75rem,3.2vw,.875rem);line-height:1.6}@media (min-width:768px){.schedule__line{top:1rem;bottom:1rem;left:44%}.schedule__item{grid-template-columns:40% 1fr;gap:2rem}.schedule__icon{max-width:11.25rem}.schedule__marker{width:1.125rem;height:1.125rem}}.venue__house{width:min(100%,26rem);height:auto;margin:clamp(1.5rem,6vw,2.5rem) auto clamp(1rem,4vw,1.5rem)}.venue__name{font-family:var(--display);letter-spacing:.01em;text-wrap:balance;margin:0;font-size:clamp(1.9rem,8.5vw,2.5rem);font-weight:400;line-height:1.2}.venue__address{text-wrap:balance;margin:clamp(.9rem,4vw,1.25rem) 0 0;font-size:clamp(1rem,4.27vw,1.15rem);line-height:1.6}.venue__when{margin:0 0 clamp(1.25rem,5vw,1.75rem);font-size:clamp(.9rem,3.9vw,1.05rem)}.venue__when em{font-style:italic;font-family:var(--body-italic);opacity:.8}.rsvp{position:relative;overflow:hidden}.rsvp-placeholder{min-height:70vh}.rsvp__envelope{width:min(62%,15rem);height:auto;margin:0 auto clamp(1.5rem,6vw,2.25rem)}.rsvp__topiary{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.9;width:min(38%,13rem);height:auto;position:absolute;bottom:12%;right:min(-2rem,-5vw)}.rsvp__deadline span{margin-top:.4rem;display:block}.rsvp__form{text-align:left;width:min(100%,28rem);margin:clamp(1.75rem,7vw,2.5rem) auto 0}.field+.field{margin-top:clamp(1.5rem,6vw,2rem)}.field__label{color:var(--ink);margin-bottom:.6rem;font-size:clamp(1rem,4.27vw,1.1rem);display:block}.field__required{color:var(--rose)}.field__hint{font-size:.85rem;font-style:italic;font-family:var(--body-italic);color:var(--ink-55);margin:.35rem 0 0}.field__input{width:100%;font-family:var(--body);color:var(--ink);transition:border-color .3s var(--ease), background .3s var(--ease);background:#fbf9f5b3;border:1px solid #2a413252;border-radius:4px;padding:.85rem 1rem;font-size:1.05rem}.field__input::placeholder{color:#2a41326b}.field__input:focus{border-color:var(--olive);background:var(--paper);outline:none}.field__input[aria-invalid=true]{border-color:var(--rose)}.choice{cursor:pointer;align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.choice input{opacity:0;width:1px;height:1px;position:absolute}.choice__dot{background:var(--paper);width:1.15rem;height:1.15rem;transition:border-color .25s var(--ease);border:1px solid #2a413273;border-radius:999px;flex:none;position:relative}.choice__dot:after{content:"";background:var(--olive);transition:transform .25s var(--ease);border-radius:999px;position:absolute;inset:.24rem;transform:scale(0)}.choice input:checked+.choice__dot{border-color:var(--olive)}.choice input:checked+.choice__dot:after{transform:scale(1)}.choice input:focus-visible+.choice__dot{outline:2px solid var(--olive);outline-offset:3px}.choice__text{font-size:clamp(.98rem,4.1vw,1.08rem)}.stepper{background:#fbf9f5b3;border:1px solid #2a413252;border-radius:999px;align-items:center;gap:1.25rem;padding:.35rem .5rem;display:inline-flex}.stepper__button{width:2.25rem;height:2.25rem;color:var(--ink);cursor:pointer;transition:background .25s var(--ease);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex}.stepper__button:disabled{opacity:.35;cursor:not-allowed}.stepper__button:not(:disabled):hover{background:#2a413212}.stepper__value{min-width:2ch;font-family:var(--display);text-align:center;font-variant-numeric:tabular-nums;font-size:1.4rem}.submit{border:1px solid var(--ink);background:var(--ink);width:100%;font-family:var(--body);letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;color:var(--paper);cursor:pointer;transition:background .3s var(--ease), opacity .3s var(--ease);border-radius:4px;justify-content:center;align-items:center;gap:.75rem;margin-top:clamp(1.75rem,7vw,2.25rem);padding:1.05rem 1.5rem;font-size:clamp(.85rem,3.7vw,.95rem);display:flex}.submit:not(:disabled):hover{background:#1f3126}.submit:disabled{opacity:.6;cursor:progress}.submit svg{width:1.05rem;height:1.05rem}.status{margin:clamp(1rem,4vw,1.25rem) 0 0;font-size:1rem;line-height:1.6}.status--error{color:#96392f}.status--success{font-style:italic;font-family:var(--body-italic);color:var(--ink)}.field__error{color:#96392f;margin:.45rem 0 0;font-size:.9rem}.footer{padding:clamp(3rem, 12vw, 5rem) var(--gutter) 0;text-align:center;position:relative}.footer__names{font-family:var(--display);text-wrap:balance;margin:0;font-size:clamp(2.5rem,11.5vw,3.75rem);font-weight:400;line-height:1.15}.footer__amp{font-style:italic}.footer__date{letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:var(--ink-80);margin:clamp(.75rem,3vw,1rem) 0 0;font-size:clamp(.8rem,3.5vw,.95rem)}.footer__hosts{max-width:24rem;font-style:italic;font-family:var(--body-italic);color:var(--ink-80);margin:clamp(1rem,4vw,1.5rem) auto 0;font-weight:300}.footer__estate{width:100%;height:auto;margin-top:clamp(2rem,9vw,3.5rem);margin-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal,.hero__art{opacity:1;transform:none}}
