/* Public privacy policy — v1.0 */
.privacy-policy-page {
  --pp-surface: var(--bs-body-bg);
  --pp-surface-muted: var(--bs-tertiary-bg);
  --pp-border: var(--bs-border-color);
  --pp-text: var(--bs-body-color);
  --pp-muted: var(--bs-secondary-color);
  color: var(--pp-text);
  background: radial-gradient(circle at 85% 3%, rgba(var(--bs-primary-rgb), .085), transparent 26rem), var(--pp-surface);
}
.privacy-policy-container { max-width: 68rem; }
.privacy-policy-header { margin-bottom: 1.35rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--pp-border); }
.privacy-policy-eyebrow,
.privacy-policy-section-label { color: var(--bs-primary); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.privacy-policy-eyebrow { display: flex; gap: .45rem; align-items: center; margin-bottom: .5rem; }
.privacy-policy-header h1 { margin: 0; font-size: clamp(2.2rem, 5vw, 3.65rem); font-weight: 770; letter-spacing: -.05em; line-height: 1; }
.privacy-policy-header > p { max-width: 46rem; margin: .75rem 0 0; color: var(--pp-muted); font-size: .92rem; line-height: 1.65; }
.privacy-policy-date { display: inline-flex; gap: .4rem; align-items: center; margin-top: 1rem; padding: .38rem .6rem; color: var(--pp-muted); font-size: .68rem; font-weight: 650; border: 1px solid var(--pp-border); border-radius: 999px; background: var(--pp-surface-muted); }
.privacy-policy-document { max-width: 54rem; margin: 0 auto; padding: clamp(1.15rem, 3vw, 2.25rem); border: 1px solid var(--pp-border); border-radius: 1rem; background: var(--pp-surface); box-shadow: var(--bs-box-shadow-sm); }
.privacy-policy-notice { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; margin-bottom: 2rem; padding: .9rem 1rem; color: var(--pp-muted); font-size: .73rem; line-height: 1.6; border: 1px solid rgba(var(--bs-primary-rgb), .24); border-radius: .65rem; background: rgba(var(--bs-primary-rgb), .06); }
.privacy-policy-notice > i { margin-top: .12rem; color: var(--bs-primary); }
.privacy-policy-notice p { margin: 0; }
.privacy-policy-document > h2 { position: relative; margin: 2.15rem 0 .65rem; padding: 0 0 .55rem 1rem; color: var(--pp-text); font-size: 1.08rem; font-weight: 760; letter-spacing: -.018em; border-bottom: 1px solid var(--pp-border); }
.privacy-policy-document > h2::before { position: absolute; top: .08rem; bottom: .55rem; left: 0; width: 3px; border-radius: 999px; background: var(--bs-primary); content: ""; }
.privacy-policy-document > h2:first-of-type { margin-top: 0; }
.privacy-policy-document p,
.privacy-policy-document li { color: var(--pp-muted); font-size: .8rem; line-height: 1.72; }
.privacy-policy-document p { margin: 0 0 .9rem; }
.privacy-policy-document strong { color: var(--pp-text); font-weight: 700; }
.privacy-policy-document a { font-weight: 650; text-underline-offset: .18em; }
.privacy-policy-document ul { display: grid; gap: .55rem; margin: .7rem 0 1rem; padding: 0; list-style: none; }
.privacy-policy-document > ul li,
.privacy-policy-rights li { position: relative; padding-left: 1.35rem; }
.privacy-policy-document > ul li::before,
.privacy-policy-rights li::before { position: absolute; top: .66rem; left: .15rem; width: .42rem; height: .42rem; border: 1px solid rgba(var(--bs-primary-rgb), .5); border-radius: 50%; background: rgba(var(--bs-primary-rgb), .12); content: ""; }
.privacy-policy-document code { padding: .14rem .32rem; color: var(--bs-primary-text-emphasis); font-size: .72rem; border: 1px solid var(--pp-border); border-radius: .3rem; background: var(--pp-surface-muted); }
.privacy-policy-emphasis { display: flex; gap: .5rem; align-items: center; margin: 1rem 0 !important; padding: .75rem .85rem; color: var(--bs-success-text-emphasis) !important; border: 1px solid rgba(var(--bs-success-rgb), .3); border-radius: .55rem; background: var(--bs-success-bg-subtle); }
.privacy-policy-emphasis i,
.privacy-policy-emphasis strong { color: inherit; }
.privacy-policy-rights { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .9rem; margin: 2.25rem 0; padding: 1.15rem; border: 1px solid rgba(var(--bs-primary-rgb), .32); border-radius: .8rem; background: linear-gradient(125deg, rgba(var(--bs-primary-rgb), .075), transparent 65%), var(--pp-surface-muted); }
.privacy-policy-rights-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; color: var(--bs-primary); border: 1px solid rgba(var(--bs-primary-rgb), .25); border-radius: .65rem; background: rgba(var(--bs-primary-rgb), .09); }
.privacy-policy-rights h2 { margin: .15rem 0 .55rem; color: var(--pp-text); font-size: 1.08rem; font-weight: 760; }
.privacy-policy-rights ul { margin-block: .55rem .9rem; }
.privacy-policy-rights p:last-child { margin-bottom: 0; }
@media (max-width: 575.98px) {
  .privacy-policy-container { padding-inline: .85rem; }
  .privacy-policy-document { padding: 1rem; border-radius: .8rem; }
  .privacy-policy-rights { grid-template-columns: minmax(0, 1fr); }
  .privacy-policy-document > h2 { margin-top: 1.8rem; }
}
