/* Desktop density follows available content width; mobile keeps its touch sizing. */
@media (min-width: 761px) {
  .header { height: 60px; gap: 24px; }
  .wordmark { font-size: 25px; min-width: 144px; }
  .search { padding-block: 7px; }
  .layout, .site-wide .layout { grid-template-columns: 144px minmax(0, 1fr); column-gap: 24px; }
  .left-rail { top: 60px; height: calc(100dvh - 60px); padding-top: 22px; }
  .nav-item { padding: 9px 10px; margin-bottom: 3px; gap: 10px; }
  #main, .site-wide #site-main { padding-top: 18px; }
  .right-rail { top: 60px; padding-top: 26px; }
  .page-heading, .feed-heading { margin-bottom: 10px; }
  .page-heading h1, #page-title { font-size: 24px; letter-spacing: -.5px; }
  .page-tabs, .tabs { margin-bottom: 14px; gap: 12px; }
  .page-tabs > a, .page-tabs > button { padding-bottom: 11px; }
  .directory-tools { margin-bottom: 16px; }

  /* Cards add columns instead of growing into oversized product posters. */
  .product-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
  .company-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
  .profile-product-grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
  .product-tile-copy { padding: 10px 12px; }
  .product-tile-copy .product-name { font-size: 16px; margin-bottom: 0; }
  .company-tile { padding: 14px; }
  .company-tile strong { font-size: 15px; }
  .investor-tile { min-height: 0; padding: 15px; }
  .news-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px 18px; }
  .news-image { margin-bottom: 10px; }
  .news-title { font-size: 18px; }

  body:not(.site-wide) #main { container-type: inline-size; container-name: feed; }
  body:not(.site-wide) .card { margin-bottom: 14px; }
  body:not(.site-wide) .card-head { padding: 11px 16px; }
  body:not(.site-wide) .card-title { font-size: 20px; line-height: 1.3; letter-spacing: -.45px; }
  body:not(.site-wide) .card:not(:has(> .card-image)) .card-title { max-width: none; }
  body:not(.site-wide) .card-body { padding: 14px 16px; }
  body:not(.site-wide) .card-summary { font-size: 13px; line-height: 1.65; }
  body:not(.site-wide) .card-footer { height: 40px; margin: 0 16px; }

  .reader-dialog { width: min(820px, calc(100% - 48px)); }
  .profile-content { padding: 24px; }
  .profile-content h1, .article-reader-copy > h1 { font-size: 28px; letter-spacing: -.8px; }
  .profile-content h2 { margin: 24px 0 14px; }
  .profile-facts { gap: 16px; padding: 16px 0 20px; }
  .reader-actions { min-height: 50px; padding-block: 6px; }
  .reader-tabs button { padding-block: 11px; }
  .operation-record > summary { padding-block: 12px; }
  .record-row { padding-block: 12px; }
  .site-table td { padding-block: 10px; }
}

@media (min-width: 1160px) {
  body:not(.site-wide) .layout { grid-template-columns: 144px minmax(0, 1fr) clamp(210px, 17vw, 270px); }
}

@media (min-width: 901px) {
  .market-row:not(.market-column-head) { min-height: 64px; padding-block: 12px; }
}
