/* Calculator workspace: KOOLTIP colours, compact navigation, tool-first pages. */
body.ktv2-view-calculator { background:#f5f7fa; }
.ktc-shell { width:min(calc(100% - 64px),1320px); margin:0 auto; padding:38px 0 70px; }
.ktc-heading { margin:0 0 30px; }
.ktc-heading h1 { margin:0 0 12px; font-size:clamp(28px,3vw,40px); letter-spacing:-.045em; line-height:1.3; color:#172433; }
.ktc-heading p { margin:0; color:#687586; font-size:15px; }
.ktc-hub .ktc-heading h1 { font-size:clamp(32px,4vw,44px); }
.ktc-hub .ktc-heading br { display:none; }
.ktc-hub .ktv2-kicker { margin-bottom:12px; font-size:11px; }
.ktc-layout { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:32px; align-items:start; }
.ktc-main { min-width:0; }
.ktc-search { display:flex; gap:8px; margin-bottom:20px; }
.ktc-search label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ktc-search input { width:100%; min-width:0; min-height:50px; padding:12px 16px; border:1px solid #dce3e9; border-radius:10px; background:#fff; }
.ktc-search button { flex-shrink:0; padding:0 23px; border:0; border-radius:10px; background:#285d8f; color:#fff; cursor:pointer; }
.ktc-tabs { display:flex; gap:12px; border-bottom:1px solid #dce3e9; overflow-x:auto; }
.ktc-tabs button { flex-shrink:0; padding:12px 14px; font-weight:700; border:0; border-bottom:3px solid transparent; background:transparent; color:#7a8795; cursor:pointer; }
.ktc-tabs button[aria-pressed="true"] { color:#285d8f; border-bottom-color:#285d8f; }
.ktc-list-meta { display:flex; justify-content:space-between; color:#778594; font-size:12px; margin:18px 0 14px; }
.ktc-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ktc-card { display:flex; flex-direction:column; padding:22px; border:1px solid #e2e7ed; border-radius:12px; background:#fff; text-decoration:none; transition:border-color .15s,box-shadow .15s; min-height:204px; }
.ktc-card:hover { border-color:#8faec8; box-shadow:0 5px 18px #285d8f0c; }
.ktc-card-category { color:#69849c; font-size:11px; }
.ktc-card h2 { margin:12px 0 8px; font-size:20px; letter-spacing:-.035em; line-height:1.35; }
.ktc-card p { font-size:13px; color:#79838e; line-height:1.6; margin:0 0 20px; }
.ktc-card-go { margin-top:auto; display:flex; justify-content:space-between; font-size:12px; color:#285d8f; }
.ktc-card[hidden],.ktc-empty[hidden] { display:none; }
.ktc-empty { text-align:center; padding:50px 15px; color:#687586; }
.ktc-breadcrumb { display:flex; gap:12px; margin-bottom:20px; font-size:12px; color:#7c8996; }
.ktc-breadcrumb a { text-decoration:none; }
.ktc-workspace { background:#fff; border:1px solid #e0e6ec; border-radius:16px; overflow:hidden; }
.ktc-workspace-top { display:flex; justify-content:space-between; gap:12px; padding:20px 28px; border-bottom:1px solid #e9edf1; font-size:13px; color:#596b7d; }
.ktc-workspace-top a { color:#285d8f; text-decoration:none; font-size:12px; }
.kt-site-v2 .ktc-workspace .ktc-widget { margin:0!important; width:100%!important; max-width:none!important; border:0!important; border-radius:0!important; box-shadow:none!important; padding:28px!important; background:#fff!important; --kt-green:#285d8f; --kt-a:#285d8f; }
.ktc-widget > [class$="-head"] { display:none!important; }
.ktc-widget label { display:block; font-size:14px; color:#3e5265; line-height:1.6; margin-bottom:8px; }
.kt-site-v2 .ktc-widget input:not([type="checkbox"]):not([type="radio"]),.kt-site-v2 .ktc-widget select { width:100%; min-width:0; max-width:100%; height:50px; padding:10px 14px; background:#fff; border:1px solid #cdd7e1; color:#172433; border-radius:8px; font-size:17px; box-shadow:none; }
.kt-site-v2 .ktc-widget input:focus,.kt-site-v2 .ktc-widget select:focus { border-color:#285d8f; outline:2px solid #285d8f22; }
.ktc-widget [class$="-inrow"] { min-width:0; }
.ktc-widget [class$="-seg"] { display:flex; gap:6px; flex-wrap:wrap; background:#f3f6f9; padding:5px; border-radius:8px; }
.kt-site-v2 .ktc-widget [class$="-seg"] button { background:transparent; border:1px solid transparent; border-radius:6px; min-height:40px; padding:8px 12px; color:#637386; font-size:13px; cursor:pointer; }
.kt-site-v2 .ktc-widget [class$="-seg"] button.on { color:#285d8f; background:#fff; border-color:#d8e2eb; }
.kt-site-v2 .ktc-widget .ktc-calculate { display:block; width:100%; min-height:52px; padding:12px 20px; border:0; border-radius:9px; background:#285d8f; color:#fff; font-size:16px; font-weight:750; cursor:pointer; margin:0 0 24px; }
.kt-site-v2 .ktc-widget [class$="-result"],.kt-site-v2 .ktc-widget #prepay-result,.kt-site-v2 .ktc-widget #it-result { background:#edf4fa!important; border:1px solid #d9e5ef; border-radius:12px; padding:24px; color:#172433!important; }
.kt-site-v2 .ktc-widget [class$="-value"] { color:#285d8f!important; font-size:clamp(26px,3vw,38px); }
.ktc-widget [class$="-rows"] > div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid #dce6ef; }
.ktc-widget [class$="-rows"] b { white-space:nowrap; }
.ktc-widget [class$="-rows"],.ktc-widget [class$="-note"] { font-size:13px; line-height:1.7; }
.ktc-local-note { margin:0; padding:0 28px 22px; color:#84909c; font-size:11px; }
.ktc-ad { position:relative; min-width:0; }
.ktc-ad-rail { min-height:600px; width:100%; }
.ktc-ad-input { display:block!important; width:100%; min-height:180px; margin:40px 0 48px; grid-column:1 / -1!important; }
.ktc-ad-bottom { min-height:180px; margin:40px 0; }
.ktc-ad-preview { background:#edf0f4; border:1px dashed #d3dce5; border-radius:8px; }
.ktc-ad-preview::after { content:"광고 미리보기"; position:absolute; top:50%; left:0; right:0; transform:translateY(-50%); text-align:center; color:#a0acb8; font-size:11px; letter-spacing:.06em; pointer-events:none; }
.ktc-rail-links { display:grid; gap:12px; margin-top:28px; font-size:13px; }
.ktc-rail-links strong { font-size:12px; color:#82909d; }
.ktc-rail-links a { text-decoration:none; padding-bottom:12px; border-bottom:1px solid #e2e7ed; }
.ktc-guide-wrap { margin:22px 0; }
.ktc-guide { background:#fff; border:1px solid #e0e6ec; border-radius:12px; }
.ktc-guide > summary { padding:20px 24px; font-size:15px; cursor:pointer; }
.ktc-guide .ktv2-article-body { padding:12px 28px 28px; }
.ktc-guide .ktv2-article-body h2 { font-size:23px; margin-top:36px; }
.ktc-related h2 { font-size:19px; margin:30px 0 16px; }
.ktc-related > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ktc-related a { display:flex; justify-content:space-between; gap:8px; padding:17px; background:#fff; border:1px solid #e0e6ec; border-radius:9px; font-size:14px; text-decoration:none; }
.ktc-back { display:inline-block; margin-top:26px; font-size:13px; text-decoration:none; color:#285d8f!important; }
.ktc-widget table { width:100%; border-collapse:collapse; font-size:13px; }
.ktc-widget th,.ktc-widget td { padding:10px; border-bottom:1px solid #e4e9ee; }
.ktc-widget svg { max-width:100%; }
.ktc-widget #prepay-result,.ktc-widget #it-result { grid-column:1 / -1; }
.ktc-widget .ktc-calculate { grid-column:1 / -1; }
@media(min-width:1600px) { .ktc-shell { max-width:1450px; } .ktc-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1100px) { .ktc-layout { grid-template-columns:minmax(0,1fr) 200px; gap:24px; } .ktc-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:800px) {
 .ktc-shell { width:calc(100% - 32px); padding:24px 0 48px; }
 .ktc-layout { display:block; }
 .ktc-detail .ktc-rail { display:none; }
 .ktc-hub .ktc-rail { margin-top:28px; }
 .ktc-hub .ktc-ad-rail { min-height:180px; }
 .ktc-heading { margin-bottom:24px; }
 .ktc-hub .ktc-heading br { display:initial; }
 .ktc-tabs { gap:0; }
 .ktc-tabs button { padding:11px 13px; font-size:14px; }
 .ktc-card { padding:17px; min-height:190px; }
 .ktc-card h2 { font-size:18px; }
 .ktc-list-meta { font-size:11px; }
 .ktc-workspace-top { padding:17px 18px; font-size:12px; }
 .kt-site-v2 .ktc-workspace .ktc-widget { padding:20px 18px!important; }
 .ktc-ad-input { min-height:180px; margin:36px 0 44px; }
 .ktc-guide .ktv2-article-body { padding:8px 18px 22px; }
 /* Shared article table containers handle horizontal scrolling. */
 .ktc-related > div { grid-template-columns:1fr; }
 .ktc-local-note { padding:0 18px 18px; }
}
@media(prefers-reduced-motion:reduce) { .ktc-card { transition:none; } }
.ktc-glossary { padding:24px; margin-bottom:28px; background:#fff; border:1px solid #dfe6ec; border-radius:12px; }
.ktc-glossary-label { font-size:11px; color:#6f8ba3; }
.ktc-glossary h2 { margin:7px 0; font-size:20px; letter-spacing:-.04em; }
.ktc-glossary > p { margin:0 0 20px; color:#8995a0; font-size:12px; }
.ktc-glossary dl { margin:0; }
.ktc-glossary dl > div { padding:16px 0; border-top:1px solid #e8edf2; }
.ktc-glossary dt { font-size:14px; font-weight:750; color:#285d8f; margin-bottom:7px; }
.ktc-glossary dd { margin:0; color:#657585; font-size:12px; line-height:1.9; }
.ktc-input-jump { display:block; width:fit-content; margin-top:8px; font-size:11px; text-decoration:none; color:#285d8f!important; }
.ktc-detail .ktc-layout { grid-template-columns:minmax(0,1fr) 280px; }
@media(max-width:800px) {
 .ktc-detail .ktc-layout { display:flex; flex-direction:column; }
 .ktc-detail .ktc-main { display:contents; }
 .ktc-detail .ktc-workspace { order:1; width:100%; }
 .ktc-detail .ktc-detail-rail { display:block; order:2; width:100%; margin:20px 0 0; }
 .ktc-detail-rail > .ktc-ad,.ktc-detail-rail > .ktc-rail-links { display:none; }
 .ktc-glossary { padding:22px; margin:0; }
 .ktc-detail .ktc-guide-wrap { order:3; width:100%; margin:20px 0 0; }
 .ktc-detail .ktc-related { order:4; width:100%; }
 .ktc-detail .ktc-back { order:5; }
}

/* Share the same left-content / right-navigation footprint as the editorial pages. */
.kt-site-v2 .ktc-shell { width:calc(100% - 64px); max-width:var(--ktv2-content); }
.kt-site-v2 .ktc-layout { grid-template-columns:minmax(0,1fr) 280px; gap:40px; }
@media(max-width:1100px) { .kt-site-v2 .ktc-layout { grid-template-columns:minmax(0,1fr) 240px; gap:28px; } }
@media(max-width:980px) { .kt-site-v2 .ktc-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:720px) { .kt-site-v2 .ktc-shell { width:calc(100% - 32px); } }
