:root {
  --min-width: 360px;
  --max-width: 1360px;  
  
  --color-main: #A62F43;
  
  /* 폰트 사이즈 (대형 타이틀 및 히어로 섹션 포함) */
  --font-12-14: clamp(12px, 12px + 2 * (100vw - var(--min-width)) / 1000, 14px);
  --font-13-15: clamp(13px, 13px + 2 * (100vw - var(--min-width)) / 1000, 15px);
  --font-14-16: clamp(14px, 14px + 2 * (100vw - var(--min-width)) / 1000, 16px);
  --font-15-18: clamp(15px, 15px + 3 * (100vw - var(--min-width)) / 1000, 18px);
  --font-16-20: clamp(16px, 16px + 4 * (100vw - var(--min-width)) / 1000, 20px);
  --font-17-22: clamp(17px, 17px + 5 * (100vw - var(--min-width)) / 1000, 22px);
  --font-18-24: clamp(18px, 18px + 6 * (100vw - var(--min-width)) / 1000, 24px);
  --font-20-28: clamp(20px, 20px + 8 * (100vw - var(--min-width)) / 1000, 28px);
  --font-22-32: clamp(22px, 22px + 8 * (100vw - var(--min-width)) / 1000, 32px);
  --font-24-36: clamp(24px, 24px + 12 * (100vw - var(--min-width)) / 1000, 36px);
  --font-28-42: clamp(28px, 28px + 16 * (100vw - var(--min-width)) / 1000, 42px);
  --font-32-48: clamp(32px, 32px + 16 * (100vw - var(--min-width)) / 1000, 48px);
  --font-40-64: clamp(40px, 40px + 24 * (100vw - var(--min-width)) / 1000, 64px);
  --font-48-80: clamp(48px, 48px + 32 * (100vw - var(--min-width)) / 1000, 80px);

/* 패딩 사이즈 (대형 섹션 및 레이아웃 여백 포함) */
  --pad-2-4:    clamp(2px,  2px  + 2   * (100vw - var(--min-width)) / 1000, 4px);
  --pad-4-8:    clamp(4px,  4px  + 4   * (100vw - var(--min-width)) / 1000, 8px);
  --pad-8-12:   clamp(8px,  8px  + 4   * (100vw - var(--min-width)) / 1000, 12px);
  --pad-10-16:  clamp(10px, 10px + 6   * (100vw - var(--min-width)) / 1000, 16px);
  --pad-12-20:  clamp(12px, 12px + 8   * (100vw - var(--min-width)) / 1000, 20px);
  --pad-12-20--: clamp(-20px, -12px - 8 * (100vw - var(--min-width)) / 1000, -12px);
  --pad-16-24:  clamp(16px, 16px + 8   * (100vw - var(--min-width)) / 1000, 24px);
  --pad-16-32:  clamp(16px, 16px + 16  * (100vw - var(--min-width)) / 1000, 32px);
  --pad-20-40:  clamp(20px, 20px + 20  * (100vw - var(--min-width)) / 1000, 40px);
  --pad-24-48:  clamp(24px, 24px + 24  * (100vw - var(--min-width)) / 1000, 48px);
  --pad-32-64:  clamp(32px, 32px + 32  * (100vw - var(--min-width)) / 1000, 64px);
  --pad-35-70:  clamp(35px, 35px + 35 * (100vw - var(--min-width)) / 1000, 70px);
  --pad-40-80:  clamp(40px, 40px + 40  * (100vw - var(--min-width)) / 1000, 80px);
  --pad-40-96:  clamp(40px, 40px + 56  * (100vw - var(--min-width)) / 1000, 96px);
  --pad-48-120: clamp(48px, 48px + 72  * (100vw - var(--min-width)) / 1000, 120px);
  --pad-60-150: clamp(60px, 60px + 90  * (100vw - var(--min-width)) / 1000, 230px);
  --pad-70-175: clamp(70px, 70px + 105 * (100vw - var(--min-width)) / 1000, 175px);
  --pad-80-200: clamp(80px, 80px + 120 * (100vw - var(--min-width)) / 1000, 300px);  
  
  --gap-15-30:  clamp(15px, 15px + 7.5   * (100vw - var(--min-width)) / 1000, 30px);
}

/* 글로벌 폰트 적용 및 기본 타이포그래피 */
body,
input, button {
	font-family: 'Noto Sans KR', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: var(--font-md);
	font-weight: 400;
	color: #333;
	line-height: 1.5;
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Noto Sans KR', sans-serif;
	font-weight: 700;
}
/* 공통 - 뷰포트 (pc / mobile) 별 display none/block */
.pc-only { display: none; }
@media (min-width: 769px) { .pc-only { display: block !important; }}
.mobile-only { display: block; }
@media (min-width: 769px) { .mobile-only { display: none !important; }}

/* 헤더 스타일 */
header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: transparent;
    transition: background-color 0.3s ease, position 0.3s ease;
}

header.fixed {
    position: fixed;
    background-color: color-mix(in srgb, var(--color-main) 95%, transparent);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.header-container {
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--pad-16-32) 0;
}

.header-container .logo,
.fixed .header-container .logo.scroll {
	display: block;
}
.fixed .header-container .logo,
.header-container .logo.scroll {
	display: none;
}

/* 네비게이션 메뉴 (데스크톱용) */
.nav-menu {
    display: flex;
    list-style: none;
    gap: 30px;
    align-items: center;
}

.nav-menu > li {
    position: relative;
}

.nav-menu > li.has-sub > a svg {
    width: 10px;
    height: 10px;
    margin-left: 4px;
    vertical-align: middle;
    transition: transform 0.3s ease;
    stroke: currentColor;
    stroke-width: 2.5;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.nav-menu > li.has-sub:hover > a svg {
    transform: rotate(180deg);
}

.nav-menu > li > a {
    color: #fff;
    text-decoration: none;
    font-size: var(--font-15-18);
    font-weight: 500;
    display: flex;
    align-items: center;
    transition: color 0.3s;
    white-space: nowrap;
}

.nav-menu > li > a:hover {
    color: var(--color-main);
}
.fixed .nav-menu > li > a:hover {
    color: #fff;
}

.sub-menu {
    position: absolute;
    top: 160%;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(26, 26, 26, 0.95);
    min-width: 160px;
    list-style: none;
    padding: 10px 0;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    backdrop-filter: blur(5px);
    z-index: 1001;
}

.nav-menu > li:hover .sub-menu {
    opacity: 1;
    visibility: visible;
}

.sub-menu li a {
    display: block;
    padding: var(--pad-4-8) var(--pad-16-32);
    color: #ddd;
    text-decoration: none;
    font-size: var(--font-13-15);
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
}

.sub-menu li a:hover {
    background-color: var(--color-main);
    color: #fff;
}

.header-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.phone {
}

.phone a {
    display: flex;
    gap: var(--pad-8-12);
    font-size: var(--font-18-24);
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    align-items: center;
}

.consult-dropdown {
    position: relative;
}

.consult-btn {
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: transparent;
    color: #fff;
    padding: var(--pad-4-8) var(--pad-10-16);
    border-radius: 20px;
    cursor: pointer;
    font-size: var(
    --font-13-15);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: var(
    --pad-8-12);
    white-space: nowrap;
    transition: all 0.3s;
}

.consult-btn svg {
    width: 10px;
    height: 10px;
    stroke: currentColor;
    stroke-width: 2.5;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.3s ease;
}

.consult-dropdown .sub-menu {
    left: auto;
    right: 0;
    transform: none;
}

.consult-dropdown:hover .sub-menu {
    opacity: 1;
    visibility: visible;
}

.consult-dropdown:hover .consult-btn svg {
    transform: rotate(180deg);
}

.consult-dropdown:hover .consult-btn {
    color: var(--color-main);
}
.fixed .consult-dropdown:hover .consult-btn {
    color: #fff;
}

.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 22px;
    height: 16px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 1002;
    flex-shrink: 0;
}

.menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transition: all 0.3s ease;
    transform-origin: center; /* 회전 중심을 정중앙으로 설정 */
}

/* 메뉴가 열렸을 때(.active가 붙었을 때) X자 모양으로 변환 */
.menu-toggle.active span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* 메인 비주얼 섹션 */
.hero {
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
}

.hero video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.9);
    display: block;
    z-index: 0;
}

.hero-content {
    width: var(--max-width);
    display: flex;
    margin: 0 auto;
    z-index: 1;
    flex-direction: column;
}

.hero-content > p:first-child {
    font-weight: 600;
    font-size: var(--font-18-24);
    color: #fff;
    margin-bottom: var(--pad-12-20);
}

.hero-content h1 {
    font-size: var(--font-32-48);
    font-weight: 700;
    color: #fff;
    margin-bottom: var(--pad-16-32);
    letter-spacing: -1px;
    word-break: keep-all;
}

.hero-content h1 span {
    color: var(--color-main);
}

.hero-desc {
    font-size: var(--font-15-18);
    font-weight: 400;
    color: #fff;
    line-height: 1.6;
    word-break: keep-all;
}

#main {
    padding: 0 0;
}

/* 로펌 소개 섹션 */
.about-section {
    background-color: #ffffff;
    padding: 100px 0;
    color: #111111;
}

.about-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
}

.about-text {
    flex: 1;
}

.about-subtitle {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.about-text h2 {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 25px;
    letter-spacing: -1px;
    word-break: keep-all;
    color: #111111;
}

.about-text p {
    font-size: 15px;
    color: #666666;
    line-height: 1.7;
    word-break: keep-all;
}

.about-images {
    flex: 1.2;
    display: flex;
    gap: 20px;
    height: 420px;
}

.img-box {
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.img-box:hover img {
    transform: scale(1.03);
}

.img-box.large {
    flex: 2.2;
}

.img-box.small {
    flex: 1;
}

/* 통계 및 증명 섹션 */
.proof-section {
    background-color: #f8f9fa;
    padding: var(--pad-48-120) 0;
    width: 100%;
    overflow: hidden;
}

.proof-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--pad-20-40);
}

.proof-header {
    text-align: center;
    margin-bottom: var(--pad-32-64);
    position: relative;
}

.proof-subtitle {
    display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.proof-header h2 {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.proof-header p {
    font-size: var(--font-15-18);
    color: #666666;
}

.proof-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap-15-30);
}

.proof-card {
    background-color: #ededed;
    border-radius: var(--pad-16-32);
    padding: var(--pad-20-40) var(--pad-20-40) var(--pad-16-24) var(--pad-20-40);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 320px;
    text-align: left;
    transition: all 0.4s ease;
    cursor: pointer;
}

.proof-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
}

.proof-card.highlight {
    background: linear-gradient(135deg, var(--color-main), var(--color-main));
    color: #ffffff;
}

.proof-card-top .proof-card-title {
    font-size: var(--font-18-24);
    font-weight: 600;
    margin-bottom: var(--pad-4-8);
}

.proof-card-top .proof-card-desc {
    font-size: var(--font-14-16);
    color: #777777;
    transition: color 0.4s ease;
}

.proof-card.highlight .proof-card-top .proof-card-desc {
    color: #fff;
}

.proof-proof-card.highlight .proof-card-top .proof-card-desc {
    color: rgba(255, 255, 255, 0.8);
}

.proof-card-value {
    display: flex;
    text-align: right;
    gap: var(--pad-8-12);
    font-size: var(--font-48-80);
    font-weight: 800;
    letter-spacing: -2px;
    align-items: baseline;
}

.proof-card-value span.count {
    font-size: var(--font-48-80);
    font-weight: 800;
}

.proof-card-value span {
    font-size: var(--font-32-48);
    font-weight: 400;
}

/* 변호인단 아코디언 섹션 */
.expert-section {
    padding: var(--pad-48-120) 0 0 0;
    width: 100%;
    overflow: hidden;
}

.expert-header {
    text-align: center;
    margin-bottom: var(--pad-32-64);
    position: relative;
}

.expert-subtitle {
    display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.expert-header h2 {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.expert-header p {
    font-size: var(--font-15-18);
    color: #666666;
}

.expert-slider {
    width: 100%;
    display: flex;
    gap: var(--pad-2-4);
    height: 640px;
}

.expert-card {
    position: relative;
    flex: 1;
    overflow: hidden;
    cursor: pointer;
    transition: flex 0.5s cubic-bezier(0.25, 1, 0.5, 1);
    background-size: cover;
    background-position: center;
}
/* 활성화(active)된 카드 우측 상단의 플러스 원형 테두리 */
.expert-card.active::after {
    content: '+';
    position: absolute;
    top: var(--pad-20-40);
    right: var(--pad-20-40);
    width: var(--pad-40-96);
    height: var(--pad-40-96);
    border: 2px solid rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: var(--font-32-48);
    font-weight: 300;
    line-height: 1;
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    padding-bottom: var(--pad-4-8);
}

.expert-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.85) 100%);
    transition: background 0.4s ease;
}

.expert-card.active {
    flex: 4;
}

.expert-card.active::before {
    background: linear-gradient(to right, rgba(0, 10, 30, 0.9) 0%, rgba(0,0,0,0.4) 100%);
}

.expert-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: var(--pad-20-40);
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 100%;
    z-index: 2;
}

/* 비활성화 상태(기본)일 때 이미지 스타일 */
.expert-card .expert-content img {
    width: 80px;
    height: auto;
    opacity: 0.2; /* 투명도를 주어 흐리게 처리 */
    filter: grayscale(100%); /* 선택사항: 흑백으로 처리하여 더 흐려 보이게 함 */
    transition: all 0.3s ease;
}

/* 활성화(active) 상태일 때 이미지 스타일 */
.expert-card.active .expert-content img {
    width: 150px;
    height: auto;
    opacity: 1; /* 선명하게 표시 */
    filter: grayscale(0%);
}

.expert-card .expert-title-sub {
    font-size: var(--font-16-20);
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 1.0;
    margin-top: var(--font-20-28);
}

.expert-card .expert-title-main {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    word-break: keep-all;
    transition: all 0.3s;
    margin-top: var(--pad-16-24);
}

.expert-card .expert-details {
    max-height: 0;
    opacity: 0;
    transition: all 0.4s ease;
    margin-top: 0;
}

.expert-card.active .expert-details {
    max-height: 200px;
    opacity: 1;
    margin-top: var(--font-32-48);
}


.expert-card.active .expert-title-sub {
    color: #fff;
}

.expert-card.active .expert-title-main {
    color: #fff;
    font-size: var(--font-24-36);
    margin-top: var(--font-20-28);
}

.expert-desc {
    font-size: 14px;
    color: #cccccc;
    margin-bottom: 20px;
    line-height: 1.5;
    word-break: keep-all;
}

.expert-tags {
    display: flex;
    gap: var(--pad-8-12);
    flex-wrap: wrap;
}

.expert-tags span {
    color: #fff;
    padding: var(--pad-4-8) var(--pad-12-20);
    border-radius: var(--pad-8-12);
    font-size: var(--font-15-18);
    border: solid 1px #fff;
    white-space: nowrap;
}

/* 왜, 법무법인AK여야 할까요? 섹션 */
.why-section {
    padding: var(--pad-48-120) 15px;
    width: 100%;
    overflow: hidden;
}

.why-container {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    text-align: center;
}

.why-header {
	text-align: center;
    margin-bottom: var(--pad-32-64);
    position: relative;
}

.why-subtitle {
    display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.why-header h2 {
	font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.why-header p {
    font-size: var(--font-15-18);
    color: #666666;
}

.why-slider-wrap {
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
}

.why-slider {
    display: flex;
    gap: 30px; /* 카드 사이 간격 */
    will-change: transform;
}

.why-card {
    display: flex;
    text-align: left;
    align-items: center;
    flex-shrink: 0;
    width: 70vw; 
    max-width: 1360px; 
}

.why-card-img {
    flex: 1.2;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.why-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--pad-20-40);
}

.why-card-content {
    flex: 1;
    padding: var(--pad-20-40) var(--pad-40-80);
}

.why-card-content h3 {
    font-size: var(--font-24-36);
    font-weight: 700;
    margin-bottom: var(--pad-20-40);
    line-height: 1.5;
    position: relative;
    padding-bottom: var(--pad-16-32);
}

.why-card-content h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #dfdfdf;
}

.why-card-content ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--pad-8-12);
}

.why-card-content ul li {
    font-size: var(--font-15-18);
    color: #555;
    display: flex;
    align-items: center;
    gap: var(--pad-8-12);
}

.why-pagination {
    margin-top: var(--pad-32-64);
    display: flex;
    align-items: center;
    gap: var(--pad-4-8);
    font-size: var(--font-15-18);
    color: #888;
}

.why-pagination .current-idx {
    color: var(--color-main);
    font-weight: 700;
}

.bar-line {
    position: relative;
    display: flex;
    width: var(--pad-80-200);
    height: 1px;
    background-color: #ddd;
    vertical-align: middle;
    margin: 0 var(--pad-8-12);
    align-items: center;
}

.bar-fill {
    height: 2px;
    width: 0%;
    background-color: var(--color-main);
    transition: width 0.3s ease-in-out;
}

.why-btn-group {
    display: flex;
    gap: 10px;
    margin-left: 10px;
}

.why-arrow-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    color: #111;
    transition: color 0.2s;
}

.why-arrow-btn:hover {
    color: var(--color-main);
}

.why-arrow-btn svg,
.why-arrow-btn path {
  pointer-events: none;
}

/* 비슷한 업무사례 섹션 스타일 */
.similar-section {  
	background-color: #f8f9fa;
    padding: var(--pad-48-120) 0;
    width: 100%;
    overflow: hidden;
}

.similar-container {
    max-width: var(--max-width);
    margin: 0 auto;
    position: relative;
}

.similar-header {
    text-align: center;
    margin-bottom: var(--pad-32-64);
    position: relative;
}

.similar-subtitle {
    display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.similar-header h2 {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.similar-header p {
    font-size: var(--font-15-18);
    color: #666666;
}

.similar-card-area {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap-15-30);
}

.similar-card {
    background-color: #ffffff;
    border: 1px solid #e5e8eb;
    border-radius: var(--pad-12-20);
    padding: var(--pad-16-32) var(--pad-16-24);
    display: flex;
    align-items: center;
    text-decoration: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
    transition: all 0.3s ease-in-out;
}

        .similar-card:hover {
            border-color: var(--color-main);
            box-shadow: 0 2px 4px color-mix(in srgb, var(--color-main) 10%, transparent);;
        }

        /* 아이콘 박스 스타일 */
        .similar-card .icon-box {
            width: 44px;
            height: 44px;
            background-color: #f3f5f7;
            border-radius: 10px;
            display: flex;
            justify-content: center;
            align-items: center;
            margin-right: 16px;
            font-size: 18px;
            color: #333333;
            transition: all 0.3s ease-in-out;
        }
        /* 아이콘 박스 스타일 */
        .similar-card .icon-box img {
            width: 100%;
            height: 100%;
        }

.similar-card span {
    font-size: var(--font-17-22);
    font-weight: 500;
    transition: color 0.3s ease-in-out;
}

        /* 활성화된(파란색 선택된) 카드 스타일 */
        .similar-card.active {
            background-color: var(--color-main);
            border-color: var(--color-main);
            transform: translateY(-4px);
            box-shadow: 0 2px 4px color-mix(in srgb, var(--color-main) 95%, transparent);
        }

        .similar-card.active .icon-box {
            background-color: #ffffff;
            color: var(--color-main);
        }

        .similar-card.active span {
            color: #ffffff;
        }

        /* 반응형 디자인 */
        @media (max-width: 768px) {
            .similar-card-area {
                grid-template-columns: repeat(2, 1fr);
            }
        }

/* 업무사례 섹션 스타일 */
.cases-section {
    padding: var(--pad-48-120) 15px;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.cases-container {
    max-width: var(--max-width);
    margin: 0 auto;
    position: relative;
    padding: 0;
    box-sizing: border-box;
}

.cases-slider-wrap {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.cases-slider {
    display: flex;
    gap: 30px; /* PC 환경 간격 */
    will-change: transform;
    box-sizing: border-box;
}

.case-card {
    /* PC: 3개 노출 (총 간격 60px을 제외한 후 정확히 3등분) */
    width: calc((100% - 60px) / 3);
    min-width: calc((100% - 60px) / 3);
    background: #ededed;
    border-radius: 24px;
    padding: 40px 35px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease;
    flex-shrink: 0;
    box-sizing: border-box; /* 패딩이 너비에 포함되도록 설정하여 잘림 방지 */
}

/* 모바일 반응형 처리 (768px 이하) */
@media (max-width: 768px) {
    .cases-slider {
        gap: 20px;
    }
    
    .case-card {
        width: 100%;
        min-width: 100%;
        padding: 30px 20px;
        box-sizing: border-box;
    }
}

.case-card:hover {
    transform: translateY(-5px);
}

/* 나머지 스타일 요소들은 기존과 동일하게 유지 */
.cases-header {
    text-align: center;
    margin-bottom: var(--pad-32-64);
    position: relative;
}

.cases-subtitle {
    display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.cases-header h2 {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.cases-header p {
    font-size: var(--font-15-18);
    color: #666666;
}

.cases-more {
    display: flex;
    position: absolute;
    right: 0;
    bottom: 0;
    text-decoration: none;
    font-weight: 500;
    font-size: var(--font-13-15);
    transition: color 0.2s;
    align-items: flex-start;
}

.cases-more:hover {
    color: var(--color-main);
}

.case-badge {
    display: inline-block;
    background: var(--color-main);
    color: #fff;
    padding: var(--pad-4-8) var(--pad-20-40);
    border-radius: 40px;
    font-size: var(--font-16-20);
    font-weight: 600;
    width: fit-content;
    margin-bottom: var(--pad-16-24);
}

.case-title {
    font-size: var(--font-18-24);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: var(--pad-16-24);
    word-break: keep-all;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

.case-desc {
    font-size: var(--font-14-16);
    color: #666;
    line-height: 1.6;
    margin-bottom: var(--pad-32-64);
    word-break: keep-all;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.case-lawyers {
    display: flex;
    gap: var(--pad-10-16);
}

.lawyer-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.lawyer-item img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
}

.lawyer-item span {
    font-size: var(--font-12-14);
    font-weight: 500;
    color: #666;
}

.cases-pagination {
    margin-top: var(--pad-16-32);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--pad-12-20);
    font-size: var(--font-15-18);
    color: #888;
}

.cases-pagination .cases-current {
    color: var(--color-main);
    font-weight: bold;
}

.cases-pagination .cases-progress-track {
    display: flex;
    width: var(--pad-60-150);
    height: 1px;
    background: #ddd;
    align-items: center;
}

.cases-pagination .cases-progress-bar {
    height: 3px;
    background: var(--color-main);
    transition: width 0.3s ease;
}

.cases-btn-group {
    display: flex;
    gap: var(--pad-10-16);
}

.cases-arrow-btn {
    display: flex;
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.2s;
    align-items: center;
}

.cases-arrow-btn:hover {
    color: var(--color-main);
}

.cases-arrow-btn svg,
.cases-arrow-btn path {
    pointer-events: none;
}

/* 언론보도 섹션 스타일 */
.news-section {
    padding: var(--pad-48-120) 15px;
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.news-container {
    max-width: var(--max-width);
    margin: 0 auto;
    position: relative;
    padding: 0;
    box-sizing: border-box;
}

.news-slider-wrap {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.news-slider {
    display: flex;
    gap: 30px; /* PC 환경 간격 */
    will-change: transform;
    box-sizing: border-box;
}

.news-card {
    width: calc((100% - 60px) / 3);
    min-width: calc((100% - 60px) / 3);
    background: #ededed;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease;
    flex-shrink: 0;
    box-sizing: border-box;
    cursor: pointer;
}

.news-card-in {
    background: #ededed;
    border-radius: 24px;
    padding: 40px 35px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease;
    flex-shrink: 0;
    box-sizing: border-box; /* 패딩이 너비에 포함되도록 설정하여 잘림 방지 */
}

/* 모바일 반응형 처리 (768px 이하) */
@media (max-width: 768px) {
    .news-slider {
        gap: 20px;
    }
    
    .news-card {
        width: 100%;
        min-width: 100%;
        padding: 30px 20px;
        box-sizing: border-box;
    }
}

.news-card:hover {
    transform: translateY(-5px);
}

/* 나머지 스타일 요소들은 기존과 동일하게 유지 */
.news-header {
    text-align: center;
    margin-bottom: var(--pad-32-64);
    position: relative;
}

.news-subtitle {
    display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.news-header h2 {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.news-header p {
    font-size: var(--font-15-18);
    color: #666666;
}

.news-more {
    display: flex;
    position: absolute;
    right: 0;
    bottom: 0;
    text-decoration: none;
    font-weight: 500;
    font-size: var(--font-13-15);
    transition: color 0.2s;
    align-items: flex-start;
}

.news-more:hover {
    color: var(--color-main);
}

.news-badge {
    display: inline-block;
    background: var(--color-main);
    color: #fff;
    padding: var(--pad-4-8) var(--pad-20-40);
    border-radius: 40px;
    font-size: var(--font-16-20);
    font-weight: 600;
    width: fit-content;
    margin-bottom: var(--pad-16-24);
}

.news-title {
    font-size: var(--font-18-24);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: var(--pad-16-24);
    word-break: keep-all;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

.news-desc {
    font-size: var(--font-14-16);
    color: #666;
    line-height: 1.6;
    word-break: keep-all;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

.news-lawyers {
    border-radius: 0 0 var(--pad-16-24) var(--pad-16-24);
    width: 100%;
    height: 100%;
    display: flex;
    gap: var(--pad-10-16);
    border: solid 1px #ededed;
}
.news-lawyers img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 0 var(--pad-16-24) var(--pad-16-24);
}

.lawyer-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.lawyer-item img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
}

.lawyer-item span {
    font-size: var(--font-12-14);
    font-weight: 500;
    color: #666;
}

.news-pagination {
    margin-top: var(--pad-16-32);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--pad-12-20);
    font-size: var(--font-15-18);
    color: #888;
}

.news-pagination .news-current {
    color: var(--color-main);
    font-weight: bold;
}

.news-pagination .news-progress-track {
    display: flex;
    width: var(--pad-60-150);
    height: 1px;
    background: #ddd;
    align-items: center;
}

.news-pagination .news-progress-bar {
    height: 3px;
    background: var(--color-main);
    transition: width 0.3s ease;
}

.news-btn-group {
    display: flex;
    gap: var(--pad-10-16);
}

.news-arrow-btn {
    display: flex;
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.2s;
    align-items: center;
}

.news-arrow-btn:hover {
    color: var(--color-main);
}

.news-arrow-btn svg,
.news-arrow-btn path {
    pointer-events: none;
}

/* 대표변호인단 섹션 스타일 */
.profile-section {
    background: #fafafa;
    padding: var(--pad-48-120) 15px;
    width: 100%;
    overflow: hidden;
}

.profile-container {
    max-width: var(--max-width);
    margin: 0 auto;
    position: relative;
}

.profile-header {
    text-align: center;
    position: relative;
}

.profile-subtitle {
    display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.profile-header h2 {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.profile-header p {
    font-size: var(--font-15-18);
    color: #666666;
}

.profile-more {
    display: flex;
    position: absolute;
    right: 0;
    bottom: 0;
    text-decoration: none;
    font-weight: 500;
    font-size: var(--font-13-15);
    transition: color 0.2s;
    align-items: flex-start;
}

.profile-more:hover {
    color: var(--color-main);
}

.profile-slider-wrap {
    width: 100%;
    padding-top: var(--pad-32-64);
    overflow-x: hidden;
    overflow-y: visible;
}

.profile-slider {
    display: flex;
    gap: 30px;
    will-change: transform;
}

.profile-card {
    /* PC: 3개 노출 (전체 100%에서 간격 30px 2개 제외한 3등분) */
    flex: 0 0 calc((100% - 60px) / 3);
    box-sizing: border-box;
}

.profile-card:hover {
    transform: translateY(-5px);
}

.profile-badge {
    width: 100%;
    height: auto;
    display: inline-block;
    background: var(--color-main);
    border-radius: var(--pad-16-32);
    margin-bottom: var(--pad-16-24);
}

.profile-badge img {
    width: 100%;
    height: 100%;
    object-fit: cover;
	border-radius: var(--pad-16-32);
}

.profile-title {
    display: flex;
    gap: var(--pad-4-8);
    font-size: var(--font-20-28);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: var(--pad-2-4);
    word-break: keep-all;
    align-items: center;
    justify-content: center;
}

.profile-title img {
    width: var(--pad-20-40);
    height: var(--pad-20-40);
    object-fit: cover;
}

.profile-desc {
    text-align: center;
    font-size: var(--font-16-20);
    color: #666;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: var(--pad-16-32);
    word-break: keep-all;
}

.profile-lawyers {
    display: flex;
    gap: var(--pad-10-16);
}

.lawyer-item-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.lawyer-item {
    width: 80px;
    height: 80px;
    gap: 6px;
    border-radius: 50%;
    overflow: hidden;
}

.lawyer-item img {
    position: relative;
    width: 100%;
    height: auto;
    object-fit: initial;
    object-position: top;
}

.case-lawyers {
    display: flex;
    align-items: center;
}
.case-lawyers span {
    font-size: 13px;
    font-weight: 500;
    color: #666;
}

.profile-pagination {
    margin-top: var(--pad-16-32);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--pad-12-20);
    font-size: var(--font-15-18);
    color: #888;
}

.profile-pagination .profile-current {
    color: var(--color-main);
    font-weight: bold;
}

.profile-pagination .profile-progress-track {
    display: flex;
    width: var(--pad-60-150);
    height: 1px;
    background: #ddd;
    align-items: center;
}

.profile-pagination .profile-progress-bar {
    height: 3px;
    background: var(--color-main);
    transition: width 0.3s ease;
}

.profile-btn-group {
    display: flex;
    gap: var(--pad-10-16);
}

.profile-arrow-btn {
    display: flex;
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.2s;
    align-items: center;
}

.profile-arrow-btn:hover {
    color: var(--color-main);
}
.profile-arrow-btn svg,
.profile-arrow-btn path {
  pointer-events: none;
}

/* 프로세스 SYSTEM 섹션 */
.process-section {
    padding: var(--pad-48-120) 15px;
    width: 100%;
    overflow: hidden;
}

.process-container {
    margin: 0 auto;
    position: relative;
}

.process-header {
    text-align: center;
    margin-bottom: var(--pad-32-64);
    position: relative;
}

.process-subtitle {
    display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.process-header h2 {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.process-header p {
    font-size: var(--font-15-18);
    color: #666666;
}

/* PC 기본 탭 버튼 숨김 (모바일에서만 보임) */
.process-tabs {
    display: none; 
}

.process-wrapper {
    width: 100%;
    max-width: 1480px;
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin: 0 auto;
}

.process-row {
    display: flex;
    align-items: stretch;
    gap: 0;
    position: relative;
    flex-direction: row; /* PC에서는 가로 정렬 유지 */
}

        /* 첫 번째 줄과 두 번째 줄 사이를 가로지르는 영역 */
        .process-divider-area {
            display: flex;
            position: relative;
            width: 100%;
            height: 0px;
            align-items: center;
        }

        .divider-line {
            width: 100%;
            height: 0;
            border-bottom: solid 2px var(--color-main);
        }

        /* 04번 카드 오른쪽에 추가된 연장선 영역 (모서리 둥글게 처리) */
        .card-connector-extended-right {
            width: 60px;
            top: 56px;
            height: auto;
            display: flex;
            align-items: flex-start;
            position: relative;
        }

        .card-connector-extended-right .connector-line {
            width: 100%;
            height: 0;
            border-bottom: solid 2px var(--color-main);
            transition: border-color 0.4s ease;
            position: relative;
            z-index: 2;
        }

        .card-connector-extended-right .corner-curve {
            position: absolute;
            right: -40px;
            top: 0px;
            bottom: 0;
            width: 40px;
            height: calc(100% - 15px);
            border-right: 2px solid var(--color-main);
            border-top: 2px solid var(--color-main);
            border-bottom: 2px solid var(--color-main);
            border-top-right-radius: 40px;
            border-bottom-right-radius: 40px;
            z-index: 2;
            transition: border-color 0.4s ease;
        }

        .card-connector-extended-left {    
            top: 56px;
            width: 60px;
            height: auto;
            display: flex;
            align-items: flex-start;
            position: relative;
        }

        .card-connector-extended-left .connector-line {
            width: 100%;
            height: 0;
            border-bottom: solid 2px var(--color-main);
            position: relative;
            z-index: 2;
        }

        .card-connector-extended-left .corner-curve {
            position: absolute;
            left: -40px;
            top: -97px;
            bottom: 0;
            width: 40px;
            height: 99px;
            border-left: 2px solid var(--color-main);
            border-top: 2px solid var(--color-main);
            border-bottom: 2px solid var(--color-main);
            border-top-left-radius: 40px;
            border-bottom-left-radius: 40px;
            z-index: 2;
        }

        .card-connector-extended {
            width: 60px;
            height: auto;
            display: flex;
            align-items: center;
            position: relative;
        }

        .card-connector-extended .connector-line {
            width: 100%;
            height: 0;
            border: solid 0px var(--color-main);
        }

        .card-connector-extended .corner-curve {
            position: absolute;
            left: -40px;
            top: -51px;
            bottom: 0;
            width: 40px;
            height: 108.5px;
            border-top-left-radius: 40px;
            border-bottom-left-radius: 40px;
            z-index: 2;
        }

        .connector-line {
            width: 100%;
            height: 0;
            border-bottom: solid 2px var(--color-main);
            position: relative;
            z-index: 2;
        }

        .process-box {
            display: flex;
            flex-direction: column;
            width: 380px;
        }

.process-card {
    width: 100%;
    padding: var(--pad-16-32) var(--pad-16-32);
    border-radius: var(--pad-16-24);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--pad-16-24);
    background-color: #f1f3f5;
    transition: background-color 0.4s ease;
}

        .process-card.active {
            background-color: var(--color-main);
        }

        .process-card.inactive {
            background-color: #efefef;
        }

.card-number {
    font-size: var(--font-40-64);
    font-weight: 800;
    letter-spacing: -2px;
    line-height: 1;
    transition: color 0.4s ease;
}

        .process-card.active .card-number {
            color: #ffffff;
        }

        .process-card.inactive .card-number {
            color: #fff;
        }

        .card-divider {
            width: 1px;
            height: 44px;
            margin: 0 24px;
            transition: background-color 0.4s ease;
        }

        .process-card.active .card-divider {
            background-color: rgba(255, 255, 255, 0.3);
        }

        .process-card.inactive .card-divider {
            background-color: #dedede;
        }

        .card-icon-area {
            position: relative;
            width: 50px;
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0.8;
            transition: opacity 0.4s ease;
        }
        .process-card.active .card-icon-area {
            opacity: 1.0;
        }

        .card-connector {
            width: 60px;
            height: 114px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
        }

        .card-connector svg {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 1;
            pointer-events: none;
        }

        .card-connector-extended-right svg {
            position: absolute;
            top: 0px;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 1;
            pointer-events: none;
        }

        .card-connector svg path,
        .card-connector-extended-right svg path {
            fill: transparent;
            transition: fill 0.4s ease;
        }

        .card-connector.active-arrow svg path,
        .card-connector-extended-right.active-arrow svg path {
            fill: var(--color-main);
        }

        .card-content {
            display: flex;
            flex-direction: column;
            gap: 12px;
            padding-left: 4px;
        }

.card-title {
    font-size: var(--font-18-24);
    font-weight: 700;
    letter-spacing: -1.5px;
    color: var(--color-main);
    white-space: nowrap;
}

.card-desc {
    font-size: var(--font-15-18);
    color: #555555;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    gap: var(--pad-2-4);
}
.card-desc span {
    display: inline-block;
    padding-left: 13px;
    text-indent: -13px;
}

/* =========================================
   모바일 최적화 (탭 및 수직형 구조 변경)
   ========================================= */
@media (max-width: 768px) {
    /* 모바일에서 탭 버튼 표시 */
    .process-tabs {
        display: flex;
        justify-content: center;
        gap: 10px;
        margin-bottom: 30px;
        flex-direction: column;
    }

.tab-btn {
    width: 100%;
    text-align: center;
    font-size: 18px;
    padding: 14px;
    font-weight: 600;
    color: #555;
    background-color: #f1f3f5;
    border: 1px solid #ddd;
    border-radius: var(--pad-16-24);
    cursor: pointer;
    transition: all 0.3s ease;
}

    .tab-btn.active {
        background-color: var(--color-main);
        color: #fff;
        border-color: var(--color-main);
    }

    /* 그룹 토글 제어 (기본은 숨기고 active만 표시) */
    .process-step-group {
        display: none !important;
        flex-direction: column;
        align-items: center;
        gap: 16px;
    }

    .process-step-group.active {
        display: flex !important;
    }

    /* 모바일에서는 불필요한 가로 연결선 및 중간 구분선 숨김 */
    .process-divider-area,
    .card-connector,
    .card-connector-extended,
    .card-connector-extended-right,
    .card-connector-extended-left {
        display: none !important;
    }

    /* 모바일 수직형태로 박스 배치 */
    .process-row {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .process-box {
        width: 100%;
        max-width: 450px;
    }

    .card-title {
        white-space: normal;
    }
}

/* 업무분야 섹션 스타일 */
.work-section {
    background: #fafafa;
    padding: var(--pad-48-120) 15px;
    width: 100%;
    overflow: hidden;
}

.work-container {
    max-width: var(--max-width);
    margin: 0 auto;
    position: relative;
}

.work-header {
    text-align: center;
    margin-bottom: var(--pad-32-64);
    position: relative;
}

.work-subtitle {
    display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.work-header h2 {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.work-header p {
    font-size: var(--font-15-18);
    color: #666666;
}

.work-more {
    display: flex;
    position: absolute;
    right: 0;
    bottom: 0;
    text-decoration: none;
    font-weight: 500;
    font-size: var(--font-13-15);
    transition: color 0.2s;
    align-items: flex-start;
}

.work-more:hover {
    color: var(--color-main);
}
.works-container {
    display: flex;
    gap: var(--gap-15-30);
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
}

.works-container > * {
    /* gap이 2개 있으므로 전체 너비에서 간격의 총합을 빼고 3으로 나눔 */
    flex: 0 0 calc(33.333% - (var(--pad-20-40) * 2 / 3));
}

.work {
    position: relative;
    border-radius: var(--pad-20-40);
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--pad-24-48);
    color: #fff;
    background-size: cover;
    background-position: center;
}

        /* 각 카드별 개별 배경 이미지 처리 */
        .work.work:nth-child(1) {
            background-image: linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.85)), url('https://images.unsplash.com/photo-1589829545856-d10d557cf95f?auto=format&fit=crop&w=600&q=80');
        }
        .work.work:nth-child(2) {
            background-image: linear-gradient(to bottom, rgba(20,50,90,0.3), rgba(15,76,129,0.9)), url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=600&q=80');
        }
        .work.work:nth-child(3) {
            background-image: linear-gradient(to bottom, rgba(10,40,60,0.3), rgba(10,50,70,0.9)), url('https://images.unsplash.com/photo-1526374965328-7f61d4dc18c5?auto=format&fit=crop&w=600&q=80');
        }

.work-category {
    font-size: var(--font-15-18);
    font-weight: 500;
    opacity: 0.8;
    margin-top: var(--pad-80-200);
    margin-bottom: var(--pad-2-4);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.work-title {
    font-size: var(--font-24-36);
    font-weight: 700;
    margin-bottom: var(--pad-12-20);
}

.badge-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pad-4-8);
    justify-content: flex-start;
}

.badge-grid > * {
    flex: 0 0 auto;
    width: auto;
}

.badge {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(4px);
    padding: var(--pad-4-8) var(--pad-8-12);
    text-align: center;
    border-radius: var(--pad-4-8);
    font-size: var(--font-14-16);
    font-weight: 500;
    color: #fff;
    white-space: nowrap;
}

        .badge:hover {
            background: rgba(255, 255, 255, 0.3);
            cursor: pointer;
        }

/* 1:1 비밀상담 섹션 스타일 */
.inquiry-section {
    background-color: #fff;
    color: #333;
    padding: 100px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.inquiry-header-top {
    display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.inquiry-main-title {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.inquiry-sub-title {
    font-size: var(--font-15-18);
    color: #666666;
	margin-bottom: var(--pad-32-64);
}

.inquiry-container {
    display: flex;
    background: #ffffff;
    border-radius: var(--pad-16-32);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    max-width: var(--max-width);
    width: 100%;
    overflow: hidden;
}

.inquiry-left-section {
    flex: 0.7;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 50px;
    background: #fff url('../../img/ak/main/inquiry-left-section-bg.webp') no-repeat center center;
    background-size: cover;
    color: #111;
}

.inquiry-left-header h2 {
    font-size: var(--font-24-36);
    margin-bottom: var(--pad-16-32);
    line-height: 1.3;
}

.inquiry-section-bar {
    width: var(--pad-32-64);
    height: 2px;
    background-color: #cdaf0f;
    margin-bottom: var(--pad-20-40);
}

.kakao-desc-wrap {
    display: flex;
    align-items: center;
    gap: var(--gap-15-30);
    margin-bottom: var(--pad-16-32);
}

.kakao-small-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.kakao-desc-wrap p {
    font-size: var(--font-20-28);
    color: #333;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 0;
}

.kakao-desc-wrap p .font-weight {
    font-weight: 700;
}

.feature-list {
    display: flex;
    flex-direction: column;
    gap: var(--gap-15-30);
    margin-bottom: var(--pad-24-48);
}

.feature-item {
    display: flex;
    gap: var(--gap-15-30);
    align-items: center;
}

.feature-icon {
    width: var(--pad-40-80);
    height: var(--pad-40-80);
    background-color: #fcf0cd;
    padding: var(--pad-10-16);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
}

.feature-text {
    flex: 0.8;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.feature-item:last-child .feature-text {
    border-bottom: none;
    padding-bottom: 0;
}

.feature-text h4 {
    font-size: var(--font-16-20);
    margin-bottom: var(--pad-2-4);
}

.feature-text p {
    font-size: var(--font-14-16);
    color: #555;
    line-height: 1.4;
    font-weight: normal;
}

.kakao-btn {
    background-color: #fdd639;
    border: none;
    width: 100%;
    padding: var(--pad-16-24);
    border-radius: var(--pad-8-12);
    font-size: var(--font-16-20);
    font-weight: 700;
    cursor: pointer;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    transition: background 0.2s;
	color: #111;
}

.kakao-btn:hover {
    background-color: #f4dc00;
}

.inquiry-right-section {
    flex: 1;
    background-color: #f8f9fa;
}
.inquiry-right-section form {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 50px;
    justify-content: space-between;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: var(--pad-10-16);
}

.form-group label.subject {
    font-size: var(--font-16-20);
    font-weight: 600;
}

.checkbox-group label.subject {
    display: flex;
    font-size: var(--font-12-14);
    font-weight: 400;
    flex-direction: column;
}

.form-group label {
    font-size: var(--font-14-16);
    font-weight: 500;
}

.checkbox-group label .font-weight {
    font-size: var(--font-16-20);
    font-weight: 600;
}

.form-group label.subject::after {
    content: " ●";
    color: var(--color-main);
    font-size: 6px;
    vertical-align: 12px;
    margin-left: 10px;
}
.checkbox-group label .font-weight::after {
    content: " ●";
    color: var(--color-main);
    font-size: 6px;
    vertical-align: 12px;
    margin-left: 10px;
}

.radio-group {
    display: flex;
    gap: 15px;
    background: #ffffff;
    padding: 12px 15px;
    border-radius: 6px;
    border: 1px solid #e9ecef;
    justify-content: space-around;
}

.radio-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #495057;
    cursor: pointer;
}

.form-row {
    display: flex;
    gap: 15px;
}

.form-row .form-group {
    flex: 1;
}

.inquiry-right-section input[type="tel"], 
.inquiry-right-section input[type="text"], 
.inquiry-right-section textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    background-color: #ffffff;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.inquiry-right-section input[type="text"]:focus, 
.inquiry-right-section textarea:focus {
    border-color: #004080;
}

.inquiry-right-section textarea {
    resize: none;
    height: 100%;
    min-height: 220px;
}

.checkbox-group {
    display: flex;
    align-items: baseline;
    gap: var(--pad-8-12);
    font-size: var(--font-12-14);
}

/* 가장 간단하게 기본 체크박스 크기만 키우는 방법 */
.checkbox-group input[type="checkbox"] {
    position: relative;
    width: 20px;
    height: 20px;
    cursor: pointer;
    top: 2px;
}
.radio-group input[type="radio"] {
    position: relative;
    width: 18px;
    height: 18px;
    cursor: pointer;
    top: 1px;
}
.submit-btn {
    background-color: var(--color-main);
    color: #fff;
    border: none;
    width: 100%;
	padding: var(--pad-16-24);
    border-radius: var(--pad-8-12);
    font-size: var(--font-16-20);
    font-weight: 700;
    cursor: pointer;
    text-align: center;
    transition: background 0.2s;
    margin-top: 10px;
}

.submit-btn:hover {
    background-color: #0077b3;
}



/* FAQ 섹션 스타일 */
.faq-section {
    background: #fafafa;
    padding: var(--pad-48-120) 15px;
    width: 100%;
    overflow: hidden;
}
.container {
    max-width: var(--max-width);
    margin: 0 auto;
}

.header-faq {
    text-align: center;
    margin-bottom: var(--pad-32-64);
    position: relative;
}

.header-faq span {
	display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.header-faq h2 {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.header-faq p {
    font-size: var(--font-15-18);
    color: #666666;
}

        /* 아코디언 컨테이너 */
.accordion-container {
    width: 100%;
    max-width: var(--max-width);
}
.accordion-item {
    width: 100%;
    height: auto;
    position: relative;
    background-color: #f4f4f4;
    border-radius: var(--pad-16-24);
    margin-bottom: var(--pad-12-20);
    overflow: hidden;
    transition: background-color 0.3s ease;
}
.accordion-item.active {
    background-color: color-mix(in srgb, var(--color-main) 10%, transparent);
}

.accordion-header .question-text {
    font-size: var(--font-17-22);
    font-weight: 600;
    color: #111;
    text-indent: -1.3em;
    padding-left: 1.3em;
}

.accordion-header {
    width: 100%;
    background: none;
    border: none;
    padding: var(--pad-20-40) var(--pad-20-40);
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    text-align: left;
}

.question-text b {
    color: #000;
    margin-right: var(--pad-4-8);
    font-weight: 700;
}

        /* SVG 화살표 아이콘 스타일 */
        .arrow-icon {
            width: 18px;
            height: 18px;
            transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
            fill: none;
            stroke: #333;
            stroke-width: 2.5;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

/* 본문 영역 스타일 */
        .accordion-body {
            position: relative;
            max-height: 0;
            overflow: hidden;
            /* 위/아래 패딩을 모두 0으로 시작 */
            padding: 0 var(--pad-35-70); 
            transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1), padding 0.4s ease;
        }

        .accordion-body p {
            font-size: var(--font-14-16);
            line-height: 2.0;
        }

        /* 활성화(Active) 상태 스타일 */
        .accordion-item.active .arrow-icon {
            transform: rotate(180deg); /* 아이콘 위로 회전 */
        }

.accordion-item.active .accordion-body {
    padding-bottom: var(--pad-20-40);
	margin-top: var(--pad-12-20--);
}

.accordion-body p {
    font-size: var(--font-15-18);
    font-weight: 400;
    color: #333;
    line-height: 2.0;
	word-break: keep-all;
}
        /* 활성화(Active) 상태 스타일 */
        .accordion-item.active .arrow-icon {
            transform: rotate(180deg); /* 아이콘 위로 회전 */
        }



/* 오시는 길 섹션 스타일 */
.direction-section {
    padding: var(--pad-48-120) 15px;
    width: 100%;
    overflow: hidden;
}
.container {
    max-width: var(--max-width);
    margin: 0 auto;
}

.header-direction {
    text-align: center;
    margin-bottom: var(--pad-32-64);
    position: relative;
}

.header-direction span {
	display: inline-block;
    font-size: var(--font-16-20);
    font-weight: 600;
    color: var(--color-main);
    letter-spacing: 1px;
    margin-bottom: var(--pad-16-24);
}

.header-direction h2 {
    font-size: var(--font-32-48);
    font-weight: 700;
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.header-direction p {
    font-size: var(--font-15-18);
    color: #666666;
}

.content-wrapper {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.content-section {
    flex: 1;
    min-width: 300px;
    border: 1px solid #e0e0e0;
    border-radius: var(--pad-16-32);
    padding: var(--pad-24-48) var(--pad-16-32);
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03);
    display: flex;
    flex-direction: column;
}

.map-section {
    flex: 1.2;
    background: #eee;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 450px;
    padding: 0 !important;
}

.map-section iframe {
    width: 100%;
    height: 100%;
    min-height: 450px;
    border: 0;
    border-radius: inherit;
}

.info-section {
    flex: 1;
    gap: var(--gap-15-30);
    justify-content: space-between;
}

.tab-menu {
    display: flex;
    background: #f1f3f5;
    border-radius: 30px;
}

.tab-menu button {
    flex: 1;
    padding: var(--pad-8-12);
    border: none;
    background: transparent;
    font-size: var(--font-16-20);
    font-weight: 600;
    cursor: pointer;
    border-radius: 30px;
    color: #666;
    transition: all 0.3s;
}

.tab-menu button.active {
    background: var(--color-main);
    color: #fff;
    box-shadow: 0 2px 6px rgba(0,119,255,0.3);
}

.address-box {
    display: flex;
    background: #f8f9fa;
    padding: var(--pad-10-16) var(--pad-16-24);
    border-radius: var(--pad-4-8);
    font-size: var(--font-16-20);
    font-weight: 600;
    line-height: 1.5;
    border: 1px solid #e9ecef;
    align-items: center;
    justify-content: space-between;
}

.address-box span {
    display: flex;
    align-items: center;
    gap: var(--pad-2-4);
}

.address-box .font-weight {
    font-size: var(--font-14-16);
    font-weight: 500;
}

.info-list {
    display: flex;
    flex-direction: column;
}

.info-item {
    display: flex;
    align-items: center;
    padding: var(--pad-20-40) 0;
    border-bottom: 1px solid #f1f3f5;
}

.info-item .font-weight {
    font-size: var(--font-18-24);
    font-weight: 800;
}

.info-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.info-label {
    display: flex;
    font-size: var(--font-15-18);
    font-weight: 600;
    align-items: center;
    padding-right: var(--pad-20-40);
    gap: var(--pad-8-12);
}

.info-label img {
    filter: brightness(0);
}

.info-value {
    font-size: var(--font-16-20);
    font-weight: 400;
    color: #222;
    line-height: 1.4;
    flex: 1;
}

.info-value .point-color {
    font-weight: 600;
    color: #03C75A;
}

.info-value .point-color2 {
    font-weight: 500;
    color: var(--color-main);
}

/* 하단 고정 메뉴 바 스타일 */
.bottom-fixed-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bottom-bar-inner {
    display: flex;
    width: 100%;
    max-width: var(--max-width);
    background-color: #1a1a1a;
    border-radius: 50px;
    overflow: hidden;
}

.bottom-item {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--pad-10-16);
    text-decoration: none;
    color: #fff;
    font-size: var(--font-16-20);
    gap: var(--pad-10-16);
    font-weight: 500;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    transition: background-color 0.2s;
}

.bottom-item:last-child {
    border-right: none;
}

.bottom-item.phone-item {
    background: linear-gradient(135deg, var(--color-main), var(--color-main));
    flex: 1.2;
    gap: var(--gap-15-30);
}

.bottom-item.phone-item img {
    width: 60px;
    height: 60px;
}

.bottom-item span {
    font-size: var(--font-15-18);
}
.bottom-item span p:nth-of-type(1) {
    letter-spacing: 0.05px;
}
.bottom-item span p:nth-of-type(2) {
    font-size: var(--font-24-36);
    font-weight: 700;
    line-height: 1.1;
}

/* 푸터 영역 스타일 */
footer {
    background-color: #edf0f3;
    padding: var(--pad-32-64) 0 var(--pad-70-175);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    width: 100%;
}

.footer-container {
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.footer-left {
    flex: 1;
}

.footer-links {
    display: flex;
    font-size: var(--font-14-16);
    margin-bottom: var(--pad-12-20);
    list-style: none;
    flex-wrap: wrap;
    align-items: center;
}

/* 마지막 요소를 제외한 각 항목 뒤에 세로선 추가 */
.footer-links li:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 11px;
    background-color: #bbb;
    margin: 0 var(--pad-8-12);
}

.footer-links a {
    text-decoration: none;
    font-weight: 500;
}
.footer-links a .point-color {
    color: var(--color-main);
    font-weight: 600;
}

.footer-info p {
    color: #555;
    font-size: var(--font-13-15);
    font-weight: 500;
    margin-bottom: var(--pad-2-4);
    line-height: 1.5;
}
.footer-info p .font-weight {
    font-weight: 600;
    color: #333;
}
.footer-info p .padding-left {
    padding-left: var(--pad-10-16);
}

.footer-info .copyright {
    font-weight: 400;
    font-size: var(--font-12-14);
    margin-top: var(--pad-12-20);
}

.footer-right {
    text-align: right;
}

.footer-right .footer-title {
    font-size: var(--font-18-24);
    font-weight: 500;
    margin-bottom: var(--pad-10-16);
}

.footer-right .footer-phone,
.footer-right .footer-phone a {
    font-size: var(--font-32-48);
    font-weight: bold;
    color: var(--color-main);
    margin-bottom: var(--pad-16-24);
    letter-spacing: -1px;
}

.footer-icons {
    display: flex;
    justify-content: flex-end;
    gap: var(--pad-8-12);
}

.footer-icons a {
    width: var(--pad-24-48);
    height: var(--pad-24-48);
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

/* 반응형 디자인 */
@media screen and (max-width: 1200px) {
    .header-container {
        padding: 15px 20px;
    }

    nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        height: 100vh;
        background-color: rgba(0,0,0,0.8);
        box-shadow: -5px 0 20px rgba(0,0,0,0.5);
        transition: right 0.3s ease-in-out;
        padding: 70px 20px 30px 20px;
        overflow-y: auto;
        z-index: 1001;
    }
	/* ::before 가상 요소로 상단 100px 영역 생성 */
	nav::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 65px;
		background-color: rgba(24, 166, 211, 0.95); /* 상단 100px 영역의 다른 배경색 */
		z-index: 1; /* 메뉴 내용보다 뒤로 가거나 텍스트와 겹치지 않게 설정 */
	}

    nav.active {
        right: 0;
    }

    .nav-menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .nav-menu > li {
        width: 100%;
    }

    .nav-menu > li > a {
        font-size: 15px;
        padding: 6px 0;
        justify-content: space-between;
        width: 100%;
    }

    .sub-menu {
        position: static;
        transform: none;
        background-color: rgba(255,255,255,0.15);
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        display: none;
        margin-top: 5px;
        border-radius: 4px;
    }

    .nav-menu > li.active-mobile .sub-menu {
        display: block;
    }

    .menu-toggle {
        display: flex;
    }

    .header-right .phone,
    .header-right .consult-dropdown {
        display: none;
    }

    .hero {
        padding-left: 15px;
        padding-right: 15px;
        text-align: center;
        justify-content: center;
    }

    .hero-content h1 {
        font-size: 28px;
    }

    .hero-content > p:first-child {
        font-size: 16px;
    }

    .hero-desc {
        font-size: 14px;
    }

    .about-container {
        flex-direction: column;
        padding: 0 20px;
        gap: 40px;
    }

    .about-text h2 {
        font-size: 28px;
    }

    .about-images {
        width: 100%;
        height: 320px;
    }

    .expert-slider {
        flex-direction: column;
        padding: 0 15px;
    }

    .expert-card {
        height: 120px;
    }

    .expert-card.active {
        height: 250px;
    }

    .proof-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .proof-header h2 {
        font-size: 28px;
    }

    .why-container {
        padding: 0 15px;
    }

    .why-slider-wrap {
        width: 100%;
        left: 0;
        right: 0;
        margin-left: 0;
        margin-right: 0;
        overflow: hidden;
    }

    .why-card {
        width: 100%;
        min-width: 100%;
        flex-direction: column;
    }

    .why-card-img {
        width: 100%;
        height: 240px;
    }

    .why-card-content {
        padding: 30px 20px;
    }

    .why-card-content h3 {
        font-size: 22px;
    }

    .case-card {
        width: 100%;
        min-width: 100%;
    }

    .cases-more {
        position: static;
        display: block;
        text-align: right;
        margin-top: 15px;
    }

    .ak-system-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .offset-right {
        margin-top: 0;
    }

    .progress-bar,
    .progress-dot {
        display: none;
    }

    .ak-system-title {
        font-size: 28px;
    }

    .inquiry-container {
        flex-direction: column;
    }

    .bottom-bar-inner {
        border-radius: 8px;
    }

    .bottom-item {
        flex: 100% !important;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding: 9px;
        font-size: 12px;
    }

    .bottom-item:last-child {
        border-bottom: none;
    }

    .footer-container {
        flex-direction: column;
        padding: 0 15px;
    }

    .footer-right {
        text-align: left;
        width: 100%;
    }

    .footer-icons {
        justify-content: flex-start;
    }
}



/* 반응형 디자인 */
@media screen and (max-width: 768px) {
    .hero-content h1, {
        font-size: 28px;
    }
    .similar-header h2,
	.cases-header h2,
	.proof-header h2,
	.expert-header h2,
	.why-header h2,
	.profile-header h2,
	.process-header h2,
	.work-header h2,
	.inquiry-main-title,
	.header-direction h2 {
        font-size: 24px;
    }
	.similar-subtitle,
	.cases-subtitle,
	.proof-subtitle,
	.expert-subtitle,
	.why-subtitle,
	.profile-subtitle,
	.process-subtitle,
	.work-subtitle,
	.inquiry-header-top,
	.header-direction span {
		font-size: 15px;
	}
	.similar-header p,
	.cases-header p,
	.proof-header p,
	.expert-header p,
	.why-header p,
	.profile-header p,
	.process-header p,
	.work-header p,
	.inquiry-sub-title,
	.header-direction p {
		font-size: 14px;
	}
    .bottom-item:nth-child(1),
	.bottom-item:nth-child(2) {
        display: none;
    }
    .bottom-item:nth-child(3) {
        background-color: rgba(24, 166, 211, 1.0);
    }
    .bottom-item:nth-child(3) img {
        width: 22px;
        height: 22px;
    }
    .bottom-item:nth-child(4) img {
        width: 25px;
        height: 25px;
    }
    .bottom-item svg {
        width: 20px;
        height: 20px;
    }
	.address-box svg {
        display: none;
	}
	.address-box span {
		align-items: flex-start;
		flex-direction: column;
	}
	.info-item:nth-child(3),
	.info-item:nth-child(4) {
		align-items: flex-start;
		flex-direction: column;
	}
	.info-item:nth-child(3),
	.info-item:nth-child(4) {
		align-items: flex-start;
		flex-direction: column;
	}
	.info-item:nth-child(3) .info-value,
	.info-item:nth-child(4) .info-value {
		padding-left: 25px;
	}
	.proof-container {
		padding: 0 15px;
	}
	.proof-card {
		height: 220px;
	}
	.expert-slider {
		padding: 0 0;
	}
	.expert-card.active .expert-content img {
		width: 80px;
	}
	/* 활성화(active)된 카드 우측 상단의 플러스 원형 테두리 */
	.expert-card.active::after {
		top: var(--pad-20-40);
		right: var(--pad-20-40);
		width: 40px;
		height: 40px;
		font-size: 24px;
		border: 1.5px solid rgba(255, 255, 255, 0.6);
		padding-bottom: var(--pad-4-8);
	}
	.expert-card::before {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.65) 100%);
		transition: background 0.4s ease;
	}
	.works-container {
		flex-direction: column;
	}
	.profile-card {
        flex: 0 0 calc((100% - 30px) / 2);
    }
	.inquiry-section {
		padding: 48px 15px;
	}
	.why-card-content {
		width: 100%;
	}
	.profile-slider {
		gap: 15px;
	}
	.process-row {
		flex-direction: column;
	}
	.process-box {
		width: 100%;
	}
	.inquiry-left-section, .inquiry-right-section form {
		padding: 30px 15px;
	}
	.process-card.inactive {
		background-color: rgba(24, 166, 211, 0.95);
	}
	.card-icon-area {
		opacity: 1.0 !important;
	}
	.cases-more,
	.profile-more,
	.work-more,
	.news-more {
		position: static;
        display: flex;
        text-align: right;
        margin-top: 15px;
        justify-content: flex-end;
	}
	.profile-slider-wrap {
		padding-top: 10px;
	}
	.work-header,
	.cases-header {
		margin-bottom: 10px;
	}
	.header-container .logo.scroll.mobile-only {
		display: block;
        position: relative;
        top: -52px;   
		z-index: 9;
	}
	.lawyer-item span {
		font-size: 12px;
	}
	.cases-slider {
		gap: 30.33px;
	}
	
	.similar-container {
		padding: 0 15px;
	}
	.news-header {
		margin-bottom: 10px;
	}
	.accordion-body p {
		padding: 0 6px;
	}
}
