/* ===== Privacy (scoped) ===== */
main#privacy{
    background: linear-gradient(180deg, var(--purple-700), var(--purple-750));
  }
  main#privacy .container{ max-width: 920px; }
  
  /* Headings + intro */
  main#privacy .section-title{ text-align:center; margin:0 0 8px; }
  main#privacy .lead{ text-align:center; margin:6px auto 18px; }
  main#privacy .meta{ text-align:center; opacity:.9; margin-bottom:24px; }
  
  /* Table of contents */
  main#privacy .legal-toc{ margin:10px 0 28px; }
  main#privacy .legal-toc ol{
    margin:0; padding-left:1.2rem;
    columns:2; column-gap:28px;
  }
  @media (max-width:720px){
    main#privacy .legal-toc ol{ columns:1; }
  }
  main#privacy .legal-toc a{ display:inline-block; padding:2px 0; font-weight:700; }
  
  /* Links (on-brand purple) */
  main#privacy a{
    color: var(--purple-300);
    text-decoration: underline;
    text-decoration-thickness: .12em;
    text-underline-offset: .18em;
    text-decoration-color: color-mix(in srgb, var(--purple-300) 70%, transparent);
    transition: color .15s ease, text-decoration-color .15s ease, text-shadow .15s ease;
  }
  main#privacy a:hover{
    color: var(--purple-400);
    text-decoration-color: var(--purple-400);
    text-shadow: 0 0 14px rgba(185,149,255,.28);
  }
  main#privacy a:visited{
    color: color-mix(in srgb, var(--purple-300) 85%, var(--purple-400));
  }
  main#privacy a:active{ color: var(--purple-400); }
  main#privacy a:focus-visible{
    outline:3px solid var(--purple-300);
    outline-offset:2px; border-radius:6px;
  }
  
  /* Type rhythm */
  main#privacy section + section{ margin-top:22px; }
  main#privacy h2{ margin:20px 0 10px; font-weight:800; }
  main#privacy h3{ margin:16px 0 8px; font-weight:800; font-size:1.05rem; }
  main#privacy p{ margin:.4rem 0; line-height:1.75; }
  main#privacy ul{ margin:.4rem 0 .8rem 1.2rem; }
  main#privacy li + li{ margin-top:.2rem; }
  
  /* Callout wrapper (used around the tables) */
  main#privacy .callout{
    margin:12px 0 24px; padding:14px 16px; border-radius:14px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.12);
    overflow:auto;               /* enables horizontal scroll on small screens */
  }
  
  /* Table styling (Appendix A + Purposes table) */
  main#privacy .callout table{
    width:100%; border-collapse:collapse; min-width:640px;
  }
  main#privacy .callout th,
  main#privacy .callout td{
    padding:10px 12px; vertical-align:top;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  main#privacy .callout th{
    text-align:left; font-weight:800;
    background:rgba(255,255,255,.04);
  }
  main#privacy .callout tr:hover td{
    background:rgba(255,255,255,.03);
  }
  
  main#privacy [id]{ scroll-margin-top:88px; }
  