/* Independent panorama layers and choreographed entrance. */
.hero{height:min(900px,95svh);min-height:740px;background:#061c2d}.hero__background{background:radial-gradient(ellipse at 70% 25%,#23587288,transparent 54%),radial-gradient(ellipse at 20% 20%,#123b51,transparent 65%),#041727}.hero__background:nth-child(2){background:radial-gradient(ellipse at 70% 30%,#70618988,transparent 65%),#10263e}.hero__background:nth-child(3){background:radial-gradient(ellipse at 60% 30%,#20756a99,transparent 65%),#052536}.hero::before{z-index:5;background:linear-gradient(90deg,#041c30dc 0%,#041c3090 27%,transparent 56%)}.hero::after{z-index:5;background:linear-gradient(0deg,#051b2b66,transparent 35%)}.hero__layers{z-index:3;opacity:1!important}.hero__inner{padding-top:clamp(170px,17vh,220px);pointer-events:none}.hero-copy{pointer-events:none!important;max-width:620px}.hero-copy a{pointer-events:auto}.hero-copy__title{font-size:clamp(56px,5.8vw,88px);line-height:1.04;letter-spacing:-.045em;margin-bottom:25px}.hero-copy p{max-width:345px;font-size:16px;font-weight:400;color:#d6e3e9}.hero__slides{height:410px}.hero__trust{display:none}.hero__bottom{z-index:40}.hero__layers img{position:absolute;object-fit:contain;filter:drop-shadow(0 8px 16px #0003)}.scene-moon img{width:24%;height:auto;left:57%;top:8%;opacity:.9;filter:drop-shadow(0 0 40px #fbe3a944)}.scene-city img{width:112%;max-width:none;height:75%;object-fit:fill;left:-6%;bottom:0;opacity:.95}.scene-terrace{z-index:4}.scene-terrace img{width:108%;max-width:none;height:100%;object-fit:fill;bottom:-4%;left:-4%}.scene-whale img{width:34%;height:auto;left:65%;top:5%;opacity:1;transition:opacity .5s;filter:drop-shadow(0 0 26px #8cd7f244)}.scene-cast{z-index:6}.cast-stack{position:absolute;width:35%;height:57%;bottom:11%;left:50%;max-width:570px;filter:drop-shadow(0 10px 12px #0007)}.cast-stack img{position:absolute;width:100%;height:auto;max-width:none}.book-1{bottom:0;z-index:1}.book-2{bottom:9.4%;z-index:2}.book-3{bottom:18.8%;z-index:3}.book-4{bottom:28.2%;z-index:4}.cast-stack .girl{width:45%;left:15%;bottom:48%;z-index:5}.cast-stack .cat{width:32%;left:56%;bottom:48%;z-index:6}.fall{animation:bookLand 1.4s cubic-bezier(.2,.75,.3,1) both}.book-1{animation-delay:.3s}.book-2{animation-delay:1.2s}.book-3{animation-delay:2.1s}.book-4{animation-delay:3s}.girl{animation-delay:4s}.cat{animation-delay:4.8s}.scene-whale{transition:opacity .4s}.hero.flying .scene-whale{opacity:0}.whale-stage{position:absolute;inset:0;display:block!important;opacity:1!important;z-index:4!important;pointer-events:none}.hero.flying .whale-stage{z-index:35!important}.whale-stage canvas{display:block;width:100%;height:100%}.whale-launch{position:absolute;right:5%;top:auto!important;bottom:140px!important;z-index:39!important;border:1px solid #f7dfac66;background:#082b3ba6;color:#f4e1bc;backdrop-filter:blur(12px);border-radius:40px;padding:11px 20px;font-size:12px;letter-spacing:.04em}.whale-launch:hover{background:#17455a}.starfield{background-image:radial-gradient(1px 1px at 17% 22%,#fff8dc 98%,transparent),radial-gradient(1px 1px at 72% 13%,#a9cde2 98%,transparent),radial-gradient(1.5px 1.5px at 40% 64%,#fff3bf 98%,transparent);background-size:137px 151px,211px 113px,293px 229px}.hero__star--2{left:94%}.hero__star--3{left:57%}.hero__wave{z-index:45}.hero-arrow{z-index:42}.hero__pager{backdrop-filter:blur(12px);background:#071f3266}.site-header{border-bottom-color:#d9e8ec26}.brand__name{font-size:46px}.content-world{background:#faf5ea}.section-pad{padding-block:80px}.book-card{border-radius:6px!important;box-shadow:0 8px 32px #573c1510}.book-card:hover{box-shadow:0 18px 40px #573c1520}.book-card__cover{transition:transform .7s!important}.book-card:hover .book-card__cover{transform:perspective(800px) rotateY(-10deg) rotateZ(-2deg) translateY(-6px)!important}.book-card__rating{display:none}.source-note{font-size:11px;opacity:.65}.btn{font-weight:500;padding:15px 26px}.hero .btn--gold{background:#f2d7ad;box-shadow:0 4px 30px #edbe7130}.hero-copy__eyebrow{font-size:10px;letter-spacing:.23em}.hero__bottom{bottom:35px}.slide-thumb{border-radius:5px}.slide-thumb img{border-radius:3px}
@keyframes bookLand{0%{transform:translateY(-1100px) rotate(-12deg);opacity:0}10%{opacity:1}72%{transform:translateY(4px) rotate(1deg)}87%{transform:translateY(-12px) rotate(-.5deg)}100%{transform:translateY(0) rotate(0);opacity:1}}
@media(min-width:1600px){.cast-stack{left:52%;bottom:12%;height:58%}.hero__inner{padding-top:210px}}
@media(max-width:980px) and (min-width:681px){.hero{min-height:800px}.hero-copy__title{font-size:58px}.hero-copy p{max-width:300px}.cast-stack{left:49%;width:46%;bottom:15%;height:49%}.scene-moon img{left:59%;width:30%}.scene-whale img{left:59%;width:43%;top:10%}.scene-terrace img{width:145%;left:-22%}.hero__slides{height:390px}}
@media(max-width:680px){.hero{height:940px;min-height:0;max-height:none}.site-header{height:76px}.brand__name{font-size:34px}.hero__inner{padding-top:125px}.hero-copy{max-width:100%}.hero-copy__title{font-size:clamp(42px,12vw,60px);line-height:1.03;margin:15px 0}.hero-copy__title span:nth-child(2){display:inline}.hero-copy__title span:nth-child(3){display:block}.hero-copy p{font-size:14px;max-width:290px;margin-bottom:19px;line-height:1.5}.hero-copy .btn{padding:12px 20px;font-size:12px}.hero__slides{height:320px}.scene-city img{height:43%;width:200%;left:-55%;bottom:9%}.scene-terrace img{height:55%;width:190%;left:-45%;bottom:0}.scene-moon img{width:51%;top:40%;left:42%;opacity:.9}.cast-stack{width:75%;height:31%;left:12.5%;bottom:14%}.scene-whale img{width:65%;left:39%;top:37%}.hero::before{background:linear-gradient(180deg,#051b2b44 0%,#051b2b00 40%),linear-gradient(90deg,#041c3070,transparent)}.hero__bottom{bottom:25px;gap:8px}.slide-thumbs{display:none}.hero-arrow{bottom:31px}.hero__pager{height:36px}.whale-launch{right:18px!important;bottom:95px!important;top:auto!important;max-width:none!important;font-size:11px!important}.hero__star--1{top:40%;left:15%}.hero__star--2{top:49%;left:85%}.hero__star--3{top:18%;left:90%}.hero-copy__eyebrow{font-size:9px}.section-pad{padding-block:48px}.book-grid{gap:12px}.scene-cast{opacity:1}.hero__wave{height:25px}.hero.flying .whale-stage{z-index:35!important}}
@media(prefers-reduced-motion:reduce){.fall{animation:none!important}.hero__layers{opacity:1}.hero{scroll-behavior:auto}}
.loading{overflow:hidden}.loading .fall,.loading .shooting-star,.loading .hero__star,.loading .glitter i{animation-play-state:paused!important}.preloader{position:fixed;inset:0;z-index:1000;background:radial-gradient(ellipse at 50% 40%,#143c51,#041727 65%);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#f5dfba;transition:opacity .65s,visibility .65s}.preloader[hidden]{display:none}.preloader.finished{opacity:0;visibility:hidden;pointer-events:none}.preloader__brand{font:italic 46px Georgia,serif;letter-spacing:-3px}.preloader__brand i{font-size:30px}.preloader__moon{font:100px Georgia,serif;margin:30px 0 10px;color:#f2d89f;text-shadow:0 0 45px #f6d59066;animation:preloadPulse 2.2s ease-in-out infinite}.preloader p{font:24px Georgia,serif;margin:8px 20px 14px;text-align:center}.preloader__caption{font-size:12px;color:#b1c7d3;letter-spacing:.04em}.preloader__track{width:min(260px,65vw);height:2px;background:#f6dbab22;margin:25px 0 12px}.preloader__track span{display:block;height:100%;background:#eecf91;box-shadow:0 0 12px #eecf9177;width:0;transition:width .2s}.preloader__percent{font-size:11px;font-variant-numeric:tabular-nums;color:#ddc79f}.preloader button{border:1px solid #eed3a077;background:none;color:#eed3a0;border-radius:30px;padding:10px 20px;margin:25px}@keyframes preloadPulse{50%{opacity:.6;transform:translateY(-5px)}}
/* Reference composition: desktop artwork occupies a 2.14:1 frame. */
@media(min-width:981px){.hero{height:100svh;min-height:720px;max-height:1100px}.hero__inner{width:min(69%,1320px);padding-top:25.5vh}.hero-copy{width:38vw;max-width:580px}.hero-copy__title{font-size:clamp(56px,5.1vw,98px);line-height:1.04;letter-spacing:-.042em}.hero-copy__title em{display:block;max-width:580px}.hero-copy p{font-size:clamp(14px,.86vw,17px);max-width:340px}.hero__slides{height:auto}.hero__bottom{width:min(69%,1320px);bottom:30px}.site-header{width:min(75%,1440px);height:100px}.scene-moon img{left:58%;top:10%;width:22%;height:auto}.cast-stack{left:52%;bottom:13%;width:29%;max-width:none;height:53%}.cast-stack .girl{left:16%;width:43%;bottom:48%}.cast-stack .cat{left:62%;width:26%;bottom:48%}.scene-city img{height:73%;width:100%;left:0;bottom:0;object-fit:fill}.scene-terrace img{height:100%;width:100%;left:0;bottom:0;object-fit:fill}.scene-whale img{top:12%;left:70%;width:28%}.hero-arrow{top:auto;bottom:45%;width:48px;height:48px}.hero-arrow--prev{left:22px}.hero-arrow--next{right:22px}.whale-launch{right:5%!important;bottom:15%!important}.hero__star--2{top:35%}.hero__star--3{top:36%}.slide-thumbs{gap:8px}.slide-thumb{width:145px}.slide-thumb img{height:68px}}
@media(min-width:981px) and (max-width:1400px){.hero__inner{padding-top:22vh;width:78%}.hero-copy{max-width:470px;width:43vw}.hero-copy__title{font-size:clamp(52px,5.2vw,73px)}.hero-copy p{max-width:300px}.site-header{width:90%}.hero__bottom{width:78%}.cast-stack{left:53%;width:34%;height:46%;bottom:13%}.scene-moon img{left:61%;width:26%;top:13%}.scene-whale img{left:69%;width:31%;top:14%}.scene-terrace img{width:115%;left:-7.5%}}
@media(min-width:981px) and (max-height:800px){.hero{min-height:680px}.hero__inner{padding-top:160px}.hero-copy__title{font-size:clamp(51px,4.8vw,78px)}.hero-copy p{margin-bottom:18px}.hero-copy__eyebrow{font-size:9px}}
.loading .page-shell *,.loading .page-shell *::before,.loading .page-shell *::after{animation-play-state:paused!important}
.hero__layers{z-index:auto;perspective:none}.starfield{z-index:0}.scene-moon{z-index:1}.scene-city{z-index:2}.scene-whale{z-index:3}.scene-terrace{z-index:4}.scene-cast{z-index:6}.whale-stage{z-index:3!important}.hero.flying .whale-stage{z-index:35!important}
/* Every book has its own physical size; the stack shares one centre. */
.cast-stack .book-1{width:100%;left:0;bottom:0;z-index:1}
.cast-stack .book-2{width:96%;left:2%;bottom:9.4%;z-index:2}
.cast-stack .book-3{width:91%;left:4.5%;bottom:18.8%;z-index:3}
.cast-stack .book-4{width:86%;left:7%;bottom:28.2%;z-index:4}
.whale-stage{visibility:visible}
@media(max-width:680px){.hero-copy__title{font-size:42px}.scene-moon img{top:54%}.scene-whale img{top:51%;left:41%;width:60%}.cast-stack{bottom:13%;height:30%}}
.scenery-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
@media(min-width:981px){.scene-city img{bottom:5%;height:73%}}
/* Final composition follows the supplied original panorama, with a centred cast. */
@media(min-width:981px){
 .hero__inner{width:90%;padding-top:25vh}.hero-copy{width:29vw;max-width:560px}.hero-copy__title{font-size:clamp(47px,4.35vw,84px);line-height:1.05}.hero-copy p{max-width:310px;font-size:15px}
 .cast-stack{left:50%;transform:translateX(-50%);bottom:10%;width:28%;height:45%;max-width:none}
 .cast-stack .book-1{width:100%;left:0;bottom:0;height:32%}
 .cast-stack .book-2{width:104%;left:-2%;bottom:12%;height:31%}
 .cast-stack .book-3{width:94%;left:3%;bottom:24%;height:30%}
 .cast-stack .book-4{width:88%;left:6%;bottom:36%;height:29%}
 .cast-stack .book{object-fit:fill}
 .cast-stack .girl{left:12%;width:44%;bottom:65%;height:auto}
 .cast-stack .cat{left:54%;width:27%;bottom:65%;height:auto}
 .scene-moon img{left:45%;top:10%;width:19%;height:auto}
 .scene-whale img{left:59%;top:3%;width:34%;height:auto}
 .scene-city img{width:100%;left:0;height:78%;bottom:0}
 .scene-terrace img{width:100%;left:0;height:100%;bottom:0}
 .hero__bottom{width:90%;bottom:30px}
}
@media(min-width:681px) and (max-width:980px){.cast-stack{left:58%;transform:translateX(-50%);width:40%;bottom:12%}.scene-moon img{left:50%;width:30%}.hero-copy{max-width:47%}.hero-copy__title{font-size:54px}}
@media(max-width:680px){.cast-stack{left:50%;transform:translateX(-50%);width:75%}}
/* Keep the source panorama's 2.5:1 geometry at every desktop window height. */
@media(min-width:981px){
 .hero{width:100%;height:auto;aspect-ratio:2.5 / 1;min-height:0;max-height:none}
 .hero__layers img{object-fit:contain}
 .scene-terrace img,.scene-city img{width:100%;max-width:none;height:auto;left:0;bottom:0;object-fit:contain}
 .scene-city img{bottom:0}
 .hero__inner{position:absolute;top:24%;left:5%;width:90%;margin:0;padding:0}
 .hero-copy{width:29vw;max-width:560px}.hero-copy__title{font-size:clamp(34px,3.6vw,74px);margin:12px 0 15px;line-height:1.02}.hero-copy p{font-size:clamp(12px,.85vw,16px);line-height:1.4;max-width:310px;margin-bottom:15px}.hero-copy__eyebrow{font-size:clamp(8px,.55vw,11px)}
 .hero .btn{padding:11px 20px;font-size:clamp(11px,.75vw,14px)}
 .site-header{width:90%;height:clamp(65px,5vw,100px)}.brand__name{font-size:clamp(33px,3vw,54px)}.desktop-nav{gap:clamp(10px,1.7vw,29px)}.desktop-nav a{font-size:clamp(10px,.75vw,14px)}
 .cast-stack{left:50%;transform:translateX(-50%);bottom:10%;width:28%;height:45%}
 .cast-stack .girl,.cast-stack .cat{bottom:60%}
 .scene-moon img{top:10%;left:45%;width:19%;height:auto}
 .scene-whale img{top:2%;left:59%;width:34%;height:auto}
 .hero__bottom{bottom:16px}.slide-thumb{width:clamp(80px,8vw,145px)}.slide-thumb img{height:clamp(35px,3.5vw,68px)}.slide-thumb span{font-size:clamp(8px,.55vw,11px)}.hero__pager{padding:8px 13px}.whale-launch{bottom:20%!important;font-size:clamp(10px,.65vw,13px)}.hero-arrow{width:38px;height:38px;bottom:45%}
}

/* Keep the assistant behind the loading scene until all assets are ready. */
body.loading uvb-assistant{visibility:hidden!important;pointer-events:none!important}
