@charset "utf-8";
/* ============================================================
   重庆旭重陵建材有限公司 - 全站样式 (style.css)
   参考站: demoall2.5fa.cn/3644 (灯饰照明模板布局还原为建材行业)
   主色 #2991EA 蓝 / 辅色 #FF9900 橙 / 深色 #013C8C 海军蓝(页脚)
   ============================================================ */

:root{
  --main:#2991EA;
  --main-d:#1a78d4;
  --main-l:#79BCFF;
  --accent:#FF9900;
  --accent-d:#e68600;
  --navy:#013C8C;
  --navy-d:#002a66;
  --gray:#ececec;
  --gray2:#f6f6f6;
  --text:#333;
  --text2:#666;
  --text3:#888;
  --border:#e6e6e6;
  --radius:6px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{width:100%;}
body{font-family:"Microsoft YaHei","微软雅黑","Helvetica Neue",Arial,sans-serif;color:var(--text);background:#fff;font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;transition:color .2s,background .2s;}
a:hover{color:var(--accent);}
ul,ol{list-style:none;}
img{max-width:100%;display:block;border:0;}
h1,h2,h3,h4,h5{font-weight:normal;line-height:1.4;}

.container{max-width:1200px;margin:0 auto;padding:0 15px;}
.body{overflow-x:hidden;}

/* ---------- 顶部信息栏 ---------- */
.topbar{background:var(--main);color:#fff;font-size:13px;}
.topbar-in{max-width:1200px;margin:0 auto;padding:0 15px;display:flex;justify-content:space-between;align-items:center;height:38px;flex-wrap:wrap;}
.topbar-left{display:flex;align-items:center;gap:22px;}
.topbar-left span i{margin-right:6px;}
.topbar-right{display:flex;align-items:center;gap:14px;}
.topbar-right .slogan{opacity:.92;}
.topbar-right a{display:inline-flex;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.18);align-items:center;justify-content:center;font-size:12px;}
.topbar-right a:hover{background:var(--accent);}

/* ---------- 页头 ---------- */
.header{background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06);position:sticky;top:0;z-index:50;}
.header-in{max-width:1200px;margin:0 auto;padding:0 15px;display:flex;align-items:center;justify-content:space-between;height:92px;}
.logo{display:flex;align-items:center;gap:12px;}
.logo-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--main),var(--main-l));border-radius:10px;color:#fff;flex-shrink:0;}
.logo-text{display:flex;flex-direction:column;line-height:1.1;}
.logo-brand{font-size:22px;font-weight:bold;color:var(--navy);letter-spacing:1px;}
.logo-sub{font-size:11px;color:var(--main);letter-spacing:4px;margin-top:4px;text-transform:uppercase;}

/* ---------- 主导航 ---------- */
.nav{display:flex;align-items:center;height:92px;}
.nav > li{position:relative;}
.nav > li > a{display:flex;align-items:center;height:92px;padding:0 22px;font-size:16px;color:var(--text);position:relative;}
.nav > li > a::after{content:"";position:absolute;left:50%;bottom:24px;width:0;height:3px;background:var(--accent);transition:width .25s,left .25s;}
.nav > li:hover > a,.nav > li.active > a{color:var(--main);}
.nav > li:hover > a::after,.nav > li.active > a::after{width:28px;left:calc(50% - 14px);}
.nav > li.has-sub{position:relative;}
.nav > li.has-sub > a{padding-right:24px;}
.nav .fa-caret-down{margin-left:6px;font-size:12px;}
.nav .submenu{position:absolute;top:92px;left:50%;transform:translateX(-50%);min-width:180px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.12);border-top:3px solid var(--main);padding:8px 0;opacity:0;visibility:hidden;transform:translateX(-50%) translateY(8px);transition:all .25s;z-index:60;}
.nav > li:hover .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nav .submenu li a{display:block;padding:10px 22px;font-size:14px;color:var(--text2);white-space:nowrap;}
.nav .submenu li a:hover{background:var(--gray2);color:var(--main);padding-left:28px;}

/* 移动端汉堡按钮 */
.m-toggle{display:none;width:40px;height:40px;font-size:24px;color:var(--main);background:none;border:0;cursor:pointer;align-items:center;justify-content:center;}
.m-nav,.m-overlay{display:none;}
.m-list{list-style:none;padding:0;margin:0;}

/* ---------- Banner ---------- */
.banner{position:relative;width:100%;overflow:hidden;background:#001a3a;}
.banner-track{width:100%;}
.banner-slide{width:100%;display:none;position:relative;}
.banner-slide.active{display:block;}
.banner-slide img{width:100%;height:560px;object-fit:cover;}
.banner-mask{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,60,140,.55) 0%,rgba(1,60,140,.15) 60%,rgba(0,0,0,.25) 100%);}
.banner-cap{position:absolute;left:0;top:0;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;}
.banner-cap-in{max-width:1200px;margin:0 auto;padding:0 15px;width:100%;}
.banner-cap .b-en{font-size:18px;letter-spacing:6px;color:var(--accent);text-transform:uppercase;margin-bottom:14px;font-weight:bold;}
.banner-cap h2{font-size:46px;color:#fff;font-weight:bold;line-height:1.3;text-shadow:0 2px 12px rgba(0,0,0,.3);}
.banner-cap .b-line{width:70px;height:4px;background:var(--accent);margin:22px 0;}
.banner-cap .b-sub{font-size:20px;color:#e8f1fb;max-width:640px;}
.banner-cap .b-btn{display:inline-block;margin-top:30px;padding:13px 36px;background:var(--accent);color:#fff;font-size:15px;border-radius:30px;border:2px solid var(--accent);}
.banner-cap .b-btn:hover{background:transparent;color:#fff;}
.banner-dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5;}
.banner-dot{width:34px;height:5px;background:rgba(255,255,255,.55);border-radius:0;cursor:pointer;transition:background .25s;}
.banner-dot.active{background:var(--main);}
.banner-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.18);color:#fff;font-size:22px;border-radius:50%;cursor:pointer;z-index:5;transition:background .2s;}
.banner-arrow:hover{background:var(--main);}
.banner-arrow.prev{left:30px;}
.banner-arrow.next{right:30px;}

/* ---------- 区块通用标题 ---------- */
.sec-title{text-align:center;margin-bottom:42px;}
.sec-title h2{font-size:30px;color:var(--navy);font-weight:bold;position:relative;display:inline-block;padding:0 8px;}
.sec-title h2::before,.sec-title h2::after{content:"";position:absolute;top:50%;width:40px;height:2px;background:var(--main-l);}
.sec-title h2::before{right:100%;}
.sec-title h2::after{left:100%;}
.sec-title .en{display:block;font-size:14px;color:var(--text3);letter-spacing:6px;text-transform:uppercase;margin-top:10px;}

/* ---------- 三栏区块 (关于/新闻/联系) ---------- */
.tri-sec{background:var(--gray);padding:64px 0;}
.tri-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;width:100%;}
.tri-col{background:#fff;padding:34px 26px;border-radius:var(--radius);box-shadow:0 2px 12px rgba(0,0,0,.05);text-align:center;transition:transform .3s,box-shadow .3s;}
.tri-col:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(41,145,234,.15);}
.tri-img{display:block;width:100%;height:200px;overflow:hidden;border-radius:var(--radius);margin-bottom:18px;}
.tri-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.tri-col:hover .tri-img img{transform:scale(1.06);}
.tri-cap{font-size:20px;font-weight:bold;color:var(--navy);margin-bottom:6px;}
.tri-divider{width:46px;height:3px;background:var(--accent);margin:10px auto 16px;}
.tri-text{font-size:13px;color:var(--text2);line-height:1.85;text-align:left;}
/* 中栏新闻小列表 */
.news-mini{margin-top:6px;text-align:left;}
.news-mini li{padding:9px 0;border-bottom:1px dashed #e0e0e0;}
.news-mini li:last-child{border-bottom:0;}
.news-mini .nm-h{display:block;color:var(--text);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.news-mini .nm-h:hover{color:var(--main);}
.news-mini .nm-date{display:block;font-size:12px;color:var(--text3);margin-top:3px;}
/* 右栏联系 */
.tri-contact p{font-size:13px;color:var(--text2);line-height:2;text-align:left;}
.tri-contact p i{color:var(--main);margin-right:8px;width:16px;}

/* ---------- 产品区 ---------- */
.products-sec{padding:70px 0;}
.prd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;width:100%;}
.prd-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;}
.prd-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(0,0,0,.12);border-color:var(--main-l);}
.prd-img{width:100%;aspect-ratio:16/9;overflow:hidden;position:relative;background:var(--gray2);}
.prd-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.prd-card:hover .prd-img img{transform:scale(1.08);}
.prd-info{padding:16px 16px 20px;text-align:center;}
.prd-name{font-size:16px;color:var(--navy);font-weight:bold;margin-bottom:6px;}
.prd-name a:hover{color:var(--main);}
.prd-sum{font-size:12px;color:var(--text3);line-height:1.7;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}

/* ---------- 案例区 ---------- */
.cases-sec{padding:20px 0 80px;}
.case-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;width:100%;}
.case-card{border-radius:var(--radius);overflow:hidden;position:relative;background:#000;}
.case-img{width:100%;aspect-ratio:3/2;overflow:hidden;}
.case-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.case-card:hover .case-img img{transform:scale(1.08);}
.case-mask{position:absolute;inset:0;background:linear-gradient(to top,rgba(1,60,140,.85) 0%,rgba(1,60,140,.1) 55%,transparent 100%);display:flex;align-items:flex-end;padding:18px;opacity:.9;transition:opacity .3s;}
.case-card:hover .case-mask{opacity:1;}
.case-name{color:#fff;font-size:15px;font-weight:bold;}
.case-name .cn-en{display:block;font-size:11px;color:var(--accent);letter-spacing:2px;margin-top:3px;}

/* ---------- 合作伙伴 ---------- */
.partner-sec{background:var(--gray);padding:64px 0;}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;}
.partner-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);height:88px;display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--navy);font-weight:bold;letter-spacing:1px;transition:all .3s;}
.partner-item:hover{color:#fff;background:var(--main);border-color:var(--main);transform:translateY(-3px);}

/* ---------- 页脚 ---------- */
.footer{background:var(--navy);color:#cfe0f5;padding:56px 0 0;}
.footer-in{max-width:1200px;margin:0 auto;padding:0 15px;}
.foot-main{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:34px;padding-bottom:40px;}
.foot-col h3{color:#fff;font-size:16px;font-weight:bold;margin-bottom:18px;position:relative;padding-bottom:12px;}
.foot-col h3::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:2px;background:var(--accent);}
.foot-about p{font-size:13px;line-height:1.9;color:#a9c4e6;}
.foot-about .f-logo{font-size:20px;font-weight:bold;color:#fff;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.foot-col ul li{margin-bottom:10px;}
.foot-col ul li a{font-size:13px;color:#a9c4e6;}
.foot-col ul li a:hover{color:var(--accent);padding-left:5px;}
.foot-contact p{font-size:13px;color:#a9c4e6;line-height:2;margin-bottom:4px;display:flex;align-items:flex-start;}
.foot-contact p i{color:var(--accent);margin-right:9px;margin-top:5px;}
.foot-qr{text-align:center;margin-top:14px;}
.foot-qr img{width:110px;height:110px;background:#fff;padding:6px;border-radius:6px;margin:0 auto;}
.foot-qr p{font-size:12px;color:#a9c4e6;margin-top:8px;text-align:center;}
.foot-links{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:13px;}
.foot-links .fl-in{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 26px;}
.foot-links .fl-in span{color:var(--accent);}
.foot-links a{color:#a9c4e6;}
.foot-links a:hover{color:#fff;}
.footer-copy{background:var(--navy-d);text-align:center;padding:16px 15px;font-size:13px;color:#8fb0d9;}
.footer-copy a{color:#8fb0d9;}
.footer-copy a:hover{color:#fff;}

/* ---------- 悬浮工具栏 ---------- */
.float-tool{position:fixed;right:18px;bottom:60px;z-index:80;display:flex;flex-direction:column;gap:10px;}
.float-tool .ft-btn{width:48px;height:48px;background:#fff;border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--main);font-size:18px;box-shadow:0 2px 10px rgba(0,0,0,.08);transition:all .25s;}
.float-tool .ft-btn span{font-size:11px;margin-top:1px;}
.float-tool .ft-btn:hover{background:var(--main);color:#fff;border-color:var(--main);}
.float-tool .ft-top{display:none;}

/* ============================================================
   内页通用
   ============================================================ */
.n-banner{position:relative;width:100%;height:300px;overflow:hidden;background:var(--navy);}
.n-banner img{width:100%;height:100%;object-fit:cover;}
.n-banner-mask{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,60,140,.82) 0%,rgba(1,60,140,.45) 100%);}
.n-banner-cap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;}
.n-banner-cap-in{max-width:1200px;margin:0 auto;padding:0 15px;width:100%;}
.n-banner-cap h1{color:#fff;font-size:38px;font-weight:bold;}
.n-banner-cap .en{color:var(--accent);font-size:15px;letter-spacing:5px;text-transform:uppercase;margin-top:8px;}

/* 面包屑 */
.ntit{background:#fff;border-bottom:1px solid var(--border);}
.ntit-in{max-width:1200px;margin:0 auto;padding:0 15px;display:flex;justify-content:space-between;align-items:center;height:64px;}
.ntit h1{font-size:22px;color:var(--navy);font-weight:bold;position:relative;padding-left:14px;}
.ntit h1::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:22px;background:var(--main);}
.ntit i{font-size:13px;color:var(--text3);font-style:normal;margin-left:8px;font-weight:normal;letter-spacing:1px;}
.weiz{font-size:13px;color:var(--text3);}
.weiz a:hover{color:var(--main);}
.weiz .sep{margin:0 6px;color:#ccc;}

/* 内页主体 */
.n-main{padding:50px 0;}
.n-container{max-width:1200px;margin:0 auto;padding:0 15px;}

/* ---------- 关于我们页 ---------- */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;margin-bottom:60px;}
.about-intro-img img{width:100%;border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.1);}
.about-intro-text h2{font-size:28px;color:var(--navy);font-weight:bold;margin-bottom:8px;}
.about-intro-text .ai-en{color:var(--main);letter-spacing:3px;font-size:13px;margin-bottom:18px;}
.about-intro-text .ai-line{width:50px;height:3px;background:var(--accent);margin-bottom:20px;}
.about-intro-text p{font-size:14px;color:var(--text2);line-height:2;margin-bottom:14px;}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:60px 0;background:var(--gray);padding:40px 30px;border-radius:var(--radius);}
.about-stat{text-align:center;}
.about-stat .num{font-size:42px;font-weight:bold;color:var(--main);font-family:Arial;}
.about-stat .num small{font-size:18px;color:var(--accent);}
.about-stat .label{font-size:14px;color:var(--text2);margin-top:6px;}

/* 时间轴 */
.timeline{position:relative;max-width:880px;margin:0 auto;padding:20px 0;}
.timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:var(--main-l);transform:translateX(-50%);}
.tl-item{position:relative;width:50%;padding:0 40px 36px 0;}
.tl-item:nth-child(even){left:50%;padding:0 0 36px 40px;}
.tl-item::after{content:"";position:absolute;top:6px;right:-9px;width:15px;height:15px;border-radius:50%;background:var(--main);border:3px solid #fff;box-shadow:0 0 0 3px var(--main-l);}
.tl-item:nth-child(even)::after{left:-9px;right:auto;}
.tl-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.tl-year{font-size:22px;font-weight:bold;color:var(--main);}
.tl-h{font-size:15px;color:var(--navy);font-weight:bold;margin:4px 0 6px;}
.tl-p{font-size:13px;color:var(--text2);line-height:1.7;}

/* 企业文化 */
.culture-sec{background:var(--gray);padding:60px 0;}
.culture-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;width:100%;}
.culture-card{background:#fff;border-radius:var(--radius);padding:38px 28px;text-align:center;transition:transform .3s,box-shadow .3s;border-top:4px solid var(--main-l);}
.culture-card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(0,0,0,.1);border-top-color:var(--accent);}
.culture-icon{width:70px;height:70px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(135deg,var(--main),var(--main-l));color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;}
.culture-h{font-size:18px;color:var(--navy);font-weight:bold;margin-bottom:10px;}
.culture-p{font-size:13px;color:var(--text2);line-height:1.8;}

/* 团队 */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;width:100%;}
.team-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-align:center;transition:transform .3s,box-shadow .3s;}
.team-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px rgba(0,0,0,.1);}
.team-av{width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--gray);}
.team-av img{width:100%;height:100%;object-fit:cover;}
.team-info{padding:18px 12px;}
.team-name{font-size:17px;color:var(--navy);font-weight:bold;}
.team-pos{font-size:13px;color:var(--main);margin-top:4px;}

/* ---------- 产品列表页 ---------- */
.prd-list{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;width:100%;}

/* ---------- 产品详情页 ---------- */
.pdetail-top{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:50px;}
.pdetail-img{width:100%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);}
.pdetail-img img{width:100%;height:auto;}
.pdetail-info h1{font-size:26px;color:var(--navy);font-weight:bold;margin-bottom:8px;}
.pdetail-info .pd-en{color:var(--main);font-size:13px;letter-spacing:2px;margin-bottom:16px;}
.pdetail-info .pd-line{width:50px;height:3px;background:var(--accent);margin-bottom:18px;}
.pdetail-info .pd-desc{font-size:14px;color:var(--text2);line-height:2;margin-bottom:20px;}
.pdetail-cta{display:inline-block;padding:12px 32px;background:var(--accent);color:#fff;border-radius:30px;font-size:14px;margin-bottom:20px;}
.pdetail-cta:hover{background:var(--accent-d);color:#fff;}
.pd-block{margin-bottom:44px;}
.pd-block-title{font-size:20px;color:var(--navy);font-weight:bold;margin-bottom:20px;padding-left:14px;position:relative;border-bottom:1px solid var(--border);padding-bottom:12px;}
.pd-block-title::before{content:"";position:absolute;left:0;top:2px;width:5px;height:20px;background:var(--main);}
.pd-block p{font-size:14px;color:var(--text2);line-height:2;margin-bottom:14px;}
.param-table{width:100%;border-collapse:collapse;font-size:14px;}
.param-table th,.param-table td{border:1px solid var(--border);padding:12px 16px;text-align:left;}
.param-table th{background:var(--gray);color:var(--navy);font-weight:bold;width:160px;}
.param-table td{color:var(--text2);}
.pd-feat{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.feat-item{display:flex;gap:14px;align-items:flex-start;background:var(--gray);padding:18px;border-radius:var(--radius);}
.feat-icon{flex-shrink:0;width:44px;height:44px;border-radius:8px;background:var(--main);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;}
.feat-h{font-size:15px;color:var(--navy);font-weight:bold;margin-bottom:4px;}
.feat-p{font-size:13px;color:var(--text2);line-height:1.7;}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;width:100%;}

/* ---------- 新闻列表页 ---------- */
.news-list{display:flex;flex-direction:column;gap:24px;}
.news-card{display:grid;grid-template-columns:280px 1fr;gap:28px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .3s,transform .3s;}
.news-card:hover{box-shadow:0 12px 30px rgba(0,0,0,.1);transform:translateY(-3px);}
.news-card-img{display:block;width:100%;height:100%;overflow:hidden;}
.news-card-img img{width:100%;height:100%;object-fit:cover;min-height:180px;}
.news-card-info{padding:22px 26px 22px 0;display:flex;flex-direction:column;}
.news-card-h{font-size:18px;color:var(--navy);font-weight:bold;margin-bottom:8px;}
.news-card-h a:hover{color:var(--main);}
.news-card-meta{font-size:13px;color:var(--text3);margin-bottom:12px;display:flex;gap:18px;}
.news-card-meta i{margin-right:5px;color:var(--main);}
.news-card-sum{font-size:13px;color:var(--text2);line-height:1.85;flex:1;}
.news-card-more{display:inline-block;margin-top:14px;color:var(--main);font-size:13px;font-weight:bold;}

/* ---------- 新闻详情页 ---------- */
.news-article{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:40px 48px;}
.news-art-h{text-align:center;font-size:26px;color:var(--navy);font-weight:bold;line-height:1.5;margin-bottom:14px;}
.news-art-meta{text-align:center;font-size:13px;color:var(--text3);padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:26px;}
.news-art-meta span{margin:0 12px;}
.news-art-meta i{margin-right:5px;color:var(--main);}
.news-art-body{font-size:15px;color:#444;line-height:2;}
.news-art-body p{margin-bottom:18px;text-indent:2em;}
.news-art-body img{margin:22px auto;border-radius:var(--radius);max-width:100%;}
.news-art-body h3{font-size:18px;color:var(--navy);font-weight:bold;margin:26px 0 14px;text-indent:0;}
.prenext{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;border-top:1px solid var(--border);padding-top:24px;}
.prenext-item{font-size:14px;color:var(--text2);}
.prenext-item .pl{color:var(--main);font-weight:bold;display:block;margin-bottom:4px;}
.prenext-item a:hover{color:var(--accent);}
.prenext-item.next{text-align:right;}

/* ---------- 联系我们页 ---------- */
.contact-sec{padding:10px 0 60px;}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:50px;}
.contact-card{background:var(--gray);border-radius:var(--radius);padding:36px 28px;text-align:center;transition:transform .3s,background .3s,color .3s;}
.contact-card:hover{background:var(--main);color:#fff;transform:translateY(-5px);}
.contact-card:hover .contact-h,.contact-card:hover .contact-p{color:#fff;}
.contact-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:#fff;color:var(--main);display:flex;align-items:center;justify-content:center;font-size:26px;transition:all .3s;}
.contact-card:hover .contact-icon{background:var(--accent);color:#fff;}
.contact-h{font-size:17px;color:var(--navy);font-weight:bold;margin-bottom:8px;}
.contact-p{font-size:14px;color:var(--text2);line-height:1.7;}
.contact-map-wrap{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-bottom:50px;}
.contact-form-block{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:36px;}
.contact-form-block h3{font-size:20px;color:var(--navy);font-weight:bold;margin-bottom:22px;padding-left:14px;position:relative;}
.contact-form-block h3::before{content:"";position:absolute;left:0;top:5px;width:5px;height:20px;background:var(--main);}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-group{display:flex;flex-direction:column;}
.form-group.full{grid-column:1/-1;}
.form-label{font-size:13px;color:var(--text2);margin-bottom:6px;}
.form-label .req{color:var(--accent);}
.form-input,.form-textarea{width:100%;padding:11px 14px;border:1px solid #d8d8d8;border-radius:4px;font-size:14px;font-family:inherit;background:#fafafa;transition:border-color .2s,background .2s;}
.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--main);background:#fff;}
.form-textarea{min-height:120px;resize:vertical;}
.form-btn{grid-column:1/-1;justify-self:start;padding:13px 40px;background:var(--main);color:#fff;border:0;border-radius:30px;font-size:15px;cursor:pointer;transition:background .2s;}
.form-btn:hover{background:var(--main-d);}

/* CSS模拟地图 (不嵌入真实地图/不使用二维码冒充) */
.contact-map{width:100%;height:100%;min-height:340px;border-radius:var(--radius);overflow:hidden;position:relative;background:
  linear-gradient(135deg,#e8eef5 25%,#dfe7f0 25%,#dfe7f0 50%,#e8eef5 50%,#e8eef5 75%,#dfe7f0 75%,#dfe7f0);
  background-size:46px 46px;
  border:1px solid var(--border);}
.contact-map .road-h{position:absolute;left:0;right:0;height:14px;background:#fff;box-shadow:0 0 0 1px #cdd8e6;}
.contact-map .road-h.r1{top:38%;}
.contact-map .road-h.r2{top:72%;left:30%;right:0;height:10px;}
.contact-map .road-v{position:absolute;top:0;bottom:0;width:14px;background:#fff;box-shadow:0 0 0 1px #cdd8e6;}
.contact-map .road-v.v1{left:42%;}
.contact-map .road-v.v2{left:78%;top:20%;bottom:0;width:10px;}
.contact-map .block{position:absolute;background:rgba(41,145,234,.10);border:1px solid rgba(41,145,234,.18);border-radius:3px;}
.contact-map .pin{position:absolute;left:42%;top:38%;transform:translate(-50%,-100%);z-index:5;}
.contact-map .pin .pin-ic{width:34px;height:34px;background:var(--accent);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;box-shadow:0 4px 10px rgba(0,0,0,.25);}
.contact-map .pin .pin-ic i{transform:rotate(45deg);}
.contact-map .pin .pulse{position:absolute;left:50%;top:100%;width:34px;height:34px;border-radius:50%;background:var(--accent);opacity:.35;transform:translate(-50%,-50%);animation:pulse 1.8s infinite;}
@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:.5;}100%{transform:translate(-50%,-50%) scale(2.4);opacity:0;}}
.contact-map .addr-bubble{position:absolute;left:42%;top:38%;transform:translate(28px,-130%);background:#fff;padding:10px 14px;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.15);font-size:12px;color:var(--text);white-space:nowrap;z-index:6;}
.contact-map .addr-bubble b{color:var(--main);}
.contact-map .map-label{position:absolute;left:12px;bottom:10px;background:rgba(1,60,140,.85);color:#fff;font-size:12px;padding:5px 12px;border-radius:4px;}

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

/* ---------- 淡入动画 (渐进增强, 仅 opacity 不位移, 避免与相邻区块重叠) ---------- */
.fade-in{opacity:1;}
html.js .fade-in{opacity:0;transition:opacity .7s ease;}
html.js .fade-in.visible{opacity:1;}

/* ============================================================
   响应式
   ============================================================ */
@media (max-width:1200px){
  .header-in,.topbar-in,.container,.footer-in,.n-container,.ntit-in,.n-banner-cap-in,.banner-cap-in{padding-left:20px;padding-right:20px;}
}

@media (max-width:1024px){
  .nav,.m-toggle{display:flex;}
  .nav{display:none;}
  .m-toggle{display:flex;}
  .header-in{height:72px;}
  .topbar-right .slogan{display:none;}
  /* 移动端抽屉 */
  .m-nav{display:block;position:fixed;top:0;right:-300px;width:280px;max-width:80%;height:100%;background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,.15);z-index:200;overflow-y:auto;transition:right .3s;padding-top:20px;}
  .m-nav.open{right:0;}
  .m-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:150;opacity:0;visibility:hidden;transition:opacity .3s;}
  .m-overlay.open{opacity:1;visibility:visible;}
  .m-nav .m-item a{display:block;padding:14px 24px;font-size:15px;color:var(--text);border-bottom:1px solid #f0f0f0;}
  .m-nav .m-item a:hover,.m-nav .m-item.active a{color:var(--main);background:var(--gray2);}
  .m-nav .m-sub{background:var(--gray2);}
  .m-nav .m-sub a{padding-left:44px;font-size:14px;}
  .m-nav .m-close{position:absolute;top:10px;right:14px;font-size:26px;color:var(--text3);background:none;border:0;cursor:pointer;}

  .banner-slide img{height:380px;}
  .banner-cap h2{font-size:30px;}
  .banner-cap .b-en{font-size:14px;}
  .banner-cap .b-sub{font-size:15px;}

  .tri-grid{grid-template-columns:1fr;gap:24px;}
  .prd-grid,.case-grid,.partner-grid,.culture-grid,.team-grid,.prd-list,.related-grid{grid-template-columns:repeat(3,1fr);}
  .about-stats{grid-template-columns:repeat(2,1fr);}
  .foot-main{grid-template-columns:repeat(2,1fr);gap:28px;}
  .about-intro{grid-template-columns:1fr;}
  .about-intro-img{order:-1;}
  .pdetail-top{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .contact-map-wrap{grid-template-columns:1fr;}
  .news-card{grid-template-columns:220px 1fr;}
  .prenext{grid-template-columns:1fr;}
  .prenext-item.next{text-align:left;}
}

@media (max-width:768px){
  .topbar-left{gap:14px;font-size:12px;}
  .topbar-left span:nth-child(2){display:none;}
  .sec-title h2{font-size:24px;}
  .sec-title h2::before,.sec-title h2::after{width:24px;}
  .n-banner{height:200px;}
  .n-banner-cap h1{font-size:26px;}
  .ntit-in{height:auto;flex-direction:column;align-items:flex-start;padding-top:14px;padding-bottom:14px;gap:6px;}
  .prd-grid,.case-grid,.partner-grid,.culture-grid,.team-grid,.prd-list,.related-grid{grid-template-columns:repeat(2,1fr);}
  .pd-feat{grid-template-columns:1fr;}
  .contact-form{grid-template-columns:1fr;}
  .news-card{grid-template-columns:1fr;}
  .news-card-img img{min-height:0;}
  .news-card-info{padding:18px;}
  .news-article{padding:24px 18px;}
  .timeline::before{left:18px;}
  .tl-item{width:100%;padding:0 0 30px 44px;}
  .tl-item:nth-child(even){left:0;padding:0 0 30px 44px;}
  .tl-item::after,.tl-item:nth-child(even)::after{left:11px;right:auto;}
  .float-tool{right:10px;bottom:30px;}
  .foot-main{grid-template-columns:1fr;}
  .foot-links .fl-in{gap:6px 16px;}
}

@media (max-width:480px){
  .prd-grid,.case-grid,.partner-grid,.culture-grid,.team-grid,.prd-list,.related-grid,.about-stats{grid-template-columns:1fr;}
  .logo-brand{font-size:18px;}
  .logo-sub{font-size:10px;letter-spacing:2px;}
  .banner-cap h2{font-size:22px;}
  .banner-cap .b-btn{padding:10px 24px;font-size:13px;}
}
