:root {
    --mj-page-bg: #fff;
    --mj-text: #212529;
    --mj-muted: #6c757d;
    --mj-quiet-link: #f7f7f7;
    --mj-quiet-link-hover: #adb5bd;
}

html {
    min-height: 100%;
}

body {
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    background: var(--mj-page-bg);
    color: var(--mj-text);
}

.site-main {
    flex: 1;
    display: flex;
    align-items: flex-start;
}

.home-wrap {
    padding-top: clamp(2.5rem, 7vw, 5rem);
    padding-bottom: 2rem;
}

.home-logo {
    display: block;
    width: min(100%, 625px);
    height: auto;
    margin-inline: auto;
    margin-bottom: 1rem;
}

.company-line {
    color: var(--mj-muted);
}

.company-line a {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.2em;
	font-size: 80%;
}

.company-line a:hover,
.company-line a:focus {
    color: var(--mj-text);
}

.separator {
    display: inline-block;
    margin-inline: 0.75rem;
    color: var(--mj-muted);
}

.site-footer {
    padding: 3rem 1rem 2rem;
}

.legacy-link {
    color: var(--mj-quiet-link);
    text-decoration: none;
}

.legacy-link:hover,
.legacy-link:focus {
    color: var(--mj-quiet-link-hover);
    text-decoration: none;
}

@media (max-width: 575.98px) {
    .home-wrap {
        padding-top: 3rem;
    }

    .separator {
        margin-inline: 0.5rem;
    }

    .company-line {
        font-size: 0.95rem;
    }

    .site-footer {
        padding-top: 2rem;
    }
}