/* ============================================================
   LIMPID · Newsroom (뉴스룸)
   newsroom.html 전용. 공용 프리미티브는 base.css,
   헤더·CTA·푸터는 home.css 를 그대로 빌려 쓴다.
   레이아웃은 integratedbio.com/newsroom 을 그대로 따른다:
   연회색 바탕 + 흰/다크 카드, 칩·날짜 / 제목 / 라벨·화살표 버튼.
   ============================================================ */

/* 페이지 전체가 연회색 바탕. 카드가 흰색으로 떠 보인다 */
.nr-page { background: var(--paper-soft); }

/* ============ 공용 조각 : 칩 · 날짜 · 하단 라벨/버튼 ============ */

/* 분류 칩 : 공용 심볼 마커(mark-dot, base.css) + 라벨.
   마커를 여기서 새로 만들지 않는다 - CLAUDE.md 공용 UI 규칙 */
.nr-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  --mark-size: 8px;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .05em;
  color: var(--ink);
  background: var(--paper-soft);
  border-radius: var(--r-xs);
  padding: 5px 10px;
}

.nr-date {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--ink-4);
  font-variant-numeric: tabular-nums;
}

.nr-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

/* 하단 : 라벨(좌) + 화살표 버튼(우) */
.nr-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
}
.nr-foot__label {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .1em;
  color: var(--ink-3);
}
.nr-foot__btn {
  display: grid;
  place-items: center;
  width: 44px;
  height: 34px;
  border-radius: 10px;
  background: var(--brand-tint);
  color: var(--brand);
  transition: background var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              transform var(--dur) var(--ease-out);
}

/* 제목 옆의 작은 건수 */
.nr-total {
  font-size: .44em;
  font-weight: 600;
  color: var(--brand);
  vertical-align: super;
  margin-left: 8px;
  font-variant-numeric: tabular-nums;
}

/* ============ 히어로 ============
   왼쪽 큰 제목 + 오른쪽 아래 태그라인.
   등장은 factory 와 같은 1회 연출 : 글자 차오름 -> 리드 -> 선 긋기 -> 앵커 */
.nr-hero {
  padding-block: clamp(150px, 20vh, 220px) clamp(28px, 3.6vh, 52px);
}
.nr-hero__grid {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
}
.nr-hero__title {
  font-size: clamp(3.2rem, 8.6vw, 8.25rem);
  font-weight: 640;
  line-height: .96;
  letter-spacing: -.04em;
  color: var(--ink);
  /* 차오르는 글자를 자르는 마스크. 위·아래 여유는 어센더·디센더 몫 */
  overflow: hidden;
  padding-top: .06em;
  padding-bottom: .1em;
  margin-bottom: -.1em;
}
/* newsroom.js 가 글자를 <i> 로 분리하면 한 글자씩 차오른다 */
.nr-hero__title i {
  display: inline-block;
  font-style: normal;
  transform: translateY(125%);
  animation: nr-rise .8s var(--ease-out) forwards;
}
@keyframes nr-rise { to { transform: none; } }

.nr-hero__lede {
  padding-bottom: .6em;
  font-size: var(--fs-lede);
  line-height: 1.7;
  color: var(--ink-2);
  text-align: left;
}
.nr-hero__line {
  display: block;
  opacity: 0;
  transform: translateY(14px);
  animation: nr-fade .7s var(--ease-out) forwards;
}
.nr-hero__line:nth-child(1) { animation-delay: .38s; }
.nr-hero__line:nth-child(2) { animation-delay: .5s; }
@keyframes nr-fade { to { opacity: 1; transform: none; } }

/* 하단 : 선 긋기 + 페이지 구성 앵커 */
.nr-hero__foot { margin-top: clamp(28px, 4vh, 48px); }
.nr-hero__rule {
  height: 1px;
  border: 0;
  background: var(--line-strong);
  transform: scaleX(0);
  transform-origin: left;
  animation: nr-draw .9s var(--ease-out) .55s forwards;
}
@keyframes nr-draw { to { transform: none; } }

.nr-hero__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 16px;
}
.nr-hero__steps { display: flex; gap: clamp(18px, 3vw, 40px); }
.nr-hero__step {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink-2);
  opacity: 0;
  transform: translateY(10px);
  animation: nr-fade .6s var(--ease-out) forwards;
  padding-bottom: 3px;
  background: linear-gradient(currentColor, currentColor) left bottom / 0% 1px no-repeat;
  transition: color var(--dur-fast) var(--ease),
              background-size var(--dur) var(--ease-out);
}
.nr-hero__step:nth-child(1) { animation-delay: .75s; }
.nr-hero__step:nth-child(2) { animation-delay: .84s; }
.nr-hero__step:hover { color: var(--brand); background-size: 100% 1px; }
.nr-hero__step .idx { transition: color var(--dur-fast) var(--ease); }
.nr-hero__step:hover .idx { color: var(--brand); }
.nr-hero__place {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--ink-4);
  opacity: 0;
  animation: nr-fade .6s var(--ease-out) 1s forwards;
}

/* 모션 최소화 설정에서는 연출 없이 바로 최종 상태 */
@media (prefers-reduced-motion: reduce) {
  .nr-hero__title i,
  .nr-hero__line,
  .nr-hero__rule,
  .nr-hero__step,
  .nr-hero__place { animation-delay: 0s !important; }
}

/* ============ 대표 소식 ============
   흰 카드. 이미지(좌)는 카드 패딩 안쪽에 들어가 모서리가 둥글다 */
.nr-featured { padding-bottom: clamp(48px, 6vw, 88px); }

.nr-feat {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 56px);
  background: var(--paper);
  border-radius: var(--r-lg);
  padding: clamp(16px, 1.6vw, 24px);
  box-shadow: var(--shadow-card);
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease-out);
}
.nr-feat:hover { box-shadow: var(--shadow-lift); transform: translateY(-3px); }

.nr-feat__media {
  min-height: clamp(280px, 30vw, 420px);
  border: 0;
  border-radius: var(--r-md);
}
/* 실제 이미지로 교체된 슬롯 : 칸을 꽉 채우고 넘치는 부분은 자른다 */
img.nr-feat__media {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nr-feat__body {
  display: flex;
  flex-direction: column;
  padding: clamp(8px, 1vw, 16px) clamp(8px, 1.4vw, 24px) clamp(8px, 1vw, 16px) 0;
}

.nr-feat__mid { flex: 1; padding-block: clamp(20px, 2.6vw, 40px); }

.nr-feat__title {
  font-size: clamp(1.4rem, 2.1vw, 2.05rem);
  font-weight: 700;
  line-height: 1.38;
  letter-spacing: var(--ls-tight);
  color: var(--ink);
  transition: color var(--dur-fast) var(--ease);
}
.nr-feat:hover .nr-feat__title { color: var(--brand); }

.nr-feat__sum {
  margin-top: 16px;
  max-width: 48ch;
  font-size: var(--fs-sm);
  line-height: 1.78;
  color: var(--ink-3);
}

.nr-feat:hover .nr-foot__btn,
.nr-card:hover .nr-foot__btn {
  background: var(--brand);
  color: #fff;
  transform: translateX(3px);
}

/* ============ News ============ */
.nr-archive { padding-top: 0; }

.nr-archive__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: clamp(28px, 3.4vw, 44px);
}

/* 필터 탭 : 작은 알약 */
.nr-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.nr-tab {
  height: 38px;
  padding-inline: 16px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line-strong);
  background: var(--paper);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .03em;
  color: var(--ink-2);
  transition: background var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.nr-tab:hover { border-color: var(--ink); color: var(--ink); }
.nr-tab.is-on {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}

/* 텍스트 카드 그리드 : 이미지 없이 칩·날짜 / 제목 / 하단 */
/* reference 실측 : 1440 기준 칸 사이 20px */
.nr-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

/* 카드 상단 기사 사진. 사진 없는 건은 심볼 자리표시 */
.nr-card__media {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: var(--r-sm);
  margin-bottom: 18px;
}
.nr-card__media--mark {
  display: grid;
  place-items: center;
  background: var(--paper-soft);
}
.nr-card--soft .nr-card__media--mark { background: var(--paper); }
.nr-card--deep .nr-card__media--mark { background: rgba(255, 255, 255, .08); }
.nr-card__media--mark::after {
  content: '';
  width: 26px;
  height: 26px;
  background: var(--ink-4);
  -webkit-mask: var(--mark-url) center / contain no-repeat;
          mask: var(--mark-url) center / contain no-repeat;
}

.nr-card {
  display: flex;
  flex-direction: column;
  min-height: clamp(240px, 21vw, 302px);
  background: var(--paper);
  border-radius: var(--r-md);
  padding: clamp(18px, 1.8vw, 26px);
  box-shadow: var(--shadow-card);
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease-out);
}
.nr-card:hover { box-shadow: var(--shadow-lift); transform: translateY(-3px); }

.nr-card__title {
  flex: 1;
  padding-block: clamp(18px, 2vw, 28px);
  font-size: var(--fs-h4);
  font-weight: 650;
  line-height: 1.52;
  letter-spacing: -.02em;
  color: var(--ink);
  transition: color var(--dur-fast) var(--ease);
}
.nr-card:hover .nr-card__title { color: var(--brand); }

/* 카드 3색 : reference 처럼 흰색 / 연한 블루 / 어두운 블루가 섞인다.
   색은 전부 디자인 토큰 - paper, paper-tint, brand-deep */

/* 연회색 카드 : 바탕과 같은 색이지만 그림자로 한 겹 떠 보인다 */
.nr-card--soft { background: var(--paper-soft); }
.nr-card--soft .nr-chip { background: var(--paper); }
.nr-card--soft .nr-foot__btn { background: var(--paper); }

/* 어두운 블루 카드 */
.nr-card--deep { background: var(--brand-deep); }
.nr-card--deep .nr-card__title { color: #fff; }
.nr-card--deep .nr-chip { background: rgba(255, 255, 255, .13); color: #fff; }
.nr-card--deep .nr-date { color: rgba(255, 255, 255, .55); }
.nr-card--deep .nr-foot__label { color: rgba(255, 255, 255, .55); }
.nr-card--deep .nr-foot__btn { background: rgba(255, 255, 255, .14); color: #fff; }
.nr-card--deep:hover .nr-card__title { color: var(--paper-tint); }
.nr-card--deep:hover .nr-foot__btn { background: var(--brand-bright); color: #fff; }

/* 필터로 숨긴 카드 */
.nr-card.is-hidden { display: none; }

.nr-empty {
  padding: clamp(48px, 6vw, 80px) 0;
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--ink-4);
}

/* 더 보기 : 가운데 알약 버튼. 숨은 카드가 없으면 JS 가 감춘다 */
.nr-more { margin-top: clamp(28px, 3.4vw, 44px); text-align: center; }
.nr-more__btn {
  height: 44px;
  padding-inline: 22px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line-strong);
  background: var(--paper);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .06em;
  color: var(--ink-2);
  transition: background var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.nr-more__btn:hover { border-color: var(--ink); background: var(--ink); color: #fff; }

/* ============ Publications ============
   왼쪽 고정 제목 + 오른쪽 행 리스트 */
.nr-pubs { padding-top: clamp(56px, 7vw, 104px); }

.nr-pubs__inner {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(32px, 4vw, 72px);
  align-items: start;
}
.nr-pubs__side { position: sticky; top: 120px; }

.nr-pubs__all {
  display: inline-flex;
  align-items: center;
  margin-top: 22px;
  height: 44px;
  padding-inline: 20px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line-strong);
  background: var(--paper);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .06em;
  color: var(--ink-2);
  transition: background var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.nr-pubs__all:hover { border-color: var(--ink); background: var(--ink); color: #fff; }

.nr-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding-block: clamp(20px, 2.4vw, 30px);
  border-top: 1px solid var(--line);
}
.nr-row:first-child { border-top: 0; padding-top: 0; }

.nr-row__title {
  max-width: 52ch;
  font-size: var(--fs-h4);
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: -.02em;
  color: var(--ink);
  transition: color var(--dur-fast) var(--ease);
}
.nr-row:hover .nr-row__title { color: var(--brand); }

.nr-row__meta {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--ink-4);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.nr-row__arrow {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--brand-tint);
  color: var(--brand);
  transition: background var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              transform var(--dur) var(--ease-out);
}
.nr-row:hover .nr-row__arrow {
  background: var(--brand);
  color: #fff;
  transform: translate(2px, -2px);
}

/* ============================================================
   게시물 상세 (newsroom-post.html)
   reference 의 c-hero-post / c-wysiwyg / c-posts-grid 구조.
   왼쪽 사이드(뒤로가기·작성자·공유) + 오른쪽 본문의 2열 그리드
   ============================================================ */

.np-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(32px, 4vw, 72px);
  align-items: start;
}

/* ---- 게시물 머리 ---- */
.np-hero { padding-block: clamp(150px, 20vh, 220px) clamp(36px, 4.5vw, 64px); }

.np-back {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 44px;
  padding-inline: 20px;
  border-radius: var(--r-pill);
  border: 1px solid var(--line-strong);
  background: var(--paper);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--ink-2);
  transition: background var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.np-back:hover { border-color: var(--ink); background: var(--ink); color: #fff; }
.np-back svg { transition: transform var(--dur) var(--ease-out); }
.np-back:hover svg { transform: translateX(-3px); }

.np-meta {
  display: flex;
  align-items: center;
  gap: 16px;
}
.np-title {
  margin-top: 22px;
  font-size: clamp(1.7rem, 3.2vw, 3.1rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: var(--ls-tight);
  color: var(--ink);
  text-wrap: balance;
}

/* ---- 본문 ---- */
.np-body { padding-bottom: clamp(56px, 7vw, 104px); }

.np-side { position: sticky; top: 120px; }
.np-hero .np-side { position: static; }

.np-author { padding-block: 4px 20px; border-bottom: 1px solid var(--line); }
.np-author__name { font-weight: 700; color: var(--ink); }
.np-author__role {
  margin-top: 2px;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink-4);
}

.np-share { margin-top: 20px; }
.np-share__label {
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.np-share__btns { margin-top: 12px; display: flex; gap: 8px; }
.np-share__btn {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--line-strong);
  background: var(--paper);
  color: var(--ink-2);
  transition: background var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.np-share__btn:hover { border-color: var(--brand); background: var(--brand); color: #fff; }
.np-share__btn.is-copied { border-color: var(--brand); background: var(--brand-tint); color: var(--brand); }

/* 기사 사진 : 본문 맨 위. 자르지 않고 원본 비율 그대로 */
.np-figure { margin-bottom: clamp(28px, 3.4vw, 44px); }
.np-figure img {
  width: 100%;
  height: auto;
  border-radius: var(--r-md);
}

/* 본문 문단 */
.np-content { max-width: 760px; }

/* 부제 묶음 : 제목 아래 요약 줄들. 브랜드색 선으로 본문과 구분 */
.np-content__deck {
  padding-left: 18px;
  border-left: 2px solid var(--brand);
  font-weight: 600;
  color: var(--ink);
  line-height: 1.8;
}
.np-content p {
  font-size: var(--fs-lede);
  line-height: 1.9;
  color: var(--ink-2);
}
.np-content > p + p { margin-top: 1.4em; }

/* ---- 관련 소식 ---- */
.np-related { padding-top: 0; }

/* ============ 반응형 ============ */
@media (max-width: 1024px) {
  .np-grid { grid-template-columns: 1fr; gap: 24px; }
  .np-side { position: static; }

  /* 모바일 : 작성자·공유가 본문 위에 가로로 붙는다 */
  .np-body .np-side {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
  }
  .np-author { border-bottom: 0; padding-bottom: 0; }
  .np-share { margin-top: 0; }

  .nr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .nr-feat { grid-template-columns: 1fr; }
  .nr-feat__media { min-height: 0; aspect-ratio: 16 / 9; }
  .nr-feat__body { padding: 8px 8px 12px; }

  .nr-pubs__inner { grid-template-columns: 1fr; }
  .nr-pubs__side { position: static; }
}

@media (max-width: 768px) {
  .nr-hero { padding-block: 130px 40px; }
  .nr-hero__grid {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .nr-hero__lede { padding-bottom: 0; }
  .nr-hero__lede br { display: none; }

  /* reference 모바일 : 제목과 탭이 같은 줄에 남는다 */
  .nr-archive__head { flex-wrap: wrap; align-items: center; gap: 16px; }

  .nr-grid { grid-template-columns: 1fr; }
  .nr-card { min-height: 200px; }

  /* reference 모바일 : 날짜·화살표가 제목 아래 줄로 내려간다 */
  .nr-row { grid-template-columns: 1fr; gap: 10px; }
  .nr-row__title { max-width: none; }
  .nr-row__meta { justify-content: space-between; }
  .nr-row__arrow { width: 32px; height: 32px; }
}

/* ============================================================
   영문 뉴스룸 : 이미지 없는 타이포 판 (.nr-noimg)
   ------------------------------------------------------------
   기사 대표 이미지가 한글이 인쇄된 PR 카드라 영문 독자에게는
   읽히지 않는다. 그래서 영문 뉴스룸(en/newsroom.html,
   en/newsroom-post.html)만 사진을 걷어내고 활자와 여백으로
   위계를 만든다.

   ※ 이 파일은 국문 뉴스룸도 함께 쓴다. 국문 렌더가 바뀌지 않도록
     - 위쪽 기존 규칙은 한 줄도 고치지 않았고
     - 아래는 전부 body.nr-noimg 안에서만 적용되는 새 규칙이다.
     nr-noimg 는 en/newsroom*.html 의 body 에만 붙어 있다.
   토큰도 새로 만들지 않고 ink / line / r-md 계열만 쓴다.
   ============================================================ */

/* ---- 대표 소식 : 왼쪽 큰 제목 + 오른쪽 메타·요약·버튼 ---- */
.nr-noimg .nr-feat {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(28px, 4vw, 80px);
  padding: clamp(28px, 3.2vw, 56px);
  border: 1px solid var(--line);
}

.nr-noimg .nr-feat__lead {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* 라벨 : 심볼은 오른쪽 칩이 이미 달고 있어 여기서는 bare 로 쓴다 */
.nr-noimg .nr-feat__kicker {
  margin-bottom: clamp(18px, 2vw, 26px);
  padding-bottom: clamp(16px, 1.8vw, 22px);
  border-bottom: 1px solid var(--line);
  align-self: stretch;
}

.nr-noimg .nr-feat__title {
  font-size: clamp(1.55rem, 2.9vw, 2.75rem);
  line-height: 1.26;
  letter-spacing: var(--ls-display);
  text-wrap: balance;
}

/* 오른쪽 칸 : 칩·날짜(위) / 요약(가운데) / 자세히 보기(아래) */
.nr-noimg .nr-feat__body { padding: 0; }
.nr-noimg .nr-feat__mid { padding-block: clamp(18px, 2.2vw, 28px); }
.nr-noimg .nr-feat__sum {
  margin-top: 0;
  max-width: 42ch;
  font-size: var(--fs-body);
}
.nr-noimg .nr-feat .nr-foot {
  padding-top: clamp(16px, 1.8vw, 22px);
  border-top: 1px solid var(--line);
}

/* ---- 카드 그리드 : 칩·날짜 / 가는 선 / 제목 / 자세히 보기 ---- */
.nr-noimg .nr-card {
  min-height: clamp(212px, 17.5vw, 258px);
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid var(--line);
}
.nr-noimg .nr-card__title {
  margin-top: clamp(14px, 1.5vw, 18px);
  padding-block: clamp(14px, 1.5vw, 18px) clamp(18px, 2vw, 26px);
  border-top: 1px solid var(--line);
  font-size: clamp(1.0625rem, 1.32vw, 1.2rem);
  line-height: 1.45;
}

/* ---- 게시물 상세 : 사진이 없으니 제목과 본문을 가는 선으로 나눈다 ---- */
.nr-noimg .np-body .np-grid {
  padding-top: clamp(28px, 3.4vw, 48px);
  border-top: 1px solid var(--line);
}
.nr-noimg .np-content__deck { font-size: var(--fs-lede); }

@media (max-width: 1024px) {
  /* 한 칸으로 접히면 제목과 오른쪽 묶음 사이에도 선을 넣어 마디를 만든다 */
  .nr-noimg .nr-feat { grid-template-columns: 1fr; gap: clamp(20px, 3vw, 28px); }
  .nr-noimg .nr-feat__body {
    padding-top: clamp(18px, 2.4vw, 24px);
    border-top: 1px solid var(--line);
  }
  .nr-noimg .nr-feat__sum { max-width: 60ch; }
}

@media (max-width: 768px) {
  .nr-noimg .nr-feat { padding: 24px 20px; }
  .nr-noimg .nr-card { min-height: 0; }
}
