:root {
  --global-header-forest: #074f36;
  --global-header-lime: #b8f06a;
  --global-header-white: #ffffff;
  --global-header-gutter: max(24px, calc((100vw - 1240px) / 2));
}

.global-header {
  align-items: center;
  background: var(--global-header-forest);
  box-sizing: border-box;
  color: var(--global-header-white);
  display: grid;
  gap: clamp(18px, 2.4vw, 36px);
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: 88px;
  padding: 16px var(--global-header-gutter);
  position: sticky;
  top: 0;
  z-index: 20;
}

.global-header *,
.global-header *::before,
.global-header *::after {
  box-sizing: border-box;
}

.global-brand {
  align-items: center;
  color: var(--global-header-white);
  display: inline-flex;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 24px;
  font-weight: 900;
  gap: 11px;
  justify-self: start;
  letter-spacing: -0.03em;
  min-height: 44px;
  text-decoration: none;
}

.global-brand img {
  border-radius: 10px;
  display: block;
  height: 44px;
  width: 44px;
}

.global-links {
  align-items: center;
  display: flex;
  gap: 4px;
  justify-self: center;
}

.global-links a {
  align-items: center;
  color: #dcebe3;
  display: inline-flex;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  font-weight: 750;
  min-height: 52px;
  padding: 0 14px;
  text-decoration: none;
  transition: color 170ms ease;
}

.global-links a:hover,
.global-links a[aria-current="page"] {
  color: var(--global-header-lime);
}

.global-links a[aria-current="page"] {
  box-shadow: inset 0 -2px var(--global-header-lime);
}

.global-cta {
  align-items: center;
  background: var(--global-header-lime);
  border-radius: 10px;
  color: #063d2b;
  display: inline-flex;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  font-weight: 850;
  gap: 10px;
  justify-content: center;
  justify-self: end;
  min-height: 52px;
  padding: 0 20px;
  text-decoration: none;
  transition: background-color 170ms ease, transform 170ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) {
  .global-cta:hover {
    background: #cbff83;
    transform: translateY(-2px);
  }
}

.global-cta:active {
  transform: scale(0.98);
}

.global-header a:focus-visible {
  border-radius: 6px;
  outline: 3px solid var(--global-header-lime);
  outline-offset: 2px;
}

.global-brand:focus-visible {
  border-radius: 10px;
}

.global-cta:focus-visible {
  outline-color: var(--global-header-white);
}

html {
  scroll-padding-top: 104px;
}

@media (max-width: 760px) {
  .global-header {
    column-gap: 12px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 0;
    padding: 12px 18px 4px;
    row-gap: 6px;
  }

  .global-brand {
    font-size: 20px;
    grid-column: 1;
    grid-row: 1;
  }

  .global-brand img {
    height: 38px;
    width: 38px;
  }

  .global-links {
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    grid-column: 1 / -1;
    grid-row: 2;
    gap: 0;
    justify-self: stretch;
    padding-top: 6px;
  }

  .global-links a {
    flex: 1;
    font-size: 13px;
    justify-content: center;
    min-height: 48px;
    padding: 0 6px;
  }

  .global-cta {
    font-size: 13px;
    grid-column: 3;
    grid-row: 1;
    min-height: 44px;
    padding: 0 14px;
  }

  html {
    scroll-padding-top: 136px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .global-links a,
  .global-cta {
    transition: none;
  }
}
