/* Policy pages share the app's compact typography and orange accents. */
.legal-page main { max-width:1236px;min-width:0;padding:38px 38px 64px;font:400 13px/1.75 var(--ui); }
.policy-back { display:inline-flex;align-items:center;min-height:32px;margin:0 0 14px;color:var(--quiet);font-size:12px;text-decoration:none; }
.policy-back:hover { color:var(--mark); }
.policy-intro { margin-bottom:22px; }
.legal-page h1 { margin:0 0 8px;font:500 26px/1.25 var(--ui);font-size:26px!important;letter-spacing:-.025em; }
.legal-page .lede { max-width:85ch;margin:0;color:var(--quiet);font-size:13px;line-height:1.7; }
.policy-updated { margin:10px 0 0;color:var(--faint);font-size:11px;line-height:1.6; }
.policy-links { display:flex;flex-wrap:wrap;gap:0 24px;margin:0 0 24px;padding:0;border-bottom:1px solid var(--rule); }
.policy-links a { display:inline-flex;align-items:center;min-height:40px;padding:9px 0;border-bottom:2px solid transparent;border-radius:0;color:var(--quiet);font-size:12px;line-height:1.5;text-decoration:none; }
.policy-links a:hover { color:var(--ink); }
.policy-links a[aria-current=page] { border-bottom-color:var(--mark);color:var(--mark);font-weight:500; }
.policy-status { max-width:920px;margin:0 0 22px;padding:11px 14px;border:0;border-left:2px solid var(--mark);border-radius:0 8px 8px 0;background:var(--mark-wash);color:var(--quiet);font-size:12px;line-height:1.7; }
.policy-status strong { display:block;margin-bottom:3px;color:var(--ink);font-weight:500; }
.policy-status a { color:var(--mark); }
.policy-layout { display:block;max-width:920px;min-width:0; }
.policy-index { margin-bottom:24px;border-bottom:1px solid var(--rule); }
.policy-index summary { width:fit-content;min-height:40px;padding:9px 0;color:var(--quiet);font-size:12px;font-weight:500;cursor:pointer; }
.policy-index summary:hover,.policy-index[open] summary { color:var(--mark); }
.policy-index summary::marker { color:var(--mark); }
.policy-toc { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;margin:0;padding:4px 0 14px; }
.policy-toc a { display:flex;align-items:center;min-height:36px;padding:7px 0;color:var(--quiet);font-size:12px;line-height:1.5;text-decoration:none; }
.policy-toc a:hover { color:var(--mark);text-decoration:underline;text-underline-offset:4px; }
.legal-page .policy-content { min-width:0;padding:0;border:0;border-radius:0;background:transparent; }
.legal-page .policy-content h2 { margin:24px 0 10px;padding-top:22px;border-top:1px solid var(--rule);font:500 18px/1.4 var(--ui);letter-spacing:-.02em;scroll-margin-top:24px; }
.legal-page .policy-content h2:first-child { margin-top:0;padding-top:0;border-top:0; }
.legal-page .policy-content h3 { margin:20px 0 8px;font:500 14px/1.5 var(--ui);letter-spacing:0; }
.legal-page .policy-content p,.legal-page .policy-content li { max-width:95ch;color:var(--quiet);font-size:13px;line-height:1.8;overflow-wrap:anywhere; }
.legal-page .policy-content p { margin:0 0 12px; }
.legal-page .policy-content ul,.legal-page .policy-content ol { margin:0 0 16px;padding-left:20px; }
.legal-page .policy-content li+li { margin-top:7px; }
.legal-page .policy-content a { color:var(--mark);text-underline-offset:3px; }
.legal-page .policy-content strong { color:var(--ink);font-weight:500; }
.policy-resource-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;margin:16px 0 24px; }
.policy-resource-grid a { display:grid;gap:4px;padding:15px 0;border-bottom:1px solid var(--rule);text-decoration:none; }
.policy-resource-grid a:hover strong { color:var(--mark); }
.policy-resource-grid strong { font-size:13px;font-weight:500; }
.policy-resource-grid span { color:var(--quiet);font-size:12px;line-height:1.7; }
/* Signed-in readers retain workspace navigation; public readers get a short header. */
.legal-page:not(.workspace-page) .public-nav .nav-secondary { display:none; }
.legal-page:not(.workspace-page) .bar nav a { white-space:nowrap; }
@media(max-width:1000px) { .legal-page main { padding:30px 26px 60px; } }
@media(max-width:600px) {
  .legal-page main { padding:24px 20px 40px; }
  .legal-page h1 { font-size:24px!important; }
  .policy-intro { margin-bottom:18px; }
  .policy-links { column-gap:20px;margin-bottom:20px; }
  .policy-status { padding:11px 12px; }
  .policy-toc,.policy-resource-grid { grid-template-columns:minmax(0,1fr); }
  .legal-page .policy-content h2 { font-size:17px; }
}
@media(pointer:coarse) { .policy-back,.policy-links a,.policy-index summary,.policy-toc a { min-height:44px; } }
