/* Sample4 본문 전용. 메뉴와 .s4-subhero의 확정 디자인은 변경하지 않는다. */
.s4-site--sub { --s4-paper:#f6f7f7; --s4-line:#dce1e4; }
.s4-site--sub .s4-section { padding-block:76px; }
.s4-site--sub .s4-section h2 { font-size:clamp(28px,2.6vw,40px); font-weight:550; letter-spacing:-.04em; line-height:1.25; }
.s4-site--sub .s4-section h3 { font-weight:550; line-height:1.35; }
.s4-site--sub :where(.s4-section,.s4-product-intro,.s4-cta) .s4-eyebrow { display:none; }
.s4-site--sub .s4-section-head { margin-bottom:36px; gap:50px; align-items:start; }
.s4-site--sub .s4-section-head>p { font-size:17px; line-height:1.85; }
.s4-site--sub .s4-split { grid-template-columns:1.05fr 1fr; gap:clamp(40px,6vw,100px); }
.s4-site--sub .s4-photo { border-radius:0; object-fit:contain; background:#f6f7f7; aspect-ratio:1.18; }
.s4-site--sub .s4-copy>p { max-width:610px; line-height:1.95; }
.s4-site--sub .s4-copy h2 { max-width:650px; }
.s4-site--sub .s4-feature-list { display:block; border-top:1px solid #8b99a2; }
.s4-site--sub .s4-feature-list li { display:grid; grid-template-columns:minmax(200px,.7fr) 1.4fr; gap:45px; padding:26px 0; border:0; border-bottom:1px solid var(--s4-line); }
.s4-site--sub .s4-feature-list li>span { display:none; }
.s4-site--sub .s4-feature-list h3 { margin:0; font-size:22px; }
.s4-site--sub .s4-feature-list p { max-width:780px; font-size:17px; line-height:1.85; }
.s4-site--sub .s4-spec-layout { grid-template-columns:.65fr 1.35fr; gap:75px; }
.s4-site--sub .s4-timeline li { padding:22px 0; grid-template-columns:140px 1fr; }
.s4-site--sub .s4-timeline b { color:var(--s4-ink); font-size:21px; font-weight:500; }
.s4-site--sub .s4-facts dt { color:#53626c; }
.s4-site--sub .s4-facts dd { line-height:1.7; }
.s4-site--sub .s4-button { border-radius:2px; font-weight:500; gap:26px; min-height:50px; }
.s4-site--sub .s4-cta { padding-block:32px; margin-block:12px 48px; gap:24px; }
.s4-site--sub .s4-cta h2 { font-size:23px; font-weight:500; line-height:1.4; }
.s4-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:44px; border-bottom:1px solid #84939f; font-size:16px; font-weight:500; width:fit-content; }
.s4-text-link:hover { border-color:var(--s4-blue); }
/* 제품 목록: 사진과 사양을 한 지면에서 읽는다. */
.s4-catalog { border-top:1px solid #aab4bb; }
.s4-catalog-item { display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(36px,5vw,80px); padding:48px 0; border-bottom:1px solid var(--s4-line); align-items:center; }
.s4-catalog-image { display:block; background:#f5f6f6; }
.s4-catalog-image img { display:block; width:100%; height:400px; object-fit:contain; }
.s4-catalog-category { font-size:14px; color:#52636e; }
.s4-site--sub .s4-catalog-copy h3 { margin:9px 0 6px; font-size:clamp(30px,3vw,44px); letter-spacing:-.035em; }
.s4-catalog-model { color:#52636e; font-size:15px; margin-bottom:22px!important; }
.s4-catalog-copy>p { max-width:570px; }
.s4-catalog-copy .s4-facts { margin-top:24px; }
.s4-catalog-copy .s4-facts>div { grid-template-columns:125px 1fr; gap:16px; padding-block:12px; }
.s4-catalog-copy .s4-text-link { margin-top:24px; }
.s4-site--sub[data-section="products"] #cosmetics, .s4-site--sub[data-section="products"] #consumables { padding-top:20px; }
/* 제품 상세는 조작부, 특징, 기술 사양 순서의 제품 문서. */
.s4-site--sub .s4-product-intro { padding-block:45px 65px; }
.s4-site--sub .s4-product-visual { background:#f6f7f7; }
.s4-site--sub .s4-product-visual>img { height:470px; }
.s4-site--sub .s4-product-name { font-size:clamp(34px,4vw,56px)!important; font-weight:550; line-height:1.25; }
.s4-site--sub .s4-product-summary { font-size:18px; }
.s4-site--sub .s4-gallery { background:#f6f7f7; border-radius:0; padding-block:35px; }
.s4-site--sub .s4-gallery img { height:480px; }
.s4-site--sub .s4-gallery button { border-radius:2px; }
.s4-site--sub[data-section="product"] #overview .s4-section-head { display:grid; grid-template-columns:.7fr 1.4fr; gap:45px; }
.s4-site--sub[data-section="product"] #overview .s4-section-head>p { max-width:780px; }
/* 회사 소개 / 인증 자료 */
.s4-site--sub[data-section="about"] #company { align-items:start; }
.s4-site--sub[data-section="about"] #company .s4-photo { margin-top:6px; }
.s4-site--sub[data-section="about"] #strength .s4-wrap { display:grid; grid-template-columns:.65fr 1.35fr; gap:75px; }
.s4-site--sub[data-section="about"] #strength .s4-feature-list li { display:block; padding:22px 0; }
.s4-site--sub[data-section="about"] #strength .s4-feature-list p { margin-top:10px; }
.s4-site--sub .s4-document { padding:35px; border-radius:0; background:#f2f3f3; }
.s4-site--sub .s4-cert-grid { grid-template-columns:1fr; gap:0; }
.s4-site--sub .s4-cert-grid article { display:grid; grid-template-columns:.8fr 1.2fr; gap:12px 48px; padding:26px 0; }
.s4-site--sub .s4-cert-grid h3 { font-size:21px; margin:0; }
.s4-site--sub .s4-cert-grid .s4-actions { grid-column:2; margin:0; font-size:15px; }
.s4-site--sub[data-section="certifications"]>.s4-container>.s4-section:nth-last-of-type(2) { padding-top:20px; }
/* 기술 수치는 비교 가능한 밝은 표로 정리한다. */
.s4-site--sub .s4-frequency { background:transparent; border:0; border-block:1px solid #aab4bb; gap:0; margin:35px 0 20px; }
.s4-site--sub .s4-frequency>div { background:transparent; color:var(--s4-ink); padding:30px 36px; border-right:1px solid var(--s4-line); }
.s4-site--sub .s4-frequency>div:first-child { padding-left:0; }
.s4-site--sub .s4-frequency>div:last-child { border-right:0; }
.s4-site--sub .s4-frequency b { font-size:48px; }
.s4-site--sub .s4-frequency span { color:var(--s4-blue); font-size:19px; }
.s4-site--sub .s4-frequency p { color:#52636e; margin-top:16px; }
.s4-site--sub .s4-country { gap:26px; padding-block:22px; }
.s4-site--sub .s4-country strong { font-size:26px; font-weight:500; min-width:145px; }
.s4-site--sub .s4-process li { grid-template-columns:36px .8fr 1.4fr; gap:24px; padding:24px 0; }
.s4-site--sub .s4-process li:before { font-size:15px; color:#52636e; padding-top:5px; }
.s4-site--sub .s4-process h3 { font-size:21px; }
/* 교육: 보유 장비를 찾는 간결한 인덱스 */
.s4-training-index { border-top:1px solid #aab4bb; }
.s4-training-index article { display:grid; grid-template-columns:150px 1fr auto; align-items:center; gap:32px; padding:24px 0; border-bottom:1px solid var(--s4-line); }
.s4-training-index img { width:150px; height:125px; object-fit:contain; background:#f6f7f7; }
.s4-training-index h3 { font-size:25px; margin-bottom:6px!important; }
.s4-training-index p { color:#52636e; font-size:15px; }
/* 자료실: 안내서 다운로드를 제품 행 안에 배치 */
.s4-library { border-top:1px solid #86949d; }
.s4-library-head, .s4-library article { display:grid; grid-template-columns:1fr 210px 190px; gap:24px; align-items:center; }
.s4-library-head { padding:14px 0; background:#f7f8f8; font-size:14px; color:#52636e; border-bottom:1px solid var(--s4-line); }
.s4-library-head>span:first-child { padding-left:18px; }
.s4-library article { padding:24px 0; border-bottom:1px solid var(--s4-line); }
.s4-library h3 { font-size:23px; margin-block:5px!important; }
.s4-library p { font-size:15px; color:#52636e; }
.s4-library .s4-text-link { border-bottom:0; white-space:nowrap; }
.s4-site--sub .s4-resource-list { border-top:1px solid #8796a0; }
.s4-site--sub .s4-resource-list>a { padding:23px 0; gap:28px; }
.s4-site--sub .s4-resource-list h3 { font-size:22px; }
.s4-site--sub .s4-resource-list b { font-weight:500; }
.s4-site--sub[data-section="support"] .s4-resource-list>a,
.s4-site--sub[data-section="member"] .s4-resource-list>a,
.s4-site--sub[data-section="product"] .s4-resource-list>a { grid-template-columns:1fr 120px; }
.s4-site--sub[data-section="support"] .s4-resource-list small,
.s4-site--sub[data-section="member"] .s4-resource-list small,
.s4-site--sub[data-section="product"] .s4-resource-list small { display:none; }
.s4-site--sub .s4-faq { border-top:1px solid #8b99a2; }
.s4-site--sub .s4-faq summary { font-size:19px; padding-block:23px; }
.s4-site--sub .s4-empty { background:none; padding:42px 0; border-block:1px solid var(--s4-line); border-radius:0; }
.s4-site--sub .s4-empty h3 { font-size:21px; }
/* 문의: 실무용 연락처와 입력 폼 */
.s4-site--sub .cc-contact-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:85px; padding-block:70px 90px; }
.s4-site--sub .cc-contact-aside { background:none; border:0; padding:0; color:var(--s4-ink); }
.s4-site--sub .cc-contact-aside h2 { font-size:36px; line-height:1.35; margin:16px 0 35px; }
.s4-contact-label { font-size:15px; color:#52636e; }
.s4-site--sub .cc-contact-aside dl { margin:0; }
.s4-site--sub .cc-contact-aside dl>div { padding-block:20px; border-top:1px solid var(--s4-line); }
.s4-site--sub .cc-contact-aside dt { color:#52636e; font-size:14px; letter-spacing:0; margin-bottom:8px; }
.s4-site--sub .cc-contact-aside dd { font-size:16px; line-height:1.8; }
.s4-site--sub .cc-contact-form { padding:0; background:none; border:0; box-shadow:none; }
.s4-required-note { text-align:right; font-size:14px; color:#52636e; margin-bottom:24px!important; }
.s4-site--sub .cc-contact-types label span { border-radius:2px; box-shadow:none; }
.s4-site--sub .cc-contact-form :where(input:not([type=checkbox]):not([type=radio]),textarea,select) { border-radius:2px; background:#fff; border:1px solid #9ba6ad; box-shadow:none; font-size:16px; padding:12px 14px; }
.s4-site--sub .cc-form-actions button { border-radius:2px; box-shadow:none; background:var(--s4-navy); font-size:16px; }
/* 기존 게시판 / 회원 / 정책 템플릿도 같은 본문 기준을 사용한다. */
.s4-site--sub .s4-board { padding-block:55px 80px; }
.s4-site--sub :where(#bo_list,#bo_v,#bo_w,#fregister,#fregisterform,#ctt,#mb_login) { font-family:Pretendard,"Noto Sans KR",sans-serif; font-size:16px; }
.s4-site--sub :where(#bo_list,#bo_v,#bo_w,#fregister,#fregisterform,#ctt,#mb_login) :where(h2,h3) { font-family:inherit; line-height:1.4; }
.s4-site--sub :where(#bo_list,#bo_v,#bo_w,#fregister,#fregisterform,#ctt,#mb_login) :where(.btn_submit,.btn_cancel,.btn_b01,.btn_b02,.btn_b03,.btn_b04,.frm_input) { border-radius:2px; box-shadow:none; }
.s4-site--sub :where(#bo_list,#bo_v,#bo_w) { border-radius:0; box-shadow:none; }
.s4-site--sub #bo_list .tbl_head01 thead th { background:#f5f6f6; color:#52636e; border-color:var(--s4-line); font-size:14px; }
.s4-site--sub #bo_list .tbl_head01 td { padding-block:20px; border-color:var(--s4-line); }
.s4-site--sub #bo_v_title .bo_v_tit { font-size:30px; }
.s4-site--sub #bo_v_con { line-height:1.9; font-size:17px; }
.s4-site--sub #mb_login { border-radius:0; box-shadow:none; border:1px solid var(--s4-line); }
.s4-site--sub #ctt { background:#fff; border:0; }
.s4-site--sub #ctt_con { max-width:1050px; margin-inline:auto; padding:25px 0; font-size:16px; line-height:1.95; }
@media(max-width:1024px) {
 .s4-site--sub .s4-split,.s4-site--sub .s4-spec-layout { gap:36px; }
 .s4-site--sub[data-section="about"] #strength .s4-wrap { gap:36px; grid-template-columns:1fr 1.6fr; }
 .s4-catalog-image img { height:330px; }
 .s4-site--sub .cc-contact-layout { gap:40px; grid-template-columns:.7fr 1.3fr; }
 .s4-library-head,.s4-library article { grid-template-columns:1fr 180px 165px; gap:16px; }
}
@media(max-width:767px) {
 .s4-site--sub .s4-section { padding-block:48px; }
 .s4-site--sub .s4-section h2 { font-size:28px; }
 .s4-site--sub .s4-section-head { display:block; margin-bottom:26px; }
 .s4-site--sub .s4-section-head>p { font-size:16px; margin-top:18px; }
 .s4-site--sub .s4-split,.s4-site--sub .s4-spec-layout,.s4-site--sub[data-section="about"] #strength .s4-wrap { grid-template-columns:1fr; gap:28px; }
 .s4-site--sub .s4-feature-list li { display:block; padding-block:22px; }
 .s4-site--sub .s4-feature-list h3 { font-size:20px; }
 .s4-site--sub .s4-feature-list p { margin-top:10px; font-size:16px; }
 .s4-site--sub .s4-timeline li { grid-template-columns:90px 1fr; gap:15px; }
 .s4-site--sub .s4-timeline b { font-size:18px; }
 .s4-catalog-item { grid-template-columns:1fr; gap:24px; padding-block:28px; }
 .s4-catalog-image img { height:300px; }
 .s4-site--sub .s4-catalog-copy h3 { font-size:32px; }
 .s4-catalog-model { margin-bottom:16px!important; }
 .s4-catalog-copy>p { font-size:16px; }
 .s4-site--sub .s4-product-intro { padding-block:28px 40px; gap:26px; }
 .s4-site--sub .s4-product-visual>img { height:310px; }
 .s4-site--sub .s4-product-name { font-size:34px!important; }
 .s4-site--sub .s4-product-summary { font-size:17px; }
 .s4-site--sub[data-section="product"] #overview .s4-section-head { display:block; }
 .s4-site--sub .s4-gallery { padding:20px 45px; }
 .s4-site--sub .s4-gallery img { height:300px; }
 .s4-site--sub .s4-cta { margin-bottom:28px; padding-block:26px; }
 .s4-site--sub .s4-cta h2 { font-size:21px; }
 .s4-site--sub .s4-cta .s4-button { margin-top:16px; }
 .s4-site--sub .s4-cert-grid article { grid-template-columns:1fr; gap:12px; }
 .s4-site--sub .s4-cert-grid .s4-actions { grid-column:1; }
 .s4-site--sub .s4-document { padding:24px; }
 .s4-site--sub .s4-frequency { grid-template-columns:1fr; }
 .s4-site--sub .s4-frequency>div,.s4-site--sub .s4-frequency>div:first-child { display:grid; grid-template-columns:110px 1fr; align-items:center; gap:20px; padding:22px 0; border:0; border-bottom:1px solid var(--s4-line); }
 .s4-site--sub .s4-frequency>div:last-child { border-bottom:0; }
 .s4-site--sub .s4-frequency b { font-size:36px; }
 .s4-site--sub .s4-frequency span { font-size:15px; }
 .s4-site--sub .s4-frequency p { margin:0; font-size:15px; }
 .s4-site--sub .s4-country { gap:18px; }
 .s4-site--sub .s4-country strong { min-width:105px; font-size:23px; }
 .s4-site--sub .s4-process li { grid-template-columns:26px 1fr; gap:8px 16px; }
 .s4-site--sub .s4-process p { grid-column:2; font-size:16px; }
 .s4-training-index article { grid-template-columns:90px 1fr; gap:14px 20px; }
 .s4-training-index img { width:90px; height:90px; grid-row:span 2; }
 .s4-training-index h3 { font-size:21px; overflow-wrap:anywhere; }
 .s4-training-index .s4-text-link { grid-column:2; font-size:15px; }
 .s4-library-head { display:none; }
 .s4-library article { grid-template-columns:1fr; gap:12px; padding-block:24px; }
 .s4-library .s4-text-link { font-size:15px; }
 .s4-site--sub .s4-resource-list>a { gap:12px; }
 .s4-site--sub .s4-resource-list h3 { font-size:20px; }
 .s4-site--sub[data-section="support"] .s4-resource-list>a,.s4-site--sub[data-section="member"] .s4-resource-list>a,.s4-site--sub[data-section="product"] .s4-resource-list>a { grid-template-columns:1fr 80px; }
 .s4-site--sub .cc-contact-layout { display:block; padding-block:45px 60px; }
 .s4-site--sub .cc-contact-aside h2 { font-size:28px; margin-block:12px 25px; }
 .s4-site--sub .cc-contact-form { margin-top:40px; }
 .s4-site--sub .s4-board { padding-block:35px 55px; }
 .s4-site--sub #bo_v_title .bo_v_tit { font-size:24px; }
}
@media print {
 .s4-site--sub .s4-section { padding-block:22px; }
 .s4-site--sub .s4-feature-list { display:block; }
 .s4-site--sub .s4-feature-list li { padding:10px 0; gap:20px; }
 .s4-site--sub .s4-feature-list p,.s4-site--sub .s4-product-summary { font-size:12px; }
 .s4-site--sub .s4-feature-list h3 { font-size:16px; }
 .s4-site--sub .s4-product-visual>img { height:210px; }
 .s4-site--sub .s4-product-intro { padding-block:20px; }
 .s4-site--sub .s4-product-name { font-size:32px!important; }
 .s4-site--sub .s4-section h2 { font-size:24px; }
}
/* 고정 HTML 이미지 높이와 레거시 회원 스킨의 장식 패널 해제 */
.s4-site--sub .s4-photo { height:auto; max-height:500px; }
.s4-catalog-image,.s4-site--sub .s4-product-visual { background:#fff; }
.s4-site--sub #mb_login.cc-login-page { padding:20px 0; margin:0 auto; background:#fff; border:0; }
.s4-site--sub .cc-login-card { display:block; width:100%; max-width:520px; margin:0 auto; border-radius:0; background:#fff; border:0; box-shadow:none; }
.s4-site--sub .cc-login-brand { display:none; }
.s4-site--sub .cc-login-form { padding:20px 0; }
.s4-site--sub .cc-login-form__head>span { display:none; }
.s4-site--sub .cc-login-form__head { margin-bottom:30px; }
.s4-site--sub .cc-login-field input { border-radius:2px; background:#fff; border:1px solid #9ba6ad; font-size:16px; }
.s4-site--sub .cc-login-submit { border-radius:2px; box-shadow:none; background:var(--s4-navy); }
.s4-site--sub .cc-contact-form input[type=text],.s4-site--sub .cc-contact-form input[type=email],.s4-site--sub .cc-contact-form input[type=tel],.s4-site--sub .cc-contact-form textarea { border:1px solid #8b99a2; font-size:16px; border-radius:2px; background:#fff; }
.s4-site--sub .cc-contact-form :where(input,textarea):focus-visible { outline:2px solid #0867b2; outline-offset:3px; }
.s4-site--sub .cc-contact-form :where(legend,label>span:first-child) { font-size:15px; }
.s4-site--sub .cc-form-actions button>span { background:none; color:inherit; border-radius:0; width:auto; height:auto; }
@media(max-width:767px) {
 .s4-site--sub .s4-photo { max-height:360px; }
 .s4-site--sub .cc-login-form { padding:10px 0; }
}
/* 스킨의 !important 규칙은 sample4 로그인에 한정해 재정의한다. */
.s4-site--sub .cc-login-page #login_fs .cc-login-field .frm_input { border-color:#8b99a2!important; border-radius:2px!important; background:#fff!important; font-size:16px; }
.s4-site--sub .cc-login-page #login_fs .cc-login-submit { box-shadow:none!important; border-radius:2px!important; transform:none; }
.s4-site--sub .cc-login-page #login_fs .cc-login-field .frm_input:focus { outline:2px solid #0867b2; outline-offset:3px; box-shadow:none; }
.s4-site--sub .cc-terms { max-width:1080px; }
.s4-site--sub .cc-terms__lead { background:none; border:0; padding:0 0 24px; font-size:16px; font-weight:400; }
.s4-site--sub .cc-terms__lead svg,.s4-site--sub .cc-terms__num { display:none; }
.s4-site--sub .cc-terms__panel { border:0; border-top:1px solid #8b99a2; margin-bottom:35px; }
.s4-site--sub .cc-terms__panel-head { padding:22px 0; background:none; }
.s4-site--sub .cc-terms__panel-head h2 { font-size:21px; }
.s4-site--sub .cc-terms__doc { background:#f8f9f9; border:1px solid var(--s4-line); font-size:15px; line-height:1.9; }
.s4-site--sub .cc-terms__table-wrap { padding-inline:0; }
.s4-site--sub .cc-terms__table :where(th,td) { font-size:15px; }
.s4-site--sub .cc-terms__agree { margin:18px 0 0; padding:15px 0; border:0; background:none; font-size:15px; }
.s4-site--sub .cc-terms__all { background:#f2f5f6; color:var(--s4-ink); font-size:16px; justify-content:flex-start; border-radius:0; }
.s4-site--sub .cc-terms__actions { display:flex; justify-content:flex-end; gap:12px; }
.s4-site--sub .cc-terms__actions>* { flex:0 1 180px; border-radius:2px; font-size:16px; }
@media(max-width:767px) {
 .s4-site--sub .cc-terms__panel-head h2 { font-size:19px; }
 .s4-site--sub .cc-terms__table :where(th,td) { font-size:14px; padding:12px 8px; }
}

/* 회사소개: 메인과 같은 흰 배경 제품컷을 넓게 배치한다. */
.s4-site--sub[data-section="about"] #company { grid-template-columns:1fr 1.35fr; gap:clamp(28px,4vw,65px); }
.s4-site--sub[data-section="about"] #company .s4-photo { width:100%; height:620px; max-height:none; aspect-ratio:auto; background:#fff; object-fit:contain; mix-blend-mode:multiply; }
@media (max-width:1100px) {
 .s4-site--sub[data-section="about"] #company { grid-template-columns:1fr 1.1fr; gap:30px; }
 .s4-site--sub[data-section="about"] #company .s4-photo { height:510px; }
}
@media (max-width:767px) {
 .s4-site--sub[data-section="about"] #company { grid-template-columns:1fr; gap:12px; }
 .s4-site--sub[data-section="about"] #company .s4-photo { height:auto; aspect-ratio:1.15; }
}
