/* =========================================================
   동제당 칼럼 본문 레이아웃 — column.css v1.0.1
   Clinic OS 토큰(--accent, --bg-surface …)에 기대므로
   global.css 뒤에 로드하면 스킨이 자동 적용된다.
   범위: .column 컨테이너 내부만. 헤더·푸터·페이지 껍데기 없음.
   ========================================================= */

.column {
  --col-r: 1rem;       /* 박스 모서리 */
  --col-r-lg: 1.25rem; /* 큰 카드 모서리 */
  max-width: 760px;
  margin: 0 auto;
  font-family: var(--font-body);
  color: var(--text-main);
  font-size: 16px;
  line-height: 1.75;
  word-break: keep-all;
  text-wrap: pretty;
}
.column > * + * { margin-top: 1.1rem; }

/* ---------- 머리 ---------- */
.column .hero {
  position: relative;
  aspect-ratio: 3 / 2;
  border-radius: var(--col-r);
  border: 1px solid var(--border-subtle);
  background: radial-gradient(circle at 30% 20%, var(--accent-soft), var(--bg-surface));
  overflow: hidden;
  display: grid; place-items: center;
  color: var(--text-subtle); font-size: 13px;
}
.column .hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.column .hero-title {
  position: absolute; left: 1.25rem; right: 1.25rem; bottom: 1.1rem; margin: 0;
  font-family: var(--font-body); font-weight: 800; font-size: clamp(1.25rem, 3vw, 1.9rem);
  line-height: 1.35; letter-spacing: -0.02em; color: #1e293b; text-wrap: balance;
}
.column .hero:has(.hero-title) + .meta + h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0; }
.column .hero-title mark { background: #111827; color: #fff; padding: .02em .22em; border-radius: 3px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

.column .meta {
  display: flex; align-items: center; gap: .75rem; flex-wrap: wrap;
  font-size: 13px; color: var(--text-muted);
  margin-top: 1.5rem;
}
.column .meta .category {
  padding: .2rem .7rem; border-radius: 9999px;
  background: var(--accent-soft); color: var(--accent-strong); font-weight: 600;
}

.column h1 {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3.6vw, 2.5rem);
  line-height: 1.25; letter-spacing: -0.02em; font-weight: 700;
  margin: .75rem 0 1.25rem;
}

.column .byline {
  display: flex; align-items: center; gap: .75rem;
  padding-bottom: 1.5rem; border-bottom: 1px solid var(--border-subtle);
  font-size: 14px; line-height: 1.4;
}
.column .byline img, .column .byline .avatar {
  width: 40px; height: 40px; border-radius: 50%; object-fit: cover;
  background: var(--accent-soft); border: 1px solid var(--border-subtle);
}
.column .byline small { display: block; font-size: 12px; color: var(--text-muted); }
.column .byline a { font-weight: 600; color: var(--text-main); }
.column .byline .role { color: var(--text-muted); }

/* ---------- 목차 ---------- */
.column .toc {
  background: var(--bg-surface); border: 1px solid var(--border-subtle);
  border-radius: var(--col-r); padding: 1.25rem 1.5rem; margin-top: 1.5rem;
}
.column .toc > strong {
  display: block; font-family: var(--font-heading); font-size: 15px; margin-bottom: .6rem;
}
.column .toc ol { margin: 0; padding-left: 1.25rem; display: flex; flex-direction: column; gap: .35rem; font-size: 15px; }
.column .toc a { color: var(--accent); text-decoration: none; }
.column .toc a:hover { color: var(--accent-strong); text-decoration: underline; }

/* ---------- 본문 ---------- */
.column .lead { font-size: 1.0625rem; line-height: 1.8; }
.column p { margin: 0 0 1.1rem; line-height: 1.8; }
.column h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  line-height: 1.3; letter-spacing: -0.02em; font-weight: 700;
  margin: 2.5rem 0 1rem; scroll-margin-top: 90px;
}
.column h3 {
  font-family: var(--font-heading); font-size: 1.2rem; line-height: 1.35;
  letter-spacing: -0.02em; margin: 1.75rem 0 .75rem;
}
.column ul, .column ol { margin: 0 0 1.25rem; padding-left: 1.25rem; display: flex; flex-direction: column; gap: .4rem; }
.column li { line-height: 1.7; }
.column strong { font-weight: 700; }
.column a { color: var(--accent); text-decoration: none; }
.column a:hover { color: var(--accent-strong); text-decoration: underline; }

.column figure { margin: 1.25rem 0 1.5rem; }
.column figure .frame {
  aspect-ratio: 4 / 5; max-width: 520px; margin: 0 auto; border-radius: var(--col-r); overflow: hidden;
  border: 1px solid var(--border-subtle); background: var(--accent-soft);
  display: grid; place-items: center; color: var(--text-muted); font-size: 13px; padding: 1rem; text-align: center;
}
.column figure img { width: 100%; max-width: 520px; margin: 0 auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--col-r); border: 1px solid var(--border-subtle); display: block; }
.column figcaption { font-size: 13px; color: var(--text-muted); margin-top: .5rem; text-align: center; }

/* ---------- 박스 4종 ---------- */
.column .key-answer {
  margin: 1.75rem 0 2.25rem; padding: 1.25rem 1.5rem; border-radius: var(--col-r);
  background: radial-gradient(circle at top left, var(--accent-soft), var(--bg-surface));
  border: 1px solid var(--border-subtle);
}
.column .key-answer .eyebrow,
.column .cta .eyebrow {
  display: block; font-family: var(--font-heading); font-size: 12.5px; font-weight: 700;
  letter-spacing: .12em; color: var(--accent-strong); margin-bottom: .5rem;
}
.column .key-answer p { margin: 0; font-size: 1.0625rem; font-weight: 500; }

.column .evidence {
  margin: 1.25rem 0 1.5rem; padding: 1.1rem 1.35rem; border-radius: var(--col-r);
  background: var(--bg-surface); border: 1px solid var(--border-subtle);
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .9rem; align-items: start;
}
.column .evidence::before {
  content: ""; width: 20px; height: 20px; margin-top: 3px;
  background: currentColor; color: var(--accent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20'/%3E%3C/svg%3E") center / contain no-repeat;
}
.column .evidence strong { display: block; font-size: 15px; margin-bottom: .3rem; }
.column .evidence p { margin: 0 0 .5rem; font-size: 15px; }
.column .evidence .source { font-size: 12.5px; color: var(--text-muted); }

.column .callout {
  margin: 1.25rem 0 1.5rem; padding: 1.1rem 1.35rem; border-radius: var(--col-r);
  background: var(--accent-soft); border: 1px solid var(--border-subtle);
}
.column .callout strong { display: block; font-size: 15px; margin-bottom: .3rem; color: var(--accent-strong); }
.column .callout p { margin: 0; font-size: 15px; }

/* ---------- 체크리스트 + 트리아지 ---------- */
.column .checklist {
  margin: 3rem 0 0; padding: 1.5rem 1.75rem; border-radius: var(--col-r-lg);
  background: var(--bg-surface); border: 1px solid var(--border-subtle);
}
.column .checklist h2 { font-size: 1.35rem; margin: 0 0 .35rem; }
.column .checklist .intro { margin: 0 0 1rem; font-size: 14px; color: var(--text-muted); }
.column .checklist ul { list-style: none; padding: 0; margin: 0 0 1.25rem; gap: .55rem; }
.column .checklist ul li { display: flex; gap: .7rem; align-items: flex-start; font-size: 15px; line-height: 1.6; }
.column .checklist ul li::before {
  content: ""; flex: none; width: 18px; height: 18px; margin-top: 3px;
  border-radius: 5px; border: 1.5px solid var(--accent);
}
.column .triage { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .75rem; }
.column .triage > div { padding: .9rem 1rem; border-radius: .75rem; background: var(--bg-body); border: 1px solid var(--border-subtle); }
.column .triage .range { font-family: var(--font-numeral); font-size: 12px; color: var(--accent-strong); letter-spacing: .06em; }
.column .triage strong { display: block; font-size: 15px; margin: .15rem 0 .25rem; }
.column .triage p { margin: 0; font-size: 13.5px; color: var(--text-muted); line-height: 1.6; }

/* ---------- 진료 CTA ---------- */
.column .cta {
  margin: 3rem 0 0; padding: 1.75rem; border-radius: var(--col-r-lg);
  background: radial-gradient(circle at top left, var(--accent-soft), var(--bg-surface));
  border: 1px solid var(--border-subtle);
}
.column .cta h2 { font-size: clamp(1.25rem, 2vw, 1.6rem); margin: 0 0 .75rem; }
.column .cta p { margin: 0 0 1rem; font-size: 15px; }
.column .cta ul { font-size: 15px; line-height: 1.8; margin-bottom: 1.25rem; }
.column .cta > a { font-weight: 600; font-size: 15px; white-space: nowrap; }

/* ---------- 프로그램 카드 ---------- */
.column .program {
  margin: 1.25rem 0 0; padding: 1.75rem; border-radius: var(--col-r-lg);
  background: var(--bg-surface); border: 1px solid var(--border-subtle);
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .7fr); gap: 1.75rem; align-items: start;
}
.column .program .eyebrow { display: block; font-size: 13px; color: var(--text-muted); margin-bottom: .4rem; font-family: var(--font-body); letter-spacing: 0; font-weight: 400; }
.column .program h3 { font-size: 1.3rem; margin: 0 0 .75rem; }
.column .program > div > p { margin: 0 0 1.1rem; font-size: 15px; color: var(--text-muted); }
.column .program ol { list-style: none; padding: 0; margin: 0 0 1rem; gap: .6rem; counter-reset: step; }
.column .program ol li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: .75rem; font-size: 15px; line-height: 1.6; }
.column .program ol li::before {
  counter-increment: step; content: counter(step);
  width: 22px; height: 22px; border-radius: 50%; margin-top: 2px;
  background: var(--accent); color: var(--text-on-accent);
  font-size: 12px; font-weight: 700; display: grid; place-items: center;
}
.column .program ol li span { color: var(--text-muted); }
.column .program .note { font-size: 13.5px; color: var(--text-muted); margin: 0 0 1.1rem; }
.column .program .actions { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; }
.column .program .price { font-size: 12.5px; color: var(--text-muted); margin-top: .75rem; }
.column .program .image {
  aspect-ratio: 4 / 5; border-radius: var(--col-r); overflow: hidden;
  background: var(--accent-soft); border: 1px solid var(--border-subtle);
  display: grid; place-items: center; color: var(--text-subtle); font-size: 13px;
}
.column .program .image img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 버튼 (Clinic OS .btn 없을 때 대비) */
.column .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  white-space: nowrap; border-radius: 9999px; padding: .6rem 1.2rem;
  font-size: 14px; font-weight: 600; text-decoration: none; border: 1px solid transparent;
  transition: transform .2s, box-shadow .2s;
}
.column .btn--primary {
  color: var(--text-on-accent);
  background: linear-gradient(135deg, var(--accent-gradient-start), var(--accent-gradient-end));
}
.column .btn--primary:hover { transform: translateY(-1px); text-decoration: none; color: var(--text-on-accent); }
.column .btn--secondary { color: var(--text-main); background: var(--bg-surface); border-color: var(--border-subtle); }
.column .btn--secondary:hover { border-color: var(--accent); color: var(--accent); text-decoration: none; }

/* ---------- FAQ ---------- */
.column .faq { margin-top: 3rem; }
.column .faq h2 { font-size: 1.5rem; margin: 0 0 1rem; }
.column .faq dl { margin: 0; display: flex; flex-direction: column; gap: .75rem; }
.column .faq dl > div { padding: 1.1rem 1.35rem; border-radius: var(--col-r); background: var(--bg-surface); border: 1px solid var(--border-subtle); }
.column .faq dt { display: flex; gap: .6rem; font-weight: 600; font-size: 15.5px; margin-bottom: .4rem; }
.column .faq dt::before { content: "Q."; color: var(--accent); font-family: var(--font-heading); }
.column .faq dd { margin: 0; padding-left: 1.6rem; font-size: 15px; line-height: 1.75; }

/* ---------- 참고자료 ---------- */
.column .references { margin-top: 3rem; }
.column .references h2 { font-size: 1.5rem; margin: 0 0 .35rem; }
.column .references .intro { margin: 0 0 1rem; font-size: 14px; color: var(--text-muted); }
.column .references ol { list-style: none; padding: 0; margin: 0; gap: .6rem; counter-reset: ref; }
.column .references li {
  display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: .75rem;
  padding: .9rem 1.1rem; border-radius: .75rem; background: var(--bg-surface); border: 1px solid var(--border-subtle);
}
.column .references li::before {
  counter-increment: ref; content: counter(ref) ".";
  font-family: var(--font-numeral); font-size: 13px; color: var(--text-muted); padding-top: 2px;
}
.column .references .type { display: block; font-size: 12px; color: var(--accent-strong); font-weight: 600; margin-bottom: .2rem; }
.column .references a { font-size: 15px; line-height: 1.5; }
.column .references .source { display: block; font-size: 12.5px; color: var(--text-muted); margin-top: .2rem; }

/* ---------- 의료정보 안내 ---------- */
.column .disclaimer {
  margin-top: 2.5rem; padding: 1rem 1.25rem; border-radius: .75rem;
  background: var(--accent-soft); border: 1px solid var(--border-subtle);
  font-size: 13.5px; line-height: 1.65;
}
.column .disclaimer strong { display: block; margin-bottom: .2rem; }

/* ---------- 요약·검수 카드 ---------- */
.column .summary {
  margin-top: 2.5rem; padding: 1.75rem; border-radius: var(--col-r-lg);
  background: var(--bg-surface); border: 1px solid var(--border-subtle);
}
.column .summary > strong { display: block; font-size: 15px; margin-bottom: 1.25rem; }
.column .summary .grid { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 1rem 1.25rem; font-size: 15px; }
.column .summary .grid > .label { font-size: 13px; color: var(--text-muted); padding-top: 2px; }
.column .summary .grid p { margin: 0; }
.column .summary .links { display: flex; gap: 1rem; flex-wrap: wrap; font-size: 13.5px; margin-top: .25rem; }
.column .summary hr { border: 0; height: 1px; background: var(--border-subtle); margin: 1.5rem 0; }
.column .summary h4 { font-family: var(--font-body); font-size: 14px; font-weight: 600; margin: 0 0 .9rem; }
.column .summary .qa { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem; }
.column .summary .qa > div { padding: .9rem 1rem; border-radius: .75rem; background: var(--bg-body); border: 1px solid var(--border-subtle); }
.column .summary .qa strong { display: block; font-size: 12.5px; color: var(--accent-strong); font-weight: 600; margin-bottom: .3rem; }
.column .summary .qa p { margin: 0; font-size: 14px; line-height: 1.6; }
.column .summary .points { margin: .6rem 0 0; font-size: 15px; gap: .3rem; }
.column .summary .points-title { margin: 1.5rem 0 0; }

/* ---------- 반응형 ---------- */
@media (max-width: 640px) {
  .column .program { grid-template-columns: 1fr; }
  .column .program .image { aspect-ratio: 16 / 9; }
  .column .summary .grid { grid-template-columns: 1fr; gap: .35rem 0; }
  .column .summary .grid > .label { margin-top: .75rem; }
  .column .summary .grid > .label:first-child { margin-top: 0; }
}

/* =========================================================
   클리닉별 변형 — .column[data-clinic="…"]
   색은 Clinic OS 스킨 액센트와 어울리도록 저채도로 잡고,
   모서리와 시그니처 블록 1종으로 성격을 나눈다.
   ========================================================= */

/* 해독/다이어트 — 올리브, 유기적 모서리, 구간 타임라인 */
.column[data-clinic="diet"] {
  --accent: #5f6f5a; --accent-strong: #465342;
  --accent-soft: #f3f5f1; --accent-gradient-start: #5f6f5a; --accent-gradient-end: #465342;
  --col-r: 1.25rem; --col-r-lg: 1.5rem;
}
.column .timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: 1.5rem 0; }
.column .timeline > div { padding: .9rem 1rem .9rem; border-top: 4px solid var(--accent); background: var(--bg-surface); border-radius: 0 0 var(--col-r) var(--col-r); border: 1px solid var(--border-subtle); border-top: 4px solid var(--accent); }
.column .timeline > div:nth-child(2) { border-top-color: var(--accent-strong); }
.column .timeline > div:nth-child(3) { border-top-color: var(--text-muted); }
.column .timeline .when { font-family: var(--font-numeral); font-size: 12px; letter-spacing: .06em; color: var(--accent-strong); }
.column .timeline strong { display: block; font-size: 15px; margin: .2rem 0 .25rem; }
.column .timeline p { margin: 0; font-size: 13.5px; color: var(--text-muted); line-height: 1.6; }

/* 소화기질환 — 클레이, 식사·증상 기록표 */
.column[data-clinic="digestive"] {
  --accent: #9c6247; --accent-strong: #72452f;
  --accent-soft: #f7f2ee; --accent-gradient-start: #9c6247; --accent-gradient-end: #72452f;
}
.column .log-table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 14.5px; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--col-r); overflow: hidden; }
.column .log-table th { text-align: left; font-weight: 600; font-size: 13px; color: var(--accent-strong); background: var(--accent-soft); padding: .65rem .9rem; }
.column .log-table td { padding: .65rem .9rem; border-top: 1px solid var(--border-subtle); vertical-align: top; line-height: 1.55; }
.column .log-table td:first-child { font-family: var(--font-numeral); color: var(--text-muted); white-space: nowrap; }

/* 마음건강 — 인디고, 큰 모서리, 0~10 자가 척도 */
.column[data-clinic="mind"] {
  --accent: #4d5278; --accent-strong: #373b58;
  --accent-soft: #f2f2f6; --accent-gradient-start: #4d5278; --accent-gradient-end: #373b58;
  --col-r: 1.5rem; --col-r-lg: 2rem;
}
.column .scale { margin: 1.5rem 0; padding: 1.1rem 1.35rem; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--col-r); }
.column .scale strong { display: block; font-size: 15px; margin-bottom: .75rem; }
.column .scale .track { display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: 3px; }
.column .scale .track span { height: 28px; display: grid; place-items: center; font-family: var(--font-numeral); font-size: 12px; color: var(--text-muted); background: var(--accent-soft); border-radius: 6px; }
.column .scale .track span:nth-child(n+8) { background: var(--accent); color: var(--text-on-accent); }
.column .scale .ends { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--text-muted); margin-top: .5rem; }

/* 두면부 클리닉 — 잉크, 각진 모서리, 증상 부위 카드 */
.column[data-clinic="head"] {
  --accent: #33415c; --accent-strong: #232d42;
  --accent-soft: #f1f3f6; --accent-gradient-start: #33415c; --accent-gradient-end: #232d42;
  --col-r: .5rem; --col-r-lg: .75rem;
}
.column .regions { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .6rem; margin: 1.5rem 0; }
.column .regions > div { padding: .85rem 1rem; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-left: 3px solid var(--accent); border-radius: var(--col-r); }
.column .regions strong { display: block; font-size: 14.5px; margin-bottom: .2rem; }
.column .regions p { margin: 0; font-size: 13px; color: var(--text-muted); line-height: 1.55; }

/* 피부질환 — 모브, 유형 비교 2컬럼 */
.column[data-clinic="skin"] {
  --accent: #9c6f78; --accent-strong: #744e56;
  --accent-soft: #f7f2f3; --accent-gradient-start: #9c6f78; --accent-gradient-end: #744e56;
  --col-r: 1.25rem; --col-r-lg: 1.5rem;
}
.column .compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1.5rem 0; }
.column .compare > div { background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--col-r); overflow: hidden; }
.column .compare .frame { aspect-ratio: 4 / 3; background: var(--accent-soft); display: grid; place-items: center; color: var(--text-muted); font-size: 13px; }
.column .compare .frame img { width: 100%; height: 100%; object-fit: cover; }
.column .compare .cap { padding: .75rem 1rem; }
.column .compare strong { display: block; font-size: 14.5px; }
.column .compare p { margin: .15rem 0 0; font-size: 13px; color: var(--text-muted); line-height: 1.55; }

/* 통증/신경 클리닉 — 딥틸, 진료 단계 스테퍼 */
.column[data-clinic="pain"] {
  --accent: #2f5c63; --accent-strong: #1f4147;
  --accent-soft: #eff4f5; --accent-gradient-start: #2f5c63; --accent-gradient-end: #1f4147;
  --col-r: .5rem; --col-r-lg: .75rem;
}
.column .stepper { list-style: none; padding: 0; margin: 1.5rem 0; gap: 0; counter-reset: sp; }
.column .stepper li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: .9rem; position: relative; padding-bottom: 1.1rem; }
.column .stepper li::before { counter-increment: sp; content: counter(sp); width: 28px; height: 28px; border-radius: 50%; background: var(--accent); color: var(--text-on-accent); font-family: var(--font-numeral); font-size: 13px; font-weight: 700; display: grid; place-items: center; }
.column .stepper li:not(:last-child)::after { content: ""; position: absolute; left: 13px; top: 30px; bottom: 0; width: 2px; background: var(--border-subtle); }
.column .stepper strong { display: block; font-size: 15px; }
.column .stepper p { margin: .15rem 0 0; font-size: 14px; color: var(--text-muted); }

/* 여성질환 — 멀베리, 주기 4구간 스트립 */
.column[data-clinic="women"] {
  --accent: #7a4d64; --accent-strong: #573446;
  --accent-soft: #f6f1f4; --accent-gradient-start: #7a4d64; --accent-gradient-end: #573446;
  --col-r: 1.25rem; --col-r-lg: 1.5rem;
}
.column .cycle { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; margin: 1.5rem 0; }
.column .cycle > div { padding: .8rem .9rem; background: var(--accent-soft); border-radius: 6px; }
.column .cycle > div:first-child { border-radius: var(--col-r) 6px 6px var(--col-r); }
.column .cycle > div:last-child { border-radius: 6px var(--col-r) var(--col-r) 6px; }
.column .cycle .when { font-family: var(--font-numeral); font-size: 11.5px; letter-spacing: .06em; color: var(--accent-strong); }
.column .cycle strong { display: block; font-size: 14px; margin: .15rem 0 .2rem; }
.column .cycle p { margin: 0; font-size: 12.5px; color: var(--text-muted); line-height: 1.5; }

/* 소아/수험생 — 스카이 슬레이트, 보호자 안내 박스 */
.column[data-clinic="kids"] {
  --accent: #5b7a8c; --accent-strong: #3f5865;
  --accent-soft: #f0f4f6; --accent-gradient-start: #5b7a8c; --accent-gradient-end: #3f5865;
  --col-r: 1.25rem; --col-r-lg: 1.5rem;
}
.column .guardian { margin: 1.5rem 0; padding: 1.1rem 1.35rem; background: var(--bg-surface); border: 1.5px dashed var(--accent); border-radius: var(--col-r); }
.column .guardian .tag { display: inline-block; font-size: 12px; font-weight: 600; color: var(--accent-strong); background: var(--accent-soft); padding: .15rem .6rem; border-radius: 9999px; margin-bottom: .5rem; }
.column .guardian strong { display: block; font-size: 15px; margin-bottom: .3rem; }
.column .guardian ul { margin: 0; font-size: 14.5px; gap: .3rem; }

/* 보약/웰니스 — 임페리얼 그린 + 금색, 체질·계절 4카드 */
.column[data-clinic="wellness"] {
  --accent: #1a4d2e; --accent-strong: #123520;
  --accent-soft: #f3f5f1; --accent-gradient-start: #1a4d2e; --accent-gradient-end: #123520;
  --gold: #c5a059; --col-r: .5rem; --col-r-lg: .75rem;
}
.column .seasons { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .6rem; margin: 1.5rem 0; }
.column .seasons > div { padding: 1rem; background: var(--bg-surface); border: 1px solid var(--border-subtle); border-radius: var(--col-r); text-align: center; }
.column .seasons .hanja { font-family: var(--font-heading); font-size: 1.5rem; color: var(--gold); line-height: 1; }
.column .seasons strong { display: block; font-size: 14.5px; margin: .5rem 0 .2rem; }
.column .seasons p { margin: 0; font-size: 12.5px; color: var(--text-muted); line-height: 1.5; }

/* ---------- 모바일 ---------- */
@media (max-width: 640px) {
  .column { font-size: 15.5px; }
  .column .hero { border-radius: .75rem; aspect-ratio: 4 / 5; }
  .column .hero-title { left: 1rem; right: 1rem; bottom: 1rem; font-size: 1.35rem; }
  /* diet WEEK 뱃지: 모바일에선 제목(좌하단)과 겹치므로 우상단으로 (2026-09-15 실측) */
  .column[data-clinic="diet"] .hero::after { top: 1rem; bottom: auto; }
  .column figure .frame, .column figure img { max-width: none; }
  .column h1 { font-size: 1.5rem; line-height: 1.3; margin: .6rem 0 1rem; }
  .column h2 { font-size: 1.25rem; margin: 2rem 0 .8rem; }
  .column .meta { margin-top: 1rem; }
  .column .toc { padding: 1rem 1.1rem; }
  .column .toc ol { font-size: 14.5px; }
  .column .lead { font-size: 1rem; }
  .column p, .column .lead { line-height: 1.75; }
  .column .key-answer { padding: 1rem 1.1rem; margin: 1.25rem 0 1.75rem; }
  .column .key-answer p { font-size: 1rem; }
  .column .evidence { padding: .9rem 1rem; gap: .7rem; grid-template-columns: 1fr; }
  .column .evidence::before { display: none; }
  .column .callout { padding: .9rem 1rem; }
  .column figure .frame, .column figure img { border-radius: .75rem; }
  .column .checklist, .column .cta, .column .program, .column .summary { padding: 1.1rem 1.1rem; margin-top: 2rem; }
  .column .checklist h2 { font-size: 1.15rem; }
  .column .triage { grid-template-columns: 1fr; gap: .5rem; }
  .column .cta h2 { font-size: 1.15rem; }
  .column .program h3 { font-size: 1.1rem; }
  .column .program .actions .btn { flex: 1 1 100%; }
  .column .faq dl > div { padding: .9rem 1rem; }
  .column .faq dt { font-size: 15px; }
  .column .faq dd { padding-left: 0; margin-top: .3rem; }
  .column .references li { padding: .75rem .9rem; grid-template-columns: 22px minmax(0, 1fr); gap: .5rem; }
  .column .summary .qa { grid-template-columns: 1fr; }
  .column .timeline, .column .cycle { grid-template-columns: 1fr; }
  .column .timeline > div { border-radius: 0 0 var(--col-r) var(--col-r); }
  .column .cycle > div, .column .cycle > div:first-child, .column .cycle > div:last-child { border-radius: 8px; }
  .column .compare { grid-template-columns: 1fr; }
  .column .regions, .column .seasons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .column .scale .track span { height: 26px; font-size: 11px; }
  .column .log-table { font-size: 13.5px; }
  .column .log-table th, .column .log-table td { padding: .5rem .6rem; }
}

/* =========================================================
   클리닉별 편집 성격 — 색 외에 구조·타이포·질감을 바꾼다
   ========================================================= */
.column { counter-reset: h2; }
.column > h2 { counter-increment: h2; }

/* ── 해독/다이어트 : 유기적·코칭 — 큰 라운드, 번호 원, 진행감 ── */
.column[data-clinic="diet"] .hero { border-radius: 2rem; border: 0; }
.column[data-clinic="diet"] h1 { font-family: var(--font-body); font-weight: 800; letter-spacing: -0.03em; }
.column[data-clinic="diet"] > h2 { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: .75rem; align-items: center; font-family: var(--font-body); font-weight: 700; }
.column[data-clinic="diet"] > h2::before { content: counter(h2); width: 34px; height: 34px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 14px; display: grid; place-items: center; font-family: var(--font-numeral); }
.column[data-clinic="diet"] .key-answer { border: 0; background: var(--accent-soft); border-radius: 2rem; padding: 1.5rem 1.75rem; }
.column[data-clinic="diet"] .key-answer .eyebrow { color: var(--accent); }
.column[data-clinic="diet"] .checklist, .column[data-clinic="diet"] .cta, .column[data-clinic="diet"] .program, .column[data-clinic="diet"] .summary { border-radius: 2rem; }
.column[data-clinic="diet"] .cta { background: var(--accent); color: #fff; border: 0; }
.column[data-clinic="diet"] .cta h2, .column[data-clinic="diet"] .cta p, .column[data-clinic="diet"] .cta .eyebrow, .column[data-clinic="diet"] .cta > a { color: #fff; }
.column[data-clinic="diet"] .cta > a { text-decoration: underline; }
.column[data-clinic="diet"] .checklist ul li::before { border-radius: 50%; }

/* ── 마음건강 : 조용한 에세이 — 명조 본문, 중앙 정렬, 여백, 인용 ── */
.column[data-clinic="mind"] { font-family: var(--font-serif); line-height: 1.95; }
.column[data-clinic="mind"] .hero { border: 0; border-radius: 0; }
.column[data-clinic="mind"] .meta { justify-content: center; margin-top: 2rem; }
.column[data-clinic="mind"] .meta .category { background: none; color: var(--accent); padding: 0; letter-spacing: .1em; }
.column[data-clinic="mind"] h1 { text-align: center; font-weight: 500; font-size: clamp(1.6rem, 3.2vw, 2.25rem); line-height: 1.4; margin: .5rem auto 1.5rem; max-width: 22ch; }
.column[data-clinic="mind"] .byline { justify-content: center; border-bottom: 0; }
.column[data-clinic="mind"] .byline::after { content: none; }
.column[data-clinic="mind"] .toc { background: none; border: 0; border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); border-radius: 0; text-align: center; }
.column[data-clinic="mind"] .toc ol { list-style: none; padding: 0; }
.column[data-clinic="mind"] .lead { font-size: 1.125rem; }
.column[data-clinic="mind"] > h2 { text-align: center; font-weight: 500; font-size: 1.35rem; margin-top: 3.5rem; }
.column[data-clinic="mind"] > h2::before { content: ""; display: block; width: 28px; height: 1px; background: var(--accent); margin: 0 auto 1rem; }
.column[data-clinic="mind"] .key-answer { background: none; border: 0; border-radius: 0; padding: .5rem 2rem; text-align: center; }
.column[data-clinic="mind"] .key-answer .eyebrow { display: none; }
.column[data-clinic="mind"] .key-answer p { font-size: 1.2rem; font-weight: 400; line-height: 1.8; color: var(--accent-strong); }
.column[data-clinic="mind"] .key-answer p::before { content: "“"; display: block; font-size: 3rem; line-height: .6; color: var(--accent); margin-bottom: .5rem; }
.column[data-clinic="mind"] .evidence, .column[data-clinic="mind"] .callout { border: 0; border-left: 1px solid var(--accent); border-radius: 0; background: none; padding: .25rem 0 .25rem 1.25rem; }
.column[data-clinic="mind"] .evidence::before { display: none; }
.column[data-clinic="mind"] .checklist, .column[data-clinic="mind"] .cta, .column[data-clinic="mind"] .program, .column[data-clinic="mind"] .summary { border-radius: 2rem; border: 0; background: var(--accent-soft); }
.column[data-clinic="mind"] .checklist h2, .column[data-clinic="mind"] .cta h2 { font-weight: 500; }
.column[data-clinic="mind"] .checklist ul li::before { border-radius: 50%; border-width: 1px; }
.column[data-clinic="mind"] .btn, .column[data-clinic="mind"] .triage > div, .column[data-clinic="mind"] .faq dl > div, .column[data-clinic="mind"] .references li { font-family: var(--font-body); }

/* ── 두면부 클리닉 : 진단 기록 — 각진 격자, 헤어라인, 인덱스 ── */
.column[data-clinic="head"] .hero { border-radius: 0; }
.column[data-clinic="head"] .meta { display: grid; grid-template-columns: 1fr auto; border-top: 1px solid var(--text-main); border-bottom: 1px solid var(--border-subtle); padding: .5rem 0; margin-top: 1.25rem; }
.column[data-clinic="head"] .meta .category { background: none; padding: 0; border-radius: 0; color: var(--text-main); font-family: var(--font-numeral); letter-spacing: .08em; text-transform: uppercase; }
.column[data-clinic="head"] h1 { font-family: var(--font-body); font-weight: 700; font-size: clamp(1.6rem, 3.2vw, 2.25rem); }
.column[data-clinic="head"] .byline { border-bottom: 1px solid var(--text-main); }
.column[data-clinic="head"] .byline .avatar, .column[data-clinic="head"] .byline img { border-radius: 0; }
.column[data-clinic="head"] .toc { border-radius: 0; border: 1px solid var(--text-main); background: none; }
.column[data-clinic="head"] .toc ol { list-style: none; padding: 0; counter-reset: t; }
.column[data-clinic="head"] .toc li { display: grid; grid-template-columns: 2.5rem 1fr; }
.column[data-clinic="head"] .toc li::before { counter-increment: t; content: counter(t, decimal-leading-zero); font-family: var(--font-numeral); color: var(--text-muted); font-size: 13px; }
.column[data-clinic="head"] > h2 { font-family: var(--font-body); font-weight: 700; font-size: 1.3rem; display: grid; grid-template-columns: 3rem minmax(0,1fr); border-top: 1px solid var(--text-main); padding-top: .75rem; }
.column[data-clinic="head"] > h2::before { content: counter(h2, decimal-leading-zero); font-family: var(--font-numeral); font-size: 13px; color: var(--accent); padding-top: .35rem; }
.column[data-clinic="head"] .key-answer, .column[data-clinic="head"] .evidence, .column[data-clinic="head"] .callout, .column[data-clinic="head"] .checklist, .column[data-clinic="head"] .cta, .column[data-clinic="head"] .program, .column[data-clinic="head"] .summary, .column[data-clinic="head"] .faq dl > div, .column[data-clinic="head"] .references li, .column[data-clinic="head"] .triage > div, .column[data-clinic="head"] .summary .qa > div, .column[data-clinic="head"] .disclaimer, .column[data-clinic="head"] figure .frame, .column[data-clinic="head"] figure img { border-radius: 0; }
.column[data-clinic="head"] .key-answer { background: none; border: 1px solid var(--text-main); border-left: 6px solid var(--accent); }
.column[data-clinic="head"] .callout { background: none; border: 1px dashed var(--accent); }
.column[data-clinic="head"] .cta { background: var(--text-main); color: #fff; border: 0; }
.column[data-clinic="head"] .cta h2, .column[data-clinic="head"] .cta p, .column[data-clinic="head"] .cta > a { color: #fff; }
.column[data-clinic="head"] .cta .eyebrow { color: var(--accent-soft); }
.column[data-clinic="head"] .btn { border-radius: 0; }
.column[data-clinic="head"] .checklist ul li::before { border-radius: 0; }

/* ── 피부질환 : 매거진 — 히어로 위 제목 오버레이, 드롭캡, 세리프 대제목 ── */
.column[data-clinic="skin"] .hero { position: relative; border: 0; border-radius: 1.25rem; }
.column[data-clinic="skin"] .hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.55)); pointer-events: none; }
.column[data-clinic="skin"] .hero-title { color: #fff; z-index: 1; }
.column[data-clinic="skin"] .hero:has(.hero-title) + .meta { margin-top: 1.25rem; padding: 0; color: var(--text-muted); }
.column[data-clinic="skin"] .hero:has(.hero-title) + .meta .category { background: var(--accent-soft); color: var(--accent-strong); backdrop-filter: none; }
.column[data-clinic="skin"] .meta { position: relative; z-index: 1; margin-top: -3.25rem; padding: 0 1.5rem; color: #fff; }
.column[data-clinic="skin"] .meta .category { background: rgba(255,255,255,.18); color: #fff; backdrop-filter: blur(6px); }
.column[data-clinic="skin"] h1 { font-family: var(--font-heading); font-weight: 600; font-size: clamp(1.75rem, 4vw, 2.75rem); line-height: 1.2; margin: 1.5rem 0 1rem; }
.column[data-clinic="skin"] .byline { border-bottom: 0; }
.column[data-clinic="skin"] .toc { display: none; }
.column[data-clinic="skin"] .lead { font-size: 1.125rem; }
.column[data-clinic="skin"] .lead::first-letter { font-family: var(--font-heading); font-size: 3.4em; float: left; line-height: .85; padding: .08em .12em 0 0; color: var(--accent); }
.column[data-clinic="skin"] > h2 { font-family: var(--font-heading); font-weight: 600; font-size: 1.6rem; }
.column[data-clinic="skin"] > h2::before { content: counter(h2, upper-roman); display: block; font-family: var(--font-heading); font-size: .8rem; letter-spacing: .3em; color: var(--accent); margin-bottom: .4rem; }
.column[data-clinic="skin"] .key-answer { background: var(--accent); color: #fff; border: 0; border-radius: 1.25rem; padding: 1.5rem 1.75rem; }
.column[data-clinic="skin"] .key-answer .eyebrow, .column[data-clinic="skin"] .key-answer p { color: #fff; }
.column[data-clinic="skin"] .key-answer p { font-family: var(--font-heading); font-weight: 500; font-size: 1.125rem; }
.column[data-clinic="skin"] .evidence { background: var(--accent-soft); border: 0; }
.column[data-clinic="skin"] .callout { background: none; border: 1px solid var(--accent); }
.column[data-clinic="skin"] .cta { background: var(--bg-surface); border: 2px solid var(--accent); }
.column[data-clinic="skin"] .cta h2, .column[data-clinic="skin"] .program h3 { font-family: var(--font-heading); font-weight: 600; }

/* ── 여성질환 : 부드러운 곡선 — 아치형 히어로, 이탤릭 세리프, 무테 박스 ── */
.column[data-clinic="women"] .hero { border-radius: 50% 50% 1.5rem 1.5rem / 30% 30% 1.5rem 1.5rem; border: 0; }
.column[data-clinic="women"] .meta { justify-content: center; }
.column[data-clinic="women"] .meta .category { background: none; color: var(--accent); padding: 0; font-style: italic; font-family: var(--font-heading); }
.column[data-clinic="women"] h1 { text-align: center; font-weight: 500; font-size: clamp(1.7rem, 3.4vw, 2.4rem); line-height: 1.35; }
.column[data-clinic="women"] .byline { justify-content: center; border-bottom: 0; }
.column[data-clinic="women"] .toc { border: 0; background: var(--accent-soft); border-radius: 1.5rem; text-align: center; }
.column[data-clinic="women"] .toc ol { list-style: none; padding: 0; }
.column[data-clinic="women"] > h2 { font-weight: 500; font-style: italic; font-size: 1.45rem; }
.column[data-clinic="women"] > h2::before { content: "◦ "; color: var(--accent); font-style: normal; }
.column[data-clinic="women"] .key-answer { border: 0; border-radius: 1.5rem; background: linear-gradient(135deg, var(--accent-soft), var(--bg-surface) 70%); padding: 1.5rem 1.75rem; }
.column[data-clinic="women"] .evidence, .column[data-clinic="women"] .callout, .column[data-clinic="women"] .checklist, .column[data-clinic="women"] .cta, .column[data-clinic="women"] .program, .column[data-clinic="women"] .summary, .column[data-clinic="women"] .faq dl > div, .column[data-clinic="women"] .references li, .column[data-clinic="women"] .triage > div, .column[data-clinic="women"] .summary .qa > div { border: 0; border-radius: 1.5rem; }
.column[data-clinic="women"] .evidence, .column[data-clinic="women"] .faq dl > div, .column[data-clinic="women"] .references li, .column[data-clinic="women"] .checklist, .column[data-clinic="women"] .program, .column[data-clinic="women"] .summary { background: var(--accent-soft); }
.column[data-clinic="women"] .triage > div, .column[data-clinic="women"] .summary .qa > div { background: var(--bg-surface); border-radius: 1rem; }
.column[data-clinic="women"] .callout { background: var(--bg-surface); box-shadow: 0 10px 30px rgba(15,23,42,.06); }
.column[data-clinic="women"] .checklist ul li::before { border-radius: 50%; }
.column[data-clinic="women"] .checklist h2, .column[data-clinic="women"] .cta h2, .column[data-clinic="women"] .faq h2, .column[data-clinic="women"] .references h2 { font-weight: 500; }

/* ── 소아/수험생 : 밝고 둥근 — 스티커 태그, 형광 마커 H2, 점선 ── */
.column[data-clinic="kids"] .hero { border-radius: 2rem; border: 2px dashed var(--accent); background: var(--accent-soft); }
.column[data-clinic="kids"] .meta .category { background: var(--accent); color: #fff; transform: rotate(-2deg); padding: .25rem .8rem; font-size: 13px; }
.column[data-clinic="kids"] h1 { font-family: var(--font-body); font-weight: 800; letter-spacing: -0.03em; line-height: 1.3; }
.column[data-clinic="kids"] .byline { border-bottom: 2px dotted var(--border-subtle); }
.column[data-clinic="kids"] .toc { border: 2px dashed var(--border-subtle); border-radius: 1.5rem; background: none; }
.column[data-clinic="kids"] > h2 { font-family: var(--font-body); font-weight: 800; font-size: 1.3rem; display: inline; background: linear-gradient(transparent 55%, var(--accent-soft) 55%, var(--accent-soft) 92%, transparent 92%); padding: 0 .2rem; line-height: 1.6; }
.column[data-clinic="kids"] > h2 + * { margin-top: 1rem; }
.column[data-clinic="kids"] .key-answer { border: 2px solid var(--accent); background: var(--bg-surface); border-radius: 1.5rem 1.5rem 1.5rem .25rem; }
.column[data-clinic="kids"] .key-answer .eyebrow { color: var(--accent); }
.column[data-clinic="kids"] .evidence, .column[data-clinic="kids"] .callout, .column[data-clinic="kids"] .checklist, .column[data-clinic="kids"] .cta, .column[data-clinic="kids"] .program, .column[data-clinic="kids"] .summary, .column[data-clinic="kids"] .faq dl > div { border-radius: 1.5rem; }
.column[data-clinic="kids"] .callout { border: 2px dotted var(--accent); background: none; }
.column[data-clinic="kids"] .checklist { border: 2px dashed var(--border-subtle); }
.column[data-clinic="kids"] .checklist ul li::before { width: 22px; height: 22px; border-radius: 7px; border-width: 2px; margin-top: 1px; }
.column[data-clinic="kids"] .cta { background: var(--accent-soft); border: 0; }
.column[data-clinic="kids"] .faq dt::before { content: "?"; width: 22px; height: 22px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 13px; display: grid; place-items: center; font-family: var(--font-body); flex: none; }
.column[data-clinic="kids"] .faq dd { padding-left: 2.1rem; }


@media (max-width: 640px) {
  .column[data-clinic="skin"] .meta { margin-top: -2.75rem; padding: 0 1rem; }
  .column[data-clinic="head"] .toc li { grid-template-columns: 2rem 1fr; }
}

/* =========================================================
   시그니처 장치 — 클리닉마다 하나씩
   ========================================================= */

/* 해독/다이어트 : 번호 원을 세로 실선으로 이어 '여정'처럼 */
.column[data-clinic="diet"] { position: relative; }
.column[data-clinic="diet"] > h2 { position: relative; }
.column[data-clinic="diet"] > h2:not(:last-of-type)::after { content: ""; position: absolute; left: 16px; top: 100%; height: 1.75rem; width: 2px; background: repeating-linear-gradient(var(--accent) 0 4px, transparent 4px 8px); }
.column[data-clinic="diet"] .hero { position: relative; }
.column[data-clinic="diet"] .hero::after { content: "WEEK 0 → 12"; position: absolute; right: 1.25rem; bottom: 1rem; font-family: var(--font-numeral); font-size: 11px; letter-spacing: .2em; color: var(--accent-strong); background: rgba(255,255,255,.8); padding: .35rem .7rem; border-radius: 9999px; }

/* 마음건강 : 핵심답변 뒤에서 천천히 숨 쉬는 빛 */
@keyframes col-breathe { 0%, 100% { transform: scale(.85); opacity: .35; } 50% { transform: scale(1.15); opacity: .7; } }
.column[data-clinic="mind"] .key-answer { position: relative; isolation: isolate; }
.column[data-clinic="mind"] .key-answer::before { content: ""; position: absolute; inset: -20% 20%; border-radius: 50%; background: radial-gradient(circle, var(--accent-soft), transparent 70%); z-index: -1; animation: col-breathe 8s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .column[data-clinic="mind"] .key-answer::before { animation: none; } }

/* 두면부 : 히어로에 진단 격자 + 십자 조준선 */
.column[data-clinic="head"] .hero { position: relative; background-image: linear-gradient(var(--border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--border-subtle) 1px, transparent 1px), radial-gradient(circle at 50% 50%, var(--accent-soft), var(--bg-surface)); background-size: 24px 24px, 24px 24px, 100% 100%; }
.column[data-clinic="head"] .hero::before, .column[data-clinic="head"] .hero::after { content: ""; position: absolute; background: var(--accent); opacity: .6; }
.column[data-clinic="head"] .hero::before { left: 50%; top: 12%; bottom: 12%; width: 1px; }
.column[data-clinic="head"] .hero::after { top: 50%; left: 12%; right: 12%; height: 1px; }
.column[data-clinic="head"] .hero img { position: relative; z-index: 1; }

/* 피부질환 : 제목 첫 줄을 감싸는 얇은 밑줄 + 근거 카드를 '스와치'처럼 */
.column[data-clinic="skin"] h1 { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: .18em; }
.column[data-clinic="skin"] .evidence { grid-template-columns: 56px minmax(0,1fr); }
.column[data-clinic="skin"] .evidence::before { width: 56px; height: 56px; border-radius: 50%; margin: 0; mask: none; -webkit-mask: none; background: radial-gradient(circle at 35% 35%, #fff 0 10%, var(--accent) 12%, var(--accent-strong)); }

/* 여성질환 : 제목 뒤 부드러운 달무리 */
.column[data-clinic="women"] h1 { position: relative; }
.column[data-clinic="women"] h1::before { content: ""; position: absolute; width: 160px; height: 160px; left: 50%; top: 50%; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, var(--accent-soft), transparent 70%); z-index: -1; }
.column[data-clinic="women"] { isolation: isolate; }

/* 소아/수험생 : 파도 밑줄 제목, 체크박스 안에 별 */
.column[data-clinic="kids"] h1 { text-decoration: underline wavy var(--accent); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.column[data-clinic="kids"] .checklist ul li::before { content: "★"; color: var(--accent-soft); font-size: 12px; display: grid; place-items: center; border-color: var(--accent); }
.column[data-clinic="kids"] .checklist ul li:hover::before { color: var(--accent); }


@media (max-width: 640px) {
  .column[data-clinic="diet"] .hero::after { right: .75rem; bottom: .6rem; }
}

/* ── 소화기질환 (v2) : 따뜻한 식탁 — 클레이 띠 H2, 그릇형 카드, 군더더기 없음 ── */
.column[data-clinic="digestive"] { --col-r: 1.25rem; --col-r-lg: 1.75rem; }
.column[data-clinic="digestive"] .hero { border: 0; border-radius: var(--col-r-lg) var(--col-r-lg) 3rem 3rem; }
.column[data-clinic="digestive"] .meta .category { background: var(--accent); color: #fff; }
.column[data-clinic="digestive"] h1 { font-family: var(--font-body); font-weight: 800; letter-spacing: -0.03em; }
.column[data-clinic="digestive"] .byline { border-bottom: 0; }
.column[data-clinic="digestive"] .toc { border: 0; background: var(--accent-soft); }
.column[data-clinic="digestive"] > h2 { font-family: var(--font-body); font-weight: 700; font-size: 1.3rem; display: inline-block; padding: .35rem 1rem .35rem .9rem; background: var(--accent-soft); border-radius: 0 9999px 9999px 0; border-left: 4px solid var(--accent); margin-left: -1rem; padding-left: 1.6rem; }
.column[data-clinic="digestive"] .key-answer { border: 0; background: var(--bg-surface); border-radius: var(--col-r-lg) var(--col-r-lg) 3rem 3rem; box-shadow: 0 10px 30px rgba(120,80,20,.08); padding: 1.5rem 1.75rem 1.75rem; }
.column[data-clinic="digestive"] .key-answer .eyebrow { color: var(--accent); }
.column[data-clinic="digestive"] .evidence { border: 0; background: var(--accent-soft); }
.column[data-clinic="digestive"] .callout { border: 0; background: var(--bg-surface); box-shadow: 0 10px 30px rgba(120,80,20,.08); }
.column[data-clinic="digestive"] .checklist, .column[data-clinic="digestive"] .program, .column[data-clinic="digestive"] .summary { border: 0; box-shadow: 0 10px 30px rgba(120,80,20,.06); }
.column[data-clinic="digestive"] .cta { border: 0; background: var(--accent); color: #fff; border-radius: var(--col-r-lg) var(--col-r-lg) 3rem 3rem; }
.column[data-clinic="digestive"] .cta h2, .column[data-clinic="digestive"] .cta p, .column[data-clinic="digestive"] .cta > a { color: #fff; }
.column[data-clinic="digestive"] .cta .eyebrow { color: #e9dccb; }
.column[data-clinic="digestive"] .checklist ul li::before { border-radius: 50%; }
.column[data-clinic="digestive"] .log-table { border: 0; border-radius: var(--col-r); box-shadow: 0 10px 30px rgba(120,80,20,.06); }
.column[data-clinic="digestive"] .log-table th { background: var(--accent); color: #fff; }
.column[data-clinic="digestive"] .log-table td:first-child { color: var(--accent-strong); font-weight: 600; }

/* ── 통증/신경 (v2) : 정밀한 타이포 — 큰 H2 + 얇은 밑줄, 분할 핵심답변, 2열 체크 ── */
.column[data-clinic="pain"] { --col-r: .75rem; --col-r-lg: 1rem; }
.column[data-clinic="pain"] .hero { border-radius: var(--col-r-lg); }
.column[data-clinic="pain"] .meta .category { background: var(--text-main); color: #fff; font-family: var(--font-numeral); letter-spacing: .05em; }
.column[data-clinic="pain"] h1 { font-family: var(--font-body); font-weight: 800; letter-spacing: -0.035em; font-size: clamp(1.9rem, 4vw, 2.75rem); line-height: 1.15; }
.column[data-clinic="pain"] .byline { border-bottom: 2px solid var(--text-main); }
.column[data-clinic="pain"] .toc { border: 0; background: none; padding: 0; border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); padding: 1rem 0; border-radius: 0; }
.column[data-clinic="pain"] .toc ol { list-style: none; padding: 0; flex-direction: row; flex-wrap: wrap; gap: .4rem .9rem; font-size: 14px; }
.column[data-clinic="pain"] .toc li::before { content: "/ "; color: var(--accent); }
.column[data-clinic="pain"] > h2 { font-family: var(--font-body); font-weight: 800; font-size: clamp(1.5rem, 2.6vw, 1.9rem); letter-spacing: -0.03em; line-height: 1.2; padding-bottom: .6rem; background: linear-gradient(var(--accent), var(--accent)) left bottom / 48px 3px no-repeat; margin-top: 3rem; }
.column[data-clinic="pain"] .key-answer { border: 0; border-radius: var(--col-r-lg); padding: 0; background: var(--bg-surface); border: 1px solid var(--border-subtle); display: grid; grid-template-columns: 96px minmax(0,1fr); overflow: hidden; }
.column[data-clinic="pain"] .key-answer .eyebrow { margin: 0; background: var(--accent); color: #fff; display: grid; place-items: center; text-align: center; padding: 1rem .5rem; letter-spacing: .05em; font-family: var(--font-body); font-size: 13px; line-height: 1.4; }
.column[data-clinic="pain"] .key-answer p { padding: 1.25rem 1.5rem; }
.column[data-clinic="pain"] .evidence { border: 0; background: var(--accent-soft); }
.column[data-clinic="pain"] .callout { background: none; border: 1px solid var(--text-main); }
.column[data-clinic="pain"] .callout strong { color: var(--text-main); }
.column[data-clinic="pain"] .checklist ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .5rem; }
.column[data-clinic="pain"] .checklist ul li { padding: .7rem .9rem; background: var(--bg-body); border: 1px solid var(--border-subtle); border-radius: var(--col-r); font-size: 14.5px; }
.column[data-clinic="pain"] .checklist ul li::before { border-radius: 4px; }
.column[data-clinic="pain"] .cta { background: var(--text-main); color: #fff; border: 0; }
.column[data-clinic="pain"] .cta h2, .column[data-clinic="pain"] .cta p, .column[data-clinic="pain"] .cta > a { color: #fff; }
.column[data-clinic="pain"] .cta .eyebrow { color: var(--accent); }
.column[data-clinic="pain"] .cta h2 { font-family: var(--font-body); font-weight: 800; letter-spacing: -0.03em; }
.column[data-clinic="pain"] .stepper li::before { background: var(--text-main); }

/* ── 보약/웰니스 (v2) : 한방클래식 정석 — 한지 바탕, 금선은 전환점에만, 명조 제목 ── */
.column[data-clinic="wellness"] { --col-r: .5rem; --col-r-lg: .75rem; background: var(--bg-surface); padding: 2.5rem 2rem 3rem; border: 1px solid var(--border-subtle); background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"); background-size: 200px 200px; }
.column[data-clinic="wellness"] .hero { border-radius: var(--col-r); border: 1px solid var(--border-subtle); }
.column[data-clinic="wellness"] .meta { justify-content: center; }
.column[data-clinic="wellness"] .meta .category { background: none; color: var(--gold); padding: 0; letter-spacing: .3em; font-family: var(--font-heading); font-weight: 600; }
.column[data-clinic="wellness"] h1 { text-align: center; font-weight: 600; letter-spacing: -0.01em; line-height: 1.4; }
.column[data-clinic="wellness"] .byline { justify-content: center; border-bottom: 0; padding-bottom: 0; }
.column[data-clinic="wellness"] .byline::after { content: none; }
.column[data-clinic="wellness"] .toc { text-align: center; background: none; border: 0; border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold); border-radius: 0; }
.column[data-clinic="wellness"] .toc ol { list-style: none; padding: 0; }
.column[data-clinic="wellness"] .toc > strong { letter-spacing: .3em; color: var(--gold); }
.column[data-clinic="wellness"] > h2 { text-align: center; font-weight: 600; font-size: 1.4rem; letter-spacing: .02em; margin-top: 3.25rem; }
.column[data-clinic="wellness"] > h2::before { content: ""; display: block; width: 40px; height: 1px; background: var(--gold); margin: 0 auto 1rem; }
.column[data-clinic="wellness"] .key-answer { border: 0; border-radius: 0; background: none; padding: .75rem 1.5rem; text-align: center; border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold); }
.column[data-clinic="wellness"] .key-answer .eyebrow { color: var(--gold); letter-spacing: .3em; }
.column[data-clinic="wellness"] .key-answer p { font-family: var(--font-heading); font-weight: 500; font-size: 1.1rem; line-height: 1.85; }
.column[data-clinic="wellness"] .evidence { background: var(--bg-body); }
.column[data-clinic="wellness"] .callout { background: none; border-color: var(--gold); }
.column[data-clinic="wellness"] .checklist, .column[data-clinic="wellness"] .program, .column[data-clinic="wellness"] .summary { background: var(--bg-body); }
.column[data-clinic="wellness"] .cta { background: var(--accent); color: #fff; border: 0; text-align: center; }
.column[data-clinic="wellness"] .cta h2, .column[data-clinic="wellness"] .cta p, .column[data-clinic="wellness"] .cta > a { color: #fff; }
.column[data-clinic="wellness"] .cta .eyebrow { color: var(--gold); }
.column[data-clinic="wellness"] .cta ul { display: inline-flex; flex-direction: column; text-align: left; }
.column[data-clinic="wellness"] .btn--primary { background: var(--gold); color: var(--text-main); }
.column[data-clinic="wellness"] .checklist ul li::before { border-color: var(--gold); border-radius: 2px; }
.column[data-clinic="wellness"] .seasons > div { border-color: var(--border-subtle); background: var(--bg-surface); }
.column[data-clinic="wellness"] .seasons .hanja { color: var(--accent); }
.column[data-clinic="wellness"] .seasons strong { font-family: var(--font-heading); }

@media (max-width: 640px) {
  .column[data-clinic="digestive"] > h2 { margin-left: -1rem; padding-left: 1.4rem; font-size: 1.15rem; }
  .column[data-clinic="pain"] .key-answer { grid-template-columns: 1fr; }
  .column[data-clinic="pain"] .key-answer .eyebrow { padding: .5rem; }
  .column[data-clinic="pain"] .checklist ul { grid-template-columns: 1fr; }
  .column[data-clinic="wellness"] { padding: 1.5rem 1rem 2rem; }
}
