.hsbl{
  width:100%;
  color:var(--hsbl-text);
}
.hsbl *{ box-sizing:border-box; }

.hsbl{
  max-width:100%;
  margin:0 auto;
  padding:0px 0px 28px;
}

/* Featured */
.hsbl__featured{
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap:0;
  border:1px solid var(--hsbl-border);
  border-radius: var(--hsbl-radius);
  overflow:hidden;
  background:#fff;
  margin-bottom: 100px;
  height: 524px;
}

.hsbl__featuredMedia{
  display:block;
  min-height:240px;
  background: #F6F7FB;
}
.hsbl__featuredMedia img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hsbl__featuredPh{
  width:100%;
  height:100%;
  min-height:240px;
  background: linear-gradient(135deg, #EEF2FF, #F8FAFC);
}

.hsbl__featuredCard{
  padding:18px 18px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  justify-content: center;
}

.hsbl__featuredEyebrow{
  font-weight:700;
  font-size:32px;
  color: var(--hsbl-text);
  margin-bottom: 36px;
}

.hsbl__kicker{
  font-size:12px;
  color: var(--hsbl-accent);
  font-weight:400;
  padding: 6px 4px;
  background: #ECF5FF;
  border-radius: 6px;
  width: fit-content;
  line-height: 1em;
}

.hsbl__featuredTitle{
  margin:0;
  font-size:20px;
  line-height:1.22;
  letter-spacing:-0.01em;
}
.hsbl__featuredTitle a{
  color:#404242;
  text-decoration:none;
  
}
.hsbl__featuredTitle a:hover{ text-decoration:underline; }

.hsbl__featuredText{
  margin:0;
  font-size:18px;
  color:#404242;
  line-height:1.55;
}

.hsbl__meta{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.hsbl__metaItem{
  font-size:16px;
  color: #5B6770;
  font-weight: 500;
}

.hsbl__link{
  margin-top:4px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-size:13px;
  color:var(--hsbl-accent);
  text-decoration:none;
}
.hsbl__link:hover{ text-decoration:underline; }
.hsbl__chev{ font-size:18px; line-height:1; }
.button.button--outline:hover path { fill: #FFF}

/* Filters */
.hsbl__filters{
  display:grid;
  grid-template-columns: 240px 1fr;
  gap:12px;
  align-items:center;
  margin: 12px 0 40px;
}

.hsbl__dd{
  position:relative;
}
.hsbl__ddBtn{
  height:42px;
  border:1px solid var(--hsbl-border);
  border-radius: 10px;
  padding: 0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#fff;
  cursor:pointer;
  user-select:none;
}
.hsbl__ddBtn:focus{ outline:2px solid rgba(37,99,235,.25); outline-offset:2px; }

.hsbl__ddText{
  font-size:13px;
  color:var(--hsbl-text);
  font-weight:600;
}
.hsbl__ddIcon{
  width:10px; height:10px;
  border-right:2px solid #94A3B8;
  border-bottom:2px solid #94A3B8;
  transform: rotate(45deg);
  margin-top:-2px;
}

.hsbl__ddMenu{
  position:absolute;
  top: calc(100% + 8px);
  left:0;
  right:0;
  background:#fff;
  border:1px solid var(--hsbl-border);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(2,6,23,.10);
  padding:6px;
  display:none;
  z-index:30;
  max-height: 280px;
  overflow:auto;
}
.hsbl__dd.is-open .hsbl__ddMenu{ display:block; }

.hsbl__ddItem{
  padding:10px 10px;
  border-radius:10px;
  font-size:13px;
  font-weight:600;
  color:var(--hsbl-text);
  cursor:pointer;
}
.hsbl__ddItem:hover{
  background: var(--hsbl-accent-2);
}

.hsbl__search{
  position:relative;
}
.hsbl__searchInput{
  width:100%;
  height:42px;
  border:1px solid var(--hsbl-border);
  border-radius:10px;
  padding: 0 12px 0 40px;
  font-size:13px;
  color:var(--hsbl-text);
  background:#fff;
}
.hsbl__searchInput:focus{ outline:2px solid rgba(37,99,235,.25); outline-offset:2px; }

.hsbl__searchIcon{
  position:absolute;
  left:14px;
  top:50%;
  width:16px;
  height:16px;
  transform: translateY(-50%);
  opacity:.65;
  background:
    radial-gradient(circle at 55% 45%, transparent 55%, #94A3B8 56% 68%, transparent 69%) ,
    linear-gradient(#94A3B8, #94A3B8);
  background-size: 16px 16px, 8px 2px;
  background-position: 0 0, 12px 14px;
  background-repeat:no-repeat;
  border-radius:50%;
}

/* Grid */


.hsbl__card{
  border:1px solid var(--hsbl-border);
  border-radius: var(--hsbl-radius);
  overflow:hidden;
  background:#fff;
  display:flex;
  flex-direction:column;
  min-height: 300px;
}
.hsbl__thumb{
  display:block;
  height:160px;
  background:#F6F7FB;
}
.hsbl__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hsbl__ph{
  width:100%;
  height:100%;
  background: linear-gradient(135deg, #EEF2FF, #F8FAFC);
}

.hsbl__body{
  padding: 24px;
  display:flex;
  flex-direction:column;
  justify-content: space-between;
  gap:8px;
  flex:1;
}

.hsbl__title{
  margin:0;
  font-size:22px;
  line-height:1.35;
  letter-spacing:-0.01em;
}
.hsbl__title a{
  color:#404242;
  text-decoration:none;
  font-size: 22px;
  transition: all 0.3s ease-in-out;
}
.hsbl__card:hover .hsbl__title a { text-decoration:none; color:#1C62CB; transition: all 0.3s ease-in-out;}

.hsbl__pill{
  margin-top:auto;
  width:max-content;
  font-size:12px;
  font-weight:700;
  color:var(--hsbl-accent);
  background: var(--hsbl-accent-2);
  border:1px solid rgba(37,99,235,.18);
  padding:7px 10px;
  border-radius: 10px;
  text-decoration:none;
}
.hsbl__pill:hover{ filter: brightness(.98); }

/* Pagination */
.hsbl__pager{
  margin-top: 90px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
}
.hsbl__pagerLink{
  font-size:16px;
  color:#5b6770;
  text-decoration:none;
  font-weight:700;
}
.hsbl__pagerLink:hover{ text-decoration:underline; }
.hsbl__pagerLink.is-disabled{
  opacity:.45;
  pointer-events:none;
}

.hsbl__pagerNums{
  display:flex;
  gap:6px;
  align-items:center;
}
.hsbl__pagerNum{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  border:1px solid var(--hsbl-border);
  background:#fff;
  font-size:18px;
  font-weight:800;
  color:var(--hsbl-muted);
  text-decoration:none;
}
.hsbl__pagerNum.is-active{
  background: var(--hsbl-accent);
  border-color: var(--hsbl-accent);
  color:#fff;
}
.hsbl__pagerNum:hover{
  filter: brightness(.98);
}

/* Responsive */
@media (max-width: 992px){
  .hsbl__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); !important}
  .hsbl__featured{ grid-template-columns: 1fr; }
  .hsbl__featuredMedia{ min-height:200px; }
}
@media (max-width: 767px){
  .hsbl__filters{ grid-template-columns: 1fr; }
  .hsbl__grid{ grid-template-columns: 1fr !important; }
  .hsbl__thumb{ height:180px; }
}
