/* The original theme uses 1rem = 100px. Keep text readable at every width. */
html { font-size: 100px; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-size: 0.16rem; line-height: 1.6; }
img, video, iframe { max-width: 100%; }
.header .content > *, .content .list > *, .ct_part2 .content > * { min-width: 0; }
.header .content .logo img { max-width: 100%; object-fit: contain; }
.content .list .item, .footer, .ab-banner, .news_detail_main { overflow-wrap: anywhere; }
.Ih-product .content .list, .Ih-liucheng .content .list,
.Ih-why .content .list, .ab-part3 .content .list { align-items: stretch; }
.ct_part2 .content .left, .ct_part2 .content .right { flex: 1; }
.news_detail_main .content img { height: auto; }
.news_detail_main .content { overflow-wrap: anywhere; overflow-x: auto; }
.news_detail_main .content pre { overflow-x: auto; }
.pages ul { flex-wrap: wrap; gap: 0.08rem 0; }
a:focus-visible, button:focus-visible { outline: 2px solid #2196f3; outline-offset: 3px; }
.mobile-menu-toggle { display: none; }
.mobile-navigation {
    box-sizing: border-box; width: calc(100% - 0.32rem); max-width: 4.4rem;
    max-height: calc(100dvh - 0.4rem); padding: 0.2rem; border: 0;
    border-radius: 0.2rem; color: #333; background: #fff;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2); overflow-y: auto;
    font-size: 0.16rem;
}
.mobile-navigation::backdrop { background: rgba(15, 23, 42, 0.55); }
.mobile-navigation-heading { display: flex; align-items: center; justify-content: space-between; font-size: 0.2rem; font-weight: 700; }
.mobile-menu-close {
    width: 44px; height: 44px; border: 0; border-radius: 0.1rem;
    font-size: 0.3rem; background: #f1f5f9; color: #333; cursor: pointer;
}
.mobile-navigation-links { display: grid; gap: 0.08rem; margin-top: 0.16rem; }
.mobile-navigation-links .nav-item {
    display: flex; align-items: center; min-height: 48px; padding: 0.08rem 0.16rem;
    box-sizing: border-box; border-radius: 0.1rem; color: #333; overflow-wrap: anywhere;
}
.mobile-navigation-links .nav-item.on, .mobile-navigation-links .nav-item:hover { color: #1976d2; background: #eff6ff; }
html.mobile-navigation-open, html.mobile-navigation-open body { overflow: hidden; }

@media (max-width: 1199px) {
    .header .content .right .nav { gap: 0.24rem; }
    .Ih-product .content .list, .Ih-liucheng .content .list,
    .Ih-why .content .list, .ab-part3 .content .list,
    .ab-part4 .content .list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.24rem;
    }
    .Ih-product .content .list .item, .Ih-liucheng .content .list .item,
    .Ih-why .content .list .item, .ab-part3 .content .list .item,
    .ab-part4 .content .list .item { width: 100%; }
    .Ih-liucheng .content .list .item::before { display: none; }
    .ct_part3 .content .list, .news_main .content .list,
    .Ih-news .content .list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ct_part2 .content { gap: 0.24rem; }
    .ct_part2 .content .left .form .item2 { width: 100%; }
}

@media (max-width: 767px) {
    .header { height: 0.68rem; }
    .header .content { flex-direction: row; align-items: center; padding: 0 0.16rem; gap: 0.16rem; }
    .header .content .logo { height: 100%; flex: 1; }
    .header .content .logo img { height: 0.4rem; max-width: 100%; }
    .header .content .right { height: 100%; width: auto; flex-shrink: 0; }
    .header .content .right .nav { display: none; }
    .mobile-menu-toggle {
        display: flex; flex-direction: column; justify-content: center; align-items: center;
        gap: 5px; width: 44px; height: 44px; padding: 0; border: 0;
        border-radius: 0.1rem; background: #eff6ff; cursor: pointer;
    }
    .mobile-menu-toggle span { display: block; width: 22px; height: 2px; border-radius: 2px; background: #1976d2; }
    .Ih-banner, .ab-banner { margin-top: 0.68rem; }
    .Ih-banner { padding: 0.64rem 0; }
    .ab-banner { padding: 0.48rem 0.16rem; box-sizing: border-box; }
    .Ih-banner .content, .Ih-product .content, .Ih-liucheng .content,
    .Ih-why .content, .Ih-news .content, .ab-part1 .content,
    .ab-part2 .content, .ab-part3 .content, .ab-part4 .content,
    .ct_part2 .content, .ct_part3 .content, .news_main .content,
    .footer .ft_bottom .content { padding-left: 0.16rem; padding-right: 0.16rem; }
    .Ih-product, .Ih-liucheng, .Ih-why, .Ih-news,
    .ab-part1, .ab-part2, .ab-part3, .ab-part4,
    .ct_part2, .ct_part3, .news_main { padding: 0.44rem 0; }
    .Ih-banner .content .t1, .ab-banner .title { font-size: 0.34rem; line-height: 1.35; }
    .Ih-banner .content .t2 { font-size: 0.18rem; line-height: 1.7; margin-top: 0.2rem; }
    .content .top_txt .t1, .ab-part1 .content .left .title,
    .ct_part2 .content .left .top_t1, .ct_part2 .content .right .top_t1,
    .footer .ft_contact .t1 { font-size: 0.28rem; line-height: 1.4; }
    .content .top_txt .t2, .ct_part2 .content .left .top_t2,
    .ct_part2 .content .right .top_t2, .footer .ft_contact .t2 {
        font-size: 0.16rem; line-height: 1.7; margin-top: 0.16rem;
    }
    .Ih-product .content .list, .Ih-liucheng .content .list,
    .Ih-why .content .list, .Ih-news .content .list,
    .ab-part3 .content .list, .ab-part4 .content .list,
    .ct_part3 .content .list { margin-top: 0.3rem; gap: 0.16rem; }
    .Ih-product .content .list .item .t1, .Ih-liucheng .content .list .item .t1,
    .Ih-why .content .list .item .t1, .ab-part3 .content .list .item .title,
    .ct_part3 .content .list .item .t1 { line-height: 1.5; }
    .Ih-product .content .list .item .adv p { line-height: 1.6; }
    .ab-part1 .content, .ab-part2 .content, .ct_part2 .content { flex-direction: column; gap: 0.28rem; }
    .ab-part1 .content .left, .ab-part1 .content .right,
    .ab-part2 .content .item, .ct_part2 .content .left,
    .ct_part2 .content .right { width: 100%; }
    .ab-part1 .content .right { height: auto; aspect-ratio: 4 / 3; }
    .ct_part2 .content .left .form, .ct_part2 .content .right .card {
        margin-top: 0.24rem; padding: 0.2rem;
    }
    .ct_part2 .content .left .form .item1, .ct_part2 .content .left .form .item2 { width: 100%; }
    .ct_part2 .layui-input, .ct_part2 .layui-textarea { font-size: 16px; min-height: 44px; }
    .ct_part2 .content .left .form .submit { min-height: 44px; font-size: 0.16rem; }
    .ct_part2 .content .right .card p { line-height: 1.7; overflow-wrap: anywhere; }
    .ct_part2 .content .right .card .wechat { margin-bottom: 0.16rem; max-width: 100%; }
    .Ih-news .content .list { grid-template-columns: minmax(0, 1fr); }
    .Ih-news .content .list .item { gap: 0.12rem; min-height: 44px; }
    .Ih-news .content .list .item label { flex: 1; min-width: 0; width: auto; }
    .Ih-news .content .list .item span { flex: none; white-space: nowrap; }
    .news_detail_main { padding: 1.04rem 0.16rem 0.44rem; }
    .news_detail_main .title { font-size: 0.28rem; line-height: 1.5; }
    .news_detail_main .options { flex-wrap: wrap; gap: 0.08rem 0.16rem; }
    .news_detail_main .options span { margin-right: 0; font-size: 0.14rem; }
    .news_detail_main .content { padding: 0.24rem 0; line-height: 1.8; }
    .pages ul li a, .pages ul li span { min-width: 44px; min-height: 44px; }
    .footer .ft_contact { padding: 0.44rem 0.16rem; box-sizing: border-box; }
    .Ih-banner .content .btn_group, .footer .ft_contact .btn_group { flex-wrap: wrap; gap: 0.16rem; margin-top: 0.28rem; }
    .Ih-banner .content .btn_group a, .footer .ft_contact .btn_group .btn {
        box-sizing: border-box; min-height: 44px; display: inline-flex;
        justify-content: center; align-items: center; line-height: 1.5;
    }
    .footer .ft_bottom .content .up { flex-wrap: wrap; gap: 0.24rem; }
    .footer .ft_bottom .content .up .item1,
    .footer .ft_bottom .content .up .item2 { width: 100%; padding: 0; }
    .footer .ft_bottom .content .up .item2 .info p { align-items: flex-start; }
    .footer .ft_bottom .content .up .item2 .info p img { flex-shrink: 0; margin-top: 0.04rem; }
    .footer .ft_bottom .content .dw { line-height: 1.8; }
}

@media (max-width: 575px) {
    .Ih-product .content .list, .Ih-liucheng .content .list,
    .Ih-why .content .list, .ab-part3 .content .list,
    .ct_part3 .content .list, .news_main .content .list {
        grid-template-columns: minmax(0, 1fr);
    }
    .ct_part3 .content .list .item { padding: 0.28rem 0.2rem; }
    .ab-part4 .content .list .item .t1 { font-size: 0.36rem; }
    .ab-part4 .content .list .item .desc { line-height: 1.6; }
}

@media (prefers-reduced-motion: reduce) {
    .header, .header *, .content .list .item, .content .list .item .num {
        transition: none;
    }
}
