/*
 * vh-layout.css — 大屏"全屏"适配框架（两站共用，最后加载，用 html 前缀抬优先级）
 *
 * 契约（vh-layout-pages.css 与各页面规则都依赖这里的定义，改动要同步）：
 *   1. ≤1439px：不定义 --vh-page，各页面保持原有宽度（手机走 /h5/，平板/笔记本行为不变）。
 *   2. ≥1440px：--vh-page = 内容列宽 = clamp(1240px, 100vw - 240px, 1680px)；
 *      --vh-gutter = 两侧最小留白 120px。页眉内层、正文、页脚左缘对齐到同一条线。
 *   3. ≥2048px：html 整体等比放大（zoom 分档，保证 版式宽度 = 视口/zoom ≥ 1920），
 *      于是 2K/4K 看到的是 1920 版式等比放大，内容占满约 87%。
 *      注意：vw 单位不随 zoom 换算（100vw 在 zoom:2 下会渲染成 2 倍视口宽），
 *      凡在 ≥2048 生效、用到 vw 的规则必须在这里按档位改写，否则会出横向滚动条。
 *      放大只在 <html> 带 vh-zoom-std 类时生效，这个类由 static/js/vh-layout.js 在 <head> 里同步添加，
 *      条件是 zoom 坐标语义与 Chrome ≥128 一致、且用户没有把浏览器缩放调到 100% 以下。
 *      Safari / 旧 Firefox / 脚本没跑时都不放大，按第 2 条的宽度规则显示。--vh-z 只在放大时定义。
 *
 * 文件分节：
 *   §1 ≥1440 宽度变量 + 页眉 / 页脚 / 首页 / 下拉面板对齐
 *   §2 LAN 选型页（list/selector_lan_ssr.html）：容器、选型表放宽、左侧目录栏收起逻辑
 *   §3 关于页（about_all.html）页内导航：桌面改为底部居中浮条
 *   §4 ele #gotoTop 在 1024–1439 贴边
 *   §5 ≥2048 zoom 分档
 *   §6 zoom 生效时的 vw / vh、JS 坐标与 layer 弹层修正（只在 §5 档位内生效）
 *
 * 回滚：删掉 common/header.html、common/header_no_nhnavs.html、common/home_*_exact_v80.html 里
 * 引用本文件、vh-layout-pages.css 和 vh-layout.js 的三行即可。只删 vh-layout.js 一行 = 关掉 2K/4K 放大，宽度规则保留。
 */

/* ===================================================================== §1 ≥1440 宽度变量与公共框架 */
@media (min-width: 1440px) {
    html:root {
        /* 1440 → 1240（左缘 100），1536 → 1296，1920 → 1680（左缘 120），再宽封顶 1680 */
        --vh-page: clamp(1240px, calc(100vw - 240px), 1680px);
        --vh-gutter: 120px;
        /* 首页 home-*-exact-v80.css 的 :root{--page:1240px}：.page-width（全部栏目面板等）跟随内容列 */
        --page: var(--vh-page);
    }

    /* 页眉内层：盒宽 = 内容列 + 2×20 内边距 → logo 左缘与正文左缘同线（1920 下仍是 120，与改前一致） */
    html .header .inner .flex,
    html .site-header {
        max-width: calc(var(--vh-page) + 40px);
    }

    /* 页脚：内页 .in_footer / 首页 .site-footer .footer-layout 原封顶 1520（vh-footer.css:33） */
    html .site-footer .footer-layout,
    html .in_footer {
        width: var(--vh-page);
        max-width: var(--vh-page);
    }

    /* 首页 v2 各区块（home-cn-v2-preview.css:51 原 min(100% - 112px, 1240px)） */
    html .vhd-container {
        width: var(--vh-page);
    }

    /* 顶部下拉：首页旧 mega 面板（无 nav-preview 时才显示）与新版 nav-preview 面板 */
    html .mega-menu-inner {
        width: var(--vh-page);
    }
    html .vhnp .vhnp-wrap {
        max-width: var(--vh-page);
    }
}

/* ===================================================================== §2 LAN 选型页 */
@media (min-width: 1440px) {
    html .lan-container,
    html .lan-content-stack > .lan-section > .lan-container,
    html .lan-content-stack > .lan-support-section > .lan-container {
        width: var(--vh-page);
        max-width: none;
    }

    /* 选型表（报告 M7）：表宽 cn ~1900 / ele ~2050，内容列 1240 → 1680 后横滚已少很多。
       版式比"内容列 + 两侧各 242（目录栏 210 + 边距）"还宽时（带鱼屏、矮的宽窗口），表格壳再向两侧对称外扩，
       最多到表格自身宽度（--lan-selector-width 写在壳自己的 style 上，壳能读到，父级读不到），
       外扩后两侧仍各留 ≥242，不压 §2 下方展开的目录栏，也不压 cn 右侧 66px 客服栏。
       版式宽 = 100vw / zoom（未放大时 --vh-z 未定义按 1），再减 20px 竖向滚动条余量。
       1920 版式（含所有按宽度放大的 2K/4K 档）下 min() 取到的值 < 内容列，max() 回落到 100%，与其它节严格对齐。 */
    html #product-selector .cn-selector-shell {
        --vh-sel-w: max(100%, min(calc(var(--lan-selector-width, 0px) + 2px), calc(100vw / var(--vh-z, 1) - 504px)));
        width: var(--vh-sel-w);
        max-width: none;
        margin-inline: calc((100% - var(--vh-sel-w)) / 2);
    }
}

/* 选型表表头吸顶：.cn-selector-sticky-dock（lan_selector_ssr.css:2510）与对比区左栏 .lan-split-copy（:2894）
   按设计是 position:sticky（JS updateHeaderOffset 专门算了 --lan-header-height 给它用），但线上从未生效：
   祖先 #page.dbox 是 overflow:hidden（nc.css:432），sticky 以它为滚动容器，而它自己从不滚动（实测 1920 / 4K 表头都随表格滚走）。
   overflow:clip 同样裁掉横向溢出，但不建立滚动容器，sticky 就改为相对视口生效。只作用于选型页。
   只在 ≥1440 开启：大屏表格更宽、更长，吸顶表头收益最大；≤1439（平板 / 笔记本）保持线上现状，
   这次不改那边的交互（产品确认后去掉外层 @media 就能全宽度开启，820 / 1180 已实测吸顶位置正确）。 */
@media (min-width: 1440px) {
    html #page.dbox:has(.lan-ssr-page) {
        overflow: clip;
    }
}

/* 左侧 fixed 目录栏（报告 P0-1 / H1）：宽 210，内容列左侧留白放不下时会盖住料号列和 hero 主按钮。
   默认收起，只显示"页面目录"按钮；用户点开后（JS 给目录栏加 .is-open、给按钮设 hidden）照常展开。
   - JS（lan_selector_ssr.js 点击处理）：打开 = 目录栏 hidden=false + .is-open，按钮 hidden=true；
     关闭 = 目录栏 hidden=true 去 .is-open，按钮 hidden=false。按钮在 DOM 里紧跟目录栏，可用兄弟选择器。
   - 陷阱：lan_selector_ssr.css:1895 在 ≤1100 有 .lan-page-rail-open[hidden]{display:block!important}，
     :29 有 .lan-ssr-page [hidden]{display:none!important}，都是 (0,2,0)；下面用更高优先级的 !important 压住，
     顺带修掉 ≤1100 "目录栏和按钮同时显示"。 */
html .lan-ssr-page .lan-page-rail:not(.is-open) {
    display: none;
}
html .lan-ssr-page .lan-page-rail:not(.is-open) ~ .lan-page-rail-open {
    display: grid !important;
}
html .lan-ssr-page .lan-page-rail.is-open ~ .lan-page-rail-open {
    display: none !important;
}

/* 放得下才默认展开：版式宽 ≥ 内容列 1680 + 2×(16 边距 + 210 目录栏 + 16 间距) ≈ 2164。
   - 不放大的情况，版式宽 = 视口宽：html 没有 vh-zoom-std（Safari、旧 Firefox、用户把页面缩小到 100% 以下），
     或者能放大但视口高度不到第一档（≤853）；
   - 放大档位里版式宽 = 视口宽 / zoom。按宽度定档时版式宽只有 1920–2050，放不下；
     只有按高度封顶 zoom 的带鱼屏（zoom ≤ 高/800，宽高比 ≥ 2164/800 ≈ 2.705）版式宽才 ≥ 2164。
   目录栏保持原位置（cn left:0 / ele left:16px）。用户点"收起"后目录栏带 [hidden]，照常收起。 */
@media (min-width: 2164px) {
    html:not(.vh-zoom-std) .lan-ssr-page .lan-page-rail:not([hidden]) {
        display: block;
    }
    html:not(.vh-zoom-std) .lan-ssr-page .lan-page-rail:not([hidden]) ~ .lan-page-rail-open {
        display: none !important;
    }
}
@media (min-width: 2164px) and (max-height: 853px), (min-width: 2164px) and (min-aspect-ratio: 2705/1000) {
    html.vh-zoom-std .lan-ssr-page .lan-page-rail:not([hidden]) {
        display: block;
    }
    html.vh-zoom-std .lan-ssr-page .lan-page-rail:not([hidden]) ~ .lan-page-rail-open {
        display: none !important;
    }
}

/* ===================================================================== §3 关于页页内导航（报告 P0-6 / M4） */
/* about_new.css:88-104：fixed、left:24px、宽 168 的竖向卡片，≤900 才改底部横条。
   全屏后正文左缘在 100–120px（版式），168 宽的竖卡在任何桌面宽度都会压正文；
   桌面（≥901）统一改为底部居中的胶囊横条：不占正文左右，宽度只有 6 个标签那么宽，
   max-width 给左下 WhatsApp 气泡 / 右侧客服栏、回顶按钮各留 120px；页面底部补等高留白，避免盖住页脚最后一行。
   React 组件只切 .active 类，不依赖竖向布局；点击走 scrollIntoView，滚动高亮看 getBoundingClientRect，与布局无关。 */
@media (min-width: 901px) {
    html #voohu-about-root .sidebar {
        top: auto;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        width: auto;
        max-width: calc(100% - 240px);
        padding: 6px;
        border-radius: 999px;
        box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
        background: rgba(255, 255, 255, .96);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }
    html #voohu-about-root .sidebar .nav {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 2px;
        overflow-x: auto;
        scrollbar-width: none;
    }
    html #voohu-about-root .sidebar .nav-item {
        grid-template-columns: auto auto;
        gap: 6px;
        padding: 8px 14px;
        white-space: nowrap;
        border-radius: 999px;
    }
    html #voohu-about-root .sidebar .nav-item.active::before {
        display: none;
    }
    html #voohu-about-root .sidebar .nav-item.active {
        background: var(--ink, #1a1a1a);
        color: #fff;
    }
    html #voohu-about-root .sidebar .nav-item.active .num {
        color: #ff8a99;
    }
    html body:has(#voohu-about-root) {
        padding-bottom: 72px;
    }
}
/* 901–1279：英文标签整条约 830px，放不下时去掉序号、两侧只留 80px（WhatsApp 气泡 / 右侧竖条各约 60–70px），
   避免横条内部出现被裁掉一半的标签。 */
@media (min-width: 901px) and (max-width: 1279px) {
    html #voohu-about-root .sidebar {
        max-width: calc(100% - 160px);
    }
    html #voohu-about-root .sidebar .nav-item {
        padding: 8px 12px;
    }
    html #voohu-about-root .sidebar .nav-item .num {
        display: none;
    }
}

/* ===================================================================== §4 ele 回顶按钮（报告 M2） */
/* onekey.min.css:80 / nc.css:327：fixed、right:20px、bottom:15vh、50×50。1024–1439 时正文几乎贴到视口右缘，
   按钮落在行尾上；贴边并缩到 40×40（与右缘 Online Service 竖条同一列），只占最右 40px。
   ≥1440 两侧留白 ≥100，原位置不压正文，不动。cn 站 #gotoTop 被 vh-sidebar.css 隐藏，不受影响。 */
@media (min-width: 1024px) and (max-width: 1439px) {
    html #gotoTop {
        right: 0;
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 20px;
    }
}

/* ===================================================================== §5 ≥2048 zoom 分档 */
/* 档位：zoom = 档位下限宽 / 1920（向下取 6 位小数，保证版式宽 ≥ 1920），宽度每 128–320px 一档，
   16:9 / 16:10 屏任意宽度下内容列 1680 占屏 82%–87.5%（2560 → 1.333、3840 → 2，均为 87.5%）。
   同时要求视口高 ≥ 800 × zoom（min-height 向上取整），即版式可视高度不低于 800。
   800 相当于 13 寸 1440×900 笔记本的浏览器内高；全站已经按 1366×657、1536×730 这类真实视口做过适配，
   可视高度 800 时首页 hero（按 100svh 计算）、选型页吸顶表头都完整放得下。
   取舍：按高度封顶只影响带鱼屏和不满屏的宽窗口。
     3440×1440（浏览器内高约 1290）若按宽度放大到 1.75，可视高度只剩约 737 版式 px；封顶后取 1.6，
     版式 2150×806，内容占屏约 78%。
     2560×1080（内高约 950）取 1.133，内容占屏约 74%，不放大时约 66%。
     两侧多出的留白交给 §2 的目录栏等侧边元素。
   放大只在 html.vh-zoom-std 下生效（类由 static/js/vh-layout.js 添加，条件见文件头第 3 条）；
   --vh-z 跟着档位一起定义，供 §6 和各页面规则把 vw/vh、JS 写入的视口坐标换回版式 px（未放大时取默认值 1）。 */
@media (min-width: 2048px) and (min-height: 854px) { html.vh-zoom-std { zoom: 1.066666; --vh-z: 1.066666; } }
@media (min-width: 2176px) and (min-height: 907px) { html.vh-zoom-std { zoom: 1.133333; --vh-z: 1.133333; } }
@media (min-width: 2304px) and (min-height: 960px) { html.vh-zoom-std { zoom: 1.2; --vh-z: 1.2; } }
@media (min-width: 2432px) and (min-height: 1014px) { html.vh-zoom-std { zoom: 1.266666; --vh-z: 1.266666; } }
@media (min-width: 2560px) and (min-height: 1067px) { html.vh-zoom-std { zoom: 1.333333; --vh-z: 1.333333; } }
@media (min-width: 2720px) and (min-height: 1134px) { html.vh-zoom-std { zoom: 1.416666; --vh-z: 1.416666; } }
@media (min-width: 2880px) and (min-height: 1200px) { html.vh-zoom-std { zoom: 1.5; --vh-z: 1.5; } }
@media (min-width: 3072px) and (min-height: 1280px) { html.vh-zoom-std { zoom: 1.6; --vh-z: 1.6; } }
@media (min-width: 3200px) and (min-height: 1334px) { html.vh-zoom-std { zoom: 1.666666; --vh-z: 1.666666; } }
@media (min-width: 3360px) and (min-height: 1400px) { html.vh-zoom-std { zoom: 1.75; --vh-z: 1.75; } }
@media (min-width: 3520px) and (min-height: 1467px) { html.vh-zoom-std { zoom: 1.833333; --vh-z: 1.833333; } }
@media (min-width: 3680px) and (min-height: 1534px) { html.vh-zoom-std { zoom: 1.916666; --vh-z: 1.916666; } }
@media (min-width: 3840px) and (min-height: 1600px) { html.vh-zoom-std { zoom: 2; --vh-z: 2; } }
@media (min-width: 4096px) and (min-height: 1707px) { html.vh-zoom-std { zoom: 2.133333; --vh-z: 2.133333; } }
@media (min-width: 4352px) and (min-height: 1814px) { html.vh-zoom-std { zoom: 2.266666; --vh-z: 2.266666; } }
@media (min-width: 4608px) and (min-height: 1920px) { html.vh-zoom-std { zoom: 2.4; --vh-z: 2.4; } }
@media (min-width: 4864px) and (min-height: 2027px) { html.vh-zoom-std { zoom: 2.533333; --vh-z: 2.533333; } }
@media (min-width: 5120px) and (min-height: 2134px) { html.vh-zoom-std { zoom: 2.666666; --vh-z: 2.666666; } }
@media (min-width: 5760px) and (min-height: 2400px) { html.vh-zoom-std { zoom: 3; --vh-z: 3; } }
@media (min-width: 6400px) and (min-height: 2667px) { html.vh-zoom-std { zoom: 3.333333; --vh-z: 3.333333; } }
@media (min-width: 7680px) and (min-height: 3200px) { html.vh-zoom-std { zoom: 4; --vh-z: 4; } }

/* ===================================================================== §6 zoom 生效时的修正 */
/* 条件与 §5 第一档相同，再加 html.vh-zoom-std：任何一档生效时这里都生效，不放大时一条都不生效。
   Chrome 实测（html{zoom:2}，3840 视口；vh-layout.js 的探针保证只在同一语义的引擎里放大）：
   - 100vw / 100vh 按 3840 / 2160 计再乘 zoom → 渲染成 2 倍视口；用 calc(… / var(--vh-z)) 或 left/right:0 代替；
   - getBoundingClientRect / clientX / innerWidth / scrollY / $(window).width() 都是视口 px，
     而写回 style 的 px 按版式 px 解释、渲染时再乘 zoom。凡是"量视口 → 写 left/top/height"的脚本都会偏 zoom 倍：
     选型页表头吸顶与筛选浮层（写 CSS 变量，下面除以 --vh-z）、layer.js 弹层（下面改为 CSS 居中）、
     搜索页 / 产品列表页的行高同步（脚本自己除，见 v-search-table-sync.js / product-table-sync.js）；
   - 只用来滚动的坐标（jQuery offset()+scrollTop、scrollIntoView、IntersectionObserver）两边都是视口 px，不受影响；
   - 首页 3D iframe 内部视口 = 1920 版式、devicePixelRatio = zoom，画布按 2 倍像素渲染，不糊。 */
@media (min-width: 2048px) and (min-height: 854px) {
    /* --- layer.js 弹层（common/footer.html 全站加载；询盘 / 样品 / 联系表单的成功与校验提示都用它） --- */
    /* layer.js:272-283 用 $(window).width()/height()（视口 px）算居中位置，写进内联 left/top（版式 px），
       放大后弹层被推到右下角：4K 下 layer.alert 的"确定"按钮整个落到屏幕外，遮罩又盖住整页，用户只能刷新。
       全站只用 layer.msg / alert / load 三种，都是默认居中（offset:'auto'），这里直接按版式居中。
       translate 是独立属性，不会和 layer-anim 动画里的 transform 冲突；代价是放大档位下弹层标题栏拖不动。
       layer.tips 按目标元素定位，不在这里处理（全站没用到）。 */
    html.vh-zoom-std .layui-layer:not(.layui-layer-tips) {
        left: 50% !important;
        top: 50% !important;
        translate: -50% -50%;
    }

    /* --- 内页页眉旧下拉（nc.css:559/612/777）：fixed + 100vw / 100vh --- */
    html.vh-zoom-std .dbox .header .inner nav .nav-item {
        width: auto;
        max-height: calc(100vh / var(--vh-z) - 130px);
    }
    html.vh-zoom-std .dbox .header .inner nav .nav-item > .nav-box {
        max-height: calc(100vh / var(--vh-z) - 220px);
    }
    html.vh-zoom-std .dbox .allnav {
        width: auto;
    }
    /* onekey.min.css:38/42：下拉子菜单与语言切换的 vw 间距，按 1920 版式换成定值 */
    html.vh-zoom-std .header .inner nav ul li .child {
        left: -30.72px;
        padding: 10px 30.72px 15px;
    }
    html.vh-zoom-std .header .inner .language {
        margin-right: 28.8px;
    }
    /* onekey.min.css：语言下拉 max-height:80vh、页眉搜索层 padding:6vh 0、#search padding:8vh 0 6vh */
    html.vh-zoom-std .lang-none {
        max-height: calc(80vh / var(--vh-z));
    }
    html.vh-zoom-std .header .inner .index-search .content .s-content {
        padding: calc(6vh / var(--vh-z)) 0;
    }
    html.vh-zoom-std #search {
        padding: calc(8vh / var(--vh-z)) 0 calc(6vh / var(--vh-z));
    }

    /* --- 首页页眉与面板（home-*-exact-v80.css） --- */
    html.vh-zoom-std .site-header-utilities {
        right: 48.8px;
    }
    html.vh-zoom-std .site-all-menu,
    html.vh-zoom-std .site-mega-menu {
        max-height: calc(100vh / var(--vh-z) - 130px);
    }
    html.vh-zoom-std .hero-carousel {
        height: calc(100svh / var(--vh-z));
    }
    html.vh-zoom-std .capability-section {
        height: calc(100vh / var(--vh-z));
    }
    html.vh-zoom-std .capability-page {
        height: min(790px, calc(100vh / var(--vh-z) - 96px));
    }
    html.vh-zoom-std .vhd-inquiry-dialog,
    html.vh-zoom-std .vhd-newsletter-dialog {
        max-height: calc(100dvh / var(--vh-z) - 40px);
    }

    /* --- 回顶按钮 / 旧侧边询盘条（onekey.min.css:80、nc.css:2606）：bottom 用 vh --- */
    html.vh-zoom-std #gotoTop {
        bottom: calc(15vh / var(--vh-z));
    }
    html.vh-zoom-std .scrollsidebar {
        bottom: calc(30vh / var(--vh-z));
    }

    /* --- 询盘弹层、视频弹层、Cookie 面板：max-height 用 vh，放大后会超出屏幕、底部按钮点不到 --- */
    html.vh-zoom-std .inquiry-pop-bd .inquiry-pop .vh-inq-form {
        max-height: calc(100vh / var(--vh-z) - 220px);
    }
    html.vh-zoom-std .banner-video-modal__player,
    html.vh-zoom-std .banner-video-modal__iframe {
        max-height: calc(100vh / var(--vh-z) - 48px);
    }
    html.vh-zoom-std .vh-consent__panel {
        max-height: calc(100vh / var(--vh-z) - 32px);
    }

    /* --- 旧版 nc.css 组件：fixed 100vw / 100vh 遮罩、卡片内 vw 内边距（按 1920 版式换成定值） --- */
    html.vh-zoom-std .napcpro_m {
        width: auto;
        height: auto;
    }
    html.vh-zoom-std .dbox .nbanner .nbannersw img {
        height: calc(100vh / var(--vh-z));
    }
    html.vh-zoom-std .dbox .nap2 .nap2box .swiper-slide .nap2content {
        padding: 0 61.44px;
    }
    html.vh-zoom-std .in_aplications_ctest {
        padding: 0 99.84px;
    }
    html.vh-zoom-std .in_aplications_ctitle,
    html.vh-zoom-std .in_aplications_content {
        margin: 9.6px 0;
    }
    html.vh-zoom-std .in_aplications_ctest p {
        margin-top: 38.4px;
    }

    /* --- LAN 选型页（lan_selector_ssr.js）：JS 把视口 px 写进 CSS 变量 --- */
    /* updateHeaderOffset 写 --lan-header-height = 页眉 getBoundingClientRect().height（视口 px），表头吸顶 top 要换回版式 px；
       JS 未跑到时的兜底仍是版式 130px（先乘再除） */
    html.vh-zoom-std .cn-selector-sticky-dock {
        top: calc(var(--lan-header-height, calc(130px * var(--vh-z))) / var(--vh-z));
    }
    /* positionFilterPanel 写 --filter-left/top = 触发按钮的视口坐标，浮层 fixed 定位要换回版式 px */
    html.vh-zoom-std .cn-filter-panel.is-floating {
        top: calc(var(--filter-top) / var(--vh-z));
        left: calc(var(--filter-left) / var(--vh-z));
    }
    html.vh-zoom-std .cn-filter-panel {
        max-height: min(340px, calc(60vh / var(--vh-z)));
    }
    html.vh-zoom-std .lan-compare-dialog {
        max-height: calc(86vh / var(--vh-z));
    }

    /* --- 行业领域页右侧抽屉（application-preview-board.css:174，sticky + vh） --- */
    html.vh-zoom-std .vhap-drawer {
        max-height: min(880px, calc(100vh / var(--vh-z) - 162px));
    }

    /* --- 关于页：视频弹层 --- */
    html.vh-zoom-std .video-modal {
        padding: calc(4vw / var(--vh-z));
    }
    html.vh-zoom-std .video-modal-inner,
    html.vh-zoom-std .video-modal-inner video {
        max-height: calc(90vh / var(--vh-z));
    }

    /* --- 各模板内联 <style> / style="" 里的 vw/vh（模板不归本文件，放大档位在这里统一换算） --- */
    /* v_search.html:37 搜索条左缩进 10vw */
    html.vh-zoom-std .vsearch_top_search {
        margin-left: calc(10vw / var(--vh-z));
    }
    /* core_competencies.html 看大图 */
    html.vh-zoom-std .img-viewer-content,
    html.vh-zoom-std .img-viewer-content img {
        max-width: calc(90vw / var(--vh-z));
        max-height: calc(90vh / var(--vh-z));
    }
    /* work.html 通栏块、join.html 固定背景图 */
    html.vh-zoom-std .ahrce_c1 {
        width: calc(100vw / var(--vh-z));
    }
    html.vh-zoom-std .njbox > img {
        width: calc(100vw / var(--vh-z));
        height: calc(100vh / var(--vh-z));
    }
    /* about_all.html 旧版分支（?old=1）与 company_profile.html 图片列的内联 style="padding-right:5vw;"，
       内联样式只能用 !important 覆盖 */
    html.vh-zoom-std .acpc2 > [style*="padding-right:5vw"] {
        padding-right: calc(5vw / var(--vh-z)) !important;
    }
}
