@media(max-width:1199px) {
  .portrait-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .hero { gap:var(--s6); }
  .hero-portraits { padding:var(--s3); }
}
@media(max-width:899px) {
  .portrait-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s6) var(--s4); }
  .header-tools { gap:var(--s2); }
  .brand-name { font-size:var(--text-base); }
  .site-header { gap:var(--s3); }
  .view-tabs button { padding:var(--s2) var(--s3); }
  .hero { padding:var(--s6) 0 var(--s10); }
  .hero-portrait span { display:none; }
  .viewer-layout { grid-template-columns:minmax(0,1fr); gap:var(--s5); }
  .viewer-image { max-height:52dvh; }
  .viewer-navigation { margin-top:var(--s4); padding-top:var(--s4); }
}
@media(max-width:767px) {
  .hero { grid-template-columns:minmax(0,1fr); gap:var(--s5); min-height:0; }
  .hero-portraits { width:min(100%,var(--hero-stack-width)); margin:0 auto; }
}
@media(max-width:599px) {
  .site-header { flex-wrap:wrap; padding:var(--s4) 0; }
  .brand-logo { width:40px; height:40px; }
  .header-tools { width:100%; justify-content:space-between; flex-wrap:wrap; }
  .theme-control { margin-left:auto; }
  .view-tabs { font-size:var(--text-sm); }
  .view-tabs button { flex:1; justify-content:center; padding-inline:var(--s1); }
  .hero { grid-template-columns:minmax(0,1fr); gap:var(--s5); min-height:0; padding:var(--s6) 0 var(--s8); }
  .hero-portraits { width:min(100%,380px); margin:0 auto; padding:var(--s3); }
  .hero-portrait { max-width:124px; }
  .gallery-heading { margin-bottom:var(--s4); }
  .gallery-heading h2 { font-size:var(--text-lg); }
  .gallery-heading p { font-size:var(--text-xs); }
  .chip { padding:var(--s2) var(--s4); }
  .category-filters .chip { padding-inline:var(--s2); }
  .filter-panel { padding:var(--s3); }
  .filter-row { grid-template-columns:var(--s8) minmax(0,1fr); gap:var(--s2); }
  .filter-tools { flex-wrap:wrap; }
  .search-box { flex-basis:100%; }
  .length-filters { width:100%; }
  .filter-status { font-size:var(--text-xs); }
  .portrait-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s6) var(--s3); }
  dialog { max-width:calc(100% - var(--s4)); max-height:calc(100dvh - var(--s4)); border-radius:var(--radius-card); }
  .dialog-header { padding:var(--s3) var(--s4); }
  .dialog-header h2 { font-size:var(--text-base); }
  .viewer-layout { padding:0 var(--s4) var(--s4); }
  .viewer-info h3 { font-size:var(--text-lg); }
  .viewer-tags { margin:var(--s3) 0 var(--s4); }
  .viewer-hint { margin-top:var(--s3); }
  .site-footer { display:block; padding-bottom:var(--s6); }
  .footer-note { margin-top:var(--s4); }
}
@media(max-width:359px) {
  .chip { padding:var(--s2) var(--s3); }
  .header-tools { flex-wrap:wrap; }
  .theme-control { margin-left:auto; }
  .view-tabs { order:1; width:100%; }
}


