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

@font-face {
    font-family: 'Lexend-Deca';
    src: url('fonts/LexendDeca-VariableFont_wght.ttf') format('truetype');
}
@font-face {
    font-family: 'Lexend-Deca-Light';
    src: url('fonts/LexendDeca-Light.ttf') format('truetype');
}
@font-face {
    font-family: 'Lexend-Deca-Light';
    src: url('fonts/LexendDeca-Medium.ttf') format('truetype');
    font-weight: bold;
}
@font-face {
    font-family: 'Lexend-Deca-ExtraLight';
    src: url('fonts/LexendDeca-ExtraLight.ttf') format('truetype');
}
@font-face {
    font-family: 'Lexend-Deca-ExtraLight';
    src: url('fonts/LexendDeca-Light.ttf') format('truetype');
    font-weight: bold;
}


html {
    font-family: 'Lexend-Deca-Light', Verdana, 'Helvetica Neue', Arial, Helvetica, sans-serif;
}

body {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    color: #333;
    background-color: white;
}


/* ── Header ─────────────────────────────────────────── */

header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.25rem 2rem;
    border-bottom: 2px solid #026FAF;
}

img.logo {
    max-width: 140px;
}

.header-label {
    font-size: 0.95rem;
    color: #026FAF;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-left: 1px solid #ccc;
    padding-left: 1.5rem;
}


/* ── Main content ───────────────────────────────────── */

main {
    max-width: 130ch;
    min-height: 80vh;
    margin: 0 auto;
    padding: 2rem 2rem 4rem;
}

h1 {
    margin-top: 2rem;
    margin-bottom: 0.25rem;
    font-size: 2rem;
    color: #026FAF;
}

h2 {
    margin-top: 3rem;
    margin-bottom: 1rem;
    padding-bottom: 0.4rem;
    font-size: 1.4rem;
    color: #026FAF;
    border-bottom: 1px solid #dde4ec;
}

h3 {
    margin-top: 1.75rem;
    margin-bottom: 0.75rem;
    font-size: 1.05rem;
}

p {
    margin-top: 0.5rem;
    margin-bottom: 0.75rem;
}

a {
    color: #00427a;
}

a:hover {
    color: #026FAF;
}

ul, ol {
    padding-left: 1.5rem;
}

li {
    margin-bottom: 0.25rem;
}


/* ── Code ───────────────────────────────────────────── */

code {
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.88em;
    background: #f2f5f8;
    padding: 0.1em 0.35em;
    border-radius: 3px;
}

pre {
    background: #f2f5f8;
    border-left: 3px solid #026FAF;
    border-radius: 0 4px 4px 0;
    padding: 1rem 1.2rem;
    overflow-x: auto;
    margin: 1rem 0;
}

pre code {
    background: none;
    padding: 0;
    font-size: 0.85em;
}


/* ── Tables ─────────────────────────────────────────── */

table {
    border-collapse: collapse;
    width: 100%;
    margin: 1rem 0;
    font-size: 0.95em;
}

th, td {
    text-align: left;
    padding: 0.45rem 0.75rem;
    border: 1px solid #dde4ec;
}

th {
    background: #f0f5fb;
    font-weight: bold;
    color: #026FAF;
}

tr:nth-child(even) td {
    background: #fafbfc;
}


/* ── Blockquotes ────────────────────────────────────── */

blockquote {
    margin: 1rem 0;
    padding: 0.75rem 1rem;
    border-left: 3px solid #ccc;
    color: #555;
    background: #fafafa;
}


/* ── Footer ─────────────────────────────────────────── */

footer {
    display: flex;
    justify-content: center;
    border-top: 1px solid #dde4ec;
    padding: 1rem;
    font-style: italic;
    font-size: 0.85rem;
    color: #aaa;
}
