:root {
  --bg: #ffffff;
  --fg: #0f172a; /* slate-900 */
  --muted: #475569; /* slate-600 */
  --line: #e2e8f0; /* slate-200 */
  --accent: #2563eb; /* blue-600 */
  --accent-2: #0ea5e9; /* sky-500 */
  --card: #f8fafc; /* slate-50 */
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0b1220;
    --fg: #e5e7eb;
    --muted: #94a3b8;
    --line: #1f2937;
    --accent: #60a5fa;
    --accent-2: #38bdf8;
    --card: #0f172a;
  }
}
a { 
    color: #1675c0;
    text-decoration: none;
}
a:hover { 
    color: #3399CC;  
    text-decoration: none;
}
.meta {
    color: var(--muted);
    font-size: 14px;
    display: block;
    margin: 15px auto;
    max-width: 360px;
    text-align: center;
    font-weight: 300;
}
.toc {
    margin: 24px 0; 
    padding: 16px 18px;    
    border: 1px solid var(--line); 
    border-radius: 16px; 
    background: var(--card);

}
.toc h2 {
  margin: 0 0 8px;
  font-size: 16px;
  color: var(--muted);
  font-weight: 600;
}
.toc ol { 
  margin: 0; 
  padding-left: 18px; 
  columns: 2; 
  column-gap: 32px;
}
.toc li { 
  break-inside: avoid; 
  padding: 2px 0;
}
@media (max-width: 720px) {
  .toc ol { 
    columns: 1;
  }  
}
section {
  scroll-margin-top: 96px;
}

section.research article div.wrapper section.gdpr h2 { 
  margin-top: 24px; 
  margin-bottom: 8px;  
  font-size: clamp(20px, 2.2vw, 26px); 
}
section.research article div.wrapper section.gdpr h3 { 
  margin-top: 18px;
  margin-bottom: 6px;  
  font-size: 18px;
}
p { 
  margin: 8px 0 10px;
}
ul, ol { 
  margin: 6px 0 16px 20px;
}
code.inline { 
  padding: 1px 6px;   
  background: color-mix(in oklab, var(--card) 70%, transparent); 
  border-radius: 8px; 
  border: 1px solid var(--line);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;   
}
.note { 
  padding: 8px 12px 8px 20px;
  border-left: 3px solid #2ca8df;
  background: color-mix(in oklab, var(--card) 85%, transparent);
  border-radius: 0 4px 4px 0;
}
table {
  width: 100%;
  margin: 12px 0 18px;  
  border-collapse: collapse;
}
th, td {
  padding: 10px 12px;  
  border: 1px solid var(--line);
  vertical-align: top;
}
th {
  background: color-mix(in oklab, var(--card) 85%, transparent);
  text-align: left;
}
section.gdpr table th,
section.gdpr table tr td strong,
section.gdpr p strong {
    font-weight: 300;
}
section.gdpr table th,
section.gdpr table tr td,
section.gdpr table * {
    font-size: 14px !important;
}
@media print {
  header.site, .backtop, .toc {
    display: none !important;
  }
  body { 
    background: #ffffff; 
    color: #000;
  }
  a {
    color: #000;
    text-decoration: none;
  }
  .container {
    padding: 0;
  }
}
section#data-categories h2, 
section#data-categories h3 {
    margin-bottom: 30px;
}
section.gdpr ul li {
    margin-bottom: 10px;
}
section.gdpr ul li strong {
    font-weight: 300;
}
footer div.columns div.column.right a {
    color: #111;
}