
.rv-letter-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:rgba(4,5,9,.05);pointer-events:none;visibility:hidden;transition:background .75s,visibility .75s;perspective:1200px}
.rv-letter-overlay.is-present{visibility:visible;background:rgba(4,5,9,.78);pointer-events:auto}
.rv-letter-envelope{position:relative;width:min(520px,calc(100vw - 32px));height:min(470px,calc(100vh - 60px));max-height:470px;transform:translate3d(110vw,-65vh,-600px) rotate(-34deg) scale(.15);transform-origin:50% 50%;filter:drop-shadow(0 25px 55px #000a);transition:transform 1.35s cubic-bezier(.2,.8,.17,1),filter 1s;transform-style:preserve-3d}
.rv-letter-overlay.is-arriving .rv-letter-envelope,.rv-letter-overlay.is-open .rv-letter-envelope{transform:translate3d(0,0,0) rotate(-2deg) scale(1)}
.rv-letter-paper{position:absolute;inset:8% 2% 3%;background:linear-gradient(115deg,#eadbc0,#f5ebd6 45%,#e4d0ae);border:1px solid #b89b70;box-shadow:inset 0 0 60px #8c653824;transform-style:preserve-3d;backface-visibility:hidden}
.rv-letter-paper:before{content:"";position:absolute;inset:11px;border:1px solid #92714b65;pointer-events:none}
.rv-letter-paper:after{content:"RV";position:absolute;bottom:17px;right:23px;font:italic 28px 'Cormorant Garamond',serif;color:#84603c75}
.rv-letter-flap{position:absolute;inset:8% 2% 50%;background:linear-gradient(170deg,#c7ad86,#e7d5b4);border:1px solid #b89b70;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;transform:rotateX(0deg);z-index:4;backface-visibility:visible;transition:transform .85s cubic-bezier(.45,.04,.2,1),opacity .65s}
.rv-letter-overlay.is-open .rv-letter-flap{transform:rotateX(180deg);opacity:0;pointer-events:none}
.rv-letter-content{position:absolute;inset:12% 9% 9%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;text-align:center;color:#392a27;opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s;overflow:auto}
.rv-letter-overlay.is-open .rv-letter-content{opacity:1;transform:translateY(0)}
.rv-letter-overline{font:600 10px 'DM Sans',sans-serif;letter-spacing:.25em;color:#80634a}
.rv-letter-content h2{font:italic clamp(30px,5vw,45px) 'Cormorant Garamond',serif;margin:0}
.rv-letter-content p{font:clamp(19px,2.6vw,25px)/1.35 'EB Garamond',serif;margin:0}
.rv-letter-sign{font:italic 25px 'Cormorant Garamond',serif;color:#68482d}
.rv-letter-close{border:1px solid #886646;background:#4d2d2e;color:#f3e6d0;padding:13px 19px;cursor:pointer;font:600 10px 'DM Sans',sans-serif;letter-spacing:.15em;text-transform:uppercase}
.rv-letter-close:hover{background:#6a3a3a}
.rv-letter-overlay.is-folding .rv-letter-content{opacity:0;transform:translateY(18px);pointer-events:none;transition-duration:.35s}
.rv-letter-overlay.is-folding .rv-letter-flap{opacity:1;transform:rotateX(0);transition-delay:.3s}
.rv-letter-overlay.is-departing .rv-letter-envelope{transform:translate3d(-115vw,65vh,-550px) rotate(28deg) scale(.12);transition:transform 1s cubic-bezier(.6,0,.8,.25)}
.rv-letter-overlay.is-departing{background:transparent;transition:background 1s}
@media(max-width:520px){.rv-letter-envelope{height:min(510px,calc(100dvh - 35px))}.rv-letter-content{inset:12% 8% 7%;gap:11px}.rv-letter-content p{font-size:19px}}
@media(prefers-reduced-motion:reduce){.rv-letter-overlay,.rv-letter-envelope,.rv-letter-flap,.rv-letter-content{transition-duration:.01ms!important;transition-delay:0ms!important}}
