/* ==== [운영 메모 2026-10-29] — 이 메모는 주석이라 동작에 영향 없음 ====
   메인 전용 모바일 스타일(15차). 불러오는 곳: 메인 2쪽(/, /en/), 모바일(47.99rem 이하)만 <link media="(max-width: 47.99rem)">.
   home.css 를 바탕으로 만든 모바일판이라 앞부분 설명이 home.css 와 같다. 아래 원래 설명의 index.php 는 예전 PHP 사이트 기준.
   ==== */
/* ==========================================================================
   메디셀플러스 메인(index.php) 전용 스타일
   - 2026-09-10: index.php 안에 있던 <style> 블록 3개를 이 파일로 분리
   - 로드: inc/medicell.head.php 의 $mc_page_css 훅 (index.php 에서 $mc_page_css = 'home.css')
   - 이미지 경로는 /img 기준 상대경로(../img/...)
   ========================================================================== */

/* ===== 1. 메인 타이포 3단계 통일 (타이틀 44 / 서브 22 / 본문 18) ===== */
/* ===== 메인 페이지 타이포 3단계 통일 (2026-09-10 요청): 타이틀 44px / 서브 22px / 본문 18px, 화면 폭에 따라 축소 ===== */
body.medicell {
	--mc-fs-title: clamp(28px, calc(20px + 1.9vw), 44px);
	--mc-fs-sub:   clamp(18px, calc(15px + .55vw), 22px);
	--mc-fs-small: clamp(15px, calc(13px + .4vw), 18px);
}
/* 1) 타이틀 44px */
body.medicell .hero__heading,
body.medicell .programs__heading,
body.medicell .why__heading,
body.medicell .why__statement-main,
body.medicell .philosophy__heading-lead,
body.medicell .therapy__heading,
body.medicell .journey__heading,
body.medicell .mitoc-proof__heading,
body.medicell .mitoc-proof__heading-line,
body.medicell .mitoc-proof__heading-highlight,
body.medicell .mitoc-onoff__heading,
body.medicell .mitoc-doctor__quote,
body.medicell .mitoc-doctor__heading,
body.medicell .mitoc-support__heading,
body.medicell .home-final-cta__heading,
body.medicell .location__heading {
	font-size: var(--mc-fs-title) !important;
	line-height: 1.25 !important;
}
/* 2) 서브 타이틀 22px */
body.medicell .hero__rolling-primary,
body.medicell .programs__lede-lead,
body.medicell .programs__lead-name,
body.medicell .programs__lead-name-line,
body.medicell .why__sub,
body.medicell .why__statement-sub,
body.medicell .points__title,
body.medicell .philosophy__heading-tail,
body.medicell .philosophy__cv-heading,
body.medicell .team__name,
body.medicell .therapy__lede-strong,
body.medicell .therapy__route-pill,
body.medicell .journey__lede,
body.medicell .journey__flow-ko,
body.medicell .mitoc-proof__name,
body.medicell .mitoc-onoff__card-title,
body.medicell .mitoc-doctor__highlight,
body.medicell .mitoc-doctor__highlight-line,
body.medicell .mitoc-doctor__profile-name,
body.medicell .mitoc-support__lede,
body.medicell .home-final-cta__lede {
	font-size: var(--mc-fs-sub) !important;
	line-height: 1.4 !important;
}
/* 3) 본문·라벨 18px */
body.medicell .hero__mark,
body.medicell .programs__lede,
body.medicell .programs__lead-desc,
body.medicell .programs__lead-desc-lead,
body.medicell .why__sub2,
body.medicell .why__statement-conclusion,
body.medicell .points__desc,
body.medicell .philosophy__byline,
body.medicell .philosophy__quote,
body.medicell .philosophy__quote-attr,
body.medicell .philosophy__cv-label,
body.medicell .philosophy__cv-list,
body.medicell .philosophy__cv-list li,
body.medicell .team__marker,
body.medicell .team__dept,
body.medicell .team__creds,
body.medicell .team__creds-label,
body.medicell .team__accordion-summary,
body.medicell .team__accordion-body,
body.medicell .team__pub-list,
body.medicell .therapy__lede-line,
body.medicell .therapy__route-desc,
body.medicell .therapy__route-desc-strong,
body.medicell .journey__flow-en,
body.medicell .mitoc-proof__lede,
body.medicell .mitoc-proof__year,
body.medicell .mitoc-proof__prize,
body.medicell .mitoc-proof__finding,
body.medicell .mitoc-onoff__card-desc,
body.medicell .mitoc-doctor__desc,
body.medicell .mitoc-doctor__profile-role,
body.medicell .mitoc-doctor__career-item,
body.medicell .home-final-cta__eyebrow,
body.medicell .home-final-cta__action,
body.medicell .location__marker,
body.medicell .location__address,
body.medicell .location__hours,
body.medicell .location__info,
body.medicell .location__link {
	font-size: var(--mc-fs-small) !important;
	line-height: 1.7 !important;
}
/* 예외: 인용문 큰따옴표는 본문 대비 비율 유지, 라벨류는 줄간격 촘촘하게 */
body.medicell .philosophy__quote-mark { font-size: 3em !important; line-height: 0 !important; color: #9a9ea8 !important; } /* 2026-09-11: 회색·확대 */
body.medicell .why__statement-sub { max-width: none !important; } /* 22px 한 줄이 26ch 박스를 넘쳐 잘리는 것 방지 */
body.medicell .hero__mark,
body.medicell .team__marker,
body.medicell .location__marker,
body.medicell .home-final-cta__eyebrow,
body.medicell .journey__flow-en,
body.medicell .team__creds-label { line-height: 1.3 !important; }

/* ===== 2. 미토콘드리아 섹션 (mitoc-proof) ===== */
@media (width>=60rem) {
	.journey__flow-step[data-astro-cid-bfgeg5ng]:last-child .journey__flow-line[data-astro-cid-bfgeg5ng] { display: block; }
}
.mitoc-proof {
	padding: 5rem var(--edge);
	background: #fbfbfb;
	color: #111;
	text-align: center;
}

.mitoc-proof .mitoc-proof__inner {
	width: min(100%, 1120px);
	margin: 0 auto;
}

.mitoc-proof .mitoc-proof__heading {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.75rem);
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: -0.045em;
	word-break: keep-all;
}

.mitoc-proof .mitoc-proof__heading-line {
	display: block;
}

.mitoc-proof .mitoc-proof__heading-highlight {
	display: inline-block;
	padding: 0.02em 0.18em 0.08em;
	background: #050505;
	color: #fff;
	line-height: 1.05;
}

.mitoc-proof .mitoc-proof__lede {
	margin: 1.5rem auto 0;
	color: #777;
	font-size: clamp(0.875rem, 1.2vw, 1rem);
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: -0.025em;
	word-break: keep-all;
}

.mitoc-proof .mitoc-proof__lede-strong {
	color: #111;
	font-weight: 700;
}

.mitoc-proof .mitoc-proof__awards {
	display: grid;
	justify-items: center;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	width: min(100%, 900px);
	margin: clamp(2.5rem, 5vw, 4.25rem) auto 0;
	padding: 0;
	list-style: none;
}

.mitoc-proof .mitoc-proof__award {
	margin: 0;
	padding: 0;
}

.mitoc-proof .mitoc-proof__medal {
	display: block;
	width: clamp(6.5rem, 10vw, 8.5rem);
	height: auto;
	margin: 0 auto 1.35rem;
}

.mitoc-proof .mitoc-proof__year {
	display: block;
	margin-bottom: 0.22rem;
	color: #d89937;
	font-size: clamp(0.95rem, 1.4vw, 1.125rem);
	font-weight: 800;
}

.mitoc-proof .mitoc-proof__prize {
	display: block;
	margin-bottom: 0.85rem;
	color: #d89937;
	font-size: clamp(0.95rem, 1.4vw, 1.125rem);
	font-weight: 800;
	letter-spacing: -0.035em;
}

.mitoc-proof .mitoc-proof__name {
	display: block;
	color: #1b1b1b;
	font-size: clamp(0.74rem, 1vw, 0.875rem);
	font-weight: 700;
	letter-spacing: -0.025em;
	word-break: keep-all;
}

.mitoc-proof .mitoc-proof__finding {
	margin: 0.35rem 0 0;
	color: #777;
	font-size: clamp(0.7rem, 0.95vw, 0.8125rem);
	line-height: 1.55;
	letter-spacing: -0.02em;
	word-break: keep-all;
}

@media (max-width: 640px) {
	.mitoc-proof {
		padding: 4.5rem 1.25rem;
	}

	.mitoc-proof .mitoc-proof__heading {
		font-size: clamp(1.65rem, 7.4vw, 2.1rem);
	}

	.mitoc-proof .mitoc-proof__lede br {
		display: none;
	}

	.mitoc-proof .mitoc-proof__awards {
		grid-template-columns: 1fr;
		gap: 2.5rem;
		max-width: 22rem;
	}
}

/* ===== 3. 미토콘드리아 ON/OFF · 박사 소개 · 마무리 문구 ===== */
/* ===== 미토콘드리아 ON/OFF ===== */
.mitoc-onoff {
	padding: 5rem var(--edge);
	background: #eef3ff;
	color: #111;
	text-align: center;
}
.mitoc-onoff .mitoc-onoff__inner {
	width: min(100%, 1120px);
	margin: 0 auto;
}
.mitoc-onoff .mitoc-onoff__toggle {
	display: block;
	width: clamp(6rem, 9vw, 7.5rem);
	height: auto;
	margin: 0 auto 1.4rem;
}
.mitoc-onoff .mitoc-onoff__heading {
	margin: 0;
	font-size: clamp(1.5rem, 2.6vw, 2.25rem);
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.04em;
	word-break: keep-all;
}
.mitoc-onoff .mitoc-onoff__on {
	color: #2f46d6;
}
.mitoc-onoff .mitoc-onoff__cards {
	display: grid;
	grid-template-columns: repeat(24, minmax(0, 1fr));
	gap: 1rem;
	width: min(100%, 1040px);
	margin: clamp(2.5rem, 5vw, 4rem) auto 0;
	padding: 0;
	list-style: none;
}
.mitoc-onoff .mitoc-onoff__card {
	grid-column: span 6;
	margin: 0;
	padding: 1.6rem 1rem;
	background: #fff;
	border-radius: 0.75rem;
	box-shadow: 0 6px 18px rgba(47, 70, 214, 0.06);
}
.mitoc-onoff .mitoc-onoff__card:nth-child(1) { grid-column: 4 / span 6; }
.mitoc-onoff .mitoc-onoff__card:nth-child(2) { grid-column: 10 / span 6; }
.mitoc-onoff .mitoc-onoff__card:nth-child(3) { grid-column: 16 / span 6; }
.mitoc-onoff .mitoc-onoff__card-title {
	display: block;
	margin-bottom: 0.45rem;
	color: #111;
	font-size: clamp(0.95rem, 1.2vw, 1.05rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	word-break: keep-all;
}
.mitoc-onoff .mitoc-onoff__card-desc {
	display: block;
	color: #777;
	font-size: clamp(0.78rem, 1vw, 0.875rem);
	line-height: 1.6;
	letter-spacing: -0.02em;
	word-break: keep-all;
}

/* ===== 백동기 박사 ===== */
.mitoc-doctor {
	padding: 5rem var(--edge);
	background: #fff;
	color: #111;
}
.mitoc-doctor .mitoc-doctor__inner {
	width: min(100%, 1120px);
	margin: 0 auto;
}
.mitoc-doctor .mitoc-doctor__quote {
	position: relative;
	width: fit-content;
	margin: 0 auto;
	padding: 0.5rem 3.5rem;
	color: #2f46d6;
	font-family: "Nanum Pen Script", cursive;
	font-size: clamp(1.6rem, 3vw, 2.5rem);
	line-height: 1.35;
	text-align: center;
	word-break: keep-all;
}
.mitoc-doctor .mitoc-doctor__quote-mark {
	position: absolute;
	top: 0;
	left: 0;
	width: clamp(1.6rem, 2.6vw, 2.4rem);
	height: auto;
}
.mitoc-doctor .mitoc-doctor__quote-mark--close {
	top: auto;
	left: auto;
	right: 0;
	bottom: 0;
	transform: rotate(180deg);
}
.mitoc-doctor .mitoc-doctor__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
	margin-top: clamp(3rem, 6vw, 5.5rem);
}
.mitoc-doctor .mitoc-doctor__photo {
	display: block;
	width: 100%;
	height: auto;
}
.mitoc-doctor .mitoc-doctor__heading {
	margin: 0;
	font-size: clamp(1.4rem, 2.3vw, 1.9rem);
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.04em;
	word-break: keep-all;
}
.mitoc-doctor .mitoc-doctor__desc {
	margin: 1.1rem 0 0;
	color: #777;
	font-size: clamp(0.8rem, 1vw, 0.9rem);
	line-height: 1.8;
	letter-spacing: -0.02em;
	word-break: keep-all;
}
.mitoc-doctor .mitoc-doctor__lecture {
	display: block;
	width: 100%;
	height: auto;
	margin-top: 1.5rem;
}
.mitoc-doctor .mitoc-doctor__highlight {
	margin: 1.1rem 0 0;
	font-size: clamp(0.85rem, 1.1vw, 0.95rem);
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: -0.02em;
	word-break: keep-all;
}
.mitoc-doctor .mitoc-doctor__highlight-line {
	display: inline-block;
	padding: 0.1em 0.5em;
	background: #2f46d6;
	color: #fff;
	line-height: 1.55;
}
.mitoc-doctor .mitoc-doctor__profile {
	margin-top: clamp(3rem, 6vw, 5rem);
	padding-top: 1.5rem;
	border-top: 1px solid #e5e7eb;
}
.mitoc-doctor .mitoc-doctor__profile-name {
	margin: 0;
	font-size: clamp(1.1rem, 1.6vw, 1.35rem);
	font-weight: 800;
	letter-spacing: -0.03em;
}
.mitoc-doctor .mitoc-doctor__profile-role {
	margin-left: 0.5rem;
	color: #777;
	font-size: 0.72em;
	font-weight: 500;
}
.mitoc-doctor .mitoc-doctor__career {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.4rem 2.5rem;
	margin: 1.4rem 0 0;
	padding: 0;
	list-style: none;
}
.mitoc-doctor .mitoc-doctor__career-item {
	margin: 0;
	color: #666;
	font-size: clamp(0.72rem, 0.9vw, 0.8rem);
	line-height: 1.7;
	letter-spacing: -0.02em;
	word-break: keep-all;
}

/* ===== 마무리 문구 ===== */
.mitoc-support {
	padding: 5rem var(--edge);
	background: #f5f6f8 url("../img/mitoc/mitoc_con5_bg.jpg") center / cover no-repeat;
	color: #111;
	text-align: center;
}
.mitoc-support .mitoc-support__heading {
	margin: 0;
	font-size: clamp(1.5rem, 2.6vw, 2.25rem);
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.04em;
	word-break: keep-all;
}
.mitoc-support .mitoc-support__accent {
	color: #2f46d6;
}
.mitoc-support .mitoc-support__lede {
	margin: 1.1rem 0 0;
	color: #777;
	font-size: clamp(0.8rem, 1vw, 0.9rem);
	line-height: 1.7;
	letter-spacing: -0.02em;
	word-break: keep-all;
}

@media (max-width: 900px) {
	.mitoc-onoff .mitoc-onoff__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.mitoc-onoff .mitoc-onoff__card,
	.mitoc-onoff .mitoc-onoff__card:nth-child(1),
	.mitoc-onoff .mitoc-onoff__card:nth-child(2),
	.mitoc-onoff .mitoc-onoff__card:nth-child(3) {
		grid-column: auto;
	}
	.mitoc-onoff .mitoc-onoff__card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
	.mitoc-doctor .mitoc-doctor__grid {
		grid-template-columns: 1fr;
	}
	.mitoc-doctor .mitoc-doctor__career {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 640px) {
	.mitoc-onoff .mitoc-onoff__cards {
		grid-template-columns: 1fr;
	}
	.mitoc-doctor .mitoc-doctor__quote {
		padding: 0.5rem 2.2rem;
	}
	.mitoc-doctor .mitoc-doctor__quote br,
	.mitoc-doctor .mitoc-doctor__desc br,
	.mitoc-support .mitoc-support__heading br {
		display: none;
	}
	.mitoc-doctor .mitoc-doctor__career {
		grid-template-columns: 1fr;
	}
}

/* ===== 4. 보건복지부 지정 첨단재생의료 실시기관 (ncert) — 2026-09-11 추가 =====
   - 이미지: /img/ncon/n_con01_bg.jpg(PC 1920x768) / n_con01_bg_m.jpg(모바일 480x1221) / 아이콘·월계수 png
   - 모바일(<768px): 텍스트 위 + 배경 하단의 인증패 영역을 padding-bottom 으로 확보
   - PC(>=768px): 좌측은 배경의 인증패, 우측 열에 텍스트 */
.ncert {
	position: relative;
	padding: 3.5rem var(--edge) 108vw;
	background: #02101d url("../img/ncon/n_con01_bg_m.jpg") center bottom / 100% auto no-repeat;
	color: #fff;
	text-align: center;
	overflow: hidden;
}
.ncert::before { /* 섹션이 배경 이미지보다 길어질 때 상단 이음새를 가림 */
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 8rem;
	background: linear-gradient(#02101d, rgba(2, 16, 29, 0));
	pointer-events: none;
}
.ncert .ncert__inner {
	position: relative;
	width: min(100%, 90rem);
	margin: 0 auto;
}
.ncert .ncert__copy {
	width: min(100%, 36rem);
	margin: 0 auto;
}
.ncert .ncert__eyebrow {
	margin: 0 0 .8rem;
	color: rgba(255, 255, 255, .92);
	font-size: var(--mc-fs-sub, 1.25rem);
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: -.02em;
	word-break: keep-all;
}
.ncert .ncert__heading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(.4rem, 1.5vw, 1.25rem);
	--ncert-fs: clamp(2.1rem, 9.4vw, 2.85rem); /* 시안(480) 기준 약 45px */
	margin: 0;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.04em;
	word-break: keep-all;
}
.ncert .ncert__laurel {
	flex: none;
	width: auto;
	height: clamp(4.25rem, 9vw, 8.75rem);
}
.ncert .ncert__heading-text { display: block; }
.ncert .ncert__heading-gold {
	display: block;
	font-size: var(--ncert-fs);
	background: linear-gradient(180deg, #fff3c4 0%, #ecc86a 45%, #c9962e 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: #e9c463;
	-webkit-text-fill-color: transparent;
}
.ncert .ncert__heading-line {
	display: block;
	color: #fff;
	font-size: calc(var(--ncert-fs) * .82);
}
.ncert .ncert__desc {
	margin: 1.4rem auto 0;
	color: rgba(255, 255, 255, .88);
	font-size: var(--mc-fs-small, 1rem);
	line-height: 1.7;
	letter-spacing: -.02em;
	word-break: keep-all;
}
.ncert .ncert__points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem 0;
	width: min(100%, 22rem);
	margin: 2.25rem auto 0;
	padding: 0;
	list-style: none;
}
.ncert .ncert__point {
	margin: 0;
	padding: 0 .5rem;
}
.ncert .ncert__point:nth-child(even) {
	border-left: 1px solid rgba(255, 255, 255, .28);
}
.ncert .ncert__point-icon {
	display: block;
	width: clamp(4.5rem, 18vw, 5.75rem);
	height: auto;
	margin: 0 auto .8rem;
}
.ncert .ncert__point-label {
	display: block;
	font-size: var(--mc-fs-small, 1rem);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -.02em;
	word-break: keep-all;
}
.ncert .ncert__desc br,
.ncert .ncert__point-label br { display: none; }

@media (max-width: 47.99rem) {
	.ncert .ncert__points { display: none; } /* 모바일 시안: 아이콘 영역 없음 */
}

@media (min-width: 48rem) {
	.ncert {
		display: flex;
		align-items: center;
		aspect-ratio: 1920 / 768;
		padding: clamp(3rem, 5vw, 5rem) var(--edge);
		background: #021326 url("../img/ncon/n_con01_bg.jpg") center / cover no-repeat;
	}
	.ncert::before { display: none; }
	.ncert .ncert__heading { --ncert-fs: clamp(2.2rem, 3vw, 3.6rem); } /* 시안(1920) 기준 약 57px */
	.ncert .ncert__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: center;
	}
	.ncert .ncert__copy {
		grid-column: 2;
		width: min(100%, 38rem);
	}
	.ncert .ncert__desc br,
	.ncert .ncert__point-label br { display: inline; }
	.ncert .ncert__points {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0;
		width: min(100%, 36rem);
		margin-top: clamp(2rem, 3vw, 3rem);
	}
	.ncert .ncert__point { padding: 0 .35rem; }
	.ncert .ncert__point:nth-child(even) { border-left: 0; }
	.ncert .ncert__point + .ncert__point { border-left: 1px solid rgba(255, 255, 255, .28); }
	.ncert .ncert__point-icon { width: clamp(4rem, 5.5vw, 5.75rem); }
}

/* ===== 5. 메디셀플러스의 특화 진료 (ncare) — 2026-09-11 시안 반영 =====
   - 기존 .programs 마크업을 교체 (id="programs" 는 유지)
   - 배경: /img/ncon/n_con02_bg.jpg(PC 1920x853) / n_con02_bg_m.jpg(모바일 480x1929), 아이콘: n_con02_icon01~03.png(180px 원형) */
.ncare {
	padding: clamp(3.5rem, 6vw, 6rem) var(--edge) clamp(3.5rem, 6vw, 5.5rem);
	background: #000 url("../img/ncon/n_con02_bg_m.jpg") center top / cover no-repeat;
	color: #fff;
	text-align: center;
}
.ncare .ncare__inner {
	width: min(100%, 75rem);
	margin: 0 auto;
}
.ncare .ncare__heading {
	margin: 0;
	color: #fff;
	font-size: var(--mc-fs-title, 2.5rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -.04em;
	word-break: keep-all;
}
.ncare .ncare__lede {
	margin: 1.1rem auto 0;
	color: rgba(255, 255, 255, .9);
	font-size: var(--mc-fs-small, 1rem);
	line-height: 1.7;
	letter-spacing: -.02em;
	word-break: keep-all;
}
.ncare .ncare__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3.5rem 4rem;
	width: min(100%, 24rem);
	margin: clamp(2.5rem, 5vw, 4rem) auto 0;
	padding: 0;
	list-style: none;
}
.ncare .ncare__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding: 0;
}
.ncare .ncare__thumb {
	display: block;
	width: clamp(9rem, 32vw, 11.25rem);
	height: auto;
	margin: 0 0 1.5rem;
	border-radius: 50%;
}
.ncare .ncare__name {
	margin: 0 0 1.1rem;
	font-size: var(--mc-fs-sub, 1.25rem);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.03em;
	word-break: keep-all;
}
.ncare .ncare__name-pill {
	display: inline-block;
	padding: .45em 1.6em;
	background: var(--accent, #2f46d6);
	color: #fff;
	clip-path: polygon(.75em 0, 100% 0, calc(100% - .75em) 100%, 0 100%);
}
.ncare .ncare__desc {
	width: 100%;
	margin: 0;
	color: rgba(255, 255, 255, .88);
	font-size: var(--mc-fs-small, 1rem);
	line-height: 1.7;
	letter-spacing: -.02em;
	text-align: left;
	word-break: keep-all;
}
.ncare .ncare__desc-lead {
	color: var(--accent-inverse, #7d93ff);
	font-weight: 700;
}
.ncare .ncare__link {
	display: inline-flex;
	align-items: center;
	gap: .35em;
	margin-top: 1.75rem;
	color: #fff;
	font-size: var(--mc-fs-small, 1rem);
	font-weight: 500;
	line-height: 1.4;
	text-decoration: underline;
	text-underline-offset: .2em;
}
.ncare .ncare__link:hover { color: var(--accent-inverse, #7d93ff); }
.ncare .ncare__link svg { flex: none; }

@media (min-width: 48rem) {
	.ncare {
		background-image: url("../img/ncon/n_con02_bg.jpg");
		background-position: center;
	}
	.ncare .ncare__heading br { display: none; }
	.ncare .ncare__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 2rem clamp(1.5rem, 4vw, 4.5rem);
		width: min(100%, 75rem);
	}
	.ncare .ncare__item { align-items: stretch; }
	.ncare .ncare__thumb { margin-left: auto; margin-right: auto; }
	.ncare .ncare__name { text-align: center; }
	.ncare .ncare__link { align-self: center; margin-top: auto; padding-top: 1.75rem; }
}

/* ===== 6. 메디셀플러스 만의 특별함 (npoint) — 2026-09-11 시안 반영 =====
   - 기존 .points(01~06 그리드) 마크업을 교체
   - 배경: /img/ncon/n_con03_bg.jpg(PC 1920x1051) / n_con03_bg_m.jpg(모바일 480x1221, 하단은 흰색) */
.npoint {
	padding: clamp(3.5rem, 6vw, 5.5rem) var(--edge) clamp(3.5rem, 6vw, 6rem);
	background: #fff url("../img/ncon/n_con03_bg_m.jpg") center top / 100% auto no-repeat;
	color: var(--ink, #23262b);
	text-align: center;
}
.npoint .npoint__inner {
	width: min(100%, 56rem);
	margin: 0 auto;
}
.npoint .npoint__heading {
	margin: 0;
	color: var(--ink, #23262b);
	font-size: var(--mc-fs-title, 2.5rem);
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -.04em;
	word-break: keep-all;
}
.npoint .npoint__lede {
	margin: 1rem auto 0;
	color: #666;
	font-size: var(--mc-fs-small, 1rem);
	line-height: 1.7;
	letter-spacing: -.02em;
	word-break: keep-all;
}
.npoint .npoint__list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin: clamp(2rem, 4vw, 3rem) 0 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
	text-align: left;
}
.npoint .npoint__item {
	display: flex;
	flex-direction: column;
	gap: .9rem;
	margin: 0;
	padding: 1.75rem 1.6rem 1.9rem;
	background: #031927;
	border-radius: 2rem;
	color: #fff;
	box-shadow: 0 10px 28px rgba(3, 25, 39, .18);
}
.npoint .npoint__num {
	flex: none;
	color: #fff;
	font-size: clamp(2rem, 8vw, 2.6rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
}
.npoint .npoint__body { min-width: 0; }
.npoint .npoint__title {
	margin: 0;
	color: #fff;
	font-size: var(--mc-fs-sub, 1.25rem);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -.03em;
	word-break: keep-all;
}
.npoint .npoint__title em {
	color: #7c8efa;
	font-style: normal;
}
.npoint .npoint__desc {
	margin: .45rem 0 0;
	color: rgba(255, 255, 255, .86);
	font-size: var(--mc-fs-small, 1rem);
	line-height: 1.65;
	letter-spacing: -.02em;
	word-break: keep-all;
}

@media (min-width: 48rem) {
	.npoint {
		background: #f1f0f3 url("../img/ncon/n_con03_bg.jpg") center / cover no-repeat;
	}
	.npoint .npoint__heading br { display: none; }
	.npoint .npoint__list { gap: 1.5rem; }
	.npoint .npoint__item {
		flex-direction: row;
		align-items: center;
		gap: clamp(1.5rem, 3vw, 2.5rem);
		padding: 1.5rem clamp(1.75rem, 3vw, 2.75rem) 1.5rem clamp(1.75rem, 3vw, 2.5rem);
		border-radius: 999px;
	}
	.npoint .npoint__num {
		width: 3.2em;
		font-size: clamp(2rem, 2.6vw, 2.75rem);
		text-align: center;
	}
	.npoint .npoint__desc { margin-top: .35rem; }
}

/* [ai-conversion 2026-10-08] 영문 메인 1024px 가로 넘침 수정
   default.css가 48rem 이상에서 .therapy__heading-line을 nowrap으로 고정 → 영문 둘째 줄이 컨테이너보다 길어 화면 밖으로 넘침.
   운영 CSS 기준 화면 밖 넘침은 768~1272px에서만 발생 → 80rem(1280px) 미만에서만 줄바꿈 허용.
   1280px 이상(PC 1440 포함)과 국문은 운영 화면과 동일하게 nowrap 유지. */
@media (width < 80rem) {
	html[lang="en"] body.medicell .therapy__heading-line {
		white-space: normal;
	}
}

/* ==========================================================================
   [hero C-2 2026-10-13] 메인 HERO 최종안(C-2) — 건물 사진 왼쪽·완만한 흰색 연결·문구 굵기 보완
   메인(index.php)에서만 로드되는 파일이므로 다른 페이지에 영향 없음
   ========================================================================== */
/* [hero 시안 C-2 2026-10-13] C안 기반 — 건물 크기·위치·로고·문구·굵기는 C와 동일, "사진 ↔ 오른쪽 흰 배경" 연결만 보완
   · 옆 건물(오른쪽)과 흰색의 세로 경계가 보이지 않도록 선명한 사진은 더 완만하게 사라지고,
   · 같은 사진을 흐리게(블러) 겹쳐 색감·건물 윤곽이 '28년간' 뒤까지 아주 은은하게 스며들며 오른쪽 끝에서 완전한 흰색이 된다.
   A·B·C는 보존. 상단 메뉴·하단 상담바·다른 페이지는 변경하지 않는다. */

/* 문구: C와 동일 */
body.medicell .hero.hero .hero__heading,
body.medicell .hero.hero .hero__heading-line,
body.medicell .hero.hero .hero__heading-accent { font-weight: 800 !important; }
body.medicell .hero.hero .hero__rolling-primary { font-weight: 780 !important; line-height: 1.7 !important; }
body.medicell .hero.hero .hero__points { gap: 0.8rem !important; }

@media (min-width: 60rem) {
  body.medicell .hero.hero {
    --hero-text-x: calc(max(0px, (100vw - 90rem) / 2) + min(100vw, 90rem) - min(0.52 * min(100vw, 90rem), 45rem) + 3.5rem);
    max-width: none;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
    background: #fff;
    padding-left: max(0px, calc((100% - 90rem) / 2));
    padding-right: max(0px, calc((100% - 90rem) / 2));
  }
  body.medicell .hero.hero::after { display: none; }
  body.medicell .hero.hero .hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
  }
}

/* 좁은 PC·태블릿 가로(60rem~85rem): C와 같은 구성, 흰색 전환만 더 완만하게 */
@media (min-width: 60rem) and (max-width: 84.99rem) {
  body.medicell .hero.hero .hero__media {
    right: auto;
    width: min(1104px, calc(var(--hero-text-x) - 1.5rem));
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 52%, rgba(0, 0, 0, 0.86) 61%, rgba(0, 0, 0, 0.6) 71%, rgba(0, 0, 0, 0.32) 82%, rgba(0, 0, 0, 0.12) 92%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(90deg, #000 0, #000 52%, rgba(0, 0, 0, 0.86) 61%, rgba(0, 0, 0, 0.6) 71%, rgba(0, 0, 0, 0.32) 82%, rgba(0, 0, 0, 0.12) 92%, rgba(0, 0, 0, 0) 100%);
  }
  body.medicell .hero.hero .hero__media-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 50% 30%;
    transform: scale(1.12);
    transform-origin: 30% 40%;
  }
}

/* 넓은 PC(85rem 이상): C와 같은 위치·크기(왼쪽 -8%·위 -5.5%·높이 112%) + 완만한 선명 구간 + 블러 안개 층
   선명한 사진은 (가) 사진 폭 기준 곡선 — 옆 건물(사진의 약 81% 지점)이 시작되기 전에 사라져 세로 경계가 남지 않음,
   (나) 문구 시작점 기준 곡선 — 제목 뒤에서는 약하게만 — 두 곡선을 곱해(mask-composite) 더 옅은 쪽을 따른다. */
@media (min-width: 85rem) {
  body.medicell .hero.hero .hero__media-photo {
    position: absolute;
    left: calc(var(--hero-text-x) * -0.08);
    top: -5.5%;
    width: auto;
    height: 112%;
    max-width: none;
    object-fit: fill;
    -webkit-mask-image:
      linear-gradient(90deg, #000 0, #000 62%, rgba(0, 0, 0, 0.84) 67%, rgba(0, 0, 0, 0.58) 72%, rgba(0, 0, 0, 0.3) 76.5%, rgba(0, 0, 0, 0.1) 80%, rgba(0, 0, 0, 0) 83%),
      linear-gradient(90deg, #000 0, #000 calc(var(--hero-text-x) * 1.08 - 215px), rgba(0, 0, 0, 0.82) calc(var(--hero-text-x) * 1.08 - 150px), rgba(0, 0, 0, 0.5) calc(var(--hero-text-x) * 1.08 - 85px), rgba(0, 0, 0, 0.2) calc(var(--hero-text-x) * 1.08 - 20px), rgba(0, 0, 0, 0) calc(var(--hero-text-x) * 1.08 + 60px));
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(90deg, #000 0, #000 62%, rgba(0, 0, 0, 0.84) 67%, rgba(0, 0, 0, 0.58) 72%, rgba(0, 0, 0, 0.3) 76.5%, rgba(0, 0, 0, 0.1) 80%, rgba(0, 0, 0, 0) 83%),
      linear-gradient(90deg, #000 0, #000 calc(var(--hero-text-x) * 1.08 - 215px), rgba(0, 0, 0, 0.82) calc(var(--hero-text-x) * 1.08 - 150px), rgba(0, 0, 0, 0.5) calc(var(--hero-text-x) * 1.08 - 85px), rgba(0, 0, 0, 0.2) calc(var(--hero-text-x) * 1.08 - 20px), rgba(0, 0, 0, 0) calc(var(--hero-text-x) * 1.08 + 60px));
    mask-composite: intersect;
  }
  /* 같은 사진을 흐리게 겹친 안개 층: 색감과 건물 형태가 제목 뒤까지 아주 은은하게 이어지고, 오른쪽 끝에서 완전한 흰색 */
  body.medicell .hero.hero .hero__media::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: calc(var(--hero-text-x) * -0.08);
    top: calc(-5.5% - 30px);
    height: calc(112% + 60px);
    aspect-ratio: 1104 / 612;
    background: url("/img/medicell/con1_bg.jpg") center / 100% 100% no-repeat;
    filter: blur(24px) saturate(1.05) brightness(1.08);
    pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 58%, rgba(0, 0, 0, 0.17) 70%, rgba(0, 0, 0, 0.23) 80%, rgba(0, 0, 0, 0.17) 88%, rgba(0, 0, 0, 0.06) 95%, rgba(0, 0, 0, 0) 100%);
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 58%, rgba(0, 0, 0, 0.17) 70%, rgba(0, 0, 0, 0.23) 80%, rgba(0, 0, 0, 0.17) 88%, rgba(0, 0, 0, 0.06) 95%, rgba(0, 0, 0, 0) 100%);
  }
}

/* 태블릿 세로·모바일(60rem 미만): C와 같은 구성, 흰색 전환만 더 완만하게 */
@media (max-width: 59.9375rem) {
  body.medicell .hero.hero {
    padding-bottom: 0;
    gap: 2rem;
    background: #fff;
  }
  body.medicell .hero.hero .hero__media {
    width: calc(100% + var(--edge, 1.5rem) * 2);
    margin-left: calc(var(--edge, 1.5rem) * -1);
    margin-right: calc(var(--edge, 1.5rem) * -1);
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 58%, rgba(0, 0, 0, 0.82) 64%, rgba(0, 0, 0, 0.55) 70%, rgba(0, 0, 0, 0.28) 75.5%, rgba(0, 0, 0, 0.09) 80%, rgba(0, 0, 0, 0) 84%);
    mask-image: linear-gradient(90deg, #000 0, #000 58%, rgba(0, 0, 0, 0.82) 64%, rgba(0, 0, 0, 0.55) 70%, rgba(0, 0, 0, 0.28) 75.5%, rgba(0, 0, 0, 0.09) 80%, rgba(0, 0, 0, 0) 84%);
  }
  body.medicell .hero.hero .hero__media-photo {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1104 / 612;
    object-fit: cover;
    object-position: 0 50%;
  }
}
