 /* ================================================
    主题和导航栏-style
    ================================================*/
 :root {
     --primary-color: #800810;
     --text-dark: #1a2b3c;
     --primary-text: #1e293b;
     --max-width: 1140px;
     --nav-font-size: 17px;
     --header-height: 100px;
     --section-padding: 80px;
     --mobile-padding: 25px;
     --line-height-lush: 1.85;
     --brand-red: #800810;
     --dark-bg: #1a1c23;
     --light-bg: #fcfcfc;
     --mega-font-size: 3.5rem;
     /* 增加行高解决拥挤感 */
 }

 /* 基础重置 */
 * {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     list-style: none;
 }

 html {
     height: 100%;
 }


 body {
     font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
     color: #333;
     background-color: #fff;
     -webkit-font-smoothing: antialiased;
     line-height: var(--line-height-lush);
     display: flex;
     flex-direction: column;
     /* 垂直排列 */
     min-height: 100%;
     /* 最小高度为视口高度 */
     margin: 0;
     /* padding-top: 80px; */
     color: var(--primary-text);

 }

 /* --- 导航栏主体 --- */
 header {
     background: #fff;
     border-bottom: 1px solid #eee;
     position: sticky;
     top: 0;
     z-index: 1000;
     height: var(--header-height);
 }

 .container {
     max-width: var(--max-width);
     margin: 0 auto;
     padding: 0 25px;
     height: 100%;
     padding: 0 var(--mobile-padding);
     /* 核心：移动端边距控制 */
 }



 nav {
     display: flex;
     justify-content: space-between;
     align-items: center;
     height: 100%;
 }

 /* --- Logo 区域 --- */
 .logo-area {
     display: flex;
     flex-direction: column;
     text-decoration: none;
     flex-shrink: 0;
 }

 .logo-main {
     font-family: 'Times New Roman', Times, serif;
     font-size: 28px;
     font-weight: 900;
     color: var(--primary-color);
     line-height: 1;
     letter-spacing: 1px;
 }

 .logo-sub {
     font-size: 13px;
     color: #666;
     margin-top: 5px;
 }

 /* --- 电脑端菜单 --- */
 .nav-links {
     display: flex;
     align-items: center;
     height: 100%;
     gap: 5px;
 }

 .nav-item {
     position: relative;
     height: 100%;
     display: flex;
     align-items: center;
 }

 .nav-item>a {
     text-decoration: none;
     color: #333;
     padding: 0 15px;
     height: 100%;
     font-size: var(--nav-font-size);
     font-weight: 500;
     display: flex;
     align-items: center;
     transition: color 0.2s;
 }

 /* 电脑端悬停逻辑 */
 @media (min-width: 1025px) {
     .nav-item:hover>a {
         color: var(--primary-color);
     }

     .nav-item:hover .dropdown-menu {
         display: block;
     }
 }

 /* --- Register 按钮风格 (适中且居中) --- */
 .register-btn {
     display: flex;
     align-items: center;
     padding-left: 10px;
 }

 .register-btn a {
     background-color: var(--primary-color) !important;
     color: #ffffff !important;
     font-weight: 600;
     font-size: 16px;
     padding: 10px 25px !important;
     border-radius: 4px;
     display: flex;
     align-items: center;
     justify-content: center;
     text-decoration: none;
     line-height: 1;
     transition: all 0.3s ease;
     height: auto !important;
     /* 不随导航栏高度撑满 */
 }

 .register-btn a:hover {
     background-color: #6a060d !important;
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
     transform: translateY(-1px);
 }

 /* --- 下拉菜单 --- */
 .dropdown-menu {
     display: none;
     position: absolute;
     top: 100%;
     left: 50%;
     transform: translateX(-50%);
     background: #fff;
     min-width: 190px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
     border: 1px solid #eee;
     border-top: none;
     padding: 10px 0;
     border-radius: 0 0 6px 6px;
 }

 .dropdown-menu li a {
     padding: 12px 20px;
     display: block;
     text-decoration: none;
     color: #444;
     font-size: 15px;
     transition: background 0.2s;
 }

 .dropdown-menu li a:hover {
     background-color: #f8f8f8;
     color: var(--primary-color);
 }

 /* --- 移动端汉堡菜单 --- */
 .menu-toggle {
     display: none;
     flex-direction: column;
     gap: 5px;
     cursor: pointer;
     padding: 10px;
 }

 .menu-toggle span {
     width: 25px;
     height: 3px;
     background: #333;
     transition: 0.3s;
 }

 /* 2. 让主要内容区域自动“撑开” */
 .content-wrapper {
     flex: 1 0 auto;

     /* 第一个参数 1 表示它会占用所有剩余空间 */
 }

 /* --- 响应式设计 (针对手机端优化) --- */
 @media (max-width: 1024px) {
     header {
         height: 80px;
     }

     .menu-toggle {
         display: flex;
     }

     .nav-links {
         display: none;
         position: absolute;
         top: 80px;
         left: 0;
         width: 100%;
         background: #fff;
         flex-direction: column;
         height: auto;
         padding-bottom: 40px;
         /* 增加底部呼吸感 */
         box-shadow: 0 20px 25px rgba(0, 0, 0, 0.05);
         border-top: 1px solid #eee;
     }

     .nav-links.show {
         display: flex;
     }

     .nav-item {
         width: 100%;
         height: auto;
         flex-direction: column;
     }

     .nav-item>a {
         width: 100%;
         padding: 20px 25px;
         height: auto;
         border-bottom: 1px solid #f9f9f9;
         justify-content: space-between;
     }

     /* 移动端下拉列表 */
     .dropdown-menu {
         position: relative;
         top: 0;
         left: 0;
         transform: none;
         width: 100%;
         box-shadow: none;
         border: none;
         background: #fafafa;
         padding: 0;
     }

     .nav-item.active .dropdown-menu {
         display: block;
     }

     .dropdown-menu li a {
         padding-left: 45px;
         border-bottom: 1px solid #eee;
     }

     /* 移动端按钮：适中尺寸且水平居中 */
     .register-btn {
         width: 100%;
         padding: 30px 0;
         /* 上下留白，让按钮不拥挤 */
         display: flex;
         justify-content: center;
         /* 确保按钮色块在屏幕水平居中 */
     }

     .register-btn a {
         /* 宽度设定：240px 显得很有分量 */
         width: 240px !important;
         /* 高度设定：45px 比例最协调 */
         height: 45px !important;

         background-color: var(--primary-color) !important;
         color: #ffffff !important;
         border-radius: 4px;
         text-decoration: none;
         font-weight: 600;
         font-size: 18px;

         /* 核心：文字绝对居中方案 */
         display: flex !important;
         align-items: center;
         /* 垂直居中 */
         justify-content: center;
         /* 水平居中 */

         /* 消除额外干扰 */
         line-height: 1 !important;
         padding: 0 !important;
         margin: 0 auto;
     }
 }

 /* --- Footer 样式表达 --- */
 .site-footer {
     background-color: #0b1117;
     /* 更加接近截图的深黑色/海军蓝背景 */
     color: #ffffff;
     padding: 60px 0 30px 0;
     text-align: center;
     font-family: 'Montserrat', sans-serif;
 }

 .footer-container {
     max-width: 1140px;
     margin: 0 auto;
     padding: 0 25px;
 }

 /* Logo 图片容器 */
 .footer-logo {
     margin-bottom: 30px;
     display: flex;
     justify-content: center;
 }

 .logo-box {
     background: #fff;
     /* 保持白色背景卡片风格 */
     padding: 12px 25px;
     border-radius: 6px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 180px;
     /* 保证一定的宽度 */
 }

 .school-logo-img {
     max-height: 50px;
     /* 控制图片高度，避免过大 */
     width: auto;
     /* 保持比例 */
     display: block;
 }

 /* 地址信息 */
 .footer-info {
     margin-bottom: 25px;
     font-size: 15px;
     color: #cfd8dc;
     letter-spacing: 0.5px;
 }

 .footer-info .icon {
     margin-right: 8px;
     font-size: 16px;
     vertical-align: middle;
 }

 /* 其他机会链接 */
 .footer-links {
     margin-bottom: 45px;
 }

 .links-title {
     font-size: 12px;
     font-weight: 500;
     color: #90a4ae;
     /* 灰蓝色文字 */
     margin-bottom: 12px;
     letter-spacing: 1.2px;
     text-transform: uppercase;
 }

 .opportunity-link {
     color: #fff;
     text-decoration: none;
     font-size: 15px;
     transition: opacity 0.2s;
     display: inline-flex;
     align-items: center;
 }

 .opportunity-link:hover {
     opacity: 0.8;
 }

 .opportunity-link .icon {
     margin-right: 10px;
     font-size: 18px;
 }

 /* 版权声明底部 */
 .footer-bottom {
     border-top: 1px solid rgba(255, 255, 255, 0.08);
     /* 极细的线 */
     padding-top: 30px;
     font-size: 13px;
     color: #90a4ae;
 }

 /* 3. 防止页脚被压缩 */
 .site-footer {
     flex-shrink: 0;
     /* 确保页脚不会因为内容多而被挤小 */
 }

 /* 响应式适配 */
 @media (max-width: 768px) {
     .site-footer {
         padding: 40px 0 20px 0;
     }

     .school-logo-img {
         max-height: 40px;
         /* 手机端稍微缩小 Logo */
     }

     .footer-info {
         font-size: 13px;
     }
 }


 /* --- 滚动动画控制 --- */
 .reveal,
 .reveal-left,
 .reveal-right {
     opacity: 0;
     transition: 1.2s cubic-bezier(0.17, 0.67, 0.83, 0.67);
 }

 .reveal {
     transform: translateY(50px);
 }

 .reveal-left {
     transform: translateX(-60px);
 }

 .reveal-right {
     transform: translateX(60px);
 }

 /* 手机端动画回退，防止侧向溢出 */
 @media (max-width: 768px) {

     .reveal-left,
     .reveal-right {
         transform: translateY(50px);
     }

     .main-title {
         font-size: 2.5rem !important;
     }

     .section-title {
         font-size: 2.0rem !important;
     }
 }

 .active {
     opacity: 1 !important;
     transform: translate(0, 0) !important;
 }




 /* ====================================
   Home page main style
   ====================================*/
 /* --- Hero Section (保留设计风格) --- */
 .hero-section {
     background: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url('/images/new-events/banner_3.jpg') center/cover;
     color: white;
     padding: 120px 0;
     text-align: center;
 }

 .main-title {
     font-size: 3.5rem;
     line-height: 1.1;
     margin-bottom: 15px;
 }

 .sub-title {
     font-size: 1.6rem;
     font-weight: 300;
     opacity: 0.9;
     margin-bottom: 30px;
 }

 .hero-desc {
     max-width: 800px;
     margin: 0 auto 30px;
     font-size: 1.2rem;
 }

 .hero-meta {
     margin-bottom: 40px;
 }

 .btn-primary {
     display: inline-block;
     background: var(--primary-color);
     color: white;
     padding: 18px 45px;
     border-radius: 50px;
     text-decoration: none;
     font-weight: bold;
     transition: transform 0.3s;
 }

 .btn-primary:hover {
     transform: translateY(-5px);
 }

 /* --- Why Us 模块 (重写排版) --- */
 .why-us-section {
     padding: var(--section-padding) 0;
     background: white;
 }

 .why-us-grid {
     display: flex;
     flex-direction: column;
     gap: 50px;
     align-items: center;
     /* 垂直居中对齐 */
 }

 .why-us-media {
     width: 100%;
     max-width: 560px;
     /* 限制最大宽度，防止在大屏手机上太宽 */
 }

 @media (min-width: 992px) {
     .why-us-grid {
         flex-direction: row;
         /* 恢复左右并排 */
         text-align: left;
         align-items: center;
     }

     .why-us-text {
         flex: 1.2;
         padding-right: 60px;
         /* 增加文字和视频的间距 */
     }

     .why-us-media {
         flex: 0.8;
     }
 }

 .section-title {
     color: var(--primary-color);
     font-size: 2.5rem;
     margin-bottom: 25px;
     line-height: 1.2;
 }

 .section-title.center {
     text-align: center;
     margin-bottom: 50px;
 }

 .highlight-text {
     font-weight: bold;
     margin-top: 20px;
     color: var(--text-dark);
 }

 .video-aspect-ratio {
     position: relative;
     padding-bottom: 56.25%;
     /* 16:9 比例 */
     height: 0;
     overflow: hidden;
     border-radius: 12px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
 }

 .video-aspect-ratio iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
 }

 /* --- 机会与奖励 --- */
 .details-section {
     padding: var(--section-padding) 0;
     background: #f9f9f9;
 }

 .benefits-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 30px;
     margin-bottom: 50px;
 }

 .benefit-item {
     background: white;
     padding: 40px 30px;
     border-radius: 15px;
     text-align: center;
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
 }

 /* .prizes-banner {
     background: var(--primary-color);
     color: white;
     padding: 50px;
     border-radius: 15px;
     text-align: center;
 }

 .cash-value {
     font-size: 2.5rem;
     font-weight: bold;
     color: #ffcc00;
     margin-top: 15px;
 }

 .cash-value a{
    text-decoration:dotted;
    color: #ffcc00;
 } */

 /* Prizes CTA 容器样式 */
 .prizes-cta {
     background: var(--primary-color);
     ;
     /* 深红背景 */
     padding: 60px 0;
     border-radius: 15px;
     text-align: center;
     color: white;
 }

 .prizes-cta p {
     font-size: 1.5rem;
     margin-bottom: 25px;
     opacity: 0.9;
 }

 /* 核心链接按钮设计 */
 .cash-prize-link {
     display: inline-flex;
     align-items: center;
     gap: 15px;
     padding: 18px 45px;
     font-size: 1.8rem;
     font-weight: 800;
     color: #ffd700;
     /* 金色文字，彰显价值 */
     text-decoration: none;
     text-transform: uppercase;
     border: 3px solid #ffd700;
     /* 金色边框 */
     border-radius: 12px;
     position: relative;
     overflow: hidden;
     transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
     box-shadow: 0 0 20px rgba(255, 215, 0, 0.2);
     cursor: pointer;
 }

 /* 交互暗示 1: 呼吸灯边框动效 */
 @keyframes border-pulse {
     0% {
         box-shadow: 0 0 5px rgba(255, 215, 0, 0.4);
     }

     50% {
         box-shadow: 0 0 25px rgba(255, 215, 0, 0.8);
     }

     100% {
         box-shadow: 0 0 5px rgba(255, 215, 0, 0.4);
     }
 }

 .cash-prize-link {
     animation: border-pulse 2s infinite ease-in-out;
 }

 /* 交互暗示 2: 光泽滑动效果 (Shine) */
 .cash-prize-link .shine {
     position: absolute;
     top: 0;
     left: -100%;
     width: 100%;
     height: 100%;
     background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.3), transparent);
     transition: all 0.6s;
 }

 /* 交互暗示 3: 悬停状态 (Hover) */
 .cash-prize-link:hover {
     background: #ffd700;
     /* 变成实色金色 */
     color: #4a0408;
     /* 文字变红 */
     transform: scale(1.05);
     /* 微微放大 */
 }

 .cash-prize-link:hover .shine {
     left: 100%;
     /* 悬停时光泽划过 */
 }

 .cash-prize-link i {
     font-size: 1.4rem;
     transition: transform 0.3s;
 }

 .cash-prize-link:hover i.fa-chevron-right {
     transform: translateX(5px);
     /* 右箭头跳动提示前进 */
 }

 @media (max-width: 768px) {
     .cash-prize-link {
         border-width: 2px;
         /* 小屏边框变细，更精致 */
     }

     .prizes-cta p {
         font-size: 1.2rem;
     }

     .prizes-cta a {
         font-size: 1.0rem;
     }
 }

 /* --- Chance Section 容器 --- */
 .chance-section {
     /* padding: 100px 0; */
     background-color: #fff;
 }

 /* .section-title.center {
     text-align: center;
     color: var(--primary-color);
     font-size: 2.4rem;
     margin-bottom: 30px;
 } */

 /* --- 卡片网格布局 --- */
 .benefits-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
     gap: 30px;
     margin-bottom: 50px;
 }

 /* --- 核心卡片设计 (参考您的设计图) --- */
 .benefit-card {
     background: #ffffff;
     padding: 45px 30px;
     border-radius: 20px;
     text-align: center;
     transition: all 0.3s ease;
     /* 使用极其柔和的弥散阴影 */
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
     display: flex;
     flex-direction: column;
     align-items: center;
 }

 .benefit-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 15px 50px rgba(128, 8, 16, 0.1);
 }

 /* --- 图标背景容器 --- */
 .icon-wrapper {
     width: 80px;
     /* 稍微加大，更有视觉中心感 */
     height: 80px;
     background-color: #fceced;
     /* 浅粉色背景，呼应品牌色 */
     color: var(--primary-color);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 2rem;
     /* 图标大小 */
     margin-bottom: 30px;
     /* 增加与文字的间距，解决拥挤感 */
     transition: transform 0.3s ease;
 }

 .benefit-card:hover .icon-wrapper {
     transform: scale(1.1);
 }

 .benefit-card p {
     font-size: 1.1rem;
     font-weight: 500;
     line-height: 1.6;
     /* 卡片内文字行高微调 */
     color: #444;
 }

 /* --- 奖金模块横向排版 --- */
 .prizes-horizontal {
     background: var(--accent-bg);
     padding: 30px 40px;
     border-radius: 15px;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     text-align: center;
     border: 1px solid #eee;
 }

 @media (min-width: 768px) {
     .prizes-horizontal {
         flex-direction: row;
         justify-content: space-between;
         text-align: left;
     }
 }

 .cash-badge {
     color: var(--primary-color);
     font-weight: 800;
     font-size: 1.4rem;
 }

 /* --- Sponsors 模块修复 (重点增加间距) --- */
 .sponsors-section {
     padding: 120px 0;
     /* 增加上下大幅度留白 */
     background: #fff;
 }

 .sponsors-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
     gap: 40px;
     align-items: center;
     justify-items: center;
     margin-top: 50px;
 }

 .sponsor-logo img {
     max-width: 100%;
     height: auto;
     /* filter: grayscale(100%); */
     opacity: 0.7;
     transition: 0.3s;
 }

 .sponsor-logo img:hover {
     filter: grayscale(0%);
     opacity: 1;
 }

 /* --- 移动端适配 (针对手机屏幕) --- */
 @media (max-width: 768px) {
     .sponsors-grid {
         display: flex !important;
         flex-direction: column !important;
         align-items: center !important;
         gap: 35px !important;
         width: 100% !important;
     }

     .sponsor-logo img {
         width: auto !important;
         /* 这里的 max-width 和 max-height 共同决定了“小而精致”的效果 */
         max-width: 220px !important;
         /* 调小宽度 */
         max-height: 60px !important;
         /* 调小高度，确保对齐 */
         height: auto !important;
         object-fit: contain !important;

         /* 消除可能存在的 margin 干扰 */
         margin: 0 auto !important;
         display: block !important;
     }

     /* 2. 核心：大幅缩小 Logo 尺寸 */
     .sponsor-logo {
         width: 100% !important;
         display: flex !important;
         justify-content: center !important;
         /* 水平居中 */
         align-items: center !important;
     }

     /* 3. 针对嵌套的 A 标签 (关键一步) */
     .sponsor-logo a {
         display: flex !important;
         justify-content: center !important;
         width: 100%;
     }
 }

 /* --- 捐赠模块 --- */
 .donation-section {
     background: #b52828;
     padding: 100px 0;
     color: white;
     text-align: center;
 }

 .donation-section .container {
     max-width: 900px;
 }

 .donation-header {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 15px;
     margin-bottom: 25px;
 }

 .donation-header h3,
 i {
     font-size: 2.0rem;
 }

 .btn-donate {
     background: white;
     color: var(--primary-color);
     padding: 15px 40px;
     display: inline-block;
     margin: 30px 0;
     font-weight: bold;
     text-decoration: none;
     border-radius: 4px;
 }

 .btn-donate i {
     font-size: 1.2rem;
     padding-right: 15px;
 }

 .donation-sub {
     font-size: 0.9rem;
     opacity: 0.7;
 }

 /* --- Donation 模块手机端修复 --- */
 @media (max-width: 768px) {

     /* 强制 Header 换行并居中 */
     .donation-header {
         display: flex;
         flex-direction: column;
         /* 换行排列 */
         align-items: center;
         /* 水平居中 */
         justify-content: center;
         text-align: center;
         gap: 15px;
         /* 图标和标题之间的间距 */
     }

     /* 确保图标在第一行居中 */
     .donation-header i {
         font-size: 2.5rem;
         /* 稍微放大图标，使其更有存在感 */
         margin: 0;
         /* 清除可能的侧边间距 */
     }

     /* 确保标题居中且字号适中 */
     .donation-header h3 {
         font-size: 1.4rem;
         line-height: 1.3;
     }

     /* 整个卡片内容的对齐 */
     .donation-card {
         /* padding: 40px 20px; */
         text-align: center;
         /* 确保段落文字也居中 */
     }

     /* 按钮也居中显示 */
     .btn-donate {
         display: inline-flex;
         margin: 20px auto 20px;
     }
 }



 /* --- 联系模块 --- */

 .contact-minimal-section {
     padding: 60px 0;
     background-color: #fff;
     /* 在顶部和底部添加淡淡的分割线，保持整洁 */
     border-top: 1px solid #eee;
     border-bottom: 1px solid #eee;
 }

 .contact-flex-box {
     display: flex;
     flex-direction: column;
     /* 手机端默认堆叠 */
     justify-content: space-between;
     align-items: center;
     gap: 20px;
 }

 /* 电脑端恢复横向排版 */
 @media (min-width: 768px) {
     .contact-flex-box {
         flex-direction: row;
         text-align: left;
     }
 }

 .contact-title {
     color: #800810;
     /* PRISMS 品牌红 */
     font-size: 1.5rem;
     font-weight: 700;
     margin-bottom: 8px;
 }

 .contact-sub {
     color: #666;
     font-size: 1rem;
     margin: 0;
 }

 .contact-link {
     color: #333;
     /* 链接文字颜色 */
     text-decoration: none;
     font-weight: 700;
     font-size: 1.1rem;
     transition: color 0.3s ease;
     display: flex;
     align-items: center;
 }

 .contact-link:hover {
     color: #800810;
 }

 .contact-link .arrow {
     margin-left: 10px;
     font-size: 1.3rem;
     transition: transform 0.3s ease;
 }

 .contact-link:hover .arrow {
     transform: translateX(5px);
     /* 悬停时箭头微动，增加互动感 */
 }



 /* =====================================
    Resources Page-Style
    ===================================== */
 /* --- Hero --- */
 .resources-hero {
     background: linear-gradient(135deg, #800810 0%, #4a0408 100%);
     padding: 140px 0 100px;
     color: #fff;
     text-align: center;
 }

 .resources-grid-section {
     /* 增加上边距，建议使用 100px 左右，让视觉更舒缓 */
     padding: 100px 0 80px;
     background-color: #f9f9f9;
 }

 .resources-hero h1 {
     font-size: 3.5rem;
     letter-spacing: -2px;
     margin-bottom: 20px;
 }

 /* --- 资源卡片栅格 --- */
 .resource-tiles {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
     gap: 30px;
     padding: 50px 0;
 }

 .resource-card {
     background: #fff;
     padding: 40px;
     border-radius: 24px;
     box-shadow: 0 15px 45px rgba(0, 0, 0, 0.06);
     transition: all 0.4s ease;
     text-align: left;
     display: flex;
     flex-direction: column;
 }

 .resource-card:hover {
     transform: translateY(-12px);
     box-shadow: 0 25px 60px rgba(128, 8, 16, 0.12);
 }

 .card-icon {
     font-size: 2rem;
     color: #800810;
     margin-bottom: 20px;
 }

 .resource-btn {
     margin-top: auto;
     color: #800810;
     font-weight: 700;
     text-decoration: none;
     padding: 10px 0;
     border-bottom: 2px solid transparent;
     transition: 0.3s;
 }

 .resource-btn:hover {
     border-color: #800810;
 }

 /* --- 注册模块 --- */
 .cta-card {
     background: #1a1a1a;
     padding: 80px 40px;
     border-radius: 32px;
     color: white;
     text-align: center;
     /* margin-bottom: 80px; */
 }

 .btn-register {
     display: inline-block;
     background: #800810;
     color: white;
     padding: 18px 45px;
     border-radius: 50px;
     font-weight: 700;
     text-decoration: none;
     margin-top: 30px;
     transition: 0.3s;
 }

 /* --- Sponsors 容器 --- */
 .sponsors-section {
     padding: 80px 0;
     background-color: #fff;
 }

 .sponsor-container {
     max-width: 1140px;
     /* 电脑端锁定宽度 */
     margin: 0 auto;
     padding: 0 20px;
 }

 /* --- 电脑端布局 --- */
 .sponsors-wrapper {
     display: flex;
     flex-direction: row;
     justify-content: center;
     /* 改为 center 配合 gap 更稳健 */
     align-items: center;
     gap: 80px;
     /* 增加间距显得大气 */
     margin-top: 40px;
 }

 .sponsor-item {
     display: flex;
     justify-content: center;
     align-items: center;
     flex-shrink: 0;
     /* 防止 Logo 在任何情况下被挤压变小 */
 }

 .sponsor-item img {
     height: auto;
     width: auto;
     max-width: 280px;
     /* 电脑端最大宽度 */
     max-height: 80px;
     opacity: 0.8;
     transition: all 0.3s ease;
 }

 /* --- 移动端响应式修复 (重点) --- */
 @media (max-width: 768px) {
     .resources-grid-section {
         padding: 60px 0 40px;
         /* 手机端适当减小，但仍保持空隙 */
     }

     .sponsors-wrapper {
         flex-direction: column;
         /* 强制垂直排列 */
         align-items: center;
         /* 核心修复：确保所有 Logo 水平居中 */
         justify-content: center;
         gap: 50px;
         /* 垂直间距 */
     }

     .sponsor-item {
         width: 100%;
         /* 占满宽度以实现内部居中 */
     }

     .sponsor-item img {
         /* 修复第一个 Logo 过小的问题 */
         width: 60%;
         /* 移动端统一宽度比例 */
         min-width: 160px;
         /* 核心修复：设置最小宽度，防止 Jane Street 等长 Logo 缩得太小 */
         max-width: 200px;
         /* 限制最大尺寸，避免在手机上突兀 */
         max-height: 60px;
         opacity: 1;
         /* 移动端直接显示原色 */
     }

     .resources-hero h1 {
         font-size: 2.5rem;
     }
 }

 /* =======================
   Team page-Style
   =======================*/
 /* --- Team Hero --- */
 .team-hero {
     background: linear-gradient(135deg, #800810 0%, #4a0408 100%);
     padding: 120px 0 60px;
     color: white;
     text-align: center;
 }

 .team-hero h1 {
     font-size: 3rem;
     margin-bottom: 15px;
 }

 /* --- Team Grid 布局 --- */
 .team-section {
     padding: 80px 0;
     background-color: #fcfcfc;
 }

 .team-grid {
     display: grid;
     /* 核心：电脑端一行三个卡片 */
     grid-template-columns: repeat(3, 1fr);
     gap: 40px;
     max-width: 1140px;
     margin: 0 auto;
 }

 /* --- 卡片设计 --- */
 .team-card {
     background: #fff;
     border-radius: 20px;
     overflow: hidden;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
     /* 柔和阴影提升大器感 */
     transition: all 0.4s ease;
     text-align: center;
     border: 1px solid #eee;
 }

 .team-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 20px 40px rgba(128, 8, 16, 0.1);
     border-color: rgba(128, 8, 16, 0.2);
 }

 .member-image {
     width: 100%;
     aspect-ratio: 1 / 1;
     /* 保持图片正方形，更整齐 */
     overflow: hidden;
     background-color: #f0f0f0;
 }

 .member-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     /* 确保不同比例的头像都能完美填充 */
     transition: transform 0.5s ease;
 }

 .team-card:hover .member-image img {
     transform: scale(1.1);
 }

 .member-info {
     padding: 25px 20px;
 }

 .member-info h3 {
     font-size: 1.4rem;
     color: #333;
     margin-bottom: 8px;
 }

 .member-title {
     font-size: 1.1rem;
     color: #800810;
     /* 使用品牌色突出头衔 */
     font-weight: 600;
 }

 .contact-minimal-section-team {
     background-color: #800810;
 }

 .contact-title-team {
     color: #fff;
 }

 .contact-sub-team {
     color: #fff !important;
 }

 .contact-link-area-team a {
     color: #fff;
 }

 .contact-link-area-team a:hover {
     color: #666;
 }

 /* --- 响应式适配 (手机端) --- */
 @media (max-width: 992px) {
     .team-grid {
         grid-template-columns: repeat(2, 1fr);
         /* 平板显示两列 */
     }
 }

 @media (max-width: 768px) {
     .team-grid {
         grid-template-columns: 1fr;
         /* 手机显示一列，确保图片够大 */
         gap: 30px;
         padding: 0 20px;
     }

     .team-hero h1 {
         font-size: 2.2rem;
     }
 }


 /*=========================
   Schedule Page-Style 
   =========================*/

 /* --- 布局容器 --- */
 .container {
     max-width: 1140px;
     margin: 0 auto;
     padding: 0 20px;
 }

 /* --- Hero Section --- */
 .schedule-hero {
     background: linear-gradient(rgba(128, 8, 16, 0.95), rgba(74, 4, 8, 0.95));
     padding: 140px 0 80px;
     text-align: center;
     color: white;
 }

 .schedule-hero h1 {
     font-size: 3.5rem;
     margin-bottom: 10px;
 }

 .competition-date {
     font-size: 1.4rem;
     opacity: 0.9;
     font-weight: 300;
 }

 /* --- Table Section --- */
 .schedule-table-section {
     padding: 100px 0 60px;
     background: #fff;
 }

 .section-title {
     text-align: center;
     font-size: 2.5rem;
     margin-bottom: 50px;
     color: #333;
 }

 .table-responsive {
     box-shadow: 0 15px 45px rgba(0, 0, 0, 0.06);
     border-radius: 15px;
     overflow: hidden;
 }

 .schedule-table {
     width: 100%;
     border-collapse: collapse;
     text-align: center;
 }

 .schedule-table th {
     background: #800810;
     color: white;
     padding: 22px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: 1px;
 }

 .schedule-table td {
     padding: 18px;
     border-bottom: 1px solid #f0f0f0;
     color: #555;
     font-size: 1.05rem;
 }

 .schedule-table .event-name {
     text-align: left;
     font-weight: 700;
     color: #800810;
     padding-left: 30px;
 }

 .schedule-table tr.highlight {
     background-color: #f9f9f9;
 }

 /* --- Utility Section --- */
 .utility-section {
     padding: 40px 0 100px;
     background: #fcfcfc;
 }

 .utility-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 40px;
 }

 .utility-card {
     background: #fff;
     padding: 60px 45px;
     border-radius: 24px;
     border: 1px solid #f0f0f0;
     text-align: center;
     transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
 }

 .utility-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 25px 50px rgba(128, 8, 16, 0.08);
 }

 .card-icon {
     font-size: 3rem;
     color: #800810;
     margin-bottom: 25px;
 }

 .utility-card h3 {
     font-size: 1.8rem;
     margin-bottom: 15px;
     color: #1a1a1a;
 }

 .utility-card p {
     color: #666;
     line-height: 1.6;
     margin-bottom: 30px;
     font-size: 1.05rem;
 }

 /* 按钮 */
 .btn-dark {
     display: inline-flex;
     align-items: center;
     gap: 12px;
     background: #1a1c23;
     color: white;
     padding: 15px 30px;
     border-radius: 12px;
     text-decoration: none;
     font-weight: 700;
     transition: 0.3s;
 }

 .btn-dark:hover {
     background: #800810;
     transform: scale(1.05);
 }

 /* 家长卡片特别设计 */
 .coffee-card {
     border-top: 6px solid #800810;
 }

 .info-tag {
     font-size: 0.85rem;
     color: #800810;
     background: #fff5f5;
     padding: 6px 18px;
     border-radius: 50px;
     font-weight: 700;
     text-transform: uppercase;
 }

 /* --- 响应式 --- */
 @media (max-width: 768px) {
     .utility-grid {
         grid-template-columns: 1fr;
     }

     .schedule-hero h1 {
         font-size: 2.5rem;
     }

     .schedule-table th,
     .schedule-table td {
         padding: 10px 4px !important;
         /* 极小内边距 */
         font-size: 0.75rem !important;
         /* 缩小字体以适应屏幕 */
         vertical-align: middle !important;
         /* 确保垂直居中对齐 */
         text-align: center !important;
     }

     .utility-card {
         padding: 40px 20px;
     }

     .schedule-table .event-name {
         padding-left: 0;
     }
 }



 /* --- Hero & Register --- */
 /* --- 大器 Hero 区域 --- */
 .hero-large {
     position: relative;
     width: 100%;
     min-height: 500px;
     /* 增加高度 */
     display: flex;
     align-items: center;
     justify-content: center;
     background: linear-gradient(135deg, #4a0408 0%, #800810 100%);
     /* 深浅红渐变 */
     text-align: center;
     overflow: hidden;
 }

 .hero-overlay {
     padding: 180px 0 140px;
     /* 极大的内边距 */
     width: 100%;
     background: url('../images/mesh-pattern.png');
     /* 可选：加入淡淡的网格纹理增加质感 */
 }

 .mega-title {
     font-size: var(--mega-font-size);
     /* 超大字体 */
     font-weight: 800;
     color: white;
     margin: 0;
     letter-spacing: -1.5px;
     line-height: 1.1;
     text-transform: capitalize;
 }

 .hero-divider {
     width: 80px;
     height: 4px;
     background: #ffc107;
     /* 加入一抹亮色作为点缀 */
     margin: 30px auto;
 }

 .hero-subtitle {
     font-size: 1.2rem;
     color: rgba(255, 255, 255, 0.85);
     max-width: 800px;
     margin: 0 auto;
     font-weight: 300;
 }

 /* --- 悬浮注册区块 --- */
 .register-offset-section {
     margin-top: -80px;
     /* 核心：向上偏移盖在 Hero 上 */
     position: relative;
     z-index: 10;
 }

 .register-card-wide {
     background: var(--dark-bg);
     border-radius: 30px;
     padding: 60px 80px;
     display: flex;
     justify-content: space-between;
     align-items: center;
     box-shadow: 0 30px 70px rgba(0, 0, 0, 0.3);
 }

 .register-text h2 {
     color: white;
     font-size: 2.2rem;
     margin-bottom: 10px;
 }

 .register-text p {
     color: #aaa;
     font-size: 1.1rem;
 }

 .btn-mega-red {
     background: var(--brand-red);
     color: white;
     padding: 20px 50px;
     border-radius: 100px;
     font-size: 1.2rem;
     font-weight: 700;
     text-decoration: none;
     transition: all 0.3s ease;
     box-shadow: 0 10px 20px rgba(128, 8, 16, 0.3);
 }

 .btn-mega-red:hover {
     transform: translateY(-5px) scale(1.05);
     box-shadow: 0 15px 30px rgba(128, 8, 16, 0.5);
     background: #a00a14;
 }

 /* --- Problem Grid --- */
 .archive-content {
     padding: 80px 0;
     background: #fff;
 }

 .section-title {
     font-size: 2.5rem;
     color: #800810;
     margin-bottom: 10px;
     text-align: center;
 }

 .subtitle {
     text-align: center;
     color: #666;
     margin-bottom: 40px;
     font-weight: 600;
     text-transform: uppercase;
 }

 .problem-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 50px;
     margin-top: 40px;
 }

 .year-block h3 {
     font-size: 1.8rem;
     border-bottom: 2px solid #eee;
     padding-bottom: 15px;
     margin-bottom: 25px;
 }

 .problem-list {
     list-style: none;
     padding: 0;
 }

 .problem-list li {
     margin-bottom: 15px;
 }

 .problem-list a {
     color: #333;
     text-decoration: none;
     display: flex;
     align-items: center;
     gap: 12px;
     font-size: 1.1rem;
     transition: 0.3s;
 }

 .problem-list a i {
     color: #800810;
     font-size: 1.4rem;
 }

 .problem-list a:hover {
     color: #800810;
     padding-left: 10px;
 }

 /* --- Winner Tables --- */
 .winners-section {
     padding: 20px 0 120px;
     background: #f9f9f9;
 }

 .table-overflow-container {
     width: 100%;
     overflow-x: auto;
     /* 核心：允许横向滚动 */
     -webkit-overflow-scrolling: touch;
     /* 让 iOS 滑动更顺畅 */
     border-radius: 12px;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
     background: #fff;
     margin-top: 10px;
 }

 .table-responsive {
     background: white;
     border-radius: 15px;
     overflow: hidden;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
 }

 .winner-table {
     width: 100%;
     border-collapse: collapse;
     min-width: 700px;
 }

 /* --- 移动端滑动提示样式 --- */
 .mobile-scroll-indicator {
     display: none;
     /* 默认隐藏，只在手机端显示 */
     text-align: right;
     font-size: 0.8rem;
     color: #800810;
     margin-bottom: 8px;
     font-weight: 600;
     animation: pulse 2s infinite;
 }

 .winner-table th {
     background: #800810;
     color: white;
     padding: 20px;
     text-align: center;
 }

 .winner-block {
     margin-top: 50px;
 }

 @keyframes pulse {
     0% {
         opacity: 0.5;
     }

     50% {
         opacity: 1;
     }

     100% {
         opacity: 0.5;
     }
 }

 /* --- 通用包装器 (适用于 Individual 和 Team) --- */
 .table-wrapper {
     width: 100%;
     overflow-x: auto;
     /* 核心：开启横向滚动 */
     -webkit-overflow-scrolling: touch;
     border-radius: 12px;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
     background: #fff;
     border: 1px solid #eee;
 }

 .winner-table td {
     padding: 18px;
     border-bottom: 1px solid #eee;
     text-align: center;
     color: #444;
 }

 /* Team Members 这一列可以允许在人名逗号处换行，防止表格太宽 */
 .winner-table td.members {
     white-space: normal;
     /* 成员名单允许换行 */
     min-width: 250px;
     /* 但给它一个最小宽度，保证大器 */
     line-height: 1.4;
     text-align: center;
     padding-left: 20px;
 }

 .winner-table td.team-name {
     font-weight: 700;
     color: #800810;
 }

 /* --- 增加表格行间隔颜色 (条纹效果) --- */
 /* 针对 Individual Round 表格 */
 .winner-table tbody tr:nth-child(even) {
     background-color: #f2f2f2;
     /* 浅灰色背景，增加层次感 */
 }

 /* 针对 Team Round 表格 */
 /* 确保表格内的所有单元格在有背景色时依然保持居中 */
 .winner-table tbody tr:nth-child(even) td {
     background-color: #f2f2f2;
 }

 /* 悬停效果：当鼠标划过行时，颜色加深，增加互动感 */
 .winner-table tbody tr:hover {
     background-color: #e9ecef;
     transition: background-color 0.2s ease;
 }

 /* --- 响应式 --- */
 @media (max-width: 768px) {
     .problem-grid {
         grid-template-columns: 1fr;
     }

     .register-banner {
         padding: 40px 20px;
     }

     .mega-title {
         font-size: 2.5rem;
     }

     .register-card-wide {
         flex-direction: column;
         text-align: center;
         padding: 50px 30px;
         gap: 30px;
     }

     .mobile-scroll-indicator {
         display: block;
         /* 手机端显示提示 */
     }

     /* 缩小手机端的内边距，腾出更多空间 */
     .winner-table th,
     .winner-table td {
         padding: 12px 10px;
         font-size: 0.95rem;
     }
 }



 /* --- Hero Section --- */
 .mega-hero {
     width: 100%;
     min-height: 520px;
     background: linear-gradient(135deg, #4a0408 0%, var(--brand-red) 100%);
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     color: white;
     padding: 120px 0 100px;
 }

 .mega-title {
     font-size: clamp(2.8rem, 8vw, 3.5rem);
     font-weight: 800;
     margin-bottom: 25px;
     letter-spacing: -1.5px;
     line-height: 1.1;
 }

 .mega-divider {
     width: 80px;
     height: 5px;
     background: #ffc107;
     margin: 20px auto 30px;
 }

 .mega-subtitle {
     font-size: clamp(1.2rem, 3vw, 1.2rem);
     max-width: 850px;
     margin: 0 auto;
     opacity: 0.95;
     font-weight: 300;
 }

 /* --- Sticky Navigation --- */
 .experience-nav {
     background: #fff;
     /* padding: 40px 0; */
     position: sticky;
     top: 0;
     z-index: 1000;
     min-height: 100px;
     height: auto !important;
     /* 确保覆盖掉之前可能设置的固定高度 */
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
 }

 .tab-menu {
     display: flex;
     justify-content: center !important;
     align-items: center;
     list-style: none;
     gap: 35px;
 }

 .tab-menu a {
     text-decoration: none;
     color: #666;
     font-weight: 700;
     font-size: 0.9rem;
     text-transform: uppercase;
     letter-spacing: 1.5px;
     transition: 0.3s;
 }

 .tab-menu a:hover {
     color: var(--brand-red);
 }

 /* --- Section 通用样式 --- */
 .experience-section {
     padding: 80px 0;
     border-bottom: 1px solid #f0f0f0;
 }

 .section-heading {
     font-size: 2.5rem;
     color: var(--brand-red);
     text-align: center;
     margin-bottom: 15px;
 }

 .subtitle-tag {
     display: block;
     text-align: center;
     text-transform: uppercase;
     letter-spacing: 3px;
     color: #999;
     font-weight: 700;
     margin-bottom: 50px;
 }

 /* --- Format Grid --- */
 .format-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 40px;
 }

 .format-card {
     background: #fff;
     padding: 50px;
     border-radius: 20px;
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.04);
     text-align: center;
     border-top: 6px solid var(--brand-red);
     transition: 0.4s;
 }

 .format-card:hover {
     transform: translateY(-10px);
 }

 .format-card i {
     font-size: 3rem;
     color: var(--brand-red);
     margin-bottom: 20px;
 }

 .format-card h3 {
     font-size: 1.8rem;
     margin-bottom: 15px;
 }

 /* --- Rules Container --- */
 .rules-container {
     background: #fff;
     padding: 60px;
     border-radius: 30px;
     box-shadow: 0 20px 60px rgba(0, 0, 0, 0.05);
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 50px;
 }

 .rule-block h4 {
     font-size: 1.5rem;
     color: var(--brand-red);
     margin-bottom: 20px;
     display: flex;
     align-items: center;
     gap: 12px;
 }

 .rule-block ul {
     list-style: none;
 }

 .rule-block li {
     position: relative;
     padding-left: 25px;
     margin-bottom: 15px;
     color: #555;
 }

 .rule-block li::before {
     content: "•";
     color: var(--brand-red);
     font-size: 1.5rem;
     position: absolute;
     left: 0;
     top: -5px;
 }

 /* 让 Conventions 在大屏幕上横跨两列，保持视觉平衡 */
 .full-width {
     grid-column: 1 / -1;
     margin-top: 30px;
     padding-top: 30px;
     border-top: 1px dashed #eee;
 }

 .conventions-list {
     display: grid;
     grid-template-columns: 1fr 1fr;
     /* 内部再分两列，大器且节省空间 */
     gap: 10px 40px;
 }

 /* --- Directive Box --- */
 .directive-box {
     background: #1a1c23;
     padding: 60px;
     border-radius: 20px;
     text-align: center;
     color: white;
     font-size: 1.4rem;
     font-style: italic;
     box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
 }

 /* --- Table Styles (防截断版) --- */
 .table-wrapper {
     width: 100%;
     overflow-x: auto;
     border-radius: 15px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
 }

 .winner-table {
     width: 100%;
     min-width: 700px;
     border-collapse: collapse;
 }

 .winner-table th {
     background: var(--brand-red);
     color: white;
     padding: 25px;
     text-align: center;
 }

 .winner-table td {
     padding: 20px;
     text-align: center;
     border-bottom: 1px solid #eee;
     font-size: 1.1rem;
 }

 .alt-row {
     background: #f9f9f9;
 }

 /* --- FAQ Layout --- */
 .faq-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 40px;
 }

 .faq-item {
     background: #fff;
     padding: 30px;
     border-left: 4px solid var(--brand-red);
 }

 .faq-item h5 {
     font-size: 1.2rem;
     color: #333;
     margin-bottom: 10px;
 }

 /* --- 手机端滚动提示 --- */
 .mobile-hint {
     display: none;
     text-align: right;
     color: var(--brand-red);
     font-weight: 700;
     margin-bottom: 10px;
 }

 /* --- 滚动动画 --- */
 .reveal {
     transform: translateY(50px);
     opacity: 0;
     transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
 }

 .reveal.active {
     transform: translateY(0);
     opacity: 1;
 }

 /* --- 响应式 --- */
 @media (max-width: 992px) {

     .rules-container,
     .format-grid,
     .faq-grid {
         grid-template-columns: 1fr;
     }
 }

 @media (max-width: 768px) {
  
    
    .experience-nav a {
        /* 适当缩小移动端字体，减少换行概率 */
        font-size: 0.85rem; 
        /* padding: 5px 10px; */
    }
     .mega-title {
         font-size: 2.5rem;
     }

     .tab-menu {
         flex-wrap: wrap;
         gap: 15px;
     }
     
     .mobile-hint {
         display: block;
     }

     .section-heading {
         font-size: 1.8rem;
     }

     .conventions-list {
         grid-template-columns: 1fr;
         /* 手机端切回单列 */
     }

     .format-card h3 {
         font-size: 1.5rem;
     }
 }