/* 이화정밀금형 — 기존 jsr86ehwamold.com 디자인을 새 코드로 다시 쓴 것 (2026-10-12)
   핵심규칙: 콘텐츠 폭 = 좌우 여백 10%를 뺀 나머지 전부 · 기본 글자 18px · 가장 작은 글자 16px (모바일 760px 이하 좌우 20px)
   색: 파랑 #3085c8 · 밝은 파랑 #2b91e1 · 보라 #444680 · 하단 #212121 / 서체: Noto Sans KR · Montserrat · Play */
:root {
  --blue: #3085c8; --blue2: #2b91e1; --purple: #444680; --ink: #181818; --text: #333; --muted: #666; --line: #e2e2e2; --soft: #f5f6f8;
  --foot: #212121; --gut: 10%; --hd: 90px;
  --kr: 'Noto Sans KR', 'Malgun Gothic', '맑은 고딕', sans-serif; --en: 'Montserrat', 'Noto Sans KR', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: var(--hd); }
body { margin: 0; font-family: var(--kr); font-size: 18px; line-height: 1.7; color: var(--text); background: #fff; word-break: keep-all; overflow-wrap: break-word; }
/* 언어별 글꼴 · 줄바꿈 — 한국어는 어절 단위(keep-all), 영어는 단어, 일 · 중은 글자 단위 + 금칙(strict) */
html[lang="en"] body { word-break: normal; }
html[lang="ja"] body { font-family: 'Noto Sans JP', 'Noto Sans KR', 'Meiryo', sans-serif; word-break: normal; line-break: strict; }
html[lang="zh-Hans"] body { font-family: 'Noto Sans SC', 'Noto Sans KR', 'Microsoft YaHei', sans-serif; word-break: normal; line-break: strict; }
html[lang="en"] .eh-gnb__top, html[lang="en"] .eh-subnav a { letter-spacing: -.01em; }
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, p, ul, ol, figure, dl { margin: 0; padding: 0; }
ul, ol { list-style: none; }
.eh-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.eh-skip { position: absolute; left: -9999px; top: 0; z-index: 999; background: var(--ink); color: #fff; padding: 10px 16px; font-size: 16px; }
.eh-skip:focus { left: 10px; }
:focus-visible { outline: 3px solid var(--blue2); outline-offset: 2px; }
.eh-wrap { width: 100%; padding-left: var(--gut); padding-right: var(--gut); }
.eh-wrap .eh-wrap { padding-left: 0; padding-right: 0; }

/* ---------------------------------------------------------------- 상단 */
.eh-header { position: fixed; left: 0; right: 0; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid #eee; transition: background .3s, border-color .3s; }
.eh-header__in { display: flex; align-items: center; height: var(--hd); }
.eh-logo { flex: none; display: block; width: 197px; height: 60px; position: relative; }
.eh-logo img { position: absolute; left: 0; top: 0; width: 197px; height: 60px; transition: opacity .3s; }
.eh-logo__white { opacity: 0; }
.eh-gnb { flex: 1; margin-left: 4%; height: 100%; }
.eh-gnb > ul { display: flex; height: 100%; }
.eh-gnb > ul > li { flex: 1; position: relative; text-align: center; }
.eh-gnb__top { display: flex; align-items: center; justify-content: center; height: var(--hd); font-size: 18px; font-weight: 500; color: var(--ink); position: relative; }
.eh-gnb__top::after { content: ''; position: absolute; left: 50%; right: 50%; bottom: 22px; height: 2px; background: var(--blue); transition: left .25s, right .25s; }
.eh-gnb > ul > li:hover .eh-gnb__top::after, .eh-gnb > ul > li.is-on .eh-gnb__top::after { left: 30%; right: 30%; }
.eh-gnb__sub { display: none; position: absolute; left: 0; right: 0; top: var(--hd); padding: 22px 0 26px; }
.eh-gnb__sub a { display: block; font-size: 16px; line-height: 2.1; color: #555; }
.eh-gnb__sub a:hover, .eh-gnb__sub a[aria-current] { color: #3889ca; font-weight: 500; }
.eh-gnb__panel { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid #eee; box-shadow: 0 12px 20px rgba(0,0,0,.06); }
@media (min-width: 1101px) {
  .eh-header:has(.eh-gnb:hover) .eh-gnb__sub, .eh-header:has(.eh-gnb:focus-within) .eh-gnb__sub { display: block; }
  .eh-header:has(.eh-gnb:hover) .eh-gnb__panel, .eh-header:has(.eh-gnb:focus-within) .eh-gnb__panel { display: block; height: var(--panel, 300px); }
  .eh-header:has(.eh-gnb:hover), .eh-header:has(.eh-gnb:focus-within) { background: #fff; }
  .eh-gnb__sub { z-index: 2; }
}
.eh-menu-btn { display: none; }
/* 언어 선택 — 상단 오른쪽 (KOR ▾) */
.eh-lang { position: relative; flex: none; margin-left: 24px; }
.eh-lang__btn { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border: 1px solid #d5d9df; border-radius: 20px; background: #fff; color: var(--ink); font-family: var(--en); font-size: 16px; font-weight: 500; cursor: pointer; }
.eh-lang__btn::after { content: ''; width: 7px; height: 7px; margin: -3px 0 0 2px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.eh-lang__globe { width: 16px; height: 16px; border: 1.5px solid currentColor; border-radius: 50%; position: relative; }
.eh-lang__globe::before { content: ''; position: absolute; left: 4px; right: 4px; top: -1px; bottom: -1px; border: 1.5px solid currentColor; border-radius: 50%; }
.eh-lang__list { display: none; position: absolute; right: 0; top: calc(100% + 8px); min-width: 170px; padding: 6px; background: #fff; border: 1px solid #e2e2e2; border-radius: 8px; box-shadow: 0 10px 24px rgba(0,0,0,.12); z-index: 120; }
.eh-lang.is-open .eh-lang__list { display: block; }
.eh-lang__list a { display: flex; gap: 10px; align-items: center; padding: 8px 12px; border-radius: 6px; font-size: 16px; color: #333; }
.eh-lang__list a b { font-family: var(--en); font-weight: 700; color: #888; width: 34px; }
.eh-lang__list a:hover { background: var(--soft); }
.eh-lang__list a[aria-current] { color: var(--blue); font-weight: 700; }
.eh-lang__list a[aria-current] b { color: var(--blue); }
.is-home:not(.is-scrolled) .eh-header:not(:has(.eh-gnb:hover)) .eh-lang__btn { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.eh-langs--m { display: none; }
.eh-trnote { margin: 0 0 24px; padding: 12px 16px; border-left: 3px solid var(--blue); background: #f2f7fc; font-size: 16px; color: #3d5670; }
.eh-inq-lang { margin: -18px 0 26px; text-align: center; font-size: 16px; color: #666; }
/* 첫 화면: 비주얼 위에 투명 상단 · 흰 로고 (스크롤 · 메뉴 열면 흰 바탕) */
.is-home .eh-header { background: transparent; border-color: transparent; }
.is-home .eh-header .eh-logo__white { opacity: 1; }
.is-home .eh-header .eh-logo__dark { opacity: 0; }
.is-home .eh-header .eh-gnb__top { color: #fff; }
.is-home.is-scrolled .eh-header, .is-home .eh-header:has(.eh-gnb:hover), .is-home .eh-header:has(.eh-gnb:focus-within) { background: #fff; border-color: #eee; }
.is-home.is-scrolled .eh-header .eh-logo__white, .is-home .eh-header:has(.eh-gnb:hover) .eh-logo__white, .is-home .eh-header:has(.eh-gnb:focus-within) .eh-logo__white { opacity: 0; }
.is-home.is-scrolled .eh-header .eh-logo__dark, .is-home .eh-header:has(.eh-gnb:hover) .eh-logo__dark, .is-home .eh-header:has(.eh-gnb:focus-within) .eh-logo__dark { opacity: 1; }
.is-home.is-scrolled .eh-header .eh-gnb__top, .is-home .eh-header:has(.eh-gnb:hover) .eh-gnb__top, .is-home .eh-header:has(.eh-gnb:focus-within) .eh-gnb__top { color: var(--ink); }

.eh-main { padding-top: var(--hd); }
.is-home .eh-main { padding-top: 0; }

/* ---------------------------------------------------------------- 서브 상단 · 하위메뉴 · 제목 */
.eh-subhead { height: 420px; background: #333 no-repeat 50% 50% / cover; display: flex; align-items: center; }
.eh-subhead__en { font-family: var(--en); font-size: 62px; font-weight: 500; color: #fff; line-height: 1.2; letter-spacing: -.01em; text-shadow: 0 2px 12px rgba(0,0,0,.25); }
.eh-subnav { border-bottom: 1px solid #e5e5e5; background: #fff; }
.eh-subnav .eh-wrap { display: flex; justify-content: center; flex-wrap: wrap; gap: 0 48px; }
.eh-subnav a { display: block; padding: 22px 0 18px; font-size: 18px; color: #444; border-bottom: 3px solid transparent; }
.eh-subnav a:hover { color: var(--blue); }
.eh-subnav a[aria-current] { color: #1f5f9c; font-weight: 700; border-bottom-color: var(--blue); }
.eh-pagehead { padding-top: 30px; text-align: center; }
.eh-crumbs { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px; font-size: 16px; color: #888; }
.eh-crumbs a:hover { color: var(--blue); }
.eh-title { margin: 56px 0 0; font-size: 52px; font-weight: 700; color: var(--ink); line-height: 1.2; }
.eh-title strong { position: relative; display: inline-block; }
.eh-title strong::before { content: ''; position: absolute; right: -17px; top: -6px; width: 11px; height: 11px; background: var(--blue); }
.eh-title__sub { margin-top: 22px; font-size: 18px; font-weight: 500; color: #222; }
.eh-sec { padding: 60px 0 120px; }
.eh-empty { padding: 60px 0; text-align: center; color: #777; }
.eh-note { margin-top: 30px; font-size: 16px; color: #777; text-align: center; }

/* ---------------------------------------------------------------- 버튼 */
.eh-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 190px; height: 56px; padding: 0 30px; border: 0; border-radius: 56px; background: var(--blue); color: #fff; font-size: 18px; font-weight: 500; cursor: pointer; transition: background .25s; }
.eh-btn:hover { background: #1f6aa6; }
.eh-btn--line { background: #fff; color: var(--ink); border: 1px solid #ccc; }
.eh-btn--line:hover { background: var(--soft); }
.eh-cta { margin-top: 50px; text-align: center; }

/* ---------------------------------------------------------------- 첫 화면 비주얼 */
.eh-visual { position: relative; height: 100vh; min-height: 640px; max-height: 1100px; overflow: hidden; background: #111; }
.eh-visual__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1s, visibility 1s; }
.eh-visual__slide.is-on { opacity: 1; visibility: visible; }
.eh-visual__slide picture, .eh-visual__slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.eh-visual__slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,.1) 60%); }
.eh-visual__txt { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; }
.eh-visual__h { font-size: 56px; line-height: 1.4; color: #fff; font-weight: 400; margin-bottom: 45px; }
.eh-visual__h strong { font-weight: 700; }
.eh-visual__h span { display: block; margin-top: 26px; font-family: var(--en); font-size: 22px; font-weight: 700; }
.eh-visual__slide.is-on .eh-visual__h, .eh-visual__slide.is-on .eh-viewmore { animation: ehUp .9s .2s both; }
@keyframes ehUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
.eh-viewmore { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 240px; height: 60px; border: 2px solid #fff; border-radius: 60px; color: #fff; font-family: var(--en); font-size: 18px; transition: background .3s, color .3s; }
.eh-viewmore::after { content: ''; width: 25px; height: 10px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 10'%3E%3Cpath d='M0 9h23L15 1' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat 0 0 / contain; }
.eh-viewmore:hover { background: #fff; color: var(--ink); }
.eh-viewmore:hover::after { filter: invert(1); }
.eh-visual__ctrl { position: absolute; left: 0; right: 0; bottom: 18%; z-index: 3; display: flex; align-items: center; gap: 14px; }
.eh-visual__bars { display: flex; gap: 10px; }
.eh-visual__bars button { width: 78px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; position: relative; }
.eh-visual__bars button::before, .eh-visual__bars i { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 3px; margin-top: -1px; background: rgba(255,255,255,.85); }
.eh-visual__bars i { right: 100%; background: var(--blue2); }
.eh-visual__bars button.is-on i { animation: ehBar 6s linear both; }
.eh-visual.is-paused .eh-visual__bars button.is-on i { animation-play-state: paused; }
@keyframes ehBar { to { right: 0; } }
.eh-visual__play { width: 26px; height: 26px; border: 2px solid #fff; border-radius: 50%; background: none; cursor: pointer; position: relative; }
.eh-visual__play::before, .eh-visual__play::after { content: ''; position: absolute; top: 6px; width: 3px; height: 10px; background: #fff; }
.eh-visual__play::before { left: 7px; } .eh-visual__play::after { right: 7px; }
.eh-visual.is-paused .eh-visual__play::before { left: 8px; width: 0; height: 0; background: none; border-left: 9px solid #fff; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.eh-visual.is-paused .eh-visual__play::after { display: none; }

/* ---------------------------------------------------------------- 첫 화면 구역 공통 */
.eh-home { min-height: 100vh; display: flex; align-items: center; padding: calc(var(--hd) + 40px) 0 80px; }
.eh-home > .eh-wrap { width: 100%; }
.eh-eyebrow { font-size: 30px; font-weight: 700; color: var(--blue2); margin-bottom: 20px; line-height: 1.3; }
.eh-eyebrow strong { position: relative; }
.eh-eyebrow strong::after { content: ''; position: absolute; right: -12px; top: 0; width: 9px; height: 9px; background: var(--blue2); }
.eh-h2main { font-family: 'Play', var(--en); font-size: 62px; font-weight: 700; color: #000; line-height: 1.15; margin-bottom: 50px; }
.eh-h2main--kr { font-family: var(--kr); }
.eh-h2main a span { font-family: var(--en); font-weight: 400; font-size: 46px; vertical-align: 4px; }

/* PRODUCT — 왼쪽 분류, 오른쪽 대표 사진 + 파란 원 VIEW MORE */
.eh-mp { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); gap: 40px; align-items: center; }
.eh-mp__menu ul { display: flex; flex-direction: column; align-items: flex-start; }
.eh-mp__menu a { display: inline-block; width: 250px; max-width: 100%; padding: 0 20px; border-radius: 50px; font-size: 20px; line-height: 48px; color: #8a8a8a; transition: background .4s, color .4s; }
.eh-mp__menu a[aria-selected="true"] { color: var(--ink); font-weight: 500; }
.eh-mp__menu a:hover { background: var(--blue); color: #fff; }
.eh-mp__show { position: relative; min-height: 420px; display: flex; align-items: center; justify-content: center; }
.eh-mp__item { display: none; position: relative; width: 100%; max-width: 760px; text-align: center; }
.eh-mp__item.is-on { display: block; animation: ehUp .6s both; }
.eh-mp__item img { width: 100%; max-width: 680px; }
.eh-mp__item figcaption { margin-top: 10px; font-size: 16px; color: #777; padding-right: 160px; }
.eh-mp__more { position: absolute; right: 8%; bottom: 18%; width: 130px; height: 130px; border-radius: 50%; background: var(--blue); color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; font-family: var(--en); font-size: 18px; line-height: 1.25; box-shadow: 33px 33px 46px rgba(48,133,200,.3); transition: transform .4s; }
.eh-mp__more:hover { transform: scale(1.06); }

/* 간편 상담문의 폼 (메인 · /inquiry/) */
.eh-form { border-top: 2px solid #222; padding-top: 30px; }
.eh-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 60px; }
.eh-form__grid label { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 12px; }
.eh-form__grid label > span { font-size: 17px; color: #222; }
.eh-form b { color: #e5413b; font-weight: 500; }
.eh-form input[type=text], .eh-form input[type=tel], .eh-form input[type=email], .eh-form select, .eh-form textarea { width: 100%; border: 0; border-bottom: 1px solid #ccc; padding: 10px 4px; font-size: 18px; background: transparent; border-radius: 0; }
.eh-form select { appearance: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23666' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 6px center / 12px; padding-right: 26px; }
.eh-form input:focus, .eh-form select:focus, .eh-form textarea:focus { outline: 0; border-bottom-color: var(--blue); }
.eh-form ::placeholder { color: #9a9a9a; }
.eh-form__full { grid-column: 1 / -1; align-items: start !important; }
.eh-form__full > span { padding-top: 10px; }
.eh-form textarea { resize: vertical; min-height: 120px; }
.eh-form__agree { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 26px; margin-top: 30px; padding-bottom: 20px; border-bottom: 1px solid #eee; }
.eh-form__agree > span { font-size: 18px; color: #222; }
.eh-form__agree a { color: var(--ink); font-weight: 700; }
.eh-form__agree label { display: inline-flex; align-items: center; gap: 6px; font-size: 17px; cursor: pointer; }
.eh-form__agree input { width: 18px; height: 18px; accent-color: var(--blue); }
.eh-form__cap { margin-top: 18px; }
.eh-form__cap label { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
.eh-form__cap span { font-size: 18px; color: #222; }
.eh-form__cap em { font-style: normal; font-family: var(--en); font-size: 20px; font-weight: 700; color: var(--ink); background: var(--soft); padding: 4px 14px; border-radius: 4px; }
.eh-form__cap input { width: 90px !important; text-align: center; }
.eh-form__note { margin-top: 12px; font-size: 16px; color: #777; }
.eh-form__btn { margin-top: 30px; text-align: center; }
.eh-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.eh-alert { margin-bottom: 20px; padding: 14px 18px; border-radius: 6px; background: #fdecec; color: #a12622; font-size: 17px; }
.eh-alert--ok { background: #e8f3fc; color: #1d5a8f; }
.eh-inq-tel { margin-bottom: 30px; font-size: 20px; text-align: center; }
.eh-inq-tel a { color: var(--blue); font-weight: 700; }

/* COMMUNITY */
.eh-home--community { min-height: 70vh; }
.eh-latest h3 { font-size: 22px; font-weight: 700; color: var(--ink); padding-left: 24px; position: relative; margin-bottom: 16px; }
.eh-latest h3::before { content: ''; position: absolute; left: 0; top: 50%; width: 14px; height: 16px; margin-top: -8px; border: 2px solid var(--ink); border-radius: 2px; box-shadow: inset 0 4px 0 #fff, inset 0 6px 0 var(--ink); }
.eh-latest ul { border-top: 1px solid #ddd; }
.eh-latest li a { display: flex; justify-content: space-between; gap: 20px; padding: 18px 4px; border-bottom: 1px solid #eee; }
.eh-latest li a:hover span { color: var(--blue); }
.eh-latest time { flex: none; color: #888; font-size: 16px; }
.eh-latest .eh-empty { border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; }

/* ---------------------------------------------------------------- 회사소개 */
.eh-greet { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 60px; align-items: start; }
.eh-greet__txt h2 { font-size: 26px; font-weight: 500; color: var(--ink); text-align: center; margin-bottom: 30px; }
.eh-greet__txt p { margin-bottom: 18px; color: #222; }
.eh-greet__sign { margin-top: 30px; text-align: right; }
.eh-greet__sign strong { font-size: 22px; margin-left: 8px; }
.eh-greet__photo { border: 1px solid #ccc; }
.eh-greet__photo img { width: 100%; }

.eh-history { border-top: 1px solid #333; border-bottom: 1px solid #333; }
.eh-history li { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 30px; align-items: center; padding: 22px 0; border-bottom: 1px solid #eee; }
.eh-history li:last-child { border-bottom: 0; }
.eh-history__y { font-family: var(--en); font-size: 40px; font-weight: 700; color: #bdbdbd; line-height: 1; text-align: center; border-right: 2px solid #e5e5e5; padding-right: 20px; }
.eh-history__y time { display: block; margin-top: 8px; font-size: 16px; font-weight: 500; color: #999; }
.eh-history strong { display: block; font-size: 20px; font-weight: 500; color: var(--ink); }
.eh-history span { display: block; font-size: 16px; color: #777; }
.eh-history span::before { content: '• '; }

.eh-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.eh-photos a { display: block; padding: 10px; border: 1px solid #ddd; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.05); }
.eh-photos img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .4s; }
.eh-photos a:hover img { transform: scale(1.02); }
.eh-certs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 30px; }
.eh-certs li { display: flex; flex-direction: column; align-items: center; text-align: center; }
/* 등록증마다 원본 비율이 달라도 같은 높이 — A4 세로 틀 안에 맞춰 넣는다 */
.eh-certs__img { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1.414; background: #f7f7f7; border: 1px solid #ddd; box-shadow: 0 2px 8px rgba(0,0,0,.06); transition: box-shadow .3s; }
.eh-certs__img:hover { box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.eh-certs__img img { position: absolute; left: 12px; top: 12px; width: calc(100% - 24px); height: calc(100% - 24px); object-fit: contain; }
.eh-certs__kind { margin-top: 20px; padding: 2px 14px; border-radius: 20px; background: #e8f3fc; color: #1d5a8f; font-size: 16px; font-weight: 500; }
.eh-certs h2 { margin-top: 10px; line-height: 1.5; }
.eh-certs__no { display: block; font-family: var(--en); font-size: 20px; font-weight: 700; color: var(--ink); letter-spacing: -.01em; }
.eh-certs__name { display: block; min-height: 3em; margin-top: 4px; font-size: 18px; font-weight: 500; color: #333; }
.eh-certs__txt { margin-top: 8px; padding-top: 8px; border-top: 1px solid #e5e5e5; font-size: 16px; color: #888; line-height: 1.6; }
.eh-map { position: relative; height: 480px; border: 1px solid #ddd; }
.eh-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.eh-loc { margin-top: 24px; }
.eh-loc li { padding: 4px 0; }
.eh-loc li::before { content: '· '; }
.eh-loc strong { color: var(--ink); margin-right: 6px; }
.eh-loc a { color: var(--blue); }

/* ---------------------------------------------------------------- 주요 제품 슬라이더 (큰 사진 + 좌우 화살표 + 썸네일) */
.eh-slider { position: relative; max-width: 1200px; margin: 0 auto; text-align: center; }
.eh-slider__main { background: #f3f3f3; }
.eh-slider__main img { width: 100%; aspect-ratio: 1200 / 749; object-fit: contain; display: block; }
.eh-slider__nav { position: absolute; top: calc((100% - 110px) / 2); transform: translateY(-50%); width: 48px; height: 56px; border: 0; background: rgba(0,0,0,.3); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.eh-slider__nav:hover { background: rgba(0,0,0,.55); }
.eh-slider__nav--prev { left: 0; } .eh-slider__nav--next { right: 0; }
.eh-slider__thumbs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 12px; }
.eh-slider__thumbs button { width: 100px; padding: 0; border: 2px solid transparent; background: #f3f3f3; opacity: .55; cursor: pointer; transition: opacity .3s; }
.eh-slider__thumbs button:hover, .eh-slider__thumbs button[aria-current] { opacity: 1; border-color: var(--blue); }
.eh-slider__thumbs img { width: 100%; aspect-ratio: 1200 / 749; object-fit: cover; display: block; }

/* ---------------------------------------------------------------- 설비/구성 */
.eh-machines { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.eh-machines li { padding: 16px 16px 22px; border: 1px solid #ddd; }
.eh-machines img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.eh-machines h2 { margin-top: 14px; font-size: 24px; font-weight: 700; color: #1d3b1d; }
.eh-machines p { font-size: 16px; color: #555; }
.eh-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 30px; }
.eh-steps li { display: flex; flex-direction: column; align-items: center; padding: 26px 10px; border: 1px solid #ddd; border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,.05); text-align: center; }
.eh-steps li.is-hl { border: 2px solid #e57373; }
.eh-steps img { width: 60px; height: 60px; object-fit: contain; }
.eh-steps i { width: 14px; height: 14px; margin: 10px 0 8px; border: 2px solid #e53935; border-radius: 50%; position: relative; }
.eh-steps i::after { content: ''; position: absolute; left: 3px; top: 1px; width: 3px; height: 6px; border: solid #e53935; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.eh-steps span { font-family: var(--en); font-size: 16px; color: #888; }
.eh-steps strong { font-size: 20px; color: var(--ink); }
@media (min-width: 1025px) {   /* 둘째 줄은 기존처럼 오른쪽→왼쪽 (6 ← 10) */
  .eh-steps li:nth-child(6) { grid-row: 2; grid-column: 5; } .eh-steps li:nth-child(7) { grid-row: 2; grid-column: 4; }
  .eh-steps li:nth-child(8) { grid-row: 2; grid-column: 3; } .eh-steps li:nth-child(9) { grid-row: 2; grid-column: 2; }
  .eh-steps li:nth-child(10) { grid-row: 2; grid-column: 1; }
}

/* ---------------------------------------------------------------- 공지사항 */
.eh-board__total { font-size: 16px; color: #555; margin-bottom: 10px; }
.eh-board__top { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 10px; }
.eh-board__top .eh-board__total { margin: 0; }
.eh-search { display: flex; }
.eh-search input { width: 220px; max-width: 60vw; height: 44px; padding: 0 12px; border: 1px solid #ccc; border-right: 0; font-size: 16px; }
.eh-search button { height: 44px; padding: 0 18px; border: 0; background: #333; color: #fff; font-size: 16px; cursor: pointer; }
.eh-search button:hover { background: var(--blue); }
.eh-board { width: 100%; border-collapse: collapse; border-top: 2px solid #222; }
.eh-board th { padding: 14px 8px; font-size: 16px; font-weight: 500; color: #555; border-bottom: 1px solid #ddd; }
.eh-board td { padding: 16px 8px; border-bottom: 1px solid #eee; text-align: center; font-size: 16px; color: #666; }
.eh-board td.eh-board__subj { text-align: left; font-size: 18px; color: var(--ink); }
.eh-board__subj a:hover { color: var(--blue); }
.eh-board__no { width: 90px; } .eh-board__date { width: 140px; } .eh-board__hit { width: 90px; }
.eh-paging { display: flex; justify-content: center; gap: 6px; margin-top: 30px; }
.eh-paging a { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #ddd; font-size: 16px; }
.eh-paging a[aria-current] { background: var(--blue); border-color: var(--blue); color: #fff; }
.eh-view { border-top: 2px solid #222; }
.eh-view header { padding: 24px 6px; border-bottom: 1px solid #ddd; }
.eh-view header h2 { font-size: 26px; color: var(--ink); line-height: 1.4; }
.eh-view header p { margin-top: 6px; font-size: 16px; color: #888; }
.eh-view figure { margin-top: 30px; text-align: center; }
.eh-view__body { padding: 30px 6px 50px; border-bottom: 1px solid #ddd; }
.eh-view__body p { margin-bottom: 1em; }
.eh-view__body img { height: auto !important; }
.eh-view__body table { max-width: 100%; }
.eh-files { padding: 16px 0; border-bottom: 1px solid #ddd; }
.eh-files a { color: var(--blue); font-size: 16px; }
.eh-pager { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 20px; align-items: center; margin-top: 30px; }
.eh-pager > a:first-child { text-align: left; } .eh-pager > a:last-child { text-align: right; }
.eh-pager small { display: block; font-size: 16px; color: #888; }

/* 약관 · 404 · 킷 화면 */
.eh-prose h2 { margin: 40px 0 10px; font-size: 22px; color: #004593; line-height: 1.6; }
.eh-prose p { margin-bottom: 8px; color: #444; }
.eh-prose a { color: var(--blue); }
.eh-sitemap { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 30px; }
.eh-sitemap h2 { font-size: 20px; color: var(--ink); margin-bottom: 10px; }
.eh-sitemap a { display: block; color: #555; line-height: 2; }
.eh-sitemap a:hover { color: var(--blue); }
.eh-kit { font-size: 18px; }

/* 사진 크게 보기 */
.eh-lb { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,.85); display: flex; align-items: center; justify-content: center; padding: 40px; }
.eh-lb img { max-width: 100%; max-height: 100%; background: #fff; }
.eh-lb button { position: absolute; right: 20px; top: 16px; width: 48px; height: 48px; border: 0; background: none; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; }

/* ---------------------------------------------------------------- 하단 · 빠른 문의 */
.eh-footer { background: var(--foot); color: #898989; padding: 34px 0 60px; }
.eh-footer__links { display: flex; margin-bottom: 40px; }
.eh-footer__links a { font-size: 16px; color: #fff; font-weight: 300; }
.eh-footer__links a + a { margin-left: 14px; padding-left: 14px; border-left: 1px solid #535353; }
.eh-footer__foot { display: flex; align-items: center; gap: 40px; padding-right: 470px; }
.eh-footer__logo { flex: none; }
.eh-footer__logo img { width: 160px; height: auto; }
.eh-footer address { font-style: normal; font-size: 16px; line-height: 1.8; }
.eh-footer address { flex: 1; min-width: 0; }
.eh-footer address span { display: inline-block; max-width: 100%; margin-right: 12px; }   /* 칸 사이에서만 줄바꿈 (긴 외국어 주소는 칸 안에서도) */
.eh-footer address a:hover { color: #fff; }
.eh-quick { position: fixed; right: 0; bottom: 0; z-index: 90; display: flex; filter: drop-shadow(0 4px 14px rgba(0,0,0,.18)); }
.eh-quick__tel { display: flex; flex-direction: column; justify-content: center; width: 250px; height: 100px; padding: 0 25px; background: #ebebeb; border-radius: 12px 0 0 0; font-family: var(--en); font-size: 20px; line-height: 1.4; color: #222; }
.eh-quick__tel a:hover { color: var(--blue); }
.eh-quick__ask { display: flex; flex-direction: column; justify-content: center; width: 200px; height: 100px; padding: 0 25px; background: var(--purple); color: #fff; border-radius: 12px 0 0 0; margin-left: -12px; }
.eh-quick__ask strong { font-size: 22px; font-weight: 700; }
.eh-quick__ask span { font-size: 16px; opacity: .85; }
.eh-quick__ask:hover { background: #363870; }

/* ---------------------------------------------------------------- 반응형 */
@media (max-width: 1400px) {
  .eh-visual__h { font-size: 46px; }
  .eh-h2main { font-size: 54px; }
  .eh-certs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  :root { --hd: 76px; }
  .eh-logo, .eh-logo img { width: 158px; height: 48px; }
  .eh-menu-btn { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; width: 76px; height: 76px; margin-left: auto; margin-right: calc(var(--gut) * -1); border: 0; background: #0d5aa7; cursor: pointer; }
  .eh-menu-btn span { width: 26px; height: 2px; background: #fff; transition: transform .3s, opacity .3s; }
  .eh-menu-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .eh-menu-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .eh-menu-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
  .eh-gnb { display: none; position: fixed; left: 0; right: 0; top: var(--hd); bottom: 0; margin: 0; height: auto; background: #fff; overflow-y: auto; border-top: 1px solid #eee; }
  .eh-gnb.is-open { display: block; }
  .eh-gnb > ul { display: block; height: auto; padding: 10px var(--gut) 40px; }
  .eh-gnb > ul > li { text-align: left; border-bottom: 1px solid #eee; }
  .eh-gnb__top { justify-content: flex-start; height: auto; padding: 18px 0; font-size: 20px; color: var(--ink) !important; }
  .eh-gnb__top::after { display: none; }
  .eh-gnb__sub { display: flex; flex-wrap: wrap; gap: 0 24px; position: static; padding: 0 0 16px; }
  .eh-gnb__sub a { font-size: 17px; line-height: 2.2; }
  .eh-gnb__panel { display: none !important; }
  .eh-lang { margin-left: auto; margin-right: 12px; }
  .eh-menu-btn { margin-left: 0; }
  .eh-langs--m { display: flex; flex-wrap: wrap; gap: 8px; padding: 18px var(--gut) 40px; border-top: 1px solid #eee; }
  .eh-langs--m a { padding: 6px 14px; border: 1px solid #d5d9df; border-radius: 20px; font-size: 16px; }
  .eh-langs--m a[aria-current] { border-color: var(--blue); color: var(--blue); font-weight: 700; }
  body.is-menu { overflow: hidden; }
  body.is-menu .eh-header { background: #fff; }
  body.is-menu .eh-logo__white { opacity: 0 !important; } body.is-menu .eh-logo__dark { opacity: 1 !important; }
  .eh-subhead { height: 300px; }
  .eh-subhead__en { font-size: 46px; }
  .eh-mp { grid-template-columns: minmax(0, 1fr); }
  .eh-mp__menu ul { flex-direction: row; flex-wrap: wrap; gap: 4px; }
  .eh-mp__menu a { width: auto; padding: 0 16px; font-size: 18px; line-height: 44px; }
  .eh-mp__show { min-height: 0; }
  .eh-home { min-height: 0; padding: 90px 0; }
  .eh-greet { grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: 40px; }
  .eh-machines { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .eh-sitemap { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .eh-footer__foot { padding-right: 0; padding-bottom: 90px; flex-wrap: wrap; }
}
@media (max-width: 1024px) {
  .eh-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .eh-form__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  :root { --gut: 20px; --hd: 64px; }
  .eh-logo, .eh-logo img { width: 132px; height: 40px; }
  .eh-menu-btn { width: 64px; height: 64px; }
  .eh-lang__btn { height: 36px; padding: 0 10px; }
  .eh-lang__globe { display: none; }
  .eh-subhead { height: 180px; }
  .eh-subhead__en { font-size: 34px; }
  .eh-subnav .eh-wrap { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; gap: 0 26px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .eh-subnav a { flex: none; padding: 16px 0 13px; font-size: 17px; }
  .eh-crumbs { justify-content: flex-start; }
  .eh-title { margin-top: 30px; font-size: 34px; }
  .eh-sec { padding: 40px 0 80px; }
  .eh-visual { height: 100svh; min-height: 560px; }
  .eh-visual__h { font-size: 30px; margin-bottom: 30px; }
  .eh-visual__h span { font-size: 17px; margin-top: 16px; }
  .eh-viewmore { width: 180px; height: 52px; font-size: 16px; }
  .eh-visual__ctrl { bottom: 120px; }
  .eh-visual__bars button { width: 48px; }
  .eh-eyebrow { font-size: 22px; }
  .eh-h2main { font-size: 40px; margin-bottom: 30px; }
  .eh-h2main a span { font-size: 30px; }
  .eh-home { padding: 64px 0; }
  .eh-mp__more { width: 92px; height: 92px; font-size: 16px; right: 0; bottom: 64px; box-shadow: 12px 12px 26px rgba(48,133,200,.3); }
  .eh-mp__item figcaption { padding-right: 0; margin-top: 20px; }
  .eh-form__grid label { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .eh-form__full > span { padding-top: 0; }
  .eh-greet { grid-template-columns: minmax(0, 1fr); }
  .eh-greet__photo { order: -1; max-width: 320px; margin: 0 auto; }
  .eh-history li { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
  .eh-history__y { font-size: 28px; padding-right: 12px; }
  .eh-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .eh-photos a { padding: 5px; }
  .eh-certs { grid-template-columns: minmax(0, 1fr); }
  .eh-map { height: 320px; }
  .eh-slider__nav { width: 36px; height: 44px; font-size: 20px; }
  .eh-slider__thumbs { gap: 6px; }
  .eh-slider__thumbs button { width: 60px; }
  .eh-machines { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .eh-machines li { padding: 10px 10px 14px; }
  .eh-machines h2 { font-size: 20px; }
  .eh-board__no, .eh-board__hit { display: none; }
  .eh-board__date { width: 108px; }
  .eh-sitemap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eh-pager { grid-template-columns: minmax(0, 1fr); }
  .eh-pager > a { text-align: left !important; }
  .eh-footer { padding-bottom: 40px; }
  .eh-footer__foot { flex-direction: column; align-items: flex-start; gap: 16px; padding-bottom: 80px; }   /* 모바일: 로고 아래로 주소 (옆에 두면 좁은 기둥이 됨) */
  .eh-footer address span { white-space: normal; }
  .eh-quick { left: 0; }
  .eh-quick__tel { flex: 1; width: auto; height: 68px; padding: 0 16px; font-size: 16px; border-radius: 0; }
  .eh-quick__ask { flex: 1; width: auto; height: 68px; padding: 0 16px; margin-left: 0; border-radius: 0; }
  .eh-quick__ask strong { font-size: 18px; }
  .eh-quick__ask span { display: none; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } }
