/* ============================================================
   君慕科技 - 全屏分屏滚动样式（zen-game 风格）
   - 每屏 100vh，整屏切换
   - 固定顶栏 / 右侧圆点 / 上下箭头 / 滚动提示
   - 首屏粒子 canvas + 英雄文案
   - 卡片悬停 .jm-hover
   - 响应式 + 降低动态偏好回退
   品牌主色 #645CFE（与 color.css 一致）
   ============================================================ */

:root {
    --jm-brand: #645CFE;
    --jm-brand-2: #ff89e9;
    --jm-dark: #1d1f29;
    --jm-dark-2: #14151e;
    --jm-text: #4a4e69;
    --jm-text-light: #fff;
    --jm-muted: rgba(255, 255, 255, 0.72);
    --jm-line: rgba(100, 92, 254, 0.25);
}

/* ---------- 基础：body / 容器 ---------- */
html, body.jm-body {
    height: 100%;
}
body.jm-body {
    margin: 0;
    background: var(--jm-dark-2);
    color: var(--jm-text);
    font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
    overflow: hidden;       /* 由 swiper 管理滚动 */
    -webkit-font-smoothing: antialiased;
}
body.jm-body * {
    box-sizing: border-box;
}

/* swiper 容器占满视口 */
.swiper-container.jm-fullscreen {
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);   /* 移动端地址栏修正，JS 写入 --vh */
    overflow: hidden;
}
.jm-fullscreen .swiper-wrapper {
    height: 100%;
}
/* 关键：让 wrapper 容器内部正常排版，不被 swiper 的绝对定位样式挤压 */
.jm-fullscreen .swiper-slide {
    height: 100%;
    overflow: hidden;
}

/* ---------- 每一屏 ---------- */
.jm-screen {
    position: relative;
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    background: #0f1018;
    color: var(--jm-text-light);
    -webkit-transition: background-color .6s ease;
    transition: background-color .6s ease;
}
/* 浅色屏（研发方向） */
.jm-screen.gray-bg {
    background-color: #f7f8fc;
    color: var(--jm-text);
}
/* 首屏深色渐变 */
.jm-screen-1 {
    background:
        radial-gradient(1200px 700px at 70% 18%, rgba(255, 137, 233, 0.18), transparent 60%),
        radial-gradient(1000px 800px at 18% 85%, rgba(100, 92, 254, 0.28), transparent 62%),
        linear-gradient(160deg, #14151e 0%, #1d1f29 55%, #111219 100%);
}
/* 自研作品屏 */
.jm-screen-4 {
    background: linear-gradient(160deg, #15161f 0%, #1d1f29 100%);
}
/* 联系屏 */
.jm-screen-5 {
    background: linear-gradient(180deg, #14151e 0%, #0f1018 100%);
}

/* 屏内内容容器：居中、限宽、可滚动（内容超高时） */
.jm-screen-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 110px 24px 60px;
    max-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.jm-contact-inner {
    padding-bottom: 0;
}

/* ---------- 顶部固定导航 ---------- */
.jm-topbar {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    background: rgba(15, 16, 24, 0.55);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    -webkit-transition: background .35s ease, box-shadow .35s ease;
    transition: background .35s ease, box-shadow .35s ease;
}
.jm-topbar.scrolled {
    background: rgba(15, 16, 24, 0.9);
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.35);
}
/* 浅色屏时顶栏切换为浅色 */
.jm-topbar.on-light {
    background: rgba(255, 255, 255, 0.85);
    border-bottom-color: rgba(0, 0, 0, 0.06);
    box-shadow: 0 4px 18px rgba(20, 20, 40, 0.06);
}
.jm-topbar-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    height: 70px;
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.jm-topbar .logo a {
    display: inline-block;
    line-height: 0;
}
.jm-topbar .logo img {
    height: 38px;
    width: auto;
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);   /* logo 反白 */
}
.jm-topbar.on-light .logo img {
    -webkit-filter: none;
    filter: none;
}
.jm-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    gap: 6px;
}
.jm-nav li a {
    display: inline-block;
    padding: 8px 14px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    text-decoration: none;
    border-radius: 6px;
    cursor: pointer;
    -webkit-transition: color .25s ease, background .25s ease;
    transition: color .25s ease, background .25s ease;
}
.jm-topbar.on-light .jm-nav li a {
    color: #4a4e69;
}
.jm-nav li a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}
.jm-topbar.on-light .jm-nav li a:hover {
    color: var(--jm-brand);
    background: rgba(100, 92, 254, 0.08);
}
.jm-nav li.active a {
    color: #fff;
    background: rgba(100, 92, 254, 0.28);
}
.jm-topbar.on-light .jm-nav li.active a {
    color: var(--jm-brand);
    background: rgba(100, 92, 254, 0.12);
}
.jm-topbar .mobile-menu { display: none; }

/* ---------- 右侧圆点导航 ---------- */
.jm-screen-pagination {
    position: fixed;
    top: 50%;
    right: 22px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 90;
    display: flex;
    flex-direction: column;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    gap: 12px;
}
.jm-screen-pagination .jm-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.5);
    cursor: pointer;
    padding: 0;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.jm-screen-pagination .jm-dot.jm-active {
    background: var(--jm-brand);
    border-color: var(--jm-brand);
    -webkit-box-shadow: 0 0 0 4px rgba(100, 92, 254, 0.25);
    box-shadow: 0 0 0 4px rgba(100, 92, 254, 0.25);
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
}
.jm-screen.on-light ~ * .jm-screen-pagination .jm-dot,
body.jm-light-screen .jm-screen-pagination .jm-dot {
    background: rgba(20, 20, 40, 0.28);
    border-color: rgba(20, 20, 40, 0.4);
}

/* ---------- 上下翻屏箭头 ---------- */
.jm-screen-arrow {
    position: fixed;
    right: 22px;
    z-index: 90;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 24px;
    line-height: 1;
    color: rgba(255, 255, 255, 0.8);
    background: rgba(15, 16, 24, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.18);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    cursor: pointer;
    -webkit-transition: all .25s ease;
    transition: all .25s ease;
    user-select: none;
}
.jm-screen-arrow:hover {
    color: #fff;
    background: var(--jm-brand);
    border-color: var(--jm-brand);
    -webkit-box-shadow: 0 6px 20px rgba(100, 92, 254, 0.45);
    box-shadow: 0 6px 20px rgba(100, 92, 254, 0.45);
}
.jm-screen-prev { bottom: 26px; }
.jm-screen-next { bottom: 76px; }
.jm-screen-prev.disabled,
.jm-screen-next.disabled {
    opacity: 0.3;
    pointer-events: none;
}

/* ---------- 首屏粒子 canvas ---------- */
.jm-particles {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

/* ---------- 首屏背景视频 ---------- */
.jm-bg-video {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;            /* 视频铺满首屏，按比例裁剪 */
    object-position: center;
    z-index: 0;
    background: #14151e;          /* 视频未加载时的底色 */
}
/* 视频暗色遮罩：保证白色文字可读 */
.jm-bg-video-mask {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: linear-gradient(160deg, rgba(20,21,30,0.55) 0%, rgba(20,21,30,0.45) 50%, rgba(15,16,24,0.7) 100%);
    pointer-events: none;
}
/* 视频加载失败/无文件时：隐藏视频与遮罩，回退到粒子背景（JS 加 .jm-video-fail） */
.jm-screen-1.jm-video-fail .jm-bg-video,
.jm-screen-1.jm-video-fail .jm-bg-video-mask {
    display: none;
}
/* 有视频时：粒子层透明度降低，避免与视频画面打架 */
.jm-screen-1:not(.jm-video-fail) .jm-particles {
    opacity: 0.35;
}
/* 降低动态偏好：不自动播放视频，仅显示 poster 静态图 */
@media (prefers-reduced-motion: reduce) {
    .jm-bg-video { display: none; }
}

/* ---------- 首屏英雄文案 ---------- */
.jm-hero-content {
    text-align: center;
    max-width: 820px;
    margin: 0 auto;
}
.jm-hero-title {
    font-size: clamp(40px, 7vw, 88px);
    font-weight: 800;
    line-height: 1.1;
    margin: 0 0 18px;
    color: #fff;
    letter-spacing: 2px;
    background: linear-gradient(90deg, #fff 0%, #c9c3ff 45%, var(--jm-brand-2) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.jm-hero-sub {
    font-size: clamp(18px, 2.4vw, 26px);
    color: var(--jm-muted);
    margin: 0 0 12px;
    letter-spacing: 1px;
}
.jm-hero-desc {
    font-size: clamp(14px, 1.6vw, 17px);
    color: rgba(255, 255, 255, 0.6);
    margin: 0 0 36px;
    letter-spacing: 0.5px;
}
.jm-btn {
    display: inline-block;
    padding: 14px 38px;
    border-radius: 40px;
    font-size: 16px;
    text-decoration: none;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}
.jm-btn-primary {
    color: #fff;
    background: linear-gradient(90deg, var(--jm-brand) 0%, var(--jm-brand-2) 100%);
    -webkit-box-shadow: 0 10px 30px rgba(100, 92, 254, 0.4);
    box-shadow: 0 10px 30px rgba(100, 92, 254, 0.4);
}
.jm-btn-primary:hover {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
    -webkit-box-shadow: 0 16px 40px rgba(255, 137, 233, 0.45);
    box-shadow: 0 16px 40px rgba(255, 137, 233, 0.45);
}

/* ---------- 滚动提示（鼠标） ---------- */
.jm-scroll-hint {
    position: absolute;
    bottom: 36px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 12px;
    letter-spacing: 1px;
}
.jm-scroll-mouse {
    width: 24px;
    height: 40px;
    border: 2px solid rgba(255, 255, 255, 0.55);
    border-radius: 14px;
    position: relative;
}
.jm-scroll-wheel {
    position: absolute;
    top: 8px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 4px;
    height: 8px;
    border-radius: 2px;
    background: #fff;
    -webkit-animation: jm-wheel 1.6s ease-in-out infinite;
    animation: jm-wheel 1.6s ease-in-out infinite;
}
@-webkit-keyframes jm-wheel {
    0%   { opacity: 1; top: 8px; }
    70%  { opacity: 0; top: 22px; }
    100% { opacity: 0; top: 22px; }
}
@keyframes jm-wheel {
    0%   { opacity: 1; top: 8px; }
    70%  { opacity: 0; top: 22px; }
    100% { opacity: 0; top: 22px; }
}

/* ---------- 通用区块标题 ---------- */
.jm-section-head {
    margin-bottom: 40px;
}
.jm-section-head.text-center { text-align: center; }
.jm-section-head .sub-title {
    display: inline-block;
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--jm-brand);
    margin: 0 0 10px;
    font-weight: 600;
}
.jm-section-head .title {
    font-size: clamp(26px, 3.4vw, 40px);
    font-weight: 700;
    margin: 0 0 12px;
    line-height: 1.25;
}
.jm-screen:not(.gray-bg) .jm-section-head .title { color: #fff; }
.jm-screen:not(.gray-bg) .jm-section-head p { color: rgba(255, 255, 255, 0.65); }
.jm-section-head p {
    font-size: 16px;
    margin: 0;
    color: #6b6f86;
}
/* 深色屏小标题统一提亮 */
.jm-screen-2 .jm-section-head .sub-title { color: #c9c3ff; }

.jm-intro-text {
    max-width: 760px;
    margin: 0 auto 40px;
    font-size: 16px;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.78);
}
.jm-intro-text p { margin: 0; }

/* ---------- 卡片基础（深色屏统一深色卡片） ---------- */
.jm-screen .jm-about-card,
.jm-screen .features-thumb-2,
.jm-screen .pricing-table,
.jm-screen .blog-thumb {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 28px 22px;
    height: 100%;
    -webkit-transition: -webkit-transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
/* 浅色屏卡片用浅色 */
.jm-screen.gray-bg .features-thumb-2 {
    background: #fff;
    border-color: rgba(0, 0, 0, 0.06);
    -webkit-box-shadow: 0 10px 30px rgba(20, 20, 60, 0.06);
    box-shadow: 0 10px 30px rgba(20, 20, 60, 0.06);
}
.jm-screen.gray-bg .features-thumb-2 .text p { color: #6b6f86; }
.jm-screen.gray-bg .features-thumb-2 .text .title a { color: #2a2d3e; }

.jm-about-card h3 {
    font-size: 20px;
    margin: 16px 0 10px;
    color: #fff;
}
.jm-about-card p {
    font-size: 14px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.65);
    margin: 0;
}
.jm-about-icon,
.jm-screen .svg-icon.th-bg {
    width: 60px;
    height: 60px;
    border-radius: 14px;
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--jm-brand) 0%, var(--jm-brand-2) 100%);
    margin-bottom: 4px;
}
.jm-about-icon img,
.jm-screen .svg-icon img {
    width: 30px;
    height: 30px;
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}

/* features */
.jm-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
/* 覆盖 Bootstrap .row 的 clearfix 伪元素，避免它们占据网格单元 */
.jm-feature-grid::before,
.jm-feature-grid::after {
    display: none;
}
.jm-feature-grid .jm-feature-item {
    float: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.jm-feature-grid .features-thumb-2 {
    text-align: left;
    height: 100%;
}
.jm-feature-grid .features-thumb-2 .svg-icon {
    margin: 0 auto 4px;
}
.jm-feature-grid .features-thumb-2 .text { padding: 0; }
.jm-feature-grid .features-thumb-2 .text .title { margin: 12px 0 8px; }
.jm-feature-grid .features-thumb-2 .text .title a {
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
}
.jm-feature-grid .features-thumb-2 .text p { font-size: 14px; line-height: 1.7; }

/* works / pricing-table */
.jm-works-grid .pricing-table { text-align: center; }
.jm-works-grid .price-area { padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 14px; }
.jm-works-grid .price-type {
    font-size: 16px; color: rgba(255,255,255,0.65); margin: 0 0 6px; font-weight: 500;
    display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap;
}
.jm-works-grid .price-type .badge {
    font-size: 11px; padding: 2px 8px; border-radius: 10px;
    background: linear-gradient(90deg, var(--jm-brand), var(--jm-brand-2));
    color: #fff; font-weight: 600; line-height: 1.4;
}
.jm-works-grid .price-unit { font-size: 22px; font-weight: 700; color: #fff; margin: 0; }
.jm-works-grid .list-group { list-style: none; margin: 0 0 18px; padding: 0; }
.jm-works-grid .list-group-item {
    padding: 8px 0;
    border: none;
    font-size: 13.5px;
    color: rgba(255,255,255,0.72);
    background: transparent;
}
.jm-works-grid .pricing-table .btn.th-bg {
    color: #fff; text-decoration: none; display: inline-block;
    padding: 8px 22px; border-radius: 24px; font-size: 14px;
    background: rgba(100,92,254,0.18); border: 1px solid rgba(100,92,254,0.4);
    --box-shadow-color: transparent;
}
.jm-works-grid .pricing-table.active {
    background: linear-gradient(160deg, rgba(100,92,254,0.18), rgba(255,137,233,0.12));
    border-color: rgba(100,92,254,0.5);
    -webkit-box-shadow: 0 16px 50px rgba(100,92,254,0.25);
    box-shadow: 0 16px 50px rgba(100,92,254,0.25);
}
.jm-works-grid .pricing-table.active .btn.th-bg {
    background: linear-gradient(90deg, var(--jm-brand), var(--jm-brand-2));
    border-color: transparent;
}

/* blog / news */
.jm-blog-grid .blog-thumb { background: rgba(255,255,255,0.04); }
.jm-blog-grid .blog-thumb .text { padding: 0; }
.jm-blog-grid .blog-thumb .text .title a {
    font-size: 17px; font-weight: 600; color: #fff; text-decoration: none;
    line-height: 1.4; display: block;
}
.jm-blog-grid .blog-meta {
    list-style: none; margin: 8px 0; padding: 0;
    font-size: 12.5px; color: rgba(255,255,255,0.5);
}
.jm-blog-grid .blog-meta li { display: inline-block; }
.jm-blog-grid .readmore-btn {
    font-size: 13px; text-decoration: none; font-weight: 600;
    color: #c9c3ff !important;
}

/* ---------- .jm-hover 悬停（统一卡片浮起效果） ---------- */
.jm-hover {
    -webkit-transition: -webkit-transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
}
.jm-hover:hover {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
    border-color: rgba(100, 92, 254, 0.5) !important;
    -webkit-box-shadow: 0 18px 48px rgba(100, 92, 254, 0.22);
    box-shadow: 0 18px 48px rgba(100, 92, 254, 0.22);
}
.jm-screen.gray-bg .jm-hover:hover {
    -webkit-box-shadow: 0 18px 48px rgba(100, 92, 254, 0.18);
    box-shadow: 0 18px 48px rgba(100, 92, 254, 0.18);
}

/* ---------- footer ---------- */
.jm-footer {
    margin-top: 50px;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.jm-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1.4fr;
    gap: 30px;
}
.jm-footer-col h5 {
    font-size: 16px; color: #fff; margin: 0 0 14px; font-weight: 600;
}
.jm-footer-col p {
    font-size: 13.5px; line-height: 1.8; color: rgba(255,255,255,0.6); margin: 0 0 8px;
}
.jm-footer-col ul { list-style: none; margin: 0; padding: 0; }
.jm-footer-col ul li { margin-bottom: 8px; }
.jm-footer-col ul li a {
    font-size: 13.5px; color: rgba(255,255,255,0.6); text-decoration: none; cursor: pointer;
    -webkit-transition: color .25s ease;
    transition: color .25s ease;
}
.jm-footer-col ul li a:hover { color: #c9c3ff; }
.jm-copy-right {
    margin-top: 26px; padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.08);
    text-align: center;
}
.jm-copy-right p {
    font-size: 13px; color: rgba(255,255,255,0.5); margin: 0 0 8px;
}
.jm-copy-right a { color: rgba(255,255,255,0.6); text-decoration: none; }
.jm-copy-right a:hover { color: #c9c3ff; }
.jm-health-tip {
    font-size: 12px !important;
    color: rgba(255,255,255,0.35) !important;
    line-height: 1.7;
}

/* ---------- 进入动画：当前屏内容淡入上移 ---------- */
.jm-screen .jm-screen-inner {
    opacity: 0;
    -webkit-transform: translateY(28px);
    transform: translateY(28px);
    -webkit-transition: opacity .7s ease, -webkit-transform .7s ease;
    transition: opacity .7s ease, transform .7s ease;
}
.jm-screen.swiper-slide-active .jm-screen-inner {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}
/* 首屏首屏即显示，不等切换 */
.jm-screen-1.swiper-slide-active .jm-screen-inner,
.jm-screen-1 .jm-hero-content {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

/* ---------- 响应式 ---------- */
@media (max-width: 991px) {
    .jm-footer-grid { grid-template-columns: 1fr 1fr; }
    .jm-footer-col:last-child { grid-column: 1 / -1; }
    .jm-feature-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}
@media (max-width: 767px) {
    .jm-topbar-inner { height: 60px; padding: 0 16px; }
    .jm-nav { display: none; }              /* 简化：移动端隐藏导航，保留 logo */
    .jm-topbar .mobile-menu {
        display: block;
        width: 34px; height: 34px;
        background: transparent; border: 1px solid rgba(255,255,255,0.3);
        border-radius: 6px; cursor: pointer; position: relative;
    }
    .jm-topbar .mobile-menu::before,
    .jm-topbar .mobile-menu::after,
    .jm-topbar .mobile-menu span {
        content: ""; position: absolute; left: 7px; right: 7px; height: 2px;
        background: #fff; border-radius: 2px;
    }
    .jm-topbar .mobile-menu::before { top: 9px; }
    .jm-topbar .mobile-menu span { top: 15px; display: block; }
    .jm-topbar .mobile-menu::after { top: 21px; }

    .jm-screen-inner { padding: 90px 18px 50px; }
    .jm-about-grid .jm-about-item { margin-bottom: 18px; }
    .jm-feature-grid { grid-template-columns: 1fr; }
    .jm-feature-grid .jm-feature-item,
    .jm-works-grid .jm-work-item,
    .jm-blog-grid .jm-blog-item { margin-bottom: 18px; }

    .jm-footer-grid { grid-template-columns: 1fr; }
    .jm-screen-pagination { right: 12px; }
    .jm-screen-pagination .jm-dot { width: 9px; height: 9px; }
    .jm-screen-arrow { right: 12px; width: 38px; height: 38px; font-size: 20px; }
    .jm-screen-prev { bottom: 20px; }
    .jm-screen-next { bottom: 66px; }
    .jm-scroll-hint { bottom: 80px; }      /* 避开箭头 */
}

/* ---------- 降低动态偏好回退 ---------- */
@media (prefers-reduced-motion: reduce) {
    .jm-screen,
    .jm-screen .jm-screen-inner,
    .jm-hover,
    .jm-btn,
    .jm-screen-arrow,
    .jm-screen-pagination .jm-dot {
        -webkit-transition: none !important;
        transition: none !important;
    }
    .jm-scroll-wheel { -webkit-animation: none !important; animation: none !important; }
    .jm-particles { display: none; }
    .jm-screen .jm-screen-inner { opacity: 1; -webkit-transform: none; transform: none; }
}
