h1, h2, h3, h4, h5, h6 {
    font-family: 'Barlow', sans-serif;
    font-weight: 500;
    line-height: 1.1;
    color: black;
}
h1 {font-size: 2.5rem;}
h2 {font-size: 2rem;}
h3 {font-size: 1.75rem;}
h4 {font-size: 1.5rem;}
h5 {font-size: 1.25rem;}
h6 {font-size: 1rem;}

p {
    margin-bottom: 1rem;
    padding: 1rem;
    font-size: 1.2rem;
    font-family: 'Barlow', sans-serif;
}

.font-maven {font-family: 'Maven Pro', sans-serif;}
.font-barlow {font-family: 'Barlow', sans-serif;}

/* Barlow weights */
.b-thin       { font-family: 'Barlow', sans-serif; font-weight: 100; }
.b-extralight { font-family: 'Barlow', sans-serif; font-weight: 200; }
.b-light      { font-family: 'Barlow', sans-serif; font-weight: 300; }
.b-regular    { font-family: 'Barlow', sans-serif; font-weight: 400; }
.b-medium     { font-family: 'Barlow', sans-serif; font-weight: 500; }
.b-semibold   { font-family: 'Barlow', sans-serif; font-weight: 600; }
.b-bold       { font-family: 'Barlow', sans-serif; font-weight: 700; }
.b-extrabold  { font-family: 'Barlow', sans-serif; font-weight: 800; }
.b-black      { font-family: 'Barlow', sans-serif; font-weight: 900; }

/* Maven weights */
.m-regular    { font-family: 'Barlow', sans-serif; font-weight: 400; }
.m-medium     { font-family: 'Barlow', sans-serif; font-weight: 500; }
.m-semibold   { font-family: 'Barlow', sans-serif; font-weight: 600; }
.m-bold       { font-family: 'Barlow', sans-serif; font-weight: 700; }
.m-extrabold  { font-family: 'Barlow', sans-serif; font-weight: 800; }
.m-black      { font-family: 'Barlow', sans-serif; font-weight: 900; }

/* font sizes */
.text-xs {font-size: 0.75rem;} /* 12px */
.text-sm {font-size: 0.875rem;} /* 14px */
.text-base {font-size: 1rem;} /* 16px */
.text-lg {font-size: 1.125rem;} /* 18px */
.text-xl {font-size: 1.25rem;} /* 20px */
.text-2xl {font-size: 1.5rem;} /* 24px */
.text-3xl {font-size: 1.875rem;} /* 30px */
.text-4xl {font-size: 2.5rem;} /* 40px */

/* === word wrapping utilities === */
.wrap-break-word {
    overflow-wrap: break-word;
    word-wrap: break-word;
}
.break-all {
    word-break: break-all;
}

/* text alignment */
.text-left {text-align: left;}
.text-center {text-align: center;}
.text-right {text-align: right;}