/* Standalone invitation demo: realistic envelope, wax seal, complete reveal. */
body.intro-active{overflow:hidden}
.letter-overlay{position:fixed;inset:0;z-index:2000;background:radial-gradient(ellipse at 50% 28%,#2a5941 0%,#193f2c 47%,#0b281a 100%);color:#f8f5ec;font-family:'EB Garamond',Georgia,serif;overflow:auto;overscroll-behavior:contain}
.letter-overlay[hidden]{display:none!important}
.letter-overlay::before{content:"";position:fixed;inset:16px;border:1px solid rgba(247,244,230,.22);pointer-events:none}
.letter-stage{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;width:min(100%,840px);min-height:100svh;margin:auto;padding:clamp(42px,6.7vh,85px) 24px 32px}
.intro-eyebrow{margin:0;font-size:12px;letter-spacing:.33em;color:#e1e6da}
.intro-names{font:400 clamp(46px,7.5vw,77px)/1.04 'EB Garamond',Georgia,serif;letter-spacing:-.03em;margin:12px 0 6px;color:#f8f5ec}
.intro-helper{font:400 17px/1.4 'EB Garamond',Georgia,serif;color:#d7e0d3;margin:8px 0 0}
.envelope-scene{--env-width:min(87vw,500px);width:var(--env-width);height:295px;position:relative;flex:none;margin-top:clamp(68px,9vh,110px);isolation:isolate}
.envelope-shadow{position:absolute;left:9%;right:9%;bottom:-12px;height:26px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.27),transparent 75%);filter:blur(9px);z-index:0}
.envelope-visual{position:absolute;inset:0;z-index:4;filter:drop-shadow(0 19px 17px rgba(0,0,0,.23));transition:opacity .55s ease 1.05s,transform .7s ease 1.01s}
.envelope-base-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.envelope-top-flap{position:absolute;top:4%;left:0;width:100%;height:53%;transform-origin:center top;transform-style:preserve-3d;z-index:5;transition:transform .72s cubic-bezier(.21,.72,.23,1) .17s,opacity .28s ease .8s;backface-visibility:visible}
.envelope-top-flap svg{height:100%;width:100%;display:block;filter:drop-shadow(0 2px 2px rgba(92,72,47,.18))}
.wax-seal{position:absolute;width:88px;height:88px;left:50%;top:52%;transform:translate(-50%,-50%);z-index:7;display:grid;place-items:center;filter:drop-shadow(1px 7px 5px #463b2b50);transition:opacity .24s ease .15s,transform .32s ease .15s}
.wax-seal svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.invitation-letter{position:absolute;left:9%;right:9%;top:16px;min-height:265px;padding:32px 20px 27px;background:linear-gradient(145deg,#fffdfa 0%,#f8f6ee 100%);border:1px solid #d4d6c9;box-shadow:0 10px 28px #00190c2b, inset 0 0 0 8px #faf8f2;z-index:3;opacity:0;transform:translateY(30px) scale(.95);transition:opacity .55s ease .75s,transform .95s cubic-bezier(.18,.8,.25,1) .65s;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1c4831}
.invitation-letter::before{content:"";position:absolute;inset:14px;border:1px solid #becdb8;pointer-events:none}
.letter-label{font:500 10px/1.3 'EB Garamond',Georgia,serif;letter-spacing:.29em;color:#65795f;margin-bottom:10px}
.letter-title{font:400 clamp(32px,5vw,47px)/1.05 'EB Garamond',Georgia,serif;letter-spacing:-.035em;margin:0 0 10px;white-space:nowrap}
.letter-purpose{font:500 11px 'EB Garamond',Georgia,serif;letter-spacing:.22em;margin:2px 0 15px}
.letter-divider{display:block;width:100px;height:1px;background:#a8b69f;margin:0 auto 13px}
.letter-date{font:italic 23px/1.3 'EB Garamond',Georgia,serif;letter-spacing:.03em;margin:0}
.letter-city{font:400 13px 'EB Garamond',Georgia,serif;margin:4px 0 0;color:#5d715c}
.letter-pending{font:400 10px 'EB Garamond',Georgia,serif;letter-spacing:.13em;text-transform:uppercase;margin:10px 0 0;color:#70846e}
.letter-overlay.is-open .wax-seal{opacity:0;transform:translate(-50%,-58%) scale(.85);pointer-events:none}
.letter-overlay.is-open .envelope-top-flap{transform:rotateX(-180deg);opacity:0}
.letter-overlay.is-open .envelope-visual{opacity:0;transform:translateY(85px) scale(.95);pointer-events:none}
.letter-overlay.is-open .invitation-letter{z-index:8;opacity:1;transform:translateY(-24px) scale(1)}
.open-envelope{position:absolute;inset:0;z-index:10;width:100%;height:100%;background:transparent;border:0;cursor:pointer;outline-offset:8px}
.letter-overlay.is-open .open-envelope{pointer-events:none}
.letter-overlay.is-open .envelope-shadow{opacity:0}
.intro-actions{margin-top:33px;display:flex;align-items:center;gap:20px;justify-content:center;min-height:52px;flex-wrap:wrap;position:relative;z-index:12}
.intro-continue{border:1px solid #e0e5d8;background:#f7f4ea;color:#183c2c;padding:13px 26px;font:500 17px 'EB Garamond',Georgia,serif;letter-spacing:.025em;visibility:hidden;opacity:0;transform:translateY(9px);pointer-events:none;transition:opacity .35s ease .95s,transform .45s ease .95s}
.letter-overlay.is-open .intro-continue{visibility:visible;opacity:1;transform:none;pointer-events:auto}
.intro-continue:hover{background:#fff}
.intro-skip{background:transparent;border:0;color:#dce5d9;font:400 15px 'EB Garamond',Georgia,serif;text-decoration:underline;text-underline-offset:3px;padding:10px 4px}
.intro-skip:hover{color:white}
.intro-disclaimer{color:#b2c1b2;font:italic 13px 'EB Garamond',Georgia,serif;margin:7px 0 0}
.letter-overlay.is-exiting{opacity:0;transition:opacity .5s ease;pointer-events:none}
@media(max-width:580px){.letter-stage{padding:50px 20px 25px}.intro-names{font-size:clamp(43px,10vw,61px)}.intro-helper{font-size:16px}.envelope-scene{height:auto;aspect-ratio:500/295;margin-top:clamp(90px,14vh,130px)}.wax-seal{width:74px;height:74px}.invitation-letter{min-height:225px;padding:26px 13px 21px}.invitation-letter::before{inset:10px}.letter-label{font-size:9px}.letter-title{font-size:clamp(27px,7.2vw,36px)}.letter-purpose{font-size:9px;margin-bottom:12px}.letter-date{font-size:20px}.letter-overlay.is-open .invitation-letter{transform:translateY(-37px) scale(1)}.intro-actions{margin-top:42px}.intro-continue{font-size:15px}}
@media(max-width:390px){.letter-stage{padding-top:42px}.envelope-scene{margin-top:80px}.letter-title{font-size:28px}.invitation-letter{min-height:220px;padding-top:25px}.intro-disclaimer{font-size:12px}}
@media(prefers-reduced-motion:reduce){.envelope-visual,.envelope-top-flap,.wax-seal,.invitation-letter,.intro-continue,.letter-overlay{transition-duration:.01ms!important;transition-delay:0ms!important}}
