.yr-cpc {
    --cpc-blue: #28529b;
    --cpc-pale: #f0f8fc;
    color: #555;
    font-size: 16px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}
.yr-cpc *, .yr-cpc *::before, .yr-cpc *::after { box-sizing: border-box; }
.yr-cpc h1, .yr-cpc h2, .yr-cpc h3, .yr-cpc p, .yr-cpc figure, .yr-cpc ol, .yr-cpc dl, .yr-cpc dd { margin: 0; }
.yr-cpc h1, .yr-cpc h2, .yr-cpc h3 { color: var(--cpc-blue); line-height: 1.6; font-weight: 600; }
.yr-cpc h1 { font-size: clamp(25px, 2.8vw, 34px); text-align: center; }
.yr-cpc h2 { font-size: 25px; text-align: center; margin-bottom: 38px; }
.yr-cpc h3 { font-size: 19px; margin-bottom: 12px; }
.yr-cpc p + p { margin-top: 18px; }
.yr-cpc img { display: block; max-width: 100%; height: auto; }
.cpc-container { width: min(900px, calc(100% - 48px)); margin-inline: auto; }
.cpc-section { padding: 56px 0; }
.cpc-banner { height: clamp(190px, 25vw, 390px); overflow: hidden; }
.cpc-banner img { width: 100%; height: 100%; object-fit: cover; object-position: center 47%; }
.yr-cpc #bread_crumb { margin-bottom: 0; }
.yr-cpc .cpc-english { text-align: center; color: var(--cpc-blue); font-size: 15px; letter-spacing: .08em; margin: 6px 0 36px; }
.cpc-intro-photo { width: 100%; max-height: 420px; object-fit: cover; }
.yr-cpc .cpc-subtitle { font-size: 21px; margin: 28px 0 24px; }
.cpc-lead { display: grid; grid-template-columns: 110px 1fr; gap: 28px; color: var(--cpc-blue); }
.cpc-certificate { align-self: start; }
.cpc-certificate img { border: 1px solid #ddd; }
.cpc-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 30px; }
.cpc-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 32px; color: #fff; background: var(--cpc-blue); text-align: center; font-weight: 600; line-height: 1.5; border: 1px solid var(--cpc-blue); transition: background .2s, color .2s; }
.cpc-button:hover { color: var(--cpc-blue); background: #fff; }
.yr-cpc a:focus-visible, .yr-cpc summary:focus-visible, .cpc-table-scroll:focus-visible { outline: 3px solid #58a0df; outline-offset: 4px; }
.cpc-split { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.cpc-split > * { min-width: 0; }
.cpc-split > img { width: 100%; }
.cpc-reverse > :first-child { order: 2; }
.cpc-tinted { background: var(--cpc-pale); }
.cpc-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.cpc-gallery img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.yr-cpc figcaption { font-size: 14px; text-align: center; padding-top: 10px; }
.cpc-reasons { text-align: center; }
.cpc-reasons .cpc-callout { margin-bottom: 24px; }
.cpc-reasons .cpc-container > div + div { margin-top: 22px; }
.cpc-callout { background: #f3f3f3; color: var(--cpc-blue); padding: 25px 30px; text-align: center; }
.cpc-features .cpc-callout { background: var(--cpc-pale); }
.cpc-feature { margin-top: 40px; }
.cpc-feature > img { max-height: 310px; object-fit: cover; }
.cpc-number { display: block; font-size: 30px; font-weight: 300; color: #9faebb; letter-spacing: .12em; }
.cpc-feature > div { text-align: center; }
.cpc-feature p { text-align: left; }
.cpc-doctor { background: var(--cpc-blue); color: #fff; }
.cpc-doctor h2, .cpc-doctor h3 { color: #fff; }
.yr-cpc .cpc-doctor h2 { text-align: left; font-size: 23px; margin-bottom: 20px; }
.cpc-doctor .cpc-split { grid-template-columns: 240px 1fr; }
.cpc-doctor .cpc-split > img { align-self: start; }
.cpc-doctor-details { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 28px; font-size: 14px; }
.cpc-doctor-details > :first-child { grid-column: 1 / -1; border-top: 1px solid #7796c8; padding-top: 24px; }
.cpc-doctor-details h3 { font-size: 16px; }
.cpc-steps { list-style: none; padding: 0; max-width: 740px; margin-inline: auto !important; }
.cpc-steps li { display: grid; grid-template-columns: 220px 1fr; gap: 30px; align-items: center; margin-bottom: 24px; }
.cpc-steps img { width: 100%; height: 150px; object-fit: cover; }
.yr-cpc .cpc-steps h3 { display: inline; font-size: 18px; }
.cpc-step-label { color: #fff; background: var(--cpc-blue); padding: 3px 9px; margin-right: 10px; font-size: 13px; white-space: nowrap; }
.cpc-steps p { margin-top: 12px; }
.cpc-cell-images { margin-top: 40px !important; }
.cpc-cell-images > div { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.cpc-cell-images img { width: 100%; }
.cpc-points { display: grid; grid-template-columns: 1fr 1fr; gap: 34px 40px; }
.cpc-point-label { color: var(--cpc-blue); font-size: 18px; letter-spacing: .06em; }
.cpc-divided { border-top: 1px solid #d2d2d2; padding-top: 50px; }
.cpc-table-scroll { width: 100%; overflow-x: auto; margin-top: 30px; }
.cpc-comparison { width: 100%; min-width: 680px; border-collapse: collapse; table-layout: fixed; line-height: 1.75; font-size: 14px; }
.cpc-comparison th, .cpc-comparison td { padding: 18px; border: 2px solid #fff; vertical-align: top; background: var(--cpc-pale); }
.cpc-comparison th { font-weight: 600; color: var(--cpc-blue); }
.cpc-comparison thead th { text-align: center; font-size: 16px; }
.cpc-comparison thead td, .cpc-comparison tbody th { background: #f0f0f0; width: 17%; }
.cpc-comparison img { width: 125px; height: 74px; object-fit: contain; margin: 20px auto 0; }
.cpc-comparison .cpc-chosen { background: var(--cpc-blue); color: #fff; }
.cpc-table-closing { color: var(--cpc-blue); text-align: center; margin-top: 26px; }
.cpc-quality { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.cpc-quality > div { padding: 30px; background: var(--cpc-pale); }
.cpc-quality > div:nth-child(3n) { background: #f2f2f2; }
.cpc-quality img { width: 85px; height: 85px; object-fit: contain; margin: 0 auto 20px; }
.yr-cpc .cpc-quality h3 { text-align: center; font-size: 18px; }
.cpc-equipment + .cpc-equipment { margin-top: 36px; }
.cpc-equipment.cpc-reverse > :first-child { order: 2; }
.cpc-equipment img { max-height: 420px; object-fit: cover; }
.cpc-treatment-banner { width: 100%; height: 350px; }
.cpc-treatment-banner img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.cpc-treatments { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin: 32px 0; }
.yr-cpc .cpc-treatments h3 { display: inline-block; background: var(--cpc-blue); color: #fff; padding: 5px 20px; }
.cpc-plans { margin: 32px 0 !important; }
.cpc-plans dt { color: var(--cpc-blue); font-weight: 600; margin-top: 12px; }
.cpc-faqs details { border-top: 1px solid #ccc; }
.cpc-faqs details:last-child { border-bottom: 1px solid #ccc; }
.cpc-faqs summary { display: flex; align-items: center; gap: 16px; padding: 22px 4px; cursor: pointer; color: var(--cpc-blue); font-weight: 600; list-style: none; line-height: 1.7; }
.cpc-faqs summary::-webkit-details-marker { display: none; }
.cpc-faqs summary::after { content: '+'; margin-left: auto; font-size: 22px; }
.cpc-faqs details[open] summary::after { content: '−'; }
.cpc-qa { display: inline-flex; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: #f0f2f6; color: #647181; align-items: center; justify-content: center; font-weight: 400; }
.cpc-answer { display: flex; align-items: flex-start; gap: 16px; padding: 0 4px 24px; }
.cpc-answer .cpc-qa { color: #fff; background: var(--cpc-blue); }
.cpc-consult { background: var(--cpc-blue); color: #fff; text-align: center; }
.cpc-consult h2 { color: #fff; }
.cpc-consult .cpc-button { background: #fff; color: var(--cpc-blue); border-color: #fff; }
.cpc-consult .cpc-button:hover { background: #e6eef8; }
.cpc-closing { text-align: center; color: var(--cpc-blue); padding: 36px 0; }
@media (max-width: 800px) {
    .yr-cpc { font-size: 15px; line-height: 1.85; }
    .cpc-container { width: calc(100% - 36px); }
    .cpc-section { padding: 38px 0; }
    .yr-cpc h2 { font-size: 21px; margin-bottom: 26px; }
    .yr-cpc h3 { font-size: 18px; }
    .cpc-lead { grid-template-columns: 75px 1fr; gap: 16px; font-size: 14px; }
    .cpc-split { grid-template-columns: 1fr; gap: 22px; }
    .cpc-reverse > :first-child { order: initial; }
    .cpc-gallery { gap: 20px 14px; }
    .yr-cpc figcaption { font-size: 12px; }
    .cpc-callout { padding: 22px 18px; }
    .cpc-feature { margin-top: 32px; }
    .cpc-feature > img { order: -1 !important; max-height: 260px; }
    .cpc-doctor .cpc-split { grid-template-columns: 1fr; }
    .cpc-doctor .cpc-split > img { width: 180px; margin-inline: auto; }
    .yr-cpc .cpc-doctor h2 { text-align: center; font-size: 21px; }
    .cpc-doctor-details { grid-template-columns: 1fr; }
    .cpc-steps li { grid-template-columns: 110px 1fr; gap: 16px; align-items: start; }
    .cpc-steps img { height: 100px; }
    .cpc-step-label { display: table; margin-bottom: 8px; }
    .yr-cpc .cpc-steps h3 { font-size: 16px; }
    .cpc-cell-images > div { gap: 14px; }
    .cpc-points { gap: 24px; }
    .cpc-quality > div { padding: 20px 16px; }
    .cpc-quality img { width: 65px; height: 65px; }
    .yr-cpc .cpc-quality h3 { font-size: 16px; }
    .cpc-equipment.cpc-reverse > :first-child { order: initial; }
    .cpc-equipment img { max-height: 350px; object-fit: contain; }
    .cpc-treatment-banner { height: 210px; }
    .cpc-divided { padding-top: 32px; }
    .cpc-faqs summary { gap: 12px; }
    .cpc-treatments { gap: 24px; }
    .cpc-button { padding: 12px 22px; }
}
@media (max-width: 480px) {
    .cpc-points, .cpc-quality, .cpc-treatments { grid-template-columns: 1fr; }
    .cpc-quality > div { padding: 25px; }
    .cpc-buttons { flex-direction: column; }
    .cpc-buttons .cpc-button { width: 100%; }
    .cpc-steps li { grid-template-columns: 90px 1fr; gap: 12px; }
    .cpc-faqs summary { font-size: 15px; }
}
