/* A small story before the story: seed, book, bloom, butterflies, garden. */
#gardenArrival{display:none}.arrival-pending #gardenArrival{display:grid}.arrival-pending{overflow:hidden}.arrival-pending body{overflow:hidden}
#gardenArrival{position:fixed;inset:0;z-index:10000;place-items:center;overflow:hidden;isolation:isolate;background:#fff3cf;color:#654082;transition:opacity .75s ease,visibility .75s;touch-action:manipulation}
#gardenArrival::before{content:'';position:absolute;inset:-20%;z-index:-1;background:radial-gradient(ellipse at 50% 43%,#fffdf0 0%,#fff5d8 24%,#efe7d93b 46%,#e9d9ef55 67%,#f8e8bc 100%);animation:arrival-light 5s ease-in-out both}
.arrival-halo{position:absolute;left:50%;top:46%;width:min(580px,125vw);aspect-ratio:1;translate:-50% -50%;border:1px solid #baa27726;border-radius:50%;box-shadow:0 0 100px #d5bddc33,inset 0 0 80px #ffffff55;animation:arrival-halo 3.6s ease-out both;pointer-events:none}
.arrival-halo::before,.arrival-halo::after{content:'';position:absolute;inset:29px;border:1px dashed #bca6c142;border-radius:50%;rotate:20deg}.arrival-halo::after{inset:75px;border-style:solid;border-color:#ccb28720}
.arrival-content{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;width:min(560px,94vw);padding:20px 15px}
.arrival-brand{font:800 10px/1.4 'Nunito',sans-serif;letter-spacing:2.7px;text-transform:uppercase;color:#907998;animation:arrival-words .7s both}
.arrival-scene{position:relative;width:360px;height:300px;max-width:90vw;perspective:900px;margin:4px auto 0}
.arrival-book{position:absolute;left:50%;bottom:35px;width:228px;height:142px;translate:-50% 0;transform:rotateX(48deg) rotateZ(-7deg);transform-style:preserve-3d;animation:arrival-book 1.2s cubic-bezier(.2,.7,.2,1) both}
.arrival-book::after{content:'';position:absolute;inset:25% -8% -20%;border-radius:50%;background:#79598d28;filter:blur(14px);transform:translateZ(-20px)}
.arrival-page{position:absolute;top:0;width:50%;height:100%;background:repeating-linear-gradient(0deg,#eee0bd 0 2px,#fff6de 2px 5px);border:1px solid #e4cea3;border-bottom:7px solid #9865c5;box-shadow:0 6px 0 #6f419a,0 10px 15px #68487530;transform-style:preserve-3d}
.arrival-page::before{content:'';position:absolute;inset:0 0 8px;background:linear-gradient(100deg,#fff5dd,#fffdf2 68%,#e1cea65c);border-radius:inherit}
.arrival-page.left{left:0;border-radius:18px 2px 5px 22px;transform-origin:right center;animation:arrival-left 1.1s .15s cubic-bezier(.2,.7,.2,1) both}
.arrival-page.right{right:0;border-radius:2px 18px 22px 5px;transform-origin:left center;animation:arrival-right 1.1s .15s cubic-bezier(.2,.7,.2,1) both}
.arrival-page.left::before{background:linear-gradient(80deg,#fff7e4,#fffdf2 60%,#d4bc8e55)}
.arrival-page i{position:absolute;width:55%;height:2px;background:#b39b702e;left:21%;top:35%;transform:translateZ(2px);box-shadow:0 10px #b39b702e,0 20px #b39b702e,0 30px #b39b702e;opacity:.65}
.arrival-page.right i{width:42%;left:25%;top:48%;height:18px;border:1px solid #c6a95b99;border-radius:50%;background:none;box-shadow:0 0 0 6px #e5cd7a22}
.arrival-seed{position:absolute;width:14px;height:19px;border-radius:60% 20% 60% 40%;background:linear-gradient(135deg,#c89955,#eaca8b);box-shadow:0 0 25px 8px #f3d39088;left:calc(50% - 7px);bottom:98px;animation:arrival-seed 1.1s ease both}
.arrival-plant{position:absolute;left:50%;bottom:80px;width:210px;height:212px;translate:-50% 0;overflow:visible;filter:drop-shadow(0 5px 5px #7a935c18)}
.arrival-plant .stem{fill:none;stroke:#71944f;stroke-width:5;stroke-linecap:round;stroke-dasharray:280;stroke-dashoffset:280;animation:arrival-stem 1.25s .45s ease-out forwards}
.arrival-plant .leaf{fill:#83ad58;stroke:#668a42;stroke-width:1;transform-box:fill-box;transform-origin:50% 100%;animation:arrival-leaf .7s ease-out both;animation-delay:var(--delay,.9s)}
.arrival-plant .leaf.alt{fill:#a3bd6e}.arrival-plant .vein{fill:none;stroke:#547d3c;stroke-width:1.4;opacity:.55;animation:arrival-words .5s 1.3s both}
.arrival-bloom{position:absolute;left:var(--x);top:var(--y);width:45px;height:45px;animation:arrival-flower .8s var(--delay) cubic-bezier(.2,.9,.3,1.3) both;filter:drop-shadow(0 3px 3px #8f6b9528)}
.arrival-bloom b{position:absolute;width:20px;height:27px;left:13px;top:0;border-radius:60%;background:var(--petal);transform-origin:50% 23px;transform:rotate(calc(var(--p)*72deg));box-shadow:inset -2px -3px 5px #69457418,inset 2px 3px 5px #fff8}
.arrival-bloom::after{content:'';position:absolute;left:14px;top:15px;width:17px;height:17px;border-radius:50%;background:#efc259;box-shadow:inset 2px 2px 4px #fff4,0 2px 2px #a66d4b25}
.arrival-firefly{position:absolute;left:50%;top:45%;width:var(--size,4px);height:var(--size,4px);border-radius:50%;background:#dfb663;box-shadow:0 0 12px 4px #edc87866;animation:arrival-mote 3.8s var(--delay) ease-out both;pointer-events:none}
.arrival-butterfly{position:absolute;left:50%;top:46%;width:35px;height:31px;z-index:4;perspective:120px;animation:arrival-flight 2s var(--delay) cubic-bezier(.25,.3,.4,1) both;pointer-events:none}
.arrival-butterfly b{position:absolute;width:18px;height:24px;top:0;background:var(--wing);border-radius:80% 40% 70% 35%;box-shadow:inset 3px 3px 7px #fff6,inset -2px -3px 4px #654c7c26;transform-origin:100% 50%;animation:arrival-flap .24s ease-in-out infinite alternate}
.arrival-butterfly b::after{content:'';position:absolute;width:13px;height:15px;left:5px;top:16px;border-radius:60%;background:inherit;box-shadow:inset -2px -2px 5px #795b8518}
.arrival-butterfly b:last-child{left:18px;scale:-1 1;animation-delay:-.1s}.arrival-butterfly::after{content:'';position:absolute;width:3px;height:24px;left:17px;top:8px;border-radius:50%;background:#70516f}
.arrival-content h1{font:600 clamp(30px,4.5vw,43px)/1.16 'Baloo 2',Georgia,serif;letter-spacing:-1px;margin:0 0 9px;color:#77509e;animation:arrival-words .7s .35s both}
.arrival-content>p{font:600 13px/1.8 'Nunito',sans-serif;color:#998073;margin:0;animation:arrival-words .7s .7s both}
.arrival-status{font:700 9px/1.5 'Nunito',sans-serif;letter-spacing:1.2px;color:#a18c80;min-height:15px;margin-top:23px;transition:opacity .2s}
.arrival-skip{position:absolute;bottom:max(29px,env(safe-area-inset-bottom));left:50%;translate:-50% 0;min-height:44px;white-space:nowrap;padding:11px 22px;border:1px solid #b9a0c347;border-radius:30px;background:#fffaf07a;color:#8a7096;font:800 11px 'Nunito',sans-serif;cursor:pointer;z-index:6}
.arrival-skip:hover{background:#fffaf0}.arrival-skip:focus-visible{outline:3px solid #b49acb;outline-offset:4px}
#gardenArrival.is-leaving{opacity:0;visibility:hidden;pointer-events:none}#gardenArrival.is-leaving .arrival-content{transition:transform .8s ease,filter .8s ease;transform:translateY(-16px) scale(1.07);filter:blur(2px)}
@keyframes arrival-book{from{opacity:0;transform:translateY(45px) rotateX(70deg) rotateZ(-7deg) scale(.5)}to{opacity:1;transform:rotateX(48deg) rotateZ(-7deg)}}
@keyframes arrival-left{from{transform:rotateY(76deg)}to{transform:rotateY(-8deg)}}@keyframes arrival-right{from{transform:rotateY(-76deg)}to{transform:rotateY(8deg)}}
@keyframes arrival-seed{0%{opacity:0;transform:translateY(-65px) rotate(-60deg) scale(.4)}45%{opacity:1;transform:translateY(0) rotate(15deg)}75%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.3)}}
@keyframes arrival-stem{to{stroke-dashoffset:0}}@keyframes arrival-leaf{from{opacity:0;transform:scale(.05) rotate(-24deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes arrival-flower{from{opacity:0;transform:scale(.05) rotate(-50deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes arrival-words{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes arrival-halo{from{opacity:0;scale:.65;rotate:-20deg}to{opacity:1;scale:1;rotate:0}}@keyframes arrival-light{50%{filter:hue-rotate(-6deg);transform:scale(1.05)}}
@keyframes arrival-mote{0%{opacity:0;transform:translate(0,30px) scale(.2)}20%{opacity:.8}85%{opacity:.7}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.4)}}
@keyframes arrival-flight{0%{opacity:0;transform:translate(0,35px) scale(.15) rotate(-20deg)}12%{opacity:1}50%{opacity:1;transform:translate(calc(var(--dx)*.4),calc(var(--dy)*.4 - 20px)) scale(.85) rotate(var(--turn))}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.3) rotate(calc(var(--turn)*-1))}}@keyframes arrival-flap{from{transform:rotateY(15deg) rotateZ(-10deg)}to{transform:rotateY(70deg) rotateZ(-10deg)}}
@media(max-width:600px){.arrival-scene{height:270px;scale:.88;margin:-8px auto -14px}.arrival-brand{font-size:8px;letter-spacing:2px}.arrival-content{padding-bottom:45px}.arrival-content h1{font-size:32px}.arrival-content>p{font-size:12px;max-width:260px}.arrival-skip{bottom:max(20px,env(safe-area-inset-bottom))}.arrival-halo{top:42%}}
@media(max-height:570px){.arrival-scene{height:210px;scale:.7;margin:-30px auto -25px}.arrival-content h1{font-size:28px}.arrival-status{margin-top:10px}.arrival-content{padding-bottom:35px}.arrival-skip{bottom:8px}}
@media(prefers-reduced-motion:reduce){#gardenArrival *,#gardenArrival::before{animation:none!important}.arrival-plant .stem{stroke-dashoffset:0}.arrival-seed,.arrival-firefly,.arrival-butterfly{display:none}.arrival-content h1,.arrival-content>p,.arrival-brand{opacity:1}#gardenArrival,#gardenArrival.is-leaving .arrival-content{transition:opacity .18s;transform:none;filter:none}}
