@charset "UTF-8";
/* Isolated public news components; legacy admin styles are unchanged. */
.news-cms [hidden] { display:none; }
.news-hero { min-height:280px; display:flex; align-items:center; background-color:#edf4ff; background-size:cover; background-position:center; border-bottom:1px solid #dfE8f6; }
.news-hero .container { padding-block:54px; }
.news-hero h1 { margin:16px 0; font-size:clamp(32px,4vw,46px); }
.news-hero p:last-child { color:#607795; }
.news-cms { --news-blue:#2468f2; --news-ink:#0f172a; --news-muted:#64748b; min-width:0; }
.news-list-shell { padding-block:48px 76px; }
.news-controls { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; scroll-margin-top:120px; }
.news-tabs { display:flex; flex-wrap:wrap; gap:10px; }
.news-tab { display:inline-flex; align-items:center; gap:10px; border:1px solid #dce5f3; border-radius:24px; padding:10px 20px; color:#53627a; background:#fff; font-weight:600; }
.news-tab span { font-size:12px; opacity:.7; }
.news-tab.is-active { background:var(--news-blue); border-color:var(--news-blue); color:#fff; box-shadow:0 6px 20px #2468f22b; }
.news-search { display:flex; width:min(100%,320px); border:1px solid #dce5f3; border-radius:9px; background:#fff; overflow:hidden; }
.news-search:focus-within { outline:2px solid #87b3ff; outline-offset:2px; }
.news-search input { width:100%; min-width:0; border:0; outline:0; padding:11px 14px; background:transparent; }
.news-search button { flex-shrink:0; border:0; border-left:1px solid #e4eaf3; background:#f5f8fd; color:var(--news-blue); padding:8px 16px; }
.news-result-count { color:#8794a8; font-size:13px; margin:22px 0 16px; }
.news-featured { display:grid; grid-template-columns:1.15fr .85fr; border:1px solid #e1e8f2; border-radius:16px; overflow:hidden; background:#f7faff; margin-bottom:20px; transition:transform .2s,box-shadow .2s; }
.news-featured:hover { transform:translateY(-3px); box-shadow:0 16px 40px #233d7010; }
.news-card-media { min-width:0; overflow:hidden; background:#eef4fc; }
.news-card-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.news-featured>.news-card-media { min-height:280px; }
.news-featured .news-card-copy { padding:32px 36px; align-self:center; min-width:0; }
.news-card-copy h2 { font-size:25px; margin:16px 0; }
.news-card-copy h3 { font-size:20px; margin:8px 0 12px; }
.news-featured:hover h2,.news-row:hover h3 { color:var(--news-blue); }
.news-meta { display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-size:12px; color:#7b8ca5; }
.news-tag { color:var(--news-blue); background:#eaf1ff; border-radius:5px; padding:2px 9px; font-weight:500; }
.news-summary { color:var(--news-muted); font-size:14px; line-height:1.9; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.news-more { display:block; margin-top:20px; color:var(--news-blue); font-size:13px; font-weight:600; }
.news-row { display:grid; grid-template-columns:88px 168px minmax(0,1fr); align-items:center; gap:22px; padding:24px 0; border-bottom:1px solid #e6ecf4; }
.news-row .news-card-media { height:114px; border-radius:9px; }
.news-date-block { display:flex; flex-direction:column; align-items:center; border-right:1px solid #e1e8f2; color:#92a8c8; line-height:1.5; }
.news-date-block strong { font-size:36px; font-weight:400; }
.news-date-block span { font-size:12px; }
.news-row .news-meta time { display:none; }
.news-row .news-more { margin-top:8px; }
.news-row .news-summary { -webkit-line-clamp:2; }
.news-pagination-controls { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; align-items:center; padding-top:32px; }
.news-button { border:1px solid #dce5f3; background:#fff; color:#536b8c; border-radius:8px; min-height:40px; padding:8px 18px; }
.news-button:hover:not(:disabled) { border-color:var(--news-blue); color:var(--news-blue); background:#f2f6ff; }
.news-button:disabled { color:#a4afbf; background:#f5f7fb; }
.news-page-number { min-width:64px; text-align:center; color:#536b8c; font-size:14px; }
.news-page-size { font-size:13px; color:var(--news-muted); margin-left:14px; }
.news-page-size select { border:1px solid #dce5f3; border-radius:8px; background:#fff; padding:10px; color:#536b8c; }
.news-status,.news-empty { padding:56px 24px; background:#f7faff; border:1px solid #e1e8f2; border-radius:14px; text-align:center; color:var(--news-muted); }
.news-status .news-button { margin-top:18px; }
.news-skeleton { width:min(700px,100%); height:180px; margin:28px auto 0; background:linear-gradient(100deg,#e8eef7,#f6f9fd,#e8eef7); background-size:200% 100%; border-radius:12px; animation:news-loading 1.5s linear infinite; }
@keyframes news-loading { to { background-position:-200% 0; } }
.news-detail-shell { width:min(1120px,calc(100% - 64px)); margin:auto; padding:40px 0 76px; }
.news-back { color:var(--news-blue); font-size:14px; display:inline-flex; margin-bottom:28px; }
.news-article-header { padding-bottom:28px; }
.news-article-header h1 { font-size:clamp(26px,3vw,36px); margin:18px 0 24px; overflow-wrap:anywhere; }
.news-intro { padding:20px 24px; color:#60728d; background:#f5f8fd; border-left:3px solid #a4c4ff; border-radius:0 8px 8px 0; line-height:1.95; }
.news-article-cover { display:block; width:100%; max-height:480px; object-fit:contain; background:#f3f7fd; border-radius:14px; margin:0 auto 30px; }
.news-highlights { padding:24px 28px; margin:30px 0; background:#eef5ff; border:1px solid #dfeaff; border-radius:12px; }
.news-highlights h2 { font-size:18px; margin-bottom:12px; }
.news-highlights ul { padding-left:20px; list-style:disc; color:#536b8c; }
.news-highlights li+li { margin-top:8px; }
.news-body { font-size:16px; line-height:2; color:#334155; overflow-wrap:anywhere; }
.news-body p { margin:1em 0; }
.news-body h1,.news-body h2,.news-body h3,.news-body h4 { margin:1.4em 0 .7em; }
.news-body h1,.news-body h2 { font-size:24px; }
.news-body h3 { font-size:20px; }
.news-body a { color:var(--news-blue); text-decoration:underline; }
.news-body ul,.news-body ol { padding-left:28px; margin:1em 0; }
.news-body ul { list-style:disc; }.news-body ol { list-style:decimal; }
.news-body blockquote { margin:24px 0; padding:14px 24px; border-left:3px solid #aac7f7; background:#f7faff; color:#60728d; }
.news-body img { display:block; max-width:100%; height:auto; margin:20px auto; }
.news-body table { display:block; max-width:100%; overflow:auto; border-collapse:collapse; margin:24px 0; }
.news-body td,.news-body th { border:1px solid #dce5f3; padding:10px 14px; min-width:80px; }
.news-body pre { overflow:auto; padding:18px; background:#f5f8fc; white-space:pre-wrap; }
.news-gallery { max-width:760px; margin:28px auto; }
.news-gallery-viewport { background:#f6f9fd; border:1px solid #e4ebf5; border-radius:12px; overflow:hidden; }
.news-gallery .news-gallery-viewport img { width:100%; max-height:min(62vh,420px); height:auto; object-fit:contain; margin:0 auto; }
.news-gallery-controls { display:flex; justify-content:center; align-items:center; gap:20px; padding-top:14px; font-size:13px; }
.news-source { border-top:1px solid #e2e8f2; padding-top:22px; margin-top:36px; font-size:13px; color:#8794a8; }
.news-related { margin-top:54px; padding-top:30px; border-top:1px solid #e2e8f2; }
.news-related>h2 { font-size:24px; margin-bottom:24px; }
.news-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.news-related .news-featured { display:flex; flex-direction:column; margin:0; background:white; }
.news-related .news-card-media { min-height:0; height:170px; width:100%; }
.news-related .news-card-copy { padding:20px; width:100%; }
.news-related .news-card-copy h2 { font-size:18px; }
.news-related .news-summary { -webkit-line-clamp:2; }
.news-home-panel { display:grid; grid-template-columns:1.2fr .8fr; border:1px solid #e1e8f2; border-radius:16px; overflow:hidden; background:white; }
.news-home-slider { min-width:0; height:420px; position:relative; overflow:hidden; background:#edf4ff; }
.news-home-slide { display:block; position:absolute; inset:0; }
.news-home-slide>img { width:100%; height:100%; object-fit:cover; }
.news-home-slide:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 18%,#102647d9); }
.news-home-slide-copy { position:absolute; bottom:50px; left:30px; right:30px; z-index:1; }
.news-home-slide-copy h3 { font-size:25px; color:white; margin-top:16px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.news-home-slide-copy .news-meta { color:#d6e3f6; }
.news-home-slide-copy .news-tag { background:#ffffff26; color:#fff; }
.news-home-dots { position:absolute; left:30px; right:30px; bottom:18px; display:flex; justify-content:center; gap:4px; z-index:2; }
.news-home-dot { background:transparent; border:0; width:30px; height:24px; padding:8px 3px; }
.news-home-dot:after { content:""; display:block; border-radius:4px; height:3px; background:#ffffff73; }
.news-home-dot[aria-pressed=true]:after { background:#fff; }
.news-home-arrow { position:absolute; top:43%; z-index:2; width:36px; height:48px; border:1px solid #ffffff40; border-radius:7px; background:#132e526b; color:white; font-size:28px; opacity:0; transition:opacity .2s; }
.news-home-prev { left:12px; }.news-home-next { right:12px; }
.news-home-slider:hover .news-home-arrow,.news-home-slider:focus-within .news-home-arrow { opacity:1; }
.news-home-list { min-width:0; display:flex; flex-direction:column; }
.news-home-item { display:block; flex:1; padding:15px 24px; border-bottom:1px solid #e9eef6; border-left:3px solid transparent; min-height:0; }
.news-home-item:last-child { border-bottom:0; }
.news-home-item.is-active { background:#f0f5ff; border-left-color:var(--news-blue); }
.news-home-item h3 { font-size:16px; margin:6px 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.news-home-item p { color:#8491a5; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.news-home-pause { display:block; margin:10px 0 0 auto; padding:4px 8px; font-size:12px; border:0; background:transparent; color:#788aa5; }
.news-image-unavailable { min-height:90px; color:#7185a1; font-size:13px; }
@media(max-width:900px) {
  .news-featured { grid-template-columns:1fr; }.news-featured>.news-card-media { min-height:0; height:300px; }
  .news-row { grid-template-columns:120px minmax(0,1fr); gap:18px; }.news-date-block { display:none; }.news-row .news-meta time { display:inline; }
  .news-card-copy h3 { font-size:18px; }.news-controls { align-items:stretch; }.news-search { width:100%; }
  .news-home-panel { grid-template-columns:1fr; }.news-home-slider { height:380px; }.news-home-item { padding:18px 24px; }
  .news-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.news-related .news-card-media { height:170px; }
}
@media(max-width:560px) {
  .news-hero { min-height:230px; }.news-list-shell { padding-block:30px 48px; }.news-hero .container { padding-block:36px; }
  .news-tabs { gap:8px; }.news-tab { padding:8px 13px; font-size:13px; gap:6px; }.news-row { grid-template-columns:1fr; gap:14px; padding-block:22px; }
  .news-row .news-card-media { height:auto; aspect-ratio:16/9; }.news-featured>.news-card-media { height:auto; aspect-ratio:16/9; }
  .news-featured .news-card-copy { padding:22px; }.news-card-copy h2 { font-size:21px; }.news-row .news-more { margin-top:12px; }
  .news-pagination-controls { gap:8px; }.news-page-size { width:100%; margin:8px 0 0; text-align:center; }
  .news-detail-shell { width:calc(100% - 36px); padding-top:28px; }.news-intro,.news-highlights { padding:18px; }.news-article-header h1 { font-size:26px; }
  .news-related-grid { grid-template-columns:1fr; }.news-related .news-card-media { height:auto; aspect-ratio:16/9; }
  .news-home-slider { height:310px; }.news-home-slide-copy { left:22px; right:22px; }.news-home-slide-copy h3 { font-size:22px; }
  .news-home-item { padding:16px 18px; }.news-home-arrow { opacity:1; }.news-gallery-controls { gap:10px; }.news-gallery-controls .news-button { padding:7px 12px; }
}
@media(prefers-reduced-motion:reduce) { .news-skeleton { animation:none; }.news-featured,.news-card-media img { transition:none; } }
