@font-face {
  font-family: "Calistra Calligraphy";
  src: url("../fonts/calistra-calligraphy.woff2") format("woff2"), url("../fonts/calistra-calligraphy.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ne-color-ivory);
  color: var(--ne-color-charcoal);
  font-family: var(--ne-font-body);
  font-size: var(--ne-text-base);
  font-weight: 400;
  line-height: var(--ne-leading-body);
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; height: auto; }
a { color: var(--ne-color-teal-deep); text-decoration-thickness: 0.0625rem; text-underline-offset: 0.2em; }
a:hover { color: var(--ne-color-teal-dark); }
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible { outline: 0.1875rem solid var(--ne-color-focus); outline-offset: 0.1875rem; }
button, input, textarea, select { font: inherit; }
button, [type="button"], [type="submit"], [type="reset"] { cursor: pointer; }
:where(button, input, textarea, select):disabled { cursor: not-allowed; opacity: 0.6; }
iframe { max-width: 100%; border: 0; }
::selection { background: var(--ne-color-gold-soft); color: var(--ne-color-charcoal); }

.skip-link {
  position: fixed; top: var(--ne-space-3); left: var(--ne-space-3); z-index: calc(var(--ne-z-header) + 1);
  padding: var(--ne-space-3) var(--ne-space-4); background: var(--ne-color-white); color: var(--ne-color-teal-dark);
  transform: translateY(-200%);
}
.skip-link:focus { transform: translateY(0); }
