:root{--forest-950:#0d1712;--forest-900:#14251d;--forest-850:#192d24;--forest-800:#20352b;--forest-700:#2e473a;--gold-500:#c6a958;--gold-300:#e3d18f;--ivory-100:#f5f1e8;--ivory-50:#fbf8f1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}html{background:var(--ivory-100)}body{background:var(--ivory-100);color:var(--forest-900);text-rendering:optimizelegibility;margin:0;font-family:Georgia,Times New Roman,serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.invitation-experience{--envelope-width:min(86vw, 620px, calc(66dvh * 1.397));--envelope-height:calc(var(--envelope-width) / 1.397);--card-width:min(92vw, 940px, calc((100dvh - 10.5rem) * 1.409));--card-start-scale:.62;isolation:isolate;background:radial-gradient(circle at 50% 42%, #fffffff2 0 13%, transparent 48%), radial-gradient(circle at 16% 12%, #c6a9581f, transparent 28%), radial-gradient(circle at 86% 84%, #1e382c1a, transparent 32%), linear-gradient(145deg, var(--ivory-50), #eee8dc);width:100vw;height:100dvh;min-height:320px;position:relative;overflow:hidden}.fine-grain{z-index:-1;pointer-events:none;opacity:.38;mix-blend-mode:multiply;background-image:repeating-linear-gradient(117deg,#2b352e07 0 1px,#0000 1px 5px),repeating-linear-gradient(24deg,#ffffff42 0 1px,#0000 1px 7px);position:absolute;inset:0}.ambient-light{z-index:-1;aspect-ratio:1;pointer-events:none;border:1px solid #c6a95826;border-radius:50%;width:28rem;position:absolute}.ambient-light:after{content:"";border-radius:inherit;border:1px solid #c6a95814;position:absolute;inset:1.2rem}.ambient-light-one{top:-19rem;right:-10rem}.ambient-light-two{bottom:-21rem;left:-9rem}.event-signature{top:max(1.1rem, env(safe-area-inset-top));z-index:20;color:var(--forest-800);grid-template-columns:auto 2.6rem auto;align-items:center;gap:.55rem;transition:opacity .5s,transform .5s;display:grid;position:absolute;left:50%;transform:translate(-50%)}.event-signature span{font-size:1.05rem;font-style:italic}.event-signature i{background:linear-gradient(90deg, transparent, var(--gold-500), transparent);height:1px;display:block}.event-signature small{color:#6f6b5f;letter-spacing:.28em;text-align:center;grid-column:1/-1;margin-top:-.2rem;font-family:Arial,Helvetica,sans-serif;font-size:.58rem}.invitation-stage{perspective:1600px;transform-style:preserve-3d;position:absolute;inset:0}.envelope-shadow,.envelope-rear,.envelope-front{width:var(--envelope-width);height:var(--envelope-height);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope-shadow{z-index:0;filter:blur(23px);background:#0a140f4d;border-radius:8px;transition:opacity .7s,transform .9s,filter .9s;transform:translate(-47%,-46%)rotate(1deg)scale(.98)}.envelope-rear{--paper-tone:#414740;z-index:1;background-color:var(--paper-tone);background-blend-mode:soft-light, multiply, normal, normal;background-image:radial-gradient(circle at 18% 27%,#ffffff1a 0 .45px,#0000 .8px),radial-gradient(circle at 74% 63%,#080f0b24 0 .5px,#0000 .9px),repeating-linear-gradient(112deg,#ffffff06 0 .55px,#0000 .55px 3.8px),linear-gradient(145deg,#ffffff0e,#0000000b);background-position:0 0,3px 2px,0 0,0 0;background-size:6px 6px,9px 8px,7px 5px,100% 100%;border:1px solid #2125203d;border-radius:2px;transition:opacity .7s,transform .9s,filter .9s;overflow:hidden;box-shadow:inset 0 0 3rem #07110c2e,inset 0 1px #ffffff0d,0 1.6rem 3.7rem #13221a38}.paper-glow{border:1px solid #ffffff09;border-radius:3px;position:absolute;inset:1px}.invitation-card{z-index:2;width:var(--card-width);aspect-ratio:1280/908;opacity:0;pointer-events:none;transform:translate(-50%, -50%) rotate(0deg) scale(var(--card-start-scale));transform-origin:50%;will-change:transform, opacity;margin:0;position:absolute;top:48%;left:50%}.card-edge{background:#fffdf8;border:clamp(4px,.7vw,8px) solid #fffdf8;border-radius:4px;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 1.5rem 4rem #0f1b153d,0 0 0 1px #a78c4238}.invitation-card img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.envelope-front{z-index:3;transform-style:preserve-3d;transition:opacity .7s,transform .9s,filter .9s}.front-panel{--paper-tone:#414740;--panel-light:linear-gradient(145deg, #ffffff0b, #00000009);background-color:var(--paper-tone);background-image:var(--panel-light), radial-gradient(circle at 22% 31%, #ffffff17 0 .45px, transparent .8px), radial-gradient(circle at 68% 72%, #070e0a21 0 .5px, transparent .9px), repeating-linear-gradient(111deg, #ffffff05 0 .55px, transparent .55px 3.6px);background-blend-mode:normal, soft-light, multiply, normal;filter:drop-shadow(0 0 1.2px #30342d);background-position:0 0,0 0,4px 3px,0 0;background-size:100% 100%,6px 6px,9px 8px,7px 5px;position:absolute;inset:0}.front-panel-left{--paper-tone:#434a43;--panel-light:linear-gradient(130deg, #ffffff12, #00000006 68%);clip-path:polygon(0 8.5%,50% 70.3%,0 100%)}.front-panel-top{--paper-tone:#40463f;--panel-light:linear-gradient(230deg, #ffffff09, #0000000b 72%);clip-path:polygon(100% 8.5%,100% 100%,50% 70.3%)}.front-panel-bottom{--paper-tone:#414740;--panel-light:linear-gradient(180deg, #ffffff0a, #0000000d);clip-path:polygon(0 100%,50% 70.3%,100% 100%)}.right-flap{z-index:4;pointer-events:none;transform-origin:50% 1px;transform-style:preserve-3d;will-change:transform;position:absolute;inset:0;transform:rotateX(0)}.flap-face{clip-path:polygon(0 0,100% 0,100% 8.5%,50% 70.3%,0 8.5%);backface-visibility:hidden;position:absolute;inset:0}.flap-front{background-blend-mode:soft-light, multiply, normal, normal;filter:drop-shadow(0 1.5px #30342d);background-color:#414740;background-image:radial-gradient(circle at 20% 28%,#ffffff1a 0 .45px,#0000 .8px),radial-gradient(circle at 76% 66%,#070e0a24 0 .5px,#0000 .9px),repeating-linear-gradient(112deg,#ffffff06 0 .55px,#0000 .55px 3.7px),linear-gradient(160deg,#ffffff0e,#0000000b);background-position:0 0,3px 2px,0 0,0 0;background-size:6px 6px,9px 8px,7px 5px,100% 100%}.flap-front:before,.flap-front:after{content:"";background:#33372f;border-radius:999px;width:66.6%;height:2px;position:absolute;top:8.5%}.flap-front:before{transform-origin:0 0;left:0;transform:rotate(41.4deg)}.flap-front:after{transform-origin:100% 0;right:0;transform:rotate(-41.4deg)}.flap-back{background-blend-mode:soft-light, multiply, normal, normal;background-color:#455249;background-image:radial-gradient(circle at 26% 36%,#ffffff1c 0 .45px,#0000 .8px),radial-gradient(circle at 72% 68%,#060d0921 0 .5px,#0000 .9px),repeating-linear-gradient(106deg,#ffffff06 0 .55px,#0000 .55px 3.6px),linear-gradient(#ffffff17,#0000000e);background-position:0 0,3px 2px,0 0,0 0;background-size:6px 6px,9px 8px,7px 5px,100% 100%;transform:rotateX(180deg);box-shadow:inset 0 -12px 22px #08120d2e}.open-trigger{z-index:8;aspect-ratio:1;width:clamp(116px,30.5%,190px);color:inherit;cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:50%;padding:0;transition:opacity .28s,transform .28s;position:absolute;top:63.2%;left:50%;transform:translate(-50%,-50%)}.open-trigger:before{content:"";opacity:0;border:1px solid #d9c17729;border-radius:50%;animation:2.4s ease-out infinite touchHalo;position:absolute;inset:8%;transform:scale(.68)}.gold-mark{opacity:1;filter:drop-shadow(0 1px #6b470d)drop-shadow(0 -1px #ffefa9b8)drop-shadow(0 4px 3px #1e190c57);transition:transform .25s,filter .25s;position:absolute;inset:30% 4%}.gold-mark:before,.gold-mark:after{content:"";position:absolute;inset:0}.gold-mark:before{clip-path:polygon(0 0,18% 0,50% 68%,82% 0,100% 0,50% 100%);background:repeating-linear-gradient(90deg,#ffffff1c 0 1px,#5c3a0812 1px 2px,#0000 2px 4px),linear-gradient(105deg,#79500f 0%,#c69227 10%,#ffe9a0 20%,#b87914 31%,#f5d468 45%,#8d5d10 57%,#edbd43 69%,#fff1ac 82%,#b77a1b 100%)}.gold-mark:after{clip-path:polygon(0 0,18% 0,50% 68%,82% 0,100% 0,50% 100%);mix-blend-mode:screen;opacity:.78;background:linear-gradient(112deg,#0000 0 18%,#ffffffb3 27%,#0000 37% 58%,#ffe8937a 68%,#0000 79%)}.gold-line{display:none}.open-trigger:hover .gold-mark,.open-trigger:focus-visible .gold-mark{filter:drop-shadow(0 1px #6b470d)drop-shadow(0 -1px #ffefa9cc)drop-shadow(0 4px 3px #1e190c57)drop-shadow(0 0 9px #efca528c);transform:scale(1.04)}.open-trigger:focus-visible,.rsvp-button:focus-visible,.replay-button:focus-visible{outline:2px solid var(--gold-500);outline-offset:5px}.open-prompt{bottom:max(1.65rem, env(safe-area-inset-bottom));z-index:20;color:#4f5e55;opacity:1;white-space:nowrap;align-items:center;gap:.6rem;font-family:Arial,Helvetica,sans-serif;transition:opacity .35s,transform .35s;display:flex;position:absolute;left:50%;transform:translate(-50%)}.open-prompt p{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.7rem}.prompt-spark{background:var(--gold-500);border-radius:50%;width:5px;height:5px;animation:2s ease-out infinite promptPulse;box-shadow:0 0 #c6a95873}.invitation-actions{bottom:max(1rem, env(safe-area-inset-bottom));z-index:30;opacity:0;pointer-events:none;align-items:center;gap:.85rem;transition:opacity .45s,transform .45s;display:flex;position:absolute;left:50%;transform:translate(-50%,1rem)}.rsvp-button,.replay-button{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.7rem;min-height:44px;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-flex}.rsvp-button{color:#fffdf8;background:var(--forest-900);border:1px solid #293f34;padding:.9rem 1.45rem;box-shadow:0 10px 24px #12241b33}.rsvp-button span{color:var(--gold-300);font-size:.95rem}.replay-button{color:var(--forest-800);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf8a6;border:1px solid #1f352b3d;padding:.85rem 1rem}.replay-button:hover,.rsvp-button:hover{transform:translateY(-2px)}.is-opening .right-flap{animation:1.4s cubic-bezier(.45,.03,.14,1) .36s forwards flapOpen}.is-opening .open-trigger{pointer-events:none;animation:.32s .18s forwards sealRelease}.is-open .open-trigger{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(.82)}.is-opening .paper-glow{animation:1.25s .61s forwards interiorReveal}.is-opening .invitation-card{animation:3.4s cubic-bezier(.52,.04,.18,1) forwards cardReveal}.is-opening .envelope-rear,.is-opening .envelope-front,.is-opening .envelope-shadow{animation:3.4s forwards envelopeRecede}.is-opening .event-signature,.is-open .event-signature{opacity:.42;transform:translate(-50%,-.3rem)}.is-opening .open-prompt,.is-open .open-prompt{opacity:0;pointer-events:none;transform:translate(-50%,.5rem)}.card-is-front .invitation-card{z-index:7}.is-open .invitation-card{z-index:7;opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}.is-open .right-flap{z-index:-1;transform:rotateX(90deg)}.is-open .paper-glow{background:linear-gradient(#0c191233,#7b8b800d 48%,#0000 78%);box-shadow:inset 0 18px 30px #07100b3d}.is-open .envelope-rear,.is-open .envelope-front{opacity:.17;filter:blur(1.4px);transform:translate(-50%,calc(6dvh - 50%))scale(.8)}.is-open .envelope-shadow{opacity:.08;filter:blur(30px);transform:translate(-47%,calc(7dvh - 46%))scale(.77)}.is-open .invitation-actions{opacity:1;pointer-events:auto;transform:translate(-50%)}@keyframes flapOpen{0%{z-index:4;transform:rotateX(0)}12%{z-index:4;transform:rotateX(-3deg)}38%{z-index:4;transform:rotateX(46deg)}52%{z-index:-1;transform:rotateX(72deg)}72%{z-index:-1;transform:rotateX(84deg)}90%{z-index:-1;transform:rotateX(88deg)}to{z-index:-1;transform:rotateX(90deg)}}@keyframes sealRelease{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.82)}}@keyframes interiorReveal{0%,18%{background:0 0;box-shadow:inset 0 0 #07100b00}to{background:linear-gradient(#0c191233,#7b8b800d 48%,#0000 78%);box-shadow:inset 0 18px 30px #07100b3d}}@keyframes cardReveal{0%,40%{opacity:0;transform:translate(-50%, -46%) rotate(0deg) scale(var(--card-start-scale))}52%{opacity:.22;transform:translate(-50%, -52%) rotate(0deg) scale(calc(var(--card-start-scale) + .03))}68%{opacity:1;transform:translate(-50%, -66%) rotate(0deg) scale(calc(var(--card-start-scale) + .1))}84%{transform:translate(-50%,-56%)rotate(0)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}}@keyframes envelopeRecede{0%,70%{opacity:1}to{opacity:.17;filter:blur(1.4px);transform:translate(-50%,calc(6dvh - 50%))scale(.8)}}@keyframes touchHalo{0%,38%{opacity:0;transform:scale(.68)}48%{opacity:.8}85%,to{opacity:0;transform:scale(1.25)}}@keyframes promptPulse{0%{box-shadow:0 0 #c6a95880}70%,to{box-shadow:0 0 0 9px #c6a95800}}@media (width<=600px){.invitation-experience{--envelope-width:min(88vw, 500px, calc(52dvh * 1.397));--card-width:min(94vw, calc((100dvh - 10.5rem) * 1.409));--card-start-scale:.83}.event-signature{top:max(.8rem, env(safe-area-inset-top))}.invitation-card{top:46.5%}.open-prompt{bottom:max(1.2rem, env(safe-area-inset-bottom))}.invitation-actions{justify-content:center;gap:.5rem;width:calc(100% - 1.5rem)}.rsvp-button,.replay-button{letter-spacing:.09em;min-height:42px;font-size:.61rem}.rsvp-button{padding:.78rem 1rem}.replay-button{padding:.72rem .78rem}}@media (orientation:landscape) and (height<=560px){.invitation-experience{--envelope-width:min(58vw, 520px, calc(60dvh * 1.397));--card-width:min(72vw, calc((100dvh - 5.4rem) * 1.409));--card-start-scale:.72}.event-signature{top:.55rem;left:3.5rem;transform:none}.is-opening .event-signature,.is-open .event-signature{transform:translateY(-.25rem)}.event-signature small{display:none}.invitation-card{top:44%}.open-prompt{bottom:.7rem}.invitation-actions{right:max(.8rem, env(safe-area-inset-right));bottom:.65rem;left:auto;transform:translateY(1rem)}.is-open .invitation-actions{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.open-trigger:before,.prompt-spark{animation:none}.is-opening .right-flap{animation:.18s ease-out forwards reducedFlap}.is-opening .paper-glow{animation:.18s ease-out forwards interiorReveal}.is-opening .invitation-card{animation:.35s ease-out forwards reducedCard}.is-opening .envelope-rear,.is-opening .envelope-front,.is-opening .envelope-shadow{animation:.35s ease-out forwards reducedEnvelope}.event-signature,.open-prompt,.invitation-actions,.gold-mark{transition-duration:.12s}}@keyframes reducedFlap{to{z-index:-1;transform:rotateX(90deg)}}@keyframes reducedCard{0%{opacity:0}to{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}}@keyframes reducedEnvelope{to{opacity:.17;filter:blur(1.4px);transform:translate(-50%,calc(6dvh - 50%))scale(.8)}}
