
.tip-banner .tb-title{word-break:keep-all}
a.byline-name{color:inherit;text-decoration:none;border-bottom:1px solid #d4d9df;padding-bottom:1px}a.byline-name:hover{border-color:currentColor}
:root{--nsb-h:60px;--nsb-ink:#111;--nsb-sub:#666;--nsb-line:#e6e6e6;--nsb-bg:#fff;--nsb-accent:#c8143a;--nsb-green:#c8143a;--nsb-chip:#f2f2f2}
@media (prefers-color-scheme:dark){:root{--nsb-ink:#eef1f4;--nsb-sub:#9aa6b3;--nsb-line:#2a2f38;--nsb-bg:#14171c;--nsb-chip:#22262e}}
.nsbar{position:sticky;top:0;z-index:70;background:var(--nsb-bg);border-bottom:1px solid var(--nsb-line);font-family:"Noto Sans KR",Pretendard,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;color:var(--nsb-ink)}
.nsbar .in{max-width:1240px;margin:0 auto;padding:0 24px;height:var(--nsb-h);display:flex;align-items:center;gap:14px}
.nsbar .brand{display:flex;align-items:center;text-decoration:none;color:var(--nsb-ink);flex-shrink:0}
/* 스크롤로 마스트헤드가 사라지면 로고 오른쪽에 '뉴스S | 섹션 메뉴'가 붙는다(중앙SUNDAY sticky 방식) */
.nsbar .sub{display:none;align-items:center;gap:0;min-width:0;flex:1;margin-left:26px;position:relative;overflow:hidden}
.ns-stuck .nsbar .sub{display:flex}
.nsbar .sub .sname{flex-shrink:0;display:block;color:var(--nsb-ink)!important;padding-right:16px;border-right:1px solid var(--nsb-line);margin-right:8px}
.nsbar .sub .sname svg{display:block;height:20px;width:auto;overflow:visible}
.nsbar .sub nav{display:flex;align-items:center;white-space:nowrap;overflow:hidden;min-width:0}
.nsbar .sub nav a{font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--nsb-ink);padding:6px 10px;text-decoration:none}
.nsbar .sub nav a:hover{color:var(--nsb-accent)}
.nsbar .sub::after{content:'';position:absolute;right:0;top:0;bottom:0;width:48px;background:linear-gradient(90deg,transparent,var(--nsb-bg));pointer-events:none}
.nsbar .wm{display:block;height:28px;width:auto;overflow:visible;color:var(--nsb-ink)}
.nsbar .tag{font-size:11.5px;font-weight:600;color:var(--nsb-sub);letter-spacing:-.01em}
.nsbar .r{margin-left:auto;display:flex;align-items:center;gap:4px}
.nsbar .brand{position:relative;margin-right:84px}
.nsbar .nsb-37{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:8px;display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:800;line-height:1;letter-spacing:-.02em;color:#c8143a;white-space:nowrap;cursor:pointer}
.nsbar .nsb-37 small{font-size:9px;font-weight:700;letter-spacing:.02em;color:#6b7079}
.nsbar .nsb-37:hover{text-decoration:underline}
.nsbar .ib{width:36px;height:36px;border:0;background:none;color:var(--nsb-ink);cursor:pointer;border-radius:9px;display:grid;place-items:center;padding:0}
.nsbar .ib:hover{background:var(--nsb-chip);color:var(--nsb-accent)}
.nsbar .ib svg{width:21px;height:21px}
.nsbar .pill{margin-left:8px;display:inline-flex;align-items:center;height:36px;padding:0 20px;border-radius:100px;font-size:15px;font-weight:700;letter-spacing:-.02em;text-decoration:none;color:#fff;background:var(--nsb-accent);white-space:nowrap}
.nsbar .pill:hover{filter:brightness(.9)}
/* ── biz.news-s.kr 글로벌 바 — 제호에 BIZ, 서브브랜드 자리에 지면 탭 ── */
.nsbar-biz,.ns-bizmast{--nsb-accent:#b8102c}
/* 경제 지면에 창간 배지는 문맥이 안 맞는다 — biz 호스트에서만 숨긴다(news-s.kr 은 유지) */
.ns-biz .ns-37,.ns-biz .jn-since{display:none!important}
/* 모바일 기사 상단바(view.html .topbar)는 우리 마크업이 아니라 CSS 로 BIZ 워드마크를 붙인다 */
.ns-biz .topbar .topbar-brand{display:inline-flex;align-items:center;gap:6px}
.ns-biz .topbar .topbar-brand::after{content:"BIZ";font-size:17px;font-weight:900;letter-spacing:-.05em;
                                     line-height:1;color:#b8102c}
/* S위키(.chd)도 BIZ 문맥에서는 제호·키컬러를 맞춘다 — 위키 자체 내비는 그대로 둔다 */
.ns-biz .chd .clogo{display:inline-flex;align-items:center;gap:6px}
.ns-biz .chd .clogo .bizwm{font-size:20px;font-weight:900;letter-spacing:-.05em;line-height:1;color:#b8102c}
.ns-biz .chd .cnav a:hover{color:#b8102c}
.ns-biz .chd .tosite:hover{background:#b8102c;border-color:#b8102c}
.nsbar-biz .bizwm{margin-left:7px;font-size:23px;font-weight:900;letter-spacing:-.05em;line-height:1;color:#b8102c}
.nsbar-biz .brand{margin-right:0}
.nsbar-biz .sub.bizsub{display:flex;margin-left:22px}
.nsbar-biz .sub.bizsub nav a{font-size:16px;font-weight:700;letter-spacing:-.02em}
.nsbar-biz .sub.bizsub nav a:hover{color:#b8102c}
.nsbar-biz .pill{background:#b8102c;color:#fff}
.nsbar-biz .fam .secs a:hover{color:#b8102c}
.nsbar-biz :focus-visible{outline:3px solid #b8102c;outline-offset:2px;box-shadow:0 0 0 2px #fff;border-radius:2px}
@media (max-width:1023px){.nsbar-biz .sub.bizsub{display:none}}
.nsbar .fam{position:absolute;right:max(24px,calc((100% - 1240px)/2 + 24px));top:calc(var(--nsb-h) + 6px);width:300px;background:var(--nsb-bg);border:1px solid var(--nsb-line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.14);padding:10px 8px;display:none;z-index:57}
.nsbar .fam.on{display:block}
.nsbar .fam h5{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--nsb-sub);padding:8px 12px 4px;text-transform:uppercase}
.nsbar .fam a{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:9px;color:var(--nsb-ink);text-decoration:none;font-size:15px;font-weight:800;letter-spacing:-.02em}
.nsbar .fam a:hover{background:var(--nsb-chip)}
.nsbar .fam a small{font-weight:600;color:var(--nsb-sub);font-size:12px;margin-left:auto}
.nsbar .fam .secs{display:flex;flex-wrap:wrap;gap:2px 0;padding:2px 4px 6px}
.nsbar .fam .secs a{font-size:13.5px;font-weight:700;padding:6px 8px}
/* 뒤로가기(모바일 기사 전용) — 기본 숨김, 모바일 규칙에서만 표시 */
.nsbar .ns-back{display:none;width:30px;height:36px;border:0;background:none;color:var(--nsb-ink);cursor:pointer;padding:0;margin-left:-6px;align-items:center;justify-content:center;flex-shrink:0}
.nsbar .ns-back svg{width:20px;height:20px}
@media (max-width:1023px){:root{--nsb-h:50px}.nsbar .nsb-37{display:none}.nsbar .brand{margin-right:0}.ns-suwon:not(.ns-root) .topbar .icon-btn[aria-label="전체 메뉴"],.ns-suwon:not(.ns-root) .topbar .icon-btn[aria-label="검색"]{display:none}
/* 뉴스S 표기 기사(모바일): 상단바를 없애고 글로벌 바 한 줄로 — [뒤로] [news S | 뉴스S] … [검색][메뉴][제보] */
.ns-suwon.ns-art:not(.ns-root) .topbar{display:none!important}
.ns-suwon.ns-art .stage,.ns-suwon.ns-art .app{display:flow-root}   /* 상단바가 사라져 첫 요소 여백이 밖으로 새던(회색 띠) 것 차단 */
.ns-suwon.ns-art:not(.ns-root) .nsbar .sub{display:flex;margin-left:6px;flex:0 0 auto;overflow:visible;min-width:auto}
.ns-suwon.ns-art:not(.ns-root) .nsbar .brand{flex-shrink:0}
/* 좁은 폰(≤389px): 요소를 한 단계씩 줄여 320px(갤럭시 S9 등)까지 한 줄 유지 */
@media (max-width:389px){
  .ns-suwon.ns-art:not(.ns-root) .nsbar .in{padding:0 8px;gap:2px;overflow:hidden}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .wm{height:18px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .sub{margin-left:4px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .sub .sname{padding-left:6px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .sub .sname svg{height:13px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .ib{width:32px;height:32px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .ib svg{width:19px;height:19px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .ns-back{width:24px;margin-left:-4px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .pill{font-size:0!important;padding:0 8px!important;height:26px;margin-left:0}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .pill::before{content:'제보';font-size:12px}
}
@media (max-width:340px){
  .ns-suwon.ns-art:not(.ns-root) .nsbar .in{padding:0 6px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .sub .sname{padding-left:4px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .ns-back{width:20px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .wm{height:16px}
  .ns-suwon.ns-art:not(.ns-root) .nsbar .ib{width:30px}
}
.ns-suwon.ns-art:not(.ns-root) .nsbar .sub .sname{padding-left:8px;border-left:1px solid var(--nsb-line);border-right:0}
.ns-suwon.ns-art:not(.ns-root) .nsbar .sub .sname svg{height:15px}
.ns-suwon.ns-art:not(.ns-root) .nsbar .wm{height:20px}
.ns-suwon.ns-art:not(.ns-root) .nsbar .in{gap:4px}
.ns-suwon.ns-art:not(.ns-root) .nsbar .pill{height:28px;padding:0 10px;font-size:12.5px;margin-left:2px}
.ns-suwon.ns-art:not(.ns-root) .nsbar .ns-back{display:inline-flex}.ns-suwon .stick,.ns-suwon #siteHeader,.ns-suwon .topbar{position:relative!important;top:auto}.nsbar .sub{margin-left:12px}.nsbar .sub nav{display:none}.nsbar .sub .sname{border:0;padding-right:0;margin:0}.nsbar .sub .sname svg{height:17px}.nsbar .sub::after{display:none}.nsbar .in{padding:0 12px;gap:8px}.ns-suwon:not(.ns-art) .nsbar .in{padding:0 18px}.nsbar .wm{height:23px}.nsbar .pill{height:32px;padding:0 14px;font-size:14px}.nsbar .tag{display:none}.nsbar .pill{height:29px;padding:0 12px;font-size:13px}.nsbar .fam{right:12px;left:12px;width:auto}.ns-suwon:not(.ns-art) .nsbar .fam{left:18px;right:18px}}

/* 태블릿(600~1023): 홈 렌더러의 모바일 CSS가 폰 기준이라 넓은 화면에서 어색 → 2열 배치로 정돈 */
@media (max-width:1023px){
  .ns-suwon section.top .lead,.ns-suwon section.top .col{width:100%;min-width:0}   /* align-items:flex-start 로 줄어드는 폭 고정 */
}
@media (max-width:599px){
  /* TOP1: 좁은 폰에서도 최소 노출 면적 보장 — 4:3, 최소 260px·최대 400px, 제목은 2줄 폭 확보 */
  /* min-height + 4:3 은 폭을 역산해(260*4/3=347px) 폴드 폭에서 화면을 밀어낸다 —
     좌우 -18px 블리드만큼만 허용하고 그 위로는 자른다 */
  .ns-suwon section.top .lead .figw{aspect-ratio:4/3;min-height:260px;max-height:400px;max-width:calc(100% + 36px)}
  .ns-suwon section.top .lead .figw img,.ns-suwon section.top .lead .figw .ph{width:100%;height:100%;object-fit:cover}
  .ns-suwon section.top .lead h1{font-size:25px;line-height:1.3;min-height:calc(1.3em * 2);margin:16px 0 14px}
  .ns-suwon section.top .lead{padding-bottom:22px}
  .ns-suwon section.top .lead .bul{margin-top:0}
}
@media (min-width:600px) and (max-width:1023px){
  .ns-suwon section.top{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;padding:18px 0 6px;align-items:start}
  .ns-suwon section.top .lead{grid-column:1/-1;padding:0 0 14px;border-bottom:1px solid #e4e6ea}
  .ns-suwon section.top .lead .figw{margin:0;aspect-ratio:16/9}
  .ns-suwon section.top .lead h1{font-size:27px;line-height:1.3;margin:14px 0 14px}
  .ns-suwon section.top .lead{padding-bottom:22px}
  .ns-suwon section.top .card{grid-template-columns:1fr 110px;padding:16px 0}
  .ns-suwon section.top .card .imgbox{width:110px;height:110px}
  .ns-suwon section.top .card h3{font-size:17px}
  .ns-suwon .body3{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;border-top:1px solid #e4e6ea;padding:8px 0 0;margin-top:6px}
  .ns-suwon .b-left,.ns-suwon .b-mid{width:100%;min-width:0}
  .ns-suwon .b-right{grid-column:1/-1;width:100%;margin-top:18px}
  .ns-suwon .b-left .plead .figw{margin:0 0 12px}
  .ns-suwon .promo{margin:0}
  .ns-suwon .rail-ads{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .ns-suwon .rail{margin-top:24px}
  .ns-tk li{flex:0 0 50%}
}
/* 뉴스S 서브브랜드 마스트헤드 — joongang.co.kr/sunday 상단 이식:
   [브랜드색 워드마크 + 인라인 섹션 내비] → 1px 브랜드 괘선 → ISSUE PICK 스트립(하단 4px 괘선). 도구(검색·메뉴)는 글로벌 바에만 */
.ns-suwon .util{display:none}
.ns-suwon .brand-logo,.ns-suwon .site-logo svg{color:#c8143a!important}
.ns-suwon .nsbar .sub .sname svg{color:var(--nsb-ink)!important}
.ns-tkw{max-width:1240px;margin:0 auto;padding:0 24px;position:relative}
/* 스트립은 네이티브 가로 스크롤(스냅) — 4초 자동 롤링 + 사용자가 휠·드래그·화살표로 직접 넘길 수 있다 */
.ns-tk{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;border-bottom:4px solid #c8143a;font-family:"Noto Sans KR",Pretendard,sans-serif}
.ns-tk::-webkit-scrollbar{display:none}
.ns-tk ul{display:flex;list-style:none;margin:0;padding:0}
.ns-tk li{flex:0 0 33.3333%;min-width:0;padding:14px 24px;border-right:1px solid #d6d6d6;scroll-snap-align:start}
.ns-tk-btn{position:absolute;top:50%;z-index:2;width:30px;height:30px;margin-top:-17px;border:1px solid #d6d6d6;border-radius:50%;background:rgba(255,255,255,.96);color:#111;display:grid;place-items:center;cursor:pointer;padding:0;opacity:0;transition:opacity .15s;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.ns-tk-btn svg{width:16px;height:16px}
.ns-tk-btn.prev{left:8px}.ns-tk-btn.next{right:8px}
.ns-tkw:hover .ns-tk-btn,.ns-tk-btn:focus-visible{opacity:1}
.ns-tk-btn:hover{border-color:#111}
.ns-tk-btn[disabled]{opacity:0!important;pointer-events:none}
@media (max-width:1023px){.ns-tk-btn{display:none}}
.ns-tk li:first-child{padding-left:0}
.ns-tk li:last-child{border-right:0}
.ns-tk a{display:block;color:#111;text-decoration:none}
.ns-tk .k{display:block;font-size:12px;font-weight:700;color:#c8143a;line-height:18px}
.ns-tk .k.pk{color:#111;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.ns-tk .k.pk b{font-weight:900;letter-spacing:-.01em;color:#c8143a}
.ns-tk .k.pk.ai b{color:#3b5bdb}
.ns-tk .h{display:block;font-size:16px;font-weight:700;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}
.ns-tk a:hover .h{opacity:.65}
/* 뉴스S 루트 GNB 는 자체 지면(S위키·S시민기자)까지 10칸이라 항목 여백을 줄여야 한 줄에 든다.
   실측(1440): 기본 10px 여백이면 720px 가 필요한데 자리는 689px — 마지막 글자가 잘렸다.
   뉴스S 지면(8칸)은 그대로 두려고 .ns-root 로 한정한다. */
/* ⚠️ 같은 특정도의 '.ns-suwon .stick .gnb .wrap a{padding:6px 12px}' 이 뒤에 있어 클래스만으로는 진다.
   body 를 붙여 특정도를 한 칸 올린다(실측으로 확인). */
body.ns-root .stick .gnb .wrap a{padding-left:8px;padding-right:8px}
@media(max-width:1330px){body.ns-root .stick .gnb .wrap a{padding-left:6px;padding-right:6px}}
@media (min-width:1024px){
  .ns-suwon .stick{position:relative;display:flex;align-items:center;gap:32px;padding:30px max(24px,calc((100% - 1240px)/2 + 24px)) 18px}
  .ns-suwon .stick::after{content:'';position:absolute;left:max(24px,calc((100% - 1240px)/2 + 24px));right:max(24px,calc((100% - 1240px)/2 + 24px));bottom:0;height:1px;background:#c8143a}
  .ns-suwon .stick .mast,.ns-suwon .stick .mast .wrap{display:contents}
  .ns-suwon .stick .mast .logo .brand-logo{height:40px}
  .ns-suwon .stick .mast .ic{display:none}
  .ns-suwon .stick .gnb{flex:1;min-width:0;border:0}
  .ns-suwon .stick .gnb .wrap{max-width:none;margin:0;padding:0;height:auto;gap:0}
  .ns-suwon .stick .gnb .wrap a{font-size:17px;font-weight:500;letter-spacing:-.02em;padding:6px 12px}
  .ns-suwon .stick .gnb .wrap a:first-child{padding-left:0}
  /* 정적 페이지 공용 헤더(header.js) */
  .ns-suwon #siteHeader{position:relative;display:flex;align-items:center;gap:32px;padding:30px max(24px,calc((100% - 1240px)/2 + 24px)) 18px}
  .ns-suwon #siteHeader::after{content:'';position:absolute;left:max(24px,calc((100% - 1240px)/2 + 24px));right:max(24px,calc((100% - 1240px)/2 + 24px));bottom:0;height:1px;background:#c8143a}
  .ns-suwon #siteHeader .site-mast,.ns-suwon #siteHeader .site-mast .site-wrap{display:contents}
  .ns-suwon #siteHeader .site-logo svg{height:40px}
  .ns-suwon #siteHeader .site-ic{display:none}
  .ns-suwon #siteHeader .site-gnb{flex:1;min-width:0;border:0}
  .ns-suwon #siteHeader .site-gnb .site-wrap{max-width:none;margin:0;padding:0;height:auto}
  .ns-suwon #siteHeader .site-gnb a{font-size:17px;font-weight:500;padding:6px 12px}
  /* 톱5 아래 3열: 각 열 마지막 항목의 밑줄 제거 */
  .ns-root .b-left .plead:last-child,.ns-root .b-mid .hl-list a:last-child,.ns-root .b-right .rail .rail-item:last-child{border-bottom:0}
  /* 톱5 아래 구분선: 굵은 검정 강조선 → 회색 1px 비강조 */
  .ns-suwon .body3{border-top:1px solid #e4e6ea;padding-top:22px}
  /* 홈 톱5 — 연합뉴스 메인 비율: 리드 580×3:2, 서브 4장 270×160(27:16), 열 간격 40 */
  .ns-suwon section.top{display:grid;grid-template-columns:580px 1fr 1fr;gap:0 40px;align-items:start;padding:24px 0 26px}
  .ns-suwon section.top .lead{flex:none;min-width:0}
  .ns-suwon section.top .lead .figw{aspect-ratio:3/2}
  .ns-suwon section.top .lead h1{font-size:30px;line-height:1.3;margin:16px 0 14px}
  .ns-suwon section.top .col{flex:none;gap:22px}
  .ns-suwon section.top .card .imgbox{aspect-ratio:27/16}
  .ns-suwon section.top .card h3{font-size:18px;line-height:1.4;margin:12px 0 6px}
  /* 기사 페이지 — 글로벌 바·마스트헤드·푸터를 같은 1240/24(콘텐츠 1192)로. 마스트헤드·푸터는 .stage(view.html 1160) 안에 있으므로
     .stage 자체를 1240으로 넓힌다. 기사 그리드(.art-wrap 1160/40)는 그 안에서 가운데 정렬(본문 폭 불변). */
  .ns-art .stage{max-width:1240px!important}
  /* 기사 그리드도 헤더와 같은 1240/24 — 본문 칼럼 640 → 752 (툴바 60 + 간격 40 + 본문 + 40 + 레일 300) */
  .ns-art .art-wrap{max-width:1240px!important;padding-left:24px!important;padding-right:24px!important}
  .ns-art #sourcePromo{max-width:1240px!important;padding-left:24px!important;padding-right:24px!important}
  .ns-art .nsbar .in{max-width:1240px;padding:0 24px}
  .ns-art .nsbar .fam{right:max(24px,calc((100% - 1240px)/2 + 24px))}
  .ns-suwon .jn-gnb{position:relative!important;top:auto;border-bottom:0!important}  /* 회색 전폭선 제거 → 컨테이너 폭 초록 괘선만 */
  .ns-suwon .jn-gnb .jn-menu{display:none}  /* 전체메뉴는 뉴스S 글로벌 바(☰) 하나로 — 상하 중복 제거 */
  .ns-suwon .jn-gnb-inner{position:relative;max-width:1240px!important;padding-left:24px!important;padding-right:24px!important}  /* 병기 기사 마스트헤드도 글로벌 바·푸터와 같은 1240/24 */
  .ns-suwon .jn-gnb-inner::after{content:'';position:absolute;left:24px;right:24px;bottom:-1px;height:2px;background:#c8143a}
  .ns-suwon .jn-logo .brand-logo{height:26px}  /* 뉴스S 표기 기사: 로고 15% 축소(31→26) */
}
@media (max-width:1023px){
  .ns-suwon .stick .gnb,.ns-suwon #siteHeader .site-gnb,.ns-suwon .topbar{border-bottom:1px solid #c8143a}
  .ns-tkw{padding:0}
  .ns-tk li{flex:0 0 78%;padding:10px 16px}
  .ns-tk li:first-child{padding-left:18px}   /* 마스트헤드·본문 좌측 라인(18px)과 일치 */
  .ns-tk .h{font-size:14px;line-height:22px}.ns-tk .k{font-size:11px;line-height:16px}
}

/* 뉴스S 루트 스킨 — 글로벌 바 없이 마스트헤드가 브랜드. 로고 검정+빨강 원색, 초록 요소 없음 */
/* 메인: 제목만 — 본문 줄임(요약) 전부 숨김 */
.ns-root .top .lead p,.ns-root .top .card p,.ns-root .b-left .plead p{display:none!important}
.ns-root .top .lead h1{margin-bottom:0}
/* 톱1: 제목 바로 아래에 기사 부제목(subheading) 원문 줄 그대로 */
.ns-root .top .lead .dek{display:block;margin:12px 0 0;color:#4a4f57;font-size:17px;font-weight:500;line-height:1.5;letter-spacing:-.02em;word-break:keep-all}
.ns-root .top .lead .dek .dek-line{display:block}
.ns-root .top .lead .dek .dek-line+.dek-line{margin-top:4px}
.ns-root .top .lead a:hover .dek{color:#111}
@media (max-width:1023px){.ns-root .top .lead .dek{font-size:16px;margin-top:10px}}
/* 로고 사용 규칙: 데스크톱 마스트헤드·푸터 = 영문 news S / 고정(축약) 마스트헤드·모바일 헤더·드로어 = 한글 뉴스S */
svg[data-ns="ko"]{display:none}

.ns-root .stick .mast .logo,.ns-root #siteHeader .site-logo,.ns-root .jn-logo,.ns-root .topbar-brand{gap:0}
.ns-root .brand-logo,.ns-root .site-logo svg{color:#111!important}
.ns-root .util{display:none}
/* 로고 오른쪽 위 모서리에 밀착한 '창간 37주년' 표기 → /37th. 로고 앵커 안의 span(중첩 링크 회피, 클릭은 JS)이며
   로고 앵커에 position:relative + 오른쪽 여백을 예약해 뒤따르는 메뉴와 겹치지 않게 한다. */
.ns-root .stick .mast .logo,.ns-root #siteHeader .site-logo,.ns-root .jn-gnb .jn-logo,.ns-root .topbar .topbar-brand{position:relative;margin-right:84px!important}
.ns-37{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:8px;display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:800;line-height:1;letter-spacing:-.02em;color:#c8143a!important;white-space:nowrap;text-decoration:none;cursor:pointer}
.ns-37 small{font-size:9px;font-weight:700;letter-spacing:.02em;color:#6b7079;font-family:Pretendard,-apple-system,sans-serif}
.ns-37:hover{text-decoration:underline}
.ns-root.ns-stuck .ns-37{font-size:10px;gap:2px}.ns-root.ns-stuck .ns-37 small{font-size:8.5px}
/* 마스트헤드 우측 '제보하기' 필(뉴스S 키컬러) — 글로벌 바(.nsbar .pill)와 같은 문법, /tip 으로 */
.ns-tip{margin-left:10px;display:inline-flex;align-items:center;height:34px;padding:0 16px;border-radius:100px;font-size:14px;font-weight:700;letter-spacing:-.02em;text-decoration:none;color:#fff!important;background:#c8143a;white-space:nowrap;line-height:1}
.ns-tip:hover{filter:brightness(.9)}
.ns-root.ns-stuck .ns-tip{height:30px;padding:0 14px;font-size:13px}
.ns-root .ns-tk{border-bottom-color:#c8143a}.ns-root .ns-tk .k{color:#c8143a}
.ns-root .ns-tk .k.pk{color:#111}.ns-root .ns-tk .k.pk b{color:#c8143a}.ns-root .ns-tk .k.pk.ai b{color:#3b5bdb}
@media (min-width:1024px){
  .ns-root .stick{position:sticky;top:0;z-index:55;background:#fff;transition:padding .2s}
  .ns-root .stick::after,.ns-root #siteHeader::after{background:#c8143a}
  .ns-root .stick .mast .ic,.ns-root #siteHeader .site-ic{display:flex;order:3;margin-left:auto;align-items:center}
  .ns-root .stick .mast .logo .brand-logo{height:38px;transition:height .2s}
  .ns-root.ns-stuck .stick{padding-top:10px;padding-bottom:10px;box-shadow:none}
  /* 고정 상태: 중앙일보처럼 컬러 괘선 대신 화면 폭 회색 1px 라인 */
  .ns-root.ns-stuck .stick::after,.ns-root.ns-stuck #siteHeader::after{left:0;right:0;background:#e4e6ea}
  .ns-root.ns-stuck .stick .mast .logo .brand-logo{height:26px}
  .ns-root.ns-stuck .stick svg[data-ns="en"],.ns-root.ns-stuck #siteHeader svg[data-ns="en"]{display:none}
  .ns-root.ns-stuck .stick svg[data-ns="ko"],.ns-root.ns-stuck #siteHeader svg[data-ns="ko"]{display:block}
  .ns-root .dw-top svg[data-ns="en"],.ns-root .site-dw-top svg[data-ns="en"]{display:none}
  .ns-root .dw-top svg[data-ns="ko"],.ns-root .site-dw-top svg[data-ns="ko"]{display:block}
  .ns-root #siteHeader{position:sticky;top:0;z-index:55;background:#fff}
  /* 기사 페이지(항상 고정 GNB): 회색 1px 화면 폭 라인, 컬러 괘선 없음 */
  .ns-root .jn-gnb{position:sticky!important;top:0;border-bottom:1px solid #e4e6ea!important}
  .ns-root .jn-gnb-inner::after{display:none}
  .ns-root .jn-gnb .jn-menu{margin-left:0}
  /* 기자 줄 밑 굵은 컬러 괘선 → 가는 검정, 프레임 배경 회색 띠 제거 */
  .ns-art.ns-root .byline{border-bottom:1px solid #111!important}
  body.ns-art.ns-root{background:#fff}
  .ns-root #related .related{border-top:0}
}
@media (max-width:1023px){
  .ns-root .stick,.ns-root #siteHeader,.ns-root .topbar{position:sticky!important;top:0}
  .ns-root .mast svg[data-ns="en"],.ns-root .site-mast svg[data-ns="en"],.ns-root .topbar svg[data-ns="en"],.ns-root .dw-top svg[data-ns="en"],.ns-root .site-dw-top svg[data-ns="en"]{display:none}
  .ns-root .mast svg[data-ns="ko"],.ns-root .site-mast svg[data-ns="ko"],.ns-root .topbar svg[data-ns="ko"],.ns-root .dw-top svg[data-ns="ko"],.ns-root .site-dw-top svg[data-ns="ko"]{display:block}
  .ns-root .stick .gnb,.ns-root #siteHeader .site-gnb,.ns-root .topbar{border-bottom-color:#e4e6ea}
  .ns-tip{margin-left:6px;height:28px;padding:0 11px;font-size:12.5px}
  .ns-root .stick .mast .logo,.ns-root #siteHeader .site-logo,.ns-root .jn-gnb .jn-logo{margin-right:74px!important}
  /* 기사(모바일) 상단바 로고 앵커는 view.html이 flex:1로 늘려 놓아 '창간 37주년'(left:100%)이 오른쪽 끝으로 떨어진다 → 로고 크기만큼만 차지하고 남는 폭은 auto 마진으로 */
  .ns-root .topbar .topbar-brand{flex:0 0 auto!important;margin-right:auto!important;display:inline-flex;align-items:center}
  .ns-37{font-size:10px;gap:2px;margin-left:6px}.ns-37 small{font-size:8.5px}
}

/* 전체메뉴 드로어 맨 아래 '수원일보' — 다른 섹션 항목과 같은 행 크기, 글자 대신 로고, 위 여백·하단선 없음, 호버 시 수원일보 초록 */
.dw-nav a.ns-dw-sw,.site-dw-nav a.ns-dw-sw{display:flex;align-items:center;color:#111;padding:30px 2px 22px;border-bottom:0!important}
.dw-nav a.ns-dw-sw svg,.site-dw-nav a.ns-dw-sw svg{display:block;height:17px!important;width:auto!important;overflow:visible;color:inherit}
.dw-nav a.ns-dw-sw:hover,.site-dw-nav a.ns-dw-sw:hover{color:#00ba64!important}

/* 어두운 모드 보정 — 밝은 바탕용 #c8143a 은 어두운 배경에서 2.99~3.45 로 도로 미달이다.
   밝은 쪽과 어두운 쪽을 한 값으로 만족시킬 수 없어(상대휘도 요구 구간에 교집합이 없다)
   모드별로 나눈다. #ff5c78 = surface 5.05 / paper 5.49 / frame 5.83.
   푸터는 어두운 모드에서도 흰 바탕이라 여기서 건드리지 않는다 — 밝은 값이 맞다. */
@media (prefers-color-scheme:dark){
  :root{--accent:#ff5c78;--brand:#ff5c78}
  /* 바탕은 페이지가 아니라 **컨테이너**마다 다르다(실측):
       .topbar      → 어두움(색 0.106) : 폭 390 에서 마스트헤드가 여기 들어간다
       .ns-artmast  → 어두운 모드에도 흰색 : 폭 1180 에서 같은 배지가 여기 들어간다
     그래서 같은 .ns-37 이 폭에 따라 반대 값을 요구한다. 컨테이너로 나눈다. */
  .topbar .ns-37,.topbar .k,.topbar .np-label,
  .jn-gnb .ns-37{color:#ff5c78!important}
  .topbar .ns-37 small,.jn-gnb .ns-37 small{color:#949ca8!important}
  .ns-artmast .ns-37{color:#c8143a!important}
  .ns-artmast .ns-37 small{color:#6b7079!important}
  .related-inline h2{color:#ff5c78!important}
  .ns-art .np-label,.ns-art .action,.ns-art .action.next,
  .ns-art .rel h2,.ns-art .omed h2{color:#ff5c78!important}
}

.ns-foot{margin-top:56px;border-top:1px solid #e5e5e5;background:#fff;color:#111;font-family:Pretendard,"Noto Sans KR",sans-serif;font-size:14px;line-height:1.5}
.ns-foot .in{max-width:1240px;margin:0 auto;padding:0 24px}   /* 홈 마스트헤드(.wrap 1240/24)·기사 헤더와 같은 폭 */
.ns-foot a{color:inherit;text-decoration:none}
.ns-foot .map{display:grid;grid-template-columns:1fr 150px;gap:0 30px;padding:44px 0 34px}
.ns-foot .cols{display:grid;grid-template-columns:repeat(7,1fr);gap:0 20px}
.ns-foot .fc b{display:block;font-size:15px;font-weight:800;margin-bottom:12px;letter-spacing:-.02em}
.ns-foot .fc a{display:block;font-size:14px;color:#555;line-height:27px}
.ns-foot .fc a:hover{color:#111;text-decoration:underline}
.ns-foot .side{border-left:1px solid #e5e5e5;padding-left:20px}
.ns-foot .side .grp{padding:4px 0 14px;margin-bottom:12px;border-bottom:1px solid #e5e5e5}
.ns-foot .side .grp:last-child{border-bottom:0}
.ns-foot .side a{display:block;font-size:15px;font-weight:700;line-height:37px;letter-spacing:-.02em}
.ns-foot .side a i{font-style:normal;font-size:13px;color:#767676;margin-left:2px}
.ns-foot .side a:hover{text-decoration:underline}
.ns-foot .links{border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;padding:14px 0}
.ns-foot .la{display:flex;align-items:center;gap:0 20px;font-size:14px;white-space:nowrap}
.ns-foot .la>a{font-weight:700;color:#111;flex-shrink:0}
.ns-foot .la .vl{width:1px;height:14px;background:#ccc;flex-shrink:0}
/* 고충처리 ~ AI 정책: 한 줄, 넘치면 가로 스크롤 */
/* 넘칠 때는 접는다. overflow-x:auto + scrollbar-width:none 이면 한 줄에 안 들어간 링크가
   **잘렸다는 표시조차 없이** 사라진다(실측 1100px 에서 열린보도원칙·윤리강령·AI 정책 3개,
   1191px 에서 1개). 중단점으로 맞추면 글꼴·문구가 바뀔 때마다 다시 어긋난다. */
.ns-foot .la .lb{display:flex;flex-wrap:wrap;gap:0 18px;overflow:visible;min-width:0;flex:1}
.ns-foot .la .lb::-webkit-scrollbar{display:none}
.ns-foot .la .lb a{font-weight:500;color:#333;flex-shrink:0}
.ns-foot .la a.em{font-weight:800!important;color:#111!important}
.ns-foot .la a:hover{text-decoration:underline}
.ns-foot .famrow{border-top:1px solid #e5e5e5;padding:14px 0 30px;display:flex;justify-content:flex-end}
.ns-foot .famrow .fsel select{background-color:#fff;border-color:#e5e5e5;color:#767676;font-size:13px;padding:7px 34px 7px 12px;min-width:150px;border-radius:4px}
.ns-foot .fsel select{appearance:none;-webkit-appearance:none;border:1px solid #ddd;background:#f7f7f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23777' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;border-radius:100px;padding:10px 40px 10px 16px;font:inherit;font-size:14px;color:#333;min-width:170px;cursor:pointer}
.ns-foot .info{display:flex;gap:36px;align-items:flex-start;padding:26px 0 30px;color:#666;font-size:13px}
.ns-foot .flogo{flex-shrink:0;color:#111;display:block;padding-top:2px}
.ns-foot .flogo svg{height:24px;width:auto;display:block;overflow:visible}
.ns-foot .txt{min-width:0;font-size:12.5px;letter-spacing:-.02em}
.ns-foot .txt p{margin:0 0 8px;display:flex;flex-wrap:wrap;row-gap:2px}
.ns-foot .txt p span{white-space:nowrap}
.ns-foot .txt p span+span::before{content:'';display:inline-block;width:1px;height:11px;background:#ccc;margin:0 10px -1px}
.ns-foot .cp{color:#666;margin-top:6px!important}
@media (max-width:1023px){
  .ns-foot .in{padding:0 20px}
  .ns-foot .map{grid-template-columns:1fr;padding:26px 0 8px}
  .ns-foot .cols{display:none}
  .ns-foot .side{border:0;padding:0;display:flex;flex-wrap:wrap;gap:0 18px}
  .ns-foot .side .grp{display:contents}
  .ns-foot .side a{line-height:34px;font-size:14px}
  .ns-foot /* 푸터 링크: 모바일은 줄바꿈(가로 스크롤은 잘린 것처럼 보임). min-width:0 없으면 flex 아이템이 안 줄어 페이지가 가로로 밀린다 */.la{gap:8px 14px;font-size:13px;overflow-x:hidden;flex-wrap:wrap;white-space:normal;min-width:0;max-width:100%}.la .vl{display:none}.la .lb{flex-wrap:wrap;gap:8px 14px;overflow:hidden;flex:1 1 100%;min-width:0;max-width:100%;white-space:normal}.la a{white-space:nowrap}
  .ns-foot .la::-webkit-scrollbar{display:none}
  .ns-foot .la .lb{overflow:visible;flex:none;gap:0 14px}
  .ns-foot .famrow{padding:12px 0 28px;justify-content:flex-end}
  .ns-foot .info{flex-direction:column;align-items:stretch;gap:14px;padding:20px 0 34px}
  .ns-foot .txt{width:100%;overflow:hidden}
  .ns-foot .txt p{display:block;white-space:normal}
  .ns-foot .txt p span{white-space:normal;display:block}
  .ns-foot .txt p span+span::before{display:none}
}
