/* Imperial Dawn: independent world, two character planes, light and atmosphere. */
.h-hero{--world-x:0px;--world-y:0px;--knight-x:0px;--knight-y:0px;--elf-x:0px;--elf-y:0px;--mist-x:0px}
.h-hero-art{animation:none;transform:none;z-index:-4;transition:opacity 1.1s ease}
.h-scene{position:absolute;inset:0;z-index:-3;pointer-events:none;opacity:0;transition:opacity 1.1s ease;overflow:hidden}
.scene-ready .h-scene{opacity:1}
.scene-ready .h-hero-art{opacity:0}
.h-scene-frame{position:absolute;inset:-24px -24px 0}
.h-scene-layer{position:absolute;inset:0;background-size:cover;background-position:center 26%;background-repeat:no-repeat;transform-origin:50% 50%}
.h-scene-world{transform:translate3d(var(--world-x),var(--world-y),0) scale(1.025);z-index:0}
.scene-ready .h-scene-world{background-image:url('/assets/imperial/hero-world.webp')}
.h-scene-knight,.h-scene-elf{z-index:3}
.scene-ready .h-scene-knight,.scene-ready .h-scene-elf{background-image:url('/assets/imperial/hero-characters.webp')}
.h-scene-knight{clip-path:inset(0 50% 0 0);transform:translate3d(var(--knight-x),var(--knight-y),0) scale(1.025)}
.h-scene-elf{clip-path:inset(0 0 0 50%);transform:translate3d(var(--elf-x),var(--elf-y),0) scale(1.025)}
.h-scene-rays{position:absolute;inset:-28% -18%;z-index:1;opacity:.42;transform-origin:70% 0;background:conic-gradient(from 195deg at 70% 0%,transparent 0deg,#fff8e43d 6deg,transparent 13deg,transparent 19deg,#fff9dc7a 22deg,#fff4c524 27deg,transparent 29deg,transparent 38deg,#fff4dd57 41deg,transparent 49deg,transparent 360deg);mix-blend-mode:screen;animation:dawn-rays 22s ease-in-out infinite alternate}
.h-scene-mist{position:absolute;inset:25% -18% -20%;pointer-events:none;background:radial-gradient(ellipse at 18% 65%,#fff9e75c,transparent 38%),radial-gradient(ellipse at 76% 56%,#fffaf273,transparent 32%),radial-gradient(ellipse at 50% 78%,#e8f0f14f,transparent 42%);opacity:.28;animation:dawn-mist-far 36s ease-in-out infinite alternate;z-index:2}
.h-scene-mist-near{inset:55% -22% -25%;background:radial-gradient(ellipse at 24% 72%,#f2ead283,transparent 36%),radial-gradient(ellipse at 77% 53%,#f7f0db55,transparent 32%);opacity:.32;animation:dawn-mist-near 27s ease-in-out infinite alternate;z-index:4}
.h-motion-toggle{position:absolute;z-index:2;right:22px;bottom:19px;min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #d2ba8159;border-radius:3px;color:#f3dfb7;background:#132735bf;backdrop-filter:blur(10px);font-size:10px;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,border-color .2s}
.h-motion-toggle[hidden]{display:none}
.h-motion-toggle .icon{width:11px;height:11px}
.h-motion-toggle[aria-pressed=true] .icon{fill:currentColor;stroke-width:.8}
.h-motion-toggle:hover:not(:disabled){border-color:#f2d397;background:#233e4bed}
.h-motion-toggle:focus-visible{outline:2px solid #f3d994;outline-offset:4px}
.h-motion-toggle:disabled{opacity:.7;cursor:default}
.h-hero[data-scene-motion=running] .h-scene-layer{will-change:transform}
.h-hero:not([data-scene-motion=running]) .h-scene-rays,.h-hero:not([data-scene-motion=running]) .h-scene-mist,.h-hero:not([data-scene-motion=running]) .h-hero-aura,.h-hero:not([data-scene-motion=running]) .h-particles i,.h-hero:not([data-scene-motion=running]) .h-scroll,.h-hero:not([data-scene-motion=running]) .h-hero-cta:after{animation-play-state:paused}
.h-hero[data-scene-motion=paused] h1 img{animation:none}
@keyframes dawn-rays{from{transform:rotate(-3deg) scale(1.02);opacity:.25}to{transform:rotate(3deg) scale(1.045);opacity:.55}}
@keyframes dawn-mist-far{from{transform:translate3d(calc(var(--mist-x) - 35px),8px,0) scale(1.02);opacity:.22}to{transform:translate3d(calc(var(--mist-x) + 35px),-9px,0) scale(1.06);opacity:.4}}
@keyframes dawn-mist-near{from{transform:translate3d(45px,0,0);opacity:.23}to{transform:translate3d(-45px,-16px,0);opacity:.4}}
@media(max-width:900px){.h-scene-layer{background-position:50% top}.h-scene-frame{inset:0 -24px}.h-hero[data-scene-motion=running] .h-scene-layer{will-change:auto}.h-motion-toggle{right:14px;bottom:14px;font-size:9px}.h-scene-rays{opacity:.3}.h-particles i:nth-child(n+13){display:none}}
@media(max-width:600px){.h-scene-frame{inset:0 -55%}.h-scene-layer{background-size:auto 850px;background-position:50% top;transform:none}.h-scene-mist-near{opacity:.22}.h-motion-toggle{padding:6px 8px;min-height:32px;letter-spacing:.025em}.h-scene-rays{animation-duration:28s}}
@media(prefers-reduced-motion:reduce){.h-scene,.h-hero-art{transition:none}.h-scene-layer{transform:none!important}.h-scene-rays,.h-scene-mist{animation:none!important}.h-scene-mist-near{opacity:.15}.h-hero .h-scroll,.h-hero .h-hero-cta:after{animation:none}.h-hero h1 img{animation:none}}
