@charset "utf-8";
/* =============================================================
   법무법인 동승 리뉴얼 공통 스타일
   디자인 기준: 동승 홈페이지 (브라우저용_v11).html
   색상: 남색 #014099 / 하늘 #00b0ec / 포인트 옐로 #fbca4d / 다크 #101020
   폰트: Pretendard(본문) + Poppins(영문 라벨/숫자)
   ============================================================= */

/* ---------- 초기화 ---------- */
html { -webkit-text-size-adjust: 100%; }
body.ds-site {
    margin: 0;
    background: #fff;
    font-family: 'Pretendard', 'Malgun Gothic', '맑은 고딕', sans-serif;
    color: #555;
    letter-spacing: -0.03em;
    line-height: 1.7;
    font-size: 16px;
    word-break: keep-all;
}
/* 여백 리셋: 우선순위를 요소 선택자(0,0,1)로 낮춰 컴포넌트 클래스의 margin 이 살아 있게 한다 */
h1, h2, h3, h4, p { margin: 0; }
.ds-site img { max-width: 100%; height: auto; vertical-align: top; border: 0; }
.ds-site a { color: #014099; text-decoration: none; transition: .3s; }
.ds-site a:hover { color: #00b0ec; }
.ds-skip { position: absolute; left: -9999px; top: 0; z-index: 999; background: #014099; color: #fff; padding: 10px 18px; }
.ds-skip:focus { left: 0; color: #fff; }
#hd_pop { position: relative; z-index: 90; }

/* ---------- 공통 레이아웃 ---------- */
/* 원본 .wrap = 1200 + 패딩 80(content-box) = 실폭 1280px. border-box라 1280으로 지정 */
.ds-wrap { max-width: 1280px; margin: 0 auto; padding: 0 40px; box-sizing: border-box; }
.ds-section { padding: 130px 0; }
.ds-section--tight { padding-bottom: 0; }
.ds-section--pt80 { padding-top: 80px; }
.ds-section--soft { background: #f7f8fa; }
.ds-glow {
    background: #101020;
    background-image: radial-gradient(1000px 620px at 78% 12%, rgba(1,64,153,.55), transparent 62%),
                      radial-gradient(700px 460px at 8% 95%, rgba(0,176,236,.14), transparent 60%);
    color: rgba(255,255,255,.66);
}

/* 영문 eyebrow 라벨 */
.ds-eyebrow {
    font-family: 'Poppins', sans-serif;
    font-size: 13px; font-weight: 700;
    letter-spacing: .22em; text-transform: uppercase;
    color: #014099;
    display: flex; gap: 12px; align-items: baseline;
}
.ds-eyebrow span { color: #00b0ec; }
.ds-glow .ds-eyebrow, .ds-hero .ds-eyebrow, .ds-contact-band .ds-eyebrow,
.ds-practice-hero .ds-eyebrow, .ds-profile-hero .ds-eyebrow, .ds-page-visual .ds-eyebrow,
.ds-office-band .ds-eyebrow { color: #fbca4d; }

/* 섹션 제목 */
.ds-st { font-size: 44px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.3; margin: 22px 0 0; }
.ds-st em { font-style: normal; font-weight: 300; }
/* 그누보드 default.css 가 hr{display:none} 이라 display 를 되살려야 한다 */
.ds-rule { display: block; width: 52px; height: 3px; background: #014099; border: 0; margin: 30px 0 0; }
.ds-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 64px; }
.ds-section-head h2 { font-size: 44px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.3; margin: 22px 0 0; }
.ds-section-head h2 em { font-style: normal; font-weight: 300; }

/* 좌측 바 소제목 */
.ds-h3bar { font-size: 26px; font-weight: 700; color: #000; letter-spacing: -0.05em; position: relative; padding-top: 16px; display: inline-block; margin: 0 0 30px; }
.ds-h3bar::before { content: ''; position: absolute; top: 0; left: 0; width: 52px; height: 3px; background: #014099; }

/* 버튼 */
.ds-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    height: 58px; padding: 0 38px;
    font-family: 'Pretendard', sans-serif; font-size: 17px; font-weight: 700; letter-spacing: -0.03em;
    background: #014099; color: #fff; border: 0; border-radius: 0;
    cursor: pointer; text-decoration: none; transition: .3s; white-space: nowrap; box-sizing: border-box;
}
.ds-button:hover { background: #00b0ec; color: #fff; }
.ds-button--ghost { background: transparent; border: 1px solid rgba(255,255,255,.45); }
.ds-button--ghost:hover { background: #fff; color: #014099; border-color: #fff; }
.ds-button--line { background: transparent; border: 1px solid #014099; color: #014099; }
.ds-button--line:hover { background: #014099; color: #fff; }

/* 텍스트 링크 */
.ds-text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 700; color: #014099; letter-spacing: -0.03em; }
.ds-text-link::after { content: '→'; transition: .3s; }
.ds-text-link:hover { color: #00b0ec; gap: 13px; }

/* 태그 */
.ds-tag { display: inline-block; background: #014099; color: #fff; font-size: 12px; font-weight: 700; padding: 5px 13px; letter-spacing: .02em; }
.ds-tag--sky { background: #00b0ec; }

/* 아웃라인 숫자 */
.ds-num { font-family: 'Poppins', sans-serif; font-size: 46px; font-weight: 700; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px #00b0ec; }

/* ---------- 헤더 ---------- */
.ds-header { background: #fff; border-bottom: 1px solid #f0f0f0; position: sticky; top: 0; z-index: 80; }
.ds-header__inner { display: flex; align-items: center; gap: 44px; height: 92px; }
.ds-logo { display: flex; align-items: center; flex: none; }
.ds-logo img { height: 44px; width: auto; }
.ds-nav { display: flex; gap: 34px; margin-left: auto; align-items: center; font-size: 16px; font-weight: 600; }
.ds-nav a { color: #212121; }
.ds-nav a:hover, .ds-nav a.is-current { color: #014099; }
.ds-nav .ds-nav__contact { height: 46px; padding: 0 26px; font-size: 15px; color: #fff; }
.ds-nav .ds-nav__contact:hover { color: #fff; }
.ds-menu-button { display: none; }
.ds-nav-backdrop { display: none; }

/* ---------- 메인 히어로 ---------- */
.ds-hero {
    position: relative; background-color: #101020;
    background-size: cover; background-position: center;
    color: rgba(255,255,255,.66);
}
.ds-hero::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(9,14,34,.72) 0%, rgba(9,14,34,.38) 46%, rgba(9,14,34,.05) 100%); }
.ds-hero__content { position: relative; z-index: 2; padding-top: 130px; padding-bottom: 130px; }
/* 전체 배경 롤링 (index) */
.ds-hero--roll { overflow: hidden; }
/* 시안은 우측 480px 이미지 기준으로 히어로 높이가 740px. 배경 롤링형에는 우측 칸이 없으므로 여백으로 맞춘다 */
.ds-hero--roll .ds-hero__content { padding-top: 148px; padding-bottom: 149px; }
.ds-hero__bgs { position: absolute; inset: 0; z-index: 0; }
.ds-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1.2s ease; }
.ds-hero__bg.on { opacity: 1; }
/* 분할형 히어로 (index2: v11 시안 - 좌측 텍스트 + 우측 프레임 롤링) */
.ds-hero--split {
    background-image: radial-gradient(1000px 620px at 78% 12%, rgba(1,64,153,.55), transparent 62%),
                      radial-gradient(700px 460px at 8% 95%, rgba(0,176,236,.14), transparent 60%);
}
.ds-hero--split::before { display: none; }
.ds-hero__split-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: center; padding-top: 130px; padding-bottom: 130px; }
.ds-hero--split .ds-hero__content { padding: 0; }
.ds-hero__frame { position: relative; }
/* 파란 오프셋 테두리는 이미지 뒤에 깔린다 (원본 시안과 동일한 쌓임 순서) */
.ds-hero__frame::after { content: ''; position: absolute; z-index: 0; top: 26px; left: 26px; right: -26px; bottom: -26px; border: 1px solid rgba(0,176,236,.35); pointer-events: none; }
.ds-hero__slides { position: relative; z-index: 1; height: 480px; overflow: hidden; background: linear-gradient(135deg, #1a1a38 0%, #25254e 100%); }
.ds-hero__slides img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.ds-hero__slides img.on { opacity: 1; }
.ds-site .ds-hero__title { font-size: 62px; font-weight: 300; color: #fff; line-height: 1.22; letter-spacing: -0.05em; margin: 26px 0 0; }
.ds-hero__title em { font-style: normal; font-weight: 800; display: block; }
.ds-site .ds-hero__copy { font-size: 18px; line-height: 1.85; margin: 34px 0 0; max-width: 530px; }
.ds-hero__actions { display: flex; gap: 16px; margin-top: 52px; }

/* ---------- 메인: 상황 카드 ---------- */
.ds-section-head .ds-section-sub { font-size: 15px; color: #8a94a4; margin: 0 0 6px; }
.ds-situation-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.ds-situation { display: block; background: #f7f8fa; padding: 32px 28px 28px; color: #555; transition: .35s; }
.ds-situation strong { display: block; font-size: 17.5px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.5; margin-bottom: 22px; min-height: 53px; transition: .35s; }
.ds-situation span { font-size: 13px; font-weight: 700; color: #014099; transition: .35s; }
.ds-situation:hover { background: #014099; transform: translateY(-6px); color: rgba(255,255,255,.8); }
.ds-situation:hover strong { color: #fff; }
.ds-situation:hover span { color: #fbca4d; }

/* ---------- 메인: 상담 절차 카드 ---------- */
.ds-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.ds-process-card { background: #fff; padding: 34px 32px; border: 1px solid #ececec; }
.ds-section--soft .ds-process-card { border: 0; }
.ds-process-card b { display: block; font-family: 'Poppins', sans-serif; font-size: 34px; font-weight: 700; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px #00b0ec; margin-bottom: 20px; }
.ds-process-card h3 { font-size: 20px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 0 0 10px; }
.ds-process-card p { font-size: 15.5px; margin: 0; }
.ds-section-note { font-size: 13.5px; color: #8a94a4; margin-top: 26px; }

/* ---------- 승소사례 카드 ---------- */
.ds-record-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.ds-record-card { display: block; background: #fff; border: 1px solid #ececec; border-radius: 0 0 50px 0; overflow: hidden; color: #555; transition: .35s; }
.ds-record-card:hover { transform: translateY(-6px); box-shadow: 0 18px 45px rgba(16,16,32,.1); color: #555; }
.ds-record-card__image { aspect-ratio: 277/170; background: linear-gradient(135deg, #f2f4f9 0%, #e0e6f0 100%); overflow: hidden; }
.ds-record-card__image img { width: 100%; height: 100%; object-fit: cover; }
.ds-record-card__body { padding: 26px 26px 34px; }
.ds-record-card__body h3 { font-size: 19px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.45; margin: 14px 0 6px; }
.ds-record-card__body p { font-size: 14px; color: #787878; margin: 0; }

/* ---------- 변호사 카드 ---------- */
.ds-lawyer-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; }
.ds-lawyer-grid--page { grid-template-columns: repeat(4, 1fr); gap: 28px; }
.ds-lawyer-card { display: block; color: #555; }
.ds-lawyer-card__photo { aspect-ratio: 3/4; background: linear-gradient(135deg, #f2f4f9 0%, #e0e6f0 100%); overflow: hidden; }
.ds-lawyer-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: .4s; }
.ds-lawyer-card:hover .ds-lawyer-card__photo img { transform: scale(1.04); }
.ds-lawyer-card h3 { font-size: 19px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 18px 0 0; transition: .3s; }
.ds-lawyer-card h3 small { font-size: 13px; font-weight: 700; color: #014099; margin-left: 6px; }
.ds-lawyer-card p { font-size: 14px; color: #787878; margin: 3px 0 0; }
.ds-lawyer-card:hover h3 { color: #014099; }
/* 목록 페이지형(흰 박스) */
.ds-lawyer-grid--page .ds-lawyer-card { background: #fff; border: 1px solid #ececec; }
.ds-lawyer-grid--page .ds-lawyer-card h3 { padding: 20px 22px 0; margin: 0; }
.ds-lawyer-grid--page .ds-lawyer-card p { padding: 0 22px 22px; margin-top: 4px; }
.ds-lawyer-grid--page .ds-lawyer-card:hover { box-shadow: 0 14px 36px rgba(16,16,32,.08); }

/* ---------- 미디어(유튜브) 카드 ---------- */
.ds-media-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.ds-media-card { display: block; color: #555; }
.ds-media-card__image { aspect-ratio: 16/9; background: linear-gradient(135deg, #1a1a38 0%, #25254e 100%); overflow: hidden; position: relative; }
.ds-media-card__image img { width: 100%; height: 100%; object-fit: cover; transition: .4s; }
.ds-media-card:hover .ds-media-card__image img { transform: scale(1.03); }
.ds-media-card .ds-tag { margin-top: 20px; }
.ds-media-card h3 { font-size: 21px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 12px 0 6px; transition: .3s; }
.ds-media-card p { font-size: 15px; color: #787878; margin: 0; }
.ds-media-card:hover h3 { color: #014099; }

/* ---------- 다크 상담 밴드 ---------- */
.ds-contact-band {
    background: #101020;
    background-image: radial-gradient(1000px 620px at 78% 12%, rgba(1,64,153,.55), transparent 62%),
                      radial-gradient(700px 460px at 8% 95%, rgba(0,176,236,.14), transparent 60%);
    color: rgba(255,255,255,.66);
    padding: 110px 0; text-align: center;
}
.ds-contact-band .ds-eyebrow { justify-content: center; }
.ds-contact-band h2 { font-size: 40px; font-weight: 700; color: #fff; letter-spacing: -0.05em; line-height: 1.4; margin: 22px 0 0; }
.ds-contact-band h2 em { font-style: normal; font-weight: 300; }
.ds-contact-band > .ds-wrap > p { font-size: 16px; margin: 18px 0 0; }
.ds-contact-band .ds-button { margin-top: 36px; }
/* 좌우형 밴드 */
.ds-contact-band--row { text-align: left; padding: 88px 0; }
.ds-contact-band--row .ds-wrap { display: flex; align-items: center; justify-content: space-between; gap: 44px; }
.ds-contact-band--row h2 { font-size: 24px; margin: 0; }
.ds-contact-band--row .ds-button { margin: 0; flex: none; }

/* 메인 인라인 상담 폼 */
.ds-quickform { max-width: 760px; margin: 44px auto 0; text-align: left; }
.ds-quickform__grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 18px; }
.ds-quickform label { display: block; font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 10px; }
.ds-quickform .ds-inp {
    width: 100%; border: 1px solid rgba(255,255,255,.35); padding: 17px 18px;
    font-family: 'Pretendard', sans-serif; font-size: 15px; border-radius: 0;
    color: #fff; background: transparent; box-sizing: border-box;
}
.ds-quickform .ds-inp::placeholder { color: rgba(255,255,255,.45); }
.ds-quickform .ds-inp:focus { outline: 1px solid #00b0ec; }
.ds-quickform .ds-button { width: 100%; margin-top: 18px; }
.ds-quickform__note { font-size: 13px; color: rgba(255,255,255,.45); margin-top: 14px; text-align: center; }
.ds-form-error {
    background: rgba(214,69,69,.14); border: 1px solid rgba(255,140,140,.6);
    color: #ffd9d9; font-size: 15px; font-weight: 600; padding: 14px 18px; margin: 0 0 20px;
}
.ds-quickform__done { text-align: center; padding: 30px 0 6px; }
.ds-quickform__done strong { display: block; font-size: 24px; color: #fff; letter-spacing: -0.05em; margin-bottom: 10px; }

/* ---------- 오시는 길 ---------- */
.ds-location-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.ds-location-card__map { aspect-ratio: 576/250; background: #eef1f5; overflow: hidden; }
.ds-location-card__map img { width: 100%; height: 100%; object-fit: cover; }
.ds-location-card h3 { font-size: 21px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 22px 0 8px; }
.ds-location-card p { font-size: 15.5px; margin: 0; }

/* ---------- 서브 페이지 공통 헤드 ---------- */
.ds-page-head { padding: 110px 0 0; }
.ds-page-head .ds-title { font-size: 44px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.3; margin: 22px 0 0; }
.ds-page-head .ds-title em { font-style: normal; font-weight: 300; }
.ds-page-head__copy { font-size: 17px; margin: 20px 0 0; max-width: 640px; }

/* 다크 비주얼 헤드(이미지 배경) */
.ds-page-visual {
    position: relative; background-color: #101020;
    background-image: radial-gradient(1000px 620px at 78% 12%, rgba(1,64,153,.55), transparent 62%);
    background-size: cover; background-position: center;
    color: rgba(255,255,255,.8);
}
.ds-page-visual::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,14,34,.82) 0%, rgba(9,14,34,.5) 55%, rgba(9,14,34,.2) 100%); }
.ds-page-visual .ds-wrap { position: relative; padding-top: 100px; padding-bottom: 100px; }
.ds-page-visual h1 { font-size: 48px; font-weight: 300; color: #fff; letter-spacing: -0.05em; line-height: 1.3; margin: 24px 0 0; }
.ds-page-visual h1 b, .ds-page-visual h1 strong { font-weight: 700; }
.ds-page-visual .ds-page-visual__copy { font-size: 16px; line-height: 1.85; margin: 22px 0 0; max-width: 560px; }

/* ---------- 업무분야 상세 ---------- */
.ds-practice-hero {
    position: relative; background-color: #101020;
    background-image: radial-gradient(1000px 620px at 78% 12%, rgba(1,64,153,.55), transparent 62%),
                      radial-gradient(700px 460px at 8% 95%, rgba(0,176,236,.14), transparent 60%);
    background-size: cover; background-position: center;
    color: rgba(255,255,255,.66);
}
.ds-practice-hero--photo::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,14,34,.8) 0%, rgba(9,14,34,.45) 55%, rgba(9,14,34,.15) 100%); }
.ds-practice-hero .ds-wrap { position: relative; padding-top: 100px; padding-bottom: 100px; }
.ds-practice-hero h1 { font-size: 56px; font-weight: 800; color: #fff; letter-spacing: -0.05em; margin: 24px 0 0; }
.ds-practice-hero__quote { font-size: 21px; font-weight: 700; color: #fbca4d; margin: 18px 0 0; letter-spacing: -0.05em; }

/* 분야 소개: 2열 */
.ds-intro-row { display: grid; grid-template-columns: 380px 1fr; gap: 90px; align-items: start; }
.ds-intro-row .ds-h3bar { margin: 0; }
.ds-intro-row__body p { font-size: 17px; line-height: 1.85; margin: 0 0 14px; }
.ds-intro-row__body p:last-child { margin-bottom: 0; }

/* 취급분야 카드 */
.ds-area-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ds-area-grid div { background: #f7f8fa; padding: 26px 30px; font-size: 18px; font-weight: 700; color: #212121; letter-spacing: -0.05em; line-height: 1.5; }

/* 절차 카드 */
.ds-proc-flow { display: flex; align-items: stretch; gap: 16px; }
.ds-proc-flow__step { display: flex; align-items: center; gap: 16px; flex: 1; }
.ds-proc-flow__card { flex: 1; border: 1px solid #e8ebf0; padding: 30px 20px; text-align: center; background: #fff; }
.ds-proc-flow__card .ds-num { font-size: 30px; }
.ds-proc-flow__card b { display: block; font-size: 19px; color: #000; letter-spacing: -0.05em; margin-top: 14px; }
.ds-proc-flow__card p { font-size: 13.5px; color: #787878; margin: 10px 0 0; line-height: 1.65; text-align: left; }
.ds-proc-flow__arrow { color: #00b0ec; font-size: 24px; font-weight: 700; flex: none; }

/* 제목/설명 행 리스트 */
.ds-row-list { margin-top: 8px; }
.ds-row { display: grid; grid-template-columns: 280px 1fr; gap: 40px; padding: 40px 0; border-top: 1px solid #e8ebf0; align-items: start; }
.ds-row:last-child { border-bottom: 1px solid #e8ebf0; }
.ds-row h3 { font-size: 21px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 0; line-height: 1.5; }
.ds-row p { font-size: 16px; margin: 0; max-width: 640px; }
.ds-point { font-size: 17px; font-weight: 700; color: #014099; margin: 0 0 22px; }

/* 다크 인용 박스 */
.ds-qbox {
    background: #101020;
    background-image: radial-gradient(600px 300px at 85% 0%, rgba(1,64,153,.5), transparent 60%);
    color: #fff; padding: 44px 48px; font-size: 19px; line-height: 1.85; letter-spacing: -0.03em; margin-top: 44px;
}
.ds-qbox b { color: #fbca4d; }

/* 이 분야의 이긴 기록 카드 */
.ds-record-feature {
    position: relative;
    display: grid; grid-template-columns: 340px 1fr;
    background: #fff; border: 1px solid #ececec; border-radius: 0 0 50px 0;
    overflow: hidden; color: #555; transition: .3s;
}
.ds-record-feature:hover { box-shadow: 0 18px 45px rgba(16,16,32,.1); transform: translateY(-4px); color: #555; }
.ds-record-feature__image { background: linear-gradient(135deg, #1a1a38 0%, #25254e 100%); min-height: 240px; }
.ds-record-feature__image img { width: 100%; height: 100%; object-fit: cover; }
.ds-record-feature__body { padding: 44px 48px; }
.ds-record-feature__body h3 { font-size: 26px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 16px 0 12px; }
.ds-record-feature__body p { font-size: 16px; margin: 0; max-width: 620px; }
.ds-record-feature__body .ds-text-link { margin-top: 22px; }

/* 카드 전체를 덮는 링크 (내용관리 태그필터 호환용: <a> 안에 블록요소를 넣지 않기 위함) */
.ds-cover { position: absolute; inset: 0; z-index: 2; }
.ds-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- 이런 사건을 맡습니다 ---------- */
.ds-area-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.ds-area-card { position: relative; display: block; background: #f7f8fa; padding: 34px 36px 32px; color: #555; transition: .3s; }
.ds-area-card__field { display: block; font-size: 13px; font-weight: 700; color: #014099; margin-bottom: 14px; }
.ds-area-card__arrow { position: absolute; top: 30px; right: 32px; color: #c3cad6; font-size: 22px; transition: .3s; }
.ds-area-card h3 { font-size: 21px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 0 0 12px; }
.ds-area-card p { font-size: 14.5px; color: #787878; margin: 0; }
.ds-area-card:hover { background: #eef2f8; transform: translateY(-4px); }
.ds-area-card:hover .ds-area-card__arrow { color: #014099; transform: translateX(4px); }
.ds-area-card.is-hidden { display: none; }
.ds-areas-pager { display: flex; justify-content: center; gap: 8px; margin-top: 44px; }
.ds-areas-pager button, .ds-areas-pager a {
    min-width: 42px; height: 42px; padding: 0 8px; background: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid #d5dae2; color: #212121; font-family: 'Pretendard', sans-serif;
    font-size: 14.5px; font-weight: 600; cursor: pointer; transition: .25s; box-sizing: border-box;
}
.ds-areas-pager button.on, .ds-areas-pager a.on { background: #014099; border-color: #014099; color: #fff; }
.ds-areas-pager button:hover, .ds-areas-pager a:hover { border-color: #014099; color: #014099; }
.ds-areas-pager button.on:hover, .ds-areas-pager a.on:hover { color: #fff; }
.ds-field-tabs { display: flex; flex-wrap: wrap; gap: 28px; margin-bottom: 34px; }
.ds-field-tab { position: relative; padding-left: 14px; font-size: 16px; font-weight: 700; color: #000; letter-spacing: -0.05em; }
.ds-field-tab::before { content: ''; position: absolute; left: 0; top: 3px; bottom: 3px; width: 4px; background: #014099; }
.ds-field-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ds-field-card {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    background: #fff; border: 1px solid #e4e8ee; padding: 17px 20px;
    font-size: 15px; font-weight: 600; color: #212121; letter-spacing: -0.03em; transition: .25s;
}
.ds-field-card b { color: #00b0ec; font-size: 16px; font-weight: 700; }
.ds-field-card:hover { border-color: #014099; color: #014099; transform: translateY(-3px); }

/* ---------- 처음이신가요 ---------- */
.ds-first-intro { display: grid; grid-template-columns: 400px 1fr; gap: 90px; align-items: start; }
.ds-first-intro__photo img { width: 100%; }
.ds-first-intro__text .ds-first-intro__lead { font-size: 23px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.55; margin: 0 0 26px; }
.ds-first-intro__text p { font-size: 16px; margin: 0 0 15px; }
.ds-first-intro__text .ds-sign { font-size: 15px; color: #787878; margin: 34px 0 0; }
.ds-first-intro__text .ds-sign b { font-size: 23px; color: #000; letter-spacing: -0.05em; margin-left: 6px; }
/* 절차 srow형 */
.ds-first-process { display: grid; grid-template-columns: 380px 1fr; gap: 90px; align-items: start; }
.ds-first-process__head h2 { font-size: 38px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.3; margin: 22px 0 0; }
.ds-step-row { display: grid; grid-template-columns: 130px 1fr; gap: 40px; padding: 40px 0; border-top: 1px solid #e8ebf0; align-items: start; }
.ds-step-row:last-child { border-bottom: 1px solid #e8ebf0; }
.ds-step-row b { font-family: 'Poppins', sans-serif; font-size: 46px; font-weight: 700; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px #00b0ec; }
.ds-step-row h3 { font-size: 21px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 0 0 10px; }
.ds-step-row p { font-size: 16px; margin: 0; max-width: 640px; }
/* 안심/준비 2열 */
.ds-assure-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.ds-assure-lead { font-size: 19px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.7; margin: 0; }
.ds-check-list { list-style: none; margin: 0; padding: 0; }
.ds-check-list li { position: relative; padding: 0 0 12px 20px; font-size: 16.5px; color: #212121; }
.ds-check-list li:last-child { padding-bottom: 0; }
.ds-check-list li::before { content: ''; position: absolute; left: 0; top: 9px; width: 8px; height: 8px; background: #00b0ec; }
/* 사무소 다크 밴드 */
.ds-office-band { background: #101020; background-image: radial-gradient(800px 400px at 15% 100%, rgba(1,64,153,.5), transparent 62%); color: rgba(255,255,255,.66); padding: 88px 0; }
.ds-office-band .ds-wrap { display: flex; align-items: center; justify-content: space-between; gap: 44px; }
.ds-office-band__group { display: flex; gap: 72px; }
.ds-office-band b { font-size: 18px; font-weight: 700; color: #fff; letter-spacing: -0.05em; }
.ds-office-band p { font-size: 15px; margin: 8px 0 0; }
.ds-office-band .ds-button { margin-left: auto; flex: none; }

/* ---------- 변호사 프로필 상세 ---------- */
.ds-profile-hero {
    position: relative; background-color: #101020;
    background-image: radial-gradient(1000px 620px at 78% 12%, rgba(1,64,153,.55), transparent 62%);
    background-size: cover; background-position: center top;
    color: rgba(255,255,255,.7);
}
.ds-profile-hero .ds-wrap { position: relative; padding-top: 110px; padding-bottom: 110px; }
.ds-profile-hero--photo { background-position: center bottom; }
.ds-profile-hero--photo .ds-wrap { padding-top: 130px; padding-bottom: 150px; }
.ds-profile-hero--photo::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,14,34,.5) 0%, rgba(9,14,34,.18) 60%, rgba(9,14,34,0) 100%); }
.ds-profile-hero__content { max-width: 560px; }
.ds-profile-hero h1 { font-size: 54px; font-weight: 800; color: #fff; letter-spacing: -0.05em; margin: 22px 0 0; }
.ds-profile-hero h1 small { font-size: 18px; font-weight: 700; color: #00b0ec; margin-left: 10px; }
.ds-profile-hero blockquote { font-size: 24px; font-weight: 700; color: #fff; letter-spacing: -0.05em; line-height: 1.5; margin: 26px 0 0; }
.ds-profile-hero__desc { font-size: 15.5px; line-height: 1.85; margin: 22px 0 0; }
.ds-profile-hero__photo { position: absolute; right: 40px; bottom: 0; width: 380px; max-width: 38%; }
.ds-profile-hero__photo img { width: 100%; display: block; }
.ds-profile-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.ds-profile-tags span { border: 1px solid rgba(255,255,255,.3); color: rgba(255,255,255,.85); font-size: 13px; font-weight: 600; padding: 7px 14px; }

/* 소개 영상 */
.ds-profile-video__frame { aspect-ratio: 16/9; background: #101020; }
.ds-profile-video__frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.ds-profile-video__caption { font-size: 14px; color: #8a94a4; margin-top: 14px; }

/* 학력/경력 컬럼 */
.ds-history-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 60px; align-items: start; }
.ds-history-grid--two { grid-template-columns: repeat(2, 1fr); }
.ds-timeline { list-style: none; margin: 0; padding: 0 0 0 24px; border-left: 2px solid #e5e8ee; }
.ds-timeline li { position: relative; padding: 0 0 15px; font-size: 16px; }
.ds-timeline li::before { content: ''; position: absolute; left: -30px; top: 9px; width: 9px; height: 9px; background: #014099; border-radius: 50%; }
.ds-history-note { font-size: 14.5px; color: #8a94a4; margin-top: 20px; }

/* 프로필 상담 CTA */
.ds-profile-contact { text-align: center; }
.ds-profile-contact h2 { font-size: 38px; font-weight: 300; color: #fff; letter-spacing: -0.05em; line-height: 1.45; margin: 22px 0 0; }
.ds-profile-contact h2 b { font-weight: 700; }
.ds-profile-contact p { font-size: 15.5px; margin: 20px 0 0; }
.ds-profile-contact .ds-button { margin-top: 32px; }
.ds-profile-contact__tel { font-size: 14.5px; color: rgba(255,255,255,.55); margin-top: 24px !important; }

/* ---------- 먼저 읽어보세요(가이드) ---------- */
.ds-guide-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.ds-guide-card { background: #fff; border: 1px solid #ececec; padding: 32px 30px; }
.ds-section--soft .ds-guide-card { border: 0; }
.ds-guide-card .ds-tag { margin-bottom: 18px; }
.ds-guide-card h3 { font-size: 19px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.5; margin: 0 0 12px; }
.ds-guide-card p { font-size: 15px; margin: 0; }
.ds-dont-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.ds-dont-card { background: #f7f8fa; padding: 30px 28px; }
.ds-dont-card b { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin-bottom: 10px; }
.ds-dont-card b::before { content: '✕'; color: #d64545; font-size: 15px; }
.ds-dont-card p { font-size: 14.5px; margin: 0; }
/* 게시글 행 */
.ds-post-rows { margin-top: 10px; }
.ds-post-row { display: flex; align-items: center; gap: 36px; padding: 36px 6px; border-top: 1px solid #e8ebf0; color: #555; }
.ds-post-row:last-child { border-bottom: 1px solid #e8ebf0; }
.ds-post-row .ds-post-row__no { font-family: 'Poppins', sans-serif; font-size: 15px; font-weight: 700; color: #00b0ec; flex: none; }
.ds-post-row b { font-size: 22px; font-weight: 700; color: #000; letter-spacing: -0.05em; transition: .3s; line-height: 1.5; }
.ds-post-row .ds-post-row__arrow { margin-left: auto; color: #c3cad6; font-size: 22px; transition: .3s; flex: none; }
.ds-post-row:hover b { color: #014099; }
.ds-post-row:hover .ds-post-row__arrow { color: #014099; transform: translateX(6px); }

/* ---------- 상담하기 ---------- */
/* 상담 채널 카드 (디자인 v11: 회색 배경 + 번호·영문 라벨 한 줄) */
.ds-channel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.ds-channel-card { background: #f7f8fa; border: 0; padding: 34px 32px 32px; }
.ds-channel-card__no {
    font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 700;
    letter-spacing: .18em; text-transform: uppercase; color: #014099; margin: 0 0 16px;
}
.ds-channel-card__no b { color: #00b0ec; font-weight: 700; margin-right: 8px; }
.ds-channel-card h3 { font-size: 21px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 0 0 12px; }
.ds-channel-card p { font-size: 15.5px; margin: 0 0 6px; }
.ds-channel-card .ds-text-link { margin-top: 14px; }
.ds-contact-form-note { font-size: 13.5px; color: rgba(255,255,255,.5); margin-top: 20px !important; }

/* ---------- 게시판 리뉴얼 스킨 ---------- */
.ds-board { padding-bottom: 130px; }
.ds-board-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 44px; }
.ds-board-filter a { border: 1px solid #d5dae2; background: #fff; padding: 11px 24px; font-size: 15px; font-weight: 600; color: #212121; transition: .25s; }
.ds-board-filter a.on, .ds-board-filter a:hover { background: #014099; border-color: #014099; color: #fff; }
.ds-board-note { font-size: 13.5px; color: #8a94a4; margin-top: 36px; }
.ds-board-empty { padding: 90px 0; text-align: center; color: #8a94a4; font-size: 16px; border-top: 1px solid #e8ebf0; border-bottom: 1px solid #e8ebf0; }
.ds-board-paging { display: flex; justify-content: center; gap: 8px; margin-top: 54px; }
.ds-board-paging a, .ds-board-paging strong { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d5dae2; color: #212121; font-size: 14.5px; font-weight: 600; }
.ds-board-paging strong { background: #014099; border-color: #014099; color: #fff; }
.ds-board-paging a:hover { border-color: #014099; color: #014099; }
.ds-board-toolbar { display: flex; justify-content: flex-end; gap: 10px; margin-top: 34px; }

/* 상담 접수 폼 (게시판 write) */
.ds-write__wrap { max-width: 900px; padding-top: 54px; padding-bottom: 120px; }
.ds-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 26px; }
.ds-field { display: block; }
.ds-field--full { grid-column: 1 / -1; margin-top: 22px; }
.ds-field > label, .ds-field .ds-write__agree-title { display: block; font-size: 15px; font-weight: 700; color: #212121; margin-bottom: 10px; }
.ds-field > label b { color: #d64545; }
.ds-field input[type=text], .ds-field input[type=password], .ds-field input[type=date],
.ds-field input[type=email], .ds-field select, .ds-field textarea {
    width: 100%; box-sizing: border-box; border: 1px solid #d5dae2; background: #fff;
    padding: 14px 16px; font-family: 'Pretendard', sans-serif; font-size: 15.5px; color: #212121; border-radius: 0;
}
.ds-field input:focus, .ds-field select:focus, .ds-field textarea:focus { outline: 0; border-color: #014099; }
.ds-field__hint { font-size: 13.5px; color: #8a94a4; margin: 8px 0 0; }
.ds-write__editor textarea { width: 100%; min-height: 220px; box-sizing: border-box; border: 1px solid #d5dae2; padding: 14px 16px; font-family: 'Pretendard', sans-serif; font-size: 15.5px; line-height: 1.8; }

/* 상담 가능 시간 */
.ds-timepick__row { margin-bottom: 12px; }
.ds-timepick__any { display: inline-flex; align-items: center; gap: 10px; font-size: 15.5px; color: #212121; cursor: pointer; font-weight: 400; }
.ds-timepick__any input { width: 18px; height: 18px; }
.ds-timepick__detail { display: flex; flex-wrap: wrap; gap: 26px; background: #f7f8fa; padding: 20px 22px; }
/* hidden 속성이 display:flex 에 밀리지 않도록 */
.ds-timepick__detail[hidden] { display: none; }
.ds-timepick__group { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ds-timepick__label { font-size: 14px; font-weight: 700; color: #014099; min-width: 34px; }
.ds-timepick__detail input[type=date] { width: auto; min-width: 170px; }
.ds-timepick__detail select { width: auto; min-width: 92px; }
.ds-timepick__hint { font-size: 13px; color: #8a94a4; }

/* 파일 첨부 */
.ds-filerow { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 10px; }
.ds-filerow__name { flex: 1 1 260px; }
.ds-filerow__desc { flex: 1 1 220px; }
/* .ds-site .ds-button (흰 글자) 보다 우선하도록 선택자 특이도를 맞춘다 */
.ds-site .ds-filerow__btn { position: relative; overflow: hidden; height: 50px; padding: 0 24px; font-size: 15px; flex: none; cursor: pointer; color: #014099; background: #fff; }
.ds-site .ds-filerow__btn:hover { background: #014099; color: #fff; }
.ds-filerow__btn input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }

/* 동의 */
.ds-write__terms { border: 1px solid #e4e8ee; background: #f7f8fa; padding: 20px 22px; max-height: 220px; overflow-y: auto; font-size: 14.5px; line-height: 1.8; }
.ds-write__terms p { margin: 0 0 8px; }
.ds-write__agree-check { display: flex; align-items: center; gap: 10px; margin-top: 14px; font-size: 15.5px; color: #212121; cursor: pointer; }
.ds-write__agree-check input { width: 18px; height: 18px; }
.ds-write__actions { display: flex; justify-content: center; gap: 12px; margin-top: 44px; }

/* 승소사례 상세 (디자인 v11 '사례 상세') */
.ds-case { padding-top: 80px; }
.ds-case-row { display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: start; padding: 0 0 60px; }
.ds-case-row .ds-h3bar { margin: 0; font-size: 24px; }
.ds-case-body p { font-size: 16.5px; line-height: 1.9; color: #555; margin: 0 0 10px; }
.ds-case-body p:last-child { margin-bottom: 0; }
.ds-verdict {
    margin-top: 26px; padding: 34px 38px; color: #fff;
    background: #101020;
    background-image: radial-gradient(600px 300px at 85% 0%, rgba(1,64,153,.55), transparent 60%);
}
.ds-verdict__label { display: inline-block; font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #fbca4d; margin-bottom: 14px; }
.ds-verdict p { font-size: 18px; line-height: 1.85; color: #fff; margin: 0; font-weight: 500; }
.ds-case-note { font-size: 13.5px; color: #8a94a4; margin: 6px 0 0; }
.ds-case-related { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.ds-case-card { display: block; background: #fff; border: 1px solid #ececec; border-radius: 0 0 40px 0; padding: 28px 30px 30px; color: #555; transition: .3s; }
.ds-case-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(16,16,32,.1); color: #555; }
.ds-case-card h4 { font-size: 21px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 14px 0 8px; }
.ds-case-card p { font-size: 14.5px; color: #787878; margin: 0; }
.ds-case-actions { display: flex; justify-content: center; gap: 12px; margin-top: 50px; }

/* 상담신청 목록/상세 (관리자 확인용) */
.ds-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
/* 좁은 화면에서는 표 자체만 가로 스크롤 (문서 전체가 밀리지 않도록) */
.ds-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ds-table { width: 100%; min-width: 860px; border-collapse: collapse; font-size: 15px; }
.ds-table thead th {
    background: #f7f8fa; border-top: 2px solid #014099; border-bottom: 1px solid #e4e8ee;
    padding: 14px 10px; font-size: 14px; font-weight: 700; color: #212121; white-space: nowrap;
}
.ds-table tbody td { border-bottom: 1px solid #eef1f5; padding: 15px 10px; color: #555; }
.ds-table tbody tr:hover { background: #fafbfd; }
.ds-td-c { text-align: center; white-space: nowrap; }
.ds-td-subject a { color: #212121; font-weight: 600; }
.ds-td-subject a:hover { color: #014099; }
.ds-td-flag { display: inline-block; margin-left: 6px; font-size: 11px; font-weight: 700; color: #8a94a4; border: 1px solid #d5dae2; padding: 2px 6px; }
.ds-td-flag--file { color: #014099; border-color: #b9cbe4; }
.ds-td-cmt { display: inline-block; margin-left: 6px; font-size: 12px; font-weight: 700; color: #00b0ec; }
.ds-td-time { font-size: 14px; color: #014099; }
.ds-td-name a, .ds-td-name .sv_member, .ds-td-name .sv_guest { color: #555; font-weight: 600; }
.ds-consult-info {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px;
    background: #e4e8ee; border: 1px solid #e4e8ee; margin: 44px 0 50px;
}
.ds-consult-info > div { background: #fff; display: flex; align-items: center; gap: 16px; padding: 18px 22px; }
.ds-consult-info span { flex: none; width: 110px; font-size: 14px; font-weight: 700; color: #014099; }
.ds-consult-info b { font-size: 16px; color: #212121; font-weight: 600; }
.ds-consult-body .ds-view-body { padding-top: 20px; }
.ds-consult-files { margin-top: 44px; }
.ds-consult-files ul { list-style: none; margin: 16px 0 0; padding: 0; }
.ds-consult-files li { padding: 12px 0; border-bottom: 1px solid #eef1f5; font-size: 15px; }

/* 게시판 상세 */
.ds-view-head { padding: 90px 0 0; }
.ds-view-head h1 { font-size: 40px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.35; margin: 18px 0 0; }
.ds-view-meta { font-size: 14px; color: #8a94a4; margin-top: 16px; }
.ds-view-body { padding: 54px 0 0; font-size: 16.5px; line-height: 1.9; color: #444; }
.ds-view-body img { max-width: 100%; height: auto; }
.ds-view-note { font-size: 13.5px; color: #8a94a4; margin-top: 40px; padding-top: 24px; border-top: 1px solid #e8ebf0; }
.ds-view-nav { margin-top: 60px; border-top: 1px solid #e8ebf0; }
.ds-view-nav a { display: flex; gap: 24px; align-items: center; padding: 20px 6px; border-bottom: 1px solid #e8ebf0; color: #555; font-size: 15.5px; }
.ds-view-nav a b { flex: none; font-size: 13px; color: #014099; }
.ds-view-nav a:hover { color: #014099; }

/* ---------- 그누보드 기본 요소 보정 ---------- */
.ds-main #bo_list, .ds-main #bo_v, .ds-main #bo_w { margin: 0 auto; }
.ds-main .ds-legacy h3 { letter-spacing: -0.05em; }
.ds-board-paging .pg_wrap { display: flex; justify-content: center; padding: 0; }
.ds-board-paging .pg { display: flex; gap: 8px; }
.ds-board-paging .pg_page, .ds-board-paging .pg_current {
    min-width: 42px; height: 42px; line-height: 42px; padding: 0 6px;
    display: inline-block; text-align: center; background: #fff;
    border: 1px solid #d5dae2; color: #212121; font-size: 14.5px; font-weight: 600;
}
.ds-board-paging .pg_current { background: #014099; border-color: #014099; color: #fff; }
.ds-board-paging .pg_page:hover { border-color: #014099; color: #014099; background: #fff; }

/* ---------- 빠른 상담 퀵메뉴 ---------- */
.ds-quick { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 70; display: flex; flex-direction: column; width: 78px; box-shadow: 0 10px 30px rgba(16,16,32,.18); }
.ds-quick a, .ds-quick button {
    display: flex; align-items: center; justify-content: center;
    height: 52px; font-family: 'Pretendard', sans-serif; font-size: 13px; font-weight: 700;
    background: #fff; color: #212121; border: 0; cursor: pointer; letter-spacing: -0.03em;
}
.ds-quick a:hover, .ds-quick button:hover { background: #f0f3f8; color: #014099; }
.ds-quick .ds-quick__kakao { background: #fbca4d; color: #3a2b00; }
.ds-quick .ds-quick__kakao:hover { background: #f5bd2b; color: #3a2b00; }
.ds-quick .ds-quick__phone { background: #014099; color: #fff; }
.ds-quick .ds-quick__phone:hover { background: #00b0ec; color: #fff; }
.ds-quick button { background: #101020; color: #fff; }
.ds-quick button:hover { background: #26263e; color: #fff; }

/* ---------- 푸터 ---------- */
.ds-footer { background: #101020; color: rgba(255,255,255,.55); padding: 80px 0 56px; font-size: 14px; }
.ds-footer__top { display: flex; justify-content: space-between; gap: 60px; align-items: flex-start; }
.ds-footer__brand img { height: 40px; width: auto; margin-bottom: 18px; }
.ds-footer__brand p { margin: 0; line-height: 1.8; }
.ds-footer__nav { display: flex; flex-wrap: wrap; gap: 30px; font-size: 15px; font-weight: 600; }
.ds-footer__nav a { color: rgba(255,255,255,.8); }
.ds-footer__nav a:hover { color: #fbca4d; }
.ds-footer__info { border-top: 1px solid rgba(255,255,255,.12); margin-top: 44px; padding-top: 32px; }
.ds-footer__info p { margin: 0 0 6px; }
.ds-footer__notice { margin-top: 16px !important; color: rgba(255,255,255,.38); }
.ds-footer__legal { margin-top: 14px !important; }
.ds-footer__legal a { color: rgba(255,255,255,.65); text-decoration: underline; }
.ds-footer__legal a:hover { color: #fbca4d; }

/* ---------- 전역 a 규칙(.ds-site a)보다 우선해야 하는 링크형 컴포넌트 색상 ---------- */
.ds-site a.ds-button, .ds-site .ds-button:not(.ds-button--line):not(.ds-button--ghost):not(.ds-filerow__btn) { color: #fff; }
.ds-site a.ds-button:hover, .ds-site .ds-button:not(.ds-button--line):not(.ds-button--ghost):not(.ds-filerow__btn):hover { color: #fff; }
/* 고스트 버튼: 평소 흰 글자, 호버 시 흰 배경 + 파란 글자 (원본 .btn-ghost 와 동일) */
.ds-site .ds-button.ds-button--ghost { color: #fff; }
.ds-site .ds-button.ds-button--ghost:hover { background: #fff; color: #014099; border-color: #fff; }
/* 파일 선택 label 및 라인형 버튼은 파란 글자 유지 */
.ds-site .ds-button.ds-button--line { color: #014099; }
.ds-site .ds-button.ds-button--line:hover { color: #fff; }
.ds-site .ds-filerow__btn { color: #014099; }
.ds-site .ds-filerow__btn:hover { color: #fff; }
.ds-site a.ds-button--ghost:hover { color: #014099; }
.ds-site a.ds-button--line { color: #014099; }
.ds-site a.ds-button--line:hover { color: #fff; }
.ds-site a.ds-situation { color: #555; }
.ds-site a.ds-situation:hover { color: rgba(255,255,255,.8); }
.ds-site a.ds-situation:hover strong { color: #fff; }
.ds-site a.ds-situation:hover span { color: #fbca4d; }
.ds-site a.ds-record-card, .ds-site a.ds-record-card:hover { color: #555; }
.ds-site a.ds-lawyer-card, .ds-site a.ds-lawyer-card:hover { color: #555; }
.ds-site a.ds-media-card, .ds-site a.ds-media-card:hover { color: #555; }
.ds-site a.ds-record-feature, .ds-site a.ds-record-feature:hover { color: #555; }
.ds-site a.ds-post-row, .ds-site a.ds-post-row:hover { color: #555; }
.ds-site a.ds-text-link { color: #014099; }
.ds-site a.ds-text-link:hover { color: #00b0ec; }

/* ---------- 에디터 미리보기 ---------- */
body.ds-editor-preview { padding: 0 !important; margin: 0 !important; }

/* ---------- 개인정보처리방침 ---------- */
.ds-terms h3 { font-size: 20px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin: 40px 0 12px; }
.ds-terms p, .ds-terms li { font-size: 15.5px; }
.ds-terms ol, .ds-terms ul { padding-left: 22px; margin: 0; }

/* =============================================================
   반응형
   ============================================================= */
@media (max-width: 1180px) {
    .ds-wrap { padding: 0 28px; }
    .ds-hero__title { font-size: 52px; }
    .ds-situation-grid { grid-template-columns: repeat(3, 1fr); }
    .ds-record-grid { grid-template-columns: repeat(2, 1fr); }
    .ds-lawyer-grid { grid-template-columns: repeat(4, 1fr); }
    .ds-lawyer-grid--page { grid-template-columns: repeat(3, 1fr); }
    .ds-history-grid { grid-template-columns: 1fr 1fr; }
    /* 태블릿/모바일: 인물 사진을 숨기지 않고 텍스트 아래 중앙에 표시 */
    .ds-profile-hero__photo { position: static; width: 250px; max-width: 70%; margin: 36px auto 0; }
    .ds-profile-hero__content { max-width: none; }
}

@media (max-width: 920px) {
    .ds-header__inner { height: 72px; gap: 20px; }
    .ds-logo img { height: 36px; }
    .ds-menu-button {
        display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px;
        margin-left: auto; width: 48px; height: 48px; background: transparent; border: 0; cursor: pointer;
    }
    .ds-menu-button span { display: block; width: 24px; height: 2px; background: #101020; transition: .3s; }
    .ds-menu-button b { position: absolute; left: -9999px; }
    .ds-nav {
        position: fixed; top: 0; right: 0; width: 280px; height: 100vh;
        background: #fff; flex-direction: column; align-items: flex-start; gap: 0;
        padding: 90px 30px 30px; margin: 0; box-shadow: -12px 0 40px rgba(16,16,32,.14);
        transform: translateX(105%); visibility: hidden;
        transition: transform .35s, visibility .35s; z-index: 95; box-sizing: border-box;
        overflow-y: auto;
    }
    .ds-nav.is-open { transform: none; visibility: visible; }
    .ds-nav a { padding: 15px 0; font-size: 17px; width: 100%; border-bottom: 1px solid #f0f2f6; }
    .ds-nav .ds-nav__contact { margin-top: 22px; width: 100%; border-bottom: 0; }
    /* 주의: 헤더(.ds-header)가 z-index:80 스태킹 컨텍스트라 backdrop은 그보다 낮아야
       메뉴(.ds-nav) 클릭이 가로채이지 않는다 */
    .ds-nav-backdrop { display: block; position: fixed; inset: 0; background: rgba(16,16,32,.45); z-index: 79; opacity: 0; pointer-events: none; transition: .3s; }
    .ds-nav-backdrop.is-open { opacity: 1; pointer-events: auto; }
    body.ds-nav-locked { overflow: hidden; }

    .ds-section { padding: 90px 0; }
    .ds-section-head { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 44px; }
    .ds-section-head h2, .ds-st, .ds-page-head .ds-title { font-size: 34px; }
    .ds-hero__content, .ds-hero--roll .ds-hero__content { padding-top: 110px; padding-bottom: 110px; }
    .ds-hero__title { font-size: 42px; }
    .ds-hero__split-grid { grid-template-columns: 1fr; gap: 60px; padding-top: 100px; padding-bottom: 110px; }
    .ds-hero__slides { height: 340px; }
    .ds-situation-grid { grid-template-columns: repeat(2, 1fr); }
    .ds-process-grid { grid-template-columns: 1fr; gap: 18px; }
    .ds-media-grid { grid-template-columns: 1fr; }
    .ds-location-grid { grid-template-columns: 1fr; }
    .ds-lawyer-grid { grid-template-columns: repeat(3, 1fr); }
    .ds-lawyer-grid--page { grid-template-columns: repeat(2, 1fr); }
    .ds-intro-row, .ds-first-process { grid-template-columns: 1fr; gap: 34px; }
    .ds-area-card-grid { grid-template-columns: 1fr; gap: 18px; }
    .ds-field-card-grid { grid-template-columns: repeat(2, 1fr); }
    .ds-area-grid { grid-template-columns: repeat(2, 1fr); }
    .ds-proc-flow { flex-direction: column; }
    .ds-proc-flow__step { flex-direction: column; }
    .ds-proc-flow__arrow { transform: rotate(90deg); }
    .ds-proc-flow__card { width: 100%; box-sizing: border-box; }
    .ds-row { grid-template-columns: 1fr; gap: 10px; padding: 28px 0; }
    .ds-record-feature { grid-template-columns: 1fr; }
    .ds-record-feature__image { min-height: 200px; }
    .ds-record-feature__image img { max-height: 260px; }
    .ds-record-feature__body { padding: 30px 28px; }
    .ds-first-intro { grid-template-columns: 1fr; gap: 34px; }
    .ds-first-intro__photo { max-width: 320px; }
    .ds-assure-grid { grid-template-columns: 1fr; gap: 34px; }
    .ds-office-band .ds-wrap { flex-direction: column; align-items: flex-start; gap: 28px; }
    .ds-office-band .ds-button { margin-left: 0; }
    .ds-history-grid { grid-template-columns: 1fr; gap: 40px; }
    .ds-guide-cards, .ds-dont-grid, .ds-channel-grid { grid-template-columns: 1fr; gap: 18px; }
    .ds-form-grid { grid-template-columns: 1fr; }
    .ds-consult-info { grid-template-columns: 1fr; }
    .ds-table { font-size: 14px; }
    .ds-case-row { grid-template-columns: 1fr; gap: 18px; padding-bottom: 44px; }
    .ds-case-related { grid-template-columns: 1fr; }
    .ds-case-actions { flex-direction: column; }
    .ds-case-actions .ds-button { width: 100%; }
    .ds-verdict { padding: 26px 24px; }
    .ds-verdict p { font-size: 16px; }
    .ds-timepick__detail { flex-direction: column; gap: 16px; }
    .ds-write__actions { flex-direction: column; }
    .ds-write__actions .ds-button { width: 100%; }
    .ds-contact-band { padding: 80px 0; }
    .ds-contact-band h2 { font-size: 30px; }
    .ds-contact-band--row .ds-wrap { flex-direction: column; align-items: flex-start; text-align: left; }
    .ds-quickform__grid { grid-template-columns: 1fr; }
    .ds-practice-hero h1 { font-size: 40px; }
    .ds-practice-hero__quote { font-size: 18px; }
    .ds-profile-hero h1 { font-size: 40px; }
    .ds-profile-hero blockquote { font-size: 20px; }
    .ds-page-visual h1 { font-size: 34px; }
    .ds-view-head h1 { font-size: 30px; }
    .ds-post-row b { font-size: 18px; }
    .ds-quick { width: 64px; }
    .ds-quick a, .ds-quick button { height: 46px; font-size: 12px; }
    .ds-footer__top { flex-direction: column; gap: 28px; }
}

@media (max-width: 680px) {
    .ds-wrap { padding: 0 20px; }
    .ds-section { padding: 66px 0; }
    .ds-hero__content, .ds-hero--roll .ds-hero__content { padding-top: 90px; padding-bottom: 90px; }
    .ds-hero__title { font-size: 34px; }
    .ds-hero__actions { flex-direction: column; align-items: stretch; }
    .ds-section-head h2, .ds-st, .ds-page-head .ds-title { font-size: 28px; }
    .ds-situation-grid { grid-template-columns: 1fr; }
    .ds-situation strong { min-height: 0; }
    .ds-record-grid { grid-template-columns: 1fr; }
    .ds-lawyer-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .ds-lawyer-grid--page { grid-template-columns: 1fr; }
    .ds-area-grid { grid-template-columns: 1fr; }
    .ds-field-card-grid { grid-template-columns: 1fr; }
    .ds-practice-hero .ds-wrap, .ds-page-visual .ds-wrap, .ds-profile-hero .ds-wrap { padding-top: 70px; padding-bottom: 70px; }
    .ds-practice-hero h1 { font-size: 32px; }
    .ds-profile-hero h1 { font-size: 32px; }
    .ds-contact-band h2 { font-size: 24px; }
    .ds-step-row { grid-template-columns: 60px 1fr; gap: 18px; }
    .ds-step-row b { font-size: 30px; }
    .ds-qbox { padding: 30px 26px; font-size: 16px; }
    .ds-post-row { gap: 18px; padding: 24px 2px; }
    .ds-view-head h1 { font-size: 24px; }
    .ds-footer { padding: 56px 0 44px; }
    .ds-footer__nav { gap: 16px; font-size: 14px; }
}

/* =============================================================
   페이지별 스타일
   여기부터는 특정 페이지에서만 쓰는 덮어쓰기 규칙만 둔다.
   위쪽 공통/컴포넌트 규칙은 건드리지 않는다.
   ============================================================= */

/* ----- 취급분야 상세: 절차 / 주요 쟁점 카드 줄 ----- */
/* 카드 높이를 가장 높은 카드에 맞추고, 카드 안 글자는 원본 시안처럼 가운데 정렬 */
.ds-proc-flow--even .ds-proc-flow__step { align-items: stretch; }
.ds-proc-flow--even .ds-proc-flow__card { display: flex; flex-direction: column; }
.ds-proc-flow--even .ds-proc-flow__card p { text-align: center; }

/* ----- 먼저 읽어보세요 (/notes/) ----- */
/* 원본 시안 #/notes 의 값을 그대로 옮긴 페이지 전용 규칙 */
.ds-notes-hero { background: #f7f8fa; padding: 96px 0 88px; text-align: center; }
.ds-notes-hero .ds-eyebrow { justify-content: center; }
.ds-notes-hero .ds-title { font-size: 44px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.3; margin: 22px 0 0; }
.ds-notes-hero__copy { font-size: 17px; margin: 20px 0 0; }
.ds-notes-search { display: flex; max-width: 560px; margin: 40px auto 0; border: 1.5px solid #101020; background: #fff; }
.ds-notes-search__inp { flex: 1; border: 0; padding: 0 22px; height: 56px; font: 15px 'Pretendard', sans-serif; color: #555; background: transparent; box-sizing: border-box; outline: none; }
.ds-notes-search__btn { width: 104px; height: 56px; border: 0; background: #101020; color: #fff; font: 700 15px 'Pretendard', sans-serif; letter-spacing: -0.03em; cursor: pointer; transition: .3s; }
.ds-notes-search__btn:hover { background: #014099; }

.ds-notes-g3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ds-notes-g4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

.ds-notes-card { background: #f7f8fa; padding: 32px 30px; }
.ds-notes-card b { display: block; font-size: 19px; font-weight: 700; color: #000; letter-spacing: -0.05em; line-height: 1.5; margin: 16px 0 10px; }
.ds-notes-card p { font-size: 14.5px; margin: 0; color: #787878; }

.ds-notes-prep { background: #f7f8fa; padding: 28px 26px; }
.ds-notes-prep__dot { display: block; width: 10px; height: 10px; background: #00b0ec; margin-bottom: 18px; }
.ds-notes-prep__txt { font-size: 15.5px; font-weight: 600; color: #212121; letter-spacing: -0.03em; line-height: 1.65; }

.ds-notes-dont { background: #f7f8fa; padding: 28px 26px; }
.ds-notes-dont__x { display: block; font-family: 'Poppins', sans-serif; font-weight: 700; color: #014099; font-size: 16px; margin-bottom: 16px; }
.ds-notes-dont b { display: block; font-size: 17px; font-weight: 700; color: #000; letter-spacing: -0.05em; margin-bottom: 6px; }
.ds-notes-dont__txt { font-size: 14px; color: #787878; line-height: 1.7; }
.ds-notes-note { font-size: 13.5px; color: #8a94a4; margin: 32px 0 0; }

.ds-notes-contact { background: #101020; background-image: radial-gradient(1000px 620px at 78% 12%, rgba(1,64,153,.55), transparent 62%), radial-gradient(700px 460px at 8% 95%, rgba(0,176,236,.14), transparent 60%); color: rgba(255,255,255,.66); text-align: center; padding: 100px 0 90px; }
.ds-notes-contact .ds-eyebrow { justify-content: center; color: #fbca4d; }
.ds-notes-contact__title { font-size: 44px; font-weight: 700; color: #fff; letter-spacing: -0.05em; line-height: 1.3; margin: 22px 0 0; }
.ds-notes-contact__title em { font-style: normal; font-weight: 300; }
.ds-notes-contact .ds-button { margin-top: 38px; }
.ds-notes-team { margin-top: 88px; }
.ds-notes-team__title { font-size: 18px; font-weight: 700; color: #fff; letter-spacing: -0.05em; margin: 0 0 26px; }
.ds-notes-team__title span { color: #fbca4d; }
.ds-notes-team__grid { display: grid; grid-template-columns: repeat(11, 1fr); gap: 10px; }
/* .ds-site a 규칙(0,1,1)을 이기도록 a 를 함께 지정 */
.ds-notes-contact a.ds-notes-team__item { display: block; color: rgba(255,255,255,.75); }
.ds-notes-contact a.ds-notes-team__item:hover { color: #fff; }
.ds-notes-team__photo { display: block; position: relative; padding-top: 133.33%; overflow: hidden; background: linear-gradient(135deg, #1a1a38 0%, #25254e 100%); }
.ds-notes-team__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.ds-notes-team__name { display: block; font-size: 12.5px; font-weight: 600; margin-top: 8px; text-align: center; }

@media (max-width: 1180px) {
    .ds-notes-team__grid { grid-template-columns: repeat(6, 1fr); gap: 12px; }
}
@media (max-width: 920px) {
    .ds-notes-hero { padding: 72px 0 64px; }
    .ds-notes-hero .ds-title, .ds-notes-contact__title { font-size: 34px; }
    .ds-notes-g3, .ds-notes-g4 { grid-template-columns: repeat(2, 1fr); }
    .ds-notes-contact { padding: 80px 0 72px; }
    .ds-notes-team { margin-top: 56px; }
    .ds-notes-team__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 680px) {
    .ds-notes-hero .ds-title, .ds-notes-contact__title { font-size: 28px; }
    .ds-notes-g3, .ds-notes-g4 { grid-template-columns: 1fr; }
    .ds-notes-search { max-width: none; }
    .ds-notes-search__btn { width: 84px; }
    .ds-notes-team__grid { grid-template-columns: repeat(3, 1fr); }
}

/* ----- 게시판(법률지식/영상) 검색창 ----- */
.ds-board-search { margin: 0 auto 40px; }
.ds-board-searchinfo { font-size: 14.5px; color: #8a94a4; text-align: center; margin: -22px 0 34px; }
.ds-board-searchinfo b { color: #014099; }
.ds-board-searchinfo a { margin-left: 10px; }

/* ----- 상담하기(/contact/) 온라인 접수 폼 ----- */
/* 다크 배경 위에 게시판(comm1)과 같은 항목을 올린다. 공통 규칙은 건드리지 않는다 */
.ds-contact-form .ds-consultfull { max-width: 880px; margin: 44px auto 0; text-align: left; }
.ds-consultfull__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.ds-consultfull__f { margin-top: 20px; }
.ds-consultfull__grid .ds-consultfull__f { margin-top: 0; }
.ds-consultfull label b { color: #fbca4d; }
.ds-consultfull select.ds-inp { height: 55px; padding: 0 16px; appearance: none; -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, rgba(255,255,255,.6) 50%), linear-gradient(135deg, rgba(255,255,255,.6) 50%, transparent 50%);
    background-position: calc(100% - 20px) 24px, calc(100% - 14px) 24px; background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; }
.ds-consultfull select.ds-inp option { color: #212121; background: #fff; }
.ds-consultfull__area { min-height: 170px; line-height: 1.7; resize: vertical; }
.ds-consultfull__hint { font-size: 13px; color: rgba(255,255,255,.5); font-weight: 400; }
.ds-consultfull .ds-timepick__any { color: rgba(255,255,255,.8); }
.ds-consultfull .ds-timepick__any b { color: #fff; }
.ds-consultfull .ds-timepick__detail { background: rgba(255,255,255,.06); }
.ds-consultfull .ds-timepick__label { color: #fbca4d; }
.ds-consultfull .ds-timepick__hint { color: rgba(255,255,255,.5); }
.ds-consultfull .ds-timepick__detail input[type=date],
.ds-consultfull .ds-timepick__detail select {
    border: 1px solid rgba(255,255,255,.35); background: transparent; color: #fff;
    font-family: 'Pretendard', sans-serif; font-size: 15px; padding: 12px 14px; box-sizing: border-box;
}
.ds-consultfull .ds-timepick__detail select option { color: #212121; background: #fff; }
.ds-consultfull .ds-filerow__name {
    border: 1px solid rgba(255,255,255,.35); background: transparent; color: #fff;
    font-family: 'Pretendard', sans-serif; font-size: 15px; padding: 15px 18px; box-sizing: border-box;
}
.ds-consultfull .ds-filerow__name::placeholder { color: rgba(255,255,255,.45); }
/* '파일 선택' 버튼: .ds-quickform label(display:block) 과 .ds-button 폭 100%% 규칙을 되돌리고,
   다크 배경에 맞춰 파란 버튼 + 가로·세로 가운데 정렬로 맞춘다 */
.ds-site .ds-consultfull .ds-button.ds-filerow__btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: auto; margin: 0; height: 50px; padding: 0 24px;
    font-size: 15px; font-weight: 700; line-height: 1;
    background: #014099; color: #fff; border: 1px solid #014099;
}
.ds-site .ds-consultfull .ds-button.ds-filerow__btn:hover { background: #00b0ec; color: #fff; border-color: #00b0ec; }
.ds-consultfull .ds-filerow__name { flex: 1 1 260px; }
.ds-consultfull__agree { display: flex; align-items: flex-start; gap: 10px; margin-top: 24px;
    font-size: 14.5px; font-weight: 400; color: rgba(255,255,255,.8); cursor: pointer; }
.ds-consultfull__agree input { width: 18px; height: 18px; flex: none; margin-top: 2px; }
.ds-consultfull__agree a { color: #fbca4d; text-decoration: underline; }
.ds-consultfull__agree a:hover { color: #fff; }

@media (max-width: 680px) {
    .ds-consultfull__grid { grid-template-columns: 1fr; }
}

/* ----- 메인 /02 First Visit (원본 시안 #/home 수치 그대로) ----- */
/* 원본: .soft padding 78px 0 84px / 카드는 번호와 글이 한 줄, 카드 안쪽 26px 28px */
.ds-fv { padding: 78px 0 84px; }
.ds-fv .ds-section-head { margin-bottom: 40px; }
.ds-fv .ds-section-head h2 { font-size: 34px; }
.ds-fv .ds-process-grid { gap: 20px; }
.ds-fv .ds-process-card { padding: 26px 28px; display: flex; gap: 20px; align-items: flex-start; }
.ds-fv .ds-process-card b { font-size: 28px; flex: none; margin: 3px 0 0; }
.ds-fv .ds-process-card h3 { font-size: 18px; margin: 0 0 6px; }
.ds-fv .ds-process-card p { font-size: 14.5px; color: #787878; }
.ds-fv .ds-section-note { margin-top: 20px; }

@media (max-width: 920px) {
    .ds-fv { padding: 64px 0 68px; }
    .ds-fv .ds-section-head { margin-bottom: 30px; }
    .ds-fv .ds-section-head h2 { font-size: 30px; }
}
@media (max-width: 680px) {
    .ds-fv { padding: 52px 0 56px; }
    .ds-fv .ds-section-head h2 { font-size: 26px; }
}

/* ----- 동승의 변호사 목록 (/lawyers/) — 원본 시안 #/lawyers 수치 그대로 ----- */
/* 다크 히어로 아래로 카드가 겹쳐 올라오는 구조 + 카드 그림자 + 우측 큰 숫자 */
.ds-lw-hero {
    background: #101020;
    background-image: radial-gradient(1000px 620px at 78% 12%, rgba(1,64,153,.55), transparent 62%),
                      radial-gradient(700px 460px at 8% 95%, rgba(0,176,236,.14), transparent 60%);
    color: rgba(255,255,255,.6);
}
.ds-lw-hero__row { display: flex; justify-content: space-between; align-items: flex-end; gap: 60px; padding-top: 120px; padding-bottom: 220px; }
.ds-lw-hero .ds-eyebrow { color: #fbca4d; }
.ds-site .ds-lw-hero__title { font-size: 58px; font-weight: 300; color: #fff; letter-spacing: -0.05em; line-height: 1.25; margin: 24px 0 0; }
.ds-lw-hero__title strong { font-weight: 800; }
.ds-site .ds-lw-hero__copy { font-size: 17px; margin: 26px 0 0; max-width: 520px; }
.ds-lw-hero__count { text-align: right; flex: 0 0 auto; }
.ds-lw-hero__num { font-family: 'Poppins', sans-serif; font-size: 170px; font-weight: 700; line-height: .9; color: transparent; -webkit-text-stroke: 1.5px rgba(0,176,236,.6); }
.ds-lw-hero__unit { justify-content: flex-end; margin-top: 14px; }

.ds-lw-list { background: #f7f8fa; padding-bottom: 130px; }
.ds-lw-list__wrap { position: relative; z-index: 2; margin-top: -160px; }
.ds-lw-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.ds-site a.ds-lw-card { display: block; background: #fff; box-shadow: 0 14px 40px rgba(16,16,32,.14); color: #555; transition: .3s; }
.ds-site a.ds-lw-card:hover { transform: translateY(-6px); box-shadow: 0 24px 55px rgba(16,16,32,.2); color: #555; }
.ds-lw-card__photo { display: block; position: relative; padding-top: 133.333%; overflow: hidden; background: linear-gradient(135deg, #f2f4f9 0%, #e0e6f0 100%); }
.ds-lw-card__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.ds-lw-card__body { display: block; padding: 18px 20px 22px; }
.ds-lw-card__body b { display: block; font-size: 19px; font-weight: 700; color: #000; letter-spacing: -0.05em; }
.ds-lw-card__body b span { font-size: 14px; color: #014099; font-weight: 700; }
.ds-lw-card__sum { display: block; font-size: 14px; color: #787878; margin-top: 5px; }

@media (max-width: 1180px) {
    .ds-lw-grid { grid-template-columns: repeat(3, 1fr); }
    .ds-lw-hero__num { font-size: 130px; }
}
@media (max-width: 920px) {
    .ds-lw-hero__row { flex-direction: column; align-items: flex-start; gap: 24px; padding-top: 86px; padding-bottom: 170px; }
    .ds-site .ds-lw-hero__title { font-size: 38px; }
    .ds-lw-hero__count { text-align: left; }
    .ds-lw-hero__num { font-size: 96px; }
    .ds-lw-hero__unit { justify-content: flex-start; }
    .ds-lw-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .ds-lw-list { padding-bottom: 84px; }
    .ds-lw-list__wrap { margin-top: -120px; }
}
@media (max-width: 680px) {
    .ds-site .ds-lw-hero__title { font-size: 30px; }
    .ds-lw-hero__num { font-size: 76px; }
    .ds-lw-list__wrap { margin-top: -100px; }
}

/* ----- 승소사례 상세 (example 게시판 보기) — 원본 시안 #/case 수치 ----- */
/* 원본: wrap grid 380px 1fr / gap 90px, 본문 17px, h3bar 기본 26px */
.ds-page-records .ds-case-row { grid-template-columns: 380px 1fr; gap: 90px; }
.ds-page-records .ds-case-row .ds-h3bar { font-size: 26px; }
.ds-page-records .ds-case-body p { font-size: 17px; line-height: 1.85; }
/* 안내 문구는 본문 칼럼 안으로 들어가면서 .ds-case-body p 규칙을 이기도록 지정 */
.ds-page-records .ds-case-body .ds-case-note { font-size: 13.5px; line-height: 1.7; color: #8a94a4; margin: 22px 0 0; }
/* 원본 섹션 여백: 첫 섹션 위 72 / 블록 사이 130 / 마지막 아래 130 */
.ds-page-records .ds-case { padding: 72px 0 130px; }
.ds-page-records .ds-case-row { padding: 0 0 130px; }
.ds-page-records .ds-case-row:last-of-type { padding-bottom: 0; }
.ds-page-records .ds-view-head h1 { line-height: 1.3; }
/* 판결 주문 박스: 원본 .qbox(패딩 44/48, 19px, 자간 -0.03em) 기준에서 글자를 키운 제안값 */
.ds-page-records .ds-verdict {
    background: #101020;
    background-image: radial-gradient(600px 300px at 85% 0%, rgba(1,64,153,.5), transparent 60%);
    padding: 44px 48px; color: #fff; letter-spacing: -0.03em;
}
.ds-page-records .ds-verdict__label { font-size: 12px; margin-bottom: 16px; }
.ds-page-records .ds-verdict p { font-size: 21px; line-height: 1.85; font-weight: 500; }
.ds-page-records .ds-verdict__q { font-size: 38px; line-height: 0; vertical-align: -6px; color: #fbca4d; font-weight: 700; }
/* 관련 사례 카드 */
.ds-page-records .ds-case-card h4 { font-size: 22px; line-height: 1.45; }
.ds-page-records .ds-case-card p { font-size: 14px; color: #787878; }

@media (max-width: 920px) {
    .ds-page-records .ds-case-row { grid-template-columns: 1fr; gap: 18px; }
    .ds-page-records .ds-verdict { padding: 26px 24px; }
    .ds-page-records .ds-verdict p { font-size: 18px; }
    .ds-page-records .ds-verdict__q { font-size: 30px; }
}

/* ----- 이런 사건을 맡습니다 (/practice/) — 원본 시안 #/areas 수치 ----- */
/* 상황 카드: 원본 .g2 gap 24 / 카드 패딩 38px 40px / 질문 23px lh1.45 / 소개 15px */
/* 원본 첫 섹션 padding-top:72px, 섹션 머리 margin-bottom:44px */
.ds-page-areas .ds-section:first-of-type { padding-top: 72px; }
.ds-page-areas .ds-section--soft .ds-section-head { margin-bottom: 44px; }
.ds-page-areas .ds-area-card-grid { gap: 24px; }
.ds-page-areas .ds-area-card { padding: 38px 40px; }
.ds-page-areas .ds-area-card__field { font-size: 13px; letter-spacing: .02em; margin-bottom: 12px; }
.ds-page-areas .ds-area-card h3 { font-size: 23px; line-height: 1.45; margin: 0 0 12px; }
.ds-page-areas .ds-area-card p { font-size: 15px; line-height: 1.7; }
.ds-page-areas .ds-area-card__arrow { top: 42px; right: 40px; }
/* 페이저 */
.ds-page-areas .ds-areas-pager { margin-top: 48px; }
.ds-page-areas .ds-areas-pager button, .ds-page-areas .ds-areas-pager a { font-size: 15px; }
/* 취급 업무 전체보기 */
.ds-page-areas .ds-section--soft .ds-section-head h2 { font-size: 36px; }
.ds-page-areas .ds-field-tabs { gap: 40px; margin-bottom: 36px; }
.ds-page-areas .ds-field-tab { font-size: 18px; padding-left: 14px; }
.ds-page-areas .ds-field-tab::before { width: 3px; top: 0; bottom: 0; }
/* 안내 문구가 카드에 붙지 않도록 (원본에는 없는 문구라 여유를 준다) */
.ds-page-areas .ds-board-note { margin-top: 56px; }

@media (max-width: 920px) {
    .ds-page-areas .ds-area-card { padding: 28px 24px; }
    .ds-page-areas .ds-area-card h3 { font-size: 20px; }
    .ds-page-areas .ds-field-tabs { gap: 20px; }
    .ds-page-areas .ds-field-tab { font-size: 16px; }
    .ds-page-areas .ds-board-note { margin-top: 36px; }
}

/* ----- 메인 하단 간단상담 폼 ----- */
/* 상담하기 버튼과 안내 문구가 붙어 보이지 않도록 여백 확보 */
.ds-page-home .ds-quickform__note { margin-top: 22px; }

/* ----- 변호사 상세: 이긴 기록 요약문 (2~3줄) ----- */
.ds-page-lawyers .ds-record-feature__more { font-size: 15.5px; line-height: 1.8; color: #787878; margin-top: 12px; max-width: 620px; }

/* ----- 승소사례 목록: 하단 문구가 카드에 붙지 않도록 ----- */
.ds-page-records .ds-board-note { margin-top: 56px; }

/* ----- 사이드 퀵메뉴: 하단 바로 바뀌기 전(921px 이상)까지 폭을 78px 그대로 유지 ----- */
/* 2026-09-11 결정: 본문 오른쪽 끝과 겹치더라도 폭을 줄이지 않는다. 920px 이하는 아래 하단 바 규칙이 이어받는다. */
@media (min-width: 921px) {
    body:not(.ds-device-mobile) .ds-quick { width: 78px; }
    body:not(.ds-device-mobile) .ds-quick a,
    body:not(.ds-device-mobile) .ds-quick button { height: 52px; font-size: 13px; letter-spacing: -0.03em; }
}

/* ----- 변호사 상세: 이긴 기록 목록 (게시판에서 가져온 최근 5건) ----- */
.ds-record-list { display: flex; flex-direction: column; gap: 24px; }
.ds-page-lawyers .ds-record-list .ds-record-feature { margin: 0; }

/* ----- 승소사례 상세: 기타 영역 · 항목별 입력칸 ----- */
/* 기타는 입력했을 때만 나오며, 본문 문단과 같은 글자를 쓴다 */
.ds-page-records .ds-case-etc { margin-top: 40px; }
.ds-page-records .ds-case-etc p { font-size: 17px; line-height: 1.85; color: #555; margin: 0 0 10px; }
.ds-page-records .ds-case-etc p:last-child { margin-bottom: 0; }
/* 등록/수정 폼의 항목별 입력칸 */
.ds-write .ds-case-input {
    width: 100%; box-sizing: border-box; border: 1px solid #d5dae2; padding: 14px 16px;
    font-family: 'Pretendard', sans-serif; font-size: 15.5px; line-height: 1.8; resize: vertical;
}
.ds-write .ds-case-input:focus { outline: 0; border-color: #014099; }

@media (max-width: 920px) {
    .ds-page-records .ds-case-etc { margin-top: 28px; }
    .ds-page-records .ds-case-etc p { font-size: 16px; }
}

/* ----- 메인 오시는길: 사무소 3곳 ----- */
/* 지도를 누르거나 '크게보기' 를 누르면 네이버지도가 새 창으로 열린다 */
.ds-location-grid--3 { grid-template-columns: repeat(3, 1fr); }
.ds-location-card__map { display: block; }
.ds-site a.ds-location-card__map { color: inherit; }
.ds-page-home .ds-location-card__more { display: inline-block; margin-top: 12px; font-size: 14.5px; font-weight: 700; color: #014099; }
.ds-page-home .ds-location-card__more:hover { color: #00b0ec; }

@media (max-width: 1180px) {
    .ds-location-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 920px) {
    .ds-location-grid--3 { grid-template-columns: 1fr; }
}

/* ----- 변호사 상세: 자격 · 위촉 (첨부자료 넘겨보기) ----- */
/* 좁은 화면은 손가락 스와이프, 넓은 화면은 좌우 화살표. 라이브러리 없이 CSS 스크롤 스냅만 쓴다. */
.ds-page-lawyers .ds-cert { position: relative; }
.ds-page-lawyers .ds-cert__track {
    display: flex; gap: 24px; margin: 0; padding: 4px 0 14px; list-style: none;
    overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
.ds-page-lawyers .ds-cert__track::-webkit-scrollbar { height: 6px; }
.ds-page-lawyers .ds-cert__track::-webkit-scrollbar-thumb { background: #d3d9e2; border-radius: 3px; }
.ds-page-lawyers .ds-cert__item { flex: 0 0 240px; width: 240px; scroll-snap-align: start; }
.ds-page-lawyers .ds-site .ds-cert__link,
.ds-page-lawyers .ds-cert__link { display: block; color: inherit; text-decoration: none; }
.ds-page-lawyers .ds-cert__thumb {
    position: relative; display: flex; align-items: center; justify-content: center;
    height: 320px; padding: 10px; background: #fff; border: 1px solid #e5e8ee;
    transition: border-color .2s, box-shadow .2s;
}
.ds-page-lawyers .ds-cert__thumb img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.ds-page-lawyers .ds-cert__link:hover .ds-cert__thumb { border-color: #014099; box-shadow: 0 6px 20px rgba(1, 64, 153, 0.12); }
.ds-page-lawyers .ds-cert__noimg { font-size: 20px; font-weight: 700; color: #9aa4b2; letter-spacing: 0.04em; }
.ds-page-lawyers .ds-cert__badge {
    position: absolute; left: 10px; top: 10px; padding: 3px 8px;
    font-size: 11.5px; font-weight: 700; letter-spacing: 0.02em; color: #fff; background: #014099;
}
.ds-page-lawyers .ds-cert__name {
    display: block; margin-top: 14px; font-size: 15px; line-height: 1.55; font-weight: 700; color: #222;
}
.ds-page-lawyers .ds-cert__hint { display: block; margin-top: 5px; font-size: 13.5px; color: #8b93a0; }
.ds-page-lawyers .ds-cert__link:hover .ds-cert__hint { color: #014099; }

/* 좌우 화살표 — 넘길 것이 없으면 감춘다 */
.ds-page-lawyers .ds-cert__nav {
    position: absolute; top: 160px; z-index: 2; width: 44px; height: 44px; margin-top: -22px;
    padding: 0; font-size: 26px; line-height: 40px; color: #014099;
    background: #fff; border: 1px solid #d8dee7; border-radius: 50%; cursor: pointer;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.1); transition: opacity .2s, background .2s;
}
.ds-page-lawyers .ds-cert__nav:hover { background: #f2f6fc; }
.ds-page-lawyers .ds-cert__nav:disabled { opacity: 0.25; cursor: default; }
.ds-page-lawyers .ds-cert__nav--prev { left: -22px; }
.ds-page-lawyers .ds-cert__nav--next { right: -22px; }
.ds-page-lawyers .ds-cert--static .ds-cert__nav { display: none; }
.ds-page-lawyers .ds-cert--static .ds-cert__track { overflow-x: visible; }

@media (max-width: 1240px) {
    .ds-page-lawyers .ds-cert__nav--prev { left: 4px; }
    .ds-page-lawyers .ds-cert__nav--next { right: 4px; }
}
@media (max-width: 920px) {
    .ds-page-lawyers .ds-cert__track { gap: 16px; }
    .ds-page-lawyers .ds-cert__item { flex-basis: 190px; width: 190px; }
    .ds-page-lawyers .ds-cert__thumb { height: 258px; }
    .ds-page-lawyers .ds-cert__nav { display: none; }
    .ds-page-lawyers .ds-cert__name { font-size: 14.5px; }
}

/* ----- 퀵메뉴: 네이버톡톡 추가 · 전화하기 색 변경 (2026-09-11) ----- */
/* 공통 규칙은 그대로 두고 여기서 덮어쓴다. 순서는 블로그 · 카톡상담 · 네이버톡톡 · 전화하기 · TOP */
.ds-quick .ds-quick__navertalk { background: #03c75a; color: #0b3a1f; }
.ds-quick .ds-quick__navertalk:hover { background: #02b04f; color: #0b3a1f; }
.ds-quick .ds-quick__phone { background: #990101; color: #fff; }
.ds-quick .ds-quick__phone:hover { background: #7a0000; color: #fff; }

/* ----- 퀵메뉴: 화면 폭 920px 이하면 기기 판정과 상관없이 하단 바 (2026-09-11) ----- */
/* 그누보드는 PC/모바일 판정을 세션에 저장한다. 폰에서 '데스크톱 사이트'를 켰거나 아이패드처럼 PC 로 잡히면
   renewal-mobile.css 가 실리지 않아 사이드바가 그대로 남는다. 하단 바는 화면 폭만 보고 정하도록 여기서 한 번 더 건다. */
@media (max-width: 920px) {
    body.ds-site .ds-quick { top: auto; bottom: 0; transform: none; width: 100%; flex-direction: row; }
    body.ds-site .ds-quick a,
    body.ds-site .ds-quick button { flex: 1; height: 52px; font-size: 13px; letter-spacing: -0.03em; }
    body.ds-site .ds-footer { padding-bottom: 96px; }
    body.ds-site .ds-contact-band { padding-bottom: 96px; }
    /* 1180px 이하에서 사이드바 자리로 넣었던 오른쪽 여백은 하단 바에서는 필요 없다 */
    body.ds-site:not(.ds-device-mobile) .ds-wrap { padding-right: 28px; }
}
@media (max-width: 680px) {
    body.ds-site:not(.ds-device-mobile) .ds-wrap { padding-right: 20px; }
}
@media (max-width: 340px) {
    body.ds-site .ds-quick a,
    body.ds-site .ds-quick button { font-size: 12px; letter-spacing: -0.05em; }
}

/* ----- 메인 배너: 화면 폭 920px 이하에서는 모바일 용 이미지 (2026-09-14) ----- */
/* index.php 가 각 배경 div 에 PC 주소(background-image)와 모바일 주소(--ds-hero-m)를 같이 싣는다.
   인라인 스타일보다 우선해야 하므로 !important. 모바일 용을 안 올린 슬라이드는 변수에 PC 주소가 들어 있어 그대로 보인다. */
@media (max-width: 920px) {
    .ds-page-home .ds-hero__bg { background-image: var(--ds-hero-m) !important; }
}

/* ----- 상담하기: '03 온라인 접수' 카드를 누르면 아래 접수 양식으로 (2026-09-15) ----- */
.ds-page-contact .ds-channel-card--link { position: relative; cursor: pointer; transition: box-shadow .2s, transform .2s; }
.ds-page-contact .ds-channel-card--link:hover { box-shadow: 0 10px 26px rgba(1, 64, 153, 0.12); transform: translateY(-2px); }
.ds-page-contact .ds-channel-card--link .ds-text-link { display: inline-block; margin-top: 14px; }
/* 고정 머리(92px, 모바일 62px)에 가려지지 않게 */
.ds-page-contact #ds-consult { scroll-margin-top: 92px; }
@media (max-width: 920px) {
    .ds-page-contact #ds-consult { scroll-margin-top: 62px; }
}

/* ----- 메인 배너: 모바일 전용 슬라이드는 넓은 화면에서 감춘다 (2026-09-16) ----- */
@media (min-width: 921px) {
    .ds-page-home .ds-hero__bg--m-only { display: none; }
}

/* ----- 메인 배너(모바일): 이미지를 자르지 않고 꽉 채운다 (2026-09-16) ----- */
/* 배너 상자를 모바일 이미지 권장 비율(1080×1620 = 2:3)로 고정하고 글은 그 안에서 세로 가운데.
   이미지가 2:3 이면 잘리는 부분 없이 꽉 찬다. 글이 상자보다 길면 상자가 늘어나 그만큼만 살짝 잘린다. */
@media (max-width: 920px) {
    /* overflow:hidden 이면 상자가 글보다 커지지 않아(최소 높이 0) 아주 좁은 폰에서 글이 잘린다 → visible (배경은 inset:0 이라 밖으로 안 나감) */
    /* 바탕색은 모바일 이미지 맨 아래 색(#00142f)과 같게 — 글이 길어 상자가 이미지보다 커져도 이어진 것처럼 보인다 */
    .ds-page-home .ds-hero--roll { aspect-ratio: 2 / 3; display: flex; align-items: center; overflow: visible; background-color: #00142f; }
    .ds-page-home .ds-hero--roll .ds-hero__content { width: 100%; padding-top: 36px; padding-bottom: 36px; }
    /* 이미지는 '폭에 맞춰 통째로'(100% auto) — cover 가 아니므로 상자가 어떤 이유로든 2:3 보다 길어져도 절대 잘리지 않는다.
       (글자 크게 보기 설정·좁은 폰 등으로 글이 길어지면 이미지 아래에 같은 색 바탕이 이어질 뿐) */
    .ds-page-home .ds-hero--roll .ds-hero__bg { background-size: 100% auto; background-position: top center; background-repeat: no-repeat; }
}

/* ----- 메인 배너(모바일): '동승' 크게 + '함께 이기다.' 작게 한 줄 아래, 안내글은 사진 아래로 (2026-09-16) ----- */
/* PC 는 그대로: '동승 :' 줄 아래 굵은 '함께 이기다.' */
@media (max-width: 920px) {
    .ds-page-home .ds-hero__colon { display: none; }                     /* 모바일에서는 ':' 생략 */
    .ds-page-home .ds-hero--roll .ds-hero__title { font-weight: 800; }
    .ds-page-home .ds-hero--roll .ds-hero__title-em { font-size: 25px; font-weight: 700; margin-top: 4px; letter-spacing: -0.03em; }   /* 폰 글자 크기와 상관없이 25px 고정 (2026-09-16 결정) */
    .ds-page-home .ds-hero--roll .ds-hero__copy { margin-top: 96px; }
}

/* ----- 메인 배너(모바일): 모바일 이미지가 없을 때는 PC 가로 이미지를 자르지 않고 통째로 (2026-09-16) ----- */
/* 1905×740 가로 이미지를 화면 폭에 맞춰 위에 통째로 놓고(높이 = 폭 × 740/1905), 글은 그 아래 남색 바탕에.
   모바일 이미지를 올리면 이 규칙은 빠지고 2:3 꽉 채움으로 돌아간다. */
@media (max-width: 920px) {
    .ds-page-home .ds-hero--roll.ds-hero--pcfallback { aspect-ratio: auto; display: block; }
    .ds-page-home .ds-hero--pcfallback::before { display: none; }
    .ds-page-home .ds-hero--pcfallback .ds-hero__bg { background-size: 100% auto; background-position: top center; background-repeat: no-repeat; }
    .ds-page-home .ds-hero--pcfallback .ds-hero__content { padding-top: calc(100vw * 740 / 1905 + 28px); padding-bottom: 44px; }
    .ds-page-home .ds-hero--pcfallback .ds-hero__copy { margin-top: 22px; }
}

/* ----- 메인(index_0917 시안): 배너 아래 승소사례 GIF 띠 ----- */
/* 배경은 GIF 원본 배경색과 같은 #f7f8fa. 4장은 틈 없이 붙여 한 장처럼, 모바일도 4장 한 줄 */
.ds-page-home .ds-wins { background: #f7f8fa; padding: 90px 0 80px; }
.ds-page-home .ds-wins .ds-section-head { margin-bottom: 36px; }
.ds-page-home .ds-wins .ds-st { font-size: 36px; }
.ds-page-home .ds-wins__sub { margin-top: 12px; font-size: 16px; color: #787878; }
.ds-page-home .ds-wins__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.ds-page-home .ds-wins__grid img { display: block; width: 100%; height: auto; }
/* 모바일 — 기본(index_0917): 4장 한 줄 / ds-wins--swipe(index_0917b): 4장을 한 줄로 두고 옆으로 밀어서 봄(1.6장씩, 칸마다 착 붙음) */
.ds-page-home .ds-wins__swipe { display: none; }
@media (max-width: 920px) {
    .ds-page-home .ds-wins { padding: 56px 0 52px; }
    .ds-page-home .ds-wins .ds-section-head { margin-bottom: 24px; }
    .ds-page-home .ds-wins .ds-st { font-size: 26px; }
    .ds-page-home .ds-wins--swipe .ds-wins__swipe { display: block; margin-top: 8px; font-size: 14px; font-weight: 700; color: #014099; }
    .ds-page-home .ds-wins--swipe .ds-wins__grid {
        display: flex; gap: 0; margin: 0 -20px; padding: 0 20px;
        overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .ds-page-home .ds-wins--swipe .ds-wins__grid::-webkit-scrollbar { display: none; }
    .ds-page-home .ds-wins--swipe .ds-wins__grid img { flex: 0 0 62%; width: 62%; scroll-snap-align: start; }
}

/* ----- 메인 시안 3차(index_0917c)·4차(index_0917d) 모바일 ----- */
/* 3차: 2.5장이 보이게 — 오른쪽 반 장이 잘려 있어 옆으로 밀린다는 게 바로 보인다 */
/* 4차: 2줄. 두 줄이 한 판처럼 같이 밀리고, 둘째 줄은 3·4·1·2 순이라 같은 그림이 나란히 서지 않는다. PC 는 1줄(뒤 4장 감춤) */
.ds-page-home .ds-wins--rows2 .ds-wins__grid img:nth-child(n+5) { display: none; }
.ds-page-home .ds-wins--rows2 .ds-wins__grid img:nth-child(2) { order: 3; }   /* PC: DOM 1,3,2,4 → 화면 1,2,3,4 */
.ds-page-home .ds-wins--rows2 .ds-wins__grid img:nth-child(3) { order: 2; }
.ds-page-home .ds-wins--rows2 .ds-wins__grid img:nth-child(4) { order: 4; }
@media (max-width: 920px) {
    .ds-page-home .ds-wins--swipe25 .ds-wins__swipe,
    .ds-page-home .ds-wins--rows2 .ds-wins__swipe { display: block; margin-top: 8px; font-size: 14px; font-weight: 700; color: #014099; }
    .ds-page-home .ds-wins--swipe25 .ds-wins__grid,
    .ds-page-home .ds-wins--rows2 .ds-wins__grid {
        gap: 0; margin: 0 -20px; padding: 0 20px;
        overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none;
    }
    .ds-page-home .ds-wins--swipe25 .ds-wins__grid::-webkit-scrollbar,
    .ds-page-home .ds-wins--rows2 .ds-wins__grid::-webkit-scrollbar { display: none; }
    .ds-page-home .ds-wins--swipe25 .ds-wins__grid { display: flex; }
    .ds-page-home .ds-wins--swipe25 .ds-wins__grid img { flex: 0 0 40%; width: 40%; scroll-snap-align: start; }
    .ds-page-home .ds-wins--rows2 .ds-wins__grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-template-rows: auto auto; grid-auto-columns: 40%; }   /* 기본 4열 지정을 풀어야 옆으로 흐른다 */
    .ds-page-home .ds-wins--rows2 .ds-wins__grid img:nth-child(n) { display: block; width: 100%; scroll-snap-align: start; order: 0; }   /* PC용 order 지정과 같은 특이도로 되돌림 */
    .ds-page-home .ds-wins--rows2 .ds-wins__grid img:nth-child(n+5) { display: block; }
}

/* ----- 메인 시안 0918a/b: PC 4장(case) · 모바일 전용 2장(mcase), 영상판은 <video> ----- */
.ds-page-home .ds-wins--dual .ds-wins__grid--m { display: none; }
.ds-page-home .ds-wins--dual .ds-wins__v { display: block; width: 100%; height: auto; aspect-ratio: 476 / 860; background: #f7f8fa; }
.ds-page-home .ds-wins--dual .ds-wins__v--m { aspect-ratio: 360 / 1200; }
@media (max-width: 920px) {
    .ds-page-home .ds-wins--dual .ds-wins__grid--pc { display: none; }
    .ds-page-home .ds-wins--dual .ds-wins__grid--m { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
}

/* ----- 메인 시안 0918c: 승소사례 영상 띠를 좌우 여백 없이 화면 끝까지(풀화면). 제목 부분은 .ds-wrap 안에 그대로 ----- */
.ds-page-home .ds-wins--full .ds-wins__grid { width: 100%; }
.ds-page-home .ds-wins--full .ds-section-head { margin-bottom: 40px; }
@media (max-width: 920px) {
    .ds-page-home .ds-wins--full .ds-section-head { margin-bottom: 24px; }
}

/* ----- 헤더 '아파트/하자' 버튼 (2026-09-22, /apt/ 아파트 하자소송 사이트) — 켜고 끄기는 renewal.config.php DS_APT_BUTTON -----
   색: 옛 홈페이지 버튼과 같은 노랑(#fbca4d) + 진갈색 글씨(#3a2b00), 퀵메뉴 카톡상담과 같은 조합. 아이콘은 건물 SVG 마스크 */
.ds-nav__apt i, .ds-apt-pill i {
    display: inline-block; width: 18px; height: 18px; flex: none; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21V5l7-3v19H3zm2-2h3v-2H5v2zm0-4h3v-2H5v2zm0-4h3V9H5v2zm0-4h3V5H5v2zm7 12h9V9h-9v10zm2-2h-1v-2h1v2zm0-4h-1v-2h1v2zm4 4h-2v-2h2v2zm0-4h-2v-2h2v2z'/%3E%3C/svg%3E") center/contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21V5l7-3v19H3zm2-2h3v-2H5v2zm0-4h3v-2H5v2zm0-4h3V9H5v2zm0-4h3V5H5v2zm7 12h9V9h-9v10zm2-2h-1v-2h1v2zm0-4h-1v-2h1v2zm4 4h-2v-2h2v2zm0-4h-2v-2h2v2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
/* PC 헤더: 상담하기 왼쪽, 같은 높이(46px) */
.ds-nav .ds-nav__apt { height: 46px; padding: 0 20px; font-size: 15px; gap: 8px; background: #fbca4d; color: #3a2b00; white-space: nowrap; }
.ds-nav .ds-nav__apt:hover { background: #f5bd2b; color: #3a2b00; }
.ds-apt-pill { display: none; }
/* 좁은 PC(921~1200px): 메뉴가 두 줄로 꺾이지 않게 간격 축소 */
@media (max-width: 1200px) and (min-width: 921px) {
    .ds-header--apt .ds-nav { gap: 24px; }
    .ds-header--apt .ds-nav a { white-space: nowrap; }
    .ds-nav .ds-nav__apt { padding: 0 16px; }
}
@media (max-width: 920px) {
    /* 모바일 헤더: 햄버거 왼쪽에 작은 노란 버튼 — 메뉴를 안 열어도 보인다 */
    .ds-apt-pill { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; height: 34px; padding: 0 12px;
                   background: #fbca4d; color: #3a2b00; font-size: 13px; font-weight: 700; letter-spacing: -0.02em; white-space: nowrap; }
    .ds-apt-pill i { width: 15px; height: 15px; }
    .ds-header--apt .ds-menu-button { margin-left: 0; }
    /* 메뉴 서랍: 상담하기 위에 노란 버튼 */
    .ds-nav .ds-nav__apt { margin-top: 22px; width: 100%; border-bottom: 0; height: 52px; font-size: 16px; }
    .ds-header--apt .ds-nav .ds-nav__contact { margin-top: 10px; }
}
