/* 仅显式启用的页面使用 rem；桌面端和其他 v3 页面保持原有根字号。 */
@media screen and (max-width: 768px) {
    html.mobile-rem {
        font-size: 16px;
        font-size: clamp(14px, 4.2666667vw, 16px);
    }

    html.mobile-rem .section .container,
    html.mobile-rem .section .containerPro {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }
    html.mobile-rem .section .container .title,
    html.mobile-rem .section .containerPro .title {
        font-size: 1.375rem;
        line-height: 2.0625rem;
        margin-bottom: 1rem;
    }
    html.mobile-rem .section .point {
        width: calc(100% - 2.5rem);
        padding: 1.25rem;
    }
    html.mobile-rem .section .point-item {
        font-size: .75rem;
        margin: .625rem 0;
    }
    html.mobile-rem .section .point .notice-hint {
        margin-top: .625rem;
        font-size: .75rem;
    }

    html.mobile-rem #product_feature {
        padding-top: 1.875rem;
    }
    html.mobile-rem #product_feature .container > .title {
        margin-bottom: 1.25rem;
        font-size: 1.375rem;
        line-height: 1.6875rem;
    }
    html.mobile-rem #product_feature .feature-item {
        margin-bottom: 1rem;
    }
    html.mobile-rem #product_feature .feature-item .thumb {
        margin-bottom: 0;
    }
    html.mobile-rem #product_feature .feature-item p {
        font-size: .875rem;
        line-height: 1.3125rem;
        margin-bottom: 0;
    }
    html.mobile-rem #product_feature .feature-item span {
        font-size: .75rem;
        line-height: 1.125rem;
    }

    /* 首页：固定像素资源和地图坐标继续使用 px。 */
    html.mobile-rem-index #banner .video-box {
        width: 21.5625rem;
        max-width: calc(100% - 3rem);
        height: 23.75rem;
        top: 5.9375rem;
    }
    html.mobile-rem-index #banner .content {
        padding-bottom: 10rem;
    }
    html.mobile-rem-index #banner .content-down,
    html.mobile-rem-index #banner .sub-desc,
    html.mobile-rem-index #banner .content-down > div {
        height: 4.5625rem;
    }
    html.mobile-rem-index #banner .content-down {
        padding-left: .75rem;
        padding-right: .75rem;
    }
    html.mobile-rem-index #banner .content-down > div > b {
        font-size: .8125rem;
    }
    html.mobile-rem-index #banner .content-down > div > span {
        font-size: .625rem;
        line-height: .9375rem;
    }
    html.mobile-rem #product .container,
    html.mobile-rem #node .container,
    html.mobile-rem #student .container,
    html.mobile-rem #safe .container,
    html.mobile-rem #extend .containerPro,
    html.mobile-rem #partner .containerPro {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }
    html.mobile-rem #product .title,
    html.mobile-rem #node .title,
    html.mobile-rem #extend .containerPro > .title,
    html.mobile-rem #partner .title {
        font-size: 1.375rem;
        line-height: 2.0625rem;
        margin-bottom: 1.25rem;
    }
    html.mobile-rem #node,
    html.mobile-rem #extend .containerPro,
    html.mobile-rem #apply_scenarios_index,
    html.mobile-rem #guestbook,
    html.mobile-rem #partner,
    html.mobile-rem #student,
    html.mobile-rem #safe {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }
    html.mobile-rem #student .subtitle,
    html.mobile-rem #safe .subtitle,
    html.mobile-rem #partner .title .subtitle {
        margin-top: 1rem;
        margin-bottom: 1.25rem;
        font-size: .75rem;
        line-height: 1.125rem;
    }
    html.mobile-rem #student .content .btn,
    html.mobile-rem #safe .content .btn,
    html.mobile-rem #join .content .btn {
        min-height: 2.375rem;
        padding: .625rem 1rem;
        font-size: .75rem;
        line-height: 1.125rem;
    }
    html.mobile-rem #join {
        padding: 2.5rem 1.5rem 2rem;
    }
    html.mobile-rem #join .content img:first-child {
        width: 10.25rem;
        margin-bottom: 1rem;
    }
    html.mobile-rem #join .content p {
        font-size: 18px;
        line-height: 2.0625rem;
        margin-bottom: .75rem;
    }
    html.mobile-rem #join .content span {
        font-size: .75rem;
        line-height: 1.125rem;
    }
    html.mobile-rem #join .content .btn {
        margin-top: 1.25rem;
        width: 10.4375rem;
    }
    html.mobile-rem #join .content img:last-child {
        width: 18.25rem;
        margin-top: 1.75rem;
    }
    html.mobile-rem #apply_scenarios_index .scenario-func {
        padding-left: 1rem;
    }
    html.mobile-rem #apply_scenarios_index .func-title::after {
        left: -1rem;
    }

    /* 产品页：图片和动画坐标继续使用 px。 */
    html.mobile-rem-product #banner .containerPro {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }
    html.mobile-rem-product #banner .banner-title {
        font-size: 1.5rem;
        line-height: 1.75rem;
        height: auto;
    }
    html.mobile-rem-product #banner .banner-text {
        margin-top: 1rem;
    }
    html.mobile-rem-product #banner .banner-text > p {
        font-size: .75rem;
        line-height: 1.375rem;
        height: auto;
    }
    html.mobile-rem-product #banner .banner-options {
        margin-top: 1.5rem;
    }
    html.mobile-rem.mobile-rem-product #banner.section {
        height: auto;
        min-height: 0;
    }
    html.mobile-rem.mobile-rem-product #banner .containerPro.media-m .content {
        padding-bottom: 0px;
    }
    html.mobile-rem.mobile-rem-product #banner .banner-text > p {
        font-family: "PingFang SC", sans-serif;
        font-size: 12px;
        line-height: 18px;
    }
    html.mobile-rem.mobile-rem-product .banner-options.media-m {
        padding: 18px 20px 24px;
    }
    html.mobile-rem #introduction .content-text h3 {
        font-size: 1.25rem;
        line-height: 1.875rem;
        height: auto;
        margin-bottom: 1rem;
    }
    html.mobile-rem #introduction .content-text p,
    html.mobile-rem #introduction .content-text .sub-hint {
        font-size: .75rem;
        line-height: 1.375rem;
    }
    /* 六个产品页的任务场景标题独立维护，避免跟随相邻板块的字号调整。 */
    html.mobile-rem.mobile-rem-product #apply .container > .title {
        margin-bottom: 1.25rem;
        font-size: 22px;
        line-height: 27px;
    }
    html.mobile-rem #data .content-tab > .tab-pre {
        gap: .5rem;
        padding: .625rem;
        margin: 0 .25rem 1.875rem;
    }
    html.mobile-rem #data .content-tab > .tab-pre > span {
        font-size: .75rem;
        line-height: 1.125rem;
    }
    html.mobile-rem #data .content-tab > .tab-pre > p {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    html.mobile-rem #apply {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }

    /* 产品内容区移动端字号基线：正文 12、二级标题 14、一级标题 16、标签 10。 */
    html.mobile-rem-product #v3-content {
        font-family: "Source Han Sans CN", sans-serif;
        font-size: 12px;
        line-height: 18px;
    }
    html.mobile-rem-product #introduction .content-text h3,
    html.mobile-rem-product #advantage .container > .title,
    html.mobile-rem-product #product_feature .container > .title,
    html.mobile-rem-product #ip-map .container > .title,
    html.mobile-rem-product #fmap .container > .title,
    html.mobile-rem-product #data .content-tab > .tab-title {
        font-size: 22px;
        line-height: 30px;
    }
    html.mobile-rem-product .tips .tips-title {
        font-size: 18px;
        line-height: 27px;
    }
    html.mobile-rem-product .tips {
        padding: 20px 0;
    }
    html.mobile-rem-product #ip-map .desc-title {
        padding: 10px 0;
        font-size: 18px;
        line-height: 21px;
    }
    /* 功能卡标题沿用卡片自身的紧凑规格，不复用地图标题样式。 */
    html.mobile-rem-product #fps-banner .fps-info-title {
        padding: 0;
        font-size: 16px;
        line-height: 24px;
        margin-bottom: 10px;
    }
    /* 轮播标题紧邻说明文案，不使用功能卡标题的上下 padding。 */
    html.mobile-rem-product #fps-banner .clo_title {
        padding: 0;
        font-size: 18px;
        line-height: 21px;
    }
    /* 任务卡片标题不使用其他二级标题的上下 padding，避免挤压卡片正文空间。 */
    html.mobile-rem-product #apply .apply-item > span {
        padding: 0;
        margin-top: -10px;
        margin-bottom: 4px;
        font-size: 14px;
        line-height: 21px;
    }
    html.mobile-rem-product #data .content-tab > .tab-pre > p {
        font-size: 16px;
        line-height: 21px;
    }
    html.mobile-rem-product #product_feature .feature-item p {
        font-size: 14px;
        line-height: 21px;
        margin: 10px;
    }
    html.mobile-rem-product #product_feature .feature-item span {
        display: block;
        margin-top: 0;
        font-size: 12px;
        line-height: 18px;
        text-align: center;
    }
    html.mobile-rem-product #fps-banner .fps-info-monitor-desc {
        display: block;
        margin-top: 0;
        font-size: 14px;
        line-height: 21px;
    }
    html.mobile-rem-product #fmap .map-label-title {
        font-size: 12px;
        line-height: 18px;
        margin-bottom: 0;
    }
    html.mobile-rem-product #introduction .content-text p,
    html.mobile-rem-product #introduction .content-text .sub-hint,
    html.mobile-rem-product #introduction .point-item > span:last-child,
    html.mobile-rem-product #apply .back-card span,
    html.mobile-rem-product #ip-map .desc-text,
    html.mobile-rem-product #fps-banner .clo_content,
    html.mobile-rem-product #data .content-tab > .tab-pre > span,
    html.mobile-rem-product .tips .tip-item {
        font-size: 12px;
        line-height: 21px;
    }
    html.mobile-rem-product #fmap .map-label-content {
        font-size: 12px;
        line-height: 18px;
    }
    html.mobile-rem-product #introduction .point-item .tag {
        font-size: 10px;
        line-height: 15px;
    }
}
