:root {
    color-scheme: dark light;
    --clamp-lines: 2;
    --pink: #ff034a;
    --pink-hover: #ff6176;
    --on-accent: white;
}

@media (prefers-color-scheme: dark) {
    :root {
        --pink: #ff6176;
        --pink-hover: #ff034a;
        --on-accent: black;
    }
}

@supports (color: color(display-p3 1 1 1 / 1)) {
    :root {
        --pink: color(display-p3 1 .012 .29 / 1);
        --pink-hover: color(display-p3 0.885 0.044 0.201);
    }
    @media (prefers-color-scheme: dark) {
        :root {
            --pink: color(display-p3 1 0.41 0.5 / 1);
            --pink-hover: color(display-p3 1 0.5 0.6 / 1);
        }
    }
}


body {
    max-width: 88ch;
    margin: 1rem auto 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    padding: 0 2rem;
}

a {
    text-decoration: none;
    color: inherit;
}

a:hover {
    text-decoration: underline;
}

a.link-inline_brand {
    font-weight: 700;
    color: var(--pink);
    transition: color 0.1s ease-in-out;
}

a.link-button {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 0.25rem;
    background-color: var(--pink);
    color: var(--on-accent);
    font-weight: 600;
    transition: background-color 0.1s ease-in-out;
}

a.link-inline_brand:hover {
    color: var(--pink-hover);
}

a.link-button:hover {
    background-color: var(--pink-hover);
    text-decoration: none;
}

header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

header select {
    cursor: pointer;
    font-size: 1.2rem;
    padding: 0.25rem;
}

.lockup {
    flex-grow: 1;
}

.lockup * {
    margin: 0;
}

.lockup h1 {
    font-family: 'Big Shoulders Text', sans-serif;
    font-size: 3.5rem;
    text-transform: uppercase;
    font-style: italic;
}

.lockup h2, .lockup span {
    font-weight: 600;
}

.lockup span {
    font-size: 0.8rem;
}

.lockup h2 {
    font-size: 1.1rem;
    letter-spacing: -0.015em;
    font-weight: 500;
    opacity: 0.8;
}

main {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(96pt, 1fr));
    column-gap: 2rem;
    row-gap: 1rem;
}

main > article > a > figure > picture {
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    margin-bottom: 0.5rem;
    border-radius: 25%;
}

figure {
    margin: 0;
}

figcaption > * {
    display: -webkit-box;
	-webkit-line-clamp: var(--clamp-lines);
	-webkit-box-orient: vertical;
	overflow: hidden;
    margin: 0;
    font-weight: normal;
}

figcaption h2 {
	font-size: 1rem;
}

figcaption h3 {
    opacity: 0.6;
	font-size: 0.8rem;
}

footer {
    margin: 2rem 0;
}

footer h2, footer h3 {
    margin: 0.5rem 0;
}

footer h3 {
    margin-bottom: 1.5rem;
}
