/* ==========================================================================
   首页 v3 —— 信息架构：主视觉 → 城市与目的地 → 精选景点 → 经典路线 → 文化探索 → AI 行程
   仅作用于首页 gansu.html（.g3- 前缀），不影响其它页面
   ========================================================================== */

/* 首屏照片与压暗层一起渐隐，露出与城市区共用的宣纸背景。 */
body.home-page .hero--atlas {
    --home-hero-fade: clamp(108px, 12vw, 176px);
    background: transparent;
}
/* 减轻首图压暗：保留标题对比，让地貌照片显出原有明暗和色彩。 */
body.home-page .hero--atlas .hero__bg {
    filter: brightness(1.14) saturate(1.04) contrast(1.01);
}
body.home-page .hero--atlas .hero__bg.has-photo + .hero__overlay {
    background:
        radial-gradient(58% 52% at 50% 44%, rgba(8,12,14,.34) 0%, rgba(8,12,14,.16) 56%, transparent 82%),
        linear-gradient(180deg, rgba(8,12,14,.30) 0%, rgba(8,12,14,.08) 32%, rgba(12,10,8,.18) 78%, rgba(12,10,8,.32) 100%);
}
body.home-page .hero--atlas .hero__visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom,
        #000 0%, #000 calc(100% - var(--home-hero-fade)),
        rgba(0, 0, 0, .92) calc(100% - var(--home-hero-fade) * .76),
        rgba(0, 0, 0, .56) calc(100% - var(--home-hero-fade) * .44),
        rgba(0, 0, 0, .12) calc(100% - var(--home-hero-fade) * .15),
        transparent 100%);
    mask-image: linear-gradient(to bottom,
        #000 0%, #000 calc(100% - var(--home-hero-fade)),
        rgba(0, 0, 0, .92) calc(100% - var(--home-hero-fade) * .76),
        rgba(0, 0, 0, .56) calc(100% - var(--home-hero-fade) * .44),
        rgba(0, 0, 0, .12) calc(100% - var(--home-hero-fade) * .15),
        transparent 100%);
}
/* 替代旧的米色覆盖层，保留底层山水的连续纹理。 */
body.home-page .hero--atlas::after { content: none; }
body.home-page .hero--atlas .hero__credit {
    bottom: calc(var(--home-hero-fade) + 12px);
}
body.home-page .hero--atlas .hero__scroll { color: #496058; }

/* ---------- 1. 主视觉：单张横幅 ---------- */
.g3-hero {
    position: relative;
    min-height: 640px;
    max-height: 720px;
    height: 78svh;
    display: flex; align-items: center;
    padding: 7.2rem 0 3.4rem;
    isolation: isolate; overflow: hidden;
    color: #fff;
}
.g3-hero__bg {
    position: absolute; inset: 0; z-index: -2;
    background: #1b3a33 center 55% / cover no-repeat;
    transform: scale(1.02);
}
.g3-hero__scrim {
    position: absolute; inset: 0; z-index: -1;
    background:
        linear-gradient(90deg, rgba(12, 22, 19, .82) 0%, rgba(12, 22, 19, .55) 42%, rgba(12, 22, 19, .12) 72%, rgba(12, 22, 19, .05) 100%),
        linear-gradient(0deg, rgba(12, 22, 19, .55), rgba(12, 22, 19, 0) 40%);
}
.g3-hero__inner { max-width: 44rem; }
.g3-hero__badge {
    display: inline-flex; align-items: center; gap: .4rem;
    font-size: .74rem; letter-spacing: .16em; color: #f3e6c8;
    background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .24);
    padding: .34rem .9rem; border-radius: 9999px; margin-bottom: 1.1rem;
}
.g3-hero__badge svg { width: 14px; height: 14px; color: var(--accent); }
.g3-hero h1 {
    margin: 0 0 .8rem; font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, SimSun, serif;
    font-size: clamp(1.85rem, 2.9vw, 2.6rem); line-height: 1.32; letter-spacing: .05em; font-weight: 700;
}
.g3-hero h1 em {
    display: block; font-style: normal; margin-top: .55rem;
    font-size: .66rem; letter-spacing: .34em; color: rgba(216, 180, 116, .9); font-family: inherit;
}
.g3-nb { white-space: nowrap; }
.g3-hero__sub { margin: 0 0 1.4rem; font-size: .95rem; line-height: 1.85; color: rgba(255, 255, 255, .82); max-width: 34rem; }

/* 搜索框 */
.g3-search { position: relative; max-width: 32rem; margin-bottom: 1.3rem; }
.g3-search__box {
    display: flex; align-items: center; gap: .55rem;
    background: rgba(255, 253, 247, .96); border-radius: 9999px;
    padding: .38rem .38rem .38rem 1rem; box-shadow: 0 16px 38px rgba(10, 18, 15, .28);
}
.g3-search__box svg { width: 16px; height: 16px; color: #8a9a90; flex: none; }
.g3-search__box input {
    flex: 1 1 auto; min-width: 0; border: 0; outline: none; background: none;
    font-size: .92rem; color: var(--dark); padding: .5rem 0;
}
.g3-search__box button {
    flex: none; border: 0; cursor: pointer; border-radius: 9999px;
    padding: .56rem 1.15rem; background: var(--primary); color: #fff; font-size: .86rem;
    transition: background .2s ease;
}
.g3-search__box button:hover { background: var(--primary-light, #2f6b57); }
.g3-search__sug {
    position: absolute; left: 0; right: 0; top: calc(100% + .45rem); z-index: 20;
    background: #fffdf7; border: 1px solid rgba(38, 61, 56, .12); border-radius: .8rem;
    box-shadow: 0 20px 44px rgba(16, 24, 20, .18); overflow: hidden;
}
.g3-search__sug[hidden] { display: none; }
.g3-search__sug a {
    display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
    padding: .62rem .95rem; text-decoration: none; color: var(--dark); font-size: .88rem;
}
.g3-search__sug a:hover { background: rgba(216, 180, 116, .14); }
.g3-search__sug small { color: var(--gray-500); font-size: .74rem; }
.g3-search__sug p { margin: 0; padding: .8rem .95rem; font-size: .84rem; color: var(--gray-500); }

.g3-hero__actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.g3-hero__actions .btn { padding: .78rem 1.5rem; font-size: .9rem; }

/* ---------- 2. 城市与目的地 ---------- */
.g3-sec { padding: clamp(2.8rem, 5vw, 4.2rem) 0; }
.g3-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.8rem; }
.g3-head__no { display: block; font-size: .68rem; letter-spacing: .28em; color: var(--ochre, #a95f45); margin-bottom: .45rem; }
.g3-head h2 {
    margin: 0 0 .35rem; font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, SimSun, serif;
    font-size: clamp(1.4rem, 2.4vw, 1.9rem); letter-spacing: .05em; color: var(--dark);
}
.g3-head p { margin: 0; font-size: .88rem; color: var(--gray-600); max-width: 38rem; line-height: 1.8; }
.g3-head__more { flex: none; display: inline-flex; align-items: center; gap: .4rem; font-size: .86rem; color: var(--primary); text-decoration: none; }
.g3-head__more:hover { color: var(--ochre); }
.g3-head__more svg { width: 14px; height: 14px; }

.g3-cities__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.g3-city {
    position: relative; display: block; overflow: hidden; border-radius: .85rem;
    aspect-ratio: 4 / 3; text-decoration: none; background: #e8e2d6;
    box-shadow: 0 10px 26px rgba(30, 24, 16, .10);
}
.g3-city img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2,.7,.2,1); filter: brightness(1.03) saturate(1.02); }
.g3-city:hover img { transform: scale(1.06); }
.g3-city::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(0deg, rgba(14, 11, 7, .64) 0%, rgba(14, 11, 7, .18) 48%, rgba(14, 11, 7, .02) 78%);
}
.g3-city__t { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: .85rem .95rem .9rem; }
.g3-city__t b { display: block; font-family: "Noto Serif SC", serif; font-size: 1.12rem; letter-spacing: .1em; color: #fdf6e6; }
.g3-city__t small { display: block; margin-top: .2rem; font-size: .72rem; color: rgba(253, 246, 230, .84); line-height: 1.6; }
.g3-city__tag {
    position: absolute; top: .7rem; left: .7rem; z-index: 2;
    font-size: .66rem; letter-spacing: .08em; color: #2a2015;
    background: rgba(232, 205, 150, .92); border-radius: 9999px; padding: .16rem .55rem;
}
.g3-note { margin: 1.1rem 0 0; font-size: .76rem; color: var(--gray-500); }

/* ---------- 3. 精选景点 ---------- */
.g3-spot { display: grid; grid-template-columns: minmax(0, 1fr) 232px; gap: 1rem; }
.g3-stage { position: relative; border-radius: 1rem; overflow: hidden; min-height: 440px; background: #22302b; }
.g3-stage img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .35s ease; opacity: 1; filter: brightness(1.04) saturate(1.03); }
.g3-stage__cap {
    position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
    padding: 1.6rem 1.7rem 1.5rem;
    background: linear-gradient(0deg, rgba(10, 16, 13, .74) 0%, rgba(10, 16, 13, .30) 55%, transparent 100%);
    color: #fff;
}
.g3-stage__cap h3,
.g3-stage__cap p,
.g3-stage__cap .tag,
.g3-city__t b,
.g3-city__t small,
.g3-culture__t small,
.g3-culture__t b,
.g3-culture__t p { text-shadow: 0 1px 8px rgba(0, 0, 0, .48); }
.g3-stage__cap span.tag {
    display: inline-block; margin-bottom: .5rem; font-size: .68rem; letter-spacing: .1em;
    color: #f0dcb4; border: 1px solid rgba(216, 180, 116, .5); border-radius: 9999px; padding: .16rem .6rem;
}
.g3-stage__cap h3 { margin: 0 0 .4rem; font-family: "Noto Serif SC", serif; font-size: 1.55rem; letter-spacing: .08em; }
.g3-stage__cap p { margin: 0 0 .95rem; max-width: 40rem; font-size: .86rem; line-height: 1.8; color: rgba(255, 255, 255, .9); }
.g3-stage__act { display: flex; flex-wrap: wrap; gap: .6rem; }
.g3-stage__act a {
    display: inline-flex; align-items: center; gap: .35rem; text-decoration: none;
    padding: .5rem 1.1rem; border-radius: 9999px; font-size: .82rem;
}
.g3-stage__act .go { background: var(--accent, #d8b474); color: #22302b; }
.g3-stage__act .all { border: 1px solid rgba(255, 255, 255, .4); color: #fff; }

.g3-thumbs { display: grid; grid-template-columns: 1fr; gap: .5rem; align-content: start; }
.g3-thumb {
    position: relative; display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: .6rem; align-items: center;
    padding: .4rem; border-radius: .6rem; cursor: pointer; text-align: left; font: inherit;
    background: rgba(253, 250, 244, .82); border: 1px solid rgba(38, 61, 56, .1);
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.g3-thumb img { width: 62px; height: 48px; object-fit: cover; border-radius: .35rem; display: block; }
.g3-thumb b { display: block; font-size: .83rem; color: var(--dark); font-weight: 600; }
.g3-thumb small { display: block; font-size: .7rem; color: var(--gray-500); }
.g3-thumb:hover { transform: translateX(2px); border-color: rgba(216, 180, 116, .7); }
.g3-thumb[aria-selected="true"] { background: #fdf6e6; border-color: var(--accent, #d8b474); box-shadow: 0 6px 16px rgba(30, 24, 16, .10); }

/* ---------- 4. 经典路线 ---------- */
.g3-routes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.g3-route {
    display: flex; flex-direction: column; overflow: hidden; text-decoration: none;
    background: rgba(253, 250, 244, .9); border: 1px solid rgba(38, 61, 56, .1);
    border-radius: .9rem; box-shadow: 0 10px 26px rgba(30, 24, 16, .08);
    transition: transform .25s ease, box-shadow .25s ease;
}
.g3-route:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(30, 24, 16, .14); }
.g3-route__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.g3-route__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.g3-route:hover .g3-route__media img { transform: scale(1.05); }
.g3-route__no {
    position: absolute; top: .7rem; left: .7rem; font-size: .68rem; letter-spacing: .1em;
    background: rgba(20, 32, 28, .72); color: #f0dcb4; padding: .18rem .6rem; border-radius: 9999px;
}
.g3-route__body { padding: .95rem 1.05rem 1.15rem; display: flex; flex-direction: column; gap: .4rem; flex: 1 1 auto; }
.g3-route__body h3 { margin: 0; font-family: "Noto Serif SC", serif; font-size: 1.1rem; letter-spacing: .06em; color: var(--dark); }
.g3-route__cities { font-size: .78rem; color: var(--gray-600); line-height: 1.7; }
.g3-route__facts { display: flex; flex-wrap: wrap; gap: .3rem .9rem; font-size: .74rem; color: var(--gray-500); }
.g3-route__facts b { color: var(--primary); font-weight: 600; }
.g3-route__feat { font-size: .76rem; color: var(--ochre, #a95f45); }
.g3-route__go { margin-top: .35rem; font-size: .78rem; color: var(--primary); display: inline-flex; align-items: center; gap: .3rem; }
.g3-route__go svg { width: 12px; height: 12px; }

/* ---------- 5. 文化探索 ---------- */
.g3-culture__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.g3-culture {
    position: relative; display: block; overflow: hidden; text-decoration: none;
    border-radius: .9rem; aspect-ratio: 4 / 3; background: #22302b;
}
.g3-culture img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; opacity: 1; filter: brightness(1.03) saturate(1.02); }
.g3-culture:hover img { transform: scale(1.05); }
.g3-culture::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(0deg, rgba(12, 18, 15, .72) 0%, rgba(12, 18, 15, .22) 55%, rgba(12, 18, 15, .04) 100%);
}
.g3-culture__t { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 1.05rem 1.15rem 1.1rem; color: #fff; }
.g3-culture__t small { display: block; font-size: .68rem; letter-spacing: .16em; color: #e8cf9c; margin-bottom: .3rem; }
.g3-culture__t b { display: block; font-family: "Noto Serif SC", serif; font-size: 1.16rem; letter-spacing: .06em; }
.g3-culture__t p { margin: .35rem 0 0; font-size: .76rem; line-height: 1.7; color: rgba(255, 255, 255, .86); }

/* ---------- 6. AI 行程 ---------- */
.g3-ai { background: #14302c; color: #f3ead6; }
.g3-ai__grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: clamp(1.4rem, 3vw, 3rem); align-items: center; }
.g3-ai h2 { margin: 0 0 .8rem; font-family: "Noto Serif SC", serif; font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.45; letter-spacing: .04em; }
.g3-ai__lead { margin: 0 0 1.2rem; font-size: .9rem; line-height: 1.85; color: rgba(243, 234, 214, .76); max-width: 34rem; }
.g3-ai__list { display: grid; gap: .7rem; margin: 0 0 1.5rem; padding: 0; list-style: none; }
.g3-ai__list li { display: flex; gap: .65rem; align-items: flex-start; }
.g3-ai__list svg { width: 17px; height: 17px; flex: none; margin-top: .2rem; color: #d8b474; }
.g3-ai__list b { display: block; font-size: .88rem; color: #f7efdd; }
.g3-ai__list small { font-size: .78rem; color: rgba(243, 234, 214, .66); }
.g3-ai__btn {
    display: inline-flex; align-items: center; gap: .45rem; text-decoration: none;
    padding: .8rem 1.6rem; border-radius: 9999px; background: #d8b474; color: #22302b;
    font-size: .9rem; font-weight: 600; transition: transform .2s ease, background .2s ease;
}
.g3-ai__btn:hover { transform: translateY(-2px); background: #e6c78a; }
.g3-ai__btn svg { width: 15px; height: 15px; }

/* 右侧：行程卡示意 */
.g3-plan {
    background: rgba(255, 253, 247, .97); color: var(--dark);
    border-radius: 1rem; padding: 1.05rem 1.15rem 1.15rem;
    box-shadow: 0 26px 60px rgba(6, 14, 12, .38);
}
.g3-plan__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .7rem; border-bottom: 1px dashed rgba(38, 61, 56, .18); }
.g3-plan__top b { font-size: .92rem; letter-spacing: .04em; }
.g3-plan__top span { font-size: .72rem; color: var(--gray-500); }
.g3-plan__day { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: .7rem; padding: .7rem 0; border-bottom: 1px solid rgba(38, 61, 56, .08); }
.g3-plan__day:last-of-type { border-bottom: 0; }
.g3-plan__no { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-size: .72rem; font-weight: 700; color: #2f5348; background: rgba(25, 59, 56, .08); }
.g3-plan__day b { display: block; font-size: .86rem; }
.g3-plan__day p { margin: .15rem 0 0; font-size: .76rem; color: var(--gray-600); line-height: 1.65; }
.g3-plan__foot { margin: .7rem 0 0; font-size: .7rem; color: var(--gray-500); text-align: center; }

/* ---------- 响应式 ---------- */
@media (max-width: 1100px) {
    .g3-cities__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .g3-spot { grid-template-columns: 1fr; }
    .g3-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .g3-thumb { grid-template-columns: 1fr; }
    .g3-thumb img { width: 100%; height: 88px; }
}
@media (max-width: 900px) {
    .g3-routes__grid, .g3-culture__grid { grid-template-columns: 1fr; }
    .g3-routes__grid { gap: .9rem; }
    .g3-ai__grid { grid-template-columns: 1fr; }
    .g3-stage { min-height: 360px; }
}
@media (max-width: 700px) {
    .g3-hero { height: auto; min-height: 0; max-height: none; padding: 5.6rem 0 2.6rem; }
    .g3-hero h1 { font-size: 1.95rem; }
    .g3-nb { white-space: nowrap; }
.g3-hero__sub { font-size: .88rem; }
    .g3-search__box { padding-left: .8rem; }
    .g3-cities__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
    .g3-thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
    .g3-thumb { padding: .3rem; }
    .g3-thumb img { height: 62px; }
    .g3-thumb b { font-size: .74rem; }
    .g3-thumb small { display: none; }
    .g3-stage { min-height: 300px; }
    .g3-stage__cap { padding: 1.1rem 1rem 1rem; }
    .g3-stage__cap h3 { font-size: 1.25rem; }
    .g3-stage__cap p { font-size: .8rem; }
    .g3-sec { padding: 2.2rem 0; }
}

/* 背景换成水墨长卷后，标题区加极轻的描边提升对比 */
.g3-head h2, .g3-head p, .g3-head__no, .g3-note { text-shadow: 0 1px 0 rgba(255, 255, 255, .55); }

/* ==========================================================================
   首页滚动：首屏导航透明，滚动后转为深色玻璃；桌面端按区块整屏滚动
   ========================================================================== */
body.home-page .navbar {
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transition: background-color .35s ease, box-shadow .35s ease;
}
body.home-page .navbar.scrolled {
    background-color: rgba(22, 40, 37, .9) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .08);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}
body.home-page .navbar::after { opacity: 0; }
body.home-page .navbar.scrolled::after { opacity: .95; }
body.home-page .navbar:not(.scrolled) .nav__link,
body.home-page .navbar:not(.scrolled) .brand__name { text-shadow: 0 1px 10px rgba(0, 0, 0, .5); }
body.home-page .navbar .brand__logo { color: #e8cf9c; }

/* 桌面端整屏滚动时，区块顶部不要被固定导航重复遮挡 */
body.home-page main > section { scroll-margin-top: 0; }

@media (min-width: 981px) {
    /* 每个内容区至少一屏高，滚动时像翻页 */
    body.home-page main > section.g3-sec {
        min-height: 100vh;
        min-height: 100svh;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
}

/* 城市页开头：云纹衔接带与“01 / DESTINATIONS”同屏 */
body.home-page #cities { padding-top: 56px; }
body.home-page #cities .spot-band--home {
    /* 使用完整透明花纹，铺满页面宽度，不裁切、不遮罩。 */
    width: 100%;
    max-width: none;
    /* 抵消花纹下方透明留白，正文紧跟花纹，不裁剪图片。 */
    margin: 0 auto calc(10px - 7vw);
    /* 纯装饰层，不拦截“查看全部 14 个市州”等按钮点击 */
    pointer-events: none;
}
body.home-page #cities .spot-band--home img {
    /* 源图第 185 行才开始连续云纹，让透明顶边藏在固定导航后。 */
    margin-top: calc(-5.7vw - 1px);
    width: 100%;
    height: auto;
    aspect-ratio: 9 / 2;
    object-fit: fill;
    object-position: center;
    opacity: 1;
}
@media (max-width: 900px) {
    body.home-page #cities { padding-top: 56px; }
    body.home-page #cities .spot-band--home img {
        height: auto;
    }
}

/* 城市目的地：花纹、标题与两排卡片组成一个桌面屏幕。 */
@media (min-width: 981px) {
    body.home-page main > section#cities {
        justify-content: flex-start;
        padding-bottom: 16px;
    }
    body.home-page #cities .g3-head { margin-bottom: 16px; gap: .8rem; }
    body.home-page #cities .g3-cities__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
    }
    body.home-page #cities .g3-city {
        aspect-ratio: auto;
        height: clamp(120px, calc((100svh - 320px) / 2), 190px);
    }
    body.home-page #cities .g3-note { margin-top: 10px; }
}

/* ===== 首页风光展示：沿用全页固定宣纸背景，六段视频三列两排 ===== */
body.home-page .g3-scenery {
    position: relative;
    color: var(--dark);
    background: transparent;
}
body.home-page .g3-scenery::before { content: none; }
body.home-page .g3-scenery__inner {
    position: relative;
}
.g3-scenery__show {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 24px;
}
.g3-scenery__item {
    margin: 0;
    min-width: 0;
    text-align: left;
}
.g3-scenery__screen {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 12px;
    background: #193b38;
    box-shadow: 0 8px 24px rgba(25, 59, 56, .13);
}
.g3-scenery__screen video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.g3-scenery figcaption {
    margin-top: 10px;
}
.g3-scenery figcaption b {
    display: block;
    font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", STSong, SimSun, serif;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: .05em;
    color: var(--dark);
}
.g3-scenery figcaption small {
    display: block;
    margin-top: 2px;
    font-size: .76rem;
    letter-spacing: .04em;
    color: var(--gray-600);
}
@media (min-width: 981px) {
    body.home-page main > section#scenery {
        padding-top: calc(var(--site-nav-height, 72px) + 24px);
        padding-bottom: 28px;
    }
    .g3-scenery__screen {
        max-height: max(120px, calc((100svh - var(--site-nav-height, 72px) - 332px) / 2));
    }
}

/* 首屏主图完整显示：清晰图 contain，上下用同图模糊铺底，避免裁掉两侧地貌 */
@media (min-width: 761px) {
    body.home-page .hero--atlas .hero__visual::before {
        content: "";
        position: absolute;
        inset: -48px;
        background: url('../img/hero-atlas.jpg') center / cover no-repeat;
        filter: blur(26px) brightness(.52) saturate(.92);
        transform: scale(1.06);
    }
    body.home-page .hero--atlas .hero__bg.has-photo {
        background-size: contain;
        background-position: center center;
        background-color: transparent;
        animation: none;
        transform: none;
    }
}

/* 视口达到 16:9 时，主图比例几乎一致，直接铺满，避免两侧细边 */
@media (min-width: 761px) and (min-aspect-ratio: 16/9) {
    body.home-page .hero--atlas .hero__bg.has-photo {
        background-size: cover;
    }
}
