@font-face { font-family: "Business Ops Jost"; src: url("/assets/jost.woff2") format("woff2"); font-display: swap; }
:root { color-scheme: light; font-family: "Business Ops Jost", system-ui, sans-serif; color: #1a2018; background: #f5f6f2; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.policy-header { padding: 20px clamp(18px, 5vw, 64px); border-bottom: 1px solid #d6ded1; background: #f5f6f2; }
.policy-brand { display: inline-flex; min-height: 48px; align-items: center; padding: 0 18px; border: 1px solid #aab59f; border-radius: 999px; background: #fff; color: #273421; font-size: 18px; font-weight: 700; text-decoration: none; box-shadow: 0 3px 0 #c8d2be; }
.policy-brand:hover { border-color: #65834f; }
a:focus-visible { outline: 3px solid #2459d3; outline-offset: 3px; }
.policy-main { width: min(100% - 32px, 820px); margin: clamp(28px, 6vw, 72px) auto 80px; }
.policy-kicker { color: #56694b; font-size: 13px; font-weight: 800; letter-spacing: .11em; }
h1 { margin: 12px 0 0; font-size: clamp(42px, 8vw, 68px); line-height: 1.02; letter-spacing: -.055em; }
.policy-intro { margin: 18px 0 32px; color: #485446; font-size: 18px; line-height: 1.5; }
.policy-document { padding: clamp(22px, 5vw, 48px); border: 1px solid #d4decf; border-radius: 22px; background: #fff; box-shadow: 0 18px 48px -32px #25331e55; }
.policy-document h2 { margin: 32px 0 12px; padding-top: 28px; border-top: 1px solid #e1e8dc; font-size: clamp(22px, 4vw, 27px); line-height: 1.2; letter-spacing: -.03em; }
.policy-document p { margin: 0 0 18px; color: #273225; font-size: 17px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.policy-document p:last-child { margin-bottom: 0; }
.policy-document .policy-meta { color: #586454; font-size: 15px; line-height: 1.65; }
.policy-document .policy-source-title { font-weight: 700; }
.policy-original { display: inline-block; margin: 24px 0 0; color: #244418; font-size: 16px; font-weight: 700; text-underline-offset: 3px; }
.policy-original[hidden] { display: none; }
@media (max-width: 520px) { .policy-header { padding: 14px 16px; } .policy-main { width: min(100% - 28px, 820px); margin-top: 28px; } .policy-document { border-radius: 16px; } .policy-document p { font-size: 16px; } }

/* R2906: new disclosure uses the existing reading width/type; no app-shell changes. */
.policy-supplement { margin-top: 40px; scroll-margin-top: 24px; }
.policy-supplement[hidden] { display: none; }
.policy-supplement h2 { margin: 0 0 12px; padding: 0; border: 0; }
.policy-supplement h3 { margin: 30px 0 12px; font-size: 20px; line-height: 1.3; }
.policy-supplement ul { margin: 0; padding-left: 22px; }
.policy-supplement li { margin: 0 0 14px; padding-left: 4px; color: #273225; font-size: 17px; line-height: 1.7; }
.policy-supplement a { color: #244418; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
@media (max-width: 520px) { .policy-supplement li { font-size: 16px; } }
