:root {
    --primary: #bf4a06;
    --container-max: 1220px;
    --container-pad: 1.75rem;
}

main {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding-block-start: 0;
}

.site-header[data-topnav] {
    min-height: 5.5rem;
    padding: 0;

    &.is-compact {
        min-height: 3.25rem;

        .site-header-inner {
            min-height: 3.25rem;
        }

        .brand {
            &::after {
                display: inline;
            }

            img {
                display: none;
            }
        }
    }

    .site-header-inner {
        width: 100%;
        min-height: 8rem;
        display: flex;
        align-items: center;
        gap: var(--space-6);
    }

    .brand {
        display: inline-flex;
        align-items: center;
        color: var(--foreground);
        font-weight: var(--font-semibold);
        text-decoration: none;

        &::after {
            content: "PDGI";
            display: none;
        }

        img {
            max-height: 4.5rem;
        }
    }
}

.primary-nav {
    display: flex;
    gap: var(--space-8);
    margin-inline-start: auto;

    a[aria-current="page"] {
        color: var(--primary);
    }
}

.menu-toggle {
    margin-inline-start: auto;
}

.hero {
    min-height: 60dvh;
    background:
        linear-gradient(90deg, rgb(15 13 12 / 0.78), rgb(15 13 12 / 0.25)),
        url("city-in-the-night.jpg") center 45% / cover;
    color: white;

    header {
        max-width: 900px;
    }
    h1 {
        margin: 0;
        font-size: calc(var(--text-1) * 1.3);
    }
    a {
        color: white;
    }
}

.hero-credit {
    align-self: end;
    max-width: min(100%, 34rem);
    margin: var(--space-6) 0 0;
    color: rgb(255 255 255 / 0.62);
    font-size: 0.68rem;
    line-height: 1.2;
    text-align: end;
}

.hero-inner {
    min-height: inherit;
    display: flex;
    align-items: end;
    padding-block: var(--space-18);
}

.hero-splash .hero-inner {
    flex-direction: column;
    justify-content: end;
    align-items: stretch;
    padding-block-end: var(--space-3);
}

.hero-subline {
    max-width: 760px;
    margin-block-start: var(--space-6);
    padding-block-start: var(--space-4);
    border-block-start: 1px solid rgb(255 255 255 / 0.35);
    color: rgb(255 255 255 / 0.78);
}

.content-section {
    margin: var(--space-16) auto;
    padding-block: var(--space-6);
}

.article-page,
.article-post {
    padding-block: var(--space-8);
}

.image-header {
    min-height: 20rem;

    h1 {
        max-width: 900px;
    }
}

.section-heading {
    max-width: 820px;
    margin-block-end: var(--space-8);
}

.feed-band {
    margin-block-end: var(--space-12);
}

.feed-band .row {
    --grid-gap: 0;
}

.feed-band .feed-column:first-child {
    border-start-end-radius: 0;
    border-end-end-radius: 0;
}

.feed-band .feed-column + .feed-column {
    margin-inline-start: -1px;
    border-start-start-radius: 0;
    border-end-start-radius: 0;
}

.feed-list {
    /*border-block-start: 1px solid var(--border);*/

    article {
        display: grid;
        gap: var(--space-4);
        padding-block: var(--space-4);
        /*border-block-end: 1px solid var(--border);*/
    }

    a {
        color: var(--foreground);
        font-weight: var(--font-medium);
        text-decoration: none;
    }

    p,
    time {
        color: var(--muted-foreground);
    }
}

.update-list article {
    grid-template-columns: 7rem 1fr;
}
.event-list article {
    grid-template-columns: 3.5rem 1fr;
}

.update-thumb {
    aspect-ratio: 4 / 3;
    overflow: hidden;

    img {
        width: 100%;
        height: 100%;
        border-radius: 3px;
        object-fit: cover;
    }
}

.event-list time {
    display: grid;
    place-items: center;
    min-height: 3.5rem;
    /*border: 1px solid var(--border);*/
    background: var(--background);
    color: var(--primary);
    line-height: 1;
    background-color: var(--muted);
    border-radius: 3px;
    padding-block: var(--space-2);
    span {
        display: block;
        font-weight: bold;
        color: var(--muted-foreground);
        font-size: var(--text-8);
        text-transform: uppercase;
        line-height: 1;
    }
}

.event-status {
    display: inline-flex;
    width: fit-content;
    margin-block-start: var(--space-2);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    font-size: var(--text-8);
    font-weight: var(--font-medium);
    line-height: 1.4;
}

.event-status.is-upcoming {
    background: color-mix(in srgb, var(--success) 12%, transparent);
    color: var(--success);
}

.event-status.is-ended {
    background: var(--muted);
    color: var(--muted-foreground);
}

.article-page,
.article-post {
    max-width: 760px;
}

.event-single {
    padding-block: var(--space-12);
}

.event-layout {
    align-items: start;
    --grid-gap: var(--space-8);
}

.event-details {
    > .event-status {
        margin-block: 0 var(--space-5);
    }

    dl {
        margin: 0;
    }

    div + div {
        margin-block-start: var(--space-5);
    }

    dt {
        color: var(--muted-foreground);
        font-size: var(--text-8);
        font-weight: var(--font-semibold);
        text-transform: uppercase;
    }

    dd {
        margin: var(--space-1) 0 0;
    }
}

.event-content {
    > *:first-child {
        margin-block-start: 0;
    }
}

.article-post {
    header {
        margin-block-end: var(--space-10);
        padding-block-start: var(--space-8);
        border-block-start: 0.35rem solid var(--primary);
    }

    h1 {
        margin-block: 0 var(--space-6);
        font-size: clamp(2.5rem, 8vw, 4rem);
        line-height: 1.2;
    }

    > header + p {
        color: var(--foreground);
        font-size: var(--text-3);
        line-height: 1.4;
    }
}

.article-page {
    > p:first-child {
        color: var(--foreground);
        font-size: var(--text-3);
        line-height: 1.4;
    }
}

.post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-4);
}

.site-footer {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: var(--space-6);
    margin-block-start: auto;
    padding-block: var(--space-8);
    background: var(--foreground);
    color: var(--background);

    nav {
        display: flex;
        gap: var(--space-4);
        flex-wrap: wrap;
    }

    a {
        color: var(--background);
    }
    p {
        color: rgb(255 255 255 / 0.65);
    }
}

@media (min-width: 769px) {
    body[data-sidebar-layout] {
        grid-template-columns: 1fr;
    }
    body[data-sidebar-layout] > aside[data-sidebar] {
        display: none;
    }
    body[data-sidebar-layout] > main {
        grid-column: 1;
    }
}

@media (max-width: 768px) {
    :root {
        --container-pad: var(--space-5);
    }
    .primary-nav {
        display: none;
    }
    .menu-toggle {
        margin-inline-start: auto;
    }
    .hero {
        min-height: 32rem;
    }
    .hero-splash .hero-inner {
        padding-block: var(--space-10) var(--space-12);
    }
    .hero-credit {
        margin-block-start: var(--space-4);
    }
    .image-header {
        min-height: 20rem;
    }
    .feed-band .row {
        --grid-gap: var(--space-4);
    }
    .feed-band .feed-column:first-child,
    .feed-band .feed-column + .feed-column {
        margin-inline-start: 0;
        border-radius: var(--radius-medium);
    }
    .update-list article {
        grid-template-columns: 5.5rem 1fr;
    }
    .site-footer {
        grid-template-columns: 1fr;
    }
}
