/* Shared original-logo navigation: public, privacy and private admin. */
:root { --lnh-nav-height: 82px; --lnh-nav-pad: clamp(24px, 4.5vw, 72px); --lnh-navy: #133250; }
body .site-header {
  box-sizing: border-box;
  position: fixed; inset: 0 0 auto; z-index: 60;
  height: var(--lnh-nav-height) !important;
  padding: 0 var(--lnh-nav-pad) !important;
  display: grid !important; grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  background: rgba(255,255,255,.97) !important;
  border-bottom: 1px solid #d2d3d1;
  color: #242628;
  font-family: "IBM Plex Sans KR", sans-serif;
}
body .site-header.scrolled { height: 66px !important; }
body .site-header .brand {
  grid-column: 1; grid-row: 1; justify-self: start;
  display: inline-flex; align-items: center; z-index: 2;
  padding: 0; line-height: 1;
}
body .site-header .brand img { display: block; height: 24px !important; width: auto !important; object-fit: contain; }
body .site-header .desktop-nav {
  grid-column: 1 / -1; grid-row: 1; justify-self: center;
  display: flex; align-items: center; gap: clamp(9px,.8vw,14px);
  font: 300 12.5px/1 "IBM Plex Sans KR", sans-serif;
  white-space: nowrap;
}
body .site-header .nav-group { display: flex; align-items: center; gap: clamp(9px,.8vw,14px); font: inherit; color: inherit; }
body .site-header a { color: inherit; text-decoration: none; }
body .site-header .nav-divider { width: 1px; height: 14px; margin-inline: 2px; background: #aaa; }
body .site-header .nav-cta, body .site-header > .header-action {
  position: absolute; right: var(--lnh-nav-pad); top: 50%; transform: translateY(-50%);
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 0 14px;
  border: 1px solid var(--lnh-navy); background: var(--lnh-navy); color: #fff;
  font: 400 13px/1 "IBM Plex Sans KR", sans-serif; cursor: pointer;
}
body .site-header .menu-button { display: none; }
body .site-header .desktop-nav .nav-cta { background: var(--lnh-navy) !important; border-color: var(--lnh-navy) !important; color: #fff !important; }
.mobile-menu, .mobile-menu-scrim { display: none; }
.site-header a:focus-visible, .site-header button:focus-visible, .mobile-menu a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
body .site-header.admin-header { background: var(--lnh-navy) !important; color: #fff; border-color: rgba(255,255,255,.2); }
body .site-header.admin-header .brand img { filter: brightness(0) invert(1); }
body .site-header.admin-header .desktop-nav a { color: #fff !important; }
body .site-header.admin-header .nav-divider { background: rgba(255,255,255,.4); }
body .site-header.admin-header > .header-action { border-color: rgba(255,255,255,.65); background: transparent; color: #fff; }
body.admin-body { --navy: var(--lnh-navy); padding-top: var(--lnh-nav-height); }
body.admin-login-body { display: block; padding: calc(var(--lnh-nav-height) + 64px) 22px 64px; }
.admin-login-body .admin-login-card { margin-inline: auto; }
body.menu-open { overflow: hidden; }
@media (max-width: 1120px) {
  :root { --lnh-nav-height: 64px; --lnh-nav-pad: 22px; }
  body .site-header { display: flex !important; justify-content: space-between !important; }
  body .site-header.scrolled { height: 58px !important; }
  body.menu-open .site-header { height: 64px !important; }
  body .site-header .desktop-nav { display: none !important; }
  body .site-header > .header-action { right: 80px; min-height: 36px; font-size: 12px; padding-inline: 10px; }
  body .site-header .menu-button {
    display: block; width: 42px; height: 42px; padding: 0 !important;
    border: 0 !important; background: transparent !important; color: inherit !important;
    font-size: 0 !important; cursor: pointer;
  }
  .site-header .menu-icon { display: block; position: relative; width: 22px; height: 16px; margin: auto; }
  .site-header .menu-icon::before, .site-header .menu-icon::after { content: ""; position: absolute; left: 0; width: 22px; height: 1px; background: currentColor; transition: transform .2s; }
  .site-header .menu-icon::before { top: 3px; }
  .site-header .menu-icon::after { top: 12px; }
  .site-header [aria-expanded="true"] .menu-icon::before { top: 8px; transform: rotate(45deg); }
  .site-header [aria-expanded="true"] .menu-icon::after { top: 8px; transform: rotate(-45deg); }
  body .mobile-menu {
    box-sizing: border-box; display: flex !important; position: fixed !important;
    inset: 64px 0 0 !important; z-index: 55 !important; width: 100% !important;
    padding: 40px 22px !important; background: #f5f5f2 !important;
    overflow-y: auto; flex-direction: column; visibility: hidden !important;
    transform: translateX(100%) !important; opacity: 1 !important;
    transition: transform .3s, visibility .3s !important;
  }
  body .mobile-menu.open { visibility: visible !important; transform: none !important; }
  body .mobile-menu nav { display: flex; flex-direction: column; border: 0; }
  body .mobile-menu .mobile-group { display: flex; flex-direction: column; }
  body .mobile-menu .mobile-group + .mobile-group { margin-top: 28px !important; }
  body .mobile-menu a { display: block; margin: 0; padding: 6px 0; border: 0; color: #242628; text-decoration: none; font: 400 21px/1.35 "IBM Plex Sans KR", sans-serif; }
  body .mobile-menu .mobile-menu-title { margin: 0 0 28px; font: 500 11px/1.5 "IBM Plex Sans KR", sans-serif; letter-spacing: .12em; color: #606467; }
  body .mobile-menu :is(.mobile-menu-bar, .mobile-group-label), body .mobile-menu > p, body .mobile-menu nav > a:last-child { display: none !important; }
  .mobile-menu-scrim { display: none !important; }
  body.admin-login-body { padding-top: 104px; }
}
@media (prefers-reduced-motion: reduce) { body .mobile-menu { transition: none !important; } }
