.pol-head{padding:28px 0 4px}
.pol-head h1{font-size:clamp(24px,3.4vw,30px);font-weight:800;letter-spacing:-.8px}
.pol-eyebrow{font-size:clamp(24px,3.4vw,30px);font-weight:800;letter-spacing:-.8px;line-height:1.2}
.pol-bc{font-size:13px;color:var(--muted);margin-top:5px;font-weight:500}
.pol-bc a{color:var(--purple);font-weight:600}
.pol-grid{display:grid;grid-template-columns:264px minmax(0,1fr) 236px;gap:24px;padding:18px 0 50px;align-items:start}
.pol-side{position:sticky;top:84px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;max-height:calc(100vh - 110px);overflow:auto}
.pol-side a{display:block;font-size:13px;font-weight:600;color:var(--muted);padding:9px 12px;border-radius:10px;margin-bottom:1px;line-height:1.35}
.pol-side a:hover{background:var(--soft);color:var(--ink)}
.pol-side a.active{background:#f1edff;color:var(--purple)}
.pol-mobnav{display:none}
.pol-content{min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;overflow-wrap:anywhere;word-break:break-word}
.pol-content h1{font-size:22px;font-weight:800;margin:0 0 8px;letter-spacing:-.5px}
.pol-content h2{font-size:18px;font-weight:800;margin:26px 0 10px;letter-spacing:-.3px}
.pol-content h3{font-size:15px;font-weight:700;margin:18px 0 8px}
.pol-content p{font-size:14px;color:#39414f;line-height:1.72;margin-bottom:12px}
.pol-content ul,.pol-content ol{padding-left:20px;margin-bottom:14px}
.pol-content li{font-size:14px;color:#39414f;line-height:1.7;margin-bottom:6px}
.pol-content a{color:var(--purple);word-break:break-word}
.pol-content img{max-width:100%;height:auto}
.pol-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:13px;margin:16px 0;-webkit-overflow-scrolling:touch}
.pol-content th,.pol-content td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top;min-width:120px}
.pol-content th{background:var(--soft);font-weight:700;white-space:nowrap}
.pol-content pre,.pol-content code{white-space:pre-wrap;word-break:break-word}
.pol-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.pol-meta span{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--muted);font-weight:600}
.pol-foot{border-top:1px solid var(--line);padding:24px 0 34px;margin-top:14px}
.pol-foot .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pol-foot p{font-size:12.5px;color:var(--hint);font-weight:500}
/* In-page section navigation + reading aids — auto-built for every policy doc */
.pol-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--purple);z-index:70;transition:width .12s linear}
.pol-toc{position:sticky;top:84px;max-height:calc(100vh - 110px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}
.pol-toc-h{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;padding:0 4px}
.pol-toc-list a{display:block;font-size:12.5px;font-weight:600;color:var(--muted);padding:6px 10px;border-radius:9px;line-height:1.35;border-left:2px solid transparent;text-decoration:none}
.pol-toc-list a:hover{background:var(--soft);color:var(--ink)}
.pol-toc-list a.active{background:#f1edff;color:var(--purple);border-left-color:var(--purple)}
.pol-toc-mob{display:none;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:16px;padding:2px 6px}
.pol-toc-mob>summary{list-style:none;cursor:pointer;font-size:13px;font-weight:700;color:var(--ink);padding:12px 8px}
.pol-toc-mob>summary::-webkit-details-marker{display:none}
.pol-toc-mob>summary::after{content:"▾";float:right;color:var(--muted)}
.pol-toc-mob[open]>summary::after{content:"▴"}
.pol-toc-mob nav{padding:0 4px 8px}
.pol-toc-mob a{display:block;font-size:13px;font-weight:600;color:var(--muted);padding:8px 10px;border-radius:9px;text-decoration:none}
.pol-toc-mob a:hover{background:var(--soft);color:var(--ink)}
.pol-content h2,.pol-content h3{scroll-margin-top:92px}
.pol-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;background:var(--purple);color:#fff;border:0;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px -8px var(--purple);z-index:55}
.pol-top.show{display:flex}
.pol-top svg{width:20px;height:20px}
/* Heading-poor docs (no section TOC): collapse the empty 3rd column on desktop. */
@media (min-width:1081px){ .pol-grid.pol-grid--notoc{grid-template-columns:264px minmax(0,1fr)} }
@media (max-width:1080px){
  .pol-grid{grid-template-columns:264px minmax(0,1fr)}
  .pol-toc{display:none}
  .pol-toc-mob{display:block}
}
@media (max-width:900px){
  .pol-grid{grid-template-columns:1fr;gap:14px;padding-top:14px}
  .pol-side{display:none}
  .pol-mobnav{display:block;width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:14px;font-weight:600;font-family:inherit;background:#fff;color:var(--ink);outline:none;margin-bottom:8px}
  .pol-content{padding:20px;border-radius:16px}
}
