/**
 * ═══════════════════════════════════════════════════════
 * Home Module CSS V2 — 首页装修模块专用样式
 * 路径: Public/css/home-module.css
 *
 * V2 特性:
 *   - 全部颜色继承前台 :root CSS 变量(带 fallback)
 *   - 类名全部 hm- 前缀,与前台其他 CSS 零冲突
 *   - 14 模块: carousel/hero/image_text/feature/custom_process/
 *              exhibition/customer_photos/cta/cert/partner/faq/
 *              about/contact/text
 *   - 按钮固定主题色底 + 白字(无翻转 bug)
 * ═══════════════════════════════════════════════════════ */

/* ── 局部变量映射(继承前台,前台没定义就用 fallback)── */
.hm-carousel-section, .hm-hero, .hm-image-text, .hm-feature,
.hm-process, .hm-exhibition, .hm-customers, .hm-cta, .hm-cert,
.hm-partner, .hm-faq, .hm-about, .hm-contact, .hm-text,
.hm-video, .hm-stats, .hm-team, .hm-timeline {
    --hm-primary: var(--primary-blue, #0056b3);
    --hm-hover: var(--hover-blue, #004494);
    --hm-dark: var(--dark-blue, #002b5c);
    --hm-text: var(--text-dark, #1a1a1a);
    --hm-gray: var(--text-gray, #666666);
    --hm-bg: var(--bg-light, #ffffff);
    --hm-faint: var(--bg-faint, #fcfcfc);
    --hm-border: var(--border-color, #f0f0f0);
    --hm-shadow: var(--card-shadow, 0 10px 30px rgba(0,0,0,0.05));
    --hm-shadow-hover: var(--card-hover-shadow, 0 20px 40px rgba(0,86,179,0.12));
    --hm-trans: var(--transition-base, all 0.3s ease);
}

.hm-carousel-section *, .hm-hero *, .hm-image-text *, .hm-feature *,
.hm-process *, .hm-exhibition *, .hm-customers *, .hm-cta *, .hm-cert *,
.hm-partner *, .hm-faq *, .hm-about *, .hm-contact *, .hm-text *,
.hm-video *, .hm-stats *, .hm-team *, .hm-timeline * {
    box-sizing: border-box;
}

/* ── 通用容器 ── */
.hm-container {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 40px;
    width: 100%;
}

/* ── 通用按钮:固定主题色底白字,永不翻白 ── */
.hm-btn {
    display: inline-block;
    padding: 14px 36px;
    background: var(--hm-primary, #0056b3) !important;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 30px;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: var(--hm-trans);
    box-shadow: 0 4px 14px rgba(0,0,0,0.18);
}
.hm-btn:hover {
    background: var(--hm-hover, #004494) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0,0,0,0.24);
}
/* 深色背景上的按钮加白描边 */
.hm-hero .hm-btn, .hm-cta .hm-btn {
    border: 2px solid rgba(255,255,255,0.85);
}

/* ── 通用段落头 ── */
.hm-sec-header {
    text-align: center;
    margin-bottom: 48px;
}
.hm-sec-header h2 {
    font-size: 2.1rem;
    font-weight: 800;
    color: var(--hm-text);
    margin: 0 0 14px;
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
}
.hm-sec-header h2::after {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 56px; height: 4px;
    background: var(--hm-primary);
    border-radius: 2px;
}
.hm-sec-header p {
    font-size: 1.05rem;
    color: var(--hm-gray);
    max-width: 640px;
    margin: 0 auto;
    line-height: 1.7;
}

/* ── 富文本通用 ── */
.hm-rich p { color: var(--hm-gray, #4b5563); line-height: 1.85; margin: 0 0 16px; }
.hm-rich ul, .hm-rich ol { padding-left: 22px; color: var(--hm-gray); line-height: 1.85; margin: 0 0 16px; }
.hm-rich li { margin-bottom: 8px; }
.hm-rich strong { color: var(--hm-text); }
.hm-rich a { color: var(--hm-primary); }

/* ═══════════════════════════════════════════════════════
   1. 轮播图 (carousel, swiper v8)
   ═══════════════════════════════════════════════════════ */
.hm-carousel-section { position: relative; width: 100%; overflow: hidden; }
.hm-carousel-section .swiper { width: 100%; height: 520px; }
.hm-carousel-slide {
    display: flex;
    align-items: flex-end;
    width: 100%; height: 100%;
    background-size: cover;
    background-position: center;
    text-decoration: none;
    position: relative;
}
.hm-carousel-slide::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(0,10,30,0.62) 100%);
}
.hm-carousel-caption {
    position: relative;
    z-index: 2;
    padding: 0 8% 68px;
    color: #fff;
}
.hm-carousel-caption h2 {
    font-size: 2.4rem; font-weight: 800;
    margin: 0 0 10px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.4);
}
.hm-carousel-caption p {
    font-size: 1.15rem;
    margin: 0;
    color: rgba(255,255,255,0.92);
    text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}
.hm-carousel-section .swiper-pagination-bullet { background: #fff; opacity: 0.55; }
.hm-carousel-section .swiper-pagination-bullet-active { opacity: 1; background: var(--hm-primary, #0056b3); }
.hm-carousel-section .swiper-button-prev,
.hm-carousel-section .swiper-button-next {
    color: #fff;
    background: rgba(0,0,0,0.28);
    width: 48px; height: 48px;
    border-radius: 50%;
    transition: background 0.2s;
}
.hm-carousel-section .swiper-button-prev:hover,
.hm-carousel-section .swiper-button-next:hover { background: var(--hm-primary, #0056b3); }
.hm-carousel-section .swiper-button-prev::after,
.hm-carousel-section .swiper-button-next::after { font-size: 18px; font-weight: 700; }

/* ── 轮播视频 slide ── */
.hm-carousel-slide { overflow: hidden; }
.hm-carousel-video {
    position: absolute;
    inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    z-index: 0;
}
.hm-carousel-slide::before { z-index: 1; }
.hm-carousel-caption { z-index: 2; }

/* ── 圆角卡片变体(1480 内嵌)── */
.hm-carousel-rounded { padding: 40px 0; }
.hm-carousel-rounded .hm-carousel-inner {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 40px;
}
.hm-carousel-rounded .swiper {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--hm-shadow-hover, 0 20px 40px rgba(0,86,179,0.12));
}
.hm-carousel-classic .hm-carousel-inner { width: 100%; }

@media (max-width: 768px) {
    .hm-carousel-rounded { padding: 20px 0; }
    .hm-carousel-rounded .hm-carousel-inner { padding: 0 16px; }
    .hm-carousel-rounded .swiper { border-radius: 12px; }
    .hm-carousel-section .swiper { max-height: 380px; }
}

/* ═══════════════════════════════════════════════════════
   2. Hero 横幅
   ═══════════════════════════════════════════════════════ */
.hm-hero {
    position: relative;
    width: 100%;
    min-height: 480px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.hm-hero.no-bg {
    background: linear-gradient(135deg, var(--hm-dark, #002b5c) 0%, var(--hm-primary, #0056b3) 100%);
}
.hm-hero.has-bg::before {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,15,45,0.35), rgba(0,15,45,0.62));
    z-index: 1;
}
.hm-hero .hm-container {
    position: relative; z-index: 2;
    padding-top: 90px; padding-bottom: 90px;
    text-align: center;
}
.hm-hero h1 {
    font-size: 3rem; font-weight: 800;
    color: #fff;
    margin: 0 0 18px;
    line-height: 1.2;
    text-shadow: 0 2px 12px rgba(0,0,0,0.45);
    letter-spacing: 0.5px;
}
.hm-hero p {
    font-size: 1.2rem;
    color: rgba(255,255,255,0.92);
    margin: 0 auto 34px;
    max-width: 720px;
    line-height: 1.65;
    text-shadow: 0 1px 6px rgba(0,0,0,0.35);
}

/* ═══════════════════════════════════════════════════════
   3. 图文左右
   ═══════════════════════════════════════════════════════ */
.hm-image-text { padding: 90px 0; background: var(--hm-bg, #fff); }
.hm-it-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.hm-it-image { position: relative; }
.hm-it-image::before {
    content: '';
    position: absolute;
    top: 18px; left: 18px; right: -18px; bottom: -18px;
    background: linear-gradient(135deg, var(--hm-primary, #0056b3), transparent 70%);
    opacity: 0.12;
    border-radius: 14px;
    z-index: 0;
}
.hm-it-image img {
    position: relative; z-index: 1;
    width: 100%;
    border-radius: 14px;
    box-shadow: var(--hm-shadow);
    object-fit: cover;
    aspect-ratio: 4/3;
}
.hm-it-text h2 {
    font-size: 2rem; font-weight: 800;
    color: var(--hm-text);
    margin: 0 0 22px;
    line-height: 1.25;
    position: relative;
    padding-bottom: 14px;
}
.hm-it-text h2::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 48px; height: 4px;
    background: var(--hm-primary);
    border-radius: 2px;
}
.hm-it-text .hm-btn { margin-top: 8px; }

/* ═══════════════════════════════════════════════════════
   4. 优势展示
   ═══════════════════════════════════════════════════════ */
.hm-feature { padding: 90px 0; background: var(--hm-faint, #fcfcfc); }
.hm-feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 26px;
}
.hm-feature-card {
    background: var(--hm-bg, #fff);
    border-radius: 14px;
    padding: 36px 28px;
    box-shadow: var(--hm-shadow);
    transition: var(--hm-trans);
    position: relative;
    border-top: 4px solid transparent;
    overflow: hidden;
}
.hm-feature-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--hm-shadow-hover);
    border-top-color: var(--hm-primary);
}
.hm-card-num {
    font-size: 3rem;
    font-weight: 900;
    color: var(--hm-primary);
    opacity: 0.08;
    position: absolute;
    top: 12px; right: 20px;
    line-height: 1;
}
.hm-card-icon { font-size: 2.2rem; margin-bottom: 18px; }
.hm-card-icon img { max-width: 48px; max-height: 48px; }
.hm-feature-card h3 {
    font-size: 1.12rem; font-weight: 700;
    color: var(--hm-text);
    margin: 0 0 12px;
}
.hm-feature-card p {
    font-size: 0.92rem;
    color: var(--hm-gray);
    line-height: 1.75;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════
   5. 定制流程(横向步骤条)
   ═══════════════════════════════════════════════════════ */
.hm-process { padding: 90px 0; background: var(--hm-bg, #fff); }
.hm-process-track {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 8px;
    position: relative;
}
.hm-process-step {
    text-align: center;
    padding: 0 14px;
    position: relative;
}
/* 连接线 */
.hm-process-step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 34px;
    left: calc(50% + 44px);
    width: calc(100% - 88px);
    height: 2px;
    background: linear-gradient(90deg, var(--hm-primary), var(--hm-border, #f0f0f0));
    opacity: 0.5;
}
.hm-step-badge {
    width: 68px; height: 68px;
    margin: 0 auto 18px;
    background: linear-gradient(135deg, var(--hm-primary), var(--hm-dark));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: 0 6px 18px rgba(0,86,179,0.28);
    transition: var(--hm-trans);
}
.hm-process-step:hover .hm-step-badge { transform: scale(1.1); }
.hm-step-icon { font-size: 1.7rem; }
.hm-step-num {
    position: absolute;
    top: -6px; right: -6px;
    width: 24px; height: 24px;
    background: #fff;
    color: var(--hm-primary);
    border: 2px solid var(--hm-primary);
    border-radius: 50%;
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hm-process-step h3 {
    font-size: 1rem; font-weight: 700;
    color: var(--hm-text);
    margin: 0 0 8px;
}
.hm-process-step p {
    font-size: 0.85rem;
    color: var(--hm-gray);
    line-height: 1.65;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════
   6. 展会展示
   ═══════════════════════════════════════════════════════ */
.hm-exhibition { padding: 90px 0; background: var(--hm-faint, #fcfcfc); }
.hm-exhib-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 28px;
}
.hm-exhib-card {
    background: var(--hm-bg, #fff);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--hm-shadow);
    transition: var(--hm-trans);
}
.hm-exhib-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--hm-shadow-hover);
}
.hm-exhib-img { overflow: hidden; aspect-ratio: 16/10; }
.hm-exhib-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}
.hm-exhib-card:hover .hm-exhib-img img { transform: scale(1.06); }
.hm-exhib-info { padding: 20px 22px 24px; }
.hm-exhib-info h3 {
    font-size: 1.1rem; font-weight: 700;
    color: var(--hm-text);
    margin: 0 0 12px;
    line-height: 1.4;
}
.hm-exhib-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 0.85rem;
    color: var(--hm-gray);
}

/* ═══════════════════════════════════════════════════════
   7. 客户合影(照片墙)
   ═══════════════════════════════════════════════════════ */
.hm-customers { padding: 90px 0; background: var(--hm-bg, #fff); }
.hm-photo-wall {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
}
.hm-photo-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: var(--hm-shadow);
    cursor: default;
}
.hm-photo-item img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}
.hm-photo-item:hover img { transform: scale(1.07); }
.hm-photo-cap {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 28px 16px 14px;
    background: linear-gradient(180deg, transparent, rgba(0,10,30,0.78));
    color: #fff;
    font-size: 0.88rem;
    font-weight: 500;
    opacity: 0;
    transform: translateY(8px);
    transition: all 0.3s ease;
}
.hm-photo-item:hover .hm-photo-cap { opacity: 1; transform: translateY(0); }

/* ═══════════════════════════════════════════════════════
   8. CTA
   ═══════════════════════════════════════════════════════ */
.hm-cta {
    position: relative;
    width: 100%;
    min-height: 300px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.hm-cta.no-bg {
    background: linear-gradient(135deg, var(--hm-primary, #0056b3) 0%, var(--hm-dark, #002b5c) 100%);
}
.hm-cta.has-bg::before {
    content: '';
    position: absolute; inset: 0;
    background: rgba(0, 20, 55, 0.6);
    z-index: 1;
}
.hm-cta .hm-container {
    position: relative; z-index: 2;
    padding-top: 72px; padding-bottom: 72px;
    text-align: center;
}
.hm-cta h2 {
    font-size: 2.3rem; font-weight: 800;
    color: #fff;
    margin: 0 0 14px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.35);
}
.hm-cta p {
    font-size: 1.12rem;
    color: rgba(255,255,255,0.9);
    margin: 0 0 32px;
}

/* ═══════════════════════════════════════════════════════
   9. 证书认证
   ═══════════════════════════════════════════════════════ */
.hm-cert { padding: 80px 0; background: var(--hm-faint, #fcfcfc); }
.hm-cert-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 26px;
}
.hm-cert-card {
    background: var(--hm-bg, #fff);
    border: 1px solid var(--hm-border, #f0f0f0);
    border-radius: 12px;
    padding: 24px 20px 16px;
    width: 180px;
    text-align: center;
    transition: var(--hm-trans);
}
.hm-cert-card:hover {
    box-shadow: var(--hm-shadow-hover);
    transform: translateY(-4px);
    border-color: var(--hm-primary);
}
.hm-cert-card img {
    max-width: 130px;
    max-height: 92px;
    object-fit: contain;
}
.hm-cert-name {
    margin-top: 12px;
    font-size: 0.82rem;
    color: var(--hm-gray);
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════
   10. 合作伙伴
   ═══════════════════════════════════════════════════════ */
.hm-partner { padding: 80px 0; background: var(--hm-bg, #fff); }
.hm-logo-wall {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
}
.hm-logo-item {
    background: var(--hm-faint, #fcfcfc);
    border: 1px solid var(--hm-border, #f0f0f0);
    border-radius: 10px;
    padding: 20px 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    transition: var(--hm-trans);
}
.hm-logo-item:hover {
    box-shadow: var(--hm-shadow);
    border-color: var(--hm-primary);
}
.hm-logo-item img {
    max-height: 52px;
    max-width: 130px;
    object-fit: contain;
    filter: grayscale(55%);
    opacity: 0.85;
    transition: var(--hm-trans);
}
.hm-logo-item:hover img { filter: grayscale(0%); opacity: 1; }

/* ═══════════════════════════════════════════════════════
   11. FAQ
   ═══════════════════════════════════════════════════════ */
.hm-faq { padding: 90px 0; background: var(--hm-faint, #fcfcfc); }
.hm-faq-list { max-width: 880px; margin: 0 auto; }
.hm-faq-item {
    background: var(--hm-bg, #fff);
    border: 1px solid var(--hm-border, #f0f0f0);
    border-radius: 10px;
    margin-bottom: 14px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.hm-faq-item:hover { box-shadow: var(--hm-shadow); }
.hm-faq-item summary {
    padding: 20px 26px;
    font-size: 1.02rem;
    font-weight: 600;
    color: var(--hm-text);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
    transition: var(--hm-trans);
}
.hm-faq-item summary::-webkit-details-marker { display: none; }
.hm-faq-item summary::after {
    content: '+';
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--hm-primary);
    flex-shrink: 0;
    margin-left: 18px;
    transition: transform 0.25s;
    line-height: 1;
}
.hm-faq-item[open] summary::after { transform: rotate(45deg); }
.hm-faq-item[open] summary {
    color: var(--hm-primary);
    border-bottom: 1px solid var(--hm-border);
}
.hm-faq-answer {
    padding: 20px 26px;
    color: var(--hm-gray);
    line-height: 1.85;
    font-size: 0.95rem;
}

/* ═══════════════════════════════════════════════════════
   12. 关于我们
   ═══════════════════════════════════════════════════════ */
.hm-about { padding: 90px 0; background: var(--hm-bg, #fff); }
.hm-about-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 64px;
    align-items: center;
}
.hm-about-image { position: relative; }
.hm-about-image::before {
    content: '';
    position: absolute;
    top: -16px; left: -16px;
    width: 45%; height: 45%;
    border-top: 4px solid var(--hm-primary);
    border-left: 4px solid var(--hm-primary);
    border-radius: 14px 0 0 0;
    opacity: 0.55;
}
.hm-about-image img {
    position: relative;
    width: 100%;
    border-radius: 14px;
    box-shadow: var(--hm-shadow);
    object-fit: cover;
    aspect-ratio: 4/3;
}
.hm-about-text h2 {
    font-size: 2rem; font-weight: 800;
    color: var(--hm-text);
    margin: 0 0 22px;
    position: relative;
    padding-bottom: 14px;
}
.hm-about-text h2::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 48px; height: 4px;
    background: var(--hm-primary);
    border-radius: 2px;
}
.hm-about-text .hm-btn { margin-top: 10px; }

/* ═══════════════════════════════════════════════════════
   13. 联系信息
   ═══════════════════════════════════════════════════════ */
.hm-contact { padding: 90px 0; background: var(--hm-faint, #fcfcfc); }
.hm-contact-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
    max-width: 1000px;
    margin: 0 auto 36px;
}
.hm-contact-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    background: var(--hm-bg, #fff);
    border-radius: 12px;
    box-shadow: var(--hm-shadow);
    font-size: 0.98rem;
    color: var(--hm-text);
    transition: var(--hm-trans);
}
.hm-contact-item:hover { box-shadow: var(--hm-shadow-hover); transform: translateY(-3px); }
.hm-ci-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
    width: 48px; height: 48px;
    background: linear-gradient(135deg, var(--hm-primary), var(--hm-dark));
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.hm-contact-action { text-align: center; }

/* ═══════════════════════════════════════════════════════
   14. 大段文字
   ═══════════════════════════════════════════════════════ */
.hm-text { padding: 90px 0; background: var(--hm-bg, #fff); }
.hm-text-body {
    max-width: 900px;
    margin: 0 auto;
    color: var(--hm-gray, #374151);
    line-height: 1.9;
    font-size: 0.98rem;
}
.hm-text-body h3 { color: var(--hm-text); margin: 24px 0 12px; }

/* ═══════════════════════════════════════════════════════
   V3 变体:hero-left / feature-minimal / faq-line
   ═══════════════════════════════════════════════════════ */
.hm-hero-left .hm-container { text-align: left; }
.hm-hero-left p { margin-left: 0; }

.hm-feature-minimal .hm-feature-card {
    background: transparent;
    box-shadow: none;
    border-top: none;
    text-align: center;
    padding: 24px 18px;
}
.hm-feature-minimal .hm-feature-card:hover {
    transform: none;
    box-shadow: none;
}
.hm-feature-minimal .hm-card-num { display: none; }
.hm-feature-minimal .hm-card-icon {
    font-size: 2.6rem;
    margin-bottom: 20px;
}

.hm-faq-line .hm-faq-item {
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--hm-border, #f0f0f0);
    border-radius: 0;
    margin-bottom: 0;
}
.hm-faq-line .hm-faq-item:hover { box-shadow: none; }
.hm-faq-line .hm-faq-item summary { background: transparent; padding-left: 4px; padding-right: 4px; }
.hm-faq-line .hm-faq-item[open] summary { background: transparent; border-bottom: none; }
.hm-faq-line .hm-faq-answer { padding-left: 4px; padding-right: 4px; padding-top: 0; }

/* ═══════════════════════════════════════════════════════
   15. 视频介绍
   ═══════════════════════════════════════════════════════ */
.hm-video { padding: 90px 0; background: var(--hm-bg, #fff); }
.hm-video-wrap {
    max-width: 980px;
    margin: 0 auto;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--hm-shadow-hover);
    line-height: 0;
}
.hm-video-wrap video {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    background: #000;
}

/* ═══════════════════════════════════════════════════════
   16. 数据统计
   ═══════════════════════════════════════════════════════ */
.hm-stats {
    padding: 72px 0;
    background: linear-gradient(135deg, var(--hm-primary, #0056b3), var(--hm-dark, #002b5c));
}
.hm-stats-header h2 { color: #fff; }
.hm-stats-header h2::after { background: rgba(255,255,255,0.6); }
.hm-stats-header p { color: rgba(255,255,255,0.85); }
.hm-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 28px;
    text-align: center;
}
.hm-stat-num {
    font-size: 3rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 2px;
}
.hm-stat-suffix { font-size: 1.9rem; font-weight: 800; color: rgba(255,255,255,0.9); }
.hm-stat-label {
    margin-top: 10px;
    font-size: 0.95rem;
    color: rgba(255,255,255,0.82);
    font-weight: 500;
    letter-spacing: 0.4px;
}

/* ═══════════════════════════════════════════════════════
   17. 团队成员
   ═══════════════════════════════════════════════════════ */
.hm-team { padding: 90px 0; background: var(--hm-faint, #fcfcfc); }
.hm-team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 26px;
}
.hm-team-card {
    background: var(--hm-bg, #fff);
    border-radius: 14px;
    padding: 30px 22px;
    text-align: center;
    box-shadow: var(--hm-shadow);
    transition: var(--hm-trans);
}
.hm-team-card:hover { transform: translateY(-5px); box-shadow: var(--hm-shadow-hover); }
.hm-team-photo {
    width: 110px; height: 110px;
    margin: 0 auto 18px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--hm-primary, #0056b3);
    padding: 3px;
    background: var(--hm-bg, #fff);
}
.hm-team-photo img {
    width: 100%; height: 100%;
    object-fit: cover;
    border-radius: 50%;
}
.hm-team-noimg {
    width: 100%; height: 100%;
    border-radius: 50%;
    background: var(--hm-faint, #f0f4fa);
    display: flex; align-items: center; justify-content: center;
    font-size: 2.6rem;
}
.hm-team-card h3 { font-size: 1.08rem; font-weight: 700; color: var(--hm-text); margin: 0 0 6px; }
.hm-team-pos {
    font-size: 0.85rem;
    color: var(--hm-primary, #0056b3);
    font-weight: 600;
    margin-bottom: 10px;
}
.hm-team-card p { font-size: 0.85rem; color: var(--hm-gray); line-height: 1.65; margin: 0; }

/* ═══════════════════════════════════════════════════════
   18. 发展历程(时间轴)
   ═══════════════════════════════════════════════════════ */
.hm-timeline { padding: 90px 0; background: var(--hm-bg, #fff); }
.hm-tl-track {
    position: relative;
    max-width: 960px;
    margin: 0 auto;
    padding: 10px 0;
}
.hm-tl-track::before {
    content: '';
    position: absolute;
    left: 50%; top: 0; bottom: 0;
    width: 3px;
    transform: translateX(-50%);
    background: linear-gradient(180deg, var(--hm-primary, #0056b3), var(--hm-border, #f0f0f0));
    border-radius: 2px;
}
.hm-tl-item { position: relative; width: 50%; padding: 14px 44px 22px; }
.hm-tl-left  { left: 0;  text-align: right; }
.hm-tl-right { left: 50%; text-align: left; }
.hm-tl-dot {
    position: absolute;
    top: 26px;
    width: 16px; height: 16px;
    background: var(--hm-bg, #fff);
    border: 4px solid var(--hm-primary, #0056b3);
    border-radius: 50%;
    z-index: 2;
}
.hm-tl-left  .hm-tl-dot { right: -8px; }
.hm-tl-right .hm-tl-dot { left: -8px; }
.hm-tl-card {
    display: inline-block;
    background: var(--hm-faint, #fcfcfc);
    border: 1px solid var(--hm-border, #f0f0f0);
    border-radius: 12px;
    padding: 20px 24px;
    max-width: 100%;
    transition: var(--hm-trans);
    text-align: left;
}
.hm-tl-card:hover { box-shadow: var(--hm-shadow-hover); border-color: var(--hm-primary); }
.hm-tl-year {
    display: inline-block;
    font-size: 0.82rem;
    font-weight: 800;
    color: #fff;
    background: var(--hm-primary, #0056b3);
    padding: 3px 14px;
    border-radius: 20px;
    margin-bottom: 10px;
}
.hm-tl-card h3 { font-size: 1.05rem; font-weight: 700; color: var(--hm-text); margin: 0 0 8px; }
.hm-tl-card p { font-size: 0.88rem; color: var(--hm-gray); line-height: 1.7; margin: 0; }

/* ═══════════════════════════════════════════════════════
   响应式
   ═══════════════════════════════════════════════════════ */
@media (max-width: 992px) {
    .hm-process-step:not(:last-child)::after { display: none; }
}
@media (max-width: 768px) {
    .hm-container { padding: 0 20px; }

    .hm-carousel-section .swiper { height: 320px; }
    .hm-carousel-caption { padding: 0 6% 48px; }
    .hm-carousel-caption h2 { font-size: 1.5rem; }
    .hm-carousel-caption p { font-size: 0.95rem; }

    .hm-hero { min-height: 360px; }
    .hm-hero h1 { font-size: 1.9rem; }
    .hm-hero p { font-size: 1rem; }
    .hm-hero .hm-container { padding-top: 60px; padding-bottom: 60px; }

    .hm-it-grid, .hm-about-grid { grid-template-columns: 1fr; gap: 36px; }
    .hm-it-text h2, .hm-about-text h2 { font-size: 1.55rem; }

    .hm-sec-header h2 { font-size: 1.6rem; }
    .hm-sec-header { margin-bottom: 32px; }

    .hm-cta h2 { font-size: 1.6rem; }
    .hm-cta .hm-container { padding-top: 52px; padding-bottom: 52px; }

    .hm-image-text, .hm-feature, .hm-process, .hm-exhibition,
    .hm-customers, .hm-cert, .hm-partner, .hm-faq, .hm-about,
    .hm-contact, .hm-text { padding: 56px 0; }

    .hm-btn { padding: 12px 28px; font-size: 0.92rem; }
    .hm-cert-card { width: 140px; }

    .hm-video, .hm-team, .hm-timeline { padding: 56px 0; }
    .hm-stats { padding: 48px 0; }
    .hm-stat-num { font-size: 2.1rem; }
    .hm-stat-suffix { font-size: 1.3rem; }

    /* 时间轴:手机改单列左轴 */
    .hm-tl-track::before { left: 12px; }
    .hm-tl-item { width: 100%; left: 0 !important; text-align: left; padding: 10px 0 18px 40px; }
    .hm-tl-left .hm-tl-dot, .hm-tl-right .hm-tl-dot { left: 4px; right: auto; }
}

/* ===== 2026-09 证书大图·自适应铺满宽度(覆盖前面小卡片样式) ===== */
.hm-cert-wrap{
    display:grid !important;
    grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap:20px !important;
    justify-content:stretch !important;
}
.hm-cert-card{
    width:auto !important;
    padding:12px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
}
.hm-cert-card img{
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    border-radius:6px !important;
}
.hm-cert-name{margin-top:10px !important}
/* ===== 结束 ===== */

/* ===== 模块整体收紧 2026-09-12 ===== */
.hm-image-text,.hm-feature,.hm-process,.hm-exhibition,.hm-customers,.hm-video,.hm-team,.hm-timeline,.hm-cert,.hm-faq{padding-top:42px!important;padding-bottom:42px!important}
.hm-sec-header{margin-bottom:26px!important}
.hm-sec-header p{margin-top:8px!important}
.itx-grid{gap:34px!important}
.itx-rich{line-height:1.7!important}
.itx-text h2{margin-bottom:12px!important}
@media(max-width:768px){.hm-image-text,.hm-feature,.hm-process,.hm-exhibition,.hm-customers,.hm-video,.hm-team,.hm-timeline,.hm-cert,.hm-faq{padding-top:26px!important;padding-bottom:26px!important}.hm-sec-header{margin-bottom:18px!important}}

/* ===== HM_BEAUTY_V1 首页DIY模块统一美化 A: 配色跟主题 / 标题体系 / 圆角阴影 / 手机适配 (2026-09-27) ===== */
/* 老实例的 HTML 已存进数据库, 这里只用 CSS 覆盖, 不用重新保存模块。
   前缀 section[class*=hm-] 比模块自带的作用域样式多一级, 可以压过它们。 */
.hm-sol,.hm-hero,.hm-image-text,.hm-feature,.hm-process,.hm-exhibition,.hm-customers,.hm-video,
.hm-stats,.hm-team,.hm-timeline,.hm-cta,.hm-cert,.hm-partner,.hm-faq,.hm-about,.hm-about-video,
.hm-about-grand,.hm-contact,.hm-text{
  --hmb-p:var(--primary-blue,#0056b3);
  --hmb-pd:var(--primary-dark,var(--hover-blue,#004494));
  --hmb-rgb:var(--primary-rgb,0,86,179);
  --hmb-ink:#16212c;
  --hmb-mute:#6b7682;
  --hmb-line:#e4e8ec;
  --hmb-soft:#f5f7f9;
  --hmb-sh:0 1px 2px rgba(16,24,40,.04),0 6px 18px rgba(16,24,40,.06);
  --hmb-sh2:0 16px 36px rgba(16,24,40,.12);
  --hm-primary:var(--hmb-p);
  --hm-hover:var(--hmb-pd);
  --hm-dark:var(--hmb-pd);
  --hm-shadow:var(--hmb-sh);
  --hm-shadow-hover:var(--hmb-sh2);
}

/* ---------- 1. 标题体系: 统一居中、字号、字重; 去掉旧版标题下横条、产品分类左竖线和全大写 ---------- */
section[class*=hm-] .hm-sec-header,
section[class*=hm-] .sol-header,
section[class*=hm-] .ftx-header,
section[class*=hm-] .csx-header,
section[class*=hm-] .faqx-header,
section[class*=hm-] .conx-header,
section[class*=hm-] .abg-head{
  text-align:center;max-width:880px;
  margin:0 auto clamp(20px,2.2vw,34px)!important;
  padding:0!important;border:0!important;
}
section[class*=hm-] .hm-sec-header h2,
section[class*=hm-] .sol-header h2,
section[class*=hm-] .ftx-header h2,
section[class*=hm-] .csx-header h2,
section[class*=hm-] .faqx-header h2,
section[class*=hm-] .conx-header h2,
section[class*=hm-] .txx-header h2,
section[class*=hm-] .abg-title{
  display:block;margin:0;padding:0;
  font-size:clamp(26px,1.4vw + 15px,36px)!important;
  font-weight:800;line-height:1.22;letter-spacing:-.01em;
  text-transform:none;color:var(--hmb-ink);
}
section[class*=hm-] .hm-sec-header h2::after{display:none!important}
section.hm-text-center[class] .txx-header h2::after{display:none}
section.hm-text-left[class] .txx-header h2::after{width:40px;height:3px;background:var(--hmb-p)}
section[class*=hm-] .hm-sec-header p,
section[class*=hm-] .sol-header p,
section[class*=hm-] .ftx-header p,
section[class*=hm-] .csx-header p,
section[class*=hm-] .conx-header p{
  max-width:680px;margin:10px auto 0!important;
  font-size:16px;line-height:1.7;color:var(--hmb-mute);
}
/* 数据统计旧版(无样式后缀)是主题色底, 标题保持白字 */
section.hm-stats:not([class*=hm-stats-]) .hm-sec-header h2{color:#fff}
section.hm-stats:not([class*=hm-stats-]) .hm-sec-header p{color:rgba(255,255,255,.85)}
section[class*=hm-] .hm-cert-card{border-radius:12px}
section[class*=hm-] .hm-tl-card{border-radius:12px}

/* 图文 / 关于我们: 栏内标题左对齐, 统一一条 40x3 主题色短线 */
section[class*=hm-] .itx-text h2,
section[class*=hm-] .hm-it-text h2,
section[class*=hm-] .hm-about-text h2,
section[class*=hm-] .avd-title{
  font-size:clamp(24px,1.3vw + 14px,34px)!important;
  font-weight:800;line-height:1.25;letter-spacing:-.01em;color:var(--hmb-ink);
}
section[class*=hm-] .hm-it-text h2::after,
section[class*=hm-] .hm-about-text h2::after{width:40px;height:3px;background:var(--hmb-p)}
section.hm-it-classic[class] .itx-text h2::after,
section.hm-it-card[class] .itx-text h2::after{
  content:"";display:block;width:40px;height:3px;border-radius:2px;margin-top:14px;background:var(--hmb-p);
}
section[class*=hm-] .avd-bar{width:40px!important;height:3px!important;margin:18px 0 22px!important;background:var(--hmb-p)!important}
section[class*=hm-] .abg-bar{display:none!important}
section[class*=hm-] .avd-eyebrow,
section[class*=hm-] .abg-eyebrow{color:var(--hmb-p);letter-spacing:2px}
section.hm-it-bordered[class] .itx-text{border-left-color:var(--hmb-p)}

/* ---------- 2. 按钮: 统一主题色、8px 小圆角 ---------- */
section[class*=hm-] .hm-btn,
section[class*=hm-] .hrx-btn,
section[class*=hm-] .itx-btn,
section[class*=hm-] .avd-btn,
section[class*=hm-] .abg-btn,
section[class*=hm-] .conx-btn,
section.hm-cta-simple[class] .ctax-btn{
  display:inline-block;padding:13px 32px!important;border:0!important;border-radius:8px!important;
  background:var(--hmb-p)!important;color:#fff!important;
  font-size:15px;font-weight:600;letter-spacing:.2px;text-decoration:none!important;
  box-shadow:0 8px 20px rgba(var(--hmb-rgb),.24)!important;
  transition:background .2s,transform .2s,box-shadow .2s;
}
section[class*=hm-] .hm-btn:hover,
section[class*=hm-] .hrx-btn:hover,
section[class*=hm-] .itx-btn:hover,
section[class*=hm-] .avd-btn:hover,
section[class*=hm-] .abg-btn:hover,
section[class*=hm-] .conx-btn:hover,
section.hm-cta-simple[class] .ctax-btn:hover{
  background:var(--hmb-pd)!important;transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(var(--hmb-rgb),.32)!important;
}
/* 主题色底上的按钮改白底 */
section.hm-cta[class] .hm-btn,
section.hm-hero.no-bg[class] .hm-btn{background:#fff!important;color:var(--hmb-p)!important;box-shadow:0 10px 24px rgba(0,0,0,.18)!important}
section.hm-cta[class] .hm-btn:hover,
section.hm-hero.no-bg[class] .hm-btn:hover{background:#fff!important;color:var(--hmb-pd)!important}
section[class*=hm-] .ctax-btn{border-radius:8px!important;padding:15px 38px!important;font-weight:700}
section.hm-cta-gradient[class] .ctax-btn{color:var(--hmb-p)!important}
section[class*=hm-] a:focus-visible{outline:2px solid var(--hmb-p);outline-offset:3px}

/* ---------- 3. 写死的绿色/深蓝 → 跟随后台主题色 ---------- */
/* Hero */
section.hm-hero-center[class] .hrx-overlay{background:linear-gradient(180deg,rgba(10,16,24,.42),rgba(10,16,24,.7))}
section.hm-hero-left[class] .hrx-overlay{background:linear-gradient(90deg,rgba(10,16,24,.8),rgba(10,16,24,.22))}
section.hm-hero-minimal[class]{background:linear-gradient(180deg,rgba(var(--hmb-rgb),.06),rgba(var(--hmb-rgb),.015)),#fff}
section.hm-hero-minimal[class] h1::after{background:var(--hmb-p)}
section[class*=hm-] .hrx-media{background-color:var(--hmb-soft);border-radius:12px}
section.hm-hero.has-bg[class]::before{background:linear-gradient(180deg,rgba(10,16,24,.35),rgba(10,16,24,.64))}

/* 产品分类 */
section[class*=hm-] .sol-card{border-radius:12px!important;background:var(--hmb-soft);box-shadow:var(--hmb-sh)!important}
section[class*=hm-] .sol-ov{
  padding:clamp(18px,2vw,32px)!important;
  background:linear-gradient(to top,rgba(10,16,24,.84) 0%,rgba(10,16,24,.3) 45%,rgba(10,16,24,0) 72%)!important;
}
section[class*=hm-] .sol-card:hover .sol-ov{
  background:linear-gradient(to top,rgba(var(--hmb-rgb),.92) 0%,rgba(var(--hmb-rgb),.4) 55%,rgba(10,16,24,.06) 100%)!important;
}
section[class*=hm-] .sol-num{display:none!important}
section[class*=hm-] .sol-title{font-size:clamp(18px,.8vw + 10px,22px)!important;font-weight:700;line-height:1.3;margin:0 0 8px}
section[class*=hm-] .sol-big .sol-title{font-size:clamp(22px,1.2vw + 12px,30px)!important}
section[class*=hm-] .sol-link{font-size:12.5px;letter-spacing:1.5px;opacity:.9}

/* 优势 */
section[class*=hm-] .ftx-num,
section[class*=hm-] .hm-card-num{display:none}
section[class*=hm-] .ftx-icon{color:var(--hmb-p)}
section[class*=hm-] .ftx-card,
section[class*=hm-] .hm-feature-card{border-radius:12px;border-color:var(--hmb-line)}
section.hm-feature-cards[class] .ftx-card{box-shadow:var(--hmb-sh)}
section.hm-feature-gradient[class] .ftx-card{background:linear-gradient(160deg,rgba(var(--hmb-rgb),.07),#fff 70%)}
section[class*=hm-] .ftx-card:hover{border-color:var(--hmb-p)}

/* 流程 */
section[class*=hm-] .csx-badge{background:linear-gradient(135deg,var(--hmb-p),var(--hmb-pd));box-shadow:0 8px 18px rgba(var(--hmb-rgb),.22)}
section[class*=hm-] .hm-step-badge{box-shadow:0 8px 18px rgba(var(--hmb-rgb),.22)}
section[class*=hm-] .csx-track::before{background:var(--hmb-line)}
section.hm-cp-cards[class] .csx-step{border-radius:12px;border-color:var(--hmb-line);box-shadow:var(--hmb-sh)}

/* 展会 */
section[class*=hm-] .exc-card,
section[class*=hm-] .exo-card,
section[class*=hm-] .exl-row,
section[class*=hm-] .hm-exhib-card{border-radius:12px;border-color:var(--hmb-line)}
section[class*=hm-] .exc-card,
section[class*=hm-] .exo-card{box-shadow:var(--hmb-sh)}
section[class*=hm-] .exo-ov{background:linear-gradient(to top,rgba(10,16,24,.88) 0%,rgba(10,16,24,.12) 55%,rgba(10,16,24,0) 100%)}
section[class*=hm-] .exl-meta span{background:var(--hmb-soft)}
section[class*=hm-] .exl-date{color:var(--hmb-p)!important;background:rgba(var(--hmb-rgb),.08)!important}

/* 客户合影 */
section[class*=hm-] .cp-cap{background:linear-gradient(to top,rgba(10,16,24,.8),rgba(10,16,24,0))}
section.hm-cp-overlay[class] .cp-cap{background:linear-gradient(to top,rgba(10,16,24,.82) 0%,rgba(10,16,24,0) 60%)}
section[class*=hm-] .cp-item,
section[class*=hm-] .hm-photo-item{border-radius:12px}

/* 视频 */
section[class*=hm-] .vix-wrap,
section[class*=hm-] .hm-video-wrap,
section[class*=hm-] .avd-frame{border-radius:12px}
section.hm-vi-framed[class] .vix-wrap{border-color:var(--hmb-line)}
section.hm-vi-framed[class] .vix-wrap video{border-radius:8px}
section[class*=hm-] .vix-empty,
section[class*=hm-] .avd-empty{background:var(--hmb-soft)}

/* 数据统计 */
section[class*=hm-] .stx-num{color:var(--hmb-p)}
section.hm-stats-boxed[class] .stx-item{border-radius:12px;border-color:var(--hmb-line)}
section.hm-stats-split[class] .stx-grid{background:#fff;border-color:var(--hmb-line);border-radius:12px}
section.hm-stats-split[class] .stx-item+.stx-item::before{background:var(--hmb-line)}

/* 团队 */
section[class*=hm-] .tm-card .tm-pos{color:var(--hmb-p)}
section[class*=hm-] .tm-ov .tm-pos{color:rgba(255,255,255,.86)}
section[class*=hm-] .tm-card:hover .tm-photo{border-color:var(--hmb-p)}
section[class*=hm-] .tm-ov{background:linear-gradient(to top,rgba(10,16,24,.9) 0%,rgba(10,16,24,.1) 55%,rgba(10,16,24,0) 100%)}
section[class*=hm-] .tm-noimg{background:var(--hmb-soft)}
section.hm-team-card[class] .tm-card,
section.hm-team-overlay[class] .tm-card,
section[class*=hm-] .hm-team-card{border-radius:12px;box-shadow:var(--hmb-sh)}

/* 时间轴 */
section[class*=hm-] .tlx-year{color:var(--hmb-p)}
section[class*=hm-] .tlx-dot{background:var(--hmb-p);box-shadow:0 0 0 2px var(--hmb-p)}
section[class*=hm-] .tlx-track::before{background:var(--hmb-line)}
section[class*=hm-] .tlx-card{border-color:var(--hmb-line);border-top-color:var(--hmb-p);border-radius:12px}

/* CTA */
section.hm-cta-gradient[class]{
  background-image:radial-gradient(circle at 88% 18%,rgba(255,255,255,.16),rgba(255,255,255,0) 42%),
    linear-gradient(120deg,var(--hmb-p) 0%,var(--hmb-pd) 100%);
}
section.hm-cta-image[class]{background-image:linear-gradient(120deg,var(--hmb-p) 0%,var(--hmb-pd) 100%)}
section.hm-cta-image[class] .ctax-overlay{background:linear-gradient(90deg,rgba(10,16,24,.8),rgba(var(--hmb-rgb),.42))}
section.hm-cta-simple[class]{background:rgba(var(--hmb-rgb),.06);border:0}
section.hm-cta-simple[class] .ctax-text h2{color:var(--hmb-ink)}
section[class*=hm-] .ctax-text h2{font-size:clamp(24px,1.4vw + 12px,34px)}
section.hm-cta.has-bg[class]::before{background:linear-gradient(90deg,rgba(10,16,24,.78),rgba(var(--hmb-rgb),.42))}

/* 证书 / 合作伙伴 */
section[class*=hm-] .ct-card,
section[class*=hm-] .ct-imgbox{border-color:var(--hmb-line)}
section.hm-cert-boxed[class] .ct-card,
section.hm-cert-carousel[class] .ct-imgbox{border-radius:12px}
section.hm-cert-carousel[class] .ct-imgbox{background:var(--hmb-soft)}
section.hm-pn-wall[class] .pn-wall{background:var(--hmb-line);border-color:var(--hmb-line)}
section.hm-pn-boxed[class] .pn-item{border-color:var(--hmb-line);border-radius:12px}

/* FAQ */
section[class*=hm-] .faqx-ico::before,
section[class*=hm-] .faqx-ico::after{background:var(--hmb-p)}
section[class*=hm-] .faqx-item{border-color:var(--hmb-line);border-radius:12px}
section.hm-faq-line[class] .faqx-item{border-radius:0}
section[class*=hm-] .faqx-item[open] summary{color:var(--hmb-p)}
section.hm-faq-plus[class] .faqx-item[open]{border-color:var(--hmb-p);box-shadow:0 8px 24px rgba(var(--hmb-rgb),.1)}
section.hm-faq-filled[class] .faqx-item{background:rgba(var(--hmb-rgb),.05)}
section.hm-faq-filled[class] .faqx-item[open]{background:rgba(var(--hmb-rgb),.09)}

/* 关于我们 */
section.hm-about-grand[class]{background:linear-gradient(180deg,rgba(var(--hmb-rgb),.03),rgba(var(--hmb-rgb),.07)),#fff}
section[class*=hm-] .abg-media img,
section[class*=hm-] .hm-about-image img,
section[class*=hm-] .hm-it-image img,
section[class*=hm-] .itx-image img{border-radius:12px}
section.hm-it-card[class] .itx-grid{border-radius:16px}

/* 联系 */
section[class*=hm-] .conx-item .conx-ic{background:rgba(var(--hmb-rgb),.1)}
section.hm-con-cards[class] .conx-item{background:var(--hmb-soft);border-color:var(--hmb-line);border-radius:12px}
section[class*=hm-] .hm-contact-item{border-radius:12px}

/* 卡片悬停统一: 上浮 4px + 统一阴影 */
section.hm-feature-cards[class] .ftx-card:hover,
section.hm-cp-cards[class] .csx-step:hover,
section[class*=hm-] .exc-card:hover,
section.hm-team-card[class] .tm-card:hover,
section.hm-stats-boxed[class] .stx-item:hover,
section.hm-cert-boxed[class] .ct-card:hover,
section.hm-pn-boxed[class] .pn-item:hover,
section[class*=hm-] .tlx-card:hover,
section[class*=hm-] .hm-feature-card:hover,
section[class*=hm-] .hm-exhib-card:hover,
section[class*=hm-] .hm-team-card:hover{transform:translateY(-4px);box-shadow:var(--hmb-sh2)}

/* ---------- 4. 平板 / 手机 ---------- */
@media (max-width:1024px){
  /* 产品分类: 两列 + 固定比例, 不再忽高忽低; 第一张大图通栏 */
  section[class*=hm-] .sol-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;grid-auto-rows:auto!important;gap:14px!important;
  }
  section[class*=hm-] .sol-card{aspect-ratio:4/3!important;height:auto!important}
  section[class*=hm-] .sol-big{grid-column:1 / -1!important;grid-row:auto!important;aspect-ratio:2/1!important}
  section[class*=hm-] .sol-img{position:absolute;inset:0}
  section[class*=hm-] .sol-desc{
    opacity:1!important;max-height:3.2em!important;margin-bottom:10px!important;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
}
@media (max-width:768px){
  section[class*=hm-] .hm-sec-header p,
  section[class*=hm-] .sol-header p,
  section[class*=hm-] .ftx-header p,
  section[class*=hm-] .csx-header p,
  section[class*=hm-] .conx-header p{font-size:14.5px}
  section[class*=hm-] .cp-cap,
  section[class*=hm-] .hm-photo-cap{opacity:1!important;transform:none!important;font-size:12.5px;padding:18px 10px 8px}
  section[class*=hm-] .ftx-card,
  section[class*=hm-] .hm-feature-card{padding:24px 20px}
  section[class*=hm-] .ftx-grid,
  section[class*=hm-] .hm-feature-grid,
  section[class*=hm-] .exc-grid,
  section[class*=hm-] .exo-grid{gap:14px}
  section[class*=hm-] .itx-grid{gap:24px!important}
  section[class*=hm-] .avd-inner{gap:24px!important}
  section[class*=hm-] .ctax-inner{padding:40px 20px!important}
  section[class*=hm-] .stx-num{font-size:34px!important}
  section[class*=hm-] .stx-suffix{font-size:20px}
  section[class*=hm-] .csx-badge,
  section[class*=hm-] .hm-step-badge{width:56px;height:56px}
  section[class*=hm-] .csx-icon,
  section[class*=hm-] .hm-step-icon{font-size:24px}
}
@media (max-width:600px){
  /* 产品分类: 手机两列方卡 */
  section[class*=hm-] .sol-grid{gap:10px!important}
  section[class*=hm-] .sol-card{aspect-ratio:1/1!important}
  section[class*=hm-] .sol-big{aspect-ratio:16/10!important}
  section[class*=hm-] .sol-ov{padding:14px!important}
  section[class*=hm-] .sol-title{font-size:15px!important;margin-bottom:4px!important}
  section[class*=hm-] .sol-big .sol-title{font-size:20px!important}
  section[class*=hm-] .sol-card:not(.sol-big) .sol-desc{display:none!important}
  section[class*=hm-] .sol-link{font-size:11px!important;letter-spacing:1px!important}
  /* 图片类网格统一两列 */
  section[class*=hm-] .cp-wall,
  section[class*=hm-] .hm-photo-wall,
  section[class*=hm-] .tm-grid,
  section[class*=hm-] .hm-team-grid,
  section[class*=hm-] .ct-wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  section[class*=hm-] .hm-cert-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  section.hm-cert-boxed[class] .ct-imgbox{height:130px}
  section.hm-cert-carousel[class] .ct-card{flex-basis:200px}
  section[class*=hm-] .tm-card h3,
  section[class*=hm-] .hm-team-card h3{font-size:15px}
  section[class*=hm-] .hm-team-card{padding:20px 12px}
  section[class*=hm-] .hm-team-photo{width:84px;height:84px}
  /* 合作伙伴: 三列 */
  section[class*=hm-] .pn-wall{grid-template-columns:repeat(3,minmax(0,1fr))}
  section.hm-pn-boxed[class] .pn-wall{gap:10px}
  section[class*=hm-] .pn-item{height:78px;padding:12px}
  section[class*=hm-] .pn-item img{max-height:40px}
  section[class*=hm-] .hm-logo-item{flex:0 0 calc(33.333% - 15px);min-width:0;padding:12px}
  /* 数据: 两列 */
  section.hm-stats-grid[class] .stx-grid,
  section.hm-stats-boxed[class] .stx-grid,
  section[class*=hm-] div.hm-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  section.hm-stats-split[class] .stx-item{flex:0 0 50%;min-width:0;padding:12px 8px}
  section.hm-stats-boxed[class] .stx-item{padding:22px 10px}
  /* 流程: 两列 */
  section[class*=hm-] .hm-process-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}
  section[class*=hm-] .hm-process-step{padding:0 6px}
  section.hm-cp-steps[class] .csx-track{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}
  section.hm-cp-steps[class] .csx-step{max-width:none!important}
  section.hm-cp-cards[class] .csx-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  section.hm-cp-cards[class] .csx-step{padding:20px 12px}
}
@media (prefers-reduced-motion:reduce){
  section[class*=hm-] *{transition:none!important}
  section[class*=hm-] *:hover{transform:none!important}
}
/* ===== HM_BEAUTY_V1 A 结束 ===== */

/* ===== HM_BEAUTY_V1 B 首页专用: 版块间距统一 + 浅底/白底交替节奏 (2026-09-27) ===== */
/* 只追加到 home-module.css(首页 + 后台预览), 内页 daohang.css 不加, 内页保持 42px 收紧 */
section.hm-sol[class] .sol-wrap{margin:0 auto}
section.hm-sol[class],
section.hm-image-text[class],section.hm-feature[class],section.hm-process[class],
section.hm-exhibition[class],section.hm-customers[class],section.hm-video[class],
section.hm-stats[class*="hm-stats-"],section.hm-team[class],section.hm-timeline[class],
section.hm-cert[class],section.hm-partner[class],section.hm-faq[class],section.hm-about[class],
section.hm-about-video[class],section.hm-about-grand[class],section.hm-contact[class],
section.hm-text[class]{
  padding-top:clamp(32px,4vw,60px)!important;
  padding-bottom:clamp(32px,4vw,60px)!important;
}
/* 浅底组: 优势 / 流程 / 数据 / FAQ / 团队 / 历程 / 证书 / 联系 / 关于(大气版) —— 主题色 4% 淡底 */
section.hm-feature[class],section.hm-process[class],section.hm-stats[class*="hm-stats-"],
section.hm-faq[class],section.hm-team[class],section.hm-timeline[class],section.hm-cert[class],
section.hm-contact[class],section.hm-about-grand[class]{
  background:linear-gradient(rgba(var(--hmb-rgb),.04),rgba(var(--hmb-rgb),.04)),#fbfcfd;
}
/* 白底组: 产品分类 / 图文 / 关于 / 展会 / 客户合影 / 合作伙伴 / 视频 / 文字 */
section.hm-sol[class],section.hm-image-text[class],section.hm-about[class],
section.hm-about-video[class],section.hm-exhibition[class],section.hm-customers[class],
section.hm-partner[class],section.hm-video[class],section.hm-text[class]{background:#fff}
/* 相邻两块同底色时去掉下一块的上边距, 看起来是一整块, 不会出现双倍空白 */
:is(section.hm-sol[class],section.hm-image-text[class],section.hm-about[class],
  section.hm-about-video[class],section.hm-exhibition[class],section.hm-customers[class],
  section.hm-partner[class],section.hm-video[class],section.hm-text[class])
+ :is(section.hm-sol[class],section.hm-image-text[class],section.hm-about[class],
  section.hm-about-video[class],section.hm-exhibition[class],section.hm-customers[class],
  section.hm-partner[class],section.hm-video[class],section.hm-text[class]),
:is(section.hm-feature[class],section.hm-process[class],section.hm-stats[class*="hm-stats-"],
  section.hm-faq[class],section.hm-team[class],section.hm-timeline[class],section.hm-cert[class],
  section.hm-contact[class],section.hm-about-grand[class])
+ :is(section.hm-feature[class],section.hm-process[class],section.hm-stats[class*="hm-stats-"],
  section.hm-faq[class],section.hm-team[class],section.hm-timeline[class],section.hm-cert[class],
  section.hm-contact[class],section.hm-about-grand[class]),
section.hm-stats[class*="hm-stats-"] + script + :is(section.hm-feature[class],
  section.hm-process[class],section.hm-faq[class],section.hm-team[class],
  section.hm-timeline[class],section.hm-cert[class],section.hm-contact[class],
  section.hm-about-grand[class],section.hm-stats[class*="hm-stats-"]){
  padding-top:0!important;
}
/* 浅底组里的白卡片更突出一点 */
section.hm-feature-bordered[class] .ftx-card,
section.hm-faq-boxed[class] .faqx-item,
section.hm-faq-plus[class] .faqx-item,
section.hm-cert-boxed[class] .ct-card,
section.hm-stats-boxed[class] .stx-item,
section.hm-cp-cards[class] .csx-step,
section.hm-con-cards[class] .conx-item{background:#fff}
/* ===== HM_BEAUTY_V1 B 结束 ===== */

/* ===== HM_CERT_V1 BEGIN 证书版块美化 v2 一行横滑 (2026-09-27) ===== */
/* 三种样式都一行显示: 1480宽默认5张, 超出左右滑动(箭头/触屏/触控板); 每屏张数改 --ctc */
section.hm-cert[class]{--ctc:5;--ctg:24px}
section.hm-cert[class] .ct-wrap{
  display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;
  gap:var(--ctg);grid-template-columns:none;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-padding:0 6px;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;padding:8px 6px 22px;margin:0;
  scrollbar-width:thin;scrollbar-color:rgba(var(--hmb-rgb,0,86,179),.3) transparent;
}
section.hm-cert[class] .ct-wrap::-webkit-scrollbar{height:6px}
section.hm-cert[class] .ct-wrap::-webkit-scrollbar-thumb{
  background:rgba(var(--hmb-rgb,0,86,179),.3);border-radius:3px;
}
section.hm-cert[class] .ct-card{
  flex:0 0 calc((100% - (var(--ctc) - 1) * var(--ctg)) / var(--ctc));
  width:auto;min-width:0;max-width:none;margin:0;scroll-snap-align:start;
  display:flex;flex-direction:column;align-items:stretch;
}
section.hm-cert[class] .ct-card:first-child{margin-left:auto}
section.hm-cert[class] .ct-card:last-child{margin-right:auto}
/* 大图自适应(grid): 证书像纸质文件一样带投影, 底部对齐 */
section.hm-cert-grid[class] .ct-imgbox{
  width:100%;height:auto!important;aspect-ratio:var(--ctr,210/297);
  display:flex;align-items:flex-end;justify-content:center;
  padding:0;background:none;border:0;overflow:visible;
}
section.hm-cert-grid[class] .ct-imgbox img{
  display:block;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;
  object-fit:contain;object-position:50% 100%;border-radius:0;
  filter:drop-shadow(0 2px 3px rgba(16,24,40,.08)) drop-shadow(0 10px 16px rgba(16,24,40,.12));
  transition:transform .25s ease,filter .25s ease;
}
section.hm-cert-grid[class] .ct-card:hover .ct-imgbox img{
  transform:translateY(-4px);
  filter:drop-shadow(0 4px 6px rgba(16,24,40,.1)) drop-shadow(0 14px 20px rgba(16,24,40,.16));
}
section.hm-cert[class] .ct-name{
  margin:14px 0 0;font-size:15px;font-weight:600;line-height:1.4;
  color:var(--hmb-ink,#16212c);text-align:center;word-break:break-word;
}
/* 白卡边框(boxed) / 横向滚动(carousel): 白卡 + 浅底图框 */
section.hm-cert-boxed[class] .ct-card,
section.hm-cert-carousel[class] .ct-card{
  background:#fff;border:1px solid var(--hmb-line,#e4e8ec);border-radius:10px;
  padding:12px 12px 14px;box-shadow:0 1px 2px rgba(16,24,40,.04);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
section.hm-cert-boxed[class] .ct-card:hover,
section.hm-cert-carousel[class] .ct-card:hover{
  transform:translateY(-4px);box-shadow:0 10px 18px rgba(16,24,40,.1);
  border-color:rgba(var(--hmb-rgb,0,86,179),.35);
}
section.hm-cert-boxed[class] .ct-imgbox,
section.hm-cert-carousel[class] .ct-imgbox{
  width:100%;height:auto!important;aspect-ratio:var(--ctr,210/297);
  display:flex;align-items:center;justify-content:center;
  padding:10px;background:var(--hmb-soft,#f5f7f9);border:0;border-radius:6px;overflow:hidden;
}
section.hm-cert-boxed[class] .ct-imgbox img,
section.hm-cert-carousel[class] .ct-imgbox img{
  display:block;width:100%!important;height:100%!important;
  max-width:none!important;max-height:none!important;object-fit:contain;border-radius:0;
}
section.hm-cert-boxed[class] .ct-name,
section.hm-cert-carousel[class] .ct-name{margin-top:10px;font-size:14px}
/* 左右箭头(内容超出一屏才出现, 到头自动隐藏) */
.hmct-rail{position:relative}
.hmct-rail>.hmct-ar{
  position:absolute;top:calc(50% - 22px);z-index:3;display:none;
  align-items:center;justify-content:center;width:42px;height:42px;margin:-21px 0 0;padding:0;
  border:1px solid var(--hmb-line,#e4e8ec);border-radius:50%;background:#fff;
  color:var(--hmb-ink,#16212c);font-size:26px;line-height:1;cursor:pointer;
  box-shadow:0 6px 18px rgba(16,24,40,.14);transition:background .2s,color .2s,opacity .2s;
}
.hmct-rail.hmct-over>.hmct-ar{display:flex}
.hmct-rail>.hmct-ar:hover{background:rgb(var(--hmb-rgb,0,86,179));border-color:transparent;color:#fff}
.hmct-rail>.hmct-ar:focus-visible{outline:2px solid rgb(var(--hmb-rgb,0,86,179));outline-offset:2px}
.hmct-rail>.hmct-ar:disabled{opacity:0;pointer-events:none}
.hmct-rail>.hmct-al{left:4px}
.hmct-rail>.hmct-an{right:4px}
@media (max-width:1199px){
  section.hm-cert[class]{--ctc:4;--ctg:20px}
}
@media (max-width:900px){
  section.hm-cert[class]{--ctc:3.2;--ctg:16px}
}
@media (max-width:600px){
  section.hm-cert[class]{--ctc:2.2;--ctg:12px}
  section.hm-cert-boxed[class] .ct-card,
  section.hm-cert-carousel[class] .ct-card{padding:8px 8px 10px}
  section.hm-cert-boxed[class] .ct-imgbox,
  section.hm-cert-carousel[class] .ct-imgbox{padding:6px}
  section.hm-cert[class] .ct-name{margin-top:8px;font-size:13px}
  .hmct-rail.hmct-over>.hmct-ar{display:none}
}
/* 点击看大图(只有首页加载了 hm-cert.js 才出现放大镜光标) */
.hmct-js section.hm-cert .ct-imgbox img{cursor:zoom-in}
.hmct-lb{
  position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:none;
  align-items:center;justify-content:center;padding:48px 72px;background:rgba(10,16,24,.88);
}
.hmct-lb.on{display:flex}
.hmct-lb .hmct-st{display:flex;flex-direction:column;align-items:center;max-width:100%;max-height:100%}
.hmct-lb img{
  display:block;width:auto;height:auto;max-width:min(92vw,1100px);max-height:calc(100vh - 130px);
  background:#fff;border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.hmct-lb .hmct-cap{margin-top:14px;color:#fff;font-size:15px;font-weight:600;text-align:center}
.hmct-lb button{
  position:absolute;width:44px;height:44px;padding:0;border:0;border-radius:50%;
  background:rgba(255,255,255,.14);color:#fff;font-size:28px;line-height:44px;text-align:center;
  cursor:pointer;transition:background .2s;
}
.hmct-lb button:hover{background:rgba(255,255,255,.28)}
.hmct-lb button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hmct-lb .hmct-x{top:16px;right:16px}
.hmct-lb .hmct-p{left:16px;top:50%;margin-top:-22px}
.hmct-lb .hmct-n{right:16px;top:50%;margin-top:-22px}
@media (max-width:600px){
  .hmct-lb{padding:56px 10px 76px}
  .hmct-lb img{max-width:100%;max-height:calc(100vh - 170px)}
  .hmct-lb .hmct-p,
  .hmct-lb .hmct-n{top:auto;bottom:16px;margin:0}
  .hmct-lb .hmct-p{left:calc(50% - 56px)}
  .hmct-lb .hmct-n{right:calc(50% - 56px)}
}
@media (prefers-reduced-motion:reduce){
  section.hm-cert[class] .ct-wrap{scroll-behavior:auto}
  section.hm-cert[class] .ct-card,
  section.hm-cert[class] .ct-imgbox img{transition:none!important;transform:none!important}
}
/* ===== HM_CERT_V1 END ===== */

/* ===== HM_ABOUT_MOB_V1 BEGIN 关于我们 手机/平板自适应修复 (2026-10-03) ===== */
/* 已保存的「关于我们」模块不用重新保存: 用比模块自带样式更高的优先级覆盖。
   范围: 原版 经典 / 大气版 / 图文+视频, 新版 8 种(section.hm-aboutx-*)。
   同一段同时追加在 Public/css/home-module.css(首页+后台预览) 和 css/public/daohang.css(内页)。 */

/* -- 通用: 正文里的长单词 / 表格 / 图片 / 视频不撑破屏幕 -- */
section.hm-about[class] .hm-about-text,
section.hm-about-video[class] .avd-text,
section.hm-about-grand[class] .abg-text,
section.hm-aboutx[class] .abx-copy,
section.hm-aboutx[class] .abx-head,
section.hm-aboutx[class] .abx-lead,
section.hm-aboutx[class] .abx-body{overflow-wrap:break-word;word-wrap:break-word}
section.hm-about[class] .hm-rich img,
section.hm-about-video[class] .avd-rich img,
section.hm-about-grand[class] .abg-text img,
section.hm-aboutx[class] .abx-rich img{max-width:100%;height:auto!important}
section.hm-about[class] .hm-rich iframe,
section.hm-about-video[class] .avd-rich iframe,
section.hm-about-grand[class] .abg-text iframe,
section.hm-aboutx[class] .abx-rich iframe,
section.hm-aboutx[class] .abx-rich video{max-width:100%}
/* 图文+视频 没填视频时的占位文字居中(原来沉在框底) */
section.hm-about-video[class] .avd-empty>span{
  position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;
  padding:12px;text-align:center;
}

/* 双图叠放: 4 项数据电脑上 2x2(原来 3+1 落单) */
@media (min-width:901px){
  section.hm-aboutx-collage[class] .abx-stats-mini.abx-sn-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* -- 平板横屏 -- */
@media (max-width:1024px){
  section.hm-about[class] .hm-about-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px}
  section.hm-about-video[class] .avd-inner{gap:36px}
  section.hm-about-grand[class] .abg-body{gap:32px}
}

/* -- 平板竖屏 + 手机: 单列 -- */
@media (max-width:900px){
  /* 图文+视频: 竖排时 align-items:center 让视频框按内容宽度收缩成 0 宽(视频看不见) -> 铺满 */
  section.hm-about-video[class] .avd-inner{align-items:stretch}
  section.hm-about-video[class] .avd-text,
  section.hm-about-video[class] .avd-media{flex:0 0 auto;width:100%}
  section.hm-about-grand[class] .abg-body{align-items:stretch}
  section.hm-about-grand[class] .abg-media,
  section.hm-about-grand[class] .abg-text{flex:0 0 auto;width:100%}
  /* 新版式: 图文分栏 / 工厂拼图 / 视频封面 / 无图极简 原来手机上仍是两列挤在一起 -> 单列 */
  section.hm-aboutx[class] .abx-row{grid-template-columns:minmax(0,1fr)}
  section.hm-aboutx-split_stats[class] .abx-frame{aspect-ratio:16/10}
  section.hm-aboutx-split_stats[class] .abx-row{row-gap:40px}
  section.hm-aboutx-collage[class] .abx-col{max-width:540px;margin-left:auto;margin-right:auto}
  section.hm-aboutx-collage[class] .abx-col:not(.is-one) .abx-c1{aspect-ratio:1/1}
  section.hm-aboutx-mosaic[class] .abx-mos{aspect-ratio:3/2}
  section.hm-aboutx-editorial[class] .abx-stats-big .abx-stat{padding-inline-start:0;padding-inline-end:12px}
  /* 数据条: 3 项一行 3 个(不再 2+1 落单), 4 项 2x2 */
  section.hm-aboutx[class] .abx-stats.abx-sn-2,
  section.hm-aboutx[class] .abx-stats.abx-sn-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  section.hm-aboutx[class] .abx-stats.abx-sn-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* 平板竖屏: 4 项数据一行 4 个(拼图的数据方块保持 2x2) */
@media (min-width:700px) and (max-width:900px){
  section.hm-aboutx[class] .abx-stats.abx-sn-4:not(.abx-stats-tiles){grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:768px){
  section.hm-about[class] .hm-rich table,
  section.hm-about-video[class] .avd-rich table,
  section.hm-about-grand[class] .abg-text table,
  section.hm-aboutx[class] .abx-rich table{display:block;max-width:100%;overflow-x:auto}
  section.hm-about[class] .hm-about-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  section.hm-about[class] .hm-about-image::before{top:-10px;left:-10px}
  section.hm-about-grand[class] .abg-body{gap:24px}
  section.hm-about-video[class] .avd-rich,
  section.hm-about-grand[class] .abg-text{font-size:15.5px;line-height:1.8}
  section.hm-about-grand[class] .abg-cta{margin-top:26px}
}

/* -- 手机 -- */
@media (max-width:600px){
  section.hm-about-grand[class] .abg-media img{max-height:78vw;object-fit:cover}
  section.hm-aboutx[class] .abx-badge{min-width:0;max-width:66%;padding:12px 16px;gap:4px}
  section.hm-aboutx[class] .abx-badge strong{font-size:28px}
  section.hm-aboutx[class] .abx-badge span{font-size:12.5px}
  section.hm-aboutx-split_stats[class] .abx-frame{aspect-ratio:4/3}
  section.hm-aboutx-mosaic[class] .abx-mos{aspect-ratio:5/4}
  section.hm-aboutx-banner[class] .abx-title,
  section.hm-aboutx-editorial[class] .abx-title{font-size:28px}
  section.hm-aboutx-banner[class] .abx-rich{font-size:15.5px}
  section.hm-aboutx-banner[class] .abx-stats-glass{margin-top:36px}
  section.hm-aboutx-panel[class] .abx-pnc{margin:-28px 8px 0;padding:24px 18px}
  section.hm-aboutx-editorial[class] .abx-body .abx-rich{font-size:16px}
  section.hm-aboutx-editorial[class] .abx-stats-big .abx-num{font-size:34px}
  /* 3 项一行时数字缩小, 不挤不换行 */
  section.hm-aboutx[class] .abx-sn-3 .abx-num{font-size:26px}
  section.hm-aboutx[class] .abx-sn-3 .abx-sl{font-size:12.5px}
  section.hm-aboutx[class] .abx-sn-3:not(.abx-stats-tiles):not(.abx-stats-card) .abx-stat{padding-inline-end:6px}
  /* 拼图的数据方块: 手机 2 列, 单数时最后一块占满一行 */
  section.hm-aboutx[class] .abx-stats-tiles.abx-sn-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  section.hm-aboutx[class] .abx-stats-tiles .abx-stat:last-child:nth-child(odd){grid-column:1 / -1}
  section.hm-aboutx[class] .abx-stats-tiles .abx-stat{padding:14px}
}
@media (max-width:560px){
  section.hm-aboutx-centered[class] .abx-pts{
    display:inline-flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:start;vertical-align:top;
  }
}
@media (max-width:480px){
  section.hm-aboutx-collage[class] .abx-c2{border-width:5px}
  section.hm-aboutx-collage[class] .abx-c2.is-badge{border-width:0;padding:16px}
  section.hm-aboutx-collage[class] .abx-c2.is-badge strong{font-size:34px}
  section.hm-aboutx-collage[class] .abx-c2.is-badge span{font-size:13px}
}
/* 视频封面弹窗: 横屏手机时视频高度不超出屏幕, 关闭按钮始终看得见 */
div[class^="hmax"][class$="-lb"] .abx-lbi{max-width:min(1120px,calc((100vh - 150px) * 16 / 9))}
/* ===== HM_ABOUT_MOB_V1 END ===== */

/* ===== HM_PN_V2 BEGIN 合作伙伴 Logo 旧模块升级 (2026-10-03) ===== */
/* 没重新保存的合作伙伴模块(旧 HTML: section.hm-pn-wall / hm-pn-boxed / hm-pn-plain, 以及更早的 hm-logo-wall)
   在这里直接升级: Logo 全部彩色 / 电脑一行 5 个 / 简洁彩色 Logo 放大 / 平板 3~4 个、手机 2 个一行。
   重新保存后改由 HomeModulePartnerX 生成新 HTML(类名 hm-pnx-*), 这里的规则碰不到新 HTML。
   同一段同时追加在 Public/css/home-module.css(首页 + 后台预览) 和 css/public/daohang.css(内页)。 */
section.hm-partner[class*="hm-pn-"]{
  --pn-c:5;--pn-g:16px;--pn-rg:16px;--pn-h:120px;--pn-lw:74%;--pn-lh:58px;
  --pn-line:var(--hmb-line,#e4e8ec);--pn-rgb:var(--hmb-rgb,var(--primary-rgb,0,86,179));
}
section.hm-partner[class*="hm-pn-"] .pn-wall{
  display:flex;flex-wrap:wrap;justify-content:center;column-gap:var(--pn-g);row-gap:var(--pn-rg);
  grid-template-columns:none;margin:0;padding:0;background:none;border:0;
}
section.hm-partner[class*="hm-pn-"] .pn-item{
  flex:0 0 calc((100% - (var(--pn-c) - 1) * var(--pn-g)) / var(--pn-c) - .1px);min-width:0;max-width:none;
  height:var(--pn-h);margin:0;padding:0;display:flex;align-items:center;justify-content:center;
}
section.hm-partner[class*="hm-pn-"] .pn-item img{
  display:block;width:auto;height:auto;max-width:var(--pn-lw);max-height:var(--pn-lh);object-fit:contain;
  filter:none;opacity:1;transform:none;transition:transform .3s ease;
}
section.hm-partner[class*="hm-pn-"] .pn-item:hover img{filter:none;opacity:1;transform:none}

/* Logo 墙: 灰度改彩色; 圆角细线表格, 线条对齐(最后一行不满时空出来) */
section.hm-pn-wall[class]{--pn-g:1px;--pn-rg:1px;--pn-h:128px;--pn-lw:72%;--pn-lh:60px}
section.hm-pn-wall[class] .pn-wall{
  display:grid;grid-template-columns:repeat(var(--pn-c),minmax(0,1fr));gap:1px;
  border:1px solid var(--pn-line);border-radius:14px;overflow:hidden;background:#fff;
}
section.hm-pn-wall[class] .pn-item{background:#fff;box-shadow:0 0 0 1px var(--pn-line);transition:background-color .3s ease}

/* 白卡边框 */
section.hm-pn-boxed[class]{--pn-g:20px;--pn-rg:20px;--pn-h:116px}
section.hm-pn-boxed[class] .pn-item{border:1px solid var(--pn-line);border-radius:12px;background:#fff}

/* 简洁彩色: Logo 放大 */
section.hm-pn-plain[class]{--pn-g:24px;--pn-rg:8px;--pn-h:136px;--pn-lw:88%;--pn-lh:80px}

/* 更早的 V1 版(hm-logo-wall): 同样彩色 + 一行 5 个 */
section.hm-partner[class] .hm-logo-wall{--pn-c:5;--pn-g:20px;column-gap:var(--pn-g);row-gap:var(--pn-g)}
section.hm-partner[class] .hm-logo-item{
  flex:0 0 calc((100% - (var(--pn-c) - 1) * var(--pn-g)) / var(--pn-c) - .1px);min-width:0;height:116px;
  padding:0 12px;background:#fff;border-color:#e4e8ec;border-radius:12px;
}
section.hm-partner[class] .hm-logo-item img{max-width:76%;max-height:58px;filter:none;opacity:1}

/* 鼠标设备才有悬停效果(手机点一下不会卡在放大状态) */
@media (hover:hover){
  section.hm-pn-wall[class] .pn-item:hover{background:rgba(var(--pn-rgb),.04)}
  section.hm-pn-wall[class] .pn-item:hover img,
  section.hm-pn-plain[class] .pn-item:hover img{transform:scale(1.05)}
}

/* 平板横屏: 一行 4 个 */
@media (max-width:1024px){
  section.hm-partner[class*="hm-pn-"],
  section.hm-partner[class] .hm-logo-wall{--pn-c:4}
  section.hm-pn-boxed[class]{--pn-g:16px;--pn-rg:16px}
  section.hm-pn-plain[class]{--pn-g:20px;--pn-h:124px;--pn-lh:72px}
}
/* 平板竖屏: 一行 3 个 */
@media (max-width:768px){
  section.hm-partner[class*="hm-pn-"]{--pn-c:3;--pn-h:104px;--pn-lh:50px}
  section.hm-partner[class] .hm-logo-wall{--pn-c:3;--pn-g:14px}
  section.hm-partner[class] .hm-logo-item{height:100px}
  section.hm-pn-wall[class]{--pn-h:108px}
  section.hm-pn-boxed[class]{--pn-h:100px}
  section.hm-pn-plain[class]{--pn-g:16px;--pn-h:108px;--pn-lh:64px}
}
/* 手机: 一行 2 个, Logo 更大更清楚 */
@media (max-width:480px){
  section.hm-partner[class*="hm-pn-"]{--pn-c:2;--pn-h:90px;--pn-lw:78%;--pn-lh:44px}
  section.hm-partner[class] .hm-logo-wall{--pn-c:2;--pn-g:12px}
  section.hm-partner[class] .hm-logo-item{height:88px}
  section.hm-partner[class] .hm-logo-item img{max-height:42px}
  section.hm-pn-wall[class]{--pn-h:92px;--pn-lw:76%}
  section.hm-pn-wall[class] .pn-wall{border-radius:12px}
  section.hm-pn-boxed[class]{--pn-g:12px;--pn-rg:12px;--pn-h:88px;--pn-lh:42px}
  section.hm-pn-plain[class]{--pn-g:14px;--pn-rg:4px;--pn-h:92px;--pn-lw:90%;--pn-lh:56px}
}
/* ===== HM_PN_V2 END ===== */
/* ===== DYN_TCASE_V1 BEGIN 产品动态卡片标题: 取消全大写 ===== */
.dyn-prod-wrap .dyn-head h2{text-transform:none;letter-spacing:normal}
html[lang|=en] .dyn-prod-wrap .dyn-head h2{text-transform:capitalize}
/* ===== DYN_TCASE_V1 END ===== */
