@import url('https://cdn.jsdelivr.net/gh/wanteddev/wanted-sans@v1.0.3/packages/wanted-sans/fonts/webfonts/variable/split/WantedSansVariable.min.css');
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

.kd-sub-page {
  --kd-blue:#025baf;
  --kd-blue-dark:#16304f;
  --kd-black:#1a1a1a;
  --kd-muted:#666;
  --kd-inner:1280px;
  margin:0;
  overflow-x:hidden;
  color:var(--kd-black);
  background:#fff;
  font:16px/1.5 'Wanted Sans',sans-serif;
  word-break:keep-all;
}
.kd-sub-page.menu-open { overflow:hidden; }
.kd-sub-page * { box-sizing:border-box; }
.kd-sub-page a { color:inherit; text-decoration:none; }
.kd-sub-page img { display:block; max-width:100%; }
.kd-sub-page button { font:inherit; }
.kd-sub-page h1,
.kd-sub-page h2,
.kd-sub-page h3,
.kd-sub-page h4,
.kd-sub-page h5,
.kd-sub-page h6 { font-family:'Wanted Sans',sans-serif; }
.kd-sub-page .inner { position:relative; width:min(calc(100% - 40px),var(--kd-inner)); max-width:none; margin:0 auto; padding:0; }
.kd-sub-page .skip-link { position:fixed; top:-60px; left:16px; z-index:9999; padding:12px 16px; color:#fff; background:#000; }
.kd-sub-page .skip-link:focus { top:16px; }

/* header */
.kd-sub-page .site-header { position:absolute; inset:0 0 auto; z-index:3000; height:100px; color:#111; background:#fff; transition:background .25s,box-shadow .25s; }
.kd-sub-page .site-header.is-scrolled { position:fixed; background:rgba(255,255,255,.96); box-shadow:0 4px 20px rgba(0,0,0,.08); }
.kd-sub-page .header-inner { position:relative; width:calc(100% - 140px); max-width:none; height:100%; display:flex; align-items:center; justify-content:space-between; }
.kd-sub-page .brand { display:block; width:187px; }
.kd-sub-page .brand-logo { width:100%; height:auto; }
.kd-sub-page .brand-logo-main { display:none; }
.kd-sub-page .site-header nav { position:absolute; left:50%; margin:0; transform:translateX(-50%); }
.kd-sub-page .site-header .gnb { display:flex; gap:16px; margin:0; padding:0; list-style:none; font-size:18px; font-weight:500; }
.kd-sub-page .site-header .gnb > li { position:relative; }
.kd-sub-page .site-header .gnb > li > a { position:relative; display:block; padding:10px 24px; white-space:nowrap; }
.kd-sub-page .site-header .gnb > li > a::after { position:absolute; bottom:-10px; left:50%; width:0; height:2px; content:''; background:var(--kd-blue); transform:translateX(-50%); transition:width .25s; }
.kd-sub-page .site-header .gnb > li:hover > a::after { width:100%; }
.kd-sub-page .site-header .snb { position:absolute; top:calc(100% + 18px); left:50%; display:none; min-width:180px; margin:0; padding:14px 0; list-style:none; color:#222; text-align:center; background:#fff; border-radius:10px; box-shadow:0 12px 30px rgba(0,0,0,.12); transform:translateX(-50%); }
.kd-sub-page .site-header .snb::before { position:absolute; right:0; bottom:100%; left:0; height:18px; content:''; }
.kd-sub-page .site-header .gnb > li:hover .snb,
.kd-sub-page .site-header .gnb > li:focus-within .snb { display:block; }
.kd-sub-page .site-header .snb a { display:block; padding:9px 20px; font-size:15px; }
.kd-sub-page .site-header .snb a:hover { color:var(--kd-blue); }
.kd-sub-page .contact-link { min-width:130px; margin-left:34px; padding:14px 18px; text-align:center; border:1px solid currentColor; border-radius:8px; font-size:16px; font-weight:600; }
.kd-sub-page .menu-toggle { display:none; width:44px; min-width:44px; height:44px; align-items:center; justify-content:center; padding:0; color:inherit; background:none; border:0; }
.kd-sub-page .menu-toggle-icon { width:28px; height:22px; background:currentColor; -webkit-mask:url('../img/ham_img.png') center/28px 22px no-repeat; mask:url('../img/ham_img.png') center/28px 22px no-repeat; }
.kd-sub-page .menu-toggle.is-open .menu-toggle-icon { -webkit-mask-image:url('../img/ham_close.png'); mask-image:url('../img/ham_close.png'); }
.kd-sub-page .mobile-nav { display:none; }

/* common sub-page top */
.kd-sub-page .sub-hero { position:relative; z-index:30; height:480px; margin-top:100px; color:#fff; background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.08) 25%,rgba(0,0,0,.5) 100%),url('../img/kyungdong-sub/sub-hero-company.jpg') center 37%/cover no-repeat; }
.kd-sub-page .sub-hero.process-hero { background-image:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),url('../img/kyungdong-sub/process-hero.jpg'); }
.kd-sub-page .sub-hero-inner { height:480px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.kd-sub-page .sub-hero h1 { margin:0 0 46px; font:700 70px/1 'Pretendard',sans-serif; letter-spacing:-.01em; }
.kd-sub-page .breadcrumb { position:relative; display:flex; align-items:center; gap:20px; padding:18px 34px; background:rgba(255,255,255,.12); border-radius:999px; box-shadow:6px 6px 24px rgba(0,0,0,.1); backdrop-filter:blur(6px); }
.kd-sub-page .breadcrumb-home { position:relative; flex:0 0 24px; width:24px; height:24px; overflow:visible; }
.kd-sub-page .breadcrumb-home img { position:absolute; top:50%; left:50%; width:30px; max-width:none; height:31px; object-fit:contain; transform:translate(-50%,-50%); }
.kd-sub-page .breadcrumb-divider { flex:0 0 1px; width:1px; height:32px; background:rgba(255,255,255,.35); }
.kd-sub-page .breadcrumb-depth { position:relative; flex:0 0 120px; width:120px; }
.kd-sub-page .breadcrumb-trigger { display:block; width:100%; min-height:32px; padding:0; overflow:hidden; color:#fff; background:none; border:0; text-align:left; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; font:500 20px/1.6 'Pretendard',sans-serif; letter-spacing:-.2px; text-shadow:0 2px 8px rgba(0,0,0,.18); }
.kd-sub-page .breadcrumb-trigger:focus-visible { border-radius:4px; outline:2px solid #fff; outline-offset:3px; }
.kd-sub-page .breadcrumb-menu { position:absolute; top:calc(100% + 18px); left:-20px; z-index:20; display:none; min-width:180px; margin:0; padding:10px; list-style:none; color:#222; background:#fff; border-radius:12px; box-shadow:0 12px 30px rgba(0,0,0,.16); }
.kd-sub-page .breadcrumb-depth.is-open .breadcrumb-menu { display:block; }
.kd-sub-page .breadcrumb-menu a { display:block; padding:10px 12px; border-radius:8px; font-size:15px; line-height:1.4; white-space:nowrap; }
.kd-sub-page .breadcrumb-menu a:hover,
.kd-sub-page .breadcrumb-menu a:focus-visible,
.kd-sub-page .breadcrumb-menu a[aria-current='page'] { color:#fff; background:var(--kd-blue); outline:0; }

.kd-sub-page.board .sub-hero{
  background: url(../img/kyungdong-sub/board-subtop-bg.jpg) no-repeat bottom center / cover;
}

/* common content */
.kd-sub-page .page-section { padding:120px 0; }
.kd-sub-page .section-heading { margin:0 0 64px; text-align:center; }
.kd-sub-page .section-heading h2 { margin:0; font-size:48px; line-height:1.35; }
.kd-sub-page .section-heading p { margin:20px 0 0; color:var(--kd-muted); font-size:18px; }
.kd-sub-page .main-title { margin:0 0 52px; font-size:48px; }
.kd-sub-page .eyebrow { margin:0 0 18px; color:var(--kd-blue); font-size:18px; font-weight:700; }
.kd-sub-page .btn { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:20px; padding:0 20px; color:#fff; background:var(--kd-blue); border:1px solid var(--kd-blue); border-radius:8px; cursor:pointer; }
.kd-sub-page .btn::after { width:7px; height:12px; content:''; background:url('../img/kyungdong-main/icon-arrow.png') center/contain no-repeat; }

/* history */
.kd-sub-page .history-layout { display:grid; grid-template-columns:585px 1fr; gap:70px; max-width:1240px; margin:auto; }
.kd-sub-page .history-images { display:flex; flex-direction:column; gap:90px; }
.kd-sub-page .history-images img { width:100%; height:300px; object-fit:cover; border-radius:20px; }
.kd-sub-page .history-images img:nth-child(2) { margin-top:250px; }
.kd-sub-page .timeline { position:relative; padding-left:58px; }
.kd-sub-page .timeline::before { position:absolute; top:4px; bottom:10px; left:14px; width:1px; content:''; background:#ccc; }
.kd-sub-page .timeline-item { position:relative; margin-bottom:52px; }
.kd-sub-page .timeline-item::before { position:absolute; top:6px; left:-48px; width:8px; height:8px; content:''; background:var(--kd-blue); border:4px solid #d9ecff; border-radius:50%; }
.kd-sub-page .timeline-item h3 { margin:0 0 12px; color:var(--kd-blue); font-size:26px; }
.kd-sub-page .timeline-item p { margin:7px 0; }
.kd-sub-page .timeline-item strong { display:inline-block; width:32px; }

/* organization */
.kd-sub-page .org-panel { width:calc(100% - 60px); height:895px; margin:0 30px; padding:69px max(24px,calc((100% - 1390px)/2)) 75px; background:#f4f6f8; border-radius:40px; }
.kd-sub-page .org-chart { position:relative; width:1330px; max-width:100%; height:332px; margin:0 auto 45px; text-align:center; }
.kd-sub-page .org-box { position:relative; z-index:2; width:250px; height:60px; display:flex; align-items:center; justify-content:center; margin:0 auto 52px; padding:0; color:#fff; background:var(--kd-blue); font:700 20px/28px 'Pretendard',sans-serif; }
.kd-sub-page .org-box:first-child::after { position:absolute; top:60px; left:50%; width:1px; height:52px; content:''; background:#bbb; }
.kd-sub-page .org-box:nth-child(2)::after { position:absolute; top:60px; left:50%; width:1px; height:44px; content:''; background:#bbb; }
.kd-sub-page .departments { position:absolute; bottom:7px; left:50%; width:100%; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; transform:translateX(-50%); }
.kd-sub-page .departments::before { position:absolute; top:-49px; left:calc(10% - 8px); width:calc(80% + 16px); content:''; border-top:1px solid #bbb; }
.kd-sub-page .department { position:relative; height:60px; display:flex; align-items:center; justify-content:center; padding:0; background:#fff; border:1px solid #1a1a1a; font:500 20px/28px 'Pretendard',sans-serif; }
.kd-sub-page .department::before { position:absolute; bottom:100%; left:50%; width:1px; height:49px; content:''; background:#bbb; }
.kd-sub-page .table-wrap { overflow-x:auto; }
.kd-sub-page .staff-table { width:1330px; max-width:100%; min-width:760px; margin:auto; table-layout:fixed; border-spacing:6px; text-align:center; border-collapse:separate; font:16px/1.4 'Pretendard',sans-serif; }
.kd-sub-page .staff-table th { height:48px; padding:10px; color:#fff; background:#1a1a1a; font-weight:600; }
.kd-sub-page .staff-table th:last-child,
.kd-sub-page .staff-table td:last-child { width:181px; }
.kd-sub-page .staff-table td { height:48px; padding:10px; background:#fff; border:.5px solid #1a1a1a; }
.kd-sub-page .staff-table tr.total th{
  background:#fff; color: #1a1a1a;
  border:.5px solid #1a1a1a;
}

/* ceo */
.kd-sub-page .ceo-content { position:relative; z-index:1; overflow:hidden; background:linear-gradient(to bottom,#fff 0 46%,#f4f6f8 72%,#fff 100%); }
.kd-sub-page .ceo-intro { display:grid; grid-template-columns:600px 1fr; gap:40px; align-items:start; margin-bottom:60px; }
.kd-sub-page .ceo-intro blockquote { position:relative; margin:0; padding:30px 0 28px; font:600 26px/1.4 'Wanted Sans',sans-serif; }
.kd-sub-page .ceo-intro blockquote::before,
.kd-sub-page .ceo-intro blockquote::after { position:absolute; width:17px; height:14px; content:''; background:center/contain no-repeat; }
.kd-sub-page .ceo-intro blockquote::before { top:0; left:0; background-image:url('../img/kyungdong-sub/icon-quote-open.svg'); }
.kd-sub-page .ceo-intro blockquote::after { bottom:0; left:0; background-image:url('../img/kyungdong-sub/icon-quote-close.svg'); }
.kd-sub-page .ceo-intro strong { color:var(--kd-blue); }
.kd-sub-page .ceo-copy { color:rgba(26,26,26,.8); font:400 20px/1.6 'Pretendard',sans-serif; }
.kd-sub-page .ceo-copy p:first-child { margin-top:0; font:600 22px/1.45 'Wanted Sans',sans-serif; }
.kd-sub-page .ceo-image { width:calc(100% - max(20px,calc((100% - 1280px)/2))); height:550px; margin-left:max(20px,calc((100% - 1280px)/2)); }
.kd-sub-page .ceo-image img { width:100%; height:550px; object-fit:cover; }
.kd-sub-page .ceo-closing { max-width:680px; margin:60px 0 0 auto; font:400 20px/1.6 'Pretendard',sans-serif; }
.kd-sub-page .ceo-closing > p:not(:last-child){
  margin-bottom: 16px; 
}

/* location */
.kd-sub-page .location-list { max-width:1280px; margin:auto; }
.kd-sub-page .location-item { display:grid; grid-template-columns:460px 750px; gap:70px; align-items:stretch; padding:0 0 60px; margin-bottom:60px; border-bottom:1px solid #ccc; }
.kd-sub-page .location-info { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; padding:40px 0 10px; }
.kd-sub-page .location-item h3 { margin:0; font-size:36px; }
.kd-sub-page .info-list { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:10px 30px; margin-bottom:28px; }
.kd-sub-page .info-list dt { font-size:20px; font-weight:700; white-space:nowrap; }
.kd-sub-page .info-list dd { min-width:0; margin:0; font-size:20px; overflow-wrap:break-word; }
.kd-sub-page .map-image { width:750px; height:380px; object-fit:cover; }
.kd-sub-page .kakao-map-embed { height:auto; aspect-ratio:750/380; overflow:hidden; background:#f4f6f8; }
.kd-sub-page .kakao-map-embed > a,
.kd-sub-page .kakao-map-embed > a > img { display:block; width:100%; height:100%; }
.kd-sub-page .kakao-map-embed > a > img { object-fit:cover; }
.kd-sub-page .kakao-map-embed > .root_daum_roughmap { width:100% !important; }
.kd-sub-page .location-item .btn::after { width:20px; height:20px; background-image:url('../img/kyungdong-sub/icon-map-pin-blue.svg'); background-size:11.666px 13.2344px; }
.kd-sub-page .location-item .btn { width:170px; justify-content:space-between; gap:0; padding:0 14px; color:var(--kd-blue); background:#fff; border-radius:7px; font-size:16px; font-weight:600; white-space:nowrap; transition:color .25s,background-color .25s; }
.kd-sub-page .location-item .btn:hover,
.kd-sub-page .location-item .btn:focus-visible { color:#fff; background:var(--kd-blue); }
.kd-sub-page .location-item .btn:hover::after,
.kd-sub-page .location-item .btn:focus-visible::after { background-image:url('../img/kyungdong-sub/icon-map-pin-white.svg'); }

/* policy */
.kd-sub-page .vision { position:relative; padding:120px 0; overflow:hidden; text-align:center; background:rgba(247,248,248,.7); }
.kd-sub-page .vision::before { position:absolute; inset:0; content:''; background:url('../img/kyungdong-sub/policy-vision-background.jpg') center/cover; opacity:.08; }
.kd-sub-page .vision > * { position:relative; }
.kd-sub-page .vision > .eyebrow { display:inline-flex; margin-bottom:20px; padding:6px 14px; background:#e4f2ff; border-radius:999px; font-size:16px; line-height:1.5; }
.kd-sub-page .vision h2 { margin:0; font-size:48px; line-height:1.4; }
.kd-sub-page .vision h2 strong { color:var(--kd-blue); }
.kd-sub-page .vision-cards { display:grid; grid-template-columns:repeat(3,1fr); width:min(calc(100% - 40px),1280px); margin:50px auto 0; text-align:left; }
.kd-sub-page .vision-card { min-height:270px; display:flex; flex-direction:column; justify-content:space-between; padding:40px; background:#fff; }
.kd-sub-page .vision-card:nth-child(1) { color:#fff; background:var(--kd-blue); }
.kd-sub-page .vision-card:nth-child(3) { color:#fff; background:var(--kd-blue-dark); }
.kd-sub-page .vision-card-head { display:flex; align-items:flex-start; justify-content:space-between; }
.kd-sub-page .vision-card-head img { width:50px; height:50px; object-fit:contain; }
.kd-sub-page .vision-card b { display:block; margin-top:auto; font-size:32px; font-weight:800; }
.kd-sub-page .vision-card p { margin:6px 0 0; color:rgba(17,17,17,.6); font-size:22px; font-weight:600; }
.kd-sub-page .vision-card:nth-child(1) p,
.kd-sub-page .vision-card:nth-child(3) p { color:rgba(255,255,255,.6); }
.kd-sub-page .goal-list { max-width:1280px; margin:auto; }
.kd-sub-page .goal-item { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; margin-bottom:60px; }
.kd-sub-page .goal-item:nth-child(even) .goal-image { order:2; }
.kd-sub-page .goal-image { position:relative; }
.kd-sub-page .goal-image img { width:100%; height:390px; object-fit:cover; object-position:bottom; border-radius:20px; }
.kd-sub-page .goal-image b { position:absolute; top:-70px; z-index:1; font-size:80px; line-height:1.5; }
.kd-sub-page .goal-title { display:flex; align-items:center; gap:12px; }
.kd-sub-page .goal-title img { flex:0 0 60px; width:60px; height:60px; object-fit:contain; }
.kd-sub-page .goal-copy h3 { margin:0; color:var(--kd-blue); font:700 28px/1.5 'Pretendard',sans-serif; }
.kd-sub-page .goal-copy h4 { margin:20px 0 10px; font:600 24px/1.5 'Pretendard',sans-serif; }
.kd-sub-page .goal-copy p { margin:0; color:rgba(26,26,26,.8); font:400 18px/1.5 'Pretendard',sans-serif; }
.kd-sub-page .safety-goals { background:#f5f5f5; }
.kd-sub-page .safety-grid { display:grid; grid-template-columns:repeat(3,345px); justify-content:space-between; }
.kd-sub-page .safety-card { position:relative; }
.kd-sub-page .safety-card + .safety-card::before { position:absolute; top:0; bottom:0; left:-61px; width:1px; content:''; background:#ccc; }
.kd-sub-page .safety-card img { width:345px; height:345px; object-fit:cover; border-radius:20px; }
.kd-sub-page .safety-card small { display:block; margin-top:30px; color:var(--kd-blue); font-size:20px; font-weight:600; }
.kd-sub-page .safety-card b { font-size:28px; }
.kd-sub-page .policy-intro { color:rgba(26,26,26,.8); font:500 20px/1.6 'Pretendard',sans-serif; }
.kd-sub-page .policy-list { width:100%; margin:50px auto 0; padding:0 30px 0 0; list-style:none; }
.kd-sub-page .policy-list li { display:grid; grid-template-columns:100px 1fr; padding:20px 30px; margin:10px 0; background:#f7f7f7; font:400 18px/1.6 'Pretendard',sans-serif; }
.kd-sub-page .policy-list b { display:flex; align-items:center; gap:4px; color:var(--kd-blue); }
.kd-sub-page .policy-list b img { flex:0 0 16px; width:16px; height:16px; object-fit:contain; }

/* process */
.kd-sub-page .process-section { background:#f5f8fc url('../img/kyungdong-sub/process-step-01.png') center/cover no-repeat; }
.kd-sub-page .process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.kd-sub-page .process-section .section-heading p { font-size:20px; }
.kd-sub-page .process-card { padding:20px 20px 34px; text-align:center; background:#fff; border-radius:28px; box-shadow:8px 8px 50px rgba(0,73,142,.12); }
.kd-sub-page .process-card img { width:100%; height:250px; object-fit:cover; border-radius:20px; }
.kd-sub-page .process-card small { display:block; margin-top:22px; color:var(--kd-blue); font-size:18px; font-weight:700; }
.kd-sub-page .process-card h3 { margin:8px 0 0; font-size:28px; font-weight:500; }

/* footer */
.kd-sub-page .site-footer { padding:70px 0; background:#f7f7f7; }
.kd-sub-page .footer-brand-logo { width:187px; height:auto; margin-bottom:28px; }
.kd-sub-page .footer-sites { display:grid; grid-template-columns:repeat(4,1fr); gap:60px; padding:28px 0; border-top:1px solid rgba(0,0,0,.15); border-bottom:1px solid rgba(0,0,0,.15); }
.kd-sub-page .footer-sites h3 { margin:0 0 10px; font-size:16px; }
.kd-sub-page .footer-sites p { margin:4px 0; color:#444; font-size:14px; line-height:1.5; }
.kd-sub-page .footer-sites p:first-of-type::before { margin-right:8px; color:#888; content:'Address'; }
.kd-sub-page .copyright { margin:44px 0 0; color:#777; font-size:13px; }

@media (max-width:1024px) {
  .kd-sub-page .site-header { height:80px; }
  .kd-sub-page .site-header nav,
  .kd-sub-page .contact-link { display:none; }
  .kd-sub-page .site-header nav { position:static; transform:none; }
  .kd-sub-page .header-inner { width:calc(100% - 40px); }
  .kd-sub-page .menu-toggle { display:flex; }
  .kd-sub-page .mobile-nav { position:fixed; z-index:2500; inset:80px 0 0; display:block; padding:24px 28px 48px; overflow-y:auto; color:#111; background:#fff; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-12px); transition:opacity .25s,visibility .25s,transform .25s; }
  .kd-sub-page .mobile-nav.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
  .kd-sub-page .mobile-nav-row { display:flex; align-items:center; border-bottom:1px solid #e5e7eb; }
  .kd-sub-page .mobile-nav-parent { display:block; flex:1; padding:17px 4px; font-size:20px; font-weight:600; }
  .kd-sub-page .mobile-nav-accordion { width:48px; height:48px; display:flex; align-items:center; justify-content:center; padding:0; border:0; background:transparent; cursor:pointer; }
  .kd-sub-page .mobile-nav-accordion span { width:23px; height:23px; background:url('../img/icon_drop.png') center/23px 23px no-repeat; transition:transform .25s; }
  .kd-sub-page .mobile-nav-group.is-open .mobile-nav-accordion span { transform:rotate(180deg); }
  .kd-sub-page .mobile-snb { max-height:0; padding:0 16px; overflow:hidden; background:#f7f8fa; transition:max-height .3s,padding .3s; }
  .kd-sub-page .mobile-nav-group.is-open .mobile-snb { max-height:520px; padding:8px 16px; }
  .kd-sub-page .mobile-snb a { display:block; padding:12px 8px; color:#555; border-bottom:1px solid #e5e7eb; font-size:16px; }
  .kd-sub-page .mobile-snb a:last-child { border-bottom:0; }
  .kd-sub-page .mobile-nav-contact { min-height:48px; display:flex; align-items:center; justify-content:center; margin-top:24px; color:#fff; background:var(--kd-blue); border-radius:8px; font-size:16px; font-weight:600; }
  .kd-sub-page .sub-hero { height:340px; margin-top:80px; }
  .kd-sub-page .sub-hero-inner { height:340px; }
  .kd-sub-page .sub-hero h1 { font-size:44px; }
  .kd-sub-page .page-section { padding:72px 0; }
  .kd-sub-page .section-heading h2,
  .kd-sub-page .main-title { font-size:42px; }
  .kd-sub-page .history-layout,
  .kd-sub-page .ceo-intro { grid-template-columns:1fr; }
  .kd-sub-page .history-images { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:48px; }
  .kd-sub-page .history-images img { height:220px; }
  .kd-sub-page .history-images img:nth-child(2) { margin-top:0; }
  .kd-sub-page .org-panel { width:calc(100% - 40px); height:auto; min-height:760px; margin:0 20px; padding:45px 25px; }
  .kd-sub-page .org-chart { height:auto; }
  .kd-sub-page .org-box { margin-bottom:32px; }
  .kd-sub-page .org-box:first-child::after { height:32px; }
  .kd-sub-page .org-box:nth-child(2) { margin-bottom:52px; }
  .kd-sub-page .org-box:nth-child(2)::after { display:none; }
  .kd-sub-page .departments { position:relative; bottom:auto; left:auto; width:100%; grid-template-columns:repeat(5,1fr); gap:10px; transform:none; }
  .kd-sub-page .departments::before { top:-52px; left:calc(10% - 4px); display:block; width:calc(80% + 8px); }
  .kd-sub-page .department::before { display:block; height:52px; }
  .kd-sub-page .department { z-index:1; min-width:0; font-size:16px; }
  .kd-sub-page .ceo-image { width:100%; margin:0; }
  .kd-sub-page .location-item { grid-template-columns:minmax(260px,1fr) 1.5fr; gap:35px; }
  .kd-sub-page .location-info { padding-top:20px; }
  .kd-sub-page .map-image { width:100%; }
  .kd-sub-page .goal-item { gap:40px; }
  .kd-sub-page .safety-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
  .kd-sub-page .safety-card + .safety-card::before { left:-16px; }
  .kd-sub-page .safety-card img { width:100%; height:auto; aspect-ratio:1; }
  .kd-sub-page .process-grid { grid-template-columns:repeat(2,1fr); }

  .kd-sub-page .ceo-closing > p:not(:last-child){
    margin-bottom: 8px; 
  }

}

@media (min-width:1025px) and (max-width:1320px) {
  .kd-sub-page .location-item { grid-template-columns:minmax(360px,1fr) minmax(0,1.4fr); gap:40px; }
  .kd-sub-page .map-image { width:100%; }
  .kd-sub-page .page-section { padding:100px 0; }
  .kd-sub-page .section-heading h2,
  .kd-sub-page .main-title { font-size:44px; }
}

@media (max-width:640px) {
  .kd-sub-page .inner { width:min(calc(100% - 32px),var(--kd-inner)); }
  .kd-sub-page .site-header { height:72px; }
  .kd-sub-page .mobile-nav { inset:72px 0 0; padding:18px 18px 36px; }
  .kd-sub-page .mobile-nav-parent { padding:15px 2px; font-size:18px; }
  .kd-sub-page .mobile-nav-accordion { width:44px; height:44px; }
  .kd-sub-page .brand { width:148px; }
  .kd-sub-page .sub-hero { height:272px; margin-top:72px; }
  .kd-sub-page .sub-hero-inner { height:208px; }
  .kd-sub-page .sub-hero h1 { margin-bottom:22px; font-size:32px; }
  .kd-sub-page .breadcrumb { width:calc(100% - 24px); min-width:0; gap:8px; padding:11px 14px; }
  .kd-sub-page .breadcrumb-divider { height:24px; }
  .kd-sub-page .breadcrumb-depth { flex:1 1 0; width:auto; min-width:0; }
  .kd-sub-page .breadcrumb-trigger { font-size:14px; text-align:center; letter-spacing:-.14px; }
  .kd-sub-page .breadcrumb-menu { top:calc(100% + 14px); left:50%; min-width:150px; max-width:calc(100vw - 32px); transform:translateX(-50%); }
  .kd-sub-page .page-section { padding:44px 0; }
  .kd-sub-page .section-heading { margin-bottom:28px; }
  .kd-sub-page .section-heading h2,
  .kd-sub-page .main-title { font-size:30px; }
  .kd-sub-page .section-heading p { margin-top:12px; font-size:15px; line-height:1.55; }
  .kd-sub-page .main-title { margin-bottom:30px; }
  .kd-sub-page .history-layout { display:block; }
  .kd-sub-page .history-images { grid-template-columns:1fr; margin-bottom:36px; }
  .kd-sub-page .history-images img { height:auto; aspect-ratio:1.95/1; }
  .kd-sub-page .timeline { padding-left:36px; }
  .kd-sub-page .timeline-item { margin-bottom:32px; }
  .kd-sub-page .timeline-item::before { left:-32px; }
  .kd-sub-page .org-panel { width:calc(100% - 24px); min-height:0; margin:0 12px; padding:30px 16px; border-radius:24px; }
  .kd-sub-page .org-chart { margin-bottom:36px; }
  .kd-sub-page .org-box { width:210px; margin-bottom:20px; padding:14px; }
  .kd-sub-page .org-box:first-child::after { height:20px; }
  .kd-sub-page .org-box:nth-child(2) { margin-bottom:36px; }
  .kd-sub-page .org-box:nth-child(2)::after { display:block; height:36px; }
  .kd-sub-page .departments { grid-template-columns:1fr; }
  .kd-sub-page .departments::before,
  .kd-sub-page .department::before { display:none; }
  .kd-sub-page .department { height:52px; }
  .kd-sub-page .ceo-intro { gap:24px; margin-bottom:32px; }
  .kd-sub-page .ceo-intro blockquote { font-size:19px; }
  .kd-sub-page .ceo-copy,
  .kd-sub-page .ceo-closing { font-size:16px; }
  .kd-sub-page .ceo-closing { margin-top:32px; }
  .kd-sub-page .ceo-image,
  .kd-sub-page .ceo-image img { height:auto; }
  .kd-sub-page .location-item { grid-template-columns:1fr; gap:24px; padding-bottom:40px; margin-bottom:40px; }
  .kd-sub-page .location-info { padding:0; }
  .kd-sub-page .location-item h3 { font-size:25px; }
  .kd-sub-page .info-list { column-gap:18px; margin-bottom:22px; }
  .kd-sub-page .info-list dt,
  .kd-sub-page .info-list dd { font-size:16px; }
  .kd-sub-page .map-image { height:auto; }
  .kd-sub-page .location-item .btn { width:170px; min-height:46px; gap:0; padding:0 14px; font-size:15px; }
  .kd-sub-page .location-item .btn::after { width:18px; height:18px; background-size:10.5px 11.91px; }
  .kd-sub-page .vision { padding:44px 0; }
  .kd-sub-page .vision h2 { padding:0 20px; font-size:27px; }
  .kd-sub-page .vision-cards,
  .kd-sub-page .safety-grid { grid-template-columns:1fr; }
  .kd-sub-page .vision-cards { margin-top:32px; }
  .kd-sub-page .vision-card { min-height:174px; padding:28px; }
  .kd-sub-page .vision-card b { font-size:24px; }
  .kd-sub-page .vision-card p { font-size:16px; }
  .kd-sub-page .goal-item { grid-template-columns:1fr; gap:24px; margin-bottom:56px; }
  .kd-sub-page .goal-item:nth-child(even) .goal-image { order:0; }
  .kd-sub-page .goal-image img { height:260px; }
  .kd-sub-page .goal-image b { top:-28px; font-size:34px; }
  .kd-sub-page .goal-title img { flex-basis:48px; width:48px; height:48px; }
  .kd-sub-page .goal-copy h3 { font-size:23px; }
  .kd-sub-page .goal-copy h4 { font-size:20px; }
  .kd-sub-page .goal-copy p { font-size:16px; }
  .kd-sub-page .policy-list { margin-top:28px; padding:0; }
  .kd-sub-page .policy-intro,
  .kd-sub-page .policy-list li { font-size:16px; }
  .kd-sub-page .policy-list li { grid-template-columns:1fr; gap:8px; padding:16px; }
  .kd-sub-page .safety-grid { gap:28px; }
  .kd-sub-page .safety-card + .safety-card::before { display:none; }
  .kd-sub-page .safety-card img { width:100%; height:auto; aspect-ratio:1; }
  .kd-sub-page .safety-card small { font-size:18px; }
  .kd-sub-page .safety-card b { font-size:24px; }
  .kd-sub-page .process-grid { grid-template-columns:1fr; gap:24px; }
  .kd-sub-page .process-card { padding:14px 14px 26px; }
  .kd-sub-page .process-card img { height:220px; }
  .kd-sub-page .process-card small { margin-top:16px; }
  .kd-sub-page .process-section .section-heading p { font-size:16px; }
  .kd-sub-page .process-card h3 { font-size:24px; }
  .kd-sub-page .footer-sites { grid-template-columns:1fr; gap:16px; padding:20px 0; }
  .kd-sub-page .site-footer { padding:56px 0 32px; }
  .kd-sub-page .footer-brand-logo { margin-bottom:24px; }
  .kd-sub-page .footer-sites section { padding-bottom:18px; border-bottom:1px solid #e5e5e5; }
}

@media (max-width:390px) {
  .kd-sub-page .inner { width:calc(100% - 28px); }
  .kd-sub-page .sub-hero { height:260px; }
  .kd-sub-page .sub-hero-inner { height:188px; }
  .kd-sub-page .sub-hero h1 { font-size:30px; }
  .kd-sub-page .page-section { padding:40px 0; }
  .kd-sub-page .section-heading { margin-bottom:28px; }
  .kd-sub-page .section-heading h2,
  .kd-sub-page .main-title { font-size:28px; }
  .kd-sub-page .main-title { margin-bottom:28px; }
  .kd-sub-page .org-panel { padding:28px 14px; }
  .kd-sub-page .goal-item { margin-bottom:48px; }
}

@media (prefers-reduced-motion:reduce) {
  .kd-sub-page [data-aos] { opacity:1!important; transform:none!important; transition:none!important; }
}

/* additional sub pages */
.kd-sub-page .sub-hero.product-hero { background-image:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.3)),url('../img/kyungdong-sub/product-hero.jpg'); background-position:center 48%; }
.kd-sub-page .sub-hero.esg-hero { background-image:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)),url('../img/kyungdong-sub/esg-hero.jpg'); background-position:center 51%; }
.kd-sub-page .sub-hero.contact-hero { background-image:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,.3)),url('../img/kyungdong-sub/contact-hero.jpg'); background-position:center 61%; }

/* product */
/* .kd-sub-page .product-category-nav { position:relative; z-index:2000; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #ccc; border-bottom:1px solid #ccc; background:#fff; }
 } */
.kd-sub-page .product-category-nav-placeholder { display:block; width:100%; height:0; }
/* .kd-sub-page .product-category-nav a { min-height:84px; display:flex; align-items:center; justify-content:center; padding:20px; border-right:1px solid #ccc; text-align:center; font-size:20px; font-weight:500; letter-spacing:-.01em; }
.kd-sub-page .product-category-nav a:last-child { border-right:0; }
.kd-sub-page .product-category-nav a:hover,
.kd-sub-page .product-category-nav a:focus-visible,
.kd-sub-page .product-category-nav a.is-active { color:#fff; background:var(--kd-blue); outline:0; } */

.kd-sub-page .product-category-nav {
  position: relative;
  z-index: 2000;
  padding: 20px;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.kd-sub-page .product-category-nav a{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 10px;
  border-radius: 9999px;

  color: #555;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.16px;
  text-transform: uppercase;
  text-align: center;
  background: #f1f1f1;
  flex: 1;
}
.kd-sub-page .product-category-nav a:hover,
.kd-sub-page .product-category-nav a:focus-visible,
.kd-sub-page .product-category-nav a.is-active{
  background: #025BAF;
  color: #fff;
}
.kd-sub-page .product-category-nav.is-fixed { position:fixed; top:100px; right:0; left:0; width:100%; 
}

.kd-sub-page .product-sections { width:100%; max-width:1920px; display:flex; flex-direction:column; gap:100px; margin:0 auto; padding:120px 30px; }
.kd-sub-page .product-family { scroll-margin-top:204px; }
.kd-sub-page .product-family + .product-family { padding-top:100px; border-top:1px solid #ccc; }
.kd-sub-page .product-family > h2 { margin:0 0 50px; text-align:center; font-size:48px; line-height:1.4; letter-spacing:-.01em; }
.kd-sub-page .product-diagram { position:relative; width:100%; max-width:1860px; height:auto; aspect-ratio:1860/837; margin:0 auto 30px; overflow:hidden; background:#f4f6f8; border-radius:40px; container-type:inline-size; }
.kd-sub-page .product-diagram:last-child { margin-bottom:0; }
.kd-sub-page .product-diagram > h3 { position:absolute; z-index:4; top:44px; left:50%; margin:0; transform:translateX(-50%); font-size:36px; line-height:1.4; }
.kd-sub-page .diagram-car { position:absolute; top:calc(50% + 29px); left:50%; width:min(62.8%,1168px); max-width:none; height:auto; aspect-ratio:1168/585; object-fit:contain; transform:translate(-50%,-50%); }
.kd-sub-page .engine-diagram { height:auto; aspect-ratio:1860/760; }
.kd-sub-page .engine-diagram .diagram-car { top:calc(50% - 4.5px); }
.kd-sub-page .product-spot { position:static; }
.kd-sub-page .product-point { position:absolute; z-index:8; top:var(--py); left:var(--px); width:44px; height:44px; display:flex; align-items:center; justify-content:center; padding:0; color:inherit; background:none; border:0; border-radius:50%; cursor:pointer; transform:translate(-50%,-50%); }
.kd-sub-page .product-point img { width:20px; height:20px; max-width:none; pointer-events:none; animation:product-point-pulse 1.7s ease-in-out infinite; }
.kd-sub-page .product-point:hover img,
.kd-sub-page .product-point:focus-visible img { animation-play-state:paused; transform:scale(1.25); }
.kd-sub-page .product-point:focus-visible { outline:2px solid var(--kd-blue); outline-offset:3px; }
.kd-sub-page .product-connector { position:absolute; z-index:2; top:var(--ly); left:var(--lx); width:var(--lw); height:var(--lh); max-width:none; }
.kd-sub-page .product-connector-flip-y { transform:scaleY(-1); }
.kd-sub-page .product-connector-rotate { transform:rotate(180deg); }
.kd-sub-page .product-connector-flip-x { transform:scaleX(-1); }
.kd-sub-page .product-callout-card { position:absolute; z-index:5; top:var(--cy); left:var(--cx); width:17.05%; max-width:340px; min-width:0; aspect-ratio:1.4; display:flex; flex-direction:column; align-items:center; padding:20px; overflow:hidden; background:#fff; border:2px solid var(--kd-blue); border-radius:20px; cursor:pointer; }
.kd-sub-page .product-callout-card:focus-visible { outline:3px solid var(--kd-blue); outline-offset:3px; }
.kd-sub-page .product-callout-card h4 { flex:0 0 auto; margin:0; text-align:center; font-size:18px; font-weight:600; line-height:1.3; letter-spacing:-.01em; }
.kd-sub-page .product-callout-card > img { flex:1 1 auto; width:100%; min-height:0; object-fit:contain; }
@keyframes product-point-pulse {
  0%,100% { transform:scale(.82); }
  50% { transform:scale(1.28); }
}
.kd-sub-page .product-modal[hidden] { display:none; }
.kd-sub-page .product-modal { position:fixed; z-index:5000; inset:0; display:flex; align-items:center; justify-content:center; padding:30px; }
.kd-sub-page .product-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.4); }
.kd-sub-page .product-modal-dialog { position:relative; z-index:1; width:min(800px,100%); min-height:400px; padding:36px 40px; overflow:hidden; background:#fff; border-radius:20px; box-shadow:16px 16px 60px rgba(0,0,0,.2); }
.kd-sub-page .product-modal-close { position:absolute; z-index:2; top:32px; right:36px; width:36px; height:36px; display:flex; align-items:center; justify-content:center; padding:0; background:none; border:0; border-radius:50%; cursor:pointer; }
.kd-sub-page .product-modal-close img { width:16px; height:16px; max-width:none; }
.kd-sub-page .product-modal-close:hover,
.kd-sub-page .product-modal-close:focus-visible { background:#f0f3f6; outline:0; }
.kd-sub-page .product-modal-panel[hidden] { display:none; }
.kd-sub-page .product-modal-panel header { padding-right:42px; }
.kd-sub-page .product-modal-panel header small { display:block; margin-bottom:2px; color:var(--kd-blue); font-size:18px; font-weight:600; line-height:1.4; }
.kd-sub-page .product-modal-panel header h2 { margin:0; font-size:28px; line-height:1.4; letter-spacing:-.01em; }
.kd-sub-page .product-modal-body { height:252px; display:grid; grid-template-columns:290px 1fr; gap:24px; margin-top:32px; }
.kd-sub-page .product-modal-body > img { width:290px; height:252px; object-fit:contain; }
.kd-sub-page .product-modal-body > div { padding:20px 24px; overflow-y:auto; background:#f4f6f8; border-radius:12px; }
.kd-sub-page .product-modal-body h3 { margin:0 0 14px; padding-bottom:14px; border-bottom:1px solid #ddd; font-size:20px; line-height:1.4; }
.kd-sub-page .product-modal-body p { margin:0 0 10px; color:#555; font-size:14px; line-height:1.5; }
.kd-sub-page .product-modal-body p:last-child { margin-bottom:0; }
.kd-sub-page.modal-open { overflow:hidden; }

/* ESG */
.kd-sub-page .esg-intro-section { position:relative; padding:120px 0; overflow:hidden; }
.kd-sub-page .esg-intro-section::after { position:absolute; z-index:-1; right:0; bottom:0; left:0; height:460px; content:''; background:#f5f5f5; }
.kd-sub-page .esg-intro-copy { display:flex; flex-direction:column; gap:20px; align-items:flex-start; }
.kd-sub-page .esg-kicker { margin:0; font-size:18px; font-weight:600; line-height:1.4; }
.kd-sub-page .esg-intro-copy h2 { margin:0; font-size:48px; line-height:1.4; letter-spacing:-.01em; }
.kd-sub-page .esg-intro-copy h2 strong { color:var(--kd-blue); }
.kd-sub-page .esg-intro-copy > p:last-child { margin:10px 0 0; font-size:18px; line-height:1.7; }
.kd-sub-page .esg-overview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:70px; }
.kd-sub-page .esg-overview-card { padding:20px; background:#fff; border-radius:20px; box-shadow:10px 10px 30px rgba(0,0,0,.08); }
.kd-sub-page .esg-overview-image { position:relative; height:251px; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; border-radius:16px; }
.kd-sub-page .esg-overview-image::after { position:absolute; inset:50% 0 0; content:''; background:linear-gradient(transparent,rgba(0,0,0,.45)); }
.kd-sub-page .esg-overview-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kd-sub-page .esg-overview-card:nth-child(1) .esg-overview-image img { object-position:center 34%; }
.kd-sub-page .esg-overview-card:nth-child(2) .esg-overview-image img { object-position:center 40%; }
.kd-sub-page .esg-overview-card:nth-child(3) .esg-overview-image img { object-position:center 75%; }
.kd-sub-page .esg-overview-image b { position:relative; z-index:1; margin-bottom:-5px; color:#fff; font-size:48px; font-weight:800; line-height:.7; letter-spacing:-.02em; }
.kd-sub-page .esg-overview-copy { padding:20px 24px; }
.kd-sub-page .esg-overview-copy h3 { margin:0 0 10px; font-size:28px; line-height:1.7; }
.kd-sub-page .esg-overview-copy p { margin:0; color:#555; font-size:16px; font-weight:500; line-height:1.7; }
.kd-sub-page .esg-policy-section { padding:120px 0; overflow-x:clip; }
.kd-sub-page .esg-policy-title { margin:0 0 80px; text-align:center; font-size:48px; line-height:1.4; }
.kd-sub-page .esg-policy-list { display:flex; flex-direction:column; gap:70px; }
.kd-sub-page .esg-policy-row { display:grid; grid-template-columns:400px minmax(0,1fr); gap:60px; align-items:center; }
.kd-sub-page .esg-policy-visual { position:relative; height:520px; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:20px; }
.kd-sub-page .esg-policy-visual::after { position:absolute; inset:0; content:''; background:rgba(0,0,0,.25); }
.kd-sub-page .esg-policy-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kd-sub-page .esg-policy-visual h3 { position:relative; z-index:1; margin:0; color:#fff; text-shadow:0 0 36px rgba(0,0,0,.3); font-size:28px; }
.kd-sub-page .esg-policy-copy { display:flex; flex-direction:column; gap:30px; }
.kd-sub-page .esg-policy-copy section + section { padding-top:30px; border-top:1px solid #ccc; }
.kd-sub-page .esg-policy-copy h4 { margin:0 0 10px; font-size:20px; line-height:1.4; }
.kd-sub-page .esg-policy-copy p { margin:0; color:#777; font-size:16px; font-weight:500; line-height:1.7; }

/* contact */
.kd-sub-page .contact-section { padding:120px 0; overflow-x:clip; }
.kd-sub-page .contact-section > .inner > h2 { margin:0 0 70px; text-align:center; font-size:48px; line-height:1.4; }
.kd-sub-page .contact-form { display:flex; flex-direction:column; gap:60px; align-items:center; }
.kd-sub-page .contact-form-top { width:100%; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:stretch; }
.kd-sub-page .contact-fields { display:flex; flex-direction:column; gap:20px; }
.kd-sub-page .contact-field { display:grid; grid-template-columns:100px minmax(0,1fr); gap:20px; align-items:center; }
.kd-sub-page .contact-field label { display:flex; gap:2px; align-items:flex-start; font:600 20px/2 'Wanted Sans','Pretendard',sans-serif; letter-spacing:-.02em; white-space:nowrap; }
.kd-sub-page .contact-field label img { width:6px; height:6px; margin-top:10px; max-width:none; }
.kd-sub-page .contact-field input,
.kd-sub-page .contact-field textarea { width:100%; min-width:0; padding:20px; color:var(--kd-black); background:#f3f3f3; border:1px solid transparent; border-radius:8px; outline:0; font:500 18px/1.35 'Wanted Sans','Pretendard',sans-serif; }
.kd-sub-page .contact-field input { height:64px; }
.kd-sub-page .contact-field textarea { height:294px; resize:vertical; }
.kd-sub-page .contact-field input::placeholder,
.kd-sub-page .contact-field textarea::placeholder { color:#999; opacity:1; }
.kd-sub-page .contact-field input:focus,
.kd-sub-page .contact-field textarea:focus { border-color:var(--kd-blue); box-shadow:0 0 0 3px rgba(2,91,175,.1); }
.kd-sub-page .contact-field-message { align-items:start; }
.kd-sub-page .contact-form-image { min-height:546px; overflow:hidden; border-radius:20px; }
.kd-sub-page .contact-form-image img { width:100%; height:100%; object-fit:cover; }
.kd-sub-page .privacy-area { width:100%; display:flex; flex-direction:column; gap:24px; align-items:flex-end; }
.kd-sub-page .privacy-policy { width:100%; height:240px; padding:30px 40px; overflow-y:auto; border:1px solid #ddd; border-radius:20px; scrollbar-color:#555 transparent; scrollbar-width:thin; font-family:'Wanted Sans','Pretendard',sans-serif; }
.kd-sub-page .privacy-policy::-webkit-scrollbar { width:14px; }
.kd-sub-page .privacy-policy::-webkit-scrollbar-thumb { background:#555; background-clip:padding-box; border:4px solid transparent; border-radius:999px; }
.kd-sub-page .privacy-policy h3 { margin:0 0 8px; font-size:20px; line-height:1.7; }
.kd-sub-page .privacy-policy p { margin:0; color:#555; font-size:18px; line-height:1.7; letter-spacing:-.02em; }
.kd-sub-page .privacy-consent { display:flex; gap:8px; align-items:center; cursor:pointer; font:500 20px/1.4 'Wanted Sans','Pretendard',sans-serif; }
.kd-sub-page .privacy-consent input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
.kd-sub-page .privacy-check { width:24px; height:24px; display:flex; align-items:center; justify-content:center; flex:0 0 24px; background:#ccc; border-radius:50%; }
.kd-sub-page .privacy-check img { width:14px; height:14px; opacity:0; }
.kd-sub-page .privacy-consent input:checked + .privacy-check { background:var(--kd-blue); }
.kd-sub-page .privacy-consent input:checked + .privacy-check img { opacity:1; }
.kd-sub-page .privacy-consent input:focus-visible + .privacy-check { outline:2px solid var(--kd-blue); outline-offset:3px; }
.kd-sub-page .contact-submit { width:270px; min-height:64px; padding:18px; color:#fff; background:var(--kd-blue); border:1px solid var(--kd-blue); border-radius:10px; cursor:pointer; font-size:20px; font-weight:700; }
.kd-sub-page .contact-submit:hover,
.kd-sub-page .contact-submit:focus-visible { color:var(--kd-blue); background:#fff; outline:0; }

@media(max-width:1600px){
  .kd-sub-page .product-callout-card{
    width: 19%;
  }
}


@media (max-width:1200px) {
  .kd-sub-page .product-callout-card { padding:14px; }
  .kd-sub-page .product-callout-card h4 { font-size:15px; }
  .kd-sub-page .esg-overview-grid { gap:24px; }
  .kd-sub-page .esg-overview-image b { font-size:38px; }
  .kd-sub-page .esg-policy-row { grid-template-columns:340px minmax(0,1fr); gap:40px; }
  .kd-sub-page .esg-policy-visual { height:480px; }
  .kd-sub-page .contact-form-top { gap:36px; }
  .kd-sub-page .contact-field { grid-template-columns:90px minmax(0,1fr); gap:12px; }
}

@media (max-width:1024px) {
  /* .kd-sub-page .product-category-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  
  .kd-sub-page .product-category-nav a:nth-child(2) { border-right:0; }
  .kd-sub-page .product-category-nav a:nth-child(-n+2) { border-bottom:1px solid #ccc; } */

  .kd-sub-page .product-category-nav {
    padding: 10px 20px;
    gap: 5px;
    display: block;
    overflow-x: auto;
    scroll-snap-type : x proximity;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .kd-sub-page .product-category-nav a{
    padding: 12px 12px;
    font-size: 14px;
    flex: none;
    display: inline-block;
    margin-right: 4px;
  }
  .kd-sub-page .product-category-nav a:last-child{
    margin-right: 0;
  }

  .kd-sub-page .product-category-nav.is-fixed { top:80px; }
  .kd-sub-page .product-family { scroll-margin-top:268px; }
  .kd-sub-page .product-sections { gap:72px; padding:80px 20px; }
  .kd-sub-page .product-family + .product-family { padding-top:72px; }
  .kd-sub-page .product-family > h2 { margin-bottom:36px; font-size:38px; }
  .kd-sub-page .product-diagram { height:auto; aspect-ratio:1860/837; border-radius:30px; }
  .kd-sub-page .engine-diagram { height:auto; aspect-ratio:1860/760; }
  .kd-sub-page .product-diagram > h3 { top:34px; font-size:30px; }
  .kd-sub-page .product-callout-card { min-width:0; aspect-ratio:1.35; padding:12px; }
  .kd-sub-page .product-callout-card h4 { font-size:13px; }
  .kd-sub-page .esg-intro-section,
  .kd-sub-page .esg-policy-section,
  .kd-sub-page .contact-section { padding:80px 0; }
  .kd-sub-page .esg-intro-copy h2,
  .kd-sub-page .esg-policy-title,
  .kd-sub-page .contact-section > .inner > h2 { font-size:40px; }
  .kd-sub-page .esg-overview-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:50px; }
  .kd-sub-page .esg-overview-card { padding:14px; }
  .kd-sub-page .esg-overview-image { height:210px; }
  .kd-sub-page .esg-overview-image b { font-size:30px; }
  .kd-sub-page .esg-overview-copy { padding:16px 10px; }
  .kd-sub-page .esg-overview-copy h3 { font-size:24px; }
  .kd-sub-page .esg-policy-title { margin-bottom:56px; }
  .kd-sub-page .esg-policy-row { grid-template-columns:280px minmax(0,1fr); gap:32px; align-items:start; }
  .kd-sub-page .esg-policy-visual { position:sticky; top:100px; height:400px; }
  .kd-sub-page .esg-policy-copy { gap:22px; }
  .kd-sub-page .esg-policy-copy section + section { padding-top:22px; }
  .kd-sub-page .esg-policy-copy p { font-size:15px; }
  .kd-sub-page .contact-section > .inner > h2 { margin-bottom:50px; }
  .kd-sub-page .contact-form-top { grid-template-columns:1fr; }
  .kd-sub-page .contact-form-image { width:min(100%,610px); min-height:0; aspect-ratio:610/546; justify-self:center; }
}

@media(min-width:641px){
  .kd-sub-page .product-callout-card h4{
    width: 100%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
}

@media (max-width:640px) {
  /* .kd-sub-page .product-category-nav { overflow-x:auto; grid-template-columns:repeat(4,230px); border-bottom:1px solid #ccc; scroll-snap-type:x proximity; }
  
  .kd-sub-page .product-category-nav a { min-height:64px; padding:14px 16px; border-right:1px solid #ccc!important; border-bottom:0!important; scroll-snap-align:start; font-size:15px; } */

  .kd-sub-page .product-category-nav a{
    font-size: 13px;
    padding: 10px 10px;
  }
  .kd-sub-page .product-category-nav{
    padding: 8px 14px;
  }
  .kd-sub-page .product-category-nav.is-fixed { top:72px; }
  .kd-sub-page .product-family { scroll-margin-top:156px; }
  .kd-sub-page .product-sections { gap:56px; padding:56px 14px; }
  .kd-sub-page .product-family + .product-family { padding-top:56px; }
  .kd-sub-page .product-family > h2 { margin-bottom:28px; font-size:28px; overflow-wrap:anywhere; }
  .kd-sub-page .product-diagram { height:760px; aspect-ratio:auto; padding:0 16px; border-radius:22px; }
  .kd-sub-page .engine-diagram { height:576px; aspect-ratio:auto; }
  .kd-sub-page .product-diagram > h3 { top:22px; font-size:24px; }
  .kd-sub-page .diagram-car { top:170px; width:96%; height:auto; }
  .kd-sub-page .engine-diagram .diagram-car { top:145px; }
  .kd-sub-page .product-connector { display:none; }
  .kd-sub-page .product-callout-card { right:16px; left:16px; width:auto; max-width:none; min-width:0; height:132px; aspect-ratio:auto; display:grid; grid-template-columns:minmax(0,1fr) 130px; padding:16px 18px; border-radius:14px; }
  .kd-sub-page .product-callout-card h4 { align-self:center; text-align:left; font-size:15px; }
  .kd-sub-page .product-diagram .product-spot:nth-of-type(1) .product-callout-card { top:320px; }
  .kd-sub-page .product-diagram .product-spot:nth-of-type(2) .product-callout-card { top:464px; }
  .kd-sub-page .product-diagram .product-spot:nth-of-type(3) .product-callout-card { top:608px; }
  .kd-sub-page .product-diagram .product-spot:nth-of-type(4) .product-callout-card { top:752px; }
  .kd-sub-page .product-point { top:calc(170px + var(--mobile-point-y,0cqw)); left:var(--mobile-point-x,50%); width:32px; height:32px; }
  .kd-sub-page .product-point[data-product-modal='dash-outer'] { --mobile-point-x:38%; --mobile-point-y:-4.07cqw; }
  .kd-sub-page .product-point[data-product-modal='dash-inner'] { --mobile-point-x:43.84%; --mobile-point-y:-4.48cqw; }
  .kd-sub-page .product-point[data-product-modal='fender-upr'] { --mobile-point-x:55.67%; --mobile-point-y:7.19cqw; }
  .kd-sub-page .product-point[data-product-modal='hood'] { --mobile-point-x:26%; --mobile-point-y:2.1cqw; }
  .kd-sub-page .product-point[data-product-modal='heat-protector'] { --mobile-point-x:49.51%; --mobile-point-y:.86cqw; }
  .kd-sub-page .product-point[data-product-modal='under-cover'] { --mobile-point-x:21.89%; --mobile-point-y:2.51cqw; }
  .kd-sub-page .product-point[data-product-modal='module-headliner'] { --mobile-point-x:58.3%; --mobile-point-y:-17.46cqw; }
  .kd-sub-page .product-point[data-product-modal='floor-carpet'] { --mobile-point-x:61.26%; --mobile-point-y:3.74cqw; }
  .kd-sub-page .product-point[data-product-modal='package-tray'] { --mobile-point-x:83.12%; --mobile-point-y:-13.93cqw; }
  .kd-sub-page .product-point[data-product-modal='luggage-box'] { --mobile-point-x:69.81%; --mobile-point-y:2.26cqw; }
  .kd-sub-page .product-point[data-product-modal='trunk-mat'] { --mobile-point-x:67.1%; --mobile-point-y:7.19cqw; }
  .kd-sub-page .product-point[data-product-modal='trunk-lid'] { --mobile-point-x:81.81%; --mobile-point-y:-1.03cqw; }
  .kd-sub-page .engine-diagram .product-point { top:calc(145px + var(--mobile-point-y,0cqw)); }
  .kd-sub-page .product-point[data-product-modal='engine-encapsulation'] { --mobile-point-x:30.11%; --mobile-point-y:.86cqw; }
  .kd-sub-page .product-point[data-product-modal='engine-room-partition'] { --mobile-point-x:33.89%; --mobile-point-y:-1.44cqw; }
  .kd-sub-page .engine-diagram .product-spot:nth-of-type(1) .product-callout-card { top:280px; }
  .kd-sub-page .engine-diagram .product-spot:nth-of-type(2) .product-callout-card { top:424px; }
  .kd-sub-page .engine-diagram .product-spot:nth-of-type(1) .product-point { top:125px; left:40%; }
  .kd-sub-page .engine-diagram .product-spot:nth-of-type(2) .product-point { top:170px; left:55%; }
  .kd-sub-page .product-modal { padding:16px; }
  .kd-sub-page .product-modal-dialog { max-height:calc(100dvh - 32px); min-height:0; padding:28px 20px 20px; overflow-y:auto; border-radius:16px; }
  .kd-sub-page .product-modal-close { top:18px; right:16px; }
  .kd-sub-page .product-modal-panel header { padding-right:38px; }
  .kd-sub-page .product-modal-panel header small { font-size:14px; }
  .kd-sub-page .product-modal-panel header h2 { font-size:21px; }
  .kd-sub-page .product-modal-body { height:auto; grid-template-columns:1fr; gap:16px; margin-top:24px; }
  .kd-sub-page .product-modal-body > img { width:100%; height:180px; }
  .kd-sub-page .product-modal-body > div { max-height:none; padding:18px; }
  .kd-sub-page .esg-intro-section,
  .kd-sub-page .esg-policy-section,
  .kd-sub-page .contact-section { padding:56px 0; }
  .kd-sub-page .esg-intro-section::after { height:66%; }
  .kd-sub-page .esg-kicker { font-size:15px; }
  .kd-sub-page .esg-intro-copy { gap:14px; }
  .kd-sub-page .esg-intro-copy h2 { font-size:30px; }
  .kd-sub-page .esg-intro-copy > p:last-child { margin-top:4px; font-size:15px; }
  .kd-sub-page .esg-intro-copy br { display:none; }
  .kd-sub-page .esg-overview-grid { grid-template-columns:1fr; gap:24px; margin-top:36px; }
  .kd-sub-page .esg-overview-card { padding:16px; }
  .kd-sub-page .esg-overview-image { height:220px; }
  .kd-sub-page .esg-overview-image b { font-size:38px; }
  .kd-sub-page .esg-overview-copy { padding:16px 10px 10px; }
  .kd-sub-page .esg-policy-title { margin-bottom:36px; font-size:30px; }
  .kd-sub-page .esg-policy-list { gap:56px; }
  .kd-sub-page .esg-policy-row { grid-template-columns:1fr; gap:28px; }
  .kd-sub-page .esg-policy-visual { position:relative; top:auto; height:320px; }
  .kd-sub-page .esg-policy-visual h3 { font-size:24px; }
  .kd-sub-page .esg-policy-copy h4 { font-size:18px; }
  .kd-sub-page .esg-policy-copy p { font-size:15px; }
  .kd-sub-page .esg-policy-copy p br { display:none; }
  .kd-sub-page .contact-section > .inner > h2 { margin-bottom:36px; font-size:30px; }
  .kd-sub-page .contact-form { gap:40px; }
  .kd-sub-page .contact-form-top { gap:28px; }
  .kd-sub-page .contact-field { grid-template-columns:1fr; gap:7px; }
  .kd-sub-page .contact-field label { font-size:17px; line-height:1.5; }
  .kd-sub-page .contact-field label img { margin-top:4px; }
  .kd-sub-page .contact-field input,
  .kd-sub-page .contact-field textarea { padding:16px; font-size:16px; }
  .kd-sub-page .contact-field input { height:56px; }
  .kd-sub-page .contact-field textarea { height:200px; }
  .kd-sub-page .contact-form-image { min-height:0; aspect-ratio:1.15; border-radius:16px; }
  .kd-sub-page .privacy-area { align-items:flex-start; }
  .kd-sub-page .privacy-policy { height:220px; padding:22px 20px; border-radius:16px; }
  .kd-sub-page .privacy-policy h3 { font-size:17px; }
  .kd-sub-page .privacy-policy p { font-size:15px; }
  .kd-sub-page .privacy-consent { align-items:flex-start; font-size:16px; }
  .kd-sub-page .contact-submit { width:100%; min-height:58px; font-size:18px; }
}
