.invitation-intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 37%,#fffefa 0%,#f3efe6 68%,#e9e3d6 100%);color:#343e32}.invitation-intro[hidden]{display:none!important}body.intro-active{overflow:hidden}.intro-envelope-stage,.intro-art-stage{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.intro-overline{position:absolute;top:max(10vh,54px);font:500 .7rem/1.4 var(--sans);letter-spacing:.32em;color:#81775f;text-align:center}.intro-envelope-wrap{position:relative;width:min(82vw,410px);aspect-ratio:1.43;perspective:1000px;filter:drop-shadow(0 22px 20px #554a3929)}.intro-envelope{position:absolute;inset:0;transform-style:preserve-3d}.intro-envelope-back{position:absolute;inset:0;background:#e7decf;border:1px solid #d4c8b5}.intro-letter{position:absolute;z-index:2;inset:9% 6% 4%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fffdf8;border:1px solid #e9e0d0;box-shadow:0 2px 8px #534c3a18;transform:translateY(0);transition:transform .65s cubic-bezier(.2,.75,.2,1) .18s}.intro-letter span{font:clamp(2.4rem,10vw,3.9rem)/1 var(--script);white-space:nowrap}.intro-letter i{font:italic .5em var(--serif);color:#a89671}.intro-letter small{font:500 .65rem var(--sans);letter-spacing:.2em}.intro-envelope-front{position:absolute;z-index:4;inset:0;background:linear-gradient(150deg,#faf7f0 0%,#efe7d9 55%,#e8dfd1 100%);clip-path:polygon(0 0,50% 57%,100% 0,100% 100%,0 100%);border:1px solid #dbcfbf}.intro-envelope-front:after{content:"";position:absolute;inset:0;background:linear-gradient(24deg,transparent 49.8%,#dacdbb 50%,transparent 50.2%),linear-gradient(156deg,transparent 49.8%,#dacdbb 50%,transparent 50.2%);opacity:.65}.intro-envelope-flap{position:absolute;z-index:5;inset:0;background:linear-gradient(180deg,#fffefa 0%,#f2eadc 100%);clip-path:polygon(0 0,100% 0,50% 57%);transform-origin:top center;backface-visibility:visible;transition:transform .8s cubic-bezier(.25,.6,.2,1)}.intro-seal{position:absolute;z-index:6;top:57%;left:50%;display:grid;place-items:center;width:72px;height:72px;padding:0;border:1px solid #b9a87b;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e9d9a9,#b69e68 70%,#987c4d);box-shadow:0 3px 8px #5a4b3270,inset 0 0 0 4px #d8c690,inset 0 0 0 5px #ab925d;color:#fff8e6;transform:translate(-50%,-50%);transition:transform .45s,opacity .45s;cursor:pointer}.intro-seal span{font:1.65rem/1 var(--script);white-space:nowrap}.intro-seal i{font:italic .6em var(--serif)}.intro-seal:hover{transform:translate(-50%,-50%) scale(1.06)}.intro-seal:focus-visible,.intro-skip:focus-visible,.intro-art-bottom button:focus-visible{outline:3px solid #9a8357;outline-offset:5px}.intro-hint{position:absolute;bottom:max(11vh,70px);font:400 .84rem/1.5 var(--sans);letter-spacing:.08em;color:#726e63;text-align:center}.intro-skip{position:absolute;z-index:10;top:max(22px,env(safe-area-inset-top));right:24px;border:0;border-bottom:1px solid currentColor;padding:6px 0;background:#f8f4e7d9;color:#435043;font:500 .78rem var(--sans);cursor:pointer}.intro-art-stage{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.025);transition:opacity .8s ease,transform .9s ease,visibility 0s linear .8s}.intro-art-panel{position:relative;width:min(100%,580px);height:100%;overflow:hidden;background:#f7f2e8;box-shadow:0 0 65px #3f483324}.intro-art-panel>img{width:100%;height:100%;object-fit:cover;object-position:center center}.intro-art-copy{position:absolute;top:clamp(70px,10.5vh,132px);left:20px;right:20px;text-align:center;color:#3b4539;text-shadow:0 1px 10px #fff8e8}.intro-art-copy>p:first-child{font:500 .75rem/1.4 var(--sans);letter-spacing:.35em}.intro-art-copy h2{margin:15px auto 4px;font:clamp(4rem,7vw,5.2rem)/.95 var(--script);max-width:460px}.intro-art-copy h2 span{display:inline-block;font:italic .4em var(--serif);color:#9c8a66;vertical-align:middle;padding:0 .05em}.intro-art-rule{width:55px;height:1px;margin:18px auto;background:#9c8a66}.intro-art-date{font:italic 500 clamp(1.15rem,4vw,1.65rem)/1.2 var(--serif);letter-spacing:.12em}.intro-art-bottom{position:absolute;bottom:max(30px,env(safe-area-inset-bottom) + 26px);left:20px;right:20px;display:flex;flex-direction:column;align-items:center;gap:15px;text-align:center}.intro-art-bottom p{display:inline-block;padding:5px 12px;background:#fffdf2e8;color:#3b4539;font:500 .72rem/1.4 var(--sans);letter-spacing:.08em}.intro-art-bottom .button{width:min(100%,320px);box-shadow:0 7px 20px #2630273b}.invitation-intro.is-opening .intro-envelope-flap{transform:rotateX(180deg)}.invitation-intro.is-opening .intro-letter{transform:translateY(-38%)}.invitation-intro.is-opening .intro-seal{opacity:0;transform:translate(-50%,-50%) scale(.55);pointer-events:none}.invitation-intro.is-revealed .intro-envelope-stage{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s,visibility 0s linear .5s}.invitation-intro.is-revealed .intro-art-stage{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .8s ease,transform .9s ease,visibility 0s}.invitation-intro.is-closing{opacity:0;transition:opacity .35s ease;pointer-events:none}
.intro-birds{position:absolute;top:30%;left:0;width:100%;height:15%;overflow:hidden;pointer-events:none;color:#526761}.intro-bird{position:absolute;left:22%;top:12%;width:52px;height:29px;opacity:.78;overflow:visible;filter:drop-shadow(0 0 1px #fff7e8);animation:bird-drift 7.5s ease-in-out infinite alternate;animation-play-state:paused}.intro-bird:nth-child(2){left:57%;top:38%;width:41px;height:24px;opacity:.67;animation-duration:6.8s;animation-delay:-2s}.intro-bird:nth-child(3){left:40%;top:25%;width:35px;height:20px;opacity:.69;animation-duration:8.2s;animation-delay:-3s}.intro-bird path{stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;fill:none}.intro-bird .bird-wash{stroke:#9cae99;stroke-width:2.3;opacity:.55}.intro-bird .bird-body{stroke-width:1.8;opacity:.8}.bird-left-wing,.bird-right-wing{transform-box:view-box;transform-origin:44px 25px;animation-duration:.72s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;animation-play-state:paused}.bird-left-wing{animation-name:bird-flap-left}.bird-right-wing{animation-name:bird-flap-right}.is-revealed .intro-bird,.is-revealed .bird-left-wing,.is-revealed .bird-right-wing{animation-play-state:running}@keyframes bird-drift{0%{transform:translate(-20px,9px) scale(1)}50%{transform:translate(10px,-4px) scale(.9)}100%{transform:translate(38px,-13px) scale(.82)}}@keyframes bird-flap-left{from{transform:rotate(12deg)}to{transform:rotate(-13deg)}}@keyframes bird-flap-right{from{transform:rotate(-12deg)}to{transform:rotate(13deg)}}
@media(max-width:600px){.intro-envelope-wrap{width:min(84vw,370px)}.intro-seal{width:64px;height:64px}.intro-overline{top:max(9vh,50px)}.intro-hint{bottom:max(12vh,70px)}.intro-art-copy h2{font-size:clamp(3.2rem,16vw,5.2rem)}.intro-art-panel{box-shadow:none}}
@media(max-height:650px){.intro-overline{top:32px}.intro-hint{bottom:30px}.intro-envelope-wrap{width:min(70vw,310px)}.intro-art-copy{top:48px}.intro-art-bottom{bottom:20px}}
@media(prefers-reduced-motion:reduce){.invitation-intro *,.invitation-intro{animation:none!important;transition:none!important}.intro-bird:nth-child(1){left:22%}.intro-bird:nth-child(2){left:57%}.intro-bird:nth-child(3){left:39%}}
