@font-face{font-family:SomeWeatz;src:url(/font/SomeWeatzSwashes-xvBm.ttf) format("truetype")}.font-wedding,.nav-link{font-family:SomeWeatz,serif}.nav-link{font-size:1.1rem;letter-spacing:.5px}.title-wedding{font-family:SomeWeatz,serif;letter-spacing:1px;font-size:2.25rem;line-height:1.4}.title-wedding.section{font-size:2rem}.names-formal{font-family:Times New Roman,serif;letter-spacing:1px;font-size:1rem;line-height:1.2;font-weight:500}.text-regular{font-weight:300;letter-spacing:.5px;line-height:1.6;font-size:.8rem}.scroll-container{width:100%;overflow:hidden;position:relative;background:transparent}.scroll-row{margin:.25rem 0}.scroll-wrapper{display:flex;gap:.25rem}.scroll-wrapper-left{animation:scrollLeft 30s linear infinite}.scroll-wrapper-right{animation:scrollRight 30s linear infinite}.scroll-wrapper:hover{animation-play-state:paused}@keyframes scrollLeft{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes scrollRight{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.message-box{min-width:180px;max-width:180px;background:#fff8f0;padding:.5rem;border-radius:.375rem;box-shadow:0 2px 4px rgba(0,0,0,.1);border:1px solid hsla(33,41%,59%,.2);display:flex;flex-direction:column;gap:.25rem;transition:transform .2s}.message-box:hover{transform:translateY(-2px);box-shadow:0 4px 6px rgba(0,0,0,.1)}.message-content{flex-grow:1}.message-content p{font-size:.875rem;line-height:1.25rem}.message-content p.name{font-size:.75rem;margin-bottom:.25rem}.message-footer{font-size:.75rem;color:#8b7355}.scroll-content{display:flex;gap:.25rem;padding:.25rem 0}@font-face{font-family:Country Wedding;src:url(/font/Country\ Wedding.otf) format("opentype"),url(/font/Country\ Wedding.ttf) format("truetype")}:root{--color-env:#8b7355;--color-env2:#7a6447;--color-flap:#665339;--color-bg:#faf9f6;--color-heart:#d00000;--color-seal:maroon;--env-border-radius:8px;--env-width:500px;--env-height:325px;--heart-width:30px}.envelope-wrapper{min-height:calc(var(--env-height) + 240px);padding:3rem 1rem;display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box}@media screen and (max-width:768px){:root{--env-width:90vw;--env-height:calc(90vw * 0.65)}.envelope-wrapper{padding:5rem 2rem;min-height:100vh}#envelope{width:100%;max-width:var(--env-width);margin:0 auto;left:50%;transform:translateX(-50%)}}#envelope{position:relative;width:var(--env-width);height:var(--env-height);border-bottom-left-radius:var(--env-border-radius);border-bottom-right-radius:var(--env-border-radius);background-color:var(--color-env);box-shadow:0 6px 30px rgba(0,0,0,.15);cursor:pointer;transition:transform .3s ease}#envelope:hover{transform:scale(1.02)}.front{position:absolute;width:0;height:0;z-index:3}.flap{border-left:calc(var(--env-width) / 2) solid transparent;border-right:calc(var(--env-width) / 2) solid transparent;border-bottom:calc(var(--env-height) / 2 - 8px) solid transparent;border-top:calc(var(--env-height) / 2 + 8px) solid var(--color-flap);transform-origin:top;pointer-events:none;transition:transform .4s cubic-bezier(.4,0,.2,1)}.pocket{border-left:calc(var(--env-width) / 2) solid var(--color-env);border-right:calc(var(--env-width) / 2) solid var(--color-env);border-bottom:calc(var(--env-height) / 2) solid var(--color-env2);border-top:calc(var(--env-height) / 2) solid transparent;border-bottom-left-radius:var(--env-border-radius);border-bottom-right-radius:var(--env-border-radius)}.letter{position:absolute;background-color:#fff;width:92%;margin-left:4%;height:92%;top:4%;border-radius:var(--env-border-radius);box-shadow:0 4px 30px rgba(0,0,0,.1);transform-origin:center bottom;transition:transform .6s cubic-bezier(.4,0,.2,1);z-index:2;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2rem}.letter:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-image:linear-gradient(180deg,hsla(0,0%,100%,0) 25%,rgba(215,227,239,.7) 55%,#d7e3ef)}.words{position:absolute;left:10%;width:80%;height:14%;background-color:#eeeff0;opacity:.7}.words.line1{top:15%;width:20%;height:7%}.words.line2{top:30%}.words.line3{top:50%}.words.line4{top:70%}.open .flap{transform:rotateX(180deg);transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:1}.close .flap{transform:rotateX(0deg);transition:transform .4s cubic-bezier(.4,0,.2,1) .6s;z-index:5}.close .letter{transform:translateY(0);z-index:1}.close .letter,.open .letter{transition:transform .6s cubic-bezier(.4,0,.2,1)}.open .letter{transform:translateY(-60%);z-index:2}.hearts{position:absolute;width:100%;height:100%;left:0;top:0;z-index:2;pointer-events:none}.heart{width:var(--heart-width);height:var(--heart-width);transform:rotate(-45deg);opacity:0;transition:opacity .3s ease}.heart,.heart:after,.heart:before{position:absolute;background-color:var(--color-heart)}.heart:after,.heart:before{content:"";width:100%;height:100%;border-radius:50%}.heart:before{left:50%}.heart:after{top:-50%}.heart.a1{left:15%;bottom:20%;animation:flyHeartLeft 1.5s ease-out forwards}.heart.a2{left:calc(50% - var(--heart-width) / 2);bottom:20%;animation:flyHeartCenter 1.2s ease-out forwards}.heart.a3{right:15%;bottom:20%;animation:flyHeartRight 1.8s ease-out forwards}@keyframes flyHeartLeft{0%{opacity:1;transform:rotate(-45deg) translate(0)}to{opacity:0;transform:rotate(-45deg) translateY(-300px)}}@keyframes flyHeartCenter{0%{opacity:1;transform:rotate(-45deg) translate(0)}to{opacity:0;transform:rotate(-45deg) translateY(-400px)}}@keyframes flyHeartRight{0%{opacity:1;transform:rotate(-45deg) translate(0)}to{opacity:0;transform:rotate(-45deg) translateY(-350px)}}.open .heart{opacity:1}.open .heart.a1{animation-delay:.8s}.open .heart.a2{animation-delay:.4s}.open .heart.a3{animation-delay:.6s}.close .heart{display:none;opacity:0}.seal-circle{position:absolute;width:100px;height:100px;background-color:var(--color-seal);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);justify-content:center;z-index:4;box-shadow:inset 0 0 0 3px var(--color-seal),inset 0 0 0 5px hsla(0,0%,100%,.8)}.seal-circle,.seal-content{display:flex;align-items:center}.seal-content{flex-direction:column;gap:4px}.seal-circle .monogram{color:#fff;font-size:1rem;font-family:SomeWeatz,serif;letter-spacing:0;white-space:nowrap}.seal-circle .open-text{color:#fff;font-size:.8rem;font-weight:300;letter-spacing:.5px;opacity:.9}.reset-animation .letter{transform:translateY(0);transition:transform .6s cubic-bezier(.4,0,.2,1)}.reset-animation .flap{transform:rotateX(0deg);transition:transform .4s cubic-bezier(.4,0,.2,1) .6s;z-index:5}.reset-animation .heart{display:none;opacity:0}.reset{text-align:center;margin-top:20px}.reset button{font-weight:800;font-style:normal;transition:all .1s linear;-webkit-appearance:none;background-color:transparent;border:2px solid var(--color-env);border-radius:4px;color:var(--color-env);display:inline-block;font-size:14px;text-transform:uppercase;margin:5px;padding:10px;line-height:1em;text-decoration:none;min-width:120px;cursor:pointer}.reset button:hover{background-color:var(--color-env);color:#fff}body{background-color:var(--color-bg)}