/* ============================================================
   generic-26 · 通用型企业子站模板（GEO 规范版）
   类前缀：bn-   原型：F 卡片墙 / Bento 便当格
   签名：炭黑 #17181C / 奶油 #F5F1E8 / 薄荷 #9AE6B4 / 灰卡 #2A2C31
        无衬线 / 16px 圆角 / 细边框 rgba(255,255,255,.1) / 非对称跨格 / 编号角标
   ============================================================ */

/* ---------- 设计令牌 ---------- */
.bn-body {
  --bn-bg: #17181C;
  --bn-bg-2: #1C1D22;
  --bn-card: #2A2C31;
  --bn-card-2: #222429;
  --bn-cream: #F5F1E8;
  --bn-mint: #9AE6B4;
  --bn-mint-deep: #6FD393;
  --bn-ink: #17181C;
  --bn-muted: #A8A8A4;
  --bn-muted-2: #85858A;
  --bn-line: rgba(255, 255, 255, .1);
  --bn-line-strong: rgba(255, 255, 255, .18);
  --bn-r: 16px;
  --bn-r-sm: 10px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
.bn-body {
  font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  color: var(--bn-cream);
  background: var(--bn-bg);
  line-height: 1.78;
  -webkit-font-smoothing: antialiased;
}
.bn-body img { max-width: 100%; height: auto; border: 0; }
.bn-body a { color: inherit; text-decoration: none; }
.bn-body ul { list-style: none; margin: 0; padding: 0; }
.bn-body h1, .bn-body h2, .bn-body h3 { line-height: 1.25; }
.bn-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.bn-hide { display: none !important; }
.bn-noscroll { overflow: hidden; }

/* ---------- 顶栏 ---------- */
.bn-head {
  position: sticky; top: 0; z-index: 90;
  background: rgba(23, 24, 28, .93);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--bn-line);
}
.bn-head__in {
  max-width: 1240px; margin: 0 auto; padding: 13px 24px;
  display: flex; align-items: center; gap: 22px;
}
.bn-brand { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.bn-brand__logo { display: block; background: var(--bn-cream); border-radius: 8px; padding: 3px 4px; }
.bn-brand__img { height: 34px; width: auto; display: block; }
.bn-brand__title { display: flex; flex-direction: column; padding-left: 12px; border-left: 1px solid var(--bn-line); }
.bn-brand__name { font-size: 19px; font-weight: 800; color: var(--bn-cream); letter-spacing: .01em; }
.bn-brand__meta { font-size: 11px; color: var(--bn-muted-2); }
.bn-brand__meta b { color: var(--bn-mint); }
.bn-nav { margin-left: auto; display: flex; align-items: center; gap: 2px; }
.bn-nav__item { display: inline-block; padding: 8px 14px; font-size: 14px; color: var(--bn-muted); border-radius: 9px; transition: all .2s; }
.bn-nav__item:hover { color: var(--bn-cream); background: rgba(255, 255, 255, .05); }
.bn-nav__on { color: var(--bn-mint); background: rgba(154, 230, 180, .1); }
.bn-call {
  flex: 0 0 auto; padding: 10px 18px; border-radius: 999px;
  background: var(--bn-mint); color: var(--bn-ink); font-size: 13px; font-weight: 800;
  white-space: nowrap;
}
.bn-call:hover { background: var(--bn-mint-deep); }
.bn-burger { display: none; margin-left: auto; background: none; border: 1px solid var(--bn-line-strong); border-radius: 8px; padding: 8px 10px; cursor: pointer; }
.bn-burger span { display: block; width: 20px; height: 2px; background: var(--bn-cream); margin: 4px 0; }

/* ---------- 抽屉 ---------- */
.bn-drawer {
  display: none; position: fixed; inset: 0 0 0 auto; width: 82%; max-width: 330px;
  background: #1E2025; z-index: 200; border-left: 1px solid var(--bn-line);
  box-shadow: -20px 0 60px rgba(0, 0, 0, .5);
  padding: 20px; overflow-y: auto;
}
.bn-drawer--open { display: block; }
.bn-drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--bn-line); }
.bn-drawer__name { font-weight: 800; color: var(--bn-cream); }
.bn-drawer__close { border: 0; background: none; font-size: 26px; line-height: 1; cursor: pointer; color: var(--bn-muted); }
.bn-drawer__item { display: block; padding: 13px 6px; border-bottom: 1px solid var(--bn-line); font-size: 15px; color: var(--bn-muted); }
.bn-drawer__on { color: var(--bn-mint); }
.bn-drawer__tel { display: block; margin-top: 20px; text-align: center; padding: 13px; border-radius: 999px; background: var(--bn-mint); color: var(--bn-ink); font-weight: 800; }

/* ---------- 通用 ---------- */
.bn-sec { padding: 46px 0; }
.bn-grid { display: grid; gap: 14px; }
.bn-grid--2 { grid-template-columns: repeat(2, 1fr); }
.bn-grid--3 { grid-template-columns: repeat(3, 1fr); }
.bn-grid--4 { grid-template-columns: repeat(4, 1fr); }
.bn-card {
  position: relative; background: var(--bn-card); border: 1px solid var(--bn-line);
  border-radius: var(--bn-r); padding: 26px; transition: transform .24s, border-color .24s, background .24s;
}
.bn-card:hover { transform: translateY(-3px); border-color: rgba(154, 230, 180, .34); }
.bn-card__no {
  position: absolute; top: 14px; right: 16px; font-size: 10px; font-weight: 700;
  letter-spacing: .12em; color: var(--bn-mint); opacity: .8;
}
.bn-shead { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.bn-eyebrow {
  display: inline-block; font-size: 10px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--bn-mint); font-weight: 700; margin-bottom: 8px;
}
.bn-h2 { margin: 0 0 6px; font-size: clamp(24px, 2.7vw, 33px); color: var(--bn-cream); font-weight: 800; letter-spacing: -.01em; }
.bn-lead { margin: 0; font-size: 14px; color: var(--bn-muted); }
.bn-link { font-size: 13px; font-weight: 700; color: var(--bn-mint); white-space: nowrap; }
.bn-link:hover { color: var(--bn-mint-deep); }
.bn-rich { font-size: 15px; color: rgba(245, 241, 232, .86); line-height: 1.95; }
.bn-rich p { margin: 0 0 12px; }
.bn-rich img { border-radius: var(--bn-r-sm); }
.bn-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 22px; border-radius: 10px; font-size: 14px; font-weight: 800;
  border: 1px solid transparent; transition: all .2s;
}
.bn-btn--mint { background: var(--bn-mint); color: var(--bn-ink); }
.bn-btn--mint:hover { background: var(--bn-mint-deep); }
.bn-btn--dark { background: var(--bn-ink); color: var(--bn-cream); }
.bn-btn--dark:hover { background: #000; }
.bn-btn--line { border-color: var(--bn-line-strong); color: var(--bn-cream); }
.bn-btn--line:hover { border-color: var(--bn-mint); color: var(--bn-mint); }
.bn-morewrap { margin-top: 24px; }

/* ---------- Bento Hero ---------- */
.bn-hero { padding: 34px 0 24px; }
.bn-hero__grid {
  display: grid; gap: 14px;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-areas:
    "main main region"
    "main main phone"
    "svc  svc  svc";
}
.bn-hero__main {
  grid-area: main; position: relative; border-radius: var(--bn-r);
  background: var(--bn-cream); color: var(--bn-ink); padding: 42px 44px;
  display: flex; flex-direction: column; justify-content: center; overflow: hidden;
}
.bn-hero__main::after {
  content: ""; position: absolute; right: -40px; bottom: -40px; width: 190px; height: 190px;
  border: 1px solid rgba(23, 24, 28, .14); border-radius: 50%;
}
.bn-hero__no { position: absolute; top: 18px; right: 20px; font-size: 10px; font-weight: 800; letter-spacing: .14em; color: rgba(23, 24, 28, .45); }
.bn-hero__badge {
  align-self: flex-start; display: inline-block; padding: 5px 12px; border-radius: 999px;
  border: 1px solid rgba(23, 24, 28, .22); font-size: 11px; font-weight: 700;
  color: rgba(23, 24, 28, .72); margin-bottom: 18px;
}
.bn-hero__h1 { margin: 0 0 12px; font-size: clamp(32px, 3.8vw, 50px); color: var(--bn-ink); font-weight: 900; letter-spacing: -.02em; line-height: 1.1; }
.bn-hero__h1 span { display: block; color: #33513F; }
.bn-hero__lead { margin: 0 0 20px; max-width: 560px; font-size: 14px; color: #4A4B4A; }
.bn-hero__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.bn-hero__meta span { padding: 6px 11px; border-radius: 8px; background: rgba(23, 24, 28, .07); font-size: 11px; color: #3E3F3E; }
.bn-hero__meta b { font-weight: 800; }
.bn-hero__btns { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 10px; }
.bn-hero__main .bn-btn--line { border-color: rgba(23, 24, 28, .3); color: var(--bn-ink); }
.bn-hero__main .bn-btn--line:hover { border-color: var(--bn-ink); color: var(--bn-ink); background: rgba(23, 24, 28, .06); }
.bn-hero__region, .bn-hero__phone {
  border-radius: var(--bn-r); padding: 24px; border: 1px solid var(--bn-line);
  display: flex; flex-direction: column; justify-content: space-between; gap: 16px;
  transition: transform .24s, border-color .24s;
}
.bn-hero__region { grid-area: region; background: var(--bn-card); }
.bn-hero__phone { grid-area: phone; background: var(--bn-mint); color: var(--bn-ink); border-color: var(--bn-mint); }
.bn-hero__region:hover, .bn-hero__phone:hover { transform: translateY(-3px); }
.bn-hero__label { font-size: 10px; letter-spacing: .15em; font-weight: 800; text-transform: uppercase; color: var(--bn-muted-2); }
.bn-hero__phone .bn-hero__label { color: rgba(23, 24, 28, .6); }
.bn-hero__big { font-size: clamp(30px, 3.4vw, 42px); font-weight: 900; line-height: 1.1; letter-spacing: -.02em; }
.bn-hero__region .bn-hero__big { color: var(--bn-cream); }
.bn-hero__phone .bn-hero__big { color: var(--bn-ink); font-size: clamp(22px, 2.4vw, 30px); word-break: break-all; }
.bn-hero__note { font-size: 11px; color: var(--bn-muted-2); }
.bn-hero__phone .bn-hero__note { color: rgba(23, 24, 28, .65); }
.bn-hero__svc {
  grid-area: svc; background: var(--bn-card-2); border: 1px solid var(--bn-line);
  border-radius: var(--bn-r); padding: 22px 26px;
  display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
}
.bn-hero__svc .bn-hero__big { font-size: 22px; color: var(--bn-cream); }
.bn-hero__svcmeta { display: flex; flex-wrap: wrap; gap: 8px; }
.bn-hero__svcmeta span { padding: 5px 10px; border: 1px solid var(--bn-line); border-radius: 999px; font-size: 11px; color: var(--bn-muted); }

/* ---------- 简介 ---------- */
.bn-intro { display: grid; grid-template-columns: 1.4fr .6fr; gap: 34px; padding: 34px; }
.bn-intro__full {
  font-size: 15px; color: rgba(245, 241, 232, .84); line-height: 1.95; max-height: 250px; overflow: hidden; position: relative;
  -webkit-mask-image: linear-gradient(180deg, #000 78%, transparent);
  mask-image: linear-gradient(180deg, #000 78%, transparent);
}
.bn-intro__full--open { max-height: none; -webkit-mask-image: none; mask-image: none; }
.bn-intro__full p { margin: 0 0 12px; }
.bn-intro__full img { display: none; }
.bn-intro__toggle { margin: 12px 0 16px; }
.bn-intro__btn { border: 0; background: none; color: var(--bn-mint); font-size: 13px; font-weight: 700; cursor: pointer; padding: 4px 0; }
.bn-intro__aside { border-left: 1px solid var(--bn-line); padding-left: 26px; align-self: start; }
.bn-intro__row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; font-size: 13px; border-bottom: 1px solid var(--bn-line); }
.bn-intro__k { color: var(--bn-muted-2); }
.bn-intro__v { color: var(--bn-cream); font-weight: 700; text-align: right; }
.bn-intro__v a { color: var(--bn-mint); }
.bn-intro__note { margin: 16px 0 0; font-size: 11px; color: var(--bn-muted-2); }

/* ---------- 广告图卡 ---------- */
.bn-adcard { padding: 14px; }
.bn-adcard__media { border-radius: 12px; overflow: hidden; background: var(--bn-bg-2); }
.bn-adcard__media img { display: block; width: 100%; }
.bn-adcard__cap { display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 13px 6px 2px; font-size: 11px; color: var(--bn-muted-2); }
.bn-adcard__cap b { color: var(--bn-mint); font-weight: 700; }

/* ---------- 实力 / 产品 / 优势 ---------- */
.bn-grid--strength { grid-template-columns: repeat(3, 1fr); }
.bn-card--wide { grid-column: span 2; }
.bn-stat { padding: 26px; min-height: 150px; }
.bn-stat__name { margin: 0 0 6px; font-size: 18px; color: var(--bn-cream); font-weight: 800; padding-right: 28px; }
.bn-stat__desc { margin: 0; font-size: 13px; color: var(--bn-muted); }
.bn-stat--feature { background: var(--bn-card-2); }

.bn-prod { padding: 12px 12px 18px; background: var(--bn-card); border: 1px solid var(--bn-line); border-radius: var(--bn-r); display: block; transition: transform .24s, border-color .24s; }
.bn-prod:hover { transform: translateY(-4px); border-color: rgba(154, 230, 180, .36); }
.bn-prod__media { display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--bn-bg-2); }
.bn-prod__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bn-prod__body { display: block; padding: 13px 6px 0; }
.bn-prod__name { display: block; font-size: 15px; font-weight: 800; color: var(--bn-cream); }
.bn-prod__more { display: block; margin-top: 3px; font-size: 11px; color: var(--bn-mint); }

.bn-adv { padding: 26px; padding-right: 54px; }
.bn-adv__name { margin: 0 0 6px; font-size: 17px; color: var(--bn-cream); font-weight: 800; }
.bn-adv__desc { margin: 0; font-size: 13px; color: var(--bn-muted); }
.bn-adv::after { content: "+"; position: absolute; right: 20px; top: 18px; color: var(--bn-mint); font-size: 20px; font-weight: 300; }

/* ---------- 承诺 / 应用 ---------- */
.bn-listcard { padding: 28px; }
.bn-listcard__tt { margin: 0 0 14px; font-size: 18px; color: var(--bn-cream); font-weight: 800; }
.bn-ticks li { display: flex; gap: 10px; align-items: flex-start; padding: 9px 0; border-bottom: 1px solid var(--bn-line); font-size: 14px; color: rgba(245, 241, 232, .84); }
.bn-ticks li span { color: var(--bn-mint); font-weight: 800; }
.bn-apps { display: flex; flex-wrap: wrap; gap: 8px; }
.bn-app { padding: 7px 13px; border-radius: 999px; border: 1px solid var(--bn-line-strong); font-size: 12px; color: var(--bn-cream); }
.bn-app:hover { border-color: var(--bn-mint); color: var(--bn-mint); }

/* ---------- 新闻 ---------- */
.bn-news { display: flex; flex-direction: column; padding: 24px; min-height: 170px; }
.bn-news__date { font-size: 11px; color: var(--bn-mint); font-weight: 700; letter-spacing: .04em; }
.bn-news__title { margin: 8px 0 8px; font-size: 16px; font-weight: 800; color: var(--bn-cream); }
.bn-news__desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; font-size: 13px; color: var(--bn-muted); }

/* ---------- FAQ ---------- */
.bn-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bn-faq__item { background: var(--bn-card); border: 1px solid var(--bn-line); border-radius: 12px; padding: 0 20px; transition: border-color .2s; }
.bn-faq__item summary { cursor: pointer; padding: 16px 24px 16px 0; font-size: 14px; font-weight: 700; color: var(--bn-cream); list-style: none; position: relative; }
.bn-faq__item summary::-webkit-details-marker { display: none; }
.bn-faq__item summary::after { content: "+"; position: absolute; right: 0; top: 12px; color: var(--bn-mint); font-size: 19px; }
.bn-faq__item[open] { border-color: rgba(154, 230, 180, .36); }
.bn-faq__item[open] summary::after { content: "–"; }
.bn-faq__item p { margin: 0 0 16px; font-size: 13px; color: var(--bn-muted); }

/* ---------- 分站 ---------- */
.bn-citycard { padding: 26px; }
.bn-city { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 18px; }
.bn-city__item { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--bn-line); border-radius: 10px; background: var(--bn-card-2); transition: all .2s; }
.bn-city__item:hover { border-color: var(--bn-mint); }
.bn-city__region { font-size: 14px; font-weight: 800; color: var(--bn-cream); }
.bn-city__site { font-size: 10px; color: var(--bn-muted-2); }
.bn-city__item--fold { display: none; }
.bn-city--open .bn-city__item--fold { display: flex; }
.bn-city__more { margin-top: 18px; border: 1px solid var(--bn-line-strong); background: none; color: var(--bn-cream); border-radius: 999px; padding: 7px 18px; font-size: 12px; cursor: pointer; }
.bn-city__more:hover { border-color: var(--bn-mint); color: var(--bn-mint); }

/* ---------- 关联企业 ---------- */
.bn-partners { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 30px; margin-top: 16px; }
.bn-partner { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 2px; border-bottom: 1px solid var(--bn-line); }
.bn-partner__name { font-size: 13px; font-weight: 700; color: var(--bn-cream); }
.bn-partner__region { font-size: 11px; color: var(--bn-muted-2); }
.bn-partner:hover .bn-partner__name { color: var(--bn-mint); }

/* ---------- CTA ---------- */
.bn-cta {
  background: var(--bn-cream); color: var(--bn-ink); border-radius: var(--bn-r);
  padding: 46px 44px; display: flex; align-items: center; justify-content: space-between; gap: 26px; flex-wrap: wrap;
  position: relative; overflow: hidden;
}
.bn-cta::after { content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; border: 1px solid rgba(23, 24, 28, .12); }
.bn-cta__kicker { margin: 0 0 8px; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #54705F; }
.bn-cta__title { margin: 0 0 6px; font-size: clamp(24px, 3vw, 34px); color: var(--bn-ink); font-weight: 900; }
.bn-cta__lead { margin: 0; font-size: 14px; color: #4A4B4A; }
.bn-cta__tel { position: relative; z-index: 1; display: inline-block; padding: 12px 24px; border-radius: 12px; background: var(--bn-ink); color: var(--bn-mint); font-size: clamp(22px, 2.8vw, 32px); font-weight: 900; letter-spacing: .01em; }
.bn-cta__tel:hover { background: #000; }

/* ---------- 页脚 ---------- */
.bn-foot { margin-top: 24px; background: #111216; border-top: 1px solid var(--bn-line); color: var(--bn-muted); font-size: 13px; padding-top: 44px; }
.bn-foot__main { display: grid; grid-template-columns: 1.3fr .7fr 1fr; gap: 34px; max-width: 1180px; margin: 0 auto; padding: 0 24px 28px; }
.bn-foot__name { font-size: 19px; font-weight: 800; color: var(--bn-cream); margin-bottom: 8px; }
.bn-foot__desc { margin: 0 0 8px; }
.bn-foot__tel a { color: var(--bn-mint); font-size: 20px; font-weight: 800; }
.bn-foot__tt { color: var(--bn-cream); font-weight: 700; margin-bottom: 10px; }
.bn-foot__nav a { display: block; padding: 4px 0; }
.bn-foot__nav a:hover { color: var(--bn-mint); }
.bn-foot__info p { margin: 0 0 6px; }
.bn-foot__info a { color: var(--bn-mint); }
.bn-foot__city { max-width: 1180px; margin: 0 auto; padding: 16px 24px; border-top: 1px solid var(--bn-line); }
.bn-foot__citytt { color: var(--bn-cream); font-weight: 700; margin-right: 8px; }
.bn-foot__citylist { display: inline; }
.bn-foot__cityitem { display: inline-block; margin: 0 13px 6px 0; color: var(--bn-muted); }
.bn-foot__cityitem:hover { color: var(--bn-mint); }
.bn-foot__cityitem--fold { display: none; }
.bn-foot__citylist--open .bn-foot__cityitem--fold { display: inline-block; }
.bn-foot__morebtn { border: 1px solid var(--bn-line-strong); background: none; color: var(--bn-cream); border-radius: 999px; padding: 3px 12px; cursor: pointer; font-size: 11px; }
.bn-foot__nap { max-width: 1180px; margin: 0 auto; padding: 14px 24px; border-top: 1px solid var(--bn-line); color: #6F7075; font-size: 12px; }
.bn-foot__nap p { margin: 0 0 4px; }
.bn-foot__copy { max-width: 1180px; margin: 0 auto; padding: 16px 24px 26px; border-top: 1px solid var(--bn-line); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; color: #6F7075; font-size: 11px; }
.bn-foot__copy a { color: var(--bn-muted-2); }
.bn-foot__copy a:hover { color: var(--bn-mint); }

/* ---------- 移动拨号栏 ---------- */
.bn-dial { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; padding: 8px 12px; background: rgba(23, 24, 28, .97); border-top: 1px solid var(--bn-line-strong); }
.bn-dial__tel { display: block; text-align: center; padding: 12px; border-radius: 999px; background: var(--bn-mint); color: var(--bn-ink); font-weight: 800; }

/* ---------- 内页页头（Bento 面板） ---------- */
.bn-pagehead { padding: 32px 0 8px; }
.bn-pagehead__panel {
  position: relative; border: 1px solid var(--bn-line); border-radius: var(--bn-r);
  background: var(--bn-card-2); padding: 40px 42px;
  background-image: linear-gradient(120deg, rgba(154, 230, 180, .05), transparent 55%);
}
.bn-pagehead__panel::after { content: ""; position: absolute; right: 26px; top: 24px; width: 54px; height: 54px; border: 1px solid var(--bn-line-strong); border-radius: 14px; }
.bn-crumb { margin: 0 0 14px; font-size: 12px; color: var(--bn-muted-2); }
.bn-crumb a { color: var(--bn-mint); }
.bn-pagehead__h1 { margin: 0; font-size: clamp(26px, 3.4vw, 38px); color: var(--bn-cream); font-weight: 900; letter-spacing: -.01em; }
.bn-pagehead__lead { margin: 10px 0 0; font-size: 12px; color: var(--bn-muted-2); letter-spacing: .04em; }
.bn-crumb--dark { color: var(--bn-muted-2); margin: 0 0 20px; }
.bn-crumb--dark a { color: var(--bn-mint); }

/* ---------- 内页布局 ---------- */
.bn-page { padding: 30px 0 46px; }
.bn-two { display: grid; grid-template-columns: 1.4fr .6fr; gap: 14px; align-items: start; }
.bn-two--even { grid-template-columns: 1fr 1fr; }
.bn-sidebox { padding: 26px; border: 1px solid var(--bn-line); border-radius: var(--bn-r); background: var(--bn-card-2); align-self: start; }
.bn-sidebox__tt { margin: 0 0 14px; font-size: 15px; font-weight: 800; color: var(--bn-cream); }
.bn-sidebox p { margin: 0 0 8px; font-size: 13px; color: var(--bn-muted); }
.bn-sidebox strong { color: var(--bn-cream); }
.bn-subtt { margin: 28px 0 12px; font-size: 21px; color: var(--bn-cream); font-weight: 800; }
.bn-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.bn-panel { padding: 28px; border: 1px solid var(--bn-line); border-radius: var(--bn-r); background: var(--bn-card); }
.bn-panel__tt { margin: 0 0 14px; font-size: 18px; color: var(--bn-cream); font-weight: 800; }
.bn-row { display: grid; grid-template-columns: 92px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--bn-line); font-size: 14px; }
.bn-row:last-of-type { border-bottom: 0; }
.bn-row__k { color: var(--bn-muted-2); font-size: 13px; }
.bn-row__v a { color: var(--bn-mint); font-weight: 700; }
.bn-steps { counter-reset: bnstep; margin: 0; padding: 0; list-style: none; }
.bn-steps li { counter-increment: bnstep; position: relative; padding: 10px 0 10px 44px; border-bottom: 1px solid var(--bn-line); font-size: 14px; color: rgba(245, 241, 232, .86); }
.bn-steps li::before { content: counter(bnstep); position: absolute; left: 0; top: 10px; width: 28px; height: 28px; border-radius: 8px; background: rgba(154, 230, 180, .12); color: var(--bn-mint); font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.bn-morebtn { margin-top: 20px; }

/* ---------- 列表 ---------- */
.bn-list { display: block; }
.bn-listitem { display: flex; gap: 18px; align-items: center; padding: 14px; border: 1px solid var(--bn-line); border-radius: var(--bn-r); background: var(--bn-card); margin-bottom: 12px; transition: transform .2s, border-color .2s; }
.bn-listitem:hover { transform: translateY(-2px); border-color: rgba(154, 230, 180, .34); }
.bn-listitem__thumb { flex: 0 0 150px; height: 100px; border-radius: 10px; overflow: hidden; background: var(--bn-bg-2); }
.bn-listitem__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bn-listitem__body { flex: 1 1 auto; min-width: 0; }
.bn-listitem__title { display: block; font-size: 16px; font-weight: 800; color: var(--bn-cream); margin-bottom: 4px; }
.bn-listitem__desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; color: var(--bn-muted); }
.bn-listitem__date { flex: 0 0 auto; font-size: 11px; color: var(--bn-muted-2); }
.bn-region { display: inline-block; font-style: normal; font-size: 10px; padding: 1px 7px; border-radius: 999px; background: rgba(154, 230, 180, .13); color: var(--bn-mint); margin-right: 7px; vertical-align: 1px; }
.bn-empty { padding: 24px; border: 1px solid var(--bn-line); border-radius: 12px; color: var(--bn-muted); font-size: 14px; }

/* 分页 */
.pagination { margin: 22px 0 0; text-align: center; font-size: 14px; }
.pagination a, .pagination span { display: inline-block; min-width: 34px; padding: 6px 10px; margin: 0 3px; border: 1px solid var(--bn-line-strong); border-radius: 8px; color: var(--bn-cream); font-size: 12px; }
.pagination a:hover { border-color: var(--bn-mint); color: var(--bn-mint); }
.pagination .current { background: var(--bn-mint); border-color: var(--bn-mint); color: var(--bn-ink); font-weight: 800; }

/* ---------- 新闻详情 ---------- */
.bn-detail { display: grid; grid-template-columns: 1fr 320px; gap: 14px; align-items: start; }
.bn-article { padding: 30px; border: 1px solid var(--bn-line); border-radius: var(--bn-r); background: var(--bn-card); }
.bn-post__meta { margin: 0 0 15px; font-size: 12px; color: var(--bn-muted-2); padding-bottom: 12px; border-bottom: 1px solid var(--bn-line); }
.bn-post__cover { display: block; width: 100%; border-radius: 12px; margin-bottom: 20px; }
.bn-post__body { font-size: 15px; line-height: 1.95; color: rgba(245, 241, 232, .86); }
.bn-post__body p { margin: 0 0 14px; }
.bn-post__body img { border-radius: 12px; }
.bn-post__acts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.bn-aside { padding: 24px; border: 1px solid var(--bn-line); border-radius: var(--bn-r); background: var(--bn-card-2); }
.bn-aside__tt { margin: 0 0 14px; font-size: 16px; font-weight: 800; color: var(--bn-cream); padding-bottom: 12px; border-bottom: 1px solid var(--bn-line); }
.bn-aside__item { display: block; padding: 9px 0; border-bottom: 1px solid var(--bn-line); }
.bn-aside__title { display: block; font-size: 13px; color: rgba(245, 241, 232, .82); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bn-aside__date { display: block; font-size: 10px; color: var(--bn-muted-2); }
.bn-aside__item:hover .bn-aside__title { color: var(--bn-mint); }
.bn-aside__empty { font-size: 13px; color: var(--bn-muted); }
.bn-aside__more { display: inline-block; margin-top: 14px; font-size: 12px; color: var(--bn-mint); }

/* ---------- 产品详情 ---------- */
.bn-prodhero { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.bn-prodhero__media { padding: 12px; border: 1px solid var(--bn-line); border-radius: var(--bn-r); background: var(--bn-card); }
.bn-prodhero__media img { display: block; width: 100%; border-radius: 10px; }
.bn-prodhero__kicker { display: inline-block; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--bn-mint); font-weight: 800; margin-bottom: 10px; }
.bn-prodhero__h1 { margin: 0 0 12px; font-size: clamp(24px, 3vw, 34px); color: var(--bn-cream); font-weight: 900; }
.bn-prodhero__desc { margin: 0 0 18px; font-size: 14px; color: var(--bn-muted); }
.bn-info { margin-bottom: 20px; border-top: 1px solid var(--bn-line); }
.bn-info__row { display: grid; grid-template-columns: 92px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--bn-line); font-size: 13px; }
.bn-info__k { color: var(--bn-muted-2); }
.bn-info__v a { color: var(--bn-mint); font-weight: 700; }
.bn-prodhero__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.bn-prodshow { display: grid; grid-template-columns: 1fr 320px; gap: 14px; align-items: start; margin-top: 28px; }
.bn-panel--sm { padding: 22px; margin-bottom: 12px; }
.bn-panel--sm .bn-panel__tt { font-size: 15px; }
.bn-panel p { margin: 0 0 7px; font-size: 13px; color: var(--bn-muted); }
.bn-panel__list li { padding: 7px 0; font-size: 13px; color: var(--bn-muted); border-bottom: 1px solid var(--bn-line); }
.bn-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bn-chip { display: inline-block; padding: 4px 10px; border: 1px solid var(--bn-line-strong); border-radius: 999px; font-size: 11px; color: var(--bn-cream); }

/* ---------- 响应式 ---------- */
@media (max-width: 1080px) {
  .bn-nav__item { padding: 8px 10px; font-size: 13px; }
  .bn-call { padding: 9px 13px; font-size: 12px; }
  .bn-city { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 960px) {
  .bn-nav, .bn-call { display: none; }
  .bn-burger { display: block; }
  .bn-hero__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "main main"
      "region phone"
      "svc svc";
  }
  .bn-hero__main { padding: 34px; }
  .bn-intro, .bn-two, .bn-two--even, .bn-contact, .bn-detail, .bn-prodshow, .bn-prodhero { grid-template-columns: 1fr; gap: 14px; }
  .bn-grid--3, .bn-grid--strength, .bn-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .bn-card--wide { grid-column: span 2; }
  .bn-faq { grid-template-columns: 1fr; }
  .bn-foot__main { grid-template-columns: 1fr; gap: 22px; }
  .bn-sec { padding: 34px 0; }
  .bn-pagehead__panel { padding: 30px; }
}
@media (max-width: 640px) {
  .bn-wrap { padding: 0 16px; }
  .bn-head__in { padding: 12px 16px; }
  .bn-brand__img { height: 28px; }
  .bn-brand__name { font-size: 16px; }
  .bn-brand__meta { font-size: 10px; }
  .bn-hero { padding: 18px 0 10px; }
  .bn-hero__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "main"
      "region"
      "phone"
      "svc";
  }
  .bn-hero__main { padding: 28px 24px; }
  .bn-hero__h1 { font-size: 32px; }
  .bn-hero__phone .bn-hero__big { font-size: 26px; }
  .bn-grid--2, .bn-grid--3, .bn-grid--strength, .bn-grid--4 { grid-template-columns: 1fr; }
  .bn-card--wide { grid-column: span 1; }
  .bn-intro { padding: 24px; }
  .bn-intro__aside { border-left: 0; padding-left: 0; border-top: 1px solid var(--bn-line); padding-top: 16px; }
  .bn-card, .bn-panel, .bn-article, .bn-listcard, .bn-aside { padding: 22px; }
  .bn-listitem { flex-wrap: wrap; }
  .bn-listitem__thumb { flex: 0 0 100%; height: 160px; }
  .bn-listitem__date { order: 3; }
  .bn-city, .bn-partners { grid-template-columns: 1fr; }
  .bn-cta { padding: 32px 24px; }
  .bn-dial { display: block; }
  .bn-body { padding-bottom: 66px; }
  .bn-pagehead__panel { padding: 26px 22px; }
  .bn-pagehead__panel::after { display: none; }
  .bn-shead { display: block; }
}

/* ---------- 辅助 ---------- */
.bn-subtt--first { margin-top: 0; }
.bn-listcard__note { margin-top: 16px; }
