:root {
    --bs-body-font-family: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    --bs-body-font-size: 1.0625rem;
    --bs-body-line-height: 1.6;
    --bs-body-bg: #303030;
    --bs-body-bg-rgb: 48, 48, 48;

    --bs-body-color: #E8E6DD;
    --bs-body-color-rgb: 232, 230, 221;
    --bs-emphasis-color: #F2F1EA;
    --bs-emphasis-color-rgb: 242, 241, 234;
    --bs-secondary-color: rgba(232, 230, 221, 0.65);
    --bs-secondary-color-rgb: 232, 230, 221;

    --bs-border-color: rgba(232, 230, 221, 0.16);
    --bs-border-color-rgb: 232, 230, 221;

    --bs-link-color: #D6D3C6;
    --bs-link-hover-color: #F2F1EA;

    --bs-dark: #303030;
    --bs-dark-rgb: 48, 48, 48;

    --ns-font-display: "Roboto", system-ui, sans-serif;
}

body {
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    line-height: var(--bs-body-line-height);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a {
    transition: color 0.2s ease, background-color 0.2s ease;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Roboto", system-ui, sans-serif;
    font-weight: 500;
    letter-spacing: -0.01em;
}

.article-content {
    font-family: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    max-width: 760px;
}

.article-content p {
    font-size: 17px;
    line-height: 1.6;
    font-weight: 400;
    margin-bottom: 1rem;
}

@media (min-width: 992px) {
    .article-content p {
        margin-bottom: 1.1rem;
    }
}

.richtext-image {
    max-width: 100%;
    height: auto;
}

.pagination {
    --bs-pagination-color: var(--bs-body-color);
    --bs-pagination-bg: var(--bs-body-bg);
    --bs-pagination-border-color: var(--bs-border-color);
    --bs-pagination-hover-color: #F2F1EA;
    --bs-pagination-hover-bg: #3C3C3C;
    --bs-pagination-hover-border-color: #4A4A4A;
    --bs-pagination-active-bg: #4A4A4A;
    --bs-pagination-active-border-color: #5A5A5A;
    --bs-pagination-active-color: #F2F1EA;
}

.ns-card {
    background-color: #383838;
}

.blog-index-list__item {
    border-bottom: 1px solid rgba(232, 230, 221, 0.12);
}

.blog-index-list__item:last-child {
    border-bottom: 0;
}

.article-neighbors__link {
    transition: border-color .2s ease, box-shadow .2s ease;
}

.article-neighbors__link:hover {
    border-color: rgba(232, 230, 221, 0.40) !important;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.28);
}

.lift {
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.lift:hover {
    transform: translateY(-2px);
    opacity: 0.88;
}

.news-row {
    transition: background-color 0.15s ease;
}

.news-row:hover {
    background-color: #3C3C3C;
}

.header-menu-link {
    border-radius: 1rem;
}

.header-menu-link:hover,
.header-menu-link:focus-visible {
    background-color: rgba(232, 230, 221, 0.08);
    color: #F2F1EA !important;
}

.header-menu-link.is-active {
    background-color: rgba(232, 230, 221, 0.12);
    color: #F2F1EA !important;
}

.section-heading {
    font-family: var(--ns-font-display);
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
    border-bottom: 1px solid var(--bs-border-color);
    padding-bottom: 0.625rem;
    margin-bottom: 0;
}

.section-label {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

.tabular-date {
    min-width: 5.5rem;
    font-variant-numeric: tabular-nums;
}

.metrics-noscript-img {
    position: absolute;
    left: -9999px;
}