/* One public header, isolated from page-specific header/nav styles. */
#site-header{box-sizing:border-box;position:relative;top:auto;left:auto;z-index:20;width:100%;height:88px;min-height:88px;margin:0;padding:0 clamp(24px,4.3vw,88px);display:flex;align-items:center;justify-content:space-between;gap:25px;background:#fbfbf9;border:0;border-bottom:1px solid rgba(24,33,39,.1);color:#182127;font:400 14px 'Pretendard',Arial,sans-serif;letter-spacing:normal;box-shadow:none;transform:none}
#site-header *{box-sizing:border-box}
#site-header a{color:inherit;text-decoration:none;transition:color .25s,background .25s}
#site-header .sh-brand{display:flex;flex-direction:column;flex-shrink:0;gap:7px;margin:0;padding:0;line-height:1;letter-spacing:normal}
#site-header .sh-brand img{display:block;width:140px;height:auto;max-width:none;object-fit:contain;margin:0;border:0}
#site-header .sh-brand span{display:block;margin:0;font:600 8px/1.2 'Pretendard',Arial,sans-serif;letter-spacing:.13em;color:#88908e}
#site-header .sh-nav{position:static;display:flex;flex-direction:row;align-items:center;gap:clamp(22px,2.7vw,50px);margin:0;padding:0;width:auto;height:100%;background:none;border:0;box-shadow:none;font:400 14px 'Pretendard',Arial,sans-serif}
#site-header .sh-nav a{position:relative;display:flex;align-items:center;height:100%;margin:0;padding:0;white-space:nowrap;font:inherit;letter-spacing:normal;color:#6f787b;border:0;box-shadow:none}
#site-header .sh-nav a::after{content:none}
#site-header .sh-nav a:hover,#site-header .sh-nav a[aria-current]{color:#182127}
#site-header .sh-nav a[aria-current]{box-shadow:inset 0 -2px #182127}
#site-header .sh-actions{display:flex;align-items:center;gap:18px;flex-shrink:0}
#site-header .sh-catalog{display:inline-flex;align-items:center;gap:22px;border:1px solid #bdc3bf;border-radius:100px;padding:12px 20px;font:700 12px/1.2 'Pretendard',Arial,sans-serif;white-space:nowrap;background:transparent}
#site-header .sh-catalog:hover{background:#182127;color:#fff}
#site-header .sh-toggle{display:none;width:34px;height:34px;border:0;background:none;padding:8px;cursor:pointer}
#site-header .sh-toggle span{display:block;height:1px;background:#182127;margin:6px 0}
#site-header a:focus-visible,#site-header button:focus-visible{outline:2px solid #52735e;outline-offset:4px}
@media(max-width:980px){#site-header .sh-nav{gap:18px}#site-header .sh-catalog{display:none}}
@media(max-width:650px){#site-header{height:75px;min-height:75px;padding:0 24px}#site-header .sh-brand img{width:120px}#site-header .sh-toggle{display:block}#site-header .sh-nav{display:none;position:absolute;top:75px;left:0;right:0;width:100%;height:auto;padding:14px 24px 24px;background:#fbfbf9;border-bottom:1px solid #dedfdd;flex-direction:column;align-items:stretch;gap:0}#site-header .sh-nav.open{display:flex}#site-header .sh-nav a{padding:15px 0;height:auto}#site-header .sh-nav a[aria-current]{box-shadow:none;font-weight:700}}

@media(min-width:651px){#site-header .sh-nav{margin-left:auto}#site-header .sh-actions{display:none}}
@media(min-width:651px) and (max-width:820px){#site-header{gap:12px;padding-inline:24px}#site-header .sh-brand img{width:118px}#site-header .sh-nav{gap:11px;font-size:12px}}

/* Retire the separate catalog action on every public page. */
#site-header .sh-catalog{display:none!important}

/* Contact and Locations live together under Connect. */
#site-header .sh-connect{position:relative;display:flex;align-items:center;height:100%}
#site-header .sh-connect-toggle{display:flex;align-items:center;gap:6px;height:100%;padding:0;border:0;background:transparent;color:#6f787b;font:inherit;white-space:nowrap}
#site-header .sh-connect-toggle:hover,#site-header .sh-connect-toggle[aria-expanded=true],#site-header .sh-connect:has(a[aria-current]) .sh-connect-toggle{color:#182127}
#site-header .sh-connect-toggle .sh-chevron{font-size:12px;transition:transform .2s}
#site-header .sh-connect-toggle[aria-expanded=true] .sh-chevron{transform:rotate(180deg)}
#site-header .sh-connect-menu{position:absolute;top:calc(100% - 1px);right:-15px;display:none;min-width:155px;padding:9px 14px;background:#fff;border:1px solid #dbe3e9;box-shadow:0 14px 28px #243f5818}
#site-header .sh-connect.open .sh-connect-menu{display:block}
#site-header .sh-connect-menu a{height:auto;min-height:40px;padding:10px 3px;box-shadow:none!important}
#site-header .sh-connect-menu a+a{border-top:1px solid #e8edf1}
:root.design-v2 #site-header .sh-connect-toggle:hover,:root.design-v2 #site-header .sh-connect-toggle[aria-expanded=true],:root.design-v2 #site-header .sh-connect:has(a[aria-current]) .sh-connect-toggle{color:#2d5bea}

.back-to-top{position:fixed;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,38px);z-index:30;display:flex;align-items:center;justify-content:center;gap:7px;min-width:52px;height:52px;padding:0 16px;border:1px solid #dbe3e9;border-radius:100px;background:#fff;color:#263d50;box-shadow:0 8px 26px #243f581a;font:700 12px 'Pretendard',Arial,sans-serif;letter-spacing:.08em;opacity:0;pointer-events:none;translate:0 12px;transition:opacity .25s,translate .25s,background .25s}
.back-to-top.is-visible{opacity:1;pointer-events:auto;translate:0 0}
.back-to-top:hover{background:#f0f4f7}
.back-to-top .top-arrow{font-size:18px;line-height:1}
.back-to-top:focus-visible{outline:2px solid #688ba7;outline-offset:3px}

@media(max-width:650px){
  #site-header .sh-connect{display:block;width:100%;height:auto;border-top:1px solid #e8edf1}
  #site-header .sh-connect-toggle{width:100%;height:auto;padding:15px 0;text-align:left}
  #site-header .sh-connect-menu{position:static;display:none;flex-direction:column;min-width:0;padding:0 0 5px 13px;border:0;box-shadow:none;background:transparent}
  #site-header .sh-connect.open .sh-connect-menu{display:flex}
  #site-header .sh-connect-menu a{min-height:0;padding:10px 0}
  #site-header .sh-connect-menu a+a{border:0}
  .back-to-top{right:14px;bottom:14px;height:46px;min-width:46px;padding:0 12px}
}
@media(prefers-reduced-motion:reduce){.back-to-top,#site-header .sh-connect-toggle .sh-chevron{transition:none}}

/* Selected design: identify the current page with type color, without header rules. */
:root:not(.design-v2) #site-header {
  border-bottom: 0;
  background: #fff;
}
:root:not(.design-v2) #site-header .sh-nav { border-bottom: 0; }
:root:not(.design-v2) #site-header .sh-nav a { color: #8b9aa8; box-shadow: none; }
:root:not(.design-v2) #site-header .sh-nav a:hover,
:root:not(.design-v2) #site-header .sh-nav a[aria-current] {
  color: #263d50;
  box-shadow: none;
  font-weight: 400;
}

/* Contact is a separate action rather than another text navigation item. */
:root:not(.design-v2) #site-header .sh-nav a[data-page="contact"] {
  height: auto;
  margin-left: clamp(8px, 1.5vw, 24px);
  padding: 11px 20px;
  border-radius: 100px;
  background: #263d50;
  color: #fff;
  box-shadow: none;
  font-weight: 600;
  transition: background .25s, transform .25s;
}
:root:not(.design-v2) #site-header .sh-nav a[data-page="contact"]:hover,
:root:not(.design-v2) #site-header .sh-nav a[data-page="contact"][aria-current] {
  background: #3e607b;
  color: #fff;
  box-shadow: none;
  font-weight: 600;
}
:root:not(.design-v2) #site-header .sh-nav a[data-page="contact"]:hover {
  transform: translateY(-2px);
}
@media (max-width: 650px) {
  :root:not(.design-v2) #site-header .sh-nav { background: #fff; }
  :root:not(.design-v2) #site-header .sh-nav a[data-page="contact"] {
    width: fit-content;
    margin: 14px 0 0;
  }
}

/* Seven links need the compact menu before they crowd the logo. */
@media (min-width:651px) and (max-width:800px) {
  #site-header{height:75px;min-height:75px;padding-inline:24px}
  #site-header .sh-toggle{display:block}
  #site-header .sh-actions{display:flex}
  #site-header .sh-nav{display:none;position:absolute;top:75px;left:0;right:0;width:100%;height:auto;margin:0;padding:14px 24px 24px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid #dedfdd;box-shadow:0 15px 20px #0001;font-size:14px}
  #site-header .sh-nav.open{display:flex}
  #site-header .sh-nav a{height:auto;padding:15px 0}
  #site-header .sh-nav a[data-page="contact"]{width:fit-content;margin:14px 0 0}
}
