#site-header {
  background-color: #f8f6f1;
}

.site-header-row,
.site-header-spacer {
  height: calc(min(var(--header-logo-width, 300px), 267px) * 35 / 72);
}

.header-nav-link {
  color: rgba(39, 59, 56, 0.88);
  font-size: calc(0.95rem * var(--menu-font-scale, 1));
}

.header-nav-link:hover {
  color: #273b38;
}

.header-nav-underline {
  background-color: #273b38;
}

.header-cta {
  gap: 0.45rem;
  background-color: var(--cta-color, #b5762c);
  color: #f8f6f1;
  font-size: calc(0.875rem * var(--cta-font-scale, 1));
  box-shadow: 0 8px 24px color-mix(in srgb, var(--cta-color, #b5762c) 32%, transparent);
  transition: background-color 300ms ease, box-shadow 300ms ease, transform 300ms ease;
}

.header-cta:hover {
  background-color: color-mix(in srgb, var(--cta-color, #b5762c) 78%, #000);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--cta-color, #b5762c) 42%, transparent);
}

.header-cta-arrow {
  transition: transform 300ms ease;
}

.header-cta:hover .header-cta-arrow {
  transform: translateX(3px);
}

.site-logo-link {
  position: relative;
  display: block;
  width: min(var(--header-logo-width, 300px), 267px);
  height: 100%;
  aspect-ratio: 72 / 35;
  overflow: hidden;
  flex-shrink: 0;
}

.site-logo-image {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: auto;
  max-width: none;
  height: 171.43%;
  transform: translate(-50%, -50%);
}

.site-footer-logo-link {
  display: inline-block;
  width: min(var(--footer-logo-width, 352px), 100%);
}

.site-footer-logo-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

#mobile-menu nav > a:not(.header-cta) {
  font-size: calc(1.05rem * var(--menu-font-scale, 1));
}

@media (min-width: 640px) {
  .site-header-row,
  .site-header-spacer {
    height: calc(var(--header-logo-width, 300px) * 35 / 72);
  }

  .site-logo-link {
    width: var(--header-logo-width, 300px);
  }
}

.legal-content h2 {
  margin-bottom: 0.75rem;
  color: #273b38;
  font-family: var(--font-display, serif);
  font-size: 1.25rem;
  line-height: 1.35;
}

.legal-content h2:not(:first-child) {
  margin-top: 2.5rem;
}

.legal-content p + p,
.legal-content ul + p,
.legal-content p + ul {
  margin-top: 0.75rem;
}

.legal-content ul {
  padding-left: 1.25rem;
  list-style: disc;
}

.legal-content li + li {
  margin-top: 0.375rem;
}

.legal-content a {
  color: #273b38;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.legal-content code {
  font-size: 0.9em;
}
