/* jixueedu mobile-first responsive — P0-7 / art review §4 */
html {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}
body {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  position: relative;
}
img, video, iframe, embed, object, svg {
  max-width: 100%;
  height: auto;
}

/* hamburger — desktop hidden */
.jx-m-toggle {
  display: none;
  appearance: none;
  border: 0;
  background: transparent;
  width: 44px;
  height: 44px;
  padding: 10px;
  margin: 0;
  cursor: pointer;
  position: relative;
  z-index: 1002;
  flex: 0 0 auto;
}
.jx-m-toggle span {
  display: block;
  height: 2px;
  margin: 6px 0;
  background: #222;
  border-radius: 1px;
  transition: transform .2s ease, opacity .2s ease;
}
.jx-m-toggle.is-open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.jx-m-toggle.is-open span:nth-child(2) {
  opacity: 0;
}
.jx-m-toggle.is-open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}
.jx-m-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 1000;
}
body.jx-nav-open .jx-m-backdrop {
  display: block;
}

@media (max-width: 900px) {
  .jx-m-toggle { display: inline-block; }

  /* kill fixed desktop widths (~1180) that drive scrollWidth~1210 */
  .grid-page,
  .grid-header,
  .grid-body,
  .grid-row,
  .grid-footer,
  .g-wrapper,
  .g-header-v2,
  .g-header-v2 .mast,
  .g-header-v2 .nav,
  .g-footer,
  .inner,
  .g-header-v2 .inner,
  .g-header-v2 .mast .inner,
  .g-header-v2 .nav .inner,
  .mod,
  .g-mod,
  .index-main,
  .news-mod-main,
  .school-list,
  .swiper-container,
  .swiper,
  .banner {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .g-header-v2 .mast .inner {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px !important;
  }
  .g-header-v2 .mast .logo {
    flex: 1 1 auto;
    min-width: 0;
  }
  .g-header-v2 .mast .logo h2 a img {
    max-height: 36px !important;
    width: auto !important;
  }
  .g-header-v2 .mast .search {
    display: none !important;
  }
  .g-header-v2 .mast .tel {
    order: 3;
    width: 100%;
    text-align: center;
    margin: 0 !important;
  }
  .g-header-v2 .mast .tel .phone_number {
    margin-top: 0 !important;
    font-size: 14px;
  }
  .g-header-v2 .mast .gd,
  .g-header-v2 .mast .other_entrance {
    display: none !important;
  }

  /* drawer nav */
  .g-header-v2 .nav {
    position: fixed !important;
    top: 0;
    right: 0;
    width: min(86vw, 320px) !important;
    max-width: min(86vw, 320px) !important;
    height: 100vh;
    background: #fff;
    z-index: 1001;
    transform: translateX(105%);
    transition: transform .22s ease;
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: -8px 0 24px rgba(0,0,0,.12);
    padding: 56px 0 24px;
  }
  body.jx-nav-open .g-header-v2 .nav {
    transform: translateX(0);
  }
  .g-header-v2 .nav .inner {
    width: 100% !important;
    padding: 0 !important;
  }
  .g-header-v2 .nav ul {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
  }
  .g-header-v2 .nav li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    border-bottom: 1px solid #eee;
    white-space: normal !important;
  }
  .g-header-v2 .nav li > a {
    display: block !important;
    padding: 14px 18px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    color: #1a1a1a !important;
    background: transparent !important;
    text-shadow: none !important;
  }
  .g-header-v2 .nav li.active > a,
  .g-header-v2 .nav li > a:hover,
  .g-header-v2 .nav li > a:focus {
    color: #02456c !important;
    background: #f0f6fa !important;
  }
  .g-header-v2 .nav li .wrap {
    position: static !important;
    display: none;
    width: 100% !important;
    box-shadow: none !important;
    background: #f7f8fa !important;
    padding: 0 0 8px !important;
  }
  .g-header-v2 .nav li.is-open .wrap,
  .g-header-v2 .nav li:focus-within .wrap {
    display: block !important;
  }
  .g-header-v2 .nav li .wrap span,
  .g-header-v2 .nav li .wrap a {
    display: block !important;
    padding: 10px 18px 10px 28px !important;
    font-size: 14px !important;
    color: #222 !important;
    background: transparent !important;
  }

  .grid-row,
  .grid-col-1,
  .grid-col-2,
  .grid-col-3,
  .grid-col-4,
  [class*="grid-col-"] {
    width: 100% !important;
    float: none !important;
    display: block !important;
    margin: 0 0 12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  .swiper-container,
  .swiper,
  .banner,
  .mod-banner,
  .index-banner,
  [class*="banner"],
  [class*="swiper"] {
    max-width: 100vw !important;
    overflow: hidden !important;
  }
  .swiper-slide img,
  .banner img,
  .mod-banner img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
  }

  .news-mod-main,
  .news-article,
  .news-detail,
  .school-list,
  .g-mod,
  .news-breadcrumb,
  .article-sidebar {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .news-detail .content,
  .news-detail .title h1,
  .article-detail,
  .school-detail {
    font-size: 16px !important;
    line-height: 1.7 !important;
    word-break: break-word;
  }
  .news-detail .content img,
  .school-detail img {
    width: 100% !important;
    height: auto !important;
  }

  /* hide / shrink floating ads that inflate scrollWidth */
  .g-dish,
  .left-ad,
  .side-ad,
  .float-ad,
  [class*="left_ad"],
  [class*="left-ad"] {
    display: none !important;
  }

  .g-footer .rich,
  .g-footer .links,
  .g-footer .links > div {
    width: 100% !important;
    float: none !important;
    display: block !important;
  }
  .g-footer .links {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 12px !important;
  }

  table {
    display: block;
    width: 100% !important;
    overflow-x: auto;
  }

  /* city pills / tags wrap */
  .city-list,
  .tag-list,
  .grade-list,
  [class*="city"] {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* homepage modules with hard-coded 470/500/520/900 widths */
  .list,
  .tablist,
  .tab,
  .tab-indicator,
  .tab-content,
  .tab_switch,
  .filing,
  .news,
  .image,
  .block_title,
  .hot-school,
  .mod-list,
  #international-school,
  #hotNews,
  .g-mod .list,
  .g-mod .news {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .image img,
  .filing img,
  .news img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 480px) {
  .g-footer .links {
    grid-template-columns: 1fr;
  }
  .g-header-v2 .mast .tel {
    font-size: 13px;
  }
}

/* R5 final kill-switch for residual 463 overflow */
@media (max-width: 900px) {
  html, body, .grid-page {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  body > *, .grid-page > *, .grid-body > *, .grid-row > * {
    max-width: 100vw !important;
  }
  /* any leftover desktop px widths */
  .list, .tablist, .tab, .tab-indicator, .tab-content, .tab_switch,
  .filing, .news, .image, .block_title, .hot-school, .mod-list,
  .school-card, .card, .item, .box, .wrap, .content, .main,
  .left, .right, .side, .aside, .col, .column,
  #international-school, #hotNews, .g-mod, .g-mod * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  /* override inline / stylesheet width:NNNpx via common homepage modules */
  .list, .tablist, #international-school, .filing, .news, .image, .block_title, .tab_switch, .tab, .tab-indicator {
    width: 100% !important;
  }
  img { max-width: 100% !important; height: auto !important; }
}

/* R7: kill style.css 1210 / main.css 1180 dead widths on mobile */
@media (max-width: 900px) {
  .g-wrapper,
  .grid-row,
  .g-header-v2 .inner,
  .g-header-v2 .mast .inner,
  .g-header-v2 .nav .inner {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
}

/* R3 art: news main before sidebar; high cards; schools junk control */
@media (max-width: 900px) {
  /* 抽屉导航：强制深色字（覆盖桌面 #fafafa） */
  .g-header-v2 .nav,
  .g-header-v2 .nav .inner,
  .g-header-v2 .nav ul {
    background: #fff !important;
  }
  body .g-header-v2 .nav li > a,
  body.jx-nav-open .g-header-v2 .nav li > a,
  .g-header-v2 .nav ul li a {
    color: #1a1a1a !important;
    background: #fff !important;
    text-shadow: none !important;
    -webkit-text-fill-color: #1a1a1a !important;
  }
  body .g-header-v2 .nav li.active > a,
  body .g-header-v2 .nav li > a:hover,
  body .g-header-v2 .nav li > a:active {
    color: #02456c !important;
    background: #eef5f9 !important;
    -webkit-text-fill-color: #02456c !important;
  }
  body .g-header-v2 .nav li .wrap a,
  body .g-header-v2 .nav li .wrap span {
    color: #222 !important;
    -webkit-text-fill-color: #222 !important;
  }

  /* 顶栏收紧：电话改一行紧凑，Logo+汉堡同行 */
  .g-header-v2 .mast {
    padding: 8px 0 !important;
  }
  .g-header-v2 .mast .inner {
    min-height: 48px !important;
    padding: 4px 12px !important;
    align-items: center !important;
  }
  .g-header-v2 .mast .tel {
    order: 0 !important;
    width: auto !important;
    flex: 0 0 auto !important;
    margin: 0 8px 0 0 !important;
    text-align: left !important;
    font-size: 12px !important;
  }
  .g-header-v2 .mast .tel .phone_number,
  .g-header-v2 .mast .tel * {
    font-size: 12px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }

  /* 资讯列表/详情：仅当存在主列+侧栏时重排（勿伤院校库） */
  .grid-body > .grid-row:has(> .grid-col-3) {
    display: flex !important;
    flex-direction: column !important;
  }
  .grid-body > .grid-row:has(> .grid-col-3) > .grid-col-1 {
    order: 1 !important;
  }
  .grid-body > .grid-row:has(> .grid-col-3) > .grid-col-3 {
    order: 2 !important;
  }
  .grid-body > .grid-row:has(> .grid-col-3) > .grid-col-2 {
    order: 3 !important;
    margin-top: 16px !important;
    padding-top: 12px !important;
    border-top: 1px solid #eee;
  }
  .grid-body > .grid-row:has(> .grid-col-3) > .grid-col-2 .article-sidebar,
  .grid-body > .grid-row:has(> .grid-col-3) > .grid-col-2 .g-mod {
    max-height: none !important;
  }

  /* 院校库：筛选 grid-col-1 必须在列表之前 */
  .grid-body > .grid-row:has(> .grid-col-1 .list-filter-school) {
    display: flex !important;
    flex-direction: column !important;
  }
  .grid-body > .grid-row > .grid-col-1:has(.list-filter-school) {
    order: 0 !important;
  }
  .grid-body > .grid-row:has(> .grid-col-1 .list-filter-school) > .grid-row {
    order: 2 !important;
  }

  /* /high 三卡单列，禁止裁字 */
  .block-intro,
  .block-intro .list,
  .block-intro .items {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 12px !important;
  }
  .block-intro .item,
  .block-intro .item.item_1,
  .block-intro .item.item_2,
  .block-intro .item.item_3 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    padding: 12px !important;
  }
  .block-intro .item h3,
  .block-intro .item li,
  .block-intro .item li a,
  .block-intro .item li em,
  .block-intro .item li small,
  .block-intro .item p {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }

  /* 院校库：筛选首屏 + 帮我推荐零叠压 */
  .tab-label .form_close,
  .list-filter-school .form_close,
  .dialog-talk99_zx .form_close,
  .g-btn .form_close,
  .tab-label small .form_close,
  .list-filter-school .breadcrumb .form_close {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .g-dish .form_close,
  .contact-sidebar .form_close,
  body > .form_close {
    z-index: 50 !important;
  }

  .list-filter-school .breadcrumb {
    display: block !important;
    width: 100% !important;
    position: static !important;
    overflow: visible !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    min-height: 0 !important;
  }
  .list-filter-school .breadcrumb h1,
  .list-filter-school .breadcrumb h1 a,
  .list-filter-school .breadcrumb > * {
    position: static !important;
    float: none !important;
    display: inline !important;
    white-space: normal !important;
  }

  .tab-label {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .tab-label ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    position: static !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
  }
  .tab-label li {
    float: none !important;
    position: static !important;
    width: calc(50% - 4px) !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }
  .tab-label li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 8px !important;
    white-space: normal !important;
    line-height: 1.3 !important;
  }
  .tab-label small {
    display: block !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    float: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
    transform: none !important;
    z-index: auto !important;
  }
  .tab-label small .g-btn,
  .tab-label small button.g-btn {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    float: none !important;
  }
}

/* R4 schools harden (outside prior block if needed) */
@media (max-width: 900px) {
  .tab-label small {
    position: static !important;
  }
}



/* NAV-IA-P0 school header + banner */
@media (max-width: 900px) {
  .school-header .mast .inner {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px !important;
  }
  .school-header .logo {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
  }
  .school-header .logo .jx-site-home img {
    max-height: 28px !important;
    width: auto !important;
  }
  .school-header .logo .jx-school-logo img {
    max-height: 32px !important;
    width: auto !important;
  }
  .school-header .tel { display: none !important; }
  .school-header .nav {
    position: fixed !important;
    top: 0; right: 0;
    width: min(86vw, 320px) !important;
    max-width: min(86vw, 320px) !important;
    height: 100vh;
    background: #fff !important;
    z-index: 1001;
    transform: translateX(105%);
    transition: transform .22s ease;
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: -8px 0 24px rgba(0,0,0,.12);
    padding: 56px 0 24px;
  }
  body.jx-nav-open .school-header .nav { transform: translateX(0); }
  .school-header .nav .inner,
  .school-header .nav ul {
    width: 100% !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .school-header .nav li {
    display: block !important;
    float: none !important;
    width: 100% !important;
    border-bottom: 1px solid #eee;
  }
  .school-header .nav li > a {
    display: block !important;
    padding: 14px 18px !important;
    font-size: 16px !important;
    color: #1a1a1a !important;
    background: #fff !important;
    -webkit-text-fill-color: #1a1a1a !important;
  }
  .school-header .nav li.active > a {
    color: #02456c !important;
    background: #eef5f9 !important;
    -webkit-text-fill-color: #02456c !important;
  }
  .school-breadcrumb a[href] { color: #02456c !important; }

  .index-main .banner,
  .mod-banner,
  .swiper-container.banner,
  .swiper.banner,
  .home-banner,
  .block-banner,
  [class*="banner"].swiper-container {
    width: 100% !important;
    max-width: 100vw !important;
    height: auto !important;
    aspect-ratio: 16 / 7;
    overflow: hidden !important;
  }
  .swiper-slide,
  .banner .swiper-slide,
  .mod-banner .swiper-slide { height: 100% !important; }
  .swiper-slide img,
  .banner img,
  .mod-banner img,
  .index-main .banner img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  /* home hero: kill desktop fixed 400px / centered 800px slide offset */
  .index-banner {
    width: 100% !important;
    max-width: 100vw !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 7 !important;
    overflow: hidden !important;
  }
  .index-banner .wrapper {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: inherit !important;
    overflow: hidden !important;
    background-color: #1a1a1a !important;
    background-image: none !important;
  }
  /* P0: 桌面 left:50% + margin-left:-150px 导致 active 偏出 / 白底空窗 */
  .index-banner .slide,
  .index-banner .swiper-container.slide,
  .index-banner #topBanner {
    position: relative !important;
    left: 0 !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: inherit !important;
    overflow: hidden !important;
    background-image: none !important;
    background-color: transparent !important;
    transform: none !important;
  }
  /* 禁止把 wrapper 压成视口宽：会 overflow 裁掉 translate 后的 active 图 */
  .index-banner .swiper-wrapper {
    max-width: none !important;
    width: auto !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
  }
  .index-banner .swiper-slide {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
  }
  .index-banner .swiper-slide img,
  .index-banner img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* ===== NAV-IA + 全栏目 Hero P0 ===== */
.jx-site-breadcrumb,
.school-breadcrumb {
  background: #f7f8fa;
  border-bottom: 1px solid #eee;
  font-size: 13px;
  line-height: 1.4;
}
.jx-site-breadcrumb .g-wrapper,
.school-breadcrumb .g-wrapper {
  padding: 8px 12px !important;
  width: 100% !important;
  max-width: 1180px;
  margin: 0 auto;
  box-sizing: border-box;
}
.jx-site-breadcrumb a,
.school-breadcrumb a {
  color: #02456c !important;
  text-decoration: none;
}
.jx-site-breadcrumb i,
.school-breadcrumb i {
  margin: 0 6px;
  color: #999;
  font-style: normal;
}
.list-filter-school .jx-bc-home {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  font-size: 13px;
}
.list-filter-school .jx-bc-home a {
  color: #02456c !important;
}

/* 校内二级条 */
.school-subnav {
  background: #f0f4f7;
  border-bottom: 1px solid #d9e2ea;
  width: 100%;
}
.school-subnav .inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 8px 12px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  box-sizing: border-box;
}
.school-subnav-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.school-subnav-brand img {
  height: 28px;
  width: auto;
  display: block;
}
.school-subnav-brand .jx-school-name {
  font-size: 14px;
  font-weight: 600;
}
.school-subnav-brand .jx-school-name a {
  color: #02456c;
  text-decoration: none;
}
.school-subnav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
}
.school-subnav-list li a {
  display: inline-block;
  padding: 4px 8px;
  font-size: 13px;
  color: #333;
  text-decoration: none;
  border-radius: 4px;
}
.school-subnav-list li.active a,
.school-subnav-list li a:hover {
  color: #02456c;
  background: #e4eef5;
}

@media (max-width: 900px) {
  .jx-m-close {
    position: absolute !important;
    top: 10px;
    right: 12px;
    z-index: 1003;
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    color: #1a1a1a;
    cursor: pointer;
  }
  .g-header-v2 .nav {
    padding-top: 56px !important;
  }
  .g-header-v2 .nav .inner {
    padding-top: 0 !important;
  }
  /* 二级条手机可横滑，不抢站点壳 */
  .school-subnav .inner {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .school-subnav-list {
    flex-wrap: nowrap;
    white-space: nowrap;
  }
  .school-subnav-brand .jx-school-name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* 学段 Hero：取消 16/7 限高；文案落在暗底上，禁白字溢到白页 */
  .block-banner,
  .mod-banner.block-banner {
    position: relative !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: 220px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    background-color: #1a2a36 !important;
    background-size: cover !important;
    background-position: center !important;
  }
  .block-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.48) 55%, rgba(0,0,0,.58) 100%);
    z-index: 1;
    pointer-events: none;
  }
  .block-banner .g-wrapper,
  .block-banner .hd,
  .block-banner .bd {
    position: relative;
    z-index: 2;
  }
  .block-banner .hd {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    padding: 20px 14px 24px !important;
    background: rgba(0,0,0,.38) !important;
    box-sizing: border-box !important;
  }
  .block-banner .hd h1,
  .block-banner .hd p,
  .block-banner .hd span,
  .block-banner .hd small {
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,.55);
    overflow: visible !important;
    max-height: none !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    position: static !important;
  }
  .block-banner .hd p {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin: 8px 0 0 !important;
    opacity: 1 !important;
  }

  /* 外籍：禁极扁 + 按钮完整 */
  .banner-foreign-kids {
    height: auto !important;
    min-height: 200px !important;
    overflow: visible !important;
    position: relative !important;
  }
  .banner-foreign-kids .picture_wall,
  .banner-foreign-kids .swiper-container,
  .banner-foreign-kids .swiper-slide {
    height: 200px !important;
    min-height: 200px !important;
  }
  .banner-foreign-kids img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .banner-foreign-kids .text_chinese,
  .banner-foreign-kids ul,
  .banner-foreign-kids li {
    overflow: visible !important;
    max-height: none !important;
  }
  .banner-foreign-kids ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .banner-foreign-kids li {
    display: inline-flex !important;
    padding: 8px 12px !important;
    white-space: nowrap !important;
  }

  /* 六课程 Hero：禁裁字 */
  [class*="kc-"][class*="-hero"] {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    background-size: cover !important;
    background-position: center !important;
  }
  [class*="kc-"][class*="-hero"] .hd,
  [class*="kc-"][class*="-hero"] .hd p,
  [class*="kc-"][class*="-hero"] .hd h1 {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    display: block !important;
  }
  [class*="kc-"][class*="-hero"] .hd {
    padding: 16px 12px !important;
    background: rgba(0,0,0,.42);
  }
  [class*="kc-"][class*="-hero"] .hd,
  [class*="kc-"][class*="-hero"] .hd * {
    color: #fff !important;
  }
  .kc-hk-hero {
    background-repeat: no-repeat !important;
    background-size: cover !important;
  }

  /* 首页预约探校半空：单列满宽 */
  .index-main .appointment,
  .index-main [class*="appoint"],
  .subtext-icon {
    width: 100% !important;
    max-width: 100% !important;
  }
  .index-banner .backdrop,
  #topBanner-backdrop,
  .index-banner .swiper-lazy-preloader {
    display: none !important;
  }
  .index-banner .swiper-wrapper {
    max-width: none !important;
  }
  .index-banner .swiper-slide {
    width: 100% !important;
    max-width: 100vw !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
  .index-banner img,
  .index-banner .swiper-slide-active img {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
    pointer-events: none !important; /* 点击交给 slide；避免空白命中异常 */
  }
}


/* NAV-1 FORCE SITE SHELL ON SCHOOL PAGES */
/* 院校页必须露出全站顶栏，禁止被 school-main 盖掉 */
.page-school-index .g-header-v2,
.grid-page .g-header-v2 {
  display: block !important;
  visibility: visible !important;
  position: relative !important;
  z-index: 100 !important;
  width: 100% !important;
}
.page-school-index .g-header-v2 .nav,
.page-school-index .g-header-v2 .mast {
  display: block !important;
  visibility: visible !important;
}
.page-school-index .g-header-v2 .nav ul li a {
  visibility: visible !important;
}
/* 二级条不得伪装成唯一顶栏 */
.school-subnav.school-header {
  /* keep secondary look */
  background: #f0f4f7 !important;
}
.school-subnav .school-subnav-list a[title="国际高中"],
.school-subnav .school-subnav-list a[title*="国际"] {
  /* defensive: labels should already be 本校* */
}


/* ART-R6 FULL COLUMN P0 */
@media (max-width: 900px) {
  /* 1) Home hero: kill desktop center offset + force out image */
  .index-banner {
    position: relative !important;
    background-color: #1a1a1a !important;
    min-height: 160px !important;
    aspect-ratio: 16 / 7 !important;
    overflow: hidden !important;
  }
  .index-banner .jx-m-hero-paint {
    position: absolute !important;
    inset: 0 !important;
    z-index: 5 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    pointer-events: none !important;
  }
  .index-banner .wrapper {
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    background-color: transparent !important;
    overflow: hidden !important;
    position: relative !important;
    z-index: 3 !important;
  }
  .index-banner .swiper-pagination {
    z-index: 6 !important;
  }
  .index-banner .slide,
  .index-banner .swiper-container.slide,
  .index-banner #topBanner {
    position: relative !important;
    left: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    background-image: none !important;
    background-color: transparent !important;
    transform: none !important;
  }
  .index-banner .swiper-wrapper {
    height: 100% !important;
    max-width: none !important;
    width: auto !important;
    overflow: visible !important;
  }
  .index-banner .swiper-slide {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    flex-shrink: 0 !important;
  }
  .index-banner .swiper-slide a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }
  .index-banner img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
  }
  .index-banner .backdrop,
  #topBanner-backdrop,
  .index-banner .swiper-lazy-preloader,
  .index-banner .swiper-lazy-preloader-white {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  .index-banner .swiper-button-prev,
  .index-banner .swiper-button-next {
    display: none !important;
  }

  /* 2) 预约探校/愿景入口：单列满宽，禁 235px+右边框半空 */
  .vision-information {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 12px 14px !important;
  }
  .vision-information ul {
    height: auto !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
  }
  .vision-information li {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    border-right: 0 !important;
    border-bottom: 1px solid #dfdfdf !important;
    height: auto !important;
    min-height: 88px !important;
    box-sizing: border-box !important;
    padding: 4px 2px !important;
  }
  .vision-information li:nth-child(odd) {
    border-right: 1px solid #dfdfdf !important;
  }
  .vision-information li:last-child {
    border-bottom: 0 !important;
  }
  /* 奇数项总数时末行满宽，避免半空 */
  .vision-information li:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    border-right: 0 !important;
  }
  .vision-information .subtext-icon {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
  }
  .vision-information .subtext-icon img {
    float: none !important;
    flex: 0 0 auto !important;
  }
  .vision-information .subtext-icon span {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
    font-size: 15px !important;
  }
  .vision-information .vision-text {
    padding: 0 10px 8px 10px !important;
  }
  .index-main .sub_module,
  .index-main .sub-module,
  .index-main .appointment-wrap,
  .index-main .block_appointment,
  .index-main .mod-appointment,
  .index-main [class*="appoint"],
  .index-main .book_list {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
    box-sizing: border-box !important;
  }
  .index-main .subtext-icon,
  .index-main .subtext {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .index-main .book_list .slideshow,
  .index-main .book_list .tempWrap,
  .index-main .book_list .swiper-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 3) Grade heroes: stronger dark veil + readable white text */
  .page-grade-index .block-banner,
  .block-banner {
    position: relative !important;
    overflow: visible !important;
    height: auto !important;
    min-height: 220px !important;
    background-size: cover !important;
    background-position: center !important;
  }
  .block-banner::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0,0,0,.58) !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }
  .block-banner .hd {
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    padding: 20px 14px !important;
  }
  .block-banner .hd * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.55) !important;
  }
  .block-banner .hd p {
    display: block !important;
    overflow: visible !important;
    max-height: none !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  /* 4) Foreign: title fully visible; hide arrows that crush text */
  .banner-foreign-kids {
    min-height: 220px !important;
    height: auto !important;
    overflow: hidden !important;
    padding-bottom: 12px !important;
  }
  .banner-foreign-kids .picture_wall {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    height: auto !important;
    min-height: 220px !important;
  }
  .banner-foreign-kids .picture_wall .swiper-container,
  .banner-foreign-kids .picture_wall .swiper-slide,
  .banner-foreign-kids .picture_wall img {
    width: 100% !important;
    height: 220px !important;
    min-height: 220px !important;
    object-fit: cover !important;
  }
  .banner-foreign-kids .swiper-button-prev,
  .banner-foreign-kids .swiper-button-next,
  .banner-foreign-kids .picture_wall .swiper-button-prev,
  .banner-foreign-kids .picture_wall .swiper-button-next {
    display: none !important;
  }
  .banner-foreign-kids .g-wrapper {
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
    padding: 28px 16px 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .banner-foreign-kids .text_chinese,
  .banner-foreign-kids .text_english {
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
  .banner-foreign-kids .text_chinese h1,
  .banner-foreign-kids .text_english h1 {
    font-size: 28px !important;
    line-height: 1.25 !important;
    margin: 0 0 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: keep-all !important;
  }
  .banner-foreign-kids .text_chinese ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .banner-foreign-kids .text_chinese li {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    background: rgba(255,255,255,.92) !important;
    border-radius: 20px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    max-width: none !important;
    height: auto !important;
  }

  /* 5) Course heroes: no clip; dark panel for text; hide empty mid carousel */
  [class*="kc-"][class*="-hero"] {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
  }
  [class*="kc-"][class*="-hero"] .g-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    overflow: visible !important;
  }
  [class*="kc-"][class*="-hero"] .hd {
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 16px 14px !important;
    background: rgba(10,24,40,.72) !important;
    box-sizing: border-box !important;
  }
  [class*="kc-"][class*="-hero"] .bd {
    order: 2 !important;
    width: 100% !important;
    height: auto !important;
    overflow: hidden !important;
  }
  /* 空窗：无 slide/无图时隐藏中部轮播，去掉白底转圈+箭头 */
  [class*="kc-"][class*="-hero"] .bd:not(:has(.swiper-slide)),
  [class*="kc-"][class*="-hero"] .bd:not(:has(img)),
  [class*="kc-"][class*="-hero"] .swiper-container.topBanner:not(:has(.swiper-slide)),
  [class*="kc-"][class*="-hero"] .swiper-container.topBanner:not(:has(img)) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  [class*="kc-"][class*="-hero"] .hd h1,
  [class*="kc-"][class*="-hero"] .hd p,
  [class*="kc-"][class*="-hero"] .hd span,
  [class*="kc-"][class*="-hero"] .hd small {
    color: #fff !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    white-space: normal !important;
    -webkit-line-clamp: unset !important;
    display: block !important;
  }
  [class*="kc-"][class*="-hero"] .hd p {
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin-top: 8px !important;
  }
  .kc-hk-hero {
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }

  /* 5b) 课程页其它中部空轮播：无图则收起 */
  .page-course .swiper-container:not(:has(img)):not(:has(.swiper-slide img)),
  [class*="kc-"] .swiper-container.topBanner:not(:has(img)) {
    display: none !important;
  }

  /* 6) Drawer close × separated from 首页 */
  .g-header-v2 .nav {
    padding-top: 56px !important;
  }
  .jx-m-close {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    left: auto !important;
    z-index: 1005 !important;
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #f0f0f0 !important;
    color: #111 !important;
    font-size: 26px !important;
    line-height: 44px !important;
    text-align: center !important;
    padding: 0 !important;
  }
  .g-header-v2 .nav ul {
    margin-top: 0 !important;
  }
  .g-header-v2 .nav li:first-child > a {
    /* 首页 not overlapping close */
    padding-right: 18px !important;
  }
}
