/* ==========================================================================
   RESPONSIVE — shared layout recomposition (page files hold page-specific rules)
   Breakpoints: 1280 · 1100 · 900 · 768 · 600 · 420 · 360
   ========================================================================== */

@media (max-width: 1280px) {
  .primary-nav a { padding-inline: .5rem; font-size: .82rem; }
  .primary-nav a::after { left: .5rem; right: .5rem; }
}

@media (max-width: 1180px) {
  .primary-nav { display: none; }
  .index-toggle { margin-left: auto; }
  .footer-main { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-contact { grid-template-columns: minmax(0, 1fr); gap: 1.2rem; }
}

@media (max-width: 1100px) {
  .nav-panel__body { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .plots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ls-hide-md { display: none; }
}

@media (max-width: 900px) {
  :root { --header-h: 66px; }
  .register__item { grid-template-columns: 7.5rem minmax(0, 1fr); }
  .register__side { grid-column: 2; flex-direction: row; flex-wrap: wrap; align-items: center; }
  .sec-head { grid-template-columns: minmax(0, 1fr); }
  .sec-head__folio { padding-bottom: 0; order: -1; }
}

@media (max-width: 768px) {
  .brand__name { font-size: 1.35rem; }
  .brand__mark { width: 34px; height: 34px; }
  .footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; padding-block: 2rem 2.5rem; }
  .footer-horizon { height: 60px; }
  .pager .wrap { grid-template-columns: minmax(0, 1fr); }
  .pager a + a { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .pager a { padding: 1.6rem 0; }
  .form { grid-template-columns: minmax(0, 1fr); }
  .facts { grid-template-columns: minmax(0, 1fr); }
  .facts dt { padding-bottom: 0; border-bottom: 0; padding-top: .9rem; }
  .facts dd { padding-top: .25rem; }
  .bars li { grid-template-columns: 1fr auto; }
  .bars__track { grid-column: 1 / -1; grid-row: 2; }
  .filters { padding: 1rem; }
}

@media (max-width: 600px) {
  .sec-head__folio { white-space: normal; }
  .eyebrow { flex-wrap: wrap; }
  .ls-hide-sm { display: none; }
  .ledger-strip .wrap { gap: .9rem; }
  .ledger-strip { font-size: .66rem; letter-spacing: .12em; }
  .plots { grid-template-columns: minmax(0, 1fr); }
  .plot-group a { font-size: 1.22rem; }
  .register__item { grid-template-columns: minmax(0, 1fr); gap: .5rem; padding: 1.3rem 0; }
  .register__side { grid-column: 1; }
  .register__body h3 { font-size: 1.3rem; }
  .htl__track { grid-auto-columns: 82%; }
  .footer-base { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 420px) {
  .index-toggle__label { display: none; }
  .index-toggle { padding: 0 .85rem; }
  .brand__sub { letter-spacing: .14em; }
  .footer-main { grid-template-columns: 1fr 1fr; }
  .ledger-strip .push { display: none; }
}

@media (max-width: 360px) {
  .brand__name { font-size: 1.2rem; }
  .brand { gap: .6rem; }
  .brand__mark { width: 30px; height: 30px; }
  .footer-main { grid-template-columns: minmax(0, 1fr); }
}

@media print {
  .ledger-strip, .site-header, .nav-panel, .pager, .site-footer .social, .skip-link { display: none !important; }
  body { background: #fff; }
  .js [data-reveal] { opacity: 1 !important; transform: none !important; }
}
