:root {
  --red: #a3151b;
  --red-dark: #761016;
  --red-light: #c5292f;
  --gold: #c89b55;
  --ink: #202632;
  --muted: #687180;
  --line: #e2e6ec;
  --paper: #ffffff;
  --wash: #f4f6f8;
  --blue: #173e67;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #f7f8fa;
  font-family: "Noto Serif SC", "Source Han Serif SC", "Microsoft YaHei", serif;
  font-size: 16px;
  line-height: 1.75;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.container { width: min(1200px, calc(100% - 40px)); margin: 0 auto; }
.topbar { color: #e8edf3; background: #29333f; font-family: "Microsoft YaHei", sans-serif; font-size: 13px; }
.topbar-inner { height: 38px; display: flex; align-items: center; justify-content: space-between; }
.topbar-tools { display: flex; gap: 22px; }
.topbar-tools span + span { position: relative; }
.topbar-tools span + span::before { content: ""; position: absolute; left: -11px; top: 7px; width: 1px; height: 12px; background: #6c7480; }
.masthead { position: relative; overflow: hidden; background: #fff; }
.masthead::after { content: ""; position: absolute; inset: 0; opacity: .055; pointer-events: none; background-image: repeating-linear-gradient(135deg, #88131a 0, #88131a 1px, transparent 1px, transparent 12px); }
.masthead-inner { position: relative; z-index: 1; min-height: 126px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: flex; align-items: center; gap: 18px; }
.brand-mark { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #c4272d, #801118); box-shadow: 0 8px 20px rgba(143,16,23,.2); }
.brand-mark svg { width: 38px; height: 38px; }
.brand-cn { color: var(--red); font-size: clamp(24px, 2.45vw, 36px); font-weight: 800; letter-spacing: .07em; line-height: 1.2; }
.brand-en { margin-top: 7px; color: #66707d; font: 600 12px/1.4 Georgia, serif; letter-spacing: .16em; text-transform: uppercase; }
.search { display: flex; width: 300px; height: 42px; border: 1px solid #c8ced7; background: #fff; }
.search input { min-width: 0; flex: 1; border: 0; outline: 0; padding: 0 14px; color: #4b5563; }
.search button { width: 50px; display: grid; place-items: center; border: 0; cursor: pointer; color: #fff; background: var(--red); transition: background-color .2s ease; }
.search button:hover { background: var(--red-dark); }
.search-icon { display: block; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.main-nav { color: #fff; background: linear-gradient(90deg, var(--red-dark), var(--red), var(--red-dark)); box-shadow: 0 4px 14px rgba(69,11,14,.18); font-family: "Microsoft YaHei", sans-serif; }
.nav-list { display: flex; align-items: stretch; margin: 0; padding: 0; list-style: none; }
.nav-item { position: relative; list-style: none; }
.nav-list > .nav-item { flex: 1 1 auto; min-width: 0; }
.nav-list > .nav-item > a { display: flex; height: 54px; padding: 0 10px; align-items: center; justify-content: center; gap: 6px; white-space: nowrap; border-left: 1px solid rgba(255,255,255,.09); transition: .2s ease; }
.nav-list > .nav-item > a:hover, .nav-list > .nav-item > a.active, .nav-list > .nav-item:focus-within > a { background: rgba(255,255,255,.14); box-shadow: inset 0 -3px 0 var(--gold); }
.nav-caret { margin-top: -3px; color: #efc778; font-size: 15px; transition: transform .2s; }
.nav-has-children:hover > a .nav-caret, .nav-has-children:focus-within > a .nav-caret { transform: rotate(180deg); }
.subnav { position: absolute; z-index: 30; top: 100%; left: 0; min-width: 190px; margin: 0; padding: 0; list-style: none; color: #35404c; opacity: 0; visibility: hidden; transform: translateY(8px); border-top: 2px solid var(--gold); background: #fff; box-shadow: 0 12px 28px rgba(27,37,49,.2); transition: opacity .2s, visibility .2s, transform .2s; }
.nav-item:hover > .subnav, .nav-item:focus-within > .subnav { opacity: 1; visibility: visible; transform: translateY(0); }
.subnav .nav-item > a { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 18px; border-bottom: 1px solid #edf0f3; background: #fff; font-size: 14px; white-space: nowrap; transition: .2s; }
.subnav .nav-item:last-child > a { border-bottom: 0; }
.subnav .nav-item > a:hover, .subnav .nav-item > a.active { color: var(--red); padding-left: 23px; background: #faf3f3; box-shadow: inset 3px 0 0 var(--red); }
.subnav .subnav { top: -9px; left: 100%; }
.mobile-menu { display: none; }
.hero { position: relative; height: 390px; overflow: hidden; color: #fff; background: #28455b; }
.slides, .slide { position: absolute; inset: 0; }
.slide { opacity: 0; transform: scale(1.025); transition: opacity .8s ease, transform 5s ease; }
.slide.active { opacity: 1; transform: scale(1); }
.slide-background { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.hero-copy { position: absolute; z-index: 2; display: block; height: auto; opacity: 0; pointer-events: none; filter: drop-shadow(0 2px 2px rgba(255,255,255,.12)); will-change: opacity, transform; }
.hero-copy-brand { top: clamp(38px, 3.5vw, 56px); left: clamp(32px, 10vw, 180px); width: min(50vw, 760px); }
.hero-copy-slogan { top: clamp(58px, 5.5vw, 88px); left: 62vw; width: min(30vw, 430px); }
.slide.active .hero-copy-brand { animation: hero-copy-from-left 1s cubic-bezier(.22,.61,.36,1) .5s both; }
.slide.active .hero-copy-slogan { animation: hero-copy-from-bottom 1s cubic-bezier(.22,.61,.36,1) 1s both; }
.slide.active.hero-motion-one .hero-copy-slogan { animation-name: hero-copy-from-right; animation-delay: 1.5s; }
.slide.active.hero-motion-two .hero-copy-brand { animation-name: hero-copy-from-bottom; }
@keyframes hero-copy-from-left {
  from { opacity: 0; transform: translate3d(-50px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes hero-copy-from-right {
  from { opacity: 0; transform: translate3d(100px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes hero-copy-from-bottom {
  from { opacity: 0; transform: translate3d(0, 50px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.slider-dots { position: absolute; z-index: 3; left: 50%; bottom: 22px; transform: translateX(-50%); display: flex; gap: 10px; }
.slider-dot { width: 28px; height: 4px; border: 0; padding: 0; cursor: pointer; background: rgba(255,255,255,.45); }
.slider-dot.active { width: 48px; background: var(--gold); }
.home-main { padding: 48px 0 60px; }
.section-heading { margin-bottom: 25px; display: flex; align-items: flex-end; justify-content: space-between; border-bottom: 1px solid #d7dce3; }
.section-title { position: relative; margin: 0; padding: 0 0 13px 18px; font-size: 25px; line-height: 1; color: #263342; }
.section-title::before { content: ""; position: absolute; left: 0; top: -2px; width: 5px; height: 27px; background: var(--red); }
.section-title::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 118px; height: 3px; background: var(--red); }
.more-link { margin-bottom: 10px; color: #6a7380; font-family: "Microsoft YaHei", sans-serif; font-size: 14px; }
.more-link:hover { color: var(--red); }
.lead-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 30px; }
.featured { position: relative; min-height: 360px; padding: 33px; color: #fff; overflow: hidden; background: linear-gradient(145deg, rgba(16,44,63,.96), rgba(27,91,82,.92)); }
.featured::after { content: "农"; position: absolute; right: -15px; bottom: -90px; color: rgba(255,255,255,.055); font-size: 260px; line-height: 1; font-weight: 900; }
.featured-tag { display: inline-block; margin-bottom: 26px; padding: 4px 12px; border: 1px solid rgba(255,255,255,.45); font: 13px "Microsoft YaHei", sans-serif; }
.featured h3 { position: relative; z-index: 1; margin: 0 0 18px; font-size: 28px; line-height: 1.45; }
.featured p { position: relative; z-index: 1; color: #e0e7e9; }
.featured .read-more { position: absolute; z-index: 1; left: 33px; bottom: 30px; font-family: "Microsoft YaHei", sans-serif; font-size: 14px; color: #f3cf8b; }
.news-list { margin: 0; padding: 0; list-style: none; }
.news-list li { border-bottom: 1px solid var(--line); }
.news-list a { display: grid; grid-template-columns: 1fr auto; gap: 15px; align-items: center; min-height: 61px; transition: .2s; }
.news-list a::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #9a3440; }
.news-list a { grid-template-columns: 5px 1fr auto; }
.news-list a:hover { color: var(--red); transform: translateX(3px); }
.news-date { color: #8a929d; font: 13px "Microsoft YaHei", sans-serif; }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 46px; }
.service-card { min-height: 155px; padding: 25px; border-top: 3px solid var(--red); background: #fff; box-shadow: 0 8px 24px rgba(30,43,55,.07); transition: .25s; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 14px 28px rgba(30,43,55,.12); }
.service-no { color: #bdc3ca; font: 700 13px Georgia, serif; letter-spacing: .15em; }
.service-card h3 { margin: 12px 0 5px; font-size: 20px; }
.service-card p { margin: 0; color: #89909a; font: 12px "Microsoft YaHei", sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.info-band { padding: 45px 0; background: #eef1f4; }
.three-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.info-card { padding: 26px 28px; background: #fff; border: 1px solid #e0e4e9; }
.info-card h3 { margin: 0 0 18px; padding-bottom: 12px; border-bottom: 2px solid #263f5d; color: #263f5d; font-size: 20px; }
.compact-list { margin: 0; padding: 0; list-style: none; }
.compact-list li { position: relative; padding: 10px 0 10px 15px; border-bottom: 1px dashed #d7dce2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compact-list li::before { content: "›"; position: absolute; left: 0; color: var(--red); }
.home-section-stack { display: grid; gap: 34px; }
.home-dual-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.home-panel { min-width: 0; overflow: hidden; border: 1px solid #dde2e8; border-top: 3px solid var(--red); background: #fff; box-shadow: 0 9px 24px rgba(28,42,56,.055); }
.home-panel-head { min-height: 82px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 14px 22px; border-bottom: 1px solid #e5e8ec; }
.home-panel-title { min-width: 128px; }
.home-panel-title span, .about-heading span { display: block; margin-bottom: 3px; color: var(--gold); font: 700 9px/1.2 Georgia, serif; letter-spacing: .16em; }
.home-panel-title h2, .about-heading h2 { margin: 0; color: #263748; font-size: 22px; line-height: 1.25; }
.home-tabbar { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 4px; overflow-x: auto; font-family: "Microsoft YaHei", sans-serif; }
.home-tab { flex: 0 0 auto; padding: 7px 10px; border: 0; border-bottom: 2px solid transparent; color: #626d79; cursor: pointer; background: transparent; font-size: 14px; transition: .2s; }
.home-tab:hover, .home-tab.active { color: var(--red); border-bottom-color: var(--red); font-weight: 700; }
.home-more { color: #7b8490; font: 13px/1 "Microsoft YaHei", sans-serif; white-space: nowrap; }
.home-more:hover { color: var(--red); }
.home-tab-pane { display: none; }
.home-tab-pane.active { display: block; }
.home-panel-featured { overflow: visible; border: 0; background: transparent; box-shadow: none; }
.home-feature-grid { min-height: 330px; display: grid; grid-template-columns: minmax(360px, 420px) minmax(0, 1fr); align-items: stretch; gap: 26px; }
.home-feature-news { min-width: 0; overflow: hidden; background: #fff; }
.home-feature-head { width: 100%; height: 44px; min-height: 44px; gap: 0; padding: 0; border: 0; background: #f1f2f3; }
.home-feature-head .home-tabbar { justify-content: flex-start; gap: 0; overflow: hidden; }
.home-feature-head .home-tab { height: 44px; padding: 0 20px; border: 0; border-bottom: 3px solid transparent; color: #343a42; font-size: 16px; line-height: 41px; }
.home-feature-head .home-tab:hover { color: var(--red); background: #f8f3ea; }
.home-feature-head .home-tab.active { color: #3a2a09; border-bottom-color: var(--red); background: #e8bd3c; font-weight: 700; }
.home-feature-head .home-more { height: 44px; display: flex; align-items: center; padding: 0 16px; color: #747b84; font-size: 12px; }
.home-feature-head .home-more:hover { color: var(--red); }
.home-mini-carousel { position: relative; min-width: 0; min-height: 330px; height: 330px; padding: 5px; overflow: hidden; border: 1px solid #dfe3e7; color: #fff; background: #f2f3f4; }
.home-mini-slides { position: absolute; inset: 5px; overflow: hidden; }
.home-mini-slide { position: absolute; inset: 0; z-index: 0; display: block; overflow: hidden; opacity: 0; pointer-events: none; transition: opacity .65s ease; }
.home-mini-slide.active { z-index: 1; opacity: 1; pointer-events: auto; }
.home-mini-visual { position: absolute; inset: 0; display: block; overflow: hidden; background: linear-gradient(145deg, #6f1117, #a71c23 58%, #7c1117); }
.home-mini-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: rgba(255,255,255,.88); background: linear-gradient(135deg, #761117, #a91f27 56%, #791017); text-align: center; }
.home-mini-placeholder::before { content: "农"; position: absolute; right: -12px; bottom: -90px; color: rgba(255,255,255,.07); font: 900 245px/1 "Microsoft YaHei", sans-serif; }
.home-mini-placeholder strong { position: relative; font-size: 27px; letter-spacing: .16em; }
.home-mini-placeholder small { position: relative; margin-top: 9px; color: #e9c57d; font: 10px Georgia, serif; letter-spacing: .16em; }
.home-mini-image { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; display: block; object-fit: fill; transition: transform 6s ease; }
.home-mini-image.image-error { display: none; }
.home-mini-slide.active .home-mini-image { transform: scale(1.035); }
.home-mini-caption { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; min-height: 48px; display: block; padding: 19px 105px 9px 14px; color: #fff; background: linear-gradient(transparent, rgba(20,23,27,.9)); font-family: "Microsoft YaHei", sans-serif; }
.home-mini-caption strong { min-width: 0; display: block; overflow: hidden; font-size: 14px; font-weight: 600; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; }
.home-mini-caption time { display: none; }
.home-mini-arrow { position: absolute; top: 50%; z-index: 3; width: 34px; height: 52px; margin-top: -26px; border: 0; color: #fff; cursor: pointer; opacity: 0; background: rgba(92,13,18,.72); font: 30px/1 Georgia, serif; transition: opacity .2s, background .2s; }
.home-mini-carousel:hover .home-mini-arrow, .home-mini-arrow:focus-visible { opacity: 1; }
.home-mini-arrow:hover { background: var(--red); }
.home-mini-prev { left: 0; }
.home-mini-next { right: 0; }
.home-mini-dots { position: absolute; right: 16px; bottom: 17px; z-index: 3; display: flex; gap: 7px; }
.home-mini-dot { width: 8px; height: 8px; padding: 0; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; cursor: pointer; background: transparent; transition: .2s; }
.home-mini-dot.active { background: #1cad55; border-color: #1cad55; }
.home-feature-lead { height: 96px; display: block; padding: 6px 10px 7px; overflow: hidden; border-bottom: 1px dotted #aeb4bc; font-family: "Microsoft YaHei", sans-serif; }
.home-feature-lead h3 { margin: 0; overflow: hidden; color: #20242a; font-size: 18px; font-weight: 500; line-height: 36px; text-overflow: ellipsis; white-space: nowrap; }
.home-feature-lead p { height: 50px; margin: 0; overflow: hidden; color: #8a9098; font-size: 14px; line-height: 25px; }
.home-feature-lead em { color: #c78917; font-style: normal; font-weight: 600; white-space: nowrap; }
.home-feature-lead:hover h3 { color: var(--red); }
.home-feature-list { margin: 0; padding: 0; list-style: none; background: #fff; }
.home-feature-list li { border-bottom: 1px dotted #aeb4bc; }
.home-feature-list li:last-child { border-bottom: 0; }
.home-feature-list a { min-height: 38px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 0 10px; color: #50565e; font-family: "Microsoft YaHei", sans-serif; font-size: 14px; line-height: 38px; transition: color .2s; }
.home-feature-list a > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-feature-list a > span::before { content: ""; width: 4px; height: 4px; display: inline-block; margin: 0 9px 3px 0; border-radius: 50%; background: #8ca34b; }
.home-feature-list time { color: #a1a6ad; font-size: 13px; }
.home-feature-list a:hover { color: var(--red); }
.home-feature-empty { min-height: 286px; }
.home-news-list { margin: 0; padding: 18px 28px; list-style: none; background: #fff; }
.home-news-list li { border-bottom: 1px dashed #dfe3e7; }
.home-news-list li:last-child { border-bottom: 0; }
.home-news-list a { min-height: 58px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; color: #343d47; font-family: "Microsoft YaHei", sans-serif; font-size: 15px; transition: .2s; }
.home-news-list a > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-news-list a > span::before { content: ""; width: 5px; height: 5px; display: inline-block; margin: 0 10px 2px 0; border-radius: 50%; background: var(--red); }
.home-news-list a:hover { color: var(--red); transform: translateX(3px); }
.home-news-list time { color: #9299a2; font-size: 12px; }
.home-news-list-compact { min-height: 335px; padding-top: 11px; padding-bottom: 11px; }
.home-news-list-compact a { min-height: 52px; }
.home-city-profile { height: 335px; min-height: 335px; display: block; padding: 12px 20px; color: #343d47; background: #fff; font-family: "Microsoft YaHei", sans-serif; }
.home-city-profile h3 { margin: 0; padding-bottom: 5px; color: #35414d; font-size: 20px; font-weight: 700; line-height: 30px; }
.home-city-profile p { margin: 20px 0 0; color: #4e5863; font-family: SimSun, "宋体", serif; font-size: 14px; line-height: 23px; text-align: justify; text-indent: 2em; }
.home-city-profile em { margin-left: 3px; color: #b77b12; font-style: normal; font-weight: 700; white-space: nowrap; }
.home-city-profile:hover h3 { color: var(--red); }
.home-empty { min-height: 340px; display: grid; place-items: center; color: #89919b; background: #fbfcfd; font: 14px "Microsoft YaHei", sans-serif; }
.about-section { position: relative; padding: 28px 30px 32px; overflow: hidden; border: 1px solid #e2e5e9; border-top: 3px solid var(--red); background: linear-gradient(135deg, #fff 0%, #fff 68%, #faf6ef 100%); box-shadow: 0 9px 24px rgba(28,42,56,.055); }
.about-section::after { content: "农"; position: absolute; right: -20px; bottom: -92px; color: rgba(163,21,27,.035); font-size: 245px; font-weight: 900; line-height: 1; pointer-events: none; }
.about-heading { position: relative; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 23px; padding-bottom: 18px; border-bottom: 1px solid #e4e7eb; }
.about-heading h2 { color: #263748; }
.about-heading p { margin: 0 0 1px; color: #7a838e; font: 13px/1.6 "Microsoft YaHei", sans-serif; }
.about-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.about-card { position: relative; min-width: 0; min-height: 142px; display: grid; grid-template-columns: 52px minmax(0, 1fr) 28px; align-items: center; gap: 14px; padding: 24px 18px; overflow: hidden; border: 1px solid #e1e4e8; background: linear-gradient(145deg, #fff, #fbfaf8); transition: border-color .25s, box-shadow .25s, transform .25s; }
.about-card::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--red), var(--gold)); transform: scaleX(.24); transform-origin: left center; transition: transform .25s; }
.about-card:hover { border-color: #d8b7b9; box-shadow: 0 12px 24px rgba(86,19,24,.1); transform: translateY(-4px); }
.about-card:hover::before { transform: scaleX(1); }
.about-number { position: absolute; top: 11px; right: 14px; color: #e6e9ed; font: 700 18px Georgia, serif; transition: color .25s; }
.about-card:hover .about-number { color: #ddc8a5; }
.about-icon { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid #dcbfc1; border-radius: 50%; color: var(--red); background: #fff8f8; transition: color .25s, border-color .25s, background .25s; }
.about-icon svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.about-card:hover .about-icon { color: #fff; border-color: var(--red); background: var(--red); }
.about-card-copy { min-width: 0; }
.about-card h3 { margin: 0 0 5px; color: #303b47; font-size: 19px; line-height: 1.35; transition: color .25s; }
.about-card p { margin: 0; overflow: hidden; color: #999084; font: 11px/1.5 Georgia, serif; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }
.about-card:hover h3 { color: var(--red); }
.about-arrow { align-self: end; width: 26px; height: 26px; display: grid; place-items: center; color: #9ca3ab; border: 1px solid #dfe3e7; border-radius: 50%; background: #fff; transition: color .25s, border-color .25s, transform .25s; }
.about-arrow svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.about-card:hover .about-arrow { color: var(--red); border-color: #d9afb2; transform: translateX(2px); }
.friend-links { padding: 38px 0 34px; overflow: hidden; background: #fff; border-top: 1px solid #e2e5e9; }
.friend-row { display: grid; grid-template-columns: 145px minmax(0, 1fr); align-items: center; gap: 28px; }
.friend-heading { align-self: stretch; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; margin-bottom: 0; padding: 7px 27px 7px 0; border-right: 1px solid #e0e4e9; }
.friend-heading span { display: block; margin-bottom: 3px; color: var(--gold); font: 700 10px/1 Georgia, serif; letter-spacing: .26em; }
.friend-heading h3 { margin: 0; color: #35404c; font-size: 20px; line-height: 1.2; }
.friend-controls { display: flex; gap: 7px; }
.friend-carousel { min-width: 0; }
.friend-arrow { width: 36px; height: 32px; border: 1px solid #d9dee4; color: #586270; cursor: pointer; background: #fff; transition: .2s; }
.friend-arrow:hover:not(:disabled) { color: #fff; border-color: var(--red); background: var(--red); }
.friend-arrow:disabled { opacity: .35; cursor: default; }
.friend-viewport { width: 100%; overflow: hidden; }
.friend-track { display: flex; gap: 16px; transition: transform .55s cubic-bezier(.22,.61,.36,1); will-change: transform; }
.friend-card { position: relative; flex: 0 0 calc((100% - 64px) / 5); min-width: 0; height: 112px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 13px 14px 11px; overflow: hidden; border: 1px solid #e0e4e9; background: linear-gradient(180deg, #fff, #fafbfc); transition: border-color .2s, box-shadow .2s, transform .2s; }
.friend-card::before { content: ""; position: absolute; left: 0; top: 0; width: 3px; height: 0; background: var(--red); transition: height .25s; }
.friend-card:hover { color: var(--red); border-color: #d6b9bb; box-shadow: 0 8px 22px rgba(44,55,68,.09); transform: translateY(-2px); }
.friend-card:hover::before { height: 100%; }
.friend-logo { position: relative; width: 100%; height: 58px; display: grid; place-items: center; }
.friend-logo img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: contain; background: #fff; }
.friend-logo img.image-error { display: none; }
.friend-placeholder { width: 45px; height: 45px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg, var(--red-light), var(--red-dark)); font-size: 20px; font-weight: 700; }
.friend-name { width: 100%; margin-top: 6px; overflow: hidden; color: #505a66; font: 13px/1.25 "Microsoft YaHei", sans-serif; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.friend-progress { height: 2px; margin-top: 20px; overflow: hidden; background: #edf0f3; }
.friend-progress span { display: block; width: 20%; height: 100%; background: var(--red); transform-origin: left center; transition: transform .55s cubic-bezier(.22,.61,.36,1), width .2s; }
.subhero { height: 205px; color: #fff; background: linear-gradient(115deg, rgba(80,13,18,.97), rgba(155,25,32,.87)), repeating-linear-gradient(45deg, transparent 0 20px, rgba(255,255,255,.05) 20px 21px); }
.subhero .container { height: 100%; display: flex; flex-direction: column; justify-content: center; }
.subhero-kicker { color: #e7c27b; font: 600 13px "Microsoft YaHei", sans-serif; letter-spacing: .2em; text-transform: uppercase; }
.subhero h1 { margin: 8px 0 0; font-size: 35px; letter-spacing: .12em; }
.breadcrumb { background: #fff; border-bottom: 1px solid #e2e5e9; color: #6b7480; font-family: "Microsoft YaHei", sans-serif; font-size: 14px; }
.breadcrumb .container { min-height: 54px; display: flex; align-items: center; gap: 9px; }
.breadcrumb a:hover { color: var(--red); }
.content-shell { padding: 42px 0 70px; }
.list-layout { display: grid; grid-template-columns: 220px 1fr; gap: 36px; }
.side-nav { align-self: start; background: #fff; border: 1px solid #dfe3e8; }
.side-nav h2 { margin: 0; padding: 21px 24px; color: #fff; background: var(--red); font-size: 21px; }
.side-nav a { display: block; padding: 15px 23px; border-bottom: 1px solid #eceff2; font-family: "Microsoft YaHei", sans-serif; transition: .2s; }
.side-nav a:hover, .side-nav a.active { color: var(--red); padding-left: 30px; background: #faf3f3; border-left: 3px solid var(--red); }
.list-panel { background: #fff; border: 1px solid #e1e5ea; padding: 8px 32px 30px; }
.search-side { overflow: hidden; border-top: 3px solid var(--red); }
.search-side h2 { position: relative; padding-bottom: 24px; }
.search-side h2::after { content: ""; position: absolute; left: 24px; bottom: 16px; width: 42px; height: 2px; background: var(--gold); }
.search-side-copy { padding: 24px 23px 28px; color: #68727e; background: linear-gradient(145deg, #fff, #f6f7f9); font-family: "Microsoft YaHei", sans-serif; }
.search-side-copy span { display: block; color: var(--gold); font: 700 10px/1.2 Georgia, serif; letter-spacing: .22em; }
.search-side-copy strong { display: block; margin-top: 10px; color: #303b47; font-size: 16px; }
.search-side-copy p { margin: 10px 0 0; font-size: 13px; line-height: 1.9; }
.search-panel { padding-top: 0; }
.search-overview { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 4px; border-bottom: 2px solid #273b50; }
.search-overview-label { color: var(--gold); font: 700 10px/1.2 Georgia, serif; letter-spacing: .18em; }
.search-overview h2 { margin: 7px 0 0; color: #263746; font-size: 24px; line-height: 1.35; }
.search-total { flex: 0 0 auto; color: #7b8490; font: 14px "Microsoft YaHei", sans-serif; }
.search-total strong { margin: 0 3px; color: var(--red); font: 700 24px Georgia, serif; }
.search-result-list { counter-reset: search-results; }
.search-result-item { counter-increment: search-results; }
.search-result-item a { position: relative; }
.search-result-item a::after { content: counter(search-results, decimal-leading-zero); position: absolute; right: 3px; bottom: 14px; color: #edf0f3; font: 700 27px Georgia, serif; letter-spacing: .04em; }
.search-result-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 5px; color: #8a929c; font: 12px "Microsoft YaHei", sans-serif; }
.search-result-meta span:first-child { color: var(--red); }
.search-result-item .article-summary { min-width: 0; padding-right: 48px; }
.search-result-item .article-summary h3 { margin-bottom: 5px; }
.search-result-item mark { padding: 0 2px; color: #9c1017; border-bottom: 2px solid #d9ae62; background: #fff2c9; font-weight: 800; }
.search-empty { margin-top: 30px; }
.article-list { margin: 0; padding: 0; list-style: none; }
.article-item a { display: grid; grid-template-columns: 78px 1fr; gap: 24px; padding: 26px 0; border-bottom: 1px solid #e5e8ec; }
.date-block { width: 70px; height: 70px; text-align: center; border: 1px solid #cfd5dc; color: #5b6571; font-family: "Microsoft YaHei", sans-serif; }
.date-block strong { display: block; color: var(--red); font: 700 28px/40px Georgia, serif; border-bottom: 1px solid #d9dde2; }
.date-block span { font-size: 12px; }
.article-summary h3 { margin: -4px 0 7px; font-size: 19px; font-weight: 700; line-height: 1.5; transition: .2s; }
.article-summary p { margin: 0; color: #727b87; font-family: "Microsoft YaHei", sans-serif; font-size: 14px; line-height: 1.8; }
.article-item a:hover h3 { color: var(--red); }
.article-item a:hover .date-block { border-color: var(--red); }
.pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 30px; font-family: "Microsoft YaHei", sans-serif; font-size: 13px; }
.pagination a, .pagination span { min-width: 34px; height: 34px; display: grid; place-items: center; padding: 0 10px; border: 1px solid #d6dbe1; background: #fff; }
.pagination a.active, .pagination a:hover { color: #fff; border-color: var(--red); background: var(--red); }
.article-panel { max-width: 960px; margin: 0 auto; padding: 48px 70px; background: #fff; border-top: 4px solid var(--red); box-shadow: 0 9px 32px rgba(32,45,58,.08); }
.detail-layout .article-panel { width: 100%; min-width: 0; max-width: none; margin: 0; }
.article-header { padding-bottom: 25px; text-align: center; border-bottom: 1px solid #e0e4e8; }
.article-header h1 { margin: 0 0 17px; font-size: 31px; line-height: 1.45; }
.article-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; color: #7b8490; font: 13px "Microsoft YaHei", sans-serif; }
.font-tools button { padding: 0 5px; border: 0; color: #69727e; cursor: pointer; background: none; }
.font-tools button:hover { color: var(--red); }
.article-body { padding: 32px 0 24px; font-size: 17px; line-height: 2.15; text-align: justify; }
.article-body p { margin: 0 0 22px; text-indent: 2em; }
.article-body img { display: block; max-width: 100% !important; height: auto !important; margin: 22px auto; }
.article-body .lead { padding: 18px 22px; color: #4a5562; border-left: 4px solid var(--gold); background: #f7f5f1; text-indent: 0; }
.article-body h2 { margin: 30px 0 14px; font-size: 21px; color: var(--red-dark); }
.article-nav { padding-top: 22px; border-top: 1px solid #e0e4e8; font-family: "Microsoft YaHei", sans-serif; font-size: 14px; }
.article-nav p { margin: 8px 0; }
.article-nav a:hover { color: var(--red); }
.single-page-panel { min-width: 0; padding: 34px 42px 46px; overflow: hidden; border: 1px solid #e1e5ea; border-top: 3px solid var(--red); background: #fff; box-shadow: 0 8px 26px rgba(32,45,58,.06); }
.single-page-title { margin-bottom: 28px; padding-bottom: 20px; text-align: center; border-bottom: 1px solid #e4e7eb; }
.single-page-title h1 { margin: 0; color: #273746; font-size: 28px; line-height: 1.5; }
.single-page-body { min-height: 320px; color: #343c45; font-size: 17px; line-height: 2.05; text-align: justify; }
.single-page-body p { margin: 0 0 20px; }
.single-page-body img { max-width: 100%; height: auto !important; display: block; margin: 22px auto; }
.single-page-body table { max-width: 100%; border-collapse: collapse; }
.single-page-body td, .single-page-body th { padding: 8px 10px; border: 1px solid #dce1e6; }
.empty-panel { height:100%;display: flex;align-items: center; justify-content: center;color: #7c8590; background: #fff;}
.empty-data { color: #8a929c; font-family: "Microsoft YaHei", sans-serif; font-size: 14px; }
.not-found { padding: 35px 0 50px; text-align: center; }
.not-found strong { display: block; color: #d8dde3; font: 800 96px/1 Georgia, serif; }
.not-found h1 { margin: 18px 0 7px; font-size: 25px; }
.not-found p { color: #737d89; }
.not-found a { display: inline-block; margin-top: 16px; padding: 8px 22px; color: #fff; background: var(--red); font-family: "Microsoft YaHei", sans-serif; }
.site-footer { color: #cbd1d8; background: #222c36; font-family: "Microsoft YaHei", sans-serif; }
.footer-main { padding: 35px 0 28px; display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; }
.footer-brand { color: #fff; font-size: 19px; font-weight: 700; margin-bottom: 8px; }
.footer-info { display: flex; flex-wrap: wrap; gap: 10px 28px; font-size: 13px; }
.footer-qrcode { width: 134px; height: 134px; display: block; overflow: hidden; border-radius: 2px; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.2); transition: transform .2s ease, box-shadow .2s ease; }
.footer-qrcode img { width: 100%; height: 100%; display: block; }
.footer-qrcode:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,.28); }
.copyright { padding: 14px 0; text-align: center; border-top: 1px solid #3b4651; color: #929ca6; font-size: 12px; }
.copyright a:hover { color: #fff; }
.back-top { position: fixed; right: 24px; bottom: 28px; z-index: 20; width: 42px; height: 42px; display: grid; place-items: center; border: 0; color: #fff; cursor: pointer; opacity: 0; pointer-events: none; background: var(--red); transition: .2s; }
.back-top.show { opacity: 1; pointer-events: auto; }

@media (max-width: 1050px) {
  .nav-list > .nav-item > a { padding: 0 7px; font-size: 14px; }
  .search { width: 250px; }
  .home-panel-head { gap: 14px; }
  .home-dual-grid { grid-template-columns: 1fr; }
  .friend-card { flex-basis: calc((100% - 48px) / 4); }
}
@media (max-width: 800px) {
  .container { width: min(100% - 28px, 1200px); }
  .topbar-tools span:not(:last-child) { display: none; }
  .masthead-inner { min-height: 104px; }
  .brand-cn { font-size: 22px; letter-spacing: .02em; }
  .brand-en, .search { display: none; }
  .mobile-menu { display: block; width: 50px; height: 50px; border: 0; color: #fff; background: transparent; }
  .nav-list { display: none; flex-direction: column; }
  .nav-list.open { display: flex; }
  .nav-list > .nav-item { flex: none; }
  .nav-list > .nav-item > a { height: 45px; justify-content: flex-start; }
  .subnav { position: static; min-width: 0; padding: 0; opacity: 1; visibility: visible; transform: none; border-top: 0; background: rgba(70,5,9,.28); box-shadow: none; }
  .subnav .nav-item > a { min-height: 42px; padding: 8px 24px 8px 38px; color: #f2dfe0; border-bottom-color: rgba(255,255,255,.08); background: transparent; }
  .subnav .subnav { position: static; }
  .subnav .subnav .nav-item > a { padding-left: 56px; }
  .subnav .nav-item > a:hover, .subnav .nav-item > a.active { color: #fff; padding-left: 43px; background: rgba(255,255,255,.1); box-shadow: inset 3px 0 0 var(--gold); }
  .nav-caret { margin-left: auto; }
  .hero { height: 390px; }
  .hero-copy-brand { top: 38px; left: 5vw; width: 56vw; }
  .hero-copy-slogan { top: 62px; left: 63vw; width: 32vw; }
  .lead-grid, .three-columns, .list-layout { grid-template-columns: 1fr; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .home-panel-head { grid-template-columns: 1fr auto; }
  .home-panel-title { grid-column: 1 / -1; }
  .home-tabbar { justify-content: flex-start; }
  .home-feature-grid { grid-template-columns: 1fr; gap: 16px; }
  .home-mini-carousel { height: 315px; min-height: 315px; }
  .about-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .side-nav { display: none; }
  .search-layout .search-side { display: block; }
  .search-side-copy { display: none; }
  .search-side h2 { padding: 16px 22px; }
  .search-side h2::after { display: none; }
  .article-panel { padding: 35px 24px; }
  .single-page-panel { padding: 30px 24px 38px; }
  .friend-row { grid-template-columns: 110px minmax(0, 1fr); gap: 18px; }
  .friend-heading { padding-right: 17px; }
  .friend-card { flex-basis: calc((100% - 32px) / 3); }
}
@media (max-width: 520px) {
  .topbar-inner { justify-content: center; }
  .topbar-inner > span { display: none; }
  .brand { gap: 10px; }
  .brand-cn { max-width: 230px; font-size: 19px; }
  .hero { height: 210px; }
  .hero-copy-brand { top: 25px; left: 4vw; width: 64vw; }
  .hero-copy-slogan { top: 43px; left: 65vw; width: 31vw; }
  .service-grid { grid-template-columns: 1fr; }
  .home-main { padding: 30px 0 40px; }
  .home-section-stack { gap: 22px; }
  .home-panel-head { padding: 14px 16px; }
  .home-tab { padding: 7px 8px; font-size: 13px; }
  .home-feature-grid { gap: 12px; }
  .home-feature-head { height: 42px; min-height: 42px; padding: 0; }
  .home-feature-head .home-tab { height: 42px; padding: 0 10px; font-size: 14px; line-height: 39px; }
  .home-feature-head .home-more { height: 42px; padding: 0 10px; }
  .home-mini-carousel { height: 265px; min-height: 265px; }
  .home-panel-featured .home-mini-caption { padding: 24px 90px 8px 12px; }
  .home-mini-caption time { display: none; }
  .home-feature-lead { height: 92px; padding-inline: 8px; }
  .home-feature-lead h3 { font-size: 16px; }
  .home-feature-list a { min-height: 40px; gap: 10px; padding: 0 8px; font-size: 13px; line-height: 40px; }
  .home-feature-list time { display: none; }
  .home-news-list { padding: 12px 17px; }
  .home-city-profile { height: auto; min-height: 335px; padding: 12px 16px 16px; }
  .home-city-profile p { margin-top: 12px; font-size: 14px; line-height: 23px; }
  .about-section { padding: 27px 20px; }
  .about-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .about-grid { grid-template-columns: 1fr; }
  .article-item a { grid-template-columns: 62px 1fr; gap: 14px; }
  .date-block { width: 58px; height: 62px; }
  .date-block strong { line-height: 34px; font-size: 24px; }
  .list-panel { padding: 6px 18px 25px; }
  .search-overview { min-height: 96px; align-items: flex-start; flex-direction: column; gap: 8px; padding: 18px 2px; }
  .search-overview h2 { font-size: 20px; word-break: break-all; }
  .search-result-item .article-summary { padding-right: 0; }
  .search-result-item a::after { display: none; }
  .article-header h1 { font-size: 25px; }
  .article-body { font-size: 16px; }
  .single-page-body { font-size: 16px; }
  .footer-main { grid-template-columns: 1fr; }
  .footer-qrcode { width: 122px; height: 122px; justify-self: center; }
  .friend-row { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; }
  .friend-heading { padding-right: 11px; }
  .friend-heading h3 { font-size: 17px; }
  .friend-arrow { width: 31px; }
  .friend-card { flex-basis: calc((100% - 16px) / 2); height: 105px; }
}

@media (prefers-reduced-motion: reduce) {
  .slide.active .hero-copy { opacity: 1; animation: none; }
}
