/* ============================================
   杭州现代技工学校 - 首页专属样式
   公共样式见 base.css
   ============================================ */

/* ==================== 2. Hero 轮播 ==================== */
.carousel{position:relative;width:100%;height:100vh;min-height:37.5rem;overflow:hidden}
.carousel-track{display:flex;height:100%;transition:transform 0.6s ease-in-out}
.carousel-slide{min-width:100%;height:100%;position:relative;overflow:hidden}

/* 视频背景 */
.carousel-video{position:absolute;width:100%;height:126%;top:-13%;left:0;object-fit:cover;background:linear-gradient(135deg,#8B0000,#D70F1A)}
/* 视频加载提示 */
.video-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.75rem;background:linear-gradient(135deg,#8B0000,#D70F1A);z-index:1;transition:opacity 0.5s ease}
.video-loading.hide{opacity:0;pointer-events:none;visibility:hidden}
.video-loading-spinner{width:2.5rem;height:2.5rem;border:3px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 0.8s linear infinite}
.video-loading span{color:rgba(255,255,255,0.85);font-size:0.9375rem;letter-spacing:1px}
@keyframes spin{to{transform:rotate(360deg)}}
/* 图片背景 */
.carousel-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* 图片动画：Ken Burns 缓慢缩放效果 */
@keyframes kenBurns{from{transform:scale(1)}to{transform:scale(1.1)}}
.carousel-slide.active .carousel-img{animation:kenBurns 6s ease-in-out forwards}
/* 视频不参与此动画 */
.carousel-slide .carousel-video{transform:none !important;animation:none !important}
/* 统一遮罩 */
.carousel-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.35)}

/* 文字卡片 */
.carousel-caption{position:absolute;left:8%;top:50%;transform:translateY(-50%);max-width:64rem;color:var(--white);padding:0}
.carousel-caption h2{font-size:3rem;font-weight:lighter;margin-bottom:1rem;letter-spacing:4px;line-height:1.2;text-shadow:0 4px 20px rgba(0,0,0,0.5);overflow:hidden;white-space:nowrap;width:0;animation:none}
.carousel-caption h2::after{content:'';display:block;width:3rem;height:0.25rem;background:var(--red);border-radius:0.125rem;margin-top:1rem}
.caption-dots{display:none}
.carousel-caption p{font-size:1.125rem;color:rgba(255,255,255,0.9);line-height:1.8;letter-spacing:1px;text-shadow:0 2px 10px rgba(0,0,0,0.4);opacity:0;transform:translateY(0.75rem);transition:opacity 0.5s ease,transform 0.5s ease}
.carousel-slide.active .carousel-caption h2{animation:captionType 0.8s steps(20,end) 0.3s forwards}
.carousel-slide.active .carousel-caption h2::after{animation:captionLine 0.3s ease forwards 1.1s;width:0}
.carousel-slide.active .carousel-caption p{opacity:1;transform:translateY(0);transition-delay:1.2s}
@keyframes captionType{from{width:0}to{width:100%}}
@keyframes captionLine{to{width:3rem}}

.carousel-btn{font-size:0.875rem;font-weight:600;color:var(--white);text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;padding:0.8rem 2.2rem;background:linear-gradient(135deg,var(--red),var(--red-dark));border-radius:3.125rem;box-shadow:0 0.25rem 0.9375rem rgba(215,15,26,0.3);transition:all 0.3s ease;animation:btnBreathe 2.5s ease-in-out infinite;opacity:0;transform:translateY(0.75rem);margin-top:3.5rem}
.carousel-btn i{font-size:0.75rem;transition:transform 0.3s ease}
.carousel-btn:hover{background:linear-gradient(135deg,var(--red-light),var(--red));transform:translateY(-2px);box-shadow:0 0.375rem 1.25rem rgba(215,15,26,0.45);gap:0.75rem}
.carousel-btn:hover i{transform:translateX(4px)}
.carousel-slide.active .carousel-btn{opacity:1;transform:translateY(0);transition:opacity 0.5s ease,transform 0.5s ease,background 0.3s ease,box-shadow 0.3s ease,gap 0.3s ease;transition-delay:1.4s}

.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:3rem;height:3rem;border-radius:50%;background:rgba(255,255,255,0.25);color:var(--white); align-items:center;justify-content:center;transition:all var(--transition);backdrop-filter:blur(4px);border:2px solid rgba(255,255,255,0.5)}
.carousel-arrow svg{width:1.75rem;height:1.75rem}
.carousel-arrow:hover{background:rgba(255,255,255,0.45);transform:translateY(-50%) scale(1.1)}
.carousel-prev{left:2rem}
.carousel-next{right:2rem}

.carousel-dots{position:absolute;bottom:1.75rem;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:0.75rem}
.carousel-dots .dot{width:0.875rem;height:0.875rem;border-radius:50%;background:rgba(255,255,255,0.4);cursor:pointer;transition:all var(--transition);border:2px solid rgba(255,255,255,0.6)}
.carousel-dots .dot.active{background:var(--white);transform:scale(1.3);box-shadow:0 0 8px rgba(255,255,255,0.6)}

/* 轮播数字页码 */
.carousel-pages{position:absolute;bottom:1.75rem;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:0.375rem;font-family:'Georgia','Times New Roman',serif}
.carousel-pages .page-num{font-size:1rem;color:rgba(255,255,255,0.45);cursor:pointer;transition:all var(--transition);font-weight:600;letter-spacing:1px}
.carousel-pages .page-num:hover{color:rgba(255,255,255,0.8)}
.carousel-pages .page-num.active{color:var(--white);font-size:1.75rem;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,0.4)}
.carousel-pages .page-divider{color:rgba(255,255,255,0.25);font-size:0.875rem;cursor:default;user-select:none}

/* 向下滑动提示 */
.scroll-hint{position:absolute;bottom:2.5rem;left:3rem;z-index:5;display:flex;flex-direction:column;align-items:center;gap:0.5rem;cursor:pointer;transition:opacity 0.3s}
.scroll-hint:hover{opacity:0.8}
.scroll-hint-text{font-size:0.75rem;color:rgba(255,255,255,0.6);letter-spacing:2px;text-transform:uppercase}
.scroll-hint-arrow{color:rgba(255,255,255,0.7);display:block}

/* ==================== 3. 学校简介 ==================== */
.about{padding:5rem 0;background:var(--white)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.75rem;align-items:center;margin-bottom:3.75rem}

.about-image{position:relative}
.about-image .campus-slider-wrap{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.about-badge{position:absolute;bottom:-1.25rem;right:-1.25rem;background:linear-gradient(135deg,var(--red),var(--red-dark));color:var(--white);padding:1rem 1.5rem;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg);animation:tagBreathe 2.5s ease-in-out infinite}
.badge-year{display:block;font-size:1.5rem;font-weight:700}

.about-text h3{font-size:1.75rem;font-weight:700;color:var(--red);margin-bottom:1.25rem;padding-left:1rem;border-left:4px solid var(--red)}
.about-text p{font-size:0.9375rem;color:var(--text2);line-height:1.9;margin-bottom:1rem;text-indent:2em}

/* 数据统计 */
.stats{display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(135deg,#FFF5F5,#FFEBEB);border-radius:1rem;padding:3rem 1.25rem;box-shadow:0 2px 16px rgba(215,15,26,0.06);position:relative;overflow:hidden;border:2px solid transparent;background-clip:padding-box}
/* 跑马灯边框 — 渐变流动 */
.stats::before{content:'';position:absolute;inset:-2px;border-radius:1.125rem;padding:2px;background:linear-gradient(90deg,var(--red),var(--red-light),var(--red),var(--red-light),var(--red));background-size:200% 100%;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;animation:borderFlow 3s linear infinite;z-index:2}
/* 背景水流光效 */
.stats::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(215,15,26,0.14) 0%,transparent 55%),radial-gradient(ellipse at 70% 60%,rgba(215,15,26,0.1) 0%,transparent 55%),radial-gradient(ellipse at 50% 80%,rgba(215,15,26,0.08) 0%,transparent 55%);background-size:200% 200%;animation:waterFlow 8s ease-in-out infinite;z-index:0;pointer-events:none}
@keyframes borderFlow{from{background-position:200% 0}to{background-position:0 0}}
@keyframes waterFlow{0%,100%{background-position:0 0}25%{background-position:100% 30%}50%{background-position:50% 100%}75%{background-position:0 60%}}
.stat-item{text-align:center;position:relative;padding:0 0.75rem;z-index:1}
.stat-item:not(:last-child)::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:3rem;background:linear-gradient(180deg,transparent,rgba(215,15,26,0.15),transparent)}
.stat-num{font-size:3.5rem;font-weight:800;color:var(--red);line-height:1.1;font-family:'Georgia','Times New Roman',serif;display:flex;align-items:baseline;justify-content:center;gap:0.25rem}
.stat-unit{font-size:1rem;font-weight:500;color:var(--red-light);letter-spacing:1px}
.stat-label{font-size:0.9375rem;font-weight:600;color:var(--text);margin-top:0.5rem;letter-spacing:2px;text-transform:uppercase}

/* ==================== 4. 专业介绍 - 手风琴卡片 ==================== */
.majors{padding:5rem 0;background:var(--bg)}
.majors-accordion{display:flex;height:32.5rem;gap:0;overflow:hidden}
.major-item{flex:0 0 7%;position:relative;overflow:hidden;transition:flex 0.5s cubic-bezier(0.4,0,0.2,1);cursor:pointer;border-right:2px solid var(--bg);display:block;text-decoration:none;color:inherit}
.major-item:last-child{border-right:none}
.major-item.cur{flex:0 0 44%}

/* 背景色块 + 图片动画 */
.major-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1);transition:transform 0.6s cubic-bezier(0.4,0,0.2,1)}
.major-item:hover .major-bg{transform:scale(1.08)}
.major-item.cur .major-bg{transform:scale(1.05)}
.major-bg-icon{font-size:4rem;opacity:0;transition:all 0.5s ease}
.major-item.cur .major-bg-icon{opacity:0}

/* 遮罩层 */
.major-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.45);z-index:1;transition:background 0.5s ease}
.major-item.cur .major-overlay{background:rgba(0,0,0,0.1)}

/* 底部文字标签 - 毛玻璃 */
.major-label{position:absolute;left:0;bottom:0;z-index:3;width:90%;padding:1.75rem 8% 1.5rem;background:rgba(215,15,26,0.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.15);border-bottom:none;border-left:none;border-top-right-radius:2.5rem;transition:all 0.5s ease;opacity:0;transform:translateY(1.25rem)}
.major-item.cur .major-label{opacity:1;transform:translateY(0)}
.major-label h3{font-size:1.25rem;font-weight:700;color:var(--white);margin-bottom:0.375rem;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,0.3)}
.major-label p{font-size:0.8125rem;color:rgba(255,255,255,0.85);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 3px rgba(0,0,0,0.2)}

/* 查看更多按钮 */
.majors-cta{text-align:center;margin-top:2.5rem}

/* ==================== 5. 招生简章 ==================== */
.admission{padding:5rem 0;background:var(--bg);position:relative;overflow:hidden}
/* 动态光效背景层 */
.admission::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 20% 30%,rgba(215,15,26,0.08) 0%,transparent 50%),
    radial-gradient(ellipse at 80% 70%,rgba(215,15,26,0.06) 0%,transparent 50%),
    radial-gradient(ellipse at 50% 50%,rgba(215,15,26,0.04) 0%,transparent 70%);
  background-size:200% 200%;
  animation:admGlow 8s ease-in-out infinite;
}
/* 流动光点层 */
.admission::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(2px 2px at 10% 20%,rgba(215,15,26,0.35),transparent),
    radial-gradient(2px 2px at 30% 60%,rgba(215,15,26,0.25),transparent),
    radial-gradient(3px 3px at 50% 15%,rgba(215,15,26,0.3),transparent),
    radial-gradient(2px 2px at 70% 45%,rgba(215,15,26,0.28),transparent),
    radial-gradient(3px 3px at 85% 75%,rgba(215,15,26,0.3),transparent),
    radial-gradient(2px 2px at 15% 85%,rgba(215,15,26,0.22),transparent),
    radial-gradient(3px 3px at 40% 40%,rgba(215,15,26,0.2),transparent),
    radial-gradient(2px 2px at 60% 80%,rgba(215,15,26,0.25),transparent),
    radial-gradient(3px 3px at 90% 10%,rgba(215,15,26,0.28),transparent),
    radial-gradient(2px 2px at 25% 95%,rgba(215,15,26,0.2),transparent);
  background-size:400% 400%;
  animation:admDots 12s ease-in-out infinite;
}
/* 光晕漂移动画 */
@keyframes admGlow{
  0%,100%{background-position:0% 0%}
  33%{background-position:100% 30%}
  66%{background-position:30% 100%}
}
/* 光点漂移动画 */
@keyframes admDots{
  0%,100%{background-position:0% 0%}
  25%{background-position:100% 0%}
  50%{background-position:100% 100%}
  75%{background-position:0% 100%}
}
/* 卡片等元素保持在上层 */
.admission .container{position:relative;z-index:1}
.admission-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2.5rem}
.adm-item{background:var(--white);border-radius:var(--radius-lg);padding:2rem 1.5rem;text-align:center;box-shadow:var(--shadow);transition:all 0.35s ease;position:relative;overflow:hidden}
.adm-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),var(--red-light));transform:scaleX(0);transform-origin:left;transition:transform 0.4s ease}
.adm-item:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.adm-item:hover::after{transform:scaleX(1)}
.adm-icon{width:3.75rem;height:3.75rem;margin:0 auto 1rem;background:linear-gradient(135deg,var(--red),var(--red-light));border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:1.625rem;color:var(--white);transition:all 0.3s ease}
.adm-item:hover .adm-icon{border-radius:50%;transform:scale(1.1)}
.adm-item h3{font-size:1.125rem;font-weight:700;color:var(--black);margin-bottom:0.625rem}
.adm-item p{font-size:0.8125rem;color:var(--text2);line-height:1.7}
.admission-bottom{display:flex;align-items:center;justify-content:space-between;background:var(--white);border-radius:var(--radius-lg);padding:1.75rem 2.25rem;box-shadow:var(--shadow);gap:1.5rem;flex-wrap:wrap}
.adm-stats{display:flex;gap:2.25rem}
.adm-stat{display:flex;flex-direction:column;align-items:center;gap:2px}
.adm-stat strong{font-size:1.5rem;font-weight:800;color:var(--red);line-height:1.2}
.adm-stat span{font-size:0.75rem;color:var(--text3)}
.adm-cta{display:flex;gap:0.75rem;flex-wrap:wrap}

/* ==================== 6. 杭现资讯 ==================== */
.news{padding:5rem 0;background:var(--white)}
.news-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;min-height:30rem}

/* --- 左侧轮播 --- */
.news-carousel{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.news-carousel-track{position:relative;height:100%}
.news-slide{position:absolute;inset:0;opacity:0;transition:opacity 0.5s ease;pointer-events:none}
.news-slide.active{opacity:1;pointer-events:auto}
.news-slide-img{position:relative;width:100%;height:100%;min-height:30rem;overflow:hidden}
.news-slide-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.75) 0%,rgba(0,0,0,0.1) 60%)}
.news-slide-tag{position:absolute;top:1.5rem;left:1.5rem;z-index:2;background:linear-gradient(135deg,var(--red),var(--red-dark));color:var(--white);padding:0.25rem 0.875rem;border-radius:1.25rem;font-size:0.75rem;font-weight:600;letter-spacing:1px;animation:tagBreathe 2.5s ease-in-out infinite}
.news-slide-text{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:2.5rem 2rem 2rem;color:var(--white)}
.news-slide-text h3{font-size:1.375rem;font-weight:700;line-height:1.4;margin-bottom:0.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-slide-text p{font-size:0.875rem;color:rgba(255,255,255,0.8);line-height:1.7;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-slide-date{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.75rem;color:rgba(255,255,255,0.7);margin-bottom:0.625rem}
.news-slide-link{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.875rem;font-weight:600;color:var(--white);padding:0.5rem 1.25rem;border:2px solid rgba(255,255,255,0.5);border-radius:3.125rem;transition:all 0.3s ease}
.news-slide-link:hover{background:linear-gradient(135deg,var(--red-light),var(--red));border-color:var(--red);gap:0.75rem}

/* 轮播指示器 */
.news-carousel-dots{position:absolute;bottom:1.5rem;right:2rem;z-index:3;display:flex;gap:0.5rem}
.n-dot{width:0.625rem;height:0.625rem;border-radius:50%;background:rgba(255,255,255,0.4);cursor:pointer;transition:all 0.3s ease}
.n-dot.active{background:var(--red);transform:scale(1.3);box-shadow:0 0 6px rgba(215,15,26,0.6)}
.n-dot:hover{background:rgba(255,255,255,0.8)}

/* 轮播箭头 */
.n-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(255,255,255,0.2);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,0.3);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:0.875rem;cursor:pointer;transition:all 0.3s ease}
.n-arrow:hover{background:rgba(255,255,255,0.35)}
.n-prev{left:1rem}
.n-next{right:1rem}

/* --- 右侧 Tab 面板 --- */
.news-tabs{background:var(--bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}
.news-tab-header{display:flex;align-items:center;padding:0 0.25rem;gap:0;background:var(--white);border-bottom:1px solid var(--border)}
.news-tab-btn{flex:1;padding:1.125rem 1rem;font-size:0.9375rem;font-weight:600;color:var(--text2);background:none;border:none;cursor:pointer;position:relative;transition:all 0.3s ease;text-align:center;display:flex;align-items:center;justify-content:center;gap:0.375rem}
.news-tab-btn i{font-size:0.8125rem;opacity:0.6;transition:all 0.3s ease}
.news-tab-btn::after{content:'';position:absolute;bottom:-1px;left:50%;transform:translateX(-50%) scaleX(0);width:3rem;height:3px;background:var(--red);border-radius:2px;transition:transform 0.3s ease}
.news-tab-btn.active{color:var(--red)}
.news-tab-btn.active i{opacity:1;color:var(--red)}
.news-tab-btn.active::after{transform:translateX(-50%) scaleX(1)}
.news-tab-btn:hover{color:var(--red)}
.news-tab-btn:hover i{opacity:0.8}
.news-tab-more{font-size:0.8125rem;color:var(--text3);padding:1.125rem 1.25rem 1rem;flex-shrink:0;display:flex;align-items:center;gap:0.25rem;transition:all 0.2s;border-left:1px solid var(--border)}
.news-tab-more:hover{color:var(--red)}

/* Tab 内容 */
.news-tab-body{display:none;padding:1rem 1.25rem;flex:1}
.news-tab-body.active{display:flex;flex-direction:column;gap:0;justify-content:space-evenly}
.news-list-item{display:flex;gap:1rem;padding:1.5rem 0;border-bottom:1px dashed var(--border);transition:all 0.25s ease}
.news-list-item:last-child{border-bottom:none}
.news-list-item:hover{transform:translateX(4px)}
.news-list-item:hover .news-list-thumb{box-shadow:0 4px 16px rgba(215,15,26,0.25)}
.news-list-thumb{width:8.125rem;height:5.625rem;border-radius:0.5rem;overflow:hidden;flex-shrink:0;transition:box-shadow 0.3s ease}
.news-list-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.news-list-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:0.5rem}
.news-list-info a{display:block;font-size:0.9375rem;font-weight:600;color:var(--black);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-list-info a:hover{color:var(--red)}
.news-list-info p{font-size:0.75rem;color:var(--text3);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-list-date{font-size:0.6875rem;color:var(--text3);display:flex;align-items:center;gap:0.25rem}

/* ==================== 7. 校企合作 - 多排无缝滚动Logo墙 ==================== */
.partners{padding:5rem 0;background:var(--bg)}
.partner-scroll-wrap{position:relative;overflow:hidden;margin-top:1rem;padding:0.5rem 0}
.partner-track{margin-bottom:1.25rem;padding:0.375rem 0;margin-top:-0.375rem}
.partner-track:last-child{margin-bottom:0}
.partner-track-inner{display:flex;width:max-content;animation-timing-function:linear;animation-iteration-count:infinite}
.partner-track[data-dir="left"] .partner-track-inner{animation-name:partnerScrollLeft}
.partner-track[data-dir="right"] .partner-track-inner{animation-name:partnerScrollRight}
.partner-logo-item{flex-shrink:0;width:13.75rem;height:6.875rem;display:flex;align-items:center;justify-content:center;padding:0 1.5rem;background:var(--white);margin:0 0.875rem;border-radius:0.75rem;border:1.5px solid transparent;box-shadow:0 2px 12px rgba(0,0,0,0.06);transition:all 0.35s ease}
.partner-logo-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(215,15,26,0.15);border-color:var(--red)}
.partner-logo-item img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(100%);opacity:0.5;transition:all 0.3s ease}
.partner-logo-item:hover img{filter:grayscale(0%);opacity:1;transform:scale(1.1)}

@keyframes partnerScrollLeft{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes partnerScrollRight{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}

/* 两侧毛玻璃渐变遮罩 */
.partner-mask{position:absolute;top:0;bottom:0;width:20%;z-index:2;pointer-events:none}
.partner-mask-left{left:0;
  background:linear-gradient(to right,
    rgba(248,249,250,1) 0%,
    rgba(248,249,250,.85) 10%,
    rgba(248,249,250,.35) 35%,
    rgba(248,249,250,.05) 65%,
    rgba(248,249,250,0) 100%);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.partner-mask-right{right:0;
  background:linear-gradient(to left,
    rgba(248,249,250,1) 0%,
    rgba(248,249,250,.85) 10%,
    rgba(248,249,250,.35) 35%,
    rgba(248,249,250,.05) 65%,
    rgba(248,249,250,0) 100%);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

/* ==================== About 页面 ==================== */

/* 页面横幅 */
.page-banner{position:relative;height:50vh;min-height:22rem;display:flex;align-items:center;overflow:hidden}
.page-banner-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1.05);animation:kenBurns 10s ease-in-out forwards}
.page-banner-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(183,13,22,0.7),rgba(0,0,0,0.5))}
.page-banner-content{position:relative;z-index:2;text-align:center;color:var(--white)}
.page-banner-en{display:block;font-size:1.5rem;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,0.7);margin-bottom:1.25rem;font-family:'Cormorant Garamond','Georgia','Times New Roman',serif;font-weight:600}
.page-banner-title{font-size:2.5rem;font-weight:700;letter-spacing:4px;line-height:1.4;text-shadow:0 2px 12px rgba(0,0,0,0.3)}
.page-banner-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:rgba(255,255,255,0.6);cursor:pointer;transition:opacity 0.3s}
.page-banner-scroll:hover{opacity:0.8}
.page-banner-bar{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:4;width:88%;display:flex;align-items:center;justify-content:space-between;padding:0.75rem 2rem; background: rgba(0, 0, 0, .5); border-radius: 5px 5px 0 0;}
.news-cats{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}
.news-cat{font-size:1.25rem;color:rgba(255,255,255,0.6);cursor:pointer;transition:all 0.25s ease;text-decoration:none;position:relative;padding:0 0.8rem;display:inline-block}
.news-cat:hover{color:var(--white)}
.news-cat.active{color:var(--white);font-weight:600}
/* .news-cat.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--red);border-radius:1px} */
.breadcrumb{font-size:0.8125rem;color:rgba(255,255,255,0.5);display:flex;align-items:center;gap:0.375rem}
.breadcrumb a{color:rgba(255,255,255,0.7);text-decoration:none;transition:color 0.2s}
.breadcrumb a:hover{color:var(--white)}
.breadcrumb i{font-size:0.5rem}

/* 学校简介（about页复用首页about样式） */
.about-intro{padding:5rem 0;background:var(--bg);scroll-margin-top:5rem}

/* 学校优势 */
.advantages{padding:5rem 0;background:var(--white);scroll-margin-top:5rem}
.advantages-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.advantage-card{display:flex;gap:1.5rem;background:var(--bg);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);transition:all 0.35s ease;border-left:4px solid transparent;position:relative;overflow:hidden}
.advantage-card-wide{grid-column:1 / -1}
.advantage-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--red-bg),var(--white));opacity:0;transition:opacity 0.35s ease}
.advantage-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-left-color:var(--red)}
.advantage-card:hover::before{opacity:1}
.advantage-icon{flex-shrink:0;width:3.5rem;height:3.5rem;background:linear-gradient(135deg,var(--red),var(--red-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--white);position:relative;z-index:1;box-shadow:0 0.25rem 1rem rgba(215,15,26,0.3);animation:iconBreathe 3s ease-in-out infinite}
.advantage-card:nth-child(2) .advantage-icon{animation-delay:0.75s}
.advantage-card:nth-child(3) .advantage-icon{animation-delay:1.5s}
.advantage-card:nth-child(4) .advantage-icon{animation-delay:2.25s}
@keyframes iconBreathe{0%,100%{box-shadow:0 0.25rem 1rem rgba(215,15,26,0.3)}50%{box-shadow:0 0.5rem 1.5rem rgba(215,15,26,0.5)}}
.advantage-body{flex:1;min-width:0;position:relative;z-index:1}
.advantage-body h3{font-size:1.25rem;font-weight:700;color:var(--black);margin-bottom:0.875rem;padding-bottom:0.625rem;border-bottom:2px solid var(--border);transition:border-color 0.35s ease}
.advantage-card:hover .advantage-body h3{border-bottom-color:var(--red)}
.advantage-body p{font-size:0.9375rem;color:var(--text2);line-height:1.9;text-indent:2em;margin-bottom:0.5rem}
.advantage-body p:last-child{margin-bottom:0}

/* 学校领导 */
.leaders{padding:5rem 0;background:var(--white);scroll-margin-top:5rem}
.leaders-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.leader-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:all 0.35s ease;text-align:center;cursor:pointer;position:relative}
.leader-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.leader-card:hover .leader-photo img{transform:scale(1.05)}
.leader-card:hover .leader-hint{opacity:1;transform:translateY(0)}
.leader-photo{aspect-ratio:3/4;overflow:hidden;position:relative}
.leader-photo img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.leader-hint{position:absolute;bottom:0;left:0;right:0;z-index:2;background:linear-gradient(transparent,rgba(215,15,26,0.85));color:var(--white);padding:2rem 1rem 0.625rem;display:flex;align-items:center;justify-content:center;gap:0.375rem;font-size:0.8125rem;letter-spacing:1px;opacity:0;transform:translateY(100%);transition:all 0.35s ease;pointer-events:none}
.leader-hint i{font-size:0.75rem}
.leader-info{padding:1.25rem 0.75rem}
.leader-info h3{font-size:1.25rem;font-weight:700;color:var(--black);margin-bottom:0.25rem}
.leader-info p{font-size:0.8125rem;color:var(--text3)}

/* 领导详情模态框 */
.leader-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all 0.35s ease}
.leader-modal.show{opacity:1;visibility:visible}
.leader-modal-mask{position:absolute;inset:0;background:rgba(0,0,0,0.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.leader-modal-box{position:relative;z-index:1;background:var(--white);border-radius:var(--radius-lg);box-shadow:0 1rem 3rem rgba(0,0,0,0.2);max-width:72rem;width:94%;overflow:hidden;transform:translateY(1.25rem) scale(0.96);transition:transform 0.35s ease;display:flex;flex-direction:row;max-height:88vh}
.leader-modal.show .leader-modal-box{transform:translateY(0) scale(1)}
.leader-modal-close{position:absolute;top:0.75rem;right:0.75rem;z-index:2;width:2.25rem;height:2.25rem;border-radius:50%;background:rgba(0,0,0,0.5);color:var(--white);font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all 0.2s;cursor:pointer;border:none}
.leader-modal-close:hover{background:linear-gradient(135deg,var(--red-light),var(--red));transform:rotate(90deg)}
.leader-modal-photo{width:20rem;min-height:100%;flex-shrink:0;overflow:hidden;background:var(--bg)}
.leader-modal-photo img{width:100%;height:100%;object-fit:cover;display:block}
.leader-modal-body{padding:2.5rem 3rem 2.5rem 2.5rem;flex:1;overflow-y:auto}
.leader-modal-body h3{font-size:3.25rem;font-weight:700;color:var(--black);margin-bottom:0.375rem}
.leader-modal-title{display:inline-block;font-size:0.875rem;color:var(--white);background:linear-gradient(135deg,var(--red),var(--red-dark));padding:0.25rem 1rem;border-radius:1rem;margin-bottom:1.25rem;animation:titleBreathe 2.5s ease-in-out infinite}
@keyframes titleBreathe{0%,100%{box-shadow:0 0 0 0 rgba(215,15,26,0.4)}50%{box-shadow:0 0 12px 4px rgba(215,15,26,0.25)}}
.leader-modal-body p{font-size:1rem;color:#333;line-height:2;margin-bottom:0.75rem;text-indent:2em}
.leader-modal-body p:last-child{margin-bottom:0}

/* 发展历史 - Swiper轮播 */
.history{padding:5rem 0;background:var(--bg);scroll-margin-top:5rem}
.history-wrap{position:relative}
.history-swiper{overflow:hidden;padding:0 3.5rem;position:relative}
.history-swiper::after{content:'';position:absolute;top:4.5rem;left:3.5rem;right:3.5rem;height:2px;background:linear-gradient(to right,var(--red-light),var(--red),var(--red-light));z-index:0;pointer-events:none}
.history-item{display:flex;flex-direction:column;align-items:center;text-align:center;z-index:1;position:relative;padding:0}
.history-year{font-size:1.75rem;font-weight:800;color:var(--red);line-height:1.2;margin-bottom:1.95rem}
.history-dot{width:0.875rem;height:0.875rem;background:var(--white);border:3px solid var(--red);border-radius:50%; margin: 0 auto; transition:all 0.3s ease;animation:dotBreathe 2s ease-in-out infinite;flex-shrink:0;margin-bottom:1.5rem;z-index:2}
.history-item:hover .history-dot{background:var(--red);box-shadow:0 0 0 4px rgba(215,15,26,0.2);animation:none}
.history-text{flex:1;text-align:center; padding-top: .5rem;}
.history-text h3{font-size:1.0625rem;font-weight:700;color:var(--black);margin-bottom:0.375rem}
.history-text p{font-size:0.8125rem;color:var(--text2);line-height:1.8;max-width:22rem;margin:0 auto}
.history-arrow{position:absolute;top:4.5rem;z-index:10;width:2rem;height:2rem;border-radius:50%;background:var(--white);border:1px solid var(--border);color:var(--text);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:all 0.3s ease;cursor:pointer;transform:translateY(-50%)}
.history-arrow:hover{background:var(--red);color:var(--white);border-color:var(--red);box-shadow:var(--shadow-lg)}
.history-prev{left:0}
.history-next{right:0}
.history-dots{display:flex;justify-content:center;gap:0.5rem;margin-top:1.5rem}
.history-dots .swiper-pagination-bullet{width:8px;height:8px;border-radius:50%;background:rgba(215,15,26,0.2);opacity:1;transition:all 0.3s ease}
.history-dots .swiper-pagination-bullet-active{background:var(--red);width:1.5rem;border-radius:4px}
@keyframes dotBreathe{0%,100%{box-shadow:0 0 0 0 rgba(215,15,26,0.4)}50%{box-shadow:0 0 0 6px rgba(215,15,26,0)}}

/* 校园文化 */
.culture{padding:3.5rem 0;background:var(--red-bg);scroll-margin-top:5rem}
.culture-list-v3{display:flex;flex-direction:column;gap:1.5rem}
.culture-v3{display:flex;gap:1.75rem;align-items:flex-start;background:var(--white);border-radius:var(--radius-lg);padding:1.75rem 2rem;box-shadow:var(--shadow);transition:all 0.35s ease;border-left:4px solid transparent;position:relative;overflow:hidden}
.culture-v3:hover{transform:translateX(6px);box-shadow:var(--shadow-lg);border-left-color:var(--red)}
.culture-v3-num{font-size:2.25rem;font-weight:800;color:var(--red);opacity:0.2;line-height:1;flex-shrink:0;min-width:2.5rem}
.culture-v3:hover .culture-v3-num{opacity:0.5}
.culture-v3-body{flex:1;min-width:0}
.culture-v3-head{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.625rem}
.culture-v3-tag{display:inline-block;font-size:0.75rem;font-weight:600;color:var(--white);background:linear-gradient(135deg,var(--red),var(--red-dark));padding:0.2rem 0.75rem;border-radius:1rem;letter-spacing:1px;flex-shrink:0;animation:tagBreathe 2.5s ease-in-out infinite}
@keyframes tagBreathe{0%,100%{box-shadow:0 0 0 0 rgba(215,15,26,0.4)}50%{box-shadow:0 0 10px 3px rgba(215,15,26,0.25)}}
.culture-v3-head h3{font-size:1.25rem;font-weight:700;color:var(--black);line-height:1.4}
.culture-v3-body p{font-size:0.9375rem;color:var(--text2);line-height:1.9;text-indent:2em}
.culture-v3-bg{position:absolute;right:0.5rem;bottom:-10%;font-size:8rem;font-weight:900;color:transparent;-webkit-text-stroke:1.5px rgba(215,15,26,0.1);letter-spacing:2rem;pointer-events:none;user-select:none;line-height:1;white-space:nowrap}
.culture-v3:hover .culture-v3-bg{-webkit-text-stroke-color:rgba(215,15,26,0.18)}

/* 校园风貌 */
.campus-view{padding:5rem 0;background:var(--white);scroll-margin-top:5rem}
.campus-view-layout{display:flex;gap:3.5rem;align-items:stretch}
.campus-view-text{flex:1;display:flex;flex-direction:column;justify-content:center}
.campus-view-text>p{font-size:1rem;color:var(--text2);line-height:2;text-indent:2em;margin-bottom:1.5rem}
.campus-view-motto{background:var(--red-bg);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;border-left:4px solid var(--red)}
.campus-view-motto h3{font-size:1.125rem;font-weight:700;color:var(--black);margin-bottom:0.5rem}
.campus-view-motto p{font-size:0.9375rem;color:var(--text2);line-height:1.9}
.campus-view-motto .highlight{color:var(--red);font-weight:700}
.campus-view-features{display:flex;flex-direction:column;gap:0.875rem}
.campus-view-feat{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:var(--bg);border-radius:var(--radius);transition:all 0.3s ease}
.campus-view-feat:hover{background:var(--white);box-shadow:var(--shadow);transform:translateX(4px)}
.campus-view-feat i{font-size:1.25rem;color:var(--red);margin-top:0.125rem;flex-shrink:0}
.campus-view-feat strong{display:block;font-size:0.9375rem;color:var(--black);margin-bottom:0.125rem}
.campus-view-feat span{font-size:0.8125rem;color:var(--text3)}
.campus-view-slider{flex:0 0 45%}
.campus-slider-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3}
.campus-slider-track{display:flex;height:100%;transition:transform 0.5s ease}
.campus-slide{min-width:100%;height:100%;position:relative}
.campus-slide img{width:100%;height:100%;object-fit:cover}
.campus-slide img.img-contain{object-fit:contain}
.campus-slide-caption{position:absolute;bottom:1rem;left:1rem;background:rgba(0,0,0,0.5);color:var(--white);font-size:1rem;font-weight:600;letter-spacing:2px;padding:0.35rem 1rem;border-radius:var(--radius)}
.campus-slider-dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:0.5rem;z-index:2}
.campus-slider-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.5);cursor:pointer;transition:all 0.3s ease}
.campus-slider-dots span.active{background:var(--white);width:1.5rem;border-radius:4px}
.campus-slider-prev,.campus-slider-next{position:absolute;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border-radius:50%;background:rgba(255,255,255,0.85);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.875rem;color:var(--black);z-index:2;transition:all 0.3s ease;opacity:0}
.campus-slider-wrap:hover .campus-slider-prev,.campus-slider-wrap:hover .campus-slider-next{opacity:1}
.campus-slider-prev:hover,.campus-slider-next:hover{background:var(--white);box-shadow:var(--shadow)}
.campus-slider-prev{left:0.75rem}
.campus-slider-next{right:0.75rem}

/* 教学名师 */
.teachers{padding:5rem 0;background:var(--bg)}
.teachers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.teacher-card{display:flex;background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:all 0.35s ease;cursor:pointer;position:relative}
.teacher-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.teacher-card:hover .teacher-photo img{transform:scale(1.08)}
.teacher-card:hover .teacher-hint{opacity:1}
.teacher-photo{width:16rem;flex-shrink:0;overflow:hidden;position:relative;aspect-ratio:3/4}
.teacher-photo img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.teacher-hint{position:absolute;bottom:0;left:0;right:0;z-index:2;background:linear-gradient(transparent,rgba(215,15,26,0.85));color:var(--white);padding:1.25rem 0.75rem 0.5rem;text-align:center;font-size:0.75rem;letter-spacing:1px;opacity:0;transition:opacity 0.35s ease;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:0.375rem}
.teacher-hint i{font-size:0.625rem}
.teacher-info{flex:1;padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center;gap:0.875rem}
.teacher-info h3{font-size:1.5rem;font-weight:700;color:var(--black);margin-bottom:0}
.teacher-info .teacher-title{display:inline-block;font-size:0.75rem;color:var(--white);background:linear-gradient(135deg,var(--red),var(--red-dark));padding:0.2rem 0.75rem;border-radius:1rem;letter-spacing:1px;align-self:flex-start;animation:titleBreathe 2.5s ease-in-out infinite}
.teacher-info .teacher-desc{font-size:0.875rem;color:var(--text2);line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* 教师详情模态框 */
.teacher-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all 0.35s ease}
.teacher-modal.show{opacity:1;visibility:visible}
.teacher-modal-mask{position:absolute;inset:0;background:rgba(0,0,0,0.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.teacher-modal-box{position:relative;z-index:1;background:var(--white);border-radius:var(--radius-lg);box-shadow:0 1rem 3rem rgba(0,0,0,0.2);max-width:72rem;width:94%;overflow:hidden;transform:translateY(1.25rem) scale(0.96);transition:transform 0.35s ease;display:flex;flex-direction:row;max-height:88vh}
.teacher-modal.show .teacher-modal-box{transform:translateY(0) scale(1)}
.teacher-modal-close{position:absolute;top:0.75rem;right:0.75rem;z-index:2;width:2.25rem;height:2.25rem;border-radius:50%;background:rgba(0,0,0,0.5);color:var(--white);font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all 0.2s;cursor:pointer;border:none}
.teacher-modal-close:hover{background:linear-gradient(135deg,var(--red-light),var(--red));transform:rotate(90deg)}
.teacher-modal-photo{width:20rem;min-height:100%;flex-shrink:0;overflow:hidden;background:var(--bg)}
.teacher-modal-photo img{width:100%;height:100%;object-fit:cover;display:block}
.teacher-modal-body{padding:2.5rem 3rem 2.5rem 2.5rem;flex:1;overflow-y:auto}
.teacher-modal-body h3{font-size:3.25rem;font-weight:700;color:var(--black);margin-bottom:0.375rem}
.teacher-modal-body .teacher-modal-title{display:inline-block;font-size:0.875rem;color:var(--white);background:linear-gradient(135deg,var(--red),var(--red-dark));padding:0.25rem 1rem;border-radius:1rem;margin-bottom:1.25rem;animation:titleBreathe 2.5s ease-in-out infinite}
.teacher-modal-body p{font-size:1rem;color:#333;line-height:2;margin-bottom:0.75rem;text-indent:2em}
.teacher-modal-body p:last-child{margin-bottom:0}

/* 新闻列表页 */
.news-page{padding:5rem 0;background:var(--bg)}
.news-page-list{display:flex;flex-direction:column;gap:1.25rem}
.news-page-item{display:flex;gap:2rem;align-items:flex-start;background:var(--white);border-radius:var(--radius-lg);padding:1.75rem 2rem;box-shadow:var(--shadow);transition:all 0.35s ease;text-decoration:none;border-left:4px solid transparent}
.news-page-item:hover{transform:translateX(6px);box-shadow:var(--shadow-lg);border-left-color:var(--red)}
.news-page-item:hover .news-page-day{color:var(--red)}
.news-page-item:hover .news-page-more{background:linear-gradient(135deg,var(--red),var(--red-dark));color:var(--white);gap:0.75rem}
.news-page-date{flex-shrink:0;text-align:center;min-width:5rem;padding-top:0.25rem}
.news-page-day{display:block;font-size:2.5rem;font-weight:900;color:var(--black);line-height:1;transition:color 0.3s ease}
.news-page-ym{display:block;font-size:0.8125rem;color:var(--text3);margin-top:0.375rem;letter-spacing:1px}
.news-page-thumb{flex-shrink:0;width:18rem;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden}
.news-page-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.news-page-item:hover .news-page-thumb img{transform:scale(1.08)}
.news-page-content{flex:1;min-width:0}
.news-page-content h3{font-size:1.25rem;font-weight:700;color:var(--black);line-height:1.5;margin-bottom:0.625rem;transition:color 0.3s ease}
.news-page-item:hover .news-page-content h3{color:var(--red)}
.news-page-content p{font-size:0.9375rem;color:var(--text2);line-height:1.8;margin-bottom:0.875rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-page-more{font-size:0.8125rem;color:var(--red);display:inline-flex;align-items:center;gap:0.375rem;padding:0.35rem 1rem;border:1px solid var(--red);border-radius:1.25rem;transition:all 0.3s ease}
.news-page-more i{font-size:0.75rem;transition:transform 0.3s ease}
.news-page-item:hover .news-page-more i{transform:translateX(4px)}

/* 新闻详情页 */
.news-detail{padding:4rem 0;background:var(--bg)}
.news-detail-article{background:var(--white);border-radius:var(--radius-lg);padding:3rem;box-shadow:var(--shadow)}
.news-detail-title{font-size:1.75rem;font-weight:700;color:var(--black);line-height:1.5;margin-bottom:1.25rem}
.news-detail-meta{display:flex;gap:1.5rem;flex-wrap:wrap;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);font-size:0.875rem;color:var(--text3)}
.news-detail-meta i{margin-right:0.25rem}
.news-detail-body{font-size:1rem;color:var(--text2);line-height:2}
.news-detail-body p{margin-bottom:1.25rem;text-indent:2em}
.news-detail-body img{width:100%;border-radius:var(--radius);margin:1rem 0}
.news-detail-nav{display:flex;justify-content:space-between;gap:1.5rem;padding-top:1.5rem;margin-top:2rem;border-top:1px solid var(--border)}
.news-detail-nav a{font-size:0.875rem;color:var(--text2);text-decoration:none;display:flex;align-items:center;gap:0.375rem;transition:color 0.2s;max-width:48%}
.news-detail-nav a:hover{color:var(--red)}
.news-detail-next{text-align:right;margin-left:auto}
.news-detail-back{text-align:center;margin-top:2rem}

/* 专业介绍页 */
.majors-page{padding:5rem 0 0}
.majors-page-item{padding:3.5rem 0;scroll-margin-top:5rem}
.majors-page-item:nth-child(odd){background:var(--red-bg)}
.majors-page-item:nth-child(even){background:var(--white)}
.majors-page-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.majors-page-reverse .majors-page-grid{grid-template-columns:1.2fr 1fr}
.majors-page-reverse .majors-page-img{order:2}
.majors-page-reverse .majors-page-body{order:1}
.majors-page-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16/9;position:relative}
.majors-page-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.majors-page-item:hover .majors-page-img img{transform:scale(1.05)}
.majors-page-img-name{position:absolute;bottom:0;left:0;right:0;padding:1.75rem 2rem;background:linear-gradient(0deg,rgba(215,15,26,0.88) 0%,rgba(215,15,26,0.5) 60%,transparent 100%);color:var(--white);font-size:2.25rem;font-weight:700;letter-spacing:3px;text-shadow:0 2px 4px rgba(0,0,0,0.2)}
.majors-page-body{padding:1rem 0}
.majors-page-body h3{font-size:1.5rem;font-weight:700;color:var(--black);line-height:1.4;margin-bottom:1rem}
.majors-page-des{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:2.5rem}
.majors-page-des p{font-size:0.9375rem;color:var(--text2);line-height:1.8;margin:0}
.majors-page-des strong{display:inline-block;font-size:0.95rem;font-weight:700;color:var(--red);padding-left:0.75rem;margin-right:0.5rem;letter-spacing:0.5px;vertical-align:baseline;border-left:3px solid var(--red);line-height:1.2}
.majors-page-link{font-size:0.875rem;font-weight:600;color:var(--white);text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;padding:0.8rem 2.2rem;background:linear-gradient(135deg,var(--red),var(--red-dark));border-radius:3.125rem;box-shadow:0 0.25rem 0.9375rem rgba(215,15,26,0.3);transition:all 0.3s ease;animation:btnBreathe 2.5s ease-in-out infinite}
.majors-page-link i{font-size:0.75rem;transition:transform 0.3s ease}
.majors-page-item:hover .majors-page-link{background:linear-gradient(135deg,var(--red-light),var(--red));transform:translateY(-2px);box-shadow:0 0.375rem 1.25rem rgba(215,15,26,0.45);gap:0.75rem}
.majors-page-item:hover .majors-page-link i{transform:translateX(4px)}

/* ==================== 联系我们 ==================== */
.contact-page{padding:5rem 0}
.contact-page-alt{background:var(--red-bg)}
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.contact-card{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;text-align:center;box-shadow:var(--shadow);transition:all 0.3s ease}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.contact-card-icon{width:4.5rem;height:4.5rem;margin:0 auto 1.25rem;background:linear-gradient(135deg,var(--red),var(--red-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--white);animation:tagBreathe 2.5s ease-in-out infinite}
.contact-card h3{font-size:1.125rem;font-weight:700;color:var(--black);margin-bottom:0.75rem}
.contact-card p{font-size:0.9375rem;color:var(--text2);line-height:1.8}
.contact-card p a{color:var(--text2);text-decoration:none;transition:color 0.2s}
.contact-card p a:hover{color:var(--red)}

.contact-card .qr-wrap {justify-content: center;}
.contact-card .qr-box p {margin-top: 0;}
.contact-card .qr-box {margin-bottom: 0;}

.contact-routes{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.contact-route-item{display:flex;gap:1.25rem;background:var(--white);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow);transition:all 0.3s ease}
.contact-route-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.contact-route-icon{width:3.5rem;height:3.5rem;min-width:3.5rem;background:linear-gradient(135deg,var(--red),var(--red-dark));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--white)}
.contact-route-body h4{font-size:1rem;font-weight:700;color:var(--black);margin-bottom:0.5rem}
.contact-route-body p{font-size:0.9375rem;color:var(--text2);line-height:1.7}

.contact-form-wrap{max-width:75rem;margin:0 auto}
.contact-form{background:var(--white);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow)}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}
.contact-form-group{display:flex;flex-direction:column;gap:0.5rem}
.contact-form-group label{font-size:0.875rem;font-weight:600;color:var(--text)}
.contact-form-group label span{color:var(--red)}
.contact-form-group input,.contact-form-group select,.contact-form-group textarea{padding:0.75rem 1rem;font-size:0.9375rem;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);background:var(--white);transition:border-color 0.2s;font-family:inherit;outline:none}
.contact-form-group input:focus,.contact-form-group select:focus,.contact-form-group textarea:focus{border-color:var(--red)}
.contact-form-group input::placeholder,.contact-form-group textarea::placeholder{color:var(--text3)}
.contact-form-group textarea{resize:vertical;min-height:6rem}
.contact-form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.contact-form-full{margin-bottom:1.25rem}
.contact-form-submit{text-align:center;padding-top:0.5rem}

/* ==================== 首页响应式 ==================== */
@media(max-width:1024px){
  .about,.majors,.admission,.news,.partners{padding:3.5rem 0}
  .about-intro,.advantages,.leaders,.culture,.campus-view{padding:3.5rem 0}
  .history{padding:3.5rem 0}
  .advantages-grid{grid-template-columns:1fr 1fr;gap:1.25rem}
  .history-swiper{padding:0 2.5rem}
  .history-swiper::after{left:2.5rem;right:2.5rem}
  .about-text-mobile-hide{display:none}
  .about-text .btn{display:block;width:fit-content;margin:0 auto}
  .news-page{padding:3.5rem 0}
  .news-detail{padding:3.5rem 0}
  .news-detail-article{padding:2rem}
  .majors-page{padding:3.5rem 0 0}
  .majors-page-item{padding:2.5rem 0}
  .news-page-item{gap:1.25rem;padding:1.25rem 1.25rem}
  .news-page-day{font-size:2rem}
  .news-page-date{min-width:4rem}

  .admission-cards{grid-template-columns:repeat(2,1fr);gap:1rem}
  .partner-logo-item{width:11.25rem;height:5.625rem;margin:0 0.625rem}

  .leaders-grid,.teachers-grid{grid-template-columns:repeat(2,1fr)}
  .teacher-card{flex-direction:column}
  .teacher-photo{width:100%;aspect-ratio:3/4}

  .contact-page{padding:3.5rem 0}
  .contact-cards{grid-template-columns:repeat(2,1fr);gap:1.25rem}
  .contact-address{grid-template-columns:1fr;gap:1.5rem}
  .contact-routes{grid-template-columns:1fr;gap:1rem}
  .contact-form{padding:1.75rem}
}

@media(max-width:768px){
  .carousel{min-height:25rem;height:55vh}
  .carousel-caption{left:6%;bottom:15%;top:auto;transform:none;max-width:85%; display: none;}
  .carousel-caption h2{font-size:1.3rem;letter-spacing:2px;text-shadow:0 2px 12px rgba(0,0,0,0.6);white-space:normal}
  .carousel-caption h2::after{width:2rem;height:0.1875rem;margin-top:0.625rem}
  .carousel-caption p{font-size:0.8125rem;letter-spacing:0;text-shadow:0 1px 6px rgba(0,0,0,0.5)}
  .carousel-btn{padding:0.625rem 1.5rem;font-size:0.8125rem;margin-top:1rem; }
  .carousel-pages{bottom:1rem}
  .carousel-pages .page-num{font-size:0.8125rem}
  .carousel-pages .page-num.active{font-size:1.25rem}
  .scroll-hint{bottom:1.5rem;left:0.75rem; display: none !important;；}
  .carousel-arrow{display:flex;width:2.125rem;height:2.125rem; }
  .carousel-prev{left:0.625rem}
  .carousel-next{right:0.625rem}

  .about,.majors,.admission,.news,.partners{padding:2.25rem 0}
  .about-intro,.advantages,.leaders,.culture,.campus-view{padding:2.25rem 0}
  .history{padding:2.25rem 0}
  .advantages-grid{grid-template-columns:1fr;gap:1rem}
  .advantage-card{padding:1.5rem}
  .history-swiper{padding:0 2rem}
  .history-swiper::after{left:2rem;right:2rem; top: 2.75rem;}
  .history-year{font-size:1.25rem; margin-bottom: 1rem;}
  .history-dot{width:0.625rem;height:0.625rem}
  .history-item h3{font-size:0.9375rem}
  .history-item p{font-size:0.75rem;line-height:1.6;max-width:80%; text-align: left;}
  .history-arrow{width:1.75rem;height:1.75rem;top:50%;transform:translateY(-50%)}
  .history-prev{left:0}
  .history-next{right:0}
  .teachers{padding:3rem 0}
  .news-page{padding:2.25rem 0}
  .news-detail{padding:2.25rem 0}
  .news-detail-article{padding:1.25rem}
  .majors-page{padding:2.25rem 0 0}
  .majors-page-item{padding:2rem 0}
  .majors-page-grid{grid-template-columns:1fr;gap:1.25rem}
  .majors-page-reverse .majors-page-grid{grid-template-columns:1fr}
  .majors-page-reverse .majors-page-img{order:0}
  .majors-page-reverse .majors-page-body{order:0}
  .majors-page-img{aspect-ratio:16/10}
  .majors-page-img-name{font-size:1.5rem;padding:1rem 1.25rem;letter-spacing:2px}
  .majors-page-body h3{font-size:1.25rem}
  .majors-page-des{gap:0.5rem;margin-bottom:1.25rem}
  .majors-page-des p{font-size:0.875rem}
  .majors-page-des strong{font-size:0.75rem;padding-left:0.5rem}
  .news-detail-title{font-size:1.375rem}
  .news-detail-meta{font-size:0.8125rem;gap:1rem}
  .news-detail-body{font-size:0.9375rem}
  .news-detail-nav{flex-direction:column;gap:0.75rem}
  .news-detail-nav a{max-width:100%}
  .news-page-item{flex-direction:column;gap:0.75rem;padding:1rem}
  .news-page-date{display:flex;align-items:baseline;gap:0.5rem;min-width:auto}
  .news-page-day{font-size:1.5rem}
  .news-page-ym{margin-top:0}
  .news-page-thumb{width:100%;aspect-ratio:16/9}
  .news-page-content h3{font-size:1.0625rem}
  .news-page-content p{font-size:0.8125rem}

  .page-banner{min-height:16rem;height:40vh}
  .page-banner-title{font-size:1.75rem;letter-spacing:2px}
  .page-banner-en{font-size:0.9rem;letter-spacing:2px}
  .page-banner-bar{width:100%;left:0;transform:none;justify-content:center;gap:1.5rem}
  .breadcrumb{display:none}
  .news-cats{flex-wrap:nowrap}
  .news-cat{font-size:1rem}

  .leaders-grid{grid-template-columns:repeat(3,1fr);gap:1rem}

  .culture-list-v3{gap:1rem}
  .culture-v3{padding:1.25rem 1rem;gap:1rem}
  .culture-v3-num{font-size:1.75rem;min-width:2rem}
  .culture-v3-head h3{font-size:1.0625rem}

  .about-grid{grid-template-columns:1fr;gap:1.5rem}
  .about-badge{bottom:-0.625rem;right:0;padding:0.625rem 0.875rem}
  .badge-year{font-size:1rem}
  .stats{grid-template-columns:repeat(2,1fr);gap:1rem 0;padding:1.5rem 0.625rem}
  .stat-item:nth-child(3){display:none}
  .stat-num{font-size:2.25rem}
  .stat-label{font-size:0.8125rem}

  /* 专业手风琴 → 2列网格卡片 */
  .majors-accordion{display:grid;grid-template-columns:1fr 1fr;gap:0.625rem;height:auto}
  .major-item{flex:none !important;border-right:none !important;border-radius:var(--radius);overflow:hidden}
  .major-item.cur{flex:none !important}
  .major-bg{height:6.875rem;position:relative}
  .major-overlay{background:rgba(0,0,0,0.2) !important}
  .major-label{opacity:1 !important;transform:none !important;width:100%;padding:0.625rem 0.75rem;border-top-right-radius:1.25rem;position:relative;background:rgba(215,15,26,0.65)}
  .major-item.cur .major-label{background:rgba(215,15,26,0.8)}
  .major-label h3{font-size:0.875rem;margin-bottom:0.125rem}
  .major-label p{font-size:0.75rem;-webkit-line-clamp:1}
  .majors-cta{margin-top:1.25rem}
  .major-item:nth-child(n+7){display:none}

  .leader-hint{opacity:1;transform:translateY(0)}

  .admission-cards{grid-template-columns:1fr 1fr;gap:0.625rem;margin-bottom:1rem}
  .adm-item{padding:1rem 0.75rem;text-align:center}
  .adm-item::after{display:none}
  .adm-icon{width:2.5rem;height:2.5rem;margin:0 auto 0.5rem;border-radius:0.625rem;font-size:1.125rem}
  .adm-item h3{font-size:0.875rem;margin-bottom:0.25rem}
  .adm-item p{font-size:0.6875rem;line-height:1.5;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  .admission-bottom{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}
  .adm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem}
  .adm-stat strong{font-size:1.25rem}
  .adm-stat span{font-size:0.6875rem}
  .adm-cta{justify-content:center}
  .adm-cta .btn{padding:0.625rem 1.5rem;font-size:0.875rem}

  .news-layout{grid-template-columns:1fr;gap:1.25rem}
  .news-carousel{position:relative}
  .news-carousel-track{height:12.5rem}
  .news-slide-img{min-height:12.5rem;height:12.5rem}
  .news-slide-tag{top:0.75rem;left:0.75rem;padding:0.1875rem 0.625rem;font-size:0.6875rem}
  .news-slide-date{font-size:0.6875rem;margin-bottom:0.375rem}
  .news-slide-text{padding:1rem 0.875rem 0.875rem}
  .news-slide-text h3{font-size:1rem;margin-bottom:0;-webkit-line-clamp:1}
  .news-slide-text p{display:none}
  .news-slide-link{display:none}
  .news-carousel-dots{bottom:auto;top:0.75rem;right:0.75rem}
  .n-dot{width:0.5rem;height:0.5rem}
  .n-arrow{width:1.875rem;height:1.875rem;font-size:0.75rem}
  .news-list-item{gap:0.625rem;padding:1rem 0}
  .news-list-thumb{width:5.625rem;height:4rem}

  .partner-logo-item{width:8.75rem;height:4.375rem;margin:0 0.375rem}
}

@media(max-width:480px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat-num{font-size:1.75rem}

  .page-banner-title{font-size:1.075rem}
  .leaders-grid,.teachers-grid{grid-template-columns:repeat(2,1fr);gap:0.75rem}
  .leader-info,.teacher-info{padding:0.875rem 0.5rem}
  .leader-info h3,.teacher-info h3{font-size:0.9375rem}
  .teacher-card{flex-direction:column}
  .teacher-photo{width:100%;aspect-ratio:3/4}
  .teacher-info{padding:0.875rem 1rem}
  .teacher-info .teacher-desc{font-size:0.8125rem}

  .leader-modal-body,.teacher-modal-body{padding:1.25rem 1.25rem 1.5rem}
  .leader-modal-body h3,.teacher-modal-body h3{font-size:1.125rem}
  .leader-modal-body p,.teacher-modal-body p{font-size:0.8125rem}
  .leader-modal-box,.teacher-modal-box{flex-direction:column;max-height:90vh}
  .leader-modal-photo,.teacher-modal-photo{width:100%;min-height:auto;aspect-ratio:3/4}
  .leader-modal-photo img,.teacher-modal-photo img{object-position:top}

  .advantage-card{flex-direction:column;gap:1rem;padding:1.25rem}
  .advantage-icon{width:3rem;height:3rem;font-size:1.25rem}
  .advantage-body h3{font-size:1.125rem}
  .advantage-body p{font-size:0.875rem}

  .culture-v3{flex-direction:column;gap:0.5rem;padding:1rem}
  .culture-v3-num{font-size:1.5rem}
  .culture-v3-head h3{font-size:1rem}
  .culture-v3-body p{font-size:0.8125rem}
  .culture-v3-bg{font-size:6rem;letter-spacing:1rem; bottom:-6%;}

  .campus-view-layout{flex-direction:column;gap:2rem}
  .campus-view-slider{flex:none;width:100%}
  .campus-slider-wrap{aspect-ratio:16/9}

  .majors-accordion .major-bg{height:5.625rem}
  .major-label{padding:0.5rem 0.625rem}
  .major-label h3{font-size:0.8125rem}
  .major-label p{display:none}

  .contact-page{padding:2.25rem 0}
  .contact-cards{grid-template-columns:1fr;gap:1rem}
  .contact-card{padding:1.75rem 1rem}
  .contact-card-icon{width:3.5rem;height:3.5rem;font-size:1.25rem}
  .contact-address{grid-template-columns:1fr}
  .contact-routes{grid-template-columns:1fr}
  .contact-route-item{padding:1.25rem}
  .contact-form{padding:1.25rem}
  .contact-form-row{grid-template-columns:1fr;gap:1rem}

  .news-slide-img{min-height:12.5rem}
  .news-slide-text h3{font-size:1rem}
  .news-list-thumb{width:5rem;height:3.5rem}
  .news-list-info a{font-size:0.8125rem}

  .coop-logos{grid-template-columns:repeat(2,1fr);gap:0.75rem}
  .coop-logo-item{padding:1rem}
}

/* ==================== 校企合作页 ==================== */
.coop-page{padding:3.5rem 0}
.coop-page-alt{background:var(--bg)}

.coop-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
/* 合作院校卡片微调 */
#coopSchool .coop-logo-item{padding:1.25rem 1rem}
#coopSchool .coop-logo-img{height:auto;flex-direction:column;gap:0.5rem}
#coopSchool .coop-logo-img p{font-size:0.8125rem;color:var(--text2);text-align:center;margin:0; font-weight: 600;}
#coopSchool .coop-logo-img img{height:3.5rem;width:auto;max-width:100%}
/* 合作企业：一排6个 */
#coopEnterprise .coop-logos{grid-template-columns:repeat(7,1fr);gap:1rem}
.coop-logo-item{background:var(--white);border-radius:var(--radius);border:1px solid var(--divider);padding:1.5rem;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease}
.coop-logo-item:hover{border-color:var(--red);box-shadow:0 0.25rem 1rem rgba(215,15,26,0.1);transform:translateY(-2px)}
.coop-logo-img{width:100%;height:4.5rem;display:flex;align-items:center;justify-content:center}
/* 合作企业卡片微调 */
#coopEnterprise .coop-logo-item{padding:1.25rem 1rem}
#coopEnterprise .coop-logo-img{height:4rem}
#coopEnterprise .coop-logo-img img{object-fit:contain}
#coopEnterprise .coop-logo-img p{font-size:0.8125rem;color:var(--text2);margin-top:0.375rem;text-align:center}
.coop-logo-img img{max-width:100%;max-height:100%;object-fit:contain;/*filter:grayscale(100%);*/transition:filter 0.3s ease}
.coop-logo-item:hover .coop-logo-img img{filter:grayscale(0)}


/* ==================== 招生简章-阅读器 ==================== */
.reader-section{padding:2.5rem 0 3rem;background:var(--bg)}
.reader-wrap{display:flex;align-items:center;justify-content:center;gap:1rem;max-width:56rem;margin:0 auto}
.reader-viewport{flex:1;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:20rem}
.reader-viewport img{width:100%;height:auto;display:block;transition:opacity 0.25s ease}
.reader-btn{width:3rem;height:3rem;border-radius:50%;background:var(--white);color:var(--red);font-size:1rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);transition:all 0.25s ease;flex-shrink:0;cursor:pointer}
.reader-btn:hover:not(:disabled){background:var(--red);color:var(--white);box-shadow:var(--shadow-lg);transform:scale(1.08)}
.reader-btn:disabled{opacity:0.3;cursor:not-allowed}

.reader-controls{display:flex;align-items:center;justify-content:center;gap:0.75rem;margin-top:1.5rem}
.reader-ctrl-btn{width:2.25rem;height:2.25rem;border-radius:50%;background:var(--white);color:var(--text);font-size:0.75rem;display:flex;align-items:center;justify-content:center;box-shadow:0 0.0625rem 0.375rem rgba(0,0,0,0.06);transition:all 0.25s ease;cursor:pointer}
.reader-ctrl-btn:hover:not(:disabled){background:var(--red);color:var(--white);box-shadow:var(--shadow)}
.reader-ctrl-btn:disabled{opacity:0.3;cursor:not-allowed}
.reader-page-info{font-size:0.9375rem;color:var(--text2);min-width:3.5rem;text-align:center;font-weight:500}
.reader-page-info span:first-child{color:var(--red);font-weight:700;font-size:1.125rem}
.reader-ctrl-divider{width:1px;height:1.25rem;background:var(--border);margin:0 0.25rem}
.reader-viewport.zoomed{cursor:grab;overflow:auto;align-items:flex-start;justify-content:flex-start}
.reader-viewport.zoomed:active{cursor:grabbing}
.reader-viewport.zoomed img{width:auto;max-width:none;transform-origin:0 0}
.reader-zoom-hint{position:absolute;bottom:0.75rem;right:0.75rem;background:rgba(0,0,0,0.5);color:#fff;font-size:0.75rem;padding:0.25rem 0.5rem;border-radius:var(--radius);pointer-events:none;opacity:0;transition:opacity 0.3s ease}
.reader-viewport:hover .reader-zoom-hint{opacity:1}
.reader-viewport.zoomed .reader-zoom-hint{display:none}
#readerZoomLevel{min-width:3rem;font-size:0.8125rem;color:var(--red);font-weight:600}

@media(max-width:1024px){
  .reader-wrap{gap:0.625rem}
}
@media(max-width:768px){
  .reader-section{padding:1.5rem 0 2rem}
  .reader-btn{width:2.5rem;height:2.5rem;font-size:0.875rem}
  .reader-controls{gap:0.5rem;margin-top:1rem}
  #readerFirst,#readerLast{display:none}
}
@media(max-width:480px){
  .reader-btn{width:2.25rem;height:2.25rem;font-size:0.75rem}
  .reader-ctrl-btn{width:2rem;height:2rem;font-size:0.6875rem}
}


/* ==================== 升学通道页 ==================== */
.shengxue-page{padding:3.5rem 0}
.shengxue-intro{max-width:50rem;margin:-1.5rem auto 3rem;text-align:center;font-size:1.0625rem;color:var(--text2);line-height:1.9}

.sx-category{margin-bottom:2.5rem;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow 0.3s ease}
.sx-category:hover{box-shadow:var(--shadow-lg)}
.sx-category-header{display:flex;align-items:center;gap:0.875rem;padding:1.25rem 1.75rem;background:linear-gradient(135deg,var(--red),var(--red-dark));color:var(--white)}
.sx-category-icon{width:2.5rem;height:2.5rem;background:rgba(255,255,255,0.2);border-radius:0.5rem;display:flex;align-items:center;justify-content:center;font-size:1.125rem}
.sx-category-header h3{font-size:1.25rem;font-weight:700;letter-spacing:1px}
.sx-category-note{padding:1rem 1.75rem;background:var(--red-bg);font-size:0.9375rem;color:var(--red-dark);line-height:1.7;border-bottom:1px solid rgba(215,15,26,0.1)}

.sx-table{width:100%}
.sx-table-head{display:grid;grid-template-columns:3fr 0.8fr 1fr 3fr;gap:0.5rem;padding:0.875rem 1.75rem;background:var(--bg);font-size:0.875rem;font-weight:600;color:var(--text3);border-bottom:1px solid var(--divider)}
.sx-table-row{display:grid;grid-template-columns:3fr 0.8fr 1fr 3fr;gap:0.5rem;padding:1rem 1.75rem;border-bottom:1px solid var(--divider);font-size:0.9375rem;color:var(--text);transition:background 0.2s ease;align-items:center}
.sx-table-row:last-child{border-bottom:none}
.sx-table-row:hover{background:rgba(215,15,26,0.03)}
.sx-col-major{font-weight:600}
.sx-col-year{text-align:center;color:var(--red);font-weight:600}
.sx-col-num{text-align:center}
.sx-col-path{color:var(--text2);line-height:1.6}

@media(max-width:1024px){
  .shengxue-page{padding:3.5rem 0}
}
@media(max-width:768px){
  .shengxue-page{padding:2.25rem 0}
  .shengxue-intro{font-size:0.9375rem;margin:-1rem auto 2rem}
  .sx-category{margin-bottom:1.75rem}
  .sx-category-header{padding:1rem 1.25rem}
  .sx-category-header h3{font-size:1.0625rem}
  .sx-category-note{padding:0.875rem 1.25rem;font-size:0.875rem}
  .sx-table-head,.sx-table-row{padding:0.75rem 1.25rem;font-size:0.8125rem;gap:0.375rem}
  .sx-table-row{font-size:0.875rem}
}
@media(max-width:480px){
  .sx-table-head{display:none}
  .sx-table-row{grid-template-columns:1fr;gap:0.375rem;padding:1rem 1.25rem}
  .sx-col-major{font-size:1rem}
  .sx-col-year,.sx-col-num{display:inline;font-size:0.8125rem;text-align:left}
  .sx-col-year::before{content:'年制：';color:var(--text3);font-weight:400}
  .sx-col-num::before{content:'招生：';color:var(--text3);font-weight:400}
  .sx-col-path::before{content:'通道：';color:var(--text3);font-weight:400;display:block;margin-bottom:0.25rem;font-size:0.8125rem}
}

/* 合作院校/企业 响应式 */
@media(max-width:1024px){
  .coop-logos{grid-template-columns:repeat(5,1fr);gap:0.875rem}
  #coopEnterprise .coop-logos{grid-template-columns:repeat(3,1fr)}
  #coopSchool .coop-logo-img img{height:2.5rem}
  #coopEnterprise .coop-logo-item{padding:1.25rem 1rem}
  #coopEnterprise .coop-logo-img{height:3.5rem}
}
@media(max-width:768px){
  .coop-logos{grid-template-columns:repeat(3,1fr);gap:0.75rem}
  #coopEnterprise .coop-logos{grid-template-columns:repeat(3,1fr)}
  .coop-logo-item{padding:1rem}
  .coop-logo-img{height:3.25rem}
  #coopSchool .coop-logo-item{padding:0.875rem 0.625rem}
  #coopSchool .coop-logo-img img{height:2rem}
  #coopSchool .coop-logo-img p{font-size:0.6875rem}
  #coopEnterprise .coop-logo-item{padding:1rem 0.75rem}
  #coopEnterprise .coop-logo-img{height:3rem}
}
@media(max-width:480px){
  .coop-logos{grid-template-columns:repeat(2,1fr);gap:0.5rem}
  #coopEnterprise .coop-logos{grid-template-columns:repeat(3,1fr);gap:0.375rem}
  .coop-logo-item{padding:0.75rem}
  .coop-logo-img{height:2.75rem}
  #coopSchool .coop-logo-item{padding:0.75rem 0.375rem}
  #coopSchool .coop-logo-img img{height:1.75rem}
  #coopSchool .coop-logo-img p{font-size:0.625rem}
  #coopEnterprise .coop-logo-item{padding:0.5rem 0.25rem}
  #coopEnterprise .coop-logo-img{height:2rem}
}





/* ==================== 师生荣誉 - 获奖名目列表 ==================== */
.honor-awards{padding:5rem 0;background:var(--white)}
.honor-awards .section-title{margin-bottom:3rem}
.honor-award-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;max-width:64rem;margin:0 auto}
.honor-award-item{display:flex;align-items:flex-start;gap:1.25rem;background:var(--bg);border-radius:var(--radius-lg);padding:1.75rem 1.5rem;box-shadow:var(--shadow);transition:all 0.35s ease;border-left:0 solid transparent}
.honor-award-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-left:4px solid var(--red);padding-left:calc(1.5rem - 4px)}
.honor-award-icon{flex-shrink:0;width:3.25rem;height:3.25rem;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--red-dark));display:flex;align-items:center;justify-content:center;color:var(--white);font-size:1.25rem;box-shadow:0 4px 12px rgba(215,15,26,0.25)}
.honor-award-body{flex:1;min-width:0}
.honor-award-body h3{font-size:1.05rem;color:var(--black);margin-bottom:0.375rem;font-weight:700}
.honor-award-level{display:inline-block;font-size:0.75rem;color:var(--red);background:rgba(215,15,26,0.08);padding:0.15rem 0.65rem;border-radius:1.25rem;font-weight:600;margin-bottom:0.5rem}
.honor-award-body p{font-size:0.9rem;color:var(--text2);line-height:1.65;margin:0}

/* 证书网格 */
.cert-grid-section{padding:5rem 0;background:var(--bg)}
.cert-grid-section .section-title{margin-bottom:3rem}
.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.cert-item{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:all 0.35s ease;/*aspect-ratio:2/4;*/position:relative}
.cert-item:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.cert-item img{width:100%;height:100%;object-fit:contain;background:#f5f5f5;padding:0.5rem;transition:transform 0.5s ease}
.cert-item:hover img{transform:scale(1.05)}
.cert-item-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.7));color:var(--white);padding:1.5rem 0.75rem 0.75rem;font-size:0.85rem;text-align:center;font-weight:600;opacity:0;transition:opacity 0.3s ease;pointer-events:none}
.cert-item:hover .cert-item-caption{opacity:1}
.cert-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.4);color:var(--white);font-size:0.9375rem;font-weight:600;gap:0.5rem;opacity:0;transition:opacity 0.3s ease;pointer-events:none}
.cert-item:hover .cert-hint{opacity:1}

/* 证书弹窗 */
.cert-lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.9);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s ease}
.cert-lightbox.active{opacity:1;pointer-events:auto}
.cert-lightbox-close{position:absolute;top:1.5rem;right:2rem;font-size:2rem;color:var(--white);background:none;border:none;cursor:pointer;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all 0.3s ease;z-index:2}
.cert-lightbox-close:hover{background:rgba(255,255,255,0.15)}
.cert-lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:0.5rem;box-shadow:0 1rem 3rem rgba(0,0,0,0.5)}
.cert-lightbox-caption{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.85);font-size:0.9375rem;background:rgba(0,0,0,0.5);padding:0.5rem 1.5rem;border-radius:1.5rem;pointer-events:none}
.cert-lightbox-prev,.cert-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border-radius:50%;background:rgba(255,255,255,0.15);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--white);z-index:2;transition:all 0.3s ease}
.cert-lightbox-prev:hover,.cert-lightbox-next:hover{background:rgba(255,255,255,0.3)}
.cert-lightbox-prev{left:2rem}
.cert-lightbox-next{right:2rem}

/* 大赛风采轮播 - 更大气 */
.honor-slider{padding:5rem 0;background:var(--white)}
.honor-slider .section-title{margin-bottom:2.5rem}
.honor-slider-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16/9;max-width:64rem;margin:0 auto}
.honor-slider-track{display:flex;height:100%;transition:transform 0.5s ease}
.honor-slide{min-width:100%;height:100%;position:relative}
.honor-slide img{width:100%;height:100%;object-fit:cover}
.honor-slide-caption{position:absolute;bottom:0;left:0;right:0;padding:2.5rem 2rem 1.5rem;background:linear-gradient(transparent,rgba(0,0,0,0.55));color:var(--white);font-size:1.05rem;font-weight:600;letter-spacing:1px}
.honor-slider-dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:0.5rem;z-index:2}
.honor-slider-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.5);cursor:pointer;transition:all 0.3s ease}
.honor-slider-dots span.active{background:var(--white);width:1.5rem;border-radius:4px}
.honor-slider-prev,.honor-slider-next{position:absolute;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(255,255,255,0.85);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.9375rem;color:var(--black);z-index:2;transition:all 0.3s ease;opacity:0}
.honor-slider-wrap:hover .honor-slider-prev,.honor-slider-wrap:hover .honor-slider-next{opacity:1}
.honor-slider-prev:hover,.honor-slider-next:hover{background:var(--white);box-shadow:var(--shadow)}
.honor-slider-prev{left:0.75rem}
.honor-slider-next{right:0.75rem}

/* 荣誉页响应式 */
@media(max-width:1024px){
  .honor-slider-wrap{aspect-ratio:16/8}
}
@media(max-width:768px){
  .honor-slider-wrap{aspect-ratio:16/9;border-radius:var(--radius)}
  .honor-slide-caption{padding:1.5rem 1rem 1rem;font-size:0.9375rem}
  .honor-award-list{grid-template-columns:1fr;gap:1rem}
  .honor-award-item{padding:1.25rem 1.25rem}
  .cert-grid{grid-template-columns:repeat(2,1fr);gap:0.875rem}
  .cert-lightbox-prev{left:0.75rem;width:2.5rem;height:2.5rem;font-size:1rem}
  .cert-lightbox-next{right:0.75rem;width:2.5rem;height:2.5rem;font-size:1rem}
  .cert-lightbox-close{top:0.75rem;right:1rem;font-size:1.5rem}
}
@media(max-width:480px){
  .cert-grid{grid-template-columns:repeat(2,1fr);gap:0.625rem}
}

