/* =====================================================================
   VGS Hub - legal pages, styled to match the landing design system.
   Shared by privacy-policy / terms-of-service / cookie-policy / dpa /
   data-deletion. English-only by design. Assets load from /site/.
   ===================================================================== */

@font-face { font-family:'Satoshi'; src:url('/site/assets/fonts/Satoshi-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Satoshi'; src:url('/site/assets/fonts/Satoshi-Medium.woff2') format('woff2');  font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Satoshi'; src:url('/site/assets/fonts/Satoshi-Bold.woff2') format('woff2');    font-weight:700; font-style:normal; font-display:swap; }

:root{
  --blue:#1DA2F2; --blue-700:#0B7BC4; --violet:#7C5CF0;
  --ink:#0A0A14; --text:#1B2130; --muted:#66707F;
  --line:#E3E7EF; --soft:#FAFBFD;
  --grad:linear-gradient(120deg,var(--blue),var(--violet));
}
*{ box-sizing:border-box; }
body{
  margin:0; font-family:'Satoshi',Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--text); background:#fff; line-height:1.65; font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}
::selection{ background:rgba(29,162,242,.22); }
.wrap{ max-width:860px; margin:0 auto; padding:40px 24px 96px; }

/* brand row */
.brand{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding-bottom:20px; margin-bottom:34px; border-bottom:1px solid var(--line);
  font-weight:700; letter-spacing:-.02em; color:var(--ink);
}
.brand a{ display:inline-flex; align-items:center; gap:10px; color:inherit; text-decoration:none; }
.brand img{
  width:34px; height:34px; border-radius:50%; object-fit:cover;
  box-shadow:0 0 0 2px #fff, 0 0 0 3.5px rgba(29,162,242,.35), 0 4px 12px -4px rgba(29,162,242,.5);
}
.brand .b{
  background:var(--grad); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.brand .back{
  font-size:.88rem; font-weight:600; color:var(--muted);
  border:1px solid var(--line); border-radius:999px; padding:8px 16px;
  transition:color .15s, border-color .15s, background .15s;
}
.brand .back:hover{ color:var(--ink); border-color:#D2D8E4; background:var(--soft); }

/* type */
h1{
  font-size:clamp(1.9rem,4vw,2.6rem); letter-spacing:-.035em; line-height:1.08;
  margin:0 0 10px; color:var(--ink); font-weight:700;
}
.updated{ color:var(--muted); font-size:.92rem; margin:0; }
.entity{ color:var(--muted); font-size:.86rem; margin-top:8px; line-height:1.55; }
h2{
  font-size:1.3rem; letter-spacing:-.02em; margin:44px 0 12px; padding-top:30px;
  border-top:1px solid var(--line); color:var(--ink); font-weight:700;
}
h3{ font-size:1.04rem; margin:22px 0 6px; color:var(--ink); font-weight:700; }
p,li{ color:var(--text); }
a{ color:var(--blue-700); text-decoration:none; border-bottom:1px solid rgba(29,162,242,.35); transition:border-color .15s, color .15s; }
a:hover{ color:var(--blue); border-color:var(--blue); }
.brand a, .toc a{ border-bottom:none; }
.muted{ color:var(--muted); }

/* cards */
.callout{
  background:linear-gradient(135deg,rgba(29,162,242,.07),rgba(124,92,240,.07));
  border:1px solid rgba(29,162,242,.25); border-radius:16px; padding:18px 20px; margin:24px 0;
}
.toc{
  background:var(--soft); border:1px solid var(--line); border-radius:16px;
  padding:16px 20px; margin:24px 0;
}
.toc a{
  display:inline-block; margin:4px 8px 4px 0; font-size:.88rem; font-weight:600;
  color:var(--blue-700); background:#fff; border:1px solid var(--line);
  border-radius:999px; padding:6px 13px; transition:border-color .15s, color .15s;
}
.toc a:hover{ border-color:rgba(29,162,242,.45); color:var(--blue); }

/* tables */
table{ border-collapse:separate; border-spacing:0; width:100%; margin:18px 0; font-size:.9rem; }
th,td{ border:1px solid var(--line); border-bottom:0; border-right:0; padding:11px 13px; text-align:left; vertical-align:top; }
tr:last-child td{ border-bottom:1px solid var(--line); }
th:last-child, td:last-child{ border-right:1px solid var(--line); }
th{ background:var(--soft); font-weight:700; color:var(--ink); }
table tr:first-child th:first-child{ border-top-left-radius:12px; }
table tr:first-child th:last-child, table tr:first-child td:last-child{ border-top-right-radius:12px; }
table tr:last-child td:first-child{ border-bottom-left-radius:12px; }
table tr:last-child td:last-child{ border-bottom-right-radius:12px; }

code{ background:#F3F5F9; padding:2px 6px; border-radius:6px; font-size:.88em; font-family:ui-monospace,'SF Mono',Menlo,monospace; }
footer{ border-top:1px solid var(--line); margin-top:56px; padding-top:22px; color:var(--muted); font-size:.86rem; }
