*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --red:#dc2626;
  --dark-red:#7f1d1d;
  --gold:#fbbf24;
  --ink:#0d0404;
  --line:#5b1f1f;
}
html{scroll-behavior:smooth;}
body{
  font-family:"Segoe UI","Helvetica Neue",Arial,"Microsoft YaHei","微软雅黑","PingFang SC",sans-serif;
  background:
    radial-gradient(circle at 15% 0%, #350c0c 0%, #0d0404 52%, #160707 100%);
  color:#f6eaea;
  line-height:1.75;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
h1,h2,h3,h4{font-family:inherit;font-weight:800;letter-spacing:.5px;}

header.site-header{
  position:sticky;top:0;z-index:99;
  background:linear-gradient(90deg,#7f1d1d 0%,#b91c1c 45%,#dc2626 100%);
  border-bottom:2px solid var(--gold);
  box-shadow:0 8px 26px rgba(0,0,0,.65);
}
.header-inner{
  max-width:1220px;margin:0 auto;padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5);}
.brand .dot{
  width:12px;height:12px;background:var(--gold);border-radius:2px;transform:rotate(45deg);
  box-shadow:0 0 12px var(--gold);
}
.nav-links{display:flex;flex-wrap:wrap;gap:6px;}
.nav-links a{
  padding:7px 14px;border-radius:3px;font-size:14px;font-weight:600;color:#ffe9e9;
  border:1px solid transparent;transition:.22s;
}
.nav-links a:hover{
  background:rgba(0,0,0,.28);color:var(--gold);border-color:rgba(251,191,36,.55);
}

main{max-width:1220px;margin:0 auto;padding:0 20px 60px;}

section{margin-top:52px;}
.section-title{
  display:flex;align-items:center;gap:14px;margin-bottom:24px;
}
.section-title h2{font-size:26px;color:#fff;}
.section-title .bar{
  width:8px;height:30px;background:linear-gradient(180deg,var(--gold),var(--red));
  border-radius:2px;box-shadow:0 0 14px rgba(220,38,38,.8);
}
.section-title .tag{
  font-size:12px;color:var(--gold);border:1px solid rgba(251,191,36,.5);
  padding:2px 10px;border-radius:2px;letter-spacing:2px;
}

/* HERO */
#hero{
  margin-top:28px;
  background:
    linear-gradient(120deg,rgba(127,29,29,.92) 0%,rgba(185,28,28,.78) 50%,rgba(13,4,4,.92) 100%),
    url('/img/basketball.webp') center/cover no-repeat;
  border:1px solid var(--line);
  border-radius:6px;
  padding:46px 34px;
  box-shadow:0 18px 50px rgba(0,0,0,.7), inset 0 0 0 1px rgba(251,191,36,.18);
  position:relative;overflow:hidden;
}
#hero::after{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 2px,transparent 2px 9px);
  pointer-events:none;
}
#hero h1{
  font-size:34px;line-height:1.35;color:#fff;
  text-shadow:0 3px 14px rgba(0,0,0,.8);
  max-width:860px;
}
#hero h1 span{color:var(--gold);}
.hero-sub{
  margin-top:18px;font-size:15px;color:#ffe7e7;max-width:800px;
  border-left:3px solid var(--gold);padding-left:14px;
}

/* GEO */
#geo-intro{
  background:linear-gradient(160deg,#1e0c0c 0%,#2b1010 100%);
  border:1px solid var(--line);
  border-left:5px solid var(--gold);
  border-radius:5px;
  padding:28px 26px;
  box-shadow:0 12px 30px rgba(0,0,0,.55);
}
#geo-intro p{color:#f0dcdc;font-size:16px;margin-bottom:14px;}
#geo-intro p:last-child{margin-bottom:0;}
#geo-intro strong{color:var(--gold);}

/* STATS */
#stats .grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;
}
.stat-card{
  background:linear-gradient(150deg,#1f0b0b,#2e1111);
  border:1px solid var(--line);border-radius:5px;
  padding:26px 20px;text-align:center;position:relative;
  box-shadow:inset 0 1px 0 rgba(251,191,36,.16),0 12px 26px rgba(0,0,0,.55);
  transition:.25s;
}
.stat-card:hover{transform:translateY(-5px);border-color:var(--gold);}
.stat-card .num{
  font-size:34px;font-weight:800;color:var(--gold);
  text-shadow:0 0 20px rgba(251,191,36,.4);
}
.stat-card .label{margin-top:6px;font-size:14px;color:#e2c9c9;}

/* ADVANTAGES */
#core-advantages .grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;
}
.adv-card{
  background:linear-gradient(160deg,#1c0a0a,#2a0f0f);
  border:1px solid var(--line);border-radius:5px;padding:24px;
  box-shadow:0 10px 26px rgba(0,0,0,.5),inset 0 0 0 1px rgba(251,191,36,.08);
  transition:.25s;
}
.adv-card:hover{border-color:rgba(251,191,36,.7);transform:translateY(-4px);}
.adv-card h3{font-size:18px;color:var(--gold);margin-bottom:10px;}
.adv-card p{font-size:15px;color:#ecdada;}

/* EVENTS */
#featured-events .event-wrap{
  display:grid;grid-template-columns:1.2fr 1fr;gap:22px;align-items:stretch;
}
@media(max-width:820px){#featured-events .event-wrap{grid-template-columns:1fr;}}
.event-pic{
  border:1px solid var(--line);border-radius:5px;overflow:hidden;
  box-shadow:0 16px 40px rgba(0,0,0,.65);
}
.event-pic img{width:100%;height:100%;object-fit:cover;}
.event-list{display:flex;flex-direction:column;gap:12px;}
.event-item{
  background:linear-gradient(100deg,#210c0c,#321111);
  border:1px solid var(--line);border-left:4px solid var(--red);
  border-radius:4px;padding:16px 18px;
}
.event-item h4{font-size:16px;color:#fff;margin-bottom:4px;}
.event-item p{font-size:14px;color:#dcbfbf;}

/* NEWS */
#news-list .news-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;
}
.news-card{
  background:linear-gradient(160deg,#1d0b0b,#2c1010);
  border:1px solid var(--line);border-radius:5px;padding:22px;
  box-shadow:0 12px 30px rgba(0,0,0,.55);
  transition:.25s;position:relative;overflow:hidden;
}
.news-card::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:3px;
  background:linear-gradient(90deg,var(--red),var(--gold));
}
.news-card:hover{transform:translateY(-5px);border-color:rgba(251,191,36,.65);}
.news-card .date{
  display:inline-block;font-size:12px;color:var(--gold);
  border:1px solid rgba(251,191,36,.45);border-radius:2px;
  padding:1px 9px;margin-bottom:10px;letter-spacing:1px;
}
.news-card h3{font-size:17px;color:#fff;margin-bottom:10px;line-height:1.5;}
.news-card p{font-size:14.5px;color:#e3cccc;}

/* TIMELINE */
#timeline .tl{position:relative;padding-left:30px;}
#timeline .tl::before{
  content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(180deg,var(--gold),var(--dark-red));
}
.tl-item{position:relative;margin-bottom:26px;}
.tl-item::before{
  content:"";position:absolute;left:-27px;top:8px;width:12px;height:12px;
  background:var(--gold);border-radius:2px;transform:rotate(45deg);
  box-shadow:0 0 12px rgba(251,191,36,.85);
}
.tl-item h4{color:var(--gold);font-size:17px;margin-bottom:6px;}
.tl-item p{color:#e5d0d0;font-size:15px;}

/* PARTNERS */
#partners .plist{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;
}
.partner-box{
  background:#1c0b0b;border:1px solid var(--line);border-radius:4px;
  padding:20px 12px;text-align:center;font-size:15px;color:#f3dede;
  transition:.2s;
}
.partner-box:hover{background:#2b1010;color:var(--gold);border-color:rgba(251,191,36,.6);}

/* FAQ */
#faq .faq-list{display:flex;flex-direction:column;gap:12px;}
details.faq-item{
  background:linear-gradient(160deg,#1d0b0b,#2b1010);
  border:1px solid var(--line);border-radius:4px;
  padding:16px 20px;transition:.2s;
}
details.faq-item[open]{
  border-color:rgba(251,191,36,.65);
  box-shadow:0 0 24px rgba(220,38,38,.25);
}
details.faq-item summary{
  cursor:pointer;font-weight:700;color:#fff;font-size:16px;
  list-style:none;position:relative;padding-right:26px;
}
details.faq-item summary::-webkit-details-marker{display:none;}
details.faq-item summary::after{
  content:"+";position:absolute;right:0;top:-2px;color:var(--gold);
  font-size:22px;line-height:1;font-weight:700;
}
details.faq-item[open] summary::after{content:"–";}
details.faq-item p{margin-top:12px;font-size:15px;color:#e8d4d4;}

/* CTA */
#cta{
  background:linear-gradient(115deg,#7f1d1d,#dc2626 65%,#b91c1c);
  border:1px solid rgba(251,191,36,.55);border-radius:6px;
  padding:38px 30px;text-align:center;
  box-shadow:0 20px 50px rgba(0,0,0,.65);
}
#cta h2{font-size:26px;color:#fff;margin-bottom:12px;}
#cta p{color:#fff3f3;max-width:760px;margin:0 auto 22px;font-size:15.5px;}
.btn-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-block;padding:12px 28px;border-radius:3px;font-weight:700;font-size:15px;
  background:var(--gold);color:#3b0a0a;border:1px solid #fff2c9;
  box-shadow:0 8px 22px rgba(0,0,0,.45);transition:.22s;
}
.btn:hover{transform:translateY(-3px);background:#ffd75e;}
.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.75);}
.btn.ghost:hover{background:rgba(0,0,0,.25);}

/* FOOTER */
footer.site-footer{
  margin-top:60px;
  background:linear-gradient(180deg,#1a0808,#0a0303);
  border-top:2px solid var(--dark-red);
  padding:40px 20px 22px;
}
.footer-inner{max-width:1220px;margin:0 auto;}
.footer-cols{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px;
  padding-bottom:26px;border-bottom:1px solid #3a1414;
}
.footer-cols h4{color:var(--gold);font-size:16px;margin-bottom:12px;}
.footer-cols p,.footer-cols li{font-size:14px;color:#d8c2c2;list-style:none;margin-bottom:6px;}
.footer-cols a:hover{color:var(--gold);}
.footer-bottom{
  padding-top:18px;text-align:center;font-size:13.5px;color:#b9a2a2;
}
.footer-bottom a{color:var(--gold);}
.footer-bottom .copy{margin-top:8px;color:#9c8686;}