/* Policy and support pages (/privacy/, /terms/, /refund-policy/, /contact/, /partners/terms|privacy|faq/):
   long-form prose, numbered sections, an on-page table of contents, and print styles. site.css tokens only. */
@layer components{
  .legal-hero .notice{margin-top:22px;max-width:72ch}
  .legal-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:16px;font:500 .8rem/1.4 var(--f-mono);color:var(--muted)}
  .legal-meta b{color:var(--ink-2);font-weight:600}

  .legal-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
  @media (min-width:1000px){.legal-layout:not(.legal-solo){grid-template-columns:15rem minmax(0,72ch)}}

  .toc{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);padding:18px 20px}
  @media (min-width:1000px){.toc{position:sticky;top:calc(var(--hdr) + 20px);max-height:calc(100dvh - var(--hdr) - 40px);overflow:auto}}
  .toc-title{font:600 .74rem/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
  .toc ol{margin:0;padding-left:1.4em;display:grid;gap:8px;font-size:.92rem;color:var(--muted)}
  .toc a{color:var(--ink-2);text-decoration:none}
  .toc a:hover,.toc a:focus-visible{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}

  .prose{max-width:72ch;counter-reset:sec;font-size:1.02rem;line-height:1.7;color:var(--ink-2);overflow-wrap:anywhere}
  .prose > h2{counter-increment:sec;scroll-margin-top:calc(var(--hdr) + 16px);margin:2.4em 0 .6em;font:650 clamp(1.25rem,1.1rem + .6vw,1.6rem)/1.25 var(--f-display);letter-spacing:-.015em;color:var(--ink)}
  .prose > h2:first-child{margin-top:0}
  .prose > h2::before{content:counter(sec) ".";display:inline-block;min-width:2.1em;color:var(--accent-text);font-family:var(--f-mono);font-size:.8em;font-weight:600}
  .prose.prose-plain > h2::before{content:none}
  .prose h3{margin:1.6em 0 .4em;font:600 1.08rem/1.3 var(--f-display);color:var(--ink)}
  .prose p,.prose ul,.prose ol,.prose dl{margin:0 0 1em}
  .prose ul,.prose ol{padding-left:1.4em;display:grid;gap:.4em}
  .prose li::marker{color:var(--muted)}
  .prose strong{color:var(--ink);font-weight:650}
  .prose a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
  .prose a:hover{text-decoration-thickness:2px}
  .prose .card{margin:0 0 1.4em}
  .prose .facts{margin:0}
  .prose .faq{margin:0 0 1.6em}
  .prose .faq summary{color:var(--ink)}
  .prose .flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0;list-style:none;font:500 .86rem/1.3 var(--f-mono)}
  .prose .flow li{padding:6px 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink)}
  .prose .flow li + li::before{content:"\2192";margin-right:8px;color:var(--muted)}
  .pending{display:block;padding:12px 16px;border-left:3px solid var(--warn);background:var(--surface-2);border-radius:0 var(--r-s) var(--r-s) 0;color:var(--ink-2)}
  .legal-tracks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:14px;margin:0 0 1.6em}
  .legal-tracks .card{margin:0}
  .legal-tracks a{text-decoration:none;color:var(--ink)}
  .legal-tracks a:hover h3{color:var(--accent-text)}
  .legal-tracks h3{margin:0 0 6px}
  .legal-tracks p{font-size:.94rem;margin:0}
}

@media print{
  :root{color-scheme:light}
  body{background:var(--surface);color:var(--ink);font-size:11pt}
  .site-header,.site-footer,.skip,.toc,.page-hero::before,.page-hero::after{display:none !important}
  .page-hero{padding-block:0 12pt}
  .legal-layout{display:block}
  .section-tight{padding-block:0}
  .prose{max-width:none;font-size:11pt;line-height:1.5;color:var(--ink)}
  .prose > h2{break-after:avoid;margin-top:16pt}
  .prose li,.prose p{break-inside:avoid}
  .prose a[href^="http"]::after,.prose a[href^="mailto:"]::after{content:" (" attr(href) ")";font-size:.85em;color:var(--muted)}
  .card,.notice{box-shadow:none;break-inside:avoid}
  .faq details > *:not(summary){display:block}
}
