.castle-entrance{position:fixed;inset:0;z-index:100;background:#f3f5f7;overflow:hidden;perspective:1400px;animation:castle-world-fade 1.05s 5.55s ease-in-out both}.castle-entrance:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,#fff 10%,#e8eef3 100%);opacity:.7}.castle-intro-title{position:absolute;top:6%;left:5%;right:5%;text-align:center;animation:title-fade .7s 5.1s both}.castle-intro-title>span{font:400 12px var(--body);letter-spacing:1px;color:#8297a8}.castle-intro-title p{font:400 clamp(28px,3.2vw,45px)/1.12 var(--display);letter-spacing:-1.8px;color:#46657e;margin:15px 0}.paper-stage{position:absolute;width:min(900px,94vw);aspect-ratio:900/650;left:50%;top:55%;transform:translate(-50%,-50%);perspective:1400px;animation:stage-arrive .7s both,stage-approach 1.2s 5.15s ease-in both}.flat-book{position:absolute;left:11.1%;top:46.9%;width:77.8%;height:53.8%;transform-style:preserve-3d;transform:translateX(-25%) rotateX(20deg) rotateZ(-7deg);animation:book-lay-flat 1.5s .7s cubic-bezier(.3,.65,.2,1) forwards}.page{position:absolute;top:0;bottom:0;width:50%;background:#fffdf8;border:1px solid #d7d9d9;border-radius:3px 10px 10px 3px;box-shadow:0 3px 0 #d8d8d1,0 7px 0 #edeae1,0 12px 25px #6a7f8f26;overflow:hidden}.page:after{content:'';position:absolute;inset:9px;border:1px solid #ebe7de;border-radius:2px 8px 8px 2px}.page-left{left:0;border-radius:10px 3px 3px 10px;opacity:0;animation:left-page-in .1s 1.6s both;background:linear-gradient(90deg,#fffdf8 85%,#e0dfda)}.page-right{left:50%;background:linear-gradient(90deg,#dfded8,#fffdf8 12%)}.page-line{position:absolute;top:85%;left:15%;right:15%;border-top:1px solid #d8d4c9;opacity:.45}.book-cover{position:absolute;left:50%;top:-1%;width:50%;height:101%;transform-style:preserve-3d;transform-origin:0 50%;animation:cover-flatten 1.5s .7s cubic-bezier(.4,.1,.2,1) forwards;z-index:3}.book-cover-front,.book-cover-back{position:absolute;inset:0;backface-visibility:hidden;border-radius:3px 10px 10px 3px}.book-cover-front{background:#59788f;color:#f9f1dd;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #7892a6;box-shadow:4px 3px 0 #426178}.book-cover-front:before{content:'';position:absolute;inset:15px;border:1px solid #d9bf8480;border-radius:3px 6px 6px 3px}.book-cover-front>span{font:400 clamp(13px,2vw,26px)/1.15 var(--display);text-align:center;letter-spacing:-.5px}.book-cover-front>svg{width:28%;height:30%;margin:12px 0}.book-cover-front>small{font:400 clamp(7px,.9vw,11px) var(--body);color:#d9dfdf}.book-cover-back{transform:rotateY(180deg);background:#fffdf8;border:1px solid #d9d6cb;box-shadow:inset -20px 0 30px #deddd64d;display:grid;place-items:center;text-align:center}.book-cover-back>span{font:400 clamp(8px,1.1vw,14px)/1.8 var(--display);color:#a1a6a7;margin-top:55%}.book-binding{position:absolute;left:49.5%;width:1%;top:0;bottom:0;background:linear-gradient(90deg,#deded6,#f3f1e9,#d2d2cc);z-index:1}.paper-castle{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 7px 4px #718b9d19);pointer-events:none}.courtyard-floor{transform-origin:450px 490px;animation:floor-unfold .8s 1.85s both}.castle-back{transform-origin:450px 430px;animation:paper-rise 1.2s 1.7s cubic-bezier(.2,.65,.2,1) both}.castle-tower{animation:paper-rise 1.1s 2s cubic-bezier(.2,.65,.2,1) both;transform-origin:225px 435px}.tower-right{animation-delay:2.15s;transform-origin:675px 435px}.castle-front{transform-origin:450px 555px;animation:front-rise .95s 2.5s cubic-bezier(.2,.65,.2,1) both}.dancing-children{animation:children-arrive .6s 3.05s both}.child-dance{transform-origin:0 25px;animation:child-dance var(--tempo) calc(3.55s + var(--delay)) ease-in-out infinite alternate}.child-arms{transform-origin:0 -16px;animation:arms-sway calc(var(--tempo) * 1.2) calc(3.5s + var(--delay)) ease-in-out infinite alternate}.child-legs{transform-origin:0 6px;animation:legs-step var(--tempo) calc(3.5s + var(--delay)) ease-in-out infinite alternate}.castle-sparkles{animation:sparkle-in .8s 3s both}.castle-whisper{position:absolute;bottom:4%;left:5%;right:5%;text-align:center;font:400 11px var(--body);letter-spacing:.2px;color:#93a4b0;animation:children-arrive .7s 3.3s both}.skip-entrance{position:fixed;z-index:101;bottom:25px;right:30px;font-size:10px;color:#8398a8;background:none;border:0;border-bottom:1px solid #b8c6d1;padding:4px 0}.entrance-skipped .entrance,.entrance-skipped .skip-entrance{display:none}.hero-copy{animation:home-in .9s 5.65s both}.hero-photo{animation:home-in 1s 5.8s both}.entrance-skipped .hero-copy,.entrance-skipped .hero-photo{animation-delay:0s}
@keyframes stage-arrive{from{opacity:0;translate:0 30px}to{opacity:1;translate:0 0}}@keyframes book-lay-flat{from{transform:translateX(-25%) rotateX(20deg) rotateZ(-7deg)}to{transform:translateX(0) rotateX(58deg) rotateZ(0deg)}}@keyframes cover-flatten{from{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes left-page-in{to{opacity:1}}@keyframes paper-rise{0%{opacity:0;transform:scaleY(.01) skewX(-10deg)}15%{opacity:1}100%{opacity:1;transform:scaleY(1) skewX(0deg)}}@keyframes floor-unfold{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes front-rise{from{opacity:0;transform:scaleY(.01) skewX(10deg)}to{opacity:1;transform:scaleY(1) skewX(0)}}@keyframes children-arrive{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes child-dance{from{transform:translateY(0) rotate(-5deg)}to{transform:translateY(-7px) rotate(5deg)}}@keyframes arms-sway{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@keyframes legs-step{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes sparkle-in{0%{opacity:0}50%{opacity:.8}100%{opacity:.4}}@keyframes stage-approach{from{scale:1}to{scale:1.12}}@keyframes castle-world-fade{from{opacity:1;visibility:visible}to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes title-fade{to{opacity:0;translate:0 -10px}}@keyframes home-in{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
@media(max-width:650px){.castle-intro-title{top:13%}.castle-intro-title>span{font-size:11px}.castle-intro-title p{font-size:33px;letter-spacing:-1.2px;margin-top:14px}.paper-stage{width:128vw;top:53%}.castle-whisper{bottom:17%;font-size:10px;max-width:250px;margin-left:auto;margin-right:auto}.skip-entrance{bottom:24px;right:22px}.book-cover-front>span{font-size:15px}.book-cover-front>small{font-size:7px}.book-cover-back>span{font-size:8px}}@media(max-height:700px) and (min-width:651px){.paper-stage{width:690px;top:53%}.castle-intro-title{top:3%}.castle-intro-title p{font-size:30px}.castle-whisper{bottom:1%}}
@media(prefers-reduced-motion:reduce){.entrance,.skip-entrance{display:none!important}.hero-copy,.hero-photo{animation:none;opacity:1;translate:none}}
