/* 글 화면(column-*.html 칼럼·저서, news-*.html 소식·사례·보도, notice-*.html 지원사업 공고) — tools/page_article.py가 만든다.
   맨 위는 다른 상세페이지와 같은 phead, 아래는 왼쪽 글 정보(따라옴) + 오른쪽 본문 한 단, 끝에 이전·다음 글과 목록으로.
   견본: 11-11 news-view·news-notice-view(사용자 확인) — 그 모양을 그대로 쓰고 글 종류별 부품만 더했다. */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.out{display:inline-block;width:10px;height:10px;margin-left:6px;vertical-align:1px;opacity:.7}
.nv .phead .t{font-size:clamp(34px,3.8vw,54px);line-height:1.28}
.nv .phead .w{padding-bottom:clamp(48px,5vw,72px);border-bottom:1px solid var(--line)}
.nv .phead .l2{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--gold-d)}
.nv-body{padding-top:clamp(56px,6vw,88px)}
.nv-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(40px,6vw,96px)}
.nv-side{position:sticky;top:120px;align-self:start}
.nv-side dl{display:grid;grid-template-columns:64px 1fr;gap:12px 12px;font-size:16px;line-height:1.6;color:var(--ink)}
.nv-side dt{font:600 13.5px/1.9 var(--sans);letter-spacing:-.01em;color:var(--muted)}
.nv-share{display:flex;gap:18px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.nv-share button,.nv-share a{border:0;background:none;padding:0;font:600 14px var(--sans);letter-spacing:-.01em;color:var(--navy);cursor:pointer}
.nv-share button:hover,.nv-share a:hover{color:var(--gold-d)}
/* 사진과 본문 */
.nv-art{max-width:760px}
.nv-fig{overflow:hidden;background:var(--ivory2)}
.nv-fig img{width:100%;height:auto}
.nv-art .cap{margin-top:14px;font:400 13.5px/1.6 var(--sans);letter-spacing:-.01em;color:var(--muted)}
.nv-txt{margin-top:44px}
.nv-txt p{font-size:18px;line-height:2;color:var(--ink);letter-spacing:-.04em}
.nv-txt p+p{margin-top:1.2em}
/* 지원사업 안내: 남은 기간 · 한눈에 보기 */
.nv-due{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.nv-due .k{display:block;font:600 13.5px var(--sans);letter-spacing:-.01em;color:var(--muted)}
.nv-due .pd{display:block;margin-top:8px;font:400 26px/1.2 var(--lat);color:var(--navy);letter-spacing:.005em}
.nv-due .lf{display:block;margin-top:8px;font:600 15px var(--serif);letter-spacing:-.03em;color:var(--navy)}
.nv-due .lf.last{color:var(--gold-d)}.nv-due .lf.closed{color:var(--muted)}
.nv-act{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:32px}
.nv-h{font-size:clamp(24px,2.1vw,30px);font-weight:700;letter-spacing:-.055em;color:var(--navy);line-height:1.3}
.nv-h+.nv-glance,.nv-h+.nv-txt{margin-top:22px}
.nv-glance{border-top:1px solid var(--navy)}
.nv-glance>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:24px;padding:24px 0 23px;border-bottom:1px solid var(--line)}
.nv-glance dt{font-size:17px;font-weight:700;color:var(--navy);letter-spacing:-.05em;line-height:1.7}
.nv-glance dd p{font-size:18px;line-height:1.75;color:var(--ink);letter-spacing:-.045em}
.nv-glance dd b{font-weight:700;color:var(--navy)}
.nv-glance dd small{display:block;margin-top:6px;font-size:15.5px;line-height:1.75;color:var(--body)}
.nv-glance a{border-bottom:1px solid rgba(0,22,75,.3);color:var(--navy)}
.nv-glance+.nv-h{margin-top:64px}
.nv-art .nv-txt:first-child{margin-top:0}
.nv-src{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font:400 13.5px/1.7 var(--sans);letter-spacing:-.01em;color:var(--muted)}
/* 이전·다음 글 */
.nv-pn{display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(72px,8vw,120px);border-top:1px solid var(--navy);border-bottom:1px solid var(--line)}
.nv-pn>*{min-width:0}
.nv-pn a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 24px;padding:28px 0 26px;transition:color .2s}
.nv-pn>:nth-child(2){padding-left:40px;border-left:1px solid var(--line)}
.nv-pn .k{grid-row:span 2;font:600 13.5px/2 var(--sans);letter-spacing:-.01em;color:var(--muted)}
.nv-pn .tt{font-size:18px;line-height:1.5;font-weight:500;letter-spacing:-.05em;color:var(--ink)}
.nv-pn .d{font:400 14px var(--sans);color:var(--muted)}
.nv-pn a:hover .tt{color:var(--gold-d)}
.nv-back{margin-top:44px;display:flex;justify-content:center}
@media (max-width:900px){
  .nv .phead .t{font-size:clamp(28px,7.6vw,34px)}
  .nv-body{padding-top:40px}
  .nv-grid{grid-template-columns:1fr;gap:36px}
  .nv-side{position:static;display:flex;flex-direction:column}
  .nv-side dl{grid-template-columns:56px 1fr;font-size:15px}
  .nv-share{margin-top:22px}
  .nv-fig{margin:0 -24px}
  .nv-txt{margin-top:34px}.nv-txt p{font-size:16.5px;line-height:1.95}
  .nv-due .pd{font-size:24px}
  .nv-act{flex-direction:row;flex-wrap:wrap;margin-top:24px}.nv-act .btn{flex:1 1 auto;justify-content:center}
  .nv-glance>div{grid-template-columns:1fr;gap:6px;padding:20px 0}
  .nv-glance dt{font-size:15px;line-height:1.5}
  .nv-glance dd p{font-size:16.5px}.nv-glance dd small{font-size:14.5px}
  .nv-glance+.nv-h{margin-top:52px}
  .nv-pn{grid-template-columns:1fr;margin-top:64px}
  .nv-pn a{padding:20px 0;grid-template-columns:1fr;gap:4px}
  .nv-pn>:nth-child(2){padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .nv-pn>span:empty{display:none}
  .nv-pn .k{grid-row:auto;line-height:1.4}
  .nv-pn .tt{font-size:16.5px}
  .nv-back .btn{width:100%;justify-content:center}
}
.btn .out{width:10px;height:10px;margin-left:0;opacity:.8}

/* 글 머리의 날짜·출처 줄 */
.nv .phead .l2 time{font:inherit}
.nv-side time{font:inherit}
.nv-txt{overflow-wrap:break-word}
/* 칼럼: 소제목 · 연재 소개 문단(비즈한국 편집, 옅게) */
.nv-txt .nv-sh{margin:2.2em 0 .7em;font-size:21px;line-height:1.5;font-weight:700;letter-spacing:-.05em;color:var(--navy)}
.nv-txt .nv-sh:first-child{margin-top:0}
.nv-txt .nv-intro{padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.9;color:var(--muted)}
.nv-txt .nv-intro+p{margin-top:0}
/* 게시판 글의 이미지(문서·인증서·표지): 원래 크기를 넘겨 키우지 않는다 */
.nv-img{margin:0}
.nv-img+.nv-img{margin-top:28px}
.nv-img img{width:auto;max-width:100%;height:auto;border:1px solid var(--line);background:#fff}
.nv-txt+.nv-img,.nv-img+.nv-txt{margin-top:36px}
/* 보도: 요약 + 변리사 발언 인용 */
.nv-quote{margin:40px 0 0;padding:30px 0 28px;border-top:1px solid var(--navy);border-bottom:1px solid var(--line)}
.nv-quote p{font-size:clamp(20px,1.8vw,24px);line-height:1.75;font-weight:500;letter-spacing:-.05em;color:var(--navy)}
.nv-quote footer{margin-top:14px;font:600 14px var(--sans);letter-spacing:-.01em;color:var(--gold-d)}
/* 지원사업 공고: 한눈에 보기의 여러 줄 · 공고 내용(원문) · 첨부 */
.nv-glance dd p+p{margin-top:6px}
.nv-glance dd,.nt-doc{overflow-wrap:anywhere}
.nv-due .tt{display:block;margin-top:6px;font:500 13.5px/1.6 var(--sans);letter-spacing:-.01em;color:var(--muted)}
.nv-act .note{margin-top:4px;max-width:20em;font:400 13.5px/1.7 var(--sans);letter-spacing:-.01em;color:var(--muted)}
.nv-act .btn{border:0;cursor:pointer}
.nv-glance+.nv-h,.nt-doc+.nv-h{margin-top:64px}
.nt-doc{margin-top:22px;padding-top:28px;border-top:1px solid var(--navy)}
.nt-doc p{font-size:16.5px;line-height:1.85;color:var(--ink);letter-spacing:-.035em}
.nt-doc p+p{margin-top:.45em}
.nt-doc .li{padding-left:1.3em;text-indent:-1.3em}
.nt-doc .li .mk{display:inline-block;min-width:1.3em;text-indent:0;color:var(--muted)}
.nt-doc .nt-h{margin:1.9em 0 .6em;font-size:18.5px;line-height:1.55;font-weight:700;letter-spacing:-.05em;color:var(--navy)}
.nt-doc .nt-h:first-child{margin-top:0}
.nt-doc .nt-h .n{margin-right:.35em;font-family:var(--lat);font-weight:400}
.nt-doc .nt-h+p{margin-top:0}
.nt-cells{display:flex;flex-wrap:wrap;margin:14px 0 16px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.nt-cells span{padding:7px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:400 14px/1.6 var(--sans);letter-spacing:-.01em;color:var(--body)}
.nt-cnote{margin-top:-6px;font:400 13px/1.6 var(--sans)!important;color:var(--muted)!important}
.nv-files{margin-top:22px;border-top:1px solid var(--navy)}
.nv-files li{padding:16px 0 15px;border-bottom:1px solid var(--line);font:500 15.5px/1.6 var(--sans);letter-spacing:-.01em;color:var(--ink);overflow-wrap:anywhere}
.nv-files+.nv-src{margin-top:20px}
.nv-files-note{margin-top:14px;font:400 14px/1.7 var(--sans);letter-spacing:-.01em;color:var(--muted)}
@media (max-width:900px){
  .nv-txt .nv-sh{font-size:19px}
  .nv-txt .nv-intro{font-size:15px}
  .nv-img img{max-width:100%}
  .nv-quote p{font-size:19px}
  .nt-doc p{font-size:15.5px}
  .nt-doc .nt-h{font-size:17px}
  .nt-cells span{font-size:13px;padding:6px 10px}
  .nv-files li{font-size:14.5px}
}

/* 바깥 링크(11-11 사용자 기준 변경): 칼럼 끝 '비즈한국 원문', 공고 끝 '공식 공고 원문', 공앤유 소식 끝 '관련 보도' — 모두 새 창 */
.nv-src a{display:inline-flex;align-items:center;margin-top:10px;font-weight:600;color:var(--navy);border-bottom:1px solid rgba(0,22,75,.3);transition:color .2s}
.nv-src a:hover{color:var(--gold-d)}
.nv-txt+.nv-h,.nv-quote+.nv-h,.nv-img+.nv-h{margin-top:64px}
.nv-rel{margin-top:22px;border-top:1px solid var(--navy)}
.nv-rel a{display:grid;grid-template-columns:112px minmax(0,1fr) auto auto;gap:4px 18px;align-items:baseline;padding:18px 0 17px;border-bottom:1px solid var(--line)}
.nv-rel .o{font:600 13.5px/1.5 var(--sans);letter-spacing:-.01em;color:var(--gold-d)}
.nv-rel .tt{font-size:16.5px;line-height:1.6;font-weight:500;letter-spacing:-.045em;color:var(--ink);transition:color .2s}
.nv-rel time{font:400 14px var(--sans);color:var(--muted);white-space:nowrap}
.nv-rel .out{margin-left:0;color:var(--muted)}
.nv-rel a:hover .tt{color:var(--gold-d)}
@media (max-width:900px){
  .nv-rel a{display:block;padding:16px 0 15px}
  .nv-rel .o{display:block}
  .nv-rel .tt{display:block;margin-top:4px;font-size:15.5px}
  .nv-rel time{display:inline-block;margin-top:6px;font-size:13px}
  .nv-rel .out{margin-left:8px}
}
.nt-doc a,.nv-glance dd a{color:var(--navy);border-bottom:1px solid rgba(0,22,75,.3)}
