.region-detail-page { background: #f8fbff; }
.region-detail-page .site-header { background: rgba(35, 96, 151, .96); }
.region-detail-page.article-page:has(.reference-article) > main > article { position: relative; }

.region-hero { padding: 48px max(6vw,calc((100vw - 1240px) / 2)) 0; color: var(--ink); background: radial-gradient(circle at 88% 15%,rgba(103,183,247,.22),transparent 28%),linear-gradient(145deg, #f8fcff 0%, #e5f3ff 62%, #cce8ff 100%); }
.region-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 34px; color: var(--muted); font-size: 12px; }
.region-breadcrumb a { border-bottom: 1px solid rgba(38,121,191,.25); }
.region-hero h1 { max-width: 760px; margin: 0; font-size: clamp(34px,3.2vw,40px); line-height: 1.16; letter-spacing: -.04em; text-wrap: balance; }
.region-hero h1 em { color: var(--coral-dark); font-style: normal; }
.region-lead { max-width: 760px; margin: 18px 0 34px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.clinic-subtitle { max-width: 720px; margin: 8px 0 18px; color: var(--blue); font-size: 16px; font-weight: 700; }
.clinic-entity-page .region-hero .section-label { overflow-wrap: anywhere; }
/* HIRA ykiho is an internal identifier: keep it available in source data but
   present a human-readable label in the page header. */
.clinic-entity-page .region-hero > .section-label { font-size: 0; }
.clinic-entity-page .region-hero > .section-label::after {
  content: "HIRA 공개기관 근거";
  display: inline-block;
  font-size: 10px;
  letter-spacing: .14em;
  color: #2f83d5;
}

@media (max-width: 720px) {
  .bupyeong-editorial-page #dv-difference .dv-table-wrap,
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-wrap,
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-wrap,
  .bupyeong-editorial-page.price-editorial-page #price-source-audit .dv-table-wrap {
    overflow: visible;
  }

  .bupyeong-editorial-page #dv-difference .dv-difference-table,
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table,
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table {
    display: block;
    width: 100%;
    min-width: 0 !important;
    table-layout: auto !important;
    border: 0;
    background: transparent;
  }

  .bupyeong-editorial-page #dv-difference thead,
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table thead,
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .bupyeong-editorial-page #dv-difference caption,
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table caption,
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table caption {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    color: #657a90;
    white-space: normal;
    text-align: left;
  }

  .bupyeong-editorial-page #dv-difference tbody,
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table tbody,
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table tbody {
    display: grid;
    gap: 12px;
    width: 100%;
  }

  .bupyeong-editorial-page #dv-difference tr,
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table tr,
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table tr {
    display: block;
    overflow: hidden;
    border: 1px solid #d7e5f3;
    border-radius: 14px;
    background: #fff;
  }

  .bupyeong-editorial-page #dv-difference th,
  .bupyeong-editorial-page #dv-difference td,
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table th,
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table td,
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table th,
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table td {
    display: block;
    width: auto !important;
    padding: 11px 13px;
    border: 0;
    border-top: 1px solid #e4edf6;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: keep-all;
  }

  .bupyeong-editorial-page #dv-difference th,
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table th,
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table th {
    border-top: 0;
    color: #174f87;
    background: #f1f7fd;
    font-size: 14px;
  }

  .bupyeong-editorial-page #dv-difference td::before,
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table td::before,
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table td::before {
    display: block;
    margin-bottom: 4px;
    color: #2b78b8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
  }

  .bupyeong-editorial-page #dv-difference td:nth-of-type(1)::before { content: "전문의 구성"; }
  .bupyeong-editorial-page #dv-difference td:nth-of-type(2)::before { content: "시술 방식"; }
  .bupyeong-editorial-page #dv-difference td:nth-of-type(3)::before { content: "저녁과 주말 진료"; }
  .bupyeong-editorial-page #dv-difference td:nth-of-type(4)::before { content: "특징"; }
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table td:nth-of-type(1)::before { content: "임플란트 공개 금액"; }
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table td:nth-of-type(2)::before { content: "공식 출처"; }
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table.dv-cheapest-table td:nth-of-type(1)::before { content: "가장 저렴한 곳"; }
  .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table.dv-cheapest-table td:nth-of-type(2)::before { content: "다음으로 저렴한 곳"; }
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table td:nth-of-type(1)::before { content: "공개 상태와 금액"; }
  .bupyeong-editorial-page.price-editorial-page .dv-price-category-table td:nth-of-type(2)::before { content: "출처와 확인일"; }
  .bupyeong-editorial-page.price-editorial-page .dv-price-source-audit-table td:nth-of-type(1)::before { content: "공식 홈페이지"; }
  .bupyeong-editorial-page.price-editorial-page .dv-price-source-audit-table td:nth-of-type(2)::before { content: "채택한 숫자 출처"; }
  .bupyeong-editorial-page.price-editorial-page .dv-price-source-audit-table td:nth-of-type(3)::before { content: "기관 대조"; }
  html[lang="en"] .bupyeong-editorial-page #dv-difference td:nth-of-type(1)::before { content: "Specialist team"; }
  html[lang="en"] .bupyeong-editorial-page #dv-difference td:nth-of-type(2)::before { content: "Treatment approach"; }
  html[lang="en"] .bupyeong-editorial-page #dv-difference td:nth-of-type(3)::before { content: "Evening and weekend care"; }
  html[lang="en"] .bupyeong-editorial-page #dv-difference td:nth-of-type(4)::before { content: "Feature"; }
  html[lang="en"] .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table.dv-cheapest-table td:nth-of-type(1)::before { content: "Lowest published amount"; }
  html[lang="en"] .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table.dv-cheapest-table td:nth-of-type(2)::before { content: "Next-lowest amount"; }
  html[lang="en"] .bupyeong-editorial-page.price-editorial-page .dv-price-category-table td:nth-of-type(1)::before { content: "Published amount and scope"; }
  html[lang="en"] .bupyeong-editorial-page.price-editorial-page .dv-price-category-table td:nth-of-type(2)::before { content: "Source and checked date"; }
  html[lang="ja"] .bupyeong-editorial-page #dv-difference td:nth-of-type(1)::before { content: "専門医構成"; }
  html[lang="ja"] .bupyeong-editorial-page #dv-difference td:nth-of-type(2)::before { content: "治療方式"; }
  html[lang="ja"] .bupyeong-editorial-page #dv-difference td:nth-of-type(3)::before { content: "夜間・週末診療"; }
  html[lang="ja"] .bupyeong-editorial-page #dv-difference td:nth-of-type(4)::before { content: "特徴"; }
  html[lang="ja"] .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table.dv-cheapest-table td:nth-of-type(1)::before { content: "最も低い公開金額"; }
  html[lang="ja"] .bupyeong-editorial-page.price-editorial-page .dv-price-summary-table.dv-cheapest-table td:nth-of-type(2)::before { content: "次に低い公開金額"; }
  html[lang="ja"] .bupyeong-editorial-page.price-editorial-page .dv-price-category-table td:nth-of-type(1)::before { content: "公開金額と範囲"; }
  html[lang="ja"] .bupyeong-editorial-page.price-editorial-page .dv-price-category-table td:nth-of-type(2)::before { content: "出典と確認日"; }
  .bupyeong-editorial-page.price-editorial-page .dv-category-price-list strong { display: inline-block; margin-right: 4px; }
}
.clinic-introduction { max-width: 1120px; margin: 0 auto; padding: 76px 24px; }
.clinic-intro-panel { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); gap: 28px; margin-top: 28px; padding: 34px; border: 1px solid rgba(36, 111, 238, .18); border-radius: 22px; background: linear-gradient(135deg, #fff 0%, #f4f8ff 58%, #eaf3ff 100%); box-shadow: 0 18px 50px rgba(29, 78, 150, .08); }
.clinic-intro-copy { max-width: 720px; }
.clinic-intro-copy p { margin: 0 0 14px; color: var(--ink); font-size: 16px; line-height: 1.9; }
.clinic-intro-copy p:last-child { margin-bottom: 0; }
.clinic-identity-list { display: grid; align-content: start; margin: 0; border-top: 1px solid rgba(36, 111, 238, .18); }
.clinic-identity-list div { display: grid; grid-template-columns: 112px 1fr; gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(36, 111, 238, .14); }
.clinic-identity-list dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.clinic-identity-list dd { margin: 0; color: var(--ink); font-size: 13px; font-weight: 600; line-height: 1.6; }
.region-stat-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid rgba(38,121,191,.16); border-bottom: 0; border-radius: 18px 18px 0 0; overflow: hidden; background: rgba(255,255,255,.78); backdrop-filter: blur(12px); }
.region-stat-row div { display: flex; min-width: 0; min-height: 108px; flex-direction: column; justify-content: center; padding: 19px 22px; border-right: 1px solid var(--line); }
.region-stat-row div:last-child { border-right: 0; }
.region-stat-row strong { color: #173b5c; font: 700 21px/1.25 "Pretendard Variable", Pretendard, "Noto Sans KR", sans-serif; overflow-wrap: anywhere; }
.region-stat-row span { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }

.region-standard, .region-ranking, .region-source { padding: 78px max(6vw,calc((100vw - 1240px) / 2)); }
.region-section-head { max-width: 780px; }
.region-section-head h2 { margin: 0; font-size: clamp(32px,3.8vw,50px); line-height: 1.12; letter-spacing: -.048em; text-wrap: balance; }
.region-section-head > p:last-child { max-width: 720px; margin: 22px 0 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.region-standard { background: #fff; }
.region-standard-grid { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 50px; border-top: 1px solid var(--ink); }
.region-standard-grid article { min-height: 210px; padding: 24px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.region-standard-grid article:first-child { border-left: 1px solid var(--line); }
.region-standard-grid span { color: var(--coral-dark); font: 600 11px "IBM Plex Mono", monospace; }
.region-standard-grid h3 { margin: 35px 0 11px; font-size: 18px; }
.region-standard-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }

.region-ranking { display: grid; grid-template-columns: minmax(270px, .48fr) minmax(690px, 1.52fr); gap: 5vw; background: linear-gradient(180deg, #ecf6ff 0%, #f9fcff 100%); }
.ranking-copy { position: sticky; top: 104px; align-self: start; }
.region-clinic-list { display: grid; gap: 16px; }
.evidence-clinic { display: grid; grid-template-columns: 70px minmax(350px, 1.12fr) minmax(250px, .88fr); gap: 22px; padding: 28px; background: #fff; border: 1px solid rgba(38,121,191,.15); border-radius: 18px; box-shadow: 0 18px 46px rgba(50,105,158,.08); }
.clinic-rank { display: flex; flex-direction: column; justify-content: space-between; padding-right: 18px; border-right: 1px solid var(--line); }
.clinic-rank > span { color: var(--coral-dark); font: 600 12px "IBM Plex Mono", monospace; }
.clinic-rank strong { color: var(--coral-dark); font: 600 30px "IBM Plex Mono", monospace; }
.clinic-rank small { font-size: 11px; }
.clinic-eyebrow { margin: 0 0 7px; color: var(--coral-dark); font: 500 10px "IBM Plex Mono", monospace; }
.clinic-main h3 { margin: 0; font-size: 25px; letter-spacing: -.045em; }
.clinic-address { margin: 7px 0 18px; color: var(--muted); font-size: 12px; }
.clinic-score-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.clinic-score-row span { display: flex; min-height: 70px; flex-direction: column; justify-content: center; padding: 9px; color: #15598f; background: #e3f2ff; border-radius: 8px; text-align: center; }
.clinic-score-row span.unverified { color: #8798aa; background: #f0f3f6; }
.clinic-score-row b { font: 600 18px "IBM Plex Mono", monospace; }
.clinic-score-row small { margin-top: 5px; font-size: 9px; line-height: 1.3; }
.clinic-evidence { padding-left: 22px; border-left: 1px solid var(--line); }
.clinic-evidence h4 { margin: 1px 0 13px; font-size: 12px; }
.clinic-evidence ul { display: grid; gap: 8px; margin: 0; padding: 0; color: var(--muted); font-size: 11px; list-style: none; }
.clinic-evidence li::before { content: "·"; margin-right: 7px; color: var(--coral-dark); }

.region-source { background: #fff; }
.source-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 48px; }
.source-grid article { display: flex; min-height: 270px; flex-direction: column; padding: 28px; background: #f6faff; border: 1px solid var(--line); border-radius: 16px; }
.source-grid span { color: var(--coral-dark); font: 600 11px "IBM Plex Mono", monospace; }
.source-grid h3 { margin: 35px 0 10px; font-size: 20px; }
.source-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.source-grid a { align-self: start; margin-top: auto; color: var(--coral-dark); border-bottom: 1px solid rgba(38,121,191,.28); font-size: 12px; }

.region-notice { padding: 68px max(6vw,calc((100vw - 1240px) / 2)); color: #fff; background: radial-gradient(circle at 88% 10%,rgba(255,255,255,.18),transparent 28%),linear-gradient(125deg, #256ca7 0%, #66a9df 100%); }
.region-notice .section-label { color: #e6f5ff; }
.region-notice h2 { max-width: 840px; margin: 0; font-size: clamp(34px,4vw,52px); line-height: 1.09; letter-spacing: -.05em; }
.region-notice > div { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 44px; border-top: 1px solid rgba(255,255,255,.38); }
.region-notice > div p { margin: 0; padding: 22px 22px 0 0; color: rgba(255,255,255,.82); border-right: 1px solid rgba(255,255,255,.18); font-size: 12px; line-height: 1.7; }
.region-notice > div p:not(:first-child) { padding-left: 22px; }

.article-intro { display: grid; grid-template-columns: 120px minmax(0, 820px); gap: 4vw; justify-content: center; padding: 74px max(6vw,calc((100vw - 1180px) / 2)); background: #fff; }
.article-intro-label { display: flex; flex-direction: column; color: var(--coral-dark); font: 500 11px "IBM Plex Mono", monospace; }
.article-intro-label strong { margin-top: auto; font-size: 36px; }
.article-intro-copy h2 { margin: 0 0 24px; font-size: clamp(32px,3.8vw,50px); line-height: 1.12; letter-spacing: -.048em; }
.article-intro-copy p { margin: 0 0 18px; color: var(--muted); font-size: 15px; line-height: 1.9; }
.article-standard { background: #f9fcff; }
.rank-overview { padding: 76px max(6vw,calc((100vw - 1240px) / 2)); background: #fff; }
.overview-scroll { max-width: 1120px; margin: 42px auto 0; overflow-x: auto; border: 1px solid rgba(38,121,191,.16); border-radius: 18px; box-shadow: 0 18px 45px rgba(50,105,158,.07); }
.overview-table { width: 100%; min-width: 840px; border-collapse: collapse; background: #fff; }
.overview-table th { padding: 17px 14px; color: #647b90; background: #f2f8ff; border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 600; text-align: center; }
.overview-table th:nth-child(2) { text-align: left; }
.overview-table td { padding: 18px 14px; border-bottom: 1px solid var(--line); text-align: center; }
.overview-table tbody tr:last-child td { border-bottom: 0; }
.overview-table td:first-child > b { display: inline-grid; width: 30px; height: 30px; place-items: center; color: #fff; background: #2f86d5; border-radius: 50%; font: 600 12px "IBM Plex Mono", monospace; }
.overview-table td:nth-child(2) { min-width: 300px; text-align: left; }
.overview-table td:nth-child(2) strong { display: block; font-size: 15px; }
.overview-table td:nth-child(2) small { display: block; margin-top: 6px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.overview-point { display: inline-flex; width: 42px; height: 34px; align-items: baseline; justify-content: center; padding-top: 8px; color: #1662a3; background: #dceeff; border-radius: 7px; font: 600 13px "IBM Plex Mono", monospace; }
.overview-point.p1 { color: #4d789d; background: #edf6ff; }
.overview-point.p0 { color: #8a9bac; background: #f0f3f6; }
.overview-point small { margin-left: 1px; font-size: 8px; }
.overview-total { color: #2679bf; font: 600 23px "IBM Plex Mono", monospace; }
.overview-total small { font-size: 10px; }
.overview-reason { min-width: 250px; color: #315d80; font-size: 11px; line-height: 1.65; }
.recommendation-section { display: grid; grid-template-columns: minmax(260px, .45fr) minmax(680px, 1.55fr); gap: 4vw; padding: 82px max(6vw,calc((100vw - 1240px) / 2)); background: linear-gradient(180deg, #eaf5ff 0%, #f8fbff 100%); }
.recommendation-section > .region-section-head { position: sticky; top: 105px; align-self: start; }
.recommendation-list { display: grid; gap: 20px; max-width: 1120px; margin-inline: auto; }
.recommendation-card { position: relative; overflow: hidden; background: linear-gradient(160deg,#fff 68%,#f6fbff); border: 1px solid rgba(38,121,191,.17); border-radius: 20px; box-shadow: 0 18px 48px rgba(50,105,158,.08); transition: transform .2s ease,box-shadow .2s ease; }
.recommendation-card::before { position: absolute; z-index: 2; inset: 0 auto 0 0; width: 3px; background: linear-gradient(#2679bf,#84caff); content: ""; }
.recommendation-card:hover { box-shadow: 0 24px 56px rgba(50,105,158,.14); transform: translateY(-2px); }
.recommendation-card.is-first { border-color: rgba(38,121,191,.38); box-shadow: 0 22px 60px rgba(38,121,191,.16); }
.recommendation-card > header { display: grid; grid-template-columns: 82px 1fr; gap: 22px; padding: 28px; border-bottom: 1px solid var(--line); }
.recommendation-rank { display: flex; flex-direction: column; justify-content: space-between; min-height: 100px; padding-right: 18px; color: var(--coral-dark); border-right: 1px solid var(--line); font-family: "IBM Plex Mono", monospace; }
.recommendation-rank span { font-size: 11px; }
.recommendation-rank b { font-size: 32px; }
.recommendation-rank small { font-size: 11px; }
.recommendation-card > header p { margin: 0 0 7px; color: var(--coral-dark); font: 500 10px "IBM Plex Mono", monospace; }
.recommendation-card h3 { margin: 0; font-size: 29px; letter-spacing: -.045em; }
.recommendation-card h3 a { color: inherit; text-decoration: none; }
.recommendation-card h3 a:hover { color: var(--coral-dark); }
.recommendation-card address { margin-top: 7px; color: var(--muted); font-size: 12px; font-style: normal; }
.recommendation-card .recommendation-summary { display: flex; flex-wrap: wrap; gap: 7px 11px; align-items: baseline; margin: 15px 0 0; padding: 11px 14px; color: #244c6e; background: #edf6ff; border: 1px solid rgba(38,121,191,.14); border-radius: 10px; font: inherit; line-height: 1.55; }
.recommendation-summary strong { flex: 0 0 auto; color: #1469ae; font-size: 11px; }
.recommendation-summary span { min-width: 0; font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.recommendation-body { display: grid; grid-template-columns: 1fr 330px; gap: 28px; padding: 28px; }
.recommendation-copy h4, .recommendation-data h4 { margin: 0 0 11px; font-size: 14px; }
.recommendation-copy > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.clinic-card-intro { margin-bottom: 24px; padding: 20px 21px; background: linear-gradient(135deg,#f7fbff,#edf6ff); border-left: 3px solid #3d91d5; border-radius: 0 12px 12px 0; }
.clinic-card-intro span { color: #1769aa; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.clinic-card-intro p { margin: 9px 0 0; color: #294e6d; font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
.reason-list { display: grid; gap: 9px; margin: 0; padding-left: 20px; color: var(--muted); font-size: 12px; line-height: 1.75; }
.reason-list li::marker { color: #2679bf; font: 600 10px "IBM Plex Mono", monospace; }
.review-reading { margin-top: 22px; padding: 18px; background: #f1f8ff; border-radius: 12px; }
.review-reading > strong { color: var(--coral-dark); font-size: 12px; }
.review-reading > p { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.platform-evidence-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; margin-top: 15px; }
.platform-evidence { display: flex; min-width: 0; min-height: 188px; flex-direction: column; padding: 14px; background: #fff; border: 1px solid rgba(38,121,191,.16); border-radius: 10px; box-shadow: 0 8px 22px rgba(38,121,191,.05); }
.platform-evidence .platform-label { font: 600 8px "IBM Plex Mono",monospace; letter-spacing: .08em; }
.platform-evidence-naver .platform-label { color: #08a35d; }
.platform-evidence-kakao .platform-label { color: #b58b00; }
.platform-evidence-google .platform-label { color: #2d6edb; }
.platform-evidence strong { margin-top: 8px; color: #183c5b; font-size: 13px; }
.platform-evidence b { margin-top: 14px; color: #1769aa; font: 600 13px "IBM Plex Mono",monospace; line-height: 1.45; }
.platform-evidence p { margin: 7px 0 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.platform-evidence .platform-link { align-self: start; margin-top: auto; padding-top: 12px; color: #1769aa; border-bottom: 1px solid rgba(38,121,191,.25); font-size: 9px; }
.platform-evidence .platform-link.is-disabled { color: #8b9bab; border-bottom: 0; }
.platform-evidence small { margin-top: 8px; color: var(--muted); font-size: 8px; line-height: 1.5; }
.platform-evidence.is-pending { background: #f9fbfd; border-color: rgba(112,134,154,.2); }
.platform-naver { border-top: 3px solid #03c75a; }
.platform-naver .platform-label,.platform-naver b,.platform-naver .platform-link { color: #02a94a; }
.platform-kakao { border-top: 3px solid #f4cf00; }
.platform-kakao .platform-label { color: #8b7100; }
.platform-google { border-top: 3px solid #4285f4; }
.recommendation-data { padding-left: 27px; border-left: 1px solid var(--line); }
.article-score-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; }
.article-score-grid span { display: flex; min-height: 76px; flex-direction: column; justify-content: center; padding: 7px; color: #15598f; background: #e3f2ff; border-radius: 8px; text-align: center; }
.article-score-grid span.zero { color: #8798aa; background: #f0f3f6; }
.article-score-grid b { font: 600 18px "IBM Plex Mono", monospace; }
.article-score-grid small { margin-top: 5px; font-size: 8px; line-height: 1.25; }
.recommendation-data ul { display: grid; gap: 7px; margin: 18px 0; padding: 0; color: var(--muted); font-size: 11px; list-style: none; }
.recommendation-data li::before { content: "·"; margin-right: 7px; color: var(--coral-dark); }
.source-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.source-actions a { padding: 7px 9px; color: var(--coral-dark); background: #f5faff; border: 1px solid rgba(38,121,191,.18); border-radius: 6px; font-size: 10px; }
.review-compare { padding: 78px max(6vw,calc((100vw - 1240px) / 2)); background: linear-gradient(145deg, #f8fcff 0%, #e8f5ff 100%); }
.review-channel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 44px; }
.review-channel-grid article { display: flex; min-width: 0; min-height: 240px; flex-direction: column; padding: 28px; background: rgba(255,255,255,.9); border: 1px solid rgba(38,121,191,.16); border-radius: 18px; box-shadow: 0 16px 42px rgba(50,105,158,.06); }
.review-channel-grid article > span { color: #2679bf; font: 600 11px "IBM Plex Mono", monospace; letter-spacing: .08em; }
.review-channel-grid strong { margin-top: 36px; font-size: 20px; }
.review-channel-grid p { margin: 12px 0 24px; overflow-wrap: anywhere; color: var(--muted); font-size: 12px; line-height: 1.75; }
.review-channel-grid em { margin-top: auto; color: #4b769c; font-size: 11px; font-style: normal; }
.review-rule { display: grid; grid-template-columns: 220px 1fr; gap: 28px; margin-top: 16px; padding: 24px 28px; color: #fff; background: #347db9; border-radius: 16px; }
.review-rule b { font-size: 15px; }
.review-rule p { margin: 0; color: rgba(255,255,255,.82); font-size: 12px; line-height: 1.75; }
.registry-section { padding: 78px max(6vw,calc((100vw - 1240px) / 2)); background: #fff; }
.registry-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.registry-heading > div:first-child { max-width: 780px; }
.registry-heading h2 { margin: 0; font-size: clamp(32px,3.8vw,50px); line-height: 1.12; letter-spacing: -.048em; }
.registry-heading p:last-child { max-width: 680px; margin: 22px 0 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.registry-counter { min-width: 150px; padding: 18px 20px; background: #edf7ff; border: 1px solid rgba(38,121,191,.16); border-radius: 14px; text-align: right; }
.registry-counter strong { color: #2679bf; font: 600 31px "IBM Plex Mono", monospace; }
.registry-counter span { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.registry-toolbar { display: grid; grid-template-columns: 130px minmax(250px, 560px) 1fr; gap: 14px; align-items: center; margin-top: 42px; padding: 15px; background: #f3f8fd; border-radius: 14px; }
.registry-toolbar label { padding-left: 6px; font-size: 12px; font-weight: 700; }
.registry-toolbar input { width: 100%; padding: 13px 15px; color: var(--ink); background: #fff; border: 1px solid rgba(38,121,191,.2); border-radius: 9px; font: inherit; font-size: 13px; outline: none; }
.registry-toolbar input:focus { border-color: #4b9bdd; box-shadow: 0 0 0 3px rgba(75,155,221,.12); }
.registry-toolbar p { margin: 0; color: var(--muted); font-size: 10px; text-align: right; }
.registry-table-wrap { max-width: 1120px; margin: 16px auto 0; overflow: auto; border: 1px solid var(--line); border-radius: 16px; }
.registry-table { width: 100%; min-width: 1050px; border-collapse: collapse; background: #fff; }
.registry-table th { position: sticky; top: 0; z-index: 1; padding: 14px 16px; color: #667f96; background: #edf6ff; border-bottom: 1px solid var(--line); font-size: 10px; text-align: left; }
.registry-table td { padding: 15px 16px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 11px; vertical-align: middle; }
.registry-table tr:last-child td { border-bottom: 0; }
.registry-table td:first-child { color: #2679bf; font: 600 11px "IBM Plex Mono", monospace; }
.registry-table td:nth-child(2) { min-width: 92px; }
.registry-table td:nth-child(3) { min-width: 220px; }
.registry-table td:nth-child(4) { min-width: 350px; }
.registry-rank-link { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 999px; color: #1769aa; background: #e8f4ff; font-size: 10px; font-weight: 700; white-space: nowrap; }
.registry-rank-none { color: #9aabba; font-size: 13px; }
.registry-table td strong, .registry-table td > span { display: block; color: var(--ink); }
.registry-table td small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; }
.registry-table td > b { color: #2679bf; font: 600 17px "IBM Plex Mono", monospace; }
.registry-review-state { display: flex; flex-wrap: wrap; gap: 4px; min-width: 280px; }
.registry-review-state span { padding: 5px 7px; color: #70869a; background: #f0f4f7; border-radius: 5px; font-size: 8px; }
.registry-links { display: flex; gap: 5px; margin-top: 7px; }
.registry-links a { display: grid; width: 22px; height: 22px; place-items: center; color: #2679bf; background: #e7f3ff; border-radius: 5px; font: 600 9px "IBM Plex Mono", monospace; }
.registry-empty { margin: 22px 0 0; padding: 28px; color: var(--muted); background: #f5f8fb; border-radius: 12px; text-align: center; }

.hospital-finder-page { background: linear-gradient(180deg,#f1f8ff 0,#fff 42%); }
.hospital-finder-page main { max-width: 1240px; margin: 0 auto; }
.hospital-finder-page .region-hero { padding-right: 42px; padding-left: 42px; }
.hospital-finder-page .publication-notice { margin: 28px 42px 0; border: 1px solid rgba(38,121,191,.13); border-radius: 20px; box-shadow: 0 14px 38px rgba(35,96,151,.07); }
.hospital-finder-page .registry-section { margin-top: 28px; padding: 56px 42px 78px; background: rgba(255,255,255,.78); border-top: 1px solid rgba(38,121,191,.1); }
.finder-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-width: 1120px; margin: 28px auto 0; padding: 0; list-style: none; }
.finder-result { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 14px; align-items: center; min-height: 118px; padding: 18px 20px; background: linear-gradient(145deg,#fff,#f5faff); border: 1px solid #dcebf6; border-radius: 15px; box-shadow: 0 8px 22px rgba(35,96,151,.05); transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.finder-result:hover { border-color: #8dbce0; box-shadow: 0 14px 30px rgba(35,96,151,.11); transform: translateY(-2px); }
.finder-index { display: grid; width: 34px; height: 34px; place-items: center; color: #2376b8; background: #e6f3ff; border-radius: 10px; font: 600 11px "IBM Plex Mono",monospace; }
.finder-result h3 { margin: 0; color: #143a5d; font-size: 15px; letter-spacing: -.02em; }
.finder-result p { margin: 7px 0 0; color: #58748b; font-size: 11px; line-height: 1.55; }
.finder-result small { display: block; margin-top: 8px; color: #8a9eae; font-size: 9px; }
.finder-links { display: flex; flex-direction: column; gap: 6px; }
.finder-links a { min-width: 50px; padding: 7px 8px; color: #2477b8; background: #eaf5ff; border: 1px solid #d7eafa; border-radius: 7px; font: 600 9px "IBM Plex Mono",monospace; text-align: center; }
.finder-links a:hover { color: #fff; background: #2679bf; }
@media (max-width: 760px) {
  .hospital-finder-page .region-hero { padding-right: 22px; padding-left: 22px; }
  .hospital-finder-page .publication-notice { margin: 18px 18px 0; }
  .hospital-finder-page .registry-section { padding: 48px 18px 64px; }
  .finder-results { grid-template-columns: 1fr; gap: 10px; }
  .finder-result { grid-template-columns: 36px minmax(0,1fr); padding: 16px; }
  .finder-links { grid-column: 2; flex-direction: row; }
}

/* Gangnam Station editorial TOP5 article. Scoped to avoid changing other routes. */
.gangnam-editorial-page main {
  background:
    radial-gradient(circle at 8% 9%, rgba(63, 145, 232, .13), transparent 26rem),
    radial-gradient(circle at 94% 36%, rgba(82, 174, 240, .09), transparent 30rem),
    linear-gradient(180deg, #fff 0%, #f8fbff 44%, #fff 100%);
}
.dv-editorial {
  --dv-ink: #20324b;
  --dv-muted: #56677d;
  --dv-blue: #2565ab;
  --dv-line: #dfe7ef;
  width: min(1600px, calc(100% - 32px));
  max-width: 1600px;
  margin: 0 auto;
  padding: 40px 28px 52px;
  color: var(--dv-ink);
  background: transparent;
  font-family: "Pretendard Variable", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  font-size: 19px;
  line-height: 1.85;
  letter-spacing: -.025em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.dv-editorial *, .dv-editorial *::before, .dv-editorial *::after { box-sizing: border-box; }
.dv-editorial p, .dv-editorial ul, .dv-editorial ol { margin: 0 0 14px; }
.dv-editorial a { color: var(--dv-blue); text-underline-offset: 4px; text-decoration-thickness: 1px; }
.dv-editorial a:hover { color: #123e76; }
.dv-editorial a:focus-visible, .dv-editorial summary:focus-visible { outline: 3px solid #8cc6ff; outline-offset: 4px; }
.dv-editorial strong { color: #182c47; font-weight: 700; }
.dv-editorial .dv-article-header { margin-bottom: 26px; padding: 0 0 24px; border-bottom: 1px solid var(--dv-line); background: linear-gradient(125deg, #fff 40%, #f2f8ff 100%); }
.dv-editorial .dv-kicker { margin: 0 0 10px; color: var(--dv-blue); font-size: 14px; font-weight: 700; letter-spacing: .025em; }
.dv-editorial h1 { max-width: 1020px; margin: 0 0 18px; font-size: clamp(29px, 3.3vw, 42px); font-weight: 750; line-height: 1.4; letter-spacing: -.045em; }
.dv-editorial .dv-deck { max-width: 960px; margin: 0 0 12px; color: #445974; font-size: 18px; line-height: 1.75; }
.dv-editorial .dv-meta { margin: 0; color: var(--dv-muted); font-size: 14px; }
.dv-editorial .dv-hero-image { margin: 0 0 28px; overflow: hidden; border: 1px solid var(--dv-line); border-radius: 18px; background: #edf6ff; box-shadow: 0 16px 38px rgba(38, 91, 143, .08); }
.dv-editorial .dv-hero-image img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.dv-editorial .dv-hero-image figcaption { padding: 10px 14px; color: var(--dv-muted); font-size: 12px; line-height: 1.6; }
.dv-editorial .dv-map-hero { margin: 0 0 28px; overflow: hidden; border: 1px solid #c9dff1; border-radius: 20px; background: #f4f9ff; box-shadow: 0 18px 42px rgba(38, 91, 143, .1); }
.dv-editorial .dv-map-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 20px 22px 17px; background: linear-gradient(120deg, #fff, #edf7ff); }
.dv-editorial .dv-map-heading h2 { margin: 0; font-size: 22px; line-height: 1.45; }
.dv-editorial .dv-map-heading p { margin: 0; color: #60758a; font-size: 12px; line-height: 1.65; }
.dv-editorial .dv-map-heading .dv-summary-label { margin-bottom: 5px; color: #3983c5; }
.dv-editorial .dv-map-stage { position: relative; border-top: 1px solid #d6e5f2; border-bottom: 1px solid #d6e5f2; }
.dv-editorial .dv-map-canvas { width: 100%; height: clamp(430px, 50vw, 600px); background: linear-gradient(145deg, #eaf5ff, #f9fcff); }
.dv-editorial .dv-map-canvas.is-unavailable { background-color: #eef6fd; background-image: linear-gradient(rgba(71, 132, 184, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(71, 132, 184, .08) 1px, transparent 1px); background-size: 28px 28px; }
.dv-editorial .dv-map-status { position: absolute; top: 50%; left: 50%; width: min(430px, calc(100% - 36px)); margin: 0; padding: 13px 16px; border: 1px solid rgba(76, 137, 190, .28); border-radius: 12px; color: #325a7d; background: rgba(255, 255, 255, .92); box-shadow: 0 12px 28px rgba(31, 77, 119, .1); font-size: 13px; line-height: 1.65; text-align: center; transform: translate(-50%, -50%); }
.dv-editorial .dv-map-legend { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.dv-editorial .dv-map-legend li { min-width: 0; border-right: 1px solid #dce8f3; }
.dv-editorial .dv-map-legend li:last-child { border-right: 0; }
.dv-editorial .dv-map-legend a { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 2px 8px; min-height: 74px; align-content: center; padding: 11px 12px; color: #244665; text-decoration: none; }
.dv-editorial .dv-map-legend span { display: grid; width: 24px; height: 24px; grid-row: 1 / span 2; place-items: center; border-radius: 50%; color: #fff; background: #267bc0; font: 750 10px/1 "IBM Plex Mono", monospace; }
.dv-editorial .dv-map-legend strong { min-width: 0; overflow: hidden; font-size: 12px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.dv-editorial .dv-map-legend small { color: #6c8093; font-size: 10px; line-height: 1.35; }
.dv-map-clinic-marker { display: grid; width: 36px; height: 36px; padding: 0; place-items: center; border: 3px solid #fff; border-radius: 50%; color: #fff; background: #176fb6; box-shadow: 0 6px 16px rgba(24, 74, 118, .32); font: 800 13px/1 "IBM Plex Mono", monospace; cursor: pointer; }
.dv-map-clinic-marker:hover, .dv-map-clinic-marker:focus-visible { background: #0c4f87; transform: scale(1.08); }
.dv-map-clinic-marker:focus-visible { outline: 3px solid #8cc6ff; outline-offset: 2px; }
.dv-map-station-marker { padding: 7px 10px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: #16766d; box-shadow: 0 5px 14px rgba(21, 84, 78, .28); font-size: 11px; font-weight: 800; white-space: nowrap; }
.dv-map-hero .mapboxgl-popup-content { padding: 13px 14px; color: #29445f; font: 12px/1.65 "Noto Sans KR", sans-serif; }
.dv-map-hero .mapboxgl-popup-content strong { color: #183e61; }
.dv-map-hero .mapboxgl-popup-content a { font-weight: 700; }
.dv-editorial .dv-layout { display: grid; grid-template-columns: minmax(0, 1fr) 210px; column-gap: 42px; align-items: start; }
.dv-editorial .dv-main { min-width: 0; }
.dv-editorial .dv-summary { margin: 0 0 28px; padding: 22px; border: 1px solid #cfe0f1; border-radius: 18px; background: linear-gradient(135deg, rgba(241, 248, 255, .96), rgba(255, 255, 255, .98)); box-shadow: 0 14px 34px rgba(38, 91, 143, .07); }
.dv-editorial .dv-summary-label { margin: 0 0 5px; color: #4f87bf; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.dv-editorial .dv-summary h2 { margin: 0 0 12px; color: #164c80; font-size: 23px; line-height: 1.45; }
.dv-editorial .dv-summary-copy { margin: 0; color: #344f6c; font-size: 15px; line-height: 1.75; }
.dv-editorial .dv-summary-copy p { margin: 0; padding: 13px 0; border-top: 1px solid #dce7f2; }
.dv-editorial .dv-summary-copy p:first-child { padding-top: 2px; border-top: 0; }
.dv-editorial .dv-summary-copy p:last-child { padding-bottom: 0; }
.dv-editorial .dv-summary-copy strong { display: block; color: #294866; font-weight: 700; }
.dv-editorial .dv-summary-copy span { display: block; margin-top: 3px; color: #5b6f84; font-size: 14px; }
.dv-editorial .dv-summary-copy a { color: inherit; text-decoration: none; }
.dv-editorial .dv-section { margin: 32px 0 0; padding: 0; min-height: 0; }
.dv-editorial h2 { margin: 0 0 14px; color: #173854; font-size: 26px; line-height: 1.55; letter-spacing: -.045em; }
.dv-editorial h3 { margin: 22px 0 8px; color: #203d5e; font-size: 20px; line-height: 1.6; }
.dv-editorial [id] { scroll-margin-top: 84px; }
.dv-editorial .dv-answer { margin: 0 0 14px; color: #254d77; font-weight: 650; }
.dv-editorial .dv-checklist-list { margin: 0 0 14px; padding-left: 20px; color: #334862; font-size: 15px; line-height: 1.85; }
.dv-editorial .dv-checklist-list li { margin-bottom: 6px; }
.dv-editorial .dv-clinic { padding: 0 0 34px; border-bottom: 1px solid var(--dv-line); }
.dv-editorial .dv-number { display: inline; margin-right: 6px; color: #477eb5; font-size: .82em; font-weight: 700; font-variant-numeric: tabular-nums; }
.dv-editorial .dv-contact { margin: 16px 0 10px; color: var(--dv-muted); font-size: 15px; line-height: 1.85; }
.dv-editorial .dv-contact a { white-space: nowrap; }
.dv-editorial .dv-links { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; font-size: 14px; }
.dv-editorial .dv-table-wrap { max-width: 100%; margin: 16px 0 14px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dv-editorial .dv-score-table-wrap { overflow-x: auto !important; overflow-y: hidden; }
.dv-editorial table { width: 100%; min-width: 670px; margin: 0; border-collapse: collapse; border-spacing: 0; font-size: 14px; line-height: 1.8; text-align: left; }
.dv-editorial caption { caption-side: top; padding: 0 0 8px; color: var(--dv-muted); font-size: 13px; text-align: left; }
.dv-editorial th, .dv-editorial td { padding: 12px 10px; border-bottom: 1px solid var(--dv-line); vertical-align: top; }
.dv-editorial thead th { border-top: 1px solid #cbdbea; color: #214a73; background: #f1f7fe; font-weight: 700; }
.dv-editorial tbody th { width: 23%; color: #243f5d; font-weight: 650; }
.dv-editorial tbody th a { text-decoration: none; }
.dv-editorial tbody td:nth-child(2) { width: 25%; }
.dv-editorial .dv-score-wrap { border: 1px solid #d5e2ef; border-radius: 14px; background: rgba(255, 255, 255, .92); }
.dv-editorial .dv-score-table { min-width: 590px; font-size: 12px; text-align: center; }
.dv-editorial .dv-score-table caption { padding: 12px 14px 9px; color: #60758c; }
.dv-editorial .dv-score-table th, .dv-editorial .dv-score-table td { padding: 12px 5px; text-align: center; }
.dv-editorial .dv-score-table thead th { line-height: 1.45; white-space: nowrap; }
.dv-editorial .dv-score-table tbody th { width: 160px; color: #183b5d; text-align: left; white-space: nowrap; }
.dv-editorial .dv-score-table tbody th span { display: inline-grid; width: 24px; height: 24px; margin-right: 7px; place-items: center; border-radius: 50%; color: #fff; background: #3988cf; font-size: 10px; }
.dv-editorial .dv-score-table tbody td:nth-child(2) { width: auto; }
.dv-editorial .dv-score-value { display: inline-flex; align-items: baseline; justify-content: center; min-width: 36px; padding: 6px 5px; border-radius: 9px; color: #25679f; background: #eaf5ff; }
.dv-editorial .dv-score-value.is-2 { color: #075b9b; background: #d8edff; }
.dv-editorial .dv-score-value strong, .dv-editorial .dv-score-total strong { color: inherit; font-size: 17px; font-variant-numeric: tabular-nums; }
.dv-editorial .dv-score-value small, .dv-editorial .dv-score-total small { margin-left: 1px; font-size: 9px; }
.dv-editorial .dv-score-source { display: block; margin-top: 4px; color: #5a7187; font-size: 9px; font-weight: 700; line-height: 1.2; }
.dv-editorial .dv-score-total { color: #fff; background: #2677ba; white-space: nowrap; }
.dv-editorial .dv-difference-wrap { border: 1px solid #caddeb; border-radius: 15px; background: rgba(255, 255, 255, .97); box-shadow: 0 12px 30px rgba(34, 80, 122, .055); }
.dv-editorial .dv-difference-table { min-width: 860px; table-layout: fixed; font-size: 13px; line-height: 1.7; }
.dv-editorial .dv-difference-table caption { padding: 12px 14px 9px; }
.dv-editorial .dv-difference-table thead th:first-child { width: 18%; }
.dv-editorial .dv-difference-table thead th:nth-child(2) { width: 29%; }
.dv-editorial .dv-difference-table thead th:nth-child(3) { width: 27%; }
.dv-editorial .dv-difference-table thead th:nth-child(4) { width: 26%; }
.dv-editorial .dv-difference-table tbody th { color: #1d4d77; background: #f5faff; white-space: nowrap; }
.dv-editorial .dv-difference-table td { color: #38546d; word-break: keep-all; }
.dv-editorial .dv-five-column-table thead th:first-child { width: 17%; }
.dv-editorial .dv-five-column-table thead th:nth-child(2) { width: 20%; }
.dv-editorial .dv-five-column-table thead th:nth-child(3) { width: 25%; }
.dv-editorial .dv-five-column-table thead th:nth-child(4) { width: 19%; }
.dv-editorial .dv-five-column-table thead th:nth-child(5) { width: 19%; }
.dv-editorial .dv-hours-list { display: grid; gap: 2px; font-variant-numeric: tabular-nums; }
.dv-editorial .dv-hours-list span { display: block; white-space: nowrap; }
.dv-editorial .dv-cost-table { min-width: 0; font-size: 15px; }
.dv-editorial .dv-cost-table tbody th { width: 25%; }
.dv-editorial .dv-cost-table tbody td:nth-child(2) { width: auto; }
.dv-editorial .dv-price-caption { margin: 18px 0 10px; color: #60758c; font-size: 12px; line-height: 1.7; }
.dv-editorial .dv-price-stack { display: grid; gap: 14px; }
.dv-editorial .dv-price-clinic { overflow: hidden; border: 1px solid #d5e3f1; border-radius: 16px; background: rgba(255, 255, 255, .96); box-shadow: 0 12px 28px rgba(35, 86, 134, .06); }
.dv-editorial .dv-price-clinic header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; border-bottom: 1px solid #dbe7f2; background: linear-gradient(135deg, #eef7ff, #f9fcff); }
.dv-editorial .dv-price-clinic header h3 { margin: 0; color: #174f87; font-size: 17px; }
.dv-editorial .dv-price-clinic header p { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 12px; margin: 0; color: #62768b; font-size: 11px; line-height: 1.5; text-align: right; }
.dv-editorial .dv-price-clinic header a { color: #1769aa; font-weight: 700; text-decoration: none; }
.dv-editorial .dv-price-clinic table { min-width: 0; font-size: 13px; line-height: 1.7; }
.dv-editorial .dv-price-clinic caption { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.dv-editorial .dv-price-clinic tbody th { width: 26%; padding: 13px 16px; color: #294f74; background: #f8fbfe; }
.dv-editorial .dv-price-clinic tbody td { width: auto; padding: 12px 16px; }
.dv-editorial .dv-price-list { margin: 0; padding: 0; list-style: none; }
.dv-editorial .dv-price-list li { position: relative; margin: 0 0 5px; padding-left: 12px; }
.dv-editorial .dv-price-list li:last-child { margin-bottom: 0; }
.dv-editorial .dv-price-list li::before { position: absolute; top: .76em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #4994d5; content: ""; }
.dv-editorial .dv-price-note { margin: 0; padding: 12px 18px 14px; color: #63778b; background: #fbfdff; font-size: 11px; line-height: 1.7; }
.dv-editorial .dv-cost-callout { margin: 18px 0 0; padding: 17px 18px; border-left: 3px solid #438fd1; border-radius: 0 14px 14px 0; color: #35516d; background: #f1f8ff; font-size: 14px; line-height: 1.8; }
.dv-editorial .dv-price-summary-wrap { border: 1px solid #d5e3f1; border-radius: 14px; background: rgba(255, 255, 255, .96); }
.dv-editorial .dv-price-summary-table { min-width: 900px; table-layout: fixed; font-size: 13px; line-height: 1.7; }
.dv-editorial .dv-price-summary-table caption { padding: 11px 13px 8px; }
.dv-editorial .dv-price-summary-table thead th:first-child { width: 18%; }
.dv-editorial .dv-price-summary-table thead th:nth-child(2) { width: 19%; }
.dv-editorial .dv-price-summary-table thead th:nth-child(3) { width: 31%; }
.dv-editorial .dv-price-summary-table thead th:nth-child(4) { width: 32%; }
.dv-editorial .dv-price-summary-table tbody th { color: #1d4d77; background: #f5faff; white-space: normal; word-break: keep-all; overflow-wrap: anywhere; }
.dv-editorial .dv-price-summary-table td { color: #38546d; word-break: keep-all; }
.dv-editorial .dv-price-summary-table strong, .dv-editorial .dv-price-overview-table strong { display: block; color: #145b97; }
.dv-editorial .dv-price-summary-table small, .dv-editorial .dv-price-overview-table small { display: block; margin-top: 3px; color: #76899b; font-size: 10px; line-height: 1.5; }
.dv-editorial .dv-price-summary-table .dv-category-price-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dv-editorial .dv-price-summary-table .dv-category-price-list li { margin: 0; padding: 0 0 8px; border-bottom: 1px solid #e4edf5; }
.dv-editorial .dv-price-summary-table .dv-category-price-list li:last-child { padding-bottom: 0; border-bottom: 0; }
.dv-editorial .dv-clinic-display-name { display: block; line-height: 1.55; }
.dv-editorial .dv-clinic-legal-name { display: block; margin-top: 5px; color: #6f8294; font-size: 10px; font-weight: 500; line-height: 1.5; word-break: keep-all; overflow-wrap: anywhere; }
.dv-editorial .dv-source-comparison-table { min-width: 1060px; }
.dv-editorial .dv-source-comparison-table thead th:first-child { width: 17%; }
.dv-editorial .dv-source-comparison-table thead th:nth-child(2) { width: 18%; }
.dv-editorial .dv-source-comparison-table thead th:nth-child(3) { width: 24%; }
.dv-editorial .dv-source-comparison-table thead th:nth-child(4) { width: 21%; }
.dv-editorial .dv-source-comparison-table thead th:nth-child(5) { width: 20%; }
.dv-price-editorial .dv-price-overview-wrap { border: 1px solid #d4e2f0; border-radius: 15px; background: rgba(255, 255, 255, .97); box-shadow: 0 12px 30px rgba(37, 82, 124, .05); }
.dv-price-editorial .dv-price-overview-table { min-width: 0; font-size: 12px; line-height: 1.65; }
.dv-price-editorial .dv-price-overview-table caption { padding: 12px 14px 9px; }
.dv-price-editorial .dv-price-overview-table tbody th { width: 22%; white-space: nowrap; }
.dv-price-editorial .dv-price-overview-table tbody td:nth-child(2) { width: 29%; }
.dv-price-editorial .dv-price-overview-table .dv-price-added { margin-top: 6px; padding-top: 6px; border-top: 1px solid #e3ebf3; color: #5c748a; }
.dv-price-editorial .dv-cost-components { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; margin-top: 18px; }
.dv-price-editorial .dv-cost-components article { min-height: 190px; padding: 17px; border: 1px solid #d8e5f1; border-radius: 15px; background: linear-gradient(145deg, #f2f8ff, #fff 64%); box-shadow: 0 10px 24px rgba(42, 87, 132, .045); }
.dv-price-editorial .dv-cost-components span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; color: #fff; background: #3c8bd0; font-size: 10px; font-weight: 800; }
.dv-price-editorial .dv-cost-components h3 { margin: 18px 0 7px; color: #184c7a; font-size: 16px; }
.dv-price-editorial .dv-cost-components p { margin: 0; color: #536a80; font-size: 12px; line-height: 1.7; }
.dv-price-editorial .dv-price-detail-stack { display: grid; gap: 16px; margin-top: 18px; }
.dv-price-editorial .dv-price-detail-card { overflow: hidden; border: 1px solid #ccdeee; border-radius: 17px; background: rgba(255, 255, 255, .97); box-shadow: 0 14px 32px rgba(35, 84, 130, .06); }
.dv-price-editorial .dv-price-detail-card > header { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 17px 18px; border-bottom: 1px solid #dbe7f2; background: linear-gradient(135deg, #eaf5ff, #f9fcff); }
.dv-price-editorial .dv-price-detail-card > header > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: #327fc2; font-size: 10px; font-weight: 800; }
.dv-price-editorial .dv-price-detail-card > header h3 { margin: 0; color: #174f87; font-size: 17px; }
.dv-price-editorial .dv-price-detail-card > header p { margin: 2px 0 0; color: #697f94; font-size: 10px; line-height: 1.5; }
.dv-price-editorial .dv-price-detail-card > header a { font-size: 11px; font-weight: 750; text-decoration: none; white-space: nowrap; }
.dv-price-editorial .dv-price-detail-card table { min-width: 0; font-size: 13px; line-height: 1.7; }
.dv-price-editorial .dv-price-detail-card caption { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.dv-price-editorial .dv-price-detail-card tbody th { width: 27%; padding: 13px 16px; color: #284f75; background: #f7fbff; }
.dv-price-editorial .dv-price-detail-card tbody td { width: auto; padding: 12px 16px; }
.dv-price-editorial .dv-price-detail-card ul { margin: 0; padding: 0; list-style: none; }
.dv-price-editorial .dv-price-detail-card li { position: relative; margin: 0 0 5px; padding-left: 12px; }
.dv-price-editorial .dv-price-detail-card li:last-child { margin-bottom: 0; }
.dv-price-editorial .dv-price-detail-card li::before { position: absolute; top: .73em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #4390d3; content: ""; }
.dv-price-editorial .dv-price-limit { margin: 0; padding: 12px 18px 14px; color: #63778b; background: #fbfdff; font-size: 11px; line-height: 1.7; }
.dv-price-editorial .dv-price-limit strong { color: #315d85; }
.dv-price-editorial .dv-quote-steps { display: grid; gap: 0; margin: 18px 0 0; padding: 0; border-top: 1px solid #bfd4e7; list-style: none; }
.dv-price-editorial .dv-quote-steps li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; padding: 18px 4px; border-bottom: 1px solid #dbe6ef; }
.dv-price-editorial .dv-quote-steps li > span { color: #2f83c8; font: 750 11px/1.8 "IBM Plex Mono", monospace; }
.dv-price-editorial .dv-quote-steps h3 { margin: 0 0 4px; color: #1e4569; font-size: 16px; }
.dv-price-editorial .dv-quote-steps p { margin: 0; color: #526a81; font-size: 13px; line-height: 1.75; }
.dv-price-editorial .dv-insurance-box { padding: 20px 22px; border: 1px solid #c8dded; border-radius: 17px; background: linear-gradient(135deg, #f0f8ff, #fff); }
.dv-price-editorial .dv-insurance-box p:last-child { margin-bottom: 0; }
.dv-price-editorial .dv-price-feature-link { display: flex; min-height: 210px; flex-direction: column; margin-top: 18px; padding: 24px; border: 1px solid #c9dff1; border-radius: 18px; color: #244c6a; background: linear-gradient(140deg, #eaf6ff, #fff 62%); box-shadow: 0 16px 36px rgba(35, 90, 141, .08); text-decoration: none; }
.dv-price-editorial .dv-price-feature-link span { color: #2b7cbc; font-size: 11px; font-weight: 750; }
.dv-price-editorial .dv-price-feature-link strong { margin-top: 18px; color: #153f66; font-size: 24px; line-height: 1.4; }
.dv-price-editorial .dv-price-feature-link p { margin: 10px 0 18px; color: #526d83; font-size: 14px; line-height: 1.75; }
.dv-price-editorial .dv-price-feature-link b { margin-top: auto; color: #1769aa; font-size: 13px; }
.dv-price-editorial .dv-price-feature-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.dv-price-editorial .dv-price-rules { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.dv-price-editorial .dv-price-rules article { padding: 15px; border: 1px solid #d4e3ef; border-radius: 14px; background: linear-gradient(145deg, #f3f9ff, #fff 68%); }
.dv-price-editorial .dv-price-rules span { color: #2f83c8; font: 750 10px/1.4 "IBM Plex Mono", monospace; }
.dv-price-editorial .dv-price-rules h3 { margin: 10px 0 6px; color: #174b77; font-size: 14px; }
.dv-price-editorial .dv-price-rules p { margin: 0; color: #5a7186; font-size: 11px; line-height: 1.65; }
.dv-price-editorial .dv-lowest-price-wrap { margin-top: 17px; border: 1px solid #caddeb; border-radius: 15px; background: #fff; box-shadow: 0 12px 28px rgba(36, 84, 126, .05); }
.dv-price-editorial .dv-lowest-price-table { min-width: 760px; font-size: 12px; line-height: 1.6; }
.dv-price-editorial .dv-lowest-price-table tbody th { width: 21%; color: #214e76; background: #f5faff; }
.dv-price-editorial .dv-lowest-price-table tbody td:nth-child(2) { width: 27%; color: #1769aa; }
.dv-price-editorial .dv-price-category-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin: 34px 0 5px; padding: 16px; border: 1px solid #d0e2f0; border-radius: 16px; background: rgba(241, 248, 255, .86); }
.dv-price-editorial .dv-price-category-nav a { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 9px 11px; border: 1px solid #d8e6f1; border-radius: 11px; color: #275676; background: rgba(255, 255, 255, .94); font-size: 12px; font-weight: 750; text-decoration: none; }
.dv-price-editorial .dv-price-category-nav a:hover { border-color: #7db3dd; color: #1166a6; }
.dv-price-editorial .dv-price-category-nav span { color: #3a8ccd; font: 750 9px/1.4 "IBM Plex Mono", monospace; }
.dv-price-editorial .dv-price-category { scroll-margin-top: 86px; }
.dv-price-editorial .dv-category-heading { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; align-items: start; }
.dv-price-editorial .dv-category-heading > span { display: grid; width: 34px; height: 34px; place-items: center; margin-top: 2px; border-radius: 10px; color: #fff; background: #317fbe; font: 750 10px/1 "IBM Plex Mono", monospace; }
.dv-price-editorial .dv-category-heading h2 { margin-top: 0; }
.dv-price-editorial .dv-category-heading .dv-answer { margin-bottom: 0; }
.dv-price-editorial .dv-price-category-wrap { margin-top: 16px; border: 1px solid #cbddeb; border-radius: 15px; background: rgba(255, 255, 255, .98); box-shadow: 0 12px 30px rgba(34, 80, 122, .055); }
.dv-price-editorial .dv-price-category-table { min-width: 760px; table-layout: fixed; font-size: 12px; line-height: 1.65; }
.dv-price-editorial .dv-price-category-table thead th:first-child { width: 20%; }
.dv-price-editorial .dv-price-category-table thead th:nth-child(2) { width: 45%; }
.dv-price-editorial .dv-price-category-table thead th:nth-child(3) { width: 35%; }
.dv-price-editorial .dv-price-category-table tbody th { color: #1d4d77; background: #f5faff; vertical-align: top; word-break: keep-all; }
.dv-price-editorial .dv-price-category-table td { vertical-align: top; }
.dv-price-editorial .dv-price-source-audit-table { min-width: 900px; }
.dv-price-editorial .dv-price-source-audit-table thead th:first-child { width: 18%; }
.dv-price-editorial .dv-price-source-audit-table thead th:nth-child(2) { width: 42%; }
.dv-price-editorial .dv-price-source-audit-table thead th:nth-child(3) { width: 20%; }
.dv-price-editorial .dv-price-source-audit-table thead th:nth-child(4) { width: 20%; }
.dv-price-editorial .dv-two-source-price-table thead th:first-child { width: 24%; }
.dv-price-editorial .dv-two-source-price-table thead th:nth-child(2),
.dv-price-editorial .dv-two-source-price-table thead th:nth-child(3) { width: 38%; }
.dv-price-editorial .dv-category-price-list { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.dv-price-editorial .dv-category-price-list li { position: relative; padding-left: 11px; color: #294f70; word-break: keep-all; }
.dv-price-editorial .dv-category-price-list li::before { position: absolute; top: .72em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #3c8bd0; content: ""; }
.bupyeong-editorial-page.price-editorial-page .dv-category-price-list li { padding-left: 0; }
.bupyeong-editorial-page.price-editorial-page .dv-category-price-list li::before { display: none; content: none; }
.dv-price-editorial .dv-price-source-groups { gap: 12px; }
.dv-price-editorial .dv-price-source-groups li { display: grid; gap: 3px; padding-bottom: 10px; border-bottom: 1px solid #e3edf5; }
.dv-price-editorial .dv-price-source-groups li:last-child { padding-bottom: 0; border-bottom: 0; }
.dv-price-editorial .dv-price-source-groups b { width: fit-content; margin-bottom: 3px; padding: 2px 7px; border-radius: 999px; color: #2b618e; background: #eaf4fd; font-size: 10px; }
.dv-price-editorial .dv-price-source-groups strong { color: #145b97; font-size: 13px; }
.dv-price-editorial .dv-price-source-groups span { color: #5b7186; font-size: 11px; }
.dv-price-editorial .dv-price-source-links { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.dv-price-editorial .dv-price-source-links li { display: grid; gap: 2px; }
.dv-price-editorial .dv-price-source-links a { color: #1769aa; font-weight: 750; text-decoration: none; }
.dv-price-editorial .dv-price-source-links small { color: #73869a; }
.dv-price-editorial .dv-price-status { display: inline-flex; margin-bottom: 7px; padding: 3px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.dv-price-editorial .dv-price-status.is-confirmed { color: #176e5a; background: #e8f7f1; }
.dv-price-editorial .dv-price-status.is-service { color: #1765a0; background: #e6f3ff; }
.dv-price-editorial .dv-price-status.is-inclusion { color: #765514; background: #fff4d7; }
.dv-price-editorial .dv-price-status.is-unpublished { color: #6b7885; background: #edf1f4; }
.dv-price-editorial .dv-price-audit-note { margin: 0; color: #49647b; font-size: 11px; line-height: 1.75; word-break: keep-all; }
.dv-price-editorial .dv-price-legend { display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content minmax(0, 1fr); gap: 8px 12px; align-items: center; margin: 16px 0 20px; padding: 14px 16px; border: 1px solid #d5e4ef; border-radius: 14px; background: #f8fbfe; }
.dv-price-editorial .dv-price-legend .dv-price-status { margin: 0; }
.dv-price-editorial .dv-price-legend p { margin: 0; color: #5b7185; font-size: 11px; line-height: 1.6; }
.dv-price-editorial .dv-price-source-link { margin: 8px 0 0; color: #5a7085; font-size: 11px; line-height: 1.65; word-break: keep-all; }
.dv-price-editorial .dv-price-source-link a { color: #1769aa; font-weight: 700; text-decoration: none; }
.dv-price-editorial .dv-price-source-link a:hover { text-decoration: underline; }
.dv-price-editorial .dv-price-unpublished { color: #718394; font-weight: 700; }
.dv-editorial .dv-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.dv-editorial .dv-choice-grid article { display: flex; min-width: 0; min-height: 0; flex-direction: column; padding: 16px; border: 1px solid #d7e4f1; border-radius: 16px; background: linear-gradient(155deg, #f3f9ff 0%, #fff 58%); box-shadow: 0 12px 26px rgba(42, 87, 132, .05); }
.dv-editorial .dv-choice-grid article > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #fff; background: #3988cf; font-size: 11px; font-weight: 800; }
.dv-editorial .dv-choice-label { min-height: 54px; margin: 14px 0 6px; color: #356487; font-size: 13px; font-weight: 750; line-height: 1.55; }
.dv-editorial .dv-choice-grid h3 { margin: 0 0 9px; color: #163f67; font-size: 18px; line-height: 1.45; }
.dv-editorial .dv-choice-grid article p:not(.dv-choice-label) { margin: 0 0 14px; color: #4b6279; font-size: 14px; line-height: 1.75; }
.dv-editorial .dv-choice-grid article strong { display: block; margin-top: auto; padding-top: 12px; border-top: 1px solid #dce7f1; color: #1766a3; font-size: 13px; line-height: 1.55; }
.dv-editorial .dv-conclusion-box { padding: 22px 24px; border: 1px solid #bcd8f1; border-radius: 18px; background: linear-gradient(135deg, #eaf6ff 0%, #f8fcff 55%, #fff 100%); box-shadow: 0 18px 42px rgba(44, 101, 154, .09); }
.dv-editorial .dv-conclusion-box h2 { margin-top: 2px; color: #123f6a; }
.dv-editorial .dv-conclusion-box p:last-child { margin-bottom: 0; }
.dv-editorial .dv-price-leader-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.dv-editorial .dv-price-leader-grid article { min-width: 0; padding: 15px 16px; border: 1px solid #cfe0ef; border-radius: 14px; background: rgba(255, 255, 255, .9); }
.dv-editorial .dv-price-leader-grid span { display: block; margin-bottom: 5px; color: #397db8; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.dv-editorial .dv-price-leader-grid strong { display: block; color: #183f64; font-size: 14px; line-height: 1.55; }
.dv-editorial .dv-price-leader-grid b { display: block; margin-top: 3px; color: #0f6bad; font-size: 20px; line-height: 1.4; }
.dv-editorial .dv-price-leader-grid p { margin: 6px 0 0; color: #5a6f84; font-size: 12px; line-height: 1.65; }
.dv-editorial .dv-price-conclusion-note { display: flex; gap: 14px; margin: 18px 0 0; padding: 15px 16px; border-radius: 13px; color: #496077; background: #fff; font-size: 13px; line-height: 1.75; }
.dv-editorial .dv-price-conclusion-note strong { flex: 0 0 auto; color: #174f87; }
.dv-editorial .dv-related-link { margin: 20px 0 0; }
.dv-editorial .dv-related-link a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px 14px; align-items: center; padding: 16px 18px; border: 1px solid #a9cfea; border-radius: 14px; color: #123f6a; background: rgba(255, 255, 255, .86); text-decoration: none; transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.dv-editorial .dv-related-link a:hover { transform: translateY(-1px); border-color: #438fd1; box-shadow: 0 10px 22px rgba(44, 101, 154, .1); }
.dv-editorial .dv-related-link span { color: #2b78b8; font: 700 10px/1.4 "IBM Plex Mono", monospace; letter-spacing: .08em; }
.dv-editorial .dv-related-link strong { font-size: 14px; line-height: 1.6; }
.dv-editorial .dv-related-link b { color: #2878b9; font-size: 12px; white-space: nowrap; }
.dv-editorial .dv-small { margin: 8px 0 0; color: var(--dv-muted); font-size: 12px; line-height: 1.8; }
.dv-editorial .dv-toc { position: sticky; top: 88px; align-self: start; max-height: calc(100vh - 112px); overflow: auto; padding: 18px 16px; border: 1px solid rgba(154, 188, 222, .48); border-radius: 14px; background: rgba(255, 255, 255, .86); box-shadow: 0 14px 36px rgba(53, 95, 139, .08); backdrop-filter: blur(12px); font-size: 14px; line-height: 1.7; }
.dv-editorial .dv-toc > p { margin: 0 0 12px; color: #294b72; font-size: 14px; font-weight: 700; }
.dv-editorial .dv-toc ol { margin: 0; padding: 0; list-style: none; }
.dv-editorial .dv-toc li { margin: 0 0 8px; }
.dv-editorial .dv-toc a { display: block; color: #586b82; text-decoration: none; }
.dv-editorial .dv-toc a:hover { color: var(--dv-blue); }
.dv-editorial .dv-sources { margin: 26px 0 0; padding: 18px 0 0; border-top: 1px solid var(--dv-line); color: var(--dv-muted); font-size: 13px; line-height: 1.9; }
.dv-editorial .dv-sources summary { margin: 0 0 12px; color: #375979; font-size: 14px; font-weight: 650; cursor: pointer; }
.dv-editorial .dv-sources ul { padding-left: 18px; }
.dv-editorial .dv-sources li { margin: 0 0 10px; }
.dv-editorial .dv-sources p { margin-bottom: 8px; }

.dv-editorial .dv-clinic-evidence { margin: 22px 0 14px; }
.dv-editorial .dv-clinic-strength-copy {
  margin: 18px 0;
  padding: 18px 20px;
  border: 1px solid #d8e7f6;
  border-left: 4px solid #3988cf;
  border-radius: 12px;
  background: #f8fbff;
}
.dv-editorial .dv-clinic-strength-copy h3 { margin: 0 0 10px; color: #174f87; font-size: 17px; }
.dv-editorial .dv-clinic-strength-copy p { margin: 7px 0 0; color: #324c69; line-height: 1.75; }
.dv-editorial .dv-clinic-strength-copy p strong { margin-right: 8px; color: #225b92; }
.dv-editorial .dv-official-procedure { margin-top: 20px; padding: 20px; border: 1px solid #bed9f0; border-radius: 17px; background: linear-gradient(145deg, #edf7ff 0%, #fff 72%); box-shadow: 0 14px 34px rgba(41, 94, 143, .07); }
.dv-editorial .dv-official-procedure-head { display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; }
.dv-editorial .dv-official-procedure-head span { display: block; margin-bottom: 4px; color: #2b78b8; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.dv-editorial .dv-official-procedure-head h3 { margin: 0; color: #174f87; font-size: 18px; line-height: 1.5; }
.dv-editorial .dv-official-procedure-head > a { flex: 0 0 auto; color: #2878b9; font-size: 11px; font-weight: 750; text-decoration: none; }
.dv-editorial .dv-official-procedure > p:not(.dv-hours-line) { margin: 14px 0 0; color: #324c69; font-size: 14px; line-height: 1.8; }
.dv-editorial .dv-official-procedure > ul { margin: 14px 0 0; padding: 14px 0 0 20px; border-top: 1px solid #d9e8f4; }
.dv-editorial .dv-official-procedure > ul li { margin: 0 0 8px; color: #38536e; font-size: 13px; line-height: 1.75; }
.dv-editorial .dv-official-procedure-links { display: flex; gap: 8px 14px; flex-wrap: wrap; margin-top: 13px; }
.dv-editorial .dv-official-procedure-links a { color: #2878b9; font-size: 11px; font-weight: 750; text-decoration: none; }
.dv-editorial .dv-official-procedure .dv-hours-line { display: flex; gap: 14px; margin: 15px 0 0; padding-top: 13px; border-top: 1px solid #d9e8f4; color: #51667d; font-size: 13px; line-height: 1.7; }
.dv-editorial .dv-official-procedure .dv-hours-line strong { flex: 0 0 auto; color: #225b92; }
.dv-editorial .dv-strength-box {
  padding: 18px 20px;
  border: 1px solid #d7e5f4;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(240, 247, 255, .96), rgba(255, 255, 255, .98));
  box-shadow: 0 12px 30px rgba(42, 87, 132, .06);
}
.dv-editorial .dv-strength-box h3 { margin: 0 0 10px; color: #174f87; font-size: 16px; }
.dv-editorial .dv-strength-box ul { margin: 0; padding-left: 20px; }
.dv-editorial .dv-strength-box li { margin: 0 0 7px; color: #324c69; }
.dv-editorial .dv-strength-box li:last-child { margin-bottom: 0; }
.dv-editorial .dv-strength-box p { display: flex; gap: 14px; margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #dce8f5; color: #51667d; font-size: 13px; line-height: 1.7; }
.dv-editorial .dv-strength-box p strong { flex: 0 0 auto; color: #225b92; }
.dv-editorial .dv-strength-box .dv-strength-copy { display: block; margin: 0; padding: 0; border-top: 0; color: #324c69; font-size: 15px; line-height: 1.85; }
.dv-editorial .dv-strength-box .dv-strength-copy strong { display: inline; margin: 0; color: #174f87; }
.dv-editorial .dv-clinic-at-a-glance { margin-top: 14px; }
.dv-editorial .dv-clinic-at-a-glance .dv-official-procedure-links { margin-top: 5px; padding-top: 13px; border-top: 1px solid #dce8f5; }
.dv-editorial .dv-fact-list { display: grid; grid-template-columns: 104px minmax(0, 1fr); margin: 0; }
.dv-editorial .dv-fact-list dt, .dv-editorial .dv-fact-list dd { margin: 0; padding: 13px 0; border-top: 1px solid #dce8f5; }
.dv-editorial .dv-fact-list dt:first-of-type, .dv-editorial .dv-fact-list dt:first-of-type + dd { border-top: 0; padding-top: 2px; }
.dv-editorial .dv-fact-list dt { color: #225b92; font-size: 14px; font-weight: 700; }
.dv-editorial .dv-fact-list dd { color: #324c69; font-size: 15px; line-height: 1.7; }
.dv-editorial .dv-fact-list dd ul { margin: 0; padding-left: 18px; }
.dv-editorial .dv-fact-list dd li { margin: 0 0 4px; }
.dv-editorial .dv-fact-list dd li:last-child { margin-bottom: 0; }
.dv-editorial .dv-fact-list dd b { color: #174f87; }
.dv-editorial .dv-staff-evidence { margin-top: 12px; padding: 16px 18px; border: 1px solid #d7e5f4; border-radius: 16px; background: rgba(255, 255, 255, .96); box-shadow: 0 10px 26px rgba(42, 87, 132, .05); }
.dv-editorial .dv-staff-evidence > h3 { margin: 0 0 12px; color: #174f87; font-size: 16px; }
.dv-editorial .dv-staff-source-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.dv-editorial .dv-staff-source-grid > article { min-width: 0; align-self: start; padding: 13px 14px; border: 1px solid #dce8f4; border-radius: 13px; background: #f8fbff; }
.dv-editorial .dv-staff-source-grid > article:first-child { display: grid; grid-template-columns: 190px minmax(0, 1fr) minmax(180px, .75fr); gap: 12px; align-items: center; }
.dv-editorial .dv-staff-source-grid > article:first-child .dv-staff-source-label { margin: 0; }
.dv-editorial .dv-staff-source-grid > article:first-child > p { margin: 0; }
.dv-editorial .dv-staff-source-label,
.dv-editorial .dv-table-source-label { display: block; margin-bottom: 6px; color: #2878b9; font-size: 11px; font-weight: 750; letter-spacing: .02em; }
.dv-editorial .dv-staff-source-grid > article > strong { display: block; color: #173c63; font-size: 15px; line-height: 1.5; }
.dv-editorial .dv-staff-source-grid > article > p { margin: 7px 0 0; color: #526a82; font-size: 12px; line-height: 1.7; }
.dv-editorial .dv-staff-profile-list { margin: 0; padding: 0; list-style: none; }
.dv-editorial .dv-staff-profile-list li { padding: 9px 0; border-top: 1px solid #e1eaf4; }
.dv-editorial .dv-staff-profile-list li:first-child { padding-top: 0; border-top: 0; }
.dv-editorial .dv-staff-profile-list li:last-child { padding-bottom: 0; }
.dv-editorial .dv-staff-profile-list.is-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.dv-editorial .dv-staff-profile-list.is-grid li,
.dv-editorial .dv-staff-profile-list.is-grid li:first-child,
.dv-editorial .dv-staff-profile-list.is-grid li:last-child { min-width: 0; padding: 10px; border: 1px solid #dfeaf4; border-radius: 10px; background: #fff; }
.dv-editorial .dv-staff-profile-list div { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.dv-editorial .dv-staff-profile-list strong { color: #173c63; font-size: 14px; }
.dv-editorial .dv-staff-profile-list div span { color: #71849a; font-size: 11px; }
.dv-editorial .dv-staff-profile-list b { display: block; margin-top: 3px; color: #275b8c; font-size: 12px; line-height: 1.6; }
.dv-editorial .dv-staff-profile-list p { margin: 3px 0 0; color: #526a82; font-size: 12px; line-height: 1.65; }
.dv-editorial .dv-staff-profile-list small { display: block; margin-top: 4px; font-size: 10px; line-height: 1.6; }
.dv-editorial .dv-staff-profile-list small a { margin-right: 7px; color: #2878b9; text-decoration: none; }
.dv-editorial .dv-staff-source-grid > article > .dv-staff-search-links { display: flex; gap: 8px 14px; flex-wrap: wrap; margin-top: 12px; padding-top: 10px; border-top: 1px solid #dfe9f3; }
.dv-editorial .dv-staff-search-links a { color: #2878b9; font-size: 11px; font-weight: 750; text-decoration: none; }
.dv-editorial .dv-staff-source-note { margin: 12px 0 0; padding-top: 11px; border-top: 1px solid #e1eaf4; color: #61758a; font-size: 11px; line-height: 1.75; }
.dv-editorial .dv-table-source-detail { display: block; margin-top: 7px; padding-top: 7px; border-top: 1px solid #dce7f2; color: #5f7388; font-size: 10px; line-height: 1.65; }
.dv-editorial .dv-table-source-detail b { display: block; color: #2878b9; font-size: 10px; }
.dv-editorial .dv-review-highlights { margin-top: 14px; padding: 20px 22px; border: 2px solid #7fb8e5; border-radius: 16px; background: #fff; box-shadow: 0 12px 30px rgba(42, 87, 132, .08); }
.dv-editorial .dv-review-highlights-head { display: flex; gap: 18px; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; }
.dv-editorial .dv-review-highlights-head > div { min-width: 0; }
.dv-editorial .dv-review-highlights-head span { display: block; margin-bottom: 5px; color: #2b78b8; font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.dv-editorial .dv-review-highlights-head h3 { margin: 0; color: #213f5e; font-size: 17px; line-height: 1.6; word-break: keep-all; }
.dv-editorial .dv-review-highlights-head a { flex: 0 0 auto; font-size: 11px; font-weight: 700; text-decoration: none; }
.dv-editorial .dv-review-connection { margin: 0 0 12px; padding: 12px 14px; border-radius: 11px; color: #405b75; background: #edf6fd; font-size: 13px; line-height: 1.75; }
.dv-editorial .dv-review-connection strong { display: block; margin-bottom: 3px; color: #174f87; }
.dv-editorial .dv-review-quote-list { display: grid; gap: 0; border-top: 1px solid #e6edf4; }
.dv-editorial .dv-review-highlights > p { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; align-items: start; margin: 10px 0 0; padding: 14px 16px; border: 1px solid #dbe9f6; border-radius: 12px; background: #f8fbff; }
.dv-editorial .dv-review-highlights > p > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 9px; color: #1767a5; background: #e4f2ff; font-family: "IBM Plex Mono", monospace; font-size: 12px; font-weight: 700; line-height: 1; }
.dv-editorial .dv-review-highlights > p > q { display: block; min-width: 0; padding: 3px 0; border: 0; border-radius: 0; color: #263f58; background: transparent; font-size: 15px; line-height: 1.75; }
.dv-editorial .dv-review-highlights blockquote { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 16px; margin: 0; padding: 16px 0; border-bottom: 1px solid #e6edf4; color: #2f485f; font-size: 15px; line-height: 1.8; }
.dv-editorial .dv-review-highlights blockquote > span { color: #1d6da9; font-size: 12px; font-weight: 800; line-height: 1.6; }
.dv-editorial .dv-review-highlights blockquote > span small { display: block; margin-top: 3px; color: #73879b; font-size: 10px; font-weight: 650; }
.dv-editorial .dv-review-highlights q { position: relative; padding: 10px 14px; border-left: 4px solid #5ea3d8; border-radius: 0 10px 10px 0; background: #f7fbff; quotes: none; white-space: normal; word-break: keep-all; }
.dv-editorial .dv-review-highlights small { display: block; margin-top: 7px; color: #78899b; font-size: 10px; line-height: 1.65; }
.dv-editorial .dv-review-highlights .dv-review-note { margin-top: 10px; }
.dv-editorial .dv-channel-title { margin: 20px 0 10px; font-size: 16px; }
.dv-editorial .dv-channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.dv-editorial .dv-channel-card {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 14px;
  gap: 11px;
  align-items: center;
  min-height: 104px;
  padding: 14px 13px;
  overflow: hidden;
  border: 1px solid #dce6f0;
  border-radius: 14px;
  color: #203b58;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 24px rgba(31, 73, 115, .055);
  text-decoration: none;
}
.dv-editorial .dv-channel-card::before { position: absolute; inset: 0 auto 0 0; width: 3px; content: ""; background: #4285f4; }
.dv-editorial .dv-channel-card.is-naver::before { background: #03c75a; }
.dv-editorial .dv-channel-card.is-kakao::before { background: #f5d300; }
.dv-editorial .dv-channel-card.is-official::before { background: #286aaa; }
.dv-editorial .dv-channel-card:hover { color: #173d66; border-color: #a9c8e7; transform: translateY(-1px); }
.dv-editorial .dv-channel-logo { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: #f5f8fb; }
.dv-editorial .dv-channel-logo img { display: block; width: 26px; height: 26px; object-fit: contain; }
.dv-editorial .dv-channel-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.dv-editorial .dv-channel-copy strong { color: #52667d; font-size: 12px; font-weight: 650; }
.dv-editorial .dv-channel-copy b { color: #1e3854; font-size: 15px; line-height: 1.45; }
.dv-editorial .dv-channel-copy small { color: #74869a; font-size: 11px; line-height: 1.45; }
.dv-editorial .dv-channel-arrow { color: #7694b4; font-size: 17px; }
.dv-editorial .dv-evidence-note { margin: 10px 2px 0; color: #728296; font-size: 11px; line-height: 1.7; }

@media (min-width: 1200px) {
  .dv-editorial { width: min(1344px, calc(100% - 51px)); }
}

@media (min-width: 1680px) {
  .dv-editorial .dv-channel-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .dv-editorial { width: min(840px, calc(100% - 40px)); max-width: 840px; padding: 30px 24px 44px; }
  .dv-editorial .dv-layout { grid-template-columns: minmax(0, 1fr); }
  .dv-editorial .dv-toc { display: none; }
}

@media (max-width: 600px) {
  .dv-editorial { box-sizing: border-box; width: 100%; max-width: 100%; padding: 24px 18px 36px; font-size: 16px; line-height: 1.85; }
  .dv-editorial .dv-layout, .dv-editorial .dv-main, .dv-editorial .dv-table-wrap { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; }
  .dv-editorial .dv-score-table { width: 100%; min-width: 0; table-layout: fixed; font-size: 9px; }
  .dv-editorial .dv-score-table thead th, .dv-editorial .dv-score-table tbody th { width: auto; padding: 8px 2px; white-space: normal; overflow-wrap: anywhere; }
  .dv-editorial .dv-score-table tbody th { width: 28%; }
  .dv-editorial .dv-score-table th, .dv-editorial .dv-score-table td { padding: 8px 2px; }
  .dv-editorial .dv-score-table tbody th span { width: 18px; height: 18px; margin-right: 3px; }
  .dv-editorial .dv-score-value { min-width: 27px; padding: 5px 2px; }
  .dv-editorial .dv-article-header { margin-bottom: 22px; padding-bottom: 20px; }
  .dv-editorial .dv-deck { font-size: 15px; }
  .dv-editorial .dv-map-heading { align-items: flex-start; flex-direction: column; gap: 6px; padding: 16px; }
  .dv-editorial .dv-map-heading h2 { font-size: 19px; }
  .dv-editorial .dv-map-canvas { height: 390px; }
  .dv-editorial .dv-map-legend { grid-template-columns: minmax(0, 1fr); }
  .dv-editorial .dv-map-legend li { border-right: 0; border-bottom: 1px solid #dce8f3; }
  .dv-editorial .dv-map-legend li:last-child { border-bottom: 0; }
  .dv-editorial .dv-map-legend a { min-height: 52px; padding: 9px 14px; }
  .dv-editorial .dv-map-legend strong { font-size: 13px; }
  .dv-editorial .dv-summary { margin-bottom: 20px; padding: 16px; font-size: 15px; }
  .dv-editorial .dv-summary-copy { font-size: 14px; line-height: 1.8; }
  .dv-editorial .dv-summary-copy span { font-size: 13px; }
  .dv-editorial h2 { font-size: 21px; line-height: 1.6; }
  .dv-editorial h3 { font-size: 18px; }
  .dv-editorial .dv-section { margin-top: 28px; }
  .dv-editorial .dv-clinic { padding-bottom: 22px; }
  .dv-editorial .dv-contact { font-size: 13px; }
  .dv-editorial .dv-cost-table { font-size: 14px; }
  .dv-editorial .dv-cost-table tbody th { width: 29%; }
  .dv-editorial .dv-price-clinic header { align-items: flex-start; flex-direction: column; gap: 6px; }
  .dv-editorial .dv-price-clinic header p { justify-content: flex-start; text-align: left; }
  .dv-editorial .dv-price-clinic tbody th { width: 34%; padding: 11px 10px; }
  .dv-editorial .dv-price-clinic tbody td { padding: 11px 10px; }
  .dv-editorial .dv-price-note { padding: 11px 12px 13px; }
  .dv-price-editorial .dv-cost-components { grid-template-columns: minmax(0, 1fr); }
  .dv-price-editorial .dv-price-overview-table { min-width: 680px; }
  .dv-price-editorial .dv-cost-components article { min-height: 0; }
  .dv-price-editorial .dv-price-detail-card > header { grid-template-columns: 30px minmax(0, 1fr); padding: 14px 12px; }
  .dv-price-editorial .dv-price-detail-card > header a { grid-column: 2; }
  .dv-price-editorial .dv-price-detail-card tbody th { width: 35%; padding: 11px 9px; }
  .dv-price-editorial .dv-price-detail-card tbody td { padding: 11px 9px; }
  .dv-price-editorial .dv-price-limit { padding: 11px 12px 13px; }
  .dv-price-editorial .dv-insurance-box { padding: 17px; }
  .dv-price-editorial .dv-price-feature-link { min-height: 0; padding: 19px; }
  .dv-price-editorial .dv-price-feature-list { grid-template-columns: 1fr; }
  .dv-price-editorial .dv-price-feature-link strong { font-size: 21px; }
  .dv-price-editorial .dv-price-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dv-price-editorial .dv-price-category-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; }
  .dv-price-editorial .dv-price-legend { grid-template-columns: max-content minmax(0, 1fr); }
  .dv-price-editorial .dv-lowest-price-table,
  .dv-price-editorial .dv-price-category-table { min-width: 700px; }
  .dv-price-editorial .dv-category-heading { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; }
  .dv-price-editorial .dv-category-heading > span { width: 30px; height: 30px; }
  .dv-editorial .dv-choice-grid { grid-template-columns: minmax(0, 1fr); }
  .dv-editorial .dv-choice-grid article { min-height: 0; }
  .dv-editorial .dv-choice-label { min-height: 0; }
  .dv-editorial .dv-conclusion-box { padding: 18px; }
  .dv-editorial .dv-price-leader-grid { grid-template-columns: minmax(0, 1fr); }
  .dv-editorial .dv-price-conclusion-note { display: block; }
  .dv-editorial .dv-price-conclusion-note strong { display: block; margin-bottom: 4px; }
  .dv-editorial .dv-related-link a { grid-template-columns: 1fr; gap: 6px; padding: 15px 16px; }
  .dv-editorial .dv-related-link b { white-space: normal; }
  .dv-editorial th, .dv-editorial td { padding: 11px 9px; }
  .dv-editorial .dv-strength-box { padding: 16px; }
  .dv-editorial .dv-clinic-strength-copy { padding: 16px; }
  .dv-editorial .dv-clinic-strength-copy p strong { display: block; margin: 0 0 2px; }
  .dv-editorial .dv-official-procedure { padding: 16px; }
  .dv-editorial .dv-official-procedure-head { display: block; }
  .dv-editorial .dv-official-procedure-head > a { display: inline-block; margin-top: 7px; }
  .dv-editorial .dv-official-procedure .dv-hours-line { display: block; }
  .dv-editorial .dv-official-procedure .dv-hours-line strong { display: block; margin-bottom: 4px; }
  .dv-editorial .dv-fact-list { grid-template-columns: minmax(0, 1fr); }
  .dv-editorial .dv-fact-list dt { padding: 12px 0 2px; }
  .dv-editorial .dv-fact-list dd { padding: 0 0 12px; border-top: 0; }
  .dv-editorial .dv-fact-list dt:first-of-type { padding-top: 0; }
  .dv-editorial .dv-strength-box p { display: block; }
  .dv-editorial .dv-strength-box p strong { display: block; margin-bottom: 4px; }
  .dv-editorial .dv-strength-box .dv-strength-copy strong { display: inline; margin: 0; }
  .dv-editorial .dv-staff-evidence { padding: 16px; }
  .dv-editorial .dv-staff-source-grid { grid-template-columns: minmax(0, 1fr); }
  .dv-editorial .dv-staff-source-grid > article:first-child { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .dv-editorial .dv-staff-source-grid > article:first-child .dv-staff-source-label { margin-bottom: 4px; }
  .dv-editorial .dv-staff-profile-list.is-grid { grid-template-columns: minmax(0, 1fr); }
  .dv-editorial .dv-review-highlights { padding: 16px; }
  .dv-editorial .dv-review-highlights-head { align-items: flex-start; }
  .dv-editorial .dv-review-highlights-head { display: block; }
  .dv-editorial .dv-review-highlights-head a { display: inline-block; margin-top: 7px; }
  .dv-editorial .dv-review-highlights > p { grid-template-columns: 30px minmax(0, 1fr); gap: 10px; padding: 12px; }
  .dv-editorial .dv-review-highlights > p > span { width: 28px; height: 28px; border-radius: 8px; font-size: 11px; }
  .dv-editorial .dv-review-highlights > p > q { padding-top: 1px; font-size: 14px; line-height: 1.7; }
  .dv-editorial .dv-review-highlights blockquote { display: block; }
  .dv-editorial .dv-review-highlights blockquote span { display: block; margin-bottom: 5px; }
  .dv-editorial .dv-channel-grid { grid-template-columns: minmax(0, 1fr); }
  .dv-editorial .dv-channel-card { min-height: 92px; }
}

@media (prefers-reduced-motion: no-preference) {
  .dv-editorial .dv-toc a { transition: color .15s ease; }
  .dv-editorial .dv-channel-card { transition: color .15s ease, border-color .15s ease, transform .15s ease; }
}
.review-method { padding: 78px max(6vw,calc((100vw - 1240px) / 2)); background: #fff; }
.review-method-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 48px; border-top: 1px solid var(--ink); }
.review-method-grid article { min-height: 220px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.review-method-grid article:first-child { border-left: 1px solid var(--line); }
.review-method-grid span { color: var(--coral-dark); font: 600 11px "IBM Plex Mono", monospace; }
.review-method-grid h3 { margin: 34px 0 11px; font-size: 18px; }
.review-method-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.article-faq { display: grid; grid-template-columns: .65fr 1.35fr; gap: 7vw; padding: 92px 6vw; background: #f7fbff; }
.article-faq > div:last-child { border-top: 1px solid var(--ink); }
.article-faq details { border-bottom: 1px solid var(--line); }
.article-faq summary { padding: 22px 0; font-size: 15px; font-weight: 600; cursor: pointer; }
.article-faq details p { margin: -4px 0 24px; color: var(--muted); font-size: 13px; line-height: 1.85; }
.pilot-hero h1 { max-width: 860px; font-size: clamp(36px,4vw,48px); }
.pilot-meta { margin: 18px 0 0; color: #527694; font: 500 11px "IBM Plex Mono",monospace; letter-spacing: .02em; }
.pilot-roadmap { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(520px,1.28fr); gap: 6vw; padding: 64px max(6vw,calc((100vw - 1120px) / 2)); background: linear-gradient(145deg,#fff,#eaf6ff); border-bottom: 1px solid rgba(38,121,191,.14); }
.pilot-roadmap h2,.pilot-memory h2 { max-width: 520px; margin: 0; font-size: clamp(30px,3.4vw,44px); line-height: 1.18; letter-spacing: -.045em; }
.pilot-roadmap ol,.pilot-memory ol { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid #183c5b; }
.pilot-roadmap li { display: grid; grid-template-columns: 145px 1fr; gap: 20px; padding: 19px 4px; border-bottom: 1px solid var(--line); }
.pilot-roadmap li strong { color: #1769aa; font-size: 13px; }
.pilot-roadmap li span { color: var(--muted); font-size: 13px; line-height: 1.7; }
.pilot-answer .article-intro-copy h2 { max-width: 720px; }
.seo-article { max-width: 1022px; margin: 0 auto; padding: 78px 24px; color: #244c6a; }
.seo-article h2 { margin: 10px 0 25px; color: #173b5c; font-size: clamp(29px,3.3vw,44px); line-height: 1.25; letter-spacing: -.045em; }
.seo-article h3 { margin: 38px 0 12px; color: #173b5c; font-size: 22px; letter-spacing: -.03em; }
.seo-article p { margin: 0 0 17px; font-size: 16px; line-height: 2; }
.seo-article p strong { color: #173b5c; }
.seo-candidate-article { max-width: 1022px; padding-top: 64px; padding-bottom: 74px; }
.seo-candidate-article > p { padding-bottom: 17px; border-bottom: 1px solid rgba(38,121,191,.13); }
.seo-closing { padding-top: 68px; padding-bottom: 82px; }
.reference-article,.reference-criteria { max-width: 1022px; }
.article-page:has(.reference-article) .article-hero { padding-right: 0; padding-left: 0; }
.article-page:has(.reference-article) .article-hero > * { width: min(1022px, calc(100% - 44px)); margin-right: auto; margin-left: auto; }
.article-page:has(.reference-article) .article-hero h1,
.article-page:has(.reference-article) .article-hero .region-lead,
.article-page:has(.reference-article) .article-hero .pilot-meta { width: min(974px, calc(100% - 48px)); max-width: none; }
.article-page:has(.reference-article) .article-hero h1 { width: min(974px, calc(100% - 48px)); max-width: none; }
.article-page:has(.reference-article) .rank-overview,
.article-page:has(.reference-article) .recommendation-section,
.article-page:has(.reference-article) .registry-section,
.article-page:has(.reference-article) .article-faq,
.article-page:has(.reference-article) .review-method { padding-right: 0; padding-left: 0; }
.article-page:has(.reference-article) .rank-overview { display: block; }
.article-page:has(.reference-article) .recommendation-section { display: block; }
.article-page:has(.reference-article) .rank-overview > .region-section-head,
.article-page:has(.reference-article) .rank-overview > .overview-scroll,
.article-page:has(.reference-article) .recommendation-section > .region-section-head,
.article-page:has(.reference-article) .recommendation-section > .recommendation-list,
.article-page:has(.reference-article) .registry-section > *,
.article-page:has(.reference-article) .article-faq > *,
.article-page:has(.reference-article) .review-method > * { width: min(974px, calc(100% - 44px)); max-width: 974px; margin-right: auto; margin-left: auto; }
.article-page:has(.reference-article) .rank-overview > .overview-scroll { margin-top: 42px; }
.article-page:has(.reference-article) .recommendation-section > .region-section-head { position: static; }
.article-page:has(.reference-article) .article-faq { display: block; }
.reference-article h2,.reference-criteria h2 { margin-top: 42px; }
.reference-article h2:first-of-type { margin-top: 10px; }
.reference-article h3,.reference-criteria h3 { margin-top: 38px; }
.reference-criteria-list { margin-top: 28px; border-top: 1px solid rgba(38,121,191,.22); }
.reference-criteria-list > div { padding: 20px 0; border-bottom: 1px solid rgba(38,121,191,.14); }
.reference-criteria-list strong { color: #173b5c; font-size: 16px; }
.reference-criteria-list p { margin: 8px 0 0; font-size: 14px; }
.article-toc { position: absolute; z-index: 2; top: 445px; left: calc(50% + 535px); display: flex; width: 170px; flex-direction: column; gap: 10px; padding: 16px; background: rgba(255,255,255,.94); border: 1px solid rgba(38,121,191,.18); border-radius: 12px; box-shadow: 0 12px 30px rgba(35,96,151,.08); }
.article-toc p { margin: 0 0 3px; color: #173b5c; font-size: 12px; font-weight: 800; }
.article-toc a { color: #527694; font-size: 11px; line-height: 1.45; }
.article-toc a:hover { color: #1769aa; }
.seo-source-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 28px 0; }
.seo-source-links a { display: flex; min-height: 110px; flex-direction: column; padding: 16px; color: #244c6a; background: #f5faff; border: 1px solid rgba(38,121,191,.15); border-radius: 12px; }
.seo-source-links span { color: #2679bf; font: 600 9px "IBM Plex Mono",monospace; }
.seo-source-links strong { margin-top: 9px; font-size: 13px; }
.seo-source-links small { margin-top: auto; color: #1769aa; font-size: 10px; }
.featured-clinic { padding: 82px max(6vw,calc((100vw - 1120px) / 2)); background: linear-gradient(145deg,#f4faff,#fff); border-top: 1px solid rgba(38,121,191,.14); border-bottom: 1px solid rgba(38,121,191,.14); }
.featured-clinic-panel { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: 28px; margin-top: 38px; padding: 24px; background: #fff; border: 1px solid rgba(38,121,191,.18); border-radius: 22px; box-shadow: 0 18px 48px rgba(35,96,151,.09); }
.featured-clinic-visual { position: relative; min-height: 300px; overflow: hidden; border-radius: 16px; background: #eaf5ff; }
.featured-clinic-visual img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; opacity: .92; }
.featured-clinic-visual span { position: absolute; left: 16px; bottom: 14px; padding: 7px 10px; color: #fff; background: rgba(18,58,91,.78); border-radius: 6px; font-size: 10px; }
.featured-clinic-main { display: flex; flex-direction: column; }
.featured-clinic-heading { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.featured-clinic-kicker { margin: 0 0 10px; color: #2679bf; font: 600 10px "IBM Plex Mono",monospace; letter-spacing: .04em; }
.featured-clinic-heading h3 { margin: 0; color: #173b5c; font-size: clamp(24px,2.5vw,34px); letter-spacing: -.045em; }
.featured-clinic-heading address { margin-top: 10px; color: var(--muted); font-size: 12px; font-style: normal; line-height: 1.6; }
.featured-clinic-action { flex: 0 0 auto; padding: 10px 13px; color: #1769aa; border: 1px solid rgba(38,121,191,.24); border-radius: 8px; font-size: 11px; font-weight: 700; }
.featured-clinic-action.is-disabled { color: #8a9cac; border-color: #d9e4ee; }
.featured-clinic-summary { margin: 25px 0 0; color: #365b77; font-size: 14px; line-height: 1.85; }
.featured-clinic-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 22px; }
.featured-clinic-facts article { min-height: 108px; padding: 13px; background: #f4f9fe; border-radius: 10px; }
.featured-clinic-facts span,.featured-clinic-service-facts b { display: block; color: #2679bf; font-size: 10px; font-weight: 800; }
.featured-clinic-facts strong { display: block; margin-top: 11px; color: #173b5c; font: 600 21px "IBM Plex Mono",monospace; }
.featured-clinic-facts small { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.featured-clinic-service-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 18px; margin-top: 19px; padding-top: 17px; border-top: 1px solid var(--line); }
.featured-clinic-service-facts div { display: grid; grid-template-columns: 70px 1fr; gap: 8px; font-size: 11px; line-height: 1.6; }
.featured-clinic-service-facts span { color: var(--muted); }
.featured-clinic-platforms { margin-top: 48px; padding: 30px; background: rgba(255,255,255,.72); border: 1px solid rgba(38,121,191,.15); border-radius: 18px; }
.featured-clinic-platforms .region-section-head { margin-bottom: 22px; }
.featured-clinic-platforms .region-section-head h3 { margin: 8px 0; font-size: 22px; }
.featured-clinic-quote { margin: 20px 0 0; padding: 22px 26px; color: #244c6a; background: #fff; border-left: 4px solid #2b8bd5; border-radius: 0 14px 14px 0; }
.featured-clinic-quote span { color: #2679bf; font: 600 10px "IBM Plex Mono",monospace; }
.featured-clinic-quote p { margin: 10px 0 7px; font-size: 14px; line-height: 1.75; }
.featured-clinic-quote small { color: var(--muted); font-size: 10px; line-height: 1.6; }
.pilot-standard .region-standard-grid article { min-height: 250px; }
.pilot-candidates,.pilot-conditions,.pilot-sources { padding: 82px max(6vw,calc((100vw - 1120px) / 2)); }
.pilot-candidates { background: #fff; }
.pilot-candidate-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 42px; }
.pilot-candidate-note { padding: 26px; background: linear-gradient(145deg,#fff,#f1f8ff); border: 1px solid rgba(38,121,191,.16); border-radius: 17px; box-shadow: 0 15px 38px rgba(35,96,151,.06); }
.pilot-candidate-note.is-first { grid-column: 1/-1; background: linear-gradient(135deg,#e7f5ff,#fff); border-color: rgba(38,121,191,.38); }
.pilot-candidate-note > span { color: #2679bf; font: 600 10px "IBM Plex Mono",monospace; letter-spacing: .05em; }
.pilot-candidate-note h3 { margin: 16px 0 18px; font-size: 23px; letter-spacing: -.035em; }
.pilot-candidate-note h3 a { color: inherit; }
.pilot-candidate-note p { margin: 9px 0 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.pilot-candidate-note p strong { display: block; margin-bottom: 3px; color: #173b5c; }
.pilot-conditions { background: linear-gradient(145deg,#eff8ff,#f9fcff); }
.pilot-condition-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin-top: 42px; }
.pilot-condition-grid article { min-height: 250px; padding: 22px; background: #fff; border: 1px solid rgba(38,121,191,.15); border-radius: 15px; }
.pilot-condition-grid span { color: #2679bf; font-size: 10px; font-weight: 800; line-height: 1.5; }
.pilot-condition-grid h3 { margin: 34px 0 12px; font-size: 17px; line-height: 1.35; letter-spacing: -.03em; }
.pilot-condition-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.75; }
.pilot-memory { display: grid; grid-template-columns: minmax(260px,.7fr) minmax(520px,1.3fr); gap: 6vw; padding: 72px max(6vw,calc((100vw - 1120px) / 2)); color: #fff; background: linear-gradient(135deg,#173b5c,#2679bf); }
.pilot-memory .section-label { color: #91d2ff; }
.pilot-memory li { position: relative; padding: 18px 10px 18px 50px; border-bottom: 1px solid rgba(255,255,255,.2); font-size: 13px; line-height: 1.75; }
.pilot-memory li::before { position: absolute; left: 8px; color: #9ed8ff; font: 600 12px "IBM Plex Mono",monospace; content: counter(list-item,decimal-leading-zero); }
.pilot-sources { background: #fff; }
.pilot-source-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 42px; }
.pilot-source-grid article { display: flex; min-height: 255px; flex-direction: column; padding: 22px; background: #f6fbff; border: 1px solid rgba(38,121,191,.14); border-radius: 15px; }
.pilot-source-grid span { color: #2679bf; font-size: 9px; font-weight: 800; }
.pilot-source-grid h3 { margin: 15px 0 12px; font-size: 17px; }
.pilot-source-grid p,.pilot-source-grid small { color: var(--muted); font-size: 10px; line-height: 1.7; }
.pilot-source-grid small { margin-top: 10px; }
.pilot-source-grid a { align-self: start; margin-top: auto; padding-top: 16px; color: #1769aa; font-size: 11px; font-weight: 700; }
.pilot-disclosure { margin: 24px 0 0; padding: 18px 20px; color: #4c6c87; background: #edf6ff; border-radius: 12px; font-size: 11px; line-height: 1.75; }
.entity-region-links { display: grid; gap: 8px; margin: 28px 0 0; padding: 0; list-style: none; }
.entity-region-links li { display: flex; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.entity-region-links a { color: #1f6dac; font-weight: 700; }
.entity-region-links span { color: var(--muted); font-size: 12px; }
.clinic-entity-page .review-channel-grid article a { display: inline-block; margin-top: auto; padding-top: 18px; color: #1f6dac; font-size: 12px; }
.clinic-entity-page .review-channel-grid article small { display: block; margin-top: 14px; color: var(--muted); font-size: 10px; line-height: 1.6; }
.hira-id-details { margin-top: 14px; }
.hira-id-details summary { color: #2679bf; font-size: 10px; font-weight: 700; cursor: pointer; }
.hira-id-details code { display: block; margin-top: 8px; padding: 8px; overflow-wrap: anywhere; color: #527694; background: #f2f8ff; border-radius: 7px; font: 9px/1.5 "IBM Plex Mono", monospace; }
.hira-id-details small { margin-top: 7px !important; }

.publication-notice { padding: 54px max(6vw, calc((100vw - 1120px) / 2)); color: #123654; background: linear-gradient(135deg,#fff,#eaf6ff); border-bottom: 1px solid rgba(38,121,191,.14); }
.publication-notice h2 { max-width: 720px; margin: 0; font-size: 32px; line-height: 1.25; letter-spacing: -.04em; }
.publication-notice > p:last-child { max-width: 720px; margin: 16px 0 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.related-pages { padding: 86px 6vw; background: #fff; }
.related-page-groups { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; max-width: 1120px; margin: 38px auto 0; }
.related-page-groups > div { padding: 24px; background: linear-gradient(145deg,#fff,#eef7ff); border: 1px solid rgba(38,121,191,.14); border-radius: 16px; }
.related-page-groups h3 { margin: 0 0 16px; color: #173b5c; font-size: 16px; }
.related-page-groups a { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; color: #246ba5; border-bottom: 1px solid rgba(38,121,191,.1); font-size: 12px; font-weight: 700; }
.related-page-groups p { color: var(--muted); font-size: 12px; line-height: 1.7; }

.regions-directory { max-width: 1180px; margin: 0 auto; padding: 0 30px 100px; }
.directory-hero { padding: 76px 0 58px; }
.directory-hero h1 { max-width: 720px; margin: 0; color: #102f50; font-size: 40px; line-height: 1.15; letter-spacing: -.045em; }
.directory-hero > p:not(.section-label) { max-width: 720px; margin: 18px 0 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.directory-hero dl { display: grid; grid-template-columns: repeat(3,1fr); max-width: 760px; margin: 34px 0 0; overflow: hidden; background: rgba(255,255,255,.85); border: 1px solid rgba(38,121,191,.15); border-radius: 16px; }
.directory-hero dl div { padding: 19px; border-right: 1px solid var(--line); }
.directory-hero dl div:last-child { border-right: 0; }
.directory-hero dt { color: #2679bf; font: 600 26px "IBM Plex Mono",monospace; }
.directory-hero dd { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.regions-directory-page { background: linear-gradient(180deg,#eef8ff 0,#fff 34%); }
.directory-group { margin-top: 30px; padding: 32px; background: linear-gradient(145deg,rgba(255,255,255,.98),rgba(245,250,255,.95)); border: 1px solid rgba(38,121,191,.15); border-radius: 22px; box-shadow: 0 18px 50px rgba(35,96,151,.08); }
.directory-group > header h2 { margin: 0; color: #123654; font-size: 29px; letter-spacing: -.04em; }
.directory-group > header h2 small { color: #69a4d4; font: 500 13px "IBM Plex Mono",monospace; }
.directory-group > header > p:last-child { max-width: 720px; color: var(--muted); font-size: 12px; line-height: 1.75; }
.directory-region-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 24px; }
.directory-card { position: relative; min-height: 136px; overflow: hidden; padding: 18px; background: linear-gradient(145deg,#fff,#edf7ff); border: 1px solid #d9e9f5; border-radius: 13px; box-shadow: 0 8px 20px rgba(35,96,151,.04); transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.directory-card::before { position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,#2679bf,#8dd1ff); content: ""; opacity: .7; }
.directory-card:hover { border-color: #91bee1; box-shadow: 0 15px 30px rgba(35,96,151,.11); transform: translateY(-2px); }
.directory-card > span { color: #2b79b9; font-size: 9px; font-weight: 800; }
.directory-card h3 { margin: 22px 0 7px; color: #163b5b; font-size: 17px; }
.directory-card p,.directory-card small { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.directory-card small { display: block; margin-top: 8px; }
.directory-card[data-publication-state="limited-directory"],.directory-station[data-publication-state="limited-directory"] { background: #f8fbfd; }
.directory-card[data-publication-state="coverage-gap"],.directory-station[data-publication-state="coverage-gap"] { opacity: .72; background: #f4f6f8; }
.directory-station-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 24px; }
.directory-station { display: flex; min-height: 94px; flex-direction: column; padding: 15px; background: linear-gradient(145deg,#fff,#f0f8ff); border: 1px solid #dceaf5; border-radius: 11px; transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.directory-station:hover { border-color: #9cc5e5; box-shadow: 0 12px 25px rgba(35,96,151,.09); transform: translateY(-2px); }
.directory-station span { color: #4381b4; font-size: 8px; }
.directory-station strong { margin-top: 10px; color: #183c5b; font-size: 13px; }
.directory-station small { margin-top: auto; padding-top: 9px; color: var(--muted); font-size: 8px; line-height: 1.45; }

/* AI answer verification articles */
.ai-recommendation-article-page {
  background:
    radial-gradient(circle at 12% 8%, rgba(86, 169, 241, .16), transparent 27rem),
    radial-gradient(circle at 92% 32%, rgba(152, 212, 255, .14), transparent 30rem),
    #fff;
}
.dv-ai-editorial .dv-ai-disclosure { border-left: 4px solid #317fc5; }
.dv-ai-editorial .dv-fanout-box { padding: 20px 22px; background: #f6f9fc; border: 1px solid #d7e4ef; border-radius: 12px; }
.dv-ai-editorial .dv-fanout-question { margin: 0 0 8px; color: #24679e; font-weight: 750; }
.dv-ai-editorial .dv-fanout-question::before { content: "Q. "; }
.dv-ai-editorial .dv-fanout-answer { margin: 0 0 14px; color: #38546d; line-height: 1.8; }
.dv-ai-editorial .dv-fanout-checklist-label { margin: 0 0 8px; color: #315a7d; font-weight: 700; font-size: 13px; }
.dv-ai-editorial .dv-fanout-checklist { margin: 0; padding-left: 20px; color: #4a6276; font-size: 13.5px; line-height: 1.9; }
.dv-ai-editorial .dv-fanout-checklist li { margin-bottom: 4px; }
.dv-ai-editorial .dv-ai-clinic { padding-top: 18px; }
.dv-ai-editorial .dv-ai-clinic-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.dv-ai-editorial .dv-ai-clinic-head .dv-number { display: grid; width: 34px; height: 34px; margin: 0; place-items: center; color: #fff; background: #2f7fc5; border-radius: 50%; font-size: 12px; }
.dv-ai-editorial .dv-origin-badge { display: inline-flex; align-items: center; min-height: 28px; padding: 5px 10px; color: #24679e; background: #eaf5ff; border: 1px solid #c9e0f3; border-radius: 999px; font-size: 11px; font-weight: 750; }
.dv-ai-editorial .dv-evidence-limit { margin-top: 16px; padding: 14px 16px; color: #53697e; background: #f6f9fc; border-left: 3px solid #9bb7cf; border-radius: 0 10px 10px 0; font-size: 13px; line-height: 1.8; }
.dv-ai-editorial .dv-evidence-limit strong { margin-right: 6px; color: #315a7d; }
.dv-ai-editorial .dv-ai-fact-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 18px 0; padding: 0; overflow: hidden; border: 1px solid #d7e5f1; border-radius: 12px; background: #fff; }
.dv-ai-editorial .dv-ai-fact-list > div { display: grid; grid-template-columns: 142px minmax(0, 1fr); gap: 16px; min-width: 0; padding: 14px 16px; border-bottom: 1px solid #e3edf5; }
.dv-ai-editorial .dv-ai-fact-list > div:last-child { border-bottom: 0; }
.dv-ai-editorial .dv-ai-fact-list dt { margin: 0; color: #2b70a8; font-size: 12px; font-weight: 800; line-height: 1.7; }
.dv-ai-editorial .dv-ai-fact-list dd { min-width: 0; margin: 0; color: #405b73; font-size: 13px; line-height: 1.75; word-break: keep-all; overflow-wrap: anywhere; }
.dv-ai-editorial .dv-platform-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.dv-ai-editorial .dv-platform-card { display: flex; min-width: 0; min-height: 128px; flex-direction: column; gap: 7px; padding: 14px; color: #234a6c; background: linear-gradient(145deg, #fff, #f5faff); border: 1px solid #d4e5f3; border-radius: 12px; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.dv-ai-editorial .dv-platform-card:not([aria-disabled="true"]):hover { border-color: #77add5; box-shadow: 0 10px 22px rgba(42, 101, 151, .11); transform: translateY(-2px); }
.dv-ai-editorial .dv-platform-card[aria-disabled="true"] { color: #718398; background: #f8fafc; cursor: default; }
.dv-ai-editorial .dv-platform-brand { display: grid; width: 26px; height: 26px; place-items: center; overflow: hidden; background: #fff; border: 1px solid #dce9f4; border-radius: 8px; }
.dv-ai-editorial .dv-platform-brand img { display: block; width: 16px; height: 16px; object-fit: contain; }
.dv-ai-editorial .dv-platform-brand svg { width: 16px; height: 16px; fill: #2e7fbe; }
.dv-ai-editorial .dv-platform-name { color: #2e7fbe; font: 700 9px "IBM Plex Mono", monospace; letter-spacing: .05em; }
.dv-ai-editorial .dv-platform-card strong { color: #173e61; font-size: 13px; line-height: 1.35; }
.dv-ai-editorial .dv-platform-card small { display: block; overflow-wrap: anywhere; color: #5d748b; font-size: 11px; line-height: 1.55; }
.dv-ai-editorial .dv-source-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.dv-ai-editorial .dv-source-links a,
.dv-ai-editorial .dv-source-links span { display: inline-flex; align-items: center; min-height: 34px; padding: 7px 11px; color: #256ba4; background: #f3f9ff; border: 1px solid #d3e4f2; border-radius: 9px; font-size: 11px; font-weight: 700; text-decoration: none; }
.dv-ai-editorial .dv-source-links span { color: #718295; background: #f8fafc; }
.dv-ai-editorial .dv-ai-responsive-table { width: 100%; min-width: 0; table-layout: fixed; }
.dv-ai-editorial .dv-ai-responsive-table th,
.dv-ai-editorial .dv-ai-responsive-table td { padding: 15px 13px; color: #38546d; text-align: left; vertical-align: top; word-break: keep-all; overflow-wrap: anywhere; }
.dv-ai-editorial .dv-ai-responsive-table tbody th { color: #153e62; white-space: normal; }
.dv-ai-editorial .dv-ai-table th:nth-child(1) { width: 19%; }
.dv-ai-editorial .dv-ai-table th:nth-child(2) { width: 23%; }
.dv-ai-editorial .dv-ai-table th:nth-child(3) { width: 35%; }
.dv-ai-editorial .dv-ai-table th:nth-child(4) { width: 23%; }
.dv-ai-editorial .dv-ai-hours-table th:nth-child(1) { width: 18%; }
.dv-ai-editorial .dv-ai-hours-table th:nth-child(2) { width: 28%; }
.dv-ai-editorial .dv-ai-hours-table th:nth-child(3) { width: 20%; }
.dv-ai-editorial .dv-ai-hours-table th:nth-child(4) { width: 24%; }
.dv-ai-editorial .dv-ai-hours-table th:nth-child(5) { width: 10%; }
.dv-ai-editorial .dv-ai-hours-table a { color: #2378ba; font-weight: 700; }
.dv-ai-editorial .dv-ai-specialist-table th:nth-child(1) { width: 17%; }
.dv-ai-editorial .dv-ai-specialist-table th:nth-child(2) { width: 23%; }
.dv-ai-editorial .dv-ai-specialist-table th:nth-child(3) { width: 29%; }
.dv-ai-editorial .dv-ai-specialist-table th:nth-child(4) { width: 31%; }
.dv-ai-editorial .dv-ai-situation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dv-ai-editorial .dv-ai-situation-grid article { min-height: 220px; }
.dv-ai-editorial .dv-ai-situation-grid article:last-child { grid-column: 1 / -1; min-height: 0; }
.dv-ai-editorial .dv-ai-question-list { display: grid; gap: 9px; margin: 18px 0 0; padding: 0; counter-reset: ai-question; list-style: none; }
.dv-ai-editorial .dv-ai-question-list li { position: relative; min-height: 54px; padding: 15px 18px 15px 56px; color: #294863; background: linear-gradient(135deg, #f4f9ff, #fff); border: 1px solid #d5e4f1; border-radius: 13px; line-height: 1.75; counter-increment: ai-question; }
.dv-ai-editorial .dv-ai-question-list li::before { position: absolute; top: 14px; left: 16px; display: grid; width: 28px; height: 28px; place-items: center; color: #fff; background: #3887cb; border-radius: 50%; font: 700 10px "IBM Plex Mono", monospace; content: counter(ai-question, decimal-leading-zero); }

@media (max-width: 1100px) {
  .region-ranking { grid-template-columns: 1fr; }
  .ranking-copy { position: static; }
  .region-standard-grid { grid-template-columns: repeat(3, 1fr); }
  .evidence-clinic { grid-template-columns: 58px 1fr; }
  .clinic-evidence { grid-column: 2; padding: 18px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .recommendation-section { grid-template-columns: 1fr; }
  .recommendation-section > .region-section-head { position: static; }
  .recommendation-body { grid-template-columns: 1fr; }
  .recommendation-data { padding: 22px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .review-channel-grid { grid-template-columns: 1fr; }
  .review-channel-grid article { min-height: 190px; }
  .directory-region-grid,.directory-station-grid { grid-template-columns: repeat(3,1fr); }
  .pilot-condition-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pilot-source-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .dv-ai-editorial .dv-ai-fact-list > div { grid-template-columns: 1fr; gap: 4px; padding: 13px 14px; }
  .dv-ai-editorial .dv-platform-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .dv-ai-editorial .dv-platform-card { min-height: 120px; padding: 12px; }
  .dv-ai-editorial .dv-ai-clinic-head { align-items: flex-start; flex-direction: column; }
  .dv-ai-editorial .dv-ai-question-list li { padding-right: 14px; }
  .dv-ai-editorial .dv-ai-situation-grid { grid-template-columns: 1fr; }
  .dv-ai-editorial .dv-ai-situation-grid article,
  .dv-ai-editorial .dv-ai-situation-grid article:last-child { grid-column: auto; min-height: 0; }
  .dv-ai-editorial .dv-table-wrap:has(.dv-ai-responsive-table) { overflow: visible; border: 0; border-radius: 0; }
  .dv-ai-editorial .dv-ai-responsive-table,
  .dv-ai-editorial .dv-ai-responsive-table tbody,
  .dv-ai-editorial .dv-ai-responsive-table tr,
  .dv-ai-editorial .dv-ai-responsive-table th,
  .dv-ai-editorial .dv-ai-responsive-table td { display: block; width: 100%; min-width: 0; }
  .dv-ai-editorial .dv-ai-responsive-table { background: transparent; }
  .dv-ai-editorial .dv-ai-responsive-table caption { display: block; padding: 0 0 12px; text-align: left; }
  .dv-ai-editorial .dv-ai-responsive-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .dv-ai-editorial .dv-ai-responsive-table tbody { display: grid; gap: 12px; }
  .dv-ai-editorial .dv-ai-responsive-table tr { overflow: hidden; background: #fff; border: 1px solid #d5e4f1; border-radius: 13px; box-shadow: 0 10px 24px rgba(42,87,132,.05); }
  .dv-ai-editorial .dv-ai-responsive-table th,
  .dv-ai-editorial .dv-ai-responsive-table td { box-sizing: border-box; width: 100% !important; padding: 12px 14px; border: 0; border-bottom: 1px solid #e5edf4; }
  .dv-ai-editorial .dv-ai-responsive-table tr > :last-child { border-bottom: 0; }
  .dv-ai-editorial .dv-ai-responsive-table tbody th { padding: 15px 14px; color: #153e62; background: #eff7fd; font-size: 15px; }
  .dv-ai-editorial .dv-ai-responsive-table td::before { display: block; margin-bottom: 5px; color: #2f7fc5; font: 700 9px "IBM Plex Mono", monospace; letter-spacing: .06em; content: attr(data-label); }
  .clinic-introduction { padding: 54px 18px; }
  .clinic-intro-panel { grid-template-columns: 1fr; padding: 24px 20px; }
  .clinic-identity-list div { grid-template-columns: 96px 1fr; }
  .region-hero { padding: 38px 22px 0; }
  .region-breadcrumb { margin-bottom: 34px; }
  .region-hero h1 { font-size: 32px; }
  .region-stat-row { grid-template-columns: repeat(2, 1fr); }
  .region-stat-row div { min-height: 100px; padding: 17px 16px; border-bottom: 1px solid var(--line); }
  .region-standard, .region-ranking, .region-source { padding: 66px 22px; }
  .region-standard-grid, .source-grid { grid-template-columns: 1fr; }
  .region-standard-grid article { min-height: 0; }
  .evidence-clinic { grid-template-columns: 1fr; padding: 22px; }
  .clinic-rank { flex-direction: row; padding: 0 0 14px; border-right: 0; border-bottom: 1px solid var(--line); }
  .clinic-evidence { grid-column: auto; }
  .clinic-score-row { grid-template-columns: repeat(5, minmax(55px, 1fr)); overflow-x: auto; }
  .region-notice { padding: 62px 22px; }
  .region-notice > div { grid-template-columns: 1fr; }
  .region-notice > div p { padding: 18px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .region-notice > div p:not(:first-child) { padding-left: 0; }
  .article-intro { grid-template-columns: 1fr; padding: 66px 22px; }
  .article-intro-label strong { display: none; }
  .rank-overview, .recommendation-section, .review-compare, .registry-section, .review-method, .article-faq { padding: 66px 22px; }
  .recommendation-card > header { grid-template-columns: 62px 1fr; padding: 22px; }
  .recommendation-card .recommendation-summary { align-items: flex-start; flex-direction: column; }
  .recommendation-body { padding: 22px; }
  .clinic-card-intro { padding: 17px 18px; }
  .platform-evidence-grid { grid-template-columns: 1fr; }
  .platform-evidence { min-height: 160px; }
  .article-score-grid { grid-template-columns: repeat(5, minmax(58px, 1fr)); overflow-x: auto; }
  .review-method-grid, .article-faq { grid-template-columns: 1fr; }
  .review-method-grid article { min-height: 0; }
  .review-rule { grid-template-columns: 1fr; gap: 10px; }
  .registry-heading { align-items: stretch; flex-direction: column; }
  .registry-counter { align-self: start; text-align: left; }
  .registry-toolbar { grid-template-columns: 1fr; }
  .registry-toolbar p { text-align: left; }
  .entity-region-links li { align-items: flex-start; flex-direction: column; gap: 5px; }
  .related-page-groups { grid-template-columns: 1fr; }
  .regions-directory { padding-right: 16px; padding-left: 16px; }
  .directory-hero { padding: 54px 6px 36px; }
  .directory-hero h1 { font-size: 32px; }
  .directory-hero dl { grid-template-columns: 1fr; }
  .directory-hero dl div { border-right: 0; border-bottom: 1px solid var(--line); }
  .directory-group { padding: 24px 16px; border-radius: 17px; }
  .directory-region-grid,.directory-station-grid { grid-template-columns: 1fr; }
  .pilot-hero h1 { font-size: 30px; }
  .pilot-meta { line-height: 1.7; }
  .pilot-roadmap,.pilot-memory { grid-template-columns: 1fr; padding: 56px 22px; }
  .pilot-roadmap ol,.pilot-memory ol { margin-top: 28px; }
  .pilot-roadmap li { grid-template-columns: 1fr; gap: 6px; }
  .pilot-candidates,.pilot-conditions,.pilot-sources { padding: 62px 22px; }
  .pilot-candidate-grid,.pilot-condition-grid,.pilot-source-grid { grid-template-columns: 1fr; }
  .pilot-candidate-note.is-first { grid-column: auto; }
  .pilot-condition-grid article,.pilot-source-grid article { min-height: 0; }
  .featured-clinic { padding: 62px 22px; }
  .featured-clinic-panel { grid-template-columns: 1fr; padding: 16px; }
  .featured-clinic-visual,.featured-clinic-visual img { min-height: 220px; }
  .featured-clinic-heading { display: block; }
  .featured-clinic-action { display: inline-block; margin-top: 16px; }
  .featured-clinic-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .featured-clinic-service-facts { grid-template-columns: 1fr; }
  .featured-clinic-platforms { padding: 20px 15px; }
  .seo-article { padding: 58px 22px; }
  .article-page:has(.reference-article) .article-hero > * { width: auto; margin-right: 22px; margin-left: 22px; }
  .article-page:has(.reference-article) .article-hero h1,
  .article-page:has(.reference-article) .article-hero .region-lead,
  .article-page:has(.reference-article) .article-hero .pilot-meta { width: auto; max-width: none; }
  .article-page:has(.reference-article) .rank-overview > .region-section-head,
  .article-page:has(.reference-article) .rank-overview > .overview-scroll,
  .article-page:has(.reference-article) .recommendation-section > .region-section-head,
  .article-page:has(.reference-article) .recommendation-section > .recommendation-list,
  .article-page:has(.reference-article) .registry-section > *,
  .article-page:has(.reference-article) .article-faq > *,
  .article-page:has(.reference-article) .review-method > * { width: auto; max-width: none; margin-right: 22px; margin-left: 22px; }
  .seo-article p { font-size: 14px; line-height: 1.9; }
  .seo-source-links { grid-template-columns: 1fr; }
  .article-toc { position: static; width: auto; margin: 0 22px; flex-direction: row; flex-wrap: wrap; gap: 8px 14px; padding: 13px 15px; }
  .article-toc p { width: 100%; }
}

.dv-cheapest-line { margin: 0 0 12px; padding: 10px 14px; border-radius: 10px; background: #eef6ff; color: #12365f; font-size: 15px; line-height: 1.55; word-break: keep-all; }
.dv-cheapest-line strong { margin-right: 8px; color: #0b57d0; }
.dv-cheapest-table th, .dv-cheapest-table td { word-break: keep-all; }
.dv-cheapest-table td strong { color: #0b57d0; }
