/* Privacy / legal document page — hero meta row, "at a glance" grid, sticky
   section rail and the document body. Ported from reference/Privacy.html;
   privacy template only. Colours come from the shared tokens, so dark mode
   follows theme.css automatically. */

  /* ===== Hero ===== */
  .page-hero h1{font-size:clamp(48px,6.4vw,96px)}
  .page-hero .eyebrow + h1{margin-top:20px}
  .legal-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px 40px;max-width:820px;border-top:1px solid var(--hair);margin-top:48px;padding-top:24px}
  .legal-meta .k{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
  .legal-meta .v{font-size:15px;font-weight:500;color:var(--ink);overflow-wrap:anywhere}

  /* ===== At a glance ===== */
  .glance-s{padding:100px 40px;border-bottom:1px solid var(--hair)}
  .glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0;border-top:1px solid var(--hair);list-style:none;padding:0;margin:32px 0 0}
  .glance li{border-right:1px solid var(--hair);padding:32px 32px 8px 0}
  .glance li:not(:first-child){padding-left:32px}
  .glance li:last-child{border-right:none;padding-right:0}
  .glance b{display:block;font-family:'Inter Tight';font-weight:600;font-size:22px;letter-spacing:-.02em;color:var(--ink);margin-bottom:12px}
  .glance span{font-size:15px;color:var(--ink-2);line-height:1.6}

  /* ===== Document ===== */
  .legal-s{padding:100px 40px;border-bottom:1px solid var(--hair)}
  .legal-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:80px;align-items:start}

  /* section rail */
  .rail ol{position:sticky;top:104px;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;counter-reset:r}
  .rail li{counter-increment:r}
  .rail a{display:flex;gap:12px;align-items:baseline;text-decoration:none;font-size:14px;color:var(--muted);border-top:1px solid var(--hair);padding:11px 0;transition:color .18s ease}
  .rail li:last-child a{border-bottom:1px solid var(--hair)}
  .rail a::before{content:counter(r,decimal-leading-zero);font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.08em;color:var(--hair);transition:color .18s ease}
  .rail a:hover,.rail a:focus-visible,.rail a[aria-current]{color:var(--crimson)}
  .rail a:hover::before,.rail a:focus-visible::before,.rail a[aria-current]::before{color:var(--crimson)}
  .admin-bar .rail ol{top:136px}
  .admin-bar .doc section{scroll-margin-top:128px}

  /* body */
  .doc{min-width:0;display:flex;flex-direction:column;gap:0}
  .doc section{border-top:1px solid var(--hair);padding:44px 0 48px;scroll-margin-top:96px}
  .doc section:first-child{border-top:none;padding-top:0}
  .doc h2{font-family:'Inter Tight';font-weight:700;font-size:34px;letter-spacing:-.028em;line-height:1.12;margin:0 0 20px;color:var(--ink);text-wrap:balance}
  .doc h3{font-family:'Inter Tight';font-weight:600;font-size:19px;letter-spacing:-.015em;margin:34px 0 10px;color:var(--ink)}
  .doc p{font-size:17px;line-height:1.68;color:var(--ink-2);margin:0 0 16px;max-width:66ch}
  .doc p:last-child{margin-bottom:0}
  .doc ul{margin:0 0 16px;padding-left:0;list-style:none;max-width:66ch}
  .doc li{font-size:17px;line-height:1.65;color:var(--ink-2);padding-left:22px;position:relative;margin-bottom:10px}
  .doc li::before{content:'';position:absolute;left:2px;top:.72em;width:7px;height:1px;background:var(--crimson)}
  .doc ol{margin:0 0 16px;padding-left:22px;list-style:decimal;max-width:66ch}
  .doc ol li{padding-left:4px}
  .doc ol li::before{content:none}
  .doc strong{color:var(--ink);font-weight:600}
  .doc a,.legal-meta a{color:var(--crimson);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .18s ease,color .18s ease}
  .doc a:hover,.legal-meta a:hover{color:var(--crimson-2);border-bottom-color:currentColor}
  .doc-foot{font-family:'JetBrains Mono';font-size:12px;letter-spacing:.06em;color:var(--muted);margin-top:32px}

  /* data table */
  .scroller{overflow-x:auto;border-top:1px solid var(--hair);margin:28px 0 8px}
  .scroller:focus-visible{outline:2px solid var(--crimson);outline-offset:3px}
  .doc table{border-collapse:collapse;width:100%;min-width:720px}
  .doc thead th{text-align:left;font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;padding:14px 20px 14px 0;border-bottom:1px solid var(--hair);white-space:nowrap}
  .doc tbody td{padding:16px 20px 16px 0;border-bottom:1px solid var(--hair);vertical-align:top;font-size:15px;line-height:1.55;color:var(--ink-2)}
  .doc tbody td:last-child{padding-right:0}
  .doc tbody td:first-child{color:var(--ink);font-weight:600;white-space:nowrap;font-family:'Inter Tight';font-size:16px}
  .doc .tag{font-family:'JetBrains Mono';font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--muted)}
  .doc .tag.pub{color:var(--crimson)}

  /* callout — the editor's blockquote button renders as the design's note block */
  .doc blockquote{border-left:2px solid var(--crimson);background:var(--white);padding:22px 26px;margin:8px 0 20px;max-width:66ch}
  .doc blockquote p:last-child{margin-bottom:0}

  /* the rail counter needs a touch more contrast than --hair gives in dark */
  [data-theme="dark"] .rail a::before{color:#3A3A3E}

  @media (prefers-reduced-motion: no-preference){
    html{scroll-behavior:smooth}
  }

  @media (max-width:1024px){
    .glance-s,.legal-s{padding:72px 24px}
    .legal-grid{grid-template-columns:1fr;gap:0}
    .rail{display:none}
    .glance{grid-template-columns:1fr 1fr}
    .glance li{padding:28px 24px 20px 0;border-bottom:1px solid var(--hair)}
    .glance li:nth-child(2n){border-right:none;padding-right:0}
    .glance li:not(:first-child){padding-left:0}
    .glance li:nth-child(2n){padding-left:24px}
    .legal-meta{grid-template-columns:1fr 1fr}
  }
  @media (max-width:640px){
    .glance-s,.legal-s{padding:52px 20px}
    .glance{grid-template-columns:1fr}
    .glance li{border-right:none;padding:24px 0 20px}
    .glance li:nth-child(2n){padding-left:0}
    .legal-meta{grid-template-columns:1fr;gap:18px}
    .doc h2{font-size:27px}
    .doc p,.doc li{font-size:16px}
  }
  @media print{
    .nav,.rail,#floating-cta,footer{display:none}
    .page-hero,.glance-s,.legal-s{padding:0 0 18pt;border:none}
    .legal-grid{display:block}
    .doc section{break-inside:avoid}
    .doc table{min-width:0}
  }
