/* =====================================================================
   汇温里广告 huiwenli.com — 全站共享样式
   还原参考站 demoall2.5fa.cn/4100 ：橙红创意风 + 固定白头 + 4列案例网格
   主色 #F23F00 / 辅色 #F9BC70 / 强调 #F56634 / 点缀黄 #FBE904
   ===================================================================== */

:root{
  --main:#F23F00;
  --main-light:#FF5C26;
  --main-deep:#D6161C;
  --vice:#F9BC70;
  --accent:#F56634;
  --yellow:#FBE904;
  --dark:#232323;
  --text:#333333;
  --text-mid:#5c5b5b;
  --text-light:#666666;
  --muted:#999999;
  --bg:#ffffff;
  --bg-alt:#fafafa;
  --bg-soft:#FEEEE8;
  --border:#e5e5e5;
  --shadow:0 1px 2px rgba(0,0,0,0.10);
  --shadow-hover:0 8px 24px rgba(242,63,0,0.18);
  --maxw:1200px;
}

/* ---------- reset ---------- */
*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:16px;-webkit-text-size-adjust:100%;}
body{
  font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Helvetica Neue",Arial,sans-serif;
  color:var(--text);background:var(--bg);line-height:1.7;font-size:14px;
  overflow-x:hidden;
}
a{color:var(--text);text-decoration:none;transition:color .25s ease;}
a:hover{color:var(--main);}
img{max-width:100%;display:block;border:0;}
ul,ol{list-style:none;}
input,textarea,button,select{font-family:inherit;font-size:inherit;outline:none;}
h1,h2,h3,h4{font-weight:normal;color:var(--dark);}

/* ---------- layout helpers ---------- */
.body-wrap{width:100%;overflow:hidden;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 15px;}
.section{width:100%;}
.pd-top-sm{padding-top:30px;}.pd-top-md{padding-top:50px;}.pd-top-lg{padding-top:70px;}
.pd-bot-sm{padding-bottom:30px;}.pd-bot-md{padding-bottom:50px;}.pd-bot-lg{padding-bottom:70px;}
.bg-alt{background:var(--bg-alt);}
.bg-soft{background:var(--bg-soft);}
.bg-dark{background:#1c1c1c;color:#cfcfcf;}
.clearfix::after{content:"";display:block;clear:both;}

/* ---------- fade-in (progressive enhancement; see script.js) ---------- */
.fade-in{opacity:1;transform:none;transition:opacity .8s ease,transform .8s ease;}
html.js .fade-in{opacity:0;transform:translateY(30px);}
html.js .fade-in.visible{opacity:1;transform:none;}

/* ---------- section title (w-title16 居中带装饰) ---------- */
.sec-title{text-align:center;line-height:1.3;margin-bottom:10px;}
.sec-title h2{font-size:26px;color:var(--dark);font-weight:bold;letter-spacing:1px;display:inline-block;position:relative;padding:0 30px;}
.sec-title h2::before,.sec-title h2::after{content:"";position:absolute;top:50%;width:18px;height:2px;background:var(--main);}
.sec-title h2::before{left:-4px;}.sec-title h2::after{right:-4px;}
.sec-title span{display:block;font-size:16px;color:var(--muted);letter-spacing:3px;text-transform:uppercase;margin-top:6px;}
.sec-title.left{text-align:left;}
.sec-title.left h2{padding:0;}
.sec-title.left h2::before,.sec-title.left h2::after{display:none;}

/* =================================================================
   顶部信息栏 (top-bar) — 热线 + 搜索
   ================================================================= */
.top-bar{background:#f6f6f6;border-bottom:1px solid #eee;font-size:13px;}
.top-bar-in{max-width:var(--maxw);margin:0 auto;padding:7px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;}
.top-hotline{color:var(--text-mid);white-space:nowrap;}
.top-hotline b{color:var(--main);font-size:20px;font-weight:bold;margin-left:6px;letter-spacing:.5px;}
.top-bar-right{display:flex;align-items:center;gap:18px;}
.top-bar-right .tb-link{color:var(--text-light);}
.top-bar-right .tb-link:hover{color:var(--main);}
.top-search{display:flex;align-items:center;border:1px solid #ddd;background:#fff;border-radius:2px;overflow:hidden;}
.top-search input{border:0;padding:6px 10px;width:150px;background:transparent;font-size:13px;}
.top-search button{border:0;background:var(--main);color:#fff;padding:7px 14px;cursor:pointer;font-size:13px;}
.top-search button:hover{background:var(--main-deep);}

/* =================================================================
   站点头 (topbox) — logo + 主导航 + 联系电话（固定顶部）
   menubox 作为 topbox 子元素
   ================================================================= */
.site-header{position:fixed;top:0;left:0;width:100%;height:90px;z-index:999;background:#fff;box-shadow:var(--shadow);}
.header-in{max-width:var(--maxw);margin:0 auto;height:100%;padding:0 15px;display:flex;align-items:center;justify-content:space-between;}
/* logo */
.logo{display:flex;align-items:center;gap:12px;}
.logo-icon{width:48px;height:48px;flex:none;}
.logo-icon svg{width:100%;height:100%;display:block;}
.logo-text{display:flex;flex-direction:column;line-height:1.1;}
.logo-text b{font-size:24px;font-weight:bold;color:var(--dark);letter-spacing:1px;}
.logo-text small{font-size:11px;color:var(--main);letter-spacing:3px;margin-top:3px;text-transform:uppercase;}
/* nav */
.main-nav{display:flex;align-items:center;gap:4px;}
.nav-list{display:flex;align-items:center;}
.nav-list>li{position:relative;}
.nav-list>li>a{display:block;line-height:90px;font-size:15px;color:var(--dark);padding:0 20px;position:relative;}
.nav-list>li>a::after{content:"";position:absolute;left:50%;bottom:24px;width:0;height:2px;background:var(--main);transition:width .25s,left .25s;}
.nav-list>li:hover>a,.nav-list>li.active>a{color:var(--main);}
.nav-list>li:hover>a::after,.nav-list>li.active>a::after{width:24px;left:calc(50% - 12px);}
.nav-list .has-sub>a::after{display:none;}
.nav-list .sub-arrow{font-size:12px;margin-left:4px;}
/* dropdown submenu */
.submenu{position:absolute;top:90px;left:50%;transform:translateX(-50%);min-width:170px;background:#212121;box-shadow:0 4px 12px rgba(0,0,0,.2);opacity:0;visibility:hidden;transition:all .25s ease;z-index:1000;text-align:center;padding:6px 0;}
.nav-list>li:hover .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.submenu li a{display:block;color:#cfcfcf;font-size:14px;padding:9px 18px;line-height:1.5;border-bottom:1px solid #333;}
.submenu li:last-child a{border-bottom:0;}
.submenu li a:hover{background:var(--main);color:#fff;}
/* header contact (desktop) */
.header-contact{display:flex;align-items:center;gap:10px;padding-left:18px;border-left:1px solid #eee;}
.header-contact .hc-icon{width:38px;height:38px;border-radius:50%;background:var(--main);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;}
.header-contact .hc-text small{display:block;font-size:11px;color:var(--muted);}
.header-contact .hc-text b{font-size:18px;color:var(--dark);letter-spacing:.5px;}
/* hamburger toggle (hidden on desktop) */
.nav-toggle{display:none;width:44px;height:44px;background:none;border:0;font-size:24px;color:var(--dark);cursor:pointer;}
/* mobile drawer (hidden on desktop — top-level display:none per layout safety) */
.m-nav,.m-overlay{display:none;}

/* =================================================================
   Banner 轮播
   ================================================================= */
.banner-wrap{position:relative;width:100%;margin-top:90px;overflow:hidden;background:#222;}
.banner{position:relative;width:100%;height:560px;}
.banner-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease-in-out;}
.banner-slide.active{opacity:1;}
.banner-slide img{width:100%;height:100%;object-fit:cover;}
.banner-mask{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 50%,rgba(0,0,0,.1) 100%);}
.banner-text{position:absolute;left:0;top:0;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;color:#fff;max-width:var(--maxw);margin:0 auto;padding:0 15px;}
.banner-text .bt-tag{font-size:14px;letter-spacing:6px;color:var(--vice);text-transform:uppercase;margin-bottom:14px;}
.banner-text h2{font-size:46px;font-weight:bold;color:#fff;line-height:1.3;letter-spacing:2px;text-shadow:0 2px 8px rgba(0,0,0,.4);}
.banner-text p{font-size:18px;margin-top:16px;color:#f3f3f3;max-width:560px;}
.banner-text .bt-btn{display:inline-block;margin-top:28px;padding:12px 34px;background:var(--main);color:#fff;font-size:15px;border-radius:2px;align-self:flex-start;transition:background .25s;}
.banner-text .bt-btn:hover{background:var(--main-deep);}
.banner-dots{position:absolute;bottom:24px;left:0;width:100%;text-align:center;z-index:5;}
.banner-dots span{display:inline-block;width:30px;height:4px;margin:0 4px;background:rgba(255,255,255,.5);cursor:pointer;transition:background .25s;}
.banner-dots span.active{background:var(--main);}

/* =================================================================
   核心业务 / 服务
   ================================================================= */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;width:100%;}
.service-card{background:#fff;border:1px solid #eee;padding:34px 24px;text-align:center;transition:all .3s ease;position:relative;overflow:hidden;}
.service-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--main);transform:scaleX(0);transition:transform .3s ease;transform-origin:left;}
.service-card:hover{box-shadow:var(--shadow-hover);border-color:transparent;transform:translateY(-6px);}
.service-card:hover::before{transform:scaleX(1);}
.service-icon{width:70px;height:70px;margin:0 auto 18px;border-radius:50%;background:var(--bg-soft);color:var(--main);display:flex;align-items:center;justify-content:center;font-size:30px;transition:all .3s ease;}
.service-card:hover .service-icon{background:var(--main);color:#fff;transform:rotate(360deg);}
.service-card h3{font-size:18px;color:var(--dark);margin-bottom:10px;font-weight:bold;}
.service-card p{font-size:13px;color:var(--text-light);line-height:1.7;}

/* =================================================================
   精品案例 (4列方图网格 — imgScaleBig)
   ================================================================= */
.cases-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;}
.case-card{position:relative;overflow:hidden;background:#fff;border:1px solid #eee;}
.case-img{position:relative;width:100%;padding-bottom:75%;overflow:hidden;}
.case-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.case-card:hover .case-img img{transform:scale(1.12);}
.case-mask{position:absolute;inset:0;background:rgba(242,63,0,.0);transition:background .35s ease;display:flex;align-items:flex-end;justify-content:center;padding-bottom:18px;pointer-events:none;}
.case-card:hover .case-mask{background:rgba(242,63,0,.55);}
.case-mask .cm-view{opacity:0;transform:translateY(10px);transition:all .35s ease;color:#fff;border:1px solid #fff;padding:7px 22px;font-size:13px;border-radius:2px;}
.case-card:hover .case-mask .cm-view{opacity:1;transform:translateY(0);}
.case-name{padding:14px 12px;text-align:center;font-size:15px;color:var(--dark);border-top:1px solid #eee;}
.case-card:hover .case-name{color:var(--main);}

/* =================================================================
   关于我们 (左标题28% + 右文字72%，黑横条)
   ================================================================= */
.about-wrap{display:grid;grid-template-columns:28% 72%;gap:40px;align-items:center;width:100%;}
.about-left .sec-title{text-align:left;}
.about-left .sec-title h2{padding:0;}
.about-left .sec-title h2::before,.about-left .sec-title h2::after{display:none;}
.about-right{}
.about-bar{background:var(--dark);height:6px;width:96px;margin-bottom:14px;}
.about-brand{font-size:22px;color:var(--dark);font-weight:bold;margin-bottom:16px;}
.about-desc{font-size:14px;color:var(--text-light);line-height:2;text-indent:2em;}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px;}
.about-stat{text-align:center;}
.about-stat b{display:block;font-size:38px;color:var(--main);font-weight:bold;line-height:1;}
.about-stat span{display:block;font-size:13px;color:var(--text-light);margin-top:8px;}

/* =================================================================
   新闻中心 (左大图30% + 右列表65%)
   ================================================================= */
.news-wrap{display:grid;grid-template-columns:30% 70%;gap:30px;width:100%;align-items:start;}
.news-feature{position:relative;overflow:hidden;}
.news-feature-img{position:relative;width:100%;padding-bottom:75%;overflow:hidden;}
.news-feature-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.news-feature:hover .news-feature-img img{transform:scale(1.08);}
.news-feature-cap{padding:16px 0 0;}
.news-feature-cap h3{font-size:17px;color:var(--dark);line-height:1.5;margin-bottom:8px;font-weight:bold;}
.news-feature-cap p{font-size:13px;color:var(--text-light);line-height:1.7;}
.news-list-side{}
.news-list-side li{border-bottom:1px dashed #e0e0e0;}
.news-list-side li a{display:flex;align-items:center;justify-content:space-between;padding:16px 4px;gap:18px;}
.news-list-side li a:hover h4{color:var(--main);}
.news-list-side li a:hover .nl-date{color:#fff;background:var(--main);}
.news-list-side li h4{font-size:15px;color:var(--dark);font-weight:normal;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .25s;}
.news-list-side .nl-date{flex:none;text-align:center;background:#f0f0f0;color:var(--text-light);font-size:12px;padding:4px 10px;border-radius:2px;transition:all .25s;}

/* =================================================================
   合作伙伴
   ================================================================= */
.partners-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;width:100%;}
.partner-item{height:90px;border:1px solid #eee;background:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--text-mid);font-weight:bold;letter-spacing:1px;transition:all .3s ease;}
.partner-item:hover{color:var(--main);border-color:var(--main);box-shadow:var(--shadow-hover);}

/* =================================================================
   友情链接
   ================================================================= */
.friend-links{background:#2a2a2a;color:#bbb;font-size:13px;}
.friend-links-in{max-width:var(--maxw);margin:0 auto;padding:14px 15px;display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px;}
.friend-links span{color:var(--vice);}
.friend-links a{color:#bbb;}
.friend-links a:hover{color:var(--main);}

/* =================================================================
   页脚 (4列：公司简介 | 快速导航 | 产品中心 | 联系方式)
   ================================================================= */
.site-footer{background:#1c1c1c;color:#bdbdbd;}
.footer-top{max-width:var(--maxw);margin:0 auto;padding:54px 15px 44px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:34px;}
.footer-col h4{font-size:16px;color:#fff;font-weight:bold;margin-bottom:20px;position:relative;padding-bottom:10px;}
.footer-col h4::after{content:"";position:absolute;left:0;bottom:0;width:30px;height:2px;background:var(--main);}
.footer-co-name{font-size:18px;color:#fff;font-weight:bold;margin-bottom:8px;}
.footer-en{font-size:11px;color:var(--vice);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;}
.footer-desc{font-size:13px;color:#9d9d9d;line-height:1.9;margin-bottom:18px;}
.footer-links li{margin-bottom:10px;}
.footer-links li a{color:#bdbdbd;font-size:13px;}
.footer-links li a:hover{color:var(--main);padding-left:4px;}
.footer-contact-list{font-size:13px;line-height:1.6;}
.footer-contact-list li{display:flex;gap:10px;margin-bottom:14px;color:#cfcfcf;align-items:flex-start;}
.footer-contact-list .fc-icon{flex:none;color:var(--main);width:16px;text-align:center;margin-top:2px;}
.footer-contact-list .fc-text small{display:block;color:#888;font-size:11px;margin-bottom:2px;}
.footer-qr{display:flex;gap:14px;margin-top:18px;align-items:center;}
.footer-qr img{width:97px;height:97px;background:#fff;padding:4px;}
.footer-qr span{display:block;font-size:12px;color:#999;line-height:1.6;}
.footer-left .footer-co-name{font-size:20px;}
.footer-contact-list .fc-text{word-break:break-all;}
.footer-bottom{border-top:1px solid #2e2e2e;background:#161616;}
.footer-bottom-in{max-width:var(--maxw);margin:0 auto;padding:14px 15px;text-align:center;font-size:12px;color:#888;}
.footer-bottom-in a{color:#888;}
.footer-bottom-in a:hover{color:var(--main);}
.footer-bottom-in .sep{margin:0 8px;color:#444;}

/* =================================================================
   悬浮 TOP 按钮 / 返回顶部
   ================================================================= */
.float-top{position:fixed;right:20px;bottom:30px;width:46px;height:46px;background:var(--main);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;z-index:998;opacity:0;visibility:hidden;transition:all .3s ease;border-radius:2px;box-shadow:0 2px 8px rgba(0,0,0,.2);}
.float-top.show{opacity:1;visibility:visible;}
.float-top:hover{background:var(--main-deep);}
.float-top .ft-txt{font-size:12px;}

/* =================================================================
   内页：Banner + 面包屑
   ================================================================= */
.n-banner{position:relative;width:100%;height:260px;margin-top:90px;overflow:hidden;background:#222;}
.n-banner img{width:100%;height:100%;object-fit:cover;}
.n-banner-mask{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.n-banner-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;}
.n-banner-text h2{font-size:34px;color:#fff;font-weight:bold;letter-spacing:2px;}
.n-banner-text span{font-size:13px;color:var(--vice);letter-spacing:4px;text-transform:uppercase;margin-top:8px;}
/* breadcrumb bar */
.crumb{background:var(--bg-alt);border-bottom:1px solid #eee;}
.crumb-in{max-width:var(--maxw);margin:0 auto;padding:18px 15px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;}
.crumb-title{display:flex;flex-direction:column;}
.crumb-title h1{font-size:22px;color:var(--dark);font-weight:bold;line-height:1.3;}
.crumb-title h1{margin:0;}
.crumb-title i{font-style:normal;font-size:12px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-top:4px;}
.crumb-path{font-size:13px;color:var(--text-light);}
.crumb-path a{color:var(--text-light);}
.crumb-path a:hover{color:var(--main);}
.crumb-path .sep{margin:0 6px;color:var(--muted);}
.crumb-path .cur{color:var(--main);}

/* =================================================================
   产品列表页
   ================================================================= */
.prod-list-section{padding:50px 0;}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;width:100%;}

/* =================================================================
   产品详情页
   ================================================================= */
.detail-section{padding:40px 0 50px;}
.detail-top{display:grid;grid-template-columns:45% 55%;gap:36px;align-items:start;}
.detail-img{border:1px solid #eee;overflow:hidden;}
.detail-img img{width:100%;height:auto;}
.detail-info h1{font-size:26px;color:var(--dark);font-weight:bold;line-height:1.4;margin-bottom:14px;}
.detail-info .detail-desc{font-size:14px;color:var(--text-light);line-height:2;margin-bottom:20px;}
.params-table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:13px;}
.params-table th,.params-table td{border:1px solid #eee;padding:10px 14px;text-align:left;}
.params-table th{background:var(--bg-soft);color:var(--dark);font-weight:bold;width:32%;}
.params-table td{color:var(--text-light);}
.detail-features{margin-top:10px;}
.detail-features .df-title{font-size:18px;color:var(--dark);font-weight:bold;margin-bottom:18px;padding-left:12px;border-left:4px solid var(--main);}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.feature-item{display:flex;gap:14px;align-items:flex-start;}
.feature-item .feature-icon{flex:none;width:42px;height:42px;border-radius:50%;background:var(--bg-soft);color:var(--main);display:flex;align-items:center;justify-content:center;font-size:18px;}
.feature-item h4{font-size:15px;color:var(--dark);margin-bottom:4px;font-weight:bold;}
.feature-item p{font-size:13px;color:var(--text-light);line-height:1.6;}
.related-section{border-top:1px solid #eee;padding-top:40px;margin-top:40px;}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;}

/* =================================================================
   新闻列表页
   ================================================================= */
.news-list-section{padding:50px 0;}
.news-card{display:grid;grid-template-columns:240px 1fr;gap:24px;background:#fff;border:1px solid #eee;margin-bottom:22px;transition:all .3s ease;}
.news-card:hover{box-shadow:var(--shadow-hover);border-color:transparent;}
.news-card-img{overflow:hidden;}
.news-card-img img{width:100%;height:100%;object-fit:cover;min-height:160px;transition:transform .5s ease;}
.news-card:hover .news-card-img img{transform:scale(1.08);}
.news-card-body{padding:22px 24px 22px 0;}
.news-card-body h3{font-size:18px;color:var(--dark);font-weight:bold;margin-bottom:10px;transition:color .25s;}
.news-card:hover .news-card-body h3{color:var(--main);}
.news-card-body .nc-meta{font-size:12px;color:var(--muted);margin-bottom:12px;}
.news-card-body .nc-meta span{margin-right:16px;}
.news-card-body p{font-size:13px;color:var(--text-light);line-height:1.9;}
.news-card-body .nc-more{display:inline-block;margin-top:14px;color:var(--main);font-size:13px;}

/* =================================================================
   新闻详情页
   ================================================================= */
.article-section{padding:40px 0 50px;}
.article-head{text-align:center;border-bottom:1px solid #eee;padding-bottom:20px;margin-bottom:26px;}
.article-head h1{font-size:26px;color:var(--dark);font-weight:bold;line-height:1.5;}
.article-head .meta{font-size:13px;color:var(--muted);margin-top:12px;}
.article-head .meta span{margin:0 10px;}
.article-body{font-size:14px;color:var(--text);line-height:2.1;}
.article-body p{margin-bottom:18px;text-indent:2em;}
.article-body h3{font-size:18px;color:var(--dark);font-weight:bold;margin:24px 0 14px;text-indent:0;border-left:4px solid var(--main);padding-left:12px;}
.article-body img{margin:20px auto;width:100%;max-width:760px;border:1px solid #eee;}
.article-nav{display:flex;justify-content:space-between;gap:20px;margin-top:36px;padding-top:22px;border-top:1px solid #eee;font-size:13px;}
.article-nav a{color:var(--text-light);max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.article-nav a:hover{color:var(--main);}

/* =================================================================
   关于我们页
   ================================================================= */
.about-page{padding:40px 0 50px;}
.about-page p{font-size:14px;color:var(--text-light);line-height:2.1;margin-bottom:16px;text-indent:2em;}
.block-title{font-size:22px;color:var(--dark);font-weight:bold;margin-bottom:24px;padding-left:14px;border-left:5px solid var(--main);}
.timeline{position:relative;padding-left:30px;margin-bottom:50px;}
.timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--main);}
.timeline-item{position:relative;padding-bottom:30px;}
.timeline-item::before{content:"";position:absolute;left:-26px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--main);border:2px solid #fff;box-shadow:0 0 0 2px var(--main);}
.timeline-item .tl-year{font-size:18px;color:var(--main);font-weight:bold;margin-bottom:6px;}
.timeline-item .tl-body h4{font-size:16px;color:var(--dark);font-weight:bold;margin-bottom:6px;}
.timeline-item .tl-body p{font-size:13px;color:var(--text-light);text-indent:0;}
.culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;width:100%;margin-bottom:50px;}
.culture-card{background:#fff;border:1px solid #eee;padding:34px 26px;text-align:center;transition:all .3s;}
.culture-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-6px);border-color:transparent;}
.culture-icon{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--bg-soft);color:var(--main);display:flex;align-items:center;justify-content:center;font-size:28px;}
.culture-card h3{font-size:18px;color:var(--dark);font-weight:bold;margin-bottom:12px;}
.culture-card p{font-size:13px;color:var(--text-light);line-height:1.8;text-indent:0;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;width:100%;}
.team-card{background:#fff;border:1px solid #eee;text-align:center;overflow:hidden;transition:all .3s;}
.team-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-6px);}
.team-card img{width:100%;height:240px;object-fit:cover;}
.team-card h4{font-size:17px;color:var(--dark);font-weight:bold;margin-top:14px;}
.team-card span{display:block;font-size:13px;color:var(--main);margin:4px 0 16px;}

/* =================================================================
   联系我们页
   ================================================================= */
.contact-section{padding:40px 0 50px;}
.contact-info{width:100%;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
.contact-info-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px;}
.contact-info-item .ci-icon{flex:none;width:54px;height:54px;border-radius:50%;background:var(--main);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;}
.contact-info-item h4{font-size:16px;color:var(--dark);font-weight:bold;margin-bottom:4px;}
.contact-info-item p{font-size:14px;color:var(--text-light);}
.contact-form-box{background:var(--bg-alt);padding:30px;}
.contact-form-box h3{font-size:18px;color:var(--dark);font-weight:bold;margin-bottom:20px;padding-left:12px;border-left:4px solid var(--main);}
.cform .cform-row{margin-bottom:16px;}
.cform label{display:block;font-size:13px;color:var(--text-mid);margin-bottom:6px;}
.cform input,.cform textarea{width:100%;background:#fff;border:1px solid #ddd;padding:11px 12px;font-size:14px;border-radius:2px;}
.cform input:focus,.cform textarea:focus{border-color:var(--main);}
.cform textarea{resize:vertical;min-height:120px;}
.cform button{background:var(--main);color:#fff;border:0;padding:13px 44px;font-size:15px;cursor:pointer;border-radius:2px;transition:background .25s;}
.cform button:hover{background:var(--main-deep);}
.form-submit{margin-top:6px;}

/* =================================================================
   图片兜底
   ================================================================= */
.img-fallback{background:linear-gradient(135deg,#F23F00,#F9BC70);display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:200px;color:#fff;font-size:14px;border-radius:0;}

/* =================================================================
   响应式 — 平板 (<=960px)
   ================================================================= */
@media (max-width:960px){
  :root{--maxw:960px;}
  .banner{height:420px;}
  .banner-text h2{font-size:34px;}
  .banner-text p{font-size:16px;}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .cases-grid{grid-template-columns:repeat(3,1fr);}
  .about-wrap{grid-template-columns:1fr;gap:24px;}
  .about-stats{grid-template-columns:repeat(4,1fr);}
  .news-wrap{grid-template-columns:1fr;gap:24px;}
  .partners-grid{grid-template-columns:repeat(4,1fr);}
  .prod-grid{grid-template-columns:repeat(3,1fr);}
  .related-grid{grid-template-columns:repeat(3,1fr);}
  .team-grid{grid-template-columns:repeat(3,1fr);}
  .footer-top{grid-template-columns:1fr 1fr;gap:30px;}
  .detail-top{grid-template-columns:1fr;gap:24px;}
  .feature-list{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;gap:30px;}
  /* nav → hamburger */
  .header-in .main-nav,.header-in .header-contact{display:none;}
  .nav-toggle{display:flex;align-items:center;justify-content:center;}
  .m-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100;opacity:0;transition:opacity .3s;}
  .m-nav{display:block;position:fixed;top:0;right:-300px;width:280px;height:100%;background:#fff;z-index:1200;overflow-y:auto;transition:right .3s ease;box-shadow:-3px 0 12px rgba(0,0,0,.15);}
  body.m-open .m-nav{right:0;}
  body.m-open .m-overlay{display:block;opacity:1;}
  .m-nav .m-head{padding:16px;background:var(--main);color:#fff;font-size:16px;font-weight:bold;display:flex;justify-content:space-between;align-items:center;}
  .m-nav .m-head .m-close{font-size:22px;cursor:pointer;background:none;border:0;color:#fff;}
  .m-nav ul li{border-bottom:1px solid #eee;}
  .m-nav ul li a{display:block;padding:14px 18px;color:var(--dark);font-size:15px;}
  .m-nav ul li a:hover,.m-nav ul li.active a{background:var(--bg-soft);color:var(--main);}
  .m-nav .m-sub{display:none;background:#fafafa;}
  .m-nav .m-sub li a{padding-left:34px;font-size:14px;}
  .m-nav .m-contact{padding:18px;font-size:13px;color:var(--text-light);line-height:1.9;}
  .m-nav .m-contact b{color:var(--main);font-size:18px;}
  .top-search input{width:110px;}
  .n-banner{height:200px;}
}

/* =================================================================
   响应式 — 手机 (<=600px)
   ================================================================= */
@media (max-width:600px){
  :root{--maxw:100%;}
  .top-bar-in{flex-direction:column;align-items:flex-start;gap:8px;}
  .top-bar-right{width:100%;justify-content:space-between;}
  .top-search{flex:1;}
  .top-search input{width:100%;flex:1;}
  .logo-text b{font-size:19px;}
  .logo-text small{font-size:10px;}
  .logo-icon{width:40px;height:40px;}
  .banner{height:300px;}
  .banner-text h2{font-size:24px;letter-spacing:1px;}
  .banner-text p{font-size:14px;}
  .banner-text .bt-btn{padding:10px 24px;font-size:13px;}
  .sec-title h2{font-size:22px;}
  .services-grid{grid-template-columns:1fr;}
  .cases-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .prod-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .related-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
  .about-stats{grid-template-columns:repeat(2,1fr);gap:18px;}
  .partners-grid{grid-template-columns:repeat(2,1fr);}
  .culture-grid{grid-template-columns:1fr;}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .team-card img{height:200px;}
  .footer-top{grid-template-columns:1fr;gap:26px;}
  .n-banner{height:160px;}
  .n-banner-text h2{font-size:24px;}
  .crumb-title h1{font-size:18px;}
  .detail-top{grid-template-columns:1fr;}
  .footer-form .form-row{grid-template-columns:1fr;}
  .article-head h1{font-size:20px;}
  .pd-top-lg{padding-top:40px;}.pd-bot-lg{padding-bottom:40px;}
  .pd-top-md{padding-top:30px;}.pd-bot-md{padding-bottom:30px;}
  .float-top{right:12px;bottom:20px;width:40px;height:40px;}
  .news-card{grid-template-columns:1fr;}
  .news-card-img img{min-height:180px;}
  .news-card-body{padding:18px;}
}

/* screen-reader-only (SEO / a11y) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
