.cws {
  --sidebar-width: 220px;

  max-width: 100%;

  @media screen and (min-width: 64rem) {
    display: grid;
    gap: var(--anrt-spacing-100);
    grid-template-columns: var(--sidebar-width) 1fr;
  }
}

.cws__sidebar {
  display: none;

  @media screen and (min-width: 64rem) {
    display: block;
  }
}

.cws__content {
  /* Prevents broken, extra-wide building blocks from breaking the layout. */
  max-width: calc(var(--anrt-width-content-area) - var(--sidebar-width) - var(--anrt-spacing-100));
}

.cws__content > *:not(.building-block--wide) {
  margin-inline: 0;

  @media screen and (min-width: 64rem) {
    margin-inline: var(--anrt-spacing-500) var(--anrt-spacing-1000);
  }
}

@media screen and (min-width: 48rem) {
  .cws__content > .case-study {
    margin-inline-start: 0;
    margin-inline-end: 0;
  }
}

.cws__content__client_facts {
  margin-bottom: var(--anrt-vertical-rhythm-unit);
  padding: var(--anrt-spacing-100);
  border-radius: var(--anrt-radius);
  background: var(--anrt-color-white);
}

@media screen and (min-width: 48rem) {
  .cws__content__client_facts {
    padding: var(--anrt-spacing-166);
  }
}

.cws__content__introduction {
  font-size: var(--anrt-font-size-125);
  font-weight: 300;
}

.cws__content__introduction a {
  color: var(--anrt-color-link);
}

.cws__content__introduction p {
  margin-bottom: var(--anrt-spacing-200);
}

/* Same as .font-section-title */
:where(.cws) h2 {
  font-size: var(--anrt-font-size-150);
  font-weight: 600;
}

:where(.cws) h3 {
  font-size: var(--anrt-font-size-125);
  font-weight: 600;
}

:where(.cws) h4 {
  font-size: var(--anrt-font-size-112);
  font-weight: 600;
}
