/* 官网渐进增强：不改变业务结构，只改善稳定性、层次与响应式体验。 */
html { scroll-behavior:smooth }
body { -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility }
a:focus-visible,button:focus-visible,[role="button"]:focus-visible { outline:2px solid #cf1422;outline-offset:3px }
.x-top2 { transition:box-shadow .25s ease,background-color .25s ease }
.x-top2.is-scrolled { box-shadow:0 7px 22px rgba(28,35,45,.09) }
.x-menu>li { text-align:center }
.x-menu>li>a { position:relative;text-align:center }
.x-menu>li>a:after { content:"";position:absolute;left:50%;right:50%;bottom:25px;width:auto;height:2px;background:#cf1422;transition:left .25s ease,right .25s ease }
.x-menu>li:hover>a:after,.x-menu>li.is-current>a:after { left:24%;right:24% }
@media (min-width:769px) {
  .x-menu>li>.x-sub-menu { left:calc(50% - 32px);width:180px;max-width:180px;transform:translateY(20px) }
  .x-menu>li:hover>.x-sub-menu { transform:translateY(0) }
}
.x-banner { background:#e9ecef }
.x-banner1 { aspect-ratio:1920/945 }
.x-banner .swiper-wrapper,.x-banner .swiper-slide { height:100% }
.x-banner .swiper-slide>a { display:block;width:100%;height:100% }
.x-banner img,.x-banner video { display:block;width:100%;height:100%;object-fit:cover }
.x-banner1 img,.x-banner1 video { object-position:center top }
.x-banner .bannerbtnl,.x-banner .bannerbtnr { cursor:pointer;transition:opacity .2s ease,transform .2s ease }
.x-banner .bannerbtnl:hover { transform:translateY(-50%) translateX(-4px) }
.x-banner .bannerbtnr:hover { transform:translateY(-50%) translateX(4px) }
.tutu { margin:clamp(38px,5vw,78px) 0 }
.bt1 dd { font-size:clamp(25px,2.2vw,38px) }
.bt1 img { margin:clamp(20px,2vw,34px) 0 }
.jxlist li,.sul li { transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease }
.jxlist li:hover { transform:translateY(-3px) }
.sbt span { display:inline-block;font-variant-numeric:tabular-nums }
.newsSwiper .swiper-slide { height:auto;transition:transform .25s ease,box-shadow .25s ease }
.newsSwiper .swiper-slide:hover { z-index:2;box-shadow:0 12px 30px rgba(31,43,58,.1);transform:translateY(-5px) }
.newsSwiper .swiper-slide .img1 { overflow:hidden }
.newsSwiper .swiper-slide .img1 img { transition:transform .55s ease }
.newsSwiper .swiper-slide:hover .img1 img { transform:scale(1.045) }
.cpslm a { transition:background-color .25s,color .25s,transform .25s }
.cpslm a:hover { transform:translateY(-2px) }
img[loading="lazy"] { content-visibility:auto }

/* 案例中心：修正旧模板中分类绝对定位、列表脱离容器的问题。 */
.case-page-content { padding:0 0 clamp(52px,5vw,82px) }
.case-page-inner { width:calc(100% - 48px);max-width:1560px;margin:0 auto }
.case-category-nav { margin-bottom:22px }
.case-category-nav .xypg-left-nav { margin:0 }
.case-category-nav .xypg-left-nav>li {
  display:flex;align-items:stretch;min-height:61px;margin-bottom:22px;border:0;background:#f4f4f4
}
.case-category-nav .xypg-left-nav>li>a {
  position:relative;z-index:2;flex:0 0 232px;width:232px;min-height:61px;padding:0 36px;
  overflow:visible;clip-path:none;background:#cf1020;color:#fff;line-height:61px;
  font-size:16px;font-weight:600;box-sizing:border-box
}
.case-category-nav .xypg-left-nav>li>a:after {
  content:"";position:absolute;top:50%;right:-11px;margin-top:-11px;width:0;height:0;
  border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:11px solid #cf1020
}
.case-category-nav .xypg-left-nav>li:hover>a,
.case-category-nav .xypg-left-nav>li.clicked>a { background:#b90d1b;color:#fff }
.case-category-nav .xypg-left-nav>li:hover>a:after,
.case-category-nav .xypg-left-nav>li.clicked>a:after { border-left-color:#b90d1b }
.case-category-nav .xypg-left-nav>li .first-nav-btn { display:none!important }
.case-category-nav .xypg-left-nav .xypg-left-subnav {
  position:static;display:flex;flex:1;align-content:center;align-items:center;flex-wrap:nowrap;
  min-width:0;padding:7px 16px 7px 22px;background:transparent
}
.case-category-nav .xypg-left-nav .xypg-left-subnav>li { position:relative;float:none;flex:0 0 auto;border:0 }
.case-category-nav .xypg-left-nav .xypg-left-subnav>li>a {
  display:block;padding:10px;color:#444;line-height:27px;font-size:15px;white-space:nowrap;border-radius:2px
}
.case-category-nav .xypg-left-nav .xypg-left-subnav>li>a:hover,
.case-category-nav .xypg-left-nav .xypg-left-subnav>li.clicked>a { background:#cf1020;color:#fff }
.case-category-nav .case-more-trigger>a:after { content:"";display:inline-block;margin-left:7px;border:4px solid transparent;border-top-color:currentColor;vertical-align:-3px }
.case-category-nav .case-more-menu {
  position:absolute;top:calc(100% - 2px);right:0;z-index:30;display:none;min-width:136px;padding:6px 0;
  background:#fff;border:1px solid #ececec;box-shadow:0 10px 25px rgba(29,36,43,.14)
}
.case-category-nav .case-more-trigger:hover>.case-more-menu,
.case-category-nav .case-more-trigger:focus-within>.case-more-menu { display:block }
.case-category-nav .case-more-menu>li { display:block;border:0 }
.case-category-nav .case-more-menu>li>a { display:block;padding:9px 18px;color:#444;font-size:15px;line-height:24px;white-space:nowrap }
.case-category-nav .case-more-menu>li>a:hover,
.case-category-nav .case-more-menu>li.clicked>a { background:#cf1020;color:#fff }
.case-list-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0;font-size:0
}
.case-list-grid>li {
  display:block;width:auto;margin:0;vertical-align:top;transition:transform .25s ease,box-shadow .25s ease
}
.case-list-grid>li .img { display:block;aspect-ratio:1.586/1;background:#edf0f2 }
.case-list-grid>li .img img { display:block;width:100%;height:100%;object-fit:cover }
.case-list-grid>li h3 { margin:0 }
.case-list-grid>li h3 a { padding:12px 10px 4px;font-size:15px;line-height:1.7 }
.case-list-grid>li:hover { transform:translateY(-3px) }
.case-page-content .xypg-pagination {
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:34px 0 0
}

/* 案例详情：大图画廊 + 项目信息 + 相关案例，详情页不再重复分类导航。 */
.case-detail-page { padding:34px 0 76px;background:#f5f6f8 }
.case-detail-inner { width:calc(100% - 40px);max-width:1440px;margin:0 auto }
.case-gallery,.case-detail-card { padding:28px 36px;background:#fff }
.case-gallery-stage { position:relative;overflow:hidden;background:#eef0f2;aspect-ratio:16/8.1 }
.case-gallery-stage>img { display:block;width:100%;height:100%;object-fit:contain;transition:opacity .16s ease }
.case-gallery-stage>img.is-changing { opacity:.55 }
.case-gallery-arrow {
  position:absolute;top:50%;z-index:2;width:52px;height:64px;margin-top:-32px;border:0;
  background:rgba(255,255,255,.86);color:#3d4650;font:300 42px/60px Arial;cursor:pointer;transition:background .2s,color .2s
}
.case-gallery-arrow:hover { background:#cf1020;color:#fff }
.case-gallery-arrow.is-prev { left:0 }
.case-gallery-arrow.is-next { right:0 }
.case-gallery-thumbs { display:flex;gap:18px;overflow-x:auto;padding:18px 0 2px;scrollbar-width:thin }
.case-gallery-thumb {
  flex:0 0 150px;height:92px;padding:0;border:2px solid transparent;background:#edf0f2;cursor:pointer;opacity:.72;transition:border-color .2s,opacity .2s
}
.case-gallery-thumb img { display:block;width:100%;height:100%;object-fit:cover }
.case-gallery-thumb:hover,.case-gallery-thumb.is-active { border-color:#cf1020;opacity:1 }
.case-detail-card { margin-top:18px }
.case-detail-header { padding:8px 0 24px;border-bottom:1px solid #e4e7eb }
.case-detail-header h1 { margin:0 0 22px;color:#cf1020;font-size:30px;line-height:1.35;font-weight:600 }
.case-project-facts { display:flex;flex-wrap:wrap;gap:12px 44px;color:#303944;font-size:16px;line-height:1.8 }
.case-project-facts span { position:relative }
.case-project-facts span:not(:last-child):after { content:"";position:absolute;right:-22px;top:7px;width:1px;height:17px;background:#dfe2e6 }
.case-introduction { padding:27px 0 36px }
.case-introduction h2 { margin:0 0 20px;color:#222;font-size:23px;font-weight:500 }
.case-introduction p,.case-richtext { color:#525d68;font-size:16px;line-height:2;text-align:justify }
.case-richtext p { margin:0 0 14px }
.case-richtext table { max-width:100% }
.case-detail-pn { display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;gap:20px;padding:17px 26px;background:#f4f6f8 }
.case-detail-pn>div { min-width:0 }
.case-detail-pn small { display:block;margin-bottom:3px;color:#8a929a;font-size:13px }
.case-detail-pn a,.case-detail-pn span { display:block;overflow:hidden;color:#26313c;font-size:15px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap }
.case-detail-pn a:hover { color:#cf1020 }
.case-detail-pn .is-next { text-align:right }
.case-back-list { display:grid!important;grid-template-columns:repeat(3,5px);grid-template-rows:repeat(3,5px);justify-content:center;gap:3px!important;width:44px;margin:auto;padding:10px!important;box-sizing:border-box }
.case-back-list i { display:block;width:5px;height:5px;background:#cf1020 }
.case-related { margin-top:26px;padding:27px 0 0 }
.case-section-title { display:flex;align-items:center;justify-content:space-between;margin-bottom:18px }
.case-section-title h2 { margin:0;color:#202832;font-size:25px }
.case-section-title>a { color:#707982;font-size:14px }
.case-section-title>a:hover { color:#cf1020 }
.case-related-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px }
.case-related-item { overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s }
.case-related-item .img { display:block;overflow:hidden;aspect-ratio:1.58/1;background:#e9ecef }
.case-related-item img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s }
.case-related-item strong { display:block;padding:15px 18px;color:#343d46;font-size:16px;font-weight:400;text-align:center }
.case-related-item:hover { transform:translateY(-4px);box-shadow:0 12px 28px rgba(38,48,58,.12) }
.case-related-item:hover img { transform:scale(1.035) }
@media(max-width:1100px){
  .case-list-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:24px }
  .case-category-nav .xypg-left-nav>li>a { flex-basis:200px;width:200px;padding:0 24px }
  .case-category-nav .xypg-left-nav .xypg-left-subnav>li>a { padding:8px 10px;font-size:14px }
  .case-gallery-stage { aspect-ratio:16/9 }
}
@media(min-width:992px) and (max-width:1400px){
  .case-page-inner { width:calc(100% - 32px) }
  .case-category-nav .xypg-left-nav>li>a { flex-basis:200px;width:200px;padding:0 24px;font-size:15px }
  .case-category-nav .xypg-left-nav .xypg-left-subnav { padding-left:17px;padding-right:8px }
  .case-category-nav .xypg-left-nav .xypg-left-subnav>li>a { padding:8px 6px;font-size:14px }
  .x-menu>li>.x-sub-menu { left:calc(50% - 28px) }
  .x-top2 .dlogo { width:20% }
  .x-top2 .nnav { width:56%;margin-left:1% }
  .x-top2 .tdhss { width:23% }
}
@media(max-width:991px){
  .x-banner1 { min-height:0 }
  .mbanner { aspect-ratio:16/8.2;background:#eef0f2 }
  .case-category-nav { display:block }
  .case-category-nav .xypg-left-nav .xypg-left-subnav { display:flex }
}
@media(max-width:720px){
  .case-page-inner { width:calc(100% - 28px) }
  .case-category-nav .xypg-left-nav>li { display:block;margin-bottom:14px }
  .case-category-nav .xypg-left-nav>li>a {
    width:100%;min-height:52px;line-height:52px;clip-path:none;box-sizing:border-box
  }
  .case-category-nav .xypg-left-nav>li>a:after { display:none }
  .case-category-nav .xypg-left-nav .xypg-left-subnav { flex-wrap:wrap;padding:5px 7px }
  .case-category-nav .case-more-menu { position:static;display:block;min-width:0;padding:0;border:0;box-shadow:none }
  .case-category-nav .case-more-menu>li { display:inline-block }
  .case-category-nav .case-more-menu>li>a { padding:8px 10px;font-size:14px }
  .case-list-grid { grid-template-columns:1fr;gap:20px }
  .case-detail-page { padding:18px 0 54px }
  .case-detail-inner { width:calc(100% - 24px) }
  .case-gallery,.case-detail-card { padding:14px }
  .case-gallery-stage { aspect-ratio:4/3 }
  .case-gallery-arrow { width:40px;height:52px;margin-top:-26px;font-size:34px;line-height:48px }
  .case-gallery-thumbs { gap:10px;padding-top:12px }
  .case-gallery-thumb { flex-basis:94px;height:62px }
  .case-detail-header h1 { margin-bottom:15px;font-size:23px }
  .case-project-facts { display:block;font-size:14px }
  .case-project-facts span { display:block;margin:4px 0 }
  .case-project-facts span:after { display:none }
  .case-introduction { padding:22px 0 27px }
  .case-introduction h2 { font-size:20px }
  .case-introduction p,.case-richtext { font-size:15px;line-height:1.85 }
  .case-detail-pn { grid-template-columns:1fr 44px 1fr;gap:8px;padding:13px 10px }
  .case-detail-pn a,.case-detail-pn span { font-size:13px }
  .case-related-grid { grid-template-columns:1fr;gap:18px }
}
@media(max-width:600px){
  .tutu { margin:30px 0 }
  .bt1 dt { padding:0 14px;line-height:1.8;letter-spacing:.5px }
  .jxlist { gap:8px }
  .sbt span { font-size:30px }
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.x-top2,.x-menu>li>a:after,.jxlist li,.sul li,.newsSwiper .swiper-slide,.newsSwiper img,.case-list-grid>li{transition:none!important;animation:none!important}}

/* 首页合作伙伴：21 个 Logo 每排 7 个，第二排水平错开半个卡片。 */
@media(min-width:1201px){
  .sy-hezuo{width:90%;margin-top:3.6%}
  .sy-hezuo ul{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:0;align-items:center}
  .sy-hezuo ul li,.sy-hezuo ul li:nth-child(n){position:relative!important;width:100%!important;margin:0!important;left:auto!important;right:auto!important;bottom:auto!important;float:none!important;transform:none!important}
  .sy-hezuo ul li:nth-child(1){grid-column:1/span 2;grid-row:1}.sy-hezuo ul li:nth-child(2){grid-column:3/span 2;grid-row:1}.sy-hezuo ul li:nth-child(3){grid-column:5/span 2;grid-row:1}.sy-hezuo ul li:nth-child(4){grid-column:7/span 2;grid-row:1}.sy-hezuo ul li:nth-child(5){grid-column:9/span 2;grid-row:1}.sy-hezuo ul li:nth-child(6){grid-column:11/span 2;grid-row:1}.sy-hezuo ul li:nth-child(7){grid-column:13/span 2;grid-row:1}
  .sy-hezuo ul li:nth-child(8){grid-column:2/span 2;grid-row:2}.sy-hezuo ul li:nth-child(9){grid-column:4/span 2;grid-row:2}.sy-hezuo ul li:nth-child(10){grid-column:6/span 2;grid-row:2}.sy-hezuo ul li:nth-child(11){grid-column:8/span 2;grid-row:2}.sy-hezuo ul li:nth-child(12){grid-column:10/span 2;grid-row:2}.sy-hezuo ul li:nth-child(13){grid-column:12/span 2;grid-row:2}.sy-hezuo ul li:nth-child(14){grid-column:14/span 2;grid-row:2}
  .sy-hezuo ul li:nth-child(15){grid-column:1/span 2;grid-row:3}.sy-hezuo ul li:nth-child(16){grid-column:3/span 2;grid-row:3}.sy-hezuo ul li:nth-child(17){grid-column:5/span 2;grid-row:3}.sy-hezuo ul li:nth-child(18){grid-column:7/span 2;grid-row:3}.sy-hezuo ul li:nth-child(19){grid-column:9/span 2;grid-row:3}.sy-hezuo ul li:nth-child(20){grid-column:11/span 2;grid-row:3}.sy-hezuo ul li:nth-child(21){grid-column:13/span 2;grid-row:3}
  .sy-hezuo ul li:nth-child(n+8){margin-top:clamp(-48px,-2.8vw,-34px)!important}
}
.sy-hezuo ul li.partner-zccs a{position:relative;display:block;aspect-ratio:1/1}
.sy-hezuo ul li.partner-zccs{z-index:3!important}
.sy-hezuo ul li.partner-zccs a:before{content:"";position:absolute;inset:10%;background:#fff;border-radius:28%;transform:rotate(45deg);filter:drop-shadow(4px 5px 7px rgba(37,48,60,.09))}
.sy-hezuo ul li.partner-zccs img{position:absolute;left:16%;top:18%;z-index:1;display:block;width:68%!important;height:64%;object-fit:contain;background:transparent;clip-path:none;filter:none;mix-blend-mode:normal}
@media(max-width:1200px){
  .sy-hezuo{width:94%}
  .sy-hezuo ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .sy-hezuo ul li,.sy-hezuo ul li:nth-child(n){position:static!important;width:100%!important;margin:0!important;left:auto!important;right:auto!important;bottom:auto!important;float:none!important}
  .sy-hezuo ul li img{display:block;width:100%;height:auto;margin:0 auto}
}
@media(max-width:768px){.sy-hezuo ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
@media(max-width:500px){.sy-hezuo ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}}
/* 在线留言：一次性验证码 */
.inquiry-captcha-field {
    display: flex;
    align-items: center;
    gap: 12px;
}
.inquiry-captcha-field #checkcode {
    width: min(280px, 45%);
    flex: 0 1 280px;
}
.inquiry-captcha-refresh {
    display: inline-flex;
    flex: 0 0 138px;
    width: 138px;
    height: 40px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    background: #f7f7f7;
    cursor: pointer;
}
.inquiry-captcha-refresh img {
    display: block;
    width: 138px;
    height: 40px;
}
.inquiry-captcha-tip {
    color: #888;
    font-size: 13px;
    white-space: nowrap;
}
@media (max-width: 767px) {
    .inquiry-captcha-field {
        flex-wrap: wrap;
    }
    .inquiry-captcha-field #checkcode {
        width: 100%;
        flex-basis: 100%;
    }
    .inquiry-captcha-tip {
        display: none;
    }
}
