.salary-post .salary-diagram { margin: 2rem auto; max-width: 660px; }
.salary-post .salary-diagram img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; border: 1px solid #e5e7eb; }
.salary-post .salary-diagram figcaption { margin-top: .75rem; font-size: .95rem; line-height: 1.6; color: #4b5563; }
.salary-post .prose h4 { font-size: 1.1rem; font-weight: 600; margin: 2rem 0 .75rem; }
.salary-post .salary-offers { overflow-x: auto; margin: 1rem 0 1.5rem; }
.salary-post .salary-offers table { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.65; }
.salary-post .salary-offers caption { text-align: left; color: #4b5563; margin-bottom: .75rem; }
.salary-post .salary-offers th, .salary-post .salary-offers td { text-align: left; vertical-align: top; padding: .75rem; border: 1px solid #d1d5db; }
.salary-post .salary-offers thead { background: #f3f4f6; }
.salary-post .salary-offers th { font-weight: 600; }
.salary-post .salary-plan { padding: 24px; border: 1px solid #e5e7eb; border-radius: 12px; background: white; color: #1f2937; line-height: 1.5; }
.salary-plan .mark { font-size: .875rem; font-weight: 800; letter-spacing: .08em; margin-bottom: 16px; }
.salary-plan .eyebrow { display: inline-block; padding: 4px 12px; border-radius: 999px; background: #eaf6ef; color: #007a30; font-size: .875rem; font-weight: 700; }
.salary-post .salary-plan .diagram-title { margin: 16px 0 8px; font-size: 1.7rem; line-height: 1.2; }
.salary-plan .sub { color: #4b5563; }
.salary-plan .rule { height: 1px; background: #e5e7eb; margin: 20px 0; }
.salary-plan .row { margin-bottom: 24px; }
.salary-plan .lbl { font-size: .875rem; font-weight: 700; color: #4b5563; }
.salary-plan .val { font-size: 1.65rem; font-weight: 700; margin: 4px 0 10px; }
.salary-plan .row.a .val { color: #1f5fa8; }
.salary-plan .row.t .val { color: #00692a; }
.salary-plan .row.m .val { color: #a85b08; }
.salary-plan .track { position: relative; height: 24px; background: #f1f3f6; border-radius: 6px; }
.salary-plan .fill { position: absolute; inset-block: 0; border-radius: 6px; }
.salary-plan .row.a .fill { left: 0; width: 100%; background: #e8f1fe; border: 2px solid #007bff; }
.salary-plan .row.t .fill { left: 66.67%; width: 33.33%; background: #dcf0e5; border: 2px solid #007a30; }
.salary-plan .mark2 { position: absolute; left: 33.33%; top: -6px; bottom: -6px; border-left: 3px dashed #d97706; }
.salary-plan .dot { position: absolute; left: calc(33.33% - 7px); top: -9px; width: 14px; height: 14px; border: 3px solid #d97706; border-radius: 50%; background: white; }
.salary-plan .axis { display: flex; justify-content: space-between; gap: 8px; font-size: .875rem; font-weight: 700; color: #4b5563; }
.salary-plan .panels { display: flex; gap: 16px; margin: 24px 0; }
.salary-plan .p { flex: 1; min-width: 0; padding: 16px; border-radius: 8px; }
.salary-plan .p.a { background: #f5faf7; border: 1px solid #cfe6d9; }
.salary-plan .p.b { background: #fff9f0; border: 1px solid #f2ddbe; }
.salary-post .salary-plan .panel-title { margin-bottom: 8px; font-size: .875rem; font-weight: 700; }
.salary-plan .p.a .panel-title { color: #00692a; }
.salary-plan .p.b .panel-title { color: #a85b08; }
.salary-plan .txt { color: #4b5563; }
.salary-plan .foot { padding-top: 16px; border-top: 1px solid #e5e7eb; font-size: .875rem; color: #4b5563; }
@media (max-width: 640px) {
  .salary-post .site-header { padding: 0; }
  .salary-post .site-header .container { width: 100%; min-width: 0; padding-inline: 16px; gap: 12px; }
  .salary-post .site-header .nav-group { margin: 0; gap: 0; }
  .salary-post .site-header .nav-actions { margin: 0; }
  .salary-post .site-header .nav-actions .btn { white-space: nowrap; font-size: .8rem; padding: .6rem .75rem; }
  .salary-post .site-header .mobile-toggle { margin-left: 0; flex-shrink: 0; }
  .salary-post .salary-offers table, .salary-post .salary-offers tbody, .salary-post .salary-offers caption { display: block; }
  .salary-post .salary-offers thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .salary-post .salary-offers tbody tr { display: block; margin-bottom: 1rem; border: 1px solid #d1d5db; border-radius: 8px; overflow: hidden; }
  .salary-post .salary-offers tbody th { display: block; background: #f3f4f6; border: 0; }
  .salary-post .salary-offers td { display: grid; grid-template-columns: 100px 1fr; gap: 12px; border: 0; border-top: 1px solid #e5e7eb; }
  .salary-post .salary-offers td::before { content: attr(data-label); font-weight: 600; }
  .salary-post .salary-diagram figcaption { font-size: .9rem; }
  .salary-post .salary-plan { padding: 18px; }
  .salary-plan .panels { flex-direction: column; }
  .salary-post .salary-plan .diagram-title { font-size: 1.5rem; }
}
