/* Policy.php — load after the shared pedra-public.css. */
.pedra-public .policy-page {
    min-height: 55vh;
    overflow-wrap: anywhere;
}
.pedra-public .policy-hero {
    padding: clamp(36px, 6vw, 72px) 0;
    border-bottom: 1px solid var(--pd-line);
    background: var(--pd-soft);
}
.pedra-public .policy-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 28px;
    color: var(--pd-muted);
    font-size: 12px;
}
.pedra-public .policy-eyebrow {
    margin-bottom: 10px;
    color: var(--pd-deep);
    font-size: 13px;
    font-weight: 700;
}
.pedra-public .policy-hero h1 {
    max-width: 960px;
    margin: 0;
    font-size: clamp(27px, 4vw, 44px);
    font-weight: 800;
    line-height: 1.65;
}
.pedra-public .policy-content {
    padding-block: clamp(28px, 5vw, 56px);
}
.pedra-public .policy-document {
    width: 100%;
    max-width: 1000px;
    margin-inline: auto;
    padding: clamp(22px, 4vw, 48px);
    border: 1px solid var(--pd-line);
    border-radius: 24px;
    background: var(--pd-surface);
    box-shadow: var(--pd-shadow);
    scroll-margin-top: 100px;
}
.pedra-public .policy-prose {
    color: var(--pd-ink);
    font-size: 15px;
    font-style: normal;
    line-height: 2.25;
}
.pedra-public .policy-prose > :first-child { margin-top: 0; }
.pedra-public .policy-prose > :last-child { margin-bottom: 0; }
.pedra-public .policy-prose p { margin-bottom: 18px; }
.pedra-public .policy-prose h2 {
    margin: 32px 0 16px;
    font-size: clamp(21px, 2.5vw, 28px);
    font-weight: 750;
}
.pedra-public .policy-prose h3 {
    margin: 28px 0 14px;
    font-size: 19px;
    font-weight: 700;
}
.pedra-public .policy-prose :is(h2, h3, h4) { scroll-margin-top: 105px; }
.pedra-public .policy-prose :is(ul, ol) {
    padding-inline-start: 26px;
    padding-inline-end: 0;
    margin-bottom: 22px;
}
.pedra-public .policy-prose li { margin-bottom: 10px; }
.pedra-public .policy-prose a {
    color: var(--pd-deep);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.pedra-public .policy-prose blockquote {
    margin: 24px 0;
    padding: 18px 22px;
    border-inline-start: 3px solid var(--pd-brand);
    border-radius: 12px;
    background: var(--pd-soft);
}
.pedra-public .policy-prose :is(img, video, iframe) { max-width: 100%; }
.pedra-public .policy-prose img { height: auto; border-radius: 12px; }
.pedra-public .policy-prose table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    margin-block: 24px;
}
.pedra-public .policy-prose :is(th, td) {
    padding: 12px 16px;
    border: 1px solid var(--pd-line);
    text-align: start;
}
.pedra-public .policy-prose th { background: var(--pd-soft); }
.pedra-public .policy-prose pre { max-width: 100%; overflow-x: auto; }
@media (max-width: 575px) {
    .pedra-public .policy-document { padding: 22px; border-radius: 18px; }
    .pedra-public .policy-prose { font-size: 14px; line-height: 2.15; }
}