.bstt-sap-archive{
    --bstt-sap-red:#d71920;
    --bstt-sap-black:#111;
    --bstt-sap-beige:#fffaf6;
    --bstt-sap-soft:#f6f0eb;
    --bstt-sap-line:#ddd6cf;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    background:var(--bstt-sap-beige);
    color:var(--bstt-sap-black);
    font-family:Arial, Helvetica, sans-serif;
    padding:70px 0 80px;
}

.bstt-sap-wrap{
    max-width:1220px;
    margin:0 auto;
    padding:0 24px;
}

.bstt-sap-header{
    border-bottom:1px solid var(--bstt-sap-line);
    margin-bottom:48px;
    padding-bottom:28px;
}

.bstt-sap-header h1{
    margin:0;
    font-size:clamp(48px, 7vw, 98px);
    line-height:.95;
    font-weight:500;
    letter-spacing:-3px;
}

.bstt-sap-header p{
    max-width:720px;
    margin:18px 0 0;
    font-size:17px;
    line-height:1.55;
}

.bstt-sap-top-grid{
    display:grid;
    grid-template-columns:1fr 2.05fr 1fr;
    gap:28px;
    align-items:start;
    margin-bottom:68px;
}

.bstt-sap-top-grid a,
.bstt-sap-list-item a{
    color:inherit;
    text-decoration:none !important;
}

.bstt-sap-media img,
.bstt-sap-placeholder{
    width:100%;
    display:block;
    object-fit:cover;
}

.bstt-sap-media-side img,
.bstt-sap-media-side .bstt-sap-placeholder{
    aspect-ratio:4/3;
}

.bstt-sap-media-main img,
.bstt-sap-media-main .bstt-sap-placeholder{
    aspect-ratio:16/10;
}

.bstt-sap-placeholder{
    background:#111;
    color:var(--bstt-sap-red);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:Georgia, serif;
    font-size:38px;
    font-weight:700;
}

.bstt-sap-top-side h2,
.bstt-sap-top-main h2,
.bstt-sap-list-content h2{
    font-family:Georgia, 'Times New Roman', serif;
    font-weight:700;
    line-height:1.05;
    margin:18px 0 14px;
}

.bstt-sap-top-side h2{
    font-size:clamp(26px, 2.4vw, 39px);
    color:#a60000;
}

.bstt-sap-top-main h2{
    text-align:center;
    font-size:clamp(38px, 4vw, 64px);
    letter-spacing:-1px;
}

.bstt-sap-top-main .bstt-sap-byline{
    text-align:center;
}

.bstt-sap-byline{
    margin:0;
    font-size:14px;
    font-weight:700;
    color:#333;
}

.bstt-sap-list{
    max-width:840px;
    display:flex;
    flex-direction:column;
    gap:34px;
}

.bstt-sap-list-item{
    display:grid;
    grid-template-columns:210px minmax(0, 1fr);
    gap:22px;
    align-items:start;
}

.bstt-sap-list-image img,
.bstt-sap-list-image .bstt-sap-placeholder{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    display:block;
}

.bstt-sap-date{
    font-size:12px;
    text-transform:uppercase;
    color:#555;
    margin-bottom:10px;
}

.bstt-sap-list-content h2{
    margin:0 0 22px;
    font-size:clamp(25px, 2.2vw, 36px);
}

.bstt-sap-list-content h2 a:hover,
.bstt-sap-top-grid a:hover h2{
    color:var(--bstt-sap-red);
}

.bstt-sap-pagination{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:54px;
    border-top:1px solid var(--bstt-sap-line);
    padding-top:28px;
}

.bstt-sap-page-item a,
.bstt-sap-page-item span{
    display:inline-flex;
    min-width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border:1px solid var(--bstt-sap-line);
    color:#111;
    text-decoration:none !important;
    background:#fff;
    font-weight:700;
}

.bstt-sap-page-item .current,
.bstt-sap-page-item a:hover{
    background:#111;
    color:#fff;
}

.bstt-sap-empty{
    font-size:18px;
    padding:40px 0;
}

@media(max-width:1024px){
    .bstt-sap-top-grid{
        grid-template-columns:1fr;
        gap:36px;
    }
    .bstt-sap-top-main{
        order:-1;
    }
    .bstt-sap-top-main h2,
    .bstt-sap-top-main .bstt-sap-byline{
        text-align:left;
    }
    .bstt-sap-list{
        max-width:none;
    }
}

@media(max-width:768px){
    .bstt-sap-archive{
        padding:42px 0 58px;
    }
    .bstt-sap-wrap{
        padding:0 18px;
    }
    .bstt-sap-header{
        margin-bottom:34px;
    }
    .bstt-sap-header h1{
        letter-spacing:-1.5px;
    }
    .bstt-sap-list-item{
        grid-template-columns:110px minmax(0,1fr);
        gap:15px;
    }
    .bstt-sap-list{
        gap:26px;
    }
    .bstt-sap-list-content h2{
        font-size:21px;
        line-height:1.1;
    }
    .bstt-sap-byline{
        font-size:12px;
    }
}

@media(max-width:480px){
    .bstt-sap-list-item{
        grid-template-columns:92px minmax(0,1fr);
    }
    .bstt-sap-list-content h2{
        font-size:18px;
    }
    .bstt-sap-date{
        font-size:10px;
    }
}
