.privacy-story { max-width: 830px; margin-inline: auto; }
.privacy-story .article-cover { margin: 0 0 34px; }
.privacy-story > p { line-height: 1.85; }
.privacy-story h2 { margin-top: 56px; }
.privacy-story h3 { margin-top: 28px; font-size: 1.24rem; }
.privacy-boundary { margin: 34px 0; padding: 22px 26px; color: var(--navy); background: #f5f1e7; border-left: 4px solid var(--gold); border-radius: 0 12px 12px 0; }
.privacy-boundary p { margin: 0; }
.visibility-map { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 32px 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.visibility-map > div { min-width: 0; padding: 22px 19px; background: #f2f7f4; }
.visibility-map > div + div { border-left: 1px solid var(--line); }
.visibility-map dt { margin-bottom: 9px; color: var(--navy); font-weight: 800; line-height: 1.35; }
.visibility-map dd { margin: 0; color: var(--ink-soft); font-size: .89rem; line-height: 1.65; }
.privacy-story .source-check { margin: 30px 0; padding: 22px 24px; border: 1px solid #cfe2db; background: #f5faf7; border-radius: 12px; }
.privacy-story .source-check h3 { margin-top: 0; }
.privacy-story .source-check p:last-child { margin-bottom: 0; }
.boundary-ledger { margin: 28px 0; counter-reset: boundary; }
.boundary-ledger > div { position: relative; padding: 18px 20px 18px 58px; border-top: 1px solid var(--line); }
.boundary-ledger > div::before { counter-increment: boundary; content: counter(boundary); position: absolute; top: 18px; left: 12px; color: var(--teal); font-size: 1.2rem; font-weight: 800; }
.boundary-ledger dt { font-weight: 800; color: var(--navy); }
.boundary-ledger dd { margin: 7px 0 0; color: var(--ink-soft); font-size: .93rem; }
.privacy-story .source-note { font-size: .83rem; }
@media (max-width: 680px) {
  .privacy-story h2 { margin-top: 40px; }
  .privacy-story > p { line-height: 1.8; }
  .visibility-map { grid-template-columns: 1fr; }
  .visibility-map > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .privacy-boundary, .privacy-story .source-check { padding: 20px; }
  .boundary-ledger > div { padding-right: 0; padding-left: 44px; }
  .boundary-ledger > div::before { left: 6px; }
}
