:root {
  --type-body: 18px;
  --type-body-small: 16px;
  --type-label: 12px;
}

body {
  font-family: Geologica, system-ui, sans-serif;
  font-size: var(--type-body);
  line-height: 1.55;
}

/* Restore the visual confidence and breathing room of the former Tathya header. */
.site-header-inner {
  min-height: 44px;
  padding-block: 26px !important;
}

.site-header-inner > a:first-child span {
  font-size: 29px !important;
}

.site-nav {
  gap: clamp(22px, 2.25vw, 34px) !important;
}

.site-nav a {
  color: #84263f !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.site-header-cta {
  font-size: 15.5px !important;
  padding: 15px 24px !important;
}

/* Keep the archive-like single-row menu at laptop widths. The same contact
   destination remains available in the primary navigation. */
@media (min-width: 981px) and (max-width: 1240px) {
  .site-header-cta {
    display: none !important;
  }
}

/* The generated pages used several undersized one-off inline values. */
p[style*="font:300 13px"],
p[style*="font:300 13.5px"],
p[style*="font:300 14px"],
p[style*="font:300 14.5px"],
p[style*="font:300 15px"],
p[style*="font:300 15.5px"],
p[style*="font:300 16px"],
p[style*="font:300 16.5px"],
p[style*="font:300 17px"],
li[style*="font:300 13px"],
li[style*="font:300 13.5px"],
li[style*="font:300 14px"],
li[style*="font:300 14.5px"],
li[style*="font:300 15px"],
li[style*="font:300 15.5px"],
li[style*="font:300 16px"],
li[style*="font:300 16.5px"] {
  font-size: var(--type-body) !important;
  line-height: 1.62 !important;
}

p[style*="font:400 18px"],
p[style*="font:400 17px"] {
  font-size: 20px !important;
  line-height: 1.55 !important;
}

h1[style*="reiher-headline"] {
  font-size: clamp(54px, 5.6vw, 72px) !important;
  line-height: 1.02 !important;
}

h2[style*="reiher-headline"] {
  font-size: clamp(40px, 4.2vw, 54px) !important;
  line-height: 1.08 !important;
}

h3[style*="reiher-headline"] {
  font-size: clamp(29px, 2.6vw, 36px) !important;
  line-height: 1.14 !important;
}

a[style*="font:500 14px"],
a[style*="font:500 14.5px"],
a[style*="font:500 15px"],
a[style*="font:600 14px"],
button[style*="font:500 14px"],
button[style*="font:500 14.5px"],
button[style*="font:600 14px"] {
  font-size: 16px !important;
}

@media (max-width: 980px) {
  .site-header-inner {
    align-items: center;
    gap: 16px !important;
    padding-block: 18px !important;
  }

  .site-nav {
    order: 3;
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap !important;
    gap: 26px !important;
    padding: 5px 0 8px;
    scrollbar-width: none;
  }

  .site-nav::-webkit-scrollbar {
    display: none;
  }

  .site-nav a {
    white-space: nowrap;
  }
}

@media (max-width: 560px) {
  :root {
    --type-body: 17px;
    --type-body-small: 15px;
  }

  .site-header-inner {
    padding-block: 15px !important;
  }

  .site-header-inner > a:first-child span {
    font-size: 27px !important;
  }

  .site-header-cta {
    font-size: 13px !important;
    padding: 13px 17px !important;
  }

  .site-nav a {
    font-size: 15.5px !important;
  }

  h1[style*="reiher-headline"] {
    font-size: 48px !important;
  }

  h2[style*="reiher-headline"] {
    font-size: 36px !important;
  }

  h3[style*="reiher-headline"] {
    font-size: 27px !important;
  }
}
