/* Shared keyboard and narrow-screen fixes for the five public pages. */
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 10000;
  padding: 12px 18px;
  color: #2f173a;
  background: #fff;
  border-radius: 8px;
  transform: translateY(-160%);
}
.skip-link:focus { transform: none; }
.v2-site :is(.v2-header, .site-header, .v2-contact, .contact-banner, footer, .contact-panel, .v2-hero) :focus-visible {
  outline-color: #fff;
}
.v2-mobile-actions :focus-visible { outline-color: #2f173a; box-shadow: 0 0 0 6px #fff; }
.v2-inner .page-media figure { width: 100%; }
.v2-inner .page-media img { max-width: 100%; }
