* { margin:0; padding:0; box-sizing:border-box; }
html { background:#890F1F; }
body { font-family:"Microsoft YaHei","PingFang SC",sans-serif; font-size:15px; color:#33363B; background:#fff; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
.wrap { width:1320px; margin:0 auto; }
.serif { font-family:"STZhongsong","SimSun",serif; }
.mono { font-family:"Courier New",monospace; font-variant-numeric:tabular-nums; }
:root { --red:#9E1124; --red-deep:#701021; --red-band:#890F1F; --gold:#C9A254; --gold-l:#E8C886; --ink:#26282C; }

/* 页头：左红块logo + 白底深字导航 */
.header { background:#890F1F; height:96px; position:relative; z-index:60; }
.header .wrap { display:flex; align-items:center; height:96px; }
.logo-block { flex:none; width:470px; height:96px; display:flex; align-items:center; justify-content:center; padding:0 20px; }
.logo-block img { width:100%; height:auto; }
.nav { flex:1; display:flex; align-items:center; justify-content:flex-end; padding-left:20px; }
.nav .n-item { position:relative; }
.nav a.n-item { position:relative; display:block; padding:0 19px; color:rgba(255,255,255,.92); font-size:16.5px; letter-spacing:2px; line-height:96px; white-space:nowrap; }
.nav a.n-item:hover, .nav a.n-item.active, .nav .n-item:hover > a.n-item { color:#fff; }
.nav a.n-item.active::after, .nav .n-item:hover > a.n-item::after { content:''; position:absolute; left:19px; right:19px; bottom:24px; height:3px; background:#E8C886; }
.dropdown { position:absolute; top:100%; left:0; min-width:100%; background:#fff; box-shadow:0 10px 26px rgba(60,5,14,.25); border-top:3px solid #C9A254; opacity:0; visibility:hidden; transform:translateY(8px); transition:all .25s; }
.nav .n-item:hover .dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.dropdown a { display:block; padding:11px 22px; font-size:14px; color:#4a4a4a; white-space:nowrap; border-bottom:1px solid #F1E9E9; }
.dropdown a:hover { background:#FBF5F1; color:#9E1124; padding-left:26px; }
.nav .ext { display:flex; align-items:center; margin-left:6px; }
.nav .ext .s-btn { border:none; background:none; padding:6px 4px; display:flex; align-items:center; justify-content:center; }
.nav .ext .s-btn svg { width:20px; height:20px; stroke:rgba(255,255,255,.85); transition:stroke .2s; }
.nav .ext .s-btn:hover svg { stroke:#E8C886; }

/* 英雄区：满幅照片+大标语+白条要闻走马 */
.hero { position:relative; height:540px; overflow:hidden; }
.hero .slide { position:absolute; inset:0; }
.hero .slide img { width:100%; height:100%; object-fit:cover; display:block; }
.hero .veil { position:absolute; inset:0; background:linear-gradient(100deg,rgba(20,8,12,.55) 0%,rgba(20,8,12,.15) 45%,rgba(20,8,12,.35) 100%); }
.hero .slogan { position:absolute; left:0; right:0; top:130px; }
.hero .slogan h2 { color:#fff; font-size:62px; font-weight:700; letter-spacing:10px; text-shadow:0 3px 18px rgba(20,2,6,.5); }
.hero .slogan h2 b { color:var(--gold-l); font-weight:700; }
.hero .slogan .sub { margin-top:18px; color:rgba(255,255,255,.88); font-size:16px; letter-spacing:5px; }
.ticker { position:absolute; left:0; right:0; bottom:0; background:#fff; height:58px; }
.ticker .wrap { display:flex; align-items:center; height:58px; gap:18px; }
.ticker .tag { flex:none; background:var(--red); color:#fff; font-size:13px; letter-spacing:3px; padding:6px 14px; }
.ticker .txt { flex:1; min-width:0; font-size:14.5px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:opacity .25s; }
.ticker .txt:hover { color:var(--red); }
.pager-num { flex:none; display:flex; align-items:center; gap:14px; color:#B4B8BE; font-family:"Courier New",monospace; font-size:13px; }
.pager-num .pg { cursor:pointer; transition:color .2s; }
.pager-num .pg:hover, .pager-num .pg.on { color:var(--red); }
.pager-num .ar { color:#B4B8BE; font-size:15px; cursor:pointer; }
.pager-num .ar:hover { color:var(--red); }

/* 版块头：红竖条+长线+金色圆钮MORE */
.sec-head { display:flex; align-items:center; margin-bottom:34px; }
.sec-head .bar { flex:none; width:8px; height:30px; background:var(--red); margin-right:16px; }
.sec-head h3 { font-size:28px; color:var(--ink); letter-spacing:4px; font-weight:700; }
.sec-head h3 em { font-style:normal; font-size:12px; color:#B4A88E; letter-spacing:2.5px; margin-left:14px; font-family:"Courier New",monospace; }
.sec-head .line { flex:1; height:1px; background:#E7E4DE; margin:0 26px; }
.more-btn { flex:none; display:flex; align-items:center; gap:10px; font-size:13px; letter-spacing:2px; color:#9A9DA3; }
.more-btn:hover { color:var(--red); }
.more-btn i { font-style:normal; width:30px; height:30px; border-radius:50%; border:1px solid var(--gold); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:15px; transition:all .2s; }
.more-btn:hover i { background:var(--gold); color:#fff; }

.band { padding:62px 0 66px; }

/* 要闻动态：左大图卡+右缩略列表 */
.news-cols { display:flex; gap:54px; align-items:stretch; }
.lead-card { flex:1.1; min-width:0; display:flex; flex-direction:column; }
.lead-card .fig { display:block; overflow:hidden; flex:1; min-height:0; }
.lead-card .fig img { width:100%; height:100%; min-height:300px; object-fit:cover; display:block; transition:transform .5s; }
.lead-card:hover .fig img { transform:scale(1.04); }
.lead-card .cap { margin-top:18px; font-size:16.5px; line-height:1.75; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.lead-card:hover .cap { color:var(--red); }
.lead-foot { margin-top:16px; display:flex; align-items:flex-end; justify-content:space-between; }
.lead-foot .big-date { font-family:"Courier New",monospace; color:var(--red); line-height:1; }
.lead-foot .big-date b { font-size:40px; font-weight:normal; }
.lead-foot .big-date s { text-decoration:none; font-size:15px; margin-left:6px; }
.read-more { position:relative; font-size:13.5px; color:var(--gold); letter-spacing:2px; padding:0 14px 8px 0; }
.read-more::after { content:''; position:absolute; right:0; bottom:0; width:10px; height:10px; border-right:1px solid var(--gold); border-bottom:1px solid var(--gold); }
.read-more:hover { color:var(--red); }
.read-more:hover::after { border-color:var(--red); }
.news-list { flex:1.25; min-width:0; display:flex; flex-direction:column; justify-content:space-between; }
.nl-item { display:flex; gap:20px; align-items:center; padding:15px 0; border-bottom:1px solid #EEECE7; }
.nl-item:first-child { padding-top:2px; }
.nl-item:last-child { border-bottom:none; }
.nl-item .body { flex:1; min-width:0; }
.nl-item .t { font-size:15.5px; line-height:1.7; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nl-item:hover .t { color:var(--red); }
.nl-item .dt { margin-top:8px; font-size:12.5px; color:#A8ABB0; display:flex; align-items:center; gap:7px; }
.nl-item .dt::before { content:''; width:12px; height:12px; border:1px solid #C9A254; border-radius:2px; background:linear-gradient(180deg,transparent 32%,#C9A254 32%,#C9A254 40%,transparent 40%); }
.nl-item .pic { flex:none; width:112px; height:74px; object-fit:cover; }

/* 党派团体：深红纹理带+彩色瓷砖阵 */
.dp-band { background:linear-gradient(rgba(142,16,32,.93) 0%,rgba(126,12,28,.93) 100%),url("../images/announcement-bg.png") center/cover no-repeat; padding:66px 0 70px; }
.dp-band .sec-head h3 { color:#fff; }
.dp-band .sec-head h3 em { color:rgba(232,200,134,.7); }
.dp-band .sec-head .line { background:rgba(255,255,255,.18); }
.dp-band .more-btn { color:rgba(255,255,255,.75); }
.dp-band .more-btn i { border-color:var(--gold-l); color:var(--gold-l); }
.dp-band .more-btn:hover { color:var(--gold-l); }
.dp-band .more-btn:hover i { background:var(--gold-l); color:#8E1020; }
.tiles { display:flex; flex-wrap:wrap; gap:14px; }
.tile { flex:1; min-width:0; height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; transition:all .25s; }
.tile i { font-style:normal; font-family:"STZhongsong","SimSun",serif; font-size:28px; line-height:1.25; letter-spacing:2px; }
.tile b { font-size:15px; letter-spacing:2px; font-weight:normal; }

.tile.t-photo { flex:1; background:#6E0A18; color:#fff; }

.tile.t-photo:hover i { color:var(--gold-l); }
.tile.t-cream { background:#F6E7D2; color:#8E1020; }
.tile.t-cream:hover { background:#fff; }
.tile.t-gold { background:#C9A254; color:#fff; }
.tile.t-gold:hover { background:#B08D4F; }
.tile.t-crimson { background:#A5182A; color:#fff; }
.tile.t-crimson:hover { background:#8E1020; }
.tile.t-maroon { background:#6E0A18; color:#fff; }
.tile.t-maroon:hover { background:#5A0A14; }
.tile:hover { transform:translateY(-4px); }
.dp-line { margin-top:24px; text-align:center; font-size:13.5px; color:rgba(255,255,255,.62); letter-spacing:2px; }
.dp-line b { color:var(--gold-l); font-weight:normal; }

/* 通知公告：浅底建筑素描+浮起白卡三栏大日期 */
.notice-band { background:linear-gradient(rgba(250,249,246,.94) 0%,rgba(250,249,246,.9) 100%),url("../images/fwzn-bg.png") center 20%/cover no-repeat; padding:70px 0 74px; }
.notice-card { position:relative; width:1180px; margin:0 auto; background:#fff; box-shadow:0 18px 44px rgba(60,40,20,.12); padding:52px 56px 40px; }
.notice-card::before { content:''; position:absolute; left:50%; top:-12px; transform:translateX(-50%); width:110px; height:24px; background:var(--red); }
.notice-card .ttl { text-align:center; font-size:26px; color:var(--ink); letter-spacing:5px; font-weight:700; margin-bottom:40px; }
.notice-grids { position:relative; }
.notice-grid { display:none; gap:52px; }
.notice-grid.on { display:flex; animation:nfade .45s ease; }
@keyframes nfade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.notice-grid .cell { flex:1; min-width:0; }
.notice-grid .big-date { font-family:"Courier New",monospace; color:var(--red); line-height:1; }
.notice-grid .big-date b { font-size:38px; font-weight:normal; }
.notice-grid .big-date s { text-decoration:none; font-size:14px; margin-left:5px; }
.notice-grid .t { margin-top:14px; font-size:14.5px; line-height:1.8; color:#4A4D52; height:78px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.notice-grid .cell:hover .t { color:var(--red); }
.notice-grid .read-more { display:inline-block; margin-top:12px; }
.dots { margin-top:34px; text-align:center; }
.dots i { display:inline-block; width:8px; height:8px; border-radius:50%; background:#DDD9D2; margin:0 5px; cursor:pointer; transition:background .2s; }
.dots i.on { background:var(--red); }
.notice-more { margin-top:26px; text-align:center; }
.notice-more .more-btn { display:inline-flex; }

/* 联席会议：图+红板连体组合居中，外铺全幅红渐变 */
.joint { display:flex; align-items:stretch; justify-content:center; background:linear-gradient(150deg,#8E1020 0%,#9E1124 100%); }

.joint .photo { flex:1 1 0; max-width:614px; min-width:0; display:block; background:#701021; position:relative; }
.joint .photo img { position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; }
.joint .photo .ph-link { position:absolute; inset:0; z-index:3; }
.joint .panel { flex:1.15 1 0; max-width:706px; min-width:0; background:none; padding:60px 70px 56px; }
.joint .panel .sec-head h3 { color:#fff; }
.joint .panel .sec-head h3 em { color:rgba(232,200,134,.7); }
.joint .panel .sec-head .line { background:rgba(255,255,255,.18); }
.joint .panel .more-btn { color:rgba(255,255,255,.75); }
.joint .panel .more-btn i { border-color:var(--gold-l); color:var(--gold-l); }
.joint .panel .more-btn:hover { color:var(--gold-l); }
.joint .panel .more-btn:hover i { background:var(--gold-l); color:#8E1020; }
.j-item { display:flex; gap:14px; padding:17px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.j-item::before { content:'—'; flex:none; color:var(--gold-l); }
.j-item .t { flex:1; min-width:0; font-size:15px; line-height:1.7; color:rgba(255,255,255,.9); display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.j-item:hover .t { color:var(--gold-l); }

/* 页脚：圆章+站名地址一行式 */
.footer { background:#701021; color:rgba(255,255,255,.78); }
.footer .wrap { display:flex; align-items:center; gap:26px; padding:38px 0 34px; }
.footer .f-seal { flex:none; width:66px; height:66px; border-radius:50%; overflow:hidden; }
.footer .f-seal img { width:100%; height:100%; object-fit:cover; display:block; }
.footer .f-brand h4 { color:#fff; font-size:18px; letter-spacing:3px; margin-bottom:10px; }
.footer .f-brand p { font-size:13px; line-height:1.9; color:rgba(255,255,255,.66); }
.footer .f-links { margin-left:auto; display:flex; gap:30px; }
.footer .f-links a { font-size:13.5px; color:rgba(255,255,255,.72); letter-spacing:1px; }
.footer .f-links a:hover { color:var(--gold-l); }
.footer .f-bottom { border-top:1px solid rgba(255,255,255,.14); padding:16px 0; text-align:center; font-size:12.5px; letter-spacing:1px; color:rgba(255,255,255,.55); }

/* ===== 移动端轻量适配（≤1024 生效，桌面样式不变） ===== */
@media (max-width:1024px) {
  .wrap { width:auto; max-width:1320px; padding-left:16px; padding-right:16px; }
  .header { height:auto; }
  .header .wrap { display:block; height:auto; }
  .logo-block { width:100%; height:auto; padding:12px 0 10px; }
  .logo-block img { width:auto; max-width:min(330px, calc(100vw - 40px)); max-height:58px; }
  .nav { justify-content:flex-start; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:0 6px; }
  .nav .m-nav { flex:none; min-width:max-content; justify-content:flex-start; }
  .nav a.n-item { flex:none; line-height:46px; padding:0 14px; font-size:15px; }
  .nav a.n-item.active::after, .nav .n-item:hover > a.n-item::after { bottom:9px; left:14px; right:14px; }
  .dropdown { display:none; }
  .band { padding:40px 0 44px; }
  .sec-head { margin-bottom:22px; }
  .sec-head h3 { font-size:22px; }
  .sec-head .line { margin:0 14px; }
  .news-cols { flex-direction:column; gap:30px; }
  .lead-card .fig img { min-height:0; height:230px; }
  .tiles { gap:10px; }
  .tile { flex:0 0 calc((100% - 20px)/3); height:104px; }
  .tile.t-photo { flex:0 0 calc((100% - 20px)/3); }
   .tile i { font-size:20px; }
  .tile b { font-size:13px; }
  .notice-card { width:calc(100% - 32px); padding:34px 22px 30px; }
  .notice-grid { gap:26px; }
  .notice-grid.on { flex-direction:column; }
  .notice-grid .t { height:auto; -webkit-line-clamp:2; }
  .joint { flex-direction:column; }
  .joint .photo { flex:none; height:250px; max-width:none; }
  .joint .panel { flex:none; max-width:none; padding:38px 20px 34px; }
  .footer .wrap { flex-wrap:wrap; row-gap:14px; padding:28px 0 24px; }
  .footer .f-links { margin-left:0; width:100%; flex-wrap:wrap; gap:12px 22px; }
}
@media (max-width:640px) {
  body { font-size:14px; }
  .hero { height:400px; }
  .hero .slogan { top:80px; }
  .hero .slogan h2 { font-size:30px; letter-spacing:5px; }
  .hero .slogan .sub { font-size:12.5px; letter-spacing:2px; }
  .ticker { height:50px; }
  .ticker .wrap { height:50px; gap:12px; }
  .pager-num { display:none; }
  .lead-foot .big-date b { font-size:30px; }
  .nl-item { gap:12px; }
  .nl-item .pic { width:88px; height:60px; }
  .tile { height:88px; }
  .dp-line { padding:0 10px; }
  .notice-card { padding:26px 16px 24px; }
  .notice-card .ttl { font-size:20px; margin-bottom:26px; }
  .sp-panel.sp-panel { position:fixed; top:120px; left:12px; right:12px; width:auto; max-width:none; }
  .footer .f-brand h4 { font-size:16px; }
  .footer .f-bottom { padding:12px 8px; }
}

/* 组件锚点：自己承担布局角色，智能设计要能点中它 */
.m-nav { flex:1; min-width:0; display:flex; align-items:center; justify-content:flex-end; }
.m-hero { position:absolute; inset:0; }
.m-ticker { flex:1; min-width:0; overflow:hidden; }
.m-lead { flex:1.1; min-width:0; }
.m-newslist { flex:1.25; min-width:0; }
.m-lead > .lead-card, .m-newslist > .news-list { flex:none; width:100%; height:100%; }
/* 平台给组件输出套的 form 外壳要穿透（锚点被替换成组件容器、或组件渲染在锚点内，两种都要覆盖） */
.nav > form, .news-cols > form, .ticker .wrap > form, .joint .panel > form, .joint > form,
.m-nav > form, .m-hero > form, .m-ticker > form, .m-lead > form, .m-newslist > form, .m-joint > form { display:contents; }