/*
 * 信息架构合并与响应式承载层
 *
 * 约束：
 * 1. 本文件只覆盖世纪网络 default 模板的前端布局，不改变 CMS 栏目、URL 或表单契约。
 * 2. data-page-fid、data-anchor-nav、data-anchor-section、data-gallery 与
 *    data-admission-grid 是 CMS 可粘贴内容片段的稳定 DOM 契约。
 * 3. 旧 style.css 保持原样，便于世纪网络按文件回滚。
 */

:root {
  --ia-brand: #105396;
  --ia-brand-dark: #0a3c70;
  --ia-accent: #c92820;
  --ia-surface: #f5f8fc;
  --ia-border: #dce4ed;
  --ia-text: #243247;
  --ia-muted: #637083;
  --ia-radius: 10px;
  --ia-content: 1180px;
  --ia-focus: #ffbf47;
  /*
   * 栏目横幅高度。长页页头文字用负外边距压到横幅上，负值与横幅高度必须始终
   * 相等，因此两侧都读这个变量。这里是非长页的默认值（沿用旧站 300px /
   * 手机 140px）；四个长页要容纳三行文字，按 fid 单独覆盖，见下方。
   */
  --ia-hero-h: 300px;
  /*
   * 页头金色标签。取值按“栏目图最坏情况是纯白天空”反推：在 0.72 深色遮罩上
   * 与白底合成后仍需 ≥4.5:1，#f0c05a 只有 4.0，故提亮到 #ffcf6b（4.6:1）。
   */
  --ia-hero-gold: #ffcf6b;
  /* 浅底上的金色点缀（章节小标签横线、引述块左边线）。只用于装饰，不承载文字。 */
  --ia-gold: #c9a227;
  /*
   * 页头高度：始终用窄栏。common.js 仍会把 ID 切成 #header_i_scroll，
   * 但 #header_i / #header_i_scroll 均已 position:fixed + #wrapper::before
   * 占位，ID 切换不再改变文档流（避免阈值 57 大于实际高度时菜单弹回）。
   */
  --ia-header-h: 64px;
}

html {
  scroll-behavior: smooth;
}

.ia-menu-toggle,
.ia-menu-toggle *,
.ia-anchor-nav,
.ia-anchor-nav *,
.ia-long-page,
.ia-long-page *,
.ia-news-filter,
.ia-news-filter *,
.ia-consult-intro {
  box-sizing: border-box;
}

.ia-long-page img,
.ia-long-page video {
  max-width: 100%;
}

.ia-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 3px solid var(--ia-focus);
  outline-offset: 3px;
}

#wrapper,
#footer {
  width: 100%;
}

#main {
  min-height: 320px;
}

/* 页头与响应式主导航。JS 失败时导航保持普通链接列表可访问。 */
.ia-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  cursor: pointer;
}

.ia-menu-toggle:hover,
.ia-menu-toggle:focus-visible {
  background: rgba(255, 255, 255, 0.22);
}

.ia-menu-toggle-bars {
  position: relative;
  display: block;
  width: 20px;
  height: 14px;
}

.ia-menu-toggle-bars span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transition: transform 160ms ease, top 160ms ease, opacity 160ms ease;
}

.ia-menu-toggle-bars span:nth-child(1) {
  top: 0;
}

.ia-menu-toggle-bars span:nth-child(2) {
  top: 6px;
}

.ia-menu-toggle-bars span:nth-child(3) {
  top: 12px;
}

/* 展开时三线收成关闭叉号。 */
html.ia-nav-open .ia-menu-toggle-bars span:nth-child(1) {
  top: 6px;
  transform: rotate(45deg);
}

html.ia-nav-open .ia-menu-toggle-bars span:nth-child(2) {
  opacity: 0;
}

html.ia-nav-open .ia-menu-toggle-bars span:nth-child(3) {
  top: 6px;
  transform: rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
  .ia-menu-toggle-bars span {
    transition: none;
  }
}

#logos a,
#logos_scroll a,
#footer_logos a {
  position: relative;
}

#logos,
#logos_scroll,
#footer_logos {
  background-image: url(../images/logo-calligraphy.png);
  background-position: left center;
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
}

/*
 * 页头始终 fixed + 下方 #wrapper::before 占位。
 * 根因：common.js 在 scrollTop≥57 才改 ID 为 #header_i_scroll；手机页头仅
 * 52px，菜单先滚出视口再弹回 top:0，表现为「开始下拉时跳动」。内容侧首页
 * 已有 grid ::before，但菜单自身仍会跳。两种 ID 同为 fixed 后，切换只改
 * logos/nav 命名，布局与菜单位置连续。
 */
#header_i,
#header_i_scroll {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999999999;
  background: var(--ia-brand);
  box-shadow: 0 4px 18px rgba(5, 30, 58, 0.2);
}

/* 非首页（无 grid）用 ::before 撑开原页头高度；首页见下方 grid-row:1。 */
#wrapper::before {
  content: '';
  display: block;
  width: 100%;
  height: var(--ia-header-h);
  pointer-events: none;
}

/*
 * 桌面页头始终 64px（覆盖 style.css 的 115px），logo 同步缩小。
 * 滚动只切 fixed，不再二次压缩。
 */
@media (min-width: 1025px) {
  #header_i,
  #header_i_scroll {
    height: var(--ia-header-h);
  }

  #header_i #header_c,
  #header_i_scroll #header_c,
  #header_i #header_left,
  #header_i_scroll #header_left,
  #header_i #header_right,
  #header_i_scroll #header_right,
  #nav_menu,
  #nav_menu_scroll {
    height: var(--ia-header-h);
  }

  #header_i #header_left,
  #header_i_scroll #header_left {
    display: flex;
    align-items: center;
    width: 240px;
    max-width: 28vw;
  }

  #logos,
  #logos_scroll {
    width: 240px;
    max-width: 100%;
    height: 44px;
    margin-top: 0;
    background-size: contain;
    background-position: left center;
  }

  #logos a,
  #logos_scroll a {
    width: 240px;
    max-width: 100%;
    height: 44px;
  }

  #nav_menu .navli,
  #nav_menu .navon,
  #nav_menu .nav_col,
  #nav_menu_scroll .navli,
  #nav_menu_scroll .navon,
  #nav_menu_scroll .nav_col,
  #nav_menu .navli > a,
  #nav_menu .navli > a:link,
  #nav_menu .navli > a:visited,
  #nav_menu .navli > a:active,
  #nav_menu .navli > a:hover,
  #nav_menu .navli > a:focus-visible,
  #nav_menu .navon > a,
  #nav_menu .navon > a:link,
  #nav_menu .navon > a:visited,
  #nav_menu .navon > a:active,
  #nav_menu .navon > a:hover,
  #nav_menu .navon > a:focus-visible,
  #nav_menu_scroll .navli > a,
  #nav_menu_scroll .navli > a:link,
  #nav_menu_scroll .navli > a:visited,
  #nav_menu_scroll .navli > a:active,
  #nav_menu_scroll .navli > a:hover,
  #nav_menu_scroll .navli > a:focus-visible,
  #nav_menu_scroll .navon > a,
  #nav_menu_scroll .navon > a:link,
  #nav_menu_scroll .navon > a:visited,
  #nav_menu_scroll .navon > a:active,
  #nav_menu_scroll .navon > a:hover,
  #nav_menu_scroll .navon > a:focus-visible {
    height: var(--ia-header-h);
    line-height: var(--ia-header-h);
  }

  .ia-nav-search-item {
    top: 50%;
    margin-top: -16.5px;
  }
}

#nav_menu .navli > a,
#nav_menu .navli > a:link,
#nav_menu .navli > a:visited,
#nav_menu .navli > a:active,
#nav_menu .navli > a:hover,
#nav_menu_scroll .navli > a,
#nav_menu_scroll .navli > a:link,
#nav_menu_scroll .navli > a:visited,
#nav_menu_scroll .navli > a:active,
#nav_menu_scroll .navli > a:hover {
  color: #fff;
}

.flashdiv_large_img h2 a,
.flashdiv_right_img h1 a {
  color: inherit;
  font: inherit;
  text-decoration: none;
}

/* 教学点校徽：圆形裁切，适配 38×38 容器 */
.flashdiv_large_img ul li span img {
  border-radius: 50%;
  object-fit: contain;
}

/*
 * 标题第二行「宝鸡教学点」：勿继承校徽 span 的 float/38×38。
 * 桌面 inline 单行；≤767 的 body:has(#flashdiv) 再改为 block 另起一行。
 */
.flashdiv_large_img .ia-teaching-site-line {
  float: none;
  display: inline;
  margin: 0;
  width: auto;
  height: auto;
  overflow: visible;
  text-align: inherit;
}

/* 教学点玻璃白卡 hover 过渡：尊重减少动态 */
@media (prefers-reduced-motion: reduce) {
  .flashdiv_large_img ul li {
    transition: none;
  }
}

/* 题图不需要轮播：彻底隐藏 flexslider 导航箭头和圆点指示器，禁用动画 */
.flex-direction-nav,
.flex-control-nav {
  display: none !important;
}

.flexslider .slides {
  transition: none !important;
  transform: none !important;
}

.flexslider .slides > li {
  opacity: 1 !important;
  position: relative !important;
}

/* 页眉搜索：桌面端从图标下方浮出，不覆盖导航；窄屏端并入展开后的主导航。 */
#header_right,
#nav_menu,
#nav_menu_scroll {
  position: relative;
}

/* 旧模板逐层裁切页头内容；桌面搜索与二级导航需要越过 115px 页头边界。 */
@media (min-width: 1025px) {
  #header_i,
  #header_i_scroll,
  #header_c,
  #header_right,
  #nav_menu,
  #nav_menu_scroll {
    overflow: visible;
  }

  /*
   * 桌面导航：去掉 menu_hover.png 与一级下划线；
   * 选中栏目用品牌金色字区分，悬停仅轻微提亮。
   */
  #nav_menu .navli,
  #nav_menu .navon,
  #nav_menu_scroll .navli,
  #nav_menu_scroll .navon {
    background-image: none;
  }

  #nav_menu .navli > a,
  #nav_menu .navli > a:link,
  #nav_menu .navli > a:visited,
  #nav_menu .navli > a:active,
  #nav_menu .navli > a:hover,
  #nav_menu .navli > a:focus-visible,
  #nav_menu .navon > a,
  #nav_menu .navon > a:link,
  #nav_menu .navon > a:visited,
  #nav_menu .navon > a:active,
  #nav_menu .navon > a:hover,
  #nav_menu .navon > a:focus-visible,
  #nav_menu_scroll .navli > a,
  #nav_menu_scroll .navli > a:link,
  #nav_menu_scroll .navli > a:visited,
  #nav_menu_scroll .navli > a:active,
  #nav_menu_scroll .navli > a:hover,
  #nav_menu_scroll .navli > a:focus-visible,
  #nav_menu_scroll .navon > a,
  #nav_menu_scroll .navon > a:link,
  #nav_menu_scroll .navon > a:visited,
  #nav_menu_scroll .navon > a:active,
  #nav_menu_scroll .navon > a:hover,
  #nav_menu_scroll .navon > a:focus-visible {
    position: relative;
    background-image: none;
  }

  #nav_menu .navli > a::after,
  #nav_menu .navon > a::after,
  #nav_menu_scroll .navli > a::after,
  #nav_menu_scroll .navon > a::after {
    content: none;
  }

  #nav_menu .navli > a:hover,
  #nav_menu .navli > a:focus-visible,
  #nav_menu_scroll .navli > a:hover,
  #nav_menu_scroll .navli > a:focus-visible {
    color: rgba(255, 255, 255, 0.88);
  }

  #nav_menu .navon > a,
  #nav_menu .navon > a:link,
  #nav_menu .navon > a:visited,
  #nav_menu .navon > a:hover,
  #nav_menu .navon > a:active,
  #nav_menu .navon > a:focus-visible,
  #nav_menu_scroll .navon > a,
  #nav_menu_scroll .navon > a:link,
  #nav_menu_scroll .navon > a:visited,
  #nav_menu_scroll .navon > a:hover,
  #nav_menu_scroll .navon > a:active,
  #nav_menu_scroll .navon > a:focus-visible {
    color: var(--ia-hero-gold);
    font-weight: 700;
  }

  #nav_menu .navli ul li a:hover,
  #nav_menu .navli ul li a:focus-visible,
  #nav_menu_scroll .navli ul li a:hover,
  #nav_menu_scroll .navli ul li a:focus-visible {
    border-bottom-color: transparent;
    background: rgba(255, 255, 255, 0.14);
    font-size: 15px;
  }

  @media (prefers-reduced-motion: reduce) {
    #nav_menu .navli > a,
    #nav_menu .navon > a,
    #nav_menu_scroll .navli > a,
    #nav_menu_scroll .navon > a {
      transition: none;
    }
  }
}

.ia-nav-search-item {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: 0;
  width: 33px;
  height: 33px;
  margin-top: -16.5px;
  list-style: none;
  overflow: visible;
}

#nav_menu .nav_bm,
#nav_menu_scroll .nav_bm {
  display: none !important;
}

.ia-nav-search {
  position: relative;
  float: none;
  width: 33px;
  height: 33px;
  margin: 0;
  overflow: visible;
  background: none;
}

.ia-nav-search__toggle {
  position: relative;
  display: block;
  width: 33px;
  height: 33px;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: transparent;
  font-size: 0;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

/* 悬停/展开时给白色矢量图标一个轻微白色晕圈，不引入实心色块。 */
.ia-nav-search__toggle:hover,
.ia-nav-search.is-open .ia-nav-search__toggle {
  background: rgba(255, 255, 255, 0.16);
}

.ia-nav-search__toggle::before {
  position: absolute;
  inset: 6px;
  background: #fff;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m16 16 4.5 4.5' fill='none' stroke='black' stroke-linecap='round' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m16 16 4.5 4.5' fill='none' stroke='black' stroke-linecap='round' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ia-nav-search__toggle:hover::before,
.ia-nav-search__toggle:focus-visible::before {
  background: #fff;
}

.ia-nav-search #top_srch {
  z-index: 50;
  top: 45px;
  right: -4px;
  float: none;
  box-sizing: border-box;
  width: 360px;
  height: 50px;
  margin-left: 0;
  overflow: hidden;
  border: 1px solid rgba(16, 83, 150, 0.16);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 16px 38px rgba(5, 30, 58, 0.2);
  transform-origin: top right;
}

.ia-nav-search #search_list,
.ia-nav-search #search_list ul {
  width: 100%;
  height: 48px;
}

.ia-nav-search #search_list ul {
  display: flex;
  align-items: center;
}

.ia-nav-search #search_list ul li {
  height: 48px;
}

.ia-nav-search .search_input {
  width: calc(100% - 42px);
}

.ia-nav-search #searchinput {
  box-sizing: border-box;
  width: 100%;
  height: 48px;
  padding: 0 6px 0 18px;
  color: var(--ia-text);
  font-size: 15px;
  line-height: 48px;
}

.ia-nav-search #searchinput::placeholder {
  color: #8b97a7;
  opacity: 1;
}

/* 药丸内输入框自身不画焦点框，由整个药丸的阴影变化提示焦点。 */
.ia-nav-search #searchinput:focus-visible {
  outline: none;
}

.ia-nav-search #top_srch:focus-within {
  border-color: rgba(16, 83, 150, 0.45);
  box-shadow: 0 16px 38px rgba(5, 30, 58, 0.2), 0 0 0 3px rgba(77, 151, 224, 0.32);
}

.ia-nav-search .search_submit,
.ia-nav-search #ssubmit {
  width: 46px;
  height: 48px;
}

.ia-nav-search #ssubmit:hover {
  background-color: rgba(16, 83, 150, 0.08);
}

.ia-nav-search #ssubmit {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='%23105396' stroke-width='2'/%3E%3Cpath d='m15.5 15.5 5 5' fill='none' stroke='%23105396' stroke-linecap='round' stroke-width='2'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
  border: 0;
}

/* 覆盖旧 common.js 的 hover fadeIn/fadeOut，只由按钮的 is-open 状态控制。 */
html.ia-js .ia-nav-search #top_srch {
  display: none !important;
}

html.ia-js .ia-nav-search.is-open #top_srch,
html:not(.ia-js) .ia-nav-search:focus-within #top_srch {
  display: block !important;
}

html.ia-js .ia-nav-search.is-open #top_srch {
  animation: ia-search-reveal 0.18s ease-out;
}

@keyframes ia-search-reveal {
  from {
    opacity: 0;
    transform: translateY(-6px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

/* 首页模块标题：深色标题配两侧蓝色渐变短线。 */
#business_top,
#admission_top {
  width: 520px;
  max-width: calc(100% - 32px);
}

.small_title h2:only-child {
  display: flex;
  height: 85px;
  line-height: 1.2;
  align-items: center;
  justify-content: center;
  gap: 34px;
  overflow: visible;
}

.small_title h2:only-child::before,
.small_title h2:only-child::after {
  display: block;
  width: 112px;
  height: 3px;
  border-radius: 999px;
  content: "";
  flex: 0 1 112px;
}

.small_title h2:only-child::before {
  background: linear-gradient(90deg, rgba(16, 83, 150, 0), var(--ia-brand));
}

.small_title h2:only-child::after {
  background: linear-gradient(90deg, var(--ia-brand), rgba(16, 83, 150, 0));
}

.small_title h2:only-child a {
  color: #20262f;
  font-size: 38px;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.2;
  white-space: nowrap;
}

/* 首页右侧报考信息速览：所有入口均深链到学历提升长页对应章节。 */
#flashdiv_right .flashdiv_right_title {
  margin-top: 16px;
  background: none;
}

/* 卡片标题居中，两侧配对称短线，与首页模块标题语言一致。 */
#flashdiv_right .flashdiv_right_title h2 {
  display: flex;
  box-sizing: border-box;
  padding: 0 19px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--ia-brand);
  text-align: center;
  text-indent: 0;
  font-size: 24px;
  line-height: 38px;
}

#flashdiv_right .flashdiv_right_title h2::before,
#flashdiv_right .flashdiv_right_title h2::after {
  display: block;
  width: 28px;
  height: 2px;
  border-radius: 999px;
  content: "";
  flex: 0 0 28px;
}

#flashdiv_right .flashdiv_right_title h2::before {
  background: linear-gradient(90deg, rgba(16, 83, 150, 0), rgba(16, 83, 150, 0.55));
}

#flashdiv_right .flashdiv_right_title h2::after {
  background: linear-gradient(90deg, rgba(16, 83, 150, 0.55), rgba(16, 83, 150, 0));
}

.ia-application-overview {
  margin-top: 8px;
}

.ia-application-overview ul {
  display: grid;
  grid-template-rows: repeat(4, 66px);
  width: 100%;
}

.ia-application-overview ul li {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 66px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* 四行之间用极浅分隔线对齐节奏；行悬停整行淡蓝提示可点。 */
.ia-application-overview ul li + li {
  border-top: 1px solid rgba(16, 83, 150, 0.08);
}

.ia-application-overview ul li > a {
  display: grid;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0 19px;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 14px;
  align-items: center;
  color: #4d5969;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.ia-application-overview ul li > a:hover,
.ia-application-overview ul li > a:focus-visible {
  background: rgba(16, 83, 150, 0.06);
}

.ia-quick-icon {
  position: relative;
  flex: 0 0 48px;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  float: none !important;
  border-radius: 14px;
  background: rgba(16, 83, 150, 0.09);
}

.ia-quick-icon::before {
  position: absolute;
  inset: 11px;
  background: var(--ia-brand);
  content: "";
  -webkit-mask: var(--ia-quick-mask) center / contain no-repeat;
  mask: var(--ia-quick-mask) center / contain no-repeat;
}

.ia-quick-icon--education {
  --ia-quick-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m2.5 8.5 9.5-5 9.5 5-9.5 5-9.5-5Zm3 2.1v5.1c3.8 2.5 9.2 2.5 13 0v-5.1M21.5 8.5v6' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E");
}

.ia-quick-icon--institutions {
  --ia-quick-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='9' r='5.5' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='m8.5 13.3-1 7 4.5-2 4.5 2-1-7' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E");
}

.ia-quick-icon--materials {
  --ia-quick-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='5' width='14' height='16' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M9 5V3h6v2m-6 8 2 2 4-4' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E");
}

.ia-quick-icon--service {
  --ia-quick-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 2.2 1.4 2.6-.1.9 2.5 2.2 1.5-.8 2.5.8 2.5-2.2 1.5-.9 2.5-2.6-.1L12 18l-2.2-1.4-2.6.1-.9-2.5-2.2-1.5.8-2.5-.8-2.5 2.2-1.5.9-2.5 2.6.1L12 2Z' fill='none' stroke='black' stroke-linejoin='round' stroke-width='1.6'/%3E%3Cpath d='m9 10 2 2 4-4' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8'/%3E%3C/svg%3E");
}

.ia-quick-copy {
  display: flex !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  float: none !important;
  flex-direction: column;
  overflow: visible !important;
  text-align: left !important;
}

.ia-quick-copy strong {
  display: block;
  width: 100%;
  color: #374151;
  font-size: 16px;
  line-height: 24px;
  text-align: left;
}

.ia-quick-copy small {
  display: block;
  width: 100%;
  color: #6b7280;
  font-size: 13px;
  line-height: 22px;
  text-align: left;
  white-space: nowrap;
}

#flashdiv_right .flashdiv_right_sub {
  margin-top: 8px;
  background: var(--ia-brand);
}

/* 办学实力使用静态数据，不加载 countUp；图标与两行文字采用稳定横向排版。 */
/* 旧样式固定 1305px：1280–1359px 视口会被右侧裁切并整体偏移，按视口收缩。 */
.strength_num {
  max-width: 100%;
}

.strength_num ul {
  box-sizing: border-box;
}

.strength_num ul {
  padding: 28px 20px 0;
  justify-content: center;
  gap: 18px;
}

.strength_num ul li {
  display: flex;
  width: 205px;
  align-items: center;
}

.strength_num_copy {
  display: flex;
  min-width: 0;
  margin-left: 15px;
  flex-direction: column;
  align-items: flex-start;
}

.strength_num_copy strong {
  color: #fff;
  font: 500 28px/36px "思源黑体 CN", "Microsoft Yahei", sans-serif;
  white-space: nowrap;
}

.strength_num_copy small {
  color: rgba(255, 255, 255, 0.55);
  font: 300 15px/28px "思源黑体 CN", "Microsoft Yahei", sans-serif;
  white-space: nowrap;
}

.strength_num .num_col {
  width: 1px;
  height: 53px;
  margin: 0;
}

/* 公共咨询轨：桌面竖排独立胶囊，视觉与窄屏底栏方案3一致（白描边 + 清晰阴影）。
 * 容器/缝隙不接点击，仅胶囊与回顶可点，避免挡住右侧报考指南等卡片。 */
.cart-fix {
  z-index: 999999998;
  top: auto;
  right: 14px;
  bottom: 24px;
  width: 42px;
  margin: 0;
  transform: none;
  pointer-events: none;
}

.cart-fix ul {
  display: flex;
  box-sizing: border-box;
  width: 42px;
  padding: 0;
  border: none;
  outline: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  backdrop-filter: none;
  pointer-events: none;
}

.cart-fix ul li.c-contact,
.cart-fix ul li.c-back {
  pointer-events: auto;
}

/* 覆盖 style.css 圆钮灰描边（#E3E3E3）。 */
.cart-fix ul li,
.cart-fix ul li.c-contact,
.cart-fix ul li.c-back {
  box-sizing: border-box;
  margin: 0;
  border: none;
  outline: none;
}

/* 与窄屏一致：主题深蓝 + 2px 白描边 + 外圈浅影，白图标竖排四字。 */
.cart-fix ul li.c-contact {
  position: relative;
  width: 42px;
  height: auto;
  min-height: 0;
  border: 2px solid #fff;
  border-radius: 21px;
  background: var(--ia-brand);
  box-shadow:
    0 0 0 1px rgba(16, 83, 150, 0.18),
    0 8px 22px rgba(8, 28, 52, 0.32);
  transition: background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.cart-fix ul li.c-contact:hover,
.cart-fix ul li.c-contact:focus-within {
  background: var(--ia-brand-dark);
  border-color: #fff;
  box-shadow:
    0 0 0 1px rgba(10, 60, 112, 0.22),
    0 10px 26px rgba(8, 28, 52, 0.38);
}

.cart-fix ul li.c-contact:active {
  transform: scale(0.97);
}

.cart-fix ul li.c-contact.c-consult {
  background: var(--ia-brand);
}

.cart-fix ul li.c-contact.c-consult:hover,
.cart-fix ul li.c-contact.c-consult:focus-within {
  background: var(--ia-brand-dark);
  border-color: #fff;
}

.cart-fix ul li.c-contact > .ia-float-contact {
  position: static;
  display: flex;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 10px 0 11px;
  border: 0;
  border-radius: inherit;
  background: transparent;
  color: #fff;
  line-height: normal;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  right: auto;
  top: auto;
  cursor: pointer;
}

.cart-fix ul li.c-contact:hover > .ia-float-contact,
.cart-fix ul li.c-contact:focus-within > .ia-float-contact,
.cart-fix ul li.c-contact.c-consult > .ia-float-contact {
  color: #fff;
}

.cart-fix .ia-float-contact svg {
  width: 18px;
  height: 18px;
  margin-bottom: 4px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

/* 桌面竖轨：四字逐字竖排（电/话/咨/询），字距收紧。 */
.cart-fix .ia-float-contact .ia-float-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  color: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: 0;
  text-align: center;
}

.cart-fix .ia-float-contact .ia-float-label span {
  display: block;
}

.ia-float-popover {
  position: absolute;
  right: 52px;
  top: 50%;
  display: none;
  border: 1px solid rgba(16, 83, 150, 0.14);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(15, 35, 60, 0.18);
  transform: translateY(-50%);
}

html:not(.ia-js) .c-contact:focus-within .ia-float-popover,
.ia-float-popover.is-open {
  display: flex;
}

.ia-float-phone {
  width: 170px;
  padding: 10px;
  flex-direction: column;
  gap: 6px;
}

.cart-fix ul li.c-tel .ia-float-phone a {
  position: static;
  display: block;
  box-sizing: border-box;
  width: auto;
  height: auto;
  padding: 9px 10px;
  border-radius: 9px;
  background: transparent;
  color: var(--ia-brand);
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
  text-align: center;
  right: auto;
  top: auto;
}

.cart-fix ul li.c-tel .ia-float-phone a:hover,
.cart-fix ul li.c-tel .ia-float-phone a:focus-visible {
  background: rgba(16, 83, 150, 0.08);
}

.ia-float-qrs {
  width: 154px;
  padding: 12px;
  justify-content: center;
}

.ia-float-qrs figure {
  flex: 1;
  margin: 0;
  text-align: center;
}

.ia-float-qrs img {
  display: block !important;
  position: static !important;
  width: 126px !important;
  height: 126px !important;
  margin: 0 auto 5px;
}

.ia-float-qrs figcaption {
  color: #475569;
  font-size: 13px;
}

.cart-fix ul li.c-back {
  position: relative;
  width: 42px;
  height: 42px;
  margin-top: 2px;
  border: 1px solid var(--ia-border);
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, background-color 160ms ease;
}

.cart-fix ul li.c-back.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  box-shadow: 0 8px 22px rgba(15, 35, 60, 0.16);
}

.cart-fix .c-back button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: inherit;
  background: transparent;
  cursor: pointer;
}

.cart-fix .c-back button::before {
  position: absolute;
  inset: 11px;
  background: var(--ia-brand);
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 15 7-7 7 7' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 15 7-7 7 7' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

.cart-fix ul li.c-back:hover,
.cart-fix ul li.c-back:focus-within {
  background: var(--ia-brand);
}

.cart-fix ul li.c-back:hover button::before,
.cart-fix ul li.c-back:focus-within button::before {
  background: #fff;
}

/*
 * 桌面短视口（笔记本 1440×900 实际内高约 790px 等）：竖向咨询轨会顶进
 * 首屏“报考信息速览”卡片（卡片底边约在 y=597）。此时把咨询轨换成右下角
 * 紧凑横排，垂直方向只占约 80px，与卡片不再交叠；弹层改为向上弹出。
 */
@media (min-width: 1025px) and (max-height: 880px) {
  .cart-fix {
    right: 14px;
    bottom: 16px;
    width: auto;
  }

  .cart-fix ul {
    width: auto;
    flex-direction: row;
    gap: 8px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .cart-fix ul li.c-contact {
    width: 64px;
    height: 58px;
    min-height: 0;
    border: 2px solid #fff;
    border-radius: 16px;
  }

  .cart-fix ul li.c-contact > .ia-float-contact {
    padding: 6px 0;
    flex-direction: row;
    gap: 4px;
  }

  .cart-fix .ia-float-contact svg {
    margin: 0 2px 0 0;
  }

  /* 短视口横排：四字折成两行两列。 */
  .cart-fix .ia-float-contact .ia-float-label {
    flex-direction: row;
    flex-wrap: wrap;
    width: 2.1em;
    gap: 0;
    line-height: 1.2;
  }

  .cart-fix .ia-float-contact .ia-float-label span {
    width: 1em;
    text-align: center;
  }

  .cart-fix ul li.c-back {
    align-self: center;
    margin: 0;
  }

  .ia-float-popover {
    top: auto;
    right: 0;
    bottom: calc(100% + 14px);
    transform: none;
  }
}

/* 首页报考流程：图标、编号和文字合并为宽松的响应式药丸卡片。 */
#process_mid {
  box-sizing: border-box;
  width: 1255px;
  max-width: calc(100% - 32px);
  height: auto;
  margin: 34px auto 0;
  overflow: visible;
  background: none;
}

.ia-process-steps {
  display: grid;
  width: 100%;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 22px;
  list-style: none;
}

.ia-process-steps > li {
  min-width: 0;
  margin: 0;
  padding: 0;
}

#process_mid .ia-process-step {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  height: 78px;
  padding: 10px 22px;
  border: 1px solid rgba(16, 83, 150, 0.2);
  border-radius: 999px;
  background: linear-gradient(135deg, #fff, #f2f7fd);
  box-shadow: 0 7px 20px rgba(16, 83, 150, 0.08);
  color: var(--ia-text);
  text-decoration: none;
  align-items: center;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

#process_mid .ia-process-step:hover,
#process_mid .ia-process-step:focus-visible {
  border-color: rgba(16, 83, 150, 0.55);
  box-shadow: 0 10px 24px rgba(16, 83, 150, 0.14);
  transform: translateY(-2px);
}

.ia-process-step__icon {
  display: flex;
  box-sizing: border-box;
  width: 48px;
  height: 48px;
  margin-right: 15px;
  border-radius: 50%;
  background: rgba(16, 83, 150, 0.1);
  color: var(--ia-brand);
  flex: 0 0 48px;
  align-items: center;
  justify-content: center;
}

.ia-process-step__icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.ia-process-step__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

.ia-process-step__copy strong {
  color: #29384c;
  font-size: 17px;
  font-weight: 700;
  line-height: 25px;
  white-space: nowrap;
}

.ia-process-step__copy strong em {
  margin-right: 9px;
  color: var(--ia-brand);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.4px;
}

.ia-process-step__copy small {
  color: var(--ia-muted);
  font-size: 13px;
  line-height: 21px;
  white-space: nowrap;
}

/* 首页荣誉仅展示三项代表性奖牌，不启用旧 Marquee 和左右箭头。 */
.ia-home-honours {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
  height: 180px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ia-home-honours li,
.ia-home-honours a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 180px;
}

.ia-home-honours a {
  overflow: hidden;
  border: 0;
  border-radius: 8px;
  background: #fff;
}

.ia-home-honours img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.25s ease;
}

.ia-home-honours a:hover img,
.ia-home-honours a:focus-visible img {
  transform: scale(1.03);
}

/* 校区图片轮播：无箭头，底部状态点由 ia-components.js 生成。 */
.ia-campus-slider {
  position: relative;
  width: 409px;
  height: 236px;
  overflow: hidden;
  border-radius: 9px;
  background: var(--ia-surface);
}

.ia-campus-slider__track,
.ia-campus-slider__track li,
.ia-campus-slider__track a {
  width: 100%;
  height: 100%;
}

.ia-campus-slider__track {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ia-campus-slider__track li {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.45s ease;
  pointer-events: none;
}

.ia-campus-slider:not(.is-ready) .ia-campus-slider__track li:first-child,
.ia-campus-slider__track li.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.ia-campus-slider__track img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ia-campus-slider__dots {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 12px;
  left: 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  pointer-events: none;
}

.ia-campus-slider__dots button {
  width: 9px;
  height: 9px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  font-size: 0;
  pointer-events: auto;
  cursor: pointer;
}

.ia-campus-slider__dots button[aria-current="true"] {
  background: #fff;
  transform: scale(1.2);
}

/*
 * 长页面页内目录：吸顶药丸条。半透明白底 + 背景虚化，滚动时正文从下方透出。
 * sticky 依赖 #main/#wrapper 在这四个 fid 上放开 overflow（见上文）。
 * 当前项状态由 ia-components.js 写入 aria-current="location"；
 * 无 JavaScript 时仍是一排普通锚点链接，只是不高亮。
 */
.ia-anchor-nav {
  position: sticky;
  z-index: 80;
  top: var(--ia-header-h);
  margin: 0 0 32px;
  border-bottom: 1px solid var(--ia-border);
  background: rgba(255, 255, 255, 0.96);
  text-align: left;
  backdrop-filter: saturate(1.1) blur(8px);
}

.ia-anchor-nav__list {
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 10px 0;
  overflow-x: auto;
  list-style: none;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.ia-anchor-nav__list::-webkit-scrollbar {
  display: none;
}

.ia-anchor-nav__list li {
  flex: 0 0 auto;
}

.ia-anchor-nav a {
  display: block;
  min-height: 40px;
  padding: 9px 18px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--ia-muted);
  font: 500 14px/22px "Microsoft Yahei", sans-serif;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.ia-anchor-nav a:hover {
  background: rgba(16, 83, 150, 0.07);
  color: var(--ia-brand);
}

.ia-anchor-nav a[aria-current="location"] {
  border-color: rgba(16, 83, 150, 0.22);
  background: rgba(16, 83, 150, 0.09);
  color: var(--ia-brand);
  font-weight: 700;
}

/*
 * 栏目横幅：HTML 由 {$show_lump_logo($PageDB[fid],...)} 输出，不可改动，
 * 因此高度统一和文字遮罩都在 CSS 侧完成。
 * ::after 是左重右轻的深色遮罩，保证任何一张 CMS 栏目图下页头文字都能达标；
 * 刻意不用 100vw 满幅技巧——存在竖向滚动条时 100vw 会造成横向溢出，
 * 而 1280px 以上没有 overflow-x:hidden 兜底。
 */
#head_div {
  height: var(--ia-hero-h);
}

/* CMS 输出的内层 div 自带 height 内联样式，必须 !important 才能统一高度。 */
#head_div > div {
  height: var(--ia-hero-h) !important;
}

/*
 * style.css:86 给 #main 设了 overflow:hidden（旧浮动布局的 clearfix）。
 * 长页页头用负外边距上移到横幅上，会被这个 overflow 直接裁掉——元素仍有
 * 尺寸但完全不渲染。长页正文全部是 .ia-* flex/grid 组件、不含浮动，
 * 因此只在这些 fid 上放开裁切，其余页面保留旧 clearfix 行为。
 * fid 与《旧URL映射表》《CMS内容片段》一致：3 概况 / 105 学历 / 103 培训 / 143 科学营；
 * 169 隐私政策；163/164 为两个教学点页（西工大/延大）的 CMS 正式 fid；
 * 201/202 仍保留为本地预览临时 fid。
 */
/*
 * #wrapper 的 overflow:hidden（style.css:85）同时会把锚点条的 position:sticky
 * 限制在一个不滚动的容器里——该目录条自加入以来其实从未真正吸顶。放开这两层
 * 后 sticky 生效；已逐视口回归确认长页不会因此产生横向滚动。
 */
body[data-page-fid="3"] #main,
body[data-page-fid="105"] #main,
body[data-page-fid="103"] #main,
body[data-page-fid="143"] #main,
body[data-page-fid="169"] #main,
body[data-page-fid="163"] #main,
body[data-page-fid="164"] #main,
body[data-page-fid="201"] #main,
body[data-page-fid="202"] #main,
body[data-page-fid="3"] #wrapper,
body[data-page-fid="105"] #wrapper,
body[data-page-fid="103"] #wrapper,
body[data-page-fid="143"] #wrapper,
body[data-page-fid="169"] #wrapper,
body[data-page-fid="163"] #wrapper,
body[data-page-fid="164"] #wrapper,
body[data-page-fid="201"] #wrapper,
body[data-page-fid="202"] #wrapper,
body:has(.ia-list-head) #wrapper,
body:has(.ia-consult-head) #wrapper {
  overflow: visible;
}

/*
 * 以下只作用于长页（fid 3 概况 / 105 学历 / 103 培训 / 143 科学营 / 169 隐私
 * / 163、164 教学点；201、202 本地预览）：只有它们把页头文字压在横幅上，
 * 需要更高的横幅和文字遮罩。其余页面的横幅保持旧站原样（300px / 手机 140px、
 * 无遮罩），不受影响。列表页（.ia-list-head）同样压字上图，横幅高度单独覆盖。
 */
body[data-page-fid="3"],
body[data-page-fid="105"],
body[data-page-fid="103"],
body[data-page-fid="143"],
body[data-page-fid="169"],
body[data-page-fid="163"],
body[data-page-fid="164"],
body[data-page-fid="201"],
body[data-page-fid="202"],
body:has(.ia-list-head),
body:has(.ia-consult-head) {
  --ia-hero-h: 300px;
}

/*
 * 遮罩强度按“栏目图最坏情况是纯白天空”反推：白字要达到 4.5:1，
 * 合成后遮罩不透明度不得低于 0.60，因此文字可能覆盖的整个区域都保持 ≥0.72。
 * 窄屏文字几乎占满宽度，横向渐变没有意义，改为纵向均匀遮罩。
 */
body[data-page-fid="3"] #head_div::after,
body[data-page-fid="105"] #head_div::after,
body[data-page-fid="103"] #head_div::after,
body[data-page-fid="143"] #head_div::after,
body[data-page-fid="169"] #head_div::after,
body[data-page-fid="163"] #head_div::after,
body[data-page-fid="164"] #head_div::after,
body[data-page-fid="201"] #head_div::after,
body[data-page-fid="202"] #head_div::after,
body:has(.ia-list-head) #head_div::after,
body:has(.ia-consult-head) #head_div::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 30, 52, 0.72) 0%, rgba(9, 30, 52, 0.84) 100%);
  content: "";
}

/* 宽屏文字只占左侧约六成，右侧可以让出图片主体。 */
@media (min-width: 1280px) {
  body[data-page-fid="3"] #head_div::after,
  body[data-page-fid="105"] #head_div::after,
  body[data-page-fid="103"] #head_div::after,
  body[data-page-fid="143"] #head_div::after,
  body[data-page-fid="169"] #head_div::after,
  body[data-page-fid="163"] #head_div::after,
  body[data-page-fid="164"] #head_div::after,
  body[data-page-fid="201"] #head_div::after,
  body[data-page-fid="202"] #head_div::after,
  body:has(.ia-list-head) #head_div::after,
  body:has(.ia-consult-head) #head_div::after {
    background: linear-gradient(100deg, rgba(9, 30, 52, 0.88) 0%, rgba(9, 30, 52, 0.8) 42%, rgba(9, 30, 52, 0.72) 62%, rgba(9, 30, 52, 0.28) 85%, rgba(9, 30, 52, 0) 100%);
  }
}

.ia-long-page {
  width: min(100%, var(--ia-content));
  /* 上边距为 0：页头要贴住横幅顶部压上去，留白会在横幅底部露出一道缝。 */
  margin: 0 auto 64px;
  color: var(--ia-text);
  font: 16px/1.85 "Microsoft Yahei", sans-serif;
  text-align: left;
}

/*
 * 长页页头（hero）：CMS 正文的第一个区块，用负外边距压到 #head_div 栏目图上。
 * #head_div 在 style.css 中是 z-index:-1，因此这里不需要额外层级即可覆盖其上。
 * 结构契约：.ia-page-hero__eyebrow（栏目名）、h1（页面主标题）、
 * .ia-page-hero__lead（一句话说明），三者 class 由 CMS 片段固定，不得改名。
 */
.ia-long-page__intro {
  display: flex;
  box-sizing: border-box;
  min-height: var(--ia-hero-h);
  margin-top: calc(-1 * var(--ia-hero-h));
  /* 贴紧下方页内目录，避免题图底边与锚点菜单之间露白缝。 */
  margin-bottom: 0;
  padding: 28px 4px;
  flex-direction: column;
  justify-content: center;
  background: none;
}

/*
 * 三行文字统一限宽 720px：宽屏时文字必须停在横向渐变仍≥0.72 的区间内
 * （1280px 视口约 60%），否则长标题会伸进渐变已经透明的亮区。
 */
.ia-long-page__intro > * {
  max-width: min(100%, 720px);
}

.ia-page-hero__eyebrow {
  display: flex;
  margin: 0 0 14px;
  align-items: center;
  gap: 12px;
  color: var(--ia-hero-gold);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1.4;
}

.ia-page-hero__eyebrow::before {
  display: block;
  width: 28px;
  height: 2px;
  background: currentColor;
  content: "";
  flex: 0 0 28px;
}

.ia-long-page__intro h1 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(28px, 4.2vw, 46px);
  font-weight: 700;
  line-height: 1.25;
  text-shadow: 0 1px 12px rgba(6, 22, 40, 0.35);
}

.ia-page-hero__lead {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.75;
  text-shadow: 0 1px 10px rgba(6, 22, 40, 0.35);
}

/* 锚点目标要同时让开固定页头和吸顶目录条（约 63px），否则标题被压在条下。 */
.ia-section {
  scroll-margin-top: calc(var(--ia-header-h) + 78px);
  padding: 56px 0;
}

/*
 * 交替底色分区。旧站正文被限制在 1180/1255px 容器内，真·全出血需要 100vw，
 * 而 100vw 含滚动条宽度、1280px 以上又没有 overflow-x 兜底，会造成横向滚动。
 * 因此改为容器内的圆角色带，视觉上同样有分区节奏且不越界。
 */
.ia-section--alt {
  margin: 8px 0;
  padding: 56px 32px;
  border-radius: 16px;
  background: var(--ia-surface);
}

/* 章节标题组：居中、限宽，与参考稿一致的“小标签 + 主标题 + 说明”三层。 */
.ia-section-head {
  max-width: 760px;
  margin: 0 auto 36px;
  text-align: center;
}

.ia-kicker {
  display: inline-flex;
  margin: 0 0 10px;
  align-items: center;
  gap: 8px;
  color: var(--ia-brand);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
}

/* 金色短横线只作装饰，不承载文字，因此不受正文对比度要求约束。 */
.ia-kicker::before {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--ia-gold);
  content: "";
  flex: 0 0 22px;
}

.ia-section-head h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.ia-section-head h2::before,
.ia-section-head h2::after {
  display: block;
  width: 52px;
  height: 2px;
  border-radius: 2px;
  content: "";
  flex: 0 0 52px;
}

.ia-section-head h2::before {
  background: linear-gradient(90deg, rgba(16, 83, 150, 0), var(--ia-brand));
}

.ia-section-head h2::after {
  background: linear-gradient(90deg, var(--ia-brand), rgba(16, 83, 150, 0));
}

.ia-section-lead {
  margin: 0;
  color: var(--ia-muted);
}

.ia-section h2 {
  margin: 0 0 18px;
  color: var(--ia-brand-dark);
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.35;
}

.ia-section h3 {
  margin: 24px 0 10px;
  color: var(--ia-text);
  font-size: 20px;
  line-height: 1.5;
}

.ia-section p,
.ia-section ul,
.ia-section ol {
  margin: 0 0 16px;
}

.ia-section ul,
.ia-section ol {
  padding-left: 1.5em;
}

/* 校训等引述块：金色左边线，与蓝色信息提示框区分开。 */
.ia-callout {
  margin: 24px 0 0;
  padding: 18px 22px;
  border-left: 4px solid var(--ia-gold);
  border-radius: 0 12px 12px 0;
  background: var(--ia-surface);
}

.ia-section--alt .ia-callout {
  background: #fff;
}

.ia-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.ia-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--ia-brand);
  border-radius: 6px;
  background: var(--ia-brand);
  color: #fff !important;
  font-weight: 600;
  text-decoration: none !important;
}

.ia-button--secondary {
  background: #fff;
  color: var(--ia-brand) !important;
}

.ia-card-grid,
.ia-admission-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 20px 0;
}

.ia-card-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ia-card,
.ia-admission-card {
  padding: 26px;
  border: 1px solid var(--ia-border);
  border-radius: var(--ia-radius);
  background: #fff;
  box-shadow: 0 7px 20px rgba(31, 55, 81, 0.07);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.ia-card:hover,
.ia-admission-card:hover {
  border-color: rgba(16, 83, 150, 0.28);
  box-shadow: 0 12px 30px rgba(31, 55, 81, 0.12);
  transform: translateY(-3px);
}

.ia-card h3,
.ia-admission-card h3 {
  margin-top: 0;
}

/* 标题层级为 章节 h2 → 分组 h3 → 卡片 h4；卡片内 h4 视觉等同旧的 h3。 */
.ia-card h4 {
  margin: 0 0 10px;
  color: var(--ia-text);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.ia-card > :last-child,
.ia-admission-card > :last-child {
  margin-bottom: 0;
}

/* 卡片图标：48px 圆角淡蓝底 + 线性 SVG，与首页速览卡图标语言一致。 */
.ia-card-icon {
  display: flex;
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  border-radius: 12px;
  background: rgba(16, 83, 150, 0.09);
  color: var(--ia-brand);
  align-items: center;
  justify-content: center;
}

.ia-card-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
}

/* 五营卡编号徽章（科学营 #overview）：金色衬线大号数字压右上角，
   让纯文字卡有视觉锚点；编号取自片段里的 data-camp-index，纯装饰。 */
.ia-camp-card {
  position: relative;
  overflow: hidden;
}
.ia-camp-card::before {
  content: attr(data-camp-index);
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 48px;
  font-weight: 700;
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1;
  color: rgba(201, 162, 39, 0.18);
  pointer-events: none;
  user-select: none;
}

/* 特色卡顶部渐变边（科学营 #features 三卡）：蓝→金，与 kicker 金线呼应。
   双层背景：白色层裁到 padding-box 保住白底，渐变层裁到 border-box，
   只从 3px 透明顶边露出；其余三边仍是 1px 实线边框。 */
#features .ia-card {
  border-top: 3px solid transparent;
  background-image: linear-gradient(#fff, #fff), linear-gradient(90deg, var(--ia-brand), var(--ia-gold));
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
/* 公共悬停规则会把四边 border-color 改成半透明蓝，顶边须保持透明，
   否则渐变边会被蒙上一层蓝。 */
#features .ia-card:hover {
  border-top-color: transparent;
}

.ia-admission-card__status {
  display: inline-block;
  margin-bottom: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e8f3ff;
  color: var(--ia-brand-dark);
  font-size: 13px;
  font-weight: 700;
}

.ia-admission-card[data-status="ended"] {
  opacity: 0.72;
}

.ia-admission-card[data-status="ended"] .ia-admission-card__status {
  background: #eceff3;
  color: #566171;
}

.ia-empty-state,
.ia-media-placeholder {
  padding: 28px;
  border: 1px dashed #aebaca;
  border-radius: var(--ia-radius);
  background: var(--ia-surface);
  color: var(--ia-muted);
  text-align: center;
}

/* 绿勾清单：用伪元素画勾，不依赖图标字体。 */
.ia-check-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.ia-check-list li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 30px;
}

.ia-check-list li:last-child {
  margin-bottom: 0;
}

.ia-check-list li::before {
  position: absolute;
  top: 0.42em;
  left: 4px;
  width: 7px;
  height: 13px;
  border-right: 2.5px solid #2e7d32;
  border-bottom: 2.5px solid #2e7d32;
  border-radius: 1px;
  content: "";
  transform: rotate(42deg);
}

/*
 * 叉号清单：与 .ia-check-list 对仗，用于“不负责/不承诺”类对照卡
 * （fid 143 合作边界首用）。叉号用两条旋转短杆画出，不依赖图标字体；
 * 深红 #9c1f1f 在白卡上约 8.0:1、在 --ia-surface 上约 7.5:1。
 * 颜色不是唯一状态信号：叉号形状本身与绿勾区分，卡片标题也写明归属。
 */
.ia-x-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.ia-x-list li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 30px;
}

.ia-x-list li:last-child {
  margin-bottom: 0;
}

.ia-x-list li::before,
.ia-x-list li::after {
  position: absolute;
  top: 0.32em;
  left: 12px;
  width: 2.5px;
  height: 14px;
  border-radius: 2px;
  background: #9c1f1f;
  content: "";
}

.ia-x-list li::before {
  transform: rotate(45deg);
}

.ia-x-list li::after {
  transform: rotate(-45deg);
}

/*
 * 提示框。左侧图标 + 标题 + 正文；颜色同时用底色、边框和图标区分，
 * 不把颜色作为传达状态的唯一方式（标题文字已写明性质）。
 */
.ia-alert {
  display: flex;
  margin: 28px 0 0;
  padding: 18px 20px;
  border: 1px solid;
  border-radius: var(--ia-radius);
  gap: 14px;
}

.ia-alert svg {
  width: 22px;
  height: 22px;
  margin-top: 2px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  flex: 0 0 22px;
}

.ia-alert__title {
  margin: 0 0 6px;
  font-weight: 700;
}

.ia-alert p:last-child {
  margin-bottom: 0;
}

.ia-alert--info {
  border-color: #d4e0ee;
  background: #f2f6fb;
  color: #2c4a6b;
}

.ia-alert--warn {
  border-color: #ebd9a8;
  background: #fdf3dc;
  color: #6e5613;
}

/*
 * 待确认徽章。片段中所有【…】占位都包在这个类里，录入时“搜索【字符”的
 * 检查流程仍然有效，同时在页面上明显可见，避免占位文案被当成正式内容发布。
 */
.ia-pending {
  display: inline-block;
  padding: 0 7px;
  border: 1px solid #ebd9a8;
  border-radius: 6px;
  background: #fdf3dc;
  color: #6e5613;
  font-size: 0.86em;
  font-weight: 600;
  line-height: 1.6;
}

/* 素材占位框：虚线暖色框，与正式图片明显不同，防止误当成已完成内容。 */
.ia-ph {
  display: flex;
  min-height: 180px;
  padding: 28px 20px;
  border: 2px dashed #cbb88d;
  border-radius: var(--ia-radius);
  background: #fbf8f1;
  color: #97865d;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
}

.ia-ph svg {
  width: 30px;
  height: 30px;
  margin-bottom: 4px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  opacity: 0.75;
}

.ia-ph__text {
  color: #6f6040;
  font-size: 15px;
  font-weight: 600;
}

.ia-ph__sub {
  color: #8a7a52;
  font-size: 13px;
}

/* 联系方式清单：图标 + 标签 + 内容，替代裸 ul。 */
.ia-contact-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.ia-contact-list li {
  display: flex;
  margin-bottom: 18px;
  gap: 14px;
  align-items: flex-start;
}

.ia-contact-list li:last-child {
  margin-bottom: 0;
}

.ia-contact-list svg {
  width: 22px;
  height: 22px;
  margin-top: 3px;
  fill: none;
  stroke: var(--ia-brand);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  flex: 0 0 22px;
}

.ia-contact-list strong {
  display: block;
  color: var(--ia-text);
  font-size: 15px;
}

.ia-contact-list p {
  margin: 0;
  color: var(--ia-muted);
}

/*
 * 编号步骤时间线：圆形编号 + 竖向连线，用于报考流程、专业选择等分步说明
 * （fid 105 首用，fid 103/143 可复用）。结构：
 * <ol class="ia-timeline"><li><span class="ia-timeline__num" aria-hidden="true">1</span>
 *   <div class="ia-timeline__title">…</div><p class="ia-timeline__desc">…</p></li></ol>
 * 编号 span 只是视觉装饰（aria-hidden），读屏软件按 ol 自身序号朗读。
 * 恒为单列，窄屏无需降列。
 */
/* .ia-section ol 的 margin/padding（0,1,1）特异性更高，需要双写选择器覆盖。 */
.ia-section .ia-timeline,
.ia-timeline {
  margin: 20px 0 0;
  padding-left: 0;
  list-style: none;
}

.ia-timeline li {
  position: relative;
  padding: 0 0 24px 48px;
}

.ia-timeline li:last-child {
  padding-bottom: 0;
}

/* 竖向连线：从当前编号下缘连到下一步编号上缘；最后一步不再向下延伸。 */
.ia-timeline li::before {
  position: absolute;
  top: 36px;
  bottom: 4px;
  left: 15px;
  width: 2px;
  border-radius: 2px;
  background: rgba(16, 83, 150, 0.18);
  content: "";
}

.ia-timeline li:last-child::before {
  display: none;
}

/* 品牌蓝底白字编号：对白色文字 7.78:1，满足 ≥4.5:1。 */
.ia-timeline__num {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ia-brand);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  align-items: center;
  justify-content: center;
}

.ia-timeline__title {
  padding-top: 4px;
  color: var(--ia-text);
  font-weight: 700;
  line-height: 1.6;
}

/* .ia-section p 的 margin（0,1,1）特异性更高，双写选择器覆盖。 */
.ia-section .ia-timeline__desc,
.ia-timeline__desc {
  margin: 3px 0 0;
  color: var(--ia-muted);
  font-size: 14px;
}

/*
 * 响应式对照表：外层包裹层负责窄屏横向滚动（设计内滚动容器，越界扫描时排除），
 * 表头品牌蓝底白字（7.78:1）。结构：
 * <div class="ia-table-wrap"><table class="ia-table">…</table></div>
 * 行首格用 <th scope="row">，列头用 <th scope="col">。
 */
.ia-table-wrap {
  margin: 16px 0 0;
  overflow-x: auto;
  border: 1px solid var(--ia-border);
  border-radius: var(--ia-radius);
  -webkit-overflow-scrolling: touch;
}

.ia-table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.7;
}

.ia-table th,
.ia-table td {
  padding: 12px 18px;
  border-bottom: 1px solid var(--ia-border);
  text-align: center;
  vertical-align: middle;
}

/*
 * 专业等长文列允许换行；勿对整表设 word-break:break-all，否则窄列会一字一行。
 * 行首短标签（科类等）见下方 tbody th 的 nowrap。
 */
.ia-table td {
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

.ia-table thead th {
  border-bottom: 0;
  background: var(--ia-brand);
  color: #fff;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

/* 行首格淡蓝底 + 正文深灰字（#243247 在 #f5f8fc 上约 12.4:1）。
 * white-space:nowrap + width:1%：科类等短标签按内容横排收缩，避免招生卡窄列
 * 把「文史类」挤成一字一行；长专业名留给右侧 td 换行。ia-table-wrap 仍负责超宽横滚。 */
.ia-table tbody th {
  width: 1%;
  white-space: nowrap;
  background: var(--ia-surface);
  color: var(--ia-text);
  font-weight: 600;
}

.ia-table tbody tr:last-child th,
.ia-table tbody tr:last-child td {
  border-bottom: 0;
}

/*
 * 补充说明小字：ia-table-note 用于表格下方（fid 105 首用），
 * ia-note 是同款样式的通用别名，用于卡片或章节尾部的“以准入为准”类小字
 * （fid 103/143 首用）。特异性需与 .ia-section p 持平且靠后。
 */
p.ia-table-note,
p.ia-note {
  margin: 10px 0 0;
  color: var(--ia-muted);
  font-size: 13px;
}

/*
 * 结尾咨询卡：品牌蓝系渐变深底。与 .ia-section--alt 同理刻意不做 100vw
 * 满幅——正文被限制在 1180/1255px 容器内且 ≥1280px 没有 overflow-x 兜底，
 * 满幅会造成横向滚动；改为容器内圆角色带。
 * 卡内文字对比度按渐变最浅端（--ia-brand #105396）计算：
 * 纯白 7.78:1、0.92 半透明白正文合成后约 6.8:1，均 ≥4.5:1。
 */
.ia-cta {
  padding: 44px 40px;
  border-radius: 16px;
  background: linear-gradient(120deg, var(--ia-brand-dark), var(--ia-brand));
  color: rgba(255, 255, 255, 0.92);
}

/* 深底上的金色小标签复用页头金 #ffcf6b（对品牌蓝 5.3:1），浅底金 #c9a227 不达标。 */
.ia-cta .ia-kicker {
  color: var(--ia-hero-gold);
}

.ia-cta .ia-kicker::before {
  background: currentColor;
}

.ia-cta h2 {
  margin: 0 0 12px;
  color: #fff;
}

.ia-cta p {
  max-width: 760px;
  margin: 0 0 8px;
}

.ia-cta .ia-actions {
  margin-top: 24px;
}

/* 深蓝底上按钮反相：主按钮白底品牌蓝字 7.78:1，次按钮白字描边。 */
.ia-cta .ia-button {
  border-color: #fff;
  background: #fff;
  color: var(--ia-brand) !important;
}

.ia-cta .ia-button--secondary {
  border-color: rgba(255, 255, 255, 0.72);
  background: transparent;
  color: #fff !important;
}

/* 学院图片墙与无障碍弹窗。 */
.ia-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 20px 0;
}

.ia-gallery figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--ia-border);
  border-radius: var(--ia-radius);
  background: #fff;
}

.ia-gallery a {
  display: block;
  color: inherit;
  text-decoration: none;
}

.ia-gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* 照片墙悬停微放大（#gallery）：figure（即 .ia-gallery-item）已有
   overflow:hidden 兜住放大溢出；尊重 prefers-reduced-motion。 */
#gallery .ia-gallery-item img {
  transition: transform 0.35s ease;
}
#gallery .ia-gallery-item:hover img {
  transform: scale(1.04);
}
@media (prefers-reduced-motion: reduce) {
  #gallery .ia-gallery-item img {
    transition: none;
  }
  #gallery .ia-gallery-item:hover img {
    transform: none;
  }
}

.ia-gallery figcaption {
  padding: 12px 14px;
  color: var(--ia-text);
  font-size: 14px;
  line-height: 1.55;
}

/* 照片墙说明两行：主标题（类别/地点）+ 副说明（时间、活动、来源）。 */
.ia-gallery figcaption strong {
  display: block;
  margin-bottom: 2px;
  font-size: 14px;
}

.ia-gallery figcaption span {
  display: block;
  color: var(--ia-muted);
  font-size: 12px;
  line-height: 1.6;
}

/*
 * 2×2 照片墙：两列排版；缩略图按原比例完整显示（不裁切、不强制 4:3 留白）。
 * height:auto 覆盖 HTML width/height 属性，避免出现 width≈半栏、height=原图像素高的超高空白框。
 */
.ia-gallery--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ia-gallery--2 img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: unset;
  padding: 0;
  background: #fff;
}

/*
 * 证书墙变体：3 列、图片按原比例完整显示（证书不能裁切），
 * 说明区固定给出“正式名称 + 授予单位｜年份｜获奖主体”四要素。
 */
.ia-gallery--certs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/*
 * 证书图不裁切（object-fit: contain），四周留白避免奖牌边框贴边。
 * 必须显式写 box-sizing：全局 border-box 只在 1279px 以下的媒体查询里生效，
 * 桌面端不写会让 width:100% + padding 溢出容器。
 */
.ia-gallery--certs img {
  box-sizing: border-box;
  aspect-ratio: 4 / 3;
  padding: 10px;
  background: #fff;
  object-fit: contain;
}

.ia-gallery--certs figcaption {
  padding: 14px 16px 16px;
  border-top: 1px solid var(--ia-border);
}

.ia-cert-name {
  display: block;
  margin-bottom: 4px;
  color: var(--ia-text);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

.ia-cert-meta {
  display: block;
  color: var(--ia-muted);
  font-size: 13px;
  line-height: 1.6;
}

.ia-gallery-item.is-missing img {
  display: none;
}

.ia-gallery-dialog[hidden] {
  display: none;
}

.ia-gallery-dialog {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(5, 16, 28, 0.9);
}

.ia-gallery-dialog__panel {
  position: relative;
  width: min(1000px, 100%);
  max-height: calc(100vh - 48px);
  padding: 18px;
  overflow: auto;
  border-radius: var(--ia-radius);
  background: #fff;
  color: var(--ia-text);
  text-align: center;
}

.ia-gallery-dialog__image {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: calc(100vh - 190px);
  margin: 0 auto;
}

.ia-gallery-dialog__caption {
  margin: 12px 52px 0;
  font-size: 15px;
  line-height: 1.6;
}

.ia-gallery-dialog button {
  min-width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 50%;
  background: var(--ia-brand);
  color: #fff;
  font-size: 24px;
  cursor: pointer;
}

.ia-gallery-dialog__close {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;
}

.ia-gallery-dialog__prev,
.ia-gallery-dialog__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.ia-gallery-dialog__prev {
  left: 10px;
}

.ia-gallery-dialog__next {
  right: 10px;
}

body.ia-dialog-open {
  overflow: hidden;
}

/* 新闻分类直接使用原栏目 URL，分页和无 JS 降级仍由服务端完成。 */
.ia-news-filter {
  display: none;
  width: min(var(--ia-content), calc(100% - 32px));
  margin: 8px auto 0;
  text-align: left;
}

body[data-page-fid="18"] .ia-news-filter,
body[data-page-fid="19"] .ia-news-filter,
body[data-page-fid="67"] .ia-news-filter,
body[data-page-fid="154"] .ia-news-filter,
body[data-page-fid="150"] .ia-news-filter,
body[data-page-fid="151"] .ia-news-filter,
body[data-page-fid="153"] .ia-news-filter,
body[data-page-fid="152"] .ia-news-filter {
  display: block;
}

.ia-news-filter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 窄屏标签行改为横向滚动；li 不许收缩，避免文字被压成竖排。 */
.ia-news-filter__list li {
  flex: 0 0 auto;
}

.ia-news-filter a {
  display: block;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--ia-border);
  border-radius: 999px;
  background: #fff;
  color: var(--ia-text);
  font: 600 14px/22px "Microsoft Yahei", sans-serif;
  text-decoration: none;
}

.ia-news-filter a:hover,
.ia-news-filter a[aria-current="page"] {
  border-color: var(--ia-brand);
  background: var(--ia-brand);
  color: #fff;
}

/* 在线咨询页头：与列表页 .ia-list-head 一样负外边距压到 #head_div 题图上。 */
.ia-consult-head {
  display: flex;
  box-sizing: border-box;
  width: min(var(--ia-content), calc(100% - 32px));
  min-height: var(--ia-hero-h);
  margin: calc(-1 * var(--ia-hero-h)) auto 26px;
  padding: 28px 4px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  background: none;
}

.ia-consult-head__eyebrow {
  display: inline-block;
  margin: 0 0 14px;
  padding: 0;
  border-radius: 0;
  background: none;
  color: var(--ia-hero-gold);
  font: 700 14px/1.4 "Microsoft Yahei", sans-serif;
  letter-spacing: 1px;
}

.ia-consult-head__eyebrow::before {
  display: inline-block;
  width: 28px;
  height: 2px;
  margin-right: 12px;
  background: currentColor;
  content: "";
  vertical-align: middle;
}

.ia-consult-head__title {
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 4.2vw, 46px);
  font-weight: 700;
  line-height: 1.25;
  text-shadow: 0 1px 12px rgba(6, 22, 40, 0.35);
}

.ia-consult-head__title::after {
  display: block;
  width: 44px;
  height: 3px;
  margin: 14px 0 0;
  border-radius: 2px;
  background: var(--ia-hero-gold);
  content: "";
}

.ia-consult-head__sub {
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.92);
  font: 400 clamp(15px, 1.4vw, 18px)/1.75 "Microsoft Yahei", sans-serif;
  letter-spacing: 0.06em;
  text-shadow: 0 1px 10px rgba(6, 22, 40, 0.35);
}

.ia-consult-intro {
  width: min(760px, calc(100% - 32px));
  margin: 20px auto 0;
  padding: 20px 22px;
  border-left: 4px solid var(--ia-brand);
  border-radius: 0 var(--ia-radius) var(--ia-radius) 0;
  background: var(--ia-surface);
  color: var(--ia-text);
  font: 15px/1.75 "Microsoft Yahei", sans-serif;
  text-align: left;
}

.ia-consult-intro__lead {
  margin: 0 0 10px;
}

.ia-consult-intro__lead strong {
  color: var(--ia-brand-dark);
}

.ia-consult-intro__list {
  margin: 0;
  padding-left: 1.35em;
  color: var(--ia-muted);
}

.ia-consult-intro__list li {
  margin: 4px 0;
}

.ia-consult-form {
  box-sizing: border-box;
  width: min(760px, calc(100% - 32px));
  margin: 24px auto 56px;
}

.tbmsg {
  width: 100%;
  margin: 0;
  border: 1px solid var(--ia-border);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 14px 34px rgba(22, 50, 82, 0.09);
}

/* 模板里 <tr height="45|80"> 是旧站内联行高，会把隐私行/提交行撑出大段垂直空白；
   用 CSS 覆盖为按内容自适应，行高改由 td 的 padding 控制。 */
.tbmsg tr {
  height: auto;
}

.tbmsg tr td {
  height: auto;
  padding: 16px 22px;
  border: 0;
  border-bottom: 1px solid var(--ia-border);
  background: #fff;
  color: var(--ia-text);
  font: 15px/1.55 "Microsoft Yahei", sans-serif;
  vertical-align: top;
}

.tbmsg tr:last-child td {
  border-bottom: 0;
}

/* 标签与输入框垂直中线对齐：值列 padding-top(16px) 起，输入框高 46px、
   标签行高 1.55em，二者差值折半补到标签顶部，使标签文字中线落在输入框中线。
   用 top 对齐而非 middle，是为了让对齐只取决于顶部偏移——该行下方是否有
   hint 提示文字都不会把标签往下带。 */
.tbmsg td.msg_title,
.tbmsg td.reg_tabletd {
  width: 150px;
  padding-top: calc(16px + (46px - 1.55em) / 2);
  color: var(--ia-text);
  font-size: 15px;
  white-space: nowrap;
}

.tbmsg label {
  cursor: pointer;
}

.tbmsg-req {
  padding-left: 2px;
  color: var(--ia-accent);
  font-weight: 700;
}

.tbmsg-optional {
  display: inline-block;
  margin-left: 5px;
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--ia-surface);
  color: var(--ia-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
}

.tbmsg input[type="text"],
.tbmsg input[type="tel"],
.tbmsg input[type="email"],
.tbmsg select {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid #aebaca;
  border-radius: 7px;
  background: #fff;
  color: var(--ia-text);
  font-family: "Microsoft Yahei", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  /* top 对齐行框顶，使输入框顶边严格等于值列 padding-top，标签中线对齐才精确。 */
  vertical-align: top;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.tbmsg input::placeholder {
  color: #8a96a6;
}

.tbmsg input[type="text"]:focus,
.tbmsg input[type="tel"]:focus,
.tbmsg input[type="email"]:focus,
.tbmsg select:focus {
  border-color: var(--ia-brand);
  box-shadow: 0 0 0 3px rgba(16, 83, 150, 0.14);
}

.tbmsg-hint,
.tbmsg-submit-hint {
  margin: 7px 0 0;
  color: var(--ia-muted);
  font-size: 13px;
  line-height: 1.6;
}

.tbmsg input[type="checkbox"] {
  width: 22px;
  height: 22px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: var(--ia-brand);
}

.tbmsg-captcha,
.tbmsg-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.tbmsg-captcha #checkcode {
  width: 150px;
}

.tbmsg-captcha__image {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}

.tbmsg-captcha__image img {
  display: block;
  max-width: 180px;
  height: auto;
}

.tbmsg-notice-cell {
  padding: 16px 22px !important;
  background: var(--ia-surface) !important;
}

.tbmsg-notice {
  margin: 0;
  color: var(--ia-muted);
  font-size: 13px;
  line-height: 1.7;
  text-align: left;
}

.tbmsg-notice strong {
  color: var(--ia-text);
}

.tbmsg-legal {
  justify-content: center;
}

.tbmsg-privacy-link {
  margin-left: 3px;
  color: var(--ia-brand) !important;
  text-underline-offset: 3px;
}

.tbmsg .reg_submit {
  min-width: 190px;
  min-height: 48px;
  border: 0;
  border-radius: 7px;
  background: var(--ia-brand);
  color: #fff;
  font-family: "Microsoft Yahei", sans-serif;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 150ms ease, transform 150ms cubic-bezier(0.23, 1, 0.32, 1);
}

.tbmsg .reg_submit:focus-visible {
  background: var(--ia-brand-dark);
}

.tbmsg .reg_submit:active {
  transform: scale(0.98);
}

.tbmsg-submit-hint {
  text-align: center;
}

@media (hover: hover) and (pointer: fine) {
  .tbmsg .reg_submit:hover {
    background: var(--ia-brand-dark);
  }
}

/* 隐私政策正文：顺序阅读型文档，不需要页内目录。
   正文限宽 720px 居中，与长页 hero 文字同宽，保证阅读舒适。 */
.ia-privacy {
  width: min(100%, 720px);
  margin: 0 auto;
  padding: 0 4px;
}

.ia-privacy-notice {
  margin: 0 0 24px;
}

.ia-privacy-meta {
  margin: 0 0 28px;
  color: var(--ia-muted);
  font-size: 14px;
  line-height: 1.6;
}

.ia-privacy-body h2 {
  margin: 36px 0 14px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--ia-border);
  color: var(--ia-brand-dark);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}

.ia-privacy-body h3 {
  margin: 22px 0 8px;
  color: var(--ia-text);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.ia-privacy-body p {
  margin: 0 0 14px;
  color: var(--ia-text);
  font-size: 15px;
  line-height: 1.85;
}

.ia-privacy-body ul,
.ia-privacy-body ol {
  margin: 0 0 14px;
  padding-left: 1.5em;
  color: var(--ia-text);
  font-size: 15px;
  line-height: 1.85;
}

.ia-privacy-body li {
  margin: 4px 0;
}

/* 列表页标题：与长页 .ia-long-page__intro 一样负外边距压到 #head_div 题图上。
   契约：show_lumpname 仍输出 .menu_tile > h1/h2，不得改函数或 DOM 结构。 */
.ia-list-head {
  display: flex;
  box-sizing: border-box;
  width: min(var(--ia-content), calc(100% - 32px));
  min-height: var(--ia-hero-h);
  margin: calc(-1 * var(--ia-hero-h)) auto 26px;
  padding: 28px 4px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  background: none;
}

.ia-list-head .menu_tile {
  box-sizing: border-box;
  width: 100%;
  max-width: min(100%, 720px);
  padding-top: 0;
  overflow: visible;
}

.ia-list-head .menu_tile h1 {
  margin: 0;
  text-align: left;
  color: #fff;
  font-size: clamp(28px, 4.2vw, 46px);
  font-weight: 700;
  line-height: 1.25;
  text-shadow: 0 1px 12px rgba(6, 22, 40, 0.35);
}

.ia-list-head .menu_tile h1::after {
  display: block;
  width: 44px;
  height: 3px;
  margin: 14px 0 0;
  border-radius: 2px;
  background: var(--ia-hero-gold);
  content: "";
}

.ia-list-head .menu_tile h2 {
  margin-top: 12px;
  text-align: left;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(15px, 1.4vw, 18px);
  font-weight: 400;
  line-height: 1.75;
  text-shadow: 0 1px 10px rgba(6, 22, 40, 0.35);
}

/* 新闻列表卡片化：覆盖 style.css 固定宽高浮动布局。
   条目 DOM 由 {$PageDB["list"]} 生成（span 图 + h1/h2/h3），只套样式。
   Grid 把图片锁左列、标题组锁右列；桌面图左文右，≤767 改上图下文。 */
#article_list,
#article_list ul li,
#article_list ul li span,
#article_list ul li h1,
#article_list ul li h2,
#article_list ul li h3 {
  box-sizing: border-box;
}

/*
 * style.css:606 给 #article_list 设了 overflow:hidden（旧浮动列表的 clearfix）。
 * 卡片 hover 会上浮 2px 并向外扩 16px 柔和阴影：首条上移后的顶边和阴影被
 * 容器上边界裁掉，视觉上像被上方筛选条 .ia-news-filter 截断。
 * 这里只放开垂直裁切；水平方向用 overflow-x:clip 兜底——clip 与 hidden 一样
 * 不产生滚动容器，不会像 overflow-x:visible+overflow-y:visible 被浏览器
 * 成对计算成 auto 而引入横向滚动条。
 */
#article_list {
  width: min(var(--ia-content), calc(100% - 32px));
  margin: 24px auto 12px;
  border-top: 0;
  overflow-x: clip;
  overflow-y: visible;
}

/* ul 已放开裁切（见上），卡片 hover 的阴影/位移沿 ul → #article_list 一路
   可见，裁切链上只剩 #main（见紧随其后的作用域规则）。 */
#article_list ul {
  display: flex;
  overflow: visible;
  flex-direction: column;
  gap: 16px;
}

/*
 * style.css:86 的 #main{overflow:hidden}（旧浮动布局 clearfix）是裁切链的
 * 最后一层：首条卡片 hover 上移 2px 后，其顶边与阴影恰好越过 #main 上边界
 * （#article_list 的 24px 上外边距落在 #main 盒内，不产生间隙），被 #main
 * 直接裁掉，表现为悬浮效果被上方 .ia-news-filter 筛选条“截断”。
 * 列表页正文（#article_list / #pagelist）均为块级流、不含浮动，放开裁切
 * 不破坏 clearfix；作用域限定为带 .ia-news-filter 的列表页（list.htm），
 * 其余沿用 #main 的页面保持旧行为。#main 宽度 1255px 大于 #article_list
 * 的 1180px，左右阴影不越界；≤1279px 另有 body{overflow-x:hidden} 兜底。
 */
body:has(.ia-news-filter) #main {
  overflow: visible;
}

#article_list ul li {
  display: grid;
  align-content: start;
  width: 100%;
  height: auto;
  padding: 18px;
  border: 1px solid var(--ia-border);
  border-radius: var(--ia-radius);
  background: #fff;
  grid-template-columns: 240px minmax(0, 1fr);
  column-gap: 20px;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

/* 悬浮反馈以向下/向四周的阴影和边框高亮为主：上移保持 2px 的轻量感，
   阴影主层向下偏移 10px、扩散 24px，首条卡片越过容器上界的溢出最小，
   同时悬浮层次比原 0 6px 16px 更明显。 */
#article_list ul li:hover {
  border-color: var(--ia-brand);
  background: #fff;
  box-shadow: 0 10px 24px rgba(16, 83, 150, 0.14), 0 2px 6px rgba(16, 83, 150, 0.08);
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
  #article_list ul li {
    transition: none;
  }

  #article_list ul li:hover {
    transform: none;
  }
}

#article_list ul li span {
  float: none;
  width: auto;
  height: auto;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  grid-row: 1 / 4;
  grid-column: 1;
}

#article_list ul li span a img {
  float: none;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

/* 去掉旧站 scale(1.2) 悬停放大；卡片上浮已足够反馈。 */
#article_list ul li span a img:hover {
  transform: none;
}

#article_list ul li h1,
#article_list ul li h2,
#article_list ul li h3 {
  float: none;
  width: auto;
  height: auto;
  grid-column: 2;
}

#article_list ul li h1 {
  margin: 2px 0 8px;
  line-height: 1.5;
}

#article_list ul li h1 a,
#article_list ul li h1 a:link,
#article_list ul li h1 a:visited,
#article_list ul li h1 a:active {
  color: var(--ia-text);
  font-size: 17px;
  font-weight: 600;
}

#article_list ul li h1 a:hover {
  color: var(--ia-brand);
}

#article_list ul li h2 {
  margin: 0 0 10px;
  line-height: 1.7;
}

#article_list ul li h2 a,
#article_list ul li h2 a:link,
#article_list ul li h2 a:visited,
#article_list ul li h2 a:active,
#article_list ul li h2 a:hover {
  display: -webkit-box;
  overflow: hidden;
  color: var(--ia-muted);
  font-size: 14px;
  font-weight: 400;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* 日期淡化，去掉旧 date.png 背景依赖。 */
#article_list ul li h3 {
  margin: 0;
  padding: 0;
  background: none;
  color: var(--ia-muted);
  font-size: 13px;
  line-height: 1.6;
  text-indent: 0;
}

/* 分页精致化：只覆盖 #pagelist 及子 id 样式，不改后端结构。
   设计意图：去掉逐个按钮的描边圈与容器托盘，靠留白、字色分级和悬停
   淡入区分状态；当前页 #nowpage 是唯一的品牌蓝实心焦点。
   触控高度 ≥40px（桌面 38px，≤767px 升至 40px）；窄屏 flex-wrap 换行。
   当前页品牌蓝白字对比度约 7.6:1。 */
#pagelist {
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 2px;
  width: min(var(--ia-content), calc(100% - 32px));
  margin: 18px auto 48px;
  padding: 0;
  border: 0;
  background: none;
  font-family: "Microsoft Yahei", sans-serif;
  font-variant-numeric: tabular-nums;
}

/* 可点击页码与文字导航：无描边、无底色，悬停时才淡入极轻品牌 tint。 */
#pagelist #homepage,
#pagelist #prepage,
#pagelist #itempage,
#pagelist #nextpage,
#pagelist #lastpage {
  display: inline-flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  height: auto;
  margin: 0;
  padding: 8px 13px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ia-muted);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.16s ease-out, color 0.16s ease-out,
    transform 0.16s ease-out, box-shadow 0.16s ease-out;
}

#pagelist #homepage:hover,
#pagelist #prepage:hover,
#pagelist #itempage:hover,
#pagelist #nextpage:hover,
#pagelist #lastpage:hover {
  background: rgba(16, 83, 150, 0.07);
  color: var(--ia-brand);
  transform: translateY(-1px);
}

#pagelist #homepage:active,
#pagelist #prepage:active,
#pagelist #itempage:active,
#pagelist #nextpage:active,
#pagelist #lastpage:active {
  background: rgba(16, 83, 150, 0.12);
  transform: translateY(0) scale(0.97);
  transition-duration: 0.08s;
}

/* 键盘焦点环：真实可聚焦的是内部 a，默认环画在 a 上作为兜底；
   支持 :has 的浏览器（项目基线，2023 年起主流均已支持）升级为
   环绕整个药丸容器的品牌色焦点环。 */
#pagelist a:focus-visible {
  outline: 2px solid var(--ia-brand);
  outline-offset: 2px;
}

@supports selector(:has(*)) {
  #pagelist a:focus-visible {
    outline: none;
  }

  #pagelist #homepage:has(a:focus-visible),
  #pagelist #prepage:has(a:focus-visible),
  #pagelist #itempage:has(a:focus-visible),
  #pagelist #nextpage:has(a:focus-visible),
  #pagelist #lastpage:has(a:focus-visible) {
    outline: 2px solid var(--ia-brand);
    outline-offset: 2px;
  }
}

/* 当前页：唯一强焦点，品牌蓝实心 + 白字 + 柔和光晕。 */
#pagelist #nowpage {
  display: inline-flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 38px;
  height: auto;
  margin: 0;
  padding: 8px 13px;
  border: 0;
  border-radius: 999px;
  background: var(--ia-brand);
  box-shadow: 0 2px 10px rgba(16, 83, 150, 0.32),
    0 0 0 4px rgba(16, 83, 150, 0.1);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.4;
}

/* 总页数说明：弱化为纯文字，与可点击按钮明确区分。 */
#pagelist #totalpage {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  margin: 0 0 0 6px;
  padding: 0 4px;
  border: 0;
  background: none;
  color: var(--ia-muted);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

#pagelist a {
  color: inherit;
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  #pagelist #homepage,
  #pagelist #prepage,
  #pagelist #itempage,
  #pagelist #nextpage,
  #pagelist #lastpage {
    transition: none;
  }

  #pagelist #homepage:hover,
  #pagelist #prepage:hover,
  #pagelist #itempage:hover,
  #pagelist #nextpage:hover,
  #pagelist #lastpage:hover,
  #pagelist #homepage:active,
  #pagelist #prepage:active,
  #pagelist #itempage:active,
  #pagelist #nextpage:active,
  #pagelist #lastpage:active {
    transform: none;
  }
}

@media (max-width: 1279px) {
  body {
    min-width: 0;
    overflow-x: hidden;
  }

  body *,
  body *::before,
  body *::after {
    box-sizing: border-box;
  }

  img,
  video {
    max-width: 100%;
  }

  /* 旧站桌面端依赖 1255/1305/1324px 的精确拼接，只在窄屏启用弹性覆盖。 */
  #header_c,
  #head_bar_con,
  #business_mid,
  .business_lump,
  .strength_num,
  #admission_mid,
  .admission_lump,
  #education_top,
  #education_mid,
  #process_top,
  #process_mid,
  #news_top,
  #news_mid,
  #main_center,
  #footer_con,
  #copyright_txt,
  #menu_con,
  #main,
  #main_con,
  #article_list,
  #wrappers,
  .txpic_list {
    width: min(var(--ia-content), calc(100% - 32px));
    max-width: var(--ia-content);
  }

  #flashdiv_con,
  #business_mid,
  #admission_mid,
  #education_mid,
  #process_mid,
  #news_mid,
  #main_center {
    max-width: var(--ia-content);
  }

  .business_lump ul,
  .admission_lump ul,
  .strength_num ul,
  .education_img ul {
    width: 100%;
  }

  #header_right,
  #nav_menu,
  #nav_menu_scroll {
    width: auto;
    max-width: calc(100% - 360px);
  }

  #flashdiv_con {
    width: calc(100% - 32px);
  }

  #flashdiv_large {
    width: calc(100% - 330px);
    margin-left: 0;
  }

  #slogan_center {
    width: calc(100% - 260px);
  }

  .business_lump,
  .admission_lump,
  .strength_num,
  #strength_num_con,
  #education_con,
  #news_con,
  #footer,
  #menu_mid {
    height: auto;
  }

  /*
   * 办学实力：中间宽度五项会折行，但 #strength_num_con 仍 280px + overflow:hidden，
   * 第二行被裁切。改为随内容增高；条目可收缩以尽量单行。
   */
  #strength_num_con {
    overflow: visible;
    padding-bottom: 24px;
  }

  .strength_num {
    overflow: visible;
    padding: 0 0 12px;
  }

  .strength_num ul {
    overflow: visible;
    padding: 20px 12px 8px;
    gap: 12px 10px;
  }

  .strength_num ul li {
    flex: 1 1 150px;
    width: auto;
    min-width: 0;
    max-width: 205px;
  }

  .strength_num_copy strong {
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.25;
  }

  .strength_num .num_col {
    display: none;
  }

  /*
   * 新闻区：桌面 577+628 并排，中间宽度装不下时 float:right 会整块掉到
   * 下一行并靠右，左侧大片留白。改为 flex 可折行，折行后列表左对齐铺满。
   */
  #news_con {
    overflow: visible;
    padding-bottom: 48px;
  }

  #news_mid {
    display: flex;
    flex-wrap: wrap;
    gap: 28px 24px;
    align-items: flex-start;
    overflow: visible;
  }

  #news_pic,
  #news_list {
    float: none;
    box-sizing: border-box;
    width: auto;
    height: auto;
    min-width: 0;
  }

  #news_pic {
    flex: 1 1 480px;
    max-width: 577px;
  }

  #news_list {
    flex: 1 1 400px;
    max-width: 100%;
  }

  /* 侧栏咨询轨仍占右侧时，给列表日期留出不被遮挡的边距。 */
  @media (min-width: 1025px) {
    #news_list {
      padding-right: 56px;
    }

    /* 报考指南右列卡与竖向咨询轨交叠时，整卡点击会被浮层吃掉。 */
    #admission_mid {
      padding-right: 56px;
    }
  }

  /* fcsplay 写死 577×387；容器变窄时用比例盒避免塌陷或溢出。 */
  #news_pic .silder,
  #news_pic .silder .list {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 577 / 387;
  }

  #news_pic .silder .list li {
    width: 100% !important;
    height: 100% !important;
  }

  #news_pic .silder .list a {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
  }

  #news_pic .silder .list img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  #news_list_top,
  #news_list_mid,
  #news_listr {
    width: 100%;
  }

  #news_list_top {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    height: auto;
    min-height: 47px;
    overflow: visible;
  }

  #news_list_top > div {
    flex: 0 0 auto;
  }

  #news_listr ul li {
    display: flex;
    align-items: center;
    height: auto;
    min-height: 40px;
    gap: 8px;
  }

  #news_listr ul li h1 {
    float: none;
    width: auto;
    min-width: 0;
    flex: 1 1 auto;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  #news_listr ul li h2 {
    float: none;
    flex: 0 0 auto;
    width: auto;
    min-width: 78px;
  }

  /*
   * 荣誉/校区：桌面 830+409 并排，中间宽度装不下时 #main_right float:right
   * 掉行靠右，左侧留白且校区图压住侧栏咨询轨。改为 flex，折行后左对齐。
   */
  #main_center {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-start;
    height: auto;
    overflow: visible;
  }

  #main_left,
  #main_right {
    float: none;
    box-sizing: border-box;
    width: auto;
    height: auto;
    min-width: 0;
    overflow: visible;
  }

  #main_left {
    flex: 1 1 520px;
    max-width: 100%;
  }

  #main_right {
    flex: 0 1 409px;
    max-width: 100%;
    padding-top: 0;
  }

  #main_left_top,
  #main_left_mid {
    width: 100%;
  }

  .ia-campus-slider {
    width: 100%;
    max-width: 409px;
    height: auto;
    aspect-ratio: 409 / 236;
  }

  /* 侧栏咨询轨仍占右侧时，给整块荣誉区留出不被遮挡的边距。 */
  @media (min-width: 1025px) {
    #main_center {
      padding-right: 56px;
    }
  }

  .business_lump ul,
  .admission_lump ul,
  .strength_num ul,
  .education_img ul {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    height: auto;
    justify-content: center;
  }

  /*
   * 招生院校：桌面 6×197 单行；中间宽度会折行，但 .education_img /
   * #education_mid 仍 129px + overflow:hidden，第二行被裁。改为随内容增高，
   * 卡片可收缩铺满。
   */
  #education_con {
    overflow: visible;
    padding-bottom: 36px;
  }

  #education_mid,
  .education_img,
  .education_img ul {
    height: auto;
    overflow: visible;
  }

  .education_img ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
  }

  .education_img ul li {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: auto;
    margin-top: 0;
    overflow: visible;
  }

  .education_img ul li span,
  .education_img ul li span a,
  .education_img ul li span a img,
  .education_img ul li img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .business_lump ul li:not(.li_bcol),
  .admission_lump ul li:not(.li_cola) {
    flex: 1 1 calc(33.333% - 12px);
    width: auto;
    min-width: 0;
    max-width: none;
  }

  /*
   * 核心业务卡：中间宽度下仍强制三列 + text-indent + 固定 175px 时，
   * 长副标题折行第二行会相对首行左偏，按钮也被挤偏。改为自适应列数、
   * 卡片内纵向排版，取消 text-indent，高度随内容增高。
   */
  .business_lump {
    height: auto;
    overflow: visible;
  }

  .business_lump ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    height: auto;
    overflow: visible;
    align-items: stretch;
  }

  .business_lump ul li:not(.li_bcol),
  .business_lump ul li:not(.li_bcol):hover {
    float: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-height: 175px;
    height: auto;
    margin: 0;
    padding: 28px 18px 22px 22px;
    overflow: visible;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: cover;
    border-radius: 9px;
  }

  /*
   * 业务卡装饰图已改为 SVG 图标（style.css 中 background 简写含
   * right 20px center / 120px 120px），此处保持固定图标尺寸，
   * 不再用 cover 拉伸；背景底色与 hover 加深色由 style.css 提供。
   * 与上方招生卡规则拆分，避免 cover 影响招生卡 PNG。
   */
  .businessli_lumpa,
  .businessli_lumpb,
  .businessli_lumpc,
  .businessli_lumpa:hover,
  .businessli_lumpb:hover,
  .businessli_lumpc:hover {
    float: none;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-height: 175px;
    height: auto;
    margin: 0;
    padding: 28px 18px 22px 22px;
    overflow: visible;
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 120px 120px;
    border-radius: 9px;
  }

  .business_lump .li_bcol,
  .admission_lump .li_cola,
  .num_col {
    display: none;
  }

  .business_lump ul li h3,
  .business_lump ul li p {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    padding-right: min(88px, 32%);
    text-indent: 0;
    text-align: left;
  }

  .business_lump ul li h3 {
    margin-bottom: 8px;
    line-height: 1.3;
    font-size: clamp(18px, 2.4vw, 24px);
  }

  .business_lump ul li p {
    margin-bottom: 12px;
    line-height: 1.45;
    font-size: clamp(13px, 1.7vw, 15px);
  }

  .business_lump ul li span,
  .business_lump ul li:hover span {
    display: block;
    float: none;
    width: auto;
    max-width: none;
    margin: auto 0 0;
  }

  .business_lump ul li:hover h3,
  .business_lump ul li:hover p {
    text-align: left;
    text-indent: 0;
  }

  /*
   * 报考指南卡：图标在上方居中，文字亦居中。勿套用业务卡右侧留白，
   * 否则中间宽度卡片变宽后标题相对图标明显左偏。
   * 内边距落在 .admissionli_link 上，保证整卡（含图标区）可点。
   */
  .admission_lump {
    height: auto;
    overflow: visible;
  }

  .admission_lump ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    height: auto;
    overflow: visible;
  }

  .admission_lump ul li:not(.li_cola),
  .admission_lump ul li:not(.li_cola):hover {
    float: none;
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-height: 164px;
    height: auto;
    margin: 0;
    padding: 0;
    background-repeat: no-repeat;
    background-position: center 22px;
    background-size: auto;
  }

  .admission_lump .admissionli_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    min-height: 164px;
    padding: 78px 12px 18px;
  }

  .admission_lump ul li h3,
  .admission_lump ul li p {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    padding-right: 0;
    text-align: center;
  }

  .admission_lump ul li h3 {
    line-height: 1.4;
  }

  .admission_lump ul li p {
    line-height: 1.4;
  }

  .strength_num {
    height: auto;
    overflow: visible;
    padding: 0 0 28px;
  }

  .strength_num ul li {
    flex: 1 1 170px;
  }

  #process_mid {
    width: calc(100% - 32px);
    max-width: 1180px;
  }

  #process_mid .ia-process-step {
    width: 100%;
  }

  #footer {
    min-height: 327px;
    overflow: visible;
    /* 覆盖外层 <div align="center">，避免页脚文字/块级对齐被居中继承搞乱。 */
    text-align: left;
  }

  /*
   * 中间宽度页脚：旧三栏固定 570/332/220 在 flex-wrap 下会左沉留白。
   * 改为三列可收缩网格；版权通栏。≤1024 再改为联系+二维码双栏。
   */
  #footer_con {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(180px, 0.75fr);
    gap: 20px 28px;
    align-items: start;
    min-height: 0;
    height: auto;
    padding-top: 24px;
    overflow: visible;
    text-align: left;
  }

  #footer_left,
  #footer_center,
  #footer_right {
    float: none;
    width: auto;
    max-width: none;
    height: auto;
    overflow: visible;
    min-width: 0;
  }

  #footer_logos {
    float: none;
    width: 100%;
    max-width: 397px;
    background-size: contain;
    background-position: left center;
  }

  #footer_logos a {
    width: 100%;
  }

  #contact {
    width: 100%;
  }

  .addressr {
    line-height: 1.55;
    white-space: normal;
  }

  #footer_center .ewm,
  #footer_center .ewm ul {
    width: 100%;
    max-width: 332px;
    margin-top: 0;
  }

  #footer_center .ewm ul {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
  }

  #footer_center .ewm .ewm_col {
    display: none;
  }

  #footer_center .ewm ul li {
    float: none;
    width: auto;
    height: auto;
    flex: 1 1 0;
    max-width: 149px;
  }

  #footer_center .ewm ul li span,
  #footer_center .ewm ul li h2 {
    width: 100%;
  }

  #footer_center .ewm ul li span {
    height: auto;
  }

  #footer_center .ewm ul li span img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  .friend_title,
  .friend_title h2 {
    float: none;
    width: 100%;
    height: auto;
  }

  .friend_title {
    margin-bottom: 6px;
  }

  .friend_title h2 {
    line-height: 1.35;
    font-size: 20px;
  }

  .friendlink ul li {
    float: none;
    width: 100%;
  }

  #copyright {
    grid-column: 1 / -1;
    width: 100%;
    height: auto;
    margin-top: 4px;
    overflow: visible;
  }

  #copyright_txt {
    width: 100%;
    height: auto;
    min-height: 45px;
    line-height: 1.7;
    overflow: visible;
    white-space: normal;
  }
}

/*
 * 桌面窄幅（1025–1279px）：旧导航按 760px 固定宽度加 38px 间隔柱拼接，
 * 上方的 width:auto 收缩在浮动布局下会把导航挤成多行并叠进首屏。
 * 此区间改为 flex 单行导航：隐藏装饰间隔柱，用可收缩 gap 控制字距，
 * 右侧 44px 留给绝对定位的搜索图标。1024px 及以下仍走弹出菜单。
 */
@media (min-width: 1025px) and (max-width: 1279px) {
  #header_right {
    width: calc(100% - 400px);
    max-width: none;
  }

  #nav_menu,
  #nav_menu_scroll {
    display: flex;
    box-sizing: border-box;
    float: right;
    width: 100%;
    max-width: none;
    height: var(--ia-header-h);
    padding-right: 44px;
    align-items: stretch;
    justify-content: flex-end;
    gap: clamp(4px, 1.6vw, 26px);
    overflow: visible;
  }

  #nav_menu .nav_col,
  #nav_menu_scroll .nav_col,
  #nav_menu .nav_space,
  #nav_menu_scroll .nav_space {
    display: none;
  }

  #nav_menu .navli,
  #nav_menu .navon,
  #nav_menu_scroll .navli,
  #nav_menu_scroll .navon {
    float: none;
    flex: 0 0 auto;
  }
}

/* 平板及窄屏：后端仍可能把 768/1024px 设备路由到 default。 */
@media (max-width: 1024px) {
  body[data-page-fid="3"],
  body[data-page-fid="105"],
  body[data-page-fid="103"],
  body[data-page-fid="143"],
  body[data-page-fid="169"],
  body[data-page-fid="163"],
  body[data-page-fid="164"],
  body[data-page-fid="201"],
  body[data-page-fid="202"],
  body:has(.ia-list-head),
  body:has(.ia-consult-head) {
    --ia-hero-h: 260px;
  }

  /* 窄屏栏目图按视口裁切，避免原图按自然尺寸只露出局部。 */
  #head_div > div {
    background-size: cover !important;
  }

  body {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }

  /*
   * ≤1024：联系信息 + 二维码并排，友情链接/版权通栏横排换行；
   * 统一左对齐，避免「logo 偏左、码居中、链接再偏左」的锯齿感。
   */
  #footer {
    /* 咨询底栏约 56–66px；留一点空隙即可，过大像悬空。 */
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    text-align: left;
  }

  #footer_con {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.85fr);
    gap: 18px 28px;
    align-items: start;
    padding: 28px 20px 8px;
    text-align: left;
  }

  #footer_left,
  #footer_center,
  #footer_right {
    float: none;
    width: auto;
    height: auto;
    margin: 0;
    min-width: 0;
  }

  #footer_left {
    grid-column: 1;
  }

  #footer_center {
    grid-column: 2;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
  }

  #footer_right,
  #copyright {
    grid-column: 1 / -1;
  }

  #footer_logos {
    float: none;
    width: 100%;
    max-width: 360px;
    background-size: contain;
    background-position: left center;
  }

  #footer_logos a {
    width: 100%;
  }

  #contact {
    width: 100%;
  }

  .addressr {
    line-height: 1.55;
  }

  /* 窄屏强化：系统自动识别的电话链接保持页脚白字+下划线。 */
  #footer .addressr a,
  #footer .addressr a[href^="tel:"],
  #footer .addressr a[x-apple-data-detectors] {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.72);
  }

  #footer_center .ewm,
  #footer_center .ewm ul {
    width: 100%;
    max-width: 300px;
    margin: 0;
  }

  #footer_center .ewm ul {
    display: flex;
    justify-content: flex-end;
    gap: 16px;
  }

  #footer_center .ewm .ewm_col {
    display: none;
  }

  #footer_center .ewm ul li {
    float: none;
    height: auto;
    flex: 1 1 0;
    max-width: 140px;
  }

  #footer_center .ewm ul li span,
  #footer_center .ewm ul li h2 {
    width: 100%;
  }

  #footer_center .ewm ul li span {
    height: auto;
  }

  #footer_center .ewm ul li span img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  .friend_title,
  .friend_title h2 {
    float: none;
    width: auto;
    height: auto;
  }

  .friend_title {
    margin-bottom: 4px;
  }

  .friend_title h2 {
    line-height: 1.35;
    font-size: 18px;
  }

  .friendlink ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 22px;
  }

  .friendlink ul li {
    float: none;
    width: auto;
    height: auto;
    line-height: 1.5;
  }

  #copyright {
    width: 100%;
    margin: 8px 0 0;
    height: auto;
    overflow: visible;
  }

  #copyright_txt {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 12px 0 4px;
    line-height: 1.7;
    overflow: visible;
    text-align: center;
  }

  /*
   * 窄屏底栏：用 left/right inset 居中，不用 right:50%+translateX。
   * ≤1279 的 body{overflow-x:hidden} 会裁切带 transform 的 fixed 子项——
   * 「回顶部」在横排最右侧时容易被切掉一半。
   */
  .cart-fix {
    display: block;
    top: auto;
    right: 10px;
    left: 10px;
    bottom: max(10px, env(safe-area-inset-bottom, 0px));
    width: auto;
    max-width: 480px;
    margin-inline: auto;
    transform: none;
  }

  /*
   * 窄屏底栏方案3：按钮仍用主题深蓝白字，加白描边与更清晰阴影，
   * 从页脚实心蓝上“抠”出来；无托盘、不改品牌色。
   */
  .cart-fix ul {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 56px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    flex-direction: row;
    align-items: center;
    gap: 8px;
  }

  .cart-fix ul li.c-contact,
  .cart-fix ul li.c-contact.c-consult {
    width: auto;
    height: 52px;
    min-height: 0;
    border: 2px solid #fff;
    border-radius: 26px;
    flex: 1 1 0;
    background: var(--ia-brand);
    box-shadow:
      0 0 0 1px rgba(16, 83, 150, 0.18),
      0 8px 22px rgba(8, 28, 52, 0.32);
  }

  .cart-fix ul li.c-contact:hover,
  .cart-fix ul li.c-contact:focus-within,
  .cart-fix ul li.c-contact.c-consult:hover,
  .cart-fix ul li.c-contact.c-consult:focus-within {
    background: var(--ia-brand-dark);
    border-color: #fff;
    box-shadow:
      0 0 0 1px rgba(10, 60, 112, 0.22),
      0 10px 26px rgba(8, 28, 52, 0.38);
  }

  .cart-fix ul li.c-contact > .ia-float-contact,
  .cart-fix ul li.c-contact:hover > .ia-float-contact,
  .cart-fix ul li.c-contact:focus-within > .ia-float-contact,
  .cart-fix ul li.c-contact.c-consult > .ia-float-contact {
    padding: 0 10px;
    flex-direction: row;
    gap: 6px;
    color: #fff;
  }

  .cart-fix .ia-float-contact svg {
    width: 20px;
    height: 20px;
    margin: 0;
  }

  .cart-fix .ia-float-contact .ia-float-label {
    flex-direction: row;
    flex-wrap: nowrap;
    width: auto;
    gap: 0;
    font-size: 14px;
    line-height: 1.25;
    white-space: nowrap;
  }

  .cart-fix .ia-float-contact .ia-float-label span {
    width: auto;
  }

  .cart-fix .ia-float-popover {
    position: fixed;
    right: 10px;
    bottom: calc(84px + env(safe-area-inset-bottom, 0px));
    left: 10px;
    top: auto;
    box-sizing: border-box;
    width: auto;
    max-width: none;
    transform: none;
  }

  .cart-fix .ia-float-phone {
    padding: 12px;
    flex-direction: row;
  }

  .cart-fix .ia-float-phone a {
    flex: 1;
  }

  .cart-fix .ia-float-qrs {
    justify-content: center;
  }

  /*
   * 窄屏回顶部：绝对定位在底栏右上方，不进横排 flex，避免与三咨询钮抢宽被裁。
   * 未出现时仍 opacity:0（基线规则），不占布局。
   */
  .cart-fix ul li.c-back {
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    flex: none;
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin: 0;
    overflow: visible;
    box-shadow: none;
    transform: none;
  }

  .cart-fix ul li.c-back.is-visible {
    flex: none;
    width: 44px;
    overflow: visible;
    box-shadow: 0 8px 22px rgba(15, 35, 60, 0.16);
  }

  #header_c {
    width: calc(100% - 24px);
  }

  #header_c {
    position: relative;
  }

  #header_i,
  #header_i_scroll,
  #header_c {
    overflow: visible;
  }

  #header_right {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    max-width: calc(100% - 280px);
    overflow: visible;
  }

  /* 平板页头：靠 #header_right 的 flex 垂直居中，勿再加 margin-top。 */
  .ia-menu-toggle {
    display: inline-flex;
    margin-top: 0;
  }

  /*
   * 窄屏页头始终 56px（覆盖旧 115px），logo ~38px；滚动只切 fixed，不再二次压缩。
   * 弹出菜单用 top:100% 贴汉堡钮下方。
   */
  :root {
    --ia-header-h: 56px;
  }

  #header_i,
  #header_i_scroll {
    height: var(--ia-header-h);
  }

  #header_i #header_c,
  #header_i_scroll #header_c,
  #header_i #header_left,
  #header_i_scroll #header_left,
  #header_i #header_right,
  #header_i_scroll #header_right {
    height: var(--ia-header-h);
  }

  #header_i #header_left,
  #header_i_scroll #header_left {
    display: flex;
    align-items: center;
    width: min(200px, calc(100% - 64px));
  }

  #logos,
  #logos_scroll {
    width: 100%;
    max-width: 200px;
    height: 38px;
    margin-top: 0;
    background-size: contain;
    background-position: left center;
  }

  #logos a,
  #logos_scroll a {
    width: 100%;
    height: 38px;
  }

  #nav_menu,
  #nav_menu_scroll {
    float: none;
    width: 100%;
    max-width: none;
    height: auto;
    overflow: visible;
  }

  .ia-js #nav_menu,
  .ia-js #nav_menu_scroll {
    position: absolute;
    z-index: 999999999;
    top: calc(100% + 8px);
    right: 0;
    display: none;
    width: min(360px, calc(100vw - 24px));
    padding: 10px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(5, 30, 58, 0.22);
  }

  #nav_menu .navli > a,
  #nav_menu .navli > a:link,
  #nav_menu .navli > a:visited,
  #nav_menu .navli > a:active,
  #nav_menu .navli > a:hover,
  #nav_menu .navon > a,
  #nav_menu .navon > a:link,
  #nav_menu .navon > a:visited,
  #nav_menu .navon > a:active,
  #nav_menu .navon > a:hover,
  #nav_menu_scroll .navli > a,
  #nav_menu_scroll .navli > a:link,
  #nav_menu_scroll .navli > a:visited,
  #nav_menu_scroll .navli > a:active,
  #nav_menu_scroll .navli > a:hover,
  #nav_menu_scroll .navon > a,
  #nav_menu_scroll .navon > a:link,
  #nav_menu_scroll .navon > a:visited,
  #nav_menu_scroll .navon > a:active,
  #nav_menu_scroll .navon > a:hover {
    color: var(--ia-text);
  }

  /* 弹出菜单用纵向 flex，让搜索框固定排在菜单最上方（order:-1）。 */
  .ia-js.ia-nav-open #nav_menu,
  .ia-js.ia-nav-open #nav_menu_scroll {
    display: flex;
    flex-direction: column;
  }

  .ia-js #nav_menu .ia-nav-search-item,
  .ia-js #nav_menu_scroll .ia-nav-search-item {
    order: -1;
  }

  #nav_menu .nav_space,
  #nav_menu_scroll .nav_space,
  #nav_menu .nav_col,
  #nav_menu_scroll .nav_col {
    display: none;
  }

  .ia-nav-search-item {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 6px;
  }

  .ia-nav-search {
    width: 100%;
    height: 42px;
  }

  .ia-nav-search__toggle {
    display: none;
  }

  .ia-nav-search #top_srch {
    position: static;
    display: block !important;
    width: 100%;
    height: 42px;
    border: 1px solid var(--ia-border);
    background: var(--ia-surface);
  }

  html.ia-js .ia-nav-search #top_srch {
    display: block !important;
  }

  .ia-nav-search #search_list,
  .ia-nav-search #search_list ul {
    width: 100%;
    height: 40px;
  }

  .ia-nav-search #search_list ul li {
    height: 40px;
  }

  .ia-nav-search .search_input {
    width: calc(100% - 44px);
  }

  .ia-nav-search #searchinput {
    width: 100%;
    height: 40px;
    color: var(--ia-text);
    line-height: 40px;
  }

  .ia-nav-search .search_submit,
  .ia-nav-search #ssubmit {
    width: 40px;
    height: 40px;
  }

  #nav_menu .navli,
  #nav_menu_scroll .navli,
  #nav_menu .navon,
  #nav_menu_scroll .navon,
  #nav_menu .nav_bm,
  #nav_menu_scroll .nav_bm {
    float: none;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    line-height: normal;
    text-align: left;
  }

  /* 弹出菜单：去掉悬停/当前态加粗、字号变化与左侧色条，当前页仅用淡底。 */
  #nav_menu .navli,
  #nav_menu_scroll .navli,
  #nav_menu .navon,
  #nav_menu_scroll .navon {
    background-image: none;
  }

  #nav_menu .navli a,
  #nav_menu .navli a:link,
  #nav_menu .navli a:visited,
  #nav_menu .navli a:hover,
  #nav_menu .navli a:active,
  #nav_menu .navli a:focus-visible,
  #nav_menu .navon a,
  #nav_menu .navon a:link,
  #nav_menu .navon a:visited,
  #nav_menu .navon a:hover,
  #nav_menu .navon a:active,
  #nav_menu .navon a:focus-visible,
  #nav_menu_scroll .navli a,
  #nav_menu_scroll .navli a:link,
  #nav_menu_scroll .navli a:visited,
  #nav_menu_scroll .navli a:hover,
  #nav_menu_scroll .navli a:active,
  #nav_menu_scroll .navli a:focus-visible,
  #nav_menu_scroll .navon a,
  #nav_menu_scroll .navon a:link,
  #nav_menu_scroll .navon a:visited,
  #nav_menu_scroll .navon a:hover,
  #nav_menu_scroll .navon a:active,
  #nav_menu_scroll .navon a:focus-visible {
    width: 100%;
    min-height: 44px;
    height: auto;
    padding: 10px 12px;
    border-radius: 8px;
    background-image: none;
    background-color: transparent;
    box-shadow: none;
    color: var(--ia-text);
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
    text-align: left;
    transform: none;
    transition: background-color 160ms ease, box-shadow 160ms ease;
  }

  /* 仅指针设备显示悬停淡底，避免触控点击后 :hover 粘滞。 */
  @media (hover: hover) and (pointer: fine) {
    #nav_menu .navli > a:hover,
    #nav_menu .navli > a:focus-visible,
    #nav_menu_scroll .navli > a:hover,
    #nav_menu_scroll .navli > a:focus-visible {
      background-color: rgba(16, 83, 150, 0.06);
      font-size: 15px;
      font-weight: 500;
    }
  }

  #nav_menu .navon > a,
  #nav_menu .navon > a:link,
  #nav_menu .navon > a:visited,
  #nav_menu .navon > a:hover,
  #nav_menu .navon > a:active,
  #nav_menu .navon > a:focus-visible,
  #nav_menu_scroll .navon > a,
  #nav_menu_scroll .navon > a:link,
  #nav_menu_scroll .navon > a:visited,
  #nav_menu_scroll .navon > a:hover,
  #nav_menu_scroll .navon > a:active,
  #nav_menu_scroll .navon > a:focus-visible {
    background-color: rgba(16, 83, 150, 0.08);
    box-shadow: none;
    font-size: 15px;
    font-weight: 500;
  }

  #nav_menu .navli ul,
  #nav_menu_scroll .navli ul {
    position: static;
    width: 100%;
    padding: 0 0 6px 16px;
  }

  #nav_menu .navli ul li,
  #nav_menu_scroll .navli ul li,
  #nav_menu .navli ul li a,
  #nav_menu_scroll .navli ul li a {
    width: 100%;
    height: auto;
    min-height: 40px;
    line-height: 22px;
  }

  #nav_menu .navli ul li a,
  #nav_menu .navli ul li a:link,
  #nav_menu .navli ul li a:visited,
  #nav_menu .navli ul li a:hover,
  #nav_menu .navli ul li a:active,
  #nav_menu .navli ul li a:focus-visible,
  #nav_menu_scroll .navli ul li a,
  #nav_menu_scroll .navli ul li a:link,
  #nav_menu_scroll .navli ul li a:visited,
  #nav_menu_scroll .navli ul li a:hover,
  #nav_menu_scroll .navli ul li a:active,
  #nav_menu_scroll .navli ul li a:focus-visible {
    border-bottom: 0;
    background-image: none;
    color: var(--ia-text);
    font-size: 15px;
    font-weight: 500;
    transform: none;
  }

  @media (hover: hover) and (pointer: fine) {
    #nav_menu .navli ul li a:hover,
    #nav_menu .navli ul li a:focus-visible,
    #nav_menu_scroll .navli ul li a:hover,
    #nav_menu_scroll .navli ul li a:focus-visible {
      background-color: rgba(16, 83, 150, 0.06);
      color: var(--ia-brand);
      font-size: 15px;
      font-weight: 500;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #nav_menu .navli a,
    #nav_menu_scroll .navli a,
    #nav_menu .navon a,
    #nav_menu_scroll .navon a {
      transition: none;
    }
  }

  #flashdiv_right {
    display: none;
  }

  .ia-process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #flashdiv_large {
    width: 100%;
  }

  .flashdiv_large_title h1 {
    line-height: 1.3;
  }

  .flashdiv_large_title h2 {
    line-height: 1.4;
  }

  /* 旧样式固定 842px，768–1024 视口下会超出容器被裁。 */
  .flashdiv_large_img {
    width: 100%;
  }

  /* 覆盖 ≤1279 的并排 flex：平板起图文改上下叠放。 */
  #news_mid {
    flex-direction: column;
    gap: 24px;
  }

  #news_pic,
  #news_list,
  #main_left,
  #main_right {
    float: none;
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    height: auto;
    padding-right: 0;
  }

  #news_pic {
    max-width: 577px;
    margin: 0 auto;
  }

  #news_con {
    padding-bottom: 40px;
  }

  /* 覆盖 ≤1279 的并排 flex：平板起荣誉与校区改上下叠放。 */
  #main_center {
    flex-direction: column;
    gap: 24px;
    padding-right: 0;
  }

  #main_left {
    margin-bottom: 0;
  }

  #main_left_top,
  #main_left_mid {
    width: 100%;
  }

  .ia-campus-slider {
    width: min(100%, 577px);
    max-width: 100%;
    margin: 0 auto;
  }

  #cssbox {
    width: calc(100% - 90px);
  }

  #menu_con_left,
  #menu_con_right {
    float: none;
    width: 100%;
    height: auto;
  }

  #menu_mid {
    min-height: 100px;
    overflow: visible;
  }

  #menu_con_right {
    padding-bottom: 10px;
  }

  #menu_top_list {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #menu_top_list ul {
    min-width: max-content;
  }

  .ia-card-grid,
  .ia-admission-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ia-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ia-gallery--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ia-gallery--certs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ia-section {
    padding: 44px 0;
  }

  .ia-section--alt {
    padding: 44px 24px;
  }

  .ia-cta {
    padding: 36px 28px;
  }
}

/* 手机端：卡片单列、触控目标扩大、旧浮动组件让位于正文。 */
@media (max-width: 767px) {
  /* 非长页手机端横幅沿用旧站 140px（纯装饰图，其上没有文字）。 */
  :root {
    --ia-hero-h: 140px;
  }

  /* 240px 是三行页头文字（标签/主标题两行/说明两行）所需的最小高度。 */
  body[data-page-fid="3"],
  body[data-page-fid="105"],
  body[data-page-fid="103"],
  body[data-page-fid="143"],
  body[data-page-fid="169"],
  body[data-page-fid="163"],
  body[data-page-fid="164"],
  body[data-page-fid="201"],
  body[data-page-fid="202"] {
    --ia-hero-h: 240px;
  }

  body:has(.ia-list-head),
  body:has(.ia-consult-head) {
    --ia-hero-h: 200px;
  }

  /* 手机页头始终 52px，logo ~34px；滚动不再二次压缩。 */
  :root {
    --ia-header-h: 52px;
  }

  #header_i,
  #header_i_scroll,
  #header_c {
    height: var(--ia-header-h);
  }

  #header_left {
    display: flex;
    align-items: center;
    width: min(180px, calc(100% - 48px));
    height: var(--ia-header-h);
  }

  #logos,
  #logos_scroll {
    width: 100%;
    max-width: 180px;
    height: 34px;
    margin-top: 0;
    background-size: contain;
    background-position: left center;
  }

  #logos a,
  #logos_scroll a {
    width: 100%;
    height: 34px;
  }

  #header_right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 48px;
    max-width: 48px;
    height: var(--ia-header-h);
  }

  /*
   * 保留 34px 的视觉底块与小号三线，但实际按钮恢复为 44px 触控区。
   * 52px 页头仍留 4px 上下余量；焦点框落在真实触控边界上。
   */
  .ia-menu-toggle {
    position: relative;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    margin-top: 0;
    border-radius: 8px;
    background: transparent;
  }

  .ia-menu-toggle::before {
    position: absolute;
    inset: 5px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.12);
    content: '';
  }

  .ia-menu-toggle:hover,
  .ia-menu-toggle:focus-visible {
    background: transparent;
  }

  .ia-menu-toggle:hover::before,
  .ia-menu-toggle:focus-visible::before {
    background: rgba(255, 255, 255, 0.22);
  }

  .ia-menu-toggle-bars {
    width: 16px;
    height: 11px;
  }

  .ia-menu-toggle-bars span:nth-child(2) {
    top: 4.5px;
  }

  .ia-menu-toggle-bars span:nth-child(3) {
    top: 9px;
  }

  html.ia-nav-open .ia-menu-toggle-bars span:nth-child(1),
  html.ia-nav-open .ia-menu-toggle-bars span:nth-child(3) {
    top: 4.5px;
  }

  /*
   * 首页题图区：“品牌横幅区 + 白底速览”分层 + 照片铺满 #flashdiv_con
   * （仅首页，body:has(#flashdiv) 门控；#flashdiv 只由首页 index01
   * 广告位输出，内页题图走 #head_div，不受影响）。
   *
   * 取舍（2026-07-25）：用户要题图铺满整个 #flashdiv_con，消除速览
   * 四周浅蓝 #f5f7fa 露边。与「照片只裁在 260px 横幅」冲突时，选
   * 最接近意图的方案——照片随第 2 行网格格铺满（inset:0），260 体系
   * 仅保留为品牌文字区（#flashdiv_large 按内容高度，不再锁 268），不拆速览、
   * 不改成 inset 小图卡。速览仍不透明白底；遮罩改为上重下轻，保证
   * 深蓝品牌字可读，同时让速览外边距处露出校园图而非纯色带。
   * cover 在约 528px 高容器上会多裁上下，属可接受代价。
   *
   * 结构：#wrapper 单列 grid——页头第 1 行，文字层 in-flow 占第 2 行
   * 撑开高度；通知栏显式占第 3 行；背景层绝对定位于第 2 行网格格并
   * 铺满该格。注意：
   * 1) 绝对定位网格项的 auto 终止线按规范解析为网格容器末端边缘
   *    （整页底部），必须保留显式布置 grid-row:2/3，否则横幅会盖住
   *    第 1 行页头。
   * 2) common.js 滚动 ≥57px 会把 #header_i 改成 #header_i_scroll。
   *    页头现已始终 position:fixed + #wrapper::before 占位，ID 切换不再
   *    塌行；但若 #head_bar 仍是 grid-row:auto，历史版本曾回填第 1 行
   *    导致通知栏消失，故仍显式 grid-row:3（勿回滚）。
   * ≥768px 不走此门控，桌面/平板沿用原叠放方案。
   */
  body:has(#flashdiv) #wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    /*
     * style.css #wrapper{overflow:hidden} 会切断 sticky/吸顶约束盒。
     * 首页通知栏吸顶与长页锚点条同理，需放开；横向溢出仍由 ≤1279
     * 的 body{overflow-x:hidden} 兜底。
     */
    overflow: visible;
  }

  body:has(#flashdiv) #header_i,
  body:has(#flashdiv) #header_i_scroll {
    grid-row: 1;
    grid-column: 1;
  }

  /*
   * 页头始终 fixed，不再撑开第 1 行。全局 #wrapper::before 已占高度；
   * 此处显式 grid-row:1，避免 auto-placement 因 #header_i 仍占第 1 格
   * 而把占位推到末行。保留 grid-row:3 等防回填规则，勿回滚。
   */
  body:has(#flashdiv) #wrapper::before {
    grid-row: 1;
    grid-column: 1;
  }

  /*
   * 锁定第 3 行，防止页头变 fixed 后被 auto-placement 回填到第 1 行。
   * 通知栏吸顶：单列 grid 下第 3 行与栏同高，原生 position:sticky 无行程
   * （约束盒即自身高度）。故本断点用 .ia-head-bar-stuck（ia-components.js
   * 测得滚到页头下沿后切 fixed）+ .ia-head-bar-spacer 占位；top 由 JS
   * 写成实测 #header_i_scroll 高度，CSS 回退 var(--ia-header-h)（本断点 52px）。
   * ≥768 无此网格，见文件末尾首页 sticky 规则。
   */
  body:has(#flashdiv) #head_bar,
  body:has(#flashdiv) .ia-head-bar-spacer {
    grid-row: 3;
    grid-column: 1;
  }

  body:has(#flashdiv) #head_bar.ia-head-bar-stuck {
    position: fixed;
    left: 0;
    right: 0;
    top: var(--ia-header-h);
    width: 100%;
    z-index: 90; /* 低于页头 999999999，高于正文；与右侧 .cart-form(999) 无垂直重叠 */
    box-shadow: 0 4px 12px rgba(5, 30, 58, 0.18);
  }

  body:has(#flashdiv) .ia-head-bar-spacer {
    display: block;
    height: 0;
    overflow: hidden;
    pointer-events: none;
    visibility: hidden;
  }

  /*
   * 文字层：in-flow 撑开题图区高度；背景透明，让下层 #flashdiv 校园图
   * 铺满整个 con（含速览外边距处），不再用 #f5f7fa 实色垫底露边。
   * 白底面板铺满全宽：width:100% + padding:0 覆盖 ≤1279px 断点的
   * calc(100% - 32px) 与基础样式 1255px 定宽，16px 内容边距改由
   * 各子块（标题组、标语行、教学点、速览卡）自带的 padding/margin 承担。
   */
  body:has(#flashdiv) #flashdiv_con {
    position: relative; /* 原 absolute 相对 #wrapper；改 in-flow 以撑开题图区高度 */
    grid-row: 2;
    grid-column: 1;
    z-index: 2; /* 与背景层同处 #wrapper 层叠上下文，高于 #flashdiv(z-index:1) */
    width: 100%;
    height: auto;
    overflow: visible;
    padding: 0;
    box-sizing: border-box;
    background: transparent;
  }

  /*
   * 背景层：绝对定位于第 2 行网格格并 inset:0 铺满该格（高度随
   * #flashdiv_con 内容走，约 515–530），不再锁 260px。grid-row:2/3
   * 仍必须显式写出（见上方注释）。
   */
  body:has(#flashdiv) #flashdiv {
    position: absolute;
    grid-row: 2 / 3;
    grid-column: 1 / 2;
    inset: 0;
    z-index: 1;
    height: auto;
  }

  body:has(#flashdiv) #flashdiv .flexslider {
    height: 100%;
  }

  /*
   * slides li 受全局 position:relative !important（本文件上方）与基础
   * 样式定高约束，须以 !important 覆盖；内联 style="background:url(...)
   * 50% 0 no-repeat" 会把 background-size 重置为 auto，cover 亦须
   * !important。铺满整格后 cover 按高度铺（源图 1920×537，手机竖格
   * 只裁左右），background-position 52% 40% 略偏建筑主体。
   */
  body:has(#flashdiv) #flashdiv .slides li {
    position: absolute !important;
    inset: 0;
    height: auto !important;
    background-size: cover !important;
    background-position: 52% 40% !important;
  }

  /*
   * 浅色渐变遮罩：叠在照片上、文字下（li 伪元素，层叠低于文字层
   * #flashdiv_con(z-index:2)）。源图 02.jpg 本就偏亮天蓝/灰，再叠
   * 强白洗会在速览外边距处看起来像 #f5f7fa 实色露边。故上半只留
   * 中等白洗（标题自带白色 text-shadow），下半几乎透明，让校园图
   * 纹理在速览四周可辨。pointer-events:none 不拦教学点点击。
   */
  body:has(#flashdiv) #flashdiv .slides li::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.28) 42%, rgba(255, 255, 255, 0.06) 58%, rgba(255, 255, 255, 0.04) 100%),
      linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.18) 55%, rgba(255, 255, 255, 0.05));
    pointer-events: none;
  }

  /*
   * 品牌文字区：按内容高度排布（不再锁 268 + margin-top:auto 把教学点
   * 顶到底边）。题图已铺满整个 #flashdiv_con，教学点仍叠在照片上；
   * 收紧与信任条间距。保留 float:none/width:100% 重置。
   */
  body:has(#flashdiv) #flashdiv_large {
    float: none;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    min-height: 0;
    height: auto;
    padding: 22px 0 16px;
    overflow: visible;
  }

  /*
   * 去掉旧方案 80px 顶边距，标题组在横幅区内自然排布。
   * #flashdiv_con 改全宽无 padding 后，16px 内容边距下沉到本块；
   * 基础样式 width:100%，加 padding 必须配 border-box 防横向溢出。
   */
  body:has(#flashdiv) .flashdiv_large_title {
    margin-top: 0;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  body:has(#flashdiv) .flashdiv_large_title h1 {
    font-size: 28px;
    line-height: 1.25;
  }

  body:has(#flashdiv) .flashdiv_large_title h2 {
    padding: 0;
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
  }

  body:has(#flashdiv) .flashdiv_large_smtitle {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 0;
    margin-top: 8px;
    padding-left: 16px; /* 与标题组一致的 16px 内容边距；width:100% 配 border-box */
    padding-right: 16px;
    box-sizing: border-box;
  }

  /* 手机信任条：700 更醒目；色沿用 style.css #2f4a86（弱于 h1） */
  body:has(#flashdiv) .flashdiv_large_smtitle span {
    float: none;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 700;
    color: #2f4a86;
  }

  body:has(#flashdiv) .flashdiv_large_smtitle h2 {
    float: none;
    width: auto;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 700;
    color: #2f4a86;
  }

  /*
   * 教学点按钮：固定上边距贴近信任条（不再 margin-top:auto 撑开空隙）。
   * 16px 内容边距由本块 padding 承担（width:100% 配 border-box 防溢出）。
   */
  body:has(#flashdiv) .flashdiv_large_img {
    float: none;
    display: block;
    width: 100%;
    height: auto;
    margin-top: 14px;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
    overflow: visible;
  }

  /* 两个教学点改两列；minmax(0,1fr) 防止长标题撑破网格。 */
  body:has(#flashdiv) .flashdiv_large_img ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    height: auto;
  }

  /*
   * 按钮内部：校徽 + 文案作为一组水平居中（勿用 1fr 拉满文字列，
   * 否则两行短标题会贴左、右侧空一大块）。覆盖桌面 float / 53px 定高。
   * 玻璃白卡：与速览同族；手机 overflow:visible，可用轻蓝外投影。
   */
  body:has(#flashdiv) .flashdiv_large_img ul li:not(.li_colimgs) {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    min-width: 0;
    min-height: 56px;
    height: auto;
    width: auto;
    gap: 8px;
    padding: 8px 10px;
    overflow: visible;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(21, 51, 139, 0.22);
    box-shadow: 0 2px 8px rgba(21, 51, 139, 0.16);
  }

  body:has(#flashdiv) .flashdiv_large_img ul li:not(.li_colimgs):hover,
  body:has(#flashdiv) .flashdiv_large_img ul li:not(.li_colimgs):active {
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(21, 51, 139, 0.38);
    box-shadow: 0 3px 10px rgba(21, 51, 139, 0.22);
  }

  @supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    body:has(#flashdiv) .flashdiv_large_img ul li:not(.li_colimgs) {
      -webkit-backdrop-filter: blur(7px);
      backdrop-filter: blur(7px);
    }
  }

  /*
   * 教学点文案两行可读：覆盖桌面 h2{height:53px;line-height:53px;
   * overflow:hidden} 与 span{margin-left:20px}；14px + overflow:visible
   * 保留此前截断修复。折行点由 index.htm 的 .ia-teaching-site-line
   * 固定为「校名 / 宝鸡教学点」，避免自然折行出现孤「点」。
   */
  body:has(#flashdiv) .flashdiv_large_img ul li:not(.li_colimgs) > span {
    float: none;
    display: block;
    flex: 0 0 34px;
    margin: 0;
    width: 34px;
    height: 34px;
  }

  body:has(#flashdiv) .flashdiv_large_img ul li:not(.li_colimgs) > span img {
    width: 34px;
    height: 34px;
  }

  body:has(#flashdiv) .flashdiv_large_img ul li:not(.li_colimgs) h2 {
    float: none;
    box-sizing: border-box;
    flex: 0 1 auto;
    width: auto;
    max-width: calc(100% - 42px); /* 34 校徽 + 8 gap，防长校名撑破卡 */
    min-width: 0;
    height: auto;
    padding: 0;
    line-height: 1.35;
    text-align: left;
    text-indent: 0;
    color: #15338b;
    font-size: 14px;
    font-weight: 600;
    overflow: visible;
    white-space: normal;
    word-break: normal;
  }

  body:has(#flashdiv) .flashdiv_large_img ul li:not(.li_colimgs) h2 a {
    color: inherit;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 600;
  }

  /*
   * 手机两列卡：第二行统一为「宝鸡教学点」。
   * 全局已 reset 校徽 span 尺寸；此处仅改 display。
   */
  body:has(#flashdiv) .flashdiv_large_img .ia-teaching-site-line {
    display: block;
  }

  .flashdiv_large_img .li_colimgs {
    display: none;
  }

  /*
   * 速览卡：自照片上移到白底面板区——不透明白底 + 细边 + 浅阴影；
   * 4 个入口由单列 4 行改 2×2 网格（li 自带边框覆盖基础样式的
   * li+li 分隔线）。
   *
   * B 档（2026-07-25）：保留 small 副标题；卡高约 70、图标 32、
   * 标题行 20、指南按钮 40；收紧各级 margin/padding，使 #flashdiv_con
   * 总高约 515–530（原 ~638）。不改 260px 横幅体系。
   */
  body:has(#flashdiv) #flashdiv_right {
    display: block;
    float: none;
    width: auto; /* 原 width:100% 加左右 margin 会溢出，改 auto 让 margin 收边 */
    height: auto;
    margin: 4px 16px 12px;
    border: 1px solid rgba(16, 83, 150, 0.1);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(21, 51, 139, 0.09);
  }

  body:has(#flashdiv) #flashdiv_right .flashdiv_right_title {
    margin-top: 10px;
  }

  body:has(#flashdiv) #flashdiv_right .flashdiv_right_title h2 {
    padding: 0 12px;
    gap: 8px;
    font-size: 16px;
    line-height: 20px;
  }

  body:has(#flashdiv) #flashdiv_right .flashdiv_right_title h2::before,
  body:has(#flashdiv) #flashdiv_right .flashdiv_right_title h2::after {
    width: 20px;
    flex: 0 0 20px;
  }

  body:has(#flashdiv) .ia-application-overview {
    width: 100%;
    margin: 4px 0 0;
  }

  body:has(#flashdiv) .ia-application-overview ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 6px;
    padding: 0 10px;
    box-sizing: border-box;
  }

  body:has(#flashdiv) .ia-application-overview ul li {
    min-height: 70px;
    height: auto;
    border: 1px solid rgba(16, 83, 150, 0.08);
    border-radius: 8px;
    background: #f7fafe;
  }

  /*
   * B 档：图标 32 + column-gap 8；卡高约 70，保留 strong+small 两行；
   * align-items:center 继承基础样式，图标与文字整体垂直居中。
   */
  body:has(#flashdiv) .ia-application-overview ul li > a {
    min-height: 70px;
    height: 100%;
    padding: 6px 8px;
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 8px;
  }

  body:has(#flashdiv) .ia-quick-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 8px;
  }

  body:has(#flashdiv) .ia-quick-icon::before {
    inset: 7px;
  }

  body:has(#flashdiv) .ia-quick-copy strong {
    font-size: 14px;
    line-height: 20px;
  }

  /* 保留 small；2×2 网格下单卡变窄，说明文字允许换行（基础 nowrap）。 */
  body:has(#flashdiv) .ia-quick-copy small {
    font-size: 11px;
    line-height: 15px;
    white-space: normal;
  }

  body:has(#flashdiv) #flashdiv_right .flashdiv_right_sub {
    box-sizing: border-box;
    width: auto;
    height: 40px;
    margin: 8px 10px 10px;
  }

  body:has(#flashdiv) #flashdiv_right .flashdiv_right_sub span {
    height: 40px;
    line-height: 40px;
    font-size: 15px;
  }

  body:has(#flashdiv) #flashdiv_right .flashdiv_right_sub span a {
    font-size: 15px;
  }

  #head_bar,
  #head_bar_con {
    height: auto;
    min-height: 55px;
  }

  /* “通知公告”四字 + 40px 图标缩进约需 112px，收窄到 100px 会裁字。 */
  #slogan_left {
    width: 118px;
  }

  #slogan_center {
    width: calc(100% - 118px);
  }

  #slogan_right {
    display: none;
  }

  #business_top,
  #admission_top,
  #process_top,
  #news_top,
  #education_top {
    width: calc(100% - 32px);
    height: auto;
  }

  /*
   * 首页手机空间优化（拍板 1A 温和标题带 + 2B 流程两列）。
   * body:has(#flashdiv) 门控：仅首页，避免伤非首页若复用同选择器。
   * 收紧 style.css 桌面遗留的 40–60px margin / 105 定高。
   */
  body:has(#flashdiv) #business_top,
  body:has(#flashdiv) #admission_top {
    margin-top: 32px;
  }

  body:has(#flashdiv) #business_mid,
  body:has(#flashdiv) #admission_mid {
    margin-top: 18px;
  }

  body:has(#flashdiv) #strength_num_con {
    margin-top: 26px;
  }

  body:has(#flashdiv) #education_con {
    margin-top: 28px;
    padding-bottom: 16px;
  }

  body:has(#flashdiv) #education_top {
    margin-top: 24px;
  }

  body:has(#flashdiv) #process_top {
    margin-top: 20px;
  }

  body:has(#flashdiv) #main_center {
    padding-top: 24px;
    margin-bottom: 32px;
  }

  body:has(#flashdiv) #main_left_mid {
    margin-top: 20px;
  }

  /* 办学实力标题：取消桌面 105 定高 */
  body:has(#flashdiv) .strength_title {
    height: auto;
    overflow: visible;
  }

  body:has(#flashdiv) .strength_title h2 {
    height: auto;
    line-height: 1.35;
    font-size: 21px;
    padding: 16px 12px;
    overflow: visible;
  }

  .small_title {
    height: auto;
  }

  .small_title h2 {
    height: auto;
    font-size: 22px;
    line-height: 1.35;
  }

  /* 1A 温和：标题带约 56（非 48 紧凑、非 72） */
  body:has(#flashdiv) .small_title h2:only-child {
    min-height: 56px;
    height: auto;
    gap: 10px;
  }

  .small_title h2:only-child::before,
  .small_title h2:only-child::after {
    width: min(18vw, 64px);
    flex-basis: min(18vw, 64px);
  }

  .small_title h2 a {
    font-size: inherit;
  }

  body:has(#flashdiv) .small_title h2:only-child a {
    font-size: 24px;
    letter-spacing: 0.5px;
  }

  /*
   * 手机紧凑（观感 1A）：业务卡仍单列；报考指南改两列并压矮图标区。
   * flex:1 1 100% 对已改 grid 的 ul 无效，仅保留 width 铺满网格单元。
   */
  .business_lump ul li:not(.li_bcol),
  .admission_lump ul li:not(.li_cola) {
    width: 100%;
    max-width: none;
  }

  .business_lump ul {
    grid-template-columns: 1fr;
  }

  .admission_lump ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .admission_lump ul li:not(.li_cola),
  .admission_lump ul li:not(.li_cola):hover,
  .admissionli_lumpa,
  .admissionli_lumpb,
  .admissionli_lumpc,
  .admissionli_lumpd,
  .admissionli_lumpe,
  .admissionli_lumpf,
  .admissionli_lumpa:hover,
  .admissionli_lumpb:hover,
  .admissionli_lumpc:hover,
  .admissionli_lumpd:hover,
  .admissionli_lumpe:hover,
  .admissionli_lumpf:hover {
    min-height: 128px;
    height: auto;
    padding: 0;
    background-position: center 12px;
    background-size: 40px 40px;
  }

  .admission_lump .admissionli_link {
    min-height: 128px;
    padding: 58px 10px 14px;
  }

  /*
   * 报考指南字号：style.css 对 a:link/:visited 写死 18/16，单写 inherit 无效。
   * 标题/副文统一字号、字重、行高、居中；副文预留两行高度，避免「材料」单行与其它卡参差。
   */
  .admission_lump ul li h3,
  .admission_lump ul li h3 a,
  .admission_lump ul li h3 a:link,
  .admission_lump ul li h3 a:visited,
  .admission_lump ul li h3 a:hover,
  .admission_lump ul li h3 a:active {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
  }

  .admission_lump ul li p,
  .admission_lump ul li p a,
  .admission_lump ul li p a:link,
  .admission_lump ul li p a:visited,
  .admission_lump ul li p a:hover,
  .admission_lump ul li p a:active {
    margin: 0;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
  }

  .admission_lump ul li p {
    box-sizing: border-box;
    min-height: calc(1.4em * 2);
  }

  /*
   * 核心业务：装饰 SVG 从 96 收到约 70；卡高约 144，同步 hover。
   * 业务卡保持单列，避免三卡两列时末项独行过宽。
   */
  .business_lump ul li:not(.li_bcol),
  .business_lump ul li:not(.li_bcol):hover,
  .businessli_lumpa,
  .businessli_lumpb,
  .businessli_lumpc,
  .businessli_lumpa:hover,
  .businessli_lumpb:hover,
  .businessli_lumpc:hover {
    width: 100%;
    min-height: 144px;
    height: auto;
    padding: 22px 16px 18px 18px;
    background-position: right 14px center;
    background-size: 70px 70px;
  }

  .business_lump ul li h3,
  .business_lump ul li p {
    padding-right: min(78px, 30%);
  }

  #strength_num_con {
    height: auto;
    padding-bottom: 16px;
  }

  /*
   * 办学实力：两列网格；第五项跨列居中。图标约 52px。
   * 覆盖中间宽度 flex-wrap，避免 ≤390 再被压成单列。
   */
  .strength_num ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: center;
    justify-items: stretch;
    gap: 14px 10px;
    padding: 16px 12px 4px;
  }

  .strength_num ul li {
    box-sizing: border-box;
    flex: none;
    width: auto;
    min-width: 0;
    max-width: none;
    justify-content: center;
  }

  .strength_num ul li:last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, 220px);
  }

  .strength_num ul li span,
  .strength_num ul li span img {
    float: none;
    width: 52px;
    height: 52px;
  }

  .strength_num_copy {
    margin-left: 10px;
  }

  .strength_num_copy strong {
    font-size: 20px;
    line-height: 1.2;
  }

  .strength_num_copy small {
    font-size: 12px;
    line-height: 1.3;
  }

  /*
   * 院校徽章：保留两列；单图约 144×92，contain 不裁切。
   * 去掉对 grid 子项无效的 flex-basis 依赖（见 ≤390）。
   * #education_con padding-bottom 见上方 1A 门控（16px）。
   */
  .education_img ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: center;
    gap: 12px 10px;
  }

  .education_img ul li {
    box-sizing: border-box;
    width: 100%;
    max-width: 150px;
    height: auto;
    margin: 0;
  }

  .education_img ul li span,
  .education_img ul li span a {
    display: block;
    width: 100%;
    max-width: 150px;
    height: 92px;
    margin: 0 auto;
    overflow: hidden;
  }

  .education_img ul li span a img,
  .education_img ul li img {
    display: block;
    width: 100%;
    max-width: 150px;
    height: 92px;
    margin: 0 auto;
    object-fit: contain;
  }

  #process_mid {
    height: auto;
    margin-top: 16px;
  }

  /*
   * 2B：报考流程 ≤767 两列。
   * nowrap + 略缩图标，让长标题「选择层次/专业」与副文尽量同为一行，
   * 避免折行导致卡高/图标中线参差；height:100% 同行拉齐。
   * ≤390 再收一档（见下）。
   */
  body:has(#flashdiv) .ia-process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
  }

  body:has(#flashdiv) .ia-process-steps > li {
    display: flex;
  }

  body:has(#flashdiv) #process_mid .ia-process-step {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-height: 62px;
    padding: 8px 10px;
    align-items: center;
    /* 覆盖旧模板 align="center" 继承的 -webkit-center */
    text-align: left;
    justify-content: flex-start;
  }

  body:has(#flashdiv) .ia-process-step__icon {
    width: 34px;
    height: 34px;
    margin-right: 8px;
    flex: 0 0 34px;
  }

  body:has(#flashdiv) .ia-process-step__icon svg {
    width: 17px;
    height: 17px;
  }

  body:has(#flashdiv) .ia-process-step__copy {
    justify-content: center;
    align-items: flex-start;
    gap: 1px;
    text-align: left;
  }

  body:has(#flashdiv) .ia-process-step__copy strong,
  body:has(#flashdiv) .ia-process-step__copy small {
    text-align: left;
  }

  body:has(#flashdiv) .ia-process-step__copy strong {
    font-size: 14px;
    line-height: 1.3;
    white-space: nowrap;
  }

  body:has(#flashdiv) .ia-process-step__copy strong em {
    margin-right: 4px;
    font-size: 11px;
    letter-spacing: 0;
  }

  body:has(#flashdiv) .ia-process-step__copy small {
    font-size: 11px;
    line-height: 1.3;
    white-space: nowrap;
  }

  #news_con {
    margin-top: 24px;
  }

  #news_mid {
    margin-top: 24px;
    margin-bottom: 0;
  }

  #news_pic {
    width: 100% !important;
    height: auto !important;
  }

  /*
   * fcsplay 轮播的幻灯 a/img 是绝对定位，高度全靠插件写死的 577×387
   * 内联样式；只写 height:auto 会塌陷为 0 导致整个图集消失。
   * 用 aspect-ratio 维持原比例，幻灯充满容器。
   */
  #news_pic .silder,
  #news_pic .silder .list {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 577 / 387;
  }

  #news_pic .silder .list li {
    width: 100% !important;
    height: 100% !important;
  }

  #news_pic .silder .list a {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
  }

  #news_pic .silder .list img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  /*
   * fcsplay 底栏：.text 与 .pnum 均为 absolute 叠在底部。
   * 插件默认 .text 全宽、.pnum 右下角，窄屏时长标题会穿进分页数字。
   * 标题与分页是兄弟节点（标题为 .text 文本节点），无法对二者做 flex；
   * 用 padding-right 给分页留位 + ellipsis，分页略收间距并抬高 z-index。
   * 首页模板 show_pic_tpllist(...,8,...) 最多 8 页：8×(14+4)=144，+ right 4 + 间距 ≈164。
   */
  #news_pic .silder .text {
    box-sizing: border-box;
    padding-right: 164px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  #news_pic .silder .pnum {
    z-index: 2;
    right: 4px;
    bottom: 0;
    height: 42px;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
  }

  #news_pic .silder .pnum li {
    float: none;
    flex: 0 0 auto;
    width: 14px;
    height: 16px;
    line-height: 16px;
    margin: 0 4px 0 0;
    font-size: 11px;
  }

  /* 旧新闻列表固定 628px（标题 500px + 日期 78px），窄屏会裁掉日期列。 */
  #news_list_top,
  #news_list_mid,
  #news_listr {
    width: 100%;
  }

  /*
   * 新闻区三标签（学院动态 / 招生信息 / 政策解读）：
   * 桌面 .seton/.setout 固定 127px×3≈381 + 字号 20，≤767 容器约 320–337
   * 时 ≤1279 的 flex-wrap:wrap 会把第三项折到第二行（高≈85）。
   * 改为 nowrap + 等分宽度 + 略减字号，保持单行 tab 高度。
   * .set_more 仅承载 #setlink（hover 换 href，无可见文案），不可参与等分。
   */
  #news_list_top {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 4px;
    height: 47px;
    min-height: 47px;
    overflow: hidden;
  }

  #news_list_top > .seton,
  #news_list_top > .setout {
    float: none;
    box-sizing: border-box;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
  }

  #news_list_top > .set_more {
    flex: 0 0 0;
    width: 0;
    min-width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }

  #news_list_top .seton span,
  #news_list_top .setout span {
    float: none;
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 0 2px;
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #news_list_top .seton span a,
  #news_list_top .seton span a:link,
  #news_list_top .seton span a:visited,
  #news_list_top .seton span a:active,
  #news_list_top .seton span a:hover,
  #news_list_top .setout span a,
  #news_list_top .setout span a:link,
  #news_list_top .setout span a:visited,
  #news_list_top .setout span a:active,
  #news_list_top .setout span a:hover {
    display: block;
    width: 100%;
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #news_listr ul li {
    display: flex;
    height: auto;
    min-height: 40px;
    align-items: center;
  }

  #news_listr ul li h1 {
    float: none;
    width: auto;
    min-width: 0;
    flex: 1 1 auto;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  #news_listr ul li h2 {
    float: none;
    flex: 0 0 78px;
  }

  /*
   * 荣誉：手机两列（第三项跨列居中）；单项约 132px。
   * 去掉原 220px「手机反而加高」；奖牌 object-fit:contain 已在基线。
   * #main_center padding-top 见上方 1A 门控（24px）。
   */
  .ia-home-honours {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    height: auto;
  }

  .ia-home-honours li,
  .ia-home-honours a {
    height: 132px;
  }

  .ia-home-honours li:last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, 50%);
    min-width: 148px;
  }

  .ia-home-honours img {
    object-fit: contain;
  }

  .ia-campus-slider {
    width: 100%;
    height: auto;
    aspect-ratio: 409 / 236;
  }

  #main_right video {
    width: 100%;
    height: auto;
  }

  /*
   * 手机页脚：单列左对齐，收紧字号/行高/区块间距与二维码尺寸，
   * 目标把 #footer_con 从约 700px 压到约 500 量级；二维码保持可扫（约 108）。
   * 桌面（≥768）规则不变。
   */
  #footer {
    height: auto;
    min-height: 0;
  }

  #footer_con {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 16px 14px 10px;
  }

  #footer_left,
  #footer_center,
  #footer_right {
    width: 100%;
    margin: 0 0 12px;
  }

  /* 二维码区在单列页脚内水平居中；联系/友链仍左对齐。 */
  #footer_center {
    justify-content: center;
  }

  #footer_logos {
    width: 100%;
    max-width: 240px;
    height: 54px;
    background-size: contain;
    background-position: left center;
  }

  #footer_logos a {
    width: 100%;
    height: 54px;
  }

  #contact {
    margin-top: 4px;
  }

  /* 地址/电话/微信：统一左对齐、收紧字号行高，避免三行过高。 */
  #footer .addressr {
    font-size: 13px;
    line-height: 1.4;
    text-align: left;
  }

  #footer_center .ewm,
  #footer_center .ewm ul {
    width: 100%;
    max-width: 236px;
    margin-left: auto;
    margin-right: auto;
  }

  #footer_center .ewm ul {
    justify-content: center;
    gap: 12px;
  }

  #footer_center .ewm ul li {
    max-width: 108px;
  }

  #footer_center .ewm ul li span img {
    /* 覆盖桌面 8px；白框略收仍可读。 */
    padding: 6px;
  }

  /* 报名咨询码 quiet-zone 补偿随盒子缩小：16→11，图案仍接近公众号。 */
  #footer_center .ewm ul li:nth-child(3) span img {
    padding: 11px;
  }

  #footer_center .ewm ul li h2 {
    height: 26px;
    line-height: 26px;
    font-size: 12px;
  }

  .friend_title {
    margin-bottom: 2px;
  }

  .friend_title h2 {
    font-size: 15px;
    line-height: 1.3;
  }

  /*
   * 友情链接：固定两列，避免 flex 流式把短名「学信网」甩到右侧大空隙。
   * 不改 CMS 数据源与链接文案。
   */
  .friendlink ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 12px;
  }

  .friendlink ul li {
    width: auto;
    min-width: 0;
    height: auto;
    line-height: 1.4;
  }

  .friendlink ul li a,
  .friendlink ul li a:link,
  .friendlink ul li a:visited,
  .friendlink ul li a:active,
  .friendlink ul li a:hover {
    font-size: 13px;
  }

  #copyright {
    margin: 0;
  }

  #copyright,
  #copyright_txt {
    height: auto;
    min-height: 0;
    overflow: visible;
    text-align: center;
  }

  #copyright_txt {
    padding: 8px 0 2px;
    font-size: 12px;
    line-height: 1.45;
  }

  #copyright_txt .addrest,
  #copyright_txt a.addrest:link,
  #copyright_txt a.addrest:visited,
  #copyright_txt a.addrest:active,
  #copyright_txt a.addrest:hover {
    font-size: inherit;
    line-height: inherit;
  }

  /* 手机端列表：上图下文；图片 16:9。 */
  #article_list ul li {
    padding: 16px;
    grid-template-columns: minmax(0, 1fr);
  }

  #article_list ul li span {
    margin: 0 0 14px;
    grid-row: auto;
    grid-column: 1;
  }

  #article_list ul li span a img {
    aspect-ratio: 16 / 9;
  }

  #article_list ul li h1,
  #article_list ul li h2,
  #article_list ul li h3 {
    grid-column: 1;
  }

  /* 手机分页：触控高度升至 40px，换行时间距略松，总页数说明独占一行。 */
  #pagelist {
    gap: 6px 2px;
    margin-bottom: 40px;
  }

  #pagelist #homepage,
  #pagelist #prepage,
  #pagelist #itempage,
  #pagelist #nextpage,
  #pagelist #lastpage,
  #pagelist #nowpage {
    min-width: 40px;
    min-height: 40px;
  }

  #pagelist #totalpage {
    flex-basis: 100%;
    justify-content: center;
    min-height: 24px;
    margin: 2px 0 0;
  }

  #article_lists ul li {
    height: auto;
    min-height: 100px;
  }

  #article_lists ul li h6 {
    width: 82px;
  }

  #article_lists ul li h3,
  #article_lists ul li h5 {
    width: calc(100% - 107px);
    margin-left: 15px;
  }

  .txpic_list ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .txpic_list ul li,
  .txpic_list ul li span,
  .txpic_list ul li span a img,
  .txpic_list ul li h1 {
    float: none;
    width: 100%;
  }

  .txpic_list ul li {
    height: auto;
    margin: 0;
  }

  .txpic_list ul li span,
  .txpic_list ul li span a img {
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }

  /*
   * 长页手机端去掉「#main 缩进 + 长页再缩进」的双重留白。
   * #main 在长页 fid 上拉满视口；正文左右 16px 由本块 padding 承担。
   * 交替色带 .ia-section--alt 改为全宽直角，避免两侧再露一圈浅底。
   */
  body[data-page-fid="3"] #main,
  body[data-page-fid="105"] #main,
  body[data-page-fid="103"] #main,
  body[data-page-fid="143"] #main,
  body[data-page-fid="169"] #main,
  body[data-page-fid="163"] #main,
  body[data-page-fid="164"] #main,
  body[data-page-fid="201"] #main,
  body[data-page-fid="202"] #main {
    width: 100%;
    max-width: none;
  }

  .ia-long-page {
    box-sizing: border-box;
    width: 100%;
    /* 不能恢复上边距：页头仍需压在栏目图上。 */
    margin-top: 0;
    padding-left: 16px;
    padding-right: 16px;
    font-size: 15px;
  }

  .ia-anchor-nav {
    /* 抵消长页 16px padding，背景贴齐视口；链接仍有左右 16px。 */
    margin-left: -16px;
    margin-right: -16px;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  .ia-long-page__intro {
    padding: 22px 0;
  }

  .ia-page-hero__eyebrow {
    margin-bottom: 10px;
    font-size: 13px;
  }

  .ia-long-page__intro h1 {
    margin-bottom: 10px;
  }

  .ia-section {
    padding: 36px 0;
  }

  /* 手机端色带全宽铺底（抵消长页 16px padding），正文仍保留左右边距。 */
  .ia-section--alt {
    margin: 0 calc(-1 * 16px);
    padding: 36px 16px;
    border-radius: 0;
  }

  .ia-section-head {
    margin-bottom: 26px;
  }

  /*
   * 手机端标题常换行到 2–3 行，两侧装饰线会停在中间那行旁边，看起来像被穿过。
   * CSS 无法感知换行，因此窄屏直接去掉装饰线——金色小标签已经承担了装饰作用。
   */
  .ia-section-head h2 {
    display: block;
  }

  .ia-section-head h2::before,
  .ia-section-head h2::after {
    display: none;
  }

  .ia-card,
  .ia-admission-card {
    padding: 20px;
  }

  .ia-card-grid,
  .ia-admission-grid,
  .ia-gallery,
  .ia-gallery--2,
  .ia-gallery--certs {
    grid-template-columns: 1fr;
  }

  /* 时间线在手机端收紧左缩进，保持单列可读。 */
  .ia-timeline li {
    padding-left: 42px;
  }

  .ia-table th,
  .ia-table td {
    padding: 10px 12px;
    font-size: 14px;
  }

  .ia-cta {
    padding: 30px 18px;
    border-radius: 12px;
  }

  .ia-news-filter {
    width: calc(100% - 28px);
  }

  .ia-news-filter__list {
    flex-wrap: nowrap;
    padding-bottom: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ia-consult-head,
  .ia-consult-intro,
  .ia-consult-form {
    width: calc(100% - 28px);
  }

  .ia-consult-head {
    margin-top: calc(-1 * var(--ia-hero-h));
    margin-bottom: 0;
    padding: 22px 0;
  }

  .ia-consult-head__title {
    font-size: 24px;
  }

  .ia-consult-intro {
    padding: 17px 18px;
  }

  .ia-consult-intro__list {
    padding-left: 1.2em;
  }

  .ia-consult-form {
    margin-top: 18px;
  }

  .tbmsg {
    width: 100%;
  }

  .tbmsg,
  .tbmsg tbody,
  .tbmsg tr,
  .tbmsg td {
    display: block;
    width: 100%;
    height: auto;
  }

  .tbmsg tr {
    padding: 0;
    border-bottom: 1px solid var(--ia-border);
  }

  .tbmsg tr td {
    box-sizing: border-box;
    padding: 15px 18px;
    border: 0;
    text-align: left !important;
  }

  .tbmsg td.msg_title,
  .tbmsg td.reg_tabletd {
    width: 100%;
    padding-top: 15px;
    padding-bottom: 0;
  }

  .tbmsg td.msg_title + td,
  .tbmsg td.reg_tabletd + td {
    padding-top: 8px;
  }

  .tbmsg input[type="text"],
  .tbmsg input[type="tel"],
  .tbmsg input[type="email"],
  .tbmsg select {
    width: 100%;
    max-width: none;
  }

  .tbmsg-captcha #checkcode {
    width: min(150px, 100%);
  }

  .tbmsg-legal {
    max-width: none;
  }

  .tbmsg .reg_submit {
    width: 100%;
    min-height: 48px;
  }

  .ia-gallery-dialog {
    padding: 10px;
  }

  .ia-gallery-dialog__panel {
    max-height: calc(100vh - 20px);
    padding: 12px;
  }

  .ia-gallery-dialog__caption {
    margin-right: 44px;
    margin-left: 44px;
  }
}

@media (max-width: 390px) {
  .txpic_list ul {
    grid-template-columns: 1fr;
  }

  /*
   * ≤390：新闻图轮播底栏再收分页间距；8×(14+3)=136，+ right 4 + 间距 ≈156。
   */
  #news_pic .silder .text {
    padding-right: 156px;
    font-size: 13px;
  }

  #news_pic .silder .pnum li {
    margin-right: 3px;
  }

  /*
   * ≤390：新闻三标签再收一档字号，保证 360 内容宽约 328 时三词仍同行全显。
   */
  #news_list_top {
    gap: 2px;
  }

  #news_list_top .seton span,
  #news_list_top .setout span,
  #news_list_top .seton span a,
  #news_list_top .seton span a:link,
  #news_list_top .seton span a:visited,
  #news_list_top .seton span a:active,
  #news_list_top .seton span a:hover,
  #news_list_top .setout span a,
  #news_list_top .setout span a:link,
  #news_list_top .setout span a:visited,
  #news_list_top .setout span a:active,
  #news_list_top .setout span a:hover {
    font-size: 14px;
    padding: 0 1px;
  }

  /*
   * 办学实力 / 院校徽章：≤767 已定两列紧凑布局。
   * 不再用 flex-basis:100% 把实力压回单列，也不对 grid 徽章写无效 flex。
   */
  .admission_lump ul li:not(.li_cola),
  .admission_lump ul li:not(.li_cola):hover,
  .admissionli_lumpa,
  .admissionli_lumpb,
  .admissionli_lumpc,
  .admissionli_lumpd,
  .admissionli_lumpe,
  .admissionli_lumpf,
  .admissionli_lumpa:hover,
  .admissionli_lumpb:hover,
  .admissionli_lumpc:hover,
  .admissionli_lumpd:hover,
  .admissionli_lumpe:hover,
  .admissionli_lumpf:hover {
    min-height: 120px;
    padding: 0;
    background-size: 36px 36px;
  }

  .admission_lump .admissionli_link {
    min-height: 120px;
    padding: 54px 10px 14px;
  }

  /*
   * ≤390：流程卡再收一档，保证「选择层次/专业」与最长副文 nowrap 不溢出。
   */
  body:has(#flashdiv) #process_mid .ia-process-step {
    min-height: 58px;
    padding: 8px;
  }

  body:has(#flashdiv) .ia-process-step__icon {
    width: 32px;
    height: 32px;
    margin-right: 6px;
    flex: 0 0 32px;
  }

  body:has(#flashdiv) .ia-process-step__icon svg {
    width: 16px;
    height: 16px;
  }

  body:has(#flashdiv) .ia-process-step__copy strong {
    font-size: 13px;
  }

  body:has(#flashdiv) .ia-process-step__copy strong em {
    margin-right: 3px;
    font-size: 10px;
  }

  .business_lump ul li:not(.li_bcol),
  .business_lump ul li:not(.li_bcol):hover,
  .businessli_lumpa,
  .businessli_lumpb,
  .businessli_lumpc,
  .businessli_lumpa:hover,
  .businessli_lumpb:hover,
  .businessli_lumpc:hover {
    min-height: 136px;
    background-size: 64px 64px;
  }

  .ia-home-honours li,
  .ia-home-honours a {
    height: 120px;
  }

  .education_img ul li,
  .education_img ul li span,
  .education_img ul li span a,
  .education_img ul li span a img,
  .education_img ul li img {
    max-width: 136px;
  }

  .education_img ul li span,
  .education_img ul li span a,
  .education_img ul li span a img,
  .education_img ul li img {
    height: 86px;
  }

  /*
   * ≤390：页脚再收一档；二维码约 100（不低于约 96），字号/间距略紧。
   */
  #footer_con {
    padding: 14px 12px 8px;
  }

  #footer_left,
  #footer_center,
  #footer_right {
    margin: 0 0 10px;
  }

  #footer_logos {
    max-width: 220px;
    height: 48px;
  }

  #footer_logos a {
    height: 48px;
  }

  #footer .addressr {
    font-size: 12px;
    line-height: 1.38;
  }

  #footer_center .ewm,
  #footer_center .ewm ul {
    max-width: 216px;
  }

  #footer_center .ewm ul {
    gap: 10px;
  }

  #footer_center .ewm ul li {
    max-width: 100px;
  }

  #footer_center .ewm ul li span img {
    padding: 5px;
  }

  #footer_center .ewm ul li:nth-child(3) span img {
    padding: 10px;
  }

  #footer_center .ewm ul li h2 {
    height: 22px;
    line-height: 22px;
    font-size: 11px;
  }

  .friend_title h2 {
    font-size: 14px;
  }

  .friendlink ul {
    gap: 1px 10px;
  }

  .friendlink ul li a,
  .friendlink ul li a:link,
  .friendlink ul li a:visited,
  .friendlink ul li a:active,
  .friendlink ul li a:hover {
    font-size: 12px;
  }

  #copyright_txt {
    padding: 6px 0 0;
    font-size: 11px;
    line-height: 1.4;
  }
}

/*
 * 首页通知栏吸顶（≥768）：无手机端单列 grid，原生 sticky 可用。
 * top 让出 fixed 页头（--ia-header-h：桌面 64 / 平板区间见上方覆盖）。
 * overflow:visible 解除 style.css #wrapper{overflow:hidden} 对 sticky 的切断。
 * ≤767 走 grid + ia-components.js 的 fixed/spacer，不依赖本规则。
 */
@media (min-width: 768px) {
  body:has(#flashdiv) #wrapper {
    overflow: visible;
  }

  body:has(#flashdiv) #head_bar {
    position: sticky;
    top: var(--ia-header-h);
    z-index: 90;
  }
}

/*
 * 页脚友情链接 hover 反馈。style.css 原有 .friendlink ul li a:hover 与常态
 * 完全相同（白色、无下划线），外链没有任何可感知的悬停反馈。此处仅覆盖
 * hover 颜色为浅金并加 150ms 过渡，不改动排列、间距、字号等页脚布局。
 */
.friendlink ul li a {
  transition: color 150ms ease;
}

.friendlink ul li a:hover {
  color: var(--ia-hero-gold);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
