/* =========================================================
   Privacy policy and terms (AGB) — a long legal text: contents on the left that
   stay in view, the text on the right in the site's type scale
   ========================================================= */

.legal-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:72px;align-items:start;padding-bottom:40px}

/* ---------- Contents ---------- */
.legal-toc{position:sticky;top:104px;max-height:calc(100dvh - 124px);overflow-y:auto;padding-top:6px}
.legal-toc .eyebrow{color:var(--ink-4);margin-bottom:14px}
.legal-toc ol{list-style:none;margin:0;padding:0}
.legal-toc a{display:flex;gap:14px;padding:7px 0;font-size:14px;line-height:1.45;color:var(--ink-3)}
.legal-toc a:hover{color:var(--blue)}
/* Numbered like the steps on the landing page */
.legal-toc a span{font-family:var(--mono);font-size:11.5px;line-height:1.75;color:var(--ink-4);flex:none}
.legal-toc a:hover span{color:var(--blue)}

/* ---------- Text ---------- */
.legal{min-width:0}
.legal > p:first-child{font-size:18px;line-height:1.6;color:var(--ink-2);margin:0 0 8px}
.legal section{padding:34px 0 10px;border-top:1px solid var(--line);scroll-margin-top:96px}
.legal section:first-of-type{margin-top:28px}
.legal h2{font-family:var(--disp);font-weight:700;font-size:26px;line-height:1.2;letter-spacing:-.015em;color:var(--ink);margin:0 0 18px}
.legal h3{font-size:17px;font-weight:700;line-height:1.4;color:var(--ink);margin:26px 0 10px}
.legal p,.legal li,.legal address{font-size:16px;line-height:1.7;color:var(--ink-2);overflow-wrap:anywhere}
.legal p{margin:0 0 16px}
.legal strong{font-weight:600;color:var(--ink)}
.legal a{text-decoration:underline;text-decoration-color:rgba(0,79,255,.3);text-underline-offset:3px}
.legal a:hover{text-decoration-color:currentColor}

/* Addresses as a small tinted card */
.legal address{font-style:normal;background:var(--bg-tint);border:1px solid var(--line-2);border-radius:var(--r-s);
  padding:16px 20px;margin:0 0 16px;display:inline-block;min-width:min(320px,100%)}

/* Bullets as the site's blue dots (design-system .list / .dot-acc) */
.legal ul{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:9px}
.legal li{position:relative;padding-left:22px}
.legal li::before{content:"";position:absolute;left:2px;top:.72em;width:7px;height:7px;border-radius:50%;background:var(--blue)}

/* ---------- Numbered clauses (AGB) ----------
   The clause number in its own column, so the text lines up down the page. */
.legal .clause{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px}
.legal .clause > span:first-child{font-family:var(--mono);font-size:13px;line-height:2.05;color:var(--ink-4)}

/* ---------- Retention table ---------- */
.legal-table{overflow-x:auto;margin:6px 0 20px;border:1px solid var(--line);border-radius:var(--r-s);background:#fff}
.legal-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6;text-align:left}
.legal-table caption{caption-side:top;text-align:left;padding:14px 18px 0;font-size:14px;color:var(--ink-3)}
.legal-table th,.legal-table td{vertical-align:top;padding:14px 18px;border-top:1px solid var(--line-2);color:var(--ink-2)}
.legal-table thead th{border-top:0;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-4);padding-top:16px}
.legal-table tbody th{width:38%;font-weight:600;color:var(--ink)}

@media (max-width:900px){
  .legal-layout{grid-template-columns:minmax(0,1fr);gap:28px}
  .legal-toc{position:static;max-height:none;overflow:visible;padding:18px 20px;
    background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--r-s)}
  .legal-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .legal-toc a{font-size:13.5px}
  .legal h2{font-size:22px}
  .legal p,.legal li,.legal address{font-size:15.5px}
}
@media (max-width:520px){
  .legal-toc ol{grid-template-columns:1fr}
}
