.list-header{  
  display:flex;justify-content:space-between;align-items:center;  
  margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem;  
}  
.photo-cat-tabs{display:flex;gap:.5rem;flex-wrap:wrap;}  
.photo-cat-btn{  
  padding:.4375rem 1rem;border-radius:1.5rem;border:1px solid var(--line);  
  background:#fff;color:var(--text-2);font-size:.875rem;cursor:pointer;  
  transition:all .2s;font-family:inherit;letter-spacing:.0625rem;  
}  
.photo-cat-btn:hover{border-color:var(--primary);color:var(--primary);}  
.photo-cat-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;}  
  
.photo-featured{margin-bottom:2rem;}  
.photo-featured-link{  
  display:grid;grid-template-columns:1fr 1fr;gap:0;  
  border-radius:.75rem;overflow:hidden;border:1px solid var(--line);  
  transition:box-shadow .3s;  
}  
.photo-featured-link:hover{box-shadow:0 1rem 2.5rem rgba(26,111,212,.15);}  
.photo-featured-img{  
  height:20rem;position:relative;overflow:hidden;background:#d4dde8;  
}  
.photo-featured-mask{  
  position:absolute;inset:0;background:rgba(26,111,212,.0);  
  display:flex;align-items:center;justify-content:center;  
  transition:background .3s;  
}  
.photo-featured-link:hover .photo-featured-mask{background:rgba(26,111,212,.35);}  
.photo-featured-mask svg{color:#fff;opacity:0;transition:opacity .3s;width:3.5rem;height:3.5rem;}  
.photo-featured-link:hover .photo-featured-mask svg{opacity:1;}  
.photo-featured-info{  
  padding:2rem 2rem;background:#fff;  
  display:flex;flex-direction:column;gap:1rem;justify-content:center;  
}  
.photo-cat-tag{  
  display:inline-block;font-size:.8125rem;color:var(--primary);  
  background:var(--primary-bg);padding:3px .75rem;border-radius:3px;  
  letter-spacing:.0625rem;align-self:flex-start;  
}  
.photo-featured-info .list-item-title{  
  font-size:1.25rem;-webkit-line-clamp:3;  
  height:auto;  
}  
.photo-featured-meta{  
  display:flex;align-items:center;gap:1.25rem;  
  font-size:.875rem;color:var(--text-3);  
  margin-top:.25rem;  
}  
.photo-featured-meta span{display:flex;align-items:center;gap:.375rem;}  
  
.photo-grid{  
  display:grid;  
  grid-template-columns:repeat(3,1fr);  
  gap:1.5rem;  
  margin-bottom:2.5rem;  
}  
.photo-card{  
  border-radius:.75rem;overflow:hidden;  
  border:1px solid var(--line);background:#fff;  
  cursor:pointer;transition:all .3s;display:block;  
}  
.photo-card:hover{border-color:var(--primary);box-shadow:0 .75rem 2rem rgba(26,111,212,.15);transform:translateY(-4px);}  
.photo-card-img{  
  height:13.5rem;position:relative;overflow:hidden;background:#e8edf3;  
}  
.photo-card-mask{  
  position:absolute;inset:0;background:rgba(0,0,0,0);  
  display:flex;align-items:center;justify-content:center;  
  transition:background .3s;  
}  
.photo-card:hover .photo-card-mask{background:rgba(26,111,212,.4);}  
.photo-card-mask svg{color:#fff;opacity:0;transition:opacity .3s;}  
.photo-card:hover .photo-card-mask svg{opacity:1;}  
.photo-card-count{  
  position:absolute;bottom:.625rem;right:.625rem;  
  background:rgba(0,0,0,.55);color:#fff;font-size:.75rem;  
  padding:3px .625rem;border-radius:3px;letter-spacing:.0625rem;  
  backdrop-filter:blur(4px);  
}  
.photo-card-cat{  
  position:absolute;top:.625rem;left:.625rem;  
  background:var(--primary);color:#fff;font-size:.75rem;  
  padding:3px .625rem;border-radius:3px;letter-spacing:.0625rem;  
}  
.photo-card-body{padding:1rem 1.125rem 1.25rem;}  
.photo-card-body .list-item-title{  
  font-size:.9375rem;-webkit-line-clamp:2;  
  height:auto;margin-bottom:.5rem;  
}  
.photo-card-date{font-size:.8125rem;color:var(--text-3);}  
  
@media (max-width:1200px){  
  .photo-grid{grid-template-columns:repeat(2,1fr);}  
}  
  
@media (max-width:900px){  
  .photo-featured-link{grid-template-columns:1fr;}  
  .photo-featured-img{height:14rem;}  
  .photo-featured-info{padding:1.25rem;}  
  .photo-featured-info .list-item-title{font-size:1.0625rem;}  
  
  .photo-grid{grid-template-columns:repeat(2,1fr);gap:.875rem;}  
  .photo-card-img{height:10rem;}  
  .photo-card-body{padding:.75rem .875rem 1rem;}  
  .photo-card-body .list-item-title{font-size:.875rem;}  
  
  .list-header{flex-direction:column;align-items:flex-start;gap:.875rem;}  
}  
  
@media (max-width:480px){  
  .photo-grid{grid-template-columns:1fr 1fr;gap:.625rem;}  
  .photo-card-img{height:8rem;}  
  .photo-cat-tabs{gap:.375rem;}  
  .photo-cat-btn{font-size:.8125rem;padding:.375rem .75rem;}  
}  
.expert-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
.expert-card {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: .75rem;
  overflow: hidden;
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.expert-card:hover {
  border-color: rgba(26, 111, 212, .45);
  box-shadow: 0 .75rem 2rem rgba(26, 111, 212, .12);
  transform: translateY(-3px);
}
.expert-card-img-wrap {
  padding: 1.25rem 1.25rem 0;
  background: #fff;
  overflow: hidden;
}
.expert-id-photo {
  width: 100%;
  aspect-ratio: 5 / 7;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  border-radius: .375rem;
  transition: transform .35s ease;
}
.expert-card:hover .expert-id-photo {
  transform: scale(1.02);
}
.expert-card-body {
  position: relative;
  padding: .875rem 1rem 1rem;
  text-align: center;
}
.expert-card-body .list-item-title {
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--text);
  margin-bottom: 0;
  letter-spacing: .125rem;
  transition: color .2s ease;
}
.expert-card:hover .list-item-title {
  color: var(--primary);
}

@media (max-width: 1200px) {
  .expert-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
  .expert-card-img-wrap { padding: 1rem 1rem 0; }
}
@media (max-width: 900px) {
  .expert-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .expert-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: .75rem;
    row-gap: 1rem;
  }
  .expert-card { border-radius: .5rem; }
  .expert-card-img-wrap { padding: .625rem .625rem 0; }
  .expert-card-body { padding: .75rem .625rem .8125rem; }
  .expert-card-body .list-item-title { font-size: .9375rem; }
}
