.hero-carousel{position:relative;min-height:620px;color:#fff;overflow:hidden;background:var(--navy);}
.bg-slides{position:absolute;inset:0;}
.bg-slides .bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.2s ease;
}
.bg-slides .bg.on{opacity:1;}
.hero-mask{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(8,22,46,.90) 0%,rgba(8,22,46,.74) 44%,rgba(8,22,46,.30) 100%),
    linear-gradient(0deg,rgba(8,22,46,.6),transparent 55%);
}
.hero-content{position:relative;z-index:3;padding:104px 0 118px;}
.badge{
  display:inline-block;padding:6px 16px;border-radius:100px;font-size:12.5px;
  background:rgba(224,184,61,.16);border:1px solid rgba(224,184,61,.55);color:var(--gold-2);
  letter-spacing:.6px;margin-bottom:24px;
}
.hero-content h1{font-size:46px;letter-spacing:1.5px;line-height:1.28;font-weight:800;min-height:60px;max-width:760px;}
body.lang-en .hero-content h1{letter-spacing:.5px;}
.hero-content .lead{max-width:620px;font-size:16.5px;color:rgba(255,255,255,.9);margin:20px 0 26px;min-height:52px;}
.values{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px;}
.values span{
  padding:7px 18px;border-radius:100px;font-size:13.5px;letter-spacing:1px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.24);
}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.car-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;
  border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);
  color:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s;backdrop-filter:blur(2px);
}
.car-arrow:hover{background:var(--gold);border-color:var(--gold);}
.car-arrow.prev{left:22px;}
.car-arrow.next{right:22px;}
.car-dots{position:absolute;bottom:26px;left:0;right:0;z-index:4;display:flex;gap:10px;justify-content:center;}
.car-dots button{
  /*width:34px;*/width: 48px;height:4px;border-radius:2px;border:none;background:rgba(255,255,255,.35);cursor:pointer;transition:all .25s;padding:0;
}
/* .car-dots button.on{background:var(--gold);width:48px;} */
.car-dots button.on{
    overflow: hidden;
}
.car-dots button.on::after{
    content: '';
    display: block;
    height: 100%;
    width: var(--progress-width);
    background:var(--gold);
    border-radius:2px;
}

/* 数据带 */
.stats{position:relative;z-index:5;margin-top:-70px;}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.stat{
  background:var(--white);border-radius:14px;padding:26px 18px;text-align:center;
  box-shadow:0 10px 30px rgba(14,42,82,.10);border-top:3px solid var(--gold);
}
.stat .num{font-size:30px;font-weight:800;color:var(--navy);letter-spacing:.5px;}
.stat .lab{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5;}

/* 卡片 */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.card{
  background:var(--white);border:1px solid var(--line);border-radius:14px;
  padding:30px 26px;transition:all .25s;
}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(14,42,82,.10);border-color:transparent;}
.card .no{
  width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--navy),var(--navy-3));
  color:var(--gold-2);font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;
}
.card h3{font-size:17.5px;color:var(--navy);margin-bottom:10px;letter-spacing:.3px;}
.card p{font-size:14.5px;color:var(--muted);}

/* 赛事体系 */
.games{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.game{
  border-radius:14px;padding:28px 22px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--navy) 0%,var(--navy-2) 90%);transition:transform .25s;
}
.game:nth-child(2){background:linear-gradient(150deg,#123a6e,#1d54a3);}
.game:nth-child(3){background:linear-gradient(150deg,#0b2143,#16407e);}
.game:nth-child(4){background:linear-gradient(150deg,#16335f,#245ea8);}
.game:hover{transform:translateY(-4px);}
.game::after{
  content:"";position:absolute;right:-40px;bottom:-40px;width:130px;height:130px;border-radius:50%;
  border:1.5px solid rgba(224,184,61,.35);
}
.game .tag{font-size:11.5px;letter-spacing:1.5px;color:var(--gold-2);margin-bottom:10px;}
.game h3{font-size:17px;letter-spacing:.5px;margin-bottom:8px;line-height:1.4;}
.game p{font-size:12.5px;color:rgba(255,255,255,.75);}
.single-events{
  margin-top:20px;background:var(--white);border:1px dashed #c9d6e6;border-radius:12px;
  padding:18px 26px;font-size:14.5px;color:var(--muted);
}
.single-events b{color:var(--navy);}

/* 新闻 teaser */
.gallery-wrap {margin: 46px auto 0;}
.gallery {display: grid;grid-template-columns: repeat(2, 1fr);gap: 16px;margin-top: 20px;}
.ph {position: relative;border-radius: 14px;overflow: hidden;box-shadow: 0 12px 30px rgba(14, 42, 82, .14);margin: 0;}
.ph img {width: 100%;height: 265px;object-fit: cover;display: block;transition: transform .4s ease;}
.ph:hover img {transform: scale(1.05);}
.ph figcaption {position: absolute;left: 0;right: 0;bottom: 0;padding: 50px 14px 12px;background: linear-gradient(transparent, rgba(10, 30, 60, .88));color: #fff;}
.ph figcaption b {display: block;font-size: 14px;line-height: 1.45;font-weight: 600;}
.ph figcaption span {display: block;font-size: 14px;line-height: 1.4;color: rgba(255, 255, 255, .75);margin-top: 2px;}
.news-teaser{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.nt{
  background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px;
  transition:all .25s;cursor:pointer;display:flex;flex-direction:column;
}
.nt:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(14,42,82,.10);}
.nt .date{font-size:12.5px;color:var(--gold);font-weight:700;letter-spacing:1px;margin-bottom:10px;}
.nt h3{font-size:16px;color:var(--navy);line-height:1.55;margin-bottom:10px;}
.nt p{font-size:13.5px;color:var(--muted);flex:1;}
.nt .more{font-size:13px;color:var(--navy-3);margin-top:14px;font-weight:600;}

/* ===== 响应式 ===== */
@media (max-width:980px){
    .hero-carousel{ min-height: 510px; }
    .hero-content{ padding:58px 0 64px; }
    .hero-content h1{ font-size: 36px; min-height: initial; }
    .hero-content .lead{min-height: 34px;}
    .hero-content .container{ padding: 0 86px; }
    .cards-3{ grid-template-columns: 1fr; }
    .card{ padding: 26px 22px; }
    .card .no{ float: left; }
    .card h3{ height: 42px; padding-left: 16px; display: flex; align-items: center; justify-content: start; line-height: 1.4;}
    .card p{ float: left; }
}

@media (max-width:620px){
    .hero-carousel{ min-height: 360px; }
    .lang-en .hero-carousel { min-height: 420px; }
    .hero-content{ padding:40px 0 38px; }
    .hero-content h1{ font-size: 24px; min-height: 38px; }
    .hero-content .lead{ font-size: 14px; margin: 15px 0 20px; min-height: 26px;}
    .hero-content .container{ padding: 0 24px; }
    .hero-content .btn{padding:8px 14px;font-size: 14px;}
    .values { margin-bottom: 28px; gap: 6px;}
    .values span{padding: 5px 12px; font-size: 12px;}
    .car-arrow{ display: none; }
    .cards-3{ grid-template-columns: 1fr; }
    .card{ padding: 20px 16px; }
    .card .no{ float: left; }
    .card h3{ height: 42px; padding-left: 10px; display: flex; align-items: center; justify-content: start; line-height: 1.4;}
    .card p{ float: left; }
    .gallery-wrap { margin: 36px auto 0; }
    .gallery-wrap .gallery { grid-template-columns: 1fr; }
}