/* Production-only compliance footer. */
.site-footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}

.site-footer > span:last-child {
  text-align: right;
}

.icp-link {
  color: #aaa;
  text-decoration: none;
  transition: color .2s ease;
}

.icp-link:hover,
.icp-link:focus-visible {
  color: #fff;
}

.contact-cta {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #fff;
  cursor: pointer;
  padding: 0 0 10px;
  text-align: left;
}

.contact-cta b {
  transition: transform .25s ease;
}

.contact-cta:hover b,
.contact-cta:focus-visible b {
  transform: translate(3px, -3px);
}

.contact-cta:focus-visible {
  outline: 1px solid rgba(255,255,255,.4);
  outline-offset: 7px;
}

@media (max-width: 760px) {
  .menu:focus {
    outline: none;
    box-shadow: none;
  }

  .menu:focus-visible {
    outline: none;
    box-shadow: none;
    text-decoration: underline;
    text-underline-offset: 4px;
  }

  nav.mobile-open {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: clamp(8px, 2.5vw, 16px);
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  nav.mobile-open::-webkit-scrollbar {
    display: none;
  }

  nav.mobile-open a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .site-footer {
    grid-template-columns: 1fr 1fr;
    gap: 12px 20px;
  }

  .icp-link {
    grid-column: 1 / -1;
    grid-row: 2;
    text-align: center;
  }
}
