/* ==========================================================================
   로지 키트 — Elementor 무료판에 없는 것만 담는다. 색·글꼴·여백은 위젯 Style 탭에서.
   톤: 항만 안내판 — 딥 네이비 + 시그널 옐로, 각진 모서리(6~14px), 굵은 800 제목, 표 숫자는 고정폭.
   ========================================================================== */
:root {
	--lk-ink: #0A1A33;
	--lk-ink-2: #34445C;
	--lk-mute: #5B6880;       /* 흰 바탕 5.6:1 */
	--lk-line: #DCE2EA;
	--lk-paper: #F3F5F8;
	--lk-night: #06111F;
	--lk-night-2: #0C1D35;
	--lk-signal: #FFC21A;     /* 바탕·막대 전용 (글자는 네이비를 얹는다 — 11:1) */
	--lk-signal-dk: #8A5B00;  /* 흰 바탕 작은 노란 계열 글자 (5.9:1) */
	--lk-signal-tint: #FFF6D6;
	--lk-blue: #1E50E6;       /* 흰 바탕 링크·강조 (6.3:1) */
	--lk-sky: #7CB4FF;        /* 어두운 바탕 강조 */
	--lk-on-dark: #EAF0F8;
	--lk-on-dark-2: rgba(234, 240, 248, .74);
	--lk-ease: cubic-bezier(.22, 1, .36, 1);
	--lk-hh: 79px;            /* 고정 헤더 높이 (위 노란 신호선 3 + 남색 막대 76) */
}
@media (max-width: 1024px) { :root { --lk-hh: 73px; } }

/* ---- 한글 줄바꿈: 단어 중간에서 끊지 않는다 (Elementor 에 컨트롤이 없는 CJK 속성) ---- */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-image-box .elementor-image-box-title,
.elementor-widget-image-box .elementor-image-box-description,
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-widget-button .elementor-button-text,
.elementor-tab-title, .elementor-tab-content,
.e-n-accordion-item-title-text, .e-n-tab-title-text,
.elementor-widget-counter .elementor-counter-title,
.lk-cs, .lk-tr, .lk-sb, .lk-calc, .lk-ic, .lk-nm, .lk-lt {
	word-break: keep-all;
	overflow-wrap: break-word;
}
/* 짧은 꼬리 줄(한 단어만 남는 마지막 줄)을 줄인다 — 크롬·엣지 text-wrap: pretty (다른 브라우저는 무시, 1.0.2) */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-image-box .elementor-image-box-description,
.elementor-widget-icon-list .elementor-icon-list-text,
.elementor-widget-counter .elementor-counter-title,
.lk-lt {
	text-wrap: pretty;
}
.elementor-widget-button .elementor-button { white-space: nowrap; }
/* 링크 걸린 이미지: Elementor 기본 <a> 가 inline-block 이라 고정 높이 사진이 원본 비율 폭으로 줄어든다 (73661 실측) */
.elementor-widget-image a { display: block; }
.elementor-counter-number-wrapper, .lk-num, .lk-sb, .lk-calc__kv, .lk-tr { font-variant-numeric: tabular-nums; }
.elementor-counter-number-wrapper { white-space: nowrap; }
.lk-unit { font-size: .5em; font-weight: 600; margin-left: 3px; letter-spacing: 0; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ==========================================================================
   헤더 — 남색 단일 막대(위 노란 신호선). 고정은 컨테이너 컨트롤(position:fixed), 스크롤 그림자·폭 보정만 여기서.
   ========================================================================== */
.lk-header { transition: box-shadow .35s var(--lk-ease); }
.lk-bar { transition: box-shadow .35s var(--lk-ease); }
html.lk-scrolled .lk-bar { box-shadow: 0 16px 40px rgba(6, 17, 31, .28); }
/* HFE 가로 메뉴: 창 크기가 바뀌면 HFE 스크립트가 메뉴 폭을 소수점 아래를 버린 값으로 고정(579.812px)해 마지막 항목이
   둘째 줄로 내려간다(독립 검증 10-16, HFE 2.9.5 frontend.js resize) → 데스크톱에선 그 고정을 무시하고 한 줄로 */
@media (min-width: 1025px) {
	.lk-header nav.hfe-nav-menu__layout-horizontal { width: auto !important; left: 0 !important; }
	.lk-header nav.hfe-nav-menu__layout-horizontal > ul { flex-wrap: nowrap; }
}
/* 1280 미만 데스크톱은 메뉴가 막대를 거의 채우므로 '화물 추적' 버튼을 숨긴다(메뉴 → 조회·견적, 모바일 하단 바에 있음) */
@media (max-width: 1279px) { .lk-hwide { display: none !important; } }
body.admin-bar .lk-header { top: 32px !important; }
@media (max-width: 782px) { body.admin-bar .lk-header { top: 46px !important; } }
/* HFE 드롭다운: 메뉴와 하위 메뉴 사이를 지나는 동안 닫히지 않게 (호버 브리지) */
.hfe-nav-menu .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -24px; height: 24px; }
/* 키보드 초점 */
.hfe-nav-menu a.hfe-menu-item:focus-visible,
.hfe-nav-menu a.hfe-sub-menu-item:focus-visible,
.elementor-button:focus-visible,
.lk-cs__tab:focus-visible, .lk-ic__btn:focus-visible, .lk-nm__pin:focus-visible, .lk-nm__li:focus-visible, .lk-nm__chip:focus-visible,
.lk-lt__row:focus-visible, .lk-calc__mode input:focus-visible + span {
	outline: 2px solid var(--lk-blue); outline-offset: 3px;
}
/* 남색 헤더·드롭다운 위에서는 파란 테두리가 안 보인다 → 노란색 */
.lk-header a:focus-visible, .lk-header .elementor-button:focus-visible, .lk-header .hfe-nav-menu__toggle:focus-visible { outline-color: var(--lk-signal); }

/* ==========================================================================
   공통 장식
   ========================================================================== */
/* 라벨 태그 — 작은 노란 사각 + 대문자 영문 (제목 위젯에 lk-tag) */
.lk-tag .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; }
.lk-tag .elementor-heading-title::before { content: ""; width: 9px; height: 9px; background: var(--lk-signal); flex: 0 0 auto; }
.lk-tag.is-line .elementor-heading-title { padding: 7px 12px; border: 1px solid currentColor; border-radius: 4px; }

/* 제목 안 <mark> = 노란 형광펜 (제목 위젯에 lk-hl). 어두운 바탕(is-dark)에서는 노란 글자 */
.lk-hl .elementor-heading-title mark {
	color: inherit; padding: 0 .06em; margin: 0 -.06em;
	background: linear-gradient(180deg, transparent 60%, var(--lk-signal) 60%, var(--lk-signal) 90%, transparent 90%);
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.lk-hl.is-dark .elementor-heading-title mark { color: var(--lk-signal); background: none; }

/* 격자 배경 — 항만 도면처럼 (컨테이너에 lk-grid). 배경 위 별도 층이라 Elementor 배경을 지우지 않는다 */
.lk-grid { position: relative; isolation: isolate; }
.lk-grid::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit;
	background-image: linear-gradient(rgba(10, 26, 51, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(10, 26, 51, .055) 1px, transparent 1px);
	background-size: 64px 64px; background-position: -1px -1px;
	-webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .35) 100%); mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .35) 100%);
}
.lk-grid.is-dark::after { background-image: linear-gradient(rgba(234, 240, 248, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(234, 240, 248, .05) 1px, transparent 1px); }

/* 카드: 호버하면 살짝 뜨고 위에 노란 띠가 펼쳐진다 (컨테이너에 lk-card) */
.lk-card { position: relative; transition: transform .45s var(--lk-ease), box-shadow .45s var(--lk-ease), border-color .3s; }
.lk-card::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; z-index: 2; pointer-events: none;
	background: var(--lk-signal); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--lk-ease);
	border-radius: inherit; border-bottom-left-radius: 0; border-bottom-right-radius: 0;
}
.lk-card:hover { transform: translateY(-5px); box-shadow: 0 24px 56px rgba(10, 26, 51, .12); }
.lk-card:hover::before, .lk-card:focus-within::before { transform: scaleX(1); }
a.lk-card { text-decoration: none; }
@media (prefers-reduced-motion: reduce) { .lk-card, .lk-card:hover { transform: none; } }

/* 사진 확대 (카드 컨테이너에 lk-zoom) */
.lk-zoom .elementor-widget-image .elementor-widget-container, .lk-zoom .elementor-image-box-img { overflow: hidden; border-radius: inherit; }
.lk-zoom img { transition: transform 1s var(--lk-ease); }
.lk-zoom:hover img { transform: scale(1.05); }

/* 사진 등장 — 아래에서 위로 걷힌다 (이미지 위젯에 lk-reveal) */
html.lk-js .lk-reveal img { clip-path: inset(100% 0 0 0); transform: scale(1.06); transition: clip-path 1.2s var(--lk-ease), transform 1.6s var(--lk-ease); }
html.lk-js .lk-reveal.is-in img { clip-path: inset(0 0 0 0); transform: none; }
.elementor-editor-active .lk-reveal img { clip-path: none !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) { html.lk-js .lk-reveal img { clip-path: none; transform: none; transition: none; } }

/* 홈 히어로 — 노선 지도 위 글자가 읽히게 왼쪽(태블릿·모바일은 위)부터 어둡게 (컨테이너에 lk-hero).
   층: 지도(lk-fill, 0) < 어둠막(::before, 1) < 글자·콘솔(lk-above, 2) */
.lk-hero { position: relative; isolation: isolate; }
.lk-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(90deg, rgba(6, 17, 31, .97) 0%, rgba(6, 17, 31, .9) 30%, rgba(6, 17, 31, .58) 48%, rgba(6, 17, 31, .14) 63%, rgba(6, 17, 31, 0) 76%);
}
@media (max-width: 1024px) {
	.lk-hero::before { background: linear-gradient(180deg, rgba(6, 17, 31, .95) 0%, rgba(6, 17, 31, .84) 42%, rgba(6, 17, 31, .3) 66%, rgba(6, 17, 31, 0) 82%); }
}

/* 위젯을 감싼 컨테이너에 꽉 채우기 (노선 지도 배경 등 — 위젯 고급 › CSS 클래스 lk-fill) */
.elementor-element.lk-fill { position: absolute !important; inset: 0; width: 100% !important; max-width: none !important; height: 100%; margin: 0 !important; z-index: 0; pointer-events: none; }
.elementor-element.lk-fill > .elementor-widget-container, .lk-fill .lk-rm { height: 100% !important; }
.lk-above { position: relative; z-index: 2; }

/* 데스크톱에서 왼쪽 제목 고정 (오른쪽 목록이 길 때) */
@media (min-width: 1025px) { .lk-sticky { position: sticky; top: calc(var(--lk-hh) + 24px); align-self: flex-start; } }

/* 모바일 가로 스냅 줄 */
@media (max-width: 767px) {
	.lk-snap > .e-con-inner, .lk-snap.e-con-full {
		flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
		scrollbar-width: none; padding-bottom: 8px;
	}
	.lk-snap > .e-con-inner::-webkit-scrollbar, .lk-snap.e-con-full::-webkit-scrollbar { display: none; }
	.lk-snap > .e-con-inner > .e-con, .lk-snap.e-con-full > .e-con { flex: 0 0 84% !important; max-width: 84% !important; scroll-snap-align: start; }
}

/* 모바일 하단 고정 문의 바 (푸터 템플릿의 lk-mbar 컨테이너 — 위치·색·버튼은 Elementor 컨트롤, 여기서는 본문 아래 여백·맨위로 버튼 위치만) */
@media (max-width: 767px) {
	body:has(.lk-mbar) { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
	body:has(.lk-mbar) .hfe-scroll-to-top-button { bottom: 80px !important; }
	/* mobileN 백링크(mu-plugin, 인라인 bottom:8px)가 문의 바를 덮지 않게 바 위로 (10-16) */
	body:has(.lk-mbar) #mn-backlink { bottom: calc(71px + env(safe-area-inset-bottom, 0px)) !important; }
	.lk-mbar { padding-bottom: env(safe-area-inset-bottom, 0px) !important; }
	.lk-mbar a.e-con:focus-visible { outline: 2px solid var(--lk-signal); outline-offset: -4px; }
}

/* 서브 페이지 형제 탭 — 밑줄 탭 (모바일은 가로로 넘긴다) */
.lk-tabs .elementor-button { position: relative; transition: color .25s; }
.lk-tabs .is-on .elementor-button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--lk-signal); }
@media (max-width: 767px) {
	.lk-tabs { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.lk-tabs::-webkit-scrollbar { display: none; }
	.lk-tabs > .elementor-element { flex: 0 0 auto; }
}
.lk-crumb-now { color: var(--lk-ink); font-weight: 700; }

/* 세로 탭(서비스 탐색) — 중첩 탭 위젯에 lk-vtabs. 현재 탭 왼쪽에 노란 막대 */
.lk-vtabs .e-n-tab-title { position: relative; justify-content: flex-start; text-align: left; }
.lk-vtabs .e-n-tab-title[aria-selected="true"]::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 4px; background: var(--lk-signal); }
.lk-vtabs .e-n-tab-title-text { text-align: left; }
/* 가로 밑줄 탭 — 중첩 탭 위젯에 lk-utabs */
.lk-utabs .e-n-tab-title { position: relative; }
.lk-utabs .e-n-tab-title[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--lk-signal); }
@media (max-width: 767px) {
	.lk-utabs .e-n-tabs-heading { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
	.lk-utabs .e-n-tabs-heading::-webkit-scrollbar { display: none; }
	.lk-utabs .e-n-tab-title { flex: 0 0 auto !important; }
}

/* 단계 — 컨테이너 줄에 lk-steps. 단계 사이를 점선 노선으로 잇는다 */
.lk-steps { counter-reset: lkstep; }
.lk-steps > .e-con, .lk-steps > .e-con-inner > .e-con { position: relative; }
@media (min-width: 1025px) {
	.lk-steps > .e-con:not(:last-child)::after, .lk-steps > .e-con-inner > .e-con:not(:last-child)::after {
		content: ""; position: absolute; top: 27px; left: 64px; right: -14px; height: 0; border-top: 2px dashed rgba(10, 26, 51, .22);
	}
	.lk-steps.is-dark > .e-con:not(:last-child)::after, .lk-steps.is-dark > .e-con-inner > .e-con:not(:last-child)::after { border-top-color: rgba(234, 240, 248, .24); }
}

/* 숫자 단계 배지 (제목 위젯에 lk-num) */
.lk-num .elementor-heading-title { display: inline-grid; place-items: center; min-width: 54px; height: 54px; border-radius: 8px; }

/* 지도 모서리 (구글 지도 위젯에 lk-map) */
.lk-map .elementor-widget-container { overflow: hidden; border-radius: 14px; }
.lk-map iframe { display: block; }

/* 표 — 텍스트 편집기 위젯 안 HTML 표 (위젯에 lk-table). Elementor 무료판에는 표 위젯이 없다 */
.lk-table { overflow-x: auto; }
.lk-table table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.6; margin: 0; border: 0; }
/* Hello 테마 기본 table 규칙(셀 사방 테두리 · 홀수 행 줄무늬 · 셀 여백)을 지운다 (73670 독립 검증 발견) */
.lk-table table th, .lk-table table td { border: 0; }
.lk-table table tbody > tr > td, .lk-table table tbody > tr > th { background-color: transparent; }
.lk-table table thead th { text-align: left; padding: 0 16px 12px 0; font-size: 13px; font-weight: 700; letter-spacing: .04em; color: var(--lk-mute); border-bottom: 2px solid var(--lk-ink); vertical-align: bottom; }
.lk-table table tbody th, .lk-table table tbody td { padding: 15px 16px 15px 0; border-bottom: 1px solid var(--lk-line); vertical-align: top; text-align: left; }
.lk-table tbody th { font-weight: 700; color: var(--lk-ink); }
.lk-table td { color: var(--lk-ink-2); font-variant-numeric: tabular-nums; }
.lk-table table .is-num { text-align: right; padding-right: 0; padding-left: 16px; }
.lk-table table tbody > tr.is-hl > th, .lk-table table tbody > tr.is-hl > td { background-color: var(--lk-signal-tint); }
.lk-table table tbody > tr.is-hl > th { box-shadow: inset 4px 0 0 var(--lk-signal); padding-left: 14px; }
@media (max-width: 767px) { .lk-table table { font-size: 14px; } .lk-table table tbody th, .lk-table table tbody td { padding: 12px 12px 12px 0; } .lk-table table .is-num { padding-left: 10px; } }

/* ==========================================================================
   위젯
   ========================================================================== */

/* ---- 세계 노선 지도 ---- */
.lk-rm { position: relative; width: 100%; height: 760px; }
.lk-rm__cv { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }

/* ---- 빠른 조회 콘솔 ---- */
.lk-cs { background: #fff; border-radius: 14px; box-shadow: 0 1px 0 rgba(10, 26, 51, .04), 0 30px 80px rgba(6, 17, 31, .26); color: var(--lk-ink); }
.lk-cs__tabs { display: flex; border-bottom: 1px solid var(--lk-line); padding: 0 10px; }
.lk-cs .lk-cs__tab, .lk-cs .lk-cs__tab:focus {
	appearance: none; position: relative; display: inline-flex; align-items: center; gap: 9px; margin: 0; padding: 19px 22px 18px; border: 0; border-radius: 0;
	background: transparent; color: var(--lk-mute); font-family: inherit; font-size: 15px; font-weight: 700; line-height: 1.2; letter-spacing: 0; cursor: pointer; transition: color .25s;
}
.lk-cs .lk-cs__tab:hover { background: transparent; color: var(--lk-ink); }
.lk-cs .lk-cs__tab.is-on { color: var(--lk-ink); }
.lk-cs .lk-cs__tab.is-on::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 3px; background: var(--lk-signal); }
.lk-cs__panel { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; padding: 22px 24px 18px; }
.lk-cs__panel[hidden] { display: none; }
.lk-cs__field { display: flex; flex-direction: column; gap: 7px; flex: 1 1 180px; min-width: 0; margin: 0; }
.lk-cs__field.is-grow { flex: 1 1 360px; }
.lk-cs__lab { font-size: 12px; font-weight: 700; letter-spacing: .02em; color: var(--lk-mute); }
.lk-cs input, .lk-cs select {
	width: 100%; height: 54px; box-sizing: border-box; margin: 0; padding: 0 16px; border: 1px solid #C9D2DD; border-radius: 8px; background-color: #F7F9FB;
	color: var(--lk-ink); font: inherit; font-size: 16px; transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.lk-cs select { appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, #5B6880 50%), linear-gradient(135deg, #5B6880 50%, transparent 50%); background-position: calc(100% - 22px) 52%, calc(100% - 17px) 52%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.lk-cs input:focus, .lk-cs select:focus { outline: none; border-color: var(--lk-ink); background-color: #fff; box-shadow: 0 0 0 4px rgba(255, 194, 26, .38); }
.lk-cs ::placeholder { color: #7A8699; }
.lk-cs .lk-cs__go, .lk-cs .lk-cs__go:focus {
	appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 54px; margin: 0; padding: 0 28px; border: 0; border-radius: 8px;
	background: var(--lk-signal); color: var(--lk-ink); font-family: inherit; font-size: 16px; font-weight: 800; letter-spacing: 0; white-space: nowrap; cursor: pointer; transition: background-color .25s, color .25s;
}
.lk-cs .lk-cs__go:hover { background: var(--lk-ink); color: #fff; }
.lk-cs__hint { flex: 1 1 100%; margin: 2px 0 0; font-size: 13px; color: var(--lk-mute); }
.lk-cs .lk-cs__sample, .lk-cs .lk-cs__sample:focus {
	appearance: none; margin: 0 2px; padding: 3px 9px; border: 1px dashed #A9B4C3; border-radius: 4px; background: var(--lk-paper); color: var(--lk-ink);
	font-family: inherit; font-size: 13px; font-weight: 700; letter-spacing: .02em; line-height: 1.5; cursor: pointer;
}
.lk-cs .lk-cs__sample:hover { background: var(--lk-signal-tint); border-color: var(--lk-signal-dk); color: var(--lk-ink); }
.lk-cs__note { margin: 0; padding: 0 24px 20px; font-size: 13px; color: var(--lk-mute); }
@media (max-width: 767px) {
	.lk-cs__tabs { padding: 0; }
	.lk-cs .lk-cs__tab, .lk-cs .lk-cs__tab:focus { flex: 1 1 0; justify-content: center; gap: 6px; padding: 16px 6px 15px; font-size: 14px; }
	.lk-cs .lk-cs__tab svg { display: none; }
	.lk-cs .lk-cs__tab.is-on::after { left: 8px; right: 8px; }
	.lk-cs__panel { padding: 18px 16px 14px; gap: 12px; }
	.lk-cs__field, .lk-cs__field.is-grow { flex: 1 1 100%; }
	.lk-cs .lk-cs__go, .lk-cs .lk-cs__go:focus { flex: 1 1 100%; }
	.lk-cs__note { padding: 0 16px 16px; }
}

/* ---- 화물 추적 ---- */
.lk-tr__form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 0; }
.lk-tr__field { display: flex; flex-direction: column; gap: 8px; flex: 1 1 360px; margin: 0; }
.lk-tr__lab { font-size: 13px; font-weight: 700; color: var(--lk-mute); }
.lk-tr .lk-tr__in {
	width: 100%; height: 62px; box-sizing: border-box; margin: 0; padding: 0 20px; border: 2px solid var(--lk-ink); border-radius: 8px; background: #fff;
	color: var(--lk-ink); font: inherit; font-size: 19px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.lk-tr .lk-tr__in::placeholder { text-transform: none; letter-spacing: 0; font-weight: 400; color: #7A8699; }
.lk-tr .lk-tr__in:focus { outline: none; box-shadow: 0 0 0 4px rgba(255, 194, 26, .45); }
.lk-tr .lk-tr__go, .lk-tr .lk-tr__go:focus {
	appearance: none; height: 62px; margin: 0; padding: 0 34px; border: 0; border-radius: 8px; background: var(--lk-signal); color: var(--lk-ink);
	font-family: inherit; font-size: 17px; font-weight: 800; letter-spacing: 0; cursor: pointer; transition: background-color .25s, color .25s;
}
.lk-tr .lk-tr__go:hover { background: var(--lk-ink); color: #fff; }
.lk-tr__samples { margin: 14px 0 0; font-size: 14px; color: var(--lk-mute); }
.lk-tr .lk-tr__sample, .lk-tr .lk-tr__sample:focus {
	appearance: none; margin: 0 4px 4px 0; padding: 4px 10px; border: 1px dashed #A9B4C3; border-radius: 4px; background: var(--lk-paper); color: var(--lk-ink);
	font-family: inherit; font-size: 13px; font-weight: 700; letter-spacing: .03em; line-height: 1.5; cursor: pointer;
}
.lk-tr .lk-tr__sample:hover { background: var(--lk-signal-tint); border-color: var(--lk-signal-dk); color: var(--lk-ink); }
.lk-tr__note { margin: 18px 0 0; font-size: 13px; line-height: 1.6; color: var(--lk-mute); }
.lk-tr__out:empty { display: none; }
.lk-trr { margin-top: 26px; padding: 30px 32px 28px; border: 1px solid var(--lk-line); border-radius: 14px; background: #fff; box-shadow: 0 20px 50px rgba(10, 26, 51, .08); }
.lk-trr__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 14px; padding-bottom: 22px; border-bottom: 1px solid var(--lk-line); }
.lk-trr__k { display: block; font-size: 12px; font-weight: 700; color: var(--lk-mute); margin-bottom: 4px; }
.lk-trr__no { font-size: clamp(22px, 2vw, 28px); font-weight: 800; letter-spacing: .03em; color: var(--lk-ink); }
.lk-trr__chips { display: flex; gap: 8px; }
.lk-trr__mode, .lk-trr__st { padding: 6px 12px; border-radius: 4px; font-size: 13px; font-weight: 800; white-space: nowrap; }
.lk-trr__mode { border: 1.5px solid var(--lk-ink); color: var(--lk-ink); }
.lk-trr__st { background: var(--lk-signal); color: var(--lk-ink); }
.lk-trr__route { display: grid; grid-template-columns: minmax(0, auto) minmax(120px, 1fr) minmax(0, auto); align-items: center; gap: 22px; padding: 28px 0 24px; }
.lk-trr__pt { display: flex; flex-direction: column; gap: 3px; }
.lk-trr__pt.is-end { text-align: right; align-items: flex-end; }
.lk-trr__pt span { font-size: 12px; font-weight: 700; color: var(--lk-mute); }
.lk-trr__pt strong { font-size: 20px; font-weight: 800; color: var(--lk-ink); line-height: 1.3; }
.lk-trr__pt em { font-style: normal; font-size: 13px; color: var(--lk-ink-2); }
.lk-trr__line { position: relative; height: 4px; border-radius: 4px; background: repeating-linear-gradient(90deg, #C9D2DD 0 6px, transparent 6px 11px); }
.lk-trr__fillbar { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--p) * 100%); border-radius: 4px; background: linear-gradient(90deg, var(--lk-ink), var(--lk-blue)); transition: width 1.4s var(--lk-ease); }
.lk-trr__veh { position: absolute; top: 50%; left: calc(var(--p) * 100%); width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; display: grid; place-items: center; background: var(--lk-signal); color: var(--lk-ink); box-shadow: 0 0 0 6px rgba(255, 194, 26, .25); transition: left 1.4s var(--lk-ease); }
.lk-trr__line.is-anim .lk-trr__fillbar { width: 0; transition: none; }
.lk-trr__line.is-anim .lk-trr__veh { left: 0; transition: none; }
.lk-trr__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 0 26px; padding: 18px 0; border-top: 1px solid var(--lk-line); border-bottom: 1px solid var(--lk-line); }
.lk-trr__facts div { padding: 0 18px; border-left: 1px solid var(--lk-line); }
.lk-trr__facts div:first-child { padding-left: 0; border-left: 0; }
.lk-trr__facts dt { margin: 0 0 4px; font-size: 12px; font-weight: 700; color: var(--lk-mute); }
.lk-trr__facts dd { margin: 0; font-size: 15px; font-weight: 700; color: var(--lk-ink); }
.lk-trr__ev { list-style: none; margin: 0; padding: 0; }
.lk-trr__ev li { position: relative; display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 0 26px; padding: 0 0 20px; }
.lk-trr__ev li::before { content: ""; position: absolute; left: 167px; top: 8px; bottom: -8px; width: 2px; background: var(--lk-line); }
.lk-trr__ev li:last-child::before { display: none; }
.lk-trr__ev li.is-done::before { background: var(--lk-ink); }
.lk-trr__evt { font-size: 13px; font-weight: 600; color: var(--lk-mute); padding-top: 1px; }
.lk-trr__evb { position: relative; display: flex; flex-direction: column; gap: 2px; padding-left: 18px; }
.lk-trr__evb::before { content: ""; position: absolute; left: -15px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid #A9B4C3; box-sizing: border-box; }
.lk-trr__ev li.is-done .lk-trr__evb::before { background: var(--lk-ink); border-color: var(--lk-ink); }
.lk-trr__ev li.is-now .lk-trr__evb::before { background: var(--lk-signal); border-color: var(--lk-ink); box-shadow: 0 0 0 5px rgba(255, 194, 26, .3); }
.lk-trr__evb strong { font-size: 15px; font-weight: 700; color: var(--lk-ink); }
.lk-trr__evb span { font-size: 14px; color: var(--lk-ink-2); }
.lk-trr__ev li.is-next .lk-trr__evb strong, .lk-trr__ev li.is-next .lk-trr__evt { color: var(--lk-mute); font-weight: 500; }
.lk-trr.is-nf { border-color: #E9C46A; background: #FFFCF2; }
.lk-trr__nft { margin: 0 0 8px; font-size: 18px; color: var(--lk-ink); }
.lk-trr.is-nf .lk-trr__no { font-size: 16px; color: var(--lk-mute); }
.lk-trr.is-nf p { margin: 0 0 12px; color: var(--lk-ink-2); }
.lk-tr a.lk-trr__help { display: inline-flex; padding: 10px 16px; border-radius: 6px; background: var(--lk-ink); color: #fff; font-weight: 700; text-decoration: none; }
.lk-tr a.lk-trr__help:hover { background: var(--lk-blue); color: #fff; }
@media (max-width: 767px) {
	.lk-tr .lk-tr__go, .lk-tr .lk-tr__go:focus { flex: 1 1 100%; }
	.lk-trr { padding: 22px 18px 20px; }
	.lk-trr__route { grid-template-columns: 1fr 1fr; gap: 16px; }
	.lk-trr__line { grid-column: 1 / -1; grid-row: 2; margin: 10px 22px 6px; }
	.lk-trr__pt strong { font-size: 17px; }
	.lk-trr__facts { grid-template-columns: 1fr; gap: 12px; }
	.lk-trr__facts div { padding: 0; border-left: 0; }
	.lk-trr__ev li { grid-template-columns: 1fr; gap: 2px; padding-left: 22px; }
	.lk-trr__ev li::before { left: 5px; top: 10px; }
	.lk-trr__evb { padding-left: 0; }
	.lk-trr__evb::before { left: -22px; top: -16px; }
}

/* ---- 출항 스케줄 보드 ---- */
.lk-sb { --sb-bg: var(--lk-night-2); --sb-line: rgba(234, 240, 248, .1); --sb-text: var(--lk-on-dark); --sb-sub: rgba(234, 240, 248, .64); --sb-tile: rgba(234, 240, 248, .07);
	padding: 26px 30px 22px; border-radius: 14px; background: var(--sb-bg); color: var(--sb-text); border: 1px solid var(--sb-line); }
.lk-sb.is-light { --sb-bg: #fff; --sb-line: var(--lk-line); --sb-text: var(--lk-ink); --sb-sub: var(--lk-mute); --sb-tile: var(--lk-paper); box-shadow: 0 18px 48px rgba(10, 26, 51, .07); }
.lk-sb__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 24px; margin-bottom: 14px; }
.lk-sb__cap { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: 13px; font-weight: 800; letter-spacing: .12em; color: var(--sb-sub); }
.lk-sb__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lk-signal); animation: lk-blink 1.6s steps(2, start) infinite; }
@keyframes lk-blink { to { visibility: hidden; } }
.lk-sb__filters { display: flex; flex-wrap: wrap; gap: 10px; }
.lk-sb__f { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; font-weight: 700; color: var(--sb-sub); }
.lk-sb .lk-sb__f select {
	appearance: none; height: 40px; width: auto; min-width: 128px; margin: 0; padding: 0 34px 0 12px; border: 1px solid var(--sb-line); border-radius: 6px; background-color: var(--sb-tile);
	color: var(--sb-text); font: inherit; font-size: 14px; font-weight: 600;
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 18px) 52%, calc(100% - 13px) 52%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat;
}
.lk-sb .lk-sb__f select option { color: var(--lk-ink); background: #fff; }
.lk-sb .lk-sb__f select:focus { outline: 2px solid var(--lk-signal); outline-offset: 1px; }
.lk-sb table.lk-sb__t { width: 100%; margin: 0; border-collapse: collapse; border: 0; font-size: 15px; line-height: 1.4; }
.lk-sb table.lk-sb__t th, .lk-sb table.lk-sb__t td { border: 0; background-color: transparent; }
.lk-sb table.lk-sb__t thead th { padding: 10px 12px 12px; text-align: left; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--sb-sub); border-bottom: 1px solid var(--sb-line); white-space: nowrap; }
.lk-sb table.lk-sb__t tbody td { padding: 15px 12px; vertical-align: middle; color: var(--sb-text); border-bottom: 1px solid var(--sb-line); }
.lk-sb table.lk-sb__t tbody tr:last-child td { border-bottom: 0; }
.lk-sb table.lk-sb__t tbody tr[hidden] { display: none; }
.lk-sb table.lk-sb__t .is-num { text-align: right; white-space: nowrap; }
.lk-sb__fl { display: inline-block; white-space: nowrap; }
.lk-sb__etd .lk-sb__fl, .lk-sb__pod .lk-sb__fl { padding: 5px 9px; border-radius: 4px; background: var(--sb-tile); font-weight: 800; letter-spacing: .04em; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); }
.lk-sb.is-light .lk-sb__etd .lk-sb__fl, .lk-sb.is-light .lk-sb__pod .lk-sb__fl { box-shadow: inset 0 -1px 0 rgba(10, 26, 51, .08); }
.lk-sb__day { font-size: 13px; color: var(--sb-sub); margin-left: 4px; }
.lk-sb__ves .lk-sb__fl { font-weight: 700; letter-spacing: .02em; }
.lk-sb__voy { display: block; margin-top: 2px; font-size: 13px; color: var(--sb-sub); }
.lk-sb__st { display: inline-block; padding: 5px 10px; border-radius: 4px; font-size: 13px; font-weight: 800; white-space: nowrap; }
.lk-sb__st.is-open { background: var(--lk-signal); color: var(--lk-ink); }
.lk-sb__st.is-few { border: 1.5px solid var(--lk-signal); color: var(--lk-signal); }
.lk-sb.is-light .lk-sb__st.is-few { border-color: var(--lk-signal-dk); color: var(--lk-signal-dk); }
.lk-sb__st.is-closed { background: rgba(234, 240, 248, .1); color: var(--sb-sub); }
.lk-sb.is-light .lk-sb__st.is-closed { background: var(--lk-paper); }
.lk-sb__st.is-sailed { border: 1.5px solid var(--lk-sky); color: var(--lk-sky); }
.lk-sb.is-light .lk-sb__st.is-sailed { border-color: var(--lk-blue); color: var(--lk-blue); }
.lk-sb__empty { margin: 18px 0 6px; color: var(--sb-sub); }
.lk-sb__note { margin: 14px 0 0; font-size: 13px; color: var(--sb-sub); }
@media (max-width: 1024px) { .lk-sb { padding: 22px 20px 18px; } .lk-sb table.lk-sb__t { font-size: 14px; } .lk-sb table.lk-sb__t tbody td { padding: 13px 8px; } }
@media (max-width: 767px) {
	.lk-sb { padding: 18px 16px 14px; }
	.lk-sb__filters, .lk-sb__f { width: 100%; }
	.lk-sb .lk-sb__f select { flex: 1 1 auto; }
	.lk-sb table.lk-sb__t, .lk-sb table.lk-sb__t tbody { display: block; }
	.lk-sb table.lk-sb__t thead { display: none; }
	.lk-sb table.lk-sb__t tbody tr { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; padding: 14px 0; border-bottom: 1px solid var(--sb-line); }
	.lk-sb table.lk-sb__t tbody tr:last-child { border-bottom: 0; }
	.lk-sb table.lk-sb__t tbody td { display: block; padding: 0; border: 0; }
	.lk-sb table.lk-sb__t tbody td:nth-child(1) { grid-column: 1; }
	.lk-sb table.lk-sb__t tbody td:nth-child(7) { grid-column: 2; grid-row: 1; text-align: right; }
	.lk-sb table.lk-sb__t tbody td:nth-child(2) { grid-column: 1 / -1; }
	.lk-sb table.lk-sb__t tbody td:nth-child(3), .lk-sb table.lk-sb__t tbody td:nth-child(4) { display: inline-block; }
	.lk-sb table.lk-sb__t tbody td:nth-child(3)::after { content: "→"; margin: 0 8px; color: var(--sb-sub); }
	.lk-sb table.lk-sb__t tbody td:nth-child(5), .lk-sb table.lk-sb__t tbody td:nth-child(6) { font-size: 13px; color: var(--sb-sub); text-align: left; }
	.lk-sb table.lk-sb__t tbody td:nth-child(5)::before, .lk-sb table.lk-sb__t tbody td:nth-child(6)::before { content: attr(data-th) " "; font-weight: 700; }
	.lk-sb__voy { display: inline; margin-left: 6px; }
}
@media (prefers-reduced-motion: reduce) { .lk-sb__dot { animation: none; } }

/* ---- 화물 부피·중량 계산기 ---- */
.lk-calc { color: var(--lk-ink); }
.lk-calc__modes { display: inline-flex; flex-wrap: wrap; gap: 0; margin: 0 0 22px; padding: 4px; border: 1px solid var(--lk-line); border-radius: 10px; background: var(--lk-paper); }
.lk-calc__legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.lk-calc__mode { position: relative; margin: 0; cursor: pointer; }
.lk-calc__mode input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lk-calc__mode span { display: block; padding: 11px 20px; border-radius: 7px; font-size: 15px; font-weight: 700; color: var(--lk-ink-2); transition: background-color .25s, color .25s; }
.lk-calc__mode input:checked + span { background: var(--lk-ink); color: #fff; }
.lk-calc__rows { display: flex; flex-direction: column; gap: 10px; }
.lk-calc__row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) 44px; gap: 10px; align-items: end; }
.lk-calc__cell { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.lk-calc__cl { font-size: 12px; font-weight: 700; color: var(--lk-mute); white-space: nowrap; }
.lk-calc__cl em { font-style: normal; font-weight: 500; }
.lk-calc__row + .lk-calc__row .lk-calc__cl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.lk-calc input[type="number"] {
	width: 100%; height: 48px; box-sizing: border-box; margin: 0; padding: 0 12px; border: 1px solid #C9D2DD; border-radius: 6px; background: #fff;
	color: var(--lk-ink); font: inherit; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; -moz-appearance: textfield;
}
.lk-calc input[type="number"]:focus { outline: none; border-color: var(--lk-ink); box-shadow: 0 0 0 4px rgba(255, 194, 26, .38); }
.lk-calc .lk-calc__del, .lk-calc .lk-calc__del:focus {
	appearance: none; width: 44px; height: 48px; margin: 0; padding: 0; display: grid; place-items: center; border: 1px solid var(--lk-line); border-radius: 6px;
	background: #fff; color: var(--lk-mute); cursor: pointer;
}
.lk-calc .lk-calc__del:hover { border-color: var(--lk-ink); background: #fff; color: var(--lk-ink); }
.lk-calc .lk-calc__add, .lk-calc .lk-calc__add:focus {
	appearance: none; display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 0; padding: 11px 16px; border: 1px dashed #A9B4C3; border-radius: 6px;
	background: transparent; color: var(--lk-ink-2); font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
}
.lk-calc .lk-calc__add:hover { border-color: var(--lk-ink); background: var(--lk-paper); color: var(--lk-ink); }
.lk-calc__res { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 26px 0 0; }
.lk-calc__kpi, .lk-calc__box { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border: 1px solid var(--lk-line); border-radius: 10px; background: #fff; transition: background-color .3s, border-color .3s; }
.lk-calc__box { grid-column: span 3; }
.lk-calc__kl { font-size: 13px; font-weight: 700; color: var(--lk-mute); }
.lk-calc__kv { font-size: clamp(24px, 2vw, 30px); font-weight: 800; letter-spacing: -.01em; color: var(--lk-ink); line-height: 1.2; }
.lk-calc__ku { font-style: normal; font-size: 13px; font-weight: 600; color: var(--lk-mute); }
.lk-calc[data-mode="air"] [data-k="cw"], .lk-calc[data-mode="lcl"] [data-k="rt"], .lk-calc[data-mode="fcl"] [data-k="fcl"] { background: var(--lk-signal-tint); border-color: var(--lk-signal); box-shadow: inset 0 3px 0 var(--lk-signal); }
.lk-calc__bar { display: block; height: 8px; margin: 8px 0 2px; border-radius: 8px; background: var(--lk-paper); overflow: hidden; }
.lk-calc__bar i { display: block; height: 100%; width: 0; border-radius: 8px; background: linear-gradient(90deg, var(--lk-ink), var(--lk-blue)); transition: width .6s var(--lk-ease); }
.lk-calc__fill { font-style: normal; font-size: 13px; color: var(--lk-ink-2); }
.lk-calc__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 22px 0 0; }
.lk-calc .lk-calc__cta, .lk-calc .lk-calc__cta:focus {
	appearance: none; display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 17px 28px; border: 0; border-radius: 8px; background: var(--lk-signal); color: var(--lk-ink);
	font-family: inherit; font-size: 16px; font-weight: 800; cursor: pointer; transition: background-color .25s, color .25s;
}
.lk-calc .lk-calc__cta:hover { background: var(--lk-ink); color: #fff; }
.lk-calc__done { margin: 0; font-size: 14px; font-weight: 700; color: var(--lk-blue); }
.lk-calc__note { margin: 16px 0 0; font-size: 13px; line-height: 1.65; color: var(--lk-mute); }
@media (max-width: 767px) {
	.lk-calc__modes { display: flex; }
	.lk-calc__mode { flex: 1 1 0; }
	.lk-calc__mode span { padding: 10px 6px; text-align: center; font-size: 14px; }
	.lk-calc__row { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 14px 0 0; border-top: 1px solid var(--lk-line); }
	.lk-calc__row:first-child { border-top: 0; padding-top: 0; }
	.lk-calc__row + .lk-calc__row .lk-calc__cl { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
	.lk-calc .lk-calc__del, .lk-calc .lk-calc__del:focus { width: 100%; }
	.lk-calc__res { grid-template-columns: 1fr 1fr; }
	.lk-calc__box { grid-column: span 2; }
	.lk-calc .lk-calc__cta, .lk-calc .lk-calc__cta:focus { width: 100%; justify-content: center; }
}

/* ---- 인코텀즈 2020 ---- */
.lk-ic { color: var(--lk-ink); }
.lk-ic__pick { display: flex; flex-wrap: wrap; gap: 18px 36px; margin-bottom: 26px; }
.lk-ic__group { display: flex; flex-direction: column; gap: 10px; }
.lk-ic__gl { font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--lk-mute); }
.lk-ic__btns { display: flex; flex-wrap: wrap; gap: 6px; }
.lk-ic .lk-ic__btn, .lk-ic .lk-ic__btn:focus {
	appearance: none; min-width: 62px; height: 44px; margin: 0; padding: 0 12px; border: 1px solid var(--lk-line); border-radius: 6px; background: #fff; color: var(--lk-ink);
	font-family: inherit; font-size: 15px; font-weight: 800; letter-spacing: .04em; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s;
}
.lk-ic .lk-ic__btn:hover { border-color: var(--lk-ink); background: #fff; color: var(--lk-ink); }
.lk-ic .lk-ic__btn.is-on, .lk-ic .lk-ic__btn.is-on:hover, .lk-ic .lk-ic__btn.is-on:focus { background: var(--lk-ink); border-color: var(--lk-ink); color: #fff; box-shadow: inset 0 -3px 0 var(--lk-signal); }
.lk-ic__panel[hidden] { display: none; }
.lk-ic__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; }
.lk-ic__code { font-size: clamp(36px, 3.4vw, 52px); font-weight: 800; letter-spacing: .02em; line-height: 1; color: var(--lk-ink); }
.lk-ic__name { font-size: 19px; font-weight: 800; color: var(--lk-ink); }
.lk-ic__name em { font-style: normal; font-weight: 500; font-size: 14px; color: var(--lk-mute); margin-left: 10px; letter-spacing: .02em; }
.lk-ic__desc { margin: 14px 0 22px; max-width: 880px; font-size: 16px; line-height: 1.8; color: var(--lk-ink-2); }
.lk-ic__bar { list-style: none; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 4px; margin: 0; padding: 0; }
.lk-ic__seg { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 14px 10px 12px; border-top: 6px solid; background: var(--lk-paper); min-height: 112px; }
.lk-ic__seg.is-s { border-top-color: var(--lk-ink); }
.lk-ic__seg.is-b { border-top-color: var(--lk-signal); background: var(--lk-signal-tint); }
.lk-ic__seg.is-o { border-image: repeating-linear-gradient(90deg, var(--lk-ink) 0 6px, #8C98AA 6px 12px) 6 0 0 0; }
.lk-ic__sn { font-size: 11px; font-weight: 700; color: var(--lk-mute); }
.lk-ic__st { font-size: 13px; font-weight: 700; line-height: 1.4; color: var(--lk-ink); }
.lk-ic__party { margin-top: auto; font-size: 12px; font-weight: 800; color: var(--lk-ink); }
.lk-ic__seg.is-b .lk-ic__party { color: var(--lk-signal-dk); }
.lk-ic__seg.is-risk::after, .lk-ic__seg.is-risk0::before {
	content: ""; position: absolute; top: -16px; bottom: -6px; width: 3px; background: var(--lk-blue); z-index: 2;
}
.lk-ic__seg.is-risk::after { right: -3.5px; }
.lk-ic__seg.is-risk0::before { left: -3.5px; }
.lk-ic__risk { display: flex; align-items: center; gap: 8px; margin: 16px 0 0; font-size: 15px; color: var(--lk-ink-2); }
.lk-ic__risk b { color: var(--lk-blue); font-weight: 800; }
.lk-ic__rk { width: 3px; height: 18px; background: var(--lk-blue); }
.lk-ic__legend { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 22px 0 0; font-size: 13px; color: var(--lk-ink-2); }
.lk-ic__legend span::before { content: ""; display: inline-block; width: 22px; height: 6px; margin-right: 8px; vertical-align: middle; }
.lk-ic__legend .is-s::before { background: var(--lk-ink); }
.lk-ic__legend .is-b::before { background: var(--lk-signal); }
.lk-ic__legend .is-o::before { background: repeating-linear-gradient(90deg, var(--lk-ink) 0 4px, #8C98AA 4px 8px); }
.lk-ic__mxw { margin-top: 38px; overflow-x: auto; }
.lk-ic table.lk-ic__mx { width: 100%; margin: 0; border-collapse: separate; border-spacing: 3px; border: 0; font-size: 12px; }
.lk-ic table.lk-ic__mx th, .lk-ic table.lk-ic__mx td { border: 0; background-color: transparent; }
.lk-ic table.lk-ic__mx thead th { padding: 0 6px 8px; text-align: left; vertical-align: bottom; font-size: 12px; font-weight: 700; line-height: 1.35; color: var(--lk-mute); }
.lk-ic table.lk-ic__mx thead th span { display: block; font-size: 11px; color: var(--lk-ink); }
.lk-ic table.lk-ic__mx tbody th { padding: 0 10px 0 0; font-size: 14px; font-weight: 800; color: var(--lk-ink); text-align: left; white-space: nowrap; cursor: pointer; }
.lk-ic table.lk-ic__mx tbody td { height: 34px; padding: 0 6px; text-align: center; font-weight: 700; cursor: pointer; }
.lk-ic table.lk-ic__mx tbody td.is-s { background-color: var(--lk-ink); color: #fff; }
.lk-ic table.lk-ic__mx tbody td.is-b { background-color: var(--lk-signal-tint); color: #6B4A00; }
.lk-ic table.lk-ic__mx tbody td.is-o { background: repeating-linear-gradient(135deg, var(--lk-ink) 0 6px, #2A3B57 6px 12px); color: #fff; }
.lk-ic table.lk-ic__mx tbody td.is-risk { box-shadow: inset -3px 0 0 var(--lk-blue); }
.lk-ic table.lk-ic__mx tbody tr.is-on th { color: var(--lk-blue); }
.lk-ic table.lk-ic__mx tbody tr.is-on td { outline: 2px solid var(--lk-signal); outline-offset: -2px; }
.lk-ic__note { margin: 18px 0 0; font-size: 13px; line-height: 1.65; color: var(--lk-mute); }
@media (max-width: 1024px) {
	.lk-ic__mxw { display: none; }
	.lk-ic__bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lk-ic__seg.is-risk::after { right: auto; left: 0; top: auto; bottom: -5px; width: 100%; height: 3px; }
	.lk-ic__seg.is-risk0::before { left: 0; top: -6px; bottom: auto; width: 100%; height: 3px; }
}
@media (max-width: 767px) {
	.lk-ic__pick { gap: 14px; }
	.lk-ic .lk-ic__btn, .lk-ic .lk-ic__btn:focus { min-width: 56px; height: 42px; font-size: 14px; }
	.lk-ic__bar { grid-template-columns: 1fr; gap: 3px; }
	.lk-ic__seg, .lk-ic__seg.is-o { flex-direction: row; align-items: center; gap: 10px; min-height: 0; padding: 11px 12px; border-top: 0; border-left: 6px solid; border-image: none; }
	.lk-ic__seg.is-s { border-left-color: var(--lk-ink); }
	.lk-ic__seg.is-b { border-left-color: var(--lk-signal); }
	.lk-ic__seg.is-o { border-left-color: #8C98AA; }
	.lk-ic__party { margin: 0 0 0 auto; }
}

/* ---- 글로벌 네트워크 지도 ---- */
.lk-nm { color: var(--lk-ink); }
.lk-nm__filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.lk-nm .lk-nm__chip, .lk-nm .lk-nm__chip:focus {
	appearance: none; margin: 0; padding: 9px 15px; border: 1px solid var(--lk-line); border-radius: 6px; background: #fff; color: var(--lk-ink);
	font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.3; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s;
}
.lk-nm .lk-nm__chip span { margin-left: 3px; font-weight: 500; color: var(--lk-mute); }
.lk-nm .lk-nm__chip:hover { border-color: var(--lk-ink); background: #fff; color: var(--lk-ink); }
.lk-nm .lk-nm__chip.is-on, .lk-nm .lk-nm__chip.is-on:hover, .lk-nm .lk-nm__chip.is-on:focus { background: var(--lk-ink); border-color: var(--lk-ink); color: #fff; }
.lk-nm .lk-nm__chip.is-on span { color: rgba(255, 255, 255, .7); }
.lk-nm__body { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: stretch; }
.lk-nm__stage { position: relative; height: 560px; border-radius: 14px; background: var(--lk-paper); border: 1px solid var(--lk-line); overflow: hidden; }
.lk-nm__cv { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.lk-nm__pins { position: absolute; inset: 0; }
.lk-nm .lk-nm__pin, .lk-nm .lk-nm__pin:focus {
	appearance: none; position: absolute; width: 30px; height: 30px; margin: -15px 0 0 -15px; padding: 0; border: 0; border-radius: 50%; background: transparent;
	display: grid; place-items: center; cursor: pointer; z-index: 2; transition: opacity .25s;
}
.lk-nm .lk-nm__pin:hover { background: transparent; }
.lk-nm__pin[hidden] { display: none !important; }
.lk-nm__dot { width: 13px; height: 13px; border-radius: 50%; background: var(--lk-blue); box-shadow: 0 0 0 3px #fff, 0 2px 8px rgba(10, 26, 51, .3); transition: transform .25s var(--lk-ease); }
.lk-nm__pin.is-branch .lk-nm__dot { background: var(--lk-ink); }
.lk-nm__pin.is-hq .lk-nm__dot { width: 17px; height: 17px; background: var(--lk-signal); box-shadow: 0 0 0 3px var(--lk-ink), 0 0 0 9px rgba(255, 194, 26, .3); }
.lk-nm__pin:hover .lk-nm__dot, .lk-nm__pin.is-on .lk-nm__dot { transform: scale(1.3); }
.lk-nm__pin.is-dim { opacity: .22; }
.lk-nm__pl {
	position: absolute; left: 100%; top: 50%; transform: translateY(-50%); margin-left: 2px; padding: 4px 9px; border-radius: 4px; background: var(--lk-ink); color: #fff;
	font-size: 12px; font-weight: 700; white-space: nowrap; pointer-events: none; opacity: 0; transition: opacity .2s;
}
.lk-nm__pin.is-left .lk-nm__pl { left: auto; right: 100%; margin: 0 2px 0 0; }
.lk-nm__pin:hover .lk-nm__pl, .lk-nm__pin:focus-visible .lk-nm__pl, .lk-nm__pin.is-on .lk-nm__pl { opacity: 1; }
.lk-nm__pin.is-on { z-index: 3; }
.lk-nm__card { display: flex; flex-direction: column; gap: 8px; padding: 28px 26px; border-radius: 14px; background: var(--lk-ink); color: var(--lk-on-dark); }
.lk-nm__type { align-self: flex-start; padding: 5px 10px; border-radius: 4px; font-size: 12px; font-weight: 800; background: rgba(124, 180, 255, .16); color: var(--lk-sky); }
.lk-nm__type.is-hq { background: var(--lk-signal); color: var(--lk-ink); }
.lk-nm__type.is-branch { background: rgba(234, 240, 248, .12); color: var(--lk-on-dark); }
.lk-nm .lk-nm__name { margin: 6px 0 0; font-size: 24px; font-weight: 800; line-height: 1.3; letter-spacing: -.02em; color: #fff; }
.lk-nm__city { margin: 0; font-size: 14px; color: var(--lk-on-dark-2); }
.lk-nm__desc { margin: 10px 0 0; font-size: 15px; line-height: 1.75; color: var(--lk-on-dark); }
.lk-nm__ct { margin: auto 0 0; padding-top: 16px; border-top: 1px solid rgba(234, 240, 248, .14); font-size: 14px; font-weight: 700; color: var(--lk-signal); }
.lk-nm__list { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 22px 0 0; padding: 0; }
.lk-nm__list li[hidden] { display: none; }
.lk-nm .lk-nm__li, .lk-nm .lk-nm__li:focus {
	appearance: none; width: 100%; height: 100%; margin: 0; padding: 13px 14px; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; text-align: left;
	border: 1px solid var(--lk-line); border-radius: 8px; background: #fff; color: var(--lk-ink); font-family: inherit; cursor: pointer; transition: border-color .2s, box-shadow .2s;
}
.lk-nm .lk-nm__li:hover { border-color: var(--lk-ink); background: #fff; color: var(--lk-ink); }
.lk-nm .lk-nm__li.is-on, .lk-nm .lk-nm__li.is-on:hover, .lk-nm .lk-nm__li.is-on:focus { border-color: var(--lk-ink); box-shadow: inset 0 3px 0 var(--lk-signal); }
.lk-nm__lt { font-size: 11px; font-weight: 800; color: var(--lk-blue); }
.lk-nm__lt.is-hq { color: var(--lk-signal-dk); }
.lk-nm__lt.is-branch { color: var(--lk-ink-2); }
.lk-nm .lk-nm__li strong { font-size: 15px; font-weight: 800; line-height: 1.35; }
.lk-nm__lc { font-size: 13px; font-weight: 400; color: var(--lk-mute); }
@media (max-width: 1024px) {
	.lk-nm__body { grid-template-columns: 1fr; }
	.lk-nm__stage { height: 440px; }
	.lk-nm__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.lk-nm__stage { height: 300px; }
	.lk-nm__pl { display: none; }
	.lk-nm__card { padding: 22px 20px; }
	.lk-nm__list { grid-template-columns: 1fr 1fr; }
}

/* ---- 게시판 최신글 ---- */
.lk-lt { list-style: none; margin: 0; padding: 0; }
.lk-lt.is-list { border-top: 2px solid var(--lk-ink); }
.lk-lt.is-list .lk-lt__row { display: grid; grid-template-columns: 96px auto minmax(0, 1fr) auto; align-items: baseline; gap: 0 14px; padding: 19px 4px; border-bottom: 1px solid var(--lk-line); color: inherit; text-decoration: none; transition: background-color .25s; }
.lk-lt.is-list a.lk-lt__row:hover { background: var(--lk-paper); }
.lk-lt__date { font-size: 14px; font-weight: 600; color: var(--lk-mute); font-variant-numeric: tabular-nums; }
.lk-lt__badge { padding: 3px 9px; border-radius: 4px; background: var(--lk-signal); color: var(--lk-ink); font-size: 12px; font-weight: 800; }
.lk-lt__item:not(.is-notice) .lk-lt__badge { display: none; }
.lk-lt.is-list .lk-lt__title { font-size: 17px; font-weight: 500; line-height: 1.5; color: var(--lk-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color .25s; }
.lk-lt.is-list .lk-lt__item.is-notice .lk-lt__title { font-weight: 700; }
.lk-lt.is-list .lk-lt__row:not(:has(.lk-lt__badge)) { grid-template-columns: 96px minmax(0, 1fr) auto; }
a.lk-lt__row:hover .lk-lt__title { color: var(--lk-blue); }
.lk-lt__file { font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 4px; border: 1px solid var(--lk-line); color: var(--lk-mute); }
.lk-lt.is-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lk-lt.is-cards .lk-lt__row { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid var(--lk-line); transition: transform .45s var(--lk-ease), box-shadow .45s var(--lk-ease); }
.lk-lt.is-cards a.lk-lt__row:hover { transform: translateY(-5px); box-shadow: 0 24px 56px rgba(10, 26, 51, .12); }
.lk-lt__thumb { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--lk-paper); }
.lk-lt__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s var(--lk-ease); }
.lk-lt.is-cards a.lk-lt__row:hover .lk-lt__thumb img { transform: scale(1.05); }
.lk-lt__body { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 24px; }
.lk-lt.is-cards .lk-lt__title { font-size: 18px; font-weight: 800; line-height: 1.45; color: var(--lk-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-wrap: balance; }
.lk-lt__ex { font-size: 14px; line-height: 1.7; color: var(--lk-mute); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lk-lt__empty { margin: 0; padding: 24px 0; color: var(--lk-mute); }
@media (max-width: 1024px) { .lk-lt.is-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.lk-lt.is-list .lk-lt__row, .lk-lt.is-list .lk-lt__row:not(:has(.lk-lt__badge)) { grid-template-columns: auto minmax(0, 1fr); gap: 4px 10px; padding: 16px 2px; }
	.lk-lt.is-list .lk-lt__date { grid-column: 1 / -1; font-size: 13px; }
	.lk-lt.is-list .lk-lt__title { font-size: 16px; white-space: normal; }
	.lk-lt.is-list .lk-lt__file { display: none; }
	.lk-lt.is-cards { grid-template-columns: 1fr; gap: 18px; }
}

/* ==========================================================================
   견적·문의 폼 (Contact Form 7 숏코드 — 숏코드 위젯의 고급 › CSS 클래스에 lk-form)
   ========================================================================== */
.lk-form .wpcf7-form p { margin: 0 0 20px; }
.lk-form .lk-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.lk-form .lk-row.is-3 { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 767px) { .lk-form .lk-row, .lk-form .lk-row.is-3 { grid-template-columns: 1fr; } }
.lk-form .lk-label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; color: var(--lk-ink); }
.lk-form .lk-label em { font-style: normal; color: #B42318; }
.lk-form input[type="text"], .lk-form input[type="tel"], .lk-form input[type="email"], .lk-form input[type="number"],
.lk-form input[type="date"], .lk-form select, .lk-form textarea {
	width: 100%; box-sizing: border-box; padding: 14px 16px; border: 1px solid #C9D2DD; border-radius: 8px;
	background: #fff; color: var(--lk-ink); font: inherit; font-size: 16px; transition: border-color .2s, box-shadow .2s;
}
.lk-form select {
	appearance: none; background-image: linear-gradient(45deg, transparent 50%, #5B6880 50%), linear-gradient(135deg, #5B6880 50%, transparent 50%);
	background-position: calc(100% - 22px) 52%, calc(100% - 17px) 52%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-right: 44px;
}
.lk-form input:focus, .lk-form select:focus, .lk-form textarea:focus { outline: none; border-color: var(--lk-ink); box-shadow: 0 0 0 4px rgba(255, 194, 26, .38); }
.lk-form textarea { min-height: 150px; resize: vertical; }
.lk-form textarea[name="cargo"] { min-height: 130px; font-variant-numeric: tabular-nums; }
.lk-form ::placeholder { color: #7A8699; }
.lk-form .wpcf7-radio .wpcf7-list-item, .lk-form .wpcf7-checkbox .wpcf7-list-item { margin: 0 8px 8px 0; }
.lk-form .wpcf7-radio label, .lk-form .wpcf7-checkbox label {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid #C9D2DD; border-radius: 8px;
	font-size: 15px; line-height: 1.5; word-break: keep-all; color: var(--lk-ink-2); cursor: pointer; transition: border-color .2s, background-color .2s;
}
@media (max-width: 767px) {
	.lk-form .wpcf7-radio label, .lk-form .wpcf7-checkbox label { padding: 10px 14px; align-items: flex-start; }
	.lk-form .wpcf7-radio input, .lk-form .wpcf7-checkbox input { margin-top: 2px; flex: 0 0 auto; }
}
.lk-form .wpcf7-radio label:has(input:checked), .lk-form .wpcf7-checkbox label:has(input:checked) { border-color: var(--lk-ink); background: var(--lk-signal-tint); color: var(--lk-ink); }
.lk-form .wpcf7-radio input, .lk-form .wpcf7-checkbox input, .lk-form .wpcf7-acceptance input { width: 18px; height: 18px; margin: 0; accent-color: var(--lk-ink); }
.lk-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.lk-form .wpcf7-acceptance label { display: inline-flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.6; word-break: keep-all; color: var(--lk-ink-2); cursor: pointer; }
.lk-form .wpcf7-acceptance input { margin-top: 3px; flex: 0 0 auto; }
.lk-form .wpcf7-file { font-size: 15px; max-width: 100%; color: var(--lk-ink-2); }
.lk-form input[type="file"]::file-selector-button {
	margin-right: 12px; padding: 10px 18px; border: 1px solid #C9D2DD; border-radius: 6px; background: #fff; color: var(--lk-ink);
	font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: border-color .2s, background-color .2s;
}
.lk-form input[type="file"]::file-selector-button:hover { border-color: var(--lk-ink); background: var(--lk-paper); }
.lk-form .wpcf7-form .wpcf7-submit, .lk-form .wpcf7-form .wpcf7-submit:focus {
	appearance: none; border: 0; border-radius: 8px; background: var(--lk-signal); color: var(--lk-ink); padding: 19px 46px;
	font-family: inherit; font-size: 17px; font-weight: 800; cursor: pointer; transition: background-color .25s, color .25s;
}
.lk-form .wpcf7-form .wpcf7-submit:hover { background: var(--lk-ink); color: #fff; }
.lk-form .wpcf7-form .wpcf7-submit:disabled, .lk-form .wpcf7-form .wpcf7-submit:disabled:hover { opacity: .45; cursor: not-allowed; background: var(--lk-signal); color: var(--lk-ink); }
.lk-form .wpcf7-not-valid-tip { margin-top: 6px; font-size: 13px; color: #B42318; }
.lk-form .wpcf7 form .wpcf7-response-output { margin: 18px 0 0; padding: 14px 18px; border-radius: 8px; font-size: 14px; }
.lk-form .wpcf7-spinner { vertical-align: middle; }
.lk-form .lk-note { font-size: 13px; color: var(--lk-mute); margin: -8px 0 20px; }
.lk-form fieldset.lk-fs { margin: 0 0 8px; padding: 0; border: 0; }
.lk-form .lk-fs-title { margin: 6px 0 14px; padding-top: 18px; border-top: 1px solid var(--lk-line); font-size: 13px; font-weight: 800; letter-spacing: .06em; color: var(--lk-mute); }
.lk-form .lk-fs-title:first-child { border-top: 0; padding-top: 0; }
