.invite{--script:"Pinyon Script", "Great Vibes", cursive;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Inter", system-ui, -apple-system, sans-serif;--ivory:#fffdf9;--cream:#f9f6f1;--paper:#f2eadd;--linen:#ebe8df;--bone:#e1ded7;--gold:#c49e62;--gold-deep:#a8893f;--gold-soft:#e3cfa6;--mocha:#614735;--espresso:#2b1f17;--ink:#191b1d;--charcoal:#2b2b2b;--muted:#6b6259;--stone:#8a7560;--gold-text:#8a6c32;--cream-rgb:249 246 241;--espresso-rgb:43 31 23;--mocha-rgb:97 71 53;--gold-rgb:196 158 98;--ease:cubic-bezier(.22, .61, .36, 1);--shadow-soft:0 18px 40px -18px rgb(var(--espresso-rgb) / .28), 0 2px 6px rgb(var(--espresso-rgb) / .06);background:var(--ivory);min-height:100vh;color:var(--charcoal);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:300;position:relative;overflow-x:clip}.invite *,.invite :before,.invite :after{box-sizing:border-box}.invite img{max-width:100%}.invite a:focus-visible,.invite button:focus-visible,.invite [role=button]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.invite .eyebrow{font:500 11px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.3em;color:var(--gold-text);margin:0}.invite .eyebrow--light{color:var(--gold-soft)}.invite .script,.invite .section-title{font-family:var(--script);font-weight:400;line-height:1}.invite .section-title{color:var(--mocha);margin:14px 0 0;font-size:clamp(3rem,8vw,5.5rem)}.invite .divider{background:var(--gold);width:40px;height:1px;margin:26px auto;display:block}.invite .monogram{width:auto;height:84px;margin:0 auto;display:block}.invite .monogram--on-dark{filter:drop-shadow(0 2px 14px rgb(var(--espresso-rgb) / .55))}.invite .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:calc(var(--reveal-i,0) * .11s);transform:translateY(24px)}.invite .reveal.is-visible{opacity:1;transform:none}.opening{--seal:min(70vw, 56vh, 470px);z-index:100;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#e7e1d8;position:fixed;inset:0;overflow:hidden}.opening:focus-visible{outline:none}.opening__scene{transform-origin:50% calc(50% + .8vmax);will-change:transform;position:absolute;inset:0}.opening__scene .envelope{width:100%;height:100%;position:absolute;inset:0}@media (aspect-ratio<=3/4){.opening{--seal:min(58vw, 40vh, 300px)}.opening .opening__copy{top:calc(50% + .8vmax + var(--seal) / 2 + 36px);bottom:auto}}.opening__seal{width:var(--seal);filter:drop-shadow(0 16px 18px #3c2c1e4d)drop-shadow(0 3px 4px #3c2c1e47);position:absolute;top:calc(50% + .8vmax);left:50%;translate:-50% -50%}.wax-seal{aspect-ratio:1;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;animation:seal-in 1.4s var(--ease) .25s both;display:block;position:relative}.opening__light{pointer-events:none;opacity:0;will-change:transform, opacity;background:linear-gradient(115deg,#0000 35%,#fffcf447 48%,#0000 62%);position:absolute;inset:-20%}.opening__copy{font:500 10px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.26em;color:rgb(var(--mocha-rgb) / .72);opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:9px;margin:0;display:flex;position:absolute;bottom:max(9vh,44px);left:0;right:0}.opening__copy.is-ready{animation:opening-copy 1.2s var(--ease) .9s both}.opening__copy span:last-child{letter-spacing:.2em;color:rgb(var(--mocha-rgb) / .48);font-size:9px}.opening__bloom{pointer-events:none;opacity:0;background:radial-gradient(circle at 50% calc(50% + .8vmax),#fffdf9 0% 38%,#fffdf9eb 62%,#f9f6f1d9 100%);position:absolute;inset:0}.opening__video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s linear;position:absolute;inset:0}.opening__video.is-ready{opacity:1}.opening__message{z-index:2;text-align:center;opacity:0;pointer-events:none;width:86%;max-width:520px;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-42%)}.opening__message span{font:500 10px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.25em;color:var(--gold-text);margin-bottom:14px;display:block}.opening__message strong{font:400 min(clamp(2.6rem, 13vw, 5.6rem), 86vw / 6.8, 520px / 6.8) / .95 var(--script);color:var(--mocha);white-space:nowrap;display:block}.opening__message small{font-family:var(--serif);color:var(--gold);font-size:.4em;font-style:italic}.opening--video .opening__message{text-shadow:0 3px 24px rgb(var(--espresso-rgb) / .55)}.opening--video .opening__message strong,.opening--video .opening__message span{color:var(--ivory)}.opening__skip{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));z-index:3;border:1px solid rgb(var(--mocha-rgb) / .28);background:rgb(var(--cream-rgb) / .55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--mocha);font:500 9.5px/1 var(--sans);text-transform:uppercase;letter-spacing:.18em;cursor:pointer;border-radius:999px;padding:9px 14px;animation:.5s .8s both fade-in;position:absolute}.opening--film .opening__copy,.opening--leaving .opening__copy{opacity:0;transition:opacity .4s;animation:none}.opening--film.opening--cinematic .opening__scene{animation:2.5s cubic-bezier(.55,0,.25,1) forwards camera-push}.opening--film.opening--cinematic .opening__seal{animation:2.2s cubic-bezier(.45,0,.2,1) .15s forwards seal-lift}.opening--film.opening--cinematic .opening__light{animation:1.8s ease-in-out .3s forwards light-sweep}.opening--film.opening--cinematic .opening__bloom{animation:1.1s cubic-bezier(.5,0,.3,1) 1.5s forwards bloom}.opening--film .opening__message{animation:film-message 1s var(--ease) 2.35s forwards}.opening--film.opening--video .opening__message{animation-delay:.4s}.opening--leaving{pointer-events:none;animation:1.3s cubic-bezier(.65,0,.22,1) forwards entry-reveal;-webkit-mask-image:linear-gradient(#000 0% 58%,#0000 100%);mask-image:linear-gradient(#000 0% 58%,#0000 100%)}.opening--leaving .opening__bloom{opacity:1;transition:opacity .3s}.opening--leaving .opening__scene,.opening--leaving .opening__seal,.opening--leaving .opening__light{visibility:hidden}.opening--leaving .opening__message{opacity:1;transform:translate(-50%,-50%)}.invite__content{opacity:0}.invite--in .invite__content{opacity:1}.hero{background:var(--espresso);min-height:100svh;color:var(--ivory);text-align:center;place-items:end center;padding:72px 20px 92px;display:grid;position:relative;overflow:hidden}.hero__slides,.hero__slide,.hero__veil,.hero__grain{width:100%;height:100%;position:absolute;inset:0}.hero__slides{overflow:hidden}.hero__slide{object-fit:cover;object-position:var(--focus-mobile,center);opacity:0;transition:opacity 1.6s}.hero__slide.is-active{opacity:1}@media (aspect-ratio>=3/4){.hero__slide{object-position:var(--focus-desktop,center)}}.hero__veil{background:linear-gradient(180deg, rgb(var(--espresso-rgb) / .55) 0%, rgb(var(--espresso-rgb) / .25) 35%, rgb(var(--espresso-rgb) / .35) 60%, rgb(var(--espresso-rgb) / .82) 100%)}.hero__grain{opacity:.14;mix-blend-mode:overlay;pointer-events:none;background:url(/invite/grain.png) 0 0/128px}.hero__copy{z-index:1;flex-direction:column;align-items:center;width:100%;max-width:640px;display:flex;position:relative}@media (aspect-ratio<=3/4){.hero__copy{transition:transform 1.6s var(--ease)}.hero--lift-copy .hero__copy{transform:translateY(max(-32svh,196px - 100svh + 100%))}.hero--drop-copy .hero__copy{transform:translateY(calc(77px + clamp(1.5rem,6vw,2rem)))}.countdown__card{transition:opacity .8s}.hero--drop-copy .hero__copy .countdown__card{opacity:0}.hero__countdown-top{z-index:1;opacity:0;pointer-events:none;justify-content:center;transition:opacity .8s;display:flex;position:absolute;top:calc(max(28px,5vh) + clamp(60px,17vw,82px) + 18px);left:20px;right:20px}.hero--drop-copy .hero__countdown-top{opacity:1}}@media not all and (aspect-ratio<=3/4){.hero__countdown-top{display:none}}.hero__copy>*{opacity:0}.invite--in .hero__copy>*{animation:hero-copy 1.2s var(--ease) both}.invite--in .hero__copy>:first-child{animation-delay:.5s}.invite--in .hero__copy>:nth-child(2){animation-delay:.7s}.invite--in .hero__copy>:nth-child(3){animation-delay:.9s}.invite--in .hero__copy>:nth-child(4){animation-delay:1.15s}.invite--in .hero__copy>:nth-child(5){animation-delay:1.35s}.invite .hero__monogram{z-index:1;opacity:0;height:clamp(60px,17vw,82px);position:absolute;top:max(28px,5vh);left:50%;translate:-50%}.invite--in .hero__monogram{animation:hero-copy 1.2s var(--ease) .4s both}.hero__names{font:400 clamp(3.2rem, min(17vw, 11vh), 7rem) / .95 var(--script);text-shadow:0 4px 30px rgb(var(--espresso-rgb) / .25);flex-direction:column;align-items:center;margin:0 0 8px;display:flex}.hero__amp{font-family:var(--serif);color:var(--gold-soft);margin:-.05em 0 -.08em;font-size:.32em;font-style:italic}.hero__date{font:400 13px/1 var(--sans);letter-spacing:.22em;align-items:center;gap:14px;margin:10px 0 34px;display:flex}.hero__date i{background:var(--gold);width:34px;height:1px}.hero__month{font:400 34px/1 var(--script);letter-spacing:0}.countdown{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:400px;display:grid}.countdown__card{border:1px solid rgb(var(--cream-rgb) / .18);background:rgb(var(--cream-rgb) / .09);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:14px 4px 12px;display:flex}.countdown__value{font:300 clamp(1.5rem, 6vw, 2rem) / 1 var(--sans);font-variant-numeric:tabular-nums}.countdown__label{font:500 9px/1 var(--sans);text-transform:uppercase;letter-spacing:.24em;color:rgb(var(--cream-rgb) / .7)}.countdown__today{font:400 clamp(2.4rem, 9vw, 3.4rem) / 1 var(--script);margin:0}.hero__scroll{bottom:max(28px, env(safe-area-inset-bottom));z-index:1;border:1px solid rgb(var(--cream-rgb) / .55);border-radius:999px;width:22px;height:36px;margin-left:-11px;position:absolute;left:50%}.hero__scroll span{background:var(--ivory);border-radius:50%;width:4px;height:4px;margin-left:-2px;animation:1.8s ease-in-out infinite scroll-dot;position:absolute;top:7px;left:50%}.dock{bottom:max(16px, env(safe-area-inset-bottom));z-index:50;border:1px solid rgb(var(--cream-rgb) / .15);background:rgb(var(--espresso-rgb) / .62);-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);width:min(92%,410px);box-shadow:0 12px 30px -10px rgb(var(--espresso-rgb) / .45);opacity:0;pointer-events:none;transition:opacity .5s var(--ease), transform .5s var(--ease);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;align-items:center;gap:4px;padding:5px;display:grid;position:fixed;left:50%;transform:translate(-50%,24px)}.dock.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.dock a{min-height:38px;color:rgb(var(--cream-rgb) / .85);font:500 10px/1 var(--sans);text-transform:uppercase;letter-spacing:.24em;border-radius:999px;place-items:center;padding:0 6px;text-decoration:none;transition:background .3s;display:grid}@media (hover:hover){.dock a:hover{background:rgb(var(--cream-rgb) / .12);color:var(--ivory)}}.dock a:active{background:rgb(var(--cream-rgb) / .12)}.music-toggle{bottom:max(16px, env(safe-area-inset-bottom));z-index:51;border:1px solid rgb(var(--cream-rgb) / .2);background:rgb(var(--espresso-rgb) / .55);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:44px;height:44px;color:var(--ivory);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:18px;transition:opacity .3s,background .3s;display:grid;position:fixed;left:16px}.dock__music{border:1px solid rgb(var(--gold-rgb) / .55);background:rgb(var(--gold-rgb) / .18);width:34px;height:34px;color:var(--ivory);cursor:pointer;border-radius:50%;place-items:center;margin-right:2px;padding:0;font-size:15px;display:none}.dock__music.is-muted{opacity:.6}.music-toggle.is-playing span,.dock__music.is-playing span{animation:1.6s ease-in-out infinite note-bob}.music-toggle.is-muted{opacity:.7}.music-toggle.is-muted:after{content:"";background:currentColor;width:22px;height:1px;position:absolute;transform:rotate(-45deg)}.story-section{background:var(--ivory);padding:56px 22px 140px;scroll-margin-top:0;position:relative}.paper{text-align:center;flex-direction:column;align-items:center;max-width:520px;margin:0 auto;display:flex}.invite .paper__monogram{height:68px;margin-bottom:28px}.paper__verse{max-width:380px;margin:0}.paper__verse p{font:300 13px/1.8 var(--sans);color:var(--muted);margin:0}.paper__verse cite{font:500 10px/1 var(--sans);text-transform:uppercase;letter-spacing:.26em;color:var(--stone);margin-top:10px;font-style:normal;display:block}.paper__blessing{font:italic 400 17px/1.4 var(--serif);color:var(--mocha);margin:44px 0 18px}.paper__parents{grid-template-columns:1fr 1fr;gap:24px;width:100%;max-width:420px;display:grid}.paper__parents ul{font:400 12px/1.75 var(--sans);letter-spacing:.01em;color:var(--muted);text-wrap:balance;margin:0;padding:0;list-style:none}.paper__parents ul:first-child{text-align:left}.paper__parents ul:last-child{text-align:right}.paper__names{font:400 min(clamp(2.4rem, 11.5vw, 5rem), (100vw - 44px) / 6.7, 520px / 6.7) / 1 var(--script);color:var(--mocha);white-space:nowrap;margin:40px 0 26px}.paper__names small{color:var(--gold);font-size:.5em}.paper__invite{max-width:320px;font:300 14px/1.7 var(--sans);color:var(--muted);margin:0}.paper__date{font:500 12px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.24em;color:var(--mocha);margin:12px 0 0}.paper__sketch{mix-blend-mode:multiply;width:calc(100% + 12px);max-width:500px;height:auto;margin:40px -6px 18px;display:block;-webkit-mask-image:radial-gradient(closest-side,#000 78%,#0000 100%);mask-image:radial-gradient(closest-side,#000 78%,#0000 100%)}.paper__divider{margin:48px auto 0}.paper__reception{margin:26px 0 0}.paper__sketch--wide{margin-top:26px}.paper__venue{color:inherit;flex-direction:column;gap:6px;text-decoration:none;display:flex}.paper__venue strong{font:500 12px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.26em;color:var(--mocha)}.paper__venue span{font:300 12px/1.6 var(--sans);color:var(--muted)}.paper__venue em{font:italic 400 15px/1 var(--serif);color:var(--stone);text-decoration:underline;-webkit-text-decoration-color:var(--bone);-webkit-text-decoration-color:var(--bone);text-decoration-color:var(--bone);text-underline-offset:4px;margin-top:6px}.date-section{z-index:1;background:var(--mocha);color:var(--ivory);text-align:center;border-radius:48px 48px 0 0;margin-top:-48px;padding:96px 22px 110px;position:relative;overflow:hidden}.date-section__bg,.date-section__veil{position:absolute;inset:0}.date-section__bg{object-fit:cover;object-position:50% 100%;width:100%;height:100%}.date-section__veil{background:linear-gradient(180deg, rgb(var(--espresso-rgb) / .72) 0%, rgb(var(--espresso-rgb) / .55) 55%, rgb(var(--cream-rgb) / .25) 100%)}.date-section__inner{max-width:420px;margin:0 auto;position:relative}@media (width<=1299px){.invite .date-section{padding-bottom:max(240px,42vw)}.date-section__veil{background:linear-gradient(180deg, rgb(var(--espresso-rgb) / .72) 0%, rgb(var(--espresso-rgb) / .55) 55%, rgb(var(--espresso-rgb) / .1) 80%, rgb(var(--cream-rgb) / .1) 100%)}}@media (width>=1300px){.date-section{text-align:left;min-height:max(820px,56vw)}.invite .date-section__bg{width:125%;max-width:none;height:auto;inset:auto auto 0 0}.date-section__inner{margin:0 0 0 max(4vw,50% - 640px)}.date-section .date-section__title{justify-content:flex-start}.date-section__veil{background:linear-gradient(90deg, rgb(var(--espresso-rgb) / .78) 0%, rgb(var(--espresso-rgb) / .6) 28%, rgb(var(--espresso-rgb) / .12) 48%, rgb(var(--espresso-rgb) / .05) 100%)}}.date-section__title{justify-content:center;align-items:baseline;gap:12px;margin:16px 0 34px;font-weight:400;display:flex}.date-section__title .script{font-size:clamp(3.4rem,14vw,5.5rem)}.date-section__title small{font:400 13px/1 var(--sans);letter-spacing:.24em;color:rgb(var(--cream-rgb) / .75)}.calendar__head,.calendar__grid{grid-template-columns:repeat(7,1fr);justify-items:center;display:grid}.calendar__head{border-bottom:1px solid rgb(var(--gold-rgb) / .6);font:400 26px/1 var(--script);color:rgb(var(--cream-rgb) / .85);padding-bottom:12px}.calendar__grid{row-gap:8px;margin:16px 0 0;padding:0;list-style:none}.calendar__grid li{width:38px;height:38px;font:300 14px/1 var(--sans);font-variant-numeric:tabular-nums;color:rgb(var(--cream-rgb) / .88);border-radius:50%;place-items:center;display:grid}.calendar__grid .selected-day{border:1px solid var(--gold);color:var(--ivory);background:rgb(var(--gold-rgb) / .22);box-shadow:0 0 0 4px rgb(var(--gold-rgb) / .14);font-weight:500}.date-section__legend{font:500 11px/1 var(--sans);text-transform:uppercase;letter-spacing:.3em;color:var(--ivory);margin:30px 0 0}.story-interlude-section{background:var(--paper);text-align:center;padding:90px 22px 120px;position:relative;overflow:hidden}.story-interlude-section>*{z-index:1;position:relative}.story-interlude-section__text{max-width:460px;margin:0 auto}.story-interlude-section__text p{font:300 15px/1.7 var(--sans);color:var(--muted);margin:0 0 20px}.polaroids{justify-content:center;align-items:flex-start;max-width:460px;margin:60px auto 0;padding-top:20px;display:flex;position:relative}.polaroid{background:var(--ivory);width:54%;box-shadow:0 22px 40px -18px rgb(var(--espresso-rgb) / .4), 0 2px 6px rgb(var(--espresso-rgb) / .08);margin:0;padding:10px 10px 0;position:relative}.polaroid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.polaroid figcaption{font:400 22px/1.1 var(--script);color:var(--mocha);padding:14px 4px 18px}.polaroid--left{margin-right:-6%;rotate:-4deg}.polaroid--right{margin-top:70px;rotate:3deg}.story-paperclip{z-index:2;width:20px;height:54px;filter:drop-shadow(0 2px 2px rgb(var(--espresso-rgb) / .25));margin-left:-10px;position:absolute;top:-26px;left:50%}.guest-manual{background:radial-gradient(90% 60% at 50% 0%, rgb(var(--gold-rgb) / .08), transparent 70%), var(--cream);text-align:center;padding:90px 22px 110px;position:relative}.guest-manual__list{text-align:left;gap:26px;max-width:380px;margin:0 auto;padding:0;list-style:none;display:grid}.guest-manual__item{grid-template-columns:74px 1fr;align-items:center;gap:18px;display:grid}.guest-manual__icon{border:1px solid rgb(var(--gold-rgb) / .28);background:var(--ivory);width:74px;height:74px;color:var(--mocha);box-shadow:0 10px 22px -12px rgb(var(--espresso-rgb) / .32), inset 0 0 0 4px var(--ivory), inset 0 0 0 5px rgb(var(--gold-rgb) / .12);border-radius:50%;place-items:center;display:grid}.guest-icon{width:50px;height:50px}.guest-icon .gi-accent{stroke:var(--gold-deep)}.guest-icon .gi-faint{stroke-opacity:.55}.guest-icon .gi-fill{fill:var(--ivory)}.guest-icon .gi-badge{fill:var(--ivory);stroke:var(--gold-deep)}.guest-manual__title{font:500 12px/1.45 var(--sans);text-transform:uppercase;letter-spacing:.16em;color:var(--mocha);margin:0 0 5px}.guest-manual__text{font:300 14px/1.6 var(--sans);color:var(--muted);margin:0}.guest-manual__closing{max-width:420px;font:italic 400 21px/1.4 var(--serif);color:var(--mocha);margin:46px auto 0}.links-section{background:var(--ivory);text-align:center;padding:90px 22px 110px}.links-section__icon{width:92px;height:92px;margin:0 auto 26px}.links-section__icon .guest-icon{width:60px;height:60px}.links-section__note{max-width:420px;font:300 15px/1.7 var(--sans);color:var(--muted);margin:18px auto 36px}.links-section__buttons{flex-direction:column;align-items:center;gap:12px;width:min(100%,340px);margin:0 auto;display:flex}.invite-button{border:1px solid var(--mocha);width:100%;min-height:50px;font:500 11px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.2em;transition:transform .2s var(--ease), box-shadow .25s var(--ease), background .25s ease;border-radius:2px;justify-content:center;align-items:center;gap:9px;padding:15px 22px;text-decoration:none;display:flex;position:relative;overflow:hidden}.invite-button:after{content:"";background:linear-gradient(100deg, transparent 0%, rgb(var(--cream-rgb) / .45) 50%, transparent 100%);pointer-events:none;width:40%;height:140%;position:absolute;top:-20%;left:-55%;transform:skew(-20deg)}@media (hover:hover){.invite-button:hover{box-shadow:0 14px 26px -14px rgb(var(--espresso-rgb) / .5);transform:translateY(-2px)}.invite-button:hover:after{animation:1.2s ease-in-out button-light}}.invite-button:active:after{animation:1.2s ease-in-out button-light}.invite-button:active{transform:translateY(1px)}.invite-button--solid{background:var(--mocha);color:var(--ivory)}.invite-button--outline{border-color:var(--gold);background:var(--ivory);color:var(--mocha)}.invite-button--outline:after{background:linear-gradient(100deg, transparent 0%, rgb(var(--gold-rgb) / .45) 50%, transparent 100%);animation-delay:.6s}.rsvp-page{background:radial-gradient(90% 50% at 50% 0%, rgb(var(--gold-rgb) / .08), transparent 70%), var(--cream);text-align:center;min-height:100vh;padding:16px 18px 80px}.rsvp-page__bar{text-align:left;width:min(100%,720px);margin:0 auto 36px}.rsvp-page__back{border:1px solid rgb(var(--gold-rgb) / .55);background:var(--ivory);min-height:40px;font:500 10px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.18em;color:var(--mocha);box-shadow:0 6px 16px -12px rgb(var(--espresso-rgb) / .4);transition:background .25s ease, transform .2s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:9px 18px;text-decoration:none;display:inline-flex}@media (width>=640px){.rsvp-page{padding-top:24px}.rsvp-page__back{min-height:48px}}.rsvp-page__back span{letter-spacing:0;font-size:14px}@media (hover:hover){.rsvp-page__back:hover{background:var(--paper);transform:translate(-2px)}}.invite .rsvp-page__monogram{height:62px;margin-bottom:22px}.rsvp-page .links-section__note{margin-bottom:28px}.rsvp-page .section-title+.rsvp-card{margin-top:32px}.rsvp-page__contact{width:min(100%,340px);margin:28px auto 0}.rsvp-card{border:1px solid rgb(var(--gold-rgb) / .28);background:var(--ivory);width:min(100%,440px);box-shadow:var(--shadow-soft);text-align:left;border-radius:4px;margin:0 auto;padding:28px 22px}.rsvp-card__greeting{font:italic 400 24px/1.3 var(--serif);color:var(--mocha);margin:0 0 14px}.rsvp-card__label{font:400 14px/1.5 var(--sans);color:var(--charcoal);margin-bottom:10px;display:block}.rsvp-card__input{border:1px solid var(--bone);width:100%;min-height:48px;font:400 16px/1.4 var(--sans);color:var(--ink);background:#fff;border-radius:2px;padding:12px 14px}.rsvp-card__input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgb(var(--gold-rgb) / .18);outline:none}.rsvp-card__input--digits{letter-spacing:.4em;text-align:center;width:140px;font-size:22px}.rsvp-card__hint,.rsvp-card__error{font:300 14px/1.6 var(--sans);color:var(--muted);margin:12px 0 0}.rsvp-card__error{color:#9b3b2e}.rsvp-card__notice{border-left:2px solid var(--gold);background:var(--cream);font:300 14px/1.6 var(--sans);color:var(--charcoal);margin:0 0 16px;padding:14px}.rsvp-card__notice p{margin:0}.rsvp-card__choice{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.rsvp-card__matches{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.rsvp-card__match{border:1px solid var(--gold);background:var(--ivory);font:400 15px/1.3 var(--sans);color:var(--mocha);cursor:pointer;border-radius:2px;padding:10px 16px}.rsvp-card__match small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.rsvp-card__match:active{background:var(--paper)}@media (hover:hover){.rsvp-card__match:hover{background:var(--paper)}}.rsvp-card__members{margin:16px 0 0;padding:0;list-style:none}.rsvp-card__member{border-top:1px solid var(--linen);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex}.rsvp-card__member-name{font:400 15px/1.4 var(--sans);color:var(--ink)}.rsvp-card__member-name small{color:var(--muted);font-size:12px}.rsvp-card__toggle{border:1px solid var(--bone);border-radius:2px;display:inline-flex}.rsvp-card__option{min-width:78px;font:500 11px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:9px 12px}.rsvp-card__option[aria-checked=true]{background:var(--mocha);color:var(--ivory)}.rsvp-card__option:disabled{cursor:default}.rsvp-card__option:disabled:not([aria-checked=true]){opacity:.5}.rsvp-card__actions{margin-top:22px}.rsvp-card .invite-button:disabled{opacity:.5;box-shadow:none;cursor:not-allowed;transform:none}.rsvp-card__link{font:400 13px/1.4 var(--sans);color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px;text-decoration:underline}.invite-footer{padding:110px 22px calc(120px + env(safe-area-inset-bottom));background:var(--ink);color:var(--ivory);text-align:center;position:relative;overflow:hidden}.invite-footer__bg,.invite-footer__veil{position:absolute;inset:0}.invite-footer__bg{filter:grayscale(.6)sepia(.3);background-position:50%;background-size:cover}.invite-footer__veil{background:linear-gradient(180deg, rgb(var(--espresso-rgb) / .7), rgb(var(--espresso-rgb) / .85))}.invite-footer__inner{position:relative}.invite .invite-footer__monogram{height:78px;margin-bottom:30px}.invite-footer__names{font:400 min(clamp(2.4rem, 11.5vw, 5rem), (100vw - 44px) / 6.7) / 1 var(--script);white-space:nowrap;margin:0 0 20px}.invite-footer__names small{color:rgb(var(--cream-rgb) / .6);font-size:.5em}.invite-footer__location{font:400 10px/1 var(--sans);text-transform:uppercase;letter-spacing:.3em;color:var(--gold);margin:0}@keyframes seal-in{0%{opacity:0;transform:scale(.78)rotate(-8deg)}to{opacity:1;transform:none}}@keyframes opening-copy{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes film-message{0%{opacity:0;filter:blur(5px);transform:translate(-50%,-42%)}to{opacity:1;filter:none;transform:translate(-50%,-50%)}}@keyframes entry-reveal{0%{opacity:1;transform:translateY(0)}68%{opacity:.9}to{opacity:0;transform:translateY(-72%)}}@keyframes camera-push{0%{transform:none}to{transform:scale(1.65)rotate(-7deg)translate(1%,-1.5%)}}@keyframes seal-lift{0%{filter:drop-shadow(0 16px 18px #3c2c1e4d)drop-shadow(0 3px 4px #3c2c1e47);transform:none}55%{filter:drop-shadow(0 28px 26px #3c2c1e52)drop-shadow(0 6px 8px #3c2c1e38)brightness(1.06);transform:scale(1.06)rotate(6deg)}to{filter:drop-shadow(0 40px 34px #3c2c1e33)drop-shadow(0 8px 10px #3c2c1e1f)brightness(1.45)blur(2px);transform:scale(1.12)rotate(10deg)translateY(-3%)}}@keyframes light-sweep{0%{opacity:0;transform:translate(-35%)}40%{opacity:1}to{opacity:.6;transform:translate(35%)}}@keyframes bloom{0%{opacity:0}to{opacity:1}}@keyframes hero-copy{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes scroll-dot{0%{opacity:0;transform:translateY(0)}30%{opacity:1}80%{opacity:0;transform:translateY(16px)}to{opacity:0;transform:translateY(16px)}}@keyframes button-light{0%{left:-55%}35%,to{left:125%}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes swing{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes note-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@media (width<=390px){.links-section__buttons{flex-direction:column}.dock a{letter-spacing:.18em;padding:10px 13px}}@media (width<=767px),(height<=500px){.dock:has(.dock__music){grid-template-columns:auto}.dock__music{display:grid}.music-toggle{top:max(14px, env(safe-area-inset-top));width:40px;height:40px;transition:opacity .3s;bottom:auto;left:auto;right:14px}.music-toggle.is-docked{opacity:0;visibility:hidden;pointer-events:none}}@media (height<=500px) and (orientation:landscape){.hero{padding:66px 20px 64px}.invite .hero__monogram{height:44px;top:12px}.hero__date{margin:6px 0 18px}}@media (width<=360px){.polaroid figcaption{font-size:18px}.paper__parents{gap:14px}.paper__parents ul{letter-spacing:0;font-size:11px}.countdown{gap:6px}.hero__date{gap:10px}.hero__date i{width:22px}.calendar__grid li{width:34px;height:34px}}@media (width>=768px){.story-section{padding:88px 40px 170px}.paper__parents ul{font-size:13px}.date-section,.story-interlude-section,.links-section{padding-top:130px;padding-bottom:140px}.calendar__grid li{width:46px;height:46px}.polaroid figcaption{font-size:28px}.guest-manual{padding-top:130px;padding-bottom:140px}.guest-manual__list{grid-template-columns:1fr 1fr;gap:38px 56px;max-width:820px}.guest-manual__item:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 28px)}.dock{bottom:24px}}@media (width>=768px) and (height>=501px){.music-toggle{bottom:24px;left:24px}}@media (prefers-reduced-motion:reduce){.invite *,.invite :before,.invite :after,.opening,.opening *{transition:none!important;animation:none!important}.invite .reveal,.invite__content,.invite .hero__monogram,.hero__copy>*{opacity:1!important;filter:none!important;transform:none!important}.opening--leaving{opacity:0}.opening__copy.is-ready{opacity:1}}
