:root { --bg: #f8f4ec; --panel: #fffaf2; --ink: #2f2a35; --muted: #6d6470; --accent: #7153c8; --accent-strong: #5639a5; --line: #ddcfba; --display: Georgia, "Times New Roman", serif; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
a { color: var(--accent-strong); }
a:focus-visible { outline: 3px solid rgba(113, 83, 200, 0.45); outline-offset: 3px; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 2; padding: 10px 14px; border-radius: 8px; background: var(--ink); color: #fff; font-weight: 800; text-decoration: none; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.policy-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px clamp(16px, 4vw, 44px); border-bottom: 1px solid var(--line); background: rgba(255, 250, 242, 0.94); }
.brand { color: var(--ink); font-size: 20px; font-weight: 900; text-decoration: none; }
.brand span { color: var(--accent); }
.policy-header a:last-child { font-weight: 800; }
main { width: min(800px, calc(100vw - 32px)); margin: 0 auto; padding: clamp(34px, 7vw, 72px) 0; }
.eyebrow { margin: 0 0 8px; color: var(--muted); font-size: 12px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
h1, h2 { line-height: 1.12; text-wrap: balance; }
h1 { margin: 0; font-family: var(--display); font-size: clamp(42px, 7vw, 66px); }
h2 { margin: 34px 0 10px; font-size: 23px; }
p, li { max-width: 72ch; }
.lede { margin: 16px 0 0; color: var(--muted); font-size: 18px; }
.policy-card { margin-top: 32px; padding: clamp(20px, 4vw, 34px); border: 1px solid var(--line); border-radius: 18px; background: var(--panel); }
.policy-card > :first-child { margin-top: 0; }
.policy-card > :last-child { margin-bottom: 0; }
.policy-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.policy-nav a { padding: 7px 10px; border: 1px solid rgba(113, 83, 200, 0.25); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 800; text-decoration: none; }
.policy-footer { width: min(800px, calc(100vw - 32px)); margin: 0 auto; padding: 0 0 32px; color: var(--muted); font-size: 13px; }
@media (max-width: 560px) { .policy-header { align-items: flex-start; flex-direction: column; } }
