:focus-visible {
  outline: 0.2rem solid var(--cacs-color-focus);
  outline-offset: 0.18rem;
}

:target {
  scroll-margin-block-start: var(--cacs-space-6);
}

.cmp_skip_to_content a {
  position: fixed;
  z-index: var(--cacs-z-skip);
  inset-block-start: var(--cacs-space-2);
  inset-inline-start: var(--cacs-space-2);
  translate: 0 -200%;
  padding: var(--cacs-space-3) var(--cacs-space-4);
  background: var(--cacs-color-brand-strong);
  color: var(--cacs-color-paper);
}

.cmp_skip_to_content a:focus { translate: 0 0; }

.pkp_site_nav_toggle {
  min-width: var(--cacs-touch-target);
  min-height: var(--cacs-touch-target);
}

@media (max-width: 63.999rem) {
  .pkp_site_nav_toggle {
    width: auto;
    padding: var(--cacs-space-2) var(--cacs-space-4);
    border: 1px solid var(--cacs-color-brand);
    border-radius: var(--cacs-radius-sm);
    background: var(--cacs-color-paper);
    background-image: none;
    color: var(--cacs-color-brand-strong);
  }

  .pkp_site_nav_toggle span {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    color: currentColor;
    font-weight: var(--cacs-weight-bold);
  }
}

@media (forced-colors: active) {
  :focus-visible { outline: 0.2rem solid CanvasText; }
  .cacs_submit_cta { border: 1px solid ButtonText; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}
