  /* small page-specific overrides */
    .downloads-wrap{
        max-width:1100px;
        margin:40px auto;
        padding:0 20px
    }
    .hero{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        margin-bottom:20px
    }
    .hero h1{
        margin:0;
        color:#fff
    }
    .hero p{
        margin:0;
        color:rgba(255,255,255,0.8)
    }
    .search-row{
        display:flex;
        gap:12px;
        align-items:center
    }
    .search-row input[type="search"]{
        flex:1;
        padding:10px 12px;
        border-radius:10px;
        border:1px solid rgba(255,255,255,0.06);
        background:rgba(255,255,255,0.03);
        color:#fff
    }
    .cards{
        display:grid;
        grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
        gap:16px;
        margin-top:18px
    }
    .card{
        background:rgba(255,255,255,0.03);
        padding:14px;
        border-radius:12px;
        box-shadow:0 8px 30px rgba(2,6,23,0.6);
        color:#fff
    }
    .card h4{
        margin:0 0 6px 0
    }
    .card p{
        margin:0 0 12px 0;
        color:rgba(255,255,255,0.75)
    }
    .card .meta{
        font-size:0.85rem;
        color:rgba(255,255,255,0.6);
        margin-bottom:10px
    }
    .card a.download{
        display:inline-block
    }

    .filters{
       display:flex;
       gap:12px;
       align-items:center;
       margin-bottom:12px;
       flex-wrap:wrap
    }
    .filter-label{
       color:rgba(255,255,255,0.85);
       font-weight:600;
    }
    .filter-subjects{
        display:flex;
        gap:8px;
        align-items:center;
        margin-left:8px
    }
    .subject-label{
        color:rgba(255,255,255,0.85);
        font-weight:600;
        margin-right:6px
    }