/* ==========================================================================
   디자인 시안 C3 오버레이 — 운영 콘텐츠는 그대로, 레이아웃·디자인만 기획 시안(main c8eeb6f) 방향으로 적용
   적용 범위: 상단 공지바 · 헤더 · 메인 HERO · 의료진 영역 · 하단 고정 상담바 · 우측 플로팅 버튼
   원칙: 운영 CSS(default.css·home.css)는 수정하지 않고 이 파일에서만 덮어쓴다. 상담 폼 name·hidden·JS 불변.
   ========================================================================== */
body.c3 {
  --c3-ink: #11131a;
  --c3-ink-2: #4a4f5c;
  --c3-line: #e3e6ef;
  --c3-blue: #2f46d6;
  --c3-navy: #0c1735;
  --c3-tint: #eef1fb;
  --c3-h: 100px;
  --c3-notice: 28px;
}
@media (max-width: 59.99rem) { body.c3 { --c3-h: 70px; } }

.c3-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.c3-skip { position: absolute; left: -999px; top: 0; z-index: 200; background: #fff; color: #000; padding: .6rem 1rem; }
.c3-skip:focus { left: 0; }

/* ---- 1. 상단 공지바 — 기획 시안(main c8eeb6f) .top-notice 와 동일: 딥 네이비 #111b32 · 28px · 흰 글자 13px/500 · 핵심 문구만 블루 #7d93ff · 세로 롤링 ---- */
.c3-notice { --tn-h: 1.75rem; position: relative; height: var(--tn-h); overflow: hidden; background: #111b32; color: #fff; }
.c3-notice__track { list-style: none; margin: 0; padding: 0; transition: transform .45s cubic-bezier(.4, 0, .2, 1); will-change: transform; }
.c3-notice__item { display: flex; align-items: center; justify-content: center; height: var(--tn-h); padding-inline: clamp(1.25rem, 4vw, 3.5rem); font-size: .8125rem; font-weight: 500; line-height: 1; letter-spacing: -.01em; white-space: nowrap; }
.c3-notice__item > span { overflow: hidden; text-overflow: ellipsis; }
.c3-notice em { font-style: normal; font-weight: 600; color: #7d93ff; }
@media (max-width: 47.99rem) { .c3-notice__item { font-size: .75rem; } }
@media (max-width: 23.99rem) { .c3-notice__item { padding-inline: .75rem; font-size: min(.75rem, 3.1vw); } } /* 시안 3.3vw → 3.1vw: 360·320px 에서 3번째 문구 말줄임(잘림) 방지 */

/* ---- 2. 헤더 ---- */
.c3-header { position: sticky; top: 0; z-index: 60; background: #fff; border-bottom: 1px solid var(--c3-line); }
.c3-header__row {
  height: var(--c3-h); display: flex; align-items: center; gap: clamp(.75rem, 1.6vw, 1.5rem);
  padding: 0 clamp(1rem, 2.8vw, 2.5rem); max-width: 120rem; margin: 0 auto;
}
.c3-brand { flex: 0 0 auto; display: flex; align-items: center; }
.c3-brand img { height: 2.35rem; width: auto; display: block; }
@media (max-width: 59.99rem) { .c3-brand img { height: 2rem; } }
@media (max-width: 23.75rem) { .c3-brand img { height: 1.7rem; } }

/* 메인 탭 2개(독립) — 선택된 탭만 블루. 탭을 가리키면(hover·focus) 오른쪽 가로 메뉴가 그 카테고리로 바뀐다 */
.c3-tabs { display: flex; gap: .15rem; padding: .3rem; background: var(--c3-tint); border-radius: 999px; flex: 0 0 auto; }
.c3-tab {
  display: block; padding: .72rem 1.3rem; border-radius: 999px; color: var(--c3-ink-2);
  font-size: .95rem; font-weight: 700; letter-spacing: -.02em; white-space: nowrap; text-decoration: none; transition: background .2s, color .2s;
}
.c3-tab.is-active { background: var(--c3-blue); color: #fff; }
.c3-tab:not(.is-active):hover { color: var(--c3-ink); }
@media (max-width: 59.99rem) { .c3-tabs { display: none; } }

/* 오른쪽 가로 메뉴 — 카테고리별 4개 한 줄 (드롭다운 없음) */
.c3-navs { flex: 1 1 auto; min-width: 0; display: grid; }
.c3-nav { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .18s; min-width: 0; }
.c3-nav.is-active { opacity: 1; visibility: visible; }
.c3-nav > ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: space-evenly; gap: .5rem; }
.c3-nav a { color: #4b5160; font-size: .95rem; font-weight: 600; letter-spacing: -.02em; white-space: nowrap; text-decoration: none; padding: .5rem .25rem; display: block; }
.c3-nav a:hover { color: var(--c3-ink); }
.c3-nav a[aria-current="page"] { color: var(--c3-ink); font-weight: 800; }
@media (max-width: 79.99rem) { .c3-navs { display: none; } .c3-header__row { gap: .75rem; } .c3-tabs { margin-left: auto; } }
@media (min-width: 80rem) and (max-width: 89.99rem) { .c3-nav a { font-size: .88rem; } .c3-tab { padding: .68rem 1.05rem; font-size: .9rem; } }
/* 영문: 라벨이 길어 두 줄까지 허용 */
html[lang="en"] .c3-tab { font-size: .84rem; padding: .6rem .9rem; }
html[lang="en"] .c3-nav a { font-size: .8rem; letter-spacing: -.02em; white-space: normal; line-height: 1.25; text-align: center; max-width: 9.5rem; }


.c3-lang { flex: 0 0 auto; display: flex; align-items: center; gap: .7rem; margin-left: auto; font-size: .85rem; font-weight: 800; letter-spacing: .02em; }
.c3-navs + .c3-lang { margin-left: 0; }
.c3-lang a { color: #7b8190; text-decoration: none; }
.c3-lang a[aria-current="true"] { color: var(--c3-blue); }
.c3-lang span { width: 1px; height: .8rem; background: var(--c3-line); }
@media (max-width: 59.99rem) { .c3-lang { display: none; } }
@media (min-width: 60rem) and (max-width: 74.99rem) { .c3-lang { margin-left: 0; } }

.c3-toggle { flex: 0 0 auto; width: 2.75rem; height: 2.75rem; border: 0; background: transparent; color: var(--c3-ink); display: grid; place-items: center; cursor: pointer; margin-left: auto; }
@media (min-width: 60rem) { .c3-toggle { margin-left: 0; } }
.c3-toggle__close { display: none; }
.c3-toggle[aria-expanded="true"] .c3-toggle__open { display: none; }
.c3-toggle[aria-expanded="true"] .c3-toggle__close { display: block; }

/* 전체 메뉴 패널 (운영 medicell.js 가 .is-open 토글) */
.c3-menu { display: none; border-top: 1px solid var(--c3-line); background: #fff; max-height: calc(100vh - var(--c3-h)); overflow-y: auto; }
.c3-menu.is-open { display: block; }
.c3-menu__inner { max-width: 80rem; margin: 0 auto; padding: 2rem clamp(1rem, 2.8vw, 2.5rem) 2.5rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 2rem 2.5rem; }
.c3-menu__group h2 { margin: 0 0 .7rem; font-size: .95rem; font-weight: 800; color: var(--c3-ink); letter-spacing: -.02em; }
.c3-menu__group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.c3-menu__group a { display: block; padding: .5rem 0; color: #4b5160; font-size: .95rem; text-decoration: none; }
.c3-menu__group a:hover { color: var(--c3-blue); }
.c3-menu__cta { grid-column: 1 / -1; display: flex; gap: .75rem; flex-wrap: wrap; border-top: 1px solid var(--c3-line); padding-top: 1.5rem; }
.c3-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0 1.6rem; border: 1px solid var(--c3-ink); color: var(--c3-ink); font-weight: 700; font-size: .95rem; text-decoration: none; }
.c3-btn--primary { background: var(--c3-blue); border-color: var(--c3-blue); color: #fff; }
@media (max-width: 59.99rem) { .c3-menu__cta { flex-direction: column; } .c3-btn { width: 100%; } }

/* 운영 모바일 빠른 메뉴 그리드는 새 헤더 메뉴 패널과 중복 → 시안에서는 숨김 (링크는 패널에 모두 포함) */
body.c3 .mobile-quick-grid { display: none !important; }

/* 운영 헤더가 쓰던 본문 상단 보정이 있어도 새 헤더 기준으로 둔다 */
body.c3 { padding-top: 0; }

/* ---- 3. 메인 HERO — 어두운 풀비주얼 (운영 문구·이미지 그대로 / 2026-10-14 위계·간판·오버레이·버튼 개선) ---- */
body.c3-home main > .hero {
  position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
  gap: clamp(1.4rem, 2.6vw, 2.25rem);
  min-height: clamp(40rem, 55.5vw, 50rem); padding: clamp(3rem, 6vw, 5rem) clamp(1rem, 4vw, 2.5rem) clamp(2.25rem, 4vw, 3.25rem);
  background: #0b1429; color: #fff; overflow: hidden; border: 0;
}
body.c3-home main > .hero::before, body.c3-home main > .hero::after { content: none; display: none; }
body.c3-home .hero .c3-hero__media {
  position: absolute; inset: 0; z-index: -2; width: 100%; max-width: none; height: 100%; margin: 0; padding: 0; transform: none; left: 0; right: 0; top: 0;
}
body.c3-home .hero .c3-hero__media::before, body.c3-home .hero .c3-hero__media::after { content: none; display: none; }
body.c3-home .hero .hero__media-photo {
  position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 53%;
  mask: none; -webkit-mask: none; filter: none; transform: none; left: 0; top: 0;
}
/* 간판(상단 영역)을 살리고 문구가 놓이는 하단에만 어두운 막을 보강 — 사진 전체는 가볍게 */
body.c3-home main > .hero > .c3-hero__media::after {
  content: ''; display: block; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(8, 14, 32, .30) 0%, rgba(8, 14, 32, .18) 30%, rgba(8, 14, 32, .46) 52%, rgba(8, 14, 32, .86) 80%, rgba(8, 14, 32, .92) 100%);
}
/* 후보 B(?hero=b, 운영 con1_bg.jpg 1104×612) */
body.c3-home .hero .hero__media-photo.c3-hero-photo--b { object-position: 40% 42%; }

body.c3-home .hero .hero__copy {
  position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: clamp(1.1rem, 1.8vw, 1.5rem);
  width: 100%; max-width: 62rem; margin: 0; padding: 0; text-align: center; background: transparent;
}
/* 타이포 위계: ① 28년간 12,600여 명 (가장 크고 굵게, 한 줄) → ② 척추 통증 환자와의 스토리 → ③ 설명 3줄 */
body.c3-home .hero .hero__heading {
  margin: 0; color: #fff; text-align: center; display: flex; flex-direction: column; align-items: center; gap: clamp(.6rem, 1.2vw, 1rem);
  text-shadow: 0 2px 22px rgba(0, 0, 0, .4);
}
body.c3-home .hero .hero__heading-accent {
  display: block; color: #fff; font-weight: 900; letter-spacing: -.055em; line-height: 1.05;
  font-size: clamp(2.35rem, 6.2vw, 5.4rem); white-space: nowrap;
}
body.c3-home .hero .hero__heading-accent br { display: none; }
body.c3-home .hero .hero__heading-accent ~ .hero__heading-line {
  display: block; color: rgba(255, 255, 255, .9); font-weight: 600; letter-spacing: -.035em; line-height: 1.3;
  font-size: clamp(1.1rem, 2.1vw, 1.8rem);
}
body.c3-home .hero .hero__divider { width: 2.75rem !important; margin: .1rem auto !important; background: #fff !important; opacity: .8; }
/* 설명 3줄: 내용 그대로, + 기호를 세로로 정렬(왼쪽 정렬 + 내어쓰기) */
body.c3-home .hero .hero__points {
  width: fit-content; max-width: 100%; margin-inline: auto !important; align-items: flex-start; text-align: left; gap: clamp(.55rem, 1vw, .8rem) !important;
}
body.c3-home .hero .hero__rolling-primary {
  color: rgba(255, 255, 255, .94); font-size: clamp(.98rem, 1.45vw, 1.25rem); font-weight: 600; line-height: 1.65; letter-spacing: -.025em; text-align: left;
  padding-left: 1.05em; text-indent: -1.05em; text-shadow: 0 1px 12px rgba(0, 0, 0, .45);
}
/* 상담 버튼: 온라인 상담 = 브랜드 블루 채움, 즉석상담 = 투명 테두리 */
body.c3-home .hero .c3-hero__ctas { position: relative; z-index: 1; display: flex; gap: clamp(.75rem, 1.7vw, 1.5rem); width: 100%; max-width: 46rem; justify-content: center; }
.c3-hero-cta {
  flex: 1 1 0; max-width: 21rem; min-height: 3.5rem; display: flex; align-items: center; justify-content: center; gap: 1.1rem;
  border: 1px solid rgba(255, 255, 255, .95); background: transparent; color: #fff; text-decoration: none;
  font-size: 1.05rem; font-weight: 700; letter-spacing: -.02em; transition: background .25s, color .25s, border-color .25s;
}
.c3-hero-cta:first-child { background: var(--accent, #2f46d6); border-color: var(--accent, #2f46d6); }
.c3-hero-cta:first-child:hover, .c3-hero-cta:first-child:focus-visible { background: #2538b8; border-color: #2538b8; color: #fff; }
.c3-hero-cta:not(:first-child):hover, .c3-hero-cta:not(:first-child):focus-visible { background: #fff; color: var(--c3-ink); }
.c3-hero-cta__arrow { flex: 0 0 auto; }
@media (max-width: 47.99rem) {
  body.c3-home main > .hero { min-height: 41rem; padding-top: 2.5rem; padding-bottom: 1.75rem; }
  body.c3-home .hero .hero__media-photo { object-position: 50% 30%; }
  body.c3-home .hero .c3-hero__ctas { gap: .6rem; }
  .c3-hero-cta { font-size: .95rem; gap: .6rem; min-height: 3.1rem; }
  .c3-hero-cta__arrow { width: 24px; }
}

/* ---- 5. 하단 고정 상담바 (PC) / 모바일 하단 바 — 폼 필드·name·hidden 값 불변, 표시만 변경 ---- */
body.c3 .quick-consult[data-astro-cid-uukcahgk] { background: transparent; border: 0; pointer-events: none; }
body.c3 .quick-consult .quick-consult__panel,
body.c3 .quick-consult .quick-consult__mobile-bar { pointer-events: auto; }
@media (min-width: 60rem) {
  body.c3 .quick-consult[data-astro-cid-uukcahgk] {
    left: 50%; right: auto; transform: translate(-50%, 160%); width: min(81rem, calc(100vw - 12rem)); bottom: 1.25rem;
    transition: transform .35s cubic-bezier(.2, .7, .2, 1);
  }
  body.c3 .quick-consult[data-astro-cid-uukcahgk].is-shown { transform: translate(-50%, 0); }
  body.c3 .quick-consult__panel[data-astro-cid-uukcahgk] { background: #fff; border: 1px solid var(--c3-line); border-radius: 6px; box-shadow: 0 10px 34px rgba(12, 23, 53, .16); }
  body.c3 .quick-consult__form[data-astro-cid-uukcahgk] {
    max-width: none; padding: 1rem 1.5rem; gap: 1.5rem; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.5fr) auto auto;
  }
  body.c3 .quick-consult__label[data-astro-cid-uukcahgk] { color: var(--c3-ink); font-size: 1rem; font-weight: 800; letter-spacing: -.03em; line-height: 1.35; max-width: 7.5rem; }
  body.c3 .quick-consult__fields[data-astro-cid-uukcahgk] input[data-astro-cid-uukcahgk],
  body.c3 .quick-consult__fields[data-astro-cid-uukcahgk] select[data-astro-cid-uukcahgk] {
    background: transparent; color: var(--c3-ink); border: 0; border-bottom: 1px solid #c6cad6; border-radius: 0; padding: 0 .25rem; height: 2.75rem;
  }
  body.c3 .quick-consult__fields[data-astro-cid-uukcahgk] select[data-astro-cid-uukcahgk] { color: #7b8190; }
  body.c3 .quick-consult__fields[data-astro-cid-uukcahgk] select[data-astro-cid-uukcahgk]:has(option:checked:not([value=""])) { color: var(--c3-ink); }
  body.c3 .quick-consult__fields[data-astro-cid-uukcahgk] input[data-astro-cid-uukcahgk]::placeholder { color: #9aa0ae; }
  body.c3 .quick-consult__fields[data-astro-cid-uukcahgk] input:focus-visible, body.c3 .quick-consult__fields[data-astro-cid-uukcahgk] select:focus-visible { outline: 0; border-bottom-color: var(--c3-blue); box-shadow: 0 1px 0 var(--c3-blue); }
  body.c3 .quick-consult__consent[data-astro-cid-uukcahgk] {
    color: var(--c3-ink); border: 1px solid var(--c3-ink); border-radius: 3px; padding: .55rem .8rem; height: 2.75rem; font-size: .8rem; font-weight: 600;
  }
  body.c3 .quick-consult__consent[data-astro-cid-uukcahgk] input[data-astro-cid-uukcahgk] { accent-color: var(--c3-ink); }
  body.c3 .quick-consult__submit[data-astro-cid-uukcahgk] { height: 3.1rem; padding: 0 2.4rem; border-radius: 3px; background: var(--c3-blue); border-color: var(--c3-blue); font-size: 1rem; letter-spacing: -.02em; }
  body.c3 .quick-consult__notice[data-astro-cid-uukcahgk] { background: var(--c3-tint); color: var(--c3-ink); margin: 0 1.5rem 1rem; max-width: none; }
  body.c3 .quick-consult__notice a { color: var(--c3-blue); }
}
@media (max-width: 59.99rem) {
  body.c3 .quick-consult[data-astro-cid-uukcahgk] { background: #fff; border-top: 1px solid var(--c3-line); pointer-events: auto; }
  body.c3 .quick-consult__mobile-bar[data-astro-cid-uukcahgk] { background: #fff; }
  body.c3 .quick-consult__open-btn[data-astro-cid-uukcahgk] { background: var(--c3-blue); color: #fff; height: 3.5rem; font-size: 1rem; }
  body.c3 .quick-consult__tel-btn[data-astro-cid-uukcahgk] { background: #fff; color: var(--c3-blue); height: 3.5rem; font-size: 1rem; }
  body.c3 .quick-consult__panel[data-astro-cid-uukcahgk] { background: #fff; }
  body.c3 .quick-consult__label[data-astro-cid-uukcahgk] { color: var(--c3-ink); }
  body.c3 .quick-consult__fields[data-astro-cid-uukcahgk] input[data-astro-cid-uukcahgk],
  body.c3 .quick-consult__fields[data-astro-cid-uukcahgk] select[data-astro-cid-uukcahgk] { background: #fff; color: var(--c3-ink); border: 1px solid #c6cad6; }
  body.c3 .quick-consult__consent[data-astro-cid-uukcahgk] { color: var(--c3-ink); }
  body.c3 .quick-consult__consent[data-astro-cid-uukcahgk] input[data-astro-cid-uukcahgk] { accent-color: var(--c3-blue); }
  body.c3 .quick-consult__submit[data-astro-cid-uukcahgk] { background: var(--c3-blue); border-color: var(--c3-blue); }
  body.c3 .quick-consult__notice[data-astro-cid-uukcahgk] { background: var(--c3-tint); color: var(--c3-ink); }
}

/* ---- 우측 플로팅 버튼 (PC) ---- */
.c3-float { position: fixed; right: 1.25rem; bottom: 1.5rem; z-index: 55; display: flex; flex-direction: column; gap: .5rem; }
.c3-float__btn {
  width: 3.75rem; height: 3.75rem; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .1rem;
  border: 1px solid var(--c3-line); background: #fff; color: var(--c3-ink); box-shadow: 0 6px 18px rgba(12, 23, 53, .12);
  font-family: inherit; font-size: .68rem; font-weight: 700; line-height: 1; letter-spacing: -.02em; text-decoration: none; cursor: pointer; padding: 0;
}
.c3-float__btn span { font-size: .68rem; font-weight: 700; line-height: 1; }
.c3-float__btn svg { width: 1.3rem; height: 1.3rem; }
.c3-float__btn--primary { background: var(--c3-blue); border-color: var(--c3-blue); color: #fff; }
.c3-float__btn:hover { transform: translateY(-2px); }
@media (max-width: 59.99rem) { .c3-float { display: none; } }
body.nav-open .c3-float { display: none; }

@media (prefers-reduced-motion: reduce) {
  body.c3 .quick-consult[data-astro-cid-uukcahgk] { transition: none; }
  .c3-hero-cta, .c3-float__btn { transition: none; }
}

/* ---- 4. 의료진 소개 영역 — 기획 시안의 세로형 프로필 + 의료진 카드 레이아웃 (사진·약력·문구는 운영 그대로) ---- */
body.c3-home .philosophy {
  display: flex; flex-direction: column; align-items: center; gap: clamp(2rem, 4vw, 3.25rem);
  max-width: 62rem; margin: 0 auto; padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 4vw, 2.5rem);
}
body.c3-home .philosophy .philosophy__heading { text-align: center; letter-spacing: -.04em; }
body.c3-home .philosophy .philosophy__media {
  width: min(100%, 40rem); margin: 0; background: var(--c3-tint); line-height: 0; overflow: hidden;
}
body.c3-home .philosophy .philosophy__photo { width: 100%; height: auto; max-height: none; display: block; object-fit: cover; }
body.c3-home .philosophy .philosophy__body {
  width: 100%; max-width: 46rem; display: flex; flex-direction: column; gap: clamp(2rem, 4vw, 3rem); margin: 0; padding: 0;
}
body.c3-home .philosophy .philosophy__quote { margin: 0; text-align: center; font-size: clamp(1.05rem, 1.7vw, 1.35rem); line-height: 1.8; letter-spacing: -.03em; color: var(--c3-ink); }
body.c3-home .philosophy .philosophy__cv { border-top: 1px solid var(--c3-ink); padding-top: 1.5rem; }
body.c3-home .philosophy .philosophy__cv-heading { margin: 0 0 1.25rem; font-size: 1.5rem; font-weight: 800; letter-spacing: -.03em; color: var(--c3-ink); }
body.c3-home .philosophy .philosophy__cv-group { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: .5rem 1.25rem; padding: .9rem 0; border-top: 1px solid var(--c3-line); }
body.c3-home .philosophy .philosophy__cv-label { font-size: .95rem; font-weight: 800; color: var(--c3-blue); }
body.c3-home .philosophy .philosophy__cv-list { margin: 0; padding: 0; list-style: none; display: grid; gap: .35rem; color: var(--c3-ink-2); font-size: 1rem; line-height: 1.7; }
@media (max-width: 47.99rem) { body.c3-home .philosophy .philosophy__cv-group { grid-template-columns: 1fr; } }

body.c3-home .team { max-width: 75rem; margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) clamp(1rem, 4vw, 2.5rem) clamp(4rem, 7vw, 6rem) !important; }
body.c3-home .team .team__marker { display: block; text-align: center; margin: 0 0 clamp(2rem, 4vw, 3.25rem); }
body.c3-home .team .team__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 4.5rem); }
@media (max-width: 47.99rem) { body.c3-home .team .team__grid { grid-template-columns: 1fr; } }
body.c3-home .team .team__card { display: flex; flex-direction: column; gap: 0; border: 0; padding: 0; background: transparent; }
body.c3-home .team .team__photo { background: var(--c3-tint); aspect-ratio: 480 / 330; overflow: hidden; margin: 0 0 1.5rem; }
body.c3-home .team .team__photo-img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; display: block; }
body.c3-home .team .team__name { margin: 0; padding-top: 1.1rem; border-top: 4px solid var(--c3-line); width: 68%; font-size: clamp(1.7rem, 2.6vw, 2.25rem); font-weight: 800; letter-spacing: -.04em; color: var(--c3-ink); }
body.c3-home .team .team__dept {
  align-self: flex-start; margin: .9rem 0 1.5rem; padding: .3rem .55rem; background: var(--c3-ink); color: #fff; font-size: 1rem; font-weight: 700; letter-spacing: -.02em;
}
body.c3-home .team .team__creds-label { display: block; margin: 0 0 .6rem; font-size: 1.05rem; font-weight: 800; letter-spacing: -.01em; color: var(--c3-ink); }
body.c3-home .team .team__creds ul, body.c3-home .team .team__accordion-block ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; color: var(--c3-ink-2); font-size: .98rem; line-height: 1.75; }
body.c3-home .team .team__accordion { margin-top: 1.1rem; }
body.c3-home .team .team__accordion-summary { cursor: pointer; color: var(--c3-blue); font-weight: 700; font-size: .98rem; list-style: none; }
body.c3-home .team .team__accordion-summary::-webkit-details-marker { display: none; }
body.c3-home .team .team__accordion-summary::after { content: ' →'; }
body.c3-home .team .team__accordion[open] .team__accordion-summary::after { content: ' ↑'; }
body.c3-home .team .team__accordion-body { display: grid; gap: 1.25rem; margin-top: 1rem; }
body.c3-home .team .team__card, body.c3-home .team .team__photo { width: 100%; max-width: none; }
body.c3-home .team .team__marker { width: 100%; }

body.c3 .c3-btn--primary { color: #fff; }
body.c3 .c3-btn { color: var(--c3-ink); }
body.c3 .c3-btn--primary { color: #fff; }
body.c3 .c3-float__btn { color: var(--c3-ink); }
body.c3 .c3-float__btn--primary { color: #fff; }

/* 햄버거 패널: 카테고리 제목은 링크 */
.c3-menu__group h2 a { color: inherit; text-decoration: none; }
.c3-menu__group h2 a:hover { color: var(--c3-blue); }
.c3-menu__cat h2 { color: var(--c3-blue); }
.c3-menu__cat h2 a { color: var(--c3-blue); }

/* HERO 영문: 숫자 줄이 한글보다 길어 폰트 크기를 낮추고, 좁은 화면에서는 원문의 줄바꿈(2줄)을 살린다 */
html[lang="en"] body.c3-home .hero .hero__heading-accent { font-size: clamp(2rem, 4.9vw, 4.4rem); }
@media (max-width: 47.99rem) {
  html[lang="en"] body.c3-home .hero .hero__heading-accent { white-space: normal; font-size: clamp(2.1rem, 9.4vw, 3rem); line-height: 1.1; }
  html[lang="en"] body.c3-home .hero .hero__heading-accent br { display: block; }
}

/* ==========================================================================
   C3 v2 — 4341(main c8eeb6f) 실제 렌더링 기준 섹션 구조·레이아웃 (2026-10-14)
   콘텐츠·문구는 운영 그대로. 4341의 문구·기능은 복사하지 않음.
   ========================================================================== */
body.c3-home { --c3-navy2: #14294a; --c3-foot: #111b32; --c3-plate: #eef1fb; }

/* ---- 대표원장 소개 (4341 story-years): 헤드라인 → 인용 → 큰 누끼 사진(틴트 플레이트) → 이름 → 약력 ---- */
body.c3-home .philosophy { max-width: none; padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 4vw, 2.5rem) clamp(3rem, 6vw, 5rem); gap: 0; align-items: center; }
body.c3-home .philosophy .philosophy__body { display: contents; }
body.c3-home .philosophy .philosophy__heading { order: 1; margin: 0 0 clamp(1.5rem, 3vw, 2.25rem); }
body.c3-home .philosophy .philosophy__quote { order: 2; max-width: 46rem; margin: 0 auto; text-align: center; }
body.c3-home .philosophy .philosophy__media {
  order: 3; position: relative; width: min(100%, 47.5rem); aspect-ratio: 760 / 716; margin: clamp(8rem, 15vw, 14rem) 0 0;
  background: var(--c3-plate); overflow: visible; line-height: 0;
}
body.c3-home .philosophy .philosophy__photo {
  position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: auto; height: 128%; max-width: none; object-fit: contain; display: block;
}
body.c3-home .philosophy .philosophy__cv { order: 4; width: min(100%, 47.5rem); border-top: 0; padding-top: 1.75rem; margin-top: 1rem; position: relative; }
body.c3-home .philosophy .philosophy__cv::before { content: ''; position: absolute; left: 0; top: 0; width: 36%; height: 4px; background: #eceef5; }
body.c3-home .philosophy .philosophy__cv-heading { font-size: clamp(1.6rem, 2.6vw, 2.4rem); font-weight: 800; letter-spacing: -.04em; margin: 0 0 1.25rem; }
body.c3-home .philosophy .philosophy__cv-group { grid-template-columns: 5.5rem minmax(0, 1fr); border-top: 0; padding: .6rem 0; }
body.c3-home .philosophy .philosophy__cv-label { color: var(--c3-ink); font-size: .95rem; }
body.c3-home .philosophy .philosophy__cv-list { font-size: 1rem; line-height: 1.75; }

/* ---- 함께하는 의료진 (4341 medical-team): 누끼 사진이 틴트 플레이트 위로 올라오는 카드 ---- */
body.c3-home .team .team__marker {
  font-size: clamp(1.6rem, 2.8vw, 2.5rem); font-weight: 800; letter-spacing: -.03em; text-transform: none; color: var(--c3-ink); margin-bottom: clamp(3.5rem, 6vw, 5rem);
}
body.c3-home .team .team__photo { position: relative; aspect-ratio: 480 / 277; background: var(--c3-plate); overflow: visible; margin: 0 0 1.75rem; }
body.c3-home .team .team__photo-img {
  position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: auto; height: 126%; max-width: none; object-fit: contain; object-position: bottom;
}
body.c3-home .team .team__name { border-top: 4px solid #eceef5; width: 68%; padding-top: 1.25rem; font-size: clamp(1.9rem, 2.8vw, 2.4rem); }
body.c3-home .team .team__role { font-size: .42em; font-weight: 500; letter-spacing: 0; margin-left: .25em; }

/* ---- 치료 프로그램 (4341 treatments): 좌 제목·설명 / 우 가로 카드 ---- */
body.c3-home .ncare { background: #fff !important; background-image: none !important; color: var(--c3-ink); padding: clamp(4rem, 8vw, 7rem) clamp(1rem, 4vw, 2.5rem); }
body.c3-home .ncare .ncare__inner { max-width: 75rem; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 17rem) minmax(0, 1fr); column-gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
body.c3-home .ncare .ncare__heading { grid-column: 1; grid-row: 1; align-self: end; margin: 0 0 1rem; text-align: left; color: var(--c3-ink); font-size: clamp(1.8rem, 2.6vw, 2.3rem); font-weight: 800; letter-spacing: -.04em; }
body.c3-home .ncare .ncare__lede { grid-column: 1; grid-row: 2; align-self: start; margin: 0; text-align: left; color: var(--c3-ink-2); font-size: 1rem; line-height: 1.7; }
body.c3-home .ncare .ncare__grid { grid-column: 2; grid-row: 1 / span 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; list-style: none; margin: 0; padding: 0; }
body.c3-home .ncare .ncare__item {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 30rem; padding: 1.5rem; border-radius: .5rem; overflow: hidden; text-align: left;
  background: linear-gradient(180deg, #f3f4f8 0%, #f3f4f8 34%, #5b5f6b 70%, #2b2e37 100%); color: #fff;
}
body.c3-home .ncare .ncare__thumb { position: absolute; top: 1.75rem; left: 50%; transform: translateX(-50%); width: 7.5rem; height: 7.5rem; border-radius: 50%; object-fit: cover; margin: 0; }
body.c3-home .ncare .ncare__name { margin: 0 0 .75rem; text-align: left; }
body.c3-home .ncare .ncare__name-pill { background: var(--c3-blue); color: #fff; font-size: .8rem; font-weight: 700; padding: .3rem .55rem; display: inline-block; transform: none; }
body.c3-home .ncare .ncare__desc { color: #fff; font-size: .9rem; line-height: 1.65; margin: 0 0 1rem; text-align: left; }
body.c3-home .ncare .ncare__desc-lead { display: block; color: #fff; font-size: 1rem; margin-bottom: .35rem; }
body.c3-home .ncare .ncare__link { color: #fff; }
@media (max-width: 63.99rem) {
  body.c3-home .ncare .ncare__inner { grid-template-columns: 1fr; }
  body.c3-home .ncare .ncare__heading, body.c3-home .ncare .ncare__lede, body.c3-home .ncare .ncare__grid { grid-column: 1; grid-row: auto; }
  body.c3-home .ncare .ncare__grid { grid-template-columns: 1fr; margin-top: 2rem; }
  body.c3-home .ncare .ncare__item { min-height: 24rem; }
}

/* ---- 메디셀플러스 특별함 (4341 state-guide 톤): 라이트 번호 목록 ---- */
body.c3-home .npoint { background: #fff !important; background-image: none !important; padding: clamp(4rem, 8vw, 6.5rem) clamp(1rem, 4vw, 2.5rem); }
body.c3-home .npoint::before, body.c3-home .npoint::after { content: none; }
body.c3-home .npoint .npoint__inner { max-width: 62rem; margin: 0 auto; }
body.c3-home .npoint .npoint__heading { color: var(--c3-ink); text-align: left; font-weight: 800; letter-spacing: -.04em; }
body.c3-home .npoint .npoint__lede { color: var(--c3-ink-2); text-align: left; }
body.c3-home .npoint .npoint__list { display: block; margin: 2rem 0 0; padding: 0; list-style: none; }
body.c3-home .npoint .npoint__item { background: none !important; border-radius: 0; box-shadow: none; border: 0; border-top: 1px solid var(--c3-line); padding: 1.5rem 0; display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: 1rem; align-items: start; min-height: 0; }
body.c3-home .npoint .npoint__item:last-child { border-bottom: 1px solid var(--c3-line); }
body.c3-home .npoint .npoint__num { color: var(--c3-blue); font-size: 1.4rem; font-weight: 800; background: none; width: auto; height: auto; }
body.c3-home .npoint .npoint__title { color: var(--c3-ink); font-size: clamp(1.05rem, 1.6vw, 1.3rem); font-weight: 700; letter-spacing: -.03em; }
body.c3-home .npoint .npoint__title em { color: var(--c3-blue); font-style: normal; }
body.c3-home .npoint .npoint__desc { color: var(--c3-ink-2); }

/* ---- 병원 소개 / 오시는 길 (4341 building-story + contact): 네이비 밴드 · 좌 텍스트 / 우 지도 ---- */
body.c3-home .home-final-cta { background: var(--c3-navy2) !important; background-image: none !important; text-align: left; align-items: flex-start; padding: clamp(4rem, 8vw, 6.5rem) clamp(1rem, 4vw, 3.5rem) !important; }
body.c3-home .home-final-cta > * { max-width: 75rem; width: 100%; margin-left: auto; margin-right: auto; text-align: left; }
body.c3-home .home-final-cta__heading { color: #fff; font-size: clamp(1.9rem, 3.4vw, 3rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.3; }
body.c3-home .home-final-cta__eyebrow, body.c3-home .home-final-cta__lede { color: rgba(255, 255, 255, .82); }
body.c3-home .home-final-cta__actions { justify-content: flex-start; display: flex; }
body.c3-home .home-final-cta__action--primary { background: #fff; color: var(--c3-navy2); border-color: #fff; }
body.c3-home .location { max-width: 75rem; margin: 0 auto; padding: clamp(4rem, 8vw, 6.5rem) clamp(1rem, 4vw, 2.5rem); }
body.c3-home .location .location__heading { font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 800; letter-spacing: -.04em; }
body.c3-home .location .location__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
body.c3-home .location .location__info { order: -1; }
@media (max-width: 59.99rem) { body.c3-home .location .location__grid { grid-template-columns: 1fr; } body.c3-home .location .location__info { order: 0; } }

/* ---- 푸터 (4341 footer): 딥 네이비 ---- */
body.c3 .site-footer { background: #111b32; border-top: 1px solid #1d2c52; color: #fff; }
body.c3 .site-footer .site-footer__mark-en { color: #fff; font-size: clamp(1.1rem, 1.8vw, 1.5rem); letter-spacing: .02em; font-weight: 800; }
body.c3 .site-footer .site-footer__mark { color: #fff; }
body.c3 .site-footer .site-footer__rule { background: #7d93ff; }
body.c3 .site-footer .site-footer__facts dt { color: #aab3c8; }
body.c3 .site-footer .site-footer__facts dd { color: #fff; }
body.c3 .site-footer .site-footer__top { border-color: #243459; }
body.c3 .site-footer .site-footer__copyright, body.c3 .site-footer .site-footer__copyright a { color: #8f9ab4; }

/* ---- 하단 고정 상담바 (4341 fixbar): 라벨이 보이는 가로 입력 폼 ---- */
@media (min-width: 60rem) {
  body.c3 .quick-consult__form[data-astro-cid-uukcahgk] { grid-template-columns: auto auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.1fr) auto auto; gap: .5rem 1rem; padding: .9rem 1.5rem; }
  body.c3 .quick-consult__fields[data-astro-cid-uukcahgk] > label.u-visually-hidden {
    position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; clip-path: none; white-space: nowrap;
    font-size: .95rem; font-weight: 800; color: var(--c3-ink);
  }
  body.c3 .quick-consult__label[data-astro-cid-uukcahgk] { max-width: 6.5rem; line-height: 1.35; }
  body.c3 .quick-consult__submit[data-astro-cid-uukcahgk] { height: 3rem; padding: 0 2.25rem; }
}

/* ---- 4341 #medical-team 사진 규격 그대로: 사각 플레이트(하단 80%) + 누끼가 위로 올라옴 ---- */
body.c3-home { --c3-plate: #eef2f8; }
body.c3-home .team .team__photo {
  position: relative; isolation: isolate; width: 100%; max-width: 30rem; aspect-ratio: 1.39; overflow: visible; background: transparent;
  clip-path: inset(-3rem -3rem 0 -3rem); margin: 3rem 0 1.5rem;
}
body.c3-home .team .team__photo::before { content: ''; position: absolute; inset: 20% 0 0 0; z-index: -1; background: var(--c3-plate); border-radius: 2px; }
body.c3-home .team .team__photo-img {
  position: absolute; top: 0; left: 50%; width: 86%; height: auto; max-width: none; transform: none; translate: -50% 0; object-fit: initial; object-position: initial;
}
body.c3-home .team .team__photo-img[src*="kim-jinhee"] { width: 95%; top: -2.9%; }
body.c3-home .team .team__card { width: 100%; }
body.c3-home .team .team__name { width: 100%; max-width: 30rem; }

body.c3-home .team .team__photo-img { aspect-ratio: auto; }
body.c3-home .philosophy .philosophy__photo { aspect-ratio: auto; }

/* 치료 프로그램 카드: 상단 썸네일 영역(밝음) + 하단 텍스트 영역(어두움) 분리 — 흰 글자 가독 */
body.c3-home .ncare .ncare__item { justify-content: flex-start; padding-top: 10.25rem; background: linear-gradient(180deg, #f3f4f8 0, #f3f4f8 9.5rem, #3b3f4a 9.5rem, #2b2e37 100%); min-height: 31rem; }
body.c3-home .ncare .ncare__thumb { top: 1.25rem; width: 7rem; height: 7rem; }
body.c3-home .home-final-cta__actions a, body.c3-home .home-final-cta__action { width: auto; min-width: 14rem; display: inline-flex; justify-content: center; }
body.c3-home .home-final-cta__actions { width: 100%; }

body.c3-home .team .team__name .team__role { font-size: 1.1875rem; font-weight: 400; letter-spacing: 0; margin-left: .4rem; }

/* ==========================================================================
   C3 v3 (2026-10-14) — HERO 타이틀 배치(4341 실측) · 구분선 제거 / 의료진 영역을 4341 실제 값(px)으로 정렬
   4341 실측(1440): hero 800 · 타이틀 top 226 · 설명 top 430 · 버튼 top 672(하단 72) / 대표원장·의료진 타이포·여백
   ========================================================================== */

/* ---- HERO: 구분선 제거 + 4341 세로 배치 ---- */
body.c3-home .hero .hero__divider { display: none !important; }
body.c3-home main > .hero {
  --c3-hero-top: clamp(11rem, 340px - 7.93vw, 16.5rem);
  justify-content: flex-start; min-height: 800px; padding: var(--c3-hero-top) clamp(1rem, 4vw, 2.5rem) 72px; gap: 0;
}
body.c3-home .hero .hero__copy { gap: clamp(2.5rem, 4.7vw, 4.75rem); }
body.c3-home .hero .c3-hero__ctas { margin-top: auto; padding-top: clamp(2rem, 4vw, 3rem); }
@media (max-width: 47.99rem) {
  body.c3-home main > .hero { --c3-hero-top: 313px; min-height: 600px; padding-bottom: 40px; }
  body.c3-home .hero .hero__copy { gap: 2rem; }
  body.c3-home .hero .c3-hero__ctas { padding-top: 1.5rem; }
}

/* ---- 대표원장 (4341 #story-years 실측 값) ---- */
body.c3-home { --prof-name: clamp(30px, 23.2px + 1.05vw, 38px); --prof-role: clamp(19px, 15.68px + .55vw, 24px); --prof-head: clamp(19px, 16px + .45vw, 22px); --prof-body: clamp(17px, 15.68px + .2vw, 18px); --c3-ink4341: #1b2230; --c3-ink2-4341: #454c5a; }
body.c3-home main .philosophy { padding: 120px 20px; border-top: 1px solid rgba(238, 242, 248, .3); display: flex; flex-direction: column; align-items: center; gap: 0; }
@media (max-width: 74.99rem) { body.c3-home main .philosophy { padding-block: 96px; } }
@media (max-width: 47.99rem) { body.c3-home main .philosophy { padding-block: 72px; } }
/* 헤드라인: 리드 + 두 줄을 같은 크기·굵기로 (문구 그대로) */
body.c3-home main .philosophy .philosophy__heading { margin: 0 0 clamp(2rem, 3.2vw, 3rem); width: 100%; max-width: 1280px; color: var(--c3-ink4341); text-align: center; text-wrap: balance; word-break: keep-all; }
body.c3-home main .philosophy .philosophy__heading span {
  display: block; font-size: clamp(30px, 2.9vw, 44px) !important; font-weight: 700 !important; line-height: 1.35 !important; letter-spacing: -.035em !important; color: var(--c3-ink4341) !important; margin: 0 !important;
}
/* 스토리(인용) */
body.c3-home main .philosophy .philosophy__quote {
  width: 100%; max-width: 768px; margin: 0 auto; text-align: center; color: var(--c3-ink2-4341);
  font-size: 20px !important; font-weight: 400 !important; line-height: 1.9 !important; letter-spacing: -.01em !important;
}
@media (max-width: 47.99rem) { body.c3-home main .philosophy .philosophy__quote { font-size: 18px !important; line-height: 1.9 !important; } }
/* 사진: 4341 .yprof__photo — 비율 1.062 · 인물 폭 72% · 플레이트 위 15% 아래로 */
body.c3-home main .philosophy .philosophy__media {
  --pr: .72; order: 3; position: relative; isolation: isolate; width: min(100%, 760px); max-width: none; aspect-ratio: 1.062; margin: clamp(4rem, 6vw, 5.5rem) 0 0;
  overflow: visible; clip-path: inset(-3rem -3rem 0 -3rem); background: transparent; line-height: normal;
}
body.c3-home main .philosophy .philosophy__media::before { content: ''; position: absolute; inset: 15% 0 0 0; z-index: -1; background: #eef2f8; border-radius: 2px; }
body.c3-home main .philosophy .philosophy__photo {
  position: absolute; top: 0; left: 50%; bottom: auto; width: calc(var(--pr) * 100%); height: auto; max-width: none; transform: none; translate: -50% 0; object-fit: initial; aspect-ratio: auto;
}
@media (max-width: 47.99rem) { body.c3-home main .philosophy .philosophy__media { --pr: .84; aspect-ratio: .910; width: 100%; max-width: 32rem; } }
/* 이름·약력 (4341 .yprof__id / .yprof__bio) */
body.c3-home main .philosophy .philosophy__cv { order: 4; width: min(100%, 760px); margin: clamp(2.5rem, 4vw, 3.25rem) 0 0; padding: 0; border: 0; position: relative; }
body.c3-home main .philosophy .philosophy__cv::before { content: ''; display: block; width: min(60%, 456px); height: 4px; background: #eef2f8; margin: 0 0 clamp(1.4rem, 2.2vw, 1.75rem); position: static; }
body.c3-home main .philosophy .c3-cv-name { font-size: var(--prof-name); font-weight: 700; line-height: 1.25; letter-spacing: -.035em; color: var(--c3-ink4341); }
body.c3-home main .philosophy .c3-cv-role { font-size: var(--prof-role); font-weight: 400; line-height: 1.25; color: var(--c3-ink4341); margin-left: .5rem; }
body.c3-home main .philosophy .philosophy__cv-heading { margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; column-gap: .5rem; line-height: 1.25 !important; }
body.c3-home main .philosophy .c3-cv-label { margin: clamp(2.25rem, 3.4vw, 2.75rem) 0 .7rem; font-size: var(--prof-head); font-weight: 700; line-height: 1.4; letter-spacing: -.02em; color: var(--c3-ink4341); }
body.c3-home main .philosophy .philosophy__cv-group { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: .25rem 1rem; padding: .35rem 0; border: 0; }
body.c3-home main .philosophy .philosophy__cv-label { font-size: var(--prof-body) !important; font-weight: 700 !important; color: var(--c3-ink4341) !important; line-height: 1.6; }
body.c3-home main .philosophy .philosophy__cv-list { gap: .125rem; font-size: var(--prof-body) !important; line-height: 1.6 !important; color: var(--c3-ink2-4341) !important; }
body.c3-home main .philosophy .philosophy__cv-list li { font-size: var(--prof-body) !important; line-height: 1.6 !important; color: var(--c3-ink2-4341) !important; }

/* ---- 함께하는 의료진 (4341 #medical-team 실측 값) ---- */
body.c3-home main .team { max-width: none; width: 100%; margin: 0; padding: 120px 20px; border-top: 1px solid rgba(238, 242, 248, .3); box-shadow: 0 -6px 20px rgba(17, 27, 50, .02); background: #fff; }
@media (max-width: 74.99rem) { body.c3-home main .team { padding-block: 96px; } }
@media (max-width: 47.99rem) { body.c3-home main .team { padding-block: 72px; } }
body.c3-home main .team .team__marker {
  display: block; width: 100%; max-width: 1280px; margin: 0 auto clamp(3rem, 4.5vw, 4rem); text-align: center; color: var(--c3-ink4341);
  font-size: clamp(30px, 2.9vw, 44px) !important; font-weight: 700 !important; line-height: 1.35 !important; letter-spacing: -.035em !important; text-transform: none;
}
body.c3-home main .team .team__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 544px)); column-gap: clamp(4rem, 7vw, 7rem); justify-content: center; row-gap: 3.5rem; max-width: 1280px; margin: 0 auto; }
@media (max-width: 47.99rem) { body.c3-home main .team .team__grid { grid-template-columns: 1fr; } }
body.c3-home main .team .team__card { width: 100%; max-width: 544px; }
body.c3-home main .team .team__photo { max-width: 480px; margin: 0; }
body.c3-home main .team .team__name {
  display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .5rem; width: 100%; max-width: none; margin: 24px 0 0; padding: 0; border: 0; position: relative;
  font-size: var(--prof-name) !important; font-weight: 700 !important; line-height: 1.25 !important; letter-spacing: -.035em !important; color: var(--c3-ink4341) !important;
}
body.c3-home main .team .team__name::before { content: ''; flex: 0 0 100%; width: min(60%, 456px); height: 4px; background: #eef2f8; margin-bottom: 24px; }
body.c3-home main .team .team__name .team__role { font-size: var(--prof-role) !important; font-weight: 400 !important; letter-spacing: 0 !important; margin: 0; color: var(--c3-ink4341); }
body.c3-home main .team .team__dept {
  display: table; width: fit-content; margin: 6px 0 0; padding: .07em .26em .09em; border-radius: 2px; background: var(--c3-ink4341); color: #fff;
  font-size: clamp(19px, 16px + .4vw, 22px) !important; font-weight: 600 !important; line-height: 1.25 !important; letter-spacing: -.02em;
}
body.c3-home main .team .team__creds { margin-top: clamp(2.25rem, 3.4vw, 2.75rem); }
body.c3-home main .team .team__creds-label { margin: 0; font-size: var(--prof-head) !important; font-weight: 700 !important; line-height: 1.4 !important; letter-spacing: -.02em !important; color: var(--c3-ink4341) !important; text-transform: none; }
body.c3-home main .team .team__creds ul, body.c3-home main .team .team__accordion-block ul { gap: .125rem; margin-top: .5rem; }
body.c3-home main .team .team__creds li, body.c3-home main .team .team__accordion-block li {
  font-size: var(--prof-body) !important; font-weight: 400 !important; line-height: 1.6 !important; color: var(--c3-ink2-4341) !important; list-style: none;
}
body.c3-home main .team .team__accordion { margin-top: 1rem; }
body.c3-home main .team .team__accordion-summary { display: inline-flex; align-items: center; min-height: 48px; font-size: 16px !important; font-weight: 500 !important; color: #2f46d6; }

/* v3 보정: 운영 인라인 padding 덮기 · 설명 시작 위치(4341 430px) 맞춤 */
body.c3-home main .team { padding: 120px 20px !important; }
@media (max-width: 74.99rem) { body.c3-home main .team { padding-block: 96px !important; } }
@media (max-width: 47.99rem) { body.c3-home main .team { padding-block: 72px !important; } }
body.c3-home main .philosophy { padding-top: 123px; }
@media (max-width: 74.99rem) { body.c3-home main .philosophy { padding-top: 99px; } }
@media (max-width: 47.99rem) { body.c3-home main .philosophy { padding-top: 75px; } }
body.c3-home .hero .hero__copy { gap: clamp(2.5rem, 5.28vw, 5rem); }

body.c3-home main .philosophy .philosophy__quote { text-wrap: balance; word-break: keep-all; }

/* ==========================================================================
   HERO 전체 폭 + 타이틀 두 줄 (2026-10-14)
   - 운영 home.css 의 .hero{max-width:1440px;margin:auto} 때문에 1440px 초과 화면에서 좌우 흰 여백 → 해제
   - 타이틀 크기·굵기 = 4341 .hero__title 실측: PC min(62px,4.3vw) · 태블릿 5.4vw · 모바일 min(32px,(100vw-40px)/12.7) · 700 · 1.2 · -0.03em
   ========================================================================== */
body.c3-home main > .hero { max-width: none; width: 100%; margin-inline: 0; }
body.c3-home .hero .hero__heading-accent,
html[lang="en"] body.c3-home .hero .hero__heading-accent {
  font-size: min(62px, 4.3vw); font-weight: 700; line-height: 1.2; letter-spacing: -.03em; white-space: normal; text-align: center;
}
body.c3-home .hero .hero__heading-accent br,
html[lang="en"] body.c3-home .hero .hero__heading-accent br { display: block; }
@media (max-width: 63.99rem) {
  body.c3-home .hero .hero__heading-accent, html[lang="en"] body.c3-home .hero .hero__heading-accent { font-size: 5.4vw; }
}
@media (max-width: 47.99rem) {
  body.c3-home .hero .hero__heading-accent, html[lang="en"] body.c3-home .hero .hero__heading-accent { font-size: min(32px, calc((100vw - 40px) / 12.7)); }
}

/* 간판이 타이틀 위쪽에 놓이도록 사진을 위로 이동 (PC·태블릿) */
body.c3-home .hero .hero__media-photo { object-position: 50% 59%; }
@media (max-width: 47.99rem) { body.c3-home .hero .hero__media-photo { object-position: 50% 30%; } }

/* 간판 노출: 폭이 넓을수록(사진 확대) 위쪽을 더 보이게 — 1440에서 55%, 1920에서 49%, 좁은 화면 최대 60% */
body.c3-home .hero .hero__media-photo { object-position: 50% clamp(42%, calc(55% - (100vw - 1440px) / 44), 60%); }
@media (max-width: 47.99rem) { body.c3-home .hero .hero__media-photo { object-position: 50% 30%; } }

/* ==========================================================================
   HERO 재수정 (2026-10-14) — 어두운 네이비 오버레이 복원 + 타이틀 2줄(동일 크기·굵기)
   ========================================================================== */
/* 오버레이: 직전(.30/.18 상단 투명) → 이전 C3의 짙은 네이비 그라데이션으로 복원 (상단 .55 → 하단 .78+) */
body.c3-home main > .hero > .c3-hero__media::after {
  background: linear-gradient(180deg, rgba(8, 14, 32, .58) 0%, rgba(8, 14, 32, .62) 40%, rgba(8, 14, 32, .74) 70%, rgba(8, 14, 32, .88) 100%);
}
/* 타이틀: "28년간 12,600여 명" / "척추 통증 환자와의 스토리" — 같은 크기·굵기·흰색 Bold */
body.c3-home .hero .hero__heading { gap: 0; }
body.c3-home .hero .hero__heading-accent,
body.c3-home .hero .hero__heading-accent ~ .hero__heading-line,
html[lang="en"] body.c3-home .hero .hero__heading-accent,
html[lang="en"] body.c3-home .hero .hero__heading-accent ~ .hero__heading-line {
  display: block; color: #fff; font-weight: 700; font-size: min(62px, 4.3vw); line-height: 1.2; letter-spacing: -.03em; white-space: nowrap; text-align: center;
}
body.c3-home .hero .hero__heading-accent br,
html[lang="en"] body.c3-home .hero .hero__heading-accent br { display: none; }
@media (max-width: 63.99rem) {
  body.c3-home .hero .hero__heading-accent, body.c3-home .hero .hero__heading-accent ~ .hero__heading-line,
  html[lang="en"] body.c3-home .hero .hero__heading-accent, html[lang="en"] body.c3-home .hero .hero__heading-accent ~ .hero__heading-line { font-size: 5.4vw; }
}
@media (max-width: 47.99rem) {
  body.c3-home .hero .hero__heading-accent, body.c3-home .hero .hero__heading-accent ~ .hero__heading-line,
  html[lang="en"] body.c3-home .hero .hero__heading-accent, html[lang="en"] body.c3-home .hero .hero__heading-accent ~ .hero__heading-line { font-size: min(32px, calc((100vw - 32px) / 14.5)); }
}
/* 타이틀 블록 하단 여백: 직전 3단 구성과 같은 블록 높이를 유지해 설명 3줄·버튼·HERO 높이 위치 불변 */
body.c3-home .hero .hero__heading { padding-bottom: 37px; }
@media (max-width: 89.99rem) { body.c3-home .hero .hero__heading { padding-bottom: 35px; } }
@media (max-width: 79.99rem) { body.c3-home .hero .hero__heading { padding-bottom: 28px; } }
@media (max-width: 63.99rem) { body.c3-home .hero .hero__heading { padding-bottom: 22px; } }
@media (max-width: 47.99rem) { body.c3-home .hero .hero__heading { padding-bottom: 30px; } }

/* ==========================================================================
   [예외 미세 조정 2026-10-14] 타이틀 ↔ 설명 3줄 간격 약 27.5% 축소 (확정본 대비)
   설명 3줄을 위로만 이동(행간·크기·문구 불변). 상담 버튼 위치·HERO 높이는 보전.
   전: 타이틀 하단 여백 P + 그룹 gap G → 후: (P + G) × 0.725
   ========================================================================== */
body.c3-home .hero .hero__copy { gap: calc(clamp(2.5rem, 5.28vw, 5rem) * .725); }
body.c3-home .hero .hero__heading { padding-bottom: 26.8px; }
@media (max-width: 89.99rem) { body.c3-home .hero .hero__heading { padding-bottom: 25.4px; } }
@media (max-width: 79.99rem) { body.c3-home .hero .hero__heading { padding-bottom: 20.3px; } }
@media (max-width: 63.99rem) { body.c3-home .hero .hero__heading { padding-bottom: 16px; } }
@media (max-width: 47.99rem) {
  body.c3-home .hero .hero__heading { padding-bottom: 21.75px; }
  /* 모바일은 HERO 높이가 내용으로 결정 → 줄인 만큼(19.25px)을 설명↔버튼 사이에 되돌려 버튼 위치·전체 높이 유지 */
  body.c3-home .hero .c3-hero__ctas { padding-top: calc(1.5rem + 19.25px); }
}

/* ==========================================================================
   [예외 미세 조정 2026-10-14 · 승인 대기] HERO 사진 밝기 — 상단 밝게 / 중앙 타이틀 가독 / 하단 네이비 유지
   사진 필터·채도·대비 보정 없음(오버레이 투명도만 변경). 직전: .58 → .62(40%) → .74(70%) → .88
   ========================================================================== */
body.c3-home main > .hero > .c3-hero__media::after {
  background: linear-gradient(180deg,
    rgba(8, 14, 32, .06) 0%,
    rgba(8, 14, 32, .14) 26%,
    rgba(8, 14, 32, .36) 38%,
    rgba(8, 14, 32, .48) 50%,
    rgba(8, 14, 32, .54) 62%,
    rgba(8, 14, 32, .74) 70%,
    rgba(8, 14, 32, .88) 100%);
}

/* ==========================================================================
   [예외 미세 조정 2026-10-14 · 승인 대기] 텍스트 가독성 — 타이틀+설명 영역에만 부드러운 네이비 스크림
   사진 전체 밝기는 유지. 경계 없는 타원형 방사 그라데이션(주변 사진으로 소멸), 글자 위치·크기 불변
   ========================================================================== */
body.c3-home .hero .hero__copy::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  left: 50%; top: 50%; width: min(118%, 1180px); height: calc(100% + 8rem); transform: translate(-50%, -50%);
  background: radial-gradient(ellipse 50% 50% at 50% 50%,
    rgba(8, 14, 32, .62) 0%, rgba(8, 14, 32, .55) 30%, rgba(8, 14, 32, .36) 58%, rgba(8, 14, 32, .14) 80%, rgba(8, 14, 32, 0) 100%);
}
body.c3-home .hero .hero__heading { text-shadow: 0 1px 14px rgba(8, 14, 32, .45); }
body.c3-home .hero .hero__rolling-primary { text-shadow: 0 1px 10px rgba(8, 14, 32, .5); }
@media (max-width: 47.99rem) {
  body.c3-home .hero .hero__copy::before { width: 150%; height: calc(100% + 5rem); }
}
