/* =====================================================
   법무법인 강현 공식홈페이지 서브페이지 CSS
   File : /css/subpage.css
===================================================== */

/* ===========================
   Sub Common
   서브페이지 공통 레이아웃
=========================== */
.kh-cta { display:none;}

.kh-sub-section {
    padding: 110px 0;
}

.kh-sub-head {
    margin-bottom: 48px;
    text-align: center;
}

.kh-sub-head h2 {
    font-size: 42px;
    line-height: 1.28;
    font-weight: 800;
    letter-spacing: -.04em;
    color: var(--kh-navy);
}

.kh-sub-head p {
    margin-top: 15px;
    font-size: 18px;
    color: var(--kh-gray);
}

/* ===========================
   Sub Visual Common
   서브페이지 상단 비주얼 공통
=========================== */
.kh-sub-visual {
    position: relative;
    min-height: 380px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #091726;
}

.kh-sub-visual:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .75;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.kh-sub-visual:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(9,23,38,.90) 0%, rgba(9,23,38,.62) 46%, rgba(9,23,38,.18) 100%);
}

.kh-sub-visual .kh-wrap {
    position: relative;
    z-index: 1;
}

.kh-sub-visual-text {
    max-width: 760px;
    color: #fff;
}

.kh-sub-breadcrumb {
    margin-bottom: 18px;
    font-size: 14px;
    color: rgba(255,255,255,.72);
}

.kh-sub-visual h1 {
    margin: 0;
    font-size: 56px;
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -.05em;
    color: #fff;
}

.kh-sub-visual-text > p:last-child {
    margin-top: 20px;
    font-size: 21px;
    line-height: 1.7;
    color: rgba(255,255,255,.86);
}

/* ===========================
   Sub Visual - About
   대표인사말 상단 이미지
=========================== */
.kh-sub-visual-about:before {
    background-image: url("/new_img/sub_about_visual.jpg");
}

/* ===========================
   Sub Navigation Common
   서브페이지 탭 메뉴 공통
=========================== */
.kh-sub-nav {
    border-bottom: 1px solid var(--kh-line);
    background: #fff;
}

.kh-sub-nav .kh-wrap {
    display: flex;
    justify-content: flex-start;
}

.kh-sub-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 64px;
    border-left: 1px solid var(--kh-line);
    font-size: 16px;
    font-weight: 800;
    color: #555;
    transition: .22s ease;
}

.kh-sub-nav a:last-child {
    border-right: 1px solid var(--kh-line);
}

.kh-sub-nav a.active,
.kh-sub-nav a:hover {
    color: #fff;
    background: var(--kh-navy);
}

/* ===========================
   Greeting Intro
   대표인사말 공동 인사말 영역
=========================== */
.kh-greeting-intro {
    background: #fff;
}

.kh-greeting-main {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 60px;
    align-items: start;
}

.kh-greeting-photo-group {
    position: sticky;
    top: 120px;
    display: grid;
    gap: 22px;
}

.kh-greeting-photo {
    overflow: hidden;
    border: 1px solid var(--kh-line);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.10);
}

.kh-greeting-photo img {
    width: 100%;
    aspect-ratio: 4 / 4;
    object-fit: cover;
    object-position: top;
}

.kh-greeting-photo div {
    padding: 22px 24px;
    background: linear-gradient(135deg,#fff 0%,#fbf8f3 100%);
}

.kh-greeting-photo strong {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: var(--kh-navy);
}

.kh-greeting-photo span {
    display: block;
    margin-top: 6px;
    color: #666;
}

.kh-greeting-message {
    padding: 54px;
    border: 1px solid var(--kh-line);
    border-radius: 30px;
    background: linear-gradient(135deg,#fff 0%,#fbf8f3 100%);
    box-shadow: 0 18px 45px rgba(13,35,64,.06);
}

.kh-greeting-message p {
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 1.9;
    color: #444;
}

.kh-greeting-message .lead {
    font-size: 24px;
    font-weight: 800;
    color: var(--kh-navy);
}

.kh-greeting-sign {
    margin-top: 36px;
    padding-top: 26px;
    border-top: 1px solid var(--kh-line);
    text-align: right;
}

.kh-greeting-sign span {
    display: block;
    margin-bottom: 6px;
    color: #777;
}

.kh-greeting-sign strong {
    font-size: 28px;
    color: var(--kh-navy);
}

/* ===========================
   Greeting Value Box
   인사말 내부 핵심가치
=========================== */

.kh-greeting-value-box {
    margin-top: 42px;
    padding-top: 34px;
    border-top: 1px solid var(--kh-line);
}

.kh-greeting-value-box h3 {
    margin-bottom: 22px;
    font-size: 26px;
    font-weight: 800;
    color: var(--kh-navy);
}

.kh-greeting-value-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.kh-greeting-value-list div {
    padding: 22px;
    border: 1px solid rgba(201,168,106,.35);
    border-radius: 18px;
    background: #fff;
}

.kh-greeting-value-list strong {
    display: block;
    margin-bottom: 8px;
    font-size: 18px;
    color: var(--kh-navy);
}

.kh-greeting-value-list p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    color: #666;
}

@media (max-width:640px) {
    .kh-greeting-value-list {
        grid-template-columns: 1fr;
    }
}

/* ===========================
   Greeting Standard
   법무법인 강현 사건 대응 기준
=========================== */
.kh-greeting-standard {
    background:
        radial-gradient(circle at 8% 12%, rgba(201,168,106,.16) 0, rgba(201,168,106,0) 32%),
        linear-gradient(180deg, #fbf8f3 0%, #f1e7d8 100%);
}

.kh-standard-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 22px;
}

.kh-standard-card {
    min-height: 230px;
    padding: 34px 28px;
    border: 1px solid rgba(201,168,106,.38);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
}

.kh-standard-card em {
    display: block;
    margin-bottom: 18px;
    font-style: normal;
    font-size: 14px;
    font-weight: 900;
    color: var(--kh-gold);
}

.kh-standard-card h3 {
    margin-bottom: 12px;
    font-size: 23px;
    color: var(--kh-navy);
}

.kh-standard-card p {
    color: #666;
}

/* ===========================
   Representative Profile
   대표변호사 2인 약력 영역
=========================== */
.kh-representative-profile {
    background: #fff;
}

.kh-profile-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 30px;
}

.kh-profile-item {
    overflow: hidden;
    border: 1px solid var(--kh-line);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
}

.kh-profile-title {
    padding: 34px 36px;
    background: var(--kh-navy);
}

.kh-profile-title h3 {
    margin: 0;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 800;
    color: #fff;
}

.kh-profile-title p {
    margin-top: 8px;
    color: rgba(255,255,255,.72);
}

.kh-profile-body {
    padding: 34px 36px 38px;
}

.kh-profile-body ul {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px 26px;
}

.kh-profile-body li {
    position: relative;
    padding-left: 18px;
    font-size: 15px;
    line-height: 1.65;
    color: #555;
}

.kh-profile-body li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--kh-gold);
}

/* ===========================
   Sub CTA Common
   서브페이지 하단 상담 유도 공통
=========================== */
.kh-sub-cta {
    padding: 76px 0;
    background: linear-gradient(135deg,#f4ead8 0%,#fff8ef 52%,#e9d6b7 100%);
}

.kh-sub-cta .kh-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.kh-sub-cta h2 {
    margin: 0;
    font-size: 38px;
    color: var(--kh-navy);
}

.kh-sub-cta p {
    margin-top: 12px;
    font-size: 18px;
    color: #555;
}

.kh-sub-cta-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* ===========================
   Sub Responsive
   서브페이지 반응형 공통
=========================== */
@media (max-width: 1200px) {
    .kh-greeting-main {
        grid-template-columns: 360px 1fr;
        gap: 38px;
    }

    .kh-standard-grid,
    .kh-profile-two {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 900px) {
    .kh-sub-section {
        padding: 78px 0;
    }

    .kh-sub-visual {
        min-height: 310px;
    }

    .kh-sub-visual h1 {
        font-size: 40px;
    }

    .kh-sub-visual-text > p:last-child {
        font-size: 18px;
    }

    .kh-sub-nav .kh-wrap {
        overflow-x: auto;
        justify-content: flex-start;
    }

    .kh-sub-nav a {
        min-width: 150px;
    }

    .kh-sub-head h2 {
        font-size: 32px;
    }

    .kh-greeting-main {
        grid-template-columns: 1fr;
    }

    .kh-greeting-photo-group {
        position: relative;
        top: auto;
        grid-template-columns: repeat(2,1fr);
    }

    .kh-greeting-message {
        padding: 34px 26px;
    }

    .kh-sub-cta .kh-wrap {
        display: block;
        text-align: center;
    }

    .kh-sub-cta-actions {
        justify-content: center;
        margin-top: 28px;
    }
}

@media (max-width: 640px) {
    .kh-greeting-photo-group,
    .kh-standard-grid,
    .kh-profile-two,
    .kh-profile-body ul {
        grid-template-columns: 1fr;
    }

    .kh-greeting-message p {
        font-size: 16px;
    }

    .kh-greeting-message .lead {
        font-size: 21px;
    }

    .kh-sub-cta-actions {
        flex-direction: column;
    }

    .kh-sub-cta-actions .kh-btn {
        width: 100%;
    }
}



/* ===========================
   Sub Visual - Lawyer
   변호사소개 상단 이미지
=========================== */
.kh-sub-visual-lawyer:before {
    background-image: url("/new_img/sub_lawyer_visual.jpg");
}

/* ===========================
   Lawyer Intro
   변호사소개 대표변호사 카드
=========================== */
.kh-lawyer-intro {
    background: #fff;
}

.kh-lawyer-main-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 30px;
}

.kh-lawyer-main-card {
    overflow: hidden;
    border: 1px solid var(--kh-line);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
}

.kh-lawyer-main-photo {
    overflow: hidden;
    background: var(--kh-ivory);
}

.kh-lawyer-main-photo img {
    width: 100%;
    aspect-ratio: 4 / 4.4;
    object-fit: cover;
    object-position: top;
    transition: transform .45s ease;
}

.kh-lawyer-main-card:hover .kh-lawyer-main-photo img {
    transform: scale(1.04);
}

.kh-lawyer-main-info {
    padding: 34px 36px 38px;
}

.kh-lawyer-main-info > span {
    display: block;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .16em;
    color: var(--kh-gold);
}

.kh-lawyer-main-info h3 {
    margin: 0;
    font-size: 34px;
    line-height: 1.25;
    color: var(--kh-navy);
}

.kh-lawyer-field {
    margin-top: 10px;
    font-size: 18px;
    font-weight: 800;
    color: #333;
}

.kh-lawyer-main-info p:not(.kh-lawyer-field) {
    margin-top: 18px;
    color: #555;
}

.kh-lawyer-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.kh-lawyer-tags em {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 13px;
    border-radius: 999px;
    font-style: normal;
    font-size: 13px;
    font-weight: 800;
    color: var(--kh-navy);
    background: #f0e2c8;
}

/* ===========================
   Lawyer Profile
   변호사소개 약력 영역
=========================== */
.kh-lawyer-profile {
    background: var(--kh-ivory);
}

/* ===========================
   Lawyer Practice
   변호사소개 주요 전문 분야
=========================== */
.kh-lawyer-practice {
    background:
        radial-gradient(circle at 8% 12%, rgba(201,168,106,.16) 0, rgba(201,168,106,0) 32%),
        linear-gradient(180deg, #fbf8f3 0%, #f1e7d8 100%);
}

.kh-lawyer-practice-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 22px;
}

.kh-lawyer-practice-card {
    min-height: 240px;
    padding: 34px 28px;
    border: 1px solid rgba(201,168,106,.38);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
}

.kh-lawyer-practice-card em {
    display: block;
    margin-bottom: 18px;
    font-style: normal;
    font-size: 14px;
    font-weight: 900;
    color: var(--kh-gold);
}

.kh-lawyer-practice-card h3 {
    margin-bottom: 12px;
    font-size: 23px;
    color: var(--kh-navy);
}

.kh-lawyer-practice-card p {
    color: #666;
}

/* ===========================
   Lawyer Responsive
   변호사소개 반응형
=========================== */
@media (max-width: 1200px) {
    .kh-lawyer-practice-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 900px) {
    .kh-lawyer-main-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .kh-lawyer-practice-grid {
        grid-template-columns: 1fr;
    }

    .kh-lawyer-main-info {
        padding: 30px 24px 34px;
    }

    .kh-lawyer-main-info h3 {
        font-size: 28px;
    }
}

/* ===========================
   Lawyer Team
   구성원 변호사 6인 카드
=========================== */

.kh-lawyer-team {
    background: #fff;
}

.kh-lawyer-team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.kh-lawyer-team-card {
    overflow: hidden;
    border: 1px solid var(--kh-line);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
    transition: transform .25s ease, box-shadow .25s ease;
}

.kh-lawyer-team-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 60px rgba(13,35,64,.14);
}

.kh-lawyer-team-photo {
    overflow: hidden;
    background: var(--kh-ivory);
}

.kh-lawyer-team-photo img {
    width: 100%;
    aspect-ratio: 4 / 4.5;
    object-fit: cover;
    object-position: top;
    transition: transform .45s ease;
}

.kh-lawyer-team-card:hover .kh-lawyer-team-photo img {
    transform: scale(1.04);
}

.kh-lawyer-team-info {
    padding: 28px 30px 32px;
}

.kh-lawyer-team-info span {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 13px;
    border-radius: 999px;
    background: #f0e2c8;
    color: var(--kh-navy);
    font-size: 13px;
    font-weight: 800;
}

.kh-lawyer-team-info h3 {
    margin: 16px 0 18px;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 800;
    color: var(--kh-navy);
}

.kh-lawyer-team-info li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.6;
    color: #555;
}

.kh-lawyer-team-info li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--kh-gold);
}

/* ===========================
   Lawyer Team Responsive
   구성원 변호사 반응형
=========================== */

@media (max-width: 1200px) {
    .kh-lawyer-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .kh-lawyer-team-grid {
        grid-template-columns: 1fr;
    }

    .kh-lawyer-team-info {
        padding: 26px 22px 30px;
    }
}


/* ===========================
   Sub Visual - Organization
   조직도 상단 이미지
=========================== */
.kh-sub-visual-organization:before {
    background-image: url("/new_img/sub_organization_visual.jpg");
}

/* ===========================
   Organization Chart
   조직도 메인 차트
=========================== */
.kh-organization { background: #fff; }

.kh-org-chart {
    position: relative;
    padding: 46px;
    border: 1px solid var(--kh-line);
    border-radius: 32px;
    background: linear-gradient(135deg, #fff 0%, #fbf8f3 100%);
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
}

.kh-org-top {
    max-width: 420px;
    margin: 0 auto;
    padding: 34px 30px;
    border-radius: 24px;
    text-align: center;
    background: var(--kh-navy);
    box-shadow: 0 18px 45px rgba(13,35,64,.18);
}

.kh-org-top span {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .18em;
    color: var(--kh-gold);
}

.kh-org-top strong {
    display: block;
    font-size: 32px;
    line-height: 1.25;
    color: #fff;
}

.kh-org-line {
    width: 1px;
    height: 42px;
    margin: 0 auto;
    background: rgba(201,168,106,.7);
}

.kh-org-representatives {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px;
    max-width: 820px;
    margin: 0 auto;
}

.kh-org-departments {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 22px;
}

.kh-org-box {
    position: relative;
    padding: 28px 26px;
    border: 1px solid rgba(201,168,106,.36);
    border-radius: 22px;
    background: #fff;
    text-align: center;
    box-shadow: 0 14px 32px rgba(13,35,64,.07);
}

.kh-org-box em {
    display: block;
    margin-bottom: 10px;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    color: var(--kh-gold);
}

.kh-org-box strong {
    display: block;
    font-size: 23px;
    line-height: 1.3;
    color: var(--kh-navy);
}

.kh-org-box p {
    margin-top: 12px;
    color: #666;
}

.kh-org-chief {
    background: #fff;
    border-color: rgba(13,35,64,.18);
}

/* ===========================
   Organization System
   조직도 업무 협업 시스템
=========================== */
.kh-org-system {
    background:
        radial-gradient(circle at 8% 12%, rgba(201,168,106,.16) 0, rgba(201,168,106,0) 32%),
        linear-gradient(180deg, #fbf8f3 0%, #f1e7d8 100%);
}

.kh-org-system-grid,
.kh-org-value-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 22px;
}

.kh-org-system-card,
.kh-org-value-card {
    min-height: 230px;
    padding: 34px 28px;
    border: 1px solid rgba(201,168,106,.38);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
}

.kh-org-system-card em {
    display: block;
    margin-bottom: 18px;
    font-style: normal;
    font-size: 14px;
    font-weight: 900;
    color: var(--kh-gold);
}

.kh-org-system-card h3,
.kh-org-value-card strong {
    display: block;
    margin-bottom: 12px;
    font-size: 23px;
    color: var(--kh-navy);
}

.kh-org-system-card p,
.kh-org-value-card p {
    color: #666;
}

/* ===========================
   Organization Values
   조직 운영 가치
=========================== */
.kh-org-values { background: #fff; }

.kh-org-value-card span {
    display: block;
    margin-bottom: 18px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .16em;
    color: var(--kh-gold);
}

/* ===========================
   Organization Responsive
   조직도 반응형
=========================== */
@media (max-width: 1200px) {
    .kh-org-departments,
    .kh-org-system-grid,
    .kh-org-value-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 900px) {
    .kh-org-chart { padding: 32px 22px; }
    .kh-org-representatives { grid-template-columns: 1fr; }
    .kh-org-top strong { font-size: 28px; }
}

@media (max-width: 640px) {
    .kh-org-departments,
    .kh-org-system-grid,
    .kh-org-value-grid {
        grid-template-columns: 1fr;
    }
}


/* ===========================
   Sub Visual - Location
   오시는길 상단 이미지
=========================== */
.kh-sub-visual-location:before {
    background-image: url("/new_img/sub_location_visual.jpg");
}

/* ===========================
   Location Page
   오시는길 지도 및 정보
=========================== */
.kh-location-page {
    background: #fff;
}

.kh-location-panel {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 34px;
    align-items: stretch;
}

.kh-location-map {
    overflow: hidden;
    min-height: 520px;
    border: 1px solid var(--kh-line);
    border-radius: 28px;
    background: var(--kh-ivory);
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
}

.kh-location-map .root_daum_roughmap {
    width: 100% !important;
    height: 520px !important;
}

.kh-location-map .root_daum_roughmap .wrap_map {
    height: 520px !important;
}

.kh-location-map .root_daum_roughmap .wrap_cont {
    display: none !important;
}

/* ===========================
   Location Detail
   주소 정보 가독성 보정
=========================== */

.kh-location-detail {
    position: relative;
    overflow: hidden;
    padding: 46px 42px;
    border: 1px solid var(--kh-line);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
}

.kh-location-detail:before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/new_img/location_bd.jpg") center / cover no-repeat;
    opacity: .36;
    z-index: 0;
}

.kh-location-detail > * {
    position: relative;
    z-index: 1;
}


.kh-location-detail h3 {
    color: var(--kh-navy);
    font-size:28px;
}

.kh-location-detail dt {
    color: var(--kh-navy);
}

.kh-location-detail p {
    color: #333;
    font-size: 18px;
    font-weight:500;
}

.kh-location-detail dd {
    color: #333;
}

.kh-location-detail dl {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 14px 0;
    margin-top: 34px;
    padding-top: 30px;
    border-top: 1px solid var(--kh-line);
    font-size:18px;
    font-weight:700;
}

.kh-location-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 34px;
}

/* ===========================
   Location Call
   상담 분야별 대표번호
=========================== */
.kh-location-info-section {
    background:
        radial-gradient(circle at 8% 12%, rgba(201,168,106,.16) 0, rgba(201,168,106,0) 32%),
        linear-gradient(180deg, #fbf8f3 0%, #f1e7d8 100%);
}

.kh-location-call-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 18px;
}

.kh-location-call-card {
    min-height: 150px;
    padding: 30px 22px;
    border: 1px solid rgba(201,168,106,.38);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
    transition: .25s ease;
}

.kh-location-call-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 60px rgba(13,35,64,.14);
}

.kh-location-call-card strong {
    display: block;
    min-height: 48px;
    font-size: 18px;
    line-height: 1.35;
    color: var(--kh-navy);
}

.kh-location-call-card span {
    display: block;
    margin-top: 18px;
    font-size: 24px;
    font-weight: 900;
    color: var(--kh-gold);
}

/* ===========================
   Location Guide
   방문 상담 안내
=========================== */
.kh-location-guide {
    background: #fff;
}

.kh-location-guide-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 22px;
}

.kh-location-guide-card {
    min-height: 230px;
    padding: 34px 28px;
    border: 1px solid var(--kh-line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.07);
}

.kh-location-guide-card em {
    display: block;
    margin-bottom: 18px;
    font-style: normal;
    font-size: 14px;
    font-weight: 900;
    color: var(--kh-gold);
}

.kh-location-guide-card h3 {
    margin-bottom: 12px;
    font-size: 23px;
    color: var(--kh-navy);
}

.kh-location-guide-card p {
    color: #666;
}

/* ===========================
   Location Responsive
   오시는길 반응형
=========================== */
@media (max-width: 1200px) {
    .kh-location-call-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }

    .kh-location-guide-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 900px) {
    .kh-location-panel {
        grid-template-columns: 1fr;
    }

    .kh-location-map,
    .kh-location-map .root_daum_roughmap,
    .kh-location-map .root_daum_roughmap .wrap_map {
        height: 420px !important;
        min-height: 420px;
    }

    .kh-location-detail {
        padding: 36px 26px;
    }
}

@media (max-width: 640px) {
    .kh-location-call-grid,
    .kh-location-guide-grid {
        grid-template-columns: 1fr;
    }

    .kh-location-detail dl {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .kh-location-buttons {
        flex-direction: column;
    }

    .kh-location-buttons .kh-btn {
        width: 100%;
    }
}


/* =====================================================
   법무법인 강현 공식홈페이지 서브페이지 CSS
   File : /css/subpage.css
   공용 Recovery Pages Common Version
   적용 페이지:
   - 부동산·건설
   - 민사·기업법무
   - 형사소송
   - 가사·이혼
   - 회생·파산
   - 삼청교육대보상
===================================================== */

/* ===========================
   Sub Common
   서브페이지 공통 레이아웃
=========================== */
.kh-cta { display:none; }

.kh-sub-section {
    padding: 110px 0;
}

.kh-sub-head {
    margin-bottom: 48px;
    text-align: center;
}

.kh-sub-head h2 {
    font-size: 42px;
    line-height: 1.28;
    font-weight: 800;
    letter-spacing: -.04em;
    color: var(--kh-navy);
}

.kh-sub-head p {
    margin-top: 15px;
    font-size: 18px;
    color: var(--kh-gray);
}

/* ===========================
   Sub Visual Common
   서브페이지 상단 비주얼 공통
=========================== */
.kh-sub-visual {
    position: relative;
    min-height: 380px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #091726;
}

.kh-sub-visual:before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .75;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.kh-sub-visual:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(9,23,38,.90) 0%, rgba(9,23,38,.62) 46%, rgba(9,23,38,.18) 100%);
}

.kh-sub-visual .kh-wrap {
    position: relative;
    z-index: 1;
}

.kh-sub-visual-text {
    max-width: 760px;
    color: #fff;
}

.kh-sub-breadcrumb {
    margin-bottom: 18px;
    font-size: 14px;
    color: rgba(255,255,255,.72);
}

.kh-sub-visual h1 {
    margin: 0;
    font-size: 56px;
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -.05em;
    color: #fff;
}

.kh-sub-visual-text > p:last-child {
    margin-top: 20px;
    font-size: 21px;
    line-height: 1.7;
    color: rgba(255,255,255,.86);
}

/* ===========================
   Sub Navigation Common
   서브페이지 탭 메뉴 공통
=========================== */
.kh-sub-nav {
    border-bottom: 1px solid var(--kh-line);
    background: #fff;
}

.kh-sub-nav .kh-wrap {
    display: flex;
    justify-content: flex-start;
}

.kh-sub-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 64px;
    border-left: 1px solid var(--kh-line);
    font-size: 16px;
    font-weight: 800;
    color: #555;
    transition: .22s ease;
}

.kh-sub-nav a:last-child {
    border-right: 1px solid var(--kh-line);
}

.kh-sub-nav a.active,
.kh-sub-nav a:hover {
    color: #fff;
    background: var(--kh-navy);
}

/* ===========================
   Recovery Common Layout
   회생·파산 서브페이지 공용 스타일
=========================== */
.kh-recovery-intro {
    background: #fff;
}

.kh-recovery-summary {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 54px;
    align-items: center;
    margin-bottom: 42px;
    padding: 46px;
    border: 1px solid var(--kh-line);
    border-radius: 30px;
    background: linear-gradient(135deg,#fff 0%,#fbf8f3 100%);
    box-shadow: 0 18px 45px rgba(13,35,64,.06);
}

.kh-recovery-summary h2 {
    margin: 0;
    font-size: 40px;
    line-height: 1.28;
    color: var(--kh-navy);
}

.kh-recovery-summary p {
    font-size: 18px;
    color: #555;
}

.kh-recovery-core-grid,
.kh-recovery-type-grid,
.kh-recovery-flow,
.kh-recovery-check-grid {
    display: grid;
    gap: 22px;
}

.kh-recovery-core-grid,
.kh-recovery-type-grid,
.kh-recovery-flow {
    grid-template-columns: repeat(3,minmax(0,1fr));
}

.kh-recovery-check-grid {
    grid-template-columns: repeat(4,minmax(0,1fr));
}

.kh-recovery-core-card,
.kh-recovery-type-card,
.kh-recovery-check-card {
    min-height: 230px;
    padding: 34px 28px;
    border: 1px solid rgba(201,168,106,.38);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13,35,64,.08);
}

.kh-recovery-core-card em,
.kh-recovery-type-card em,
.kh-recovery-flow em {
    display: block;
    margin-bottom: 16px;
    font-style: normal;
    font-size: 14px;
    font-weight: 900;
    color: var(--kh-gold);
}

.kh-recovery-core-card h3,
.kh-recovery-type-card h3,
.kh-recovery-check-card strong {
    display: block;
    margin-bottom: 12px;
    font-size: 23px;
    color: var(--kh-navy);
}

.kh-recovery-core-card p,
.kh-recovery-type-card p,
.kh-recovery-check-card p {
    color: #666;
}

/* ===========================
   Recovery Image Text
   본문 이미지 + 텍스트 블록 공용
=========================== */
.kh-recovery-visual-block {
    background:
        radial-gradient(circle at 8% 12%, rgba(201,168,106,.16) 0, rgba(201,168,106,0) 32%),
        linear-gradient(180deg,#fbf8f3 0%,#f1e7d8 100%);
}

.kh-recovery-visual-block-alt {
    background: #fff;
}

.kh-recovery-image-text {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

.kh-recovery-image-text.reverse {
    grid-template-columns: .95fr 1.05fr;
}

.kh-recovery-image-text.reverse .kh-recovery-image-box {
    order: 2;
}

.kh-recovery-image-box {
    overflow: hidden;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    border: 1px solid rgba(201,168,106,.38);
    background: #fff;
    box-shadow: 0 22px 60px rgba(13,35,64,.12);
}

.kh-recovery-image-box img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
    transition: transform .45s ease;
}

.kh-recovery-image-box:hover img {
    transform: scale(1.04);
}

.kh-recovery-text-box {
    padding: 44px 42px;
    border: 1px solid var(--kh-line);
    border-radius: 30px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 45px rgba(13,35,64,.07);
}

.kh-recovery-text-box h2 {
    margin: 10px 0 18px;
    font-size: 38px;
    line-height: 1.28;
    color: var(--kh-navy);
}

.kh-recovery-text-box p {
    font-size: 18px;
    color: #555;
}

.kh-recovery-text-box ul {
    margin-top: 24px;
}

.kh-recovery-text-box li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 10px;
    color: #555;
}

.kh-recovery-text-box li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--kh-gold);
}

/* ===========================
   Recovery Section Background
=========================== */
.kh-recovery-types,
.kh-recovery-prepare {
    background:
        radial-gradient(circle at 8% 12%, rgba(201,168,106,.16) 0, rgba(201,168,106,0) 32%),
        linear-gradient(180deg,#fbf8f3 0%,#f1e7d8 100%);
}

.kh-recovery-process {
    background: #fff;
}

.kh-recovery-flow div {
    padding: 28px 24px;
    border-radius: 22px;
    background: var(--kh-beige);
    border: 1px solid var(--kh-line);
}

.kh-recovery-flow strong {
    display: block;
    margin-bottom: 8px;
    font-size: 22px;
    color: var(--kh-navy);
}

.kh-recovery-flow span {
    color: #666;
}

/* ===========================
   Recovery Wide Visual
=========================== */
.kh-recovery-visual-wide {
    background: var(--kh-ivory);
}

.kh-recovery-wide-card {
    overflow: hidden;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: stretch;
    border: 1px solid rgba(201,168,106,.38);
    border-radius: 34px;
    background: #fff;
    box-shadow: 0 22px 60px rgba(13,35,64,.10);
}

.kh-recovery-wide-card > div {
    padding: 54px 50px;
}

.kh-recovery-wide-card h2 {
    margin: 10px 0 18px;
    font-size: 40px;
    line-height: 1.26;
    color: var(--kh-navy);
}

.kh-recovery-wide-card p {
    font-size: 18px;
    color: #555;
}

.kh-recovery-wide-card img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
}

/* ===========================
   Sub CTA Common
   서브페이지 하단 상담 유도 공통
=========================== */
.kh-sub-cta {
    padding: 76px 0;
    background: linear-gradient(135deg,#f4ead8 0%,#fff8ef 52%,#e9d6b7 100%);
}

.kh-sub-cta .kh-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.kh-sub-cta h2 {
    margin: 0;
    font-size: 38px;
    color: var(--kh-navy);
}

.kh-sub-cta p {
    margin-top: 12px;
    font-size: 18px;
    color: #555;
}

.kh-sub-cta-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* ===========================
   Responsive
=========================== */
@media (max-width:1200px) {
    .kh-recovery-summary,
    .kh-recovery-core-grid,
    .kh-recovery-type-grid,
    .kh-recovery-flow,
    .kh-recovery-check-grid,
    .kh-recovery-image-text,
    .kh-recovery-image-text.reverse,
    .kh-recovery-wide-card {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width:900px) {
    .kh-sub-section {
        padding: 78px 0;
    }

    .kh-sub-visual {
        min-height: 310px;
    }

    .kh-sub-visual h1 {
        font-size: 40px;
    }

    .kh-sub-visual-text > p:last-child {
        font-size: 18px;
    }

    .kh-sub-nav .kh-wrap {
        overflow-x: auto;
        justify-content: flex-start;
    }

    .kh-sub-nav a {
        min-width: 150px;
    }

    .kh-sub-head h2 {
        font-size: 32px;
    }

    .kh-recovery-summary,
    .kh-recovery-core-grid,
    .kh-recovery-type-grid,
    .kh-recovery-flow,
    .kh-recovery-check-grid,
    .kh-recovery-image-text,
    .kh-recovery-image-text.reverse,
    .kh-recovery-wide-card {
        grid-template-columns: 1fr;
    }

    .kh-recovery-image-text.reverse .kh-recovery-image-box {
        order: 0;
    }

    .kh-recovery-summary {
        padding: 34px 26px;
    }

    .kh-recovery-summary h2,
    .kh-recovery-text-box h2,
    .kh-recovery-wide-card h2 {
        font-size: 32px;
    }

    .kh-recovery-text-box,
    .kh-recovery-wide-card > div {
        padding: 34px 26px;
    }

    .kh-sub-cta .kh-wrap {
        display: block;
        text-align: center;
    }

    .kh-sub-cta-actions {
        justify-content: center;
        margin-top: 28px;
    }
}

@media (max-width:640px) {
    .kh-sub-cta-actions {
        flex-direction: column;
    }

    .kh-sub-cta-actions .kh-btn {
        width: 100%;
    }
}


/* ===========================
   Divorce Related Links
   관련 정보 바로가기
=========================== */

.kh-divorce-links{
    background:#fff;
}

.kh-divorce-links-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:20px;
}

.kh-divorce-link-card{
    display:flex;
    flex-direction:column;
    padding:30px 24px;
    border:1px solid rgba(201,168,106,.35);
    border-radius:24px;
    background:#fff;
    box-shadow:0 18px 45px rgba(13,35,64,.07);
    transition:.25s ease;
}

.kh-divorce-link-card:hover{
    transform:translateY(-6px);
    box-shadow:0 26px 60px rgba(13,35,64,.14);
}

.kh-divorce-link-card span{
    margin-bottom:12px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    color:var(--kh-gold);
}

.kh-divorce-link-card strong{
    margin-bottom:12px;
    font-size:20px;
    line-height:1.35;
    color:var(--kh-navy);
}

.kh-divorce-link-card p{
    margin:0;
    font-size:15px;
    line-height:1.7;
    color:#666;
}

/* ===========================
   Responsive
=========================== */

@media (max-width:1200px){

    .kh-divorce-links-grid{
        grid-template-columns:repeat(3,1fr);
    }

}

@media (max-width:768px){

    .kh-divorce-links-grid{
        grid-template-columns:1fr;
    }

}



/* ===========================
   Real Estate & Construction Page Visual Images
   부동산·건설 페이지 상단 비주얼 이미지
=========================== */
.kh-sub-visual-realestate:before { background-image: url("/new_img/sub_realestate_visual.jpg"); }
.kh-sub-visual-construction-dispute:before { background-image: url("/new_img/sub_construction_dispute_visual.jpg"); }
.kh-sub-visual-construction:before { background-image: url("/new_img/sub_construction_dispute_visual.jpg"); }
.kh-sub-visual-eviction:before { background-image: url("/new_img/sub_eviction_visual.jpg"); }
.kh-sub-visual-lien:before { background-image: url("/new_img/sub_lien_visual.jpg"); }

/* ===========================
   Civil & Corporate Page Visual Images
   민사·기업법무 페이지 상단 비주얼 이미지
=========================== */
.kh-sub-visual-civil:before { background-image: url("/new_img/sub_civil_visual.jpg"); }
.kh-sub-visual-company:before { background-image: url("/new_img/sub_company_visual.jpg"); }
.kh-sub-visual-damage:before { background-image: url("/new_img/sub_damage_visual.jpg"); }
.kh-sub-visual-debt:before { background-image: url("/new_img/sub_debt_visual.jpg"); }

/* ===========================
   Recovery Page Visual Images
   회생·파산 4개 페이지 상단 이미지
=========================== */
.kh-sub-visual-rehab:before { background-image: url("/new_img/sub_rehab_visual.jpg"); }
.kh-sub-visual-bankruptcy:before { background-image: url("/new_img/sub_bankruptcy_visual.jpg"); }
.kh-sub-visual-corp-rehab:before { background-image: url("/new_img/sub_corp_rehab_visual.jpg"); }
.kh-sub-visual-corp-bankruptcy:before { background-image: url("/new_img/sub_corp_bankruptcy_visual.jpg"); }

/* ===========================
   Samcheong Page Visual Image
   삼청교육대보상 상단 비주얼 이미지
=========================== */
.kh-sub-visual-samcheong:before { background-image: url("/new_img/sub_samcheong_visual.jpg"); }

/* ===========================
   Divorce Page Visual Images
   가사·이혼 페이지 상단 비주얼 이미지
=========================== */
.kh-sub-visual-divorce-trial:before { background-image: url("/new_img/sub_divorce_trial_visual.jpg"); }
.kh-sub-visual-divorce-preserve:before { background-image: url("/new_img/sub_divorce_preserve_visual.jpg"); }
.kh-sub-visual-divorce_preorder:before { background-image: url("/new_img/sub_divorce_preorder_visual.jpg"); }
.kh-sub-visual-divorce_alimony:before { background-image: url("/new_img/sub_divorce_alimony_visual.jpg"); }
.kh-sub-visual-divorce_property:before { background-image: url("/new_img/sub_divorce_property_visual.jpg"); }
.kh-sub-visual-divorce_custody:before { background-image: url("/new_img/sub_divorce_custody_visual.jpg"); }

/* ===========================
   Criminal Page Visual Images
   형사소송 페이지 상단 비주얼 이미지
=========================== */
.kh-sub-visual-criminal:before { background-image: url("/new_img/sub_criminal_visual.jpg"); }
.kh-sub-visual-accusation:before { background-image: url("/new_img/sub_accusation_visual.jpg"); }
.kh-sub-visual-warrant:before { background-image: url("/new_img/sub_warrant_visual.jpg"); }
.kh-sub-visual-sex-crime:before { background-image: url("/new_img/sub_sex_crime_visual.jpg"); }

