/* The landscape, planet, orbital hardware and edition form separate depth planes. */
.hero-scene{inset:-6%;overflow:hidden;background:#020812;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(1.03);animation:none;filter:none;perspective:1200px}
.hero-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none;animation:sky-flight 26s ease-in-out infinite alternate;will-change:transform}
@keyframes sky-flight{from{transform:scale(1.05) translate3d(-.8%,0,0)}to{transform:scale(1.13) translate3d(1.4%,-1.1%,0)}}
.sky-nebula{position:absolute;inset:-18%;background:radial-gradient(ellipse at 73% 35%,#7eaab216 0%,transparent 29%),radial-gradient(ellipse at 93% 51%,#e9c58a1d 0%,transparent 32%);mix-blend-mode:screen;filter:blur(35px);animation:nebula-pulse 13s ease-in-out infinite alternate;pointer-events:none}
@keyframes nebula-pulse{to{transform:translate3d(-4%,3%,0) scale(1.1);opacity:.62}}
.hero-planet-wrap{--orbit-radius:clamp(300px,31vw,570px);position:absolute;z-index:2;width:clamp(600px,51vw,920px);aspect-ratio:1;right:3%;top:2%;transform:translate3d(var(--planet-x,0px),var(--planet-y,0px),0) rotateX(var(--planet-tilt,0deg));transform-style:preserve-3d;animation:planet-drift 17s ease-in-out infinite alternate;will-change:transform;pointer-events:none}
@keyframes planet-drift{to{translate:-2.4% 2.3%;rotate:1.4deg}}
.hero-planet-wrap .planet-body{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:contain;max-width:none;filter:drop-shadow(20px 10px 37px #020810b8) drop-shadow(0 0 30px #e0bd7749);animation:planet-breathe 11s ease-in-out infinite alternate}
@keyframes planet-breathe{to{transform:scale(1.035);filter:drop-shadow(28px 15px 44px #020810c9) drop-shadow(0 0 48px #f3d39880)}}
.planet-halo{position:absolute;inset:-20%;border-radius:50%;background:radial-gradient(circle,#f9d49113 0 38%,#a7c6c613 43%,transparent 63%);filter:blur(22px);animation:halo-beat 7s ease-in-out infinite alternate}
@keyframes halo-beat{to{transform:scale(1.1);opacity:.6}}
.planet-orbit{position:absolute;z-index:1;left:-12%;top:14%;width:125%;height:77%;border:1px solid #dec28c71;border-radius:50%;box-shadow:0 0 24px #d9be8830,inset 0 0 15px #d9be8820;transform:rotate(-24deg) rotateX(68deg);transform-style:preserve-3d;animation:ring-precession 28s linear infinite}
.orbit-inner{left:-2%;top:20%;width:106%;height:65%;border-color:#a9c4cf65;animation-duration:36s;animation-direction:reverse}
.orbit-front{z-index:3;left:-12%;top:14%;border-color:transparent transparent #f1d59ab8 #c2d6d17a;box-shadow:none;animation-duration:28s}
@keyframes ring-precession{50%{transform:rotate(-15deg) rotateX(62deg) rotateY(10deg)}to{transform:rotate(-24deg) rotateX(68deg) rotateY(0)}}
.planet-orbit i{position:absolute;top:49%;left:50%;width:8px;height:8px;border-radius:50%;background:#f9deb0;box-shadow:0 0 8px 3px #ffe2a6,0 0 26px 12px #edc4879a;animation:orbit-tracer 10s linear infinite}
.orbit-inner i{width:4px;height:4px;background:#badce4;box-shadow:0 0 14px #d9f6ff;animation-duration:15s;animation-delay:-7s}
.orbit-front i{animation-delay:-5s;animation-duration:12s}
@keyframes orbit-tracer{from{transform:rotate(0deg) translateX(var(--orbit-radius)) rotate(0deg)}to{transform:rotate(360deg) translateX(var(--orbit-radius)) rotate(-360deg)}}
.horizon-light{position:absolute;z-index:3;right:7%;bottom:6%;height:34%;width:38%;background:radial-gradient(ellipse at 52% 3%,#f4d09458,transparent 23%),repeating-linear-gradient(0deg,transparent 0 14px,#f3d6a516 15px 16px,transparent 18px 29px);mix-blend-mode:screen;opacity:.5;mask-image:linear-gradient(to bottom,transparent,#000 35%,transparent 92%);animation:water-shimmer 5s ease-in-out infinite alternate;pointer-events:none}
@keyframes water-shimmer{to{transform:translateX(2%) scaleX(1.14);opacity:.82}}
.lake-mist{position:absolute;z-index:3;left:-12%;right:-12%;bottom:8%;height:21%;background:radial-gradient(ellipse at 60% 65%,#a9d1dd31,transparent 55%),linear-gradient(90deg,transparent,#9abac128,transparent);filter:blur(20px);opacity:.5;animation:mist-flow 19s ease-in-out infinite alternate;pointer-events:none}
@keyframes mist-flow{to{transform:translateX(7%);opacity:.8}}
.hero:before{background:linear-gradient(90deg,#02070ff5 0%,#02070fe4 30%,#02070f8c 54%,#02070f1f 78%),linear-gradient(0deg,#030810 0%,transparent 29%,transparent 80%,#03081096 100%)}
.hero-book-fallback,.has-webgl .hero-book-fallback{width:min(27vw,380px);right:5%;bottom:9%;transform:perspective(1100px) rotateY(calc(-17deg + var(--book-turn,0deg))) rotateX(var(--book-lift,0deg)) rotateZ(2deg);transform-style:preserve-3d;filter:drop-shadow(8px 23px 24px #000b)}
.artifact-shell{transform-style:preserve-3d;background:linear-gradient(135deg,#2d4b5c50,#030b149e 61%)}
.edition-book{position:relative;transform-style:preserve-3d;transform:translateZ(23px) rotateY(-5deg);filter:drop-shadow(16px 20px 16px #000b)}
.edition-book img{position:relative;z-index:3;display:block;width:100%;height:auto;max-height:none;aspect-ratio:1600/2265;object-fit:cover;transform:translateZ(17px);box-shadow:0 0 0 1px #e0ceaa85,0 18px 30px #000c;backface-visibility:hidden}
.edition-book-pages{position:absolute;right:-13px;top:7px;width:32px;height:calc(100% - 7px);background:repeating-linear-gradient(90deg,#d3c7ae 0 2px,#a9a79e 2px 3px,#e7e0cf 3px 5px);transform:rotateY(90deg) translateZ(4px);box-shadow:4px 6px 20px #000b}
.edition-book-spine{position:absolute;left:-17px;top:0;width:32px;height:100%;background:linear-gradient(90deg,#07121d,#94734a 65%,#e6c994);transform:rotateY(-90deg) translateZ(0);box-shadow:0 5px 25px #000a}
.edition-book:after{content:'';position:absolute;left:0;bottom:-12px;width:100%;height:23px;background:repeating-linear-gradient(0deg,#9b9b94 0 1px,#d9d5c8 1px 3px);transform-origin:top;transform:rotateX(-90deg);box-shadow:0 12px 16px #0009}
.artifact-shell-top,.artifact-shell-bottom{position:relative;z-index:4}
@media(max-width:1000px){.hero-planet-wrap{right:-8%;top:5%;width:65vw}.hero-book-fallback,.has-webgl .hero-book-fallback{width:min(30vw,340px);right:2%}}
@media(max-width:700px){.hero-scene{inset:-5%;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(1.04)}.hero-scene>img{object-position:66% center;animation-duration:32s}.hero-planet-wrap{--orbit-radius:45vw;width:90vw;right:-32%;top:29%;opacity:.78}.planet-orbit{opacity:.62}.hero:before{background:linear-gradient(180deg,#02070ff0 0%,#02070fd9 42%,#02070f50 73%,#02070fe2 100%),linear-gradient(90deg,#02070fd8,transparent 95%)}.hero-book-fallback,.has-webgl .hero-book-fallback{width:min(41vw,210px);right:7%;bottom:8%;transform:perspective(900px) rotateY(-14deg) rotateZ(2deg)}.edition-book{transform:translateZ(12px) rotateY(-5deg)}.edition-book img{transform:translateZ(10px)}.edition-book-spine,.edition-book-pages{width:16px}.horizon-light{right:-4%;width:55%;bottom:4%}.lake-mist{bottom:8%}}
@media(prefers-reduced-motion:reduce){.hero-scene>img,.sky-nebula,.hero-planet-wrap,.planet-body,.planet-halo,.planet-orbit,.planet-orbit i,.horizon-light,.lake-mist{animation:none!important}.hero-scene,.hero-planet-wrap{transform:none!important}.hero-book-fallback,.has-webgl .hero-book-fallback{animation:none}}
