.doc-hub-wrapper{
  padding:40px 20px 60px;
}

.doc-hub-container{
  max-width:1200px;
  margin:0 auto;
}

.doc-hub-header h1{
  font-size:36px;
  margin-bottom:10px;
}

.doc-hub-header p{
  max-width:800px;
  color:#555;
  margin-bottom:30px;
}

.doc-hub-top-links{
  margin-bottom:30px;
}

.doc-hub-top-grid{
  display:grid;
  gap:10px;
}

.doc-hub-top-grid a{
  font-weight:600;
  text-decoration:none;
  color:#0066cc;
}

.doc-hub-search{
  margin-bottom:20px;
}

.doc-hub-search input{
  width:100%;
  max-width:500px;
  padding:12px;
  border-radius:8px;
  border:1px solid #ddd;
}

.doc-hub-filters{
  margin:20px 0 30px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.doc-hub-filters a{
  padding:8px 14px;
  border-radius:999px;
  background:#f5f5f5;
  text-decoration:none;
  font-size:14px;
  color:#333;
}

.doc-hub-filters a.active{
  background:#000;
  color:#fff;
}

.doc-hub-grid{
  display:grid;
  gap:20px;
  grid-template-columns:1fr;
}

@media(min-width:768px){
  .doc-hub-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(min-width:1100px){
  .doc-hub-grid{
    grid-template-columns:repeat(3,1fr);
  }
}

.doc-card{
  display:flex;
  flex-direction:column;
  background:#fff;
  padding:20px;
  border-radius:14px;
  border:1px solid #eee;
  text-decoration:none;
  transition:all .25s ease;
}

.doc-card:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.doc-card-title{
  font-weight:700;
  margin-bottom:8px;
}

.doc-card-excerpt{
  font-size:14px;
  color:#666;
  margin-bottom:15px;
}

.doc-card-link{
  margin-top:auto;
  font-weight:600;
  color:#0066cc;
}

.doc-hub-pagination{
  margin-top:40px;
}