/* One site, one pebble. Shared header behavior and logo treatment. */
body > header,
.site-header {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  border-bottom: 2px solid #191c18 !important;
  background: rgba(255, 250, 240, .96) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  padding: 0 !important;
}

header > .nav,
header > .header-inner {
  display: flex !important;
  min-height: 80px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 30px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

header .logo,
header .mark,
header .brand-mark {
  display: grid !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 35px !important;
  place-items: center !important;
  border: 2px solid #191c18 !important;
  border-radius: 52% 48% 43% 57% !important;
  background: #ffd84d !important;
  box-shadow: 3px 3px 0 #191c18 !important;
  color: #191c18 !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  transform: rotate(-6deg) !important;
}

header .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #191c18 !important;
  font-size: 19px !important;
  font-weight: 950 !important;
  letter-spacing: -.03em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

header .nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
}

header nav a,
header .back {
  color: #191c18 !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

header nav a:last-child,
header .pill,
header .nav-pill,
header .back {
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 14px !important;
  border: 2px solid #191c18 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #191c18 !important;
  line-height: 1.1 !important;
  box-shadow: none !important;
}

/* One footer, too. Public pages share the same white finish and link order. */
.site-footer {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  padding: 32px 0 !important;
  border-top: 2px solid #191c18 !important;
  background: #fff !important;
  color: #191c18 !important;
  text-align: center !important;
}

.site-footer-inner {
  display: flex !important;
  width: min(1180px, calc(100% - 36px)) !important;
  margin: 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
}

.site-footer-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #191c18 !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  letter-spacing: -.03em !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.site-footer-mark {
  display: grid !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 34px !important;
  place-items: center !important;
  border: 2px solid #191c18 !important;
  border-radius: 52% 48% 43% 57% !important;
  background: #ffd84d !important;
  box-shadow: 3px 3px 0 #191c18 !important;
  color: #191c18 !important;
  font-size: 17px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  transform: rotate(-6deg) !important;
}

.site-footer p {
  margin: 0 !important;
  color: #5e6059 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.site-footer p a {
  color: #191c18 !important;
  font-weight: 800 !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

@media (max-width: 500px) {
  header .logo,
  header .mark,
  header .brand-mark {
    flex-basis: 36px !important;
    width: 36px !important;
    height: 34px !important;
    font-size: 17px !important;
  }

  header > .nav,
  header > .header-inner {
    min-height: 68px !important;
    gap: 14px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  header .brand {
    font-size: 17px !important;
  }

  header nav a:last-child,
  header .pill,
  header .nav-pill,
  header .back {
    min-height: 40px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
  }

  .site-footer {
    padding: 28px 0 !important;
  }

  .site-footer-inner {
    width: calc(100% - 24px) !important;
  }
}
