/* Trust pages (Privacy, AI Transparency, Accessibility) — content styles.
   Ported from legacy main.css (.acr / .ait blocks) onto the 3.0 token set
   in styles.css. .pagehead itself lives in pages.css; not duplicated here. */

.page-accessibility main section { padding: 56px 0 76px; }

/* VPAT / Accessibility Conformance Report */
.acr { max-width: 920px; }
.acr .acr-lead { font-size: 1.04rem; line-height: 1.7; color: var(--ink-soft); max-width: 70ch; margin-bottom: 8px; }

.acr h2 {
  font-family: var(--sans); font-weight: 800; font-size: 1.28rem; color: var(--navy);
  margin: 48px 0 6px; padding-bottom: 10px; border-bottom: 2px solid var(--accent);
  display: inline-block; scroll-margin-top: 90px;
}
.acr h2:first-of-type { margin-top: 8px; }
.acr h3 { font-family: var(--sans); font-weight: 800; font-size: 1.04rem; color: var(--navy); margin: 34px 0 12px; }
.acr > p { margin: 0 0 16px; color: var(--ink-soft); line-height: 1.7; max-width: 74ch; }

.acr-table {
  width: 100%; border-collapse: collapse; margin: 14px 0 8px; font-size: .92rem;
  border: 1px solid var(--line); border-radius: var(--r); overflow: hidden;
}
.acr-table caption {
  caption-side: top; text-align: left; font-family: var(--sans); font-weight: 800;
  font-size: 1.04rem; color: var(--navy); margin: 30px 0 12px;
}
.acr-table th, .acr-table td { text-align: left; padding: 12px 16px; vertical-align: top; line-height: 1.6; border-bottom: 1px solid var(--line-soft); }
.acr-table thead th {
  background: color-mix(in srgb, var(--navy) 6%, transparent);
  font-family: var(--sans); font-weight: 800; font-size: .74rem; letter-spacing: .06em;
  text-transform: uppercase; color: var(--navy); border-bottom: 1px solid var(--line);
}
.acr-table tbody tr:last-child td { border-bottom: 0; }
.acr-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--navy) 2.5%, transparent); }
.acr-table code {
  font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace; font-size: .86em;
  background: color-mix(in srgb, var(--navy) 8%, transparent); padding: 1px 5px; border-radius: 5px; color: var(--navy);
}

.acr-kv th { width: 33%; background: color-mix(in srgb, var(--navy) 4%, transparent); color: var(--navy); font-family: var(--sans); font-weight: 700; font-size: .92rem; letter-spacing: 0; text-transform: none; }
.acr-kv td { color: var(--ink-soft); }

.acr-crit { table-layout: fixed; }
.acr-crit col.c-crit { width: 30%; }
.acr-crit col.c-conf { width: 16%; }
.acr-crit col.c-rem { width: 54%; }
.acr-crit td:first-child { font-weight: 600; color: var(--navy); }

.conf { display: inline-block; font-family: var(--sans); font-weight: 700; font-size: .74rem; line-height: 1.3; padding: 3px 9px; border-radius: 999px; white-space: nowrap; border: 1px solid var(--line); }
.conf.supports { color: #1f6b4a; background: color-mix(in srgb, #1f8a5b 12%, transparent); border-color: color-mix(in srgb, #1f8a5b 30%, transparent); }
.conf.partial { color: #9a6a00; background: color-mix(in srgb, #caa01e 16%, transparent); border-color: color-mix(in srgb, #caa01e 40%, transparent); }
.conf.none { color: #a23423; background: color-mix(in srgb, #d4513c 14%, transparent); border-color: color-mix(in srgb, #d4513c 34%, transparent); }
.conf.na, .conf.ne { color: var(--muted); background: color-mix(in srgb, var(--navy) 6%, transparent); border-color: var(--line); }

.acr-terms { list-style: none; margin: 6px 0 8px; padding: 0; display: flex; flex-direction: column; gap: 12px; max-width: 78ch; }
.acr-terms li { display: flex; gap: 11px; align-items: flex-start; color: var(--ink-soft); line-height: 1.65; }
.acr-terms li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); flex: none; margin-top: 9px; }
.acr-terms b { color: var(--navy); }

.acr-legal { margin-top: 8px; }
.acr-legal p { margin: 0 0 16px; color: var(--ink-soft); line-height: 1.7; max-width: 80ch; font-size: .95rem; }
.acr-legal p b { color: var(--navy); }
.acr-legal a { color: var(--coral); }

.acr-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 30px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.acr-print {
  display: inline-flex; align-items: center; gap: 8px; font-family: var(--sans); font-weight: 700;
  font-size: .9rem; color: var(--navy); background: #fff; border: 1px solid var(--line); border-radius: 10px;
  padding: 9px 16px; cursor: pointer; transition: border-color .2s, background .2s;
}
.acr-print:hover { border-color: var(--navy); background: color-mix(in srgb, var(--navy) 4%, transparent); }
.acr-print svg { width: 16px; height: 16px; }

@media (max-width: 680px) {
  .acr-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .acr-crit { min-width: 560px; }
}

/* ====================== PRINT (Accessibility page only) ====================== */
@media print {
  @page { margin: 18mm 16mm; }
  body.page-accessibility #nav,
  body.page-accessibility .foot,
  body.page-accessibility .acr-actions,
  body.page-accessibility .crumb { display: none !important; }
  body.page-accessibility { background: #fff !important; color: #000; font-size: 11pt; }
  body.page-accessibility .pagehead {
    background: #fff !important; color: #000 !important; padding: 0 0 18px !important;
    border-bottom: 2px solid #1B2A4A; margin-bottom: 8px;
  }
  body.page-accessibility .pagehead .eyebrow { color: #1B2A4A !important; }
  body.page-accessibility .pagehead h1 { color: #000 !important; font-size: 22pt; }
  body.page-accessibility .pagehead h1 em { color: #1B2A4A !important; }
  body.page-accessibility .pagehead p { color: #222 !important; }
  body.page-accessibility .pagehead .meta { color: #444 !important; }
  body.page-accessibility main section { padding: 0 !important; }
  body.page-accessibility .acr { max-width: none; }
  body.page-accessibility .acr h2 { color: #000; border-bottom: 1.5pt solid #1B2A4A; font-size: 13pt; margin-top: 22pt; }
  body.page-accessibility .acr h3 { color: #000; }
  body.page-accessibility .acr > p,
  body.page-accessibility .acr .acr-lead,
  body.page-accessibility .acr-legal p,
  body.page-accessibility .acr-terms li { color: #1a1a1a; }
  body.page-accessibility .acr-table { border: 1px solid #999; font-size: 9.5pt; break-inside: auto; }
  body.page-accessibility .acr-table caption { color: #000; font-size: 11.5pt; break-after: avoid; }
  body.page-accessibility .acr-table thead { display: table-header-group; }
  body.page-accessibility .acr-table thead th { background: #eee !important; color: #000; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.page-accessibility .acr-table th,
  body.page-accessibility .acr-table td { border-bottom: 1px solid #bbb; padding: 6px 9px; }
  body.page-accessibility .acr-table tbody tr { break-inside: avoid; }
  body.page-accessibility .acr-table tbody tr:nth-child(even) { background: #f6f6f6 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.page-accessibility .acr-kv th { background: #f0f0f0 !important; color: #000; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.page-accessibility .conf { border: 1px solid #999 !important; background: #fff !important; color: #000 !important; font-weight: 700; padding: 1px 6px; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.page-accessibility .acr code { background: #eee !important; color: #000; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.page-accessibility a { color: #000 !important; text-decoration: none; }
}

/* ============================================================
   AI Transparency page
   ============================================================ */
.page-ai main section,
.page-privacy main section { padding: 56px 0 76px; }

.ait { max-width: 840px; }
.page-ai .pagehead h1,
.page-privacy .pagehead h1 { max-width: none; }

/* print/download utility bar */
.ait-actions {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 0 0 30px;
  padding-bottom: 24px; border-bottom: 1px solid var(--line);
}
.ait-print {
  display: inline-flex; align-items: center; gap: 8px; font-family: var(--sans); font-weight: 700;
  font-size: .9rem; color: var(--navy); background: #fff; border: 1px solid var(--line); border-radius: 10px;
  padding: 9px 16px; cursor: pointer; transition: border-color .2s, background .2s;
}
.ait-print:hover { border-color: var(--navy); background: color-mix(in srgb, var(--navy) 4%, transparent); }
.ait-print svg { width: 16px; height: 16px; }

.ait-lead { font-size: 1.06rem; line-height: 1.75; color: var(--ink-soft); max-width: 72ch; margin: 0 0 4px; }

/* numbered section headings */
.ait-sec { margin-top: 46px; }
.ait-sec:first-of-type { margin-top: 8px; }
.ait-sec h2 {
  font-family: var(--sans); font-weight: 800; font-size: 1.26rem; color: var(--navy);
  margin: 0 0 14px; display: flex; align-items: baseline; gap: 12px; scroll-margin-top: 90px;
}
.ait-sec h2 .n {
  font-family: var(--sans); font-weight: 800; font-size: .82rem; color: var(--accent);
  letter-spacing: .04em; border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent);
  border-radius: 8px; padding: 3px 9px; flex: none; line-height: 1; transform: translateY(-2px);
}
.ait-sec > p { margin: 0 0 16px; color: var(--ink-soft); line-height: 1.75; max-width: 74ch; }
.ait-sec > p:last-child { margin-bottom: 0; }
.ait-sec b { color: var(--navy); }
.ait-sec a { color: var(--accent); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); }
.ait-sec a:hover { border-bottom-color: var(--accent); }

/* core-promise callout */
.ait-callout {
  display: flex; gap: 16px; align-items: flex-start; margin: 8px 0 4px;
  background: color-mix(in srgb, var(--navy) 4%, transparent); border: 1px solid var(--line);
  border-left: 3px solid var(--accent); border-radius: var(--r); padding: 20px 22px;
}
.ait-callout svg { width: 24px; height: 24px; color: var(--accent); flex: none; margin-top: 1px; }
.ait-callout p { margin: 0; color: var(--navy); font-weight: 600; line-height: 1.65; font-size: 1.02rem; max-width: 64ch; }

/* bulleted capability list */
.ait-list { list-style: none; margin: 4px 0 18px; padding: 0; display: flex; flex-direction: column; gap: 11px; max-width: 76ch; }
.ait-list li { position: relative; padding-left: 19px; color: var(--ink-soft); line-height: 1.65; }
.ait-list li::before { content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }

/* definition-style blocks (providers, controls) */
.ait-defs { list-style: none; margin: 6px 0 4px; padding: 0; display: flex; flex-direction: column; gap: 18px; max-width: 78ch; }
.ait-defs li { color: var(--ink-soft); line-height: 1.7; }
.ait-defs .t { display: block; font-family: var(--sans); font-weight: 800; font-size: 1rem; color: var(--navy); margin-bottom: 4px; }

.ait-note {
  margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line);
  font-size: .92rem; color: var(--muted); line-height: 1.7; max-width: 74ch;
}
.ait-note a { color: var(--accent); text-decoration: none; }
.ait-note a:hover { text-decoration: underline; }

/* ====================== PRINT (AI Transparency & Privacy Policy pages) ====================== */
@media print {
  @page { margin: 18mm 16mm; }
  body.page-ai #nav, body.page-privacy #nav,
  body.page-ai .mobile-menu, body.page-privacy .mobile-menu,
  body.page-ai .foot, body.page-privacy .foot,
  body.page-ai .cta-final, body.page-privacy .cta-final,
  body.page-ai .ait-actions, body.page-privacy .ait-actions,
  body.page-ai .crumb, body.page-privacy .crumb { display: none !important; }
  body.page-ai, body.page-privacy { background: #fff !important; color: #000; font-size: 11pt; }
  body.page-ai .pagehead, body.page-privacy .pagehead {
    background: #fff !important; color: #000 !important; padding: 0 0 18px !important;
    border-bottom: 2px solid #1B2A4A; margin-bottom: 8px;
  }
  body.page-ai .pagehead .eyebrow, body.page-privacy .pagehead .eyebrow { color: #1B2A4A !important; background: none !important; border: 0 !important; padding: 0 !important; }
  body.page-ai .pagehead h1, body.page-privacy .pagehead h1 { color: #000 !important; font-size: 22pt; }
  body.page-ai .pagehead h1 em, body.page-privacy .pagehead h1 em { color: #1B2A4A !important; }
  body.page-ai .pagehead p, body.page-privacy .pagehead p,
  body.page-ai .pagehead .meta, body.page-privacy .pagehead .meta { color: #222 !important; }
  body.page-ai main section, body.page-privacy main section { padding: 0 !important; }
  body.page-ai .ait, body.page-privacy .ait { max-width: none; }
  body.page-ai .ait-sec h2, body.page-privacy .ait-sec h2 { color: #000; font-size: 13pt; margin-top: 20pt; break-after: avoid; }
  body.page-ai .ait-sec h2 .n, body.page-privacy .ait-sec h2 .n { color: #000; border-color: #999; }
  body.page-ai .ait-sec > p, body.page-privacy .ait-sec > p,
  body.page-ai .ait-lead, body.page-privacy .ait-lead,
  body.page-ai .ait-list li, body.page-privacy .ait-list li,
  body.page-ai .ait-defs li, body.page-privacy .ait-defs li { color: #1a1a1a; }
  body.page-ai .ait-callout, body.page-privacy .ait-callout {
    background: #f4f4f4 !important; border-color: #999; border-left: 3px solid #1B2A4A;
    -webkit-print-color-adjust: exact; print-color-adjust: exact; break-inside: avoid;
  }
  body.page-ai .ait-callout p, body.page-privacy .ait-callout p { color: #000; }
  body.page-ai .ait-callout svg, body.page-privacy .ait-callout svg { color: #1B2A4A; }
  body.page-ai .ait-sec a, body.page-privacy .ait-sec a { color: #000 !important; border-bottom: 0; }
}
