@charset "utf-8";
/* ==========================================================================
   BMTECH — 토큰 적용 레이어 (레거시 remap)
   --------------------------------------------------------------------------
   맨 마지막에 로드된다. 레거시 style.css/sub.css/common.css 의 하드코딩 값을
   bmtech-tokens.css 의 토큰으로 덮는 것이 이 파일의 전부다.

   원칙
     1. 구조는 건드리지 않는다. width/display/flex/grid 는 원본 유지.
        바꾸는 건 색·타이포·여백·라운드·보더·트랜지션뿐이다.
     2. !important 는 레거시가 같은 구체성으로 먼저 선언한 곳에만 쓴다.
        (style.css 의 body 선언처럼 뒤집을 방법이 없는 경우)
     3. 새 페이지를 만들 때는 이 파일을 볼 필요가 없다 —
        var(--bmt-*) 만 쓰면 자동으로 톤이 맞는다.
   ========================================================================== */

/* ==========================================================================
   1. 전역 타이포
   ========================================================================== */

/* style.css:7 의 body{font-family:'Noto Sans KR'; letter-spacing:-0.5px}
   를 덮는다. overflow 는 건드리지 않는다 — fullpage.js 가 쓰고 있다. */
body {
  font-family: var(--bmt-font);
  letter-spacing: var(--bmt-ls-body);
  color: var(--bmt-body);
  font-size: var(--bmt-fs-base);
  line-height: var(--bmt-lh-body);
  -webkit-font-smoothing: antialiased;
}

/* 레거시가 요소마다 font-family 를 안 쓰고 상속에 기대므로
   폼 요소만 따로 물려준다 */
input, select, textarea, button {
  font-family: inherit;
  letter-spacing: inherit;
}

/* 링크 — css/default.css:11 이 그누보드 기본색 #383838 을 a:link/a:visited 에
   박아둬서, reset.css 의 a{color:inherit} 가 무력화돼 있다.
   상속으로 되돌려 문맥 색을 따르게 하고, 본문 링크만 액센트 hover 를 준다. */
a:link, a:visited { color: inherit; }
.s_wrap p > a:not([class]),
.s_wrap td a:not([class]),
.s_wrap li > a:not([class]) {
  color: var(--bmt-accent);
  transition: color var(--bmt-transition);
}
.s_wrap p > a:not([class]):hover,
.s_wrap td a:not([class]):hover,
.s_wrap li > a:not([class]):hover { color: var(--bmt-accent-hover); }

/* 액센트 유틸 — sub.css 전역에 .blue 가 흩어져 있다 */
.blue,
.s_tit_wrap .blue,
.tit .blue,
.ad_num_wrap .blue {
  color: var(--bmt-accent);
}

/* ==========================================================================
   2. 레거시 스켈레톤 — .s_area / .route_wrap / .sv / .s_wrap
   ========================================================================== */

.s_area {
  /* 옛 sticky GNB 오프셋(120px)이었다. 지금 헤더는 fixed 투명(한화 클론)이라
     서브비주얼이 최상단까지 차고 헤더가 그 위에 뜬다. 띄우면 흰 띠가 생긴다 */
  padding-top: 0;
}

/* default.css 의 #hd{min-width:970px} — 모바일에서 레이아웃 뷰포트를 970px 로
   강제해 우측 여백·축소 렌더의 원인이었다 (2026-08-26). 지금 #hd 는
   sound_only 제목 + 스킵링크뿐이라 최소폭이 필요 없다 */
#hd { min-width: 0; }

/* 서브비주얼이 없는 페이지(로그인·회원가입 등)는 픽스드 헤더 높이만큼 내려서
   본문이 헤더 뒤에 깔리지 않게 한다. --wd-gnb-h 는 bmtech-mega-menu.css :root */
#container:not(:has(.wd-subvisual)):not(:has(.wd-hero)):not(:has(#mv)) {
  padding-top: calc(var(--wd-gnb-h, 96px) + 40px);
}

/* --- 브레드크럼 --- */
.route_wrap {
  background-color: var(--bmt-surface-alt);
  border-top: var(--bmt-border);
  border-bottom: var(--bmt-border);
}
.route_wrap .wrap { width: var(--bmt-container); }
.route_wrap .home a {
  border-left: var(--bmt-border);
  border-right: var(--bmt-border);
  transition: background-color var(--bmt-transition);
}
.route_wrap .home a:hover { background-color: var(--bmt-surface); }

.route_con .route {
  color: var(--bmt-body);
  font-size: var(--bmt-fs-sm);
  font-weight: var(--bmt-fw-med);
  letter-spacing: var(--bmt-ls-body);
  border-right: var(--bmt-border);
  transition: background-color var(--bmt-transition), color var(--bmt-transition);
}
.route_box:hover .route,
.route_box.active .route {
  background-color: var(--bmt-surface);
  color: var(--bmt-ink);
}
.route_con .dep_wrap { border: var(--bmt-border); border-bottom: 0; }
.route_con .dep_con  { border-bottom: var(--bmt-border); }
.route_con .dep {
  color: var(--bmt-body);
  font-size: var(--bmt-fs-sm);
  transition: background-color var(--bmt-transition), color var(--bmt-transition);
}
.route_con .dep_con.active .dep,
.route_con .dep_con:hover .dep {
  background-color: var(--bmt-accent);
  color: var(--bmt-inverse);
}

/* --- 서브 히어로 --- */
.sv .txt_wrap { width: var(--bmt-container); margin-left: calc(var(--bmt-container) / -2); }
.sv .txt_wrap .txt1 {
  font-size: var(--bmt-fs-h2);
  font-weight: var(--bmt-fw-bold);
  line-height: var(--bmt-lh-heading);
  letter-spacing: var(--bmt-ls-display);
}
.sv .txt_wrap .txt2 {
  font-size: var(--bmt-fs-h3);
  font-weight: var(--bmt-fw-med);
  line-height: var(--bmt-lh-heading);
  letter-spacing: var(--bmt-ls-heading);
}
.sv .txt_wrap .txt,
.sv .txt_wrap .txt3 {
  font-size: var(--bmt-fs-lg);
  font-weight: var(--bmt-fw-reg);
  line-height: var(--bmt-lh-tight);
  letter-spacing: var(--bmt-ls-body);
}
.sv .txt_wrap .caption {
  font-size: var(--bmt-fs-hero);
  font-weight: var(--bmt-fw-bold);
  line-height: var(--bmt-lh-display);
  letter-spacing: var(--bmt-ls-display);
}
/* 히어로 위 .blue 는 사진 위라 원색이 안 읽힌다 → 밝은 쪽으로 */
.sv .txt_wrap .blue  { color: var(--bmt-accent-soft); }
.sv .txt_wrap .black { color: var(--bmt-ink); }

/* --- 본문 컨테이너 --- */
.s_wrap { width: var(--bmt-container); }

/* --- 섹션 리듬 --- */
.m_box { margin-bottom: var(--bmt-block-gap); }
.p_box { padding-bottom: var(--bmt-block-gap); }
.g_box { padding-bottom: var(--bmt-block-gap); background-color: var(--bmt-surface-alt); }
.bg_gray { background-color: var(--bmt-surface-alt); }
.s_wrap .m_tit_wrap { margin: var(--bmt-sec-pt) 0 var(--bmt-title-gap); }

.s_tit_wrap { padding: var(--bmt-sec-pt) 0 var(--bmt-title-gap); }

/* 섹션 제목 3종. content/*.php 에서 .m_tit_wrap(40회) > .s_tit_wrap(27회) > .tit 순으로 쓰인다.
   .m_tit_wrap 은 style.css:95-98, 나머지는 sub.css 에 있어 파일이 갈렸을 뿐 역할은 같다. */
.s_tit_wrap .caption,
.m_tit_wrap .caption,
.tit {
  color: var(--bmt-ink);
  font-size: var(--bmt-fs-h2);
  font-weight: var(--bmt-fw-bold);
  line-height: var(--bmt-lh-heading);
  letter-spacing: var(--bmt-ls-display);
}
.s_tit_wrap .txt,
.m_tit_wrap .txt {
  color: var(--bmt-body);
  font-size: var(--bmt-fs-lg);
  font-weight: var(--bmt-fw-reg);
  line-height: var(--bmt-lh-body);
}
.m_tit_wrap .blue { color: var(--bmt-accent); }
.m_tit_wrap .caption.black,
.caption.black { color: var(--bmt-ink); }
.s_bar:before { background-color: var(--bmt-line); }

/* --- 서브 탭 --- */
.s_tab .dep1_wrap { border-bottom: 2px solid var(--bmt-accent); }
.s_tab .dep1 {
  border: var(--bmt-border);
  border-bottom: 0;
  border-radius: var(--bmt-radius) var(--bmt-radius) 0 0;
  color: var(--bmt-body);
  font-size: var(--bmt-fs-base);
  font-weight: var(--bmt-fw-med);
  letter-spacing: var(--bmt-ls-body);
  transition: background-color var(--bmt-transition), color var(--bmt-transition),
              border-color var(--bmt-transition);
}
.s_tab .dep1_con.active .dep1,
.s_tab .dep1_con:hover .dep1 {
  background-color: var(--bmt-accent);
  border-color: var(--bmt-accent);
  color: var(--bmt-inverse);
}

/* --- 표 2종 --- */
.s_tb { letter-spacing: var(--bmt-ls-body); }
.s_tb table { border: var(--bmt-border); }
.s_tb th    { background-color: var(--bmt-accent); border-right: var(--bmt-border); }
.s_tb th:nth-child(even) { background-color: var(--bmt-accent-mid); }
.s_tb th p  { color: var(--bmt-inverse); font-size: var(--bmt-fs-h4); font-weight: var(--bmt-fw-semi); }
.s_tb td    { border-right: var(--bmt-border); }
.s_tb td p  { color: var(--bmt-body); font-size: var(--bmt-fs-base); font-weight: var(--bmt-fw-reg);
              line-height: var(--bmt-lh-tight); }

.tb2 { border-top: 2px solid var(--bmt-ink); }
.tb2 tr { border-bottom: var(--bmt-border); }
.tb2 thead th { background-color: var(--bmt-accent); border-left: 1px solid rgba(255,255,255,.2); }
.tb2 thead th p { color: var(--bmt-inverse); font-size: var(--bmt-fs-h4); font-weight: var(--bmt-fw-semi); }
.tb2 tbody th   { background-color: var(--bmt-accent-tint); }
.tb2 tbody th p { color: var(--bmt-ink); font-size: var(--bmt-fs-base); font-weight: var(--bmt-fw-med);
                  line-height: var(--bmt-lh-tight); }
.tb2 tbody td   { border: var(--bmt-border); }
.tb2 tbody td p { color: var(--bmt-body); font-size: var(--bmt-fs-base); font-weight: var(--bmt-fw-reg);
                  line-height: var(--bmt-lh-tight); }

/* --- 제품 카드 그리드 --- */
.sproduct_wrap { width: var(--bmt-container); }
.sproduct_inner {
  border: var(--bmt-border);
  border-radius: var(--bmt-radius);
  overflow: hidden;
  background-color: var(--bmt-surface);
  transition: box-shadow var(--bmt-transition), border-color var(--bmt-transition);
}
.sproduct_wrap .link:hover .sproduct_inner {
  border-color: var(--bmt-accent);
  box-shadow: var(--bmt-shadow);
}
.sproduct_wrap .thumb img { transition: transform var(--bmt-transition); }
.sproduct_wrap .subject {
  background-color: var(--bmt-ink);
  color: var(--bmt-inverse);
  font-size: var(--bmt-fs-sm);
  font-weight: var(--bmt-fw-med);
  letter-spacing: var(--bmt-ls-body);
  transition: background-color var(--bmt-transition);
}
.sproduct_wrap .link:hover .subject { background-color: var(--bmt-accent); }
/* 화살표 글리프가 'Dotum' 로 박혀 있어 이 자리만 폰트가 튄다 */
.sproduct_wrap .subject .arrow { font-family: var(--bmt-font); letter-spacing: -0.1em; }

/* --- 탭 페이지네이션 --- */
.pagination a {
  border: var(--bmt-border);
  background-color: var(--bmt-surface);
  color: var(--bmt-body);
  font-size: var(--bmt-fs-base);
  font-weight: var(--bmt-fw-med);
  letter-spacing: var(--bmt-ls-body);
  transition: background-color var(--bmt-transition), color var(--bmt-transition),
              border-color var(--bmt-transition);
}
.pagination a.active {
  background-color: var(--bmt-accent);
  border-color: var(--bmt-accent);
  color: var(--bmt-inverse);
}

/* --- 기타 --- */
.ad_num_wrap .caption {
  color: var(--bmt-ink);
  font-size: var(--bmt-fs-h3);
  font-weight: var(--bmt-fw-bold);
  letter-spacing: var(--bmt-ls-display);
  line-height: var(--bmt-lh-heading);
}
.ad_num_wrap .txt { color: var(--bmt-body); font-size: var(--bmt-fs-lg); font-weight: var(--bmt-fw-reg); }

.etc .tit  { color: var(--bmt-ink); font-size: var(--bmt-fs-h4); font-weight: var(--bmt-fw-semi);
             letter-spacing: var(--bmt-ls-heading); }
.etc .tit1 { font-size: var(--bmt-fs-lg); }
.etc .tit2 { font-size: var(--bmt-fs-base); }

/* ==========================================================================
   3. 2026-08 텍스트 전환 블록 remap (sub.css:138~445)
   페이지마다 따로 고른 블루/틸/퍼플 30여 종을 5단 액센트 램프로 수렴시킨다.
   ========================================================================== */

/* --- 조직도 --- */
/* NSV archive 이식으로 전용 시트로 분리 — assets/css/bmtech-org-chart.css */

/* --- 회사개요 4분할 --- */
/* 2번 칸만 밝은 톤으로 대비를 주고 나머지는 블루 램프. 무채색은 섞지 않는다 */
.grid4_cell:nth-child(1) { background-color: var(--bmt-accent); }
.grid4_cell:nth-child(2) { background-color: var(--bmt-accent-tint); color: var(--bmt-ink); }
.grid4_cell:nth-child(3) { background-color: var(--bmt-accent-hover); }
.grid4_cell:nth-child(4) { background-color: var(--bmt-accent-deep); }
.grid4_cell h4 { font-size: var(--bmt-fs-h4); font-weight: var(--bmt-fw-bold);
                 letter-spacing: var(--bmt-ls-heading); }
.grid4_cell p,
.grid4_cell li { font-size: var(--bmt-fs-sm); font-weight: var(--bmt-fw-reg);
                 line-height: var(--bmt-lh-body); }

/* --- 시장 선도 --- */
.market_lead { width: var(--bmt-container); }
.market_panel      { border: var(--bmt-border); border-radius: var(--bmt-radius); overflow: hidden; }
.market_panel_head { background-color: var(--bmt-accent-deep); color: var(--bmt-inverse);
                     font-size: var(--bmt-fs-base); font-weight: var(--bmt-fw-semi); }
.market_panel_body p { color: var(--bmt-body); font-size: var(--bmt-fs-sm); }
.market_pill { border-radius: var(--bmt-radius-pill); background-color: var(--bmt-accent-mid);
               color: var(--bmt-inverse); font-size: var(--bmt-fs-xs); font-weight: var(--bmt-fw-med); }
.market_arrow { color: var(--bmt-line); }
.market_oval {
  border: 1px solid var(--bmt-line);
  border-radius: var(--bmt-radius-pill);
  color: var(--bmt-body);
  font-size: var(--bmt-fs-base);
  font-weight: var(--bmt-fw-med);
  transition: border-color var(--bmt-transition), color var(--bmt-transition);
}
.market_oval--on { border-color: var(--bmt-accent); color: var(--bmt-accent);
                   font-weight: var(--bmt-fw-semi); }

.feature_row_txt h4 { color: var(--bmt-ink); font-size: var(--bmt-fs-h4);
                      font-weight: var(--bmt-fw-bold); letter-spacing: var(--bmt-ls-heading); }
.feature_row_txt p  { color: var(--bmt-body); font-size: var(--bmt-fs-base);
                      line-height: var(--bmt-lh-body); }
.feature_row_txt .blue { color: var(--bmt-accent); font-weight: var(--bmt-fw-semi); }
.feature_row_photo img { border-radius: var(--bmt-radius); }

.factory_head .caption { color: var(--bmt-ink); font-size: var(--bmt-fs-h3);
                         font-weight: var(--bmt-fw-bold); letter-spacing: var(--bmt-ls-display); }
.factory_head .txt     { color: var(--bmt-body); font-size: var(--bmt-fs-base); }
.factory_grid          { width: var(--bmt-container); }
.factory_grid_item img { border-radius: var(--bmt-radius); }
.factory_grid_item p   { color: var(--bmt-body); font-size: var(--bmt-fs-sm); }

/* --- 성장전략 --- */
.strategy_flow_step--a { background-color: var(--bmt-accent-mid); }
.strategy_flow_step--b { background-color: var(--bmt-accent-tint); color: var(--bmt-body);
                         border-radius: var(--bmt-radius-lg); }
.strategy_flow_step--b strong { color: var(--bmt-ink); font-size: var(--bmt-fs-h4);
                                font-weight: var(--bmt-fw-bold); }
.strategy_flow_step--c { background-color: var(--bmt-accent-deep); }
.strategy_flow_step--c strong { font-size: var(--bmt-fs-h4); font-weight: var(--bmt-fw-bold); }
.strategy_flow_step p  { font-size: var(--bmt-fs-sm); }
.strategy_flow_arrow   { color: var(--bmt-line); }

.hub_grid_cell h4 { font-size: var(--bmt-fs-h4); font-weight: var(--bmt-fw-bold);
                    letter-spacing: var(--bmt-ls-heading); }
.hub_grid_cell p  { font-size: var(--bmt-fs-sm); line-height: var(--bmt-lh-body); }
/* 4칸이 한 세트로 읽혀야 한다 — 무채색을 섞으면 한 칸만 튄다.
   전부 블루 램프 안에서, 흰 글씨가 읽히는 명도만 쓴다. */
.hub_grid_cell--1 { background-color: var(--bmt-accent-mid); }
.hub_grid_cell--2 { background-color: var(--bmt-accent-deep); }
.hub_grid_cell--3 { background-color: var(--bmt-accent); }
.hub_grid_cell--4 { background-color: var(--bmt-accent-hover); }

.roadmap_list { border-top: 2px solid var(--bmt-ink); }
.roadmap_row  { border-bottom: var(--bmt-border); }
.roadmap_pill {
  border: 1px solid var(--bmt-accent);
  border-radius: var(--bmt-radius-pill);
  color: var(--bmt-accent);
  font-size: var(--bmt-fs-base);
  font-weight: var(--bmt-fw-semi);
}
.roadmap_pill--start { border-color: var(--bmt-line); color: var(--bmt-muted); }
.roadmap_txt p   { color: var(--bmt-body); font-size: var(--bmt-fs-sm);
                   line-height: var(--bmt-lh-body); }
.roadmap_years   { color: var(--bmt-muted); font-family: var(--bmt-font-num);
                   font-size: var(--bmt-fs-sm); }

.ge_collab_head .caption { color: var(--bmt-ink); font-size: var(--bmt-fs-h3);
                           font-weight: var(--bmt-fw-bold); letter-spacing: var(--bmt-ls-display); }
.ge_collab_body   { width: var(--bmt-container); }
.ge_collab_body h5 { color: var(--bmt-ink); font-size: var(--bmt-fs-h4);
                     font-weight: var(--bmt-fw-bold); text-decoration: none;
                     letter-spacing: var(--bmt-ls-heading); }
.ge_collab_body p  { color: var(--bmt-body); font-size: var(--bmt-fs-sm);
                     line-height: var(--bmt-lh-body); }

/* --- 대학병원 공동연구 --- */
.jr_card_head    { background-color: var(--bmt-accent); color: var(--bmt-inverse);
                   font-size: var(--bmt-fs-lg); font-weight: var(--bmt-fw-bold);
                   letter-spacing: var(--bmt-ls-heading); }
.jr_card_caption { background-color: var(--bmt-ink); color: var(--bmt-inverse);
                   font-size: var(--bmt-fs-sm); }
.jr_uni_row      { width: var(--bmt-container); }
/* 카드 폭 = 로고 폭. 캡션(특히 영문 장문)이 카드를 늘리지 않고
   로고 폭 안에서 줄바꿈된다 (2026-08-26 en 캡션 한 줄 늘어짐 픽스) */
.jr_uni_item     { width: min-content; }
.jr_uni_item img { border: var(--bmt-border); border-radius: var(--bmt-radius); }
.jr_uni_item p   { color: var(--bmt-body); font-size: var(--bmt-fs-sm);
                   line-height: var(--bmt-lh-tight); word-break: normal; }

/* --- R&D --- */
.rnd_stat        { width: var(--bmt-container); }
.rnd_stat_head   { color: var(--bmt-ink); font-size: var(--bmt-fs-h3);
                   font-weight: var(--bmt-fw-bold); letter-spacing: var(--bmt-ls-display); }
.rnd_stat_label  { color: var(--bmt-ink); font-size: var(--bmt-fs-sm);
                   font-weight: var(--bmt-fw-med); }
.rnd_stat_bar    { background-color: var(--bmt-surface-alt); border-radius: var(--bmt-radius); }
.rnd_stat_bar span { background-color: var(--bmt-accent); }
.rnd_stat_pct    { color: var(--bmt-ink); font-family: var(--bmt-font-num);
                   font-size: var(--bmt-fs-sm); font-weight: var(--bmt-fw-bold); }
.rnd_stat_note   { color: var(--bmt-muted); font-size: var(--bmt-fs-xs); }
.rnd_stat_links p   { color: var(--bmt-body); font-size: var(--bmt-fs-sm);
                      line-height: var(--bmt-lh-body); }
.rnd_stat_links p b { color: var(--bmt-accent); }

.rnd_card_grid { width: var(--bmt-container); }
.rnd_card {
  border: var(--bmt-border);
  border-radius: var(--bmt-radius);
  background-color: var(--bmt-surface-alt);
  transition: border-color var(--bmt-transition), box-shadow var(--bmt-transition);
}
.rnd_card:hover { border-color: var(--bmt-accent); box-shadow: var(--bmt-shadow); }
.rnd_card h4 { color: var(--bmt-ink); font-size: var(--bmt-fs-h4);
               font-weight: var(--bmt-fw-bold); letter-spacing: var(--bmt-ls-heading); }
.rnd_card p  { color: var(--bmt-body); font-size: var(--bmt-fs-sm);
               line-height: var(--bmt-lh-body); }
.rnd_card .blue { color: var(--bmt-accent); font-weight: var(--bmt-fw-semi); }

/* --- GE ODM --- */
.godm_grid_item img { border: 0; border-radius: var(--bmt-radius); }
.godm_grid_item h4  { color: var(--bmt-ink); font-size: var(--bmt-fs-lg);
                      font-weight: var(--bmt-fw-bold); letter-spacing: var(--bmt-ls-heading); }
.godm_grid_item p   { color: var(--bmt-body); font-size: var(--bmt-fs-sm);
                      line-height: var(--bmt-lh-body); }

/* --- 제품 페이지 공용 --- */
.feat_icon_cell { color: var(--bmt-inverse); font-size: var(--bmt-fs-sm);
                  font-weight: var(--bmt-fw-med); line-height: var(--bmt-lh-tight); }
.feat_icon_grid .feat_icon_cell:nth-child(-n+4) { background-color: var(--bmt-accent-mid); }
.feat_icon_grid .feat_icon_cell:nth-child(n+5)  { background-color: var(--bmt-accent); }
.feat_icon_grid--alt .feat_icon_cell:nth-child(odd)  { background-color: var(--bmt-accent-mid); }
.feat_icon_grid--alt .feat_icon_cell:nth-child(even) { background-color: var(--bmt-accent); }

.feature_row_txt .subtit { color: var(--bmt-muted); font-size: var(--bmt-fs-xs); }
.feat_num_item .num_head { color: var(--bmt-ink); font-size: var(--bmt-fs-base);
                           font-weight: var(--bmt-fw-bold); }
.feat_num_item .num_head .blue { color: var(--bmt-accent); }
.feat_num_item p { color: var(--bmt-body); font-size: var(--bmt-fs-sm);
                   line-height: var(--bmt-lh-body); }

.prod_feature_row { width: var(--bmt-container); }
.prod_feature_row_txt h4 { color: var(--bmt-ink); font-size: var(--bmt-fs-h3);
                           font-weight: var(--bmt-fw-bold); line-height: var(--bmt-lh-heading);
                           letter-spacing: var(--bmt-ls-display); }
.prod_feature_row_txt h4 .blue { color: var(--bmt-accent); }
.prod_feature_row_txt ul li { color: var(--bmt-body); font-size: var(--bmt-fs-lg);
                              line-height: var(--bmt-lh-body); }
.prod_feature_row_txt ul li small { color: var(--bmt-muted); font-size: var(--bmt-fs-base); }

.feat_head      { color: var(--bmt-ink); font-size: var(--bmt-fs-h4);
                  font-weight: var(--bmt-fw-bold); letter-spacing: var(--bmt-ls-heading); }
.feat_head .blue { color: var(--bmt-accent); }

.feat_circle       { border: 1px solid var(--bmt-accent-soft); }
.feat_circle .num  { color: var(--bmt-accent); font-family: var(--bmt-font);
                     font-size: var(--bmt-fs-sm); font-weight: var(--bmt-fw-semi); }
.feat_circle p     { color: var(--bmt-body); font-size: var(--bmt-fs-xs);
                     line-height: var(--bmt-lh-tight); }

.step_flow      { width: var(--bmt-container); }
.step_flow_num  { color: var(--bmt-muted); font-family: var(--bmt-font);
                  font-size: var(--bmt-fs-xs); }
.step_flow_txt  { color: var(--bmt-ink); font-size: var(--bmt-fs-sm);
                  font-weight: var(--bmt-fw-semi); line-height: var(--bmt-lh-tight); }
.step_flow_arrow { color: var(--bmt-line); }

.adv_list li { color: var(--bmt-ink); font-size: var(--bmt-fs-base);
               font-weight: var(--bmt-fw-med); }

.circle_feature_row { width: var(--bmt-container); }

/* --- BeauLUV --- */
.beauluv_intro   { width: var(--bmt-container); }
.beauluv_intro p { color: var(--bmt-body); font-size: var(--bmt-fs-sm);
                   line-height: var(--bmt-lh-body); }
.tip_item img { border: var(--bmt-border); border-radius: var(--bmt-radius); }
.tip_item p   { color: var(--bmt-ink); font-size: var(--bmt-fs-sm);
                font-weight: var(--bmt-fw-semi); letter-spacing: var(--bmt-ls-body); }
.mode_block_head { color: var(--bmt-ink); font-size: var(--bmt-fs-h3);
                   font-weight: var(--bmt-fw-bold); letter-spacing: var(--bmt-ls-display); }
.mode_block_head .blue { color: var(--bmt-accent); }
.mode_block_desc { color: var(--bmt-body); font-size: var(--bmt-fs-sm); }
.mode_block_badge { border: var(--bmt-border); border-radius: var(--bmt-radius);
                    color: var(--bmt-accent); font-size: var(--bmt-fs-base);
                    font-weight: var(--bmt-fw-bold); }

/* --- COLLABORATION 배너 --- */
.collab_banner { background: var(--bmt-accent-deep); }
.collab_wrap   { width: var(--bmt-container); }
.collab_circle { background: var(--bmt-accent); }
.collab_circle:before { border: 1px dashed rgba(255, 255, 255, .35); }
.collab_circle .tit { font-size: var(--bmt-fs-h1); font-weight: var(--bmt-fw-bold);
                      letter-spacing: var(--bmt-ls-heading); }
.collab_circle .sup,
.collab_circle .rnd { font-size: var(--bmt-fs-base); }
.collab_circle .sub { font-size: var(--bmt-fs-sm); }

/* --- 생산라인 포스터 --- */
.poster_row { width: var(--bmt-container); }
.poster     { border-radius: var(--bmt-radius); }
.poster--a  { background: var(--bmt-accent-tint); }
.poster--b  { background: var(--bmt-accent); }
.poster_tit { font-size: var(--bmt-fs-h4); font-weight: var(--bmt-fw-bold);
              line-height: var(--bmt-lh-heading); letter-spacing: var(--bmt-ls-heading); }
.poster--a .poster_tit { color: var(--bmt-accent); }
.poster--b .poster_tit { color: var(--bmt-inverse); }
.poster img { border-radius: var(--bmt-radius); }
.poster_cap { background-color: var(--bmt-ink); color: var(--bmt-inverse);
              font-size: var(--bmt-fs-xs); line-height: var(--bmt-lh-tight); }
/* 어두운 캡션 위 강조. 원본 #ffd54a(노랑)는 액센트 규율 밖이라 옅은 블루로 */
.poster_cap b { color: var(--bmt-accent-soft); }

/* ==========================================================================
   4. 컨테이너 — 1280 고정폭들을 본문 축(1600 + 74 gutter)에 태운다
   원래 @1320 미디어 안에만 있었는데, 축이 1600 이 되면서 모든 뷰포트에서
   max-width + gutter 로 서야 한다 (2026-08-26 본문폭 통일). 컨테이너 박스는
   패딩 포함 1600 → 콘텐츠 1452 = 서브비주얼 본문과 같은 축.
   ========================================================================== */

/* 풀블리드(.full_img 등 100vw) 밖으로 탈출한 블록 — 자기 컨테이너가 필요하다 */
.route_wrap .wrap,
.s_wrap,
.market_lead,
.factory_grid,
.ge_collab_body,
.jr_uni_row,
.rnd_stat,
.prod_feature_row,
.step_flow,
.circle_feature_row,
.collab_wrap {
  width: 100%;
  max-width: var(--bmt-container);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--bmt-gutter);
  padding-right: var(--bmt-gutter);
  box-sizing: border-box;
}

/* .s_wrap 안에 있는 블록 — 부모가 gutter 를 제공하므로 폭만 푼다
   (레거시 width:1280px 고정 해제. gutter 까지 주면 이중 들여쓰기) */
.sproduct_wrap,
.rnd_card_grid,
.beauluv_intro,
.poster_row {
  width: 100%;
  box-sizing: border-box;
}

.tb2, .s_tb { width: 100%; }

@media (max-width: 1320px) {
  .sv .txt_wrap {
    width: 100%;
    left: 0;
    margin-left: 0;
    padding-left: var(--bmt-gutter);
    padding-right: var(--bmt-gutter);
    box-sizing: border-box;
  }
}
