/* ============================================================
   아틀리에성형외과 한국어 타이포그래피 기준 v1 (2026-09-20) — 한국어 62페이지 공통
   근거 문서: /design-guide/typo-standard/
   범위: html[lang="ko"] 의 <main> 안. 다른 10개 언어는 기존 규칙 유지(html:lang(ja/zh) 의 line-break 규칙 그대로).
   원칙: 줄바꿈은 손이 아니라 규칙으로 — 제목은 균형(balance), 본문은 고아 방지(pretty),
        짧은 강조는 묶음째 이동(nowrap), 폰에서는 손으로 넣은 <br> 을 무시한다.
   글꼴·색·굵기는 바꾸지 않는다(명조 500 / Pretendard 400·600). 크기 하한과 줄간·폭만 정한다.
   ============================================================ */
html[lang="ko"]{
  --t-h1:   clamp(1.75rem, 1.35rem + 1.7vw, 2.625rem);   /* 대제목 .ahead__t   28 / 34 / 42 px */
  --t-h2:   clamp(1.5rem, 1.3rem + .8vw, 1.875rem);      /* 중제목 .sec-h h2  24 / 27 / 30 */
  --t-h3:   clamp(1.1875rem, 1.1rem + .3vw, 1.3125rem);  /* 소제목 .method__t 19 / 20 / 21 */
  --t-lead: clamp(1.0625rem, 1rem + .3vw, 1.21875rem);   /* 리드 .def .lead   17 / 18 / 19.5 */
  --t-body: clamp(1rem, .97rem + .12vw, 1.03125rem);     /* 본문 .prose p     16 / 16 / 16.5 */
  --t-aux:  .96875rem;                                   /* 카드·항목 설명    16 / 15.5 / 15.5 (폰은 아래서 1rem) */
  --t-note: .84375rem;                                   /* 주석·안내·캡션    13.5 */
  --t-note2: .875rem;                                    /* 학술 목록·경로     14 (폰 14.5) */
  --t-lh:   1.8;            /* 본문 줄간(사이트 기본값 유지) */
  --t-lh-lead: 1.85;
  --t-gap-para: 1.1em;      /* 문단 간격(= .prose p 기본) */
  --t-measure: 45rem;       /* PC 텍스트 폭 720px(= .prose 기본) */
}
@media (max-width:640px){ html[lang="ko"]{ --t-aux:1rem; --t-note2:.90625rem } }   /* 폰: 보조 설명 16px 하한, 학술 목록 14.5 */

/* ── 공통 조판: 낱말 단위, 문단은 고아 방지, 제목은 균형 ── */
html[lang="ko"] main :is(p,li,dd,figcaption,blockquote){ word-break:keep-all; overflow-wrap:break-word; text-wrap-style:pretty }   /* anywhere 는 flex 안에서 한 글자씩 떨어진다 */
html[lang="ko"] main .tx{ min-width:0 }   /* flex 항목(.who li 등) 안 텍스트 묶음 */
html[lang="ko"] main :is(h1,h2,h3,h4,.ecase__t,.ecase__quote,.method__t,.sh__t,.cta__t,.display){ word-break:keep-all; text-wrap-style:balance }
html[lang="ko"] main :is(b,strong){ text-wrap-style:balance }   /* 블록형 강조(항목 첫 줄)에만 효과, 인라인엔 영향 없음 */

/* ── 인라인 강조: 12자 이하는 줄 중간에서 안 끊긴다. 13자 이상(.u-long)은 낱말 단위로 ── */
html[lang="ko"] main :is(p,li,dd) :is(b,strong).u{ white-space:nowrap }
html[lang="ko"] main :is(li,dd) > :is(b,strong).u:first-child{ white-space:normal }   /* 항목 첫 자리 라벨(격자 칸)은 묶지 않는다 */
html[lang="ko"] main :is(p,li,dd) :is(b,strong).u-long{ white-space:normal }
html[lang="ko"] main .nb{ white-space:nowrap }   /* 따옴표·괄호 뒤 조사, 가운뎃점 짧은 나열은 한 덩어리 */
html[lang="ko"] main :is(li,p,dd) > :is(b,strong)[style*="display:block"],
html[lang="ko"] main .approach>li>b, html[lang="ko"] main .rs b, html[lang="ko"] main .who b{ white-space:normal }

/* ── 크기: 하한과 단계만 정한다(색·굵기·서체는 site.css 그대로) ── */
html[lang="ko"] main .ahead__t{ font-size:var(--t-h1); line-height:1.3; letter-spacing:-.02em }
html[lang="ko"] main .sec-h h2{ font-size:var(--t-h2); line-height:1.3 }
html[lang="ko"] main :is(.method__t,.prose h3,.sig__t){ font-size:var(--t-h3); line-height:1.4 }
html[lang="ko"] main :is(.def,.lead){ font-size:var(--t-lead); line-height:var(--t-lh-lead) }
html[lang="ko"] main :is(.prose p,.prose li,.who li,.caution p,.faq__a,.sh__d){ font-size:var(--t-body); line-height:var(--t-lh) }
html[lang="ko"] main :is(.method__d,.card p,.sig__d,.approach li,.rs li,.decide__opts,.care__d){ font-size:var(--t-aux); line-height:var(--t-lh) }
html[lang="ko"] main :is(.ecase__note,.caution__law,.notice-bar,.station__meta,.ccal__note,.method__fit,figcaption){ font-size:var(--t-note); line-height:1.65 }
html[lang="ko"] main :is(.rs__v,.rs__n,.station__route li,.decide__q small){ font-size:var(--t-note2) }

/* ── 텍스트 폭 ── */
html[lang="ko"] main :is(.prose,.faq__a,.def){ max-width:var(--t-measure) }
html[lang="ko"] main .sh__d{ max-width:40rem }

/* ── 간격: 줄(1.8) < 문단(1.1em). 목록 항목 사이 .5em ── */
html[lang="ko"] main .prose p + p{ margin-top:var(--t-gap-para) }
html[lang="ko"] main .prose li + li{ margin-top:.5em }

/* ── 폰(≤640px): 손으로 넣은 줄바꿈은 무시하고 균형 규칙에 맡긴다(히어로 .pb__copy/.hero__t 는 제외) ── */
@media (max-width:640px){
  html[lang="ko"] main br.mb-br{ display:none }
  /* 본문급 글자(문단·목록·정의)는 16px 아래로 내려가지 않는다 — 주석·학술 목록은 제외 */
  html[lang="ko"] main :where(p,li,dd):where(:not(.ecase__note,.caution__law,.notice-bar,.station__meta,.ccal__note,.toc__cta *,.rs *,.note,.station__route li)){ font-size:max(1rem,1em) }
  /* 수술 정보 3칸 격자(.facts)는 폰에서 124px 칸이 되어 두 글자 고아를 만든다 → 항목당 한 줄(라벨 | 값) */
  html[lang="ko"] main .facts{ grid-template-columns:minmax(0,1fr) }
  html[lang="ko"] main .facts>div{ padding:12px 16px 13px; border-right:0 }
  html[lang="ko"] main .facts>div:nth-last-child(-n+3){ border-bottom:1px solid var(--line) }
  html[lang="ko"] main .facts>div:last-child{ border-bottom:0 }
  html[lang="ko"] main .facts dt{ margin-bottom:3px }
  html[lang="ko"] main .facts dd{ font-size:1.0625rem; line-height:1.5 }
}
