/* ==========================================================================
   贵州财经大学经济学院 · 重新设计 · 设计系统
   主色 院徽蓝 #3860B8（logo主色提取）/ 辅色 学院金 #C9A961
   现代简约学术风 · 12 栏栅格 · 响应式
   字体：思源黑体 Noto Sans SC 统一（正文/标题全黑体，靠字重+字距+字号拉开层次 · 字重 300/400/500/600/700/900）
   ========================================================================== */

/* ---------- Webfont(Google Fonts CDN) ---------- */
/* 注：Noto Sans SC 字体改用 HTML <link> 加载（避免 @import 阻塞导致后续 CSS 不生效） */

/* ---------- 设计变量 ---------- */
:root{
  --blue:#3860B8;
  --blue-dark:#2A4A8F;
  --blue-light:#5A82D3;
  --blue-50:#EAF0FB;
  --blue-100:#D7E1F4;
  --gold:#C9A961;
  --gold-light:#D9BD7E;
  --ink:#1A2233;
  --ink-2:#4A5568;
  --ink-3:#8B95A7;
  --line:#E4E8EE;
  --line-soft:#EEF1F6;
  --bg:#FFFFFF;
  --bg-soft:#F5F7FA;
  --radius:8px;
  --radius-sm:4px;
  --shadow:0 4px 16px rgba(56,96,184,.08);
  --shadow-lg:0 12px 40px rgba(56,96,184,.12);
  --shadow-hover:0 8px 28px rgba(56,96,184,.14);
  --container:1200px;
  --font-sans:"Noto Sans SC","PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  /* --font-serif 备用：本项目标题与小标题已统一 sans-serif（2026-09-04 字体升级），如下次想保留衬线可单独恢复 */
  --font-serif:"Noto Serif SC",Georgia,serif;
  --font-en:"Inter","Helvetica Neue",Arial,sans-serif;
  --font:var(--font-sans);
  --font-display:var(--font-sans);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- 入场动画 ---------- */
@keyframes revealUp{
  from{opacity:0;transform:translateY(24px)}
  to{opacity:1;transform:translateY(0)}
}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease);will-change:opacity,transform}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.1s}
.reveal[data-delay="2"]{transition-delay:.2s}
.reveal[data-delay="3"]{transition-delay:.3s}
.reveal[data-delay="4"]{transition-delay:.4s}
@media (prefers-reduced-motion: reduce){
  .reveal,.reveal.in{opacity:1;transform:none;transition:none}
}

/* ---------- 重置 ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--bg);
  line-height:1.75;
  font-size:16px;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
a{color:var(--blue);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--blue-light)}
ul,ol{list-style:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:none;background:none}
h1,h2{font-family:var(--font-display);font-weight:700;line-height:1.3;color:var(--ink);letter-spacing:.03em}
h3,h4,h5{font-weight:600;line-height:1.45;color:var(--ink)}
h1{font-size:34px}
h2{font-size:30px}
h3{font-size:19px}
h4{font-size:16px}
h5{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--ink-3)}
.en{font-family:var(--font-en)}

/* ---------- 布局 ---------- */
.container{max-width:var(--container);margin:0 auto;padding:0 20px}
.container-sm{max-width:880px;margin:0 auto;padding:0 20px}
.section{padding:64px 0}
.section-sm{padding:48px 0}
.section-soft{background:var(--bg-soft)}
.section-blue{background:linear-gradient(180deg,var(--blue-50),#fff)}
.grid{display:grid;gap:24px}
.hidden{display:none!important}

/* 区块标题 */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;gap:16px;flex-wrap:wrap}
.sec-head .title{display:flex;flex-direction:column;gap:6px}
.sec-head h2{font-size:28px;letter-spacing:.5px;position:relative}
.sec-head h2 .em{color:var(--gold)}
.sec-head .sub{font-size:13px;color:var(--ink-3);letter-spacing:2px;text-transform:uppercase;font-weight:600}
.sec-head .more{font-size:14px;color:var(--blue);font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.sec-head .more::after{content:"›";font-size:20px;line-height:1}
.sec-head .more:hover{gap:8px}
/* 装饰条 */
.deco-bar{width:48px;height:4px;background:linear-gradient(90deg,var(--gold),var(--blue));border-radius:2px;margin-top:10px}

/* ==========================================================================
   顶部栏（校徽+搜索+二级链接）
   ========================================================================== */
.topbar{background:var(--blue-dark);color:#cdd7ec;font-size:13px}
.topbar .container{display:flex;align-items:center;justify-content:space-between;height:40px}
.topbar a{color:#cdd7ec}
.topbar a:hover{color:#fff}
.topbar .links{display:flex;gap:20px;align-items:center}
.topbar .search{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border-radius:20px;padding:4px 6px 4px 14px}
.topbar .search input{background:none;border:none;color:#fff;font-size:13px;width:140px;outline:none}
.topbar .search input::placeholder{color:#9fb0cc}
.topbar .search button{color:#fff;font-size:14px;padding:2px 6px}

/* ==========================================================================
   主导航 header
   ========================================================================== */
.header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 var(--line);transition:box-shadow .2s}
.header.scrolled{box-shadow:0 2px 12px rgba(56,96,184,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand .logo{width:42px;height:42px;border-radius:50%;display:block;object-fit:cover;box-shadow:0 4px 12px rgba(56,96,184,.3)}
.brand .name{display:flex;flex-direction:column;line-height:1.2}
.brand .name b{font-size:17px;color:var(--blue);font-family:var(--font-sans);letter-spacing:1px;white-space:nowrap}
.brand .name span{font-size:11px;color:var(--ink-3);letter-spacing:1.5px;text-transform:uppercase}

.menu{display:flex;align-items:center;gap:0}
.menu>li{position:relative}
.menu>li>a{display:flex;align-items:center;height:72px;padding:0 12px;font-size:15px;font-weight:600;color:var(--ink);position:relative;transition:color .2s;white-space:nowrap}
.menu>li>a::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;background:var(--gold);border-radius:2px 2px 0 0;transform:scaleX(0);transition:transform .25s}
.menu>li:hover>a{color:var(--blue)}
.menu>li:hover>a::after,.menu>li.active>a::after{transform:scaleX(1)}
.menu .caret{font-size:10px;margin-left:4px;color:var(--ink-3)}

/* 下拉 */
.dropdown{position:absolute;top:72px;left:0;min-width:180px;background:#fff;border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-lg);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .22s}
.menu>li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown li a{display:block;padding:10px 22px;font-size:14px;color:var(--ink-2);transition:all .15s;border-left:3px solid transparent}
.dropdown li a:hover{color:var(--blue);background:var(--blue-50);border-left-color:var(--gold);padding-left:25px}

/* 移动端汉堡 */
.nav-toggle{display:none;width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav-toggle span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.25s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ==========================================================================
   Hero 主视觉
   ========================================================================== */
/* Hero 图片轮播 */
.hero-slider{position:relative;height:380px;overflow:hidden;background:var(--blue-dark)}
.slides{position:relative;width:100%;height:100%}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.slide.active{opacity:1;pointer-events:auto}
.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.slide .container{position:relative;z-index:2;display:flex;align-items:center;height:100%}
.slide-content{max-width:620px;color:#fff}
.slide-content .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:3px;color:var(--gold-light);font-weight:600;margin-bottom:14px;text-transform:uppercase}
.slide-content .eyebrow::before{content:"";width:32px;height:2px;background:var(--gold)}
.slide-content h2{font-size:42px;line-height:1.2;color:#fff;margin-bottom:16px;letter-spacing:.04em;font-weight:900}
.slide-content h2 .gold{color:var(--gold-light)}
.slide-content p{font-size:15px;color:rgba(255,255,255,.88);margin-bottom:22px;line-height:1.8;max-width:520px}

.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:24px;cursor:pointer;transition:all .25s;display:flex;align-items:center;justify-content:center;line-height:1}
.slider-arrow:hover{background:var(--gold);border-color:var(--gold)}
.slider-arrow.prev{left:24px}
.slider-arrow.next{right:24px}

.slider-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:10px}
.slider-dots .dot{width:24px;height:4px;border-radius:2px;background:rgba(255,255,255,.35);cursor:pointer;transition:all .25s}
.slider-dots .dot.active{background:var(--gold);width:36px}

/* 按钮（全局公用） */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;border-radius:40px;font-size:15px;font-weight:600;letter-spacing:.5px;transition:all .25s}
.btn-primary{background:var(--gold);color:#fff;box-shadow:0 6px 18px rgba(201,169,97,.4)}
.btn-primary:hover{background:var(--gold-light);color:#fff;transform:translateY(-2px);box-shadow:0 10px 26px rgba(201,169,97,.5)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35)}
.btn-ghost:hover{background:rgba(255,255,255,.22);color:#fff}
.btn-line{background:#fff;color:var(--blue)}
.btn-line:hover{background:#f0f4fb;color:var(--blue-dark)}

/* ==========================================================================
   学院动态（要闻置顶 + 三频道 Tab）
   ========================================================================== */
.news-zone .news-zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
/* 要闻置顶大卡 */
.feature{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);min-height:380px;background:linear-gradient(135deg,var(--blue-dark),var(--blue))}
.feature .pic{position:absolute;inset:0;background:linear-gradient(135deg,var(--blue-dark) 0%,var(--blue) 60%,var(--blue-light) 100%);opacity:.92}
.feature .pic::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(201,169,97,.3),transparent 45%)}
.feature .body{position:relative;z-index:2;padding:32px;color:#fff;display:flex;flex-direction:column;height:100%;min-height:380px}
.feature .tag{display:inline-block;align-self:flex-start;background:var(--gold);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px;letter-spacing:1px;margin-bottom:auto}
.feature h3{font-size:22px;color:#fff;line-height:1.5;margin:18px 0 14px}
.feature .meta{font-size:13px;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:12px}
.feature .meta .dot{width:4px;height:4px;background:var(--gold);border-radius:50%}
.feature .read{margin-top:22px;font-size:14px;color:var(--gold-light);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.feature .read::after{content:"→";transition:transform .2s}
.feature:hover .read::after{transform:translateX(4px)}

/* Tab 频道 */
.channels{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.tabs{display:flex;border-bottom:1px solid var(--line-soft);background:var(--bg-soft)}
.tabs button{flex:1;padding:16px 10px;font-size:15px;font-weight:600;color:var(--ink-3);position:relative;transition:color .2s;border-bottom:3px solid transparent}
.tabs button .num{display:block;font-size:11px;font-weight:600;color:var(--ink-3);opacity:.6;margin-top:2px}
.tabs button.active{color:var(--blue);border-bottom-color:var(--gold)}
.tabs button.active .num{color:var(--gold);opacity:1}
.tabs button:hover{color:var(--blue)}
.tab-pane{padding:8px 24px}
.news-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px dashed var(--line-soft)}
.news-list li:last-child{border-bottom:none}
.news-list li a{color:var(--ink);font-size:15px;line-height:1.6;flex:1;transition:color .15s;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.news-list li a:hover{color:var(--blue)}
.news-list li .date{font-size:13px;color:var(--ink-3);white-space:nowrap;flex-shrink:0}
/* ---------- 新闻列表徽章已移除（2026-09-21：用户拍板不再打徽章，避免分类完备性负担） ---------- */
.news-list .more-row{text-align:center;padding:14px}
.news-list .more-row a{font-size:14px;color:var(--blue);font-weight:600}
/* 科研专区列表：全站统一口径（标题 14.5px / 日期 13px，与 chan-list 同值）+ 前置分类小标
   （2026-09-23 用户拍板：改全站标准样式、保留分类标签、全量展示并沿用年份分组） */
.news-list.rsch-list li{align-items:baseline}
.news-list.rsch-list li a{font-size:14.5px;line-height:1.6}
.news-list.rsch-list li .cat{flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--gold);line-height:1.6}

/* ==========================================================================
   学术科研卡片
   ========================================================================== */
.acad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:all .25s;border:1px solid var(--line-soft)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-color:var(--blue-100)}
.card .thumb{height:160px;background:linear-gradient(135deg,var(--blue-50),var(--blue-100));position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.card .thumb::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.45),transparent 50%);pointer-events:none}
.card .thumb .ico{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--blue-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;box-shadow:0 6px 16px rgba(56,96,184,.3);position:relative;z-index:1}
.card .thumb .ico svg{width:28px;height:28px;display:block}
.card .thumb.accent2{background:linear-gradient(135deg,#fdf4e3,#f5e6c4)}
.card .thumb.accent2 .ico{background:linear-gradient(135deg,var(--gold),#b8923f);box-shadow:0 6px 16px rgba(184,146,63,.3)}
.card .thumb.accent3{background:linear-gradient(135deg,#eef7ee,#d4ebd6)}
.card .thumb.accent3 .ico{background:linear-gradient(135deg,#2d8a4e,#1f6b3a);box-shadow:0 6px 16px rgba(45,138,78,.3)}
.card .thumb.photo{background:#eef1f6}
.card .thumb.photo::before{display:none}
.card .thumb.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.card:hover .thumb.photo img{transform:scale(1.05)}
.card .thumb.stat{height:104px;flex-direction:column;gap:7px;background:linear-gradient(135deg,#eef3fb,#dfe8f7)}
.card .thumb.stat::before{display:none}
.card .thumb.stat .num{font-size:42px;font-weight:700;line-height:1;letter-spacing:1px;color:var(--blue)}
.card .thumb.stat .num.jn{font-size:24px;letter-spacing:0}
.card .thumb.stat .lb{font-size:12px;letter-spacing:2px;color:var(--blue);opacity:.85}
.card .thumb.stat.accent2{background:linear-gradient(135deg,#fdf4e3,#f6e8ca)}
.card .thumb.stat.accent2 .num,.card .thumb.stat.accent2 .lb{color:#9a7b22}
.card .thumb.stat.accent3{background:linear-gradient(135deg,#eef7ee,#d9edda)}
.card .thumb.stat.accent3 .num,.card .thumb.stat.accent3 .lb{color:#2e6b3e}
.card .body{padding:22px 24px 26px}
.card .cat{font-size:12px;color:var(--gold);font-weight:700;letter-spacing:1px;text-transform:uppercase}
.card h3{font-size:17px;margin:8px 0 10px;line-height:1.5}
.card h3 a{color:var(--ink)}
.card h3 a:hover{color:var(--blue)}
.card p{font-size:13px;color:var(--ink-2);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .foot{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--ink-3)}
.card .foot a{color:var(--blue);font-weight:600}

/* ==========================================================================
   风采展示三栏
   ========================================================================== */
.honor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.honor{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:all .25s}
.honor:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.honor .hd{padding:18px 24px;background:linear-gradient(90deg,var(--blue-50),#fff);display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line-soft)}
.honor .hd .ic{width:34px;height:34px;border-radius:9px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.honor .hd .ic svg{width:18px;height:18px;display:block}
.honor.gold .hd{background:linear-gradient(90deg,#fdf4e3,#fff)}
.honor.gold .hd .ic{background:var(--gold)}
.honor.green .hd{background:linear-gradient(90deg,#eef7ee,#fff)}
.honor.green .hd .ic{background:#2d8a4e}
.honor .hd h3{font-size:16px}
.honor .bd{padding:6px 24px 18px}
.honor .bd li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line-soft)}
.honor .bd li:last-child{border-bottom:none}
.honor .bd .av{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background:var(--blue-50);color:var(--blue)}
.honor.gold .bd .av{background:#fdf4e3;color:#b8923f}
.honor .bd .tx{flex:1;min-width:0}
.honor .bd .tx a{color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.honor .bd .tx a:hover{color:var(--blue)}
.honor .bd .tx span{font-size:12px;color:var(--ink-3)}
.honor .bd .date{font-size:12px;color:var(--ink-3);white-space:nowrap}

/* 教授大卡 */
.prof-card{display:flex;gap:18px;padding:14px 0;border-bottom:1px dashed var(--line-soft)}
.prof-card:last-child{border-bottom:none}
.prof-card .av{width:64px;height:64px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--gold),#b8923f);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700}
.prof-card.sm .av{width:42px;height:42px;font-size:15px;border-radius:50%}
.prof-card .info{flex:1;min-width:0}
.prof-card .info h4{font-size:15px;margin-bottom:3px}
.prof-card .info p{font-size:12px;color:var(--ink-2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prof-card .info .date{display:block;font-size:12px;color:var(--ink-3);margin-top:4px}

/* 小型横向条目（风采卡内用） */
.mini-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--line-soft)}
.mini-item:last-child{border-bottom:none;padding-bottom:0}
.mini-item .av{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;background:var(--blue-50);color:var(--blue)}
.honor.gold .mini-item .av{background:#fdf4e3;color:#b8923f}
.honor.green .mini-item .av{background:#eef7ee;color:#2d8a4e}
.mini-item .tx{flex:1;min-width:0}
.mini-item .tx a{color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini-item .tx a:hover{color:var(--blue)}
.mini-item .tx span{font-size:12px;color:var(--ink-3)}

/* ==========================================================================
   快捷入口
   ========================================================================== */
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.quick{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:30px 26px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);transition:all .25s;overflow:hidden;border-top:4px solid var(--blue)}
.quick::after{content:"→";position:absolute;right:24px;bottom:24px;font-size:22px;color:var(--ink-3);transition:all .25s}
.quick:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover);border-top-color:var(--gold)}
.quick:hover::after{color:var(--blue);transform:translateX(4px)}
.quick .ic{width:52px;height:52px;border-radius:14px;background:var(--blue-50);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:24px;transition:all .3s var(--ease)}
.quick .ic svg{width:26px;height:26px;display:block;transition:transform .4s var(--ease)}
.quick:hover .ic{background:var(--blue);color:#fff;transform:rotate(-6deg)}
.quick:hover .ic svg{transform:scale(1.1) rotate(6deg)}
.quick:hover .ic{background:var(--blue);color:#fff}
.quick h3{font-size:18px}
.quick p{font-size:13px;color:var(--ink-3)}
.quick.q2{border-top-color:var(--gold)} .quick.q2 .ic{background:#fdf4e3;color:#b8923f}
.quick.q2:hover .ic{background:var(--gold);color:#fff}
.quick.q3{border-top-color:#2d8a4e} .quick.q3 .ic{background:#eef7ee;color:#2d8a4e}
.quick.q3:hover .ic{background:#2d8a4e;color:#fff}
.quick.q4{border-top-color:var(--blue-light)} .quick.q4 .ic{background:var(--blue-50);color:var(--blue-light)}
.quick.q4:hover .ic{background:var(--blue-light);color:#fff}

/* ==========================================================================
   页脚
   ========================================================================== */
.footer{background:var(--blue-dark);color:#aab8d0;padding:56px 0 0}
.footer a{color:#aab8d0}
.footer a:hover{color:#fff}
.footer .main{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);max-width:860px}
.footer .brand .name b{color:#fff;font-size:20px}
.footer .brand .name span{color:#7d8db0}
.footer .brand p{font-size:13px;line-height:1.9;margin-top:16px;color:#8a99bd}
.footer .col h4{color:#fff;font-size:15px;margin-bottom:18px}
.footer .col li{margin-bottom:10px;font-size:13px}
.footer .contact li{display:flex;gap:10px;font-size:13px;line-height:1.8;margin-bottom:12px;color:#8a99bd}
.footer .contact li b{color:#cdd7ec;min-width:64px}
.footer .bottom{padding:20px 0;font-size:12px;color:#7d8db0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.footer .links-row{display:flex;gap:18px;flex-wrap:wrap}
.footer .links-row a{font-size:12px}

/* ==========================================================================
   通用组件
   ========================================================================== */
.breadcrumb{padding:18px 0;font-size:13px;color:var(--ink-3);background:var(--bg-soft)}
.breadcrumb a{color:var(--ink-2)}
.breadcrumb span{margin:0 8px;color:var(--ink-3)}
.breadcrumb .cur{color:var(--blue);font-weight:600}

/* 页面头图 banner */
.page-hero{background:linear-gradient(125deg,var(--blue-dark),var(--blue));color:#fff;padding:56px 0;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;right:-30px;top:-30px;width:300px;height:300px;border:40px solid rgba(255,255,255,.05);border-radius:50%}
.page-hero .container{position:relative;z-index:2}
.page-hero h1{font-size:34px;color:#fff;margin-bottom:10px}
.page-hero p{font-size:15px;color:rgba(255,255,255,.8)}
.page-hero .crumb a{color:rgba(255,255,255,.7);font-size:13px}
.page-hero .crumb span{color:rgba(255,255,255,.5);margin:0 6px}
.page-hero .crumb .cur{color:#fff}

/* 列表页 */
.list-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.list-filter button{padding:8px 22px;border-radius:30px;font-size:14px;font-weight:600;color:var(--ink-2);background:var(--bg-soft);transition:all .2s}
.list-filter button.active{background:var(--blue);color:#fff}
.list-filter button:hover:not(.active){background:var(--blue-100);color:var(--blue)}

.list-item{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--line-soft);transition:background .2s}
.list-item:hover{background:var(--blue-50)}
.list-item .date{flex-shrink:0;width:84px;text-align:center;background:var(--bg-soft);border-radius:var(--radius-sm);overflow:hidden;align-self:flex-start}
.list-item .date b{display:block;background:var(--blue);color:#fff;font-size:26px;padding:8px 0;line-height:1}
.list-item .date span{display:block;font-size:12px;color:var(--ink-3);padding:4px 0}
.list-item .ct{flex:1;min-width:0}
.list-item .ct .cat{font-size:12px;color:var(--gold);font-weight:700;letter-spacing:1px}
.list-item .ct h3{font-size:18px;margin:6px 0 8px}
.list-item .ct h3 a{color:var(--ink)}
.list-item .ct h3 a:hover{color:var(--blue)}
.list-item .ct p{font-size:13px;color:var(--ink-2);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 分页 */
.pager{display:flex;justify-content:center;gap:6px;margin-top:36px}
.pager a,.pager span{min-width:38px;height:38px;padding:0 10px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:14px;border:1px solid var(--line);color:var(--ink-2)}
.pager a:hover{border-color:var(--blue);color:var(--blue)}
.pager .active{background:var(--blue);color:#fff;border-color:var(--blue)}

/* 文章详情 —— 排版规范：标题居中 / 元信息居中 / 正文首行缩进 2 字符 / 保留官网原对齐 */
.article{padding:24px 0 0}
.article h1{font-size:30px;line-height:1.5;margin-bottom:6px;text-align:center;letter-spacing:.5px}
.article .meta{display:flex;gap:0;justify-content:center;align-items:center;font-size:13.5px;color:var(--ink-3);padding:14px 0;border-bottom:1px solid var(--line-soft);margin:14px 0 32px;flex-wrap:wrap}
.article .meta>span{display:inline-flex;align-items:center}
.article .meta>span+span::before{content:"·";margin:0 12px;color:var(--line);font-weight:700}
.article .meta .cat{color:var(--gold);font-weight:700}
.article .content{font-size:16.5px;line-height:2;color:var(--ink);text-align:justify;word-break:break-word}
.article .content p{margin-bottom:20px;text-indent:2em}
/* 官网原样保留的对齐方式不覆盖：落款/联系人/表内文字等 */
.article .content p[style*="text-align:right"],
.article .content p[style*="text-align: right"],
.article .content p[style*="text-align:center"],
.article .content p[style*="text-align: center"],
.article .content td p,
.article .content th p,
.article .content p.v-img,
.article .content p.vsbcontent_img{text-indent:0}
.article .content p.v-img,
.article .content p.vsbcontent_img{text-align:center;margin-bottom:24px}
/* 兜底：任何段落里的图片都居中，且不参与首行缩进（含 v-img 死代码修复前的历史页面）。
   :has() 用于父段居中/去缩进，现代浏览器均支持；img 自身设 block+auto 边距再兜一层。 */
.article .content p:has(> img){text-align:center;text-indent:0}
.article .content p>img{margin-left:auto;margin-right:auto}
.article .content h2{font-size:21px;margin:32px 0 16px;padding-left:14px;border-left:4px solid var(--gold);text-indent:0}
.article .content h3,.article .content h4{text-indent:0}
.article .content img{display:block;margin:24px auto;border-radius:var(--radius);max-width:100%;height:auto}
.article .content table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14.5px}
.article .content td,.article .content th{border:1px solid var(--line);padding:8px 10px;line-height:1.7}
.article .content table p{margin-bottom:0;text-indent:0}
.article .content ul,.article .content ol{margin:0 0 20px 2em}
.article .content li{line-height:1.9;margin-bottom:6px}
.article-nav{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line-soft)}
.article-nav a{flex:1;font-size:14px;color:var(--ink-2);background:var(--bg-soft);padding:16px 20px;border-radius:var(--radius)}
.article-nav a:hover{background:var(--blue-50);color:var(--blue)}
.article-nav a span{display:block;font-size:12px;color:var(--ink-3);margin-bottom:4px}

/* 师资网格 */
.faculty-tabs{display:flex;gap:8px;margin-bottom:30px;flex-wrap:wrap}
.faculty-tabs button{padding:10px 24px;border-radius:30px;font-size:14px;font-weight:600;background:var(--bg-soft);color:var(--ink-2)}
.faculty-tabs button.active{background:var(--blue);color:#fff}
.fac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.fac{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;text-align:center;transition:all .25s;cursor:pointer}
.fac:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}
.fac .ph{height:200px;background:linear-gradient(135deg,var(--blue-50),var(--blue-100));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.fac .ph::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.5),transparent 55%);pointer-events:none}
.fac .ph .av{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;box-shadow:0 8px 20px rgba(56,96,184,.25);position:relative;font-family:var(--font-sans);letter-spacing:0}
.fac .ph .av-deco{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fac.lv-1 .av{background:linear-gradient(135deg,var(--gold),#8e6f2c);box-shadow:0 8px 20px rgba(201,169,97,.35)}
.fac.lv-1 .ph{background:linear-gradient(135deg,#fdf4e3,#f0dfb1)}
.fac.lv-3 .av{background:linear-gradient(135deg,var(--blue-light),var(--blue))}
.fac.lv-3 .ph{background:linear-gradient(135deg,#e6eef8,#c6d3ec)}
.fac.lv-4 .av{background:linear-gradient(135deg,#5a82d3,#3860b8)}
.fac .info{padding:18px 16px 22px}
.fac .info h4{font-size:17px;margin-bottom:4px}
.fac .info .title{font-size:13px;color:var(--gold);font-weight:600;margin-bottom:8px}
.fac .info p{font-size:12px;color:var(--ink-3);line-height:1.6}

/* 联系页 */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
.contact-cards{display:flex;flex-direction:column;gap:18px}
.contact-card{display:flex;gap:18px;padding:24px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);border-left:4px solid var(--blue)}
.contact-card .ic{width:48px;height:48px;border-radius:12px;background:var(--blue-50);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.contact-card .ic svg{width:24px;height:24px;display:block}
.contact-card h4{font-size:16px;margin-bottom:6px}
.contact-card p{font-size:14px;color:var(--ink-2);line-height:1.7}
/* 办公电话通讯录：科室 / 地点 / 电话三栏对齐（2026-09-23 用户要求排版对齐） */
/* 列定义放在 UL 上共享（每行 li 独立 grid 会各行其是），li 用 display:contents 把三个 span 直接投进同一网格；
   max-content 自适应最宽格（「学科建设管理科」6 字不换行），三列跨行严格对齐 */
.tel-list{list-style:none;margin:0;padding:0;font-size:14px;color:var(--ink-2);display:grid;grid-template-columns:max-content max-content 1fr;column-gap:14px;row-gap:6px}
.tel-list li{display:contents}
.tel-list .tn{font-weight:500;color:var(--ink);white-space:nowrap}
.tel-list .tl{color:var(--ink-3);white-space:nowrap}
.tel-list .tv{font-variant-numeric:tabular-nums;letter-spacing:.2px;white-space:nowrap;justify-self:start}
@media(max-width:560px){
  /* 窄屏改两行式：科室+电话一行（电话右对齐），地点第二行；li 恢复独立网格避免串行 */
  .tel-list{display:block}
  .tel-list li{display:grid;grid-template-columns:1fr auto;column-gap:8px;row-gap:0;padding:6px 0;border-bottom:1px dashed var(--line)}
  .tel-list li:last-child{border-bottom:none}
  .tel-list .tl{grid-column:1/-1;grid-row:2;font-size:13px}
  .tel-list .tv{grid-column:2;grid-row:1;justify-self:end;text-align:right}
}
.map-box{height:340px;border-radius:var(--radius);background:linear-gradient(135deg,var(--blue-50),var(--blue-100));display:flex;align-items:center;justify-content:center;color:var(--blue);flex-direction:column;gap:10px;box-shadow:var(--shadow)}
.map-box .ic{font-size:48px}
.map-box .ic svg{width:48px;height:48px;display:block}

/* 返回顶部 */
.back-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:all .25s;z-index:90;cursor:pointer}
.back-top.show{opacity:1;visibility:visible}
.back-top:hover{background:var(--blue-dark);transform:translateY(-3px)}

/* ==========================================================================
   响应式
   ========================================================================== */
/* 中宽屏：压缩导航间距，保证 9-10 个菜单项不换行 */
@media(max-width:1220px) and (min-width:769px){
  .menu>li>a{padding:0 9px;font-size:14px}
  .menu>li>a::after{left:9px;right:9px}
  .brand .name b{font-size:16px}
  .brand .logo{width:38px;height:38px}
}
@media(max-width:1024px){
  .hero-slider{height:380px}
  .slide-content h2{font-size:30px}
  .acad-grid,.honor-grid,.fac-grid{grid-template-columns:repeat(2,1fr)}
  .quick-grid{grid-template-columns:repeat(2,1fr)}
  .footer .main{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:768px){
  body{font-size:14px}
  .section{padding:40px 0}
  .nav-toggle{display:flex}
  .menu{position:fixed;top:112px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;height:0;overflow:hidden;box-shadow:var(--shadow-lg);transition:height .3s}
  .menu.open{height:calc(100vh - 112px);overflow-y:auto}
  .menu>li>a{height:54px;border-bottom:1px solid var(--line-soft);padding:0 24px}
  .menu>li>a::after{display:none}
  .dropdown{position:static;box-shadow:none;padding:0 0 0 24px;opacity:1;visibility:visible;transform:none;display:none}
  .menu>li.open .dropdown{display:block}
  .topbar .links{display:none}
  .topbar .container{justify-content:flex-end}
  .hero-slider{height:340px}
  .slide-content h2{font-size:24px}
  .slide-content p{font-size:13px;margin-bottom:18px}
  .slider-arrow{width:36px;height:36px;font-size:18px}
  .slider-arrow.prev{left:10px}
  .slider-arrow.next{right:10px}
  .sec-head h2{font-size:22px}
  .news-zone .news-zone-grid{grid-template-columns:1fr;gap:24px}
  .tabs button{font-size:13px;padding:14px 6px}
  .acad-grid,.honor-grid,.quick-grid,.fac-grid,.contact-grid,.footer .main{grid-template-columns:1fr}
  .list-item{flex-direction:column;gap:14px}
  .fac-grid{grid-template-columns:1fr 1fr}
  .page-hero h1{font-size:26px}
  .article h1{font-size:22px}
}

/* ---------- 主题切换按钮已移除（2026-09-21：传统版废弃，不再提供互跳） ---------- */

/* ==========================================================================
   科研专区 research.html（2026-09-11 新增，两版共用类名/变量）
   ========================================================================== */
.rsch-intro{background:var(--bg-soft);border-left:4px solid var(--blue);border-radius:var(--radius-sm);padding:22px 26px;margin-bottom:26px}
.rsch-intro p{font-size:15px;line-height:1.9;color:var(--ink-2);margin:0}
.rsch-intro p + p{margin-top:10px}
.rsch-intro b{color:var(--ink);font-weight:600}

.dir-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:6px 0 8px}
.dir-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;transition:all .25s var(--ease)}
.dir-card:hover{border-color:var(--blue-light);box-shadow:var(--shadow);transform:translateY(-3px)}
.dir-card h4{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px;padding-left:12px;position:relative}
.dir-card h4::before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:2px;background:var(--gold)}
.dir-card p{font-size:13px;line-height:1.8;color:var(--ink-3);margin:0}

.plat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:6px 0 8px}
.plat-card{display:block;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;transition:all .25s var(--ease);text-decoration:none;position:relative}
.plat-card:hover{border-color:var(--blue-light);box-shadow:var(--shadow-hover);transform:translateY(-3px)}
.plat-card .tag{display:inline-block;font-size:12px;font-weight:600;color:var(--blue);background:var(--blue-50);border-radius:20px;padding:3px 12px;margin-bottom:12px}
.plat-card h4{font-size:17px;font-weight:600;color:var(--ink);margin-bottom:8px;line-height:1.5}
.plat-card p{font-size:13px;line-height:1.8;color:var(--ink-3);margin:0 0 12px}
.plat-card .go{font-size:13px;font-weight:600;color:var(--blue)}
.plat-card .go::after{content:"›";margin-left:4px}

.rsch-note{font-size:13px;color:var(--ink-3);background:var(--bg-soft);border-radius:var(--radius-sm);padding:12px 18px;margin-top:18px}
.rsch-note b{color:var(--ink-2);font-weight:600}

.member-table{width:100%;border-collapse:collapse;margin-top:6px;background:var(--bg)}
.member-table th{background:var(--blue-50);color:var(--ink);font-size:14px;font-weight:600;padding:13px 18px;text-align:left;border-bottom:2px solid var(--blue)}
.member-table td{padding:13px 18px;font-size:14px;color:var(--ink-2);border-bottom:1px solid var(--line-soft)}
.member-table tbody tr:hover td{background:var(--bg-soft)}
.member-table td.name{font-weight:600;color:var(--ink)}

.inst-info{display:grid;grid-template-columns:1fr;gap:0}
.inst-info h3{font-size:17px;font-weight:600;color:var(--ink);margin:26px 0 14px;padding-left:12px;position:relative}
.inst-info h3::before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;border-radius:2px;background:var(--gold)}
.inst-info p{font-size:15px;line-height:2;color:var(--ink-2);margin:0 0 12px;text-indent:2em;text-align:justify}

@media (max-width:768px){
  .dir-grid,.plat-grid{grid-template-columns:1fr}
  .member-table th,.member-table td{padding:10px 12px;font-size:13px}
}

/* 通用 more-row（科研专区独立使用，与 .news-list .more-row 同值不冲突） */
.more-row{text-align:center;padding:14px}
.more-row a{font-size:14px;font-weight:600}


/* 组织机构分组标题 */
.org-group{font-size:17px;font-weight:600;color:var(--ink);margin:28px 0 14px;padding-left:14px;position:relative}
.org-group::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:2px;background:var(--blue)}
.org-group:first-of-type{margin-top:0}

/* 学院领导 · 领导班子 */
.leader-list{display:flex;flex-direction:column;gap:20px}
.leader-item{display:grid;grid-template-columns:210px 1fr;gap:28px;padding:28px 30px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);border-top:3px solid var(--blue);transition:box-shadow .25s var(--ease),transform .25s var(--ease)}
.leader-item:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}
.leader-side{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding-right:26px;border-right:1px solid var(--line-soft)}
.leader-av{width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;box-shadow:0 8px 20px rgba(56,96,184,.25);flex-shrink:0}
.leader-id h3{font-size:19px;margin:0 0 6px;color:var(--ink)}
.leader-post{font-size:13px;color:var(--gold);font-weight:600;line-height:1.65}
.leader-main p{font-size:14.5px;color:var(--ink-2);line-height:1.85;margin:0 0 10px}
.leader-main p:last-child{margin-bottom:0}
.leader-key{color:var(--ink);font-weight:600}
.leader-note{font-size:13px;color:var(--ink-3);line-height:1.75;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.leader-empty{font-size:14px;color:var(--ink-3);line-height:1.85}
@media (max-width:820px){
  .leader-item{grid-template-columns:1fr;gap:18px;padding:22px}
  .leader-side{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:16px;padding-right:0;padding-bottom:16px;border-right:0;border-bottom:1px solid var(--line-soft)}
  .leader-av{width:56px;height:56px;font-size:21px}
  .leader-id h3{margin-bottom:4px}
}

/* ==========================================================================
   教育教学 education（2026-09-11 新增：本科 / 硕士 / 博士 3 页共用）
   ========================================================================== */

/* 兄弟页切换条（本科 / 硕士 / 博士 互为同级目录） */
.edu-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.edu-nav a{display:inline-flex;align-items:center;font-size:14.5px;font-weight:600;color:var(--ink-2);background:var(--bg-soft);border:1px solid var(--line);border-radius:40px;padding:10px 24px;text-decoration:none;transition:all .25s var(--ease)}
.edu-nav a:hover{color:var(--blue);border-color:var(--blue-light);background:var(--blue-50)}
.edu-nav a.on{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-dark));border-color:transparent;box-shadow:0 6px 16px rgba(56,96,184,.25)}

/* 页内学位点索引 */
.edu-index{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--bg-soft);border-left:4px solid var(--blue);border-radius:var(--radius-sm);padding:16px 20px;margin-bottom:32px}
.edu-index .lb{font-size:13px;font-weight:600;color:var(--ink-2);flex-shrink:0}
.edu-index a{font-size:13.5px;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:20px;padding:5px 14px;text-decoration:none;transition:all .2s var(--ease)}
.edu-index a:hover{color:var(--blue);border-color:var(--blue-light);box-shadow:0 3px 10px rgba(56,96,184,.12)}

/* 内容块 */
.edu-block{margin-bottom:46px}
.edu-block:last-of-type{margin-bottom:0}
.edu-block > h3{font-size:20px;font-weight:700;color:var(--ink);margin:0 0 4px;padding-left:16px;position:relative}
.edu-block > h3::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:5px;border-radius:3px;background:linear-gradient(180deg,var(--blue),var(--blue-light))}
.edu-block > .sub{display:block;font-size:12px;font-weight:600;color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;padding-left:16px;margin-bottom:22px}

/* 专业 / 学位点卡片 */
.prog-list{display:flex;flex-direction:column;gap:18px}
.prog{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:26px 30px;scroll-margin-top:112px;transition:all .25s var(--ease)}
.prog:hover{border-color:var(--blue-light);box-shadow:var(--shadow);transform:translateY(-2px)}
.prog-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.prog-head h4{font-size:18px;font-weight:700;color:var(--ink);margin:0}
.prog-code{font-size:12px;font-weight:600;color:var(--blue);background:var(--blue-50);border-radius:20px;padding:3px 12px;letter-spacing:.03em}
.prog-flag{font-size:12px;font-weight:600;color:#8A6B1F;background:#FBF3DE;border-radius:20px;padding:3px 12px}
.prog p{font-size:15px;line-height:1.95;color:var(--ink-2);margin:0 0 12px}
.prog p:last-of-type{margin-bottom:0}
/* 本科生教育：实验班/专业介绍正文首行缩进 2 字符（仅 .prog-intro 范围，导师队伍不受影响） */
.prog-intro .prog > p{text-indent:2em;text-align:justify}

/* 导师队伍 */
.prog-tutors{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:20px;padding-top:16px;border-top:1px dashed var(--line)}
.prog-tutors .lb{font-size:13px;font-weight:600;color:var(--ink-3);flex-shrink:0}
.prog-tutors .t{font-size:13.5px;color:var(--ink-2);background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:6px;padding:5px 13px;transition:all .2s var(--ease)}
.prog-tutors .t:hover{color:var(--blue);background:var(--blue-50);border-color:var(--blue-100)}
/* 组长：金色实底 + 前置「组长」徽标，与普通成员拉开视觉差距 */
.prog-tutors .t.lead{color:#fff;background:linear-gradient(135deg,#C9A961,#B08F45);border-color:#B08F45;font-weight:600;padding-left:8px;box-shadow:0 2px 8px rgba(176,143,69,.28)}
.prog-tutors .t.lead:hover{color:#fff;background:linear-gradient(135deg,#BE9C52,#A5853C);border-color:#A5853C}
.prog-tutors .t.lead .tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;background:rgba(255,255,255,.24);border-radius:4px;padding:1px 6px;margin-right:7px;vertical-align:1px}

/* 数据来源脚注 */
.edu-meta{font-size:13px;color:var(--ink-3);margin-top:36px;padding-top:18px;border-top:1px solid var(--line-soft)}

@media (max-width:768px){
  .prog{padding:20px 20px 22px}
  .prog-head h4{font-size:16.5px}
  .edu-nav a{flex:1 1 auto;justify-content:center;padding:10px 16px;font-size:13.5px}
  .edu-index{padding:14px 16px}
  .edu-block > h3{font-size:18px}
}

/* ==========================================================================
   师资队伍 faculty（2026-09-14 新增：三系照片卡片，替换原字母占位头像）
   ========================================================================== */

/* 顶部说明条 */
.fac-note{background:var(--bg-soft);border-left:4px solid var(--gold);border-radius:var(--radius-sm);padding:15px 22px;margin-bottom:26px}
.fac-note p{font-size:14.5px;color:var(--ink-2);line-height:1.85;margin:0}
.fac-note b{color:var(--blue)}

/* 三系 Tab：系名长短不一，按钮按内容宽度排布 */
.tabs-fac{flex-wrap:wrap}
.tabs-fac button{flex:0 1 auto;padding:15px 30px;white-space:nowrap;font-size:14.5px}
.tabs-fac button .num{display:inline;margin:0 0 0 7px;font-size:12px}

.chan-fac{padding:28px 26px 32px}

/* 教师卡片（复用 .fac 骨架，改为照片 + 可点击整卡） */
a.fac{display:block;text-decoration:none;color:inherit}
.fac .ph{height:auto;aspect-ratio:3/4;padding:0;background:var(--bg-soft)}
.fac .ph::before{display:none}
.fac .ph img{width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block;transition:transform .55s var(--ease)}
.fac:hover .ph img{transform:scale(1.05)}
.fac .info{padding:15px 16px 20px}
.fac .info h4{font-size:16.5px;margin-bottom:3px}
.fac .info .title{font-size:12.5px;color:var(--gold);font-weight:600;margin-bottom:9px;letter-spacing:.02em}
.fac .info p{font-size:12px;color:var(--ink-3);line-height:1.68;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}

/* 系副主任：姓名后金色实底徽标（口径与导师队伍「组长」徽标一致），首卡加金线强调 */
.fac .info h4 .deputy{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.4px;color:#fff;background:linear-gradient(135deg,#C9A961,#B08F45);border-radius:4px;padding:1.5px 7px;margin-left:7px;vertical-align:2px;box-shadow:0 2px 6px rgba(176,143,69,.28)}
.fac.dep-card{position:relative}
.fac.dep-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--blue));z-index:2}

@media (max-width:980px){
  .chan-fac{padding:22px 18px 26px}
  .tabs-fac button{padding:14px 18px;font-size:13.5px}
}
@media (max-width:768px){
  .tabs-fac{flex-direction:column}
  .tabs-fac button{flex:1 1 auto;text-align:left;padding:13px 16px;border-bottom:none;border-left:3px solid transparent}
  .tabs-fac button.active{border-bottom-color:transparent;border-left-color:var(--gold);background:#fff}
  .fac-note{padding:13px 16px}
  .fac .info{padding:13px 13px 17px}
  .fac .info p{-webkit-line-clamp:2}
}

/* 锚点跳转时避开吸顶导航 */
.channels[data-tabs]{scroll-margin-top:100px}

/* ===================== 党群工作频道页 party channels ===================== */
.chan-intro{font-size:15px;line-height:1.8;color:var(--ink-2);margin-bottom:26px}
.chan-intro .chan-count{display:inline-block;font-size:12.5px;color:var(--ink-3);margin-left:10px;padding-left:12px;border-left:2px solid var(--line)}
.year-h{font-size:20px;font-weight:800;color:var(--ink);margin:34px 0 6px;padding-left:12px;border-left:4px solid var(--blue)}
.year-h:first-of-type{margin-top:8px}
.chan-list li a{font-size:14.5px}
.src-note{font-size:12.5px;color:var(--ink-3);margin-top:28px;padding:12px 16px;background:var(--bg-soft);border-radius:8px;line-height:1.7}
.src-note a{color:var(--blue)}
.empty-state{text-align:center;padding:54px 24px;margin:10px 0 6px;background:var(--bg-soft);border:1px dashed var(--line);border-radius:14px}
.empty-state .ico{font-size:44px;line-height:1;margin-bottom:16px}
.empty-state h3{font-size:19px;font-weight:700;color:var(--ink);margin-bottom:10px}
.empty-state p{font-size:14px;color:var(--ink-3);line-height:1.9;max-width:560px;margin:0 auto}
.empty-state p a{color:var(--blue);font-weight:600}

/* ===================== 教师个人页 teacher page（2026-09-22 新做） ===================== */
.article .tch-head{display:flex;gap:26px;align-items:center;margin-bottom:30px;padding-bottom:22px;border-bottom:1px solid var(--line-soft)}
.article .tch-head .tch-photo{width:132px;height:176px;object-fit:cover;object-position:top;border-radius:10px;border:1px solid var(--line);box-shadow:0 8px 22px rgba(56,96,184,.12);flex-shrink:0;margin:0}
.article .tch-head h1{text-align:left;margin:0 0 12px;font-size:28px}
.article .tch-head .meta{justify-content:flex-start;border-bottom:0;padding:0;margin:0}
@media (max-width:640px){.article .tch-head{flex-direction:column;text-align:center}.article .tch-head h1{text-align:center}.article .tch-head .meta{justify-content:center}}
/* edu 页导师名内链（.t 由 span 变 a 后去除链接默认样式） */
.prog-tutors a.t{text-decoration:none;cursor:pointer}

/* ===================== 精品活动标签与筛选 activity tags ===================== */
/* 2026-09-22 用户第 6 项：团学/风采的精品活动挂网时打系列标签，并可点击筛选 */
.act-filter{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px;padding:14px 16px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px}
.act-filter .lb{font-size:12.5px;font-weight:700;color:var(--ink-3);letter-spacing:.4px;align-self:center;margin-right:4px}
.act-filter button{font-family:inherit;font-size:13px;font-weight:600;color:var(--ink-2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 15px;cursor:pointer;transition:all .2s ease;line-height:1.4}
.act-filter button:hover{border-color:var(--blue);color:var(--blue)}
.act-filter button.active{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 3px 10px rgba(56,96,184,.26)}
.act-filter button .n{font-size:11.5px;font-weight:600;opacity:.72;margin-left:5px}
.act-tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.3px;color:#8a6d2f;background:linear-gradient(135deg,#FBF3DF,#F3E4BE);border:1px solid #E8D5A4;border-radius:4px;padding:1px 7px;margin-right:7px;vertical-align:1.5px;white-space:nowrap}
.act-tag.g-blue{color:#2f4f96;background:linear-gradient(135deg,#EDF2FC,#DDE7F8);border-color:#C3D3EE}
.act-tag.g-green{color:#2f6b4f;background:linear-gradient(135deg,#EAF5EF,#DAEEE3);border-color:#BFDECE}
li.act-hide,.list-item.act-hide,.year-h.act-hide{display:none}

/* 领导证件照（20260923e） */
.leader-av img{width:100%;height:100%;object-fit:cover;object-position:center 25%;border-radius:50%;display:block}
