@charset "utf-8";
@font-face {
  font-family: 'UnShinmun';
  src: url('../font/UnShinmun.ttf') format('truetype'),
       url('https://static.wfonts.com/data/2015/09/07/unshinmun/UnShinmun.ttf') format('truetype');
  font-display: swap;
}

/* =========================================================================
 * main.css — 메인(인덱스) 페이지 (피그마 5200:1729)
 *   Phase 1: 히어로(풀블리드 이미지 스와이프)
 * ========================================================================= */

/* ===== 히어로 ===== */
.mn_hero { position: relative; width: 100%; height: 100vh; height: 100svh; overflow: hidden; }
.mn_hero_sw { height: 100%; }
.mn_hero_sw .swiper-wrapper { height: 100%; }
.mn_hero_slide { position: relative; height: 100%; overflow: hidden; }
/* 미디어(이미지/동영상/유튜브) 공통 — 슬라이드를 꽉 채움(cover) */
.mn_hero_media { position: absolute; inset: 0; overflow: hidden; }
/* 히어로 PC/모바일 미디어 전환 (관리자에서 모바일 전용 이미지·영상 등록 시) */
.mn_hero_media--mo { display: none; }
@media (max-width: 768px) {
    .mn_hero_media--pc { display: none; }
    .mn_hero_media--mo { display: block; }
}
.mn_hero_bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
/* 동영상: 포스터(배경 이미지) 먼저 → 스크롤·클릭 시 재생되며 fade-in */
.mn_hero_vid { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s ease; }
.mn_hero_vid.is-playing { opacity: 1; }
/* 유튜브 배경 — IFrame API 로 플레이어 생성(컨트롤 완전 제거). 로드 전엔 poster 이미지가 배경으로 보임 */
.mn_hero_yt { position: absolute; inset: 0; overflow: hidden; background-size: cover; background-position: center; }
/* 생성된 iframe(및 placeholder)을 화면 전체로 cover(16:9) + 살짝 확대(scale)해 상하 잔여 UI를 화면 밖으로 크롭.
   크게 렌더될수록 유튜브가 고화질(4K) 선택에도 유리 · pointer-events:none 으로 상호작용(→컨트롤 노출) 차단 */
.mn_hero_yt iframe, .mn_hero_yt_player {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(1.35);
    width: 100vw; height: 56.25vw; min-height: 100%; min-width: 177.78vh; border: 0; pointer-events: none;
    /* 재생 시작 전에는 iframe(=YouTube 재생 버튼/아이콘)을 숨기고 poster 배경만 노출.
       iOS 등 자동재생이 막히는 환경에서 유튜브 아이콘이 보이지 않도록 함 */
    opacity: 0; transition: opacity .5s ease; }
.mn_hero_yt.is-playing iframe { opacity: 1; }
.mn_hero_dim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,0) 40%, rgba(0,0,0,.28) 100%); }

/* 슬라이드 위 문구(있을 때만 · 하단 좌측 inner 라인) */
.mn_hero_tx { position: absolute; left: 50%; bottom: 140px; transform: translateX(-50%); z-index: 2;
    box-sizing: border-box; color: #fff; text-align: left; }
.mn_hero_sub { font-size: 20px; font-weight: 400; letter-spacing: -0.2px; line-height: 1.5; }
.mn_hero_h { margin-top: 14px; font-size: 50px; font-weight: 700; letter-spacing: -1px; line-height: 1.3; }
.mn_hero_btn { display: inline-flex; align-items: center; margin-top: 30px; padding: 13px 32px; border: 1px solid #fff; border-radius: 50px;
    font-size: 17px; font-weight: 600; color: #fff; transition: background .25s, color .25s; }
.mn_hero_btn:hover { background: #fff; color: #111; text-decoration: none; }

/* 페이지네이션 dots (하단 중앙) */
.mn_hero_dots { position: absolute; left: 0; right: 0; bottom: 44px; z-index: 3; display: flex; justify-content: center; align-items: center; gap: 10px; }
.mn_hero_dots .swiper-pagination-bullet { width: 8px; height: 8px; margin: 0 !important; border-radius: 50%; background: rgba(255,255,255,.55); opacity: 1; cursor: pointer; transition: width .3s, background .3s, border-radius .3s; }
.mn_hero_dots .swiper-pagination-bullet-active { width: 26px; border-radius: 4px; background: #fff; }

/* ===== 반응형 ===== */
@media (max-width: 1024px) {
    .mn_hero_tx { bottom: 110px; }
    .mn_hero_h { font-size: 38px; }
    .mn_hero_sub { font-size: 18px; }
}
@media (max-width: 768px) {
    /* 모바일: 히어로 높이 100vh(풀스크린) · 포스터·영상은 화면을 꽉 채움(cover) */
    .mn_hero { height: 100vh; height: 100svh; /* padding-top:78px; */}
    /* 모바일 전용: 히어로 상단 검은색 그라데이션(아래로 갈수록 투명 → 영상과 자연스럽게 연결) */
    .mn_hero::before { content: ""; position: absolute; top: -60px; left: 0; right: 0; height: 64px; z-index: 4;
        pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,0) 100%); }
    .mn_hero_tx { bottom: 90px; }
    .mn_hero_h { font-size: 28px; letter-spacing: -0.6px; }
    .mn_hero_sub { font-size: 16px; }
    .mn_hero_btn { margin-top: 22px; padding: 11px 26px; font-size: 15px; }
    .mn_hero_dots { bottom: 30px; }
}
@media (max-width: 486px) {
    .mn_hero_h { font-size: 23px; }
    .mn_hero_sub { font-size: 14px; }
    .mn_hero_btn { font-size: 14px; }
}

/* ===== 공통: 섹션 라벨 / 더보기 ===== */
.mn_label { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 500; letter-spacing: -0.36px; line-height: 1.5; color: #2f3a42; }
.mn_label_dot { width: 7px; height: 7px; background: #78838a; flex: 0 0 auto; }
.mn_more { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid #c9c9c3; font-size: 20px; font-weight: 500; letter-spacing: -0.34px; color: #111; }
.mn_more:hover { text-decoration: none; opacity: .7; }
.mn_more_ar { width: 22px; height: 8px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='8' viewBox='0 0 22 8'%3E%3Cpath d='M0 4h20M17 1l4 3-4 3' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat center/contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='8' viewBox='0 0 22 8'%3E%3Cpath d='M0 4h20M17 1l4 3-4 3' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat center/contain; }

/* ===== 법무법인 그날 소개 + SOLUTIONS 커버플로우 (커스텀 무한 스와이프) ===== */
.mn_sol { position: relative; padding: 168px 0 140px; overflow: hidden; background: #fff; }
.mn_sol_intro { position: relative; z-index: 3; max-width: 1278px; }
.mn_sol_label { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 500; letter-spacing: -0.44px; line-height: 1.5; color: #2f3a42; }
.mn_sol_dot { width: 7px; height: 7px; flex: 0 0 auto; background: #78838a; }
.mn_sol_h { margin-top: 15px; width: 735px; max-width: 100%; font-size: 45px; font-weight: 700; letter-spacing: -0.9px; line-height: 1.45; color: #111; word-break: keep-all; }
/* 제목 줄별 좌→우 와이프 리빌 (섹션 도착 시 JS가 .rv-in 부여 · no-JS/reduce는 그냥 진한색) */
.mn_sol_lwrap { display: block; }
.mn_sol_line { position: relative; display: inline-block; color: #111; }
.mn_sol_line .rv { position: absolute; left: 0; top: 0; width: 0; overflow: hidden; white-space: nowrap; color: #111; }
.mn_sol_h.rv-armed .mn_sol_line { color: #d3d0ca; }
.mn_sol_h.rv-armed.rv-in .mn_sol_line .rv { width: 100%; transition: width .9s cubic-bezier(.4,0,.2,1); }
.mn_sol_h.rv-armed.rv-in .mn_sol_lwrap:nth-child(1) .rv { transition-delay: .10s; }
.mn_sol_h.rv-armed.rv-in .mn_sol_lwrap:nth-child(2) .rv { transition-delay: .55s; }
.mn_sol_h.rv-armed.rv-in .mn_sol_lwrap:nth-child(3) .rv { transition-delay: 1.0s; }
.mn_sol_h.rv-armed.rv-in .mn_sol_lwrap:nth-child(4) .rv { transition-delay: 1.45s; }
/* 대형 데코 텍스트(흐릿) */
.mn_sol_deco { position: absolute; right: 50px; bottom: 70px; z-index: 0; margin: 0;
    font-family: 'SIMPLECANDY','Times New Roman',serif; font-size: 180px; line-height: 1.3; color: #f5f3ef; filter: blur(5px); white-space: nowrap; pointer-events: none; user-select: none; }
/* 커버플로우 무대 — 가로 100%, 좌측군 ↓ / 우측군 ↑ 스태거, 가운데 활성 카드 확장 */
.mn_sol_stage { --cardW: 257px; --activeW: 544px; --cardH: 520px; --gap: 30px; --stag: 120px;
    position: relative; z-index: 1; width: 100%; height: calc(var(--cardH) + var(--stag) * 2); margin-top: 60px; touch-action: pan-y;
    -webkit-user-select: none; user-select: none; }
.mn_sol_card, .mn_sol_photo, .mn_sol_logo, .mn_sol_card img { -webkit-user-drag: none; user-select: none; }
.mn_sol_card { position: absolute; top: var(--stag); left: 0; width: var(--cardW); height: var(--cardH); overflow: hidden; border-radius: 15px; color: #fff; cursor: none; background: #2f3a42;
    transition: transform .55s cubic-bezier(.5,.05,.2,1), width .55s cubic-bezier(.5,.05,.2,1); }
.mn_sol_card:hover { text-decoration: none; }
.mn_sol_card.is-active { width: var(--activeW); z-index: 2; }
/* 비활성: 분야 사진 배경 + 오버레이 */
.mn_sol_photo { position: absolute; inset: 0;  background-repeat: no-repeat; background-position: center; background-size: cover; transition: opacity 1s; }
.mn_sol_photo::after { content: ''; position: absolute; inset: 0;  }
.mn_sol_card.is-active .mn_sol_photo { opacity: 0; }
/* 활성: 라디얼 글로우 + 로고 워터마크(우측 하단) */
.mn_sol_card.is-active::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: rgba(47, 58, 66, 1) }
.mn_sol_logo { position: absolute; left: 0; bottom: 0; z-index: 0; width: 72%; height: 88%; background: url("../img/main/b_logo.png") no-repeat left bottom / contain; opacity: 0; transition: opacity .4s; pointer-events: none; }
.mn_sol_card.is-active {background:rgba(47, 58, 66, 1)}
.mn_sol_card.is-active .mn_sol_logo { opacity: .13; }   /* 로고는 활성 카드에서만 · 좌측 · 대형 워터마크 */
/* 비활성 중앙 타이틀 */
.mn_sol_name { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; padding: 0 16px; box-sizing: border-box; font-size: 30px; font-weight: 700; line-height: .9; text-align: center; color: #fff; word-break: keep-all; transition: opacity .3s; }
.mn_sol_card.is-active .mn_sol_name { opacity: 0; }
/* 여러 분야를 세로로 쌓아 · 로 구분(예: 학교폭력·가정폭력·성범죄) */
.mn_sol_name_stack { flex-direction: column; line-height: 1.1; }
.mn_sol_name_it { display: block; }
.mn_sol_name_mid { display: block; margin: 12px 0; font-size: .66em; line-height: 1; opacity: .8; }
/* 활성 상세(상단 제목·부제 / 하단 설명) */
.mn_sol_detail { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: space-between; padding: 60px; box-sizing: border-box; pointer-events: none; }
/* 제목·부제·설명 — 활성 시 아래→위로 순차 등장 */
.mn_sol_tit, .mn_sol_sub, .mn_sol_desc { opacity: 0; transform: translateY(28px); transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1); }
.mn_sol_card.is-active .mn_sol_tit  { opacity: 1; transform: none; transition-delay: .5s; }
.mn_sol_card.is-active .mn_sol_sub  { opacity: 1; transform: none; transition-delay: .75s; }
.mn_sol_card.is-active .mn_sol_desc { opacity: 1; transform: none; transition-delay: 1s; }
.mn_sol_tit { display: block; font-size: 40px; font-weight: 700; line-height: 1.4; color: #fff; word-break: keep-all; }
.mn_sol_sub { display: block; margin-top: 8px; font-size: 24px; font-weight: 500; line-height: 1.4; color: #fff; word-break: keep-all; }
.mn_sol_desc { display: block; font-size: 20px; font-weight: 400; line-height: 1.5; color: #fff; word-break: keep-all; }
/* 컨트롤: ← 진행바 → (활성 카드 아래 중앙) */
.mn_sol_ctrl { position: relative; z-index: 3; display: flex; align-items: center; justify-content: center; gap: 30px; margin-top: calc(40px - var(--stag, 120px)); }
.mn_sol_ctrl { --stag: 90px; }
.mn_sol_nav { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; padding: 0; border: 1px solid #b8c1c5; border-radius: 50%; background: transparent; color: #2f3a42; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.mn_sol_nav:hover { background: #2f3a42; border-color: #2f3a42; color: #fff; }
.mn_sol_nav svg { width: 20px; height: 8px; }
.mn_sol_bar { position: relative; width: 242px; max-width: 42vw; height: 4px; background: #c0ccd2; border-radius: 2px; overflow: hidden; }
.mn_sol_bar span { position: absolute; left: 0; top: 0; height: 100%; background: #78838a; border-radius: 2px; transition: width .5s cubic-bezier(.5,.05,.2,1); }

@media (max-width: 1400px) {
    .mn_sol_stage { --activeW: 500px; }
    .mn_sol_deco { font-size: 140px; }
}
@media (max-width: 1024px) {
    .mn_sol { padding: 120px 0 100px; }
    .mn_sol_h { font-size: 36px; }
    .mn_sol_stage { --cardW: 200px; --activeW: 400px; --cardH: 470px; --gap: 22px; --stag: 100px; margin-top: 0px; }
    .mn_sol_ctrl { --stag: 100px; gap: 24px; }
    .mn_sol_nav { width: 44px; height: 44px; }
    .mn_sol_nav svg { width: 18px; height: 7px; }
    .mn_sol_bar { width: 200px; }
    .mn_sol_deco { font-size: 108px; right: 30px; bottom: 50px; }
    .mn_sol_detail { padding: 44px; }
    .mn_sol_tit { font-size: 32px; }
    .mn_sol_sub { font-size: 20px; }
    .mn_sol_desc { font-size: 18px; }
    .mn_sol_name { font-size: 26px; }
}
@media (max-width: 768px) {
    .mn_sol { padding: 80px 0 70px; }
    .mn_sol_label { font-size: 16px; }
    .mn_sol_h { font-size: 26px; letter-spacing: -0.52px; }
    .mn_sol_stage { --cardW: 165px; --activeW: 330px; --cardH: 420px; --gap: 16px; --stag: 80px; margin-top: 0px; }
    .mn_sol_ctrl { --stag: 80px; gap: 16px; }
    .mn_sol_deco { font-size: 72px; right: 20px; bottom: 40px; }
    .mn_sol_detail { padding: 60px; }   /* 카드 안 여백 2배 */
    .mn_sol_tit { font-size: 30px; }
    .mn_sol_sub { font-size: 19px; }
    .mn_sol_desc { font-size: 17px; }
    .mn_sol_name { font-size: 26px; }
    .mn_sol_card { cursor: pointer; }
    .mn_sol_nav { width: 40px; height: 40px; }
    .mn_sol_nav svg { width: 16px; height: 6px; }
    .mn_sol_bar { width: 150px; }
}
@media (max-width: 486px) {
    .mn_sol_stage { --cardW: 130px; --activeW: 262px; --cardH: 360px; --gap: 12px; --stag: 58px; margin-top:20px}
    .mn_sol_ctrl { --stag: 66px; gap: 12px; }
    .mn_sol_nav { width: 34px; height: 34px; }
    .mn_sol_nav svg { width: 14px; height: 6px; }
    .mn_sol_bar { width: 110px; }
    .mn_sol_deco { font-size: 50px; right: 20px; bottom: 30px; }
    .mn_sol_detail { padding: 44px; }   /* 카드 안 여백 2배 */
    .mn_sol_tit { font-size: 25px; }
    .mn_sol_sub { font-size: 15px; }
    .mn_sol_desc { font-size: 14px; }
    .mn_sol_name { font-size: 20px; }
}

.mn_mem { padding: 200px 0px; overflow: hidden;
    background: linear-gradient(180deg, #fff 0%,  #F5F3EF 100%); }   /* 은은한 웜 배경 */
.mn_mem_head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 48px; }   /* 라인은 '구성원 더보기' 아래에만(.mn_more) */
.mn_mem_h { margin-top: 18px; font-size: 45px; font-weight: 600; letter-spacing: -0.7px; line-height: 1.4; color: #111; }
/* 대시: 섹션 도착 전 0 → 도착(.is-in) 시 오른쪽으로 55px 늘어남 */
.mn_dash { display: inline-block; width: 0; height: 1px; margin: 0 6px 9px; background: #111; vertical-align: middle; transition: width .8s cubic-bezier(.22,.61,.36,1) 1s; }   /* 섹션 도착 1.5초 후 실행 */
.mn_mem.is-in .mn_dash { width: 55px; }

/* 스와이프 무대(풀폭) — 카드는 inner(1700) 폭에 중앙, 화살표는 inner 바깥 여백 */
.mn_mem_stage { position: relative; width: 100%; }
.mn_mem_track { width: 100%; max-width: 1700px; margin: 0 auto; padding: 0px 0px; box-sizing: border-box; }
.mn_mem_sw { overflow: hidden; }
.mn_mem_sw .swiper-slide { height: auto; }
.mn_mem_sw .mb_card { width: 100%; }

/* 좌우 네비(카드 세로 중앙 · inner 바깥 여백) — 얇은 테두리 원 + 선형 화살표 */
.mn_nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
    width: 50px; height: 50px; border-radius: 50%; border: 1px solid #b8c1c5; background: transparent; color: #2f3a42;
    cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s, color .2s, border-color .2s; }
.mn_nav:hover { background: #2f3a42; border-color: #2f3a42; color: #fff; }   /* SOLUTIONS 화살표와 동일: 네이비 채움 + 흰 화살표 */
.mn_nav span { width: 20px; height: 8px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='8' viewBox='0 0 21 8'%3E%3Cpath transform='translate(20.756 0) scale(-1 1)' d='M3.95801 0C2.69813 1.45981 1.3779 2.53929 -0.00195312 3.23926V3.7793C1.37805 4.4593 2.69801 5.53953 3.95801 7.01953H5.00781C4.70785 6.37961 4.41767 5.8198 4.1377 5.33984C3.83769 4.85984 3.54758 4.45965 3.26758 4.13965H20.7578V2.87988H3.26758C3.54757 2.53989 3.8377 2.1294 4.1377 1.64941C4.41763 1.16952 4.70789 0.619826 5.00781 0H3.95801Z' fill='%23000'/%3E%3C/svg%3E") no-repeat center/contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='8' viewBox='0 0 21 8'%3E%3Cpath transform='translate(20.756 0) scale(-1 1)' d='M3.95801 0C2.69813 1.45981 1.3779 2.53929 -0.00195312 3.23926V3.7793C1.37805 4.4593 2.69801 5.53953 3.95801 7.01953H5.00781C4.70785 6.37961 4.41767 5.8198 4.1377 5.33984C3.83769 4.85984 3.54758 4.45965 3.26758 4.13965H20.7578V2.87988H3.26758C3.54757 2.53989 3.8377 2.1294 4.1377 1.64941C4.41763 1.16952 4.70789 0.619826 5.00781 0H3.95801Z' fill='%23000'/%3E%3C/svg%3E") no-repeat center/contain; }
/* inner(반폭 850) 바깥 50px. 여백이 부족한 화면에선 max()로 자동으로 안쪽(12px)으로 수렴 */
.mn_mem_prev { left: max(12px, calc(50% - 954px)); }
.mn_mem_prev span { transform: scaleX(-1); }   /* ← 반전 */
.mn_mem_next { right: max(12px, calc(50% - 954px)); }
.mn_nav.swiper-button-disabled { opacity: .3; cursor: default; }

/* 진행 바(도트 아님) — 스와이프 아래 50px · 중앙 · 280px, 드래그 가능 */
.mn_mem_bar { position: relative; width: 280px; max-width: calc(100% - 40px); height: 4px; margin: 50px auto 0; border-radius: 0px; background: #d9d8d3; overflow: hidden; }
.mn_mem_bar span { position: absolute; left: 0; top: 0; height: 100%; width: 0; background: #2f3a42; transition: width .5s cubic-bezier(.5,.05,.2,1); }

/* 카드: 커서 숨김(자세히보기 원 대체) + 하단 풋(타이틀 + 전문분야 풀폭 바) */
.mn_mem_card { cursor: none; position: relative; }
/* 하단 풋: 카드 하단 '전체 폭'. 박스가 펼쳐지면 타이틀이 위로 밀려 올라감(크기 변화 없음) */
.mn_mem_foot { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; display: flex; flex-direction: column; }
/* 타이틀(.mb_meta): member.css 절대배치 해제. 기본 하단여백 28(원위치 유지) → 호버 시 16으로 좁혀 박스 위로 상승 */
.mn_mem_card .mb_meta { position: static; left: auto; right: auto; bottom: auto; padding: 0 20px 0 33px; margin-bottom: 28px; transition: margin-bottom .45s ease; }
/* 전문분야 박스: 카드 하단 '꽉 찬 풀폭 바'. 배경 단색 rgba(0,0,0,.2) + blur 12 (그라디언트 없음).
   위 모서리 직각, 아래 모서리는 카드 overflow:hidden 이 라운드 처리. 기본 접힘 → 호버 시 아래에서 위로 펼쳐짐 */
.mn_mem_ov { max-height: 0; opacity: 0; overflow: hidden; padding: 0 33px;
    background: rgba(0, 0, 0, .2); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    color: #fff; pointer-events: none;
    transition: max-height .45s ease, opacity .3s ease, padding .45s ease; }
.mn_mem_ov_label { display: block; font-size: 14px; font-weight: 500; letter-spacing: -0.28px; color: #fff; }
.mn_mem_ov_list { margin: 9px 0 0; padding: 0; list-style: none; }
.mn_mem_ov_list li { position: relative; padding-left: 11px; font-size: 13px; font-weight: 300; line-height: 1.6; letter-spacing: -0.26px; color: rgba(255,255,255,.85); word-break: keep-all; overflow-wrap: break-word; }
.mn_mem_ov_list li::before { content: ''; position: absolute; left: 0; top: 11px; width: 5px; height: 1px; background: rgba(255,255,255,.7); }   /* 대시(-) */
.mn_mem_card:hover .mn_mem_ov { max-height: 220px; opacity: 1; padding: 22px 33px 24px; }
.mn_mem_card:hover .mb_meta { margin-bottom: 16px; }

/* ===== 커서 추적 '자세히 보기' 원 (화살표 위 · 텍스트 아래) ===== */
.mn_follow { position: fixed; left: 0; top: 0; z-index: 1200; width: 96px; height: 96px; border-radius: 50%;
    border-top: 1px solid #fff; border-bottom: 1px solid #fff;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
    background: rgba(0, 0, 0, .2); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(2px);
    color: #fff; text-align: center; pointer-events: none; opacity: 0; transform: translate(-50%, -50%) scale(.6);
    transition: opacity .25s ease, transform .25s cubic-bezier(.34,1.56,.64,1); will-change: transform, opacity; }
.mn_follow.on { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.mn_follow_tx { font-size: 13px; font-weight: 500; letter-spacing: -0.26px; line-height: 1.2; }
.mn_follow_ar { width: 20px; height: 7px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='7' viewBox='0 0 20 7'%3E%3Cpath d='M0 3.5h18M15 1l3 2.5-3 2.5' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat center/contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='7' viewBox='0 0 20 7'%3E%3Cpath d='M0 3.5h18M15 1l3 2.5-3 2.5' fill='none' stroke='%23000' stroke-width='1.3'/%3E%3C/svg%3E") no-repeat center/contain; }
@media (hover: none) { .mn_follow { display: none; } .mn_mem_card, .mn_res_card, .mn_rv_card { cursor: pointer; } }

@media (max-width: 1760px) {
.mn_mem_track {padding:0px 20px}
}

/* ===== 구성원 반응형 (화살표는 max()로 inner 여백↔안쪽 자동 수렴) ===== */
@media (max-width: 1024px) {
    .mn_mem { padding: 120px 0 100px; }
    .mn_mem_h { font-size: 28px; }
    .mn_mem_head { padding-bottom: 22px; margin-bottom: 32px; }
    .mn_nav { display: none; }   /* 태블릿 이하: 스와이프 + 진행바 */
    .mn_mem_card .mb_meta { padding: 0 20px 0 26px; margin-bottom: 22px; }
    .mn_mem_ov { padding-left: 26px; padding-right: 26px; }
    .mn_mem_card:hover .mn_mem_ov { padding: 18px 26px 20px; }
}
@media (max-width: 768px) {
    .mn_mem { padding: 80px 0; }
    .mn_label { font-size: 15px; }
    .mn_mem_h { font-size: 23px; }
    .mn_dash { margin-bottom: 6px; }
    .mn_mem.is-in .mn_dash { width: 40px; }
    .mn_more { font-size: 13px; }               /* 더보기 글자 축소 → 화살표도 축소 */
    .mn_more_ar { width: 15px; }
    .mn_mem_head { flex-wrap: wrap; padding-bottom: 18px; margin-bottom: 24px; }
    .mn_mem_bar { margin-top: 30px; max-width: 70%; }
}
@media (max-width: 486px) {
    .mn_mem_h { font-size: 20px; }
    .mn_label { font-size: 14px; }
    .mn_more { font-size: 12px; }
    .mn_more_ar { width: 13px; }
}
/* 모바일·터치: 호버가 없으므로 전문분야 박스를 항상 표시(타이틀도 상승 상태 유지).
   뒤에 배치해 위 반응형 규칙보다 우선(동일 특이도 → 나중 선언이 이김) */
@media (hover: none), (max-width: 768px) {
    .mn_mem_card { cursor: pointer; }
    .mn_mem_ov { max-height: 240px; opacity: 1; padding: 20px 26px 22px; }
    .mn_mem_card .mb_meta { margin-bottom: 16px; }
}

/* ===== 왜 그날이어야 할까요 (숫자 카운팅 · 다크 텍스처 밴드) ===== */
.mn_why { position: relative; padding: 150px 0 60px; box-sizing: border-box; display: flex; align-items: center; color: #fff; overflow: hidden; background: #F5F3EF; }
/* 텍스처 밴드 + 우상단 라운드는 ::before 로 올림 → 라운드 코너 밖은 섹션 배경(#F5F3EF)이 보임(흰색 방지) */
.mn_why::before { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: url("../img/main/why-bg.png") no-repeat center top / cover; border-radius: 0 200px 0 0; }
.mn_why_in { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; width: 100%; }
/* 라벨(좌측) — 숫자 상단에 맞춰 정렬 */
.mn_why_label { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; margin-top: 12px; font-size: 20px; font-weight: 500; letter-spacing: -0.4px; color: #fff; }
.mn_why_dot { width: 7px; height: 7px; background: #fff; flex: 0 0 auto; }
/* 숫자 3열(우측) — 열 사이 세로 구분선 */
.mn_why_nums { display: flex; align-items: stretch; flex: 0 1 auto; }
/* 열 폭: 시안 423px 기준 → 뷰포트에 따라 유동(21.5vw), 최대 410px(1700 inner에 3열+라벨 수용) */
.mn_why_col { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; width: clamp(220px, 21.5vw, 410px); padding: 12px 10px; box-sizing: border-box; }
.mn_why_col + .mn_why_col { border-left: 1px solid rgba(204, 204, 204, 1); }
.mn_why_top { display: flex; align-items: flex-end; justify-content: center; color: #fff; font-family: 'UnShinmun', serif !important; line-height: 1; }
/* 숫자: 시안 100px/자간 -6px(=-0.06em) → 자간은 em로 두어 크기 축소 시 함께 스케일 */
.mn_why_num { font-size: clamp(66px, 5.2vw, 100px); font-weight: 400; letter-spacing: -0.06em; line-height: 1; font-family: 'UnShinmun',  serif !important; font-variant-numeric: tabular-nums; }   /* 자릿수 균등폭 → 카운팅 중 흔들림 방지 */
/* 접미(+/h): 숫자 오른쪽 상단쪽, em 기준 오프셋으로 반응형 자동 스케일 */
.mn_why_suf { font-size: clamp(28px, 2.1vw, 40px); font-weight: 400; line-height: 1; margin-top: 0.5em; margin-left: 0.4em; font-family: 'UnShinmun', serif !important;}
.mn_why_en { margin-top: 18px; font-family: 'SIMPLECANDY', 'Times New Roman', serif; font-size: clamp(38px, 2.9vw, 55px); letter-spacing: -0.02em; line-height: 1.3; color: #fff; text-transform: uppercase; }
.mn_why_ko { margin-top: 10px; text-align: center; color: #fff; word-break: keep-all; }
.mn_why_ko span { display: block; font-size: 18px; font-weight: 500; letter-spacing: -0.36px; line-height: 1.5; }
.mn_why_ko em { display: block; font-size: 16px; font-weight: 400; font-style: normal; letter-spacing: -0.36px; line-height: 1.5; }

/* 왜그날 반응형 — 데스크톱 크기는 위 clamp가 처리, 여기선 레이아웃 전환·모바일 미세조정 */
@media (max-width: 1400px) {
    .mn_why::before { border-radius: 0 100px 0 0; }
}
/* 파블렛~태블릿: 라벨을 윗줄로 내리고 숫자 3열은 한 줄 유지(중앙 정렬) */
@media (max-width: 1024px) {
    .mn_why { min-height: 460px; padding: 120px 0; }
    .mn_why_in { flex-wrap: wrap; justify-content: center; gap: 28px; }
    .mn_why_label { flex-basis: 100%; justify-content: center; margin-top: 0; }
    .mn_why_nums { flex: 0 0 auto; }
    .mn_why_col { width: clamp(190px, 24vw, 230px); }
}
@media (max-width: 768px) {
    .mn_why { min-height: 400px; padding: 90px 0; }
    .mn_why_in { gap: 22px; }
    .mn_why_col { width: 140px; padding: 8px 6px; }
    .mn_why_num { font-size: 44px; }
    .mn_why_suf { font-size: 20px; margin-left: 3px; }
    .mn_why_en { font-size: 26px; margin-top: 12px; }
    .mn_why_ko span { font-size: 14px; }
    .mn_why_ko em { font-size: 12px; }
    .mn_why::before { border-radius: 0 50px 0 0; }
}
@media (max-width: 486px) {
    .mn_why { min-height: 340px; padding: 70px 0; }
    .mn_why_in { gap: 14px; }
    .mn_why_col { width: 33vw; max-width: 122px; padding: 6px 4px; }
    .mn_why_num { font-size: 7vw; }
    .mn_why_suf { font-size: 3.6vw; margin-left: 2px; }
    .mn_why_en { font-size: 4.4vw; margin-top: 8px; }
    .mn_why_ko span { font-size: 12px; letter-spacing: -0.2px; }
    .mn_why_ko em { font-size: 11px; letter-spacing: -0.2px; }
}
@media (max-width: 360px) {
    
    .mn_why_ko span { font-size: 11px; }
    .mn_why_ko em { font-size: 10px; }
}

/* ===== 승소사례 THE-DAY RESULTS (victory · 2행 그리드 스와이프 · 다크) ===== */
.mn_res { position: relative; padding: 228px 0 190px; box-sizing: border-box; overflow: hidden; color: #fff; background:url("../img/main/mainresults-bg.png") no-repeat center / cover; }
.mn_res_in, .mn_res_stage, .mn_res_foot { position: relative; z-index: 1; }
.mn_res_head { margin-bottom: 30px; }
.mn_res_label { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 500; letter-spacing: -0.4px; color: #fff; }
.mn_res_dot { width: 7px; height: 7px; background: #fff; flex: 0 0 auto; }
.mn_res_en { margin-top: 14px; font-family: 'SIMPLECANDY', 'Times New Roman', serif !important; font-weight: 400; font-size: 130px; line-height: 1.3; color: #fff; }
/* 스와이프 무대 — 좌측은 inner 라인에 정렬, 우측은 화면 끝까지(스크롤바 없음) */
.mn_res_sw { overflow: visible; }
.mn_res_sw--bot { margin-top: 32px; }   /* 위/아래 두 줄 간격(기존 grid 세로 간격 대체) */
.mn_res_sw .swiper-slide { height: 342px !important; box-sizing: border-box; }   /* Swiper grid 인라인 높이 덮어써 모든 카드 높이 동일 */
/* 카드: 좌측 크림 텍스트 패널 + 우측 사진 */
.mn_res_card { position: relative; display:flex;     flex-direction: row-reverse; width: 100%; height: 100%; overflow: hidden; cursor: none;  }
.mn_res_card:hover { text-decoration: none; }
.mn_res_photo { /*position: absolute; inset: 0; background-color: #2f3a42; overflow: hidden;*/ }
.mn_res_photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
/*.mn_res_photo::after { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,.3); }*/
.mn_res_panel { position: relative; z-index: 1; display: flex; flex-direction: column; width: 61.1%; height: 100%; box-sizing: border-box; padding: 42px 30px 40px 36px; background:rgba(255, 255, 255, 1); background:#f9f6f2}
.mn_res_cat { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; font-size: 18px; font-weight: 400; letter-spacing: -0.72px; line-height: 1.2; color: #1f2e38; }
.mn_res_cdot { width: 7px; height: 7px; background: #1f2e38; flex: 0 0 auto; }
.mn_res_subj { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-top: 22px; font-size: 20px; font-weight: 500; letter-spacing: -0.8px; line-height: 1.4; color: #111; word-break: keep-all; overflow-wrap: break-word; }
.mn_res_result { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: auto; padding-left: 12px; border-left: 1px solid #1f2e38; font-size: 20px; font-weight: 600; letter-spacing: -0.8px; line-height: 1.3; color: #111; word-break: keep-all; overflow-wrap: break-word;  margin-top:80px }
/* 하단 태그라인 + 더보기 */
.mn_res_foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 55px; }
.mn_res_tag { font-size: 45px; font-weight: 600; letter-spacing: -0.9px; line-height: 1.45; color: #fff; word-break: keep-all; }
.mn_res_foot .mn_more { color: #f5f3ef; border-bottom: 2px solid #f5f3ef; letter-spacing: -0.4px; }   /* 크기는 공통 .mn_more 반응형을 따름(통일) */

/* 승소사례 반응형 */
@media (max-width: 1400px) {
    .mn_res_en { font-size: 96px; }
}
@media (max-width: 1024px) {
    .mn_res { padding: 110px 0 90px; }
    .mn_res_label { font-size: 18px; }
    .mn_res_en { font-size: 66px; }
    .mn_res_sw .swiper-slide { height: 280px !important; }
    .mn_res_sw--bot { margin-top: 24px; }
    .mn_res_panel { width: 62%; padding: 30px 22px 28px 26px; }
    .mn_res_cat { font-size: 16px; }
    .mn_res_subj { margin-top: 16px; font-size: 17px; -webkit-line-clamp: 3; }
    .mn_res_result { font-size: 17px; }
    .mn_res_foot { margin-top: 40px; }
    .mn_res_tag { font-size: 28px; }
}
@media (max-width: 768px) {
    .mn_res { padding: 80px 0 70px; }
    .mn_res_label { font-size: 16px; }
    .mn_res_en { font-size: 46px; }
    .mn_res_sw .swiper-slide { height: 250px !important; }
    .mn_res_sw--bot { margin-top: 20px; }
    .mn_res_card { cursor: pointer; }
    .mn_res_panel { width: 64%; padding: 24px 18px 22px 22px; }
    .mn_res_cat { font-size: 14px; }
    .mn_res_subj { margin-top: 12px; font-size: 15px; letter-spacing: -0.4px; }
    .mn_res_result { font-size: 15px; letter-spacing: -0.4px; }
    .mn_res_tag { font-size: 22px; letter-spacing: -0.44px; }
}
@media (max-width: 486px) {
    .mn_res_en { font-size: 34px; }
    .mn_res_sw .swiper-slide { height: 230px !important; }
    .mn_res_panel { width: 66%; padding: 20px 15px 18px 18px; }
    .mn_res_cat { font-size: 13px; }
    .mn_res_subj { margin-top: 10px; font-size: 14px; -webkit-line-clamp: 2; }
    .mn_res_result { font-size: 14px; }
    .mn_res_tag { font-size: 19px; }
}

/* ===== 그날의 법률 이야기 (video · featured + 리스트) — 시안 76:1912 · 전체 inner(1700) ===== */
.mn_vid { padding: 150px 0 100px; }
.mn_vid_head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 50px; }
.mn_vid .mn_label { font-size: 20px; letter-spacing: -0.4px; }
.mn_vid .mn_label_dot { background: #f03; }   /* 시안: 콘텐츠 라벨 점 빨강 */
.mn_vid_h { margin-top: 12px; font-size: 45px; font-weight: 600; letter-spacing: -0.9px; line-height: 1.45; color: #111; }
.mn_more { font-size: 20px; color: #2f3a42; padding-bottom: 8px; border-bottom: 2px solid #c1ccd2; }
.mn_vid_body { display: flex; gap: 31px; align-items: flex-start; }
/* featured(좌) — 약 845/1700 */
.mn_vid_feat { flex: 845 1 0; min-width: 0; display: flex; flex-direction: column; gap: 15px; padding: 0; background: none; border: 0; text-align: left; cursor: pointer; }
.mn_vid_thumb { position: relative; display: block; width: 100%; aspect-ratio: 16/9; border-radius: 10px; overflow: hidden; }
.mn_vid_thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.mn_vid_feat:hover .mn_vid_thumb img { transform: scale(1.03); }
.mn_vid_play { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 74px; height: 74px; border-radius: 50%; background: rgba(0,0,0,.5); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); transition: background .2s; }
.mn_vid_feat:hover .mn_vid_play, .mn_vid_item:hover .mn_vid_play { background: rgba(255,51,51,.9); }
.mn_vid_play::before { content: ''; position: absolute; left: 54%; top: 50%; transform: translate(-50%,-50%); border-style: solid; border-width: 11px 0 11px 19px; border-color: transparent transparent transparent #fff; }
.mn_vid_tit { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; font-size: 28px; font-weight: 500; letter-spacing: -0.59px; line-height: 1.5; color: #111; }
.mn_vid_date { display: block; margin-top: 11px; font-size: 17px; color: #666; letter-spacing: -0.2px; }
/* 리스트(우) — 약 824/1700, 좌측 구분선 */
.mn_vid_list { flex: 824 1 0; min-width: 0; list-style: none; margin: 0; padding: 0 0 0 31px; border-left: 1px solid #b8c1c5; display: flex; flex-direction: column; gap: 18px; }
.mn_vid_item { display: flex; gap: 31px; width: 100%; padding: 0; background: none; border: 0; text-align: left; cursor: pointer; align-items: stretch; }
.mn_vid_ithumb { position: relative; flex: 0 0 261px; width: 261px; aspect-ratio: 16/9; border-radius: 10px; overflow: hidden; }
.mn_vid_ithumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.mn_vid_item:hover .mn_vid_ithumb img { transform: scale(1.04); }
.mn_vid_play_sm { width: 46px; height: 46px; }
.mn_vid_play_sm::before { border-width: 8px 0 8px 13px; }
.mn_vid_itext { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 6px 0; }
.mn_vid_ititle { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; font-size: 20px; font-weight: 500; letter-spacing: -0.42px; line-height: 1.5; color: #111; transition: color .2s; }
.mn_vid_item:hover .mn_vid_ititle { color: #4c5d6a; }
.mn_vid_itext .mn_vid_date { margin-top: 11px; font-size: 17px; }

/* 영상 팝업(사용자·관리자 공통) */
.vd_modal { position: fixed; inset: 0; z-index: 1300; display: flex; align-items: center; justify-content: center; padding: 20px; }
.vd_modal[hidden] { display: none; }
.vd_dim { position: absolute; inset: 0; background: rgba(0,0,0,.72); }
.vd_dialog { position: relative; width: 100%; max-width: 960px; }
.vd_frame { position: relative; width: 100%; aspect-ratio: 16/9; background: #000; border-radius: 12px; overflow: hidden; }
.vd_frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vd_close { position: absolute; right: 0; top: -48px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: none; border: 0; color: #fff; cursor: pointer; }
body.vd_lock { overflow: hidden; }

/* 법률이야기 반응형 */
@media (max-width: 1400px) {
    .mn_vid_tit { font-size: 24px; }
    .mn_vid_ithumb { flex-basis: 220px; width: 220px; }
    .mn_vid_ititle { font-size: 18px; }
}
@media (max-width: 1024px) {
    .mn_vid { padding: 90px 0 80px; }
    .mn_vid_h { font-size: 30px; }
    .mn_more { font-size: 17px; }
    .mn_vid_body { gap: 26px; }
    .mn_vid_tit { font-size: 21px; }
    .mn_vid_ithumb { flex-basis: 180px; width: 180px; }
    .mn_vid_list { padding-left: 26px; }
}
@media (max-width: 768px) {
    .mn_vid { padding: 70px 0; }
    .mn_vid_h { font-size: 24px; }
    .mn_vid .mn_label { font-size: 16px; }
    .mn_vid_head { flex-wrap: wrap; margin-bottom: 28px; }
    .mn_vid_body { flex-direction: column; gap: 30px; }
    .mn_vid_feat, .mn_vid_list { flex: 0 0 auto; width: 100%; }
    .mn_vid_list { border-left: 0; padding-left: 0; }   /* 모바일: 세로 구분선 제거 */
    .mn_vid_play { width: 60px; height: 60px; }
    .mn_vid_tit { font-size: 19px; }
    .mn_vid_ithumb { flex-basis: 150px; width: 150px; }
    .mn_vid_ititle { font-size: 16px; }
    .mn_vid_date, .mn_vid_itext .mn_vid_date { font-size: 14px; }
    .vd_close { top: -42px; }
    .mn_more {font-size: 13px;}
}
@media (max-width: 486px) {
    .mn_vid_h { font-size: 20px; }
    .mn_vid_tit { font-size: 17px; }
    .mn_vid_ithumb { flex-basis: 116px; width: 116px; }
    .mn_vid_ititle { font-size: 14px; } 
    .mn_more {font-size: 12px;}
}

/* ===== 의뢰인이 전하는 그날의 후기 (review 스와이프) — 흰 배경 · 풀폭 · 가운데 3 + 양쪽 peek ===== */
.mn_rv { padding: 100px 0 120px; background: #fff; overflow: hidden; }
.mn_rv_head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 42px; }
.mn_rv_h { margin-top: 16px; font-size: 45px; font-weight: 600; letter-spacing: -0.9px; line-height: 1.45; color: #111; }
.mn_rv_stage { position: relative; }
/* 양옆 그라데이션 제거(요청) */
/* 풀폭 센터 스와이프: 트랙은 전체 폭, 카드(가운데 3장) 폭만 inner(1700)/3 로 고정 → 양쪽 peek */
.mn_rv_track { position: relative; z-index: 1; width: 100%; }
.mn_rv_sw { overflow: hidden; }
.mn_rv_sw .swiper-slide { height: auto; width: calc((min(1700px, 100vw - 40px) - 60px) / 3); box-sizing: border-box; }
@media (max-width: 1024px) { .mn_rv_sw .swiper-slide { width: calc((100vw - 40px) / 2.2); } }   /* 태블릿: ~2.2뷰 */
@media (max-width: 600px)  { .mn_rv_sw .swiper-slide { width: calc((100vw - 40px) / 1.15); } }  /* 모바일: ~1.15뷰 */
/* 카드: 기본 타우프 + 로고 워터마크 → 호버 시 네이비 + 흰 텍스트 */
.mn_rv_card { position: relative; display: flex; flex-direction: column; height: 100%; padding: 40px 38px; box-sizing: border-box; background: rgba(215,209,201,1); overflow: hidden; cursor: none; transition: background .3s ease; }
.mn_rv_card::before { content: ''; position: absolute; right: -70px; top: 50%; transform: translateY(-50%); width: 70%; height: 90%;  z-index: 0; pointer-events: none;
    background: url("../img/main/logo.png") no-repeat center / contain; opacity: 1; }
.mn_rv_card > * { position: relative; z-index: 1; }
.mn_rv_card:hover { text-decoration: none; background: rgba(47,58,66,1); }
.mn_rv_name { padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.55); font-size: 28px; font-weight: 700; letter-spacing: -1px; line-height: 1.25; color: #2f3a42; word-break: keep-all; transition: color .3s ease; }
.mn_rv_text { padding: 22px 0; font-size: 20px; font-weight: 400; letter-spacing: -0.5px; line-height: 1.5; color: #2f3a42; word-break: keep-all; transition: color .3s ease;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mn_rv_tags { list-style: none; margin: 0; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.55); display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px;     margin-top: 100px;}
.mn_rv_tags li { display: flex; align-items: center; gap: 8px; font-size: 18px; font-weight: 500; letter-spacing: -0.4px; line-height: 1.2; color: #2f3a42; word-break: keep-all; transition: color .3s ease; }
.mn_rv_tdot { width: 7px; height: 7px; background: #2f3a42; flex: 0 0 auto; transition: background .3s ease; }
.mn_rv_date { margin-top: auto; padding-top: 6px; font-size: 18px; font-weight: 300; letter-spacing: -0.5px; color: #2f3a42; transition: color .3s ease; }
/* 호버(네이비) 시 텍스트/구분 흰색 + 로고 반전 */
.mn_rv_card:hover .mn_rv_name, .mn_rv_card:hover .mn_rv_text, .mn_rv_card:hover .mn_rv_tags li, .mn_rv_card:hover .mn_rv_date { color: #fff; }
.mn_rv_card:hover .mn_rv_tdot { background: #fff; }
.mn_rv_card:hover::before { opacity: .16; filter: brightness(0) invert(1); }
/* 활성(가운데)+좌우 슬라이드만 선명, 나머지는 opacity 0.4 (스와이프 시 부드럽게 전환) */
.mn_rv_sw .swiper-slide { opacity: .4; transition: opacity .35s ease; }
.mn_rv_sw .swiper-slide.swiper-slide-active,
.mn_rv_sw .swiper-slide.swiper-slide-prev,
.mn_rv_sw .swiper-slide.swiper-slide-next { opacity: 1; }
/* 네비(공용 .mn_nav 재사용) · inner 바깥 */
.mn_rv_prev { left: max(12px, calc(50% - 944px)); }
.mn_rv_prev span { transform: scaleX(-1); }
.mn_rv_next { right: max(12px, calc(50% - 944px)); }
/* 진행 바 */
.mn_rv_bar { position: relative; width: 280px; max-width: calc(100% - 40px); height: 2px; margin: 44px auto 0; border-radius: 2px; background: #dcdad4; overflow: hidden; }
.mn_rv_bar span { position: absolute; left: 0; top: 0; height: 100%; width: 0; background: #2f3a42; border-radius: 2px; transition: width .5s cubic-bezier(.5,.05,.2,1); }

/* 후기 반응형 */
@media (max-width: 1024px) {
    .mn_rv { padding: 90px 0 80px; }
    .mn_rv_h { font-size: 28px; }
    .mn_rv_quote { font-size: 260px; top: -50px; }
    .mn_rv_card { padding: 30px 26px; }
    .mn_rv_name { font-size: 23px; }
    .mn_rv_text { font-size: 16px; }
    .mn_rv_tags li { font-size: 15px; }
    .mn_rv_card::before { right: -50px;}
}
@media (max-width: 768px) {
    .mn_rv { padding: 70px 0; }
    .mn_rv_h { font-size: 23px; }
    .mn_rv_head { flex-wrap: wrap; margin-bottom: 26px; }
    .mn_rv_card { padding: 26px 22px; cursor: pointer; }
    .mn_rv_name { font-size: 21px; }
    .mn_rv_tags { gap: 12px 10px; }
    .mn_rv_tags li { font-size: 14px; }
    .mn_rv_card::before { right: -0px;}
    .mn_rv_tags {margin-top:50px;}
}
@media (max-width: 486px) {
    .mn_rv_h { font-size: 20px; }
    .mn_rv_name { font-size: 19px; }
    .mn_rv_text { font-size: 15px; }
    .mn_rv_tags { grid-template-columns: 1fr; }
    .mn_rv_tags {margin-top:20px;}
}

/* ===== THE-DAY SPACES (지사 탭 + 오피스 이미지 스와이프) ===== */
.mn_sp { padding: 150px 0 200px; overflow: hidden; transition: background-color .4s ease, color .4s ease; }
.mn_sp_head { text-align: center; margin-bottom: 48px; }
.mn_sp_estd { display: inline-flex; align-items: center; justify-content: center; gap: 30px; color: #222; }
.mn_sp_estd_s { font-size: 20px; font-weight: 400; letter-spacing: -0.4px; }
.mn_sp_estd_m { font-size: 35px; font-weight: 400; letter-spacing: -0.7px; line-height: 1.3; }
.mn_sp_en { margin-top: 6px; font-family: 'SIMPLECANDY', 'Times New Roman', serif !important; font-weight: 400; font-size: 100px; line-height: 1.3; color: #222; text-transform: uppercase; }
/* 풀폭: 탭 좌측 50px · 갤러리 우측 브라우저 끝까지(오른쪽 여백 없음) */
.mn_sp_body { display: flex; gap: 50px; align-items: center; width: 100%; padding-left: 50px; box-sizing: border-box; }
/* 지사 탭(좌) */
.mn_sp_tabs { flex: 0 0 240px; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.mn_sp_tab { display: flex; align-items: center; gap: 10px; padding: 0; background: none; border: 0; font-size: 20px; font-weight: 500; letter-spacing: -0.4px; color: rgba(34,34,34,.4); cursor: pointer; transition: color .2s; }
.mn_sp_tab .mn_sp_tdot { width: 7px; height: 7px; background: rgba(34,34,34,.4); flex: 0 0 auto; transition: background .2s; }
.mn_sp_tab:hover { color: #222; }
.mn_sp_tab.on { color: #222; font-weight: 600; }
.mn_sp_tab.on .mn_sp_tdot { background: #222; }
/* 다크 배경 지사: 텍스트 흰색으로 적응 */
.mn_sp_dark .mn_sp_estd, .mn_sp_dark .mn_sp_en { color: #fff; }
.mn_sp_dark .mn_sp_tab { color: rgba(255,255,255,.45); }
.mn_sp_dark .mn_sp_tab .mn_sp_tdot { background: rgba(255,255,255,.45); }
.mn_sp_dark .mn_sp_tab:hover, .mn_sp_dark .mn_sp_tab.on { color: #fff; }
.mn_sp_dark .mn_sp_tab.on .mn_sp_tdot { background: #fff; }
/* 이미지 갤러리(우) — 우측 브라우저 끝까지, 라운드 없음, 플레이스홀더 배경 없음 */
.mn_sp_gal { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.mn_sp_pane[hidden] { display: none; }
.mn_sp_sw { overflow: hidden; cursor: none; }
.mn_sp_sw .swiper-slide { width: auto; }
.mn_sp_img { display: block; width: -moz-fit-content; width: fit-content; height: 505px; overflow: hidden; }   /* 높이만 고정 · 폭은 원본 비율 */
.mn_sp_img img { display: block; width: auto; height: 100%; }
.mn_sp_img_empty { width: auto; aspect-ratio: 4 / 3; background: none; border: 1px dashed rgba(120,120,120,.25); }
/* 커서 Drag(이미지 스와이프 위) — 위/아래 흰 보더 + 양쪽 화살표 */
.mn_drag { position: fixed; left: 0; top: 0; z-index: 1200; width: 100px; height: 100px; border-radius: 50%;
    border-top: 1px solid #fff; border-bottom: 1px solid #fff;
    display: flex; align-items: center; justify-content: center; gap: 9px; background: rgba(30,36,42,.35); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
    color: #fff; pointer-events: none; opacity: 0; transform: translate(-50%,-50%) scale(.6); transition: opacity .25s, transform .25s cubic-bezier(.34,1.56,.64,1); }
.mn_drag.on { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.mn_drag_tx { font-size: 17px; font-weight: 500; letter-spacing: .3px; }
.mn_drag_ar { width: 7px; height: 7px; border-top: 1.4px solid #fff; border-right: 1.4px solid #fff; flex: 0 0 auto; }
.mn_drag_ar_l { transform: rotate(-135deg); }   /* ‹ */
.mn_drag_ar_r { transform: rotate(45deg); }      /* › */
@media (hover: none) { .mn_drag { display: none; } .mn_sp_sw { cursor: grab; } }

/* SPACES 반응형 */
@media (max-width: 1024px) {
    .mn_sp { padding: 90px 0 80px; }
    .mn_sp_en { font-size: 60px; }
    .mn_sp_estd_m { font-size: 28px; }
    .mn_sp_body { gap: 34px; }
    .mn_sp_tabs { flex-basis: 190px; gap: 16px; }
    .mn_sp_tab { font-size: 18px; }
    .mn_sp_img { height: 420px; }
}
@media (max-width: 768px) {
    .mn_sp { padding: 70px 0; }
    .mn_sp_estd { gap: 16px; }
    .mn_sp_estd_s { font-size: 15px; }
    .mn_sp_estd_m { font-size: 22px; }
    .mn_sp_en { font-size: 40px; }
    .mn_sp_head { margin-bottom: 32px; }
    .mn_sp_body { flex-direction: column; gap: 25px; padding-left: 20px; padding-right: 20px; }
    .mn_sp_gal { overflow: hidden; width: 100%; }   /* visible이면 스와이퍼 폭 계산이 깨져 스와이프가 잠김 */
    .mn_sp_tabs { flex-basis: auto; flex-direction: row; flex-wrap: wrap; gap: 12px 20px; justify-content: center;}
    .mn_sp_img { height: 340px; }
}
@media (max-width: 486px) {
    .mn_sp_en { font-size: 30px; }
    .mn_sp_img { height: 260px; }
    .mn_sp_tab { font-size: 16px; }
}

/* 승소사례 하단 태그라인 + 더보기 (다크섹션 · 흰색) */
.mn_res_foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 56px; }
.mn_res_tag { font-size: 45px; font-weight: 600; letter-spacing: -0.9px; line-height: 1.45; color: #fff; word-break: keep-all; }
.mn_more_w { color: #fff; border-bottom-color: rgba(255,255,255,.5); }
.mn_more_w:hover { opacity: .8; }
@media (max-width: 1024px) { .mn_res_tag { font-size: 24px; } .mn_res_foot { margin-top: 42px; } }
@media (max-width: 768px) { .mn_res_tag { font-size: 19px; } .mn_res_foot { flex-wrap: wrap; gap: 14px; margin-top: 32px; } }
@media (max-width: 486px) { .mn_res_tag { font-size: 17px; } }

/* ============================================================
 * 메인 반응형 타이포 통일 — 같은 역할(섹션 라벨/제목)은 반응형에서 같은 크기로
 *  · 섹션 라벨(서브타이틀): mn_label / mn_sol_label / mn_why_label / mn_res_label / mn_vid .mn_label
 *  · 45px 섹션 제목: mn_sol_h / mn_vid_h / mn_mem_h / mn_rv_h / mn_res_tag (동일 크기 → 동일 축소)
 * (데스크톱 값은 각 섹션 원본 유지, 축소 구간만 통일)
 * ============================================================ */
@media (max-width: 1024px) {
    .mn_label, .mn_sol_label, .mn_why_label, .mn_res_label, .mn_vid .mn_label { font-size: 18px; }
    .mn_sol_h, .mn_vid_h, .mn_mem_h, .mn_rv_h, .mn_res_tag { font-size: 32px; }
}
@media (max-width: 768px) {
    .mn_label, .mn_sol_label, .mn_why_label, .mn_res_label, .mn_vid .mn_label { font-size: 16px; }
    .mn_sol_h, .mn_vid_h, .mn_mem_h, .mn_rv_h, .mn_res_tag { font-size: 26px; }
}
@media (max-width: 486px) {
    .mn_label, .mn_sol_label, .mn_why_label, .mn_res_label, .mn_vid .mn_label { font-size: 15px; }
    .mn_sol_h, .mn_vid_h, .mn_mem_h, .mn_rv_h, .mn_res_tag { font-size: 20px; }
    .mn_sol_h, .mn_vid_h { margin-top: 5px;}
    .mn_res_en {margin-top: 5px;}
    .mn_mem_h {margin-top:5px;}
}
