@font-face {
  font-family: "Young Serif";
  src: url("../fonts/YoungSerif-Regular.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Karla";
  src: url("../fonts/Karla-VariableFont_wght.ttf") format("truetype");
  font-display: swap;
  font-style: normal;
  font-weight: 200 800;
}

@font-face {
  font-family: "Karla";
  src: url("../fonts/Karla-Italic-VariableFont_wght.ttf") format("truetype");
  font-display: swap;
  font-style: italic;
  font-weight: 200 800;
}

:root {
  --bm-font-sans: Karla, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bm-font-display: "Young Serif", Georgia, "Times New Roman", serif;

  --bm-color-ink: #18130f;
  --bm-color-muted: #5f574f;
  --bm-color-paper: #fff8e5;
  --bm-color-surface: #fffdf4;
  --bm-color-primary: #ec5f35;
  --bm-color-secondary: #347f76;
  --bm-color-accent: #f2c94c;
  --bm-color-rule: color-mix(in srgb, var(--bm-color-ink), transparent 78%);

  --bm-step--1: 0.875rem;
  --bm-step-0: 1rem;
  --bm-step-1: 1.1875rem;
  --bm-step-2: 1.5rem;
  --bm-step-3: 2rem;
  --bm-step-4: 2.75rem;
  --bm-step-5: 3.5rem;

  --bm-space-2xs: 0.375rem;
  --bm-space-xs: 0.625rem;
  --bm-space-s: 0.875rem;
  --bm-space-m: 1.25rem;
  --bm-space-l: 1.875rem;
  --bm-space-xl: 2.75rem;
  --bm-space-2xl: 4rem;
}

@supports (font-size: clamp(1rem, 1vw, 2rem)) {
  :root {
    --bm-step--1: clamp(0.875rem, 0.85rem + 0.13vw, 0.9375rem);
    --bm-step-0: clamp(1rem, 0.96rem + 0.22vw, 1.125rem);
    --bm-step-1: clamp(1.125rem, 1.04rem + 0.43vw, 1.375rem);
    --bm-step-2: clamp(1.35rem, 1.2rem + 0.76vw, 1.8rem);
    --bm-step-3: clamp(1.62rem, 1.35rem + 1.35vw, 2.45rem);
    --bm-step-4: clamp(2.1rem, 1.52rem + 2.92vw, 3.875rem);
    --bm-step-5: clamp(2.55rem, 1.61rem + 4.68vw, 5.4rem);

    --bm-space-2xs: clamp(0.3125rem, 0.29rem + 0.11vw, 0.375rem);
    --bm-space-xs: clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem);
    --bm-space-s: clamp(0.75rem, 0.66rem + 0.43vw, 1rem);
    --bm-space-m: clamp(1rem, 0.83rem + 0.87vw, 1.5rem);
    --bm-space-l: clamp(1.5rem, 1.24rem + 1.3vw, 2.25rem);
    --bm-space-xl: clamp(2rem, 1.65rem + 1.74vw, 3rem);
    --bm-space-2xl: clamp(3rem, 2.48rem + 2.61vw, 4.5rem);
  }
}

html {
  font-family: var(--bm-font-sans);
  text-size-adjust: 100%;
}

body {
  background-color: var(--bm-color-paper);
  color: var(--bm-color-ink);
  font-family: var(--bm-font-sans);
  font-size: var(--bm-step-0);
  line-height: 1.58;
}

body,
button,
input,
select,
textarea {
  font-family: var(--bm-font-sans);
}

::selection {
  background: var(--bm-color-accent);
  color: var(--bm-color-ink);
}

:where(p, li, blockquote, figcaption) {
  font-size: inherit;
  letter-spacing: 0;
}

:where(.entry-content, .wp-block-post-content, .is-root-container) :where(p, ul, ol, blockquote) {
  max-width: 72ch;
}

:where(.entry-content, .wp-block-post-content, .is-root-container) > * + * {
  margin-block-start: var(--bm-space-m);
}

:where(h1, h2, h3, h4, .entry-title, .wp-block-post-title) {
  color: var(--bm-color-ink);
  font-family: var(--bm-font-display);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.98;
  text-wrap: balance;
}

:where(h1, .entry-title, .wp-block-post-title) {
  font-size: var(--bm-step-5);
  margin-block-end: var(--bm-space-l);
  max-width: 12ch;
}

:where(h2) {
  font-size: var(--bm-step-4);
  margin-block-start: var(--bm-space-xl);
  margin-block-end: var(--bm-space-s);
  max-width: 15ch;
}

:where(h3) {
  font-size: var(--bm-step-3);
  margin-block-start: var(--bm-space-l);
  margin-block-end: var(--bm-space-s);
}

:where(h4) {
  font-family: var(--bm-font-sans);
  font-size: var(--bm-step-1);
  font-weight: 800;
  line-height: 1.15;
}

:where(a) {
  color: currentColor;
  text-decoration-color: var(--bm-color-primary);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

:where(a:hover) {
  color: var(--bm-color-primary);
}

:where(blockquote, .wp-block-quote) {
  border-left: 0.25rem solid var(--bm-color-primary);
  color: var(--bm-color-muted);
  font-size: var(--bm-step-1);
  margin-inline-start: 0;
  padding-inline-start: var(--bm-space-m);
}

:where(.wp-block-separator) {
  border-color: var(--bm-color-rule);
  margin-block: var(--bm-space-xl);
}

:where(.wp-block-button__link, button, input[type="button"], input[type="submit"]) {
  border-radius: 0;
  font-weight: 800;
  letter-spacing: 0;
}

@media (max-width: 600px) {
  :where(h1, .entry-title, .wp-block-post-title) {
    max-width: 10ch;
  }
}

body :is(h1, h2, h3, h4, .wp-block-heading, .wp-block-post-title) {
  color: var(--bm-color-ink);
  font-family: var(--bm-font-display) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 0.98 !important;
  text-transform: none;
  text-wrap: balance;
}

body :is(.entry-title, .wp-block-post-title) {
  font-family: var(--bm-font-display) !important;
  font-size: var(--bm-step-5) !important;
  font-weight: 400 !important;
  line-height: 0.95 !important;
}

body h1 {
  font-size: var(--bm-step-3) !important;
}

body h2 {
  font-size: var(--bm-step-3) !important;
}

body h3 {
  font-size: var(--bm-step-2) !important;
}

body h4 {
  font-size: var(--bm-step-1) !important;
  line-height: 1.15 !important;
}

body main > .wp-block-group.has-background:first-child > h1.wp-block-heading {
  font-family: var(--bm-font-display) !important;
  font-size: clamp(1.7rem, 1.16rem + 2.7vw, 3.35rem) !important;
  font-weight: 400 !important;
  line-height: 0.96 !important;
  max-width: 13ch;
  margin-inline: auto;
}

body main > .wp-block-group.has-background:first-child > h2.wp-block-heading {
  font-family: var(--bm-font-display) !important;
  font-size: var(--bm-step-5) !important;
  font-weight: 400 !important;
  line-height: 0.93 !important;
  max-width: 12ch;
  margin-inline: auto !important;
}

body main > .wp-block-group.has-background:first-child > h3.wp-block-heading {
  font-family: var(--bm-font-display) !important;
  font-size: var(--bm-step-2) !important;
  font-weight: 400 !important;
  line-height: 1.12 !important;
  max-width: 42ch;
  margin-inline: auto !important;
}

body main > .wp-block-group:not(:first-child) h2.wp-block-heading {
  font-family: var(--bm-font-display) !important;
  font-size: var(--bm-step-3) !important;
  font-weight: 400 !important;
  line-height: 0.98 !important;
  max-width: none;
}

body .cs-section h4,
body .cs-metrics h4 {
  font-family: var(--bm-font-display) !important;
  font-size: var(--bm-step-0) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
}

@media (max-width: 700px) {
  body main > .wp-block-group.has-background:first-child > h1.wp-block-heading {
    font-size: clamp(1.55rem, 7vw, 2.25rem) !important;
  }

  body main > .wp-block-group.has-background:first-child > h2.wp-block-heading {
    font-size: clamp(2.25rem, 9.5vw, 3.35rem) !important;
  }

  body main > .wp-block-group.has-background:first-child > h3.wp-block-heading {
    font-size: clamp(1.1rem, 4vw, 1.4rem) !important;
  }
}
