@charset "utf-8";

:root{
  /* 字体（仅系统字体，无任何 Web 字体授权风险） */
  --font-sans: "Microsoft YaHei", sans-serif;
  --font-title:"Microsoft YaHei", sans-serif;
  --font-en:   "Microsoft YaHei", sans-serif;
}

/* ---------- 2. 重置 ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; min-width:1400px; background:#FFFFFF; color:#5A5E66;
  font-family:var(--font-sans);
  font-size:16px; line-height:1.75; font-weight:400;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,p,figure,ul,ol{margin:0;}
ul,ol{padding:0; list-style:none;}
img,svg{max-width:100%; display:block;}
a{color:inherit; text-decoration:none; transition:color .15s ease, background .2s ease;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
input,textarea,select{font-family:inherit;}
table{border-collapse:collapse; width:100%;}
::selection{background:#cb1b1a; color:#FFFFFF;}

::-webkit-scrollbar{width:9px;height:9px;}
::-webkit-scrollbar-thumb{background:#C9CCD1;border-radius:0;}
::-webkit-scrollbar-thumb:hover{background:#AEB2B8;}
::-webkit-scrollbar-track{background:#F1F2F4;}

/* ---------- 3. 栅格 ---------- */
.container{
  width:1400px; max-width:1400px; margin-inline:auto; padding-inline:20px;
}
.grid{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px;}
.grid > *{min-width:0;}
.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}
.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}
.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}
.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}

/* ---------- 4. 顶部工具栏 ---------- */
.topbar{
  background:#f7f6f3; color:#000000;
  font-size:14px; line-height:1;
}
.topbar .container{
  display:flex; align-items:center; justify-content:flex-end;
  gap:16px; height:38px;
}
.topbar a{color:#000000;}
.topbar a:hover{color:#cb1b1a;}
.topbar .sep{width:1px; height:12px; background:#D9DBDE; flex:none;}
.topbar .left{margin-right:auto; display:flex; align-items:center; gap:8px;}

/* ---------- 5. Logo 区 ---------- */
.masthead{background:#FFFFFF; border-bottom:1px solid #E8E9EB;}
.masthead .container{
  display:flex; align-items:center; gap:20px;
  padding:20px 0;
}
.brand{display:flex; align-items:center; gap:18px; min-width:0;}
.brand .logo-img{height: 80px;width:auto;flex:none;}
.brand svg.logo-img,.brand > svg{height:62px; width:auto; flex:none;}
.brand-text{min-width:0;}
.brand-text .cn{
  font-family:var(--font-title);
  font-size:26px; font-weight:700; color:#cb1b1a;
  letter-spacing:1px; line-height:1.3; white-space:nowrap;
}
.brand-text .en{
  font-family:var(--font-en);
  font-size:12px; color:#9AA0A8; letter-spacing:.4px;
  line-height:1.4; margin-top:3px; text-transform:uppercase;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.masthead-right{margin-left:auto;display:flex;align-items:center;gap: 94px;}

/* 院训条（深灰辅助色） */
.motto{
  display:flex; align-items:center; gap:10px;
  padding-left:24px; 
}
.motto .val-pic{display:block; height:96px; width:auto;}

/* 搜索框 */
.searchbox{display:flex; height:40px; width:280px;}
.searchbox input{
  flex:1; height:40px; border:1px solid #D9DBDE;
  border-right:none; border-radius:0;
  padding:0 12px; font-size:14px; color:#333333; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.searchbox input::placeholder{color:#C4C7CC;}
.searchbox input:focus{
  border-color:#cb1b1a;
  box-shadow:0 0 0 2px #cb1b1a1A;
}
.searchbox button{
  width:56px; height:40px; background:#cb1b1a; color:#FFFFFF;
  border-radius:0;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s ease;
}
.searchbox button:hover{background:#6E1417;}
.searchbox svg{width:18px; height:18px;}

/* ---------- 6. 主导航 ---------- */
.nav{
  position:sticky; top:0; z-index:1000;
  background:#cb1b1a; box-shadow:0 2px 8px #0000001F;
  
}
.nav .container{display:flex; align-items:stretch; height:60px;}
.nav-list{display:flex; align-items:stretch; margin:0; list-style:none; flex:1; width:100%;}
.nav-list > li{position:relative; display:flex; flex:1 1 0; min-width:0; justify-content:center;}
.nav-list > li > a{
  display:flex; align-items:center; justify-content:center; flex:1;
  padding:0 8px; text-align:center;
  font-size:17px; font-weight:500; color:#FFFFFF; white-space:nowrap;
  position:relative; transition:background .2s ease;
}

.nav-list > li:hover > a{background:#0000002E;}
.nav-list > li:hover > a::after,
.nav-list > li.active > a::after{width:56%;}
.nav-list > li.active > a{background:#bc2128; }

.nav-list .sub{
  position:absolute; top:100%; left:0; min-width:176px;
  background:#FFFFFF; border-radius:0;
  box-shadow:0 4px 18px #14161A1A; padding:6px 0;
 
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
}
.nav-list > li:hover .sub{opacity:1; visibility:visible; transform:translateY(0);}
.nav-list > li:last-child .sub{left:auto; right:0;}
.nav-list .sub a{
  display:block; padding:9px 18px; font-size:14px; color:#333333;
  border-left:3px solid transparent; transition:all .18s ease;
}
.nav-list .sub a:hover{
  color:#cb1b1a; background:#F6ECEC;
  border-left-color:#cb1b1a;
}

/* ---------- 7. Banner（纯大图轮播，支持手动拖拽滑动） ---------- */
.banner{
  position:relative; height:480px; overflow:hidden; background:#4E0F11;
  touch-action:pan-y; cursor:grab; -webkit-user-select:none; user-select:none;
}
.banner.dragging{cursor:grabbing;}
.banner-track{
  display:flex; height:100%; width:100%;
  transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform;
}
.banner-track.dragging{transition:none;}
.banner-slide{
  flex:0 0 100%; width:100%; height:100%; position:relative; overflow:hidden;
}
.banner-pic{
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:center center;
  -webkit-user-drag:none; user-select:none;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:46px; padding:0 28px; border-radius:0;
  font-size:16px; font-weight:500; transition:all .2s ease;
}
.btn-solid{background:#cb1b1a; color:#FFFFFF;}
.btn-solid:hover{background:#6E1417;}

.banner-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:44px; height:44px; border-radius:0;
  background:#FFFFFF29; color:#FFFFFF;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:.3s ease;
}
.banner:hover .banner-arrow{opacity:1;}
.banner-arrow:hover{background:#FFFFFFE0; color:#6E1417;}
.banner-arrow svg{width:22px; height:22px;}
.banner-arrow.prev{left:26px;}
.banner-arrow.next{right:26px;}
.banner-dots{
  position:absolute; left:0; right:0; bottom:24px; z-index:5;
  display:flex; justify-content:center; gap:10px;
}
.banner-dots i{
  width:9px; height:9px; border-radius:0;
  background:#FFFFFF6B; cursor:pointer; transition:.3s ease;
}
.banner-dots i.on{width:26px; border-radius:0; background:#FFFFFF;}

/* ---------- 8. 分区 / 标题 ---------- */
.section{padding:54px 0;}
.section.alt{background:#FEF6F4 url(../img/notice_bg.jpg) no-repeat bottom center; background-size:100% auto;    position: relative;}
.section.red{
  background:linear-gradient(115deg,#6E1417,#cb1b1a);
  color:#FFFFFF;
}

/* ---------- 9. 面板 / 列表 ---------- */
.list li{border-bottom:1px dashed #E8E9EB;}
.list li:last-child{border-bottom:none;}
.list a{
  display:flex; align-items:center; gap:16px;
  padding:11px 0; transition:padding-left .2s ease;
}
.list a:hover{padding-left:6px;}
.list .txt{
  flex:1; min-width:0; font-size:16px; color:#333333; line-height:1.6;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.list a:hover .txt{color:#cb1b1a;}
.list .date{
  font-family:var(--font-en); font-size:13px; color:#9AA0A8;
  width:92px; text-align:right; flex:none;
}
/* 标签：全站统一一套 class（.tag 基类 + 修饰符） */
.tag{
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  font-size:12px; line-height:1.5; padding:1px 8px; border-radius:0;
  background:#F6ECEC; color:#cb1b1a;
}
.tag.gray{background:#F3F4F6; color:#565B63;}
.tag.red{background:#cb1b1a; color:#FFFFFF;}

/* ---------- 10. 卡片 ---------- */
.card{
  background:#FFFFFF; border:1px solid #E8E9EB; border-radius:0;
  overflow:hidden; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  display:flex; flex-direction:column;
}
.card:hover{transform:translateY(-3px); box-shadow:0 4px 18px #14161A1A; border-color:#E3C7C8;}
.card .thumb{
  position:relative; height:186px; overflow:hidden; flex:none;
  display:flex; align-items:center; justify-content:center;
}
.card .thumb svg{position:absolute; inset:0; width:100%; height:100%;}
.card .thumb .ph{
  position:absolute; inset:0; z-index:1;
}
.card .thumb .tag{position:absolute; z-index:3; top:12px; left:12px; padding:3px 10px;}
.card .cbody{padding:18px 20px 20px; flex:1; display:flex; flex-direction:column;}
.card .cbody h4{
  font-family:var(--font-title);
  font-size:17px; font-weight:600; color:#333333; line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.card:hover .cbody h4{color:#cb1b1a;}
.card .cbody p{
  font-size:14px; color:#5A5E66; line-height:1.8; margin-top:9px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.card .cfoot{
  margin-top:auto; padding-top:14px; font-size:12px; color:#9AA0A8;
  display:flex; align-items:center; justify-content:space-between;
}
.card .cfoot svg{width:14px; height:14px; flex:none;}

/* 图片占位底纹（自绘渐变，零版权风险） */
.ph-1{background:linear-gradient(135deg,#cb1b1a,#4E0F11);}
.ph-2{background:linear-gradient(135deg,#A63A32,#6E1417);}
.ph-3{background:linear-gradient(135deg,#3D4148,#23262B);}
.ph-4{background:linear-gradient(135deg,#6E1417,#cb1b1a);}
.ph-5{background:linear-gradient(135deg,#565B63,#2B2E33);}
.ph-6{background:linear-gradient(135deg,#4E0F11,#3D4148);}
.ph-7{background:linear-gradient(135deg,#cb1b1a,#565B63);}

/* ---------- 12. 数据条 ---------- */
.stats{
  display:grid; grid-template-columns:repeat(5,1fr);
  background:#2B2E33; border-radius:0; overflow:hidden;
}
.stats .it{
  padding:28px 16px; text-align:center; color:#FFFFFF;
  border-right:1px solid #FFFFFF24;
}
.stats .it:last-child{border-right:none;}
.stats .n{
  font-family:var(--font-en); font-size:36px; font-weight:700;
  line-height:1.1; color:#FFFFFF;
}
.stats .n small{font-size:16px; margin-left:2px; color:#FFFFFFB2;}
.stats .l{font-size:14px; color:#FFFFFFB8; margin-top:8px; letter-spacing:1px;}
.rz-card{
  background:#FFFFFF12; border:1px solid #FFFFFF38;
  border-radius:0; padding:26px 26px; color:#FFFFFF;
  transition:all .3s ease; height:100%;
}
.rz-card:hover{
  background:#FFFFFF24; transform:translateY(-4px);
  border-color:#FFFFFF80;
}
.rz-card .num{
  font-family:var(--font-en); font-size:14px; letter-spacing:2px;
  color:#FFFFFFA6; margin-bottom:12px;
}
.rz-card h4{
  font-family:var(--font-title); font-size:19px; font-weight:700;
  margin-bottom:12px; letter-spacing:1px;
}
.rz-card p{font-size:14px; line-height:1.9; color:#FFFFFFD1;}

/* ---------- 15. 师资卡片 ---------- */
.faculty{
  background:#FFFFFF; border:1px solid #E8E9EB; border-radius:0;
  overflow:hidden; text-align:center; transition:all .3s ease;
}
.faculty:hover{transform:translateY(-3px); box-shadow:0 4px 18px #14161A1A;}
.faculty .avatar{
  display:block; width:100%; height:314px; object-fit:cover;
  position:relative; overflow:hidden;
}
.faculty .fi{padding:15px 14px 18px;}
.faculty .fi .nm{
  font-family:var(--font-title);
  font-size:17px; font-weight:600; color:#333333;
}
.faculty .fi .tt{font-size:13px; color:#9AA0A8; margin-top:5px;}
.faculty .fi .ds{
  font-size:13px; color:#5A5E66; margin-top:10px; line-height:1.7;
  padding-top:10px; border-top:1px dashed #E8E9EB;
}

/* ---------- 16. 内页通用 ---------- */
.crumb{background:#F3F4F6; border-bottom:1px solid #E8E9EB;}
.crumb .container{
  display:flex; align-items:center; gap:8px; padding-top:12px; padding-bottom:12px;
  font-size:13px; color:#565B63;
}
.crumb a:hover{color:#cb1b1a;}
.crumb .cur{color:#cb1b1a; font-weight:500;}
.crumb svg{width:13px; height:13px; opacity:.5;}

.page-head{
  color:#FFFFFF; height: 450px;position:relative; 
}
.page-head .ph-img{
 width:100%; height:100%;
    object-fit: cover;
    object-position: center;

}
.page-head .container{     margin-top: -80px;z-index:2;}
.page-head h1{
  font-family:var(--font-title); font-size:34px; font-weight:700;
  letter-spacing:3px; margin-bottom:10px; text-shadow:0 2px 10px rgba(0,0,0,.55);
}
.page-head .en{
  font-family:var(--font-en); font-size:14px;
  letter-spacing:2px; color:#FFFFFFA6; text-transform:uppercase; text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.page-head .lead{
  font-size:15px; color:#FFFFFFD9; margin-top:14px; max-width:820px; line-height:1.9; text-shadow:0 1px 6px rgba(0,0,0,.5);
}

.page-body{padding:44px 0 64px;}
.side-nav{
  background:#FFFFFF; border:1px solid #E8E9EB; border-radius:0;
  overflow:hidden; position:sticky; top:84px;
}
.side-nav h4{
  background:#cb1b1a; color:#FFFFFF; font-size:17px; font-weight:600;
  padding:15px 22px; letter-spacing:1px; margin:0;
}
.side-nav .sn-tree{ padding:0; }
.side-nav .sn-node{ }
.side-nav .sn-link{
  display:flex; align-items:center; justify-content:space-between;
  padding:11px 22px; font-size:15px; color:#333333;
  border-left:3px solid transparent; transition:all .18s ease;
  text-decoration:none; cursor:pointer;
}
.side-nav .sn-link:hover{ color:#cb1b1a; background:#F6ECEC; }
.side-nav .sn-top{
font-weight: 600;
    color: #2B2E33;
    background: #fffcfc;
    border-bottom: 1px solid #ffefef;
}
.side-nav .sn-top:hover{ background:#F6ECEC; }
.side-nav .sn-lv2{  }
.side-nav .sn-lv3{ padding-left:50px; font-size:13px; color:#666; }
.side-nav .sn-node>.sn-link.on{
  color:#cb1b1a; font-weight:600; background:#F6ECEC; border-left-color:#cb1b1a;
}
.side-nav .sn-panel .sn-link.on{color: #cb1b1a;}

.side-nav .sn-panel .sn-link{padding: 11px 22px 11px 50px;}
.side-nav .sn-caret{
  flex:0 0 auto; font-size:12px; line-height:1; color:#999;
  transition:transform .2s ease; margin-left:8px;
}
.side-nav .sn-caret::before{ content:"\25B8"; }
.side-nav .sn-node.open > .sn-link .sn-caret::before{ content:"\25BE"; }
.side-nav .sn-panel{ display:none; }
.side-nav .sn-node.open > .sn-panel{ display:block; }

.content{min-width:0;}
.article{
  background:#FFFFFF; border:1px solid #E8E9EB; border-radius:0;
  padding:32px 36px;
min-height: 500px;
}
.article h2{
  font-family:var(--font-title); font-size:24px; font-weight:700;
  color:#333333; padding-left:14px; border-left:4px solid #cb1b1a;
  margin-bottom:20px; letter-spacing:1px;
}
.article h3{
  font-family:var(--font-title);
  font-size:16px; font-weight:600; color:#333333; margin:26px 0 12px;
}
.article p{font-size:16px; line-height:2.0!important; color:#5A5E66; margin-bottom:16px; text-align:justify;}
.article p b,.article p strong{color:#333333;}
.article .lead-p{
  font-size:16px; color:#333333; background:#F3F4F6;
  border-left:3px solid #cb1b1a; padding:16px 20px; border-radius:0;
  margin-bottom:24px; line-height:1.95;
}

.info-table{width:100%; font-size:15px;}
.info-table tr{border-bottom:1px solid #E8E9EB;}
.info-table tr:last-child{border-bottom:none;}
.info-table th{
  width:140px; text-align:left; padding:13px 16px; color:#333333; font-weight:600;
  background:#F3F4F6; vertical-align:top;
}
.info-table td{padding:13px 16px; color:#5A5E66; line-height:1.85;}

.timeline{position:relative; padding-left:34px;}
.timeline::before{
  content:""; position:absolute; left:8px; top:6px; bottom:6px;
  width:2px; background:#D9DBDE;
}
.timeline .tl{position:relative; padding-bottom:26px;}
.timeline .tl:last-child{padding-bottom:0;}
.timeline .tl::before{
  content:""; position:absolute; left:-30px; top:6px;
  width:12px; height:12px; border-radius:0;
  background:#FFFFFF; border:3px solid #cb1b1a;
}
.timeline .tl .y{
  font-family:var(--font-en); font-size:14px; font-weight:700; color:#cb1b1a;
  margin-bottom:4px;
}
.timeline .tl .t{font-size:16px; font-weight:600; color:#333333; margin-bottom:5px;}
.timeline .tl .d{font-size:14px; color:#5A5E66; line-height:1.85;}

.platform{
  background:#FFFFFF; border:1px solid #E8E9EB; border-radius:0;
  padding:24px 26px; transition:all .3s ease; height:100%;
  border-top:3px solid #3D4148;
}
.platform:hover{box-shadow:0 4px 18px #14161A1A; transform:translateY(-3px);}
.platform .lv{
  display:inline-block; font-size:12px; padding:2px 9px; border-radius:0;
  background:#F6ECEC; color:#cb1b1a; margin-bottom:12px;
}
.platform h4{font-family:var(--font-title); font-size:16px; font-weight:600; color:#333333; margin-bottom:10px; line-height:1.6;}
.platform p{font-size:14px; color:#5A5E66; line-height:1.85;}

/* ---------- 17. 留言咨询 / 联系 ---------- */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.form-item{display:flex; flex-direction:column; gap:7px;}
.form-item.full{grid-column:span 2;}
.form-item label{font-size:14px; color:#333333; font-weight:600;}
.form-item label .req{color:#D64545; margin-left:3px;}
.form-item input,.form-item textarea,.form-item select{
  height:42px; border:1px solid #D9DBDE; border-radius:0;
  padding:0 12px; font-size:14px; color:#333333; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease; background:#FFFFFF;
}
.form-item textarea{height:120px; padding:10px 12px; resize:vertical; line-height:1.7;}
.form-item input:focus,.form-item textarea:focus,.form-item select:focus{
  border-color:#cb1b1a; box-shadow:0 0 0 2px #cb1b1a1A;
}
.form-item input::placeholder,.form-item textarea::placeholder{color:#C4C7CC;}
.form-tip{font-size:12px; color:#9AA0A8; line-height:1.7;}
.form-actions{grid-column:span 2; display:flex; gap:12px; align-items:center;}


/* ---------- 20. 页脚（浅米底 + 深红条，参考党校官网配色） ---------- */
.footer{background:#F7F6F3; color:#4E5157; border-top:1px solid #E8E6E1; padding:50px 0 0;}
.footer a{color:#4E5157;}
.footer a:hover{color:#cb1b1a;}
.footer .fgrid{
  display:grid; grid-template-columns:1.1fr 1.7fr 1.2fr; gap:32px;
  padding-bottom:36px;
}
.footer .flinks{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px;
}
.footer .flinks a{
  display:block; font-size:14px; color:#4E5157; padding:7px 12px;
  background:#FFFFFF; border:1px solid #E8E6E1; text-align:center;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  transition:all .22s ease;
}
.footer .flinks a:hover{color:#FFFFFF; background:#cb1b1a; border-color:#cb1b1a;}
.footer .col h5{
  font-size:16px; font-weight:700; color:#2B2E33; margin-bottom:18px;
  padding-bottom:12px; position:relative;
}
.footer .col h5::after{
  content:""; position:absolute; left:0; bottom:0; width:28px; height:2px;
  background:#cb1b1a;
}
.footer .col p{font-size:14px; line-height:1.95; margin-bottom:12px;}
.footer .col ul li{margin-bottom:9px;}
.footer .col ul li a{font-size:14px;}
.footer .contact li{
  display:flex; gap:10px; font-size:14px; line-height:1.8; margin-bottom:13px;
}
.footer .contact svg{width:16px; height:16px; flex:none; margin-top:4px; color:#cb1b1a;}
.footer .fbrand{display:flex; flex-direction:column; align-items:center; gap:10px;}
.footer .fbrand img{height:184px; width:auto;}
.footer .fbrand b{
  font-family:var(--font-title); font-size:16px; color:#cb1b1a; font-weight:700;
  letter-spacing:2px;
}

.footer-bar{
  background:#cb1b1a; color:#F5E3E4; padding:14px 0;
  font-size:12px;
}
.footer-bar a{color:#F5E3E4;}
.footer-bar a:hover{color:#FFFFFF;}
.footer-bar .container{
  display:flex; gap:8px 20px; align-items:center;
  justify-content:space-between;
}
.footer-bar .r{display:flex; gap:8px 16px; align-items:center;}

/* ---------- 21. 浮动按钮 ---------- */
.float-btns{
  position:fixed; right:26px; bottom:34px; z-index:900;
  display:flex; flex-direction:column; gap:12px;
}
.fbtn{
  width:48px; height:48px; border-radius:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  box-shadow:0 4px 18px #14161A1A; transition:.3s ease;
}
.fbtn svg{width:20px; height:20px;}
.fbtn .fb-t{font-size:10px; line-height:1; letter-spacing:.5px;}
.fbtn-top{
  background:#FFFFFF; color:#3D4148; border:1px solid #D9DBDE;
  display:none; cursor:pointer;
}
.fbtn-top.show{display:flex;}
.fbtn-top:hover{color:#cb1b1a; border-color:#cb1b1a;}

/* ---------- 22. 动画 ---------- */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:none;}

/* ---------- 22.8 参考稿改版组件（新闻聚焦 / 三合一板块 / 图文列表） ---------- */
/* —— 新闻板块：左轮播（图3结构：大图 + 底部日期方块 + 图下标题摘要） —— */
.news-row{align-items:stretch;}
.news-row > *{display:flex; min-width:0;}
.news-row .focuswrap,.news-row .focus-side{flex:1 1 auto; min-width:0;}

.focuswrap{position:relative; background:#FFFFFF; border:1px solid #E8E9EB; border-radius:0; overflow:hidden; box-shadow:0 2px 10px #14161A0D; display:flex; flex-direction:column;}
.focuswrap .ns-viewer{position:relative; flex:1 1 auto; height:540px; overflow:hidden; background:#2B2E33; touch-action:pan-y; cursor:grab; -webkit-user-select:none; user-select:none;}
.focuswrap .ns-viewer.dragging{cursor:grabbing;}
.focuswrap .ns-track{display:flex; height:100%; width:100%; transition:transform .55s cubic-bezier(.22,.61,.36,1); will-change:transform;}
.focuswrap .ns-track.dragging{transition:none;}
.focuswrap .ns-item{flex:0 0 100%; width:100%; height:100%; position:relative; overflow:hidden; display:block;}
.focuswrap .ns-photo{width:100%; height:100%; object-fit:cover; display:block; -webkit-user-drag:none; user-select:none;}
/* 日期方块条：当前项白底放大，其余暗红半透明（参考图3） */
.datebar{position:absolute; left:0; bottom:0; z-index:5; display:flex; align-items:flex-end;}
.db-it{
  width:84px; padding:10px 0 9px; text-align:center; border:none; cursor:pointer;
  background:#cb1b1aCC; color:#FFFFFF; font-family:inherit;
  transition:background .25s ease, color .25s ease, transform .25s ease;
}
.db-it + .db-it{border-left:1px solid #FFFFFF26;}
.db-it .d{display:block; font-family:var(--font-title); font-size:24px; font-weight:700; line-height:1.15;}
.db-it .m{display:block; font-size:11px; opacity:.85; margin-top:2px;}
.db-it:hover{background:#cb1b1aE6;}
.db-it.on{background:#FFFFFF; color:#cb1b1a; transform:translateY(-4px); box-shadow:0 -4px 12px #14161A26;}
/* 图下标题摘要区 */
.focus-cap{flex:none; display:block; padding:18px 22px 20px; border-top:3px solid #cb1b1a;}
.focus-cap:hover .fc-title{color:#8E1D22;}
.focus-cap .fc-title{font-family:var(--font-title); font-size:20px; font-weight:700; color:#cb1b1a; line-height:1.5; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical;}
.focus-cap .fc-sum{margin-top:8px; font-size:14px; color:#5A5E66; line-height:1.8; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
/* 轮播箭头（与 banner 一致，绝对定位悬浮于大图两侧） */
.ns-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:44px; height:44px; border-radius:0;
  background:#FFFFFF29; color:#FFFFFF;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:.3s ease; border:none; cursor:pointer;
}
.focuswrap:hover .ns-arrow{opacity:1;}
.ns-arrow:hover{background:#FFFFFFE0; color:#6E1417;}
.ns-arrow svg{width:22px; height:22px;}
.ns-arrow.prev{left:18px;}
.ns-arrow.next{right:18px;}

/* —— 新闻板块：右侧聚焦列表（图2数字日期 + 图3红色渐变头） —— */
.focus-side{background:#FFFFFF;/* border:1px solid #E8E9EB; */border-radius:0;overflow:hidden;/* box-shadow:0 2px 10px #14161A0D; */display:flex;flex-direction:column;}
.fs-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  padding:0 18px; border-bottom:1px solid #E8E9EB;
}
.fs-head h3{
  font-family:var(--font-title); font-size:20px; font-weight:700; color:#b80e15; letter-spacing:1px;
  padding-bottom:10px; border-bottom:1px solid #c96f73; margin-bottom:-1px;
}
.fs-head .more{font-size:14px; color:#9AA0A8; padding-bottom:10px; white-space:nowrap; flex:none;}
.fs-head .more:hover{color:#8E1D22;}
.nplist{flex:1; padding:4px 18px;}
.nplist a{
  display:flex; align-items:center; gap:14px; padding:14px 0;
  border-bottom:1px solid #EEEEF0; text-decoration:none;
}
.nplist li:last-child a{border-bottom:none;}
.nplist .nl-date{flex:none; width:58px; text-align:center; border-right:1px solid #E8E9EB; padding-right:12px;}
.nplist .nl-date b{display:block; font-family:var(--font-title); font-size:24px; font-weight:700; color:#cb1b1a; line-height:1.15;}
.nplist .nl-date i{display:block; font-style:normal; font-size:14px; color:#9AA0A8; margin-top:2px; font-family:var(--font-en);}
.nplist .nl-title{
  flex:1; min-width:0; font-size:16px; color:#333333; line-height:1.6;
  overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  transition:color .2s ease;
}
.nplist a:hover .nl-title{color:#cb1b1a;}

/* —— 三合一板块（通知公告 | 党建风采 | 人才培养 并排一行） —— */
.tri-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px;}

.tri-grid > *{min-width:0;}
.pbox{/* background:#FFFFFF; *//* border:1px solid #E8E9EB; */border-radius:0;overflow:hidden;/* box-shadow:0 2px 10px #14161A0D; */display:flex;flex-direction:column;}

/* —— 双板块并排一行（学科科研 | 学生工作，1:2） —— */
.duo-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:24px;}
.duo-grid > *{min-width:0;}
.duo-col{display:flex; flex-direction:column; gap:20px;}
.duo-col .pbox{flex:1 1 auto;}
.duo-col .pb-body{padding:6px 20px 14px;}
.duo-col .plist-media li{padding:13px 0;}

/* —— 学生工作卡片列表（一行4个，图上文下） —— */
.pb-card-body{padding:0;}
.sgrid{display:grid;grid-template-columns: repeat(3,minmax(0,1fr));gap:16px;padding:14px 0px 16px;}
.sgrid a{
  display:block; text-decoration:none; background:#FFFFFF;
  border:1px solid #E8E9EB; transition:all .22s ease;
}
.sgrid a:hover{border-color:#cb1b1a; box-shadow:0 4px 14px #14161A1F;}
.sgrid .sg-pic{display:block;/* position:relative; *//* width:100%; *//* height:132px; *//* overflow:hidden; *//* background:#3D4148; */}
.sgrid .sg-pic img{/* position:absolute; *//* inset:0; *//* width:100%; *//* height:100%; *//* object-fit:cover; *//* display:block; */height: 200px;}
.sgrid .sg-date{
  display:block;
  padding:12px 12px 0;
  font-size:13px;
  color:#9AA0A8;
  font-family:var(--font-en);
}
.sgrid .sg-title{
  display:block;
  margin:6px 12px 14px;
  max-height:52px;
  overflow:hidden;
  font-size: 16px;
  line-height:1.6;
  color:#333333;
}
@supports (-webkit-line-clamp:2){
  .sgrid .sg-title{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    max-height:none;
  }
}
.sgrid a:hover .sg-title{color:#cb1b1a;}
.pb-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  padding:0 18px; border-bottom:1px solid #E8E9EB;
}
.pb-head h3{
  font-family:var(--font-title);
  font-size:20px;
  font-weight:700;
  color: #b80e15;
  letter-spacing:1px;
  padding-bottom:10px;
  border-bottom: 1px solid #c96f73;
  margin-bottom:-1px;
}
.pb-more{font-size:14px; color:#9AA0A8; padding-bottom:10px; flex:none;}
.pb-more:hover{color:#8E1D22;}
.pb-body{flex:1; padding:6px 18px 12px;}

/* 图1样式：大数字日期列表（通知公告） */
.plist-num a{display:flex; align-items:center; gap:16px; padding:14px 0; text-decoration:none;}
.plist-num li{ border-bottom:1px dashed #D9DBDE;}
.plist-num li:last-child {border-bottom:none;}
.plist-num .pd{flex:none; width:52px; text-align:center;}
.plist-num .pd b{display:block; font-family:var(--font-title); font-size:24px; font-weight:700; color:#cb1b1a; line-height:1.1;}
.plist-num .pd i{display:block;font-style:normal;font-size: 14px;color:#9AA0A8;margin-top:3px;font-family:var(--font-en);}
.plist-num .pt{
  flex:1;
  min-width:0;
  font-size:16px;
  color:#333333;
  line-height:1.65;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  transition:color .2s ease;
}
.plist-num a:hover .pt{color:#cb1b1a;}

/* 图5样式：日期 + 胶囊标签 + 标题（党建风采） */
.plist-cap a{display:block; padding:11px 0 12px; border-bottom:1px dashed #D9DBDE; text-decoration:none;}
.plist-cap li:last-child a{border-bottom:none;}
.plist-cap .cp-meta{display:flex;align-items:center;gap:10px;font-size: 14px;color:#9AA0A8;font-family:var(--font-en);}
.plist-cap .cp-title{
  display:block;
  margin-top:7px;
  font-size:16px;
  color:#333333;
  line-height:1.65;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  transition:color .2s ease;
}
.plist-cap a:hover .cp-title{color:#cb1b1a;}

/* 图4/图6样式：左图 + 标题 + 摘要（人才培养 / 学科科研 / 学生工作） */
.plist-media a{display:flex; gap:14px; padding:12px 0;  text-decoration:none;}
.plist-media li{    border-bottom: 1px dashed #D9DBDE;}
.plist-media li:last-child {border-bottom:none;}
.plist-media .md-thumb{flex:none; width:180px; height:114px; border-radius:0; overflow:hidden; position:relative; background:#3D4148;}
.plist-media .md-thumb .ph{position:absolute; inset:0; display:block;}
.plist-media .md-thumb svg{position:absolute; inset:0; width:100%; height:100%; display:block;}
.plist-media .md-thumb img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease;}
.plist-media a:hover .md-thumb img{transform:scale(1.06);}
.plist-media .md-r{flex:1; min-width:0;}
.plist-media .md-title{
  font-size:16px;

  color:#333333;
  line-height:1.55;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  transition:color .2s ease;
}
.plist-media a:hover .md-title{color:#cb1b1a;}
.plist-media .md-sum{
  margin-top:6px; font-size:14px; color:#8A8F98; line-height:1.7;
  overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}

/* ---------- 18. 书记院长信箱 / 资料下载 ---------- */
.mail-meta{
  display:grid; gap:10px; margin-top:16px;
  padding:18px 20px; background:#FEF6F4; border-left:3px solid #cb1b1a;
}
.mail-meta li{display:flex; gap:12px; font-size:14px; color:#5A5E66; line-height:1.85;}
.mail-meta .lv{flex:none; width:80px; color:#cb1b1a; font-weight:600;}
.mail-meta a{color:#cb1b1a;}
.mail-meta a:hover{text-decoration:underline;}
.mail-note{margin-top:14px;}
.mail-note li{position:relative; padding-left:20px; margin-bottom:9px; font-size:15px; color:#5A5E66; line-height:1.95;}
.mail-note li::before{content:""; position:absolute; left:3px; top:13px; width:6px; height:6px; background:#cb1b1a;}
/* 锚点定位时避开吸顶导航 */
.article[id]{scroll-margin-top:84px;}

/* ---------- 末. 打印样式（唯一的媒体查询，非响应式） ---------- */
@media print{
  .nav,.banner-arrow,.banner-dots,.float-btns,.topbar,.searchbox{display:none!important;}
}


/*******组织机构************/

.nsec { margin-bottom: 34px; }
.nsec:last-child { margin-bottom: 0; }
.nsec-h {
  display: flex;
  align-items: center;
  font-size: 17px;
  font-weight: 700;
  color: #cb1b1a;
  background: #f7f6f3;
  border-left: 5px solid #cb1b1a;
  padding: 9px 16px;
  margin: 0 0 14px;
  line-height: 1.4;
}
.nsec-h .more {
  margin-left: auto;
  font-size: 13px;
  font-weight: 400;
  color: #A8A284;
  text-decoration: none;
  transition: color .18s ease;
}
.nsec-h .more:hover { color: #cb1b1a; }

.nlist { list-style: none; margin: 0; padding: 0; }
.nlist li:nth-child(even) {background: #faf8f3;}
.nlist a {
  display: block;
  align-items: center;
  /* justify-content: space-between; */
  padding: 13px 18px;
  text-decoration: none;
  transition: background-color .18s ease;
}

.nlist a p {
    margin-bottom: 5px;
}


.ntxt {
  font-size: 16px;
  color: #3D4148;
  line-height: 1.6;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
}
.nlist a:hover .ntxt { color: #cb1b1a; }
.ndate {
  font-size: 15px;
  color: #6B6F76;
  font-variant-numeric: tabular-nums;
  letter-spacing: .3px;
  margin-left: 40px;
}
.w200{width:200px}
.nlist-empty {
  padding: 28px 18px;
  color: #9AA0A6;
  font-size: 15px;
  text-align: center;
}