@media (max-width: 880px) {
  body { padding-bottom: 92px; }
  .hero__grid { grid-template-columns: 1fr; }
  .nav__links { display: none; }
  .panel__head { grid-template-columns: 82px 1fr; }
  .panel__num { font-size: 54px; }
  .panel__title { padding: 20px; }
  .quote-band, .footer__inner, .save-cta__inner { grid-template-columns: 1fr; }
  .meta-grid { grid-template-columns: 1fr; }
  .share-grid { grid-template-columns: repeat(2, 1fr); }
  .mobile-dock { position: fixed; left: 10px; right: 10px; bottom: 10px; z-index: 50; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; padding:6px; background:rgba(24,17,14,.92); border:2px solid rgba(231,216,197,.72); box-shadow:0 -8px 28px rgba(0,0,0,.42); backdrop-filter:blur(14px); }
  .mobile-dock a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:52px; text-decoration:none; color:var(--color-ivory); font-size:9px; font-weight:900; line-height:1; text-transform:uppercase; border:1px solid rgba(231,216,197,.2); background:rgba(0,0,0,.18); }
  .mobile-dock a span { font-size:16px; color:var(--color-gold); }
  .back-top { position:fixed; right:14px; bottom:86px; z-index:51; display:grid; place-items:center; width:44px; height:44px; border:2px solid var(--color-gold); background:var(--color-black); color:var(--color-ivory); font-size:22px; font-weight:1000; text-decoration:none; box-shadow:6px 6px 0 rgba(0,0,0,.35); opacity:0; transform:translateY(12px); pointer-events:none; transition:.2s ease; }
  .back-top.show { opacity:1; transform:translateY(0); pointer-events:auto; }
}
