@font-face {
  font-family: museo-sans-fallback;
  src: local(Arial);
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 102%;
  ascent-override: 98%;
  descent-override: 22%;
  line-gap-override: 0%;
}

.dsdf001-live-mount {
  display: block;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: normal;
}

.dsdf001-root {
  position: relative;
  isolation: isolate;
  display: block;
  width: 100%;
  max-width: var(--dsdf-max-width, 2048px);
  min-width: var(--dsdf-min-width, 0);
  margin-inline: auto;
  overflow: hidden;
  color: var(--dsdf-text, #fbf9f5);
  background: var(--dsdf-bg, #181817);
  font-family: var(--dsdf-body-font, "Museo Sans", museo-sans, museo-sans-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
  font-size: var(--dsdf-body-size, 16px);
  font-weight: 200;
  line-height: var(--dsdf-body-line, 1.22);
  text-align: left;
  -webkit-font-smoothing: antialiased;
}

.dsdf001-root,
.dsdf001-root * {
  box-sizing: border-box;
}

.dsdf001-root .dsdf001-top::before,
.dsdf001-root .dsdf001-top::after,
.dsdf001-root .dsdf001-brand-rail::before,
.dsdf001-root .dsdf001-brand-rail::after,
.dsdf001-root .dsdf001-navigation-area::before,
.dsdf001-root .dsdf001-navigation-area::after,
.dsdf001-root .dsdf001-accordions::before,
.dsdf001-root .dsdf001-accordions::after,
.dsdf001-root .dsdf001-navigation-bottom::before,
.dsdf001-root .dsdf001-navigation-bottom::after,
.dsdf001-root .dsdf001-socials::before,
.dsdf001-root .dsdf001-socials::after,
.dsdf001-root .dsdf001-utility::before,
.dsdf001-root .dsdf001-utility::after {
  content: none !important;
  display: none !important;
}

.dsdf001-root button,
.dsdf001-root a {
  font: inherit;
}

.dsdf001-root .dsdf001-anchor {
  position: absolute;
  inset: 0 auto auto 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.dsdf001-root .dsdf001-top {
  display: flex;
  width: 100%;
  max-width: 1920px;
  min-height: var(--dsdf-top-min-height, 0);
  flex-wrap: wrap;
  gap: 16px;
  margin-inline: auto;
}

.dsdf001-root .dsdf001-brand-rail {
  display: flex;
  min-width: 0;
  flex: 1 1 100%;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  background: var(--dsdf-brand-bg, #181817);
  padding: var(--dsdf-brand-pt, 64px) var(--dsdf-brand-pr, 16px) var(--dsdf-brand-pb, 40px) var(--dsdf-brand-pl, 16px);
}

.dsdf001-root .dsdf001-logo {
  display: inline-flex;
  width: min(100%, var(--dsdf-logo-width, 230px));
  align-items: center;
  color: var(--dsdf-logo-text, #fbf9f5);
  text-decoration: none;
}

.dsdf001-root .dsdf001-logo img {
  display: block;
  width: 100%;
  max-width: var(--dsdf-logo-width, 230px);
  height: auto;
  object-fit: contain;
  object-position: left center;
}

.dsdf001-root .dsdf001-logo-text {
  display: block;
  font-family: var(--dsdf-label-font, "Museo Sans", museo-sans, museo-sans-fallback, Arial, sans-serif);
  font-size: clamp(36px, 4vw, 66px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .08em;
}

.dsdf001-root .dsdf001-copyright {
  margin: 40px 0 0;
  color: var(--dsdf-copyright, #a6a39d);
  font-size: var(--dsdf-copy-size, 16px);
  font-weight: 200;
  line-height: 1.22;
}

.dsdf001-root .dsdf001-navigation-area {
  display: flex;
  min-width: 50%;
  flex: 999 1 0;
  flex-direction: column;
  background: var(--dsdf-nav-bg, #181817);
  padding: var(--dsdf-nav-pt, 0) var(--dsdf-nav-pr, 16px) var(--dsdf-nav-pb, 0) var(--dsdf-nav-pl, 16px);
}

.dsdf001-root .dsdf001-accordions {
  width: 100%;
}

.dsdf001-root .dsdf001-accordion {
  width: 100%;
}

.dsdf001-root .dsdf001-accordion-toggle {
  appearance: none;
  position: relative;
  display: flex;
  width: 100%;
  min-height: var(--dsdf-section-height, 48px);
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  padding: 16px 0;
  border: 0;
  color: var(--dsdf-accordion-title, #fbf9f5);
  background: var(--dsdf-accordion-row-bg, #181817);
  font-family: var(--dsdf-label-font, "Museo Sans", museo-sans, museo-sans-fallback, Arial, sans-serif);
  font-size: var(--dsdf-label-size, 13px);
  font-weight: var(--dsdf-label-weight, 300);
  line-height: 1.15;
  letter-spacing: var(--dsdf-label-spacing, 2.5888px);
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
}

.dsdf001-root .dsdf001-accordion-toggle:hover,
.dsdf001-root .dsdf001-accordion-toggle:focus-visible {
  color: var(--dsdf-accordion-title-hover, #fbf9f5);
  background: var(--dsdf-accordion-row-hover-bg, #181817);
}

.dsdf001-root .dsdf001-accordion-toggle::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--dsdf-border, #74726d);
  transform-origin: bottom;
  transition: transform 250ms cubic-bezier(.45, 0, .55, 1), background-color 250ms cubic-bezier(.45, 0, .55, 1);
}

.dsdf001-root .dsdf001-accordion-toggle:hover::after,
.dsdf001-root .dsdf001-accordion.is-open .dsdf001-accordion-toggle::after {
  background: var(--dsdf-border-active, #fbf9f5);
  transform: scaleY(2);
}

.dsdf001-root .dsdf001-chevron {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  color: var(--dsdf-arrow, #fbf9f5);
  transition: transform 250ms cubic-bezier(.8, 0, .2, 1);
}

.dsdf001-root .dsdf001-chevron svg {
  display: block;
  width: 14px;
  height: 7px;
}

.dsdf001-root .dsdf001-accordion.is-open .dsdf001-chevron {
  color: var(--dsdf-arrow-open, #fbf9f5);
  transform: scaleY(-1);
}

.dsdf001-root .dsdf001-accordion-panel {
  height: auto;
  overflow: hidden;
  opacity: 1;
  background: var(--dsdf-accordion-panel-bg, #181817);
}

.dsdf001-root .dsdf001-accordion-panel[hidden] {
  display: none;
}

.dsdf001-root .dsdf001-panel-inner {
  padding: var(--dsdf-panel-pt, 36px) 0 var(--dsdf-panel-pb, 36px);
}

.dsdf001-root .dsdf001-links {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.dsdf001-root .dsdf001-link-column {
  display: flex;
  min-width: 0;
  flex: 0 0 100%;
  flex-direction: column;
  gap: var(--dsdf-panel-row-gap, 24px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.dsdf001-root .dsdf001-link-column li {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.dsdf001-root .dsdf001-link-column li.is-child {
  padding-left: 16px;
}

.dsdf001-root .dsdf001-links a {
  display: inline-block;
  max-width: 100%;
  color: var(--dsdf-menu-link, #fbf9f5);
  font-size: var(--dsdf-link-size, 14px);
  font-weight: var(--dsdf-link-weight, 200);
  line-height: var(--dsdf-link-line, 1.22);
  letter-spacing: 0;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.dsdf001-root .dsdf001-links a:hover,
.dsdf001-root .dsdf001-links a:focus-visible {
  color: var(--dsdf-menu-link-hover, #fff);
  text-decoration: underline;
}

.dsdf001-root .dsdf001-navigation-bottom {
  position: relative;
  display: flex;
  width: 100%;
  min-height: var(--dsdf-back-top-size, 56px);
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-top: 64px;
}

.dsdf001-root .dsdf001-socials {
  display: flex;
  width: var(--dsdf-social-width, 264px);
  height: var(--dsdf-social-height, 56px);
  min-height: var(--dsdf-social-height, 56px);
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: var(--dsdf-social-gap, 40px);
  margin-left: var(--dsdf-social-margin-left, 0);
  margin-right: var(--dsdf-social-margin-right, 0);
  padding: var(--dsdf-social-padding-top, 16px) var(--dsdf-social-padding-right, 24px) var(--dsdf-social-padding-bottom, 16px) var(--dsdf-social-padding-left, 24px);
  border: var(--dsdf-social-border-width, 0) solid var(--dsdf-social-border, #1f1f1e);
  border-radius: var(--dsdf-social-radius, 9999px);
  background: var(--dsdf-social-bg, #1f1f1e);
  line-height: 0;
  transition: background-color 175ms cubic-bezier(.45, 0, .55, 1);
}

.dsdf001-root .dsdf001-socials:hover,
.dsdf001-root .dsdf001-socials:focus-within {
  background: var(--dsdf-social-hover, #343532);
}

.dsdf001-root .dsdf001-socials a {
  display: flex;
  width: var(--dsdf-social-icon-size, 24px);
  height: var(--dsdf-social-icon-size, 24px);
  flex: 0 0 var(--dsdf-social-icon-size, 24px);
  align-items: center;
  justify-content: center;
  color: var(--dsdf-social-icon, #f0eee7);
  text-decoration: none;
  transition: opacity 175ms cubic-bezier(.45, 0, .55, 1);
}

.dsdf001-root .dsdf001-socials:has(a:hover) a:not(:hover),
.dsdf001-root .dsdf001-socials:has(a:focus-visible) a:not(:focus-visible) {
  opacity: .4;
}

.dsdf001-root .dsdf001-socials a:hover,
.dsdf001-root .dsdf001-socials a:focus-visible {
  color: var(--dsdf-social-icon-hover, #fbf9f5);
}

.dsdf001-root .dsdf001-socials svg {
  display: block;
  width: 100%;
  height: 100%;
}

.dsdf001-root .dsdf001-back-top {
  appearance: none;
  display: flex;
  width: var(--dsdf-back-top-size, 56px);
  height: var(--dsdf-back-top-size, 56px);
  min-width: var(--dsdf-back-top-size, 56px);
  min-height: var(--dsdf-back-top-size, 56px);
  flex: 0 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  margin: 0;
  padding: 16px;
  border: 0;
  border-radius: 9999px;
  color: var(--dsdf-back-icon, #fbf9f5);
  background: var(--dsdf-back-bg, #1f1f1e);
  transform: translateX(var(--dsdf-back-top-right-offset, 0));
  cursor: pointer;
}

.dsdf001-root .dsdf001-back-top:hover,
.dsdf001-root .dsdf001-back-top:focus-visible {
  color: var(--dsdf-back-hover-icon, #fbf9f5);
  background: var(--dsdf-back-hover-bg, #1f1f1e);
}

.dsdf001-root .dsdf001-back-top > span {
  display: flex;
  align-items: center;
  justify-content: center;
}

.dsdf001-root .dsdf001-back-top-label {
  padding-inline: 8px;
  white-space: nowrap;
  overflow: hidden;
}

.dsdf001-root .dsdf001-back-top-icon,
.dsdf001-root .dsdf001-back-top svg {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}

.dsdf001-root .dsdf001-utility {
  display: grid;
  width: 100%;
  max-width: 1920px;
  grid-template-columns: repeat(var(--dsdf-utility-columns, 1), minmax(0, 1fr));
  gap: var(--dsdf-utility-gap, 40px);
  min-height: var(--dsdf-utility-min-height, 0);
  margin-inline: auto;
  padding: var(--dsdf-utility-pt, 0) var(--dsdf-utility-pr, 16px) var(--dsdf-utility-pb, 64px) var(--dsdf-utility-pl, 16px);
  background: var(--dsdf-utility-bg, #181817);
}

.dsdf001-root .dsdf001-utility-card {
  min-width: 0;
  margin: 0;
  padding: 0;
  background: var(--dsdf-utility-card-bg, #181817);
}

.dsdf001-root .dsdf001-utility-card h3 {
  margin: 0 0 16px;
  color: var(--dsdf-utility-title, #fbf9f5);
  font-family: var(--dsdf-label-font, "Museo Sans", museo-sans, museo-sans-fallback, Arial, sans-serif);
  font-size: var(--dsdf-utility-title-size, 13px);
  font-weight: var(--dsdf-label-weight, 300);
  line-height: 1.15;
  letter-spacing: var(--dsdf-label-spacing, 2.5888px);
  text-transform: uppercase;
}

.dsdf001-root .dsdf001-card-body {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.dsdf001-root .dsdf001-card-image {
  width: var(--dsdf-card-image-width, 72px);
  height: var(--dsdf-card-image-height, 92px);
  aspect-ratio: 73 / 93;
  flex: 0 0 var(--dsdf-card-image-width, 72px);
  overflow: hidden;
  background: var(--dsdf-card-image-bg, #1f1f1e);
}

.dsdf001-root .dsdf001-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dsdf001-root .dsdf001-card-copy {
  min-width: 0;
  flex: 1 1 0;
}

.dsdf001-root .dsdf001-card-copy p {
  margin: 0 0 16px;
  color: var(--dsdf-utility-text, #fbf9f5);
  font-size: var(--dsdf-utility-text-size, 16px);
  font-weight: 200;
  line-height: 1.22;
}

.dsdf001-root .dsdf001-card-copy a {
  display: inline-block;
  color: var(--dsdf-utility-link, #fbf9f5);
  font-size: var(--dsdf-utility-link-size, 16px);
  font-weight: 500;
  line-height: 1.22;
  text-decoration: none;
}

.dsdf001-root .dsdf001-card-copy a:hover,
.dsdf001-root .dsdf001-card-copy a:focus-visible {
  color: var(--dsdf-utility-link-hover, #fff);
  text-decoration: underline;
}

.dsdf001-root .dsdf001-accordion-toggle:focus-visible,
.dsdf001-root .dsdf001-socials a:focus-visible,
.dsdf001-root .dsdf001-back-top:focus-visible,
.dsdf001-root .dsdf001-logo:focus-visible,
.dsdf001-root .dsdf001-links a:focus-visible,
.dsdf001-root .dsdf001-card-copy a:focus-visible {
  outline: 2px solid currentColor;
  outline-color: var(--dsdf-focus, #fbf9f5);
  outline-offset: 4px;
}

@media (min-width: 640px) {
  .dsdf001-root .dsdf001-link-column {
    flex-basis: auto;
  }

  .dsdf001-root .dsdf001-links {
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 16px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .dsdf001-root .dsdf001-utility {
    grid-template-columns: repeat(var(--dsdf-utility-columns, 2), minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .dsdf001-root .dsdf001-back-top-label {
    max-width: 0;
    padding-inline: 0;
    opacity: 0;
    mask-image: linear-gradient(to right, #000 90%, transparent 100%);
    transition: max-width 250ms ease-in-out, padding 300ms ease-in-out 66ms, opacity 200ms linear;
  }

  .dsdf001-root .dsdf001-back-top:hover .dsdf001-back-top-label,
  .dsdf001-root .dsdf001-back-top:focus-visible .dsdf001-back-top-label {
    max-width: 999px;
    padding-inline: 8px;
    opacity: 1;
    transition: max-width 250ms ease-in-out 66ms, padding 300ms ease-in-out 66ms, opacity 200ms linear;
  }
}

@media (min-width: 1200px) {
  .dsdf001-root .dsdf001-top {
    flex-wrap: nowrap;
    border-bottom: 1px solid var(--dsdf-outer-border, #383837);
  }

  .dsdf001-root .dsdf001-brand-rail {
    flex: 1 1 var(--dsdf-brand-width, 404px);
    padding: var(--dsdf-brand-pt, 48px) var(--dsdf-brand-pr, 64px) var(--dsdf-brand-pb, 48px) var(--dsdf-brand-pl, 64px);
    border-right: 1px solid var(--dsdf-outer-border, #383837);
  }

  .dsdf001-root .dsdf001-copyright {
    margin-top: auto;
  }

  .dsdf001-root .dsdf001-navigation-area {
    padding: var(--dsdf-nav-pt, 48px) var(--dsdf-nav-pr, 64px) var(--dsdf-nav-pb, 48px) var(--dsdf-nav-pl, 64px);
  }

  .dsdf001-root .dsdf001-utility {
    grid-template-columns: repeat(var(--dsdf-utility-columns, 4), minmax(0, 1fr));
    padding: var(--dsdf-utility-pt, 48px) var(--dsdf-utility-pr, 64px) var(--dsdf-utility-pb, 64px) var(--dsdf-utility-pl, 64px);
  }
}

@media (min-width: 1200px) and (max-width: 1439px) {
  .dsdf001-root .dsdf001-brand-rail {
    padding-right: 32px;
    padding-left: 32px;
  }

  .dsdf001-root .dsdf001-navigation-area {
    padding-right: 32px;
    padding-left: 32px;
  }

  .dsdf001-root .dsdf001-utility {
    gap: 40px;
    padding-right: 32px;
    padding-left: 32px;
  }
}

@media (max-width: 767px) {
  .dsdf001-root {
    display: flex;
    flex-direction: column;
  }

  .dsdf001-root .dsdf001-top,
  .dsdf001-root .dsdf001-brand-rail,
  .dsdf001-root .dsdf001-navigation-area {
    display: contents;
  }

  .dsdf001-root .dsdf001-logo {
    order: 1;
    margin: var(--dsdf-brand-pt, 64px) var(--dsdf-brand-pr, 16px) var(--dsdf-brand-pb, 40px) var(--dsdf-brand-pl, 16px);
  }

  .dsdf001-root .dsdf001-accordions {
    order: 2;
    padding: var(--dsdf-nav-pt, 0) var(--dsdf-nav-pr, 16px) var(--dsdf-nav-pb, 0) var(--dsdf-nav-pl, 16px);
    background: var(--dsdf-nav-bg, #181817);
  }

  .dsdf001-root .dsdf001-utility {
    order: 3;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--dsdf-utility-gap, 40px);
    padding: max(var(--dsdf-utility-pt, 0px), 40px) var(--dsdf-utility-pr, 16px) var(--dsdf-utility-pb, 64px) var(--dsdf-utility-pl, 16px);
  }

  .dsdf001-root .dsdf001-navigation-bottom {
    order: 4;
    min-height: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin-top: 0;
    padding: 0 16px;
    background: var(--dsdf-bg, #181817);
  }

  .dsdf001-root .dsdf001-socials {
    width: min(var(--dsdf-social-width, 264px), calc(100vw - 32px));
    align-self: center;
  }

  .dsdf001-root .dsdf001-back-top {
    width: auto;
    height: auto;
    min-width: 0;
    min-height: var(--dsdf-back-top-size, 56px);
    align-self: center;
    justify-content: center;
  }

  .dsdf001-root .dsdf001-copyright {
    order: 5;
    margin: 120px 0 0;
    padding: 0 16px 40px;
    background: var(--dsdf-bg, #181817);
  }
}

@media (max-width: 430px) {
  .dsdf001-root .dsdf001-navigation-bottom {
    flex-direction: column;
    align-items: center;
  }

  .dsdf001-root .dsdf001-socials {
    align-self: center;
  }

  .dsdf001-root .dsdf001-back-top {
    align-self: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dsdf001-root *,
  .dsdf001-root *::before,
  .dsdf001-root *::after {
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
  }
}

/* ---------------------------------------------------------------------------
   Full-width background colours (.dsdf001-full-bleed)

   The footer's colours used to be painted on .dsdf001-root, which is capped at
   --dsdf-max-width. On a screen wider than that cap the colour stopped and the
   page background showed through on both sides.

   Here the root spans the whole screen so its colour always reaches both edges,
   while the content stays exactly where it was: the same centred column, the
   same widths, the same paddings. The coloured bands inside the footer (brand
   rail, navigation area, utility strip) continue their own colour into the side
   gutters, so a footer built from several different colours still fills the
   screen edge to edge. The root's overflow:hidden trims every fill at the
   viewport edge, so nothing can create a horizontal scrollbar.
--------------------------------------------------------------------------- */

.dsdf001-root.dsdf001-full-bleed {
  /* The content column keeps its previous width, still limited by the
     Maximum footer width setting. */
  --dsdf-content-width: min(1920px, var(--dsdf-max-width, 2048px));
  --dsdf-gutter: max(0px, (100% - var(--dsdf-content-width)) / 2);

  max-width: none;
  min-width: 0;
}

/* Full width so the divider under the menu area reaches both edges, with the
   content held in the same centred column as before. */
.dsdf001-root.dsdf001-full-bleed .dsdf001-top {
  max-width: none;
  padding-inline: var(--dsdf-gutter);
}

.dsdf001-root.dsdf001-full-bleed .dsdf001-brand-rail,
.dsdf001-root.dsdf001-full-bleed .dsdf001-navigation-area,
.dsdf001-root.dsdf001-full-bleed .dsdf001-utility {
  position: relative;
}

/* Side fills. Each one sits completely outside its element's box, so it can
   never cover that element's own background or its content. */
.dsdf001-root.dsdf001-full-bleed .dsdf001-brand-rail::before,
.dsdf001-root.dsdf001-full-bleed .dsdf001-brand-rail::after,
.dsdf001-root.dsdf001-full-bleed .dsdf001-navigation-area::before,
.dsdf001-root.dsdf001-full-bleed .dsdf001-navigation-area::after,
.dsdf001-root.dsdf001-full-bleed .dsdf001-utility::before,
.dsdf001-root.dsdf001-full-bleed .dsdf001-utility::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100vw;
  pointer-events: none;
}

.dsdf001-root.dsdf001-full-bleed .dsdf001-brand-rail::before,
.dsdf001-root.dsdf001-full-bleed .dsdf001-navigation-area::before,
.dsdf001-root.dsdf001-full-bleed .dsdf001-utility::before {
  right: 100%;
}

.dsdf001-root.dsdf001-full-bleed .dsdf001-brand-rail::after,
.dsdf001-root.dsdf001-full-bleed .dsdf001-navigation-area::after,
.dsdf001-root.dsdf001-full-bleed .dsdf001-utility::after {
  left: 100%;
}

.dsdf001-root.dsdf001-full-bleed .dsdf001-brand-rail::before,
.dsdf001-root.dsdf001-full-bleed .dsdf001-brand-rail::after {
  background: var(--dsdf-brand-bg, #181817);
}

.dsdf001-root.dsdf001-full-bleed .dsdf001-navigation-area::before,
.dsdf001-root.dsdf001-full-bleed .dsdf001-navigation-area::after {
  background: var(--dsdf-nav-bg, #181817);
}

.dsdf001-root.dsdf001-full-bleed .dsdf001-utility::before,
.dsdf001-root.dsdf001-full-bleed .dsdf001-utility::after {
  background: var(--dsdf-utility-bg, #181817);
}

/* Side by side from 1200px up: the brand rail owns the left gutter and the
   navigation area owns the right one, so neither can paint over the other. */
@media (min-width: 1200px) {
  .dsdf001-root.dsdf001-full-bleed .dsdf001-brand-rail::after,
  .dsdf001-root.dsdf001-full-bleed .dsdf001-navigation-area::before {
    display: none !important;
  }

  /* The divider under the menu area belongs to .dsdf001-top, which is now full
     width, so the line already reaches both edges. */
}

/* When the footer is placed as a DSD block, its section, row and column wrappers
   are stretched so the full-width colours are not trimmed by a boxed container. */
.dsd-footer-001-native,
.dsd-footer-001-native > div,
.dsd-footer-001-native .h-section-grid-container,
.dsd-footer-001-native .h-section-boxed-container,
.dsd-footer-001-native .h-row-container,
.dsd-footer-001-native .h-column-container,
.dsd-footer-001-native .h-y-container,
.dsd-footer-001-native .h-x-container {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.dsdf001-live-mount {
  max-width: none;
}
