body.kd-home-page { margin: 0; padding-bottom: 0 !important; background: #f4f7fc; color: #14213d; }
.kd-home-page *, .kd-home-page *::before, .kd-home-page *::after { box-sizing: border-box; }
.kd-home-main, .kd-home-main *, .kd-home-footer, .kd-home-footer * { font-family: "Kdaeri NanumSquareNeo", sans-serif !important; }
.kd-home-main { --blue: #075fe4; --navy: #14213d; max-width: 1240px; margin: auto; padding: 24px 20px 60px; line-height: 1.75; word-break: keep-all; overflow-wrap: break-word; }
.kd-home-main h1, .kd-home-main h2, .kd-home-main h3 { color: #14213d; letter-spacing: -.035em; font-weight: 800; }
.kd-home-main h2 { font-size: clamp(26px,2.5vw,34px); line-height: 1.4; margin: 0 0 18px; }
.kd-home-main h3 { font-size: 23px; line-height: 1.4; margin: 0 0 16px; }
.kd-home-main p { font-size: 17px; color: #526079; margin: 0 0 14px; }
.kd-home-main a { text-decoration: none; }
.kd-home-main a:focus-visible, .kd-site-header a:focus-visible, .kd-menu-toggle:focus-visible { outline: 3px solid #075fe4; outline-offset: 4px; }
.kd-hero { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(340px,.92fr); align-items: center; gap: clamp(30px,5vw,72px); padding: clamp(38px,5vw,68px); border: 1px solid #dce7f7; border-radius: 28px; background: radial-gradient(circle at 88% 12%,#075fe429,transparent 34%),linear-gradient(135deg,#fff,#f5f9ff 58%,#edf5ff); box-shadow: 0 24px 70px #14213d1a; }
.kd-home-main .kd-eyebrow { display: inline-block; width: fit-content; margin-bottom: 18px; padding: 7px 12px; border-radius: 999px; background: #e7f0ff; color: #0753bd; font-size: 14px; font-weight: 800; }
.kd-hero h1 { font-size: clamp(30px,2.8vw,38px); line-height: 1.35; margin: 0; }
.kd-hero h1 span { color: #075fe4; }
.kd-home-main .kd-lead { margin: 24px 0 0; font-size: 18px; line-height: 1.72; }
.kd-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.kd-home-main .kd-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 52px; padding: 13px 20px; border: 1px solid transparent; border-radius: 12px; font-size: 15px; font-weight: 700; line-height: 1.4; text-align: center; transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease; }
.kd-home-main .kd-button-primary { color: #fff; background: #075fe4; box-shadow: 0 10px 24px #075fe43d; }
.kd-home-main .kd-button-secondary { color: #18314f; background: #fff; border-color: #cbd9ee; }
.kd-trust { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 30px 0 0; padding: 0; list-style: none; }
.kd-trust li { display: flex; flex-direction: column; border-left: 3px solid #b9d2f7; padding: 10px 12px; }
.kd-trust strong { font-size: 18px; color: #163354; }
.kd-trust span { color: #6a7890; font-size: 13px; margin-top: 2px; }
.kd-route-card { background: #ffffffed; border: 1px solid #fff; border-radius: 24px; padding: 28px; box-shadow: 0 24px 60px #1740782e; }
.kd-route-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 20px; margin-bottom: 24px; border-bottom: 1px solid #e5edf8; font-size: 16px; }
.kd-route-top > span { border-radius: 99px; padding: 5px 9px; background: #e8f8ef; color: #15803d; font-size: 12px; white-space: nowrap; }
.kd-route-point { display: flex; gap: 14px; align-items: center; font-size: 15px; font-weight: 700; }
.kd-route-point i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #e7f0ff; color: #075fe4; font-size: 13px; font-style: normal; }
.kd-route-point small { display: block; color: #7a879b; font-size: 13px; font-weight: 400; }
.kd-route-end i { background: #14213d; color: #fff; }
.kd-route-line { height: 28px; width: 2px; margin: 4px 0 4px 18px; background: repeating-linear-gradient(to bottom,#9eb7da 0 4px,transparent 4px 8px); }
.kd-route-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; }
.kd-route-actions a { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 10px; color: #fff; background: #ff6b35; border-radius: 12px; font-size: 14px; font-weight: 700; text-align: center; box-shadow: 0 8px 18px #ff6b3529; transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease; }
.kd-route-actions a+a { color: #18314f; background: #f1f5fb; border: 1px solid #dce5f1; box-shadow: 0 8px 18px #14213d0d; }
.kd-route-card p { margin: 16px 0 0; font-size: 13px; text-align: center; }
.kd-bear-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: center; padding: 48px 56px; margin-top: 32px; border: 1px solid #e0e7f2; border-radius: 24px; background: #f8fafc; }
.kd-bear-section figure { margin: 0; text-align: center; }
.kd-bear-section img { display: block; width: 100%; height: 390px; object-fit: contain; margin: auto; }
.kd-home-main .kd-kicker { color: #0753bd; font-size: 14px; font-weight: 800; margin: 0 0 10px; }
.kd-bear-section h2 { color: #143d76; }
.kd-bear-section p { font-size: 17px; }
.kd-bear-actions { display: grid; gap: 14px; margin-top: 28px; }
.kd-bear-actions a { display: flex; justify-content: space-between; align-items: center; color: #fff; background: linear-gradient(110deg,#101091,#2469f4); border-radius: 12px; min-height: 64px; padding: 16px 24px; font-size: 18px; font-weight: 800; }
.kd-section { margin-top: 76px; }
.kd-section-heading { text-align: center; margin-bottom: 30px; }
.kd-section-heading h2 { margin-bottom: 12px; }
.kd-services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.kd-services article { display: flex; flex-direction: column; position: relative; padding: 38px; border: 1px solid #dce5f1; border-radius: 22px; background: #fff; }
.kd-services article:nth-child(even) { background: #edf4ff; }
.kd-services .kd-text-link { margin-top: auto; }
.kd-services h3 { font-size: 27px; }
.kd-number { display: block; font-size: 40px; line-height: 1; color: #bfd3f0; font-weight: 800; margin-bottom: 28px; }
.kd-services ul { padding: 0 0 0 20px; color: #526079; font-size: 16px; line-height: 2; margin: 20px 0 28px; }
.kd-text-link { display: inline-flex; justify-content: space-between; gap: 24px; color: #0753bd; font-size: 16px; font-weight: 800; }
.kd-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; list-style: none; padding: 0; margin: 0; }
.kd-steps li { border: 1px solid #dce5f1; border-radius: 18px; background: #fff; padding: 28px; }
.kd-steps b { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #e7f0ff; color: #075fe4; margin-bottom: 20px; }
.kd-steps h3 { font-size: 20px; }
.kd-steps p { font-size: 16px; margin: 0; }
.kd-benefits { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.kd-benefits article { border-top: 2px solid #c3d8f8; padding: 24px 12px; }
.kd-benefits article>span { color: #075fe4; font-weight: 800; font-size: 14px; }
.kd-benefits h3 { font-size: 20px; margin: 16px 0 12px; }
.kd-benefits p { font-size: 16px; margin: 0; }
.kd-app-section { display: flex; justify-content: space-between; align-items: center; gap: 30px; background: #e8f1ff; border-radius: 24px; padding: 38px; margin-top: 50px; }
.kd-app-section p:last-child { margin: 0; font-size: 16px; }
.kd-app-links { display: grid; gap: 12px; min-width: 190px; }
.kd-final { padding: 50px 30px; margin-top: 50px; border-radius: 24px; text-align: center; background: #14213d; }
.kd-final h2 { color: #fff; }
.kd-final p { color: #afc5e8; font-size: 14px; font-weight: 700; }
.kd-final .kd-actions { justify-content: center; }
.kd-final small { display: block; color: #b6c8e1; margin-top: 24px; font-size: 13px; }
@media(hover:hover) and (pointer:fine) {
 .kd-home-main .kd-button:hover, .kd-route-actions a:hover { transform: translateY(-2px); box-shadow: 0 12px 26px #14213d26; }
 .kd-home-main .kd-button-primary:hover { background-color: #0753bd; color: #fff; }
 .kd-home-main .kd-button-secondary:hover { background-color: #e8f1ff; }
 .kd-route-actions a:hover { background-color: #ed5928; color: #fff; }
 .kd-route-actions a+a:hover { background-color: #e4edfb; color: #18314f; }
}
.kd-route-actions a:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 26px #14213d26; }
@media(max-width:1000px) {
 .kd-hero { grid-template-columns: minmax(0,1fr) minmax(300px,.9fr); gap: 28px; padding: 38px; }
 .kd-hero .kd-actions { display: grid; }
 .kd-bear-section { gap: 28px; padding: 36px; }
 .kd-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .kd-home-main { padding: 14px 12px 28px; }
 .kd-hero { grid-template-columns: 1fr; gap: 32px; padding: 28px 22px; border-radius: 22px; }
 .kd-hero h1 { font-size: 32px; }
 .kd-home-main .kd-lead { font-size: 17px; }
 .kd-home-main .kd-eyebrow { font-size: 12px; }
 .kd-actions { display: grid; grid-template-columns: 1fr; }
 .kd-home-main .kd-button { font-size: 16px; }
 .kd-trust { gap: 4px; }
 .kd-trust li { padding: 8px; }
 .kd-trust strong { font-size: 17px; }
 .kd-trust span { font-size: 11px; }
 .kd-route-card { padding: 22px 18px; }
 .kd-route-top { font-size: 14px; }
 .kd-route-actions a { font-size: 13px; padding: 10px 6px; }
 .kd-bear-section { grid-template-columns: 1fr; gap: 20px; padding: 26px 22px; margin-top: 24px; }
 .kd-bear-section img { height: 260px; }
 .kd-bear-section p { font-size: 16px; }
 .kd-bear-actions a { font-size: 16px; min-height: 58px; padding: 14px 18px; }
 .kd-section { margin-top: 48px; }
 .kd-section-heading { padding: 0 8px; margin-bottom: 24px; }
 .kd-home-main h2 { font-size: 26px; }
 .kd-section-heading p { font-size: 16px; }
 .kd-services,.kd-steps { grid-template-columns: 1fr; gap: 16px; }
 .kd-services article { padding: 28px 24px; }
 .kd-steps li { padding: 24px; }
 .kd-benefits { gap: 18px 12px; }
 .kd-benefits article { padding: 20px 6px; }
 .kd-benefits h3 { font-size: 18px; }
 .kd-benefits p { font-size: 14px; }
 .kd-app-section { display: block; margin-top: 32px; padding: 28px 22px; }
 .kd-app-links { margin-top: 24px; }
 .kd-final { margin-top: 32px; padding: 34px 22px; }
 .kd-final .kd-actions { display: grid; }
}
@media(prefers-reduced-motion:reduce) { .kd-home-main .kd-button, .kd-route-actions a { transition: none; } .kd-home-main .kd-button:hover, .kd-route-actions a:hover, .kd-route-actions a:focus-visible { transform: none; } }
