/**
 * institutedelphi.org — 페이지별 보강 스타일
 * (base / common / contents 이후 로드)
 */

/* =============================================================================
   메인 전용: 히어로 1뷰포트 + 아래로 스크롤 시 풋터(foot-bottom) 노출
   ============================================================================= */
html:has(#wrapmain .main-hero-stack),
html:has(#wrapmain .main-hero-stack) body {
	min-height: 100%;
	height: auto;
	overflow-x: hidden;
	overflow-y: auto;
}

body:has(#wrapmain .main-hero-stack) {
	padding-bottom: 0 !important;
}

#wrapmain:has(.main-hero-stack) {
	min-height: 100vh;
	min-height: 100dvh;
	height: auto;
	overflow: visible;
	box-sizing: border-box;
}

.main-hero-stack {
	position: relative;
	width: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	height: 100vh;
	height: 100dvh;
	max-height: none;
	overflow: hidden;
	box-sizing: border-box;
}

/* 히어로만 뷰포트 높이(부모가 auto 높이일 때 % 대신 vh) */
#wrapmain:has(.main-hero-stack) .main-hero {
	position: relative;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	min-height: 100vh;
	min-height: 100dvh;
	overflow: hidden;
}

#wrapmain:has(.main-hero-stack) .main-hero picture {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 0;
}

#wrapmain:has(.main-hero-stack) .main-hero picture img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	object-position: center center;
}

/* 이미지 위 검정 반투명 — 글자·GNB 대비용 (타이틀 z-index:2 위로 유지) */
#wrapmain:has(.main-hero-stack) .main-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	/* 아래쪽이 더 진하고 위로 갈수록 투명 */
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.68) 0%,
		rgba(0, 0, 0, 0.15) 30%,
		rgba(0, 0, 0, 0.05) 65%,
		transparent 100%
	);
}

/* 히어로 타이포: 크기 업 + 가독 그림자 (main-hero-stack 페이지만) */
#wrapmain:has(.main-hero-stack) .main-hero-subtitle {
	font-size: clamp(43px, 5.2vw, 95px);
	text-shadow:
		0 2px 7px rgba(0, 0, 0, 0.55),
		0 4px 32px rgba(0, 0, 0, 0.38),
		0 0 1px rgba(0, 0, 0, 0.9);
}

#wrapmain:has(.main-hero-stack) .main-hero-desc {
	font-size: clamp(24px, 2.35vw, 31px);
	text-shadow:
		0 1px 10px rgba(0, 0, 0, 0.5),
		0 2px 22px rgba(0, 0, 0, 0.32);
}

@media (max-width: 834px) {
	#wrapmain:has(.main-hero-stack) .main-hero-subtitle {
		font-size: clamp(31px, 5.2vw, 45px);
	}

	#wrapmain:has(.main-hero-stack) .main-hero-desc {
		font-size: clamp(20px, 2.8vw, 27px);
	}
}

.main-hero-stack .foot-bottom--hero-overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 4;
	box-sizing: border-box;
	width: 100% !important;
	padding: 28px 16px 20px !important;
	margin: 0 !important;
	text-align: center;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.58) 0%,
		rgba(0, 0, 0, 0.28) 45%,
		transparent 100%
	) !important;
	border: none !important;
}

.main-hero-stack .foot-bottom--hero-overlay .foot-bottom-info > li {
	float: none;
	width: 100%;
	margin: 0;
}

.main-hero-stack .foot-bottom--hero-overlay .fb-info-copylight,
.main-hero-stack .foot-bottom--hero-overlay .fb-info-copylight span {
	float: none;
	display: block;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.96) !important;
	font-size: clamp(11px, 1.9vw, 13px);
	line-height: 1.5;
	letter-spacing: 0.02em;
}

@media (max-width: 834px) {
	.main-hero-stack .foot-bottom--hero-overlay {
		padding: 22px 12px 16px !important;
	}
}

/* =============================================================================
   ADI 겹침 원형 — introduce/class_02.html (Analyze · Design · Impact)
   ============================================================================= */

.portfolio-container .adi-venn-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	/* 그림자·블러가 잘리지 않도록 (overflow:hidden 금지) + 위·아래 여유 */
	padding: clamp(28px, 5vw, 48px) clamp(8px, 3vw, 16px) clamp(32px, 6vw, 52px);
	margin: 0 0 8px;
	overflow: visible;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.portfolio-container .adi-venn {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	perspective: 1100px;
}

.portfolio-container .adi-circle {
	position: relative;
	flex: 0 0 auto;
	box-sizing: border-box;
	/* 가로 스크롤 없이 최대한 크게: 3원 + 겹침 ≈ 100% 안에 맞춤 */
	width: clamp(104px, 31vw, 280px);
	height: clamp(104px, 31vw, 280px);
	min-width: 0;
	min-height: 0;
	aspect-ratio: 1;
	padding: clamp(16px, 4vw, 28px) clamp(10px, 2.5vw, 20px);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(6px, 1.4vw, 10px);
	color: #fff;
	text-align: center;
	isolation: isolate;
	transition: transform 0.28s ease, box-shadow 0.28s ease, filter 0.28s ease;
}

.portfolio-container .adi-circle::before {
	content: "";
	position: absolute;
	top: 12%;
	left: 10%;
	width: 46%;
	height: 34%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0) 75%);
	opacity: 0.28;
	pointer-events: none;
	transform: translateY(0);
	transition: opacity 0.28s ease, transform 0.28s ease;
}

.portfolio-container .adi-circle--analyze {
	z-index: 1;
	background: #9a9285;
	box-shadow: 0 5px 16px rgba(90, 82, 72, 0.28);
}

.portfolio-container .adi-circle--design {
	z-index: 3;
	margin-left: clamp(-58px, -11.5vw, -28px);
	background: rgba(120, 128, 140, 0.88);
	box-shadow: 0 5px 16px rgba(71, 85, 105, 0.26);
}

.portfolio-container .adi-circle--impact {
	z-index: 2;
	margin-left: clamp(-58px, -11.5vw, -28px);
	background: #454d6b;
	box-shadow: 0 5px 16px rgba(30, 58, 95, 0.3);
}

.portfolio-container .adi-step {
	font-size: clamp(11px, 3.1vw, 13px);
	font-weight: 700;
	letter-spacing: 0.12em;
	opacity: 0.95;
}

.portfolio-container .adi-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
}

.portfolio-container .adi-icon svg {
	width: 100%;
	height: 100%;
}

.portfolio-container .adi-label {
	font-size: clamp(17px, 5.8vw, 40px);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.1;
	white-space: nowrap;
	transition: transform 0.28s ease, letter-spacing 0.28s ease, text-shadow 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
	.portfolio-container .adi-venn:hover .adi-circle {
		filter: saturate(0.94) brightness(0.98);
	}

	.portfolio-container .adi-venn .adi-circle:hover {
		transform: translateY(-10px) scale(1.045);
		filter: none;
		z-index: 6;
	}

	.portfolio-container .adi-venn .adi-circle:hover::before {
		opacity: 0.45;
		transform: translateY(-3px);
	}

	.portfolio-container .adi-venn .adi-circle:hover .adi-label {
		transform: translateY(-1px);
		letter-spacing: -0.015em;
		text-shadow: 0 10px 18px rgba(17, 24, 39, 0.28);
	}

	.portfolio-container .adi-venn .adi-circle--analyze:hover {
		box-shadow: 0 18px 32px rgba(90, 82, 72, 0.34);
	}

	.portfolio-container .adi-venn .adi-circle--design:hover {
		box-shadow: 0 18px 32px rgba(71, 85, 105, 0.34);
	}

	.portfolio-container .adi-venn .adi-circle--impact:hover {
		box-shadow: 0 18px 34px rgba(30, 58, 95, 0.38);
	}
}

@media (prefers-reduced-motion: reduce) {
	.portfolio-container .adi-circle,
	.portfolio-container .adi-circle::before,
	.portfolio-container .adi-label {
		transition: none;
	}
}

.portfolio-container .adi-venn-tagline {
	margin: 0 auto;
	padding: 12px clamp(12px, 4vw, 20px) 4px;
	max-width: 36em;
	text-align: center;
	font-size: clamp(15px, 1.85vw, 19px);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: -0.02em;
	color: #67530e;
	word-break: keep-all;
}

@media (max-width: 720px) {
	.portfolio-container .adi-venn-tagline {
		padding: 8px 16px 0;
		font-size: clamp(14px, 4vw, 16px);
	}

	.portfolio-container .adi-venn-wrap {
		padding: clamp(20px, 5vw, 36px) clamp(6px, 2.5vw, 12px) clamp(24px, 6vw, 40px);
		margin-bottom: 4px;
		overflow: visible;
	}

	.portfolio-container .adi-venn {
		margin: 0 auto;
		padding: 6px 0 10px;
		min-width: 0;
	}

	/* 기본 clamp보다만 살짝 줄이지 않음 — 태블릿·모바일에서도 충분한 크기 유지 */
	.portfolio-container .adi-circle {
		width: clamp(100px, 30vw, 240px);
		height: clamp(100px, 30vw, 240px);
	}

	.portfolio-container .adi-circle--design,
	.portfolio-container .adi-circle--impact {
		margin-left: clamp(-54px, -11vw, -30px);
	}

	.portfolio-container .adi-label {
		font-size: clamp(16px, 5.2vw, 28px);
	}
}

@media (max-width: 360px) {
	.portfolio-container .adi-circle {
		width: clamp(96px, 29vw, 220px);
		height: clamp(96px, 29vw, 220px);
		padding: clamp(12px, 3.5vw, 22px) clamp(8px, 2vw, 16px);
	}

	.portfolio-container .adi-circle--design,
	.portfolio-container .adi-circle--impact {
		margin-left: clamp(-46px, -10.5vw, -28px);
	}

	.portfolio-container .adi-label {
		font-size: clamp(14px, 5vw, 22px);
	}
}

/* =============================================================================
   사이트 공통 — 서브젝트 히어로 타이틀 (가운데 대제목 + 회색 부제)
   ============================================================================= */

#sub-container .sub-title--hero {
	text-align: center;
	padding: 48px 20px 40px;
	margin: 0 0 8px;
}

#sub-container .sub-title--hero > .section {
	margin-bottom: 0;
	max-width: 900px;
}

#sub-container .sub-title--hero .subject-title--hero,
#sub-container .sub-title--hero h1.subject-title {
	margin: 0;
	padding: 0;
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: #3e3105;
	text-align: center;
	position: relative;
}

#sub-container .sub-title--hero h1.subject-title--issue-diagnostic {
	font-size: clamp(25px, 3.6vw, 37px) !important;
}

#sub-container .sub-title--hero .subject-title--hero::before,
#sub-container .sub-title--hero h1.subject-title::before {
	display: none;
	content: none;
}

#sub-container .sub-title--hero .subject-lead {
	margin: 16px 0 0;
	padding: 0;
	font-size: clamp(15px, 2vw, 17px);
	font-weight: 400;
	line-height: 1.65;
	color: #67530e;
	text-align: center;
	max-width: 56em;
	margin-left: auto;
	margin-right: auto;
	word-break: keep-all;
}

@media (max-width: 767px) {
	.sub-body > .sub-title--hero {
		display: block !important;
	}

	#sub-container .sub-title--hero {
		padding: 32px 16px 28px;
	}
}

/* =============================================================================
   class_02 — 텍스트 가치 카드: 안내 1 + 본문 5 (3열, 3+3), 좁은 화면 2열·1열
   ============================================================================= */

body .portfolio-container .biz-value-cards {
	margin-top: 28px;
}

body .portfolio-container .biz-value-cards .value-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
	box-sizing: border-box;
	width: 100%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}

body .portfolio-container .biz-value-cards .value-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	position: relative;
	overflow: hidden;
	margin: 0;
	min-height: 320px;
	padding: 32px 26px 28px;
	background: #ffffff;
	border: 1px solid #e3e3e3;
	text-align: left;
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background-color 0.28s ease;
}

body .portfolio-container .biz-value-cards .value-card::before {
	content: "";
	position: absolute;
	top: -65%;
	left: -125%;
	width: 68%;
	height: 230%;
	background: linear-gradient(115deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0));
	pointer-events: none;
	transition: transform 0.62s ease;
}

body .portfolio-container .biz-value-cards .value-card::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, #cc9f4d 0%, #53608b 100%);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s ease;
}

/* 안내 카드: Impact 원(.adi-circle--impact)과 동일 톤 #454d6b */
body .portfolio-container .biz-value-cards .value-card--guide {
	background: #454d6b;
	border-color: rgba(255, 255, 255, 0.12);
	box-shadow: 0 12px 28px rgba(30, 58, 95, 0.22);
}

body .portfolio-container .biz-value-cards .value-card--guide .value-card-icon {
	color: rgba(255, 255, 255, 0.72);
}

body .portfolio-container .biz-value-cards .value-card--guide .value-card-eyebrow {
	color: #e8c47a;
}

body .portfolio-container .biz-value-cards .value-card--guide .value-card-title {
	color: #ffffff;
	font-weight: 500;
}

body .portfolio-container .biz-value-cards .value-card--guide .value-card-intro {
	margin: auto 0 0;
	padding: 0;
	padding-top: 18px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.82);
	word-break: keep-all;
}

body .portfolio-container .biz-value-cards .value-card-icon {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-shrink: 0;
	width: 100%;
	margin: 0 0 22px;
	color: #a8b0ba;
}

body .portfolio-container .biz-value-cards .value-card-icon svg {
	display: block;
	width: 56px;
	height: 56px;
}

body .portfolio-container .biz-value-cards .value-card-icon img {
	display: block;
	width: 44px;
	height: 49px;
	margin: 0;
	transition: transform 0.28s ease, filter 0.28s ease;
}

body .portfolio-container .biz-value-cards .value-card-eyebrow {
	margin: 0 0 6px;
	padding: 0;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.1px;
	text-transform: none;
	color: #cd9c40;
}

body .portfolio-container .biz-value-cards .value-card-title {
	margin: 0;
    padding: 0;
    font-size: clamp(19px, 2.55vw, 30px);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -0.3px;
    color: #454d6b;
	transition: color 0.28s ease;
}

body .portfolio-container .biz-value-cards .value-card-desc {
	margin-top: auto;
	margin-bottom: 0;
	padding-top: 22px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
	color: #5c6370;
	word-break: keep-all;
	transition: color 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
	body .portfolio-container .biz-value-cards .value-card:hover {
		transform: translateY(-8px);
		border-color: #d7b16d;
		box-shadow: 0 18px 34px rgba(50, 64, 102, 0.17);
		background: #fffdf8;
	}

	body .portfolio-container .biz-value-cards .value-card:hover::before {
		transform: translateX(320%);
	}

	body .portfolio-container .biz-value-cards .value-card:hover::after {
		transform: scaleX(1);
	}

	body .portfolio-container .biz-value-cards .value-card:hover .value-card-icon img {
		transform: translateY(-2px) scale(1.06);
		filter: drop-shadow(0 6px 10px rgba(62, 73, 109, 0.18));
	}

	body .portfolio-container .biz-value-cards .value-card:hover .value-card-title {
		color: #313f66;
	}

	body .portfolio-container .biz-value-cards .value-card:hover .value-card-desc {
		color: #464e5f;
	}

	body .portfolio-container .biz-value-cards .value-card--guide:hover {
		background: #3d4662;
		border-color: rgba(255, 255, 255, 0.24);
		box-shadow: 0 20px 38px rgba(30, 58, 95, 0.28);
	}

	body .portfolio-container .biz-value-cards .value-card--guide:hover .value-card-title,
	body .portfolio-container .biz-value-cards .value-card--guide:hover .value-card-intro {
		color: #ffffff;
	}
}

@media (prefers-reduced-motion: reduce) {
	body .portfolio-container .biz-value-cards .value-card,
	body .portfolio-container .biz-value-cards .value-card::before,
	body .portfolio-container .biz-value-cards .value-card::after,
	body .portfolio-container .biz-value-cards .value-card-icon img,
	body .portfolio-container .biz-value-cards .value-card-title,
	body .portfolio-container .biz-value-cards .value-card-desc {
		transition: none;
	}
}

@media (max-width: 1200px) {
	body .portfolio-container .biz-value-cards .value-cards {
		gap: 14px;
	}
}

@media (max-width: 900px) {
	body .portfolio-container .biz-value-cards .value-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
}

@media (max-width: 520px) {
	body .portfolio-container .biz-value-cards .value-cards {
		grid-template-columns: 1fr;
	}

	body .portfolio-container .biz-value-cards .value-card {
		min-height: 0;
	}
}

/* =============================================================================
   board/board.html 등 게시판 목록 — 행 호버 시 배경
   색만 바꾸려면 아래 --board-list-hover-bg 값을 수정하세요.
   ============================================================================= */

.sub-body {
	--board-list-hover-bg: #fffef5;
}

/* forum/issue(한/영) 갤러리형 목록: 카드 간 간격 약 50px */
.sub-body .board_forum .ul-photo,
.sub-body .board_issue .ul-photo,
.sub-body .board_forumeng .ul-photo,
.sub-body .board_issueeng .ul-photo {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 50px;
}

.sub-body .board_forum .ul-photo > li,
.sub-body .board_issue .ul-photo > li,
.sub-body .board_forumeng .ul-photo > li,
.sub-body .board_issueeng .ul-photo > li {
	width: auto;
	margin: 0;
	float: none;
}

.sub-body .board_forum .ul-photo > li:nth-child(3n+1),
.sub-body .board_issue .ul-photo > li:nth-child(3n+1),
.sub-body .board_forumeng .ul-photo > li:nth-child(3n+1),
.sub-body .board_issueeng .ul-photo > li:nth-child(3n+1) {
	clear: none;
}

@media (max-width: 1024px) {
	.sub-body .board_forum .ul-photo,
	.sub-body .board_issue .ul-photo,
	.sub-body .board_forumeng .ul-photo,
	.sub-body .board_issueeng .ul-photo {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.sub-body .board_forum .ul-photo,
	.sub-body .board_issue .ul-photo,
	.sub-body .board_forumeng .ul-photo,
	.sub-body .board_issueeng .ul-photo {
		grid-template-columns: 1fr;
	}
}

.sub-body .ul-photo > li {
	transition: background-color 0.2s ease;
}

.sub-body .ul-photo > li:hover {
	background-color: var(--board-list-hover-bg);
}

.sub-body .ul-photo > li:hover ul.photo-date {
	background-color: var(--board-list-hover-bg);
}

.sub-body .ul-photo .photo-txt {
	padding: 14px 18px 18px;
}

/* forum 카드: 상단 이미지와 제목 간격 최소화 */
.sub-body .board_forum .ul-photo .photo-txt,
.sub-body .board_forumeng .ul-photo .photo-txt {
	padding-top: 4px;
}

/* 포럼/시무진단 갤러리형 카드: 제목 2줄 말줄임 + 메타 하단 구분선 */
.sub-body .ul-photo .photo-txt .title {
	display: block;
	height: auto;
	min-height: 2.9em;
	margin-bottom: 8px;
}

.sub-body .ul-photo .photo-txt .title .y-text {
	display: block;
	min-width: 0;
}

.sub-body .ul-photo .photo-txt .title .subject {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: normal;
	font-size: 1em;
	line-height: 1.45;
	max-height: 2.9em;
	word-break: keep-all;
	color: #5b3a1e;
	transition: color 0.2s ease;
}

.sub-body .board_forum .ul-photo .photo-txt .title .subject,
.sub-body .board_forumeng .ul-photo .photo-txt .title .subject {
	position: relative;
	padding-left: 1em;
}

.sub-body .board_forum .ul-photo .photo-txt .title .subject::before,
.sub-body .board_forumeng .ul-photo .photo-txt .title .subject::before {
	content: "•";
	position: absolute;
	left: 0;
	top: 0;
	line-height: 1.45;
	font-weight: 700;
}

.sub-body .ul-photo > li:hover .photo-txt .title .subject {
	color: #1e88d9;
}

.sub-body .ul-photo .photo-txt .meta-line {
	margin: 0 0 10px;
	padding-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-size: 13px;
	line-height: 1.45;
	color: #787878;
	border-bottom: 1px solid #ddd7ca;
}

.sub-body .ul-photo .photo-txt .meta-line .meta-user {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sub-body .ul-photo .photo-txt .meta-line .meta-date {
	flex: 0 0 auto;
	white-space: nowrap;
}

/* forum 카드 본문: 3줄 말줄임 */
.sub-body .board_forum .ul-photo .photo-txt .contents,
.sub-body .board_forumeng .ul-photo .photo-txt .contents {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	white-space: normal;
	line-height: 1.6;
	max-height: 4.8em;
	word-break: keep-all;
}

.sub-body .table-textlist .section-box .ul-1 {
	transition: background-color 0.2s ease;
}

.sub-body .table-textlist .section-box:hover .ul-1 {
	background-color: var(--board-list-hover-bg);
}

/* 포토·포럼 리스트형 (awsPanPhoto.do — table.ul-news, 예: 디케포럼) */
.sub-body table.ul-news {
	transition: background-color 0.2s ease;
}

.sub-body table.ul-news:hover {
	background-color: var(--board-list-hover-bg);
}

/* 연구원 소식·Notice 등 포토목록 — 한글/영문 동일: 제목 → 메타 → 요약(2줄) */
.sub-body .ul-news .news-txt .title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: #111;
	min-height: 0;
	-webkit-line-clamp: 3;
}
.sub-body .ul-news .news-txt .title .subject {
	font-size: inherit;
	font-weight: inherit;
}
.sub-body .ul-news .news-txt > p:not(.news-con) {
	display: block !important;
	overflow: visible !important;
	max-height: none !important;
	min-height: 0 !important;
	-webkit-line-clamp: unset !important;
	text-overflow: clip !important;
	font-size: 13px;
	color: #959595;
	margin: 10px 0 0;
	line-height: 1.5;
}
.sub-body .ul-news .news-txt p.news-con {
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	display: -webkit-box !important;
	line-clamp: 2;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	white-space: normal !important;
	line-height: 1.6 !important;
	min-height: 3.2em !important;
	max-height: 3.2em !important;
	margin-top: 14px;
	color: #555;
	font-size: 15px;
}

/* 연구원 소식 상세보기(detail_noti) -> 디케 포럼 상세(detail_forum) 스타일 정렬 */
.sub-body .detail_noti {
	margin-bottom: 22px;
	border-top: 1px solid #ddd;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
	background: transparent;
}

.sub-body .detail_noti .table-th,
.sub-body .detail_noti .table-td,
.sub-body .detail_noti .table-td span,
.sub-body .detail_noti .table-td a {
	font-size: 17px;
}

.sub-body .detail_noti .dtable:first-child .table-td span,
.sub-body .detail_noti .dtable .table-td a,
.sub-body .detail_noti .dtable .table-td a span {
	color: #3a3a3a;
	font-weight: 400;
}

.sub-body .detail_noti .content_box,
.sub-body .detail_noti .content_box p,
.sub-body .detail_noti .content_box li {
	font-size: 17px;
	line-height: 1.9;
	color: #3a3a3a;
}

/* 시무진단 상세(detail_issue): 제목은 더 진한 볼드, 본문은 더 진한 그레이 */
.sub-body .detail_issue .dtable:first-child .table-td,
.sub-body .detail_issue .dtable:first-child .table-td span,
.sub-body .detail_issue .dtable:first-child .table-td a,
.sub-body .detail_issue .dtable:first-child .table-td a span {
	color: #1f1f1f;
	font-weight: 800;
}

.sub-body .detail_issue .content_box,
.sub-body .detail_issue .content_box p,
.sub-body .detail_issue .content_box li {
	color: #2f2f2f;
}

/* forum/issue 더보기 버튼: +3px, 밤색 기본, hover 색상 전환 */
.sub-body .forum-pic-more-wrap .forumPicMoreBtn,
.sub-body .issue-list-more-wrap .issueListMoreBtn {
	font-size: 18px;
	color: #ffffff;
	background: #5b3a1e;
	border: 1px solid #5b3a1e;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.sub-body .forum-pic-more-wrap .forumPicMoreBtn:hover,
.sub-body .issue-list-more-wrap .issueListMoreBtn:hover,
.sub-body .forum-pic-more-wrap .forumPicMoreBtn:focus-visible,
.sub-body .issue-list-more-wrap .issueListMoreBtn:focus-visible {
	color: #ffffff;
	background: #454d6b;
	border-color: #454d6b;
}

/* 상세보기(포럼/연구원소식) 모바일: 항목+내용 한 줄, 항목별 줄바꿈 */
@media (max-width: 900px) {
	.sub-body .detail_forum .dtable,
	.sub-body .detail_noti .dtable,
	.sub-body .detail_issue .dtable {
		display: grid !important;
		grid-template-columns: 82px minmax(0, 1fr);
		grid-auto-rows: auto;
		width: 100% !important;
		border-bottom: 1px solid #ececec;
	}

	.sub-body .detail_forum .table-th,
	.sub-body .detail_noti .table-th,
	.sub-body .detail_issue .table-th {
		display: flex !important;
		align-items: center;
		justify-content: flex-start;
		width: 82px !important;
		min-width: 82px !important;
		padding: 10px 12px !important;
		text-align: left !important;
		box-sizing: border-box;
		height: auto !important;
		border-right: 1px solid #ececec;
		border-bottom: 0 !important;
		border-top: 0 !important;
	}

	.sub-body .detail_forum .table-td,
	.sub-body .detail_noti .table-td,
	.sub-body .detail_issue .table-td {
		display: flex !important;
		align-items: center;
		width: auto !important;
		min-width: 0;
		padding: 10px 12px !important;
		text-align: left !important;
		box-sizing: border-box;
		height: auto !important;
		border-bottom: 0 !important;
		border-top: 0 !important;
		font-size: 16px !important;
		line-height: 1.5 !important;
		color: #3a3a3a !important;
	}

	.sub-body .detail_forum .table-th,
	.sub-body .detail_noti .table-th,
	.sub-body .detail_issue .table-th,
	.sub-body .detail_forum .table-th span,
	.sub-body .detail_noti .table-th span,
	.sub-body .detail_issue .table-th span {
		display: inline-block;
		line-height: 1.3;
		font-size: 15px !important;
		font-weight: 700 !important;
		color: #222 !important;
	}

	.sub-body .detail_forum .table-td span,
	.sub-body .detail_forum .table-td a,
	.sub-body .detail_noti .table-td span,
	.sub-body .detail_noti .table-td a,
	.sub-body .detail_issue .table-td span,
	.sub-body .detail_issue .table-td a {
		display: inline-block;
		line-height: 1.5;
		word-break: break-word;
	}

	/* 각 항목 줄 하단 라인 고정 (작성자 줄 누락 방지) */
	.sub-body .detail_forum .dtable .table-th,
	.sub-body .detail_forum .dtable .table-td,
	.sub-body .detail_noti .dtable .table-th,
	.sub-body .detail_noti .dtable .table-td,
	.sub-body .detail_issue .dtable .table-th,
	.sub-body .detail_issue .dtable .table-td {
		border-bottom: 1px solid #ececec !important;
	}

	/* 본문 행(라벨 없이 값만 있는 줄)은 전체폭 사용 */
	.sub-body .detail_forum .dtable .table-td:only-child,
	.sub-body .detail_noti .dtable .table-td:only-child,
	.sub-body .detail_issue .dtable .table-td:only-child {
		grid-column: 1 / -1;
		width: 100% !important;
		display: block !important;
		padding: 14px 12px !important;
	}
}

/* =============================================================================
   introduce/class_01.html — 이력서형 프로필 (흰 카드 · 좌 30% 요약 · 청색 세로선 · 우 2열)
   숫자만 조절: 아래 패딩·폰트·--profile-accent·--profile-photo-radius
   ============================================================================= */

.sub-body .intro-director-wrap,
.sub-body .committee-profile-wrap {
	box-sizing: border-box;
	max-width: 1100px;
	margin: 0 auto 36px;
	padding: 0;
	background: transparent;
}

.sub-body .committee-profile-wrap {
	margin-bottom: 32px;
}

.sub-body .committee-card--profile {
	--profile-accent: #4a3c0b;
	--profile-text: #454547;
	--profile-muted: #979284;
	display: block;
	margin-bottom: 0;
	overflow: visible;
	border: 1px solid #e2e8f0;
	border-radius: 0 !important;
	box-shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
	background: #ffffff;
}

.sub-body .profile-panel--resume {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	box-sizing: border-box;
}

.sub-body .profile-panel__aside {
	flex: 0 0 27%;
	max-width: 27%;
	box-sizing: border-box;
	padding: 38px 25px 38px 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: left;
	background: #f5f5f5;
}

.sub-body .profile-panel__photo {
	width: 100%;
	max-width: 200px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	display: block;
}

.sub-body .profile-panel__photo img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center top;
	border-radius: 120px;
	background: #e8ecf1;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
}

.sub-body .profile-panel__photo--empty {
	min-height: 0;
	margin-bottom: 0;
}

.sub-body .profile-panel__photo--empty::after {
	content: "";
	display: block;
	width: 100%;
	max-width: 220px;
	aspect-ratio: 3 / 4;
	border-radius: var(--profile-photo-radius);
	background: linear-gradient(145deg, #e8eef5 0%, #f1f5f9 100%);
	box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.25);
}

/* 사진 없을 때: 실루엣 아이콘 (class_01 임지선 등) */
.sub-body .profile-panel__photo--icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 220px;
	aspect-ratio: 3 / 4;
	margin: 0;
	padding: 0;
	border-radius: var(--profile-photo-radius);
	background: linear-gradient(165deg, #ebe8e2 0%, #f5f2ee 55%, #faf8f6 100%);
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.07);
	color: #9a9285;
	box-sizing: border-box;
}

.sub-body .profile-panel__photo--icon svg {
	display: block;
	width: 46%;
	height: auto;
	max-width: 140px;
	max-height: 42%;
	opacity: 0.4;
}

.sub-body .profile-panel__label {
	margin: 0 0 6px;
	padding: 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	color: #94a1b3;
	letter-spacing: 0.04em;
}

.sub-body .profile-panel__aside .profile-panel__name {
	margin: 0 0 4px;
	padding: 0;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--profile-accent);
	letter-spacing: -0.03em;
	border: 0;
}

.sub-body .profile-panel__tagline {
    padding: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--profile-muted);
    letter-spacing: -0.02em;
    word-break: keep-all;
    margin: 4px 0 0 1px;
}

.sub-body .profile-panel__detail {
	flex: 1 1 0;
	min-width: 260px;
	box-sizing: border-box;
	padding: 35px 40px;
	background: #ffffff;
}

.sub-body .profile-panel__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 36px;
	align-items: start;
}

.profile-panel__name{
	margin: 0 0 4px;
    padding: 0;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--profile-accent);
    letter-spacing: -0.03em;
    border: 0;
}

.profile-panel__summary{
	font-size: 15px;
    color: #333333;
	padding-top: 15px;
}

/* 운영위원회 카드 인터랙션 (web/176) */
.sub-body .committee-layout .committee-card--profile {
	position: relative;
	isolation: isolate;
	transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background-color 0.28s ease;
}

.sub-body .committee-layout .committee-card--profile::before {
	content: "";
	position: absolute;
	top: -70%;
	left: -130%;
	width: 60%;
	height: 240%;
	background: linear-gradient(115deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0));
	pointer-events: none;
	transition: transform 0.62s ease;
	z-index: 1;
}

.sub-body .committee-layout .committee-card--profile::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: linear-gradient(90deg, #cc9f4d 0%, #53608b 100%);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s ease;
	z-index: 2;
}

.sub-body .committee-layout .committee-card--profile .profile-panel__name,
.sub-body .committee-layout .committee-card--profile .profile-panel__tagline,
.sub-body .committee-layout .committee-card--profile .profile-panel__summary {
	transition: color 0.28s ease;
}

@media (hover: hover) and (pointer: fine) {
	.sub-body .committee-layout .committee-card--profile:hover {
		transform: translateY(-8px);
		border-color: #d7b16d;
		box-shadow: 0 18px 34px rgba(50, 64, 102, 0.17);
		background: #fffdf8;
	}

	.sub-body .committee-layout .committee-card--profile:hover::before {
		transform: translateX(340%);
	}

	.sub-body .committee-layout .committee-card--profile:hover::after {
		transform: scaleX(1);
	}

	.sub-body .committee-layout .committee-card--profile:hover .profile-panel__name {
		color: #313f66;
	}

	.sub-body .committee-layout .committee-card--profile:hover .profile-panel__tagline {
		color: #6a5f48;
	}

	.sub-body .committee-layout .committee-card--profile:hover .profile-panel__summary {
		color: #2f3b52;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sub-body .committee-layout .committee-card--profile,
	.sub-body .committee-layout .committee-card--profile::before,
	.sub-body .committee-layout .committee-card--profile::after,
	.sub-body .committee-layout .committee-card--profile .profile-panel__name,
	.sub-body .committee-layout .committee-card--profile .profile-panel__tagline,
	.sub-body .committee-layout .committee-card--profile .profile-panel__summary {
		transition: none;
	}
}

.sub-body .profile-block {
	margin: 0 0 26px;
}

.sub-body .profile-block:first-of-type {
	margin-top: 0;
}

.sub-body .profile-block:last-child {
	margin-bottom: 0;
}

.sub-body .profile-block__title {
	margin: 0 0 12px;
	padding: 0;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	color: #9a9285;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.sub-body .profile-block__list {
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--profile-text);
}

.sub-body .profile-block__list li {
	margin: 0 0 10px;
	padding: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--profile-text);
}

.sub-body .profile-block__list li:last-child {
	margin-bottom: 0;
}

@media (max-width: 900px) {
	.sub-body .intro-director-wrap,
	.sub-body .committee-profile-wrap {
		margin-bottom: 28px;
	}

	.sub-body .committee-profile-wrap {
		margin-bottom: 22px;
	}

	.sub-body .profile-panel__aside {
		flex: 1 1 100%;
		max-width: 100%;
		padding: 32px 24px 24px;
		align-items: center;
		text-align: center;
	}

	.sub-body .profile-panel__aside .profile-panel__name {
		font-size: 28px;
	}

	.sub-body .profile-panel__photo,
	.sub-body .profile-panel__photo--empty::after {
		margin-left: auto;
		margin-right: auto;
	}

	.sub-body .profile-panel__detail {
		min-width: 0;
		width: 100%;
		padding: 28px 24px 36px;
		border-left: none;
		border-top: 1px solid #4a3c0b2e;
	}

	.sub-body .profile-panel__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

@media (max-width: 480px) {
	.sub-body .committee-card--profile {
		border-radius: 12px;
	}

	.sub-body .profile-panel__aside {
		padding: 24px 20px 20px;
	}

	.sub-body .profile-panel__aside .profile-panel__name {
		font-size: 26px;
	}

	.sub-body .profile-panel__detail {
		padding: 24px 20px 32px;
	}
}

/* =============================================================================
   introduce/gallery2.html — 인사말 (상단 중앙 사진 · 하단 2열 본문)
   강조색: 서브 탭 하단선 #00acc1
   ============================================================================= */

.sub-body .greeting-simple--gallery2 {
	margin-top: 24px;
}

.sub-body .greeting-simple__photo-wrap {
	display: flex;
	justify-content: center;
	margin: 0 0 8px;
	padding: 0;
}

.sub-body .greeting-simple--gallery2 .greeting-simple__photo {
	flex: 0 0 auto;
	max-width: 100%;
}

.sub-body .greeting-simple--gallery2 .greeting-simple__photo img {
	max-width: 120px;
    margin: 0 auto 40px;
	opacity: 0.88;
}

.sub-body .greeting-simple__split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px 40px;
	align-items: start;
	box-sizing: border-box;
	margin-top: 24px;
	padding-top: 32px;
	text-align: left;
}

.sub-body .greeting-simple__split-col {
	min-width: 0;
	text-align: left;
}

.sub-body .greeting-simple--gallery2 .greeting-simple__quote {
	text-align: left;
	margin-bottom: 24px;
}
.sub-body .greeting-simple--gallery2 .greeting-simple__quote img {
    display: block;
    margin: 0 auto;
}
.sub-body .greeting-body--split {
	margin-top: 0;
	padding: 0;
	border-top: 0;
	text-align: left;
}

.sub-body .greeting-simple--gallery2 .greeting-body__sign {
	text-align: left;
}

.sub-body .greeting-page {
	--greeting-accent: #00acc1;
	box-sizing: border-box;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 24px 56px;
}

.sub-body .greeting-simple {
	margin: 32px 0 0;
	padding: 0;
}

.sub-body .greeting-simple__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px 48px;
}

.sub-body .greeting-simple__photo {
	flex: 0 1 280px;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

.sub-body .greeting-simple__photo img {
	display: block;
    width: 100%;
    object-fit: cover;
    object-position: center top;
}

.sub-body .greeting-simple__head {
	flex: 1 1 260px;
	min-width: 0;
	text-align: left;
}

.sub-body .greeting-simple__muted {
	margin: 0 0 14px;
	padding: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.55;
	color: #94a3b8;
	letter-spacing: -0.02em;
	word-break: keep-all;
}

.sub-body .greeting-simple__slogan {
	margin: 0 0 20px;
	padding: 0;
	font-size: clamp(28px, 4.2vw, 40px);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.035em;
	color: #0f172a;
	word-break: keep-all;
}

.sub-body .greeting-simple__accent {
	color: var(--greeting-accent);
}

.sub-body .greeting-simple__quote {
	margin: 0;
	padding: 0;
	font-size: clamp(17px, 1.9vw, 20px);
	font-weight: 700;
	line-height: 1.55;
	color: #0f172a;
	letter-spacing: -0.02em;
	word-break: keep-all;
}

.sub-body .greeting-simple--gallery2-en .greeting-simple__quote {
	font-size: calc(clamp(17px, 1.9vw, 20px) + 4px);
	color: #7c736a;
	text-align: left;
}

.sub-body .greeting-simple--gallery2-en .greeting-simple__quote strong {
	color: inherit;
}

.sub-body .greeting-body {
	box-sizing: border-box;
	padding: 0 0 8px;
	max-width: 100%;
	margin-top: -9px;
	font-family: 'Pretendard', Sans-serif;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.sub-body .greeting-body__para {
	margin: 0 0 22px;
    padding: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    color: #201902;
    letter-spacing: -0.01em;
    word-break: keep-all;
}

.sub-body .greeting-body__closing {
	margin: 28px 0 28px;
	padding: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.65;
	color: #201902;
	letter-spacing: -0.01em;
}

.sub-body .greeting-body__sign {
	margin: 0;
	padding: 0;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.5;
	color: #201902;
	text-align: right;
	letter-spacing: 0;
}
.sub-body .greeting-body__sign b{
	font-size: 20px;
	font-weight: 700;
}
@media (max-width: 900px) {
	.sub-body .greeting-page {
		padding: 0 16px 40px;
	}

	.sub-body .greeting-simple__row {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 28px;
	}

	.sub-body .greeting-simple__head {
		text-align: center;
	}

	.sub-body .greeting-simple__photo img {
		max-width: 260px;
		margin: 0 auto;
	}

	.sub-body .greeting-simple__split {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-top: 28px;
	}

	.sub-body .greeting-body {
		padding: 32px 0 8px;
		text-align: left;
	}

	.sub-body .greeting-body__sign {
		text-align: center;
	}

	.sub-body .greeting-simple--gallery2 .greeting-body__sign {
		text-align: left;
	}

	.sub-body .greeting-simple--gallery2 .greeting-simple__photo img {
		max-width: 220px;
	}
}

/* =============================================================================
   introduce/pricing2.html — 연혁 (클린 리스트: 좌 연도 + 우 월/도트/텍스트)
   ============================================================================= */

.sub-body .pricing2-history {
	box-sizing: border-box;
	max-width: 1000px;
	margin: 0 auto 48px;
	padding: 0 24px 24px;
	display: grid;
	grid-template-columns: minmax(320px, 1fr) 160px minmax(320px, 1fr);
	gap: 28px 54px;
	align-items: start;
}

/* 깔끔한 연혁 리스트(좌 연도 + 우 월/도트/텍스트) */
.sub-body .pricing2-historyClean {
	--hc-ink: #0f172a;
	--hc-muted: rgba(15, 23, 42, 0.62);
	--hc-rule: rgba(15, 23, 42, 0.08);
	--hc-dot: #22c55e;
	--hc-month-col: 28px;
	--hc-dot-col: 10px;
	--hc-gap: 12px;
	box-sizing: border-box;
	max-width: 500px;
	margin: 0 auto 48px;
	padding: 0 24px 24px;
}

.sub-body .pricing2-historyClean__grid {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.sub-body .pricing2-historyClean__year {
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--hc-ink);
	line-height: 1;
	padding-top: 6px;
}

.sub-body .pricing2-historyClean__list {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
	padding-left: 0;
}

.sub-body .pricing2-historyClean__list::before {
	content: "";
	position: absolute;
	top: 6px;
	bottom: 6px;
	left: calc(var(--hc-month-col) + var(--hc-gap) + (var(--hc-dot-col) / 2));
	width: 1px;
	background: var(--hc-rule);
}

.sub-body .pricing2-historyClean__item {
	display: grid;
	grid-template-columns: var(--hc-month-col) var(--hc-dot-col) minmax(0, 1fr);
	gap: var(--hc-gap);
	align-items: start;
	padding: 10px 0;
}

.sub-body .pricing2-historyClean__month {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--hc-muted);
	line-height: 1.2;
	text-align: right;
	padding-top: 2px;
}

.sub-body .pricing2-historyClean__dot {
	width: 6px;
    height: 6px;
    margin-top: 6px;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgb(86 176 255);
    justify-self: center;
}

.sub-body .pricing2-historyClean__text {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: -0.02em;
	color: #3e424bd1;
	word-break: keep-all;
}

@media (max-width: 900px) {
	.sub-body .pricing2-historyClean {
		padding: 0 16px 18px;
	}

	.sub-body .pricing2-historyClean__grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.sub-body .pricing2-historyClean__list {
		border-left: 0;
		padding-left: 0;
	}
}

.sub-body .pricing2-history__left {
	min-width: 0;
	padding-top: 96px;
}

.sub-body .pricing2-history__left-note {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: rgba(15, 23, 42, 0.82);
}

.sub-body .pricing2-history__media {
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #e5e7eb;
	border-radius: 10px;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08);
	margin: 0;
}

.sub-body .pricing2-history__left-caption {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.45;
	color: rgba(15, 23, 42, 0.5);
}

.sub-body .pricing2-history__center,
.sub-body .pricing2-history__content {
	min-width: 0;
	margin-top: -8px;
	display: flex;
	justify-content: center;
}

/* (새 디자인) 세로축 + 큰 원(연도) + 작은 원 + 하단 포인트 + 우측 연도 */
.sub-body .pricing2-axis {
	--axis-ink: #6fb7d4;
	--axis-line: rgba(15, 23, 42, 0.16);
	--axis-dot: rgba(15, 23, 42, 0.24);
	--axis-dot-ring: rgba(15, 23, 42, 0.08);
	position: relative;
	width: 140px;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 10px;
}

.sub-body .pricing2-axis__bubble {
	width: 86px;
	height: 86px;
	border-radius: 999px;
	background: var(--axis-ink);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 24px rgba(2, 6, 23, 0.14);
}

.sub-body .pricing2-axis__bubble-year {
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
	font-size: 15px;
}

.sub-body .pricing2-axis__bubble-top,
.sub-body .pricing2-axis__bubble-bottom {
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
	font-size: 14px;
	opacity: 0.95;
}

.sub-body .pricing2-axis__line {
	width: 1px;
	height: 420px;
	background: var(--axis-line);
	margin-top: 14px;
	border-radius: 999px;
	margin-left: 1px;
}
.pricing2-history__right{
	margin-top: 82px;
    margin-left: -108px;
}
.sub-body .pricing2-axis__line::before {
	content: "";
	position: absolute;
	left: 50%;
	/* top: 58px; */
	transform: translateX(-50%);
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 0 0 2px var(--axis-dot), 0 0 0 10px var(--axis-dot-ring);
}

.sub-body .pricing2-axis__line::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 50%);
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--axis-dot);
}

.sub-body .pricing2-history__events {
	min-width: 0;
	padding-top: 96px;
}

.sub-body .pricing2-events {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sub-body .pricing2-events__item {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 10px 0;
	margin: 0;
}

.sub-body .pricing2-events__month {
	font-size: 18px;
	font-weight: 500;
	color: #0f172a;
	text-align: right;
	white-space: nowrap;
}

.sub-body .pricing2-events__text {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.65;
	color: rgba(15, 23, 42, 0.78);
	word-break: keep-all;
}

@media (max-width: 900px) {
	.sub-body .pricing2-history {
		padding: 0 16px 18px;
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.sub-body .pricing2-history__left,
	.sub-body .pricing2-history__events {
		padding-top: 0;
	}

	.sub-body .pricing2-axis {
		width: 120px;
	}

	.sub-body .pricing2-axis__bubble {
		width: 84px;
		height: 84px;
	}

	.sub-body .pricing2-axis__line {
		height: 260px;
	}
}
