/* One header contract for all internal pages. Edit this source, not its build copy. */
html { scrollbar-gutter: stable; }
.site-header[data-site-header] {
  width: min(var(--zto-web-layout-home-cover-max), calc(100% - 96px));
  height: 100px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 3;
  font-family: var(--zto-font-body);
  font-size: 16px;
  font-weight: 400;
  font-synthesis: none;
  line-height: normal;
  letter-spacing: normal;
  color: var(--zto-text-primary);
}
.site-header .brand { display: inline-flex; flex: none; }
.site-header .brand img { display: block; width: 142px; height: auto; }
.site-header .desktop-nav { display: flex; align-items: center; gap: 38px; font-size: 15px; font-weight: 570; }
.site-header a { color: inherit; text-decoration: none; }
.site-header .desktop-nav > a { padding-block: 14px; }
.site-header .desktop-nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 9px; text-decoration-color: var(--zto-sky-400); text-decoration-thickness: 2px; }
.site-header a:hover { color: var(--zto-text-action); }
.site-header a:focus-visible, .site-header summary:focus-visible { outline: 3px solid var(--zto-text-action); outline-offset: 5px; }
.site-header a.nav-external { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.site-header .nav-external svg { width: 12px; height: 12px; opacity: .65; flex: none; }
.site-header .desktop-nav > .nav-contact, .site-header .nav-contact { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border-radius: var(--zto-web-action-radius); background: var(--zto-web-action-primary-background); color: var(--zto-web-action-primary-foreground); font-weight: 650; }
.site-header .nav-contact:hover { background: var(--zto-web-action-primary-hover); color: var(--zto-web-action-primary-foreground); }
.site-header .nav-contact:active { background: var(--zto-web-action-primary-pressed); }
.site-header .mobile-nav { display: none; }
.site-header .nav-services { position: relative; }
.site-header .nav-services > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-block: 14px; cursor: pointer; list-style: none; white-space: nowrap; }
.site-header .nav-services > summary::-webkit-details-marker { display: none; }
.site-header .nav-services > summary svg { flex: none; opacity: .65; }
.site-header .nav-services[open] > summary svg { transform: rotate(180deg); }
.site-header .nav-services > summary:hover, .site-header .nav-services[open] > summary { color: var(--zto-text-action); }
.site-header .desktop-nav .nav-services:has(a[aria-current="page"]) > summary { text-decoration: underline; text-underline-offset: 9px; text-decoration-color: var(--zto-sky-400); text-decoration-thickness: 2px; }
.site-header .nav-submenu { padding: 8px; border: 1px solid var(--zto-web-border-content); border-radius: var(--zto-radius-8); background: var(--zto-surface-default); }
.site-header .desktop-nav .nav-submenu { position: absolute; top: calc(100% + 8px); left: -21px; width: 224px; box-shadow: var(--zto-elevation-none); }
.site-header .desktop-nav .nav-submenu::before { content: ""; position: absolute; inset-inline: 0; bottom: 100%; height: 8px; }
.site-header .nav-submenu a { display: block; padding: 12px; border-radius: var(--zto-radius-4); font-size: 14px; line-height: 1.5; white-space: nowrap; }
.site-header .nav-submenu a:hover, .site-header .nav-submenu a[aria-current="page"] { background: var(--zto-web-surface-answer); color: var(--zto-text-action); text-decoration: none; }
.site-header .nav-submenu a:focus-visible { outline: var(--zto-border-focus-width) solid var(--zto-border-focus); outline-offset: -2px; background: var(--zto-web-surface-answer); }
@media (width < 900px) {
  .site-header[data-site-header] { width: min(720px, calc(100% - 40px)); height: 88px; }
  .site-header .brand img { width: 125px; }
  .site-header .desktop-nav { display: none; }
  .site-header .mobile-nav { display: block; font-size: 14px; }
  .site-header .mobile-nav > summary { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 0 10px 16px; cursor: pointer; list-style: none; }
  .site-header .mobile-nav > summary::-webkit-details-marker { display: none; }
  .site-header .mobile-nav > summary span { font-size: 21px; }
  .site-header .mobile-nav[open] > summary span { transform: rotate(45deg); }
  .site-header .mobile-nav > nav { position: absolute; top: 75px; right: 0; z-index: 5; width: 228px; max-width: 100%; max-height: calc(100dvh - 100px); overflow-y: auto; padding: 12px; border: 1px solid var(--zto-web-border-content); border-radius: var(--zto-radius-8); background: var(--zto-surface-default); box-shadow: var(--zto-elevation-none); }
  .site-header .mobile-nav nav a { display: block; padding: 14px 12px; }
  .site-header .mobile-nav nav a.nav-external { display: flex; }
  .site-header .mobile-nav nav a[aria-current="page"] { background: var(--zto-web-surface-answer); border-radius: var(--zto-radius-4); font-weight: 600; }
  .site-header .mobile-nav nav .nav-contact { display: flex; width: 100%; padding: 10px 20px; }
  .site-header .mobile-nav .nav-services > summary { padding: 14px 12px; min-height: 44px; }
  .site-header .mobile-nav .nav-services:has(a[aria-current="page"]) > summary { font-weight: 600; }
  .site-header .mobile-nav .nav-services:not([open]):has(a[aria-current="page"]) > summary { background: var(--zto-web-surface-answer); border-radius: var(--zto-radius-4); }
  .site-header .mobile-nav .nav-submenu { margin: 0 0 8px 12px; padding: 0 0 0 8px; border: 0; border-left: 1px solid var(--zto-web-border-content); border-radius: 0; background: transparent; }
  .site-header .mobile-nav .nav-submenu a { padding: 12px; }
}
