/* ============================================================
   Global Copilot - Legal / trust pages (Privacy, Terms, Security)
   Layers on top of /styles.css (tokens, header, footer, .subhero).
   ============================================================ */

/* body copy sits between --text and --text-dim: the site token is too faint for
   long-form reading (gabe, 2026-09-22) */
.legal-article{--legal-body:#d6d8e0;}
.legal-body{padding:0 0 96px;}
.legal-article{max-width:820px;margin:0 auto;}
.legal-article h2{font-size:26px;font-weight:800;letter-spacing:-.015em;line-height:1.25;margin:56px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--border);scroll-margin-top:90px;}
.legal-article h2:first-of-type{margin-top:8px;}
.legal-article h3{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:30px 0 10px;color:var(--text);}
.legal-article p{font-size:15.5px;line-height:1.7;color:var(--legal-body);margin:0 0 14px;}
.legal-article strong{color:var(--text);font-weight:600;}
.legal-article a{color:var(--teal);transition:color .15s ease;}
.legal-article a:hover{text-decoration:underline;}
.legal-article ul{list-style:disc;margin:0 0 16px;padding-left:24px;}
.legal-article ol{list-style:decimal;margin:0 0 16px;padding-left:24px;}
.legal-article li{font-size:15.5px;line-height:1.65;color:var(--legal-body);margin:6px 0;}
.legal-article li::marker{color:var(--text-faint);}
.legal-article ol li strong,.legal-article ul li strong{color:var(--text);}
.legal-article hr{border:0;border-top:1px solid var(--border);margin:36px 0;}
.legal-article code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;background:var(--bg-panel);border:1px solid var(--border-mid);border-radius:6px;padding:1px 6px;color:var(--text);white-space:nowrap;}
.legal-meta{font-size:14px;color:var(--text-faint);}
.legal-meta a{color:var(--text-dim);}
.legal-meta a:hover{color:var(--text);}
.legal-byline{font-size:14px;color:var(--text-dim);line-height:1.6;margin-bottom:6px;}
.legal-byline strong{color:var(--text);}

/* at-a-glance block */
.legal-article ul.legal-glance{list-style:none;padding:18px 22px;margin:8px 0 28px;background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;display:grid;grid-template-columns:1fr;gap:6px 28px;}
.legal-article ul.legal-glance li{margin:0;font-size:14px;line-height:1.55;}
.legal-article ul.legal-glance strong{color:var(--text);}
@media(min-width:720px){.legal-article ul.legal-glance{grid-template-columns:1fr 1fr;}}

/* table of contents */
.legal-toc{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;padding:20px 24px;margin:28px 0 36px;}
.legal-toc-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px;}
.legal-toc ul{list-style:none;margin:0;padding:0;columns:1;column-gap:32px;}
.legal-toc li{margin:0;padding:4px 0;break-inside:avoid;}
.legal-toc a{font-size:14px;color:var(--text-dim);}
.legal-toc a:hover{color:var(--text);text-decoration:none;}
@media(min-width:640px){.legal-toc ul{columns:2;}}

/* tables */
.legal-table-wrap{overflow-x:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;margin:18px 0 28px;}
.legal-table{width:100%;border-collapse:collapse;font-size:14px;}
.legal-table th{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);text-align:left;padding:13px 18px;background:var(--bg-panel-2);border-bottom:1px solid var(--border-mid);white-space:nowrap;}
.legal-table td{padding:14px 18px;color:var(--legal-body);line-height:1.55;vertical-align:top;border-top:1px solid var(--border);}
.legal-table tr:first-child td{border-top:0;}
.legal-table td strong{color:var(--text);font-weight:600;}
.legal-table td .sub{display:block;font-size:12.5px;color:var(--text-faint);margin-top:2px;}
.legal-table .yes{color:var(--teal);font-weight:600;}
.legal-table .no{color:var(--text-faint);}

/* FAQ */
.legal-faq{display:flex;flex-direction:column;gap:12px;margin:18px 0 28px;}
.legal-faq-item{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;padding:18px 22px;display:grid;gap:8px;}
.legal-faq-item dt{font-size:15px;font-weight:700;color:var(--text);line-height:1.45;}
.legal-faq-item dd{font-size:14px;color:var(--legal-body);line-height:1.65;margin:0;}
.legal-faq-item dd a{color:var(--teal);}
@media(min-width:768px){.legal-faq-item{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:24px;}}

/* callouts */
.legal-callout{border:1px solid rgba(47,212,188,.25);background:rgba(47,212,188,.06);border-radius:14px;padding:16px 20px;margin:18px 0 24px;}
.legal-callout p{margin:0;color:var(--text);font-size:14.5px;}
.legal-callout p + p{margin-top:8px;}

/* numbered flow (uploaded-files pipeline) */
.legal-article ol.legal-flow{list-style:none;padding:0;margin:18px 0 28px;counter-reset:flow;display:grid;gap:10px;}
.legal-flow li{counter-increment:flow;background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;padding:16px 18px 16px 58px;position:relative;margin:0;font-size:14.5px;line-height:1.6;}
.legal-flow li::before{content:counter(flow);position:absolute;left:18px;top:16px;width:26px;height:26px;border-radius:50%;background:var(--gradient);color:#fff;font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.legal-flow li strong{display:block;color:var(--text);margin-bottom:2px;}

/* footer legal links (also used on the homepage footer) */
.footer-bottom a{color:inherit;}
.footer-bottom a:hover{color:var(--text);}

@media(max-width:768px){
  .legal-article h2{font-size:22px;margin-top:44px;}
  .legal-flow li{padding-left:50px;}
  .legal-flow li::before{left:14px;}
}

/* download buttons (PDF / Word) */
.legal-downloads{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.legal-downloads a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text);background:var(--bg-panel);border:1px solid var(--border-mid);border-radius:999px;padding:9px 16px;text-decoration:none;transition:border-color .15s ease,background .15s ease;}
.legal-downloads a:hover{border-color:var(--teal);background:var(--bg-panel-2);text-decoration:none;}
.legal-downloads svg{color:var(--teal);}

/* print / PDF export: the article on white, no chrome */
@media print{
  .legal-article{--legal-body:#2f3440;}
  :root{--bg:#fff;--bg-panel:#f6f7fb;--bg-panel-2:#eef0f6;--border:#d9dce6;--border-mid:#c9cdda;--text:#111318;--text-dim:#2f3440;--text-faint:#6b7280;--teal:#0f766e;}
  html,body{background:#fff!important;color:#111318!important;}
  #site-header,header,footer,.legal-downloads,.legal-toc{display:none!important;}
  .subhero{padding:0 0 12px!important;background:none!important;border:0!important;}
  .subhero h1{font-size:30px!important;color:#111318!important;}
  .grad-text{background:none!important;-webkit-text-fill-color:#0f766e!important;color:#0f766e!important;}
  .hero-sub{color:#2f3440!important;}
  .legal-body{padding:0!important;}
  .legal-article{max-width:none!important;}
  .legal-article h2{break-after:avoid;page-break-after:avoid;margin-top:32px!important;}
  .legal-article h3{break-after:avoid;page-break-after:avoid;}
  .legal-article p,.legal-article li{color:#2f3440!important;font-size:12.5px!important;line-height:1.55!important;}
  .legal-article a{color:#0f766e!important;}
  .legal-table-wrap{overflow:visible!important;break-inside:auto;}
  .legal-table{font-size:11.5px!important;}
  .legal-table th,.legal-table td{padding:8px 10px!important;}
  .legal-table tr{break-inside:avoid;page-break-inside:avoid;}
  .legal-faq-item,.legal-callout{break-inside:avoid;page-break-inside:avoid;}
  .legal-flow li{break-inside:avoid;page-break-inside:avoid;}
}
