.project-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    inline-size: 100%;
    padding-block: 2rem;
    padding-inline: 4rem;
}

.project-header-content {
    flex-grow: 1;
    max-inline-size: 100rem;
}

.project {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-block: 2rem;
}

.project h1 {
    margin-block: 1rem 1rem;
}

.project h2 {
    font-size: 2rem;
    margin-block: 2.5rem 1.5rem;
}

.project h3 {
    font-size: 1.5rem;
    margin-block: 2rem 1rem;
}

.project-content-line {
    display: none;
    background-color: var(--dark-primary);
    position: absolute;
    top: -1rem;
    left: -2rem;
    inline-size: 4rem;
    block-size: 2px;
}

.project-text-segment {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    max-inline-size: 45rem;
    position: relative;
    width: 100%;
}

.project-image-segment {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-block: 4rem;
    &:has(+ .project-image-segment) {
        margin-block-end: 0;
    }
}

.project-image-segment img {
    inline-size: 100%;
    height: auto;
    max-inline-size: 45rem;
}

.project-image-segment img.wide {
    max-inline-size: 100rem;
    padding-inline: 2rem;
}

.project-image-caption {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.2;
    color: var(--dark-secondary-text);
    padding-inline: 1rem;
}

@media (max-width: 1024px) {
    .project-header {
        padding-inline: 2rem;
    }

    .project-text-segment {
        padding-inline: 2rem;
        max-inline-size: 49rem;
    }

    .img-padding-inline {
        padding-inline: 2rem;
    }
}

@media (max-width: 600px) {
    .project-header {
        padding-inline: 1.5rem;
    }

    a.icon-link-button {
        block-size: 3rem;
        inline-size: 3rem;
    }

    .project h1 {
        font-size: 2.5rem;
    }

    .project h2 {
        font-size: 2rem;
    }

    .project h3 {
        font-size: 1.5rem;
    }

    .project-header {
        padding-inline: 1.5rem;
        padding-block: 1.5rem 1rem;
    }

    .project-text-segment {
        padding-inline: 1.5rem;
    }

    .project-image-segment img.wide {
        padding-inline: unset;
    }

    .img-padding-inline {
        padding-inline: 1.5rem;
    }
}