/* ==========================================================================
   Responsive — genuine layout changes, not shrinking
   (loaded last so it overrides component + page rules)
   ========================================================================== */
@media (max-width: 1100px) {
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .band__grid { grid-template-columns: repeat(min(var(--cols, 4), 2), minmax(0, 1fr)); }
  .band__grid .stat { border-bottom: 1px solid var(--graphite-line); }
  .band--light .band__grid .stat { border-bottom-color: var(--line); }
  .flow--h { grid-auto-flow: row; grid-auto-columns: auto; }
  .flow--h > li { grid-template-columns: 64px minmax(0, 1fr); padding: 0 0 2rem; }
  .flow--h > li::after { left: 32px; right: auto; top: 64px; bottom: 0; width: 1.5px; height: auto; }
  .flow--h > li:last-child { padding-bottom: 0; }
}

@media (max-width: 960px) {
  .split, .split--rev, .split--even { grid-template-columns: minmax(0, 1fr); }
  .sticky-col { position: static; }
  .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-12 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .grid-12 > * { grid-column: 1 / -1 !important; }
  .sec-head { grid-template-columns: 1fr; align-items: start; gap: 1rem; }
  .record { grid-template-columns: minmax(96px, 1fr) minmax(0, 4fr); }
  .record__side { grid-column: 2; }
  .register__row { grid-template-columns: minmax(110px, 2fr) minmax(0, 5fr); }
  .register__text { grid-column: 2; }
  .meta-strip ol { grid-template-columns: auto 1fr auto; }
  .meta-strip li:nth-child(3) { display: none; }
}

@media (max-width: 720px) {
  :root { --nav-h: 62px; }
  body { font-size: 1rem; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: minmax(0, 1fr); }
  .grid-12 { grid-template-columns: minmax(0, 1fr); }
  .band__grid { grid-template-columns: 1fr 1fr; }
  .dossier__body { grid-template-columns: 1fr; }
  .dossier__cell { border-right: 0; }
  .datum { grid-template-columns: 1fr; }
  .datum__fig { border-right: 0; border-bottom: 1px solid var(--line); }
  .form__row { grid-template-columns: 1fr; }
  .pager__grid { grid-template-columns: 1fr; }
  .pager a + a { border-left: 0; border-top: 1px solid var(--line); text-align: left; }
  .kv { grid-template-columns: 1fr; }
  .kv dt { border-bottom: 0; padding-bottom: 0; }
  .kv dd { padding-top: .25rem; }
  .record { grid-template-columns: 1fr; gap: .6rem; }
  .record__side { grid-column: 1; }
  .register__row { grid-template-columns: 1fr; gap: .5rem; }
  .register__text { grid-column: 1; }
  .meta-strip ol { grid-template-columns: auto 1fr; }
  .meta-strip li:nth-child(2) { display: none; }
  .fig--offset { box-shadow: 10px 10px 0 0 var(--mint); }
  .fig--offset-ice { box-shadow: -10px 10px 0 0 var(--ice); }
  .filters__label { min-width: 100%; }
  .index-list a { grid-template-columns: 2.4rem minmax(0, 1fr); }
  .index-list a span:last-child { display: none; }
}

@media (max-width: 420px) {
  .band__grid { grid-template-columns: 1fr; }
  .stat { border-right: 0; }
  .band__grid { border-left: 0; }
}

@media print {
  .site-header, .site-footer, .pager, .meta-strip { display: none !important; }
  body { background: #fff; }
}
