/* ==========================================================
   AS.ARCHIVE.1 — Living Archive
   ========================================================== */

.archive-category-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.archive-category-card{
    display:block;
    color:#111;
    text-decoration:none;
    border:1px solid rgba(0,0,0,.14);
    background:#fff;
}

.archive-category-card.is-active{
    outline:2px solid #111;
    outline-offset:-2px;
}

.archive-category-card__visual{
    aspect-ratio:4/3;
    overflow:hidden;
}

.archive-category-card__visual picture,
.archive-category-card__visual img{
    display:block;
    width:100%;
    height:100%;
}

.archive-category-card__visual img{
    object-fit:cover;
}

.archive-category-card__body{
    padding:22px;
}

.archive-category-card__body h3{
    margin:0 0 8px;
    font-size:1.55rem;
}

.archive-category-card__body p{
    min-height:46px;
    margin:0 0 18px;
    line-height:1.45;
}

.archive-category-card__body span{
    font-size:.86rem;
    font-weight:700;
}

.archive-era-links a{
    color:inherit;
    text-decoration:none;
}

.archive-era-links .step.is-active{
    outline:1px solid rgba(255,255,255,.6);
    outline-offset:8px;
}

.archive-clear{
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

.archive-count{
    color:#77736d;
    font-size:.85rem;
}

.archive-item-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    margin-top:38px;
}

.archive-item-card{
    border:1px solid rgba(0,0,0,.14);
    background:#fff;
}

.archive-item-card__image{
    display:block;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#eeeae3;
}

.archive-item-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.archive-item-card__body{
    padding:22px;
}

.archive-item-card__meta{
    display:flex;
    justify-content:space-between;
    gap:18px;
    margin-bottom:34px;
    color:#77736d;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:.68rem;
}

.archive-item-card h3{
    margin:0 0 10px;
    font-size:1.5rem;
    line-height:1.08;
}

.archive-item-card h3 a{
    color:#111;
    text-decoration:none;
}

.archive-item-card p{
    margin:0 0 18px;
    line-height:1.5;
}

.archive-recent{
    background:#f3f0ea;
}

.archive-recent-list{
    margin-top:34px;
    border-top:1px solid rgba(0,0,0,.18);
}

.archive-recent-list a{
    display:grid;
    grid-template-columns:150px minmax(0,1fr) 160px;
    gap:24px;
    align-items:center;
    padding:19px 0;
    border-bottom:1px solid rgba(0,0,0,.18);
    color:#111;
    text-decoration:none;
}

.archive-recent-list span,
.archive-recent-list em{
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.1em;
    color:#77736d;
    font-style:normal;
}

.archive-recent-list strong{
    font-size:1.05rem;
}

.archive-empty,
.archive-empty-state{
    background:#f3f0ea;
}

.archive-empty{
    margin-top:32px;
    padding:30px;
}

.archive-detail-media img{
    display:block;
    width:100%;
    max-height:780px;
    object-fit:contain;
    background:#f2efe9;
}

.archive-detail-grid{
    display:grid;
    grid-template-columns:280px minmax(0,760px);
    gap:70px;
    align-items:start;
}

.archive-detail-meta{
    border-top:1px solid rgba(0,0,0,.18);
}

.archive-detail-meta>div{
    padding:14px 0;
    border-bottom:1px solid rgba(0,0,0,.14);
}

.archive-detail-meta span,
.archive-detail-meta strong{
    display:block;
}

.archive-detail-meta span{
    margin-bottom:4px;
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#77736d;
}

.archive-detail-meta strong{
    font-size:.9rem;
}

.archive-detail-prose p:first-child{
    margin-top:0;
}

.archive-source-link{
    margin-top:34px;
}

.archive-detail-back{
    background:#f3f0ea;
}

@media(max-width:980px){
    .archive-category-grid,
    .archive-item-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .archive-detail-grid{
        grid-template-columns:220px minmax(0,1fr);
        gap:42px;
    }
}

@media(max-width:700px){
    .archive-category-grid,
    .archive-item-grid{
        grid-template-columns:1fr;
    }

    .archive-recent-list a{
        grid-template-columns:1fr;
        gap:5px;
    }

    .archive-detail-grid{
        grid-template-columns:1fr;
    }
}
