/* Shared foundations only. Components also establish their own baseline. */
:root {
  --moos: #232a22;
  --wald: #3f5b2c;
  --morgen: #f7f5ef;
  --apricot: #f7b389;
  --lime: #bfe09a;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--morgen);
  color: var(--moos);
  font:
    400 16px/1.6 "Hanken Grotesk",
    Arial,
    sans-serif;
}
a {
  color: var(--wald);
}
a:hover {
  color: var(--moos);
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select,
textarea {
  touch-action: manipulation;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--wald);
  outline-offset: 3px;
}
[hidden] {
  display: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

.u-skip-link {
  position: fixed;
  left: 16px;
  top: 16px;
  z-index: 1000;
  padding: 12px 18px;
  background: #232a22;
  color: #fff;
  transform: translateY(-200%);
}
.u-skip-link:focus {
  transform: none;
}
main:focus {
  outline: none;
}

/* Keep in-page targets visible below the sticky mobile header. */
@media (max-width: 1099px) {
  html {
    scroll-padding-top: 77px;
  }
}

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { -webkit-tap-highlight-color: rgb(247 179 137 / 25%); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.ab-audience__intro {
  margin-bottom: 50px;
}