.home-page {
    background: var(--color-projector-cream);
}

.home-page .chapter-marker {
    margin: 0;
}

.home-page .chapter-marker::after {
    max-width: 8rem;
}

.home-hero {
    padding-block: var(--space-8) var(--space-9);
}

.home-hero__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-5);
    align-items: end;
}

.home-hero__media {
    grid-column: 4 / 13;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    aspect-ratio: 16 / 9;
}

.home-hero__media img {
    object-position: 72% center;
    transition: transform var(--transition-media);
}

.home-hero__media:hover img {
    transform: scale(1.02);
}

.home-hero__caption {
    grid-column: 1 / 7;
    grid-row: 1;
    z-index: 1;
    width: 100%;
    min-width: 0;
    margin-block-end: calc(var(--space-6) * -1);
    padding: var(--space-6);
    border: 1px solid var(--color-border);
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
}

.home-hero__caption>* {
    min-width: 0;
}

.home-hero__statement {
    width: min(100%, 23.75rem);
}

.home-hero__statement p:last-child,
.home-hero__identity p:last-child {
    margin-block-end: 0;
}

.home-hero__identity {
    width: min(100%, 31.25rem);
}

.home-hero__identity h1 {
    font-size: clamp(3.5rem, 7vw, 5.5rem);
}

.home-hero__premise {
    max-width: 31.25rem;
    font-size: var(--text-lead);
    line-height: var(--leading-lead);
}

.home-hero__signal {
    border-inline-start: 3px solid var(--color-muted-ruby);
    padding-inline-start: var(--space-3);
    font-size: var(--text-utility);
}

.home-hero__signal span {
    display: block;
    margin-block-end: var(--space-1);
    color: var(--color-muted-ruby);
    font-size: var(--text-meta);
    font-weight: 700;
    letter-spacing: var(--tracking-meta);
    text-transform: uppercase;
}

.home-hero__actions,
.home-next__actions {
    display: flex;
    gap: var(--space-3);
    align-items: center;
}

.home-hero__actions>*,
.home-next__actions>* {
    flex: 0 1 auto;
    min-width: 0;
}

.home-hero__cue {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2) var(--space-3);
    align-items: center;
    border-block-start: 1px solid var(--color-warm-gold);
    padding-block-start: var(--space-3);
    color: var(--color-ink);
    font-size: var(--text-meta);
    font-weight: 700;
    letter-spacing: var(--tracking-meta);
    text-decoration: none;
    text-transform: uppercase;
}

.home-hero__cue-copy {
    flex: 1 1 100%;
    color: var(--color-steel-gray);
    font-size: var(--text-utility);
    font-weight: 400;
    letter-spacing: 0;
    line-height: var(--leading-utility);
    text-transform: none;
}

.home-categories,
.home-dossiers,
.home-method,
.home-collections,
.home-formats {
    padding-block: var(--space-9);
}

.home-categories__intro,
.home-dossiers__intro,
.home-dispatches__intro,
.home-collections__intro,
.home-formats__intro {
    width: min(100%, 32rem);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    margin-block-end: var(--space-7);
}

.home-categories__intro>*,
.home-dossiers__intro>*,
.home-dispatches__intro>*,
.home-collections__intro>*,
.home-formats__intro>* {
    margin: 0;
}

.home-categories__rows {
    border-block-start: 1px solid var(--color-border);
}

.home-category {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) minmax(0, 5fr) minmax(0, 3fr);
    gap: var(--space-5);
    align-items: center;
    width: 100%;
    min-width: 0;
    padding: var(--space-5);
    border-block-end: 1px solid var(--color-border);
    text-decoration: none;
    transition: background-color var(--transition-base), color var(--transition-base);
}

.home-category>* {
    min-width: 0;
}

.home-category--green {
    background: var(--color-deep-green);
    color: var(--color-projector-cream);
    border-color: var(--color-border-dark);
}

.home-category:hover {
    background: rgba(181, 150, 90, 0.18);
    color: var(--color-ink);
}

.home-category--green:hover {
    background: #35554c;
    color: var(--color-paper-white);
}

.home-category__index,
.home-category__route small {
    color: var(--color-warm-gold);
    font-size: var(--text-meta);
    font-weight: 700;
    letter-spacing: var(--tracking-meta);
    text-transform: uppercase;
}

.home-category__title {
    font-family: var(--font-heading);
    font-size: var(--text-subheading);
    font-weight: 600;
    line-height: var(--leading-heading);
}

.home-category__description {
    max-width: 32.5rem;
}

.home-category__route {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    align-items: flex-start;
}

.home-category__route strong {
    text-decoration: underline;
    text-decoration-color: var(--color-warm-gold);
    text-underline-offset: 0.18em;
}

.home-search {
    padding-block: var(--space-8);
}

.home-search__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-6);
}

.home-search__intro {
    grid-column: 1 / 6;
    min-width: 0;
    width: min(100%, 31.25rem);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.home-search__intro>* {
    margin: 0;
}

.home-search__form {
    grid-column: 1 / 9;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    color: var(--color-projector-cream);
}

.home-search__controls {
    display: flex;
    gap: var(--space-3);
    align-items: stretch;
    width: 100%;
    min-width: 0;
}

.home-search__controls input {
    flex: 1 1 auto;
    min-width: 0;
}

.home-search__controls button {
    flex: 0 0 auto;
    min-width: max-content;
    background: var(--color-ink);
}

.home-search__controls .home-search__clear {
    background: transparent;
    border-color: var(--color-projector-cream);
}

.home-search__examples {
    margin: var(--space-2) 0 0;
    color: var(--color-projector-cream);
    font-size: var(--text-utility);
}

.home-search__examples a {
    color: var(--color-paper-white);
}

.home-dossiers__rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
}

.home-film-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.home-film-card__image {
    width: 100%;
    min-width: 0;
    aspect-ratio: 2 / 3;
}

.home-film-card__image img {
    object-position: center;
    transition: transform var(--transition-media);
}

.home-film-card__image:hover img {
    transform: scale(1.02);
}

.home-film-card__copy {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
}

.home-film-card__copy>* {
    margin: 0;
}

.home-film-card__copy h3 {
    font-size: clamp(2rem, 3vw, 2.5rem);
}

.home-film-card__link,
.home-dispatch__link,
.home-collection__link,
.home-format__link {
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: var(--color-warm-gold);
    text-underline-offset: 0.18em;
}

.home-dossiers__key {
    width: min(100%, 31.25rem);
    margin-block-start: var(--space-6);
    border-block-start: 1px solid var(--color-warm-gold);
    padding-block-start: var(--space-4);
}

.home-dossiers__key p:last-child {
    margin-block-end: 0;
}

.home-method__heading {
    width: min(100%, 37.5rem);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    margin-block-end: var(--space-7);
}

.home-method__heading>* {
    margin: 0;
}

.home-method__list {
    display: flex;
    flex-direction: column;
    gap: var(--space-7);
}

.home-method__item {
    display: grid;    
    gap: var(--space-5);
    min-width: 0;
}

.home-method__item>* {
    min-width: 0;
}

.home-method__item>div {
    grid-column: 2 / 3;
    width: min(100%, 37.5rem);
}

.home-method__item--offset>div {
    grid-column: 3 / 4;
}

.home-method__label {
    margin: 0;
    color: var(--color-warm-gold);
    font-size: var(--text-meta);
    font-weight: 700;
    letter-spacing: var(--tracking-meta);
    text-transform: uppercase;
}

.home-method__label--ruby {
    color: var(--color-muted-ruby);
}

.home-method__item--green {
    grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr);
    padding: var(--space-6);
    background: var(--color-deep-green);
    color: var(--color-projector-cream);
}

.home-method__item--green>div {
    grid-column: 2 / 3;
}

.home-method__item h3 {
    margin-block-end: var(--space-3);
}

.home-method__item p:last-child {
    margin-block-end: 0;
}

.home-dispatches {
    padding-block: var(--space-9);
}

.home-dispatches__intro {
    color: var(--color-paper-white);
}

.home-dispatches__list {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.home-dispatch {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 5fr) minmax(0, 1fr);
    gap: var(--space-5);
    align-items: center;
    min-width: 0;
    color: var(--color-projector-cream);
    text-decoration: none;
}

.home-dispatch>* {
    min-width: 0;
}

.home-dispatch__media {
    grid-column: 1 / 2;
    width: 100%;
    aspect-ratio: 16 / 9;
}

.home-dispatch__media img {
    object-position: center;
}

.home-dispatch__copy {
    grid-column: 3 / 4;
    width: min(100%, 30rem);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.home-dispatch__copy>* {
    min-width: 0;
}

.home-dispatch__copy .meta {
    color: var(--color-warm-gold);
}

.home-dispatch__title {
    font-family: var(--font-heading);
    font-size: var(--text-subheading);
    font-weight: 600;
    line-height: var(--leading-heading);
}

.home-dispatch:hover .home-dispatch__link {
    text-decoration-thickness: 2px;
}

.home-dispatch--reverse .home-dispatch__media {
    grid-column: 7 / 12;
}

.home-dispatch--reverse .home-dispatch__copy {
    grid-column: 5 / 7;
}

.home-collections__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
}

.home-collection {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
    min-height: 100%;
    padding: var(--space-6);
    border: 1px solid var(--color-border);
    color: var(--color-ink);
    text-decoration: none;
    transition: background-color var(--transition-base), color var(--transition-base);
}

.home-collection--green {
    background: var(--color-deep-green);
    border-color: var(--color-deep-green);
    color: var(--color-projector-cream);
}

.home-collection:hover {
    background: rgba(181, 150, 90, 0.2);
    color: var(--color-ink);
}

.home-collection--green:hover {
    background: #35554c;
    color: var(--color-paper-white);
}

.home-collection__number {
    color: var(--color-warm-gold);
    font-size: var(--text-meta);
    font-weight: 700;
    letter-spacing: var(--tracking-meta);
}

.home-collection__title {
    font-family: var(--font-heading);
    font-size: var(--text-subheading);
    font-weight: 600;
    line-height: var(--leading-heading);
}

.home-collection__text {
    width: min(100%, 21.25rem);
}

.home-collection__link {
    margin-block-start: auto;
}

.home-formats__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-5);
}

.home-format {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-4) 0;
    border-block-start: 1px solid var(--color-border);
    text-decoration: none;
    transition: background-color var(--transition-fast);
}

.home-format:hover {
    background: rgba(181, 150, 90, 0.14);
}

.home-format__number {
    color: var(--color-muted-ruby);
    font-size: var(--text-meta);
    font-weight: 700;
    letter-spacing: var(--tracking-meta);
}

.home-format__title {
    font-family: var(--font-heading);
    font-size: var(--text-section);
    font-weight: 600;
    line-height: var(--leading-heading);
}

.home-format__text {
    width: min(100%, 19.375rem);
}

.home-next {
    padding-block: var(--space-8);
    border-block-start: 1px solid var(--color-warm-gold);
}

.home-next__content {
    width: min(100%, 33.75rem);
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
    text-align: center;
}

.home-next__content>* {
    margin: 0;
}

.home-next__content p {
    color: var(--color-projector-cream);
}

.home-next__actions {
    justify-content: center;
}

@media (max-width: 63.99rem) {
    .home-hero__grid {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .home-hero__media {
        grid-column: 2 / 9;
    }

    .home-hero__caption {
        grid-column: 1 / 8;
        margin-block-end: calc(var(--space-5) * -1);
    }

    .home-method__item,
    .home-method__item--green {
        grid-template-columns: minmax(0, 2fr) minmax(0, 6fr);
    }

    .home-method__item>div,
    .home-method__item--offset>div,
    .home-method__item--green>div {
        grid-column: 2 / 3;
    }
}

@media (max-width: 59.99rem) {
    .home-category {
        grid-template-columns: minmax(0, 1fr) minmax(0, 5fr);
        gap: var(--space-3) var(--space-5);
    }

    .home-category__description,
    .home-category__route {
        grid-column: 2 / 3;
    }

    .home-dossiers__rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-dossiers__rail> :last-child {
        grid-column: 1 / 3;
        width: calc((100% - var(--space-5)) / 2);
    }

    .home-formats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 51.24rem) {
    .home-dispatch {
        grid-template-columns: 1fr;
        gap: var(--space-5);
    }

    .home-dispatch__media,
    .home-dispatch--reverse .home-dispatch__media {
        grid-column: 1;
        grid-row: 1;
        aspect-ratio: 16 / 10;
    }

    .home-dispatch__copy,
    .home-dispatch--reverse .home-dispatch__copy {
        grid-column: 1;
        grid-row: 2;
        width: min(100%, 30rem);
    }

    .home-collections__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-collections__grid> :last-child {
        grid-column: 1 / 3;
    }
}

@media (max-width: 47.99rem) {
    .home-hero {
        padding-block: var(--space-6) var(--space-7);
    }

    .home-hero__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .home-hero__media {
        grid-column: 1;
        grid-row: 1;
        aspect-ratio: 16 / 10;
    }

    .home-hero__caption {
        grid-column: 1;
        grid-row: 2;
        margin: 0;
        padding: var(--space-5);
    }

    .home-hero__identity h1 {
        font-size: clamp(2.75rem, 13vw, 3.25rem);
    }

    .home-categories,
    .home-dossiers,
    .home-method,
    .home-collections,
    .home-formats,
    .home-dispatches {
        padding-block: var(--space-7);
    }

    .home-search {
        padding-block: var(--space-7);
    }

    .home-search__grid {
        grid-template-columns: 1fr;
    }

    .home-search__intro,
    .home-search__form {
        grid-column: 1;
    }

    .home-search__controls {
        flex-direction: column;
    }

    .home-search__controls button {
        width: 100%;
    }

    .home-dossiers__rail {
        display: flex;
        width: calc(100% + var(--container-gutter));
        margin-inline-end: calc(var(--container-gutter) * -1);
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-inline-end: var(--container-gutter);
        gap: var(--space-3);
    }

    .home-film-card {
        flex: 0 0 min(78vw, 20rem);
        scroll-snap-align: start;
    }

    .home-dossiers__rail> :last-child {
        width: auto;
    }

    .home-method__item,
    .home-method__item--green {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }

    .home-method__item>div,
    .home-method__item--offset>div,
    .home-method__item--green>div {
        grid-column: 1;
    }

    .home-method__item--green {
        padding: var(--space-5);
    }

    .home-method__label {
        grid-row: 1;
    }

    .home-collections__grid {
        grid-template-columns: 1fr;
    }

    .home-collections__grid> :last-child {
        grid-column: 1;
    }

    .home-formats__grid {
        grid-template-columns: 1fr;
        gap: var(--space-5);
    }

    .home-next__content {
        align-items: flex-start;
        text-align: left;
    }

    .home-next__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 39.99rem) {
    .home-category {
        grid-template-columns: 1fr;
        padding: var(--space-4);
    }

    .home-category__description,
    .home-category__route {
        grid-column: 1;
    }

    .home-category__title {
        font-size: 2rem;
    }

    .home-hero__actions,
    .home-next__actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .home-hero__actions>*,
    .home-next__actions>* {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {

    .home-hero__media:hover img,
    .home-film-card__image:hover img {
        transform: none;
    }

    .home-dossiers__rail {
        scroll-behavior: auto;
    }
}