/* Reunion Marketplace case study */
.rm-stats-4 { grid-template-columns: repeat(4, 1fr); }
.rm-stats-4 dt { white-space: nowrap; font-size: clamp(40px, 4.2vw, 60px); }
.rm-press-head { margin: 64px 0 18px; font-family: var(--font-sans); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); }
.rm-press { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.rm-press a { display: flex; flex-direction: column; gap: 12px; height: 100%; padding: 20px 22px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; transition: border-color .2s ease, transform .2s ease; }
.rm-press a:hover { border-color: var(--ink); transform: translateY(-2px); }
.rm-press-name { font-family: var(--font-serif); font-size: 22px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
.rm-press-title { font-size: 14.5px; line-height: 1.5; color: var(--ink-soft); }
.rm-press a:hover .rm-press-title { color: var(--accent-dark); }
.rm-components .rm-wide { grid-column: 1 / -1; }
.rm-components .csp-view-img { aspect-ratio: 5 / 4; }
.rm-components .rm-wide .csp-view-img { display: block; aspect-ratio: auto; overflow-x: auto; }
.rm-components .rm-wide .csp-view-img img { height: auto; min-width: 760px; }
.rm-principles { margin-top: 56px; }
@media (max-width: 1100px) {
  .rm-stats-4 { grid-template-columns: repeat(2, 1fr); }
  .rm-press { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .rm-stats-4, .rm-press { grid-template-columns: 1fr; }
}
.rm-components { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rm-components > .csp-view { min-width: 0; }
@media (max-width: 860px) { .rm-components { grid-template-columns: minmax(0, 1fr); } }
.rm-components .csp-view:not(.rm-wide) .csp-view-img { position: relative; }
.rm-components .csp-view:not(.rm-wide) .csp-view-img img { position: absolute; inset: 14px; width: calc(100% - 28px); height: calc(100% - 28px); object-fit: contain; }
/* Buyer vs seller dashboards */
.rm-sides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 8px; }
.rm-side { display: flex; flex-direction: column; padding: 28px; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; }
.rm-side h3 { margin: 0 0 20px; font-size: clamp(22px, 2.2vw, 28px); }
.rm-side-tag { align-self: flex-start; margin: 0 0 14px; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.rm-side-buyer { background: #0b4f45; color: #fff; }
.rm-side-seller { background: #fff; color: #0b4f45; box-shadow: inset 0 0 0 1.5px #0b4f45; }
.rm-side-shot { margin: 0 0 22px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.rm-side-shot img { display: block; width: 100%; height: auto; }
.rm-side-rows { display: grid; gap: 14px; margin: 0; }
.rm-side-rows > div { display: grid; grid-template-columns: 104px 1fr; gap: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.rm-side-rows dt { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); padding-top: 3px; }
.rm-side-rows dd { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--ink-soft); }
.rm-side-rows dd strong { color: var(--ink); }
.rm-shared { max-width: 760px; margin: 28px 0 0; font-size: 16px; line-height: 1.6; color: var(--ink-soft); }
.rm-shared strong { color: var(--ink); }
@media (max-width: 900px) {
  .rm-sides { grid-template-columns: minmax(0, 1fr); }
  .rm-side { padding: 22px; }
  .rm-side-rows > div { grid-template-columns: 1fr; gap: 4px; }
}
.rm-press-brand { display: flex; align-items: center; gap: 12px; min-height: 44px; }
.rm-press-logo { flex-shrink: 0; width: 30px; height: 30px; }
.rm-press-logo-img { flex-shrink: 0; width: auto; }
.rm-logo-wsj { height: 18px; max-width: 100%; }
.rm-logo-canary { height: 24px; }
