/* Legal copy uses the established Hrabia typefaces and paper. */
.hpr-privacy { color: var(--hr-ink); }
.hpr-frame { width: min(calc(100% - 2 * var(--hr-page-gutter)), 900px); margin-inline: auto; }
.hpr-hero { padding-block: clamp(42px, 5vw, 76px); border-bottom: 1px solid var(--hr-line); }
.hpr-eyebrow { display: flex; align-items: center; gap: 16px; margin: 0 0 22px; color: var(--hr-red-dark); font: 600 13px/1.5 "Hrabia UI", Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.hpr-eyebrow::before { content: ""; width: 36px; height: 1px; background: currentColor; }
.hpr-hero h1 { margin: 0; font: 700 clamp(38px, 5.2vw, 72px)/1.08 "Hrabia Slab", Georgia, serif; letter-spacing: -.025em; overflow-wrap: anywhere; text-wrap: balance; }
.hpr-lead { max-width: 59ch; margin-top: 26px; font: 400 clamp(18px, 1.4vw, 21px)/1.75 "Hrabia UI", Arial, sans-serif; }
.hpr-lead p { margin: 0; }
.hpr-content { max-width: 78ch; padding-block: clamp(36px, 4vw, 60px) clamp(56px, 6vw, 96px); font: 400 clamp(16px, 1.15vw, 18px)/1.85 "Hrabia UI", Arial, sans-serif; overflow-wrap: anywhere; }
.hpr-content > :first-child { margin-top: 0; }
.hpr-content > :last-child { margin-bottom: 0; }
.hpr-content h2, .hpr-content h3 { font-family: "Hrabia Slab", Georgia, serif; font-weight: 700; line-height: 1.2; letter-spacing: -.015em; text-wrap: balance; scroll-margin-top: calc(var(--hr-header-height) + var(--hr-admin-offset) + 24px); }
.hpr-content h2 { margin-block: 52px 22px; font-size: clamp(27px, 2.6vw, 36px); }
.hpr-content h3 { margin-block: 32px 16px; font-size: clamp(23px, 2.1vw, 29px); }
.hpr-content p { margin-block: 0 20px; }
.hpr-content ul, .hpr-content ol { padding-left: 1.3em; margin-block: 0 24px; }
.hpr-content li { padding-left: .25em; margin-block: 10px; }
.hpr-content strong { font-weight: 600; }
.hpr-content a { color: var(--hr-red-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.hpr-content a:hover { text-decoration-thickness: 2px; }
.hpr-privacy a:focus-visible { outline: 3px solid var(--hr-red); outline-offset: 4px; }
.hpr-content .hpr-review { padding: 18px 22px; margin-block: 24px; border: 1px solid #b58a4f; border-left: 4px solid #80531b; background: #fff5df; color: #422f1b; font-size: .94em; }
.hpr-content .hpr-toc { padding: 24px 28px; margin-block: 30px 46px; border-block: 1px solid var(--hr-line); }
.hpr-toc p { margin-bottom: 12px; }
.hpr-toc ol { columns: 2; column-gap: 42px; margin-bottom: 0; }
.hpr-toc li { break-inside: avoid; margin-block: 0; }
.hpr-toc a { display: inline-block; padding-block: 10px; font-size: 15px; line-height: 1.6; }
.hpr-content .hpr-date { margin-top: 42px; padding-top: 20px; border-top: 1px solid var(--hr-line); font-size: 14px; }
.hpr-content .hpr-date:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.hpr-pages { display: flex; gap: 16px; margin-top: 32px; }
.hpr-content input, .hpr-content textarea, .hpr-content select { max-width: 100%; }
@media (max-width: 600px) {
    .hpr-toc ol { columns: 1; }
    .hpr-content .hpr-toc { padding-inline: 12px; }
    .hpr-content .hpr-review { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media (forced-colors: active) {
    .hpr-content .hpr-review { border-color: CanvasText; background: Canvas; color: CanvasText; }
    .hpr-privacy a { color: LinkText; }
    .hpr-privacy a:focus-visible { outline-color: Highlight; }
}
@media print {
    body { background: white; }
    .hh-site-header, .hh-skip-link, .hf-footer, .hpr-toc { display: none !important; }
    .hpr-privacy { background: white !important; }
    .hpr-frame { width: 100%; max-width: none; }
    .hpr-hero { padding-block: 16px; }
    .hpr-hero h1 { font-size: 34px; }
    .hpr-content { font-size: 11pt; padding-block: 20px; }
    .hpr-content h2 { font-size: 20pt; break-after: avoid; }
    .hpr-content h3 { font-size: 15pt; break-after: avoid; }
}
