/* Base Styles & Resets */

html {
    font-size: 62.5%; /* 1rem = 10px */
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

body {
    font-family: 'Roboto', sans-serif;
    font-size: 1.6rem; /* Base font size for body text */
    line-height: 1.5;
    color: var(--dark-text);
    background-color: white;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

p {
    font-family: 'Roboto', sans-serif;
    font-size: 1.8rem;
    line-height: 1.2;
}

a {
    color: var(--primary-color);
    text-decoration: none;
    transition: var(--transition);
    font-size: 1.8rem;
    line-height: 1.2;
    font-family: 'Roboto', sans-serif;
    cursor: pointer;
}

a:hover {
    color: var(--primary-hover);
    text-decoration: underline;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

code {
    white-space: pre; /* Preserves whitespace and line breaks in code blocks */
}

/* Typography - General Headings */
h1 {
    font-size: 2.8rem;
    margin-top: 0;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 8px;
}

h2 {
    font-size: 2.5rem;
}

h3 {
    font-size: 2.1rem;
}

h4 {
    font-size: 1.8rem;
}

h5 {
    font-size: 1.6rem;
}

h6 {
    font-size: 1.4rem;
}

hr {
  margin: 1rem 0;
  border: none;
  border-top: 1px solid #ccc; /* or a color that fits your theme */
  width: 100%; /* or less to center it visually */
  align-self: center; /* if inside a flex container */
}

.clearfix { clear: both; }
.news-header { display: flex; justify-content: space-between; align-items: baseline; }