/* ================================================================
   博如纪官网
   非交互式企业展示网站：无注册登录、无表单提交、无评论留言
   首屏 100vh 锁定（无页面级滚动条，内容区内部滚动）
   Banner 25vh + 左导航 + 右内容 + 双语工具栏
   ================================================================ */

:root {
  --navy:  #1a3a5c;
  --gold:  #c9a45c;
  --gold-deep: #a9823a;
  --gray-bg: #f5f5f7;
  --gray-line: #e5e5e8;
  --gray-text: #555;
  --sidebar-w: 200px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

/* 整页锁定一屏：浏览器主滚动条始终不出现，滚动发生在内容区内部 */
html, body {
  height: 100%;
  overflow: hidden;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
               "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  color: #222;
  background: #fff;
  line-height: 1.7;
  display: flex;
  flex-direction: column;
}

img { display: block; max-width: 100%; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

/* <picture> 本身不产生盒子，避免多套一层影响既有选择器与布局 */
picture { display: contents; }

/* ============ 中英文切换 ============ */
body.lang-zh .en { display: none; }
body.lang-en .zh { display: none; }

/* ============ 顶部 Banner：宽100% × 高25vh ============ */
.site-banner {
  position: relative;
  flex: 0 0 25vh;
  width: 100%;
  height: 25vh;
  overflow: hidden;
  background: #e9edf2;
  
}

/* picture 只作 <source> 的容器，本身不参与布局（避免在 flex 布局中成为多余的一层） */
.site-banner > picture { display: contents; }

/* PC / 手机 banner 默认互斥：手机图在宽屏下必须隐藏，
   否则两张图会纵向叠加并被 overflow:hidden 裁切。
   （手机端的互换规则见文末 @media (max-width: 768px)） */
.mobile-banner { display: none; }

/* PC 端 banner：左右必须铺满整屏。
   用 object-fit: cover —— 图片等比放大到「宽高都覆盖容器」，多出来的部分裁掉。
   图片是 7.71:1 的超宽比例（4096×531），超宽屏/21:9 下容器更宽，
   若用 contain 会等比缩到整图可见 → 左右两侧露出背景，即所见空白。
   cover 改为以高度换取宽度，左右不再留白，纵向按 25vh 居中裁切。
   主体（logo 与中英文公司名）已实测可完整保留。 */
.site-banner img {
  width: 100%;
  height: 100%;        /* 必须撑满容器高度，object-fit 才有确定的盒子可裁切 */
  object-fit: cover;
  object-position: center;
}

/* ---- 右上角工具栏：仅语言切换 ---- */
.banner-toolbar {
  position: absolute;
  top: 12px;
  right: 18px;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
}

.tool-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: #fff;
  background: rgba(26, 58, 92, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: background 0.2s, color 0.2s;
}

.tool-btn svg { width: 15px; height: 15px; }

.tool-btn:hover {
  background: var(--navy);
  border-color: var(--gold);
  color: #f3e6c8;
}

/* ---- 搜索框已移除：本站为非交互式展示网站，不设任何输入功能 ---- */

/* ---- 右下角：统一社会信用代码 ---- */
.credit-code {
  position: absolute;
  right: 18px;
  bottom: 10px;
  z-index: 5;
  padding: 4px 12px;
  font-size: 12px;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(0, 0, 0, 0.35);
  border-radius: 4px;
}

/* ============ 下方主体：弹性占满 banner 与页脚之间的剩余空间，Flex 左右两栏 ============ */
.layout {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: stretch;
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
}

/* ---- 左侧导航 ---- */
.sidebar {
  flex: 0 0 var(--sidebar-w);
  height: 100%;
  overflow: hidden;
}

.side-nav {
  height: 100%;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--gray-line);
}

.nav-item {
  padding: 18px 24px;
  text-align: left;
  font-size: 15px;
  letter-spacing: 0.05em;
  color: var(--gray-text);
  border-bottom: 1px solid var(--gray-line);
  border-left: 3px solid transparent;
  transition: color 0.2s, background 0.2s, border-color 0.2s;
}

.nav-item:hover {
  color: var(--navy);
  background: var(--gray-bg);
}

.nav-item.active {
  color: var(--navy);
  font-weight: 600;
  background: var(--gray-bg);
  border-left-color: var(--gold);
}

/* ---- 右侧内容区（页面滚动只发生在这里） ---- */
.content {
  flex: 1;
  min-width: 0;
  height: 100%;
  overflow-y: auto;
  padding: 32px;
}

/* ============ 页脚 ============ */
.site-footer {
  flex: 0 0 auto;
  background: var(--navy);
  color: rgba(255, 255, 255, 0.82);
  font-size: 12.5px;
  letter-spacing: 0.03em;
}

.footer-row {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  /* 两行内容整体居中 */
  justify-content: center;
}

/* 居中后略向右微调。
   做法：左右内边距不对称（左 > 右），把内容整体推离正中线一点点。
   比用 transform 位移更稳，换行或窄屏时不会跑偏。 */
.footer-top {
  gap: 14px;
  padding: 9px 8px 4px 56px;
  flex-wrap: wrap;
}

/* 页脚项：「关于我们」是站内跳转链接；「信息纠错」为纯文字（不可点击） */
.footer-link {
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  transition: color 0.2s;
}

a.footer-link { cursor: pointer; }
a.footer-link:hover { color: var(--gold); }

span.footer-link { cursor: default; }

.footer-sep {
  font-style: normal;
  color: rgba(255, 255, 255, 0.28);
  font-size: 11px;
}

.footer-copy { color: rgba(255, 255, 255, 0.6); }

.footer-beian {
  gap: 26px;
  padding: 4px 10px 9px 58px;
  flex-wrap: wrap;
}

/* 页脚备案信息：ICP备案号与公安备案号均为依法公示的可点击链接 */
.beian-police,
.beian-icp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.66);
  text-decoration: none;
  cursor: pointer;
}

a.beian-icp:hover,
a.beian-police:hover { color: var(--gold); }
.beian-police:hover { color: var(--gold); }

.police-badge-img {
  width: 18px;
  height: 18px;
  flex: none;
  object-fit: contain;
  border-radius: 2px;
}

/* 面板切换：默认隐藏，active 显示 */
.panel { display: none; }
.panel.active { display: block; }

/* 首页为空面板 */
.panel-home { min-height: 100%; }

/* ---- 首页：左（形象图+欢迎语）｜右（商标+公司全称）---- */
.home-hero {
  min-height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
  /* 垂直居中；safe 保证内容超高时从顶部开始而不是被裁掉 */
  align-content: safe center;
  align-items: center;
  gap: 48px;
  max-width: 1040px;
  margin: 0 auto;
  padding: 32px 8px;
}

.home-left {
  min-width: 0;
  text-align: center;
}

/* 右栏：商标与公司全称 */
.home-logo {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  /* 竖分隔线：用左侧边框弱化呈现，比单独一条 div 更省事 */
  border-left: 1px solid var(--gray-line);
  padding-left: 48px;
}

.home-logo-img {
  height: clamp(120px, 15vh, 190px);
  width: auto;
  max-width: 100%;
  margin-bottom: 18px;
}

.home-logo-name {
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.5;
  color: var(--navy);
}

.home-logo-name .en {
  display: block;
  margin-top: 4px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.78em;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.02em;
  color: var(--gray-text);
}

.home-logo-line {
  width: 44px;
  height: 2px;
  margin: 16px 0 14px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.home-logo-tag {
  font-size: 12.5px;
  letter-spacing: 0.1em;
  color: var(--gold-deep);
}

.home-figure {
  margin: 0 0 22px;
}

.home-figure img {
  width: min(380px, 100%);
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--gray-line);
  box-shadow: 0 10px 30px rgba(26, 58, 92, 0.10);
}

.home-eyebrow {
  font-size: clamp(12px, 1.4vw, 14px);
  letter-spacing: 0.35em;
  text-indent: 0.35em;
  color: var(--gold-deep);
  font-weight: 600;
}

.home-divider {
  width: 56px;
  height: 2px;
  margin: 18px auto;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.home-title {
  font-size: clamp(24px, 2.9vw, 36px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.06em;
  color: var(--navy);
  margin-bottom: 22px;
}

.home-desc {
  max-width: 560px;
  margin: 0 auto;
  font-size: clamp(13px, 1.35vw, 15px);
  line-height: 1.95;
  color: var(--gray-text);
}

.home-desc .en {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  letter-spacing: 0.01em;
}

/* ============ 通用面板标题 ============ */
.panel-title {
  position: relative;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--navy);
  padding-left: 14px;
  margin-bottom: 28px;
}

.panel-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 20px;
  border-radius: 2px;
  background: var(--gold);
}

/* ============ 公司简介：左图 + 右文字 ============ */
.about-wrap {
  display: flex;
  gap: 32px;
  align-items: flex-start;   /* 左图列较高，顶部对齐 */
}

.about-img {
  flex: 1 1 45%;
  min-width: 0;
  display: flex;
}

/* 左栏：四张等大图片纵向排列，间距随页面大小自适应 */
.about-gallery {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.8vw, 28px);
}

.about-gallery img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--gray-line);
  box-shadow: 0 10px 30px rgba(26, 58, 92, 0.10);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.about-gallery img:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(26, 58, 92, 0.18);
}

.about-text {
  flex: 1 1 55%;
  min-width: 0;
  padding: 28px 30px;
  font-size: 15px;
  color: var(--gray-text);
  background: var(--gray-bg);
  border-radius: 8px;
  border-left: 3px solid var(--gold);
}

.about-name {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--navy);
  margin-bottom: 14px;
}

.about-inner p {
  line-height: 1.95;
  text-align: justify;
}

.about-inner p + p { margin-top: 12px; }

.about-inner strong { color: var(--gold-deep); font-weight: 600; }

.about-inner .en {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
}

.about-values {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
  margin-top: 18px;
}

.about-values li {
  padding: 6px 18px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--navy);
  background: #fff;
  border: 1px solid rgba(201, 164, 92, 0.55);
  border-radius: 999px;
}

/* ============ 公司业务：卡片网格 ============ */
.biz-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);   /* 四个大项目：2×2 大卡片 */
  gap: 28px;
}

.biz-card {
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.biz-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(26, 58, 92, 0.1);
}

/* 业务卡片配图：现在是 SVG 矢量图标（自带深蓝底），
   cover 让图标铺满整块区域，不留白边；图标主体居中且四周留白充足，不会被裁到。 */
.biz-img img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
}

.biz-body { padding: 20px; }

.biz-body h3 {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #222;
  margin-bottom: 8px;
}

.biz-body p {
  font-size: 14px;
  color: var(--gray-text);
}

/* ---- 业务卡片上的「查看详情」入口 ---- */
.biz-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--gold-deep);
  transition: color 0.2s, gap 0.2s;
}

.biz-more:hover { color: var(--navy); gap: 10px; }

/* ================================================================
   科技研发详情页（只读展示）
   层级：一级栏目 → 子栏目 → 专利类别 → 字段行
   本页无任何输入控件，内容来自 data/rd-content.json
   ================================================================ */

/* ---- 返回入口 ---- */
.rd-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 16px;
  padding: 6px 14px 6px 10px;
  font-size: 13.5px;
  color: var(--gray-text);
  background: var(--gray-bg);
  border: 1px solid var(--gray-line);
  border-radius: 999px;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}

.rd-back:hover {
  color: var(--navy);
  background: #fff;
  border-color: var(--gold);
}

/* JS 未执行时的提示 */
.rd-noscript {
  padding: 16px;
  font-size: 14px;
  color: var(--gray-text);
  background: var(--gray-bg);
  border-radius: 8px;
}

/* ---- 一级栏目 ---- */
.rd-block {
  margin-bottom: 22px;
  padding: 24px 26px 26px;
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: 10px;
}

.rd-h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--navy);
  padding-bottom: 12px;
  border-bottom: 1px solid var(--gray-line);
}

/* 序号徽标 01 / 02 / 03 / 04 */
.rd-idx {
  flex: none;
  padding: 2px 9px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  background: var(--navy);
  border-radius: 4px;
}

/* ---- 子栏目（专利 / 认证 / 新产品证书 等）---- */
.rd-sub {
  margin-top: 20px;
  padding: 18px 20px 20px;
  background: var(--gray-bg);
  border-left: 3px solid var(--gold);
  border-radius: 8px;
}

.rd-h4 {
  font-size: 15.5px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--navy);
  margin-bottom: 12px;
}

/* ---- 专利类别（发明专利 / 实用新型专利 / 外观专利）---- */
.rd-patent {
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: 8px;
}

.rd-patent + .rd-patent { margin-top: 12px; }

.rd-patent-name {
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #222;
  border-bottom: 1px solid var(--gray-line);
}

.rd-patent-body { padding: 0 16px 16px; }

/* ---- 字段行：左标签 + 右值 ---- */
.rd-row {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 16px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px dashed var(--gray-line);
}

.rd-row:last-child { border-bottom: none; }

.rd-label {
  font-size: 13.5px;
  font-weight: 600;
  color: #444;
  padding-top: 2px;
}

.rd-value {
  font-size: 14.5px;
  color: #222;
  line-height: 1.7;
  word-break: break-word;
}

/* 空值占位符：淡色破折号 / 待填写 / 待上传 */
.rd-empty {
  font-size: 14px;
  color: #b0b0b8;
  letter-spacing: 0.04em;
}

/* ---- 图片区 ---- */
.rd-media {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rd-media-empty {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  min-height: 46px;
  padding: 10px 16px;
  font-size: 13px;
  color: #b0b0b8;
  background: #fafafb;
  border: 1px dashed #d8d8de;
  border-radius: 6px;
}

/* 图片缩略图：不定死方形，而是「限宽 + 限高」，完整显示不裁切。
   专利证书、附图多为竖版长图，用方形会裁掉上下内容。 */
.rd-media-item {
  display: block;
  max-width: 132px;
  overflow: hidden;
  border: 1px solid var(--gray-line);
  border-radius: 6px;
  background: var(--gray-bg);
  transition: border-color 0.2s, transform 0.2s;
}

.rd-media-item:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
}

.rd-media-item img {
  display: block;
  max-width: 100%;
  max-height: 200px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* ============ 通用图片占位框（图片加载失败时显示灰底提示，不出现裂图图标） ============ */
.ph-box {
  position: relative;
  height: 260px;
  border-radius: 8px;
  background: #ededf0;
  border: 1px dashed #cfcfd6;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ph-box span {
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #9a9aa2;
  text-align: center;
  padding: 0 12px;
}

.ph-box img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
}

/* ============ 商业合作 ============ */
.coop-banner {
  margin-bottom: 28px;
}

/* ============ 联系我们：顶部横幅正式图 ============ */
.contact-hero {
  height: 260px;
  margin-bottom: 28px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--gray-line);
}

.contact-hero img,
.contact-hero picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  display: block;
}

/* 宽屏下上下裁切较多，取景上移以保留画面中上部的握手主体 */
.coop-banner img,
.coop-banner picture img {
  object-position: center 32%;
}

.coop-policy {
  background: var(--gray-bg);
  border-left: 3px solid var(--gold);
  border-radius: 8px;
  padding: 28px;
}

.coop-desc {
  font-size: 15px;
  color: var(--gray-text);
  margin-bottom: 18px;
}

.coop-types {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 24px;
  list-style: none;
}

.coop-types li {
  position: relative;
  padding-left: 18px;
  font-size: 15px;
  color: #222;
}

.coop-types li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
}

/* ---- 洽谈合作联系方式（联系方式统一展示在「商业合作」栏目内）---- */
.coop-contact {
  margin-top: 32px;
  padding: 26px 28px 22px;
  background: var(--gray-bg);
  border-left: 3px solid var(--gold);
  border-radius: 8px;
}

.coop-contact-title {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--navy);
  margin-bottom: 10px;
}

.coop-contact-note {
  margin-bottom: 16px;
  font-size: 13px;
  line-height: 1.75;
  color: var(--gray-text);
}

/* ---- 联系人列表（纯文字展示：不可点击、无手型光标、无悬停变色）---- */
.contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.contact-list > li {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 13px 0;
  border-bottom: 1px dashed rgba(26, 58, 92, 0.16);
}

.contact-list > li:last-child { border-bottom: none; }

.cc-person {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-top: 1px;
}

.cc-role {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--navy);
}

.cc-name {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--gold-deep);
  text-transform: uppercase;
}

.cc-items {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.cc-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #333;
  cursor: default;
  user-select: text;
}

.cc-item svg {
  flex: none;
  width: 16px;
  height: 16px;
  color: var(--gold-deep);
  opacity: 0.9;
}

.cc-value {
  word-break: break-all;
  letter-spacing: 0.01em;
}

/* 总经理（第一项）的电话与邮箱加强显示 */
.contact-list > li:first-child .cc-value {
  font-weight: 600;
  color: var(--navy);
  letter-spacing: 0.04em;
}

/* ============ 人才招聘 ============ */
.jobs-intro {
  padding: 18px 22px;
  margin-bottom: 22px;
  font-size: 14px;
  line-height: 1.9;
  color: var(--gray-text);
  background: var(--gray-bg);
  border-left: 3px solid var(--gold);
  border-radius: 8px;
}

.job-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.job-card {
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: 10px;
  overflow: hidden;
}

.job-head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 15px 20px;
  background: #fbfbfd;
  border-bottom: 1px solid var(--gray-line);
}

.job-head h3 {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--navy);
}

.job-count {
  margin-left: auto;
  padding: 3px 13px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--gold-deep);
  background: rgba(201, 164, 92, 0.14);
  border: 1px solid rgba(201, 164, 92, 0.5);
  border-radius: 999px;
  white-space: nowrap;
}

.job-body { padding: 18px 20px 20px; }

.job-fields { margin: 0; }

.job-fields dt {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--navy);
  padding-left: 12px;
  position: relative;
  margin-bottom: 6px;
}

.job-fields dt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 14px;
  border-radius: 2px;
  background: var(--gold);
}

.job-fields dd {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.9;
  color: var(--gray-text);
  text-align: justify;
}

.job-fields dd:last-child { margin-bottom: 0; }

.jobs-contact {
  margin-top: 26px;
  padding: 22px 24px 18px;
  background: var(--gray-bg);
  border-left: 3px solid var(--gold);
  border-radius: 8px;
}

.jobs-contact h3 {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--navy);
  margin-bottom: 10px;
}

.jobs-contact .coop-contact-note { margin-bottom: 0; margin-top: 14px; }

/* ============ 法律声明 ============ */
.legal-block {
  margin-bottom: 20px;
  padding: 22px 26px 18px;
  background: #fff;
  border: 1px solid var(--gray-line);
  border-radius: 10px;
}

.legal-block h3 {
  font-size: 16.5px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--navy);
  padding-bottom: 11px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--gray-line);
}

.legal-block p {
  font-size: 14px;
  line-height: 1.95;
  color: var(--gray-text);
  text-align: justify;
  margin-bottom: 12px;
}

.legal-block p:last-child { margin-bottom: 0; }

.legal-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}

.legal-list li {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 10px 0;
  border-bottom: 1px dashed var(--gray-line);
  font-size: 14px;
}

.legal-list li:last-child { border-bottom: none; }

.legal-list span {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--navy);
}

.legal-list em {
  font-style: normal;
  color: var(--gray-text);
  word-break: break-all;
}

/* 公司与法律主体信息：中英文值分别按当前语言显示 */
.legal-list em .zh,
.legal-list em .en {
  font-style: normal;
  font-weight: 400;
  color: var(--gray-text);
}

/* ============ 平板 ============ */
@media (max-width: 900px) {
  .about-wrap { gap: 20px; }
  .about-text { padding: 22px; font-size: 15px; }

  /* 业务卡片：3 列变 2 列 */
  .biz-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============ 手机端 ============ */
@media (max-width: 768px) {
  /* Banner 工具栏紧凑化 */
  .banner-toolbar {
    top: 8px;
    right: 8px;
    gap: 6px;
  }

  .tool-btn {
    padding: 6px 10px;
    font-size: 12px;
  }

  .tool-btn svg { width: 13px; height: 13px; }

  .credit-code {
    right: 10px;
    bottom: 6px;
    font-size: 10px;
    padding: 3px 8px;
  }

  /* 手机端解锁"一屏锁定"：恢复自然纵向滚动，
     并在 html/body 双层禁止横向平移，杜绝整页左右滑动 */
  html, body {
    height: auto;
    overflow: hidden visible;   /* x 隐藏 / y 自然滚动 */
    -webkit-overflow-scrolling: touch;
  }

  .layout {
    height: auto;
    flex-direction: column;
  }

  .sidebar {
    flex: none;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  .side-nav {
    height: auto;
    flex-direction: row;
    border-right: none;
    border-bottom: 1px solid var(--gray-line);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .side-nav::-webkit-scrollbar { display: none; }

  .nav-item {
    flex: none;
    padding: 12px 18px;
    font-size: 14px;
    white-space: nowrap;
    border-bottom: none;
    border-left: none;
    border-bottom: 3px solid transparent;
  }

  .nav-item.active {
    border-left-color: transparent;
    border-bottom-color: var(--gold);
  }

  /* 内容区随内容自然撑高，整页纵向滚动（不再内部滚动） */
  .content {
    flex: none;
    min-height: 0;
    height: auto;
    overflow: visible;
    padding: 20px 16px;
  }

  /* 首页：改上下排列 —— 形象图与欢迎语在上，商标与公司全称在下 */
  .home-hero {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 20px 4px;
  }
  .home-logo {
    border-left: none;
    padding-left: 0;
    padding-top: 26px;
    /* 手机端分隔线改为横线，弱化处理 */
    border-top: 1px solid var(--gray-line);
  }
  .home-logo-img { height: 130px; margin-bottom: 14px; }
  .home-figure { margin: 0 0 18px; }
  .home-figure img { width: 100%; }

  /* 公司简介改为上图下文，图片间距由 clamp 随屏宽自适应 */
  .about-wrap { flex-direction: column; }

  .about-text { font-size: 15px; }

  /* 业务卡片：单列 */
  .biz-grid { grid-template-columns: 1fr; }

  .biz-img img { height: 200px; }

  /* 科技研发详情（只读）：收窄内边距，字段标签与值纵向排列 */
  .rd-block { padding: 18px 16px 20px; }
  .rd-sub { padding: 14px 14px 16px; }
  .rd-patent-name { padding: 11px 13px; font-size: 14.5px; }
  .rd-patent-body { padding: 0 13px 14px; }
  .rd-row { grid-template-columns: 1fr; gap: 4px; }
  .rd-row > .rd-label { padding-top: 0; }
  .rd-media-item { max-width: 104px; }
  .rd-media-item img { max-height: 150px; }

  /* 合作类型单列 */
  .coop-types { grid-template-columns: 1fr; }
  .coop-policy { padding: 22px; }

  /* 占位/横幅图片降高 */
  .ph-box { height: 180px; }
  .contact-hero { height: 180px; margin-bottom: 20px; }

  /* 合作洽谈联系方式：改为单列，工整好读 */
  .coop-contact { padding: 20px 16px 16px; }
  .contact-list > li { grid-template-columns: 1fr; gap: 7px; padding: 12px 0; }
  .cc-person { flex-direction: row; align-items: baseline; gap: 8px; }
  .cc-item { font-size: 14.5px; }
  .cc-value { font-size: 13.5px; }

  /* 人才招聘：收窄内边距，岗位卡片纵向堆叠 */
  .jobs-intro { padding: 15px 16px; font-size: 13.5px; }
  .job-head { padding: 13px 16px; }
  .job-head h3 { font-size: 16px; }
  .job-body { padding: 15px 16px 17px; }
  .job-fields dd { font-size: 13.5px; line-height: 1.85; }
  .jobs-contact { padding: 18px 16px 15px; }

  /* 法律声明：收窄内边距，信息表改为纵向 */
  .legal-block { padding: 18px 16px 15px; }
  .legal-block h3 { font-size: 15.5px; }
  .legal-block p { font-size: 13.5px; line-height: 1.9; }
  .legal-list li { grid-template-columns: 1fr; gap: 3px; padding: 9px 0; }

  /* 页脚紧凑化，两行内容可换行居中 */
  .site-footer { font-size: 11.5px; }
  /* 手机端：取消桌面端的右移偏移，改为完全居中、对称留白 */
  .footer-top {
    gap: 8px 10px;
    padding: 9px 14px 5px;
    justify-content: center;
  }
  .footer-beian {
    gap: 8px 18px;
    padding: 5px 14px 10px;
    justify-content: center;
  }
  .police-badge-img { width: 16px; height: 16px; }
}
@media (max-width: 768px) {
  .site-banner {
    flex: none;        /* 解除桌面端 25vh 的 flex 约束，高度完全由图片撑开，消除图片下方空白 */
    height: auto; /* 高度由图片自然撑开 */
    min-height: auto; /* 取消最小高度限制 */
    background: none; /* 彻底去掉深色背景 */
  }
  .pc-banner { display: none; }
  /* 必须显式设回 block：基础样式中 .mobile-banner 为 display:none */
  .mobile-banner {
    display: block;
    width: 100%;
    height: auto; /* 图片按原比例自适应 */
  }
  /* 手机版 banner 左下角显示统一社会信用代码 */
  .credit-code {
    display: block;
    left: 8px;
    right: auto;
    bottom: 6px;
    font-size: 10px;
    padding: 3px 8px;
  }
}