/* ============================================================================
 * portal-r36a.css —— 官网前台移动端（H5）适配补丁（bug261021 第 7/8/9 条）
 * ----------------------------------------------------------------------------
 * 加载位置：partials/head.html 最后一行（在 portal.css / portal-extra.css /
 *          r29~r35 全部之后），所以同特异性下本文件后写者生效。
 *
 * 铁律：桌面端（>900px）视觉零变化。
 *   · 新增元素（.m-burger / .m-nav-mask / .m-drawer-hd / .m-cta-txt）在
 *     媒体查询外的规则只有「display:none」这类默认隐藏，不参与桌面布局；
 *   · 其余全部规则都写在 @media (max-width:900px) 里。
 *
 * 三个问题的根因（行号以改动前的仓库为准）：
 *   问题7 移动端大面积空白 / 页面无意义变长：
 *     - portal.css:469  @media(max-width:720px) 把 .grid--4 压成 1 列，
 *       首页「四大业务板块」4 张卡竖排，每张 379px（实测 390px 宽），
 *       该 section 实测高 1969px；
 *     - portal.css:193  .grid{display:grid;gap:22px} 没有 align-items，
 *       网格项默认 stretch → 同一行的短卡片被拉成与最高卡片等高，
 *       721~1180px（iPad 竖屏/窄窗口）就是「卡片很高、内容很少、下方一大片空白」；
 *     - portal.css:199  .card{padding:30px 26px}、portal.css:203 的
 *       .card__ico 52px + margin-bottom:20px、portal.css:212 的
 *       .card__more{margin-top:18px}、portal.css:150 的 .mt-xl{margin-top:64px}、
 *       portal.css:476 的 .section{padding:52px 0} —— 移动端一样没缩，
 *       一个区块光「空气」就有 104 + 64 = 168px。
 *   问题8 头部导航没适配：
 *     - portal.css:86   .nav__in{height:78px}（≤1180 又改成 height:auto +
 *       flex-wrap:wrap，见 portal.css:442-447），于是 390px 宽变成「品牌一行 +
 *       9 个入口横排（放不下、溢出被裁） + CTA 按钮掉第三行」；
 *     - portal.css:97   .nav__menu{flex-wrap:nowrap}，9 个入口在 390px 里横向溢出；
 *     - 没有抽屉/汉堡结构（header.html 里只有裸 <nav><ul>）。
 *   问题9 首屏轮播区：
 *     - portal.css:173  .hero__facts{display:flex;gap:40px;flex-wrap:wrap}：
 *       390px 下 4 个指标挤成「3 + 1」两行，右边第 4 项被裁；
 *     - portal.css:162  .hero__in{padding:88px 0 96px}（≤1180 是 64/72）——
 *       移动端上下留白过大，首屏看不到下一个模块；
 *     - portal-r32b.css:45  .pg-home .hero__dots{left:0;right:0;bottom:22px}
 *       加上 portal-r32b.css:250 的 bottom:14px：圆点贴底居中，正好落在右下角
 *       .fab（footer.html 内联 .fab，≤768px 变成右下角一排 48px 圆钮）上方，
 *       而且 9px 的圆点没有可用触摸面积。
 * ========================================================================== */

/* ---------------------------------------------------------------------------
 * 本次追加（bug261022 问题13 / 16 / 18）
 *   问题13-1 轮播指示器：原 1.5 节把 .hero__dots 左对齐（left:16px +
 *     justify-content:flex-start），选中点被拉成 26px 胶囊 → 与「规范等大圆点、
 *     选黄未灰、水平居中在轮播图正下方」相反，改为 8/10px 圆点 + center；
 *   问题13-2 hero 副标题 14.5→13.5px；CTA 两个按钮显式 48% + 4% 间距
 *     （原 flex:1 1 0 实占 48.6%，但 42px 高 / 14px 字整体偏大）；
 *   问题13-3 顶栏热线贴边：1.1 节把 .topbar__in 内边距写成 `padding:7px 0`，
 *     覆盖掉 .container 原有的左右内边距 → 左右补回 16px，与下方 header 对齐；
 *   问题18 抽屉头部：.m-drawer-hd 里的「全部导航」文字换成品牌 logo（header.html），
 *     新增 .m-drawer-brand/__img/__txt，图 404 时退化为品牌名文字。
 * ------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------
 * 0) 新增元素的桌面默认态：一律不显示、不占位（不影响 >900px 的现有页面）
 * ------------------------------------------------------------------------- */
.m-burger,
.m-nav-mask,
.m-drawer-hd {
  display: none;
}

/* ---------------------------------------------------------------------------
 * 1) 移动端（≤900px）
 * ------------------------------------------------------------------------- */
@media (max-width: 900px) {
  /* === 1.1 顶栏：原来是 3 行（portal.css:459 改成 column），压成 1 行 ======= */
  .site-top .topbar {
    font-size: 12px;
    letter-spacing: 0;
  }
  .site-top .topbar__in {
    height: auto;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 8px;
    /* 问题13-3：原来写 `padding:7px 0` 把 .container 的左右内边距清成 0，
       390px 下「服务热线 …」直接贴死视口左边。补回 16px，与 header .nav__in
       的 0 16px 同一条竖线。 */
    padding: 7px 16px;
    text-align: left;
  }
  .site-top .topbar__left,
  .site-top .topbar__right {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 10px;
    min-width: 0;
  }
  .site-top .topbar__right {
    justify-content: flex-end;
    flex: 0 0 auto;
  }
  .site-top .topbar__sep {
    display: none;
  }

  /* === 1.2 头部：56px 单行（品牌 | CTA | 汉堡），不再换行 ================= */
  .site-top header.nav {
    background: #fff;
  }
  /* 关键（bug261022 问题16 的第二个根因）：backdrop-filter 会让 header 成为
     position:fixed 子元素的包含块，抽屉 .nav__drawer 与遮罩 .m-nav-mask 都会被
     限制在 56px 高的头部盒子里。
     portal-r29a.css:61-62 给 `.site-top header.nav.is-scrolled` 加了
     `backdrop-filter: saturate(180%) blur(14px)`，特异性 (0,3,2) 压过本文件的
     `.site-top header.nav` (0,2,1)，所以只要页面滚动过（header 挂上 is-scrolled），
     毛玻璃就回来了。实测 390×844、scrollY=800、点汉堡：
       header 因「锁滚动写 html{overflow:hidden}」退回文档原位 y=-764.6，
       抽屉的包含块变成 header → 抽屉 rect y=-764.6（整块被甩到屏幕外，
       点开菜单看不到任何东西）。滚动到顶部时 header 没有 is-scrolled，
       毛玻璃不生效，所以原来只在「滚下去再点汉堡」时暴露。
     移动端 header 底色本来就是纯白（上面 background:#fff），毛玻璃没有意义，
     这里连 .is-scrolled 一起关掉，抽屉/遮罩才能相对视口定位。 */
  .site-top header.nav,
  .site-top header.nav.is-scrolled {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .site-top header.nav .nav__in {
    height: 56px;
    flex-wrap: nowrap;
    gap: 10px;
    /* 左右要保留 .container 的 16px 内边距：写成 padding:0 会让品牌贴死左边、
       汉堡按钮的圆角与描边正好压在视口右边缘被裁掉。 */
    padding: 0 16px;
  }
  .site-top .brand {
    min-width: 0;
    flex: 0 1 auto;
    gap: 8px;
    overflow: hidden;
    /* 兜底：品牌图缺失时浏览器按 alt 文本排版，文本可能比 logo 宽得多，
       不限宽会把 CTA 与汉堡挤到 8px 甚至换行。 */
    max-width: 46%;
  }
  .site-top .brand__text,
  .site-top .brand__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .site-top .brand__logo-img {
    max-height: 30px;
    width: auto;
  }
  .site-top .brand__mark {
    width: 32px;
    height: 32px;
    border-radius: 9px;
  }
  .site-top .brand__mark svg {
    width: 18px;
    height: 18px;
  }
  .site-top .brand__name {
    font-size: 16px;
    letter-spacing: 1px;
  }
  .site-top .brand__en {
    font-size: 8.5px;
    letter-spacing: 1.6px;
  }
  .site-top .nav__right {
    gap: 8px;
    flex: 0 0 auto;
  }
  /* CTA：与品牌同一行，绝不掉第二行 */
  .site-top .nav__right .btn.btn--sm {
    height: 36px;
    padding: 0 12px;
    gap: 5px;
    font-size: 13px;
    border-radius: 10px;
    white-space: nowrap;
  }
  .site-top .nav__right .btn.btn--sm .btn__ico {
    width: 14px;
    height: 14px;
  }

  /* 汉堡按钮 */
  .m-burger {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--line, #ECECEC);
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
    flex: 0 0 auto;
    -webkit-tap-highlight-color: transparent;
  }
  .m-burger span {
    display: block;
    width: 17px;
    height: 2px;
    border-radius: 2px;
    background: var(--navy-900, #2B2B2B);
    transition: transform 0.22s var(--ease, ease), opacity 0.18s var(--ease, ease);
  }
  .m-burger:active {
    background: var(--bg-navy-soft, #FFF6DC);
  }
  /* 抽屉打开时汉堡变成叉号（抽屉会盖住它，但保留视觉反馈） */
  body.m-nav-open .m-burger span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  body.m-nav-open .m-burger span:nth-child(2) {
    opacity: 0;
  }
  body.m-nav-open .m-burger span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  /* === 1.3 抽屉（复用 header.html 里原有的 <nav>，不复制一份导航数据）=== */
  .site-top header.nav .nav__drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(86vw, 340px);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    margin: 0;
    background: #fff;
    border-left: 1px solid var(--line, #ECECEC);
    box-shadow: -20px 0 44px rgba(40, 26, 8, 0.16);
    z-index: 1401;
    transform: translate3d(102%, 0, 0);
    visibility: hidden;
    transition: transform 0.3s var(--ease, cubic-bezier(0.4, 0, 0.2, 1)), visibility 0.3s;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0 0 calc(18px + env(safe-area-inset-bottom, 0px));
  }
  body.m-nav-open .site-top header.nav .nav__drawer {
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }

  /* 抽屉内标题栏（吸顶，滚动菜单时关闭按钮始终可见） */
  .site-top .m-drawer-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 11px 12px 11px 16px;
    background: #fff;
    border-bottom: 1px solid var(--line-soft, #F2F2F2);
  }
  /* 抽屉头部左侧（问题18）：原来是「全部导航」文字，现在放品牌 logo；
     logo 图 404 时 onerror 给 <a> 加 .is-logo-broken，退化成品牌名文字，
     不会出现破图占位 / alt 文本撑高头部。 */
  .site-top .m-drawer-brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    /* 右侧要给 38px 关闭按钮 + 12px 间距留位 */
    max-width: calc(100% - 56px);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  .site-top .m-drawer-brand__img {
    display: block;
    max-height: 26px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }
  .site-top .m-drawer-brand__txt {
    display: inline-block;
    /* 兜底文案是后台「品牌名」（当前 17 个字符），15px + 1.2px 字距在 390 宽会被
       省略号吃掉「公司」两字；14px 无字距后 390/360 都能整行放下，320 才截断。 */
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0;
    color: var(--navy-900, #2B2B2B);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* 有 img 时默认只显示图（模板里 img 在前、文字在后） */
  .site-top .m-drawer-brand__img ~ .m-drawer-brand__txt {
    display: none;
  }
  /* 图挂掉：藏图、显文字 */
  .site-top .m-drawer-brand.is-logo-broken .m-drawer-brand__img {
    display: none;
  }
  .site-top .m-drawer-brand.is-logo-broken .m-drawer-brand__txt {
    display: inline-block;
  }
  .m-drawer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--line, #ECECEC);
    border-radius: 10px;
    background: #fff;
    color: var(--navy-800, #4A3417);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .m-drawer-close svg {
    width: 18px;
    height: 18px;
  }
  .m-drawer-close:active {
    background: var(--bg-navy-soft, #FFF6DC);
  }

  /* 一级菜单：竖排，整行可点 */
  .site-top .nav__drawer .nav__menu {
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 8px 10px 4px;
  }
  .site-top .nav__drawer .nav__menu > li {
    width: 100%;
  }
  .site-top .nav__drawer .nav__menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px;
    border-radius: 10px;
    font-size: 15.5px;
    white-space: normal;
  }
  .site-top .nav__drawer .nav__menu > li > a.is-active {
    background: var(--bg-navy-soft, #FFF6DC);
    color: var(--navy-800, #4A3417);
  }
  /* 桌面用的金色小下划线在竖排里会错位，去掉 */
  .site-top .nav__drawer .nav__menu > li > a.is-active::after {
    display: none;
  }
  .site-top .nav__drawer .nav__caret {
    margin-left: auto;
    flex: 0 0 auto;
  }
  .site-top .nav__drawer .nav__item.has-sub.is-open > a .nav__caret {
    transform: rotate(180deg);
  }

  /* 二级菜单：抽屉里不走「绝对定位浮层」，改成行内展开（点开才占位） */
  .site-top header.nav .nav__drawer .nav__sub {
    position: static;
    top: auto;
    left: auto;
    width: auto;
    min-width: 0;
    max-width: none;
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: none;
    padding: 2px 0 8px 10px;
    margin: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  /* 鼠标桥在行内展开时没有意义，去掉（否则会盖住上面一行） */
  .site-top header.nav .nav__drawer .nav__sub::before {
    display: none;
  }
  .site-top header.nav .nav__drawer .nav__item.has-sub.is-open > .nav__sub {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    /* portal-r29a.css:131 的 .site-top .nav__item.has-sub.is-open .nav__sub（0,5,0）
       会给展开态补一条 transform:translateX(-50%)，行内展开时必须显式清掉，
       否则子项会被整体推到抽屉左边的可视区外。下面这条选择器是 (0,8,1)，压得住。 */
    transform: none;
    opacity: 1;
    visibility: visible;
  }
  .site-top header.nav .nav__drawer .nav__sub li a {
    padding: 10px 12px;
    border-radius: 9px;
    font-size: 14px;
    color: var(--ink-500, #6B6B6B);
  }
  /* r29a 的 hover 规则是 (0,4,2)，与上面这条同权重，靠后加载才能盖回来 */
  .site-top header.nav .nav__drawer .nav__sub li a:hover,
  .site-top header.nav .nav__drawer .nav__sub li a:focus-visible {
    background: var(--gold-50, #FFF9E6);
    color: var(--gold-600, #967000);
  }

  /* 遮罩：放在 header 内部（.nav__drawer 也是 header 的子元素），
     两者在同一个层叠上下文里，1400 < 1401 保证面板压在遮罩之上。 */
  .m-nav-mask {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1400;
    background: rgba(24, 16, 6, 0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
  }
  body.m-nav-open .m-nav-mask {
    opacity: 1;
    visibility: visible;
  }

  /* 打开抽屉时锁滚动 + 暂时藏掉右下角悬浮按钮（fab 的 z-index:1200 高于 header 的 900） */
  body.m-nav-open,
  html.m-nav-open {
    overflow: hidden;
  }
  body.m-nav-open .fab {
    display: none;
  }

  /* 吸顶头部变矮之后，锚点留白也跟着收一点（原来 128px 是按 38+78 算的） */
  :target {
    scroll-margin-top: 96px;
  }

  /* === 1.4 首页各区块：压缩「空气」，卡片改内容自适应高度 ================ */
  .pg-home .section {
    padding: 40px 0;
  }
  .pg-home .section--tight {
    padding: 32px 0;
  }
  .pg-home .mt-xl {
    margin-top: 26px;
  }
  .pg-home .section__head .lead {
    font-size: 14px;
    line-height: 1.7;
    margin-top: 10px;
  }

  /* 网格：align-items:start 是关键 —— 否则同一行的短卡片会被 stretch 拉高，
     卡片下方就出现「内容很少、空白很大」的假高度。 */
  .pg-home .grid {
    gap: 14px;
    align-items: start;
  }
  /* 「四大业务板块」4 张卡：1 列 → 2 列（2×2），页面长度砍掉约一半 */
  .pg-home .grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  /* 「服务企业类型」3 张卡：≤720 已经是 1 列，721~900 也统一成 1 列（内容少，2 列更挤） */
  .pg-home .grid--3.m-aud {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .pg-home .card {
    padding: 18px 16px;
    border-radius: 16px;
    min-height: 0;
    height: auto;
    align-self: start;
  }
  .pg-home .card:hover {
    transform: none;
    box-shadow: none;
  }
  .pg-home .card__ico {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    margin-bottom: 12px;
  }
  .pg-home .card__ico svg {
    width: 20px;
    height: 20px;
  }
  .pg-home .card h3 {
    font-size: 16.5px;
    line-height: 1.45;
  }
  .pg-home .card p {
    font-size: 13px;
    line-height: 1.65;
    margin-top: 7px;
  }
  .pg-home .card__list {
    margin-top: 10px;
    gap: 5px;
  }
  .pg-home .card__list li {
    font-size: 12.5px;
    padding-left: 14px;
    line-height: 1.55;
  }
  .pg-home .card__list li::before {
    top: 8px;
    width: 4px;
    height: 4px;
  }
  .pg-home .card__more {
    margin-top: 12px;
    font-size: 13px;
  }

  /* 核心资源数据条：≤720 原本被压成 1 列 4 行（portal.css:469），改回 2×2 */
  .pg-home .stat-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pg-home .stat-band__item {
    padding: 18px 14px;
  }
  .pg-home .stat-band__num {
    font-size: 26px;
  }
  .pg-home .stat-band__label {
    font-size: 12px;
    margin-top: 4px;
  }

  /* === 1.5 首屏 hero ===================================================== */
  .pg-home .hero__in {
    /* 只压上下（露出下一模块），左右仍用 .container 的 16px，
       否则 tag/h1 会贴死视口左边、CTA 两个按钮的右边框被裁在屏幕外。 */
    padding: 24px 16px 72px;
    gap: 0;
  }
  .pg-home .hero__tag {
    font-size: 11.5px;
    padding: 5px 11px;
  }
  .pg-home .hero h1 {
    font-size: 27px;
    line-height: 1.36;
    margin-top: 12px;
  }
  /* 副标题：限宽 + 缩小字号（问题13-2，18px → 13.5px），
     390px 下从 4 行压到 3 行，不再抢 h1 的视觉重量 */
  .pg-home .hero__sub {
    max-width: 26em;
    font-size: 13.5px;
    line-height: 1.68;
    margin-top: 10px;
  }
  /* 两个按钮各占 48% 宽，中间留 4%（390px 下 ≈14.3px）；整体比原来矮 2px、
     字号小 0.5px，避免「按钮比标题还抢眼、贴着容器边」的观感 */
  .pg-home .hero__cta {
    margin-top: 16px;
    gap: 4%;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .pg-home .hero__cta .btn {
    height: 40px;
    padding: 0 8px;
    font-size: 13.5px;
    border-radius: 9px;
    flex: 0 0 48%;
    width: 48%;
    max-width: 48%;
    min-width: 0;
    justify-content: center;
  }
  .pg-home .hero__cta .btn__ico {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
  }

  /* 四个数据指标：flex 3+1 行 → 2×2 网格，数字与文字上下居中 */
  .pg-home .hero__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 10px;
    margin-top: 20px;
    padding-top: 18px;
    text-align: center;
  }
  .pg-home .hero__facts > div {
    min-width: 0;
    text-align: center;
  }
  .pg-home .fact__num {
    font-size: 25px;
    line-height: 1.15;
  }
  .pg-home .fact__num i {
    font-size: 14px;
  }
  .pg-home .fact__label {
    font-size: 12px;
    line-height: 1.4;
    margin-top: 3px;
    letter-spacing: 0;
  }

  /* 轮播圆点（问题13-1）：规范等大圆点 + 水平居中，落在轮播图正下方。
     桌面 r32b 的 .hero__dot 是 9px 白点、选中拉长成 26px 胶囊；移动端这里
     把宽高锁成 8px（选中 10px）、去掉胶囊与白色描边，选中金色、未选中灰色，
     并用 justify-content:center 让圆点组中心与视口中心重合（390px 偏差 <2px）。 */
  .pg-home .hero__dots {
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    justify-content: center;
    gap: 10px;
    z-index: 4;
  }
  .pg-home .hero__dot {
    position: relative;
    width: 8px;
    height: 8px;
    padding: 0;
    flex: 0 0 auto;
    border: 0;
    border-radius: 50%;
    background: #9B9B9B;
    box-shadow: none;
  }
  .pg-home .hero__dot:hover,
  .pg-home .hero__dot:focus-visible {
    background: #C6C6C6;
    border-color: transparent;
  }
  /* 选中：金色 + 稍微放大（10px），仍然是一个正圆 */
  .pg-home .hero__dot.is-active {
    width: 10px;
    height: 10px;
    background: var(--gold-500, #FAC100);
    border-color: var(--gold-500, #FAC100);
    box-shadow: 0 0 10px rgba(250, 193, 0, .55);
  }
  /* 视觉仍是小圆点，命中区放大到约 40×40（手指可点） */
  .pg-home .hero__dot::after {
    content: "";
    position: absolute;
    inset: -15px -14px;
    border-radius: 999px;
  }

  /* === 1.6 底部安全距离 ================================================== */
  /* .fab 是 fixed，页面滚到底时会压在页脚右侧；给页脚补出这一条，内容不被盖 */
  .footer {
    padding-bottom: calc(86px + env(safe-area-inset-bottom, 0px));
  }
}

/* ---------------------------------------------------------------------------
 * 2) 超窄屏（≤359px）：CTA 只留图标，保证「品牌 + CTA + 汉堡」挤在一行。
 *    390/360 这类主流宽度仍然显示「免费企业诊断」文字（实测 360px 下
 *    品牌 110 + 按钮 112 + 汉堡 40 + 间距 20 = 282 < 328 可用宽）。
 * ------------------------------------------------------------------------- */
@media (max-width: 359px) {
  .site-top .nav__right .btn.btn--sm .m-cta-txt {
    display: none;
  }
  .site-top .nav__right .btn.btn--sm {
    width: 36px;
    padding: 0;
    justify-content: center;
  }
  .site-top .nav__right .btn.btn--sm .btn__ico {
    width: 17px;
    height: 17px;
  }
  .pg-home .hero h1 {
    font-size: 25px;
  }
  .pg-home .card {
    padding: 16px 14px;
  }
}

/* ---------------------------------------------------------------------------
 * 3) 顶栏营销文案：≤620px 让位给热线/留言/招聘（都是链接，营销字样不是入口）
 * ------------------------------------------------------------------------- */
@media (max-width: 620px) {
  .site-top .topbar__left {
    display: none;
  }
}

/* ---------------------------------------------------------------------------
 * 4) 尊重「减少动态效果」偏好：抽屉不做位移动画
 * ------------------------------------------------------------------------- */
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  .site-top header.nav .nav__drawer,
  .m-nav-mask,
  .m-burger span {
    transition: none;
  }
}
