:root  {
    --header-height: 70px;
}

.site-header {
    display: flex;
    align-items: center;
    padding: 1.3em;
    column-gap: 3em;

    height: var(--header-height);

    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    background-color: white;
}

body {
    padding-top: var(--header-height);
}

.site-logo {
    display: flex;
    align-items: center;
    column-gap: .3em;
}

.site-logo img {
    display: block;
    width: 2em;
}

.site-logo span {
    font-size: 1.1em;
    color: black;
    font-weight: 500;
}

.site-nav-main,
.site-nav-user {
    display: flex;
    align-items: center;
    column-gap: 2em;
}

.site-nav-user {
    margin-left: auto;
}

.site-nav-link {
    font-weight: 500;
}

.site-nav-link-regular:hover {
    text-decoration: underline;
}

.site-nav-link-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2em;
    padding-left: 1.8em;
    padding-right: 1.8em;
    border-radius: .4em;
    background-color: black;
    color: white;
}



/** main banner */
.banner {
    display: flex;
    column-gap: 50px;
    padding: 2em 3em;
}

.banner-info {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.banner-title {
    letter-spacing: -.02em;
    font-weight: 300;
    line-height: 1.3;
    font-size: 3.1em;
}

.banner-desc {
    font-size: 1.4em;
    font-weight: 300;
    line-height: 1.4;
    margin-top: 1.2em;
    margin-bottom: 1.2em;
}

.banner-info-ctas {
    display: flex;
    column-gap: 1em;
    align-items: center;
}

.banner-info-ctas a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-left: 1.8em;
    padding-right: 1.8em;
    border-radius: .4em;
    background-color: black;
    color: white;
    height: 3em;
}

.banner-highlight {
    flex: 1;
}

.banner-highlight img {
    display: block;
    width: 100%;
}
