/* Ambient motion uses the game's existing landscape art. */
.landscape{--parallax-x:0px;--parallax-y:0px;transform:translate(var(--parallax-x),var(--parallax-y)) scale(1.04);will-change:transform;transition:transform 1.5s ease-out}
.far{animation:distant-drift 32s ease-in-out infinite alternate;transform-origin:center bottom}
.near{animation:near-drift 24s ease-in-out infinite alternate;transform-origin:center bottom}
.lake{animation:lake-shimmer 9s ease-in-out infinite alternate}
.sky{animation:sky-glow 12s ease-in-out infinite alternate}
@keyframes distant-drift{from{transform:translateX(-1.3%) scale(1.06)}to{transform:translateX(1.3%) scale(1.06)}}
@keyframes near-drift{from{transform:translateX(1.8%) scale(1.08)}to{transform:translateX(-1.8%) scale(1.08)}}
@keyframes lake-shimmer{from{opacity:.75;transform:translateX(-.5%) scale(1.03)}to{opacity:1;transform:translateX(.5%) scale(1.03)}}
@keyframes sky-glow{from{opacity:.84}to{opacity:1}}
.embers{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.ember{position:absolute;bottom:-20px;left:var(--x);width:var(--size);height:var(--size);background:#f5bf6e;box-shadow:0 0 10px #d97a3d99;opacity:0;animation:ember-rise var(--duration) linear infinite;animation-delay:var(--delay);will-change:transform,opacity}
@keyframes ember-rise{0%{opacity:0;transform:translate(0,0) rotate(0deg)}12%{opacity:.8}75%{opacity:.5}100%{opacity:0;transform:translate(var(--drift),-720px) rotate(130deg)}}
.hero h1{animation:title-arrival 1.2s ease-out both}.hero-line{animation:title-arrival 1.2s .12s ease-out both}.hero-description{animation:title-arrival 1.2s .22s ease-out both}.hero-actions{animation:title-arrival 1.2s .32s ease-out both}
@keyframes title-arrival{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.motion-ready .reveal{transition:opacity .75s ease,transform .75s ease;transition-delay:var(--reveal-delay,0ms)}.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
.world-grid figure img,.gallery .shot img{transition:transform .5s ease,border-color .3s ease}.world-grid figure{overflow:hidden}.world-grid figure:hover img{transform:scale(1.025)}.shot:hover img{transform:translateY(-3px)}
.ambience{position:fixed;right:22px;bottom:20px;z-index:8;width:310px;padding:12px 14px;background:#17121eef;color:#f2e3c9;border:1px solid #856345;box-shadow:0 8px 32px #0005;border-radius:4px;backdrop-filter:blur(12px)}.sound-row{display:flex;gap:8px}.sound-row button{min-height:44px;cursor:pointer;background:none;border:0;color:inherit}.sound-row button:hover{color:#e9a553}#music-toggle{display:flex;align-items:center;gap:10px;flex:1;text-align:left;font-size:14px;font-weight:600}.sound-icon{font-size:25px;color:#e9a553;display:inline-block;line-height:1}#music-toggle[aria-pressed=true] .sound-icon{animation:music-breathe 2s ease-in-out infinite}#music-toggle:disabled{opacity:.65;cursor:wait}#motion-toggle{width:44px;border-left:1px solid #654633;font-size:18px}.volume-row{display:flex;align-items:center;gap:10px;font-size:12px;color:#c3b29e}.volume-row label{font-size:12px}#music-volume{width:70px;height:28px;accent-color:#e9a553;cursor:pointer}.track-name{margin-left:auto;font-size:11px}#music-status{font-size:12px;line-height:1.5;margin:0}#music-status:not(:empty){margin-top:6px}@keyframes music-breathe{0%,100%{opacity:.65;transform:scale(.96)}50%{opacity:1;transform:scale(1.08)}}
body.motion-paused *,body.tab-hidden *{animation-play-state:paused!important}body.motion-paused .landscape{transform:scale(1.04);transition:none}body.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}body.motion-paused .world-grid figure:hover img,body.motion-paused .shot:hover img{transform:none}.motion-paused{scroll-behavior:auto}body.motion-paused .hero-content *{opacity:1!important;transform:none!important}footer{padding-bottom:140px}
@media(max-width:600px){.ambience{right:12px;bottom:12px;width:275px;padding:8px 12px}.track-name{font-size:11px}.ember{box-shadow:none}.hero-content{padding-bottom:115px}}
@media(prefers-reduced-motion:reduce){.landscape{transform:none;transition:none}.far,.near,.lake,.sky,.ember,.hero-content *,#music-toggle .sound-icon{animation:none!important}.embers{display:none}.motion-ready .reveal{opacity:1!important;transform:none!important;transition:none!important}.world-grid figure:hover img,.shot:hover img{transform:none}}
