[hidden] { display: none !important; }
.news-feature-stack { min-width: 0; }
.news-feature-link { display: block; width: 100%; height: 341px; overflow: hidden; }
.news-feature-link .news-feature { width: 100%; height: 100%; object-fit: cover; }
.news-list { min-width: 0; }
.news-item:hover h3 { color: var(--orange); }
.news-more { display: inline-block; margin: 18px 0 0; color: var(--orange); font-size: 16px; }
.info-page { padding-top: 32px; padding-bottom: 90px; min-height: 55vh; }
.info-page .breadcrumb { margin-bottom: 45px; }
.info-page .section-heading h1 { position: relative; z-index: 1; display: inline-block; background: #fff; padding: 0 44px; font-size: clamp(30px, 4vw, 46px); margin: 0 0 8px; line-height: 1.35; }
.info-categories { display: flex; flex-wrap: wrap; gap: 10px; border-bottom: 1px solid var(--line); padding: 12px 0 20px; }
.info-categories a, .home-news .news-tabs button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; border: 1px solid var(--line); border-radius: 20px; padding: 7px 18px; color: #444; font-size: 14px; font-weight: 400; line-height: 22px; }
.info-categories a.active, .info-categories a:hover, .home-news .news-tabs button.active, .home-news .news-tabs button:hover { background: var(--orange); color: #fff; border-color: var(--orange); }
.home-news .news-tabs { gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
/* Keep reference typography inside the site's shared responsive container. */
.info-list, .home-news .news-list { width: 100%; margin: 18px 0 0; font-family: "微软雅黑", "Microsoft YaHei", sans-serif; font-size: 12px; font-weight: 400; color: #666; }
.home-news .news-list { gap: 0; margin-top: 0; }
.home-news .news-more { font-size: 14px; line-height: 22px; }
.info-list-item, .home-news .news-item { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 30px; align-items: start; box-sizing: content-box; height: 75px; padding: 20px; border-bottom: 1px dotted #ccc; overflow: hidden; }
.info-list-item:hover, .home-news .news-item:hover { background: #f9f9f9; }
.info-list-thumb { display: block; width: 100px; height: 75px; overflow: hidden; }
.info-list-thumb img { width: 100%; height: 100%; object-fit: cover; }
.info-list-date, .home-news .news-date { display: block; width: 100px; height: 75px; padding: 10px 0; background: #fff4eb; text-align: center; color: var(--orange); }
.info-list-day, .home-news .news-date strong { font-weight: 400; display: block; height: 34px; font-size: 24px; line-height: 34px; }
.info-list-month, .home-news .news-date span { display: block; height: 21px; font-size: 12px; line-height: 21px; }
.info-list-item:hover .info-list-date, .home-news .news-item:hover .news-date { background: var(--orange); color: #fff; }
.info-list-copy, .home-news .news-item > div:last-child { min-width: 0; max-height: 75px; overflow: hidden; }
.info-list-item h2, .home-news .news-item h3 { margin: 0; padding: 0; font-size: 14px; font-weight: 400; line-height: 24px; }
.info-list-item h2 a, .home-news .news-item h3 { display: block; height: 24px; line-height: 24px; color: #333; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.info-list-item h2 a:hover, .home-news .news-item:hover h3 { color: var(--orange); }
.info-list-item p, .home-news .news-item p { margin: 0; padding-top: 5px; color: #999; font-size: 12px; font-weight: 400; line-height: 22px; }
.info-back a:hover { color: var(--orange); }
.info-empty { padding: 50px 0; color: #777; }
.info-pagination { display: flex; justify-content: center; gap: 25px; margin-top: 35px; }
.info-pagination a { color: var(--orange); }
.info-pagination span { color: #777; }
.info-detail { font-family: "微软雅黑", "Microsoft YaHei", sans-serif; font-size: 14px; font-weight: 400; line-height: 28px; color: #555; }
.info-detail-header, .info-content { width: 100%; margin-inline: 0; }
.info-detail-header { text-align: center; padding: 10px 0 0; }
.info-detail-header::after { content: ""; display: block; height: 0; margin: 7px 0; border-top: 1px dotted #aaa; }
.info-detail-header h1 { font-size: 18px; font-weight: 700; color: #555; line-height: 40px; margin: 0; padding: 10px 0; }
.info-detail-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 16px; color: #999; font-size: 12px; font-weight: 400; line-height: 20px; }
.info-detail-header time { color: inherit; }
.info-content { padding: 0 0 10px; font-size: 14px; line-height: 28px; color: #555; overflow-wrap: anywhere; }
.info-content p { margin: 14px 0; }
.info-content :where(p,span,div,li,font) { font-size: inherit !important; line-height: inherit !important; }
.info-content img { display: inline-block; max-width: 100%; height: auto; margin: 0; vertical-align: baseline; }
.info-neighbors { display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); padding-top: 25px; }
.info-neighbors a:hover { color: var(--orange); }
.info-back { margin-top: 35px; color: var(--orange); }
.info-news .public-pagination { justify-content: center; gap: 8px; margin-top: 32px; font-size: 14px; line-height: 22px; }
.info-news .public-pagination a, .info-news .public-pagination .current, .info-news .public-pagination .disabled { min-width: 36px; height: 36px; padding-inline: 11px; }
.info-news .public-pagination :is(select, input, button) { height: 36px; font-family: inherit; font-size: 14px; line-height: 22px; }
.info-news .page-size-form label, .info-news .page-jump-form label { display: inline-flex; align-items: center; gap: 6px; }
.company-page .section-heading { margin-bottom: 56px; }
.company-page h2 { margin: 0 0 20px; font-size: clamp(25px, 3vw, 34px); }
.company-page p { line-height: 1.85; }
.eyebrow { color: var(--orange); font-size: 14px; font-weight: 700; letter-spacing: .16em; }
.company-intro { display: grid; grid-template-columns: minmax(0, 1fr) 46%; align-items: center; gap: 64px; padding: 10px 0 75px; }
.company-intro p:not(.eyebrow) { color: #565656; font-size: 17px; }
.company-intro img { width: 100%; height: 380px; object-fit: cover; border-radius: 10px; }
.company-intro .pill-button { display: inline-block; margin-top: 18px; }
.company-services { padding: 35px 0 10px; border-top: 1px solid var(--line); }
.company-services > h2, .policy-process > h2 { text-align: center; margin-bottom: 35px; }
.company-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.company-card-grid article { border: 1px solid #ededed; border-radius: 10px; overflow: hidden; box-shadow: 0 8px 24px #0000000a; padding-bottom: 25px; }
.company-card-grid img { width: 100%; height: 220px; object-fit: cover; }
.company-card-grid h3, .company-card-grid p, .company-card-grid a { margin-left: 24px; margin-right: 24px; }
.company-card-grid h3 { font-size: 22px; margin-top: 23px; margin-bottom: 8px; }
.company-card-grid p { color: #666; min-height: 66px; }
.company-card-grid a, .contact-next a { color: var(--orange); font-weight: 600; }
.contact-lead { text-align: center; margin-bottom: 43px; }
.contact-lead p:last-child { color: #666; }
.contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.contact-grid section { min-height: 265px; border: 1px solid #ececec; border-radius: 10px; padding: 28px; background: #fff; }
.contact-icon { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #fff2e9; color: var(--orange); font-size: 24px; }
.contact-grid h2 { margin: 20px 0 15px; font-size: 24px; }
.contact-grid p { color: #666; margin: 12px 0 3px; }
.contact-grid a { color: var(--orange); font-size: 19px; font-weight: 600; overflow-wrap: anywhere; }
.contact-next { background: #fff7f1; border-radius: 10px; padding: 32px 38px; margin-top: 52px; }
.contact-next h2 { font-size: 25px; margin-bottom: 4px; }
.contact-next p { margin: 0 0 12px; color: #666; }
.policy-intro { max-width: 840px; margin: 0 auto 58px; text-align: center; color: #555; font-size: 17px; }
.policy-process ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.policy-process li { display: flex; gap: 20px; border: 1px solid #ececec; border-radius: 10px; padding: 27px; }
.policy-process li > span { color: var(--orange); font-size: 34px; font-weight: 700; line-height: 1; }
.policy-process h3 { margin: 0 0 8px; font-size: 22px; }
.policy-process p { margin: 0; color: #666; }
.policy-support { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 35px 0; margin-top: 60px; border-top: 1px solid var(--line); }
.policy-support p { margin: 0; color: #666; max-width: 790px; }
.policy-support .pill-button { flex: none; }
.footer-links .container { min-height: 58px; justify-content: center; gap: clamp(18px, 3vw, 55px); font-size: 16px; font-weight: 500; letter-spacing: .02em; }
.footer-links a { display: inline-flex; align-items: center; min-height: 58px; color: #fff; transition: opacity .2s ease; }
.footer-links a:hover, .footer-links a:focus-visible { opacity: .78; text-decoration: underline; text-underline-offset: 5px; }
.footer-bottom .container { font-size: 13px; letter-spacing: .01em; }
.footer-slogan { font-size: 24px; letter-spacing: 2px; }
@media (max-width: 950px) {
  .company-intro { gap: 30px; }
  .company-card-grid img { height: 170px; }
  .contact-grid { gap: 12px; }
  .contact-grid section { padding: 20px; }
}
@media (max-width: 700px) {
  .news-feature-link { height: auto; aspect-ratio: 553 / 341; }
  .info-page { padding-top: 20px; padding-bottom: 55px; }
  .info-page .breadcrumb { margin-bottom: 25px; }
  .info-list-item, .home-news .news-item { gap: 15px; padding-inline: 0; }
  .info-categories { gap: 8px; }
  .info-categories a, .home-news .news-tabs button { min-height: 36px; padding: 6px 13px; }
  .info-news .public-pagination { gap: 6px; }
  .info-detail-meta { gap: 0 12px; }
  .info-neighbors { flex-direction: column; gap: 15px; }
  .info-page .section-heading h1 { padding: 0 18px; }
  .company-page .section-heading { margin-bottom: 35px; }
  .company-intro, .company-card-grid, .contact-grid, .policy-process ol { grid-template-columns: 1fr; }
  .company-intro { gap: 25px; padding-bottom: 45px; }
  .company-intro img { height: 240px; }
  .company-card-grid img { height: 190px; }
  .company-card-grid p { min-height: 0; }
  .contact-grid section { min-height: 0; }
  .contact-next { padding: 25px; margin-top: 30px; }
  .policy-intro { margin-bottom: 35px; }
  .policy-support { display: block; margin-top: 35px; }
  .policy-support .pill-button { display: inline-block; margin-top: 22px; }
  .footer-links .container { gap: 3px 18px; padding: 10px 0; font-size: 14px; }
  .footer-links a { min-height: 32px; }
  .footer-bottom .container { font-size: 11px; }
  .footer-slogan { font-size: 13px; letter-spacing: 1px; }
}
