/* ==========================================================================
   JETCO /beta : 자료실 · 뉴스룸  (prefix: nw-)
   list  : /board/news/index  최신 소식(피처) · 키네틱 타이포 · 카드 그리드 · 자료실 바로가기
   detail: /board/news/read   기사 헤더 · 커버 · 본문(블록 단위 등장) · 이전/다음 · 다른 소식
   색: site.css 토큰만 사용 (밝은 영역 강조 = 인디고 --signal, 옐로우는 어두운 영역/채움에만)
   ========================================================================== */

/* 모노 서체 안의 한글(총 N건, 카테고리명 등)이 시스템 고정폭으로 떨어지지 않도록 Pretendard 를 먼저 대체 */
.nw-lead, .nw-board, .nw-read, .nw-related, .nw-explore {
    --font-mono: "JetBrains Mono", "Pretendard Variable", Pretendard, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.nw-rule { margin-bottom: 32px; }

/* ---------- 키네틱 아웃라인 타이포 (스크롤에 따라 가로 이동: data-scrub-x) ---------- */
.nw-kinetic {
    position: absolute; left: 0; right: 0; top: clamp(44px, 7.4vw, 118px); z-index: 0;
    overflow: hidden; white-space: nowrap; pointer-events: none; user-select: none;
}
.nw-kinetic span {
    display: inline-block; padding-left: 6vw;
    font-size: clamp(84px, 14vw, 228px); font-weight: 800; line-height: 1; letter-spacing: -0.06em;
    color: transparent; -webkit-text-stroke: 1.5px rgba(var(--signal-rgb), .13);
}
.nw-board > .c-container, .nw-related > .c-container { position: relative; z-index: 1; }

/* ---------- 미디어 공통 (피처 · 카드) ---------- */
.nw-media { position: relative; overflow: hidden; background: var(--paper-2); }
/* 이미지 없음: JETCO 심볼 + 격자 (단색 면 3종을 번갈아) */
.nw-ph {
    position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden;
    background:
        linear-gradient(rgba(255, 255, 255, .55) 1px, transparent 1px) -1px -1px / 40px 40px,
        linear-gradient(90deg, rgba(255, 255, 255, .55) 1px, transparent 1px) -1px -1px / 40px 40px,
        var(--paper-3);
}
.nw-ph img { width: 64px; height: 64px; opacity: .4; filter: grayscale(1); mix-blend-mode: multiply; }
.nw-ph--v1 {
    background:
        linear-gradient(var(--night-line) 1px, transparent 1px) -1px -1px / 40px 40px,
        linear-gradient(90deg, var(--night-line) 1px, transparent 1px) -1px -1px / 40px 40px,
        var(--brand);
}
.nw-ph--v2 {
    background:
        linear-gradient(var(--night-line) 1px, transparent 1px) -1px -1px / 40px 40px,
        linear-gradient(90deg, var(--night-line) 1px, transparent 1px) -1px -1px / 40px 40px,
        var(--night);
}
/* 어두운 면: 심볼의 밝은 결만 떠오르도록 screen 합성 */
.nw-ph--v1 img, .nw-ph--v2 img { filter: grayscale(1) contrast(1.1); opacity: .5; mix-blend-mode: screen; }
.nw-ph--lg { background-size: 64px 64px, 64px 64px, auto; }
.nw-ph--lg img { width: 112px; height: 112px; }
/* 이미지 로드 실패(site.js 가 .c-ph 로 교체) -> 같은 심볼 플레이스홀더 */
.nw-media .c-ph { background: var(--paper-2); }
.nw-media .c-ph::before { content: none; }
.nw-media .c-ph::after { content: ""; width: 64px; height: 64px; background: url("/img/jetco-symbol.svg") center / contain no-repeat; opacity: .3; filter: grayscale(1); }

/* ---------- 최신 소식 (피처) ---------- */
.nw-lead { position: relative; padding-top: clamp(56px, 7vw, 104px); }
.nw-feature {
    position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: stretch;
    gap: clamp(28px, 4.6vw, 76px);
}
.nw-feature__media { aspect-ratio: 4 / 3; margin: 0; border-radius: var(--r-lg); background: var(--night); }
/* 패럴랙스 레이어: 프레임보다 위아래로 크게 두고 GSAP 이 yPercent 로 이동 */
.nw-par { position: absolute; left: 0; right: 0; top: -8%; bottom: -8%; display: block; }
/* 호버 확대는 별도 래퍼(.nw-zoom)에: 등장 연출(img scale)과 지연 시간이 섞이지 않게 */
.nw-zoom { position: absolute; inset: 0; display: block; transition: transform 1.4s var(--ease); }
.nw-zoom > img { width: 100%; height: 100%; object-fit: cover; }
.nw-feature:hover .nw-zoom { transform: scale(1.045); }
.nw-feature__media::after { /* 하단 인디고 바: 호버 시 왼쪽부터 채워짐 */
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 4px;
    background: var(--signal); transform: scaleX(0); transform-origin: 0 50%; transition: transform .9s var(--ease);
}
.nw-feature:hover .nw-feature__media::after { transform: scaleX(1); }

.nw-feature__body { display: flex; flex-direction: column; gap: 22px; min-width: 0; padding: 4px 0 2px; }
/* 날짜를 큰 외곽선 숫자로: 호버하면 잉크로 채워진다 */
.nw-feature__top {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 12px 20px; margin-bottom: auto;
    padding-bottom: 22px; border-bottom: 1px solid var(--line-2);
}
.nw-feature__date { display: flex; flex-direction: column; gap: 10px; }
.nw-feature__date b {
    font-family: var(--font-mono); font-size: clamp(56px, 6.2vw, 104px); font-weight: 500; line-height: .86; letter-spacing: -0.06em;
    font-variant-numeric: tabular-nums; color: transparent; -webkit-text-stroke: 1.2px var(--ink-3);
    transition: color .7s var(--ease), -webkit-text-stroke-color .7s var(--ease);
}
.nw-feature__date i { font-style: normal; font-family: var(--font-mono); font-size: 13px; letter-spacing: .14em; color: var(--muted); }
.nw-feature:hover .nw-feature__date b { color: var(--ink); -webkit-text-stroke-color: var(--ink); }
.nw-feature__badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.nw-feature__title {
    padding-top: 28px;
    font-size: clamp(28px, 3.1vw, 50px); line-height: 1.2; letter-spacing: -0.042em; font-weight: 720; text-wrap: balance;
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.nw-feature__excerpt {
    font-size: clamp(16px, 1.2vw, 17.5px); line-height: 1.8; color: var(--ink-3); text-wrap: pretty;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.nw-feature__foot { display: flex; align-items: center; gap: 18px; padding-top: 22px; border-top: 1px solid var(--line-2); }
.nw-feature__more {
    order: 2; font-size: 15.5px; font-weight: 650; padding-bottom: 3px;
    background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat;
    transition: background-size .7s var(--ease);
}
.nw-feature:hover .nw-feature__more { background-size: 100% 1.5px; }
.nw-feature .c-arrow { width: 56px; height: 56px; }

/* ---------- 목록 머리: 건수 + 검색 ---------- */
/* 위 여백에 키네틱 타이포가 지나가고, 검색창과는 겹치지 않게 */
.nw-board { position: relative; padding-top: clamp(112px, 12.4vw, 196px); }
.nw-board > .nw-kinetic { top: clamp(0px, 1.4vw, 22px); }
.nw-toolbar {
    display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px 40px;
    padding-bottom: 20px; margin-bottom: clamp(40px, 5vw, 72px);
    border-bottom: 1.5px solid var(--ink);
}
.nw-toolbar__info { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 10px 18px; min-width: 0; }
.nw-total { display: flex; align-items: baseline; gap: 10px; margin: 0; }
.nw-total strong {
    font-size: clamp(52px, 5.4vw, 88px); font-weight: 720; line-height: .86; letter-spacing: -0.05em;
    font-variant-numeric: tabular-nums; color: var(--ink);
}
.nw-total span { font-size: 15px; font-weight: 600; color: var(--muted); }
.nw-toolbar__q { padding-bottom: 4px; font-size: 16px; font-weight: 650; color: var(--ink); }
.nw-toolbar__reset {
    display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px 0 10px; border-radius: var(--r-pill);
    background: var(--ink); color: var(--paper); font-size: 13px; font-weight: 600;
    transition: background .3s var(--ease), color .3s var(--ease);
}
.nw-toolbar__reset:hover { background: var(--signal); color: var(--on-signal); }
.nw-toolbar__reset svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.nw-search { width: min(360px, 100%); }
.nw-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
/* 데스크톱: 검색창 밑줄과 툴바 하단 룰이 평행한 이중선이 되지 않도록 검색창이 룰 위에 바로 앉는다 */
@media (min-width: 761px) {
    .nw-toolbar { padding-bottom: 0; }
    .nw-toolbar__info { padding-bottom: 16px; }
    .nw-search { border-bottom: 0; }
    .nw-search::after { bottom: -1.5px; }
}
/* 검색어 강조: 테이프 옐로우 형광펜 (잉크 글자 위 채움) */
.nw-mark { background: linear-gradient(transparent 58%, rgba(255, 210, 31, .7) 58%); color: inherit; padding: 0 1px; }

/* ---------- 카드 그리드 ---------- */
.nw-grid { row-gap: clamp(28px, 3.2vw, 48px); }
.nw-card__media { aspect-ratio: 16 / 11; }
.nw-card__media::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 3px;
    background: var(--signal); transform: scaleX(0); transform-origin: 0 50%; transition: transform .8s var(--ease);
}
a.nw-card:hover .nw-card__media::after { transform: scaleX(1); }
a.nw-card:hover .nw-zoom { transform: scale(1.06); }
a.nw-card:hover .nw-media img { transform: none; }   /* site.css 기본 카드 이미지 확대와 겹치지 않게 */
.nw-card .c-card__body { gap: 12px; padding: 24px 26px 26px; }
.nw-card .c-card__meta time { letter-spacing: .04em; }
.nw-card .c-card__title { font-size: clamp(18px, 1.35vw, 20px); min-height: 2.84em; text-wrap: pretty; }
.nw-card .c-card__excerpt { -webkit-line-clamp: 2; text-wrap: pretty; }
.nw-card .c-card__foot { padding-top: 18px; border-top: 1px solid var(--line); margin-top: auto; }
.nw-card__read { font-size: 14px; font-weight: 600; color: var(--muted); transition: color .35s var(--ease), transform .6s var(--ease); }
.nw-card__arrow { width: 40px; height: 40px; }
.nw-card__arrow svg { width: 16px; height: 16px; }
a.nw-card:hover .nw-card__read { color: var(--signal); transform: translateX(4px); }

/* 빈 칸 채움 타일: 마지막 페이지/다른 소식이 3의 배수가 아닐 때 다음 동선으로 */
.nw-fill {
    position: relative; isolation: isolate; overflow: hidden; display: none;
    flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 14px; min-height: 340px;
    padding: 30px 30px 32px; border-radius: var(--r-lg);
    background: var(--paper-2); box-shadow: inset 0 0 0 1px var(--line-2);
    transition: background .5s var(--ease), box-shadow .5s var(--ease);
}
.nw-fill::before { content: ""; position: absolute; left: 30px; right: 30px; top: 30px; height: 1.5px; background: var(--ink); transform-origin: 0 50%; transition: transform 1s var(--ease); }
.nw-fill__mark { position: absolute; right: -54px; top: -40px; z-index: -1; width: 240px; height: 240px; opacity: .07; filter: grayscale(1); transition: transform 1.4s var(--ease), opacity .6s; }
.nw-fill__icon { position: absolute; left: 30px; top: 52px; width: 44px; height: 44px; fill: none; stroke: var(--signal); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nw-fill__label { font-size: 11px; letter-spacing: .16em; color: var(--muted); }
.nw-fill__title { font-size: clamp(19px, 1.5vw, 22px); font-weight: 680; line-height: 1.45; letter-spacing: -0.03em; color: var(--ink); }
.nw-fill__link { font-size: 15px; }
.nw-fill:hover { background: var(--white); box-shadow: inset 0 0 0 1px var(--ink); }
.nw-fill:hover .nw-fill__mark { transform: rotate(-18deg) scale(1.08); opacity: .11; }
.nw-fill:hover .c-link { background-size: 100% 1px; }
.nw-fill:hover .c-link svg { transform: translateX(4px); }
.nw-fill--c1 { display: flex; grid-column: span 1; }
.nw-fill--c2 { display: flex; grid-column: span 2; }
.nw-fill--c2 .nw-fill__mark { width: 340px; height: 340px; right: -60px; top: -70px; }

/* 빈 상태 */
.nw-empty p:not(.c-empty__title) { max-width: 420px; }
.nw-empty .c-btn { margin-top: 10px; }
.nw-empty__icon, .nw-404__icon { width: 52px; height: 52px; fill: none; stroke: var(--signal); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- 자료실 바로가기 ---------- */
.nw-explore__title { margin-bottom: clamp(28px, 4vw, 52px); }
.nw-explore__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1.5px solid var(--ink); border-bottom: 1px solid var(--line-2); }
.nw-explore__list > li + li { border-left: 1px solid var(--line-2); }
.nw-explore__link {
    position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end;
    row-gap: 10px; column-gap: 16px; height: 100%; padding: 30px 26px 32px;
}
.nw-explore__link::before {
    content: ""; position: absolute; inset: 0; z-index: -1; background: var(--white);
    transform: scaleY(0); transform-origin: 50% 100%; transition: transform .6s var(--ease);
}
.nw-explore__link:hover::before { transform: scaleY(1); }
.nw-explore__icon {
    grid-column: 1; width: 44px; height: 44px; margin-bottom: 26px;
    fill: none; stroke: var(--signal); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
    transition: transform .7s var(--ease);
}
.nw-explore__link:hover .nw-explore__icon { transform: translateY(-4px); }
.nw-explore__num { grid-column: 2; grid-row: 1; align-self: start; font-size: 12px; letter-spacing: .1em; color: var(--muted); }
.nw-explore__link strong { grid-column: 1; font-size: clamp(22px, 2vw, 28px); font-weight: 700; letter-spacing: -0.035em; line-height: 1.25; }
.nw-explore__link em { grid-column: 1; font-size: 15px; color: var(--muted); }
.nw-explore__link .c-arrow { grid-column: 2; grid-row: 2 / 4; align-self: end; }

/* ==========================================================================
   Detail
   ========================================================================== */
.nw-read { padding-top: clamp(48px, 6vw, 88px); }
.nw-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 900px; margin: 0 auto clamp(36px, 5vw, 64px); }
.nw-back { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; font-size: 14px; font-weight: 600; color: var(--ink-3); transition: color .3s; }
.nw-back svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .5s var(--ease); }
.nw-back:hover { color: var(--ink); }
.nw-back:hover svg { transform: translateX(-4px); }
.nw-share {
    display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: var(--r-pill);
    box-shadow: inset 0 0 0 1px var(--line-2); font-size: 13.5px; font-weight: 600; white-space: nowrap;
    transition: background .35s var(--ease), color .35s var(--ease), box-shadow .35s;
}
.nw-share svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nw-share:hover { background: var(--ink); color: var(--paper); box-shadow: inset 0 0 0 1px var(--ink); }
.nw-share.is-done { background: var(--signal); color: var(--on-signal); box-shadow: inset 0 0 0 1px var(--signal); }

/* 기사 헤더: 하단 룰이 왼쪽부터 그려진다 */
.nw-article__head { position: relative; border-bottom: 0; }
.nw-article .c-article__title { text-wrap: balance; }
.nw-article .c-article__meta b { font-family: var(--font-sans); font-weight: 600; letter-spacing: 0; }
.nw-headrule { position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px; background: var(--ink); }

.nw-cover { position: relative; }
.nw-cover img { width: 100%; height: auto; }
.nw-video { margin-bottom: 48px; border-radius: var(--r-lg); overflow: hidden; background: var(--night); }
.nw-video video { width: 100%; height: auto; }

/* 레거시 에디터 인라인 스타일 정리 */
.nw-prose :not(pre):not(code) { font-family: inherit !important; }
.nw-prose p, .nw-prose span, .nw-prose font, .nw-prose div, .nw-prose li { font-size: inherit !important; line-height: inherit !important; }
.nw-prose p, .nw-prose div { text-align: left !important; }
.nw-prose [style*="background"] { background: transparent !important; }
.nw-prose img { margin: .4em 0; }

.nw-links a { gap: 14px; }
.nw-links__url { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--font-mono); font-size: 14px; }
.nw-attach-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 6px; padding: 0 6px; border-radius: var(--r-pill); background: var(--ink); color: var(--paper); font-size: 11px; letter-spacing: 0; }
.nw-attach-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nw-attach-size { flex: none; font-size: 12px; color: var(--muted); }

/* 이전 · 다음 */
.nw-postnav strong { font-size: 16.5px; }
.nw-postnav a, .nw-postnav > span { padding: 30px 18px; }
.nw-postnav small { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-sans); font-size: 13px; font-weight: 600; letter-spacing: 0; transition: color .3s; }
.nw-postnav small svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .5s var(--ease); }
.nw-postnav a:hover small { color: var(--signal); }
.nw-postnav a:hover small .nw-dir--prev { transform: translateX(-4px); }
.nw-postnav a:hover small .nw-dir--next { transform: translateX(4px); }
.nw-icon-grid { width: 16px; height: 16px; }
.c-btn:hover .nw-icon-grid { transform: none; }

/* 다른 소식 */
.nw-related { position: relative; }
.nw-related .nw-kinetic { top: clamp(40px, 6vw, 96px); }
.nw-related .nw-kinetic span { -webkit-text-stroke-color: rgba(var(--signal-rgb), .1); }

/* 404 */
.nw-404 { position: relative; max-width: 900px; margin: 0 auto; }
.nw-404__code {
    display: block; margin-bottom: -.32em; text-align: center; pointer-events: none;
    font-size: clamp(120px, 22vw, 280px); font-weight: 800; line-height: 1; letter-spacing: -0.07em;
    color: transparent; -webkit-text-stroke: 1.5px var(--line-2);
}
.nw-404__box { position: relative; background-color: var(--paper); }
.nw-404__box p { text-wrap: balance; }
.nw-404__box .c-btn { margin-top: 12px; }
.nw-404__recent { margin-top: clamp(48px, 6vw, 80px); }
.nw-404__recent .c-rule { margin-bottom: 8px; }
.nw-404__list { border-bottom: 1px solid var(--line-2); }
.nw-404__list li + li { border-top: 1px solid var(--line); }
.nw-404__list a {
    display: grid; grid-template-columns: 112px minmax(0, 1fr) 20px; align-items: center; gap: 20px;
    min-height: 64px; padding: 14px 6px; transition: background .4s var(--ease), padding .5s var(--ease);
}
.nw-404__list time { font-size: 12.5px; letter-spacing: .06em; color: var(--muted); }
.nw-404__tt { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16.5px; font-weight: 600; letter-spacing: -0.02em; }
.nw-404__list svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .5s var(--ease), color .3s; }
.nw-404__list a:hover { background: var(--white); padding-left: 14px; padding-right: 14px; }
.nw-404__list a:hover svg { color: var(--signal); transform: translateX(4px); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .nw-feature { grid-template-columns: 1fr; gap: 32px; }
    .nw-feature__media { aspect-ratio: 16 / 10; }
    .nw-feature__top { margin-bottom: 0; }
    .nw-feature__date b { font-size: clamp(44px, 9vw, 72px); }
    .nw-feature__title { padding-top: 0; -webkit-line-clamp: 3; }
    .nw-explore__list { grid-template-columns: 1fr; }
    .nw-explore__list > li + li { border-left: 0; border-top: 1px solid var(--line-2); }
    .nw-explore__link { grid-template-columns: 44px minmax(0, 1fr) auto; column-gap: 20px; align-items: center; padding: 24px 6px 26px; }
    .nw-explore__icon { grid-row: 1 / 3; margin-bottom: 0; }
    .nw-explore__num { display: none; }
    .nw-explore__link strong { grid-column: 2; grid-row: 1; }
    .nw-explore__link em { grid-column: 2; grid-row: 2; }
    .nw-explore__link .c-arrow { grid-column: 3; grid-row: 1 / 3; align-self: center; }
    /* 2열 그리드: 빈 칸 계산을 2열 기준으로 */
    .nw-fill { display: none; }
    .nw-fill--t1 { display: flex; grid-column: span 1; }
}
@media (max-width: 760px) {
    .nw-kinetic span { font-size: clamp(72px, 24vw, 120px); }
    .nw-board { padding-top: 128px; }
    .nw-board > .nw-kinetic { top: 26px; }
    /* 세로 배치에서는 검색창 밑줄이 툴바의 하단 룰 역할: 이중선 제거 */
    .nw-toolbar { flex-direction: column; align-items: stretch; gap: 18px; padding-bottom: 0; border-bottom: 0; }
    .nw-search { width: 100%; }
    .nw-feature__media { aspect-ratio: 4 / 3.2; border-radius: var(--r); }
    .nw-feature .c-arrow { width: 48px; height: 48px; }
    .nw-card .c-card__title { min-height: 0; }
    .nw-card .c-card__body { padding: 20px 20px 22px; }
    .nw-fill--t1 { display: none; }   /* 1열: 빈 칸 없음 */
    .nw-toolbar__reset { height: 40px; padding: 0 16px 0 14px; }
    .nw-explore__link { grid-template-columns: 36px minmax(0, 1fr) auto; column-gap: 16px; }
    .nw-explore__icon { width: 36px; height: 36px; }
    .nw-explore__link strong { font-size: 20px; }
    .nw-explore__link em { font-size: 14px; }

    .nw-bar { margin-bottom: 28px; }
    /* 텍스트 링크의 터치 영역만 40px 이상으로 확장 (밑줄 위치는 그대로) */
    .nw-related .c-sechead .c-link { position: relative; }
    .nw-related .c-sechead .c-link::before { content: ""; position: absolute; inset: -11px -6px; }
    .nw-404__list a { grid-template-columns: minmax(0, 1fr) 18px; row-gap: 4px; column-gap: 12px; padding: 16px 2px; }
    .nw-404__list time { grid-column: 1; }
    .nw-404__tt { grid-column: 1; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 16px; }
    .nw-404__list svg { grid-column: 2; grid-row: 1 / 3; }
    .nw-postnav a, .nw-postnav > span { padding: 22px 6px; }
}
@media (prefers-reduced-motion: reduce) {
    .nw-par { top: 0; bottom: 0; }
}
