/* Final mobile layout layer. Loaded after page-specific styles so desktop
   measurements cannot leak into the narrow layouts. */
/* The reference switches the header and page banners at 900px.  Keeping this
   cutoff in one place prevents a 721–900px hybrid of desktop navigation and
   mobile banner typography. */
@media (max-width: 900px) {
  .topbar { position: relative; min-height: 72px; }
  .topbar-contacts, .topbar-row2, .topbar nav.main-nav { display: none !important; }
  .topbar .topbar-row1, body.page:not(.home) .topbar-row1 { display: flex; min-height: 72px; height: 72px; padding: 8px 64px 8px 18px; gap: 0; flex-wrap: nowrap; }
  .topbar .brand, body.page:not(.home) .topbar .brand { gap: 10px; min-width: 0; }
  .topbar .brand img { width: auto; height: 54px; }
  .topbar .brand-text .b1 { font-size: 15px; }
  .topbar .brand-text .b2, .topbar .header-cta { display: none !important; }
  .lpm-burger { display: inline-block !important; top: 18px; right: 16px; width: 40px; height: 36px; padding: 5px 0; font-size: 23px; }
  .lpm-mobile-menu { width: min(88vw, 340px); padding: 60px 20px 24px; }
  .lpm-mobile-menu a, .lpm-mobile-menu .lpm-mobile-action { display: block; width: 100%; margin: 0; padding: 13px 4px; border: 0; border-bottom: 1px solid rgba(255,255,255,.12); border-radius: 0; background: transparent; color: #fff; font: 16px/1.3 inherit; text-align: left; text-decoration: none; cursor: pointer; }
  .lpm-mobile-menu .lpm-mobile-action:last-child { border-bottom: 0; }
  .lpm-mobile-menu .lpm-mobile-action.primary { color: var(--accent); }
  .page-banner { height: 300px; }
  .page-banner .banner-content { padding: 30px 20px 26px; justify-content: flex-end; }
  .page-banner .banner-eyebrow { margin-bottom: 9px; font-size: 11px; letter-spacing: 1.5px; }
  .page-banner .banner-title, .page-banner .banner-content .banner-title { max-width: 100%; font-size: 28px; line-height: 1.16; letter-spacing: -.2px; }
  .page-banner .banner-rule { margin-top: 16px; }
  body.page:not(.home) main.page { padding: 30px 20px 40px; }
  main.page .lpm-news-expanded .news-grid { grid-template-columns: 1fr; }
  main.page .lpm-news-expanded .news-card { display: flex; min-width: 0; flex-direction: column; }
  main.page .lpm-news-expanded .news-thumb { flex: 0 0 auto; width: 100%; height: 190px; }
  main.page .lpm-news-expanded .news-body { min-width: 0; }
  .gallery-tools { flex-wrap: wrap; gap: 12px; }
  .slider .nav-arrow { display: flex; width: 40px; height: 40px; font-size: 20px; }
  .slider .nav-arrow.prev { left: 12px; }
  .slider .nav-arrow.next { right: 12px; }
  .slider .dots { left: 20px; bottom: 20px; }
  .slider .counter { right: 20px; bottom: 18px; }
}
@media (max-width: 390px) {
  .page-banner .banner-title, .page-banner .banner-content .banner-title { font-size: 26px; }
}
