/* Legal pages (privacy, terms) for os-seller.com. Same design contract as the teaser (index.html):
   the os_client tokens, Inter, light only. A plain reading column; nothing animated, nothing loaded
   from another origin. The @font-face lives inline in each page so the server can hash the font URL. */
:root {
  --txt:#20222f; --muted:#747785; --bg:#f6f7fb; --panel:#ffffff; --line:#e8e9ef;
  --accent:#6954d9; --accent-soft:#f0edfc; --focus-ring:#bdb0f5;
  --nav:#20212d; --nav-fg:#ffffff; --nav-muted:#a3a5b6; --nav-line:#ffffff0c;
  --brand-a:#8270e0; --brand-b:#51409f;
  --shadow-1:0 1px 2px rgba(16,24,40,0.05);
  --r-sm:8px; --r-md:12px; --r-pill:9999px;
  --font:"Inter",-apple-system,"Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; min-width:320px; background:var(--bg); color:var(--txt); font:400 16px/1.7 var(--font); -webkit-font-smoothing:antialiased; }
a { color:var(--accent); overflow-wrap:anywhere; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:3px; border-radius:var(--r-sm); box-shadow:0 0 0 6px var(--focus-ring); }
.wrap { width:min(1160px,100%); margin:0 auto; padding-inline:24px; }
.skip { position:fixed; left:16px; top:-80px; z-index:50; min-height:44px; padding:10px 14px; border-radius:var(--r-sm); background:var(--nav); color:var(--nav-fg); }
.skip:focus { top:12px; }

header.site { background:var(--panel); border-bottom:1px solid var(--line); }
header.site .wrap { display:flex; align-items:center; justify-content:space-between; min-height:68px; gap:16px; }
.brand { display:flex; align-items:center; min-height:44px; gap:10px; color:var(--txt); text-decoration:none; font-weight:700; font-size:18px; }
.brand-mark { width:32px; height:32px; border-radius:var(--r-sm); background:linear-gradient(145deg,var(--brand-a),var(--brand-b)); color:var(--nav-fg); display:grid; place-items:center; font:700 13px/1 var(--font); box-shadow:var(--shadow-1); }
.lang { display:flex; align-items:center; gap:4px; font-size:14px; }
.lang a, .lang span { display:inline-flex; align-items:center; min-height:44px; padding:0 10px; border-radius:var(--r-pill); text-decoration:none; }
.lang a { color:var(--txt); opacity:.72; }
.lang a:hover { opacity:1; }
.lang span[aria-current] { font-weight:600; color:var(--nav); background:var(--accent-soft); min-height:32px; }

main.doc { padding:48px 0 72px; }
.doc .wrap { max-width:792px; }
.doc article { background:var(--panel); border:1px solid var(--line); border-radius:var(--r-md); padding:40px 48px 44px; box-shadow:var(--shadow-1); }
.doc h1 { margin:0 0 8px; font:700 38px/1.15 var(--font); letter-spacing:-.035em; text-wrap:balance; }
.doc .updated { margin:0 0 24px; color:var(--muted); font-size:14px; }
.doc .summary { margin:0 0 28px; padding:16px 18px; border-radius:var(--r-sm); background:var(--accent-soft); font-size:15px; }
.doc .summary p { margin:0; }
.doc .summary p + p { margin-top:8px; }
.doc nav.toc { margin:0 0 32px; padding:0 0 24px; border-bottom:1px solid var(--line); font-size:15px; }
.doc nav.toc h2 { margin:0 0 8px; font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); }
.doc nav.toc ol { margin:0; padding-left:22px; columns:2; column-gap:32px; }
.doc nav.toc li { break-inside:avoid; padding:2px 0; }
.doc h2 { margin:36px 0 10px; font:700 22px/1.3 var(--font); letter-spacing:-.02em; scroll-margin-top:16px; }
.doc h3 { margin:22px 0 6px; font:600 17px/1.4 var(--font); }
.doc p, .doc li { font-size:16px; }
.doc p { margin:0 0 12px; }
.doc ul, .doc ol { margin:0 0 14px; padding-left:22px; }
.doc li { margin:4px 0; }
.doc strong { font-weight:600; }
.doc .table-wrap { overflow-x:auto; margin:0 0 16px; }
.doc table { width:100%; border-collapse:collapse; font-size:15px; }
.doc th, .doc td { text-align:left; vertical-align:top; padding:10px 12px; border-bottom:1px solid var(--line); }
.doc th { font-weight:600; background:var(--bg); }
.doc .contact { margin-top:8px; padding:16px 18px; border:1px solid var(--line); border-radius:var(--r-sm); }
.doc .contact p { margin:0; }

footer.site { border-top:1px solid var(--nav-line); background:var(--nav); color:var(--nav-muted); font-size:14px; }
footer.site .wrap { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; column-gap:24px; min-height:72px; padding-block:8px; }
footer.site nav { display:flex; flex-wrap:wrap; column-gap:18px; }
footer.site nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--nav-fg); opacity:.86; text-decoration:none; }
footer.site nav a:hover { opacity:1; text-decoration:underline; }
footer.site nav a[aria-current] { opacity:1; text-decoration:underline; }

@media (max-width:700px) {
  .wrap { padding-inline:20px; }
  header.site .wrap { min-height:64px; }
  main.doc { padding:20px 0 48px; }
  .doc article { padding:24px 18px 28px; border-radius:var(--r-sm); }
  .doc h1 { font-size:30px; }
  .doc h2 { font-size:20px; margin-top:30px; }
  .doc nav.toc ol { columns:1; }
  footer.site .wrap { flex-direction:column; align-items:flex-start; padding-block:16px; }
}
@media print {
  header.site, footer.site, .skip { display:none; }
  body { background:#fff; }
  .doc article { border:0; box-shadow:none; padding:0; }
}
