/* 12차(11-09) 대표진료 · 메인 미리보기 — 생성기 ~/tmp/renewal-src/build/ver3-1109-r12/make_r12.py */

/* 재식술: ‘재식술이란?’ 그림 끝과 저서 표지 사이 간격(보이는 간격 PC 약 140px · 모바일 약 90px) */
body.v3sig .r45-intro .v3sig-diff { margin-top: clamp(150px, 10vw + 60px, 250px); }
@media (max-width: 767px) {
  body.v3sig .r45-intro .v3sig-diff { margin-top: 132px; }
}

/* 무통 마취: Specialist 띠 사진 — 흑백을 풂(워커로 따뜻하게 보정한 사진) */
body.v3s .bp-sp__ph img[src*="v3r12-an-sp"] { filter: none; }

/* 세라믹: 원 → 오각형(꼭짓점 5개에 문구 1개씩) */
.v3r12-pg { --R: clamp(175px, 12vw + 52px, 215px); --pad: 40px; --cy: calc(var(--R) + var(--pad)); position: relative; width: min(100%, 900px); height: calc(var(--R) * 1.809 + var(--pad) * 2); margin: clamp(36px, 3.4vw, 56px) auto clamp(60px, 4vw, 90px); }
.v3r12-pg__shape { position: absolute; left: calc(50% - var(--R) * 1.2); top: calc(var(--cy) - var(--R) * 1.2); width: calc(var(--R) * 2.4); height: calc(var(--R) * 2.4); }
.v3r12-pg__shape svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.v3r12-pg__shape polygon { fill: none; vector-effect: non-scaling-stroke; }
.v3r12-pg__out { stroke: rgba(214, 176, 104, .3); stroke-width: 1; stroke-dasharray: 3 6; }
.v3r12-pg__line { stroke: rgba(214, 176, 104, .62); stroke-width: 1.2; }
.v3r12-pg__star { stroke: rgba(214, 176, 104, .16); stroke-width: 1; }
.v3r12-pg__shape img { position: absolute; left: 50%; top: 47.5%; width: calc(var(--R) * .98); height: calc(var(--R) * .98); object-fit: cover; border-radius: 50%; transform: translate(-50%, -50%);
  -webkit-mask-image: radial-gradient(circle, #000 52%, transparent 71%); mask-image: radial-gradient(circle, #000 52%, transparent 71%); }
.v3r12-pg__list { margin: 0; padding: 0; list-style: none; }
.v3r12-pg__pt { position: absolute; left: clamp(4em, calc(50% + var(--x) * var(--R)), calc(100% - 4em)); top: calc(var(--cy) + var(--y) * var(--R)); transform: translate(-50%, -50%);
  padding: 10px 20px 10px 16px; border: 1px solid rgba(214, 176, 104, .55); border-radius: 999px; background: rgba(15, 19, 23, .86); box-shadow: 0 10px 26px -14px rgba(0, 0, 0, .7);
  font-size: clamp(16px, 13px + .4vw, 19px); line-height: 1.4; font-weight: 600; letter-spacing: -0.03em; color: #fff; white-space: nowrap; text-align: center; word-break: keep-all; }
.v3r12-pg__pt::before { content: ""; display: inline-block; width: 7px; height: 7px; margin: 0 10px 0 2px; border-radius: 50%; background: #d6b068; box-shadow: 0 0 0 4px rgba(214, 176, 104, .18); vertical-align: .18em; }
.v3r12-pg__pt b { color: #e2c27f; font-weight: 800; }
@media (max-width: 599px) {
  .v3r12-pg { --R: min(31vw, 124px); --pad: 34px; width: 100%; margin: 22px auto 34px; }
  .v3r12-pg__pt { left: clamp(4em, calc(50% + var(--x) * var(--R)), calc(100% - 4em)); padding: 8px 12px; border-radius: 16px; font-size: 15px; line-height: 1.35; }
  .v3r12-pg__pt::before { display: none; }
  .v3r12-pg__shape img { width: calc(var(--R) * .84); height: calc(var(--R) * .84); }
}
@media (max-width: 359px) {
  .v3r12-pg__pt { padding: 7px 10px; font-size: 14px; }
}

/* 메인: 머리 배너 글자 뒤 검은 흐림(살짝) */
body.v3 .hero--ray .hero__in { isolation: isolate; }
body.v3 .hero--ray .hero__in::after { content: ""; position: absolute; z-index: -1; left: -6%; top: 50%; width: min(980px, 72%); height: 88%; transform: translateY(-46%); pointer-events: none;
  background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(10, 8, 6, .46) 0%, rgba(10, 8, 6, .3) 48%, rgba(10, 8, 6, 0) 100%); filter: blur(26px); }
@media (max-width: 1023px) {
  body.v3 .hero--ray .hero__in::after { left: -14%; width: 128%; height: 96%; transform: translateY(-50%); background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(10, 8, 6, .42) 0%, rgba(10, 8, 6, .26) 52%, rgba(10, 8, 6, 0) 100%); }
}
