/* ============================================================================
 * override.css —— 最终覆盖层（务必保持在 css_js.html 里**最后一个**加载）
 * ============================================================================
 *
 * 为什么存在这个文件
 * ------------------
 * 本站样式由现代主题(modern.css)与 2026 打磨层(polish.css)叠加而成，两者互相
 * 用 !important 静默覆盖，仅 modern.css 就有 693 个、polish.css 有 738 个。
 * 结果是：写在新元素上的样式经常"看起来写了却没生效"，而且**不报任何错**，
 * 只能靠实测盒模型才能发现。本仓库为此已翻车多次：
 *   - .delivery-bg 深色背景被 polish.css:757 压回浅色（表现为"字变白了背景没变"）
 *   - .btn-more 的 44px 触控高度被 polish.css 的 42px 压掉
 *   - .home-weare-more 的 display/width/margin 被 polish.css 的 a.btn-more 压掉
 *
 * 约定
 * ----
 * 1. 本文件在 css_js.html 中**最后**引入 —— 同优先级、同为 !important 时，后加载者胜，
 *    因此这里不需要刻意堆选择器去比权重。
 * 2. 用于修 **移动端/响应式** 的最终取值，以及任何"改了却不生效"的覆盖。
 * 3. 每条规则都要写清：原值是多少、为什么改、以及实测数据（用 CDP 量盒模型）。
 * 4. 不要在这里堆积新设计 —— 新设计应写进 modern.css。
 *
 * 验证方式见 scripts/seo/README-cdp.md（Node 22 原生 WebSocket 驱动 CDP，
 * 按真机尺寸渲染后读 box model；注意必须 Network.setCacheDisabled，否则会读到缓存）。
 * ========================================================================== */

/* ---------------------------------------------------------------------------
 * 1) 「更多服务」入口：桌面在标题右侧；移动端放在 6 个服务卡片下方
 * 原问题：移动端两个入口的 display/width 都不生效 ——
 *   polish.css 有 `a.btn-more { display: inline-flex !important }`（0,1,1），
 *   与 modern.css 里的规则打平，而 polish.css 后加载 -> 它赢。
 * 实测（CDP / iPhone 13）：应隐藏的标题按钮仍可见；应满宽的底部按钮仅 145px。
 * ------------------------------------------------------------------------- */
body a.home-weare-more {                /* 标题行右侧那个：仅桌面显示 */
    display: none !important;
}
body a.home-weare-more-bottom {         /* 卡片下方那个：仅移动端显示 */
    display: none !important;
}
@media (min-width: 768px) {
    body a.home-weare-more {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        margin-top: 8px !important;
    }
}
@media (max-width: 767px) {
    body a.home-weare-more-bottom {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 100% !important;
        min-height: 46px !important;
        margin: 26px 0 0 !important;
        color: var(--yohan-blue-dark) !important;
        background: #fff !important;
        border: 1px solid rgba(22, 123, 184, .35) !important;
        border-radius: 10px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78) !important;
    }
}

/* ---------------------------------------------------------------------------
 * 2) 「关于我们」统计卡片图标（移动端）
 * 原问题一（变形）：图标渲染成 30×38 的椭圆，而源文件是 110×110 正方形。
 *   根因：modern.css 给 img 设了 `flex: 0 0 38px`，而 li 是 flex-direction:column，
 *   该 flex-basis 作用在**纵向**= 高度，宽度仍是 30px。只改 width/height 无效。
 * 原问题二（间距）：图标与数字的间距实测仅 2px（CSS 写 8px 被压掉），文字贴住图标。
 * 实测（CDP / iPhone 13）：修复后图标 30×30；图标->文字间距 8px。
 * ------------------------------------------------------------------------- */
@media (max-width: 767px) {
    body .forus-bg .mapbox li img {
        flex: 0 0 auto !important;
        width: 30px !important;
        height: 30px !important;
        margin: 0 0 14px !important;
        /* 必须同时中和这两条更早的规则，否则间距会被"吃掉"：
           - `position: relative; top: 16px`：不改变布局流，但把图标视觉下移 16px，
             getBoundingClientRect() 含此偏移 -> 实测间距只有 8px（应为 14px）。
           - `float: left`：桌面卡片是横向排列时的写法，移动端竖向布局中应去掉。
           定位手段：CDP 的 CSS.getMatchedStylesForNode，它会列出全部命中规则。 */
        position: static !important;
        top: 0 !important;
        float: none !important;
    }
}


/* ---------------------------------------------------------------------------
 * 3) 移动端触控目标（可达性硬指标）
 * CDP 实测（iPhone 13 / 390px）：服务卡「立即咨询」仅 78×30；
 * 页脚「服务项目」链接高 18px、电话/邮箱链接高 20px；新闻分类标签高 24px。
 * 参考：WCAG 2.5.8(AA) 最小 24×24，Apple/W3C 建议 44×44。
 * 注意：页脚链接密集，直接拉到 44px 会让页脚过高，折中给到 30px。
 * ------------------------------------------------------------------------- */
@media (max-width: 767px) {
    /* 服务卡「立即咨询」：polish.css 写死 30px 高，实测 78x30 */
    body .gray-product .more a.btn-more {
        height: 44px !important;
        min-height: 44px !important;
    }
    /* 页脚「服务项目」内链：实测行高 18px -> 30px */
    body .footer-services li {
        line-height: 2.2 !important;
    }
    body .footer-services a {
        display: inline-block;
        padding: 4px 0 !important;
    }
    /* 页脚联系方式 / 备案链接：实测 20px -> 30px */
    body .footer-address a,
    body .beian a {
        display: inline-block;
        padding: 3px 0 !important;
    }
    /* 新闻列表分类标签：实测 52x24 -> 44 */
    body .news-list-tag a,
    body .news-row-tag a,
    body .news-list .tags a {
        min-height: 32px !important;
        padding: 6px 10px !important;
    }
}


/* ---------------------------------------------------------------------------
 * 4) 首页桌面 banner：改用 Swiper（替换 html5zoo）
 * 原实现的尺寸来自 .pics_wrap 的 aspect-ratio: 4096/1770（≈2.314，正好匹配
 * banner 图 1920×830 的 2.313），这里沿用同一比例，因此不会出现首屏跳动。
 * 旧 CSS 中大量 [class*="html5zoo-"] 规则在新结构下已失效（无害，可后续清理）。
 * ------------------------------------------------------------------------- */
.banners:not(.pagebanner) .pics_wrap .swiper-wrapper,
.banners:not(.pagebanner) .pics_wrap .swiper-slide {
    height: 100%;
}
.banners:not(.pagebanner) .pics_wrap .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
/* 淡入淡出时两张图会叠加，交叉淡入更顺滑 */
.banners:not(.pagebanner) .pics_wrap .swiper-slide { backface-visibility: hidden; }

/* 分页圆点：与移动端 banner 的圆点风格保持一致 */
.home-desktop-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 18px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
}
.home-desktop-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .55);
    box-shadow: 0 0 0 1px rgba(23, 50, 77, .18);
    opacity: 1;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease;
}
.home-desktop-pagination .swiper-pagination-bullet:hover { background: rgba(255, 255, 255, .85); }
.home-desktop-pagination .swiper-pagination-bullet-active {
    background: #fff;
    transform: scale(1.25);
}
.home-desktop-pagination .swiper-pagination-bullet:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
}


/* 首页轮播：轻透左下角导航，方向性入场／退场。 */
.home-desktop-banner .home-banner-controls {
    position: absolute; left: max(32px, calc((100vw - 1200px) / 2)); right: auto; bottom: 28px;
    z-index: 4; display: flex; align-items: center; gap: 9px;
    padding: 5px 9px; border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 24px; background: rgba(255, 255, 255, .22); color: #17324d;
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    box-shadow: none;
    transition: background-color .2s ease;
}
.home-banner-controls .home-desktop-pagination {
    position: static; width: auto; gap: 6px;
}
.home-banner-controls .swiper-pagination-bullet {
    position: relative; width: 24px; height: 24px; border-radius: 0;
    border-top: 10px solid transparent; border-bottom: 10px solid transparent;
    background-clip: content-box; box-sizing: border-box;
    background-color: rgba(23, 50, 77, .16); box-shadow: none; transform: none; overflow: hidden;
}
.home-banner-controls .swiper-pagination-bullet-active { width: 36px; background-color: rgba(23, 50, 77, .16); }
.home-banner-controls .swiper-pagination-bullet-active::after {
    content: ''; position: absolute; inset: 0; background: #167bab;
    transform: scaleX(var(--banner-progress, 0)); transform-origin: left;
}
.home-banner-controls button.home-banner-control {
    width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%;
    background: transparent; color: #17324d; font-size: 18px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
}
.home-banner-controls button.home-banner-control:hover { background: #e8f2f8; }
.home-banner-controls button:focus-visible { outline: 2px solid #167bab; outline-offset: 4px; }
.home-banner-count { font-size: 11px; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
@media (min-width: 768px) and (max-width: 1100px) {
    .home-desktop-banner .home-banner-controls { left: 20px; right: auto; bottom: 88px; gap: 6px; }
}

.home-desktop-banner .home-banner-controls:hover,
.home-desktop-banner .home-banner-controls:focus-within { background: rgba(255, 255, 255, .42); }
@media (min-width: 768px) {
    .page-home .home-banner-action-bar { pointer-events: none; }
    .page-home .home-banner-action-bar a { pointer-events: auto; }
}
.banners:not(.pagebanner) .home-desktop-banner picture { display: block; width: 100%; height: 100%; }
.home-desktop-banner .swiper-slide { transition-timing-function: cubic-bezier(.22, .61, .36, 1); }
@keyframes yohan-banner-enter {
    from { transform: translate3d(var(--banner-enter-x, 28px), 0, 0); }
    to { transform: translate3d(0, 0, 0); }
}
@keyframes yohan-banner-leave {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(var(--banner-leave-x, -28px), 0, 0); }
}
@keyframes yohan-banner-rise-enter {
    from { transform: translate3d(0, var(--banner-enter-y, 40px), 0); }
    to { transform: translate3d(0, 0, 0); }
}
@keyframes yohan-banner-rise-leave {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(0, var(--banner-leave-y, -40px), 0); }
}
@keyframes yohan-banner-zoom-enter {
    from { transform: scale(1.06); }
    to { transform: scale(1); }
}
@keyframes yohan-banner-zoom-leave {
    from { transform: scale(1); }
    to { transform: scale(1.025); }
}
@keyframes yohan-banner-reveal-enter {
    from { clip-path: inset(0 100% 0 0); }
    to { clip-path: inset(0 0 0 0); }
}
@keyframes yohan-banner-reveal-leave {
    from { clip-path: inset(0 0 0 0); }
    to { clip-path: inset(0 0 0 100%); }
}
@keyframes yohan-banner-iris-enter {
    from { clip-path: circle(0% at 50% 50%); }
    to { clip-path: circle(75% at 50% 50%); }
}
@keyframes yohan-banner-iris-leave {
    from { transform: scale(1); }
    to { transform: scale(1.04); }
}
@keyframes yohan-banner-diagonal-enter {
    from { clip-path: polygon(0 0, 0 0, 0 0); }
    to { clip-path: polygon(0 0, 200% 0, 0 200%); }
}
@keyframes yohan-banner-diagonal-leave {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-32px, -20px, 0); }
}
@keyframes yohan-banner-tilt-enter {
    from { transform: perspective(1200px) rotateY(12deg) scale(1.04); }
    to { transform: perspective(1200px) rotateY(0deg) scale(1); }
}
@keyframes yohan-banner-tilt-leave {
    from { transform: perspective(1200px) rotateY(0deg) scale(1); }
    to { transform: perspective(1200px) rotateY(-8deg) scale(.98); }
}
@keyframes yohan-banner-focus-enter {
    from { filter: blur(5px); transform: scale(1.04); }
    to { filter: blur(0); transform: scale(1); }
}
@keyframes yohan-banner-focus-leave {
    from { filter: blur(0); transform: scale(1); }
    to { filter: blur(3px); transform: scale(1.02); }
}
@media (prefers-reduced-motion: no-preference) {
    .home-desktop-banner .banner-enter picture { animation: yohan-banner-enter .85s cubic-bezier(.22, .61, .36, 1) both; }
    .home-desktop-banner .banner-leave picture { animation: yohan-banner-leave .85s cubic-bezier(.22, .61, .36, 1) both; }
    .home-desktop-banner[data-banner-effect="vertical"] .banner-enter picture { animation-name: yohan-banner-rise-enter; }
    .home-desktop-banner[data-banner-effect="vertical"] .banner-leave picture { animation-name: yohan-banner-rise-leave; }
    .home-desktop-banner[data-banner-effect="zoom"] .banner-enter picture { animation-name: yohan-banner-zoom-enter; }
    .home-desktop-banner[data-banner-effect="zoom"] .banner-leave picture { animation-name: yohan-banner-zoom-leave; }
    .home-desktop-banner[data-banner-effect="reveal"] .banner-enter picture { animation-name: yohan-banner-reveal-enter; }
    .home-desktop-banner[data-banner-effect="reveal"] .banner-leave picture { animation-name: yohan-banner-reveal-leave; }
    .home-desktop-banner[data-banner-effect="iris"] .banner-enter picture { animation-name: yohan-banner-iris-enter; }
    .home-desktop-banner[data-banner-effect="iris"] .banner-leave picture { animation-name: yohan-banner-iris-leave; }
    .home-desktop-banner[data-banner-effect="diagonal"] .banner-enter picture { animation-name: yohan-banner-diagonal-enter; }
    .home-desktop-banner[data-banner-effect="diagonal"] .banner-leave picture { animation-name: yohan-banner-diagonal-leave; }
    .home-desktop-banner[data-banner-effect="tilt"] .banner-enter picture { animation-name: yohan-banner-tilt-enter; }
    .home-desktop-banner[data-banner-effect="tilt"] .banner-leave picture { animation-name: yohan-banner-tilt-leave; }
    .home-desktop-banner[data-banner-effect="focus"] .banner-enter picture { animation-name: yohan-banner-focus-enter; }
    .home-desktop-banner[data-banner-effect="focus"] .banner-leave picture { animation-name: yohan-banner-focus-leave; }
}


/* 合作客户恢复原色，显式覆盖旧 118×44 限制。 */
body.page-home .home-clients-band .home-honorlist .client-logo img {
    filter: none !important; opacity: 1 !important;
    width: 100% !important; height: 100% !important;
    max-width: 188px !important; max-height: 84px !important;
    object-fit: contain !important;
}
body.page-home .home-clients-band .home-honorlist .client-logo.is-compact img {
    max-width: 110px !important; max-height: 96px !important;
}
body.page-home .home-clients-band .home-honorlist li .box { height: 132px !important; padding: 16px !important; }
@media (max-width: 767px) {
    body.page-home .home-clients-band .home-honorlist li .box { height: 112px !important; padding: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .home-desktop-banner .swiper-slide { transition-duration: 0ms !important; }
}

/* 遮罩类效果让新画面实色覆盖旧画面，避免两层文字在遮罩内重叠。 */
@media (prefers-reduced-motion: no-preference) {
    .home-desktop-banner[data-banner-effect="iris"] .banner-enter,
    .home-desktop-banner[data-banner-effect="diagonal"] .banner-enter,
    .home-desktop-banner[data-banner-effect="reveal"] .banner-enter { opacity: 1 !important; z-index: 2; transition-timing-function: steps(1, start) !important; }
    .home-desktop-banner[data-banner-effect="iris"] .banner-leave,
    .home-desktop-banner[data-banner-effect="diagonal"] .banner-leave,
    .home-desktop-banner[data-banner-effect="reveal"] .banner-leave { opacity: 1 !important; z-index: 1; transition-timing-function: steps(1, start) !important; }
    .home-desktop-banner[data-banner-effect="iris"] .banner-leave picture,
    .home-desktop-banner[data-banner-effect="diagonal"] .banner-leave picture,
    .home-desktop-banner[data-banner-effect="reveal"] .banner-leave picture { animation: none; }
}

/* 全站：首次进入视口分批显示；只有 JS 绑定后才隐藏，静态内容默认可读。 */
@media (prefers-reduced-motion: no-preference) {
    body .motion-target {
        opacity: 0; translate: 0 22px;
        transition: opacity .65s ease var(--motion-delay, 0ms), translate .65s cubic-bezier(.22, .61, .36, 1) var(--motion-delay, 0ms);
    }
    body .motion-target.is-revealed { opacity: 1; translate: 0 0; }
}
.stat-number { display: inline-block; font-variant-numeric: tabular-nums; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    body .service-summary-card, body .case-feature-image, body .about-honor-grid a,
    body .forus-bg .mapbox > ul > li {
        transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease;
    }
    body .service-summary-grid .service-summary-card:hover,
    body .about-honor-grid a:hover { transform: translateY(-4px); border-color: rgba(22, 123, 171, .4); box-shadow: 0 10px 24px rgba(23, 50, 77, .07); }
    body .case-feature-link span { transition: transform .25s ease; }
    body .case-feature:hover .case-feature-link span { transform: translateX(5px); }
    body .delivery-list > li > span { display: inline-block; transition: transform .25s ease, color .25s ease; }
    body .delivery-list > li:hover > span { transform: translateY(-3px); color: #74e8c1 !important; }
    body .forus-bg .mapbox > ul > li:hover { transform: translateY(-4px); }
    body .flow-path li .box { transition: transform .25s ease; }
    body .flow-path li:hover .box { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
    body .motion-target { opacity: 1; translate: none; transition: none; }
    body .wow { animation: none !important; visibility: visible !important; }
}

body .motion-target.motion-focus { opacity: 1 !important; translate: none !important; transition: none !important; }

/* 热线 SVG 不能用父容器 font-size:0 下的 em 尺寸，显式恢复电话图标。 */
.header .topborder .toptel .box > svg {
    position: absolute; top: 50%; left: 12px; transform: translateY(-50%);
    display: block; width: 34px; height: 34px; padding: 8px; box-sizing: border-box;
    border-radius: 50%; color: #fff; background: #167bab;
    box-shadow: 0 4px 12px rgba(22, 123, 171, .18);
}

/* 客户原色双向滚动带：压缩原四行表格，渐隐边缘与悬停浮起。 */
body.page-home .home-clients-band .home-clients { padding-top: 40px; padding-bottom: 40px; }
body.page-home .home-clients .client-marquee-heading { position: relative; padding-right: 120px; margin-bottom: 24px !important; }
.client-marquee-row:focus-visible { outline: 2px solid #167bab; outline-offset: 3px; }
body.page-home .client-marquee { margin: 0 !important; }
.client-marquee.is-marquee-ready { display: grid; gap: 14px; overflow: hidden; }
.client-marquee-row { overflow: hidden; padding: 8px 0; mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent); }
.client-marquee-track { display: flex; width: max-content; animation: yohan-client-flow var(--client-duration, 60s) linear infinite; animation-play-state: paused; }
.client-marquee.is-running .client-marquee-track { animation-play-state: running; }
.client-marquee-row:nth-child(2) .client-marquee-track { animation-direction: reverse; }
body.page-home .client-marquee .client-marquee-group { display: flex !important; flex-wrap: nowrap; flex-shrink: 0; gap: 24px; width: max-content; margin: 0 !important; padding: 0 24px 0 0 !important; list-style: none; background: transparent !important; }
.client-marquee-group::before, .client-marquee-group::after { display: none !important; }
body.page-home .client-marquee .client-marquee-group > li { flex: 0 0 208px; width: 208px !important; margin: 0 !important; padding: 0 !important; float: none; }
body.page-home .client-marquee .client-marquee-group li .box { height: 100px !important; padding: 12px 16px !important; border-radius: 10px !important; background: rgba(255,255,255,.8) !important; transition: transform .3s ease, box-shadow .3s ease; }
body.page-home .client-marquee .client-marquee-group .client-logo img { max-width: 176px !important; max-height: 68px !important; }
body.page-home .client-marquee .client-marquee-group .client-logo.is-compact img { max-width: 92px !important; max-height: 76px !important; }
@keyframes yohan-client-flow { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    body.page-home .client-marquee .client-marquee-group li .box:hover { transform: translateY(-4px) !important; box-shadow: 0 7px 18px rgba(22,123,171,.12) !important; }
}
@media (max-width: 767px) {
    body.page-home .home-clients-band .home-clients { padding-top: 32px; padding-bottom: 32px; }
    body.page-home .home-clients .client-marquee-heading { padding-right: 0; padding-top: 0; }
    body.page-home .client-marquee .client-marquee-group { gap: 14px; padding-right: 14px !important; }
    body.page-home .client-marquee .client-marquee-group > li { flex-basis: 164px; width: 164px !important; }
    body.page-home .client-marquee .client-marquee-group li .box { height: 88px !important; padding: 10px 12px !important; }
    body.page-home .client-marquee .client-marquee-group .client-logo img { max-width: 140px !important; max-height: 64px !important; }
    body.page-home .client-marquee .client-marquee-group .client-logo.is-compact img { max-height: 68px !important; }
}
@media (prefers-reduced-motion: reduce) {
    .client-marquee-track { animation: none; transform: none; }
    .client-marquee-row { overflow-x: auto; }
    .client-marquee-group[aria-hidden="true"], .client-marquee-group [data-logo-copy] { display: none !important; }
}
body.page-home .home-clients .client-marquee-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 16px; padding-right: 0; }
.client-marquee-heading > .title { grid-column: 1; grid-row: 1; }
.client-marquee-heading > .en { grid-column: 1 / -1; }
@media (max-width: 767px) {
    .client-marquee-heading > .title { align-self: end; }
}
@media (prefers-reduced-motion: reduce) {
    body.page-home .client-marquee .client-marquee-group[aria-hidden="true"],
    body.page-home .client-marquee .client-marquee-group [data-logo-copy] { display: none !important; }
}

/* 首页更多入口统一组件状态；保留各入口既有响应式显示规则。 */
body.page-home .home-weare .home-weare-head a.home-more-link,
body.page-home .home-weare a.home-weare-more-bottom.home-more-link,
body.page-home .home-case-showcase .home-case-actions a.home-more-link,
body.page-home .home-about-section .home-about-heading a.home-more-link,
body.page-home .home-news-only .newsbox .right a.home-more-link {
    min-height: 44px !important; padding: 0 18px !important; margin-top: 0 !important;
    border: 1px solid #b9d9ec !important; border-radius: 6px !important;
    color: #167bab !important; background: transparent !important;
    font-size: 14px !important; font-weight: 600 !important; line-height: 1.4 !important;
    box-shadow: none !important; transform: none !important; text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
body.page-home .home-weare .home-weare-head a.home-more-link:is(:hover, :focus-visible),
body.page-home .home-weare a.home-weare-more-bottom.home-more-link:is(:hover, :focus-visible),
body.page-home .home-case-showcase .home-case-actions a.home-more-link:is(:hover, :focus-visible),
body.page-home .home-about-section .home-about-heading a.home-more-link:is(:hover, :focus-visible),
body.page-home .home-news-only .newsbox .right a.home-more-link:is(:hover, :focus-visible),
body.page-home a.home-more-link:focus-visible {
    background: #167bab !important; border-color: #167bab !important; color: #fff !important;
}
body.page-home a.home-more-link:focus-visible { outline: 2px solid #167bab; outline-offset: 3px; }
body.page-home .home-clients .client-marquee-heading { grid-template-columns: minmax(0, 1fr); }
@media (prefers-reduced-motion: reduce) { body.page-home a.home-more-link { transition: none !important; } }

/* 导航统一：主题蓝选中态、紧凑浮层及侧栏交互。 */
@media (min-width: 1001px) {
    body #navMenu > ul > li { position: relative; }
    body #navMenu > ul > li > a {
        border-radius: 8px !important; border: 1px solid transparent !important;
        background: transparent !important; color: #486178 !important; box-shadow: none !important;
        transition: color .2s ease, background-color .2s ease, border-color .2s ease;
    }
    body #navMenu > ul > li > a::before { display: none !important; }
    body #navMenu > ul > li > a::after { display: block; height: 2px !important; width: 24px !important; background: #167bab !important; bottom: 4px; }
    body #navMenu > ul > li.current > a { background: #e9f4fb !important; color: #167bab !important; border-color: #d0e7f5 !important; }
    body #navMenu > ul > li:hover > a,
    body #navMenu > ul > li:focus-within > a { background: #f1f7fb !important; color: #167bab !important; }
    body #navMenu > ul > li.current > a::after,
    body #navMenu > ul > li:focus-within > a::after { transform: translateX(-50%) scaleX(1); }
    body #navMenu > ul > li > .arrow { display: none; }
    body #navMenu > ul > li > ul,
    body #navMenu > ul > li:hover > ul:has(li) {
        display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 4px;
        position: absolute; top: calc(100% + 8px); left: 50%; width: 260px; min-width: 260px;
        max-width: calc(100vw - 32px); padding: 10px !important; margin: 0;
        border: 1px solid #dce9f2; border-radius: 12px; background: rgba(255,255,255,.98);
        box-shadow: 0 12px 32px rgba(23,50,77,.12);
        visibility: hidden; opacity: 0; pointer-events: none; transform: translateX(-50%) translateY(8px);
        transition: opacity .18s ease, transform .18s ease, visibility .18s;
    }
    body #navMenu > ul > li > ul:has(> li:nth-child(7)) { width: 440px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body #navMenu > ul > li:hover > ul:has(li),
    body #navMenu > ul > li:focus-within > ul:has(li) { visibility: visible; opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); }
    body #navMenu > ul > li.is-menu-dismissed > ul { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
    body #navMenu > ul > li > ul::before { content: '' !important; display: block !important; position: absolute; left: 0; right: 0; bottom: 100%; height: 12px; padding: 0; }
    body #navMenu > ul > li > ul > li { width: auto; margin: 0; animation: none !important; }
    body #navMenu > ul > li > ul > li > a { display: flex; align-items: center; min-height: 44px; padding: 10px 14px !important; border: 0 !important; border-radius: 7px; font-size: 14px !important; line-height: 1.6; color: #486178 !important; background: transparent !important; transition: color .2s, background-color .2s; }
    body #navMenu > ul > li > ul > li > a::before,
    body #navMenu > ul > li > ul > li > a::after { display: none !important; }
    body #navMenu > ul > li > ul > li > a:hover,
    body #navMenu > ul > li > ul > li > a:focus-visible { background: #e9f4fb !important; color: #167bab !important; }
    body #navMenu > ul > li > ul > li.current > a { background: #167bab !important; color: #fff !important; }
}
body.site-page .sub-nav-box { padding: 18px !important; border: 1px solid #e1ebf3 !important; border-radius: 12px !important; background: #fff !important; }
body.site-page .sub-nav-box .sub-nav-title { padding: 0 0 16px !important; font-size: 20px !important; font-weight: 700; border-bottom: 1px solid #e7eef4; color: #17324d; }
body.site-page .sub-nav-box .sub-nav { padding: 12px 0 0 !important; }
body.site-page .sub-nav-box .sub-nav li { margin: 4px 0; }
body.site-page .sub-nav-box .sub-nav li a { position: relative; min-height: 44px; padding: 10px 30px 10px 14px !important; border-radius: 7px !important; font-size: 15px !important; line-height: 1.6 !important; color: #486178 !important; background: transparent !important; transition: color .2s, background-color .2s; }
body.site-page .sub-nav-box .sub-nav li a:hover,
body.site-page .sub-nav-box .sub-nav li a:focus-visible { color: #167bab !important; background: #e9f4fb !important; }
body.site-page .sub-nav-box .sub-nav li.current > a { color: #fff !important; background: #167bab !important; }
body.site-page .sub-nav-box .sub-nav li a::after { content: '›'; display: block !important; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: auto; height: auto; background: none; font-size: 19px; color: inherit; opacity: 0; transition: opacity .2s; }
body.site-page .sub-nav-box .sub-nav li a:hover::after,
body.site-page .sub-nav-box .sub-nav li.current > a::after { opacity: 1; }
body #navMenu a:focus-visible, body.site-page .sub-nav a:focus-visible { outline: 2px solid #167bab; outline-offset: 2px; }
@media (max-width: 1000px) {
    body #navMenu.fullscreen-nav > ul > li.current > a { background: rgba(255,255,255,.12) !important; border-radius: 8px; padding-left: 14px !important; text-decoration: none; }
    body #navMenu.fullscreen-nav ul ul li.current > a { background: rgba(255,255,255,.12) !important; }
    body.site-page .sub-nav-box { padding: 14px !important; }
}
@media (prefers-reduced-motion: reduce) {
    body #navMenu a, body #navMenu ul, body.site-page .sub-nav a { transition: none !important; }
}

/* 企业官网导航：文字与细线分层，避免胶囊选中和重卡片侧栏。 */
@media (min-width: 1001px) {
    body #navMenu > ul > li > a,
    body #navMenu > ul > li.current > a,
    body #navMenu > ul > li:hover > a,
    body #navMenu > ul > li:focus-within > a { border-color: transparent !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
    body #navMenu > ul > li.current > a { color: #167bab !important; font-weight: 700; }
    body #navMenu > ul > li > a::after { width: calc(100% - 28px) !important; bottom: 0; border-radius: 0; }
    body #navMenu > ul > li > ul,
    body #navMenu > ul > li:hover > ul:has(li) { border-color: #e8edf2; border-radius: 4px; padding: 14px !important; background: #fff; box-shadow: 0 12px 28px rgba(23,50,77,.09); }
    body #navMenu > ul > li > ul > li > a { border-radius: 2px; color: #34495e !important; }
    body #navMenu > ul > li > ul > li > a:hover,
    body #navMenu > ul > li > ul > li > a:focus-visible { background: #f4f7fa !important; }
    body #navMenu > ul > li > ul > li.current > a { background: #f0f6fa !important; color: #167bab !important; box-shadow: inset 3px 0 #167bab; font-weight: 600; }
}
body.site-page .sub-nav-box { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 16px 0 0 !important; }
body.site-page .sub-nav-box .sub-nav-title { padding: 0 0 18px !important; border-bottom: 1px solid #e7edf2; font-size: 21px !important; }
body.site-page .sub-nav-box .sub-nav li a { border-radius: 0 !important; border-left: 3px solid transparent !important; padding: 12px 30px 12px 14px !important; color: #526579 !important; }
body.site-page .sub-nav-box .sub-nav li a:hover,
body.site-page .sub-nav-box .sub-nav li a:focus-visible { background: #f5f7f9 !important; color: #167bab !important; }
body.site-page .sub-nav-box .sub-nav li.current > a { background: #f0f6fa !important; color: #167bab !important; border-left-color: #167bab !important; font-weight: 600; }
@media (max-width: 1000px) {
    body #navMenu.fullscreen-nav > ul > li.current > a { background: transparent !important; padding-left: 0 !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 8px; }
    body.site-page .sub-nav-box { padding: 0 !important; }
}

/* 案例分类吸顶；长菜单向上让出空间，不产生独立滚动条。 */
@media (min-width: 992px) {
    .page-case-list .category-sticky-column > .sub-nav-box,
    .page-detail .category-sticky-column > .sub-nav-box {
        position: sticky;
        top: 104px;
        max-height: none;
        overflow: visible !important;
    }
}

@media (min-width: 992px) {
    body.page-detail .category-sticky-column .sub-nav li a,
    body.page-case-list .category-sticky-column .sub-nav li a { padding-top: 7px !important; padding-bottom: 7px !important; }
}

@media (min-width: 992px) {
    body.page-case-detail .category-sticky-column .sub-nav li { margin: 0 !important; }
    body.page-case-detail .category-sticky-column .sub-nav > ul { gap: 0 !important; }
    body.page-case-detail .category-sticky-column > .sub-nav-box { z-index: 2; background: #fff !important; }
}
