/* ==========================================================================
   新闻中心页专属样式
   设计稿基准：PSD 2560 画布 / 1.3333 倍图 → 本文件 px = @1920 尺寸
   ========================================================================== */

/* ---------- 滚动渐入（与 organization.css 同一套逻辑） ---------- */
.fade-in{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.fade-in.visible{ opacity:1; transform:none; }

/* ---------- 页面横幅（蓝色地球底图 + 白色大标题 + 左侧延伸白线） ---------- */
.nc-hero{
  position:relative;
  aspect-ratio:2560 / 502;
  overflow:hidden;
  background:#0375dd;
}
.nc-hero::before{
  content:"";
  position:absolute; inset:0;
  background:url("../images/nc_hero.jpg") center / cover no-repeat;
}
.nc-hero__inner{
  position:absolute; left:0; right:0; bottom:0;
  height:100%;
  display:flex;
  align-items:flex-end;
}
.nc-hero__title{
  position:relative;
  color:#fff;
  font-size:clamp(38px, 3.6458vw, 70px);
  line-height:1.05;
  font-weight:800;
  letter-spacing:.02em;
  padding-bottom:clamp(40px, 3.4896vw, 67px);
}
/* 左侧延伸至视口边缘的白线 */
.nc-hero__title::before{
  content:"";
  position:absolute;
  right:calc(100% + 20px);
  bottom:clamp(44px, 3.9063vw, 75px);
  width:50vw;
  height:clamp(3px, .2604vw, 5px);
  background:#fff;
}

/* ---------- 区块标题（蓝色大/小号 + 底部对齐短线） ---------- */
.nc-sect{
  display:flex;
  align-items:baseline;
  color:#2046a0;
  font-weight:600;
  line-height:1;
  letter-spacing:.02em;
}
.nc-sect--lg{ font-size:clamp(24px, 1.8229vw, 35px); }
.nc-sect--sm{ font-size:clamp(19px, 1.3021vw, 25px); }
.nc-sect::after{
  content:"";
  align-self:flex-end;
  width:32px;
  height:5px;
  margin-left:14px;
  background:#2046a0;
}
.nc-sect--light{ color:#fff; }
.nc-sect--light::after{ background:#fff; }
/* ---------- 区块标题行：标题 + 右侧 MORE ---------- */
.nc-sec-head{
  display:flex;
  align-items:baseline;      /* 标题与 MORE 按文字基线对齐 */
  justify-content:space-between;
  gap:12px 24px;
}
.nc-sec-head .nc-sect{ min-width:0; }
.nc-sec-head .more{
  cursor: pointer;
  position:static;
  right:auto;
  bottom:auto;
  flex:0 0 auto;
  line-height:1;
  white-space:nowrap;
  padding:6px 0;        /* 扩大点击热区 */
  margin-bottom:-6px;   /* 抵消 padding，文字底部与标题底部对齐 */
}
/* ---------- 上半区：白底（最新公告 + 媒体报道） ---------- */
.nc-top{
  background:#fff;
  padding:clamp(48px, 4.1667vw, 80px) 0 clamp(52px, 4.5833vw, 88px);
}
.nc-top__grid{
  display:grid;
  grid-template-columns:minmax(0, 754fr) minmax(0, 535fr);  /* minmax(0,…)：长标题不会撑爆栅格列 */
  gap:40px;
  align-items:start;
}
/* 栅格子项默认 min-width:auto，会被内容的最小宽度顶宽，这里统一放开 */
.nc-top__grid > *{ min-width:0; }
/* 左列标题与右列标题基线对齐 */
.nc-announce .nc-sect--lg,
.nc-media .nc-sect--sm{
  line-height:1;
}

/* 最新公告 */
.nc-announce__link{ display:block; }
.nc-announce__photo{
  width:100%;
  aspect-ratio:1000 / 563;
  object-fit:cover;
  margin-top:26px;
}
.nc-announce__headline{
  margin-top:30px;
  color:#fb7711;
  font-size:clamp(15px, .9375vw, 18px);
  line-height:1.3;
  font-weight:600;
  transition:color .18s;
}
.nc-announce__link:hover .nc-announce__headline{ color:#d96408; }
/* ---------- 时间：时钟图标 + 日期（替代原摘要文字） ---------- */
.nc-date{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:12px;
  color:#9a9a9a;
  font-size:13px;
  line-height:1.2;
  letter-spacing:.02em;
}
.nc-date__icon{
  width:14px;
  height:14px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* 最新公告（大图块）下方的时间，比列表略大一号 */
.nc-date--lg{
  margin-top:16px;
  gap:7px;
  font-size:clamp(13px, .8333vw, 16px);
}
.nc-date--lg .nc-date__icon{
  width:clamp(14px, .9375vw, 18px);
  height:clamp(14px, .9375vw, 18px);
}

/* 新闻列表通用条目（媒体报道 / 活动动态共用） */
.nc-list{ margin-top:32px; }
.nc-item{
  display:flex;
  align-items:center;
  min-width:0;                   /* 允许条目在窄列里收缩 */
  border-top:1px solid #eee;
  padding:24px 0 26px;
  transition:background-color .18s;
}
.nc-item:last-child{
  border-bottom:1px solid #eee;
}
/* li 内部的可点击链接（ul/li 版本使用）：撑满整行，文字列可收缩 */
.nc-item__link{
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
}
.nc-item__txt{ flex:1 1 0; min-width:0; overflow:hidden; }
.nc-item__title{
  width:100%;                    /* 宽度固定为该文本列宽（随栅格自适应） */
  max-width:100%;
  height:2.8em;                  /* 固定高度 = line-height(1.4) × 2 行 */
  color:#fb7711;
  font-size:15px;
  line-height:1.4;
  font-weight:600;
  display:-webkit-box;
  -webkit-line-clamp:2;          /* 最多显示 2 行 */
  -webkit-box-orient:vertical;
  overflow:hidden;               /* 超过第 2 行末尾显示“…” */
  word-break:break-word;
  transition:color .18s;
}
.nc-item:hover .nc-item__title{ color:#d96408; }
.nc-item__thumb{
  width:120px;
  height:68px;
  object-fit:cover;
  flex-shrink:0;
  margin-left:40px;
}

/* ---------- 活动动态：蓝色氛围背景 + 白色圆角看板 ---------- */
.nc-activity{
  background:#213c82 url("../images/nc_bluebg.jpg") center / cover no-repeat;
  padding:clamp(56px, 4.6875vw, 90px) 0 clamp(52px, 4.5833vw, 88px);
}
.nc-board{
  margin-top:45px;
  background:#fff;
  border-radius:14px;
  padding:22px 58px 24px;
}
/* 活动动态列表：单个 <ul>，用两列网格按【从左到右、逐行】排列，
   即第 1 条在左、第 2 条在右、第 3 条又回到左……新增 <li> 后自动接在末尾并重新排序。
   minmax(0,1fr) 防止长标题把列撑宽。 */
.nc-board__list{
  margin:0;
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  column-gap:138px;          /* 与设计稿一致的栏间距 */
  align-items:stretch;       /* 同一行的两条保持等高，分隔线对齐 */
}
.nc-board__list .nc-item{ min-width:0; }
/* 网格版无法预知“最后一行”，统一只保上分隔线，避免左右两栏一有一无 */
.nc-board__list .nc-item:last-child{ border-bottom:0; }

/* ---------- 响应式（≤900px 转单列） ---------- */
@media (max-width:900px){
  .nc-hero{ aspect-ratio:auto; min-height:150px; }
  .nc-hero__title{ padding:34px 0 30px; }
  .nc-hero__title::before{ display:none; }

  .nc-top__grid{ grid-template-columns:minmax(0, 1fr); gap:44px; }
  .nc-board{ padding:6px 20px 10px; }
  .nc-board__list{ grid-template-columns:minmax(0, 1fr); column-gap:0; }   /* 移动端一行一条 */
  .nc-item__thumb{ width:96px; height:54px; margin-left:20px; }
  .nc-item__title{ font-size:14px; }   /* 移动端略缩字号，保证两行内容更从容 */
  .nc-sect::after{ width:24px; height:4px; }

  /* 时间（图标+日期）：移动端微调字号与图标，压缩行间距 */
  .nc-item{ padding:18px 0 20px; }
  .nc-date{ margin-top:10px; font-size:13px; gap:5px; }
  .nc-date__icon{ width:13px; height:13px; }
  .nc-date--lg{ margin-top:12px; font-size:14px; }
  .nc-date--lg .nc-date__icon{ width:15px; height:15px; }
}
