@import "https://fonts.googleapis.com/css2?family=Corinthia:wght@400;700&family=Dancing+Script:wght@400..700&display=swap";h1,h2,h3,h4,p{font-family:Dancing Script,sans-serif}.image{transition-property:transform;transition-duration:.3s;transition-timing-function:ease-in-out}.image:hover{transform:scale(1.02)}.invitation-envelope-screen{isolation:isolate;color:#7c1616;background:radial-gradient(at 15% 15%,#eeddd5 0,#0000 48%),radial-gradient(at 90% 85%,#efe0d0 0,#0000 46%),#fcf8f1;flex-direction:column;justify-content:center;align-items:center;gap:clamp(2rem,6vh,4rem);width:100%;min-height:100svh;padding:3rem 1.25rem 2rem;display:flex;position:relative;overflow:hidden}.invitation-envelope-heading,.invitation-envelope-stage,.invitation-envelope-signoff,.invitation-envelope-error{z-index:1;text-align:center;position:relative}.invitation-envelope-heading{transition:opacity .25s}.invitation-envelope-heading h1{margin:.65rem 0;font-family:Dancing Script,cursive;font-size:clamp(2.8rem,8vw,4.6rem);font-weight:400;line-height:1.15}.invitation-envelope-heading h1 span{font-size:.65em}.invitation-envelope-eyebrow,.invitation-envelope-date,.invitation-envelope-hint,.invitation-envelope-paper-eyebrow,.invitation-envelope-paper-date{letter-spacing:.24em;font-family:Georgia,Times New Roman,serif;font-size:.7rem}.invitation-envelope-date{color:#725b4d;font-size:.85rem}.invitation-envelope-flower{z-index:-1;opacity:.14;pointer-events:none;width:clamp(180px,30vw,420px);position:absolute}.invitation-envelope-flower--top{top:-6%;left:-9%;transform:rotate(125deg)}.invitation-envelope-flower--bottom{bottom:-8%;right:-9%;transform:rotate(-50deg)}.invitation-envelope-stage{perspective:1400px;width:min(100%,480px);margin-top:1rem}.invitation-envelope{aspect-ratio:1.55;appearance:none;color:#7c1616;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:linear-gradient(135deg,#e7d4b8,#cfb694);border:1px solid #ddcbb3;border-radius:5px;width:100%;padding:0;display:block;position:relative;box-shadow:0 22px 50px -16px #56352040,0 3px 8px #56352012}.invitation-envelope:disabled{cursor:wait}.invitation-envelope:focus-visible,.invitation-envelope-error button:focus-visible,.invitation-envelope-error a:focus-visible{outline-offset:8px;outline:3px solid #7c1616}.invitation-envelope-paper{z-index:1;background:#fffcf5;border:1px solid #dcc7a6;border-radius:2px;flex-direction:column;justify-content:flex-start;align-items:center;gap:.8rem;padding:1.4rem .75rem;transition:transform .8s cubic-bezier(.22,1,.36,1) .65s;display:flex;position:absolute;inset:7% 7% 9%;transform:translateY(0)scale(.97);box-shadow:0 0 0 6px #fffcf5,inset 0 0 0 5px #fffcf5,inset 0 0 0 6px #dbc7a66b}.invitation-envelope-paper-eyebrow{font-size:clamp(.5rem,1.6vw,.65rem)}.invitation-envelope-paper-names{font-family:Dancing Script,cursive;font-size:clamp(1.7rem,5.5vw,2.8rem);line-height:1.15}.invitation-envelope-paper-date{color:#725b4d;font-size:.65rem}.invitation-envelope-folds,.invitation-envelope-front,.invitation-envelope-flap{border-radius:inherit;position:absolute;inset:0}.invitation-envelope-folds{z-index:2;clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);background:linear-gradient(90deg,#ebd9be,#f3e5d0 48%,#e9d6b9)}.invitation-envelope-front{z-index:3;clip-path:polygon(0 100%,0 96%,50% 44%,100% 96%,100% 100%);background:linear-gradient(165deg,#f7ead5,#efdfc6)}.invitation-envelope-flap{z-index:4;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:visible;background:linear-gradient(175deg,#fff4e1,#e8d5b7);height:60%;transition:transform .7s ease-in-out .12s,z-index 0s linear .47s;bottom:auto;transform:rotateX(0)}.invitation-envelope-seal{z-index:5;aspect-ratio:1;color:#f3dfb7;background:radial-gradient(circle at 35% 25%,#ac4940,#7c1616 68%,#631111);border:3px double #b36956;border-radius:50%;justify-content:center;align-items:center;gap:.15rem;width:clamp(48px,12vw,64px);font-family:Dancing Script,cursive;font-size:clamp(.95rem,3vw,1.25rem);transition:opacity .2s,transform .25s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-12deg);box-shadow:0 3px 6px #4d1b1640,inset 0 0 0 3px #ffffff0d}.invitation-envelope-seal span{font-size:.7em}.invitation-envelope-recipient{z-index:4;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;transition:opacity .3s .5s;display:flex;position:absolute;inset:68% 8% 5%}.invitation-envelope-to{color:#725b4d;font-family:Georgia,Times New Roman,serif;font-size:.7rem;font-style:italic}.invitation-envelope-guest{overflow-wrap:anywhere;text-wrap:balance;max-width:100%;font-family:Dancing Script,cursive;font-size:clamp(1.2rem,5vw,2rem);line-height:1.1}.invitation-envelope-hint{color:#725b4d;letter-spacing:.13em;min-height:1.5em;margin-top:2rem;font-size:.8rem}.invitation-envelope-signoff{color:#856c59;font-family:Dancing Script,cursive;font-size:1.2rem}.invitation-envelope-error{background:#fffcf5;border:1px solid #ddcbb3;border-radius:5px;flex-direction:column;align-items:center;gap:1.25rem;width:min(100%,440px);padding:2rem;display:flex}.invitation-envelope-error h2{font-size:1.8rem}.invitation-envelope-error p{overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:.95rem}.invitation-envelope-error button{color:#fff8ed;cursor:pointer;background:#7c1616;border-radius:3px;padding:.65rem 1.5rem}.invitation-envelope-error a{text-underline-offset:4px;text-decoration:underline}.invitation-envelope-screen.is-opening{pointer-events:none;animation:.65s ease-in 1.55s both invitation-envelope-dismiss}.is-opening .invitation-envelope-heading{opacity:0}.is-opening .invitation-envelope-seal{opacity:0;transform:translate(-50%,-50%)rotate(-12deg)scale(1.2)}.is-opening .invitation-envelope-flap{z-index:0;transform:rotateX(-180deg)}.is-opening .invitation-envelope-paper{transform:translateY(-55%)scale(1)}.is-opening .invitation-envelope-recipient{opacity:0}.invitation-page-reveal{animation:.7s ease-out both invitation-page-reveal}@keyframes invitation-envelope-dismiss{to{opacity:0}}@keyframes invitation-page-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=380px){.invitation-envelope-guest{font-size:1.15rem}}@media (height<=600px) and (width>=600px){.invitation-envelope-screen{gap:1.25rem;padding-block:1.5rem}.invitation-envelope-heading h1{font-size:2.5rem}.invitation-envelope-stage{max-width:320px}.invitation-envelope-signoff{display:none}}@media (prefers-reduced-motion:reduce){.invitation-envelope-screen,.invitation-envelope-screen *,.invitation-page-reveal{transition:none!important;animation:none!important}}
