/* Headings, fonts */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    font-family: 'Lato', sans-serif;
    font-size: 10px;
    line-height: 1.4;
    color: #333;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #222;
    margin-top: 1em;
    margin-bottom: 0.5em;    /* Reduced spacing for compactness */
}
p {
  margin-bottom: 0.75em;   /* Slight spacing between paragraphs */
}

/* Links */
a {
    color: #0077cc;
    text-decoration: none;
}
a:hover { text-decoration: underline; }

/* Tables: centered */
table {
    margin: 0 auto;
    border: 1px solid #000;
    border-collapse: collapse;
}
th, td {
    border: 1px solid #000;
    padding: 4px;
}
th {
    text-align: center;    
    background-color: #f2f2f2; /* light gray */
    font-weight: bold;
}
td {
    text-align: left;
    font-size: 80%;
}
td.pass { background-color: #c8e6c9; }
td.fail { background-color: #ffcdd2; }

/* Images: centered, scaled */
figure {
	display: inline-block;
	margin: 0 auto;
}
figure img {
	margin: 0 auto;
	vertical-align: top;
	max-width: 60%;
	display: block;
	height: auto;
}
figure figcaption {
	text-align: center;
	font-weight: bold;
}

/* lists */
ul, ol {
	list-style-position: inside;
	margin-left: 1.5em; padding-left: 1.5em; }
}
