*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:#05070a;color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.8;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}.progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:2px;background:#ffffff10}.progress span{display:block;width:0;height:100%;background:#2f8cff;transition:width .08s linear}.hero{min-height:100svh;position:relative;overflow:hidden;background:radial-gradient(circle at 75% 25%,#1b3154 0%,transparent 32%),linear-gradient(135deg,#02050a 0%,#07111f 48%,#0d1424 100%)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 36%,#198fd844,transparent 34%),linear-gradient(180deg,#0007,transparent 45%,#02060dcc);pointer-events:none}.hero:after{content:"";position:absolute;inset:-10%;background:radial-gradient(circle at 50% 10%,#75cfff16,transparent 28%);animation:water 7s ease-in-out infinite alternate;pointer-events:none}.hero-whale{position:absolute;inset:0;pointer-events:none;opacity:.5;background:radial-gradient(ellipse at 72% 38%,#4aa9d91a 0%,transparent 35%),radial-gradient(ellipse at 30% 75%,#2f8cff10 0%,transparent 28%)}.hero nav{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:22px 6%;border-bottom:1px solid #ffffff18}.logo{font-size:22px;font-weight:800;letter-spacing:.5px}.links{display:flex;gap:28px;font-size:14px;color:#ddd}.links a{position:relative;padding:8px 0}.links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:#2f8cff;transition:.3s}.links a:hover:after{width:100%}.menu-btn{display:none;width:44px;height:44px;border:1px solid #ffffff22;background:#ffffff08;border-radius:50%;padding:10px}.menu-btn i{display:block;height:1px;background:#fff;margin:5px 0;transition:.3s}.mobile-menu{display:none}.hero-content{position:relative;z-index:3;min-height:76svh;display:flex;flex-direction:column;justify-content:center;padding:7% 10%}.hero-content span{letter-spacing:5px;color:#66b5ff;font-size:13px}.hero h1{font-size:clamp(64px,12vw,150px);line-height:.95;margin:15px 0;font-weight:900;letter-spacing:-5px;text-shadow:0 12px 50px #000}.hero p{font-size:clamp(18px,2vw,28px);color:#ddd}.btn{width:max-content;margin-top:25px;padding:12px 28px;border:1px solid #328dff;border-radius:99px;background:#1677ff;color:#fff;transition:.3s}.btn b{margin-left:12px}.btn:hover{transform:translateY(-4px);box-shadow:0 12px 40px #1677ff44}.scroll{position:absolute;z-index:3;bottom:30px;left:6%;font-size:10px;letter-spacing:4px;color:#aaa}.scroll span{margin-left:12px}.hero-swipe{display:none}.section{padding:110px 7%;max-width:1400px;margin:auto}.section h2{font-size:clamp(40px,6vw,76px);line-height:1.1;margin:10px 0 25px}.section>p{max-width:850px;color:#bcbcbc;font-size:18px}.eyebrow{font-size:11px;letter-spacing:4px;color:#55aaff}.quote{margin:45px 0;padding:25px 30px;border-left:2px solid #2f8cff;background:#ffffff06;color:#ddd}.gallery{display:grid;gap:18px;margin-top:45px}.gallery.three{grid-template-columns:repeat(3,1fr)}.gallery img{width:100%;height:430px;object-fit:cover;border-radius:18px;transition:transform .5s,filter .5s}.gallery img:hover{transform:scale(1.025);filter:saturate(1.1)}.dark{max-width:none;background:#101115}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:45px}.cards article{position:relative;padding:35px 25px;min-height:240px;border:1px solid #ffffff12;border-radius:22px;background:#17181d;transition:.4s;outline:none}.cards article:hover,.cards article:focus-visible{transform:translateY(-10px);border-color:#2f8cff44}.cards b{font-size:34px}.cards h3{font-size:25px}.cards p{color:#999}.card-arrow{position:absolute;right:22px;bottom:18px;color:#55aaff;font-size:22px}.slider{height:520px;position:relative;margin-top:45px;overflow:hidden;border-radius:18px;touch-action:pan-y}.slider .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s;user-select:none}.slider .slide.active{opacity:1}.slide-btn{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid #ffffff55;background:#05070a88;color:#fff;font-size:34px;line-height:1}.slide-btn.prev{left:18px}.slide-btn.next{right:18px}.dots{text-align:center;margin-top:18px}.dot{width:8px;height:8px;border:0;border-radius:50%;background:#555;margin:5px;padding:0;transition:.25s}.dot.active{background:#2f8cff;width:24px;border-radius:8px}.spirit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:50px}.spirit-grid>div{padding:35px;border-top:1px solid #ffffff25}.spirit-grid span{color:#55aaff}.spirit-grid h3{font-size:28px}.spirit-grid p{color:#aaa}footer{text-align:center;padding:80px 20px;border-top:1px solid #ffffff12;color:#aaa}.footer-logo{font-size:25px;font-weight:800;color:#fff}footer small{color:#666}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.mobile-dock{display:none}.toast{position:fixed;z-index:120;left:50%;bottom:90px;transform:translate(-50%,20px);padding:10px 16px;border:1px solid #ffffff1c;border-radius:999px;background:#10151ddd;color:#fff;opacity:0;pointer-events:none;transition:.3s;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes water{from{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(1%,2%,0) scale(1.04)}}

@media(max-width:800px){
  html{scroll-padding-top:64px}body{padding-bottom:74px}.hero{min-height:92svh;background-position:62% center}.hero-whale{opacity:.45}.hero nav{padding:14px 18px;background:#03070acc;backdrop-filter:blur(14px)}.logo{font-size:18px}.links{display:none}.menu-btn{display:block}.menu-btn.open i:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-btn.open i:nth-child(2){opacity:0}.menu-btn.open i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:4;display:flex;flex-direction:column;gap:8px;top:64px;left:12px;right:12px;padding:14px;background:#08101af2;border:1px solid #ffffff18;border-radius:20px;backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-12px);transition:.3s}.mobile-menu.open{opacity:1;visibility:visible;transform:none}.mobile-menu a{padding:14px 12px;border-radius:12px;color:#ddd;border-bottom:1px solid #ffffff0b}.mobile-menu a:active{background:#2f8cff18;color:#fff}.hero-content{min-height:72svh;padding:10% 7% 18%;justify-content:flex-end}.hero-content span{font-size:10px;letter-spacing:3px}.hero h1{font-size:clamp(54px,18vw,90px);letter-spacing:-3px;margin:10px 0}.hero p{font-size:17px;line-height:1.75;margin:4px 0}.btn{padding:12px 22px;margin-top:18px}.scroll{display:none}.hero-swipe{display:flex;position:absolute;z-index:3;bottom:34px;right:7%;align-items:center;gap:10px;color:#aeb9c7;font-size:10px;letter-spacing:2px}.hero-swipe i{display:block;width:38px;height:1px;background:linear-gradient(90deg,#2f8cff,transparent);position:relative}.hero-swipe i:after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-right:1px solid #2f8cff;border-top:1px solid #2f8cff;transform:rotate(45deg)}.section{padding:70px 6%}.section h2{font-size:clamp(38px,11vw,58px);margin-bottom:18px}.section>p{font-size:16px;line-height:1.9}.quote{margin:30px 0;padding:20px 18px;font-size:14px}.gallery.three{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;margin-top:30px;scrollbar-width:none}.gallery.three::-webkit-scrollbar{display:none}.gallery img{flex:0 0 78vw;height:330px;scroll-snap-align:start;border-radius:16px}.cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-top:30px;padding:4px 2px 14px;scrollbar-width:none}.cards::-webkit-scrollbar{display:none}.cards article{flex:0 0 78vw;min-height:245px;scroll-snap-align:start;padding:28px 22px}.cards article:active{transform:scale(.98)}.dark{padding-left:6%;padding-right:0}.dark .eyebrow,.dark h2,.dark>p{margin-right:6%}.slider{height:70vw;min-height:250px;max-height:380px;margin-top:30px;border-radius:16px}.slide-btn{width:42px;height:42px;font-size:30px}.slide-btn.prev{left:10px}.slide-btn.next{right:10px}.dots{margin-top:12px}.spirit-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-top:30px;padding-bottom:10px;scrollbar-width:none}.spirit-grid::-webkit-scrollbar{display:none}.spirit-grid>div{flex:0 0 78vw;scroll-snap-align:start;padding:25px 22px;background:#ffffff04;border-radius:16px;border:1px solid #ffffff10}.spirit-grid h3{font-size:25px}.spirit-grid p{font-size:14px}footer{padding:60px 20px 35px}.mobile-dock{position:fixed;z-index:110;display:flex;left:10px;right:10px;bottom:10px;padding:7px 6px calc(7px + env(safe-area-inset-bottom));background:#0b1018eF;border:1px solid #ffffff16;border-radius:20px;backdrop-filter:blur(18px);box-shadow:0 10px 35px #0008}.dock-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:48px;border:0;background:transparent;color:#8490a0;border-radius:14px;font:inherit}.dock-item span{font-size:18px;line-height:1.2}.dock-item em{font-style:normal;font-size:10px}.dock-item.active{color:#fff;background:#2f8cff14}.dock-menu{cursor:pointer}.reveal{transform:translateY(20px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:after{animation:none}.reveal{transition:none}.btn,.cards article,.gallery img{transition:none}}

/* 四大赛事：可展开内容 */
.expandable-events{align-items:start}
.event-card{overflow:hidden!important;padding:0!important;min-height:0!important}
.event-toggle{width:100%;min-height:240px;padding:35px 25px;border:0;background:transparent;color:#fff;text-align:left;font:inherit;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:start}
.event-icon{font-size:34px;line-height:1}
.event-title{display:flex;flex-direction:column;gap:5px}
.event-title small{font-size:10px;letter-spacing:3px;color:#6faeff}
.event-title strong{font-size:25px;font-weight:800}
.event-toggle .card-arrow{position:static;justify-self:end;color:#5aaeff;transition:transform .35s}
.event-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease,padding .45s ease;overflow:hidden;padding:0 25px}
.event-detail::before{content:'';min-height:0}
.event-detail p{min-height:0;margin:0;overflow:hidden;color:#bfc7d2;font-size:14px;line-height:1.95}
.event-card.is-open{border-color:#2f8cff55!important;background:linear-gradient(180deg,#1a202b,#11151c)!important}
.event-card.is-open .event-toggle{min-height:150px}
.event-card.is-open .event-toggle .card-arrow{transform:rotate(90deg)}
.event-card.is-open .event-detail{grid-template-rows:1fr;padding:0 25px 30px}
.event-card.is-open .event-detail p{margin:0 0 12px}
.event-card.is-open .event-detail p:last-child{margin-bottom:0}
.champion{color:#75bcff!important;font-weight:700}
@media(max-width:800px){
 .event-toggle{min-height:205px;padding:28px 22px}
 .event-card.is-open .event-toggle{min-height:125px}
 .event-detail{padding:0 22px}
 .event-card.is-open .event-detail{padding:0 22px 26px}
 .event-detail p{font-size:13px;line-height:1.9}
}


/* 四大赛事：参考移动端示意图的纵向展开列表 */
.dark{background:#07111c;padding-top:120px;padding-bottom:120px}
.events-heading{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.events-heading span{font-size:.34em;font-weight:700;letter-spacing:.02em;color:#7894b0}
.events-intro{display:none!important}
.expandable-events{display:block;margin-top:48px;border-top:1px solid #274057}
.expandable-events .event-card{border:0!important;border-bottom:1px solid #274057!important;border-radius:0!important;background:transparent!important;transform:none!important}
.expandable-events .event-toggle{min-height:185px;padding:38px 0;display:grid;grid-template-columns:72px 1fr 48px;gap:18px;align-items:center}
.expandable-events .event-icon{display:none}
.expandable-events .event-title{gap:7px}
.expandable-events .event-title small{font-size:12px;letter-spacing:4px;color:#7198ba;font-weight:700}
.expandable-events .event-title strong{font-size:46px;line-height:1.1;font-weight:900;letter-spacing:-1px}
.expandable-events .event-toggle:before{content:attr(data-number);grid-column:1;color:#6585a4;font-size:22px;letter-spacing:2px;align-self:center}
.expandable-events .event-toggle .card-arrow{font-size:0;justify-self:end;color:#68b4ff;transform:none!important}
.expandable-events .event-toggle .card-arrow:before{content:'+';font-size:40px;font-weight:300;line-height:1}
.expandable-events .event-card.is-open .event-toggle .card-arrow:before{content:'−'}
.expandable-events .event-detail{padding:0 48px 0 72px;grid-template-rows:0fr}
.expandable-events .event-card.is-open .event-detail{padding:0 48px 34px 72px;grid-template-rows:1fr}
.expandable-events .event-detail p{font-size:15px;line-height:1.9;max-width:850px}
.expandable-events .event-card.is-open .event-toggle{min-height:145px}

@media(max-width:800px){
 .dark{padding-top:82px;padding-bottom:90px;padding-right:6%}
 .dark .eyebrow,.dark h2,.dark>p{margin-right:0}
 .events-heading{font-size:clamp(46px,13vw,66px);gap:6px;letter-spacing:-2px}
 .events-heading span{font-size:.28em;letter-spacing:0;color:#6d8ca8}
 .expandable-events{margin-top:46px;border-top:1px solid #20374d;display:block;overflow:visible;padding:0}
 .expandable-events .event-card{width:100%;min-height:0;display:block;scroll-snap-align:none}
 .expandable-events .event-toggle{min-height:200px;padding:34px 0;grid-template-columns:72px 1fr 38px;gap:18px}
 .expandable-events .event-toggle:before{font-size:20px}
 .expandable-events .event-title small{font-size:11px;letter-spacing:4px}
 .expandable-events .event-title strong{font-size:42px;letter-spacing:-1.5px}
 .expandable-events .event-toggle .card-arrow:before{font-size:36px}
 .expandable-events .event-card.is-open .event-toggle{min-height:120px}
 .expandable-events .event-detail{padding:0 38px 0 72px}
 .expandable-events .event-card.is-open .event-detail{padding:0 20px 30px 72px}
 .expandable-events .event-detail p{font-size:14px;line-height:1.9}
}
@media(max-width:430px){
 .events-heading{font-size:clamp(43px,12.5vw,58px)}
 .expandable-events .event-toggle{grid-template-columns:58px 1fr 32px;gap:12px;min-height:178px}
 .expandable-events .event-title strong{font-size:37px}
 .expandable-events .event-title small{font-size:9px;letter-spacing:3px}
 .expandable-events .event-toggle:before{font-size:17px}
 .expandable-events .event-detail{padding-left:58px;padding-right:8px}
 .expandable-events .event-card.is-open .event-detail{padding-left:58px;padding-right:8px}
}


/* 四大赛事：初始状态隐藏详情，只有点击后才展开 */
.expandable-events .event-detail{
  display:block;
  max-height:0;
  opacity:0;
  overflow:hidden;
  padding-top:0!important;
  padding-bottom:0!important;
  transition:max-height .55s ease,opacity .35s ease,padding .45s ease;
}
.expandable-events .event-detail p{
  margin:0 0 12px;
}
.expandable-events .event-detail p:last-child{margin-bottom:0}
.expandable-events .event-card.is-open .event-detail{
  max-height:5000px;
  opacity:1;
  padding-top:0!important;
  padding-bottom:34px!important;
}
@media(max-width:800px){
  .expandable-events .event-card.is-open .event-detail{padding-bottom:30px!important}
}


/* 联系我们：默认隐藏，点击“＋”后才显示邮箱 */
.contact-section{background:#07111c;border-top:1px solid #274057;padding:90px 7% 120px;max-width:none}
.contact-eyebrow{font-size:11px;letter-spacing:4px;color:#55aaff;margin-bottom:28px}
.contact-row{display:grid;grid-template-columns:1fr 48px;gap:20px;align-items:center;border-bottom:1px solid #274057}
.contact-title-wrap{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;min-height:185px}
.contact-number{font-size:28px;color:#6f91af;letter-spacing:2px}
.contact-title-wrap small{display:block;font-size:10px;letter-spacing:3px;color:#6faeff;margin-bottom:5px}
.contact-title-wrap h2{font-size:clamp(36px,6vw,64px);line-height:1.05;margin:0;font-weight:900}
.contact-toggle{width:48px;height:48px;border:0;background:transparent;color:#5aaeff;font-size:48px;line-height:1;font-weight:300;cursor:pointer;transition:transform .35s ease}
.contact-detail{max-height:0;overflow:hidden;opacity:0;padding:0 90px;transition:max-height .45s ease,opacity .3s ease,padding .45s ease}
.contact-email{display:block;color:#75bcff;font-size:clamp(22px,3vw,34px);font-weight:700;letter-spacing:.5px;text-decoration:none}
.contact-section.is-open .contact-detail{max-height:180px;opacity:1;padding:28px 90px 38px}
.contact-section.is-open .contact-toggle{transform:rotate(45deg)}
.contact-copy{display:block;margin-top:40px;color:#718096}
@media(max-width:800px){
 .contact-section{padding:70px 6% 120px}
 .contact-row{grid-template-columns:1fr 42px}
 .contact-title-wrap{grid-template-columns:72px 1fr;min-height:150px;gap:12px}
 .contact-title-wrap h2{font-size:clamp(38px,11vw,58px)}
 .contact-detail{padding:0 84px}
 .contact-section.is-open .contact-detail{padding:24px 84px 30px}
 .contact-email{font-size:22px;word-break:break-all}
}


/* 书院周边：新增模块，仅作用于本模块。 */
.around-section{position:relative;overflow:hidden;background:#07111c;border-top:1px solid #274057;border-bottom:1px solid #274057;padding:120px 6% 130px}
.around-inner{position:relative;z-index:2;max-width:1400px;margin:0 auto}
.around-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:8px}
.around-heading h2{font-size:clamp(52px,8vw,108px);line-height:.95;letter-spacing:-4px;margin:0 0 18px;font-weight:900}
.around-heading p{margin:0;color:#aebccc;font-size:16px}
.around-mark{font-size:11px;letter-spacing:4px;line-height:1.8;color:#6d8da9;text-align:right;white-space:nowrap}
.around-mark b{color:#68b4ff;font-weight:700}
.around-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:auto auto;gap:18px;margin-top:52px}
.around-card{position:relative;min-width:0;border:1px solid #274057;background:#091522;overflow:hidden;transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease}
.around-card:hover{transform:translateY(-6px);border-color:#4a9ee1;box-shadow:0 18px 55px #0007}
.around-card-tall{grid-row:span 2}
.around-card-wide{grid-column:span 1}
.around-image{position:relative;overflow:hidden;background:#02070c;aspect-ratio:4/3}
.around-card-tall .around-image{height:100%;min-height:620px;aspect-ratio:auto}
.around-card-tall .around-image img{object-fit:contain;background:#02070c}
.around-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#02070c99);pointer-events:none}
.around-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.25,1)}
.around-card:hover .around-image img{transform:scale(1.045)}
.around-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:18px 20px 21px;border-top:1px solid #274057;background:#091522}
.around-meta span{font-size:10px;letter-spacing:3px;color:#6687a4}
.around-meta strong{font-size:18px;line-height:1.35;text-align:right;color:#f2f6fa}
.around-wave{position:absolute;left:-5%;width:110%;height:100px;pointer-events:none;opacity:.6}
.around-wave span{position:absolute;left:-5%;width:110%;height:60px;border-top:1px solid #2f8cff55;border-radius:50% 50% 0 0;transform-origin:center}
.around-wave span:nth-child(1){top:28px;transform:rotate(1deg) scaleX(1.02)}
.around-wave span:nth-child(2){top:40px;opacity:.55;transform:rotate(-1deg) scaleX(1.04)}
.around-wave span:nth-child(3){top:52px;opacity:.3;transform:rotate(.7deg) scaleX(1.06)}
.around-wave-top{top:-22px}
.around-wave-bottom{bottom:-55px;transform:rotate(180deg)}
@media(max-width:800px){
 .around-section{padding:82px 6% 105px}
 .around-heading{align-items:flex-start}
 .around-heading h2{font-size:clamp(52px,16vw,74px);letter-spacing:-3px}
 .around-mark{display:none}
 .around-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-top:38px;padding-bottom:12px;scrollbar-width:none}
 .around-grid::-webkit-scrollbar{display:none}
 .around-card,.around-card-tall,.around-card-wide{flex:0 0 82vw;grid-row:auto;grid-column:auto;scroll-snap-align:start}
 .around-card-tall .around-image{height:auto;min-height:0;aspect-ratio:4/5}
 .around-image{aspect-ratio:4/3}
 .around-meta{display:block;padding:16px 16px 18px}
 .around-meta span{display:block;margin-bottom:7px;font-size:9px}
 .around-meta strong{display:block;text-align:left;font-size:17px}
 .around-wave{height:70px}
}
