/* Codex visual refresh: differentiated polish based on the existing site. */
:root {
  --zz-ink: #17212b;
  --zz-muted: #64748b;
  --zz-line: #dbe3ea;
  --zz-soft: #f5f8fb;
  --zz-primary: #116275;
  --zz-primary-dark: #0c3f4c;
  --zz-accent: #b3262f;
  --zz-gold: #b9852f;
}
html { background: var(--zz-soft); }
body { background: #f6f8fb; color: var(--zz-ink); }
a { transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease; }
.top-info { background: #0f2d3a; color: #e7f4f5; border-bottom: 1px solid rgba(255,255,255,.08); }
.top-info-con a, .top-info-con p { color: #e7f4f5; }
.top-info-con .top-right a:nth-child(1) { border-right-color: rgba(255,255,255,.28); }
.cons { background: #fff; padding-top: 24px; box-shadow: 0 8px 24px rgba(15, 23, 42, .045); }
.serch { border-color: #b8c7d5; background: #fbfdff; box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.gift { background: var(--zz-accent); border-radius: 4px; box-shadow: 0 8px 18px rgba(179,38,47,.18); }
.nav { background: #fff; border-top: 1px solid #edf2f7; border-bottom: 1px solid #dbe3ea; box-shadow: 0 8px 20px rgba(15,23,42,.04); }
.nav ul { min-height: 48px; align-items: center; }
.nav li { margin: 0 2px; }
.nav li a { height: 38px; line-height: 38px; padding: 0 14px; color: var(--zz-ink); border-bottom: 2px solid transparent; }
.nav li:hover a, .nav li.hot a { color: var(--zz-primary); border-bottom-color: var(--zz-gold); background: #f8fbfd; }
.nav li.hot:after { display: none; }
.swiper-container.banner { margin-top: 0; background: #0f172a; }
.swiper-container .main_list .sl_img img { width: 100%; max-height: 560px; object-fit: cover; object-position: center; }
.swiper-container-horizontal>.swiper-pagination-bullets { bottom: 24px; }
.swiper-container .swiper-pagination-bullet { width: 30px; height: 4px; background: rgba(255,255,255,.58); }
.swiper-container .swiper-pagination-bullet-active { background: var(--zz-gold); }
.title h2, .title2 h2, .ubar a { color: var(--zz-primary-dark); }
.title a, .title2 a { color: var(--zz-accent); }
.news .news-left, .news-right, .cppm-cg, .bodybd, .bk5, .pn, .article, .card { box-shadow: 0 10px 24px rgba(15,23,42,.055); }
.news .news-left, .news-right, .cppm-cg, .bodybd { border: 1px solid #e2e8f0; background: #fff; }
.plugins-css-2 li a:hover, .plugins-css-36 li a:hover div.dd1 span, .list-con li a:hover span { color: var(--zz-primary); }
.bodybd { background: #fff; border-radius: 4px; }
.weizhi { color: var(--zz-muted); border-bottom-color: #e6edf3; }
h1 { color: var(--zz-primary-dark); font-weight: 700; }
.content { color: #243040; font-size: 15px; line-height: 2.05; }
.content h2, .content h3 { color: #162535; }
.content img { border-radius: 4px; }
.codex-article-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 138px;
  gap: 18px;
  align-items: center;
  margin: 28px 0 18px;
  padding: 20px;
  border: 1px solid #d5e6ee;
  background: linear-gradient(135deg, #f7fbfc 0%, #fff 58%, #fff8ed 100%);
  border-left: 5px solid var(--zz-primary);
  box-shadow: 0 10px 24px rgba(17,98,117,.10);
}
.codex-article-cta h2 { margin: 0 0 8px; color: var(--zz-primary-dark); font-size: 21px; line-height: 1.45; }
.codex-article-cta p { margin: 0 0 6px; padding: 0; color: #334155; font-size: 15px; line-height: 1.75; }
.codex-article-cta .phone { color: var(--zz-accent); font-size: 19px; font-weight: 700; }
.codex-article-cta .phone a { color: var(--zz-accent); }
.codex-article-cta img { width: 138px; max-width: 100%; height: auto; border: 6px solid #fff; box-shadow: 0 8px 18px rgba(15,23,42,.12); }
.codex-article-cta .note { color: var(--zz-muted); font-size: 13px; }
.footer-main, footer { background-color: #102a36; }
footer, footer a, footer p, footer li, footer h4 { color: #dbeafe; }
@media (max-width: 760px) {
  .mains { width: auto; max-width: 100%; padding-left: 12px; padding-right: 12px; box-sizing: border-box; }
  .top-info-con, .cons-main, .news, .cppm-con { display: block; }
  .serch { margin: 14px 0; }
  .nav ul { flex-wrap: wrap; justify-content: flex-start; }
  .swiper-container .main_list .sl_img img { min-height: 180px; }
  .codex-article-cta { grid-template-columns: 1fr; padding: 16px; }
  .codex-article-cta img { width: 120px; }
}

/* Homepage focused refresh: keep the existing template, but make the first page feel owned. */
body.home-page { background: #f3f6f8; }
body.home-page * { box-sizing: border-box; }
body.home-page .mains { width: min(1200px, calc(100% - 32px)); }
body.home-page .top-info { font-size: 14px; background: #102a36; }
body.home-page .top-info-con { min-height: 40px; display: flex; align-items: center; justify-content: space-between; }
body.home-page .top-left { color: #e6f2f5; letter-spacing: 0; }
body.home-page .top-right { display: flex; align-items: center; gap: 18px; color: #e6f2f5; }
body.home-page .top-right a { color: #e6f2f5; border-right: 0; padding-right: 0; }
body.home-page .top-right p { color: #ffffff; font-weight: 700; }
body.home-page > .cons:not(.items) { padding: 22px 0 18px; background: #ffffff; }
body.home-page .cons-main .logo-rz .logo { max-width: 300px; }
body.home-page .cons-main .logo-rz .renzheng { max-width: 150px; margin-left: 26px; opacity: .9; }
body.home-page .serch { height: 42px; margin-left: 54px; border-color: #c8d6df; background: #f8fbfd; border-radius: 6px; }
body.home-page .serch form .sear-dom a { color: #116275; }
body.home-page .gift { height: 42px; min-width: 150px; padding: 0 18px; border-radius: 6px; background: #b3262f; font-weight: 700; }
body.home-page .gift img { background: transparent; }
body.home-page .nav { position: sticky; top: 0; z-index: 800; width: 100%; background: rgba(255,255,255,.96); backdrop-filter: blur(10px); border-top: 1px solid #edf2f7; border-bottom: 1px solid #d6e0e7; }
body.home-page .nav ul { justify-content: space-between; min-height: 54px; }
body.home-page .nav li { margin: 0; }
body.home-page .nav li a { height: 54px; line-height: 54px; padding: 0 10px; font-size: 15px; color: #1c2d36; }
body.home-page .nav li.hot a, body.home-page .nav li:hover a { color: #116275; background: transparent; border-bottom: 3px solid #b9852f; }
body.home-page .banner { margin-top: 0; position: relative; background: #0f172a; overflow: hidden; }
body.home-page .banner:after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 26%; pointer-events: none; background: linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(15,23,42,.24) 100%); }
body.home-page .banner img { width: 100%; height: clamp(300px, 36vw, 520px); object-fit: cover; object-position: center; }
body.home-page .home-lead-strip { background: #102a36; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid #d7e1e7; }
body.home-page .home-lead-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; min-height: 112px; padding: 20px 0; color: #ffffff; }
body.home-page .home-lead-copy span { display: inline-block; color: #f0c36a; font-size: 14px; font-weight: 700; margin-bottom: 6px; }
body.home-page .home-lead-copy h2 { margin: 0; color: #ffffff; font-size: 24px; line-height: 1.35; }
body.home-page .home-lead-copy p { margin: 8px 0 0; color: #d9e8ec; font-size: 15px; line-height: 1.7; }
body.home-page .home-lead-actions { display: flex; align-items: center; gap: 12px; }
body.home-page .home-lead-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 6px; font-weight: 700; white-space: nowrap; }
body.home-page .home-lead-phone { color: #102a36; background: #f0c36a; }
body.home-page .home-lead-wechat { color: #ffffff; border: 1px solid rgba(255,255,255,.38); }
body.home-page .news { margin: 48px auto; gap: 26px; }
body.home-page .news .news-left, body.home-page .news .news-right { border-radius: 8px; background: #ffffff; border: 1px solid #dfe8ee; box-shadow: 0 16px 34px rgba(15,23,42,.08); }
body.home-page .news .news-left { width: calc(50% - 13px); height: 360px; }
body.home-page .news .news-left .tj-list ul li h5 { background: linear-gradient(180deg, rgba(16,42,54,0) 0%, rgba(16,42,54,.86) 65%); padding-top: 70px; }
body.home-page .news .news-right { width: calc(50% - 13px); padding: 24px; }
body.home-page .title { min-height: 42px; border-bottom: 1px solid #e2eaf0; padding-bottom: 12px; }
body.home-page .title h2 { display: flex; align-items: center; gap: 10px; color: #102a36; font-size: 26px; letter-spacing: 0; }
body.home-page .title h2:before { content: ""; width: 5px; height: 24px; border-radius: 3px; background: #b9852f; }
body.home-page .title a { color: #116275; background: none; padding-right: 0; font-weight: 700; }
body.home-page .list-con li a, body.home-page .cppm-list ul li a, body.home-page .scmp-list ul li a, body.home-page .item-list ul li a { border-radius: 5px; }
body.home-page .list-con li a:hover, body.home-page .cppm-list ul li a:hover, body.home-page .scmp-list ul li a:hover, body.home-page .item-list ul li a:hover { background: #f4fafb; }
body.home-page .list-con li a span, body.home-page .cppm-list ul li a span, body.home-page .scmp-list ul li a span, body.home-page .item-list ul li a span { color: #243040; }
body.home-page .list-con li a em, body.home-page .cppm-list ul li a em, body.home-page .scmp-list ul li a em, body.home-page .item-list ul li a em { color: #73808c; }
body.home-page .cppm { padding: 58px 0; background: linear-gradient(180deg, #eef5f7 0%, #f7fafb 100%); }
body.home-page .cppm .cppm-main .cppm-con { gap: 24px; }
body.home-page .cppm .cppm-main .cppm-con .cppm-cg { flex: 1; width: auto; padding: 28px; border-radius: 8px; border: 1px solid #dce8ef; border-top: 4px solid #116275; background-color: #ffffff; background-position: 94% 82%; box-shadow: 0 14px 30px rgba(15,23,42,.07); }
body.home-page .cppm .cppm-main .cppm-con .cppm-cg:nth-child(2) { border-top-color: #b9852f; }
body.home-page .cppm .cppm-main .cppm-con .cppm-cg:nth-child(3) { border-top-color: #b3262f; }
body.home-page .cppm .cppm-main .cppm-con .cppm-cg:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(15,23,42,.10); }
body.home-page .title2 h2 { color: #102a36; font-weight: 700; }
body.home-page .middle-nav { margin: 0; padding: 28px 0; background: #ffffff; }
body.home-page .middle-nav .middle-nav-con { padding: 14px 0; background: transparent; border-radius: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
body.home-page .middle-nav .middle-nav-con li a { min-height: 68px; padding: 10px; background: #f6f9fb; border: 1px solid #dce6ec; border-radius: 8px; color: #23313b; font-size: 16px; letter-spacing: 0; }
body.home-page .middle-nav .middle-nav-con li.on a, body.home-page .middle-nav .middle-nav-con li:hover a { background: #102a36; color: #ffffff; }
body.home-page .middle-nav .middle-nav-con li a img { max-width: 38px; padding-right: 10px; }
body.home-page .scmp { margin: 52px auto; gap: 24px; }
body.home-page .scmp .scmp-left, body.home-page .scmp .scmp-right { width: calc(50% - 12px); padding: 26px; background: #ffffff; border: 1px solid #dfe8ee; border-radius: 8px; box-shadow: 0 14px 30px rgba(15,23,42,.06); }
body.home-page .items.cons { padding: 54px 0; background: #ffffff; }
body.home-page .items .mains { gap: 24px; }
body.home-page .items .mains .pmp, body.home-page .items .mains .jjs, body.home-page .items .mains .lxgm { width: 33.333%; padding: 22px; background: #f7fafb; border: 1px solid #dfe8ee; border-radius: 8px; }
body.home-page .item-con .pmp-img img { border-radius: 6px; }
body.home-page .wangke { padding: 54px 0; background: #eef3f5; }
body.home-page .wangke-list { gap: 20px; }
body.home-page .wangke-list li { width: calc(33.333% - 14px); margin: 0; border-radius: 8px; border: 1px solid #dfe8ee; box-shadow: 0 12px 26px rgba(15,23,42,.06); }
body.home-page .wangke-list li .wangke-tag { background: #116275; }
body.home-page .fengcai { padding: 50px 0; background: #ffffff; }
body.home-page .fengcai-list img, body.home-page .bottom-nav img { border-radius: 8px; }
body.home-page .bottom-nav { gap: 20px; }
body.home-page .bottom-nav li { width: 33.333%; border-radius: 8px; box-shadow: 0 12px 26px rgba(15,23,42,.07); }
body.home-page .other { margin: 48px auto; gap: 24px; }
body.home-page .other .other-con1, body.home-page .other .other-con2, body.home-page .other .other-con3 { width: 33.333%; padding: 24px; background: #ffffff; border: 1px solid #dfe8ee; border-radius: 8px; box-shadow: 0 12px 26px rgba(15,23,42,.06); }
body.home-page .other .other-con2:before, body.home-page .other .other-con2:after { display: none; }
body.home-page .links { background: #eef3f5; }
body.home-page footer { background: #102a36; }
@media (max-width: 900px) {
  body.home-page .mains { width: calc(100% - 24px); }
  body.home-page .top-info-con, body.home-page .cons-main, body.home-page .top-right { display: block; }
  body.home-page .top-right { margin-top: 8px; }
  body.home-page .cons-main .logo-rz { justify-content: flex-start; }
  body.home-page .cons-main .logo-rz .logo { max-width: 220px; }
  body.home-page .cons-main .logo-rz .renzheng { max-width: 110px; margin-left: 12px; }
  body.home-page .serch { margin: 14px 0 0; }
  body.home-page .gift { margin-top: 12px; }
  body.home-page .nav { position: static; }
  body.home-page .nav ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; min-height: auto; padding: 8px 0; }
  body.home-page .nav li a { height: 36px; line-height: 36px; padding: 0 4px; font-size: 14px; }
  body.home-page .banner img { height: 240px; }
  body.home-page .home-lead-inner { grid-template-columns: 1fr; gap: 14px; }
  body.home-page .home-lead-copy h2 { font-size: 20px; }
  body.home-page .home-lead-actions { flex-wrap: wrap; }
  body.home-page .news, body.home-page .cppm .cppm-main .cppm-con, body.home-page .scmp, body.home-page .items .mains, body.home-page .other { display: block; }
  body.home-page .news .news-left, body.home-page .news .news-right, body.home-page .scmp .scmp-left, body.home-page .scmp .scmp-right, body.home-page .items .mains .pmp, body.home-page .items .mains .jjs, body.home-page .items .mains .lxgm, body.home-page .other .other-con1, body.home-page .other .other-con2, body.home-page .other .other-con3 { width: 100%; margin: 0 0 18px; }
  body.home-page .middle-nav .middle-nav-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home-page .wangke-list { display: block; }
  body.home-page .wangke-list li { width: 100%; margin-bottom: 14px; }
  body.home-page .bottom-nav { display: block; }
  body.home-page .bottom-nav li { width: 100%; margin-bottom: 14px; }
}

/* Homepage overflow and small-screen fixes. */
html, body.home-page { max-width: 100%; overflow-x: hidden; }
body.home-page .banner, body.home-page .swiper-container { max-width: 100vw; overflow: hidden !important; contain: paint; }
body.home-page .news-right, body.home-page .cppm-cg, body.home-page .scmp-left, body.home-page .scmp-right, body.home-page .pmp, body.home-page .jjs, body.home-page .lxgm { min-width: 0; }
body.home-page .list-con li a span, body.home-page .cppm-list ul li a span, body.home-page .scmp-list ul li a span, body.home-page .item-list ul li a span, body.home-page .xinwen-right li h5 p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
body.home-page .fengcai { overflow: hidden; }
body.home-page .fengcai-list { max-width: 100%; overflow-x: auto; overflow-y: hidden; padding-bottom: 8px; }
body.home-page #meiti { width: max-content; max-width: none; }
body.home-page .fengcai-list table { max-width: none; }
@media (max-width: 900px) {
  body.home-page .xinwen .xinwen_tabs { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; padding-bottom: 8px; }
  body.home-page .xinwen .xinwen_tabs .tabs { flex: 0 0 auto; margin-right: 20px; white-space: nowrap; }
  body.home-page .xinwen-con .xinwen-list .xinwen-right li h5 { gap: 10px; align-items: flex-start; }
  body.home-page .xinwen-con .xinwen-list .xinwen-right li h5 p { flex: 1 1 auto; width: auto; }
  body.home-page .xinwen-con .xinwen-list .xinwen-right li h5 span { flex: 0 0 auto; }
  body.home-page .scmp .scmp-list ul li a, body.home-page .item-list ul li a { gap: 10px; min-width: 0; }
  body.home-page .scmp .scmp-list ul li a span, body.home-page .item-list ul li a span { flex: 1 1 auto; width: auto; }
  body.home-page .scmp .scmp-list ul li a em, body.home-page .item-list ul li a em { flex: 0 0 auto; }
}
@media (max-width: 760px) {
  body.home-page .codex-contact-widget { display: none; }
}

