/* Policy pages (Help, Terms, Privacy): header band, "On this page" menu beside a readable column, contact box. */
.pol { background: var(--bg, #f4f5f8); padding-bottom: 60px; }
.pol-wrap { width: min(100% - 2 * var(--gutter, 16px), 1100px); margin: 0 auto; }
.pol-head { padding: calc(var(--header-h, 64px) + 40px) 0 44px; background: linear-gradient(135deg, #2b0f78 0%, #5b17d6 55%, #7a2fb0 100%); color: #fff; }
.pol-eyebrow { margin: 0 0 10px; font: 800 11px/1 var(--dp-sans); letter-spacing: .14em; opacity: .85; }
.pol-head h1 { margin: 0; color: #fff; font: 800 clamp(34px, 6vw, 52px)/1.05 var(--dp-sans); letter-spacing: -.02em; text-transform: none; }
.pol-sub { margin: 12px 0 0; font: 500 16px/1.5 var(--dp-sans); opacity: .9; }

.pol-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 28px; align-items: start; }
@media (min-width: 900px) { .pol-grid { grid-template-columns: 260px minmax(0, 1fr); gap: 36px; } .pol-grid--solo { grid-template-columns: minmax(0, 1fr); } }
.pol-toc { background: #fff; border: 1px solid var(--tm-line, #e6e8ee); border-radius: 18px; padding: 6px 8px; }
@media (min-width: 900px) { .pol-toc { position: sticky; top: calc(var(--header-h, 64px) + 20px); max-height: calc(100vh - var(--header-h, 64px) - 40px); overflow-y: auto; } }
.pol-toc summary { display: flex; align-items: center; min-height: 44px; padding: 0 12px; cursor: pointer; color: var(--ink-soft, #4a5160); font: 800 11px/1 var(--dp-sans); letter-spacing: .12em; text-transform: uppercase; list-style: none; }
.pol-toc summary::-webkit-details-marker { display: none; }
.pol-toc ol { margin: 0; padding: 0 0 8px; list-style: none; }
.pol-toc li a { display: block; padding: 10px 12px; border-radius: 10px; color: var(--ink, #0b0b0d); font: 600 14px/1.35 var(--dp-sans); text-decoration: none; }
.pol-toc li a:hover { background: #eef0ff; color: var(--accent, #313de0); }

.pol-body { min-width: 0; background: #fff; border: 1px solid var(--tm-line, #e6e8ee); border-radius: 24px; padding: clamp(22px, 4vw, 44px); color: var(--ink, #0b0b0d); font: 400 16px/1.75 var(--dp-sans); overflow-wrap: break-word; }
.pol-body h2 { margin: 2.2em 0 .6em; padding-top: .2em; color: var(--ink, #0b0b0d); font: 800 clamp(22px, 3.4vw, 28px)/1.2 var(--dp-sans); letter-spacing: -.01em; text-transform: none; scroll-margin-top: calc(var(--header-h, 64px) + 16px); }
.pol-body h2:first-child { margin-top: 0; }
.pol-body h3 { margin: 1.7em 0 .4em; color: var(--ink, #0b0b0d); font: 700 18px/1.35 var(--dp-sans); text-transform: none; scroll-margin-top: calc(var(--header-h, 64px) + 16px); }
.pol-body p { margin: 0 0 1em; }
.pol-body ul, .pol-body ol { margin: 0 0 1.1em; padding-left: 1.3em; }
.pol-body li { margin: .3em 0; }
.pol-body a { color: var(--accent, #313de0); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.pol-body strong { font-weight: 700; }
.pol-body .pol-scroll { margin: 0 0 1.2em; overflow-x: auto; }
.pol-body .pol-table { width: 100%; margin: 0; border-collapse: collapse; font-size: 15px; }
.pol-body .pol-table td:last-child { white-space: nowrap; }
.pol-body .pol-table td, .pol-body .pol-table th { vertical-align: top; overflow-wrap: normal; word-break: normal; }
.pol-body .pol-table td:first-child { min-width: 180px; }
.pol-body .pol-table th, .pol-body .pol-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--tm-line, #e6e8ee); }
.pol-body .pol-table thead th { background: var(--box, #f1f0fb); color: var(--ink-soft, #4a5160); font: 800 11px/1 var(--dp-sans); letter-spacing: .1em; text-transform: uppercase; }
.pol-body .pol-table thead th:first-child { border-radius: 12px 0 0 0; } .pol-body .pol-table thead th:last-child { border-radius: 0 12px 0 0; }

.pol-foot { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 24px; }
@media (min-width: 900px) { .pol-foot { grid-template-columns: 260px minmax(0, 1fr); gap: 36px; align-items: center; } }
.pol-contact { padding: 22px; border: 1px solid var(--boxline, rgba(49, 61, 224, .12)); border-radius: 20px; background: var(--box-grad, linear-gradient(160deg, #f6f5fd 0%, #ebe9f9 58%, #e3e1f4 100%)); }
.pol-contact h2 { margin: 0 0 6px; font: 800 20px/1.2 var(--dp-sans); text-transform: none; }
.pol-contact p { margin: 4px 0; font: 500 14px/1.5 var(--dp-sans); color: var(--ink-soft, #4a5160); }
.pol-contact a { color: var(--accent, #313de0); font-weight: 700; text-decoration: none; }
.pol-links { display: flex; flex-wrap: wrap; gap: 10px; }
.pol-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border: 1.5px solid #cfd3dc; border-radius: 999px; background: #fff; color: var(--ink, #0b0b0d); font: 700 14px/1 var(--dp-sans); text-decoration: none; white-space: nowrap; }
.pol-links a:hover { border-color: var(--accent, #313de0); }
