/* Phone and tablet refinements (loaded after styles.css) */
@media (max-width: 900px) {
  .cx-pane:not(.on) { display: none; }
  .cx-card-in { align-self: start; }
  .cx-show { padding: 72px 12px 16px; }
  .cx-card { padding: 18px; }
  .cx-hero-wrap { padding-inline: 8px; }
}
@media (max-width: 700px) {
  html { -webkit-text-size-adjust: 100%; }
  .cx-h1 { font-size: clamp(34px, 9.4vw, 44px); }
  .cx-h2 { font-size: clamp(28px, 8vw, 36px); }
  .cx-sec { padding-block: 56px; }
  .bento { margin-top: 32px; gap: 14px; }
  .bx { padding: 22px 20px 0; border-radius: 22px; }
  .bx-vis { margin: 18px -20px 0; padding: 18px 16px 0; min-height: 200px; }
  .st-card { padding: 10px; border-radius: 22px; }
  .st-in { min-height: 0; gap: 12px; }
  .st-copy { padding: 14px 10px 6px; }
  .st-vis { min-height: 260px; max-height: 340px; }
  .cx-announce-in { font-size: 13px; }
  .site-footer, footer.site { padding-bottom: 96px; }
  .wa-fab { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); }
  .btn-lg { min-height: 50px; }
  .ph { padding-top: 20px; }
  .crumbs-l { margin-bottom: 14px; }
}

/* ---------- Compact phone layout: keep the message, drop heavy demos ---------- */
@media (max-width: 700px) {
  /* Home: showcase keeps tabs + copy, drops the interactive demo */
  .cx-demo { display: none; }
  .cx-card { min-height: 0; }
  .cx-show { padding: 64px 10px 12px; }
  .cx-card-h { font-size: 24px; }
  /* Practice cards become a tight list */
  .bento { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .bx { padding: 18px; border-radius: 18px; gap: 6px; }
  .bx-vis { display: none; }
  .bx h3 { font-size: 18px; margin-top: 6px; }
  .bx p { font-size: 14.5px; }
  .bx-top .bi { width: 40px; height: 40px; }
  /* Stage cards: title, summary and steps only */
  .cx-flow { gap: 10px; }
  .fl { padding: 20px 20px 18px; border-radius: 20px; }
  .fl-art, .fl-band { display: none; }
  .fl-more { grid-template-rows: 1fr; opacity: 1; }
  /* Insight carousel: no side thumbnails, shorter photo */
  .st-thumbs { display: none; }
  .st-vis { min-height: 220px; max-height: 260px; }
  .st-copy h3 { font-size: 22px; }
  .st-copy blockquote { font-size: 17px; }
  .cx-stories { padding-block: 56px; }

  /* About: drop the photo strip; tighter cards */
  .strip { display: none; }
  .leader { padding: 18px; border-radius: 20px; gap: 18px; }
  .leader .pol { max-width: 210px; }
  .leader-c > p:not(.leader-r) { font-size: 15.5px; }
  .chips-s li:nth-child(n+4) { display: none; }
  .memb { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .memb-i { padding: 14px; gap: 4px; border-radius: 14px; }
  .memb-i .bi { display: none; }
  .memb-i b { font-size: 14px; margin-top: 0; }
  .offices { gap: 10px; }
  .off { padding: 18px; }
  .off p { font-size: 14px; }
  .stat-card { padding: 16px 18px 18px; gap: 10px; }
  .stat-n { font-size: 34px; padding: 8px 12px; }
  .career, .cta-band { padding: 30px 22px; border-radius: 22px; }

  /* Practice pages: text first, no mock UIs, no placeholder testimonials */
  .pr-vis, .psv-vis, .reported, .ar-wrap ~ .sec + .sec { display: none; }
  .psv { padding-block: 22px; }
  .psv-c h3 { font-size: 22px; }
  .rel4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .rel { padding: 16px 16px 44px; }
  .rel span:not(.bi) { display: none; }
  .rel b { font-size: 15px; }
  .rel i { left: 16px; bottom: 14px; }
  .anchors { display: none; }

  /* Lists and articles */
  .ac { padding: 18px; }
  .ac p { -webkit-line-clamp: 2; }
  .courts-l { padding: 14px 0; }
  .cover { display: none; }
  /* Practice pages: one article list, two cards */
  .pg:has(.pr-hero) section:has(> .sec-head:not(.row) + .ac-grid) { display: none; }
  .pg:has(.pr-hero) .ac-grid .ac:nth-child(n+3) { display: none; }
}
