
/* §4 — buyer persona cards */
.rsg-page .bp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0 0 16px; }
.rsg-page .bp-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-md); transition: transform .25s, box-shadow .25s, border-color .25s; }
.rsg-page .bp-card:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(0,0,0,0.10); }
.rsg-page .bp-shot-bar { display: flex; align-items: center; gap: 6px; padding: 8px 12px; background: #F4F6F8; border-bottom: 1px solid var(--line); }
.rsg-page .bp-shot-bar .bp-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.rsg-page .bp-shot-bar .bp-lbl { font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.1em; text-transform: uppercase; color: #64748B; font-weight: 700; margin-left: auto; }
.rsg-page .bp-shot img { width: 100%; height: 152px; object-fit: cover; object-position: top; display: block; }
.rsg-page .bp-body { padding: 18px 18px 20px; display: flex; flex-direction: column; flex: 1; }
.rsg-page .bp-head { display: flex; align-items: center; gap: 11px; margin-bottom: 12px; }
.rsg-page .bp-ic { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; box-shadow: 0 8px 16px rgba(0,0,0,0.12); }
.rsg-page .bp-ic svg { width: 20px; height: 20px; }
.rsg-page .bp-name { font-family: var(--font-display); font-weight: 800; font-size: 15.5px; color: var(--ink-900); line-height: 1.2; display: block; }
.rsg-page .bp-decide { font-family: var(--font-mono); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 700; margin-top: 5px; display: block; }
.rsg-page .bp-want { font-size: 13px; line-height: 1.55; color: var(--ink-2); margin: 0 0 15px; }
.rsg-page .bp-want strong { color: var(--ink-900); }
.rsg-page .bp-gives { margin-top: auto; background: var(--paper-soft); border: 1px solid var(--line); border-radius: 11px; padding: 13px 14px; }
.rsg-page .bp-gives-lbl { display: flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 8.5px; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 700; color: var(--green-700); margin-bottom: 10px; }
.rsg-page .bp-gives ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.rsg-page .bp-gives li { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.42; color: var(--ink-2); }
.rsg-page .bp-ck { flex-shrink: 0; width: 16px; height: 16px; border-radius: 50%; background: var(--green-50); display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; }
.rsg-page .bp-ck svg { width: 9px; height: 9px; color: var(--green-600); }
.rsg-page .bp-emergency .bp-ic { background: linear-gradient(135deg, #E2434E, var(--red)); }
.rsg-page .bp-emergency .bp-decide { color: var(--red); }
.rsg-page .bp-ticket .bp-ic { background: linear-gradient(135deg, var(--green-500), var(--green-700)); }
.rsg-page .bp-ticket .bp-decide { color: var(--green-700); }
.rsg-page .bp-research .bp-ic { background: linear-gradient(135deg, #E9A23B, var(--orange-500)); }
.rsg-page .bp-research .bp-decide { color: var(--orange-500); }
@media (max-width: 880px) { .rsg-page .bp-grid { grid-template-columns: 1fr; } }
