:root {
    color-scheme: light;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #f4f7fb;
    color: #15233c;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; line-height: 1.65; }

.page-shell { padding: 2rem 1rem; }
.policy {
    width: min(100%, 58rem);
    margin: 0 auto;
    background: #fff;
    border-radius: 1.25rem;
    box-shadow: 0 1rem 3rem rgba(21, 35, 60, .12);
    padding: clamp(1.5rem, 5vw, 3.5rem);
}

.policy-header { border-bottom: 1px solid #d8e1ec; padding-bottom: 1.5rem; }
.eyebrow { color: #1b5f98; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
h1 { font-size: clamp(2.1rem, 7vw, 3.4rem); line-height: 1.05; margin: .35rem 0 1rem; }
h2 { font-size: clamp(1.35rem, 4vw, 1.7rem); line-height: 1.25; margin-top: 2.25rem; }
p, li { max-width: 75ch; }
li + li { margin-top: .55rem; }
.updated { color: #47566f; font-weight: 650; }

.contents {
    background: #edf5fb;
    border-left: .35rem solid #1b5f98;
    border-radius: .35rem;
    margin: 2rem 0;
    padding: .25rem 1.25rem 1.25rem;
}
.contents h2 { margin-top: 1rem; }
.contents ol { columns: 2; padding-left: 1.25rem; }

a { color: #0a568e; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: .16em; }
a:focus-visible { outline: 4px solid #f3b61f; outline-offset: 3px; }

footer { border-top: 1px solid #d8e1ec; margin-top: 2.5rem; padding-top: 1rem; }

@media (max-width: 40rem) {
    .page-shell { padding: 0; }
    .policy { min-height: 100vh; border-radius: 0; box-shadow: none; }
    .contents ol { columns: 1; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}
