@charset "UTF-8";
/*
    조판 하한 - 글자는 12px 아래로 내리지 않는다

    왜 따로 두나
      이 사이트의 글자 크기는 대부분 rem 이고, rem 이 화면 폭에 비례한다.
      그래서 같은 1.2rem 이 1920px 에서는 12px 이 넘고 768px 에서는 9.6px 이 된다.
      규칙마다 찾아 고치면 폭에 따라 다시 12px 아래로 내려가므로,
      마지막에 px 로 하한만 못 박는다.

    무엇을 담나
      2026-09-13 에 폭 768·1024·1440·1920 에서 재어 12px 아래로 내려간 것만 적었다.
      그때 걸린 것은 헤더의 라틴 라벨 여덟 가지다.
      푸터는 2026-09-12 에 이미 12px 로 올려 두어 걸리는 것이 없었다.

      본문·카드·큰 제목은 여기에 넣지 않았다. 그쪽은 크기를 바꾸면 화면 인상이
      달라지는 재디자인이라 대표님 판단이 필요하다(docs/GOALS_2026-09.md 8-13).

    바꾸기 전에 재 보았다
      12px 로 올려도 폭 390~1920 어디에서도 가로로 넘치지 않고
      내비게이션 줄도 넘치지 않는다. 헤더 높이만 4~5px 늘어난다.

    musign.min.css 다음에 읽혀야 한다 - layout.html 이 그렇게 걸어 둔다.
*/

/* 상단 메뉴 - MENU · PROJECTS · ABOUT US · HIRING · ARCHIVE */
.header ul.f_b > li > p.en,
.header ul.f_b.menu > li > a.en,
/* 오른쪽 바로가기 - BX LAB · m-CMS™ */
.header .bx_lab_link_box > a > p.en,
/* 회사소개서 내려받기 */
.header ul.f_b > li.brochure_li > a.brochure,
/* 언어 전환 - KO / EN */
.header li.lang_li > span.lang_switch > span.lang_item,
.header li.lang_li > span.lang_switch > a.lang_item,
/* CONTACT US 버튼 안에서 한 글자씩 쪼개 넣는 span */
.header li > a.en.btn_contact > span.ch {
    font-size: 12px;
}

/* ---------- 어디에나 걸리는 하한 ----------
   2026-09-14. 이 파일은 페이지별 CSS 뒤에서 읽힌다(layout.html).
   그래서 선택자를 원래 규칙과 똑같이 적어도 이긴다 - 구체성을 억지로 올리지 않는다.

   값은 모두 `max(12px, 원래값)` 이다. 원래 크던 글자는 그대로 두고 아래만 막는다.
   이 사이트는 rem 이 화면 폭에 비례해서, 같은 1.2rem 이 1920px 에서는 12px 을 넘고
   768px 에서는 9.6px 이 된다. 그래서 하한을 px 로 못 박는다. */

* {
    font-size: max(12px, clamp(1.2rem, .677vw, 1.3rem));
}
/* 물려받는 글자에도 하한을 건다.
   reset.css 가 `p, span, strong, b, em, time { font-size: 100% }` 로 두어
   이 요소들은 위 * 규칙이 아니라 부모 크기를 따른다. 부모가 작으면 같이 작아진다.
   `max(12px, 100%)` 는 「부모를 따르되 12px 아래로는 내려가지 않는다」는 뜻이다. */
p, span, strong, b, em, time,
li, dt, dd, td, th, label, a, button, h1, h2, h3, h4, h5, h6 {
    font-size: max(12px, 100%);
}
.fs14 {
    font-size: max(12px, clamp(1.2rem, .729vw, 1.4rem));
}
.fs16 {
    font-size: max(12px, clamp(1.4rem, .83vw, 1.6rem));
}

/* ---------- 첫 화면 ---------- */
.supply_open_banner .supply_open_banner_inner_left .new_tag,
.supply_open_banner .supply_open_banner_inner_center .description.sm {
    font-size: max(12px, 1rem);
}
.supply_open_banner .supply_open_banner_inner_right .launch_btn span {
    font-size: max(12px, 1.2rem);
}
.main_page .section01 .portfolio_info * {
    font-size: max(12px, 1.4rem);
}
.main_page .section05 .top_box .content_box .subject,
.main_page .section05 .bottom_box .content_box .subject {
    font-size: max(12px, clamp(1.2rem, .833vw, 1.6rem));
}
@media (max-width: 767px) {
    .supply_open_banner .supply_open_banner_inner_center .description {
        font-size: max(12px, 1.2rem);
    }
    .main_page .section01 .portfolio_info * {
        font-size: max(12px, 1.2rem);
    }
    .main_page .section04 .family_box .family .banner_box p {
        font-size: max(12px, 1rem);
    }
}

/* ---------- 회사 소개 ---------- */
#about_wrap .section03 .btn_box .more_btn {
    font-size: max(12px, 1.3rem);
}
/* 선택 상자의 자간. 큰 제목이 아니라 목록 글자라 규정값으로 내린다 */
#about_wrap .section03 .tit_box .select_box .selected_option,
#about_wrap .section03 .tit_box .select_box .hide_select_box li {
    letter-spacing: -0.5px;
}
@media (max-width: 767px) {
    #about_wrap .section02 .box_wr .r_box .cont.n1 .fs14,
    #about_wrap .section02 .box_wr .r_box .cont.n2 .fs14 {
        font-size: max(12px, 1.1rem);
    }
    #about_wrap .section03 .cont_wr .cont .txt_box span.n1,
    #about_wrap .section03 .cont_wr .cont .txt_box span.n3 {
        font-size: max(12px, 1.2rem);
    }
    #about_wrap .section04 .line_wr .line_cont .inner_box .btn_box .more_btn {
        font-size: max(12px, 1.3rem);
    }
}

/* ---------- 문의 ----------
   `.left_box li` 의 -3.18px 은 66px 큰 제목에 일부러 넣은 값이라 두었다(대표님 판단). */
.contact_page .field_box .field_tit span,
.contact_page .agreebox input[type="checkbox"] + span,
.contact_page .agreebox .btn_terms,
.contact_page .calendar_slide td,
.contact_page .calendar_ico li {
    font-size: max(12px, 1.2rem);
}
.contact_page .input_list input + label,
.contact_page .calendar_slide thead tr:not(.c_day) td,
.contact_page .calendar_state .btn_date_confirm,
.contact_page .calendar_state .confirm_bt {
    font-size: max(12px, 1.4rem);
}
.contact_page .btn_submit {
    font-size: max(12px, clamp(1.4rem, 4.4vw, 1.8rem));
}
.contact_page .calendar_state .date_view {
    font-size: max(12px, 1.4rem);
    letter-spacing: -0.5px;
}

/* ---------- 사례 목록 ----------
   앞서 구체성을 올려 두었던 것들. 이제 파일이 뒤에서 읽히므로 원래 선택자 그대로 쓴다. */
.project_page .content_wrap .content .img_box .hover_box .more_cursor .text {
    font-size: max(12px, 1.4rem);
}
#projectCategory .cate_corporate .cate_tooltip,
#projectCategory .cate_tab .cate_tooltip {
    font-size: max(12px, 1.1rem);
}
#archive_wrap .category ul li a {
    font-size: max(12px, 1.2rem);
}
@media (max-width: 767px) {
    #archive_wrap .archive_page .content_wrap.layout_news .content .txt_box .type,
    #archive_wrap .archive_page .content_wrap .content .txt_box .type {
        font-size: max(12px, 1.05rem);
    }
}

/* ---------- /care 본문 자간 ----------
   2026-09-14 실측. 자간이 -0.5px 을 넘는 곳을 글자 크기로 갈랐다.
   20px 이상은 일부러 좁힌 큰 제목이라 그대로 두고(대표님 판단),
   20px 미만 본문만 규정값으로 내린다.

   그대로 둔 것 - .care_section01 h2(60px) · .care-sectio02-txt h1·h2(22~45px) ·
   .sm_category p(35~54px) · .event-txt-section p(48~72px) · .aco-tit(30px) ·
   .slide-tit(23~26px) · .section05_inner_tit(19~25px) */
#care2_wrap .care_section01 .care_top_txt .fs16,
#care2_wrap .care_section04 .swiper .careSwiper .swiper-slide .slide-cont,
#care2_wrap .care_section05 .event05-section .inner_box .section05_inner_txt .section05_inner_tit_box .section05_inner_tit,
#care2_wrap .care_section05 .event05-section .inner_box .section05_inner_txt .section05_inner_cont_box .section05_inner_cont,
#care2_wrap .care_section06.mo .aco-cont .aco-item .aco-lt .aco-content li,
#care2_wrap .care_section06.pc .aco-box .aco .aco-cont-bottom .aco-cont-item,
#care2_wrap .sm_category .sm_category_cont,
#care2_wrap .care_section03.pc .left .event-txt-section_cont .event-txt-section_cont_hover p {
    letter-spacing: -0.5px;
}
@media (max-width: 767px) {
    #care2_wrap .care_section01 .care_top_txt .fs16 {
        letter-spacing: -0.5px;
    }
}

/* ---------- 마지막 남은 세 곳 ----------
   2026-09-14 에 폭별로 재서 화면 경로까지 확인한 것들이다.
   앞의 하한이 닿지 않은 이유는 각각 더 구체적인 규칙이 크기를 다시 정하기 때문이다. */

/* /about - 공지 카드의 「+MORE」 (9.6~10.4px) */
.card_section .card_notice .card a .more {
    font-size: max(12px, 1.2rem);
}
/* /about - 우리를 소개하는 두 문단 (11.2px). PC·모바일 두 벌이 따로 있다 */
#about_wrap .section02 .box_wr .r_box .cont .fs14,
#about_wrap .section02 .box_wr.mo .r_box .cont .fs14,
#about_wrap .section02 .box_wr .r_box .cont p.fs14.rel {
    font-size: max(12px, 1.4rem);
}
/* /care - 구역 이름표와 아코디언 본문 (11.6px).
   `.uc` 는 대문자 표기용 클래스라 크기와 상관없다 */
/* care2.min.css 의 원래 선택자를 그대로 옮겨 적는다.
   `#care2_wrap .sm_category-left` 만으로는 `.care_section03.pc .left ...` 쪽에 밀린다. */
#care2_wrap .sm_category-left,
#care2_wrap .care_section03.pc .left .sm_category-left-box .sm_category-left,
#care2_wrap .sm_category h2 {
    font-size: max(12px, 1.45rem);
}
#care2_wrap .care_section06.pc .aco-box .aco .aco-cont-bottom .aco-cont-item {
    font-size: max(12px, clamp(1.45rem, 1.015625vw, 19.5px));
}

/* /hince - 색상 견본의 설명 글. 20px 에서 -0.04em = -0.8px 이 된다 */
.swatch span,
.swatch strong,
.swatch p {
    letter-spacing: -0.5px;
}

/* ---------- 첫 화면 · 모바일 슬라이드 라벨 ----------
   2026-09-14 실측. `.mo_main_slide_wrap` 쪽이 1.1rem 이라 11px 이 된다.
   PC 쪽(1.8rem)은 원래 12px 을 넘는다. */
.main_page .section01 .mo_main_slide_wrap .portfolio_slide_item .portfolio_top_info .top_text {
    font-size: max(12px, 1.1rem);
}
