:root{color:#2e2a26;--bg:#faf7f2;--paper:#e6d9c3;--paper-dark:#d6c6ab;--paper-light:#efe5d4;--ink:#8a7b64;background-color:#faf7f2;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}[hidden]{display:none!important}body{min-height:100svh;margin:0}.stage{appearance:none;font:inherit;color:inherit;cursor:pointer;background:var(--bg);z-index:1;border:0;padding:0;transition:opacity .6s 2.1s;display:block;position:fixed;inset:0;overflow:hidden}.stage.is-open{opacity:0}.envelope{--ratio:1.5;--w:max(100vw, calc(100svh * var(--ratio)));--h:max(100svh, calc(100vw / var(--ratio)));--reveal-height:1.55;--persp:calc(var(--h) * 1.6);width:var(--w);height:var(--h);transition:transform .8s cubic-bezier(.4,0,.2,1) .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stage.is-open .envelope{transform:translate(-50%, -50%) scale(var(--fit,.4))  translateY(calc((var(--reveal-height) - 1) / 2 * 100%))}.env-back{z-index:1;background:linear-gradient(160deg, var(--paper-dark), var(--paper));border-radius:.4vh;position:absolute;inset:0;box-shadow:0 10px 30px #46372338}.letter{z-index:2;will-change:transform;background:linear-gradient(#fffdf8,#f7f1e6);border-radius:.3vh;justify-content:center;align-items:center;width:88%;height:88%;padding:0 8%;transition:transform .8s cubic-bezier(.4,0,.2,1) 1.2s;display:flex;position:absolute;bottom:5%;left:6%;box-shadow:0 2px 12px #46372333}.stage.is-open .letter{transform:translateY(-70%)}.letter .names{font-size:calc(var(--w) * .052);color:var(--ink)}.env-front{z-index:3;background:linear-gradient(200deg, var(--paper-light), var(--paper-dark));clip-path:polygon(0 0,50% 46%,100% 0,100% 100%,0 100%);will-change:transform;border-radius:.4vh;position:absolute;inset:0}.env-flap{z-index:4;transform-origin:top;width:100%;height:52%;transform:perspective(var(--persp)) rotateX(0deg);clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(var(--paper-light), var(--paper-dark));transition:transform .8s cubic-bezier(.6,.05,.3,1) .45s,z-index 0s linear .85s;position:absolute;top:0;left:0}.stage.is-open .env-flap{transform:perspective(var(--persp)) rotateX(180deg);z-index:0}.seal{z-index:5;aspect-ratio:1;filter:drop-shadow(0 4px 5px #2e1a0e59);color:#c08a5e;background:url(/assets/seal-UC-bFdd-.svg) 50%/contain no-repeat;width:min(30vw,140px);transition:transform .4s,opacity .4s;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.seal:before{content:"";aspect-ratio:1;background-color:currentColor;width:54%;position:absolute;top:49.32%;left:50.78%;translate:-45.6% -48.6%;-webkit-mask:url(/assets/monogram-ChLRjCZt.svg) 50%/contain no-repeat;mask:url(/assets/monogram-ChLRjCZt.svg) 50%/contain no-repeat}.stage.is-open .seal{opacity:0;transform:translate(-50%,-50%)scale(.35)rotate(28deg)}.hint{z-index:6;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:#6f6250;font-size:.95rem;transition:opacity .3s;animation:2.4s ease-in-out infinite hint-pulse;position:absolute;bottom:max(5svh,1.75rem);left:50%;transform:translate(-50%)}.stage.is-open .hint{opacity:0;animation:none}@keyframes hint-pulse{0%,to{opacity:.5}50%{opacity:1}}.content{background:var(--bg);justify-content:center;align-items:center;min-height:100svh;padding:2rem;display:flex}.content.is-fading{opacity:0;transition:opacity .7s 2.1s,transform .7s 2.1s;transform:translateY(14px)}.content.is-fading.is-visible{opacity:1;transform:none}.morphing .letter,.morphing .content{view-transition-name:card}::view-transition-group(card){animation-duration:.9s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(card){object-fit:cover;width:100%;height:100%}::view-transition-new(card){object-fit:cover;width:100%;height:100%}::view-transition-new(card){animation:none}::view-transition-old(card){opacity:0;animation:none}::view-transition-group(title){animation-duration:.9s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(title){animation-duration:.9s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-new(title){animation-duration:.9s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(root){animation-duration:.9s}::view-transition-new(root){animation-duration:.9s}.names{letter-spacing:.04em;text-align:center;text-wrap:balance;margin:0;font-weight:400}.morphing .names{view-transition-name:title}.content .names{font-size:clamp(1.9rem,8.5vw,5rem)}@media (prefers-reduced-motion:reduce){.stage,.envelope,.letter,.env-flap,.seal,.hint,.content{transition:none;animation:none}}
