/* ========================================
   Sub Page - 가로 스크롤 방지

   [모바일 전용 수정 시 필수]
   • 모바일만 수정할 때는 반드시 @media (max-width: 640px) 또는
     @media (max-width: 480px) 블록 **안에서만** 추가/수정.
   • 기본 스타일, 1024px, 1280px, 1440px, 1600px 미디어쿼리 수정 금지.
     → 태블릿·노트북·PC 영역에 영향 주면 안 됨.
======================================== */
body:not(.is-main) {
	overflow-x: hidden;
}

/* 서브 콘텐츠 내 이미지·카드 가로 넘침 방지 (반응형 공통) */
.sub-content img {
	max-width: 100%;
	height: auto;
}
.sub-content [class*="__card"],
.sub-content [class*="__inner"] img {
	max-width: 100%;
}

/* ========================================
   Sub Page Header
   Figma 디자인: header가 비주얼 위에 투명하게 오버레이
======================================== */
/* 서브페이지 초기 상태: 투명 배경, 흰색 텍스트 (메인과 동일) - 개인정보처리방침 제외 */
body:not(.is-main):not(.is-privacy) .header {
	background: transparent;
}

/* 스크롤 시 배경 적용 */
body:not(.is-main):not(.is-privacy) .header.scrolled {
	background: rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(15px);
	border-bottom: 1px solid #E5E5E5;
}

body:not(.is-main):not(.is-privacy) .header.scrolled .gnb__list > li > a {
	color: #111111;
}

body:not(.is-main):not(.is-privacy) .header.scrolled .gnb__list > li > a:hover {
	color: #FECF07;
}

body:not(.is-main):not(.is-privacy) .header.scrolled .allmenu-btn span {
	background: #111111;
}

/* 개인정보처리방침 페이지 전용: 원래 헤더(스크롤 전)부터 흰 배경 + 컬러 로고 노출 */
body.is-privacy .header--light {
	background: #FFFFFF;
}
/* 스크롤 여부와 관계없이 컬러 로고를 배경으로 표시 (img가 흰색으로 오는 경우 대비) */
body.is-privacy .header--light .header__logo a {
	width: 180px;
	height: 36px;
	background: url('/img/common/logo_color.svg') left center / contain no-repeat;
}
body.is-privacy .header--light .header__logo img {
	filter: none;
	opacity: 0;
	position: absolute;
	width: 180px;
	height: 36px;
	pointer-events: none;
}

/* ========================================
   Sub Visual (공통)
======================================== */
.sub-visual {
	position: relative;
	width: 100%;
	height: 620px;
	overflow: hidden;
}

.sub-visual__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.sub-visual--about .sub-visual__bg {
	background-image: url('/img/sub/about/about_visual_bg.jpg');
}

.sub-visual--solution .sub-visual__bg {
	background-image: url('/img/sub/solution/solution_visual_bg.jpg');
}

.sub-visual__content {
	position: absolute;
	left: 160px;
	right: 160px;
	bottom: 60px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.sub-visual__title {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 140px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #FFFFFF;
	white-space: nowrap;
}

.sub-visual__breadcrumb {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-shrink: 0;
	white-space: nowrap;
}

.sub-visual__home {
	display: flex;
	align-items: center;
	justify-content: center;
}

.sub-visual__home img {
	width: 22px;
	height: 20px;
}

.sub-visual__bar {
	width: 15px;
	height: 1px;
	background: #FFFFFF;
	opacity: 0.3;
}

.sub-visual__depth1,
.sub-visual__depth2 {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #FFFFFF;
}

.sub-visual__depth2 {
	font-family: var(--font-primary);
}

/* ========================================
   Sub Page Common
======================================== */
.sub-content {
	position: relative;
	z-index: 1;
	background: #FFFFFF;
}

/* ========================================
   Privacy Policy Page
======================================== */
.privacy {
	padding-bottom: 100px;
}

.privacy__inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 100px var(--container-padding);
}

.privacy__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 108px;
}

.privacy__body {
	display: flex;
	flex-direction: column;
	gap: 80px;
}

.privacy__section {
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.privacy__heading {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.privacy__text {
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: -0.02em;
	color: #333333;
}

.privacy__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-left: 20px;
}

.privacy__list li {
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: -0.02em;
	color: #333333;
	position: relative;
}

.privacy__list li::before {
	content: '•';
	position: absolute;
	left: -15px;
}

/* ========================================
   0101 회사소개 Page
======================================== */
/* 점선 강제 제거 - 모든 가상 요소 */
.about-intro *::before,
.about-intro *::after,
.sub-content *::before,
.sub-content *::after {
	border: none !important;
	border-style: none !important;
	background: none !important;
	content: none !important;
	display: none !important;
}

/* 회사소개: 1920px 기준 vw + clamp, 1520~1920 비례 축소 */
.about-intro {
	padding-bottom: clamp(60px, 5.21vw, 100px);
}

.about-intro__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: clamp(60px, 5.21vw, 100px) clamp(80px, 8.33vw, 160px);
	box-sizing: border-box;
}

.about-intro__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: clamp(32px, 2.71vw, 52px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: clamp(60px, 5.21vw, 100px);
}

.about-intro__section {
	display: flex;
	gap: 0;
	margin-bottom: clamp(60px, 5.21vw, 100px);
}

.about-intro__section:last-child {
	margin-bottom: 0;
}

.about-intro__section-title {
	flex-shrink: 0;
	width: clamp(320px, 27.08vw, 520px);
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: clamp(24px, 1.875vw, 36px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

/* 01. 사업분야 - 4개 박스 우측 정렬(우측 여백 제외) */
.about-intro__business-grid {
	display: flex;
	gap: clamp(12px, 1.04vw, 20px);
	margin-left: auto;
}

.about-intro__business-card {
	position: relative;
	width: clamp(180px, 13.28vw, 255px);
	height: clamp(180px, 13.28vw, 255px);
	padding: clamp(20px, 1.56vw, 30px);
	background: #FFFFFF;
	border: 1px solid #E5E5E5;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: clamp(20px, 1.56vw, 30px);
	box-sizing: border-box;
	/* 컨테이너 쿼리: 카드 크기에 따라 배지가 반응하도록 */
	container-type: inline-size;
	container-name: business-card;
}

/* 숫자 배지: 카드 너비(cqw)에 비례해 반응형 축소 */
.about-intro__business-num {
	position: absolute;
	top: 0;
	left: 0;
	width: clamp(24px, 16cqw, 40px);
	height: clamp(24px, 16cqw, 40px);
	background: #000000;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(10px, 6.2cqw, 16px);
	line-height: 1.3;
	letter-spacing: -0.03em;
	color: #FECF07;
	box-sizing: border-box;
}

.about-intro__business-icon {
	width: clamp(28px, 2.08vw, 40px);
	height: clamp(28px, 2.08vw, 40px);
}

.about-intro__business-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.about-intro__business-text {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: clamp(15px, 0.98vw, 19px);
	line-height: 1.3;
	letter-spacing: -0.03em;
	color: #111111;
	min-height: 2.6em;
	box-sizing: border-box;
}

/* 02. 주소 */
.about-intro__section--address {
	flex-direction: column;
}

.about-intro__section--address .about-intro__section-title {
	margin-bottom: 0;
}

.about-intro__address-content {
	margin-left: clamp(320px, 27.08vw, 520px);
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 1.56vw, 30px);
}

/* 카카오맵 퍼가기: mapHeight와 동일하게 높이 고정, 아래쪽 바는 overflow로 잘림 → 지도만 보임 */
.about-intro__map {
	width: 100%;
	max-width: clamp(600px, 56.25vw, 1080px);
	height: 500px;
	overflow: hidden;
}

.about-intro__map img {
	width: 100%;
	height: auto;
}

.about-intro__map .root_daum_roughmap {
	width: 100% !important;
	max-width: clamp(600px, 56.25vw, 1080px);
}

.about-intro__map .root_daum_roughmap iframe {
	width: 100% !important;
	height: 100% !important;
}

.about-intro__address-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: clamp(600px, 56.25vw, 1080px);
}

.about-intro__address-main {
	display: flex;
	align-items: center;
	gap: clamp(10px, 0.78vw, 15px);
}

.about-intro__address-main img {
	width: clamp(17px, 1.09vw, 21px);
	height: clamp(20px, 1.30vw, 25px);
}

.about-intro__address-main p {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: clamp(18px, 1.25vw, 24px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.about-intro__address-contact {
	display: flex;
	gap: clamp(24px, 2.08vw, 40px);
}

.about-intro__contact-item {
	display: flex;
	align-items: baseline;
	gap: clamp(6px, 0.52vw, 10px);
}

.about-intro__contact-label {
	flex-shrink: 0;
	min-width: clamp(36px, 2.29vw, 44px);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(16px, 1.04vw, 20px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.about-intro__contact-value {
	font-family: var(--font-display);
	font-weight: 300;
	font-size: clamp(16px, 1.04vw, 20px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

/* 03. 회사개요 */
.about-intro__overview-table {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.about-intro__overview-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: clamp(20px, 1.56vw, 30px) 0;
	border-bottom: 1px solid #E5E5E5;
}

.about-intro__overview-label {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: clamp(16px, 1.04vw, 20px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.about-intro__overview-value {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: clamp(17px, 1.15vw, 22px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.about-intro__overview-value--link {
	font-family: var(--font-display);
	color: #111111;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.about-intro__overview-value--link:hover {
	color: #666666;
}

.about-intro__overview-row--products {
	align-items: center;
}

.about-intro__overview-products {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: clamp(10px, 0.78vw, 15px);
}

.about-intro__overview-products span {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(17px, 1.15vw, 22px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}


/* ========================================
   Sub Visual Responsive
======================================== */
/* 1520px: Figma 프로토타입과 동일 — 헤더와 동일 좌우 여백(127px), 로고·About Us·브레드크럼 한 줄 정렬 */
@media screen and (min-width: 1441px) and (max-width: 1600px) {
	.sub-visual {
		height: 491px;
	}
	.sub-visual__content {
		left: 127px;
		right: 127px;
		bottom: 48px;
		box-sizing: border-box;
		margin: 0;
	}
	.sub-visual__title {
		font-size: 111px;
		margin: 0;
	}
	.sub-visual__breadcrumb {
		margin: 0;
	}
	.sub-visual__depth1,
	.sub-visual__depth2 {
		font-size: 14px;
	}
	.sub-visual__home img {
		width: 17px;
		height: 16px;
	}
	.sub-visual__bar {
		width: 12px;
	}
	.about-intro__inner {
		padding: clamp(60px, 5.21vw, 100px) clamp(80px, 8.33vw, 160px);
	}
	.about-vision__inner {
		padding: 100px 127px;
	}
	.about-vision__philosophy {
		padding: 159px 127px;
	}
}

@media screen and (max-width: 1440px) {
	.sub-visual__title {
		font-size: 100px;
	}
	
	.sub-visual__content {
		left: 100px;
		right: 100px;
	}
}

@media screen and (max-width: 1280px) {
	.sub-visual {
		height: 500px;
	}
	
	.sub-visual__title {
		font-size: 80px;
	}
	
	.sub-visual__content {
		left: 50px;
		right: 50px;
		bottom: 50px;
	}
	
	.sub-visual__depth1,
	.sub-visual__depth2 {
		font-size: 16px;
	}
	
	.privacy__title {
		font-size: 44px;
		margin-bottom: 80px;
	}
	
	.privacy__body {
		gap: 60px;
	}
}

@media screen and (max-width: 1024px) {
	.sub-visual {
		height: 400px;
	}
	
	.sub-visual__title {
		font-size: 60px;
	}
	
	.sub-visual__content {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
		left: 30px;
		bottom: 40px;
		width: calc(100% - 60px);
	}
	
	.sub-visual__breadcrumb {
		gap: 15px;
	}
	
	.sub-visual__depth1,
	.sub-visual__depth2 {
		font-size: 14px;
	}
	
	.privacy__inner {
		padding: 80px var(--container-padding);
	}
	
	.privacy__title {
		font-size: 36px;
		margin-bottom: 60px;
	}
	
	.privacy__heading {
		font-size: 20px;
	}
	
	.privacy__text,
	.privacy__list li {
		font-size: 16px;
	}
	
	.privacy__body {
		gap: 50px;
	}
	
	.privacy__section {
		gap: 20px;
	}
}

@media screen and (max-width: 640px) {
	.sub-visual {
		height: 350px;
	}
	
	.sub-visual__title {
		font-size: 44px;
	}
	
	.sub-visual__content {
		left: 20px;
		bottom: 30px;
		width: calc(100% - 40px);
		gap: 20px;
	}
	
	.sub-visual__breadcrumb {
		gap: 10px;
	}
	
	.sub-visual__home img {
		width: 18px;
		height: 16px;
	}
	
	.sub-visual__bar {
		width: 10px;
	}
	
	.sub-visual__depth1,
	.sub-visual__depth2 {
		font-size: 13px;
	}
	
	/* PC 100px → 모바일 비율 40% 적용 */
	.privacy {
		padding-bottom: 40px;
	}
	
	.privacy__inner {
		padding: 60px var(--container-padding);
	}
	
	.privacy__title {
		font-size: 28px;
		margin-bottom: 40px;
	}
	
	.privacy__heading {
		font-size: 18px;
	}
	
	.privacy__text,
	.privacy__list li {
		font-size: 15px;
	}
	
	.privacy__body {
		gap: 40px;
	}
	
	.privacy__section {
		gap: 15px;
	}
}

/* ========================================
   회사소개 Page Responsive
======================================== */
/* 노트북·중형 데스크톱(~1680px): 좌우 여백 Figma 1520px 기준 127px, 사업분야 가로 배치 */
@media screen and (max-width: 1680px) {
	.about-intro__inner {
		padding: 80px 127px;
	}
	
	.about-intro__section {
		margin-bottom: 120px;
	}
	
	/* 사업분야: 타이틀 옆에 4개 박스 (Figma 디자인) */
	.about-intro__section:not(.about-intro__section--address):not(.about-intro__section--overview) {
		flex-direction: row;
		gap: 0;
	}
	
	.about-intro__section:not(.about-intro__section--address):not(.about-intro__section--overview) .about-intro__section-title {
		width: clamp(240px, 20vw, 320px);
	}
	
	/* 1520~1680px: 주소 섹션은 PC와 동일(타이틀 위·지도/주소 아래), 퍼가기 그대로 적용 */
	/* 회사개요만: 타이틀 위 / 콘텐츠 아래 세로 배치 */
	.about-intro__section--overview {
		flex-direction: column;
		gap: 40px;
	}
	
	.about-intro__section--overview .about-intro__section-title {
		width: 100%;
	}
	
	.about-intro__section-title {
		font-size: 30px;
	}
	
	.about-intro__business-grid {
		flex-wrap: wrap;
		gap: 20px;
	}
	
	.about-intro__business-card {
		width: calc(25% - 15px);
		min-width: 200px;
	}
	
}

/* 1520~1600px: 좌우 여백 127px 유지(Figma·서브비주얼과 동일) */
@media screen and (max-width: 1600px) {
	.about-intro__inner {
		padding: 100px 127px;
	}
	.solution-list__inner {
		padding: 100px 127px;
	}
}

/* 1280px: 서브비주얼 left/right 50px와 맞춤 */
@media screen and (max-width: 1280px) {
	.about-intro__inner {
		padding: 60px 50px;
	}
	
	.about-intro__title {
		font-size: 44px;
		margin-bottom: 100px;
	}
	
	.about-intro__section {
		margin-bottom: 120px;
	}
	
	/* 사업분야: 타이틀 옆에 4개 박스 유지 (Figma) */
	.about-intro__section:not(.about-intro__section--address):not(.about-intro__section--overview) {
		flex-direction: row;
		gap: 0;
	}
	
	.about-intro__section:not(.about-intro__section--address):not(.about-intro__section--overview) .about-intro__section-title {
		width: clamp(200px, 18vw, 280px);
	}
	
	/* 1280px: 주소 섹션도 PC와 동일(타이틀 위·지도/주소 아래) */
	/* 회사개요만: 세로 배치 */
	.about-intro__section--overview {
		flex-direction: column;
		gap: 40px;
	}
	
	.about-intro__section--overview .about-intro__section-title {
		width: 100%;
	}
	
	.about-intro__section-title {
		font-size: 30px;
	}
	
	.about-intro__business-grid {
		flex-wrap: wrap;
	}
	
	.about-intro__business-card {
		width: calc(50% - 10px);
	}
}

@media screen and (max-width: 1024px) {
	.about-intro__inner {
		padding: 50px 30px;
	}
	
	.about-intro__title {
		font-size: 36px;
		margin-bottom: 60px;
	}
	
	.about-intro__section {
		margin-bottom: 80px;
	}
	
	.about-intro__section-title {
		font-size: 26px;
	}
	
	.about-intro__business-card {
		width: calc(50% - 10px);
		height: 200px;
	}
	
	.about-intro__business-text {
		font-size: 17px;
	}
	
	.about-intro__contact-label,
	.about-intro__contact-value {
		font-size: 16px;
	}
	
	.about-intro__address-main p {
		font-size: 18px;
	}
	
	.about-intro__address-info {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
	
	.about-intro__overview-label {
		font-size: 16px;
	}
	
	.about-intro__overview-value,
	.about-intro__overview-products span {
		font-size: 18px;
	}
}

@media screen and (max-width: 640px) {
	.about-intro {
		padding-bottom: 40px;
	}
	
	.about-intro__inner {
		padding: 40px 20px;
		overflow-x: hidden;
	}
	
	.about-intro__title {
		font-size: 28px;
		margin-bottom: 40px;
	}
	
	.about-intro__section {
		gap: 30px;
		margin-bottom: 60px;
	}
	
	.about-intro__section-title {
		font-size: 22px;
	}
	
	/* 모바일: 사업분야 세로 배치(타이틀 위·그리드 아래) → 우측 잘림/틀어짐 방지 */
	.about-intro__section:not(.about-intro__section--address):not(.about-intro__section--overview) {
		flex-direction: column;
		align-items: flex-start;
	}
	.about-intro__section:not(.about-intro__section--address):not(.about-intro__section--overview) .about-intro__section-title {
		width: 100%;
	}
	
	/* 모바일: 사업분야 1줄에 2개씩, 그리드가 전체 너비 사용 */
	.about-intro__business-grid {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 15px;
		width: 100%;
		margin-left: 0;
	}
	
	.about-intro__business-card {
		width: calc(50% - 7.5px);
		min-width: 0;
		height: 180px;
		box-sizing: border-box;
	}
	
	/* 텍스트 영역 높이 고정 → 364px 등에서 첫 카드만 줄바꿈 달라져 아이콘이 위로 올라가는 현상 방지 */
	.about-intro__business-text {
		font-size: 16px;
		min-height: 2.6em;
		box-sizing: border-box;
	}
	
	/* 모바일: 주소 영역 전체 너비 사용 → 지도·주소문구 잘림/틀어짐 방지 */
	.about-intro__section--address .about-intro__section-title {
		width: 100%;
	}
	.about-intro__address-content {
		margin-left: 0;
		width: 100%;
		max-width: 100%;
	}
	.about-intro__map {
		max-width: 100%;
		height: 280px;
	}
	.about-intro__map .root_daum_roughmap {
		max-width: 100% !important;
	}
	.about-intro__address-info {
		max-width: 100%;
	}
	
	.about-intro__address-main {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	
	.about-intro__address-main p {
		font-size: 16px;
	}
	
	.about-intro__address-contact {
		flex-direction: column;
		gap: 15px;
	}
	
	.about-intro__overview-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding: 20px 0;
	}
	
	.about-intro__overview-label {
		font-size: 14px;
		color: #666666;
	}
	
	.about-intro__overview-value,
	.about-intro__overview-products span {
		font-size: 16px;
	}
	
	.about-intro__overview-products {
		align-items: flex-start;
	}
}

/* ========================================
   0102 연혁 Page
======================================== */
.about-history {
	padding-bottom: 100px;
}

/* 다른 About 페이지와 통일: 1920px, 160px 좌우 여백 */
.about-history__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: 100px 160px;
}

.about-history__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 100px;
}

.about-history__image {
	width: 100%;
	height: 320px;
	margin-bottom: 60px;
	overflow: hidden;
}

.about-history__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-history__timeline {
	display: flex;
	flex-direction: column;
}

/* Figma 2273:2753 연혁 시안: 각 행 하단 1px #E5E5E5 stroke */
.about-history__item {
	display: flex;
	align-items: center;
	padding: 30px 0;
	border-bottom: 1px solid #E5E5E5;
}

.about-history__item--last {
	/* 마지막 아이템도 동일 라인 유지 */
}

.about-history__timeline {
	position: relative;
	padding-left: 0;
}

/* 프로그레스 바 - 왼쪽 선 및 노란색 채움 제거 (시안 반영) */
.about-history__progress {
	display: none;
}

.about-history__progress-bar {
	display: none;
}

/* 각 연도 옆 점 - 시안 반영으로 숨김 */
.about-history__dot {
	display: none;
}

.about-history__item {
	position: relative;
}

.about-history__year {
	flex-shrink: 0;
	width: 400px;
	padding: 0 60px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 32px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	transition: color 0.3s ease;
}

.about-history__year.active {
	color: #111111;
}

.about-history__content {
	display: flex;
	align-items: center;
	flex: 1;
}

.about-history__content--multi {
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.about-history__row {
	display: flex;
	align-items: center;
}

.about-history__month {
	flex-shrink: 0;
	width: 60px;
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #AAAAAA;
}

.about-history__text {
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

/* 연혁 Page Responsive - 노트북 좌우 여백 회사소개와 동일(127px, 50px) */
@media screen and (max-width: 1680px) {
	.about-history__inner {
		padding: 80px 127px;
	}
}

@media screen and (max-width: 1600px) {
	.about-history__inner {
		padding: 100px 127px;
	}
}

@media screen and (max-width: 1440px) {
	.about-history__inner {
		padding: 80px 127px;
	}
	
	.about-history__year {
		width: 300px;
		padding: 0 40px;
	}
}

@media screen and (max-width: 1280px) {
	.about-history__inner {
		padding: 60px 50px;
	}
	
	.about-history__title {
		font-size: 44px;
		margin-bottom: 60px;
	}
	
	.about-history__image {
		height: 260px;
		margin-bottom: 40px;
	}
	
	.about-history__year {
		width: 200px;
		padding: 0 20px;
		font-size: 26px;
	}
	
	.about-history__month,
	.about-history__text {
		font-size: 18px;
	}
}

@media screen and (max-width: 1024px) {
	.about-history__inner {
		padding: 50px 30px;
	}
	
	.about-history__title {
		font-size: 36px;
		margin-bottom: 40px;
	}
	
	.about-history__image {
		height: 220px;
		margin-bottom: 30px;
	}
	
	.about-history__item {
		flex-direction: column;
		align-items: flex-start;
		gap: 15px;
		padding: 25px 0;
	}
	
	.about-history__year {
		width: 100%;
		padding: 0;
		font-size: 24px;
	}
	
	.about-history__content {
		width: 100%;
		padding-left: 0;
	}
	
	.about-history__month {
		width: 50px;
		font-size: 16px;
	}
	
	.about-history__text {
		font-size: 16px;
	}
}

@media screen and (max-width: 640px) {
	.about-history {
		padding-bottom: 40px;
	}
	
	.about-history__inner {
		padding: 40px 20px;
	}
	
	.about-history__title {
		font-size: 28px;
		margin-bottom: 30px;
	}
	
	.about-history__image {
		height: 180px;
		margin-bottom: 20px;
	}
	
	.about-history__item {
		padding: 20px 0;
		gap: 10px;
	}
	
	.about-history__year {
		font-size: 20px;
	}
	
	.about-history__month {
		font-size: 14px;
	}
	
	.about-history__text {
		font-size: 14px;
	}
	
	.about-history__content--multi {
		gap: 15px;
	}
}

/* ========================================
   0103 비전 및 경영 이념 Page - 1920px 기준 vw + clamp (회사소개와 동일)
======================================== */
.about-vision {
	padding-bottom: clamp(60px, 5.21vw, 100px);
}

.about-vision__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: clamp(60px, 5.21vw, 100px) clamp(80px, 8.33vw, 160px);
	box-sizing: border-box;
}

.about-vision__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: clamp(32px, 2.71vw, 52px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: clamp(60px, 5.21vw, 100px);
}

/* Section Common */
.about-vision__section {
	margin-bottom: clamp(100px, 9.375vw, 180px);
}

.about-vision__section:last-child {
	margin-bottom: 0;
}

.about-vision__section-title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: clamp(24px, 1.875vw, 36px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 0;
}

.about-vision__section-title--en {
	font-family: var(--font-display);
}

/* 01. 성장 전략 - Figma 1080×360, 카드 동일 크기·겹침 유지, 우측 잘림 방지 */
.about-vision__section--strategy {
	display: flex;
	gap: 0;
	min-width: 0;
	align-items: flex-start;
	overflow: visible; /* 우측 카드 잘림 방지 */
}

.about-vision__section--strategy .about-vision__section-title {
	flex-shrink: 0;
	width: 400px;
}

/* 도식 영역: 우측 정렬, 우측 잘림 방지 */
.about-vision__strategy-content {
	position: relative;
	width: 100%;
	min-width: 0;
	max-width: min(1080px, calc(100% - 400px));
	aspect-ratio: 1080 / 360;
	height: auto;
	margin-left: auto;
	overflow: visible; /* 검은 카드 우측 잘림 방지 */
}

/* Figma: RECTANGLE + borderRadius 300px → pill(캡슐) 형태, strokeDashes [3,3] */
.about-vision__strategy-line {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	border-radius: 300px;
	/* SVG pill: rect rx=절반높이 → 양끝 반원, 가운데 직선 (타원이 아님) */
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1080 360'%3E%3Crect x='2' y='2' width='1076' height='356' rx='178' ry='178' fill='none' stroke='%23000' stroke-width='2' stroke-dasharray='3 3'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

/* 카드: 두 카드 동일 크기(50.5%×83.33%), 우측 여유 확보로 잘림 방지 */
.about-vision__strategy-card {
	position: absolute;
	width: 50.5%;
	height: 83.33%;
	top: 8.33%;
	left: 0;
	box-sizing: border-box;
	border-radius: 1000px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 28px;
}

.about-vision__strategy-card--gray {
	left: 2.78%;
	background: #F8F8F8;
}

.about-vision__strategy-card--black {
	left: 46.2%;   /* 겹침 유지, 우측 3% 여유 */
	background: #000000;
}

.about-vision__strategy-icon {
	width: 10.18%;
	height: 20%;
	min-width: 24px;
	min-height: 26px;
	max-width: 48px;
	max-height: 52px;
}

.about-vision__strategy-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.about-vision__strategy-text {
	text-align: center;
}

/* Figma 디자인에 맞게 작게: 16px / 20px */
.about-vision__strategy-desc {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #AAAAAA;
	margin-bottom: 6px;
}

.about-vision__strategy-card--black .about-vision__strategy-desc {
	color: #FFFFFF;
}

.about-vision__strategy-title {
	font-family: var(--font-primary);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.about-vision__strategy-card--black .about-vision__strategy-title {
	color: #FFFFFF;
}

/* 02. VISION */
.about-vision__section--vision {
	display: flex;
	gap: 0;
}

.about-vision__section--vision .about-vision__section-title {
	flex-shrink: 0;
	width: clamp(320px, 27.08vw, 520px);
}

.about-vision__vision-content {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.about-vision__vision-row {
	display: flex;
	gap: clamp(36px, 3.13vw, 60px);
}

.about-vision__vision-item {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: clamp(24px, 2.08vw, 40px);
	padding: clamp(36px, 3.13vw, 60px) clamp(14px, 1.04vw, 20px);
	border-top: 2px solid #000000;
}

.about-vision__vision-item--noborder {
	padding-top: clamp(36px, 3.13vw, 60px);
	padding-bottom: 0;
}

.about-vision__vision-num {
	width: clamp(28px, 2.08vw, 40px);
	height: clamp(28px, 2.08vw, 40px);
	background: #000000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.about-vision__vision-num span {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(12px, 0.83vw, 16px);
	line-height: 1.3;
	letter-spacing: -0.03em;
	color: #FECF07;
}

.about-vision__vision-text {
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: clamp(14px, 1.04vw, 20px);
	line-height: 1.7;
	letter-spacing: -0.03em;
	color: #333333;
}

/* 03. 경영 이념 - Figma 2273-2852: 배너 위·아래 여백 각 180px (VISION~배너 180px, 배너~MISSION 180px) */
/* height/overflow는 PC(1025px~)에서만 적용 — 1024px 이하에서는 미적용으로 짤림 근본 해결 */
.about-vision__philosophy {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(30px, 2.6vw, 50px);
	margin-top: clamp(100px, 9.375vw, 180px);   /* 배너 위 여백 */
	margin-bottom: clamp(100px, 9.375vw, 180px); /* 배너 아래 여백 */
	padding: clamp(100px, 8.28vw, 159px) clamp(80px, 8.33vw, 160px);
	box-sizing: border-box;
}
@media screen and (min-width: 1025px) {
	.about-vision__philosophy {
		height: clamp(560px, 48.85vw, 938px) !important;
		max-height: 938px !important;
		overflow: hidden;
	}
}

/* 첫 번째 inner의 padding-bottom 제거 → VISION~배너 간격이 philosophy margin-top 180px만 적용되도록 */
.about-vision__inner:first-of-type {
	padding-bottom: 0;
}

/* 배너 바로 다음 inner의 padding-top 제거 → 배너~MISSION 간격이 180px만 적용되도록 */
.about-vision__philosophy + .about-vision__inner {
	padding-top: 0;
}

.about-vision__philosophy-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 61%; /* 위로 약 200px (82% → 61%) */
	z-index: 0;
}
/* 배경 이미지 높이 상한은 PC만 — 1024px 이하에서 섹션/카드 짤림 방지 */
@media screen and (min-width: 1025px) {
	.about-vision__philosophy-bg {
		max-height: 938px;
	}
}

.about-vision__philosophy-cards {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: clamp(30px, 2.6vw, 50px);
}

.about-vision__philosophy .about-vision__philosophy-card {
	position: relative;
	width: clamp(300px, 26.04vw, 500px);
	background: rgba(255, 255, 255, 0.05) !important;
	border: 2px solid rgba(255, 255, 255, 0.08) !important;
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
	padding: clamp(50px, 4.17vw, 80px) clamp(32px, 2.6vw, 50px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: clamp(24px, 2.08vw, 40px);
}
@media screen and (min-width: 1025px) {
	.about-vision__philosophy .about-vision__philosophy-card {
		height: clamp(380px, 32.29vw, 620px);
		max-height: 620px;
	}
}

/* backdrop-filter 미지원 브라우저 fallback - 연한 흰색 톤 유지 */
@supports not (backdrop-filter: blur(15px)) {
	.about-vision__philosophy .about-vision__philosophy-card {
		background: rgba(255, 255, 255, 0.05) !important;
	}
}

/* ========================================
   0104 제조사 Page
======================================== */
.about-manufacturer {
	padding-bottom: 100px;
}

.about-manufacturer__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: 100px 160px;
}

.about-manufacturer__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 100px;
}

.about-manufacturer__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 5px;
}

.about-manufacturer__card {
	position: relative;
	aspect-ratio: 530 / 298;
	background: #F8F8F8;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.3s ease;
	cursor: pointer;
}

.about-manufacturer__card:hover {
	transform: scale(1.02);
}

.about-manufacturer__card-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #F8F8F8;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 1;
}

.about-manufacturer__card-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.5s ease;
	overflow: hidden;
}

.about-manufacturer__card-video.loaded {
	opacity: 1;
}

.about-manufacturer__card-video iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 140%;
	height: 140%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.about-manufacturer__card-logo {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s ease;
}

.about-manufacturer__card:hover .about-manufacturer__card-logo {
	opacity: 0.3;
}

/* 호버 시 로고 색상 흰색으로 변경 */
.about-manufacturer__card:hover .about-manufacturer__card-logo img {
	filter: brightness(0) saturate(100%) invert(1);
}

/* 동영상 재생 중일 때만 로고 숨김 */
.about-manufacturer__card-video.loaded ~ .about-manufacturer__card-logo {
	opacity: 0;
}

/* 호버 중 동영상 재생 시에도 로고 숨김 (hover보다 우선) */
.about-manufacturer__card:hover .about-manufacturer__card-video.loaded ~ .about-manufacturer__card-logo {
	opacity: 0;
}

/* 마우스 뗀 카드는 로고 다시 표시 */
.about-manufacturer__card-video:not(.loaded) ~ .about-manufacturer__card-logo {
	opacity: 1;
}

/* Figma 시안(2273-3022) 제조사 그리드 로고 크기 적용 */
.about-manufacturer__card-logo img {
	width: 140px;
	height: 35px;
	object-fit: contain;
	object-position: center center;
	/* 흰색 로고를 #AAAAAA 회색으로 변환 */
	filter: brightness(0) saturate(100%) invert(73%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(90%) contrast(87%);
}

.about-manufacturer__card:nth-child(1) .about-manufacturer__card-logo img { width: 140px; height: 35px; }
.about-manufacturer__card:nth-child(2) .about-manufacturer__card-logo img { width: 125px; height: 35px; }
.about-manufacturer__card:nth-child(3) .about-manufacturer__card-logo img { width: 311px; height: 35px; }
.about-manufacturer__card:nth-child(4) .about-manufacturer__card-logo img { width: 172px; height: 25px; }
.about-manufacturer__card:nth-child(5) .about-manufacturer__card-logo img { width: 220px; height: 28px; } /* VIDEOTRON - 시안 대비 확대 */
.about-manufacturer__card:nth-child(6) .about-manufacturer__card-logo img { width: 108px; height: 25px; }
.about-manufacturer__card:nth-child(7) .about-manufacturer__card-logo img { width: 134px; height: 65px; }
.about-manufacturer__card:nth-child(8) .about-manufacturer__card-logo img { width: 105px; height: 35px; }
.about-manufacturer__card:nth-child(9) .about-manufacturer__card-logo img { width: 180px; height: 53px; } /* LAON - 시안 대비 확대 */

/* Videotron(가운데) - 디폴트는 다른 카드와 동일(회색 배경+로고), 호버 시에만 노란색 */
.about-manufacturer__card--image .about-manufacturer__card-bg {
	background: #F8F8F8;
	z-index: 1;
	transition: opacity 0.3s ease;
}

/* 호버 시 노란 배경 (의사요소) */
.about-manufacturer__card--image::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FECF07;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

/* 호버 시 노란 배경 (실제 div - JS 제어용) */
.about-manufacturer__card--image .about-manufacturer__card-yellow {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FECF07;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}

.about-manufacturer__card--image:hover::before,
.about-manufacturer__card--image.is-hover::before {
	opacity: 1 !important;
}

.about-manufacturer__card--image.is-hover .about-manufacturer__card-yellow {
	opacity: 1 !important;
}

.about-manufacturer__card--image:hover .about-manufacturer__card-bg,
.about-manufacturer__card--image.is-hover .about-manufacturer__card-bg {
	opacity: 0 !important;
}

.about-manufacturer__card--image .about-manufacturer__card-logo {
	z-index: 3;
}

.about-manufacturer__card--image:hover .about-manufacturer__card-logo,
.about-manufacturer__card--image.is-hover .about-manufacturer__card-logo {
	opacity: 1 !important;
}

/* 제조사 Page Responsive */
@media screen and (max-width: 1600px) {
	.about-manufacturer__inner {
		padding: 100px 127px;
	}
}

@media screen and (max-width: 1440px) {
	.about-manufacturer__inner {
		padding: 80px 100px;
	}
	
	.about-manufacturer__title {
		margin-bottom: 100px;
	}
}

@media screen and (max-width: 1280px) {
	.about-manufacturer__inner {
		padding: 60px 50px;
	}
	
	.about-manufacturer__title {
		font-size: 44px;
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 1024px) {
	.about-manufacturer__inner {
		padding: 50px 30px;
	}
	
	.about-manufacturer__title {
		font-size: 36px;
		margin-bottom: 40px;
	}
	
	.about-manufacturer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 640px) {
	/* PC 100px → 모바일 비율 40% 적용 */
	.about-manufacturer {
		padding-bottom: 40px;
	}
	
	.about-manufacturer__inner {
		padding: 40px 20px;
	}
	
	.about-manufacturer__title {
		font-size: 28px;
		margin-bottom: 30px;
	}
	
	.about-manufacturer__grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	/* 모바일: 로고 박스 내 좌우 여백 확보(Pixotope 등 가로 긴 로고 대응) */
	.about-manufacturer__card-logo {
		padding: 0 20px;
		box-sizing: border-box;
	}
	.about-manufacturer__card-logo img {
		max-width: 100%;
		height: auto;
		object-fit: contain;
	}
}

/* ========================================
   0105 협력사 및 고객사 리스트 Page
======================================== */
.about-partner {
	padding-bottom: 100px;
}

.about-partner__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: 100px 160px;
}

.about-partner__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 100px;
}

/* 통 이미지를 5열 스프라이트로 사용, 각 셀은 해당 영역만 표시 → 시안 박스 312×120px */
.about-partner__logos {
	display: grid;
	grid-template-columns: repeat(5, 312px);
	grid-auto-rows: 120px;
	gap: 24px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.about-partner__logo {
	width: 312px;
	height: 120px;
	background-image: url(/img/sub/about/partner/partner_logos_full.png);
	background-size: 500% 600%;
	background-repeat: no-repeat;
	background-position: 0% 0%;
}

/* 5열×6행 스프라이트: n번째 셀의 background-position (col 0~4 → 0%,25%,50%,75%,100% / row 0~5 → 0%,20%,40%,60%,80%,100%) */
.about-partner__logo:nth-child(1) { background-position: 0% 0%; }
.about-partner__logo:nth-child(2) { background-position: 25% 0%; }
.about-partner__logo:nth-child(3) { background-position: 50% 0%; }
.about-partner__logo:nth-child(4) { background-position: 75% 0%; }
.about-partner__logo:nth-child(5) { background-position: 100% 0%; }
.about-partner__logo:nth-child(6) { background-position: 0% 20%; }
.about-partner__logo:nth-child(7) { background-position: 25% 20%; }
.about-partner__logo:nth-child(8) { background-position: 50% 20%; }
.about-partner__logo:nth-child(9) { background-position: 75% 20%; }
.about-partner__logo:nth-child(10) { background-position: 100% 20%; }
.about-partner__logo:nth-child(11) { background-position: 0% 40%; }
.about-partner__logo:nth-child(12) { background-position: 25% 40%; }
.about-partner__logo:nth-child(13) { background-position: 50% 40%; }
.about-partner__logo:nth-child(14) { background-position: 75% 40%; }
.about-partner__logo:nth-child(15) { background-position: 100% 40%; }
.about-partner__logo:nth-child(16) { background-position: 0% 60%; }
.about-partner__logo:nth-child(17) { background-position: 25% 60%; }
.about-partner__logo:nth-child(18) { background-position: 50% 60%; }
.about-partner__logo:nth-child(19) { background-position: 75% 60%; }
.about-partner__logo:nth-child(20) { background-position: 100% 60%; }
.about-partner__logo:nth-child(21) { background-position: 0% 80%; }
.about-partner__logo:nth-child(22) { background-position: 25% 80%; }
.about-partner__logo:nth-child(23) { background-position: 50% 80%; }
.about-partner__logo:nth-child(24) { background-position: 75% 80%; }
.about-partner__logo:nth-child(25) { background-position: 100% 80%; }
.about-partner__logo:nth-child(26) { background-position: 0% 100%; }

/* 협력사 및 고객사 리스트 Page Responsive - 1700px 이하에서 유연 그리드(1520 등에서 우측 잘림 방지) */
@media screen and (max-width: 1700px) {
	.about-partner__inner {
		padding: 100px 100px;
	}
	
	.about-partner__logos {
		grid-template-columns: repeat(5, 1fr);
		min-width: 0;
	}
	
	.about-partner__logo {
		width: 100%;
		min-width: 0;
		height: auto;
		aspect-ratio: 312 / 120;
	}
}

@media screen and (max-width: 1600px) {
	.about-partner__inner {
		padding: 100px 127px;
	}
}

@media screen and (max-width: 1440px) {
	.about-partner__inner {
		padding: 80px 100px;
	}
	
	.about-partner__title {
		margin-bottom: 100px;
	}
	
	.about-partner__logos {
		gap: 20px;
	}
}

@media screen and (max-width: 1280px) {
	.about-partner__inner {
		padding: 60px 50px;
	}
	
	.about-partner__title {
		font-size: 44px;
		margin-bottom: 60px;
	}
	
	.about-partner__logos {
		grid-template-columns: repeat(4, 1fr);
		grid-auto-rows: auto;
		gap: 16px;
	}
	
	.about-partner__logo {
		width: 100%;
		height: auto;
		aspect-ratio: 312 / 120;
	}
}

@media screen and (max-width: 1024px) {
	.about-partner__inner {
		padding: 50px 30px;
	}
	
	.about-partner__title {
		font-size: 36px;
		margin-bottom: 40px;
	}
	
	.about-partner__logos {
		grid-template-columns: repeat(3, 1fr);
		grid-auto-rows: auto;
		gap: 14px;
	}
	
	.about-partner__logo {
		width: 100%;
		height: auto;
		aspect-ratio: 312 / 120;
	}
}

@media screen and (max-width: 640px) {
	/* PC 100px → 모바일 비율 40% 적용 */
	.about-partner {
		padding-bottom: 40px;
	}
	
	.about-partner__inner {
		padding: 40px 20px;
	}
	
	.about-partner__title {
		font-size: 28px;
		margin-bottom: 30px;
	}
	
	/* 모바일: 2열 그리드, 가로 스크롤 없음 */
	.about-partner__logos {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: auto;
		gap: 12px;
		overflow: visible;
	}
	
	.about-partner__logo {
		width: 100%;
		height: auto;
		aspect-ratio: 312 / 120;
	}
}

/* ========================================
   Solution List Page (Broadcasting, XR/VP, Multimedia)
======================================== */
.solution-list {
	padding-bottom: 100px;
}

.solution-list__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: 100px 160px;
}

/* PC: Figma 시안 – 타이틀~버튼·버튼~이미지박스 간격 */
.solution-list__title {
	font-family: var(--font-secondary);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 60px;
}

/* 필터 탭 */
.solution-list__filter {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 80px;
}

.solution-list__filter-btn {
	padding: 15px 40px;
	border-radius: 100px;
	border: 2px solid #E5E5E5;
	background: transparent;
	font-family: var(--font-secondary);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #CCCCCC;
	cursor: pointer;
	transition: all 0.3s ease;
}

.solution-list__filter-btn:hover {
	border-color: #111111;
	color: #111111;
}

.solution-list__filter-btn.active {
	background: #000000;
	border-color: #000000;
	color: #FFFFFF;
}

/* 리스트 그리드 */
.solution-list__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
	margin-bottom: 80px;
}

.solution-list__card {
	display: flex;
	flex-direction: column;
	gap: 30px;
	text-decoration: none;
	cursor: pointer;
}

.solution-list__card:hover .solution-list__card-img img {
	transform: scale(1.05);
}

.solution-list__card-img {
	position: relative;
	width: 100%;
	aspect-ratio: 500 / 280;
	overflow: hidden;
	background: #F8F8F8;
}

.solution-list__card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.solution-list__card-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.solution-list__card-play img {
	width: 12px;
	height: auto;
	margin-left: 4px;
}

.solution-list__card-noimg {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F8F8F8;
}

.solution-list__card-noimg img {
	width: 34px;
	height: 34px;
	object-fit: contain;
}

.solution-list__card-title {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.6;
	letter-spacing: -0.02em;
	color: #111111;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 페이징 */
.solution-list__paging {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0;
}

.solution-list__paging-btn {
	width: 45px;
	height: 45px;
	border: none;
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.solution-list__paging-btn:disabled {
	cursor: default;
	opacity: 1;
}

.solution-list__paging-btn img {
	width: 45px;
	height: 45px;
}

.solution-list__paging-nums {
	display: flex;
	align-items: center;
}

.solution-list__paging-num {
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 18px;
	color: #111111;
	text-decoration: none;
	border-radius: 50%;
}

.solution-list__paging-num.active {
	background: #FECF07;
	color: #FFFFFF;
}

/* 1520~1600px: base보다 뒤에 두어 캐스케이드 우선 적용 | 여백 127px(다른 서브와 동일), 타이틀 크기 축소 */
@media screen and (max-width: 1600px) {
	.solution-list__inner {
		padding: 100px 127px;
	}
	.solution-list__title {
		font-size: 44px;
		margin-bottom: 60px;
	}
}

/* Solution List Responsive */
@media screen and (max-width: 1440px) {
	.solution-list__inner {
		padding: 80px 100px;
	}
	
	.solution-list__title {
		margin-bottom: 60px;
	}
	
	.solution-list__filter {
		margin-bottom: 100px;
	}
	
	.solution-list__grid {
		gap: 40px;
	}
}

@media screen and (max-width: 1280px) {
	.solution-list__inner {
		padding: 60px 50px;
	}
	
	.solution-list__title {
		font-size: 44px;
		margin-bottom: 60px;
	}
	
	.solution-list__filter {
		margin-bottom: 60px;
	}
	
	.solution-list__filter-btn {
		padding: 12px 30px;
		font-size: 18px;
	}
	
	.solution-list__grid {
		gap: 30px;
	}
	
	.solution-list__card-title {
		font-size: 20px;
	}
}

@media screen and (max-width: 1024px) {
	.solution-list__inner {
		padding: 50px 30px;
	}
	
	.solution-list__title {
		font-size: 36px;
		margin-bottom: 60px;
	}
	
	.solution-list__filter {
		margin-bottom: 40px;
	}
	
	.solution-list__filter-btn {
		padding: 10px 24px;
		font-size: 16px;
	}
	
	.solution-list__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
	
	.solution-list__card-title {
		font-size: 18px;
	}
}

@media screen and (max-width: 640px) {
	/* PC 100px → 모바일 비율 40% 적용 */
	.solution-list {
		padding-bottom: 40px;
	}
	
	.solution-list__inner {
		padding: 40px 20px;
	}
	
	.solution-list__title {
		font-size: 28px;
		margin-bottom: 40px;
	}
	
	/* 모바일: 필터 버튼 3열 균등 배치, 텍스트 가운데 정렬 */
	.solution-list__filter {
		margin-bottom: 30px;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 8px;
	}
	
	.solution-list__filter-btn {
		padding: 8px 20px;
		font-size: 14px;
		min-width: 0;
		text-align: center;
	}
	
	.solution-list__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.solution-list__card {
		gap: 20px;
	}
	
	.solution-list__card-title {
		font-size: 16px;
	}
	
	/* 모바일: 페이지네이션 버튼 터치 영역·간격 확대 */
	.solution-list__paging {
		gap: 8px !important;
	}
	.solution-list__paging-btn--first,
	.solution-list__paging-btn--last {
		display: none !important;
	}
	.solution-list__paging-btn {
		min-width: 56px !important;
		min-height: 56px !important;
		width: 56px !important;
		height: 56px !important;
	}
	.solution-list__paging-btn img {
		width: 28px !important;
		height: 28px !important;
	}
	.solution-list__paging-nums {
		gap: 8px !important;
	}
	/* 모바일: 숫자 버튼 3개만 노출 → 여유 공간으로 < > 버튼 확대 */
	.solution-list__paging-nums .solution-list__paging-num:nth-child(n+4) {
		display: none !important;
	}
	.solution-list__paging-num {
		min-width: 36px !important;
		min-height: 36px !important;
		width: 36px !important;
		height: 36px !important;
		font-size: 16px !important;
	}
}

/* ========================================
   Solution View Page (상세 페이지)
======================================== */
.solution-view {
	padding-bottom: 100px;
}

.solution-view__inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 100px 20px;
}

/* 상단: 제목 + 정보 */
.solution-view__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 60px 0;
	border-top: 2px solid #000000;
	border-bottom: 1px solid #000000;
}

.solution-view__title {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 36px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	text-align: center;
}

.solution-view__info {
	display: flex;
	align-items: center;
	gap: 20px;
}

.solution-view__author,
.solution-view__date {
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #555555;
}

.solution-view__date {
	font-family: var(--font-secondary);
}

.solution-view__bar {
	width: 1px;
	height: 15px;
	background: #E5E5E5;
}

/* 본문: 웹에디터 영역 */
.solution-view__content {
	min-height: 380px;
	margin-top: 60px;
	padding: 40px;
	background: #F8F8F8;
	border-radius: 10px;
}

.solution-view__content p {
	font-family: var(--font-primary);
	font-weight: 400;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: -0.02em;
	color: #333333;
}

/* 본문: 동영상 (유튜브) */
.solution-view__video {
	margin-top: 60px;
	border-radius: 10px;
	overflow: hidden;
	background: #000;
}

.solution-view__video-inner {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.solution-view__video-inner iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* portfolio-view 동영상 (유튜브) */
.portfolio-view__video {
	margin-top: 60px;
	border-radius: 10px;
	overflow: hidden;
	background: #000;
}

.portfolio-view__video-inner {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.portfolio-view__video-inner iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

/* 첨부파일 */
.solution-view__files {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-top: 60px;
}

.solution-view__file {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 20px;
	background: #F8F8F8;
	border-radius: 10px;
	text-decoration: none;
	transition: background 0.3s ease;
}

/* 첨부파일 호버 효과 제거 (시안) */

.solution-view__file img {
	width: 14px;
	height: auto;
}

.solution-view__file span {
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-size: 17px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #555555;
}

/* 이전글/다음글 - 정중앙 세로구분선만 (상하 선 없음) */
.solution-view__nav {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-top: 60px;
}

.solution-view__nav-divider {
	flex-shrink: 0;
	width: 1px;
	height: 24px;
	background: #E5E5E5;
	align-self: center;
}

.solution-view__nav-item {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px 0;
	text-decoration: none;
	flex: 1;
	min-width: 0;
}

.solution-view__nav-item--prev {
	border-bottom: none;
	justify-content: flex-start;
}

.solution-view__nav-item--next {
	justify-content: flex-end;
}

.solution-view__nav-btn {
	display: flex;
	align-items: center;
	gap: 10px;
}

.solution-view__nav-btn img {
	width: 7px;
	height: auto;
}

.solution-view__nav-btn span {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #CCCCCC;
}

.solution-view__nav-title {
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #888888;
}

/* 이전글/다음글 호버 효과 제거 (시안) */

/* 목록으로 버튼 - 호버 시 메인 색상 #FECF07 + 텍스트 올라오는 효과 */
.solution-view__list-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 80px;
	margin: 80px auto 0;
	background: #000000;
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 20px;
	color: #FFFFFF;
	text-decoration: none;
	transition: background 0.3s ease, color 0.3s ease;
	overflow: hidden;
}

.solution-view__list-btn:hover {
	background: #FECF07;
	color: #FFFFFF;
}

.solution-view__list-btn-motion {
	display: flex;
	flex-direction: column;
	height: 1.3em;
	overflow: hidden;
}

.solution-view__list-btn-motion .solution-view__list-btn-text {
	display: inline-block;
	transition: transform 0.3s ease;
	flex-shrink: 0;
}

.solution-view__list-btn:hover .solution-view__list-btn-motion .solution-view__list-btn-text {
	transform: translateY(-100%);
}

/* Solution View Responsive */
@media screen and (max-width: 1600px) {
	.solution-view__inner {
		padding: 100px 127px;
	}
}

@media screen and (max-width: 1024px) {
	.solution-view__inner {
		padding: 60px 30px;
	}
	
	.solution-view__header {
		padding: 40px 0;
	}
	
	.solution-view__title {
		font-size: 28px;
	}
	
	.solution-view__content {
		min-height: 300px;
		margin-top: 40px;
	}
	
	.solution-view__video {
		margin-top: 40px;
	}
	
	.solution-view__files {
		margin-top: 40px;
	}
	
	.solution-view__nav {
		flex-direction: column;
		gap: 0;
		margin-top: 40px;
		align-items: flex-start;
	}
	
	.solution-view__nav-divider {
		display: none;
	}
	
	.solution-view__nav-item {
		width: 100%;
		justify-content: flex-start;
	}
	
	.solution-view__nav-title {
		text-align: left;
		flex: 0 1 auto;
		min-width: 0;
	}
	
	.solution-view__nav-item--prev {
		border-bottom: 1px solid #E5E5E5;
	}
	
	/* 다음글: 다음글 > 앞(좌), 타이틀 뒤(우) — row-reverse이므로 flex-end가 좌측 */
	.solution-view__nav-item--next {
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
	
	.solution-view__list-btn {
		width: 100%;
		max-width: 300px;
		margin-top: 60px;
	}
}

@media screen and (max-width: 640px) {
	/* PC 100px → 모바일 비율 40% 적용 */
	.solution-view {
		padding-bottom: 40px;
	}
	
	.solution-view__inner {
		padding: 40px 20px;
	}
	
	.solution-view__header {
		padding: 30px 0;
		gap: 15px;
	}
	
	.solution-view__title {
		font-size: 22px;
	}
	
	.solution-view__author,
	.solution-view__date {
		font-size: 14px;
	}
	
	.solution-view__content {
		min-height: 200px;
		padding: 20px;
		margin-top: 30px;
	}
	
	.solution-view__video {
		margin-top: 30px;
	}

	.solution-view__files {
		margin-top: 30px;
	}
	
	.solution-view__file {
		padding: 15px;
	}
	
	.solution-view__file span {
		font-size: 14px;
	}
	
	.solution-view__nav {
		margin-top: 30px;
		align-items: flex-start;
	}
	
	.solution-view__nav-title {
		text-align: left;
		font-size: 14px;
		flex: 0 1 auto;
		min-width: 0;
	}
	
	.solution-view__nav-btn span {
		font-size: 14px;
	}
	
	.solution-view__list-btn {
		height: 60px;
		font-size: 16px;
		margin-top: 40px;
	}
}

.about-vision__philosophy-icon {
	width: clamp(50px, 4.17vw, 80px);
	height: clamp(50px, 4.17vw, 80px);
}

.about-vision__philosophy-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.about-vision__philosophy-text {
	display: flex;
	flex-direction: column;
	gap: clamp(24px, 2.08vw, 40px);
}

.about-vision__philosophy-title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: clamp(24px, 1.875vw, 36px);
	line-height: 1.3;
	letter-spacing: -0.03em;
	color: #FFFFFF;
}

.about-vision__philosophy-desc {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: clamp(14px, 1.04vw, 20px);
	line-height: 1.7;
	letter-spacing: -0.03em;
	color: rgba(255, 255, 255, 0.9);
}

/* 04. MISSION */
.about-vision__section--mission {
	margin-bottom: 0;
	position: relative;
	height: clamp(900px, 86.88vw, 1668px);
	overflow: hidden;
}

.about-vision__section-title--mission {
	position: absolute;
	top: clamp(-100px, -9.375vw, -180px);
	left: 0;
	padding-top: clamp(100px, 9.375vw, 180px);
	margin-bottom: 0;
}

.about-vision__mission-content {
	position: relative;
	height: 100%;
}

.about-vision__mission-item {
	position: absolute;
	display: flex;
	flex-direction: column;
	gap: clamp(24px, 2.08vw, 40px);
	width: clamp(360px, 32.81vw, 630px);
	max-width: calc(100% - 40px);
	left: clamp(300px, 27.08vw, 520px);
}

.about-vision__mission-item:nth-child(1) {
	top: 0;
	left: clamp(300px, 27.08vw, 520px);
}

.about-vision__mission-item:nth-child(2) {
	top: clamp(340px, 31.04vw, 596px);
	left: clamp(560px, 50.52vw, 970px);
}

.about-vision__mission-item:nth-child(3) {
	top: clamp(680px, 62.08vw, 1192px);
	left: clamp(300px, 27.08vw, 520px);
}

/* Figma: 01 이미지 710×400, left -80 겹침 / 02 이미지 630×420 / 03 이미지 630×400 */
.about-vision__mission-item:nth-child(1) .about-vision__mission-img {
	width: clamp(400px, 37.0vw, 710px);
	height: clamp(220px, 20.83vw, 400px);
	margin-left: clamp(-48px, -4.17vw, -80px);
}

.about-vision__mission-item:nth-child(2) .about-vision__mission-img {
	width: clamp(360px, 32.81vw, 630px);
	height: clamp(240px, 21.88vw, 420px);
	margin-top: -10px;
}

.about-vision__mission-img {
	width: 100%;
	height: clamp(220px, 20.83vw, 400px);
	overflow: hidden;
}

.about-vision__mission-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 90% center;
}

.about-vision__mission-text {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: clamp(16px, 1.25vw, 24px);
	line-height: 1.5;
	letter-spacing: -0.03em;
	color: #111111;
}

/* PC(1920px) 전용: philosophy 영역 공간 확보 + MISSION 레이아웃 고정 */
@media screen and (min-width: 1601px) {
	/* philosophy(미래지향/친환경/제품만족) 높이 고정 - 강제 적용 테스트 */
	.about-vision__philosophy {
		height: 937px !important;
		max-height: 938px;
		margin-bottom: 180px;
	}
	.about-vision__section--mission {
		margin-top: 0;
	}
	.about-vision__section--mission .about-vision__mission-item:nth-child(1) {
		position: absolute;
		top: 0;
		left: 520px;
		width: 630px;
	}
	.about-vision__section--mission .about-vision__mission-item:nth-child(2) {
		position: absolute;
		top: 596px;
		left: 970px;
		width: 630px;
	}
	.about-vision__section--mission .about-vision__mission-item:nth-child(3) {
		position: absolute;
		top: 1192px;
		left: 520px;
		width: 630px;
	}
}

/* 비전 Page Responsive - 1520~1600px 노트북 전용 (641px 이하·태블릿 간섭 방지) */
@media screen and (min-width: 1025px) and (max-width: 1600px) {
	.about-vision__inner {
		padding: 100px 127px;
	}
	.about-vision__inner:first-of-type {
		padding-top: 79px; /* 1520 기준 비율: Figma 100px × (1520/1920) ≈ 79px */
		padding-bottom: 0;
	}
	.about-vision__philosophy + .about-vision__inner {
		padding-top: 0;
	}
	
	.about-vision__section--strategy .about-vision__section-title,
	.about-vision__section--vision .about-vision__section-title {
		width: 400px;
	}
	
	/* 성장 전략: base의 % + max-width calc(100%-520px)로 자동 스케일, 별도 px 오버라이드 제거 */
	
	.about-vision__philosophy {
		padding: 159px 127px;
	}
	
	/* 미래지향/친환경/제품만족: 노트북용 - 카드 더 투명(배경 비치도록), 배경 이미지 위로 200px */
	.about-vision__philosophy-bg {
		object-position: center calc(45% - 200px);
	}
	.about-vision__philosophy-cards {
		display: flex;
		gap: 50px;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	.about-vision__philosophy-card {
		flex: 1;
		min-width: 0;
		height: 517px;
		max-height: 517px;
		max-width: min(420px, calc((100vw - 300px) / 3));
		box-sizing: border-box;
		background: rgba(255, 255, 255, 0.01);
		border: 2px solid rgba(255, 255, 255, 0.04);
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
	}
	
	/* MISSION 이미지: PC(630/520·970)와 1440px(500/350·500) 사이 중간값, PC 레이아웃 유지 */
	.about-vision__mission-item:nth-child(1) {
		left: 450px;
	}
	.about-vision__mission-item:nth-child(1) .about-vision__mission-img {
		width: 100%;
		margin-left: 0;
	}
	
	.about-vision__mission-item:nth-child(2) {
		left: 750px;
	}
	.about-vision__mission-item:nth-child(2) .about-vision__mission-img {
		width: 100%;
		margin-top: 0;
	}
	
	.about-vision__mission-item:nth-child(3) {
		left: 450px;
	}
	
	.about-vision__mission-item {
		width: 580px;
		max-width: min(580px, calc(100vw - 850px));
		box-sizing: border-box;
	}
	
	/* 노트북: 카드 더 투명(배경 더 비치도록), 블러 축소, 배경 이미지 위로 200px */
	.about-vision__philosophy .about-vision__philosophy-card {
		background: rgba(255, 255, 255, 0.01) !important;
		border: 2px solid rgba(255, 255, 255, 0.04) !important;
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
	}
	.about-vision__philosophy .about-vision__philosophy-bg {
		object-position: center calc(45% - 200px) !important;
	}
}

/* 비전 Page - 1025~1440px 노트북 전용 (640px·태블릿 간섭 방지) */
@media screen and (min-width: 1025px) and (max-width: 1440px) {
	.about-vision__inner {
		padding: 80px 127px;
	}
	.about-vision__inner:first-of-type {
		padding-bottom: 0;
	}
	.about-vision__philosophy + .about-vision__inner {
		padding-top: 0;
	}
	
	.about-vision__section--strategy .about-vision__section-title,
	.about-vision__section--vision .about-vision__section-title {
		width: 400px;
	}
	
	.about-vision__philosophy {
		margin-bottom: 180px;
		padding: 159px 127px;
	}
	.about-vision__philosophy-bg {
		object-position: center 45%;
	}
	.about-vision__philosophy-card {
		width: 420px;
		height: 465px;
		max-height: 465px;
		padding: 60px 40px;
		background: rgba(255, 255, 255, 0.03);
		border: 2px solid rgba(255, 255, 255, 0.05);
	}
	
	.about-vision__mission-item:nth-child(1) {
		left: 350px;
	}
	.about-vision__mission-item:nth-child(1) .about-vision__mission-img {
		width: 100%;
		margin-left: 0;
	}
	
	.about-vision__mission-item:nth-child(2) {
		left: 500px;
	}
	.about-vision__mission-item:nth-child(2) .about-vision__mission-img {
		width: 100%;
		margin-top: 0;
	}
	
	.about-vision__mission-item:nth-child(3) {
		left: 350px;
	}
	
	.about-vision__mission-item {
		width: 500px;
	}
}

@media screen and (max-width: 1280px) {
	.about-vision__inner {
		padding: 60px 50px;
	}
	.about-vision__inner:first-of-type {
		padding-bottom: 0;
	}
	.about-vision__philosophy + .about-vision__inner {
		padding-top: 0;
	}
	
	.about-vision__title {
		font-size: 44px;
		margin-bottom: 100px;
	}
	
	.about-vision__section {
		flex-direction: column;
		gap: 40px;
		margin-bottom: 120px;
	}
	
	.about-vision__section-title {
		width: 100% !important;
		font-size: 30px;
	}
	
	.about-vision__strategy-content {
		width: 100%;
		height: auto;
		min-height: 300px;
	}
	
	.about-vision__strategy-line {
		display: none;
	}
	
	.about-vision__strategy-card {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		width: calc(50% - 15px);
		height: 280px;
		display: inline-flex;
	}
	
	.about-vision__strategy-content {
		display: flex;
		gap: 30px;
	}
	
	.about-vision__vision-content {
		width: 100%;
	}
	
	.about-vision__vision-row {
		gap: 30px;
	}
	
	.about-vision__philosophy {
		height: auto !important;
		max-height: none !important;
		overflow: visible;
		margin-bottom: 180px;
		padding: 159px 50px;
		flex-wrap: wrap;
	}
	
	.about-vision__philosophy-cards {
		flex-wrap: wrap;
		gap: 30px;
	}
	/* 1025~1280px만 카드 고정높이 (1024px 이하 짤림 방지) */
	@media screen and (min-width: 1025px) {
		.about-vision__philosophy-card {
			width: calc(50% - 15px);
			height: 480px;
		}
	}
	
	.about-vision__section--mission {
		height: auto;
		position: static;
	}
	
	.about-vision__section-title--mission {
		position: static;
		padding-top: 0;
	}
	
	.about-vision__mission-content {
		position: static;
		height: auto;
		display: flex;
		flex-direction: column;
		gap: 80px;
	}
	
	.about-vision__mission-item {
		position: static;
		width: 100%;
		left: auto !important;
		top: auto !important;
	}
}

@media screen and (max-width: 1024px) {
	.about-vision__inner {
		padding: 50px 30px;
	}
	.about-vision__inner:first-of-type {
		padding-bottom: 0;
	}
	.about-vision__philosophy + .about-vision__inner {
		padding-top: 0;
	}
	
	.about-vision__title {
		font-size: 36px;
		margin-bottom: 60px;
	}
	
	.about-vision__section {
		margin-bottom: 80px;
	}
	
	.about-vision__section-title {
		font-size: 26px;
	}
	
	.about-vision__strategy-card {
		width: 100%;
		height: 240px;
		gap: 30px;
	}
	
	.about-vision__strategy-content {
		flex-direction: column;
	}
	
	.about-vision__strategy-desc {
		font-size: 18px;
	}
	
	.about-vision__strategy-title {
		font-size: 22px;
	}
	
	.about-vision__vision-row {
		flex-direction: column;
		gap: 0;
	}
	
	.about-vision__vision-item {
		padding: 40px 0;
		gap: 30px;
	}
	
	.about-vision__vision-text {
		font-size: 18px;
	}
	
	/* 641~1024px(태블릿·676px 등): 경영 이념 섹션·카드 짤림 방지 (640px와 동일 원리) */
	.about-vision__philosophy {
		height: auto !important;
		max-height: none !important;
		min-height: 0;
		overflow: visible !important;
		margin-bottom: 180px;
		padding: 159px 30px;
	}
	
	.about-vision__philosophy-cards {
		overflow: visible !important;
		flex-shrink: 0;
	}
	
	.about-vision__philosophy .about-vision__philosophy-card {
		width: 100%;
		height: auto !important;
		max-height: none !important;
		min-height: 0;
		padding: 50px 30px;
		overflow: visible !important;
		flex-shrink: 0;
		justify-content: flex-start;
	}
	
	.about-vision__philosophy-title {
		font-size: 28px;
	}
	
	.about-vision__philosophy-desc {
		font-size: 16px;
	}
	
	.about-vision__section--mission {
		height: auto;
		position: static;
	}
	
	.about-vision__section-title--mission {
		position: static;
		padding-top: 0;
	}
	
	.about-vision__mission-content {
		position: static;
		height: auto;
		display: flex;
		flex-direction: column;
		gap: 60px;
	}
	
	.about-vision__mission-item {
		position: static;
		width: 100%;
		left: auto !important;
		top: auto !important;
	}
	
	.about-vision__mission-img {
		height: 300px;
	}
	
	.about-vision__mission-text {
		font-size: 20px;
	}
	
	/* 641~1024px(676px 등) 구간 경영 이념 짤림 방지 — 우선순위 확보 */
	body .sub-content .about-vision__philosophy {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}
	body .sub-content .about-vision__philosophy .about-vision__philosophy-cards {
		overflow: visible !important;
	}
	body .sub-content .about-vision__philosophy .about-vision__philosophy-card {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}
}

/* 모바일 전용: 비전/경영이념 - 비주얼(philosophy)~미션 영역 레이아웃 정리 (PC/노트북 무변형) */
@media screen and (max-width: 640px) {
	/* 640 이하: 상위가 경영이념 카드를 잘라내지 않도록 overflow 명시 */
	body:not(.is-main) .sub-content {
		overflow: visible;
	}
	.about-vision {
		padding-bottom: 40px;
		overflow: visible;
	}
	
	.about-vision__inner {
		padding: 40px 20px;
		overflow-x: hidden;
		overflow-y: visible;
	}
	.about-vision__inner:first-of-type {
		padding-bottom: 0;
	}
	.about-vision__philosophy + .about-vision__inner {
		padding-top: 0;
		padding-left: 20px;
		padding-right: 20px;
	}
	
	.about-vision__title {
		font-size: 28px;
		margin-bottom: 40px;
	}
	
	.about-vision__section {
		gap: 30px;
		margin-bottom: 60px;
	}
	
	.about-vision__section-title {
		font-size: 22px;
	}
	
	/* 모바일: 성장 전략 세로 배치·전체 너비 → 우측 세로로 찌그러지는 현상 방지 */
	.about-vision__section--strategy {
		flex-direction: column;
		align-items: flex-start;
	}
	.about-vision__section--strategy .about-vision__section-title {
		width: 100%;
	}
	.about-vision__strategy-content {
		width: 100%;
		max-width: 100%;
		aspect-ratio: auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
		gap: 20px;
		margin-left: 0;
	}
	.about-vision__strategy-card {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		height: 200px;
		gap: 20px;
		border-radius: 500px;
	}
	
	.about-vision__strategy-icon {
		width: 40px;
		height: 44px;
	}
	
	.about-vision__strategy-desc {
		font-size: 14px;
	}
	
	.about-vision__strategy-title {
		font-size: 18px;
	}
	
	.about-vision__vision-item {
		padding: 30px 0;
		gap: 20px;
	}
	
	.about-vision__vision-text {
		font-size: 16px;
	}
	
	/* 비주얼(philosophy) 영역: 640px에서 블록 흐름으로 전환 — flex 제한 없이 전체 카드 노출 */
	.about-vision__philosophy {
		display: block !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		overflow: visible !important;
		margin-top: 60px;
		margin-bottom: 36px;
		padding: 48px 20px;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}
	
	.about-vision__philosophy-bg {
		max-height: none;
		min-height: 100%;
		pointer-events: none;
	}
	
	.about-vision__philosophy-cards {
		display: block !important;
		overflow: visible !important;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		gap: 0;
	}
	
	.about-vision__philosophy .about-vision__philosophy-card {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		padding: 40px 20px;
		margin-bottom: 24px;
		box-sizing: border-box;
		overflow: visible !important;
		justify-content: flex-start;
		align-items: flex-start;
	}
	
	.about-vision__philosophy .about-vision__philosophy-card:last-child {
		margin-bottom: 0;
	}
	
	.about-vision__philosophy-icon {
		width: 60px;
		height: 60px;
		flex-shrink: 0;
	}
	
	.about-vision__philosophy-text {
		gap: 25px;
		min-width: 0;
		max-width: 100%;
		overflow: visible;
		overflow-wrap: break-word;
		box-sizing: border-box;
		flex: 0 1 auto;
	}
	
	.about-vision__philosophy-title,
	.about-vision__philosophy-desc {
		overflow-wrap: break-word;
		word-break: keep-all;
		max-width: 100%;
		box-sizing: border-box;
		overflow: visible;
	}
	
	.about-vision__philosophy-desc {
		min-width: 0;
		overflow: visible;
	}
	
	.about-vision__philosophy-title {
		font-size: 22px;
	}
	
	.about-vision__philosophy-desc {
		font-size: 14px;
	}
	
	.about-vision__philosophy-desc br {
		display: none;
	}
	
	/* 경영 이념 카드 짤림 방지: 상위·카드·텍스트 모두 overflow·height 강제 (우선순위 확보) */
	body .sub-content .about-vision__philosophy {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}
	body .sub-content .about-vision__philosophy .about-vision__philosophy-cards {
		overflow: visible !important;
	}
	body .sub-content .about-vision__philosophy .about-vision__philosophy-card {
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}
	
	/* MISSION 영역: 모바일에서 흐름 레이아웃 고정, 넘침 방지 */
	.about-vision__section--mission {
		height: auto !important;
		overflow: visible;
		position: relative;
		margin-bottom: 0;
	}
	
	.about-vision__section-title--mission {
		position: static;
		padding-top: 0;
		margin-bottom: 24px;
	}
	
	.about-vision__mission-content {
		position: static;
		height: auto;
		display: flex;
		flex-direction: column;
		gap: 48px;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
	
	.about-vision__mission-item {
		position: static !important;
		width: 100% !important;
		max-width: 100%;
		min-width: 0;
		left: auto !important;
		top: auto !important;
		gap: 20px;
		box-sizing: border-box;
	}
	
	.about-vision__mission-img {
		height: 220px;
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}
	
	.about-vision__mission-img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	.about-vision__mission-text {
		font-size: 16px;
	}
}

/* ========================================
   Brand Detail Page
======================================== */
.sub-visual--brand .sub-visual__bg {
	background-image: url('/img/sub/brand/brand_visual_bg.jpg');
}

.brand-detail {
	padding-bottom: 100px;
}

/* 다른 서브 페이지와 동일: 1920px, 160px (선택자 강화로 다른 소스와 충돌 방지) */
.sub-content .brand-detail__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: 100px 160px;
}

.brand-detail__title {
	font-family: var(--font-secondary);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 100px;
}

.brand-detail__cards {
	display: flex;
	gap: 50px;
}

/* Figma 시안: 카드 775×420px (서브 시안 73rTUbiwgomxSgwHtudgaW) */
.brand-detail__card {
	position: relative;
	flex: 1;
	aspect-ratio: 775 / 420;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	text-decoration: none;
	cursor: pointer;
	background: transparent;
	isolation: isolate;
}

.brand-detail__card-bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	/* 이미지 투명도는 건드리지 않음. 항상 선명하게 유지 */
	transition: transform 0.6s ease-in-out;
}

.brand-detail__card:hover .brand-detail__card-bg {
	transform: scale(1.05);
}

/* 위에 덮어놓은 어두운 레이어. Figma처럼 처음엔 불투명(어둡게), 호버 시만 100% 투명 */
.brand-detail__card-overlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.72);
	transition: opacity 0.6s ease-in-out;
	pointer-events: none;
}

.brand-detail__card:hover .brand-detail__card-overlay {
	opacity: 0 !important;
}

.brand-detail__card-name {
	position: relative;
	z-index: 2;
	display: block;
	font-family: var(--font-secondary);
	font-weight: 500;
	font-size: 36px;
	line-height: 1.4;
	letter-spacing: -0.02em;
	color: #FFFFFF;
	text-align: center;
	transition: color 0.6s ease-in-out, text-shadow 0.6s ease-in-out;
	/* 호버 시 텍스트 겹침 방지: 단일 레이어로 렌더링 */
	transform: translateZ(0);
	backface-visibility: hidden;
}

/* 프로토타입 기준: 호버 시 오버레이만 100% 투명 → 배경 선명, 텍스트는 흰색 유지 */
.brand-detail__card:hover .brand-detail__card-name {
	color: #FFFFFF;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5), 0 0 24px rgba(0, 0, 0, 0.35);
}

/* 배경 이미지에 동일 문구가 포함된 카드: HTML 텍스트는 시각적으로만 숨김 → 겹침 방지, 접근성은 aria-label·내용 유지 */
/*.brand-detail__card-name--in-image {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}*/

/* Brand Detail Responsive */
@media screen and (max-width: 1600px) {
	.sub-content .brand-detail__inner {
		padding: 100px 127px;
	}
}

@media screen and (max-width: 1440px) {
	.sub-content .brand-detail__inner {
		padding: 80px 100px;
	}
	
	.brand-detail__title {
		font-size: 44px;
		margin-bottom: 80px;
	}
	
	.brand-detail__card-name {
		font-size: 30px;
	}
}

@media screen and (max-width: 1280px) {
	.sub-content .brand-detail__inner {
		padding: 60px 50px;
	}
	
	.brand-detail__title {
		font-size: 44px;
		margin-bottom: 60px;
	}
	
	.brand-detail__card-name {
		font-size: 30px;
	}
}

@media screen and (max-width: 1024px) {
	.sub-content .brand-detail__inner {
		padding: 60px 30px;
	}
	
	.brand-detail__title {
		font-size: 36px;
		margin-bottom: 60px;
	}
	
	.brand-detail__cards {
		flex-direction: column;
		gap: 30px;
	}
	
	.brand-detail__card {
		aspect-ratio: 775 / 420;
	}
	
	.brand-detail__card-name {
		font-size: 28px;
	}
}

@media screen and (max-width: 640px) {
	/* PC 100px → 모바일 비율 40% 적용 */
	.brand-detail {
		padding-bottom: 40px;
	}
	
	.sub-content .brand-detail__inner {
		padding: 40px 20px;
	}
	
	.brand-detail__title {
		font-size: 28px;
		margin-bottom: 40px;
	}
	
	.brand-detail__cards {
		gap: 20px;
	}
	
	.brand-detail__card-name {
		font-size: 22px;
	}
	/* 모바일: 카테고리 박스를 PC 호버 시처럼 밝게 표시(오버레이 숨김) */
	.brand-detail__card .brand-detail__card-overlay {
		opacity: 0 !important;
	}
}

/* ========================================
   Brand View Page (상세 페이지)
======================================== */
.brand-view {
	padding-bottom: 100px;
}

/* 다른 서브 페이지와 동일: 1920px, 160px (선택자 강화로 다른 소스와 충돌 방지) */
.sub-content .brand-view__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: 100px 160px;
}

/* 상단: 이미지 + 제품 정보. 좌측 이미지와 우측 텍스트 사이 여백 */
.brand-view__top {
	display: flex;
	gap: 80px;
	margin-bottom: 80px;
}

.brand-view__img {
	flex: 0 0 750px;
	aspect-ratio: 750 / 480;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}

.brand-view__img img {
	/*
	width: 100%;
	height: 100%;
	object-fit: cover;
	*/
	max-width: 95%;
	max-height: 95%;
	object-fit: contain;
}

.brand-view__info {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Figma 2273-3925: R series 10 타이틀 54px, 하단 1px 라인 */
.brand-view__title {
	padding-bottom: 30px;
	border-bottom: 1px solid #000000;
	margin-bottom: 40px;
}

.brand-view__title h3 {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 54px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

/* APPLICATION 등 섹션 타이틀: 22px, 700 */
.brand-view__app-title {
	font-family: var(--font-primary);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 30px;
}

.brand-view__app-columns {
	display: flex;
	gap: 0;
}

.brand-view__app-list {
	display: flex;
	flex-direction: column;
	gap: 15px;
	flex: 1;
	list-style: none;
	padding-left: 0;
}

.brand-view__app-list li {
	position: relative;
	padding-left: 24px;
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 19.5px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #333333;
	list-style: none;
}

.brand-view__app-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.4em;
	width: 8px;
	height: 8px;
	background: #FECF07;
}

/* 섹션 공통 - Figma 2273-3925 */
.brand-view__section {
	margin-bottom: 60px;
}

.brand-view__section-title {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 30px;
}

.brand-view__section-title span {
	font-family: var(--font-primary);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

/* 시안: Primary 7x7 노란 사각(바) - 제목 앞에 표시, 텍스트보다 살짝 위쪽 */
.brand-view__section-bar {
	width: 7px;
	height: 7px;
	background: #FECF07;
	flex-shrink: 0;
	order: -1;
	margin-top: 4px;
}

.brand-view__section-box {
	padding: 40px;
	background: #F8F8F8;
	border-radius: 0;
}

.brand-view__section-box p {
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 17.5px;
	line-height: 1.7;
	letter-spacing: -0.02em;
	color: #333333;
	margin-bottom: 20px;
	overflow-wrap: break-word;
}

.brand-view__section-box p:last-child {
	margin-bottom: 0;
}

/* 2컬럼 레이아웃 - Figma gap 60px, 우측 컬럼(HIGHLIGHT) padding-left 60px */
.brand-view__columns {
	display: flex;
	gap: 60px;
	margin-bottom: 80px;
}

.brand-view__column {
	flex: 1;
}

.brand-view__column:last-child {
	padding-left: 60px;
}

/* KEY FEATURES, HIGHLIGHT: Figma layout_SWA2WO gap 15px. 불릿 float로 두 번째 줄이 "- "와 동일한 위치에서 시작 */
.brand-view__list {
	list-style: none;
	padding-left: 0;
}

.brand-view__list-bullet {
	float: left;
	margin-right: 0.25em;
}

.brand-view__list > li {
	overflow: hidden;
	padding-left: 0;
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 19.5px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #333333;
	margin-bottom: 15px;
	list-style: none;
}

.brand-view__list > li:last-child {
	margin-bottom: 0;
}

.brand-view__list ul {
	list-style: none;
	padding-left: 0;
	margin-top: 10px;
}

.brand-view__list ul li {
	overflow: hidden;
	padding-left: 0;
	list-style: none;
	margin-bottom: 10px;
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 17.5px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #333333;
}

.brand-view__list ul li:last-child {
	margin-bottom: 0;
}

/* 하위 리스트(· Delta Media Server® 등): 17.5px */
.brand-view__list-sublist li {
	font-size: 17.5px;
	line-height: 1.3;
}

/* 하단 버튼 영역: 목록으로(왼쪽) + PDF 다운로드(오른쪽) */
.brand-view__btns {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

/* 목록으로 / PDF 다운로드 버튼 - 동일 스타일, 호버 시 #FECF07 */
.brand-view__list-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 80px;
	background: #000000;
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 20px;
	color: #FFFFFF;
	text-decoration: none;
	transition: background 0.3s ease, color 0.3s ease;
}

.brand-view__list-btn:hover {
	background: #FECF07;
	color: #FFFFFF;
}

.brand-view__list-btn-motion {
	display: flex;
	flex-direction: column;
	height: 1.3em;
	overflow: hidden;
}

.brand-view__list-btn-motion .brand-view__list-btn-text {
	display: inline-block;
	transition: transform 0.3s ease;
	flex-shrink: 0;
}

.brand-view__list-btn:hover .brand-view__list-btn-motion .brand-view__list-btn-text {
	transform: translateY(-100%);
}

/* Brand View Responsive */
/* 1520~1600px: Figma 비율(1600 기준 이미지 750) 적용 — 좌측 이미지 축소해 우측 설명 영역 확보 */
@media screen and (max-width: 1600px) {
	.sub-content .brand-view__inner {
		padding: 100px 127px;
	}
	.brand-view__img {
		flex: 0 0 590px;
		aspect-ratio: 750 / 480;
	}
	.brand-view__title h3 {
		font-size: 44px;
	}
	.brand-view__app-title {
		font-size: 20px;
	}
	.brand-view__app-list li {
		font-size: 17.5px;
	}
	.brand-view__section-title span {
		font-size: 20px;
	}
	/* OVERVIEW 4줄 맞춤(Figma): 본문 18px 유지 + section-box 패딩 축소로 텍스트 영역 확대 */
	.brand-view__section-box {
		padding: 32px;
	}
	.brand-view__section-box p {
		font-size: 17.5px;
	}
	.brand-view__list > li {
		font-size: 17.5px;
	}
	.brand-view__list ul li,
	.brand-view__list-sublist li {
		font-size: 15.5px;
	}
	.brand-view__list-btn {
		font-size: 18px;
	}
}

@media screen and (max-width: 1440px) {
	.sub-content .brand-view__inner {
		padding: 80px 100px;
	}
	
	.brand-view__img {
		flex: 0 0 600px;
	}
	
	.brand-view__title h3 {
		font-size: 44px;
	}
}

@media screen and (max-width: 1280px) {
	.sub-content .brand-view__inner {
		padding: 60px 50px;
	}
}

@media screen and (max-width: 1024px) {
	.sub-content .brand-view__inner {
		padding: 60px 30px;
	}
	
	.brand-view__top {
		flex-direction: column;
		gap: 40px;
		margin-bottom: 60px;
	}
	
	.brand-view__img {
		flex: none;
		width: 100%;
		aspect-ratio: 16 / 9;
	}
	
	.brand-view__title {
		padding-bottom: 20px;
		margin-bottom: 30px;
	}
	
	.brand-view__title h3 {
		font-size: 36px;
	}
	
	.brand-view__columns {
		flex-direction: column;
		gap: 40px;
		margin-bottom: 60px;
	}
	
	.brand-view__column:last-child {
		padding-left: 0;
	}
	
	.brand-view__section-box {
		padding: 24px;
	}
}

@media screen and (max-width: 640px) {
	/* PC 100px → 모바일 비율 40% 적용 */
	.brand-view {
		padding-bottom: 40px;
	}
	
	.sub-content .brand-view__inner {
		padding: 40px 20px;
	}
	
	.brand-view__top {
		gap: 30px;
		margin-bottom: 40px;
	}
	
	.brand-view__title h3 {
		font-size: 28px;
	}
	
	.brand-view__app-title {
		font-size: 16px;
	}
	
	.brand-view__app-columns {
		flex-direction: column;
		gap: 15px;
	}
	
	.brand-view__app-list li {
		font-size: 15.5px;
	}
	
	.brand-view__section-title span {
		font-size: 16px;
	}
	
	.brand-view__section-box {
		padding: 16px;
	}
	
	.brand-view__section-box p {
		font-size: 15.5px;
		word-break: keep-all;
		word-wrap: break-word;
		line-height: 1.8;
	}
	
	.brand-view__list li {
		font-size: 15.5px;
	}
	
	.brand-view__list-btn {
		width: 100%;
		max-width: 300px;
		height: 60px;
		font-size: 16px;
	}
}

/* ========================================
   Brand List (리스트 확장 페이지)
   Figma: 0304_7thSense (2273:3871) — 컨테이너 1600×1673, 이미지 박스 w=fill h=320
======================================== */
.brand-list {
	background: #FFFFFF;
}

.brand-list__inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 100px 0 200px;
}

.brand-list__section {
	margin-bottom: 136px;
}

.brand-list__section:last-child {
	margin-bottom: 0;
}

.brand-list__category {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 100px;
}

.brand-list__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	min-width: 0;
}

.brand-list__card {
	width: calc((100% - 100px) / 3);
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	box-sizing: border-box;
}

/* 링크는 이미지 박스만 감싸서 모바일에서 제품명 영역 클릭 방지 */
.brand-list__card-link {
	display: block;
	text-decoration: none;
	cursor: pointer;
	flex-shrink: 0;
	color: inherit;
	border: none;
	outline: none;
}

.brand-list__card-link:hover {
	border: none;
	outline: none;
}

/* 시안 2273-3871: 노란 테두리는 이미지(배경) 박스에만. content-box로 높이 고정해 하단이 제품명까지 내려가지 않음 */
.brand-list__card-inner {
	display: block;
	width: 100%;
	min-width: 0;
	height: 320px;
	box-sizing: content-box;
	padding: 0;
	background: #F8F8F8;
	border: 3px solid transparent;
	transition: border-color 0.3s ease;
	flex-shrink: 0;
	overflow: hidden;
}

.brand-list__card-link:hover .brand-list__card-inner {
	border-color: #FECF07;
}

.brand-list__card-img {
	width: 100%;
	min-width: 0;
	height: 100%;
	background: transparent;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	margin: 0;
	box-sizing: border-box;
}

/* 제품 이미지 래퍼. 시안 대비 썸네일 크게 노출 */
.brand-list__card-img-inner {
	/* display: inline-block; */
	aspect-ratio: 505 / 326;
	display: flex;
	justify-content: center;
	align-items: center;
}

.brand-list__card-img-inner img {
	display: block;
	max-width: 95%;
	max-height: 95%;
	object-fit: contain;
	object-position: center center;
	vertical-align: middle;
	transition: all 0.35s ease;
}

.brand-list__card-link:hover .brand-list__card-img-inner img {
	transform: scale(1.05);
}

/* 제품명은 박스 밖. 박스 하단과 제품명 사이 세로 간격 시안 20px */
.brand-list__card-name {
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	text-align: center;
	margin: 0;
	padding: 20px 0 0;
	flex-shrink: 0;
}

/* Brand List Responsive */
/* 1520~1600px: 좌우 여백 127px(다른 서브와 동일), 1920px에는 미적용 */
@media screen and (min-width: 1441px) and (max-width: 1600px) {
	.brand-list__inner {
		padding: 100px 127px 200px;
	}
	
	.brand-list__card {
		width: calc((100% - 100px) / 3);
	}
}

@media screen and (max-width: 1440px) {
	.brand-list__inner {
		padding: 80px 80px 150px;
	}
	
	/* 1440px 이하에서도 컨테이너 1600 유지, 좌우 여백만 적용 */
	.brand-list__card {
		width: calc((100% - 60px) / 3);
	}
	
	.brand-list__category {
		font-size: 44px;
		margin-bottom: 80px;
	}
}

@media screen and (max-width: 1024px) {
	.brand-list__inner {
		padding: 60px 30px 100px;
	}
	
	.brand-list__section {
		margin-bottom: 80px;
	}
	
	.brand-list__category {
		font-size: 36px;
		margin-bottom: 60px;
	}
	
	.brand-list__grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
	
	.brand-list__card {
		width: auto;
		min-width: 0;
	}
	
	.brand-list__card-inner {
		height: 250px;
	}
	
	.brand-list__card-name {
		font-size: 18px;
	}
}

@media screen and (max-width: 640px) {
	/* 제품 리스트: 좌우 여백 균형 (우측만 소폭 보정) */
	section.sub-content .brand-list {
		padding-left: 20px;
		padding-right: 24px;
		box-sizing: border-box;
	}
	
	.brand-list__inner {
		padding: 40px 0 80px;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
	}
	
	.brand-list__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 20px;
		max-width: 100%;
		min-width: 0;
	}
	
	.brand-list__card {
		width: auto;
		min-width: 0;
		max-width: 100%;
	}
	
	/* 640px 이하: 박스 안 이미지가 밑으로 내려가지 않도록 고정 */
	.brand-list__card-inner {
		height: 200px;
		max-width: 100%;
		display: flex;
		flex-direction: column;
		min-height: 0;
	}
	
	.brand-list__card-img {
		flex: 1;
		min-height: 0;
	}
	
	.brand-list__card-img-inner {
		display: block;
		width: 100%;
		height: 100%;
		max-width: 95%;
		max-height: 95%;
		margin: 0 auto;
		line-height: 0;
	}
	
	.brand-list__card-img-inner img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: contain;
		object-position: center center;
		max-width: 100%;
		max-height: 100%;
	}
	
	.brand-list__section {
		margin-bottom: 60px;
	}
	
	.brand-list__category {
		font-size: 28px;
		margin-bottom: 40px;
	}
	
	.brand-list__card-name {
		font-size: 16px;
	}
}

/* ========================================
   Portfolio Visual
======================================== */
.sub-visual--portfolio .sub-visual__bg {
	background-image: url('/img/sub/portfolio/portfolio_visual_bg.jpg');
}

/* ========================================
   Portfolio List
======================================== */
.portfolio-list {
	background: #FFFFFF;
}

.portfolio-list__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: 100px 160px 200px;
}

.portfolio-list__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 100px;
}

.portfolio-list__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
	margin-bottom: 100px;
}

.portfolio-list__card {
	display: flex;
	flex-direction: column;
	gap: 30px;
	text-decoration: none;
	cursor: pointer;
}

.portfolio-list__card-img {
	position: relative;
	width: 100%;
	aspect-ratio: 500 / 280;
	overflow: hidden;
	background: #F8F8F8;
}

.portfolio-list__card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.portfolio-list__card:hover .portfolio-list__card-img img {
	transform: scale(1.05);
}

.portfolio-list__card-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(15px);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.portfolio-list__card-play img {
	width: 12px;
	height: auto;
}

.portfolio-list__card-title {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.6;
	letter-spacing: -0.02em;
	color: #111111;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Portfolio Paging */
.portfolio-list__paging {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0;
}

.portfolio-list__paging-btn {
	width: 45px;
	height: 45px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: transparent;
	border: none;
	cursor: pointer;
}

.portfolio-list__paging-btn:disabled {
	opacity: 1;
	cursor: default;
}

.portfolio-list__paging-btn img {
	width: 45px;
	height: 45px;
}

.portfolio-list__paging-nums {
	display: flex;
	align-items: center;
}

.portfolio-list__paging-num {
	width: 45px;
	height: 45px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 18px;
	color: #111111;
	text-decoration: none;
	border-radius: 50%;
}

.portfolio-list__paging-num.active {
	background: #FECF07;
	color: #FFFFFF;
}

/* Portfolio List Responsive */
@media screen and (max-width: 1600px) {
	.portfolio-list__inner {
		padding: 100px 127px 200px;
	}
}

@media screen and (max-width: 1440px) {
	.portfolio-list__inner {
		padding: 80px 80px 150px;
	}
	
	.portfolio-list__grid {
		gap: 40px;
	}
	
	.portfolio-list__title {
		font-size: 44px;
		margin-bottom: 80px;
	}
}

@media screen and (max-width: 1024px) {
	.portfolio-list__inner {
		padding: 60px 30px 100px;
	}
	
	.portfolio-list__title {
		font-size: 36px;
		margin-bottom: 60px;
	}
	
	.portfolio-list__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
		margin-bottom: 60px;
	}
	
	.portfolio-list__card-title {
		font-size: 18px;
	}
}

@media screen and (max-width: 640px) {
	.portfolio-list__inner {
		padding: 40px 20px 80px;
	}
	
	.portfolio-list__title {
		font-size: 28px;
		margin-bottom: 40px;
	}
	
	.portfolio-list__grid {
		grid-template-columns: 1fr;
		gap: 40px;
		margin-bottom: 40px;
	}
	
	.portfolio-list__card {
		gap: 20px;
	}
	
	.portfolio-list__card-title {
		font-size: 16px;
	}
	
	/* 모바일: 페이지네이션 버튼 터치 영역·간격 확대 */
	.portfolio-list__paging {
		gap: 8px !important;
	}
	.portfolio-list__paging-btn--first,
	.portfolio-list__paging-btn--last {
		display: none !important;
	}
	.portfolio-list__paging-btn {
		min-width: 56px !important;
		min-height: 56px !important;
		width: 56px !important;
		height: 56px !important;
	}
	.portfolio-list__paging-btn img {
		width: 28px !important;
		height: 28px !important;
	}
	.portfolio-list__paging-nums {
		gap: 8px !important;
	}
	.portfolio-list__paging-nums .portfolio-list__paging-num:nth-child(n+4) {
		display: none !important;
	}
	.portfolio-list__paging-num {
		min-width: 36px !important;
		min-height: 36px !important;
		width: 36px !important;
		height: 36px !important;
		font-size: 16px !important;
	}
}

/* ========================================
   Portfolio View (상세) - 콘텐츠 가로/위치 solution-view와 동일
======================================== */
.portfolio-view {
	background: #FFFFFF;
	padding-bottom: 100px;
}

.portfolio-view__inner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 100px 20px;
}

.portfolio-view__header {
	border-bottom: 2px solid #111111;
	padding-bottom: 30px;
	margin-bottom: 60px;
}

.portfolio-view__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 32px;
	line-height: 1.4;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 20px;
}

.portfolio-view__info {
	display: flex;
	align-items: center;
	gap: 15px;
}

.portfolio-view__author,
.portfolio-view__date {
	font-family: var(--font-primary);
	font-weight: 400;
	font-size: 16px;
	color: #888888;
}

.portfolio-view__bar {
	width: 1px;
	height: 12px;
	background: #CCCCCC;
}

.portfolio-view__content {
	min-height: 400px;
	padding: 40px 0;
	border-bottom: 1px solid #E5E5E5;
	margin-bottom: 30px;
}

.portfolio-view__content p {
	font-family: var(--font-primary);
	font-weight: 400;
	font-size: 18px;
	line-height: 1.8;
	color: #333333;
}

.portfolio-view__files {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-bottom: 30px;
	border-bottom: 1px solid #E5E5E5;
	margin-bottom: 30px;
}

.portfolio-view__file {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
}

.portfolio-view__file img {
	width: 20px;
	height: 20px;
}

.portfolio-view__file span {
	font-family: var(--font-primary);
	font-weight: 400;
	font-size: 16px;
	color: #555555;
}

/* 첨부파일 호버 효과 제거 (시안) */

/* 이전글/다음글 - solution-view와 동일 디자인 */
.portfolio-view__nav {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin-top: 60px;
}

.portfolio-view__nav-divider {
	flex-shrink: 0;
	width: 1px;
	height: 24px;
	background: #E5E5E5;
	align-self: center;
}

.portfolio-view__nav-item {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px 0;
	text-decoration: none;
	flex: 1;
	min-width: 0;
}

.portfolio-view__nav-item--prev {
	border-bottom: none;
	justify-content: flex-start;
}

.portfolio-view__nav-item--next {
	justify-content: flex-end;
}

.portfolio-view__nav-btn {
	display: flex;
	align-items: center;
	gap: 10px;
}

.portfolio-view__nav-btn img {
	width: 7px;
	height: auto;
}

.portfolio-view__nav-btn span {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #CCCCCC;
}

.portfolio-view__nav-title {
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #888888;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 목록으로 버튼 - 상세페이지 공통: 호버 시 배경 #FECF07, 텍스트 흰색, 메인과 동일 슬라이드 모션 */
.portfolio-view__list-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 70px;
	margin: 80px auto 0;
	background: #000000;
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 18px;
	color: #FFFFFF;
	text-decoration: none;
	transition: background 0.3s ease, color 0.3s ease;
	overflow: hidden;
}

.portfolio-view__list-btn:hover {
	background: #FECF07 !important;
	color: #FFFFFF !important;
}

.portfolio-view__list-btn-motion {
	display: flex;
	flex-direction: column;
	height: 1.3em;
	overflow: hidden;
}

.portfolio-view__list-btn-motion .portfolio-view__list-btn-text {
	display: inline-block;
	transition: transform 0.3s ease;
	flex-shrink: 0;
}

.portfolio-view__list-btn:hover .portfolio-view__list-btn-motion .portfolio-view__list-btn-text {
	transform: translateY(-100%);
}

/* Portfolio View Responsive (solution-view와 동일 패딩) */
@media screen and (max-width: 1600px) {
	.portfolio-view__inner {
		padding: 100px 127px;
	}
}

@media screen and (max-width: 1024px) {
	.portfolio-view__inner {
		padding: 60px 30px;
	}
	
	.portfolio-view__title {
		font-size: 26px;
	}
	
	.portfolio-view__video {
		margin-top: 40px;
	}
	
	.portfolio-view__nav {
		flex-direction: column;
		gap: 0;
		margin-top: 40px;
		align-items: flex-start;
	}
	
	.portfolio-view__nav-divider {
		display: none;
	}
	
	.portfolio-view__nav-item {
		width: 100%;
		gap: 20px;
		padding: 20px 0;
		justify-content: flex-start;
	}
	
	.portfolio-view__nav-title {
		text-align: left;
		flex: 0 1 auto;
		min-width: 0;
	}
	
	.portfolio-view__nav-item--prev {
		border-bottom: 1px solid #E5E5E5;
	}
	
	/* 다음글: 다음글 > 앞(좌), 타이틀 뒤(우) — row-reverse이므로 flex-end가 좌측 */
	.portfolio-view__nav-item--next {
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
}

@media screen and (max-width: 640px) {
	.portfolio-view {
		padding-bottom: 40px;
	}
	
	.portfolio-view__inner {
		padding: 40px 20px;
	}
	
	.portfolio-view__header {
		padding-bottom: 20px;
		margin-bottom: 40px;
	}
	
	.portfolio-view__title {
		font-size: 22px;
	}
	
	.portfolio-view__content {
		min-height: 300px;
		padding: 30px 0;
	}
	
	.portfolio-view__video {
		margin-top: 30px;
	}
	
	.portfolio-view__nav {
		flex-direction: column;
		margin-top: 30px;
		margin-bottom: 0;
		align-items: flex-start;
	}
	
	.portfolio-view__nav-item {
		padding: 15px 0;
		justify-content: flex-start;
	}
	
	.portfolio-view__nav-title {
		text-align: left;
		font-size: 14px;
		flex: 0 1 auto;
		min-width: 0;
	}
	
	.portfolio-view__nav-item--prev {
		border-bottom: 1px solid #E5E5E5;
	}
	
	.portfolio-view__nav-item--next {
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
	
	.portfolio-view__nav-btn span {
		font-size: 14px;
	}
	
	.portfolio-view__list-btn {
		width: 100%;
		max-width: 300px;
		height: 60px;
		margin-top: 60px;
		font-size: 16px;
	}
}

/* ========================================
   DHAV MEDIA Visual
======================================== */
.sub-visual--media .sub-visual__bg {
	background-image: url('/img/sub/media/media_visual_bg.jpg');
}

/* ========================================
   Studio Info (스튜디오 정보)
   Figma: 0501_스튜디오 정보 (2273:4237)
======================================== */
.studio-info {
	background: #FFFFFF;
}

.studio-info__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: 0 160px;
}

.studio-info__header {
	padding: 100px 0 0;
}

.studio-info__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 100px;
}

.studio-info__desc {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.studio-info__subtitle {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 26px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.studio-info__text {
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: -0.02em;
	color: #333333;
}

/* 슬라이더 */
.studio-info__slider {
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: 80px auto 180px;
	height: 720px;
	overflow: hidden;
}

.studio-info__slider-viewport {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.studio-info__slider-track {
	position: relative;
	width: 100%;
	height: 100%;
}

.studio-info__slide {
	position: absolute;
	overflow: hidden;
	transition: all 0.5s ease;
}

.studio-info__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.studio-info__slider-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 80px;
	height: 80px;
	background: transparent;
	border: none;
	cursor: pointer;
	z-index: 10;
	transition: opacity 0.3s ease;
}

.studio-info__slider-btn img {
	width: 100%;
	height: 100%;
}

.studio-info__slider-btn--prev {
	/* JavaScript에서 동적으로 설정 */
}

.studio-info__slider-btn--next {
	/* JavaScript에서 동적으로 설정 */
}

/* 지도 영역 */
.studio-info__map {
	padding-bottom: 200px;
}

.studio-info__map-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}

.studio-info__map-title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 36px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.studio-info__map-address {
	display: flex;
	align-items: center;
	gap: 15px;
}

.studio-info__map-address img {
	width: 21px;
	height: 25px;
}

.studio-info__map-address span {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 24px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.studio-info__map-img {
	width: 100%;
	overflow: hidden;
	border-radius: 0;
}

.studio-info__map-img picture {
	display: block;
	width: 100%;
}

.studio-info__map-img img {
	width: 100%;
	height: auto;
	display: block;
}

/* Studio Info Responsive */
@media screen and (max-width: 1600px) {
	.studio-info__inner {
		padding: 0 127px;
	}
}

@media screen and (max-width: 1440px) {
	.studio-info__inner {
		padding: 0 80px;
	}
	
	.studio-info__slider {
		height: 540px;
	}
	
	/* 버튼 위치는 JavaScript에서 동적으로 설정 */
	
	.studio-info__title {
		font-size: 44px;
	}
}

@media screen and (max-width: 1024px) {
	.studio-info__inner {
		padding: 0 30px;
	}
	
	.studio-info__header {
		padding: 60px 0 0;
	}
	
	.studio-info__title {
		font-size: 36px;
		margin-bottom: 30px;
	}
	
	.studio-info__subtitle {
		font-size: 22px;
	}
	
	.studio-info__text {
		font-size: 18px;
	}
	
	.studio-info__slider {
		margin: 60px 0 120px;
		height: 400px;
	}
	
	.studio-info__slider-btn {
		width: 60px;
		height: 60px;
	}
	
	/* 버튼 위치는 JavaScript에서 동적으로 설정 */
	
	.studio-info__map-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
	
	.studio-info__map-title {
		font-size: 28px;
	}
	
	.studio-info__map-address span {
		font-size: 18px;
	}
	
	.studio-info__map {
		padding-bottom: 100px;
	}
}

@media screen and (max-width: 640px) {
	.studio-info__inner {
		padding: 0 20px;
	}
	
	.studio-info__header {
		padding: 40px 0 0;
	}
	
	.studio-info__title {
		font-size: 28px;
		margin-bottom: 20px;
	}
	
	.studio-info__subtitle {
		font-size: 18px;
	}
	
	.studio-info__text {
		font-size: 16px;
	}
	
	.studio-info__slider {
		margin: 40px 0 80px;
		height: 300px;
	}
	
	.studio-info__slider-btn {
		width: 50px;
		height: 50px;
	}
	
	/* 버튼 위치는 JavaScript에서 동적으로 설정 */
	
	.studio-info__map-title {
		font-size: 22px;
	}
	
	.studio-info__map-address img {
		width: 16px;
		height: 20px;
	}
	
	.studio-info__map-address span {
		font-size: 16px;
	}
	
	/* 모바일: 지도 이미지 화면 너비에 맞춤 (가로 스크롤 없음) */
	.studio-info__map-img {
		overflow: hidden;
		width: 100%;
	}
	.studio-info__map-img picture,
	.studio-info__map-img img {
		width: 100%;
		height: auto;
		max-width: 100%;
		display: block;
	}
	
	/* PC 200px → 모바일 비율 40% 적용 */
	.studio-info__map {
		padding-bottom: 80px;
	}
}

/* ========================================
   Products Lineup (제품 라인업)
======================================== */
.products-lineup {
	width: 100%;
	background: #fff;
	padding-bottom: 200px;
}

.products-lineup__inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 100px 0 0;
}

.products-lineup__header {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin-bottom: 100px;
}

.products-lineup__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.products-lineup__desc {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 26px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

/* 로고 카드: 표시 순서 강제 (alt 기준 + !important, DOM/클래스와 무관) 1.Pixotope 2.7thSense 3.Ikegami 4.Shotoku 5.Fabulux */
.products-lineup__logos {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 100px;
}
.products-lineup__logos .products-lineup__card:has(img[alt="Pixotope"]) { order: 1 !important; }
.products-lineup__logos .products-lineup__card:has(img[alt="7thSense"]) { order: 2 !important; }
.products-lineup__logos .products-lineup__card:has(img[alt="Ikegami"]) { order: 3 !important; }
.products-lineup__logos .products-lineup__card:has(img[alt="Shotoku"]) { order: 4 !important; }
.products-lineup__logos .products-lineup__card:has(img[alt="Fabulux"]) { order: 5 !important; }

.products-lineup__card {
	position: relative;
	width: 304px;
	height: 304px;
	overflow: hidden;
	display: block;
}

.products-lineup__card-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.35s ease;
}

.products-lineup__card-img--default {
	opacity: 1;
	z-index: 1;
}

.products-lineup__card:hover .products-lineup__card-img--default {
	opacity: 0;
}

/* Figma 호버 구조: 배경(Primary #FECF07) + 로고 레이어 + View More(btn) 레이어 — 로고/버튼 모두 absolute로 호버 시 레이아웃 흔들림 방지 */
.products-lineup__card-hover {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #FECF07;
	opacity: 0;
	transition: opacity 0.35s ease;
	z-index: 2;
	pointer-events: none;
}

/* Figma 로고 레이어 위치 (304×304 기준) — 호버 시 제자리 고정 */
.products-lineup__card-hover-logo {
	position: absolute;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: none;
	transform: translate(0, 0);
}
.products-lineup__card--1 .products-lineup__card-hover-logo { left: 37px; top: 139px; width: 231px; height: 26px; }
.products-lineup__card--2 .products-lineup__card-hover-logo { left: 70px; top: 140px; width: 165px; height: 24px; }
.products-lineup__card--3 .products-lineup__card-hover-logo { left: 92px; top: 137px; width: 120px; height: 30px; }
.products-lineup__card--4 .products-lineup__card-hover-logo { left: 81px; top: 132px; width: 143px; height: 40px; }
.products-lineup__card--5 .products-lineup__card-hover-logo { left: 90px; top: 122px; width: 124px; height: 60px; }

/* 카드 안에서 아래→위로만 이동 (absolute로 고정해 호버 시 로고 위치 흔들림 방지) */
.products-lineup__card-hover .products-lineup__card-btn {
	position: absolute;
	left: 50%;
	bottom: 50px;
	transform: translate(-50%, 28px);
	z-index: 1;
	pointer-events: auto;
	opacity: 0;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.products-lineup__card:hover .products-lineup__card-hover {
	opacity: 1;
}

.products-lineup__card:hover .products-lineup__card-hover .products-lineup__card-btn {
	transform: translate(-50%, 0);
	opacity: 1;
}

.products-lineup__card-btn {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Figtree', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #FFFFFF;
}

/* Figma vector 노드(2176:3218)와 동일: 9×9, stroke 2px ↗ */
.products-lineup__card-arrow {
	display: inline-block;
	width: 9px;
	height: 9px;
	background: url('/img/sub/media/products-lineup-arrow.svg') center/contain no-repeat;
	vertical-align: middle;
}

/* 다이어그램 영역 (투명 배경 PNG) */
.products-lineup__diagram {
	max-width: 1599px;
	width: 100%;
	margin-bottom: 0;
	background: transparent;
}

.products-lineup__diagram img {
	width: 100%;
	height: auto;
	max-height: 1138px;
	object-fit: contain;
	display: block;
}

/* Products Lineup Responsive - 노트북/모바일만 (PC 미변경) */
@media screen and (max-width: 1700px) {
	.products-lineup__inner {
		padding: 100px 50px 0;
	}
	
	/* 마지막 브랜드 카드만 있어도 가운데 말고 왼쪽 정렬 */
	.products-lineup__logos {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
}

/* 1520~1600px: 좌우 127px 유지, 카드는 5개 한 줄에 들어가도록 비율 축소 (잘림 방지) */
@media screen and (max-width: 1600px) {
	.products-lineup__inner {
		padding: 100px 127px 0;
	}
	.products-lineup__card {
		width: calc((100% - 80px) / 5);
		min-width: 0;
		max-width: 260px;
		height: auto;
		aspect-ratio: 1;
	}
	/* 로고: 카드 대비 % + transform 고정 — 호버 시 시각적 흔들림 완화 */
	.products-lineup__card-hover .products-lineup__card-hover-logo {
		transition: none;
		box-sizing: border-box;
		transform: translate(-50%, -50%);
		left: 50%;
		top: 50%;
	}
	.products-lineup__card--1 .products-lineup__card-hover-logo { width: 75.8%; max-width: 197px; height: 8.5%; max-height: 22px; }
	.products-lineup__card--2 .products-lineup__card-hover-logo { width: 54.2%; max-width: 141px; height: 8.1%; max-height: 21px; }
	.products-lineup__card--3 .products-lineup__card-hover-logo { width: 39.6%; max-width: 103px; height: 10%; max-height: 26px; }
	.products-lineup__card--4 .products-lineup__card-hover-logo { width: 46.9%; max-width: 122px; height: 13.1%; max-height: 34px; }
	.products-lineup__card--5 .products-lineup__card-hover-logo { width: 40.8%; max-width: 106px; height: 19.6%; max-height: 51px; }
}

@media screen and (max-width: 1440px) {
	.products-lineup__title {
		font-size: 44px;
	}
	
	.products-lineup__desc {
		font-size: 22px;
	}
	
	.products-lineup__card {
		width: 260px;
		height: 260px;
	}
}

@media screen and (max-width: 1024px) {
	.products-lineup {
		padding-bottom: 100px;
	}
	
	.products-lineup__inner {
		padding: 60px 30px 0;
	}
	
	.products-lineup__header {
		gap: 24px;
		margin-bottom: 60px;
	}
	
	.products-lineup__title {
		font-size: 36px;
	}
	
	.products-lineup__desc {
		font-size: 18px;
	}
	
	.products-lineup__logos {
		gap: 15px;
		margin-bottom: 60px;
		justify-content: flex-start;
	}
	
	.products-lineup__card {
		width: 200px;
		height: 200px;
	}
	
	.products-lineup__diagram {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 640px) {
	/* PC 200px → 모바일 비율 40% 적용 */
	.products-lineup {
		padding-bottom: 80px;
	}
	
	.products-lineup__inner {
		padding: 40px 20px 0;
	}
	
	.products-lineup__header {
		gap: 16px;
		margin-bottom: 40px;
	}
	
	.products-lineup__title {
		font-size: 28px;
	}
	
	.products-lineup__desc {
		font-size: 16px;
	}
	
	.products-lineup__logos {
		gap: 10px;
		margin-bottom: 40px;
		flex-direction: column;
		align-items: flex-start;
	}
	
	.products-lineup__card {
		width: 100%;
		max-width: 320px;
		min-width: 0;
		height: auto;
		aspect-ratio: 1 / 1;
	}
	
	/* 모바일: 하단 VIEW MORE 버튼만 회색으로 항상 노출 (호버 로고는 숨김) */
	.products-lineup__card-hover {
		opacity: 1;
		background: transparent;
	}
	.products-lineup__card-hover .products-lineup__card-hover-logo {
		opacity: 0;
	}
	.products-lineup__card-hover .products-lineup__card-btn {
		transform: translate(-50%, 0);
		opacity: 1;
		color: #757575;
	}
	.products-lineup__card-hover .products-lineup__card-arrow {
		filter: brightness(0) saturate(100%) invert(50%);
	}
	
	.products-lineup__card-btn {
		font-size: 14px;
	}
	
	/* 모바일: 하단 다이어그램 이미지 크게 노출(가독성), 가로 스크롤 허용 */
	.products-lineup__diagram {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		margin: 0 -20px;
		padding: 0 20px;
		margin-bottom: 0;
	}
	.products-lineup__diagram img {
		width: auto;
		min-width: 640px;
		height: auto;
		max-height: none;
		display: block;
	}
}

/* ========================================
   Demo List (데모 / 제작사례)
======================================== */
.demo-list {
	width: 100%;
	background: #fff;
	padding-bottom: 200px;
}

.demo-list__inner {
	max-width: 1920px;
	margin: 0 auto;
	padding: 100px 160px 0;
}

.demo-list__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 100px;
}

.demo-list__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
	margin-bottom: 80px;
}

.demo-list__card {
	display: flex;
	flex-direction: column;
	gap: 30px;
	text-decoration: none;
	cursor: pointer;
}

.demo-list__card-img {
	position: relative;
	width: 100%;
	aspect-ratio: 500 / 280;
	overflow: hidden;
	background: #F8F8F8;
}

.demo-list__card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.demo-list__card:hover .demo-list__card-img img {
	transform: scale(1.05);
}

.demo-list__card-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
}

.demo-list__card-play img {
	width: 24px;
	height: auto;
}

.demo-list__card-title {
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.5;
	letter-spacing: -0.02em;
	color: #111111;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 페이징 */
.demo-list__paging {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0;
}

.demo-list__paging-btn {
	width: 45px;
	height: 45px;
	border: none;
	background: transparent;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.demo-list__paging-btn:disabled {
	cursor: default;
	opacity: 1;
}

.demo-list__paging-btn img {
	width: 45px;
	height: 45px;
}

.demo-list__paging-num {
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-display);
	font-weight: 500;
	font-size: 18px;
	color: #111111;
	text-decoration: none;
	border-radius: 50%;
	color: #666666;
	text-decoration: none;
	transition: all 0.3s ease;
}

.demo-list__paging-num:hover {
	color: #111111;
}

.demo-list__paging-num.active {
	background: #FECF07;
	color: #FFFFFF;
}

/* Demo List Responsive (solution 메뉴 게시판과 동일 형태·여백) */
@media screen and (max-width: 1600px) {
	.demo-list__inner {
		padding: 100px 127px 0;
	}
}

@media screen and (max-width: 1440px) {
	.demo-list__inner {
		padding: 80px 100px 0;
	}
	
	.demo-list__grid {
		gap: 40px;
	}
}

@media screen and (max-width: 1280px) {
	.demo-list__inner {
		padding: 60px 50px 0;
	}
	
	.demo-list__title {
		font-size: 44px;
	}
	
	.demo-list__grid {
		gap: 30px;
	}
	
	.demo-list__card-title {
		font-size: 20px;
	}
}

@media screen and (max-width: 1024px) {
	.demo-list {
		padding-bottom: 100px;
	}
	
	.demo-list__inner {
		padding: 60px 30px 0;
	}
	
	.demo-list__title {
		font-size: 36px;
		margin-bottom: 60px;
	}
	
	.demo-list__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
		margin-bottom: 60px;
	}
	
	.demo-list__card-title {
		font-size: 18px;
	}
}

@media screen and (max-width: 640px) {
	/* PC 200px → 모바일 비율 40% 적용 */
	.demo-list {
		padding-bottom: 80px;
	}
	
	.demo-list__inner {
		padding: 40px 20px 0;
	}
	
	.demo-list__title {
		font-size: 28px;
		margin-bottom: 40px;
	}
	
	.demo-list__grid {
		grid-template-columns: 1fr;
		gap: 40px;
		margin-bottom: 40px;
	}
	
	.demo-list__card {
		gap: 20px;
	}
	
	.demo-list__card-play {
		width: 60px;
		height: 60px;
	}
	
	.demo-list__card-play img {
		width: 18px;
	}
	
	.demo-list__card-title {
		font-size: 16px;
	}
	
	/* 모바일: 페이지네이션 버튼 터치 영역·간격 확대 (첫/끝 숨김, < > 44px, 숫자 36px, gap 8px) */
	.demo-list__paging {
		gap: 8px !important;
	}
	.demo-list__paging-btn--first,
	.demo-list__paging-btn--last {
		display: none !important;
	}
	.demo-list__paging-btn {
		min-width: 56px !important;
		min-height: 56px !important;
		width: 56px !important;
		height: 56px !important;
	}
	.demo-list__paging-btn img {
		width: 28px !important;
		height: 28px !important;
	}
	/* 모바일: 숫자 버튼 3개만 노출 (1,2,3) → 여유 공간으로 < > 버튼 확대 */
	.demo-list__paging > .demo-list__paging-num:nth-child(n+6) {
		display: none !important;
	}
	.demo-list__paging-num {
		min-width: 36px !important;
		min-height: 36px !important;
		width: 36px !important;
		height: 36px !important;
		font-size: 16px !important;
	}
}

/* ========================================
   Inquiry Form (대관 및 데모 진행 문의)
======================================== */
.inquiry-form {
	width: 100%;
	background: #fff;
	padding-bottom: 200px;
}

.inquiry-form__inner {
	max-width: 1600px;
	margin: 0 auto;
	padding: 100px 0 0;
}

.inquiry-form__title {
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 52px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
	margin-bottom: 100px;
}

.inquiry-form__form {
	width: 100%;
}

/* Figma 2273:4664~4676 노드 기준: row alignItems center, 행 간격 40px */
.inquiry-form__row {
	display: flex;
	gap: 40px;
	margin-bottom: 40px;
}

.inquiry-form__field {
	flex: 1;
	display: flex;
	align-items: center;
}

.inquiry-form__label {
	width: 200px;
	flex-shrink: 0;
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.inquiry-form__label .required {
	color: #FF0000;
}

/* Figma layout_2H87LF: height 75px, padding 0 30px */
.inquiry-form__input-wrap {
	flex: 1;
	height: 75px;
	min-height: 75px;
	background: #F8F8F8;
	padding: 0 30px;
	display: flex;
	align-items: center;
}

.inquiry-form__input {
	width: 100%;
	height: 100%;
	border: none;
	background: transparent;
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #111111;
}

.inquiry-form__input::placeholder {
	color: #C5C5C5;
	font-weight: 300;
	opacity: 1;
}
.inquiry-form__input::-webkit-input-placeholder {
	color: #C5C5C5;
	font-weight: 300;
}
.inquiry-form__input::-moz-placeholder {
	color: #C5C5C5;
	font-weight: 300;
	opacity: 1;
}
.inquiry-form__input:-ms-input-placeholder {
	color: #C5C5C5;
	font-weight: 300;
}

.inquiry-form__input:focus {
	outline: none;
}

/* 개인정보처리방침 */
.inquiry-form__privacy {
	display: flex;
	margin-bottom: 40px;
}

.inquiry-form__label--privacy {
	height: 80px;
	display: flex;
	align-items: center;
}

.inquiry-form__privacy-content {
	flex: 1;
	height: 250px;
	background: #F8F8F8;
	padding: 30px;
	overflow-y: auto;
}

.inquiry-form__privacy-content p {
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: -0.02em;
	color: #555555;
}

/* 동의 체크박스 */
.inquiry-form__agree {
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
}

.inquiry-form__checkbox {
	display: flex;
	align-items: center;
	gap: 15px;
	cursor: pointer;
}

.inquiry-form__checkbox input {
	display: none;
}

.inquiry-form__checkbox-icon {
	width: 20px;
	height: 20px;
	min-width: 20px;
	border: 2px solid #E5E5E5;
	border-radius: 50%;
	position: relative;
	transition: all 0.3s ease;
	box-sizing: border-box;
}

.inquiry-form__checkbox-icon .dot {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 6px;
	height: 6px;
	background: #E5E5E5;
	border-radius: 50%;
	transition: all 0.3s ease;
}

.inquiry-form__checkbox input:checked + .inquiry-form__checkbox-icon {
	border-color: #FECF07;
}

.inquiry-form__checkbox input:checked + .inquiry-form__checkbox-icon .dot {
	background: #FECF07;
}

.inquiry-form__checkbox-text {
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #333333;
}

/* 문의하기 버튼 */
.inquiry-form__submit {
	display: flex;
	justify-content: center;
}

.inquiry-form__btn {
	width: 300px;
	height: 80px;
	background: #000000;
	border: none;
	font-family: var(--font-primary);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #FFFFFF;
	cursor: pointer;
	transition: all 0.3s ease;
}

.inquiry-form__btn:hover {
	background: #FECF07;
	color: #FFFFFF;
}

/* Inquiry Form Responsive */
@media screen and (max-width: 1700px) {
	.inquiry-form__inner {
		padding: 100px 50px 0;
	}
}

/* 1520~1600px: 좌우 여백 127px(다른 서브와 동일) */
@media screen and (min-width: 1025px) and (max-width: 1600px) {
	.inquiry-form__inner {
		padding: 100px 127px 0;
	}
}

@media screen and (max-width: 1024px) {
	.inquiry-form {
		padding-bottom: 100px;
	}
	
	.inquiry-form__inner {
		padding: 60px var(--container-padding) 0;
	}
	
	.inquiry-form__title {
		font-size: 36px;
		margin-bottom: 60px;
	}
	
	.inquiry-form__row {
		flex-direction: column;
		gap: 30px;
		margin-bottom: 30px;
	}
	
	.inquiry-form__field {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		margin-bottom: 28px;
	}
	
	.inquiry-form__field:last-child {
		margin-bottom: 0;
	}
	
	.inquiry-form__label {
		width: 100%;
		font-size: 18px;
	}
	
	.inquiry-form__input-wrap {
		width: 100%;
		min-height: 76px;
		height: 76px;
		padding: 0 20px;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.inquiry-form__input {
		font-size: 16px;
	}
	
	.inquiry-form__privacy {
		flex-direction: column;
		gap: 15px;
	}
	
	.inquiry-form__label--privacy {
		height: auto;
	}
	
	.inquiry-form__privacy-content {
		height: 220px;
		max-height: 220px;
		padding: 20px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	
	.inquiry-form__privacy-content p {
		font-size: 16px;
	}
	
	.inquiry-form__agree {
		margin-bottom: 60px;
	}
	
	.inquiry-form__checkbox-text {
		font-size: 16px;
	}
	
	.inquiry-form__btn {
		width: 100%;
		max-width: 300px;
		height: 60px;
		font-size: 18px;
	}
}

@media screen and (max-width: 640px) {
	/* PC 200px → 모바일 비율 40% 적용 */
	.inquiry-form {
		padding-bottom: 80px;
	}
	
	.inquiry-form__inner {
		padding: 40px var(--container-padding) 0;
	}
	
	.inquiry-form__title {
		font-size: 28px;
		margin-bottom: 24px;
	}
	
	/* 모바일: 항목별 상하 간격 좁게 통일 (12px) */
	.inquiry-form__row {
		flex-direction: column;
		gap: 12px;
		margin-bottom: 12px;
	}
	
	.inquiry-form__row:last-of-type {
		margin-bottom: 12px;
	}
	
	.inquiry-form__field {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		margin-bottom: 0;
	}
	
	.inquiry-form__label {
		font-size: 16px;
		width: 100%;
	}
	
	.inquiry-form__input-wrap {
		width: 100%;
		min-height: 48px;
		height: 48px;
		padding: 0 16px;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.inquiry-form__input {
		font-size: 14px;
	}
	
	.inquiry-form__privacy {
		margin-bottom: 12px;
		gap: 8px;
	}
	
	.inquiry-form__privacy-content {
		height: 200px;
		max-height: 200px;
		padding: 15px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	
	.inquiry-form__privacy-content p {
		font-size: 14px;
	}
	
	.inquiry-form__agree {
		justify-content: center;
		margin-bottom: 24px;
	}
	
	.inquiry-form__checkbox-text {
		font-size: 14px;
	}
	
	.inquiry-form__btn {
		height: 50px;
		font-size: 16px;
	}
}

/* 1024px 이하: 호버 제거, 터치 시 active로 대체 (태블릿 포함 터치 기기) */
@media screen and (max-width: 1024px) {
	.about-manufacturer__card:hover .about-manufacturer__card-bg,
	.about-manufacturer__card:hover .about-manufacturer__card-overlay,
	.about-manufacturer__card:hover .about-manufacturer__card-logo { transform: none; }
	.about-manufacturer__card:hover .about-manufacturer__card-logo img { filter: none; opacity: 1; }
	.about-manufacturer__card--image:hover::before,
	.about-manufacturer__card--image:hover .about-manufacturer__card-bg,
	.about-manufacturer__card--image:hover .about-manufacturer__card-logo { opacity: 1; }
	.about-manufacturer__card--image:active::before,
	.about-manufacturer__card--image.is-hover::before { opacity: 0; }
	.about-manufacturer__card--image:active .about-manufacturer__card-bg,
	.about-manufacturer__card--image.is-hover .about-manufacturer__card-bg,
	.about-manufacturer__card--image:active .about-manufacturer__card-logo,
	.about-manufacturer__card--image.is-hover .about-manufacturer__card-logo { opacity: 0.3; }
	.solution-list__card:hover .solution-list__card-img img { transform: none; }
	.solution-list__card:active .solution-list__card-img img { transform: scale(1.05); }
	.solution-list__filter-btn:hover { color: #111111; }
	.solution-list__filter-btn:active { color: #111111; }
	/* 선택된 버튼: 터치/클릭 시에도 PC와 동일하게 검정 배경 + 흰 글자 (가독성) */
	.solution-list__filter-btn.active,
	.solution-list__filter-btn.active:hover,
	.solution-list__filter-btn.active:active {
		background: #000000 !important;
		border-color: #000000 !important;
		color: #FFFFFF !important;
	}
	.solution-view__list-btn:hover .solution-view__list-btn-motion .solution-view__list-btn-text { transform: none; }
	.solution-view__list-btn:active .solution-view__list-btn-motion .solution-view__list-btn-text { transform: translateY(-100%); }
	.brand-detail__card:hover .brand-detail__card-bg { transform: none; }
	.brand-detail__card:hover .brand-detail__card-overlay,
	.brand-detail__card:hover .brand-detail__card-name { opacity: 1; }
	.brand-detail__card:active .brand-detail__card-bg { transform: scale(1.05); }
	.brand-detail__card:active .brand-detail__card-overlay { opacity: 0; }
	.brand-detail__card:active .brand-detail__card-name { opacity: 1; }
	.brand-list__card-link:hover .brand-list__card-inner,
	.brand-list__card-link:hover .brand-list__card-img-inner img { transform: none; }
	.brand-list__card-link:active .brand-list__card-inner { transform: scale(1.02); }
	.brand-list__card-link:active .brand-list__card-img-inner img { transform: scale(1.05); }
	.brand-view__list-btn:hover .brand-view__list-btn-motion .brand-view__list-btn-text { transform: none; }
	.brand-view__list-btn:active .brand-view__list-btn-motion .brand-view__list-btn-text { transform: translateY(-100%); }
	.portfolio-list__card:hover .portfolio-list__card-img img { transform: none; }
	.portfolio-list__card:active .portfolio-list__card-img img { transform: scale(1.05); }
	.portfolio-view__list-btn:hover .portfolio-view__list-btn-motion .portfolio-view__list-btn-text { transform: none; }
	.portfolio-view__list-btn:active .portfolio-view__list-btn-motion .portfolio-view__list-btn-text { transform: translateY(-100%); }
	.products-lineup__card:hover .products-lineup__card-img--default { opacity: 1; }
	.products-lineup__card:hover .products-lineup__card-hover,
	.products-lineup__card:hover .products-lineup__card-hover .products-lineup__card-btn { opacity: 0; transform: translate(-50%, 18px); }
	.products-lineup__card:active .products-lineup__card-img--default { opacity: 0; }
	.products-lineup__card:active .products-lineup__card-hover,
	.products-lineup__card:active .products-lineup__card-hover .products-lineup__card-btn { opacity: 1; transform: translate(-50%, 0); }
	.demo-list__card:hover .demo-list__card-img img { transform: none; }
	.demo-list__card:active .demo-list__card-img img { transform: scale(1.05); }
	.demo-list__paging-num:hover { opacity: 1; }
	.demo-list__paging-num:active { opacity: 0.7; }
	.inquiry-form__btn:hover { opacity: 1; }
	.inquiry-form__btn:active { opacity: 0.9; }
}

/* 480px 이하 (커서룰 브레이크포인트) */
@media screen and (max-width: 480px) {
	.sub-visual {
		height: 300px;
	}
	.sub-visual__title {
		font-size: 40px;
	}
	.sub-visual__content {
		left: 15px;
		right: 15px;
		bottom: 20px;
		width: calc(100% - 30px);
	}
	.sub-visual__depth1,
	.sub-visual__depth2 {
		font-size: 12px;
	}
	.sub-content {
		padding-left: var(--container-padding);
		padding-right: var(--container-padding);
	}
	.privacy__inner {
		padding: 30px var(--container-padding);
	}
	.privacy__title {
		font-size: 24px;
		margin-bottom: 40px;
	}
	.privacy__heading {
		font-size: 18px;
	}
	.privacy__text,
	.privacy__list li {
		font-size: 14px;
	}
	.inquiry-form__inner {
		padding: 40px var(--container-padding) 0;
	}
	.inquiry-form__title {
		font-size: 24px;
		margin-bottom: 40px;
	}
	.inquiry-form__label {
		font-size: 16px;
	}
	.inquiry-form__input-wrap {
		height: 48px;
		min-height: 48px;
		padding: 0 16px;
	}
	.inquiry-form__input {
		font-size: 14px;
	}
	.inquiry-form__btn {
		height: 52px;
		font-size: 16px;
	}
	
	/* 320px 근처: 필터 버튼 텍스트 가운데 정렬 보정 (좌우 밀림 방지) */
	.solution-list__filter-btn {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		padding: 8px 12px;
	}
}

/* ========================================
   서브 페이지 좌우 여백 127px 최종 적용 (1520~1600px 노트북만, 모바일/태블릿 제외)
   min-width: 1025px 로 1024px 이하에서는 적용 안 함 → 모바일 반응형 보호
======================================== */
@media screen and (min-width: 1025px) and (max-width: 1600px) {
	body .sub-content .about-manufacturer__inner,
	body .sub-content .about-partner__inner,
	body .sub-content .solution-list__inner,
	body .sub-content .solution-view__inner,
	body .sub-content .portfolio-list__inner,
	body .sub-content .portfolio-view__inner,
	body .sub-content .studio-info__inner,
	body .sub-content .products-lineup__inner,
	body .sub-content .demo-list__inner,
	body .sub-content .inquiry-form__inner,
	body .sub-content .brand-detail__inner,
	body .sub-content .brand-view__inner,
	body .sub-content .brand-list__inner {
		padding-left: 127px !important;
		padding-right: 127px !important;
	}
	/* 제품 라인업: 1700px 규칙(50px) 등에 덮이지 않도록 별도 강제 */
	body .sub-content .products-lineup .products-lineup__inner {
		padding-left: 127px !important;
		padding-right: 127px !important;
	}
}

/* 1520~1600px 노트북만: 서브 페이지 콘텐츠 상단 타이틀 44px 통일 (모바일/태블릿 제외) */
@media screen and (min-width: 1025px) and (max-width: 1600px) {
	body .sub-content .about-intro__title,
	body .sub-content .about-history__title,
	body .sub-content .about-manufacturer__title,
	body .sub-content .about-partner__title,
	body .sub-content .brand-detail__title,
	body .sub-content .portfolio-list__title,
	body .sub-content .studio-info__title,
	body .sub-content .products-lineup__title,
	body .sub-content .demo-list__title,
	body .sub-content .inquiry-form__title,
	body .privacy .privacy__title {
		font-size: 44px !important;
	}
	body .sub-content .brand-view__title h3 {
		font-size: 44px !important;
	}
	body .sub-content .brand-list .brand-list__category {
		font-size: 44px !important;
	}
	body .sub-content .portfolio-view__title {
		font-size: 44px !important;
	}
}

/* ========================================
   경영이념 카드·배경 최종 적용 (노트북 1520~1600px만, 모바일/태블릿 제외)
======================================== */
@media screen and (min-width: 1025px) and (max-width: 1600px) {
	body .sub-content .about-vision__philosophy .about-vision__philosophy-card {
		background: rgba(255, 255, 255, 0.01) !important;
		border: 2px solid rgba(255, 255, 255, 0.04) !important;
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
	}
	body .sub-content .about-vision__philosophy img.about-vision__philosophy-bg {
		object-position: center calc(45% - 200px) !important;
	}
}

/* ========================================
   7thsense_view 브랜드 상세: 노트북(1025~1920px) 본문 18px 적용 (가독성 개선)
   기존 1520~1600px 축소 스타일 → 18px 최소로 상향
======================================== */
@media screen and (min-width: 1025px) and (max-width: 1920px) {
	body .sub-content .brand-view .brand-view__title h3 {
		font-size: 44px !important;
	}
	body .sub-content .brand-view .brand-view__app-title {
		font-size: 20px !important;
	}
	body .sub-content .brand-view .brand-view__app-list li {
		font-size: 18px !important;
	}
	body .sub-content .brand-view .brand-view__section-title span {
		font-size: 20px !important;
	}
	body .sub-content .brand-view .brand-view__section-box p {
		font-size: 18px !important;
		line-height: 1.6 !important;
	}
	body .sub-content .brand-view .brand-view__list > li {
		font-size: 18px !important;
	}
	body .sub-content .brand-view .brand-view__list ul li,
	body .sub-content .brand-view .brand-view__list-sublist li {
		font-size: 18px !important;
	}
	body .sub-content .brand-view .brand-view__list-btn {
		font-size: 18px !important;
	}
}

/* ========================================
   회사소개(about/index): 노트북(1025~1920px) 본문 18px 적용
======================================== */
@media screen and (min-width: 1025px) and (max-width: 1920px) {
	body .sub-content .about-intro .about-intro__section-title {
		font-size: 30px !important;
	}
	body .sub-content .about-intro .about-intro__business-text {
		font-size: 17px !important;
	}
	body .sub-content .about-intro .about-intro__contact-label,
	body .sub-content .about-intro .about-intro__contact-value {
		font-size: 18px !important;
	}
	body .sub-content .about-intro .about-intro__address-main p {
		font-size: 20px !important;
	}
	body .sub-content .about-intro .about-intro__overview-label {
		font-size: 18px !important;
	}
	body .sub-content .about-intro .about-intro__overview-value,
	body .sub-content .about-intro .about-intro__overview-products span {
		font-size: 20px !important;
	}
}

/* ========================================
   연혁(about/history): 노트북(1025~1920px) 본문 18px 적용
======================================== */
@media screen and (min-width: 1025px) and (max-width: 1920px) {
	body .sub-content .about-history .about-history__year {
		font-size: 30px !important;
	}
	body .sub-content .about-history .about-history__month,
	body .sub-content .about-history .about-history__text {
		font-size: 18px !important;
	}
}

/* ========================================
   경영 이념 카드 짤림 방지 - 최종 강제 (641~1024px, 640px 이하)
   다른 규칙·캐시와 충돌 시 우선 적용되도록 파일 맨 끝에 배치
======================================== */
@media screen and (max-width: 1024px) {
	body .sub-content .about-vision .about-vision__philosophy {
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		overflow: visible !important;
		align-items: stretch !important;
	}
	body .sub-content .about-vision .about-vision__philosophy .about-vision__philosophy-cards {
		overflow: visible !important;
		flex-shrink: 0 !important;
	}
	body .sub-content .about-vision .about-vision__philosophy .about-vision__philosophy-card {
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		overflow: visible !important;
		flex-shrink: 0 !important;
	}
}
@media screen and (max-width: 640px) {
	body .sub-content .about-vision .about-vision__philosophy {
		display: block !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		overflow: visible !important;
	}
	body .sub-content .about-vision .about-vision__philosophy .about-vision__philosophy-cards {
		display: block !important;
		overflow: visible !important;
	}
	body .sub-content .about-vision .about-vision__philosophy .about-vision__philosophy-card {
		display: flex !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		overflow: visible !important;
	}
}

.board-contents { margin-top:20px; color:#666; line-height:1.6; }