/* 디자인 시스템 글자 스타일 — 피그마 텍스트 스타일과 1:1 (2026-11-02 자동 생성)
 * 사용: <h2 class="ds-text-heading-42-b">  ·  18px 이상은 clamp(모바일 최소, vw, PC=피그마 크기) — 10/26 결정 3 (모바일 = 운영 --m26-fs-* clamp 최소값) */
.ds-text-display-64-b      { font-family: var(--ds-font-family); font-size: clamp(34px, 5.33vw, 64px); font-weight: 600; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-display-48-l      { font-family: var(--ds-font-family); font-size: clamp(28px, 4vw, 48px); font-weight: 300; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-display-48-m      { font-family: var(--ds-font-family); font-size: clamp(28px, 4vw, 48px); font-weight: 500; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-display-48-b      { font-family: var(--ds-font-family); font-size: clamp(28px, 4vw, 48px); font-weight: 600; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-display-34-b      { font-family: var(--ds-font-family); font-size: 34px; font-weight: 600; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-title-52-r        { font-family: var(--ds-font-family); font-size: clamp(28px, 4.33vw, 52px); font-weight: 400; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-title-52-b        { font-family: var(--ds-font-family); font-size: clamp(28px, 4.33vw, 52px); font-weight: 600; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-heading-42-r      { font-family: var(--ds-font-family); font-size: clamp(24px, 3.5vw, 42px); font-weight: 400; line-height: 1.3; letter-spacing: -0.04em; }
.ds-text-heading-42-b      { font-family: var(--ds-font-family); font-size: clamp(24px, 3.5vw, 42px); font-weight: 600; line-height: 1.3; letter-spacing: -0.04em; }
.ds-text-heading-32-r      { font-family: var(--ds-font-family); font-size: clamp(24px, 2.67vw, 32px); font-weight: 400; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-heading-32-b      { font-family: var(--ds-font-family); font-size: clamp(24px, 2.67vw, 32px); font-weight: 600; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-heading-28-l      { font-family: var(--ds-font-family); font-size: clamp(20px, 2.33vw, 28px); font-weight: 300; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-heading-28-r      { font-family: var(--ds-font-family); font-size: clamp(20px, 2.33vw, 28px); font-weight: 400; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-heading-28-m      { font-family: var(--ds-font-family); font-size: clamp(20px, 2.33vw, 28px); font-weight: 500; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-heading-28-b      { font-family: var(--ds-font-family); font-size: clamp(20px, 2.33vw, 28px); font-weight: 600; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-heading-24-r      { font-family: var(--ds-font-family); font-size: clamp(18px, 2vw, 24px); font-weight: 400; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-heading-24-b      { font-family: var(--ds-font-family); font-size: clamp(18px, 2vw, 24px); font-weight: 600; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-heading-20-l      { font-family: var(--ds-font-family); font-size: clamp(18px, 1.67vw, 20px); font-weight: 300; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-heading-20-b      { font-family: var(--ds-font-family); font-size: clamp(18px, 1.67vw, 20px); font-weight: 600; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-label-24-m        { font-family: var(--ds-font-family); font-size: clamp(18px, 2vw, 24px); font-weight: 500; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-label-20-m        { font-family: var(--ds-font-family); font-size: clamp(18px, 1.67vw, 20px); font-weight: 500; line-height: 1.4; letter-spacing: -0.04em; }
.ds-text-button-20-b       { font-family: var(--ds-font-family); font-size: clamp(18px, 1.67vw, 20px); font-weight: 600; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-button-16-b       { font-family: var(--ds-font-family); font-size: 16px; font-weight: 600; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-24-m         { font-family: var(--ds-font-family); font-size: clamp(18px, 2vw, 24px); font-weight: 500; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-24-b         { font-family: var(--ds-font-family); font-size: clamp(18px, 2vw, 24px); font-weight: 600; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-22-l         { font-family: var(--ds-font-family); font-size: clamp(18px, 1.83vw, 22px); font-weight: 300; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-18-l         { font-family: var(--ds-font-family); font-size: clamp(15px, 1.5vw, 18px); font-weight: 300; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-18-r         { font-family: var(--ds-font-family); font-size: clamp(15px, 1.5vw, 18px); font-weight: 400; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-18-m         { font-family: var(--ds-font-family); font-size: clamp(15px, 1.5vw, 18px); font-weight: 500; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-18-b         { font-family: var(--ds-font-family); font-size: clamp(15px, 1.5vw, 18px); font-weight: 600; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-16-r         { font-family: var(--ds-font-family); font-size: 16px; font-weight: 400; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-16-m         { font-family: var(--ds-font-family); font-size: 16px; font-weight: 500; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-16-b         { font-family: var(--ds-font-family); font-size: 16px; font-weight: 600; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-15-r         { font-family: var(--ds-font-family); font-size: 15px; font-weight: 400; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-15-m         { font-family: var(--ds-font-family); font-size: 15px; font-weight: 500; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-15-b         { font-family: var(--ds-font-family); font-size: 15px; font-weight: 600; line-height: 1.5; letter-spacing: -0.04em; }
.ds-text-body-14-r         { font-family: var(--ds-font-family); font-size: 14px; font-weight: 400; line-height: 1.5; letter-spacing: -0.02em; }
.ds-text-body-14-m         { font-family: var(--ds-font-family); font-size: 14px; font-weight: 500; line-height: 1.5; letter-spacing: -0.02em; }
.ds-text-body-14-b         { font-family: var(--ds-font-family); font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: -0.02em; }
.ds-text-body-12-r         { font-family: var(--ds-font-family); font-size: 12px; font-weight: 400; line-height: 1.5; letter-spacing: -0.02em; }
.ds-text-body-12-m         { font-family: var(--ds-font-family); font-size: 12px; font-weight: 500; line-height: 1.5; letter-spacing: -0.02em; }
.ds-text-body-12-b         { font-family: var(--ds-font-family); font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: -0.02em; }
.ds-text-price-56-b        { font-family: var(--ds-font-family); font-size: clamp(32px, 4.67vw, 56px); font-weight: 600; line-height: 1.2; letter-spacing: -0.04em; }
.ds-text-price-46-b        { font-family: var(--ds-font-family); font-size: clamp(28px, 3.83vw, 46px); font-weight: 600; line-height: 1.2; letter-spacing: -0.04em; }
.ds-text-price-32-b        { font-family: var(--ds-font-family); font-size: clamp(24px, 2.67vw, 32px); font-weight: 600; line-height: 1.2; letter-spacing: -0.04em; }
.ds-text-price-28-b        { font-family: var(--ds-font-family); font-size: clamp(20px, 2.33vw, 28px); font-weight: 600; line-height: 1.2; letter-spacing: -0.04em; }
