@font-face {
  font-family: "DS Public Neue";
  src: url("/site/home/vendor/pp-neue-montreal-400.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "DS Public Neue";
  src: url("/site/home/vendor/pp-neue-montreal-500.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "DS Public Editorial";
  src: url("/site/home/vendor/ebb026805a-ftqdM948I1ShqZpIq6eii7D4U3M.woff2")
    format("woff2");
  font-weight: 400;
  font-display: swap;
}
.ds-site-header,
.ds-site-footer {
  font-family: "DS Public Neue", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #fafafa;
  box-sizing: border-box;
  width: 100%;
  flex-shrink: 0;
}
.ds-site-header *,
.ds-site-footer * {
  box-sizing: border-box;
}
.ds-site-header a,
.ds-site-footer a {
  color: inherit;
  text-decoration: none;
}
.ds-site-header a:focus-visible,
.ds-site-header summary:focus-visible,
.ds-site-footer a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
.ds-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #080808;
  border-bottom: 1px solid #242424;
}
.ds-site-header-inner {
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 36px;
  position: relative;
}
.ds-site-brand {
  display: flex;
  align-items: center;
}
.ds-site-brand img {
  display: block;
  height: 28px;
  width: auto;
}
.ds-site-desktop-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}
.ds-site-header .ds-site-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 16px;
  border: 1px solid #414141;
  border-radius: 0;
  font: inherit;
  white-space: nowrap;
  background: transparent;
  color: #fafafa;
}
.ds-site-header .ds-site-button-filled {
  background: #fafafa;
  color: #080808;
  border-color: #fafafa;
}
.ds-site-header .ds-site-button:hover {
  opacity: 0.8;
}
.ds-site-account {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-right: 8px;
}
.ds-site-account img,
.ds-site-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
}
.ds-site-avatar {
  display: grid;
  place-items: center;
  background: #333;
}
.ds-site-menu {
  display: none;
}
/* Leave room for the staggered silhouettes above the footer content. */
.ds-site-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* The transparent top reveals each page's own background. */
  background: transparent;
  margin-top: 80px;
  min-height: clamp(640px, 50vw, 860px);
  padding: 316px 40px 96px;
}
/* The /tools pages end on a dense section, and the top of the artwork is
   dark enough to read as page background: with data-site-footer="flush"
   the footer slides up under the page's last section instead of starting
   below it. The page paints above the footer so that section stays
   visible and clickable over the artwork's dark top. */
.lander-shell:has([data-site-footer="flush"]) .ds-site-footer {
  margin-top: -112px;
}
.lander-shell [data-site-footer="flush"] {
  position: relative;
  z-index: 1;
}
/* Keep the television centered as the crowd crops at narrower widths. */
.ds-site-footer-backdrop {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  opacity: 0.6;
  pointer-events: none;
}
/* Darken the artwork behind the links without introducing a top edge. */
.ds-site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(
    rgba(5, 21, 17, 0) 0%,
    rgba(5, 20, 17, 0.3) 45%,
    rgba(5, 21, 17, 0.65) 100%
  );
}
.ds-site-footer::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 116px;
  z-index: -1;
  background: linear-gradient(rgba(8, 8, 8, 0) 0%, rgb(8, 8, 8) 100%);
}
.ds-site-footer-content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  position: relative;
}
.ds-site-footer-brand {
  display: block;
  width: fit-content;
}
.ds-site-footer-brand img {
  display: block;
  width: 197px;
  height: auto;
}
.ds-site-footer-main {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(0, 1.6fr);
  gap: 40px;
}
.ds-site-footer .ds-site-footer-tagline {
  font-family: "DS Public Editorial", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.25;
  margin: 0 0 20px;
  letter-spacing: -0.02em;
}
.ds-site-footer-description {
  font-size: 17px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #e9ecea;
}
.ds-site-footer-description span {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ds-site-footer-description svg {
  flex-shrink: 0;
}
.ds-site-footer-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}
.ds-site-footer-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}
.ds-site-footer .ds-site-footer-group h3 {
  font-family: "DS Public Neue", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  margin: 0 0 6px;
  color: #fafafa;
}
/* Keep small type legible over the illustration. */
.ds-site-footer-group > a,
.ds-site-footer-group > span {
  font-size: 15px;
  line-height: 1.6;
  color: #e9ecea;
}
.ds-site-footer-group a:hover {
  color: #fff;
}
.ds-site-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  gap: 20px;
  color: #c9cfcc;
}
.ds-site-footer-bottom p {
  margin: 0;
  font-size: 14px;
}
.ds-site-footer-social {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
}
@media (max-width: 1199px) {
  .ds-site-footer-main {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 809px) {
  .ds-site-header-inner {
    height: 48px;
    padding: 0 10px;
  }
  .ds-site-brand img {
    height: 21px;
  }
  .ds-site-desktop-actions {
    display: none;
  }
  .ds-site-menu {
    display: block;
  }
  .ds-site-menu summary {
    display: grid;
    place-items: center;
    cursor: pointer;
    width: 40px;
    height: 40px;
    list-style: none;
  }
  .ds-site-menu summary::-webkit-details-marker {
    display: none;
  }
  .ds-site-menu summary > span {
    width: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .ds-site-menu i {
    display: block;
    height: 1px;
    width: 20px;
    background: currentColor;
    transition: transform 0.15s;
  }
  .ds-site-menu[open] i:first-child {
    transform: translateY(3.5px) rotate(45deg);
  }
  .ds-site-menu[open] i:last-child {
    transform: translateY(-3.5px) rotate(-45deg);
  }
  .ds-site-mobile-actions {
    position: absolute;
    top: 48px;
    left: 0;
    right: 0;
    padding: 16px;
    display: flex;
    gap: 12px;
    flex-direction: column;
    background: #080808;
    border-bottom: 1px solid #242424;
  }
  .ds-site-mobile-actions .ds-site-button {
    min-height: 44px;
  }
  .ds-site-footer {
    margin-top: 56px;
    padding: 208px 20px 72px;
  }
  .lander-shell:has([data-site-footer="flush"]) .ds-site-footer {
    margin-top: -64px;
  }
  .ds-site-footer-backdrop {
    height: 600px;
    -webkit-mask-image: linear-gradient(#000 70%, transparent);
    mask-image: linear-gradient(#000 70%, transparent);
  }
  .ds-site-footer-content {
    gap: 32px;
  }
  .ds-site-footer-main {
    gap: 32px;
  }
  .ds-site-footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 20px;
  }
  .ds-site-footer .ds-site-footer-tagline {
    font-size: 32px;
  }
}
