
* { margin:0; padding:0; box-sizing:border-box; }
html,body { font-family:"Microsoft YaHei","微软雅黑",Arial,sans-serif; color:#333; font-size:14px; line-height:1.7; background:#fff; }
a { color:inherit; text-decoration:none; transition:all .3s; }
img { display:block; max-width:100%; border:0; }
ul { list-style:none; }
.container { max-width:1280px; margin:0 auto; padding:0 20px; }
.clearfix::after { content:""; display:block; clear:both; }

/* ---------- 顶部 topbox ---------- */
.topbox { width:100%; position:relative; z-index:100; }
.lotbox { background:#0c4da2; color:#fff; }
.lotbox-inner { display:flex; justify-content:space-between; align-items:center; height:40px; font-size:13px; }
.lotbox-welcome { opacity:.92; }
.lotbox-contact strong { font-size:15px; }
.menubox { background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.menubox-inner { display:flex; align-items:center; justify-content:space-between; height:90px; }
.logo { display:flex; align-items:center; gap:10px; }
.logo-text { display:flex; flex-direction:column; line-height:1.1; }
.logo-name { font-size:24px; font-weight:bold; color:#0c4da2; letter-spacing:1px; }
.logo-sub { font-size:11px; color:#999; letter-spacing:3px; text-transform:uppercase; margin-top:2px; }
.mobile-toggle { display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; }
.mobile-toggle span { width:26px; height:3px; background:#0c4da2; display:block; }
.mainnav { display:flex; align-items:center; }
.mainnav-item { position:relative; }
.mainnav-link { display:block; padding:0 22px; line-height:90px; font-size:16px; color:#333; }
.mainnav-link:hover, .mainnav-link.active { color:#0c4da2; }
.mainnav-link.active { font-weight:bold; }
.mainnav-item:hover .mainnav-link { color:#0c4da2; }
.mainnav-dropdown { position:absolute; top:90px; left:50%; transform:translateX(-50%) translateY(8px); min-width:160px; background:#0c4da2; opacity:0; visibility:hidden; transition:all .3s; z-index:99; }
.mainnav-item:hover .mainnav-dropdown { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.mainnav-dropdown ul { padding:8px 0; }
.mainnav-dropdown li a { display:block; padding:0 22px; line-height:40px; color:#fff; font-size:14px; white-space:nowrap; }
.mainnav-dropdown li a:hover { background:#3467af; }

/* ---------- banner ---------- */
.banner { position:relative; height:520px; overflow:hidden; background:#0c4da2; }
.banner-track { position:relative; width:100%; height:100%; }
.banner-slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity .9s; }
.banner-slide.active { opacity:1; }
.banner-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(12,77,162,.78) 0%, rgba(12,77,162,.35) 55%, rgba(12,77,162,.1) 100%); }
.banner-content { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; color:#fff; max-width:680px; }
.banner-heading { font-size:50px; font-weight:bold; margin-bottom:18px; letter-spacing:2px; }
.banner-desc { font-size:18px; line-height:1.9; margin-bottom:30px; opacity:.95; }
.banner-btn { display:inline-block; width:fit-content; padding:12px 42px; border:1px solid #fff; color:#fff; font-size:15px; }
.banner-btn:hover { background:#fff; color:#0c4da2; }
.banner-dots { position:absolute; bottom:28px; left:0; right:0; text-align:center; z-index:3; }
.banner-dot { display:inline-block; width:36px; height:4px; margin:0 5px; background:rgba(255,255,255,.5); cursor:pointer; }
.banner-dot.active { background:#fff; width:50px; }

/* ---------- notice 公告 ---------- */
.notice { background:#f4f6fa; border-top:2px solid #0c4da2; }
.notice-inner { display:flex; align-items:center; height:46px; overflow:hidden; }
.notice-label { color:#0c4da2; font-weight:bold; font-size:15px; flex-shrink:0; padding-right:14px; }
.notice-track { overflow:hidden; flex:1; }
.notice-track-inner { display:inline-block; white-space:nowrap; padding-left:100%; font-size:14px; color:#666; animation:mq 30s linear infinite; }
@keyframes mq { from { transform:translateX(0); } to { transform:translateX(-100%); } }

/* ---------- section head ---------- */
.sec { padding:70px 0; }
.sec-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:45px; }
.sec-head-l { max-width:760px; }
.sec-title { font-size:32px; color:#333; font-weight:bold; }
.sec-title-light { color:#fff; }
.sec-en { font-size:14px; color:#bbb; letter-spacing:3px; text-transform:uppercase; margin-top:4px; }
.sec-en-light { color:rgba(255,255,255,.7); }
.sec-line { width:60px; height:3px; background:#0c4da2; margin:14px 0 16px; }
.sec-line-light { background:#fff; }
.sec-sub { font-size:15px; color:#999; line-height:1.8; }
.sec-more { display:inline-block; padding:10px 26px; border:1px solid #cbcbcb; color:#666; font-size:14px; flex-shrink:0; }
.sec-more:hover { border-color:#0c4da2; color:#0c4da2; }

/* ---------- service cards ---------- */
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.service-card { position:relative; background:#f8f8f8; padding:46px 34px; text-align:center; overflow:hidden; transition:all .4s; }
.service-card:hover { background:#5a7ebb; }
.service-card:hover .service-name, .service-card:hover .service-desc, .service-card:hover .service-more, .service-card:hover .service-no { color:#fff; }
.service-card:hover .service-icon svg circle, .service-card:hover .service-icon svg path, .service-card:hover .service-icon svg rect { stroke:#fff; }
.service-no { position:absolute; top:16px; right:22px; font-size:42px; font-weight:bold; color:#e9eef5; transition:all .4s; }
.service-icon { width:64px; height:64px; margin:0 auto 20px; }
.service-icon svg { width:100%; height:100%; }
.service-name { font-size:22px; color:#333; margin-bottom:14px; transition:color .4s; }
.service-desc { font-size:14px; color:#666; line-height:1.8; transition:color .4s; }
.service-more { margin-top:18px; color:#0c4da2; font-size:14px; transition:color .4s; }

/* ---------- about 视差 ---------- */
.about { position:relative; background-size:cover; background-position:center; background-attachment:fixed; }
.about-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(12,77,162,.92) 0%, rgba(20,55,120,.88) 100%); }
.about-inner { position:relative; z-index:2; padding:80px 0; }
.about-text { max-width:760px; }
.about-intro { color:rgba(255,255,255,.92); font-size:15px; line-height:2; margin-bottom:16px; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:36px; }
.stat { text-align:center; }
.stat-num { font-size:42px; font-weight:bold; color:#fff; }
.stat-label { font-size:14px; color:rgba(255,255,255,.85); margin-top:6px; }

/* ---------- timeline ---------- */
.timeline-sec { padding-top:0; }
.timeline { position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:18px; padding-top:30px; }
.timeline-line { position:absolute; top:46px; left:6%; right:6%; height:2px; background:#e3e8f0; }
.timeline-item { text-align:center; position:relative; }
.timeline-dot { width:14px; height:14px; background:#0c4da2; border-radius:50%; margin:20px auto 0; border:3px solid #fff; box-shadow:0 0 0 2px #0c4da2; position:relative; z-index:2; }
.timeline-year { font-size:26px; font-weight:bold; color:#0c4da2; margin-top:14px; }
.timeline-year span { font-size:14px; font-weight:normal; }
.timeline-text { font-size:13px; color:#888; line-height:1.7; margin-top:8px; padding:0 6px; }

/* ---------- news ---------- */
.news-sec { background:#f7f9fc; }
.news-wrap { display:flex; gap:30px; }
.news-feature { width:46%; position:relative; display:block; overflow:hidden; }
.news-feature-img { height:420px; overflow:hidden; }
.news-feature-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.news-feature:hover .news-feature-img img { transform:scale(1.06); }
.news-feature-cap { position:absolute; left:0; right:0; bottom:0; background:rgba(12,77,162,.85); color:#fff; padding:22px 26px; }
.news-feature-date { font-size:14px; opacity:.9; }
.news-feature-title { font-size:18px; font-weight:bold; margin-top:6px; line-height:1.5; }
.news-list { flex:1; }
.news-item { display:flex; gap:22px; padding:24px 0; border-bottom:1px solid #eef1f6; transition:background .3s; }
.news-item:hover { background:#fff; padding-left:10px; }
.news-item:hover .news-title { color:#0c4da2; }
.news-date { flex-shrink:0; width:64px; text-align:center; }
.news-date-y { font-size:14px; color:#999; }
.news-date-md { font-size:26px; font-weight:bold; color:#0c4da2; }
.news-title { font-size:17px; color:#333; font-weight:bold; margin-bottom:8px; transition:color .3s; }
.news-desc { font-size:13px; color:#888; line-height:1.7; }

/* ---------- partners ---------- */
.partner-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.partner-card { background:#f8f8f8; border:1px solid #eef1f6; height:96px; display:flex; align-items:center; justify-content:center; transition:all .3s; }
.partner-card:hover { border-color:#0c4da2; background:#0c4da2; }
.partner-card:hover .partner-name { color:#fff; }
.partner-name { font-size:17px; color:#666; font-weight:bold; letter-spacing:1px; }

/* ---------- quick ---------- */
.quick-sec { background:#0c4da2; padding:50px 0; }
.quick-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:30px; }
.quick-card { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); padding:36px 40px; color:#fff; transition:background .3s; }
.quick-card:hover { background:rgba(255,255,255,.18); }
.quick-name { font-size:22px; font-weight:bold; }
.quick-desc { font-size:14px; opacity:.92; margin:10px 0 16px; }
.quick-more { font-size:14px; }

/* ---------- footer ---------- */
.footer { background:#1a2332; color:#a9b2c0; padding-top:54px; }
.footer-inner { display:grid; grid-template-columns:1.8fr 1fr 1fr 1.6fr; gap:36px; padding-bottom:40px; }
.fcol-title { color:#fff; font-size:18px; font-weight:bold; margin-bottom:22px; padding-left:12px; border-left:3px solid #0c4da2; }
.fcol-intro { font-size:13px; line-height:1.9; color:#9aa3b2; }
.fcol-list li { margin-bottom:11px; }
.fcol-list li a { font-size:13px; color:#9aa3b2; }
.fcol-list li a:hover { color:#fff; }
.fcol-line { font-size:13px; color:#9aa3b2; margin-bottom:13px; display:flex; align-items:flex-start; gap:8px; }
.fcol-ico { color:#0c4da2; flex-shrink:0; }
.qr { display:flex; align-items:center; gap:12px; margin-top:18px; }
.qr img { width:88px; height:88px; background:#fff; padding:4px; }
.qr-text { font-size:13px; color:#9aa3b2; }
.copyright { background:#141414; color:#a9a9a9; }
.copyright-inner { text-align:center; padding:16px 20px; font-size:13px; }
.copyright a { color:#a9a9a9; }
.copyright a:hover { color:#fff; }
.backtop { position:fixed; right:24px; bottom:30px; width:44px; height:44px; background:#0c4da2; color:#fff; border:0; border-radius:4px; font-size:20px; cursor:pointer; opacity:0; visibility:hidden; transition:all .3s; z-index:90; }
.backtop.show { opacity:1; visibility:visible; }
.backtop:hover { background:#3467af; }

/* ---------- 内页 banner / 面包屑 ---------- */
.n-banner { position:relative; height:280px; background-size:cover; background-position:center; }
.n-banner-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(12,77,162,.82), rgba(20,55,120,.7)); }
.n-banner-text { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; color:#fff; }
.n-banner-title { font-size:38px; font-weight:bold; letter-spacing:2px; }
.n-banner-en { font-size:15px; letter-spacing:4px; opacity:.85; margin-top:8px; text-transform:uppercase; }
.ntit { background:#f4f6fa; border-bottom:1px solid #e8ecf2; }
.ntt { display:flex; justify-content:space-between; align-items:center; padding:18px 0; }
.ntt-l h2 { font-size:22px; color:#333; font-weight:bold; display:inline-block; }
.ntt-l i { font-style:normal; font-size:13px; color:#aaa; margin-left:10px; letter-spacing:2px; }
.weiz { font-size:13px; color:#999; }
.weiz a { color:#0c4da2; }
.page { padding:50px 0; min-height:400px; }
.page-sec { padding:36px 0; }
.page-sec .sec-head { margin-bottom:30px; }

/* ---------- 关于页 ---------- */
.about-page { display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; }
.about-page-img img { width:100%; height:auto; border-radius:4px; }
.about-page-text .sec-title { font-size:26px; }
.about-page-text p { font-size:14px; color:#666; line-height:2; margin-bottom:14px; }
.timeline-v { position:relative; padding-left:30px; }
.timeline-v-item { position:relative; padding-bottom:26px; padding-left:24px; border-left:2px solid #e3e8f0; }
.timeline-v-item:last-child { border-left-color:transparent; }
.timeline-v-dot { position:absolute; left:-8px; top:2px; width:14px; height:14px; background:#fff; border:3px solid #0c4da2; border-radius:50%; }
.timeline-v-year { font-size:22px; font-weight:bold; color:#0c4da2; }
.timeline-v-text { font-size:14px; color:#666; margin-top:4px; }
.culture-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.culture-card { background:#f8f8f8; padding:32px 26px; border-top:3px solid #0c4da2; }
.culture-h { font-size:19px; color:#333; font-weight:bold; margin-bottom:12px; }
.culture-card p { font-size:14px; color:#666; line-height:1.9; }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.team-card { text-align:center; background:#f8f8f8; padding-bottom:22px; }
.team-img { width:100%; aspect-ratio:1/1; overflow:hidden; }
.team-img img { width:100%; height:100%; object-fit:cover; }
.team-name { font-size:18px; color:#333; font-weight:bold; margin-top:16px; }
.team-pos { font-size:14px; color:#0c4da2; margin-top:4px; }

/* ---------- 产品列表 ---------- */
.prod-cats { padding:0 0 26px; font-size:14px; color:#999; }
.prod-cat-link { display:inline-block; padding:6px 18px; margin:0 6px 8px 0; background:#f4f6fa; color:#666; border-radius:20px; }
.prod-cat-link:hover, .prod-cat-link.hover { background:#0c4da2; color:#fff; }
.prod-card { padding:0 0 30px; text-align:left; }
.prod-img { height:220px; overflow:hidden; }
.prod-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.service-card.prod-card .service-name, .service-card.prod-card .service-desc, .service-card.prod-card .service-more { padding:0 24px; }
.prod-cat { display:inline-block; margin:18px 24px 0; padding:2px 12px; background:#eaf1fb; color:#0c4da2; font-size:12px; border-radius:3px; }
.service-card.prod-card .service-name { margin-top:6px; }
.service-card.prod-card:hover .prod-cat { background:#fff; color:#0c4da2; }
.pager { text-align:center; padding:30px 0 0; }
.pager span, .pager a { display:inline-block; min-width:36px; height:36px; line-height:36px; padding:0 10px; margin:0 3px; border:1px solid #e0e6ee; color:#666; font-size:14px; }
.pager span.hover, .pager a:hover { background:#0c4da2; color:#fff; border-color:#0c4da2; }

/* ---------- 产品详情 ---------- */
.pdetail-top { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-bottom:40px; }
.pdetail-img img { width:100%; height:auto; }
.pdetail-cat { display:inline-block; padding:3px 14px; background:#0c4da2; color:#fff; font-size:12px; border-radius:3px; }
.pdetail-name { font-size:28px; color:#333; margin:14px 0; }
.pdetail-brief { font-size:14px; color:#666; line-height:1.9; margin-bottom:18px; }
.pdetail-params { width:100%; border-collapse:collapse; font-size:13px; margin-bottom:16px; }
.pdetail-params th, .pdetail-params td { border:1px solid #eef1f6; padding:9px 12px; text-align:left; }
.pdetail-params th { background:#f4f6fa; color:#666; width:32%; font-weight:normal; }
.pdetail-params td { color:#333; }
.pdetail-tel { font-size:15px; color:#333; }
.pdetail-tel strong { color:#0c4da2; font-size:20px; }
.pdetail-block { margin-bottom:36px; }
.pdetail-h { font-size:20px; color:#333; font-weight:bold; padding:0 0 12px; border-bottom:2px solid #0c4da2; display:inline-block; margin-bottom:18px; }
.pdetail-p { font-size:14px; color:#666; line-height:2; margin-bottom:14px; }
.pdetail-feat { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.pdetail-feat-item { display:flex; align-items:center; gap:10px; font-size:14px; color:#555; background:#f8f8f8; padding:14px 18px; }
.pdetail-feat-ico { width:24px; height:24px; line-height:24px; text-align:center; background:#0c4da2; color:#fff; border-radius:50%; flex-shrink:0; }
.relate { margin-bottom:20px; }
.relate-grid { grid-template-columns:repeat(3,1fr); }

/* ---------- 新闻列表 ---------- */
.nlist-item { display:flex; gap:26px; padding:28px 0; border-bottom:1px solid #eef1f6; transition:all .3s; }
.nlist-item:hover { background:#f9fbfd; padding-left:10px; }
.nlist-item:hover .nlist-title { color:#0c4da2; }
.nlist-img { width:260px; height:170px; flex-shrink:0; overflow:hidden; }
.nlist-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.nlist-item:hover .nlist-img img { transform:scale(1.05); }
.nlist-body { flex:1; display:flex; flex-direction:column; justify-content:center; }
.nlist-title { font-size:19px; color:#333; font-weight:bold; margin-bottom:12px; transition:color .3s; }
.nlist-meta { font-size:13px; color:#999; margin-bottom:10px; }
.nlist-cat { margin-left:14px; padding:1px 10px; background:#eaf1fb; color:#0c4da2; border-radius:3px; font-size:12px; }
.nlist-desc { font-size:14px; color:#888; line-height:1.8; }
.nlist-more { margin-top:12px; color:#0c4da2; font-size:14px; }

/* ---------- 新闻详情 ---------- */
.article { background:#fff; }
.article-title { font-size:26px; color:#333; text-align:center; font-weight:bold; line-height:1.5; margin-bottom:16px; }
.article-meta { text-align:center; font-size:13px; color:#999; padding-bottom:20px; border-bottom:1px solid #eef1f6; margin-bottom:26px; }
.article-body { padding:0 8px; }
.article-p { font-size:15px; color:#555; line-height:2.1; margin-bottom:18px; text-indent:2em; }
.article-img { width:100%; max-width:100%; height:auto; margin:10px auto 24px; border-radius:4px; }
.pagef { display:flex; justify-content:space-between; gap:20px; padding:26px 0; border-top:1px solid #eef1f6; margin-top:26px; }
.pagef-prev, .pagef-next { font-size:14px; color:#0c4da2; flex:1; }
.pagef-next { text-align:right; }
.pagef-none { color:#bbb; }
.returnlist { text-align:center; padding-bottom:10px; }
.returnlist a { display:inline-block; padding:9px 30px; border:1px solid #0c4da2; color:#0c4da2; font-size:14px; }
.returnlist a:hover { background:#0c4da2; color:#fff; }

/* ---------- 联系页 ---------- */
.contact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.contact-card { background:#f8f8f8; padding:34px 22px; text-align:center; transition:all .3s; }
.contact-card:hover { background:#0c4da2; color:#fff; }
.contact-card:hover .contact-name, .contact-card:hover .contact-val { color:#fff; }
.contact-ico { font-size:36px; color:#0c4da2; margin-bottom:14px; }
.contact-card:hover .contact-ico { color:#fff; }
.contact-name { font-size:16px; color:#333; margin-bottom:8px; font-weight:bold; }
.contact-val { font-size:14px; color:#666; line-height:1.7; }
.contact-form { background:#f8f8f8; padding:36px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px; }
.form-row:last-child { grid-template-columns:1fr; }
.form-input { height:46px; padding:0 16px; border:1px solid #dde3ec; background:#fff; font-size:14px; }
.form-textarea { height:140px; padding:12px 16px; border:1px solid #dde3ec; background:#fff; font-size:14px; resize:vertical; font-family:inherit; }
.form-btn { height:50px; background:#0c4da2; color:#fff; border:0; font-size:16px; cursor:pointer; transition:background .3s; }
.form-btn:hover { background:#3467af; }

/* ---------- 图片兜底 ---------- */
.img-fallback { background:linear-gradient(135deg,#0c4da2,#5a7ebb); }

/* ---------- 容器 / 标记基类（组合 class 与纯标记类，保持自检一致） ---------- */
.logo-icon { flex-shrink:0; }
.news-body { flex:1; min-width:0; }
.pdetail-info { min-width:0; }
.nlist-date { color:#999; }
.partners-sec {  }
.fcol-about {  }
.fcol-contact {  }
.prod-list {  }

/* ---------- 响应式 ---------- */
@media (max-width:1024px) {
  .banner { height:420px; }
  .banner-heading { font-size:38px; }
  .container { padding:0 16px; }
  .timeline { grid-template-columns:repeat(3,1fr); }
  .timeline-line { display:none; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:28px; }
}
@media (max-width:768px) {
  .lotbox-welcome { display:none; }
  .lotbox-contact { font-size:12px; }
  .menubox-inner { height:64px; }
  .logo-name { font-size:20px; }
  .mobile-toggle { display:flex; }
  .mainnav { position:fixed; top:0; right:-100%; width:75%; max-width:320px; height:100vh; flex-direction:column; align-items:stretch; background:#fff; padding:70px 0 20px; box-shadow:-4px 0 20px rgba(0,0,0,.15); transition:right .3s; z-index:200; overflow-y:auto; }
  .mainnav.open { right:0; }
  .mainnav-link { line-height:54px; padding:0 26px; border-bottom:1px solid #eef1f6; }
  .mainnav-dropdown { position:static; transform:none; opacity:1; visibility:visible; background:#f4f6fa; min-width:0; display:none; }
  .mainnav-item.open .mainnav-dropdown { display:block; }
  .mainnav-dropdown li a { line-height:42px; color:#333; }
  .banner { height:320px; }
  .banner-heading { font-size:28px; margin-bottom:12px; }
  .banner-desc { font-size:14px; margin-bottom:18px; }
  .banner-btn { padding:9px 28px; }
  .sec { padding:44px 0; }
  .sec-title { font-size:24px; }
  .sec-head { flex-direction:column; align-items:flex-start; gap:16px; }
  .service-grid, .partner-grid, .culture-grid, .team-grid, .contact-grid, .stat-grid { grid-template-columns:repeat(2,1fr); }
  .news-wrap { flex-direction:column; }
  .news-feature, .news-list { width:100%; }
  .news-feature-img { height:240px; }
  .quick-grid { grid-template-columns:1fr; }
  .about-page, .pdetail-top { grid-template-columns:1fr; }
  .pdetail-feat, .form-row { grid-template-columns:1fr; }
  .nlist-item { flex-direction:column; }
  .nlist-img { width:100%; height:200px; }
  .about { background-attachment:scroll; }
  .footer-inner { grid-template-columns:1fr; }
  .ntt { flex-direction:column; align-items:flex-start; gap:6px; }
  .relate-grid { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .service-grid, .partner-grid, .culture-grid, .team-grid, .contact-grid, .stat-grid, .timeline { grid-template-columns:1fr; }
  .n-banner-title { font-size:26px; }
  .article-title { font-size:20px; }
}
