:root {
  --cu-font-family: system-ui;
  --cu-font-weight: 300;
  --cu-font-size: 1rem;
  --cu-line-height: 1.5;
  --cu-text-color: #222;

  --augmented-fourth: 1.414;
  --double-octave: 4;
  --fifth: 1.5;
  --fourth: 1.333;
  --golden: 1.618;
  --major-eleventh: 2.667;
  --major-second: 1.125;
  --major-seventh: 1.875;
  --major-sixth: 1.667;
  --major-tenth: 2.5;
  --major-third: 1.25;
  --major-twelfth: 3;
  --minor-second: 1.067;
  --minor-seventh: 1.778;
  --minor-sixth: 1.6;
  --minor-third: 1.2;
  --octave: 2;
  --phi: 1.618;

  --cu-ms-ratio: var(--major-second);
  --cu-ms0: 1rem;
  --cu-ms1: calc(var(--cu-ms-ratio) * var(--cu-ms0));
  --cu-ms2: calc(var(--cu-ms-ratio) * var(--cu-ms1));
  --cu-ms3: calc(var(--cu-ms-ratio) * var(--cu-ms2));
  --cu-ms4: calc(var(--cu-ms-ratio) * var(--cu-ms3));
  --cu-ms5: calc(var(--cu-ms-ratio) * var(--cu-ms4));
  --cu-ms6: calc(var(--cu-ms-ratio) * var(--cu-ms5));
  --cu-ms7: calc(var(--cu-ms-ratio) * var(--cu-ms6));
  --cu-ms8: calc(var(--cu-ms-ratio) * var(--cu-ms7));
  --cu-ms9: calc(var(--cu-ms-ratio) * var(--cu-ms8));
  --cu-ms10: calc(var(--cu-ms-ratio) * var(--cu-ms9));
  --cu-ms-1: calc(var(--cu-ms0) / var(--cu-ms-ratio));
  --cu-ms-2: calc(var(--cu-ms-1) / var(--cu-ms-ratio));
  --cu-ms-3: calc(var(--cu-ms-2) / var(--cu-ms-ratio));
  --cu-ms-4: calc(var(--cu-ms-3) / var(--cu-ms-ratio));
  --cu-ms-5: calc(var(--cu-ms-4) / var(--cu-ms-ratio));

  --cu-ps-ratio: var(--fifth);
  --cu-ps0: 1rem;
  --cu-ps1: calc(var(--cu-ps-ratio) * var(--cu-ps0));
  --cu-ps2: calc(var(--cu-ps-ratio) * var(--cu-ps1));
  --cu-ps3: calc(var(--cu-ps-ratio) * var(--cu-ps2));
  --cu-ps4: calc(var(--cu-ps-ratio) * var(--cu-ps3));
  --cu-ps5: calc(var(--cu-ps-ratio) * var(--cu-ps4));
  --cu-ps6: calc(var(--cu-ps-ratio) * var(--cu-ps5));
  --cu-ps7: calc(var(--cu-ps-ratio) * var(--cu-ps6));
  --cu-ps8: calc(var(--cu-ps-ratio) * var(--cu-ps7));
  --cu-ps9: calc(var(--cu-ps-ratio) * var(--cu-ps8));
  --cu-ps10: calc(var(--cu-ps-ratio) * var(--cu-ps9));
  --cu-ps-1: calc(var(--cu-ps0) / var(--cu-ps-ratio));
  --cu-ps-2: calc(var(--cu-ps-1) / var(--cu-ps-ratio));
  --cu-ps-3: calc(var(--cu-ps-2) / var(--cu-ps-ratio));
  --cu-ps-4: calc(var(--cu-ps-3) / var(--cu-ps-ratio));
  --cu-ps-5: calc(var(--cu-ps-4) / var(--cu-ps-ratio));

  --cu-vr-ratio: var(--golden);
  --cu-vr0: 1rem;
  --cu-vr1: calc(var(--cu-vr-ratio) * var(--cu-vr0));
  --cu-vr2: calc(var(--cu-vr-ratio) * var(--cu-vr1));
  --cu-vr3: calc(var(--cu-vr-ratio) * var(--cu-vr2));
  --cu-vr4: calc(var(--cu-vr-ratio) * var(--cu-vr3));
  --cu-vr5: calc(var(--cu-vr-ratio) * var(--cu-vr4));
  --cu-vr6: calc(var(--cu-vr-ratio) * var(--cu-vr5));
  --cu-vr7: calc(var(--cu-vr-ratio) * var(--cu-vr6));
  --cu-vr8: calc(var(--cu-vr-ratio) * var(--cu-vr7));
  --cu-vr9: calc(var(--cu-vr-ratio) * var(--cu-vr8));
  --cu-vr10: calc(var(--cu-vr-ratio) * var(--cu-vr9));
  --cu-vr-1: calc(var(--cu-vr0) / var(--cu-vr-ratio));
  --cu-vr-2: calc(var(--cu-vr-1) / var(--cu-vr-ratio));
  --cu-vr-3: calc(var(--cu-vr-2) / var(--cu-vr-ratio));
  --cu-vr-4: calc(var(--cu-vr-3) / var(--cu-vr-ratio));
  --cu-vr-5: calc(var(--cu-vr-4) / var(--cu-vr-ratio));
}

[class*='cu-'], [class*='cu-'] a {
  font-family: var(--cu-font-family, inherit);
  font-size: var(--cu-font-size, inherit);
  font-weight: var(--cu-font-weight, inherit);
  line-height: var(--cu-line-height, inherit);
  color: var(--cu-text-color, inherit);
}

h1 {
  --cu-font-size: var(--cu-ms5);
}

h2 {
  --cu-font-size: var(--cu-ms4);
}

h3 {
  --cu-font-size: var(--cu-ms3);
}

h4 {
  --cu-font-size: var(--cu-ms2);
}

h5 {
  --cu-font-size: var(--cu-ms1);
}

.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap: normal; }
