
/* 首页 Hero（白塔水彩背景图） */
.hero {
  background:#fdfcfa; padding:0; text-align:center; position:relative; overflow:hidden;
}
.hero-img { display:block; width:100%; height:auto; }
.hero .year { font-size:14px; letter-spacing:6px; color:#206283; margin-bottom:10px; }
.hero h1 { font-size:clamp(30px,5vw,52px); letter-spacing:4px; margin-bottom:10px; color:#113751; text-shadow:0 2px 14px rgba(255,255,255,.75); }
.hero .theme {
  display:inline-block; border:1px solid rgba(32,98,131,.5); color:#206283;
  padding:6px 26px; border-radius:40px; letter-spacing:3px; font-size:clamp(14px,2vw,18px); margin:6px 0 22px; background:rgba(252,253,247,.5);
}
.hero .meta { font-size:13px; color:#3d5560; margin-bottom:30px; letter-spacing:1px; }
.hero .btns { position:absolute; left:0; right:0; bottom:5%; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; z-index:2; }
.btn-primary { background:linear-gradient(135deg,#206283,#113751); color:#fff; box-shadow:0 4px 18px rgba(32,98,131,.45); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 26px rgba(32,98,131,.55); }
.btn-ghost { background:transparent; border:2px solid rgba(32,98,131,.55); color:#113751; }
.btn-ghost:hover { background:rgba(32,98,131,.1); }

/* 首屏下导语带 */
/* 报名方式 · 咨询电话 */
.contact-lines { margin-top:18px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.contact-chip { background:#eef6f8; border-radius:40px; padding:10px 22px; font-size:13.5px; color:var(--ink2); display:flex; align-items:center; gap:8px; }
.contact-chip i { color:var(--wine2); }
.contact-chip a { color:var(--wine); font-weight:700; }

/* 赛道卡片 */
.track-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:860px){ .track-grid { grid-template-columns:1fr; } }
.track-card {
  background:#fff; border-radius:16px; padding:26px 22px 22px; border:1px solid var(--line);
  box-shadow:0 4px 20px rgba(17,55,81,.06); position:relative; overflow:hidden;
  transition:transform .25s, box-shadow .25s; display:flex; flex-direction:column;
}
.track-card:hover { transform:translateY(-6px); box-shadow:0 14px 34px rgba(17,55,81,.14); }
.track-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--wine2),var(--gold),var(--wine2)); }
.track-card .icon-wrap {
  width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#eef6f8,#ddeeed); color:var(--wine2); font-size:24px; margin-bottom:12px;
}
.track-card h3 { font-size:21px; color:var(--wine); margin-bottom:2px; }
.track-card .slogan { font-size:12px; color:var(--wine2); letter-spacing:1px; margin-bottom:8px; font-weight:600; }
.track-card .tag { display:inline-block; background:#ddeeed; color:var(--wine); font-size:11px;
  padding:2px 12px; border-radius:20px; font-weight:600; margin-bottom:10px; align-self:flex-start; }
.track-card p { color:var(--ink2); font-size:13.5px; margin-bottom:16px; flex:1; }
.track-card .card-btns { display:flex; gap:10px; }
.track-card .card-btns .btn { flex:1; padding:9px 0; font-size:13px; border-radius:40px; text-align:center; justify-content:center; }
.btn-outline { background:transparent; border:2px solid var(--wine2); color:var(--wine); }
.btn-outline:hover { background:var(--wine2); color:#fff; }

/* 时间线 */
.timeline { display:flex; gap:0; margin-top:10px; flex-wrap:wrap; }
.tl-item { flex:1; min-width:170px; text-align:center; position:relative; padding:0 8px 18px; }
.tl-item .dot2 { width:16px; height:16px; border-radius:50%; background:var(--wine2); margin:0 auto 10px; box-shadow:0 0 0 5px rgba(32,98,131,.2); }
.tl-item::after { content:''; position:absolute; top:7px; left:calc(50% + 14px); right:calc(-50% + 14px); height:2px; background:linear-gradient(90deg,var(--wine2),var(--gold)); }
.tl-item:last-child::after { display:none; }
@media (max-width:760px){ .tl-item::after { display:none; } }
.tl-item .tl-stage { font-weight:700; color:var(--wine); font-size:15px; }
.tl-item .tl-date { font-size:12px; color:var(--ink3); margin-top:2px; }
.tl-item .tl-desc { font-size:12px; color:var(--ink2); margin-top:4px; line-height:1.5; }

/* 专家委员会（单排：左2副主任 + 主任居中 + 右2副主任） */
.expert-avatar { flex-shrink:0; width:120px; height:156px; border-radius:14px; background:#ddeeed; border:2px solid rgba(32,98,131,.4);
  display:flex; align-items:center; justify-content:center; color:var(--wine); font-size:26px; font-weight:700; overflow:hidden; position:relative; }
.expert-photo { position:absolute; inset:0; border-radius:12px; background-repeat:no-repeat;
  background-size:cover; background-position:center top; }
.expert-note { text-align:center; font-size:12px; color:var(--ink3); margin:14px 0 0; letter-spacing:.5px; }
.expert-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
@media (max-width:1024px){ .expert-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){ .expert-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:440px){ .expert-grid { grid-template-columns:1fr; } }
.expert-card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:22px 14px; text-align:center; transition:transform .25s, box-shadow .25s; }
.expert-card:hover { transform:translateY(-4px); box-shadow:0 10px 24px rgba(17,55,81,.10); }
.expert-card .expert-avatar { margin:0 auto 14px; }
.expert-card h4 { font-size:16px; color:var(--wine); letter-spacing:2px; margin-bottom:6px; }
.expert-card p { font-size:12.5px; color:var(--ink2); line-height:1.75; margin:0; }
.expert-card h4 .role-sm { font-size:13px; font-weight:400; letter-spacing:1px; }

/* 组织机构 */
.org-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
@media (max-width:760px){ .org-grid { grid-template-columns:1fr; } }
.org-item { background:#eef6f8; border-radius:10px; padding:12px 16px; font-size:13px; }
.org-item strong { color:var(--wine); display:block; margin-bottom:2px; }
.org-item-full { grid-column:1 / -1; }
.org-item-full strong { margin-bottom:4px; }
.org-lines { display:grid; grid-template-columns:repeat(2,1fr); gap:2px 18px; }
.org-lines span { font-size:13px; line-height:1.9; color:var(--ink2); }
@media (max-width:760px){ .org-lines { grid-template-columns:1fr; } }

/* 奖项卡片：内容三行纵向居中（仅首页） */
.award-item { text-align:center; }
.award-item .a-top { flex-direction:column; align-items:center; justify-content:center; }


/* 首页三大信息模块：大赛简介 / 征集对象 / 征集时间（合并为一张大卡，三段分区居中） */
.notice-card { background:#fff; border:1px solid var(--line); border-radius:16px;
  box-shadow:0 4px 20px rgba(0,0,0,.05); padding:6px 30px; }
.notice-item { padding:22px 0; text-align:center; }
.notice-item + .notice-item { border-top:1px dashed var(--line); }
.notice-item h3 { font-size:21px; color:var(--wine); margin-bottom:8px; }
.notice-item p { color:var(--ink2); font-size:14px; line-height:1.9; margin:0; }
.notice-item ul.dot { margin:0; }
.notice-item ul.dot li { border-bottom:none; padding:0; font-size:14px; line-height:1.9; color:var(--ink2); }
.notice-item ul.dot li::before { display:none; }

/* 首行缩进：大赛简介正文 + 赛道卡片描述 */
.notice-card .notice-item:first-child p { text-indent:2em; }
.notice-card .notice-item:first-child { text-align:left; }
.notice-card .notice-item:first-child h3 { text-align:center; }

.track-card p { text-indent:2em; }

/* 赛程安排说明段（取代原时间线） */
.schedule-text { text-align:center; font-size:15px; line-height:1.9; color:#3d352e; margin:0; }

/* 小字（block-sub）移除后：标题与内容区之间的间距补偿 */
#schedule .card, #experts .expert-grid, #awards .award-grid { margin-top:22px; }
