/* 圣卓实验学校移动端补丁 · 2026-10-20
 * 在所有原有样式（含页面内联 style）之后引入。不修改桌面端规则。
 */
@media (max-width: 1279px) {
  .header, .header.on {
    height: 60px;
    padding: 0 16px;
    background: #245f63;
    border-bottom: 0;
  }
  .header > .clearfix { height: 100%; display: flex; align-items: center; }
  .header .left { width: min(250px, calc(100% - 58px)); float: none; }
  .header .left a img { width: 100%; height: auto; margin-top: 0; }
  .header .left .img1, .header.on .left .img1 { display: block; }
  .header .left .img2, .header.on .left .img2 { display: none; }
  .header #navToggle { top: 8px; right: 12px; width: 44px; height: 44px; padding: 0 9px; }
  .header #navToggle span,
  .header #navToggle span::before,
  .header #navToggle span::after { background: #fff; height: 2px; }
  .m_nav { overscroll-behavior: contain; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
  .m_nav .top { height: 60px; padding: 8px 12px; }
  .m_nav .top .closed { width: 44px; height: 44px; padding: 8px; }
  .m_nav .logo { padding: 16px 0; background: #245f63; }
  .m_nav .logo img { width: min(280px, calc(100% - 40px)); height: auto; margin: 0 auto; }
  .m_nav .ul { margin-top: 20px; }
  .m_nav .ul li .dropdown_menu a { height: auto; min-height: 48px; line-height: 26px; padding: 11px 16px 11px 24px; }
}

@media (max-width: 991px) {
  /* 首页头图改为正常文档流，避免随手机屏幕高度改变裁切比例。 */
  .banner { position: relative; top: auto; height: auto; margin-top: 60px; }
  .banner .swiper-slide img { height: auto; aspect-ratio: 16 / 7; object-fit: cover; animation: none; }
  .banner .bannerBtn { display: none; }
  .banner + main { margin-top: 0; }
  .banner .swiper-button-prev, .banner .swiper-button-next { width: 44px; height: 44px; margin-top: -22px; }
  .banner .swiper-button-prev::after, .banner .swiper-button-next::after { font-size: 22px; color: #fff; text-shadow: 0 1px 5px #244; }
  .indexNews { height: auto; min-height: 0; margin-bottom: 0; }
  .indexNews > .width50, .educate > .container > .row > .width50 { width: 100%; float: none; }
  .indexNews-left { height: auto; padding: 32px 16px 0; background-size: 100% 65%; }
  .indexNews-left-item { position: static; width: 100%; margin-top: 18px; }
  .indexNews-left-item .indexNews-box { position: relative; }
  .indexNews-left-item .indexNews-img { height: auto; aspect-ratio: 16 / 10; }
  .indexNews-left-item .indexNews-img img { width: 100%; height: 100%; object-fit: cover; }
  .indexNews-left-item .indexNews-date { position: absolute; left: 12px; top: 12px; width: 76px; padding: 6px 0; transform: none; z-index: 2; font-size: 12px; line-height: 20px; }
  .indexNews-left-item .indexNews-date span { font-size: 24px; line-height: 28px; }
  .indexNews-info { width: 100%; padding: 16px 12px 32px; }
  .indexNews-info h4 { height: auto; max-height: 52px; line-height: 26px; font-size: 16px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .indexNews-info .indexNews-desc { height: 24px; line-height: 24px; font-size: 14px; }
  .indexNewsSwiper .swiper-pagination { bottom: 10px; text-align: center; }
  .indexNews-right { padding: 8px 16px 0; }
  .indexNews .indexNews-r-item ul > li { padding: 0 12px; border-bottom: 1px solid #e3eae8; }
  .indexNews .indexNews-r-item ul > li > a { padding: 16px 0; }
  .indexNews .indexNews-r-item ul > li .indexNews-r-tit { font-size: 16px; line-height: 26px; max-height: 52px; transform: none !important; }
  .indexNews .indexNews-r-item ul > li .indexNews-r-desc { height: auto !important; max-height: 48px !important; opacity: 1 !important; transform: none !important; }
  .indexNews .indexNews-r-item ul > li .indexNews-r-date { margin-top: 8px; font-size: 12px; }
  .educate { padding: 36px 0 0; }
  .educate271 { padding: 0 16px; }
  .educate271-item { gap: 20px; }
  .educate271-item .educate271-item-li { min-width: 0; height: 160px; }
  .educate271-item .educate271-item-li:first-child,
  .educate271-item .educate271-item-li:nth-child(2),
  .educate271-item .educate271-item-li:nth-child(4) { padding: 20px; }
  .educate271-item .educate271-item-li:nth-child(2),
  .educate271-item .educate271-item-li:nth-child(3),
  .educate271-item .educate271-item-li:nth-child(4) { transform: none; }
  .educate271-item .educate271-item-li:nth-child(3) { width: 100%; height: 160px; }
  .educate271-item .educate271-item-li-tit { display: block; font-size: 16px; line-height: 26px; }
  .educate271-item .educate271-item-li-tit span { font-size: 36px; line-height: 42px; margin-right: 0; }
  .educate271-title { left: 50%; top: 50%; width: 100px; height: 100px; transform: translate(-50%, -50%); }
  .educate271-title::before { width: 100px; height: 100px; }
  .educate271-title::after { width: 80px; height: 80px; left: 10px; top: 10px; }
  .educate271-title h1 { font-size: 18px; padding-top: 24px; line-height: 26px; }
  .principai { padding-top: 36px; }
  .principai .title { margin: 0 16px 20px; }
  .principai-pic { height: auto; margin: 0 16px; padding: 0; }
  .principai-info { position: static; width: 100%; padding: 20px 16px; }
  .principai-info h3 { font-size: 22px; margin-bottom: 16px; }
  .principai-info-desc { font-size: 16px; line-height: 30px; }
  .section3 { padding: 0 16px 32px; }
  .section3-item { margin-top: 20px; padding-bottom: 56px; }
  .section3-item > .swiper-button-next,
  .section3-item > .swiper-button-prev { top: auto; bottom: 0; margin: 0; width: 44px; height: 44px; border: 1px solid #dce5e3; border-radius: 50%; }
  .section3-item > .swiper-button-prev { left: calc(50% - 54px); }
  .section3-item > .swiper-button-next { right: calc(50% - 54px); }
  .sec3-box { padding: 12px 12px 0; }
  .sec3-pic { height: auto; aspect-ratio: 16 / 10; }
  .sec3-txt { padding: 16px 0 44px; }
  .sec3-txt h4 { height: 52px; font-size: 16px; line-height: 26px; }
  .sec3-txt-desc { margin-top: 10px; height: 48px; font-size: 14px; line-height: 24px; }
  .sec3-txt-date { right: -12px; height: 30px; line-height: 30px; width: 120px; font-size: 12px; }
  .section4 { padding: 32px 0; background: linear-gradient(#245f63, #245f63) no-repeat top / 100% 184px; }
  .section4 .title-more { width: auto; margin: 8px 16px 0; }
  .section4 .title-more a { min-width: 44px; min-height: 44px; color: #fff; }
  .section4-item { padding: 0 16px; margin-top: 20px; gap: 16px; }
  .section4-item .section4-item-left { width: 100%; margin: 0; border-radius: 12px; }
  .section4-item-right { width: 100%; }
  .section4-item-right-item { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .section4-item-right-item .section4-item-right-li:nth-child(n) { width: 100%; margin: 0; border-radius: 10px; }
  .section4-item-pic { height: auto; aspect-ratio: 16 / 10; }
  .section4-item-pic img { width: 100%; height: 100%; object-fit: cover; }
  .section4-item-right-pic { height: auto; aspect-ratio: 4 / 3; }
  .section4-item-right-pic img { width: 100%; height: 100%; object-fit: cover; }
  .section4-item-right-cover { position: static; height: auto; padding: 10px; background: #245f63; }
  .section4-item-right-cover h4 { font-size: 14px; line-height: 24px; height: 72px; margin: 0; }
  .section4-item-box .section4-item-cover { height: auto; min-height: 90px; padding: 30px 14px 14px; }
  .section4-item-box .section4-item-cover h4 { font-size: 16px; line-height: 26px; }
}

@media (max-width: 767px) {
  .title .title-en { font-size: clamp(28px, 8vw, 40px); line-height: 1.2; overflow-wrap: anywhere; }
  .title h1 { font-size: 24px; line-height: 34px; margin: 6px 0 0; transform: none; }
  .banner-c { margin-top: 60px; height: 220px; }
  .banner-c .banner-c-pic img { height: 100%; object-fit: cover; }
  .banner-text { left: 0; bottom: 18px; transform: none; padding: 0 16px; }
  .banner-text h1 { font-size: 28px; line-height: 38px; margin-bottom: 10px; }
  .banner-text .location { font-size: 12px; line-height: 22px; overflow-wrap: anywhere; }
  /* 原站隐藏了二级导航，手机端恢复为可横向滑动的栏目条。 */
  .subnav { display: block; box-shadow: 0 3px 12px #245f6312; }
  .sub_nav ul { display: flex; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
  .sub_nav li { display: block; flex: 0 0 auto; line-height: 48px; }
  .sub_nav li a { padding: 0 16px; font-size: 15px; white-space: nowrap; }
  .about .inner { padding: 0 16px; }
  .about .section { padding: 20px 16px; margin-top: 20px; }
  .about .grid-3, .about .grid-2, .about .stats { grid-template-columns: minmax(0, 1fr); }
  .about .grid > *, .about .stats > * { min-width: 0; }
  .about .chip { white-space: normal; }
  .about .tag-row { flex-wrap: wrap; }
  .about .card-title { font-size: 18px; line-height: 28px; }
  .about .body, .about .lead, .about .dot-list { font-size: 16px; line-height: 28px; }
  .style-list ul { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .style-list ul li { width: 100%; margin: 0; }
  .style-list ul li a { margin: 0; }
  .news-top { padding: 88px 16px 24px; }
  .news-top h1 { font-size: 26px; line-height: 36px; margin-bottom: 0; }
  .main2 { padding: 20px 16px 32px; }
  .news-main2 ul li { padding: 12px; margin-bottom: 20px; }
  .news-main2 ul li .news-main2-pic { height: auto; aspect-ratio: 16 / 10; }
  .news-main2-txt { padding: 14px 0 30px; }
  .news-main2-txt h4 { font-size: 16px; line-height: 28px; }
  .zszp { padding-left: 16px; padding-right: 16px; }
  .zszp-con { padding: 0; min-width: 0; }
  .zszp-con h1 { font-size: 22px !important; line-height: 34px; overflow-wrap: anywhere; }
  .zszp-row { height: auto; padding: 10px 12px; margin: 16px 0 24px; line-height: 24px; }
  .zszp-row > span { margin: 0; }
  .zszp-content, .news-content-con, .party-content { font-size: 16px; line-height: 30px; overflow-wrap: anywhere; }
  .zszp-content img, .news-content-con img, .party-content img { max-width: 100% !important; height: auto !important; }
  .zszp-content iframe, .zszp-content video, .news-content-con iframe, .news-content-con video { max-width: 100%; }
  .zszp-content table, .news-content-con table { display: block; max-width: 100%; overflow-x: auto; }
  .news-content-left-con { padding: 20px 16px; }
  .news-content-left-con h2 { font-size: 22px; line-height: 34px; }
  .fanye { display: block; line-height: 28px; overflow-wrap: anywhere; }
  .fanye > div { width: 100%; margin-bottom: 12px; }
  .fanye a { display: inline-block; min-height: 44px; vertical-align: top; }
  /* 栏目页：避免窄屏竖排文字、人物切头和过窄的双列卡片。 */
  .teacher-sec1 { padding: 28px 6px; }
  .teacher-title h1 { font-size: 24px; line-height: 34px; }
  .teacher-title .p { font-size: 15px; line-height: 26px; margin-top: 10px; }
  .teacher-sec1 ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: 100%; margin-top: 20px; padding: 4px; }
  .teacher-sec1 ul li { display: block; margin: 0; padding: 0; min-width: 0; }
  .teacher-sec1 ul li a { height: auto; min-height: 60px; display: flex; align-items: center; justify-content: center; }
  .teacher-sec1 ul li a span { width: 100%; padding: 16px 4px; font-size: 15px; line-height: 26px; text-align: center; white-space: nowrap; }
  .teacher-sec-box h2 { font-size: 24px; line-height: 56px; }
  .teacher-sec2-item ul { padding: 24px 0 0; }
  .teacher-sec2-item ul li { margin-bottom: 24px; }
  .teacher-sec2-item ul li a { padding: 12px; }
  .teacher-sec2-item .alumnus-bottom-pic { width: 100%; height: auto; }
  .alumnus-bottom-txt { width: 100%; padding: 12px 0 0; }
  .alumnus-bottom-txt h4 { font-size: 16px; line-height: 28px; }
  .alumnus-top-item { padding: 0 16px; }
  .alumnus-top-item ul li { padding: 12px; margin-bottom: 20px; }
  .alumnus-top-pic { height: auto; aspect-ratio: 1 / 1; }
  .alumnus-top-pic img { height: 100%; object-position: center top; }
  .alumnus-top-item ul li h4 { height: auto; min-height: 56px; font-size: 16px; line-height: 28px; padding: 10px 4px; }
  .alumnus-bottom-pic { height: auto; }
  .alumuns-bottom-date { width: 100%; text-align: left; font-size: 14px; }
  .alumuns-bottom-date::after { display: none; }
  .alumuns-bottom-date span { display: inline; font-size: 18px; line-height: 30px; }
  .homeSchool h1 { font-size: 24px; line-height: 42px; }
  .homeSchool-sec1, .homeSchool-sec2 { padding: 28px 16px; }
  .homeSchool-sec1-item .homeSchool-sec1-item-left ul li { width: 100%; margin-bottom: 20px; }
  .homeSchool-sec1-li-pic { height: auto; aspect-ratio: 16 / 10; }
  .homeSchool-sec1-li-txt { padding: 16px; }
  .homeSchool-sec1-li-txt h4 { height: auto; max-height: 56px; line-height: 28px; font-size: 16px; margin: 10px 0 0; }
  .homeSchool-sec1-date { font-size: 14px; }
  .homeSchool-sec2-item ul li { margin-right: 0; }
  .homeSchool-sec2-li-pic { height: auto; aspect-ratio: 16 / 10; }
  .student-sec1 { margin-top: 28px; }
  .student-sec1-l { padding: 24px 16px; }
  .student-tit h3 { font-size: 22px; line-height: 32px; }
  .student-sec1-l p, .student-sec3-r > a > p { font-size: 16px; line-height: 28px; margin: 14px 0; display: block; height: auto; }
  .student-more a { display: inline-block; min-height: 44px; line-height: 44px; }
  .student-sec2-li a { padding: 20px 16px; }
  .student-sec2-li .st-l { width: auto; max-width: 70%; flex-wrap: nowrap; gap: 12px; }
  .student-sec2-li .student-icon { width: 48px; flex-shrink: 0; }
  .student-sec2-li .student-icon img { width: 48px; height: 48px; }
  .student-sec2-li .st-l h3 { font-size: 18px; line-height: 28px; }
  .party-top { padding: 28px 16px; }
  .party-thumb-box { padding: 12px; }
  .party-thumb-pic { height: auto; aspect-ratio: 4 / 3; }
  .party-thumb-pic img { object-fit: contain; }
  .party-thumb-txt { padding: 14px 0 24px; }
  .party-thumb-title { height: auto; max-height: 56px; font-size: 16px; line-height: 28px; margin-bottom: 12px; }
  .party-top-item ul li a h4 { width: 100%; height: auto; max-height: 56px; line-height: 28px; font-size: 16px; }
  .party-top-item ul li a .party-top-li-date { width: 100%; text-align: left; font-size: 14px; }
  .party-top-li-desc { font-size: 14px; line-height: 24px; }
  footer { padding-top: 32px; }
  .footer-logo img { width: min(280px, 80%); }
  .footer-contact { padding: 24px 16px; }
  .footer-contact-txt, .footer-ewm { width: 100%; }
  .footer-contact-txt { font-size: 14px; line-height: 26px; }
  .footer-ewm { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
  .footer-ewm-li { width: 100%; min-width: 0; font-size: 12px; }
  .footer-ewm-li img { width: 100%; height: auto; }
  .copyright { padding: 14px 16px max(14px, env(safe-area-inset-bottom)); font-size: 12px; }
  .copyright span { display: block; width: 100%; margin: 0; line-height: 24px; text-align: center; overflow-wrap: anywhere; }
  
  .inner h4{margin-top:0;}
  .inner h2{font-size:20px;line-height:32px;}
  .company-top{display:block;}
  .company-text{
      padding:40px 20px;
  }
  .company-pic1,.company-pic2{grid-template-columns: repeat(1, 1fr);}
  .company-pic-li-name{font-size:14px}
}
