@charset "utf-8";
/* ==========================================================================
   BMTECH — 타이포그래피 역할 잠금 (전 페이지 공통)
   --------------------------------------------------------------------------
   맨 마지막에 로드한다 — 어떤 시트가 뭘 선언했든 여기 역할이 이긴다.

   토큰(bmtech-tokens.css)은 '값'만 통일했다. 이 파일은 "같은 역할 = 같은
   생김새"를 잠근다. 역할은 9개뿐이고, 새 섹션·페이지는 아래 역할 중에서만
   고른다. 새 크기·굵기·자간 조합을 만들지 않는다.

   ┌────┬──────────────────┬─────────────────────────────────────────────┐
   │ A  │ 페이지 대제목      │ clamp(40~64px) · 600 · -0.045em · 1.18      │
   │ B  │ 섹션 제목          │ 46px(display) · 600 · -0.03em · 1.3         │
   │ C  │ 밴드·블록 제목     │ 34px(h2) · 700 · -0.02em · 1.4              │
   │ D  │ 소제목·카드 제목   │ 20px(h4) · 700 · -0.02em · 1.4              │
   │ E  │ eyebrow(상단 라벨) │ 14px · 700 · +0.02em · uppercase · 액센트   │
   │ F  │ 리드(제목 밑 문단) │ 18px · 400 · -0.02em · 1.75 · body색        │
   │ G  │ 본문 장문          │ 18px · 400 · -0.01em · 1.75 · keep-all      │
   │ H  │ 캡션·라벨          │ 14px · body/muted                           │
   │ I  │ 숫자·메타          │ DM Sans · 600 · +0.04em · 액센트            │
   └────┴──────────────────┴─────────────────────────────────────────────┘

   쓰는 법 (새 마크업): 역할 클래스 .wd-t-a ~ .wd-t-i 를 직접 붙이거나,
   이미 역할이 매핑된 레거시 선택자(.s_tit_wrap .caption 등)를 쓴다.
   기존 페이지는 아래 매핑 그룹이 자동으로 덮는다 — 마크업 수정 불필요.

   여기서 함께 정리한 기존 이탈:
     · eyebrow 2종(.page_head .eyebrow 18px 한글볼드 / .wd-q-eyebrow) → E 하나로
     · CEO 인사말 장문(.wd-ceo__para 20px/500/1.5/자간0) → G
     · 서브비주얼 배너(76px/500/-0.075em + 서브 28px/300) → 크기(히어로 스케일)는
       유지, 굵기·자간만 A 계열로 (600/-0.045em). archive 파일(bmtech-subvisual.css)은
       클론 원본이라 건드리지 않고 여기서 덮는다.
   ========================================================================== */

/* --- A. 페이지 대제목 ------------------------------------------------------ */
.wd-t-a,
.m_tit_wrap.page_head .caption,
.s_tit_wrap.page_head .caption {
  font-size: clamp(40px, 4.15vw, 64px);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: -0.045em;
  word-break: keep-all;
}

/* --- B. 섹션 제목 ---------------------------------------------------------- */
.wd-t-b,
.m_tit_wrap:not(.page_head) .caption,
.s_tit_wrap:not(.page_head) .caption,
.tit,
.wd-strength__title,      /* infor: 40/700/-0.05em 이던 것 */
.wd-core-tech__title,     /* RnD: 40/700/-0.05em 이던 것 */
.wd-biz-cards__heading {  /* 메인 사업영역: 모바일 28 ↔ PC 48/500 널뛰던 것 */
  font-size: var(--bmt-fs-display);
  font-weight: 600;
  line-height: var(--bmt-lh-display);
  letter-spacing: var(--bmt-ls-display);
  word-break: keep-all;
}

/* --- C. 밴드·블록 제목 ----------------------------------------------------- */
/* .caption.wd-t-c: B 매핑(.s_tit_wrap … .caption, 특이도 0,3,0)을 이기려면
   결합 셀렉터가 필요하다 — 캡션에 .wd-t-c 만 붙이면 B 로 남는 함정 방지 */
.wd-t-c,
.s_tit_wrap:not(.page_head) .caption.wd-t-c,
.m_tit_wrap:not(.page_head) .caption.wd-t-c,
.factory_head .caption,
.wd-qline .poster_row--single .poster--a .poster_tit {   /* GE 협업 가로 카드 제목 (2026-09-30) */
  font-size: var(--bmt-fs-h2);
  font-weight: var(--bmt-fw-bold);
  line-height: var(--bmt-lh-heading);
  letter-spacing: var(--bmt-ls-heading);
  word-break: keep-all;
}

/* --- D. 소제목·카드 제목 --------------------------------------------------- */
.wd-t-d,
.feature_row_txt h4,
.wd-qline .poster_tit,
.prod_brochure .s_tit_wrap .txt.wd-t-d {   /* EASY 구성 문구 — 2026-09-30 고객 요청 "글자 조금 더 크게" (F→D) */
  font-size: var(--bmt-fs-h4);
  font-weight: var(--bmt-fw-bold);
  line-height: var(--bmt-lh-heading);
  letter-spacing: var(--bmt-ls-heading);
  word-break: keep-all;
}

/* --- E. eyebrow (섹션·페이지 상단 라벨) ------------------------------------ */
.wd-t-e,
.wd-q-eyebrow,
.page_head .eyebrow {
  margin: 0 0 16px;
  color: var(--bmt-accent);
  font-family: var(--bmt-font-num);
  font-size: var(--bmt-fs-sm);
  font-weight: var(--bmt-fw-bold);
  line-height: var(--bmt-lh-tight);
  letter-spacing: .02em;
  text-transform: uppercase;   /* 한글은 영향 없음 */
}
/* 대제목(A) 위에서는 숨 쉴 간격이 더 필요하다 */
.page_head .eyebrow { margin-bottom: 24px; }

/* --- F. 리드 (제목 아래 설명 문단) ----------------------------------------- */
.wd-t-f,
.m_tit_wrap .txt,
.s_tit_wrap .txt,
.factory_head .txt,
.ge_collab_head .txt {
  font-size: var(--bmt-fs-lg);
  font-weight: var(--bmt-fw-reg);
  line-height: 1.75;
  letter-spacing: var(--bmt-ls-heading);
  color: var(--bmt-body);
  word-break: keep-all;
}

/* --- G. 본문 장문 (인사말 등 줄글) ----------------------------------------- */
.wd-t-g,
.wd-ceo__para,
.wd-history__txt {        /* 연혁 항목: 1.66/-0.03em 이던 것 */
  font-size: var(--bmt-fs-lg);
  font-weight: var(--bmt-fw-reg);
  line-height: 1.75;
  letter-spacing: var(--bmt-ls-body);
  word-break: keep-all;
}

/* --- H. 캡션·라벨 ---------------------------------------------------------- */
.wd-t-h {
  font-size: var(--bmt-fs-sm);
  line-height: var(--bmt-lh-tight);
  letter-spacing: var(--bmt-ls-body);
  color: var(--bmt-body);
}

/* --- I. 숫자·메타 (번호, 날짜, 지표) --------------------------------------- */
.wd-t-i {
  font-family: var(--bmt-font-num);
  font-weight: var(--bmt-fw-semi);
  letter-spacing: .04em;
  color: var(--bmt-accent);
}

/* ==========================================================================
   메인 인트로 카드 제목 — 유동(clamp) 스케일이라 역할 B 를 그대로 못 태운다.
   상한을 B(46px)에 맞추고 weight 300(thin) → 600 으로. 이질감의 주범이었다.
   ========================================================================== */
.wd-intro-cards__title {
  font-size: clamp(27px, 2.71vw, 46px);
  font-weight: 600;
  line-height: var(--bmt-lh-display);
  letter-spacing: var(--bmt-ls-display);
}

/* ==========================================================================
   서브비주얼 배너 — 히어로 스케일(76px)은 유지, 결만 A 계열로
   (원본 76px/500/-0.075em · 서브 28px/300 → 자간 과조임·thin 이 사이트
   나머지와 이질감의 원인이었다)
   ========================================================================== */
.wd-subvisual__title {
  font-weight: 600;
  letter-spacing: -0.045em;
}
.wd-subvisual__subtitle {
  font-weight: var(--bmt-fw-reg);
  letter-spacing: var(--bmt-ls-body);
}

/* 모바일 축소는 토큰 브레이크포인트가 처리한다 (fs-* 가 1080px 에서 줄어든다).
   A 만 clamp 라 자체 축소. */
