main>article {

    margin-bottom: 4rem;

    & h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-weight: 600;
        margin-bottom: 0.5em;
    }

    & h1 {
        font-size: 1.5rem;
    }

    & h1:nth-child(1) {
        color: rgb(163, 163, 163);
        margin-bottom: 0;
    }

    & h1:nth-child(1), h1:nth-child(2) {
        line-height: 1.375;
    }

    & h2 {
        font-size: 1.25rem;
    }

    & h3 {
        font-size: 1.125rem;
    }

    @media screen and (min-width: 1024px) {
        & info-grid {
            flex-direction: row;
        }

        & info-grid>div:nth-child(1) {
            width: 100%;
            max-width: calc((100% - 432px) / 2);
            padding-right: 6rem;
        }

        & info-grid>div:nth-child(2) {
            width: 100%;
            max-width: 432px;
        }

        & info-grid>div:nth-child(3) {
            width: 100%;
            max-width: calc((100% - 432px) / 2);
            padding-left: 6rem;
        }

        & div>p>img:nth-child(1) {
            width: 100%;
            max-width: none;
            background-color: #F5F5F5;
            padding: 8rem 16rem;
            margin: 0 auto;
        }
    }

    @media screen and (max-width: 1023px) {
        & info-grid {
            flex-direction: column;
            gap: 0;
        }

        & info-grid>div>p {
            margin-bottom: 1rem;
        }

        & info-grid>div:nth-child(1) {
            margin-bottom: 0;
        }

        & info-grid>div:nth-child(2) {
            width: 100%;
        }

        & info-grid>div:nth-child(3) {
            padding-top: 2rem;
        }
    }

    & info-grid {
        display: flex;
        margin-bottom: 2rem;
    }

    & info-grid>div>p {
        margin-bottom: 0.25rem;
    }

    & info-grid>div {
        margin-bottom: 2rem;
    }

    & info-grid>div>table {
        width: 100%;
        border-spacing: 1em 0.5em;
    }

    & info-grid>div>table>tbody>tr>td {
        padding: 0.35rem 0;
        border-bottom: 1px solid #f5f5f5;
        vertical-align: top;
    }

    & info-grid>div>table>tbody>tr>td:nth-child(2) {
        padding-left: 3rem;
        position: relative;
        top: 0.5px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 6;
    }

    & p {
        color: #737373;
        margin-bottom: 4rem;
    }

    & process-grid>div>p {
        margin-bottom: 2rem;
    }

    @media (prefers-color-scheme: dark) {
        & h1:nth-child(1) {
        color: rgb(115, 115, 115);
    }

        & p {
            color: #737373;
        }

        & div>p>img:nth-child(1) {
            background-color: #101010;
        }
    }

    & info-grid> :nth-child(2) {
        width: 100%;
    }

    & a {
        padding: 0.1rem 0rem;
        border-radius: 0.2rem;
        font-weight: 500;
        color: black;
        transition: all ease-in-out 0.1s;
        cursor: alias;
    }

    & process-grid p>a {
        text-decoration: none;
        text-underline-offset: 2px;
    }

    & process-grid a:hover {
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    @media (prefers-color-scheme: dark) {
        & a {
            padding: 0.1rem 0rem;
            border-radius: 0.2rem;
            font-weight: 500;
            color: white;
            transition: all ease-in-out 0.1s;
            cursor: alias;
        }
    }

    & collaborators>h4 {
        margin-bottom: 1rem;
    }

    & collaborators>ul>li {
        margin-bottom: 12px;
        display: flex;
    }

    & collaborators>ul>li>a {
        margin-bottom: 0.5rem;
        list-style: none;
        display: flex;
        align-items: center;
    }

    & info-grid a:hover {
        text-underline-offset: 2px;
        text-decoration: underline;
    }

    & collaborators>ul>li>a>img {
        flex-shrink: 0;
        margin-right: 0.5rem;
        width: 24px;
        height: 24px;
        border-radius: 1000px;
    }

    & three-full-grid {
        overflow: hidden;
    }


    & two-full-grid>p {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
        margin: 6rem 0;
        width: 80vw;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        padding: 0 4rem;
    }

    & .video-container {
        margin-bottom: 4rem;
        cursor: pointer;
        position: relative;
        aspect-ratio: 16/9;
        width: 100%;
        height: auto;
    }

    & .video-wrapper::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translateX(-50%) translateY(-50%);
        width: 6rem;
        height: 6rem;
        background-image: url("/images/icons/play-circle.svg");
        background-size: cover;
        z-index: 10;
        border-radius: 50%;
        opacity: 20%;
        transition: all ease 0.2s;
        mix-blend-mode: exclusion;
    }

    & .video-wrapper:hover::after {
        transform: translateX(-50%) translateY(-50%) scale(1.1);
        opacity: 30%;
    }

    @media screen and (max-width: 850px) {
        & two-full-grid>p {
            display: flex;
            flex-direction: column;
            width: 100%;
            position: static;
            transform: translateX(0);
            padding: 0 0rem;
        }
    }

    & three-full-grid {
        overflow: hidden;
    }

    & three-full-grid>p {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 1rem;
        margin: 6rem 0;
        width: 99vw;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        padding: 0 4rem;
    }

    @media screen and (max-width: 850px) {
        & three-full-grid>p {
            display: flex;
            flex-direction: column;
            width: 100%;
            position: static;
            transform: translateX(0);
            padding: 0 0rem;
        }
    }

    & process-grid {
        display: grid;
        grid-template-columns: calc((100% - 432px) / 2) 1fr;
        margin: 8rem 0;
        position: relative;
    }

    & process-grid>div>h3 {
        position: sticky;
        top: 4.5rem;
    }

    @media screen and (max-width: 850px) {
        & process-grid {
            grid-template-columns: 1fr;
            gap: 0;
        }

        & process-grid>h3:nth-child(3) {
            position: static;
        }
    }

    & project-links>p {
        display: flex;
        gap: 1.5rem;
        align-items: stretch;
    }

    & project-links div,
    project-links p,
    project-links a {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        width: 100%;
        height: 4rem;
        border-radius: 0.5rem;
        color: #18181b;
        transition: all ease 0.2s;
    }

    @media screen and (max-width: 850px) {
        & project-links>p {
            flex-direction: column;
            gap: 1rem;
        }

        & project-links a {
            padding: 2rem 0;
        }
    }

    & project-links a {
        border: 1px solid #e4e4e7;
        background-color: #fafafa;
        color: #000;
        font-weight: 500;
    }

    & project-links a:nth-child(1) {
        border: none;
        background-color: #171717;
        color: #fff;
    }

    & project-links a:nth-child(1)::after {
        filter: invert(1);
    }

    & project-links a:nth-child(1):hover {
        background-color: #27272a;
        border-color: rgb(82 82 91);
        color: #fff;
    }

    & project-links a:hover {
        color: #262626;
        background-color: #f5f5f5;
        border-radius: 0.5rem;
    }

    & code {
        font-size: 0.9rem;
        padding: 0.1rem 0.2rem;
        color: black;
        background-color: #f4f4f5;
        border-radius: 0.25rem;
    }

    @media (prefers-color-scheme: dark) {
        & project-links a {
            border: 1px solid #27272a;
            background-color: #000;
            color: #fff;
        }

        & project-links a:nth-child(1) {
            background-color: #ffffff;
            color: #000;
        }

        & project-links a:hover {
            background-color: #171717;
            color: #e4e4e7;
        }

        & info-grid>div>table>tbody>tr>td {
            border-bottom: 1px solid #171717;
        }

        & project-links a:nth-child(1):hover {
            color: #000;
            background-color: #e4e4e7;
            border-radius: 0.5rem;
        }

        & code {
            color: white;
            background-color: #27272a;
        }
    }

    & pre {
        margin-bottom: 4rem;
        width: 100%;
        border-radius: 1rem;
    }

    & pre>code {
        margin-bottom: 4rem;
        max-width: 90vw;
        overflow: hidden;
    }

    & pre>code {
        border: 1px solid #71717a30;
        border-radius: 0.75rem;
    }
}

article>div>p>img:nth-child(1) {
    object-fit: cover;
    object-position: center;
    margin-bottom: 4rem;
}

article>div>p:nth-child(3),
article>div>p:nth-child(4) {
    max-width: 432px;
    margin: 0 auto;
    margin-bottom: 2rem;
}