:root{color-scheme:light;--color-primary: #E07A5F;--color-primary-light: #F2A38A;--color-secondary: #3D5A80;--color-secondary-light: #5B7FA1;--color-accent: #F4D58D;--color-accent-dark: #E8C066;--color-cream: #F8F4EA;--color-white: #FFFFFF;--color-text: #2D3142;--color-text-light: #5A6072;--color-sage: var(--color-secondary);--color-sage-light: var(--color-secondary-light);--color-rose: var(--color-primary);--color-rose-light: var(--color-primary-light);--color-gold: var(--color-accent-dark);--font-display: "Cormorant Garamond", serif;--font-body: "Montserrat", sans-serif;--transition-smooth: all .4s cubic-bezier(.4, 0, .2, 1);--transition-bounce: all .6s cubic-bezier(.68, -.55, .265, 1.55)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-body);color:var(--color-text);line-height:1.6;overflow-x:hidden;background:linear-gradient(135deg,var(--color-cream) 0%,#FAF6ED 50%,var(--color-cream) 100%);min-height:100vh}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.animate-on-scroll{opacity:1;transform:none}}.container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:2}@supports (padding: max(0px)){.container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}section{position:relative;z-index:2}.section{padding:6rem 0;position:relative}@media (max-width: 768px){.section{padding:4rem 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff}}.envelope-scene{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;perspective:1000px;background:linear-gradient(160deg,var(--color-cream) 0%,#faf6ed 30%,#f5efe0 60%,var(--color-cream) 100%);padding:1rem;overflow:hidden}.envelope-wrapper{position:relative}.envelope{position:relative;width:clamp(280px,75vw,440px);aspect-ratio:1.5 / 1;cursor:pointer;outline:none;clip-path:inset(-500% -500% 2px -500%);transition:transform .6s ease .1s}.envelope:focus-visible{outline:2px solid var(--color-secondary);outline-offset:8px;border-radius:2px}.envelope__back{position:absolute;inset:0;z-index:1;background:#eae6e1;border-radius:3px;box-shadow:0 2px 20px #0000000f,0 1px 4px #00000008}.envelope__letter{position:absolute;bottom:5%;left:0;right:0;width:58%;margin:0 auto;aspect-ratio:288 / 396;z-index:0;border-radius:2px;overflow:hidden;transform:translateY(22%) scale(1);will-change:transform}.envelope__letter-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px}.envelope__inner{position:absolute;inset:0;z-index:4;background:#e5e1dc;border-radius:2px;clip-path:polygon(0 0,0 100%,100% 100%,100% 0,62% 0,50% 12%,38% 0)}.envelope__front{position:absolute;inset:0;z-index:3;background:#ede9e4;border-radius:2px;clip-path:polygon(0 100%,50% 48%,100% 100%);filter:drop-shadow(0 -1px 1px rgba(0,0,0,.04))}.envelope__flap{position:absolute;left:0;right:0;top:0;height:62%;z-index:5;background:#efebe7;border-radius:2px 2px 0 0;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transform:perspective(800px) rotateX(0);transition:transform .7s ease-in-out .15s,z-index 0s .5s;will-change:transform;filter:drop-shadow(0 1px 1px rgba(0,0,0,.04))}.envelope__flap:after{content:"";position:absolute;inset:0;background:#e8e4df;transform:rotateX(180deg);backface-visibility:hidden}.envelope__seal{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;z-index:6;background:radial-gradient(circle at 38% 32%,#c94434,#a33124,#7a2419 80%,#5e1c13);box-shadow:inset 0 3px 5px #ffffff40,inset 0 -3px 5px #00000059,0 3px 10px #0003;display:flex;justify-content:center;font-family:var(--font-display);gap:1px;align-items:center;padding-right:2px;color:#ffffffd9;text-shadow:0 1px 2px rgba(0,0,0,.3);transition:transform .3s ease,opacity .3s ease}.seal-initial{font-family:var(--font-display);font-size:1.5rem;font-weight:700;line-height:1}.seal-amp{font-family:var(--font-display);font-size:.9rem;font-weight:400;opacity:.7;line-height:1;margin-top:1px}.envelope-cta{margin-top:1.5rem;font-family:var(--font-body);font-size:clamp(.75rem,1.8vw,.9rem);font-weight:500;text-transform:uppercase;letter-spacing:3px;color:var(--color-text-light);opacity:.7;transition:opacity .3s ease}.is-opened .envelope-cta{opacity:0;pointer-events:none}.is-opened .envelope__seal{transform:translate(-50%,-50%) scale(1.3);opacity:0}.is-opened .envelope__flap{transform:perspective(800px) rotateX(-180deg);z-index:1}.is-opened .envelope{transform:scale(.9);cursor:default;clip-path:inset(-500% -500% -500% -500%);transition:transform .6s ease .1s,clip-path .3s ease 1.6s}.is-opened .envelope__letter{animation:card-reveal 1.4s cubic-bezier(.22,1,.36,1) .8s both}@keyframes card-reveal{0%{transform:translateY(22%) scale(1);z-index:2}60%{transform:translateY(-55%) scale(1);z-index:2}61%{z-index:50}to{transform:translateY(-5%) scale(1.6);z-index:50}}@media (max-width: 600px){.envelope{width:clamp(280px,85vw,420px)}.envelope__seal{width:48px;height:48px;font-size:.85rem}.envelope__letter{width:68%}}@media (max-width: 380px){.envelope{width:90vw}.envelope__letter{width:72%}}@media (max-height: 500px) and (orientation: landscape){.envelope{width:clamp(200px,55vh,320px)}}@media (prefers-reduced-motion: reduce){.envelope__flap,.envelope__seal,.envelope-cta,.is-opened .envelope{transition-duration:.01ms!important;transition-delay:0ms!important}.is-opened .envelope__letter{animation:none!important;transform:translateY(-5%) scale(1.6)}}
