/* ===== 泰讯拓药房 - 参考站 demoall.5fa.cn/28564 配色还原 =====
   主蓝 #5ca5dd | 深蓝 #006ec3 | 深海军 #062045 | 薄荷绿 #43d9ad | 红 #f85b5b
   字体 Open Sans / Raleway / Microsoft YaHei */
* { margin:0; padding:0; box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { font-family:"Open Sans","Raleway","Microsoft YaHei",sans-serif; color:#555; background:#fff; line-height:1.7; font-size:15px; }
img { max-width:100%; display:block; }
a { color:#5ca5dd; text-decoration:none; transition:color .25s; }
a:hover { color:#43d9ad; }
ul { list-style:none; }
h1,h2,h3,h4 { font-weight:600; color:#062045; }

/* ---------- 全局容器 ---------- */
.container { max-width:1200px; margin:0 auto; padding:0 15px; }
.clearfix::after { content:""; display:block; clear:both; }
.phonebg-a { background:#f7fbfe; }
.fade-in { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.fade-in.in { opacity:1; transform:none; }

/* section / 标题 */
.section { padding:70px 0; position:relative; }
.section-products { padding:70px 0; position:relative; }
.section-album { padding:70px 0; position:relative; }
.section-news { padding:70px 0; position:relative; }
.section-partner { padding:70px 0; position:relative; }
.sec-head { text-align:center; margin-bottom:50px; }
.sec-head .sec-title { font-size:32px; font-weight:300; color:#062045; }
.sec-head .sec-sub { font-size:16px; color:#808080; margin-top:6px; }
.sec-title { font-size:30px; font-weight:300; color:#062045; text-align:center; }
.sec-sub { font-size:15px; color:#808080; }
.sec-head-light .sec-title { color:#fff; }
.sec-head-light .sec-sub { color:rgba(255,255,255,.85); }
.sec-head-light .line { border-bottom-color:#fff; }
.sec-head-light .line::before { border-top-color:#fff; }
.line { width:70px; height:0; border-bottom:1.5px solid #5ca5dd; margin:14px auto 18px; position:relative; }
.line::before { content:""; position:absolute; top:100%; left:50%; margin-left:-6px; border:6px solid transparent; border-top-color:#5ca5dd; }
.line::after { content:""; position:absolute; top:100%; left:50%; margin-left:-3px; border:3px solid transparent; border-top-color:#fff; }

/* ---------- 按钮 ---------- */
.btn-green, .btn-outline { display:inline-flex; align-items:center; gap:6px; padding:11px 26px; border-radius:9999px; font-size:15px; font-weight:600; cursor:pointer; border:2px solid transparent; transition:all .25s; }
.btn-green { background:#43d9ad; color:#fff; }
.btn-green:hover { background:#27c294; color:#fff; }
.btn-outline { border-color:#5ca5dd; color:#5ca5dd; }
.btn-outline:hover { background:#5ca5dd; color:#fff; }
.sec-head-light ~ * .btn-outline, .section-adv .btn-outline { border-color:#fff; color:#fff; }
.btn-outline svg { width:14px; height:14px; }

/* ---------- 顶部 topbox（信息栏 lotbox + 导航 menubox） ---------- */
.topbox { position:absolute; top:0; left:0; right:0; z-index:1000; background:rgba(92,165,221,.92); transition:background .25s, box-shadow .25s; }
.topbox-solid { position:relative; background:rgba(92,165,221,.97); }
body.page-scrolled .topbox { position:fixed; background:#5ca5dd; box-shadow:0 2px 12px rgba(6,32,69,.15); }
.topbar { display:flex; align-items:center; height:90px; transition:height .25s; }
body.page-scrolled .topbar { height:64px; }
.lotbox { display:flex; align-items:center; margin-right:auto; }
.logo { display:flex; align-items:center; gap:10px; }
.logo .logo-ico { flex:none; filter:drop-shadow(0 1px 2px rgba(0,0,0,.12)); }
.logo-txt { display:flex; flex-direction:column; line-height:1.15; }
.brand { color:#fff; font-size:22px; font-weight:700; letter-spacing:1px; }
.kw { color:#eaf6fd; font-size:12px; letter-spacing:3px; margin-top:2px; }

/* menubox 导航：与 logo 同行，靠右排列（在 .container 宽度内） */
.menubox { display:flex; align-items:center; }
.nav { display:flex; align-items:center; height:90px; transition:height .25s; }
body.page-scrolled .nav { height:64px; }
.nav > li { position:relative; display:flex; align-items:center; height:100%; }
.nav > li > a { display:inline-flex; align-items:center; color:#fff; font-size:16px; font-weight:500; padding:9px 20px; margin:0 2px; border-radius:9999px; transition:all .25s; }
.nav > li > a:hover { background:rgba(255,255,255,.7); color:#5ca5dd; }
.nav > li.active > a { background:#fff; color:#5ca5dd; font-weight:700; }
.nav .sub { position:absolute; top:calc(100% + 6px); left:50%; transform:translateX(-50%); min-width:170px; background:#fff; border-radius:8px; box-shadow:0 6px 22px rgba(6,32,69,.16); padding:6px 0; opacity:0; visibility:hidden; transition:opacity .25s, visibility .25s; z-index:50; }
.nav > li:hover .sub { opacity:1; visibility:visible; }
.nav .sub::before { content:""; position:absolute; top:-6px; left:50%; margin-left:-6px; border:6px solid transparent; border-bottom-color:#fff; }
.nav .sub li a { display:block; padding:9px 18px; color:#062045; font-size:14px; white-space:nowrap; }
.nav .sub li a:hover { background:#5ca5dd; color:#fff; }
.hotline { display:flex; align-items:center; gap:9px; color:#fff; margin-left:22px; padding-left:22px; border-left:1px solid rgba(255,255,255,.28); }
.hotline .h-ico { color:#fff; flex:none; }
.h-txt { display:flex; flex-direction:column; line-height:1.2; }
.h-label { font-size:12px; color:#eaf6fd; }
.h-num { font-size:20px; font-weight:700; letter-spacing:.5px; }
.navBtn { display:none; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; margin-left:18px; background:transparent; border:0; cursor:pointer; }
.navBtn .line { width:26px; height:2.5px; background:#fff; border:0; margin:0; }
.navBtn .line::before,.navBtn .line::after { display:none; }

/* ---------- Banner 轮播 ---------- */
.banner { position:relative; height:560px; overflow:hidden; }
.slides { position:relative; width:100%; height:100%; }
.slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1s ease; }
.slide.active { opacity:1; }
.slide-mask { position:absolute; inset:0; background:linear-gradient(90deg, rgba(6,32,69,.62) 0%, rgba(6,32,69,.25) 55%, rgba(6,32,69,0) 100%); }
.slide-cap { position:absolute; top:50%; left:0; right:0; transform:translateY(-50%); color:#fff; max-width:640px; text-align:left; }
.cap-tit { font-size:42px; line-height:1.25; color:#fff; margin-bottom:18px; font-weight:600; text-shadow:0 2px 8px rgba(0,0,0,.25); }
.cap-desc { font-size:18px; color:#eaf6fd; margin-bottom:28px; text-shadow:0 1px 4px rgba(0,0,0,.25); }
.cap-btn { display:inline-flex; align-items:center; gap:6px; padding:11px 28px; border:2px solid #fff; color:#fff; border-radius:9999px; font-weight:600; }
.cap-btn:hover { background:#43d9ad; border-color:#43d9ad; color:#fff; }
.cap-btn svg { width:14px; height:14px; }
.banner-arr { position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; background:rgba(255,255,255,.9); color:#2980c4; font-size:30px; line-height:50px; border:0; cursor:pointer; transition:all .25s; z-index:5; }
.banner-arr.prev { left:3%; }
.banner-arr.next { right:3%; }
.banner-arr:hover { background:#5ca5dd; color:#fff; }
.banner-dots { position:absolute; bottom:26px; left:0; right:0; text-align:center; z-index:5; }
.banner-dots .dot { display:inline-block; width:11px; height:11px; margin:0 5px; border-radius:50%; background:rgba(255,255,255,.55); cursor:pointer; transition:all .25s; }
.banner-dots .dot.active { background:#43d9ad; width:30px; border-radius:6px; }

/* ---------- section-features 服务亮点 ---------- */
.section-features { padding-top:80px; }
.feat-intro { text-align:center; max-width:820px; margin:0 auto 50px; }
.feat-intro .sec-title { margin-bottom:0; }
.feat-list { display:flex; flex-wrap:wrap; }
.feat-list > li { width:25%; padding:15px; }
.feat-item { text-align:center; padding:26px 16px; border-radius:12px; background:#fff; border:1px solid #eef4fa; transition:all .3s; height:100%; }
.feat-item:hover { transform:translateY(-8px); box-shadow:0 14px 36px rgba(92,165,221,.18); border-color:#5ca5dd; }
.feat-ico { color:#f85b5b; display:inline-block; margin-bottom:14px; transition:color .3s; }
.feat-item:hover .feat-ico { color:#5ca5dd; }
.feat-name { font-size:18px; color:#062045; margin-bottom:8px; }
.feat-desc { font-size:14px; color:#808080; }
.feat-cta { display:flex; align-items:center; justify-content:space-between; gap:20px; background:linear-gradient(135deg,#43d9ad,#57d4b3); color:#fff; border-radius:12px; padding:26px 40px; margin-top:46px; flex-wrap:wrap; box-shadow:0 12px 30px rgba(67,217,173,.3); }
.cta-txt strong { display:block; font-size:22px; font-weight:600; margin-bottom:4px; }
.cta-txt span { font-size:14px; opacity:.92; }
.feat-cta .btn-green { background:#fff; color:#1aa884; }
.feat-cta .btn-green:hover { background:#062045; color:#fff; }

/* ---------- section-products 产品 ---------- */
.prod-grid { display:flex; flex-wrap:wrap; }
.prod-grid > li { width:25%; padding:12px; }
.prod-card { display:block; background:#fff; border-radius:10px; overflow:hidden; border:1px solid #eef4fa; transition:all .3s; height:100%; }
.prod-card:hover { transform:translateY(-6px); box-shadow:0 12px 28px rgba(92,165,221,.18); border-color:#5ca5dd; }
.prod-card .picbox { display:block; overflow:hidden; aspect-ratio:4/3; background:#f2f7fc; }
.prod-img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.prod-card:hover .prod-img { transform:scale(1.06); }
.prod-name { text-align:center; font-size:15px; color:#062045; padding:14px 8px; }
.prod-card:hover .prod-name { color:#5ca5dd; }
.more-wrap { text-align:center; margin-top:42px; }

/* ---------- section-album 门店风采 ---------- */
.album-grid { display:flex; flex-wrap:wrap; }
.album-grid > li { width:25%; padding:10px; }
.album-cell { position:relative; overflow:hidden; border-radius:10px; aspect-ratio:4/3; }
.album-img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.album-cell:hover .album-img { transform:scale(1.07); }
.album-cap { position:absolute; left:0; right:0; bottom:0; padding:22px 14px 12px; color:#fff; font-size:14px; background:linear-gradient(transparent, rgba(6,32,69,.78)); }

/* ---------- section-adv 企业优势（背景图） ---------- */
.section-adv { position:relative; color:#fff; background:linear-gradient(rgba(6,32,69,.82),rgba(6,32,69,.82)), url('https://images.unsplash.com/photo-1676364423874-19c785db3e61?w=1920&h=600&fit=crop&auto=format&q=80') center/cover fixed; }
.adv-list { display:flex; flex-wrap:wrap; }
.adv-list > li { width:33.333%; padding:16px; }
.adv-card { background:#fff; border-radius:14px; overflow:hidden; color:#555; height:100%; transition:all .3s; box-shadow:0 10px 30px rgba(0,0,0,.18); }
.adv-card:hover { transform:translateY(-8px); box-shadow:0 18px 40px rgba(0,0,0,.28); }
.adv-img { aspect-ratio:16/11; overflow:hidden; }
.adv-pic { width:100%; height:100%; object-fit:cover; }
.adv-body { padding:24px 22px; }
.adv-tit { font-size:19px; color:#062045; margin-bottom:4px; }
.adv-sub { font-size:13px; color:#43d9ad; font-weight:600; margin-bottom:10px; }
.adv-desc { font-size:14px; color:#666; }

/* ---------- section-news 新闻（左图右文） ---------- */
.news-list { display:flex; flex-wrap:wrap; }
.news-list > li { width:50%; padding:14px; }
.news-card { display:flex; background:#fff; border:1px solid #eef4fa; border-radius:10px; overflow:hidden; height:100%; transition:all .3s; }
.news-card:hover { box-shadow:0 12px 30px rgba(92,165,221,.16); border-color:#5ca5dd; }
.news-thumb { position:relative; flex:none; width:42%; overflow:hidden; background:#f2f7fc; }
.news-img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.news-card:hover .news-img { transform:scale(1.06); }
.ribbon { position:absolute; top:10px; left:10px; background:#f85b5b; color:#fff; width:46px; height:46px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1; }
.ribbon i { font-style:normal; font-size:18px; font-weight:700; }
.ribbon em { font-size:10px; font-style:normal; margin-top:1px; }
.news-body { flex:1; padding:18px 18px 16px; display:flex; flex-direction:column; }
.news-tit { font-size:16px; color:#062045; line-height:1.45; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-card:hover .news-tit { color:#5ca5dd; }
.news-desc { font-size:13px; color:#888; flex:1; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-meta { margin-top:10px; font-size:12px; }
.news-cat { color:#43d9ad; font-weight:600; margin-right:12px; }
.news-date { color:#aaa; }

/* ---------- section-stats 数据统计 ---------- */
.section-stats { background:linear-gradient(135deg,#5ca5dd,#006ec3); color:#fff; padding:60px 0; }
.stats-list { display:flex; flex-wrap:wrap; }
.stats-list > li { width:25%; }
.stat-item { text-align:center; padding:10px; }
.stat-num { font-size:46px; font-weight:700; color:#fff; }
.stat-suf { font-size:24px; font-weight:700; color:#83e6c9; margin-left:2px; }
.stat-name { display:block; font-size:15px; color:#eaf6fd; margin-top:8px; }

/* ---------- section-partner 合作伙伴 ---------- */
.partner-list { display:flex; flex-wrap:wrap; }
.partner-list > li { width:12.5%; padding:10px; }
.partner-name { display:flex; align-items:center; justify-content:center; height:84px; border:1px solid #e9f1f9; border-radius:10px; background:#fff; color:#5ca5dd; font-size:15px; font-weight:600; transition:all .3s; text-align:center; padding:6px; }
.partner-name:hover { background:#5ca5dd; color:#fff; border-color:#5ca5dd; }

/* ---------- 内页 banner + 面包屑 ---------- */
.n-banner { position:relative; height:300px; background-size:cover; background-position:center; display:flex; align-items:center; margin-top:0; }
.n-mask { position:absolute; inset:0; background:linear-gradient(90deg, rgba(6,32,69,.7), rgba(6,32,69,.35)); }
.n-inner { position:relative; }
.n-cn { color:#fff; font-size:34px; font-weight:600; }
.n-en { display:block; color:#83e6c9; font-size:15px; letter-spacing:3px; margin-top:6px; text-transform:uppercase; }
.ntit { background:#fff; border-bottom:1px solid #eef4fa; }
.ntit .container { display:flex; align-items:center; justify-content:space-between; padding-top:18px; padding-bottom:18px; }
.ntt h1 { font-size:22px; color:#062045; }
.ntt i { font-style:normal; font-size:13px; color:#aaa; letter-spacing:2px; margin-left:8px; }
.weiz { font-size:14px; color:#888; }
.weiz a { color:#888; }
.weiz a:hover { color:#43d9ad; }
.weiz .sep { color:#5ca5dd; margin:0 6px; }
.weiz .cur { color:#5ca5dd; font-weight:600; }
.main { min-height:300px; padding:46px 0 30px; }

/* ---------- 产品列表页 plist ---------- */
.plist { display:flex; flex-wrap:wrap; }
.plist > li { width:25%; padding:14px; }
.ptsbox { display:block; background:#fff; border:1px solid #eef4fa; border-radius:10px; overflow:hidden; height:100%; transition:all .3s; }
.ptsbox:hover { transform:translateY(-6px); box-shadow:0 14px 32px rgba(92,165,221,.16); border-color:#5ca5dd; }
.ptsbox .picbox { aspect-ratio:4/3; overflow:hidden; background:#f2f7fc; }
.list-img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.ptsbox:hover .list-img { transform:scale(1.06); }
.ptit { font-size:16px; color:#062045; padding:14px 14px 0; text-align:center; }
.psub { font-size:13px; color:#888; padding:6px 14px 0; text-align:center; }
.pmore { display:block; text-align:center; color:#5ca5dd; font-size:13px; padding:8px 14px 14px; }

/* ---------- 新闻列表页 pnlist ---------- */
.pnlist { }
.pnitem { display:flex; align-items:stretch; background:#fff; border:1px solid #eef4fa; border-radius:10px; overflow:hidden; margin-bottom:20px; transition:all .3s; }
.pnitem:hover { box-shadow:0 12px 30px rgba(92,165,221,.15); border-color:#5ca5dd; }
.pnitem .picbox { flex:none; width:280px; overflow:hidden; background:#f2f7fc; }
.pn-img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.pnitem:hover .pn-img { transform:scale(1.05); }
.pnitem .textbox { flex:1; padding:22px 26px; }
.pnitem .tit { font-size:18px; margin-bottom:8px; }
.pnitem .tit a { color:#062045; }
.pnitem .tit a:hover { color:#5ca5dd; }
.pnitem .desc { font-size:14px; color:#888; margin-bottom:14px; }
.go-more { color:#43d9ad; font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:4px; }
.go-more svg { width:13px; height:13px; }
.timebox { flex:none; width:96px; background:linear-gradient(135deg,#5ca5dd,#006ec3); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.mm-dd { font-size:22px; font-weight:700; }
.yyyy { font-size:13px; opacity:.9; margin-top:2px; }

/* ---------- 产品详情 ---------- */
.pro-top { display:flex; gap:40px; background:#fff; border:1px solid #eef4fa; border-radius:14px; padding:30px; margin-bottom:36px; }
.pro-pic { flex:none; width:46%; }
.pro-pic .picbox { aspect-ratio:1/1; overflow:hidden; border-radius:10px; background:#f2f7fc; }
.pro-big { width:100%; height:100%; object-fit:cover; }
.pro-info { flex:1; }
.p-name { font-size:26px; color:#062045; margin-bottom:8px; }
.p-sn { display:inline-block; font-size:13px; color:#888; background:#f2f7fc; border-radius:9999px; padding:4px 14px; margin-bottom:18px; }
.p-desc { font-size:15px; color:#666; margin-bottom:18px; padding-bottom:18px; border-bottom:1px dashed #e5eef7; }
.p-bullets { margin-bottom:22px; }
.p-bullets li { display:flex; align-items:flex-start; gap:8px; margin-bottom:8px; font-size:14px; color:#555; }
.bul-ico { color:#43d9ad; flex:none; display:inline-flex; }
.bul-ico svg { width:18px; height:18px; }
.p-cta { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.p-tel { color:#5ca5dd; font-weight:600; font-size:15px; }
.pparam { width:100%; border-collapse:collapse; margin-bottom:36px; background:#fff; border:1px solid #eef4fa; border-radius:12px; overflow:hidden; }
.pparam th, .pparam td { padding:13px 20px; border-bottom:1px solid #eef4fa; font-size:14px; text-align:left; }
.pparam th { width:24%; background:#f7fbfe; color:#062045; font-weight:600; }
.pparam tr:last-child th, .pparam tr:last-child td { border-bottom:0; }
.pro-body, .pro-feat, .pro-rel { background:#fff; border:1px solid #eef4fa; border-radius:14px; padding:30px; margin-bottom:30px; }
.block-tit { font-size:20px; color:#062045; margin-bottom:18px; padding-left:12px; border-left:4px solid #43d9ad; }
.contentbox p { font-size:15px; color:#555; margin-bottom:16px; line-height:1.9; }
.contentbox .picbox.nd-pic { margin:8px 0 22px; border-radius:10px; overflow:hidden; }
.nd-img { width:100%; object-fit:cover; border-radius:10px; }
.feat-list-detail { display:flex; flex-wrap:wrap; }
.feat-list-detail > li { width:25%; padding:12px; }
.fbox { text-align:center; padding:20px 12px; border:1px solid #eef4fa; border-radius:10px; height:100%; transition:all .3s; }
.fbox:hover { border-color:#43d9ad; transform:translateY(-4px); }
.feat-ico-sm { display:inline-flex; color:#43d9ad; margin-bottom:10px; }
.feat-tit { font-size:15px; color:#062045; margin-bottom:6px; }
.feat-desc { font-size:13px; color:#888; }
.rel-list { display:flex; flex-wrap:wrap; }
.rel-list > li { width:33.333%; padding:10px; }
.rbox { display:block; border:1px solid #eef4fa; border-radius:10px; overflow:hidden; transition:all .3s; }
.rbox:hover { box-shadow:0 10px 24px rgba(92,165,221,.15); }
.rbox .picbox { aspect-ratio:4/3; overflow:hidden; background:#f2f7fc; }
.rel-img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.rbox:hover .rel-img { transform:scale(1.06); }
.rbox .tit { display:block; text-align:center; padding:10px; font-size:14px; color:#062045; }

/* ---------- 新闻详情 ---------- */
.news-detail { background:#fff; border:1px solid #eef4fa; border-radius:14px; padding:36px 40px; margin-bottom:24px; }
.nd-tit { font-size:26px; color:#062045; line-height:1.4; margin-bottom:14px; }
.nd-meta { font-size:13px; color:#999; padding-bottom:18px; border-bottom:1px solid #eef4fa; margin-bottom:22px; display:flex; flex-wrap:wrap; gap:18px; }
.nd-date { color:#999; }
.nd-src { color:#aaa; }
.nd-cat { color:#fff; background:#43d9ad; border-radius:4px; padding:2px 12px; font-weight:600; }
.news-detail .contentbox p { font-size:15px; }
.news-foot { display:flex; justify-content:space-between; gap:20px; background:#fff; border:1px solid #eef4fa; border-radius:14px; padding:20px 26px; margin-bottom:24px; flex-wrap:wrap; }
.nf-item { flex:1; min-width:240px; }
.nf-item .lbl { color:#999; font-size:13px; }
.nf-item a { color:#062045; font-size:14px; }
.nf-item a:hover { color:#5ca5dd; }
.nf-item .none { color:#ccc; font-size:14px; }
.nf-back { }

/* ---------- 关于我们 ---------- */
.about-intro { padding:56px 0; }
.about-row { display:flex; align-items:center; gap:44px; }
.ai-pic { flex:none; width:48%; }
.ai-pic .picbox { aspect-ratio:3/2; overflow:hidden; border-radius:14px; box-shadow:0 14px 36px rgba(92,165,221,.18); }
.ai-img { width:100%; height:100%; object-fit:cover; }
.ai-txt { flex:1; }
.ai-txt h2 { font-size:28px; color:#062045; margin-bottom:6px; }
.ai-en { display:block; font-size:13px; color:#43d9ad; letter-spacing:2px; margin-bottom:16px; }
.ai-txt p { font-size:15px; color:#666; margin-bottom:14px; }
.about-stats { padding:40px 0; }
.timeline { position:relative; padding:20px 0; }
.timeline::before { content:""; position:absolute; left:50%; top:0; bottom:0; width:3px; background:#e2eef9; transform:translateX(-50%); }
.tl-item { width:50%; padding:14px 40px; position:relative; }
.tl-item:nth-child(odd) { left:0; text-align:right; }
.tl-item:nth-child(even) { left:50%; }
.tl-item::after { content:""; position:absolute; top:26px; width:16px; height:16px; border-radius:50%; background:#43d9ad; border:3px solid #fff; box-shadow:0 0 0 3px #43d9ad; }
.tl-item:nth-child(odd)::after { right:-8px; }
.tl-item:nth-child(even)::after { left:-8px; }
.tl-card { background:#fff; border:1px solid #eef4fa; border-radius:12px; padding:18px 22px; transition:all .3s; }
.tl-card:hover { box-shadow:0 12px 28px rgba(92,165,221,.15); border-color:#5ca5dd; }
.tl-year { display:block; font-size:22px; font-weight:700; color:#5ca5dd; }
.tl-tit { font-size:17px; color:#062045; margin:4px 0; }
.tl-desc { font-size:14px; color:#888; }
.cul-list { display:flex; flex-wrap:wrap; }
.cul-list > li { width:33.333%; padding:16px; }
.cbox { text-align:center; padding:34px 24px; border-radius:14px; background:#fff; border:1px solid #eef4fa; transition:all .3s; height:100%; }
.cbox:hover { transform:translateY(-6px); box-shadow:0 14px 32px rgba(92,165,221,.15); border-color:#5ca5dd; }
.cbox .feat-ico, .cbox svg { color:#f85b5b; margin-bottom:14px; transition:color .3s; }
.cbox:hover .feat-ico, .cbox:hover svg[class] { color:#5ca5dd; }
.cul-tit { font-size:20px; color:#062045; margin-bottom:8px; }
.cul-desc { font-size:14px; color:#888; }
.team-list { display:flex; flex-wrap:wrap; }
.team-list > li { width:16.666%; padding:14px; }
.tbox { text-align:center; }
.avabox { display:block; width:120px; height:120px; margin:0 auto 14px; border-radius:50%; overflow:hidden; border:3px solid #eaf6fd; transition:all .3s; }
.tbox:hover .avabox { border-color:#43d9ad; transform:scale(1.04); }
.avabox-img { width:100%; height:100%; object-fit:cover; }
.t-name { font-size:16px; color:#062045; }
.t-job { display:block; font-size:13px; color:#43d9ad; margin-top:4px; }

/* ---------- 联系我们 ---------- */
.contact-info { margin-bottom:40px; }
.ci-list { display:flex; flex-wrap:wrap; }
.ci-card { width:33.333%; padding:14px; text-align:center; background:#fff; border:1px solid #eef4fa; border-radius:14px; transition:all .3s; }
.ci-card:hover { transform:translateY(-6px); box-shadow:0 14px 32px rgba(92,165,221,.15); border-color:#5ca5dd; }
.ci-ico-big { display:inline-flex; color:#fff; background:linear-gradient(135deg,#5ca5dd,#43d9ad); width:62px; height:62px; border-radius:50%; align-items:center; justify-content:center; margin-bottom:14px; }
.ci-label { display:block; font-size:14px; color:#888; margin-bottom:4px; }
.ci-val { display:block; font-size:17px; color:#062045; font-weight:600; word-break:break-all; }
.contact-row { display:flex; gap:30px; }
.form-side { flex:1.1; background:#fff; border:1px solid #eef4fa; border-radius:14px; padding:30px; }
.form-contact ul { list-style:none; display:flex; gap:16px; margin-bottom:14px; }
.form-contact .row2 { flex:1; display:flex; flex-direction:column; }
.form-contact label { font-size:13px; color:#666; margin-bottom:6px; }
.ta-label { display:block; font-size:13px; color:#666; margin-bottom:6px; }
.inp { padding:11px 14px; border:1px solid #dde7f1; border-radius:8px; font-size:14px; outline:none; transition:border .25s; font-family:inherit; }
.inp:focus { border-color:#5ca5dd; }
.textarea { width:100%; padding:11px 14px; border:1px solid #dde7f1; border-radius:8px; font-size:14px; outline:none; resize:vertical; font-family:inherit; }
.textarea:focus { border-color:#5ca5dd; }
.btn-submit { margin-top:18px; background:#43d9ad; color:#fff; border:0; padding:12px 30px; border-radius:9999px; font-size:15px; font-weight:600; cursor:pointer; display:inline-flex; align-items:center; gap:6px; transition:background .25s; }
.btn-submit:hover { background:#27c294; }
.form-tip { margin-top:12px; font-size:13px; color:#43d9ad; min-height:18px; }
.map-side { flex:1; background:#fff; border:1px solid #eef4fa; border-radius:14px; padding:30px; }
.mapbox { position:relative; border-radius:10px; overflow:hidden; margin-bottom:18px; }
.map-img { width:100%; object-fit:cover; }
.map-cap { position:absolute; left:0; right:0; bottom:0; padding:20px 16px 12px; color:#fff; font-size:14px; background:linear-gradient(transparent, rgba(6,32,69,.78)); }

/* ---------- 页脚 ---------- */
.footer { background:#5ca5dd; color:#fff; padding-top:64px; }
.frow { display:flex; flex-wrap:wrap; margin:0 -18px; }
.fcol { padding:0 18px 30px; }
.col-about { flex:1.6; }
.col-nav { flex:1; }
.col-news { flex:1.2; }
.col-contact { flex:1.4; }
.f-logo { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.f-name { color:#fff; font-size:20px; font-weight:700; }
.f-desc { font-size:13px; color:#eaf6fd; line-height:1.9; }
.footer h4 { color:#fff; font-size:16px; margin-bottom:18px; font-weight:600; }
.footer-links li, .footer-news li { margin-bottom:10px; }
.footer-links a { color:#eaf6fd; font-size:13px; }
.footer-links a:hover { color:#fff; padding-left:4px; }
.footer-news li { display:flex; flex-direction:column; }
.footer-news a { color:#fff; font-size:13px; line-height:1.4; display:block; }
.footer-news a:hover { color:#83e6c9; }
.footer-news span { font-size:12px; color:#cfe8f7; margin-top:3px; }
.contact-list li { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:#eaf6fd; margin-bottom:12px; line-height:1.6; }
.contact-list .ci-ico { flex:none; color:#83e6c9; display:inline-flex; margin-top:2px; }
.contact-list-dark li { color:#555; }
.contact-list-dark .ci-ico { color:#5ca5dd; }
.qr-box { display:flex; align-items:center; gap:12px; margin-top:18px; }
.qr-pic { width:97px; height:97px; border-radius:8px; background:#fff; padding:4px; }
.qr-tit { font-size:13px; color:#eaf6fd; }
.footer-bar { background:rgba(6,32,69,.18); padding:16px 0; }
.footer-bar .container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.copy { font-size:13px; color:#eaf6fd; }
.beian { color:#fff; font-size:13px; text-decoration:underline; }
.beian:hover { color:#83e6c9; }

/* ---------- 返回顶部 ---------- */
.back-top { position:fixed; right:22px; bottom:26px; width:46px; height:46px; border-radius:50%; background:#43d9ad; color:#fff; border:0; cursor:pointer; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(10px); transition:all .3s; z-index:900; box-shadow:0 6px 18px rgba(67,217,173,.4); }
.back-top svg { width:20px; height:20px; }
.back-top.show { opacity:1; visibility:visible; transform:none; }
.back-top:hover { background:#27c294; }

/* ---------- 图片兜底 ---------- */
.img-fallback { background:linear-gradient(135deg,#5ca5dd,#43d9ad); display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:200px; color:#fff; font-size:14px; border-radius:8px; text-align:center; padding:10px; }

/* ============================ 响应式 ============================ */
@media (max-width:1024px) {
  .container { padding:0 20px; }
  .topbar { height:64px; }
  .navBtn { display:flex; }
  .nav { position:absolute; top:100%; right:0; left:0; flex-direction:column; height:auto; background:#5ca5dd; padding:8px 0; gap:0; max-height:0; overflow:hidden; transition:max-height .35s ease; box-shadow:0 6px 18px rgba(6,32,69,.18); }
  .nav.open { max-height:600px; }
  .nav > li { display:block; width:100%; height:auto; }
  .nav > li > a { display:block; border-radius:0; margin:0; padding:13px 24px; }
  .nav > li > a:hover, .nav > li.active > a { background:#328ed4; color:#fff; }
  .nav .sub { position:static; transform:none; opacity:1; visibility:visible; box-shadow:none; background:rgba(6,32,69,.18); border-radius:0; padding:0; min-width:0; }
  .nav .sub::before { display:none; }
  .nav .sub li a { padding:10px 24px 10px 44px; color:#eaf6fd; }
  .hotline { display:none; }
  .banner { height:420px; }
  .cap-tit { font-size:28px; }
  .cap-desc { font-size:15px; }
  .feat-list > li, .prod-grid > li, .album-grid > li, .plist > li { width:50%; }
  .adv-list > li { width:50%; }
  .news-list > li { width:100%; }
  .team-list > li { width:33.333%; }
  .feat-list-detail > li { width:50%; }
  .pro-top { flex-direction:column; }
  .pro-pic { width:100%; }
  .about-row { flex-direction:column; }
  .ai-pic { width:100%; }
  .contact-row { flex-direction:column; }
  .section-adv { background-attachment:scroll; }
}
@media (max-width:768px) {
  .section { padding:50px 0; }
  .sec-head .sec-title, .sec-title { font-size:26px; }
  .lotbox { height:64px; }
  body.page-scrolled .lotbox { height:56px; }
  .brand { font-size:18px; }
  .banner { height:340px; }
  .cap-tit { font-size:22px; margin-bottom:12px; }
  .cap-desc { display:none; }
  .banner-arr { width:40px; height:40px; line-height:38px; font-size:24px; }
  .stats-list > li { width:50%; }
  .partner-list > li { width:25%; }
  .feat-cta { padding:20px; flex-direction:column; text-align:center; }
  .n-banner { height:220px; }
  .n-cn { font-size:26px; }
  .ntit .container { flex-direction:column; align-items:flex-start; gap:6px; }
  .timeline::before { left:8px; }
  .tl-item, .tl-item:nth-child(even) { width:100%; left:0; text-align:left; padding:10px 10px 10px 36px; }
  .tl-item::after, .tl-item:nth-child(odd)::after, .tl-item:nth-child(even)::after { left:0; right:auto; }
  .pnitem { flex-direction:column; }
  .pnitem .picbox { width:100%; aspect-ratio:16/9; }
  .timebox { width:100%; flex-direction:row; gap:8px; padding:10px; }
  .news-detail { padding:24px 18px; }
  .pro-body, .pro-feat, .pro-rel { padding:22px 18px; }
}
@media (max-width:560px) {
  .feat-list > li, .prod-grid > li, .album-grid > li, .plist > li, .adv-list > li, .rel-list > li, .cul-list > li { width:100%; }
  .feat-list-detail > li { width:100%; }
  .ci-card { width:100%; }
  .team-list > li { width:50%; }
  .form-contact ul { flex-direction:column; gap:10px; }
  .pparam th { width:36%; }
}
