/* privacy — cleaned component styles, 2026-09-06. */
.bp-policy-page { padding-top: 38px; padding-bottom: 48px; }
.bp-policy-page .bp-entry-content { font-size: 1.0625rem; line-height: 1.85; color: #475544; }
.bp-policy-page .bp-policy-date { font-size: .8125rem; color: #6a7864; margin: 0 0 24px; }
.bp-policy-summary { padding: 22px 26px; background: #eef2e9; border-left: 3px solid #ca5b34; margin: 0 0 24px; }
.bp-policy-summary p { margin: 0; }
.bp-policy-toc { display: flex; flex-wrap: wrap; gap: 8px 22px; padding-bottom: 24px; border-bottom: 1px solid #d7ddd2; margin-bottom: 30px; }
.bp-policy-toc a { display: inline-flex; align-items: center; min-height: 36px; font-size: .875rem; }
.bp-policy-page h2 { font-size: clamp(1.4rem,2.4vw,1.8rem); margin: 34px 0 14px; color: #2c412f; scroll-margin-top: 120px; }
.bp-policy-page ul { padding-left: 1.25em; }
.bp-policy-page li { padding-left: 4px; margin-bottom: 8px; }
.bp-policy-page a { overflow-wrap: anywhere; }
.bp-policy-page .bp-policy-contact { font-size: 1.125rem; }
.bp-policy-page a:focus-visible { outline: 2px solid #a24121; outline-offset: 3px; }
@media(max-width:680px) {
  .bp-policy-page { padding-top: 22px; padding-bottom: 32px; }
  .bp-policy-page .bp-entry-content { font-size: 1rem; }
  .bp-policy-summary { padding: 17px 19px; }
  .bp-policy-page h2 { scroll-margin-top: 100px; }
}
