/* ==========================================================================
   Legal document treatment — shared by privacy, terms, refund, security.
   Structural rule: blue = TechInRent agency services, gold = AfterCall product.
   The colour is information, not decoration — it tells the reader which
   business the clause governs.
   ========================================================================== */

:root{
  --lgl-gold:#a8801f;
  --lgl-gold-soft:#fdf7e8;
  --lgl-gold-line:#ecd9a5;
}

.lgl-wrap{
  display:grid;
  grid-template-columns:236px minmax(0,1fr);
  gap:60px;
  max-width:1060px;
  margin:0 auto;
  align-items:start;
}
@media(max-width:920px){
  .lgl-wrap{grid-template-columns:1fr;gap:26px}
}

/* ---------- contents rail ---------- */
.lgl-toc{position:sticky;top:92px;font-size:.85rem}
.lgl-toc .lgl-toc-t{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);font-weight:700;margin-bottom:10px;
}
.lgl-toc a{
  display:block;padding:6px 0 6px 14px;
  border-left:2px solid var(--line);
  color:var(--slate);text-decoration:none;line-height:1.35;
  transition:color .15s ease,border-color .15s ease;
}
.lgl-toc a:hover{color:var(--blue);border-left-color:var(--blue)}
.lgl-toc a.on{color:var(--blue);border-left-color:var(--blue);font-weight:600}
.lgl-toc a.g:hover,.lgl-toc a.g.on{color:var(--lgl-gold);border-left-color:var(--lgl-gold)}
.lgl-toc a:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:3px}
.lgl-toc .lgl-toc-part{
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:700;margin:16px 0 6px;padding-left:14px;
}
@media(max-width:920px){
  .lgl-toc{
    position:static;background:var(--bg-soft);
    border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px;
  }
  .lgl-toc a{padding:5px 0 5px 12px}
}

/* ---------- document body ---------- */
.lgl-doc{max-width:69ch}
.lgl-doc p,.lgl-doc li{color:#33404d;font-size:1rem;line-height:1.7}
.lgl-doc ul,.lgl-doc ol{padding-left:1.25rem;margin:.5rem 0 1rem}
.lgl-doc li{margin-bottom:.42rem}
.lgl-doc strong{color:var(--ink);font-weight:650}
.lgl-doc a{color:var(--blue)}

.lgl-meta{
  display:flex;gap:10px;flex-wrap:wrap;align-items:center;
  padding-bottom:18px;margin-bottom:26px;border-bottom:1px solid var(--line);
}
.lgl-meta span{
  font-size:.78rem;color:var(--muted);
  font-variant-numeric:tabular-nums;
}
.lgl-meta span + span::before{content:"·";margin-right:10px;color:var(--line)}
.lgl-intro{
  font-size:1.06rem;line-height:1.65;color:var(--slate);
  margin-bottom:8px;text-wrap:pretty;
}

/* ---------- part divider: which business this governs ---------- */
.lgl-part{margin:52px 0 22px;padding-top:26px;border-top:2px solid var(--line)}
.lgl-part:first-of-type{margin-top:34px}
.lgl-part .k{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;color:var(--blue);
}
.lgl-part.g{border-top-color:var(--lgl-gold-line)}
.lgl-part.g .k{color:var(--lgl-gold)}
.lgl-part h2{
  font-size:1.5rem;margin:6px 0 6px;color:var(--navy);
  letter-spacing:-.01em;text-wrap:balance;
}
.lgl-part p{font-size:.95rem;color:var(--muted);margin:0}

/* ---------- sections ---------- */
.lgl-sec{scroll-margin-top:104px;margin-top:30px}
.lgl-sec h3{
  font-size:1.08rem;color:var(--navy);margin:0 0 .5rem;
  display:flex;gap:10px;align-items:baseline;letter-spacing:-.005em;
}
.lgl-sec h3 .n{
  color:var(--blue);font-variant-numeric:tabular-nums;
  font-size:.85rem;font-weight:700;flex:none;
}
.lgl-sec.g h3 .n{color:var(--lgl-gold)}
.lgl-sec h4{font-size:.96rem;color:var(--ink);margin:1.1rem 0 .35rem}

/* ---------- callout: obligations the reader must not miss ---------- */
.lgl-note{
  background:var(--bg-soft);border:1px solid var(--line);
  border-left:3px solid var(--blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:14px 18px;margin:14px 0;font-size:.94rem;
}
.lgl-note.g{background:var(--lgl-gold-soft);border-color:var(--lgl-gold-line);border-left-color:var(--lgl-gold)}
.lgl-note b{display:block;color:var(--ink);margin-bottom:3px}
.lgl-note p{margin:0;font-size:.94rem}

/* ---------- tables (sub-processors, retention, quotas) ---------- */
.lgl-tbl-wrap{overflow-x:auto;margin:14px 0;border:1px solid var(--line);border-radius:var(--radius-sm)}
.lgl-tbl{width:100%;border-collapse:collapse;font-size:.9rem;min-width:520px}
.lgl-tbl th{
  background:var(--bg-soft);color:var(--navy);font-weight:700;
  text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);
  font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
}
.lgl-tbl td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:#33404d}
.lgl-tbl tr:last-child td{border-bottom:none}
.lgl-tbl td.n{font-variant-numeric:tabular-nums;white-space:nowrap}

/* ---------- footer contact block ---------- */
.lgl-contact{
  margin-top:44px;padding:22px 24px;
  background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);
}
.lgl-contact h3{margin:0 0 6px;font-size:1.05rem;color:var(--navy)}
.lgl-contact p{margin:0;font-size:.95rem}

@media(prefers-reduced-motion:reduce){
  .lgl-toc a{transition:none}
}
