.haven-global-footer {
  background: var(--paper, #f7f9fc);
  border-top: 1px solid var(--line, #d8e2eb);
  color: var(--ink, #17344f);
  font-size: 1rem;
  margin-top: 0;
  max-width: none;
  padding: 0;
  text-align: left;
}
.haven-global-footer__inner {
  margin: 0 auto;
  max-width: 1440px;
  padding: 1.75rem clamp(1rem, 4vw, 4rem);
}
.haven-global-footer__navigation {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.15rem;
  justify-content: center;
}
.haven-global-footer__navigation a {
  color: inherit;
  font-size: .85rem;
  line-height: 1.3;
  margin: 0;
  text-decoration: none;
  white-space: nowrap;
}
.haven-global-footer__navigation a:hover,
.haven-global-footer__navigation a:focus-visible {
  text-decoration: underline;
  text-underline-offset: .18em;
}
.haven-global-footer__bottom {
  align-items: center;
  border-top: 1px solid var(--line, #d8e2eb);
  color: var(--muted, #627587);
  display: flex;
  flex-wrap: wrap;
  font-size: .86rem;
  gap: .35rem 1rem;
  justify-content: center;
  margin: 0 auto;
  max-width: 1440px;
  padding: 1rem clamp(1rem, 4vw, 4rem) 1.5rem;
  text-align: center;
}
.haven-mobile-menu-extra,
.haven-detail-toggle,
.haven-detail-nav { display: none !important; }
.topbar .haven-detail-toggle {
  background: transparent;
  border: 1px solid var(--line, #d8e2eb);
  color: inherit;
  cursor: pointer;
  min-height: 44px;
  min-width: 44px;
}
@media (max-width: 1320px) {
  .site-nav .haven-mobile-menu-extra { display: block !important; }
  .topbar:has(.haven-detail-toggle) { flex-wrap: wrap; gap: .45rem 1rem; }
  .topbar .haven-detail-toggle {
    align-items: center;
    display: inline-flex !important;
    justify-content: center;
    margin-left: auto;
    order: 2;
  }
  .topbar .back { flex-basis: 100%; order: 3; }
  .topbar .haven-detail-nav {
    background: var(--ink, #17344f);
    border: 1px solid var(--line, #d8e2eb);
    box-shadow: 0 18px 38px rgba(15,39,57,.22);
    display: none !important;
    flex-direction: column;
    gap: 0;
    left: 1rem;
    padding: .35rem .9rem;
    position: absolute;
    right: 1rem;
    top: calc(100% + .25rem);
    z-index: 100;
  }
  .topbar .haven-detail-nav.is-open { display: flex !important; }
  .topbar .haven-detail-nav a {
    border-bottom: 1px solid rgba(255,255,255,.18);
    color: #fff;
    font-size: .88rem;
    padding: .8rem .25rem;
    text-decoration: none;
  }
  .topbar .haven-detail-nav a:last-child { border: 0; }
}
@media (max-width: 760px) {
  .haven-global-footer__inner { padding-block: 1.5rem; }
  .haven-global-footer__navigation { gap: .75rem 1rem; }
  .haven-global-footer__navigation a { white-space: normal; }
  .haven-global-footer__bottom { padding-bottom: 1.2rem; }
}
