/* ══════════════════════════════════════════════════════════════════════════
   RALIERA — LEGAL DOCUMENT KIT
   Shared by privacy.html, terms.html, cookies.html, legal.html.
   Everything else lives in site-v2.css. Tokens only, no new colour.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── HEADER ─────────────────────────────────────────────────────────────── */
.doc-head{max-width:none;}
.doc-head h1{font-size:clamp(34px,4.6vw,58px);max-width:16ch;margin-top:16px;}
.doc-head .lead{font-size:var(--t-lead);color:var(--ink-2);line-height:1.5;
  max-width:52ch;margin-top:18px;}
.doc-switch{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px;}
.doc-switch a{font-size:var(--t-sm);font-weight:500;color:var(--ink-2);
  padding:8px 15px;border:1px solid var(--hair-soft);border-radius:var(--r-pill);
  transition:color .2s ease,border-color .2s ease,background .2s ease;}
.doc-switch a.on{color:var(--ink);background:var(--raised);border-color:var(--hair);}
@media (hover:hover){.doc-switch a:hover{color:var(--ink);border-color:var(--hair);}}

/* ── LAYOUT ─────────────────────────────────────────────────────────────── */
.doc{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(80px,10vw,132px);}
.doc-grid{display:grid;grid-template-columns:224px minmax(0,1fr);
  gap:clamp(32px,5vw,76px);align-items:start;}

/* ── TABLE OF CONTENTS ──────────────────────────────────────────────────── */
.toc{position:sticky;top:104px;}
.toc .mono{display:block;margin-bottom:14px;}
.toc ol{list-style:none;counter-reset:toc;border-left:1px solid var(--hair-soft);}
.toc li{counter-increment:toc;}
.toc a{display:block;font-size:13.5px;line-height:1.4;color:var(--ink-3);
  padding:7px 0 7px 14px;margin-left:-1px;border-left:1px solid transparent;
  transition:color .2s ease,border-color .2s ease;}
.toc a::before{content:counter(toc) ".";margin-right:7px;opacity:.55;}
.toc a.on{color:var(--ink);border-left-color:var(--accent);}
@media (hover:hover){.toc a:hover{color:var(--ink-2);}}

/* ── BODY COPY ──────────────────────────────────────────────────────────── */
.doc-body{max-width:70ch;}
.doc-body section{padding:0;scroll-margin-top:112px;}
.doc-body section + section{margin-top:clamp(44px,5vw,64px);
  padding-top:clamp(30px,3.4vw,40px);border-top:1px solid var(--hair-soft);}
.doc-body h2{font-size:var(--t-h3);max-width:none;margin-bottom:16px;
  scroll-margin-top:110px;}
.doc-body h2 .num{color:var(--ink-3);margin-right:10px;font-variant-numeric:tabular-nums;}
.doc-body h3{font-size:var(--t-body);font-weight:500;margin:30px 0 8px;
  scroll-margin-top:110px;}
.doc-body p,.doc-body li{font-size:var(--t-sm);color:var(--ink-2);line-height:1.75;}
.doc-body p{margin-bottom:13px;}
.doc-body ul,.doc-body ol{margin:0 0 15px;padding-left:0;list-style:none;}
.doc-body ul li{position:relative;padding-left:20px;margin-bottom:9px;}
.doc-body ul li::before{content:"";position:absolute;left:2px;top:11px;
  width:5px;height:1px;background:var(--ink-3);}
.doc-body ol{counter-reset:ordr;}
.doc-body ol li{position:relative;padding-left:26px;margin-bottom:9px;counter-increment:ordr;}
.doc-body ol li::before{content:counter(ordr) ".";position:absolute;left:0;top:0;
  color:var(--ink-3);font-variant-numeric:tabular-nums;}
.doc-body a:not(.btn){color:var(--accent-deep);font-weight:500;}
@media (hover:hover){.doc-body a:not(.btn):hover{text-decoration:underline;text-underline-offset:3px;}}

/* ── THE SHORT VERSION ──────────────────────────────────────────────────── */
.tldr{background:var(--raised);border:1px solid var(--hair-soft);
  border-radius:var(--r-lg);padding:clamp(22px,2.6vw,30px);
  margin-bottom:clamp(40px,4.6vw,58px);}
.tldr .mono{display:block;margin-bottom:14px;}
.tldr ul{margin:0;}
.tldr li{font-size:var(--t-sm);color:var(--ink-2);}
.tldr li strong{color:var(--ink);}

/* ── TABLES ─────────────────────────────────────────────────────────────── */
.doc-table{width:100%;border-collapse:collapse;margin:6px 0 20px;
  font-size:14px;line-height:1.6;}
.doc-table th{text-align:left;font-weight:500;color:var(--ink);
  font-size:var(--t-mono);letter-spacing:0.1em;text-transform:uppercase;
  padding:0 16px 10px 0;border-bottom:1px solid var(--hair);vertical-align:bottom;}
.doc-table td{color:var(--ink-2);padding:13px 16px 13px 0;
  border-bottom:1px solid var(--hair-soft);vertical-align:top;}
.doc-table tr td:first-child{color:var(--ink);font-weight:500;width:32%;}
.doc-table th:last-child,.doc-table td:last-child{padding-right:0;}

/* ── CALLOUT ────────────────────────────────────────────────────────────── */
.note{border-left:2px solid var(--accent);padding:2px 0 2px 18px;margin:18px 0 20px;}
.note p{margin-bottom:0;}
.note p + p{margin-top:10px;}

/* ── LEGAL HUB CARDS ────────────────────────────────────────────────────── */
.hub{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin-top:clamp(34px,4vw,50px);}
.hub-card{display:flex;flex-direction:column;background:var(--raised);border:1px solid var(--hair-soft);
  border-radius:var(--r-lg);padding:clamp(22px,2.4vw,28px);
  transition:border-color .25s ease,transform .25s ease;}
.hub-card h2{font-size:var(--t-h3);max-width:none;margin:14px 0 10px;}
.hub-card p{font-size:var(--t-sm);color:var(--ink-2);line-height:1.65;margin-bottom:18px;}
.hub-card .go{font-size:var(--t-sm);font-weight:500;color:var(--accent-deep);margin-top:auto;}
@media (hover:hover){.hub-card:hover{border-color:var(--hair);transform:translateY(-2px);}}
.hub-meta{margin-top:clamp(44px,5vw,64px);padding-top:26px;
  border-top:1px solid var(--hair-soft);}
.hub-meta p{font-size:var(--t-sm);color:var(--ink-2);line-height:1.7;max-width:62ch;}
.hub-meta a{color:var(--accent-deep);font-weight:500;}

/* ── PRINT ──────────────────────────────────────────────────────────────── */
@media print{
  .nav,.toc,.doc-switch,.foot .links,.btn{display:none!important;}
  .doc-grid{grid-template-columns:1fr;}
  .doc-body{max-width:none;}
  body{background:#fff;}
}

/* ── RESPONSIVE ─────────────────────────────────────────────────────────── */
@media (max-width:940px){
  .doc-grid{grid-template-columns:1fr;gap:0;}
  .toc{position:static;margin-bottom:38px;padding-bottom:30px;
    border-bottom:1px solid var(--hair-soft);}
  .toc ol{columns:2;column-gap:26px;border-left:0;}
  .toc a{padding-left:0;border-left:0;}
  .toc a.on{border-left:0;}
  .doc-body{max-width:none;}
  .hub{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .toc ol{columns:1;}
  .doc-table,.doc-table tbody,.doc-table tr,.doc-table td{display:block;width:100%;}
  .doc-table thead{display:none;}
  .doc-table tr{padding:14px 0;border-bottom:1px solid var(--hair-soft);}
  .doc-table td{border:0;padding:0 0 6px;}
  .doc-table tr td:first-child{width:auto;}
}
