/* sub-top-banner */
.sub-content {
  padding-top: 80px;
}
/* 배너+드롭다운이 pps·section 등 다음 섹션보다 위 */
.sub-page > .sub-content:has(.sub-top-banner) {
  position: relative;
  z-index: 20;
}
.sub-top-banner {
  width: 100%;
  height: 320px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  justify-content: center;
  /* header(100) / site-header(1200) 아래, 본문(.inner z-index:2) 위 */
  z-index: 5;
  isolation: isolate;
  overflow: visible;
}
/* 배너 바로 아래 본문 — .inner z-index:2 가 드롭다운과 경쟁하지 않도록 가둠 */
.sub-content > *:not(.sub-top-banner) {
  position: relative;
  z-index: 1;
}
.sub-top-banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: 0;
  overflow: hidden;
}
.sub-top-banner-bg {
  position: absolute;
  top: -7.5%;
  left: -7.5%;
  width: 115%;
  height: 115%;
  background: url("../img/sub/hospital-intro-hero1.png") no-repeat center
    center / cover;
  z-index: 0;
  will-change: transform;
  filter: blur(14px);
  opacity: 0.82;
  transform: scale(1.26);
  animation: subHeroBgIntro 2.1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
/* 모션 변형: 기본(인트로만) | zoom(인트로+확대루프) | none(인트로만, 영역 100%) */
.sub-top-banner--motion-zoom .sub-top-banner-bg {
  animation:
    subHeroBgIntro 2.1s cubic-bezier(0.22, 1, 0.36, 1) forwards,
    subHeroBgZoom 42s ease-in-out 2.1s infinite;
}
.sub-top-banner--motion-none .sub-top-banner-bg {
  animation: subHeroBgIntro 2.1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sub-top-banner--2 .sub-top-banner-bg {
  background-image: url("../img/sub/hospital-intro-hero2.png");
}
.sub-top-banner--3 .sub-top-banner-bg {
  background-image: url("../img/sub/hospital-intro-hero3.png");
}
.sub-top-banner--4 .sub-top-banner-bg {
  background-image: url("../img/sub/hospital-intro-hero4.png");
}
.sub-top-banner--5 .sub-top-banner-bg {
  background-image: url("../img/sub/hospital-intro-hero5.png");
}
.sub-top-banner--6 .sub-top-banner-bg {
  background-image: url("../img/sub/hospital-intro-hero6.png");
}
/* 1) 블러 → 선명 + 2) 크게 → 작아짐 (페이지 로드마다 1회) */
@keyframes subHeroBgIntro {
  0% {
    filter: blur(14px);
    opacity: 0.82;
    transform: translate3d(0, 0, 0) scale(1.26);
  }
  55% {
    filter: blur(3px);
    opacity: 0.95;
    transform: translate3d(0, 0, 0) scale(1.1);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1.09);
  }
}
@keyframes subHeroBgZoom {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1.08);
  }
  50% {
    transform: translate3d(0, 0, 0) scale(1.13);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sub-top-banner-bg {
    animation: none;
    filter: none;
    opacity: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: none;
  }
  .pain-top-content .content1-right .pin {
    animation: none;
  }
  .pain-top-content::before,
  .treatment-manual.pain-main-content::before {
    animation: none;
  }
}
.sub-top-banner-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 24px;
  max-width: 1280px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  color: #555;
  margin: 0 auto;
  text-align: center;
  overflow: visible;
}
.sub-top-banner-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-top: 80px;
}

.sub-top-banner-subtitle {
  margin: 0;
  font-size: 40px;
  color: #fff;
  font-weight: 700;
  line-height: 1.3;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
}

/* 이동 메뉴 — 타이틀 하단 */
.breadcrumb {
  position: relative;
  margin: 0;
  display: inline-flex;
  max-width: 100%;
  padding: 0;
  border-radius: 7px;
  background: transparent;
  /* backdrop-filter는 ::before에만 — 펼침 패널이 배너 배경을 흐리게 보이도록 */
}
.breadcrumb::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  pointer-events: none;
  z-index: 0;
}
.breadcrumb__list {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 16px;
  color: #fff;
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumb__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 30px;
  box-sizing: border-box;
  position: relative;
}
.breadcrumb__item + .breadcrumb__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: calc(100% - 16px);
  background: rgba(255, 255, 255, 0.45);
  flex-shrink: 0;
}
.breadcrumb__item a {
  color: inherit;
  text-decoration: none;
}
.breadcrumb__item a:hover {
  text-decoration: none;
}
.breadcrumb__home {
  line-height: 0;
  display: inline-flex;
  color: #fff;
}
.breadcrumb__home svg {
  display: block;
  width: 16px;
  height: 18px;
  flex-shrink: 0;
}
.breadcrumb__dropdown {
  position: relative;
  z-index: 1;
  width: 100%;
}
.breadcrumb__item--dropdown {
  width: 250px;
  flex: 0 0 250px;
  max-width: 100%;
  padding: 0;
}
.breadcrumb__dropdown.is-open {
  z-index: 100;
}
.breadcrumb__dropdown-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  position: relative;
  gap: 0;
  padding: 12px 46px 12px 30px;
  box-sizing: border-box;
  font: inherit;
  color: inherit;
  cursor: pointer;
  border: none;
  background: none;
  text-align: center;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.breadcrumb__dropdown-label {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
}
.breadcrumb__dropdown-ico {
  position: absolute;
  right: 30px;
  top: 50%;
  width: 11px;
  height: 7px;
  display: inline-flex;
  color: #fff;
  transform: translateY(-50%);
}
.breadcrumb__dropdown-ico svg {
  display: block;
  width: 100%;
  height: 100%;
  transition: transform 0.2s ease;
}
.breadcrumb__dropdown.is-open .breadcrumb__dropdown-ico svg {
  transform: rotate(180deg);
}
.breadcrumb__dropdown-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: auto;
  width: 100%;
  min-width: 0;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(12.5px) saturate(1.1);
  -webkit-backdrop-filter: blur(12.5px) saturate(1.1);
  box-shadow: 0 2px 5px 0.5px rgba(0, 0, 0, 0.08);
  z-index: 100;
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
  transition:
    grid-template-rows 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.28s ease,
    visibility 0.32s ease;
}
.breadcrumb__dropdown.is-open .breadcrumb__dropdown-panel {
  grid-template-rows: 1fr;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .breadcrumb__dropdown-panel {
    transition: none;
  }
}
.breadcrumb__dropdown-list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  border-radius: 7px;
  min-height: 0;
  overflow: hidden;
}
.breadcrumb__dropdown-list li.active a {
  font-weight: 700;
  background: transparent;
  color: var(--color-blue);
}
.breadcrumb__dropdown-list a {
  display: block;
  padding: 12px 20px;
  font-size: 16px;
  font-weight: 400;
  color: #999;
  text-decoration: none;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}
.breadcrumb__dropdown-list a:hover,
.breadcrumb__dropdown-list li.active a:hover {
  background: #f1f1f1;
  color: #555;
}
.breadcrumb__dropdown-list li.active a:hover {
  color: var(--color-blue);
}
/* hospital-greeting (병원소개)  */
.hospital-greeting {
  position: relative;
  /* overflow:hidden 금지 — 브레드크럼 드롭다운이 배너 밖으로 열려야 함.
     marquee 가로 넘침은 .flow-text-wrap 자체 overflow로 처리 */
  isolation: isolate;
  background: #ffffff;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 1) 0%,
    rgba(243, 244, 249, 1) 100%
  );
}
.hospital-greeting > .sub-top-banner {
  position: relative;
  /* 본문(.inner)보다 위 — 드롭다운이 배너 밖으로 열려도 hover/클릭 가능 */
  z-index: 5;
}
.hospital-greeting > .inner {
  position: relative;
  z-index: 2;
}
.hospital-greeting-content,
.hospital-greeting-content-item {
  position: relative;
  z-index: 2;
}
.hospital-greeting .flow-text-wrap,
.hospital-greeting .flow-text-wrap--greeting {
  z-index: 0;
}
.sub-content h3 {
  font-size: 52px;
  margin-bottom: 80px;
  font-weight: 300;
}
.sub-content h3.c {
  text-align: center;
}
.sub-section-kicker {
  color: var(--color-gray-deep);
}
.sub-section-kicker::before {
  content: "SINYEONGTONG MADI CHKCHK";
  display: block;
  margin-bottom: min(10px, 2.5vw);
  font-size: min(18px, 4.5vw);
  font-weight: 400;
  line-height: 1.4;
  color: #7b8591;
  letter-spacing: 0.02em;
}
.sub-section-kicker b {
  color: var(--color-blue);
  font-weight: 700;
}
.hospital-greeting-content {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.hospital-greeting-content-item {
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 2px 15px 5px rgba(25, 25, 77, 0.1);
  display: flex;
  overflow: hidden;
}
.hospital-greeting-content-item:nth-of-type(2n) {
  flex-direction: row-reverse;
}
.hospital-greeting-content-item-img {
  line-height: 0;
  overflow: hidden;
  flex: 6;
  position: relative;
}
.hospital-greeting-content-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.06);
  transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}
.sub-page--greeting
  .hospital-greeting-content-item.is-visible
  .hospital-greeting-content-item-img
  img {
  transform: scale(1);
}
.hospital-greeting-content-item-img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0) 60%,
    rgba(0, 0, 0, 0.11) 70%,
    rgba(0, 0, 0, 0.42) 85%,
    rgba(0, 0, 0, 0.58) 100%
  );
}
.hospital-greeting-content-item-img-num {
  position: absolute;
  bottom: 0;
  right: 7px;
  z-index: 2;
  color: #fff;
  font-family: "Paperlogy", sans-serif;
  font-size: 52px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: -0.02em;
  opacity: 0.2;
}
.hospital-greeting-content-item-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  flex: 6;
  padding: 80px 40px;
}
.greeting-promise-title {
  border-radius: 50px;
  background: var(--color-blue-light);
  display: inline-flex;
  padding: 6px 15px;
  justify-content: center;
  align-items: center;
  color: var(--color-blue);
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 20px;
}
.greeting-promise-title-text {
  color: var(--color-blue);
  font-size: 40px;
  font-weight: 700;
}
.greeting-subtitle {
  width: 100%;
  box-sizing: border-box;
  color: #757594;
  font-size: 24px;
  font-weight: 500;
  margin: 15px 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #acaccd;
}
.greeting-text-content {
  width: 100%;
  box-sizing: border-box;
  color: var(--color-gray-deep);
  font-size: 18px;
}
/* hospital-tour */
.hospital-tour {
  background: url("/assets/img/sub/hospital-tour-bg.png") no-repeat center
    center / cover;
}
.hospital-tour-inner {
  margin-left: calc((100vw - 1280px) / 2);
  position: relative;
  z-index: 2;
}
.hospital-tour-layout {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 40px 56px;
}
.hospital-tour-label {
  margin: 0 0 12px;
  color: #8b95a5;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
}
.hospital-tour-title {
  margin: 0;
  color: #fff;
  font-size: clamp(32px, 3.2vw, 50px);
  font-weight: 700;
  line-height: 1.25;
}
.hospital-tour-title b {
  font-weight: 700;
}
.hospital-tour-nav {
  display: flex;
  gap: 24px;
  margin-top: 36px;
}
.hospital-tour-nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: linear-gradient(
    90deg,
    rgba(195, 195, 229, 0.35) 0%,
    rgba(108, 108, 127, 0.35) 100%
  );
  cursor: pointer;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  box-shadow: none;
  transition:
    transform 0.2s ease,
    opacity 0.2s ease;
}
.hospital-tour-nav-btn.hospital-tour-next {
  background: linear-gradient(
    90deg,
    rgba(108, 108, 127, 0.35) 0%,
    rgba(195, 195, 229, 0.35) 100%
  );
}
.hospital-tour-nav-btn:hover {
  transform: scale(1.04);
  opacity: 0.95;
}
.hospital-tour-nav-btn:focus-visible {
  outline: 2px solid rgba(195, 195, 229, 0.7);
  outline-offset: 3px;
}
.hospital-tour-nav-btn__icon {
  display: block;
  line-height: 0;
}
.hospital-tour-nav-btn__icon svg {
  display: block;
  width: 60px;
  height: 60px;
}
.hospital-tour-nav-btn.hospital-tour-next .hospital-tour-nav-btn__icon svg {
  transform: scaleX(-1);
}
.hospital-tour-slider-wrap {
  min-width: 0;
  overflow: hidden;
}
.hospital-tour-swiper {
  overflow: hidden;
  width: 100%;
}
.hospital-tour-swiper .swiper-slide {
  height: auto;
}
/* hospital-doctor (의료진 소개) */
.hospital-doctor {
  background: #fff;
}
.hospital-doctor > .sub-top-banner {
  position: relative;
  z-index: 5;
}
.hospital-doctor-body {
  position: relative;
  isolation: isolate;
}
.hospital-doctor-inner {
  position: relative;
  z-index: 1;
}
.doctor-side-text {
  position: absolute;
  left: 2.5%;
  top: 5%;
  bottom: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.7;
  overflow: hidden;
  text-align: left;
}
.doctor-side-text__inner {
  margin: 0;
  padding: 0;
  writing-mode: vertical-lr;
  text-orientation: mixed;
  direction: ltr;
  font-size: 112px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  text-align: left;
}
.doctor-side-text__blue {
  color: var(--color-blue-light);
}
.doctor-side-text__orange {
  color: var(--color-orange-light);
}
.doctor-side-text__gray {
  color: var(--color-gray-light);
}
@media (max-width: 1024px) {
  .doctor-side-text {
    display: none;
  }
}
.hospital-doctor-head {
  margin-bottom: 40px;
}
.hospital-doctor-title {
  margin: 0;
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 400;
  line-height: 1.35;
}
.hospital-doctor-title b {
  font-weight: 700;
}
.doctor-profile-list {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.doctor-profile {
  /* 메인 '자세히 보기' 앵커 이동 시 고정 헤더에 가리지 않도록 보정 */
  scroll-margin-top: 120px;
}
.doctor-profile-layout {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}
.doctor-profile-photo {
  flex: 1;
  border-radius: 30px;
  background: #e6ebf4;
  background: linear-gradient(180deg, rgba(230, 235, 244, 1) 0%, rgba(246, 246, 246, 1) 100%);
  overflow: hidden;
  line-height: 0;
  display: flex;
  align-items: flex-end;
  padding-top: 2%;
  box-sizing: border-box;
}
.doctor-profile-photo img {
  width: 100%;
  object-fit: contain;
  object-position: bottom center;
  transform: scale(1.04);
  transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}
.sub-page--doctor .doctor-profile.is-visible .doctor-profile-photo img {
  transform: scale(1);
}
.doctor-profile-main {
  flex: 2;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.doctor-profile-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  margin: 0 0 24px;
}
.doctor-profile-name {
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-blue);
}
.doctor-profile-name span {
  font-weight: 700;
  color: inherit;
}
.doctor-detail {
  display: grid;
  grid-template-columns: 3fr 4fr;
  gap: 18px 32px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e8e8e8;
  scroll-margin-top: 120px;
  align-items: start;
}
.doctor-detail--combined {
  display: block;
  grid-template-columns: none;
}
.doctor-detail-single {
  min-width: 0;
}
.doctor-detail-columns {
  display: grid;
  grid-template-columns: 3fr 4fr;
  gap: 12px 36px;
  align-items: start;
}
.doctor-detail-col {
  min-width: 0;
}
.doctor-detail-title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-blue);
}
.doctor-detail-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.doctor-detail-list li {
  display: block;
  position: relative;
  padding-left: 12px;
  font-size: 16px;
  color: var(--color-gray-deep);
  opacity: 0.8;
  word-break: keep-all;
  line-height: 1.45;
}
.doctor-detail-list li + li {
  margin-top: 3px;
}
.doctor-detail-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-gray-deep);
}
.doctor-schedule-wrap {
  width: 100%;
  min-width: 0;
}
.doctor-schedule-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.doctor-schedule {
  width: max-content;
  min-width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e0e4ea;
  border-radius: 10px;
  overflow: hidden;
  font-size: 15px;
  text-align: center;
  background: #fff;
}
.doctor-schedule thead th {
  padding: 12px 8px;
  background: #e0e4ea;
  color: var(--color-gray-deep);
  font-weight: 600;
  border-bottom: 1px solid #e0e4ea;
  font-size: 16px;
  white-space: nowrap;
}
.doctor-schedule thead th:first-child {
  width: 80px;
}
.doctor-schedule tbody th {
  padding: 12px 12px;
  background: #fff;
  color: var(--color-gray-deep);
  font-weight: 600;
  font-size: 16px;
  border-right: 1px solid #e0e4ea;
  border-bottom: 1px solid #e0e4ea;
  vertical-align: middle;
  white-space: nowrap;
}
.doctor-schedule-row-label--night {
  color: var(--color-orange-deep);
}
.doctor-schedule tbody tr:last-child th {
  border-bottom: none;
}
.doctor-schedule tbody td {
  padding: 12px 8px;
  background: #fff;
  border-bottom: 1px solid #e0e4ea;
  vertical-align: middle;
  white-space: nowrap;
}
.doctor-schedule tbody tr:last-child td {
  border-bottom: none;
}
.doctor-schedule-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  padding: 8px 8px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
.doctor-schedule-badge--on {
  background: var(--color-orange);
  color: #fff;
}
.doctor-schedule-badge--off {
  background: #f0f0f0;
  color: var(--color-gray-deep);
}
.doctor-schedule-badge--close2 {
  background: #d35e3b;
  color: #fff;
}
.doctor-schedule-badge--proc {
  background: #8668b9;
  color: #fff;
}
.doctor-schedule-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin: 16px 0 0;
  font-size: 16px;
  line-height: 1.5;
  color: #444;
  opacity: 0.7;
}
.doctor-schedule-note-sep {
  color: #ccc;
  font-weight: 300;
}
.doctor-schedule-note strong {
  color: #222;
  font-weight: 700;
}

.hospital-tour-slide-img {
  width: 100%;
  aspect-ratio: 16 / 10;
  line-height: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #eef2f6;
}
.hospital-tour-slide-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}
.sub-page--greeting
  .hospital-tour-slider-wrap.is-visible
  .hospital-tour-slide-img:hover
  img {
  transform: scale(1.04);
}

/* pain-top-content */
.pain-top-content {
  background: url("/assets/img/sub/pain-top-content-bg.png") no-repeat center
    center / cover;
  background-attachment: fixed;
  position: relative;
  overflow: hidden;
}
.pain-top-content::before {
  content: "";
  position: absolute;
  z-index: 0;
  color: var(--color-blue-mid);
  opacity: 0.1;
  font-size: 17vw;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  top: 0%;
  left: 10%;
  pointer-events: none;
  white-space: nowrap;
  will-change: transform;
  animation: painTopWatermarkDrift 26s ease-in-out infinite;
}
@keyframes painTopWatermarkDrift {
  0%,
  100% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(5%, -6%);
  }
  50% {
    transform: translate(-4%, 5%);
  }
  75% {
    transform: translate(6%, -3%);
  }
}

.pain-top-content .inner {
  display: flex;
  align-items: flex-start;
  gap: 100px;
  position: relative;
  z-index: 2;
}
.pain-top-content .content1-left {
  flex: 6;
}
.pain-top-intro {
  position: relative;
  z-index: 2;
  /* padding-top: 20px; */
}
.pain-top-brand {
  margin-bottom: 35px;
  font-size: 14px;
  font-weight: 700;
  opacity: 0.3;
}
.pain-top-badge {
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 25px;
  padding: 6px 20px;
  border-radius: 50px;
  background: #fae9e9;
  color: var(--color-point-dark);
  font-size: 16px;
  font-weight: 700;
}
.pain-top-badge--brand {
  margin-bottom: 12px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-gray);
  font-size: 16px;
  font-weight: 400;
}
.pain-top-badge--brand b {
  font-weight: 800;
}
.sub-content h3.pain-top-headline {
  line-height: 1.28;
  margin: 0 0 36px;
}
.pain-top-headline b {
  color: var(--color-gray-deep);
  font-weight: 300;
}
.pain-top-headline em {
  font-style: normal;
  font-weight: 700;
  color: var(--color-blue);
}
.pain-top-divider {
  margin: 0 0 60px;
  border: 0;
  height: 1px;
  background: rgba(123, 133, 145, 0.35);
}
.pain-top-desc {
  margin: 0 0 80px;
  font-size: 24px;
  opacity: 0.7;
  word-break: keep-all;
}
.pain-top-intro:has(.pain-top-diseases) .pain-top-divider {
  margin-bottom: 32px;
}
.pain-top-intro:has(.pain-top-diseases) .pain-top-desc {
  margin-bottom: 48px;
}
.pain-top-diseases__title {
  margin: 0 0 16px;
  font-size: clamp(28px, 1.6vw + 14px, 40px);
  font-weight: 300;
  line-height: 1.3;
  color: var(--color-gray-deep);
  word-break: keep-all;
}
.pain-top-diseases__title::before {
  content: "·";
  margin-right: 0.25em;
  color: var(--color-blue);
  font-weight: 700;
}
.pain-top-diseases__title b {
  color: var(--color-blue);
  font-weight: 700;
}
.pain-top-diseases__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pain-top-diseases__list li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 14px 20px;
  border: 1px solid var(--color-blue-mid);
  border-radius: 999px;
  background: #f5f5fb;
  color: var(--color-blue);
  font-size: 20px;
  font-weight: 400;
  text-align: center;
  word-break: keep-all;
}
.pain-top-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 20px;
}
.pain-top-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}
.pain-top-btn--primary {
  background: var(--color-point);
  color: #fff;
  box-shadow: 0 4px 16px rgba(145, 14, 14, 0.22);
}
.pain-top-btn--primary:hover {
  background: var(--color-point-dark);
  transform: translateY(-2px);
}
.pain-top-btn--tel {
  border: 1.5px solid var(--color-primary);
  background: #fff;
  color: var(--color-primary);
  padding-inline: 24px;
}
.pain-top-btn--tel:hover {
  border-color: var(--color-point);
  color: var(--color-point);
}
.pain-top-btn-ico {
  display: flex;
  line-height: 0;
}
.pain-top-btn-ico svg {
  display: block;
  width: 1.35em;
  height: 1.35em;
  fill: var(--color-primary);
}
.pain-top-btn--tel:hover svg {
  fill: var(--color-point);
}
.pain-top-content .content1-right {
  flex: 5;
  line-height: 0;
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  background: linear-gradient(145deg, #fff 30.7%, #eef0f6 100%);
  box-shadow: 0 3px 30px 5px rgba(29, 29, 79, 0.12);
}
.pain-top-content .content1-right > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.pain-top-content .content1-right .pin {
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  transform-origin: center center;
  animation: painPinPulse 2.2s ease-in-out infinite;
}
@keyframes painPinPulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
}
.pain-top-content .pin img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
/* 목 */
.neck-content1::before {
  content: "NECK";
}
.neck-content1.pain-top-content .content1-right .pin {
  top: 12%;
  left: 45%;
}

#pain-neck-qa {
  scroll-margin-top: 120px;
}
/* 앵커 이동 대상(치료대상 알아보기·Q&A 등) 고정 헤더 보정 */
.pain-symptom-content[id],
.qna-chat[id] {
  scroll-margin-top: 120px;
}
/* 상담형 FAQ 채팅 (qna-chat — pain·기타 Q&A 공통) */
.qna-chat {
  --qna-avatar-size: 45px;
  --qna-row-gap: 24px;
  --qna-bubble-inset: 20px;
  position: relative;
  overflow: visible;
  background-color: #1a1e4b;
  background-image: var(--qna-chat-bg, url("/assets/img/sub/pain-faq-bg.png"));
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
}
.qna-chat__inner {
  position: relative;
  z-index: 1;
}
.qna-chat__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(0, 1.38fr);
  gap: 40px 48px;
  align-items: start;
}
/* head는 항상 노출. 전역 header{position:fixed}가 남아도 덮어씀 */
.qna-chat__head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: max-content;
  justify-content: start;
  width: max-content;
  max-width: 100%;
  min-width: 0;
  font-size: inherit;
  font-weight: inherit;
  opacity: 1;
  transform: none;
  filter: none;
}
.qna-chat__title {
  display: contents;
}
.qna-chat__kicker {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--color-orange);
}
.qna-chat__title-lead {
  display: contents;
}
.qna-chat__title-line {
  display: block;
  font-size: 48px;
  font-weight: 300;
  line-height: 1.4;
  color: #fff;
  word-break: keep-all;
}
.qna-chat__title-line:not(.qna-chat__title-line--accent) {
  width: 0;
  min-width: 100%;
  white-space: nowrap;
}
.qna-chat__title-line--accent {
  font-weight: 700;
  color: #FF981A;
  white-space: nowrap;
}
.qna-chat__title-accent {
  display: contents;
}
.qna-chat__divider {
  margin: 24px 0;
  border: 0;
  width: 100%;
  height: 1px;
  background: var(--color-orange);
}
.qna-chat__desc {
  margin: 0;
  width: max-content;
  max-width: 100%;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.7;
  color: var(--color-orange);
  word-break: keep-all;
}
.qna-chat__thread {
  min-width: 0;
}
.qna-chat__pair + .qna-chat__pair {
  margin-top: 50px;
}
.qna-chat__row {
  display: flex;
  align-items: flex-start;
  gap: var(--qna-row-gap);
}
.qna-chat__row--question {
  justify-content: flex-start;
  margin-bottom: 20px;
}
.qna-chat__row--answer {
  justify-content: flex-end;
  margin-bottom: 0;
}
.qna-chat__pair:last-child .qna-chat__row--answer {
  margin-bottom: 0;
}
.qna-chat__avatar {
  flex-shrink: 0;
  width: var(--qna-avatar-size);
  height: var(--qna-avatar-size);
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.12);
}
.qna-chat__bubble {
  min-width: 0;
  max-width: min(
    680px,
    calc(
      100% - (var(--qna-avatar-size) + var(--qna-row-gap)) * 2 -
        var(--qna-bubble-inset)
    )
  );
  padding: 14px 18px;
  border-radius: 16px;
  box-sizing: border-box;
}
.qna-chat__bubble--question {
  border-radius: 0 15px 15px 15px;
  background: color-mix(in srgb, var(--color-blue-light) 15%, transparent);
  border: 0;
  box-shadow: 0 0 0 0.5px var(--color-blue-light);
}
.qna-chat__bubble--answer {
  max-width: min(
    640px,
    calc(
      100% - (var(--qna-avatar-size) + var(--qna-row-gap)) * 2 -
        var(--qna-bubble-inset)
    )
  );
  border-radius: 15px 0 15px 15px;
  background: #ff981a;
  background: linear-gradient(90deg, rgba(255, 152, 26, 1) 0%, rgba(242, 113, 0, 1) 100%);
}
.qna-chat__question,
.qna-chat__answer {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.55;
  word-break: keep-all;
}
.qna-chat__question {
  color: #fff;
}
.qna-chat__answer {
  color: var(--color-blue-deep);
}
@media (max-width: 1300px) {
  .qna-chat {
    --qna-avatar-size: min(4vw, 45px);
    --qna-row-gap: min(2vw, 24px);
  }
  .qna-chat__layout {
    gap: min(3.2vw, 40px) min(3.6vw, 48px);
  }
  .qna-chat__kicker {
    margin-bottom: min(1.6vw, 20px);
    font-size: min(1.8vw, 16px);
  }
  .qna-chat__title-line {
    font-size: min(4vw, 48px);
  }
  .qna-chat__divider {
    margin: min(2vw, 24px) 0;
  }
  .qna-chat__desc {
    font-size: min(2.2vw, 18px);
  }
  .qna-chat__pair + .qna-chat__pair {
    margin-top: min(4vw, 50px);
  }
  .qna-chat__row--question {
    margin-bottom: min(1.8vw, 20px);
  }
  .qna-chat__bubble {
    padding: min(1.2vw, 14px) min(1.6vw, 18px);
    border-radius: min(1.4vw, 16px);
  }
  .qna-chat__question,
  .qna-chat__answer {
    font-size: min(1.8vw, 18px);
  }
}
@media (max-width: 1024px) {
  .qna-chat {
    --qna-avatar-size: min(8vw, 45px);
    --qna-row-gap: min(3.2vw, 20px);
  }
  .qna-chat__layout {
    grid-template-columns: 1fr;
    gap: min(7vw, 64px);
  }
  .qna-chat__head,
  .qna-chat__thread {
    display: block;
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }
  .qna-chat__kicker {
    margin-bottom: min(2.4vw, 18px);
    font-size: min(2.8vw, 16px);
  }
  .qna-chat__title {
    display: block;
    width: 100%;
  }
  .qna-chat__title-lead {
    display: inline;
    white-space: nowrap;
  }
  .qna-chat__title-line {
    display: inline;
    font-size: min(6.6vw, 42px);
  }
  .qna-chat__title-line:not(.qna-chat__title-line--accent) {
    width: auto;
    min-width: 0;
    white-space: nowrap;
  }
  .qna-chat__title-line--accent {
    display: inline-block;
    white-space: nowrap;
  }
  .qna-chat__title-accent {
    display: contents;
  }
  .qna-chat__divider {
    margin: min(3vw, 22px) 0;
    width: 100%;
    max-width: none;
  }
  .qna-chat__desc {
    max-width: none;
    width: 100%;
    font-size: min(3.8vw, 18px);
  }
  .qna-chat__pair + .qna-chat__pair {
    margin-top: min(5vw, 40px);
  }
  .qna-chat__row--question {
    margin-bottom: min(3vw, 18px);
  }
  .qna-chat__bubble {
    padding: min(2.4vw, 14px) min(3vw, 16px);
    border-radius: min(2.2vw, 15px);
  }
  .qna-chat__question,
  .qna-chat__answer {
    font-size: min(3.6vw, 18px);
  }
}
@media (max-width: 768px) {
  .qna-chat {
    --qna-avatar-size: min(10vw, 40px);
    --qna-row-gap: min(4vw, 18px);
  }
  .qna-chat__layout {
    gap: min(8vw, 56px);
  }
  .qna-chat__kicker {
    margin-bottom: min(2.8vw, 16px);
    font-size: min(3.5vw, 14px);
  }
  .qna-chat__title-line {
    font-size: min(6.2vw, 40px);
  }
  .qna-chat__divider {
    margin: min(3.2vw, 20px) 0;
  }
  .qna-chat__desc {
    font-size: min(3.8vw, 16px);
  }
  .qna-chat__pair + .qna-chat__pair {
    margin-top: min(6vw, 36px);
  }
  .qna-chat__row--question {
    margin-bottom: min(3.6vw, 16px);
  }
  .qna-chat__bubble {
    padding: min(3vw, 12px) min(3.5vw, 14px);
    border-radius: min(2.6vw, 14px);
  }
  .qna-chat__question,
  .qna-chat__answer {
    font-size: min(3.8vw, 16px);
  }
}

/* 레거시 FAQ (주사 PRP 등 — 구형 마크업) */
.pain-faq {
  position: relative;
  overflow: hidden;
  background:
    url("/assets/img/sub/pain-neck-qa-bg.png") no-repeat center center / cover,
    linear-gradient(160deg, #1a1a3e 0%, #2a2d5c 45%, #1e2248 100%);
}
.pain-faq::after {
  content: "Q&A";
  position: absolute;
  right: -2%;
  bottom: -3%;
  font-size: clamp(120px, 18vw, 310px);
  font-weight: 800;
  line-height: 1;
  color: rgba(255, 255, 255, 0.04);
  pointer-events: none;
  user-select: none;
}
.pain-faq .inner {
  position: relative;
  z-index: 1;
}
.pain-faq-head {
  text-align: center;
  margin-bottom: 48px;
}
.pain-faq-badge {
  display: inline-block;
  margin-bottom: 25px;
  padding: 8px 22px;
  border-radius: 999px;
  background: #ddd;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-primary);
}
.pain-faq-title {
  color: var(--color-white);
  font-weight: 300;
  margin-bottom: 80px;
}
.pain-faq-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.pain-faq-item {
  display: flex;
  gap: 50px;
  align-items: center;
  padding: 40px;
  border-radius: 20px;
  border: 5px solid #abdbdd;
  background: #fffdfd;
  box-shadow: 0 3px 10px 4px rgba(75, 9, 0, 0.1);
}
.pain-faq-item.pain-faq-item--navy {
  border: 5px solid #afbbd9;
}
.pain-faq-item__question-col {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  flex: 1;
}
.pain-faq-item__answer-col {
  flex: 2;
}
.pain-faq-item__mark {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}
.pain-faq-item--teal .pain-faq-item__mark {
  background: linear-gradient(135deg, var(--color-blue) 0%, var(--color-blue-deep) 100%);
}
.pain-faq-item--navy .pain-faq-item__mark {
  background: linear-gradient(135deg, #4242b5 0%, #1d1d4f 100%);
}
.pain-faq-item__question {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.33;
  color: var(--color-blue);
}
.pain-faq-item.pain-faq-item--navy .pain-faq-item__question {
  color: #1d1d4f;
}
.pain-faq-item__answer {
  color: var(--color-gray-deep);
  opacity: 0.8;
}
/* 대표질환 */
.pain-main-content {
  background: url("/assets/img/sub/pain-main-content-bg.png") no-repeat center
    center / cover;
}
.pain-main-content .inner {
  display: flex;
  align-items: center;
  gap: 100px;
}
.pain-main-content-left {
  flex: 1;
}
.pain-main-content-left .pain-top-brand {
  color: #f39800;
  opacity: 1;
}
.pain-main-content-title {
  color: var(--color-white);
  font-weight: 300;
}
.pain-main-content-desc {
  font-size: 16px;
  color: var(--color-white);
  font-weight: 300;
  opacity: 0.8;
}
.pain-main-content-right {
  flex: 2;
}
.pain-main-content-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.pain-disease-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 20px 24px;
  border-radius: 15px;
  border: 0.785px solid #f39800;
  background: rgba(83, 47, 0, 0.15);
  box-shadow: 2px 0 10px 0 rgba(0, 0, 0, 0.1);
}
.pain-disease-card__badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: #f39800;
  color: var(--color-point-dark);
  font-size: 14px;
  font-weight: 700;
}
.pain-disease-card__title {
  font-size: 30px;
  font-weight: 700;
  color: #fff4e0;
}
.pain-disease-card__desc {
  font-size: 14px;
  font-weight: 300;
  color: #fff4e0;
}
/* 주요 증상 — pps (div 전용, pain-* 공통) */
.pps {
  position: relative;
  z-index: 1;
  width: 100%;
  background: #fff url("/assets/img/sub/pain-pps-bg.png") no-repeat center
    center / cover;
  overflow: hidden;
}
.pps--who {
  background-image: url("/assets/img/sub/injection-who-bg.png");
}
.pps--who .pps__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  padding-top: 0;
}
.pps--who .pps__card {
  align-items: stretch;
  padding: 0;
  gap: 0;
  background: #edf2ff;
  border-radius: 20px;
  box-shadow: 0 3px 15px 5px rgba(0, 0, 0, 0.15);
}
.pps--who .pps__badge {
  top: 16px;
  right: 16px;
  left: auto;
  transform: none;
  padding: 12px 16px 11px;
  background: var(--color-blue);
  font-size: 13px;
  font-weight: 500;
}
.pps--who .pps__media {
  width: 100%;
  aspect-ratio: 16 / 11;
  border-radius: 0;
  background: #edf2ff;
}
.pps--who .pps__body {
  flex: 1;
  align-self: stretch;
  width: 100%;
  box-sizing: border-box;
  padding: 22px 22px 24px;
  background: transparent;
}
.pps--who .pps__heading,
.pps--who .pps__copy {
  width: 100%;
  max-width: none;
}
.pps--who .pps__heading {
  margin: 0 0 8px;
  color: var(--color-blue);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
  word-break: keep-all;
}
.pps--who .pps__copy {
  color: var(--color-gray-deep);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  word-break: keep-all;
}
.pps__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
}
.pps__head {
  max-width: 1280px;
  margin: 0 auto 80px;
  text-align: center;
}
.pps__kicker {
  max-width: 920px;
  margin: 0 auto 16px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #ff981a;
}
.pps__title {
  max-width: 920px;
  margin: 0 auto 24px;
  font-size: 52px;
  font-weight: 300;
  line-height: 1.35;
  color: var(--color-gray-deep);
  word-break: keep-all;
}
@media (max-width: 1300px) {
  .pps__kicker {
    font-size: min(1.8vw, 15px);
  }
  .pps__title {
    font-size: 44px;
  }
  .pps__desc {
    font-size: min(2.2vw, 18px);
  }
}
.pps__title-em {
  font-weight: 700;
  color: #ff981a;
}
.pps__title-em--blue {
  color: var(--color-blue);
}
.pps__kicker--blue {
  color: color-mix(in srgb, var(--color-blue) 70%, transparent);
}
.pps__title-em--orange {
  color: var(--color-orange);
}
.pps__kicker--orange {
  color: color-mix(in srgb, var(--color-orange-deep) 70%, transparent);
}
.pps__desc {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--color-gray-deep);
  word-break: keep-all;
}
.pps--rehab .pps__desc {
  color: color-mix(in srgb, var(--color-gray-deep) 70%, transparent);
}
.pps__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  padding-top: 18px;
}
.pps__item {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.pps__item.main-reveal--card.is-visible {
  animation-duration: 1.1s;
}
.pps__badge {
  position: absolute;
  top: 2%;
  left: -5%;
  z-index: 3;
  transform: translateY(-50%);
  letter-spacing: 0;
  padding: 12px 20px;
  border-radius: 999px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}
.pps__item--blue .pps__badge {
  background: #2e2eae;
  background: linear-gradient(152deg, rgba(46, 46, 174, 1) 0%, rgba(8, 8, 120, 1) 100%);
}
.pps__item--orange .pps__badge {
  background: #ff991c;
  background: linear-gradient(152deg, rgba(255, 153, 28, 1) 0%, rgba(245, 116, 4, 1) 100%);
}
.pps__card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  border-radius: 25px;
  overflow: hidden;
  padding: 10px 10px 0;
  box-sizing: border-box;
  box-shadow: 0 2px 5px 3px rgba(0, 0, 0, 0.12);
}
.pps__item--blue .pps__card {
  background: #2e2eae;
  background: linear-gradient(132deg, rgba(46, 46, 174, 1) 0%, rgba(8, 8, 120, 1) 90%);
}
.pps__item--orange .pps__card {
  background: #ff991c;
  background: linear-gradient(132deg, rgba(255, 153, 28, 1) 0%, rgba(245, 116, 4, 1) 90%);
}
.pps__media {
  aspect-ratio: 1 / 1.05;
  overflow: hidden;
  border-radius: 20px 20px 0 0;
  background: #f3f3f7;
}
.pps__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pps__caption {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 12px 20px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
  word-break: keep-all;
}
@media (max-width: 1024px) {
  .pps__head {
    margin-bottom: 40px;
  }
  .pps__kicker {
    font-size: min(2.8vw, 15px);
  }
  .pps__title {
    font-size: min(7vw, 44px);
  }
  .pps__desc {
    font-size: min(3.8vw, 18px);
  }
  .pps__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    padding-top: 16px;
  }
  .pps__item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .pps__badge {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    align-self: flex-start;
    margin: 0;
    padding: 10px 15px;
    border-radius: 12px 12px 0 0;
    font-size: min(3.2vw, 18px);
    font-weight: 400;
    box-shadow: none;
  }
  .pps__card {
    display: flex;
    flex-direction: column;
    padding: min(1.2vw, 6px) min(1.2vw, 6px) 0;
    border-radius: 0 20px 20px 20px;
    box-shadow: 0 2px 4px 2px rgba(0, 0, 0, 0.1);
  }
  .pps__media {
    aspect-ratio: 4 / 3;
    border-radius: 14px 14px 0 0;
  }
  .pps__caption {
    font-size: min(2.8vw, 20px);
    padding: 10px 10px 14px;
  }
  .pps--who .pps__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding-top: 0;
  }
  .pps--who .pps__item:last-child {
    grid-column: 1 / -1;
    width: calc((100% - 16px) / 2);
    justify-self: center;
  }
  .pps--who .pps__badge {
    position: absolute;
    top: 12px;
    right: 12px;
    left: auto;
    transform: none;
    align-self: auto;
    margin: 0;
    padding: 11px 14px 10px;
    border-radius: 999px;
    font-size: min(1.8vw, 12px);
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  }
  .pps--who .pps__card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    gap: 0;
    border-radius: 18px;
    box-shadow: 0 2px 12px 3px rgba(0, 0, 0, 0.12);
  }
  .pps--who .pps__media {
    aspect-ratio: 16 / 11;
    border-radius: 0;
  }
  .pps--who .pps__heading {
    font-size: min(2.2vw, 18px);
  }
  .pps--who .pps__copy {
    font-size: min(1.9vw, 14px);
  }
  .pps--who .pps__body {
    padding: 16px 16px 18px;
  }
}

/* 주요 증상 — 레거시 체크리스트 (주사/치료 등) */
.pain-symptom-content {
  background: url("/assets/img/sub/pain-symptom-content-bg.png") no-repeat
    center center / cover;
}
.pain-symptom-content .inner {
  display: flex;
  align-items: flex-end;
  gap: 90px;
}
.pain-symptom-content-left {
  flex: 1.2;
}
.pain-symptom-content-left .pain-top-brand {
  color: var(--color-blue);
  opacity: 1;
}
.pain-symptom-content-left .pain-main-content-title {
  color: var(--color-primary);
}
.pain-symptom-content-left .pain-main-content-desc {
  opacity: 0.8;
  color: var(--color-gray-deep);
}
.pain-symptom-content-right {
  flex: 2;
}
.pain-symptom-check-list {
  margin-top: 70px;
  padding: 30px 40px;
  border-radius: 20px;
  background: linear-gradient(180deg, #1d1d4f 0%, #25257c 100%);
}
.pain-symptom-check-list__label {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-blue);
}
.pain-symptom-check-list__count {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 15px;
  line-height: 1;
}
.pain-symptom-check-list__num {
  font-size: 52px;
  font-weight: 700;
  color: var(--color-white);
}
.pain-symptom-check-list__total {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-white);
}
.pain-symptom-check-list__hint {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.8);
}
.pain-symptom-items {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.pain-symptom-item__label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px 24px;
  padding: 18px 22px;
  border-radius: 16px;
  background: var(--color-white);
  box-shadow: 0 2px 10px 3px rgba(10, 0, 70, 0.1);
  cursor: pointer;
  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease;
}
.pain-symptom-item__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.pain-symptom-item__thumb {
  flex-shrink: 0;
  width: 170px;
  aspect-ratio: 2/1;
  border-radius: 10px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
  overflow: hidden;
  line-height: 0;
}
.pain-symptom-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pain-symptom-item__body {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  color: var(--color-primary);
}
.pain-symptom-item__title {
  font-size: 30px;
  font-weight: 700;
}
.pain-symptom-item__desc {
  font-size: 14px;
  font-weight: 300;
  opacity: 0.8;
}
.pain-symptom-item__check {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  min-width: 56px;
  text-align: center;
}
.pain-symptom-item__check-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: #7b8591;
  transition: color 0.25s ease;
}
.pain-symptom-item__check-icon svg {
  display: block;
  width: 30px;
  height: 30px;
}
.pain-symptom-item__check-text {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  color: #7b8591;
  transition: color 0.25s ease;
}
.pain-symptom-item__label:has(.pain-symptom-item__input:checked) {
  border-radius: 15px;
  background: linear-gradient(180deg, #1d1d4f 0%, #25257c 100%);
  box-shadow: 0 2px 10px 3px rgba(10, 0, 70, 0.1);
}
.pain-symptom-item__label:has(.pain-symptom-item__input:checked)
  .pain-symptom-item__title,
.pain-symptom-item__label:has(.pain-symptom-item__input:checked)
  .pain-symptom-item__desc {
  color: var(--color-white);
}
.pain-symptom-item__label:has(.pain-symptom-item__input:checked)
  .pain-symptom-item__desc {
  opacity: 0.85;
}
.pain-symptom-item__label:has(.pain-symptom-item__input:checked)
  .pain-symptom-item__check-icon,
.pain-symptom-item__label:has(.pain-symptom-item__input:checked)
  .pain-symptom-item__check-text {
  color: var(--color-blue);
}
/* 어깨 */
.shoulder-content1::before {
  content: "SHOULDER";
}
.pain-top-content .content1-right .pin.shoulder {
  top: 15%;
  right: 30%;
}
.pain-main-content.pain-main-content--shoulder {
  background: url(/assets/img/sub/pain-main-content-bg-shoulder.png) no-repeat
    center center / cover;
}
/* 허리 */
.back-content1::before {
  content: "BACK";
}
.pain-top-content .content1-right .pin.back {
  top: 35%;
  right: 32%;
}
.pain-main-content.pain-main-content--back {
  background: url(/assets/img/sub/pain-main-content-bg-back.png) no-repeat
    center center / cover;
}
/* 무릎 */
.knee-content1::before {
  content: "KNEE";
}
.pain-top-content .content1-right .pin.knee {
  top: 57%;
  right: 50%;
}
.pain-main-content.pain-main-content--knee {
  background: url(/assets/img/sub/pain-main-content-bg-knee.png) no-repeat
    center center / cover;
}
/* 팔꿈치 */
.elbow-content1::before {
  content: "ELBOW";
}
.pain-top-content .content1-right .pin.elbow {
  top: 22%;
  right: 15%;
}
.pain-main-content.pain-main-content--elbow {
  background: url(/assets/img/sub/pain-main-content-bg-elbow.png) no-repeat
    center center / cover;
}
/* 손목 / 손 */
.wrist-content1::before {
  content: "Wrist and hand";
}
.pain-top-content .content1-right .pin.wrist {
  top: 22%;
  right: 73%;
}
.pain-main-content.pain-main-content--wrist {
  background: url(/assets/img/sub/pain-main-content-bg-wrist.png) no-repeat
    center center / cover;
}
/* 발목 / 발 */
.foot-content1::before {
  content: "ANKLES AND FEET";
}
.pain-top-content .content1-right .pin.foot {
  top: 77%;
  right: 43%;
}
.pain-main-content.pain-main-content--foot {
  background: url(/assets/img/sub/pain-main-content-bg-foot.png) no-repeat
    center center / cover;
}
/* menu3 */
/* injection-content1 — pain-top-content와 동일 레이아웃, 색상만 변경 */
.injection-content1.pain-top-content {
  background: #fff;
  background-attachment: scroll;
}
.injection-content1.pain-top-content::before {
  content: "NERVE BLOCK";
}
.injection-content1 .pain-top-badge {
  background: #eef1f5;
  color: #5a6573;
}
.injection-content1 .pain-top-badge--brand {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-gray);
}
.injection-content1 .pain-top-headline b {
  color: #1d1d4f;
}
.injection-content1 .pain-top-headline em {
  color: var(--color-blue);
}
.injection-content1.injection-nerve .pain-top-headline,
.injection-content1.injection-prolo .pain-top-headline,
.injection-content1.injection-ultrasound .pain-top-headline,
.injection-content1.exam-emg .pain-top-headline,
.injection-content1.treatment-shingles .pain-top-headline,
.injection-content1.treatment-iv .pain-top-headline {
  color: var(--color-orange);
  font-weight: 300;
}
.injection-content1.injection-nerve .pain-top-headline em,
.injection-content1.injection-prolo .pain-top-headline em,
.injection-content1.injection-ultrasound .pain-top-headline em,
.injection-content1.exam-emg .pain-top-headline em,
.injection-content1.treatment-shingles .pain-top-headline em,
.injection-content1.treatment-iv .pain-top-headline em,
.injection-content1.treatment-manual .pain-top-headline em,
.injection-content1.treatment-eswt .pain-top-headline em,
.injection-content1.treatment-traffic .pain-top-headline em {
  color: var(--color-blue);
  font-weight: 700;
}
.injection-content1.injection-nerve .pain-top-headline b,
.injection-content1.injection-prolo .pain-top-headline b,
.injection-content1.injection-ultrasound .pain-top-headline b,
.injection-content1.exam-emg .pain-top-headline b,
.injection-content1.treatment-shingles .pain-top-headline b,
.injection-content1.treatment-iv .pain-top-headline b,
.injection-content1.treatment-manual .pain-top-headline b,
.injection-content1.treatment-eswt .pain-top-headline b,
.injection-content1.treatment-traffic .pain-top-headline b {
  color: var(--color-orange);
  font-weight: 700;
}
.injection-content1.treatment-manual .pain-top-headline,
.injection-content1.treatment-eswt .pain-top-headline,
.injection-content1.treatment-traffic .pain-top-headline {
  color: var(--color-gray-deep);
  font-weight: 300;
}
.injection-content1.treatment-manual .pain-top-diseases__title,
.injection-content1.treatment-eswt .pain-top-diseases__title,
.injection-content1.treatment-traffic .pain-top-diseases__title {
  color: var(--color-orange-deep);
  font-weight: 300;
}
.injection-content1.treatment-manual .pain-top-diseases__title::before,
.injection-content1.treatment-eswt .pain-top-diseases__title::before,
.injection-content1.treatment-traffic .pain-top-diseases__title::before {
  color: var(--color-orange-deep);
}
.injection-content1.treatment-manual .pain-top-diseases__title b,
.injection-content1.treatment-eswt .pain-top-diseases__title b,
.injection-content1.treatment-traffic .pain-top-diseases__title b {
  color: var(--color-orange-deep);
  font-weight: 700;
}
.injection-content1.treatment-manual .pain-top-diseases__list,
.injection-content1.treatment-eswt .pain-top-diseases__list,
.injection-content1.treatment-traffic .pain-top-diseases__list {
  grid-template-columns: 1fr;
  gap: 18px;
}
.injection-content1.treatment-manual .pain-top-diseases__list li,
.injection-content1.treatment-eswt .pain-top-diseases__list li,
.injection-content1.treatment-traffic .pain-top-diseases__list li {
  justify-content: flex-start;
  text-align: left;
  min-height: 0;
  padding: 10px 20px 10px 36px;
  border-color: var(--color-orange);
  background: color-mix(in srgb, #fdf1e2 50%, transparent);
  color: color-mix(in srgb, var(--color-gray-deep) 80%, transparent);
}
.injection-content1.treatment-manual .pain-top-diseases__list li::before,
.injection-content1.treatment-eswt .pain-top-diseases__list li::before,
.injection-content1.treatment-traffic .pain-top-diseases__list li::before {
  content: "·";
  flex-shrink: 0;
  margin-right: 0.7em;
  font-weight: 700;
}
.injection-content1.treatment-traffic .pain-top-diseases__list li {
  gap: 0.6em;
  align-items: flex-start;
}
.injection-content1.treatment-traffic .pain-top-diseases__list li b {
  flex-shrink: 0;
  white-space: nowrap;
}
.injection-content1.treatment-traffic .pain-top-diseases__list li span {
  min-width: 0;
  flex: 1;
}
.injection-content1.treatment-manual .content1-right,
.injection-content1.treatment-eswt .content1-right,
.injection-content1.treatment-traffic .content1-right {
  background: linear-gradient(145deg, #fff 30.7%, #f6f2ec 100%);
  box-shadow: 0 3px 30px 5px rgba(40, 24, 8, 0.18);
}
.pps--who.pps--rehab {
  background-image: url("/assets/img/sub/pain-pps-bg.png");
}
.pps--who.pps--traffic .pps__badge {
  background: var(--color-orange);
  color: #ffffff;
  font-weight: 500;
}
.pps--who.pps--traffic .pps__card,
.pps--who.pps--traffic .pps__media {
  background: #fff9ed;
}
.pps--who.pps--rehab .pps__card {
  box-shadow: 0 3px 15px 5px rgba(40, 24, 8, 0.16);
}
@media (max-width: 1024px) {
  .pps--who.pps--rehab .pps__card {
    box-shadow: 0 2px 12px 3px rgba(40, 24, 8, 0.14);
  }
}
@media (max-width: 768px) {
  .pps--who.pps--rehab .pps__card {
    box-shadow: 0 2px 8px 2px rgba(40, 24, 8, 0.12);
  }
}
#treatment-manual-qa .qna-chat__bubble--question,
#treatment-eswt-qa .qna-chat__bubble--question,
#treatment-traffic-qa .qna-chat__bubble--question {
  background: color-mix(in srgb, var(--color-orange-light) 18%, transparent);
}
.injection-content1 .pain-top-btn--primary {
  background: #6b8aa8;
  box-shadow: 0 4px 16px rgba(74, 106, 138, 0.25);
}
.injection-content1 .pain-top-btn--primary:hover {
  background: #567894;
}
.injection-content1 .pain-top-btn--tel:hover {
  border-color: var(--color-blue);
  color: var(--color-blue);
}
.injection-content1 .pain-top-btn--tel:hover .pain-top-btn-ico svg {
  fill: var(--color-blue);
}
/* 오른쪽: 인체 핀 없이 이미지 꽉 채움 (content1-right 크기·라운드는 공통) */
.injection-content1.pain-top-content .inner {
  align-items: stretch;
}
.injection-content1 .content1-right--cover {
  line-height: 0;
}
.injection-content1 .content1-right--cover > img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
}
.pain-main-content--nerve {
  background: url(/assets/img/sub/pain-main-content-bg-nerve.png) no-repeat
    center center / cover;
}
.injection-content1.pain-top-content::before {
  color: #446b98;
  opacity: 0.04;
}
.injection-prolo.pain-top-content::before {
  content: "PROLOTHERAPY";
}
.injection-ultrasound.pain-top-content::before {
  content: "ULTRASOUND";
}
.exam-emg.pain-top-content::before {
  content: "EMG";
}
.treatment-shingles.pain-top-content::before {
  content: "SHINGLES";
}
.treatment-iv.pain-top-content::before {
  content: "IV THERAPY";
}
.injection-content1.treatment-manual.pain-top-content::before,
.injection-content1.treatment-eswt.pain-top-content::before,
.injection-content1.treatment-traffic.pain-top-content::before {
  color: var(--color-orange);
  opacity: 0.06;
}
.injection-content1.treatment-manual.pain-top-content::before {
  content: "MANUAL THERAPY";
}
.injection-content1.treatment-eswt.pain-top-content::before {
  content: "ESWT";
}
.injection-content1.treatment-traffic.pain-top-content::before {
  content: "TRAFFIC";
}

/* 비수술 · 통증 치료 클리닉 */
.treatment-manual-content1 .pain-top-badge {
  background: #fde6d0;
  color: #f36500;
}
.treatment-manual-content1 .pain-top-headline b {
  color: #f36500;
}
.treatment-manual-content1 .pain-top-btn--primary {
  background: #f36500;
}
.treatment-manual-content1 .pain-top-btn--tel:hover {
  border-color: #f36500;
  color: #f36500;
}
.treatment-manual-content1 .pain-top-btn--tel:hover svg {
  fill: #f36500;
}
.treatment-manual-content1.pain-top-content::before {
  color: #eee;
  opacity: 0.35;
}
.manual-therapy .pain-main-content-left .pain-top-brand {
  color: #1d1d4f;
  opacity: 1;
}
/* 체외충격파 치료 */
.manual-therapy.pain-top-content::before {
  content: "Physical Therapy";
}
.treatment-manual.pain-main-content {
  background: linear-gradient(
    94deg,
    #ff9d00 0%,
    #b41818 39.74%,
    #7e0000 98.41%
  );
  position: relative;
  overflow: hidden;
}
.treatment-manual.pain-main-content .inner {
  position: relative;
  z-index: 2;
}
.treatment-manual.pain-main-content::before {
  position: absolute;
  z-index: 0;
  color: #eee;
  opacity: 0.05;
  font-size: 10vw;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  top: 0%;
  left: 10%;
  pointer-events: none;
  white-space: nowrap;
  will-change: transform;
  animation: painTopWatermarkDrift 26s ease-in-out infinite;
}
.treatment-manual.pain-main-content .inner {
  position: relative;
  z-index: 2;
}
.manual-therapy.pain-main-content::before {
  content: "CHKCHK Physical Therapy";
}
.treatment-manual.pain-main-content .pain-main-content-right {
  flex: 3;
}
/* 체외충격파 치료 */
.treatment-manual-content1.pain-top-content.eswt::before {
  content: "ESWT";
}
.manual-therapy.pain-main-content.eswt::before {
  content: "CHKCHK ESWT";
}

.treatment-manual.pain-main-content.eswt .pain-main-content-right {
  flex: 2;
  min-width: 0;
}
.eswt-type-list {
  display: flex;
  gap: 20px;
}
.eswt-type-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 36px 24px;
  border-radius: 20px;
  background: #fff url(/assets/img/sub/eswt-type-card-bg.png) no-repeat right
    bottom / 40%;
  box-shadow: 0 2px 12px 3px rgba(29, 29, 79, 0.12);
}
.eswt-type-card__figure {
  margin: 0 0 20px;
  line-height: 0;
  width: 100%;
  max-width: 280px;
}
.eswt-type-card__figure img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}
.eswt-type-card__title {
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 700;
  line-height: 1.3;
}
.eswt-type-card--radial .eswt-type-card__title {
  color: #f36500;
}
.eswt-type-card--focused .eswt-type-card__title {
  color: #7e0000;
}
.eswt-type-card__divider {
  width: 100%;
  max-width: 220px;
  margin: 10px 0;
  border: 0;
  border-top: 1px solid #c9daf0;
}
.eswt-type-card__desc {
  margin: 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
  color: #333;
  word-break: keep-all;
}
/* 프리미엄 수액 — 싸이모신 (treatment-iv.php) */
.treatment-manual.pain-main-content.iv-thymosin {
  background: linear-gradient(180deg, #d35100 0%, #b10f0f 50%, #9c0505 100%);
}
.treatment-manual-content1.pain-top-content.iv::before {
  content: "IV THERAPY";
}
.pain-main-content.iv-thymosin::before {
  content: "THYMOSIN";
}
.pain-main-content.iv-thymosin .pain-main-content-right {
  flex: 0.8;
  min-width: 0;
}
.iv-thymosin__signature {
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 24px;
  padding: 6px 18px;
  border-radius: 999px;
  background: #fff;
  color: #f36500;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.iv-thymosin__title {
  margin-bottom: 28px;
  padding-bottom: 28px;
  font-weight: 300;
  line-height: 1.28;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.iv-thymosin__title-accent {
  color: #fc0;
}
.iv-thymosin__desc {
  margin: 0 0 32px;
  max-width: 520px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  color: #fff;
  opacity: 0.92;
  word-break: keep-all;
}
.iv-thymosin__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.iv-thymosin__tag {
  padding: 6px 16px;
  border-radius: 999px;
  border-radius: 50px;
  border: 1px solid #f39800;
  background: rgba(255, 244, 224, 0.15);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
}
.iv-thymosin__card {
  border-radius: 30px;
  box-shadow: 0 2px 10px 5px rgba(58, 0, 0, 0.15);
  line-height: 0;
  overflow: hidden;
}
.iv-thymosin__card img {
  width: 100%;
}
/* 수액치료 12종 (treatment-iv.php) */
.iv-tantan {
  background: linear-gradient(180deg, #fff 10%, #eaeaf7 100%);
}
.iv-tantan__head {
  margin-bottom: 40px;
}
.iv-tantan__title {
  margin-bottom: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-blue);
}
.iv-tantan__title b {
  color: #1d1d4f;
}
.iv-tantan__lead {
  margin-bottom: 50px;
  font-size: 20px;
  opacity: 0.8;
}
.iv-tantan__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.iv-tantan__legend-item {
  display: inline-block;
  padding: 4px 16px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 600;
}
.iv-tantan__legend-item--immunity {
  background: #eaeaf7;
  color: var(--color-blue);
}
.iv-tantan__legend-item--beauty {
  background: #faeef3;
  color: #ee005c;
}
.iv-tantan__legend-item--fatigue {
  background: #fff4e0;
  color: #f39800;
}
.iv-tantan__legend-item--pain {
  background: #e8f0f8;
  color: #1d1d4f;
}
.iv-tantan__legend-item--etc {
  background: #f0f2f5;
  color: #2a2e33;
}
.iv-tantan__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.iv-tantan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 28px 30px 24px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #e8eef2;
  box-shadow: 0 2px 12px 3px rgba(29, 29, 79, 0.1);
}
.iv-tantan-card--signature {
  background: linear-gradient(180deg, #fff 0%, var(--color-blue-light) 100%);

  border: 1px solid var(--color-blue);
}
.iv-tantan-card__signature-badge {
  position: absolute;
  top: 0;
  right: 5%;
  transform: translateY(-50%);
  padding: 5px 14px;
  border-radius: 999px;
  background: var(--color-blue);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}
.iv-tantan-card__cat {
  align-self: flex-start;
  font-size: 16px;
  padding: 4px 16px;
  border-radius: 999px;
  font-weight: 600;
  line-height: 1.3;
}
.iv-tantan-card--immunity .iv-tantan-card__cat {
  color: var(--color-blue);
  background: #eaeaf7;
}
.iv-tantan-card--beauty .iv-tantan-card__cat {
  color: #ee005c;
  background: #faeef3;
}
.iv-tantan-card--fatigue .iv-tantan-card__cat {
  color: #f39800;
  background: #fff4e0;
}
.iv-tantan-card--pain .iv-tantan-card__cat {
  color: #1d1d4f;
  background: #e8f0f8;
}
.iv-tantan-card--etc .iv-tantan-card__cat {
  color: #2a2e33;
  background: #f0f2f5;
}
.iv-tantan-card__figure {
  line-height: 0;
  width: 100%;
  max-width: 60px;
  margin: 20px 0;
}
.iv-tantan-card__figure img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}
.iv-tantan-card__name {
  margin-bottom: 6px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  color: #1d1d4f;
}
.iv-tantan-card__desc {
  font-size: 18px;
  opacity: 0.8;
}
/* 도수치료사 */
.treatment-manual-therapist {
  background: linear-gradient(180deg, #fff 30%, #eaeaf7 100%);
}
.treatment-manual-therapist-head {
  text-align: center;
  margin-bottom: 80px;
}
.treatment-manual-therapist-title {
  line-height: 1.3;
  color: var(--color-primary-dark);
  margin-bottom: 20px;
}
.treatment-manual-therapist-title b {
  color: var(--color-blue);
}
.treatment-manual-therapist-desc {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
  color: #888;
  margin: 0;
}
.treatment-manual-therapist-content {
  margin-left: calc((100vw - 1280px) / 2);
  display: flex;
  align-items: flex-start;
  gap: 50px;
}
.treatment-manual-therapist-content-left {
  flex: 1;
  max-width: 500px;
  min-width: 0;
}
.treatment-manual-therapist-content-right {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.therapist-info-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 36px;
  padding: 22px 28px;
  border-radius: 20px;
  background: #e8f7f7;
}
.therapist-info-head-text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.therapist-info-badge {
  display: block;
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: #888;
}
.therapist-info-name {
  margin: 0;
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-blue);
}
.therapist-info-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.therapist-info-nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #7b8591;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  line-height: 0;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    transform 0.2s ease;
}
.therapist-info-nav-btn:hover {
  border-color: #555;
  transform: scale(1.04);
}
.therapist-info-nav-btn__icon {
  display: block;
  width: 8px;
  height: 8px;
  border-left: 2px solid #555;
  border-bottom: 2px solid #555;
  transform: rotate(45deg);
  margin-left: 3px;
}
.therapist-info-nav-btn__icon--next {
  transform: rotate(-135deg);
  margin-left: -3px;
}
.therapist-info-panels {
  display: grid;
}
.therapist-info-panel {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.45s ease,
    visibility 0.45s ease;
}
.therapist-info-panel.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.therapist-info-section + .therapist-info-section {
  margin-top: 28px;
}
.therapist-info-section-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 5px;
}
.therapist-info-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}
.therapist-info-list li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #555;
}
.therapist-info-sublist {
  list-style: none;
  padding-left: 10px;
  display: flex;
  flex-direction: column;
}
.therapist-profile-swiper {
  --therapist-slide-gap: 20px;
  --therapist-slides-per-view: 2.5;
  --therapist-slide-padding-y: 20px;
  --therapist-slide-padding-x: 12px;
  overflow: hidden;
  width: 100%;
  padding: var(--therapist-slide-padding-y) 0;
  box-sizing: border-box;
}
.therapist-profile-swiper .swiper-slide {
  width: calc(
    (
        100% - var(--therapist-slide-gap) *
          (var(--therapist-slides-per-view) - 1)
      ) /
      var(--therapist-slides-per-view)
  );
  height: auto;
  box-sizing: border-box;
  padding: var(--therapist-slide-padding-y) var(--therapist-slide-padding-x);
  display: flex;
  align-items: center;
  justify-content: center;
}
.therapist-profile-card {
  width: 100%;
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 12px 3px rgba(29, 29, 79, 0.15);

  line-height: 0;
  transform: scale(0.8);
  transform-origin: center center;
  opacity: 0.45;
  transition:
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.45s ease,
    box-shadow 0.45s ease;
}
.therapist-profile-swiper .swiper-slide-active .therapist-profile-card {
  transform: scale(1);
  opacity: 1;
  box-shadow: 0 2px 12px 3px rgba(29, 29, 79, 0.15);
}
.therapist-profile-card img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
@media (prefers-reduced-motion: reduce) {
  .therapist-profile-card {
    transform: none;
    opacity: 1;
    transition: none;
  }
  .therapist-profile-swiper .swiper-slide-active .therapist-profile-card {
    transform: none;
    opacity: 1;
  }
}
/* 대상포진 */
.treatment-manual-content1.pain-top-content.shingles::before {
  content: "Shingles";
}
.pain-main-content.iv-thymosin.shingles::before {
  content: "Shingles";
}
/* 교통사고 클리닉 */
.treatment-manual-content1.pain-top-content.traffic::before {
  content: "TRAFFIC ACCIDENT CLINIC";
}
/* 교통사고 절차 (treatment-traffic.php) */
.pain-main-content.tantan-guide {
  background: linear-gradient(180deg, #d35100 0%, #b10f0f 50%, #9c0505 100%);
}
.pain-main-content.tantan-guide .inner {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.treatment-manual.pain-main-content.tantan-guide.traffic::before {
  content: "TRAFFIC ACCID";
}
.tantan-guide__head {
  margin-bottom: 40px;
  text-align: center;
}
.tantan-guide__badge {
  display: inline-flex;
  align-items: center;
  margin-bottom: 25px;
  padding: 6px 18px;
  border-radius: 999px;
  background: #fff4e0;
  color: #f36500;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.tantan-guide__title {
  font-weight: 300;
  color: #fff;
}
.tantan-guide__title-accent {
  color: #fde047;
}
.tantan-guide__steps {
  display: flex;
  gap: 20px;
}
.tantan-guide-step {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 30px;
  background: #fff;
}
.tantan-guide-step__figure {
  width: 100%;
  aspect-ratio: 1/1;
  line-height: 0;
  border-radius: 30px;
  box-shadow: 0 2px 5px 2px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  margin-bottom: 30px;
}
.tantan-guide-step__figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.tantan-guide-step__num {
  display: block;
  font-size: 18px;
  font-weight: 800;
  color: #f36500;
}
.tantan-guide-step__title {
  margin: 0 0 12px;
  font-size: 30px;
  font-weight: 700;
  color: var(--color-primary);
}
.tantan-guide-step__desc {
  font-size: 20px;
  color: #1d1d4f;
}
/* PROGRAM GUIDE — 교통사고 프로그램 (treatment-traffic.php) */
.pain-symptom-content.traffic-program .inner {
  align-items: center;
}
.pain-symptom-content.traffic-program .pain-top-divider {
  margin: 0 0 28px;
}
.traffic-program-cards {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.traffic-program-card {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 18px 22px;
  border-radius: 16px;
  background: var(--color-white);
  box-shadow: 0 2px 10px 3px rgba(10, 0, 70, 0.1);
  transition:
    background 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}
.traffic-program-card:hover {
  background: linear-gradient(180deg, #1d1d4f 0%, #25257c 100%);
  box-shadow: 0 4px 16px 4px rgba(10, 0, 70, 0.18);
  transform: translateY(-2px);
}
.traffic-program-card__title,
.traffic-program-card__desc {
  transition:
    color 0.25s ease,
    opacity 0.25s ease;
}
.traffic-program-card:hover .traffic-program-card__title,
.traffic-program-card:hover .traffic-program-card__desc {
  color: var(--color-white);
}
.traffic-program-card:hover .traffic-program-card__desc {
  opacity: 0.85;
}
.traffic-program-card__thumb {
  flex-shrink: 0;
  width: 170px;
  aspect-ratio: 2 / 1;
  margin: 0;
  border-radius: 10px;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
  overflow: hidden;
  line-height: 0;
}
.traffic-program-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.traffic-program-card__body {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  color: var(--color-primary);
}
.traffic-program-card__title {
  font-size: 30px;
  font-weight: 700;
}
.traffic-program-card__desc {
  margin: 0;
  font-size: 14px;
  font-weight: 300;
  opacity: 0.8;
}
/* 사이트이용안내 (privacy / terms / non-covered) */
.non-covered {
  background: linear-gradient(180deg, #fff 50%, #f0f6f8 100%);
}
.guide-non-covered h3.animated-text {
  margin: 0 0 32px;
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  color: var(--color-primary);
}
.non-covered.guide-non-covered .noti_txt {
  margin-bottom: 32px;
  padding: 20px 24px;
  border-radius: 12px;
  background: #f3f4f6;
  justify-content: center;
}
.non-covered.guide-non-covered .noti_txt li {
  color: #4b5563;
  font-size: 15px;
}
.non-covered.guide-non-covered .site_tit {
  margin-top: 40px;
  margin-bottom: 14px;
  padding: 0 0 0 12px;
  border-bottom: 0;
  border-left: 4px solid #94a3b8;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: #1f2937;
}
.non-covered.guide-non-covered .site_tit:first-of-type {
  margin-top: 0;
}
.non-covered-table {
  margin-bottom: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.non-covered-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.non-covered-table thead th {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  color: #374151;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  padding: 10px 6px;
  text-align: center;
  vertical-align: middle;
  word-break: keep-all;
}
.non-covered-table tbody td {
  border: 1px solid #e5e7eb;
  color: #4b5563;
  font-size: 12px;
  line-height: 1.45;
  padding: 9px 6px;
  text-align: center;
  vertical-align: middle;
  word-break: break-word;
}
.non-covered-table tbody tr:hover {
  background: #f9fafb;
}
.non-covered-table table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
}
.non-covered-table--wide .col-cat {
  width: 9%;
}
.non-covered-table--wide .col-sub {
  width: 7%;
}
.non-covered-table--wide .col-code {
  width: 7%;
}
.non-covered-table--wide .col-name {
  width: 10%;
}
.non-covered-table--wide .col-type {
  width: 8%;
}
.non-covered-table--wide .col-cost {
  width: 7%;
}
.non-covered-table--wide .col-min {
  width: 6%;
}
.non-covered-table--wide .col-max {
  width: 6%;
}
.non-covered-table--wide .col-mat {
  width: 4%;
}
.non-covered-table--wide .col-med {
  width: 4%;
}
.non-covered-table--wide .col-note {
  width: 24%;
}
.non-covered-table--wide .col-date {
  width: 8%;
}
.non-covered-table--fee .col-code {
  width: 14%;
}
.non-covered-table--fee .col-name {
  width: 34%;
}
.non-covered-table--fee .col-cost {
  width: 18%;
}
.non-covered-table--fee .col-min {
  width: 10%;
}
.non-covered-table--fee .col-max {
  width: 10%;
}
.non-covered-table--fee .col-note {
  width: 18%;
}
.non-covered-table--fee .col-date {
  width: 12%;
}
@media (min-width: 1025px) {
  .non-covered-table {
    overflow: visible;
  }
  .non-covered-table table {
    min-width: 0;
  }
}
@media (max-width: 1024px) {
  .non-covered-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .non-covered-table--wide table {
    min-width: 1080px;
  }
  .non-covered-table--fee table {
    min-width: 720px;
  }
}
/* ======================================================= */
/* 비급여 안내 */
/* ======================================================= */
.non-covered .noti_txt {
  list-style: none;
  padding: 20px 24px;
  margin: 0 0 32px;
  border-radius: 12px;
  background: var(--color-blue-light);
  text-align: left;
}
.non-covered .noti_txt li {
  font-size: 15px;
  color: var(--color-blue-deep);
  line-height: 1.8;
}
.non-covered .noti_txt li + li {
  margin-top: 8px;
}

.non-covered .site {
  margin: 0;
  text-align: left;
  font-size: 18px;
  line-height: 1.9;
  color: #4b4b4b;
}
.non-covered .site h6 {
  margin: 28px 0 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-blue);
}
.non-covered .site br + br {
  line-height: 0;
}
.non-covered .site_tit {
  font-size: 26px;
  font-weight: 800;
  color: var(--color-primary);
  margin-top: 48px;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid color-mix(in srgb, var(--color-blue) 20%, transparent);
}
.non-covered.guide-non-covered .site {
  font-size: 15px;
  line-height: 1.7;
}
/* ======================== 게시판 (건강칼럼) ======================== */

/* 카드 공통 */
.board-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  border-radius: 30px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}
.board-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.board-card-thumb {
  aspect-ratio: 4/3;
  background: #fff;
  line-height: 0;
  overflow: hidden;
}
.board-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.4s;
}
.board-card:hover .board-card-thumb img {
  transform: scale(1.05);
}
.board-card-body {
  background: #f1f5ee;
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.board-news-head {
  text-align: center;
}
.board-news-lead {
  margin: 0 0 80px;
  font-size: inherit;
  line-height: 1.6;
  color: var(--color-gray-deep);
}
.board-news-title {
  margin: 0 0 30px;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 400;
  line-height: 1.35;
  color: var(--color-gray-deep);
  letter-spacing: 0;
}
.board-news-divider {
  margin: 36px 0 32px;
  border: none;
  height: 1px;
  background: #e8e8e8;
}
.board-news-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 28px;
}

/* 건강칼럼 — 오렌지 뱃지 / 블루 검색·구분선 */
.board-section--news {
  --board-accent: var(--color-blue);
  --board-accent-soft: var(--color-orange-light);
  background: #fff;
}
.board-news-inner {
  position: relative;
  overflow: visible;
}
.board-news-title b {
  font-weight: 700;
  color: var(--board-accent);
}
.board-news-title.sub-section-kicker {
  color: var(--color-gray-deep);
}
.board-news-title.sub-section-kicker b {
  color: var(--color-blue);
}
.board-section--news .board-news-divider {
  margin: 56px 0 48px;
  background: var(--color-blue);
  opacity: 0.4;
}
.board-section--news .board-news-search {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 360px;
  margin: 0;
  padding: 10px 2px 10px 0;
  border: none;
  border-bottom: 2px solid var(--color-blue);
  border-radius: 0;
  background: transparent;
}
.board-section--news .board-news-search input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 15px;
  background: transparent;
  color: var(--color-gray-deep);
}
.board-section--news .board-news-search input::placeholder {
  color: #b5b5b5;
}
.board-section--news .board-news-search button {
  flex-shrink: 0;
  border: none;
  background: transparent;
  padding: 0;
  line-height: 0;
  color: var(--color-blue);
  cursor: pointer;
}

.board-grid--news {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.board-section--news .board-grid--news {
  position: relative;
  overflow: visible;
}
.board-section--news .board-grid--news::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: min(14vw, 108px);
  height: min(14vw, 108px);
  transform: translate(-50%, -50%);
  background: url("/assets/img/sub/column-circular.png") no-repeat center / contain;
  pointer-events: none;
}
.board-section--news .board-grid--news > .board-card {
  position: relative;
  z-index: 1;
}
.board-section--news .board-card--news {
  border-radius: 18px;
  overflow: hidden;
  min-width: 0;
  background: #fff;
  border: 1px solid #eee;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.board-section--news .board-card--news:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1);
}
.board-section--news .board-card-thumb {
  aspect-ratio: 4 / 3;
  background: #d8d8d8;
}
.board-section--news .board-card-body {
  background: #fff;
  padding: 16px 18px 20px;
  justify-content: flex-start;
  min-width: 0;
}
.board-section--news .board-card-tag--news {
  display: inline-block;
  align-self: flex-start;
  margin: 0 0 10px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--color-orange-light);
  color: var(--color-orange-deep);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}
.board-section--news .board-card-desc {
  margin: 0;
  width: 100%;
  min-width: 0;
  font-size: 16px;
  font-weight: 500;
  text-align: left;
  color: #333;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: keep-all;
  white-space: nowrap;
}
.board-section--news .board-card-desc {
  color: var(--color-gray-deep);
}
.board-pagination--news {
  margin-top: 48px;
  gap: 4px;
}
.board-pagination--news .board-page-num {
  width: auto;
  min-width: 32px;
  height: auto;
  padding: 4px 8px;
  border-radius: 0;
  background: transparent;
  color: #999;
  font-weight: 400;
}
.board-pagination--news .board-page-num:hover {
  background: transparent;
  color: #666;
}
.board-pagination--news .board-page-num.active {
  background: transparent;
  color: #000;
  font-weight: 700;
}
.board-pagination--news .board-page-num,
.board-pagination--news .board-page-btn {
  color: var(--color-gray);
}
.board-pagination--news .board-page-num:hover,
.board-pagination--news .board-page-btn:hover {
  color: var(--color-gray-deep);
}
.board-pagination--news .board-page-num.active {
  color: var(--color-gray-deep);
  font-weight: 700;
}
.board-pagination--news .board-page-btn {
  width: auto;
  min-width: 32px;
  height: auto;
  padding: 4px 10px;
  border-radius: 0;
  background: transparent;
  color: #999;
  font-size: 20px;
}
.board-card-desc {
  font-size: 14px;
  color: #888;
  margin: 0 0 auto;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 빈 상태 */
.board-empty {
  text-align: center;
  font-size: 18px;
  color: #999;
  padding: 80px 0;
}

/* 페이지네이션 */
.board-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 60px;
}
.board-page-btn,
.board-page-num {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  color: #666;
  text-decoration: none;
  transition: all 0.2s;
}
.board-page-num:hover {
  background: rgba(135, 118, 102, 0.1);
}
.board-page-num.active {
  background: var(--color-primary-dark);
  color: #fff;
  font-weight: 700;
}
.board-page-btn {
  font-size: 18px;
  color: #999;
}
.board-page-btn.disabled {
  opacity: 0.3;
  pointer-events: none;
}

/* 상세보기 */
.board-view-section {
  background: #fff;
}
.board-view {
  margin: 0 auto;
}
.board-view-head {
  margin-bottom: 40px;
  padding-bottom: 30px;
  border-bottom: 2px solid #f0f0f0;
}
.board-view-title {
  font-size: 32px;
  font-weight: 700;
  color: var(--color-primary-dark);
  margin: 0 0 16px;
  line-height: 1.4;
}
.board-view-date {
  font-size: 15px;
  color: #888;
  margin: 0;
}
.board-view-footer {
  margin: 0 auto;
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #e0e0e0;
  text-align: center;
}
.board-view-footer-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.board-btn-next {
  display: inline-block;
  padding: 12px 30px;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-primary-dark);
  border: 2px solid var(--color-primary-dark);
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.3s;
  background: #fff;
}
.board-btn-next:hover {
  background: var(--color-primary-dark);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(135, 118, 102, 0.25);
}
.board-btn-list {
  display: inline-block;
  padding: 12px 30px;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  border: 2px solid var(--color-primary-dark);
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.3s;
  background: var(--color-primary-dark);
}
.board-btn-list:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(135, 118, 102, 0.25);
}
.board-btn-line {
  display: inline-block;
  padding: 12px 30px;
  font-size: 15px;
  font-weight: 600;
  color: var(--color-primary-dark);
  border: 2px solid var(--color-primary-dark);
  border-radius: 10px;
  text-decoration: none;
  transition: all 0.3s;
  background: #fff;
}
.board-btn-line:hover {
  background: var(--color-primary-dark);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(135, 118, 102, 0.25);
}

/* 상세보기 post-body */
.board-view-section #post-body {
  font-size: 18px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 40px;
}
.board-view-section #post-body p {
  font-size: 18px;
  line-height: 1.8;
  margin: 0 0 20px;
}
.board-view-section #post-body h1,
.board-view-section #post-body h2,
.board-view-section #post-body h3,
.board-view-section #post-body h4,
.board-view-section #post-body h5,
.board-view-section #post-body h6 {
  font-weight: 700;
  line-height: 1.4;
  margin: 32px 0 16px;
  color: #222;
}
.board-view-section #post-body h1 {
  font-size: 30px;
}
.board-view-section #post-body h2 {
  font-size: 26px;
}
.board-view-section #post-body h3 {
  font-size: 22px;
}
.board-view-section #post-body h4 {
  font-size: 20px;
}
.board-view-section #post-body h5,
.board-view-section #post-body h6 {
  font-size: 18px;
}
.board-view-section #post-body ul,
.board-view-section #post-body ol {
  margin: 0 0 20px 1.4em;
  padding: 0;
}
.board-view-section #post-body ul {
  list-style-type: disc;
}
.board-view-section #post-body ol {
  list-style-type: decimal;
}
.board-view-section #post-body li {
  margin-bottom: 6px;
  list-style-position: outside;
}
.board-view-section #post-body li::marker {
  color: var(--color-primary);
}
.board-view-section #post-body blockquote {
  margin: 24px 0;
  padding: 14px 18px;
  border-left: 4px solid var(--color-primary-light);
  background: #faf7f3;
  border-radius: 8px;
  color: #444;
}
.board-view-section #post-body a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.board-view-section #post-body strong {
  font-weight: 700;
}
.board-view-section #post-body em {
  font-style: italic;
}
.board-view-section #post-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
  font-size: 16px;
}
.board-view-section #post-body th,
.board-view-section #post-body td {
  border: 1px solid #e1e1e1;
  padding: 10px 12px;
}
.board-view-section #post-body th {
  background: #faf7f3;
  font-weight: 700;
}
.board-view-section #post-body img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  margin: 30px 0;
  display: block;
}

.board-view-excerpt {
  position: relative;
  max-height: 920px;
  overflow: hidden;
  margin-bottom: 0;
}
.board-view-excerpt .post-body {
  margin-bottom: 0;
}
.board-view-excerpt-thumb {
  margin: 0 0 24px;
  text-align: left;
}
.board-view-section #post-body .board-view-excerpt-thumb img {
  width: auto;
  max-width: min(100%, 680px);
  max-height: 320px;
  margin: 0;
  object-fit: cover;
  object-position: center;
}
.board-view-excerpt-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 120px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 88%);
  pointer-events: none;
}
.board-view-excerpt-note {
  margin: 8px 0 0;
  padding: 18px 24px;
  border-radius: 12px;
  background: var(--color-blue-light);
  color: var(--color-blue);
  font-size: 15px;
  line-height: 1.6;
  text-align: center;
}
.board-view-footer--column {
  margin-top: 28px;
}
.board-view-footer--column .board-btn-list,
.board-view-footer--column .board-btn-line {
  border-radius: 12px;
  padding: 14px 28px;
}
