/* ── /terms/ — legal documents + hub ────────────────────────────────────────
   Ported from the retired legal.handled3pl.com site: the document styles are
   renderLegal.ts's LEGAL_STYLE block, the hub styles come from its static
   /legal/policies page. Shares the editorial.css/chrome.css variables. */

/* Hub */
.pol-hero{padding:120px 0 0;}
.pol-head{max-width:680px;margin:0 auto 8px;}
.pol-head .eyebrow{display:inline-block;margin-bottom:16px;}
.pol-h{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.4rem);font-weight:500;letter-spacing:-0.03em;line-height:1.05;margin:0 0 14px;}
.pol-h em{font-style:italic;color:var(--accent);}
.pol-lede{font-size:17px;line-height:1.6;color:var(--ink-2);margin:0;}
.pol-back{font-family:var(--mono);font-size:11px;letter-spacing:0.04em;margin:0 0 18px;}
.pol-back a{color:var(--ink-4);text-decoration:none;}
.pol-back a:hover{color:var(--accent);}
.pol-grid{display:grid;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:48px 0 96px;background:var(--paper-soft);}
@media(min-width:760px){.pol-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:980px){.pol-grid.pol-grid-three{grid-template-columns:repeat(3,1fr);}}
.pol-cell{display:block;padding:30px 28px;border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);text-decoration:none;color:var(--ink);transition:background .15s;}
.pol-cell:hover{background:var(--paper-warm);}
.pol-cell-k{font-family:var(--mono);font-size:10px;color:var(--ink-4);letter-spacing:0.1em;text-transform:uppercase;}
.pol-cell-h{font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:-0.018em;margin:12px 0 8px;display:flex;align-items:center;gap:8px;}
.pol-cell-h .arr{font-size:14px;color:var(--ink-4);transition:transform .15s,color .15s;}
.pol-cell:hover .arr{transform:translate(3px,-3px);color:var(--accent-warm);}
.pol-cell-d{font-size:13.5px;line-height:1.55;color:var(--ink-3);margin:0;}

/* Document pages */
.legal-hero{padding:88px 0 0;}
.legal-wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
@media(min-width:1024px){.legal-wrap{padding:0 40px;}}
.legal-layout{display:grid;gap:48px;align-items:start;padding:56px 0 96px;}
@media(min-width:1000px){.legal-layout{grid-template-columns:240px 1fr;gap:64px;}}
.legal-toc{position:sticky;top:84px;align-self:start;display:none;}
@media(min-width:1000px){.legal-toc{display:block;}}
.legal-toc-h{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.1em;color:var(--ink-4);margin-bottom:16px;}
.legal-toc a{display:block;font-size:13px;color:var(--ink-3);padding:6px 0;line-height:1.4;border-left:1px solid var(--line);padding-left:14px;transition:color .12s,border-color .12s;}
.legal-toc a:hover{color:var(--ink);border-color:var(--accent);}
.legal-back{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-3);margin-bottom:22px;}
.legal-back:hover{color:var(--accent-warm);}
.doc-header h1{font-family:var(--serif);font-size:clamp(2.2rem,3.6vw,3.1rem);font-weight:500;letter-spacing:-0.03em;line-height:1.08;margin:0;}
.doc-header h1 em{font-style:italic;color:var(--accent);}
.revision{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:0.08em;margin-top:14px;}
.preamble{margin:28px 0 8px;padding:22px 24px;background:var(--paper-warm);border:1px solid var(--line);border-radius:12px;}
.preamble p{font-size:15px;line-height:1.65;color:var(--ink-2);margin:0 0 12px;}
.preamble p:last-child{margin-bottom:0;}
.doc-content .section-title{display:flex;align-items:baseline;gap:14px;font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:600;letter-spacing:-0.022em;line-height:1.2;margin:56px 0 18px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:84px;}
.doc-content .section-title .num{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--accent-warm);letter-spacing:0.04em;flex-shrink:0;}
/* Only ## gets the display face. Every level below is one identical
   standard-font style — the number label alone (1.1 / 1.1.1 / (a) / (i))
   signals depth, in one consistent mono treatment. */
.doc-content .sub-title,.doc-content .sub-sub-title,.doc-content .clause-title,.doc-content .point-title,.doc-content .sub-item-title,.doc-content .sub-point-title{font-size:14.5px;font-weight:600;letter-spacing:-0.005em;color:var(--ink);margin:22px 0 8px;max-width:74ch;}
.doc-content .sub-title .num,.doc-content .sub-sub-title .num,.doc-content .clause-title .num,.doc-content .point-title .num,.doc-content .sub-item-title .num,.doc-content .sub-point-title .num{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--accent-warm);letter-spacing:0.04em;margin-right:10px;}
.doc-content p{font-size:14.5px;line-height:1.7;color:var(--ink-2);margin:0 0 14px;max-width:74ch;}
.doc-content ul,.doc-content ol{margin:0 0 16px;padding-left:22px;max-width:74ch;}
.doc-content li{font-size:14.5px;line-height:1.65;color:var(--ink-2);margin-bottom:8px;}
.doc-content a{color:var(--accent);text-decoration:underline;}
.doc-content table{width:100%;border-collapse:collapse;margin:18px 0;font-size:13.5px;}
.doc-content th,.doc-content td{text-align:left;padding:11px 12px;border:1px solid var(--line);vertical-align:top;line-height:1.5;}
.doc-content th{background:var(--paper-warm);font-weight:600;}
.doc-content .caps{font-family:var(--mono);font-size:12px;line-height:1.6;letter-spacing:0.02em;background:var(--paper-warm);border:1px solid var(--line);border-radius:8px;padding:14px 16px;}
.doc-content .use-case{border-top:1px solid var(--line);padding:16px 0;font-size:14.5px;line-height:1.6;color:var(--ink-2);}
.doc-content .use-case strong{display:block;color:var(--ink);margin-bottom:4px;}
.doc-content .legal-basis{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:0.05em;color:var(--accent);background:var(--accent-soft,#EEF1F7);border-radius:999px;padding:2px 9px;margin-left:8px;}
