/* Keep contact content in document flow when animation or pointer navigation is unsuitable. */
html.accessible-footer body,
html:not(.js) body { padding-bottom: 0; }
html.accessible-footer .site-footer,
html:not(.js) .site-footer {
  position: relative;
  height: auto;
  min-height: 100svh;
  overflow: visible;
  --reveal: 1;
}
html.accessible-footer .footer-inner,
html:not(.js) .footer-inner {
  height: auto;
  min-height: 100svh;
  overflow: visible;
}
html.accessible-footer .footer-word,
html.accessible-footer .footer-grid,
html:not(.js) .footer-word,
html:not(.js) .footer-grid { transform: none; opacity: 1; }

/* The default light outline disappears against these light panels. */
.services :focus-visible,
.path :focus-visible,
.svc-body main :focus-visible { outline-color: #191d1e; }
.dialog-contact a { overflow-wrap: anywhere; }
.dialog-note, .dialog-contact, .form-status { font-size: 12px; }
/* Small service labels need at least 4.5:1 against the approved pale panel. */
.services p.eyebrow, .svc-page p.eyebrow { color: #526570; }
.path-num, .svc-page .text-link { color: #526570; }
.svc-page .text-link:hover { color: #191d1e; }
/* A translucent header over the pale services page loses nav-link contrast. */
.svc-body header { background: #111717; }

.footer-col a[href^="mailto:"] { overflow-wrap: anywhere; }

/* Layout rules must not reveal the form's hidden spam trap. */
.form-grid [hidden] { display: none; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
