@charset "utf-8";

.sec-greetings {padding-bottom: var(--space-100);}
.sec-greetings .contain {display: flex; gap: 25px var(--space-100);}
.greeting-img {flex: 1;}
.greeting-txt {width: 50%;}
.greeting-tag {display: flex; gap: 3px; margin-bottom: var(--space-35);}
.greeting-tag strong:before {content: ''; display: block; width: 150px; height: 1px; margin-right: 8px; background: #555;}
.greeting-tag strong {display: flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 800; letter-spacing: 0; color: var(--dark-color); line-height: 2.5em;}
.greeting-tag span, .sec-hospital-schedule span {display: flex; gap: 3px; margin-left: 10px;}
.greeting-tag span:before, .greeting-tag span:after, .sec-hospital-schedule span:before, .sec-hospital-schedule span:after, .deco-tit span:before, .deco-tit span:after {content: ''; display: block; width: 12px; height: 12px; border-radius: 100%; background: var(--secondary-color);}
.greeting-tag span:after, .sec-hospital-schedule span:after, .deco-tit span:after {background: var(--primary-color);}
.greeting-txt h2 {margin-bottom: var(--space-30); font-size: var(--font-size-28); line-height: 1.2857em; color: var(--dark-color); font-weight: 800;} 

.sec-symbolism {padding: var(--space-100) 0 0; background: #f8f8f8;}
.sec-symbolism .contain {position: relative; display: flex; gap: 20px 35px; padding-bottom: clamp(50px, calc(220 / var(--inner) * 100vw), 220px);}
.sec-symbolism .contain:before {content:''; position: absolute; width: 466px; max-width: 25%; height: 467px; bottom: 0; left: var(--container-space); background: url('../images/sub/symbolism-flower.png') no-repeat left bottom / contain;}
.symbolism-tit {flex:1; color: var(--dark-color); font-weight: 700; font-size: var(--font-size-24); line-height: 1.1667em;}
.symbolism-tit h2 {margin-bottom: var(--space-25); font-size: var(--font-size-28);}
.symbolism-cnt {width: 50%; padding-top: var(--space-100);}
.symbolism-cnt .group {display: flex;}
.symbolism-cnt .group:not(:last-child) {margin-bottom: var(--space-90);}
.symbolism-group-tit {width: 247px; font-size: var(--font-size-26); line-height: 1.1539em; display: flex; gap: 10px;}
.symbolism-group-tit:before {content:''; display: block; width: 20px; height: 20px; margin-top: 6px; border-radius: 100%; background: var(--primary-color);}
.symbolism-cnt .group:nth-child(2) .symbolism-group-tit:before {background: var(--secondary-color);}
.symbolism-group-cnt {flex: 1;}
.symbolism-group-cnt strong {display: block; margin-top: var(--space-55); font-size: var(--font-size-30); line-height: 1.2em; font-weight: 800; color: var(--dark-color);}

.sec-doctor {display: flex; gap: 25px clamp(35px, calc(160 / var(--inner) * 100vw), 160px);}
.sec-doctor:not(:last-child) {margin-bottom: var(--space-80);}
.doctor-img {width: 32.1429%;}
.doctor-txt {flex: 1; padding-top: var(--space-55);}
.doctor-txt h2 {margin-bottom: var(--space-25); font-size: var(--font-size-28); line-height: 1.2857em; color: var(--dark-color); font-weight: 800;}
.doctor-txt li:not(:last-child) {margin-bottom: 6px;}
.doctor-txt li {display: flex;}
.doctor-txt li:before {content:'·'; margin-right: 10px; font-weight: 600; color: var(--primary-color); font-size: var(--font-size-24);}

.page-hospital-tour {line-height: 1.5556em;}
.endoscopy-boxes {display: flex; gap: 12px; margin-bottom: var(--space-40);}
.sec-hospital-room {position: relative; padding-top: var(--space-100); margin-top: var(--space-100);}
.sec-hospital-room:before {content: ''; position: absolute; top: 0; z-index: -1; width: 100%; padding-bottom: 36.4583%; background: url('../images/sub/bg-hospital-room.jpg') no-repeat center center / cover;}
.hospital-tour-tit {display: flex; align-items: center; gap: 20px 35px; margin-bottom: var(--space-35); line-height: 1.5556em; color: #fff;}
.hospital-tour-tit h2 {margin-bottom: var(--space-15); font-weight: 300; font-size: var(--font-size-60); line-height: 1em;}
.hospital-tour-tit strong {display: block; font-size: var(--font-size-28); line-height: 1.2857em; font-weight: 800;}
.hospital-tour-tit p {width: 50%; min-width: max-content; margin-left: auto;}
.hospital-room-cnt .group:not(:last-child) {margin-bottom: var(--space-100);}
.page-hospital-tour h3 {font-size: var(--font-size-28); line-height: 1.2857em; font-weight: 800; color: var(--dark-color);}
.tour-eng-tit {margin-top: 15px; font-size: var(--font-size-36); font-weight: 300; color: var(--primary-color);}
.hospital-room-list>ul {display: flex; flex-wrap: wrap; gap: 14px 0; margin: 0 -6px;}
.hospital-room-list>ul>li {width: 25%; padding: 0 6px;}
.sec-hospital-room img {border-radius: var(--radius-16);}
.hospital-room-list .hospital-tour-txt {padding-top: var(--space-15); padding-left: var(--space-30);}
.hospital-room-cnt .group.flex-wrap {gap: 13px;}
.hospital-room-cnt .group.flex-wrap .wrap {flex: 1;}
.hospital-room-cnt .group.flex-wrap .hospital-tour-txt {margin-top: var(--space-35);}
.clinic-machine-box {display: flex; flex-direction: column; justify-content: center; gap: var(--space-35); height: 100%; border: 1px solid #ddd; border-radius: var(--radius-16); padding: var(--space-30); padding-left: var(--space-40);}
.clinic-machine-box li, .small-num-list li {display: flex; font-weight: 500; font-size: var(--font-size-16);}
.clinic-machine-box li:not(:last-child) {margin-bottom: 5px;}
.clinic-machine-box span, .small-num-list span {display: flex; justify-content: center; align-items: center; min-width: 24px; height: 24px; margin-right: 9px; background: var(--primary-color); border-radius: 100%; font-size: var(--font-size-14); font-weight: 700; color: #fff;}

.page-admission .sec:not(:last-child),
.page-symptom .sec:not(:last-child),
.page-chkup .sec:not(:last-child) {margin-bottom: var(--space-100);}
.page-chkup .cancer-lead {margin-bottom: var(--space-30); font-size: var(--font-size-16); line-height: 1.625em;}
.page-chkup .cancer-liver {margin-top: var(--space-35);}
.page-chkup .cancer-liver .txt {max-width: 720px;}
.sec-admission-boxes {display: flex; flex-wrap: wrap; gap: 12px;}
.admission-box {width: calc(50% - 6px); display: flex; gap: var(--space-50); padding: var(--space-40); border: 1px solid #ddd; border-radius: var(--radius-16);}
.admission-box .txt {flex:1; line-height: 1.5556em;}
.admission-box .num {margin-bottom: var(--space-15); font-size: var(--font-size-24); line-height: 1.2857em; font-weight: 700; color: var(--primary-color);}
.sec-hospital-schedule span, .deco-tit span {margin-left: 0; margin-bottom: var(--space-25);}
.sec-hospital-schedule h2 {margin-bottom: 25px; font-size: var(--font-size-32); font-weight: 800; color: var(--dark-color); line-height: 1em;}
.hospital-schedule-cnt h3 {margin-bottom: var(--space-25); font-size: var(--font-size-26); color: var(--dark-color); font-weight: 700;}
.hospital-schedule-cnt .group:not(:last-child) {margin-bottom: var(--space-55);}
.table-wrap table {width: 100%; border-collapse: collapse; text-align: center; font-size: var(--font-size-16);}
.table-wrap th {font-weight: 600; color: var(--dark-color);}
.sec-hospital-schedule .table-wrap {border-top: 2px solid var(--primary-color);}
.sec-hospital-schedule .table-wrap thead th {background: rgba(125,28,30,.1); border-top: 0;}
.sec-hospital-schedule .table-wrap th, .sec-hospital-schedule .table-wrap td {padding: var(--space-15) 10px; border: 1px solid #ddd;}
.sec-hospital-schedule .table-wrap thead th {border-left-color: #fff; border-right-color: #fff;}
.sec-hospital-schedule .table-wrap tbody tr:nth-child(odd) td:nth-child(even),
.sec-hospital-schedule .table-wrap tbody tr:nth-child(even) td:nth-child(odd) {color: var(--primary-color);}
.sec-hospital-schedule .table-wrap tbody tr:nth-child(odd) td:nth-child(odd),
.sec-hospital-schedule .table-wrap tbody tr:nth-child(even) td:nth-child(even) {color: var(--secondary-color);}

.page-sameday-surgery {gap: 25px 35px;}
.page-sameday-surgery .large-num-list {display: flex; align-items: center; width: 50%;}
.large-num-list li {display: flex;}
.large-num-list li:not(:last-child) {margin-bottom: var(--space-25); padding-bottom: var(--space-25); border-bottom: 1px solid #ddd;}
.large-num-list.type2 {border-top: 1px solid #ddd;}
.large-num-list.type2 li {padding: var(--space-55) 0; border-bottom: 1px solid #ddd;}
.large-num-list.type2 li:not(:last-child) {margin-bottom: 0;}
.large-num-list .num {min-width: 38px; font-size: var(--font-size-24); font-weight: 700; color: var(--primary-color);}
.large-num-list.type2 .num {min-width: 60px; font-size: var(--font-size-32); font-weight: 800;}
.large-num-list .txt {flex: 1; line-height: 1.5556em;}
.large-num-list.type2 .txt {font-size: var(--font-size-16); font-weight: 500; line-height: 1.625em;}

.page-clinic .sec:not(:last-child) {margin-bottom: var(--space-100);}
.sec-clinic-welcome, .sec-clinic-welcome .contain {display: flex; gap: 30px;}
.sec-clinic-welcome .img {max-width: 50%;}
.sec-clinic-welcome .txt {flex: 1; padding-top: var(--space-25); font-size: var(--font-size-16); line-height: 1.625em;}
.sec-clinic-welcome h2 {margin-bottom: 25px; font-size: var(--font-size-32); font-weight: 800; color: var(--dark-color);}

.deco-tit {margin-bottom: 25px; font-size: var(--font-size-32); font-weight: 800; color: var(--dark-color); line-height: 1.2em;}
.deco-tit span {display: flex; gap: 10px;}
.small-num-list {display: flex; gap: 0 var(--space-100); padding: var(--space-30) var(--space-50); border-radius: var(--radius-16); border: 1px solid #ddd;}
.small-num-list li:not(:last-child) {margin-bottom: 6px;}
.small-num-list ol {flex: 1;}

.sec-bg {padding: var(--space-100) 0;}
.colonoscopy .sec-clinic-boxes {background: url('../images/sub/bg-colonoscopy.jpg') no-repeat center center / cover;}
.deco-tit.white-color {color: #fff;}
.deco-tit.center {text-align: center;}
.deco-tit.center span {justify-content: center;}
.hyphen-list li {text-indent: -12px; padding-left: 12px;}
.sec-clinic-boxes h3 {font-size: var(--font-size-26); margin-bottom: 20px;}
.sec-clinic-boxes .group:not(:last-child) {margin-bottom: var(--space-50);}
.clinic-num-boxes {display: flex; gap: 13px;}
.clinic-num-box {flex: 1;padding: var(--space-25) var(--space-30); background: #fff; border: 1px solid #ddd; border-radius: var(--radius-16); font-size: var(--font-size-16); line-height: 1.625em; font-weight: 500;}
.type2 .clinic-num-box {padding: var(--space-40) var(--space-50);}
.clinic-num-box h3 {margin-bottom: 12px; font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color);}
.clinic-num-box h4 {margin-bottom: 4px;font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color);}
.clinic-num-box span {display: block; margin-bottom: var(--space-20); font-size: var(--font-size-32); font-weight: 800; color: var(--primary-color);}
.sec-clinic-treatment.sec-bg {position: relative; padding-bottom: 0;}
.sec-clinic-treatment p {margin-bottom: 25px; font-size: var(--font-size-16); line-height: 1.625em; font-weight: 500;}
.sec-clinic-treatment h2.white-color ~ p {color: #fff;}
.sec-clinic-treatment:before {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 72%; background-repeat: no-repeat; background-position: center center; background-size: cover; z-index: -1;}
.lipoma .sec-clinic-treatment:before {background-image: url('../images/sub/bg-lipoma.jpg');}
.sebaceous-cyst .sec-clinic-treatment:before {background-image: url('../images/sub/bg-sebaceous-cyst.jpg');}
.hs .sec-clinic-treatment:before {background-image: url('../images/sub/bg-hs.jpg');}
.fissure .sec-clinic-treatment:before {background: #f2f2f2;}
.cancer .sec-clinic-treatment:before {background-image: url('../images/sub/bg-cancer.jpg');}
.treatment-imgs {display: flex; justify-content: center; gap: 12px;}
.treatment-imgs .img {width: calc(50% - 6px); border-radius: var(--radius-16); box-shadow: var(--box-shadow02); overflow: hidden;}
.sec-gray {padding: var(--space-100) 0; background: #f2f2f2; font-size: var(--font-size-16); line-height: 1.625em; font-weight: 500;}
.flex-txt-wrap {display: flex; gap: var(--space-40); margin-top: var(--space-55);}
.flex-txt-wrap .txt {flex: 1;}

.sec-symptom-category .deco-tit {margin-bottom: var(--space-50);}
.sec-symptom-category .group:not(:last-child) {margin-bottom: var(--space-100);}
.sec-symptom-category h3 {font-size: var(--font-size-26); margin-bottom: 20px; color: var(--dark-color); font-weight: 700;}
.sec-symptom-category .txt-with-icon {margin-top: var(--space-60); padding-top: var(--space-40); border-top: 1px solid #ddd;}
.four-items {display: flex; flex-wrap: wrap; gap: 13px;}
.four-items .item {width: calc((100% - 39px) / 4);}
.four-items .txt {margin-top: var(--space-30);}
.four-items h4 {margin-bottom: 4px; font-size: var(--font-size-20); line-height: 1.5em; font-weight: 700; color: var(--dark-color);}
.four-items.type2 h4 {margin-bottom: var(--space-20);}
.four-items h4 span {margin-right: 12px; font-weight: 800; font-size: var(--font-size-32); color: var(--primary-color);}
.txt-with-icon {display: flex; align-items: center; gap: var(--space-40);}
.txt-with-icon.mt50 {margin-top: var(--space-50);}
.txt-with-icon.border-box {padding: var(--space-40) var(--space-50); border: 1px solid #ddd; border-radius: var(--radius-16);}
.txt-with-icon .txt {flex: 1;}

.three-items {display: flex; flex-wrap: wrap; gap: var(--space-35); font-size: var(--font-size-16); line-height: 1.625em;}
.three-items .item {width: calc((100% - var(--space-35) * 2) / 3);}
.three-items .txt {margin-top: var(--space-30);}
.three-items h3 {margin-bottom: 4px; font-size: var(--font-size-20); line-height: 1.2em; color: var(--dark-color);}
.three-items ~ .txt-with-icon {margin-top: var(--space-60);}

.two-items {display: flex; flex-wrap: wrap; gap: 12px;}
.two-items .item {width: calc((100% - 12px) / 2);}
.two-items .txt {margin-top: var(--space-30) ;}
.two-items .txt h3 {margin-bottom: 5px; font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color);}

.flex-txt-photo, .sec-description {display: flex; gap:25px 35px ; font-size: var(--font-size-16); line-height: 1.625em;}
.flex-txt-photo .txt {flex: 1;}
.flex-txt-photo .txt .small-num-list {margin-top: var(--space-35); border: 0; padding: 0;}
.flex-txt-photo .img {max-width: 50%;}
.font-size-16 {font-size: var(--font-size-16); line-height: 1.625em; font-weight: 500;}

.fissure .sec-causes {background: url('../images/sub/bg-fissure-causes.jpg') no-repeat center center / cover;}
.sec-causes .flex-txt-photo {gap: 25px 35px; justify-content: space-between;}
.sec-causes .flex-txt-photo .txt {max-width: 50%;}

.sec-description .sec-cnt > *:not(:last-child) {margin-bottom: var(--space-50);}
.chk-border-list .item {background: #fff; border: 1px solid #ddd; border-radius: var(--radius-16); padding: var(--space-40) var(--space-50);}
.chk-border-list h3 {display: flex; align-items: center; margin-bottom: var(--space-10); font-size: var(--font-size-24); color: var(--primary-color); font-weight: 700;}
.chk-border-list h3:before {content: ''; display: inline-block; width: 28px; height: 28px; margin-right: 8px; background: url('../images/sub/icon-chk-border.png') no-repeat center center / contain;}

.sec-flex-groups .contain {display: flex; gap: 40px var(--space-40);}
.sec-flex-groups .group {flex: 1;}
.group-with-tit h3 {margin-bottom: 10px; font-size: var(--font-size-20); font-weight: 800; color: var(--dark-color); line-height: 1.3em;}
.group-with-tit h3.white-color {color: #fff;}
.fissure .sec.group-with-tit {background: url('../images/sub/bg-fissure-after-surgery.jpg') no-repeat center center / cover;}
.fistula .sec.group-with-tit {background: url('../images/sub/bg-fistula-after-surgery.jpg') no-repeat center center / cover;}

.fistula .sec-causes {background: url('../images/sub/bg-fistula-causes.jpg') no-repeat center center / cover;}

.txt-boxes .item {display: flex; flex-direction: column; justify-content: center; padding: var(--space-40) var(--space-50); border: 1px solid #ddd; border-radius: var(--radius-16); font-size: var(--font-size-16); line-height: 1.625em; font-weight: 500;}
.four-items.txt-boxes .txt {margin-top: 10px;}
.four-items.txt-boxes .item {padding: var(--space-30) var(--space-40);}
.four-items.txt-boxes .item h3 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color);}

.five-items {display: flex; gap: 12px; flex-wrap: wrap;}
.five-items .item {width: calc((100% - 12px * 4) / 5);}
.five-items .txt {margin-top: 10px;}
.five-items h3 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color);}

.sec-tit {margin-bottom: var(--space-35);}
.sec-num-boxes h3, .small-tit {margin-bottom: 20px; font-size: var(--font-size-26); font-weight: 700; color: var(--dark-color); line-height: 1.3em;}

.large-border-box {border: 1px solid #ddd; border-radius: var(--radius-16); padding: var(--space-40);}
.small-num-list.type2 {margin-bottom: 10px;}
.small-num-list.type2 {display: block; padding: 0; border: 0;}
.small-num-list.type2 span {justify-content: flex-start; min-width: 27px; margin-right: 0; background: transparent; color: var(--primary-color); font-size: var(--font-size-16); font-weight: 800;}
.white-color .small-num-list.type2 span {color: #fff;}
.small-num-list.type2 li:not(:last-child) {margin-bottom: 2px;}
.sec-therapy .group {display: flex; gap:var(--space-35);}
.sec-therapy .group:not(:last-child) {margin-bottom: 12px;}
.sec-therapy .img {width: 22.7618%;}
.sec-therapy .txt {flex: 1;}

.constipation .sec-caution {background: url('../images/sub/bg-constipation-caution.jpg') no-repeat center center / cover;}
.large-border-box.flex-boxes {display: flex; gap: 12px var(--space-35); flex-wrap:wrap;}
.large-border-box.flex-boxes .group {display: flex; gap: var(--space-35); flex: 1 1 auto; width: calc((100% -  var(--space-35)) / 2);}
.large-border-box.flex-boxes .txt {flex: 1;}

.page-symptom.cancer .sec-difference {margin-bottom: 0; background: url('../images/sub/bg-cancer-difference.jpg') no-repeat center center / cover;}
.treatment-flex-cnt {display: flex; gap:var(--space-80); padding: var(--space-60) var(--space-50); border-radius: var(--radius-16); background: #fff; box-shadow: var(--box-shadow02);}
.treatment-flex-cnt .img {max-width: 50%;}
.treatment-flex-cnt .txt {display: flex; flex-direction: column; gap: var(--space-35); justify-content:space-between; flex: 1;}
.treatment-group-cnt {display: flex; gap: var(--space-35);}
.sec-clinic-treatment .treatment-group-cnt p {flex: 1; margin-bottom: 0;}

.chk-border-list.column .item:not(:last-child) {margin-bottom: 12px;}
.large-border-box h4 {margin-bottom: 12px; font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color);}
.dot-list li {position: relative; padding-left: 20px;}
.dot-list li:before {content:'·'; position: absolute; left: 0; top: 0; font-size: var(--font-size-24); font-weight: 500; color: var(--primary-color); }
.large-border-box .dot-list {display: flex; flex-wrap: wrap; gap: 0 12px;}
.large-border-box .dot-list li {width: calc((100% - 12px) / 2);}
.sec-overview .group:not(:last-child) {margin-bottom: var(--space-50);}

.page-chkup .four-items {gap:var(--space-80) 13px;}
.page-chkup .four-items .txt {margin-top: var(--space-20);}
.page-chkup .four-items h3 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color);}
.page-chkup .four-items p {margin-top: 10px;}
.page-chkup .clinic-num-box .wrap {position: relative; padding-bottom: var(--space-35);}
.page-chkup .clinic-num-box .right-icon {position: absolute; right: 0; bottom: 0;}
.page-chkup .clinic-num-box p {max-width: 350px;}
.page-chkup .txt-with-icon h3 {margin-bottom: 5px; font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color);}

.page-non-covered .sec:not(:last-child) {margin-bottom: var(--space-60);}
.page-non-covered .sec {display: flex; gap: var(--space-50)}
.page-non-covered .group {flex: 1;}
.page-non-covered .group .bg-gray,
.page-non-covered .group .bg-pink,
.page-non-covered .table-wrap th:first-child  {border-left: 0;}
.page-non-covered .table-wrap {width: 100%;}
.page-non-covered .table-wrap table {font-size: var(--font-size-18); border-top: 1px solid var(--dark-color);}
.page-non-covered .bg-pink {background: #faf5f5;}
.page-non-covered .bg-gray {background: #fafafa;}
.page-non-covered .table-wrap thead th {border-top: 0;}
.page-non-covered .table-wrap th {font-weight: 700;}
.page-non-covered .table-wrap th,
.page-non-covered .table-wrap td {padding: clamp(10px, calc(18 / var(--inner) * 100vw), 18px) 10px; border: 1px solid #ddd;}
.page-non-covered .group .table-wrap th,
.page-non-covered .group .table-wrap td {padding: clamp(10px, calc(13 / var(--inner) * 100vw), 13px) 10px;}

.page-non-covered .table-wrap th:last-child,
.page-non-covered .table-wrap td:last-child {border-right: 0;}

/* ========================================
   병원 둘러보기 - 슬라이더 UI
======================================== */
.tour-slider-wrap {padding: var(--space-60) 0 var(--space-100);}
.tour-desc {text-align: center; margin-bottom: var(--space-60);}
.tour-desc h2 {font-size: var(--font-size-46); font-weight: 700; color: var(--dark-color); margin-bottom: var(--space-15); line-height: 1.2em;}
.tour-desc p {font-size: var(--font-size-18); color: #555; line-height: 1.7em;}

/* 메인 슬라이더 */
.tour-main-slider {position: relative; max-width: 1050px; margin: 0 auto 30px; border-radius: var(--radius-30); overflow: hidden; box-shadow: var(--box-shadow01);}
.tour-main-slider .tour-slide {position: relative;}
.tour-main-slider .tour-img {width: 100%; aspect-ratio: 16/9; background: #f3f3f3;}
.tour-main-slider .tour-img img {display: block; width: 100%; height: 100%; object-fit: cover;}
.tour-main-slider .tour-caption {position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); padding: 12px 32px; background: rgba(0,0,0,0.6); color: #fff; font-size: var(--font-size-20); font-weight: 500; border-radius: 999px; backdrop-filter: blur(4px);}

/* 메인 슬라이더 화살표 */
.tour-main-slider .slick-arrow {position: absolute; top: 50%; transform: translateY(-50%); width: 56px; height: 56px; background: rgba(255,255,255,0.9); border: none; border-radius: 50%; z-index: 10; cursor: pointer; box-shadow: 0 2px 12px rgba(0,0,0,0.1); font-size: 0; transition: .2s;}
.tour-main-slider .slick-arrow:hover {background: var(--primary-color);}
.tour-main-slider .slick-prev {left: 24px;}
.tour-main-slider .slick-next {right: 24px;}
.tour-main-slider .slick-arrow::before {content: ''; display: block; position: absolute; top: 50%; left: 50%; width: 12px; height: 12px; border-top: 2px solid #333; border-left: 2px solid #333; transition: .2s;}
.tour-main-slider .slick-prev::before {transform: translate(-30%, -50%) rotate(-45deg);}
.tour-main-slider .slick-next::before {transform: translate(-70%, -50%) rotate(135deg);}
.tour-main-slider .slick-arrow:hover::before {border-color: #fff;}

/* 썸네일 슬라이더 */
.tour-thumb-slider {position: relative; max-width: 1050px; margin: 0 auto; padding: 0 60px;}
.tour-thumb-slider .slick-slide {padding: 0 6px;}
.tour-thumb {cursor: pointer; border-radius: 8px; overflow: hidden; border: 3px solid transparent; transition: .2s; background: #f3f3f3;}
.tour-thumb img {display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover;}
.tour-thumb-slider .slick-current .tour-thumb {border-color: var(--primary-color);}

/* 썸네일 슬라이더 화살표 */
.tour-thumb-slider .slick-arrow {position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; background: #fff; border: 1px solid #ddd; border-radius: 50%; z-index: 10; cursor: pointer; font-size: 0; transition: .2s;}
.tour-thumb-slider .slick-arrow:hover {background: var(--primary-color); border-color: var(--primary-color);}
.tour-thumb-slider .slick-prev {left: 0;}
.tour-thumb-slider .slick-next {right: 0;}
.tour-thumb-slider .slick-arrow::before {content: ''; display: block; position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-top: 2px solid #666; border-left: 2px solid #666; transition: .2s;}
.tour-thumb-slider .slick-prev::before {transform: translate(-30%, -50%) rotate(-45deg);}
.tour-thumb-slider .slick-next::before {transform: translate(-70%, -50%) rotate(135deg);}
.tour-thumb-slider .slick-arrow:hover::before {border-color: #fff;}

/* 반응형 */
@media (max-width: 1024px) {
	.tour-main-slider .tour-caption {bottom: 20px; padding: 10px 24px; font-size: 16px;}
	.tour-main-slider .slick-arrow {width: 44px; height: 44px;}
	.tour-main-slider .slick-prev {left: 16px;}
	.tour-main-slider .slick-next {right: 16px;}
}

@media (max-width: 640px) {
	.tour-slider-wrap {padding: 30px 0 60px;}
	.tour-desc h2 {font-size: 26px;}
	.tour-desc p {font-size: 14px;}
	.tour-main-slider {margin-bottom: 20px; border-radius: 16px;}
	.tour-main-slider .tour-caption {bottom: 16px; padding: 8px 20px; font-size: 14px;}
	.tour-main-slider .slick-arrow {width: 36px; height: 36px;}
	.tour-thumb-slider {padding: 0 40px;}
	.tour-thumb-slider .slick-arrow {width: 32px; height: 32px;}
}

/* ========================================
   인사말 - 세 가지 약속 카드형 디자인
======================================== */
.greeting-promises {margin:50px 0 40px; padding:40px 0 20px; border-top:2px solid var(--dark-color); border-bottom:1px solid #e5e5e5;}
.promise-item {display:flex; gap:36px; align-items:flex-start; padding:32px 0; border-bottom:1px dashed #e5e5e5;}
.promise-item:last-child {border-bottom:none; padding-bottom:20px;}
.promise-num {flex:0 0 auto; min-width:70px; font-size:48px; font-weight:800; color:var(--primary-color); line-height:1; letter-spacing:-0.03em; font-family:'Montserrat', 'Pretendard', sans-serif;}
.promise-cnt {flex:1;}
.promise-cnt h3 {font-size:var(--font-size-24); font-weight:700; color:var(--dark-color); margin-bottom:14px; line-height:1.4em; letter-spacing:-0.02em;}
.promise-cnt p {font-size:var(--font-size-16); line-height:1.9em; color:#555; margin:0;}

/* 서명 */
.greeting-sign {display:flex; align-items:baseline; justify-content:flex-end; gap:10px; margin-top:50px; padding-top:30px; border-top:1px solid #e5e5e5;}
.greeting-sign .sign-role {font-size:var(--font-size-16); color:#666;}
.greeting-sign .sign-name {font-size:var(--font-size-24); font-weight:700; color:var(--dark-color); letter-spacing:0.02em;}
.greeting-sign .sign-hon {font-size:var(--font-size-16); color:#666;}

/* 강조 타이틀 여백 조정 */
.sec-greetings .greeting-txt h2 {margin-bottom:36px;}
.sec-greetings .desc p {margin-bottom:20px;}

/* 반응형 */
@media (max-width: 1024px) {
	.promise-num {font-size:40px; min-width:56px;}
	.promise-item {gap:24px; padding:24px 0;}
}

@media (max-width: 640px) {
	.greeting-promises {margin:36px 0 24px; padding:24px 0 8px;}
	.promise-item {flex-direction:column; gap:8px; padding:20px 0;}
	.promise-num {font-size:32px; min-width:auto;}
	.promise-cnt h3 {font-size:18px; margin-bottom:10px;}
	.promise-cnt p {font-size:14px; line-height:1.8em;}
	.greeting-sign {margin-top:36px; padding-top:24px;}
	.greeting-sign .sign-name {font-size:20px;}
	.greeting-sign .sign-role,
	.greeting-sign .sign-hon {font-size:14px;}
}

/* ========================================
   건강검진 대표 페이지 - 4개 카테고리 카드
======================================== */
.page-checkup-overview {padding: var(--space-60) 0 var(--space-100);}
.checkup-intro {text-align: center; margin-bottom: var(--space-60);}
.checkup-intro h2 {font-size: var(--font-size-40); font-weight: 700; color: var(--dark-color); margin-bottom: var(--space-15); line-height: 1.3em; letter-spacing: -0.02em;}
.checkup-intro p {font-size: var(--font-size-18); color: #555; line-height: 1.7em;}

.checkup-cards {display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;}
.checkup-card {display: flex; flex-direction: column; align-items: center; text-align: center; padding: 40px 24px; background: #fff; border: 1px solid #e5e5e5; border-radius: var(--radius-30); transition: .25s; text-decoration: none;}
.checkup-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,0.12); transform: translateY(-4px);}
.checkup-card-icon {display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 20px; transition: .25s;}
.checkup-card:hover .checkup-card-icon {background: var(--primary-color); color: #fff;}
.checkup-card h3 {font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color); margin-bottom: 12px;}
.checkup-card p {flex: 1; font-size: var(--font-size-16); color: #666; line-height: 1.7em; margin-bottom: 24px;}
.checkup-card-arrow {display: inline-block; font-size: var(--font-size-14); color: var(--primary-color); font-weight: 600; letter-spacing: 0.02em;}

/* 반응형 */
@media (max-width: 1024px) {
	.checkup-cards {grid-template-columns: repeat(2, 1fr);}
	.checkup-intro h2 {font-size: 26px;}
}

@media (max-width: 640px) {
	.page-checkup-overview {padding: 30px 0 60px;}
	.checkup-cards {grid-template-columns: 1fr; gap: 16px;}
	.checkup-card {padding: 28px 20px;}
	.checkup-card-icon {width: 64px; height: 64px;}
	.checkup-card-icon svg {width: 36px; height: 36px;}
	.checkup-card h3 {font-size: 18px;}
	.checkup-card p {font-size: 14px; margin-bottom: 16px;}
	.checkup-intro h2 {font-size: 22px;}
	.checkup-intro p {font-size: 14px;}
}

/* ========================================
   지방종 페이지 (page-lipoma)
   ======================================== */
.page-lipoma section {padding: 0;}
.page-lipoma .contain {padding-top: 0; padding-bottom: 0;}

/* 히어로 */
.lipoma-hero {background: linear-gradient(135deg, #faf5f4 0%, #f5eae8 100%); padding: 80px 0 !important;}
.lipoma-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: 0.05em; margin-bottom: 20px;}
.hero-title {font-size: clamp(36px, calc(64 / var(--inner) * 100vw), 64px) !important; font-weight: 800 !important; color: var(--dark-color); line-height: 1.1em; margin-bottom: 30px !important; letter-spacing: -0.03em;}
.hero-lead {font-size: var(--font-size-18); line-height: 1.9em; color: #444;}
.hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* 강점 카드 */
.lipoma-highlights {padding: 60px 0 !important; background: #fff;}
.highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 900px; margin: 0 auto;}
.highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,0.1); transform: translateY(-4px);}
.hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.hc-title {font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* 공통 섹션 */
.lipoma-section {padding: 80px 0 !important; background: #fff;}
.lipoma-section.section-alt {background: #faf7f5;}
.section-head {text-align: center; margin-bottom: 50px;}
.sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 16px;}
.section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -0.02em; margin-bottom: 12px;}
.sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.6em;}
.section-body {max-width: 960px; margin: 0 auto;}
.section-body p {font-size: var(--font-size-16); line-height: 1.9em; color: #444; margin-bottom: 20px;}
.section-body p strong {color: var(--dark-color); font-weight: 700;}

/* 정보 그리드 */
.info-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 30px 0;}
.info-box {padding: 30px; background: #faf5f4; border-radius: 16px;}
.info-box h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color); margin-bottom: 16px;}
.check-list {list-style: none; padding: 0; margin: 0;}
.check-list li {position: relative; padding-left: 24px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.check-list li::before {content: '✓'; position: absolute; left: 0; top: 0; color: var(--primary-color); font-weight: 700;}

/* 노트 박스 */
.note-box {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; font-size: var(--font-size-15); line-height: 1.8em; color: #444; margin: 30px 0;}
.note-box strong {display: block; color: var(--primary-color); margin-bottom: 8px; font-size: 16px;}

/* 증상 그리드 */
.symptom-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 30px;}
.symptom-item {display: flex; align-items: flex-start; gap: 14px; padding: 20px 24px; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); font-size: var(--font-size-15); line-height: 1.7em; color: #444;}
.sym-icon {flex: 0 0 28px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; background: var(--primary-color); color: #fff; border-radius: 50%; font-weight: 700; font-size: 14px;}
.symptom-item strong {color: var(--dark-color);}

/* 경고 박스 */
.warning-box {display: flex; align-items: flex-start; gap: 16px; padding: 24px 28px; background: #fff5e6; border-left: 4px solid #f0a020; border-radius: 4px; margin: 30px 0;}
.warn-mark {flex: 0 0 32px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; background: #f0a020; color: #fff; border-radius: 50%; font-weight: 700; font-size: 16px;}
.warning-box div {font-size: var(--font-size-15); line-height: 1.7em; color: #6d4a08;}
.warning-box strong {color: #6d4a08;}

/* 스텝 카드 */
.step-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;}
.step-card {padding: 36px 28px; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px; transition: .25s;}
.step-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,0.08);}
.step-num {display: inline-block; padding: 4px 12px; background: var(--primary-color); color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; margin-bottom: 16px;}
.step-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 14px; line-height: 1.4em;}
.step-sub {font-size: 14px; color: #888; font-weight: 500;}
.step-card p {font-size: var(--font-size-15); line-height: 1.8em; color: #555; margin: 0;}

/* 방법 카드 */
.method-cards {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 40px;}
.method-card {padding: 30px 28px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.mc-num {font-size: 30px; font-weight: 800; color: var(--primary-color); line-height: 1; margin-bottom: 14px; letter-spacing: -0.02em;}
.method-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 12px;}
.method-card p {font-size: var(--font-size-15); line-height: 1.8em; color: #555; margin: 0;}

/* 수술 후 관리 */
.aftercare-box {padding: 32px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.aftercare-box h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #e5e5e5;}
.aftercare-list {list-style: none; padding: 0; margin: 0;}
.aftercare-list li {position: relative; padding-left: 20px; font-size: var(--font-size-16); line-height: 2em; color: #444;}
.aftercare-list li::before {content: '•'; position: absolute; left: 0; top: 0; color: var(--primary-color); font-weight: 700; font-size: 20px;}
.aftercare-list strong {color: var(--primary-color); margin-right: 4px;}

/* 타임라인 */
.timeline {display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 30px;}
.tl-item {text-align: center; padding: 24px 12px; background: #fff; border-radius: 12px; border: 1px solid #e5e5e5; position: relative;}
.tl-icon {font-size: 32px; margin-bottom: 10px; line-height: 1;}
.tl-time {display: inline-block; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 12px; font-size: 12px; font-weight: 700; margin-bottom: 8px;}
.tl-item h4 {font-size: 15px; font-weight: 700; color: var(--dark-color); margin-bottom: 6px;}
.tl-item p {font-size: 12px; color: #888; line-height: 1.5em; margin: 0;}
.total-time {text-align: center; padding: 24px; background: var(--dark-color); color: #fff; border-radius: 12px; font-size: var(--font-size-18);}
.total-time strong {color: #FFE9B0;}
.total-time span {display: block; margin-top: 8px; font-size: 14px; color: rgba(255,255,255,0.7);}

/* 비용 안내 */
.cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.cost-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 30px 0;}
.cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px;}
.cost-tag.insurance {background: var(--primary-color); color: #fff;}
.cost-tag.non-insurance {background: #888; color: #fff;}
.cost-item p {font-size: var(--font-size-15); line-height: 1.7em; color: #444; margin: 0;}
.cost-note {padding: 20px; background: #fff5e6; border-left: 4px solid #f0a020; border-radius: 4px; font-size: var(--font-size-15); color: #6d4a08; margin: 0 !important;}

/* FAQ 아코디언 */
.lipoma-faq {display: flex; flex-direction: column; gap: 10px;}
.lipoma-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: .2s;}
.lipoma-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,0.12);}
.lipoma-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.lipoma-faq .faq-q:hover {background: #faf7f6;}
.lipoma-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.lipoma-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.lipoma-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.lipoma-faq .q-arrow::before,
.lipoma-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.lipoma-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.lipoma-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.lipoma-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.lipoma-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.lipoma-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.lipoma-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.9em; color: #555; padding-top: 6px;}

/* 원장님 진료 노트 */
.lipoma-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.dn-photo {position: relative;}
.dn-photo img {display: block; width: 100%; height: auto; }
.dn-content {position: relative;}
.dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: 0.4; line-height: 1; font-family: Georgia, serif;}
.dn-quote {margin: 0; padding: 0; border: none;}
.dn-quote p {font-size: var(--font-size-17); line-height: 1.9em; color: rgba(255,255,255,0.9); margin-bottom: 18px;}
.dn-quote p:last-child {margin-bottom: 0;}
.dn-quote strong {color: #FFE9B0; font-weight: 700;}
.dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.2);}
.dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,0.6); margin-top: 6px;}

/* CTA */
.lipoma-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.lipoma-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 20px; letter-spacing: -0.02em;}
.lipoma-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.7em; margin-bottom: 40px;}
.cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;}
.cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,0.2);}
.cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.cta-icon {font-size: 28px;}
.cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.cta-label {font-size: 13px; opacity: 0.8; font-weight: 500; margin-bottom: 4px;}
.cta-value {font-size: 18px; font-weight: 700;}
.cta-btn.cta-reserve {color: var(--primary-color);}
.cta-btn.cta-reserve:hover {color: #fff;}

/* 반응형 */
@media (max-width: 1024px) {
	.lipoma-hero {padding: 60px 0 !important;}
	.lipoma-section {padding: 60px 0 !important;}
	.info-grid,
	.method-cards,
	.cost-grid {grid-template-columns: 1fr;}
	.step-cards {grid-template-columns: 1fr;}
	.symptom-grid {grid-template-columns: 1fr;}
	.timeline {grid-template-columns: repeat(3, 1fr);}
	.doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
	.dn-photo {max-width: 240px; margin: 0 auto;}
}

@media (max-width: 640px) {
	.lipoma-hero {padding: 40px 0 !important;}
	.lipoma-section {padding: 40px 0 !important;}
	.lipoma-highlights {padding: 40px 0 !important;}
	.highlight-cards {grid-template-columns: 1fr;}
	.timeline {grid-template-columns: repeat(2, 1fr);}
	.section-head {margin-bottom: 30px;}
	.cost-info {padding: 24px;}
	.cta-buttons {flex-direction: column;}
	.cta-btn {min-width: auto; width: 100%;}
	.lipoma-doctor-note {padding: 60px 0 !important;}
	.dn-quote-mark {font-size: 80px; top: -40px;}
	.aftercare-box {padding: 24px;}
	.lipoma-faq .faq-q {padding: 18px 20px; gap: 12px;}
	.lipoma-faq .q-txt {font-size: 15px;}
	.lipoma-faq .faq-a {padding: 0 20px 20px 20px;}
}

/* ========================================
   지방종·피지낭종 당일수술 페이지 (page-skin-tumor)
   ======================================== */
.page-skin-tumor section {padding: 0;}
.page-skin-tumor .contain {padding-top: 0; padding-bottom: 0;}

/* 히어로 - 지방종 페이지와 다른 톤 (더 강렬한 다크) */
.st-hero {background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); padding: 100px 0 !important; color: #fff;}
.st-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.st-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: #FFE9B0; color: #1a2942; border-radius: 999px; font-size: 13px; font-weight: 700; letter-spacing: 0.05em; margin-bottom: 24px;}
.st-hero .hero-title {font-size: clamp(36px, calc(64 / var(--inner) * 100vw), 64px); font-weight: 800; color: #fff; line-height: 1.2em; margin-bottom: 30px; letter-spacing: -0.03em;}
.st-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.9em; color: rgba(255,255,255,0.9);}
.st-hero .hero-lead strong {color: #FFE9B0; font-weight: 700;}

/* 강점 카드 */
.st-highlights {padding: 60px 0 !important; background: #fff;}
.st-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 900px; margin: 0 auto;}
.st-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.st-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,0.1); transform: translateY(-4px);}
.st-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.st-highlights .hc-title {font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.st-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* 공통 섹션 */
.st-section, .sdh-section {padding: 80px 0 !important; background: #fff;}
.st-section.section-alt, .sdh-section.section-alt {background: #faf7f5;}
.st-section .section-head, .sdh-section .section-head {text-align: center; margin-bottom: 50px;}
.st-section .sh-num, .sdh-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 16px;}
.st-section .section-head h3, .sdh-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -0.02em; margin-bottom: 16px;}
.st-section .sh-desc, .sdh-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.7em;}
.st-section .section-body, .sdh-section .section-body {max-width: 960px; margin: 0 auto;}

/* 이유 카드 (왜 하루에 마무리) */
.reason-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.reason-card {padding: 36px 28px; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px; transition: .25s;}
.reason-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,0.08);}
.rc-num {font-size: 32px; font-weight: 800; color: var(--primary-color); line-height: 1; margin-bottom: 14px; letter-spacing: -0.02em;}
.reason-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 14px;}
.reason-card p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.reason-card strong {color: var(--dark-color);}

/* 하루 타임라인 테이블 */
.daytime-table {background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.04);}
.dt-row {display: grid; grid-template-columns: 120px 120px 1fr; align-items: center; padding: 18px 30px; border-bottom: 1px solid #eee; transition: .2s;}
.dt-row:last-child {border-bottom: none;}
.dt-row.header {background: var(--dark-color); color: #fff; font-weight: 700; font-size: 14px; letter-spacing: 0.05em;}
.dt-row.header .dt-time,
.dt-row.header .dt-duration,
.dt-row.header .dt-content {color: #fff;}
.dt-row.highlight {background: #faf5f4;}
.dt-row.final {background: var(--primary-color); color: #fff;}
.dt-row.final .dt-time,
.dt-row.final .dt-duration,
.dt-row.final .dt-content {color: #fff;}
.dt-row.final strong {color: #FFE9B0;}
.dt-time {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color);}
.dt-duration {font-size: var(--font-size-14); color: var(--primary-color); font-weight: 600;}
.dt-content {font-size: var(--font-size-16); color: #444;}
.total-summary {display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 30px; padding: 24px; background: var(--dark-color); color: #fff; border-radius: 12px;}
.ts-label {font-size: 14px; color: rgba(255,255,255,0.7);}
.ts-value {font-size: var(--font-size-20);}
.ts-value strong {color: #FFE9B0; font-size: var(--font-size-24);}
.ts-note {font-size: 13px; color: rgba(255,255,255,0.5); width: 100%; text-align: center;}

/* 정직 안내 (당일수술 가능/불가능) - 이 페이지 핵심 차별화 */
.st-honest {background: linear-gradient(180deg, #fff 0%, #f5f9f7 100%);}
.honest-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 30px;}
.honest-card {padding: 40px 32px; background: #fff; border-radius: 20px; border: 2px solid transparent;}
.honest-card.possible {border-color: #4a9b6c; background: linear-gradient(180deg, #fff 0%, #f0f9f4 100%);}
.honest-card.careful {border-color: #d4913a; background: linear-gradient(180deg, #fff 0%, #fdf6ee 100%);}
.hc-badge {display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 999px; margin-bottom: 24px;}
.honest-card.possible .hc-badge {background: #4a9b6c; color: #fff;}
.honest-card.careful .hc-badge {background: #d4913a; color: #fff;}
.badge-icon {display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: rgba(255,255,255,0.25); border-radius: 50%; font-weight: 700; font-size: 14px;}
.badge-text {font-size: 15px; font-weight: 700;}
.honest-list {list-style: none; padding: 0; margin: 0;}
.honest-list li {position: relative; padding-left: 24px; font-size: var(--font-size-16); line-height: 2em; color: #444;}
.honest-list li strong {color: var(--dark-color);}
.honest-card.possible .honest-list li::before {content: '✓'; position: absolute; left: 0; top: 0; color: #4a9b6c; font-weight: 700;}
.honest-card.careful .honest-list li::before {content: '!'; position: absolute; left: 4px; top: 0; color: #d4913a; font-weight: 700;}
.honest-note {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; margin-top: 24px;}
.honest-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.honest-note strong {color: var(--primary-color);}

/* 수술 진행 방식 */
.surgery-steps {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}
.ss-item {padding: 32px 28px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.ss-num {display: inline-block; padding: 4px 12px; background: var(--primary-color); color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; margin-bottom: 16px;}
.ss-item h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 16px;}
.ss-item ul {list-style: none; padding: 0; margin: 0;}
.ss-item ul li {position: relative; padding-left: 18px; font-size: var(--font-size-15); line-height: 1.9em; color: #555;}
.ss-item ul li::before {content: '•'; position: absolute; left: 0; top: 0; color: var(--primary-color); font-weight: 700; font-size: 18px;}
.ss-item strong {color: var(--dark-color);}

/* 비용 안내 */
.cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.cost-info .cost-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 30px;}
.cost-info .cost-item {padding: 30px; background: #faf5f4; border-radius: 12px;}
.cost-info .cost-tag {display: inline-block; padding: 6px 14px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 16px;}
.cost-info .cost-tag.insurance {background: var(--primary-color); color: #fff;}
.cost-info .cost-tag.non-insurance {background: #888; color: #fff;}
.cost-info .cost-item h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 14px;}
.cost-info .cost-item ul {list-style: none; padding: 0; margin: 0;}
.cost-info .cost-item ul li {position: relative; padding-left: 16px; font-size: var(--font-size-15); line-height: 1.9em; color: #555;}
.cost-info .cost-item ul li::before {content: '·'; position: absolute; left: 0; top: 0; color: var(--primary-color); font-weight: 700; font-size: 20px;}
.cost-cta {display: flex; align-items: center; justify-content: space-between; padding: 24px 28px; background: #faf5f4; border-radius: 12px; flex-wrap: wrap; gap: 16px;}
.cost-cta p {font-size: var(--font-size-15); line-height: 1.7em; color: #444; margin: 0;}
.cost-cta strong {color: var(--primary-color);}
.cost-cta-btn {display: inline-flex; align-items: center; padding: 14px 28px; background: var(--primary-color); color: #fff; border-radius: 999px; font-weight: 700; text-decoration: none; transition: .2s; white-space: nowrap;}
.cost-cta-btn:hover {background: var(--dark-color); transform: translateY(-2px);}

/* 회복 타임라인 */
.recovery-timeline {display: flex; flex-direction: column; gap: 16px;}
.rt-item {display: grid; grid-template-columns: 140px 1fr; gap: 30px; padding: 28px 32px; background: #fff; border-radius: 12px; border-left: 4px solid var(--primary-color); transition: .2s;}
.rt-item:hover {box-shadow: 0 4px 16px rgba(0,0,0,0.06);}
.rt-when {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color);}
.rt-content h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 8px;}
.rt-content p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.rt-content strong {color: var(--dark-color);}

/* FAQ (지방종 페이지와 동일 구조) */
.st-faq, .sdh-faq {display: flex; flex-direction: column; gap: 10px;}
.st-faq .faq-item, .sdh-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: .2s;}
.st-faq .faq-item.active, .sdh-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,0.12);}
.st-faq .faq-q, .sdh-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.st-faq .faq-q:hover, .sdh-faq .faq-q:hover {background: #faf7f6;}
.st-faq .q-num, .sdh-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.st-faq .q-txt, .sdh-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.st-faq .q-arrow, .sdh-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.st-faq .q-arrow::before, .sdh-faq .q-arrow::before,
.st-faq .q-arrow::after, .sdh-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.st-faq .q-arrow::before, .sdh-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.st-faq .faq-item.active .q-arrow::before, .sdh-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.st-faq .faq-a, .sdh-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.st-faq .faq-item.active .faq-a, .sdh-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.st-faq .a-num, .sdh-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.st-faq .a-txt, .sdh-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.9em; color: #555; padding-top: 6px;}

/* 원장 노트 (지방종 페이지와 유사하지만 톤 살짝 상이) */
.st-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #7d1c1e 0%, #521113 100%); color: #fff;}
.st-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.st-doctor-note .dn-photo img {display: block; width: 100%; height: auto; }
.st-doctor-note .dn-content {position: relative;}
.st-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: 0.4; line-height: 1; font-family: Georgia, serif;}
.st-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.st-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.9em; color: rgba(255,255,255,0.92); margin-bottom: 18px;}
.st-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.st-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.st-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.2);}
.st-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.st-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,0.7); margin-top: 6px;}

/* CTA */
.st-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.st-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 20px; letter-spacing: -0.02em;}
.st-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.9em; margin-bottom: 40px;}
.st-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;}
.st-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.st-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,0.2);}
.st-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.st-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.st-cta .cta-icon {font-size: 28px;}
.st-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.st-cta .cta-label {font-size: 13px; opacity: 0.8; font-weight: 500; margin-bottom: 4px;}
.st-cta .cta-value {font-size: 18px; font-weight: 700;}
.st-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.st-cta .cta-btn.cta-reserve:hover {color: #fff;}

/* 반응형 */
@media (max-width: 1024px) {
	.st-hero {padding: 70px 0 !important;}
	.st-section, .sdh-section {padding: 60px 0 !important;}
	.reason-cards,
	.surgery-steps {grid-template-columns: 1fr;}
	.honest-grid {grid-template-columns: 1fr;}
	.cost-info .cost-grid {grid-template-columns: 1fr;}
	.dt-row {grid-template-columns: 90px 100px 1fr; padding: 14px 20px;}
	.st-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
	.st-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;}
}

@media (max-width: 640px) {
	.st-hero {padding: 50px 0 !important;}
	.st-section, .sdh-section {padding: 40px 0 !important;}
	.st-highlights {padding: 40px 0 !important;}
	.st-highlights .highlight-cards {grid-template-columns: 1fr;}
	.dt-row {grid-template-columns: 70px 80px 1fr; padding: 12px 16px; font-size: 13px;}
	.dt-time {font-size: 15px;}
	.dt-duration {font-size: 12px;}
	.dt-content {font-size: 13px;}
	.honest-card {padding: 28px 24px;}
	.cost-info {padding: 24px;}
	.cost-cta {flex-direction: column; align-items: stretch; text-align: center;}
	.rt-item {grid-template-columns: 1fr; gap: 8px; padding: 20px 24px;}
	.rt-when {font-size: 15px;}
	.st-cta .cta-buttons {flex-direction: column;}
	.st-cta .cta-btn {min-width: auto; width: 100%;}
	.st-doctor-note {padding: 60px 0 !important;}
	.st-doctor-note .dn-quote-mark {font-size: 80px; top: -40px;}
	.st-faq .faq-q, .sdh-faq .faq-q {padding: 18px 20px; gap: 12px;}
	.st-faq .q-txt, .sdh-faq .q-txt {font-size: 15px;}
	.st-faq .faq-a, .sdh-faq .faq-a {padding: 0 20px 20px 20px;}
}

/* ========================================
   지방종·피지낭종 당일수술 페이지 - 모바일 UI 개선
   ======================================== */

@media (max-width: 640px) {
    
    /* 히어로 - 크기와 여백 살짝 조정 */
    .st-hero {padding: 40px 0 !important;}
    .st-hero .hero-title {font-size: 30px !important; line-height: 1.3em !important; margin-bottom: 20px;}
    .st-hero .hero-lead {font-size: 15px; line-height: 1.9em;}
    .st-hero .hero-eyebrow {font-size: 11px; padding: 4px 14px; margin-bottom: 16px;}
    
    /* 3개 강점 카드 → 가로 3분할 유지 + 컴팩트하게 */
    .st-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .st-highlights .highlight-card {padding: 20px 8px; border-radius: 12px;}
    .st-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
    .st-highlights .hc-icon svg {width: 24px; height: 24px;}
    .st-highlights .hc-title {font-size: 15px; margin-bottom: 6px;}
    .st-highlights .hc-desc {font-size: 12px; line-height: 1.5em;}
    
    /* 섹션 헤드 - 상단 넘버와 여백 조정 */
    .st-section, .sdh-section {padding: 40px 0 !important;}
    .st-section .section-head, .sdh-section .section-head {margin-bottom: 28px;}
    .st-section .sh-num, .sdh-section .sh-num {font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .st-section .section-head h3, .sdh-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important;}
    .st-section .sh-desc, .sdh-section .sh-desc {font-size: 14px; line-height: 1.7em;}
    
    /* ⭐ 이유 카드 3개 → 박스 벗기고 큰 넘버 + 텍스트 흐름 */
    .reason-cards {grid-template-columns: 1fr !important; gap: 24px; position: relative;}
    .reason-card {padding: 0 0 24px 0 !important; background: transparent !important; border: none !important; border-bottom: 1px solid #e5e5e5 !important; border-radius: 0 !important; box-shadow: none !important; display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: start; transform: none !important;}
    .reason-card:last-child {border-bottom: none !important; padding-bottom: 0 !important;}
    .reason-card:hover {box-shadow: none !important; border-color: #e5e5e5 !important;}
    .rc-num {font-size: 32px !important; margin-bottom: 0 !important; grid-row: 1 / 3;}
    .reason-card h4 {font-size: 17px !important; margin-bottom: 8px !important;}
    .reason-card p {font-size: 14px !important; line-height: 1.8em !important;}
    
    /* 하루 타임라인 - 카드 스타일로 재구성 */
    .daytime-table {border-radius: 10px; overflow: hidden;}
    .dt-row {grid-template-columns: 60px 60px 1fr !important; padding: 12px 14px !important; gap: 10px; font-size: 13px;}
    .dt-time {font-size: 14px !important; font-weight: 700;}
    .dt-duration {font-size: 11px !important;}
    .dt-content {font-size: 13px !important;}
    .dt-row.header {display: none;}  /* 헤더 숨김 - 모바일에서 공간 절약 */
    .total-summary {padding: 18px 16px; margin-top: 20px;}
    .ts-value {font-size: 15px;}
    .ts-value strong {font-size: 18px;}
    .ts-note {font-size: 12px;}
    
    /* 당일수술 가능/불가능 - 박스는 유지하되 컬러 대비 강화 */
    .honest-grid {grid-template-columns: 1fr !important; gap: 14px;}
    .honest-card {padding: 24px 20px !important; border-radius: 14px;}
    .hc-badge {padding: 6px 14px; margin-bottom: 16px;}
    .badge-icon {width: 20px; height: 20px; font-size: 12px;}
    .badge-text {font-size: 13px;}
    .honest-list li {font-size: 14px; line-height: 1.9em; padding-left: 22px;}
    .honest-note {padding: 18px 20px !important; margin-top: 16px !important;}
    .honest-note p {font-size: 13px !important; line-height: 1.8em !important;}
    
    /* ⭐ 수술 진행 4단계 → 수직 타임라인 (좌측 도트 + 세로 라인) */
    .surgery-steps {grid-template-columns: 1fr !important; gap: 0 !important; position: relative; padding-left: 24px;}
    .surgery-steps::before {content: ''; position: absolute; left: 8px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(to bottom, var(--primary-color), rgba(125,28,30,0.2));}
    .ss-item {padding: 0 0 32px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; position: relative;}
    .ss-item:last-child {padding-bottom: 0 !important;}
    .ss-item::before {content: ''; position: absolute; left: -24px; top: 4px; width: 18px; height: 18px; background: var(--primary-color); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px var(--primary-color);}
    .ss-num {display: inline-block !important; padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .ss-item h4 {font-size: 17px !important; margin-bottom: 10px !important;}
    .ss-item ul li {font-size: 14px !important; line-height: 1.9em !important; padding-left: 14px !important;}
    
    /* 비용 안내 - 심플하게 */
    .cost-info {padding: 20px !important; border-radius: 12px;}
    .cost-info .cost-grid {grid-template-columns: 1fr !important; gap: 14px !important;}
    .cost-info .cost-item {padding: 20px !important; border-radius: 10px;}
    .cost-info .cost-tag {padding: 4px 10px; font-size: 11px; margin-bottom: 12px;}
    .cost-info .cost-item h4 {font-size: 15px !important; margin-bottom: 10px !important;}
    .cost-info .cost-item ul li {font-size: 13px !important; line-height: 1.8em !important;}
    .cost-cta {padding: 18px 20px !important; text-align: center;}
    .cost-cta p {font-size: 13px !important; line-height: 1.7em !important;}
    .cost-cta-btn {padding: 12px 24px !important; font-size: 15px; width: 100%; justify-content: center; margin-top: 4px;}
    
    /* ⭐ 회복 타임라인 → 박스 벗기고 좌측 컬러 라인 + 텍스트 */
    .recovery-timeline {gap: 0 !important; position: relative;}
    .rt-item {display: grid !important; grid-template-columns: 1fr !important; gap: 0 !important; padding: 20px 0 20px 20px !important; background: transparent !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e5e5e5 !important; margin-left: 8px;}
    .rt-item:hover {box-shadow: none !important;}
    .rt-item:last-child {border-bottom: none !important;}
    .rt-when {display: inline-block; padding: 3px 10px; background: var(--primary-color); color: #fff !important; border-radius: 999px; font-size: 12px !important; font-weight: 700; margin-bottom: 8px; width: fit-content;}
    .rt-content h4 {font-size: 16px !important; margin-bottom: 8px !important;}
    .rt-content p {font-size: 14px !important; line-height: 1.8em !important;}
    
    /* FAQ - 폰트만 살짝 조정 */
    .st-faq .faq-q, .sdh-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
    .st-faq .q-num, .sdh-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .st-faq .q-txt, .sdh-faq .q-txt {font-size: 14px !important; line-height: 1.55em;}
    .st-faq .faq-a, .sdh-faq .faq-a {padding: 0 18px 20px 18px !important;}
    .st-faq .a-num, .sdh-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .st-faq .a-txt, .sdh-faq .a-txt {font-size: 13px !important; line-height: 1.85em !important;}
    
    /* 원장 노트 - 모바일 최적화 */
    .st-doctor-note {padding: 50px 0 !important;}
    .st-doctor-note .doctor-note-inner {gap: 24px !important;}
    .st-doctor-note .dn-photo {max-width: 160px !important; margin: 0 auto !important;}
    .st-doctor-note .dn-quote-mark {font-size: 60px !important; top: -30px !important; left: 0 !important;}
    .st-doctor-note .dn-quote p {font-size: 14px !important; line-height: 1.9em !important; margin-bottom: 14px;}
    .st-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
    .st-doctor-note .dn-signature strong {font-size: 17px !important;}
    .st-doctor-note .dn-signature span {font-size: 12px !important;}
    
    /* CTA - 심플하게 */
    .st-cta {padding: 50px 0 !important;}
    .st-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
    .st-cta > .contain > p {font-size: 13px !important; line-height: 1.8em; margin-bottom: 24px !important;}
    .st-cta .cta-buttons {gap: 10px;}
    .st-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .st-cta .cta-icon {font-size: 24px;}
    .st-cta .cta-label {font-size: 11px;}
    .st-cta .cta-value {font-size: 16px;}
}

/* 아주 작은 화면 (360px 이하) 추가 대응 */
@media (max-width: 380px) {
    .st-highlights .highlight-cards {gap: 6px;}
    .st-highlights .highlight-card {padding: 16px 4px;}
    .st-highlights .hc-title {font-size: 13px;}
    .st-highlights .hc-desc {font-size: 11px;}
    .dt-row {grid-template-columns: 50px 55px 1fr !important; padding: 10px 12px !important;}
    .st-hero .hero-title {font-size: 26px !important;}
}

/* ========================================
   지방종 페이지 (page-lipoma) - 모바일 UI 개선
   ======================================== */

@media (max-width: 640px) {
    
    /* 히어로 - 크기 조정 */
    .lipoma-hero {padding: 40px 0 !important;}
    .lipoma-hero .hero-title {font-size: 30px !important; line-height: 1.3em !important; margin-bottom: 20px !important;}
    .lipoma-hero .hero-lead {font-size: 15px !important; line-height: 1.9em !important;}
    .lipoma-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}
    
    /* 3개 강점 카드 → 가로 3분할 유지 + 컴팩트 */
    .lipoma-highlights {padding: 30px 0 !important;}
    .lipoma-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .lipoma-highlights .highlight-card {padding: 20px 8px; border-radius: 12px;}
    .lipoma-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
    .lipoma-highlights .hc-icon svg {width: 24px; height: 24px;}
    .lipoma-highlights .hc-title {font-size: 15px; margin-bottom: 6px;}
    .lipoma-highlights .hc-desc {font-size: 12px; line-height: 1.5em;}
    
    /* 섹션 헤드 조정 */
    .lipoma-section {padding: 40px 0 !important;}
    .lipoma-section .section-head {margin-bottom: 28px;}
    .lipoma-section .sh-num {font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .lipoma-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important; margin-bottom: 10px !important;}
    .lipoma-section .sh-desc {font-size: 14px !important; line-height: 1.7em !important;}
    .lipoma-section .section-body p {font-size: 14px !important; line-height: 1.85em !important;}
    
    /* 지방종이란? - info-grid 1컬럼으로 */
    .info-grid {grid-template-columns: 1fr !important; gap: 12px !important; margin: 20px 0 !important;}
    .info-box {padding: 20px !important; border-radius: 12px;}
    .info-box h4 {font-size: 15px !important; margin-bottom: 12px !important;}
    .check-list li {font-size: 14px !important; line-height: 1.9em !important; padding-left: 22px !important;}
    .note-box {padding: 18px 20px !important; margin: 20px 0 !important; font-size: 14px !important; line-height: 1.8em !important;}
    .note-box strong {font-size: 14px !important;}
    
    /* ⭐ 증상 그리드 6개 → 체크리스트 흐름 (박스 벗김) */
    .symptom-grid {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 20px !important; background: #fff; border-radius: 12px; overflow: hidden;}
    .symptom-item {display: flex !important; align-items: flex-start; gap: 12px !important; padding: 14px 18px !important; background: transparent !important; border-radius: 0 !important; border-bottom: 1px solid #f0f0f0 !important; box-shadow: none !important; font-size: 14px !important; line-height: 1.7em !important;}
    .symptom-item:last-child {border-bottom: none !important;}
    .sym-icon {flex: 0 0 22px !important; width: 22px !important; height: 22px !important; font-size: 12px !important; margin-top: 2px;}
    
    /* 경고 박스 조정 */
    .warning-box {padding: 16px 20px !important; margin: 20px 0 !important; gap: 12px !important;}
    .warn-mark {flex: 0 0 26px !important; width: 26px !important; height: 26px !important; font-size: 14px !important;}
    .warning-box div {font-size: 13px !important; line-height: 1.7em !important;}
    
    /* ⭐ 진단 3단계 → 세로 타임라인 (좌측 도트 + 세로 라인) */
    .step-cards {grid-template-columns: 1fr !important; gap: 0 !important; position: relative; padding-left: 24px;}
    .step-cards::before {content: ''; position: absolute; left: 8px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(to bottom, var(--primary-color), rgba(125,28,30,0.2));}
    .step-card {padding: 0 0 28px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; position: relative;}
    .step-card:last-child {padding-bottom: 0 !important;}
    .step-card:hover {box-shadow: none !important; border-color: transparent !important;}
    .step-card::before {content: ''; position: absolute; left: -24px; top: 4px; width: 18px; height: 18px; background: var(--primary-color); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px var(--primary-color);}
    .step-num {display: inline-block !important; padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .step-card h4 {font-size: 17px !important; margin-bottom: 8px !important;}
    .step-sub {font-size: 12px !important;}
    .step-card p {font-size: 14px !important; line-height: 1.85em !important;}
    
    /* ⭐ 치료 방법 4개 카드 → 박스 벗기고 큰 넘버 + 텍스트 흐름 */
    .method-cards {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 24px !important;}
    .method-card {padding: 22px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e5e5e5 !important; display: grid !important; grid-template-columns: 44px 1fr !important; gap: 14px !important; align-items: start;}
    .method-card:last-child {border-bottom: none !important;}
    .mc-num {font-size: 30px !important; margin-bottom: 0 !important; grid-row: 1 / 3;}
    .method-card h4 {font-size: 16px !important; margin-bottom: 6px !important;}
    .method-card p {font-size: 14px !important; line-height: 1.85em !important;}
    
    /* 수술 후 관리 - 심플하게 */
    .aftercare-box {padding: 24px 22px !important; border-radius: 12px; border-width: 1px !important;}
    .aftercare-box h4 {font-size: 16px !important; margin-bottom: 14px !important; padding-bottom: 12px !important;}
    .aftercare-list li {font-size: 14px !important; line-height: 1.9em !important; padding-left: 16px !important;}
    
    /* ⭐ 진료 절차 타임라인 6개 → 세로 리스트 (좌측 컬러 라인) */
    .timeline {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 20px !important; position: relative;}
    .tl-item {text-align: left !important; padding: 16px 0 16px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e5e5e5 !important; margin-left: 8px; display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center;}
    .tl-item:last-child {border-bottom: none !important;}
    .tl-icon {font-size: 22px !important; margin-bottom: 0 !important; line-height: 1;}
    .tl-time {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 0 !important; margin-left: 0 !important; grid-column: 2; justify-self: start; width: fit-content;}
    .tl-item h4 {font-size: 14px !important; margin-bottom: 2px !important; grid-column: 2;}
    .tl-item p {font-size: 12px !important; margin: 0 !important; grid-column: 2;}
    
    /* 총 소요 시간 박스 */
    .total-time {padding: 18px 16px !important; font-size: 14px !important; line-height: 1.7em;}
    .total-time strong {font-size: 15px;}
    .total-time span {font-size: 12px !important; margin-top: 6px !important;}
    
    /* 비용 안내 - 심플 */
    .cost-info {padding: 22px !important; border-radius: 12px;}
    .cost-info p {font-size: 14px !important; line-height: 1.85em !important;}
    .cost-grid {grid-template-columns: 1fr !important; gap: 12px !important; margin: 20px 0 !important;}
    .cost-item {padding: 18px !important; border-radius: 10px;}
    .cost-tag {padding: 4px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .cost-item p {font-size: 13px !important; line-height: 1.7em !important;}
    .cost-note {padding: 14px 18px !important; font-size: 13px !important; line-height: 1.7em;}
    
    /* FAQ - 폰트 조정 */
    .lipoma-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
    .lipoma-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .lipoma-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
    .lipoma-faq .faq-a {padding: 0 18px 20px 18px !important;}
    .lipoma-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .lipoma-faq .a-txt {font-size: 13px !important; line-height: 1.85em !important;}
    
    /* 원장 노트 - 모바일 최적화 */
    .lipoma-doctor-note {padding: 50px 0 !important;}
    .doctor-note-inner {gap: 24px !important;}
    .dn-photo {max-width: 160px !important; margin: 0 auto !important;}
    .dn-quote-mark {font-size: 60px !important; top: -30px !important; left: 0 !important;}
    .dn-quote p {font-size: 14px !important; line-height: 1.9em !important; margin-bottom: 14px;}
    .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
    .dn-signature strong {font-size: 17px !important;}
    .dn-signature span {font-size: 12px !important;}
    
    /* CTA - 심플 */
    .lipoma-cta {padding: 50px 0 !important;}
    .lipoma-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
    .lipoma-cta > .contain > p {font-size: 13px !important; line-height: 1.8em !important; margin-bottom: 24px !important;}
    .lipoma-cta .cta-buttons {gap: 10px;}
    .lipoma-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .lipoma-cta .cta-icon {font-size: 24px;}
    .lipoma-cta .cta-label {font-size: 11px;}
    .lipoma-cta .cta-value {font-size: 16px;}
}

/* 아주 작은 화면 (380px 이하) 추가 대응 */
@media (max-width: 380px) {
    .lipoma-highlights .highlight-cards {gap: 6px;}
    .lipoma-highlights .highlight-card {padding: 16px 4px;}
    .lipoma-highlights .hc-title {font-size: 13px;}
    .lipoma-highlights .hc-desc {font-size: 11px;}
    .lipoma-hero .hero-title {font-size: 26px !important;}
}


/* ========================================
   피지낭종 페이지 (page-sc)
   지방종 페이지 스타일 재사용 + 이 페이지 특별 요소
   ======================================== */
.page-sc section {padding: 0;}
.page-sc .contain {padding-top: 0; padding-bottom: 0;}

/* 히어로 - 지방종보다 약간 밝은 톤 (차별화) */
.sc-hero {background: linear-gradient(135deg, #f5efec 0%, #ebe0da 100%); padding: 80px 0 !important;}
.sc-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.sc-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: 0.05em; margin-bottom: 20px;}
.sc-hero .hero-title {font-size: clamp(36px, calc(64 / var(--inner) * 100vw), 64px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 30px; letter-spacing: -0.03em;}
.sc-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.9em; color: #444;}
.sc-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* 강점 카드 */
.sc-highlights {padding: 60px 0 !important; background: #fff;}
.sc-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 900px; margin: 0 auto;}
.sc-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.sc-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,0.1); transform: translateY(-4px);}
.sc-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.sc-highlights .hc-title {font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.sc-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* 공통 섹션 */
.sc-section {padding: 80px 0 !important; background: #fff;}
.sc-section.section-alt {background: #faf7f5;}
.sc-section .section-head {text-align: center; margin-bottom: 50px;}
.sc-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 16px;}
.sc-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -0.02em; margin-bottom: 12px;}
.sc-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.7em;}
.sc-section .sh-desc strong {color: var(--primary-color);}
.sc-section .section-body {max-width: 960px; margin: 0 auto;}
.sc-section .section-body p {font-size: var(--font-size-16); line-height: 1.9em; color: #444; margin-bottom: 20px;}
.sc-section .section-body p strong {color: var(--dark-color); font-weight: 700;}

/* info-grid, info-box, check-list, note-box - 지방종과 동일 */
.page-sc .info-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 30px 0;}
.page-sc .info-box {padding: 30px; background: #faf5f4; border-radius: 16px;}
.page-sc .info-box h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color); margin-bottom: 16px;}
.page-sc .check-list {list-style: none; padding: 0; margin: 0;}
.page-sc .check-list li {position: relative; padding-left: 24px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.page-sc .check-list li::before {content: '✓'; position: absolute; left: 0; top: 0; color: var(--primary-color); font-weight: 700;}
.page-sc .note-box {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; font-size: var(--font-size-15); line-height: 1.8em; color: #444; margin: 30px 0;}
.page-sc .note-box strong {display: block; color: var(--primary-color); margin-bottom: 8px; font-size: 16px;}

/* ⭐ 지방종 vs 피지낭종 비교 테이블 (신규) */
.compare-table-wrap {overflow-x: auto; margin: 20px 0 30px; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,0.06);}
.compare-table {width: 100%; border-collapse: collapse; background: #fff; min-width: 640px;}
.compare-table thead {background: var(--dark-color);}
.compare-table th {padding: 18px 20px; color: #fff; font-size: var(--font-size-15); font-weight: 700; text-align: left; letter-spacing: 0.02em;}
.compare-table th.th-item {width: 24%; background: #333;}
.compare-table th.th-sc {background: var(--primary-color); position: relative;}
.compare-table th.th-sc::before {content: '★'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: #FFE9B0; font-size: 14px;}
.compare-table th.th-lipoma {background: #666;}
.compare-table tbody tr {border-bottom: 1px solid #f0f0f0; transition: .15s;}
.compare-table tbody tr:hover {background: #faf5f4;}
.compare-table tbody tr:last-child {border-bottom: none;}
.compare-table td {padding: 16px 20px; font-size: var(--font-size-15); color: #444; line-height: 1.6em;}
.compare-table td.td-item {font-weight: 700; color: var(--dark-color); background: #faf7f5;}
.compare-table td strong {color: var(--primary-color); font-weight: 700;}

/* ⭐ 짜지 마세요 경고 섹션 (신규) */
.sc-warning-section {background: linear-gradient(180deg, #fff5e6 0%, #fdf6ee 100%);}
.danger-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 30px;}
.danger-card {padding: 32px 24px; background: #fff; border-radius: 16px; border: 2px solid #f4d5a0; transition: .25s;}
.danger-card:hover {border-color: #e89b3a; box-shadow: 0 8px 24px rgba(232,155,58,0.15);}
.dc-icon {display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; background: #fef3e0; color: #e89b3a; border-radius: 50%; margin-bottom: 16px;}
.danger-card h4 {font-size: var(--font-size-18); font-weight: 700; color: #6d4a08; margin-bottom: 12px; line-height: 1.4em;}
.danger-card p {font-size: var(--font-size-15); line-height: 1.8em; color: #6d4a08; margin: 0;}
.danger-card strong {color: #a3540e; font-weight: 700;}

.solution-box {padding: 32px 36px; background: #fff; border-radius: 16px; border-left: 5px solid #4a9b6c;}
.sb-tit {display: flex; align-items: center; gap: 12px; font-size: var(--font-size-18); font-weight: 700; color: #2f6a4a; margin-bottom: 14px;}
.sb-check {display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #4a9b6c; color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.solution-box p {font-size: var(--font-size-15); line-height: 1.9em; color: #2f6a4a; margin: 0;}
.solution-box strong {color: #185338; font-weight: 700;}

/* 증상 그리드 */
.page-sc .symptom-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 30px;}
.page-sc .symptom-item {display: flex; align-items: flex-start; gap: 14px; padding: 20px 24px; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.04); font-size: var(--font-size-15); line-height: 1.7em; color: #444;}
.page-sc .sym-icon {flex: 0 0 28px; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; background: var(--primary-color); color: #fff; border-radius: 50%; font-weight: 700; font-size: 14px;}
.page-sc .symptom-item strong {color: var(--dark-color);}

/* 경고 박스 */
.page-sc .warning-box {display: flex; align-items: flex-start; gap: 16px; padding: 24px 28px; background: #fff5e6; border-left: 4px solid #f0a020; border-radius: 4px; margin: 30px 0;}
.page-sc .warn-mark {flex: 0 0 32px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; background: #f0a020; color: #fff; border-radius: 50%; font-weight: 700; font-size: 16px;}
.page-sc .warning-box div {font-size: var(--font-size-15); line-height: 1.7em; color: #6d4a08;}
.page-sc .warning-box strong {color: #6d4a08;}

/* 스텝 카드 */
.page-sc .step-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;}
.page-sc .step-card {padding: 36px 28px; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px; transition: .25s;}
.page-sc .step-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,0.08);}
.page-sc .step-num {display: inline-block; padding: 4px 12px; background: var(--primary-color); color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; margin-bottom: 16px;}
.page-sc .step-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 14px; line-height: 1.4em;}
.page-sc .step-sub {font-size: 14px; color: #888; font-weight: 500;}
.page-sc .step-card p {font-size: var(--font-size-15); line-height: 1.8em; color: #555; margin: 0;}
.page-sc .step-card strong {color: var(--primary-color);}

/* 방법 카드 */
.page-sc .method-cards {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 40px;}
.page-sc .method-card {padding: 30px 28px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-sc .mc-num {font-size: 30px; font-weight: 800; color: var(--primary-color); line-height: 1; margin-bottom: 14px; letter-spacing: -0.02em;}
.page-sc .method-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 12px;}
.page-sc .method-card p {font-size: var(--font-size-15); line-height: 1.8em; color: #555; margin: 0;}
.page-sc .method-card strong {color: var(--primary-color);}

/* 수술 후 관리 */
.page-sc .aftercare-box {padding: 32px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.page-sc .aftercare-box h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #e5e5e5;}
.page-sc .aftercare-list {list-style: none; padding: 0; margin: 0;}
.page-sc .aftercare-list li {position: relative; padding-left: 20px; font-size: var(--font-size-16); line-height: 2em; color: #444;}
.page-sc .aftercare-list li::before {content: '•'; position: absolute; left: 0; top: 0; color: var(--primary-color); font-weight: 700; font-size: 20px;}
.page-sc .aftercare-list strong {color: var(--primary-color); margin-right: 4px;}

/* 타임라인 */
.page-sc .timeline {display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 30px;}
.page-sc .tl-item {text-align: center; padding: 24px 12px; background: #fff; border-radius: 12px; border: 1px solid #e5e5e5;}
.page-sc .tl-icon {font-size: 32px; margin-bottom: 10px; line-height: 1;}
.page-sc .tl-time {display: inline-block; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 12px; font-size: 12px; font-weight: 700; margin-bottom: 8px;}
.page-sc .tl-item h4 {font-size: 15px; font-weight: 700; color: var(--dark-color); margin-bottom: 6px;}
.page-sc .tl-item p {font-size: 12px; color: #888; line-height: 1.5em; margin: 0;}
.page-sc .total-time {text-align: center; padding: 24px; background: var(--dark-color); color: #fff; border-radius: 12px; font-size: var(--font-size-18);}
.page-sc .total-time strong {color: #FFE9B0;}
.page-sc .total-time span {display: block; margin-top: 8px; font-size: 14px; color: rgba(255,255,255,0.7);}

/* 비용 안내 */
.page-sc .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-sc .cost-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 30px 0;}
.page-sc .cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.page-sc .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px;}
.page-sc .cost-tag.insurance {background: var(--primary-color); color: #fff;}
.page-sc .cost-tag.non-insurance {background: #888; color: #fff;}
.page-sc .cost-item p {font-size: var(--font-size-15); line-height: 1.7em; color: #444; margin: 0;}
.page-sc .cost-note {padding: 20px; background: #fff5e6; border-left: 4px solid #f0a020; border-radius: 4px; font-size: var(--font-size-15); color: #6d4a08; margin: 0 !important;}

/* FAQ 아코디언 */
.sc-faq {display: flex; flex-direction: column; gap: 10px;}
.sc-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: .2s;}
.sc-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,0.12);}
.sc-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.sc-faq .faq-q:hover {background: #faf7f6;}
.sc-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.sc-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.sc-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.sc-faq .q-arrow::before,
.sc-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.sc-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.sc-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.sc-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.sc-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.sc-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.sc-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.9em; color: #555; padding-top: 6px;}
.sc-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장님 진료 노트 */
.sc-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.sc-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.sc-doctor-note .dn-photo img {display: block; width: 100%; height: auto; }
.sc-doctor-note .dn-content {position: relative;}
.sc-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: 0.4; line-height: 1; font-family: Georgia, serif;}
.sc-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.sc-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.9em; color: rgba(255,255,255,0.9); margin-bottom: 18px;}
.sc-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.sc-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.sc-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.2);}
.sc-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.sc-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,0.6); margin-top: 6px;}

/* CTA */
.sc-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.sc-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 20px; letter-spacing: -0.02em;}
.sc-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.7em; margin-bottom: 40px;}
.sc-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;}
.sc-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.sc-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,0.2);}
.sc-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.sc-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.sc-cta .cta-icon {font-size: 28px;}
.sc-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.sc-cta .cta-label {font-size: 13px; opacity: 0.8; font-weight: 500; margin-bottom: 4px;}
.sc-cta .cta-value {font-size: 18px; font-weight: 700;}
.sc-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.sc-cta .cta-btn.cta-reserve:hover {color: #fff;}

/* ========================================
   피지낭종 페이지 - 태블릿·모바일 최적화
   ======================================== */
@media (max-width: 1024px) {
	.sc-hero {padding: 60px 0 !important;}
	.sc-section {padding: 60px 0 !important;}
	.page-sc .info-grid,
	.page-sc .method-cards,
	.page-sc .cost-grid {grid-template-columns: 1fr;}
	.page-sc .step-cards {grid-template-columns: 1fr;}
	.page-sc .symptom-grid {grid-template-columns: 1fr;}
	.page-sc .timeline {grid-template-columns: repeat(3, 1fr);}
	.danger-cards {grid-template-columns: 1fr;}
	.sc-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
	.sc-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;}
}

@media (max-width: 640px) {
	/* 히어로 */
	.sc-hero {padding: 40px 0 !important;}
	.sc-hero .hero-title {font-size: 30px !important; line-height: 1.3em !important;}
	.sc-hero .hero-lead {font-size: 15px !important; line-height: 1.9em !important;}
	.sc-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important;}

	/* 3개 강점 카드 → 가로 3분할 유지 (컴팩트) */
	.sc-highlights {padding: 30px 0 !important;}
	.sc-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
	.sc-highlights .highlight-card {padding: 20px 8px;}
	.sc-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
	.sc-highlights .hc-icon svg {width: 24px; height: 24px;}
	.sc-highlights .hc-title {font-size: 15px; margin-bottom: 6px;}
	.sc-highlights .hc-desc {font-size: 12px; line-height: 1.5em;}

	/* 섹션 헤드 */
	.sc-section {padding: 40px 0 !important;}
	.sc-section .section-head {margin-bottom: 28px;}
	.sc-section .sh-num {font-size: 11px; padding: 3px 12px;}
	.sc-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important;}
	.sc-section .sh-desc {font-size: 14px !important; line-height: 1.7em !important;}
	.sc-section .section-body p {font-size: 14px !important; line-height: 1.85em !important;}

	/* info-grid 1컬럼 */
	.page-sc .info-grid {grid-template-columns: 1fr !important; gap: 12px !important;}
	.page-sc .info-box {padding: 20px !important;}
	.page-sc .info-box h4 {font-size: 15px !important; margin-bottom: 12px !important;}
	.page-sc .check-list li {font-size: 14px !important; line-height: 1.9em !important;}
	.page-sc .note-box {padding: 18px 20px !important; font-size: 14px !important; line-height: 1.8em !important;}

	/* 비교 테이블 - 모바일에서 카드형으로 재구성 */
	.compare-table-wrap {margin: 12px -8px 20px; box-shadow: none;}
	.compare-table {min-width: auto; border-radius: 0;}
	.compare-table thead {display: none;}
	.compare-table tbody tr {display: block; margin-bottom: 14px; background: #fff; border-radius: 12px; padding: 8px 4px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); border-bottom: none !important;}
	.compare-table td {display: block; padding: 8px 16px; font-size: 13px; border-bottom: 1px solid #f0f0f0; position: relative; padding-left: 88px;}
	.compare-table td:last-child {border-bottom: none;}
	.compare-table td.td-item {background: transparent; padding: 12px 16px 8px; font-size: 15px; border-bottom: 2px solid var(--primary-color); margin-bottom: 6px;}
	.compare-table td:not(.td-item)::before {content: attr(data-label); position: absolute; left: 16px; top: 8px; font-weight: 700; color: var(--primary-color); font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em;}
	.compare-table td:nth-of-type(2):not(.td-item)::before {content: '피지낭종';}
	.compare-table td:nth-of-type(3):not(.td-item)::before {content: '지방종'; color: #888;}

	/* 짜지 마세요 섹션 - 세로 스택 */
	.danger-cards {grid-template-columns: 1fr !important; gap: 12px;}
	.danger-card {padding: 20px 22px !important; border-width: 1px !important;}
	.dc-icon {width: 42px !important; height: 42px !important; margin-bottom: 12px !important;}
	.dc-icon svg {width: 26px !important; height: 26px !important;}
	.danger-card h4 {font-size: 16px !important; margin-bottom: 8px !important;}
	.danger-card p {font-size: 13px !important; line-height: 1.8em !important;}
	.solution-box {padding: 22px 20px !important;}
	.sb-tit {font-size: 15px !important; margin-bottom: 10px !important;}
	.sb-check {width: 24px !important; height: 24px !important; font-size: 13px !important;}
	.solution-box p {font-size: 13px !important; line-height: 1.8em !important;}

	/* 증상 → 체크리스트 흐름 */
	.page-sc .symptom-grid {grid-template-columns: 1fr !important; gap: 0 !important; background: #fff; border-radius: 12px; overflow: hidden;}
	.page-sc .symptom-item {padding: 14px 18px !important; background: transparent !important; border-radius: 0 !important; border-bottom: 1px solid #f0f0f0 !important; box-shadow: none !important; font-size: 14px !important;}
	.page-sc .symptom-item:last-child {border-bottom: none !important;}
	.page-sc .sym-icon {flex: 0 0 22px !important; width: 22px !important; height: 22px !important; font-size: 12px !important;}
	.page-sc .warning-box {padding: 16px 20px !important; gap: 12px !important;}
	.page-sc .warn-mark {flex: 0 0 26px !important; width: 26px !important; height: 26px !important; font-size: 14px !important;}
	.page-sc .warning-box div {font-size: 13px !important; line-height: 1.7em !important;}

	/* 진단 3단계 → 세로 타임라인 */
	.page-sc .step-cards {grid-template-columns: 1fr !important; gap: 0 !important; position: relative; padding-left: 24px;}
	.page-sc .step-cards::before {content: ''; position: absolute; left: 8px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(to bottom, var(--primary-color), rgba(125,28,30,0.2));}
	.page-sc .step-card {padding: 0 0 28px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; position: relative;}
	.page-sc .step-card:last-child {padding-bottom: 0 !important;}
	.page-sc .step-card:hover {box-shadow: none !important; border-color: transparent !important;}
	.page-sc .step-card::before {content: ''; position: absolute; left: -24px; top: 4px; width: 18px; height: 18px; background: var(--primary-color); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px var(--primary-color);}
	.page-sc .step-num {display: inline-block !important; padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
	.page-sc .step-card h4 {font-size: 17px !important; margin-bottom: 8px !important;}
	.page-sc .step-sub {font-size: 12px !important;}
	.page-sc .step-card p {font-size: 14px !important; line-height: 1.85em !important;}

	/* 방법 카드 → 박스 벗기고 큰 넘버 + 텍스트 흐름 */
	.page-sc .method-cards {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 24px !important;}
	.page-sc .method-card {padding: 22px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e5e5e5 !important; display: grid !important; grid-template-columns: 44px 1fr !important; gap: 14px !important; align-items: start;}
	.page-sc .method-card:last-child {border-bottom: none !important;}
	.page-sc .mc-num {font-size: 30px !important; margin-bottom: 0 !important; grid-row: 1 / 3;}
	.page-sc .method-card h4 {font-size: 16px !important; margin-bottom: 6px !important;}
	.page-sc .method-card p {font-size: 14px !important; line-height: 1.85em !important;}

	/* 수술 후 관리 */
	.page-sc .aftercare-box {padding: 24px 22px !important; border-width: 1px !important;}
	.page-sc .aftercare-box h4 {font-size: 16px !important; margin-bottom: 14px !important;}
	.page-sc .aftercare-list li {font-size: 14px !important; line-height: 1.9em !important;}

	/* 진료 절차 타임라인 → 세로 리스트 */
	.page-sc .timeline {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 20px !important;}
	.page-sc .tl-item {text-align: left !important; padding: 16px 0 16px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e5e5e5 !important; margin-left: 8px; display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center;}
	.page-sc .tl-item:last-child {border-bottom: none !important;}
	.page-sc .tl-icon {font-size: 22px !important; margin-bottom: 0 !important;}
	.page-sc .tl-time {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 0 !important; grid-column: 2; justify-self: start; width: fit-content;}
	.page-sc .tl-item h4 {font-size: 14px !important; margin-bottom: 2px !important; grid-column: 2;}
	.page-sc .tl-item p {font-size: 12px !important; margin: 0 !important; grid-column: 2;}
	.page-sc .total-time {padding: 18px 16px !important; font-size: 14px !important;}
	.page-sc .total-time strong {font-size: 15px;}
	.page-sc .total-time span {font-size: 12px !important;}

	/* 비용 */
	.page-sc .cost-info {padding: 22px !important;}
	.page-sc .cost-grid {grid-template-columns: 1fr !important; gap: 12px !important;}
	.page-sc .cost-item {padding: 18px !important;}
	.page-sc .cost-tag {padding: 4px 10px !important; font-size: 11px !important;}
	.page-sc .cost-item p {font-size: 13px !important;}
	.page-sc .cost-note {padding: 14px 18px !important; font-size: 13px !important;}

	/* FAQ */
	.sc-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
	.sc-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
	.sc-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
	.sc-faq .faq-a {padding: 0 18px 20px 18px !important;}
	.sc-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
	.sc-faq .a-txt {font-size: 13px !important; line-height: 1.85em !important;}

	/* 원장 노트 */
	.sc-doctor-note {padding: 50px 0 !important;}
	.sc-doctor-note .doctor-note-inner {gap: 24px !important;}
	.sc-doctor-note .dn-photo {max-width: 160px !important;}
	.sc-doctor-note .dn-quote-mark {font-size: 60px !important; top: -30px !important; left: 0 !important;}
	.sc-doctor-note .dn-quote p {font-size: 14px !important; line-height: 1.9em !important; margin-bottom: 14px;}
	.sc-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
	.sc-doctor-note .dn-signature strong {font-size: 17px !important;}
	.sc-doctor-note .dn-signature span {font-size: 12px !important;}

	/* CTA */
	.sc-cta {padding: 50px 0 !important;}
	.sc-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
	.sc-cta > .contain > p {font-size: 13px !important; line-height: 1.8em !important; margin-bottom: 24px !important;}
	.sc-cta .cta-buttons {flex-direction: column; gap: 10px;}
	.sc-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
	.sc-cta .cta-icon {font-size: 24px;}
	.sc-cta .cta-label {font-size: 11px;}
	.sc-cta .cta-value {font-size: 16px;}
}

@media (max-width: 380px) {
	.sc-highlights .highlight-cards {gap: 6px;}
	.sc-highlights .highlight-card {padding: 16px 4px;}
	.sc-highlights .hc-title {font-size: 13px;}
	.sc-highlights .hc-desc {font-size: 11px;}
	.sc-hero .hero-title {font-size: 26px !important;}
}

/* ========================================
   화상치료 페이지 (page-burn)
   ======================================== */
.page-burn section {padding: 0;}
.page-burn .contain {padding-top: 0; padding-bottom: 0;}

/* 히어로 - 화상 특성상 살짝 warm한 톤 */
.burn-hero {background: linear-gradient(135deg, #fff5ec 0%, #fce8d6 100%); padding: 80px 0 !important;}
.burn-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.burn-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: 0.05em; margin-bottom: 20px;}
.burn-hero .hero-title {font-size: clamp(36px, calc(64 / var(--inner) * 100vw), 64px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 30px; letter-spacing: -0.03em;}
.burn-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.9em; color: #444;}
.burn-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* 강점 카드 */
.burn-highlights {padding: 60px 0 !important; background: #fff;}
.burn-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 900px; margin: 0 auto;}
.burn-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.burn-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,0.1); transform: translateY(-4px);}
.burn-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.burn-highlights .hc-title {font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.burn-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* ⭐ 응급 처치 섹션 (파랑 톤 - 차분함, 물) */
.burn-emergency {padding: 80px 0 !important; background: linear-gradient(180deg, #f0f7fc 0%, #e6f0fa 100%); position: relative;}
.burn-emergency::before {content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(to right, #2b7fd9, #4a9bd9, #2b7fd9);}
.burn-emergency .section-head {text-align: center; margin-bottom: 50px;}
.burn-emergency .sh-badge {display: inline-block; padding: 6px 20px; background: #2b7fd9; color: #fff; border-radius: 999px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 16px; animation: pulse-badge 2s ease-in-out infinite;}
@keyframes pulse-badge { 0%, 100% {transform: scale(1); box-shadow: 0 0 0 0 rgba(43,127,217,0.5);} 50% {transform: scale(1.05); box-shadow: 0 0 0 10px rgba(43,127,217,0);} }
.burn-emergency .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: #1a3a5c; line-height: 1.3em; letter-spacing: -0.02em; margin-bottom: 12px;}
.burn-emergency .sh-desc {font-size: var(--font-size-16); color: #4a6a8a; line-height: 1.7em; max-width: 700px; margin: 0 auto;}
.burn-emergency .section-body {max-width: 960px; margin: 0 auto;}

.emergency-steps {display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px;}
.es-item {display: grid; grid-template-columns: 70px 60px 1fr; gap: 20px; align-items: center; padding: 24px 28px; background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); border-left: 4px solid #2b7fd9; transition: .2s;}
.es-item:hover {transform: translateY(-2px); box-shadow: 0 6px 20px rgba(43,127,217,0.15);}
.es-item.urgent {border-left-color: var(--primary-color); background: linear-gradient(90deg, #faf5f4 0%, #fff 100%);}
.es-num {font-size: 40px; font-weight: 800; color: #2b7fd9; line-height: 1; letter-spacing: -0.03em;}
.es-item.urgent .es-num {color: var(--primary-color);}
.es-icon {font-size: 40px; text-align: center;}
.es-content h4 {font-size: var(--font-size-20); font-weight: 700; color: #1a3a5c; margin-bottom: 8px;}
.es-item.urgent .es-content h4 {color: var(--dark-color);}
.es-content p {font-size: var(--font-size-15); line-height: 1.8em; color: #446; margin: 0;}
.es-content strong {color: #1a3a5c;}
.es-content .warning-text {color: #c92e2e; font-weight: 700;}
.es-content .es-tel {display: inline-block; margin-top: 10px; padding: 10px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-weight: 700; text-decoration: none; transition: .2s;}
.es-content .es-tel:hover {background: var(--dark-color); transform: translateY(-2px);}

/* 하지 마세요 카드 */
.dont-do-section {padding: 32px; background: #fff; border-radius: 16px; border: 2px solid #f4a4a4;}
.dont-title {display: flex; align-items: center; gap: 12px; font-size: var(--font-size-20); font-weight: 700; color: #c92e2e; margin-bottom: 24px;}
.dont-mark {display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: #c92e2e; color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.dont-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;}
.dont-item {display: flex; flex-direction: column; align-items: center; text-align: center; padding: 20px 16px; background: #fef5f5; border-radius: 12px;}
.dont-icon {font-size: 32px; margin-bottom: 10px;}
.dont-txt {font-size: var(--font-size-14); color: #7a2020; line-height: 1.6em;}
.dont-txt strong {display: block; margin-bottom: 4px; color: #c92e2e; font-size: 15px;}

/* 공통 섹션 */
.burn-section {padding: 80px 0 !important; background: #fff;}
.burn-section.section-alt {background: #faf7f5;}
.burn-section .section-head {text-align: center; margin-bottom: 50px;}
.burn-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 16px;}
.burn-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -0.02em; margin-bottom: 12px;}
.burn-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.7em;}
.burn-section .sh-desc strong {color: var(--primary-color);}
.burn-section .section-body {max-width: 960px; margin: 0 auto;}
.burn-section .section-body p {font-size: var(--font-size-16); line-height: 1.9em; color: #444; margin-bottom: 20px;}
.burn-section .section-body p strong {color: var(--dark-color); font-weight: 700;}

/* ⭐ 화상 깊이 카드 (1도/2도/3도) */
.depth-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.depth-card {padding: 32px 28px; background: #fff; border-radius: 20px; border: 2px solid #e5e5e5; transition: .25s; position: relative;}
.depth-card.depth-1 {border-color: #f9e4a8; background: linear-gradient(180deg, #fffdf5 0%, #fff 100%);}
.depth-card.depth-2 {border-color: #f4b183; background: linear-gradient(180deg, #fff5ec 0%, #fff 100%);}
.depth-card.depth-3 {border-color: #d47070; background: linear-gradient(180deg, #fdf0f0 0%, #fff 100%);}
.depth-card:hover {transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0,0,0,0.08);}
.depth-badge {display: inline-block; padding: 6px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; margin-bottom: 16px; letter-spacing: 0.02em;}
.depth-1 .depth-badge {background: #e6b800; color: #fff;}
.depth-2 .depth-badge {background: #e07020; color: #fff;}
.depth-3 .depth-badge {background: #c92e2e; color: #fff;}
.depth-badge.urgent {position: relative;}
.depth-badge.urgent::after {content: '!'; position: absolute; right: -8px; top: -8px; width: 20px; height: 20px; background: #fff; color: #c92e2e; border-radius: 50%; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; border: 2px solid #c92e2e;}
.depth-vis {display: flex; gap: 4px; margin-bottom: 18px; height: 40px; align-items: flex-end;}
.depth-line {flex: 1; background: #e5e5e5; border-radius: 4px 4px 0 0; transition: .3s;}
.depth-line.line-1 {height: 12px;}
.depth-line.line-2 {height: 24px;}
.depth-line.line-3 {height: 40px;}
.depth-1 .depth-line.active {background: #e6b800;}
.depth-2 .depth-line.active {background: #e07020;}
.depth-3 .depth-line.active {background: #c92e2e;}
.depth-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 16px;}
.depth-list {list-style: none; padding: 0; margin: 0;}
.depth-list li {font-size: var(--font-size-14); line-height: 1.9em; color: #444; padding-left: 16px; position: relative;}
.depth-list li::before {content: '·'; position: absolute; left: 0; top: 0; font-size: 18px; color: #999;}
.depth-list strong {color: var(--dark-color); font-weight: 700;}
.depth-list .urgent-text {color: #c92e2e;}

/* 화상 원인 그리드 */
.cause-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.cause-item {padding: 28px 24px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5; text-align: center; transition: .2s;}
.cause-item:hover {border-color: var(--primary-color); box-shadow: 0 6px 16px rgba(125,28,30,0.08); transform: translateY(-3px);}
.cause-icon {font-size: 42px; margin-bottom: 14px; line-height: 1;}
.cause-item h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.cause-item p {font-size: var(--font-size-14); line-height: 1.7em; color: #666; margin: 0;}
.cause-item strong {color: var(--primary-color);}

/* ⭐ 방문 필요 vs 상급병원 이송 */
.visit-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 30px;}
.visit-card {padding: 36px 32px; background: #fff; border-radius: 20px; border: 2px solid transparent;}
.visit-card.local {border-color: #4a9b6c; background: linear-gradient(180deg, #fff 0%, #f0f9f4 100%);}
.visit-card.urgent {border-color: #c92e2e; background: linear-gradient(180deg, #fff 0%, #fef5f5 100%);}
.visit-badge {display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 999px; margin-bottom: 24px;}
.visit-card.local .visit-badge {background: #4a9b6c; color: #fff;}
.visit-card.urgent .visit-badge {background: #c92e2e; color: #fff;}
.vb-icon {display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: rgba(255,255,255,0.25); border-radius: 50%; font-weight: 700; font-size: 14px;}
.vb-text {font-size: 15px; font-weight: 700;}
.visit-list {list-style: none; padding: 0; margin: 0;}
.visit-list li {position: relative; padding-left: 24px; font-size: var(--font-size-16); line-height: 2em; color: #444;}
.visit-list li strong {color: var(--dark-color);}
.visit-card.local .visit-list li::before {content: '✓'; position: absolute; left: 0; top: 0; color: #4a9b6c; font-weight: 700;}
.visit-card.urgent .visit-list li::before {content: '!'; position: absolute; left: 4px; top: 0; color: #c92e2e; font-weight: 700;}
.visit-note {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.visit-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.visit-note strong {color: var(--primary-color);}

/* 방법 카드 */
.page-burn .method-cards {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 40px;}
.page-burn .method-card {padding: 30px 28px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-burn .mc-num {font-size: 30px; font-weight: 800; color: var(--primary-color); line-height: 1; margin-bottom: 14px; letter-spacing: -0.02em;}
.page-burn .method-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 12px;}
.page-burn .method-card p {font-size: var(--font-size-15); line-height: 1.8em; color: #555; margin: 0;}
.page-burn .method-card strong {color: var(--primary-color);}

/* 수술 후 관리 */
.page-burn .aftercare-box {padding: 32px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.page-burn .aftercare-box h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #e5e5e5;}
.page-burn .aftercare-list {list-style: none; padding: 0; margin: 0;}
.page-burn .aftercare-list li {position: relative; padding-left: 20px; font-size: var(--font-size-16); line-height: 2em; color: #444;}
.page-burn .aftercare-list li::before {content: '•'; position: absolute; left: 0; top: 0; color: var(--primary-color); font-weight: 700; font-size: 20px;}
.page-burn .aftercare-list strong {color: var(--primary-color); margin-right: 4px;}

/* 타임라인 */
.page-burn .timeline {display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 30px;}
.page-burn .tl-item {text-align: center; padding: 24px 12px; background: #fff; border-radius: 12px; border: 1px solid #e5e5e5;}
.page-burn .tl-icon {font-size: 32px; margin-bottom: 10px; line-height: 1;}
.page-burn .tl-time {display: inline-block; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 12px; font-size: 12px; font-weight: 700; margin-bottom: 8px;}
.page-burn .tl-item h4 {font-size: 15px; font-weight: 700; color: var(--dark-color); margin-bottom: 6px;}
.page-burn .tl-item p {font-size: 12px; color: #888; line-height: 1.5em; margin: 0;}

/* 비용 안내 */
.page-burn .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-burn .cost-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 30px 0;}
.page-burn .cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.page-burn .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px;}
.page-burn .cost-tag.insurance {background: var(--primary-color); color: #fff;}
.page-burn .cost-tag.non-insurance {background: #888; color: #fff;}
.page-burn .cost-item p {font-size: var(--font-size-15); line-height: 1.7em; color: #444; margin: 0;}
.page-burn .cost-note {padding: 20px; background: #fff5e6; border-left: 4px solid #f0a020; border-radius: 4px; font-size: var(--font-size-15); color: #6d4a08; margin: 0 !important;}

/* FAQ 아코디언 */
.burn-faq {display: flex; flex-direction: column; gap: 10px;}
.burn-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: .2s;}
.burn-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,0.12);}
.burn-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.burn-faq .faq-q:hover {background: #faf7f6;}
.burn-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.burn-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.burn-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.burn-faq .q-arrow::before, .burn-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.burn-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.burn-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.burn-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.burn-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.burn-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.burn-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.9em; color: #555; padding-top: 6px;}
.burn-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장님 진료 노트 */
.burn-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.burn-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.burn-doctor-note .dn-photo img {display: block; width: 100%; height: auto; }
.burn-doctor-note .dn-content {position: relative;}
.burn-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: 0.4; line-height: 1; font-family: Georgia, serif;}
.burn-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.burn-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.9em; color: rgba(255,255,255,0.9); margin-bottom: 18px;}
.burn-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.burn-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.burn-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.2);}
.burn-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.burn-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,0.6); margin-top: 6px;}

/* CTA */
.burn-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.burn-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 20px; letter-spacing: -0.02em;}
.burn-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.7em; margin-bottom: 40px;}
.burn-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;}
.burn-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.burn-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,0.2);}
.burn-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.burn-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.burn-cta .cta-icon {font-size: 28px;}
.burn-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.burn-cta .cta-label {font-size: 13px; opacity: 0.8; font-weight: 500; margin-bottom: 4px;}
.burn-cta .cta-value {font-size: 18px; font-weight: 700;}
.burn-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.burn-cta .cta-btn.cta-reserve:hover {color: #fff;}

/* ========================================
   화상치료 페이지 - 태블릿·모바일 최적화
   ======================================== */
@media (max-width: 1024px) {
	.burn-hero {padding: 60px 0 !important;}
	.burn-section, .burn-emergency {padding: 60px 0 !important;}
	.depth-cards, .cause-grid {grid-template-columns: 1fr;}
	.dont-grid {grid-template-columns: 1fr 1fr;}
	.visit-grid {grid-template-columns: 1fr;}
	.page-burn .method-cards, .page-burn .cost-grid {grid-template-columns: 1fr;}
	.page-burn .timeline {grid-template-columns: repeat(3, 1fr);}
	.es-item {grid-template-columns: 50px 50px 1fr; gap: 16px; padding: 20px 24px;}
	.burn-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
	.burn-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;}
}

@media (max-width: 640px) {
	/* 히어로 */
	.burn-hero {padding: 40px 0 !important;}
	.burn-hero .hero-title {font-size: 30px !important; line-height: 1.3em !important;}
	.burn-hero .hero-lead {font-size: 15px !important; line-height: 1.9em !important;}
	.burn-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important;}

	/* 강점 카드 */
	.burn-highlights {padding: 30px 0 !important;}
	.burn-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
	.burn-highlights .highlight-card {padding: 20px 8px;}
	.burn-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
	.burn-highlights .hc-icon svg {width: 24px; height: 24px;}
	.burn-highlights .hc-title {font-size: 15px; margin-bottom: 6px;}
	.burn-highlights .hc-desc {font-size: 12px; line-height: 1.5em;}

	/* 응급 처치 - 모바일 최적화 */
	.burn-emergency {padding: 40px 0 !important;}
	.burn-emergency .section-head {margin-bottom: 28px;}
	.burn-emergency .sh-badge {font-size: 11px; padding: 4px 14px;}
	.burn-emergency .section-head h3 {font-size: 22px !important; line-height: 1.35em !important;}
	.burn-emergency .sh-desc {font-size: 14px !important;}

	.es-item {grid-template-columns: 1fr !important; gap: 8px !important; padding: 20px 22px !important; text-align: left;}
	.es-num {font-size: 24px !important; display: inline-block !important; padding: 3px 12px !important; background: #2b7fd9; color: #fff !important; border-radius: 4px; width: fit-content; margin-bottom: 4px;}
	.es-item.urgent .es-num {background: var(--primary-color);}
	.es-icon {font-size: 30px !important; display: none;}
	.es-content h4 {font-size: 16px !important; margin-bottom: 6px !important;}
	.es-content p {font-size: 13px !important; line-height: 1.8em !important;}
	.es-content .es-tel {padding: 10px 18px !important; font-size: 14px !important;}

	.dont-do-section {padding: 22px 20px !important; border-width: 1px !important;}
	.dont-title {font-size: 16px !important; margin-bottom: 16px !important;}
	.dont-mark {width: 26px !important; height: 26px !important; font-size: 14px !important;}
	.dont-grid {grid-template-columns: 1fr 1fr !important; gap: 10px;}
	.dont-item {padding: 16px 10px !important;}
	.dont-icon {font-size: 24px !important;}
	.dont-txt {font-size: 12px !important;}
	.dont-txt strong {font-size: 13px !important;}

	/* 섹션 공통 */
	.burn-section {padding: 40px 0 !important;}
	.burn-section .section-head {margin-bottom: 28px;}
	.burn-section .sh-num {font-size: 11px; padding: 3px 12px;}
	.burn-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important;}
	.burn-section .sh-desc {font-size: 14px !important; line-height: 1.7em !important;}
	.burn-section .section-body p {font-size: 14px !important; line-height: 1.85em !important;}

	/* 화상 깊이 카드 */
	.depth-cards {grid-template-columns: 1fr !important; gap: 12px;}
	.depth-card {padding: 22px 20px !important;}
	.depth-badge {padding: 4px 12px !important; font-size: 11px !important; margin-bottom: 12px !important;}
	.depth-vis {height: 32px !important; margin-bottom: 12px !important;}
	.depth-line.line-1 {height: 10px !important;}
	.depth-line.line-2 {height: 20px !important;}
	.depth-line.line-3 {height: 32px !important;}
	.depth-card h4 {font-size: 16px !important; margin-bottom: 10px !important;}
	.depth-list li {font-size: 13px !important; line-height: 1.9em !important;}

	/* 원인 그리드 - 3열 유지 */
	.cause-grid {grid-template-columns: repeat(3, 1fr) !important; gap: 10px;}
	.cause-item {padding: 18px 10px !important;}
	.cause-icon {font-size: 28px !important; margin-bottom: 8px !important;}
	.cause-item h4 {font-size: 13px !important; margin-bottom: 6px !important;}
	.cause-item p {font-size: 11px !important; line-height: 1.6em !important;}

	/* 방문 vs 이송 */
	.visit-grid {grid-template-columns: 1fr !important; gap: 14px;}
	.visit-card {padding: 24px 22px !important;}
	.visit-badge {padding: 6px 14px !important; margin-bottom: 16px !important;}
	.vb-icon {width: 20px !important; height: 20px !important; font-size: 12px !important;}
	.vb-text {font-size: 13px !important;}
	.visit-list li {font-size: 14px !important; line-height: 1.9em !important; padding-left: 22px !important;}
	.visit-note {padding: 18px 20px !important;}
	.visit-note p {font-size: 13px !important; line-height: 1.8em !important;}

	/* 방법 카드 → 박스 벗기고 큰 넘버 + 텍스트 흐름 */
	.page-burn .method-cards {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 24px !important;}
	.page-burn .method-card {padding: 22px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e5e5e5 !important; display: grid !important; grid-template-columns: 44px 1fr !important; gap: 14px !important; align-items: start;}
	.page-burn .method-card:last-child {border-bottom: none !important;}
	.page-burn .mc-num {font-size: 30px !important; margin-bottom: 0 !important; grid-row: 1 / 3;}
	.page-burn .method-card h4 {font-size: 16px !important; margin-bottom: 6px !important;}
	.page-burn .method-card p {font-size: 14px !important; line-height: 1.85em !important;}

	/* 관리 안내 */
	.page-burn .aftercare-box {padding: 24px 22px !important; border-width: 1px !important;}
	.page-burn .aftercare-box h4 {font-size: 16px !important; margin-bottom: 14px !important;}
	.page-burn .aftercare-list li {font-size: 14px !important; line-height: 1.9em !important;}

	/* 진료 절차 → 세로 리스트 */
	.page-burn .timeline {grid-template-columns: 1fr !important; gap: 0 !important;}
	.page-burn .tl-item {text-align: left !important; padding: 16px 0 16px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e5e5e5 !important; margin-left: 8px; display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center;}
	.page-burn .tl-item:last-child {border-bottom: none !important;}
	.page-burn .tl-icon {font-size: 22px !important; margin-bottom: 0 !important;}
	.page-burn .tl-time {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 0 !important; grid-column: 2; justify-self: start; width: fit-content;}
	.page-burn .tl-item h4 {font-size: 14px !important; margin-bottom: 2px !important; grid-column: 2;}
	.page-burn .tl-item p {font-size: 12px !important; margin: 0 !important; grid-column: 2;}

	/* 비용 */
	.page-burn .cost-info {padding: 22px !important;}
	.page-burn .cost-grid {grid-template-columns: 1fr !important; gap: 12px !important;}
	.page-burn .cost-item {padding: 18px !important;}
	.page-burn .cost-tag {padding: 4px 10px !important; font-size: 11px !important;}
	.page-burn .cost-item p {font-size: 13px !important;}
	.page-burn .cost-note {padding: 14px 18px !important; font-size: 13px !important;}

	/* FAQ */
	.burn-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
	.burn-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
	.burn-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
	.burn-faq .faq-a {padding: 0 18px 20px 18px !important;}
	.burn-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
	.burn-faq .a-txt {font-size: 13px !important; line-height: 1.85em !important;}

	/* 원장 노트 */
	.burn-doctor-note {padding: 50px 0 !important;}
	.burn-doctor-note .doctor-note-inner {gap: 24px !important;}
	.burn-doctor-note .dn-photo {max-width: 160px !important;}
	.burn-doctor-note .dn-quote-mark {font-size: 60px !important; top: -30px !important; left: 0 !important;}
	.burn-doctor-note .dn-quote p {font-size: 14px !important; line-height: 1.9em !important; margin-bottom: 14px;}
	.burn-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
	.burn-doctor-note .dn-signature strong {font-size: 17px !important;}
	.burn-doctor-note .dn-signature span {font-size: 12px !important;}

	/* CTA */
	.burn-cta {padding: 50px 0 !important;}
	.burn-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
	.burn-cta > .contain > p {font-size: 13px !important; line-height: 1.8em !important; margin-bottom: 24px !important;}
	.burn-cta .cta-buttons {flex-direction: column; gap: 10px;}
	.burn-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
	.burn-cta .cta-icon {font-size: 24px;}
	.burn-cta .cta-label {font-size: 11px;}
	.burn-cta .cta-value {font-size: 16px;}
}

@media (max-width: 380px) {
	.burn-highlights .highlight-cards {gap: 6px;}
	.burn-highlights .highlight-card {padding: 16px 4px;}
	.burn-highlights .hc-title {font-size: 13px;}
	.burn-highlights .hc-desc {font-size: 11px;}
	.burn-hero .hero-title {font-size: 26px !important;}
	.cause-grid {grid-template-columns: repeat(2, 1fr) !important;}
	.dont-grid {grid-template-columns: 1fr !important;}
}

/* ======================================== 화농성한선염 페이지 (page-hs) ======================================== */ .page-hs section {padding: 0;} .page-hs .contain {padding-top: 0; padding-bottom: 0;}

/* 히어로 - 만성 질환 특성 반영해 차분한 톤 */ .hs-hero {background: linear-gradient(135deg, 
#f0e8e8 0%, 
#e8d8d8 100%); padding: 80px 0 !important;} .hs-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;} .hs-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: 0.05em; margin-bottom: 20px;} .hs-hero .hero-title {font-size: clamp(36px, calc(64 / var(--inner) * 100vw), 64px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 30px; letter-spacing: -0.03em;} .hs-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.9em; color: #444;} .hs-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* 강점 카드 */ .hs-highlights {padding: 60px 0 !important; background: #fff;} .hs-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 900px; margin: 0 auto;} .hs-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid 
#e5e5e5; border-radius: 20px; transition: .25s;} .hs-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,0.1); transform: translateY(-4px);} .hs-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: 
#faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;} .hs-highlights .hc-title {font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;} .hs-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* ⭐ 자가 진단 체크리스트 섹션 (파랑 톤 - 차분·신뢰) */ .hs-selfcheck {padding: 80px 0 !important; background: linear-gradient(180deg, 
#eef5fa 0%, 
#e2edf5 100%); position: relative;} .hs-selfcheck::before {content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(to right, 
#4a7ba6, 
#6a9bc6, 
#4a7ba6);} .hs-selfcheck .section-head {text-align: center; margin-bottom: 50px;} .hs-selfcheck .sh-badge {display: inline-block; padding: 6px 20px; background: 
#4a7ba6; color: #fff; border-radius: 999px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 16px;} .hs-selfcheck .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: 
#1e3a5c; line-height: 1.3em; letter-spacing: -0.02em; margin-bottom: 12px;} .hs-selfcheck .sh-desc {font-size: var(--font-size-16); color: 
#446a8a; line-height: 1.7em; max-width: 700px; margin: 0 auto;} .hs-selfcheck .sh-desc strong {color: 
#1e3a5c;} .hs-selfcheck .section-body {max-width: 960px; margin: 0 auto;}

.checklist-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 40px;} .check-item {display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 24px 26px; background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); border-left: 4px solid 
#4a7ba6; transition: .2s;} .check-item:hover {transform: translateY(-2px); box-shadow: 0 6px 20px rgba(74,123,166,0.15);} .ci-num {font-size: 30px; font-weight: 800; color: 
#4a7ba6; line-height: 1; letter-spacing: -0.03em;} .ci-content h4 {font-size: var(--font-size-17); font-weight: 700; color: 
#1e3a5c; margin-bottom: 8px;} .ci-content p {font-size: var(--font-size-14); line-height: 1.8em; color: #446; margin: 0;} .ci-content strong {color: 
#1e3a5c; font-weight: 700;}

.selfcheck-cta {padding: 30px 36px; background: #fff; border-radius: 16px; text-align: center; border: 2px solid 
#4a7ba6;} .selfcheck-cta p {font-size: var(--font-size-16); line-height: 1.9em; color: 
#1e3a5c; margin: 0 0 18px 0;} .selfcheck-cta strong {color: 
#4a7ba6;} .sc-btn {display: inline-block; padding: 14px 32px; background: var(--primary-color); color: #fff; border-radius: 999px; font-weight: 700; text-decoration: none; transition: .2s;} .sc-btn:hover {background: var(--dark-color); transform: translateY(-2px);}

/* 공통 섹션 */ .hs-section {padding: 80px 0 !important; background: #fff;} .hs-section.section-alt {background: 
#faf7f5;} .hs-section .section-head {text-align: center; margin-bottom: 50px;} .hs-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 16px;} .hs-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -0.02em; margin-bottom: 12px;} .hs-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.7em;} .hs-section .sh-desc strong {color: var(--primary-color);} .hs-section .section-body {max-width: 960px; margin: 0 auto;} .hs-section .section-body p {font-size: var(--font-size-16); line-height: 1.9em; color: #444; margin-bottom: 20px;} .hs-section .section-body p strong {color: var(--dark-color); font-weight: 700;}

/* info-grid, info-box, check-list, note-box */ .page-hs .info-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 30px 0;} .page-hs .info-box {padding: 30px; background: 
#faf5f4; border-radius: 16px;} .page-hs .info-box h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color); margin-bottom: 16px;} .page-hs .check-list {list-style: none; padding: 0; margin: 0;} .page-hs .check-list li {position: relative; padding-left: 24px; font-size: var(--font-size-15); line-height: 2em; color: #444;} .page-hs .check-list li::before {content: '✓'; position: absolute; left: 0; top: 0; color: var(--primary-color); font-weight: 700;} .page-hs .note-box {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; font-size: var(--font-size-15); line-height: 1.8em; color: #444; margin: 30px 0;} .page-hs .note-box strong {display: block; color: var(--primary-color); margin-bottom: 8px; font-size: 16px;}

/* ⭐ Hurley 병기 카드 (1기/2기/3기) */ .stage-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 30px;} .stage-card {padding: 32px 28px; background: #fff; border-radius: 20px; border: 2px solid 
#e5e5e5; transition: .25s; position: relative;} .stage-card.stage-1 {border-color: 
#a8d4b0; background: linear-gradient(180deg, 
#f5faf7 0%, #fff 100%);} .stage-card.stage-2 {border-color: 
#f4b183; background: linear-gradient(180deg, 
#fff5ec 0%, #fff 100%);} .stage-card.stage-3 {border-color: 
#d47070; background: linear-gradient(180deg, 
#fdf0f0 0%, #fff 100%);} .stage-card:hover {transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0,0,0,0.08);} .stage-badge {display: inline-block; padding: 6px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; margin-bottom: 18px; letter-spacing: 0.02em;} .stage-1 .stage-badge {background: 
#4a9b6c; color: #fff;} .stage-2 .stage-badge {background: 
#e07020; color: #fff;} .stage-3 .stage-badge {background: 
#c92e2e; color: #fff;} .stage-vis {display: flex; gap: 8px; margin-bottom: 18px; align-items: center;} .stage-dot {width: 14px; height: 14px; background: 
#e5e5e5; border-radius: 50%; transition: .3s;} .stage-1 .stage-dot.active {background: 
#4a9b6c;} .stage-2 .stage-dot.active {background: 
#e07020;} .stage-3 .stage-dot.active {background: 
#c92e2e;} .stage-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 16px;} .stage-list {list-style: none; padding: 0; margin: 0 0 20px 0;} .stage-list li {font-size: var(--font-size-14); line-height: 1.9em; color: #444; padding-left: 16px; position: relative;} .stage-list li::before {content: '·'; position: absolute; left: 0; top: 0; font-size: 18px; color: #999;} .stage-list strong {color: var(--dark-color);} .stage-list .urgent-text {color: 
#c92e2e;} .stage-treatment {padding: 14px 16px; background: 
#faf7f5; border-radius: 8px; font-size: var(--font-size-13); color: #666; line-height: 1.7em;} .stage-treatment span {display: block; font-weight: 700; color: var(--dark-color); margin-bottom: 4px;} .stage-note {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;} .stage-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;} .stage-note strong {color: var(--primary-color);}

/* 원인 그리드 */ .page-hs .cause-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;} .page-hs .cause-item {padding: 28px 24px; background: #fff; border-radius: 16px; border: 1px solid 
#e5e5e5; text-align: center; transition: .2s;} .page-hs .cause-item:hover {border-color: var(--primary-color); box-shadow: 0 6px 16px rgba(125,28,30,0.08); transform: translateY(-3px);} .page-hs .cause-icon {font-size: 42px; margin-bottom: 14px; line-height: 1;} .page-hs .cause-item h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;} .page-hs .cause-item p {font-size: var(--font-size-14); line-height: 1.7em; color: #666; margin: 0;} .page-hs .cause-item strong {color: var(--primary-color);}

/* 방문 vs 이송 */ .page-hs .visit-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 30px;} .page-hs .visit-card {padding: 36px 32px; background: #fff; border-radius: 20px; border: 2px solid transparent;} .page-hs .visit-card.local {border-color: 
#4a9b6c; background: linear-gradient(180deg, #fff 0%, 
#f0f9f4 100%);} .page-hs .visit-card.urgent {border-color: 
#c92e2e; background: linear-gradient(180deg, #fff 0%, 
#fef5f5 100%);} .page-hs .visit-badge {display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 999px; margin-bottom: 24px;} .page-hs .visit-card.local .visit-badge {background: 
#4a9b6c; color: #fff;} .page-hs .visit-card.urgent .visit-badge {background: 
#c92e2e; color: #fff;} .page-hs .vb-icon {display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: rgba(255,255,255,0.25); border-radius: 50%; font-weight: 700; font-size: 14px;} .page-hs .vb-text {font-size: 15px; font-weight: 700;} .page-hs .visit-list {list-style: none; padding: 0; margin: 0;} .page-hs .visit-list li {position: relative; padding-left: 24px; font-size: var(--font-size-16); line-height: 2em; color: #444;} .page-hs .visit-list li strong {color: var(--dark-color);} .page-hs .visit-card.local .visit-list li::before {content: '✓'; position: absolute; left: 0; top: 0; color: 
#4a9b6c; font-weight: 700;} .page-hs .visit-card.urgent .visit-list li::before {content: '!'; position: absolute; left: 4px; top: 0; color: 
#c92e2e; font-weight: 700;} .page-hs .visit-note {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;} .page-hs .visit-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;} .page-hs .visit-note strong {color: var(--primary-color);}

/* 방법 카드 */ .page-hs .method-cards {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;} .page-hs .method-card {padding: 30px 28px; background: #fff; border-radius: 16px; border: 1px solid 
#e5e5e5;} .page-hs .mc-num {font-size: 30px; font-weight: 800; color: var(--primary-color); line-height: 1; margin-bottom: 14px; letter-spacing: -0.02em;} .page-hs .method-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 12px;} .page-hs .method-card p {font-size: var(--font-size-15); line-height: 1.8em; color: #555; margin: 0;} .page-hs .method-card strong {color: var(--primary-color);}

/* ⭐ 생활 관리 그리드 */ .lifestyle-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;} .lifestyle-item {display: grid; grid-template-columns: 60px 1fr; gap: 20px; padding: 26px 28px; background: #fff; border-radius: 16px; border: 1px solid 
#e5e5e5; transition: .2s;} .lifestyle-item.priority {border-color: var(--primary-color); background: linear-gradient(90deg, 
#faf5f4 0%, #fff 100%);} .lifestyle-item:hover {transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.06);} .lf-icon {font-size: 40px; line-height: 1;} .lf-content h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;} .lifestyle-item.priority .lf-content h4 {color: var(--primary-color);} .lf-content p {font-size: var(--font-size-14); line-height: 1.8em; color: #555; margin: 0;} .lf-content strong {color: var(--dark-color); font-weight: 700;} .lifestyle-item.priority .lf-content strong {color: var(--primary-color);}

/* 타임라인 */ .page-hs .timeline {display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 30px;} .page-hs .tl-item {text-align: center; padding: 24px 12px; background: #fff; border-radius: 12px; border: 1px solid 
#e5e5e5;} .page-hs .tl-icon {font-size: 32px; margin-bottom: 10px; line-height: 1;} .page-hs .tl-time {display: inline-block; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 12px; font-size: 12px; font-weight: 700; margin-bottom: 8px;} .page-hs .tl-item h4 {font-size: 15px; font-weight: 700; color: var(--dark-color); margin-bottom: 6px;} .page-hs .tl-item p {font-size: 12px; color: #888; line-height: 1.5em; margin: 0;}

/* 비용 */ .page-hs .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid 
#e5e5e5;} .page-hs .cost-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 30px 0;} .page-hs .cost-item {padding: 24px; background: 
#faf5f4; border-radius: 12px;} .page-hs .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px;} .page-hs .cost-tag.insurance {background: var(--primary-color); color: #fff;} .page-hs .cost-tag.non-insurance {background: #888; color: #fff;} .page-hs .cost-item p {font-size: var(--font-size-15); line-height: 1.7em; color: #444; margin: 0;} .page-hs .cost-note {padding: 20px; background: 
#fff5e6; border-left: 4px solid 
#f0a020; border-radius: 4px; font-size: var(--font-size-15); color: 
#6d4a08; margin: 0 !important;}

/* FAQ */ .hs-faq {display: flex; flex-direction: column; gap: 10px;} .hs-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: .2s;} .hs-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,0.12);} .hs-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;} .hs-faq .faq-q:hover {background: 
#faf7f6;} .hs-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;} .hs-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;} .hs-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;} .hs-faq .q-arrow::before, .hs-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);} .hs-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;} .hs-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);} .hs-faq .faq-a {display: none; padding: 0 28px 26px 28px;} .hs-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;} .hs-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: 
#f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;} .hs-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.9em; color: #555; padding-top: 6px;} .hs-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장 노트 */ .hs-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, 
#1a2942 0%, 
#2d3f5f 100%); color: #fff;} .hs-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;} .hs-doctor-note .dn-photo img {display: block; width: 100%; height: auto; } .hs-doctor-note .dn-content {position: relative;} .hs-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: 
#FFE9B0; opacity: 0.4; line-height: 1; font-family: Georgia, serif;} .hs-doctor-note .dn-quote {margin: 0; padding: 0; border: none;} .hs-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.9em; color: rgba(255,255,255,0.9); margin-bottom: 18px;} .hs-doctor-note .dn-quote p:last-child {margin-bottom: 0;} .hs-doctor-note .dn-quote strong {color: 
#FFE9B0; font-weight: 700;} .hs-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.2);} .hs-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;} .hs-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,0.6); margin-top: 6px;}

/* CTA */ .hs-cta {padding: 80px 0 !important; background: 
#faf5f4; text-align: center;} .hs-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 20px; letter-spacing: -0.02em;} .hs-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.7em; margin-bottom: 40px;} .hs-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;} .hs-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;} .hs-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,0.2);} .hs-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;} .hs-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);} .hs-cta .cta-icon {font-size: 28px;} .hs-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;} .hs-cta .cta-label {font-size: 13px; opacity: 0.8; font-weight: 500; margin-bottom: 4px;} .hs-cta .cta-value {font-size: 18px; font-weight: 700;} .hs-cta .cta-btn.cta-reserve {color: var(--primary-color);} .hs-cta .cta-btn.cta-reserve:hover {color: #fff;}

/* ======================================== 화농성한선염 페이지 - 태블릿·모바일 최적화 ======================================== */ @media (max-width: 1024px) { .hs-hero {padding: 60px 0 !important;} .hs-section, .hs-selfcheck {padding: 60px 0 !important;} .checklist-grid {grid-template-columns: 1fr;} .stage-cards {grid-template-columns: 1fr;} .page-hs .cause-grid {grid-template-columns: 1fr 1fr;} .page-hs .visit-grid {grid-template-columns: 1fr;} .page-hs .method-cards {grid-template-columns: 1fr;} .page-hs .info-grid {grid-template-columns: 1fr;} .lifestyle-grid {grid-template-columns: 1fr;} .page-hs .cost-grid {grid-template-columns: 1fr;} .page-hs .timeline {grid-template-columns: repeat(3, 1fr);} .hs-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;} .hs-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;} }

@media (max-width: 640px) { /* 히어로 */ .hs-hero {padding: 40px 0 !important;} .hs-hero .hero-title {font-size: 30px !important; line-height: 1.3em !important;} .hs-hero .hero-lead {font-size: 15px !important; line-height: 1.9em !important;} .hs-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important;}

/* 강점 카드 */
.hs-highlights {padding: 30px 0 !important;}
.hs-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
.hs-highlights .highlight-card {padding: 20px 8px;}
.hs-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
.hs-highlights .hc-icon svg {width: 24px; height: 24px;}
.hs-highlights .hc-title {font-size: 15px; margin-bottom: 6px;}
.hs-highlights .hc-desc {font-size: 12px; line-height: 1.5em;}

/* 자가 진단 */
.hs-selfcheck {padding: 40px 0 !important;}
.hs-selfcheck .section-head {margin-bottom: 28px;}
.hs-selfcheck .sh-badge {font-size: 11px; padding: 4px 14px;}
.hs-selfcheck .section-head h3 {font-size: 22px !important; line-height: 1.35em !important;}
.hs-selfcheck .sh-desc {font-size: 14px !important;}

.checklist-grid {grid-template-columns: 1fr !important; gap: 12px;}
.check-item {grid-template-columns: 40px 1fr !important; gap: 14px !important; padding: 18px 20px !important;}
.ci-num {font-size: 24px !important;}
.ci-content h4 {font-size: 15px !important; margin-bottom: 6px !important;}
.ci-content p {font-size: 13px !important; line-height: 1.7em !important;}

.selfcheck-cta {padding: 22px 22px !important; border-width: 1px !important;}
.selfcheck-cta p {font-size: 13px !important; line-height: 1.8em !important;}
.sc-btn {padding: 12px 24px !important; font-size: 14px !important;}

/* 섹션 공통 */
.hs-section {padding: 40px 0 !important;}
.hs-section .section-head {margin-bottom: 28px;}
.hs-section .sh-num {font-size: 11px; padding: 3px 12px;}
.hs-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important;}
.hs-section .sh-desc {font-size: 14px !important; line-height: 1.7em !important;}
.hs-section .section-body p {font-size: 14px !important; line-height: 1.85em !important;}

/* info-grid */
.page-hs .info-grid {gap: 12px !important;}
.page-hs .info-box {padding: 20px !important;}
.page-hs .info-box h4 {font-size: 15px !important; margin-bottom: 12px !important;}
.page-hs .check-list li {font-size: 14px !important; line-height: 1.9em !important;}
.page-hs .note-box {padding: 18px 20px !important; font-size: 14px !important; line-height: 1.8em !important;}

/* Hurley 병기 카드 */
.stage-cards {gap: 12px !important;}
.stage-card {padding: 22px 20px !important;}
.stage-badge {padding: 4px 12px !important; font-size: 11px !important; margin-bottom: 12px !important;}
.stage-dot {width: 10px !important; height: 10px !important;}
.stage-card h4 {font-size: 16px !important; margin-bottom: 12px !important;}
.stage-list li {font-size: 13px !important;}
.stage-treatment {padding: 12px 14px !important; font-size: 12px !important;}
.stage-note {padding: 18px 20px !important;}
.stage-note p {font-size: 13px !important; line-height: 1.8em !important;}

/* 원인 */
.page-hs .cause-grid {grid-template-columns: repeat(2, 1fr) !important; gap: 10px;}
.page-hs .cause-item {padding: 18px 12px !important;}
.page-hs .cause-icon {font-size: 28px !important; margin-bottom: 8px !important;}
.page-hs .cause-item h4 {font-size: 13px !important; margin-bottom: 6px !important;}
.page-hs .cause-item p {font-size: 11px !important; line-height: 1.6em !important;}

/* 방문 vs 이송 */
.page-hs .visit-grid {gap: 14px !important;}
.page-hs .visit-card {padding: 24px 22px !important;}
.page-hs .visit-badge {padding: 6px 14px !important; margin-bottom: 16px !important;}
.page-hs .vb-icon {width: 20px !important; height: 20px !important; font-size: 12px !important;}
.page-hs .vb-text {font-size: 13px !important;}
.page-hs .visit-list li {font-size: 14px !important; line-height: 1.9em !important; padding-left: 22px !important;}
.page-hs .visit-note {padding: 18px 20px !important;}
.page-hs .visit-note p {font-size: 13px !important; line-height: 1.8em !important;}

/* 방법 카드 → 큰 넘버 + 텍스트 흐름 */
.page-hs .method-cards {gap: 0 !important;}
.page-hs .method-card {padding: 22px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e5e5e5 !important; display: grid !important; grid-template-columns: 44px 1fr !important; gap: 14px !important; align-items: start;}
.page-hs .method-card:last-child {border-bottom: none !important;}
.page-hs .mc-num {font-size: 30px !important; margin-bottom: 0 !important; grid-row: 1 / 3;}
.page-hs .method-card h4 {font-size: 16px !important; margin-bottom: 6px !important;}
.page-hs .method-card p {font-size: 14px !important; line-height: 1.85em !important;}

/* 생활 관리 */
.lifestyle-grid {gap: 12px !important;}
.lifestyle-item {grid-template-columns: 44px 1fr !important; gap: 14px !important; padding: 18px 20px !important;}
.lf-icon {font-size: 30px !important;}
.lf-content h4 {font-size: 15px !important; margin-bottom: 6px !important;}
.lf-content p {font-size: 13px !important; line-height: 1.8em !important;}

/* 진료 절차 → 세로 리스트 */
.page-hs .timeline {grid-template-columns: 1fr !important; gap: 0 !important;}
.page-hs .tl-item {text-align: left !important; padding: 16px 0 16px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e5e5e5 !important; margin-left: 8px; display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center;}
.page-hs .tl-item:last-child {border-bottom: none !important;}
.page-hs .tl-icon {font-size: 22px !important; margin-bottom: 0 !important;}
.page-hs .tl-time {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 0 !important; grid-column: 2; justify-self: start; width: fit-content;}
.page-hs .tl-item h4 {font-size: 14px !important; margin-bottom: 2px !important; grid-column: 2;}
.page-hs .tl-item p {font-size: 12px !important; margin: 0 !important; grid-column: 2;}

/* 비용 */
.page-hs .cost-info {padding: 22px !important;}
.page-hs .cost-grid {gap: 12px !important;}
.page-hs .cost-item {padding: 18px !important;}
.page-hs .cost-tag {padding: 4px 10px !important; font-size: 11px !important;}
.page-hs .cost-item p {font-size: 13px !important;}
.page-hs .cost-note {padding: 14px 18px !important; font-size: 13px !important;}

/* FAQ */
.hs-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
.hs-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
.hs-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
.hs-faq .faq-a {padding: 0 18px 20px 18px !important;}
.hs-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
.hs-faq .a-txt {font-size: 13px !important; line-height: 1.85em !important;}

/* 원장 노트 */
.hs-doctor-note {padding: 50px 0 !important;}
.hs-doctor-note .doctor-note-inner {gap: 24px !important;}
.hs-doctor-note .dn-photo {max-width: 160px !important;}
.hs-doctor-note .dn-quote-mark {font-size: 60px !important; top: -30px !important; left: 0 !important;}
.hs-doctor-note .dn-quote p {font-size: 14px !important; line-height: 1.9em !important; margin-bottom: 14px;}
.hs-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
.hs-doctor-note .dn-signature strong {font-size: 17px !important;}
.hs-doctor-note .dn-signature span {font-size: 12px !important;}

/* CTA */
.hs-cta {padding: 50px 0 !important;}
.hs-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
.hs-cta > .contain > p {font-size: 13px !important; line-height: 1.8em !important; margin-bottom: 24px !important;}
.hs-cta .cta-buttons {flex-direction: column; gap: 10px;}
.hs-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
.hs-cta .cta-icon {font-size: 24px;}
.hs-cta .cta-label {font-size: 11px;}
.hs-cta .cta-value {font-size: 16px;}
}

@media (max-width: 380px) { .hs-highlights .highlight-cards {gap: 6px;} .hs-highlights .highlight-card {padding: 16px 4px;} .hs-highlights .hc-title {font-size: 13px;} .hs-highlights .hc-desc {font-size: 11px;} .hs-hero .hero-title {font-size: 26px !important;} .page-hs .cause-grid {grid-template-columns: 1fr !important;} }

/* ======================================== 모소동 페이지 (page-pilo) ======================================== */ .page-pilo section {padding: 0;} .page-pilo .contain {padding-top: 0; padding-bottom: 0;}

/* 히어로 - 담백한 그레이-블루 톤 (남성 청년층 톤) */ .pilo-hero {background: linear-gradient(135deg, 
#e8ecf0 0%, 
#d8dde3 100%); padding: 80px 0 !important;} .pilo-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;} .pilo-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: 0.05em; margin-bottom: 20px;} .pilo-hero .hero-title {font-size: clamp(36px, calc(64 / var(--inner) * 100vw), 64px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 30px; letter-spacing: -0.03em;} .pilo-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.9em; color: #444;} .pilo-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* 강점 카드 */ .pilo-highlights {padding: 60px 0 !important; background: #fff;} .pilo-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 900px; margin: 0 auto;} .pilo-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid 
#e5e5e5; border-radius: 20px; transition: .25s;} .pilo-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,0.1); transform: translateY(-4px);} .pilo-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: 
#faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;} .pilo-highlights .hc-title {font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;} .pilo-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* 자가 진단 (파랑 톤 - 화농성한선염과 유사) */ .pilo-selfcheck {padding: 80px 0 !important; background: linear-gradient(180deg, 
#eef5fa 0%, 
#e2edf5 100%); position: relative;} .pilo-selfcheck::before {content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(to right, 
#4a7ba6, 
#6a9bc6, 
#4a7ba6);} .pilo-selfcheck .section-head {text-align: center; margin-bottom: 50px;} .pilo-selfcheck .sh-badge {display: inline-block; padding: 6px 20px; background: 
#4a7ba6; color: #fff; border-radius: 999px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 16px;} .pilo-selfcheck .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: 
#1e3a5c; line-height: 1.3em; letter-spacing: -0.02em; margin-bottom: 12px;} .pilo-selfcheck .sh-desc {font-size: var(--font-size-16); color: 
#446a8a; line-height: 1.7em; max-width: 700px; margin: 0 auto;} .pilo-selfcheck .sh-desc strong {color: 
#1e3a5c;} .pilo-selfcheck .section-body {max-width: 960px; margin: 0 auto;}

.page-pilo .checklist-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 40px;} .page-pilo .check-item {display: grid; grid-template-columns: 50px 1fr; gap: 18px; padding: 24px 26px; background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); border-left: 4px solid 
#4a7ba6; transition: .2s;} .page-pilo .check-item:hover {transform: translateY(-2px); box-shadow: 0 6px 20px rgba(74,123,166,0.15);} .page-pilo .ci-num {font-size: 30px; font-weight: 800; color: 
#4a7ba6; line-height: 1;} .page-pilo .ci-content h4 {font-size: var(--font-size-17); font-weight: 700; color: 
#1e3a5c; margin-bottom: 8px;} .page-pilo .ci-content p {font-size: var(--font-size-14); line-height: 1.8em; color: #446; margin: 0;} .page-pilo .ci-content strong {color: 
#1e3a5c; font-weight: 700;} .page-pilo .selfcheck-cta {padding: 30px 36px; background: #fff; border-radius: 16px; text-align: center; border: 2px solid 
#4a7ba6;} .page-pilo .selfcheck-cta p {font-size: var(--font-size-16); line-height: 1.9em; color: 
#1e3a5c; margin: 0 0 18px 0;} .page-pilo .selfcheck-cta strong {color: 
#4a7ba6;} .page-pilo .sc-btn {display: inline-block; padding: 14px 32px; background: var(--primary-color); color: #fff; border-radius: 999px; font-weight: 700; text-decoration: none; transition: .2s;} .page-pilo .sc-btn:hover {background: var(--dark-color); transform: translateY(-2px);}

/* 공통 섹션 */ .pilo-section {padding: 80px 0 !important; background: #fff;} .pilo-section.section-alt {background: 
#faf7f5;} .pilo-section .section-head {text-align: center; margin-bottom: 50px;} .pilo-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 16px;} .pilo-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -0.02em; margin-bottom: 12px;} .pilo-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.7em;} .pilo-section .sh-desc strong {color: var(--primary-color);} .pilo-section .section-body {max-width: 960px; margin: 0 auto;} .pilo-section .section-body p {font-size: var(--font-size-16); line-height: 1.9em; color: #444; margin-bottom: 20px;} .pilo-section .section-body p strong {color: var(--dark-color); font-weight: 700;}

/* info-grid */ .page-pilo .info-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 30px 0;} .page-pilo .info-box {padding: 30px; background: 
#faf5f4; border-radius: 16px;} .page-pilo .info-box h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color); margin-bottom: 16px;} .page-pilo .check-list {list-style: none; padding: 0; margin: 0;} .page-pilo .check-list li {position: relative; padding-left: 24px; font-size: var(--font-size-15); line-height: 2em; color: #444;} .page-pilo .check-list li::before {content: '✓'; position: absolute; left: 0; top: 0; color: var(--primary-color); font-weight: 700;} .page-pilo .note-box {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; font-size: var(--font-size-15); line-height: 1.8em; color: #444; margin: 30px 0;} .page-pilo .note-box strong {display: block; color: var(--primary-color); margin-bottom: 8px; font-size: 16px;}

/* ⭐ 위험 요인 카드 (주요 3개는 강조 컬러) */ .risk-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 30px;} .risk-card {padding: 28px 24px; background: #fff; border-radius: 16px; border: 1px solid 
#e5e5e5; text-align: center; transition: .2s;} .risk-card:hover {transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0,0,0,0.06);} .risk-card.major {border-color: var(--primary-color); background: linear-gradient(180deg, 
#faf5f4 0%, #fff 100%); box-shadow: 0 4px 12px rgba(125,28,30,0.08);} .rc-icon {font-size: 44px; margin-bottom: 14px; line-height: 1;} .risk-card h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;} .risk-card.major h4 {color: var(--primary-color);} .risk-card p {font-size: var(--font-size-14); line-height: 1.8em; color: #555; margin: 0;} .risk-card strong {color: var(--dark-color); font-weight: 700;} .risk-card.major strong {color: var(--primary-color);} .risk-note {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;} .risk-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;} .risk-note strong {color: var(--primary-color);}

/* ⭐ 상태별 카드 (무증상/급성/만성) */ .state-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 30px;} .state-card {padding: 32px 28px; background: #fff; border-radius: 20px; border: 2px solid 
#e5e5e5; transition: .25s;} .state-card.state-1 {border-color: 
#a8d4b0; background: linear-gradient(180deg, 
#f5faf7 0%, #fff 100%);} .state-card.state-2 {border-color: 
#f4b183; background: linear-gradient(180deg, 
#fff5ec 0%, #fff 100%);} .state-card.state-3 {border-color: 
#d47070; background: linear-gradient(180deg, 
#fdf0f0 0%, #fff 100%);} .state-card:hover {transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0,0,0,0.08);} .state-badge {display: inline-block; padding: 6px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; margin-bottom: 18px;} .state-1 .state-badge {background: 
#4a9b6c; color: #fff;} .state-2 .state-badge {background: 
#e07020; color: #fff;} .state-3 .state-badge {background: 
#c92e2e; color: #fff;} .state-vis {display: flex; gap: 8px; margin-bottom: 18px; align-items: center;} .state-dot {width: 14px; height: 14px; background: 
#e5e5e5; border-radius: 50%; transition: .3s;} .state-1 .state-dot.active {background: 
#4a9b6c;} .state-2 .state-dot.active {background: 
#e07020;} .state-3 .state-dot.active {background: 
#c92e2e;} .state-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 16px;} .state-list {list-style: none; padding: 0; margin: 0 0 20px 0;} .state-list li {font-size: var(--font-size-14); line-height: 1.9em; color: #444; padding-left: 16px; position: relative;} .state-list li::before {content: '·'; position: absolute; left: 0; top: 0; font-size: 18px; color: #999;} .state-list strong {color: var(--dark-color);} .state-treatment {padding: 14px 16px; background: 
#faf7f5; border-radius: 8px; font-size: var(--font-size-13); color: #666; line-height: 1.7em;} .state-treatment span {display: block; font-weight: 700; color: var(--dark-color); margin-bottom: 4px;} .state-note {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;} .state-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;} .state-note strong {color: var(--primary-color);}

/* 방문 vs 이송 */ .page-pilo .visit-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 30px;} .page-pilo .visit-card {padding: 36px 32px; background: #fff; border-radius: 20px; border: 2px solid transparent;} .page-pilo .visit-card.local {border-color: 
#4a9b6c; background: linear-gradient(180deg, #fff 0%, 
#f0f9f4 100%);} .page-pilo .visit-card.urgent {border-color: 
#c92e2e; background: linear-gradient(180deg, #fff 0%, 
#fef5f5 100%);} .page-pilo .visit-badge {display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 999px; margin-bottom: 24px;} .page-pilo .visit-card.local .visit-badge {background: 
#4a9b6c; color: #fff;} .page-pilo .visit-card.urgent .visit-badge {background: 
#c92e2e; color: #fff;} .page-pilo .vb-icon {display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: rgba(255,255,255,0.25); border-radius: 50%; font-weight: 700; font-size: 14px;} .page-pilo .vb-text {font-size: 15px; font-weight: 700;} .page-pilo .visit-list {list-style: none; padding: 0; margin: 0;} .page-pilo .visit-list li {position: relative; padding-left: 24px; font-size: var(--font-size-16); line-height: 2em; color: #444;} .page-pilo .visit-list li strong {color: var(--dark-color);} .page-pilo .visit-card.local .visit-list li::before {content: '✓'; position: absolute; left: 0; top: 0; color: 
#4a9b6c; font-weight: 700;} .page-pilo .visit-card.urgent .visit-list li::before {content: '!'; position: absolute; left: 4px; top: 0; color: 
#c92e2e; font-weight: 700;} .page-pilo .visit-note {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;} .page-pilo .visit-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;} .page-pilo .visit-note strong {color: var(--primary-color);}

/* 방법 카드 */ .page-pilo .method-cards {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;} .page-pilo .method-card {padding: 30px 28px; background: #fff; border-radius: 16px; border: 1px solid 
#e5e5e5;} .page-pilo .mc-num {font-size: 30px; font-weight: 800; color: var(--primary-color); line-height: 1; margin-bottom: 14px; letter-spacing: -0.02em;} .page-pilo .method-card h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 12px;} .page-pilo .method-card p {font-size: var(--font-size-15); line-height: 1.8em; color: #555; margin: 0;} .page-pilo .method-card strong {color: var(--primary-color);}

/* 생활 관리 */ .page-pilo .lifestyle-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;} .page-pilo .lifestyle-item {display: grid; grid-template-columns: 60px 1fr; gap: 20px; padding: 26px 28px; background: #fff; border-radius: 16px; border: 1px solid 
#e5e5e5; transition: .2s;} .page-pilo .lifestyle-item.priority {border-color: var(--primary-color); background: linear-gradient(90deg, 
#faf5f4 0%, #fff 100%);} .page-pilo .lifestyle-item:hover {transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.06);} .page-pilo .lf-icon {font-size: 40px; line-height: 1;} .page-pilo .lf-content h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;} .page-pilo .lifestyle-item.priority .lf-content h4 {color: var(--primary-color);} .page-pilo .lf-content p {font-size: var(--font-size-14); line-height: 1.8em; color: #555; margin: 0;} .page-pilo .lf-content strong {color: var(--dark-color); font-weight: 700;} .page-pilo .lifestyle-item.priority .lf-content strong {color: var(--primary-color);}

/* 타임라인 */ .page-pilo .timeline {display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 30px;} .page-pilo .tl-item {text-align: center; padding: 24px 12px; background: #fff; border-radius: 12px; border: 1px solid 
#e5e5e5;} .page-pilo .tl-icon {font-size: 32px; margin-bottom: 10px; line-height: 1;} .page-pilo .tl-time {display: inline-block; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 12px; font-size: 12px; font-weight: 700; margin-bottom: 8px;} .page-pilo .tl-item h4 {font-size: 15px; font-weight: 700; color: var(--dark-color); margin-bottom: 6px;} .page-pilo .tl-item p {font-size: 12px; color: #888; line-height: 1.5em; margin: 0;}

/* 비용 */ .page-pilo .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid 
#e5e5e5;} .page-pilo .cost-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 30px 0;} .page-pilo .cost-item {padding: 24px; background: 
#faf5f4; border-radius: 12px;} .page-pilo .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px;} .page-pilo .cost-tag.insurance {background: var(--primary-color); color: #fff;} .page-pilo .cost-tag.non-insurance {background: #888; color: #fff;} .page-pilo .cost-item p {font-size: var(--font-size-15); line-height: 1.7em; color: #444; margin: 0;} .page-pilo .cost-note {padding: 20px; background: 
#fff5e6; border-left: 4px solid 
#f0a020; border-radius: 4px; font-size: var(--font-size-15); color: 
#6d4a08; margin: 0 !important;}

/* FAQ */ .pilo-faq {display: flex; flex-direction: column; gap: 10px;} .pilo-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.04); transition: .2s;} .pilo-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,0.12);} .pilo-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;} .pilo-faq .faq-q:hover {background: 
#faf7f6;} .pilo-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;} .pilo-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;} .pilo-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;} .pilo-faq .q-arrow::before, .pilo-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);} .pilo-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;} .pilo-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);} .pilo-faq .faq-a {display: none; padding: 0 28px 26px 28px;} .pilo-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;} .pilo-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: 
#f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;} .pilo-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.9em; color: #555; padding-top: 6px;} .pilo-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장 노트 */ .pilo-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, 
#1a2942 0%, 
#2d3f5f 100%); color: #fff;} .pilo-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;} .pilo-doctor-note .dn-photo img {display: block; width: 100%; height: auto; } .pilo-doctor-note .dn-content {position: relative;} .pilo-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: 
#FFE9B0; opacity: 0.4; line-height: 1; font-family: Georgia, serif;} .pilo-doctor-note .dn-quote {margin: 0; padding: 0; border: none;} .pilo-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.9em; color: rgba(255,255,255,0.9); margin-bottom: 18px;} .pilo-doctor-note .dn-quote p:last-child {margin-bottom: 0;} .pilo-doctor-note .dn-quote strong {color: 
#FFE9B0; font-weight: 700;} .pilo-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.2);} .pilo-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;} .pilo-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,0.6); margin-top: 6px;}

/* CTA */ .pilo-cta {padding: 80px 0 !important; background: 
#faf5f4; text-align: center;} .pilo-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 20px; letter-spacing: -0.02em;} .pilo-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.7em; margin-bottom: 40px;} .pilo-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;} .pilo-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;} .pilo-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,0.2);} .pilo-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;} .pilo-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);} .pilo-cta .cta-icon {font-size: 28px;} .pilo-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;} .pilo-cta .cta-label {font-size: 13px; opacity: 0.8; font-weight: 500; margin-bottom: 4px;} .pilo-cta .cta-value {font-size: 18px; font-weight: 700;} .pilo-cta .cta-btn.cta-reserve {color: var(--primary-color);} .pilo-cta .cta-btn.cta-reserve:hover {color: #fff;}

/* ======================================== 모소동 페이지 - 태블릿·모바일 최적화 ======================================== */ @media (max-width: 1024px) { .pilo-hero {padding: 60px 0 !important;} .pilo-section, .pilo-selfcheck {padding: 60px 0 !important;} .page-pilo .checklist-grid {grid-template-columns: 1fr;} .risk-cards {grid-template-columns: repeat(2, 1fr);} .state-cards {grid-template-columns: 1fr;} .page-pilo .visit-grid {grid-template-columns: 1fr;} .page-pilo .method-cards {grid-template-columns: 1fr;} .page-pilo .info-grid {grid-template-columns: 1fr;} .page-pilo .lifestyle-grid {grid-template-columns: 1fr;} .page-pilo .cost-grid {grid-template-columns: 1fr;} .page-pilo .timeline {grid-template-columns: repeat(3, 1fr);} .pilo-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;} .pilo-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;} }

@media (max-width: 640px) { /* 히어로 */ .pilo-hero {padding: 40px 0 !important;} .pilo-hero .hero-title {font-size: 30px !important; line-height: 1.3em !important;} .pilo-hero .hero-lead {font-size: 15px !important; line-height: 1.9em !important;} .pilo-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important;}

/* 강점 카드 */
.pilo-highlights {padding: 30px 0 !important;}
.pilo-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
.pilo-highlights .highlight-card {padding: 20px 8px;}
.pilo-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
.pilo-highlights .hc-icon svg {width: 24px; height: 24px;}
.pilo-highlights .hc-title {font-size: 15px; margin-bottom: 6px;}
.pilo-highlights .hc-desc {font-size: 12px; line-height: 1.5em;}

/* 자가 진단 */
.pilo-selfcheck {padding: 40px 0 !important;}
.pilo-selfcheck .section-head {margin-bottom: 28px;}
.pilo-selfcheck .sh-badge {font-size: 11px; padding: 4px 14px;}
.pilo-selfcheck .section-head h3 {font-size: 22px !important; line-height: 1.35em !important;}
.pilo-selfcheck .sh-desc {font-size: 14px !important;}
.page-pilo .checklist-grid {gap: 12px;}
.page-pilo .check-item {grid-template-columns: 40px 1fr !important; gap: 14px !important; padding: 18px 20px !important;}
.page-pilo .ci-num {font-size: 24px !important;}
.page-pilo .ci-content h4 {font-size: 15px !important; margin-bottom: 6px !important;}
.page-pilo .ci-content p {font-size: 13px !important; line-height: 1.7em !important;}
.page-pilo .selfcheck-cta {padding: 22px 22px !important; border-width: 1px !important;}
.page-pilo .selfcheck-cta p {font-size: 13px !important; line-height: 1.8em !important;}
.page-pilo .sc-btn {padding: 12px 24px !important; font-size: 14px !important;}

/* 섹션 공통 */
.pilo-section {padding: 40px 0 !important;}
.pilo-section .section-head {margin-bottom: 28px;}
.pilo-section .sh-num {font-size: 11px; padding: 3px 12px;}
.pilo-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important;}
.pilo-section .sh-desc {font-size: 14px !important; line-height: 1.7em !important;}
.pilo-section .section-body p {font-size: 14px !important; line-height: 1.85em !important;}

/* info-grid */
.page-pilo .info-grid {gap: 12px !important;}
.page-pilo .info-box {padding: 20px !important;}
.page-pilo .info-box h4 {font-size: 15px !important; margin-bottom: 12px !important;}
.page-pilo .check-list li {font-size: 14px !important; line-height: 1.9em !important;}
.page-pilo .note-box {padding: 18px 20px !important; font-size: 14px !important; line-height: 1.8em !important;}

/* 위험 요인 - 2열 유지 */
.risk-cards {grid-template-columns: repeat(2, 1fr) !important; gap: 10px;}
.risk-card {padding: 18px 12px !important;}
.rc-icon {font-size: 30px !important; margin-bottom: 8px !important;}
.risk-card h4 {font-size: 14px !important; margin-bottom: 6px !important;}
.risk-card p {font-size: 11px !important; line-height: 1.6em !important;}
.risk-note {padding: 18px 20px !important;}
.risk-note p {font-size: 13px !important; line-height: 1.8em !important;}

/* 상태별 카드 */
.state-cards {gap: 12px !important;}
.state-card {padding: 22px 20px !important;}
.state-badge {padding: 4px 12px !important; font-size: 11px !important; margin-bottom: 12px !important;}
.state-dot {width: 10px !important; height: 10px !important;}
.state-card h4 {font-size: 16px !important; margin-bottom: 12px !important;}
.state-list li {font-size: 13px !important;}
.state-treatment {padding: 12px 14px !important; font-size: 12px !important;}
.state-note {padding: 18px 20px !important;}
.state-note p {font-size: 13px !important; line-height: 1.8em !important;}

/* 방문 vs 이송 */
.page-pilo .visit-grid {gap: 14px !important;}
.page-pilo .visit-card {padding: 24px 22px !important;}
.page-pilo .visit-badge {padding: 6px 14px !important; margin-bottom: 16px !important;}
.page-pilo .vb-icon {width: 20px !important; height: 20px !important; font-size: 12px !important;}
.page-pilo .vb-text {font-size: 13px !important;}
.page-pilo .visit-list li {font-size: 14px !important; line-height: 1.9em !important; padding-left: 22px !important;}
.page-pilo .visit-note {padding: 18px 20px !important;}
.page-pilo .visit-note p {font-size: 13px !important; line-height: 1.8em !important;}

/* 방법 카드 → 큰 넘버 + 텍스트 흐름 */
.page-pilo .method-cards {gap: 0 !important;}
.page-pilo .method-card {padding: 22px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e5e5e5 !important; display: grid !important; grid-template-columns: 44px 1fr !important; gap: 14px !important; align-items: start;}
.page-pilo .method-card:last-child {border-bottom: none !important;}
.page-pilo .mc-num {font-size: 30px !important; margin-bottom: 0 !important; grid-row: 1 / 3;}
.page-pilo .method-card h4 {font-size: 16px !important; margin-bottom: 6px !important;}
.page-pilo .method-card p {font-size: 14px !important; line-height: 1.85em !important;}

/* 생활 관리 */
.page-pilo .lifestyle-grid {gap: 12px !important;}
.page-pilo .lifestyle-item {grid-template-columns: 44px 1fr !important; gap: 14px !important; padding: 18px 20px !important;}
.page-pilo .lf-icon {font-size: 30px !important;}
.page-pilo .lf-content h4 {font-size: 15px !important; margin-bottom: 6px !important;}
.page-pilo .lf-content p {font-size: 13px !important; line-height: 1.8em !important;}

/* 진료 절차 → 세로 리스트 */
.page-pilo .timeline {grid-template-columns: 1fr !important; gap: 0 !important;}
.page-pilo .tl-item {text-align: left !important; padding: 16px 0 16px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e5e5e5 !important; margin-left: 8px; display: grid; grid-template-columns: 44px 1fr; gap: 12px; align-items: center;}
.page-pilo .tl-item:last-child {border-bottom: none !important;}
.page-pilo .tl-icon {font-size: 22px !important; margin-bottom: 0 !important;}
.page-pilo .tl-time {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 0 !important; grid-column: 2; justify-self: start; width: fit-content;}
.page-pilo .tl-item h4 {font-size: 14px !important; margin-bottom: 2px !important; grid-column: 2;}
.page-pilo .tl-item p {font-size: 12px !important; margin: 0 !important; grid-column: 2;}

/* 비용 */
.page-pilo .cost-info {padding: 22px !important;}
.page-pilo .cost-grid {gap: 12px !important;}
.page-pilo .cost-item {padding: 18px !important;}
.page-pilo .cost-tag {padding: 4px 10px !important; font-size: 11px !important;}
.page-pilo .cost-item p {font-size: 13px !important;}
.page-pilo .cost-note {padding: 14px 18px !important; font-size: 13px !important;}

/* FAQ */
.pilo-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
.pilo-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
.pilo-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
.pilo-faq .faq-a {padding: 0 18px 20px 18px !important;}
.pilo-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
.pilo-faq .a-txt {font-size: 13px !important; line-height: 1.85em !important;}

/* 원장 노트 */
.pilo-doctor-note {padding: 50px 0 !important;}
.pilo-doctor-note .doctor-note-inner {gap: 24px !important;}
.pilo-doctor-note .dn-photo {max-width: 160px !important;}
.pilo-doctor-note .dn-quote-mark {font-size: 60px !important; top: -30px !important; left: 0 !important;}
.pilo-doctor-note .dn-quote p {font-size: 14px !important; line-height: 1.9em !important; margin-bottom: 14px;}
.pilo-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
.pilo-doctor-note .dn-signature strong {font-size: 17px !important;}
.pilo-doctor-note .dn-signature span {font-size: 12px !important;}

/* CTA */
.pilo-cta {padding: 50px 0 !important;}
.pilo-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
.pilo-cta > .contain > p {font-size: 13px !important; line-height: 1.8em !important; margin-bottom: 24px !important;}
.pilo-cta .cta-buttons {flex-direction: column; gap: 10px;}
.pilo-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
.pilo-cta .cta-icon {font-size: 24px;}
.pilo-cta .cta-label {font-size: 11px;}
.pilo-cta .cta-value {font-size: 16px;}
}

@media (max-width: 380px) { .pilo-highlights .highlight-cards {gap: 6px;} .pilo-highlights .highlight-card {padding: 16px 4px;} .pilo-highlights .hc-title {font-size: 13px;} .pilo-highlights .hc-desc {font-size: 11px;} .pilo-hero .hero-title {font-size: 26px !important;} .risk-cards {grid-template-columns: 1fr !important;} }

/* ========================================
   치핵(치질) 페이지 (page-hemo)
   항문외과 앵커 페이지 — 이후 4개 페이지가 이 구조를 계승
   ======================================== */
.page-hemo section {padding: 0;}
.page-hemo .contain {padding-top: 0; padding-bottom: 0;}

/* ① 히어로 — 차분한 세이지-크림 (팔레트 내 변주) */
.hemo-hero {background: linear-gradient(135deg, #f2f0e9 0%, #e6e4d9 100%); padding: 80px 0 !important;}
.hemo-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.hemo-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.hemo-hero .hero-title {font-size: clamp(38px, calc(66 / var(--inner) * 100vw), 66px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.hemo-hero .title-sub {font-size: .5em; font-weight: 600; color: #8a8574; margin-left: 10px; letter-spacing: -.01em;}
.hemo-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.95em; color: #4a4a44;}
.hemo-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* ② 강점 카드 */
.hemo-highlights {padding: 60px 0 !important; background: #fff;}
.hemo-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 900px; margin: 0 auto;}
.hemo-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.hemo-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,.1); transform: translateY(-4px);}
.hemo-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.hemo-highlights .hc-title {font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.hemo-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* ③ 증상 라우터 */
.hemo-router {padding: 70px 0 !important; background: linear-gradient(180deg, #fbf9f6 0%, #f5f1eb 100%); border-top: 1px solid #ece7df; border-bottom: 1px solid #ece7df;}
.hemo-router .section-head {text-align: center; margin-bottom: 40px;}
.hemo-router .sh-badge {display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.hemo-router .section-head h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.hemo-router .sh-desc {font-size: var(--font-size-16); color: #6a655c; line-height: 1.7em;}
.hemo-router .section-body {max-width: 1080px; margin: 0 auto;}

.router-grid {display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 24px;}
.router-item {display: flex; flex-direction: column; padding: 24px 18px; background: #fff; border: 1px solid #e5e0d8; border-radius: 14px; text-decoration: none; transition: .22s; min-height: 150px;}
.router-item:hover {border-color: var(--primary-color); box-shadow: 0 8px 20px rgba(125,28,30,.1); transform: translateY(-3px);}
.router-item.is-current {background: var(--primary-color); border-color: var(--primary-color);}
.ri-symptom {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; letter-spacing: -.01em;}
.router-item.is-current .ri-symptom {color: #fff;}
.ri-desc {flex: 1; font-size: var(--font-size-13); color: #8a8578; line-height: 1.65em; margin-bottom: 14px;}
.router-item.is-current .ri-desc {color: rgba(255,255,255,.75);}
.ri-target {font-size: var(--font-size-13); font-weight: 700; color: var(--primary-color); padding-top: 12px; border-top: 1px solid #efeae2;}
.ri-target em {font-style: normal; font-weight: 400; color: #b0aa9e;}
.router-item.is-current .ri-target {color: #FFE9B0; border-top-color: rgba(255,255,255,.25);}
.router-item.is-current .ri-target em {color: rgba(255,255,255,.6);}
.router-note {padding: 18px 26px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.router-note p {font-size: var(--font-size-14); line-height: 1.8em; color: #5a564e; margin: 0;}
.router-note strong {color: var(--primary-color);}

/* 공통 섹션 */
.hemo-section {padding: 80px 0 !important; background: #fff;}
.hemo-section.section-alt {background: #faf7f5;}
.hemo-section .section-head {text-align: center; margin-bottom: 50px;}
.hemo-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.hemo-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -.02em; margin-bottom: 12px;}
.hemo-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.7em;}
.hemo-section .sh-desc strong {color: var(--primary-color);}
.hemo-section .section-body {max-width: 960px; margin: 0 auto;}
.hemo-section .section-body > p {font-size: var(--font-size-16); line-height: 1.95em; color: #444; margin-bottom: 20px;}
.hemo-section .section-body > p strong {color: var(--dark-color); font-weight: 700;}

/* info-grid / note-box */
.page-hemo .info-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 30px 0;}
.page-hemo .info-box {padding: 30px; background: #faf5f4; border-radius: 16px;}
.page-hemo .info-box h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color); margin-bottom: 16px;}
.page-hemo .check-list {list-style: none; padding: 0; margin: 0;}
.page-hemo .check-list li {position: relative; padding-left: 24px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.page-hemo .check-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: var(--primary-color); border-radius: 50%;}
.page-hemo .note-box {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; font-size: var(--font-size-15); line-height: 1.85em; color: #444; margin: 30px 0;}
.page-hemo .note-box strong {display: block; color: var(--primary-color); margin-bottom: 8px; font-size: 16px;}
.page-hemo .note-box strong + * {display: inline;}

/* ⑤ 1~4도 카드 */
.grade-cards {display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 30px;}
.grade-card {padding: 26px 22px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5; transition: .25s;}
.grade-card:hover {transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0,0,0,.07);}
.grade-card.grade-1 {border-top: 4px solid #6aa88a;}
.grade-card.grade-2 {border-top: 4px solid #cfa93f;}
.grade-card.grade-3 {border-top: 4px solid #d4823a;}
.grade-card.grade-4 {border-top: 4px solid #b8443f;}
.gc-head {display: flex; align-items: center; gap: 12px; margin-bottom: 16px;}
.gc-badge {flex: 0 0 auto; padding: 5px 13px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #fff;}
.grade-1 .gc-badge {background: #6aa88a;}
.grade-2 .gc-badge {background: #cfa93f;}
.grade-3 .gc-badge {background: #d4823a;}
.grade-4 .gc-badge {background: #b8443f;}
.gc-bar {flex: 1; height: 5px; background: #eee; border-radius: 3px; overflow: hidden;}
.gc-bar i {display: block; height: 100%; border-radius: 3px;}
.grade-1 .gc-bar i {background: #6aa88a;}
.grade-2 .gc-bar i {background: #cfa93f;}
.grade-3 .gc-bar i {background: #d4823a;}
.grade-4 .gc-bar i {background: #b8443f;}
.grade-card h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.4em;}
.gc-state {font-size: var(--font-size-14); line-height: 1.8em; color: #555; margin-bottom: 16px; min-height: 76px;}
.gc-state strong {color: var(--dark-color);}
.gc-treat {padding: 12px 14px; background: #faf7f5; border-radius: 8px; font-size: var(--font-size-13); color: #666; line-height: 1.65em;}
.gc-treat span {display: block; font-weight: 700; color: var(--dark-color); margin-bottom: 3px; font-size: 12px; letter-spacing: .05em;}
.grade-note {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.grade-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.grade-note strong {color: var(--primary-color);}

/* ⑥ 감별 섹션 */
.hemo-differential {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f7f4f0 100%);}
.hemo-differential .section-head {text-align: center; margin-bottom: 46px;}
.hemo-differential .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.hemo-differential .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.hemo-differential .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.hemo-differential .sh-desc strong {color: var(--primary-color);}
.hemo-differential .section-body {max-width: 960px; margin: 0 auto;}

.diff-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 28px;}
.diff-card {padding: 34px 30px; background: #fff; border-radius: 18px; border: 2px solid transparent;}
.diff-card.typical {border-color: #7fb096; background: linear-gradient(180deg, #fff 0%, #f2f9f5 100%);}
.diff-card.check {border-color: #b8443f; background: linear-gradient(180deg, #fff 0%, #fdf4f3 100%);}
.diff-badge {display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 999px; margin-bottom: 22px;}
.diff-card.typical .diff-badge {background: #4d9370; color: #fff;}
.diff-card.check .diff-badge {background: #b8443f; color: #fff;}
.db-icon {display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: rgba(255,255,255,.25); border-radius: 50%;}
.db-text {font-size: 14px; font-weight: 700;}
.diff-list {list-style: none; padding: 0; margin: 0;}
.diff-list li {position: relative; padding-left: 22px; font-size: var(--font-size-16); line-height: 2.05em; color: #444;}
.diff-list li strong {color: var(--dark-color); font-weight: 700;}
.diff-card.typical .diff-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: #4d9370; border-radius: 50%;}
.diff-card.check .diff-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: #b8443f; border-radius: 50%;}

.diff-strength {background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; overflow: hidden;}
.ds-inner {padding: 40px 44px; color: #fff;}
.ds-inner h4 {font-size: var(--font-size-22); font-weight: 700; color: #FFE9B0; margin-bottom: 18px; letter-spacing: -.01em;}
.ds-inner p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 14px;}
.ds-inner p strong {color: #FFE9B0; font-weight: 700;}
.ds-list {list-style: none; padding: 0; margin: 22px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;}
.ds-list li {padding: 14px 16px; background: rgba(255,255,255,.08); border-radius: 10px; font-size: var(--font-size-14); line-height: 1.6em; color: rgba(255,255,255,.9);}
.ds-list li strong {color: #FFE9B0;}
.ds-link {display: inline-block; padding: 12px 26px; background: #FFE9B0; color: #1a2942; border-radius: 999px; font-size: var(--font-size-15); font-weight: 700; text-decoration: none; transition: .2s;}
.ds-link:hover {background: #fff; transform: translateY(-2px);}

/* ⑦ 진료 절차 (절차 투명성) */
.proc-steps {display: flex; flex-direction: column; gap: 14px; margin-bottom: 26px;}
.proc-item {display: grid; grid-template-columns: 64px 1fr; gap: 22px; align-items: start; padding: 26px 30px; background: #fff; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.05); transition: .2s;}
.proc-item:hover {box-shadow: 0 6px 18px rgba(125,28,30,.1);}
.pi-num {font-size: 34px; font-weight: 800; color: var(--primary-color); line-height: 1; letter-spacing: -.03em; opacity: .85;}
.pi-top {display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px; flex-wrap: wrap;}
.pi-top h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin: 0;}
.pi-time {padding: 3px 11px; background: #f2ece9; color: var(--primary-color); border-radius: 999px; font-size: 12px; font-weight: 700;}
.pi-body p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.pi-body strong {color: var(--dark-color); font-weight: 700;}
.proc-note {padding: 22px 28px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.proc-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.proc-note strong {color: var(--primary-color);}

/* ⑧ 치료 3단계 */
.treat-tiers {display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 30px;}
.tier-card {padding: 32px 26px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5; transition: .25s;}
.tier-card:hover {transform: translateY(-4px); box-shadow: 0 8px 22px rgba(0,0,0,.07);}
.tier-card.tier-3 {border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.tc-label {display: inline-block; padding: 4px 13px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: .06em; margin-bottom: 14px;}
.tier-card.tier-3 .tc-label {background: var(--primary-color);}
.tier-card h4 {font-size: var(--font-size-21); font-weight: 700; color: var(--dark-color); margin-bottom: 8px;}
.tc-target {font-size: var(--font-size-13); color: var(--primary-color); font-weight: 600; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid #eee;}
.tc-list {list-style: none; padding: 0; margin: 0;}
.tc-list li {position: relative; padding-left: 18px; font-size: var(--font-size-14); line-height: 1.9em; color: #555; margin-bottom: 6px;}
.tc-list li::before {content: ''; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; background: var(--primary-color); border-radius: 50%;}
.tc-list strong {color: var(--dark-color); font-weight: 700;}

.honest-box {padding: 32px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.honest-box h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 12px;}
.honest-box > p {font-size: var(--font-size-15); line-height: 1.85em; color: #555; margin-bottom: 16px;}
.page-hemo .honest-list {list-style: none; padding: 0; margin: 0;}
.page-hemo .honest-list li {position: relative; padding-left: 24px; font-size: var(--font-size-15); line-height: 1.95em; color: #444;}
.page-hemo .honest-list li::before {content: ''; position: absolute; left: 2px; top: 12px; width: 8px; height: 8px; background: #b8443f; border-radius: 50%;}

/* ⑨ 오해와 사실 */
.hemo-myth {padding: 80px 0 !important; background: #faf7f5;}
.hemo-myth .section-head {text-align: center; margin-bottom: 44px;}
.hemo-myth .sh-badge {display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.hemo-myth .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.hemo-myth .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.7em;}
.hemo-myth .section-body {max-width: 900px; margin: 0 auto;}

.myth-list {display: flex; flex-direction: column; gap: 16px;}
.myth-item {background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,.05);}
.myth-q {display: flex; align-items: center; gap: 14px; padding: 20px 26px; background: #f0ecea;}
.mq-mark {flex: 0 0 auto; padding: 4px 12px; background: #9a9490; color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700;}
.mq-txt {font-size: var(--font-size-17); font-weight: 600; color: #6a6560; line-height: 1.5em;}
.myth-a {display: flex; align-items: flex-start; gap: 14px; padding: 22px 26px;}
.ma-mark {flex: 0 0 auto; padding: 4px 12px; background: var(--primary-color); color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; margin-top: 2px;}
.ma-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #444;}
.ma-txt strong {color: var(--primary-color); font-weight: 700;}

/* ⑩ 임신·출산 */
.preg-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 26px;}
.preg-card {padding: 32px 30px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.preg-card h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--primary-color); margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0;}
.preg-list {list-style: none; padding: 0; margin: 0;}
.preg-list li {position: relative; padding-left: 20px; font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin-bottom: 4px;}
.preg-list li::before {content: ''; position: absolute; left: 0; top: 13px; width: 7px; height: 7px; background: var(--primary-color); border-radius: 50%;}
.preg-list strong {color: var(--dark-color); font-weight: 700;}
.preg-note {padding: 22px 28px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.preg-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.preg-note strong {color: var(--primary-color);}

/* ⑪ 타임라인 + 회복 */
.page-hemo .timeline {display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 30px;}
.page-hemo .tl-item {text-align: center; padding: 24px 12px; background: #fff; border-radius: 12px; border: 1px solid #e5e5e5;}
.page-hemo .tl-ico {display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: #faf5f4; color: var(--primary-color); border-radius: 50%; margin-bottom: 10px;}
.page-hemo .tl-time {display: inline-block; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 12px; font-size: 11px; font-weight: 700; margin-bottom: 8px;}
.page-hemo .tl-item h4 {font-size: 15px; font-weight: 700; color: var(--dark-color); margin-bottom: 6px;}
.page-hemo .tl-item p {font-size: 12px; color: #888; line-height: 1.5em; margin: 0;}

.recovery-box {padding: 34px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.recovery-box h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid #eee;}
.rec-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px;}
.rec-item {display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: #faf7f5; border-radius: 10px; border-left: 3px solid var(--primary-color);}
.rec-item .ri-when {font-size: var(--font-size-17); font-weight: 800; color: var(--primary-color); letter-spacing: -.01em;}
.rec-item .ri-what {font-size: var(--font-size-14); color: #555; line-height: 1.5em;}
.rec-note {font-size: var(--font-size-13); color: #888; line-height: 1.7em; margin: 0;}

/* 비용 */
.page-hemo .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-hemo .cost-info > p {font-size: var(--font-size-16); line-height: 1.9em; color: #444; margin-bottom: 20px;}
.page-hemo .cost-info > p strong {color: var(--dark-color);}
.page-hemo .cost-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 26px 0;}
.page-hemo .cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.page-hemo .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px;}
.page-hemo .cost-tag.insurance {background: var(--primary-color); color: #fff;}
.page-hemo .cost-tag.non-insurance {background: #888; color: #fff;}
.page-hemo .cost-item p {font-size: var(--font-size-15); line-height: 1.75em; color: #444; margin: 0;}
.page-hemo .cost-note {padding: 20px; background: #fff8ec; border-left: 4px solid #d9a441; border-radius: 4px; font-size: var(--font-size-14); color: #6d5320; line-height: 1.8em; margin: 0 !important;}

/* FAQ */
.hemo-faq {display: flex; flex-direction: column; gap: 10px;}
.hemo-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: .2s;}
.hemo-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,.12);}
.hemo-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.hemo-faq .faq-q:hover {background: #faf7f6;}
.hemo-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.hemo-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.hemo-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.hemo-faq .q-arrow::before, .hemo-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.hemo-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.hemo-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.hemo-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.hemo-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.hemo-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.hemo-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #555; padding-top: 6px;}
.hemo-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장 노트 */
.hemo-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.hemo-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.hemo-doctor-note .dn-photo img {display: block; width: 100%; height: auto; }
.hemo-doctor-note .dn-content {position: relative;}
.hemo-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: .4; line-height: 1; font-family: Georgia, serif;}
.hemo-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.hemo-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.95em; color: rgba(255,255,255,.9); margin-bottom: 18px;}
.hemo-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.hemo-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.hemo-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2);}
.hemo-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.hemo-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,.65); margin-top: 6px;}

/* CTA */
.hemo-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.hemo-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 18px; letter-spacing: -.02em;}
.hemo-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.85em; margin-bottom: 36px;}
.hemo-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 30px;}
.hemo-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.hemo-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.hemo-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.hemo-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.hemo-cta .cta-ico {display: inline-flex; align-items: center; justify-content: center;}
.hemo-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.hemo-cta .cta-label {font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.hemo-cta .cta-value {font-size: 18px; font-weight: 700;}
.hemo-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.hemo-cta .cta-btn.cta-reserve:hover {color: #fff;}
.hemo-cta .cta-links {display: flex; justify-content: center; gap: 28px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid #ebe0de;}
.hemo-cta .cta-links a {font-size: var(--font-size-15); color: var(--primary-color); font-weight: 600; text-decoration: none; transition: .2s;}
.hemo-cta .cta-links a:hover {text-decoration: underline;}

/* ========================================
   치핵 페이지 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .hemo-hero {padding: 60px 0 !important;}
    .hemo-section, .hemo-differential, .hemo-myth, .hemo-router {padding: 60px 0 !important;}
    .router-grid {grid-template-columns: repeat(3, 1fr);}
    .grade-cards {grid-template-columns: 1fr 1fr;}
    .gc-state {min-height: auto;}
    .diff-grid, .preg-grid, .page-hemo .info-grid, .page-hemo .cost-grid {grid-template-columns: 1fr;}
    .treat-tiers {grid-template-columns: 1fr;}
    .ds-list {grid-template-columns: 1fr;}
    .rec-grid {grid-template-columns: 1fr 1fr;}
    .page-hemo .timeline {grid-template-columns: repeat(3, 1fr);}
    .hemo-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
    .hemo-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;}
}

/* ========================================
   치핵 페이지 — 모바일
   PC와 다른 레이아웃 패턴을 의도적으로 적용
   (박스 반복 대신 흐름 · 타임라인 · 대비 구조)
   ======================================== */
@media (max-width: 640px) {

    /* 히어로 */
    .hemo-hero {padding: 44px 0 !important;}
    .hemo-hero .hero-title {font-size: 32px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .hemo-hero .title-sub {font-size: 18px !important; display: block; margin: 6px 0 0 0 !important;}
    .hemo-hero .hero-lead {font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .hemo-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    /* 강점 카드 → 가로 3분할 컴팩트 유지 */
    .hemo-highlights {padding: 30px 0 !important;}
    .hemo-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .hemo-highlights .highlight-card {padding: 20px 8px; border-radius: 12px;}
    .hemo-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
    .hemo-highlights .hc-icon svg {width: 24px; height: 24px;}
    .hemo-highlights .hc-title {font-size: 14px; margin-bottom: 6px;}
    .hemo-highlights .hc-desc {font-size: 11px; line-height: 1.5em;}

    /* ★ 증상 라우터 → 가로 스크롤 칩 형태 (PC 그리드와 완전히 다른 패턴) */
    .hemo-router {padding: 36px 0 !important;}
    .hemo-router .section-head {margin-bottom: 20px;}
    .hemo-router .sh-badge {font-size: 10px; padding: 4px 14px; margin-bottom: 12px;}
    .hemo-router .section-head h3 {font-size: 21px !important; margin-bottom: 8px !important;}
    .hemo-router .sh-desc {font-size: 13px !important; line-height: 1.65em !important;}
    .hemo-router .sh-desc br {display: none;}
    .router-grid {display: flex !important; grid-template-columns: none !important; gap: 10px; overflow-x: auto; padding: 4px 20px 14px; margin: 0 -20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;}
    .router-grid::-webkit-scrollbar {display: none;}
    .router-item {flex: 0 0 200px; min-height: auto; padding: 18px 18px; scroll-snap-align: start;}
    .ri-symptom {font-size: 17px !important; margin-bottom: 7px !important;}
    .ri-desc {font-size: 12px !important; margin-bottom: 12px !important;}
    .ri-target {font-size: 12px !important; padding-top: 10px !important;}
    .router-note {padding: 14px 18px !important; margin-top: 4px;}
    .router-note p {font-size: 12.5px !important; line-height: 1.75em !important;}

    /* 섹션 헤드 */
    .hemo-section {padding: 44px 0 !important;}
    .hemo-section .section-head {margin-bottom: 26px;}
    .hemo-section .sh-num {font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .hemo-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important; margin-bottom: 10px !important;}
    .hemo-section .sh-desc {font-size: 13.5px !important; line-height: 1.7em !important;}
    .hemo-section .section-body > p {font-size: 14.5px !important; line-height: 1.9em !important;}

    /* info-grid → 박스 유지하되 컴팩트 */
    .page-hemo .info-grid {gap: 12px !important; margin: 22px 0 !important;}
    .page-hemo .info-box {padding: 20px 22px !important; border-radius: 12px;}
    .page-hemo .info-box h4 {font-size: 16px !important; margin-bottom: 12px !important;}
    .page-hemo .check-list li {font-size: 14px !important; line-height: 1.95em !important;}
    .page-hemo .check-list li::before {top: 13px;}
    .page-hemo .note-box {padding: 18px 20px !important; font-size: 13.5px !important; line-height: 1.85em !important; margin: 22px 0 !important;}
    .page-hemo .note-box strong {font-size: 14px !important;}

    /* ★ 1~4도 → 박스 벗기고 좌측 컬러 라인 진행형 흐름 */
    .grade-cards {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 22px !important;}
    .grade-card {padding: 20px 0 20px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid #e5e5e5 !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px;}
    .grade-card:last-child {border-bottom: none !important;}
    .grade-card:hover {transform: none !important; box-shadow: none !important;}
    .grade-card.grade-1 {border-left-color: #6aa88a !important;}
    .grade-card.grade-2 {border-left-color: #cfa93f !important;}
    .grade-card.grade-3 {border-left-color: #d4823a !important;}
    .grade-card.grade-4 {border-left-color: #b8443f !important;}
    .gc-head {margin-bottom: 10px !important; gap: 10px !important;}
    .gc-badge {padding: 3px 11px !important; font-size: 11px !important;}
    .gc-bar {height: 4px !important;}
    .grade-card h4 {font-size: 16px !important; margin-bottom: 7px !important;}
    .gc-state {font-size: 13.5px !important; line-height: 1.8em !important; margin-bottom: 10px !important;}
    .gc-treat {padding: 10px 12px !important; font-size: 12px !important;}
    .gc-treat span {font-size: 11px !important;}
    .grade-note {padding: 18px 20px !important;}
    .grade-note p {font-size: 13px !important; line-height: 1.85em !important;}

    /* ★ 감별 섹션 */
    .hemo-differential {padding: 44px 0 !important;}
    .hemo-differential .section-head {margin-bottom: 24px;}
    .hemo-differential .sh-badge {font-size: 10px; padding: 4px 14px;}
    .hemo-differential .section-head h3 {font-size: 24px !important; margin-bottom: 10px !important;}
    .hemo-differential .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .diff-grid {gap: 12px !important; margin-bottom: 20px !important;}
    .diff-card {padding: 22px 20px !important; border-radius: 14px; border-width: 1px !important;}
    .diff-badge {padding: 6px 14px !important; margin-bottom: 16px !important;}
    .db-icon {width: 18px !important; height: 18px !important;}
    .db-icon svg {width: 12px !important; height: 12px !important;}
    .db-text {font-size: 12.5px !important;}
    .diff-list li {font-size: 14px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .diff-list li::before {top: 12px; width: 6px !important; height: 6px !important;}
    .ds-inner {padding: 26px 22px !important;}
    .ds-inner h4 {font-size: 17px !important; margin-bottom: 14px !important;}
    .ds-inner p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .ds-list {grid-template-columns: 1fr !important; gap: 8px !important; margin: 18px 0 !important;}
    .ds-list li {padding: 11px 14px !important; font-size: 13px !important;}
    .ds-link {padding: 11px 22px !important; font-size: 13.5px !important;}

    /* ★ 진료 절차 → 세로 타임라인 (좌측 도트 + 세로 라인) */
    .proc-steps {gap: 0 !important; position: relative; padding-left: 26px; margin-bottom: 20px !important;}
    .proc-steps::before {content: ''; position: absolute; left: 9px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(to bottom, var(--primary-color), rgba(125,28,30,.18));}
    .proc-item {display: block !important; padding: 0 0 26px 0 !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; position: relative;}
    .proc-item:last-child {padding-bottom: 0 !important;}
    .proc-item:hover {box-shadow: none !important;}
    .proc-item::before {content: ''; position: absolute; left: -26px; top: 3px; width: 18px; height: 18px; background: var(--primary-color); border: 3px solid #faf7f5; border-radius: 50%; box-shadow: 0 0 0 2px var(--primary-color);}
    .pi-num {display: none !important;}
    .pi-top {margin-bottom: 7px !important; gap: 10px !important;}
    .pi-top h4 {font-size: 16px !important;}
    .pi-time {font-size: 11px !important; padding: 2px 9px !important;}
    .pi-body p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .proc-note {padding: 16px 18px !important;}
    .proc-note p {font-size: 13px !important; line-height: 1.85em !important;}

    /* ★ 치료 3단계 → 박스 벗기고 단계 라벨 + 흐름 */
    .treat-tiers {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 22px !important;}
    .tier-card {padding: 22px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e8e3de !important;}
    .tier-card:last-child {border-bottom: none !important;}
    .tier-card:hover {transform: none !important; box-shadow: none !important;}
    .tc-label {padding: 3px 11px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .tier-card h4 {font-size: 18px !important; margin-bottom: 6px !important;}
    .tc-target {font-size: 12px !important; margin-bottom: 14px !important; padding-bottom: 10px !important;}
    .tc-list li {font-size: 13.5px !important; line-height: 1.9em !important; margin-bottom: 4px !important;}
    .honest-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .honest-box h4 {font-size: 16px !important; margin-bottom: 10px !important;}
    .honest-box > p {font-size: 13px !important; line-height: 1.8em !important; margin-bottom: 12px !important;}
    .page-hemo .honest-list li {font-size: 13.5px !important; line-height: 1.9em !important; padding-left: 20px !important;}
    .page-hemo .honest-list li::before {top: 11px; width: 6px !important; height: 6px !important;}

    /* ★ 오해와 사실 → 상하 대비 강화 */
    .hemo-myth {padding: 44px 0 !important;}
    .hemo-myth .section-head {margin-bottom: 24px;}
    .hemo-myth .sh-badge {font-size: 10px; padding: 4px 14px;}
    .hemo-myth .section-head h3 {font-size: 22px !important; margin-bottom: 10px !important;}
    .hemo-myth .sh-desc {font-size: 13.5px !important;}
    .myth-list {gap: 12px !important;}
    .myth-item {border-radius: 12px;}
    .myth-q {padding: 14px 18px !important; gap: 10px !important;}
    .mq-mark {padding: 3px 9px !important; font-size: 11px !important;}
    .mq-txt {font-size: 14.5px !important; line-height: 1.5em !important;}
    .myth-a {padding: 16px 18px !important; gap: 10px !important;}
    .ma-mark {padding: 3px 9px !important; font-size: 11px !important;}
    .ma-txt {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* 임신·출산 */
    .preg-grid {gap: 12px !important; margin-bottom: 18px !important;}
    .preg-card {padding: 22px 20px !important; border-radius: 12px;}
    .preg-card h4 {font-size: 16px !important; margin-bottom: 12px !important; padding-bottom: 10px !important;}
    .preg-list li {font-size: 13.5px !important; line-height: 1.9em !important;}
    .preg-list li::before {top: 12px; width: 6px !important; height: 6px !important;}
    .preg-note {padding: 16px 18px !important;}
    .preg-note p {font-size: 13px !important; line-height: 1.85em !important;}

    /* ★ 진료 절차 타임라인 → 좌측 라인 세로 리스트 */
    .page-hemo .timeline {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 22px !important;}
    .page-hemo .tl-item {text-align: left !important; padding: 14px 0 14px 18px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px; display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: center;}
    .page-hemo .tl-item:last-child {border-bottom: none !important;}
    .page-hemo .tl-ico {width: 36px !important; height: 36px !important; margin-bottom: 0 !important;}
    .page-hemo .tl-ico svg {width: 18px !important; height: 18px !important;}
    .page-hemo .tl-time {padding: 2px 9px !important; font-size: 10.5px !important; margin-bottom: 0 !important; grid-column: 2; justify-self: start; width: fit-content;}
    .page-hemo .tl-item h4 {font-size: 14px !important; margin-bottom: 2px !important; grid-column: 2;}
    .page-hemo .tl-item p {font-size: 11.5px !important; margin: 0 !important; grid-column: 2;}

    /* 회복 박스 → 2열 유지 (숫자라 컴팩트해도 읽힘) */
    .recovery-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .recovery-box h4 {font-size: 16px !important; margin-bottom: 14px !important; padding-bottom: 10px !important;}
    .rec-grid {grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin-bottom: 14px !important;}
    .rec-item {padding: 12px 12px !important; gap: 3px !important; border-left-width: 2px !important;}
    .rec-item .ri-when {font-size: 14px !important;}
    .rec-item .ri-what {font-size: 11.5px !important; line-height: 1.45em !important;}
    .rec-note {font-size: 11.5px !important;}

    /* 비용 */
    .page-hemo .cost-info {padding: 22px 20px !important; border-radius: 12px;}
    .page-hemo .cost-info > p {font-size: 14px !important; line-height: 1.9em !important;}
    .page-hemo .cost-grid {gap: 12px !important; margin: 20px 0 !important;}
    .page-hemo .cost-item {padding: 18px !important;}
    .page-hemo .cost-tag {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-hemo .cost-item p {font-size: 13px !important;}
    .page-hemo .cost-note {padding: 14px 16px !important; font-size: 12.5px !important;}

    /* FAQ */
    .hemo-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
    .hemo-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .hemo-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
    .hemo-faq .faq-a {padding: 0 18px 20px 18px !important;}
    .hemo-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .hemo-faq .a-txt {font-size: 13px !important; line-height: 1.9em !important;}

    /* 원장 노트 */
    .hemo-doctor-note {padding: 50px 0 !important;}
    .hemo-doctor-note .doctor-note-inner {gap: 24px !important;}
    .hemo-doctor-note .dn-photo {max-width: 150px !important;}
    .hemo-doctor-note .dn-content {text-align: left;}
    .hemo-doctor-note .dn-quote-mark {font-size: 60px !important; top: -32px !important; left: -4px !important;}
    .hemo-doctor-note .dn-quote p {font-size: 13.5px !important; line-height: 1.95em !important; margin-bottom: 14px;}
    .hemo-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
    .hemo-doctor-note .dn-signature strong {font-size: 17px !important;}
    .hemo-doctor-note .dn-signature span {font-size: 12px !important;}

    /* CTA */
    .hemo-cta {padding: 50px 0 !important;}
    .hemo-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
    .hemo-cta > .contain > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 24px !important;}
    .hemo-cta .cta-buttons {flex-direction: column; gap: 10px; margin-bottom: 22px;}
    .hemo-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .hemo-cta .cta-label {font-size: 11px;}
    .hemo-cta .cta-value {font-size: 16px;}
    .hemo-cta .cta-links {gap: 18px; padding-top: 20px;}
    .hemo-cta .cta-links a {font-size: 13px;}
}

@media (max-width: 380px) {
    .hemo-hero .hero-title {font-size: 28px !important;}
    .hemo-highlights .highlight-cards {gap: 6px;}
    .hemo-highlights .highlight-card {padding: 16px 4px;}
    .hemo-highlights .hc-title {font-size: 12.5px;}
    .hemo-highlights .hc-desc {font-size: 10.5px;}
    .router-item {flex: 0 0 178px;}
    .rec-grid {grid-template-columns: 1fr !important;}
}

/* ========================================
   치열 페이지 (page-fis)
   공통 모듈은 치핵 페이지 구조 계승, 고유 섹션은 신규
   ======================================== */
.page-fis section {padding: 0;}
.page-fis .contain {padding-top: 0; padding-bottom: 0;}

/* ① 히어로 — 웜 뉴트럴 (치핵의 세이지-크림과 미세 구분) */
.fis-hero {background: linear-gradient(135deg, #f5f1ee 0%, #eae1da 100%); padding: 80px 0 !important;}
.fis-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.fis-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.fis-hero .hero-title {font-size: clamp(38px, calc(66 / var(--inner) * 100vw), 66px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.fis-hero .title-sub {font-size: .5em; font-weight: 600; color: #8a8078; margin-left: 10px; letter-spacing: -.01em;}
.fis-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.95em; color: #4a4540;}
.fis-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* ② 강점 카드 */
.fis-highlights {padding: 60px 0 !important; background: #fff;}
.fis-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 940px; margin: 0 auto;}
.fis-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.fis-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,.1); transform: translateY(-4px);}
.fis-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.fis-highlights .hc-title {font-size: var(--font-size-21); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.35em;}
.fis-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* ③ 증상 라우터 (치핵과 동일 스펙 — 클래스만 fis) */
.fis-router {padding: 70px 0 !important; background: linear-gradient(180deg, #fbf9f6 0%, #f5f1eb 100%); border-top: 1px solid #ece7df; border-bottom: 1px solid #ece7df;}
.fis-router .section-head {text-align: center; margin-bottom: 40px;}
.fis-router .sh-badge {display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fis-router .section-head h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.fis-router .sh-desc {font-size: var(--font-size-16); color: #6a655c; line-height: 1.7em;}
.fis-router .section-body {max-width: 1080px; margin: 0 auto;}

/* 공통 섹션 */
.fis-section {padding: 80px 0 !important; background: #fff;}
.fis-section.section-alt {background: #faf7f5;}
.fis-section .section-head {text-align: center; margin-bottom: 50px;}
.fis-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fis-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -.02em; margin-bottom: 12px;}
.fis-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.75em;}
.fis-section .sh-desc strong {color: var(--primary-color);}
.fis-section .section-body {max-width: 960px; margin: 0 auto;}
.fis-section .section-body > p {font-size: var(--font-size-16); line-height: 1.95em; color: #444; margin-bottom: 20px;}
.fis-section .section-body > p strong {color: var(--dark-color); font-weight: 700;}

/* info-grid / note-box */
.page-fis .info-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 30px 0;}
.page-fis .info-box {padding: 30px; background: #faf5f4; border-radius: 16px;}
.page-fis .info-box h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color); margin-bottom: 16px;}
.page-fis .check-list {list-style: none; padding: 0; margin: 0;}
.page-fis .check-list li {position: relative; padding-left: 24px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.page-fis .check-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: var(--primary-color); border-radius: 50%;}
.page-fis .note-box {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; font-size: var(--font-size-15); line-height: 1.85em; color: #444; margin: 30px 0;}
.page-fis .note-box strong {display: block; color: var(--primary-color); margin-bottom: 8px; font-size: 16px;}

/* ④ 치질 vs 치열 비교 */
.fis-compare {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f8f5f2 100%);}
.fis-compare .section-head {text-align: center; margin-bottom: 44px;}
.fis-compare .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fis-compare .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.fis-compare .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.fis-compare .sh-desc strong {color: var(--primary-color);}
.fis-compare .section-body {max-width: 960px; margin: 0 auto;}

.cmp-table-wrap {overflow-x: auto; margin-bottom: 34px; border-radius: 14px; box-shadow: 0 2px 14px rgba(0,0,0,.06);}
.cmp-table {width: 100%; border-collapse: collapse; background: #fff; min-width: 640px;}
.cmp-table thead {background: var(--dark-color);}
.cmp-table th {padding: 17px 20px; color: #fff; font-size: var(--font-size-15); font-weight: 700; text-align: left;}
.cmp-table th.th-item {width: 22%; background: #333;}
.cmp-table th.th-fis {background: var(--primary-color); position: relative;}
.cmp-table th.th-fis::after {content: '★'; margin-left: 8px; color: #FFE9B0; font-size: 12px;}
.cmp-table th.th-hemo {background: #6f6a66;}
.cmp-table tbody tr {border-bottom: 1px solid #f0f0f0; transition: .15s;}
.cmp-table tbody tr:hover {background: #faf6f4;}
.cmp-table tbody tr:last-child {border-bottom: none;}
.cmp-table td {padding: 15px 20px; font-size: var(--font-size-15); color: #444; line-height: 1.65em;}
.cmp-table td.td-item {font-weight: 700; color: var(--dark-color); background: #faf7f5;}
.cmp-table td strong {color: var(--primary-color); font-weight: 700;}

/* 통증 패턴 블록 */
.pain-pattern {padding: 36px 40px; background: #fff; border-radius: 18px; border: 2px solid var(--primary-color);}
.pain-pattern h4 {font-size: var(--font-size-21); font-weight: 700; color: var(--primary-color); margin-bottom: 8px;}
.pp-lead {font-size: var(--font-size-15); color: #666; margin-bottom: 26px;}
.pp-flow {display: flex; align-items: stretch; gap: 0; margin-bottom: 22px;}
.pp-step {flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 22px 18px; background: #faf5f4; border-radius: 12px; text-align: center;}
.pp-step.pp-gap {background: #f4f2f0;}
.pp-when {font-size: 12px; font-weight: 700; color: #fff; background: var(--primary-color); padding: 3px 12px; border-radius: 999px; align-self: center;}
.pp-step.pp-gap .pp-when {background: #a09a95;}
.pp-what {font-size: var(--font-size-16); line-height: 1.55em; color: #444;}
.pp-what strong {color: var(--dark-color); font-weight: 700;}
.pp-dur {font-size: 12px; color: #999;}
.pp-arrow {flex: 0 0 40px; position: relative;}
.pp-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(45deg); width: 10px; height: 10px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color);}
.pp-note {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0; padding: 18px 22px; background: #faf7f5; border-radius: 10px;}
.pp-note strong {color: var(--primary-color); font-weight: 700;}

/* ⑥ ★ 악순환의 고리 */
.fis-cycle {padding: 84px 0 !important; background: linear-gradient(180deg, #f7f4f1 0%, #efe9e4 100%);}
.fis-cycle .section-head {text-align: center; margin-bottom: 44px;}
.fis-cycle .sh-badge {display: inline-block; padding: 6px 20px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fis-cycle .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.fis-cycle .sh-desc {font-size: var(--font-size-16); color: #6a635d; line-height: 1.8em;}
.fis-cycle .sh-desc strong {color: var(--primary-color);}
.fis-cycle .section-body {max-width: 1000px; margin: 0 auto;}

.cycle-flow {display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 0;}
.cy-item {position: relative; display: flex; flex-direction: column; gap: 8px; padding: 24px 14px; background: #fff; border-radius: 14px; text-align: center; box-shadow: 0 2px 10px rgba(0,0,0,.05);}
.cy-item::after {content: ''; position: absolute; top: 50%; right: -14px; transform: translateY(-50%) rotate(45deg); width: 9px; height: 9px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color); z-index: 2;}
.cy-item:last-child::after {display: none;}
.cy-num {font-size: 12px; font-weight: 800; color: #fff; background: var(--primary-color); width: 26px; height: 26px; line-height: 26px; border-radius: 50%; margin: 0 auto;}
.cy-title {font-size: var(--font-size-16); font-weight: 700; color: var(--dark-color); line-height: 1.4em;}
.cy-desc {font-size: 12.5px; color: #8a8580; line-height: 1.5em;}

.cycle-loop {display: flex; align-items: center; justify-content: center; gap: 12px; margin: 22px 0 30px; padding: 18px 26px; background: var(--dark-color); border-radius: 12px;}
.cl-icon {display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; background: rgba(255,233,176,.18); color: #FFE9B0; border-radius: 50%; flex: 0 0 34px;}
.cycle-loop p {font-size: var(--font-size-16); line-height: 1.7em; color: rgba(255,255,255,.9); margin: 0;}
.cycle-loop strong {color: #FFE9B0; font-weight: 700;}

.cycle-break {padding: 34px 38px; background: #fff; border-radius: 18px; border: 2px solid var(--primary-color);}
.cycle-break h4 {font-size: var(--font-size-21); font-weight: 700; color: var(--primary-color); margin-bottom: 22px;}
.cb-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 20px;}
.cb-item {display: flex; flex-direction: column; gap: 6px; padding: 20px 20px; background: #faf5f4; border-radius: 12px; border-left: 3px solid var(--primary-color);}
.cb-target {font-size: 11.5px; font-weight: 700; color: #fff; background: var(--primary-color); padding: 3px 10px; border-radius: 4px; align-self: flex-start;}
.cb-how {font-size: var(--font-size-17); font-weight: 700; color: var(--dark-color);}
.cb-detail {font-size: var(--font-size-13); color: #777; line-height: 1.6em;}
.cb-note {font-size: var(--font-size-15); line-height: 1.85em; color: #555; margin: 0;}
.cb-note strong {color: var(--primary-color); font-weight: 700;}

/* ⑦ 급성 vs 만성 */
.stage-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 26px;}
.stage-card {padding: 32px 30px; background: #fff; border-radius: 18px; border: 2px solid #e5e5e5;}
.stage-card.acute {border-color: #7fb096; background: linear-gradient(180deg, #fff 0%, #f3f9f5 100%);}
.stage-card.chronic {border-color: #c98b4b; background: linear-gradient(180deg, #fff 0%, #fdf7f0 100%);}
.sc-head {display: flex; align-items: center; gap: 12px; margin-bottom: 20px; flex-wrap: wrap;}
.sc-badge {padding: 6px 16px; border-radius: 999px; font-size: 14px; font-weight: 700; color: #fff;}
.acute .sc-badge {background: #4d9370;}
.chronic .sc-badge {background: #b8763a;}
.sc-period {font-size: 13px; color: #888; font-weight: 600;}
.sc-list {list-style: none; padding: 0; margin: 0 0 20px 0;}
.sc-list li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 1.95em; color: #444;}
.sc-list li strong {color: var(--dark-color); font-weight: 700;}
.acute .sc-list li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; background: #4d9370; border-radius: 50%;}
.chronic .sc-list li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; background: #b8763a; border-radius: 50%;}
.sc-treat {padding: 13px 16px; background: rgba(0,0,0,.03); border-radius: 8px; font-size: var(--font-size-13); color: #666; line-height: 1.65em;}
.sc-treat span {display: block; font-weight: 700; color: var(--dark-color); margin-bottom: 3px; font-size: 12px; letter-spacing: .05em;}
.stage-warn {padding: 22px 28px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.stage-warn p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.stage-warn strong {color: var(--primary-color);}

/* ⑧ 감별 섹션 (치핵 페이지와 동일 스펙) */
.fis-differential {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f7f4f0 100%);}
.fis-differential .section-head {text-align: center; margin-bottom: 46px;}
.fis-differential .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fis-differential .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.fis-differential .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.fis-differential .sh-desc strong {color: var(--primary-color);}
.fis-differential .section-body {max-width: 960px; margin: 0 auto;}
.page-fis .diff-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 28px;}
.page-fis .diff-card {padding: 34px 30px; background: #fff; border-radius: 18px; border: 2px solid transparent;}
.page-fis .diff-card.typical {border-color: #7fb096; background: linear-gradient(180deg, #fff 0%, #f2f9f5 100%);}
.page-fis .diff-card.check {border-color: #b8443f; background: linear-gradient(180deg, #fff 0%, #fdf4f3 100%);}
.page-fis .diff-badge {display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 999px; margin-bottom: 22px;}
.page-fis .diff-card.typical .diff-badge {background: #4d9370; color: #fff;}
.page-fis .diff-card.check .diff-badge {background: #b8443f; color: #fff;}
.page-fis .db-icon {display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: rgba(255,255,255,.25); border-radius: 50%;}
.page-fis .db-text {font-size: 14px; font-weight: 700;}
.page-fis .diff-list {list-style: none; padding: 0; margin: 0;}
.page-fis .diff-list li {position: relative; padding-left: 22px; font-size: var(--font-size-16); line-height: 2.05em; color: #444;}
.page-fis .diff-list li strong {color: var(--dark-color); font-weight: 700;}
.page-fis .diff-card.typical .diff-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: #4d9370; border-radius: 50%;}
.page-fis .diff-card.check .diff-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: #b8443f; border-radius: 50%;}
.page-fis .diff-strength {background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; overflow: hidden;}
.page-fis .ds-inner {padding: 40px 44px; color: #fff;}
.page-fis .ds-inner h4 {font-size: var(--font-size-22); font-weight: 700; color: #FFE9B0; margin-bottom: 18px;}
.page-fis .ds-inner p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 14px;}
.page-fis .ds-inner p strong {color: #FFE9B0; font-weight: 700;}
.page-fis .ds-list {list-style: none; padding: 0; margin: 22px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;}
.page-fis .ds-list li {padding: 14px 16px; background: rgba(255,255,255,.08); border-radius: 10px; font-size: var(--font-size-14); line-height: 1.6em; color: rgba(255,255,255,.9);}
.page-fis .ds-list li strong {color: #FFE9B0;}
.page-fis .ds-link {display: inline-block; padding: 12px 26px; background: #FFE9B0; color: #1a2942; border-radius: 999px; font-size: var(--font-size-15); font-weight: 700; text-decoration: none; transition: .2s;}
.page-fis .ds-link:hover {background: #fff; transform: translateY(-2px);}

/* ⑨ 진료 절차 투명성 */
.page-fis .proc-steps {display: flex; flex-direction: column; gap: 14px; margin-bottom: 26px;}
.page-fis .proc-item {display: grid; grid-template-columns: 64px 1fr; gap: 22px; align-items: start; padding: 26px 30px; background: #fff; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.05); transition: .2s;}
.page-fis .proc-item:hover {box-shadow: 0 6px 18px rgba(125,28,30,.1);}
.page-fis .pi-num {font-size: 34px; font-weight: 800; color: var(--primary-color); line-height: 1; letter-spacing: -.03em; opacity: .85;}
.page-fis .pi-top {display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px; flex-wrap: wrap;}
.page-fis .pi-top h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin: 0;}
.page-fis .pi-time {padding: 3px 11px; background: #f2ece9; color: var(--primary-color); border-radius: 999px; font-size: 12px; font-weight: 700;}
.page-fis .pi-body p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.page-fis .pi-body strong {color: var(--dark-color); font-weight: 700;}
.page-fis .proc-note {padding: 22px 28px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.page-fis .proc-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.page-fis .proc-note strong {color: var(--primary-color);}

/* ⑩ 치료 3단계 — 1단계 강조 (치핵과 반대) */
.page-fis .treat-tiers {display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 30px;}
.page-fis .tier-card {padding: 32px 26px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5; transition: .25s;}
.page-fis .tier-card:hover {transform: translateY(-4px); box-shadow: 0 8px 22px rgba(0,0,0,.07);}
.page-fis .tier-card.tier-1 {border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.page-fis .tc-label {display: inline-block; padding: 4px 13px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: .06em; margin-bottom: 14px;}
.page-fis .tier-card.tier-1 .tc-label {background: var(--primary-color);}
.page-fis .tier-card h4 {font-size: var(--font-size-21); font-weight: 700; color: var(--dark-color); margin-bottom: 8px;}
.page-fis .tc-target {font-size: var(--font-size-13); color: var(--primary-color); font-weight: 600; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid #eee; line-height: 1.5em;}
.page-fis .tc-list {list-style: none; padding: 0; margin: 0;}
.page-fis .tc-list li {position: relative; padding-left: 18px; font-size: var(--font-size-14); line-height: 1.9em; color: #555; margin-bottom: 6px;}
.page-fis .tc-list li::before {content: ''; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; background: var(--primary-color); border-radius: 50%;}
.page-fis .tc-list strong {color: var(--dark-color); font-weight: 700;}
.page-fis .honest-box {padding: 32px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.page-fis .honest-box h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 12px;}
.page-fis .honest-box > p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin-bottom: 14px;}
.page-fis .honest-box > p strong {color: var(--primary-color); font-weight: 700;}
.page-fis .honest-list {list-style: none; padding: 0; margin: 0;}
.page-fis .honest-list li {position: relative; padding-left: 24px; font-size: var(--font-size-15); line-height: 1.95em; color: #444;}
.page-fis .honest-list li::before {content: ''; position: absolute; left: 2px; top: 12px; width: 8px; height: 8px; background: #b8443f; border-radius: 50%;}

/* ⑪ 배변 관리 */
.fis-habit {padding: 84px 0 !important; background: #fff;}
.fis-habit .section-head {text-align: center; margin-bottom: 44px;}
.fis-habit .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fis-habit .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.fis-habit .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.fis-habit .sh-desc strong {color: var(--primary-color);}
.fis-habit .section-body {max-width: 960px; margin: 0 auto;}
.habit-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;}
.habit-item {position: relative; padding: 28px 24px; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px; transition: .22s;}
.habit-item:hover {transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,.06);}
.habit-item.priority {border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.hi-tag {display: inline-block; padding: 3px 11px; background: var(--primary-color); color: #fff; border-radius: 4px; font-size: 11px; font-weight: 700; margin-bottom: 12px;}
.habit-item h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 12px; line-height: 1.4em;}
.habit-item.priority h4 {color: var(--primary-color);}
.habit-item p {font-size: var(--font-size-14); line-height: 1.9em; color: #555; margin: 0;}
.habit-item strong {color: var(--dark-color); font-weight: 700;}
.habit-item.priority strong {color: var(--primary-color);}

/* ⑫ 타임라인 · 회복 */
.page-fis .timeline {display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 30px;}
.page-fis .tl-item {text-align: center; padding: 24px 12px; background: #fff; border-radius: 12px; border: 1px solid #e5e5e5;}
.page-fis .tl-ico {display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: #faf5f4; color: var(--primary-color); border-radius: 50%; margin-bottom: 10px;}
.page-fis .tl-time {display: inline-block; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 12px; font-size: 11px; font-weight: 700; margin-bottom: 8px;}
.page-fis .tl-item h4 {font-size: 15px; font-weight: 700; color: var(--dark-color); margin-bottom: 6px;}
.page-fis .tl-item p {font-size: 12px; color: #888; line-height: 1.5em; margin: 0;}
.page-fis .recovery-box {padding: 34px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.page-fis .recovery-box h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid #eee;}
.page-fis .rec-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px;}
.page-fis .rec-item {display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: #faf7f5; border-radius: 10px; border-left: 3px solid var(--primary-color);}
.page-fis .ri-when {font-size: var(--font-size-17); font-weight: 800; color: var(--primary-color); letter-spacing: -.01em;}
.page-fis .ri-what {font-size: var(--font-size-14); color: #555; line-height: 1.5em;}
.page-fis .rec-note {font-size: var(--font-size-13); color: #888; line-height: 1.7em; margin: 0;}

/* 비용 */
.page-fis .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-fis .cost-info > p {font-size: var(--font-size-16); line-height: 1.9em; color: #444; margin-bottom: 20px;}
.page-fis .cost-info > p strong {color: var(--dark-color);}
.page-fis .cost-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 26px 0;}
.page-fis .cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.page-fis .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px;}
.page-fis .cost-tag.insurance {background: var(--primary-color); color: #fff;}
.page-fis .cost-tag.non-insurance {background: #888; color: #fff;}
.page-fis .cost-item p {font-size: var(--font-size-15); line-height: 1.75em; color: #444; margin: 0;}
.page-fis .cost-note {padding: 20px; background: #fff8ec; border-left: 4px solid #d9a441; border-radius: 4px; font-size: var(--font-size-14); color: #6d5320; line-height: 1.8em; margin: 0 !important;}

/* FAQ */
.fis-faq {display: flex; flex-direction: column; gap: 10px;}
.fis-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: .2s;}
.fis-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,.12);}
.fis-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.fis-faq .faq-q:hover {background: #faf7f6;}
.fis-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.fis-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.fis-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.fis-faq .q-arrow::before, .fis-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.fis-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.fis-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.fis-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.fis-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.fis-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.fis-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #555; padding-top: 6px;}
.fis-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장 노트 */
.fis-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.fis-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.fis-doctor-note .dn-photo img {display: block; width: 100%; height: auto; }
.fis-doctor-note .dn-content {position: relative;}
.fis-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: .4; line-height: 1; font-family: Georgia, serif;}
.fis-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.fis-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.95em; color: rgba(255,255,255,.9); margin-bottom: 18px;}
.fis-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.fis-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.fis-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2);}
.fis-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.fis-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,.65); margin-top: 6px;}

/* CTA */
.fis-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.fis-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 18px; letter-spacing: -.02em;}
.fis-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.85em; margin-bottom: 36px;}
.fis-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 30px;}
.fis-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.fis-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.fis-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.fis-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.fis-cta .cta-ico {display: inline-flex; align-items: center; justify-content: center;}
.fis-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.fis-cta .cta-label {font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.fis-cta .cta-value {font-size: 18px; font-weight: 700;}
.fis-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.fis-cta .cta-btn.cta-reserve:hover {color: #fff;}
.page-fis .cta-links {display: flex; justify-content: center; gap: 28px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid #ebe0de;}
.page-fis .cta-links a {font-size: var(--font-size-15); color: var(--primary-color); font-weight: 600; text-decoration: none; transition: .2s;}
.page-fis .cta-links a:hover {text-decoration: underline;}

/* ========================================
   치열 페이지 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .fis-hero {padding: 60px 0 !important;}
    .fis-section, .fis-compare, .fis-cycle, .fis-differential, .fis-habit, .fis-router {padding: 60px 0 !important;}
    .fis-router .router-grid {grid-template-columns: repeat(3, 1fr);}
    .cycle-flow {grid-template-columns: repeat(3, 1fr); gap: 12px;}
    .cy-item::after {display: none;}
    .cb-grid {grid-template-columns: 1fr;}
    .stage-grid, .page-fis .diff-grid, .page-fis .info-grid, .page-fis .cost-grid {grid-template-columns: 1fr;}
    .page-fis .treat-tiers {grid-template-columns: 1fr;}
    .page-fis .ds-list {grid-template-columns: 1fr;}
    .habit-grid {grid-template-columns: 1fr 1fr;}
    .page-fis .rec-grid {grid-template-columns: 1fr 1fr;}
    .page-fis .timeline {grid-template-columns: repeat(3, 1fr);}
    .fis-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
    .fis-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;}
}

/* ========================================
   치열 페이지 — 모바일
   PC와 다른 레이아웃 패턴 적용
   ======================================== */
@media (max-width: 640px) {

    /* 히어로 */
    .fis-hero {padding: 44px 0 !important;}
    .fis-hero .hero-title {font-size: 32px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .fis-hero .title-sub {font-size: 17px !important; display: block; margin: 6px 0 0 0 !important;}
    .fis-hero .hero-lead {font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .fis-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    /* 강점 카드 → 가로 3분할 컴팩트 */
    .fis-highlights {padding: 30px 0 !important;}
    .fis-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .fis-highlights .highlight-card {padding: 20px 8px; border-radius: 12px;}
    .fis-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
    .fis-highlights .hc-icon svg {width: 24px; height: 24px;}
    .fis-highlights .hc-title {font-size: 12.5px; margin-bottom: 6px; line-height: 1.35em;}
    .fis-highlights .hc-desc {font-size: 10.5px; line-height: 1.5em;}

    /* 라우터 → 가로 스크롤 칩 */
    .fis-router {padding: 36px 0 !important;}
    .fis-router .section-head {margin-bottom: 20px;}
    .fis-router .sh-badge {font-size: 10px; padding: 4px 14px; margin-bottom: 12px;}
    .fis-router .section-head h3 {font-size: 21px !important; margin-bottom: 8px !important;}
    .fis-router .sh-desc {font-size: 13px !important; line-height: 1.65em !important;}
    .fis-router .sh-desc br {display: none;}
    .fis-router .router-grid {display: flex !important; grid-template-columns: none !important; gap: 10px; overflow-x: auto; padding: 4px 20px 14px; margin: 0 -20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;}
    .fis-router .router-grid::-webkit-scrollbar {display: none;}
    .fis-router .router-item {flex: 0 0 200px; min-height: auto; padding: 18px; scroll-snap-align: start;}
    .fis-router .ri-symptom {font-size: 17px !important; margin-bottom: 7px !important;}
    .fis-router .ri-desc {font-size: 12px !important; margin-bottom: 12px !important;}
    .fis-router .ri-target {font-size: 12px !important; padding-top: 10px !important;}
    .fis-router .router-note {padding: 14px 18px !important;}
    .fis-router .router-note p {font-size: 12.5px !important; line-height: 1.75em !important;}

    /* 섹션 헤드 */
    .fis-section {padding: 44px 0 !important;}
    .fis-section .section-head {margin-bottom: 26px;}
    .fis-section .sh-num {font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .fis-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important; margin-bottom: 10px !important;}
    .fis-section .sh-desc {font-size: 13.5px !important; line-height: 1.7em !important;}
    .fis-section .section-body > p {font-size: 14.5px !important; line-height: 1.9em !important;}

    /* info-grid */
    .page-fis .info-grid {gap: 12px !important; margin: 22px 0 !important;}
    .page-fis .info-box {padding: 20px 22px !important; border-radius: 12px;}
    .page-fis .info-box h4 {font-size: 16px !important; margin-bottom: 12px !important;}
    .page-fis .check-list li {font-size: 14px !important; line-height: 1.95em !important;}
    .page-fis .check-list li::before {top: 13px;}
    .page-fis .note-box {padding: 18px 20px !important; font-size: 13.5px !important; line-height: 1.85em !important; margin: 22px 0 !important;}
    .page-fis .note-box strong {font-size: 14px !important;}

    /* ★ 비교표 → 카드형 재구성 */
    .fis-compare {padding: 44px 0 !important;}
    .fis-compare .section-head {margin-bottom: 24px;}
    .fis-compare .sh-badge {font-size: 10px; padding: 4px 14px;}
    .fis-compare .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .fis-compare .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .cmp-table-wrap {overflow-x: visible; margin: 0 0 24px; box-shadow: none; border-radius: 0;}
    .cmp-table {min-width: auto; border-radius: 0;}
    .cmp-table thead {display: none;}
    .cmp-table tbody tr {display: block; margin-bottom: 12px; background: #fff; border-radius: 12px; padding: 6px 4px; box-shadow: 0 2px 10px rgba(0,0,0,.05); border-bottom: none !important;}
    .cmp-table tbody tr:hover {background: #fff;}
    .cmp-table td {display: block; padding: 8px 16px; font-size: 13.5px; border-bottom: 1px solid #f4f4f4; position: relative; padding-left: 74px;}
    .cmp-table td:last-child {border-bottom: none;}
    .cmp-table td.td-item {background: transparent; padding: 10px 16px 8px; padding-left: 16px; font-size: 15px; border-bottom: 2px solid var(--primary-color); margin-bottom: 4px;}
    .cmp-table td[data-label]::before {content: attr(data-label); position: absolute; left: 16px; top: 8px; font-size: 11.5px; font-weight: 700; color: var(--primary-color);}
    .cmp-table td[data-label="치핵"]::before {color: #8a8580;}

    /* 통증 패턴 → 세로 흐름 */
    .pain-pattern {padding: 22px 20px !important; border-width: 1px !important; border-radius: 14px;}
    .pain-pattern h4 {font-size: 17px !important; margin-bottom: 6px !important;}
    .pp-lead {font-size: 13px !important; margin-bottom: 18px !important;}
    .pp-flow {flex-direction: column !important; gap: 0 !important; margin-bottom: 16px !important;}
    .pp-step {flex-direction: row !important; align-items: center; gap: 12px !important; padding: 14px 16px !important; text-align: left !important;}
    .pp-when {flex: 0 0 62px; align-self: center !important; font-size: 11px !important; padding: 3px 8px !important; text-align: center;}
    .pp-what {flex: 1; font-size: 13.5px !important; line-height: 1.5em !important;}
    .pp-what br {display: none;}
    .pp-dur {flex: 0 0 auto; font-size: 11px !important;}
    .pp-arrow {flex: 0 0 20px !important; height: 20px; width: 100%;}
    .pp-arrow::after {transform: translate(-50%,-50%) rotate(135deg); width: 8px; height: 8px;}
    .pp-note {font-size: 12.5px !important; line-height: 1.85em !important; padding: 14px 16px !important;}

    /* ★ 악순환 고리 → 세로 흐름 + 아래 화살표 */
    .fis-cycle {padding: 44px 0 !important;}
    .fis-cycle .section-head {margin-bottom: 24px;}
    .fis-cycle .sh-badge {font-size: 10px; padding: 4px 14px;}
    .fis-cycle .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .fis-cycle .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .cycle-flow {grid-template-columns: 1fr !important; gap: 22px !important;}
    .cy-item {flex-direction: row !important; align-items: center; gap: 14px !important; padding: 14px 18px !important; text-align: left !important; border-radius: 12px;}
    .cy-item::after {display: block !important; top: auto !important; bottom: -17px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) rotate(135deg) !important;}
    .cy-item:last-child::after {display: none !important;}
    .cy-num {flex: 0 0 24px; width: 24px !important; height: 24px !important; line-height: 24px !important; margin: 0 !important; font-size: 11px !important;}
    .cy-title {flex: 1; font-size: 15px !important;}
    .cy-desc {flex: 0 0 auto; font-size: 11.5px !important; text-align: right;}
    .cycle-loop {flex-direction: row !important; gap: 10px !important; margin: 26px 0 22px !important; padding: 14px 18px !important;}
    .cl-icon {width: 28px !important; height: 28px !important; flex: 0 0 28px !important;}
    .cl-icon svg {width: 16px !important; height: 16px !important;}
    .cycle-loop p {font-size: 13px !important; line-height: 1.65em !important;}
    .cycle-break {padding: 22px 20px !important; border-width: 1px !important; border-radius: 14px;}
    .cycle-break h4 {font-size: 17px !important; margin-bottom: 16px !important;}
    .cb-grid {grid-template-columns: 1fr !important; gap: 10px !important; margin-bottom: 14px !important;}
    .cb-item {flex-direction: row !important; align-items: center; gap: 12px !important; padding: 14px 16px !important; border-left-width: 3px !important;}
    .cb-target {flex: 0 0 auto; font-size: 10.5px !important; align-self: center !important;}
    .cb-how {flex: 1; font-size: 14.5px !important;}
    .cb-detail {flex: 0 0 100%; font-size: 11.5px !important; padding-left: 0;}
    .cb-note {font-size: 12.5px !important; line-height: 1.85em !important;}

    /* ★ 급성/만성 → 좌측 컬러 라인 */
    .stage-grid {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 18px !important;}
    .stage-card {padding: 20px 0 20px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid #e5e5e5 !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px;}
    .stage-card:last-child {border-bottom: none !important;}
    .stage-card.acute {border-left-color: #4d9370 !important;}
    .stage-card.chronic {border-left-color: #b8763a !important;}
    .sc-head {margin-bottom: 12px !important; gap: 10px !important;}
    .sc-badge {padding: 4px 12px !important; font-size: 12px !important;}
    .sc-period {font-size: 11.5px !important;}
    .sc-list {margin-bottom: 14px !important;}
    .sc-list li {font-size: 13.5px !important; line-height: 1.9em !important; padding-left: 18px !important;}
    .sc-list li::before {top: 11px; width: 6px !important; height: 6px !important;}
    .sc-treat {padding: 11px 13px !important; font-size: 12px !important;}
    .stage-warn {padding: 16px 18px !important;}
    .stage-warn p {font-size: 13px !important; line-height: 1.85em !important;}

    /* 감별 섹션 */
    .fis-differential {padding: 44px 0 !important;}
    .fis-differential .section-head {margin-bottom: 24px;}
    .fis-differential .sh-badge {font-size: 10px; padding: 4px 14px;}
    .fis-differential .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .fis-differential .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .page-fis .diff-grid {gap: 12px !important; margin-bottom: 20px !important;}
    .page-fis .diff-card {padding: 22px 20px !important; border-radius: 14px; border-width: 1px !important;}
    .page-fis .diff-badge {padding: 6px 14px !important; margin-bottom: 16px !important;}
    .page-fis .db-icon {width: 18px !important; height: 18px !important;}
    .page-fis .db-icon svg {width: 12px !important; height: 12px !important;}
    .page-fis .db-text {font-size: 12.5px !important;}
    .page-fis .diff-list li {font-size: 14px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .page-fis .diff-list li::before {top: 12px; width: 6px !important; height: 6px !important;}
    .page-fis .ds-inner {padding: 26px 22px !important;}
    .page-fis .ds-inner h4 {font-size: 17px !important; margin-bottom: 14px !important;}
    .page-fis .ds-inner p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-fis .ds-list {grid-template-columns: 1fr !important; gap: 8px !important; margin: 18px 0 !important;}
    .page-fis .ds-list li {padding: 11px 14px !important; font-size: 13px !important;}
    .page-fis .ds-link {padding: 11px 22px !important; font-size: 13.5px !important;}

    /* ★ 진료 절차 → 세로 타임라인 */
    .page-fis .proc-steps {gap: 0 !important; position: relative; padding-left: 26px; margin-bottom: 20px !important;}
    .page-fis .proc-steps::before {content: ''; position: absolute; left: 9px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(to bottom, var(--primary-color), rgba(125,28,30,.18));}
    .page-fis .proc-item {display: block !important; padding: 0 0 26px 0 !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; position: relative;}
    .page-fis .proc-item:last-child {padding-bottom: 0 !important;}
    .page-fis .proc-item:hover {box-shadow: none !important;}
    .page-fis .proc-item::before {content: ''; position: absolute; left: -26px; top: 3px; width: 18px; height: 18px; background: var(--primary-color); border: 3px solid #faf7f5; border-radius: 50%; box-shadow: 0 0 0 2px var(--primary-color);}
    .page-fis .pi-num {display: none !important;}
    .page-fis .pi-top {margin-bottom: 7px !important; gap: 10px !important;}
    .page-fis .pi-top h4 {font-size: 16px !important;}
    .page-fis .pi-time {font-size: 11px !important; padding: 2px 9px !important;}
    .page-fis .pi-body p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-fis .proc-note {padding: 16px 18px !important;}
    .page-fis .proc-note p {font-size: 13px !important; line-height: 1.85em !important;}

    /* ★ 치료 3단계 → 박스 벗기고 라벨 + 흐름 */
    .page-fis .treat-tiers {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 22px !important;}
    .page-fis .tier-card {padding: 22px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e8e3de !important;}
    .page-fis .tier-card:last-child {border-bottom: none !important;}
    .page-fis .tier-card:hover {transform: none !important; box-shadow: none !important;}
    .page-fis .tc-label {padding: 3px 11px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-fis .tier-card h4 {font-size: 18px !important; margin-bottom: 6px !important;}
    .page-fis .tc-target {font-size: 12px !important; margin-bottom: 14px !important; padding-bottom: 10px !important;}
    .page-fis .tc-list li {font-size: 13.5px !important; line-height: 1.9em !important; margin-bottom: 4px !important;}
    .page-fis .honest-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .page-fis .honest-box h4 {font-size: 16px !important; margin-bottom: 10px !important;}
    .page-fis .honest-box > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 12px !important;}
    .page-fis .honest-list li {font-size: 13.5px !important; line-height: 1.9em !important; padding-left: 20px !important;}
    .page-fis .honest-list li::before {top: 11px; width: 6px !important; height: 6px !important;}

    /* ★ 배변 관리 → 좌측 라인 흐름 */
    .fis-habit {padding: 44px 0 !important;}
    .fis-habit .section-head {margin-bottom: 24px;}
    .fis-habit .sh-badge {font-size: 10px; padding: 4px 14px;}
    .fis-habit .section-head h3 {font-size: 22px !important; margin-bottom: 10px !important;}
    .fis-habit .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .habit-grid {grid-template-columns: 1fr !important; gap: 0 !important;}
    .habit-item {padding: 20px 0 20px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid #e0dad4 !important; border-bottom: 1px dashed #ece7e2 !important; margin-left: 6px;}
    .habit-item:last-child {border-bottom: none !important;}
    .habit-item:hover {transform: none !important; box-shadow: none !important;}
    .habit-item.priority {border-left-color: var(--primary-color) !important;}
    .hi-tag {font-size: 10px !important; padding: 2px 9px !important; margin-bottom: 8px !important;}
    .habit-item h4 {font-size: 16px !important; margin-bottom: 8px !important;}
    .habit-item p {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* 진료 절차 타임라인 → 좌측 라인 리스트 */
    .page-fis .timeline {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 22px !important;}
    .page-fis .tl-item {text-align: left !important; padding: 14px 0 14px 18px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px; display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: center;}
    .page-fis .tl-item:last-child {border-bottom: none !important;}
    .page-fis .tl-ico {width: 36px !important; height: 36px !important; margin-bottom: 0 !important;}
    .page-fis .tl-ico svg {width: 18px !important; height: 18px !important;}
    .page-fis .tl-time {padding: 2px 9px !important; font-size: 10.5px !important; margin-bottom: 0 !important; grid-column: 2; justify-self: start; width: fit-content;}
    .page-fis .tl-item h4 {font-size: 14px !important; margin-bottom: 2px !important; grid-column: 2;}
    .page-fis .tl-item p {font-size: 11.5px !important; margin: 0 !important; grid-column: 2;}

    /* 회복 박스 */
    .page-fis .recovery-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .page-fis .recovery-box h4 {font-size: 16px !important; margin-bottom: 14px !important; padding-bottom: 10px !important;}
    .page-fis .rec-grid {grid-template-columns: 1fr !important; gap: 8px !important; margin-bottom: 14px !important;}
    .page-fis .rec-item {flex-direction: row !important; align-items: center; gap: 12px !important; padding: 12px 14px !important; border-left-width: 2px !important;}
    .page-fis .ri-when {flex: 0 0 68px; font-size: 13.5px !important;}
    .page-fis .ri-what {flex: 1; font-size: 12px !important; line-height: 1.5em !important;}
    .page-fis .rec-note {font-size: 11.5px !important;}

    /* 비용 */
    .page-fis .cost-info {padding: 22px 20px !important; border-radius: 12px;}
    .page-fis .cost-info > p {font-size: 14px !important; line-height: 1.9em !important;}
    .page-fis .cost-grid {gap: 12px !important; margin: 20px 0 !important;}
    .page-fis .cost-item {padding: 18px !important;}
    .page-fis .cost-tag {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-fis .cost-item p {font-size: 13px !important;}
    .page-fis .cost-note {padding: 14px 16px !important; font-size: 12.5px !important;}

    /* FAQ */
    .fis-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
    .fis-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .fis-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
    .fis-faq .faq-a {padding: 0 18px 20px 18px !important;}
    .fis-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .fis-faq .a-txt {font-size: 13px !important; line-height: 1.9em !important;}

    /* 원장 노트 */
    .fis-doctor-note {padding: 50px 0 !important;}
    .fis-doctor-note .doctor-note-inner {gap: 24px !important;}
    .fis-doctor-note .dn-photo {max-width: 150px !important;}
    .fis-doctor-note .dn-content {text-align: left;}
    .fis-doctor-note .dn-quote-mark {font-size: 60px !important; top: -32px !important; left: -4px !important;}
    .fis-doctor-note .dn-quote p {font-size: 13.5px !important; line-height: 1.95em !important; margin-bottom: 14px;}
    .fis-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
    .fis-doctor-note .dn-signature strong {font-size: 17px !important;}
    .fis-doctor-note .dn-signature span {font-size: 12px !important;}

    /* CTA */
    .fis-cta {padding: 50px 0 !important;}
    .fis-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
    .fis-cta > .contain > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 24px !important;}
    .fis-cta .cta-buttons {flex-direction: column; gap: 10px; margin-bottom: 22px;}
    .fis-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .fis-cta .cta-label {font-size: 11px;}
    .fis-cta .cta-value {font-size: 16px;}
    .page-fis .cta-links {gap: 18px; padding-top: 20px;}
    .page-fis .cta-links a {font-size: 13px;}
}

@media (max-width: 380px) {
    .fis-hero .hero-title {font-size: 28px !important;}
    .fis-highlights .highlight-cards {gap: 6px;}
    .fis-highlights .highlight-card {padding: 16px 4px;}
    .fis-highlights .hc-title {font-size: 11.5px;}
    .fis-highlights .hc-desc {font-size: 10px;}
    .fis-router .router-item {flex: 0 0 178px;}
    .cy-desc {display: none;}
    .pp-dur {display: none;}
}

/* ========================================
   치루·항문농양 페이지 (page-fst)
   ======================================== */
.page-fst section {padding: 0;}
.page-fst .contain {padding-top: 0; padding-bottom: 0;}

/* ① 히어로 — 쿨 뉴트럴 (치핵=세이지, 치열=웜과 구분) */
.fst-hero {background: linear-gradient(135deg, #eff2f1 0%, #dee4e3 100%); padding: 80px 0 !important;}
.fst-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.fst-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.fst-hero .hero-title {font-size: clamp(38px, calc(66 / var(--inner) * 100vw), 66px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.fst-hero .title-sub {font-size: .5em; font-weight: 600; color: #76807e; margin-left: 8px; letter-spacing: -.01em;}
.fst-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.95em; color: #434a49;}
.fst-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* ② 강점 카드 */
.fst-highlights {padding: 60px 0 !important; background: #fff;}
.fst-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 940px; margin: 0 auto;}
.fst-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.fst-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,.1); transform: translateY(-4px);}
.fst-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.fst-highlights .hc-title {font-size: var(--font-size-21); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.35em;}
.fst-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* ③ 라우터 (공통 스펙) */
.fst-router {padding: 70px 0 !important; background: linear-gradient(180deg, #fbf9f6 0%, #f5f1eb 100%); border-top: 1px solid #ece7df; border-bottom: 1px solid #ece7df;}
.fst-router .section-head {text-align: center; margin-bottom: 40px;}
.fst-router .sh-badge {display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fst-router .section-head h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.fst-router .sh-desc {font-size: var(--font-size-16); color: #6a655c; line-height: 1.7em;}
.fst-router .section-body {max-width: 1080px; margin: 0 auto;}

/* ④ ★ 급성 응급 안내 (웜 레드 톤) */
.fst-urgent {padding: 80px 0 !important; background: linear-gradient(180deg, #fdf5f2 0%, #faece7 100%); position: relative;}
.fst-urgent::before {content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(to right, #b8443f, #d4685f, #b8443f);}
.fst-urgent .section-head {text-align: center; margin-bottom: 44px;}
.fst-urgent .sh-badge {display: inline-block; padding: 6px 20px; background: #b8443f; color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px; animation: fstPulse 2.4s ease-in-out infinite;}
@keyframes fstPulse {
    0%, 100% {box-shadow: 0 0 0 0 rgba(184,68,63,.45);}
    55% {box-shadow: 0 0 0 10px rgba(184,68,63,0);}
}
.fst-urgent .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: #7a2b28; line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.fst-urgent .sh-desc {font-size: var(--font-size-16); color: #8a5450; line-height: 1.8em;}
.fst-urgent .sh-desc strong {color: #7a2b28;}
.fst-urgent .section-body {max-width: 960px; margin: 0 auto;}

.urgent-signs {display: flex; flex-direction: column; gap: 12px; margin-bottom: 26px;}
.us-item {display: grid; grid-template-columns: 54px 1fr; gap: 20px; align-items: start; padding: 24px 28px; background: #fff; border-radius: 14px; border-left: 4px solid #b8443f; box-shadow: 0 2px 10px rgba(184,68,63,.07);}
.us-num {font-size: 30px; font-weight: 800; color: #b8443f; line-height: 1; letter-spacing: -.03em; opacity: .85;}
.us-body h4 {font-size: var(--font-size-19); font-weight: 700; color: #7a2b28; margin-bottom: 8px;}
.us-body p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.us-body strong {color: #b8443f; font-weight: 700;}

.dont-do {padding: 30px 34px; background: #fff; border-radius: 16px; border: 2px solid #e8b5b1; margin-bottom: 24px;}
.dd-title {display: flex; align-items: center; gap: 12px; font-size: var(--font-size-19); font-weight: 700; color: #b8443f; margin-bottom: 20px;}
.dd-mark {display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #b8443f; color: #fff; border-radius: 50%; flex: 0 0 28px;}
.dd-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
.dd-item {display: flex; flex-direction: column; gap: 5px; padding: 16px 18px; background: #fdf5f4; border-radius: 10px;}
.dd-item strong {font-size: var(--font-size-15); color: #7a2b28; font-weight: 700;}
.dd-item span {font-size: var(--font-size-13); color: #8a6a67; line-height: 1.65em;}

.urgent-cta {display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding: 22px 28px; background: #7a2b28; border-radius: 14px;}
.urgent-cta p {font-size: var(--font-size-16); line-height: 1.7em; color: rgba(255,255,255,.9); margin: 0;}
.urgent-cta strong {color: #FFE9B0; font-weight: 700;}
.uc-btn {display: inline-flex; align-items: center; gap: 10px; padding: 13px 26px; background: #FFE9B0; color: #7a2b28; border-radius: 999px; font-size: var(--font-size-17); font-weight: 800; text-decoration: none; transition: .2s; white-space: nowrap;}
.uc-btn:hover {background: #fff; transform: translateY(-2px);}

/* ⑤ ★ 농양 → 치루 진행 흐름 */
.fst-progress {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f4f6f5 100%);}
.fst-progress .section-head {text-align: center; margin-bottom: 44px;}
.fst-progress .sh-badge {display: inline-block; padding: 6px 20px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fst-progress .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.fst-progress .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.fst-progress .sh-desc strong {color: var(--primary-color);}
.fst-progress .section-body {max-width: 1020px; margin: 0 auto;}

.prog-flow {display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;}
.pf-item {position: relative; padding: 26px 20px 24px; background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,.05);}
.pf-item::after {content: ''; position: absolute; top: 50%; right: -13px; transform: translateY(-50%) rotate(45deg); width: 10px; height: 10px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color); z-index: 2;}
.pf-item:last-child::after {display: none;}
.pf-stage {display: inline-block; padding: 3px 11px; background: #8a8f8e; color: #fff; border-radius: 4px; font-size: 11px; font-weight: 700; margin-bottom: 12px;}
.pf-stage.acute {background: #b8443f;}
.pf-stage.trap {background: #cfa93f;}
.pf-stage.chronic {background: var(--primary-color);}
.pf-num {display: block; font-size: 26px; font-weight: 800; color: #dfe3e2; line-height: 1; margin-bottom: 8px; letter-spacing: -.03em;}
.pf-item h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.pf-item p {font-size: var(--font-size-14); line-height: 1.85em; color: #666; margin: 0;}
.pf-item strong {color: var(--dark-color); font-weight: 700;}

.prog-loop {display: flex; align-items: center; gap: 14px; margin: 24px 0; padding: 20px 26px; background: var(--dark-color); border-radius: 14px;}
.pl-icon {display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; background: rgba(255,233,176,.18); color: #FFE9B0; border-radius: 50%; flex: 0 0 36px;}
.prog-loop p {font-size: var(--font-size-16); line-height: 1.75em; color: rgba(255,255,255,.9); margin: 0;}
.prog-loop strong {color: #FFE9B0; font-weight: 700;}

.prog-note {padding: 30px 34px; background: #fff; border-radius: 16px; border-left: 5px solid var(--primary-color);}
.prog-note h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--primary-color); margin-bottom: 14px;}
.prog-note p {font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin-bottom: 12px;}
.prog-note p:last-child {margin-bottom: 0;}
.prog-note strong {color: var(--dark-color); font-weight: 700;}

/* 공통 섹션 */
.fst-section {padding: 80px 0 !important; background: #fff;}
.fst-section.section-alt {background: #faf7f5;}
.fst-section .section-head {text-align: center; margin-bottom: 50px;}
.fst-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fst-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -.02em; margin-bottom: 12px;}
.fst-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.75em;}
.fst-section .sh-desc strong {color: var(--primary-color);}
.fst-section .section-body {max-width: 960px; margin: 0 auto;}
.fst-section .section-body > p {font-size: var(--font-size-16); line-height: 1.95em; color: #444; margin-bottom: 20px;}
.page-fst .note-box {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; font-size: var(--font-size-15); line-height: 1.85em; color: #444; margin: 26px 0 0;}
.page-fst .note-box strong {display: block; color: var(--primary-color); margin-bottom: 8px; font-size: 16px;}
.page-fst .note-box strong + * {display: inline;}

/* ⑥ 급성/만성 단계 카드 */
.phase-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}
.phase-card {padding: 32px 30px; background: #fff; border-radius: 18px; border: 2px solid #e5e5e5;}
.phase-card.acute {border-color: #d4837e; background: linear-gradient(180deg, #fff 0%, #fdf5f4 100%);}
.phase-card.chronic {border-color: #9aa3b8; background: linear-gradient(180deg, #fff 0%, #f5f6f9 100%);}
.pc-head {margin-bottom: 20px;}
.pc-badge {display: inline-block; padding: 6px 16px; border-radius: 999px; font-size: 14px; font-weight: 700; color: #fff;}
.phase-card.acute .pc-badge {background: #b8443f;}
.phase-card.chronic .pc-badge {background: #5d6a85;}
.pc-list {list-style: none; padding: 0; margin: 0 0 20px 0;}
.pc-list li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 1.95em; color: #444;}
.pc-list li strong {color: var(--dark-color); font-weight: 700;}
.phase-card.acute .pc-list li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; background: #b8443f; border-radius: 50%;}
.phase-card.chronic .pc-list li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; background: #5d6a85; border-radius: 50%;}
.pc-action {padding: 14px 16px; background: rgba(0,0,0,.035); border-radius: 8px; font-size: var(--font-size-15); font-weight: 700; color: var(--dark-color);}
.pc-action span {display: block; font-size: 11.5px; font-weight: 700; color: #999; margin-bottom: 4px; letter-spacing: .05em;}

/* ⑦ 단순/복잡 치루 */
.type-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 26px;}
.type-card {padding: 32px 30px; background: #fff; border-radius: 18px; border: 2px solid #e5e5e5;}
.type-card.simple {border-color: #7fb096;}
.type-card.complex {border-color: #c98b4b;}
.tc-head {display: flex; align-items: center; gap: 14px; margin-bottom: 20px;}
.tc-badge {flex: 0 0 auto; padding: 6px 16px; border-radius: 999px; font-size: 14px; font-weight: 700; color: #fff;}
.simple .tc-badge {background: #4d9370;}
.complex .tc-badge {background: #b8763a;}
.tc-bar {flex: 1; height: 6px; background: #eee; border-radius: 3px; overflow: hidden;}
.tc-bar i {display: block; height: 100%; border-radius: 3px;}
.simple .tc-bar i {background: #4d9370;}
.complex .tc-bar i {background: #b8763a;}
.tc-feature {list-style: none; padding: 0; margin: 0 0 20px 0;}
.tc-feature li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 1.95em; color: #444;}
.tc-feature li strong {color: var(--dark-color); font-weight: 700;}
.simple .tc-feature li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; background: #4d9370; border-radius: 50%;}
.complex .tc-feature li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; background: #b8763a; border-radius: 50%;}
.tc-result {padding: 16px 18px; background: #faf7f5; border-radius: 10px; font-size: var(--font-size-14); line-height: 1.85em; color: #555;}
.tc-result span {display: block; font-size: 11.5px; font-weight: 700; color: var(--dark-color); margin-bottom: 5px; letter-spacing: .05em;}
.tc-result strong {color: var(--primary-color); font-weight: 700;}
.type-note {padding: 22px 28px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.type-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.type-note strong {color: var(--primary-color);}

/* ⑧ 감별 (공통 스펙) */
.fst-differential {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f7f4f0 100%);}
.fst-differential .section-head {text-align: center; margin-bottom: 46px;}
.fst-differential .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fst-differential .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.fst-differential .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.fst-differential .sh-desc strong {color: var(--primary-color);}
.fst-differential .section-body {max-width: 960px; margin: 0 auto;}
.page-fst .diff-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 24px;}
.page-fst .diff-card {padding: 34px 30px; background: #fff; border-radius: 18px; border: 2px solid transparent;}
.page-fst .diff-card.typical {border-color: #7fb096; background: linear-gradient(180deg, #fff 0%, #f2f9f5 100%);}
.page-fst .diff-card.check {border-color: #b8443f; background: linear-gradient(180deg, #fff 0%, #fdf4f3 100%);}
.page-fst .diff-badge {display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 999px; margin-bottom: 22px;}
.page-fst .diff-card.typical .diff-badge {background: #4d9370; color: #fff;}
.page-fst .diff-card.check .diff-badge {background: #b8443f; color: #fff;}
.page-fst .db-icon {display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: rgba(255,255,255,.25); border-radius: 50%;}
.page-fst .db-text {font-size: 14px; font-weight: 700;}
.page-fst .diff-list {list-style: none; padding: 0; margin: 0;}
.page-fst .diff-list li {position: relative; padding-left: 22px; font-size: var(--font-size-16); line-height: 2.05em; color: #444;}
.page-fst .diff-list li strong {color: var(--dark-color); font-weight: 700;}
.page-fst .diff-card.typical .diff-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: #4d9370; border-radius: 50%;}
.page-fst .diff-card.check .diff-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: #b8443f; border-radius: 50%;}

.diff-related {padding: 28px 32px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5; margin-bottom: 24px;}
.diff-related h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.diff-related > p {font-size: var(--font-size-15); line-height: 1.85em; color: #666; margin-bottom: 18px;}
.dr-links {display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
.dr-links a {display: flex; flex-direction: column; gap: 5px; padding: 18px 20px; background: #faf5f4; border-radius: 10px; text-decoration: none; transition: .2s; border-left: 3px solid var(--primary-color);}
.dr-links a:hover {background: #f4eae8; transform: translateX(3px);}
.dr-links a strong {font-size: var(--font-size-16); color: var(--primary-color); font-weight: 700;}
.dr-links a span {font-size: var(--font-size-13); color: #777; line-height: 1.6em;}

.page-fst .diff-strength {background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; overflow: hidden;}
.page-fst .ds-inner {padding: 40px 44px; color: #fff;}
.page-fst .ds-inner h4 {font-size: var(--font-size-22); font-weight: 700; color: #FFE9B0; margin-bottom: 18px;}
.page-fst .ds-inner p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 14px;}
.page-fst .ds-inner p strong {color: #FFE9B0; font-weight: 700;}
.page-fst .ds-list {list-style: none; padding: 0; margin: 22px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;}
.page-fst .ds-list li {padding: 14px 16px; background: rgba(255,255,255,.08); border-radius: 10px; font-size: var(--font-size-14); line-height: 1.6em; color: rgba(255,255,255,.9);}
.page-fst .ds-list li strong {color: #FFE9B0;}
.page-fst .ds-link {display: inline-block; padding: 12px 26px; background: #FFE9B0; color: #1a2942; border-radius: 999px; font-size: var(--font-size-15); font-weight: 700; text-decoration: none; transition: .2s;}
.page-fst .ds-link:hover {background: #fff; transform: translateY(-2px);}

/* ⑨ 진료 절차 투명성 (공통 스펙) */
.page-fst .proc-steps {display: flex; flex-direction: column; gap: 14px; margin-bottom: 26px;}
.page-fst .proc-item {display: grid; grid-template-columns: 64px 1fr; gap: 22px; align-items: start; padding: 26px 30px; background: #fff; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.05); transition: .2s;}
.page-fst .proc-item:hover {box-shadow: 0 6px 18px rgba(125,28,30,.1);}
.page-fst .pi-num {font-size: 34px; font-weight: 800; color: var(--primary-color); line-height: 1; letter-spacing: -.03em; opacity: .85;}
.page-fst .pi-top {display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px; flex-wrap: wrap;}
.page-fst .pi-top h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin: 0;}
.page-fst .pi-time {padding: 3px 11px; background: #f2ece9; color: var(--primary-color); border-radius: 999px; font-size: 12px; font-weight: 700;}
.page-fst .pi-body p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.page-fst .pi-body strong {color: var(--dark-color); font-weight: 700;}
.page-fst .proc-note {padding: 22px 28px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.page-fst .proc-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.page-fst .proc-note strong {color: var(--primary-color);}

/* ⑩ 치료 (2단) */
.page-fst .treat-tiers {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 30px;}
.page-fst .tier-card {padding: 32px 28px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5; transition: .25s;}
.page-fst .tier-card:hover {transform: translateY(-4px); box-shadow: 0 8px 22px rgba(0,0,0,.07);}
.page-fst .tier-card.tier-1 {border-color: #d4837e; background: linear-gradient(180deg, #fdf5f4 0%, #fff 100%);}
.page-fst .tier-card.tier-2 {border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.page-fst .tc-label {display: inline-block; padding: 4px 13px; color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: .06em; margin-bottom: 14px;}
.page-fst .tier-card.tier-1 .tc-label {background: #b8443f;}
.page-fst .tier-card.tier-2 .tc-label {background: var(--primary-color);}
.page-fst .tier-card h4 {font-size: var(--font-size-22); font-weight: 700; color: var(--dark-color); margin-bottom: 8px;}
.page-fst .tc-target {font-size: var(--font-size-13); color: var(--primary-color); font-weight: 600; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid #eee; line-height: 1.5em;}
.page-fst .tc-list {list-style: none; padding: 0; margin: 0;}
.page-fst .tc-list li {position: relative; padding-left: 18px; font-size: var(--font-size-14); line-height: 1.95em; color: #555; margin-bottom: 7px;}
.page-fst .tc-list li::before {content: ''; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; background: var(--primary-color); border-radius: 50%;}
.page-fst .tc-list strong {color: var(--dark-color); font-weight: 700;}

.page-fst .honest-box {padding: 32px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.page-fst .honest-box h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 20px;}
.hb-split {display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px;}
.hb-col {padding: 20px 22px; border-radius: 12px;}
.hb-col.ok {background: #f2f9f5; border-left: 3px solid #4d9370;}
.hb-col.ref {background: #fdf4f3; border-left: 3px solid #b8443f;}
.hb-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 11.5px; font-weight: 700; color: #fff; margin-bottom: 12px;}
.hb-col.ok .hb-tag {background: #4d9370;}
.hb-col.ref .hb-tag {background: #b8443f;}
.hb-col ul {list-style: none; padding: 0; margin: 0;}
.hb-col ul li {position: relative; padding-left: 18px; font-size: var(--font-size-14); line-height: 1.9em; color: #444;}
.hb-col.ok ul li::before {content: ''; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; background: #4d9370; border-radius: 50%;}
.hb-col.ref ul li::before {content: ''; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; background: #b8443f; border-radius: 50%;}
.hb-note {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.hb-note strong {color: var(--primary-color); font-weight: 700;}

/* ⑪ ★ 수술의 딜레마 */
.fst-dilemma {padding: 84px 0 !important; background: linear-gradient(180deg, #f7f5f3 0%, #efeae6 100%);}
.fst-dilemma .section-head {text-align: center; margin-bottom: 44px;}
.fst-dilemma .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.fst-dilemma .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.fst-dilemma .sh-desc {font-size: var(--font-size-16); color: #6a635d; line-height: 1.8em;}
.fst-dilemma .section-body {max-width: 940px; margin: 0 auto;}

.dil-scale {display: grid; grid-template-columns: 1fr 110px 1fr; gap: 0; align-items: stretch; margin-bottom: 26px;}
.dil-side {display: flex; flex-direction: column; gap: 10px; padding: 30px 28px; background: #fff; justify-content: center;}
.dil-side.left {border-radius: 16px 0 0 16px; text-align: right;}
.dil-side.right {border-radius: 0 16px 16px 0; text-align: left;}
.ds-label {font-size: var(--font-size-15); font-weight: 700; color: var(--dark-color); margin-bottom: 4px;}
.ds-result {font-size: var(--font-size-14); padding: 7px 14px; border-radius: 999px; display: inline-block; align-self: inherit;}
.dil-side.left .ds-result {align-self: flex-end;}
.dil-side.right .ds-result {align-self: flex-start;}
.ds-result.good {background: #eaf5ef; color: #2f6a4a;}
.ds-result.bad {background: #fdeceb; color: #a03832;}
.dil-center {display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: var(--dark-color); color: #FFE9B0;}
.dc-icon {display: inline-flex; align-items: center; justify-content: center;}
.dc-text {font-size: 13px; font-weight: 700; letter-spacing: .06em;}

.dil-explain {padding: 26px 32px; background: #fff; border-radius: 16px; border-left: 5px solid var(--primary-color); margin-bottom: 24px;}
.dil-explain p {font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin-bottom: 12px;}
.dil-explain p:last-child {margin-bottom: 0;}
.dil-explain strong {color: var(--primary-color); font-weight: 700;}

.dil-careful {padding: 30px 34px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.dil-careful h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 16px;}
.dc-list {list-style: none; padding: 0; margin: 0 0 18px 0;}
.dc-list li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.dc-list li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; background: var(--primary-color); border-radius: 50%;}
.dc-list strong {color: var(--dark-color); font-weight: 700;}
.dc-note {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0; padding-top: 16px; border-top: 1px solid #eee;}
.dc-note strong {color: var(--primary-color); font-weight: 700;}

/* ⑫ 타임라인 · 회복 */
.page-fst .timeline {display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 30px;}
.page-fst .tl-item {text-align: center; padding: 24px 12px; background: #fff; border-radius: 12px; border: 1px solid #e5e5e5;}
.page-fst .tl-ico {display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: #faf5f4; color: var(--primary-color); border-radius: 50%; margin-bottom: 10px;}
.page-fst .tl-time {display: inline-block; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 12px; font-size: 11px; font-weight: 700; margin-bottom: 8px;}
.page-fst .tl-item h4 {font-size: 15px; font-weight: 700; color: var(--dark-color); margin-bottom: 6px;}
.page-fst .tl-item p {font-size: 12px; color: #888; line-height: 1.5em; margin: 0;}
.page-fst .recovery-box {padding: 34px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.page-fst .recovery-box h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid #eee;}
.page-fst .rec-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px;}
.page-fst .rec-item {display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: #faf7f5; border-radius: 10px; border-left: 3px solid var(--primary-color);}
.page-fst .ri-when {font-size: var(--font-size-16); font-weight: 800; color: var(--primary-color); letter-spacing: -.01em;}
.page-fst .ri-what {font-size: var(--font-size-14); color: #555; line-height: 1.5em;}
.page-fst .rec-note {font-size: var(--font-size-13); color: #888; line-height: 1.75em; margin: 0;}
.page-fst .rec-note strong {color: #666;}

/* 비용 */
.page-fst .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-fst .cost-info > p {font-size: var(--font-size-16); line-height: 1.9em; color: #444; margin-bottom: 20px;}
.page-fst .cost-info > p strong {color: var(--dark-color);}
.page-fst .cost-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 26px 0;}
.page-fst .cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.page-fst .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px;}
.page-fst .cost-tag.insurance {background: var(--primary-color); color: #fff;}
.page-fst .cost-tag.non-insurance {background: #888; color: #fff;}
.page-fst .cost-item p {font-size: var(--font-size-15); line-height: 1.75em; color: #444; margin: 0;}
.page-fst .cost-note {padding: 20px; background: #fff8ec; border-left: 4px solid #d9a441; border-radius: 4px; font-size: var(--font-size-14); color: #6d5320; line-height: 1.8em; margin: 0 !important;}

/* FAQ */
.fst-faq {display: flex; flex-direction: column; gap: 10px;}
.fst-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: .2s;}
.fst-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,.12);}
.fst-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.fst-faq .faq-q:hover {background: #faf7f6;}
.fst-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.fst-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.fst-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.fst-faq .q-arrow::before, .fst-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.fst-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.fst-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.fst-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.fst-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.fst-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.fst-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #555; padding-top: 6px;}
.fst-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장 노트 */
.fst-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.fst-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.fst-doctor-note .dn-photo img {display: block; width: 100%; height: auto; }
.fst-doctor-note .dn-content {position: relative;}
.fst-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: .4; line-height: 1; font-family: Georgia, serif;}
.fst-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.fst-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.95em; color: rgba(255,255,255,.9); margin-bottom: 18px;}
.fst-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.fst-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.fst-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2);}
.fst-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.fst-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,.65); margin-top: 6px;}

/* CTA */
.fst-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.fst-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 18px; letter-spacing: -.02em;}
.fst-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.85em; margin-bottom: 36px;}
.fst-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 30px;}
.fst-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.fst-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.fst-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.fst-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.fst-cta .cta-ico {display: inline-flex; align-items: center; justify-content: center;}
.fst-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.fst-cta .cta-label {font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.fst-cta .cta-value {font-size: 18px; font-weight: 700;}
.fst-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.fst-cta .cta-btn.cta-reserve:hover {color: #fff;}
.page-fst .cta-links {display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid #ebe0de;}
.page-fst .cta-links a {font-size: var(--font-size-15); color: var(--primary-color); font-weight: 600; text-decoration: none; transition: .2s;}
.page-fst .cta-links a:hover {text-decoration: underline;}

/* ========================================
   치루 페이지 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .fst-hero {padding: 60px 0 !important;}
    .fst-section, .fst-urgent, .fst-progress, .fst-differential, .fst-dilemma, .fst-router {padding: 60px 0 !important;}
    .fst-router .router-grid {grid-template-columns: repeat(3, 1fr);}
    .prog-flow {grid-template-columns: 1fr 1fr; gap: 14px;}
    .pf-item::after {display: none;}
    .phase-grid, .type-grid, .page-fst .diff-grid, .page-fst .cost-grid {grid-template-columns: 1fr;}
    .page-fst .treat-tiers {grid-template-columns: 1fr;}
    .hb-split {grid-template-columns: 1fr;}
    .dr-links {grid-template-columns: 1fr;}
    .page-fst .ds-list {grid-template-columns: 1fr;}
    .page-fst .rec-grid {grid-template-columns: 1fr 1fr;}
    .page-fst .timeline {grid-template-columns: repeat(3, 1fr);}
    .dil-scale {grid-template-columns: 1fr; gap: 2px;}
    .dil-side.left {border-radius: 16px 16px 0 0; text-align: left;}
    .dil-side.left .ds-result {align-self: flex-start;}
    .dil-side.right {border-radius: 0 0 16px 16px;}
    .dil-center {flex-direction: row; gap: 12px; padding: 14px;}
    .fst-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
    .fst-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;}
}

/* ========================================
   치루 페이지 — 모바일
   PC와 다른 레이아웃 패턴 적용
   ======================================== */
@media (max-width: 640px) {

    /* 히어로 */
    .fst-hero {padding: 44px 0 !important;}
    .fst-hero .hero-title {font-size: 32px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .fst-hero .title-sub {font-size: 17px !important; display: block; margin: 6px 0 0 0 !important;}
    .fst-hero .hero-lead {font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .fst-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    /* 강점 카드 → 가로 3분할 */
    .fst-highlights {padding: 30px 0 !important;}
    .fst-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .fst-highlights .highlight-card {padding: 20px 8px; border-radius: 12px;}
    .fst-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
    .fst-highlights .hc-icon svg {width: 24px; height: 24px;}
    .fst-highlights .hc-title {font-size: 12.5px; margin-bottom: 6px; line-height: 1.35em;}
    .fst-highlights .hc-desc {font-size: 10.5px; line-height: 1.5em;}

    /* 라우터 → 가로 스크롤 칩 */
    .fst-router {padding: 36px 0 !important;}
    .fst-router .section-head {margin-bottom: 20px;}
    .fst-router .sh-badge {font-size: 10px; padding: 4px 14px; margin-bottom: 12px;}
    .fst-router .section-head h3 {font-size: 21px !important; margin-bottom: 8px !important;}
    .fst-router .sh-desc {font-size: 13px !important; line-height: 1.65em !important;}
    .fst-router .sh-desc br {display: none;}
    .fst-router .router-grid {display: flex !important; grid-template-columns: none !important; gap: 10px; overflow-x: auto; padding: 4px 20px 14px; margin: 0 -20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;}
    .fst-router .router-grid::-webkit-scrollbar {display: none;}
    .fst-router .router-item {flex: 0 0 200px; min-height: auto; padding: 18px; scroll-snap-align: start;}
    .fst-router .ri-symptom {font-size: 17px !important; margin-bottom: 7px !important;}
    .fst-router .ri-desc {font-size: 12px !important; margin-bottom: 12px !important;}
    .fst-router .ri-target {font-size: 12px !important; padding-top: 10px !important;}
    .fst-router .router-note {padding: 14px 18px !important;}
    .fst-router .router-note p {font-size: 12.5px !important; line-height: 1.75em !important;}

    /* ★ 응급 안내 → 세로 넘버 흐름 (박스 벗김) */
    .fst-urgent {padding: 44px 0 !important;}
    .fst-urgent .section-head {margin-bottom: 24px;}
    .fst-urgent .sh-badge {font-size: 10px; padding: 4px 14px;}
    .fst-urgent .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .fst-urgent .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .urgent-signs {gap: 0 !important; margin-bottom: 20px !important;}
    .us-item {grid-template-columns: 36px 1fr !important; gap: 14px !important; padding: 18px 0 18px 16px !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-left: 3px solid #b8443f !important; border-bottom: 1px dashed #e8d4d1 !important; margin-left: 4px;}
    .us-item:last-child {border-bottom: none !important;}
    .us-num {font-size: 20px !important;}
    .us-body h4 {font-size: 15.5px !important; margin-bottom: 6px !important;}
    .us-body p {font-size: 13px !important; line-height: 1.85em !important;}
    .dont-do {padding: 20px 18px !important; border-width: 1px !important; border-radius: 12px; margin-bottom: 18px !important;}
    .dd-title {font-size: 15.5px !important; margin-bottom: 14px !important; gap: 10px !important;}
    .dd-mark {width: 24px !important; height: 24px !important; flex: 0 0 24px !important;}
    .dd-grid {grid-template-columns: 1fr !important; gap: 8px;}
    .dd-item {padding: 12px 14px !important;}
    .dd-item strong {font-size: 13.5px !important;}
    .dd-item span {font-size: 12px !important;}
    .urgent-cta {flex-direction: column !important; align-items: stretch !important; text-align: center; padding: 18px 20px !important; gap: 14px !important;}
    .urgent-cta p {font-size: 13px !important; line-height: 1.75em !important;}
    .uc-btn {justify-content: center; padding: 13px 20px !important; font-size: 15px !important;}

    /* ★ 진행 흐름 → 세로 + 아래 화살표 */
    .fst-progress {padding: 44px 0 !important;}
    .fst-progress .section-head {margin-bottom: 24px;}
    .fst-progress .sh-badge {font-size: 10px; padding: 4px 14px;}
    .fst-progress .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .fst-progress .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .prog-flow {grid-template-columns: 1fr !important; gap: 24px !important;}
    .pf-item {padding: 18px 20px !important; border-radius: 12px;}
    .pf-item::after {display: block !important; top: auto !important; bottom: -18px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) rotate(135deg) !important;}
    .pf-item:last-child::after {display: none !important;}
    .pf-stage {font-size: 10.5px !important; padding: 2px 10px !important; margin-bottom: 8px !important;}
    .pf-num {display: none !important;}
    .pf-item h4 {font-size: 16px !important; margin-bottom: 7px !important;}
    .pf-item p {font-size: 13px !important; line-height: 1.85em !important;}
    .prog-loop {gap: 10px !important; margin: 26px 0 20px !important; padding: 16px 18px !important;}
    .pl-icon {width: 28px !important; height: 28px !important; flex: 0 0 28px !important;}
    .pl-icon svg {width: 16px !important; height: 16px !important;}
    .prog-loop p {font-size: 13px !important; line-height: 1.7em !important;}
    .prog-note {padding: 20px 22px !important; border-radius: 12px; border-left-width: 4px !important;}
    .prog-note h4 {font-size: 16px !important; margin-bottom: 10px !important;}
    .prog-note p {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* 섹션 헤드 */
    .fst-section {padding: 44px 0 !important;}
    .fst-section .section-head {margin-bottom: 26px;}
    .fst-section .sh-num {font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .fst-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important; margin-bottom: 10px !important;}
    .fst-section .sh-desc {font-size: 13.5px !important; line-height: 1.7em !important;}
    .fst-section .section-body > p {font-size: 14.5px !important; line-height: 1.9em !important;}
    .page-fst .note-box {padding: 18px 20px !important; font-size: 13.5px !important; line-height: 1.85em !important; margin-top: 20px !important;}
    .page-fst .note-box strong {font-size: 14px !important;}

    /* ★ 급성/만성 → 좌측 컬러 라인 (박스 벗김) */
    .phase-grid {grid-template-columns: 1fr !important; gap: 0 !important;}
    .phase-card {padding: 20px 0 20px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid #e5e5e5 !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px;}
    .phase-card:last-child {border-bottom: none !important;}
    .phase-card.acute {border-left-color: #b8443f !important;}
    .phase-card.chronic {border-left-color: #5d6a85 !important;}
    .pc-head {margin-bottom: 12px !important;}
    .pc-badge {padding: 4px 12px !important; font-size: 12px !important;}
    .pc-list {margin-bottom: 14px !important;}
    .pc-list li {font-size: 13.5px !important; line-height: 1.9em !important; padding-left: 18px !important;}
    .pc-list li::before {top: 11px; width: 6px !important; height: 6px !important;}
    .pc-action {padding: 11px 14px !important; font-size: 13.5px !important;}
    .pc-action span {font-size: 10.5px !important;}

    /* ★ 단순/복잡 → 좌측 라인 흐름 */
    .type-grid {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 18px !important;}
    .type-card {padding: 20px 0 20px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid #e5e5e5 !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px;}
    .type-card:last-child {border-bottom: none !important;}
    .type-card.simple {border-left-color: #4d9370 !important;}
    .type-card.complex {border-left-color: #b8763a !important;}
    .tc-head {margin-bottom: 12px !important; gap: 10px !important;}
    .tc-badge {padding: 4px 12px !important; font-size: 12px !important;}
    .tc-bar {height: 4px !important;}
    .tc-feature {margin-bottom: 14px !important;}
    .tc-feature li {font-size: 13.5px !important; line-height: 1.9em !important; padding-left: 18px !important;}
    .tc-feature li::before {top: 11px; width: 6px !important; height: 6px !important;}
    .tc-result {padding: 13px 15px !important; font-size: 12.5px !important; line-height: 1.8em !important;}
    .tc-result span {font-size: 10.5px !important;}
    .type-note {padding: 16px 18px !important;}
    .type-note p {font-size: 13px !important; line-height: 1.85em !important;}

    /* 감별 */
    .fst-differential {padding: 44px 0 !important;}
    .fst-differential .section-head {margin-bottom: 24px;}
    .fst-differential .sh-badge {font-size: 10px; padding: 4px 14px;}
    .fst-differential .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .fst-differential .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .page-fst .diff-grid {gap: 12px !important; margin-bottom: 18px !important;}
    .page-fst .diff-card {padding: 22px 20px !important; border-radius: 14px; border-width: 1px !important;}
    .page-fst .diff-badge {padding: 6px 14px !important; margin-bottom: 16px !important;}
    .page-fst .db-icon {width: 18px !important; height: 18px !important;}
    .page-fst .db-icon svg {width: 12px !important; height: 12px !important;}
    .page-fst .db-text {font-size: 12.5px !important;}
    .page-fst .diff-list li {font-size: 14px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .page-fst .diff-list li::before {top: 12px; width: 6px !important; height: 6px !important;}
    .diff-related {padding: 20px 18px !important; border-radius: 12px; margin-bottom: 18px !important;}
    .diff-related h4 {font-size: 16px !important;}
    .diff-related > p {font-size: 13px !important; line-height: 1.8em !important; margin-bottom: 14px !important;}
    .dr-links {gap: 8px;}
    .dr-links a {padding: 14px 16px !important;}
    .dr-links a strong {font-size: 14.5px !important;}
    .dr-links a span {font-size: 12px !important;}
    .page-fst .ds-inner {padding: 26px 22px !important;}
    .page-fst .ds-inner h4 {font-size: 17px !important; margin-bottom: 14px !important;}
    .page-fst .ds-inner p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-fst .ds-list {grid-template-columns: 1fr !important; gap: 8px !important; margin: 18px 0 !important;}
    .page-fst .ds-list li {padding: 11px 14px !important; font-size: 13px !important;}
    .page-fst .ds-link {padding: 11px 22px !important; font-size: 13.5px !important;}

    /* ★ 진료 절차 → 세로 타임라인 */
    .page-fst .proc-steps {gap: 0 !important; position: relative; padding-left: 26px; margin-bottom: 20px !important;}
    .page-fst .proc-steps::before {content: ''; position: absolute; left: 9px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(to bottom, var(--primary-color), rgba(125,28,30,.18));}
    .page-fst .proc-item {display: block !important; padding: 0 0 26px 0 !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; position: relative;}
    .page-fst .proc-item:last-child {padding-bottom: 0 !important;}
    .page-fst .proc-item:hover {box-shadow: none !important;}
    .page-fst .proc-item::before {content: ''; position: absolute; left: -26px; top: 3px; width: 18px; height: 18px; background: var(--primary-color); border: 3px solid #fff; border-radius: 50%; box-shadow: 0 0 0 2px var(--primary-color);}
    .page-fst .pi-num {display: none !important;}
    .page-fst .pi-top {margin-bottom: 7px !important; gap: 10px !important;}
    .page-fst .pi-top h4 {font-size: 16px !important;}
    .page-fst .pi-time {font-size: 11px !important; padding: 2px 9px !important;}
    .page-fst .pi-body p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-fst .proc-note {padding: 16px 18px !important;}
    .page-fst .proc-note p {font-size: 13px !important; line-height: 1.85em !important;}

    /* ★ 치료 2단 → 박스 벗기고 라벨 + 흐름 */
    .page-fst .treat-tiers {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 22px !important;}
    .page-fst .tier-card {padding: 22px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e8e3de !important;}
    .page-fst .tier-card:last-child {border-bottom: none !important;}
    .page-fst .tier-card:hover {transform: none !important; box-shadow: none !important;}
    .page-fst .tc-label {padding: 3px 11px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-fst .tier-card h4 {font-size: 19px !important; margin-bottom: 6px !important;}
    .page-fst .tc-target {font-size: 12px !important; margin-bottom: 14px !important; padding-bottom: 10px !important;}
    .page-fst .tc-list li {font-size: 13.5px !important; line-height: 1.9em !important; margin-bottom: 5px !important;}
    .page-fst .honest-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .page-fst .honest-box h4 {font-size: 16px !important; margin-bottom: 14px !important;}
    .hb-split {gap: 10px !important; margin-bottom: 14px !important;}
    .hb-col {padding: 16px 18px !important;}
    .hb-tag {font-size: 10.5px !important; margin-bottom: 10px !important;}
    .hb-col ul li {font-size: 13px !important; line-height: 1.85em !important;}
    .hb-note {font-size: 12.5px !important; line-height: 1.85em !important;}

    /* ★ 딜레마 → 상하 대비 */
    .fst-dilemma {padding: 44px 0 !important;}
    .fst-dilemma .section-head {margin-bottom: 24px;}
    .fst-dilemma .sh-badge {font-size: 10px; padding: 4px 14px;}
    .fst-dilemma .section-head h3 {font-size: 22px !important; margin-bottom: 10px !important;}
    .fst-dilemma .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .dil-scale {margin-bottom: 18px !important;}
    .dil-side {padding: 20px 22px !important; gap: 8px !important;}
    .ds-label {font-size: 14px !important;}
    .ds-result {font-size: 12.5px !important; padding: 6px 12px !important;}
    .dil-center {padding: 10px !important;}
    .dc-icon svg {width: 20px !important; height: 20px !important;}
    .dc-text {font-size: 11.5px !important;}
    .dil-explain {padding: 20px 22px !important; border-radius: 12px; margin-bottom: 18px !important;}
    .dil-explain p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .dil-careful {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .dil-careful h4 {font-size: 16px !important; margin-bottom: 12px !important;}
    .dc-list li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .dc-list li::before {top: 12px; width: 6px !important; height: 6px !important;}
    .dc-note {font-size: 12.5px !important; line-height: 1.85em !important; padding-top: 12px !important;}

    /* 타임라인 → 좌측 라인 리스트 */
    .page-fst .timeline {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 22px !important;}
    .page-fst .tl-item {text-align: left !important; padding: 14px 0 14px 18px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px; display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: center;}
    .page-fst .tl-item:last-child {border-bottom: none !important;}
    .page-fst .tl-ico {width: 36px !important; height: 36px !important; margin-bottom: 0 !important;}
    .page-fst .tl-ico svg {width: 18px !important; height: 18px !important;}
    .page-fst .tl-time {padding: 2px 9px !important; font-size: 10.5px !important; margin-bottom: 0 !important; grid-column: 2; justify-self: start; width: fit-content;}
    .page-fst .tl-item h4 {font-size: 14px !important; margin-bottom: 2px !important; grid-column: 2;}
    .page-fst .tl-item p {font-size: 11.5px !important; margin: 0 !important; grid-column: 2;}

    /* 회복 박스 → 좌우 2단 리스트 */
    .page-fst .recovery-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .page-fst .recovery-box h4 {font-size: 16px !important; margin-bottom: 14px !important; padding-bottom: 10px !important;}
    .page-fst .rec-grid {grid-template-columns: 1fr !important; gap: 8px !important; margin-bottom: 14px !important;}
    .page-fst .rec-item {flex-direction: row !important; align-items: center; gap: 12px !important; padding: 12px 14px !important; border-left-width: 2px !important;}
    .page-fst .ri-when {flex: 0 0 76px; font-size: 13px !important;}
    .page-fst .ri-what {flex: 1; font-size: 12px !important; line-height: 1.5em !important;}
    .page-fst .rec-note {font-size: 11.5px !important;}

    /* 비용 */
    .page-fst .cost-info {padding: 22px 20px !important; border-radius: 12px;}
    .page-fst .cost-info > p {font-size: 14px !important; line-height: 1.9em !important;}
    .page-fst .cost-grid {gap: 12px !important; margin: 20px 0 !important;}
    .page-fst .cost-item {padding: 18px !important;}
    .page-fst .cost-tag {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-fst .cost-item p {font-size: 13px !important;}
    .page-fst .cost-note {padding: 14px 16px !important; font-size: 12.5px !important;}

    /* FAQ */
    .fst-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
    .fst-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .fst-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
    .fst-faq .faq-a {padding: 0 18px 20px 18px !important;}
    .fst-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .fst-faq .a-txt {font-size: 13px !important; line-height: 1.9em !important;}

    /* 원장 노트 */
    .fst-doctor-note {padding: 50px 0 !important;}
    .fst-doctor-note .doctor-note-inner {gap: 24px !important;}
    .fst-doctor-note .dn-photo {max-width: 150px !important;}
    .fst-doctor-note .dn-content {text-align: left;}
    .fst-doctor-note .dn-quote-mark {font-size: 60px !important; top: -32px !important; left: -4px !important;}
    .fst-doctor-note .dn-quote p {font-size: 13.5px !important; line-height: 1.95em !important; margin-bottom: 14px;}
    .fst-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
    .fst-doctor-note .dn-signature strong {font-size: 17px !important;}
    .fst-doctor-note .dn-signature span {font-size: 12px !important;}

    /* CTA */
    .fst-cta {padding: 50px 0 !important;}
    .fst-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
    .fst-cta > .contain > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 24px !important;}
    .fst-cta .cta-buttons {flex-direction: column; gap: 10px; margin-bottom: 22px;}
    .fst-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .fst-cta .cta-label {font-size: 11px;}
    .fst-cta .cta-value {font-size: 16px;}
    .page-fst .cta-links {gap: 16px; padding-top: 20px;}
    .page-fst .cta-links a {font-size: 12.5px;}
}

@media (max-width: 380px) {
    .fst-hero .hero-title {font-size: 28px !important;}
    .fst-highlights .highlight-cards {gap: 6px;}
    .fst-highlights .highlight-card {padding: 16px 4px;}
    .fst-highlights .hc-title {font-size: 11.5px;}
    .fst-highlights .hc-desc {font-size: 10px;}
    .fst-router .router-item {flex: 0 0 178px;}
}

/* ========================================
   항문소양증 페이지 (page-pru)
   ======================================== */
.page-pru section {padding: 0;}
.page-pru .contain {padding-top: 0; padding-bottom: 0;}

/* ① 히어로 — 뮤트 라벤더-그레이 */
.pru-hero {background: linear-gradient(135deg, #f1f0f4 0%, #e2e0e8 100%); padding: 80px 0 !important;}
.pru-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.pru-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.pru-hero .hero-title {font-size: clamp(34px, calc(60 / var(--inner) * 100vw), 60px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.pru-hero .title-sub {font-size: .46em; font-weight: 600; color: #7d7a88; margin-left: 10px; letter-spacing: -.01em;}
.pru-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.95em; color: #45434d;}
.pru-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* ② 강점 카드 */
.pru-highlights {padding: 60px 0 !important; background: #fff;}
.pru-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 940px; margin: 0 auto;}
.pru-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.pru-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,.1); transform: translateY(-4px);}
.pru-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.pru-highlights .hc-title {font-size: var(--font-size-21); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.35em;}
.pru-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* ③ 라우터 (공통 스펙) */
.pru-router {padding: 70px 0 !important; background: linear-gradient(180deg, #fbf9f6 0%, #f5f1eb 100%); border-top: 1px solid #ece7df; border-bottom: 1px solid #ece7df;}
.pru-router .section-head {text-align: center; margin-bottom: 40px;}
.pru-router .sh-badge {display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.pru-router .section-head h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.pru-router .sh-desc {font-size: var(--font-size-16); color: #6a655c; line-height: 1.7em;}
.pru-router .section-body {max-width: 1080px; margin: 0 auto;}

/* ④ ★ 역설 섹션 */
.pru-paradox {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f6f5f8 100%);}
.pru-paradox .section-head {text-align: center; margin-bottom: 44px;}
.pru-paradox .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.pru-paradox .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.pru-paradox .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.pru-paradox .sh-desc strong {color: var(--primary-color);}
.pru-paradox .section-body {max-width: 960px; margin: 0 auto;}

.pdx-explain {margin-bottom: 30px;}
.pdx-visual {display: flex; align-items: stretch; gap: 0;}
.pv-step {flex: 1; display: flex; flex-direction: column; gap: 12px; padding: 26px 22px; background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0,0,0,.05);}
.pv-label {display: inline-block; align-self: flex-start; padding: 4px 13px; background: #6f9c85; color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700;}
.pv-label.warn {background: #cfa93f;}
.pv-label.danger {background: #b8443f;}
.pv-bar {display: flex; flex-direction: column; gap: 3px; padding: 10px 0;}
.pv-bar i {display: block; height: 12px; border-radius: 3px;}
.pv-bar .layer-oil {background: linear-gradient(90deg, #f6dfa4, #ecd08a); height: 8px;}
.pv-bar .layer-skin {background: #e8d9d3; height: 22px;}
.pv-bar .layer-skin.damaged {background: #e0c9c2; height: 22px;}
.pv-bar .layer-skin.exposed {background: repeating-linear-gradient(45deg, #e5b8b2, #e5b8b2 5px, #d8a49e 5px, #d8a49e 10px); height: 22px;}
.pv-step p {font-size: var(--font-size-14); line-height: 1.85em; color: #555; margin: 0;}
.pv-step strong {color: var(--dark-color); font-weight: 700;}
.pv-arrow {flex: 0 0 34px; position: relative;}
.pv-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(45deg); width: 10px; height: 10px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color);}

.pdx-list {padding: 32px 36px; background: #fff; border-radius: 18px; border: 2px solid var(--primary-color); margin-bottom: 24px;}
.pdx-list h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--primary-color); margin-bottom: 20px;}
.pl-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 14px;}
.pl-item {display: grid; grid-template-columns: 26px 1fr; gap: 12px; align-items: start;}
.pl-mark {display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: #fdeceb; color: #b8443f; border-radius: 50%; font-size: 13px; font-weight: 800;}
.pl-item strong {display: block; font-size: var(--font-size-15); color: var(--dark-color); font-weight: 700; margin-bottom: 3px;}
.pl-item span {display: block; font-size: var(--font-size-13); color: #8a8580; line-height: 1.6em;}

.pdx-note {padding: 24px 30px; background: #fff; border-left: 5px solid var(--primary-color); border-radius: 4px;}
.pdx-note p {font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin: 0;}
.pdx-note strong {color: var(--primary-color); font-weight: 700;}

/* ⑤ ★ 가려움 악순환 */
.pru-cycle {padding: 84px 0 !important; background: linear-gradient(180deg, #f4f3f6 0%, #eceaf1 100%);}
.pru-cycle .section-head {text-align: center; margin-bottom: 44px;}
.pru-cycle .sh-badge {display: inline-block; padding: 6px 20px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.pru-cycle .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.pru-cycle .sh-desc {font-size: var(--font-size-16); color: #67636e; line-height: 1.8em;}
.pru-cycle .sh-desc strong {color: var(--primary-color);}
.pru-cycle .section-body {max-width: 1000px; margin: 0 auto;}

.cyc-flow {display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px;}
.cf-item {position: relative; display: flex; flex-direction: column; gap: 8px; padding: 24px 14px; background: #fff; border-radius: 14px; text-align: center; box-shadow: 0 2px 10px rgba(0,0,0,.05);}
.cf-item::after {content: ''; position: absolute; top: 50%; right: -14px; transform: translateY(-50%) rotate(45deg); width: 9px; height: 9px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color); z-index: 2;}
.cf-item:last-child::after {display: none;}
.cf-num {font-size: 12px; font-weight: 800; color: #fff; background: var(--primary-color); width: 26px; height: 26px; line-height: 26px; border-radius: 50%; margin: 0 auto;}
.cf-title {font-size: var(--font-size-16); font-weight: 700; color: var(--dark-color); line-height: 1.4em;}
.cf-desc {font-size: 12.5px; color: #8a8590; line-height: 1.5em;}

.cyc-loop {display: flex; align-items: center; justify-content: center; gap: 12px; margin: 22px 0 26px; padding: 18px 26px; background: var(--dark-color); border-radius: 12px;}
.cl-ico {display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; background: rgba(255,233,176,.18); color: #FFE9B0; border-radius: 50%; flex: 0 0 34px;}
.cyc-loop p {font-size: var(--font-size-16); line-height: 1.7em; color: rgba(255,255,255,.9); margin: 0;}
.cyc-loop strong {color: #FFE9B0; font-weight: 700;}

.cyc-night {display: grid; grid-template-columns: 68px 1fr; gap: 22px; align-items: start; padding: 30px 34px; background: #fff; border-radius: 18px; border-left: 5px solid #5d6a85;}
.cn-icon {display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; background: #eef0f5; color: #5d6a85; border-radius: 50%;}
.cn-body h4 {font-size: var(--font-size-20); font-weight: 700; color: #3d4a63; margin-bottom: 12px;}
.cn-body p {font-size: var(--font-size-15); line-height: 1.95em; color: #555; margin-bottom: 10px;}
.cn-body p:last-child {margin-bottom: 0;}
.cn-body strong {color: #3d4a63; font-weight: 700;}

/* 공통 섹션 */
.pru-section {padding: 80px 0 !important; background: #fff;}
.pru-section.section-alt {background: #faf7f5;}
.pru-section .section-head {text-align: center; margin-bottom: 50px;}
.pru-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.pru-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -.02em; margin-bottom: 12px;}
.pru-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.75em;}
.pru-section .sh-desc strong {color: var(--primary-color);}
.pru-section .section-body {max-width: 960px; margin: 0 auto;}
.pru-section .section-body > p {font-size: var(--font-size-16); line-height: 1.95em; color: #444; margin-bottom: 20px;}

/* ⑥ 원인 그리드 */
.page-pru .cause-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 28px;}
.page-pru .cause-item {position: relative; padding: 26px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 14px; text-align: center; transition: .22s;}
.page-pru .cause-item:hover {transform: translateY(-3px); box-shadow: 0 8px 18px rgba(0,0,0,.06);}
.page-pru .cause-item.major {border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.ci-tag {position: absolute; top: -9px; left: 50%; transform: translateX(-50%); padding: 3px 11px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 10.5px; font-weight: 700; white-space: nowrap;}
.ci-icon {display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; background: #faf5f4; color: var(--primary-color); border-radius: 50%; margin-bottom: 12px;}
.page-pru .cause-item h4 {font-size: var(--font-size-16); font-weight: 700; color: var(--dark-color); margin-bottom: 8px; line-height: 1.4em;}
.page-pru .cause-item p {font-size: var(--font-size-13); line-height: 1.65em; color: #777; margin: 0;}

.warn-box {display: grid; grid-template-columns: 32px 1fr; gap: 16px; align-items: start; padding: 26px 30px; background: #fff8ec; border-left: 5px solid #d9a441; border-radius: 4px;}
.wb-mark {display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; background: #d9a441; color: #fff; border-radius: 50%;}
.warn-box div {font-size: var(--font-size-15); line-height: 1.95em; color: #6d5320;}
.warn-box strong {display: block; color: #8a6420; font-size: 16px; margin-bottom: 6px;}
.warn-box strong + * {display: inline;}
.warn-box div strong:not(:first-child) {display: inline; font-size: inherit; margin: 0; color: #8a6420;}

/* ⑦ 감별 (공통 스펙) */
.pru-differential {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f7f4f0 100%);}
.pru-differential .section-head {text-align: center; margin-bottom: 46px;}
.pru-differential .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.pru-differential .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.pru-differential .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.pru-differential .sh-desc strong {color: var(--primary-color);}
.pru-differential .section-body {max-width: 960px; margin: 0 auto;}
.page-pru .diff-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 28px;}
.page-pru .diff-card {padding: 34px 30px; background: #fff; border-radius: 18px; border: 2px solid transparent;}
.page-pru .diff-card.typical {border-color: #7fb096; background: linear-gradient(180deg, #fff 0%, #f2f9f5 100%);}
.page-pru .diff-card.check {border-color: #b8443f; background: linear-gradient(180deg, #fff 0%, #fdf4f3 100%);}
.page-pru .diff-badge {display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 999px; margin-bottom: 22px;}
.page-pru .diff-card.typical .diff-badge {background: #4d9370; color: #fff;}
.page-pru .diff-card.check .diff-badge {background: #b8443f; color: #fff;}
.page-pru .db-icon {display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; background: rgba(255,255,255,.25); border-radius: 50%;}
.page-pru .db-text {font-size: 14px; font-weight: 700;}
.page-pru .diff-list {list-style: none; padding: 0; margin: 0;}
.page-pru .diff-list li {position: relative; padding-left: 22px; font-size: var(--font-size-16); line-height: 2.05em; color: #444;}
.page-pru .diff-list li strong {color: var(--dark-color); font-weight: 700;}
.page-pru .diff-card.typical .diff-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: #4d9370; border-radius: 50%;}
.page-pru .diff-card.check .diff-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: #b8443f; border-radius: 50%;}
.page-pru .diff-strength {background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; overflow: hidden;}
.page-pru .ds-inner {padding: 40px 44px; color: #fff;}
.page-pru .ds-inner h4 {font-size: var(--font-size-22); font-weight: 700; color: #FFE9B0; margin-bottom: 18px;}
.page-pru .ds-inner p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 14px;}
.page-pru .ds-inner p strong {color: #FFE9B0; font-weight: 700;}
.page-pru .ds-list {list-style: none; padding: 0; margin: 22px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;}
.page-pru .ds-list li {padding: 14px 16px; background: rgba(255,255,255,.08); border-radius: 10px; font-size: var(--font-size-14); line-height: 1.6em; color: rgba(255,255,255,.9);}
.page-pru .ds-list li strong {color: #FFE9B0;}
.page-pru .ds-link {display: inline-block; padding: 12px 26px; background: #FFE9B0; color: #1a2942; border-radius: 999px; font-size: var(--font-size-15); font-weight: 700; text-decoration: none; transition: .2s;}
.page-pru .ds-link:hover {background: #fff; transform: translateY(-2px);}

/* ⑧ 진료 절차 투명성 (공통 스펙) */
.page-pru .proc-steps {display: flex; flex-direction: column; gap: 14px; margin-bottom: 26px;}
.page-pru .proc-item {display: grid; grid-template-columns: 64px 1fr; gap: 22px; align-items: start; padding: 26px 30px; background: #fff; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.05); transition: .2s;}
.page-pru .proc-item:hover {box-shadow: 0 6px 18px rgba(125,28,30,.1);}
.page-pru .pi-num {font-size: 34px; font-weight: 800; color: var(--primary-color); line-height: 1; letter-spacing: -.03em; opacity: .85;}
.page-pru .pi-top {display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px; flex-wrap: wrap;}
.page-pru .pi-top h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin: 0;}
.page-pru .pi-time {padding: 3px 11px; background: #f2ece9; color: var(--primary-color); border-radius: 999px; font-size: 12px; font-weight: 700;}
.page-pru .pi-body p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.page-pru .pi-body strong {color: var(--dark-color); font-weight: 700;}
.page-pru .proc-note {padding: 22px 28px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.page-pru .proc-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.page-pru .proc-note strong {color: var(--primary-color);}

/* ⑨ 치료 3단계 */
.page-pru .treat-tiers {display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 30px;}
.page-pru .tier-card {padding: 32px 26px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5; transition: .25s;}
.page-pru .tier-card:hover {transform: translateY(-4px); box-shadow: 0 8px 22px rgba(0,0,0,.07);}
.page-pru .tier-card.tier-1 {border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.page-pru .tc-label {display: inline-block; padding: 4px 13px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: .06em; margin-bottom: 14px;}
.page-pru .tier-card.tier-1 .tc-label {background: var(--primary-color);}
.page-pru .tier-card h4 {font-size: var(--font-size-21); font-weight: 700; color: var(--dark-color); margin-bottom: 8px;}
.page-pru .tc-target {font-size: var(--font-size-13); color: var(--primary-color); font-weight: 600; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid #eee; line-height: 1.5em;}
.page-pru .tc-list {list-style: none; padding: 0; margin: 0;}
.page-pru .tc-list li {position: relative; padding-left: 18px; font-size: var(--font-size-14); line-height: 1.9em; color: #555; margin-bottom: 6px;}
.page-pru .tc-list li::before {content: ''; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; background: var(--primary-color); border-radius: 50%;}
.page-pru .tc-list strong {color: var(--dark-color); font-weight: 700;}
.page-pru .honest-box {padding: 32px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.page-pru .honest-box h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 14px;}
.page-pru .honest-box p {font-size: var(--font-size-15); line-height: 1.95em; color: #555; margin-bottom: 12px;}
.page-pru .honest-box p:last-child {margin-bottom: 0;}
.page-pru .honest-box strong {color: var(--primary-color); font-weight: 700;}

/* ⑩ ★ 세정 관리 O/X 대비 */
.pru-care {padding: 84px 0 !important; background: #fff;}
.pru-care .section-head {text-align: center; margin-bottom: 44px;}
.pru-care .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.pru-care .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.pru-care .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.pru-care .sh-desc strong {color: var(--primary-color);}
.pru-care .section-body {max-width: 960px; margin: 0 auto;}

.care-compare {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 26px;}
.cc-col {padding: 32px 30px; border-radius: 18px; border: 2px solid transparent;}
.cc-col.stop {border-color: #d4837e; background: linear-gradient(180deg, #fff 0%, #fdf5f4 100%);}
.cc-col.start {border-color: #7fb096; background: linear-gradient(180deg, #fff 0%, #f2f9f5 100%);}
.cc-head {display: flex; align-items: center; gap: 12px; margin-bottom: 22px;}
.cc-mark {display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; font-size: 16px; font-weight: 800; color: #fff;}
.cc-col.stop .cc-mark {background: #b8443f;}
.cc-col.start .cc-mark {background: #4d9370;}
.cc-title {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color);}
.cc-list {list-style: none; padding: 0; margin: 0;}
.cc-list li {position: relative; padding-left: 22px; font-size: var(--font-size-16); line-height: 2.05em; color: #444;}
.cc-list li strong {color: var(--dark-color); font-weight: 700;}
.cc-col.stop .cc-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: #b8443f; border-radius: 50%;}
.cc-col.start .cc-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 8px; height: 8px; background: #4d9370; border-radius: 50%;}

.care-extra {display: grid; grid-template-columns: 1fr 1fr; gap: 18px;}
.ce-item {display: grid; grid-template-columns: 54px 1fr; gap: 18px; align-items: start; padding: 26px 28px; background: #faf7f5; border-radius: 16px;}
.ce-icon {display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: #fff; color: var(--primary-color); border-radius: 50%;}
.ce-body h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.ce-body p {font-size: var(--font-size-14); line-height: 1.9em; color: #555; margin: 0;}
.ce-body strong {color: var(--primary-color); font-weight: 700;}

/* ⑪ 타임라인 · 회복 */
.page-pru .timeline {display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 30px;}
.page-pru .tl-item {text-align: center; padding: 24px 12px; background: #fff; border-radius: 12px; border: 1px solid #e5e5e5;}
.page-pru .tl-ico {display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: #faf5f4; color: var(--primary-color); border-radius: 50%; margin-bottom: 10px;}
.page-pru .tl-time {display: inline-block; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 12px; font-size: 11px; font-weight: 700; margin-bottom: 8px;}
.page-pru .tl-item h4 {font-size: 15px; font-weight: 700; color: var(--dark-color); margin-bottom: 6px;}
.page-pru .tl-item p {font-size: 12px; color: #888; line-height: 1.5em; margin: 0;}
.page-pru .recovery-box {padding: 34px 36px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.page-pru .recovery-box h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid #eee;}
.page-pru .rec-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-bottom: 18px;}
.page-pru .rec-item {display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: #faf7f5; border-radius: 10px; border-left: 3px solid var(--primary-color);}
.page-pru .ri-when {font-size: var(--font-size-17); font-weight: 800; color: var(--primary-color); letter-spacing: -.01em;}
.page-pru .ri-what {font-size: var(--font-size-14); color: #555; line-height: 1.5em;}
.page-pru .rec-note {font-size: var(--font-size-13); color: #888; line-height: 1.75em; margin: 0;}

/* 비용 */
.page-pru .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-pru .cost-info > p {font-size: var(--font-size-16); line-height: 1.9em; color: #444; margin-bottom: 20px;}
.page-pru .cost-info > p strong {color: var(--dark-color);}
.page-pru .cost-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 26px 0;}
.page-pru .cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.page-pru .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px;}
.page-pru .cost-tag.insurance {background: var(--primary-color); color: #fff;}
.page-pru .cost-tag.non-insurance {background: #888; color: #fff;}
.page-pru .cost-item p {font-size: var(--font-size-15); line-height: 1.75em; color: #444; margin: 0;}
.page-pru .cost-note {padding: 20px; background: #fff8ec; border-left: 4px solid #d9a441; border-radius: 4px; font-size: var(--font-size-14); color: #6d5320; line-height: 1.8em; margin: 0 !important;}

/* FAQ */
.pru-faq {display: flex; flex-direction: column; gap: 10px;}
.pru-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: .2s;}
.pru-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,.12);}
.pru-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.pru-faq .faq-q:hover {background: #faf7f6;}
.pru-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.pru-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.pru-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.pru-faq .q-arrow::before, .pru-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.pru-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.pru-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.pru-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.pru-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.pru-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.pru-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #555; padding-top: 6px;}
.pru-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장 노트 */
.pru-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.pru-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.pru-doctor-note .dn-photo img {display: block; width: 100%; height: auto; }
.pru-doctor-note .dn-content {position: relative;}
.pru-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: .4; line-height: 1; font-family: Georgia, serif;}
.pru-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.pru-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.95em; color: rgba(255,255,255,.9); margin-bottom: 18px;}
.pru-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.pru-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.pru-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2);}
.pru-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.pru-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,.65); margin-top: 6px;}

/* CTA */
.pru-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.pru-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 18px; letter-spacing: -.02em;}
.pru-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.85em; margin-bottom: 36px;}
.pru-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 30px;}
.pru-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.pru-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.pru-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.pru-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.pru-cta .cta-ico {display: inline-flex; align-items: center; justify-content: center;}
.pru-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.pru-cta .cta-label {font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.pru-cta .cta-value {font-size: 18px; font-weight: 700;}
.pru-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.pru-cta .cta-btn.cta-reserve:hover {color: #fff;}
.page-pru .cta-links {display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid #ebe0de;}
.page-pru .cta-links a {font-size: var(--font-size-15); color: var(--primary-color); font-weight: 600; text-decoration: none; transition: .2s;}
.page-pru .cta-links a:hover {text-decoration: underline;}

/* ========================================
   항문소양증 페이지 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .pru-hero {padding: 60px 0 !important;}
    .pru-section, .pru-paradox, .pru-cycle, .pru-differential, .pru-care, .pru-router {padding: 60px 0 !important;}
    .pru-router .router-grid {grid-template-columns: repeat(3, 1fr);}
    .pdx-visual {flex-direction: column; gap: 0;}
    .pv-arrow {flex: 0 0 30px; width: 100%; height: 30px;}
    .pv-arrow::after {transform: translate(-50%,-50%) rotate(135deg);}
    .pl-grid {grid-template-columns: 1fr;}
    .cyc-flow {grid-template-columns: repeat(3, 1fr); gap: 12px;}
    .cf-item::after {display: none;}
    .page-pru .cause-grid {grid-template-columns: repeat(2, 1fr);}
    .page-pru .diff-grid, .care-compare, .care-extra, .page-pru .cost-grid {grid-template-columns: 1fr;}
    .page-pru .treat-tiers {grid-template-columns: 1fr;}
    .page-pru .ds-list {grid-template-columns: 1fr;}
    .page-pru .timeline {grid-template-columns: repeat(3, 1fr);}
    .pru-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
    .pru-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;}
}

/* ========================================
   항문소양증 페이지 — 모바일
   PC와 다른 레이아웃 패턴 적용
   ======================================== */
@media (max-width: 640px) {

    /* 히어로 */
    .pru-hero {padding: 44px 0 !important;}
    .pru-hero .hero-title {font-size: 29px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .pru-hero .title-sub {font-size: 16px !important; display: block; margin: 6px 0 0 0 !important;}
    .pru-hero .hero-lead {font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .pru-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    /* 강점 카드 → 가로 3분할 */
    .pru-highlights {padding: 30px 0 !important;}
    .pru-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .pru-highlights .highlight-card {padding: 20px 8px; border-radius: 12px;}
    .pru-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
    .pru-highlights .hc-icon svg {width: 24px; height: 24px;}
    .pru-highlights .hc-title {font-size: 12.5px; margin-bottom: 6px; line-height: 1.35em;}
    .pru-highlights .hc-desc {font-size: 10.5px; line-height: 1.5em;}

    /* 라우터 → 가로 스크롤 칩 */
    .pru-router {padding: 36px 0 !important;}
    .pru-router .section-head {margin-bottom: 20px;}
    .pru-router .sh-badge {font-size: 10px; padding: 4px 14px; margin-bottom: 12px;}
    .pru-router .section-head h3 {font-size: 21px !important; margin-bottom: 8px !important;}
    .pru-router .sh-desc {font-size: 13px !important; line-height: 1.65em !important;}
    .pru-router .sh-desc br {display: none;}
    .pru-router .router-grid {display: flex !important; grid-template-columns: none !important; gap: 10px; overflow-x: auto; padding: 4px 20px 14px; margin: 0 -20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;}
    .pru-router .router-grid::-webkit-scrollbar {display: none;}
    .pru-router .router-item {flex: 0 0 200px; min-height: auto; padding: 18px; scroll-snap-align: start;}
    .pru-router .ri-symptom {font-size: 17px !important; margin-bottom: 7px !important;}
    .pru-router .ri-desc {font-size: 12px !important; margin-bottom: 12px !important;}
    .pru-router .ri-target {font-size: 12px !important; padding-top: 10px !important;}
    .pru-router .router-note {padding: 14px 18px !important;}
    .pru-router .router-note p {font-size: 12.5px !important; line-height: 1.75em !important;}

    /* ★ 역설 섹션 → 세로 흐름 + 리스트 단일 열 */
    .pru-paradox {padding: 44px 0 !important;}
    .pru-paradox .section-head {margin-bottom: 24px;}
    .pru-paradox .sh-badge {font-size: 10px; padding: 4px 14px;}
    .pru-paradox .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .pru-paradox .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .pdx-explain {margin-bottom: 22px !important;}
    .pv-step {flex-direction: row !important; align-items: center; gap: 14px !important; padding: 16px 18px !important; border-radius: 12px;}
    .pv-label {align-self: center !important; flex: 0 0 auto; font-size: 11px !important; padding: 3px 10px !important;}
    .pv-bar {flex: 0 0 44px; padding: 0 !important; gap: 2px !important;}
    .pv-bar i {height: 8px !important;}
    .pv-bar .layer-oil {height: 6px !important;}
    .pv-bar .layer-skin {height: 14px !important;}
    .pv-step p {flex: 1; font-size: 12.5px !important; line-height: 1.75em !important;}
    .pv-arrow {flex: 0 0 22px !important; height: 22px;}
    .pdx-list {padding: 22px 20px !important; border-width: 1px !important; border-radius: 14px; margin-bottom: 18px !important;}
    .pdx-list h4 {font-size: 16.5px !important; margin-bottom: 14px !important;}
    .pl-grid {gap: 12px !important;}
    .pl-item {grid-template-columns: 22px 1fr !important; gap: 10px !important;}
    .pl-mark {width: 20px !important; height: 20px !important; font-size: 11px !important;}
    .pl-item strong {font-size: 13.5px !important;}
    .pl-item span {font-size: 12px !important;}
    .pdx-note {padding: 18px 20px !important; border-left-width: 4px !important;}
    .pdx-note p {font-size: 13px !important; line-height: 1.9em !important;}

    /* ★ 가려움 악순환 → 세로 + 아래 화살표 */
    .pru-cycle {padding: 44px 0 !important;}
    .pru-cycle .section-head {margin-bottom: 24px;}
    .pru-cycle .sh-badge {font-size: 10px; padding: 4px 14px;}
    .pru-cycle .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .pru-cycle .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .cyc-flow {grid-template-columns: 1fr !important; gap: 22px !important;}
    .cf-item {flex-direction: row !important; align-items: center; gap: 14px !important; padding: 14px 18px !important; text-align: left !important; border-radius: 12px;}
    .cf-item::after {display: block !important; top: auto !important; bottom: -17px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) rotate(135deg) !important;}
    .cf-item:last-child::after {display: none !important;}
    .cf-num {flex: 0 0 24px; width: 24px !important; height: 24px !important; line-height: 24px !important; margin: 0 !important; font-size: 11px !important;}
    .cf-title {flex: 1; font-size: 15px !important;}
    .cf-desc {flex: 0 0 auto; font-size: 11.5px !important; text-align: right;}
    .cyc-loop {gap: 10px !important; margin: 26px 0 20px !important; padding: 14px 18px !important;}
    .cl-ico {width: 28px !important; height: 28px !important; flex: 0 0 28px !important;}
    .cl-ico svg {width: 16px !important; height: 16px !important;}
    .cyc-loop p {font-size: 13px !important; line-height: 1.65em !important;}
    .cyc-night {grid-template-columns: 1fr !important; gap: 14px !important; padding: 22px 20px !important; border-radius: 14px; border-left-width: 4px !important;}
    .cn-icon {width: 44px !important; height: 44px !important;}
    .cn-icon svg {width: 22px !important; height: 22px !important;}
    .cn-body h4 {font-size: 16.5px !important; margin-bottom: 10px !important;}
    .cn-body p {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* 섹션 헤드 */
    .pru-section {padding: 44px 0 !important;}
    .pru-section .section-head {margin-bottom: 26px;}
    .pru-section .sh-num {font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .pru-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important; margin-bottom: 10px !important;}
    .pru-section .sh-desc {font-size: 13.5px !important; line-height: 1.7em !important;}
    .pru-section .section-body > p {font-size: 14.5px !important; line-height: 1.9em !important;}

    /* 원인 → 2열 유지 */
    .page-pru .cause-grid {grid-template-columns: repeat(2, 1fr) !important; gap: 10px; margin-bottom: 22px !important;}
    .page-pru .cause-item {padding: 20px 12px !important; border-radius: 12px;}
    .ci-tag {font-size: 9.5px !important; padding: 2px 9px !important; top: -8px;}
    .ci-icon {width: 40px !important; height: 40px !important; margin-bottom: 9px !important;}
    .ci-icon svg {width: 20px !important; height: 20px !important;}
    .page-pru .cause-item h4 {font-size: 13.5px !important; margin-bottom: 6px !important;}
    .page-pru .cause-item p {font-size: 11.5px !important; line-height: 1.6em !important;}
    .warn-box {grid-template-columns: 26px 1fr !important; gap: 12px !important; padding: 18px 20px !important; border-left-width: 4px !important;}
    .wb-mark {width: 24px !important; height: 24px !important;}
    .wb-mark svg {width: 13px !important; height: 13px !important;}
    .warn-box div {font-size: 13px !important; line-height: 1.9em !important;}
    .warn-box strong {font-size: 14px !important;}

    /* 감별 */
    .pru-differential {padding: 44px 0 !important;}
    .pru-differential .section-head {margin-bottom: 24px;}
    .pru-differential .sh-badge {font-size: 10px; padding: 4px 14px;}
    .pru-differential .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .pru-differential .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .page-pru .diff-grid {gap: 12px !important; margin-bottom: 20px !important;}
    .page-pru .diff-card {padding: 22px 20px !important; border-radius: 14px; border-width: 1px !important;}
    .page-pru .diff-badge {padding: 6px 14px !important; margin-bottom: 16px !important;}
    .page-pru .db-icon {width: 18px !important; height: 18px !important;}
    .page-pru .db-icon svg {width: 12px !important; height: 12px !important;}
    .page-pru .db-text {font-size: 12.5px !important;}
    .page-pru .diff-list li {font-size: 14px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .page-pru .diff-list li::before {top: 12px; width: 6px !important; height: 6px !important;}
    .page-pru .ds-inner {padding: 26px 22px !important;}
    .page-pru .ds-inner h4 {font-size: 17px !important; margin-bottom: 14px !important;}
    .page-pru .ds-inner p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-pru .ds-list {grid-template-columns: 1fr !important; gap: 8px !important; margin: 18px 0 !important;}
    .page-pru .ds-list li {padding: 11px 14px !important; font-size: 13px !important;}
    .page-pru .ds-link {padding: 11px 22px !important; font-size: 13.5px !important;}

    /* ★ 진료 절차 → 세로 타임라인 */
    .page-pru .proc-steps {gap: 0 !important; position: relative; padding-left: 26px; margin-bottom: 20px !important;}
    .page-pru .proc-steps::before {content: ''; position: absolute; left: 9px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(to bottom, var(--primary-color), rgba(125,28,30,.18));}
    .page-pru .proc-item {display: block !important; padding: 0 0 26px 0 !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; position: relative;}
    .page-pru .proc-item:last-child {padding-bottom: 0 !important;}
    .page-pru .proc-item:hover {box-shadow: none !important;}
    .page-pru .proc-item::before {content: ''; position: absolute; left: -26px; top: 3px; width: 18px; height: 18px; background: var(--primary-color); border: 3px solid #faf7f5; border-radius: 50%; box-shadow: 0 0 0 2px var(--primary-color);}
    .page-pru .pi-num {display: none !important;}
    .page-pru .pi-top {margin-bottom: 7px !important; gap: 10px !important;}
    .page-pru .pi-top h4 {font-size: 16px !important;}
    .page-pru .pi-time {font-size: 11px !important; padding: 2px 9px !important;}
    .page-pru .pi-body p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-pru .proc-note {padding: 16px 18px !important;}
    .page-pru .proc-note p {font-size: 13px !important; line-height: 1.85em !important;}

    /* ★ 치료 3단계 → 박스 벗기고 흐름 */
    .page-pru .treat-tiers {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 22px !important;}
    .page-pru .tier-card {padding: 22px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e8e3de !important;}
    .page-pru .tier-card:last-child {border-bottom: none !important;}
    .page-pru .tier-card:hover {transform: none !important; box-shadow: none !important;}
    .page-pru .tc-label {padding: 3px 11px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-pru .tier-card h4 {font-size: 18px !important; margin-bottom: 6px !important;}
    .page-pru .tc-target {font-size: 12px !important; margin-bottom: 14px !important; padding-bottom: 10px !important;}
    .page-pru .tc-list li {font-size: 13.5px !important; line-height: 1.9em !important; margin-bottom: 4px !important;}
    .page-pru .honest-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .page-pru .honest-box h4 {font-size: 16px !important; margin-bottom: 12px !important;}
    .page-pru .honest-box p {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* ★ 세정 관리 O/X → 상하 배치 */
    .pru-care {padding: 44px 0 !important;}
    .pru-care .section-head {margin-bottom: 24px;}
    .pru-care .sh-badge {font-size: 10px; padding: 4px 14px;}
    .pru-care .section-head h3 {font-size: 22px !important; margin-bottom: 10px !important;}
    .pru-care .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .care-compare {gap: 12px !important; margin-bottom: 18px !important;}
    .cc-col {padding: 22px 20px !important; border-radius: 14px; border-width: 1px !important;}
    .cc-head {margin-bottom: 14px !important; gap: 10px !important;}
    .cc-mark {width: 26px !important; height: 26px !important; font-size: 13px !important;}
    .cc-title {font-size: 16px !important;}
    .cc-list li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .cc-list li::before {top: 12px; width: 6px !important; height: 6px !important;}
    .care-extra {gap: 10px !important;}
    .ce-item {grid-template-columns: 42px 1fr !important; gap: 14px !important; padding: 18px 20px !important; border-radius: 12px;}
    .ce-icon {width: 38px !important; height: 38px !important;}
    .ce-icon svg {width: 20px !important; height: 20px !important;}
    .ce-body h4 {font-size: 15.5px !important; margin-bottom: 8px !important;}
    .ce-body p {font-size: 13px !important; line-height: 1.9em !important;}

    /* 타임라인 → 좌측 라인 리스트 */
    .page-pru .timeline {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 22px !important;}
    .page-pru .tl-item {text-align: left !important; padding: 14px 0 14px 18px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px; display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: center;}
    .page-pru .tl-item:last-child {border-bottom: none !important;}
    .page-pru .tl-ico {width: 36px !important; height: 36px !important; margin-bottom: 0 !important;}
    .page-pru .tl-ico svg {width: 18px !important; height: 18px !important;}
    .page-pru .tl-time {padding: 2px 9px !important; font-size: 10.5px !important; margin-bottom: 0 !important; grid-column: 2; justify-self: start; width: fit-content;}
    .page-pru .tl-item h4 {font-size: 14px !important; margin-bottom: 2px !important; grid-column: 2;}
    .page-pru .tl-item p {font-size: 11.5px !important; margin: 0 !important; grid-column: 2;}

    /* 회복 박스 */
    .page-pru .recovery-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .page-pru .recovery-box h4 {font-size: 16px !important; margin-bottom: 14px !important; padding-bottom: 10px !important;}
    .page-pru .rec-grid {grid-template-columns: 1fr !important; gap: 8px !important; margin-bottom: 14px !important;}
    .page-pru .rec-item {flex-direction: row !important; align-items: center; gap: 12px !important; padding: 12px 14px !important; border-left-width: 2px !important;}
    .page-pru .ri-when {flex: 0 0 72px; font-size: 13px !important;}
    .page-pru .ri-what {flex: 1; font-size: 12px !important; line-height: 1.5em !important;}
    .page-pru .rec-note {font-size: 11.5px !important;}

    /* 비용 */
    .page-pru .cost-info {padding: 22px 20px !important; border-radius: 12px;}
    .page-pru .cost-info > p {font-size: 14px !important; line-height: 1.9em !important;}
    .page-pru .cost-grid {gap: 12px !important; margin: 20px 0 !important;}
    .page-pru .cost-item {padding: 18px !important;}
    .page-pru .cost-tag {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-pru .cost-item p {font-size: 13px !important;}
    .page-pru .cost-note {padding: 14px 16px !important; font-size: 12.5px !important;}

    /* FAQ */
    .pru-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
    .pru-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .pru-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
    .pru-faq .faq-a {padding: 0 18px 20px 18px !important;}
    .pru-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .pru-faq .a-txt {font-size: 13px !important; line-height: 1.9em !important;}

    /* 원장 노트 */
    .pru-doctor-note {padding: 50px 0 !important;}
    .pru-doctor-note .doctor-note-inner {gap: 24px !important;}
    .pru-doctor-note .dn-photo {max-width: 150px !important;}
    .pru-doctor-note .dn-content {text-align: left;}
    .pru-doctor-note .dn-quote-mark {font-size: 60px !important; top: -32px !important; left: -4px !important;}
    .pru-doctor-note .dn-quote p {font-size: 13.5px !important; line-height: 1.95em !important; margin-bottom: 14px;}
    .pru-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
    .pru-doctor-note .dn-signature strong {font-size: 17px !important;}
    .pru-doctor-note .dn-signature span {font-size: 12px !important;}

    /* CTA */
    .pru-cta {padding: 50px 0 !important;}
    .pru-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
    .pru-cta > .contain > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 24px !important;}
    .pru-cta .cta-buttons {flex-direction: column; gap: 10px; margin-bottom: 22px;}
    .pru-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .pru-cta .cta-label {font-size: 11px;}
    .pru-cta .cta-value {font-size: 16px;}
    .page-pru .cta-links {gap: 16px; padding-top: 20px;}
    .page-pru .cta-links a {font-size: 12.5px;}
}

@media (max-width: 380px) {
    .pru-hero .hero-title {font-size: 26px !important;}
    .pru-highlights .highlight-cards {gap: 6px;}
    .pru-highlights .highlight-card {padding: 16px 4px;}
    .pru-highlights .hc-title {font-size: 11.5px;}
    .pru-highlights .hc-desc {font-size: 10px;}
    .pru-router .router-item {flex: 0 0 178px;}
    .cf-desc {display: none;}
}

/* ========================================
   콘딜로마 페이지 (page-con)
   정보 제공 중심 · 축소판 구성
   ======================================== */
.page-con section {padding: 0;}
.page-con .contain {padding-top: 0; padding-bottom: 0;}

/* ① 히어로 — 가장 중립적인 톤 */
.con-hero {background: linear-gradient(135deg, #f3f3f4 0%, #e7e7ea 100%); padding: 76px 0 !important;}
.con-hero-inner {max-width: 880px; margin: 0 auto; text-align: center;}
.con-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.con-hero .hero-title {font-size: clamp(32px, calc(56 / var(--inner) * 100vw), 56px); font-weight: 800; color: var(--dark-color); line-height: 1.15em; margin-bottom: 26px; letter-spacing: -.03em;}
.con-hero .title-sub {font-size: .48em; font-weight: 600; color: #7c7c82; margin-left: 10px; letter-spacing: -.01em;}
.con-hero .hero-lead {font-size: var(--font-size-17); line-height: 1.95em; color: #47474d;}
.con-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* ② ★ 프라이버시 박스 */
.con-privacy {padding: 50px 0 !important; background: #fff;}
.privacy-box {max-width: 940px; margin: 0 auto; padding: 34px 38px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; color: #fff;}
.pb-head {display: flex; align-items: center; gap: 14px; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.18);}
.pb-icon {display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; background: rgba(255,233,176,.15); color: #FFE9B0; border-radius: 50%; flex: 0 0 42px;}
.pb-head h3 {font-size: var(--font-size-22); font-weight: 700; color: #FFE9B0; margin: 0; letter-spacing: -.01em;}
.pb-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 18px;}
.pb-item {display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: rgba(255,255,255,.07); border-radius: 12px;}
.pb-item strong {font-size: var(--font-size-16); color: #fff; font-weight: 700; line-height: 1.5em;}
.pb-item span {font-size: var(--font-size-14); color: rgba(255,255,255,.72); line-height: 1.7em;}

/* ③ 라우터 (공통 스펙) */
.con-router {padding: 62px 0 !important; background: linear-gradient(180deg, #fbf9f6 0%, #f5f1eb 100%); border-top: 1px solid #ece7df; border-bottom: 1px solid #ece7df;}
.con-router .section-head {text-align: center; margin-bottom: 36px;}
.con-router .sh-badge {display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.con-router .section-head h3 {font-size: clamp(23px, calc(34 / var(--inner) * 100vw), 34px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.con-router .sh-desc {font-size: var(--font-size-16); color: #6a655c; line-height: 1.7em;}
.con-router .section-body {max-width: 1080px; margin: 0 auto;}

/* 공통 섹션 */
.con-section {padding: 70px 0 !important; background: #fff;}
.con-section.section-alt {background: #faf7f5;}
.con-section .section-head {text-align: center; margin-bottom: 42px;}
.con-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.con-section .section-head h3 {font-size: clamp(23px, calc(35 / var(--inner) * 100vw), 35px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -.02em; margin-bottom: 12px;}
.con-section .sh-desc {font-size: var(--font-size-15); color: #666; line-height: 1.75em;}
.con-section .section-body {max-width: 940px; margin: 0 auto;}
.con-section .section-body > p {font-size: var(--font-size-16); line-height: 1.95em; color: #444; margin-bottom: 20px;}
.con-section .section-body > p strong {color: var(--dark-color); font-weight: 700;}

/* info-grid */
.page-con .info-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 26px 0;}
.page-con .info-box {padding: 28px; background: #faf5f4; border-radius: 16px;}
.page-con .info-box h4 {font-size: var(--font-size-17); font-weight: 700; color: var(--primary-color); margin-bottom: 14px;}
.page-con .check-list {list-style: none; padding: 0; margin: 0;}
.page-con .check-list li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.page-con .check-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: var(--primary-color); border-radius: 50%;}
.page-con .note-box {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 26px 0 0;}
.page-con .note-box strong {display: block; color: var(--primary-color); margin-bottom: 8px; font-size: 16px;}
.page-con .note-box strong + * {display: inline;}

/* 감염 시점 강조 박스 */
.key-note {display: grid; grid-template-columns: 60px 1fr; gap: 20px; align-items: start; padding: 28px 32px; background: #fff; border-radius: 16px; border-left: 5px solid #5d6a85; margin-top: 26px;}
.kn-icon {display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; background: #eef0f5; color: #5d6a85; border-radius: 50%;}
.kn-body h4 {font-size: var(--font-size-19); font-weight: 700; color: #3d4a63; margin-bottom: 12px;}
.kn-body p {font-size: var(--font-size-15); line-height: 1.95em; color: #555; margin-bottom: 10px;}
.kn-body p:last-child {margin-bottom: 0;}
.kn-body strong {color: #3d4a63; font-weight: 700;}

/* ⑤ 증상 리스트 */
.sym-list {display: flex; flex-direction: column; gap: 12px; margin-bottom: 30px;}
.sl-item {display: grid; grid-template-columns: 22px 1fr; gap: 16px; align-items: start; padding: 20px 24px; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.04);}
.sl-mark {width: 12px; height: 12px; margin-top: 7px; background: var(--primary-color); border-radius: 50%;}
.sl-item strong {display: block; font-size: var(--font-size-16); color: var(--dark-color); font-weight: 700; margin-bottom: 5px;}
.sl-item span {display: block; font-size: var(--font-size-14); color: #777; line-height: 1.8em;}

.diag-box {padding: 30px 34px; background: #fff; border-radius: 16px; border: 2px solid var(--dark-color);}
.diag-box h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 20px;}
.page-con .db-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;}
.page-con .db-item {display: flex; flex-direction: column; gap: 7px; padding: 20px; background: #faf7f5; border-radius: 12px;}
.dbi-num {display: inline-block; align-self: flex-start; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 4px; font-size: 11px; font-weight: 700;}
.page-con .db-item strong {font-size: var(--font-size-16); color: var(--dark-color); font-weight: 700;}
.page-con .db-item span {font-size: var(--font-size-13); color: #777; line-height: 1.7em;}

/* ⑥ 치료 방법 */
.treat-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px;}
.tg-item {padding: 28px 26px; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px; transition: .22s;}
.tg-item:hover {border-color: var(--primary-color); box-shadow: 0 6px 18px rgba(125,28,30,.07);}
.tg-item h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--primary-color); margin-bottom: 12px;}
.tg-item p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}

/* ⑦ 재발 · 백신 */
.recur-box {padding: 30px 34px; background: #fff; border-radius: 16px; border-left: 5px solid var(--primary-color); margin-bottom: 20px;}
.recur-box h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--primary-color); margin-bottom: 14px;}
.recur-box p {font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin-bottom: 12px;}
.recur-box p:last-child {margin-bottom: 0;}
.recur-box strong {color: var(--dark-color); font-weight: 700;}

.vac-box {padding: 30px 34px; background: #fff; border-radius: 16px; border: 2px solid #7fb096;}
.vb-head {display: flex; align-items: center; gap: 12px; margin-bottom: 18px;}
.vb-icon {display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; background: #eaf5ef; color: #4d9370; border-radius: 50%; flex: 0 0 38px;}
.vb-head h4 {font-size: var(--font-size-19); font-weight: 700; color: #2f6a4a; margin: 0;}
.vb-list {list-style: none; padding: 0; margin: 0;}
.vb-list li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.vb-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: #4d9370; border-radius: 50%;}
.vb-list strong {color: var(--dark-color); font-weight: 700;}

/* ⑧ 함께 확인 */
.together-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;}
.tg-card {padding: 28px 24px; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px;}
.tg-card h4 {font-size: var(--font-size-17); font-weight: 700; color: var(--dark-color); margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0;}
.tg-card p {font-size: var(--font-size-14); line-height: 1.9em; color: #666; margin: 0;}

/* FAQ */
.con-faq {display: flex; flex-direction: column; gap: 10px;}
.con-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: .2s;}
.con-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,.12);}
.con-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.con-faq .faq-q:hover {background: #faf7f6;}
.con-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.con-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.con-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.con-faq .q-arrow::before, .con-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.con-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.con-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.con-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.con-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.con-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.con-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #555; padding-top: 6px;}
.con-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* CTA */
.con-cta {padding: 70px 0 !important; background: #faf5f4; text-align: center;}
.con-cta h3 {font-size: clamp(23px, calc(34 / var(--inner) * 100vw), 34px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 18px; letter-spacing: -.02em;}
.con-cta > .contain > p {font-size: var(--font-size-15); color: #666; line-height: 1.85em; margin-bottom: 32px;}
.con-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 28px;}
.con-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.con-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.con-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.con-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.con-cta .cta-ico {display: inline-flex; align-items: center; justify-content: center;}
.con-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.con-cta .cta-label {font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.con-cta .cta-value {font-size: 18px; font-weight: 700;}
.con-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.con-cta .cta-btn.cta-reserve:hover {color: #fff;}
.page-con .cta-links {display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid #ebe0de;}
.page-con .cta-links a {font-size: var(--font-size-15); color: var(--primary-color); font-weight: 600; text-decoration: none; transition: .2s;}
.page-con .cta-links a:hover {text-decoration: underline;}

/* ========================================
   콘딜로마 페이지 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .con-hero {padding: 56px 0 !important;}
    .con-section, .con-router {padding: 54px 0 !important;}
    .con-privacy {padding: 40px 0 !important;}
    .pb-grid {grid-template-columns: 1fr;}
    .con-router .router-grid {grid-template-columns: repeat(3, 1fr);}
    .page-con .info-grid {grid-template-columns: 1fr;}
    .page-con .db-grid {grid-template-columns: 1fr;}
    .treat-grid {grid-template-columns: 1fr;}
    .together-grid {grid-template-columns: 1fr;}
}

/* ========================================
   콘딜로마 페이지 — 모바일
   ======================================== */
@media (max-width: 640px) {

    /* 히어로 */
    .con-hero {padding: 40px 0 !important;}
    .con-hero .hero-title {font-size: 27px !important; line-height: 1.28em !important; margin-bottom: 18px !important;}
    .con-hero .title-sub {font-size: 15px !important; display: block; margin: 6px 0 0 0 !important;}
    .con-hero .hero-lead {font-size: 14.5px !important; line-height: 1.95em !important; text-align: left;}
    .con-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 14px !important;}

    /* 프라이버시 박스 */
    .con-privacy {padding: 30px 0 !important;}
    .privacy-box {padding: 24px 20px !important; border-radius: 14px;}
    .pb-head {gap: 12px !important; margin-bottom: 18px !important; padding-bottom: 14px !important;}
    .pb-icon {width: 34px !important; height: 34px !important; flex: 0 0 34px !important;}
    .pb-icon svg {width: 18px !important; height: 18px !important;}
    .pb-head h3 {font-size: 17.5px !important;}
    .pb-grid {gap: 10px !important;}
    .pb-item {padding: 14px 16px !important; gap: 4px !important;}
    .pb-item strong {font-size: 14px !important;}
    .pb-item span {font-size: 12.5px !important; line-height: 1.7em !important;}

    /* 라우터 → 가로 스크롤 칩 */
    .con-router {padding: 34px 0 !important;}
    .con-router .section-head {margin-bottom: 18px;}
    .con-router .sh-badge {font-size: 10px; padding: 4px 14px; margin-bottom: 12px;}
    .con-router .section-head h3 {font-size: 20px !important; margin-bottom: 8px !important;}
    .con-router .sh-desc {font-size: 12.5px !important; line-height: 1.65em !important;}
    .con-router .router-grid {display: flex !important; grid-template-columns: none !important; gap: 10px; overflow-x: auto; padding: 4px 20px 14px; margin: 0 -20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;}
    .con-router .router-grid::-webkit-scrollbar {display: none;}
    .con-router .router-item {flex: 0 0 190px; min-height: auto; padding: 17px; scroll-snap-align: start;}
    .con-router .ri-symptom {font-size: 16.5px !important; margin-bottom: 7px !important;}
    .con-router .ri-desc {font-size: 12px !important; margin-bottom: 12px !important;}
    .con-router .ri-target {font-size: 12px !important; padding-top: 10px !important;}
    .con-router .router-note {padding: 14px 18px !important;}
    .con-router .router-note p {font-size: 12.5px !important; line-height: 1.75em !important;}

    /* 섹션 헤드 */
    .con-section {padding: 40px 0 !important;}
    .con-section .section-head {margin-bottom: 24px;}
    .con-section .sh-num {font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .con-section .section-head h3 {font-size: 21px !important; line-height: 1.35em !important; margin-bottom: 10px !important;}
    .con-section .sh-desc {font-size: 13px !important; line-height: 1.7em !important;}
    .con-section .section-body > p {font-size: 14px !important; line-height: 1.9em !important;}

    /* info-grid */
    .page-con .info-grid {gap: 12px !important; margin: 20px 0 !important;}
    .page-con .info-box {padding: 20px !important; border-radius: 12px;}
    .page-con .info-box h4 {font-size: 15.5px !important; margin-bottom: 12px !important;}
    .page-con .check-list li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .page-con .check-list li::before {top: 13px; width: 6px !important; height: 6px !important;}
    .page-con .note-box {padding: 18px 20px !important; font-size: 13.5px !important; line-height: 1.9em !important; margin-top: 20px !important;}
    .page-con .note-box strong {font-size: 14px !important;}

    /* 감염 시점 박스 → 세로 */
    .key-note {grid-template-columns: 1fr !important; gap: 14px !important; padding: 22px 20px !important; border-radius: 14px; border-left-width: 4px !important; margin-top: 20px !important;}
    .kn-icon {width: 40px !important; height: 40px !important;}
    .kn-icon svg {width: 20px !important; height: 20px !important;}
    .kn-body h4 {font-size: 16px !important; margin-bottom: 10px !important;}
    .kn-body p {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* ★ 증상 → 좌측 라인 흐름 (박스 벗김) */
    .sym-list {gap: 0 !important; margin-bottom: 22px !important;}
    .sl-item {grid-template-columns: 16px 1fr !important; gap: 12px !important; padding: 16px 0 16px 16px !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 4px;}
    .sl-item:last-child {border-bottom: none !important;}
    .sl-mark {width: 9px !important; height: 9px !important; margin-top: 6px !important;}
    .sl-item strong {font-size: 14.5px !important; margin-bottom: 4px !important;}
    .sl-item span {font-size: 12.5px !important; line-height: 1.8em !important;}

    /* 진단 박스 */
    .diag-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .diag-box h4 {font-size: 16px !important; margin-bottom: 14px !important;}
    .page-con .db-grid {gap: 10px !important;}
    .page-con .db-item {padding: 16px !important; gap: 6px !important;}
    .dbi-num {font-size: 10.5px !important; padding: 2px 9px !important;}
    .page-con .db-item strong {font-size: 14.5px !important;}
    .page-con .db-item span {font-size: 12.5px !important;}

    /* ★ 치료 4가지 → 박스 벗기고 흐름 */
    .treat-grid {gap: 0 !important;}
    .tg-item {padding: 20px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e8e3de !important;}
    .tg-item:last-child {border-bottom: none !important;}
    .tg-item:hover {box-shadow: none !important;}
    .tg-item h4 {font-size: 16.5px !important; margin-bottom: 8px !important;}
    .tg-item p {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* 재발 · 백신 */
    .recur-box {padding: 22px 20px !important; border-radius: 12px; border-left-width: 4px !important; margin-bottom: 14px !important;}
    .recur-box h4 {font-size: 16px !important; margin-bottom: 12px !important;}
    .recur-box p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .vac-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .vb-head {gap: 10px !important; margin-bottom: 14px !important;}
    .vb-icon {width: 32px !important; height: 32px !important; flex: 0 0 32px !important;}
    .vb-icon svg {width: 17px !important; height: 17px !important;}
    .vb-head h4 {font-size: 16px !important;}
    .vb-list li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .vb-list li::before {top: 13px; width: 6px !important; height: 6px !important;}

    /* 함께 확인 → 세로 */
    .together-grid {gap: 10px !important;}
    .tg-card {padding: 20px 18px !important; border-radius: 12px;}
    .tg-card h4 {font-size: 15.5px !important; margin-bottom: 10px !important; padding-bottom: 10px !important;}
    .tg-card p {font-size: 13px !important; line-height: 1.9em !important;}

    /* FAQ */
    .con-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
    .con-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .con-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
    .con-faq .faq-a {padding: 0 18px 20px 18px !important;}
    .con-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .con-faq .a-txt {font-size: 13px !important; line-height: 1.9em !important;}

    /* CTA */
    .con-cta {padding: 44px 0 !important;}
    .con-cta h3 {font-size: 21px !important; margin-bottom: 12px !important;}
    .con-cta > .contain > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 22px !important;}
    .con-cta .cta-buttons {flex-direction: column; gap: 10px; margin-bottom: 20px;}
    .con-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .con-cta .cta-label {font-size: 11px;}
    .con-cta .cta-value {font-size: 16px;}
    .page-con .cta-links {gap: 18px; padding-top: 18px;}
    .page-con .cta-links a {font-size: 12.5px;}
}

@media (max-width: 380px) {
    .con-hero .hero-title {font-size: 24px !important;}
    .con-router .router-item {flex: 0 0 172px;}
}

/* ========================================
   대장내시경 페이지 (page-colo)
   건강검진 카테고리 앵커 — 이후 검진 페이지가 이 구조 계승
   ======================================== */
.page-colo section {padding: 0;}
.page-colo .contain {padding-top: 0; padding-bottom: 0;}

/* ① 히어로 — 밝고 맑은 톤 (검진 = 예방) */
.colo-hero {background: linear-gradient(135deg, #f0f5f7 0%, #dfe9ee 100%); padding: 80px 0 !important;}
.colo-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.colo-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.colo-hero .hero-title {font-size: clamp(38px, calc(64 / var(--inner) * 100vw), 64px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.colo-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.95em; color: #42484c;}
.colo-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* ② 강점 카드 */
.colo-highlights {padding: 60px 0 !important; background: #fff;}
.colo-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 940px; margin: 0 auto;}
.colo-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.colo-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,.1); transform: translateY(-4px);}
.colo-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.colo-highlights .hc-title {font-size: var(--font-size-22); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.35em;}
.colo-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* ③ 검사 선택 라우터 */
.colo-router {padding: 70px 0 !important; background: linear-gradient(180deg, #fbf9f6 0%, #f5f1eb 100%); border-top: 1px solid #ece7df; border-bottom: 1px solid #ece7df;}
.colo-router .section-head {text-align: center; margin-bottom: 40px;}
.colo-router .sh-badge {display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.colo-router .section-head h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.colo-router .sh-desc {font-size: var(--font-size-16); color: #6a655c; line-height: 1.7em;}
.colo-router .sh-desc strong {color: var(--primary-color);}
.colo-router .section-body {max-width: 1080px; margin: 0 auto;}
.page-colo .router-grid {display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 24px;}
.page-colo .router-item {display: flex; flex-direction: column; padding: 24px 18px; background: #fff; border: 1px solid #e5e0d8; border-radius: 14px; text-decoration: none; transition: .22s; min-height: 160px;}
.page-colo .router-item:hover {border-color: var(--primary-color); box-shadow: 0 8px 20px rgba(125,28,30,.1); transform: translateY(-3px);}
.page-colo .router-item.is-current {background: var(--primary-color); border-color: var(--primary-color);}
.page-colo .ri-when {font-size: var(--font-size-16); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.45em; letter-spacing: -.01em;}
.page-colo .router-item.is-current .ri-when {color: #fff;}
.page-colo .ri-desc {flex: 1; font-size: var(--font-size-13); color: #8a8578; line-height: 1.65em; margin-bottom: 14px;}
.page-colo .router-item.is-current .ri-desc {color: rgba(255,255,255,.75);}
.page-colo .ri-target {font-size: var(--font-size-13); font-weight: 700; color: var(--primary-color); padding-top: 12px; border-top: 1px solid #efeae2;}
.page-colo .ri-target em {font-style: normal; font-weight: 400; color: #b0aa9e;}
.page-colo .router-item.is-current .ri-target {color: #FFE9B0; border-top-color: rgba(255,255,255,.25);}
.page-colo .router-item.is-current .ri-target em {color: rgba(255,255,255,.6);}
.page-colo .router-note {padding: 18px 26px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.page-colo .router-note p {font-size: var(--font-size-14); line-height: 1.8em; color: #5a564e; margin: 0;}
.page-colo .router-note strong {color: var(--primary-color);}

/* ④ ★ 검사한 사람이 설명합니다 */
.colo-flow {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f4f7f8 100%);}
.colo-flow .section-head {text-align: center; margin-bottom: 44px;}
.colo-flow .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.colo-flow .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.colo-flow .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.colo-flow .sh-desc strong {color: var(--primary-color);}
.colo-flow .section-body {max-width: 960px; margin: 0 auto;}

.flow-steps {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 26px;}
.fs-item {position: relative; padding: 30px 26px; background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.05);}
.fs-item::after {content: ''; position: absolute; top: 50%; right: -15px; transform: translateY(-50%) rotate(45deg); width: 10px; height: 10px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color); z-index: 2;}
.fs-item:last-child::after {display: none;}
.fs-num {display: inline-block; font-size: 13px; font-weight: 800; color: #fff; background: var(--primary-color); padding: 3px 12px; border-radius: 4px; margin-bottom: 14px;}
.fs-item h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.fs-item p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.fs-item strong {color: var(--primary-color); font-weight: 700;}

.flow-why {display: grid; grid-template-columns: 66px 1fr; gap: 22px; align-items: start; padding: 32px 36px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; color: #fff;}
.fw-icon {display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; background: rgba(255,233,176,.15); color: #FFE9B0; border-radius: 50%;}
.fw-body h4 {font-size: var(--font-size-21); font-weight: 700; color: #FFE9B0; margin-bottom: 14px;}
.fw-body p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 12px;}
.fw-body p:last-child {margin-bottom: 0;}
.fw-body strong {color: #FFE9B0; font-weight: 700;}

/* 공통 섹션 */
.colo-section {padding: 80px 0 !important; background: #fff;}
.colo-section.section-alt {background: #faf7f5;}
.colo-section .section-head {text-align: center; margin-bottom: 50px;}
.colo-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.colo-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -.02em; margin-bottom: 12px;}
.colo-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.75em;}
.colo-section .sh-desc strong {color: var(--primary-color);}
.colo-section .section-body {max-width: 960px; margin: 0 auto;}
.colo-section .section-body > p {font-size: var(--font-size-16); line-height: 1.95em; color: #444; margin-bottom: 20px;}
.colo-section .section-body > p strong {color: var(--dark-color); font-weight: 700;}
.page-colo .note-box {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 26px 0 0;}
.page-colo .note-box strong {display: block; color: var(--primary-color); margin-bottom: 8px; font-size: 16px;}
.page-colo .note-box strong + * {display: inline;}

/* ⑤ 언제 받아야 하나 */
.when-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 28px;}
.when-card {position: relative; padding: 28px 22px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5; transition: .22s;}
.when-card:hover {transform: translateY(-3px); box-shadow: 0 8px 18px rgba(0,0,0,.06);}
.when-card.base {border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.when-card.now {border-color: #b8443f;}
.wc-tag {display: inline-block; padding: 3px 11px; background: #8a8f8e; color: #fff; border-radius: 4px; font-size: 11px; font-weight: 700; margin-bottom: 12px;}
.when-card.base .wc-tag {background: var(--primary-color);}
.when-card.early .wc-tag {background: #cfa93f;}
.when-card.now .wc-tag {background: #b8443f;}
.when-card.repeat .wc-tag {background: #5d6a85;}
.when-card h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.4em;}
.when-card p {font-size: var(--font-size-14); line-height: 1.85em; color: #666; margin: 0;}
.when-card strong {color: var(--dark-color); font-weight: 700;}

.when-link {display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 28px 32px; background: #fff; border-radius: 16px; border-left: 5px solid var(--primary-color);}
.wl-body {flex: 1; min-width: 260px;}
.wl-body h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color); margin-bottom: 10px;}
.wl-body p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.wl-body strong {color: var(--dark-color); font-weight: 700;}
.wl-btn {display: inline-block; padding: 13px 26px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: var(--font-size-14); font-weight: 700; text-decoration: none; transition: .2s; white-space: nowrap;}
.wl-btn:hover {background: var(--dark-color); transform: translateY(-2px);}

/* ⑥ 검사 당일 시간표 */
.page-colo .day-block {margin-bottom: 22px;}
.page-colo .db-label {display: inline-block; padding: 6px 18px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 14px;}
.page-colo .db-label.prev {background: #8a8f8e;}
.page-colo .db-label.day {background: var(--primary-color);}
.page-colo .db-items {display: flex; flex-direction: column; gap: 8px;}
.page-colo .dbi {display: grid; grid-template-columns: 96px 1fr; gap: 20px; align-items: start; padding: 18px 24px; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.04);}
.page-colo .dbi.highlight {background: linear-gradient(90deg, #faf5f4 0%, #fff 100%); border-left: 4px solid var(--primary-color);}
.page-colo .dbi.last {background: var(--dark-color);}
.page-colo .dbi.last strong, .page-colo .dbi.last span {color: #fff;}
.page-colo .dbi.last .dbi-time {color: rgba(255,255,255,.6);}
.page-colo .dbi-time {font-size: var(--font-size-14); font-weight: 700; color: var(--primary-color); padding-top: 2px;}
.page-colo .dbi > div strong {display: block; font-size: var(--font-size-17); color: var(--dark-color); font-weight: 700; margin-bottom: 5px;}
.page-colo .dbi > div span {display: block; font-size: var(--font-size-14); color: #666; line-height: 1.8em;}
.page-colo .dbi > div span strong {display: inline; font-size: inherit; color: var(--primary-color); margin: 0;}

.total-time {display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; padding: 24px; background: var(--dark-color); color: #fff; border-radius: 12px; text-align: center;}
.tt-label {font-size: 14px; color: rgba(255,255,255,.7);}
.tt-value {font-size: var(--font-size-20);}
.tt-value strong {color: #FFE9B0; font-size: var(--font-size-24);}
.tt-note {font-size: 13px; color: rgba(255,255,255,.5); width: 100%;}

/* ⑦ 장 준비 */
.prep-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin: 26px 0;}
.prep-item {padding: 26px 24px; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px;}
.prep-item h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color); margin-bottom: 12px;}
.prep-item p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.prep-item strong {color: var(--dark-color); font-weight: 700;}

/* ⑧ 수면내시경 */
.sleep-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px;}
.sleep-item {display: grid; grid-template-columns: 54px 1fr; gap: 18px; align-items: start; padding: 26px 28px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.si-icon {display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; background: #faf5f4; color: var(--primary-color); border-radius: 50%;}
.si-body h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.45em;}
.si-body p {font-size: var(--font-size-14); line-height: 1.9em; color: #666; margin: 0;}
.si-body strong {color: var(--primary-color); font-weight: 700;}

/* ⑨ ★ 용종 섹션 */
.colo-polyp {padding: 84px 0 !important; background: linear-gradient(180deg, #f6f4f2 0%, #efe9e5 100%);}
.colo-polyp .section-head {text-align: center; margin-bottom: 44px;}
.colo-polyp .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.colo-polyp .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.colo-polyp .sh-desc {font-size: var(--font-size-16); color: #6a635d; line-height: 1.8em;}
.colo-polyp .sh-desc strong {color: var(--primary-color);}
.colo-polyp .section-body {max-width: 960px; margin: 0 auto;}

.polyp-why {padding: 28px 32px; background: #fff; border-radius: 16px; border-left: 5px solid var(--primary-color); margin-bottom: 24px;}
.polyp-why h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--primary-color); margin-bottom: 12px;}
.polyp-why p {font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin-bottom: 10px;}
.polyp-why p:last-child {margin-bottom: 0;}
.polyp-why strong {color: var(--dark-color); font-weight: 700;}

.polyp-compare {display: flex; flex-direction: column; gap: 12px; margin-bottom: 26px;}
.pc-item {padding: 22px 26px; background: #fff; border-radius: 14px;}
.pc-item.ours {border: 2px solid var(--primary-color); background: linear-gradient(90deg, #faf5f4 0%, #fff 100%);}
.pci-label {display: inline-block; font-size: 12px; font-weight: 700; color: #999; margin-bottom: 12px; letter-spacing: .05em;}
.pc-item.ours .pci-label {color: var(--primary-color);}
.pci-flow {display: flex; align-items: center; flex-wrap: wrap; gap: 4px;}
.pci-flow span {padding: 8px 16px; background: #f2f2f2; border-radius: 999px; font-size: var(--font-size-14); color: #666; font-weight: 600;}
.pci-flow span.warn {background: #fdeceb; color: #a03832;}
.pci-flow span.good {background: var(--primary-color); color: #fff;}
.pci-flow i {display: inline-block; width: 8px; height: 8px; border-top: 2px solid #c5c5c5; border-right: 2px solid #c5c5c5; transform: rotate(45deg); margin: 0 6px; flex: 0 0 8px;}
.pc-item.ours .pci-flow i {border-color: var(--primary-color);}

.polyp-detail {display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px;}
.pd-item {display: grid; grid-template-columns: 44px 1fr; gap: 18px; align-items: start; padding: 24px 28px; background: #fff; border-radius: 14px;}
.pd-num {font-size: 22px; font-weight: 800; color: var(--primary-color); line-height: 1.2; opacity: .8;}
.pd-item > div strong {display: block; font-size: var(--font-size-17); color: var(--dark-color); font-weight: 700; margin-bottom: 6px;}
.pd-item > div span {display: block; font-size: var(--font-size-14); color: #666; line-height: 1.9em;}
.pd-item > div span strong {display: inline; font-size: inherit; color: var(--primary-color); margin: 0;}

.polyp-link {text-align: center;}
.polyp-link a {display: inline-block; padding: 13px 30px; background: var(--dark-color); color: #FFE9B0; border-radius: 999px; font-size: var(--font-size-15); font-weight: 700; text-decoration: none; transition: .2s;}
.polyp-link a:hover {background: var(--primary-color); color: #fff; transform: translateY(-2px);}

/* ⑩ 검사 후 · 국가검진 */
.after-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}
.after-card {padding: 32px 30px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.after-card.national {border-color: #7fb096; background: linear-gradient(180deg, #f4faf6 0%, #fff 100%);}
.after-card h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0;}
.after-card.national h4 {color: #2f6a4a; border-bottom-color: #dcece2;}
.after-list {list-style: none; padding: 0; margin: 0;}
.after-list li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 1.95em; color: #444;}
.after-list li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; background: var(--primary-color); border-radius: 50%;}
.after-list strong {color: var(--dark-color); font-weight: 700;}
.after-card.national p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin-bottom: 14px;}
.after-card.national strong {color: #2f6a4a; font-weight: 700;}
.nat-flow {display: flex; align-items: center; flex-wrap: wrap; gap: 4px; padding: 16px; background: #eaf5ef; border-radius: 10px; margin-bottom: 14px;}
.nat-flow span {padding: 7px 14px; background: #fff; border-radius: 999px; font-size: var(--font-size-13); color: #2f6a4a; font-weight: 700;}
.nat-flow span.mid {background: #cfa93f; color: #fff;}
.nat-flow span.end {background: #4d9370; color: #fff;}
.nat-flow i {display: inline-block; width: 7px; height: 7px; border-top: 2px solid #7fb096; border-right: 2px solid #7fb096; transform: rotate(45deg); margin: 0 5px; flex: 0 0 7px;}
.nat-note {font-size: var(--font-size-14) !important; color: #666 !important; padding: 14px 16px; background: #fff; border-radius: 8px; margin: 0 !important;}

/* ⑪ 비용 */
.page-colo .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-colo .cost-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 26px;}
.page-colo .cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.page-colo .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px; color: #fff;}
.page-colo .cost-tag.insurance {background: var(--primary-color);}
.page-colo .cost-tag.national {background: #4d9370;}
.page-colo .cost-tag.non-insurance {background: #888;}
.page-colo .cost-item p {font-size: var(--font-size-14); line-height: 1.85em; color: #444; margin: 0;}
.page-colo .cost-item strong {color: var(--dark-color); font-weight: 700;}
.page-colo .cost-note {padding: 22px; background: #fff8ec; border-left: 4px solid #d9a441; border-radius: 4px; font-size: var(--font-size-14); color: #6d5320; line-height: 1.9em; margin: 0 !important;}
.page-colo .cost-note strong {color: #8a6420; font-weight: 700;}

/* FAQ */
.colo-faq {display: flex; flex-direction: column; gap: 10px;}
.colo-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: .2s;}
.colo-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,.12);}
.colo-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.colo-faq .faq-q:hover {background: #faf7f6;}
.colo-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.colo-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.colo-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.colo-faq .q-arrow::before, .colo-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.colo-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.colo-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.colo-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.colo-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.colo-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.colo-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #555; padding-top: 6px;}
.colo-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장 노트 */
.colo-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.colo-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.colo-doctor-note .dn-photo img {display: block; width: 100%; height: auto; }
.colo-doctor-note .dn-content {position: relative;}
.colo-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: .4; line-height: 1; font-family: Georgia, serif;}
.colo-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.colo-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.95em; color: rgba(255,255,255,.9); margin-bottom: 18px;}
.colo-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.colo-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.colo-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2);}
.colo-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.colo-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,.65); margin-top: 6px;}

/* CTA */
.colo-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.colo-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 18px; letter-spacing: -.02em;}
.colo-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.85em; margin-bottom: 36px;}
.colo-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 30px;}
.colo-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.colo-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.colo-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.colo-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.colo-cta .cta-ico {display: inline-flex; align-items: center; justify-content: center;}
.colo-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.colo-cta .cta-label {font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.colo-cta .cta-value {font-size: 18px; font-weight: 700;}
.colo-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.colo-cta .cta-btn.cta-reserve:hover {color: #fff;}
.page-colo .cta-links {display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid #ebe0de;}
.page-colo .cta-links a {font-size: var(--font-size-15); color: var(--primary-color); font-weight: 600; text-decoration: none; transition: .2s;}
.page-colo .cta-links a:hover {text-decoration: underline;}

/* ========================================
   대장내시경 페이지 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .colo-hero {padding: 60px 0 !important;}
    .colo-section, .colo-flow, .colo-polyp, .colo-router {padding: 60px 0 !important;}
    .page-colo .router-grid {grid-template-columns: repeat(3, 1fr);}
    .flow-steps {grid-template-columns: 1fr;}
    .fs-item::after {display: none;}
    .when-grid {grid-template-columns: 1fr 1fr;}
    .prep-grid, .sleep-grid, .after-grid {grid-template-columns: 1fr;}
    .page-colo .cost-grid {grid-template-columns: 1fr;}
    .page-colo .dbi {grid-template-columns: 78px 1fr; gap: 14px; padding: 16px 20px;}
    .colo-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
    .colo-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;}
}

/* ========================================
   대장내시경 페이지 — 모바일
   PC와 다른 레이아웃 패턴 적용
   ======================================== */
@media (max-width: 640px) {

    /* 히어로 */
    .colo-hero {padding: 44px 0 !important;}
    .colo-hero .hero-title {font-size: 32px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .colo-hero .hero-lead {font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .colo-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    /* 강점 카드 → 가로 3분할 */
    .colo-highlights {padding: 30px 0 !important;}
    .colo-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .colo-highlights .highlight-card {padding: 20px 8px; border-radius: 12px;}
    .colo-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
    .colo-highlights .hc-icon svg {width: 24px; height: 24px;}
    .colo-highlights .hc-title {font-size: 12.5px; margin-bottom: 6px; line-height: 1.35em;}
    .colo-highlights .hc-desc {font-size: 10.5px; line-height: 1.5em;}

    /* 라우터 → 가로 스크롤 칩 */
    .colo-router {padding: 36px 0 !important;}
    .colo-router .section-head {margin-bottom: 20px;}
    .colo-router .sh-badge {font-size: 10px; padding: 4px 14px; margin-bottom: 12px;}
    .colo-router .section-head h3 {font-size: 21px !important; margin-bottom: 8px !important;}
    .colo-router .sh-desc {font-size: 13px !important; line-height: 1.65em !important;}
    .colo-router .sh-desc br {display: none;}
    .page-colo .router-grid {display: flex !important; grid-template-columns: none !important; gap: 10px; overflow-x: auto; padding: 4px 20px 14px; margin: 0 -20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;}
    .page-colo .router-grid::-webkit-scrollbar {display: none;}
    .page-colo .router-item {flex: 0 0 210px; min-height: auto; padding: 18px; scroll-snap-align: start;}
    .page-colo .ri-when {font-size: 15px !important; margin-bottom: 7px !important;}
    .page-colo .ri-desc {font-size: 12px !important; margin-bottom: 12px !important;}
    .page-colo .ri-target {font-size: 12px !important; padding-top: 10px !important;}
    .page-colo .router-note {padding: 14px 18px !important;}
    .page-colo .router-note p {font-size: 12.5px !important; line-height: 1.75em !important;}

    /* ★ 검사한 사람이 설명 → 세로 + 아래 화살표 */
    .colo-flow {padding: 44px 0 !important;}
    .colo-flow .section-head {margin-bottom: 24px;}
    .colo-flow .sh-badge {font-size: 10px; padding: 4px 14px;}
    .colo-flow .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .colo-flow .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .flow-steps {gap: 22px !important; margin-bottom: 22px !important;}
    .fs-item {padding: 18px 20px !important; border-radius: 12px;}
    .fs-item::after {display: block !important; top: auto !important; bottom: -17px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) rotate(135deg) !important;}
    .fs-item:last-child::after {display: none !important;}
    .fs-num {font-size: 11px !important; padding: 2px 10px !important; margin-bottom: 10px !important;}
    .fs-item h4 {font-size: 17px !important; margin-bottom: 8px !important;}
    .fs-item p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .flow-why {grid-template-columns: 1fr !important; gap: 14px !important; padding: 24px 20px !important; border-radius: 14px;}
    .fw-icon {width: 44px !important; height: 44px !important;}
    .fw-icon svg {width: 22px !important; height: 22px !important;}
    .fw-body h4 {font-size: 17px !important; margin-bottom: 12px !important;}
    .fw-body p {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* 섹션 헤드 */
    .colo-section {padding: 44px 0 !important;}
    .colo-section .section-head {margin-bottom: 26px;}
    .colo-section .sh-num {font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .colo-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important; margin-bottom: 10px !important;}
    .colo-section .sh-desc {font-size: 13.5px !important; line-height: 1.7em !important;}
    .colo-section .sh-desc br {display: none;}
    .colo-section .section-body > p {font-size: 14.5px !important; line-height: 1.9em !important;}
    .page-colo .note-box {padding: 18px 20px !important; font-size: 13.5px !important; line-height: 1.9em !important; margin-top: 20px !important;}
    .page-colo .note-box strong {font-size: 14px !important;}

    /* ★ 언제 받아야 → 좌측 컬러 라인 (박스 벗김) */
    .when-grid {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 20px !important;}
    .when-card {padding: 18px 0 18px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid #e0dad4 !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px;}
    .when-card:last-child {border-bottom: none !important;}
    .when-card:hover {transform: none !important; box-shadow: none !important;}
    .when-card.base {border-left-color: var(--primary-color) !important;}
    .when-card.early {border-left-color: #cfa93f !important;}
    .when-card.now {border-left-color: #b8443f !important;}
    .when-card.repeat {border-left-color: #5d6a85 !important;}
    .wc-tag {font-size: 10px !important; padding: 2px 9px !important; margin-bottom: 8px !important;}
    .when-card h4 {font-size: 16.5px !important; margin-bottom: 7px !important;}
    .when-card p {font-size: 13px !important; line-height: 1.85em !important;}
    .when-link {flex-direction: column !important; align-items: stretch !important; gap: 16px !important; padding: 22px 20px !important; border-radius: 12px; border-left-width: 4px !important;}
    .wl-body h4 {font-size: 16px !important;}
    .wl-body p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .wl-btn {text-align: center; padding: 12px 20px !important; font-size: 13.5px !important;}

    /* ★ 시간표 → 좌측 라인 세로 리스트 */
    .page-colo .day-block {margin-bottom: 18px !important;}
    .page-colo .db-label {padding: 4px 14px !important; font-size: 11.5px !important; margin-bottom: 10px !important;}
    .page-colo .db-items {gap: 0 !important;}
    .page-colo .dbi {grid-template-columns: 1fr !important; gap: 5px !important; padding: 14px 0 14px 18px !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-left: 3px solid #ddd !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px;}
    .page-colo .dbi:last-child {border-bottom: none !important;}
    .page-colo .dbi.highlight {background: transparent !important; border-left-color: var(--primary-color) !important;}
    .page-colo .dbi.last {background: transparent !important; border-left-color: var(--dark-color) !important;}
    .page-colo .dbi.last strong {color: var(--dark-color) !important;}
    .page-colo .dbi.last span {color: #666 !important;}
    .page-colo .dbi.last .dbi-time {color: var(--dark-color) !important;}
    .page-colo .dbi-time {font-size: 11px !important; padding: 2px 9px; background: #f2ece9; color: var(--primary-color) !important; border-radius: 999px; width: fit-content;}
    .page-colo .dbi > div strong {font-size: 15px !important; margin-bottom: 4px !important;}
    .page-colo .dbi > div span {font-size: 12.5px !important; line-height: 1.8em !important;}
    .total-time {padding: 18px 16px !important;}
    .tt-label {font-size: 12px !important;}
    .tt-value {font-size: 15px !important;}
    .tt-value strong {font-size: 18px !important;}
    .tt-note {font-size: 11.5px !important;}

    /* ★ 장 준비 → 박스 벗기고 흐름 */
    .prep-grid {gap: 0 !important; margin: 20px 0 !important;}
    .prep-item {padding: 20px 0 !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-bottom: 1px solid #e8e3de !important;}
    .prep-item:last-child {border-bottom: none !important;}
    .prep-item h4 {font-size: 16px !important; margin-bottom: 8px !important;}
    .prep-item p {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* 수면내시경 → 1열, 아이콘 유지 */
    .sleep-grid {gap: 10px !important;}
    .sleep-item {grid-template-columns: 42px 1fr !important; gap: 14px !important; padding: 18px 20px !important; border-radius: 12px;}
    .si-icon {width: 38px !important; height: 38px !important;}
    .si-icon svg {width: 20px !important; height: 20px !important;}
    .si-body h4 {font-size: 15px !important; margin-bottom: 7px !important;}
    .si-body p {font-size: 12.5px !important; line-height: 1.9em !important;}

    /* ★ 용종 섹션 */
    .colo-polyp {padding: 44px 0 !important;}
    .colo-polyp .section-head {margin-bottom: 24px;}
    .colo-polyp .sh-badge {font-size: 10px; padding: 4px 14px;}
    .colo-polyp .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .colo-polyp .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .polyp-why {padding: 20px 22px !important; border-radius: 12px; border-left-width: 4px !important; margin-bottom: 18px !important;}
    .polyp-why h4 {font-size: 16px !important; margin-bottom: 10px !important;}
    .polyp-why p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .polyp-compare {gap: 10px !important; margin-bottom: 20px !important;}
    .pc-item {padding: 16px 18px !important; border-radius: 12px;}
    .pc-item.ours {border-width: 1px !important;}
    .pci-label {font-size: 11px !important; margin-bottom: 10px !important;}
    .pci-flow {gap: 3px !important;}
    .pci-flow span {padding: 6px 11px !important; font-size: 11.5px !important;}
    .pci-flow i {width: 6px !important; height: 6px !important; margin: 0 3px !important; flex: 0 0 6px !important;}
    .polyp-detail {gap: 0 !important; margin-bottom: 20px !important;}
    .pd-item {grid-template-columns: 32px 1fr !important; gap: 12px !important; padding: 16px 0 16px 14px !important; background: transparent !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 4px;}
    .pd-item:last-child {border-bottom: none !important;}
    .pd-num {font-size: 17px !important;}
    .pd-item > div strong {font-size: 14.5px !important; margin-bottom: 5px !important;}
    .pd-item > div span {font-size: 12.5px !important; line-height: 1.85em !important;}
    .polyp-link a {padding: 12px 24px !important; font-size: 13.5px !important;}

    /* 검사 후 · 국가검진 */
    .after-grid {gap: 12px !important;}
    .after-card {padding: 22px 20px !important; border-radius: 12px;}
    .after-card h4 {font-size: 16.5px !important; margin-bottom: 12px !important; padding-bottom: 10px !important;}
    .after-list li {font-size: 13.5px !important; line-height: 1.9em !important; padding-left: 20px !important;}
    .after-list li::before {top: 12px; width: 6px !important; height: 6px !important;}
    .after-card.national p {font-size: 13.5px !important; line-height: 1.9em !important; margin-bottom: 12px !important;}
    .nat-flow {padding: 12px !important; gap: 3px !important; margin-bottom: 12px !important;}
    .nat-flow span {padding: 6px 11px !important; font-size: 11.5px !important;}
    .nat-flow i {width: 6px !important; height: 6px !important; margin: 0 3px !important; flex: 0 0 6px !important;}
    .nat-note {font-size: 12.5px !important; padding: 12px 14px !important;}

    /* 비용 */
    .page-colo .cost-info {padding: 22px 20px !important; border-radius: 12px;}
    .page-colo .cost-grid {gap: 10px !important; margin-bottom: 18px !important;}
    .page-colo .cost-item {padding: 18px !important;}
    .page-colo .cost-tag {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-colo .cost-item p {font-size: 13px !important;}
    .page-colo .cost-note {padding: 16px 18px !important; font-size: 12.5px !important; line-height: 1.9em !important;}

    /* FAQ */
    .colo-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
    .colo-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .colo-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
    .colo-faq .faq-a {padding: 0 18px 20px 18px !important;}
    .colo-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .colo-faq .a-txt {font-size: 13px !important; line-height: 1.9em !important;}

    /* 원장 노트 */
    .colo-doctor-note {padding: 50px 0 !important;}
    .colo-doctor-note .doctor-note-inner {gap: 24px !important;}
    .colo-doctor-note .dn-photo {max-width: 150px !important;}
    .colo-doctor-note .dn-content {text-align: left;}
    .colo-doctor-note .dn-quote-mark {font-size: 60px !important; top: -32px !important; left: -4px !important;}
    .colo-doctor-note .dn-quote p {font-size: 13.5px !important; line-height: 1.95em !important; margin-bottom: 14px;}
    .colo-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
    .colo-doctor-note .dn-signature strong {font-size: 17px !important;}
    .colo-doctor-note .dn-signature span {font-size: 12px !important;}

    /* CTA */
    .colo-cta {padding: 50px 0 !important;}
    .colo-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
    .colo-cta > .contain > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 24px !important;}
    .colo-cta .cta-buttons {flex-direction: column; gap: 10px; margin-bottom: 22px;}
    .colo-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .colo-cta .cta-label {font-size: 11px;}
    .colo-cta .cta-value {font-size: 16px;}
    .page-colo .cta-links {gap: 16px; padding-top: 20px;}
    .page-colo .cta-links a {font-size: 12.5px;}
}

@media (max-width: 380px) {
    .colo-hero .hero-title {font-size: 28px !important;}
    .colo-highlights .highlight-cards {gap: 6px;}
    .colo-highlights .highlight-card {padding: 16px 4px;}
    .colo-highlights .hc-title {font-size: 11.5px;}
    .colo-highlights .hc-desc {font-size: 10px;}
    .page-colo .router-item {flex: 0 0 186px;}
    .pci-flow span {font-size: 10.5px !important; padding: 5px 9px !important;}
}

/* ========================================
   위내시경 페이지 (page-gast)
   대장내시경 페이지의 공통 모듈 계승 + 고유 섹션
   ======================================== */
.page-gast section {padding: 0;}
.page-gast .contain {padding-top: 0; padding-bottom: 0;}

/* ① 히어로 — 검진 톤 유지, 대장내시경과 미세 구분 */
.gast-hero {background: linear-gradient(135deg, #f4f6f3 0%, #e4eae3 100%); padding: 80px 0 !important;}
.gast-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.gast-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.gast-hero .hero-title {font-size: clamp(38px, calc(64 / var(--inner) * 100vw), 64px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.gast-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.95em; color: #434a44;}
.gast-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* ② 강점 카드 */
.gast-highlights {padding: 60px 0 !important; background: #fff;}
.gast-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 940px; margin: 0 auto;}
.gast-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.gast-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,.1); transform: translateY(-4px);}
.gast-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.gast-highlights .hc-title {font-size: var(--font-size-21); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.35em;}
.gast-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* ③ 라우터 (대장내시경과 동일 스펙) */
.gast-router {padding: 70px 0 !important; background: linear-gradient(180deg, #fbf9f6 0%, #f5f1eb 100%); border-top: 1px solid #ece7df; border-bottom: 1px solid #ece7df;}
.gast-router .section-head {text-align: center; margin-bottom: 40px;}
.gast-router .sh-badge {display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.gast-router .section-head h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.gast-router .sh-desc {font-size: var(--font-size-16); color: #6a655c; line-height: 1.7em;}
.gast-router .sh-desc strong {color: var(--primary-color);}
.gast-router .section-body {max-width: 1080px; margin: 0 auto;}
.page-gast .router-grid {display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 24px;}
.page-gast .router-item {display: flex; flex-direction: column; padding: 24px 18px; background: #fff; border: 1px solid #e5e0d8; border-radius: 14px; text-decoration: none; transition: .22s; min-height: 160px;}
.page-gast .router-item:hover {border-color: var(--primary-color); box-shadow: 0 8px 20px rgba(125,28,30,.1); transform: translateY(-3px);}
.page-gast .router-item.is-current {background: var(--primary-color); border-color: var(--primary-color);}
.page-gast .ri-when {font-size: var(--font-size-16); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.45em; letter-spacing: -.01em;}
.page-gast .router-item.is-current .ri-when {color: #fff;}
.page-gast .ri-desc {flex: 1; font-size: var(--font-size-13); color: #8a8578; line-height: 1.65em; margin-bottom: 14px;}
.page-gast .router-item.is-current .ri-desc {color: rgba(255,255,255,.75);}
.page-gast .ri-target {font-size: var(--font-size-13); font-weight: 700; color: var(--primary-color); padding-top: 12px; border-top: 1px solid #efeae2;}
.page-gast .ri-target em {font-style: normal; font-weight: 400; color: #b0aa9e;}
.page-gast .router-item.is-current .ri-target {color: #FFE9B0; border-top-color: rgba(255,255,255,.25);}
.page-gast .router-item.is-current .ri-target em {color: rgba(255,255,255,.6);}
.page-gast .router-note {padding: 18px 26px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.page-gast .router-note p {font-size: var(--font-size-14); line-height: 1.8em; color: #5a564e; margin: 0;}
.page-gast .router-note strong {color: var(--primary-color);}

/* ④ 검사한 사람이 설명합니다 (대장내시경과 동일 스펙) */
.gast-flow {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f5f7f4 100%);}
.gast-flow .section-head {text-align: center; margin-bottom: 44px;}
.gast-flow .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.gast-flow .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.gast-flow .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.gast-flow .sh-desc strong {color: var(--primary-color);}
.gast-flow .section-body {max-width: 960px; margin: 0 auto;}
.page-gast .flow-steps {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 26px;}
.page-gast .fs-item {position: relative; padding: 30px 26px; background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.05);}
.page-gast .fs-item::after {content: ''; position: absolute; top: 50%; right: -15px; transform: translateY(-50%) rotate(45deg); width: 10px; height: 10px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color); z-index: 2;}
.page-gast .fs-item:last-child::after {display: none;}
.page-gast .fs-num {display: inline-block; font-size: 13px; font-weight: 800; color: #fff; background: var(--primary-color); padding: 3px 12px; border-radius: 4px; margin-bottom: 14px;}
.page-gast .fs-item h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.page-gast .fs-item p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.page-gast .fs-item strong {color: var(--primary-color); font-weight: 700;}
.page-gast .flow-why {display: grid; grid-template-columns: 66px 1fr; gap: 22px; align-items: start; padding: 32px 36px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; color: #fff;}
.page-gast .fw-icon {display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; background: rgba(255,233,176,.15); color: #FFE9B0; border-radius: 50%;}
.page-gast .fw-body h4 {font-size: var(--font-size-21); font-weight: 700; color: #FFE9B0; margin-bottom: 14px;}
.page-gast .fw-body p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 12px;}
.page-gast .fw-body p:last-child {margin-bottom: 0;}
.page-gast .fw-body strong {color: #FFE9B0; font-weight: 700;}

/* 공통 섹션 */
.gast-section {padding: 80px 0 !important; background: #fff;}
.gast-section.section-alt {background: #faf7f5;}
.gast-section .section-head {text-align: center; margin-bottom: 50px;}
.gast-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.gast-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -.02em; margin-bottom: 12px;}
.gast-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.75em;}
.gast-section .sh-desc strong {color: var(--primary-color);}
.gast-section .section-body {max-width: 960px; margin: 0 auto;}
.page-gast .note-box {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px; font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 26px 0 0;}
.page-gast .note-box strong:first-child {display: block; color: var(--primary-color); margin-bottom: 8px; font-size: 16px;}
.page-gast .note-box strong {color: var(--dark-color); font-weight: 700;}

/* ⑤ 언제 받아야 하나 */
.page-gast .when-grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 28px;}
.page-gast .when-card {padding: 28px 22px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5; transition: .22s;}
.page-gast .when-card:hover {transform: translateY(-3px); box-shadow: 0 8px 18px rgba(0,0,0,.06);}
.page-gast .when-card.base {border-color: #7fb096; background: linear-gradient(180deg, #f4faf6 0%, #fff 100%);}
.page-gast .when-card.urgent {border-color: #b8443f;}
.page-gast .wc-tag {display: inline-block; padding: 3px 11px; background: #8a8f8e; color: #fff; border-radius: 4px; font-size: 11px; font-weight: 700; margin-bottom: 12px;}
.page-gast .when-card.base .wc-tag {background: #4d9370;}
.page-gast .when-card.early .wc-tag {background: #cfa93f;}
.page-gast .when-card.now .wc-tag {background: var(--primary-color);}
.page-gast .when-card.urgent .wc-tag {background: #b8443f;}
.page-gast .when-card h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.4em;}
.page-gast .when-card p {font-size: var(--font-size-14); line-height: 1.85em; color: #666; margin: 0;}
.page-gast .when-card strong {color: var(--dark-color); font-weight: 700;}

.page-gast .nat-box {padding: 32px 36px; background: #fff; border-radius: 16px; border: 2px solid #7fb096;}
.page-gast .nb-head {display: flex; align-items: center; gap: 14px; margin-bottom: 16px;}
.page-gast .nb-icon {display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; background: #eaf5ef; color: #4d9370; border-radius: 50%; flex: 0 0 42px;}
.page-gast .nb-head h4 {font-size: var(--font-size-21); font-weight: 700; color: #2f6a4a; margin: 0; line-height: 1.4em;}
.page-gast .nat-box > p {font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin-bottom: 14px;}
.page-gast .nat-box strong {color: #2f6a4a; font-weight: 700;}
.page-gast .nb-note {font-size: var(--font-size-14) !important; color: #666 !important; padding: 16px 18px; background: #f4faf6; border-radius: 8px; margin: 0 !important;}

/* ⑥ 시간표 (대장내시경과 동일 스펙) */
.page-gast .day-block {margin-bottom: 22px;}
.page-gast .db-label {display: inline-block; padding: 6px 18px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 14px;}
.page-gast .db-label.prev {background: #8a8f8e;}
.page-gast .db-label.day {background: var(--primary-color);}
.page-gast .db-items {display: flex; flex-direction: column; gap: 8px;}
.page-gast .dbi {display: grid; grid-template-columns: 106px 1fr; gap: 20px; align-items: start; padding: 18px 24px; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.04);}
.page-gast .dbi.highlight {background: linear-gradient(90deg, #faf5f4 0%, #fff 100%); border-left: 4px solid var(--primary-color);}
.page-gast .dbi.last {background: var(--dark-color);}
.page-gast .dbi.last strong, .page-gast .dbi.last span {color: #fff;}
.page-gast .dbi.last .dbi-time {color: rgba(255,255,255,.6);}
.page-gast .dbi-time {font-size: var(--font-size-14); font-weight: 700; color: var(--primary-color); padding-top: 2px;}
.page-gast .dbi > div strong {display: block; font-size: var(--font-size-17); color: var(--dark-color); font-weight: 700; margin-bottom: 5px;}
.page-gast .dbi > div span {display: block; font-size: var(--font-size-14); color: #666; line-height: 1.8em;}
.page-gast .dbi > div span strong {display: inline; font-size: inherit; color: var(--primary-color); margin: 0;}
.page-gast .total-time {display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; padding: 24px; background: var(--dark-color); color: #fff; border-radius: 12px; text-align: center;}
.page-gast .tt-label {font-size: 14px; color: rgba(255,255,255,.7);}
.page-gast .tt-value {font-size: var(--font-size-18);}
.page-gast .tt-value strong {color: #FFE9B0; font-size: var(--font-size-21);}
.page-gast .tt-note {font-size: 13px; color: rgba(255,255,255,.5); width: 100%;}

/* ⑦ 수면 vs 비수면 */
.page-gast .choice-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}
.page-gast .choice-card {padding: 32px 30px; background: #fff; border-radius: 18px; border: 2px solid #e5e5e5;}
.page-gast .choice-card.sleep {border-color: #5d6a85; background: linear-gradient(180deg, #f6f7fa 0%, #fff 100%);}
.page-gast .choice-card.awake {border-color: #cfa93f; background: linear-gradient(180deg, #fdfaf2 0%, #fff 100%);}
.page-gast .choice-card .cc-head {margin-bottom: 20px;}
.page-gast .choice-card .cc-badge {display: inline-block; padding: 6px 18px; border-radius: 999px; font-size: 15px; font-weight: 700; color: #fff;}
.page-gast .choice-card.sleep .cc-badge {background: #5d6a85;}
.page-gast .choice-card.awake .cc-badge {background: #b8863a;}
.page-gast .choice-card .cc-list {list-style: none; padding: 0; margin: 0 0 16px 0;}
.page-gast .choice-card .cc-list:last-child {margin-bottom: 0; padding-top: 16px; border-top: 1px dashed #e5e0d8;}
.page-gast .choice-card .cc-list li {position: relative; padding-left: 24px; font-size: var(--font-size-15); line-height: 1.95em; color: #444;}
.page-gast .choice-card .cc-list li strong {color: var(--dark-color); font-weight: 700;}
.page-gast .choice-card .cc-list.good li::before {content: '＋'; position: absolute; left: 2px; top: 0; color: #4d9370; font-weight: 800; font-size: 13px;}
.page-gast .choice-card .cc-list.note li::before {content: '·'; position: absolute; left: 6px; top: 0; color: #999; font-weight: 800; font-size: 18px;}
.page-gast .choice-card .cc-list.note li {color: #777; font-size: var(--font-size-14);}

/* ⑧ ★ 헬리코박터 */
.gast-helico {padding: 84px 0 !important; background: linear-gradient(180deg, #f6f4f2 0%, #efe9e5 100%);}
.gast-helico .section-head {text-align: center; margin-bottom: 44px;}
.gast-helico .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.gast-helico .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.gast-helico .sh-desc {font-size: var(--font-size-16); color: #6a635d; line-height: 1.8em;}
.gast-helico .sh-desc strong {color: var(--primary-color);}
.gast-helico .section-body {max-width: 980px; margin: 0 auto;}

.page-gast .helico-what {padding: 28px 32px; background: #fff; border-radius: 16px; border-left: 5px solid var(--primary-color); margin-bottom: 24px;}
.page-gast .helico-what h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--primary-color); margin-bottom: 12px;}
.page-gast .helico-what p {font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin-bottom: 10px;}
.page-gast .helico-what p:last-child {margin-bottom: 0;}
.page-gast .helico-what strong {color: var(--dark-color); font-weight: 700;}

.page-gast .helico-flow {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 24px;}
.page-gast .hf-item {position: relative; padding: 28px 24px; background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.05);}
.page-gast .hf-item::after {content: ''; position: absolute; top: 50%; right: -15px; transform: translateY(-50%) rotate(45deg); width: 10px; height: 10px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color); z-index: 2;}
.page-gast .hf-item:last-child::after {display: none;}
.page-gast .hf-num {display: inline-block; font-size: 12px; font-weight: 800; color: #fff; background: var(--primary-color); padding: 3px 11px; border-radius: 4px; margin-bottom: 12px;}
.page-gast .hf-item h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.page-gast .hf-item p {font-size: var(--font-size-14); line-height: 1.9em; color: #666; margin: 0;}
.page-gast .hf-item strong {color: var(--primary-color); font-weight: 700;}

.page-gast .helico-detail {display: flex; flex-direction: column; gap: 10px;}
.page-gast .hd-item {display: grid; grid-template-columns: 28px 1fr; gap: 16px; align-items: start; padding: 22px 26px; background: #fff; border-radius: 14px;}
.page-gast .hd-mark {display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; background: #eaf5ef; color: #4d9370; border-radius: 50%; margin-top: 2px;}
.page-gast .hd-item > div strong {display: block; font-size: var(--font-size-17); color: var(--dark-color); font-weight: 700; margin-bottom: 6px;}
.page-gast .hd-item > div span {display: block; font-size: var(--font-size-14); color: #666; line-height: 1.9em;}
.page-gast .hd-item > div span strong {display: inline; font-size: inherit; color: var(--primary-color); margin: 0;}

/* ⑨ 확인하는 것 */
.page-gast .find-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 26px;}
.page-gast .find-item {padding: 26px 22px; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px; transition: .22s;}
.page-gast .find-item:hover {border-color: var(--primary-color); box-shadow: 0 6px 16px rgba(125,28,30,.07);}
.page-gast .find-item h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color); margin-bottom: 10px;}
.page-gast .find-item p {font-size: var(--font-size-14); line-height: 1.9em; color: #666; margin: 0;}
.page-gast .find-item strong {color: var(--dark-color); font-weight: 700;}
.page-gast .find-note {padding: 24px 30px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.page-gast .find-note p {font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin: 0;}
.page-gast .find-note strong {color: var(--primary-color); font-weight: 700;}

/* ⑩ 위·대장 함께 */
.gast-both {padding: 70px 0 !important; background: #fff;}
.page-gast .both-box {display: grid; grid-template-columns: 1fr 1fr; gap: 0; max-width: 1000px; margin: 0 auto; border-radius: 20px; overflow: hidden;}
.page-gast .bb-left {padding: 44px 42px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.page-gast .bb-badge {display: inline-block; padding: 5px 16px; background: rgba(255,233,176,.18); color: #FFE9B0; border-radius: 999px; font-size: 12px; font-weight: 700; margin-bottom: 16px;}
.page-gast .bb-left h3 {font-size: var(--font-size-28); font-weight: 800; color: #fff; line-height: 1.3em; margin-bottom: 18px; letter-spacing: -.02em;}
.page-gast .bb-left p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 12px;}
.page-gast .bb-left strong {color: #FFE9B0; font-weight: 700;}
.page-gast .bb-note {font-size: var(--font-size-14) !important; color: rgba(255,255,255,.6) !important; margin: 0 !important;}
.page-gast .bb-right {padding: 44px 42px; background: #faf7f5; display: flex; flex-direction: column; justify-content: center; gap: 22px;}
.page-gast .bb-compare {display: flex; flex-direction: column; gap: 10px;}
.page-gast .bc-row {display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: #fff; border-radius: 12px;}
.page-gast .bc-row.highlight {background: var(--primary-color);}
.page-gast .bc-label {font-size: 12px; font-weight: 700; color: #999; letter-spacing: .05em;}
.page-gast .bc-row.highlight .bc-label {color: rgba(255,255,255,.7);}
.page-gast .bc-value {font-size: var(--font-size-17); font-weight: 700; color: var(--dark-color);}
.page-gast .bc-row.highlight .bc-value {color: #FFE9B0;}
.page-gast .bb-btn {display: inline-block; text-align: center; padding: 14px 28px; background: var(--dark-color); color: #FFE9B0; border-radius: 999px; font-size: var(--font-size-15); font-weight: 700; text-decoration: none; transition: .2s;}
.page-gast .bb-btn:hover {background: var(--primary-color); color: #fff; transform: translateY(-2px);}

/* ⑪ 비용 */
.page-gast .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-gast .cost-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 26px;}
.page-gast .cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.page-gast .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px; color: #fff;}
.page-gast .cost-tag.national {background: #4d9370;}
.page-gast .cost-tag.insurance {background: var(--primary-color);}
.page-gast .cost-tag.non-insurance {background: #888;}
.page-gast .cost-item p {font-size: var(--font-size-14); line-height: 1.85em; color: #444; margin: 0;}
.page-gast .cost-item strong {color: var(--dark-color); font-weight: 700;}
.page-gast .cost-note {padding: 22px; background: #fff8ec; border-left: 4px solid #d9a441; border-radius: 4px; font-size: var(--font-size-14); color: #6d5320; line-height: 1.9em; margin: 0 !important;}
.page-gast .cost-note strong {color: #8a6420; font-weight: 700;}

/* FAQ */
.gast-faq {display: flex; flex-direction: column; gap: 10px;}
.gast-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: .2s;}
.gast-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,.12);}
.gast-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.gast-faq .faq-q:hover {background: #faf7f6;}
.gast-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.gast-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.gast-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.gast-faq .q-arrow::before, .gast-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.gast-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.gast-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.gast-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.gast-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.gast-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.gast-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #555; padding-top: 6px;}
.gast-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장 노트 */
.gast-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.gast-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.gast-doctor-note .dn-photo img {display: block; width: 100%; height: auto; }
.gast-doctor-note .dn-content {position: relative;}
.gast-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: .4; line-height: 1; font-family: Georgia, serif;}
.gast-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.gast-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.95em; color: rgba(255,255,255,.9); margin-bottom: 18px;}
.gast-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.gast-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.gast-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2);}
.gast-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.gast-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,.65); margin-top: 6px;}

/* CTA */
.gast-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.gast-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 18px; letter-spacing: -.02em;}
.gast-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.85em; margin-bottom: 36px;}
.gast-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 30px;}
.gast-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.gast-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.gast-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.gast-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.gast-cta .cta-ico {display: inline-flex; align-items: center; justify-content: center;}
.gast-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.gast-cta .cta-label {font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.gast-cta .cta-value {font-size: 18px; font-weight: 700;}
.gast-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.gast-cta .cta-btn.cta-reserve:hover {color: #fff;}
.page-gast .cta-links {display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid #ebe0de;}
.page-gast .cta-links a {font-size: var(--font-size-15); color: var(--primary-color); font-weight: 600; text-decoration: none; transition: .2s;}
.page-gast .cta-links a:hover {text-decoration: underline;}

/* ========================================
   위내시경 페이지 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .gast-hero {padding: 60px 0 !important;}
    .gast-section, .gast-flow, .gast-helico, .gast-router, .gast-both {padding: 60px 0 !important;}
    .page-gast .router-grid {grid-template-columns: repeat(3, 1fr);}
    .page-gast .flow-steps {grid-template-columns: 1fr;}
    .page-gast .fs-item::after {display: none;}
    .page-gast .when-grid {grid-template-columns: 1fr 1fr;}
    .page-gast .choice-grid {grid-template-columns: 1fr;}
    .page-gast .helico-flow {grid-template-columns: 1fr;}
    .page-gast .hf-item::after {display: none;}
    .page-gast .find-grid {grid-template-columns: 1fr 1fr;}
    .page-gast .both-box {grid-template-columns: 1fr;}
    .page-gast .cost-grid {grid-template-columns: 1fr;}
    .page-gast .dbi {grid-template-columns: 88px 1fr; gap: 14px; padding: 16px 20px;}
    .gast-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
    .gast-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;}
}

/* ========================================
   위내시경 페이지 — 모바일
   PC와 다른 레이아웃 패턴 적용
   ======================================== */
@media (max-width: 640px) {

    /* 히어로 */
    .gast-hero {padding: 44px 0 !important;}
    .gast-hero .hero-title {font-size: 32px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .gast-hero .hero-lead {font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .gast-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    /* 강점 카드 → 가로 3분할 */
    .gast-highlights {padding: 30px 0 !important;}
    .gast-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .gast-highlights .highlight-card {padding: 20px 8px; border-radius: 12px;}
    .gast-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
    .gast-highlights .hc-icon svg {width: 24px; height: 24px;}
    .gast-highlights .hc-title {font-size: 12.5px; margin-bottom: 6px; line-height: 1.35em;}
    .gast-highlights .hc-desc {font-size: 10.5px; line-height: 1.5em;}

    /* 라우터 → 가로 스크롤 칩 */
    .gast-router {padding: 36px 0 !important;}
    .gast-router .section-head {margin-bottom: 20px;}
    .gast-router .sh-badge {font-size: 10px; padding: 4px 14px; margin-bottom: 12px;}
    .gast-router .section-head h3 {font-size: 21px !important; margin-bottom: 8px !important;}
    .gast-router .sh-desc {font-size: 13px !important; line-height: 1.65em !important;}
    .gast-router .sh-desc br {display: none;}
    .page-gast .router-grid {display: flex !important; grid-template-columns: none !important; gap: 10px; overflow-x: auto; padding: 4px 20px 14px; margin: 0 -20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;}
    .page-gast .router-grid::-webkit-scrollbar {display: none;}
    .page-gast .router-item {flex: 0 0 210px; min-height: auto; padding: 18px; scroll-snap-align: start;}
    .page-gast .ri-when {font-size: 15px !important; margin-bottom: 7px !important;}
    .page-gast .ri-desc {font-size: 12px !important; margin-bottom: 12px !important;}
    .page-gast .ri-target {font-size: 12px !important; padding-top: 10px !important;}
    .page-gast .router-note {padding: 14px 18px !important;}
    .page-gast .router-note p {font-size: 12.5px !important; line-height: 1.75em !important;}

    /* 3단계 흐름 → 세로 + 아래 화살표 */
    .gast-flow {padding: 44px 0 !important;}
    .gast-flow .section-head {margin-bottom: 24px;}
    .gast-flow .sh-badge {font-size: 10px; padding: 4px 14px;}
    .gast-flow .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .gast-flow .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .page-gast .flow-steps {gap: 22px !important; margin-bottom: 22px !important;}
    .page-gast .fs-item {padding: 18px 20px !important; border-radius: 12px;}
    .page-gast .fs-item::after {display: block !important; top: auto !important; bottom: -17px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) rotate(135deg) !important;}
    .page-gast .fs-item:last-child::after {display: none !important;}
    .page-gast .fs-num {font-size: 11px !important; padding: 2px 10px !important; margin-bottom: 10px !important;}
    .page-gast .fs-item h4 {font-size: 17px !important; margin-bottom: 8px !important;}
    .page-gast .fs-item p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-gast .flow-why {grid-template-columns: 1fr !important; gap: 14px !important; padding: 24px 20px !important; border-radius: 14px;}
    .page-gast .fw-icon {width: 44px !important; height: 44px !important;}
    .page-gast .fw-icon svg {width: 22px !important; height: 22px !important;}
    .page-gast .fw-body h4 {font-size: 17px !important; margin-bottom: 12px !important;}
    .page-gast .fw-body p {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* 섹션 헤드 */
    .gast-section {padding: 44px 0 !important;}
    .gast-section .section-head {margin-bottom: 26px;}
    .gast-section .sh-num {font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .gast-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important; margin-bottom: 10px !important;}
    .gast-section .sh-desc {font-size: 13.5px !important; line-height: 1.7em !important;}
    .gast-section .sh-desc br {display: none;}
    .page-gast .note-box {padding: 18px 20px !important; font-size: 13.5px !important; line-height: 1.9em !important; margin-top: 20px !important;}
    .page-gast .note-box strong:first-child {font-size: 14px !important;}

    /* ★ 언제 받아야 → 좌측 컬러 라인 */
    .page-gast .when-grid {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 20px !important;}
    .page-gast .when-card {padding: 18px 0 18px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid #e0dad4 !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px;}
    .page-gast .when-card:last-child {border-bottom: none !important;}
    .page-gast .when-card:hover {transform: none !important; box-shadow: none !important;}
    .page-gast .when-card.base {border-left-color: #4d9370 !important;}
    .page-gast .when-card.early {border-left-color: #cfa93f !important;}
    .page-gast .when-card.now {border-left-color: var(--primary-color) !important;}
    .page-gast .when-card.urgent {border-left-color: #b8443f !important;}
    .page-gast .wc-tag {font-size: 10px !important; padding: 2px 9px !important; margin-bottom: 8px !important;}
    .page-gast .when-card h4 {font-size: 16.5px !important; margin-bottom: 7px !important;}
    .page-gast .when-card p {font-size: 13px !important; line-height: 1.85em !important;}
    .page-gast .nat-box {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .page-gast .nb-head {gap: 10px !important; margin-bottom: 12px !important;}
    .page-gast .nb-icon {width: 34px !important; height: 34px !important; flex: 0 0 34px !important;}
    .page-gast .nb-icon svg {width: 18px !important; height: 18px !important;}
    .page-gast .nb-head h4 {font-size: 16.5px !important;}
    .page-gast .nat-box > p {font-size: 13.5px !important; line-height: 1.9em !important; margin-bottom: 12px !important;}
    .page-gast .nb-note {font-size: 12.5px !important; padding: 12px 14px !important;}

    /* ★ 시간표 → 좌측 라인 세로 리스트 */
    .page-gast .day-block {margin-bottom: 18px !important;}
    .page-gast .db-label {padding: 4px 14px !important; font-size: 11.5px !important; margin-bottom: 10px !important;}
    .page-gast .db-items {gap: 0 !important;}
    .page-gast .dbi {grid-template-columns: 1fr !important; gap: 5px !important; padding: 14px 0 14px 18px !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-left: 3px solid #ddd !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px;}
    .page-gast .dbi:last-child {border-bottom: none !important;}
    .page-gast .dbi.highlight {background: transparent !important; border-left-color: var(--primary-color) !important;}
    .page-gast .dbi.last {background: transparent !important; border-left-color: var(--dark-color) !important;}
    .page-gast .dbi.last strong {color: var(--dark-color) !important;}
    .page-gast .dbi.last span {color: #666 !important;}
    .page-gast .dbi.last .dbi-time {color: var(--dark-color) !important;}
    .page-gast .dbi-time {font-size: 11px !important; padding: 2px 9px; background: #f2ece9; color: var(--primary-color) !important; border-radius: 999px; width: fit-content;}
    .page-gast .dbi > div strong {font-size: 15px !important; margin-bottom: 4px !important;}
    .page-gast .dbi > div span {font-size: 12.5px !important; line-height: 1.8em !important;}
    .page-gast .total-time {padding: 18px 16px !important;}
    .page-gast .tt-label {font-size: 12px !important;}
    .page-gast .tt-value {font-size: 14px !important;}
    .page-gast .tt-value strong {font-size: 16px !important;}
    .page-gast .tt-note {font-size: 11.5px !important;}

    /* ★ 수면/비수면 → 상하 배치 (박스 유지 — 대비가 핵심) */
    .page-gast .choice-grid {gap: 12px !important;}
    .page-gast .choice-card {padding: 22px 20px !important; border-radius: 14px; border-width: 1px !important;}
    .page-gast .choice-card .cc-head {margin-bottom: 14px !important;}
    .page-gast .choice-card .cc-badge {padding: 4px 14px !important; font-size: 13px !important;}
    .page-gast .choice-card .cc-list {margin-bottom: 12px !important;}
    .page-gast .choice-card .cc-list:last-child {padding-top: 12px !important;}
    .page-gast .choice-card .cc-list li {font-size: 13.5px !important; line-height: 1.9em !important; padding-left: 20px !important;}
    .page-gast .choice-card .cc-list.note li {font-size: 12.5px !important;}

    /* ★ 헬리코박터 → 세로 + 아래 화살표 */
    .gast-helico {padding: 44px 0 !important;}
    .gast-helico .section-head {margin-bottom: 24px;}
    .gast-helico .sh-badge {font-size: 10px; padding: 4px 14px;}
    .gast-helico .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .gast-helico .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .page-gast .helico-what {padding: 20px 22px !important; border-radius: 12px; border-left-width: 4px !important; margin-bottom: 20px !important;}
    .page-gast .helico-what h4 {font-size: 16px !important; margin-bottom: 10px !important;}
    .page-gast .helico-what p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-gast .helico-flow {gap: 22px !important; margin-bottom: 20px !important;}
    .page-gast .hf-item {padding: 18px 20px !important; border-radius: 12px;}
    .page-gast .hf-item::after {display: block !important; top: auto !important; bottom: -17px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) rotate(135deg) !important;}
    .page-gast .hf-item:last-child::after {display: none !important;}
    .page-gast .hf-num {font-size: 10.5px !important; padding: 2px 10px !important; margin-bottom: 9px !important;}
    .page-gast .hf-item h4 {font-size: 17px !important; margin-bottom: 8px !important;}
    .page-gast .hf-item p {font-size: 13px !important; line-height: 1.9em !important;}
    .page-gast .helico-detail {gap: 0 !important;}
    .page-gast .hd-item {grid-template-columns: 22px 1fr !important; gap: 12px !important; padding: 16px 0 16px 14px !important; background: transparent !important; border-radius: 0 !important; border-left: 3px solid #4d9370 !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 4px;}
    .page-gast .hd-item:last-child {border-bottom: none !important;}
    .page-gast .hd-mark {width: 20px !important; height: 20px !important;}
    .page-gast .hd-mark svg {width: 11px !important; height: 11px !important;}
    .page-gast .hd-item > div strong {font-size: 14.5px !important; margin-bottom: 5px !important;}
    .page-gast .hd-item > div span {font-size: 12.5px !important; line-height: 1.85em !important;}

    /* 확인하는 것 → 2열 유지 */
    .page-gast .find-grid {grid-template-columns: repeat(2, 1fr) !important; gap: 10px; margin-bottom: 20px !important;}
    .page-gast .find-item {padding: 18px 14px !important; border-radius: 12px;}
    .page-gast .find-item h4 {font-size: 14.5px !important; margin-bottom: 8px !important;}
    .page-gast .find-item p {font-size: 11.5px !important; line-height: 1.75em !important;}
    .page-gast .find-note {padding: 18px 20px !important;}
    .page-gast .find-note p {font-size: 13px !important; line-height: 1.9em !important;}

    /* 위·대장 함께 */
    .gast-both {padding: 40px 0 !important;}
    .page-gast .both-box {border-radius: 14px;}
    .page-gast .bb-left {padding: 26px 22px !important;}
    .page-gast .bb-badge {font-size: 10.5px !important; padding: 4px 13px !important; margin-bottom: 12px !important;}
    .page-gast .bb-left h3 {font-size: 21px !important; margin-bottom: 14px !important;}
    .page-gast .bb-left p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-gast .bb-note {font-size: 12.5px !important;}
    .page-gast .bb-right {padding: 24px 22px !important; gap: 16px !important;}
    .page-gast .bc-row {padding: 14px 16px !important;}
    .page-gast .bc-label {font-size: 11px !important;}
    .page-gast .bc-value {font-size: 14.5px !important;}
    .page-gast .bb-btn {padding: 12px 22px !important; font-size: 13.5px !important;}

    /* 비용 */
    .page-gast .cost-info {padding: 22px 20px !important; border-radius: 12px;}
    .page-gast .cost-grid {gap: 10px !important; margin-bottom: 18px !important;}
    .page-gast .cost-item {padding: 18px !important;}
    .page-gast .cost-tag {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-gast .cost-item p {font-size: 13px !important;}
    .page-gast .cost-note {padding: 16px 18px !important; font-size: 12.5px !important; line-height: 1.9em !important;}

    /* FAQ */
    .gast-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
    .gast-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .gast-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
    .gast-faq .faq-a {padding: 0 18px 20px 18px !important;}
    .gast-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .gast-faq .a-txt {font-size: 13px !important; line-height: 1.9em !important;}

    /* 원장 노트 */
    .gast-doctor-note {padding: 50px 0 !important;}
    .gast-doctor-note .doctor-note-inner {gap: 24px !important;}
    .gast-doctor-note .dn-photo {max-width: 150px !important;}
    .gast-doctor-note .dn-content {text-align: left;}
    .gast-doctor-note .dn-quote-mark {font-size: 60px !important; top: -32px !important; left: -4px !important;}
    .gast-doctor-note .dn-quote p {font-size: 13.5px !important; line-height: 1.95em !important; margin-bottom: 14px;}
    .gast-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
    .gast-doctor-note .dn-signature strong {font-size: 17px !important;}
    .gast-doctor-note .dn-signature span {font-size: 12px !important;}

    /* CTA */
    .gast-cta {padding: 50px 0 !important;}
    .gast-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
    .gast-cta > .contain > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 24px !important;}
    .gast-cta .cta-buttons {flex-direction: column; gap: 10px; margin-bottom: 22px;}
    .gast-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .gast-cta .cta-label {font-size: 11px;}
    .gast-cta .cta-value {font-size: 16px;}
    .page-gast .cta-links {gap: 16px; padding-top: 20px;}
    .page-gast .cta-links a {font-size: 12.5px;}
}

@media (max-width: 380px) {
    .gast-hero .hero-title {font-size: 28px !important;}
    .gast-highlights .highlight-cards {gap: 6px;}
    .gast-highlights .highlight-card {padding: 16px 4px;}
    .gast-highlights .hc-title {font-size: 11.5px;}
    .gast-highlights .hc-desc {font-size: 10px;}
    .page-gast .router-item {flex: 0 0 186px;}
    .page-gast .find-grid {grid-template-columns: 1fr !important;}
}

/* ========================================
   국가건강검진 페이지 (page-nat)
   내부 링크 허브 · 행정 정보 중심
   ======================================== */
.page-nat section {padding: 0;}
.page-nat .contain {padding-top: 0; padding-bottom: 0;}

/* ① 히어로 — 밝은 뉴트럴 크림 (앞 두 검진 페이지와 미세 구분) */
.nat-hero {background: linear-gradient(135deg, #f7f6f2 0%, #ebe8e0 100%); padding: 80px 0 !important;}
.nat-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.nat-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.nat-hero .hero-title {font-size: clamp(36px, calc(62 / var(--inner) * 100vw), 62px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.nat-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.95em; color: #46443e;}
.nat-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* ② 강점 카드 */
.nat-highlights {padding: 60px 0 !important; background: #fff;}
.nat-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 940px; margin: 0 auto;}
.nat-highlights .highlight-card {text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.nat-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,.1); transform: translateY(-4px);}
.nat-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.nat-highlights .hc-title {font-size: var(--font-size-21); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.35em;}
.nat-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* ③ ★ 대상 확인 박스 */
.nat-check {padding: 60px 0 !important; background: linear-gradient(180deg, #fbf9f6 0%, #f5f1eb 100%); border-top: 1px solid #ece7df; border-bottom: 1px solid #ece7df;}
.page-nat .check-box {display: grid; grid-template-columns: 1fr 1.2fr; gap: 0; max-width: 1020px; margin: 0 auto; border-radius: 20px; overflow: hidden;}
.page-nat .cb-left {padding: 42px 40px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff; display: flex; flex-direction: column; justify-content: center;}
.page-nat .cb-badge {display: inline-block; align-self: flex-start; padding: 5px 16px; background: rgba(255,233,176,.18); color: #FFE9B0; border-radius: 999px; font-size: 12px; font-weight: 700; margin-bottom: 16px;}
.page-nat .cb-left h3 {font-size: var(--font-size-30); font-weight: 800; color: #fff; line-height: 1.28em; margin-bottom: 18px; letter-spacing: -.02em;}
.page-nat .cb-left p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 12px;}
.page-nat .cb-left strong {color: #FFE9B0; font-weight: 700;}
.page-nat .cb-note {font-size: var(--font-size-14) !important; color: rgba(255,255,255,.65) !important; margin: 0 !important;}
.page-nat .cb-right {padding: 38px 40px; background: #fff; display: flex; flex-direction: column; gap: 20px; justify-content: center;}
.page-nat .cb-ways {display: flex; flex-direction: column; gap: 10px;}
.page-nat .cw-item {display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: start; padding: 16px 18px; background: #faf7f5; border-radius: 12px;}
.page-nat .cw-item.highlight {background: #faf5f4; border-left: 3px solid var(--primary-color);}
.page-nat .cw-num {font-size: 15px; font-weight: 800; color: var(--primary-color); opacity: .75;}
.page-nat .cw-item > div strong {display: block; font-size: var(--font-size-16); color: var(--dark-color); font-weight: 700; margin-bottom: 4px;}
.page-nat .cw-item > div span {display: block; font-size: var(--font-size-13); color: #777; line-height: 1.75em;}
.page-nat .cb-btn {display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 28px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: var(--font-size-16); font-weight: 700; text-decoration: none; transition: .2s;}
.page-nat .cb-btn:hover {background: var(--dark-color); transform: translateY(-2px);}

/* 공통 섹션 */
.nat-section {padding: 80px 0 !important; background: #fff;}
.nat-section.section-alt {background: #faf7f5;}
.nat-section .section-head {text-align: center; margin-bottom: 50px;}
.nat-section .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.nat-section .section-head h3 {font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -.02em; margin-bottom: 12px;}
.nat-section .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.75em;}
.nat-section .sh-desc strong {color: var(--primary-color);}
.nat-section .section-body {max-width: 960px; margin: 0 auto;}

/* ④ 일반건강검진 항목 */
.page-nat .item-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 26px;}
.page-nat .item-card {padding: 24px 22px; background: #fff; border: 1px solid #e5e5e5; border-radius: 14px; transition: .22s;}
.page-nat .item-card:hover {border-color: var(--primary-color); box-shadow: 0 6px 16px rgba(125,28,30,.06);}
.page-nat .item-card h4 {font-size: var(--font-size-17); font-weight: 700; color: var(--primary-color); margin-bottom: 8px;}
.page-nat .item-card p {font-size: var(--font-size-14); line-height: 1.8em; color: #666; margin: 0;}

.page-nat .second-box {display: grid; grid-template-columns: 56px 1fr; gap: 20px; align-items: start; padding: 28px 32px; background: #fff; border-radius: 16px; border-left: 5px solid #5d6a85; margin-bottom: 22px;}
.page-nat .sb-icon {display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; background: #eef0f5; color: #5d6a85; border-radius: 50%;}
.page-nat .sb-body h4 {font-size: var(--font-size-19); font-weight: 700; color: #3d4a63; margin-bottom: 12px;}
.page-nat .sb-body p {font-size: var(--font-size-15); line-height: 1.95em; color: #555; margin-bottom: 10px;}
.page-nat .sb-body strong {color: #3d4a63; font-weight: 700;}
.page-nat .sb-note {font-size: var(--font-size-14) !important; color: #777 !important; margin: 0 !important;}
.page-nat .sb-note a {color: var(--primary-color); font-weight: 700; text-decoration: none;}
.page-nat .sb-note a:hover {text-decoration: underline;}

.page-nat .var-note {display: grid; grid-template-columns: 26px 1fr; gap: 14px; align-items: start; padding: 20px 26px; background: #fff8ec; border-left: 4px solid #d9a441; border-radius: 4px;}
.page-nat .vn-mark {display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: #d9a441; color: #fff; border-radius: 50%; margin-top: 2px;}
.page-nat .var-note p {font-size: var(--font-size-14); line-height: 1.9em; color: #6d5320; margin: 0;}
.page-nat .var-note strong {color: #8a6420; font-weight: 700;}

/* ⑤ 암검진 카드 */
.page-nat .cancer-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 26px;}
.page-nat .cancer-card {display: flex; flex-direction: column; padding: 26px 22px; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px; transition: .22s;}
.page-nat .cancer-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 18px rgba(125,28,30,.07); transform: translateY(-3px);}
.page-nat .cancer-card .cc-head {display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0;}
.page-nat .cc-name {font-size: var(--font-size-20); font-weight: 800; color: var(--dark-color); letter-spacing: -.01em;}
.page-nat .cc-cycle {padding: 3px 11px; background: #f2ece9; color: var(--primary-color); border-radius: 999px; font-size: 11.5px; font-weight: 700; white-space: nowrap;}
.page-nat .cc-target {font-size: var(--font-size-14); color: #888; margin-bottom: 8px;}
.page-nat .cc-method {flex: 1; font-size: var(--font-size-15); line-height: 1.75em; color: #444; margin-bottom: 14px;}
.page-nat .cc-method strong {color: var(--primary-color); font-weight: 700;}
.page-nat .cc-link {display: inline-block; font-size: var(--font-size-13); font-weight: 700; color: var(--primary-color); text-decoration: none; padding-top: 12px; border-top: 1px solid #f0f0f0;}
.page-nat .cc-link:hover {text-decoration: underline;}
.page-nat .cc-ask {display: inline-block; font-size: var(--font-size-13); color: #999; padding-top: 12px; border-top: 1px solid #f0f0f0;}

/* ⑥ ★ 결과가 나온 뒤 */
.nat-result {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f6f4f0 100%);}
.nat-result .section-head {text-align: center; margin-bottom: 44px;}
.nat-result .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.nat-result .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.nat-result .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.nat-result .sh-desc strong {color: var(--primary-color);}
.nat-result .section-body {max-width: 960px; margin: 0 auto;}

.page-nat .res-flow {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 26px;}
.page-nat .rf-item {position: relative; padding: 30px 26px; background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.05);}
.page-nat .rf-item::after {content: ''; position: absolute; top: 50%; right: -15px; transform: translateY(-50%) rotate(45deg); width: 10px; height: 10px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color); z-index: 2;}
.page-nat .rf-item:last-child::after {display: none;}
.page-nat .rf-num {display: inline-block; font-size: 13px; font-weight: 800; color: #fff; background: var(--primary-color); padding: 3px 12px; border-radius: 4px; margin-bottom: 14px;}
.page-nat .rf-item h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.page-nat .rf-item p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.page-nat .rf-item strong {color: var(--primary-color); font-weight: 700;}

.page-nat .res-why {display: grid; grid-template-columns: 66px 1fr; gap: 22px; align-items: start; padding: 32px 36px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; color: #fff;}
.page-nat .rw-icon {display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; background: rgba(255,233,176,.15); color: #FFE9B0; border-radius: 50%;}
.page-nat .rw-body h4 {font-size: var(--font-size-21); font-weight: 700; color: #FFE9B0; margin-bottom: 14px;}
.page-nat .rw-body p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 12px;}
.page-nat .rw-body p:last-child {margin-bottom: 0;}
.page-nat .rw-body strong {color: #FFE9B0; font-weight: 700;}

/* ⑦ ★ 다음 단계 (링크 허브) */
.page-nat .next-list {display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px;}
.page-nat .next-item {display: grid; grid-template-columns: 180px 30px 1fr; gap: 16px; align-items: center; padding: 22px 28px; background: #fff; border: 1px solid #e5e5e5; border-radius: 14px; text-decoration: none; transition: .22s;}
.page-nat .next-item:hover {border-color: var(--primary-color); box-shadow: 0 6px 18px rgba(125,28,30,.08); transform: translateX(4px);}
.page-nat .ni-from {font-size: var(--font-size-16); font-weight: 700; color: var(--dark-color); padding: 10px 16px; background: #f4f1ee; border-radius: 10px; text-align: center;}
.page-nat .next-item:hover .ni-from {background: #f2ece9; color: var(--primary-color);}
.page-nat .ni-arrow {position: relative; height: 12px;}
.page-nat .ni-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(45deg); width: 10px; height: 10px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color);}
.page-nat .ni-to strong {display: block; font-size: var(--font-size-17); color: var(--primary-color); font-weight: 700; margin-bottom: 5px;}
.page-nat .ni-to span {display: block; font-size: var(--font-size-14); color: #666; line-height: 1.8em;}
.page-nat .next-note {padding: 22px 28px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.page-nat .next-note p {font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin: 0;}
.page-nat .next-note strong {color: var(--primary-color); font-weight: 700;}

/* ⑧ 검진 당일 */
.page-nat .prep-row {display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 24px;}
.page-nat .pr-card {padding: 28px 26px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-nat .pr-card.bring {border-color: #7fb096; background: linear-gradient(180deg, #f4faf6 0%, #fff 100%);}
.page-nat .pr-card.fast {border-color: #cfa93f; background: linear-gradient(180deg, #fdfaf2 0%, #fff 100%);}
.page-nat .pr-head {display: flex; align-items: center; gap: 12px; margin-bottom: 16px;}
.page-nat .pr-icon {display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; flex: 0 0 38px;}
.page-nat .pr-card.bring .pr-icon {background: #eaf5ef; color: #4d9370;}
.page-nat .pr-card.fast .pr-icon {background: #fbf3e2; color: #b8863a;}
.page-nat .pr-head h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin: 0;}
.page-nat .pr-list {list-style: none; padding: 0; margin: 0;}
.page-nat .pr-list li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.page-nat .pr-list li strong {color: var(--dark-color); font-weight: 700;}
.page-nat .pr-card.bring .pr-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: #4d9370; border-radius: 50%;}
.page-nat .pr-card.fast .pr-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: #b8863a; border-radius: 50%;}

.page-nat .day-flow {display: flex; flex-direction: column; gap: 8px; margin-bottom: 22px;}
.page-nat .df-item {display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: start; padding: 18px 24px; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.04);}
.page-nat .df-item.last {background: linear-gradient(90deg, #faf5f4 0%, #fff 100%); border-left: 4px solid var(--primary-color);}
.page-nat .df-num {font-size: 18px; font-weight: 800; color: var(--primary-color); opacity: .7;}
.page-nat .df-item > div strong {display: block; font-size: var(--font-size-17); color: var(--dark-color); font-weight: 700; margin-bottom: 4px;}
.page-nat .df-item > div span {display: block; font-size: var(--font-size-14); color: #666; line-height: 1.8em;}

.page-nat .tip-box {padding: 22px 28px; background: var(--dark-color); border-radius: 12px;}
.page-nat .tip-box p {font-size: var(--font-size-15); line-height: 1.9em; color: rgba(255,255,255,.9); margin: 0;}
.page-nat .tip-box strong {color: #FFE9B0; font-weight: 700;}

/* ⑨ 비용 */
.page-nat .cost-info {padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-nat .cost-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 26px;}
.page-nat .cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.page-nat .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px; color: #fff;}
.page-nat .cost-tag.national {background: #4d9370;}
.page-nat .cost-tag.partial {background: #cfa93f;}
.page-nat .cost-tag.extra {background: #888;}
.page-nat .cost-item p {font-size: var(--font-size-14); line-height: 1.85em; color: #444; margin: 0;}
.page-nat .cost-item strong {color: var(--dark-color); font-weight: 700;}
.page-nat .cost-note {padding: 22px; background: #fff8ec; border-left: 4px solid #d9a441; border-radius: 4px; font-size: var(--font-size-14); color: #6d5320; line-height: 1.9em; margin: 0 !important;}
.page-nat .cost-note strong {color: #8a6420; font-weight: 700;}

/* FAQ */
.nat-faq {display: flex; flex-direction: column; gap: 10px;}
.nat-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: .2s;}
.nat-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,.12);}
.nat-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.nat-faq .faq-q:hover {background: #faf7f6;}
.nat-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.nat-faq .q-txt {flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.nat-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.nat-faq .q-arrow::before, .nat-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.nat-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.nat-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.nat-faq .faq-a {display: none; padding: 0 28px 26px 28px;}
.nat-faq .faq-item.active .faq-a {display: flex; gap: 18px; align-items: flex-start;}
.nat-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.nat-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #555; padding-top: 6px;}
.nat-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* 원장 노트 */
.nat-doctor-note {padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.nat-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.nat-doctor-note .dn-photo img {display: block; width: 100%; height: auto; }
.nat-doctor-note .dn-content {position: relative;}
.nat-doctor-note .dn-quote-mark {position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: .4; line-height: 1; font-family: Georgia, serif;}
.nat-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.nat-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.95em; color: rgba(255,255,255,.9); margin-bottom: 18px;}
.nat-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.nat-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.nat-doctor-note .dn-signature {margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2);}
.nat-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.nat-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,.65); margin-top: 6px;}

/* CTA */
.nat-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.nat-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 18px; letter-spacing: -.02em;}
.nat-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.85em; margin-bottom: 36px;}
.nat-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 30px;}
.nat-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.nat-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.nat-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.nat-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.nat-cta .cta-ico {display: inline-flex; align-items: center; justify-content: center;}
.nat-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.nat-cta .cta-label {font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.nat-cta .cta-value {font-size: 18px; font-weight: 700;}
.nat-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.nat-cta .cta-btn.cta-reserve:hover {color: #fff;}
.page-nat .cta-links {display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid #ebe0de;}
.page-nat .cta-links a {font-size: var(--font-size-15); color: var(--primary-color); font-weight: 600; text-decoration: none; transition: .2s;}
.page-nat .cta-links a:hover {text-decoration: underline;}

/* ========================================
   국가건강검진 페이지 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .nat-hero {padding: 60px 0 !important;}
    .nat-section, .nat-result, .nat-check {padding: 56px 0 !important;}
    .page-nat .check-box {grid-template-columns: 1fr;}
    .page-nat .item-grid {grid-template-columns: 1fr 1fr;}
    .page-nat .cancer-grid {grid-template-columns: 1fr 1fr;}
    .page-nat .res-flow {grid-template-columns: 1fr;}
    .page-nat .rf-item::after {display: none;}
    .page-nat .next-item {grid-template-columns: 150px 24px 1fr; gap: 12px; padding: 18px 22px;}
    .page-nat .prep-row {grid-template-columns: 1fr;}
    .page-nat .cost-grid {grid-template-columns: 1fr;}
    .nat-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 40px; text-align: center;}
    .nat-doctor-note .dn-photo {max-width: 240px; margin: 0 auto;}
}

/* ========================================
   국가건강검진 페이지 — 모바일
   ======================================== */
@media (max-width: 640px) {

    /* 히어로 */
    .nat-hero {padding: 44px 0 !important;}
    .nat-hero .hero-title {font-size: 30px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .nat-hero .hero-lead {font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .nat-hero .hero-eyebrow {font-size: 10.5px !important; padding: 4px 12px !important; margin-bottom: 16px !important;}

    /* 강점 카드 → 가로 3분할 */
    .nat-highlights {padding: 30px 0 !important;}
    .nat-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .nat-highlights .highlight-card {padding: 20px 8px; border-radius: 12px;}
    .nat-highlights .hc-icon {width: 44px; height: 44px; margin-bottom: 8px;}
    .nat-highlights .hc-icon svg {width: 24px; height: 24px;}
    .nat-highlights .hc-title {font-size: 12.5px; margin-bottom: 6px; line-height: 1.35em;}
    .nat-highlights .hc-desc {font-size: 10.5px; line-height: 1.5em;}

    /* 대상 확인 박스 → 상하 */
    .nat-check {padding: 34px 0 !important;}
    .page-nat .check-box {border-radius: 14px;}
    .page-nat .cb-left {padding: 26px 22px !important;}
    .page-nat .cb-badge {font-size: 10.5px !important; padding: 4px 13px !important; margin-bottom: 12px !important;}
    .page-nat .cb-left h3 {font-size: 23px !important; margin-bottom: 14px !important;}
    .page-nat .cb-left p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-nat .cb-note {font-size: 12.5px !important;}
    .page-nat .cb-right {padding: 24px 22px !important; gap: 16px !important;}
    .page-nat .cw-item {grid-template-columns: 26px 1fr !important; gap: 12px !important; padding: 13px 15px !important;}
    .page-nat .cw-num {font-size: 13px !important;}
    .page-nat .cw-item > div strong {font-size: 14.5px !important;}
    .page-nat .cw-item > div span {font-size: 12px !important;}
    .page-nat .cb-btn {padding: 13px 22px !important; font-size: 14.5px !important;}

    /* 섹션 헤드 */
    .nat-section {padding: 44px 0 !important;}
    .nat-section .section-head {margin-bottom: 26px;}
    .nat-section .sh-num {font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .nat-section .section-head h3 {font-size: 22px !important; line-height: 1.35em !important; margin-bottom: 10px !important;}
    .nat-section .sh-desc {font-size: 13.5px !important; line-height: 1.7em !important;}
    .nat-section .sh-desc br {display: none;}

    /* 일반검진 항목 → 2열 유지 */
    .page-nat .item-grid {grid-template-columns: repeat(2, 1fr) !important; gap: 10px; margin-bottom: 20px !important;}
    .page-nat .item-card {padding: 16px 14px !important; border-radius: 12px;}
    .page-nat .item-card h4 {font-size: 14px !important; margin-bottom: 6px !important;}
    .page-nat .item-card p {font-size: 11.5px !important; line-height: 1.7em !important;}
    .page-nat .second-box {grid-template-columns: 1fr !important; gap: 14px !important; padding: 22px 20px !important; border-radius: 12px; border-left-width: 4px !important; margin-bottom: 18px !important;}
    .page-nat .sb-icon {width: 38px !important; height: 38px !important;}
    .page-nat .sb-icon svg {width: 20px !important; height: 20px !important;}
    .page-nat .sb-body h4 {font-size: 16px !important; margin-bottom: 10px !important;}
    .page-nat .sb-body p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-nat .sb-note {font-size: 12.5px !important;}
    .page-nat .var-note {grid-template-columns: 22px 1fr !important; gap: 12px !important; padding: 16px 18px !important; border-left-width: 3px !important;}
    .page-nat .vn-mark {width: 20px !important; height: 20px !important;}
    .page-nat .vn-mark svg {width: 12px !important; height: 12px !important;}
    .page-nat .var-note p {font-size: 12.5px !important; line-height: 1.85em !important;}

    /* ★ 암검진 → 좌측 라인 흐름 (박스 벗김) */
    .page-nat .cancer-grid {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 20px !important;}
    .page-nat .cancer-card {padding: 18px 0 18px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px;}
    .page-nat .cancer-card:last-child {border-bottom: none !important;}
    .page-nat .cancer-card:hover {transform: none !important; box-shadow: none !important;}
    .page-nat .cancer-card .cc-head {margin-bottom: 8px !important; padding-bottom: 8px !important;}
    .page-nat .cc-name {font-size: 17px !important;}
    .page-nat .cc-cycle {font-size: 10.5px !important; padding: 2px 9px !important;}
    .page-nat .cc-target {font-size: 12.5px !important; margin-bottom: 6px !important;}
    .page-nat .cc-method {font-size: 13.5px !important; line-height: 1.7em !important; margin-bottom: 10px !important;}
    .page-nat .cc-link, .page-nat .cc-ask {font-size: 12px !important; padding-top: 8px !important;}

    /* 결과 3단계 → 세로 + 아래 화살표 */
    .nat-result {padding: 44px 0 !important;}
    .nat-result .section-head {margin-bottom: 24px;}
    .nat-result .sh-badge {font-size: 10px; padding: 4px 14px;}
    .nat-result .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .nat-result .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .nat-result .sh-desc br {display: none;}
    .page-nat .res-flow {gap: 22px !important; margin-bottom: 22px !important;}
    .page-nat .rf-item {padding: 18px 20px !important; border-radius: 12px;}
    .page-nat .rf-item::after {display: block !important; top: auto !important; bottom: -17px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) rotate(135deg) !important;}
    .page-nat .rf-item:last-child::after {display: none !important;}
    .page-nat .rf-num {font-size: 11px !important; padding: 2px 10px !important; margin-bottom: 10px !important;}
    .page-nat .rf-item h4 {font-size: 17px !important; margin-bottom: 8px !important;}
    .page-nat .rf-item p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-nat .res-why {grid-template-columns: 1fr !important; gap: 14px !important; padding: 24px 20px !important; border-radius: 14px;}
    .page-nat .rw-icon {width: 44px !important; height: 44px !important;}
    .page-nat .rw-icon svg {width: 22px !important; height: 22px !important;}
    .page-nat .rw-body h4 {font-size: 17px !important; margin-bottom: 12px !important;}
    .page-nat .rw-body p {font-size: 13.5px !important; line-height: 1.9em !important;}

    /* ★ 다음 단계 → 세로 카드 (화살표 위→아래) */
    .page-nat .next-list {gap: 8px !important; margin-bottom: 20px !important;}
    .page-nat .next-item {grid-template-columns: 1fr !important; gap: 8px !important; padding: 16px 18px !important; border-radius: 12px;}
    .page-nat .next-item:hover {transform: none !important;}
    .page-nat .ni-from {font-size: 13px !important; padding: 6px 12px !important; text-align: left; width: fit-content;}
    .page-nat .ni-arrow {height: 14px !important; width: 100%;}
    .page-nat .ni-arrow::after {left: 12px !important; transform: translate(-50%,-50%) rotate(135deg) !important; width: 8px !important; height: 8px !important;}
    .page-nat .ni-to strong {font-size: 15px !important; margin-bottom: 4px !important;}
    .page-nat .ni-to span {font-size: 12.5px !important; line-height: 1.8em !important;}
    .page-nat .next-note {padding: 16px 18px !important;}
    .page-nat .next-note p {font-size: 13px !important; line-height: 1.85em !important;}

    /* 검진 당일 */
    .page-nat .prep-row {gap: 12px !important; margin-bottom: 18px !important;}
    .page-nat .pr-card {padding: 20px 18px !important; border-radius: 12px; border-width: 1px !important;}
    .page-nat .pr-head {gap: 10px !important; margin-bottom: 12px !important;}
    .page-nat .pr-icon {width: 32px !important; height: 32px !important; flex: 0 0 32px !important;}
    .page-nat .pr-icon svg {width: 17px !important; height: 17px !important;}
    .page-nat .pr-head h4 {font-size: 16px !important;}
    .page-nat .pr-list li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .page-nat .pr-list li::before {top: 13px; width: 6px !important; height: 6px !important;}
    .page-nat .day-flow {gap: 0 !important; margin-bottom: 18px !important;}
    .page-nat .df-item {grid-template-columns: 30px 1fr !important; gap: 12px !important; padding: 14px 0 14px 16px !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-left: 3px solid #ddd !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 4px;}
    .page-nat .df-item:last-child {border-bottom: none !important;}
    .page-nat .df-item.last {background: transparent !important; border-left-color: var(--primary-color) !important;}
    .page-nat .df-num {font-size: 15px !important;}
    .page-nat .df-item > div strong {font-size: 14.5px !important; margin-bottom: 4px !important;}
    .page-nat .df-item > div span {font-size: 12.5px !important; line-height: 1.8em !important;}
    .page-nat .tip-box {padding: 16px 18px !important;}
    .page-nat .tip-box p {font-size: 13px !important; line-height: 1.85em !important;}

    /* 비용 */
    .page-nat .cost-info {padding: 22px 20px !important; border-radius: 12px;}
    .page-nat .cost-grid {gap: 10px !important; margin-bottom: 18px !important;}
    .page-nat .cost-item {padding: 18px !important;}
    .page-nat .cost-tag {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-nat .cost-item p {font-size: 13px !important;}
    .page-nat .cost-note {padding: 16px 18px !important; font-size: 12.5px !important; line-height: 1.9em !important;}

    /* FAQ */
    .nat-faq .faq-q {padding: 16px 18px !important; gap: 12px;}
    .nat-faq .q-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .nat-faq .q-txt {font-size: 14px !important; line-height: 1.55em !important;}
    .nat-faq .faq-a {padding: 0 18px 20px 18px !important;}
    .nat-faq .a-num {flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .nat-faq .a-txt {font-size: 13px !important; line-height: 1.9em !important;}

    /* 원장 노트 */
    .nat-doctor-note {padding: 50px 0 !important;}
    .nat-doctor-note .doctor-note-inner {gap: 24px !important;}
    .nat-doctor-note .dn-photo {max-width: 150px !important;}
    .nat-doctor-note .dn-content {text-align: left;}
    .nat-doctor-note .dn-quote-mark {font-size: 60px !important; top: -32px !important; left: -4px !important;}
    .nat-doctor-note .dn-quote p {font-size: 13.5px !important; line-height: 1.95em !important; margin-bottom: 14px;}
    .nat-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
    .nat-doctor-note .dn-signature strong {font-size: 17px !important;}
    .nat-doctor-note .dn-signature span {font-size: 12px !important;}

    /* CTA */
    .nat-cta {padding: 50px 0 !important;}
    .nat-cta h3 {font-size: 22px !important; margin-bottom: 12px !important;}
    .nat-cta > .contain > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 24px !important;}
    .nat-cta .cta-buttons {flex-direction: column; gap: 10px; margin-bottom: 22px;}
    .nat-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .nat-cta .cta-label {font-size: 11px;}
    .nat-cta .cta-value {font-size: 16px;}
    .page-nat .cta-links {gap: 16px; padding-top: 20px;}
    .page-nat .cta-links a {font-size: 12.5px;}
}

@media (max-width: 380px) {
    .nat-hero .hero-title {font-size: 26px !important;}
    .nat-highlights .highlight-cards {gap: 6px;}
    .nat-highlights .highlight-card {padding: 16px 4px;}
    .nat-highlights .hc-title {font-size: 11.5px;}
    .nat-highlights .hc-desc {font-size: 10px;}
    .page-nat .item-grid {grid-template-columns: 1fr !important;}
}

/* ========================================
   상복부초음파 페이지 (page-abd) — 초음파 4종 앵커
   ======================================== */
.page-abd section, .page-us section{padding: 0;}
.page-abd .contain, .page-us .contain{padding-top: 0; padding-bottom: 0;}

/* ① 히어로 — 밝은 아쿠아 기미 */
.abd-hero{background: linear-gradient(135deg, #f0f6f6 0%, #dfeaea 100%); padding: 80px 0 !important;}
.abd-hero-inner{max-width: 900px; margin: 0 auto; text-align: center;}
.abd-hero .hero-eyebrow{display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.abd-hero .hero-title{font-size: clamp(36px, calc(62 / var(--inner) * 100vw), 62px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.abd-hero .hero-lead{font-size: var(--font-size-18); line-height: 1.95em; color: #424a4a;}
.abd-hero .hero-lead strong{color: var(--primary-color); font-weight: 700;}

/* ② 강점 카드 */
.abd-highlights, .us-highlights{padding: 60px 0 !important; background: #fff;}
.abd-highlights .highlight-cards, .us-highlights .highlight-cards{display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 940px; margin: 0 auto;}
.abd-highlights .highlight-card, .us-highlights .highlight-card{text-align: center; padding: 36px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.abd-highlights .highlight-card:hover, .us-highlights .highlight-card:hover{border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,.1); transform: translateY(-4px);}
.abd-highlights .hc-icon, .us-highlights .hc-icon{display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.abd-highlights .hc-title, .us-highlights .hc-title{font-size: var(--font-size-21); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.35em;}
.abd-highlights .hc-desc, .us-highlights .hc-desc{font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

/* ③ 라우터 (검진 공통 스펙) */
.abd-router, .us-router{padding: 70px 0 !important; background: linear-gradient(180deg, #fbf9f6 0%, #f5f1eb 100%); border-top: 1px solid #ece7df; border-bottom: 1px solid #ece7df;}
.abd-router .section-head, .us-router .section-head{text-align: center; margin-bottom: 40px;}
.abd-router .sh-badge, .us-router .sh-badge{display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.abd-router .section-head h3, .us-router .section-head h3{font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.abd-router .sh-desc, .us-router .sh-desc{font-size: var(--font-size-16); color: #6a655c; line-height: 1.7em;}
.abd-router .sh-desc strong, .us-router .sh-desc strong{color: var(--primary-color);}
.abd-router .section-body, .us-router .section-body{max-width: 1080px; margin: 0 auto;}
.page-abd .router-grid, .page-us .router-grid{display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 24px;}
.page-abd .router-item, .page-us .router-item{display: flex; flex-direction: column; padding: 24px 18px; background: #fff; border: 1px solid #e5e0d8; border-radius: 14px; text-decoration: none; transition: .22s; min-height: 160px;}
.page-abd .router-item:hover, .page-us .router-item:hover{border-color: var(--primary-color); box-shadow: 0 8px 20px rgba(125,28,30,.1); transform: translateY(-3px);}
.page-abd .router-item.is-current, .page-us .router-item.is-current{background: var(--primary-color); border-color: var(--primary-color);}
.page-abd .ri-when, .page-us .ri-when{font-size: var(--font-size-16); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.45em; letter-spacing: -.01em;}
.page-abd .router-item.is-current .ri-when, .page-us .router-item.is-current .ri-when{color: #fff;}
.page-abd .ri-desc, .page-us .ri-desc{flex: 1; font-size: var(--font-size-13); color: #8a8578; line-height: 1.65em; margin-bottom: 14px;}
.page-abd .router-item.is-current .ri-desc, .page-us .router-item.is-current .ri-desc{color: rgba(255,255,255,.75);}
.page-abd .ri-target, .page-us .ri-target{font-size: var(--font-size-13); font-weight: 700; color: var(--primary-color); padding-top: 12px; border-top: 1px solid #efeae2;}
.page-abd .ri-target em, .page-us .ri-target em{font-style: normal; font-weight: 400; color: #b0aa9e;}
.page-abd .router-item.is-current .ri-target, .page-us .router-item.is-current .ri-target{color: #FFE9B0; border-top-color: rgba(255,255,255,.25);}
.page-abd .router-item.is-current .ri-target em, .page-us .router-item.is-current .ri-target em{color: rgba(255,255,255,.6);}
.page-abd .router-note, .page-us .router-note{padding: 18px 26px; background: #fff; border-left: 4px solid var(--primary-color); border-radius: 4px;}
.page-abd .router-note p, .page-us .router-note p{font-size: var(--font-size-14); line-height: 1.8em; color: #5a564e; margin: 0;}
.page-abd .router-note strong, .page-us .router-note strong{color: var(--primary-color);}

/* ④ ★ 누가 하느냐 */
.abd-who{padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f2f7f7 100%);}
.abd-who .section-head{text-align: center; margin-bottom: 44px;}
.abd-who .sh-badge{display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.abd-who .section-head h3{font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.abd-who .sh-desc{font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.abd-who .section-body{max-width: 960px; margin: 0 auto;}

.page-abd .who-compare{display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 26px;}
.page-abd .wc-item{padding: 30px 28px; background: #fff; border-radius: 18px; border: 2px solid #e5e5e5;}
.page-abd .wc-item.ours{border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.page-abd .wci-label{display: inline-block; padding: 6px 18px; border-radius: 999px; font-size: 14px; font-weight: 700; color: #fff; background: #9a9490; margin-bottom: 18px;}
.page-abd .wc-item.ours .wci-label{background: var(--primary-color);}
.page-abd .wci-list{list-style: none; padding: 0; margin: 0;}
.page-abd .wci-list li{position: relative; padding-left: 22px; font-size: var(--font-size-16); line-height: 2em; color: #555;}
.page-abd .wci-list li strong{color: var(--dark-color); font-weight: 700;}
.page-abd .wc-item.ours .wci-list li strong{color: var(--primary-color);}
.page-abd .wci-list li::before{content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: #b8b3ae; border-radius: 50%;}
.page-abd .wc-item.ours .wci-list li::before{background: var(--primary-color);}

.page-abd .who-why{display: grid; grid-template-columns: 66px 1fr; gap: 22px; align-items: start; padding: 32px 36px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; color: #fff; margin-bottom: 22px;}
.page-abd .ww-icon{display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; background: rgba(255,233,176,.15); color: #FFE9B0; border-radius: 50%;}
.page-abd .ww-body h4{font-size: var(--font-size-21); font-weight: 700; color: #FFE9B0; margin-bottom: 14px;}
.page-abd .ww-body p{font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 12px;}
.page-abd .ww-body p:last-child{margin-bottom: 0;}
.page-abd .ww-body strong{color: #FFE9B0; font-weight: 700;}

.page-abd .who-honest{padding: 22px 28px; background: #fff; border-left: 4px solid #d9a441; border-radius: 4px;}
.page-abd .who-honest p{font-size: var(--font-size-15); line-height: 1.9em; color: #6d5320; margin: 0;}
.page-abd .who-honest strong{color: #8a6420; font-weight: 700;}

/* 공통 섹션 */
.abd-section, .thy-section, .brs-section, .car-section{padding: 80px 0 !important; background: #fff;}
.abd-section.section-alt, .thy-section.section-alt, .brs-section.section-alt, .car-section.section-alt{background: #faf7f5;}
.abd-section .section-head, .thy-section .section-head, .brs-section .section-head, .car-section .section-head{text-align: center; margin-bottom: 50px;}
.abd-section .sh-num, .thy-section .sh-num, .brs-section .sh-num, .car-section .sh-num{display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.abd-section .section-head h3, .thy-section .section-head h3, .brs-section .section-head h3, .car-section .section-head h3{font-size: clamp(24px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; letter-spacing: -.02em; margin-bottom: 12px;}
.abd-section .sh-desc, .thy-section .sh-desc, .brs-section .sh-desc, .car-section .sh-desc{font-size: var(--font-size-16); color: #666; line-height: 1.75em;}
.abd-section .sh-desc strong, .thy-section .sh-desc strong, .brs-section .sh-desc strong, .car-section .sh-desc strong{color: var(--primary-color);}
.abd-section .section-body, .thy-section .section-body, .brs-section .section-body, .car-section .section-body{max-width: 960px; margin: 0 auto;}

/* ⑤ 장기 그리드 */
.page-abd .organ-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;}
.page-abd .organ-card{padding: 26px 22px; background: #fff; border: 1px solid #e5e5e5; border-radius: 14px; transition: .22s;}
.page-abd .organ-card:hover{border-color: var(--primary-color); box-shadow: 0 6px 16px rgba(125,28,30,.06);}
.page-abd .organ-card h4{font-size: var(--font-size-19); font-weight: 700; color: var(--primary-color); margin-bottom: 10px;}
.page-abd .organ-card p{font-size: var(--font-size-14); line-height: 1.85em; color: #666; margin: 0;}
.page-abd .oc-limit{display: block; margin-top: 6px; font-size: 12.5px; color: #a09a95;}

/* ⑥ 언제 받나 */
.page-abd .when-list, .page-us .when-list{display: flex; flex-direction: column; gap: 8px;}
.page-abd .when-item, .page-us .when-item{display: grid; grid-template-columns: 18px 1fr; gap: 16px; align-items: start; padding: 20px 26px; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.04); text-decoration: none;}
.page-abd .when-item.link, .page-us .when-item.link{border-left: 4px solid var(--primary-color); transition: .2s;}
.page-abd .when-item.link:hover, .page-us .when-item.link:hover{transform: translateX(4px); box-shadow: 0 6px 16px rgba(125,28,30,.08);}
.page-abd .wi-mark, .page-us .wi-mark{width: 11px; height: 11px; margin-top: 7px; background: var(--primary-color); border-radius: 50%;}
.page-abd .when-item > div strong, .page-us .when-item > div strong{display: block; font-size: var(--font-size-17); color: var(--dark-color); font-weight: 700; margin-bottom: 5px;}
.page-abd .when-item > div span, .page-us .when-item > div span{display: block; font-size: var(--font-size-14); color: #777; line-height: 1.8em;}

/* ⑦ ★ 자주 나오는 소견 */
.abd-finding, .brs-finding{padding: 84px 0 !important; background: linear-gradient(180deg, #f7f5f2 0%, #efeae5 100%);}
.abd-finding .section-head, .brs-finding .section-head{text-align: center; margin-bottom: 44px;}
.abd-finding .sh-badge, .brs-finding .sh-badge{display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.abd-finding .section-head h3, .brs-finding .section-head h3{font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.abd-finding .sh-desc, .brs-finding .sh-desc{font-size: var(--font-size-16); color: #6a635d; line-height: 1.8em;}
.abd-finding .sh-desc strong, .brs-finding .sh-desc strong{color: var(--primary-color);}
.abd-finding .section-body, .brs-finding .section-body{max-width: 960px; margin: 0 auto;}

.page-abd .fnd-list, .page-us .fnd-list{display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px;}
.page-abd .fnd-item, .page-us .fnd-item{padding: 28px 26px; background: #fff; border-radius: 16px;}
.page-abd .fi-head, .page-us .fi-head{display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0;}
.page-abd .fi-name, .page-us .fi-name{font-size: var(--font-size-20); font-weight: 800; color: var(--dark-color); letter-spacing: -.01em;}
.page-abd .fi-tag, .page-us .fi-tag{padding: 3px 11px; border-radius: 999px; font-size: 11.5px; font-weight: 700; white-space: nowrap; color: #fff;}
.page-abd .fi-tag.common, .page-us .fi-tag.common{background: #4d9370;}
.page-abd .fi-tag.watch, .page-us .fi-tag.watch{background: #cfa93f;}
.page-abd .fnd-item p, .page-us .fnd-item p{font-size: var(--font-size-15); line-height: 1.9em; color: #444; margin-bottom: 10px;}
.page-abd .fnd-item strong, .page-us .fnd-item strong{color: var(--primary-color); font-weight: 700;}
.page-abd .fi-note, .page-us .fi-note{font-size: var(--font-size-14) !important; color: #777 !important; padding: 14px 16px; background: #faf7f5; border-radius: 8px; margin: 0 !important;}
.page-abd .fi-note strong, .page-us .fi-note strong{color: var(--dark-color) !important;}
.page-abd .fnd-note, .page-us .fnd-note{padding: 24px 30px; background: #fff; border-left: 5px solid var(--primary-color); border-radius: 4px;}
.page-abd .fnd-note p, .page-us .fnd-note p{font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin: 0;}
.page-abd .fnd-note strong, .page-us .fnd-note strong{color: var(--primary-color); font-weight: 700;}

/* ⑧ 준비와 진행 */
.page-abd .fast-box{padding: 30px 34px; background: #fff; border-radius: 16px; border: 2px solid #cfa93f; margin-bottom: 24px;}
.page-abd .fb-head{display: flex; align-items: center; gap: 14px; margin-bottom: 16px;}
.page-abd .fb-icon{display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; background: #fbf3e2; color: #b8863a; border-radius: 50%; flex: 0 0 42px;}
.page-abd .fb-head h4{font-size: var(--font-size-20); font-weight: 700; color: #8a6420; margin: 0;}
.page-abd .fast-box > p{font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin-bottom: 18px;}
.page-abd .fast-box strong{color: #8a6420; font-weight: 700;}
.page-abd .fb-rule{display: flex; align-items: center; gap: 20px; padding: 20px 24px; background: #fdfaf2; border-radius: 12px;}
.page-abd .fbr-num{font-size: 30px; font-weight: 800; color: #b8863a; line-height: 1; letter-spacing: -.02em; flex: 0 0 auto;}
.page-abd .fbr-txt{font-size: var(--font-size-15); line-height: 1.8em; color: #6d5320;}
.page-abd .fbr-txt strong{color: #8a6420;}

.page-abd .proc-flow{display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px;}
.page-abd .pf-item{display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: start; padding: 20px 26px; background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.04);}
.page-abd .pf-item.highlight{background: linear-gradient(90deg, #faf5f4 0%, #fff 100%); border-left: 4px solid var(--primary-color);}
.page-abd .pf-num{font-size: 18px; font-weight: 800; color: var(--primary-color); opacity: .7;}
.page-abd .pf-item > div strong{display: block; font-size: var(--font-size-17); color: var(--dark-color); font-weight: 700; margin-bottom: 5px;}
.page-abd .pf-item > div span{display: block; font-size: var(--font-size-14); color: #666; line-height: 1.85em;}
.page-abd .pf-item > div span strong{display: inline; font-size: inherit; color: var(--primary-color); margin: 0;}

.page-abd .total-time{display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; padding: 24px; background: var(--dark-color); color: #fff; border-radius: 12px; text-align: center;}
.page-abd .tt-label{font-size: 14px; color: rgba(255,255,255,.7);}
.page-abd .tt-value{font-size: var(--font-size-20);}
.page-abd .tt-value strong{color: #FFE9B0; font-size: var(--font-size-24);}
.page-abd .tt-note{font-size: 13px; color: rgba(255,255,255,.5); width: 100%;}

/* ⑨ 다른 부위 초음파 */
.abd-other, .us-other{padding: 80px 0 !important; background: #fff;}
.abd-other .section-head, .us-other .section-head{text-align: center; margin-bottom: 44px;}
.abd-other .sh-badge, .us-other .sh-badge{display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.abd-other .section-head h3, .us-other .section-head h3{font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px; letter-spacing: -.02em;}
.abd-other .sh-desc, .us-other .sh-desc{font-size: var(--font-size-16); color: #666; line-height: 1.75em;}
.abd-other .section-body, .us-other .section-body{max-width: 1020px; margin: 0 auto;}

.page-abd .other-grid, .page-us .other-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px;}
.page-abd .oth-card, .page-us .oth-card{display: flex; flex-direction: column; padding: 28px 22px; background: #fff; border: 1px solid #e5e5e5; border-radius: 16px; text-decoration: none; transition: .22s;}
.page-abd .oth-card:hover, .page-us .oth-card:hover{border-color: var(--primary-color); box-shadow: 0 8px 20px rgba(125,28,30,.08); transform: translateY(-3px);}
.page-abd .oth-card.current, .page-us .oth-card.current{background: linear-gradient(180deg, #faf5f4 0%, #fff 100%); border-color: var(--primary-color);}
.page-abd .oc-badge, .page-us .oc-badge{display: inline-block; align-self: flex-start; padding: 3px 11px; background: var(--primary-color); color: #fff; border-radius: 4px; font-size: 10.5px; font-weight: 700; margin-bottom: 12px;}
.page-abd .oth-card h4, .page-us .oth-card h4{font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.page-abd .oth-card.current h4, .page-us .oth-card.current h4{color: var(--primary-color);}
.page-abd .oth-card > p, .page-us .oth-card > p{font-size: var(--font-size-14); line-height: 1.75em; color: #666; margin-bottom: 12px;}
.page-abd .oc-when, .page-us .oc-when{flex: 1; display: block; font-size: var(--font-size-13); color: #999; line-height: 1.7em; margin-bottom: 14px;}
.page-abd .oc-link, .page-us .oc-link{display: block; font-size: var(--font-size-13); font-weight: 700; color: var(--primary-color); padding-top: 12px; border-top: 1px solid #f0f0f0;}

/* ⑩ 비용 */
.page-abd .cost-info, .page-us .cost-info{padding: 40px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.page-abd .cost-grid, .page-us .cost-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 26px;}
.page-abd .cost-item, .page-us .cost-item{padding: 24px; background: #faf5f4; border-radius: 12px;}
.page-abd .cost-tag, .page-us .cost-tag{display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px; color: #fff;}
.page-abd .cost-tag.insurance, .page-us .cost-tag.insurance{background: var(--primary-color);}
.page-abd .cost-tag.national, .page-us .cost-tag.national{background: #4d9370;}
.page-abd .cost-tag.non-insurance, .page-us .cost-tag.non-insurance{background: #888;}
.page-abd .cost-item p, .page-us .cost-item p{font-size: var(--font-size-14); line-height: 1.85em; color: #444; margin: 0;}
.page-abd .cost-item strong, .page-us .cost-item strong{color: var(--dark-color); font-weight: 700;}
.page-abd .cost-note, .page-us .cost-note{padding: 22px; background: #fff8ec; border-left: 4px solid #d9a441; border-radius: 4px; font-size: var(--font-size-14); color: #6d5320; line-height: 1.9em; margin: 0 !important;}
.page-abd .cost-note strong, .page-us .cost-note strong{color: #8a6420; font-weight: 700;}

/* FAQ */
.abd-faq, .us-faq{display: flex; flex-direction: column; gap: 10px;}
.abd-faq .faq-item, .us-faq .faq-item{background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: .2s;}
.abd-faq .faq-item.active, .us-faq .faq-item.active{box-shadow: 0 4px 16px rgba(125,28,30,.12);}
.abd-faq .faq-q, .us-faq .faq-q{display: flex; align-items: center; width: 100%; padding: 22px 28px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 18px; transition: .2s;}
.abd-faq .faq-q:hover, .us-faq .faq-q:hover{background: #faf7f6;}
.abd-faq .q-num, .us-faq .q-num{display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 16px; font-weight: 700;}
.abd-faq .q-txt, .us-faq .q-txt{flex: 1; font-size: var(--font-size-17); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.abd-faq .q-arrow, .us-faq .q-arrow{position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.abd-faq .q-arrow::before, .us-faq .q-arrow::before, .abd-faq .q-arrow::after, .us-faq .q-arrow::after{content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.abd-faq .q-arrow::before, .us-faq .q-arrow::before{transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.abd-faq .faq-item.active .q-arrow::before, .us-faq .faq-item.active .q-arrow::before{transform: translate(-50%, -50%) rotate(0deg);}
.abd-faq .faq-a, .us-faq .faq-a{display: none; padding: 0 28px 26px 28px;}
.abd-faq .faq-item.active .faq-a, .us-faq .faq-item.active .faq-a{display: flex; gap: 18px; align-items: flex-start;}
.abd-faq .a-num, .us-faq .a-num{display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 16px; font-weight: 700;}
.abd-faq .a-txt, .us-faq .a-txt{flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #555; padding-top: 6px;}
.abd-faq .a-txt strong, .us-faq .a-txt strong{color: var(--dark-color); font-weight: 700;}

/* 원장 노트 */
.abd-doctor-note, .us-doctor-note{padding: 100px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.abd-doctor-note .doctor-note-inner, .us-doctor-note .doctor-note-inner{display: grid; grid-template-columns: 300px 1fr; gap: 60px; align-items: center; max-width: 1100px; margin: 0 auto;}
.abd-doctor-note .dn-photo img, .us-doctor-note .dn-photo img{display: block; width: 100%; height: auto; }
.abd-doctor-note .dn-content, .us-doctor-note .dn-content{position: relative;}
.abd-doctor-note .dn-quote-mark, .us-doctor-note .dn-quote-mark{position: absolute; top: -60px; left: -20px; font-size: 120px; color: #FFE9B0; opacity: .4; line-height: 1; font-family: Georgia, serif;}
.abd-doctor-note .dn-quote, .us-doctor-note .dn-quote{margin: 0; padding: 0; border: none;}
.abd-doctor-note .dn-quote p, .us-doctor-note .dn-quote p{font-size: var(--font-size-17); line-height: 1.95em; color: rgba(255,255,255,.9); margin-bottom: 18px;}
.abd-doctor-note .dn-quote p:last-child, .us-doctor-note .dn-quote p:last-child{margin-bottom: 0;}
.abd-doctor-note .dn-quote strong, .us-doctor-note .dn-quote strong{color: #FFE9B0; font-weight: 700;}
.abd-doctor-note .dn-signature, .us-doctor-note .dn-signature{margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2);}
.abd-doctor-note .dn-signature strong, .us-doctor-note .dn-signature strong{display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.abd-doctor-note .dn-signature span, .us-doctor-note .dn-signature span{display: block; font-size: var(--font-size-14); color: rgba(255,255,255,.65); margin-top: 6px;}

/* CTA */
.abd-cta, .us-cta{padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.abd-cta h3, .us-cta h3{font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 18px; letter-spacing: -.02em;}
.abd-cta > .contain > p, .us-cta > .contain > p{font-size: var(--font-size-16); color: #666; line-height: 1.85em; margin-bottom: 36px;}
.abd-cta .cta-buttons, .us-cta .cta-buttons{display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 30px;}
.abd-cta .cta-btn, .us-cta .cta-btn{display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.abd-cta .cta-btn:hover, .us-cta .cta-btn:hover{background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.abd-cta .cta-btn.cta-tel, .us-cta .cta-btn.cta-tel{background: var(--primary-color); color: #fff;}
.abd-cta .cta-btn.cta-tel:hover, .us-cta .cta-btn.cta-tel:hover{background: var(--dark-color); border-color: var(--dark-color);}
.abd-cta .cta-ico, .us-cta .cta-ico{display: inline-flex; align-items: center; justify-content: center;}
.abd-cta .cta-btn > div, .us-cta .cta-btn > div{text-align: left; display: flex; flex-direction: column;}
.abd-cta .cta-label, .us-cta .cta-label{font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.abd-cta .cta-value, .us-cta .cta-value{font-size: 18px; font-weight: 700;}
.abd-cta .cta-btn.cta-reserve, .us-cta .cta-btn.cta-reserve{color: var(--primary-color);}
.abd-cta .cta-btn.cta-reserve:hover, .us-cta .cta-btn.cta-reserve:hover{color: #fff;}
.page-abd .cta-links, .page-us .cta-links{display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; padding-top: 26px; border-top: 1px solid #ebe0de;}
.page-abd .cta-links a, .page-us .cta-links a{font-size: var(--font-size-15); color: var(--primary-color); font-weight: 600; text-decoration: none; transition: .2s;}
.page-abd .cta-links a:hover, .page-us .cta-links a:hover{text-decoration: underline;}

/* ========================================
   상복부초음파 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .abd-hero{padding: 60px 0 !important;}
    .abd-section, .thy-section, .brs-section, .car-section, .abd-who, .abd-finding, .brs-finding, .abd-router, .us-router, .abd-other, .us-other{padding: 56px 0 !important;}
    .page-abd .router-grid, .page-us .router-grid{grid-template-columns: repeat(3, 1fr);}
    .page-abd .who-compare{grid-template-columns: 1fr;}
    .page-abd .organ-grid{grid-template-columns: 1fr 1fr;}
    .page-abd .fnd-list, .page-us .fnd-list{grid-template-columns: 1fr;}
    .page-abd .other-grid, .page-us .other-grid{grid-template-columns: 1fr 1fr;}
    .page-abd .cost-grid, .page-us .cost-grid{grid-template-columns: 1fr;}
    .abd-doctor-note .doctor-note-inner, .us-doctor-note .doctor-note-inner{grid-template-columns: 1fr; gap: 40px; text-align: center;}
    .abd-doctor-note .dn-photo, .us-doctor-note .dn-photo{max-width: 240px; margin: 0 auto;}
}

/* ========================================
   상복부초음파 — 모바일
   ======================================== */
@media (max-width: 640px) {

    /* 히어로 */
    .abd-hero{padding: 44px 0 !important;}
    .abd-hero .hero-title{font-size: 30px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .abd-hero .hero-lead{font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .abd-hero .hero-eyebrow{font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    /* 강점 카드 → 가로 3분할 */
    .abd-highlights, .us-highlights{padding: 30px 0 !important;}
    .abd-highlights .highlight-cards, .us-highlights .highlight-cards{grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .abd-highlights .highlight-card, .us-highlights .highlight-card{padding: 20px 8px; border-radius: 12px;}
    .abd-highlights .hc-icon, .us-highlights .hc-icon{width: 44px; height: 44px; margin-bottom: 8px;}
    .abd-highlights .hc-icon svg, .us-highlights .hc-icon svg{width: 24px; height: 24px;}
    .abd-highlights .hc-title, .us-highlights .hc-title{font-size: 12.5px; margin-bottom: 6px; line-height: 1.35em;}
    .abd-highlights .hc-desc, .us-highlights .hc-desc{font-size: 10.5px; line-height: 1.5em;}

    /* 라우터 → 가로 스크롤 칩 */
    .abd-router, .us-router{padding: 36px 0 !important;}
    .abd-router .section-head, .us-router .section-head{margin-bottom: 20px;}
    .abd-router .sh-badge, .us-router .sh-badge{font-size: 10px; padding: 4px 14px; margin-bottom: 12px;}
    .abd-router .section-head h3, .us-router .section-head h3{font-size: 21px !important; margin-bottom: 8px !important;}
    .abd-router .sh-desc, .us-router .sh-desc{font-size: 13px !important; line-height: 1.65em !important;}
    .abd-router .sh-desc br, .us-router .sh-desc br{display: none;}
    .page-abd .router-grid, .page-us .router-grid{display: flex !important; grid-template-columns: none !important; gap: 10px; overflow-x: auto; padding: 4px 20px 14px; margin: 0 -20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;}
    .page-abd .router-grid::-webkit-scrollbar, .page-us .router-grid::-webkit-scrollbar{display: none;}
    .page-abd .router-item, .page-us .router-item{flex: 0 0 210px; min-height: auto; padding: 18px; scroll-snap-align: start;}
    .page-abd .ri-when, .page-us .ri-when{font-size: 15px !important; margin-bottom: 7px !important;}
    .page-abd .ri-desc, .page-us .ri-desc{font-size: 12px !important; margin-bottom: 12px !important;}
    .page-abd .ri-target, .page-us .ri-target{font-size: 12px !important; padding-top: 10px !important;}
    .page-abd .router-note, .page-us .router-note{padding: 14px 18px !important;}
    .page-abd .router-note p, .page-us .router-note p{font-size: 12.5px !important; line-height: 1.75em !important;}

    /* ★ 누가 하느냐 → 상하 대비 (박스 유지) */
    .abd-who{padding: 44px 0 !important;}
    .abd-who .section-head{margin-bottom: 24px;}
    .abd-who .sh-badge{font-size: 10px; padding: 4px 14px;}
    .abd-who .section-head h3{font-size: 23px !important; margin-bottom: 10px !important;}
    .abd-who .sh-desc{font-size: 13.5px !important; line-height: 1.75em !important;}
    .page-abd .who-compare{gap: 12px !important; margin-bottom: 18px !important;}
    .page-abd .wc-item{padding: 20px 18px !important; border-radius: 14px; border-width: 1px !important;}
    .page-abd .wci-label{padding: 4px 14px !important; font-size: 12.5px !important; margin-bottom: 12px !important;}
    .page-abd .wci-list li{font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .page-abd .wci-list li::before{top: 13px; width: 6px !important; height: 6px !important;}
    .page-abd .who-why{grid-template-columns: 1fr !important; gap: 14px !important; padding: 24px 20px !important; border-radius: 14px; margin-bottom: 16px !important;}
    .page-abd .ww-icon{width: 44px !important; height: 44px !important;}
    .page-abd .ww-icon svg{width: 22px !important; height: 22px !important;}
    .page-abd .ww-body h4{font-size: 17px !important; margin-bottom: 12px !important;}
    .page-abd .ww-body p{font-size: 13.5px !important; line-height: 1.9em !important;}
    .page-abd .who-honest{padding: 16px 18px !important;}
    .page-abd .who-honest p{font-size: 13px !important; line-height: 1.85em !important;}

    /* 섹션 헤드 */
    .abd-section, .thy-section, .brs-section, .car-section{padding: 44px 0 !important;}
    .abd-section .section-head, .thy-section .section-head, .brs-section .section-head, .car-section .section-head{margin-bottom: 26px;}
    .abd-section .sh-num, .thy-section .sh-num, .brs-section .sh-num, .car-section .sh-num{font-size: 11px; padding: 3px 12px; margin-bottom: 12px;}
    .abd-section .section-head h3, .thy-section .section-head h3, .brs-section .section-head h3, .car-section .section-head h3{font-size: 22px !important; line-height: 1.35em !important; margin-bottom: 10px !important;}
    .abd-section .sh-desc, .thy-section .sh-desc, .brs-section .sh-desc, .car-section .sh-desc{font-size: 13.5px !important; line-height: 1.7em !important;}

    /* 장기 → 2열 유지 */
    .page-abd .organ-grid{grid-template-columns: repeat(2, 1fr) !important; gap: 10px;}
    .page-abd .organ-card{padding: 18px 14px !important; border-radius: 12px;}
    .page-abd .organ-card h4{font-size: 15.5px !important; margin-bottom: 8px !important;}
    .page-abd .organ-card p{font-size: 11.5px !important; line-height: 1.75em !important;}
    .page-abd .oc-limit{font-size: 10.5px !important; margin-top: 5px !important;}

    /* ★ 언제 받나 → 좌측 라인 흐름 */
    .page-abd .when-list, .page-us .when-list{gap: 0 !important;}
    .page-abd .when-item, .page-us .when-item{grid-template-columns: 14px 1fr !important; gap: 12px !important; padding: 16px 0 16px 16px !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-left: 3px solid #e0dad4 !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 4px;}
    .page-abd .when-item:last-child, .page-us .when-item:last-child{border-bottom: none !important;}
    .page-abd .when-item.link, .page-us .when-item.link{border-left-color: var(--primary-color) !important;}
    .page-abd .when-item.link:hover, .page-us .when-item.link:hover{transform: none !important; box-shadow: none !important;}
    .page-abd .wi-mark, .page-us .wi-mark{width: 8px !important; height: 8px !important; margin-top: 6px !important;}
    .page-abd .when-item > div strong, .page-us .when-item > div strong{font-size: 14.5px !important; margin-bottom: 4px !important;}
    .page-abd .when-item > div span, .page-us .when-item > div span{font-size: 12.5px !important; line-height: 1.8em !important;}

    /* 자주 나오는 소견 */
    .abd-finding, .brs-finding{padding: 44px 0 !important;}
    .abd-finding .section-head, .brs-finding .section-head{margin-bottom: 24px;}
    .abd-finding .sh-badge, .brs-finding .sh-badge{font-size: 10px; padding: 4px 14px;}
    .abd-finding .section-head h3, .brs-finding .section-head h3{font-size: 23px !important; margin-bottom: 10px !important;}
    .abd-finding .sh-desc, .brs-finding .sh-desc{font-size: 13.5px !important; line-height: 1.75em !important;}
    .abd-finding .sh-desc br, .brs-finding .sh-desc br{display: none;}
    .page-abd .fnd-list, .page-us .fnd-list{gap: 10px !important; margin-bottom: 18px !important;}
    .page-abd .fnd-item, .page-us .fnd-item{padding: 20px 18px !important; border-radius: 12px;}
    .page-abd .fi-head, .page-us .fi-head{margin-bottom: 10px !important; padding-bottom: 10px !important;}
    .page-abd .fi-name, .page-us .fi-name{font-size: 17px !important;}
    .page-abd .fi-tag, .page-us .fi-tag{font-size: 10.5px !important; padding: 2px 9px !important;}
    .page-abd .fnd-item p, .page-us .fnd-item p{font-size: 13.5px !important; line-height: 1.9em !important; margin-bottom: 8px !important;}
    .page-abd .fi-note, .page-us .fi-note{font-size: 12.5px !important; padding: 12px 14px !important;}
    .page-abd .fnd-note, .page-us .fnd-note{padding: 18px 20px !important; border-left-width: 4px !important;}
    .page-abd .fnd-note p, .page-us .fnd-note p{font-size: 13px !important; line-height: 1.9em !important;}

    /* 금식 박스 */
    .page-abd .fast-box{padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px; margin-bottom: 18px !important;}
    .page-abd .fb-head{gap: 10px !important; margin-bottom: 12px !important;}
    .page-abd .fb-icon{width: 34px !important; height: 34px !important; flex: 0 0 34px !important;}
    .page-abd .fb-icon svg{width: 18px !important; height: 18px !important;}
    .page-abd .fb-head h4{font-size: 16.5px !important;}
    .page-abd .fast-box > p{font-size: 13.5px !important; line-height: 1.9em !important; margin-bottom: 14px !important;}
    .page-abd .fb-rule{gap: 14px !important; padding: 16px 18px !important;}
    .page-abd .fbr-num{font-size: 24px !important;}
    .page-abd .fbr-txt{font-size: 13px !important; line-height: 1.75em !important;}

    /* 진행 → 좌측 라인 리스트 */
    .page-abd .proc-flow{gap: 0 !important; margin-bottom: 18px !important;}
    .page-abd .pf-item{grid-template-columns: 30px 1fr !important; gap: 12px !important; padding: 14px 0 14px 16px !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-left: 3px solid #ddd !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 4px;}
    .page-abd .pf-item:last-child{border-bottom: none !important;}
    .page-abd .pf-item.highlight{background: transparent !important; border-left-color: var(--primary-color) !important;}
    .page-abd .pf-num{font-size: 15px !important;}
    .page-abd .pf-item > div strong{font-size: 14.5px !important; margin-bottom: 4px !important;}
    .page-abd .pf-item > div span{font-size: 12.5px !important; line-height: 1.85em !important;}
    .page-abd .total-time{padding: 18px 16px !important;}
    .page-abd .tt-label{font-size: 12px !important;}
    .page-abd .tt-value{font-size: 15px !important;}
    .page-abd .tt-value strong{font-size: 18px !important;}
    .page-abd .tt-note{font-size: 11.5px !important;}

    /* 다른 부위 초음파 → 2열 유지 */
    .abd-other, .us-other{padding: 44px 0 !important;}
    .abd-other .section-head, .us-other .section-head{margin-bottom: 24px;}
    .abd-other .sh-badge, .us-other .sh-badge{font-size: 10px; padding: 4px 14px;}
    .abd-other .section-head h3, .us-other .section-head h3{font-size: 21px !important; margin-bottom: 10px !important;}
    .abd-other .sh-desc, .us-other .sh-desc{font-size: 13px !important;}
    .page-abd .other-grid, .page-us .other-grid{grid-template-columns: repeat(2, 1fr) !important; gap: 10px;}
    .page-abd .oth-card, .page-us .oth-card{padding: 18px 14px !important; border-radius: 12px;}
    .page-abd .oth-card:hover, .page-us .oth-card:hover{transform: none !important;}
    .page-abd .oc-badge, .page-us .oc-badge{font-size: 9.5px !important; padding: 2px 8px !important; margin-bottom: 8px !important;}
    .page-abd .oth-card h4, .page-us .oth-card h4{font-size: 15px !important; margin-bottom: 8px !important;}
    .page-abd .oth-card > p, .page-us .oth-card > p{font-size: 11.5px !important; line-height: 1.7em !important; margin-bottom: 8px !important;}
    .page-abd .oc-when, .page-us .oc-when{font-size: 11px !important; line-height: 1.65em !important; margin-bottom: 10px !important;}
    .page-abd .oc-link, .page-us .oc-link{font-size: 11.5px !important; padding-top: 9px !important;}

    /* 비용 */
    .page-abd .cost-info, .page-us .cost-info{padding: 22px 20px !important; border-radius: 12px;}
    .page-abd .cost-grid, .page-us .cost-grid{gap: 10px !important; margin-bottom: 18px !important;}
    .page-abd .cost-item, .page-us .cost-item{padding: 18px !important;}
    .page-abd .cost-tag, .page-us .cost-tag{padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .page-abd .cost-item p, .page-us .cost-item p{font-size: 13px !important;}
    .page-abd .cost-note, .page-us .cost-note{padding: 16px 18px !important; font-size: 12.5px !important; line-height: 1.9em !important;}

    /* FAQ */
    .abd-faq .faq-q, .us-faq .faq-q{padding: 16px 18px !important; gap: 12px;}
    .abd-faq .q-num, .us-faq .q-num{flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .abd-faq .q-txt, .us-faq .q-txt{font-size: 14px !important; line-height: 1.55em !important;}
    .abd-faq .faq-a, .us-faq .faq-a{padding: 0 18px 20px 18px !important;}
    .abd-faq .a-num, .us-faq .a-num{flex: 0 0 30px !important; width: 30px !important; height: 30px !important; font-size: 14px !important;}
    .abd-faq .a-txt, .us-faq .a-txt{font-size: 13px !important; line-height: 1.9em !important;}

    /* 원장 노트 */
    .abd-doctor-note, .us-doctor-note{padding: 50px 0 !important;}
    .abd-doctor-note .doctor-note-inner, .us-doctor-note .doctor-note-inner{gap: 24px !important;}
    .abd-doctor-note .dn-photo, .us-doctor-note .dn-photo{max-width: 150px !important;}
    .abd-doctor-note .dn-content, .us-doctor-note .dn-content{text-align: left;}
    .abd-doctor-note .dn-quote-mark, .us-doctor-note .dn-quote-mark{font-size: 60px !important; top: -32px !important; left: -4px !important;}
    .abd-doctor-note .dn-quote p, .us-doctor-note .dn-quote p{font-size: 13.5px !important; line-height: 1.95em !important; margin-bottom: 14px;}
    .abd-doctor-note .dn-signature, .us-doctor-note .dn-signature{margin-top: 20px !important; padding-top: 16px !important;}
    .abd-doctor-note .dn-signature strong, .us-doctor-note .dn-signature strong{font-size: 17px !important;}
    .abd-doctor-note .dn-signature span, .us-doctor-note .dn-signature span{font-size: 12px !important;}

    /* CTA */
    .abd-cta, .us-cta{padding: 50px 0 !important;}
    .abd-cta h3, .us-cta h3{font-size: 22px !important; margin-bottom: 12px !important;}
    .abd-cta > .contain > p, .us-cta > .contain > p{font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 24px !important;}
    .abd-cta .cta-buttons, .us-cta .cta-buttons{flex-direction: column; gap: 10px; margin-bottom: 22px;}
    .abd-cta .cta-btn, .us-cta .cta-btn{padding: 16px 24px !important; min-width: auto; width: 100%;}
    .abd-cta .cta-label, .us-cta .cta-label{font-size: 11px;}
    .abd-cta .cta-value, .us-cta .cta-value{font-size: 16px;}
    .page-abd .cta-links, .page-us .cta-links{gap: 16px; padding-top: 20px;}
    .page-abd .cta-links a, .page-us .cta-links a{font-size: 12.5px;}
}

@media (max-width: 380px) {
    .abd-hero .hero-title{font-size: 26px !important;}
    .abd-highlights .highlight-cards, .us-highlights .highlight-cards{gap: 6px;}
    .abd-highlights .highlight-card, .us-highlights .highlight-card{padding: 16px 4px;}
    .abd-highlights .hc-title, .us-highlights .hc-title{font-size: 11.5px;}
    .abd-highlights .hc-desc, .us-highlights .hc-desc{font-size: 10px;}
    .page-abd .router-item, .page-us .router-item{flex: 0 0 186px;}
    .page-abd .organ-grid{grid-template-columns: 1fr !important;}
    .page-abd .other-grid, .page-us .other-grid{grid-template-columns: 1fr !important;}
}

/* ========================================
   갑상선초음파 페이지 (page-thy) — 전용 스타일
   공통 스타일은 .page-us / .us-* 로 상복부와 공유
   ======================================== */

/* ① 히어로 — 밝은 라벤더-블루 (상복부 아쿠아와 구분) */
.thy-hero{background: linear-gradient(135deg, #f2f3f7 0%, #e3e5ee 100%); padding: 80px 0 !important;}
.thy-hero-inner{max-width: 900px; margin: 0 auto; text-align: center;}
.thy-hero .hero-eyebrow{display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.thy-hero .hero-title{font-size: clamp(36px, calc(62 / var(--inner) * 100vw), 62px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.thy-hero .hero-lead{font-size: var(--font-size-18); line-height: 1.95em; color: #45464e;}
.thy-hero .hero-lead strong{color: var(--primary-color); font-weight: 700;}

/* ④ ★ 결절 불안 해소 */
.thy-nodule{padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f4f5f9 100%);}
.thy-nodule .section-head{text-align: center; margin-bottom: 44px;}
.thy-nodule .sh-badge{display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.thy-nodule .section-head h3{font-size: clamp(28px, calc(44 / var(--inner) * 100vw), 44px); font-weight: 800; color: var(--dark-color); line-height: 1.25em; margin-bottom: 14px; letter-spacing: -.025em;}
.thy-nodule .sh-desc{font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.thy-nodule .sh-desc strong{color: var(--primary-color);}
.thy-nodule .section-body{max-width: 960px; margin: 0 auto;}

.nod-facts{display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 26px;}
.nf-item{display: grid; grid-template-columns: 38px 1fr; gap: 16px; align-items: start; padding: 26px 24px; background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.05);}
.nf-num{font-size: 17px; font-weight: 800; color: var(--primary-color); opacity: .7;}
.nf-item > div strong{display: block; font-size: var(--font-size-18); color: var(--dark-color); font-weight: 700; margin-bottom: 8px;}
.nf-item > div span{display: block; font-size: var(--font-size-14); color: #666; line-height: 1.9em;}
.nf-item > div span strong{display: inline; font-size: inherit; color: var(--primary-color); margin: 0;}

.nod-msg{display: grid; grid-template-columns: 66px 1fr; gap: 22px; align-items: start; padding: 32px 36px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; color: #fff;}
.nm-icon{display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; background: rgba(255,233,176,.15); color: #FFE9B0; border-radius: 50%;}
.nm-body h4{font-size: var(--font-size-22); font-weight: 700; color: #FFE9B0; margin-bottom: 14px;}
.nm-body p{font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 12px;}
.nm-body p:last-child{margin-bottom: 0;}
.nm-body strong{color: #FFE9B0; font-weight: 700;}

/* ⑤ 초음파 vs 혈액검사 */
.vs-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 24px;}
.vs-card{padding: 30px 28px; background: #fff; border-radius: 18px; border: 2px solid #e5e5e5;}
.vs-card.shape{border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.vs-card.func{border-color: #5d6a85; background: linear-gradient(180deg, #f6f7fa 0%, #fff 100%);}
.vs-label{display: inline-block; padding: 5px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 12px;}
.vs-card.shape .vs-label{background: var(--primary-color);}
.vs-card.func .vs-label{background: #5d6a85;}
.vs-card h4{font-size: var(--font-size-22); font-weight: 800; color: var(--dark-color); margin-bottom: 18px; letter-spacing: -.01em;}
.vs-list{list-style: none; padding: 0; margin: 0;}
.vs-list li{position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.vs-list li strong{color: var(--dark-color); font-weight: 700;}
.vs-card.shape .vs-list li::before{content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: var(--primary-color); border-radius: 50%;}
.vs-card.func .vs-list li::before{content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: #5d6a85; border-radius: 50%;}
.vs-note{padding: 24px 30px; background: #fff; border-left: 5px solid var(--primary-color); border-radius: 4px;}
.vs-note p{font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin: 0;}
.vs-note strong{color: var(--primary-color); font-weight: 700;}

/* ⑥ 검사 진행 (갑상선 전용 컴팩트 버전) */
.thy-proc, .brs-proc, .car-proc{margin-top: 30px; padding: 32px 34px; background: #fff; border: 1px solid #e5e5e5; border-radius: 18px;}
.tp-head{display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-bottom: 20px;}
.tp-badge{padding: 5px 16px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700;}
.tp-head h4{font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin: 0;}
.tp-flow{display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px;}
.tp-item{display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: start; padding: 18px 22px; background: #faf7f5; border-radius: 12px;}
.tp-item.highlight{background: #faf5f4; border-left: 4px solid var(--primary-color);}
.tp-num{font-size: 16px; font-weight: 800; color: var(--primary-color); opacity: .7;}
.tp-item > div strong{display: block; font-size: var(--font-size-16); color: var(--dark-color); font-weight: 700; margin-bottom: 4px;}
.tp-item > div span{display: block; font-size: var(--font-size-14); color: #666; line-height: 1.85em;}
.tp-item > div span strong{display: inline; font-size: inherit; color: var(--primary-color); margin: 0;}
.tp-total{display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; padding: 18px; background: var(--dark-color); border-radius: 12px; color: #fff;}
.tpt-label{font-size: 13px; color: rgba(255,255,255,.7);}
.tpt-value{font-size: var(--font-size-18);}
.tpt-value strong{color: #FFE9B0; font-size: var(--font-size-21);}

/* ⑦ ★ 결절 발견 시 다음 단계 */
.thy-next{padding: 84px 0 !important; background: linear-gradient(180deg, #f7f5f2 0%, #efeae5 100%);}
.thy-next .section-head{text-align: center; margin-bottom: 44px;}
.thy-next .sh-badge{display: inline-block; padding: 6px 20px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.thy-next .section-head h3{font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.thy-next .sh-desc{font-size: var(--font-size-16); color: #6a635d; line-height: 1.8em;}
.thy-next .sh-desc strong{color: var(--primary-color);}
.thy-next .section-body{max-width: 960px; margin: 0 auto;}

.nx-flow{display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 24px;}
.nx-item{position: relative; padding: 30px 26px; background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.05);}
.nx-item::after{content: ''; position: absolute; top: 50%; right: -15px; transform: translateY(-50%) rotate(45deg); width: 10px; height: 10px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color); z-index: 2;}
.nx-item:last-child::after{display: none;}
.nx-num{display: inline-block; font-size: 12px; font-weight: 800; color: #fff; background: var(--primary-color); padding: 3px 11px; border-radius: 4px; margin-bottom: 12px;}
.nx-item h4{font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.nx-item p{font-size: var(--font-size-14); line-height: 1.9em; color: #666; margin: 0;}
.nx-item strong{color: var(--primary-color); font-weight: 700;}
.nx-note{padding: 24px 30px; background: #fff; border-left: 5px solid var(--primary-color); border-radius: 4px;}
.nx-note p{font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin: 0;}
.nx-note strong{color: var(--primary-color); font-weight: 700;}

/* 비용 2열 변형 */
.page-thy .cost-grid.two, .page-brs .cost-grid.two, .page-car .cost-grid.two{grid-template-columns: 1fr 1fr !important;}

/* ========================================
   갑상선 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .thy-hero{padding: 60px 0 !important;}
    .thy-nodule, .thy-next{padding: 56px 0 !important;}
    .nod-facts{grid-template-columns: 1fr;}
    .vs-grid{grid-template-columns: 1fr;}
    .nx-flow{grid-template-columns: 1fr;}
    .nx-item::after{display: none;}
    .page-thy .cost-grid.two, .page-brs .cost-grid.two, .page-car .cost-grid.two{grid-template-columns: 1fr !important;}
}

/* ========================================
   갑상선 — 모바일
   ======================================== */
@media (max-width: 640px) {
    .thy-hero{padding: 44px 0 !important;}
    .thy-hero .hero-title{font-size: 30px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .thy-hero .hero-lead{font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .thy-hero .hero-eyebrow{font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    /* ★ 결절 사실 4개 → 좌측 라인 흐름 (박스 벗김) */
    .thy-nodule{padding: 44px 0 !important;}
    .thy-nodule .section-head{margin-bottom: 24px;}
    .thy-nodule .sh-badge{font-size: 10px; padding: 4px 14px;}
    .thy-nodule .section-head h3{font-size: 26px !important; margin-bottom: 10px !important;}
    .thy-nodule .sh-desc{font-size: 13.5px !important; line-height: 1.75em !important;}
    .thy-nodule .sh-desc br{display: none;}
    .nod-facts{gap: 0 !important; margin-bottom: 20px !important;}
    .nf-item{grid-template-columns: 28px 1fr !important; gap: 12px !important; padding: 16px 0 16px 16px !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e2e0e6 !important; margin-left: 4px;}
    .nf-item:last-child{border-bottom: none !important;}
    .nf-num{font-size: 14px !important;}
    .nf-item > div strong{font-size: 15.5px !important; margin-bottom: 6px !important;}
    .nf-item > div span{font-size: 12.5px !important; line-height: 1.85em !important;}
    .nod-msg{grid-template-columns: 1fr !important; gap: 14px !important; padding: 24px 20px !important; border-radius: 14px;}
    .nm-icon{width: 44px !important; height: 44px !important;}
    .nm-icon svg{width: 22px !important; height: 22px !important;}
    .nm-body h4{font-size: 17px !important; margin-bottom: 12px !important;}
    .nm-body p{font-size: 13.5px !important; line-height: 1.9em !important;}

    /* ★ 초음파 vs 혈액 → 상하 배치, 박스 유지 (대비가 정보) */
    .vs-grid{gap: 12px !important; margin-bottom: 18px !important;}
    .vs-card{padding: 22px 20px !important; border-radius: 14px; border-width: 1px !important;}
    .vs-label{padding: 4px 13px !important; font-size: 11.5px !important; margin-bottom: 10px !important;}
    .vs-card h4{font-size: 19px !important; margin-bottom: 14px !important;}
    .vs-list li{font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .vs-list li::before{top: 13px; width: 6px !important; height: 6px !important;}
    .vs-note{padding: 18px 20px !important; border-left-width: 4px !important;}
    .vs-note p{font-size: 13px !important; line-height: 1.9em !important;}

    /* 검사 진행 → 좌측 라인 리스트 */
    .thy-proc, .brs-proc, .car-proc{margin-top: 22px !important; padding: 22px 20px !important; border-radius: 12px;}
    .tp-head{gap: 10px !important; margin-bottom: 14px !important;}
    .tp-badge{padding: 4px 13px !important; font-size: 11px !important;}
    .tp-head h4{font-size: 16.5px !important;}
    .tp-flow{gap: 0 !important; margin-bottom: 14px !important;}
    .tp-item{grid-template-columns: 28px 1fr !important; gap: 12px !important; padding: 14px 0 14px 14px !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; border-left: 3px solid #ddd !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 4px;}
    .tp-item:last-child{border-bottom: none !important;}
    .tp-item.highlight{background: transparent !important; border-left-color: var(--primary-color) !important;}
    .tp-num{font-size: 14px !important;}
    .tp-item > div strong{font-size: 14.5px !important;}
    .tp-item > div span{font-size: 12.5px !important; line-height: 1.85em !important;}
    .tp-total{padding: 14px 16px !important;}
    .tpt-label{font-size: 11.5px !important;}
    .tpt-value{font-size: 14px !important;}
    .tpt-value strong{font-size: 16px !important;}

    /* ★ 다음 단계 → 세로 + 아래 화살표 */
    .thy-next{padding: 44px 0 !important;}
    .thy-next .section-head{margin-bottom: 24px;}
    .thy-next .sh-badge{font-size: 10px; padding: 4px 14px;}
    .thy-next .section-head h3{font-size: 23px !important; margin-bottom: 10px !important;}
    .thy-next .sh-desc{font-size: 13.5px !important; line-height: 1.75em !important;}
    .thy-next .section-head h3 br{display: none;}
    .nx-flow{gap: 22px !important; margin-bottom: 20px !important;}
    .nx-item{padding: 18px 20px !important; border-radius: 12px;}
    .nx-item::after{display: block !important; top: auto !important; bottom: -17px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) rotate(135deg) !important;}
    .nx-item:last-child::after{display: none !important;}
    .nx-num{font-size: 10.5px !important; padding: 2px 10px !important; margin-bottom: 9px !important;}
    .nx-item h4{font-size: 16.5px !important; margin-bottom: 8px !important;}
    .nx-item p{font-size: 13px !important; line-height: 1.9em !important;}
    .nx-note{padding: 18px 20px !important; border-left-width: 4px !important;}
    .nx-note p{font-size: 13px !important; line-height: 1.9em !important;}
}

@media (max-width: 380px) {
    .thy-hero .hero-title{font-size: 26px !important;}
}

/* ========================================
   유방초음파 페이지 (page-brs) — 전용 스타일
   공통 스타일은 .page-us / .us-* 로 공유
   ======================================== */

/* ① 히어로 — 뮤트 로즈 뉴트럴 (상복부 아쿠아, 갑상선 라벤더와 구분) */
.brs-hero{background: linear-gradient(135deg, #f7f3f3 0%, #ece1e1 100%); padding: 80px 0 !important;}
.brs-hero-inner{max-width: 900px; margin: 0 auto; text-align: center;}
.brs-hero .hero-eyebrow{display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.brs-hero .hero-title{font-size: clamp(36px, calc(62 / var(--inner) * 100vw), 62px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.brs-hero .hero-lead{font-size: var(--font-size-18); line-height: 1.95em; color: #4a4544;}
.brs-hero .hero-lead strong{color: var(--primary-color); font-weight: 700;}

/* ② 프라이버시 박스 (콘딜로마 패턴 계승) */
.brs-privacy{padding: 46px 0 !important; background: #fff;}
.brs-privacy .privacy-box{max-width: 940px; margin: 0 auto; padding: 34px 38px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; color: #fff;}
.brs-privacy .pb-head{display: flex; align-items: center; gap: 14px; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.18);}
.brs-privacy .pb-icon{display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; background: rgba(255,233,176,.15); color: #FFE9B0; border-radius: 50%; flex: 0 0 42px;}
.brs-privacy .pb-head h3{font-size: var(--font-size-22); font-weight: 700; color: #FFE9B0; margin: 0; letter-spacing: -.01em;}
.brs-privacy .pb-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 18px;}
.brs-privacy .pb-item{display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: rgba(255,255,255,.07); border-radius: 12px;}
.brs-privacy .pb-item strong{font-size: var(--font-size-16); color: #fff; font-weight: 700; line-height: 1.5em;}
.brs-privacy .pb-item span{font-size: var(--font-size-14); color: rgba(255,255,255,.72); line-height: 1.7em;}

/* ⑤ ★ 치밀유방 */
.brs-dense{padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f8f4f4 100%);}
.brs-dense .section-head{text-align: center; margin-bottom: 44px;}
.brs-dense .sh-badge{display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.brs-dense .section-head h3{font-size: clamp(28px, calc(44 / var(--inner) * 100vw), 44px); font-weight: 800; color: var(--dark-color); line-height: 1.25em; margin-bottom: 14px; letter-spacing: -.025em;}
.brs-dense .sh-desc{font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.brs-dense .sh-desc strong{color: var(--primary-color);}
.brs-dense .section-body{max-width: 960px; margin: 0 auto;}

.dense-main{display: grid; grid-template-columns: 68px 1fr; gap: 22px; align-items: start; padding: 32px 36px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; color: #fff; margin-bottom: 24px;}
.dm-icon{display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; background: rgba(255,233,176,.15); color: #FFE9B0; border-radius: 50%;}
.dm-body h4{font-size: var(--font-size-23); font-weight: 700; color: #FFE9B0; margin-bottom: 14px;}
.dm-body p{font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 12px;}
.dm-body p:last-child{margin-bottom: 0;}
.dm-body strong{color: #FFE9B0; font-weight: 700;}

.dense-why{padding: 30px 34px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5; margin-bottom: 22px;}
.dense-why h4{font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 20px;}
.dw-flow{display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 20px;}
.dw-item{position: relative; padding: 22px 20px; background: #faf7f5; border-radius: 12px;}
.dw-item::after{content: ''; position: absolute; top: 50%; right: -13px; transform: translateY(-50%) rotate(45deg); width: 9px; height: 9px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color); z-index: 2;}
.dw-item:last-child::after{display: none;}
.dw-num{display: inline-block; font-size: 11.5px; font-weight: 800; color: #fff; background: var(--primary-color); padding: 2px 10px; border-radius: 4px; margin-bottom: 10px;}
.dw-item p{font-size: var(--font-size-14); line-height: 1.85em; color: #555; margin: 0;}
.dw-item strong{color: var(--dark-color); font-weight: 700;}
.dw-conclusion{font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin: 0; padding: 18px 20px; background: #faf5f4; border-radius: 10px;}
.dw-conclusion strong{color: var(--primary-color); font-weight: 700;}

.dense-sol{padding: 24px 30px; background: #fff; border-left: 5px solid var(--primary-color); border-radius: 4px;}
.dense-sol p{font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin: 0;}
.dense-sol strong{color: var(--primary-color); font-weight: 700;}

/* ⑥ 유방촬영술 vs 초음파 */
.cmp-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 24px;}
.cmp-card{padding: 30px 28px; background: #fff; border-radius: 18px; border: 2px solid #e5e5e5;}
.cmp-card.mammo{border-color: #8a8f9a;}
.cmp-card.us{border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.cmp-card .cc-label{display: inline-block; padding: 6px 18px; border-radius: 999px; font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 20px;}
.cmp-card.mammo .cc-label{background: #6f7480;}
.cmp-card.us .cc-label{background: var(--primary-color);}
.cc-block{margin-bottom: 18px;}
.cc-block:last-child{margin-bottom: 0; padding-top: 16px; border-top: 1px dashed #e5e0d8;}
.ccb-title{display: block; font-size: 12px; font-weight: 700; letter-spacing: .05em; margin-bottom: 10px;}
.cc-block.good .ccb-title{color: #4d9370;}
.cc-block.limit .ccb-title{color: #a08d7a;}
.cc-block ul{list-style: none; padding: 0; margin: 0;}
.cc-block ul li{position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 1.95em; color: #444;}
.cc-block ul li strong{color: var(--dark-color); font-weight: 700;}
.cc-block.good ul li::before{content: '＋'; position: absolute; left: 2px; top: 0; color: #4d9370; font-weight: 800; font-size: 13px;}
.cc-block.limit ul li::before{content: '·'; position: absolute; left: 6px; top: 0; color: #b0a89e; font-weight: 800; font-size: 18px;}
.cc-block.limit ul li{color: #777; font-size: var(--font-size-14);}
.cmp-note{padding: 24px 30px; background: #fff; border-left: 5px solid var(--primary-color); border-radius: 4px;}
.cmp-note p{font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin: 0;}
.cmp-note strong{color: var(--primary-color); font-weight: 700;}

/* ⑦ 검사 시기 박스 */
.timing-box{margin-top: 26px; padding: 30px 34px; background: #fff; border-radius: 16px; border: 2px solid #cfa93f;}
.tb-head{display: flex; align-items: center; gap: 14px; margin-bottom: 18px;}
.tb-icon{display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: #fbf3e2; color: #b8863a; border-radius: 50%; flex: 0 0 40px;}
.tb-head h4{font-size: var(--font-size-20); font-weight: 700; color: #8a6420; margin: 0;}
.tb-rule{display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; padding: 20px 24px; background: #fdfaf2; border-radius: 12px; margin-bottom: 16px;}
.tbr-when{font-size: var(--font-size-17); color: #8a6420; white-space: nowrap;}
.tbr-when strong{font-size: var(--font-size-24); font-weight: 800; color: #b8863a;}
.tbr-why{font-size: var(--font-size-15); line-height: 1.85em; color: #6d5320;}
.tbr-why strong{color: #8a6420; font-weight: 700;}
.tb-note{font-size: var(--font-size-14); line-height: 1.9em; color: #777; margin: 0;}
.tb-note strong{color: var(--dark-color); font-weight: 700;}

/* ========================================
   유방 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .brs-hero{padding: 60px 0 !important;}
    .brs-dense{padding: 56px 0 !important;}
    .brs-privacy{padding: 36px 0 !important;}
    .brs-privacy .pb-grid{grid-template-columns: 1fr;}
    .dw-flow{grid-template-columns: 1fr;}
    .dw-item::after{display: none;}
    .cmp-grid{grid-template-columns: 1fr;}
    .tb-rule{grid-template-columns: 1fr; gap: 12px;}
    .page-brs .cost-grid.two, .page-car .cost-grid.two{grid-template-columns: 1fr !important;}
}

/* ========================================
   유방 — 모바일
   ======================================== */
@media (max-width: 640px) {
    .brs-hero{padding: 44px 0 !important;}
    .brs-hero .hero-title{font-size: 30px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .brs-hero .hero-lead{font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .brs-hero .hero-eyebrow{font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    /* 프라이버시 */
    .brs-privacy{padding: 28px 0 !important;}
    .brs-privacy .privacy-box{padding: 24px 20px !important; border-radius: 14px;}
    .brs-privacy .pb-head{gap: 12px !important; margin-bottom: 18px !important; padding-bottom: 14px !important;}
    .brs-privacy .pb-icon{width: 34px !important; height: 34px !important; flex: 0 0 34px !important;}
    .brs-privacy .pb-icon svg{width: 18px !important; height: 18px !important;}
    .brs-privacy .pb-head h3{font-size: 17.5px !important;}
    .brs-privacy .pb-grid{gap: 10px !important;}
    .brs-privacy .pb-item{padding: 14px 16px !important; gap: 4px !important;}
    .brs-privacy .pb-item strong{font-size: 14px !important;}
    .brs-privacy .pb-item span{font-size: 12.5px !important; line-height: 1.7em !important;}

    /* ★ 치밀유방 */
    .brs-dense{padding: 44px 0 !important;}
    .brs-dense .section-head{margin-bottom: 24px;}
    .brs-dense .sh-badge{font-size: 10px; padding: 4px 14px;}
    .brs-dense .section-head h3{font-size: 26px !important; margin-bottom: 10px !important;}
    .brs-dense .sh-desc{font-size: 13.5px !important; line-height: 1.75em !important;}
    .brs-dense .sh-desc br{display: none;}
    .dense-main{grid-template-columns: 1fr !important; gap: 14px !important; padding: 24px 20px !important; border-radius: 14px; margin-bottom: 18px !important;}
    .dm-icon{width: 44px !important; height: 44px !important;}
    .dm-icon svg{width: 22px !important; height: 22px !important;}
    .dm-body h4{font-size: 18px !important; margin-bottom: 12px !important;}
    .dm-body p{font-size: 13.5px !important; line-height: 1.9em !important;}
    .dense-why{padding: 22px 20px !important; border-radius: 12px; margin-bottom: 16px !important;}
    .dense-why h4{font-size: 16.5px !important; margin-bottom: 16px !important;}
    /* ★ 흐름 3단계 → 세로 + 아래 화살표 */
    .dw-flow{gap: 20px !important; margin-bottom: 16px !important;}
    .dw-item{padding: 16px 18px !important;}
    .dw-item::after{display: block !important; top: auto !important; bottom: -15px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) rotate(135deg) !important;}
    .dw-item:last-child::after{display: none !important;}
    .dw-num{font-size: 10.5px !important; padding: 2px 9px !important; margin-bottom: 8px !important;}
    .dw-item p{font-size: 13px !important; line-height: 1.85em !important;}
    .dw-conclusion{font-size: 13.5px !important; line-height: 1.9em !important; padding: 14px 16px !important;}
    .dense-sol{padding: 18px 20px !important; border-left-width: 4px !important;}
    .dense-sol p{font-size: 13px !important; line-height: 1.9em !important;}

    /* ★ 유방촬영술 vs 초음파 → 상하 배치, 박스 유지 */
    .cmp-grid{gap: 12px !important; margin-bottom: 18px !important;}
    .cmp-card{padding: 22px 20px !important; border-radius: 14px; border-width: 1px !important;}
    .cmp-card .cc-label{padding: 4px 14px !important; font-size: 12.5px !important; margin-bottom: 14px !important;}
    .cc-block{margin-bottom: 14px !important;}
    .cc-block:last-child{padding-top: 12px !important;}
    .ccb-title{font-size: 11px !important; margin-bottom: 8px !important;}
    .cc-block ul li{font-size: 13.5px !important; line-height: 1.9em !important; padding-left: 20px !important;}
    .cc-block.limit ul li{font-size: 12.5px !important;}
    .cmp-note{padding: 18px 20px !important; border-left-width: 4px !important;}
    .cmp-note p{font-size: 13px !important; line-height: 1.9em !important;}

    /* 검사 시기 */
    .timing-box{margin-top: 20px !important; padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .tb-head{gap: 10px !important; margin-bottom: 14px !important;}
    .tb-icon{width: 34px !important; height: 34px !important; flex: 0 0 34px !important;}
    .tb-icon svg{width: 18px !important; height: 18px !important;}
    .tb-head h4{font-size: 16.5px !important;}
    .tb-rule{padding: 16px 18px !important; margin-bottom: 12px !important;}
    .tbr-when{font-size: 14.5px !important;}
    .tbr-when strong{font-size: 20px !important;}
    .tbr-why{font-size: 13px !important; line-height: 1.8em !important;}
    .tb-note{font-size: 12.5px !important; line-height: 1.85em !important;}
}

@media (max-width: 380px) {
    .brs-hero .hero-title{font-size: 26px !important;}
}

/* ========================================
   경동맥초음파 페이지 (page-car) — 전용 스타일
   공통 스타일은 .page-us / .us-* 로 공유
   ======================================== */

/* ① 히어로 — 쿨 그레이블루 (상복부 아쿠아·갑상선 라벤더·유방 로즈와 구분) */
.car-hero {background: linear-gradient(135deg, #f1f4f6 0%, #e0e6ea 100%); padding: 80px 0 !important;}
.car-hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.car-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.car-hero .hero-title {font-size: clamp(36px, calc(62 / var(--inner) * 100vw), 62px); font-weight: 800; color: var(--dark-color); line-height: 1.1em; margin-bottom: 28px; letter-spacing: -.03em;}
.car-hero .hero-lead {font-size: var(--font-size-18); line-height: 1.95em; color: #43484c;}
.car-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* ④ ★ 왜 목 혈관을 보나 */
.car-window {padding: 84px 0 !important; background: linear-gradient(180deg, #fff 0%, #f3f6f8 100%);}
.car-window .section-head {text-align: center; margin-bottom: 44px;}
.car-window .sh-badge {display: inline-block; padding: 6px 20px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.car-window .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.car-window .sh-desc {font-size: var(--font-size-16); color: #666; line-height: 1.8em;}
.car-window .sh-desc strong {color: var(--primary-color);}
.car-window .section-body {max-width: 960px; margin: 0 auto;}

.win-flow {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 26px;}
.win-item {position: relative; padding: 30px 26px; background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.05);}
.win-item::after {content: ''; position: absolute; top: 50%; right: -15px; transform: translateY(-50%) rotate(45deg); width: 10px; height: 10px; border-top: 2px solid var(--primary-color); border-right: 2px solid var(--primary-color); z-index: 2;}
.win-item:last-child::after {display: none;}
.win-num {display: inline-block; font-size: 12px; font-weight: 800; color: #fff; background: var(--primary-color); padding: 3px 11px; border-radius: 4px; margin-bottom: 12px;}
.win-item h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.45em;}
.win-item p {font-size: var(--font-size-14); line-height: 1.9em; color: #666; margin: 0;}
.win-item strong {color: var(--primary-color); font-weight: 700;}

.win-msg {display: grid; grid-template-columns: 66px 1fr; gap: 22px; align-items: start; padding: 32px 36px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; color: #fff; margin-bottom: 22px;}
.wm-icon {display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; background: rgba(255,233,176,.15); color: #FFE9B0; border-radius: 50%;}
.wm-body h4 {font-size: var(--font-size-22); font-weight: 700; color: #FFE9B0; margin-bottom: 14px;}
.wm-body p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 12px;}
.wm-body p:last-child {margin-bottom: 0;}
.wm-body strong {color: #FFE9B0; font-weight: 700;}

.win-honest {padding: 22px 28px; background: #fff; border-left: 4px solid #d9a441; border-radius: 4px;}
.win-honest p {font-size: var(--font-size-15); line-height: 1.9em; color: #6d5320; margin: 0;}
.win-honest strong {color: #8a6420; font-weight: 700;}

/* ⑤ 위험 인자 */
.risk-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 20px;}
.risk-card {padding: 28px 24px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.risk-card.main {border-color: var(--primary-color); background: linear-gradient(180deg, #faf5f4 0%, #fff 100%);}
.rc-tag {display: inline-block; padding: 3px 11px; background: #8a8f8e; color: #fff; border-radius: 4px; font-size: 11px; font-weight: 700; margin-bottom: 12px;}
.risk-card.main .rc-tag {background: var(--primary-color);}
.risk-card h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--dark-color); margin-bottom: 14px;}
.rc-list {list-style: none; padding: 0; margin: 0;}
.rc-list li {position: relative; padding-left: 20px; font-size: var(--font-size-15); line-height: 2em; color: #555;}
.rc-list li strong {color: var(--dark-color); font-weight: 700;}
.risk-card.main .rc-list li strong {color: var(--primary-color);}
.rc-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 6px; height: 6px; background: #b8b3ae; border-radius: 50%;}
.risk-card.main .rc-list li::before {background: var(--primary-color);}

.risk-link {display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 24px 30px; background: #fff; border-left: 5px solid var(--primary-color); border-radius: 4px; text-decoration: none; transition: .2s; margin-bottom: 24px;}
.risk-link:hover {transform: translateX(4px); box-shadow: 0 6px 16px rgba(125,28,30,.08);}
.rl-txt {flex: 1; min-width: 240px; font-size: var(--font-size-15); line-height: 1.9em; color: #444;}
.rl-txt strong {color: var(--primary-color); font-weight: 700;}
.rl-go {font-size: var(--font-size-14); font-weight: 700; color: var(--primary-color); white-space: nowrap;}

.urgent-note {padding: 28px 32px; background: #fdf5f4; border-radius: 16px; border: 2px solid #d4837e;}
.un-head {display: flex; align-items: center; gap: 12px; margin-bottom: 16px;}
.un-mark {display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: #b8443f; color: #fff; border-radius: 50%; flex: 0 0 28px;}
.un-head h4 {font-size: var(--font-size-19); font-weight: 700; color: #7a2b28; margin: 0; line-height: 1.4em;}
.un-list {list-style: none; padding: 0; margin: 0 0 16px 0;}
.un-list li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 2em; color: #6a4340;}
.un-list li strong {color: #7a2b28; font-weight: 700;}
.un-list li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: #b8443f; border-radius: 50%;}
.urgent-note > p {font-size: var(--font-size-15); line-height: 1.9em; color: #6a4340; margin: 0; padding: 16px 18px; background: #fff; border-radius: 10px;}
.urgent-note > p strong {color: #b8443f; font-weight: 700;}

/* ⑥ 확인하는 것 */
.chk-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;}
.chk-card {padding: 26px 24px; background: #fff; border: 1px solid #e5e5e5; border-radius: 14px; transition: .22s;}
.chk-card:hover {border-color: var(--primary-color); box-shadow: 0 6px 16px rgba(125,28,30,.06);}
.chk-card h4 {font-size: var(--font-size-18); font-weight: 700; color: var(--primary-color); margin-bottom: 10px;}
.chk-card p {font-size: var(--font-size-14); line-height: 1.9em; color: #666; margin: 0;}
.chk-card strong {color: var(--dark-color); font-weight: 700;}

/* ⑦ ★ 결과에 따라 */
.car-result {padding: 84px 0 !important; background: linear-gradient(180deg, #f7f5f2 0%, #efeae5 100%);}
.car-result .section-head {text-align: center; margin-bottom: 44px;}
.car-result .sh-badge {display: inline-block; padding: 6px 20px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.car-result .section-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.3em; margin-bottom: 14px; letter-spacing: -.025em;}
.car-result .sh-desc {font-size: var(--font-size-16); color: #6a635d; line-height: 1.8em;}
.car-result .sh-desc strong {color: var(--primary-color);}
.car-result .section-body {max-width: 960px; margin: 0 auto;}

.res-grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 24px;}
.res-card {padding: 28px 26px; background: #fff; border-radius: 16px; border-left: 5px solid #e5e5e5;}
.res-card.lv1 {border-left-color: #4d9370;}
.res-card.lv2 {border-left-color: #cfa93f;}
.res-card.lv3 {border-left-color: #d4823a;}
.res-card.lv4 {border-left-color: #b8443f;}
.res-card .rc-head {display: flex; align-items: center; gap: 12px; margin-bottom: 12px;}
.res-card .rc-badge {display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; font-size: 13px; font-weight: 800; color: #fff; flex: 0 0 28px;}
.res-card.lv1 .rc-badge {background: #4d9370;}
.res-card.lv2 .rc-badge {background: #cfa93f;}
.res-card.lv3 .rc-badge {background: #d4823a;}
.res-card.lv4 .rc-badge {background: #b8443f;}
.res-card .rc-head h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin: 0;}
.res-card p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.res-card strong {color: var(--primary-color); font-weight: 700;}

.res-link {display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 30px 34px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; text-decoration: none; transition: .2s; color: #fff;}
.res-link:hover {transform: translateY(-3px); box-shadow: 0 10px 26px rgba(26,41,66,.22);}
.rsl-body {flex: 1; min-width: 260px;}
.rsl-body h4 {font-size: var(--font-size-21); font-weight: 700; color: #FFE9B0; margin-bottom: 12px;}
.rsl-body p {font-size: var(--font-size-15); line-height: 1.9em; color: rgba(255,255,255,.88); margin: 0;}
.rsl-body strong {color: #FFE9B0; font-weight: 700;}
.rsl-go {padding: 13px 26px; background: #FFE9B0; color: #1a2942; border-radius: 999px; font-size: var(--font-size-15); font-weight: 700; white-space: nowrap;}

/* ========================================
   경동맥 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .car-hero {padding: 60px 0 !important;}
    .car-window, .car-result {padding: 56px 0 !important;}
    .win-flow {grid-template-columns: 1fr;}
    .win-item::after {display: none;}
    .risk-grid {grid-template-columns: 1fr;}
    .chk-grid {grid-template-columns: 1fr;}
    .res-grid {grid-template-columns: 1fr;}
    .page-car .cost-grid.two {grid-template-columns: 1fr !important;}
}

/* ========================================
   경동맥 — 모바일
   ======================================== */
@media (max-width: 640px) {
    .car-hero {padding: 44px 0 !important;}
    .car-hero .hero-title {font-size: 30px !important; line-height: 1.25em !important; margin-bottom: 20px !important;}
    .car-hero .hero-lead {font-size: 15px !important; line-height: 1.95em !important; text-align: left;}
    .car-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    /* ★ 창 논리 3단계 → 세로 + 아래 화살표 */
    .car-window {padding: 44px 0 !important;}
    .car-window .section-head {margin-bottom: 24px;}
    .car-window .sh-badge {font-size: 10px; padding: 4px 14px;}
    .car-window .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .car-window .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .car-window .sh-desc br {display: none;}
    .win-flow {gap: 22px !important; margin-bottom: 22px !important;}
    .win-item {padding: 18px 20px !important; border-radius: 12px;}
    .win-item::after {display: block !important; top: auto !important; bottom: -17px !important; left: 50% !important; right: auto !important; transform: translateX(-50%) rotate(135deg) !important;}
    .win-item:last-child::after {display: none !important;}
    .win-num {font-size: 10.5px !important; padding: 2px 10px !important; margin-bottom: 9px !important;}
    .win-item h4 {font-size: 16px !important; margin-bottom: 8px !important;}
    .win-item p {font-size: 13px !important; line-height: 1.9em !important;}
    .win-msg {grid-template-columns: 1fr !important; gap: 14px !important; padding: 24px 20px !important; border-radius: 14px; margin-bottom: 16px !important;}
    .wm-icon {width: 44px !important; height: 44px !important;}
    .wm-icon svg {width: 22px !important; height: 22px !important;}
    .wm-body h4 {font-size: 17px !important; margin-bottom: 12px !important;}
    .wm-body p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .win-honest {padding: 16px 18px !important;}
    .win-honest p {font-size: 13px !important; line-height: 1.85em !important;}

    /* ★ 위험 인자 → 좌측 라인 흐름 (박스 벗김) */
    .risk-grid {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 18px !important;}
    .risk-card {padding: 18px 0 18px 20px !important; background: transparent !important; border: none !important; border-radius: 0 !important; border-left: 3px solid #e0dad4 !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 6px;}
    .risk-card:last-child {border-bottom: none !important;}
    .risk-card.main {border-left-color: var(--primary-color) !important;}
    .rc-tag {font-size: 10px !important; padding: 2px 9px !important; margin-bottom: 8px !important;}
    .risk-card h4 {font-size: 16px !important; margin-bottom: 10px !important;}
    .rc-list li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 18px !important;}
    .rc-list li::before {top: 13px;}
    .risk-link {flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; padding: 18px 20px !important; border-left-width: 4px !important; margin-bottom: 18px !important;}
    .risk-link:hover {transform: none !important;}
    .rl-txt {font-size: 13px !important; line-height: 1.85em !important; min-width: auto;}
    .rl-go {font-size: 12.5px !important;}

    /* 응급 안내 */
    .urgent-note {padding: 22px 20px !important; border-width: 1px !important; border-radius: 12px;}
    .un-head {gap: 10px !important; margin-bottom: 12px !important;}
    .un-mark {width: 24px !important; height: 24px !important; flex: 0 0 24px !important;}
    .un-mark svg {width: 13px !important; height: 13px !important;}
    .un-head h4 {font-size: 15.5px !important;}
    .un-list {margin-bottom: 12px !important;}
    .un-list li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .un-list li::before {top: 13px; width: 6px !important; height: 6px !important;}
    .urgent-note > p {font-size: 13px !important; line-height: 1.85em !important; padding: 13px 15px !important;}

    /* 확인하는 것 → 2열 유지 */
    .chk-grid {grid-template-columns: repeat(2, 1fr) !important; gap: 10px;}
    .chk-card {padding: 18px 14px !important; border-radius: 12px;}
    .chk-card h4 {font-size: 14.5px !important; margin-bottom: 8px !important;}
    .chk-card p {font-size: 11.5px !important; line-height: 1.8em !important;}

    /* ★ 결과 4단계 → 좌측 컬러 라인 유지, 1열 */
    .car-result {padding: 44px 0 !important;}
    .car-result .section-head {margin-bottom: 24px;}
    .car-result .sh-badge {font-size: 10px; padding: 4px 14px;}
    .car-result .section-head h3 {font-size: 23px !important; margin-bottom: 10px !important;}
    .car-result .sh-desc {font-size: 13.5px !important; line-height: 1.75em !important;}
    .res-grid {gap: 10px !important; margin-bottom: 18px !important;}
    .res-card {padding: 18px 20px !important; border-radius: 12px; border-left-width: 4px !important;}
    .res-card .rc-head {gap: 10px !important; margin-bottom: 10px !important;}
    .res-card .rc-badge {width: 24px !important; height: 24px !important; flex: 0 0 24px !important; font-size: 12px !important;}
    .res-card .rc-head h4 {font-size: 16px !important;}
    .res-card p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .res-link {flex-direction: column !important; align-items: stretch !important; gap: 16px !important; padding: 24px 20px !important; border-radius: 14px;}
    .res-link:hover {transform: none !important;}
    .rsl-body {min-width: auto;}
    .rsl-body h4 {font-size: 17px !important; margin-bottom: 10px !important;}
    .rsl-body p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .rsl-go {text-align: center; padding: 12px 22px !important; font-size: 13.5px !important;}
}

@media (max-width: 380px) {
    .car-hero .hero-title {font-size: 26px !important;}
    .chk-grid {grid-template-columns: 1fr !important;}
}

/* ========================================
   내과진료 공통 (page-int) — 5개 페이지 공유
   ======================================== */
.page-int section {padding: 0;}
.page-int .contain {padding-top: 0; padding-bottom: 0;}

/* ① 히어로 공통 */
.int-hero {padding: 74px 0 !important;}
.int-hero .hero-inner {max-width: 900px; margin: 0 auto; text-align: center;}
.int-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 20px;}
.int-hero .hero-title {font-size: clamp(34px, calc(58 / var(--inner) * 100vw), 58px); font-weight: 800; color: var(--dark-color); line-height: 1.15em; margin-bottom: 26px; letter-spacing: -.03em;}
.int-hero .hero-lead {font-size: var(--font-size-17); line-height: 1.95em; color: #4a463f;}
.int-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* 이 페이지 전용 히어로 톤 — 웜 뉴트럴 */
.chr-hero {background: linear-gradient(135deg, #f7f5f1 0%, #ebe6dd 100%);}

/* ② 질환 목차 (앵커 칩) */
.int-index {padding: 34px 0 !important; background: #fff; border-bottom: 1px solid #eee;}
.idx-head {text-align: center; margin-bottom: 18px;}
.idx-label {display: inline-block; font-size: 12px; font-weight: 700; color: #999; letter-spacing: .1em;}
.idx-chips {display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; max-width: 1000px; margin: 0 auto;}
.idx-chip {display: flex; flex-direction: column; gap: 3px; padding: 14px 24px; background: #faf7f5; border: 1px solid #e8e3de; border-radius: 12px; text-decoration: none; transition: .22s; border-top: 3px solid #ccc;}
.idx-chip:hover {background: #fff; box-shadow: 0 6px 16px rgba(0,0,0,.07); transform: translateY(-2px);}
.idx-chip.c1 {border-top-color: #7d1c1e;}
.idx-chip.c2 {border-top-color: #4d9370;}
.idx-chip.c3 {border-top-color: #cfa93f;}
.idx-chip.c4 {border-top-color: #5d6a85;}
.idx-chip.c5 {border-top-color: #b8763a;}
.idx-chip.c6 {border-top-color: #8a6f9a;}
.ic-name {font-size: var(--font-size-17); font-weight: 700; color: var(--dark-color);}
.ic-en {font-size: 11.5px; color: #a09a95;}

/* ③ 질환 섹션 공통 */
.dz-section {padding: 74px 0 !important; background: #fff; scroll-margin-top: 110px;}
.dz-section.section-alt {background: #faf7f5;}
.dz-head {max-width: 960px; margin: 0 auto 38px; text-align: center;}
.dz-badge {display: inline-block; padding: 4px 14px; color: #fff; border-radius: 4px; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; margin-bottom: 14px;}
.dz-c1 .dz-badge {background: #7d1c1e;}
.dz-c2 .dz-badge {background: #4d9370;}
.dz-c3 .dz-badge {background: #cfa93f;}
.dz-c4 .dz-badge {background: #5d6a85;}
.dz-c5 .dz-badge {background: #b8763a;}
.dz-c6 .dz-badge {background: #8a6f9a;}
.dz-head h3 {font-size: clamp(26px, calc(40 / var(--inner) * 100vw), 40px); font-weight: 800; color: var(--dark-color); line-height: 1.25em; margin-bottom: 16px; letter-spacing: -.025em;}
.dz-en {display: block; font-size: .38em; font-weight: 500; color: #a09a95; margin-top: 8px; letter-spacing: 0;}
.dz-lead {font-size: var(--font-size-16); line-height: 1.95em; color: #555; text-align: left; max-width: 780px; margin: 0 auto;}
.dz-lead strong {color: var(--dark-color); font-weight: 700;}
.dz-body {max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 26px;}

/* 블록 공통 */
.dz-block {padding: 30px 34px; background: #fff; border-radius: 16px; border-left: 4px solid #ddd;}
.dz-section.section-alt .dz-block {background: #fff;}
.dz-c1 .dz-block {border-left-color: #7d1c1e;}
.dz-c2 .dz-block {border-left-color: #4d9370;}
.dz-c3 .dz-block {border-left-color: #cfa93f;}
.dz-c4 .dz-block {border-left-color: #5d6a85;}
.dz-c5 .dz-block {border-left-color: #b8763a;}
.dz-c6 .dz-block {border-left-color: #8a6f9a;}
.dz-bt {font-size: var(--font-size-19); font-weight: 700; color: var(--dark-color); margin-bottom: 18px;}
.dz-desc {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin-bottom: 18px;}
.dz-desc strong {color: var(--primary-color); font-weight: 700;}
.dz-note {font-size: var(--font-size-14); line-height: 1.9em; color: #777; margin: 16px 0 0; padding: 14px 18px; background: #faf7f5; border-radius: 8px;}
.dz-note strong {color: var(--dark-color); font-weight: 700;}

/* ② 증상 — 체크리스트 */
.sym-list {list-style: none; padding: 0; margin: 0;}
.sym-list li {position: relative; padding-left: 26px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.sym-list li::before {content: ''; position: absolute; left: 4px; top: 13px; width: 8px; height: 8px; background: #c9c3bd; border-radius: 2px; transform: rotate(45deg);}
.sym-list li.none {padding: 12px 16px 12px 26px; background: #faf5f4; border-radius: 8px; margin-bottom: 8px;}
.sym-list li.none::before {background: var(--primary-color); top: 22px;}
.sym-list li strong {color: var(--primary-color); font-weight: 700;}

/* ③ 원인 — 태그 칩 */
.cause-tags {display: flex; flex-wrap: wrap; gap: 8px;}
.ct {display: inline-block; padding: 8px 16px; background: #f4f1ee; border-radius: 999px; font-size: var(--font-size-14); color: #5a564e; font-weight: 500;}

/* ④ 확인 — 좌측 라인 */
.chk-flow {display: flex; flex-direction: column; gap: 0;}
.cf-item {padding: 16px 0 16px 20px; border-left: 2px solid #e8e3de; border-bottom: 1px dashed #eee;}
.cf-item:last-child {border-bottom: none;}
.cf-item strong {display: block; font-size: var(--font-size-16); color: var(--dark-color); font-weight: 700; margin-bottom: 5px;}
.cf-item span {display: block; font-size: var(--font-size-14); color: #666; line-height: 1.9em;}
.cf-item span strong {display: inline; font-size: inherit; color: var(--primary-color); margin: 0;}
.cf-item a {color: var(--primary-color); font-weight: 700; text-decoration: underline; text-underline-offset: 3px;}

/* 기준 수치 박스 */
.ref-box {margin-top: 22px; padding: 24px 26px; background: #faf7f5; border-radius: 12px;}
.rb-title {display: block; font-size: var(--font-size-16); font-weight: 700; color: var(--dark-color); margin-bottom: 16px;}
.rb-grid {display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px;}
.rb-grid.four {display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;}
.rb-item {display: flex; align-items: center; gap: 16px; padding: 14px 18px; background: #fff; border-radius: 8px; border-left: 3px solid #ccc;}
.rb-grid.four .rb-item {flex-direction: column; align-items: flex-start; gap: 6px; text-align: left;}
.rb-item.ok {border-left-color: #4d9370;}
.rb-item.mid {border-left-color: #cfa93f;}
.rb-item.high {border-left-color: #b8443f;}
.rbi-label {flex: 0 0 auto; font-size: var(--font-size-14); font-weight: 700; color: var(--dark-color); min-width: 86px;}
.rbi-val {font-size: var(--font-size-14); color: #666; line-height: 1.6em;}
.rb-note {font-size: var(--font-size-13); line-height: 1.85em; color: #888; margin: 0;}
.rb-note strong {color: #666; font-weight: 700;}

/* ⑤ 치료 — 넘버 흐름 */
.tr-flow {display: flex; flex-direction: column; gap: 14px;}
.tr-item {display: grid; grid-template-columns: 36px 1fr; gap: 16px; align-items: start;}
.tr-num {font-size: 16px; font-weight: 800; color: var(--primary-color); opacity: .65; padding-top: 2px;}
.tr-item > div strong {display: block; font-size: var(--font-size-17); color: var(--dark-color); font-weight: 700; margin-bottom: 5px;}
.tr-item > div span {display: block; font-size: var(--font-size-14); color: #666; line-height: 1.9em;}
.tr-item > div span strong {display: inline; font-size: inherit; color: var(--primary-color); margin: 0;}

/* ⑥ 진료 시점 */
.when-ul {list-style: none; padding: 0; margin: 0;}
.when-ul li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 2em; color: #444;}
.when-ul li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: var(--primary-color); border-radius: 50%;}
.when-ul li strong {color: var(--dark-color); font-weight: 700;}
.urg-line {margin-top: 18px; padding: 18px 22px; background: #fdf5f4; border-radius: 10px; font-size: var(--font-size-14); line-height: 1.9em; color: #6a4340; border-left: 3px solid #b8443f;}
.urg-line strong:first-child {display: block; color: #b8443f; font-weight: 700; font-size: 15px; margin-bottom: 6px;}
.urg-line strong {color: #b8443f; font-weight: 700;}

/* 대사증후군 5요소 */
.ms-grid {display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px;}
.ms-item {display: flex; flex-direction: column; gap: 6px; padding: 20px 16px; background: #faf7f5; border-radius: 12px; text-align: center;}
.ms-num {display: inline-block; font-size: 11px; font-weight: 800; color: #fff; background: #5d6a85; padding: 2px 9px; border-radius: 4px; margin: 0 auto;}
.ms-item strong {font-size: var(--font-size-15); color: var(--dark-color); font-weight: 700; line-height: 1.4em;}
.ms-item span {font-size: 12.5px; color: #888; line-height: 1.6em;}

/* 질환 하단 링크 */
.dz-link {text-align: center; padding-top: 6px;}
.dz-link a {display: inline-block; padding: 13px 28px; background: var(--dark-color); color: #FFE9B0; border-radius: 999px; font-size: var(--font-size-14); font-weight: 700; text-decoration: none; transition: .2s;}
.dz-link a:hover {background: var(--primary-color); color: #fff; transform: translateY(-2px);}

/* ⑦ 함께 보는 진료 */
.int-related {padding: 74px 0 !important; background: linear-gradient(180deg, #fbf9f6 0%, #f5f1eb 100%);}
.int-related .section-head {text-align: center; margin-bottom: 40px;}
.int-related .sh-badge {display: inline-block; padding: 6px 18px; background: var(--dark-color); color: #fff; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 16px;}
.int-related .section-head h3 {font-size: clamp(24px, calc(34 / var(--inner) * 100vw), 34px); font-weight: 700; color: var(--dark-color); line-height: 1.3em; margin-bottom: 12px;}
.int-related .sh-desc {font-size: var(--font-size-15); color: #6a655c;}
.int-related .section-body {max-width: 1080px; margin: 0 auto;}
.rel-grid {display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px;}
.rel-card {display: flex; flex-direction: column; padding: 24px 20px; background: #fff; border: 1px solid #e5e0d8; border-radius: 14px; text-decoration: none; transition: .22s;}
.rel-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 20px rgba(125,28,30,.08); transform: translateY(-3px);}
.rel-card.current {background: linear-gradient(180deg, #faf5f4 0%, #fff 100%); border-color: var(--primary-color);}
.rel-card .rc-badge {display: inline-block; align-self: flex-start; padding: 3px 10px; background: var(--primary-color); color: #fff; border-radius: 4px; font-size: 10px; font-weight: 700; margin-bottom: 10px;}
.rel-card h4 {font-size: var(--font-size-17); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.4em;}
.rel-card.current h4 {color: var(--primary-color);}
.rel-card p {flex: 1; font-size: var(--font-size-13); line-height: 1.75em; color: #777; margin-bottom: 12px;}
.rc-link {font-size: var(--font-size-13); font-weight: 700; color: var(--primary-color); padding-top: 10px; border-top: 1px solid #f0f0f0;}

/* ⑧ 진료 안내 */
.int-info {padding: 74px 0 !important; background: #fff;}
.int-info .section-head {text-align: center; margin-bottom: 40px;}
.int-info .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 14px;}
.int-info .section-head h3 {font-size: clamp(24px, calc(34 / var(--inner) * 100vw), 34px); font-weight: 700; color: var(--dark-color);}
.int-info .section-body {max-width: 1000px; margin: 0 auto;}
.int-info .info-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 26px;}
.int-info .info-card {padding: 26px 24px; background: #faf7f5; border-radius: 14px;}
.int-info .info-card h4 {font-size: var(--font-size-17); font-weight: 700; color: var(--primary-color); margin-bottom: 14px;}
.info-ul {list-style: none; padding: 0; margin: 0;}
.info-ul li {position: relative; padding-left: 18px; font-size: var(--font-size-14); line-height: 1.95em; color: #555;}
.info-ul li::before {content: ''; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; background: var(--primary-color); border-radius: 50%;}
.info-ul li strong {color: var(--dark-color); font-weight: 700;}

.hours-box {display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px;}
.hb-item {display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: var(--dark-color); border-radius: 12px; text-align: center;}
.hb-item.off {background: #8a8580;}
.hb-day {font-size: 12px; color: rgba(255,255,255,.65); font-weight: 600;}
.hb-time {font-size: var(--font-size-16); color: #FFE9B0; font-weight: 700;}
.hb-item.off .hb-time {color: rgba(255,255,255,.85);}
.loc-note {font-size: var(--font-size-14); line-height: 1.85em; color: #777; text-align: center; margin: 0;}
.loc-note strong {color: var(--dark-color); font-weight: 700;}

/* ⑨ FAQ */
.int-faq-sec {padding: 74px 0 !important; background: #faf7f5;}
.int-faq-sec .section-head {text-align: center; margin-bottom: 36px;}
.int-faq-sec .sh-num {display: inline-block; padding: 4px 14px; background: var(--dark-color); color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; letter-spacing: .1em; margin-bottom: 14px;}
.int-faq-sec .section-head h3 {font-size: clamp(24px, calc(34 / var(--inner) * 100vw), 34px); font-weight: 700; color: var(--dark-color);}
.int-faq-sec .section-body {max-width: 900px; margin: 0 auto;}
.int-faq {display: flex; flex-direction: column; gap: 10px;}
.int-faq .faq-item {background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: .2s;}
.int-faq .faq-item.active {box-shadow: 0 4px 16px rgba(125,28,30,.12);}
.int-faq .faq-q {display: flex; align-items: center; width: 100%; padding: 20px 26px; background: transparent; border: none; text-align: left; cursor: pointer; gap: 16px; transition: .2s;}
.int-faq .faq-q:hover {background: #faf7f6;}
.int-faq .q-num {display: flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; background: var(--primary-color); color: #fff; border-radius: 50%; font-size: 15px; font-weight: 700;}
.int-faq .q-txt {flex: 1; font-size: var(--font-size-16); font-weight: 500; color: var(--dark-color); line-height: 1.5em;}
.int-faq .q-arrow {position: relative; flex: 0 0 18px; width: 18px; height: 18px;}
.int-faq .q-arrow::before, .int-faq .q-arrow::after {content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: #999; transform: translate(-50%, -50%);}
.int-faq .q-arrow::before {transform: translate(-50%, -50%) rotate(90deg); transition: transform .3s;}
.int-faq .faq-item.active .q-arrow::before {transform: translate(-50%, -50%) rotate(0deg);}
.int-faq .faq-a {display: none; padding: 0 26px 24px 26px;}
.int-faq .faq-item.active .faq-a {display: flex; gap: 16px; align-items: flex-start;}
.int-faq .a-num {display: flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; background: #f0e6e5; color: var(--primary-color); border-radius: 50%; font-size: 15px; font-weight: 700;}
.int-faq .a-txt {flex: 1; font-size: var(--font-size-15); line-height: 1.95em; color: #555; padding-top: 4px;}
.int-faq .a-txt strong {color: var(--dark-color); font-weight: 700;}

/* ⑩ CTA */
.int-cta {padding: 70px 0 !important; background: #faf5f4; text-align: center;}
.int-cta h3 {font-size: clamp(23px, calc(34 / var(--inner) * 100vw), 34px); font-weight: 700; color: var(--dark-color); line-height: 1.4em; margin-bottom: 16px; letter-spacing: -.02em;}
.int-cta > .contain > p {font-size: var(--font-size-15); color: #666; line-height: 1.85em; margin-bottom: 32px;}
.int-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 28px;}
.int-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.int-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.int-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.int-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.int-cta .cta-ico {display: inline-flex; align-items: center; justify-content: center;}
.int-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.int-cta .cta-label {font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.int-cta .cta-value {font-size: 18px; font-weight: 700;}
.int-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.int-cta .cta-btn.cta-reserve:hover {color: #fff;}
.page-int .cta-links {display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid #ebe0de;}
.page-int .cta-links a {font-size: var(--font-size-14); color: var(--primary-color); font-weight: 600; text-decoration: none;}
.page-int .cta-links a:hover {text-decoration: underline;}

/* ========================================
   내과진료 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .int-hero {padding: 56px 0 !important;}
    .dz-section, .int-related, .int-info, .int-faq-sec {padding: 54px 0 !important;}
    .rb-grid.four {grid-template-columns: 1fr 1fr;}
    .ms-grid {grid-template-columns: repeat(3, 1fr);}
    .rel-grid {grid-template-columns: repeat(2, 1fr);}
    .int-info .info-grid {grid-template-columns: 1fr;}
    .hours-box {grid-template-columns: 1fr 1fr;}
}

/* ========================================
   내과진료 — 모바일
   ======================================== */
@media (max-width: 640px) {
    /* 히어로 */
    .int-hero {padding: 40px 0 !important;}
    .int-hero .hero-title {font-size: 28px !important; line-height: 1.25em !important; margin-bottom: 18px !important;}
    .int-hero .hero-lead {font-size: 14.5px !important; line-height: 1.95em !important; text-align: left;}
    .int-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 14px !important;}

    /* ★ 질환 목차 → 가로 스크롤 칩 */
    .int-index {padding: 22px 0 !important;}
    .idx-head {margin-bottom: 12px;}
    .idx-label {font-size: 10.5px;}
    .idx-chips {justify-content: flex-start !important; flex-wrap: nowrap !important; overflow-x: auto; padding: 4px 20px 10px; margin: 0 -20px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;}
    .idx-chips::-webkit-scrollbar {display: none;}
    .idx-chip {flex: 0 0 auto; padding: 11px 18px !important; scroll-snap-align: start;}
    .idx-chip:hover {transform: none !important;}
    .ic-name {font-size: 14.5px !important;}
    .ic-en {font-size: 10.5px !important;}

    /* 질환 섹션 */
    .dz-section {padding: 40px 0 !important;}
    .dz-head {margin-bottom: 24px;}
    .dz-badge {font-size: 11px !important; padding: 3px 12px !important; margin-bottom: 10px !important;}
    .dz-head h3 {font-size: 24px !important; margin-bottom: 12px !important;}
    .dz-en {font-size: 12px !important; margin-top: 6px !important;}
    .dz-lead {font-size: 14px !important; line-height: 1.9em !important;}
    .dz-body {gap: 16px !important;}

    /* ★ 블록 → 박스 벗기고 좌측 라인만 */
    .dz-block {padding: 20px 0 20px 18px !important; background: transparent !important; border-radius: 0 !important; border-left-width: 3px !important;}
    .dz-section.section-alt .dz-block {background: transparent !important;}
    .dz-bt {font-size: 16.5px !important; margin-bottom: 14px !important;}
    .dz-desc {font-size: 13.5px !important; line-height: 1.9em !important; margin-bottom: 14px !important;}
    .dz-note {font-size: 12.5px !important; line-height: 1.85em !important; padding: 12px 14px !important; margin-top: 14px !important;}

    /* 증상 */
    .sym-list li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 22px !important;}
    .sym-list li::before {left: 3px; top: 12px; width: 7px !important; height: 7px !important;}
    .sym-list li.none {padding: 10px 14px 10px 22px !important;}
    .sym-list li.none::before {top: 19px;}

    /* 원인 태그 */
    .cause-tags {gap: 6px !important;}
    .ct {padding: 6px 13px !important; font-size: 12.5px !important;}

    /* 확인 */
    .cf-item {padding: 13px 0 13px 16px !important;}
    .cf-item strong {font-size: 14.5px !important; margin-bottom: 4px !important;}
    .cf-item span {font-size: 12.5px !important; line-height: 1.85em !important;}
    .ref-box {margin-top: 16px !important; padding: 18px 18px !important; border-radius: 10px;}
    .rb-title {font-size: 14.5px !important; margin-bottom: 12px !important;}
    .rb-grid {gap: 6px !important; margin-bottom: 12px !important;}
    .rb-grid.four {grid-template-columns: 1fr 1fr !important; gap: 8px !important;}
    .rb-item {flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; padding: 11px 14px !important;}
    .rbi-label {font-size: 12.5px !important; min-width: auto !important;}
    .rbi-val {font-size: 12.5px !important;}
    .rb-note {font-size: 11.5px !important; line-height: 1.8em !important;}

    /* 치료 */
    .tr-flow {gap: 12px !important;}
    .tr-item {grid-template-columns: 28px 1fr !important; gap: 12px !important;}
    .tr-num {font-size: 14px !important;}
    .tr-item > div strong {font-size: 14.5px !important; margin-bottom: 4px !important;}
    .tr-item > div span {font-size: 12.5px !important; line-height: 1.85em !important;}

    /* 진료 시점 */
    .when-ul li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .when-ul li::before {top: 13px; width: 6px !important; height: 6px !important;}
    .urg-line {margin-top: 14px !important; padding: 14px 16px !important; font-size: 12.5px !important; line-height: 1.85em !important;}
    .urg-line strong:first-child {font-size: 13.5px !important;}

    /* 대사증후군 → 2열 */
    .ms-grid {grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important;}
    .ms-item {padding: 14px 12px !important; border-radius: 10px;}
    .ms-num {font-size: 10px !important; padding: 2px 8px !important;}
    .ms-item strong {font-size: 13px !important;}
    .ms-item span {font-size: 11px !important;}

    /* 질환 하단 링크 */
    .dz-link a {padding: 11px 20px !important; font-size: 12.5px !important;}

    /* 함께 보는 진료 → 2열 */
    .int-related {padding: 40px 0 !important;}
    .int-related .section-head {margin-bottom: 22px;}
    .int-related .sh-badge {font-size: 10px; padding: 4px 14px;}
    .int-related .section-head h3 {font-size: 21px !important; margin-bottom: 10px !important;}
    .int-related .sh-desc {font-size: 12.5px !important;}
    .rel-grid {grid-template-columns: repeat(2, 1fr) !important; gap: 8px;}
    .rel-card {padding: 16px 14px !important; border-radius: 12px;}
    .rel-card:hover {transform: none !important;}
    .rel-card .rc-badge {font-size: 9px !important; padding: 2px 8px !important; margin-bottom: 8px !important;}
    .rel-card h4 {font-size: 14px !important; margin-bottom: 7px !important;}
    .rel-card p {font-size: 11px !important; line-height: 1.7em !important; margin-bottom: 9px !important;}
    .rc-link {font-size: 11px !important; padding-top: 8px !important;}

    /* 진료 안내 */
    .int-info {padding: 40px 0 !important;}
    .int-info .section-head {margin-bottom: 22px;}
    .int-info .sh-num {font-size: 10.5px; padding: 3px 12px;}
    .int-info .section-head h3 {font-size: 21px !important;}
    .int-info .info-grid {gap: 10px !important; margin-bottom: 18px !important;}
    .int-info .info-card {padding: 18px 18px !important; border-radius: 12px;}
    .int-info .info-card h4 {font-size: 15px !important; margin-bottom: 10px !important;}
    .info-ul li {font-size: 12.5px !important; line-height: 1.9em !important;}
    .hours-box {grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; margin-bottom: 12px !important;}
    .hb-item {padding: 13px 14px !important; gap: 4px !important;}
    .hb-day {font-size: 10.5px !important;}
    .hb-time {font-size: 13.5px !important;}
    .loc-note {font-size: 12px !important; line-height: 1.8em !important;}

    /* FAQ */
    .int-faq-sec {padding: 40px 0 !important;}
    .int-faq-sec .section-head {margin-bottom: 20px;}
    .int-faq-sec .sh-num {font-size: 10.5px; padding: 3px 12px;}
    .int-faq-sec .section-head h3 {font-size: 21px !important;}
    .int-faq .faq-q {padding: 15px 16px !important; gap: 11px;}
    .int-faq .q-num {flex: 0 0 28px !important; width: 28px !important; height: 28px !important; font-size: 13px !important;}
    .int-faq .q-txt {font-size: 13.5px !important; line-height: 1.55em !important;}
    .int-faq .faq-a {padding: 0 16px 18px 16px !important;}
    .int-faq .a-num {flex: 0 0 28px !important; width: 28px !important; height: 28px !important; font-size: 13px !important;}
    .int-faq .a-txt {font-size: 12.5px !important; line-height: 1.9em !important;}

    /* CTA */
    .int-cta {padding: 44px 0 !important;}
    .int-cta h3 {font-size: 21px !important; margin-bottom: 12px !important;}
    .int-cta > .contain > p {font-size: 12.5px !important; line-height: 1.85em !important; margin-bottom: 22px !important;}
    .int-cta .cta-buttons {flex-direction: column; gap: 10px; margin-bottom: 20px;}
    .int-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .int-cta .cta-label {font-size: 11px;}
    .int-cta .cta-value {font-size: 16px;}
    .page-int .cta-links {gap: 16px; padding-top: 18px;}
    .page-int .cta-links a {font-size: 12px;}
}

@media (max-width: 380px) {
    .int-hero .hero-title {font-size: 25px !important;}
    .rel-grid {grid-template-columns: 1fr !important;}
    .ms-grid {grid-template-columns: 1fr !important;}
    .rb-grid.four {grid-template-columns: 1fr !important;}
}

/* ========================================
   내분비내과클리닉 (page-end) — 전용 추가분
   ======================================== */

/* ① 히어로 톤 — 밝은 민트 뉴트럴 (만성질환 웜 뉴트럴과 구분) */
.end-hero {background: linear-gradient(135deg, #f2f6f4 0%, #e1eae6 100%);}

/* ★ 축약 블록 (당뇨 · 갑상선 결절처럼 짧게 다루는 질환용)
   — 5개 페이지 공통으로 쓰이므로 dz- 접두사 유지 */
.dz-brief {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px;}
.br-item {padding: 26px 24px; background: #fff; border-radius: 14px; border-top: 3px solid var(--primary-color);}
.dz-c1 .br-item {border-top-color: #7d1c1e;}
.dz-c2 .br-item {border-top-color: #4d9370;}
.dz-c3 .br-item {border-top-color: #cfa93f;}
.dz-c4 .br-item {border-top-color: #5d6a85;}
.dz-c5 .br-item {border-top-color: #b8763a;}
.dz-c6 .br-item {border-top-color: #8a6f9a;}
.br-item h4 {font-size: var(--font-size-17); font-weight: 700; color: var(--dark-color); margin-bottom: 12px; line-height: 1.45em;}
.br-item p {font-size: var(--font-size-14); line-height: 1.9em; color: #666; margin: 0;}
.br-item strong {color: var(--primary-color); font-weight: 700;}

@media (max-width: 1024px) {
    .dz-brief {grid-template-columns: 1fr;}
}

@media (max-width: 640px) {
    /* ★ 축약 블록 → 좌측 라인 흐름 (박스 벗김) */
    .dz-brief {gap: 0 !important; margin-bottom: 18px !important;}
    .br-item {padding: 18px 0 18px 18px !important; background: transparent !important; border-radius: 0 !important; border-top: none !important; border-left: 3px solid var(--primary-color) !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 4px;}
    .br-item:last-child {border-bottom: none !important;}
    .dz-c1 .br-item {border-left-color: #7d1c1e !important;}
    .dz-c2 .br-item {border-left-color: #4d9370 !important;}
    .dz-c3 .br-item {border-left-color: #cfa93f !important;}
    .dz-c4 .br-item {border-left-color: #5d6a85 !important;}
    .dz-c5 .br-item {border-left-color: #b8763a !important;}
    .dz-c6 .br-item {border-left-color: #8a6f9a !important;}
    .br-item h4 {font-size: 15.5px !important; margin-bottom: 8px !important;}
    .br-item p {font-size: 13px !important; line-height: 1.9em !important;}
}

/* ========================================
   순환기내과클리닉 (page-cir) — 전용 추가분
   ======================================== */

/* ① 히어로 톤 — 뮤트 로즈그레이 */
.cir-hero {background: linear-gradient(135deg, #f6f3f4 0%, #e8e0e2 100%);}

/* ★ 응급 안내 블록 (협심증 전용, 다른 페이지에서도 재사용 가능) */
.dz-block.b-urgent {background: #fdf5f4 !important; border-left-color: #b8443f !important; border: 1px solid #e8c5c2;}
.dz-bt.urgent {color: #b8443f !important; display: flex; align-items: center; gap: 10px;}
.dz-bt.urgent::before {content: '!'; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; background: #b8443f; color: #fff; border-radius: 50%; font-size: 15px; font-weight: 800; flex: 0 0 26px;}
.urg-ul {list-style: none; padding: 0; margin: 0 0 16px 0;}
.urg-ul li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 2em; color: #6a4340;}
.urg-ul li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: #b8443f; border-radius: 50%;}
.urg-ul li strong {color: #7a2b28; font-weight: 700;}
.urg-msg {font-size: var(--font-size-15); line-height: 1.9em; color: #6a4340; margin: 0; padding: 16px 18px; background: #fff; border-radius: 10px;}
.urg-msg strong {color: #b8443f; font-weight: 700;}

/* ★ 2단 비교 (협심증 vs 심근경색) */
.cmp-two {display: grid; grid-template-columns: 1fr 1fr; gap: 16px;}
.c2-item {padding: 24px 22px; border-radius: 12px;}
.c2-item.stable {background: #fdfaf2; border: 1px solid #e8d9b8;}
.c2-item.acute {background: #fdf5f4; border: 1px solid #e8c5c2;}
.c2-label {display: inline-block; padding: 5px 15px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 14px;}
.c2-item.stable .c2-label {background: #b8863a;}
.c2-item.acute .c2-label {background: #b8443f;}
.c2-item ul {list-style: none; padding: 0; margin: 0;}
.c2-item ul li {position: relative; padding-left: 20px; font-size: var(--font-size-14); line-height: 1.95em; color: #555;}
.c2-item ul li strong {color: var(--dark-color); font-weight: 700;}
.c2-item.stable ul li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 6px; height: 6px; background: #b8863a; border-radius: 50%;}
.c2-item.acute ul li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 6px; height: 6px; background: #b8443f; border-radius: 50%;}

/* ★ 진료 범위 2단 (여기서 진행 / 상급병원 안내) */
.scope-two {display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px;}
.sc-item {padding: 24px 22px; border-radius: 12px;}
.sc-item.ours {background: #f2f9f5; border-left: 4px solid #4d9370;}
.sc-item.refer {background: #f6f7fa; border-left: 4px solid #5d6a85;}
.sc-label {display: inline-block; padding: 5px 15px; border-radius: 4px; font-size: 12px; font-weight: 700; color: #fff; margin-bottom: 14px;}
.sc-item.ours .sc-label {background: #4d9370;}
.sc-item.refer .sc-label {background: #5d6a85;}
.sc-item ul {list-style: none; padding: 0; margin: 0;}
.sc-item ul li {position: relative; padding-left: 20px; font-size: var(--font-size-14); line-height: 1.95em; color: #555;}
.sc-item ul li strong {color: var(--dark-color); font-weight: 700;}
.sc-item.ours ul li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 6px; height: 6px; background: #4d9370; border-radius: 50%;}
.sc-item.refer ul li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 6px; height: 6px; background: #5d6a85; border-radius: 50%;}

/* 기준 박스 경고 변형 (심방세동) */
.ref-box.warn {background: #fdf5f4; border-left: 4px solid #b8443f;}
.ref-box.warn .rb-title {color: #b8443f;}
.rb-desc {font-size: var(--font-size-15); line-height: 1.9em; color: #6a4340; margin-bottom: 12px;}
.rb-desc strong {color: #7a2b28; font-weight: 700;}
.ref-box.warn .rb-note {color: #8a6a67;}
.ref-box.warn .rb-note strong {color: #b8443f;}

/* ========================================
   순환기 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .cmp-two {grid-template-columns: 1fr;}
    .scope-two {grid-template-columns: 1fr;}
}

/* ========================================
   순환기 — 모바일
   ======================================== */
@media (max-width: 640px) {
    /* 응급 블록 — 박스 유지 (중요 정보이므로) */
    .dz-block.b-urgent {padding: 20px 18px !important; background: #fdf5f4 !important; border-radius: 12px !important; border-left-width: 4px !important;}
    .dz-bt.urgent {font-size: 15.5px !important; gap: 8px !important;}
    .dz-bt.urgent::before {width: 22px !important; height: 22px !important; flex: 0 0 22px !important; font-size: 13px !important;}
    .urg-ul {margin-bottom: 12px !important;}
    .urg-ul li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .urg-ul li::before {top: 13px; width: 6px !important; height: 6px !important;}
    .urg-msg {font-size: 13px !important; line-height: 1.9em !important; padding: 13px 15px !important;}

    /* 2단 비교 — 박스 유지 (대비가 정보) */
    .cmp-two {gap: 10px !important;}
    .c2-item {padding: 18px 16px !important; border-radius: 10px;}
    .c2-label {padding: 4px 13px !important; font-size: 11.5px !important; margin-bottom: 11px !important;}
    .c2-item ul li {font-size: 12.5px !important; line-height: 1.9em !important; padding-left: 18px !important;}
    .c2-item ul li::before {top: 12px;}

    /* 진료 범위 2단 — 박스 유지 */
    .scope-two {grid-template-columns: 1fr !important; gap: 10px !important; margin-bottom: 12px !important;}
    .sc-item {padding: 18px 16px !important; border-radius: 10px; border-left-width: 3px !important;}
    .sc-label {padding: 4px 12px !important; font-size: 11px !important; margin-bottom: 11px !important;}
    .sc-item ul li {font-size: 12.5px !important; line-height: 1.9em !important; padding-left: 18px !important;}
    .sc-item ul li::before {top: 12px;}

    /* 심방세동 경고 박스 */
    .rb-desc {font-size: 13px !important; line-height: 1.9em !important; margin-bottom: 10px !important;}
}

/* doctor01.png — no frame box; show section background through transparent PNG */
.dn-photo img,
.greeting-img img,
.main-doctor-photo img {
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* ========================================
   치질 당일수술 (page-sd-hemorrhoid)
   공통 섹션 헤드·FAQ는 .st-section / .st-faq 선택자에 .sdh-* 를 함께 사용
   ======================================== */

.page-sd-hemorrhoid section {padding: 0;}
.page-sd-hemorrhoid .contain {padding-top: 0; padding-bottom: 0;}
.sdh-section .sh-desc strong {color: var(--dark-color); font-weight: 700;}
.day-timeline {background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,.04);}
.page-sd-hemorrhoid .dt-content {font-size: var(--font-size-15); line-height: 1.75em;}
.page-sd-hemorrhoid .dt-content strong {color: var(--dark-color);}
.step-list {display: flex; flex-direction: column; gap: 16px;}
.ss-body p {font-size: var(--font-size-15); line-height: 1.9em; color: #555; margin: 0;}
.ss-body strong {color: var(--dark-color); font-weight: 700;}
.page-sd-hemorrhoid .rt-content {font-size: var(--font-size-15); line-height: 1.9em; color: #555;}
.page-sd-hemorrhoid .rt-content strong {color: var(--dark-color); font-weight: 700;}

/* ① 히어로 톤 — 차분한 웜 그레이 */
.sdh-hero {background: linear-gradient(135deg, #f6f4f2 0%, #e9e3dd 100%); padding: 80px 0 !important;}
.sdh-hero .hero-inner {max-width: 880px; margin: 0 auto; text-align: center;}
.sdh-hero .hero-eyebrow {display: inline-block; padding: 6px 18px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; letter-spacing: .05em; margin-bottom: 22px;}
.sdh-hero .hero-title {font-size: clamp(30px, calc(52 / var(--inner) * 100vw), 52px); font-weight: 800; color: var(--dark-color); line-height: 1.25em; margin-bottom: 26px; letter-spacing: -.03em;}
.sdh-hero .hero-lead {font-size: var(--font-size-17); line-height: 2em; color: #4c4740;}
.sdh-hero .hero-lead strong {color: var(--primary-color); font-weight: 700;}

/* ② 강점 카드 */
.sdh-highlights {padding: 56px 0 !important; background: #fff;}
.sdh-highlights .highlight-cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; max-width: 940px; margin: 0 auto;}
.sdh-highlights .highlight-card {text-align: center; padding: 34px 20px; background: #fff; border: 1px solid #e5e5e5; border-radius: 20px; transition: .25s;}
.sdh-highlights .highlight-card:hover {border-color: var(--primary-color); box-shadow: 0 8px 24px rgba(125,28,30,.1); transform: translateY(-4px);}
.sdh-highlights .hc-icon {display: inline-flex; align-items: center; justify-content: center; width: 70px; height: 70px; background: #faf5f4; border-radius: 50%; color: var(--primary-color); margin-bottom: 16px;}
.sdh-highlights .hc-title {font-size: var(--font-size-21); font-weight: 700; color: var(--dark-color); margin-bottom: 10px;}
.sdh-highlights .hc-desc {font-size: var(--font-size-15); color: #666; line-height: 1.6em;}

.sdh-section {padding: 76px 0 !important; background: #fff;}
.sdh-section.section-alt {background: #faf7f5;}

/* ③ ★ 입원은 왜 하는 걸까요 */
.sdh-why {background: linear-gradient(180deg, #fff 0%, #f6f3f0 100%) !important;}
.why-step {max-width: 900px; margin: 0 auto 16px; padding: 32px 36px; background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.04); border-left: 5px solid var(--primary-color);}
.why-step.last {margin-bottom: 26px;}
.ws-tag {display: inline-block; padding: 5px 16px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: 12.5px; font-weight: 700; margin-bottom: 14px;}
.why-step h4 {font-size: var(--font-size-23); font-weight: 800; color: var(--dark-color); margin-bottom: 14px; line-height: 1.4em; letter-spacing: -.02em;}
.why-step > p {font-size: var(--font-size-16); line-height: 1.95em; color: #444; margin-bottom: 12px;}
.why-step > p:last-child {margin-bottom: 0;}
.why-step strong {color: var(--primary-color); font-weight: 700;}

.ws-check {margin-top: 18px; padding: 22px 24px; background: #faf7f5; border-radius: 12px;}
.wc-label {display: block; font-size: 12px; font-weight: 700; color: var(--primary-color); letter-spacing: .06em; margin-bottom: 12px;}
.wc-items {display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;}
.wc-item {position: relative; padding: 11px 16px 11px 34px; background: #fff; border-radius: 8px; font-size: var(--font-size-15); color: #444; font-weight: 500;}
.wc-item::before {content: ''; position: absolute; left: 14px; top: 50%; width: 6px; height: 10px; border-right: 2px solid #4d9370; border-bottom: 2px solid #4d9370; transform: translateY(-60%) rotate(45deg);}

.ws-home {display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 18px;}
.wh-item {padding: 20px 22px; background: #f4f9f6; border-radius: 12px; border-left: 3px solid #4d9370;}
.wh-item strong {display: block; font-size: var(--font-size-17); color: #2f6a4a; font-weight: 700; margin-bottom: 7px;}
.wh-item span {display: block; font-size: var(--font-size-14); line-height: 1.85em; color: #555;}
.wh-item span strong {display: inline; font-size: inherit; color: #2f6a4a; margin: 0;}

.why-key {display: grid; grid-template-columns: 70px 1fr; gap: 24px; align-items: start; max-width: 900px; margin: 0 auto 22px; padding: 34px 38px; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); border-radius: 18px; color: #fff;}
.wk-icon {display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; background: rgba(255,233,176,.15); color: #FFE9B0; border-radius: 50%;}
.wk-body h4 {font-size: var(--font-size-22); font-weight: 700; color: #FFE9B0; margin-bottom: 14px; line-height: 1.4em;}
.wk-body p {font-size: var(--font-size-15); line-height: 1.95em; color: rgba(255,255,255,.88); margin-bottom: 12px;}
.wk-body p:last-child {margin-bottom: 0;}
.wk-body strong {color: #FFE9B0; font-weight: 700;}

.why-note {max-width: 900px; margin: 0 auto; padding: 24px 30px; background: #fff; border-left: 5px solid var(--primary-color); border-radius: 4px;}
.why-note p {font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin: 0;}
.why-note strong {color: var(--primary-color); font-weight: 700;}

.total-box {display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; padding: 26px; background: var(--dark-color); color: #fff; border-radius: 14px; text-align: center; margin-top: 22px;}
.tb-label {font-size: 14px; color: rgba(255,255,255,.7);}
.tb-value {font-size: var(--font-size-20);}
.tb-value strong {color: #FFE9B0; font-size: var(--font-size-25);}
.tb-note {font-size: 13px; color: rgba(255,255,255,.5); width: 100%; line-height: 1.7em;}

.prep-note {max-width: 900px; margin: 22px auto 0; padding: 28px 32px; background: #fff; border-radius: 14px; border-left: 5px solid var(--primary-color);}
.prep-note h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--primary-color); margin-bottom: 14px;}
.prep-note ul {list-style: none; padding: 0; margin: 0;}
.prep-note ul li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 1.95em; color: #555; margin-bottom: 6px;}
.prep-note ul li strong {color: var(--dark-color); font-weight: 700;}
.prep-note ul li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 7px; height: 7px; background: var(--primary-color); border-radius: 50%;}

.rel-link {max-width: 900px; margin: 26px auto 0; padding: 26px 30px; background: #faf7f5; border-radius: 14px; text-align: center;}
.rel-link.small {padding: 20px 24px;}
.rel-link p {font-size: var(--font-size-15); line-height: 1.85em; color: #555; margin-bottom: 16px;}
.rel-link strong {color: var(--primary-color); font-weight: 700;}
.rl-btns {display: flex; justify-content: center; gap: 10px; flex-wrap: wrap;}
.rl-btns a {display: inline-block; padding: 11px 22px; background: #fff; color: var(--primary-color); border: 1px solid #e5e0d8; border-radius: 999px; font-size: var(--font-size-14); font-weight: 700; text-decoration: none; transition: .2s;}
.rl-btns a:hover {background: var(--primary-color); color: #fff; border-color: var(--primary-color);}

/* ⑥ ★ 통증 섹션 */
.sdh-pain {background: linear-gradient(180deg, #f7f5f2 0%, #efe9e4 100%) !important;}
.pain-key {max-width: 900px; margin: 0 auto 26px; padding: 32px 36px; background: #fff; border-radius: 18px;}
.pk-main {font-size: var(--font-size-24) !important; font-weight: 800; color: var(--primary-color); margin-bottom: 18px !important; letter-spacing: -.02em;}
.pain-key p {font-size: var(--font-size-16); line-height: 1.95em; color: #444; margin-bottom: 12px;}
.pain-key p:last-child {margin-bottom: 0;}
.pain-key strong {color: var(--dark-color); font-weight: 700;}

.pain-curve {display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; max-width: 980px; margin: 0 auto 22px;}
.pc-item {padding: 26px 22px; background: #fff; border-radius: 14px; border-top: 4px solid #ccc;}
.pc-item.peak {border-top-color: #b8443f;}
.pc-item.peak2 {border-top-color: #d4823a;}
.pc-item.down {border-top-color: #cfa93f;}
.pc-item.end {border-top-color: #4d9370;}
.pc-when {display: block; font-size: var(--font-size-16); font-weight: 700; color: var(--dark-color); margin-bottom: 6px; line-height: 1.4em;}
.pc-lv {display: inline-block; padding: 3px 11px; border-radius: 4px; font-size: 11px; font-weight: 700; color: #fff; margin-bottom: 12px;}
.pc-item.peak .pc-lv {background: #b8443f;}
.pc-item.peak2 .pc-lv {background: #d4823a;}
.pc-item.down .pc-lv {background: #cfa93f;}
.pc-item.end .pc-lv {background: #4d9370;}
.pc-item p {font-size: var(--font-size-14); line-height: 1.85em; color: #666; margin: 0;}
.pc-item p strong {color: var(--dark-color); font-weight: 700;}
.pain-note {max-width: 980px; margin: 0 auto; padding: 24px 30px; background: #fff; border-left: 5px solid var(--primary-color); border-radius: 4px;}
.pain-note p {font-size: var(--font-size-15); line-height: 1.95em; color: #444; margin: 0;}
.pain-note strong {color: var(--primary-color); font-weight: 700;}

.care-box {max-width: 940px; margin: 26px auto 0; padding: 30px 34px; background: #fff; border-radius: 16px;}
.care-box h4 {font-size: var(--font-size-20); font-weight: 700; color: var(--dark-color); margin-bottom: 20px;}
.cb-two {display: grid; grid-template-columns: 1fr 1fr; gap: 16px;}
.cb-item {padding: 22px 24px; border-radius: 12px;}
.cb-item.good {background: #f2f9f5; border-left: 4px solid #4d9370;}
.cb-item.bad {background: #fdf5f4; border-left: 4px solid #b8443f;}
.cb-label {display: inline-block; padding: 4px 14px; border-radius: 4px; font-size: 12px; font-weight: 700; color: #fff; margin-bottom: 14px;}
.cb-item.good .cb-label {background: #4d9370;}
.cb-item.bad .cb-label {background: #b8443f;}
.cb-item ul {list-style: none; padding: 0; margin: 0;}
.cb-item ul li {position: relative; padding-left: 20px; font-size: var(--font-size-14); line-height: 1.95em; color: #555;}
.cb-item ul li strong {color: var(--dark-color); font-weight: 700;}
.cb-item.good ul li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 6px; height: 6px; background: #4d9370; border-radius: 50%;}
.cb-item.bad ul li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 6px; height: 6px; background: #b8443f; border-radius: 50%;}

.urgent-box {max-width: 940px; margin: 22px auto 0; padding: 28px 32px; background: #fdf5f4; border: 1px solid #e8c5c2; border-radius: 16px;}
.urgent-box h4 {display: flex; align-items: center; gap: 10px; font-size: var(--font-size-19); font-weight: 700; color: #b8443f; margin-bottom: 16px;}
.urgent-box h4::before {content: '!'; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; background: #b8443f; color: #fff; border-radius: 50%; font-size: 15px; font-weight: 800; flex: 0 0 26px;}
.urgent-box ul {list-style: none; padding: 0; margin: 0 0 16px 0;}
.urgent-box ul li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 2em; color: #6a4340;}
.urgent-box ul li strong {color: #7a2b28; font-weight: 700;}
.urgent-box ul li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: #b8443f; border-radius: 50%;}
.urgent-box > p {font-size: var(--font-size-14); line-height: 1.9em; color: #6a4340; margin: 0; padding: 14px 16px; background: #fff; border-radius: 10px;}
.urgent-box > p strong {color: #b8443f; font-weight: 700;}

.cost-box {max-width: 940px; margin: 0 auto; padding: 36px 38px; background: #fff; border-radius: 16px; border: 1px solid #e5e5e5;}
.cost-box .cost-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px;}
.cost-box .cost-item {padding: 24px; background: #faf5f4; border-radius: 12px;}
.cost-box .cost-tag {display: inline-block; padding: 4px 12px; border-radius: 4px; font-size: 13px; font-weight: 700; margin-bottom: 12px; color: #fff;}
.cost-box .cost-tag.insurance {background: var(--primary-color);}
.cost-box .cost-tag.vary {background: #cfa93f;}
.cost-box .cost-tag.non {background: #888;}
.cost-box .cost-item p {font-size: var(--font-size-14); line-height: 1.85em; color: #444; margin: 0;}
.cost-box .cost-item strong {color: var(--dark-color); font-weight: 700;}
.cost-box .cost-item a {color: var(--primary-color); font-weight: 700; text-decoration: underline; text-underline-offset: 3px;}
.cost-note {padding: 22px; background: #fff8ec; border-left: 4px solid #d9a441; border-radius: 4px; font-size: var(--font-size-14); color: #6d5320; line-height: 1.9em; margin: 0 !important;}
.cost-note strong {color: #8a6420; font-weight: 700;}

.sdh-faq {display: flex; flex-direction: column; gap: 10px; max-width: 900px; margin: 0 auto;}

.sdh-doctor-note {padding: 90px 0 !important; background: linear-gradient(135deg, #1a2942 0%, #2d3f5f 100%); color: #fff;}
.sdh-doctor-note .doctor-note-inner {display: grid; grid-template-columns: 280px 1fr; gap: 54px; align-items: center; max-width: 1040px; margin: 0 auto;}
.sdh-doctor-note .dn-photo img {display: block; width: 100%; height: auto;}
.sdh-doctor-note .dn-content {position: relative;}
.sdh-doctor-note .dn-quote-mark {position: absolute; top: -56px; left: -18px; font-size: 110px; color: #FFE9B0; opacity: .4; line-height: 1; font-family: Georgia, serif;}
.sdh-doctor-note .dn-quote {margin: 0; padding: 0; border: none;}
.sdh-doctor-note .dn-quote p {font-size: var(--font-size-17); line-height: 1.95em; color: rgba(255,255,255,.9); margin-bottom: 18px;}
.sdh-doctor-note .dn-quote p:last-child {margin-bottom: 0;}
.sdh-doctor-note .dn-quote strong {color: #FFE9B0; font-weight: 700;}
.sdh-doctor-note .dn-signature {margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.2);}
.sdh-doctor-note .dn-signature strong {display: inline-block; font-size: var(--font-size-22); color: #fff; margin-right: 10px;}
.sdh-doctor-note .dn-signature span {display: block; font-size: var(--font-size-14); color: rgba(255,255,255,.65); margin-top: 6px;}

.sdh-cta {padding: 80px 0 !important; background: #faf5f4; text-align: center;}
.sdh-cta h3 {font-size: clamp(24px, calc(36 / var(--inner) * 100vw), 36px); font-weight: 800; color: var(--dark-color); line-height: 1.4em; margin-bottom: 16px; letter-spacing: -.025em;}
.sdh-cta > .contain > p {font-size: var(--font-size-16); color: #666; line-height: 1.9em; margin-bottom: 34px;}
.sdh-cta .cta-buttons {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 28px;}
.sdh-cta .cta-btn {display: flex; align-items: center; gap: 16px; padding: 20px 32px; background: #fff; border: 2px solid var(--primary-color); border-radius: 12px; text-decoration: none; transition: .2s; min-width: 260px;}
.sdh-cta .cta-btn:hover {background: var(--primary-color); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(125,28,30,.2);}
.sdh-cta .cta-btn.cta-tel {background: var(--primary-color); color: #fff;}
.sdh-cta .cta-btn.cta-tel:hover {background: var(--dark-color); border-color: var(--dark-color);}
.sdh-cta .cta-ico {display: inline-flex; align-items: center; justify-content: center;}
.sdh-cta .cta-btn > div {text-align: left; display: flex; flex-direction: column;}
.sdh-cta .cta-label {font-size: 13px; opacity: .8; font-weight: 500; margin-bottom: 4px;}
.sdh-cta .cta-value {font-size: 18px; font-weight: 700;}
.sdh-cta .cta-btn.cta-reserve {color: var(--primary-color);}
.sdh-cta .cta-btn.cta-reserve:hover {color: #fff;}
.page-sd-hemorrhoid .cta-links {display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid #ebe0de;}
.page-sd-hemorrhoid .cta-links a {font-size: var(--font-size-14); color: var(--primary-color); font-weight: 600; text-decoration: none;}
.page-sd-hemorrhoid .cta-links a:hover {text-decoration: underline;}

@media (max-width: 1024px) {
    .sdh-hero {padding: 58px 0 !important;}
    .sdh-section, .sdh-doctor-note, .sdh-cta {padding: 54px 0 !important;}
    .sdh-highlights {padding: 40px 0 !important;}
    .why-key {grid-template-columns: 1fr; gap: 18px;}
    .ws-home {grid-template-columns: 1fr;}
    .pain-curve {grid-template-columns: 1fr 1fr;}
    .cb-two {grid-template-columns: 1fr;}
    .cost-box .cost-grid {grid-template-columns: 1fr;}
    .sdh-doctor-note .doctor-note-inner {grid-template-columns: 1fr; gap: 36px; text-align: center;}
    .sdh-doctor-note .dn-photo {max-width: 220px; margin: 0 auto;}
}

@media (max-width: 640px) {
    .sdh-hero {padding: 44px 0 !important;}
    .sdh-hero .hero-title {font-size: 26px !important; line-height: 1.3em !important; margin-bottom: 18px !important;}
    .sdh-hero .hero-lead {font-size: 14.5px !important; line-height: 1.95em !important; text-align: left;}
    .sdh-hero .hero-eyebrow {font-size: 11px !important; padding: 4px 14px !important; margin-bottom: 16px !important;}

    .sdh-highlights {padding: 28px 0 !important;}
    .sdh-highlights .highlight-cards {grid-template-columns: repeat(3, 1fr) !important; gap: 8px;}
    .sdh-highlights .highlight-card {padding: 18px 8px; border-radius: 12px;}
    .sdh-highlights .highlight-card:hover {transform: none !important;}
    .sdh-highlights .hc-icon {width: 42px; height: 42px; margin-bottom: 8px;}
    .sdh-highlights .hc-icon svg {width: 22px; height: 22px;}
    .sdh-highlights .hc-title {font-size: 12px; margin-bottom: 6px; line-height: 1.35em;}
    .sdh-highlights .hc-desc {font-size: 10.5px; line-height: 1.5em;}

    .sdh-section {padding: 44px 0 !important;}

    /* ★ 입원 3단계 — 박스 유지 */
    .why-step {padding: 22px 20px !important; border-radius: 12px; border-left-width: 4px !important; margin-bottom: 12px !important;}
    .ws-tag {padding: 4px 13px !important; font-size: 11px !important; margin-bottom: 11px !important;}
    .why-step h4 {font-size: 18px !important; margin-bottom: 11px !important;}
    .why-step > p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .ws-check {margin-top: 14px !important; padding: 16px 16px !important; border-radius: 10px;}
    .wc-label {font-size: 10.5px !important; margin-bottom: 9px !important;}
    .wc-items {grid-template-columns: 1fr !important; gap: 6px !important;}
    .wc-item {padding: 9px 13px 9px 30px !important; font-size: 13px !important;}
    .wc-item::before {left: 12px; width: 5px !important; height: 9px !important;}
    .ws-home {grid-template-columns: 1fr !important; gap: 8px !important; margin-top: 14px !important;}
    .wh-item {padding: 14px 16px !important; border-radius: 10px; border-left-width: 3px !important;}
    .wh-item strong {font-size: 14.5px !important; margin-bottom: 5px !important;}
    .wh-item span {font-size: 12.5px !important; line-height: 1.8em !important;}

    .why-key {padding: 24px 20px !important; border-radius: 14px; gap: 14px !important; margin-bottom: 16px !important;}
    .wk-icon {width: 44px !important; height: 44px !important;}
    .wk-icon svg {width: 22px !important; height: 22px !important;}
    .wk-body h4 {font-size: 17px !important; margin-bottom: 12px !important;}
    .wk-body p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .why-note {padding: 18px 20px !important; border-left-width: 4px !important;}
    .why-note p {font-size: 13px !important; line-height: 1.9em !important;}

    .total-box {padding: 18px 16px !important; margin-top: 16px !important;}
    .tb-label {font-size: 12px !important;}
    .tb-value {font-size: 15px !important;}
    .tb-value strong {font-size: 19px !important;}
    .tb-note {font-size: 11.5px !important;}
    .prep-note {padding: 20px 18px !important; margin-top: 16px !important; border-left-width: 4px !important;}
    .prep-note h4 {font-size: 16px !important; margin-bottom: 11px !important;}
    .prep-note ul li {font-size: 13px !important; line-height: 1.9em !important; padding-left: 20px !important; margin-bottom: 5px !important;}
    .prep-note ul li::before {top: 12px; width: 6px !important; height: 6px !important;}

    .rel-link {padding: 20px 18px !important; margin-top: 18px !important;}
    .rel-link p {font-size: 13px !important; margin-bottom: 12px !important;}
    .rl-btns {gap: 7px !important;}
    .rl-btns a {padding: 9px 16px !important; font-size: 12.5px !important;}

    .pain-key {padding: 22px 20px !important; border-radius: 14px; margin-bottom: 18px !important;}
    .pk-main {font-size: 19px !important; margin-bottom: 14px !important;}
    .pain-key p {font-size: 13.5px !important; line-height: 1.9em !important;}
    .pain-curve {grid-template-columns: 1fr !important; gap: 0 !important; margin-bottom: 16px !important;}
    .pc-item {padding: 18px 0 18px 18px !important; background: transparent !important; border-radius: 0 !important; border-top: none !important; border-left: 3px solid #ccc !important; border-bottom: 1px dashed #e2ddd8 !important; margin-left: 4px;}
    .pc-item:last-child {border-bottom: none !important;}
    .pc-item.peak {border-left-color: #b8443f !important;}
    .pc-item.peak2 {border-left-color: #d4823a !important;}
    .pc-item.down {border-left-color: #cfa93f !important;}
    .pc-item.end {border-left-color: #4d9370 !important;}
    .pc-when {font-size: 15px !important; margin-bottom: 5px !important;}
    .pc-lv {font-size: 10px !important; padding: 2px 9px !important; margin-bottom: 9px !important;}
    .pc-item p {font-size: 13px !important; line-height: 1.85em !important;}
    .pain-note {padding: 18px 20px !important; border-left-width: 4px !important;}
    .pain-note p {font-size: 13px !important; line-height: 1.9em !important;}

    .care-box {padding: 22px 20px !important; margin-top: 18px !important; border-radius: 12px;}
    .care-box h4 {font-size: 16.5px !important; margin-bottom: 14px !important;}
    .cb-two {gap: 10px !important;}
    .cb-item {padding: 18px 16px !important; border-radius: 10px; border-left-width: 3px !important;}
    .cb-label {padding: 3px 12px !important; font-size: 11px !important; margin-bottom: 11px !important;}
    .cb-item ul li {font-size: 12.5px !important; line-height: 1.9em !important; padding-left: 18px !important;}
    .cb-item ul li::before {top: 12px;}

    .urgent-box {padding: 20px 18px !important; margin-top: 16px !important; border-radius: 12px;}
    .urgent-box h4 {font-size: 15.5px !important; gap: 8px !important; margin-bottom: 12px !important;}
    .urgent-box h4::before {width: 22px !important; height: 22px !important; flex: 0 0 22px !important; font-size: 13px !important;}
    .urgent-box ul {margin-bottom: 12px !important;}
    .urgent-box ul li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .urgent-box ul li::before {top: 13px; width: 6px !important; height: 6px !important;}
    .urgent-box > p {font-size: 12.5px !important; padding: 12px 14px !important;}

    .cost-box {padding: 22px 20px !important; border-radius: 12px;}
    .cost-box .cost-grid {gap: 10px !important; margin-bottom: 16px !important;}
    .cost-box .cost-item {padding: 18px !important;}
    .cost-box .cost-tag {padding: 3px 10px !important; font-size: 11px !important; margin-bottom: 10px !important;}
    .cost-box .cost-item p {font-size: 13px !important;}
    .cost-note {padding: 16px 18px !important; font-size: 12.5px !important; line-height: 1.9em !important;}

    .sdh-doctor-note {padding: 48px 0 !important;}
    .sdh-doctor-note .doctor-note-inner {gap: 22px !important;}
    .sdh-doctor-note .dn-photo {max-width: 150px !important;}
    .sdh-doctor-note .dn-content {text-align: left;}
    .sdh-doctor-note .dn-quote-mark {font-size: 58px !important; top: -30px !important; left: -4px !important;}
    .sdh-doctor-note .dn-quote p {font-size: 13.5px !important; line-height: 1.95em !important; margin-bottom: 14px;}
    .sdh-doctor-note .dn-signature {margin-top: 20px !important; padding-top: 16px !important;}
    .sdh-doctor-note .dn-signature strong {font-size: 17px !important;}
    .sdh-doctor-note .dn-signature span {font-size: 12px !important;}

    .sdh-cta {padding: 46px 0 !important;}
    .sdh-cta h3 {font-size: 21px !important; margin-bottom: 12px !important;}
    .sdh-cta > .contain > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 22px !important;}
    .sdh-cta .cta-buttons {flex-direction: column; gap: 10px; margin-bottom: 20px;}
    .sdh-cta .cta-btn {padding: 16px 24px !important; min-width: auto; width: 100%;}
    .sdh-cta .cta-label {font-size: 11px;}
    .sdh-cta .cta-value {font-size: 16px;}
    .page-sd-hemorrhoid .cta-links {gap: 16px; padding-top: 18px;}
    .page-sd-hemorrhoid .cta-links a {font-size: 12.5px;}
}

@media (max-width: 380px) {
    .sdh-hero .hero-title {font-size: 23px !important;}
    .sdh-highlights .highlight-cards {gap: 6px;}
    .sdh-highlights .hc-title {font-size: 11px;}
    .sdh-highlights .hc-desc {font-size: 10px;}
}

/* ========================================
   소화기내과클리닉 (page-dig) — 전용 추가분
   ======================================== */

/* ① 히어로 톤 — 웜 베이지 */
.dig-hero {background: linear-gradient(135deg, #f7f6f2 0%, #ece8de 100%);}

/* 축약 4칸 — 2×2 */
.page-dig .dz-brief {grid-template-columns: repeat(2, 1fr);}

/* ★ 교차 안내 박스 (다른 과와 연결되는 주의) */
.cross-note {margin-top: 18px; padding: 18px 22px; background: #f6f7fa; border-left: 4px solid #5d6a85; border-radius: 8px; font-size: var(--font-size-14); line-height: 1.9em; color: #4a5266;}
.cross-note strong:first-child {display: block; color: #3d4a63; font-weight: 700; font-size: 15px; margin-bottom: 7px;}
.cross-note strong {color: #3d4a63; font-weight: 700;}
.cross-note a {color: var(--primary-color); font-weight: 700; text-decoration: underline; text-underline-offset: 3px;}

/* ★ 경고 블록 (IBS 경고 증상 등) */
.dz-block.b-warning {background: #fdf8f2 !important; border-left-color: #d9a441 !important; border: 1px solid #ecdcc0;}
.dz-bt.warning {color: #8a6420 !important; display: flex; align-items: center; gap: 10px;}
.dz-bt.warning::before {content: '!'; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: #d9a441; color: #fff; border-radius: 50%; font-size: 14px; font-weight: 800; flex: 0 0 24px;}
.warn-lead {font-size: var(--font-size-15); line-height: 1.9em; color: #6d5320; margin-bottom: 16px;}
.warn-lead strong {color: #8a6420; font-weight: 700;}
.warn-ul {list-style: none; padding: 0; margin: 0 0 18px 0;}
.warn-ul li {position: relative; padding-left: 22px; font-size: var(--font-size-15); line-height: 2em; color: #6d5320;}
.warn-ul li::before {content: ''; position: absolute; left: 2px; top: 14px; width: 7px; height: 7px; background: #d9a441; border-radius: 50%;}
.warn-ul li strong {color: #8a6420; font-weight: 700;}
.warn-ul.small li {font-size: var(--font-size-14); line-height: 1.95em;}
.warn-ul.small li::before {top: 13px; width: 6px; height: 6px;}
.warn-link {display: inline-block; padding: 12px 24px; background: #d9a441; color: #fff; border-radius: 999px; font-size: var(--font-size-14); font-weight: 700; text-decoration: none; transition: .2s;}
.warn-link:hover {background: #b8863a; transform: translateY(-2px);}

/* ★ 2단 참고 팁 (위궤양 vs 십이지장궤양) */
.tip-two {display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px;}
.t2-item {padding: 18px 20px; background: #faf7f5; border-radius: 10px; border-left: 3px solid #b8763a;}
.t2-label {display: inline-block; padding: 3px 12px; background: #b8763a; color: #fff; border-radius: 4px; font-size: 12px; font-weight: 700; margin-bottom: 10px;}
.t2-item p {font-size: var(--font-size-14); line-height: 1.85em; color: #555; margin: 0;}
.t2-item p strong {color: var(--dark-color); font-weight: 700;}

/* ========================================
   소화기 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .tip-two {grid-template-columns: 1fr;}
    .page-dig .dz-brief {grid-template-columns: 1fr;}
}

/* ========================================
   소화기 — 모바일
   ======================================== */
@media (max-width: 640px) {
    /* 교차 안내 — 박스 유지 (중요 정보) */
    .cross-note {margin-top: 14px !important; padding: 14px 16px !important; font-size: 12.5px !important; line-height: 1.85em !important; border-left-width: 3px !important;}
    .cross-note strong:first-child {font-size: 13.5px !important; margin-bottom: 6px !important;}

    /* 경고 블록 — 박스 유지 */
    .dz-block.b-warning {padding: 20px 18px !important; background: #fdf8f2 !important; border-radius: 12px !important; border-left-width: 4px !important;}
    .dz-bt.warning {font-size: 15.5px !important; gap: 8px !important;}
    .dz-bt.warning::before {width: 20px !important; height: 20px !important; flex: 0 0 20px !important; font-size: 12px !important;}
    .warn-lead {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 12px !important;}
    .warn-ul {margin-bottom: 14px !important;}
    .warn-ul li {font-size: 13.5px !important; line-height: 1.95em !important; padding-left: 20px !important;}
    .warn-ul li::before {top: 13px; width: 6px !important; height: 6px !important;}
    .warn-ul.small li {font-size: 12.5px !important;}
    .warn-link {padding: 11px 20px !important; font-size: 12.5px !important;}

    /* 2단 팁 */
    .tip-two {gap: 8px !important; margin-top: 12px !important;}
    .t2-item {padding: 14px 16px !important; border-radius: 8px;}
    .t2-label {font-size: 11px !important; padding: 2px 10px !important; margin-bottom: 8px !important;}
    .t2-item p {font-size: 12.5px !important; line-height: 1.8em !important;}
}

/* ========================================
   호흡기내과클리닉 (page-res) — 전용 추가분
   ======================================== */

/* ① 히어로 톤 — 쿨 블루 */
.res-hero {background: linear-gradient(135deg, #f2f5f7 0%, #e2e9ed 100%);}

/* ★ 감별표 (감기 vs 독감) — .page-res 한정 (항문외과 cmp-table과 충돌 방지) */
.page-res .cmp-table {display: flex; flex-direction: column; gap: 2px; width: auto; min-width: 0; background: #ece7e0; border-radius: 12px; overflow: hidden; border-collapse: unset;}
.page-res .ct-row {display: grid; grid-template-columns: 110px 1fr 1fr; gap: 2px; background: #ece7e0;}
.page-res .ct-row.head {background: transparent;}
.page-res .ct-row.head .ct-a {background: #8a8f8e; color: #fff; font-weight: 700; text-align: center;}
.page-res .ct-row.head .ct-b {background: var(--primary-color); color: #fff; font-weight: 700; text-align: center;}
.page-res .ct-row.head .ct-label {background: transparent;}
.page-res .ct-label {display: flex; align-items: center; padding: 14px 16px; background: #faf7f5; font-size: var(--font-size-14); font-weight: 700; color: #6a655c;}
.page-res .ct-a, .page-res .ct-b {display: flex; align-items: center; padding: 14px 18px; font-size: var(--font-size-15); color: #555;}
.page-res .ct-a {background: #fff;}
.page-res .ct-b {background: #fdf8f7;}
.page-res .ct-a strong, .page-res .ct-b strong {color: var(--dark-color); font-weight: 700;}
.page-res .ct-row.head .ct-a, .page-res .ct-row.head .ct-b {font-size: var(--font-size-16); justify-content: center;}

/* ★ 만성 기침 3대 원인 */
.cause3-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;}
.c3-item {display: flex; flex-direction: column; padding: 26px 22px; background: #fff; border-radius: 14px; border-top: 3px solid #8a6f9a;}
.c3-num {display: inline-block; align-self: flex-start; font-size: 11.5px; font-weight: 800; color: #fff; background: #8a6f9a; padding: 2px 10px; border-radius: 4px; margin-bottom: 12px;}
.c3-item h5 {font-size: var(--font-size-17); font-weight: 700; color: var(--dark-color); margin-bottom: 10px; line-height: 1.4em;}
.c3-item > p {font-size: var(--font-size-14); line-height: 1.85em; color: #666; margin-bottom: 14px;}
.c3-item > p strong {color: #8a6f9a; font-weight: 700;}
.c3-sign {flex: 1; padding: 14px 16px; background: #f7f5f9; border-radius: 8px; font-size: var(--font-size-13); line-height: 1.8em; color: #6a6070; margin-bottom: 12px;}
.c3-sign span {display: block; font-size: 11.5px; font-weight: 700; color: #8a6f9a; margin-bottom: 6px;}
.c3-link {display: block; font-size: var(--font-size-13); font-weight: 700; color: var(--primary-color); padding-top: 12px; border-top: 1px solid #f0f0f0; text-decoration: none;}
.c3-link:hover {text-decoration: underline;}
.c3-note {display: block; font-size: var(--font-size-13); color: #999; padding-top: 12px; border-top: 1px solid #f0f0f0;}

/* ★ 인라인 경고 (코 스프레이 주의 등) */
.warn-inline {margin-top: 18px; padding: 18px 22px; background: #fdf8f2; border-left: 4px solid #d9a441; border-radius: 8px; font-size: var(--font-size-14); line-height: 1.9em; color: #6d5320;}
.warn-inline strong:first-child {display: block; color: #8a6420; font-weight: 700; font-size: 15px; margin-bottom: 7px;}
.warn-inline strong {color: #8a6420; font-weight: 700;}

/* 3대 원인 블록 배경 */
.dz-block.b-cause3 {background: #faf8fb !important; border-left-color: #8a6f9a !important;}

/* ========================================
   호흡기 — 태블릿
   ======================================== */
@media (max-width: 1024px) {
    .cause3-grid {grid-template-columns: 1fr;}
}

/* ========================================
   호흡기 — 모바일
   ======================================== */
@media (max-width: 640px) {
    /* ★ 감별표 → 열 폭 조정, 표는 유지 (대비가 정보) */
    .page-res .cmp-table {border-radius: 10px;}
    .page-res .ct-row {grid-template-columns: 74px 1fr 1fr !important;}
    .page-res .ct-label {padding: 11px 10px !important; font-size: 11.5px !important;}
    .page-res .ct-a, .page-res .ct-b {padding: 11px 12px !important; font-size: 12.5px !important;}
    .page-res .ct-row.head .ct-a, .page-res .ct-row.head .ct-b {font-size: 13px !important; padding: 10px 8px !important;}

    /* ★ 3대 원인 → 좌측 라인 흐름 (박스 벗김) */
    .dz-block.b-cause3 {padding: 20px 0 20px 18px !important; background: transparent !important; border-radius: 0 !important;}
    .cause3-grid {gap: 0 !important;}
    .c3-item {padding: 18px 0 18px 16px !important; background: transparent !important; border-radius: 0 !important; border-top: none !important; border-left: 3px solid #8a6f9a !important; border-bottom: 1px dashed #e8e3de !important; margin-left: 4px;}
    .c3-item:last-child {border-bottom: none !important;}
    .c3-num {font-size: 10.5px !important; padding: 2px 9px !important; margin-bottom: 9px !important;}
    .c3-item h5 {font-size: 15.5px !important; margin-bottom: 8px !important;}
    .c3-item > p {font-size: 13px !important; line-height: 1.85em !important; margin-bottom: 10px !important;}
    .c3-sign {padding: 11px 13px !important; font-size: 12px !important; line-height: 1.75em !important; margin-bottom: 10px !important;}
    .c3-sign span {font-size: 10.5px !important; margin-bottom: 5px !important;}
    .c3-link, .c3-note {font-size: 12px !important; padding-top: 9px !important;}

    /* 인라인 경고 — 박스 유지 */
    .warn-inline {margin-top: 14px !important; padding: 14px 16px !important; font-size: 12.5px !important; line-height: 1.85em !important; border-left-width: 3px !important;}
    .warn-inline strong:first-child {font-size: 13.5px !important; margin-bottom: 6px !important;}
}

@media (max-width: 380px) {
    .page-res .ct-row {grid-template-columns: 62px 1fr 1fr !important;}
    .page-res .ct-label {font-size: 10.5px !important; padding: 10px 7px !important;}
    .page-res .ct-a, .page-res .ct-b {font-size: 11.5px !important; padding: 10px 9px !important;}
}

/* 국가검진 암검진 그룹 구분 */
.page-nat .cancer-group {margin-bottom: 28px;}
.page-nat .cancer-group .cancer-grid {margin-bottom: 0;}
.page-nat .cg-label {display: inline-block; padding: 6px 18px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 16px;}
.page-nat .cg-label.ours {background: #4d9370;}
.page-nat .cg-label.refer {background: #8a8f8e;}
.page-nat .cancer-card.refer {opacity: .82; background: #f7f7f6 !important;}
.page-nat .cancer-card.refer:hover {transform: none; box-shadow: none; border-color: #e5e5e5;}
.page-nat .cancer-card.refer .cc-name {color: #6a655c !important;}
.page-nat .cancer-card.refer .cc-note {display: block; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #ddd; font-size: 12.5px; color: #999;}

.sub-note {display: inline; font-size: .88em; color: #888; font-weight: 400;}

@media (max-width: 640px) {
    .page-nat .cancer-group {margin-bottom: 20px;}
    .page-nat .cg-label {padding: 4px 14px; font-size: 11.5px; margin-bottom: 12px;}
    .page-nat .cancer-card.refer {opacity: 1; background: transparent !important; border-left-color: #8a8f8e !important;}
    .page-nat .cancer-card.refer .cc-note {font-size: 11.5px; margin-top: 8px; padding-top: 8px;}
    .sub-note {display: block; margin-top: 3px; font-size: 12px;}
}

/* ========================================
   네이비 박스 내부 strong 색상 복구
   .section-body p strong (#333) 이 특이도로 덮어쓰는 문제 해결
   ======================================== */
.fw-body strong,
.wm-body strong,
.rw-body strong,
.rsl-body strong,
.dm-body strong,
.bl-body strong,
.hk-body strong,
.wk-body strong,
.em-body strong,
.win-msg strong,
.flow-why strong,
.dense-main strong {
    color: #FFE9B0 !important;
}

.fw-body p,
.wm-body p,
.rw-body p,
.rsl-body p,
.dm-body p,
.bl-body p,
.hk-body p,
.wk-body p,
.em-body p {
    color: rgba(255,255,255,.88) !important;
}

/* ========================================
   비급여 진료비용 안내 (page-noncov)
   ======================================== */
.page-noncov section {padding: 0;}
.page-noncov .contain {padding-top: 0; padding-bottom: 0;}

.nc-head {padding: 56px 0 40px !important; text-align: center; border-bottom: 1px solid #eee;}
.nc-title {font-size: clamp(26px, calc(38 / var(--inner) * 100vw), 38px); font-weight: 800; color: var(--dark-color); margin-bottom: 14px; letter-spacing: -.025em;}
.nc-lead {font-size: var(--font-size-16); line-height: 1.8em; color: #666; margin-bottom: 22px;}
.nc-lead strong {color: var(--primary-color); font-weight: 700;}
.nc-meta {display: inline-flex; align-items: center; gap: 20px; flex-wrap: wrap; justify-content: center; padding: 12px 24px; background: #faf7f5; border-radius: 999px;}
.nc-date, .nc-unit {font-size: var(--font-size-14); color: #777;}
.nc-date strong {color: var(--primary-color); font-weight: 700;}

.nc-section {padding: 46px 0 0 !important;}
.nc-cat {display: flex; align-items: center; gap: 14px; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 2px solid var(--primary-color);}
.nc-num {display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 30px; padding: 0 10px; background: var(--primary-color); color: #fff; border-radius: 6px; font-size: 14px; font-weight: 800;}
.nc-cat h3 {font-size: var(--font-size-24); font-weight: 700; color: var(--dark-color); margin: 0; letter-spacing: -.02em;}

.nc-table-wrap {overflow-x: auto; -webkit-overflow-scrolling: touch;}
.nc-table {width: 100%; border-collapse: collapse; table-layout: fixed;}
.nc-table caption {position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap;}
.nc-table thead th {padding: 15px 20px; background: #f4f1ee; font-size: var(--font-size-15); font-weight: 700; color: #5a564e; text-align: left; border-bottom: 1px solid #e5e0d8;}
.nc-table thead th:last-child {text-align: right;}
.nc-table tbody td {padding: 15px 20px; font-size: var(--font-size-15); color: #444; border-bottom: 1px solid #f0ece7; line-height: 1.5em; word-break: keep-all;}
.nc-table tbody tr:hover {background: #faf8f6;}
.nc-table tbody tr:last-child td {border-bottom: 1px solid #e5e0d8;}
.nc-table td.price {text-align: right; font-weight: 700; color: var(--dark-color); white-space: nowrap; font-variant-numeric: tabular-nums;}
.nc-table td.price::after {content: '원'; margin-left: 2px; font-size: .88em; font-weight: 500; color: #999;}

.nc-foot {padding: 50px 0 70px !important;}
.nc-notice {padding: 32px 36px; background: #faf7f5; border-radius: 16px; border-left: 5px solid var(--primary-color);}
.nc-notice h4 {font-size: var(--font-size-19); font-weight: 700; color: var(--primary-color); margin-bottom: 16px;}
.nc-notice ul {list-style: none; padding: 0; margin: 0 0 22px 0;}
.nc-notice ul li {position: relative; padding-left: 20px; font-size: var(--font-size-15); line-height: 1.95em; color: #555; margin-bottom: 4px;}
.nc-notice ul li strong {color: var(--dark-color); font-weight: 700;}
.nc-notice ul li::before {content: ''; position: absolute; left: 2px; top: 13px; width: 6px; height: 6px; background: var(--primary-color); border-radius: 50%;}
.nc-tel {display: inline-flex; align-items: center; gap: 9px; padding: 13px 26px; background: var(--primary-color); color: #fff; border-radius: 999px; font-size: var(--font-size-16); font-weight: 700; text-decoration: none; transition: .2s;}
.nc-tel:hover {background: var(--dark-color); transform: translateY(-2px);}

@media (max-width: 1024px) {
    .nc-head {padding: 44px 0 32px !important;}
    .nc-section {padding: 38px 0 0 !important;}
    .nc-foot {padding: 40px 0 56px !important;}
}

@media (max-width: 640px) {
    .nc-head {padding: 34px 0 26px !important;}
    .nc-title {font-size: 23px !important; margin-bottom: 11px !important;}
    .nc-lead {font-size: 13.5px !important; line-height: 1.75em !important; margin-bottom: 16px !important;}
    .nc-meta {flex-direction: column; gap: 5px !important; padding: 11px 20px !important; border-radius: 12px;}
    .nc-date, .nc-unit {font-size: 12px !important;}

    .nc-section {padding: 30px 0 0 !important;}
    .nc-cat {gap: 10px !important; margin-bottom: 13px !important; padding-bottom: 10px !important;}
    .nc-num {min-width: 28px; height: 25px; padding: 0 8px; font-size: 12px !important;}
    .nc-cat h3 {font-size: 18px !important;}

    .nc-table {table-layout: auto;}
    .nc-table thead th {padding: 11px 12px !important; font-size: 12.5px !important;}
    .nc-table tbody td {padding: 12px 12px !important; font-size: 13px !important; line-height: 1.45em !important;}
    .nc-table td.price {font-size: 13.5px !important;}
    .nc-table td.price::after {font-size: .85em;}
    .nc-table colgroup col:last-child {width: 96px !important;}

    .nc-foot {padding: 30px 0 44px !important;}
    .nc-notice {padding: 22px 20px !important; border-radius: 12px; border-left-width: 4px !important;}
    .nc-notice h4 {font-size: 16px !important; margin-bottom: 12px !important;}
    .nc-notice ul {margin-bottom: 18px !important;}
    .nc-notice ul li {font-size: 13px !important; line-height: 1.9em !important; padding-left: 18px !important;}
    .nc-notice ul li::before {top: 12px;}
    .nc-tel {padding: 12px 22px !important; font-size: 14.5px !important;}
}

@media (max-width: 380px) {
    .nc-table tbody td {padding: 11px 9px !important; font-size: 12.5px !important;}
    .nc-table colgroup col:last-child {width: 86px !important;}
}



