/* Privacy policy and Terms: same tokens as the landing (site.css). */
.legal-hero{position:relative;background:#F4F6FA;padding-top:68px;overflow:hidden}
.legal-hero-inner{position:relative;max-width:1200px;margin:0 auto;padding:88px 24px 72px;display:flex;flex-direction:column;gap:20px}
.legal-hero h1{font-weight:600;font-size:clamp(44px,6vw,80px);line-height:1;letter-spacing:-0.035em;max-width:900px;text-wrap:balance}
.legal-hero .sub{font-size:20px;line-height:30px;color:#5B667A;max-width:640px;text-wrap:pretty}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.legal-meta span{display:flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:999px;background:#FFFFFF;box-shadow:inset 0 0 0 1px #D5DCE8;font-size:14px;color:#16223A}
.legal-meta i{width:8px;height:8px;border-radius:999px;background:#2D5BE3}

.doc-switch{position:relative;display:inline-flex;padding:4px;border-radius:999px;background:#FFFFFF;box-shadow:inset 0 0 0 1px #D5DCE8;align-self:flex-start}
.doc-switch a{height:40px;min-width:120px;padding:0 18px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;color:#5B667A;box-sizing:border-box}
.doc-switch a:hover{color:#16223A}
.doc-switch a[aria-current]{background:#16223A;color:#FFFFFF}

/* The short version: same treatment as the landing's privacy band. */
.short{background:#0E1626;color:#FFFFFF;position:relative;overflow:hidden}
.short-inner{position:relative;max-width:1200px;margin:0 auto;padding:72px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px 64px;align-items:start}
.short .eyebrow{color:#7B9BFF}
.short h2{font-weight:600;font-size:clamp(30px,3.6vw,44px);line-height:1.1;letter-spacing:-0.02em;margin-top:14px;text-wrap:balance}
.short ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.short li{display:flex;gap:14px;padding:16px 0;border-bottom:1.5px dashed #2A3650;font-size:16px;line-height:24px;color:#FFFFFF}
.short li:last-child{border-bottom:none}
.short li jb-icon{color:#7B9BFF;margin-top:1px}

/* Body: sticky contents on the left, the text on the right. */
.doc{max-width:1200px;margin:0 auto;padding:96px 24px 120px;box-sizing:border-box;width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
@media (min-width:960px){.doc{grid-template-columns:260px minmax(0,1fr);gap:80px}}
.toc{display:none}
@media (min-width:960px){.toc{display:flex;flex-direction:column;gap:2px;position:sticky;top:100px;align-self:start;max-height:calc(100vh - 140px);overflow-y:auto;scrollbar-width:none}}
.toc .eyebrow{margin-bottom:14px}
.toc a{display:flex;gap:12px;align-items:baseline;padding:7px 0;font-size:15px;line-height:20px;color:#5B667A;transition:color .3s ease}
.toc a span{font:400 12px/16px 'IBM Plex Mono',monospace;color:#B9C2D3;letter-spacing:.04em;transition:color .3s ease}
.toc a:hover{color:#16223A}
.toc a.on{color:#16223A;font-weight:500}
.toc a.on span{color:#2D5BE3}

.prose{max-width:720px;font-size:17px;line-height:28px;color:#16223A}
.prose section{padding:40px 0;border-top:1.5px dashed #D5DCE8;scroll-margin-top:84px}
.prose section:first-child{border-top:none;padding-top:0}
.prose .num{font:400 13px/16px 'IBM Plex Mono',monospace;color:#2D5BE3;letter-spacing:.06em}
.prose h2{font-weight:600;font-size:clamp(26px,2.6vw,32px);line-height:1.15;letter-spacing:-0.015em;margin:10px 0 16px;text-wrap:balance}
.prose h3{font-weight:600;font-size:19px;line-height:26px;margin:28px 0 8px}
.prose p{margin:0 0 14px;color:#16223A;text-wrap:pretty}
.prose ul{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.prose ul li{position:relative;padding-left:22px;color:#16223A}
.prose ul li::before{content:'';position:absolute;left:4px;top:11px;width:6px;height:6px;border-radius:999px;background:#2D5BE3}
.prose strong{color:#16223A;font-weight:600}
.prose a{text-decoration:underline;text-decoration-color:#B9C8F5;text-underline-offset:3px}
.prose a:hover{text-decoration-color:#1F47C2}

.note{display:flex;gap:14px;padding:18px 20px;border-radius:16px;background:#F4F6FA;margin:4px 0 18px;font-size:16px;line-height:25px;color:#16223A}
.note jb-icon{color:#2D5BE3;margin-top:1px}

.table{width:100%;border-collapse:collapse;margin:6px 0 18px;font-size:15px;line-height:22px}
.table th{text-align:start;font:400 12px/16px 'IBM Plex Mono',monospace;color:#5B667A;letter-spacing:.06em;padding:0 16px 12px 0;text-transform:uppercase}
.table td{padding:14px 16px 14px 0;border-top:1.5px dashed #D5DCE8;vertical-align:top;color:#16223A}
.table td:first-child{color:#16223A;font-weight:500}
@media (max-width:640px){
  .table thead{display:none}
  .table tr{display:flex;flex-direction:column;border-top:1.5px dashed #D5DCE8;padding:12px 0}
  .table td{border:none;padding:2px 0}
}

.contact-card{margin-top:8px;border-radius:24px;background:#2D5BE3;color:#FFFFFF;padding:32px;display:flex;flex-direction:column;gap:10px}
.contact-card b{font-weight:600;font-size:22px;letter-spacing:-0.01em}
.contact-card p{color:#E8EEFD;margin:0}
.contact-card a{color:#FFFFFF;font-weight:600;text-decoration:underline;text-decoration-color:rgba(255,255,255,.5);text-underline-offset:3px}
.contact-card a:hover{color:#FFFFFF;text-decoration-color:#FFFFFF}
