/* Living landscape: existing mountain artwork, animated with transforms, no background film download. */
.hero-v3{isolation:isolate}.hero-scenery{position:absolute;inset:0 34% 0 0;z-index:-1;overflow:hidden;pointer-events:none;background:#102f25}.scene-range{position:absolute;inset:-6%;background:url('assets/mountain.png') 70% center/cover;animation:mountain-travel 32s ease-in-out infinite alternate;will-change:transform}.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#06251ad9,#0b2c2280 53%,#112f29d9),linear-gradient(0deg,#08261fe8,transparent 50%,#09271f33)}.scene-mist{position:absolute;width:145%;height:45%;left:-25%;filter:blur(22px);mix-blend-mode:screen;opacity:.22;will-change:transform;pointer-events:none;background:radial-gradient(ellipse at 55% 50%,#c8dcc080 0,transparent 63%),radial-gradient(ellipse at 20% 60%,#d1dfbc55 0,transparent 47%)}.scene-mist-one{top:27%;animation:mist-travel 24s ease-in-out infinite alternate}.scene-mist-two{top:61%;opacity:.12;animation:mist-travel 31s ease-in-out -12s infinite alternate-reverse}.hero-v3 .road-lines{z-index:0;opacity:.2}.hero-v3 .road-lines path{stroke-dasharray:8 19;animation:road-flow 35s linear infinite}.hero-v3 .hero-left{z-index:1}.hero-v3 .hero-stage{z-index:1}.hero-rail{z-index:2}.hero-line{color:#e0e8d8;text-shadow:0 1px 12px #09251d}.hero-left>.eyebrow{color:#d0ddc6}.scene-control{display:inline-flex;align-items:center;gap:10px;background:#0b251e88;color:#d2e2c3;border:1px solid #91ae6d66;padding:8px 12px;font-size:9px;letter-spacing:.5px;min-height:34px}.scene-control:hover{border-color:#d6f76a;color:#d6f76a}.scene-indicator{width:6px;height:6px;background:#d6f76a;border-radius:50%;box-shadow:0 0 0 3px #d6f76a16}.scene-control[aria-pressed=true] .scene-indicator{background:#8ca17d;box-shadow:none}.scene-paused .hero-scenery *,.scene-paused .road-lines path,.scene-offscreen .hero-scenery *,.scene-offscreen .road-lines path{animation-play-state:paused!important}.scene-reduced .hero-scenery *,.scene-reduced .road-lines path{animation:none!important}.scene-reduced .scene-control{opacity:.7;cursor:default}
@keyframes mountain-travel{from{transform:scale(1.055) translate3d(1%,.3%,0)}to{transform:scale(1.13) translate3d(-1.5%,-.8%,0)}}@keyframes mist-travel{from{transform:translate3d(-8%,4%,0) scale(1)}to{transform:translate3d(14%,-8%,0) scale(1.1)}}@keyframes road-flow{to{stroke-dashoffset:-540}}
/* A real brand film; native dialog provides keyboard focus containment and Escape. */
.brand-intro{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:0;border:0;color:#e6eddf;background:#020605;overflow:hidden}.brand-intro[open]{display:grid;grid-template-rows:auto 1fr auto;animation:intro-appear .25s ease-out}.brand-intro::backdrop{background:#020605}.brand-intro.intro-closing{animation:intro-leave .4s ease-in forwards;pointer-events:none}.intro-top{display:flex;justify-content:space-between;align-items:center;padding:28px 5%;position:relative;z-index:2;font-size:9px;letter-spacing:2px;color:#afc2a3}.intro-top button{background:transparent;color:#e6eddf;border:1px solid #91a68155;padding:12px 17px;font-size:11px;min-height:43px}.intro-top button:hover{color:#d6f76a;border-color:#d6f76a}.intro-screen{display:flex;justify-content:center;align-items:center;min-height:0;position:relative}.intro-screen video{width:min(960px,90vw);max-height:calc(100dvh - 220px);object-fit:contain;display:block}.intro-bottom{width:min(600px,80%);margin:0 auto;padding:18px 0 40px;text-align:center}.intro-bottom p{font-size:10px;letter-spacing:4px;color:#bdcfaf}.intro-bottom>span{display:block;font-family:"SimSun",serif;font-size:12px;letter-spacing:5px;color:#7e9673;margin-top:13px}.intro-progress{height:1px;background:#6b825533;margin-top:27px;overflow:hidden}.intro-progress i{height:1px;width:100%;display:block;background:#c6ed81;transform:scaleX(0);transform-origin:left;transition:transform .08s linear}.has-brand-intro{overflow:hidden}.motion-footer-tools{margin-top:23px;border-top:1px solid #48633b44;padding-top:20px}.motion-footer-tools button{padding:7px 0;background:none;color:#b0c4a3;font-size:10px;display:flex;align-items:center;gap:8px}.motion-footer-tools button:hover{color:#d6f76a}@keyframes intro-appear{from{opacity:0}to{opacity:1}}@keyframes intro-leave{to{opacity:0;transform:scale(1.015)}}
@media(max-width:720px){.hero-scenery{inset:0 0 36% 0}.scene-range{background-position:72% 45%}.scene-shade{background:linear-gradient(90deg,#08281fdb,#0a2a2170),linear-gradient(0deg,#112f29 0,transparent 75%)}.scene-mist{opacity:.17}.hero-rail .scene-control{font-size:8px;min-height:31px;padding:7px 10px}.hero-rail{height:50px}.intro-top{padding:22px 5%;font-size:8px;letter-spacing:1px}.intro-top button{font-size:10px;padding:11px 14px}.intro-screen video{width:100vw;max-height:65dvh}.intro-bottom{width:80%;padding-bottom:38px}.intro-bottom p{font-size:8px;letter-spacing:2px}.intro-bottom>span{font-size:11px;letter-spacing:3px}.intro-progress{margin-top:22px}}
.hero-scenery{mask-image:linear-gradient(90deg,#000 0,#000 70%,transparent 100%)}@media(max-width:720px){.hero-scenery{mask-image:linear-gradient(180deg,#000 0,#000 75%,transparent 100%)}}
@media(prefers-reduced-motion:reduce){.hero-scenery *,.hero-v3 .road-lines path{animation:none!important}.brand-intro[open],.brand-intro.intro-closing{animation:none}.intro-progress i{transition:none}}
/* 2026-11-04 V9.7 场景动态增强：更明显的山峦推近 + 河流波光 */
@keyframes river-shimmer{0%{opacity:0;transform:translateX(-6%)}35%{opacity:.55}100%{opacity:0;transform:translateX(7%)}}
.scene-river{position:absolute;left:5%;right:8%;top:50%;height:32%;pointer-events:none;mix-blend-mode:screen;filter:blur(8px);opacity:0;background:radial-gradient(60% 45% at 62% 38%,#d8ecda70 0,transparent 70%),radial-gradient(45% 30% at 40% 62%,#cfe3c355 0,transparent 65%);animation:river-shimmer 11s ease-in-out infinite}
.scene-river-two{top:42%;left:12%;animation-duration:17s;animation-delay:-8s;background:radial-gradient(55% 40% at 55% 45%,#e6f2dd50 0,transparent 70%)}
@keyframes mountain-travel-plus{from{transform:scale(1.08) translate3d(1.4%,.5%,0)}to{transform:scale(1.2) translate3d(-2%,-1.4%,0)}}
.scene-range{animation:mountain-travel-plus 46s ease-in-out infinite alternate}
.scene-mist{opacity:.3}
