/* Homepage only: shared article and category layouts remain independent. */
body.home-layout-v2 { background: #f4f6fa; }
.home-layout-v2 .main-content { background: #f4f6fa; }
.home-layout-v2 .hero-section { padding: 28px 0 24px; background: transparent; }
.home-layout-v2 .hero-bg-pattern { display: none; }
.home-layout-v2 .hero-grid { grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 24px; align-items: stretch; }
.home-layout-v2 .hero-main,
.home-layout-v2 .hero-side { min-width: 0; height: 420px; border-radius: 10px; box-shadow: 0 4px 16px rgba(0,0,0,.06); }
.home-layout-v2 .hero-main { aspect-ratio: auto; background: #e7edf6; isolation: isolate; }
.home-layout-v2 .slide-item { visibility: hidden; pointer-events: none; z-index: 0; }
.home-layout-v2 .slide-item.active { visibility: visible; pointer-events: auto; z-index: 2; }
.home-layout-v2 .slide-item > a { position: relative; display: block; width: 100%; height: 100%; }
.home-layout-v2 .slide-item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-layout-v2 .slide-item[data-mode="poster"] img { object-fit: contain; }
.home-layout-v2 .slide-item[data-mode="poster"] .slide-overlay,
.home-layout-v2 .slide-item[data-mode="poster"] .slide-content { display: none; }
.home-layout-v2 .slide-overlay { z-index: 1; pointer-events: none; background: linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.25) 40%,transparent 72%); }
.home-layout-v2 .slide-content { z-index: 2; padding: 24px 28px 42px; text-shadow: 0 2px 4px rgba(0,0,0,.5); }
.home-layout-v2 .slide-tags { margin-bottom: 10px; }
.home-layout-v2 .slide-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-bottom: 8px; font-size: 23px; line-height: 1.5; color: #fff; }
.home-layout-v2 .slide-excerpt { display: block; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 14px; }
.home-layout-v2 .slider-btn { width: 36px; height: 44px; border-radius: 6px; background: rgba(0,0,0,.4); opacity: .3; transition: opacity .2s,background .2s; }
.home-layout-v2 .hero-main:hover .slider-btn,
.home-layout-v2 .hero-main:focus-within .slider-btn { opacity: .9; }
.home-layout-v2 .slider-dots { right: 24px; bottom: 8px; gap: 8px; align-items: center; }
.home-layout-v2 .slider-dots .dot { position: relative; display: block; width: 16px; height: 24px; padding: 0; border: 0; border-radius: 0; background: transparent; transition: width .3s; }
.home-layout-v2 .slider-dots .dot::before { content: ""; position: absolute; top: 10px; left: 0; right: 0; height: 4px; border-radius: 999px; background: rgba(255,255,255,.75); box-shadow: 0 1px 3px rgba(0,0,0,.3); }
.home-layout-v2 .slider-dots .dot.active { width: 34px; background: transparent; }
.home-layout-v2 .slider-dots .dot.active::before { background: linear-gradient(90deg,#d8a94d,#fff0b7); }
.home-layout-v2 .hero-side { background: #fff; }
.home-layout-v2 .hero-side-header { flex-shrink: 0; margin: 0 22px; padding: 22px 0 18px; background: #fff; border-bottom: 1px solid #e9edf3; }
.home-layout-v2 .hero-side-header h3 { color: #173d71; font-size: 20px; }
.home-layout-v2 .hero-side-header .more-link { color: #64748b; font-size: 13px; }
.home-layout-v2 .hero-side-list { display: flex; flex-direction: column; min-height: 0; margin: 0; padding: 8px 22px 12px; list-style: none; }
.home-layout-v2 .hero-side-list > li { display: flex; flex: 1; min-height: 0; }
.home-layout-v2 .hero-side-list > li + li { border-top: 1px solid #f0f2f6; }
.home-layout-v2 .side-item { align-items: center; width: 100%; min-width: 0; gap: 10px; padding: 12px 0; }
.home-layout-v2 .side-text { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.home-layout-v2 .side-title { display: block; min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #262626; font-size: 15px; font-weight: 500; line-height: 1.7; }
.home-layout-v2 .side-date { margin: 0; color: #666666; font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.home-layout-v2 .side-rank { margin: 0; background: #f1f5f9; color: #475569; }
.home-layout-v2 .side-rank-1 { background: #e8efff; color: #1d4ed8; }
.home-layout-v2 .side-rank-2 { background: #fff3d9; color: #8a5b08; }
.home-layout-v2 .side-item:hover .side-title,
.home-layout-v2 .side-item:hover .side-date { color: #1d4ed8; }
.home-layout-v2 .main-nav .nav-link.current { border-radius: 0; background: transparent; color: #ffe3a0; box-shadow: none; }
.home-layout-v2 .main-nav .nav-link.current::after { content: ""; position: absolute; left: 20px; right: 20px; bottom: 0; width: auto; height: 3px; border-radius: 3px 3px 0 0; background: #d5ad58; transform: none; opacity: 1; }
.home-layout-v2 .home-channel { padding: 0; margin: 0 0 24px; background: transparent; }
.home-layout-v2 .home-channel-card { padding: 24px 32px; border-radius: 12px; background: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.04); }
.home-layout-v2 .home-channel .news-section-header { align-items: center; margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid #e9edf3; }
.home-layout-v2 .home-channel .news-section-header::before,
.home-layout-v2 .home-channel .news-section-header::after { display: none; }
.home-layout-v2 .home-channel .news-section-title { font-size: 22px; color: #173d71; }
.home-layout-v2 .home-channel .news-section-english { margin-top: 5px; color: #64748b; font-size: 11px; letter-spacing: 1.2px; }
.home-layout-v2 .home-channel .more-link { color: #64748b; }
.home-layout-v2 .home-channel-grid { display: grid; grid-template-columns: minmax(0,.38fr) minmax(0,.62fr); gap: 32px; align-items: start; }
.home-layout-v2 .home-feature { min-width: 0; }
.home-layout-v2 .home-feature-cover { display: block; aspect-ratio: 16/9; overflow: hidden; border-radius: 8px; background: #e8edf5; }
.home-layout-v2 .home-feature-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.home-layout-v2 .home-feature-cover:hover img { transform: scale(1.03); }
.home-layout-v2 .home-feature h3 { margin: 14px 0 8px; font-size: 17px; font-weight: 500; line-height: 1.7; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-layout-v2 .home-feature h3 a { color: #1e293b; }
.home-layout-v2 .home-feature h3 a:hover { color: #1d4ed8; }
.home-layout-v2 .home-feature p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 0 0 10px; color: #64748b; font-size: 14px; line-height: 1.8; }
.home-layout-v2 .home-feature time { color: #64748b; font-size: 13px; font-variant-numeric: tabular-nums; }
.home-layout-v2 .home-channel-list { display: block; min-width: 0; margin: 0; padding: 0; list-style: none; }
.home-layout-v2 .home-channel-list > li { min-width: 0; margin: 0; padding: 0; }
.home-layout-v2 .home-channel-list > li::before,
.home-layout-v2 .home-channel-list > li::after { display: none; }
.home-layout-v2 .home-channel-list .news-item { display: grid; grid-template-columns: 30px minmax(0,1fr) 42px 16px; align-items: center; gap: 12px; min-height: 56px; padding: 12px 8px; border-bottom: 1px solid #edf0f5; border-radius: 6px; }
.home-layout-v2 .home-channel-list > li:last-child .news-item { border-bottom-color: transparent; }
.home-layout-v2 .home-channel-list .news-item:hover { background: #f8faff; }
.home-layout-v2 .home-channel-list .news-title { min-width: 0; color: #1e293b; font-weight: 500; font-size: 15px; line-height: 1.7; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transform: none; }
.home-layout-v2 .home-channel-list .news-rank { width: 30px; height: 28px; border-radius: 5px; background: #f1f5f9; color: #475569; font-size: 13px; font-weight: 600; }
.home-layout-v2 .home-channel-list > li:nth-child(1) .news-rank { background: #e8efff; color: #1d4ed8; }
.home-layout-v2 .home-channel-list > li:nth-child(2) .news-rank { background: #fff3d9; color: #8a5b08; }
.home-layout-v2 .home-channel-list .news-date,
.home-layout-v2 .home-channel-list .news-arrow { color: #64748b; font-size: 13px; font-variant-numeric: tabular-nums; }
.home-layout-v2 .home-channel-list .news-item:hover .news-title,
.home-layout-v2 .home-channel-list .news-item:hover .news-date,
.home-layout-v2 .home-channel-list .news-item:hover .news-arrow,
.home-layout-v2 .home-channel .more-link:hover { color: #1d4ed8; transform: none; }
.home-layout-v2 a:focus-visible,
.home-layout-v2 button:focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; }
@media (max-width: 960px) {
  .home-layout-v2 .hero-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .home-layout-v2 .hero-main { height: auto; aspect-ratio: 16/9; }
  .home-layout-v2 .hero-side { height: auto; }
  .home-layout-v2 .hero-side-list > li { flex: none; }
  .home-layout-v2 .side-item { min-height: 56px; }
  .home-layout-v2 .home-channel-grid { gap: 24px; }
}
@media (max-width: 640px) {
  .home-layout-v2 .hero-section { padding-top: 16px; }
  .home-layout-v2 .hero-grid { gap: 16px; }
  .home-layout-v2 .home-channel-card { padding: 20px 16px; }
  .home-layout-v2 .home-channel-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .home-layout-v2 .home-channel .news-section-title { font-size: 20px; }
  .home-layout-v2 .home-channel .news-section-title-wrap { gap: 10px; }
  .home-layout-v2 .home-channel .news-section-icon { width: 34px; height: 34px; }
  .home-layout-v2 .home-channel .news-section-english { font-size: 9px; letter-spacing: .5px; }
  .home-layout-v2 .home-channel .more-link { font-size: 12px; flex-shrink: 0; }
  .home-layout-v2 .home-channel-list .news-item { gap: 8px; padding-inline: 0; }
  .home-layout-v2 .hero-side-header { margin-inline: 16px; padding-top: 18px; }
  .home-layout-v2 .hero-side-list { padding-inline: 16px; }
  .home-layout-v2 .slide-content { padding: 16px 20px 36px; }
  .home-layout-v2 .slide-title { font-size: 18px; margin-bottom: 0; }
  .home-layout-v2 .slide-excerpt,
  .home-layout-v2 .slide-tags { display: none; }
  .home-layout-v2 .slider-btn { width: 28px; height: 36px; font-size: 24px; }
  .home-layout-v2 .slider-dots { right: 16px; bottom: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-layout-v2 .slide-item,
  .home-layout-v2 .slider-btn,
  .home-layout-v2 .slider-dots .dot,
  .home-layout-v2 .home-feature-cover img { transition: none; }
}
