/* ==========================================================================
   lnp-company-one.css — 회사소개 원페이지 (일반현황 → 연혁 → 오시는길)
   로드 순서: lnp-common.css → lnp-sub.css → lnp-company-one.css (맨 뒤)
   토큰: lnp-common.css 의 --lnp-* 사용. .lnp-container / .lnp-sub-top 등 기존 클래스는 재정의하지 않음.
   ========================================================================== */
:root{
  --lnp-co-tab-h:56px;
  --lnp-co-blue:#2f5da8;      /* 영문 부제 포인트 (navy 밝은 톤, 임시) */
}
html:has(.lnp-co){scroll-behavior:smooth}

/* 탭: 앵커 이동 + 헤더 아래 고정 */
.lnp-co-tabs{position:sticky;top:var(--lnp-header-h);z-index:20;background:#fff;border-bottom:1px solid var(--lnp-border)}
.lnp-co-tabs-in{display:flex}
.lnp-co-tab{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;height:var(--lnp-co-tab-h);padding:0 12px;
  font-size:17px;font-weight:600;color:var(--lnp-text-sub);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s,background .2s}
.lnp-co-tab:hover,.lnp-co-tab:focus-visible{color:var(--lnp-navy);border-bottom-color:var(--lnp-navy);background:var(--lnp-bg-soft)}

/* 섹션 */
.lnp-co-sec{padding:96px 0;background:var(--lnp-bg);scroll-margin-top:calc(var(--lnp-header-h) + var(--lnp-co-tab-h))}
.lnp-co-sec--soft{background:var(--lnp-bg-soft)}
.lnp-co-head{text-align:center;margin-bottom:56px}
.lnp-co-num{display:block;font-size:56px;font-weight:800;line-height:1;letter-spacing:.02em;color:var(--lnp-navy);opacity:.12}
.lnp-co-tit{display:inline-block;margin:-14px 0 0;padding-bottom:10px;font-size:32px;font-weight:700;color:var(--lnp-text);border-bottom:2px solid var(--lnp-navy)}
.lnp-co-en{margin:12px 0 0;font-size:14px;color:var(--lnp-co-blue);letter-spacing:.02em}
.lnp-co-sub{margin:72px 0 28px;font-size:22px;font-weight:700;text-align:center;color:var(--lnp-text)}

/* 일반현황 표 */
.lnp-co-info{max-width:960px;margin:0 auto;border-top:3px solid var(--lnp-navy)}
.lnp-co-info-row{display:grid;grid-template-columns:220px 1fr;align-items:center;gap:20px;padding:24px 24px;border-bottom:1px solid var(--lnp-border);transition:background .2s,box-shadow .2s}
.lnp-co-info-row:hover{background:var(--lnp-bg-soft);box-shadow:inset 4px 0 0 var(--lnp-navy)}
.lnp-co-info dt{display:flex;flex-direction:column;gap:4px;margin:0}
.lnp-co-info-ko{font-size:18px;font-weight:700;color:var(--lnp-navy)}
.lnp-co-info-en{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lnp-co-blue)}
.lnp-co-info dd{min-width:0;margin:0;font-size:20px;font-weight:600;line-height:1.5;letter-spacing:-.01em;word-break:keep-all;color:var(--lnp-text)}
.lnp-co-info a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.lnp-co-info a:hover{color:var(--lnp-navy);border-bottom-color:var(--lnp-navy)}

/* 사업분야 카드 */
.lnp-co-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none}
.lnp-co-card{display:flex;flex-direction:column;align-items:center;min-width:0;padding:32px 18px;text-align:center;background:#fff;border:1px solid var(--lnp-border);border-radius:8px;transition:transform .2s,box-shadow .2s,border-color .2s}
.lnp-co-card:hover{transform:translateY(-4px);border-color:var(--lnp-navy);box-shadow:0 10px 24px rgba(20,49,92,.10)}
.lnp-co-card-ico{display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin-bottom:18px;border-radius:50%;background:var(--lnp-navy);color:#fff;font-size:26px}
.lnp-co-card-ko{font-size:19px;font-weight:700;color:var(--lnp-text)}
.lnp-co-card-en{margin-top:4px;font-size:13px;color:var(--lnp-co-blue)}
.lnp-co-card-desc{margin:16px 0 0;font-size:14px;line-height:1.7;color:var(--lnp-text-sub);word-break:keep-all}

/* 연혁 */
.lnp-co-hist{position:relative;max-width:900px;margin:0 auto;padding:0;list-style:none}
.lnp-co-hist::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:var(--lnp-border)}
.lnp-co-hist-item{position:relative;display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:flex-start;gap:16px;width:50%;padding:0 40px 40px 0;text-align:right;box-sizing:border-box}
.lnp-co-hist-item::after{content:"";position:absolute;top:14px;right:-6px;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background:#fff;border:3px solid var(--lnp-navy)}
.lnp-co-hist-item:nth-child(even){margin-left:50%;padding:0 0 40px 40px;flex-direction:row;justify-content:flex-start;text-align:left}
.lnp-co-hist-item:nth-child(even)::after{right:auto;left:-6px}
.lnp-co-hist-date{flex:0 0 auto;min-width:88px;padding:8px 14px;border-radius:6px;background:var(--lnp-navy);color:#fff;font-weight:700;text-align:center;box-sizing:border-box}
.lnp-co-hist-txt{min-width:0;margin:0;padding-top:6px;font-size:18px;font-weight:600;line-height:1.5;word-break:keep-all;color:var(--lnp-text)}

/* 오시는길 */
.lnp-co-map{width:100%}
.lnp-co-map .root_daum_roughmap{width:100%!important}
.lnp-co-map .root_daum_roughmap .wrap_map{height:400px!important}
.lnp-co-addr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:22px 28px;background:linear-gradient(90deg,var(--lnp-navy-dark),var(--lnp-navy));color:#fff}
.lnp-co-addr-name{font-size:18px}
.lnp-co-addr-text{font-size:16px;opacity:.92}
.lnp-co-way{margin-top:40px}
.lnp-co-way + .lnp-co-way{margin-top:0;padding-top:40px;border-top:1px solid var(--lnp-border)}
.lnp-co-way-tit{margin:0;padding-bottom:12px;font-size:18px;font-weight:700;color:var(--lnp-text);border-bottom:1px dotted #bbb}
.lnp-co-way-list,.lnp-co-bus-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 32px;margin:0;padding:28px 4px 32px;list-style:none}
.lnp-co-way-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;font-size:17px;color:var(--lnp-text-sub)}
.lnp-co-way-name{font-weight:700;color:var(--lnp-text);white-space:nowrap}
.lnp-co-way-exit{font-weight:700;color:var(--lnp-text)}
.lnp-co-line + .lnp-co-way-exit::before,.lnp-co-line + .lnp-co-way-time::before{content:"|";margin-right:8px;font-weight:400;color:var(--lnp-border)}
.lnp-co-bus-item{display:flex;flex-direction:column;gap:6px;min-width:0}
.lnp-co-bus-name{font-size:17px;font-weight:700;color:var(--lnp-text);word-break:keep-all}
.lnp-co-bus-route{font-size:14px;line-height:1.7;color:var(--lnp-text-sub);word-break:keep-all}
.lnp-co-line{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;box-sizing:border-box;border-radius:11px;color:#fff;font-size:12px;font-weight:700}
.lnp-co-line--l2{background:#2fa84f}
.lnp-co-line--dh{background:#2f4eb0}
.root_daum_roughmap .wrap_controllers{display:none;}
.root_daum_roughmap .cont{display:none;}

/* 태블릿 */
@media (max-width:1023px){
  .lnp-co-sec{padding:72px 0}
  .lnp-co-cards{grid-template-columns:repeat(3,1fr)}
  .lnp-co-way-list,.lnp-co-bus-list{grid-template-columns:repeat(2,1fr)}
  .lnp-co-info-row{grid-template-columns:170px 1fr;padding:22px 18px}
  .lnp-co-info dd{font-size:18px}
}
/* 모바일 */
@media (max-width:640px){
  :root{--lnp-co-tab-h:48px}
  .lnp-co-tab{font-size:15px}
  .lnp-co-sec{padding:56px 0}
  .lnp-co-head{margin-bottom:36px}
  .lnp-co-num{font-size:44px}
  .lnp-co-tit{font-size:26px}
  .lnp-co-sub{margin:52px 0 20px;font-size:20px}
  .lnp-co-info-row{grid-template-columns:1fr;gap:6px;padding:18px 16px}
  .lnp-co-info-ko{font-size:15px}
  .lnp-co-info dd{font-size:17px}
  .lnp-co-cards{grid-template-columns:1fr}
  .lnp-co-card{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:0 16px;padding:20px;text-align:left}
  .lnp-co-card-ico{width:48px;height:48px;margin:0;font-size:22px}
  .lnp-co-card-ko{flex:1 1 0;min-width:0}
  .lnp-co-card-en{display:none}
  .lnp-co-card-desc{flex:0 0 100%;margin-top:12px}
  .lnp-co-hist::before{left:14px;margin-left:0}
  .lnp-co-hist-item,.lnp-co-hist-item:nth-child(even){width:100%;margin-left:0;padding:0 0 28px 44px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;text-align:left}
  .lnp-co-hist-item::after,.lnp-co-hist-item:nth-child(even)::after{left:9px;right:auto}
  .lnp-co-hist-txt{padding-top:0;font-size:16px}
  .lnp-co-map .root_daum_roughmap .wrap_map{height:280px!important}
  .lnp-co-addr{padding:18px 20px}
  .lnp-co-way-list,.lnp-co-bus-list{grid-template-columns:1fr;gap:18px;padding:22px 12px 26px}
}
