*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",Arial,sans-serif;
  font-size:14px;line-height:1.8;color:#333;background:#fff;
}
a{color:#1b5691;text-decoration:none}
a:hover{color:#da251c}
ul,ol{list-style:none}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.nav.wrap{padding:0 20px}

/* top bar */
.topbar{background:#f2f2f2;font-size:12px;color:#666;line-height:34px;border-bottom:1px solid #e5e5e5}
.topbar-inner{display:flex;justify-content:space-between}
.topbar-right a{color:#666;margin:0 4px}
.topbar-right a:hover{color:#da251c}
.topbar-right span{color:#ccc}

/* header */
.header{background:#fff;border-bottom:2px solid #1b5691}
.header-inner{display:flex;justify-content:space-between;align-items:center;padding:18px 20px}
.logo{display:flex;align-items:center;gap:14px}
.logo-emblem{
  width:56px;height:56px;display:flex;align-items:center;justify-content:center;
  font-size:18px;font-weight:700;color:#da251c;border:3px solid #da251c;flex-shrink:0;
}
.logo-text h1{font-size:24px;color:#1b5691;font-weight:700;line-height:1.4}
.logo-text span{font-size:11px;color:#999;letter-spacing:1px}
.menu-btn{display:none;border:0;background:none;font-size:26px;color:#1b5691;cursor:pointer;line-height:1}

/* nav */
.nav{display:flex;background:#1b5691}
.nav a{display:block;padding:13px 28px;color:#fff;font-size:15px;transition:background .15s}
.nav a:hover,.nav a.active{background:#da251c}

/* banner + side */
.banner-box{display:grid;grid-template-columns:1fr 306px;gap:18px;margin-top:18px}
.banner{position:relative;overflow:hidden;height:321px}
.banner-img{
  position:absolute;inset:0;
  background:url("https://images.unsplash.com/photo-1534158914592-062992fbe900?auto=format&fit=crop&w=1600&q=80") center/cover;
}
.banner-caption{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(0,0,0,.58));
  color:#fff;padding:20px 22px;
}
.banner-caption h2{font-size:18px;font-weight:400;line-height:1.6;margin-bottom:5px}
.banner-caption p{font-size:13px;color:#ccc}
.banner-side{border:1px solid #d9d9d9}
.side-title{
  font-size:15px;font-weight:700;color:#1b5691;padding:12px 15px;border-bottom:2px solid #1b5691;
  display:flex;justify-content:space-between;align-items:center;
}
.banner-side ul{padding:8px 15px}
.banner-side li{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 0;border-bottom:1px dotted #e5e5e5;
}
.banner-side li a{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:10px;font-size:13px;color:#333}
.banner-side li a:hover{color:#da251c}
.banner-side li span{font-size:12px;color:#999;white-space:nowrap}

/* section title */
.section-title{
  display:flex;justify-content:space-between;align-items:center;
  border-bottom:2px solid #1b5691;margin-bottom:15px;padding:30px 0 10px;
}
.section-title h2{font-size:18px;color:#1b5691}
.more{font-size:13px;color:#999;font-weight:400}
.more:hover{color:#da251c}

/* news */
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.news-lead{display:grid;grid-template-columns:1fr 1fr;gap:15px;border:1px solid #e9e9e9;padding:15px}
.news-img img{width:100%;height:185px;object-fit:cover}
.news-text h3{font-size:16px;line-height:1.6;margin-bottom:8px}
.news-text h3 a{color:#333}
.news-text h3 a:hover{color:#da251c}
.news-text p{font-size:14px;color:#666;line-height:1.8}
.news-list li{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:10px 0;border-bottom:1px dotted #e5e5e5;
}
.news-list li a{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:10px;color:#333;font-size:14px}
.news-list li a:hover{color:#da251c}
.news-list li span{font-size:12px;color:#999;white-space:nowrap}

/* events */
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.event-item{border:1px solid #e9e9e9}
.event-img img{width:100%;height:170px;object-fit:cover}
.event-info{padding:12px 15px}
.event-info h3{font-size:15px;margin-bottom:6px}
.event-info h3 a{color:#333}
.event-info h3 a:hover{color:#da251c}
.event-info p{font-size:14px;color:#555;line-height:2}

/* two-col: ranking + services */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.rank-col,.svc-col{border:1px solid #d9d9d9;padding:0 18px 18px}
.svc-col{align-self:start}
.rank-col .section-title,.svc-col .section-title{padding-top:0}
.rank-tab{display:flex;border-bottom:2px solid #1b5691;margin-bottom:12px}
.rank-tab button{padding:8px 24px;border:0;background:#f2f2f2;color:#666;font-size:14px;cursor:pointer}
.rank-tab button.rank-tab-active{background:#1b5691;color:#fff}
.rank-table{width:100%;border-collapse:collapse;font-size:14px}
.rank-table th,.rank-table td{padding:9px 12px;text-align:center;border-bottom:1px solid #e9e9e9}
.rank-table th{background:#f5f5f5;color:#1b5691;font-weight:700;font-size:13px}
.rank-table tbody tr:hover{background:#fbfbfb}

/* services */
.svc-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.svc-list a{
  display:block;padding:14px 16px;text-align:center;border:1px solid #d9d9d9;
  background:#fafafa;color:#333;transition:all .15s;
}
.svc-list a:hover{background:#1b5691;color:#fff;border-color:#1b5691}

/* about */
.about-section p{font-size:14px;color:#555;line-height:2;text-indent:2em}

/* links bar */
.links-bar{padding:24px 0;font-size:13px;color:#999;border-top:1px solid #e9e9e9;margin-top:18px}
.links-bar strong{color:#666}
.links-bar a{color:#666;margin:0 3px}
.links-bar a:hover{color:#da251c}
.links-bar span{color:#ddd}

/* footer */
footer{background:#1b5691;color:#fff;margin-top:30px}
.footer-inner{padding:30px 20px;display:flex;justify-content:space-between;align-items:center}
.footer-logo{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700}
.footer-logo .logo-emblem{width:48px;height:48px;font-size:15px;color:#fff;border-color:#fff}
.footer-info{text-align:right;font-size:13px;line-height:2}
.footer-info a{color:#bcd4e8}
.footer-info a:hover{color:#fff}
.copyright{margin-top:4px;color:#9cbfd8;font-size:12px}

/* ═══════════════════════════════════════════════════════
   mobile ≤ 800px
   ═══════════════════════════════════════════════════════ */
@media(max-width:800px){
  .wrap{padding:0 13px}
  .nav.wrap{padding:0 13px}
  .header-inner{padding:12px 13px}
  .logo-emblem{width:42px;height:42px;font-size:14px}
  .logo-text h1{font-size:19px}
  .logo-text span{font-size:10px}
  .menu-btn{display:block}
  .nav{display:none;flex-direction:column;padding:4px 0}
  .nav.open{display:flex}
  .nav a{padding:12px 20px;font-size:14px}
  .banner-box{grid-template-columns:1fr;gap:12px}
  .banner{height:200px}
  .banner-caption h2{font-size:16px}
  .news-grid{grid-template-columns:1fr;gap:12px}
  .news-lead{grid-template-columns:1fr;gap:10px}
  .news-img img{height:180px}
  .events-grid{grid-template-columns:1fr;gap:12px}
  .event-img img{height:200px}
  .two-col{grid-template-columns:1fr;gap:12px}
  .section-title{padding:22px 0 8px}
  .section-title h2{font-size:16px}
  .footer-inner{flex-direction:column;text-align:center;gap:16px}
  .footer-info{text-align:center}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important}
}
