Autocaling de um SVG incorporado em HTML no redimensionamento de janelas

Gostaria de incorporar algum SVG em uma página HTML de forma que seja redimensionada automaticamente (usando SVG, CSS ou JS) quando a página é redimensionada, preservando a proporção original.

Por exemplo, usando um exemplo do W3Schools:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <circle cx="100" cy="50" r="40" stroke="black"
  stroke-width="2" fill="red"/>
</svg>

É possível definir a largura SVG = 5% da largura da janela e ajustar a altura proporcionalmente?

Eu tentei algumas coisas, incluindopreserveAspectRatio="xMinYMin meet" e definir as dimensões para 100% dentro de um<div> container, mas ainda não o conseguiu funcionar.

Alguma sugestão