/* Nextory 공용 스타일 (main/nx_lib.php 의 nx_head 에서 로드)
   복원 후 재작성본: 기존 마크업(클래스)에 맞춰 새로 작성 */
:root{
  --bg:#fff;--fg:#17181c;--muted:#6b6f78;--line:#e3e5ea;--line-strong:#17181c;
  --soft:#f4f5f8;--thumb:#ebecf0;--accent:#e8431f;--wrap:1160px;
  --font:'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:anywhere}
h1,h2,h3,h4,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.wrap{width:100%;max-width:calc(var(--wrap) + 40px);margin-inline:auto;padding-inline:20px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* 공용 요소 */
.thumb{display:block;position:relative;overflow:hidden;background:var(--thumb);aspect-ratio:16/10}
.thumb::before{content:"NEXTORY";position:absolute;inset:0;display:grid;place-items:center;font-size:13px;font-weight:700;letter-spacing:.22em;color:#b9bcc4}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cat{display:inline-block;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.tit{display:block}
.sum{color:#4a4d55;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:3}
.date{color:var(--muted);font-size:13px;font-weight:400}
.banner{display:grid;place-items:center;min-height:250px;color:#a3a7b0;font-size:13px;letter-spacing:.06em}
mark{background:transparent;color:var(--accent);font-weight:700;box-shadow:inset 0 -2px 0 rgba(232,67,31,.25)}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:2px solid var(--line-strong)}
.sec-h h2{font-size:18px;font-weight:900;letter-spacing:-.02em}
.more{font-size:13px;color:var(--fg)}
.more:hover{color:var(--accent)}

/* 헤더 */
header{background:var(--bg)}
.util{border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:34px}
.util nav{display:flex;gap:16px}
.util a:hover{color:var(--fg)}
.masthead .wrap{display:flex;justify-content:space-between;align-items:center;min-height:110px}
.masthead>.wrap>a:first-child{display:block}
.logo{font-size:44px;font-weight:900;letter-spacing:-.045em;line-height:1}
.logo b{color:var(--accent)}
.tagline{margin-top:10px;font-size:12px;color:var(--muted);letter-spacing:.02em}
.icon-btn{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--bg)}
.icon-btn svg{width:18px;height:18px;stroke:var(--fg)}
.icon-btn:hover{border-color:var(--fg)}
.gnb{border-top:2px solid var(--line-strong);border-bottom:1px solid var(--line);position:relative}
.gnb ul{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.gnb ul::-webkit-scrollbar{display:none}
.gnb a{display:block;padding:15px 14px;font-size:16px;font-weight:700;letter-spacing:.04em;white-space:nowrap;border-bottom:3px solid transparent}
.gnb a:hover{color:var(--accent)}
.gnb a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}
.progress{position:absolute;left:0;bottom:-1px;height:3px;width:0;background:var(--accent);transition:width .1s linear}
header.no-gnb{border-bottom:1px solid var(--line)}
.search-panel{border-top:1px solid var(--line);background:var(--soft);padding-block:14px}
.search-form{display:flex;gap:8px;align-items:center}
.search-form input[type=search]{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid var(--line);background:var(--bg);border-radius:0;-webkit-appearance:none;appearance:none}
.search-form input[type=search]::-webkit-search-cancel-button,.search-form input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
.search-form button[type=submit]{height:44px;padding:0 22px;border:0;background:var(--accent);color:#fff;font-weight:700}

/* LIVE 티커 */
.live{background:var(--soft);border-bottom:1px solid var(--line);font-size:14px}
.live .wrap{display:flex;align-items:center;gap:14px;height:44px;overflow:hidden}
.live-badge{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.06em}
.live-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.ticker{flex:1;min-width:0;overflow:hidden}
.ticker-track{display:inline-flex;gap:48px;white-space:nowrap;animation:nx-tick 60s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track a{font-weight:500}
.ticker-track a:hover{color:var(--accent)}
.ticker-track time{color:var(--muted);margin-right:8px;font-weight:400}
@keyframes nx-tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* 홈 하단 섹션 블록 */
.blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:24px 56px;margin-top:16px;border-top:1px solid var(--line)}
.block .lead{display:block;padding-top:18px}
.block .lead .tit{margin-top:12px;font-size:19px;line-height:1.4;font-weight:700;letter-spacing:-.025em}
.block .lead .date{display:block;margin-top:8px}
.block ul{margin-top:14px}
.block li a{display:block;padding-block:14px;border-top:1px solid var(--line);font-size:15px;line-height:1.5;font-weight:500}
.block li a:hover,.block .lead:hover .tit{color:var(--accent)}

/* 기사 페이지 */
.art-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;padding-top:32px;align-items:start}
.crumb{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted)}
.crumb a:hover{color:var(--accent)}
.crumb .cat{margin:0}
.art-head h1{margin-top:14px;font-size:clamp(22px,2.6vw,30px);line-height:1.35;font-weight:900;letter-spacing:-.035em}
.byline{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px;padding-bottom:18px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.byline .who{display:flex;gap:14px;flex-wrap:wrap}
.byline .who strong{color:var(--fg)}
.tools{display:flex;gap:6px}
.tool{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--line);border-radius:17px;background:var(--bg);font-size:13px}
.tool:hover{border-color:var(--fg)}
.tool svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.art-body{--fs:17px;max-width:760px;padding-top:28px;font-size:var(--fs);line-height:1.95;color:#23252b}
.art-body p{margin-bottom:1.1em}
.art-body h2{margin:1.8em 0 .6em;font-size:1.25em;font-weight:900;line-height:1.4}
.art-body ul{list-style:disc;padding-left:1.3em;margin-bottom:1.1em}
.art-body li{margin-bottom:.3em}
.art-body a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
.art-body a:hover{color:var(--accent)}
.art-body strong{font-weight:700;color:var(--fg)}
.art-foot{max-width:760px;padding-block:24px 8px;margin-top:24px;border-top:1px solid var(--line)}
.art-foot .notice{font-size:13px;color:var(--muted)}
.art-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-weight:700;font-size:14px}
.art-nav a{padding:10px 14px;border:1px solid var(--line)}
.art-nav a:hover{border-color:var(--fg)}
.art-side .mini .sec-h,.art-side .rank .sec-h{margin-top:0}
.mini a{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding-block:14px;border-bottom:1px solid var(--line);align-items:center}
.mini .thumb{aspect-ratio:1/1}
.mini .thumb::before{font-size:8px}
.mini .tit,.rank .tit{font-size:14px;font-weight:700;line-height:1.5}
.rank{margin-top:32px}
.rank ol{counter-reset:nx}
.rank li{counter-increment:nx;border-bottom:1px solid var(--line)}
.rank li a{display:flex;gap:12px;padding-block:14px}
.rank li a::before{content:counter(nx);flex:none;width:22px;color:var(--accent);font-size:22px;font-weight:700;line-height:1.1}
.rank li:hover .tit,.mini a:hover .tit{color:var(--accent)}
.aside-sticky .banner{margin-top:32px}
.related{margin-top:56px;padding-bottom:56px}
.rel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:20px}
.rel-grid a{display:block}
.rel-grid .cat{margin-top:12px;margin-bottom:2px}
.rel-grid .tit{font-size:16px;font-weight:700;line-height:1.45;letter-spacing:-.02em}
.rel-grid a:hover .tit{color:var(--accent)}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:50;padding:12px 20px;border-radius:24px;background:var(--fg);color:#fff;font-size:14px}

/* 회사소개·약관·사이트맵 */
.sec-head{padding-top:36px;padding-bottom:20px;border-bottom:3px solid var(--accent);margin-bottom:8px}
.sec-head h1{margin-top:10px;font-size:clamp(28px,4vw,40px);font-weight:900;letter-spacing:-.04em;line-height:1.1}
.sec-head h1 b{color:var(--accent)}
.boiler{margin-top:24px;padding:22px 24px;background:var(--soft);font-size:15px;line-height:1.8}
.boiler a{text-decoration:underline}

/* 검색 */
.srch-head{padding-top:48px}
.srch-head .search-form{position:relative;gap:0;border-bottom:3px solid var(--line-strong)}
.srch-head .search-form input[type=search]{height:72px;border:0;font-size:30px;font-weight:700;letter-spacing:-.03em;padding:0 56px 0 4px;background:transparent}
.srch-head .search-form input[type=search]:focus{outline:0}
.srch-head .search-form button[type=submit]{height:72px;padding:0 28px;font-size:16px}
.srch-head .clear{position:absolute;right:112px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;background:transparent;font-size:26px;line-height:1;color:var(--muted)}
.srch-summary{margin-top:18px;font-size:15px;color:#4a4d55}
.srch-summary b{color:var(--fg)}
.srch-summary strong{color:var(--accent);font-weight:700}
.filters{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-top:22px;border-bottom:1px solid var(--line)}
.ftabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.ftabs::-webkit-scrollbar{display:none}
.ftabs a{display:inline-flex;gap:6px;align-items:baseline;padding:12px;font-size:14px;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent;color:#4a4d55}
.ftabs a span{font-size:12px;font-weight:400;color:var(--muted)}
.ftabs a[aria-current]{color:var(--fg);border-bottom-color:var(--accent)}
.ftabs a[aria-disabled]{color:#b5b8c0;pointer-events:none}
.fopts{display:flex;gap:8px;padding-bottom:8px}
.fopts select{height:36px;padding:0 10px;border:1px solid var(--line);background:var(--bg);font-size:13px;border-radius:0}
.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start}
.latest.results>a,.mn-latest .body{min-width:0}
.latest.results>a{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;padding-block:20px;border-bottom:1px solid var(--line);align-items:start}
.latest.results .thumb{aspect-ratio:16/10}
.latest.results .tit{font-size:20px;line-height:1.4;font-weight:700;letter-spacing:-.025em}
.latest.results .sum{margin-top:8px;font-size:15px;-webkit-line-clamp:2}
.latest.results .date{display:block;margin-top:10px}
.latest.results a:hover .tit{color:var(--accent)}
.latest.results .sec-h{margin-bottom:8px}
.split>aside{padding-top:20px}
.empty{padding-block:56px;color:#4a4d55}
.empty .big{font-size:22px;font-weight:700;color:var(--fg);margin-bottom:16px}
.empty ul{list-style:disc;padding-left:1.2em;line-height:1.9;font-size:15px}

/* 페이저 */
.pager{display:flex;justify-content:center;align-items:center;gap:6px}
.pager a,.pager span{display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 6px;font-size:15px;color:#4a4d55}
.pager a:hover{background:var(--soft)}
.pager [aria-current]{background:var(--fg);color:#fff;font-weight:700}

/* 푸터 */
.site-foot{margin-top:24px;padding-block:44px 28px;background:var(--soft)}
.foot{display:flex;justify-content:space-between;gap:48px;padding-bottom:32px}
.foot>div:first-child{max-width:420px}
.foot .logo{font-size:30px}
.foot p{margin-top:12px;font-size:14px;color:var(--muted);line-height:1.7}
.foot-cols{display:flex;gap:56px}
.foot-cols h3{font-size:13px;font-weight:900;letter-spacing:.12em;margin-bottom:12px}
.foot-cols li a{display:block;padding-block:4px;font-size:14px;color:#4a4d55}
.foot-cols li a:hover{color:var(--accent)}
.copy{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.copy nav{display:flex;gap:18px}
.copy nav a:first-child{color:var(--fg);font-weight:700}
.copy nav a:hover{color:var(--accent)}

/* 반응형 */
@media (max-width:900px){
  .art-wrap{grid-template-columns:minmax(0,1fr);gap:32px}
  .rel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blocks{grid-template-columns:minmax(0,1fr);gap:8px}
  .split{grid-template-columns:minmax(0,1fr);gap:8px}
  .foot{flex-direction:column;gap:28px}
  .foot-cols{flex-direction:column;gap:12px}
}
@media (max-width:640px){
  .wrap{padding-inline:16px}
  .masthead .wrap{min-height:84px}
  .logo{font-size:34px}
  .tagline{font-size:11px}
  .tool .lbl{display:none}
  .srch-head{padding-top:28px}
  .srch-head .search-form input[type=search]{height:56px;font-size:22px}
  .srch-head .search-form button[type=submit]{height:56px;padding:0 18px}
  .srch-head .clear{right:84px}
  .latest.results>a{grid-template-columns:minmax(0,1fr) 104px;gap:14px;padding-block:16px}
  .latest.results .thumb{order:2;aspect-ratio:1/1}
  .latest.results .tit{font-size:17px}
  .latest.results .sum{display:none}
  .rel-grid{gap:16px}
  .rel-grid .tit{font-size:14px}
  .art-nav{flex-direction:column}
}


/* 검색 페이지 */
.sx-form{display:flex;gap:8px;margin-top:18px;max-width:520px}
.sx-form input{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid var(--line-strong);background:var(--bg);color:var(--fg);font:inherit}
.sx-form input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sx-form button{height:44px;padding:0 22px;border:0;background:var(--fg);color:var(--bg);font:inherit;font-weight:700;cursor:pointer}
.sx-empty{text-align:center;color:var(--muted);padding-block:48px;line-height:1.8}
.sx-empty b{color:var(--fg);font-size:18px}
.sx-list{max-width:820px;margin-bottom:48px}

/* 섹션 페이지 전용 스타일: 제목+하위 탭 / 머리기사 / 최신기사 + 많이 본 기사 사이드바 */
.mn-head{display:flex;align-items:flex-end;gap:28px;flex-wrap:wrap;padding-top:40px;padding-bottom:16px;border-bottom:3px solid var(--accent)}
.mn-head h1{font-size:clamp(30px,4vw,44px);font-weight:900;letter-spacing:-.04em;line-height:1}
.mn-head nav{display:flex;gap:6px 22px;flex-wrap:wrap;padding-bottom:3px}
.mn-head nav a{font-size:16px;font-weight:500;color:var(--fg)}
.mn-head nav a:hover,.mn-head nav a[aria-current]{color:var(--accent);font-weight:700}
.mn-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding-top:24px;align-items:start}
.mn-lead{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:28px;padding-block:8px 36px}
.mn-lead .tit{font-size:clamp(20px,2.2vw,26px);line-height:1.38;font-weight:900;letter-spacing:-.035em}
.mn-lead .sum{margin-top:18px;font-size:15px;line-height:1.7;-webkit-line-clamp:4}
.mn-lead .date{display:block;margin-top:14px}
.mn-lead .thumb{aspect-ratio:16/9}
.mn-latest{border-top:3px solid var(--accent)}
.mn-latest h2{color:var(--accent);font-size:18px;font-weight:900;padding-block:18px 8px}
.mn-latest #latest-list>a{display:grid;grid-template-columns:205px minmax(0,1fr);gap:28px;padding-block:22px;border-bottom:1px solid var(--line);align-items:center}
.mn-latest .thumb{aspect-ratio:16/9}
.mn-latest .tit{font-size:20px;line-height:1.4;font-weight:700;letter-spacing:-.025em}
.mn-latest .sum{margin-top:10px;font-size:15px;line-height:1.65;-webkit-line-clamp:2}
.mn-latest .date{display:block;margin-top:12px}
.mn-side{position:static}
.mn-rank h2{color:var(--accent);font-size:18px;font-weight:900;padding-block:6px 14px}
.mn-rank ol{list-style:none;margin:0;padding:0}
.mn-rank li a{display:grid;grid-template-columns:28px minmax(0,1fr) 84px;gap:12px;padding-block:18px;border-top:1px solid var(--line);align-items:start}
.mn-rank li:first-child a{border-top:0;padding-top:4px}
.mn-rank .no{font-size:30px;font-weight:300;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.mn-rank .tit{font-size:15px;line-height:1.5;font-weight:700;display:block}
.mn-rank .date{display:block;margin-top:8px}
.mn-rank .thumb{aspect-ratio:1/1}
.mn-rank .thumb::before{font-size:8px}
@media (max-width:900px){
  .mn-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .mn-side{position:static}
}
@media (max-width:640px){
  .mn-head{padding-top:24px;gap:14px}
  .mn-lead{grid-template-columns:minmax(0,1fr);gap:16px}
  .mn-lead>a:last-child{order:-1}
  .mn-latest #latest-list>a{grid-template-columns:minmax(0,1fr) 104px;gap:14px;padding-block:16px}
  .mn-latest #latest-list>a .thumb{order:2;aspect-ratio:1/1}
  .mn-latest .tit{font-size:17px}
  .mn-latest .sum{display:none}
}

.mn-head{padding-top:28px}

/* 검색: 0건 안내가 사이드바 높이만큼 늘어나지 않게, 사이드바 상단 여백 */
.split>.empty{align-content:start;align-self:start}
.srch-head+.split>aside{padding-top:24px}

/* 페이저: 화살표를 크게, 모바일에서 한 줄에 들어가도록 크기 축소 */
.pager a[aria-label]{font-size:20px;line-height:1}
@media (max-width:640px){.pager{gap:2px}.pager a,.pager span{min-width:30px}}
@media (max-width:360px){.pager a,.pager span{min-width:26px}}

/* 푸터: 1열로 쌓이는 폭에서는 정렬용 빈 제목을 숨겨 NEWS 목록이 끊겨 보이지 않게 */
@media (max-width:900px){.foot-cols h3.sp{display:none}.foot-cols{gap:12px}}

/* 머리기사가 없는 페이지(2페이지~)에서는 제목 아래 선과 겹치지 않게 최신기사 상단선 제거 */
.mn-latest.no-lead{border-top:0}

.boiler p:last-child{margin-bottom:0}

/* 검색어 없는 첫 화면: 입력창 밑줄과 안내 제목 사이 간격 */
.srch-head+.split .sec-h{margin-top:24px;border-bottom-width:1px}

/* 홈: 상단 NEWS 제목 영역을 없애고 LIVE 띠 아래 간격만 유지 */
main.wrap>.sr-only+.mn-grid{padding-top:32px}

/* 안내 박스 뒤에 문단이 이어질 때 간격 */
.boiler{margin-bottom:20px}
