.hd .brand-logo {
  display: block;
  width: 176px;
  height: auto;
  flex: none;
}

/* Shared header rhythm: center links in the space between brand and actions. */
.hd .nav {
  justify-content: center;
  gap: 6px;
  margin-left: 0;
}

.hd .nav-a {
  font-size: 15px;
  padding: 9px 10px;
  justify-content: center;
}

.hd .mobile-nav-toggle,
.hd .mobile-nav-panel { display: none; }

@media (max-width: 1360px) and (min-width: 1181px) {
  .hd .nav { gap: 3px; }
  .hd .nav-a { font-size: 14.5px; padding: 9px 8px; }
}

@media (max-width: 1180px) {
  .hd .nav { display: none; }
  .hd .mobile-nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: none;
    margin-left: auto;
    border: 1px solid #d8e5f6;
    border-radius: 10px;
    background: #fff;
    color: #1e293b;
    cursor: pointer;
  }
  .hd .mobile-nav-toggle:hover,
  .hd .mobile-nav-toggle[aria-expanded="true"] { color: #2563eb; background: #eff6ff; }
  .hd .mobile-nav-toggle:focus-visible,
  .hd .mobile-nav-panel a:focus-visible,
  .hd .mobile-nav-panel button:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
  .hd .mobile-nav-toggle svg { width: 22px; height: 22px; }
  .hd .mobile-nav-panel {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 210;
    max-height: calc(100vh - 74px);
    max-height: calc(100dvh - 74px);
    overflow-y: auto;
    padding: 8px max(20px, calc((100vw - 1100px) / 2)) 18px;
    border-top: 1px solid #e3ebf5;
    border-bottom: 1px solid #d8e5f6;
    background: #fff;
    box-shadow: 0 18px 34px rgba(11, 18, 32, .11);
  }
  .hd .mobile-nav-panel[hidden],
  .hd .mobile-nav-sub[hidden] { display: none; }
  .hd .mobile-nav-row { display: flex; align-items: center; border-bottom: 1px solid #edf2f8; }
  .hd .mobile-nav-link { display: block; flex: 1; padding: 12px 4px; font-size: 15px; color: #1e293b; }
  .hd .mobile-nav-link[aria-current="page"] { color: #2563eb; font-weight: 700; }
  .hd .mobile-nav-sub-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #2563eb;
    font-size: 21px;
    cursor: pointer;
  }
  .hd .mobile-nav-sub { display: grid; gap: 2px; padding: 4px 8px 10px 14px; background: #f7faff; }
  .hd .mobile-nav-sub a { display: block; padding: 9px 8px; border-radius: 7px; color: #475569; font-size: 14px; }
  .hd .mobile-nav-sub a:hover { background: #eaf2ff; color: #2563eb; }
}

@media (max-width: 600px) {
  .hd .hd-in { gap: 8px; padding-left: 14px; padding-right: 14px; }
  .hd .hd-act .btn-outline { display: none; }
  .hd .hd-act .btn { padding: 9px 11px; white-space: nowrap; }
  .hd .mobile-nav-panel { padding-left: 18px; padding-right: 18px; }
}

footer .brand-logo {
  display: block;
  width: 204px;
  height: auto;
  padding: 8px 10px;
  border-radius: 8px;
  background: #fff;
  box-sizing: content-box;
}

@media (max-width: 820px) {
  .hd .brand-logo { width: 154px; }
}

@media (max-width: 480px) {
  .hd .brand-logo { width: 142px; }
}
