.policy-skip {
    position: fixed; top: .5rem; left: .5rem; z-index: 20;
    padding: .65rem 1rem; transform: translateY(-200%);
    border-radius: .5rem; background: white; color: var(--primary-dark);
}
.policy-skip:focus { transform: none; }
.policy-header { padding: clamp(1.8rem, 4vw, 3.5rem) 0; background: var(--bg-secondary); border-bottom: 1px solid var(--border-color); }
.policy-header .container, .policy-content { width: min(calc(100% - 2.25rem), 70ch); margin-inline: auto; }
.policy-header h1 { font-size: clamp(2.15rem, 5vw, 4rem); line-height: 1.1; letter-spacing: -.05em; }
.policy-header p { margin-top: .75rem; color: var(--text-secondary); }
.policy-switch { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.policy-switch a {
    display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .85rem;
    border: 1px solid var(--border-color); border-radius: .65rem; background: white;
    color: var(--primary-dark); text-decoration: underline; text-underline-offset: .16em;
}
.policy-switch [aria-current="page"] { background: var(--text-primary); color: white; font-weight: 650; text-decoration: none; }
.policy-content { padding-block: 1.75rem 3rem; overflow-wrap: anywhere; }
.policy-content a { color: var(--primary-dark); text-decoration: underline; text-underline-offset: .16em; }
.policy-content a:hover { text-decoration-thickness: .14em; }
.policy-index { border: 1px solid var(--border-color); border-radius: .85rem; background: var(--bg-secondary); }
.policy-index summary { padding: .85rem 1.1rem; cursor: pointer; font-weight: 650; }
.policy-index summary:focus-visible, .policy-content [tabindex="-1"]:focus-visible { outline: 3px solid var(--primary-color); outline-offset: 3px; }
.policy-index ul { margin: 0; padding: .2rem 1.1rem .85rem; list-style: none; columns: 2; column-gap: 1rem; }
.policy-index li { break-inside: avoid; }
.policy-index a { display: inline-block; padding: .5rem 0; }
.policy-section,.contact-info { padding-block: 1.75rem; border-bottom: 1px solid var(--border-color); }
.policy-content h2 { font-size: clamp(1.45rem, 3vw, 1.9rem); line-height: 1.25; letter-spacing: -.025em; }
.section-icon { font-size: .76em; margin-right: .18em; }
.policy-content h3 { margin-top: 1.45rem; font-size: 1.15rem; line-height: 1.4; }
.policy-content p,.policy-section li,.app-reference,.info-item,.contact-item { font-size: 1.04rem; line-height: 1.75; }
.policy-content p,.policy-section ul,.company-info,.contact-details { margin-top: .8rem; }
.policy-section ul { padding-left: 1.5em; }
.policy-section li + li { margin-top: .4rem; }
.highlight-box,.app-reference { margin-top: 1rem; padding: .85rem 1rem; border-left: 3px solid #89b6d9; background: var(--bg-secondary); }
.highlight-box p:first-child { margin-top: 0; }
.app-reference { display: flex; align-items: center; gap: 1rem; }
.app-reference img { width: 3rem; height: 3rem; border-radius: .7rem; }
.company-info,.contact-details { display: grid; gap: .65rem; }
.info-item strong { display: block; }
.last-updated { margin-block: 1.5rem; }
@media (max-width: 600px) { .policy-index ul { columns: 1; } }
@media (prefers-reduced-motion: no-preference) {
    @supports (interpolate-size: allow-keywords) and selector(details::details-content) {
        .policy-index details { interpolate-size: allow-keywords; }
        .policy-index details::details-content {
            block-size: 0; overflow: hidden; opacity: 0;
            transition: block-size .24s ease, opacity .2s ease, content-visibility .24s allow-discrete;
        }
        .policy-index details[open]::details-content { block-size: auto; opacity: 1; }
    }
    @supports not (interpolate-size: allow-keywords) {
        .policy-index details[open] ul { animation: policy-index-in .18s ease-out; }
        @keyframes policy-index-in { from { opacity: 0; transform: translateY(-4px); } }
    }
}
