:root{--invitation-night:#070b15;--invitation-ink:#161b24;--invitation-parchment:#e5d3ac;--invitation-parchment-light:#f5ead0;--invitation-gold:#d1a44f;--invitation-gold-light:#f4dea0;--invitation-magic:#70e9b1;--invitation-magic-blue:#72cde2;--invitation-wax:#8f3040;--invitation-serif:Georgia, "Times New Roman", serif}html,body{background:var(--invitation-night)}body{color:var(--invitation-parchment-light)}main,.invitation-experience{min-width:0;overflow:clip}html.invitation-gated:not(.invitation-open),html.invitation-gated:not(.invitation-open) body{overscroll-behavior:none;height:100%;overflow:hidden}.summoning{display:none}html.invitation-gated .summoning{z-index:100;isolation:isolate;background:radial-gradient(circle at 50% 47%, #26675b6b 0, transparent 30rem), radial-gradient(circle at 20% 10%, #2a42784d, transparent 24rem), linear-gradient(155deg, #111a2b 0%, var(--invitation-night) 48%, #05080f 100%);opacity:1;perspective:1200px;place-items:center;min-height:100svh;padding:clamp(1.5rem,6vh,4rem) 1rem;transition:opacity .3s;display:grid;position:fixed;inset:0;overflow:clip}html.invitation-gated.invitation-open .summoning{opacity:0;pointer-events:none}html.invitation-gated:not(.invitation-revealing,.invitation-open) .invitation{visibility:hidden;opacity:0;pointer-events:none;height:100svh;position:fixed;overflow:hidden}.summoning:before,.summoning:after{z-index:-1;aspect-ratio:1;content:"";border:1px solid #d1a44f24;border-radius:50%;width:min(114vw,48rem);position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.summoning:after{opacity:.48;border-style:dashed;width:min(88vw,35rem);rotate:28deg}.summoning__halo{z-index:-1;aspect-ratio:1;filter:blur(8px);background:radial-gradient(circle,#70e9b138 0,#70e9b10f 48%,#0000 70%);border-radius:50%;width:min(82vw,30rem);animation:4.8s ease-in-out infinite halo-breathe;position:absolute}.summoning__stars i{aspect-ratio:1;background:var(--invitation-gold-light);width:.22rem;box-shadow:0 0 .65rem var(--invitation-gold-light);border-radius:50%;animation:4s ease-in-out infinite alternate star-drift;position:absolute}.summoning__stars i:first-child{animation-delay:-1s;top:13%;left:11%}.summoning__stars i:nth-child(2){animation-delay:-2.4s;top:22%;right:14%}.summoning__stars i:nth-child(3){animation-delay:-3.1s;top:56%;left:7%}.summoning__stars i:nth-child(4){animation-delay:-.7s;bottom:18%;right:9%}.summoning__stars i:nth-child(5){animation-delay:-2s;top:8%;left:52%}.summoning__stars i:nth-child(6){animation-delay:-1.6s;bottom:7%;right:27%}.summoning__stars i:nth-child(7){animation-delay:-3.5s;bottom:12%;left:23%}.summoning__stars i:nth-child(8){animation-delay:-2.8s;top:39%;right:5%}.summoning__portal{z-index:20;clip-path:polygon(50% 45%,56% 51%,50% 58%,44% 51%);opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,#4ab29170,#0000 28rem),repeating-radial-gradient(circle at 50% 51%,#f4dea014 0 1px,#0000 1px 2.5rem),linear-gradient(150deg,#101b2a,#050711 72%);position:absolute;inset:-2px;overflow:hidden}.summoning__portal:before,.summoning__portal:after{aspect-ratio:1;content:"";border:1px solid #f4dea033;border-radius:50%;width:min(84vmin,38rem);position:absolute;inset:51% auto auto 50%;translate:-50% -50%;rotate:25deg}.summoning__portal:after{border-style:dashed;width:min(54vmin,24rem);rotate:-18deg}.summoning__portal-light{z-index:0;aspect-ratio:1;opacity:.5;background:#eafff5;border-radius:50%;width:8rem;position:absolute;inset:51% auto auto 50%;translate:-50% -50%;scale:.1;box-shadow:0 0 7rem 3rem #70e9b1ad}html.invitation-opening .summoning__portal{animation:1.32s cubic-bezier(.7,0,.3,1) .62s forwards enter-envelope}html.invitation-opening .summoning__portal-light{animation:1s ease-in .68s forwards portal-light}.summoning__portal-scene{z-index:1;opacity:0;transform-origin:50% 54%;position:absolute;inset:0;scale:.42}.summoning__portal-scene img{filter:drop-shadow(0 2rem 2rem #0009);width:auto;max-width:none;height:105svh;position:absolute;bottom:-8svh;left:50%;translate:-50%}html.invitation-opening .summoning__portal-scene{animation:1.28s cubic-bezier(.18,.75,.15,1) .65s forwards portal-scene}.envelope-scene{z-index:10;text-align:center;transform-origin:50% 52%;justify-items:center;gap:clamp(1.35rem,3.8vh,2.25rem);width:min(100%,25rem);transition:transform 1.35s cubic-bezier(.55,0,.35,1),opacity .3s 1.05s;display:grid;position:relative}.envelope-scene__title{color:var(--invitation-parchment-light);font:400 clamp(1.55rem, 7vw, 2.2rem)/1.15 var(--invitation-serif);letter-spacing:.015em;text-shadow:0 .2rem 1.8rem #000000a6;margin:0}.envelope{aspect-ratio:360/225;filter:drop-shadow(0 2.2rem 2.1rem #00000075);width:min(90vw,22.5rem);transform-style:preserve-3d;position:relative}.envelope__back,.envelope__letter,.envelope__flap,.envelope__pocket,.envelope__light,.envelope__depth,.envelope__seal{position:absolute}.envelope__back{background:linear-gradient(105deg, transparent 44%, #4b341a17 45%, transparent 48%), repeating-linear-gradient(7deg, #4a2d0f08 0 1px, transparent 1px 5px), var(--invitation-parchment);border:1px solid #806b48;border-radius:.35rem;inset:0}.envelope__depth{z-index:2;opacity:0;transform-origin:bottom;background:radial-gradient(at 50% 100%,#335a4c 0,#14251f 48%,#060a09 100%);width:84%;height:47%;transition:opacity .24s .28s,transform .62s cubic-bezier(.2,.7,.2,1) .25s;top:7%;left:8%;overflow:hidden;transform:scaleY(.15);box-shadow:inset 0 0 1.4rem #000}.envelope__depth img{object-fit:cover;object-position:50% 18%;opacity:0;width:100%;height:220%;transition:opacity .3s .34s,scale .72s cubic-bezier(.2,.7,.2,1) .31s,translate .72s cubic-bezier(.2,.7,.2,1) .31s;translate:0 18%;scale:.6}.envelope__letter{z-index:1;background:radial-gradient(circle at 50% 10%, #70e9b129, transparent 38%), repeating-linear-gradient(0deg, #3d291108 0 1px, transparent 1px 4px), var(--invitation-parchment-light);border:1px solid #a88951;place-content:center;gap:.8rem;width:86%;height:88%;transition:translate .72s cubic-bezier(.2,.7,.2,1) .25s,box-shadow .5s .25s;display:grid;top:.6rem;left:7%;box-shadow:0 0 2rem #70e9b100}.envelope__letter-rune{aspect-ratio:1;border:1px solid #9d783d;width:2.7rem;margin-inline:auto;rotate:45deg}.envelope__letter-rune:after{aspect-ratio:1;content:"";border:1px solid #9d783d;width:1.1rem;margin:.72rem;display:block}.envelope__letter-line{opacity:.5;background:#9d783d;width:8rem;height:1px}.envelope__letter-line--short{width:5rem;margin-inline:auto}.envelope__flap{z-index:4;transform-origin:50% 1%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.36,0,.22,1) .12s;inset:0}.envelope__flap svg,.envelope__pocket svg{width:100%;height:100%}.envelope__flap-edge,.envelope__pocket-fold{fill:none;stroke:#6d542e73;stroke-width:1.4px}.envelope__pocket{z-index:3;inset:0}.envelope__seal{z-index:5;filter:drop-shadow(0 .45rem .35rem #300a1173);width:clamp(3.5rem,18vw,4.6rem);transition:scale .22s,opacity .28s .12s,translate .42s .1s;top:52%;left:50%;translate:-50% -50%}.seal-rune{fill:none;stroke:#d8a36e;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px}.envelope__light{z-index:0;background:var(--invitation-magic);filter:blur(2.5rem);opacity:0;border-radius:50%;transition:opacity .5s .3s,scale .82s .28s;inset:18% 12%;scale:.65}.envelope__spark{z-index:6;aspect-ratio:1;width:.35rem;box-shadow:0 0 .7rem var(--invitation-magic);opacity:0;background:#d4ffe9;border-radius:50%;position:absolute;top:38%;left:50%}.open-invitation,.invitation-action{letter-spacing:.12em;text-transform:uppercase;border-radius:.18rem;justify-content:center;align-items:center;gap:.7rem;min-height:3.25rem;padding:.82rem 1.25rem;font-size:.78rem;font-weight:780;text-decoration:none;display:inline-flex}.open-invitation{border:1px solid var(--invitation-gold);color:var(--invitation-parchment-light);background:linear-gradient(#d1a44f1f,#d1a44f0a);transition:background-color .18s,color .18s,box-shadow .18s,translate .18s;box-shadow:inset 0 0 1.2rem #d1a44f14}.open-invitation svg,.invitation-action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.15rem}.open-invitation:hover{background:var(--invitation-gold);color:var(--invitation-ink);translate:0 -.1rem;box-shadow:0 0 2rem #d1a44f38}.open-invitation:focus-visible,.invitation-action:focus-visible{outline-color:var(--invitation-magic)}.open-invitation:disabled{cursor:default;opacity:.6}html.invitation-opening .envelope__seal{opacity:0;translate:-50% -72%;scale:1.18}html.invitation-opening .envelope__depth{opacity:1;transform:scaleY(1)}html.invitation-opening .envelope__depth img{opacity:.86;translate:0 2%;scale:1}html.invitation-opening .envelope__spark{animation:.78s ease-out .33s both spark-rise}html.invitation-opening .envelope__spark--two{animation-delay:.41s;rotate:76deg}html.invitation-opening .envelope__spark--three{animation-delay:.48s;rotate:168deg}html.invitation-opening .envelope__spark--four{animation-delay:.55s;rotate:252deg}.invitation{background:var(--invitation-night);opacity:1;position:relative}.couple-reveal{isolation:isolate;background:radial-gradient(circle at 72% 28%,#70e9b12e,#0000 26rem),radial-gradient(circle at 28% 40%,#265c5152,#0000 24rem),linear-gradient(145deg,#152335,#070b15 68%);min-height:100svh;display:grid;position:relative;overflow:hidden}.couple-reveal:before{z-index:-1;content:"";background-color:#0000;background-image:linear-gradient(#d1a44f0d 1px,#0000 1px),linear-gradient(90deg,#d1a44f0d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:4rem 4rem;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;mask-image:radial-gradient(circle at 50% 45%,#000,#0000 76%)}.couple-reveal__rays{z-index:-1;aspect-ratio:1;background:repeating-conic-gradient(from 0deg, #f4dea00d 0 7deg, transparent 7deg 18deg);border-radius:50%;width:45rem;max-width:150vw;position:absolute;top:18%;left:50%;translate:-50% -50%;mask-image:radial-gradient(circle,#000,#0000 68%)}.couple-reveal__art{align-self:end;width:100%;min-height:34rem}.couple-portrait{width:min(124vw,38rem);height:min(76svh,46rem);margin:0 auto 0 50%;position:relative;translate:-50%}.couple-portrait__halo{aspect-ratio:1;filter:blur(1.3rem);background:radial-gradient(circle,#b7ffdc61,#358a7521 48%,#0000 71%);border-radius:50%;width:76%;animation:5s ease-in-out infinite aura-breathe;position:absolute;top:39%;left:50%;translate:-50% -50%}.couple-portrait__orbit{aspect-ratio:1;border:1px solid #f4dea042;border-radius:50%;position:absolute;top:43%;left:50%;translate:-50% -50%}.couple-portrait__orbit--outer{border-style:dashed;width:78%;rotate:18deg}.couple-portrait__orbit--inner{width:61%;rotate:-11deg}.couple-portrait__mist{z-index:1;filter:blur(2.2rem);background:#52b38b2e;border-radius:50%;width:42%;height:38%;position:absolute;bottom:5%}.couple-portrait__mist--left{left:5%}.couple-portrait__mist--right{right:5%}.couple-portrait__image-wrap{z-index:2;opacity:1;transform-origin:50% 70%;place-items:end center;display:grid;position:absolute;inset:-2% 0 0;scale:1}.couple-portrait__image{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 1.8rem 1.7rem #00000094);width:auto;max-width:none;height:100%}.couple-portrait__frame{z-index:3;fill:none;stroke:url(#couple-gold);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.couple-portrait__frame path:nth-of-type(3){fill:var(--invitation-gold)}.couple-portrait__frame path:nth-of-type(4){fill:#315846;stroke-width:1.5px}.couple-portrait__spark{z-index:4;aspect-ratio:1;width:.38rem;box-shadow:0 0 .9rem .25rem var(--invitation-gold);background:#f8e8b4;border-radius:50%;animation:4s ease-in-out infinite alternate rune-float;position:absolute}.couple-portrait__spark--one{top:18%;left:8%}.couple-portrait__spark--two{animation-delay:-2s;top:32%;right:5%}.couple-reveal__copy{z-index:5;width:100%;padding:0 1.2rem max(3.3rem, env(safe-area-inset-bottom));text-align:center;background:linear-gradient(#0000,#070b15d6 34%,#070b15 80%);align-self:end;margin-top:-9rem;position:relative}.couple-reveal h1{color:#fff3d2;font:400 clamp(2.8rem, 13vw, 6.8rem)/.92 var(--invitation-serif);letter-spacing:-.055em;text-shadow:0 .4rem 2rem #000000d9;justify-content:center;align-items:baseline;gap:.38em;margin:0;display:flex}.couple-reveal h1:focus{outline:none}.couple-reveal__ampersand{color:var(--invitation-gold);font-size:.48em;font-style:italic}.event-date{color:var(--invitation-gold-light);letter-spacing:.13em;text-transform:uppercase;margin:1.2rem 0 0;font-size:clamp(.85rem,3vw,1rem);font-weight:750}.event-place{color:#d7d3ca;font:italic 1.05rem/1.5 var(--invitation-serif);margin:.45rem 0 0}.invitation-action--light{border:1px solid var(--invitation-gold);color:#fff3d2;background:#d1a44f14;margin-top:1.5rem;transition:background .18s,color .18s,translate .18s}.invitation-action--light:hover{background:var(--invitation-gold);color:var(--invitation-ink);translate:0 -.1rem}.location{isolation:isolate;min-height:100svh;color:var(--invitation-ink);text-align:center;background:radial-gradient(circle at 50% 20%,#70e9b121,#0000 26rem),repeating-linear-gradient(8deg,#4c311305 0 1px,#0000 1px 5px),linear-gradient(#eadcbe,#d8c39a);place-content:center;justify-items:center;padding:clamp(4.5rem,14vw,8rem) 1rem;display:grid;position:relative;overflow:hidden}.location:before{z-index:-1;aspect-ratio:1;content:"";border:1px solid #51391c2e;border-radius:50%;width:min(96vw,68rem);position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.location__heading{z-index:2;text-align:center;position:relative}.location h2,.attendance h2{font:400 clamp(2.8rem, 13vw, 6rem)/1 var(--invitation-serif);letter-spacing:-.045em;margin:0}.location h2{color:var(--invitation-ink)}.illustrated-map{aspect-ratio:720/520;background:repeating-linear-gradient(9deg,#4a311308 0 1px,#0000 1px 5px),#e9dab7;border:1px solid #47341aa8;border-radius:44% 48% 45% 43%/4% 5% 4% 6%;width:min(100vw - 2rem,64rem);margin:clamp(1.8rem,5vw,3rem) 0 0;position:relative;overflow:hidden;rotate:-.45deg;box-shadow:0 1.7rem 3rem #38250f38,inset 0 0 0 .5rem #f5e6c16b,inset 0 0 0 .62rem #51391c33}.illustrated-map__drawing{width:100%;height:100%;display:block}.map-water{fill:#2d716926;stroke:#2a645d5c;stroke-width:3px}.map-roads,.map-paths,.map-compass{fill:none;stroke-linecap:round;stroke-linejoin:round}.map-roads{stroke:#49371e6b;stroke-width:5px}.map-paths{stroke:#97682475;stroke-dasharray:4 12;stroke-width:3px}.map-groves{fill:#3158467a;stroke:#26443673;stroke-width:2px}.map-compass{stroke:#5c421d8a;stroke-width:2px}.map-compass path{fill:#a0732a2e}.map-marker__halo{fill:#70e9b12e;stroke:#2a715a61;stroke-width:2px}.map-marker path{fill:#263d33;stroke:#d4a94e;stroke-width:3px}.map-marker>circle:last-child{fill:#e7d49c}.illustrated-map__label{color:#2b302f;text-align:center;background:#efe0bdeb;border:1px solid #4d371d61;min-width:8.5rem;padding:.55rem .85rem .65rem;display:grid;position:absolute;top:61%;left:50%;translate:-50%;box-shadow:0 .65rem 1.4rem #311f0a2e}.illustrated-map__label strong{font:400 clamp(1.25rem, 5vw, 2rem)/1 var(--invitation-serif)}.illustrated-map__label span{color:#5a4a32;letter-spacing:.17em;text-transform:uppercase;margin-top:.28rem;font-size:.65rem;font-weight:760}.invitation-action--dark{color:#30291e;background:#2b251a0d;border:1px solid #5a4321;margin-top:2rem;transition:background .18s,color .18s,translate .18s}.invitation-action--dark:hover{color:var(--invitation-parchment-light);background:#30291e;translate:0 -.1rem}.attendance{text-align:center;background:radial-gradient(circle,#43766633,#0000 24rem),#070b15;place-content:center;justify-items:center;min-height:55svh;padding:5rem 1.25rem;display:grid;position:relative}.attendance__line{background:linear-gradient(90deg, transparent, var(--invitation-gold), transparent);width:7rem;height:1px;margin-bottom:2.2rem}.attendance h2{color:#fff1ce;max-width:12ch}.attendance p{color:var(--invitation-magic);letter-spacing:.16em;text-transform:uppercase;margin:1.5rem 0 0;font-size:.76rem;font-weight:760}@keyframes halo-breathe{50%{opacity:.68;scale:1.08}}@keyframes star-drift{to{opacity:.35;translate:0 -.65rem}}@keyframes spark-rise{0%{opacity:0;translate:0}20%{opacity:1}to{opacity:0;translate:5rem -8rem}}@keyframes enter-envelope{0%{clip-path:polygon(50% 45%,56% 51%,50% 58%,44% 51%);opacity:0}8%{opacity:1}to{clip-path:polygon(-25% -25%,125% -25%,125% 125%,-25% 125%);opacity:1}}@keyframes portal-light{0%{opacity:.15;scale:.08}58%{opacity:.85}to{opacity:.12;scale:8}}@keyframes portal-scene{0%{opacity:0;scale:.42}18%{opacity:.88}to{opacity:1;scale:1.08}}@keyframes aura-breathe{50%{opacity:.72;scale:1.06}}@keyframes rune-float{to{opacity:.35;translate:0 -.7rem}}@media (width>=48rem){.summoning__stars i:first-child{left:20%}.summoning__stars i:nth-child(2){right:22%}.summoning__stars i:nth-child(3){left:17%}.summoning__stars i:nth-child(4){right:18%}.couple-reveal{place-items:end center;padding-inline:0}.couple-reveal__art{grid-area:1/1;min-height:100svh}.couple-portrait{width:min(80vw,66rem);height:min(96svh,58rem)}.couple-reveal__copy{text-align:center;background:linear-gradient(#0000,#070b15db 42%,#070b15 92%);grid-area:1/1;align-self:end;width:min(100%,70rem);margin:0;padding:8rem 2rem 3.5rem}.couple-reveal h1{justify-content:center;gap:.38em;display:flex}.event-date{margin-top:2rem}.location{padding-inline:max(2rem,50vw - 36rem)}}@media (width<=23rem){html.invitation-gated .summoning{padding-inline:.7rem}.envelope-scene{gap:1rem}.couple-reveal__copy{padding-inline:.8rem}.couple-reveal h1{font-size:2.5rem}}@media (prefers-reduced-motion:reduce){.summoning__halo,.summoning__stars i,.couple-portrait__halo,.couple-portrait__spark{animation:none}.summoning__stars,.summoning__portal,.envelope__spark,.couple-portrait__spark{display:none}.envelope-scene,.envelope__flap,.envelope__letter,.envelope__depth,.envelope__depth img,.envelope__light,.envelope__seal,.couple-portrait__image-wrap{transition:none}html.invitation-opening .envelope-scene{opacity:1;transform:none}html.invitation-opening .envelope__flap{transform:none}}@media (width>=48rem){.envelope-scene{width:min(100%,22rem)}.envelope{width:min(31vw,19.5rem)}.couple-reveal{padding-top:0;display:block}.couple-reveal__art{width:min(100%,72rem);height:min(72svh,43rem);min-height:35rem;margin-inline:auto;padding:0}.couple-portrait{border-radius:0;width:100%;height:100%}.couple-portrait__image{object-position:center top;width:min(78vw,64rem);top:-.75rem;scale:1}.couple-reveal__copy{width:min(100%,52rem);max-width:none;margin-top:-2.4rem;padding:1.9rem 2rem 4.25rem}.couple-reveal h1{font-size:clamp(4.5rem,7.2vw,6.5rem)}}@media (width<=23rem){.envelope{width:min(78vw,17rem)}.couple-reveal__art{height:clamp(27rem,61svh,31rem);padding:0}.couple-reveal__copy{width:100%;padding-inline:.8rem}.couple-reveal h1{font-size:2.7rem}}@media (prefers-reduced-motion:reduce){.envelope-scene,.envelope__flap,.envelope__letter,.envelope__depth,.envelope__light,.envelope__seal,.couple-reveal,.couple-portrait__image-wrap,html.invitation-gated .summoning{transition:none}}:root{--invitation-night:#081019;--invitation-ink:#171a1d;--invitation-parchment:#ded0b3;--invitation-parchment-light:#f1e8d5;--invitation-gold:#b89657;--invitation-gold-light:#d7c08d;--invitation-magic:#78b09a;--invitation-wax:#79313c;--invitation-display:"Bodoni MT", Didot, "Iowan Old Style", Constantia, serif;--invitation-serif:Constantia, "Palatino Linotype", Palatino, Georgia, serif;--invitation-sans:"Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif}.envelope-scene__title{color:#eee4d1;max-width:13ch;font-family:var(--invitation-serif);letter-spacing:0;text-shadow:none;font-size:clamp(1.42rem,6vw,1.8rem);font-style:italic;font-weight:400;line-height:1.18}.open-invitation{box-shadow:none;color:#e9dfcb;background:0 0;border-color:#b896579e;border-radius:0}.open-invitation:hover{color:#171a1d;box-shadow:none;background:#ded0b3}.couple-reveal{background:linear-gradient(#101b24 0%,#081019 62%,#070c13 100%);padding-top:0}.couple-reveal__art{height:clamp(29rem,63svh,34rem);padding:0}.couple-portrait{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:hidden}.couple-portrait__image-wrap{inset:-.6rem 0 0}.couple-portrait__image{object-fit:contain;object-position:center top;filter:none;width:112%;height:auto;position:absolute;top:0;left:50%;translate:-50%;scale:1}.couple-reveal h1{color:#eee3cd;font-family:var(--invitation-display);letter-spacing:-.045em;gap:.22em;font-size:clamp(3rem,13vw,4.3rem);font-weight:400;line-height:.92}.couple-reveal__ampersand{color:#b89657;font-family:var(--invitation-serif);font-size:.36em;font-style:italic}.event-date{color:#cdbb98;font-family:var(--invitation-sans);letter-spacing:.17em;margin-top:1.35rem;font-size:.7rem;font-weight:600}.event-place{color:#c8c2b6;font-family:var(--invitation-serif);margin-top:.55rem;font-size:.95rem;font-style:italic;line-height:1.45}.invitation-action--light{min-height:3rem;box-shadow:none;color:#dfcfac;background:0 0;border-color:#b89657a8;border-radius:0;margin-top:1.65rem}@media (width>=48rem){.envelope-scene{width:min(100%,22rem)}.envelope{width:min(31vw,19.5rem)}.couple-reveal{padding-top:0}.couple-reveal__art{width:min(100%,72rem);height:min(72svh,43rem);min-height:35rem}.couple-portrait__image{width:min(78vw,64rem);top:-.75rem}.couple-reveal__copy{width:min(100%,52rem);max-width:none;margin-top:-2.4rem;padding:1.9rem 2rem 4.25rem}.couple-reveal h1{font-size:clamp(4.5rem,7.2vw,6.5rem)}}@media (width<=23rem){.envelope{width:min(78vw,17rem)}.couple-reveal__art{height:clamp(27rem,61svh,31rem)}.couple-reveal h1{font-size:2.7rem}}@media (prefers-reduced-motion:reduce){.envelope-scene,.envelope__flap,.envelope__letter,.envelope__depth,.envelope__light,.envelope__seal,.couple-reveal,.couple-portrait__image-wrap,html.invitation-gated .summoning{transition:none}}html.invitation-gated .summoning{background:radial-gradient(at 50% 48%,#30715e38,#0000 25rem),linear-gradient(155deg,#101827 0%,#080d17 56%,#05080e 100%);padding:clamp(2rem,7svh,4.5rem) 1.25rem;transition:opacity .42s,visibility .42s step-end}html.invitation-revealing .summoning,html.invitation-open .summoning{visibility:hidden;opacity:0;pointer-events:none}.summoning:before{border-color:#d1a44f17;width:min(80vw,31rem)}.summoning:after,.summoning__portal,.summoning__stars,.envelope__spark{display:none}.summoning__halo{filter:blur(14px);opacity:.72;background:radial-gradient(circle,#70e9b124,#0000 68%);width:min(68vw,24rem);animation:none}.envelope-scene{gap:clamp(1.5rem,4svh,2.35rem);width:min(100%,22rem);transition:opacity .3s .78s,transform .85s cubic-bezier(.22,.7,.2,1)}html.invitation-opening .envelope-scene{opacity:0;transform:translateY(-.75rem)scale(.98)}.envelope-scene__title{color:#f6e9ca;letter-spacing:.025em;text-wrap:balance;max-width:15ch;font-size:clamp(1.5rem,6.5vw,2rem)}.envelope{filter:drop-shadow(0 1.5rem 1.5rem #00000061);width:min(78vw,20rem)}.envelope__depth{background:radial-gradient(at 50% 105%,#7de8b88a,#0000 47%),linear-gradient(#101c1b,#294b3f 65%,#0d1513);width:86%;height:49%;top:6%;left:7%;overflow:hidden;box-shadow:inset 0 0 1.5rem #0000009e}.envelope__depth img{display:none}.envelope__letter{background:radial-gradient(circle at 50% 2%,#70e9b121,#0000 42%),repeating-linear-gradient(0deg,#3d291105 0 1px,#0000 1px 5px),#f3e8cf;border-color:#ad915f;gap:.65rem;width:84%;height:82%;transition:translate .65s cubic-bezier(.2,.7,.2,1) .26s,box-shadow .45s .26s;top:.75rem;left:8%}.envelope__letter-rune{width:2.25rem}.envelope__letter-rune:after{width:.85rem;margin:.6rem}.envelope__letter-line{width:6.5rem}.envelope__flap path:first-child{fill:#dfcfad;stroke-width:1.5px}.envelope__pocket path:first-child{fill:#e7d8b8;stroke-width:1.5px}.envelope__seal{filter:drop-shadow(0 .3rem .3rem #300a1161);width:clamp(3rem,14vw,3.8rem);transition:transform .26s,opacity .22s .13s}.envelope__light{filter:blur(2.2rem);transition:opacity .45s .3s,scale .7s .26s;inset:20% 18%}html.invitation-opening .envelope__seal{opacity:0;transform:translateY(-.45rem)rotate(-7deg)}html.invitation-opening .envelope__letter{translate:0 -29%;box-shadow:0 0 2.4rem #70e9b147}.open-invitation{background:#090e178a;border-color:#d1a44fc2;border-radius:999px;min-height:3.15rem;padding-inline:1.35rem;box-shadow:0 .7rem 1.6rem #0000002e}.open-invitation:disabled{opacity:.72}.couple-reveal{background:radial-gradient(circle at 50% 24%,#418b6f33,#0000 28rem),linear-gradient(#132130 0%,#080d17 68%,#070b15 100%);min-height:auto;padding:.75rem 0 0;display:block}.couple-reveal:before,.couple-reveal__rays{display:none}html.invitation-gated .couple-reveal{opacity:0;translate:0 .8rem}html.invitation-revealing .couple-reveal,html.invitation-open .couple-reveal{opacity:1;transition:opacity .5s,translate .65s cubic-bezier(.22,.7,.2,1);translate:0}.couple-reveal__art{width:100%;height:clamp(29rem,64svh,38rem);min-height:0;padding-inline:.75rem}.couple-portrait{background:radial-gradient(circle at 50% 35%,#54b58f42,#0000 42%),linear-gradient(155deg,#172a35,#091019 74%);border:1px solid #d1a44f57;border-radius:10rem 10rem 1rem 1rem;width:100%;height:100%;margin:0;position:relative;overflow:hidden;translate:0;box-shadow:0 1.5rem 3rem #00000057}.couple-portrait:before{z-index:3;border-radius:inherit;content:"";pointer-events:none;border:1px solid #f4dea02b;position:absolute;inset:.45rem}.couple-portrait__image-wrap{z-index:1;opacity:1;transform-origin:50% 35%;display:block;position:absolute;inset:0;scale:1}.couple-portrait__image{object-fit:cover;object-position:50% 18%;filter:drop-shadow(0 1.2rem 1.2rem #00000057);width:100%;max-width:none;height:100%;scale:1.08}.couple-portrait__veil{z-index:2;pointer-events:none;background:linear-gradient(#0000 54%,#070b152e 76%,#070b15ad 100%);position:absolute;inset:0}html.invitation-gated .couple-portrait__image-wrap{opacity:0;scale:.985}html.invitation-revealing .couple-portrait__image-wrap,html.invitation-open .couple-portrait__image-wrap{opacity:1;transition:opacity .52s,scale .72s cubic-bezier(.22,.7,.2,1);scale:1}.couple-reveal__copy{z-index:5;width:calc(100% - 2rem);max-width:36rem;padding:3rem 1.2rem max(3rem, env(safe-area-inset-bottom));text-align:center;background:linear-gradient(#0c141df5,#070b15 72%);border:1px solid #d1a44f3d;border-bottom:0;border-radius:1rem 1rem 0 0;margin:-2.25rem auto 0;position:relative;box-shadow:0 -1.2rem 2.5rem #00000047}.couple-reveal h1{color:#fff0ca;text-shadow:none;gap:.3em;font-size:clamp(2.65rem,12.5vw,4.4rem);line-height:.96}.event-date{letter-spacing:.14em;margin-top:1.15rem;font-size:.78rem}.event-place{color:#d9d3c5;margin-top:.55rem;font-size:1rem}.invitation-action--light{color:#18150f;background:linear-gradient(#e2bc6c,#c99b47);border-color:#d1a44fb8;border-radius:999px;min-height:3.15rem;margin-top:1.45rem;box-shadow:0 .75rem 1.8rem #0000003d,inset 0 1px #ffffff52}.invitation-action--light:hover{color:#18150f;background:#f0d28f}@media (width>=48rem){.envelope-scene{width:min(100%,24rem)}.envelope{width:min(36vw,21rem)}.couple-reveal{padding-top:1.5rem;display:block}.couple-reveal__art{width:min(100% - 3rem,76rem);height:min(70svh,48rem);min-height:36rem;margin-inline:auto;padding:0}.couple-portrait{border-radius:22rem 22rem 1.25rem 1.25rem;width:100%;height:100%}.couple-portrait__image{object-position:50% 0;scale:1}.couple-reveal__copy{width:min(100% - 6rem,48rem);max-width:none;margin-top:-3.5rem;padding:3.4rem 2rem 4rem}.couple-reveal h1{font-size:clamp(4rem,7vw,6.3rem)}.event-date{margin-top:1.5rem}}@media (width<=23rem){.couple-reveal__art{height:clamp(27rem,62svh,33rem);padding-inline:.55rem}.couple-reveal__copy{width:calc(100% - 1.2rem);padding-inline:.8rem}.couple-reveal h1{font-size:2.45rem}}@media (prefers-reduced-motion:reduce){.summoning__halo,.summoning:before{animation:none}.envelope-scene,.envelope__flap,.envelope__letter,.envelope__depth,.envelope__light,.envelope__seal,.couple-reveal,.couple-portrait__image-wrap,html.invitation-gated .summoning{transition:none}html.invitation-opening .envelope-scene{opacity:1;transform:none}html.invitation-opening .envelope__flap{transform:none}}:root{--invitation-night:#081019;--invitation-parchment:#ded0b3;--invitation-parchment-light:#f1e8d5;--invitation-gold:#b89657;--invitation-gold-light:#d7c08d;--invitation-magic:#78b09a;--invitation-wax:#79313c;--invitation-display:"Bodoni MT", Didot, "Iowan Old Style", Constantia, serif;--invitation-serif:Georgia, "Times New Roman", serif;--invitation-editorial-serif:Constantia, "Palatino Linotype", Palatino, Georgia, serif;--invitation-sans:"Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif}html.invitation-gated .summoning{background:radial-gradient(at 50% 51%,#597e6f1a,#0000 24rem),#081019}.summoning:before,.summoning:after,.summoning__halo{display:none}.envelope-scene{gap:clamp(1.65rem,4.2svh,2.3rem);width:min(100%,20rem)}.envelope-scene__title{color:#eee4d1;max-width:13ch;font:italic 400 clamp(1.42rem, 6vw, 1.8rem)/1.18 var(--invitation-editorial-serif);letter-spacing:0;text-shadow:none}.envelope{aspect-ratio:1.6;filter:drop-shadow(0 .8rem .9rem #00000038);width:min(74vw,18rem)}.envelope__back{background:repeating-linear-gradient(4deg,#4e412c05 0 1px,#0000 1px 7px),#ded1b5;border-color:#8f846d;border-radius:.12rem}.envelope__depth{background:#172720;width:88%;height:44%;top:5%;left:6%;box-shadow:inset 0 .45rem .8rem #00000047}.envelope__letter{background:repeating-linear-gradient(0deg,#53452e05 0 1px,#0000 1px 6px),#eee4cf;border-color:#a69a82;gap:.58rem;width:86%;height:84%;top:.55rem;left:7%}.envelope__letter-rune{opacity:.72;border-color:#998668;width:1.75rem}.envelope__letter-rune:after{border-color:#998668;width:.62rem;margin:.48rem}.envelope__letter-line{opacity:.4;background:#998668;width:5.2rem}.envelope__letter-line--short{width:3.2rem}.envelope__flap path:first-child{fill:#d9cbae;stroke:#8f846d;stroke-width:1.2px}.envelope__pocket path:first-child{fill:#e2d5b9;stroke:#8f846d;stroke-width:1.2px}.envelope__flap-edge,.envelope__pocket-fold{stroke:#6c604b6e;stroke-width:1px}.envelope__seal{filter:none;width:clamp(2.65rem,12vw,3.1rem);top:48%}.seal-wax{fill:#783541;stroke:#632a34;stroke-width:1.25px}.seal-ring{fill:none;stroke:#e0b58875;stroke-width:1px}.seal-rune{stroke:#d3af7d;stroke-width:1.65px}.envelope__light{filter:blur(2.5rem);background:#8cb8a2;inset:22% 23%}.envelope__flap{transition:transform .54s cubic-bezier(.4,0,.2,1) .12s}.envelope-scene__title,.open-invitation{transition:opacity .18s,border-color .18s,background-color .18s,color .18s}html.invitation-opening .envelope-scene__title,html.invitation-opening .open-invitation{opacity:0}html.invitation-opening .envelope__flap{transform:scaleY(-1)}html.invitation-opening .envelope__letter{box-shadow:none}html.invitation-opening .envelope__light{opacity:.34;scale:1.08}.open-invitation,.invitation-action{min-height:3rem;font-family:var(--invitation-sans);letter-spacing:.16em;padding:.76rem 1.15rem;font-size:.69rem;font-weight:600}.open-invitation,.invitation-action--light{box-shadow:none;background:0 0;border-color:#b89657a3;border-radius:0}.open-invitation{color:#e9dfcb}.invitation-action--light{color:#dfcfac;min-height:3rem;margin-top:1.65rem}.open-invitation:hover,.invitation-action--light:hover{color:#171a1d;box-shadow:none;background:#ded0b3}.couple-reveal{background:linear-gradient(#101b24 0%,#081019 62%,#070c13 100%);min-height:auto;padding-top:0;display:block}.couple-reveal__art{width:100%;height:clamp(29rem,63svh,34rem);min-height:0;padding:0}.couple-portrait{width:100%;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;overflow:hidden;translate:0}.couple-portrait:before{display:none}.couple-portrait__image-wrap{display:block;inset:-.6rem 0 0}.couple-portrait__image{object-fit:contain;object-position:center top;filter:none;width:112%;max-width:none;height:auto;position:absolute;top:0;left:50%;translate:-50%;scale:1}.couple-portrait__veil{background:linear-gradient(#0000 72%,#08101961 88%,#081019 100%)}.couple-reveal__copy{width:100%;max-width:34rem;padding:1.5rem 1.35rem max(3.75rem, env(safe-area-inset-bottom));box-shadow:none;background:#081019;border:0;border-radius:0;margin:-1.15rem auto 0}.couple-reveal__copy:before{content:"";background:#b89657ad;width:2.5rem;height:1px;margin:0 auto 1.45rem;display:block}.couple-reveal h1{color:#eee3cd;font:400 clamp(3rem, 13vw, 4.3rem)/.92 var(--invitation-display);letter-spacing:-.045em;text-shadow:none;gap:.22em}.couple-reveal__ampersand{color:#b89657;font:italic 400 .36em/1 var(--invitation-editorial-serif)}.event-date{color:#cdbb98;font:600 .7rem/1.3 var(--invitation-sans);letter-spacing:.17em;margin-top:1.35rem}.event-place{color:#c8c2b6;font:italic 400 .95rem/1.45 var(--invitation-editorial-serif);margin-top:.55rem}@media (width>=48rem){.envelope-scene{width:min(100%,22rem)}.envelope{width:min(31vw,19.5rem)}.couple-reveal{padding-top:0;display:block}.couple-reveal__art{width:min(100%,72rem);height:min(72svh,43rem);min-height:35rem;margin-inline:auto;padding:0}.couple-portrait{border-radius:0;width:100%;height:100%}.couple-portrait__image{object-position:center top;width:min(78vw,64rem);top:-.75rem;scale:1}.couple-reveal__copy{width:min(100%,52rem);max-width:none;margin-top:-2.4rem;padding:1.9rem 2rem 4.25rem}.couple-reveal h1{font-size:clamp(4.5rem,7.2vw,6.5rem)}}@media (width<=23rem){.envelope{width:min(78vw,17rem)}.couple-reveal__art{height:clamp(27rem,61svh,31rem);padding:0}.couple-reveal__copy{width:100%;padding-inline:.8rem}.couple-reveal h1{font-size:2.7rem}}@media (prefers-reduced-motion:reduce){.envelope-scene,.envelope__flap,.envelope__letter,.envelope__depth,.envelope__light,.envelope__seal,.couple-reveal,.couple-portrait__image-wrap,html.invitation-gated .summoning{transition:none}html.invitation-opening .envelope__flap{transform:none}}
