*,*::before,*::after {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:2rem
}

body {
  margin:0;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:var(--font-sans);
  font-size:var(--font-size-base);
  line-height:var(--line-height-body);
  overflow-wrap:break-word
}

h1,h2,h3,p,figure {
  margin:0
}
h1,h2,h3 {
  line-height:var(--line-height-heading);
  color:var(--color-primary);
  text-wrap:balance
}

h1 {
  font-size:var(--font-size-h1);
  font-weight:700;
  letter-spacing:-.025em
}
h2 {
  font-size:var(--font-size-h2);
  letter-spacing:-.02em
}
h3 {
  font-size:var(--font-size-h3)
}

p+p {
  margin-top:1rem
}
a {
  color:var(--color-link);
  text-underline-offset:.25em
}
a:hover {
  text-decoration-thickness:2px
}
button,select,textarea {
  font:inherit
}
button,a {
  -webkit-tap-highlight-color:transparent
}

:focus-visible {
  outline:3px solid var(--color-focus);
  outline-offset:4px
}
button {
  cursor:pointer
}
button:disabled {
  cursor:not-allowed
}

img,svg {
  max-width:100%;
  height:auto
}
ul,ol {
  padding-left:1.4rem;
  margin:1rem 0 0
}
li+li {
  margin-top:.6rem
}
strong {
  font-weight:700
}
small {
  font-size:var(--font-size-sm)
}

[hidden] {
  display:none!important
}
.skip-link {
  position:absolute;
  left:1rem;
  top:-8rem;
  padding:.7rem 1rem;
  background:var(--color-primary);
  color:white;
  z-index:100
}
.skip-link:focus {
  top:1rem
}

main:focus {
  outline:none
}
.muted {
  color:var(--color-muted)
}
.eyebrow {
  display:block;
  color:var(--color-link);
  font-size:var(--font-size-sm);
  font-weight:700;
  margin-bottom:1rem;
  letter-spacing:.025em
}

.lead {
  font-size:var(--font-size-lg);
  color:var(--color-muted);
  max-width:43rem;
  margin-top:1.5rem
}
.text-link {
  font-weight:700;
  display:inline-flex;
  gap:.6rem;
  align-items:center;
  margin-top:1.5rem
}
.text-link span {
  font-family:system-ui,sans-serif
}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
*,*::before,*::after {
  transition:none!important;
  animation:none!important
}

}
