:root {
    color-scheme: dark;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
    background: #101418;
    color: #e7edf2;
}

* {
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    margin: 0;
    background: #101418;
}

a {
    color: #8dd7ff;
}

a:hover {
    color: #c3ebff;
}

a:focus-visible {
    outline: 3px solid #f6c85f;
    outline-offset: 3px;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

.page-shell {
    width: min(1120px, calc(100% - 2rem));
    margin-inline: auto;
}

.site-header {
    border-bottom: 1px solid #34404a;
    background: #151b20;
    overflow: visible;
}

.site-header > .page-shell {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 2rem;
    padding-block: 1rem;
}

.site-name {
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
}

/* Draft Mainframe brand header install - v0.8.1 */
:root {
    --dm-shell-bg: #0D0E12;
    --dm-brand-cream: #EFE8D6;
    --dm-brand-orange: #F26A21;
}

.dm-brand {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 1 auto;
    min-width: 0;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 0;
    text-decoration: none;
    overflow: visible;
}

.dm-header-logo {
    display: block;
    width: 212px;
    max-width: 52vw;
    height: auto;
    max-height: 58px;
    object-fit: contain;
    object-position: left center;
    flex: 0 0 auto;
}

.navbar,
.site-header,
.dm-site-header,
.dm-app-shell-header {
    min-height: 72px;
    overflow: visible;
}

.navbar .container,
.navbar .container-fluid,
.site-header .container,
.dm-site-header .container,
.dm-app-shell-header .container {
    align-items: center;
    overflow: visible;
}

.site-nav ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

.site-nav a {
    text-underline-offset: 0.2em;
}

main.page-shell {
    min-height: calc(100vh - 11rem);
    padding-block: 3rem;
}

.site-footer {
    border-top: 1px solid #34404a;
    color: #aab6bf;
}

.site-footer .page-shell {
    padding-block: 1.25rem;
}

.page-heading {
    max-width: 48rem;
    margin-bottom: 2rem;
}

.page-heading h1 {
    margin-bottom: 0.5rem;
}

.placeholder-panel {
    max-width: 42rem;
    padding: 1.25rem;
    border: 1px solid #34404a;
    border-radius: 0.35rem;
    background: #171d22;
}

.placeholder-panel > :last-child {
    margin-bottom: 0;
}

.simple-link-list {
    display: grid;
    gap: 0.6rem;
    padding-left: 1.25rem;
}

.dm-page-return {
    margin-bottom: 1.5rem;
}

.dm-page-return__link {
    display: inline-block;
    text-underline-offset: 0.2em;
}

@media (max-width: 700px) {
    .site-header > .page-shell {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 991.98px) {
    .dm-header-logo {
        width: 188px;
        max-height: 54px;
        max-width: 58vw;
    }

    .navbar,
    .site-header,
    .dm-site-header,
    .dm-app-shell-header {
        min-height: 68px;
    }
}

@media (max-width: 575.98px) {
    .dm-header-logo {
        width: 164px;
        max-height: 48px;
        max-width: 62vw;
    }

    .navbar,
    .site-header,
    .dm-site-header,
    .dm-app-shell-header {
        min-height: 62px;
    }
}

@media (max-width: 374.98px) {
    .dm-header-logo {
        width: 142px;
        max-height: 42px;
        max-width: 64vw;
    }

    .navbar,
    .site-header,
    .dm-site-header,
    .dm-app-shell-header {
        min-height: 56px;
    }
}
