/* 404 page (markup from tools/convert.py, NOT_FOUND_HTML). */
.bm-404 {
  padding: clamp(48px, 8vw, 120px) 20px;
  background: #292929;
  color: #fff;
  font-family: Montserrat, sans-serif;
}
.bm-404__inner { max-width: 1140px; margin: 0 auto; }
.bm-404__code {
  margin: 0;
  font-size: clamp(96px, 18vw, 220px);
  font-weight: 700;
  line-height: 0.9;
  color: #c5dac7;
}
.bm-404__title {
  margin: 24px 0 12px;
  font-size: clamp(32px, 4.5vw, 51px);
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
}
.bm-404__text {
  margin: 0 0 40px;
  max-width: 60ch;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
}
.bm-404__links {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0;
  margin: 0 0 48px;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.bm-404 .bm-404__links a {
  display: block;
  height: 100%;
  padding: 20px 20px 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  text-decoration: none;
}
.bm-404__links strong { display: block; font-size: 20px; font-weight: 700; }
.bm-404__links span { display: block; margin-top: 4px; font-size: 15px; color: rgba(255, 255, 255, 0.65); }
.bm-404 .bm-404__links a:hover strong { color: #c5dac7; }
.bm-404 .bm-404__home {
  display: inline-block;
  padding: 16px 28px;
  background: #c5dac7;
  color: #292929;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
}
.bm-404 .bm-404__home:hover { background: #d6e6d8; color: #292929; }

/* Privacy statement and terms (tools/make_legal.py). */
.bm-legal {
  padding: clamp(48px, 7vw, 96px) 20px;
  background: #292929;
  color: #fff;
  font-family: Montserrat, sans-serif;
}
.bm-legal__inner { max-width: 72ch; margin: 0 auto; }
.bm-legal__title { margin: 0 0 8px; font-size: clamp(32px, 4.5vw, 51px); font-weight: 700; line-height: 1.1; color: #fff; }
.bm-legal__pdf { margin: 0 0 40px; font-size: 15px; }
.bm-legal h2 { margin: 2.2em 0 0.6em; font-size: 22px; font-weight: 700; line-height: 1.3; color: #fff; }
.bm-legal :is(p, li) { font-size: 16px; line-height: 1.7; color: rgba(255, 255, 255, 0.82); }
.bm-legal p { margin: 0 0 1em; }
.bm-legal :is(ol, ul) { margin: 0 0 1.2em; padding-left: 1.4em; }
.bm-legal li { margin: 0 0 0.5em; padding-left: 0.3em; }
.bm-legal a { color: #c5dac7; text-decoration: underline; text-underline-offset: 0.2em; }
