/* Benefits use the existing site palette, typography and button system. */
.bp-benefits-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: start; }
.bp-benefit-tabs { min-width: 0; }
.bp-benefit-tab { position: relative; display: grid; grid-template-columns: 25px 1fr 20px; gap: 14px; width: 100%; padding: 24px 0; text-align: left; font-family: var(--font-sans); color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.bp-benefit-tab:first-child { border-top: 1px solid var(--line); }
.bp-benefit-tab::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px; background: var(--accent); transform: scaleX(0); transform-origin: left; transition: transform 240ms cubic-bezier(.25,1,.5,1); }
.bp-benefit-tab[aria-selected="true"]::after { transform: scaleX(1); }
.bp-benefit-tab strong { display: block; font-size: 19px; line-height: 1.35; letter-spacing: -.015em; margin-bottom: 8px; font-weight: 600; }
.bp-benefit-tab span span { display: block; color: var(--ink-soft); font-size: 14px; line-height: 1.65; max-width: 46ch; }
.bp-benefit-number { padding-top: 3px; font: 12px/1.5 var(--font-mono); color: var(--ink-muted); }
.bp-benefit-arrow { align-self: start; padding-top: 2px; color: var(--accent); transform: translate(-3px,3px); transition: transform 200ms cubic-bezier(.25,1,.5,1); }
.bp-benefit-tab[aria-selected="true"] .bp-benefit-number { color: var(--accent); }
.bp-benefit-tab:hover .bp-benefit-arrow, .bp-benefit-tab[aria-selected="true"] .bp-benefit-arrow { transform: translate(0,0); }
.bp-review-preview { position: sticky; top: 100px; min-width: 0; background: var(--bg-elev); border: 1px solid var(--line-strong); border-radius: 20px; padding: 26px 30px 22px; box-shadow: var(--shadow-sm); }
.bp-preview-masthead { display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--line); padding-bottom: 20px; font-size: 14px; line-height: 1.3; font-weight: 600; }
.bp-preview-masthead small { display: block; margin-top: 4px; font-size: 11px; color: var(--ink-soft); font-weight: 400; }
.bp-preview-monogram { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--accent); border-radius: 50%; flex-shrink: 0; color: var(--accent); font: 21px/1 var(--review-serif); }
.bp-preview-example { margin-left: auto; text-align: right; font-size: 11px; color: var(--ink-soft); font-weight: 400; }
.bp-preview-caption { color: var(--accent); font: 12px/1.5 var(--font-mono); margin: 25px 0 12px; }
.bp-preview-body h3 { font: 400 42px/1.08 var(--review-serif); letter-spacing: -.025em; margin: 0 0 14px; max-width: 16ch; text-wrap: balance; }
.bp-preview-body > p:not(.bp-preview-caption) { font-size: 14px; line-height: 1.65; color: var(--ink-soft); margin: 0; min-height: 47px; }
.bp-preview-rows { margin: 26px 0 24px; }
.bp-preview-rows > div { padding: 14px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: start; gap: 14px; }
.bp-preview-rows dt { font: 11px/1.65 var(--font-mono); color: var(--accent); }
.bp-preview-rows dd { font-size: 13px; line-height: 1.55; color: var(--ink); margin: 0; }
.bp-evidence-flow { display: flex; align-items: center; gap: 10px; font-size: 11px; color: var(--ink-soft); }
.bp-evidence-flow span { white-space: nowrap; }
.bp-evidence-flow i { display: block; height: 1px; flex: 1; background: var(--line-strong); position: relative; }
.bp-evidence-flow i::before { content: ''; position: absolute; inset: 0; background: var(--accent); transform-origin: left; }
.bp-benefits.is-inspected .bp-evidence-flow i::before { animation: bp-trace-evidence 650ms cubic-bezier(.16,1,.3,1) both; }
.bp-benefits.is-inspected .bp-evidence-flow i:nth-of-type(2)::before { animation-delay: 180ms; }
.bp-preview-note { font-size: 11px; line-height: 1.6; color: var(--ink-soft); margin: 18px 0 0; }
.bp-why-review { background: var(--bg-elev); border-block: 1px solid var(--line); }
.bp-why-layout { display: grid; grid-template-columns: 1fr 1fr; column-gap: 80px; row-gap: 36px; align-items: start; }
.bp-why-label { color: var(--accent); font-size: 14px; margin: 0 0 18px; }
.bp-why-intro > p:not(.bp-why-label) { color: var(--ink-soft); font-size: 15px; max-width: 45ch; margin: 20px 0 25px; }
.bp-why-reasons article { padding: 20px 0; border-top: 1px solid var(--line); }
.bp-why-reasons article:first-child { padding-top: 0; border-top: 0; }
.bp-why-reasons h3 { margin: 0 0 9px; font-size: 19px; font-weight: 600; letter-spacing: -.015em; }
.bp-why-reasons p { margin: 0 0 10px; color: var(--ink-soft); font-size: 14px; }
.bp-why-reasons a { color: var(--accent); font-size: 12px; text-decoration: underline; }
.bp-fit-note { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1.35fr; gap: 40px; border-top: 1px solid var(--line-strong); padding-top: 25px; }
.bp-fit-note strong { font-size: 18px; line-height: 1.5; font-weight: 500; max-width: 31ch; }
.bp-fit-note p { font-size: 13px; color: var(--ink-soft); margin: 0; }
@keyframes bp-trace-evidence { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (max-width: 1000px) {
  .bp-benefits-layout { gap: 32px; }
  .bp-review-preview { padding: 24px; }
  .bp-benefit-tab { grid-template-columns: 22px 1fr 16px; gap: 10px; }
  .bp-benefit-tab strong { font-size: 17px; }
  .bp-preview-body h3 { font-size: 36px; }
  .bp-preview-rows > div { grid-template-columns: 86px minmax(0,1fr); gap: 10px; }
  .bp-why-layout { column-gap: 40px; }
}
@media (max-width: 720px) {
  .bp-benefits-layout, .bp-why-layout { grid-template-columns: 1fr; gap: 28px; }
  .bp-review-preview { position: static; }
  .bp-benefit-tab { padding-block: 20px; }
  .bp-preview-masthead { gap: 8px; }
  .bp-preview-example { max-width: 9ch; }
  .bp-fit-note { grid-template-columns: 1fr; gap: 12px; }
  .bp-fit-note strong { max-width: none; }
  .bp-why-reasons article:first-child { padding-top: 20px; border-top: 1px solid var(--line); }
}
@media (prefers-reduced-motion: reduce) {
  .bp-benefit-tab::after, .bp-benefit-arrow { transition: none; }
  .bp-benefits .bp-evidence-flow i::before { animation: none; }
}
