#card_overlay:has(.border-scroll-region:focus-visible) #policy-card-title {
    text-decoration:underline;
    text-underline-offset:3px;
}

#card_overlay[data-view="policy"] #policy_card_document {
    width:100%;
    margin:0;
}

/* Headings use the existing Contact role: policy h1 and nav title are card_h3. */
#card_overlay[data-view="policy"] #policy-card-title,
#card_overlay[data-view="policy"] .policy-card-title {
    margin:0 0 8px;
    color:var(--contact-ink, currentColor);
}
#card_overlay[data-view="policy"] :is(h1, h2, .policy-nav-title) {
    font-weight:400;
    line-height:normal;
}

#card_overlay .policy-static-close {
    margin:0 auto;
    color:var(--contact-ink, currentColor);
    font:20px/1 sans-serif;
}

#card_overlay[data-view="policy"] .policy-card-date {
    margin:0;
    color:var(--contact-ink, currentColor);
    font:inherit;
    opacity:.7;
}

#card_policy p:not(.policy-nav-title) {
    margin:0 0 1em;
    font:inherit;
    text-transform:none;
    white-space:normal;
}

#card_policy p:last-child {
    margin-bottom:0;
}

#card_overlay[data-view="policy"] .policy-card-columns {
    margin-top:24px;
    column-count:1;
}

#card_overlay[data-view="policy"] article.policy-document,
#card_overlay[data-view="policy"] article.policy-plain {
    min-width:0;
    margin:0;
    color:var(--contact-ink, currentColor);
    font:inherit;
    white-space:normal;
    overflow-wrap:anywhere;
}
#card_overlay[data-view="policy"] article.policy-plain {
    white-space:pre-wrap;
}

#card_overlay[data-view="policy"] article.policy-document > h1 {
    display:none;
}

#card_overlay[data-view="policy"] .policy-introduction {
    margin-bottom:20px;
}

#card_overlay[data-view="policy"] .policy-introduction p,
#card_overlay[data-view="policy"] .policy-section p {
    white-space:pre-line;
}

#card_overlay[data-view="policy"] .policy-nav {
    margin:20px 0 24px;
    padding:12px 0;
    border-block:1px solid color-mix(in srgb, var(--contact-ink, currentColor) 32%, transparent);
}

#card_overlay[data-view="policy"] .policy-nav-title {
    margin:0 0 6px;
    color:var(--contact-ink, currentColor);
}

#card_overlay[data-view="policy"] .policy-nav ul {
    display:flex;
    flex-wrap:wrap;
    gap:2px 20px;
    margin:0;
    padding:0;
    list-style:none;
}

#card_overlay[data-view="policy"] .policy-nav li {
    min-width:0;
    max-width:100%;
}

#card_overlay[data-view="policy"] .policy-nav a {
    display:inline-block;
    padding:5px 0;
    color:inherit;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}

#card_overlay[data-view="policy"] .policy-nav a:hover {
    text-decoration-thickness:2px;
}

#card_overlay[data-view="policy"] .policy-section {
    margin-top:22px;
    scroll-margin-top:16px;
}

#card_overlay[data-view="policy"] article.policy-document > .policy-section:first-of-type {
    margin-top:0;
}

#card_overlay[data-view="policy"] .policy-section h2 {
    margin:0 0 10px;
    color:var(--contact-ink, currentColor);
    break-after:avoid;
}

#card_overlay[data-view="policy"] .policy-section:focus-visible,
#card_overlay[data-view="policy"] a:focus-visible {
    outline:2px solid var(--contact-ink, currentColor);
    outline-offset:4px;
}

#card_overlay[data-view="policy"][data-layout="columns"] .policy-card-columns {
    column-count:2;
    column-gap:24px;
    column-rule:1px solid color-mix(in srgb, var(--contact-ink, currentColor) 20%, transparent);
}

#card_overlay[data-view="policy"][data-layout="columns"] .policy-introduction,
#card_overlay[data-view="policy"][data-layout="columns"] .policy-nav {
    column-span:all;
}

#card_overlay[data-view="policy"][data-layout="columns"] .policy-section {
    break-inside:avoid-column;
}

@media screen and (max-width: 520px) {
    #card_overlay[data-view="policy"] .policy-nav ul {
        display:block;
    }

    #card_overlay[data-view="policy"] .policy-nav a {
        min-height:28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #card_overlay[data-view="policy"],
    #card_overlay[data-view="policy"] * {
        scroll-behavior:auto;
    }
}
