﻿@charset 'utf-8';

/* =============================================
   1600
============================================= */
@media (max-width: 1600px) {
	:root {
		--section-pair-main-fs-max: 42px;
		--section-pair-main-lh-max: 63px;
	}

	/* Header */
	.gnb { margin-left: 80px; }
	.gnb__link { padding: 0 22px; }

	/* Intro */
	.intro-overlay__text-top,
	.intro-overlay__text-bottom { font-size: 60px; letter-spacing: -1.20px; }

	/* Section 05 */
	.con05 { padding: 0 80px; }

	/* Section 07 */
	.con07__panel { width: 93.75%; }
	.con07__list { width: 91.67%; }

	/* Sub page — Sub visual (#sv) · 본문 */
	.sv__inner { padding: 72px 0; gap: 36px; }
	.sv__title { font-size: 56px; letter-spacing: -1.12px; }
	.sv__crumb-text { font-size: 14px; letter-spacing: -0.28px; }
	.sv__sel { width: 260px; }
	.sv__sel-btn { height: 62px; padding: 0 36px; }
	.sv__sel-text { font-size: 17px; line-height: 22.1px; letter-spacing: -0.34px; }
	.sv__sel-list { padding: 0 36px 18px; gap: 13px; }
	.sv__sel-list li a { font-size: 17px; line-height: 22.1px; letter-spacing: -0.34px; }

	#subContents { padding: 72px 0; }

	.greeting-con {
		gap: 72px;
		padding-bottom: 108px;
	}
	.greeting__txt { gap: 52px; }
	.greeting__h2 { gap: 48px; }
	.greeting__heading {
		font-size: 44px;
		line-height: 1.35;
		letter-spacing: -0.88px;
	}
	.greeting__p { gap: 36px; }
	.greeting__p p {
		font-size: 19px;
		line-height: 32px;
		letter-spacing: -0.38px;
	}
	.greeting__sign { font-size: 21px; letter-spacing: -0.42px; line-height: 1.35; }
	.location__top { gap: 100px; }
	/* 서브비주얼 참고: sv__title 56px · sv__inner gap 36px */
	.location__title {
		font-size: 42px;
		line-height: 1.3;
		letter-spacing: -0.84px;
	}
	.location__desc {
		font-size: 19px;
		line-height: 1.65;
		letter-spacing: -0.38px;
	}
	.location__heading { gap: 28px; }
	.location__info { gap: 36px; }
	.location__transport {
		padding-top: 72px;
		gap: 36px;
	}
	.location__transport-title {
		font-size: 28px;
		line-height: 1.3;
		letter-spacing: -0.56px;
	}
	.location__map-wrap {
		width: 560px;
	}
	.location__map-wrap .location__map {
		width: 560px;
		height: 560px;
	}
	#subContents:has(.location) {
		padding: 72px 0 160px;
	}
	.location__transport-body { gap: 50px; }

	/* Practice */
	.practice__tab-btn { padding: 20px 10px; font-size: 18px; letter-spacing: -0.36px; }
	.practice__body { gap: 60px; padding-top: 60px; }
	.practice__img { height: 320px; }
	.practice__title { font-size: 36px; letter-spacing: -0.72px; }
	.practice__desc p { font-size: 18px; letter-spacing: -0.36px; line-height: 30px; }
	.practice__desc p:last-child { padding-bottom: 60px; }
	.practice__case { padding: 60px 0; gap: 24px; }
	.practice__case-title { font-size: 22px; letter-spacing: -0.44px; }
	.practice__case-item { padding: 30px; gap: 16px; }
	.practice__keyword { font-size: 13px; letter-spacing: -0.26px; padding: 4px 12px; }
	.practice__case-heading { font-size: 20px; letter-spacing: -0.40px; line-height: 1.4; }
	.practice__case-desc { font-size: 15px; letter-spacing: -0.30px; }
	.practice__cta { padding-top: 60px; }
	.practice__cta-btn { width: 260px; height: 75px; font-size: 16px; letter-spacing: -0.32px; }
}

/* =============================================
   1640 — Lawyer 화살표 패널 안쪽 진입
============================================= */
@media (max-width: 1640px) {
	.lawyer__panel.is-on .lawyer__prev { left: 0; }
	.lawyer__panel.is-on .lawyer__next { right: 0; }
}

/* =============================================
   1280
============================================= */
@media (max-width: 1280px) {
	:root {
		--section-pair-main-fs-max: 36px;
		--section-pair-main-lh-max: 54px;
	}
	/* Header */
	.gnb { margin-left: 40px; }
	.gnb__link { padding: 0 16px; font-size: 16px; letter-spacing: -0.32px; }
	.header__search { width: 180px; }

	/* Footer */
	.footer__inner { padding: 0 40px; }
	.footer__info-row { flex-wrap: wrap; gap: 10px 20px; }
	.footer__info-label,
	.footer__info-value,
	.footer__nav-link,
	.footer__copy,
	.footer__blog-text { font-size: 15px; letter-spacing: -0.30px; }

	/* Intro */
	.intro-overlay__text-top,
	.intro-overlay__text-bottom { font-size: 52px; letter-spacing: -1.04px; }
	.intro-overlay__sub { font-size: 20px; letter-spacing: -0.40px; }

	/* Section 05 */
	.con05 { padding: 0 60px; }
	.con05__heading { letter-spacing: -0.72px; }
	.con05__card-title { font-size: 18px; letter-spacing: -0.36px; line-height: 28px; }
	.con05__card-date { font-size: 14px; letter-spacing: -0.28px; }

	/* Section 07 */
	.con07__heading { letter-spacing: -0.72px; }

	/* Sub page */
	.sv__inner {
		width: 93.75%;
		max-width: 1400px;
		padding: 64px 0;
		gap: 32px;
	}
	.sv__title { font-size: 48px; letter-spacing: -0.96px; }
	.sv__crumb-text { font-size: 14px; letter-spacing: -0.28px; }
	.sv__sel { width: 248px; }
	.sv__sel-btn { height: 60px; padding: 0 34px; }
	.sv__sel-text { font-size: 17px; letter-spacing: -0.34px; }
	.sv__sel-list { padding: 0 34px 18px; gap: 12px; }
	.sv__sel-list li a { font-size: 17px; letter-spacing: -0.34px; }

	#subContents { padding: 64px 0; }

	.greeting-con {
		gap: 64px;
		width: 93.75%;
		max-width: 1400px;
		margin: 0 auto;
		padding-bottom: 96px;
		box-sizing: border-box;
	}
	.greeting__txt { gap: 48px; }
	.greeting__h2 { gap: 44px; }
	.greeting__heading {
		font-size: 40px;
		line-height: 1.35;
		letter-spacing: -0.8px;
	}
	.greeting__p { gap: 34px; }
	.greeting__p p {
		font-size: 18px;
		line-height: 30px;
		letter-spacing: -0.36px;
	}
	.greeting__sign { font-size: 20px; letter-spacing: -0.40px; }
	#subContents .inner {
		width: 93.75%;
		max-width: 1400px;
		margin: 0 auto;
		box-sizing: border-box;
	}
	.location__top { gap: 80px; }
	.location__title {
		font-size: 36px;
		line-height: 1.3;
		letter-spacing: -0.72px;
	}
	.location__desc {
		font-size: 18px;
		line-height: 1.65;
		letter-spacing: -0.36px;
	}
	.location__heading { gap: 26px; }
	.location__info { gap: 32px; }
	.location__transport {
		padding-top: 64px;
		gap: 32px;
	}
	.location__transport-title {
		font-size: 26px;
		line-height: 1.3;
		letter-spacing: -0.52px;
	}
	.location__map-wrap {
		width: 520px;
	}
	.location__map-wrap .location__map {
		width: 520px;
		height: 520px;
	}
	#subContents:has(.location) {
		padding: 64px 0 140px;
	}

	/* Review */
	.review__list { grid-template-columns: repeat(3, 1fr); }
	.review-con { padding: 0px 0 100px; gap: 48px; }
	.review__title { font-size: 18px; letter-spacing: -0.36px; line-height: 28px; }

	/* Column */
	.column-con { padding: 0px 0 100px; gap: 48px; }
	.column__list { grid-template-columns: repeat(3, 1fr); }
	.srch { width: 100%; }
	.srch__select { width: 260px; }
	.srch__sel-native { height: 72px; font-size: 16px; letter-spacing: -0.32px; padding: 0 40px 0 32px; }
	.srch__input-wrap { height: 72px; padding: 0 32px 0 16px; }
	.srch__input { font-size: 16px; letter-spacing: -0.32px; }
	.column__card { gap: 20px; }
	.column__title { font-size: 18px; letter-spacing: -0.36px; line-height: 28px; }

	/* Press */
	.press-con { padding: 50px 0 100px; gap: 48px; }
	.press__img { width: 260px; }
	.press__card { gap: 40px; padding: 48px 0; }
	.press__title { font-size: 20px; letter-spacing: -0.40px; }
	.press__desc { font-size: 16px; letter-spacing: -0.32px; }

	/* FAQ */
	.faq__card { padding: 48px; }
	.faq__question { font-size: 22px; letter-spacing: -0.44px; }

	/* 변호사 선임 기준 */
	.ls__head-title { font-size: 38px; letter-spacing: -0.76px; }
	.ls__check-heading { font-size: 26px; letter-spacing: -0.52px; }
	.ls__check-item { padding: 48px; }
	.ls__good { gap: 60px; }
	.ls__good-title { font-size: 28px; letter-spacing: -0.56px; }

	/* Process */
	.process__intro-title { font-size: 30px; letter-spacing: -0.60px; line-height: 46px; }
	.process__tab-btn.is-on { font-size: 34px; letter-spacing: -0.68px; line-height: 44px; }
	.process__tab-btn { font-size: 18px; letter-spacing: -0.36px; }
	.process__intro-img { width: 480px; }

	/* ===== Lawyer (변호사소개) ===== */
	.lawyer__tab-btn {
		padding: 20px 8px;
		font-size: 17px;
		letter-spacing: -0.34px;
	}

	.lawyer__panel.is-on {
		gap: 80px;
		padding-top: 64px;
	}

	.lawyer__sticky {
		width: 400px;
	}

	.lawyer__img-wrap {
		width: 400px;
		height: 538px;
	}

	.lawyer__panel.is-on .lawyer__nav-btn {
		top: 64px;
		height: 538px;
	}

	.lawyer__panel.is-on .lawyer__prev,
	.lawyer__panel.is-on .lawyer__next {
		width: 80px;
		height: 80px;
	}

	.lawyer__panel.is-on .lawyer__prev { left: 0; }
	.lawyer__panel.is-on .lawyer__next { right: 0; }

	.lawyer__name-row {
		gap: 22px;
		padding: 32px 0;
	}

	.lawyer__name { font-size: 30px; letter-spacing: -0.60px; }

	.lawyer__section {
		padding: 48px 16px;
		gap: 32px;
	}

	.lawyer__section-title h3 { font-size: 24px; letter-spacing: -0.48px; }

	.lawyer__list li { font-size: 16px; letter-spacing: -0.32px; }

	.lawyer__year {
		width: 120px;
		font-size: 16px;
		letter-spacing: -0.32px;
	}

	/* Practice */
	.practice__tab-btn { padding: 18px 8px; font-size: 16px; letter-spacing: -0.32px; }
	.practice__body { gap: 48px; padding-top: 48px; }
	.practice__img { height: 280px; }
	.practice__title { font-size: 32px; letter-spacing: -0.64px; }
	.practice__desc p { font-size: 16px; letter-spacing: -0.32px; line-height: 28px; }
	.practice__desc p:last-child { padding-bottom: 48px; }
	.practice__case { padding: 48px 0; gap: 20px; }
	.practice__case-title { font-size: 20px; letter-spacing: -0.40px; }
	.practice__case-item { padding: 28px; gap: 14px; }
	.practice__keyword { font-size: 12px; letter-spacing: -0.24px; padding: 3px 10px; }
	.practice__case-heading { font-size: 18px; letter-spacing: -0.36px; line-height: 1.35; }
	.practice__case-desc { font-size: 14px; letter-spacing: -0.28px; }
	.practice__cta { padding-top: 48px; }
	.practice__cta-btn { width: 240px; height: 70px; font-size: 15px; letter-spacing: -0.30px; }

	/* Youtube */
	.youtube-con { width: 91.67%; }
}

/* =============================================
   1024 — 모바일 메뉴 + fullPage 비활성화(JS와 동일: 너비 ≤1024)
============================================= */
@media (max-width: 1024px) {
	:root {
		--header-banner-height: 0px;
		--header-main-height: 70px;
		--section-pair-main-color: var(--color-primary);
		--section-pair-sub-color: var(--color-text-dark);
		--section-pair-main-fs-max: clamp(16px, 4.9vw, 36px);
		--section-pair-main-lh-max: clamp(23px, 7.1vw, 52px);
		--section-pair-sub-fs-max: clamp(13px, 3.3vw, 18px);
		--section-pair-sub-lh-max: clamp(20px, 5.3vw, 30px);
	}
	body.is-main { --header-banner-height: 0px; }
	body.is-main.has-banner { --header-banner-height: 50px; }

	/* Utility */
	.br-mo { display: none; }

	.page-nav { display: none; }

	#fullpage,
	#fullpage .section,
	.section-content { height: auto; animation: none; }

	#fullpage .section { min-height: auto; display: block; }

	.section-content { padding: 40px 15px; }

	.intro-animation { animation: none; }

	.con02 { align-items: flex-start; }

	#wrap { padding-top: calc(var(--header-banner-height) + var(--header-main-height)); }

	/* Banner */
	.header__banner { height: 50px; }
	.header__slide { height: 50px !important; }
	.header__banner-btn { top: 25px; }
	.header__banner-btn--prev { left: 20px; }
	.header__banner-btn--next { right: 20px; }
	.header__banner-text { font-size: 14px; letter-spacing: -0.28px; }

	/* Main header */
	.header__main { top: var(--header-banner-height); height: 70px; }
	.header__main--up { top: 0; }
	.header__inner { padding: 0 24px; }
	.header__logo img { width: 170px; height: auto; }

	/* GNB·검색 숨기고 햄버거 표시 */
	.gnb { display: none; }
	.header__search { display: none; }
	.header__call { display: none; }
	.mo-menu-btn { display: flex; }

	/* Intro */
	.intro-overlay__text-top,
	.intro-overlay__text-bottom { font-size: 40px; letter-spacing: -0.80px; }
	.intro-overlay__sub { font-size: 18px; letter-spacing: -0.36px; }

	/* Section 01 */
	.con01 { padding-top: 40px; padding-bottom: 40px; }
	.con01__title { padding: 0 60px; gap: 14px; }
	.con01__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); text-align: center; }
	.con01__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); text-align: center; }
	.con01__swiper { margin-top: 36px; }

	/* Section 02 */
	#fullpage .con02 { min-height: auto; }
	.con02__content { flex-direction: column; align-items: stretch; padding: var(--header-main-height, 90px) 110px 60px 40px; gap: 0px; overflow-y: visible; }
	.con02__heading { flex: none; width: 100%; padding-top: 0; padding-bottom: 28px; gap: 12px; }
	.con02__heading-title { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); }
	.con02__heading-sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); }
	.con02__items { width: 100%; }
	.con02__item { padding: 28px 0; }
	.con02__item-bg { font-size: 60px; letter-spacing: -1.20px; }
	.con02__stat-number { font-size: 28px; letter-spacing: -0.56px; line-height: 36.4px; }
	.con02__slot-digit { height: 36.4px; }
	.con02__slot-strip span { height: 36.4px; line-height: 36.4px; }
	.con02__slot-sep { height: 36.4px; line-height: 36.4px; }
	.con02__stat-label { font-size: 15px; letter-spacing: -0.30px; }
	.con02__item-title { font-size: 16px; letter-spacing: -0.32px; }

	/* Section 03: 모바일 카드 슬라이더 레이아웃 */
	#fullpage .con03,
	.con03 { overflow-y: visible; min-height: auto; }
	.con03__inner {
		display: flex;
		position: relative;
	}
	/* 타이틀 row: 제목(좌) + View More(우) — display:flex는 main.css가 1025+에만 두어서 여기서 명시 */
	.con03__title {
		display: flex;
		position: relative;
		left: auto; top: auto;
		width: 100%;
		flex-direction: row;
		justify-content: flex-start;
		align-items: flex-start;
		padding: 80px 40px 24px;
		gap: 20px;
		width: 50%;
		flex-direction: column;
	}
	.con03__title-texts {
		display: flex;
		flex-direction: column;
		flex: 0;
		min-width: 0;
		gap: 16px;
	}
	/* font-size/line-height에 !important 금지: 1024 미디어는 768·480에서도 참이라 하위 구간 덮어쓰기 깨짐 */
	.con03__title-main {
		font-size: var(--section-pair-main-fs-max);
		line-height: var(--section-pair-main-lh-max);
		font-weight: 700;
		color: var(--section-pair-main-color, var(--color-primary)) !important;
	}
	.con03__title-sub {
		font-size: var(--section-pair-sub-fs-max);
		line-height: var(--section-pair-sub-lh-max);
		color: var(--section-pair-sub-color, var(--color-text-dark)) !important;
	}
	/* View More — 타이틀 오른쪽 */
	.con03__mobile-view-more {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px;
		flex-shrink: 0;
		color: var(--color-primary) !important;
		font-size: 16px;
		letter-spacing: -0.32px;
		font-family: Figtree;
		font-weight: 600;
		white-space: nowrap;
		padding-top: 8px;
	}
	.con03__mobile-view-more::after {
		content: '';
		width: 60px;
		height: 1px;
		background: var(--color-primary) !important;
	}
	/* 독립 info 숨김 — 카드 안에 cloneNode로 들어감 */
	.con03__info { display: none; }
	.con03__slide {
		position: relative;
		left: auto; top: auto;
		width: 100%;
		flex-direction: column;
		padding: 0;
		gap: 0;
		width: 50%;
	}
	/* PC 전용 요소 숨김 */
	.con03__thumbs { display: none; }
	.con03__main-img { display: none; }
	.con03__view-more { display: none; }
	/* 모바일 swiper 표시 */
	.con03__mobile-swiper { display: block; width: 100%; overflow: hidden; position: relative;}
	/* 카드: 580×790 비율 — 이미지 전면 + 하단 그라데이션 + 하단 텍스트(디자인 시안 유지) */
	.con03__card-slide { overflow: hidden; }
	.con03__card-img {
		position: relative;
		display: block;
		width: 100%;
		aspect-ratio: 580 / 790;
		overflow: hidden;
		box-sizing: border-box;
	}
	.con03__card-img > img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center top;
		display: block;
	}
	.con03__card-img::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 52%;
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 55%, rgba(0, 0, 0, 0.82) 100%);
		pointer-events: none;
		z-index: 1;
	}
	.con03__card-slide .con03__info {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		top: auto;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: stretch;
		width: 100%;
		box-sizing: border-box;
		padding: clamp(18px, 4.8vw, 28px) clamp(18px, 5.5vw, 40px) clamp(22px, 5.5vw, 32px);
		background: none;
		z-index: 2;
		gap: clamp(14px, 3.6vw, 22px);
	}
	.con03__card-slide .con03__name {
		border-bottom: 1px solid rgba(255, 255, 255, 0.85);
		border-bottom-color: rgba(255, 255, 255, 0.85);
		padding-bottom: clamp(14px, 3.6vw, 22px);
		gap: clamp(12px, 3vw, 20px);
	}
	.con03__card-slide .con03__name-text {
		color: var(--color-white);
		font-size: clamp(22px, 5vw, 28px);
		font-weight: 700;
		line-height: 1.35;
	}
	.con03__card-slide .con03__name svg {
		flex-shrink: 0;
		width: clamp(36px, 9vw, 44px);
		height: clamp(32px, 8vw, 40px);
	}
	.con03__card-slide .con03__name svg path {
		fill: var(--color-white);
	}
	.con03__card-slide .con03__list {
		gap: clamp(10px, 2.8vw, 15px);
	}
	.con03__card-slide .con03__list-item {
		color: var(--color-white);
		font-size: clamp(14px, 3.5vw, 17px);
		line-height: 1.55;
	}
	.con03__card-slide .con03__list-item::before {
		background: var(--color-white);
		margin-top: clamp(6px, 1.6vw, 10px);
	}
	/* 화살표 버튼 표시 */
	.con03__slide-btn {
		display: flex;
		flex-shrink: 0;
		width: 30px;
		height: 90px;
		background: var(--color-gray-dark);
		border: none;
		cursor: pointer;
		align-items: center;
		justify-content: center;
		padding: 0;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 99;
	}
	.con03__slide-btn--prev {
		left: 0;
	}
	.con03__slide-btn--next {
		right: 0;
	}

	/* Section 04 */
	#fullpage .con04 { min-height: auto; }
	/* con05/con06와 동일한 좌우 리듬 — 1024 이하에서 그리드가 화면 끝에 붙지 않도록 */
	.con04__inner { padding: 80px 40px 50px; gap: 24px; }
	.con04__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); letter-spacing: -0.72px; }
	.con04__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); letter-spacing: -0.36px; }
	.con04__grid { overflow: visible; flex-direction: row; flex-wrap: wrap; }
	.con04__grid .swiper-wrapper { flex-wrap: wrap; height: auto; width: 100% !important; transform: none !important; transition: none !important; }
	.con04__row { display: contents; }
	.con04__card { flex: 0 0 50%; height: 200px; }
	.con04__pagination { display: none; }

	/* Section 04 — 태블릿 이하 호버 불가: 카드 배경 상시 노출 + 딤으로 라벨 가독성 */
	.con04__card-bg {
		transform: scaleY(1) translateZ(0);
		transition: none;
	}
	.con04__card::before {
		background: rgba(0, 0, 0, 0.45);
	}
	.con04__card-content {
		transform: translateZ(0) scale(1);
		transition: none;
		font-size: clamp(17px, 2.15vw, 22px);
	}
	.con04__card-label {
		font-size: 1em;
		line-height: 1.35;
	}
	.con04__card-content svg {
		width: 0.58em;
		height: 0.58em;
		flex-shrink: 0;
		display: block;
	}
	.con04__card:hover .con04__card-bg {
		transform: scaleY(1) translateZ(0);
	}
	.con04__card:hover .con04__card-content {
		transform: translateZ(0) scale(1);
	}

	/* Section 05 */
	.con05 { padding: 60px 40px; }
	.con05__top { flex-direction: column; align-items: flex-start; gap: 20px; margin-bottom: 0;}
	.con05__title { gap: 12px; }
	.con05__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); }
	.con05__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); }
	.con05__more { flex-shrink: 0; padding-top: 8px; }
	.con05__slider { margin-top: 32px; margin-right: 0; }
	.con05__card-title { font-size: 16px; letter-spacing: -0.32px; line-height: 26px; }
	.con05__card-date { font-size: 13px; letter-spacing: -0.26px; }
	.con05__nav { left: 12px; right: 12px; top: 90px; z-index: 2; }
	.con05__nav-btn { width: 44px; height: 48px; }

	/* Section 06 */
	.con06__inner { padding: 60px 40px 60px; gap: 40px; }
	.con06__top { flex-direction: column; gap: 40px; }
	.con06__video { width: 100%; height: auto; aspect-ratio: 16/9; flex-shrink: 0; }
	.con06__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); letter-spacing: -0.72px; }
	.con06__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); letter-spacing: -0.36px; }
	.con06__desc { font-size: 16px; letter-spacing: -0.32px; }
	.con06__bottom { margin-right: 0; }
	.con06__nav { left: 12px; right: 12px; top: 90px; z-index: 2; }
	.con06__nav-btn { width: 44px; height: 48px; }
	.con06__card-video { aspect-ratio: 16 / 9; }
	.con06__card-title { font-size: 16px; letter-spacing: -0.32px; line-height: 24px; }
	.con06__card-date { font-size: 14px; letter-spacing: -0.28px; }

	/* Section 07 */
	.con07__panel { width: 91.67%; gap: 40px; padding: 40px; }
	.con07__list { width: 100%; }
	.con07__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); }
	.con07__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); }

	/* Sub page — 레이아웃 단순화(1열 스택) */
	.sv__inner {
		width: 93.75%;
		max-width: 1400px;
		margin: 0 auto;
		padding: 48px 0;
		gap: 28px;
	}
	.sv__crumb-list { flex-wrap: wrap; gap: 8px 10px; }
	.sv__body {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}
	.sv__title {
		font-size: 34px;
		letter-spacing: -0.68px;
		width: 100%;
	}
	.sv__sel-wrap {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.sv__sel {
		width: 100%;
		max-width: none;
	}
	.sv__sel-list li a { white-space: normal; }

	#subContents { padding: 48px 0; }
	#subContents .inner {
		width: 93.75%;
		max-width: 1400px;
		margin: 0 auto;
		box-sizing: border-box;
	}

	.greeting-con {
		gap: 48px;
		padding: 0 0 80px;
		width: 93.75%;
		max-width: 1400px;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
	}
	.greeting__h2 { gap: 36px; }
	.greeting__txt { gap: 40px; }
	.greeting__heading {
		font-size: 38px;
		line-height: 1.35;
		letter-spacing: -0.76px;
		word-break: keep-all;
		overflow-wrap: break-word;
	}
	.greeting__bar { width: 80px; }
	.greeting__p p { word-break: keep-all; overflow-wrap: break-word; }

	.location__top {
		flex-direction: column;
		gap: 40px;
		padding-bottom: 48px;
	}
	.location__map-wrap .location__map {
		width: 100%;
		max-width: none;
		max-height: none;
		aspect-ratio: auto;
		height: 540px;
		flex-shrink: 0;
	}
	/* 서브비주얼 참고: sv__inner padding 48px 0 · gap 28px · sv__title 34px */
	.location__title {
		font-size: 34px;
		line-height: 1.3;
		letter-spacing: -0.68px;
	}
	.location__desc {
		font-size: 17px;
		line-height: 1.65;
		letter-spacing: -0.34px;
	}
	.location__contact-label { width: 160px; flex-shrink: 0; gap: 12px; }
	.location__contact-name,
	.location__contact-value { font-size: 18px; letter-spacing: -0.36px; }
	#subContents:has(.location) {
		padding: 48px 0 80px;
	}
	.location__heading { gap: 28px; }
	.location__title,
	.location__desc {
		word-break: keep-all;
		overflow-wrap: break-word;
	}
	.location__info { gap: 28px; }
	.location__contact-list { gap: 20px; }
	.location__transport {
		padding-top: 56px;
		gap: 28px;
	}
	.location__transport-title {
		font-size: 24px;
		line-height: 1.3;
		letter-spacing: -0.48px;
	}
	.location__transport-body { gap: 44px; }
	.location__subway {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
	.location__map-wrap {
		width: 100%;
		max-width: none;
		align-self: center;
	}
	.location__map {
		width: 100%;
		height: 540px;
	}
	.location__map iframe {
		max-width: 100% !important;
		width: 100% !important;
		height: 100% !important;
	}

	/* Quick Menu — 하단 탭바 (1024 이하, JS fullPage 브레이크포인트와 동일) */
	.quickmenu {
		top: auto;
		bottom: 0;
		right: 0;
		left: 0;
		width: 100%;
		transform: none;
		z-index: 100;
	}
	.quickmenu__list {
		flex-direction: row;
		border-radius: 0;
		box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.10);
		background:#fff;
	}
	.quickmenu__item {
		flex: 1;
		border-bottom: none;
		border-right: 1px solid #ddd;
	}
	.quickmenu__item:last-child {
		border-right: none;
	}
	.quickmenu__link {
		height: 64px;
		padding: 8px 4px;
		gap: 4px;
	}
	.quickmenu__icon {
		width: 24px;
		height: 24px;
	}
	.quickmenu__text {
		font-size: 11px;
		letter-spacing: -0.22px;
	}
	.quickmenu__num {
		display: none;
	}

	/* Footer */
	.footer { padding: 60px 0 calc(40px + 64px); }
	.footer__inner { padding: 0 24px; }
	.footer__top { flex-direction: column; align-items: flex-start; gap: 24px; padding-bottom: 40px; }
	.footer__bottom { margin-top: 40px; }
	.footer__info-row { flex-wrap: wrap; gap: 10px 16px; }
	.footer__logo img { width: 180px; height: auto; }
	.footer__info-label,
	.footer__info-value,
	.footer__nav-link,
	.footer__copy,
	.footer__blog-text { font-size: 14px; letter-spacing: -0.28px; }

	/* Review */
	.review__list { grid-template-columns: repeat(2, 1fr); }
	.review-con { padding: 0px 0 80px; gap: 40px; width: 91.67%; }
	.review__title { font-size: 16px; letter-spacing: -0.32px; line-height: 24px; }
	.review__date { font-size: 14px; letter-spacing: -0.28px; }

	/* Column */
	.column-con { padding: 0px 0 80px; gap: 40px; width: 91.67%; }
	.column__list { grid-template-columns: repeat(2, 1fr); gap: 40px 16px; }
	.srch__select { width: 220px; }
	.srch__sel-native { height: 64px; font-size: 15px; letter-spacing: -0.30px; padding: 0 40px 0 24px; }
	.srch__input-wrap { height: 64px; padding: 0 20px 0 16px; }
	.srch__input { font-size: 15px; letter-spacing: -0.30px; }
	.column__tab-list { gap: 10px 16px; }
	.column__tab-btn { font-size: 16px; letter-spacing: -0.32px; }
	.column__card { gap: 16px; }
	.column__title { font-size: 17px; letter-spacing: -0.34px; line-height: 26px; }
	.column__img--placeholder img { width: 140px; }

	/* Press */
	.press-con { padding: 40px 0 80px; gap: 40px; width: 91.67%; }
	.press__img { width: 220px; }
	.press__card { gap: 30px; padding: 40px 0; }
	.press__title { font-size: 18px; letter-spacing: -0.36px; }
	.press__desc { font-size: 15px; letter-spacing: -0.30px; }
	.press__img--placeholder img { width: 140px; }

	/* FAQ */
	.srch { max-width: 100%; }
	.faq__card { padding: 40px; gap: 24px; }
	.faq__question { font-size: 20px; letter-spacing: -0.40px; line-height: 1.4; }
	.faq__desc { font-size: 16px; letter-spacing: -0.32px; }

	/* Process */
	.process__intro { flex-direction: column; gap: 40px; align-items: flex-start;}
	.process__intro-img { width: 100%; }
	.process__intro-img img { height: 360px; }
	.process__intro-title { font-size: 26px; letter-spacing: -0.52px; line-height: 40px; }
	.process__tab { flex-wrap: wrap; gap: 12px 16px; }
	.process__tab-btn.is-on { font-size: 26px; letter-spacing: -0.52px; line-height: 36px; }
	.process__tab-btn { font-size: 16px; letter-spacing: -0.32px; }
	.process__tab-bar { display: none; }
	.process__slide-content { padding: 40px; gap: 20px; }
	.process__slide-title { font-size: 26px; letter-spacing: -0.52px; line-height: 36px; }
	.process__slide-desc { font-size: 16px; letter-spacing: -0.32px; line-height: 26px; }
	.process__arrow--prev { left: 12px; }
	.process__arrow--next { right: 12px; }

	/* 변호사 선임 기준 */
	.ls__head { padding: 0 0 60px 0; }
	.ls__head-title { font-size: 30px; letter-spacing: -0.60px; }
	.ls__head-desc { font-size: 17px; letter-spacing: -0.34px; }
	.ls__check-heading { font-size: 22px; letter-spacing: -0.44px; }
	.ls__check-item { padding: 40px; }
	.ls__item-title { font-size: 20px; letter-spacing: -0.40px; }
	.ls__item-desc { font-size: 16px; letter-spacing: -0.32px; }
	.ls__good { flex-direction: column; gap: 50px; padding: 80px 0; }
	.ls__good-img { width: 100%; aspect-ratio: 4 / 3; }
	.ls__good-title { font-size: 26px; letter-spacing: -0.52px; }
	.ls__good-sub { font-size: 20px; letter-spacing: -0.40px; }

	/* Practice */
	.practice__tab-btn { padding: 16px 6px; font-size: 14px; letter-spacing: -0.28px; }
	.practice__body { gap: 40px; padding-top: 40px; }
	.practice__img { height: 240px; }
	.practice__title { font-size: 28px; letter-spacing: -0.56px; }
	.practice__desc p { font-size: 15px; letter-spacing: -0.30px; line-height: 26px; }
	.practice__desc p:last-child { padding-bottom: 40px; }
	.practice__case { padding: 40px 0; gap: 16px; }
	.practice__case-title { font-size: 18px; letter-spacing: -0.36px; align-self: flex-start; }
	.practice__case-list { overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; }
	.practice__case-item { flex-shrink: 0; width: 280px; padding: 24px; gap: 12px; }
	.practice__keyword { font-size: 11px; letter-spacing: -0.22px; padding: 2px 8px; }
	.practice__case-heading { font-size: 16px; letter-spacing: -0.32px; line-height: 1.3; }
	.practice__case-desc { font-size: 13px; letter-spacing: -0.26px; }
	.practice__cta { padding-top: 40px; }
	.practice__cta-btn { width: 220px; height: 65px; font-size: 14px; letter-spacing: -0.28px; }

	/* Youtube */
	.youtube-con { padding: 0px 0 80px; gap: 60px; }
	.yt-channel__img { width: 64px; height: 64px; }
	.yt-channel__name { font-size: 18px; letter-spacing: -0.36px; }
	.yt-channel__sub { font-size: 15px; letter-spacing: -0.30px; }
	.youtube-con .srch__sel-native { height: 70px; font-size: 16px; letter-spacing: -0.32px; }
	.youtube-con .srch__input { font-size: 16px; letter-spacing: -0.32px; }
	.youtube-con .srch__input-wrap { height: 70px; }
	.yt-list { grid-template-columns: repeat(2, 1fr); gap: 48px 30px; }
	.yt-card { gap: 20px; }
	.yt-card__title { font-size: 17px; letter-spacing: -0.34px; line-height: 27px; }
	.yt-more { width: 240px; height: 70px; font-size: 16px; letter-spacing: -0.32px; }
	.yt-shorts-list { grid-template-columns: repeat(4, 1fr); gap: 32px 16px; }
}

/* =============================================
   768
============================================= */
@media (max-width: 768px) {
	:root {
		--header-banner-height: 0px;
		--header-main-height: 66px;
		--section-pair-main-color: var(--color-primary);
		--section-pair-sub-color: var(--color-text-dark);
	}
	body.is-main { --header-banner-height: 0px; }
	body.is-main.has-banner { --header-banner-height: 44px; }

	/* Utility */
	/* br-mo는 1024 이하에서 숨김 처리 */

	/* Header */
	#wrap { padding-top: calc(var(--header-banner-height) + var(--header-main-height)); }
	.header__banner { height: 44px; }
	.header__slide { height: 44px !important; }
	.header__banner-btn { top: 22px; }
	.header__banner-text { font-size: 13px; letter-spacing: -0.26px; max-width: 80%; }
	.header__main { top: var(--header-banner-height); height: 66px; }
	.header__main--up { top: 0; }
	.header__inner { padding: 0 20px; }
	.header__logo img { width: 150px; }

	/* Intro */
	.intro-overlay__text-top,
	.intro-overlay__text-bottom { font-size: 32px; letter-spacing: -0.64px; }
	.intro-overlay__sub { font-size: 16px; letter-spacing: -0.32px; }
	.intro-overlay__body { gap: 20px; }

	/* Utility — br 숨김 */
	.con03__title-main br,
	.con03__title-sub br,
	.con03__list-item br,
	.con05__heading br,
	.con05__sub br { display: none; }

	/* Section 01 */
	#fullpage .con01 { min-height: auto; }
	.con01 { padding-top: 40px; padding-bottom: 40px; }
	.con01__title { padding: 0 24px; gap: 12px; }
	.con01__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); text-align: center; }
	.con01__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); text-align: center; }
	.con01__swiper { margin-top: 32px; }
	.con01__swiper .swiper-slide { width: min(340px, calc(100vw - 48px)); }
	.con01__controls { margin-top: 20px; }
	.con01__card { width: 100%; gap: 24px; padding: 24px; }
	.con01__card-body { padding-bottom: 24px; }
	.con01__card-lawyer { gap: 16px; }
	.con01__card-title { font-size: 22px; letter-spacing: -0.44px; line-height: 32px; }
	.con01__lawyer-name { font-size: 20px; letter-spacing: -0.40px; }

	/* Section 02 */
	#fullpage .con02 { min-height: auto; }
	.con02__content { overflow-y: visible; }
	.con02__content { padding: var(--header-main-height, 90px) 24px 48px 24px; }
	.con02__heading { padding-bottom: 20px; gap: 10px; }
	.con02__heading-title { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); }
	.con02__heading-sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); }
	.con02__item { flex-direction: column; align-items: flex-start; padding: 20px 0; gap: 8px; }
	.con02__item-bg { font-size: 48px; letter-spacing: -0.96px; }
	.con02__stat-number { font-size: 24px; letter-spacing: -0.48px; line-height: 31.2px; }
	.con02__slot-digit { height: 31.2px; }
	.con02__slot-strip span { height: 31.2px; line-height: 31.2px; }
	.con02__slot-sep { height: 31.2px; line-height: 31.2px; }
	.con02__stat-label { font-size: 13px; letter-spacing: -0.26px; }
	.con02__item-title { font-size: 14px; letter-spacing: -0.28px; }
	.con02__item-stat { flex-wrap: wrap; gap: 4px 6px; min-height: 66px; }

	/* Section 03 */
	.con03__title { padding: 60px 24px 20px; gap: 16px; }
	.con03__title-main {
		font-size: var(--section-pair-main-fs-max);
		line-height: var(--section-pair-main-lh-max);
		font-weight: 700;
		color: var(--section-pair-main-color, var(--color-primary)) !important;
	}
	.con03__title-sub {
		font-size: var(--section-pair-sub-fs-max);
		line-height: var(--section-pair-sub-lh-max);
		color: var(--section-pair-sub-color, var(--color-text-dark)) !important;
	}
	.con03__mobile-view-more { font-size: 14px; letter-spacing: -0.28px; padding-top: 4px; }
	.con03__inner{display: contents;}
	.con03__title{width: 100%;}
	.con03__slide{width: 100%;}
	.con03__title-texts{flex: 1;}
	.con03__title{flex-direction: row;}
	.con03__card-img{aspect-ratio: 1 / 1;}

	/* Section 04 */
	.con04__inner { padding: 60px 24px 40px; }
	.con04__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); letter-spacing: -0.60px; }
	.con04__card { flex: 0 0 50%; height: 170px; }
	.con04__card-content { font-size: 18px; letter-spacing: -0.36px; }
	.con04__card-label { font-size: 1em; line-height: 1.35; }

	/* Section 05 */
	.con05 { padding: 40px 24px; }
	.con05__top { flex-direction: column; align-items: flex-start; gap: 16px; }
	.con05__title { gap: 10px; }
	.con05__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); }
	.con05__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); }
	.con05__more { padding-top: 4px; }
	.con05__slider { margin-top: 24px; margin-right: 0; }
	.con05__card-title { font-size: 15px; letter-spacing: -0.30px; line-height: 24px; }
	.con05__card-date { font-size: 12px; letter-spacing: -0.24px; }
	.con05__nav { left: 8px; right: 8px; top: 75px; z-index: 2; }
	.con05__nav-btn { width: 40px; height: 44px; display: none; }

	/* Section 06 */
	.con06__inner { padding: 40px 24px 48px; gap: 30px; }
	.con06__top { gap: 30px; }
	.con06__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); letter-spacing: -0.60px; }
	.con06__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); letter-spacing: -0.32px; }
	.con06__desc { font-size: 14px; letter-spacing: -0.28px; }
	.con06__bottom { margin-right: 0; }
	.con06__nav { left: 8px; right: 8px; z-index: 2; }
	.con06__nav-btn { display: none; }
	.con06__card-title { font-size: 15px; letter-spacing: -0.30px; line-height: 22px; }
	.con06__card-date { font-size: 13px; letter-spacing: -0.26px; }

	/* Section 07 */
	.con07 { padding-top: 60px; padding-bottom: 20px; }
	.con07__panel { width: 91.67%; gap: 30px; padding: 40px 24px; }
	.con07__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); }
	.con07__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); }
	.con07__row { flex-wrap: wrap; gap: 16px; }
	.con07__card { flex: 0 0 calc(50% - 8px); max-width: calc(50% - 8px); }

	/* Sub page */
	.sv__inner {
		width: 91.67%;
		max-width: 1400px;
		margin: 0 auto;
		padding: 40px 0;
		gap: 24px;
	}
	.sv__title { font-size: 30px; letter-spacing: -0.60px; }
	.sv__crumb-text { font-size: 13px; letter-spacing: -0.26px; line-height: 1.35; }
	.sv__sel-btn {
		height: 56px;
		padding: 0 28px;
		border-radius: 16px;
	}
	.sv__sel-btn[aria-expanded="true"] { border-radius: 16px 16px 0 0; }
	.sv__sel-list {
		padding: 0 28px 16px;
		border-bottom-left-radius: 16px;
		border-bottom-right-radius: 16px;
		gap: 12px;
	}
	.sv__sel-text { font-size: 16px; letter-spacing: -0.32px; line-height: 1.35; }
	.sv__sel-list li a {
		font-size: 16px;
		letter-spacing: -0.32px;
		line-height: 1.35;
	}

	#subContents { padding: 40px 0; }
	#subContents .inner {
		width: 91.67%;
		max-width: 1400px;
		margin: 0 auto;
		box-sizing: border-box;
	}

	.greeting-con {
		gap: 40px;
		padding: 0 0 60px;
		width: 91.67%;
		max-width: 1400px;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
	}
	.greeting__h2 { gap: 28px; }
	.greeting__heading { font-size: 32px; letter-spacing: -0.64px; line-height: 1.35; }
	.greeting__p { gap: 28px; }
	.greeting__p p {
		font-size: 17px;
		line-height: 1.65;
		letter-spacing: -0.32px;
	}
	.greeting__sign { font-size: 19px; letter-spacing: -0.38px; line-height: 1.45; }
	.greeting__bar { width: 72px; }

	/* 서브비주얼 참고: sv__inner padding 40px 0 · gap 24px · sv__title 30px */
	.location__title {
		font-size: 30px;
		line-height: 1.3;
		letter-spacing: -0.6px;
	}
	.location__desc { font-size: 17px; letter-spacing: -0.34px; line-height: 1.65; }
	.location__transport-title {
		font-size: 24px;
		line-height: 1.3;
		letter-spacing: -0.48px;
	}
	.location__contact-item {
		flex-direction: column;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 8px 0;
	}
	.location__contact-label { width: auto; flex: 1 1 100%; }
	.location__contact-name,
	.location__contact-value { font-size: 17px; letter-spacing: -0.34px; }
	.location__contact-value {
		flex: 1 1 100%;
		width: 100%;
	}
	.location__subway-desc { font-size: 16px; letter-spacing: -0.32px; }
	.location__parking li { font-size: 16px; letter-spacing: -0.32px; }
	#subContents:has(.location) {
		padding: 40px 0 56px;
	}
	.location__top { gap: 32px; padding-bottom: 40px; }
	.location__heading { gap: 24px; }
	.location__info { gap: 24px; }
	.location__transport {
		padding-top: 48px;
		gap: 24px;
	}
	.location__transport-body { gap: 36px; }
	.location__transport-subtitle { font-size: 18px; letter-spacing: -0.36px; }

	.location__map-wrap .location__map,
	.location__map { height: 400px; }

	/* Footer */
	.footer { padding: 50px 0 calc(32px + 64px); }
	.footer__inner { padding: 0 20px; }
	.footer__top { gap: 20px; padding-bottom: 28px; }
	.footer__nav { flex-wrap: wrap; gap: 10px 20px; }
	.footer__logo img { width: 160px; }
	.footer__bottom { flex-direction: column; align-items: flex-start; gap: 24px; margin-top: 28px; }
	.footer__info { gap: 10px; }
	.footer__info-row { flex-direction: column; align-items: flex-start; gap: 8px; }
	.footer__info-label,
	.footer__info-value,
	.footer__nav-link,
	.footer__copy,
	.footer__blog-text { font-size: 13px; letter-spacing: -0.26px; }

	/* Process */
	.process__tab { flex-wrap: nowrap; overflow-x: auto; gap: 16px; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
	.process__tab-btn.is-on { font-size: 18px; letter-spacing: -0.36px; line-height: 24px; }
	.process__tab-btn { font-size: 14px; letter-spacing: -0.28px; }
	.process__slide { height: 420px; }
	.process__slide-content { padding: 30px; }
	.process__slide-title { font-size: 22px; letter-spacing: -0.44px; line-height: 30px; }
	.process__slide-desc { font-size: 15px; letter-spacing: -0.30px; line-height: 24px; }
	.process__arrow { display: none; }

	/* 변호사 선임 기준 */
	.ls__head-title { font-size: 24px; letter-spacing: -0.48px; }
	.ls__head-desc { font-size: 15px; letter-spacing: -0.30px; }
	.ls__check-dot { width: 26px; height: 26px; }
	.ls__check-heading { font-size: 18px; letter-spacing: -0.36px; }
	.ls__check-item { padding: 30px 24px; }
	.ls__check-num-row { gap: 14px; }
	.ls__num { font-size: 20px; letter-spacing: -0.40px; }
	.ls__item-title { font-size: 18px; letter-spacing: -0.36px; }
	.ls__item-desc { font-size: 15px; letter-spacing: -0.30px; }
	.ls__good-title { font-size: 22px; letter-spacing: -0.44px; }
	.ls__good-sub { font-size: 18px; letter-spacing: -0.36px; }
	.ls__good-body p { font-size: 15px; letter-spacing: -0.30px; }

	/* ===== Lawyer (변호사소개) ===== */
	.lawyer__tab {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 20px;
	}

	.lawyer__tab-btn {
		flex: 1 1 33.333%;
		font-size: 12px;
		letter-spacing: -0.24px;
		padding: 12px 4px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		border-bottom: 2px solid transparent;
		text-align: center;
	}

	.lawyer__tab-btn.is-on {
		border-bottom-color: var(--color-primary);
	}

	.lawyer__panel.is-on {
		flex-direction: column;
		gap: 0;
		padding-top: 0;
	}

	.lawyer__sticky {
		width: 100%;
		position: static;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.lawyer__img-wrap {
		width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		position: relative;
	}

	.lawyer__panel.is-on .lawyer__nav-btn {
        position: absolute;
        top: 300px;
        left: 0;
        right: 0;
        transform: translateY(-50%);
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 12px;
        box-sizing: border-box;
        pointer-events: none;
        z-index: 10;
        height: auto;
	}

	.lawyer__panel.is-on .lawyer__prev,
	.lawyer__panel.is-on .lawyer__next {
		position: static;
		width: 60px;
		height: 60px;
		transform: none;
		pointer-events: auto;
	}

	.lawyer__panel.is-on .lawyer__prev { left: auto; }
	.lawyer__panel.is-on .lawyer__next { right: auto; }

	.lawyer__detail { width: 100%; }

	.lawyer__name { font-size: 26px; letter-spacing: -0.52px; }

	.lawyer__section { padding: 40px 0; }

	.lawyer__section-title h3 { font-size: 20px; letter-spacing: -0.40px; }

	.lawyer__list li { font-size: 15px; letter-spacing: -0.30px; }

	.lawyer__year {
		width: 100px;
		font-size: 15px;
		letter-spacing: -0.30px;
	}

	/* Practice */
	.practice__tab { gap: 0; flex-wrap: wrap; }
	.practice__tab-btn { flex: 0 0 20%; padding: 14px 5px; font-size: 13px; letter-spacing: -0.26px; }
	.practice__body { gap: 32px; padding-top: 32px; }
	.practice__img { height: 200px; }
	.practice__title { font-size: 24px; letter-spacing: -0.48px; }
	.practice__desc p { font-size: 14px; letter-spacing: -0.28px; line-height: 24px; }
	.practice__desc p:last-child { padding-bottom: 32px; }
	.practice__case { padding: 32px 0; gap: 14px; }
	.practice__case-title { font-size: 16px; letter-spacing: -0.32px; align-self: flex-start; }
	.practice__case-list { overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; }
	.practice__case-item { flex-shrink: 0; width: 260px; padding: 20px; gap: 10px; }
	.practice__keyword { font-size: 10px; letter-spacing: -0.20px; padding: 2px 7px; }
	.practice__case-heading { font-size: 15px; letter-spacing: -0.30px; line-height: 1.3; }
	.practice__case-desc { font-size: 12px; letter-spacing: -0.24px; }
	.practice__cta { padding-top: 32px; }
	.practice__cta-btn { width: 200px; height: 60px; font-size: 13px; letter-spacing: -0.26px; }

	.practice__desc br{display: none;}

	/* Column */
	.column-con { padding: 0px 0 60px; gap: 32px; width: 91.67%; }
	.column__list { gap: 32px 16px; }
	.srch__select { width: 180px; }
	.srch__sel-native { height: 56px; font-size: 14px; letter-spacing: -0.28px; padding: 0 40px 0 16px; }
	.srch__input-wrap { height: 56px; padding: 0 16px; }
	.srch__input { font-size: 14px; letter-spacing: -0.28px; }
	.column__tab-btn { font-size: 15px; letter-spacing: -0.30px; }
	.column__tab-item--bar { display: none; }
	.column__tab-list { gap: 8px 12px; }
	.column__card { gap: 14px; }
	.column__title { font-size: 16px; letter-spacing: -0.32px; line-height: 24px; }
	.column__date { font-size: 14px; letter-spacing: -0.28px; }

	/* Press */
	.press-con { padding: 32px 0 60px; gap: 32px; width: 91.67%; }
	.press__img { width: 180px; }
	.press__card { gap: 24px; padding: 32px 0; }
	.press__title { font-size: 17px; letter-spacing: -0.34px; line-height: 24px; }
	.press__desc { font-size: 14px; letter-spacing: -0.28px; }
	.press__date { font-size: 14px; letter-spacing: -0.28px; }
	.press__img--placeholder img { width: 120px; }

	/* Youtube */
	.youtube-con { padding: 0px 0 60px; gap: 48px; }
	.yt-section { gap: 40px; }
	.yt-section__head { flex-direction: row; align-items: flex-start; gap: 20px; }
	.yt-channel { gap: 16px; }
	.yt-channel__img { width: 56px; height: 56px; }
	.yt-channel__name { font-size: 16px; letter-spacing: -0.32px; }
	.yt-channel__sub { font-size: 14px; letter-spacing: -0.28px; }
	.youtube-con .srch { flex-direction: column; width: 100%; }
	.youtube-con .srch__select { width: 100%; border-right: none; border-bottom: 1px solid var(--color-border); }
	.youtube-con .srch__sel-native { height: 56px; padding: 0 40px 0 20px; font-size: 15px; letter-spacing: -0.30px; border-right: none; }
	.youtube-con .srch__input-wrap { height: 56px; padding: 0 20px; flex: none; width: 100%; box-sizing: border-box; }
	.youtube-con .srch__input { font-size: 15px; letter-spacing: -0.30px; }
	.yt-list { grid-template-columns: repeat(2, 1fr); gap: 36px 20px; }
	.yt-card { gap: 16px; }
	.yt-card__title { font-size: 15px; letter-spacing: -0.30px; line-height: 24px; }
	.yt-card__date { font-size: 14px; letter-spacing: -0.28px; }
	.yt-more { width: 100%; height: 60px; font-size: 15px; letter-spacing: -0.30px; }
	.yt-shorts-list { grid-template-columns: repeat(3, 1fr); gap: 24px 12px; }
	.yt-shorts-card { gap: 12px; }
	.yt-shorts-card__title { font-size: 14px; letter-spacing: -0.28px; }
	.yt-card__thumb--placeholder img { width: 120px; }
	.yt-shorts-card__thumb--placeholder img { width: 60px; }
	.email-policy__notice{padding: 10px;}
	.email-policy__notice p br{display: none;}
}

/* =============================================
   480
============================================= */
@media (max-width: 480px) {
	:root {
		--header-banner-height: 0px;
		--header-main-height: 66px;
		--section-pair-main-color: var(--color-primary);
		--section-pair-sub-color: var(--color-text-dark);
	}
	body.is-main { --header-banner-height: 0px; }
	body.is-main.has-banner { --header-banner-height: 40px; }

	/* Header */
	#wrap { padding-top: calc(var(--header-banner-height) + var(--header-main-height)); }
	.header__banner { height: 40px; }
	.header__slide { height: 40px !important; }
	.header__banner-btn { top: 20px; }
	.header__banner-btn--prev { left: 10px; }
	.header__banner-btn--next { right: 10px; }
	.header__banner-text { font-size: 12px; letter-spacing: -0.24px; }
	.header__main { top: var(--header-banner-height); height: 66px; }
	.header__main--up { top: 0; }
	.header__logo img { width: 130px; }

	/* Intro */
	.intro-overlay__text-top,
	.intro-overlay__text-bottom { font-size: 26px; letter-spacing: -0.52px; }

	/* Section 01 */
	.con01 { padding-top: 30px; padding-bottom: 30px; }
	.con01__title { padding: 0 20px; }
	.con01__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); text-align: center; }
	.con01__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); text-align: center; }
	.con01__swiper { margin-top: 24px; }
	.con01__swiper .swiper-slide { width: calc(100vw - 40px); }
	.con01__card { gap: 20px; padding: 20px; }
	.con01__card-body { padding-bottom: 20px; }
	.con01__card-lawyer { gap: 12px; }

	/* Section 03 */
	.con03__title { padding: 50px 20px 16px; gap: 12px; }
	.con03__title-main {
		font-size: var(--section-pair-main-fs-max, 22px);
		line-height: var(--section-pair-main-lh-max, 34px);
		color: var(--section-pair-main-color, var(--color-primary)) !important;
	}
	.con03__title-sub {
		font-size: var(--section-pair-sub-fs-max, 14px);
		line-height: var(--section-pair-sub-lh-max, 22px);
		color: var(--section-pair-sub-color, var(--color-text-dark)) !important;
	}
	.con03__mobile-view-more { font-size: 13px; letter-spacing: -0.26px; }
	.con03__title-main { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); font-weight: 700; }
	.con03__title-sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); }
	.con03__title-texts{gap: 4px;}
	.con03__slide-btn{top: 40%;}

	/* Section 04 */
	.con04__inner { padding: 40px 20px 30px; }
	.con04__card { height: 140px; }
	.con04__card-content { font-size: 16px; letter-spacing: -0.32px; }
	.con04__card-label { font-size: 1em; line-height: 1.35; }

	/* Section 05 */
	.con05 { padding: 40px 20px; }
	.con05__top { gap: 12px; }
	.con05__title { gap: 8px; }
	.con05__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); }
	.con05__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); }
	.con05__slider { margin-top: 20px; margin-right: 0; }
	.con05__card-txt { padding: 16px 20px; }
	.con05__card-title { font-size: 14px; letter-spacing: -0.28px; line-height: 22px; }
	.con05__card-date { font-size: 11px; letter-spacing: -0.22px; }
	.con05__nav { left: 6px; right: 6px; top: 70px; z-index: 2; }
	.con05__nav-btn { width: 36px; height: 44px; display: none; }

	/* Section 06 */
	.con06__inner { padding: 40px 20px 40px; }
	.con06__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); letter-spacing: -0.52px; }
	.con06__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); letter-spacing: -0.30px; }
	.con06__desc { font-size: 13px; letter-spacing: -0.26px; }
	.con06__bottom { margin-right: 0; }
	.con06__nav { left: 6px; right: 6px; z-index: 2; }
	.con06__card-title { font-size: 14px; letter-spacing: -0.28px; line-height: 22px; }
	.con06__card-date { font-size: 12px; letter-spacing: -0.24px; }

	/* Section 07 */
	.con07__panel { padding: 30px 20px; }
	.con07__heading { font-size: var(--section-pair-main-fs-max); line-height: var(--section-pair-main-lh-max); }
	.con07__sub { font-size: var(--section-pair-sub-fs-max); line-height: var(--section-pair-sub-lh-max); }
	.con07__card { flex: 0 0 100%; max-width: 100%; }

	/* Sub page */
	.sv__inner {
		padding: 36px 0;
		gap: 20px;
	}
	.sv__title { font-size: 26px; letter-spacing: -0.52px; line-height: 1.3; }
	.sv__sel-btn {
		height: 52px;
		padding: 0 22px;
		border-radius: 14px;
	}
	.sv__sel-btn[aria-expanded="true"] { border-radius: 14px 14px 0 0; }
	.sv__sel-list {
		padding: 0 22px 14px;
		border-bottom-left-radius: 14px;
		border-bottom-right-radius: 14px;
		gap: 10px;
	}
	.sv__sel-text { font-size: 15px; letter-spacing: -0.30px; }
	.sv__sel-list li a { font-size: 15px; letter-spacing: -0.30px; }
	.sv__body { gap: 16px; }
	.sv__sel-wrap { gap: 8px; }

	#subContents { padding: 36px 0; }

	.greeting-con {
		gap: 32px;
		padding: 0 0 48px;
		box-sizing: border-box;
	}
	.greeting__h2 { gap: 24px; }
	.greeting__heading { font-size: 26px; letter-spacing: -0.52px; }
	.greeting__p { gap: 24px; }
	.greeting__p p { font-size: 15px; letter-spacing: -0.30px; line-height: 1.6; }
	.greeting__sign { font-size: 17px; letter-spacing: -0.34px; line-height: 1.45; }
	.greeting__sign br{display: block;}
	.greeting__bar { width: 64px; }

	/* 서브비주얼 참고: sv__inner padding 36px 0 · gap 20px · sv__title 26px */
	.location__title {
		font-size: 26px;
		line-height: 1.3;
		letter-spacing: -0.52px;
	}
	.location__desc { font-size: 15px; letter-spacing: -0.30px; line-height: 1.65; }
	.location__transport-body { gap: 40px; }
	#subContents:has(.location) {
		padding: 36px 0 40px;
	}
	.location__heading { gap: 20px; }
	.location__info { gap: 20px; }
	.location__transport {
		padding-top: 40px;
		gap: 20px;
	}
	.location__transport-title { font-size: 20px; line-height: 1.3; letter-spacing: -0.4px; }
	.location__transport-subtitle { font-size: 15px; line-height: 1.35; letter-spacing: -0.3px; }
	.location__cta {
		display: flex;
		justify-content: center;
		align-self: stretch;
		width: 100%;
		box-sizing: border-box;
		padding: 12px 20px;
		font-size: 16px;
		letter-spacing: -0.32px;
	}

	/* Footer */
	.footer { padding: 40px 0 calc(24px + 64px); }
	.footer__inner { padding: 0 16px; }
	.footer__logo img { width: 140px; }
	.footer__top { padding-bottom: 24px; }
	.footer__bottom { margin-top: 24px; gap: 20px; }
	.footer__nav { gap: 8px 16px; }
	.footer__info-label,
	.footer__info-value,
	.footer__nav-link,
	.footer__copy,
	.footer__blog-text { font-size: 12px; letter-spacing: -0.24px; }

	/* Review */
	.review__list { grid-template-columns: 1fr; gap: 32px; }
	.review-con { padding: 0px 0 60px; gap: 32px; }
	.review__title { font-size: 15px; letter-spacing: -0.30px; line-height: 22px; }
	.review__date { font-size: 13px; letter-spacing: -0.26px; }
	.review__img--placeholder img { width: 120px; }

	/* Column */
	.column-con { padding: 0px 0 48px; gap: 28px; }
	.column__list { grid-template-columns: 1fr; gap: 32px; }
	.column__tab-btn { font-size: 15px; letter-spacing: -0.30px; }
	.column__card { gap: 12px; }
	.column__title { font-size: 15px; letter-spacing: -0.30px; line-height: 22px; }
	.column__img--placeholder img { width: 110px; }

	/* Press */
	.press-con { padding: 28px 0 48px; gap: 28px; }
	.press__card { flex-direction: column; align-items: flex-start; gap: 16px; padding: 28px 0; }
	.press__img { width: 100%; flex-shrink: 1; }
	.press__txt { width: 100%; gap: 12px; }
	.press__title { font-size: 16px; letter-spacing: -0.32px; line-height: 22px; }
	.press__desc { font-size: 14px; letter-spacing: -0.28px; }
	.press__img--placeholder img { width: 110px; }

	/* FAQ */
	.faq-con { gap: 40px; padding: 0px 0 80px; }
	.faq__tab { gap: 12px; }
	.faq__tab-btn { font-size: 16px; letter-spacing: -0.32px; }
	.faq__card { padding: 30px 24px; gap: 20px; }
	.faq__q { font-size: 18px; letter-spacing: -0.36px; }
	.faq__question { font-size: 18px; letter-spacing: -0.36px; line-height: 1.4; }
	.faq__desc { font-size: 15px; letter-spacing: -0.30px; line-height: 1.6; }

	/* Process */
	.process__intro { padding:  0 0 40px 0; gap: 30px; }
	.process__intro-title { font-size: 22px; letter-spacing: -0.44px; line-height: 34px; }
	.process__intro-desc p { font-size: 15px; letter-spacing: -0.30px; line-height: 26px; }
	.process__intro-img img { height: 240px; }
	.process__stage { padding: 40px 0; gap: 24px; }
	.process__tab { flex-wrap: wrap; overflow-x: visible; gap: 10px 20px; padding-bottom: 0; }
	.process__tab-btn { flex: 0 0 calc(50% - 10px); white-space: normal; text-align: left; }
	.process__tab-btn.is-on { font-size: 16px; letter-spacing: -0.32px; line-height: 22px; }
	.process__tab-btn { font-size: 13px; letter-spacing: -0.26px; }
	.process__slide { height: auto; min-height: 360px; }
	.process__slide-content { padding: 24px; gap: 16px; }
	.process__slide-num { font-size: 15px; letter-spacing: -0.30px; }
	.process__slide-title { font-size: 20px; letter-spacing: -0.40px; line-height: 28px; }
	.process__slide-desc { font-size: 14px; letter-spacing: -0.28px; line-height: 22px; }
	.process__arrow { display: none; }
	.process__cta { padding: 40px 0; }
	.process__cta-btn { width: 240px; height: 70px; font-size: 16px; letter-spacing: -0.32px; }

	/* Practice */
	.practice__tab { gap: 0; flex-wrap: wrap; }
	.practice__tab-btn { flex: 0 0 20%; padding: 12px 4px; font-size: 12px; letter-spacing: -0.24px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.practice__body { gap: 24px; padding-top: 24px; }
	.practice__img { height: 160px; }
	.practice__title { font-size: 20px; letter-spacing: -0.40px; }
	.practice__desc p { font-size: 13px; letter-spacing: -0.26px; line-height: 22px; }
	.practice__desc p:last-child { padding-bottom: 24px; }
	.practice__case { padding: 24px 0; gap: 12px; }
	.practice__case-title { font-size: 14px; letter-spacing: -0.28px; align-self: flex-start; }
	.practice__case-list { overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; }
	.practice__case-item { flex-shrink: 0; width: 240px; padding: 16px; gap: 8px; }
	.practice__keyword { font-size: 9px; letter-spacing: -0.18px; padding: 1px 6px; }
	.practice__case-heading { font-size: 14px; letter-spacing: -0.28px; line-height: 1.3; }
	.practice__case-desc { font-size: 11px; letter-spacing: -0.22px; }
	.practice__cta { padding-top: 24px; }
	.practice__cta-btn { width: 180px; height: 55px; font-size: 12px; letter-spacing: -0.24px; }

	/* Youtube */
	.yt-list { grid-template-columns: 1fr; gap: 32px 0; }
	.yt-shorts-list { grid-template-columns: repeat(2, 1fr); gap: 20px 10px; }

	/* FAQ View */
	.faq-view-con { padding: 40px 0 80px; gap: 40px; }
	.faq-view__head { padding-bottom: 30px; gap: 20px; }
	.faq-view__title { font-size: 26px; letter-spacing: -0.52px; }
	.faq-view__info { gap: 12px; flex-wrap: wrap; }
	.faq-view__box { padding: 30px 24px; gap: 20px; }
	.faq-view__box-title { font-size: 20px; letter-spacing: -0.40px; }
	.faq-view__box-txt { font-size: 16px; letter-spacing: -0.32px; }
	.faq-view__txt { font-size: 16px; letter-spacing: -0.32px; }
	.faq-view__foot { gap: 40px; }
	.faq-view__post { padding: 20px 16px; gap: 12px; }
	.faq-view__post-nav { flex-direction: column; }
	.faq-view__post-label { font-size: 15px; letter-spacing: -0.30px; }
	.faq-view__post-date { font-size: 13px; letter-spacing: -0.26px; }
	.faq-view__list-btn { height: 60px; font-size: 16px; letter-spacing: -0.32px; }
}

@media (max-width: 600px) {
	.intro-overlay__title{
		flex-direction: column;
	}

	.location__map-wrap .location__map,
	.location__map { height: 300px; }
}

/* =============================================
   Success (성공사례)
============================================= */
/* 1280px 이하 */
@media (max-width: 1280px) {
	.success__list { grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.srch { max-width: 100%; }
	.srch__sel-native { height: 76px; font-size: 16px; letter-spacing: -0.32px; padding: 0 40px 0 20px; }
	.srch__input { height: 76px; font-size: 16px; letter-spacing: -0.32px; }
	.success__card { gap: 24px; padding: 32px; }
	.success__heading { font-size: 22px; letter-spacing: -0.44px; line-height: 32px; }
	.success__desc { font-size: 15px; letter-spacing: -0.30px; }
}

/* 1024px 이하 */
@media (max-width: 1024px) {
	.success-con { padding: 0px 0 80px; gap: 48px; }
	.success__list { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.srch { flex-direction: column; max-width: 100%; }
	.srch__select { width: 100%; border-right: none; border-bottom: 1px solid var(--color-border); }
	.srch__sel-native { height: 68px; padding: 0 40px 0 24px; border-right: none; }
	.srch__input-wrap { flex: none; width: 100%; padding: 0 24px; }
	.success__card { gap: 20px; padding: 28px; }
	.success__heading { font-size: 20px; letter-spacing: -0.40px; line-height: 30px; }
	.success__desc { font-size: 14px; letter-spacing: -0.28px; line-height: 1.55; }
	.success__keyword { font-size: 13px; letter-spacing: -0.26px; padding: 4px 12px; }
	.success__lawyer { gap: 24px; }
	.success__lawyer-img { width: 60px; height: 72px; }
	.success__lawyer-name { font-size: 20px; letter-spacing: -0.40px; line-height: 26px; }
	.success__lawyer-label { font-size: 14px; letter-spacing: -0.28px; line-height: 18.2px; }
	.paging { gap: 8px; }
	.paging__num { width: 40px; height: 40px; font-size: 16px; letter-spacing: -0.32px; }
	.paging__btn { width: 40px; height: 40px; }
}

/* 768px 이하 */
@media (max-width: 768px) {
	.success-con { width: 91.67%; padding: 0px 0 60px; gap: 40px; }
	.success__list { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.srch { flex-direction: column; }
	.srch__select { width: 100%; border-right: none; border-bottom: 1px solid var(--color-border); }
	.srch__sel-native { height: 62px; padding: 0 40px 0 20px; font-size: 15px; letter-spacing: -0.30px; border-right: none; }
	.srch__input-wrap { flex: none; width: 100%; height: 62px; padding: 0 20px; }
	.srch__input { font-size: 15px; letter-spacing: -0.30px; }
	.srch__btn svg { width: 20px; height: 20px; }
	.success__card { gap: 18px; padding: 24px; }
	.success__heading { font-size: 18px; letter-spacing: -0.36px; line-height: 27px; }
	.success__desc { font-size: 13px; letter-spacing: -0.26px; line-height: 1.5; }
	.success__txt { gap: 16px; padding-bottom: 24px; }
	.success__keyword { font-size: 12px; letter-spacing: -0.24px; padding: 3px 10px; }
	.success__lawyer { gap: 20px; }
	.success__lawyer-img { width: 55px; height: 66px; }
	.success__lawyer-name { font-size: 18px; letter-spacing: -0.36px; line-height: 23.4px; }
	.success__lawyer-label { font-size: 13px; letter-spacing: -0.26px; line-height: 16.9px; }
}

/* 480px 이하 */
@media (max-width: 480px) {
	.success-con { width: 91.67%; padding: 0px 0 48px; gap: 32px; }
	.success__list { grid-template-columns: 1fr; gap: 16px; justify-content: stretch; }
	.srch { flex-direction: column; }
	.srch__select { width: 100%; border-right: none; border-bottom: 1px solid var(--color-border); }
	.srch__sel-native { height: 56px; padding: 0 40px 0 16px; font-size: 14px; letter-spacing: -0.28px; border-right: none; }
	.srch__input-wrap { flex: none; width: 100%; height: 56px; padding: 0 16px; }
	.srch__input { font-size: 14px; letter-spacing: -0.28px; }
	.srch__btn { width: 20px; }
	.srch__btn svg { width: 18px; height: 18px; }
	.success__card { gap: 16px; padding: 20px; }
	.success__heading { font-size: 16px; letter-spacing: -0.32px; line-height: 24px; }
	.success__desc { font-size: 12px; letter-spacing: -0.24px; line-height: 1.5; }
	.success__txt { gap: 14px; padding-bottom: 20px; }
	.success__keywords { gap: 4px; }
	.success__keyword { font-size: 11px; letter-spacing: -0.22px; padding: 2px 8px; }
	.success__lawyer { gap: 16px; }
	.success__lawyer-img { width: 50px; height: 60px; }
	.success__lawyer-name { font-size: 16px; letter-spacing: -0.32px; line-height: 20.8px; }
	.success__lawyer-label { font-size: 12px; letter-spacing: -0.24px; line-height: 15.6px; }
	.paging { gap: 4px; justify-content: center; flex-wrap: nowrap; }
	.paging__num { width: 34px; height: 34px; font-size: 14px; letter-spacing: -0.28px; }
	.paging__btn { width: 28px; height: 34px; }
}

/* =============================================
   Success View (성공사례 상세)
============================================= */

/* 1280px */
@media (max-width: 1280px) {
	.sv-con__side { top: 60px; }
}

/* 1024px */
@media (max-width: 1024px) {
	.sv-con__body { flex-direction: column-reverse; }

	.sv-con__side {
		position: static;
		width: 100%;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		min-height: auto;
		margin-top: 30px;
	}

	.sv-side__block { flex: 1 1 200px; border-bottom: none;}
	.sv-side__result { width: 100%; }

	.sv-view__title { font-size: 32px; letter-spacing: -0.64px; }
	.sv-view__section-title h3 { font-size: 20px; letter-spacing: -0.40px; }

	.sv-view__head{padding-top: 20px;}
}

/* 768px */
@media (max-width: 768px) {
	.sv-con { width: 91.67%; padding: 50px 0 80px; }

	.sv-con__side { flex-direction: column; }
	.sv-side__block { flex: none; width: 100%; border-bottom: 1px solid var(--color-border);}

	.sv-view__title { font-size: 24px; letter-spacing: -0.48px; }
	.sv-view__summary { padding: 24px; }
	.sv-view__summary-txt,
	.sv-view__section p { font-size: 16px; letter-spacing: -0.32px; }
	.sv-view__section-title h3 { font-size: 18px; letter-spacing: -0.36px; }

	.sv-view__post { padding: 24px 20px; gap: 16px; }
	.sv-view__post-label { font-size: 15px; letter-spacing: -0.30px; }
	.sv-view__post-nav { flex-direction: column; }
	.sv-view__list-wrap { align-self: stretch; }
	.sv-view__list-btn { width: 100%; }
}

/* 480px */
@media (max-width: 480px) {
	.sv-view__title { font-size: 20px; letter-spacing: -0.40px; }
	.sv-view__info { flex-wrap: wrap; gap: 8px; }
	.sv-view__bar { display: none; }
}

/* =============================================
   Review Board View (의뢰인후기 상세)
============================================= */

/* 1280px */
@media (max-width: 1280px) {
	.rv-con { padding: 0px 0 100px; }
	.rv-con__side { top: 60px; }
	.rv-view__txtarea {
		padding: 40px;
	}
}

/* 1024px */
@media (max-width: 1024px) {
	.rv-con { padding: 0px 0 80px; }

	.rv-con__body { flex-direction: column-reverse; }

	.rv-con__main { gap: 40px; width: 100%;}

	.rv-con__side {
		position: static;
		width: 100%;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		margin-top: 10px;
	}

	.rv-side__block { flex: 1 1 200px; }
	.rv-side__block { min-height: auto; }

	.rv-view__head { padding: 20px 0 40px 0; gap: 20px; }
	.rv-view__title { font-size: 32px; letter-spacing: -0.64px; }

	.rv-view__editor { gap: 40px; }
	.rv-view__img { width: 100%; }

	.rv-view__foot { gap: 50px; }
	.rv-view__txtarea {
		padding: 30px;
	}
}

/* 768px */
@media (max-width: 768px) {
	.rv-con { padding: 0px 0 60px; }

	.rv-con__side { flex-direction: column; }
	.rv-side__block { flex: none; width: 100%; }

	.rv-view__head { padding: 15px 0 30px 0; gap: 14px; }
	.rv-view__title { font-size: 24px; letter-spacing: -0.48px; }
	.rv-view__date { font-size: 14px; letter-spacing: -0.28px; }

	.rv-view__editor { gap: 30px; }

	.rv-view__foot { gap: 40px; }
	.rv-view__post { padding: 20px 16px; gap: 12px; }
	.rv-view__post-label { font-size: 15px; letter-spacing: -0.30px; }
	.rv-view__post-date { font-size: 13px; letter-spacing: -0.26px; }
	.rv-view__post-nav { flex-direction: column; }
	.rv-view__list-wrap { align-self: stretch; }
	.rv-view__list-btn { width: 100%; height: 60px; font-size: 16px; letter-spacing: -0.32px; }
	.rv-view__txtarea {
		padding: 20px;
	}
}

/* 480px */
@media (max-width: 480px) {
	.rv-con { padding: 0px 0 50px; }

	.rv-con__main { gap: 30px; }

	.rv-view__head { padding: 12px 0 24px 0; gap: 10px; }
	.rv-view__title { font-size: 20px; letter-spacing: -0.40px; }

	.rv-view__editor { gap: 24px; }

	.rv-view__foot { gap: 30px; }
	.rv-view__post { padding: 16px 12px; gap: 10px; }
	.rv-view__post-label { font-size: 14px; letter-spacing: -0.28px; }
	.rv-view__list-btn { height: 52px; font-size: 15px; letter-spacing: -0.30px; }
}

/* =============================================
   FAQ View (FAQ 상세)
============================================= */

/* 1280px */
@media (max-width: 1280px) {
	.faq-view-con { padding: 60px 0 100px; gap: 50px; }
	.faq-view__title { font-size: 36px; letter-spacing: -0.72px; }
	.faq-view__box { padding: 50px; }
}

/* 1024px */
@media (max-width: 1024px) {
	.faq-view-con { padding: 50px 0 80px; gap: 40px; }
	.faq-view__title { font-size: 30px; letter-spacing: -0.60px; }
	.faq-view__box { padding: 40px; }
	.faq-view__box-title { font-size: 22px; letter-spacing: -0.44px; }
	.faq-view__foot { gap: 50px; }
}

/* 768px */
@media (max-width: 768px) {
	.faq-view-con { padding: 40px 0 60px; gap: 36px; }
	.faq-view__head { padding-bottom: 30px; gap: 16px; }
	.faq-view__title { font-size: 24px; letter-spacing: -0.48px; }
	.faq-view__info { gap: 10px; flex-wrap: wrap; }
	.faq-view__date { font-size: 14px; letter-spacing: -0.28px; }
	.faq-view__box { padding: 30px 24px; gap: 20px; }
	.faq-view__box-a { font-size: 18px; letter-spacing: -0.36px; }
	.faq-view__box-title { font-size: 18px; letter-spacing: -0.36px; }
	.faq-view__box-txt { font-size: 16px; letter-spacing: -0.32px; }
	.faq-view__txt { font-size: 16px; letter-spacing: -0.32px; }
	.faq-view__editor { gap: 30px; }
	.faq-view__foot { gap: 40px; }
	.faq-view__post-nav { flex-direction: column; }
	.faq-view__post { padding: 20px 16px; gap: 12px; }
	.faq-view__post-label { font-size: 15px; letter-spacing: -0.30px; }
	.faq-view__post-date { font-size: 13px; letter-spacing: -0.26px; }
	.faq-view__list-btn { height: 60px; font-size: 16px; letter-spacing: -0.32px; }
}

/* 480px */
@media (max-width: 480px) {
	.faq-view-con { padding: 30px 0 50px; gap: 30px; }
	.faq-view__head { padding-bottom: 24px; gap: 12px; }
	.faq-view__title { font-size: 20px; letter-spacing: -0.40px; }
	.faq-view__info { gap: 8px; }
	.faq-view__info-bar { display: none; }
	.faq-view__box { padding: 24px 16px; gap: 16px; }
	.faq-view__editor { gap: 24px; }
	.faq-view__foot { gap: 30px; }
	.faq-view__post { padding: 16px 12px; gap: 10px; }
	.faq-view__post-label { font-size: 14px; letter-spacing: -0.28px; }
	.faq-view__list-btn { height: 52px; font-size: 15px; letter-spacing: -0.30px; }
}

/* =============================================
   Consult (비밀상담신청)
============================================= */

/* 1280px */
@media (max-width: 1280px) {
	.consult-con { padding: 60px 0 100px; gap: 60px; }
	.consult__top { gap: 60px; padding-bottom: 60px; }
	.consult__sub { font-size: 20px; letter-spacing: -0.40px; }
	.consult__title { font-size: 38px; letter-spacing: -0.76px; }
	.consult__step-circle { padding: 24px; gap: 16px; }
	.consult__step-txt strong { font-size: 17px; letter-spacing: -0.34px; }
	.consult__step-txt span { font-size: 14px; letter-spacing: -0.28px; }
	.consult__step-num { font-size: 15px; letter-spacing: -0.30px; }
}

/* 1024px */
@media (max-width: 1024px) {
	.consult-con { padding: 48px 0 80px; gap: 48px; }
	.consult__top { gap: 48px; padding-bottom: 48px; }
	.consult__sub { font-size: 18px; letter-spacing: -0.36px; }
	.consult__title { font-size: 32px; letter-spacing: -0.64px; }

	/* 스텝: 2×2 그리드로 전환 */
	.consult__steps {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 20px;
		align-items: stretch;
		justify-items: stretch;
	}
	.consult__step-arrow { display: none; }
	.consult__step { flex: none; }
	.consult__step-circle {
		aspect-ratio: auto;
		border-radius: 16px;
		padding: 28px 20px;
		height: 100%;
		box-sizing: border-box;
	}

	.consult__label { width: 120px; font-size: 16px; letter-spacing: -0.32px; }
	.consult__anon { font-size: 20px; letter-spacing: -0.40px; }
	.consult__steps::after{display: none;}
	.consult__captcha { max-width: 100%; }
}

/* 768px */
@media (max-width: 768px) {
	.consult-con { width: 91.67%; padding: 40px 0 60px; gap: 40px; }
	.consult__top { gap: 36px; padding-bottom: 40px; }
	.consult__txt { gap: 14px; }
	.consult__sub { font-size: 16px; letter-spacing: -0.32px; }
	.consult__title { font-size: 26px; letter-spacing: -0.52px; }

	.consult__steps { gap: 16px; }
	.consult__step-circle { padding: 22px 16px; gap: 12px; border-radius: 12px; }
	.consult__step-num { font-size: 13px; letter-spacing: -0.26px; }
	.consult__step-txt strong { font-size: 15px; letter-spacing: -0.30px; }
	.consult__step-txt span { font-size: 13px; letter-spacing: -0.26px; }

	/* 폼 행: 세로 스택 */
	.consult__row { width: 100%; flex-direction: column; align-items: flex-start; gap: 12px; }
	.consult__row--textarea { align-items: flex-start; }
	.consult__label { width: auto; font-size: 15px; letter-spacing: -0.30px; }
	.consult__row--textarea .consult__label { padding-top: 0; }
	.consult__input { flex: none; max-width: 100%; width: 100%; }
	.consult__radios { width: 100%; flex-wrap: wrap; gap: 12px; }
	.consult__radio { flex: 1 1 calc(33.33% - 8px); min-width: 80px; color: var(--color-gray-dark); }
	.consult__textarea { flex: none; width: 100%; height: 160px; }
	.consult__agree { justify-content: flex-start; flex-wrap: wrap; gap: 12px; }
	.consult__anon { font-size: 18px; letter-spacing: -0.36px; }
	.consult__form { gap: 28px; }
	.consult__captcha { max-width: 100%; width: 100%; }
	.consult__captcha-input { flex: 1 1 0; width: 0; max-width: none; }
	.consult__captcha-input { width: 0; }
}

/* 480px */
@media (max-width: 480px) {
	.consult-con { padding: 32px 0 48px; gap: 32px; }
	.consult__top { gap: 28px; padding-bottom: 32px; }
	.consult__sub { font-size: 14px; letter-spacing: -0.28px; }
	.consult__title { font-size: 22px; letter-spacing: -0.44px; }

	/* 스텝: 1열 세로 나열 */
	.consult__steps { grid-template-columns: 1fr; gap: 12px; }
	.consult__step-circle {
		border-radius: 12px;
		flex-direction: row;
		justify-content: flex-start;
		aspect-ratio: auto;
		padding: 16px 20px;
		gap: 16px;
	}
	.consult__step-icon img { width: 40px; height: 40px; }
	.consult__step-txt { align-items: flex-start; text-align: left; }
	.consult__step-num { font-size: 12px; letter-spacing: -0.24px; }
	.consult__step-txt strong { font-size: 14px; letter-spacing: -0.28px; }
	.consult__step-txt span { font-size: 12px; letter-spacing: -0.24px; }

	.consult__anon { font-size: 16px; letter-spacing: -0.32px; }
	.consult__form { gap: 22px; }
	.consult__radios { gap: 10px; }
	.consult__radio { flex: 1 1 calc(33.33% - 7px); min-width: 70px; font-size: 14px; letter-spacing: -0.28px; }
	.consult__textarea { flex: none; height: 140px; }
	.consult__agree-label { font-size: 15px; letter-spacing: -0.30px; }
	.consult__submit-btn { width: 100%; height: 70px; font-size: 16px; letter-spacing: -0.32px; }
	.consult__submit { padding-top: 24px; }
	.consult__captcha-img { width: 120px; }
	.consult__captcha-img img { width: 120px; }
}

/* =============================================
   Search Result 반응형
============================================= */
@media (max-width: 1024px) {
	.sr-con { width: 91.67%; }

	/* 성공사례: 3열 flex */
	.sr__cards--success { flex-wrap: wrap; }
	.sr__cards--success .sr__item { flex: 1 1 0; min-width: 0; }

	/* 의뢰인 후기: 3열 grid 방식 */
	.sr__cards--review { display: grid; grid-template-columns: repeat(3, 1fr); }
	.sr__cards--review .sr__item { width: auto; }

	/* 칼럼: 2열 grid */
	.sr__cards--column { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
	.sr__cards--column .sr__item { width: auto; }
	.column__img { height: 200px; }

	/* 언론보도 이미지 축소 */
	.sr__press-img { width: 200px; height: 130px; }

	/* 유튜브 카드 */
	.sr__yt-thumb { height: 200px; }
}

@media (max-width: 768px) {
	.sr-con { padding: 60px 0 80px; gap: 40px; }

	.sr__summary { font-size: 20px; }
	.sr__section-title h2 { font-size: 24px; }
	.sr__section-count { font-size: 18px; }

	/* 성공사례: 2열 */
	.sr__cards--success { flex-wrap: wrap; gap: 16px; }
	.sr__cards--success .sr__item { flex: 1 1 calc(100%); min-width: 0; }

	/* 의뢰인 후기: 2열 */
	.sr__cards--review { grid-template-columns: repeat(2, 1fr); }
	.review__img { height: 180px; }
	.review__title { font-size: 16px; line-height: 1.5; }

	/* 칼럼: 1열 */
	.sr__cards--column { grid-template-columns: 1fr; gap: 24px; }
	.column__img { height: 200px; }
	.column__img--placeholder img { width: 140px; }

	/* 언론보도: row → column */
	.sr__press-card { flex-direction: column; gap: 20px; }
	.sr__press-img { width: 100%; height: 200px; flex: none; }
	.sr__press-title { font-size: 18px; }
	.sr__press-desc { font-size: 15px; }

	/* 유튜브: 1열 */
	.sr__cards--youtube { flex-direction: column; gap: 24px; }
	.sr__cards--youtube .sr__item { flex: none; width: 100%; }
	.sr__yt-thumb { height: 200px; }
}

@media (max-width: 480px) {
	.sr-con { padding: 40px 0 60px; gap: 32px; }

	.sr__summary { font-size: 17px; }
	.sr__section-title h2 { font-size: 20px; }
	.sr__section-count { font-size: 16px; }

	/* 의뢰인 후기: 1열 */
	.sr__cards--review { grid-template-columns: 1fr; gap: 24px; }
	.review__img { height: 200px; }
	.review__img--placeholder img { width: 120px; }

	/* 언론보도 이미지 높이 */
	.sr__press-img { height: 180px; }
}

@media (max-width: 1280px) {
	.privacy-policy,.service-policy{padding-top: 60px;}
}

@media (max-width: 1024px) {
	.privacy-policy,.service-policy{padding-top: 40px;}
}

@media (max-width: 768px) {
	.privacy-policy,.service-policy{padding-top: 32px;}
}

@media (max-width: 480px) {
	.privacy-policy,.service-policy{padding-top: 24px;}
}

.br_mo{display: none;}

@media(max-width: 768px){
	.br_mo{display: block;}
}

@media(max-width:1600px) and (min-width:768px){
	.con01__swiper {
    width: 100%;
		margin-top: 0;
	}

	.con01__card {
		gap: 1vh;
	}

	.quickmenu {
		transform: translateY(-40%);
	}
	.header__inner {
		padding: 0 10px;
	}
}