전남자친구 폭로 명예훼손 스토킹 고소 성공사례 | 검찰 송치 후 합의금 1,000만원
홈
성공사례
명예훼손 · 모욕
전 연인 폭로·스토킹 고소
스토킹 · 명예훼손 · 합의금 1천만원
계좌이체 스토킹, 인스타그램 DM으로 사생활 폭로한 전남친수단이 바뀐 흐름 자체를 증거로 만든 사례
메신저를 차단하자 DM으로, 다시 전화로, 끝내 계좌 입금자명으로 말을 보내왔습니다. 수백 건의 자료를 그대로 내지 않고 시간순 표로 엮어 방법만 바꿔 가며 접근한 흐름을 드러낸 고소대리 기록입니다.
카테고리 스토킹 · 명예훼손
결과 스토킹 검찰 송치 · 합의금 1,000만원
쟁점 차단 이후의 접근과 반복성
작성일 2026. 8.
의뢰인
헤어진 뒤 전 연인의 폭로와 반복적인 연락에 시달리던 분
사건 발단
연인 관계에서 알게 된 지극히 사적인 과거사가 가족과 친인척, 지인에게까지 퍼졌고 거부 의사를 밝힌 뒤에도 연락이 이어짐
특이한 수단
메신저와 전화를 차단하자 계좌에 소액을 송금하며 입금자명에 하고 싶은 말을 적어 보내는 방식까지 등장
대응 전략
수백 건의 자료를 그대로 내지 않고 날짜·시간·수단·횟수·내용으로 나눠 표로 정리해 반복성과 집요함이 한눈에 보이도록 구성
결과
스토킹 혐의 검찰 송치 · 합의금 1,000만원의 피해회복 합의
헤어진 뒤에도 연락이나 폭로가 이어져 힘들다며 찾아오시는 분들이 많습니다. 관계는 끝났는데 사적인 이야기가 주변에 퍼지거나, 차단을 해도 다른 수단으로 연락이 계속되는 경우입니다.
이런 일을 거듭 맡으며 몸에 익은 것이 있습니다. 무슨 일을 당했는가 못지않게 그것을 어떤 모양으로 펼쳐 보이는가가 판을 가른다는 점입니다. 손에 쥔 것이 아무리 많아도 줄기가 잡히지 않으면 그 무게는 상대에게 닿지 않습니다.
오늘 전할 사건도 그랬습니다. 뉴로이어 법률사무소는 수백 건에 이르는 연락과 폭로를 표로 엮어 그 반복성과 집요함이 드러나도록 고소를 진행했고, 스토킹 혐의가 검찰에 송치된 뒤 합의 협상을 이끌어 1,000만원의 피해회복 합의에 닿았습니다.
01사건 개요 — 통장에까지 말이 남았습니다
의뢰인은 전 연인과 헤어진 뒤 두 갈래의 피해를 한꺼번에 겪고 계셨습니다. 하나는 폭로였고 다른 하나는 그치지 않는 연락이었습니다.
상대는 만나는 동안 알게 된 의뢰인의 깊이 사적인 지난 일을 문자와 대화창을 통해 가족과 친척, 아는 이들에게까지 흘렸습니다. 그와 동시에 접근도 멎지 않았습니다. 그만두라는 뜻을 거듭 또렷이 전했는데도 상대는 이 길 저 길로 수십 차례 다가왔습니다.
기록을 받아 보며 특히 눈에 걸린 것은 계좌이체였습니다. 상대는 돈을 보내면서 입금자명 자리에 하고 싶은 말을 적어 보내고 있었습니다. 메신저와 전화는 막을 수 있지만 이쪽은 사정이 달랐습니다. 통장 거래내역에 그 문구가 계속 남기 때문에, 연락을 피하려 해도 온전히 벗어나기 어려운 상황이었습니다.
자료를 처음 펼쳐 보고 든 생각은 분명했습니다. 헤어진 뒤 연락을 몇 차례 더 한 정도로 보이게 해서는 안 된다는 것이었습니다. 폭로가 누구에게 어떤 방식으로 이뤄졌는지, 거부 의사를 밝힌 뒤에도 어떤 수단으로 접근이 이어졌는지를 하나의 흐름으로 보여야 상대의 집요함이 드러날 수 있다고 봤습니다.
막힐 때마다 수단을 바꾼다는 것
한 가지 방법으로만 연락했다면 감정을 추스르지 못한 것으로 읽힐 수도 있습니다. 그런데 막힐 때마다 다른 길을 찾아 들어온다면 이야기가 달라집니다. 그 전환 자체가 상대의 의사를 알고도 계속하겠다는 뜻을 보여 주기 때문입니다. 그래서 이런 사건에서는 각각의 연락보다 수단이 바뀌어 온 순서가 더 많은 것을 말합니다.
자료의 과잉
수백 건에 이르는 기록을 그대로 내면 오히려 묻히는 문제를 어떻게 풀 것인가.
수단 전환의 입증
막힐 때마다 다른 방법으로 옮겨 간 흐름을 어떻게 드러낼 것인가.
계좌이체의 평가
직접 대화가 오간 것이 아닌 방식도 스토킹으로 볼 수 있는가.
부재중 전화의 성격
통화가 이뤄지지 않은 연락 시도를 어떻게 자리매김할 것인가.
개별 전달의 구성
여러 사람에게 각각 보낸 메시지를 어떤 기준으로 정리할 것인가.
합의로 가는 길
피해 회복까지 이어지려면 상대가 무엇을 느껴야 하는가.
02문제 해결 — 자료 더미를 흐름으로 바꿨습니다
이런 사건을 맡다 보면 피해가 심할수록 오히려 까다로워지는 대목이 있습니다. 자료가 너무 많다는 점입니다. 이번에도 메신저와 DM, 부재중 전화, 계좌이체 내역까지 기록이 상당했습니다.
피해자 입장에서는 하나하나가 모두 소중한 증거지만, 그대로 제출하면 수사기관은 수백 장을 처음부터 다시 읽어야 합니다. 그렇게 내서는 상대가 얼마나 집요하게 이어 왔는지가 오히려 묻힐 수 있다고 봤습니다.
범죄일람표 작성
언제 몇 시에 어떤 통로로 몇 번, 무슨 말을 보냈는지를 낱낱이 끌어내 시간의 순서대로 늘어놓았습니다. 종이 한 장으로 사건의 뼈대를 세우는 일이었습니다.
수단 전환의 시각화
대화창을 닫자 사진 앱의 쪽지로 옮겨 가고, 그마저 막히자 전화를 걸었으며, 끝내는 송금 화면까지 손을 뻗은 자취가 한 줄로 읽히게 다듬었습니다. 그렇게 늘어놓고 나니 이 일의 성격이 훨씬 또렷해졌습니다.
계좌이체와 부재중 전화의 법리
겉으로 보면 직접 대화가 오간 것도 아니고 계좌이체는 다소 특이한 연락 방법처럼 보일 수 있습니다. 그래서 이런 방식까지 스토킹행위로 평가받을 수 있는지가 중요하다고 보고, 관련 판단을 찾아 고소 내용에 함께 붙였습니다.
폭로 부분의 개별 정리
여러 사람에게 각각 메시지를 보낸 대목에 대해서는 누구에게 어떤 내용이 전달됐는지, 이후 퍼져 나갈 여지가 있었는지를 따로 정리했습니다. 행동 하나하나에 증거와 법리를 붙여 나갔습니다.
다툼의 여지 차단
연인 사이의 다툼으로 넘길 수 없도록, 반복성과 집요함은 표로 보이고 각 행위가 왜 문제되는지는 판례와 법리로 받쳐 두었습니다.
이 사건 고소대리의 무게중심
증거가 많다고 사건이 강해지지는 않습니다. 오히려 읽는 사람이 지치면 무게가 흩어집니다. 저희가 한 일은 흩어진 조각을 한 줄로 꿰어 상대가 걸어온 길을 보이게 만든 것이었습니다. 그 길이 드러나자 상대 쪽에서도 처벌 가능성을 가볍게 볼 수 없게 됐고, 그 압박이 합의로 이어졌습니다.
주의해야 할 점
메신저 화면만 모아 두시는 분들이 많은데 그것으로는 부족합니다. 전화 기록과 계좌 거래내역, 주변 사람에게 전달된 메시지까지 남아 있는 자료를 그대로 보존해 두시기 바랍니다. 특히 거부 의사를 밝힌 시점이 언제였는지가 사건의 기준선이 되니, 그 대화는 지우지 마시고 따로 갈무리해 두시는 편이 좋습니다.
03최종 결과 — 검찰 송치 후 1,000만원 합의
고소장을 낸 뒤 스토킹 쪽 혐의는 검찰로 넘어갔습니다. 명예를 훼손한 부분은 협의를 거치며 처벌을 원하지 않는다는 뜻이 담겼고, 이어 상대로부터 1,000만원을 받는 피해 회복 합의까지 매듭지었습니다.
결과를 받아 들고 다행스럽게 여긴 것은 금액만이 아니었습니다. 의뢰인은 이미 연락을 막아 두었는데도 다른 방법으로 접근을 당했고, 자신의 사적인 이야기가 주변에 퍼지는 상황을 오래 견뎌야 했습니다. 이제 더는 상대의 연락을 걱정하지 않고 원래의 하루로 돌아가실 수 있게 됐다는 점이 가장 큰 의미였습니다.
"증거가 많다고 사건이 강해지지는 않습니다. 흩어진 조각을 한 줄로 꿰어야 상대가 걸어온 길이 보입니다."
— 뉴로이어 법률사무소
이번 일로 되새긴 대목도 있습니다. 이런 사안은 화면을 잔뜩 저장해 두는 것으로 마무리되지 않습니다. 어느 시점에 그만두라는 뜻을 전했는지, 그 뒤로 어떤 통로를 통해 몇 번이나 접근이 있었는지, 길을 막고 나서는 무엇이 새로 동원됐는지를 한 줄기로 엮어야 비로소 모양이 잡힙니다.
옛 연인 때문에 사생활이 새어 나가거나 연락에 시달리고 계시다면 대화창만 붙들지 마시기 바랍니다. 통화가 남긴 흔적, 통장에 찍힌 자국, 주변에 뿌려진 문자까지 손에 닿는 것은 그대로 두시는 편이 좋습니다. 그 자료를 들고 말씀 주시면 어느 행위부터 손봐야 하고 어떤 길로 갈 수 있을지 서류부터 훑어 드리겠습니다.
반복 연락·폭로 피해, 보존할 자료
거부 의사를 밝힌 대화를 시점과 함께 갈무리했는가
메신저와 DM 화면을 날짜가 보이도록 저장했는가
부재중 전화를 포함한 통화 기록을 확보했는가
계좌 거래내역에 남은 입금자명을 출력해 두었는가
주변 사람에게 전달된 메시지를 받아 정리했는가
차단한 시점과 그 이후 쓰인 수단을 순서대로 적어 두었는가
관련 개념 정리
거부 의사와 반복성
상대가 그만두라는 뜻을 밝힌 뒤에도 접근이 이어졌는지가 판단의 기준선이 됩니다. 그 시점을 기록으로 남겨 두는 일이 중요한 이유입니다.
연락 수단의 범위
직접 대화가 오간 방식만 문제되는 것은 아닙니다. 통화가 이뤄지지 않은 연락 시도나 입금자명을 이용한 방식까지 평가 대상이 될 수 있는지는 관련 판단을 찾아 함께 제시하게 됩니다.
개별 전달과 전파 가능성
여러 사람에게 각각 메시지를 보낸 경우에는 누구에게 어떤 내용이 전해졌는지, 그것이 다시 퍼져 나갈 여지가 있었는지가 함께 검토됩니다.
범죄일람표의 쓸모
날짜와 시간, 수단, 횟수, 내용을 표로 정돈해 사건의 흐름을 한눈에 보이게 하는 자료입니다. 자료가 많은 사건일수록 그 필요가 커집니다.
이 사건을 담당한 변호인
고소 구성과 합의 협상을 이어서 끌고 가야 했습니다. 이 사건은 두 변호사가 나눠 수행했습니다.
CEO Lawyer
김수열 대표변호사
#협박·스토킹#명예훼손·모욕#사이버범죄
서울대학교 심리학과를 거쳐 서울대학교 법학전문대학원을 졸업했고, 법무법인 율촌을 거쳐 뉴로이어 법률사무소를 이끌고 있는 대한변호사협회 인증 형사전문변호사입니다. 스토킹과 사생활 폭로가 얽힌 사건의 고소대리를 다수 수행해 왔습니다.
서울대 총학생회장 명예훼손 사건 대법원 파기환송 승소
방송 출연자·인플루언서 악성댓글 집단 고소 성공 수행
언론사 가짜뉴스 명예훼손·업무방해 고소대리
프로필 자세히 보기 →
Partner Lawyer
오동현 파트너변호사
#명예훼손·모욕#기업자문#사기·보이스피싱
고려대학교 법학전문대학원을 수석입학·최우등졸업하고 고려대학교 미디어학부를 거쳤으며, 법무법인 율촌을 비롯한 국내 5대 대형로펌 출신입니다. 자료 분석과 합의 협상이 함께 필요한 사건을 폭넓게 수행합니다.
60억 투자사기 집단소송 전부승소
이커머스 기업 상대 21억 청구 전부승소
40억 전세사기 사건 집행유예
프로필 자세히 보기 →
FAQ전 연인 폭로·스토킹, 자주 묻는 질문
차단했는데 계좌로 연락해 오면 스토킹이 되나요?
직접 대화가 오간 방식만 문제되는 것은 아닙니다. 입금자명을 이용해 말을 전하는 방식도 평가 대상이 될 수 있는지 관련 판단을 찾아 함께 제시하게 됩니다. 이 사건에서도 그 부분을 고소 내용에 붙였습니다.
부재중 전화도 연락으로 볼 수 있나요?
통화가 이뤄지지 않았다는 사정만으로 의미가 없어지지는 않습니다. 거부 의사를 밝힌 뒤에도 시도가 반복됐다면 그 자체가 흐름의 일부가 되므로, 통화 기록을 함께 확보해 두시기 바랍니다.
전 연인이 과거 이야기를 주변에 퍼뜨렸다면요?
누구에게 어떤 내용이 전달됐는지, 그것이 다시 퍼져 나갈 여지가 있었는지를 나눠 정리하게 됩니다. 여러 사람에게 각각 보낸 메시지라면 각 전달마다 따로 살펴야 하므로 받은 분들의 자료를 모아 두시는 편이 좋습니다.
캡처를 많이 모아 두면 되는 것 아닌가요?
자료가 많다고 사건이 강해지지는 않습니다. 그대로 내면 읽는 쪽에서 수백 장을 처음부터 살펴야 해서 오히려 집요함이 묻힐 수 있습니다. 언제부터 거부했고 그 뒤 어떤 수단으로 이어졌는지를 흐름으로 만드는 작업이 필요합니다.
합의금은 어느 정도로 정해지나요?
사안마다 달라 일률적으로 말하기 어렵습니다. 반복된 기간과 횟수, 폭로가 미친 범위, 상대의 태도 등이 함께 고려됩니다. 이 사건에서는 검찰 송치 이후의 협상을 거쳐 1,000만원으로 정리됐습니다.
처벌과 합의 중 어느 쪽으로 진행하나요?
무엇을 바라시는지에 따라 달라집니다. 이 사건에서는 스토킹 혐의가 송치된 상태에서 협상이 이뤄졌고, 명예훼손 부분은 합의 과정에서 처벌불원 의사가 반영되며 피해 회복으로 마무리됐습니다.
함께 보면 좋은 글
전여자친구 허위사실유포 명예훼손·스토킹·통매음, 손해배상 700만원 성공사례
계정 무단로그인 정보통신망 침입, 접속자를 특정해 벌금형까지 이끈 사례
트위터 사이버불링 집단고소, 악플러 5명을 특정해 처분까지 받아낸 사례
흩어진 기록을 흐름으로 만들어 드립니다
전 연인의 폭로나 반복적인 연락으로 힘드시다면 메신저 화면과 통화 기록, 계좌 거래내역을 정리해 문의해 주세요.어떤 행위부터 정리하고 어떻게 대응할지 기록부터 살펴 드립니다.
카카오톡 상담
070-8098-0421
홈페이지 상담 신청
모든 상담 내용은 비밀이 보장됩니다
관련 법령: 스토킹범죄의 처벌 등에 관한 법률 (국가법령정보센터, 작성일 기준)
뉴로이어 법률사무소 · 서울 서초구 강남대로 525 세영제이타워 11층(06536) · 사업자등록번호 588-14-01388 · [email protected]
본 성공사례는 뉴로이어 법률사무소가 실제 수행한 사건을 바탕으로 작성됐으며, 의뢰인 보호를 위해 일부 사실관계를 조정했습니다. 개별 사건의 결과는 구체적 사정에 따라 달라질 수 있어, 본 글이 유사 사건에서 동일한 결과를 약속하는 것은 아닙니다.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "막으면 다른 길로 들어오던 연락, 수단이 바뀐 흐름 자체를 증거로 만든 성공사례",
"description": "헤어진 뒤 사적인 과거사가 주변에 퍼지고 차단 이후에도 DM·전화·계좌이체로 연락이 이어진 사건. 수백 건의 자료를 범죄일람표로 엮어 수단이 바뀌어 온 흐름을 드러내고, 스토킹 검찰 송치와 1,000만원 피해회복 합의를 이끌어낸 뉴로이어 고소대리 성공사례입니다.",
"inLanguage": "ko",
"datePublished": "2026-08-12",
"dateModified": "2026-08-12",
"author": [
{
"@type": "Person",
"name": "김수열",
"jobTitle": "대표변호사",
"url": "https://newlawyer.co.kr/page/21_view?wr_id=1",
"image": "https://newlawyer.co.kr/data/file/member/thumb-238321632_UzWE7X3O_a622b2fa6778b002d58c2ddc7bdddb15cb53f084_460x460.jpg",
"knowsAbout": [
"협박·스토킹",
"명예훼손·모욕",
"사이버범죄",
"스토킹처벌법"
],
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "서울대학교 법학전문대학원"
},
"worksFor": {
"@type": "LegalService",
"name": "뉴로이어 법률사무소",
"url": "https://www.newlawyer.co.kr"
}
},
{
"@type": "Person",
"name": "오동현",
"jobTitle": "파트너변호사",
"url": "https://www.newlawyer.co.kr/page/21_view?wr_id=10",
"image": "https://www.newlawyer.co.kr/data/file/member/thumb-238321632_WqtGJiPz_afef4e1fb4bb9821d2e66a7897139c20dca081de_460x460.jpg",
"knowsAbout": [
"명예훼손·모욕",
"합의 협상",
"기업자문",
"사기·보이스피싱"
],
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "고려대학교 법학전문대학원"
},
"worksFor": {
"@type": "LegalService",
"name": "뉴로이어 법률사무소",
"url": "https://www.newlawyer.co.kr"
}
}
],
"publisher": {
"@type": "LegalService",
"name": "뉴로이어 법률사무소",
"url": "https://www.newlawyer.co.kr",
"address": {
"@type": "PostalAddress",
"streetAddress": "강남대로 525 세영제이타워 11층",
"addressLocality": "서초구",
"addressRegion": "서울",
"postalCode": "06536",
"addressCountry": "KR"
},
"telephone": "+82-70-8098-0421"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.newlawyer.co.kr/31/425"
},
"about": [
"전남자친구 폭로 명예훼손",
"전남자친구 스토킹 고소",
"계좌이체 스토킹",
"스토킹처벌법",
"사생활 폭로",
"스토킹 합의금"
]
}
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "홈",
"item": "https://www.newlawyer.co.kr"
},
{
"@type": "ListItem",
"position": 2,
"name": "성공사례",
"item": "https://www.newlawyer.co.kr/31"
},
{
"@type": "ListItem",
"position": 3,
"name": "명예훼손 · 모욕",
"item": "https://www.newlawyer.co.kr/31?sca=%EB%AA%85%EC%98%88%ED%9B%BC%EC%86%90+%C2%B7+%EB%AA%A8%EC%9A%95"
},
{
"@type": "ListItem",
"position": 4,
"name": "전 연인 폭로·스토킹 고소",
"item": "https://www.newlawyer.co.kr/31/425"
}
]
}
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "차단했는데 계좌로 연락해 오면 스토킹이 되나요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "직접 대화가 오간 방식만 문제되는 것은 아닙니다. 입금자명을 이용해 말을 전하는 방식도 평가 대상이 될 수 있는지 관련 판단을 찾아 함께 제시하게 됩니다. 이 사건에서도 그 부분을 고소 내용에 붙였습니다."
}
},
{
"@type": "Question",
"name": "부재중 전화도 연락으로 볼 수 있나요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "통화가 이뤄지지 않았다는 사정만으로 의미가 없어지지는 않습니다. 거부 의사를 밝힌 뒤에도 시도가 반복됐다면 그 자체가 흐름의 일부가 되므로, 통화 기록을 함께 확보해 두시기 바랍니다."
}
},
{
"@type": "Question",
"name": "전 연인이 과거 이야기를 주변에 퍼뜨렸다면요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "누구에게 어떤 내용이 전달됐는지, 그것이 다시 퍼져 나갈 여지가 있었는지를 나눠 정리하게 됩니다. 여러 사람에게 각각 보낸 메시지라면 각 전달마다 따로 살펴야 하므로 받은 분들의 자료를 모아 두시는 편이 좋습니다."
}
},
{
"@type": "Question",
"name": "캡처를 많이 모아 두면 되는 것 아닌가요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "자료가 많다고 사건이 강해지지는 않습니다. 그대로 내면 읽는 쪽에서 수백 장을 처음부터 살펴야 해서 오히려 집요함이 묻힐 수 있습니다. 언제부터 거부했고 그 뒤 어떤 수단으로 이어졌는지를 흐름으로 만드는 작업이 필요합니다."
}
},
{
"@type": "Question",
"name": "합의금은 어느 정도로 정해지나요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "사안마다 달라 일률적으로 말하기 어렵습니다. 반복된 기간과 횟수, 폭로가 미친 범위, 상대의 태도 등이 함께 고려됩니다. 이 사건에서는 검찰 송치 이후의 협상을 거쳐 1,000만원으로 정리됐습니다."
}
},
{
"@type": "Question",
"name": "처벌과 합의 중 어느 쪽으로 진행하나요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "무엇을 바라시는지에 따라 달라집니다. 이 사건에서는 스토킹 혐의가 송치된 상태에서 협상이 이뤄졌고, 명예훼손 부분은 합의 과정에서 처벌불원 의사가 반영되며 피해 회복으로 마무리됐습니다."
}
}
]
}
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "반복 연락·폭로 스토킹 고소 절차",
"description": "차단 이후에도 수단을 바꿔 이어진 연락과 사생활 폭로에 대응하는 순서입니다.",
"step": [
{
"@type": "HowToStep",
"name": "범죄일람표 작성",
"text": "날짜와 시간, 수단, 횟수, 내용을 뽑아 시간순으로 정돈합니다."
},
{
"@type": "HowToStep",
"name": "수단 전환의 시각화",
"text": "메신저에서 DM, 전화, 계좌이체로 옮겨 간 흐름이 한눈에 보이게 만듭니다."
},
{
"@type": "HowToStep",
"name": "특이 수단의 법리 보강",
"text": "계좌이체나 부재중 전화도 평가 대상이 될 수 있는지 관련 판단을 붙입니다."
},
{
"@type": "HowToStep",
"name": "폭로 부분의 개별 정리",
"text": "누구에게 어떤 내용이 전달됐고 전파 여지가 있었는지 나눠 정리합니다."
},
{
"@type": "HowToStep",
"name": "다툼의 여지 차단",
"text": "반복성은 표로, 각 행위의 문제성은 판례와 법리로 받쳐 둡니다."
}
]
}
:root {
--nl-navy: #1f4e79;
--nl-navy-2: #2e5a8a;
--nl-navy-3: #0f2e4d;
--nl-navy-soft: #5b7ea1;
--nl-ink: #222222;
--nl-soft: #444444;
--nl-mute: #767676;
--nl-line: #e5e7eb;
--nl-line-soft: #eef0f3;
--nl-bg-soft: #f5f7fa;
--nl-bg-card: #fafbfc;
--nl-accent: #c0392b;
--nl-bg: #ffffff;
}
.nl-wrap {
font-family: "Pretendard", "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
color: var(--nl-ink);
line-height: 1.85;
font-size: clamp(15px, 1.05vw + 12px, 17px);
background: var(--nl-bg);
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
word-break: keep-all;
overflow-wrap: anywhere;
max-width: 880px;
margin: 0 auto;
padding: clamp(20px, 4vw, 48px) clamp(16px, 3vw, 32px);
position: relative;
font-feature-settings: "ss01", "ss02";
letter-spacing: -0.005em;
}
.nl-wrap * { box-sizing: border-box; }
.nl-wrap a { color: var(--nl-navy); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.nl-wrap a:hover { color: var(--nl-navy-3); }
.nl-crumb {
font-size: 13px;
color: var(--nl-mute);
letter-spacing: 0.01em;
margin-bottom: 24px;
padding-bottom: 14px;
border-bottom: 1px solid var(--nl-line);
}
.nl-crumb ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 10px; }
.nl-crumb li + li::before { content: "›"; margin-right: 10px; color: var(--nl-navy-soft); }
.nl-crumb a { color: var(--nl-mute); text-decoration: none; }
.nl-crumb a:hover { color: var(--nl-navy); }
.nl-tag {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 12px;
font-weight: 600;
letter-spacing: 0.12em;
color: #ffffff;
background: var(--nl-navy);
padding: 7px 16px;
border-radius: 2px;
}
.nl-tag::before {
content: "";
width: 6px; height: 6px;
border-radius: 50%;
background: #ffffff;
}
.nl-h1 {
font-weight: 800;
font-size: clamp(24px, 3.2vw + 12px, 38px);
line-height: 1.35;
color: var(--nl-navy-3);
margin: 16px 0 14px;
letter-spacing: -0.025em;
}
.nl-h1 .nl-h1-accent { color: var(--nl-navy); }
.nl-sub {
font-size: clamp(14px, 0.6vw + 12px, 16px);
color: var(--nl-soft);
margin: 0 0 28px;
line-height: 1.75;
font-weight: 400;
}
.nl-meta {
display: flex;
flex-wrap: wrap;
gap: 14px;
font-size: 13px;
color: var(--nl-mute);
padding: 12px 0;
border-top: 1px solid var(--nl-line);
border-bottom: 1px solid var(--nl-line);
margin-bottom: 36px;
}
.nl-meta span { display: inline-flex; align-items: center; gap: 6px; }
.nl-meta strong { color: var(--nl-navy); font-weight: 600; }
.nl-author {
display: grid;
grid-template-columns: auto 1fr;
gap: 18px;
align-items: center;
background: var(--nl-bg-soft);
border-left: 4px solid var(--nl-navy);
padding: 22px 24px;
margin: 0 0 36px;
border-radius: 2px;
}
.nl-author-badge {
width: 60px; height: 60px;
border-radius: 50%;
background: var(--nl-navy);
color: #fff;
display: flex; align-items: center; justify-content: center;
font-weight: 800;
font-size: 20px;
letter-spacing: 0.02em;
}
.nl-author-name { font-weight: 700; font-size: 16px; color: var(--nl-navy-3); margin: 0 0 4px; letter-spacing: -0.01em; }
.nl-author-role { font-size: 13px; color: var(--nl-soft); line-height: 1.65; margin: 0; }
.nl-author-role b { color: var(--nl-navy); font-weight: 600; }
.nl-summary {
background: var(--nl-bg-card);
border: 1px solid var(--nl-line);
border-radius: 4px;
padding: 28px 28px 24px;
margin: 0 0 40px;
position: relative;
}
.nl-summary::before {
content: "한눈에 보기";
position: absolute;
top: -12px; left: 24px;
background: var(--nl-navy);
color: #fff;
font-size: 11px;
letter-spacing: 0.16em;
font-weight: 600;
padding: 5px 14px;
border-radius: 2px;
}
.nl-summary dl {
display: grid;
grid-template-columns: 100px 1fr;
gap: 12px 20px;
margin: 4px 0 0;
font-size: 14.5px;
}
.nl-summary dt {
color: var(--nl-mute);
font-weight: 500;
border-right: 1px solid var(--nl-line);
padding-right: 20px;
line-height: 1.7;
}
.nl-summary dd { margin: 0; color: var(--nl-ink); line-height: 1.7; }
.nl-summary dd b { color: var(--nl-navy); font-weight: 700; }
.nl-summary dd .nl-win { color: var(--nl-navy); font-weight: 700; border-bottom: 2px solid var(--nl-navy); padding-bottom: 1px; }
.nl-lead {
background: var(--nl-bg-soft);
border-left: 4px solid var(--nl-navy);
padding: 22px 26px;
margin: 36px 0;
border-radius: 2px;
}
.nl-lead p { margin: 0; font-size: 16px; line-height: 1.85; color: var(--nl-ink); }
.nl-lead p + p { margin-top: 12px; }
.nl-lead strong { color: var(--nl-navy); font-weight: 700; }
.nl-h2 {
font-weight: 800;
font-size: clamp(20px, 1.5vw + 14px, 26px);
color: var(--nl-navy-3);
margin: 64px 0 22px;
padding-bottom: 14px;
border-bottom: 2px solid var(--nl-navy);
display: flex;
align-items: baseline;
gap: 14px;
letter-spacing: -0.025em;
}
.nl-h2 .nl-h2-no {
font-size: 13px;
color: var(--nl-navy-soft);
letter-spacing: 0.2em;
font-weight: 700;
}
.nl-h3 {
font-weight: 700;
font-size: clamp(17px, 0.7vw + 14px, 19px);
color: var(--nl-navy);
margin: 36px 0 14px;
padding-left: 14px;
border-left: 3px solid var(--nl-navy);
letter-spacing: -0.015em;
}
.nl-wrap p { margin: 14px 0; }
.nl-defn {
background: var(--nl-bg-card);
border: 1px solid var(--nl-line);
border-top: 3px solid var(--nl-navy);
padding: 18px 22px;
margin: 24px 0;
border-radius: 2px;
font-size: 15px;
}
.nl-defn dt {
font-size: 12px;
letter-spacing: 0.14em;
color: var(--nl-navy);
font-weight: 700;
margin-bottom: 8px;
}
.nl-defn dd { margin: 0; color: var(--nl-ink); line-height: 1.8; }
.nl-defn dd b { color: var(--nl-navy); font-weight: 700; }
.nl-statute {
background: var(--nl-bg-soft);
border: 1px solid var(--nl-line);
border-left: 4px solid var(--nl-navy);
padding: 22px 26px;
margin: 28px 0;
border-radius: 2px;
position: relative;
}
.nl-statute::before {
content: "법령";
position: absolute;
top: 16px; right: 20px;
font-size: 10px;
letter-spacing: 0.18em;
font-weight: 700;
color: #fff;
background: var(--nl-navy);
padding: 3px 9px;
border-radius: 2px;
}
.nl-statute .nl-statute-h {
font-weight: 800;
font-size: 16px;
color: var(--nl-navy-3);
margin: 0 0 12px;
padding-right: 60px;
letter-spacing: -0.015em;
}
.nl-statute ol { padding-left: 18px; margin: 8px 0 0; }
.nl-statute li { margin-bottom: 6px; line-height: 1.85; }
.nl-statute .nl-cite { display: block; margin-top: 14px; font-size: 12px; color: var(--nl-mute); }
.nl-statute .nl-cite a { color: var(--nl-navy); }
.nl-issues {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 14px;
margin: 28px 0;
}
.nl-issue {
background: #ffffff;
border: 1px solid var(--nl-line);
border-radius: 2px;
padding: 18px 20px;
position: relative;
overflow: hidden;
transition: border-color 0.2s;
}
.nl-issue:hover { border-color: var(--nl-navy); }
.nl-issue::before {
content: "";
position: absolute;
top: 0; left: 0;
width: 4px; height: 100%;
background: var(--nl-navy);
}
.nl-issue h4 {
font-size: 15px;
color: var(--nl-navy-3);
margin: 0 0 8px;
font-weight: 700;
letter-spacing: -0.015em;
}
.nl-issue p {
font-size: 13.5px;
color: var(--nl-soft);
margin: 0;
line-height: 1.7;
}
.nl-steps {
counter-reset: nlstep;
display: grid;
gap: 12px;
margin: 28px 0;
}
.nl-step {
display: grid;
grid-template-columns: 64px 1fr;
gap: 18px;
background: #ffffff;
border: 1px solid var(--nl-line);
border-left: 4px solid var(--nl-navy);
border-radius: 2px;
padding: 18px 22px;
align-items: start;
}
.nl-step::before {
counter-increment: nlstep;
content: "STEP " counter(nlstep);
font-size: 11px;
font-weight: 700;
color: var(--nl-navy);
background: var(--nl-bg-soft);
padding: 6px 10px;
border-radius: 2px;
letter-spacing: 0.08em;
text-align: center;
line-height: 1.4;
align-self: start;
white-space: nowrap;
}
.nl-step h4 {
font-size: 16px;
color: var(--nl-navy-3);
margin: 2px 0 6px;
font-weight: 700;
letter-spacing: -0.015em;
}
.nl-step p {
font-size: 14.5px;
color: var(--nl-soft);
margin: 0;
line-height: 1.75;
}
.nl-table {
width: 100%;
border-collapse: collapse;
margin: 28px 0;
font-size: 14px;
background: #fff;
border: 1px solid var(--nl-line);
border-radius: 2px;
overflow: hidden;
}
.nl-table th, .nl-table td {
padding: 14px 16px;
border-bottom: 1px solid var(--nl-line);
border-right: 1px solid var(--nl-line);
vertical-align: top;
line-height: 1.7;
}
.nl-table th:last-child, .nl-table td:last-child { border-right: none; }
.nl-table tr:last-child td { border-bottom: none; }
.nl-table thead th {
background: var(--nl-navy);
color: #fff;
font-weight: 600;
letter-spacing: 0.02em;
text-align: left;
font-size: 13.5px;
}
.nl-table tbody th {
background: var(--nl-bg-soft);
color: var(--nl-navy-3);
font-weight: 600;
text-align: left;
width: 28%;
}
.nl-table .nl-td-good { color: var(--nl-navy); font-weight: 700; }
.nl-table .nl-td-bad { color: var(--nl-accent); font-weight: 700; }
.nl-checklist {
background: var(--nl-bg-card);
border: 1px solid var(--nl-line);
border-radius: 2px;
padding: 24px 26px;
margin: 28px 0;
}
.nl-checklist h4 {
font-size: 16px;
color: var(--nl-navy-3);
margin: 0 0 14px;
padding-bottom: 12px;
border-bottom: 1px solid var(--nl-line);
font-weight: 700;
letter-spacing: -0.015em;
}
.nl-checklist ul { list-style: none; padding: 0; margin: 0; }
.nl-checklist li {
position: relative;
padding-left: 30px;
margin-bottom: 10px;
font-size: 14.5px;
color: var(--nl-ink);
line-height: 1.75;
}
.nl-checklist li::before {
content: "";
position: absolute;
left: 0; top: 5px;
width: 18px; height: 18px;
border: 2px solid var(--nl-navy);
border-radius: 2px;
background: #fff;
}
.nl-checklist li::after {
content: "";
position: absolute;
left: 4px; top: 8px;
width: 10px; height: 5px;
border-left: 2px solid var(--nl-navy);
border-bottom: 2px solid var(--nl-navy);
transform: rotate(-45deg);
}
.nl-caution {
background: var(--nl-bg-soft);
border-left: 4px solid var(--nl-navy);
padding: 18px 22px;
margin: 28px 0;
border-radius: 2px;
}
.nl-caution h4 {
font-size: 15px;
color: var(--nl-navy-3);
margin: 0 0 8px;
font-weight: 700;
letter-spacing: -0.015em;
}
.nl-caution h4::before { content: "⚠ "; color: var(--nl-navy); }
.nl-caution p { margin: 0; font-size: 14.5px; color: var(--nl-soft); line-height: 1.75; }
.nl-law {
background: var(--nl-bg-card);
border: 1px solid var(--nl-line);
border-radius: 2px;
padding: 24px 26px;
margin: 28px 0;
}
.nl-law h4 {
font-size: 15px;
color: var(--nl-navy-3);
margin: 0 0 12px;
padding-bottom: 12px;
border-bottom: 1px solid var(--nl-line);
font-weight: 700;
letter-spacing: -0.015em;
}
.nl-law dl { margin: 0; font-size: 14px; }
.nl-law dt { color: var(--nl-navy); font-weight: 700; margin-top: 12px; }
.nl-law dt:first-child { margin-top: 0; }
.nl-law dd { margin: 4px 0 0; color: var(--nl-soft); line-height: 1.75; }
.nl-quote {
border-left: 3px solid var(--nl-navy);
padding: 8px 22px;
margin: 28px 0;
color: var(--nl-soft);
font-size: 16px;
line-height: 1.85;
}
.nl-quote p { font-style: normal; }
.nl-quote cite { display: block; font-style: normal; font-size: 13px; color: var(--nl-mute); margin-top: 8px; }
.nl-faq {
margin: 40px 0;
border-top: 2px solid var(--nl-navy);
}
.nl-faq h2 { margin-top: 24px; }
.nl-faq details {
border-bottom: 1px solid var(--nl-line);
padding: 20px 4px;
}
.nl-faq summary {
font-size: 16px;
font-weight: 700;
color: var(--nl-navy-3);
cursor: pointer;
list-style: none;
display: flex;
align-items: flex-start;
gap: 12px;
line-height: 1.55;
padding-right: 30px;
position: relative;
letter-spacing: -0.015em;
}
.nl-faq summary::-webkit-details-marker { display: none; }
.nl-faq summary::before {
content: "Q";
flex-shrink: 0;
width: 26px; height: 26px;
background: var(--nl-navy);
color: #fff;
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-size: 13px;
font-weight: 700;
}
.nl-faq summary::after {
content: "+";
position: absolute;
right: 0; top: 0;
font-size: 22px;
color: var(--nl-navy);
font-weight: 300;
transition: transform 0.25s;
line-height: 1;
}
.nl-faq details[open] summary::after { content: "−"; }
.nl-faq .nl-a {
margin-top: 14px;
padding-left: 38px;
font-size: 14.5px;
color: var(--nl-soft);
line-height: 1.85;
}
.nl-faq .nl-a::before {
content: "A. ";
font-weight: 800;
color: var(--nl-navy);
}
.nl-related {
background: var(--nl-bg-soft);
border: 1px solid var(--nl-line);
border-radius: 2px;
padding: 24px 26px;
margin: 32px 0;
}
.nl-related h4 {
font-size: 14px;
color: var(--nl-navy-3);
letter-spacing: 0.04em;
margin: 0 0 14px;
padding-bottom: 12px;
border-bottom: 1px solid var(--nl-line);
font-weight: 700;
}
.nl-related ul { list-style: none; padding: 0; margin: 0; }
.nl-related li {
font-size: 14px;
margin: 8px 0;
padding-left: 14px;
position: relative;
}
.nl-related li::before { content: "›"; position: absolute; left: 0; color: var(--nl-navy); font-weight: 700; }
.nl-related a { color: var(--nl-navy); text-decoration: none; }
.nl-related a:hover { text-decoration: underline; }
.nl-cta {
margin: 48px 0 24px;
background: var(--nl-navy);
color: #fff;
border-radius: 2px;
padding: 38px 32px;
text-align: center;
position: relative;
overflow: hidden;
}
.nl-cta::before {
content: "";
position: absolute;
top: 0; left: 0; right: 0;
height: 3px;
background: linear-gradient(90deg, var(--nl-navy-soft) 0%, #ffffff 100%);
}
.nl-cta-h {
font-size: clamp(20px, 1.5vw + 12px, 26px);
font-weight: 800;
margin: 0 0 8px;
position: relative;
letter-spacing: -0.025em;
}
.nl-cta-sub {
font-size: 14.5px;
color: #c5d1e0;
margin: 0 0 24px;
line-height: 1.7;
position: relative;
}
.nl-cta-buttons {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
position: relative;
}
.nl-cta-buttons a {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14.5px;
font-weight: 600;
padding: 14px 26px;
border-radius: 2px;
text-decoration: none;
transition: transform 0.2s, box-shadow 0.2s;
letter-spacing: 0.01em;
}
.nl-cta-buttons a:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.25); }
.nl-cta-kakao { background: #fee500; color: #181600; }
.nl-cta-tel { background: #ffffff; color: var(--nl-navy-3); }
.nl-cta-web { background: #ffffff; color: var(--nl-navy); border: 1.5px solid var(--nl-navy); font-weight: 700; }
.nl-cta-secret {
display: inline-flex;
align-items: center;
margin-top: 18px;
font-size: 12px;
color: #c5d1e0;
letter-spacing: 0.08em;
position: relative;
}
.nl-footer-cite {
margin-top: 40px;
padding-top: 24px;
border-top: 1px solid var(--nl-line);
font-size: 12px;
color: var(--nl-mute);
line-height: 1.8;
}
.nl-footer-cite h4 {
font-size: 12px;
letter-spacing: 0.08em;
color: var(--nl-navy);
margin: 0 0 10px;
font-weight: 700;
}
.nl-footer-cite ul { padding-left: 18px; margin: 0; }
.nl-footer-cite li { margin: 4px 0; }
.nl-footer-cite a { color: var(--nl-navy); }
.nl-disclaimer {
margin-top: 28px;
font-size: 12px;
color: var(--nl-mute);
line-height: 1.75;
padding: 14px 16px;
background: var(--nl-bg-soft);
border: 1px solid var(--nl-line);
border-radius: 2px;
}
@media (max-width: 640px) {
.nl-wrap { padding: 16px 14px; }
.nl-issues { grid-template-columns: 1fr; }
.nl-summary dl { grid-template-columns: 1fr; gap: 4px 0; }
.nl-summary dt { border-right: none; border-bottom: 1px solid var(--nl-line); padding: 0 0 4px; margin-bottom: 4px; }
.nl-author { grid-template-columns: 1fr; text-align: center; }
.nl-author-badge { margin: 0 auto; }
.nl-table thead { display: none; }
.nl-table tr { display: block; border-bottom: 2px solid var(--nl-navy); padding: 8px 0; }
.nl-table th, .nl-table td { display: block; border-right: none; padding: 8px 14px; }
.nl-table tbody th { width: 100%; }
.nl-step { grid-template-columns: 1fr; gap: 8px; }
.nl-step::before { justify-self: start; }
.nl-cta { padding: 28px 20px; }
.nl-cta-buttons a { width: 100%; justify-content: center; }
}
@media (max-width: 380px) {
.nl-wrap { padding: 14px 12px; font-size: 14.5px; }
.nl-h2 { flex-direction: column; gap: 4px; align-items: flex-start; }
.nl-h2 .nl-h2-no { font-size: 12px; }
.nl-statute, .nl-defn, .nl-checklist, .nl-related, .nl-law { padding: 16px 18px; }
}
/* ==========================================================================
[ADD-ON] 담당 변호인 카드 (nl-team) — 기존 스타일 수정 없이 추가된 블록
사용처: 성공사례 하단, CTA 상단. 1~2인 카드 배치.
========================================================================== */
.nl-team {
margin: 40px 0 36px;
}
.nl-team-h {
font-size: 15px;
font-weight: 700;
color: var(--nl-navy);
letter-spacing: -0.01em;
margin: 0 0 4px;
padding-left: 12px;
border-left: 3px solid var(--nl-navy);
line-height: 1.4;
}
.nl-team-sub {
font-size: 13.5px;
color: var(--nl-mute);
margin: 0 0 18px;
padding-left: 15px;
line-height: 1.7;
}
.nl-team-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
}
.nl-card {
display: grid;
grid-template-columns: 84px minmax(0, 1fr);
gap: 16px;
background: var(--nl-bg-card);
border: 1px solid var(--nl-line);
border-top: 3px solid var(--nl-navy);
border-radius: 2px;
padding: 20px 18px;
align-items: start;
}
.nl-card-photo {
width: 84px;
height: 84px;
border-radius: 2px;
overflow: hidden;
background: var(--nl-bg-soft);
border: 1px solid var(--nl-line);
}
.nl-card-photo img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.nl-card-role {
display: inline-block;
font-size: 10.5px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--nl-navy-soft);
margin: 0 0 4px;
line-height: 1.3;
}
.nl-card-name {
font-size: 16.5px;
font-weight: 800;
color: var(--nl-ink);
letter-spacing: -0.02em;
margin: 0 0 8px;
line-height: 1.35;
}
.nl-card-name a {
color: var(--nl-ink);
text-decoration: none;
}
.nl-card-name a:hover {
color: var(--nl-navy);
text-decoration: underline;
text-underline-offset: 3px;
}
.nl-card-tags {
display: flex;
flex-wrap: wrap;
gap: 5px;
margin: 0 0 10px;
padding: 0;
list-style: none;
}
.nl-card-tags li {
font-size: 11.5px;
color: var(--nl-navy);
background: rgba(31, 78, 121, 0.07);
border-radius: 2px;
padding: 2px 7px;
line-height: 1.6;
letter-spacing: -0.01em;
}
.nl-card-desc {
font-size: 13.5px;
color: var(--nl-soft);
line-height: 1.75;
margin: 0 0 10px;
letter-spacing: -0.01em;
}
.nl-card-list {
margin: 0;
padding: 0;
list-style: none;
border-top: 1px solid var(--nl-line-soft);
padding-top: 9px;
}
.nl-card-list li {
font-size: 12.5px;
color: var(--nl-mute);
line-height: 1.7;
padding-left: 10px;
position: relative;
letter-spacing: -0.01em;
}
.nl-card-list li::before {
content: "";
position: absolute;
left: 0;
top: 9px;
width: 3px;
height: 3px;
border-radius: 50%;
background: var(--nl-navy-soft);
}
.nl-card-list li b {
color: var(--nl-soft);
font-weight: 700;
}
.nl-card-link {
display: inline-block;
font-size: 12.5px;
color: var(--nl-navy);
margin-top: 10px;
text-decoration: none;
border-bottom: 1px solid var(--nl-line);
padding-bottom: 1px;
}
.nl-card-link:hover {
border-bottom-color: var(--nl-navy);
}
@media (max-width: 760px) {
.nl-team-grid { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 480px) {
.nl-card {
grid-template-columns: 64px minmax(0, 1fr);
gap: 13px;
padding: 17px 15px;
}
.nl-card-photo { width: 64px; height: 64px; }
.nl-card-name { font-size: 15.5px; }
.nl-card-desc { font-size: 13px; }
}
/* [ADD-ON] 1인 카드일 때 전체 폭 사용 */
.nl-team-grid:has(> .nl-card:only-child) {
grid-template-columns: minmax(0, 1fr);
}
.nl-team-grid > .nl-card:only-child {
grid-template-columns: 110px minmax(0, 1fr);
gap: 20px;
padding: 22px 20px;
}
.nl-team-grid > .nl-card:only-child .nl-card-photo {
width: 110px;
height: 110px;
}
@media (max-width: 480px) {
.nl-team-grid > .nl-card:only-child {
grid-template-columns: 64px minmax(0, 1fr);
gap: 13px;
padding: 17px 15px;
}
.nl-team-grid > .nl-card:only-child .nl-card-photo {
width: 64px;
height: 64px;
}
}