/* Scope layout-oriented foundations to INDEX only; do not reset plugin controls. */
:where(.index-site, .index-site *, .index-site *::before, .index-site *::after) { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.index-site {
  margin: 0;
  background: var(--index-color-background);
  color: var(--index-color-text);
  font-family: var(--index-font-body);
  font-size: var(--index-font-size-body);
  line-height: var(--index-line-height-body);
  line-break: strict;
  overflow-wrap: anywhere;
}
.index-site :where(img, video, iframe, svg) { max-width: 100%; }
.index-site :where(img) { height: auto; }
.index-site :where(a) { color: var(--index-color-primary); }
.index-site :where(a:hover) { text-decoration-thickness: 2px; }
.index-site :where(button, input, select, textarea) { font: inherit; }
.index-site :where(:focus-visible) { outline: 2px solid var(--index-color-primary); outline-offset: 3px; }
.index-skip-link { position: absolute; top: -8rem; left: 1rem; z-index: 999; padding: .5rem 1rem; background: var(--index-color-background); color: var(--index-color-text); }
.index-skip-link:focus { top: .5rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
