/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4 · macrostructure: Long Document · tone: clear legal · anchor hue: green · contrast: pass · mobile: pass */
:root {
  --legal-focus: oklch(42% 0.16 265);
  --legal-error: oklch(48% 0.18 28);
  --legal-success: oklch(45% 0.11 145);
}

.legal-document a {
  border-radius: .35rem;
  transition: color 90ms cubic-bezier(.16, 1, .3, 1), transform 90ms cubic-bezier(.16, 1, .3, 1);
}

.legal-document a:focus-visible,
footer a:focus-visible,
header a:focus-visible {
  outline: 3px solid var(--legal-focus);
  outline-offset: 3px;
}

.legal-document a:active,
footer a:active,
header a:active { transform: translateY(1px); }

.legal-document a[aria-disabled="true"] { opacity: .5; cursor: not-allowed; pointer-events: none; }
.legal-document a.is-loading { opacity: .7; cursor: wait; }
.legal-document a.is-error { color: var(--legal-error); text-decoration-style: wavy; }
.legal-document a.is-success { color: var(--legal-success); }

@media (hover: hover) and (pointer: fine) {
  .legal-document a:hover,
  footer a:hover,
  header a:hover { color: var(--legal-success); }
}

@media (prefers-reduced-motion: reduce) {
  .legal-document a,
  footer a,
  header a { transition-duration: .01ms; }
}
