html {
  scroll-behavior: smooth;
}

body.dmps-site {
  color: var(--dmps-color-text);
  font-family: var(--dmps-font-body);
  background: var(--dmps-color-white);
}

.dmps-skip-link {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: calc(var(--dmps-z-header) + 20);
  padding: 0.7rem 1rem;
  color: var(--dmps-color-navy-950);
  background: var(--dmps-color-white);
  border-radius: var(--dmps-radius-sm);
  box-shadow: var(--dmps-shadow-md);
  transform: translateY(-150%);
  transition: transform var(--dmps-transition-fast);
}

.dmps-skip-link:focus {
  transform: translateY(0);
}

.dmps-site *,
.dmps-site *::before,
.dmps-site *::after {
  box-sizing: border-box;
}

.dmps-site img {
  max-width: 100%;
}

.dmps-site main,
.dmps-site .site-content {
  min-height: 60vh;
}

.dmps-site .site-content {
  padding-top: 0;
}

.dmps-site.ast-header-break-point .site-content,
.dmps-site .entry-content {
  margin: 0;
}

.dmps-site .entry-content > *:first-child {
  margin-top: 0;
}

.dmps-site .entry-content > *:last-child {
  margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  /* Required to override component animation declarations consistently. */
  .dmps-site *,
  .dmps-site *::before,
  .dmps-site *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
