.vjml-about-page {
    color: var(--vjml-ink);
}

.vjml-about-container {
    width: min(1120px, calc(100% - 3rem));
    margin: 0 auto;
}


/* Hero */

.vjml-about-hero {
    padding: 5rem 0 5.5rem;
}

.vjml-about-hero__eyebrow,
.vjml-about-section__label {
    margin-bottom: 1.75rem;
    color: var(--vjml-muted);
    font-family: monospace;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.vjml-about-hero h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(3.25rem, 5.5vw, 5rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.vjml-about-hero__text {
    max-width: 680px;
    margin: 2.5rem 0 0;
    color: var(--vjml-muted);
    font-size: 1.1rem;
    line-height: 1.7;
}

.vjml-about-identity {
    display: flex;
    gap: 1.5rem;
    align-items: baseline;
    margin-top: 2.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--vjml-line);
    font-family: monospace;
    font-size: .75rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.vjml-about-identity span {
    color: var(--vjml-muted);
}


/* Shared sections */

.vjml-about-section {
    padding: 5rem 0;
    border-top: 1px solid var(--vjml-line);
}

.vjml-about-section h2,
.vjml-about-opensource h2 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.75rem);
    line-height: 1.08;
    letter-spacing: -.03em;
}

.vjml-about-copy-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 4rem;
    align-items: start;
}

.vjml-about-copy {
    min-width: 0;
}

.vjml-about-copy p {
    margin: 0 0 1.5rem;
    color: var(--vjml-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.vjml-about-copy p:last-child {
    margin-bottom: 0;
}


/* Workflow */

.vjml-about-workflow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 4rem;
    border-top: 1px solid var(--vjml-line);
}

.vjml-about-workflow__item {
    min-width: 0;
    padding: 1.75rem 2rem 0 0;
}

.vjml-about-workflow__item + .vjml-about-workflow__item {
    padding-left: 2rem;
    border-left: 1px solid var(--vjml-line);
}

.vjml-about-number {
    display: block;
    margin-bottom: 2rem;
    color: var(--vjml-accent);
    font-family: monospace;
    font-size: .75rem;
    font-weight: 700;
}

.vjml-about-workflow h3,
.vjml-about-territory h3 {
    margin: 0 0 1rem;
    font-size: 1.1rem;
    text-transform: uppercase;
}

.vjml-about-workflow p {
    margin: 0;
    color: var(--vjml-muted);
    line-height: 1.65;
}


/* Territory */

.vjml-about-territory {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 4rem;
    border-top: 1px solid var(--vjml-line);
}

.vjml-about-territory__item {
    padding: 2rem 2rem 2.5rem 0;
    border-bottom: 1px solid var(--vjml-line);
}

.vjml-about-territory__item:nth-child(even) {
    padding-left: 2rem;
    border-left: 1px solid var(--vjml-line);
}

.vjml-about-territory p {
    margin: 0;
    color: var(--vjml-muted);
    font-family: monospace;
    font-size: .78rem;
    line-height: 1.6;
}


/* Open source */

.vjml-about-opensource {
    padding: 5.5rem 0;
    background: var(--vjml-ink);
    color: #fff;
}

.vjml-about-opensource h2 {
    color: #fff;
}

.vjml-about-opensource .vjml-about-section__label {
    color: rgba(255, 255, 255, .55);
}

.vjml-about-opensource .vjml-about-copy p {
    color: rgba(255, 255, 255, .75);
}


/* Elsewhere */

.vjml-about-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 4rem;
    border-top: 1px solid var(--vjml-line);
}

.vjml-about-links a {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .5rem 2rem;
    padding: 2rem 2rem 2rem 0;
    color: inherit;
    text-decoration: none;
}

.vjml-about-links a + a {
    padding-left: 2rem;
    border-left: 1px solid var(--vjml-line);
}

.vjml-about-links a > span:first-child {
    grid-column: 1;
    color: var(--vjml-muted);
    font-family: monospace;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.vjml-about-links strong {
    grid-column: 1;
    font-size: 1.1rem;
}

.vjml-about-link-arrow {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    font-size: 1.25rem;
}

.vjml-about-links a:hover strong,
.vjml-about-links a:hover .vjml-about-link-arrow {
    color: var(--vjml-accent);
}


/* Responsive */

@media (max-width: 840px) {

    .vjml-about-container {
        width: min(100% - 2rem, 1120px);
    }

    .vjml-about-hero {
        padding: 5rem 0 4rem;
    }

    .vjml-about-hero h1 {
        font-size: clamp(2.8rem, 13vw, 4.5rem);
    }

    .vjml-about-hero__text {
        margin-top: 2rem;
        font-size: 1.05rem;
    }

    .vjml-about-identity {
        flex-direction: column;
        gap: .5rem;
    }

    .vjml-about-section,
    .vjml-about-opensource {
        padding: 4rem 0;
    }

    .vjml-about-copy-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .vjml-about-workflow,
    .vjml-about-territory,
    .vjml-about-links {
        grid-template-columns: 1fr;
    }

    .vjml-about-workflow__item {
        padding: 2rem 0;
        border-bottom: 1px solid var(--vjml-line);
    }

    .vjml-about-workflow__item + .vjml-about-workflow__item {
        padding-left: 0;
        border-left: 0;
    }

    .vjml-about-workflow__item .vjml-about-number {
        margin-bottom: 1rem;
    }

    .vjml-about-territory__item,
    .vjml-about-territory__item:nth-child(even) {
        padding: 2rem 0;
        border-left: 0;
    }

    .vjml-about-links a,
    .vjml-about-links a + a {
        padding: 2rem 0;
        border-left: 0;
        border-bottom: 1px solid var(--vjml-line);
    }

}
