/* =========================================================
   药圈产业平台 · 清爽浅色主题（仿药融圈 / 化学加）
   浅底 · 白卡 · teal 主色 · 栏目式 · 列表优先 · 无花哨动效
   ========================================================= */

:root{
  --bg:#f4f6f9;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --border:#e6eaf0;
  --border-strong:#d6dce6;
  --text:#18202e;
  --text-2:#5a6675;
  --text-3:#8a94a6;
  --primary:#0f766e;
  --primary-700:#0c5f59;
  --primary-50:#e6f4f2;
  --accent:#e0922f;
  --accent-50:#fdf2e3;
  --blue:#2563eb;
  --green:#16a34a;
  --red:#dc2626;
  --r:10px;
  --r-sm:8px;
  --r-lg:14px;
  --shadow:0 1px 2px rgba(16,24,40,.04), 0 6px 18px rgba(16,24,40,.06);
  --shadow-sm:0 1px 2px rgba(16,24,40,.05);
  --maxw:1440px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-art:"YouSheBiaoTiHei",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}

@font-face{
  font-family:"YouSheBiaoTiHei";
  src:url("./fonts/youshebiaotihei.ttf") format("truetype");
  font-weight:normal;
  font-style:normal;
  font-display:swap;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  font-size:14.5px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul{list-style:none}

.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ---------- 顶部导航（浅色毛玻璃 + 渐变线 + 创意交互） ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(15,118,110,.12);
}
.nav::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--primary),var(--accent),transparent);
  opacity:.6;
}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;padding:8px 20px;
  min-height:64px;display:flex;align-items:center;gap:24px;
  position:relative;z-index:1;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;color:var(--text);white-space:nowrap}
.brand-logo{height:48px;width:auto;display:block;flex:none}
.brand .logo{
  width:32px;height:32px;border-radius:9px;
  background:linear-gradient(135deg,var(--primary),#14a89c);
  display:grid;place-items:center;color:#fff;flex:none;
  box-shadow:0 3px 10px rgba(15,118,110,.22);
}
.brand .logo svg{width:18px;height:18px}
.brand small{display:block;font-size:11px;font-weight:500;color:var(--text-3);letter-spacing:.5px}
.nav-menu{display:flex;gap:6px;margin-left:8px}
.nav-menu a{
  position:relative;padding:9px 15px;border-radius:999px;color:var(--text-2);font-size:14px;font-weight:500;
  transition:color .25s,background .25s;
}
.nav-menu a::after{
  content:"";position:absolute;left:50%;bottom:4px;transform:translateX(-50%) scaleX(0);
  width:calc(100% - 30px);height:2px;border-radius:2px;background:var(--primary);
  transition:transform .25s cubic-bezier(.2,.7,.2,1);
}
.nav-menu a:hover{color:var(--primary)}
.nav-menu a:hover::after{transform:translateX(-50%) scaleX(1)}
.nav-menu a.active{background:var(--primary-50);color:var(--primary-700);font-weight:600}
.nav-menu a.active::after{display:none}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.nav-right .btn-ghost{background:transparent;color:var(--text-2);border-color:var(--border-strong)}
.nav-right .btn-ghost:hover{background:var(--surface-2);color:var(--text)}
.nav-right .btn-primary{background:var(--primary);box-shadow:0 3px 12px rgba(15,118,110,.22)}
.nav-right .btn-primary:hover{background:var(--primary-700);transform:translateY(-1px)}

/* ---------- 手机端汉堡 + 抽屉 ---------- */
.nav-toggle{display:none;width:40px;height:40px;margin-left:auto;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);align-items:center;justify-content:center;cursor:pointer}
.nav-toggle svg{width:22px;height:22px}
.nav-drawer{position:fixed;top:0;right:0;height:100%;width:282px;max-width:84vw;background:var(--surface);box-shadow:-14px 0 44px rgba(15,23,32,.20);transform:translateX(106%);transition:transform .28s ease;z-index:1200;display:flex;flex-direction:column;padding:18px 16px}
.nav-drawer.open{transform:translateX(0)}
.nav-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.nav-drawer-close{width:36px;height:36px;border:none;background:var(--surface-2);border-radius:9px;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center}
.nav-drawer-menu a{display:block;padding:13px 12px;border-radius:10px;color:var(--text);font-size:15px;font-weight:500;text-decoration:none}
.nav-drawer-menu a.active{background:var(--primary-50);color:var(--primary-700);font-weight:600}
.nav-drawer .nav-divider{height:1px;background:var(--border);margin:12px 4px}
.nav-drawer .nav-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.nav-drawer .nav-actions .btn{width:100%;justify-content:center}
.nav-overlay{position:fixed;inset:0;background:rgba(15,23,32,.42);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:1100}
.nav-overlay.open{opacity:1;pointer-events:auto}
body.nav-open{overflow:hidden}
.btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;
  transition:background .15s,box-shadow .15s,transform .05s;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-700)}
.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}
.btn-ghost:hover{background:var(--surface-2)}
.btn-sm{padding:6px 12px;font-size:13px}

/* ---------- Hero + 搜索框（化学加风格） ---------- */
.hero{
  background:
    radial-gradient(1200px 360px at 50% -120px, rgba(15,118,110,.10), transparent 70%),
    linear-gradient(180deg,#ffffff,var(--bg));
  border-bottom:1px solid var(--border);
}
.hero-inner{max-width:var(--maxw);margin:0 auto;padding:48px 20px 40px;text-align:center}
.hero-eyebrow{
  display:inline-block;font-size:13px;font-weight:600;color:var(--primary-700);
  background:var(--primary-50);padding:5px 14px;border-radius:999px;margin-bottom:18px;
}
.hero h1:not(.hero-title-art){
  font-size:clamp(22px,2.7vw,32px);font-weight:800;line-height:1.4;
  max-width:820px;margin:0 auto;letter-spacing:-.2px;
  display:none;
}
.hero h1 em{font-style:normal;color:var(--primary)}
.hero-sub{
  color:var(--text-2);font-size:15px;max-width:680px;margin:16px auto 0;
}
.search-box{
  max-width:760px;margin:28px auto 0;background:var(--surface);
  border:1px solid var(--border-strong);border-radius:14px;
  box-shadow:var(--shadow);overflow:hidden;text-align:left;
}
.search-tabs{display:flex;gap:2px;padding:8px 8px 0;border-bottom:1px solid var(--border)}
.stab{
  padding:9px 16px;font-size:14px;font-weight:600;color:var(--text-2);
  border-radius:8px 8px 0 0;position:relative;transition:color .15s;
}
.stab:hover{color:var(--text)}
.stab.active{color:var(--primary-700)}
.stab.active::after{
  content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--primary);border-radius:2px;
}
.search-row{display:flex;align-items:center;gap:10px;padding:14px}
.search-row .si{width:20px;height:20px;color:var(--text-3);flex:none;margin-left:6px}
.search-row input{
  flex:1;border:none;outline:none;font-size:15px;background:transparent;color:var(--text);padding:6px 4px;
}
.search-row input::placeholder{color:var(--text-3)}
.search-row .btn-primary{padding:10px 22px}

/* ---------- 通用栏目标题 ---------- */
.section{max-width:var(--maxw);margin:0 auto;padding:46px 20px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px}
.sec-head h2{font-size:21px;font-weight:800;letter-spacing:-.2px}
.sec-head .sub{color:var(--text-3);font-size:13.5px}
.more{color:var(--primary-700);font-weight:600;font-size:14px;white-space:nowrap;transition:gap .15s}
.more:hover{text-decoration:underline}

/* ---------- 三栏业务线 ---------- */
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:24px;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .12s;
  display:flex;flex-direction:column;
}
.feature:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}
.feature-ic{
  width:44px;height:44px;border-radius:11px;background:var(--primary-50);color:var(--primary-700);
  display:grid;place-items:center;margin-bottom:14px;
}
.feature-ic svg{width:22px;height:22px}
.feature h3{font-size:17px;font-weight:700;margin-bottom:8px}
.feature p{color:var(--text-2);font-size:14px;flex:1}
.feature .more{margin-top:14px;align-self:flex-start}

/* 业务线卡片：顶部实景图（真实摄影） */
.feature.media{padding:0;overflow:hidden}
.feature.media .feature-img{
  height:152px;background:#e6eaf0 center/cover no-repeat;position:relative;
}
.feature.media .feature-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,14,18,0),rgba(12,14,18,.30));
}
.feature.media .feature-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.feature.media .feature-ic{margin-bottom:12px}
.case-meta{display:flex;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.case-meta span{font-size:12.5px;color:var(--text-2)}
.case-meta b{display:block;font-size:15px;font-weight:700;color:var(--text)}
.case-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.case-tags .tag{font-size:11px;padding:3px 8px}

/* ---------- 列表卡（供需 / 人脉 / 资讯） ---------- */
.list-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.row{
  display:flex;align-items:center;gap:16px;padding:15px 20px;
  border-bottom:1px solid var(--border);transition:background .12s;
}
.row:last-child{border-bottom:none}
.row:hover{background:var(--surface-2)}
.row-main{flex:1;min-width:0}
.row-title{font-size:15px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:9px}
.row-title:hover{color:var(--primary-700)}
.row-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:12.5px;color:var(--text-3)}
.row-meta span{display:inline-flex;align-items:center;gap:4px}
.row-side{display:flex;align-items:center;gap:14px;flex:none}
.row-metric{text-align:right;font-size:13px;color:var(--text-2)}
.row-metric b{display:block;font-size:15px;color:var(--text);font-weight:700}

/* ---------- 标签 ---------- */
.tag{
  display:inline-flex;align-items:center;font-size:12px;font-weight:600;
  padding:3px 9px;border-radius:6px;line-height:1.4;white-space:nowrap;
}
.tag-demand{background:#eef2ff;color:#3b55d6}
.tag-tech{background:var(--primary-50);color:var(--primary-700)}
.tag-cap{background:#fdf2e3;color:#b9721a}
.tag-inspect{background:#f0fdf4;color:#15803d}
.tag-equip{background:#faf5ff;color:#7e22ce}
.tag-sup{background:#fef2f2;color:#b91c1c}
.tag-urgent{background:var(--red);color:#fff}
.tag-online{background:var(--green);color:#fff}
.tag-dot{width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:5px}

/* ---------- 页面内头部（市场 / 人才） ---------- */
.page-head{
  background:var(--surface);border-bottom:1px solid var(--border);
}
.page-head-inner{max-width:var(--maxw);margin:0 auto;padding:26px 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.page-head h1{font-size:24px;font-weight:800}
.page-head .crumb{font-size:13px;color:var(--text-3);margin-bottom:6px}
.page-head .crumb a:hover{color:var(--primary-700)}
.page-head p{color:var(--text-2);font-size:14px;margin-top:8px;max-width:640px}

/* ---------- 筛选 / 分类条 ---------- */
.bar{
  background:var(--surface);border-bottom:1px solid var(--border);
  position:sticky;top:60px;z-index:40;
}
.bar-inner{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.tabs{display:flex;gap:4px;overflow-x:auto}
.tab{
  padding:14px 18px;font-size:14.5px;font-weight:600;color:var(--text-2);
  border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s;
}
.tab:hover{color:var(--text)}
.tab.active{color:var(--primary-700);border-bottom-color:var(--primary)}
.filter-row{
  max-width:var(--maxw);margin:0 auto;padding:16px 20px;
  display:flex;gap:12px;flex-wrap:wrap;align-items:center;
}
.filter-row .fgroup{display:flex;align-items:center;gap:8px}
.filter-row label{font-size:13px;color:var(--text-3)}
.select{
  appearance:none;border:1px solid var(--border-strong);background:var(--surface);
  border-radius:8px;padding:8px 30px 8px 12px;font-size:13.5px;color:var(--text);font-family:inherit;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a94a6' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;
}
.select:focus{outline:none;border-color:var(--primary)}
.filter-row .spacer{margin-left:auto}
.search-inline{display:flex;align-items:center;gap:8px;border:1px solid var(--border-strong);border-radius:8px;padding:6px 12px;background:var(--surface)}
.search-inline input{border:none;outline:none;font-size:13.5px;width:200px;background:transparent;color:var(--text)}
.search-inline svg{width:16px;height:16px;color:var(--text-3);flex:none}

/* ---------- 统计带 ---------- */
.stats-band{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stats-grid{max-width:var(--maxw);margin:0 auto;padding:34px 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stats-grid b{display:block;font-size:30px;font-weight:800;color:var(--primary)}
.stats-grid span{font-size:13.5px;color:var(--text-3)}

/* ---------- 两栏资讯 ---------- */
.news-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.news-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:6px 0}
.news-col h3{font-size:15px;font-weight:700;padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.news-col h3 svg{width:17px;height:17px;color:var(--primary)}
.news-item{padding:13px 20px;border-bottom:1px solid var(--border);transition:background .12s}
.news-item:last-child{border-bottom:none}
.news-item:hover{background:var(--surface-2)}
.news-item a{font-size:14px;font-weight:500;color:var(--text);display:block;line-height:1.5}
.news-item a:hover{color:var(--primary-700)}
.news-item .date{font-size:12px;color:var(--text-3);margin-top:4px}

/* ---------- 页脚 ---------- */
.footer{
  position:relative;border-top:1px solid #1f232c;margin-top:8px;color:rgba(255,255,255,.7);
  background:#0c0e12 url('./img-footer-bg.jpg') no-repeat center / cover;
}
.footer::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,14,18,.88) 0%,rgba(12,14,18,.82) 100%);
  pointer-events:none;
}
.footer-inner,.footer-bottom{position:relative;z-index:1}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:28px 20px;display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:flex-start}
.footer .fbrand{font-weight:800;font-size:17px;color:#fff}
.footer .fbrand p{font-size:12px;color:rgba(255,255,255,.55);font-weight:400;margin-top:6px;max-width:240px}
.footer-links{display:flex;gap:40px;flex-wrap:wrap}
.footer-col h4{font-size:12.5px;font-weight:700;margin-bottom:8px;color:#fff}
.footer-col a{display:block;font-size:12.5px;color:rgba(255,255,255,.65);padding:3px 0}
.footer-col a:hover{color:#fff}

/* 微信号模块 */
.wechat-modules{display:flex;gap:14px;flex-wrap:wrap}
.wx-card{
  background:#14171d;border:1px solid #262b34;border-radius:12px;padding:12px;width:116px;
  text-align:center;transition:border-color .15s,transform .12s;
}
.wx-card:hover{border-color:#3a4150;transform:translateY(-2px)}
.wx-card .qrcode{
  width:64px;height:64px;margin:0 auto 8px;border-radius:8px;background:#fff;
  display:grid;place-items:center;overflow:hidden;
}
.wx-card .qrcode svg{width:40px;height:40px;color:#0c0e12}
.wx-card .qrcode img{width:100%;height:100%;object-fit:contain}
.wx-card .wx-id{
  font-size:11.5px;font-weight:700;color:#fff;letter-spacing:.3px;
  display:flex;align-items:center;justify-content:center;gap:4px;
}
.wx-card .wx-id svg{width:13px;height:13px;color:#22c55e}
.wx-card .wx-label{font-size:10.5px;color:rgba(255,255,255,.5);margin-top:4px}
.wx-card .btn-copy{
  margin-top:8px;width:100%;font-size:11px;padding:5px 0;border-radius:6px;
  background:#1f232c;color:rgba(255,255,255,.85);border:1px solid #2c313b;
  cursor:pointer;transition:background .15s,color .15s;
}
.wx-card .btn-copy:hover{background:#2c313b;color:#fff}

.footer-bottom{border-top:1px solid #1f232c;padding:12px 20px;text-align:center;font-size:12px;color:rgba(255,255,255,.5)}
.footer-bottom a{color:rgba(255,255,255,.65)}
.footer-bottom a:hover{color:#fff}

/* ---------- Hero 快速登记 chips ---------- */
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 15px;border-radius:999px;
  background:var(--surface);border:1px solid var(--border-strong);
  color:var(--text);font-size:13.5px;font-weight:600;text-decoration:none;
  box-shadow:var(--shadow-sm);transition:transform .15s,border-color .15s,color .15s;
}
.hero-chip svg{width:16px;height:16px;color:var(--primary)}
.hero-chip:hover{transform:translateY(-2px);border-color:var(--primary);color:var(--primary-700)}

/* ---------- 三大登记区 ---------- */
.areas-band{padding-top:8px}
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.area-card{min-height:340px}
.area-card .area-modules{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.btn-light{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.94);color:var(--primary-700);
  border:1px solid rgba(255,255,255,.6);font-weight:600;
  padding:8px 14px;border-radius:999px;font-size:13px;cursor:pointer;
  transition:transform .15s,background .15s;
}
.btn-light:hover{background:#fff;transform:translateY(-2px)}
.btn-light svg{width:15px;height:15px}

/* ---------- 成果转化动态（势能型 · 脱敏播放） ---------- */
.dynamics-band{
  background:linear-gradient(135deg,var(--primary-50),#f5fbfa);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:46px 0;
}
.dyn-view{
  max-width:var(--maxw);margin:24px auto 0;padding:0 20px;
  overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.dyn-track{
  display:flex;gap:18px;width:max-content;
  animation:dynScroll 42s linear infinite;
}
.dyn-view:hover .dyn-track{animation-play-state:paused}
@keyframes dynScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.dyn-card{
  flex:none;width:340px;background:var(--surface);
  border:1px solid var(--border);border-radius:14px;
  padding:18px 18px 16px;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;gap:10px;
}
.dyn-ic{
  width:40px;height:40px;border-radius:11px;
  background:var(--primary-50);color:var(--primary-700);
  display:grid;place-items:center;
}
.dyn-ic svg{width:21px;height:21px}
.dyn-card p{font-size:14.5px;font-weight:600;color:var(--text);line-height:1.55}
.dyn-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--text-3)}
.dyn-meta .tag{font-size:11px;padding:3px 8px}

/* ---------- 登记弹窗说明 ---------- */
.reg-intro{font-size:12.5px;color:var(--text-2);background:var(--primary-50);border:1px solid #cfe9e5;border-radius:9px;padding:9px 12px;margin-bottom:4px}

@media(max-width:900px){
  .areas-grid{grid-template-columns:1fr}
  .dyn-card{width:280px}
}

/* ---------- 响应式 ---------- */
@media(max-width:900px){
  .cols-3{grid-template-columns:1fr}
  .news-2{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .nav-menu{display:none}
  .nav-toggle{display:inline-flex}
  .nav-right{display:none}
}
@media(max-width:640px){
  .row{flex-direction:column;align-items:flex-start;gap:10px}
  .row-side{width:100%;justify-content:space-between}
  .search-inline input{width:120px}
  .brand-logo{height:36px}
}

/* =========================================================
   页头背景 / 动画 / 社区 / 会员 / 登录 组件
   ========================================================= */

/* 页头背景图：医药 + 资源整合 */
.hero{
  position:relative;
  background:
    url('./hero-bg.svg') no-repeat center top / cover,
    radial-gradient(1200px 360px at 50% -120px, rgba(15,118,110,.10), transparent 70%),
    linear-gradient(180deg,#ffffff,var(--bg));
}
.hero::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(244,246,249,.82));
  pointer-events:none;
}
.hero-inner{position:relative;z-index:1}

.page-head{
  position:relative;
  background:var(--surface);
}
.page-head::before{
  content:"";
  position:absolute;inset:0;
  background:url('./hero-bg.svg') no-repeat center top / cover;
  opacity:.32;
  pointer-events:none;
}
.page-head-inner{position:relative;z-index:1}

/* 点击涟漪 */
@keyframes ripple{
  to{transform:scale(2.6);opacity:0}
}
.ripple-circle{
  position:absolute;
  border-radius:50%;
  transform:scale(0);
  animation:ripple .55s linear;
  background:rgba(15,118,110,.18);
  pointer-events:none;
}
.btn-primary .ripple-circle,
.auth-side .ripple-circle{
  background:rgba(255,255,255,.32);
}

/* 数字计数高亮 */
[data-count]{
  font-variant-numeric:tabular-nums;
}

/* 社区：侧栏 + 帖子 */
.forum-grid{display:grid;grid-template-columns:236px 1fr;gap:24px;align-items:start}
.panel{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);padding:18px;position:sticky;top:84px;
}
.panel-title{
  font-size:12px;font-weight:700;color:var(--text-3);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;
}
.panel-title:not(:first-child){margin-top:18px}
.cat-list{display:flex;flex-direction:column;gap:2px}
.cat-list a{
  display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;
  font-size:14px;color:var(--text-2);transition:background .15s,color .15s;
}
.cat-list a:hover{background:var(--primary-50);color:var(--primary-700)}
.cat-list a .ci{width:16px;height:16px;color:var(--text-3);flex:none}
.cat-list a .count{margin-left:auto;font-size:12px;color:var(--text-3)}

.thread-list{display:flex;flex-direction:column;gap:12px}
.thread{
  display:flex;align-items:flex-start;gap:14px;padding:16px 18px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,transform .12s;
}
.thread:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}
.thread-ava{
  width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#14a89c);
  color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex:none;
}
.thread-body{flex:1;min-width:0}
.thread-body h4{font-size:15px;font-weight:700;margin-bottom:6px;line-height:1.45}
.thread-body h4 .tag{margin-right:6px;vertical-align:middle}
.thread-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--text-3)}
.thread-meta span{display:inline-flex;align-items:center;gap:4px}
.thread-meta span svg{width:13px;height:13px}
.pill{
  font-size:11px;font-weight:600;padding:2px 9px;border-radius:999px;
  white-space:nowrap;flex:none;align-self:center;
}
.pill-top{background:var(--accent-50);color:#b9721a}
.pill-hot{background:#eef2ff;color:#3b55d6}
.pill-new{background:#f0fdf4;color:#15803d}

/* 会员价格卡片（默认四档并排） */
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.price-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.price{
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  padding:26px;position:relative;box-shadow:var(--shadow-sm);
  transition:transform .15s,box-shadow .15s,border-color .15s;
}
.price:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.price.feat{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50)}
.price .ribbon{
  position:absolute;top:-12px;right:18px;background:var(--accent);color:#fff;
  font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px;
}
.price h3{font-size:18px;font-weight:800;margin-bottom:6px}
.price-num{font-size:30px;font-weight:800;color:var(--primary);margin:12px 0 2px}
.price-num em{font-style:normal;font-size:14px;color:var(--text-3);font-weight:500}
.price .per{font-size:13px;color:var(--text-3);margin-bottom:16px}
.price ul{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}
.price li{font-size:13.5px;color:var(--text-2);display:flex;align-items:flex-start;gap:8px;line-height:1.55}
.price li svg{width:16px;height:16px;color:var(--primary);flex:none;margin-top:2px}
.price li.muted{color:var(--text-3)}
.price li.muted svg{color:var(--text-3)}

/* 会员页：对接会场景图 */
.member-banner{
  position:relative;background:#0c5f59 center/cover no-repeat;color:#fff;
}
.member-banner::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(12,14,18,.74),rgba(12,14,18,.34));
}
.member-banner-inner{
  max-width:var(--maxw);margin:0 auto;padding:56px 20px;position:relative;z-index:1;
}
.member-banner h2{font-size:clamp(20px,2.4vw,26px);font-weight:800;letter-spacing:-.2px}
.member-banner p{font-size:15px;margin-top:10px;color:rgba(255,255,255,.86);max-width:560px;line-height:1.7}

/* 登录页 */
.auth-page{min-height:calc(100vh - 60px);display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--surface)}
.auth-side{
  /* CSS 自身位于 assets/，图片路径写相对自己的 ./auth-bg.png 才不会变成 assets/assets/auth-bg.png */
  background:url('./auth-bg.png') center/cover no-repeat,linear-gradient(135deg,#0c2a30 0%,#062024 100%);color:#fff;
  padding:56px 48px;display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
}
.auth-side::before{
  /* 蒙层：适配暗色数据感背景图，整体减弱，左下深 / 右上浅保留文字对比，图片发光细节透出 */
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(110deg,rgba(6,32,36,.30) 0%,rgba(6,32,36,.15) 45%,rgba(6,32,36,.18) 70%,rgba(6,32,36,.35) 100%);
  pointer-events:none;
}
.auth-side>*{position:relative;z-index:1}
.auth-side .hero-eyebrow{background:rgba(255,255,255,.14);color:#cffaf2}
.auth-side h1{font-size:clamp(24px,3vw,34px);font-weight:800;line-height:1.35;margin-top:22px;max-width:460px}
.auth-side h1 em{font-style:normal;color:#9fe9dd}
.auth-side ul{list-style:none;display:flex;flex-direction:column;gap:14px;margin-top:30px;padding:0}
.auth-side li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:rgba(255,255,255,.88);line-height:1.6}
.auth-side li svg{width:18px;height:18px;color:#9fe9dd;flex:none;margin-top:2px}
.auth-form{padding:48px 48px;display:flex;flex-direction:column;justify-content:center;max-width:480px;width:100%;margin:0 auto}
.tab-row{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}
.tab-row a{padding:12px 2px;margin-right:20px;font-size:15px;color:var(--text-3);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s}
.tab-row a.on{color:var(--primary);border-bottom-color:var(--primary)}
.auth-form h2{font-size:22px;font-weight:800;margin-bottom:6px}
.auth-form .lead{color:var(--text-2);font-size:13.5px;margin-bottom:22px}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:7px}
.field input{
  width:100%;border:1px solid var(--border-strong);border-radius:8px;padding:11px 13px;
  font-size:14px;font-family:inherit;color:var(--text);background:var(--surface);outline:none;transition:border-color .15s;
}
.field input:focus{border-color:var(--primary)}
.divider{text-align:center;color:var(--text-3);font-size:12px;margin:18px 0;position:relative}
.divider::before,.divider::after{content:"";position:absolute;top:50%;width:36%;height:1px;background:var(--border)}
.divider::before{left:0}.divider::after{right:0}
.alt-row{display:flex;gap:10px}
.alt-row .btn{flex:1;justify-content:center;min-height:42px}
.captcha-row{display:flex;gap:8px}
.captcha-row input{flex:1}
.captcha-row .btn{min-height:44px;padding:0 16px;white-space:nowrap}
.checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);margin:4px 0 16px;cursor:pointer}
.checkbox input{width:16px;height:16px;accent-color:var(--primary)}

/* 强化颜色层次 */
.feature-ic{background:var(--primary-50);color:var(--primary-700)}
.feature:hover .feature-ic{background:#d6efec}
.stats-grid b{color:var(--primary)}
.tag-demand{background:#eef2ff;color:#3b55d6}
.tag-tech{background:var(--primary-50);color:var(--primary-700)}
.tag-cap{background:#fdf2e3;color:#b9721a}

@media(max-width:1080px){
  .price-grid,.price-grid.cols-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .forum-grid{grid-template-columns:1fr}
  .panel{position:static}
  .price-grid{grid-template-columns:1fr}
  .auth-page{grid-template-columns:1fr}
  .auth-side,.auth-form{padding:40px 24px}
}

/* =========================================================
   首页视觉升级 2.0：左文右图 + 流程箭头 + 深色数据块
   ========================================================= */

/* 通用标题升级 */
.sec-head.center{flex-direction:column;align-items:center;text-align:center;gap:8px}
.sec-title-wrap{display:flex;flex-direction:column;gap:6px}
.sec-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;color:var(--primary-700);
  background:var(--primary-50);padding:5px 14px;border-radius:999px;
  text-transform:uppercase;letter-spacing:.06em;width:fit-content;
}
.sec-eyebrow.light{background:rgba(255,255,255,.12);color:#9fe9dd}
.sec-head h2{font-size:26px;font-weight:800;letter-spacing:-.3px}
.sec-sub{color:var(--text-2);font-size:15px;max-width:560px}

/* 按钮尺寸/强调 */
.btn-lg{padding:11px 22px;font-size:15px}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:#c97d26}
.btn-lg i{width:18px;height:18px}

/* ---------- Hero 2.0 左右分栏 ---------- */
.hero-v2{
  position:relative;
  background:
    radial-gradient(820px 560px at 90% 6%, rgba(15,118,110,.32), transparent 60%),
    radial-gradient(720px 520px at 97% 96%, rgba(224,146,47,.26), transparent 58%),
    radial-gradient(640px 480px at 0% 100%, rgba(37,99,235,.20), transparent 60%),
    linear-gradient(180deg,#f2f9f8,#e8f4f3);
  border-bottom:1px solid rgba(15,118,110,.14);
  overflow:hidden;
}
.hero-v2::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(15,118,110,.05) 0, transparent 3px),
    radial-gradient(circle at 80% 70%, rgba(224,146,47,.05) 0, transparent 3px);
  background-size: 80px 80px, 100px 100px;
  pointer-events:none;
  opacity:.6;
}
.hero-v2::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(420px 220px at 8% 18%, rgba(15,118,110,.10), transparent 60%),
    radial-gradient(360px 260px at 92% 88%, rgba(224,146,47,.08), transparent 58%);
}
.hero-v2-inner{
  max-width:var(--maxw);margin:0 auto;padding:56px 20px 40px;
  display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;
  position:relative;z-index:1;
}
.hero-text{text-align:left}
.hero-v2 .hero-eyebrow{margin-bottom:18px}
.hero-v2 h1{
  font-size:clamp(30px,3.4vw,44px);font-weight:800;line-height:1.18;
  max-width:none;margin:0;letter-spacing:-.8px;
}
.hero-v2 h1 em{font-style:normal;color:var(--primary);position:relative}
.hero-v2 h1 em::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:8px;
  background:rgba(15,118,110,.14);border-radius:4px;z-index:-1;
}
.hero-v2 .hero-sub{
  margin:18px 0 0;font-size:16px;color:var(--text-2);max-width:520px;line-height:1.7;
}
.hero-search{margin:28px 0 0;max-width:none}
.hero-actions{display:flex;gap:12px;margin-top:24px}

/* Hero 右侧视觉 */
.hero-visual{position:relative}
.hero-image-wrap{
  position:relative;border-radius:32px 12px 32px 12px;overflow:hidden;
  box-shadow:0 24px 70px rgba(12,14,18,.14), 0 8px 24px rgba(15,118,110,.10);
  transform:perspective(1000px) rotateY(-2deg) rotateX(1deg);
  transition:transform .4s ease;
}
.hero-image-wrap:hover{transform:perspective(1000px) rotateY(0) rotateX(0)}
.hero-image-wrap::before{
  content:"";position:absolute;inset:-2px;border:1px solid rgba(15,118,110,.18);border-radius:34px 14px 34px 14px;
  pointer-events:none;z-index:2;
}
.hero-image-wrap img{width:100%;height:420px;object-fit:cover;display:block}
.hero-image-badge{
  position:absolute;left:-24px;bottom:34px;
  background:rgba(255,255,255,.95);backdrop-filter:blur(8px);
  border:1px solid var(--border);border-radius:16px;
  padding:16px 22px;box-shadow:var(--shadow);
  animation:float 4s ease-in-out infinite;
}
.hero-image-badge b{display:block;font-size:28px;font-weight:800;color:var(--text)}
.hero-image-badge span{font-size:13px;color:var(--text-2)}
.hero-stats-float{
  position:absolute;right:-12px;top:30px;
  display:flex;flex-direction:column;gap:10px;
}
.hero-stats-float .hs{
  background:rgba(255,255,255,.95);backdrop-filter:blur(8px);
  border:1px solid var(--border);border-radius:12px;
  padding:12px 18px;box-shadow:var(--shadow);text-align:center;
  animation:float 5s ease-in-out infinite;
}
.hero-stats-float .hs:nth-child(2){animation-delay:1s}
.hero-stats-float b{display:block;font-size:20px;font-weight:800;color:var(--primary)}
.hero-stats-float span{font-size:12px;color:var(--text-2);white-space:nowrap}

@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

/* Hero 底部数据条 */
.hero-data-bar{
  position:relative;z-index:1;
  background:rgba(255,255,255,.45);border-top:1px solid rgba(15,118,110,.12);
  backdrop-filter:blur(4px);
}
.hero-data-inner{
  max-width:var(--maxw);margin:0 auto;padding:22px 20px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.hero-data-inner div{text-align:center;flex:1;min-width:120px}
.hero-data-inner b{display:block;font-size:22px;font-weight:800;color:var(--text)}
.hero-data-inner span{font-size:12.5px;color:var(--text-3)}

/* 装饰元素 */
.deco-dot,.deco-icon{position:absolute;z-index:0;pointer-events:none}
.deco-dot{width:240px;height:240px;border-radius:50%;filter:blur(64px);opacity:.55}
.deco-dot.d1{background:var(--primary);top:-80px;right:12%}
.deco-dot.d2{background:var(--accent);bottom:120px;left:-60px}
.deco-icon{color:var(--primary);opacity:.15}
.deco-icon.i1{width:120px;height:120px;top:90px;right:42%}
.deco-icon.i2{width:80px;height:80px;bottom:140px;right:8%}

/* ---------- 业务线流程卡片 ---------- */
/* 首页三段式撞色背景：中间栏目区暖底 */
.home .band-mid{
  position:relative;
  z-index:0;
}
.home .band-mid::before{
  content:"";position:absolute;top:0;bottom:0;
  left:50%;transform:translateX(-50%);
  width:100vw;background:#f8f6f1;
  z-index:-2;
}
.section-features{position:relative}
.section-features::after{
  content:"";position:absolute;inset:0;
  background:url('./texture-dots.jpg') no-repeat center / cover;
  opacity:.04;pointer-events:none;
  z-index:-1;
}
.feature-flow{
  display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:center;
  position:relative;z-index:1;
}
.feature-step{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .2s,box-shadow .2s,border-color .2s;
  display:flex;flex-direction:column;position:relative;
}
.feature-step:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--border-strong)}
.step-num{
  position:absolute;top:14px;left:14px;
  font-size:11px;font-weight:800;color:#fff;
  background:var(--primary);padding:4px 10px;border-radius:999px;z-index:2;
}
.step-img{height:160px;background:#e6eaf0 center/cover no-repeat;position:relative}
.step-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,14,18,0),rgba(12,14,18,.35));
}
.step-body{padding:22px;display:flex;flex-direction:column;flex:1;position:relative}
.step-body .feature-ic{margin-bottom:12px}
.step-body h3{font-size:18px;font-weight:800;margin-bottom:8px}
.step-body p{color:var(--text-2);font-size:14px;line-height:1.65;flex:1}
.step-body .more{margin-top:16px;align-self:flex-start;font-size:14px;font-weight:700;color:var(--primary-700)}
.flow-arrow{
  width:36px;height:36px;color:var(--primary);opacity:.45;
  display:grid;place-items:center;flex:none;
}

/* ---------- 列表左侧图标 ---------- */
.row-icon{
  width:40px;height:40px;border-radius:10px;
  background:var(--surface-2);color:var(--primary);
  display:grid;place-items:center;flex:none;
}
.row-icon svg{width:20px;height:20px}

/* ---------- 深色数据带 2.0 ---------- */
.stats-band-v2{
  position:relative;overflow:hidden;border-top:1px solid #1f232c;border-bottom:1px solid #1f232c;
  background:url('./img-stats-bg.jpg') no-repeat center / cover;
}
.stats-band-v2::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(12,14,18,.86) 0%,rgba(13,32,30,.82) 50%,rgba(10,24,22,.88) 100%);
  pointer-events:none;
}
.stats-band-v2::after{
  content:"";position:absolute;inset:0;
  background:url('./texture-mol.jpg') no-repeat right center / 50% auto;
  opacity:.06;pointer-events:none;
}
.stats-v2-inner{
  max-width:var(--maxw);margin:0 auto;padding:72px 20px;
  display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center;
  position:relative;z-index:1;
}
.stats-v2-text{color:#fff}
.stats-v2-text h2{font-size:clamp(24px,2.8vw,32px);font-weight:800;margin-top:14px;line-height:1.25}
.stats-v2-text p{color:rgba(255,255,255,.68);font-size:15px;margin-top:14px;line-height:1.75;max-width:460px}
.stats-v2-text .btn-accent{margin-top:26px}
.stats-v2-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
}
.sv-card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);
  border-radius:18px;padding:24px;text-align:center;
  transition:transform .2s,background .2s;
}
.sv-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.10)}
.sv-card i{width:28px;height:28px;color:var(--accent);margin:0 auto 12px}
.sv-card b{display:block;font-size:28px;font-weight:800;color:#fff}
.sv-card span{font-size:13px;color:rgba(255,255,255,.55)}

/* ---------- 响应式补充 ---------- */
@media(max-width:1024px){
  .hero-v2-inner{grid-template-columns:1fr;gap:36px;text-align:center}
  .hero-text{text-align:center;display:flex;flex-direction:column;align-items:center}
  .hero-v2 h1 br{display:none}
  .hero-search{width:100%}
  .hero-visual{order:-1;max-width:560px;margin:0 auto;width:100%}
  .hero-image-wrap img{height:320px}
  .hero-image-badge{left:16px;bottom:16px;padding:12px 16px}
  .hero-stats-float{right:8px;top:12px}
  .feature-flow{grid-template-columns:1fr;gap:24px}
  .flow-arrow{transform:rotate(90deg);margin:0 auto}
  .stats-v2-inner{grid-template-columns:1fr;gap:36px;text-align:center}
  .stats-v2-text{display:flex;flex-direction:column;align-items:center}
  .stats-v2-text p{margin-left:auto;margin-right:auto}
}
@media(max-width:640px){
  .hero-v2-inner{padding:36px 20px 28px}
  .hero-image-wrap{transform:none}
  .hero-image-wrap img{height:260px}
  .hero-image-badge,.hero-stats-float{display:none}
  .hero-data-inner{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
  .stats-v2-grid{grid-template-columns:1fr 1fr}
  .sv-card{padding:18px 12px}
  .sv-card b{font-size:22px}
}

/* ---------- 发布弹窗 / 空状态 ---------- */
.td-modal{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center}
.td-modal[hidden]{display:none}
.td-modal-mask{position:absolute;inset:0;background:rgba(8,20,19,.5)}
.td-modal-box{position:relative;width:min(540px,92vw);max-height:90vh;overflow:auto;background:#ffffff;color:#1f2937;border:1px solid #d8dde3;border-radius:16px;box-shadow:0 20px 60px rgba(15,30,45,.18);padding:22px 22px 18px}
.td-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.td-modal-head h3{font-size:18px;margin:0;color:#1f2937}
.td-close{border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:#6b7280;padding:0 4px}
.td-modal-body label{display:block;font-size:12.5px;color:#4b5563;margin:12px 0 5px}
.td-modal-body .input,.td-modal-body .select{width:100%;padding:9px 11px;border:1px solid #d8dde3;border-radius:9px;font-size:14px;background:#ffffff;color:#1f2937;box-sizing:border-box}
.td-modal-body .input::placeholder,.td-modal-body .select::placeholder{color:#9ca3af}
.td-modal-body textarea.input{resize:vertical}
.td-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.td-err{color:#c0392b;font-size:12.5px;margin-top:10px;min-height:16px}
.td-modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.td-close{position:absolute;top:14px;right:16px;width:30px;height:30px;border:none;background:transparent;font-size:22px;line-height:1;color:#6b7280;cursor:pointer;border-radius:8px}
.td-close:hover{background:rgba(0,0,0,.05);color:#1f2937}
.td-modal-lg .td-modal-box{width:min(680px,94vw)}

/* 登记 / 登记类型弹窗：ay 修复 —— 独立 .td-reg-modal 类，隔离「技术详情弹窗 .td-modal」的 display 冲突。
   之前登记弹窗靠 hidden 属性切换显隐，但 .td-modal 基础 display 被技术详情弹窗（display:none + aria-hidden 切换）覆盖，
   导致 .td-reg-modal 显示时仍走 display:none 而不可见、点按钮无反应。 */
.td-reg-modal{position:fixed;inset:0;z-index:99990;display:none;align-items:center;justify-content:center;padding:32px 24px}
.td-reg-modal:not([hidden]){display:flex}
.td-reg-modal .td-modal-box{width:min(560px,92vw)}

/* 登记类型选择弹窗 */
.td-regtype-box{width:min(620px,94vw)}
.reg-type-tip{font-size:13px;color:var(--text-2);margin:2px 0 14px;line-height:1.5}
.reg-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.reg-type-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:.15s;font-family:inherit}
.reg-type-card:hover{border-color:var(--primary-700);box-shadow:0 6px 18px rgba(12,95,89,.12);transform:translateY(-2px)}
.reg-type-ic{width:26px;height:26px;color:var(--primary-700)}
.reg-type-card b{font-size:14px;color:var(--text)}
.reg-type-desc{font-size:12px;color:var(--text-2);line-height:1.4}

/* 协议中心页 */
.agreement-hero{padding:48px 14px 14px;text-align:center}
.agreement-hero h1{font-size:30px;margin:0 0 8px}
.agreement-hero p{color:var(--text-2);font-size:14px;max-width:620px;margin:0 auto}
.agreement-toc{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:18px 0 6px}
.agreement-toc a{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:1px solid var(--border);border-radius:999px;font-size:13.5px;color:var(--text);background:#fff}
.agreement-toc a:hover{border-color:var(--primary-700);color:var(--primary-700)}
.agreement-block{max-width:860px;margin:0 auto 22px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px 28px}
.agreement-block h2{font-size:20px;margin:0 0 4px;scroll-margin-top:88px}
.agreement-block .doc-note{font-size:12.5px;color:#9a7b1e;background:#fff8e6;border:1px solid #f0e0b0;border-radius:8px;padding:8px 12px;margin:0 0 14px;line-height:1.5}
.agreement-block h3{font-size:15px;margin:18px 0 6px;color:var(--text)}
.agreement-block p,.agreement-block li{font-size:14px;color:var(--text-2);line-height:1.7}
.agreement-block ol{padding-left:20px;margin:6px 0}
.agreement-block ol li{margin:4px 0}
.d-cat{margin-bottom:8px}
.d-title{font-size:21px;font-weight:800;margin:4px 0 12px;line-height:1.4}
.d-content{font-size:14.5px;line-height:1.8;color:var(--text);white-space:pre-wrap}
.d-info{font-size:12.5px;color:var(--text-3);margin:14px 0 4px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.d-replies-title{font-size:14px;font-weight:700;margin:6px 0 10px;color:var(--text-2)}
.reply-list{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}
.reply{display:flex;gap:10px}
.reply-ava{width:34px;height:34px;border-radius:50%;background:var(--primary-50);color:var(--primary-700);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.reply-body{flex:1;min-width:0}
.reply-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);margin-bottom:3px}
.reply-meta b{color:var(--text);font-weight:700}
.reply-meta span{color:var(--text-3);font-size:12px}
.reply-text{font-size:14px;line-height:1.7;color:var(--text);white-space:pre-wrap}
.d-reply-box{display:flex;gap:10px;align-items:flex-end}
.d-reply-box .input{flex:1}
.cat-list a.active{background:var(--primary-50);color:var(--primary-700);font-weight:700}
.cat-list a.active .ci{color:var(--primary-700)}
.empty{padding:40px 16px;text-align:center;color:var(--text-3);font-size:14px}
.empty a{color:var(--primary);cursor:pointer}

/* =========================================================
   首页升级：愿景/使命 · 实时产业脉搏 · 动态交互
   ========================================================= */

/* 滚动入场（安全：仅当 JS 可用时隐藏，失败则默认可见） */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .js .reveal{opacity:1!important;transform:none!important;transition:none}
}

/* ---------- 愿景与使命 ---------- */
.vision-band{padding-top:58px;padding-bottom:6px}
.vision-statement{max-width:880px;margin:0 auto;text-align:center}
.vision-statement .sec-eyebrow{display:block;text-align:center;margin-bottom:10px}
.vision-quote{font-size:clamp(24px,3vw,32px);line-height:1.4;font-weight:800;letter-spacing:-.3px;color:var(--text)}
.vision-quote::after{content:"";display:block;width:68px;height:4px;margin:22px auto 0;border-radius:4px;background:linear-gradient(90deg,var(--primary),var(--accent))}
.vision-sub{color:var(--text-2);font-size:15px;max-width:680px;margin:18px auto 0;line-height:1.8}

.mission-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.pillar{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  min-height:320px;padding:26px 22px;
  display:flex;flex-direction:column;justify-content:flex-end;
  background:#1a1f25 center/cover no-repeat;
  transition:transform .25s,box-shadow .25s;
  box-shadow:var(--shadow-sm);
}
.pillar::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,14,18,.25) 0%,rgba(12,14,18,.55) 60%,rgba(12,14,18,.72) 100%);
  z-index:1;transition:background .25s;
}
.pillar::after{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--primary),var(--accent));
  z-index:3;opacity:.85;transition:opacity .25s,height .25s;
}
.pillar:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.pillar:hover::before{background:linear-gradient(180deg,rgba(12,14,18,.35) 0%,rgba(12,14,18,.62) 60%,rgba(12,14,18,.78) 100%)}
.pillar:hover::after{opacity:1;height:4px}
.pillar-ic{
  position:relative;z-index:2;
  display:inline-flex;width:46px;height:46px;border-radius:12px;
  background:rgba(255,255,255,.92);color:var(--primary);
  align-items:center;justify-content:center;margin-bottom:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
}
.pillar-ic svg{width:24px;height:24px}
.pillar h3{position:relative;z-index:2;font-size:20px;margin-bottom:8px;color:#fff}
.pillar p{position:relative;z-index:2;color:rgba(255,255,255,.82);font-size:14px;line-height:1.7}

/* ---------- 实时产业脉搏：左业务 / 右新闻 ---------- */
.pulse-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:26px;align-items:start}
.pulse-left{min-width:0}
.pulse-right{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  background:var(--surface);border:1px solid var(--border);
  color:var(--text);box-shadow:var(--shadow);
}
.pulse-right-header{
  position:relative;min-height:150px;padding:20px 18px;display:flex;align-items:flex-end;
  background:#e6eaf0 center/cover no-repeat;
}
.pulse-header-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(244,246,249,.55) 60%,rgba(255,255,255,.92) 100%);
  pointer-events:none;
}
.pulse-right-header .news-head{position:relative;z-index:1;width:100%;margin-bottom:0}
.pulse-right-header .news-head h3{color:var(--text);font-size:22px}
.pulse-right-header .sec-eyebrow{background:rgba(15,118,110,.12);color:var(--primary-700)}
.pulse-right-header .more{color:var(--primary-700)}
.pulse-right-header .more:hover{color:var(--primary)}
.pulse-right-body{padding:16px 18px 18px;background:var(--surface)}
.pulse-right-body .tabs-line{border-bottom:1px solid var(--border);margin-bottom:12px}
.pulse-right-body .tabs-line .tl{color:var(--text-3)}
.pulse-right-body .tabs-line .tl.active{color:var(--primary)}
.pulse-right-body .tabs-line .tl-ind{background:var(--primary)}
.pulse-right-body .news-feed li{border-bottom:1px dashed var(--border)}
.pulse-right-body .news-feed li a{color:var(--text)}
.pulse-right-body .news-feed li a:hover{color:var(--primary)}
.pulse-right-body .news-feed li .date{color:var(--text-3)}

/* 滑动 tab（业务 / 新闻共用） */
.tabs-line{position:relative;display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px}
.tabs-line .tl{background:none;border:none;padding:10px 14px;font-size:14px;font-weight:600;color:var(--text-3);cursor:pointer;transition:color .2s;white-space:nowrap}
.tabs-line .tl.active{color:var(--primary)}
.tabs-line .tl-ind{position:absolute;bottom:-1px;left:0;height:2px;width:0;background:var(--primary);border-radius:2px;transition:transform .28s cubic-bezier(.2,.7,.2,1),width .28s cubic-bezier(.2,.7,.2,1)}
.tabs-line.sm .tl{padding:8px 12px;font-size:13px}
.tab-panel{display:none}
.tab-panel.active{display:block;animation:fadeUp .4s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* 右栏新闻动态：自动滚动流 */
.news-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}
.news-head h3{font-size:19px;margin-top:4px}
.news-feed-view{height:320px;overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 20px,#000 calc(100% - 20px),transparent);
  mask-image:linear-gradient(180deg,transparent,#000 20px,#000 calc(100% - 20px),transparent)}
.feed-track{animation:feedScroll 24s linear infinite}
.feed-track:hover{animation-play-state:paused}
@keyframes feedScroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.news-feed li{display:flex;flex-direction:column;gap:4px;padding:13px 6px;border-bottom:1px dashed rgba(255,255,255,.18)}
.news-feed li a{font-weight:600;font-size:14px;color:#fff;line-height:1.45;transition:color .15s}
.news-feed li a:hover{color:#9fe9dd}
.news-feed li .date{font-size:12px;color:rgba(255,255,255,.55)}

/* 悬浮微交互：业务卡片 / 列表行 */
.js .feature-step{transition:transform .25s,box-shadow .25s}
.js .feature-step:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.js .row{transition:transform .18s,box-shadow .18s,border-color .18s}
.js .row:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--primary-50)}

/* Hero 装饰轻微浮动 */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-stats-float{animation:floaty 5s ease-in-out infinite}
.hero-image-badge{animation:floaty 5s ease-in-out infinite}

/* 响应式：两段式在窄屏堆叠 */
@media(max-width:1080px){
  .pulse-grid{grid-template-columns:1fr;gap:30px}
  .pulse-right{position:static}
  .mission-pillars{grid-template-columns:1fr}
}

/* =========================================================
   首页 3.0：全屏沉浸 Hero + 场景切换 + 大屏轮播
   参考：三星官网（Samsung.com）产品 showcase +
         腾讯 WorkBuddy 官网科技势能风格
   ========================================================= */

/* ===== 苹果风官网 Hero：满屏大字标语 + 视差图 + 滚动分层进入 ====== */
.hero-v3{
  /* 首屏左基准：小标签与标题共用同一条左边线，整体右移约两字宽（不再贴边） */
  --hero-inset:96px;
  --hero-gutter:max(20px, calc((100vw - var(--maxw)) / 2 + var(--hero-inset)));
  position:relative;min-height:80vh;min-height:80dvh;
  display:flex;flex-direction:column;justify-content:flex-start;
  overflow:hidden;
  padding:0;
}
.hero-v3-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-v3-bg img{
  width:100%;height:100%;object-fit:cover;
  /* 不再做视差放大，回到普通 cover */
  transform:none;
}
.hero-v3-overlay{
  position:absolute;inset:0;
  /* an 版：搭 Pexels 8386440 神经网络深蓝图。整体更暗、偏深蓝；
     右上一个冷光径向，呼应原图右上发光节点，便于标题落在高光区。 */
  background:
    radial-gradient(ellipse 70% 55% at 82% 38%, rgba(110,170,255,.22), transparent 65%),
    radial-gradient(ellipse 60% 50% at 18% 80%, rgba(40,90,180,.25), transparent 70%),
    linear-gradient(180deg, rgba(4,10,30,.62) 0%, rgba(6,16,42,.32) 35%, rgba(3,8,26,.80) 100%);
}
/* 装饰网格已下线（hero 苹果风一并去除） */

.hero-v3-inner{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:flex-end;
  text-align:right;
  max-width:none;margin:0;
  padding: clamp(90px, 12vh, 160px) var(--hero-gutter) clamp(30px, 5vh, 60px);
  width:100%;
  flex:1;justify-content:flex-start;
}
.hero-v3-main{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:flex-end;text-align:right;
  max-width:1080px;
}
.hero-v3-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;color:#b8e0d8;
  background:rgba(255,255,255,.10);padding:7px 18px;border-radius:999px;
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:30px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.18);
}
.hero-eyebrow-corner{
  position:absolute;
  top:48px;
  left:var(--hero-gutter);
  z-index:3;
  font-size:14.5px;
  font-weight:600;
  color:rgba(255,255,255,.85);
  letter-spacing:1.2px;
  padding:8px 18px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 4px 18px rgba(0,0,0,.18);
}

/* 主标语：苹果动态前原版字号（clamp 34-58px，即原始尺寸），无超大字/stagger/blur */
.hero-v3 h1:not(.hero-title-art){
  font-size:clamp(34px,4.8vw,58px);font-weight:800;line-height:1.12;letter-spacing:-1.2px;color:var(--text);
  max-width:720px;
  display:none;  /* 旧兜底：当前 HTML 用 .hero-title-art 渲染 */
}
@font-face{
  font-family:"Smiley Sans Oblique";
  src:url("./fonts/hero-smiley.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
.hero-title-art{
  /* 苹果动态前原版：普通大字 + 关键词高亮（实色兜底，兼容所有内核） */
  font-size:clamp(46px,7vw,98px);
  font-family:"Smiley Sans Oblique","PingFang SC","Microsoft YaHei",sans-serif;
  font-weight:400;
  line-height:1.06;
  letter-spacing:-1px;
  color:#ffffff;
  margin:0;
  max-width:1280px;
  text-shadow:0 6px 36px rgba(0,0,0,.32);
  /* 单行展示：让 hero 不再分两行（移动端下方媒体查询允许换行） */
  white-space:nowrap;
}
.hero-title-art.hero-title-single > span{display:inline}
.hero-title-art > span{display:block}
.hero-title-art > span + span{margin-top:.04em}
.hero-title-art > span em{
  font-style:normal;
  display:inline-block;
  /* 让天下没有 与 难做的科技 之间留点间隔（al 版） */
  margin-left:.22em;
  /* 实色兜底：之前用 -webkit-text-fill-color:transparent + background-clip:text，
     在微信 X5 / 旧版 WebView 下整段不可见。
     现改实色 + 多层 text-shadow 做光晕，跨端 100% 可见。 */
  color:#ffb84d;
  text-shadow:
    0 2px 14px rgba(255,122,61,.55),
    0 0 36px rgba(255,160,90,.40),
    0 0 64px rgba(255,140,60,.25);
}

/* ---------- Hero 标题 · 静态展示（al 版：去掉字符级进场动画） ----------
   每个字仍被包成 <i class="ch" style="--d:N">字</i>，但不再做依次淡入上移，
   直接全部可见。间距由父容器的 letter-spacing 与 .ch + .ch 微小 margin 提供。 */
.hero-title-art > span .ch{
  display:inline-block;
  opacity:1;
  transform:none;
}
.hero-title-art > span .ch + .ch{margin-left:.04em}
/* 兼容旧触发：保留 .ch-in 类选择器但不再触发动画，避免 JS 残留报错 */
.hero-title-art.ch-in > span .ch{opacity:1;transform:none;animation:none}
@media(max-width:760px){
  /* 小屏允许换行避免溢出；同时仍然用实色高亮 */
  .hero-title-art.hero-title-single{white-space:normal;font-size:clamp(34px,9vw,60px);letter-spacing:-1.5px}
  .hero-title-art.hero-title-single > span{display:inline}
  /* 移动端字间距收紧，避免字符动画后空白太多 */
  .hero-title-art > span .ch + .ch{margin-left:.03em}
}

/* 副标 + 行动按钮：普通静态显示，不再做 stagger 推入 */
.hero-v3-sub{
  font-size:clamp(15px,1.4vw,19px);
  color:rgba(255,255,255,.86);
  line-height:1.7;
  max-width:680px;
  margin-top:32px;
  letter-spacing:.3px;
  /* 2026-08-13 ay：用户要求左对齐（图3）· 之前 am 版靠右 */
  text-align:left;
  /* 去掉 opacity:0 / transform 入场，默认可见 */
}

/* 首屏信用条（参考博济：数字滚动 + 分隔线，增强可信度） */
.hero-v3-actions{
  display:flex;gap:16px;margin-top:36px;flex-wrap:wrap;align-items:center;
}
.hero-v3-actions .btn-ghost-light{
  background:rgba(255,255,255,.10);
  color:#ffffff;
  border:1px solid rgba(255,255,255,.40);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.hero-v3-actions .btn-ghost-light:hover{
  background:rgba(255,255,255,.22);
  border-color:#ffffff;
  color:#ffffff;
}

/* 滚动指示器：保留为普通小静态提示，不再用动画 */
.scroll-indicator{
  position:absolute;
  left:50%;
  bottom:34px;
  transform:translateX(-50%);
  z-index:3;
  width:24px;height:42px;
  border:1.5px solid rgba(255,255,255,.50);
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  opacity:.7;
  transition:opacity .2s;
}
.scroll-indicator:hover{opacity:1}
.scroll-indicator::after{
  content:"";width:3px;height:8px;background:#fff;border-radius:2px;
  animation:scrollHint 1.8s ease-in-out infinite;
}
@keyframes scrollHint{
  0%{transform:translateY(-6px);opacity:1}
  60%{transform:translateY(6px);opacity:.3}
  100%{transform:translateY(-6px);opacity:.3}
}

/* ====== Hero 装饰带：主标语下方的独立证据带 ======
   收口版（2026-08-10）：字号整体缩小一档；强调「欢迎登记」而非数字堆砌。 */
.hero-v3-band{
  position:relative;
  width:100%;
  padding: clamp(36px, 5vh, 60px) 24px;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.86) 50%, rgba(255,255,255,.74) 100%),
    url('./assets/hero-main.jpg') center/cover no-repeat;
  border-top:1px solid rgba(15,118,110,.16);
  border-bottom:1px solid rgba(15,118,110,.10);
}
.hero-v3-band::before{
  content:'';position:absolute;inset:0;z-index:0;
  background-image:
    linear-gradient(rgba(15,118,110,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,118,110,.04) 1px, transparent 1px);
  background-size:64px 64px;
  pointer-events:none;
}
.hb-inner{
  position:relative;z-index:1;
  max-width:var(--maxw);
  margin:0 auto;
  display:grid;
  grid-template-columns: minmax(0, 1.2fr) auto minmax(0, 1.1fr);
  align-items:center;
  gap: clamp(20px, 3vw, 44px);
}
/* 删掉左侧引号后的两栏变体：stat + tags 两列，stat 在左居中 */
.hb-inner-2col{
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
}
/* 行楷文引号（已弃用但保留兜底样式，防止老浏览器残留显示） */
.hb-quote{
  margin:0;
  font-family:'HongLeiXingShu','Xingkai','STXingkai','STKaiti','KaiTi',cursive;
  font-size:clamp(16px, 1.5vw, 21px);
  font-weight:500;
  color:var(--text);
  line-height:1.7;
  letter-spacing:.6px;
  padding-right: clamp(0px, 2vw, 24px);
  border-right:1px solid rgba(15,118,110,.18);
  display:none;  /* 2026-08-12 删除：用户觉得没必要 */
}
.hb-stat{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:0 clamp(10px,1.5vw,18px);
}
.hb-stat b{
  font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:clamp(24px, 2.6vw, 32px);
  font-weight:800;
  color:var(--primary-700);
  letter-spacing:-.3px;
  line-height:1.05;
}
.hb-stat span{
  font-size:12px;
  color:var(--text-3);
  margin-top:6px;
  letter-spacing:1.2px;
}
.hb-tags{
  display:flex;flex-wrap:wrap;gap:6px 8px;
  padding-left: clamp(0px, 2vw, 24px);
  border-left:1px solid rgba(15,118,110,.18);
  justify-content:flex-start;
}
.hb-tag{
  font-size:12px;color:var(--primary-700);font-weight:600;
  background:#ffffff;
  border:1px solid rgba(15,118,110,.24);
  padding:5px 12px;border-radius:999px;
  letter-spacing:.6px;
  box-shadow:0 2px 8px rgba(15,23,32,.04);
}
@media (max-width: 820px){
  .hb-inner{grid-template-columns:1fr;text-align:center;gap:18px;}
  .hb-quote{border-right:0;border-bottom:1px solid rgba(15,118,110,.18);padding:0 0 14px;}
  .hb-tags{border-left:0;justify-content:center;padding:0;border-top:0;}
}
.hero-title-art .art-line{display:block}
.btn-ghost-light{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.72);backdrop-filter:blur(6px);
  color:var(--text);border:1px solid rgba(15,118,110,.25);
  padding:11px 22px;border-radius:8px;font-size:15px;font-weight:600;
  transition:background .15s,border-color .15s,transform .05s;
}
.btn-ghost-light:hover{background:#fff;border-color:var(--primary);color:var(--primary-700)}
.hero-v3-data{
  display:flex;gap:42px;margin-top:56px;flex-wrap:wrap;
}
.hero-v3-data div{position:relative}
.hero-v3-data div:not(:last-child)::after{
  content:"";position:absolute;right:-22px;top:8px;bottom:8px;width:1px;background:var(--border-strong);
}
.hero-v3-data b{display:block;font-size:28px;font-weight:800;color:var(--text)}
.hero-v3-data span{font-size:13px;color:var(--text-3)}

.scroll-indicator{
  position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:3;
  width:30px;height:46px;border:2px solid rgba(15,118,110,.35);border-radius:15px;
  display:grid;place-items:start center;padding-top:8px;
  transition:border-color .25s;
}
.scroll-indicator span{
  width:5px;height:9px;border-radius:3px;background:var(--primary);
  animation:scrollBall 1.8s ease-in-out infinite;
}
@keyframes scrollBall{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(12px);opacity:.4}}
.scroll-indicator:hover{border-color:var(--primary)}

/* ---------- 三大登记区：场景切换 ---------- */
.showcase{padding-top:72px;padding-bottom:72px}
.showcase-header{text-align:center;max-width:720px;margin:0 auto 46px}
.showcase-header .sec-eyebrow{display:inline-flex;margin-bottom:12px}
.showcase-header h2{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.4px}
.showcase-header p{color:var(--text-2);font-size:15px;margin-top:12px;line-height:1.7}

.showcase-tabs{
  display:flex;justify-content:center;gap:14px;margin-bottom:32px;flex-wrap:wrap;
}
.showcase-tab{
  position:relative;flex:1;min-width:200px;max-width:320px;
  background:var(--surface);border:1px solid var(--border);border-radius:16px;
  padding:18px 20px;text-align:left;cursor:pointer;
  box-shadow:var(--shadow-sm);transition:border-color .25s,box-shadow .25s,transform .2s;
  display:flex;flex-direction:column;gap:4px;
}
.showcase-tab:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--border-strong)}
.showcase-tab.active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-50),var(--shadow)}
.showcase-tab .st-num{
  font-size:12px;font-weight:800;color:var(--primary);letter-spacing:.1em;
}
.showcase-tab .st-label{font-size:17px;font-weight:700;color:var(--text)}
.showcase-tab .st-desc{font-size:12.5px;color:var(--text-3)}
.showcase-tab.active .st-desc{color:var(--primary-700)}

.showcase-stage{
  position:relative;background:var(--surface);border:1px solid var(--border);
  border-radius:24px;overflow:hidden;box-shadow:var(--shadow);min-height:520px;
}
.scene{
  position:absolute;inset:0;display:grid;grid-template-columns:1.35fr 1fr;gap:0;
  opacity:0;visibility:hidden;transition:opacity .55s cubic-bezier(.2,.7,.2,1),visibility .55s;
}
.scene.active{opacity:1;visibility:visible;position:relative}
.scene-visual{
  position:relative;background:center/cover no-repeat;min-height:520px;
}
.scene-visual::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.35) 100%);
}
.scene-tag{
  position:absolute;top:24px;left:24px;
  font-size:12px;font-weight:700;color:#fff;letter-spacing:.12em;text-transform:uppercase;
  background:rgba(255,255,255,.12);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.25);padding:7px 14px;border-radius:999px;
}
.scene-float-card{
  position:absolute;left:24px;bottom:24px;
  display:flex;align-items:center;gap:14px;
  background:rgba(255,255,255,.95);backdrop-filter:blur(10px);
  border:1px solid var(--border);border-radius:16px;padding:16px 20px;box-shadow:var(--shadow);
  animation:floatCard 4.5s ease-in-out infinite;
}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.scene-float-card i{width:28px;height:28px;color:var(--primary)}
.scene-float-card b{display:block;font-size:20px;font-weight:800;color:var(--text)}
.scene-float-card span{font-size:12px;color:var(--text-3)}

.scene-info{
  padding:48px 44px;display:flex;flex-direction:column;justify-content:center;
}
.scene-ic{
  width:56px;height:56px;border-radius:15px;background:var(--primary-50);color:var(--primary-700);
  display:grid;place-items:center;margin-bottom:22px;
}
.scene-ic svg{width:28px;height:28px}
.scene-info h3{font-size:clamp(24px,2.4vw,32px);font-weight:800;line-height:1.25;letter-spacing:-.4px}
.scene-info p{color:var(--text-2);font-size:15px;line-height:1.8;margin-top:16px}
.scene-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.scene-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px;padding-top:28px;border-top:1px solid var(--border)}
.sf-item b{display:block;font-size:14px;font-weight:700;color:var(--text)}
.sf-item span{font-size:12.5px;color:var(--text-3)}

/* ---------- 团队与愿景 · 翻书效果（2026-08-12 重写：原三栏卡片太占位） ---------- */
.team-vision{
  position:relative;
  max-width:none;
  overflow:hidden;
  padding-top:64px;padding-bottom:28px;
  background:linear-gradient(180deg,#fafbfe 0%,#f1eef8 100%);
}
.team-vision.team-vision{padding-left:0;padding-right:0}
.team-vision-bg{
  position:absolute;inset:0;
  pointer-events:none;z-index:0;
  opacity:.9;
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.team-vision-bg svg{width:100%;height:100%;display:block}
.team-vision-header{text-align:center;max-width:760px;margin:0 auto 50px;position:relative;z-index:2}
.team-vision-header .sec-eyebrow{display:inline-flex;margin-bottom:14px}
.team-vision-header h2{font-size:clamp(28px,3.2vw,40px);font-weight:800;letter-spacing:-.5px;line-height:1.2}
.team-vision-header p{color:var(--text-2);font-size:15px;margin-top:14px;line-height:1.8}
/* 2026-08-13 ay：ax 改完卡片左右仍显单薄，重新放宽容器 padding 与 grid gap 让卡片"高大"起来 */
.team-vision-body{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 24px;
  display:flex;flex-direction:column;gap:40px;
  position:relative;z-index:2;
}
/* 平台简介 · 三张卡平铺
   2026-08-13 ay：高大版——padding-y 36 / 32 加 min-height 480 / gap 24 / 圆角 16，让卡片大气 */
.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.intro-card{
  position:relative;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border:1px solid var(--border);border-radius:16px;
  padding:36px 28px 32px;
  min-height:480px;
  display:flex;flex-direction:column;gap:14px;
  box-shadow:0 12px 36px rgba(15,30,45,.10);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s,background .35s;
  overflow:hidden;
}
.intro-card:hover{
  transform:translateY(-6px);
  background:rgba(255,255,255,.95);
  box-shadow:0 22px 48px rgba(15,30,45,.14);
  border-color:#cfe1ff;
}
.intro-num{
  position:absolute;bottom:30px;right:30px;
  font-family:"Helvetica Neue","Inter",sans-serif;
  font-size:54px;font-weight:200;letter-spacing:-1.5px;
  color:rgba(28,109,208,.12);
  line-height:1;
  transition:color .35s,transform .35s;
}
.intro-card:hover .intro-num{
  color:rgba(28,109,208,.22);
  transform:translateX(-4px);
}
.intro-arrow{
  position:absolute;left:28px;bottom:26px;
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:999px;
  background:#f4f7fb;color:#8a93a5;
  font-size:14px;line-height:1;
  opacity:0;transform:translateX(-6px);
  transition:opacity .3s,transform .3s,background .3s,color .3s;
}
.intro-card:hover .intro-arrow{
  opacity:1;transform:none;background:#1c6dd0;color:#fff;
}
.intro-card .bp-title{
  font-size:19px;font-weight:700;color:#16213a;letter-spacing:0;
  margin:0 0 6px;padding:0;border:0;
}
.intro-card .bp-title .grad-text{
  background:none;-webkit-text-fill-color:inherit;color:inherit;font-weight:400;
}
.intro-card .bp-lead{
  font-size:14.5px;font-weight:400;color:#3a4452;line-height:1.85;
  margin:0 0 2px;padding-left:0;border-left:0;
}
.intro-card .bp-body{
  font-size:14.5px;line-height:1.95;color:#3a4452;font-weight:400;margin:0;
}
.intro-card .bp-body + .bp-body{margin-top:12px}
.intro-card .bp-body b{color:inherit;font-weight:400}
.intro-card .bp-body .hl-num,
.intro-card .bp-body .hl,
.intro-card .bp-body .hl-award{
  color:inherit;font-weight:400;background:none;padding:0;border-radius:0;font-size:inherit;
}
.intro-card .bp-body .hl::after{display:none}

/* 左侧：业务定位 · 叠加卡片堆叠 —— 3 张绝对定位的卡片堆在一起
   2026-08-12 改：去掉 3D 翻页（perspective/rotateY/flipping/glint 全部下线），
   改成"叠加：点击后前面的往后缩、后面的往前推"。
   pos:0 = 最顶（默认顶卡）/ pos:1 = 中间 / pos:2 = 最底（仅露顶部一条边） */
.book-stack{
  position:relative;
  width:100%;
}
.book-pages{
  position:relative;
  width:100%;
  height:580px;
  cursor:pointer;
  user-select:none;
}
.book-page{
  position:absolute;inset:0;
  padding:40px 44px 42px;
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:
    0 18px 40px rgba(15,30,45,.18),
    0 4px 12px rgba(15,30,45,.08);
  /* 业务定位卡片 · 丝滑版：.9s 配合 cubic-out（开头冲、尾巴缓收），
     box-shadow 同步 0.9s 让阴影随位移一起"沉下来"，避免位移结束阴影还没跟上 */
  transition:transform .9s cubic-bezier(.22,1,.36,1),
             opacity .9s cubic-bezier(.22,1,.36,1),
             box-shadow .9s cubic-bezier(.22,1,.36,1);
  overflow:hidden;
  display:flex;flex-direction:column;gap:16px;
  /* 默认色，保持白底可承载后续 ::before 加底图 */
}
/* 底图 + 蒙版：每张卡用 --bg 变量塞图，::before 蒙版从左 0% 渐隐到右 60%（避免抢文字） */
.book-page::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:var(--bg);
  background-size:cover;background-position:center;
  background-repeat:no-repeat;
  opacity:.42;
  filter:saturate(.85) brightness(.96);
  transition:opacity .35s,filter .35s;
  z-index:0;
}
.book-page::after{
  /* 上半略透出底图 → 下半接近纯白：文字始终压在清爽白底上，底图只在顶部/边角"打底" */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(255,255,255,.46) 0%,
    rgba(255,255,255,.74) 26%,
    rgba(255,255,255,.96) 54%,
    rgba(255,255,255,.99) 100%);
  z-index:1;
}
.book-page[data-pos="0"]{
  transform:translateY(0) scale(1);
  z-index:30;
  box-shadow:
    0 24px 50px rgba(15,30,45,.22),
    0 6px 14px rgba(15,30,45,.10);
  /* 顶卡先动 0s，承接"点击后这张先亮"的视线引导 */
  transition-delay:0s;
}
.book-page[data-pos="0"]:hover{
  box-shadow:
    0 28px 56px rgba(15,30,45,.26),
    0 8px 18px rgba(15,30,45,.12);
}
.book-page[data-pos="0"]::before{opacity:.55}
.book-page[data-pos="1"]{
  transform:translateY(18px) scale(.965);
  z-index:20;
  opacity:.92;
  box-shadow:
    0 14px 28px rgba(15,30,45,.16),
    0 3px 8px rgba(15,30,45,.06);
  /* 中卡 +0.07s 错峰，跟在顶卡之后"沉下来" */
  transition-delay:.07s;
}
.book-page[data-pos="1"]::before{opacity:.38}
.book-page[data-pos="2"]{
  transform:translateY(36px) scale(.93);
  z-index:10;
  opacity:.7;
  box-shadow:
    0 10px 18px rgba(15,30,45,.12),
    0 2px 6px rgba(15,30,45,.04);
  /* 底卡 +0.14s，最后再"沉到底"，错峰感最强 */
  transition-delay:.14s;
}
.book-page[data-pos="2"]::before{opacity:.22}

/* ★ 业务定位 · 卡片里面所有内容都压到 z 2（盖过蒙版层），保证文字永远在最上层 */
.book-page > *{position:relative;z-index:2}
.bp-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:6px;
}
.bp-tag{
  font-size:11.5px;font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  padding:5px 11px;border-radius:999px;
  display:inline-flex;align-items:center;gap:6px;
}
.bp-tag::before{
  content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  background:currentColor;
}
.bp-tag-blue{background:#eaf3ff;color:#1c6dd0;border:1px solid #cfe1ff}
.bp-tag-teal{background:#e6fbf6;color:#0f8a78;border:1px solid #b8ebde}
.bp-tag-amber{background:#fff5e1;color:#b06808;border:1px solid #f8d99a}
.bp-step{
  font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:11.5px;color:#9aa5b4;letter-spacing:.8px;
}
.bp-title{
  font-size:22px;font-weight:800;letter-spacing:-.3px;
  color:#0f1a30;margin:4px 0 14px;
  padding-bottom:12px;
  border-bottom:1px solid #e6e9ee;
}
.bp-title .grad-text{
  background:linear-gradient(95deg,#1c6dd0 0%,#0f8a78 60%,#b06808 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:800;
}
/* 标题下的"定调句"：一句话带出观点，建立 title → lead → body 的层级 */
.bp-lead{
  font-size:15px;font-weight:600;line-height:1.7;
  color:#1f2a3a;margin:0 0 2px;
  padding-left:14px;border-left:2px solid #cfe1ff;
}
.bp-body{
  color:#3a4452;font-size:15px;line-height:1.95;margin:0;
}
.bp-body + .bp-body{margin-top:12px}
.bp-body b{color:#1c6dd0;font-weight:700}
/* 数字高亮：年份、金额、数据 */
.bp-body .hl-num{
  color:#0f1a30;font-weight:800;
  background:linear-gradient(180deg,transparent 70%,rgba(28,109,208,.18) 70%);
  padding:0 2px;border-radius:2px;
}
/* 关键术语高亮 */
.bp-body .hl{
  color:#0f8a78;font-weight:700;
  position:relative;padding:0 1px;
}
.bp-body .hl::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,#0f8a78,#0f8a78);
  opacity:.25;border-radius:1px;
}
/* 强调专有名词/奖项 */
.bp-body .hl-award{
  color:#b06808;font-weight:700;
  background:rgba(255,224,158,.25);
  padding:1px 6px;border-radius:4px;
  font-size:13.5px;
}
.bp-foot{
  display:flex;align-items:center;gap:10px;
  margin-top:18px;
  padding-top:12px;
  border-top:1px dashed #e6e9ee;
}
.bp-arrow{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;
  background:#f4f7fa;border:1px solid #d8dde3;border-radius:50%;
  font-size:14px;color:#5b6577;
}
.bp-hint{font-size:12.5px;color:#9aa5b4}

.book-stack-controls{
  margin:30px auto 0;
  display:flex;align-items:center;justify-content:center;gap:14px;
}
.bsc-tip{
  font-size:12.5px;color:#9aa5b4;
  padding:4px 12px;
  border:1px dashed #d8dde3;
  border-radius:999px;
}
.bsc-progress{
  font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;
  font-size:14px;color:#5b6577;
  display:inline-flex;align-items:baseline;gap:4px;
  letter-spacing:.5px;
}
.bsc-cur{font-size:22px;font-weight:800;color:#0f1a30;line-height:1}
.bsc-sep{color:#9aa5b4;font-weight:600}
.bsc-total{font-size:14px;color:#5b6577}

/* 右侧：内容矩阵（公众号文章 + 短视频内容）—— 复用 tv-* 命名 */
.tv-content{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}
.tv-content-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  padding:18px 20px 16px;
  box-shadow:var(--shadow-sm);
  min-width:0;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s;
}
.tv-content-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(15,30,45,.10);
  border-color:#cfe1ff;
}
.tvc-head{
  display:flex;align-items:center;gap:10px;
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px dashed var(--border);
}
.tvc-ic{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:8px;
  background:var(--primary-50);color:var(--primary);
}
.tvc-ic svg{width:16px;height:16px}
.tvc-head h4{font-size:15px;font-weight:700;color:var(--text);margin:0;flex:1;letter-spacing:-.2px}
.tvc-tag{
  font-size:11px;font-weight:600;
  padding:3px 9px;border-radius:999px;
  background:var(--surface-2);color:var(--text-2);
  border:1px solid var(--border);
}
.tvc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.tvc-list li{border-bottom:1px dashed var(--border)}
.tvc-list li:last-child{border-bottom:0}
.tvc-list li a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 0;
  font-size:13.5px;color:var(--text);text-decoration:none;
  transition:color .15s;
}
.tvc-list li a:hover{color:var(--primary)}
.tvc-list .tvc-title{
  flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-weight:500;
}
.tvc-list .tvc-date{
  flex:none;font-size:11.5px;color:var(--text-3);
  font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;letter-spacing:.3px;
}
.tvc-video-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.tvc-video{
  display:flex;align-items:center;gap:10px;
  padding:6px;border-radius:8px;
  text-decoration:none;color:var(--text);
  transition:background .15s;
}
.tvc-video:hover{background:var(--surface-2)}
.tvc-cover{
  flex:none;width:74px;height:46px;border-radius:6px;overflow:hidden;
  background:#e2e8ee;position:relative;
}
.tvc-cover img{width:100%;height:100%;object-fit:cover;display:block}
.tvc-cover::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.18) 100%);
}
.tvc-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;justify-content:center}
.tvc-info b{
  font-size:13px;color:#1f2937;font-weight:600;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.tvc-video:hover .tvc-info b{color:var(--primary)}
.tvc-meta{
  font-size:11px;color:#9aa5b4;
  font-family:'Inter','PingFang SC','Microsoft YaHei',sans-serif;letter-spacing:.3px;
}

@media(max-width:980px){
  .team-vision-body{gap:24px}
  .intro-grid{grid-template-columns:1fr}
  .tv-content{grid-template-columns:1fr}
}
@media(max-width:760px){
  .team-vision{padding-top:48px;padding-bottom:36px}
  .team-vision-header{margin-bottom:28px}
  .team-vision-header h2{font-size:24px}
  .team-vision-body{padding:0 16px;gap:18px}
  .book-pages{height:620px}
  .book-page{padding:34px 28px 44px}
  .bp-title{font-size:19px}
  .bp-body{font-size:14px;line-height:1.9}
  .tv-content{gap:14px}
  .tv-content-card{padding:16px 18px 14px}
  .tvc-list li a{padding:9px 0;font-size:12.5px}
}
@media(max-width:480px){
  .book-pages{height:680px}
  .book-page{padding:30px 24px 44px}
}
/* 连接合肥创新引擎产业服务平台：资源类型与登记引导 */
.connect-section{
  padding-top:24px;padding-bottom:64px;
}
.connect-inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:54px 56px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:56px;
}
.connect-lead{flex:1;min-width:0}
.connect-lead .sec-eyebrow{margin-bottom:14px}
.connect-lead h2{
  font-size:clamp(26px,3.2vw,38px);
  font-weight:800;
  line-height:1.2;
  color:var(--text);
  margin-bottom:14px;
  letter-spacing:-.4px;
}
.connect-lead p{
  color:var(--text-2);font-size:15px;line-height:1.7;
  max-width:520px;margin-bottom:22px;
}
.keyword-wall{
  display:flex;flex-wrap:wrap;gap:10px;
}
.keyword-wall span{
  padding:7px 14px;
  border-radius:999px;
  background:var(--surface-2);
  border:1px solid var(--border);
  font-size:13px;
  font-weight:600;
  color:var(--text-2);
  transition:background .15s,border-color .15s;
}
.keyword-wall span:hover{background:var(--primary-50);border-color:var(--primary-50);color:var(--primary-700)}
.connect-cta{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  flex:none;
}
.connect-cta .btn-xl{padding:14px 28px;font-size:16px}
.connect-cta .cta-hint{
  font-size:12.5px;color:var(--text-3);
}

/* 页脚二维码 */
.footer-qr{flex:none}
.footer-qr h4{
  font-size:13px;font-weight:700;color:#fff;margin-bottom:14px;
}
.qr-grid-dark{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.qr-card-dark{
  background:#14171d;border:1px solid #262b34;border-radius:14px;
  padding:14px 10px 12px;text-align:center;
  transition:border-color .15s,transform .15s;
}
.qr-card-dark:hover{border-color:#3a4150;transform:translateY(-2px)}
.qr-card-dark .qr-img{
  width:100%;max-width:84px;margin:0 auto 10px;
  border-radius:8px;overflow:hidden;background:#fff;
}
.qr-card-dark .qr-img img{width:100%;aspect-ratio:1/1;height:auto;object-fit:contain;object-position:center;display:block}
.qr-card-dark .qr-label{
  font-size:11.5px;font-weight:600;color:rgba(255,255,255,.85);
  display:block;line-height:1.3;
}

/* ---------- 成果转化动态：大屏轮播 ---------- */
.dynamics-v2{
  background:linear-gradient(180deg,#f4f6f9 0%,#eef2f5 100%);
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding-top:72px;padding-bottom:80px;
}
.dynamics-v2-header{text-align:center;max-width:720px;margin:0 auto 44px}
.dynamics-v2-header .sec-eyebrow{display:inline-flex;margin-bottom:12px}
.dynamics-v2-header h2{font-size:clamp(26px,3vw,34px);font-weight:800;letter-spacing:-.4px}
.dynamics-v2-header p{color:var(--text-2);font-size:15px;margin-top:12px;line-height:1.7}

.dynamics-carousel{
  position:relative;max-width:var(--maxw);margin:0 auto;padding:0 20px;
}
.dyn-slides{
  position:relative;height:420px;border-radius:24px;overflow:hidden;
  background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);
}
.dyn-slide{
  position:absolute;inset:0;display:grid;grid-template-columns:1.2fr 1fr;
  opacity:0;visibility:hidden;transition:opacity .6s cubic-bezier(.2,.7,.2,1),visibility .6s;
}
.dyn-slide.active{opacity:1;visibility:visible}
.dyn-slide-visual{
  position:relative;background:center/cover no-repeat;
}
.dyn-slide-visual::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.02) 60%);
}
.dyn-slide-content{
  padding:48px 44px;display:flex;flex-direction:column;justify-content:center;
}
.dyn-slide-content .tag{width:fit-content}
.dyn-slide-content h3{font-size:clamp(22px,2.2vw,28px);font-weight:800;margin-top:14px;line-height:1.3;letter-spacing:-.3px}
.dyn-slide-content p{color:var(--text-2);font-size:15px;line-height:1.8;margin-top:14px}
.dyn-slide-meta{display:flex;gap:16px;margin-top:24px;flex-wrap:wrap}
.dyn-slide-meta span{
  font-size:13px;font-weight:600;color:var(--text);
  background:var(--surface-2);padding:7px 14px;border-radius:999px;
}

.dyn-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:48px;height:48px;border-radius:50%;
  background:var(--surface);border:1px solid var(--border-strong);color:var(--text);
  display:grid;place-items:center;cursor:pointer;
  box-shadow:var(--shadow);transition:background .15s,border-color .15s,transform .15s;
}
.dyn-arrow:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-50%) scale(1.05)}
.dyn-arrow.prev{left:-20px}
.dyn-arrow.next{right:-20px}
.dyn-arrow svg{width:22px;height:22px}

.dyn-dots{
  display:flex;justify-content:center;gap:10px;margin-top:24px;
}
.dyn-dots button{
  width:10px;height:10px;border-radius:50%;border:none;background:var(--border-strong);cursor:pointer;
  transition:background .25s,transform .25s;
}
.dyn-dots button.active{background:var(--primary);transform:scale(1.3)}

.dyn-progress{
  position:absolute;bottom:0;left:0;right:0;height:4px;background:rgba(15,118,110,.08);z-index:2;
}
.dyn-progress span{
  display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--accent));
  transition:width .1s linear;
}
.dynamics-carousel:hover .dyn-progress span{animation-play-state:paused}

/* ---------- 平台势能数据 3.0 已删除 2026-08-12：用户暂停数据展示 ---------- */

/* ---------- 落地页：独立业务线页面 ---------- */
.landing-hero{
  position:relative;min-height:520px;background:center/cover no-repeat;
  display:flex;align-items:center;
}
.landing-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(12,20,24,.82) 0%,rgba(12,20,24,.45) 55%,rgba(12,20,24,.15) 100%);
}
.landing-hero-inner{position:relative;z-index:1;padding:90px 20px 70px;max-width:var(--maxw);margin:0 auto;width:100%;color:#fff}
.landing-tag{
  display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  background:rgba(255,255,255,.12);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.25);padding:7px 14px;border-radius:999px;margin-bottom:18px;
}
.landing-hero h1{font-size:clamp(32px,4.2vw,52px);font-weight:800;line-height:1.15;letter-spacing:-1px}
.landing-hero h1 em{font-style:normal;color:var(--accent)}
.landing-hero p{font-size:16px;color:rgba(255,255,255,.78);max-width:560px;margin-top:18px;line-height:1.75}
.landing-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.landing-hero-stats{display:flex;gap:48px;margin-top:48px;flex-wrap:wrap}
.landing-hero-stats div{position:relative}
.landing-hero-stats div:not(:last-child)::after{
  content:"";position:absolute;right:-26px;top:6px;bottom:6px;width:1px;background:rgba(255,255,255,.2);
}
.landing-hero-stats b{display:block;font-size:28px;font-weight:800;color:#fff}
.landing-hero-stats span{font-size:13px;color:rgba(255,255,255,.6)}

.landing-section.alt{background:linear-gradient(180deg,#f4f6f9 0%,#eef2f5 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

.landing-results{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.result-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s,transform .15s;
  display:flex;flex-direction:column;
}
.result-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-3px)}
.result-img{height:180px;background:#e6eaf0 center/cover no-repeat;position:relative}
.result-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,14,18,0) 50%,rgba(12,14,18,.25) 100%);
}
.result-body{padding:22px;display:flex;flex-direction:column;flex:1}
.result-body h3{font-size:17px;font-weight:700;margin-top:10px;line-height:1.35}
.result-body p{color:var(--text-2);font-size:13.5px;line-height:1.7;margin-top:10px;flex:1}
.result-body .case-meta{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.result-body .case-meta span{font-size:12px;color:var(--text-3)}
.result-body .case-meta b{display:block;font-size:15px;font-weight:700;color:var(--text)}

.content-matrix{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.content-col{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);
  padding:24px;box-shadow:var(--shadow-sm);
}
.content-col-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.content-col-title i{width:22px;height:22px;color:var(--primary)}
.content-col-title h3{font-size:17px;font-weight:700}
.content-tag{
  margin-left:auto;font-size:11px;font-weight:600;color:var(--primary-700);
  background:var(--primary-50);padding:3px 10px;border-radius:999px;
}
.content-list li{border-bottom:1px solid var(--border)}
.content-list li:last-child{border-bottom:none}
.content-list li a{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:14px 0;transition:color .15s;
}
.content-list li a:hover{color:var(--primary)}
.content-list .cl-title{font-size:14px;font-weight:600;line-height:1.5;flex:1}
.content-list .cl-date{font-size:12px;color:var(--text-3);white-space:nowrap;margin-top:2px}
.video-list li a{align-items:center}
.video-thumb{
  width:88px;height:56px;border-radius:8px;background:#e6eaf0 center/cover no-repeat;
  flex:none;margin-right:12px;display:grid;place-items:center;position:relative;
}
.video-thumb::after{
  content:"";position:absolute;inset:0;background:rgba(12,14,18,.25);border-radius:8px;
}
.video-thumb i{position:relative;z-index:1;width:20px;height:20px;color:#fff}
.video-list li a{padding-left:0}

.cta-section{padding-top:60px;padding-bottom:60px}
.landing-cta{
  background:linear-gradient(135deg,var(--primary) 0%,#0c5f59 100%);
  border-radius:24px;padding:54px 56px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;
  color:#fff;box-shadow:0 24px 60px rgba(15,118,110,.22);
}
.landing-cta-text h2{font-size:clamp(24px,2.6vw,32px);font-weight:800;line-height:1.25;margin-top:12px}
.landing-cta-text p{color:rgba(255,255,255,.72);margin-top:14px;line-height:1.75}
.cta-checks{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.cta-checks li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:rgba(255,255,255,.85)}
.cta-checks i{width:18px;height:18px;color:var(--accent);flex:none;margin-top:2px}
.landing-cta-actions{display:flex;flex-direction:column;gap:14px}
.landing-cta-actions.multi{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.btn-xl{padding:14px 22px;font-size:15px;border-radius:10px;justify-content:center}

.case-filters{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}
.filter-btn{
  padding:7px 16px;border-radius:999px;font-size:13px;font-weight:600;
  background:var(--surface);border:1px solid var(--border);color:var(--text-2);
  transition:background .15s,color .15s,border-color .15s;
}
.filter-btn:hover{border-color:var(--border-strong);color:var(--text)}
.filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}

/* ---------- 落产值页：四大展示（合作工厂 / 科技公司 / 待落地 / 已落地） ---------- */
.sec-lead{color:var(--text-2);font-size:15px;line-height:1.7;margin-top:-10px;margin-bottom:26px;max-width:760px}

.partner-marquee{overflow:hidden;border-radius:18px;padding:8px 0}
.partner-track{
  display:flex;gap:20px;width:max-content;
  animation:partnerScroll 32s linear infinite;
}
.partner-marquee:hover .partner-track{animation-play-state:paused}
.partner-track.reverse{animation-direction:reverse;animation-duration:36s}
@keyframes partnerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.partner-card{
  width:260px;flex:none;
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  overflow:hidden;box-shadow:var(--shadow-sm);
  transition:transform .25s,box-shadow .25s;
}
.partner-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.partner-card .partner-img{height:130px;background:center/cover no-repeat;position:relative}
.partner-card .partner-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,14,18,0) 50%,rgba(12,14,18,.25) 100%);
}
.partner-card .partner-body{padding:18px}
.partner-card h4{font-size:16px;font-weight:800;margin-bottom:6px}
.partner-card p{font-size:12.5px;color:var(--text-2);line-height:1.6;margin-bottom:12px}
.partner-tags{display:flex;flex-wrap:wrap;gap:6px}
.partner-tags span{
  font-size:11px;font-weight:600;color:var(--primary-700);
  background:var(--primary-50);padding:3px 9px;border-radius:999px;
}

/* 我们有的技术项目（landing-tech）：3 列网格展示 */
.tech-supply-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  margin-top:18px;
}
.tech-supply-grid .partner-card{
  width:auto;flex:none;
}
.tech-supply-grid .partner-card .partner-img{height:160px}
.tech-supply-grid .partner-card .partner-body{padding:20px 22px 22px}
.tech-supply-grid .partner-card h4{font-size:16.5px;line-height:1.45;margin-bottom:8px}
.tech-supply-grid .partner-card p{font-size:13px;color:var(--text-2);line-height:1.7;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:980px){
  .tech-supply-grid{grid-template-columns:repeat(2,1fr);gap:18px}
}
@media(max-width:600px){
  .tech-supply-grid{grid-template-columns:1fr;gap:16px}
  .tech-supply-grid .partner-card .partner-img{height:140px}
}

/* 技术库 · 合作研究院真实项目（landing-tech 的新 section） */
/*   设计参考：ResearchGate 简洁卡片 + Nature 列表样式，3 列网格，紧凑不冗长
     关键点：来源明确写"合作研究院"，不主张归属；卡片明显比 partner-card 小 */
/* 2026-08-12 改：section padding 64→48 紧凑、摘要 line-clamp 3→4、字号 12.5→12、
   行高 1.7→1.55；加"展开/收起"按钮默认折叠，遇内容超长才显示，让用户
   默认能看完大部分内容，需要时再点开看全。 */
.tech-library{padding-top:48px;padding-bottom:48px}
.tech-library-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  margin-top:22px;
}
.lib-card{
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:20px 22px 18px;
  display:flex;flex-direction:column;gap:10px;
  transition:transform .18s,box-shadow .18s,border-color .18s;
  box-shadow:0 1px 0 rgba(15,30,50,.02);
}
.lib-card:hover{
  transform:translateY(-2px);
  border-color:var(--primary-50,rgba(15,118,110,.18));
  box-shadow:0 8px 22px rgba(15,30,50,.06);
}
.lib-card .lib-tag{
  display:inline-flex;align-self:flex-start;
  font-size:11px;font-weight:600;
  padding:3px 10px;border-radius:999px;
  background:var(--primary-50,rgba(15,118,110,.08));
  color:var(--primary-700,#0f766e);
  letter-spacing:.2px;
}
.lib-card h4{
  font-size:15.5px;line-height:1.5;
  font-weight:700;color:#16213a;
  margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:46px; /* 统一两行高度 */
}
.lib-card .lib-summary{
  font-size:12px;color:#5b6577;line-height:1.55;margin:0;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
  flex:1;
}
/* 展开后展示完整摘要 —— 取消 line-clamp、行数不限 */
.lib-card.expanded .lib-summary{
  display:block;
  -webkit-line-clamp:unset;
  -webkit-box-orient:unset;
  overflow:visible;
}
/* 展开/收起按钮 —— 默认隐藏，has-overflow 时显示 */
.lib-card .lib-expand{
  display:none;
  align-items:center;gap:3px;
  align-self:flex-start;
  font-size:12px;font-weight:600;letter-spacing:.2px;
  color:var(--primary-700,#0f766e);
  background:transparent;border:0;padding:2px 0;
  cursor:pointer;
}
.lib-card .lib-expand::after{
  content:"";display:inline-block;
  width:0;height:0;
  border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid currentColor;
  transition:transform .25s cubic-bezier(.32,.72,.32,1);
}
.lib-card.expanded .lib-expand::after{
  transform:rotate(180deg);
}
.lib-card.has-overflow .lib-expand{display:inline-flex}
.lib-card .lib-source{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:6px;padding-top:10px;
  border-top:1px dashed rgba(15,30,50,.08);
  font-size:11.5px;color:#8a93a5;
}
.lib-card .lib-source b{color:#5b6577;font-weight:600}
.lib-card .lib-source .src-tag{
  display:inline-flex;align-items:center;gap:4px;
  background:#f1f4f9;color:#5b6577;
  padding:2px 8px;border-radius:6px;font-weight:600;
}
.library-note{
  margin-top:18px;font-size:12.5px;color:#8a93a5;
  text-align:center;letter-spacing:.2px;
}
@media(max-width:980px){
  .tech-library-grid{grid-template-columns:repeat(2,1fr);gap:16px}
}
@media(max-width:600px){
  .tech-library-grid{grid-template-columns:1fr;gap:14px}
  .lib-card{padding:18px 20px 16px}
}

.project-list{
  background:var(--surface);border:1px solid var(--border);border-radius:20px;
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.project-track{display:flex;flex-direction:column}
.project-item{
  padding:24px 28px;border-bottom:1px solid var(--border);
  transition:background .15s;
}
.project-item:last-child{border-bottom:none}
.project-item:hover{background:var(--surface-2)}
.project-meta{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.project-id{font-size:12px;color:var(--text-3);font-family:monospace}
.project-item h4{font-size:17px;font-weight:700;margin-bottom:8px}
.project-item > p{color:var(--text-2);font-size:14px;line-height:1.7}
.project-footer{display:flex;gap:18px;margin-top:14px;font-size:12.5px;color:var(--text-3)}
.project-footer span{display:flex;align-items:center;gap:6px}
.project-footer span::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);
}

.success-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:repeat(2,1fr);gap:20px}
.success-card{
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s;
}
.success-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.success-card.large{grid-row:span 2}
.success-img{height:180px;background:center/cover no-repeat;position:relative}
.success-card.large .success-img{height:auto;flex:1.2;min-height:200px}
.success-img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,14,18,0) 40%,rgba(12,14,18,.45) 100%);
}
.success-body{padding:22px;display:flex;flex-direction:column;flex:1}
.success-body .tag{width:fit-content;margin-bottom:10px}
.success-body h3{font-size:17px;font-weight:700;margin-bottom:8px}
.success-body p{color:var(--text-2);font-size:13.5px;line-height:1.7;flex:1}
.success-meta{display:flex;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.success-meta span{font-size:12px;color:var(--text-3)}
.success-meta b{display:block;font-size:15px;font-weight:700;color:var(--text)}

/* 响应式 */
@media(max-width:1100px){
  .landing-hero h1 br{display:none}
  .landing-results{grid-template-columns:1fr 1fr}
  .content-matrix{grid-template-columns:1fr}
  .landing-cta{grid-template-columns:1fr;gap:32px;text-align:center}
  .landing-cta-actions{align-items:center}
  .cta-checks{align-items:flex-start;text-align:left}
  .success-grid{grid-template-columns:1fr 1fr}
  .success-card.large{grid-row:span 1}
  .partner-card{width:240px}
}
@media(max-width:760px){
  .landing-hero{min-height:auto}
  .landing-hero-inner{padding:70px 20px 50px}
  .landing-hero-stats{gap:22px}
  .landing-hero-stats div:not(:last-child)::after{display:none}
  .landing-results{grid-template-columns:1fr}
  .result-img{height:200px}
  .landing-cta{padding:34px 26px}
  .landing-cta-actions.multi{grid-template-columns:1fr}
  .case-filters{gap:8px}
  .filter-btn{padding:6px 12px;font-size:12px}
  .team-vision{padding-top:52px;padding-bottom:52px}
  .team-vision-header h2{font-size:26px}
  .connect-inner{padding:40px 24px;flex-direction:column;gap:30px;text-align:center}
  .connect-cta{align-items:center}
  .keyword-wall{justify-content:center}
  .partner-card{width:220px}
  .partner-card .partner-img{height:110px}
  .project-item{padding:18px 20px}
  .project-footer{flex-direction:column;gap:6px}
  .success-grid{grid-template-columns:1fr}
  .success-card.large .success-img{min-height:160px}
}
@media(max-width:1100px){
  .hero-v3 h1{max-width:620px}
  .connect-inner{flex-direction:column;gap:36px;text-align:center;padding:48px 32px}
  .connect-cta{align-items:center}
  .keyword-wall{justify-content:center}
  .qr-grid-dark{grid-template-columns:repeat(3,1fr)}
  .scene{grid-template-columns:1fr}
  .scene-visual{min-height:280px}
  .scene-info{padding:32px 28px}
  .scene-features{grid-template-columns:repeat(3,1fr)}
  .dyn-slide{grid-template-columns:1fr;grid-template-rows:220px 1fr}
  .dyn-slides{height:auto;min-height:520px}
  .dyn-slide-visual{min-height:220px}
  .dyn-slide-content{padding:28px}
  .stats-v3-inner{grid-template-columns:1fr;gap:40px;text-align:center}
  .stats-v3-text{display:flex;flex-direction:column;align-items:center}
  .stats-v3-text p{margin-left:auto;margin-right:auto}
}
@media(max-width:760px){
  .hero-v3-inner{padding:100px 20px 80px}
  .hero-v3 h1 br{display:none}
  .hero-v3-data{gap:22px;margin-top:40px}
  .hero-v3-data div:not(:last-child)::after{display:none}
  .showcase-tab{min-width:140px;padding:14px 16px}
  .scene-features{grid-template-columns:1fr}
  .dyn-arrow{width:40px;height:40px}
  .dyn-arrow.prev{left:8px}
  .dyn-arrow.next{right:8px}
  .dyn-dots button{width:8px;height:8px}
  .stats-v3-grid{grid-template-columns:1fr 1fr}
  .sv3-card{padding:20px 12px}
  .sv3-card b{font-size:22px}
}

/* =========================================================
   移动端细节微调：手感优化（≤640 / ≤480）
   整站响应式骨架已完整——登录/社区/会员 860px 堆叠，
   首页 1024/900/640，落地页 1100/760。此处只做间距、
   字号、按钮折行与装饰元素内收，不改变布局结构。
   ========================================================= */
@media(max-width:640px){
  /* 首屏 Hero */
  .hero-v2-inner{gap:28px;padding:44px 18px 30px}
  .hero-v2 h1{font-size:30px;letter-spacing:-.4px}
  .hero-v2 .hero-sub{font-size:15px}
  .hero-actions{flex-wrap:wrap;gap:10px}
  .hero-actions .btn{flex:1 1 auto;justify-content:center}
  .hero-image-wrap img{height:300px}
  .hero-image-badge{left:8px;bottom:14px;padding:11px 15px}
  .hero-image-badge b{font-size:22px}
  .hero-stats-float{right:6px;top:16px}
  .hero-stats-float .hs{padding:9px 13px}
  .hero-stats-float b{font-size:17px}

  /* 通用区块 */
  .section{padding:36px 16px}
  .sec-head h2{font-size:22px}
  .sec-sub{font-size:14px}

  /* 首屏底部数据条 */
  .hero-data-inner{padding:16px 16px;gap:12px}
  .hero-data-inner div{min-width:96px}
  .hero-data-inner b{font-size:19px}

  /* 统计网格（2x2） */
  .stats-grid{padding:28px 16px;gap:14px}
  .stats-grid b{font-size:24px}
  .stats-grid span{font-size:12.5px}

  /* 会员价 / banner */
  .price{padding:22px 18px}
  .price-num{font-size:26px}
  .member-banner-inner{padding:40px 18px}

  /* 登录页 */
  .auth-form,.auth-side{padding:36px 20px}
  .auth-form h2{font-size:20px}

  /* 社区帖子 */
  .thread{padding:14px;gap:11px}
  .thread-ava{width:36px;height:36px;font-size:13px}
}

@media(max-width:480px){
  .hero-v2 h1{font-size:26px}
  .hero-actions .btn{width:100%}
  .section{padding:32px 14px}
  .page-head-inner{padding:22px 16px}
  .hero-image-wrap img{height:260px}
  .nav-inner,.container{padding-left:14px;padding-right:14px}
  .scan-register-inner{grid-template-columns:1fr;gap:26px;align-items:start}
  .scan-qr{width:100%}
  .scan-qr-card{margin:0 auto}
  .scan-qr-img img{width:180px;height:180px;aspect-ratio:1/1}
  .scan-copy h2{font-size:24px}
  .reg-type-grid{grid-template-columns:repeat(2,1fr)}
  .agreement-block{padding:18px 16px}
  .agreement-toc a{font-size:12.5px;padding:8px 12px}
  .agreement-hero{padding:36px 14px 10px}
}

/* 扫码登记区块 */
.scan-register{background:linear-gradient(180deg,var(--bg) 0%,#f4f7fa 100%)}
.scan-register-inner{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.scan-copy h2{font-size:30px;line-height:1.25;margin:10px 0 14px}
.scan-copy p{color:var(--text-2);font-size:15px;line-height:1.7}
.scan-copy p b{color:var(--text)}
.scan-points{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:11px}
.scan-points li{display:flex;align-items:flex-start;gap:9px;font-size:14.5px;color:var(--text-2)}
.scan-points li i{width:18px;height:18px;color:var(--primary-700);flex:0 0 auto;margin-top:3px}
.scan-qr{display:flex;justify-content:center}
.scan-qr-card{background:#fff;border-radius:18px;padding:22px 22px 16px;box-shadow:0 14px 40px rgba(20,30,60,.10);text-align:center;max-width:284px}
.scan-qr-img{display:flex;justify-content:center}
.scan-qr-img img{width:220px;height:220px;display:block;border-radius:10px}
.scan-qr-label{display:block;margin-top:12px;font-weight:600;color:#1f2530;font-size:15px}
.scan-qr-tip{display:block;margin-top:4px;font-size:12.5px;color:#8a93a3}

/* 视频号墙（苏博有话说�?*/
.video-wall{padding-top:64px;padding-bottom:72px;background:linear-gradient(180deg,#f7f8fa 0%,#fff 100%)}
.video-wall .vw-head{text-align:center;max-width:760px;margin:0 auto 28px}
.video-wall .sec-eyebrow{display:inline-flex;margin-bottom:10px}
.video-wall h2{font-size:clamp(26px,3vw,32px);font-weight:800;letter-spacing:-.4px;margin:6px 0 10px}
.video-wall .vw-lead{color:var(--text-2);font-size:14.5px;line-height:1.7}
.vw-channel{max-width:var(--maxw);margin:0 auto 28px;display:flex;align-items:stretch;gap:18px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px 22px;box-shadow:0 6px 24px rgba(20,30,60,.04)}
.vw-avatar{width:84px;height:84px;border-radius:50%;flex:0 0 auto;overflow:hidden;background:linear-gradient(135deg,#0c5f59,#1b8e85);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;letter-spacing:-.5px}
.vw-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.vw-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px}
.vw-info .vw-name{font-size:18px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}
.vw-info .vw-name .badge{font-size:11px;background:var(--primary-50);color:var(--primary-700);padding:2px 8px;border-radius:8px;font-weight:600}
.vw-info .vw-meta{font-size:12.5px;color:var(--text-3);display:flex;flex-wrap:wrap;gap:14px}
.vw-info .vw-meta b{color:var(--text-2);font-weight:700}
.vw-info .vw-bio{font-size:13.5px;color:var(--text-2);line-height:1.65}
.vw-acts{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;justify-content:center}
.vw-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:.15s;text-decoration:none}
.vw-btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.vw-btn-primary:hover{background:var(--primary-700);border-color:var(--primary-700)}
.vw-btn:hover{transform:translateY(-1px)}
.vw-strip{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.vw-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:.18s}
.vw-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(20,30,60,.10);border-color:var(--border-strong)}
.vw-cover{position:relative;aspect-ratio:9/16;background:linear-gradient(135deg,#1d2733,#2d3a4a);color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.vw-cover .vc-icon{opacity:.55}
.vw-cover .vc-title{position:absolute;left:0;right:0;bottom:0;padding:14px 10px 9px;font-size:12.5px;font-weight:700;line-height:1.35;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,0));color:#fff;text-align:center}
.vw-cover .vc-dur{position:absolute;right:8px;bottom:48px;font-size:11px;background:rgba(0,0,0,.55);padding:2px 6px;border-radius:6px;font-weight:600;letter-spacing:.04em}
.vw-body{padding:10px 11px 12px;display:flex;flex-direction:column;gap:7px}
.vw-body .vc-bar{font-size:11.5px;color:var(--text-3);display:flex;gap:10px}
.vw-body .vc-bar span{display:inline-flex;align-items:center;gap:3px}
.vw-body .vc-bar i{width:11px;height:11px}
.vw-foot{max-width:var(--maxw);margin:24px auto 0;display:flex;justify-content:space-between;align-items:center}
.vw-foot .vw-tip{font-size:12.5px;color:var(--text-3)}
.vw-foot .vw-qr{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2)}
.vw-foot .vw-qr-img{width:36px;height:36px;border-radius:6px;border:1px solid var(--border);overflow:hidden;background:#fafbfd;display:flex;align-items:center;justify-content:center}
.vw-foot .vw-qr-img img{width:100%;height:100%;object-fit:cover;display:block}
.vw-empty{padding:30px;text-align:center;color:var(--text-3);font-size:13px}
@media (max-width:1100px){.vw-strip{grid-template-columns:repeat(4,1fr)}}
@media (max-width:780px){.vw-strip{grid-template-columns:repeat(3,1fr)}.vw-channel{flex-wrap:wrap}}
@media (max-width:480px){.vw-strip{grid-template-columns:repeat(2,1fr)}.vw-channel{padding:14px}}

/* ===== 登记表单：下拉/多选/单选/区间 控件 ===== */
.td-modal-body .req{color:var(--red);font-weight:600;margin-left:2px}
.td-modal-body select.input{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a8b0bc' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 11px center;padding-right:30px}
.td-modal-body .opt-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.td-modal-body .opt-group .opt{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#c5cad3;cursor:pointer;user-select:none}
.td-modal-body .opt-group .opt input{accent-color:#6b86ff;width:15px;height:15px}
.td-modal-body .opt-group.chips{display:flex;flex-wrap:wrap;gap:7px}
.td-modal-body .chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #d8dde3;border-radius:20px;font-size:12.5px;color:#374151;cursor:pointer;transition:.12s;background:#f3f4f6}
.td-modal-body .chip:hover{border-color:#1c6dd0;color:#1f2937}
/* 表单 chip 内 checkbox：白底黑边正方形，勾选时填青色 + 黑勾，独立可控不依赖 OS 主题 */
.td-modal-body .chip input{
  -webkit-appearance:none;appearance:none;
  width:15px;height:15px;margin:0;flex:none;
  border:1.5px solid #1f2937;background:#ffffff;border-radius:3px;
  display:inline-grid;place-content:center;cursor:pointer;
}
.td-modal-body .chip input:checked{background:#1c6dd0;border-color:#1c6dd0}
.td-modal-body .chip input:checked::before{content:"✓";color:#ffffff;font-size:13px;font-weight:700;line-height:1}
.td-modal-body .chip:has(input:checked){background:#eaf3ff;border-color:#1c6dd0;color:#1c6dd0;font-weight:600}
.td-modal-body .opt-group .opt input{
  -webkit-appearance:none;appearance:none;width:15px;height:15px;
  border:1.5px solid #1f2937;background:#ffffff;border-radius:3px;
  display:inline-grid;place-content:center;cursor:pointer;margin:0;
}
.td-modal-body .opt-group .opt input:checked{background:#1c6dd0;border-color:#1c6dd0}
.td-modal-body .opt-group .opt input:checked::before{content:"✓";color:#ffffff;font-size:13px;font-weight:700;line-height:1}
.td-modal-body .num-range{display:flex;gap:8px}
.td-modal-body .num-range .input{flex:1}
.td-modal-body .num-range .unit{width:96px;flex:none;cursor:pointer}

/* ===== hero 快捷入口 4 卡（解决 hero 太太空旷） ===== */
.hero-quick-strip{
  position:absolute;left:0;right:0;bottom:24px;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;
  max-width:var(--maxw);margin:0 auto;padding:0 20px;
}
.hero-quick-strip .hqs{
  display:flex;flex-direction:column;gap:6px;align-items:flex-start;
  background:rgba(255,255,255,.86);backdrop-filter:blur(8px);
  border:1px solid rgba(15,118,110,.18);border-radius:14px;padding:16px 18px;
  text-decoration:none;color:var(--text);transition:.18s;
}
.hero-quick-strip .hqs:hover{
  border-color:var(--primary);background:#fff;transform:translateY(-3px);box-shadow:0 10px 22px rgba(15,118,110,.15)
}
.hero-quick-strip .hqs i{color:var(--primary-700);width:22px;height:22px}
.hero-quick-strip .hqs b{font-size:16px;font-weight:800;letter-spacing:-.2px}
.hero-quick-strip .hqs span{font-size:12px;color:var(--text-3);font-weight:500}
@media(max-width:900px){.hero-quick-strip{grid-template-columns:repeat(2,1fr);position:static;margin-top:34px}}
@media(max-width:600px){.hero-quick-strip{grid-template-columns:1fr}}

/* ===== 数字样式（团队页 tv-stats / 平台势能 sv3-card 已删除 2026-08-12） ===== */

/* news-stream section CSS 移除 2026-08-12：与"院所合作与技术对接"整段一并下线（用户取消该模块） */

/* ===== hero 布局（回退：去掉苹果风扩展，恢复普通 padding + 稍大字号） ===== */
.hero-v3-inner{
  padding:200px var(--hero-gutter) 120px;
  max-width:none;
}
.hero-v3-actions{margin-top:36px;gap:14px}
.hero-v3-actions .btn-lg{font-size:15px;padding:12px 24px}

/* 隐藏已废弃的 hero-quick-strip 容器（防止 nav 残留引用） */
.hero-quick-strip{display:none!important}

/* 移动端 hero 适配（保持字号 + 行高，与桌面一致风格） */
@media (max-width: 760px){
  .hero-v3{min-height:64vh;min-height:64dvh}
  .hero-v3-inner{
    padding:96px 22px 72px;
    align-items:flex-start;
  }
  .hero-v3-main{align-items:flex-start;text-align:left;max-width:100%}
  .hero-title-art{
    font-size:clamp(32px,8vw,50px);
    letter-spacing:-1.2px;
    line-height:1.18;
  }
  .hero-v3-sub{font-size:14.5px;margin-top:20px;text-align:left;max-width:100%}
  .hero-v3-actions{margin-top:28px;flex-direction:column;align-items:stretch;width:100%}
  .hero-v3-actions .btn-lg{justify-content:center}
  .scroll-indicator{bottom:20px}
  .hero-eyebrow-corner{font-size:12px;padding:6px 12px;top:18px;left:14px}
}


/* ===== 合作方简单展示（landing 页替换后的 ps-card） ===== */
.partner-simple {
  display:flex;justify-content:center;padding:8px 0 24px;
}
.partner-simple .ps-card {
  display:flex;flex-direction:column;gap:14px;align-items:flex-start;
  max-width:720px;width:100%;
  background:linear-gradient(135deg,rgba(255,255,255,.96) 0%,rgba(247,251,250,.96) 100%);
  border:1px solid var(--border-soft,rgba(15,118,110,.15));
  border-radius:18px;padding:36px 38px;
  box-shadow:0 6px 24px rgba(15,118,110,.06);
}
.partner-simple .ps-num {
  display:flex;align-items:baseline;gap:10px;
}
.partner-simple .ps-num b {
  font-size:48px;font-weight:800;color:var(--primary-700);letter-spacing:-1px;line-height:1;
}
.partner-simple .ps-num span {
  font-size:15px;color:var(--text-3);font-weight:600;
}
.partner-simple .ps-desc {
  margin:0;font-size:14.5px;line-height:1.75;color:var(--text-2);max-width:600px;
}
.partner-simple .ps-tags {
  display:flex;flex-wrap:wrap;gap:8px;
}
.partner-simple .ps-tags span {
  display:inline-flex;padding:6px 13px;border-radius:20px;
  background:rgba(15,118,110,.08);color:var(--primary-700);
  font-size:12.5px;font-weight:600;
}
.partner-simple .ps-cta {
  display:inline-flex;align-items:center;gap:6px;margin-top:4px;
  font-size:14px;font-weight:600;color:var(--primary);
  text-decoration:none;
}
.partner-simple .ps-cta:hover {color:var(--primary-700)}
.partner-simple .ps-cta i {width:16px;height:16px}

/* ===== 成果展示 · 横向无缝跑马灯 ===== */
.reg-marquee {
  position: relative;
  margin-top: 30px;
  padding: 6px 0 16px;
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
}
.reg-marquee .mq-track {
  display: flex;
  gap: 22px;
  width: max-content;
  animation: mq-scroll linear infinite;
  will-change: transform;
}
.reg-marquee .mq-track:hover { animation-play-state: paused; }
@keyframes mq-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .reg-marquee .mq-track { animation: none; }
}

.mq-card {
  flex: 0 0 320px;
  background: #fff;
  border: 1px solid #e7eaf0;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 6px 20px rgba(20,30,50,.05);
  transition: transform .25s, box-shadow .25s;
}
.mq-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(20,30,50,.10);
}
.mq-card .mq-img {
  height: 150px;
  background-size: cover;
  background-position: center;
  background-color: #eef1f6;
}
.mq-card .mq-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; }
.mq-card h4 { font-size: 15px; line-height: 1.45; margin: 0; color: #16213a; }
.mq-card p { font-size: 12.5px; color: #5b6577; line-height: 1.55; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mq-card .tag { font-size: 11px; padding: 2px 9px; border-radius: 999px; background: #eaf3ff; color: #1c6dd0; align-self: flex-start; }
.mq-card .tag.tag-tech { background: #f1ecff; color: #6b53d4; }
.mq-card .mq-sec { font-size: 11px; color: #8a93a5; align-self: flex-start; margin-left: 4px; }
.mq-card .mq-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.mq-card .mq-meta span { font-size: 11px; padding: 2px 8px; border-radius: 6px; background: #f3f5f9; color: #445; }
.mq-card .mq-meta b { color: #16213a; font-weight: 600; }

@media (max-width: 600px) {
  .mq-card { flex-basis: 260px; }
  .mq-card .mq-img { height: 120px; }
}

/* ============================================================
   四大载体 · carriers-section（2026-08-13 新增）
   参考图比较丑，重新设计：4 卡片暗色玻璃面板 + 色相区分角色
   ============================================================ */
.carriers-section{
  padding-top:72px;padding-bottom:96px;
  background:linear-gradient(180deg, var(--bg) 0%, #f4f7fb 100%);
}
.carriers-section{
  position:relative;
  max-width:none;
  overflow:hidden;
  background:linear-gradient(180deg, #f7fafd 0%, #eef3f9 100%);
}
.carriers-section.carriers-section{padding-left:0;padding-right:0}
.carriers-bg{
  position:absolute;inset:0;
  pointer-events:none;z-index:0;
  opacity:.85;
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.carriers-bg svg{width:100%;height:100%;display:block}
.carriers-head{
  max-width:var(--maxw);margin:0 auto 40px;padding:0 24px;
  text-align:center;
  position:relative;z-index:2;
}
.carriers-head .sec-eyebrow{
  display:inline-block;margin-bottom:14px;
  color:#1c6dd0;background:#eaf3ff;
  padding:5px 14px;border-radius:999px;
  font-size:12px;font-weight:700;letter-spacing:1.2px;
}
.carriers-head h2{
  font-size:30px;font-weight:800;color:#0f1a30;
  letter-spacing:-.4px;margin:0 0 14px;
}
.carriers-head p{
  font-size:15px;color:#5b6577;line-height:1.7;margin:0 auto;max-width:680px;
}
.carriers-grid{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
  position:relative;z-index:2;
}
.carrier-card{
  position:relative;
  background:rgba(255,255,255,.92);
  border:1px solid var(--border);
  border-radius:16px;
  padding:28px 22px 24px;
  display:flex;flex-direction:column;gap:12px;
  box-shadow:0 10px 28px rgba(15,30,45,.08);
  backdrop-filter:blur(2px);
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease, background .35s ease;
  overflow:hidden;
}
.carrier-card::before{
  /* 顶部细色条 · 用各载体色相区分 */
  content:"";position:absolute;left:0;top:0;right:0;height:3px;
  background:var(--accent,#1c6dd0);
  opacity:.9;
  transition:height .35s ease;
}
.carrier-card:hover::before{height:6px}
.carrier-card:hover{
  transform:translateY(-8px);
  box-shadow:0 26px 52px rgba(15,30,45,.18);
  border-color:var(--accent,#1c6dd0);
  background:#ffffff;
}
.carrier-card:active{
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(15,30,45,.12);
}
.carrier-num{
  position:absolute;top:18px;right:22px;
  font-family:"Helvetica Neue","Inter",sans-serif;
  font-size:36px;font-weight:200;letter-spacing:-1.1px;
  color:rgba(15,26,48,.10);
  line-height:1;
  transition:color .35s,transform .35s;
}
.carrier-card:hover .carrier-num{
  color:var(--accent,#1c6dd0);
  opacity:.22;
  transform:translateX(-4px);
}
.carrier-arrow{
  position:absolute;left:26px;bottom:24px;
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:999px;
  background:#f4f7fb;color:#8a93a5;
  font-size:13px;line-height:1;
  opacity:0;transform:translateX(-6px);
  transition:opacity .3s,transform .3s,background .3s,color .3s;
}
.carrier-card:hover .carrier-arrow{
  opacity:1;transform:none;background:var(--accent,#1c6dd0);color:#fff;
}
.carrier-icon{
  width:62px;height:62px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent-soft,#eaf3ff);
  color:var(--accent,#1c6dd0);
  border:1.5px solid var(--accent,#1c6dd0);
  margin-bottom:4px;
  transition:background .35s ease,color .35s ease,transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease;
}
.carrier-icon svg{width:30px;height:30px;stroke-width:1.6}
.carrier-card:hover .carrier-icon{
  background:var(--accent,#1c6dd0);
  color:#ffffff;
  transform:rotate(-8deg) scale(1.05);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.carrier-card:active .carrier-icon{
  transform:scale(.94);
}
.carrier-role{
  display:inline-block;align-self:flex-start;
  font-size:12px;font-weight:700;letter-spacing:.8px;
  color:var(--accent,#1c6dd0);
  background:var(--accent-soft,#eaf3ff);
  padding:4px 12px;border-radius:999px;
  transition:background .35s ease,color .35s ease;
}
.carrier-card:hover .carrier-role{
  background:var(--accent,#1c6dd0);
  color:#ffffff;
}
.carrier-name{
  font-size:19px;font-weight:800;color:#0f1a30;
  letter-spacing:-.2px;margin:0;
  transition:color .35s ease;
}
.carrier-card:hover .carrier-name{
  color:var(--accent,#1c6dd0);
}
.carrier-desc{
  font-size:13.5px;color:#5b6577;line-height:1.7;margin:0 0 6px;
}

/* ========== carrier-card 内部真实预览（2026-08-13 ao；2026-08-13 bb 收紧） ==========
   image 类型：固定 110px 高 cover 截图，图片右下标签。
   list 类型：5 个公众号标题+日期紧凑列表。 */
.carrier-preview{
  position:relative;
  margin-top:auto;
  margin-bottom:8px;
  border-radius:10px;
  overflow:hidden;
  background:#f4f7fb;
  min-height:140px;
}
.carrier-preview[data-kind="image"] img{
  display:block;width:100%;
  height:140px;object-fit:cover;
  border-radius:10px;
  background:#eaf0f6;
}
.carrier-preview-tag{
  position:absolute;
  left:8px;bottom:8px;
  background:rgba(255,255,255,.94);
  padding:5px 10px;border-radius:6px;
  font-size:11px;font-weight:700;color:#0f1a30;
  box-shadow:0 4px 14px rgba(15,30,45,.18);
  letter-spacing:.2px;
  backdrop-filter:blur(2px);
}
.carrier-preview[data-kind="list"]{
  background:#fff;
  border:1px solid var(--border);
  padding:2px 8px 0;
}
.cp-list{list-style:none;padding:0;margin:0;font-size:12px;line-height:1.4}
.cp-list li{padding:5px 0;border-bottom:1px dashed var(--border)}
.cp-list li:last-child{border-bottom:0}
.cp-list li a{
  display:flex;justify-content:space-between;gap:8px;
  color:#5b6577;text-decoration:none;line-height:1.4;
}
.cp-list li a:hover{color:var(--primary)}
.cp-list .cp-title{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;flex:1;min-width:0;
  font-weight:500;
}
.cp-list .cp-date{
  flex-shrink:0;font-size:10.5px;color:#94a0b3;
  font-feature-settings:"tnum";
  white-space:nowrap;
}
/* hover 时让 carrier-preview 更突出一点 */
.carrier-card:hover .carrier-preview{
  box-shadow:0 8px 22px rgba(15,30,45,.12);
}
@media(max-width:560px){
  .carrier-preview[data-kind="image"] img{height:140px}
  .cp-list{font-size:11px}
}

/* 四角色相 · 视频号暖橙 / 公众号蓝绿 / 网页蓝 / 小程序紫 */
.carrier-video{--accent:#ff7a1a;--accent-soft:#fff1e6}
.carrier-mp{--accent:#0f8a78;--accent-soft:#e6fbf6}
.carrier-web{--accent:#1c6dd0;--accent-soft:#eaf3ff}
.carrier-app{--accent:#6b53d4;--accent-soft:#f1ecff}

/* ========== 2026-08-13 bb 收紧四大载体卡高度（响应式保留） ========== */
@media(max-width:560px){
  .carrier-card{padding:18px 16px 16px;gap:8px}
  .carrier-icon{width:46px;height:46px}
  .carrier-icon svg{width:22px;height:22px}
  .carrier-num{font-size:24px;top:10px;right:14px}
}

@media(max-width:980px){
  .carriers-grid{grid-template-columns:repeat(2,1fr);gap:18px}
}
@media(max-width:560px){
  .carriers-section{padding-top:48px;padding-bottom:64px}
  .carriers-head h2{font-size:22px}
  .carriers-grid{grid-template-columns:1fr;gap:14px;padding:0 16px}
  .carrier-card{padding:22px 20px 20px}
}

/* ============================================================
   成果动态子页（cases.html） · 2026-08-13 新增
   ============================================================ */
.cases-page-head{
  padding-top:56px;padding-bottom:24px;
  background:linear-gradient(180deg, var(--bg) 0%, #f4f7fb 100%);
}
.cases-page-head-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;
  position:relative;
}
.cases-page-head .back-home{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;color:#5b6577;text-decoration:none;
  padding:6px 14px;border:1px solid var(--border);border-radius:999px;
  background:#fff;
  margin-bottom:24px;
  transition:color .2s, border-color .2s;
}
.cases-page-head .back-home:hover{color:#1c6dd0;border-color:#cfe1ff}
.cases-page-head .sec-eyebrow{
  display:inline-block;margin-bottom:14px;
  color:#1c6dd0;background:#eaf3ff;
  padding:5px 14px;border-radius:999px;
  font-size:12px;font-weight:700;letter-spacing:1.2px;
}
.cases-page-head h1{
  font-size:34px;font-weight:800;color:#0f1a30;
  letter-spacing:-.5px;margin:0 0 14px;
}
.cases-page-head p{
  font-size:15px;color:#5b6577;line-height:1.7;margin:0;
  max-width:780px;
}
@media(max-width:560px){
  .cases-page-head{padding-top:40px;padding-bottom:16px}
  .cases-page-head h1{font-size:24px}
  .cases-page-head p{font-size:14px}
}

/* ---------- 新闻动态 · cases 页两段板式：自家新闻 + 行业观察 ---------- */
.news-self{padding-top:24px;padding-bottom:32px}
.news-self-head{
  max-width:1100px;margin:0 auto 18px;padding:0 24px;
}
.news-self-head .sec-eyebrow{
  display:inline-block;font-size:12px;letter-spacing:2px;
  color:#1c6dd0;text-transform:uppercase;margin-bottom:10px;font-weight:700;
}
.news-self-head h2{
  font-size:30px;font-weight:800;color:#0f1a30;
  letter-spacing:-.6px;margin:0 0 10px;
}
.news-self-head p{
  font-size:15px;color:#5b6577;line-height:1.7;margin:0;max-width:780px;
}
.news-self-list{
  list-style:none;margin:0 auto;padding:0 24px;
  max-width:1100px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;
}
.news-self-card{
  background:var(--surface);
  border:1px solid var(--border);border-radius:16px;
  padding:22px 24px 18px;
  box-shadow:0 4px 14px rgba(15,30,45,.06);
  display:flex;flex-direction:column;gap:12px;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.news-self-card:hover{
  transform:translateY(-3px);box-shadow:0 14px 34px rgba(15,30,45,.12);
  border-color:#cfe1ff;
}
.news-self-feature{
  grid-column:1/-1;
  display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;
  padding:32px 32px 30px;
  background:linear-gradient(135deg,#0f1a30 0%,#14213a 100%);
  border:none;color:#e9ecf1;
}
.news-self-feature:hover{transform:none}
.news-self-feature:hover{box-shadow:0 18px 48px rgba(15,30,45,.25)}
.news-self-feature h3{color:#fff;font-size:24px}
.news-self-feature .news-excerpt{color:#aab2c2}
.news-self-feature .news-tag{background:rgba(255,255,255,.16);color:#fff}
.news-self-feature time{color:#aab2c2}
.news-self-feature .news-author{color:#aab2c2}
.news-meta{display:flex;align-items:center;gap:10px}
.news-tag{
  display:inline-flex;align-items:center;
  font-size:11.5px;font-weight:700;letter-spacing:.5px;
  padding:4px 10px;border-radius:999px;
}
.news-tag-blue{background:#e8f0fe;color:#1c6dd0}
.news-tag-teal{background:#d8f4ee;color:#0a7d6c}
.news-tag-amber{background:#fff2dc;color:#a9650b}
.news-tag-violet{background:#ece4fb;color:#6c2bd9}
.news-self-card time{
  font-size:12.5px;color:#8b95a8;font-weight:500;
}
.news-self-card h3.news-title{
  font-size:17px;font-weight:800;color:#0f1a30;
  letter-spacing:-.3px;margin:0;line-height:1.45;
}
.news-excerpt{
  font-size:14px;color:#5b6577;line-height:1.7;margin:0;
}
.news-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:12px;
  border-top:1px dashed #e6e9ee;
  font-size:12.5px;color:#8b95a8;
}
.news-author{font-weight:600;color:#5b6577}
.news-action{color:#1c6dd0;font-weight:600;cursor:pointer}

.news-industry{
  padding-top:48px;padding-bottom:80px;background:#f6f8fc;
}
.news-industry .strength-head{
  max-width:1100px;margin:0 auto 18px;padding:0 24px;
}
.news-industry .strength-head .sec-eyebrow{
  display:inline-block;font-size:12px;letter-spacing:2px;
  color:#1c6dd0;text-transform:uppercase;margin-bottom:10px;font-weight:700;
}
.news-industry .strength-head h2{
  font-size:30px;font-weight:800;color:#0f1a30;
  letter-spacing:-.6px;margin:0 0 10px;
}
.news-industry .strength-head p{
  font-size:15px;color:#5b6577;line-height:1.7;margin:0;max-width:780px;
}
.news-industry .reg-marquee{max-width:1280px;margin:24px auto 0;padding:0 24px}

@media(max-width:980px){
  .news-self-list{grid-template-columns:1fr;gap:14px}
  .news-self-feature{grid-column:auto;grid-template-columns:1fr;padding:24px 22px;gap:14px}
  .news-self-feature h3{font-size:20px}
}
@media(max-width:560px){
  .news-self-head h2,
  .news-industry .strength-head h2{font-size:22px}
  .news-self-head p,
  .news-industry .strength-head p{font-size:14px}
  .news-self-list{padding:0 16px}
  .news-industry .reg-marquee{padding:0 16px}
  .news-self-card{padding:18px 18px 14px}
}

/* ---------- 落地页 · 三模块统一容器：工厂 / 合作公司 / 成功合作 ---------- */
.co-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
  margin-top:12px;
}
@media(max-width:1100px){.co-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.co-grid{grid-template-columns:1fr;gap:14px}}

.factory-card{
  position:relative;
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  box-shadow:var(--shadow-sm);overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.factory-card:hover{
  transform:translateY(-4px);box-shadow:var(--shadow);
  border-color:var(--primary-200,#5a78ff);
}
.factory-card .fc-cover{
  height:138px;background:center/cover no-repeat;position:relative;
}
.factory-card .fc-cover::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,14,18,0) 30%,rgba(12,14,18,.55) 100%);
}
.factory-card .fc-cover .fc-badges{
  position:absolute;left:14px;bottom:12px;display:flex;gap:6px;flex-wrap:wrap;z-index:1;
}
.factory-card .fc-cover .fc-badges span{
  font-size:11px;font-weight:700;color:#fff;
  background:rgba(15,30,45,.55);backdrop-filter:blur(4px);
  padding:4px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.18);
}
.factory-card .fc-body{
  padding:18px 20px 16px;display:flex;flex-direction:column;flex:1;gap:10px;
}
.factory-card .fc-name{
  font-size:16.5px;font-weight:800;color:var(--text);margin:0;
  display:flex;align-items:center;gap:8px;
}
.factory-card .fc-name .fc-region{
  font-size:11px;font-weight:600;color:var(--text-3);
  background:var(--surface-2);padding:2px 8px;border-radius:999px;
}
.factory-card .fc-desc{
  font-size:13px;color:var(--text-2);line-height:1.7;margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.factory-card .fc-meta{
  display:flex;gap:14px;margin-top:auto;padding-top:12px;
  border-top:1px dashed var(--border);
  font-size:12px;color:var(--text-3);
}
.factory-card .fc-meta b{display:block;font-size:14px;font-weight:700;color:var(--text);margin-bottom:2px}
.factory-card .fc-action{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 20px 16px;border-top:1px solid var(--border);
  background:var(--surface-2);
}
.factory-card .fc-action .fc-link{
  font-size:13px;font-weight:700;color:var(--primary);
  text-decoration:none;display:flex;align-items:center;gap:4px;
  transition:gap .2s;
}
.factory-card .fc-action .fc-link:hover{gap:8px}
.factory-card .fc-action .fc-link::after{
  content:"→";transition:transform .2s;
}
.factory-card .fc-action .fc-link:hover::after{transform:translateX(2px)}
.factory-card .fc-action .fc-id{
  font-family:monospace;font-size:11px;color:var(--text-3);
}

/* 创新药 landing · 合作需求发布：标题红色 + 可点击 */
.tech-row-list#innoNeedGrid .partner-tech-card{cursor:pointer}
.tech-row-list#innoNeedGrid .partner-tech-card .pt-name{color:#e63946}
.tech-row-list#innoNeedGrid .partner-tech-card:hover{border-color:#e6394666}
.tech-row-list#innoNeedGrid .partner-tech-card:focus-visible{outline:2px solid #e63946;outline-offset:2px}
#innoNeedGrid .partner-tech-card::before{
  background:linear-gradient(180deg,#e63946,#c1121f);
}

/* 创新药 landing · 引进方卡片：可点击 */
.co-grid#innoLicenseeList .factory-card.inno-licensee-card{cursor:pointer}
.co-grid#innoLicenseeList .factory-card.inno-licensee-card:focus-visible{outline:2px solid var(--primary-200,#5a78ff);outline-offset:2px}

/* 合作科技公司：差异化色块边条 */
.partner-tech-card{
  position:relative;
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  box-shadow:var(--shadow-sm);overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s;
}
.partner-tech-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.partner-tech-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#1c6dd0,#0f8a78);
}
.partner-tech-card .pt-body{
  padding:18px 20px 16px;display:flex;flex-direction:column;flex:1;gap:10px;
  padding-left:22px;
}
.partner-tech-card .pt-name{
  font-size:16px;font-weight:800;color:var(--text);margin:0;
}
.partner-tech-card .pt-tag{
  display:inline-flex;width:fit-content;
  font-size:11px;font-weight:700;color:#1c6dd0;
  background:#1c6dd022;padding:3px 9px;border-radius:999px;margin-bottom:2px;
}
.partner-tech-card .pt-desc{
  font-size:13px;color:var(--text-2);line-height:1.7;margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.partner-tech-card .pt-empty{
  font-size:12px;color:var(--text-3);margin:0;
}
.partner-tech-card .pt-desc.full{display:block;-webkit-line-clamp:unset;overflow:visible;white-space:normal}
.partner-tech-card .pt-foot{
  padding:12px 22px;border-top:1px dashed var(--border);
  font-size:12px;color:var(--text-3);
  display:flex;justify-content:space-between;align-items:center;
}
.partner-tech-card .pt-empty-card{
  border-style:dashed;background:var(--surface-2);
}
.partner-tech-card .pt-empty-card .pt-name{color:var(--text-3);font-weight:600;font-size:14px}

/* 工厂详情页 */
.factory-page{
  background:var(--bg);
  padding:60px 0 80px;min-height:60vh;
}
.factory-hero{
  background:var(--surface);border:1px solid var(--border);border-radius:22px;
  overflow:hidden;box-shadow:var(--shadow-sm);
}
.factory-hero .fh-cover{
  height:280px;background:center/cover no-repeat;position:relative;
}
.factory-hero .fh-cover::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(12,14,18,0) 30%,rgba(12,14,18,.7) 100%);
}
.factory-hero .fh-body{
  padding:34px 40px;
}
.factory-hero .fh-eyebrow{
  font-size:12px;font-weight:700;color:var(--primary-700);
  letter-spacing:.5px;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:6px;
  background:var(--primary-50);padding:5px 12px;border-radius:999px;margin-bottom:14px;
}
.factory-hero .fh-name{
  font-size:34px;font-weight:800;color:#0f1a30;
  letter-spacing:-.5px;margin:0 0 10px;
}
.factory-hero .fh-summary{
  font-size:15.5px;color:#3a4452;line-height:1.8;margin:0;max-width:780px;
}
.factory-hero .fh-badges{
  display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;
}
.factory-hero .fh-badges span{
  font-size:12px;font-weight:600;color:#0f1a30;
  background:#fff;border:1px solid var(--border);
  padding:5px 12px;border-radius:999px;
}
.factory-info{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px;
}
.factory-info .fi-card{
  background:#fff;border:1px solid var(--border);border-radius:16px;
  padding:20px 22px;
}
.factory-info .fi-card h4{
  font-size:13px;font-weight:700;color:var(--primary-700);
  text-transform:uppercase;letter-spacing:.4px;margin:0 0 10px;
}
.factory-info .fi-card ul{
  margin:0;padding:0;list-style:none;
}
.factory-info .fi-card li{
  font-size:13.5px;color:#3a4452;line-height:1.85;
  padding:6px 0 6px 14px;position:relative;
}
.factory-info .fi-card li::before{
  content:"";position:absolute;left:0;top:14px;
  width:6px;height:6px;border-radius:50%;background:var(--primary);
}
.factory-info .fi-card p{
  font-size:13.5px;color:#3a4452;line-height:1.85;margin:0;
}
.factory-cta{
  margin-top:36px;background:#0f1a30;color:#fff;border-radius:18px;
  padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;
}
.factory-cta .fcta-text h3{
  font-size:20px;font-weight:800;margin:0 0 6px;color:#fff;
}
.factory-cta .fcta-text p{
  font-size:13.5px;color:#c0c8d6;line-height:1.7;margin:0;
}
.factory-cta .fcta-actions{display:flex;gap:10px;flex-wrap:wrap}
.factory-cta .fcta-actions .btn-light{background:#fff;color:#0f1a30}
.factory-cta .fcta-actions .btn-light:hover{background:#f0f3f9}
.factory-back{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;color:var(--text-2);text-decoration:none;
  margin-bottom:20px;
}
.factory-back:hover{color:var(--primary)}
.factory-back::before{content:"←"}
.factory-notfound{
  text-align:center;padding:60px 20px;color:var(--text-2);
}
.factory-notfound h2{font-size:22px;margin:0 0 8px;color:var(--text)}
@media(max-width:760px){
  .factory-hero .fh-body{padding:24px 22px}
  .factory-hero .fh-name{font-size:26px}
  .factory-hero .fh-summary{font-size:14px}
  .factory-info{grid-template-columns:1fr}
  .factory-cta{flex-direction:column;align-items:flex-start;padding:22px 22px}
  .inst-grid{grid-template-columns:1fr}
}
/* 合作研究院 · 紧凑小卡（无大图，文字为主，后续内容会越来越多，不用大面积展示） */
.inst-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.inst-card{
  background:var(--surface);border:1px solid var(--border);border-radius:12px;
  padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;
  box-shadow:var(--shadow-sm);
}
.inst-name{font-size:15px;font-weight:700;color:var(--text);margin:0;letter-spacing:-.2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.inst-region{font-size:11px;font-weight:600;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);padding:2px 8px;border-radius:999px}
.inst-tags{display:flex;flex-wrap:wrap;gap:6px}
.inst-tags span{font-size:11.5px;color:var(--primary);background:var(--primary-50);border:1px solid var(--primary-100);padding:3px 9px;border-radius:999px}
.inst-desc{font-size:13px;color:var(--text-2);line-height:1.7;margin:0;flex:1}
.inst-foot{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-top:10px;border-top:1px dashed var(--border);font-size:12.5px;
}
.inst-k{color:var(--text-3)}
.inst-v{color:var(--text);font-weight:600}
@media(max-width:980px){.inst-grid{grid-template-columns:repeat(2,1fr)}}


/* ---------- 降本改造工厂：占位卡（is-empty） ---------- */
.factory-card.is-empty .fc-name{color:var(--text-3);font-weight:600;font-size:18px;letter-spacing:0}
.factory-card.is-empty .fc-region{display:none}
.factory-card.is-empty .fc-desc{color:var(--text-3);font-style:italic}
.factory-card.is-empty .fc-meta div{color:var(--text-3)}
.factory-card.is-empty .fc-meta b{color:var(--text-3);font-weight:600}

/* ---------- section head 元信息（右侧数量 + CTA 按钮） ---------- */
.sec-head-meta{color:var(--text-3);font-size:13px;font-weight:500;margin-top:4px}
.sec-head-cta{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;white-space:nowrap}
.sec-head-cta i{width:16px;height:16px}
@media(max-width:760px){
  .sec-head{flex-direction:column;align-items:flex-start;gap:8px}
  .sec-head-cta{align-self:flex-start}
}

/* ---------- 持有技术 · 搜索 + 标签云 + 卡片网格 ---------- */
.tech-pool-bar{
  display:flex;flex-direction:column;gap:12px;margin-bottom:18px;
  padding:18px 22px;background:var(--surface);border:1px solid var(--border);
  border-radius:12px;box-shadow:var(--shadow-sm);
}
.tp-search{
  position:relative;display:flex;align-items:center;gap:12px;
  background:var(--surface-2);border:1px solid var(--border);border-radius:10px;
  padding:14px 18px;transition:border-color .2s;
}
.tp-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(28,109,208,.12)}
.tp-search i{width:22px;height:22px;color:var(--text-3);flex-shrink:0}
.tp-search input{
  flex:1;border:0;background:transparent;outline:0;
  font-size:16px;color:var(--text);font-family:inherit;
}
.tp-search input::placeholder{color:var(--text-3)}
.tp-clear{
  border:0;background:var(--border);color:var(--text-2);
  width:24px;height:24px;border-radius:50%;cursor:pointer;
  font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.tp-clear:hover{background:var(--primary);color:#fff}
.tp-tags{display:flex;flex-wrap:wrap;gap:8px}
.tp-tag{
  font-size:13px;font-weight:600;color:var(--text-2);
  background:var(--surface-2);border:1px solid var(--border);
  padding:6px 12px;border-radius:999px;cursor:pointer;
  transition:all .18s;
  display:inline-flex;align-items:center;gap:5px;
}
.tp-tag:hover{border-color:var(--primary);color:var(--primary)}
.tp-tag.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.tp-tag .tp-tag-cnt{font-weight:500;opacity:.7;font-size:12px}

.tech-pool-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.tp-card{
  position:relative;
  background:var(--surface);border:1px solid var(--border);border-radius:14px;
  padding:20px 22px 18px;display:flex;flex-direction:column;gap:10px;
  box-shadow:var(--shadow-sm);
  transition:transform .22s,box-shadow .22s,border-color .22s;
  overflow:hidden;
}
.tp-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#1c6dd0,#0f8a78);
  opacity:.85;
}
.tp-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d8e3ef}
.tp-card-num{
  position:absolute;right:18px;top:14px;
  font-family:"Smiley Sans Oblique",monospace;
  font-size:22px;font-weight:900;letter-spacing:-1px;
  color:var(--primary);opacity:.18;
  transition:opacity .22s,transform .22s;
}
.tp-card:hover .tp-card-num{opacity:.5;transform:translateY(-2px)}
.tp-card-src{
  display:inline-flex;width:fit-content;
  font-size:11px;font-weight:700;
  color:var(--text-2);background:var(--surface-2);
  padding:3px 9px;border-radius:999px;
  border:1px solid var(--border);letter-spacing:.2px;
}
.tp-card-src.tp-src-lib{color:#0f8a78;background:#0f8a781a;border-color:#0f8a7840}
.tp-card-src.tp-src-pkg{color:#1c6dd0;background:#1c6dd01a;border-color:#1c6dd040}
.tp-card-title{
  font-size:15.5px;font-weight:700;color:var(--text);margin:0;line-height:1.5;
  letter-spacing:-.2px;
}
.tp-card-summary{
  font-size:13px;color:var(--text-2);line-height:1.75;margin:0;flex:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;
}
.tp-card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.tp-card-tags span{
  font-size:11.5px;color:var(--primary);
  background:var(--primary-50);border:1px solid var(--primary-100);
  padding:2px 8px;border-radius:999px;
}
.tech-pool-empty{
  text-align:center;padding:50px 20px;color:var(--text-2);
  background:var(--surface);border:1px dashed var(--border);border-radius:14px;
}
.tech-pool-empty i{width:42px;height:42px;color:var(--text-3);margin-bottom:10px}
.tech-pool-empty p{font-size:14px;margin:0 0 14px}

@media(max-width:980px){.tech-pool-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tech-pool-grid{grid-template-columns:1fr;gap:14px}}

/* ---------- 技术需求发布卡 ---------- */
.td-card{
  position:relative;background:var(--surface);
  border:1px solid var(--border);border-radius:14px;
  padding:22px 22px 18px;display:flex;flex-direction:column;gap:12px;
  box-shadow:var(--shadow-sm);
  transition:transform .22s,box-shadow .22s;
}
.td-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.td-card::before{
  content:"";position:absolute;left:0;top:0;right:0;height:3px;
  background:linear-gradient(90deg,#1c6dd0,#0f8a78);
  opacity:.9;border-radius:14px 14px 0 0;
}
.td-status{
  display:inline-flex;width:fit-content;align-items:center;gap:5px;
  font-size:11px;font-weight:700;color:#0f8a78;
  background:#0f8a781a;border:1px solid #0f8a7840;
  padding:3px 9px;border-radius:999px;
}
.td-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#0f8a78}
.td-card-title{
  font-size:16.5px;font-weight:700;color:var(--text);margin:0;line-height:1.5;
  letter-spacing:-.2px;
}
.td-card-desc{font-size:13.5px;color:var(--text-2);line-height:1.8;margin:0;flex:1}
.td-card-tags{display:flex;flex-wrap:wrap;gap:5px}
.td-card-tags span{
  font-size:11.5px;color:var(--text-2);
  background:var(--surface-2);border:1px solid var(--border);
  padding:2px 8px;border-radius:999px;
}
.td-foot{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:10px;border-top:1px dashed var(--border);
  font-size:12.5px;
}
.td-link{color:var(--primary);font-weight:600;cursor:pointer}
.td-id{color:var(--text-3);font-family:monospace;font-size:11px}

/* ============================================================
   列表行 · tech-row-list（2026-08-13 新增）
   用途：把"以后会很多"的技术/需求/成功案例展示从 200px+ 卡片改为
        紧凑列表行（一条 = 一行），点击弹出 modal 看完整 + 背景图
   ============================================================ */
.tech-row-list{
  display:flex;flex-direction:column;gap:8px;
  max-width:var(--maxw);
  margin:0 auto;
}
/* 2026-08-13 as 版：模块固定高度，条目再多也不占用其他模块空间（用户原话"这个模块他就固定用这么多空间"）
   适用：工厂合作方 / 技术合作方 / 成功合作案例展示 / 平台自有技术
   高度 480px ≈ 3-4 条紧凑行的可视容量，超过即内部滚动 */
.tech-row-list.is-scrollable{
  max-height:520px;
  overflow-y:auto;
  padding:14px 18px 16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.55);
  scrollbar-width:thin;
  scrollbar-color:#c2cfdd transparent;
  /* 内部 list 不要把自己再 max-width 撑出去（继承自父 .tech-row-list{max-width:var(--maxw)}） */
  max-width:calc(var(--maxw) - 0px);
}
.tech-row-list.is-scrollable::-webkit-scrollbar{width:8px}
.tech-row-list.is-scrollable::-webkit-scrollbar-thumb{background:#dde6ef;border-radius:8px}
.tech-row-list.is-scrollable::-webkit-scrollbar-thumb:hover{background:#c2cfdd}
@media(max-width:760px){
  .tech-row-list.is-scrollable{max-height:440px;padding:12px 14px 14px;border-radius:12px}
}

/* ========== 技术发布 · 普通 section 模式（2026-08-13 ar 版 · 撤掉滚动框） ==========
   把降本页 6 个 section 全部对齐到 .section.landing-section 模式
   .tech-row-list 作为列表容器直接列在 section 里，不再有 max-height / overflow 框。
   旧 .tech-scroll-frame / .tsf-block / .tsf-h 整个删除（ao 版改成 aq 版用，aq 版完全弃用）。 */
.tsf-tag{
  display:inline-flex;align-items:center;
  font-size:11px;font-weight:700;letter-spacing:.4px;
  padding:3px 10px;border-radius:999px;
}
.tsf-tag--inst{background:#e6fbf6;color:#0f8a78}
.tsf-tag--case{background:#fff1e6;color:#ff7a1a}
.tsf-tag--rnd{background:#e6f0ff;color:#1c6dd0}
.tsf-tag--tech{background:#f3e8ff;color:#7a3eb4}
.tsf-tag--deal{background:#fdeaf3;color:#c0267f}
.tsf-tag--factory{background:#fef3c7;color:#a16207}
.tsf-tag--partner{background:#e0f2fe;color:#0369a1}
.tsf-tag--supply{background:#ede9fe;color:#6d28d9}
.tsf-tag--demand{background:#ffe4e6;color:#be123c}
/* tech-row-title 里嵌 badge 的紧凑样式 */
.tech-row-title .tsf-tag{padding:2px 9px;font-size:10.5px;font-weight:700;letter-spacing:.3px}

@media(max-width:560px){
  .tech-row-title .tsf-tag{font-size:10px;padding:2px 8px}
}
.tech-row{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  cursor:pointer;
  text-align:left;
  font:inherit;color:inherit;
  transition:background .25s,border-color .25s,transform .25s,box-shadow .25s;
  position:relative;
  overflow:hidden;
}
.tech-row::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--accent,#1c6dd0);
  opacity:0;transition:opacity .25s,width .25s;
}
.tech-row:hover{
  background:#f8fbff;
  border-color:#cfe1ff;
  transform:translateX(2px);
  box-shadow:0 6px 16px rgba(15,30,45,.06);
}
.tech-row:hover::before{opacity:1;width:4px}
.tech-row:active{transform:translateX(2px) scale(.995)}
.tech-row-num{flex:0 0 auto;width:30px;text-align:center;font-family:"Helvetica Neue","Inter",sans-serif;font-size:12px;font-weight:400;letter-spacing:.3px;color:#8a93a5;
}
.tech-row-main{
  flex:1;min-width:0;
  display:flex;flex-direction:column;gap:4px;
}
.tech-row-title{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:14px;font-weight:600;color:#0f1a30;line-height:1.4;
}
.tech-row-title .src-badge{
  display:inline-block;flex:0 0 auto;
  font-size:12px;font-weight:600;
  padding:2px 9px;border-radius:999px;
  background:#eaf3ff;color:#1c6dd0;
  letter-spacing:.3px;
}
.tech-row-title .src-badge.src-lib{background:#0f8a781a;color:#0f8a78}
.tech-row-title .src-badge.src-pkg{background:#1c6dd01a;color:#1c6dd0}
.src-interconnect{background:#0ea5e91a;color:#0ea5e9} 
.tech-row-title .src-badge.src-case{background:#7c3aed1a;color:#7c3aed}
.tech-row-title .src-badge.src-supply{background:#d977061a;color:#d97706}
.tech-row-title .src-badge.src-demand{background:#dc26261a;color:#dc2626}
.tech-row-title .src-badge.src-univ{background:#0891b21a;color:#0891b2}
.tech-row-title .src-badge.src-platform{background:#1c6dd01a;color:#1c6dd0}

/* ===== 2026-08-20 h 版（中度舒适，搜索框/卡片放大一档，20260818h） ===== */
.tech-row-title .tech-row-status{display:inline-block;padding:1px 8px;margin-right:4px;font-size:11px;font-weight:500;letter-spacing:.2px;border-radius:999px;line-height:1.5;
  border:1px solid transparent;
  flex:0 0 auto;
}
.tech-row-title .status-open{background:#16a34a14;color:#16a34a;border-color:#16a34a33}
.tech-row-title .status-want{background:#f59e0b14;color:#f59e0b;border-color:#f59e0b33}
.tech-row-title .status-done{background:#1c6dd014;color:#1c6dd0;border-color:#1c6dd033}

.demand-cta{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  padding:36px 24px;text-align:center;
  background:linear-gradient(180deg,#14171d 0%,#0f1218 100%);
  border:1px dashed #6b86ff55;border-radius:14px;
  color:#e9ecf1;text-decoration:none;
  transition:border-color .25s,background .25s;
  min-height:180px;
}
.demand-cta:hover{border-color:#6b86ff;background:linear-gradient(180deg,#181c25 0%,#14171d 100%)}
.demand-cta-eyebrow{font-size:12px;color:#8ba0ff;letter-spacing:2px;text-transform:uppercase}
.demand-cta-title{font-size:18px;font-weight:500;color:#e9ecf1;max-width:560px;line-height:1.5}
.demand-cta-meta{font-size:12.5px;color:#5b6577;margin-top:4px}

.fc-meta-lock{
  display:inline-flex;align-items:center;gap:5px;
  margin-top:10px;padding:5px 12px;
  font-size:12px;color:#8ba0ff;
  border:1px solid #6b86ff33;border-radius:6px;
  background:#6b86ff0a;text-decoration:none;
  transition:background .2s,border-color .2s;
}
.fc-meta-lock:hover{background:#6b86ff18;border-color:#6b86ff66;color:#a8baff}
.fc-meta-lock i{width:12px;height:12px}

.partner-tech-card.pt-success{position:relative;border:1px solid #1c6dd033}
.pt-status{
  position:absolute;top:12px;right:12px;
  display:inline-block;padding:2px 10px;
  font-size:11px;font-weight:500;letter-spacing:.3px;
  border-radius:999px;line-height:1.6;
}
.pt-status--done{background:#1c6dd014;color:#1c6dd0;border:1px solid #1c6dd033}
.tech-row-summary{
  font-size:12.5px;color:#5b6577;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  word-break:break-word;
}
.tech-row-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.tech-row-tags span{
  display:inline-block;padding:1px 7px;
  font-size:11.5px;color:#5b6577;
  background:#f4f7fb;border-radius:4px;
  line-height:1.5;
}
.tech-row-arrow{
  flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:999px;
  background:#f4f7fb;color:#8a93a5;
  font-size:14px;line-height:1;
  transition:background .25s,color .25s,transform .25s;
}
.tech-row:hover .tech-row-arrow{
  background:var(--accent,#1c6dd0);color:#fff;
  transform:translateX(2px);
}
.tech-row.is-empty{
  background:#fafbfd;color:#8a93a5;cursor:default;border-style:dashed;
}
.tech-row.is-empty:hover{transform:none;background:#fafbfd;border-color:var(--border);box-shadow:none}
.tech-row.is-empty::before{opacity:0}

/* ========== 平台自有技术 · 点击展开详情 + 翻页（2026-08-13 ar 版） ==========
   每条 tech-row 默认只显示「序号 + 标题 + 适用」一行；
   点击后下方滑出 .tech-row-detail（4 字段：工艺特点 / 交付物 / 应用场景 / 合作方式）。
   翻页：.tech-pager 控制 .tech-platform-row 的 data-page="1/2"。 */
.tech-row.is-collapsible{cursor:pointer;flex-wrap:wrap}
.tech-row-detail{
  display:none;
  flex-basis:100%;
  margin-top:12px;padding:14px 16px 4px;
  border-top:1px dashed var(--border);
  font-size:13px;color:var(--text-2);line-height:1.7;
}
.tech-row.is-open .tech-row-detail{display:block}
.tech-row.is-open{
  background:#fbfdff;border-color:#cfe1ff;cursor:pointer;
}
.tech-row.is-open .tech-row-arrow{transform:rotate(90deg);background:var(--accent,#1c6dd0);color:#fff}
.tech-row-detail .trd-row{
  display:flex;gap:10px;padding:3px 0;
  border-bottom:1px dashed rgba(15,30,45,.06);
}
.tech-row-detail .trd-row:last-child{border-bottom:0}
.tech-row-detail .trd-label{
  flex:0 0 86px;
  font-size:12px;font-weight:700;color:var(--text-3);
  letter-spacing:.3px;
}
.tech-row-detail .trd-value{
  flex:1;min-width:0;font-size:13px;color:var(--text);line-height:1.7;
}
/* 翻页器 */
.tech-pager{
  display:flex;align-items:center;justify-content:center;gap:14px;
  margin-top:18px;padding:6px 0;
}
.tech-pager .pager-btn{
  border:1px solid var(--border);background:#fff;
  border-radius:8px;padding:7px 16px;
  font-size:13px;color:var(--text);cursor:pointer;
  transition:background .2s,border-color .2s,color .2s;
  font:inherit;
}
.tech-pager .pager-btn:hover:not(:disabled){
  background:#f4f7fb;border-color:#c2cfdd;color:#0f1a30;
}
.tech-pager .pager-btn:disabled{
  opacity:.45;cursor:not-allowed;background:#fafbfd;
}
.tech-pager .pager-info{
  font-size:13px;color:var(--text-2);min-width:140px;text-align:center;
}
.tech-pager .pager-info b{color:#0f1a30;font-weight:700;margin:0 2px}
@media(max-width:560px){
  .tech-pager{flex-direction:column;gap:8px}
  .tech-pager .pager-btn{width:100%}
  .tech-pager .pager-info{min-width:auto}
}

/* 列表行覆盖原 .tp-card / .td-card / .success-card / .partner-card 在
   .tech-row-list 容器下的表现 —— 转为列表行（取消外边距/transform/grid 占用） */
.tech-row-list .tp-card,
.tech-row-list .td-card,
.tech-row-list .success-card,
.tech-row-list .partner-card,
.tech-row-list .partner-tech-card{
  position:static;
  margin:0;
  width:auto;
  background:transparent;
  border:0;border-radius:0;
  box-shadow:none;
  padding:0;
  transform:none !important;
  display:block;
}
.tech-row-list .tp-card:hover,
.tech-row-list .td-card:hover,
.tech-row-list .success-card:hover,
.tech-row-list .partner-card:hover{transform:none;box-shadow:none}
/* partner-tech-card 当作列表项展示时上下调整 */
.tech-row-list .partner-tech-card{padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:10px}
.tech-row-list .partner-tech-card.pt-empty-card{cursor:default;background:#fafbfd;border-style:dashed}

/* ============================================================
   详情弹窗 · td-modal（2026-08-13 新增）
   列表行点击触发：背景图作 modal 顶部 cover，完整内容居中卡片
   ============================================================ */
.td-modal{
  position:fixed;inset:0;z-index:9999;
  display:none;
  align-items:center;justify-content:center;
  padding:32px 24px;
}
.td-modal[aria-hidden="false"]{display:flex}
.td-modal-mask{
  position:absolute;inset:0;
  background:rgba(8,12,20,.62);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  animation:tdMaskIn .25s ease both;
}
.td-modal-card{
  position:relative;
  width:min(880px,100%);
  max-height:calc(100vh - 64px);
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  display:flex;flex-direction:column;
  animation:tdCardIn .35s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes tdMaskIn{from{opacity:0}to{opacity:1}}
@keyframes tdCardIn{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
.td-modal-close{
  position:absolute;top:14px;right:14px;z-index:5;
  width:36px;height:36px;border-radius:999px;
  background:rgba(255,255,255,.92);color:#0f1a30;
  border:0;cursor:pointer;
  font-size:22px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .2s,transform .2s;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}
.td-modal-close:hover{background:#fff;transform:rotate(90deg)}
.td-modal-cover{
  /* 2026-08-17：弹窗统一为「纯文字」展示，移除顶部图片/装饰区 */
  display:none;
}
.td-modal-body{
  /* 原 cover 被移除后上下补点空隙，避免内容贴边 */
  padding:32px 38px 30px;
}
.td-modal-tag{
  display:inline-block;
  font-size:11.5px;font-weight:700;letter-spacing:.5px;
  padding:4px 10px;border-radius:999px;
  background:#eaf3ff;color:#1c6dd0;
  margin-bottom:10px;
}
.td-modal-title{
  font-size:22px;font-weight:800;color:#0f1a30;
  letter-spacing:-.3px;line-height:1.35;margin:0 0 12px;
}
.td-modal-summary{
  font-size:14.5px;color:#3a4452;line-height:1.85;margin:0 0 16px;
}
.td-modal-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.td-modal-tags span{
  display:inline-block;padding:3px 10px;
  font-size:11.5px;color:#5b6577;
  background:#f4f7fb;border-radius:4px;
  line-height:1.5;
}
.td-modal-meta{
  display:flex;flex-wrap:wrap;gap:18px;
  padding-top:14px;border-top:1px solid var(--border);
  font-size:12.5px;color:#5b6577;
}
.td-modal-meta b{
  color:#0f1a30;font-weight:700;margin-right:4px;
}
/* 弹窗正文（body）+ 原文件链接（fileUrl）· 2026-08-17 新增 */
.td-modal-content{
  margin-top:14px;padding-top:14px;border-top:1px solid var(--border);
  font-size:14px;line-height:1.85;color:#1f2937;
  white-space:pre-wrap;word-break:break-word;
  max-height:46vh;overflow:auto;
}
.td-modal-file{
  display:inline-flex;align-items:center;gap:6px;margin-top:14px;
  padding:10px 16px;border-radius:10px;
  background:linear-gradient(135deg,#6b86ff,#8ba0ff);color:#fff;
  font-size:13.5px;font-weight:600;text-decoration:none;
  transition:opacity .15s ease;
}
.td-modal-file:hover{opacity:.9}
@media(max-width:640px){
  .td-modal{padding:16px 12px}
  .td-modal-body{padding:22px 20px 24px}
  .td-modal-title{font-size:18px}
  .tech-row{flex-wrap:wrap}
  .tech-row-arrow{order:99;margin-left:auto}
  .tech-row-num{display:none}
}

/* ============================================================
   列表行压缩（2026-08-13 ai 版 · 技术转移页走紧凑版）
   行高 14→10、字号 14.5→13、gap 14→10，整页更轻量
   ============================================================ */
.tech-row-compact .tech-row{
  padding:10px 16px;
  border-radius:8px;
  gap:10px;
}
.tech-row-compact .tech-row-main{gap:3px}
.tech-row-compact .tech-row-num{
  width:28px;font-size:12px;letter-spacing:0;
}
.tech-row-compact .tech-row-title{
  font-size:13px;font-weight:600;line-height:1.4;
}
.tech-row-compact .tech-row-title .src-badge{
  font-size:10.5px;padding:1.5px 7px;
}
.tech-row-compact .tech-row-summary{
  font-size:12px;line-height:1.5;
}
.tech-row-compact .tech-row-tags{display:none} /* 紧凑版隐藏 tag，让行更矮 */
.tech-row-compact .tech-row-arrow{
  width:24px;height:24px;font-size:12px;
}
/* partner-tech-card 紧凑版 */
.tech-row-compact .partner-tech-card{padding:10px 16px;border-radius:8px}
.tech-row-compact .partner-tech-card .pt-badge{
  font-size:10.5px;padding:1.5px 7px;
}
.tech-row-compact .partner-tech-card .pt-name{font-size:13px;font-weight:600}
.tech-row-compact .partner-tech-card .pt-empty{font-size:12px}

/* 技术转移页专属：让整段视觉更轻量 */
.tech-row-list--compact > .tech-row,
.tech-row-list--compact > .partner-tech-card{
  padding:10px 16px;
  border-radius:8px;
  gap:10px;
}

/* ===== 阅读更多：成功对接案例 / 合作科技公司案例 ===== */
.case-preview{
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  color:#c4ccd6;font-size:14px;line-height:1.7;margin:6px 0 10px;
}
.case-readmore-btn{
  align-self:flex-start;background:transparent;border:1px solid #2c3a4d;color:#8ba0ff;
  font-size:13px;padding:6px 14px;border-radius:8px;cursor:pointer;transition:.18s;
}
.case-readmore-btn:hover{background:#16202e;border-color:#3a4a5e;}
.case-link-card{text-decoration:none;color:inherit;cursor:pointer;}
.case-link-card:hover{transform:translateY(-2px);}
.case-readmore-link{
  display:inline-block;margin-top:4px;color:#8ba0ff;font-size:13px;font-weight:600;
}
.case-readmore-link:hover{text-decoration:underline;}

/* 阅读更多弹窗（2026-08-16 调整为白底深字阅读风格，避免暗色弹窗阅读压抑） */
.case-modal{position:fixed;inset:0;z-index:99995;display:none;align-items:center;justify-content:center;padding:20px;}
.case-modal.open{display:flex;}
.case-modal-mask{position:absolute;inset:0;background:rgba(8,12,18,.42);backdrop-filter:blur(2px);}
.case-modal-card{
  position:relative;width:min(720px,94vw);max-height:86vh;overflow:auto;
  background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;
  box-shadow:0 24px 70px rgba(15,30,45,.22);padding:30px 30px 26px;
}
.case-modal-close{
  position:absolute;top:12px;right:14px;width:34px;height:34px;border-radius:9px;
  background:#f3f5f8;border:1px solid #e2e8f0;color:#475569;font-size:20px;line-height:1;cursor:pointer;
}
.case-modal-close:hover{background:#e7ecf3;color:#1f2937;}
.case-modal-body{color:#1f2937;font-size:15px;line-height:1.85;}
.case-modal-body .case-src-tag{
  display:inline-block;font-size:12px;color:#3b5bdb;background:#eef2ff;
  border:1px solid #d8e0ff;padding:3px 10px;border-radius:999px;margin-bottom:12px;
}
.case-modal-body .case-src-title{font-size:20px;font-weight:800;color:#0c1018;margin:0 0 16px;line-height:1.4;}
.case-modal-body p{margin:0 0 14px;color:#1f2937;}

/* 合作科技公司详情页：成功对接案例块（2026-08-16 调整为白底深字阅读风格，与 .case-modal 保持一致） */
.factory-cases{margin-top:26px;}
.fcases-title{font-size:18px;font-weight:800;color:#e9ecf1;margin:0 0 14px;padding-left:12px;border-left:3px solid #8ba0ff;}
.fcase{
  background:#ffffff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 20px;margin-bottom:16px;
  box-shadow:0 2px 8px rgba(15,30,45,.06);
}
.fcase-title{font-size:16px;font-weight:700;color:#0c1018;margin:0 0 8px;line-height:1.5;}
.fcase-preview{color:#4b5563;font-size:14px;line-height:1.75;margin:0 0 12px;}
.fcase-full{color:#1f2937;font-size:14.5px;line-height:1.9;margin:0 0 12px;white-space:pre-wrap;}
.fcase-toggle{
  background:#eef2ff;border:1px solid #d8e0ff;color:#3b5bdb;font-size:13px;
  padding:7px 16px;border-radius:9px;cursor:pointer;transition:.18s;
}
.fcase-toggle:hover{background:#dbe4ff;border-color:#b8c5ff;color:#2a4ac8;}


