/* ==========================================================================
   문치과병원 디자인 v5 (시안 3 · 원장 확정)
   - 아이보리 바탕 · 먹색 글자 · 브론즈 강조 하나
   - 제목: Noto Serif KR(가는 명조) · 영문: Cormorant Garamond 이탤릭 + Jost
   - 둥근 카드 · 그림자 대신 가는 선과 여백
   inc/design-v5.php 에서 켜고 끈다.
   ========================================================================== */

body.md-v5 {
  --v5-bg: #F3EDE6;
  --v5-paper: #F9F5F0;
  --v5-ink: #22150D;
  --v5-sub: #5C4A3E;
  --v5-mute: #98877A;
  --v5-line: #DCCFC2;
  --v5-hair: #E8DED3;
  --v5-bronze: #7A4F35;
  --v5-bronze-ink: #F9F5F0;
  --v5-serif: "Noto Serif KR", "Nanum Myeongjo", Georgia, serif;
  --v5-display: "Cormorant Garamond", "Noto Serif KR", Georgia, serif;
  --v5-label: "Jost", "Pretendard Variable", Pretendard, system-ui, sans-serif;
  --v5-max: 1240px;

  /* 기존 토큰을 v5 로 */
  --color-primary: #7A4F35;
  --color-primary-light: #A57B5C;
  --color-primary-dark: #5E3B26;
  --color-bg: #F3EDE6;
  --color-surface: #F9F5F0;
  --color-surface-alt: #E9DFD3;
  --color-white: #FFFFFF;
  --color-border: #DCCFC2;
  --color-text: #22150D;
  --color-text-sub: #5C4A3E;
  --color-text-mute: #98877A;
  --shadow-soft: 0 2px 10px rgba(34, 21, 13, .05);
  --shadow-hover: 0 10px 26px rgba(34, 21, 13, .10);
  --shadow-card: 0 1px 4px rgba(34, 21, 13, .04);
  --card-shadow: none;
  --card-shadow-hover: 0 10px 26px rgba(34, 21, 13, .08);

  background: var(--v5-bg);
  color: var(--v5-ink);
  word-break: keep-all;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}
@media (prefers-color-scheme: dark) {
  body.md-v5 {
    --v5-bg: #150D08;
    --v5-paper: #1E140D;
    --v5-ink: #F1E7DA;
    --v5-sub: #C2AE9A;
    --v5-mute: #8F7C6A;
    --v5-line: #3A2A1E;
    --v5-hair: #2A1D14;
    --v5-bronze: #D1A77E;
    --v5-bronze-ink: #150D08;
    --color-primary: #D1A77E;
    --color-primary-light: #D9B998;
    --color-primary-dark: #A9845F;
    --color-bg: #150D08;
    --color-surface: #1E140D;
    --color-surface-alt: #221E1A;
    --color-white: #1F1B17;
    --color-border: #3A2A1E;
    --color-text: #F1E7DA;
    --color-text-sub: #C2AE9A;
    --color-text-mute: #8F7C6A;
  }
}

/* ---------- 글꼴 ---------- */
body.md-v5 h1, body.md-v5 h2, body.md-v5 h3,
body.md-v5 .md-section-head__title,
body.md-v5 .md-page-hero__title,
body.md-v5 .entry-title {
  font-family: var(--v5-serif);
  font-weight: 400;
  letter-spacing: -0.015em;
}
body.md-v5 h1 b, body.md-v5 h2 b, body.md-v5 h1 strong, body.md-v5 h2 strong { font-weight: 500; }
body.md-v5 .md-section-head__eyebrow {
  font-family: var(--v5-label);
  font-weight: 400;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--v5-mute);
  background: none;
  padding: 0;
  border: 0;
}
body.md-v5 .md-section-head__title { color: var(--v5-ink); }

/* ---------- 버튼 ---------- */
body.md-v5 .md-btn,
body.md-v5 .md-btn-primary,
body.md-v5 .md-btn-secondary,
body.md-v5 .md-btn-ghost {
  border-radius: 2px;
  box-shadow: none;
  letter-spacing: .02em;
  font-weight: 500;
}
body.md-v5 .md-btn-primary { background: var(--v5-bronze); border-color: var(--v5-bronze); color: var(--v5-bronze-ink); }
body.md-v5 .md-btn-primary:hover { filter: brightness(.93); transform: none; }

/* ---------- 머리 (헤더) ---------- */
body.md-v5 .md-site-header,
body.md-v5 .md-header {
  background: color-mix(in srgb, var(--v5-bg) 94%, transparent);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: none;
}
body.md-v5 .md-site-header { border-bottom: 1px solid var(--v5-hair); }
body.md-v5 .md-header__brand { text-decoration: none; }
.md-v5-brand { display: flex; flex-direction: column; line-height: 1.1; white-space: nowrap; }
.md-v5-brand small { font-family: var(--v5-label); font-size: 10.5px; letter-spacing: .24em; color: var(--v5-mute); }
.md-v5-brand b { font-family: var(--v5-serif); font-weight: 500; font-size: 22px; letter-spacing: .02em; color: var(--v5-ink); margin-top: 3px; }
body.md-v5 .md-header__info { display: none !important; }
body.md-v5 .md-header__nav .md-nav > li > a,
body.md-v5 .md-header__nav > ul > li > a {
  font-family: "Pretendard Variable", Pretendard, system-ui, sans-serif;
  font-weight: 400;
  font-size: 15px;
  color: var(--v5-sub);
  white-space: nowrap;
  background: none;
  box-shadow: none;
}
body.md-v5 .md-header__nav .md-nav > li > a:hover,
body.md-v5 .md-header__nav .md-nav > li.current-menu-item > a,
body.md-v5 .md-header__nav .md-nav > li.current-menu-ancestor > a { color: var(--v5-ink); }
@media (min-width: 1081px) {
  body.md-v5 .md-header__nav .md-nav > li > a { position: relative; }
  body.md-v5 .md-header__nav .md-nav > li > a::after {
    content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 1px;
    background: var(--v5-bronze); transform: scaleX(0); transition: transform .25s;
  }
  body.md-v5 .md-header__nav .md-nav > li:hover > a::after,
  body.md-v5 .md-header__nav .md-nav > li.current-menu-item > a::after,
  body.md-v5 .md-header__nav .md-nav > li.current-menu-ancestor > a::after { transform: scaleX(1); }
  body.md-v5 .md-header__nav .sub-menu {
    background: var(--v5-paper);
    border: 1px solid var(--v5-hair);
    border-radius: 0;
    box-shadow: 0 18px 40px rgba(34, 21, 13, .08);
    padding: 12px 0;
  }
  body.md-v5 .md-header__nav .sub-menu a {
    color: var(--v5-sub);
    font-size: 14px;
    font-weight: 400;
    border-radius: 0;
    background: none;
  }
  body.md-v5 .md-header__nav .sub-menu a:hover { color: var(--v5-ink); background: var(--v5-bg); }
}
body.md-v5 .md-header__cta-btn,
body.md-v5 .md-header__cta-btn--cycle {
  --cta-bg: var(--v5-bronze);
  --cta-fg: var(--v5-bronze-ink);
  background: var(--v5-bronze) !important;
  color: var(--v5-bronze-ink) !important;
  border: 1px solid var(--v5-bronze) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-weight: 500;
  letter-spacing: .04em;
  min-height: 44px;
  padding: 0 22px !important;
  animation: none !important;
}
body.md-v5 .md-header__cta-btn:hover { filter: brightness(.93); transform: none !important; }

/* ---------- 푸터 (밝은 종이색) ---------- */
body.md-v5 .md-footer {
  background: var(--v5-paper) !important;
  color: var(--v5-sub) !important;
  border-top: 1px solid var(--v5-hair);
}
body.md-v5 .md-footer a,
body.md-v5 .md-footer__phone a,
body.md-v5 .md-footer__email a,
body.md-v5 .md-footer__addr a,
body.md-v5 .md-footer__addr,
body.md-v5 .md-footer li,
body.md-v5 .md-footer p,
body.md-v5 .md-footer span,
body.md-v5 .md-footer strong { color: inherit; }
body.md-v5 .md-footer a { color: var(--v5-ink) !important; }
body.md-v5 .md-footer a:hover { color: var(--v5-bronze) !important; }
body.md-v5 .md-footer h3,
body.md-v5 .md-footer h4 {
  font-family: var(--v5-label) !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase;
  color: var(--v5-ink) !important;
  border-bottom: 1px solid var(--v5-line);
  padding-bottom: 10px;
  margin: 0 0 14px !important;
}
body.md-v5 .md-footer h4 svg,
body.md-v5 .md-footer__hours-badge,
body.md-v5 .md-footer__floor-badge,
body.md-v5 .md-footer__park-badge,
body.md-v5 .md-footer__cicon { display: none !important; }
body.md-v5 .md-footer__hours-link,
body.md-v5 .md-footer__col,
body.md-v5 .md-footer__park-item,
body.md-v5 .md-footer__floor-row {
  background: none !important;
  border-color: var(--v5-hair) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.md-v5 .md-footer__hours-link { padding: 0 !important; border: 0 !important; }
body.md-v5 .md-footer__hours { border-bottom: 1px solid var(--v5-hair); padding: 7px 0 !important; }
body.md-v5 .md-footer__hours strong { font-weight: 400 !important; color: var(--v5-sub) !important; }
body.md-v5 .md-footer__hours span { font-family: var(--v5-label); color: var(--v5-ink) !important; }
body.md-v5 .md-footer__hours-off,
body.md-v5 .md-footer__hours-note,
body.md-v5 .md-footer__park-note,
body.md-v5 .md-footer__park-item span { color: var(--v5-mute) !important; }
body.md-v5 .md-footer__floor-num { font-family: var(--v5-display); font-size: 19px !important; color: var(--v5-bronze) !important; background: none !important; font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
body.md-v5 .md-footer__park-num { color: var(--v5-bronze) !important; background: none !important; font-family: var(--v5-label); }
body.md-v5 .md-footer__park-item strong,
body.md-v5 .md-footer__park-item b { color: var(--v5-ink) !important; font-weight: 500 !important; }
body.md-v5 .md-footer__phone a { color: var(--v5-ink) !important; font-weight: 500; }
body.md-v5 .md-footer__legal-line,
body.md-v5 .md-footer__legal-line p,
body.md-v5 .md-footer__policy-line,
body.md-v5 .md-footer__sep { color: var(--v5-mute) !important; border-color: var(--v5-line) !important; }
body.md-v5 .md-footer__legal-line { border-top: 1px solid var(--v5-line) !important; }
body.md-v5 .md-v5-logo-dark { display: none; }
@media (prefers-color-scheme: dark) {
  body.md-v5 .md-v5-logo-light { display: none; }
  body.md-v5 .md-v5-logo-dark { display: block; }
}
body.md-v5 .md-fsoc {
  width: 38px; height: 38px;
  border-radius: 50% !important;
  border: 1px solid var(--v5-line);
  background: none !important;
  color: var(--v5-sub) !important;
  display: inline-grid; place-items: center;
  overflow: visible;
  box-shadow: none !important;
}
body.md-v5 .md-fsoc svg { width: 19px !important; height: 19px !important; }
body.md-v5 .md-fsoc:hover { border-color: var(--v5-bronze); color: var(--v5-bronze) !important; transform: none; }

/* ---------- 오시는 길 (모든 페이지 하단) ---------- */
body.md-v5 .md-flocation { background: var(--v5-bg); border-top: 1px solid var(--v5-hair); }
body.md-v5 .md-flocation__title { font-family: var(--v5-serif); font-weight: 400; }
body.md-v5 .md-flocation__map,
body.md-v5 .md-flocation__map iframe { border-radius: 0 !important; box-shadow: none !important; }

/* ---------- 떠 있는 버튼 · 언어 선택 · 휴대폰 아래 막대 ---------- */
body.md-v5 .md-fab {
  background: var(--v5-paper) !important;
  color: var(--v5-ink) !important;
  border: 1px solid var(--v5-line) !important;
  box-shadow: 0 8px 22px rgba(34, 21, 13, .12) !important;
}
body.md-v5 .md-fab--naver { background: var(--v5-bronze) !important; border-color: var(--v5-bronze) !important; color: #fff !important; }
body.md-v5 .md-fab--naver .md-fab__icon { background: transparent !important; color: #fff !important; }
body.md-v5 .md-fab--kakao { background: #FEE500 !important; border-color: #FEE500 !important; color: #3A1D1D !important; }
body.md-v5 .md-fab__label { background: #22150D !important; color: #F3EDE6 !important; border-radius: 0 !important; }
body.md-v5 .md-lang-fab__toggle {
  background: var(--v5-paper) !important;
  color: var(--v5-ink) !important;
  border: 1px solid var(--v5-line) !important;
  box-shadow: 0 8px 22px rgba(34, 21, 13, .12) !important;
  font-weight: 400 !important;
}
body.md-v5 .md-lang-fab__menu { background: var(--v5-paper) !important; border: 1px solid var(--v5-line) !important; border-radius: 0 !important; }
body.md-v5 .md-mobile-cta { background: var(--v5-paper) !important; border-top: 1px solid var(--v5-line) !important; box-shadow: none !important; }
body.md-v5 .md-mobile-cta__item { color: var(--v5-ink) !important; }
body.md-v5 .md-mobile-cta__item--naver { background: var(--v5-bronze) !important; color: #fff !important; }

/* ==========================================================================
   홈 화면 v5
   ========================================================================== */
body.md-v5 .md-main:has(.v5-hero) { padding: 0; }
.v5-wrap { max-width: var(--v5-max); margin: 0 auto; padding-inline: 24px; box-sizing: border-box; }
.v5-label { font-family: var(--v5-label); font-weight: 400; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--v5-mute); }
.v5-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; padding: 0 24px;
  border: 1px solid var(--v5-ink); color: var(--v5-ink);
  font-size: 14.5px; font-weight: 500; letter-spacing: .04em;
  text-decoration: none; white-space: nowrap; transition: all .2s;
}
.v5-btn:hover { background: var(--v5-ink); color: var(--v5-bg); }
.v5-btn--fill { background: var(--v5-bronze); border-color: var(--v5-bronze); color: var(--v5-bronze-ink); }
.v5-btn--fill:hover { background: var(--v5-bronze); color: var(--v5-bronze-ink); filter: brightness(.92); }
.v5-acts { display: flex; flex-wrap: wrap; gap: 10px; }
.v5-more { display: inline-block; margin-top: 30px; font-family: var(--v5-label); font-size: 13px; letter-spacing: .12em; color: var(--v5-ink); border-bottom: 1px solid var(--v5-ink); padding-bottom: 3px; text-decoration: none; }
.v5-more:hover { color: var(--v5-bronze); border-color: var(--v5-bronze); }

/* 첫 화면 */
.v5-hero { display: grid; grid-template-columns: 1.05fr 1fr; min-height: min(80vh, 740px); border-bottom: 1px solid var(--v5-hair); }
.v5-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: 72px 64px 72px max(24px, calc((100vw - var(--v5-max)) / 2 + 24px)); }
.v5-hero__en { font-family: var(--v5-display); font-style: italic; font-weight: 500; font-size: clamp(22px, 2.3vw, 30px); color: var(--v5-bronze); margin: 20px 0 14px; line-height: 1.3; }
.v5-hero__title { font-family: var(--v5-serif) !important; font-weight: 300 !important; font-size: clamp(30px, 3.5vw, 48px) !important; line-height: 1.38 !important; letter-spacing: -0.02em; color: var(--v5-ink); margin: 0; }
.v5-hero__title b { font-weight: 500; }
.v5-hero__lead { margin: 26px 0 22px; max-width: 30em; color: var(--v5-sub); font-size: 16.5px; line-height: 1.85; }
.v5-hero__mission { margin: 0 0 34px; max-width: 31em; padding-left: 18px; border-left: 1px solid var(--v5-bronze); font-family: var(--v5-serif); font-size: 15.5px; line-height: 1.85; color: var(--v5-sub); }
.v5-hero__photo { position: relative; min-height: 320px; background: #1b1410; overflow: hidden; }
.v5-hero__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.v5-hero__cap { position: absolute; right: 22px; bottom: 18px; font-family: var(--v5-label); font-size: 11px; letter-spacing: .3em; color: rgba(255, 255, 255, .78); }
@media (max-width: 900px) {
  .v5-hero { grid-template-columns: 1fr; min-height: 0; }
  .v5-hero__photo { aspect-ratio: 4 / 3; order: -1; }
  .v5-hero__copy { padding: 44px 24px 52px; }
}

/* 숫자 띠 */
.v5-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 auto; border-bottom: 1px solid var(--v5-hair); }
.v5-stat { display: flex; flex-direction: column; padding: 30px 20px; text-align: center; }
.v5-stat + .v5-stat { border-left: 1px solid var(--v5-hair); }
.v5-stat dd { margin: 0; font-family: var(--v5-display); font-weight: 500; font-size: clamp(34px, 4vw, 48px); line-height: 1; color: var(--v5-ink); font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.v5-stat dd small { font-family: var(--v5-serif); font-size: 15px; margin-left: 3px; color: var(--v5-sub); }
.v5-stat dt { margin-top: 6px; font-size: 13.5px; color: var(--v5-mute); }
@media (max-width: 700px) {
  .v5-stats { grid-template-columns: repeat(2, 1fr); }
  .v5-stat:nth-child(3) { border-left: 0; }
  .v5-stat:nth-child(n+3) { border-top: 1px solid var(--v5-hair); }
}

/* 지정 · 협력 */
.v5-creds { background: var(--v5-paper); border-bottom: 1px solid var(--v5-hair); }
.v5-creds ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 34px; margin: 0 auto; padding-block: 24px; list-style: none; }
.v5-creds li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--v5-sub); line-height: 1.4; margin: 0; }
.v5-creds li::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--v5-bronze); flex: none; }
@media (max-width: 700px) { .v5-creds ul { gap: 10px 20px; justify-content: flex-start; } .v5-creds li { font-size: 12.5px; } }

/* 공통 섹션 */
.v5-blk { padding-block: clamp(72px, 9vw, 120px); }
.v5-blk--tight { padding-top: 0; }
.v5-paper { background: var(--v5-paper); border-block: 1px solid var(--v5-hair); }
.v5-head { display: grid; grid-template-columns: 260px 1fr; gap: 24px; margin-bottom: 52px; }
.v5-head h2 { font-family: var(--v5-serif) !important; font-weight: 300 !important; font-size: clamp(28px, 3.3vw, 40px) !important; line-height: 1.35; letter-spacing: -0.015em; color: var(--v5-ink); margin: 0; }
.v5-head p { margin: 14px 0 0; color: var(--v5-sub); max-width: 40em; line-height: 1.8; }
@media (max-width: 820px) { .v5-head { grid-template-columns: 1fr; gap: 10px; margin-bottom: 34px; } }

/* 전문센터 */
.v5-centers { border-top: 1px solid var(--v5-line); }
.v5-crow { display: grid; grid-template-columns: 110px 1fr 1.4fr 40px; gap: 24px; align-items: baseline; padding: 30px 4px; border-bottom: 1px solid var(--v5-line); color: var(--v5-ink); text-decoration: none; transition: background .25s, padding .25s; }
.v5-crow:hover { background: var(--v5-paper); padding-inline: 16px; }
.v5-crow__no { font-family: var(--v5-display); font-size: 22px; color: var(--v5-mute); font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.v5-crow h3 { font-family: var(--v5-serif) !important; font-size: 24px !important; font-weight: 400 !important; margin: 0; color: var(--v5-ink); }
.v5-crow h3 small { display: block; font-family: var(--v5-label); font-size: 11px; letter-spacing: .2em; color: var(--v5-mute); margin-top: 6px; }
.v5-crow__desc { display: flex; flex-direction: column; }
.v5-crow__desc p { margin: 0; color: var(--v5-sub); font-size: 15px; line-height: 1.7; }
.v5-crow__tags { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font-size: 13px; color: var(--v5-mute); }
.v5-crow__tags span::before { content: "·"; margin-right: 6px; color: var(--v5-bronze); }
.v5-crow__ar { font-family: var(--v5-label); color: var(--v5-bronze); text-align: right; }
@media (max-width: 820px) { .v5-crow { grid-template-columns: 44px 1fr; gap: 6px 14px; } .v5-crow__desc { grid-column: 2; } .v5-crow__ar { display: none; } }

/* 발자취 */
.v5-hist__sum { font-size: 15px; }
.v5-rail-line { display: flex; justify-content: space-between; border-bottom: 1px solid var(--v5-line); margin-bottom: 26px; padding-bottom: 6px; font-family: var(--v5-label); font-size: 11px; letter-spacing: .2em; color: var(--v5-mute); }
.v5-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 0 18px; margin: 0; list-style: none; scrollbar-width: thin; scrollbar-color: var(--v5-line) transparent; }
.v5-rail li { scroll-snap-align: start; margin: 0; }
.v5-rail a { color: var(--v5-ink); text-decoration: none; }
.v5-rail figure { margin: 0; }
.v5-rail__ph { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--v5-hair); }
.v5-rail__ph img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); transition: transform .4s, filter .4s; }
.v5-rail a:hover .v5-rail__ph img { transform: scale(1.03); filter: none; }
.v5-rail__yr { display: block; margin: 18px 0 4px; font-family: var(--v5-display); font-size: 34px; line-height: 1; color: var(--v5-bronze); font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.v5-rail__yr small { font-family: var(--v5-label); font-size: 12px; letter-spacing: .12em; color: var(--v5-mute); margin-left: 6px; }
.v5-rail figcaption { font-family: var(--v5-serif); font-size: 16.5px; line-height: 1.5; }

/* 찾는 이유 */
.v5-why { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--v5-ink); }
.v5-why > div { padding: 28px 22px 6px 0; }
.v5-why > div + div { padding-left: 22px; border-left: 1px solid var(--v5-line); }
.v5-why__no { font-family: var(--v5-display); font-size: 20px; color: var(--v5-bronze); font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.v5-why h3 { font-family: var(--v5-serif) !important; font-size: 20px !important; font-weight: 400 !important; margin: 10px 0; line-height: 1.4; color: var(--v5-ink); }
.v5-why p { margin: 0; font-size: 14.5px; color: var(--v5-sub); line-height: 1.8; }
@media (max-width: 900px) { .v5-why { grid-template-columns: 1fr 1fr; } .v5-why > div:nth-child(3) { padding-left: 0; border-left: 0; } .v5-why > div:nth-child(n+3) { border-top: 1px solid var(--v5-line); margin-top: 6px; } }
@media (max-width: 540px) { .v5-why { grid-template-columns: 1fr; } .v5-why > div, .v5-why > div + div { padding-left: 0; border-left: 0; } .v5-why > div + div { border-top: 1px solid var(--v5-line); } }

/* 시설 */
.v5-fac { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 40px; margin: 0; }
.v5-fac > div { padding: 20px 0; border-bottom: 1px solid var(--v5-line); }
.v5-fac dt { font-family: var(--v5-serif); font-size: 17px; color: var(--v5-ink); margin-bottom: 4px; }
.v5-fac dd { margin: 0; font-size: 14px; color: var(--v5-sub); line-height: 1.7; }
@media (max-width: 900px) { .v5-fac { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .v5-fac { grid-template-columns: 1fr; } }

/* 의료진 */
.v5-docs { display: grid; grid-template-columns: repeat(9, 1fr); gap: 18px; }
.v5-doc { color: var(--v5-ink); text-decoration: none; }
.v5-doc__ph { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #fff; margin-bottom: 12px; }
.v5-doc__ph img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.92); transition: filter .3s; }
.v5-doc__ph::after { content: ""; position: absolute; inset: auto 0 0 0; height: 30%; background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 92%); }
.v5-doc:hover .v5-doc__ph img { filter: none; }
.v5-doc b { display: block; font-family: var(--v5-serif); font-weight: 400; font-size: 17px; }
.v5-doc > span:last-child { font-family: var(--v5-label); font-size: 11.5px; letter-spacing: .12em; color: var(--v5-mute); }
.v5-docs__note { margin: 28px 0 0; font-size: 14px; color: var(--v5-mute); }
@media (max-width: 1000px) { .v5-docs { grid-template-columns: repeat(5, 1fr); } }
@media (max-width: 560px) { .v5-docs { grid-template-columns: repeat(3, 1fr); gap: 14px; } }

/* 소식 · 치아이야기 */
.v5-news { display: grid; grid-template-columns: 1.55fr 1fr; gap: 56px; }
.v5-colhead { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--v5-ink); padding-bottom: 12px; margin-bottom: 24px; }
.v5-colhead h2 { font-family: var(--v5-serif) !important; font-size: 22px !important; font-weight: 400 !important; margin: 0; color: var(--v5-ink); }
.v5-colhead a { font-family: var(--v5-label); font-size: 12px; letter-spacing: .14em; color: var(--v5-mute); text-decoration: none; }
.v5-feat { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-bottom: 10px; }
.v5-feat a, .v5-story { color: var(--v5-ink); text-decoration: none; }
.v5-feat__ph { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--v5-hair); margin-bottom: 12px; }
.v5-feat__ph img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.v5-feat__ph img.is-tall { object-position: center top; }
.v5-feat time, .v5-nlist time, .v5-story time { font-family: var(--v5-label); font-size: 12px; letter-spacing: .08em; color: var(--v5-mute); }
.v5-feat b { display: block; font-family: var(--v5-serif); font-weight: 400; font-size: 16.5px; line-height: 1.5; margin-top: 4px; }
.v5-feat a:hover b, .v5-story:hover b, .v5-nlist a:hover { color: var(--v5-bronze); }
.v5-nlist { margin: 0; padding: 0; list-style: none; }
.v5-nlist li { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--v5-line); font-size: 15px; margin: 0; }
.v5-nlist a { color: var(--v5-ink); text-decoration: none; }
.v5-story { display: grid; grid-template-columns: 110px 1fr; gap: 16px; align-items: center; padding: 0 0 18px; margin-bottom: 18px; border-bottom: 1px solid var(--v5-line); }
.v5-story__ph { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--v5-hair); }
.v5-story__ph img { width: 100%; height: 100%; object-fit: cover; }
.v5-story b { display: block; font-family: var(--v5-serif); font-weight: 400; font-size: 15.5px; line-height: 1.5; margin-top: 2px; }
@media (max-width: 900px) { .v5-news { grid-template-columns: 1fr; gap: 48px; } }
@media (max-width: 540px) { .v5-feat { grid-template-columns: 1fr; } .v5-nlist li { grid-template-columns: 1fr; gap: 0; } }

/* 자주 묻는 질문 */
.v5-faq { border-top: 1px solid var(--v5-line); }
.v5-faq details { border-bottom: 1px solid var(--v5-line); }
.v5-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; padding: 24px 4px; font-family: var(--v5-serif); font-size: 19px; font-weight: 400; color: var(--v5-ink); }
.v5-faq summary::-webkit-details-marker { display: none; }
.v5-faq summary::after { content: "+"; font-family: var(--v5-label); color: var(--v5-bronze); font-size: 22px; line-height: 1; }
.v5-faq details[open] summary::after { content: "–"; }
.v5-faq__a { margin: 0 4px 26px; color: var(--v5-sub); max-width: 46em; line-height: 1.85; }
.v5-faq__a p { margin: 0 0 8px; }

/* 예약 띠 */
.v5-closing { background: #22150D; color: #F3EDE6; }
.v5-closing .v5-wrap { padding-block: clamp(64px, 8vw, 104px); display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: end; }
.v5-closing .v5-label { color: #B9A591; }
.v5-closing h2 { font-family: var(--v5-serif) !important; font-weight: 300 !important; font-size: clamp(26px, 3.2vw, 38px) !important; line-height: 1.45; margin: 14px 0 0; color: #F3EDE6 !important; }
.v5-closing p { color: #B9A591; margin: 16px 0 0; }
.v5-closing .v5-acts { justify-content: flex-end; }
.v5-closing .v5-btn { border-color: #F3EDE6; color: #F3EDE6; }
.v5-closing .v5-btn:hover { background: #F3EDE6; color: #22150D; }
.v5-closing .v5-btn--fill { background: #D1A77E; border-color: #D1A77E; color: #22150D; }
@media (max-width: 820px) { .v5-closing .v5-wrap { grid-template-columns: 1fr; } .v5-closing .v5-acts { justify-content: flex-start; } }

/* 오시는 길 (홈) */
.v5-mapsec { background: var(--v5-bg); padding-block: clamp(56px, 7vw, 88px); }
.v5-mapgrid { display: grid; grid-template-columns: 360px 1fr; gap: 40px; align-items: center; }
.v5-mapcard__addr { font-family: var(--v5-serif); font-size: 21px; line-height: 1.5; margin: 10px 0 6px; }
.v5-mapcard__addr a { color: var(--v5-ink); text-decoration: none; }
.v5-mapcard__addr a:hover { color: var(--v5-bronze); }
.v5-mapcard__note { margin: 0 0 22px; color: var(--v5-mute); font-size: 14px; }
.v5-maps { display: flex; flex-wrap: wrap; gap: 8px; }
.v5-maps a { padding: 8px 12px; font-size: 13px; border: 1px solid var(--v5-line); background: var(--v5-paper); color: var(--v5-ink); text-decoration: none; }
.v5-maps a:hover { border-color: var(--v5-ink); }
.v5-mapbox { height: clamp(260px, 26vw, 340px); border: 1px solid var(--v5-line); overflow: hidden; background: var(--v5-hair); }
.v5-mapbox iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(.25); }
@media (max-width: 820px) { .v5-mapgrid { grid-template-columns: 1fr; gap: 24px; } .v5-mapbox { height: 240px; } }

/* 홈에서는 푸터 위 기본 「오시는 길」 중복 숨김 */
body.md-v5.home .md-flocation { display: none; }

@media (prefers-reduced-motion: reduce) {
  .v5-crow, .v5-rail__ph img, .v5-btn { transition: none; }
}

/* ---------- 보정 (v5.0 1차 확인 뒤) ---------- */
/* 메뉴 · 센터별 색 없이 모두 같은 톤 */
body.md-v5 .md-header__nav .md-nav > li[class*="md-nav-center"] > a {
  color: var(--v5-sub) !important;
  font-weight: 400 !important;
  background: none !important;
}
body.md-v5 .md-header__nav .md-nav > li[class*="md-nav-center"] > a:hover,
body.md-v5 .md-header__nav .md-nav > li[class*="md-nav-center"].current-menu-item > a,
body.md-v5 .md-header__nav .md-nav > li[class*="md-nav-center"].current-menu-ancestor > a { color: var(--v5-ink) !important; }

/* 푸터 · 글자색 모두 밝은 바탕용으로 */
body.md-v5 .md-footer * { color: inherit !important; }
body.md-v5 .md-footer a { color: var(--v5-ink) !important; }
body.md-v5 .md-footer a:hover { color: var(--v5-bronze) !important; }
body.md-v5 .md-footer .md-footer__hours-off,
body.md-v5 .md-footer .md-footer__hours-note,
body.md-v5 .md-footer .md-footer__park-note,
body.md-v5 .md-footer .md-footer__park-item span,
body.md-v5 .md-footer .md-footer__park-transit,
body.md-v5 .md-footer .md-footer__park-transit li,
body.md-v5 .md-footer .md-footer__legal-line,
body.md-v5 .md-footer .md-footer__legal-line p,
body.md-v5 .md-footer .md-footer__sep { color: var(--v5-mute) !important; }
body.md-v5 .md-footer .md-footer__floor-num,
body.md-v5 .md-footer .md-footer__park-num { color: var(--v5-bronze) !important; }
body.md-v5 .md-footer .md-footer__hours span,
body.md-v5 .md-footer .md-footer__park-item strong,
body.md-v5 .md-footer .md-footer__park-item b,
body.md-v5 .md-footer .md-footer__phone a { color: var(--v5-ink) !important; }
body.md-v5 .md-footer .md-fsoc { color: var(--v5-sub) !important; }
body.md-v5 .md-footer .md-fsoc:hover { color: var(--v5-bronze) !important; }
/* 상자 · 바탕 없이 선만 */
body.md-v5 .md-footer .md-footer__col,
body.md-v5 .md-footer .md-footer__hours-link,
body.md-v5 .md-footer .md-footer__hours-note,
body.md-v5 .md-footer .md-footer__park-note,
body.md-v5 .md-footer .md-footer__park-item,
body.md-v5 .md-footer .md-footer__park-num {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.md-v5 .md-footer .md-footer__col { padding: 0 !important; }
body.md-v5 .md-footer .md-footer__hours-note,
body.md-v5 .md-footer .md-footer__park-note { padding: 10px 0 0 !important; font-size: 12.5px !important; }
body.md-v5 .md-footer .md-footer__park-num { width: auto !important; height: auto !important; font-family: var(--v5-label) !important; font-size: 12px !important; }
body.md-v5 .md-footer .md-footer__floor-row { border-bottom: 1px solid var(--v5-hair) !important; }

/* 외국어 · 메뉴 이름이 길어 겹치지 않게 (기존 줄바꿈 방식 유지) */
html:not([lang^="ko"]) body.md-v5 .md-header__nav .md-nav > li > a {
  white-space: normal !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  text-align: center;
  padding-inline: 8px !important;
}
html:not([lang^="ko"]) body.md-v5 .md-header__nav .md-nav > li > a::after { left: 8px; right: 8px; bottom: 0; }
html:not([lang^="ko"]) body.md-v5 .md-header__nav .md-nav > li > a {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none;
  font-size: 13px !important;
  padding-inline: 6px !important;
}
html:not([lang^="ko"]) body.md-v5 .md-header__nav .md-nav > li { flex: 0 0 auto; }
html:not([lang^="ko"]) .md-v5-brand b { font-size: 18px; }
html:not([lang^="ko"]) .md-v5-brand small { font-size: 9.5px; }
html:not([lang^="ko"]) body.md-v5 .md-header__cta-btn { padding: 0 14px !important; font-size: 13px !important; }
html:not([lang^="ko"]) body.md-v5 .md-header__nav .md-nav > li { flex: 0 1 auto; }
html:not([lang^="ko"]) body.md-v5 .md-header .md-container { max-width: 1360px; }
html:not([lang^="ko"]):not([lang^="en"]) .md-v5-brand b { font-size: 16px; }
html:not([lang^="ko"]):not([lang^="en"]) body.md-v5 .md-header__nav .md-nav > li > a { font-size: 12.5px !important; padding-inline: 5px !important; }

/* 외국어 홈 · 첫 화면 제목이 길어 조금 작게 */
html:not([lang^="ko"]) .v5-hero__title { font-size: clamp(28px, 2.9vw, 40px) !important; line-height: 1.3 !important; }
html:not([lang^="ko"]) .v5-head h2 { font-size: clamp(26px, 2.8vw, 36px) !important; }

/* ==========================================================================
   v5.2 · 안쪽 페이지 정리 — 이모지 뺀 빈 아이콘 칸 숨김 · 카드 그림자 없이 · 머리 영역 단정하게
   ========================================================================== */
body.md-v5 [class*="__icon"]:empty,
body.md-v5 [class*="-icon"]:empty,
body.md-v5 [class*="__emoji"]:empty,
body.md-v5 [class*="__badge"]:empty,
body.md-v5 [class*="__ico"]:empty { display: none !important; }

/* 카드 · 그림자 · 떠오르는 효과 없이 가는 선으로 */
body.md-v5 .md-main [class*="card"],
body.md-v5 .md-main [class*="__item"],
body.md-v5 .md-main [class*="__box"],
body.md-v5 .md-main [class*="__panel"] {
  box-shadow: none !important;
}
body.md-v5 .md-main [class*="card"]:hover { transform: none !important; }
body.md-v5 .md-main [class*="card"]:hover { border-color: var(--v5-bronze) !important; }

/* 페이지 머리(히어로) · 장식 그라디언트 없이 */
body.md-v5 .md-page-hero,
body.md-v5 .md-docs-hero,
body.md-v5 .md-svc-hero,
body.md-v5 [class*="-hero"]:not(.v5-hero):not([class*="__"]) {
  background-image: none !important;
  background-color: var(--v5-bg) !important;
  border-bottom: 1px solid var(--v5-hair);
}
body.md-v5 .md-page-hero::before, body.md-v5 .md-page-hero::after,
body.md-v5 .md-docs-hero::before, body.md-v5 .md-docs-hero::after { display: none !important; }
body.md-v5 .md-page-hero__title, body.md-v5 .md-docs-hero__title { font-weight: 300 !important; letter-spacing: -0.02em; }
body.md-v5 .md-page-hero__title em, body.md-v5 .md-docs-hero__title em { font-style: normal; color: var(--v5-bronze); }

/* 칩 · 알약 라벨 · 가는 선 */
body.md-v5 [class*="__chip"]:not([class*="v5-"]),
body.md-v5 [class*="__pill"]:not([class*="v5-"]),
body.md-v5 [class*="__tag"]:not([class*="v5-"]):not([class*="__tags"]) {
  background: transparent !important;
  border: 1px solid var(--v5-line) !important;
  color: var(--v5-sub) !important;
  box-shadow: none !important;
  font-weight: 400 !important;
}
body.md-v5 .md-page-hero__eyebrow,
body.md-v5 [class*="__eyebrow"] {
  font-family: var(--v5-label);
  letter-spacing: .18em;
  font-weight: 400;
  color: var(--v5-mute);
  background: none !important;
  border: 0 !important;
}

/* 본문 · 읽기 좋게 */
body.md-v5 .md-page-content { color: var(--v5-ink); line-height: 1.85; }
body.md-v5 .md-page-content h2, body.md-v5 .md-page-content h3 { font-family: var(--v5-serif); font-weight: 400; color: var(--v5-ink); }
body.md-v5 .md-page-content a { color: var(--v5-bronze); }

/* FAQ (안쪽 페이지) */
body.md-v5 .md-faq__item, body.md-v5 .md-home-faq__item {
  background: none !important; border: 0 !important; border-bottom: 1px solid var(--v5-line) !important; border-radius: 0 !important;
}
body.md-v5 .md-faq__item summary, body.md-v5 .md-home-faq__item summary { font-family: var(--v5-serif); font-weight: 400; }

/* v5.3 · 안쪽 페이지 「궁금한 점이 있으신가요?」 → 홈 예약 띠와 같은 톤 */
body.md-v5 .md-cta-banner {
  background: #22150D !important;
  background-image: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #F3EDE6 !important;
}
body.md-v5 .md-cta-banner::before, body.md-v5 .md-cta-banner::after { display: none !important; }
body.md-v5 .md-cta-banner__eyebrow { color: #B9A591 !important; font-family: var(--v5-label); letter-spacing: .22em; }
body.md-v5 .md-cta-banner__title { font-family: var(--v5-serif) !important; font-weight: 300 !important; color: #F3EDE6 !important; }
body.md-v5 .md-cta-banner__lead, body.md-v5 .md-cta-banner__hint { color: #B9A591 !important; }
body.md-v5 .md-cta-banner a {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border: 1px solid #F3EDE6 !important;
  color: #F3EDE6 !important;
  min-height: 52px;
}
body.md-v5 .md-cta-banner a[href*="booking.naver"] { background: #D1A77E !important; border-color: #D1A77E !important; color: #22150D !important; }
body.md-v5 .md-cta-banner a:hover { filter: brightness(1.08); }

body.md-v5 .md-cta-banner a svg, body.md-v5 .md-cta-banner a svg * { color: currentColor !important; fill: currentColor !important; }
body.md-v5 .md-cta-banner a [class*="logo"], body.md-v5 .md-cta-banner a [class*="badge"] { background: transparent !important; color: currentColor !important; }

/* v5.3.5 · 원장 지시 · 첫 화면 사진이 화면 오른쪽 끝까지 가지 않게 — 메뉴 · 아래 내용과 같은 폭 안으로 */
@media (min-width: 901px) {
  .v5-hero {
    max-width: var(--v5-max);
    margin: 0 auto;
    padding: 48px 24px 56px;
    box-sizing: border-box;
    min-height: 0;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    border-bottom: 0;
  }
  .v5-hero__copy { padding: 24px 0; }
  .v5-hero__photo { min-height: 0; aspect-ratio: 4 / 5; max-height: 640px; align-self: center; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .v5-hero { gap: 36px; }
  .v5-hero__photo { aspect-ratio: 3 / 4; }
}
.v5-stats { border-top: 1px solid var(--v5-hair); }
/* 임플란트센터 · 「1990년대부터 임플란트를 식립해온 병원」 */
.v5-crow__lead { display: block; font-family: var(--v5-serif); font-weight: 500; font-size: 15.5px; color: var(--v5-bronze); margin-bottom: 4px; }

/* v5.3.6 · 원장 지시 · 첫 화면 사진이 잘리지 않게 — 사진 원래 비율 그대로 */
.v5-hero__photo { aspect-ratio: auto !important; max-height: none !important; min-height: 0 !important; background: none; }
.v5-hero__photo img { position: static; display: block; width: 100%; height: auto; object-fit: initial; }
@media (min-width: 901px) {
  .v5-hero { align-items: center; }
  .v5-hero__photo { align-self: center; }
}

/* v5.4 · 임플란트센터 · 가이드 임플란트 */
.v5-guide { margin: 0; }
.v5-guide h3 { font-family: var(--v5-serif) !important; font-weight: 400 !important; color: var(--v5-ink); }
.v5-guide__steps { list-style: none; margin: 0 0 48px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--v5-ink); }
.v5-guide__steps li { padding: 26px 24px 8px 0; margin: 0; }
.v5-guide__steps li + li { padding-left: 24px; border-left: 1px solid var(--v5-line); }
.v5-guide__no { font-family: var(--v5-display); font-size: 22px; color: var(--v5-bronze); font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.v5-guide__steps h3 { font-size: 20px !important; margin: 10px 0 8px; }
.v5-guide__steps p, .v5-guide__sys p, .v5-guide__flapless p { margin: 0; color: var(--v5-sub); font-size: 15px; line-height: 1.85; }
.v5-guide__sys { padding: 26px 0; border-top: 1px solid var(--v5-line); max-width: 52em; }
.v5-guide__sys h3 { font-size: 21px !important; margin: 0 0 8px; }
.v5-guide__sub { font-size: 21px !important; margin: 40px 0 6px; }
.v5-guide__cases { margin-bottom: 44px; }
.v5-guide__flapless { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: start; background: var(--v5-bg); border: 1px solid var(--v5-line); padding: 36px 36px 30px; }
.v5-guide__flapless h3 { font-size: 24px !important; margin: 10px 0 12px; }
.v5-guide__flapless ul { list-style: none; margin: 0; padding: 0; }
.v5-guide__flapless li { padding: 14px 0; border-bottom: 1px solid var(--v5-line); margin: 0; }
.v5-guide__flapless li:first-child { padding-top: 0; }
.v5-guide__flapless li b { display: block; font-family: var(--v5-serif); font-weight: 500; font-size: 18px; color: var(--v5-ink); margin-bottom: 2px; }
.v5-guide__flapless li span { color: var(--v5-sub); font-size: 14.5px; }
.v5-guide__note { margin: 14px 0 40px; font-size: 13.5px; color: var(--v5-mute); }
.v5-guide__quote { margin: 44px 0; padding: 0 0 0 20px; border-left: 2px solid var(--v5-bronze); font-family: var(--v5-serif); font-weight: 300; font-size: clamp(22px, 2.6vw, 30px); color: var(--v5-ink); }
.v5-guide__faq { margin-top: 8px; }
@media (max-width: 900px) {
  .v5-guide__steps { grid-template-columns: 1fr; }
  .v5-guide__steps li, .v5-guide__steps li + li { padding: 22px 0 6px; border-left: 0; }
  .v5-guide__steps li + li { border-top: 1px solid var(--v5-line); }
  .v5-guide__flapless { grid-template-columns: 1fr; gap: 24px; padding: 26px 20px; }
}

/* v5.4.1 · 가이드 임플란트 · 원내 증례 사진 */
.v5-guide__caselead { margin: 0 0 22px; color: var(--v5-sub); font-size: 15px; }
.v5-gcases { display: grid; gap: 34px; margin-bottom: 44px; }
.v5-gcases--flapless { margin: 26px 0 0; }
.v5-gcase { border-top: 1px solid var(--v5-line); padding-top: 22px; }
.v5-gcase--plain { border-top: 0; padding-top: 18px; }
.v5-gcase h4 { font-family: var(--v5-serif); font-weight: 500; font-size: 19px; color: var(--v5-ink); margin: 0 0 6px; }
.v5-gcase > p { margin: 0 0 16px; color: var(--v5-sub); font-size: 14.5px; line-height: 1.8; max-width: 52em; }
.v5-gcase__figs { display: grid; gap: 14px; grid-template-columns: repeat(2, 1fr); }
.v5-gcase__figs--3 { grid-template-columns: 1fr 1fr 0.62fr; align-items: start; }
.v5-gcase__fig { margin: 0; }
.v5-gcase__fig a { display: block; background: #111; border: 1px solid var(--v5-line); overflow: hidden; }
.v5-gcase__fig img { display: block; width: 100%; height: auto; transition: transform .3s; }
.v5-gcase__fig a:hover img { transform: scale(1.02); }
.v5-gcase__fig figcaption { margin-top: 7px; font-size: 13px; color: var(--v5-mute); line-height: 1.5; }
.v5-gcase--plain .v5-gcase__fig a { background: #fff; }
@media (max-width: 700px) {
  .v5-gcase__figs, .v5-gcase__figs--3 { grid-template-columns: 1fr; }
}

/* v5.5 · 임플란트센터 기승전결 */
.v5-impl .v5-why__no { font-size: 26px; }
.v5-impl__pillars { margin-bottom: 52px; }
.v5-impl__sub { font-family: var(--v5-serif) !important; font-weight: 400 !important; font-size: 21px !important; color: var(--v5-ink); margin: 0 0 14px; }
.v5-impl__lead { margin: -4px 0 18px; color: var(--v5-sub); font-size: 15px; line-height: 1.8; max-width: 52em; }
.v5-impl__qa { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; margin: 0; border-top: 1px solid var(--v5-line); }
.v5-impl__qa > div { padding: 16px 0; border-bottom: 1px solid var(--v5-line); }
.v5-impl__qa dt { font-family: var(--v5-serif); font-size: 17px; color: var(--v5-ink); margin-bottom: 3px; }
.v5-impl__qa dt::before { content: "“"; color: var(--v5-bronze); margin-right: 2px; }
.v5-impl__qa dt::after { content: "”"; color: var(--v5-bronze); margin-left: 2px; }
.v5-impl__qa dd { margin: 0; font-size: 14.5px; color: var(--v5-sub); line-height: 1.75; }
.v5-impl__ways { margin-bottom: 52px; grid-template-columns: repeat(2, 1fr) !important; }
.v5-impl__twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.v5-impl__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--v5-line); }
.v5-impl__list li { padding: 14px 0; border-bottom: 1px solid var(--v5-line); font-size: 14.5px; color: var(--v5-sub); line-height: 1.75; margin: 0; }
.v5-impl__list b { display: block; font-family: var(--v5-serif); font-weight: 500; font-size: 16.5px; color: var(--v5-ink); margin-bottom: 2px; }
.v5-impl__brands { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--v5-ink); }
.v5-impl__brands li { padding: 18px 18px 6px 0; margin: 0; }
.v5-impl__brands li + li { padding-left: 18px; border-left: 1px solid var(--v5-line); }
.v5-impl__brands b { display: block; font-family: var(--v5-serif); font-weight: 500; font-size: 17px; color: var(--v5-ink); margin-bottom: 4px; }
.v5-impl__brands span { font-size: 14px; color: var(--v5-sub); line-height: 1.7; }
.v5-impl__flow { list-style: none; margin: 0 0 52px; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); counter-reset: f; border-top: 1px solid var(--v5-ink); }
.v5-impl__flow li { counter-increment: f; padding: 20px 16px 4px 0; margin: 0; }
.v5-impl__flow li + li { padding-left: 16px; border-left: 1px solid var(--v5-line); }
.v5-impl__flow li::before { content: counter(f, decimal-leading-zero); display: block; font-family: var(--v5-display); font-size: 20px; color: var(--v5-bronze); margin-bottom: 8px; font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.v5-impl__flow b { display: block; font-family: var(--v5-serif); font-weight: 500; font-size: 16.5px; color: var(--v5-ink); margin-bottom: 4px; }
.v5-impl__flow span { font-size: 13.5px; color: var(--v5-sub); line-height: 1.7; }
.v5-impl__care { margin-bottom: 0; }
.v5-impl__dots { list-style: none; margin: 0; padding: 0; }
.v5-impl__dots li { position: relative; padding: 9px 0 9px 16px; border-bottom: 1px solid var(--v5-hair); font-size: 14.5px; color: var(--v5-sub); margin: 0; }
.v5-impl__dots li::before { content: ""; position: absolute; left: 0; top: 19px; width: 5px; height: 5px; border-radius: 50%; background: var(--v5-bronze); }
.v5-impl__ins dl { margin: 0; border-top: 1px solid var(--v5-line); }
.v5-impl__ins dl > div { display: grid; grid-template-columns: 88px 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--v5-line); }
.v5-impl__ins dt { color: var(--v5-mute); font-size: 14px; }
.v5-impl__ins dd { margin: 0; color: var(--v5-ink); font-size: 15px; }
.v5-impl__ins p { margin: 12px 0 0; font-size: 13.5px; color: var(--v5-mute); }
.v5-gcase__more { margin-top: 12px; }
.v5-gcase__more summary { cursor: pointer; list-style: none; display: inline-block; font-family: var(--v5-label); font-size: 13px; letter-spacing: .06em; color: var(--v5-bronze); border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.v5-gcase__more summary::-webkit-details-marker { display: none; }
.v5-gcase__more summary::after { content: " +"; }
.v5-gcase__more[open] summary::after { content: " –"; }
.v5-gcase__more .v5-gcase__figs { margin-top: 14px; }
@media (max-width: 1000px) { .v5-impl__flow { grid-template-columns: repeat(3, 1fr); } .v5-impl__flow li:nth-child(4) { padding-left: 0; border-left: 0; } .v5-impl__flow li:nth-child(n+4) { border-top: 1px solid var(--v5-line); } .v5-impl__brands { grid-template-columns: 1fr 1fr; } .v5-impl__brands li:nth-child(3) { padding-left: 0; border-left: 0; } }
@media (max-width: 700px) {
  .v5-impl__qa, .v5-impl__twocol, .v5-impl__ways { grid-template-columns: 1fr !important; }
  .v5-impl__twocol { gap: 32px; }
  .v5-impl__flow, .v5-impl__brands { grid-template-columns: 1fr; }
  .v5-impl__flow li, .v5-impl__flow li + li, .v5-impl__brands li, .v5-impl__brands li + li { padding-left: 0; border-left: 0; }
  .v5-impl__flow li + li, .v5-impl__brands li + li { border-top: 1px solid var(--v5-line); }
}

/* v5.7 · 원장 지시 · 떠 있는 버튼 — 푸터 SNS 처럼 가는 선 아이콘 · 같은 모양 원 */
body.md-v5 .md-fab-stack { gap: 10px !important; }
body.md-v5 .md-fab,
body.md-v5 .md-fab--naver,
body.md-v5 .md-fab--kakao,
body.md-v5 .md-totop {
  width: 46px !important; height: 46px !important; padding: 0 !important;
  display: inline-grid !important; place-items: center;
  border-radius: 50% !important;
  background: var(--v5-paper) !important;
  border: 1px solid var(--v5-line) !important;
  color: var(--v5-sub) !important;
  box-shadow: 0 6px 18px rgba(34, 21, 13, .08) !important;
  transition: color .2s, border-color .2s, transform .2s !important;
}
body.md-v5 .md-fab:hover, body.md-v5 .md-totop:hover {
  color: var(--v5-bronze) !important; border-color: var(--v5-bronze) !important; transform: translateY(-2px) !important;
}
body.md-v5 .md-fab__icon { display: grid !important; place-items: center; width: auto !important; height: auto !important; background: none !important; color: inherit !important; font-size: 0 !important; }
body.md-v5 .md-ico { width: 20px; height: 20px; display: block; }
body.md-v5 .md-totop .md-ico { width: 18px; height: 18px; }
body.md-v5 .md-fab__label {
  font-size: 12.5px !important; font-weight: 400 !important; letter-spacing: .02em;
  background: #22150D !important; color: #F3EDE6 !important;
  border-radius: 2px !important; padding: 6px 11px !important; box-shadow: none !important;
}
/* 언어 버튼 · 휴대폰 아래 막대 */
body.md-v5 .md-lang-fab__globe { display: inline-grid; place-items: center; color: var(--v5-sub); }
body.md-v5 .md-lang-fab__globe .md-ico { width: 17px; height: 17px; }
body.md-v5 .md-mobile-cta__icon { display: grid; place-items: center; font-size: 0 !important; }
body.md-v5 .md-mobile-cta__icon .md-ico { width: 20px; height: 20px; }
body.md-v5 .md-mobile-cta__item { color: var(--v5-ink) !important; }
body.md-v5 .md-mobile-cta__item--naver { background: var(--v5-bronze) !important; color: #fff !important; }
body.md-v5 .md-fab-stack .md-fab .md-fab__icon,
body.md-v5 .md-fab-stack .md-fab--naver .md-fab__icon,
body.md-v5 .md-fab-stack .md-fab--kakao .md-fab__icon { color: inherit !important; background: none !important; opacity: 1 !important; filter: none !important; }
body.md-v5 .md-fab-stack .md-fab .md-ico { stroke: currentColor !important; fill: none !important; }

/* ==========================================================================
   v5.8 · 원장 지시 · 줄 · 간격 다듬기
   ========================================================================== */
/* 섹션 머리 · 왼쪽 작은 라벨을 제목 첫 줄 높이에 맞춤 */
@media (min-width: 821px) { .v5-head > .v5-label { padding-top: 16px; } }

/* 숫자 띠 · 위 선이 내용 폭보다 튀어나오지 않게 (선은 안쪽 칸에만) */
.v5-stats { border-top: 0 !important; border-bottom: 0 !important; padding-inline: 24px; }
.v5-stats > .v5-stat { border-top: 1px solid var(--v5-hair); border-bottom: 1px solid var(--v5-hair); }
@media (max-width: 700px) {
  .v5-stats > .v5-stat:nth-child(n+3) { border-top: 0; }
  .v5-stat { padding: 24px 10px; }
  .v5-stat dt { font-size: 12.5px; line-height: 1.5; }
}
/* 지정 · 협력 · 휴대폰에서 두 줄로 고르게 */
@media (max-width: 700px) { .v5-creds ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; padding-block: 20px; } .v5-creds li { align-items: flex-start; } .v5-creds li::before { margin-top: 7px; } }

/* 30여년의 발자취 · 옆으로 넘겨 보는 줄임을 알 수 있게 오른쪽 흐림 */
.v5-hist-railwrap, .v5-rail { position: relative; }
.v5-blk.v5-paper .v5-rail { -webkit-mask-image: linear-gradient(to right, #000 88%, transparent); mask-image: linear-gradient(to right, #000 88%, transparent); padding-right: 60px; }

/* 전문센터 행 · 휴대폰 들여쓰기 정리 */
@media (max-width: 820px) { .v5-crow { padding: 24px 0; } .v5-crow:hover { padding-inline: 0; } .v5-crow__no { font-size: 18px; } }

/* 푸터 · 위 내용과 같은 폭 · 같은 여백 */
body.md-v5 .md-footer .md-container { max-width: var(--v5-max) !important; padding-inline: 24px !important; box-sizing: border-box; }
body.md-v5 .md-footer__grid { max-width: none !important; gap: 40px 48px !important; }
body.md-v5 .md-footer__social { flex-wrap: nowrap !important; gap: 8px !important; }
body.md-v5 .md-fsoc { width: 36px !important; height: 36px !important; }
body.md-v5 .md-footer__park-item > div > span::before { content: none !important; }
body.md-v5 .md-footer__park-item { display: grid !important; grid-template-columns: 28px 1fr; gap: 0 8px; align-items: baseline; padding: 0 0 12px !important; }
body.md-v5 .md-footer__park-list { display: grid; gap: 8px; margin: 0 !important; padding: 0 !important; }
body.md-v5 .md-footer__park-item strong { font-size: 14.5px !important; }
body.md-v5 .md-footer__park-transit { margin-top: 14px !important; display: grid; gap: 6px; }
body.md-v5 .md-footer__park-transit a, body.md-v5 .md-station-link { border-bottom: 1px solid var(--v5-line) !important; text-decoration: none !important; font-weight: 500; }
body.md-v5 .md-station-hl { background: none !important; color: inherit !important; padding: 0 !important; }
@media (max-width: 900px) {
  body.md-v5 .md-footer__grid { grid-template-columns: 1fr 1fr !important; gap: 40px 32px !important; }
  body.md-v5 .md-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  body.md-v5 .md-footer { padding-top: 48px !important; }
  body.md-v5 .md-footer__grid { grid-template-columns: 1fr !important; gap: 36px !important; }
  body.md-v5 .md-footer__brand, body.md-v5 .md-footer__phone, body.md-v5 .md-footer__email, body.md-v5 .md-footer__addr { text-align: left !important; }
  body.md-v5 .md-footer__social { justify-content: flex-start !important; }
  body.md-v5 .md-footer__brand-link { display: inline-block; }
  body.md-v5 .md-footer__legal-line, body.md-v5 .md-footer__policy-line { text-align: left !important; }
}
body.md-v5 .md-footer__park-list li, body.md-v5 .md-footer__park-item, body.md-v5 .md-footer__park-num, body.md-v5 .md-footer__park-note, body.md-v5 .md-footer__park-transit { margin-left: 0 !important; padding-left: 0 !important; }

/* ==========================================================================
   v5.9 · 원장 지시 · 모든 페이지 점검 — 진료 페이지 공통 부품
   ========================================================================== */
/* 진료 페이지 머리 아래 사진 · 숫자 블록 — 사진 없으면 숨김(제목과 겹침), 있으면 단정하게 */
body.md-v5 .md-svc-hero:not(:has(.md-svc-hero__figure)) { display: none; }
body.md-v5 .md-svc-hero { background: var(--v5-bg) !important; border-bottom: 1px solid var(--v5-hair); padding: 48px 0 !important; }
body.md-v5 .md-svc-hero .md-container { max-width: var(--v5-max); padding-inline: 24px; }
body.md-v5 .md-svc-hero__figure { border-radius: 0 !important; box-shadow: none !important; }
body.md-v5 .md-svc-hero__headline { font-family: var(--v5-serif) !important; font-weight: 300 !important; color: var(--v5-ink); }
body.md-v5 .md-svc-hero__stats { gap: 0 !important; border-top: 1px solid var(--v5-ink); }
body.md-v5 .md-svc-hero__stats li { background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; padding: 18px 8px 4px !important; }
body.md-v5 .md-svc-hero__stats li + li { border-left: 1px solid var(--v5-line) !important; }
body.md-v5 .md-svc-hero__stat-value { font-family: var(--v5-display); font-weight: 500 !important; color: var(--v5-ink) !important; font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
body.md-v5 .md-svc-hero__stat-label { color: var(--v5-mute) !important; }

/* 페이지 머리 · 장식 아이콘 원 · 층 칩 */
body.md-v5 .md-page-hero__icon { background: none !important; box-shadow: none !important; color: var(--v5-bronze) !important; }

/* 「혹시 이런 고민」 카드 */
body.md-v5 .md-pain__pair { border-radius: 0 !important; border: 1px solid var(--v5-line) !important; background: var(--v5-paper) !important; box-shadow: none !important; transform: none !important; }
body.md-v5 .md-pain__pair::before { display: none !important; }
body.md-v5 .md-pain__concern, body.md-v5 .md-pain__solution { background: none !important; }
body.md-v5 .md-pain__concern { border-bottom: 1px solid var(--v5-hair) !important; }
body.md-v5 .md-pain__concern::before, body.md-v5 .md-pain__concern::after, body.md-v5 .md-pain__solution::before { display: none !important; }
body.md-v5 .md-pain__tag { background: none !important; border: 0 !important; padding: 0 !important; font-family: var(--v5-label); font-size: 11px !important; letter-spacing: .16em; color: var(--v5-mute) !important; }
body.md-v5 .md-pain__concern p, body.md-v5 .md-pain__concern blockquote, body.md-v5 .md-pain__concern q { font-family: var(--v5-serif) !important; font-style: normal !important; color: var(--v5-ink) !important; }

/* 「이런 분께 추천합니다」 */
body.md-v5 .md-ideal { border-radius: 0 !important; background: var(--v5-paper) !important; border: 1px solid var(--v5-line) !important; }
body.md-v5 .md-ideal::before, body.md-v5 .md-ideal::after { display: none !important; }
body.md-v5 .md-ideal__chip { background: none !important; padding: 0 !important; font-family: var(--v5-label); font-weight: 400 !important; color: var(--v5-mute) !important; }
body.md-v5 .md-ideal__title { font-family: var(--v5-serif) !important; font-weight: 400 !important; }
body.md-v5 .md-ideal__list li { background: none !important; border-radius: 0 !important; border-bottom: 1px solid var(--v5-hair) !important; text-align: left; }
body.md-v5 .md-ideal__check { background: none !important; color: var(--v5-bronze) !important; }

/* 「다른 진료 영역 보기」 카드 */
body.md-v5 .md-service-card { border-radius: 0 !important; background: var(--v5-paper) !important; border: 1px solid var(--v5-line) !important; box-shadow: none !important; }
body.md-v5 .md-service-card::before, body.md-v5 .md-service-card::after { display: none !important; }
body.md-v5 .md-service-card__icon { background: none !important; box-shadow: none !important; color: var(--v5-bronze) !important; }
body.md-v5 .md-service-card__title { font-family: var(--v5-serif) !important; font-weight: 400 !important; }
body.md-v5 .md-service-card:hover { border-color: var(--v5-bronze) !important; transform: none !important; }

/* 종합안내서 카드 · 큰 번호 장식 약하게 */
body.md-v5 .md-guide-cta { border-radius: 0 !important; box-shadow: none !important; }
body.md-v5 .md-guide-cta__code { opacity: .06 !important; }
body.md-v5 .md-guide-cta__tag { border-radius: 0 !important; }

/* 상담 띠 버튼 · 아이콘 빼고 글자만 */
body.md-v5 .md-cta-banner .md-rcta__icon { display: none !important; }
body.md-v5 .md-cta-banner .md-rcta__btn { min-height: 52px !important; padding: 0 26px !important; flex-direction: row !important; }
body.md-v5 .md-cta-banner .md-rcta__label { font-size: 14.5px !important; font-weight: 500 !important; }
body.md-v5 .md-cta-banner { padding-block: clamp(48px, 6vw, 72px) !important; }

/* v5.9 · 페이지별 카드 · 강조 상자 공통 정리 (자연치아보존 · 심미치료 · 사랑니 · 교정 트랙 · 지역 등) */
body.md-v5 .md-preservation-card, body.md-v5 .md-track, body.md-v5 .md-wisdom-case, body.md-v5 .md-wisdom-stat,
body.md-v5 .md-region-reason, body.md-v5 .md-spec, body.md-v5 .md-staff-dept, body.md-v5 .md-doccard, body.md-v5 .md-highlight {
  border-radius: 0 !important; box-shadow: none !important; background: var(--v5-paper) !important;
  border: 1px solid var(--v5-line) !important; transform: none !important;
}
body.md-v5 .md-preservation-card::before, body.md-v5 .md-preservation-card::after,
body.md-v5 .md-track::before, body.md-v5 .md-track::after,
body.md-v5 .md-wisdom-case::before, body.md-v5 .md-wisdom-case::after,
body.md-v5 .md-region-reason::before, body.md-v5 .md-highlight::before, body.md-v5 .md-highlight::after,
body.md-v5 .md-preservation-callout::before, body.md-v5 .md-preservation-callout::after,
body.md-v5 .md-wisdom-callout::before, body.md-v5 .md-wisdom-callout::after { display: none !important; }
body.md-v5 .md-preservation-card:hover, body.md-v5 .md-track:hover, body.md-v5 .md-wisdom-case:hover,
body.md-v5 .md-region-reason:hover, body.md-v5 .md-doccard:hover { border-color: var(--v5-bronze) !important; transform: none !important; box-shadow: none !important; }
body.md-v5 .md-preservation-card h4, body.md-v5 .md-preservation-card h3, body.md-v5 .md-track h3, body.md-v5 .md-wisdom-case h3, body.md-v5 .md-region-reason h3 { font-family: var(--v5-serif) !important; font-weight: 400 !important; color: var(--v5-ink) !important; }
/* 단계 · 꼬리표 */
body.md-v5 [class*="preservation-card__tag"], body.md-v5 [class*="preservation-card__badge"], body.md-v5 [class*="__step"]:not(ol):not(ul) {
  background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important;
  font-family: var(--v5-label); font-size: 11px !important; letter-spacing: .14em; color: var(--v5-bronze) !important; font-weight: 500 !important;
}
/* 강조 상자 (callout) — 왼쪽 브론즈 선 하나, 그라디언트 · 그림자 없이 */
body.md-v5 .md-preservation-callout, body.md-v5 .md-wisdom-callout, body.md-v5 .md-policy-note {
  border-radius: 0 !important; box-shadow: none !important; background: var(--v5-paper) !important; background-image: none !important;
  border: 1px solid var(--v5-line) !important; border-left: 2px solid var(--v5-bronze) !important;
}
body.md-v5 .md-preservation-callout h3, body.md-v5 .md-preservation-callout h4, body.md-v5 .md-wisdom-callout h3 { font-family: var(--v5-serif) !important; font-weight: 500 !important; border-bottom: 0 !important; }
body.md-v5 .md-preservation-callout li, body.md-v5 .md-preservation-callout [class*="__item"] { background: none !important; border: 0 !important; border-bottom: 1px solid var(--v5-hair) !important; border-radius: 0 !important; box-shadow: none !important; }
/* 소제목 밑줄 · 체크 목록 */
body.md-v5 .md-preservation-h3 { font-family: var(--v5-serif) !important; font-weight: 400 !important; border-bottom: 0 !important; padding-bottom: 0 !important; }
body.md-v5 .md-preservation-h3::after { display: none !important; }
body.md-v5 .md-preservation-list li::before { color: var(--v5-bronze) !important; }
/* 섹션 바탕 · 덴탈SPA 초록 · 분리선 갈색 굵은 줄 */
body.md-v5 .md-section--spa, body.md-v5 .md-section--pulpcap { background: var(--v5-paper) !important; background-image: none !important; border-top: 1px solid var(--v5-hair) !important; border-bottom: 1px solid var(--v5-hair) !important; }
body.md-v5 .md-section--spa .md-preservation-card { border-top: 1px solid var(--v5-line) !important; }
/* 위쪽 바로가기 칩 */
body.md-v5 .md-preservation-nav { background: var(--v5-bg) !important; border-bottom: 1px solid var(--v5-hair); }
body.md-v5 .md-preservation-nav a { border-radius: 0 !important; background: none !important; box-shadow: none !important; border: 0 !important; border-bottom: 1px solid transparent !important; color: var(--v5-sub) !important; font-weight: 400 !important; }
body.md-v5 .md-preservation-nav a:hover { border-bottom-color: var(--v5-bronze) !important; color: var(--v5-ink) !important; }
body.md-v5 .md-service-floor-badge { background: none !important; border: 1px solid var(--v5-line) !important; border-radius: 0 !important; color: var(--v5-sub) !important; }
/* 진료 단계 숫자 칸 · 교정 트랙 강조 */
body.md-v5 .md-track--featured { border-color: var(--v5-bronze) !important; }
body.md-v5 .md-content-figure img, body.md-v5 .md-page-content img { border-radius: 0 !important; box-shadow: none !important; }
body.md-v5 .md-content-figure { border-radius: 0 !important; box-shadow: none !important; border: 1px solid var(--v5-line); }

/* v5.9 · 상담 예약 · 지역 · 백과사전 페이지 */
/* 예약 버튼(전화 · 네이버 · 카카오) — 모든 페이지 같은 모양 (네이버만 브론즈) */
body.md-v5 .md-rcta__btn { border-radius: 2px !important; box-shadow: none !important; background: transparent !important; border: 1px solid var(--v5-ink) !important; color: var(--v5-ink) !important; }
body.md-v5 .md-rcta__btn.md-rcta__naver { background: var(--v5-bronze) !important; border-color: var(--v5-bronze) !important; color: #fff !important; }
body.md-v5 .md-rcta__btn:hover { filter: brightness(.95); transform: none !important; }
body.md-v5 .md-rcta__icon { display: none !important; }
body.md-v5 .md-cta-banner .md-rcta__btn { border-color: #F3EDE6 !important; color: #F3EDE6 !important; }
body.md-v5 .md-cta-banner .md-rcta__btn.md-rcta__naver { background: #D1A77E !important; border-color: #D1A77E !important; color: #22150D !important; }
/* 지도 버튼 3개 (지역 · 예전 오시는 길) */
body.md-v5 .md-mapbtn { border-radius: 0 !important; box-shadow: none !important; background: var(--v5-paper) !important; border: 1px solid var(--v5-line) !important; }
body.md-v5 .md-mapbtn:hover { border-color: var(--v5-ink) !important; transform: none !important; }
body.md-v5 .md-mapbtn__logo { background: none !important; color: var(--v5-bronze) !important; border: 1px solid var(--v5-line); border-radius: 50% !important; }
/* 진료시간 · 주차 · 경로 카드 */
body.md-v5 .md-hours, body.md-v5 .md-park, body.md-v5 .md-region-route, body.md-v5 .md-region-callout, body.md-v5 .md-info-pair > * {
  border-radius: 0 !important; box-shadow: none !important; background: var(--v5-paper) !important; background-image: none !important;
}
body.md-v5 .md-hours__badge, body.md-v5 .md-park__badge, body.md-v5 .md-region-route__icon { background: none !important; color: var(--v5-bronze) !important; border-radius: 0 !important; }
body.md-v5 .md-hours__off.is-today, body.md-v5 .md-hours li.is-today { background: none !important; color: var(--v5-bronze) !important; }
/* 백과사전 · 글 안 상담 상자 */
body.md-v5 .md-term-inline-cta { border-radius: 0 !important; box-shadow: none !important; background: var(--v5-paper) !important; background-image: none !important; border: 1px solid var(--v5-line) !important; border-left: 2px solid var(--v5-bronze) !important; }
body.md-v5 .md-term-inline-cta::before, body.md-v5 .md-term-inline-cta::after { display: none !important; }
body.md-v5 .md-term-inline-cta__title { font-family: var(--v5-serif) !important; font-weight: 400 !important; color: var(--v5-ink) !important; }
body.md-v5 .md-term-section-title__num { background: none !important; color: var(--v5-bronze) !important; border: 1px solid var(--v5-line); border-radius: 50% !important; }
body.md-v5 .md-term-related-service, body.md-v5 .md-term-faq__item { border-radius: 0 !important; box-shadow: none !important; }
body.md-v5 .md-term-hero__cat { border-radius: 0 !important; background: none !important; border: 1px solid var(--v5-line) !important; }
/* 자가진단 봇 */
body.md-v5 [class*="md-bot"] { border-radius: 0 !important; }
body.md-v5 .md-bot__panel, body.md-v5 .md-bot { box-shadow: none !important; border: 1px solid var(--v5-line) !important; }

/* v5.9 · 원장 상세 · 휴대폰에서 약력이 가운데 정렬 + 왼쪽 점으로 어긋나던 것 */
@media (max-width: 820px) {
  body.md-v5 .md-docsingle-card__body { text-align: left !important; }
  body.md-v5 .md-creds, body.md-v5 .md-creds__group, body.md-v5 .md-creds__list { text-align: left !important; }
  body.md-v5 .md-creds__list li { justify-content: flex-start !important; }
}
body.md-v5 .md-docsingle-card { border-radius: 0 !important; box-shadow: none !important; border: 1px solid var(--v5-line) !important; background: var(--v5-paper) !important; }
body.md-v5 .md-docsingle-card__role { background: none !important; border: 1px solid var(--v5-line) !important; border-radius: 0 !important; }
body.md-v5 .md-creds__title { font-family: var(--v5-label) !important; letter-spacing: .14em; color: var(--v5-mute) !important; font-weight: 500 !important; border-bottom: 1px solid var(--v5-line); padding-bottom: 6px; }
/* 교정 트랙 카드 (본문 안 링크 카드) — 한 덩어리 상자로 */
body.md-v5 .md-track-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 18px 0 8px; }
body.md-v5 .md-track { display: block !important; padding: 22px 22px 18px !important; color: var(--v5-ink) !important; text-decoration: none !important; }
body.md-v5 .md-track h4 { font-family: var(--v5-serif) !important; font-weight: 500 !important; font-size: 18px !important; margin: 6px 0 6px !important; }
body.md-v5 .md-track__badge { font-family: var(--v5-label); font-size: 11px; letter-spacing: .14em; color: var(--v5-bronze); border: 0 !important; }
body.md-v5 .md-track__more { display: inline-block; margin-top: 6px; color: var(--v5-bronze); border: 0 !important; font-size: 13.5px; }
@media (max-width: 700px) { body.md-v5 .md-track-grid { grid-template-columns: 1fr; } }
/* 원장 인터뷰 · 기타 남은 둥근 카드 */
body.md-v5 .md-main [class*="interview"], body.md-v5 .md-main [class*="-qa__item"], body.md-v5 .md-main [class*="__card"] { border-radius: 0 !important; box-shadow: none !important; }
body.md-v5 .md-main [class*="interview"] [class*="__q"], body.md-v5 .md-main [class*="interview"] hr { border-style: solid !important; }
/* 비용 안내 · 건강보험 비교 · 표 */
body.md-v5 .md-priceX-ins__col { border-radius: 0 !important; box-shadow: none !important; background: var(--v5-paper) !important; border: 1px solid var(--v5-line) !important; border-top: 2px solid var(--v5-bronze) !important; }
body.md-v5 .md-priceX-ins__col--no { border-top-color: var(--v5-line) !important; }
body.md-v5 .md-priceX-ins__badge { background: none !important; border: 1px solid var(--v5-line) !important; border-radius: 0 !important; color: var(--v5-sub) !important; }
body.md-v5 [class*="md-priceX"] [class*="__step"], body.md-v5 [class*="md-priceX"] [class*="__card"], body.md-v5 [class*="md-priceX"] [class*="__item"] { border-radius: 0 !important; box-shadow: none !important; }

/* v5.9.2 · 임플란트센터 「왜 문치과병원인가」 3칸 — 4칸 격자에 3개라 오른쪽이 비던 것 */
.v5-why.v5-impl__pillars { grid-template-columns: repeat(3, 1fr); border: 0; border-top: 1px solid var(--v5-ink); }
@media (max-width: 900px) { .v5-why.v5-impl__pillars { grid-template-columns: 1fr; } .v5-why.v5-impl__pillars > div, .v5-why.v5-impl__pillars > div + div { padding-left: 0; border-left: 0; margin-top: 0; } .v5-why.v5-impl__pillars > div + div { border-top: 1px solid var(--v5-line); } }

/* v5.9.2 · 점검 보완 — 태그 묶음 · 강조 문단 · 종합안내서 카드 */
body.md-v5 [class*="__tags"] { border: 0 !important; background: none !important; padding: 0 !important; }
body.md-v5 .md-single__tags a, body.md-v5 .md-single__tags span { border: 1px solid var(--v5-line) !important; background: none !important; border-radius: 0 !important; }
body.md-v5 .md-highlight { padding: 22px 24px !important; border-left: 2px solid var(--v5-bronze) !important; }
body.md-v5 .md-guide-cta { display: grid !important; grid-template-columns: 1fr auto !important; gap: 24px !important; align-items: center; background: var(--v5-paper) !important; background-image: none !important; border: 1px solid var(--v5-line) !important; border-left: 2px solid var(--v5-bronze) !important; padding: 28px 32px !important; overflow: hidden; }
body.md-v5 .md-guide-cta::before, body.md-v5 .md-guide-cta::after { display: none !important; }
body.md-v5 .md-guide-cta__icon { display: none !important; }
body.md-v5 .md-guide-cta__code { display: none !important; }
body.md-v5 .md-guide-cta__title { font-family: var(--v5-serif) !important; font-weight: 500 !important; color: var(--v5-ink) !important; }
body.md-v5 .md-guide-cta__read { color: var(--v5-bronze) !important; white-space: nowrap; }
@media (max-width: 700px) { body.md-v5 .md-guide-cta { grid-template-columns: 1fr !important; padding: 22px 20px !important; } }
body.md-v5 .md-apply-card [class*="__email"], body.md-v5 .md-apply-card [class*="mail"] { background-image: none !important; border-radius: 0 !important; }

/* ==========================================================================
   v6.0 · 원장 지시 · 색 시안 5 「크림 + 에스프레소」
   바탕은 크림, 인상을 주는 구역만 짙은 에스프레소로 번갈아
   ========================================================================== */
.v5-deep, body.md-v5 .md-footer {
  --v5-bg: #1C110A; --v5-paper: #1C110A; --v5-ink: #F1E7DA; --v5-sub: #C2AE9A; --v5-mute: #937F6D;
  --v5-line: rgba(241, 231, 218, .16); --v5-hair: rgba(241, 231, 218, .09); --v5-bronze: #D1A77E; --v5-bronze-ink: #1C110A;
  background: #1C110A !important; color: var(--v5-ink);
}
.v5-deep { border-color: #1C110A !important; }
.v5-deep h2, .v5-deep h3, .v5-deep figcaption, .v5-deep .v5-doc b { color: var(--v5-ink) !important; }
.v5-deep .v5-more { color: var(--v5-ink); border-color: var(--v5-ink); }
/* 홈 · 짙은 띠 */
.v5-creds.v5-deep li { color: var(--v5-sub); }
.v5-creds.v5-deep li::before { background: var(--v5-bronze); }
.v5-deep .v5-doc__ph { background: #F9F5F0; }
.v5-deep .v5-rail__ph { background: #2A1D14; }
/* 예약 띠 */
.v5-closing { background: #1C110A !important; }
.v5-closing .v5-btn--fill { background: #D1A77E !important; border-color: #D1A77E !important; color: #1C110A !important; }
/* 푸터 · 짙게 · 흰 로고 */
body.md-v5 .md-footer .md-v5-logo-light { display: none !important; }
body.md-v5 .md-footer .md-v5-logo-dark { display: block !important; }
body.md-v5 .md-footer .md-footer__legal-line { border-top-color: rgba(241, 231, 218, .16) !important; }
/* 진료 페이지 상담 띠 · 같은 에스프레소 */
body.md-v5 .md-cta-banner { background: #1C110A !important; }
/* 머리(헤더) 바탕 · 크림 */
body.md-v5 .md-site-header, body.md-v5 .md-header { background: color-mix(in srgb, #F3EDE6 94%, transparent) !important; }
/* 옅은 띠(소식 · 페이지 사이 구역) */
.v5-paper:not(.v5-deep) { background: #E9DFD3 !important; border-color: #E9DFD3 !important; }

/* v6.1 · 원장 지시 · 머리(메뉴 줄) — 아이보리 바탕 · 진한 글자 · 짙은 에스프레소 버튼 */
body.md-v5 .md-site-header, body.md-v5 .md-header { background: color-mix(in srgb, #F9F5F0 96%, transparent) !important; }
body.md-v5 .md-site-header { border-bottom: 1px solid #DCCFC2 !important; }
body.md-v5 .md-header__nav .md-nav > li > a,
body.md-v5 .md-header__nav .md-nav > li[class*="md-nav-center"] > a { color: #22150D !important; }
body.md-v5 .md-header__nav .md-nav > li > a:hover { color: #7A4F35 !important; }
body.md-v5 .md-header__cta-btn, body.md-v5 .md-header__cta-btn--cycle {
  --cta-bg: #1C110A; --cta-fg: #F1E7DA;
  background: #1C110A !important; border-color: #1C110A !important; color: #F1E7DA !important;
}
body.md-v5 .md-header__cta-btn:hover { background: #3A2A1E !important; border-color: #3A2A1E !important; filter: none !important; }

/* v6.6 · 다크 모드 — 밝게 고정한 곳들을 어둡게 (머리 · 옅은 띠 · 짙은 띠 구분) */
@media (prefers-color-scheme: dark) {
  body.md-v5 .md-site-header, body.md-v5 .md-header { background: color-mix(in srgb, #150D08 94%, transparent) !important; }
  body.md-v5 .md-site-header { border-bottom-color: #3A2A1E !important; }
  body.md-v5 .md-header__nav .md-nav > li > a,
  body.md-v5 .md-header__nav .md-nav > li[class*="md-nav-center"] > a { color: #E6D9C8 !important; }
  body.md-v5 .md-header__nav .md-nav > li > a:hover { color: #D1A77E !important; }
  body.md-v5 .md-header__cta-btn, body.md-v5 .md-header__cta-btn--cycle { background: #D1A77E !important; border-color: #D1A77E !important; color: #150D08 !important; }
  body.md-v5 .md-header__cta-btn:hover { background: #E0BC97 !important; border-color: #E0BC97 !important; }
  .v5-paper:not(.v5-deep) { background: #22170F !important; border-color: #22170F !important; }
  .v5-deep, body.md-v5 .md-footer, .v5-closing, body.md-v5 .md-cta-banner { background: #0C0704 !important; }
  .v5-deep .v5-doc__ph { background: #F1E7DA; }
}

/* v6.7 · 교정 · 심미 · 자연치아보존 기승전결 */
.v5-impl__dots--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.v5-ortho-track { display: block; padding: 28px 28px 24px; background: var(--v5-bg); border: 1px solid var(--v5-line); color: var(--v5-ink); text-decoration: none; transition: border-color .2s; }
.v5-ortho-track:hover { border-color: var(--v5-bronze); }
.v5-ortho-track h3 { font-family: var(--v5-serif) !important; font-weight: 400 !important; font-size: 24px !important; margin: 8px 0 10px; color: var(--v5-ink); }
.v5-ortho-track > p { margin: 0 0 14px; color: var(--v5-sub); font-size: 15px; line-height: 1.8; }
.v5-ortho-track .v5-more { margin-top: 18px; }
.v5-impl .v5-impl__twocol { margin-bottom: 24px; }
.v5-impl__flow--5 { grid-template-columns: repeat(5, 1fr); margin-bottom: 0; }
.v5-impl__flow a { color: inherit; text-decoration: none; display: block; }
.v5-impl__flow a:hover b { color: var(--v5-bronze); }
.v5-esth__list > div { scroll-margin-top: 100px; }
.v5-impl [id] { scroll-margin-top: 90px; }
@media (max-width: 1000px) { .v5-impl__flow--5 { grid-template-columns: 1fr 1fr; } .v5-impl__flow--5 li:nth-child(odd) { padding-left: 0; border-left: 0; } .v5-impl__flow--5 li:nth-child(n+3) { border-top: 1px solid var(--v5-line); } }
@media (max-width: 700px) { .v5-impl__dots--2 { grid-template-columns: 1fr; } .v5-impl__flow--5 { grid-template-columns: 1fr; } .v5-impl__flow--5 li { padding-left: 0 !important; border-left: 0 !important; } .v5-ortho-track { padding: 22px 20px; } }
@media (min-width: 1001px) { .v5-impl ol.v5-impl__flow.v5-impl__flow--5 { grid-template-columns: repeat(5, 1fr); } }

/* v6.9 · 아이콘 · 가는 선으로 통일 (예전 굵은 선 규칙 덮어쓰기) */
body.md-v5 .md-svg-icon svg { stroke-width: 1.3 !important; }
body.md-v5 .md-page-hero__icon .md-svg-icon svg { width: 56px !important; height: 56px !important; stroke-width: 1.15 !important; }
body.md-v5 .md-page-hero__icon .md-svg-icon { color: var(--v5-bronze) !important; }
body.md-v5 .md-region-pill__icon .md-svg-icon svg { stroke-width: 1.6 !important; }
