.policy-main { padding-top: 122px; padding-bottom: 110px; max-width: 1280px; }
.policy-back { display:inline-block; color:var(--muted); font-size:11px; letter-spacing:.13em; margin-bottom:30px; }
.policy-tabs { display:flex; gap:32px; border-bottom:1px solid var(--line); margin-bottom:62px; }
.policy-tabs a { padding:16px 0; color:var(--muted); font-size:14px; border-bottom:2px solid transparent; }
.policy-tabs a[aria-current="page"] { color:var(--ink); border-color:var(--ink); }
.policy-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:clamp(36px,6vw,96px); align-items:start; }
.policy-toc { position:sticky; top:100px; max-height:calc(100svh - 125px); overflow:auto; padding-right:12px; }
.policy-toc summary { cursor:pointer; font-size:10px; letter-spacing:.12em; color:var(--muted); margin-bottom:20px; }
.policy-toc nav { display:grid; gap:4px; }
.policy-toc nav a { font-size:13px; line-height:1.65; color:#a9b3c3; padding:8px 12px; border-left:1px solid var(--line); transition:color .2s,border-color .2s,background .2s; }
.policy-toc nav a:hover,.policy-toc nav a[aria-current="location"] { color:var(--ink); border-color:var(--ink); background:rgba(255,255,255,.035); }
.policy-help { display:block; margin-top:28px; font-size:12px; color:var(--ink); }
.policy-language { color:var(--muted); font-size:11px; }
.legal-main { min-width:0; max-width:830px; }
.legal-kicker { font-size:10px; letter-spacing:.14em; color:var(--muted); margin:0 0 22px; }
.legal-main h1 { font-family:var(--font-sans); font-size:clamp(34px,4.4vw,62px); font-weight:500; letter-spacing:-.045em; line-height:1.13; margin:0 0 28px; text-wrap:balance; }
.legal-lead { color:#bdc6d4; font-size:clamp(17px,1.5vw,20px); line-height:1.75; margin:0 0 28px; }
.legal-meta { display:flex; flex-wrap:wrap; gap:10px 24px; padding:20px 0; border-block:1px solid var(--line); color:var(--muted); font-size:12px; }
.legal-notice { padding:22px 24px; margin:32px 0; border-left:2px solid #9bacc3; background:rgba(255,255,255,.035); color:#cad2de; line-height:1.85; }
.legal-sections section { padding:36px 0; border-bottom:1px solid var(--line); scroll-margin-top:94px; }
.legal-sections h2 { font-family:var(--font-sans); font-size:clamp(21px,2vw,27px); font-weight:500; letter-spacing:-.025em; line-height:1.35; margin:0 0 18px; }
.legal-sections p,.legal-sections li { color:#bdc6d4; font-size:16px; line-height:1.85; }
.legal-sections p { margin:14px 0 0; }
.legal-sections ul { padding-left:21px; margin:0; }
.legal-sections li { padding-left:6px; margin:10px 0; }
.legal-main strong { color:var(--ink); font-weight:600; }
.legal-main a { text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.legal-contact { margin-top:36px; padding:26px; background:var(--paper-2); border:1px solid var(--line); line-height:1.85; color:#bdc6d4; }
.policy-body a:focus-visible,.policy-body summary:focus-visible { outline:2px solid var(--ink); outline-offset:5px; }
@media(max-width:900px) { .policy-layout{grid-template-columns:1fr;gap:32px}.policy-toc{position:static;max-height:none;padding:20px;border:1px solid var(--line)}.policy-toc nav{grid-template-columns:1fr 1fr}.policy-toc summary{margin-bottom:12px}.policy-help{margin-top:12px}.policy-tabs{margin-bottom:32px}.policy-language{display:none} }
@media(max-width:600px) { .policy-main{padding-top:104px;padding-bottom:64px}.policy-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.policy-tabs a{font-size:12px;line-height:1.5;display:flex;align-items:center}.policy-toc nav{grid-template-columns:1fr}.legal-sections p,.legal-sections li{font-size:15px}.legal-meta{display:grid;gap:8px}.legal-notice,.legal-contact{padding:20px}.legal-sections section{padding:28px 0} }
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.policy-body *{animation:none!important;transition:none!important} }
@media print { .site-header,.site-footer,.policy-toc,.policy-tabs,.policy-back,.page-progress,.skip-link{display:none!important}.policy-main{padding:0;width:100%}.policy-layout{display:block}.policy-body,.legal-contact,.legal-notice{background:white!important;color:black!important}.legal-main *{color:black!important}.legal-main{max-width:none}.legal-sections section{break-inside:avoid} }
