
#gnb.km{display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:auto;z-index:99;width:auto;max-height:100dvh;overflow:auto;box-sizing:border-box;margin:0;padding:8px 20px 20px;border:0;border-radius:0 0 24px 24px;background:#fff;box-shadow:0 0 0 100vmax rgba(25,31,40,.32);visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}
#gnb.km.open{visibility:visible;opacity:1;transform:none;transition-delay:0s}
#gnb.km .close{display:flex;align-items:center;justify-content:center;align-self:flex-end;width:44px;min-height:44px;margin:0 -12px 0 0;padding:0;border:0;border-radius:50%;background:none;font:inherit;font-size:1.25rem;line-height:1;color:#191f28;cursor:pointer}
#gnb.km a{margin:0;border:0;border-radius:0;background:none;letter-spacing:-.02em;text-decoration:none;white-space:normal}
#gnb.km .km-cta{display:flex;align-items:center;justify-content:center;height:52px;margin-top:4px;padding:0;border-radius:14px;background:#2087E9;font-size:16px;font-weight:700;color:#fff}
#gnb.km .km-list{margin:12px 0 0;padding:0;list-style:none}
#gnb.km .km-list a{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;min-height:56px;padding:8px 0;border-bottom:1px solid #f2f4f6;font-size:17px;font-weight:700;line-height:24px;color:#191f28}
#gnb.km .km-list small{grid-column:1;display:block;margin-top:2px;font-size:13px;font-weight:500;line-height:18px;color:#5f6875}
#gnb.km .km-chev{grid-column:2;grid-row:1/3;width:16px;height:16px;fill:none;stroke:#8B95A1;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#gnb.km .km-legal{display:flex;gap:16px;margin:14px 0 0;font-size:13px}
#gnb.km .km-legal a{display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:13px;font-weight:500;color:#5f6875}
#gnb.km .km-cross{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:14px 16px;border-radius:14px;background:#f2f4f6;font-size:16px;font-weight:700;color:#191f28}
#gnb.km .km-cross small{display:block;margin-bottom:2px;font-size:13px;font-weight:500;color:#4e5968}
#gnb.km .km-new{flex:none;width:18px;height:18px;fill:none;stroke:#333d4b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#gnb.km .km-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media (hover:hover){#gnb.km .km-list a:hover,#gnb.km .km-cross:hover{background:#f9fafb}#gnb.km .km-cta:hover{background:#1A78D4}}
@media (min-width:768px){
  #gnb.km{position:absolute;top:calc(100% + 4px);left:auto;right:12px;width:360px;max-height:calc(100dvh - 80px);padding:16px 20px 20px;border-radius:20px;box-shadow:0 16px 40px rgba(25,31,40,.16),0 0 0 1px #e5e8eb}
  #gnb.km .close{display:none}
  #gnb.km .km-list a{min-height:52px;font-size:16px}
  header:has(#gnb.km) .menu-btn{display:inline-flex}
}
@media (prefers-reduced-motion:reduce){#gnb.km{transition:none}}
@media (forced-colors:active){#gnb.km{border:1px solid CanvasText}}

html{-webkit-tap-highlight-color:transparent}
:where(a[href],button:not(:disabled),summary,[role=button]):active{opacity:.9}
