header {
    height: max-content;
    min-height: 80vh;
    position: relative;
    display: flex;
    flex-direction: column;
}

header h1 {
    margin-top: var(--spacing-top);
    width: 95%;
    margin-bottom: var(--font-48);
    margin-left: 2.5%;
    line-height: 100%;
    font-size: var(--font-85);
}

header .introduction {
    display: block;
    margin-top: auto;
    margin-bottom: 2%;
    margin-left: 2.5%;
    width: 95%;
    font-size: 1rem;
    line-height: 120%;
    border-top: 1px solid var(--col-dividers);
}

header .introduction p {
    width: 100%;
}

.keyvisual-top {
    height: 80vh;
    overflow: hidden;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    position: relative;
}

@media screen and (min-width: 960px) {
    header h1 {
        width: 80%;
    }
    header .introduction p {
        width: 50%;
    }
}
