.builds-hero {
    padding: 4.5rem 1.5rem 4rem;
    color: #fff;
    background: linear-gradient(rgb(9 15 12 / 52%), rgb(9 15 12 / 82%)), url("/assets/images/home-hero.webp") center 58% / cover no-repeat;
}

.builds-hero__inner,
.builds-layout {
    width: min(1180px, calc(100% - 2rem));
    margin: 0 auto;
}

.builds-hero h1 {
    margin: .2rem 0 .7rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 7vw, 5.8rem);
    line-height: .95;
}

.builds-hero p:last-child {
    max-width: 48rem;
    margin: 0;
    font-size: 1.08rem;
}

.builds-paper {
    min-height: 55vh;
    padding: 3rem 0 5rem;
    background: var(--paper, #f4efe4);
}

.build-filters {
    margin-bottom: 3rem;
    padding: 1.5rem 1.7rem;
    background: rgb(255 252 243 / 86%);
    border: 1px solid #d0c6b3;
    box-shadow: 0 .8rem 1.8rem rgb(66 47 27 / 10%);
}

.build-filters__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #d7cdbb;
}

.build-filters__heading h2,
.build-directory__empty h2 {
    margin: .15rem 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
}

.build-filters__heading > p,
.build-filters__label {
    margin: 0;
    color: #8e2527;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.build-filters__controls {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.build-filters label {
    display: grid;
    gap: .4rem;
    color: #4c514d;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.build-filters select {
    width: 100%;
    min-height: 2.75rem;
    padding: .55rem .7rem;
    color: #171b18;
    background: #fffdf7;
    border: 1px solid #bdb4a4;
    border-radius: .15rem;
    font: inherit;
    font-size: .85rem;
    letter-spacing: 0;
    text-transform: none;
}

.build-filters__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.25rem;
}

.build-filters__clear {
    color: #5b625d;
    font-weight: 700;
}

.build-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
}

.build-card {
    overflow: hidden;
    background: #fffaf0;
    border: 1px solid #d8cdb9;
    box-shadow: 0 1rem 1.8rem rgb(66 47 27 / 15%);
    transition: transform .18s ease, box-shadow .18s ease;
}

.build-card--left { transform: rotate(-.35deg); }
.build-card--right { transform: rotate(.35deg); }
.build-card:hover { transform: translateY(-.25rem); box-shadow: 0 1.3rem 2rem rgb(66 47 27 / 21%); }

.build-card__link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.build-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9.2;
    object-fit: contain;
    background: #f4efe4;
    border-bottom: 1px solid #d8cdb9;
}

.build-card__image--missing {
    display: grid;
    place-items: center;
    color: #777168;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.build-card__body { padding: 1.25rem 1.35rem 1.4rem; }
.build-card__owner,
.build-card__vehicle { margin: 0; color: #8e2527; font-size: .72rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.build-card h2 { margin: .35rem 0 .3rem; font-family: Georgia, "Times New Roman", serif; font-size: 1.55rem; }
.build-card__body > p:not(.build-card__owner, .build-card__vehicle) { color: #505651; }
.build-card__action { display: inline-block; margin-top: .6rem; font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.build-directory__empty { padding: 4rem 1rem; text-align: center; }

@media (max-width: 900px) {
    .build-filters__controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .build-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .builds-hero__inner,
    .builds-layout { width: min(100% - 1.25rem, 1180px); }
    .build-filters__heading { align-items: start; flex-direction: column; }
    .build-filters__controls,
    .build-card-grid { grid-template-columns: 1fr; }
    .build-card--left,
    .build-card--right { transform: none; }
}
