/* =====================================================================
   在商言法 · 炜衡结构版 —— 展示层样式
   对齐 weihenglaw：顶部信息条 / 品牌区 / 主导航下拉 / Hero 理念 /
   业务轮播 / 团队筛选 / 服务网络 / 数字统计 / 资讯列表 / 多列页脚
   ===================================================================== */
:root {
    --wh-navy: #0a2f5c;
    --wh-blue: #1668c4;
    --wh-blue-d: #0f4f96;
    --wh-ink: #1f2d3d;
    --wh-muted: #5b6b7c;
    --wh-line: #e3ebf4;
    --wh-bg: #f5f8fc;
    --wh-white: #fff;
    --wh-shadow: 0 8px 28px rgba(10, 47, 92, .08);
    --wh-radius: 10px;

    /* ---- 参考站（weihenglaw）同构变量 ---- */
    --wh-gold: #ffc582;
    --wh-gold-d: #e8a967;
    --wh-font70: 70px;
    --wh-font46: 46px;
    --wh-font36: 36px;
    --wh-font30: 30px;
    --wh-font26: 26px;
    --wh-font20: 20px;
    --wh-l1h3: 1.3;
    --wh-l1h5: 1.5;
    --wh-l1h75: 1.75;
    --wh-head: 80px;
    --wh-space110: 110px;
    --wh-space130: 130px;
    --wh-space56: 56px;
    --wh-space40: 40px;
}

.wh-container, .wh-c1200 { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* 视觉隐藏（保留给搜索引擎与读屏器） */
.wh-visually-hidden {
    position: absolute !important; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* =====================================================================
   ⓪ 开屏动画（对齐 weihenglaw .open-screen / #lottie / .open-screen-bg）
   ===================================================================== */
.wh-open {
    position: fixed; inset: 0; z-index: 9999;
    background: #fdfdfd;
    transition: opacity .34s .86s ease;
    overflow: hidden;
}
.wh-open-bg {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    transform-origin: 50% 44%;
}
.wh-open-core {
    display: block; width: 96px; height: 96px; border-radius: 50%;
    background: radial-gradient(circle at 34% 32%, #1d6ec9 0%, #0d4b93 46%, #082a54 100%);
    opacity: .16;
    transition: transform 1s cubic-bezier(.22, .61, .36, 1), opacity .55s ease;
}
.wh-open-logo {
    position: absolute; inset: 0; z-index: 3;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 10px; opacity: 1; transition: opacity .28s ease;
}
.wh-open-mark {
    font-size: 34px; font-weight: 600; letter-spacing: 12px; text-indent: 12px;
    color: #0a2f5c;
}
.wh-open-sub {
    font-size: 11px; letter-spacing: 4px; color: #7c92ad;
}
.wh-open-bar {
    position: absolute; left: 50%; bottom: 84px; z-index: 4;
    transform: translateX(-50%);
    width: 190px; height: 2px; border-radius: 2px;
    background: rgba(10, 47, 92, .12); overflow: hidden;
}
.wh-open-bar i {
    display: block; width: 40%; height: 100%; border-radius: 2px;
    background: linear-gradient(90deg, #1668c4, #0a2f5c);
    animation: whOpenBar 1.05s ease-in-out infinite;
}
@keyframes whOpenBar {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(250%); }
}
/* 快照完成：logo 隐去，底色放大铺满 */
.wh-open.on .wh-open-logo { opacity: 0; }
.wh-open.on .wh-open-core { transform: scale(30); opacity: 1; }
/* 收尾：整体淡出，不再拦截点击 */
.wh-open.on.end { opacity: 0; pointer-events: none; }

/* =====================================================================
   ② 首屏 Banner（对齐 weihenglaw .ys-banner）
   ===================================================================== */
.wh-banner {
    position: relative; width: 100%; overflow: hidden;
    background: #06182e;
}
.wh-ban-slick { list-style: none; margin: 0; padding: 0; }
.wh-ban-li { position: relative; overflow: hidden; }
.wh-ban-li:not(:first-child) { display: none; }
.wh-ban-inner {
    position: relative;
    height: calc(100vh - var(--wh-head));
    min-height: 460px;
    max-height: 900px;
}
/* 媒体层：图片 / 视频 / 移动图（对齐 .ys-ban-imgbox） */
.wh-ban-imgbox { position: absolute; inset: 0; z-index: 1; overflow: hidden; }
/* ::before 蒙层，rgba(0,0,0,.3)，与参考站一致 */
.wh-ban-imgbox::before {
    content: ""; position: absolute; inset: 0; z-index: 3;
    background: rgba(0, 0, 0, .3);
    pointer-events: none;
    opacity: 0; transition: all .4s ease;
}
.wh-banner.is-ready .wh-ban-imgbox::before,
.wh-banner.on .wh-ban-imgbox::before { opacity: 1; }
/* 文字安全区叠加：保证白色标题在亮画面上依然清晰可读 */
.wh-ban-imgbox::after {
    content: ""; position: absolute; inset: 0; z-index: 4;
    pointer-events: none;
    background: radial-gradient(72% 62% at 50% 50%, rgba(2, 14, 30, .46) 0%, rgba(2, 14, 30, .16) 58%, transparent 100%);
}
.wh-ban-pc, .wh-ban-ph {
    position: absolute; left: 50%; top: 50%; z-index: 1;
    transform: translate(-50%, -50%);
    width: 100%; height: 100%; object-fit: cover;
}
.wh-ban-ph { display: none; }
/* 无图无视频时的底纹兜底，保证首屏永远有画 */
.wh-ban-imgbox:empty::after,
.wh-banner.is-fallback .wh-ban-imgbox::after {
    content: ""; position: absolute; inset: 0; z-index: 0;
    background:
        radial-gradient(120% 90% at 78% 12%, rgba(22, 104, 196, .55), transparent 62%),
        radial-gradient(90% 80% at 12% 88%, rgba(10, 47, 92, .92), transparent 66%),
        linear-gradient(135deg, #0a2f5c 0%, #071b34 100%);
}
/* 背景视频：铺满 + 居中裁切 */
.wh-ban-video {
    position: absolute; left: 50%; top: 50%; z-index: 2;
    transform: translate(-50%, -50%);
    width: 100%; height: 100%; object-fit: cover;
    pointer-events: none;
}

/* 首屏文字（对齐 .ys-ban-txtbox：opacity 0 → act1 时 1） */
.wh-ban-txtbox {
    position: absolute; left: 50%; top: 50%; z-index: 6;
    transform: translate(-50%, -50%);
    width: 100%; max-width: 1200px; padding: 0 20px;
    text-align: center;
    opacity: 0; transition: opacity .6s 2.3s ease;
}
.home-main.act1 .wh-ban-txtbox,
.wh-banner.is-ready .wh-ban-txtbox { opacity: 1; }
/* 标题：70px / 白色 / lighter / 居中 */
.wh-ban-title {
    font-size: var(--wh-font70); font-weight: lighter; color: #fff;
    line-height: 1.3; margin: 0; letter-spacing: 6px; text-indent: 6px;
    text-shadow: 0 4px 26px rgba(0, 0, 0, .38);
}
.home-main.act1 .wh-ban-title,
.wh-banner.is-ready .wh-ban-title {
    animation: whfadeInUp .8s ease-in-out both; animation-delay: .4s;
}
/* 副标题：20px / 白色 / 居中 / 上间距 32px（对齐 .ys-ban-txtbox .std-title6） */
.wh-ban-stdtitle {
    max-width: 920px; margin: 32px auto 0; color: #fff;
}
.wh-ban-stdtitle p {
    font-size: var(--wh-font20); line-height: 1.75;
    margin: 0; color: #fff;
}
.home-main.act1 .wh-ban-stdtitle,
.wh-banner.is-ready .wh-ban-stdtitle {
    animation: whfadeInUp .8s ease-in-out both; animation-delay: .5s;
}
.wh-ban-eyebrow {
    display: inline-block; font-size: 13px; letter-spacing: 3px; color: #9dc2ee;
    border: 1px solid rgba(157, 194, 238, .42); border-radius: 20px; padding: 6px 18px;
    margin-bottom: 18px;
}
/* 首屏按钮（本站转化入口，参考站无此元素；仅在需要时使用） */
.wh-ban-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-top: 34px; }
.wh-banner.is-ready .wh-ban-actions {
    animation: whfadeInUp .8s ease-in-out both; animation-delay: .62s;
}
.wh-ban-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 40px; border-radius: 30px; font-size: 16px;
    text-decoration: none; border: 1px solid rgba(255, 255, 255, .62);
    color: #fff; background: rgba(255, 255, 255, .06);
    transition: all .32s ease; backdrop-filter: blur(3px);
}
.wh-ban-btn:hover { background: rgba(255, 255, 255, .2); transform: translateY(-2px); }
.wh-ban-btn.is-primary { background: var(--wh-blue); border-color: var(--wh-blue); }
.wh-ban-btn.is-primary:hover { background: var(--wh-blue-d); border-color: var(--wh-blue-d); }

/* 向下滚动提示 */
.wh-scrollcue {
    position: absolute; left: 50%; bottom: 26px; z-index: 8;
    transform: translateX(-50%);
    width: 26px; height: 44px; border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 14px; text-decoration: none;
}
.wh-scrollcue span {
    position: absolute; left: 50%; width: 3px; height: 3px; border-radius: 50%;
    background: #fff; transform: translateX(-50%);
    animation: whScrollDot 1.8s ease-in-out infinite;
}
.wh-scrollcue span:first-child { top: 9px; }
.wh-scrollcue span:nth-child(2) { top: 9px; animation-delay: .35s; }

@keyframes whScrollDot {
    0% { opacity: 0; transform: translate(-50%, 0); }
    30% { opacity: 1; }
    100% { opacity: 0; transform: translate(-50%, 20px); }
}

/* =====================================================================
   ③ 业务领域（对齐 weihenglaw .home-business）
   ===================================================================== */
.wh-biz { padding: var(--wh-space110) 0 var(--wh-space130); overflow: hidden; background: #fff; }
.wh-biz .wh-std-title2 {
    text-align: center; font-size: var(--wh-font46); color: #333;
    margin: 0 0 var(--wh-space56); font-weight: lighter;
}
.wh-biz-box { position: relative; }
.wh-biz-list {
    list-style: none; margin: 0; padding: 0; position: relative; z-index: 10;
    transition: transform .6s cubic-bezier(.4, 0, .2, 1);
}
.wh-biz-item { display: none; }
.wh-biz-item:first-child { display: block; }
/* 居中缩放：非当前项缩小，当前项原始比例 */
.wh-biz-card {
    position: relative; overflow: hidden; border-radius: 12px;
    transform: scale(.875); transition: transform .6s ease;
}
.wh-biz-item.is-active .wh-biz-card { transform: scale(1); }
.wh-biz-bg {
    position: relative; width: 100%; height: 460px;
    background: linear-gradient(135deg, #0d3a6e 0%, #08213f 100%);
    display: grid; place-items: center; overflow: hidden;
}
.wh-biz-bg::before {
    content: ""; position: absolute; inset: 0; z-index: 3;
    background: linear-gradient(101deg, rgba(0, 0, 0, .52) 34%, rgba(0, 0, 0, 0) 113%);
}
.wh-biz-glyph {
    position: relative; z-index: 1;
    font-size: 200px; font-weight: 700; line-height: 1;
    color: rgba(255, 255, 255, .10); user-select: none;
}
.wh-biz-glow {
    position: absolute; z-index: 2; width: 560px; height: 560px; border-radius: 50%;
    right: -120px; top: -140px;
    background: radial-gradient(circle, rgba(22, 104, 196, .62), transparent 68%);
}
.wh-biz-text {
    position: absolute; left: 0; top: 50%; z-index: 6;
    transform: translateY(-50%);
    width: 46%; padding-left: 118px;
}
.wh-biz-text .wh-std-title5 {
    font-size: var(--wh-font26); color: #fff; margin: 0 0 18px;
    line-height: var(--wh-l1h5); font-weight: lighter;
}
.wh-biz-text .wh-std-text1, .wh-biz-text .wh-std-text1 p {
    font-size: 16px; color: rgba(255, 255, 255, .86); line-height: var(--wh-l1h75);
    margin: 0 0 30px; font-weight: lighter;
}
.wh-std-btn1 { display: inline-flex; align-items: center; text-decoration: none; }
.wh-std-btn1 .wh-std-text1 { color: #fff !important; margin: 0 !important; font-size: 15px; }
.wh-std-btn1 .wh-ico-arrow { color: #fff; margin-left: 12px; transition: transform .4s ease; }
.wh-std-btn1:hover .wh-ico-arrow { transform: translateX(6px); }

/* 两侧「查看更多」浮块 */
.wh-biz-add {
    position: absolute; top: 50%; width: 200px;
    transform: translateY(-50%);
    display: flex; flex-direction: column; justify-content: center;
    opacity: 0; transition: opacity .4s ease;
}
.wh-biz-add1 { right: 106.25%; left: auto; }
.wh-biz-add2 { left: 106.25%; }
.wh-biz-box.show-end .wh-biz-add2 { opacity: 1; }
.wh-biz-box.show-start .wh-biz-add1 { opacity: 1; }
.wh-biz-add .wh-std-title3 {
    font-size: var(--wh-font36); color: #333; line-height: var(--wh-l1h5); margin: 0 0 22px;
}
.wh-std-btn3 { display: inline-flex; align-items: center; text-decoration: none; }
.wh-std-btn3 .wh-std-text1 { color: var(--wh-blue); margin: 0 !important; font-size: 15px; }
.wh-std-btn3 .wh-ico-arrow { color: var(--wh-blue); margin-left: 12px; transition: transform .4s ease; }
.wh-std-btn3:hover .wh-ico-arrow { transform: translateX(7px); }

/* 轮播箭头 */
.wh-biz-arrow {
    position: absolute; top: 50%; z-index: 12;
    transform: translateY(-50%);
    width: 52px; height: 52px; border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .6);
    background: rgba(10, 47, 92, .35); color: #fff;
    font-size: 22px; line-height: 1; cursor: pointer;
    opacity: 0; transition: opacity .4s ease, background .3s ease;
    backdrop-filter: blur(4px);
}
.wh-biz-box:hover .wh-biz-arrow { opacity: 1; }
.wh-biz-arrow:hover { background: var(--wh-blue); }
.wh-biz-prev { left: 19px; }
.wh-biz-next { right: 19px; }
.wh-biz-dots {
    display: flex; justify-content: center; gap: 10px; margin-top: 26px;
    list-style: none; padding: 0;
}
.wh-biz-dots button {
    width: 34px; height: 3px; border: 0; border-radius: 2px;
    background: #cfdcea; cursor: pointer; transition: background .3s;
}
.wh-biz-dots button.is-active { background: var(--wh-blue); }

/* =====================================================================
   ④⑤ sticky 叠层容器（对齐 weihenglaw .home-box / .home-team / .home-world）

   参考站模型：
     .home-box          position:relative; height: calc((100vh - head) * 1.7)
     .home-box-sticky   position:sticky; top:head; overflow:hidden  ← 高度由内层撑开
     .home-team         position:sticky; top:head; z-index:12（第一层，静态撑高）
     .home-world-add    position:absolute; top:0; left:0; z-index:2（第二层，叠在上一层）
   ===================================================================== */
/* 叠层容器：JS 依据 --now_pvev/--now_next 做换场，容器高度决定滚动行程 */
.wh-fsbox { position: relative; height: calc(calc(100vh - var(--wh-head)) * 1.7); }
.wh-fsbox-sticky { position: sticky; top: var(--wh-head); overflow: hidden; }
.wh-fs-item { width: 100%; }

/* ---- 专业团队：第一层（相对定位，撑出 sticky 区高度） ---- */
.wh-team-fs {
    position: relative; z-index: 12;
    height: calc(100vh - var(--wh-head));
    overflow: hidden;
}
.wh-team-fs-bg {
    position: absolute; inset: 0; z-index: 1; overflow: hidden;
    background: linear-gradient(120deg, #0b2c55 0%, #103f77 52%, #071c37 100%);
}
.wh-team-fs-bg::before {
    content: ""; position: absolute; inset: 0; z-index: 2;
    background: linear-gradient(99deg, rgba(0, 0, 0, .42), rgba(0, 0, 0, .05));
}
.wh-team-fs-glow {
    position: absolute; width: 760px; height: 760px; border-radius: 50%;
    right: -180px; top: -220px;
    background: radial-gradient(circle, rgba(22, 104, 196, .5), transparent 68%);
}
.wh-team-fs-add {
    position: absolute; left: 50%; top: 50%; z-index: 3;
    transform: translate(-50%, -50%);
    width: 100%; max-width: 1200px;
}
.wh-team-fs-cry { width: 40.16%; }
.wh-team-fs-cry .wh-std-title2 {
    font-size: var(--wh-font46); color: #fff; font-weight: lighter;
    line-height: var(--wh-l1h5); margin: 0 0 11px;
}
.wh-team-fs-cry .wh-std-text1, .wh-team-fs-cry .wh-std-text1 p {
    color: #fff; font-size: 16px; line-height: var(--wh-l1h75); font-weight: lighter;
}
.wh-team-fs-cry .wh-std-text1 { margin: 0 0 35px; }
.wh-team-fs-list {
    list-style: none; margin: 0 -7px -14px; padding: 0;
    display: flex; flex-wrap: wrap; position: relative; z-index: 3;
}
.wh-tfs-item { width: 33.3333%; padding: 0 7px; margin-bottom: 14px; }
.wh-tfs-item1 { width: 100%; }
.wh-tfs-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.wh-tfs-select, .wh-tfs-search input {
    width: 100%; height: 44px; padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, .7); border-radius: 30px;
    background: transparent; color: #fff; font-size: 14px; outline: none;
    appearance: none; cursor: pointer;
    transition: border-color .3s, background .3s;
}
.wh-tfs-select option { color: #1f2d3d; background: #fff; }
.wh-tfs-search input::placeholder { color: rgba(255, 255, 255, .7); }
.wh-tfs-select:focus, .wh-tfs-search input:focus {
    border-color: #fff; background: rgba(255, 255, 255, .1);
}
.wh-team-fs-cry .wh-std-btn2 { margin-top: 39px; display: flex; gap: 14px; flex-wrap: wrap; }
.wh-std-btn2-link {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 12px 50px; border: 0; border-radius: 24px; cursor: pointer;
    background: var(--wh-blue); position: relative; overflow: hidden;
    font-size: 15px; text-decoration: none; transition: background .35s ease;
}
.wh-std-btn2-link .wh-std-text1 { color: #fff; margin: 0 !important; position: relative; z-index: 6; }
.wh-std-btn2-link::before {
    content: ""; position: absolute; left: 0; top: 50%; z-index: 2;
    transform: translateY(-50%);
    width: 100%; height: 100%; border-radius: 24px;
    background: var(--wh-blue-d); opacity: 0; transition: opacity .4s ease;
}
.wh-std-btn2-link:hover::before { opacity: 1; }
.wh-std-btn2-link.is-ghost { background: transparent; border: 1px solid rgba(255, 255, 255, .7); }
.wh-std-btn2-link.is-ghost::before { background: rgba(255, 255, 255, .16); }

/* ---- 视差换场：完全对齐 weihenglaw 的 --now_pvev / --now_next 公式 ----
   JS 在 .wh-team-fs / .wh-world-add 上写入 --now_pvev（0→1）与 --now_next（0→1），
   并按进度切换 .prev / .next 类，CSS 据此换算位移与透明度。 */
.wh-team-fs, .wh-world-add {
    /* 位移 */
    --top1: calc(100% - 100% * var(--now_pvev, 0));
    --top2: calc(-50% * var(--now_next, 0));
    /* 图片位移 */
    --topt1: calc(-50% + 50% * var(--now_pvev, 0));
    --topt2: calc(30% * var(--now_next, 0));
    /* 放大 */
    --scale1: calc(1.1 - 0.1 * var(--now_pvev, 0));
    /* 文字位移 + 透明度 */
    --topz1: calc(105% - 105% * var(--now_pvev, 0));
    --topz2: calc(-80% * var(--now_next, 0));
    --opacity1: var(--now_pvev, 0);
    --opacity2: calc(1 - var(--now_next, 0));
}
/* 上一层（团队）被下一层推走：对齐 .home-box-nub.next .home-team-bg */
.wh-world-add.next .wh-team-fs-bg { transform: translate(0, var(--top2)); }
.wh-world-add.next .wh-team-fs-cry { transform: translate(0, var(--topz2)); opacity: var(--opacity2); }
/* 团队层自身位移（对齐 .home-box-nub.next .home-team-add） */
.wh-world-add.next .wh-team-fs-add { transform: translate(0, var(--topz2)); opacity: var(--opacity2); }

/* 全球层淡入：对齐 .home-box-nub.prev 系列 */
.wh-world-add.prev .wh-world2 { transform: translate(0, var(--top1)); }
.wh-world-add.prev .wh-world-map { transform: translate(0, var(--topt1)) scale(var(--scale1), var(--scale1)); }
.wh-world-add.prev .wh-team-fs-bg { transform: translate(0, 0) scale(var(--scale1), var(--scale1)); }
.wh-world-add.prev .wh-world1 { transform: translate(0, var(--topz1)); opacity: var(--opacity1); }
.wh-world-add.prev .wh-team-fs-cry,
.wh-world-add.prev .wh-team-fs-add { opacity: var(--opacity1); }
/* 全球层图片位移 */
.wh-world-add.next .wh-world-map { transform: translate(0, var(--topt2)); }
.wh-world-add.next .wh-world1 { transform: translate(0, var(--topz2)); opacity: var(--opacity2); }
/* 上层藏起（对齐 .home-box.hide-first .home-team{opacity:0!important}） */
.wh-fsbox.hide-first .wh-team-fs { opacity: 0 !important; }

.wh-world-add {
    position: absolute; top: 0; left: 0; width: 100%;
    height: calc(112vh - var(--wh-head));
    overflow: hidden; z-index: 2;
}
.wh-world-add .wh-world2 { overflow: hidden; }

/* ---- 立足中国 放眼全球（暗色地图）----
   .wh-world1 为文案层（绝对定位铺满），.wh-world2 为地图层（文档流撑高） */
.wh-world {
    height: calc(112vh - var(--wh-head)); display: flex; align-items: center;
    background: #232323; position: relative;
}
.wh-world1 {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    z-index: 2; background: transparent !important; opacity: 1;
}
.wh-world2 { position: relative; width: 100%; z-index: 1; }
.wh-world-map {
    position: relative; width: 1365px; max-width: 100%; margin: 0 auto;
}
.wh-world-map-bg {
    display: block; width: 100%; height: 520px;
    background:
        radial-gradient(60% 60% at 50% 50%, rgba(255, 255, 255, .05), transparent 70%),
        linear-gradient(180deg, #2a2a2a, #1c1c1c);
    border-radius: 8px;
}
.wh-world::before, .wh-world::after {
    content: ""; position: absolute; top: 0; z-index: 11; pointer-events: none;
    width: 42%; height: 100%;
}
.wh-world::before { left: 0; background: linear-gradient(90deg, rgba(21, 21, 21, .72), rgba(0, 0, 0, 0)); }
.wh-world::after { right: 0; background: linear-gradient(270deg, rgba(21, 21, 21, .72), rgba(0, 0, 0, 0)); }
.wh-world-cry { width: 50.25%; position: relative; z-index: 20; }
.wh-world-cry .wh-std-title2 {
    font-size: var(--wh-font46); color: #fff; font-weight: lighter;
    line-height: var(--wh-l1h5); margin: 0 0 20px;
}
.wh-world-cry .wh-std-text1, .wh-world-cry .wh-std-text1 p {
    color: #fff; font-size: 16px; line-height: var(--wh-l1h75); font-weight: lighter;
}
.wh-world-cry .wh-std-text1 { margin: 0 0 28px; }
.wh-hl { color: var(--wh-gold); }
.wh-world-cry-list { list-style: none; margin: 0 -28px; padding: 0; display: flex; flex-wrap: wrap; }
.wh-wcl-item { padding: 0 28px; }
.wh-world-cry-list .wh-std-btn3 .wh-std-text1 { color: var(--wh-gold); }

/* 地图定位气泡 + 波纹 */
.wh-world-map-list { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; }
.wh-wml-item {
    position: absolute; transform: translate(-50%, -50%);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    border-radius: 50%; text-align: center;
}
.wh-wml-item1, .wh-wml-item2 { width: 215px; height: 215px; }
.wh-wml-item3 { width: 335px; height: 335px; }
.wh-wml-core { position: absolute; inset: 0; border-radius: 50%; }
.wh-wml-core span {
    position: absolute; left: 50%; top: 50%;
    width: 100%; height: 100%; border-radius: 50%;
    background: rgba(255, 255, 255, .05); display: block;
    transform: translate(-50%, -50%) scale(.65);
    animation: whCore 3s linear infinite both;
}
.wh-wml-core span:nth-child(2) { animation-delay: 1.5s; }
.wh-wml-item:nth-of-type(3n-1) .wh-wml-core span:first-child { animation-delay: .5s; }
.wh-wml-item:nth-of-type(3n-1) .wh-wml-core span:nth-child(2) { animation-delay: 2s; }
.wh-wml-item:nth-of-type(3n-2) .wh-wml-core span:first-child { animation-delay: 1s; }
.wh-wml-item:nth-of-type(3n-2) .wh-wml-core span:nth-child(2) { animation-delay: 2.5s; }
.wh-wml-data { position: relative; z-index: 10; margin-bottom: 2px; }
.wh-wml-data span {
    color: var(--wh-gold); font-size: var(--wh-font36); line-height: var(--wh-l1h3);
    margin-right: 5px; font-weight: lighter;
}
.wh-wml-data i {
    font-style: normal; font-size: var(--wh-font30); color: var(--wh-gold);
    line-height: var(--wh-l1h3); position: relative; top: -2px;
}
.wh-wml-item .wh-std-text1 {
    position: relative; z-index: 10; text-align: center;
    color: rgba(255, 255, 255, .42); font-size: 15px; line-height: var(--wh-l1h5);
    margin: 0;
}
.wh-fsbox-tail { height: 12vh; }

@keyframes whCore {
    0% { transform: translate(-50%, -50%) scale(.65); opacity: 0; }
    30% { transform: translate(-50%, -50%) scale(.7); opacity: 1; }
    90% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(1.1); opacity: 0; }
}

/* =====================================================================
   ⑥ 在线下单入口
   ===================================================================== */
.wh-order { padding: 84px 0 76px; background: #fff; }
.wh-order-lead { text-align: center; color: var(--wh-muted); font-size: 15px; margin: -12px 0 34px; }
.wh-order-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wh-order-card {
    position: relative; display: flex; flex-direction: column;
    background: #fff; border: 1px solid var(--wh-line); border-radius: var(--wh-radius);
    padding: 30px 24px 26px; text-decoration: none; overflow: hidden;
    transition: transform .34s ease, box-shadow .34s ease, border-color .34s ease;
}
.wh-order-card::after {
    content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 3px;
    background: linear-gradient(90deg, var(--wh-blue), var(--wh-navy));
    transform: scaleX(0); transform-origin: left; transition: transform .38s ease;
}
.wh-order-card:hover { transform: translateY(-8px); box-shadow: var(--wh-shadow); border-color: var(--wh-blue); }
.wh-order-card:hover::after { transform: scaleX(1); }
.wh-order-badge {
    align-self: flex-start; font-size: 12px; color: var(--wh-blue);
    background: var(--wh-bg); border-radius: 10px; padding: 3px 12px; margin-bottom: 14px;
}
.wh-order-title { display: block; font-size: 19px; color: var(--wh-navy); margin-bottom: 10px; }
.wh-order-desc { display: block; font-size: 13px; color: var(--wh-muted); line-height: 1.85; flex: 1; margin-bottom: 18px; }
.wh-order-cta {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 14px; color: var(--wh-blue); font-weight: 600;
}
.wh-order-cta i { font-style: normal; transition: transform .3s ease; }
.wh-order-card:hover .wh-order-cta i { transform: translateX(5px); }
.wh-order-foot {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 34px;
    margin-top: 34px; padding-top: 26px; border-top: 1px dashed var(--wh-line);
}
.wh-order-link { font-size: 14px; color: var(--wh-ink); text-decoration: none; transition: color .25s; }
.wh-order-link:hover { color: var(--wh-blue); }

/* =====================================================================
   ⑦ 最新资讯（3 列轮播）
   ===================================================================== */
.wh-news { padding: 83px 0 82px; background: var(--wh-bg); }
.wh-news .wh-std-title2 {
    text-align: center; font-size: var(--wh-font46); color: #333;
    margin: 0 0 var(--wh-space40); font-weight: lighter;
}
/* 参考站为 Slick 单列轮播：容器可见区滑动，逐张切换 */
.wh-news-box { position: relative; }
.wh-news-list {
    list-style: none; margin: 0 -15px; padding: 0;
    display: flex; flex-wrap: nowrap; overflow: hidden;
    transition: transform .6s cubic-bezier(.4, 0, .2, 1);
    will-change: transform;
}
.wh-news-item {
    width: 33.3333%; flex: 0 0 33.3333%;
    padding: 0 15px; box-sizing: border-box;
    margin: 0; list-style: none; display: block;
}
.wh-news-item::before { content: none !important; }
.wh-news-link { display: block; text-decoration: none; }
.wh-news-img.wh-imgbox-cover {
    width: 100%; height: 215px; margin: 0 0 27px; overflow: hidden;
    border-radius: 4px; position: relative;
    background: linear-gradient(135deg, #dbe7f5, #eef4fb);
    display: block;
}
.wh-news-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.wh-news-link:hover .wh-news-img img { transform: scale(1.06); }
.wh-news-img-ph {
    position: absolute; inset: 0; display: grid; place-items: center;
    font-size: 44px; font-weight: 700; color: #b9cde6;
}
.wh-news-link-text { display: block; }
.wh-news-meta {
    list-style: none !important; margin: 0 -12px 14px !important; padding: 0 !important;
    display: flex; flex-wrap: wrap; align-items: center;
}
.wh-news-meta li.wh-news-nub {
    padding: 0 12px !important; position: relative; background: none !important;
    list-style: none !important; margin: 0 !important; width: auto !important;
    display: block !important; float: none !important;
}
.wh-news-meta li.wh-news-nub::marker { content: none !important; }
.wh-news-meta li.wh-news-nub::before {
    content: ""; position: absolute; right: 0; top: 50%;
    transform: translateY(-50%); width: 1px; height: 12px; background: #cfd8e3;
}
.wh-news-meta li.wh-news-nub:last-child::before { display: none; }
.wh-news-nub-font { font-size: 14px; line-height: 1.6; color: var(--wh-muted); }
.wh-news-nub-font.is-cat { color: var(--wh-blue); }
.wh-news-link .wh-std-title6 {
    font-size: var(--wh-font20); line-height: var(--wh-l1h75); color: #333;
    margin: 0 0 17px; font-weight: lighter;
    text-decoration: underline; text-underline-position: under;
    text-decoration-color: transparent; transition: text-decoration-color .4s ease;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
.wh-news-link:hover .wh-std-title6 { text-decoration-color: var(--wh-blue); }
.wh-news-link .wh-std-text1, .wh-news-link .wh-std-text1 p {
    font-size: 14px; color: #999; line-height: 1.6; margin: 0;
}
.wh-news-link .wh-std-text1 {
    height: 3.2em; overflow: hidden;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
}
/* 轮播控制条：左右箭头 + 圆点（对应参考站 mod-arrows2 / mod-dots1） */
.wh-news-nav {
    display: flex; align-items: center; justify-content: center; gap: 18px;
    margin-top: 34px;
}
.wh-news-arrow {
    width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; cursor: pointer;
    border: 1px solid var(--wh-line); background: #fff; color: var(--wh-navy);
    font-size: 20px; line-height: 1; display: grid; place-items: center;
    transition: all .28s ease; padding: 0;
}
.wh-news-arrow:hover:not(:disabled) { background: var(--wh-blue); color: #fff; border-color: var(--wh-blue); }
.wh-news-arrow:disabled { opacity: .3; cursor: default; }
.wh-news-dots { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; gap: 10px; }
.wh-news-dots li {
    width: 10px; height: 10px; border-radius: 50%; background: #c8d6e5;
    cursor: pointer; transition: all .28s ease; margin: 0 !important;
    list-style: none !important; padding: 0 !important; display: block !important;
}
.wh-news-dots li::before, .wh-news-dots li::marker { content: none !important; }
.wh-news-dots li.on { background: var(--wh-blue); width: 26px; border-radius: 5px; }
.wh-news-btn { display: flex; justify-content: center; gap: 14px; margin-top: 49px; }

/* =====================================================================
   通用动效（对齐 weihenglaw: ysfadeInUp / ys-fadeup1..6 / wow）
   ===================================================================== */
@keyframes whfadeInUp {
    0% { opacity: 0; transform: translate3d(0, 60px, 0); }
    to { opacity: 1; transform: none; }
}
@keyframes whfadeIn {
    0% { opacity: 0; }
    to { opacity: 1; }
}
.wh-wow { opacity: 0; }
.wh-wow.is-in { opacity: 1; }
.wh-wow[data-wh="up1"].is-in { animation: whfadeInUp .8s ease-in-out both; animation-delay: .2s; }
.wh-wow[data-wh="up2"].is-in { animation: whfadeInUp .8s ease-in-out both; animation-delay: .3s; }
.wh-wow[data-wh="up3"].is-in { animation: whfadeInUp .8s ease-in-out both; animation-delay: .4s; }
.wh-wow[data-wh="up4"].is-in { animation: whfadeInUp .8s ease-in-out both; animation-delay: .5s; }
.wh-wow[data-wh="fadein1"].is-in { animation: whfadeIn .9s ease-in-out both; }

/* 板块标题字号统一（沿用参考站比例） */
.wh-biz .wh-std-title2,
.wh-news .wh-std-title2,
.wh-team-fs-cry .wh-std-title2,
.wh-world-cry .wh-std-title2 { font-weight: lighter; letter-spacing: 1px; }
.wh-std-title5, .wh-std-title6, .wh-std-text1 { font-weight: lighter; }
.wh-std-text1 p { margin: 0; }

/* ---------- 顶部信息条 ---------- */
.wh-util { background: var(--wh-navy); color: #cfe0f2; font-size: 13px; }
.wh-util-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; min-height: 38px; }
.wh-util-stats span { margin-right: 18px; }
.wh-util-stats b { color: #ffd479; }
.wh-util-contact span { margin-left: 18px; }
.wh-util-contact strong { color: #fff; }

/* ---------- 头部 ---------- */
.wh-header { background: var(--wh-white); border-bottom: 1px solid var(--wh-line); position: relative; z-index: 60; }
.wh-header-main { display: flex; align-items: center; gap: 24px; padding: 18px 20px; }
.wh-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: 0 0 auto; }
.wh-brand-mark { width: 44px; height: 44px; border-radius: 8px; background: linear-gradient(135deg, var(--wh-blue), var(--wh-navy)); color: #fff; display: grid; place-items: center; font-size: 22px; font-weight: 700; }
.wh-brand-text { display: flex; flex-direction: column; line-height: 1.25; }
.wh-brand-text strong { color: var(--wh-navy); font-size: 20px; }
.wh-brand-text em { font-style: normal; color: var(--wh-muted); font-size: 12px; }

.wh-header-search { flex: 1 1 auto; max-width: 420px; }
.wh-header-search .search-form { display: flex; }
.wh-header-search .search-field { flex: 1; height: 42px; padding: 0 14px; border: 1px solid var(--wh-line); border-right: 0; border-radius: 6px 0 0 6px; outline: none; font-size: 14px; }
.wh-header-search .search-submit { height: 42px; padding: 0 20px; border: 0; border-radius: 0 6px 6px 0; background: var(--wh-blue); color: #fff; cursor: pointer; font-size: 14px; }
.wh-header-search .search-submit:hover { background: var(--wh-blue-d); }

.wh-header-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.wh-btn { display: inline-block; padding: 10px 18px; border-radius: 6px; font-size: 14px; text-decoration: none; transition: all .25s ease; border: 1px solid transparent; }
.wh-btn-outline { border-color: var(--wh-blue); color: var(--wh-blue); }
.wh-btn-outline:hover { background: var(--wh-blue); color: #fff; }
.wh-btn-cta { background: var(--wh-blue); color: #fff; }
.wh-btn-cta:hover { background: var(--wh-blue-d); transform: translateY(-1px); }
.wh-btn-lg { padding: 13px 30px; font-size: 15px; }
.wh-btn-ghost { border-color: rgba(255,255,255,.6); color: #fff; }
.wh-btn-ghost:hover { background: rgba(255,255,255,.14); }
.wh-menu-toggle { display: none; background: none; border: 1px solid var(--wh-line); font-size: 20px; width: 42px; height: 42px; border-radius: 6px; cursor: pointer; }

/* ---------- 主导航 + 二级下拉 ---------- */
.wh-nav { background: var(--wh-navy); }
.wh-nav-inner { display: flex; align-items: center; justify-content: space-between; }
.wh-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.wh-menu > .menu-item { position: relative; }
.wh-menu > .menu-item > a { display: block; padding: 15px 20px; color: #e8f1fb; text-decoration: none; font-size: 15px; transition: background .2s, color .2s; }
.wh-menu > .menu-item > a:hover,
.wh-menu > .menu-item.current-menu-item > a { background: var(--wh-blue); color: #fff; }
.wh-menu > .menu-item-has-children > a::after { content: " ▾"; font-size: 11px; opacity: .8; }

.wh-menu .sub-menu { list-style: none; position: absolute; top: 100%; left: 0; min-width: 190px; background: #fff; border: 1px solid var(--wh-line); border-top: 2px solid var(--wh-blue); box-shadow: var(--wh-shadow); margin: 0; padding: 6px 0; opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .22s ease; z-index: 70; }
.wh-menu .menu-item:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.wh-menu .sub-menu .menu-item a { display: block; padding: 10px 18px; color: var(--wh-ink); text-decoration: none; font-size: 14px; white-space: nowrap; }
.wh-menu .sub-menu .menu-item a:hover { background: var(--wh-bg); color: var(--wh-blue); }
.wh-nav-cta { background: #ffd479; color: var(--wh-navy); padding: 8px 18px; border-radius: 6px; font-size: 14px; text-decoration: none; font-weight: 600; }
.wh-nav-cta:hover { background: #ffc94d; }

/* ---------- Hero ---------- */
.wh-main { background: var(--wh-bg); }
.wh-hero { background: linear-gradient(135deg, var(--wh-navy) 0%, var(--wh-blue) 100%); color: #fff; padding: 84px 0; text-align: center; }
.wh-hero-eyebrow { font-size: 13px; letter-spacing: 3px; color: #bcd6f5; margin: 0 0 16px; }
.wh-hero-slogan { font-size: 44px; margin: 0 0 10px; letter-spacing: 4px; font-weight: 700; }
.wh-hero-title { font-size: 20px; font-weight: 500; color: #d9e8f9; margin: 0 0 18px; letter-spacing: 1px; }
.wh-hero-desc { max-width: 720px; margin: 0 auto 28px; color: #d9e8f9; line-height: 1.9; font-size: 15px; }
.wh-hero-search { max-width: 520px; margin: 0 auto 22px; }
.wh-hero-search .search-form { display: flex; }
.wh-hero-search .search-field { flex: 1; height: 46px; padding: 0 16px; border: 0; border-radius: 6px 0 0 6px; outline: none; }
.wh-hero-search .search-submit { height: 46px; padding: 0 24px; border: 0; border-radius: 0 6px 6px 0; background: #ffd479; color: var(--wh-navy); font-weight: 600; cursor: pointer; }
.wh-hero-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ---------- 通用板块 ---------- */
.wh-section { padding: 64px 0; }
.wh-section:nth-of-type(even) { background: #fff; }
.wh-sec-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 32px; flex-wrap: wrap; gap: 10px; }
.wh-sec-head h2 { font-size: 28px; color: var(--wh-navy); margin: 0; position: relative; padding-left: 14px; }
.wh-sec-head h2::before { content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 4px; background: var(--wh-blue); border-radius: 2px; }
.wh-more { color: var(--wh-blue); text-decoration: none; font-size: 14px; }
.wh-more:hover { text-decoration: underline; }
.wh-empty { color: var(--wh-muted); }

/* ---------- 业务领域轮播 ---------- */
.wh-carousel { position: relative; }
.wh-car-viewport { overflow: hidden; }
.wh-car-track { list-style: none; display: flex; gap: 20px; margin: 0; padding: 4px 0; transition: transform .5s cubic-bezier(.4,0,.2,1); }
.wh-car-slide { flex: 0 0 calc((100% - 60px) / 4); }
.wh-area-card { display: block; background: #fff; border: 1px solid var(--wh-line); border-radius: var(--wh-radius); padding: 26px 22px; text-decoration: none; height: 100%; transition: transform .3s ease, box-shadow .3s ease, border-color .3s; }
.wh-area-card:hover { transform: translateY(-6px); box-shadow: var(--wh-shadow); border-color: var(--wh-blue); }
.wh-area-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 8px; background: var(--wh-bg); color: var(--wh-blue); font-size: 20px; font-weight: 700; margin-bottom: 14px; }
.wh-area-card h3 { font-size: 18px; color: var(--wh-navy); margin: 0 0 10px; }
.wh-area-card p { font-size: 13px; color: var(--wh-muted); line-height: 1.8; margin: 0 0 14px; }
.wh-area-arrow { color: var(--wh-blue); font-size: 13px; transition: transform .25s ease; display: inline-block; }
.wh-area-card:hover .wh-area-arrow { transform: translateX(6px); }

.wh-car-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--wh-line); background: #fff; color: var(--wh-navy); font-size: 22px; line-height: 1; cursor: pointer; z-index: 5; box-shadow: var(--wh-shadow); }
.wh-car-btn:hover { background: var(--wh-blue); color: #fff; }
.wh-prev { left: -14px; }
.wh-next { right: -14px; }

/* ---------- 团队筛选 ---------- */
.wh-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.wh-tab { padding: 8px 18px; border-radius: 20px; border: 1px solid var(--wh-line); background: #fff; color: var(--wh-ink); cursor: pointer; font-size: 14px; transition: all .25s; }
.wh-tab:hover { border-color: var(--wh-blue); color: var(--wh-blue); }
.wh-tab.is-active { background: var(--wh-blue); border-color: var(--wh-blue); color: #fff; }
.wh-team-grid { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 0; padding: 0; }
.wh-team-card { background: #fff; border: 1px solid var(--wh-line); border-radius: var(--wh-radius); transition: transform .3s, box-shadow .3s; }
.wh-team-card:hover { transform: translateY(-5px); box-shadow: var(--wh-shadow); }
.wh-team-card a { display: block; padding: 24px 20px; text-decoration: none; text-align: center; }
.wh-avatar { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 50%; background: linear-gradient(135deg, var(--wh-blue), var(--wh-navy)); color: #fff; font-size: 24px; font-weight: 700; }
.wh-team-card h3 { font-size: 17px; color: var(--wh-navy); margin: 0 0 6px; }
.wh-role { font-size: 13px; color: var(--wh-muted); margin: 0 0 10px; }
.wh-link { font-size: 13px; color: var(--wh-blue); }

/* ---------- 服务网络 ---------- */
.wh-net-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.wh-net-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 30px 16px; background: #fff; border: 1px solid var(--wh-line); border-radius: var(--wh-radius); text-decoration: none; transition: all .3s; }
.wh-net-card:hover { background: var(--wh-navy); border-color: var(--wh-navy); }
.wh-net-card b { font-size: 30px; color: var(--wh-blue); transition: color .3s; }
.wh-net-card span { font-size: 14px; color: var(--wh-ink); transition: color .3s; }
.wh-net-card:hover b, .wh-net-card:hover span { color: #fff; }

/* ---------- 数字统计 ---------- */
.wh-stats { background: var(--wh-navy); color: #fff; text-align: center; }
.wh-stats-title { color: #fff; font-size: 26px; margin: 0 0 36px; }
.wh-stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.wh-stat b { display: block; font-size: 40px; color: #ffd479; line-height: 1.2; }
.wh-stat span { font-size: 14px; color: #cfe0f2; }

/* ---------- 资讯 ---------- */
/* 旧版栅格样式已废弃：资讯采用参考站的 Slick 单列轮播，规则见上方 .wh-news 段落 */
.wh-news-date { color: var(--wh-muted); font-size: 13px; margin-right: 12px; }
.wh-news-cat { background: var(--wh-bg); color: var(--wh-blue); font-size: 12px; padding: 2px 10px; border-radius: 10px; }

/* ---------- 工具 ---------- */
.wh-tool-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.wh-tool-card { display: flex; flex-direction: column; gap: 6px; padding: 26px 22px; background: #fff; border: 1px solid var(--wh-line); border-left: 3px solid var(--wh-blue); border-radius: var(--wh-radius); text-decoration: none; transition: all .3s; }
.wh-tool-card:hover { box-shadow: var(--wh-shadow); transform: translateY(-4px); }
.wh-tool-card b { color: var(--wh-navy); font-size: 16px; }
.wh-tool-card span { color: var(--wh-muted); font-size: 13px; }

/* ---------- 荣誉 ---------- */
.wh-honor-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.wh-honor-card { background: #fff; border: 1px solid var(--wh-line); border-radius: var(--wh-radius); padding: 26px 22px; }
.wh-honor-card b { display: block; color: var(--wh-navy); font-size: 16px; margin-bottom: 8px; }
.wh-honor-card span { color: var(--wh-muted); font-size: 13px; line-height: 1.8; }

/* =====================================================================
   专业团队模块（对齐 weihenglaw.com/teams 与 /teams/{id}）
   ===================================================================== */

/* ---------- 页面 Banner + 面包屑 ---------- */
.wh-pageban { background: linear-gradient(135deg, var(--wh-navy) 0%, var(--wh-blue-d) 100%); color: #fff; padding: 52px 0 28px; }
.wh-pageban-inner { text-align: center; }
.wh-pageban-title { font-size: 34px; margin: 0 0 8px; letter-spacing: 2px; }
.wh-pageban-sub { font-size: 15px; color: #bcd6f5; margin: 0 0 14px; }
.wh-bread { display: flex; justify-content: center; gap: 8px; font-size: 13px; color: #bcd6f5; }
.wh-bread a { color: #d9e8f9; text-decoration: none; }
.wh-bread a:hover { color: #ffd479; }
.wh-bread-sep { opacity: .6; }

/* ---------- 筛选区 ---------- */
.wh-team-filter { background: #fff; padding: 30px 0; border-bottom: 1px solid var(--wh-line); }
.wh-filter-bar { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.wh-filter-input { position: relative; flex: 1 1 240px; display: flex; }
.wh-filter-input input { flex: 1; height: 46px; padding: 0 46px 0 16px; border: 1px solid var(--wh-line); border-radius: 6px; outline: none; font-size: 14px; }
.wh-filter-input input:focus { border-color: var(--wh-blue); }
.wh-filter-input button { position: absolute; right: 0; top: 0; width: 46px; height: 46px; border: 0; border-radius: 0 6px 6px 0; background: var(--wh-blue); color: #fff; cursor: pointer; }
.wh-filter-select { flex: 0 1 180px; }
.wh-filter-select select { width: 100%; height: 46px; padding: 0 12px; border: 1px solid var(--wh-line); border-radius: 6px; background: #fff; font-size: 14px; color: var(--wh-ink); outline: none; cursor: pointer; }
.wh-filter-select select:focus { border-color: var(--wh-blue); }
.wh-filter-go { flex: 0 0 auto; padding: 0 28px; height: 46px; border: 0; border-radius: 6px; background: var(--wh-navy); color: #fff; font-size: 14px; cursor: pointer; transition: background .25s; }
.wh-filter-go:hover { background: var(--wh-blue); }

/* ---------- 全部名单 A-Z ---------- */
.wh-namelist { margin-top: 24px; display: flex; align-items: flex-start; gap: 18px; flex-wrap: wrap; }
.wh-namelist-title { font-size: 16px; color: var(--wh-navy); font-weight: 600; padding-top: 6px; }
.wh-namelist-letters { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; flex: 1; }
.wh-namelist-letters a { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 4px; background: var(--wh-bg); color: var(--wh-ink); font-size: 13px; text-decoration: none; transition: all .2s; }
.wh-namelist-letters a:hover, .wh-namelist-letters a.is-active { background: var(--wh-blue); color: #fff; }
.wh-namelist-letters a.wh-reset { width: auto; padding: 0 14px; background: transparent; border: 1px solid var(--wh-line); }

/* ---------- 律师名片网格 ---------- */
.wh-team-list { background: var(--wh-bg); padding: 44px 0 64px; }
.wh-tplist { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0; padding: 0; }
.wh-tplist-item { }
.wh-tpli { display: block; background: #fff; border: 1px solid var(--wh-line); border-radius: var(--wh-radius); overflow: hidden; text-decoration: none; transition: transform .3s ease, box-shadow .3s ease; }
.wh-tpli:hover { transform: translateY(-6px); box-shadow: var(--wh-shadow); }
.wh-tpli-top { position: relative; padding: 26px 20px 16px; text-align: center; background: linear-gradient(180deg, var(--wh-bg), #fff); }
/* 名片头像：统一 3:4 竖版，contain 保证人物完整不被裁切 */
.wh-tpli-photo { margin: 0 auto 16px; width: 132px; }
.wh-tpli-photo img {
    display: block; width: 100%; height: auto; aspect-ratio: 3 / 4;
    object-fit: cover; object-position: center 22%;
    border-radius: 6px; border: 1px solid var(--wh-line);
    background: var(--wh-bg);
    box-shadow: 0 4px 14px rgba(10, 47, 92, .10);
}
.wh-tpli-photo .zy-avatar {
    display: grid; place-items: center; width: 132px; height: 176px;
    aspect-ratio: 3 / 4; border-radius: 6px;
    background: linear-gradient(135deg, var(--wh-blue), var(--wh-navy));
    color: #fff; font-weight: 700; font-size: 44px;
    box-shadow: 0 4px 14px rgba(10, 47, 92, .10);
}
.wh-tpli-name { font-size: 18px; color: var(--wh-navy); margin: 0 0 6px; }
.wh-tpli-role { font-size: 13px; color: var(--wh-muted); margin: 0; }
.wh-tpli-btn { position: absolute; right: 14px; top: 14px; width: 30px; height: 30px; border-radius: 50%; background: var(--wh-blue); color: #fff; display: grid; place-items: center; font-size: 15px; opacity: 0; transform: translateX(-6px); transition: all .3s ease; }
.wh-tpli:hover .wh-tpli-btn { opacity: 1; transform: none; }
.wh-tpli-info { list-style: none; margin: 0; padding: 14px 20px 18px; border-top: 1px solid var(--wh-line); }
.wh-tpli-info li { font-size: 13px; color: var(--wh-muted); line-height: 1.7; display: flex; gap: 6px; }
.wh-tpli-info li .ico { color: var(--wh-blue); flex: 0 0 auto; }
.wh-empty-block { text-align: center; padding: 60px 0; }
.wh-empty-block p { color: var(--wh-muted); margin-bottom: 18px; }

/* 分页 */
.wh-pagination { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; margin-top: 36px; }
.wh-pagination .page-numbers {
    display: grid; place-items: center; min-width: 38px; height: 38px; padding: 0 12px;
    background: #fff; border: 1px solid var(--wh-line); border-radius: 6px;
    color: var(--wh-ink); font-size: 14px; text-decoration: none; transition: all .2s;
}
.wh-pagination .page-numbers:hover,
.wh-pagination .page-numbers.current { background: var(--wh-blue); color: #fff; border-color: var(--wh-blue); }

/* ---------- 律师详情 ---------- */
.wh-lawyer-detail { display: grid; grid-template-columns: 300px 1fr; gap: 32px; padding: 40px 20px 64px; align-items: start; }
.wh-detail-aside { position: sticky; top: 20px; }
.wh-anchor-nav { display: flex; gap: 4px; background: #fff; border: 1px solid var(--wh-line); border-radius: 8px; padding: 6px; margin-bottom: 16px; }
.wh-anchor-nav a { flex: 1; text-align: center; padding: 10px 6px; font-size: 14px; color: var(--wh-ink); text-decoration: none; border-radius: 6px; transition: all .2s; }
.wh-anchor-nav a:hover, .wh-anchor-nav a.is-active { background: var(--wh-blue); color: #fff; }
.wh-detail-card { background: #fff; border: 1px solid var(--wh-line); border-radius: var(--wh-radius); padding: 28px 22px; text-align: center; box-shadow: var(--wh-shadow); }
.wh-detail-card .zy-avatar {
    display: grid; place-items: center; width: 120px; height: 160px;
    margin: 0 auto; aspect-ratio: 3 / 4; border-radius: 8px;
    background: linear-gradient(135deg, var(--wh-blue), var(--wh-navy));
    color: #fff; font-weight: 700; font-size: 40px;
}
.wh-detail-card img.wh-photo {
    display: block; width: 120px; height: 160px; margin: 0 auto;
    aspect-ratio: 3 / 4; object-fit: cover; object-position: center 22%;
    border-radius: 8px; border: 1px solid var(--wh-line);
}
.wh-detail-card h2 { font-size: 22px; color: var(--wh-navy); margin: 16px 0 6px; }
.wh-dc-role { font-size: 14px; color: var(--wh-muted); margin: 0 0 18px; }
.wh-dc-meta { list-style: none; margin: 0 0 20px; padding: 0; text-align: left; border-top: 1px solid var(--wh-line); }
.wh-dc-meta li { display: flex; justify-content: space-between; gap: 10px; padding: 11px 0; border-bottom: 1px dashed var(--wh-line); font-size: 13px; color: var(--wh-ink); }
.wh-dc-meta li span { color: var(--wh-muted); flex: 0 0 auto; }
.wh-dc-cta { display: grid; gap: 10px; }
.wh-dc-cta .wh-btn { text-align: center; }

.wh-detail-main { display: grid; gap: 22px; }
.wh-panel { background: #fff; border: 1px solid var(--wh-line); border-radius: var(--wh-radius); overflow: hidden; }
.wh-panel-head { padding: 16px 24px; border-bottom: 1px solid var(--wh-line); background: var(--wh-bg); }
.wh-panel-head h2 { font-size: 18px; color: var(--wh-navy); margin: 0; position: relative; padding-left: 12px; }
.wh-panel-head h2::before { content: ""; position: absolute; left: 0; top: 4px; bottom: 4px; width: 3px; background: var(--wh-blue); }
.wh-panel-body { padding: 22px 24px; font-size: 15px; line-height: 1.95; color: var(--wh-ink); }
.wh-panel-body p { margin: 0 0 12px; }
.wh-panel-note { font-size: 13px; color: var(--wh-muted); margin-top: 14px; }
.wh-practice-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.wh-practice-links a { display: inline-block; padding: 8px 18px; background: var(--wh-bg); border: 1px solid var(--wh-line); border-radius: 20px; color: var(--wh-blue); text-decoration: none; font-size: 14px; transition: all .25s; }
.wh-practice-links a:hover { background: var(--wh-blue); color: #fff; border-color: var(--wh-blue); }
.wh-bio-list { list-style: none; margin: 0; padding: 0; }
.wh-bio-list li { position: relative; padding: 0 0 12px 20px; }
.wh-bio-list li::before { content: "•"; position: absolute; left: 4px; color: var(--wh-blue); font-weight: 700; }
.wh-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.wh-badge { padding: 5px 14px; background: var(--wh-bg); color: var(--wh-blue); border-radius: 12px; font-size: 13px; }

/* ---------- 首页团队介绍条 ---------- */
.wh-team-intro { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; background: #fff; border: 1px solid var(--wh-line); border-left: 4px solid var(--wh-blue); border-radius: var(--wh-radius); padding: 30px 32px; margin-bottom: 36px; }
.wh-ti-kicker { display: inline-block; font-size: 13px; color: var(--wh-blue); background: var(--wh-bg); padding: 4px 12px; border-radius: 4px; margin-bottom: 12px; }
.wh-ti-title { font-size: 26px; color: var(--wh-navy); margin: 0 0 12px; }
.wh-ti-desc { font-size: 14px; color: var(--wh-muted); line-height: 1.9; margin: 0 0 18px; }
.wh-ti-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.wh-ti-actions a { font-size: 14px; color: var(--wh-blue); text-decoration: none; border-bottom: 1px solid var(--wh-blue); padding-bottom: 2px; }
.wh-ti-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.wh-ti-stats > div { background: var(--wh-bg); border-radius: 8px; padding: 16px 12px; text-align: center; }
.wh-ti-stats b { display: block; font-size: 22px; color: var(--wh-blue); }
.wh-ti-stats b span { font-size: 13px; }
.wh-ti-stats em { font-style: normal; font-size: 12px; color: var(--wh-muted); }
.wh-team-photo { display: flex; justify-content: center; margin-bottom: 12px; }
.wh-team-photo img {
    display: block; width: 96px; height: 128px;
    aspect-ratio: 3 / 4; object-fit: cover; object-position: center 22%;
    border-radius: 6px; border: 1px solid var(--wh-line); background: var(--wh-bg);
}
.wh-team-photo .zy-avatar {
    display: grid; place-items: center; width: 96px; height: 128px;
    aspect-ratio: 3 / 4; border-radius: 6px;
    background: linear-gradient(135deg, var(--wh-blue), var(--wh-navy));
    color: #fff; font-weight: 700; font-size: 34px;
}
.wh-team-meta { list-style: none; margin: 8px 0 12px; padding: 0; }
.wh-team-meta li { font-size: 12px; color: var(--wh-muted); line-height: 1.6; }

/* ---------- 短代码列表 ---------- */
.wh-list ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--wh-cols, 3), 1fr); gap: 10px 20px; }
.wh-list li a { color: var(--wh-ink); font-size: 14px; text-decoration: none; }
.wh-list li a:hover { color: var(--wh-blue); text-decoration: underline; }

/* ---------- 页脚 ---------- */
.wh-footer { background: var(--wh-navy); color: #cfe0f2; }
.wh-footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; padding: 52px 20px; }
.wh-footer-col h4 { color: #fff; font-size: 16px; margin: 0 0 16px; }
.wh-footer-desc { line-height: 1.9; font-size: 13px; margin: 0 0 14px; }
.wh-footer-contact { font-size: 13px; line-height: 1.9; margin: 0; }
.wh-footer-col ul { list-style: none; margin: 0; padding: 0; }
.wh-footer-col li { margin-bottom: 10px; }
.wh-footer-col a { color: #cfe0f2; font-size: 14px; text-decoration: none; transition: color .2s; }
.wh-footer-col a:hover { color: #ffd479; }
.wh-footer-nav { border-top: 1px solid rgba(255,255,255,.12); }
.wh-footer-menu { list-style: none; display: flex; flex-wrap: wrap; gap: 22px; margin: 0; padding: 16px 0; }
.wh-footer-menu a { color: #cfe0f2; font-size: 14px; text-decoration: none; }
.wh-footer-menu a:hover { color: #ffd479; }
.wh-footer-copy { border-top: 1px solid rgba(255,255,255,.12); padding: 16px 20px; font-size: 13px; text-align: center; }
.wh-footer-copy a { color: #cfe0f2; }

/* ---------- 滚动渐显 ---------- */
.wh-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.wh-reveal.in-view { opacity: 1; transform: none; }

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
    .wh-car-slide { flex: 0 0 calc((100% - 40px) / 3); }
    .wh-team-grid, .wh-tool-grid, .wh-honor-grid { grid-template-columns: repeat(2, 1fr); }
    .wh-net-grid { grid-template-columns: repeat(3, 1fr); }
    .wh-footer-top { grid-template-columns: 1fr 1fr; }
    .wh-tplist { grid-template-columns: repeat(3, 1fr); }
    .wh-lawyer-detail { grid-template-columns: 1fr; }
    .wh-detail-aside { position: static; }
    .wh-team-intro { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .wh-header-main { flex-wrap: wrap; }
    .wh-header-search { order: 3; flex-basis: 100%; max-width: none; }
    .wh-menu-toggle { display: block; }
    .wh-nav { display: none; }
    .wh-nav.is-open { display: block; }
    .wh-menu { flex-direction: column; }
    .wh-menu > .menu-item > a { padding: 13px 0; }
    .wh-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; border-left: 2px solid var(--wh-blue); border-radius: 0; padding: 0 0 0 12px; display: none; }
    .wh-menu .menu-item.is-open > .sub-menu { display: block; }
    .wh-hero { padding: 56px 0; }
    .wh-hero-slogan { font-size: 28px; letter-spacing: 2px; }
    .wh-car-slide { flex: 0 0 100%; }
    .wh-stat-row { grid-template-columns: repeat(2, 1fr); }
    .wh-net-grid { grid-template-columns: repeat(2, 1fr); }
    .wh-footer-top { grid-template-columns: 1fr; }
    .wh-car-btn { display: none; }
    .wh-tplist { grid-template-columns: repeat(2, 1fr); }
    .wh-filter-select { flex: 1 1 100%; }
    .wh-filter-go { flex: 1 1 100%; }
    .wh-pageban-title { font-size: 26px; }
    .wh-ti-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .wh-tplist { grid-template-columns: 1fr; }
    .wh-order-grid { grid-template-columns: 1fr; }
}

/* =====================================================================
   首屏 / 业务轮播 / 叠层板块 —— 响应式
   ===================================================================== */
@media (max-width: 1440px) {
    .wh-biz-bg { height: 400px; }
    .wh-biz-text { width: 52%; padding-left: 80px; }
    .wh-biz-add { width: 170px; }
    .wh-world-map { width: 82.5%; }
    .wh-world-map-bg { height: 440px; }
}
@media (max-width: 1200px) {
    :root {
        --wh-font70: 64px;
        --wh-font46: 40px;
        --wh-font36: 32px;
        --wh-font30: 28px;
        --wh-font26: 24px;
        --wh-space110: 95px;
        --wh-space130: 110px;
    }
    .wh-biz-add { display: none; }
    .wh-biz-bg { height: 360px; }
    .wh-biz-text { width: 58%; padding-left: 56px; }
    .wh-biz-glyph { font-size: 150px; }
    .wh-team-fs-cry { width: 58%; }
    .wh-world-cry { width: 62%; }
    .wh-world-map { width: 92%; }
    .wh-world-map-bg { height: 400px; }
    .wh-order-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 992px) {
    .wh-fsbox { height: auto; }
    .wh-fsbox-sticky { position: static; overflow: visible; }
    .wh-team-fs, .wh-world { height: auto; }
    .wh-team-fs { padding: 70px 0; }
    .wh-team-fs-add, .wh-world-add { position: static; transform: none; }
    .wh-world-add { height: auto; }
    .wh-world-add .wh-world1,
    .wh-world-add .wh-world2 { transform: none !important; opacity: 1 !important; }
    .wh-world { display: block; padding: 60px 0; }
    .wh-world2 { margin-top: 40px; }
    .wh-team-fs-cry, .wh-world-cry { width: 100%; }
    .wh-news-item { width: 50%; flex: 0 0 50%; }
    .wh-news-img.wh-imgbox-cover { height: 180px; margin-bottom: 20px; }
    .wh-biz-text { width: 100%; padding-left: 32px; }
    .wh-biz-bg { height: 320px; }
    .wh-tfs-item { width: 50%; }
    .wh-tfs-item1 { width: 100%; }
}
@media (max-width: 768px) {
    :root {
        --wh-font70: 38px;
        --wh-font46: 32px;
        --wh-font36: 26px;
        --wh-font26: 20px;
    }
    .wh-ban-inner { height: 78vh; min-height: 380px; }
    .wh-ban-title { letter-spacing: 2px; margin-bottom: 16px; }
    .wh-ban-stdtitle { margin-bottom: 24px; }
    .wh-ban-stdtitle p { font-size: 14px; }
    .wh-ban-btn { padding: 12px 28px; font-size: 15px; }
    .wh-scrollcue { display: none; }
    .wh-ban-pc { display: none; }
    .wh-ban-ph { display: block; }
    .wh-biz { padding: 56px 0 64px; }
    .wh-biz-bg { height: 300px; }
    .wh-biz-text { padding: 0 22px; }
    .wh-biz-text .wh-std-title5 { font-size: 22px; }
    .wh-biz-glyph { font-size: 110px; }
    .wh-tfs-item { width: 100%; }
    .wh-team-fs-cry .wh-std-btn2 { margin-top: 24px; }
    .wh-std-btn2-link { padding: 11px 30px; width: 100%; }
    .wh-world-map { width: 100%; }
    .wh-world-map-bg { height: 300px; }
    .wh-wml-item1, .wh-wml-item2 { width: 140px; height: 140px; }
    .wh-wml-item3 { width: 200px; height: 200px; }
    .wh-order-grid { grid-template-columns: 1fr; }
    .wh-news-item { width: 100%; flex: 0 0 100%; }
    .wh-news-img.wh-imgbox-cover { height: 200px; }
    .wh-news-arrow { width: 38px; height: 38px; flex: 0 0 38px; font-size: 18px; }
}
