main {
    display: flex;
    flex-direction: row;
    align-content: space-around;
    text-align: center;
}
section {
    animation: fadeInSlideDown 0.8s ease-out;
    position: relative;
    padding-bottom: 32px;
}
.about-link {
    margin: 96px 0 0;
    font-size: 14px;
}
.about-link a {
    color: #595959;
    text-decoration: underline;
    text-underline-offset: 3px;
}
hr {
    margin: 0 32px;
}
a {
    display: block;
}
/* Shrink-wrap to the logo name so .logo-service aligns to its right edge (minus the period), as on the service pages */
a.logo {
    position: relative;
    width: fit-content;
    margin: 0 auto;
}
.logo-name {
    font-size: 56px;
}
.logo-service {
    font-size: 37px;
    margin: -12px 12px 0 0;
    text-align: right;
    position: absolute;
    right: 0;
}
@media (max-width: 600px) {
    body {
        justify-content: center;
        height: auto;
        min-height: 100vh;
        box-sizing: border-box;
        padding: 32px 0 112px; /* room for the stacked, absolutely positioned footer */
    }
    main {
        flex-direction: column;
        justify-content: space-around;
        margin-top: 114px; /* balances the 96px + line of .about-link below, so the entrances sit in the visual middle */
    }
    hr {
        margin: 54px 54px 16px;
    }
}

.logo-tagline {
    display: flex;
    justify-content: center;
    white-space: nowrap;
    width: 0;
    min-width: 100%;
    margin: 44px 0 0;
    font-size: 15px;
    line-height: 1.4;
    color: #4a4a4a;
}
a.logo:focus-visible {
    outline: 2px solid #4a5f9a;
    outline-offset: 10px;
    border-radius: 10px;
}
@media (prefers-reduced-motion: no-preference) {
    a.logo {
        transition: transform .2s ease-out;
    }
    a.logo:hover,
    a.logo:focus-visible {
        transform: translateY(-3px);
    }
}
a.logo:hover .logo-tagline {
    text-decoration: underline;
    text-underline-offset: 3px;
}
