/* assets/css/jp-trust-hub.css — Block 41 (2026-05-31)
   Shared design system for the JetPatient Trust hub pages
   (trust-and-methods, trust-status, trust-changelog, trust-security,
   trust-honesty + their sub-pages). Inherits the same palette and type
   scale as the existing trust-and-methods.html. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --navy:#0A2D6E;--navy-lt:#0e3b90;--navy-5:rgba(10,45,110,.05);
  --teal:#00C9C0;--teal-dk:#00A89F;--teal-5:rgba(0,201,192,.07);--teal-15:rgba(0,201,192,.15);
  --amber:#B45309;--amber-bg:#FFF7ED;--amber-bd:#FED7AA;
  --green:#047857;--green-bg:#ECFDF5;--green-bd:#A7F3D0;
  --red:#B91C1C;--red-bg:#FEF2F2;--red-bd:#FECACA;
  --slate:#475569;--slate-bg:#F1F5F9;--slate-bd:#CBD5E1;
  --purple:#6D28D9;--purple-bg:#F5F3FF;--purple-bd:#DDD6FE;
  --off:#F6F8FC;--border:#E4E9F2;--muted:#5A6B8C;--text:#111827
}

html{scroll-behavior:smooth;font-size:17px}
body{font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.55}
a{color:var(--navy);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--teal-dk)}

/* ── topbar / breadcrumb / hero / footer (match trust-and-methods.html) ── */
.trust-topbar{background:var(--navy);color:#fff;font-size:13px}
.trust-topbar-inner{max-width:1100px;margin:0 auto;padding:10px 28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.trust-topbar a{color:#fff;text-decoration:none;opacity:.85}
.trust-topbar a:hover{opacity:1;color:var(--teal)}
.trust-topbar a.active{opacity:1;color:var(--teal)}
.trust-topbar-mark{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.trust-topbar-mark::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--teal)}

.trust-crumb{max-width:1100px;margin:0 auto;padding:18px 28px 0;font-size:13px;color:var(--muted)}
.trust-crumb a{color:var(--muted)}.trust-crumb a:hover{color:var(--navy)}

.trust-hero{max-width:1100px;margin:0 auto;padding:24px 28px 36px}
.trust-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--teal-dk);margin-bottom:14px}
.trust-eyebrow::before{content:'';width:18px;height:2px;background:var(--teal);border-radius:2px}
.trust-hero h1{font-size:clamp(36px,5vw,60px);font-weight:800;line-height:1.07;letter-spacing:-.03em;color:var(--navy);margin-bottom:14px}
.trust-lede{font-size:clamp(16px,1.6vw,19px);line-height:1.65;color:var(--muted);max-width:800px}
.trust-lede strong{color:var(--text);font-weight:700}

.trust-section{max-width:1100px;margin:32px auto 16px;padding:0 28px}
.trust-section h2{font-size:clamp(22px,2.6vw,28px);font-weight:800;color:var(--navy);letter-spacing:-.02em}
.trust-section .sub{margin-top:6px;color:var(--muted);font-size:14.5px;max-width:760px}

.trust-grid{max-width:1100px;margin:0 auto;padding:0 28px 32px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:840px){.trust-grid{grid-template-columns:1fr}}

.trust-prose{max-width:780px;margin:0 auto;padding:0 28px 40px;font-size:16px;line-height:1.7;color:var(--text)}
.trust-prose h2{font-size:24px;font-weight:800;color:var(--navy);margin-top:36px;margin-bottom:12px;letter-spacing:-.018em}
.trust-prose h3{font-size:18px;font-weight:800;color:var(--navy);margin-top:24px;margin-bottom:8px}
.trust-prose p{margin-bottom:14px}
.trust-prose ul,.trust-prose ol{margin-left:1.4em;margin-bottom:14px}
.trust-prose li{margin-bottom:6px}
.trust-prose code{background:var(--slate-bg);padding:2px 6px;border-radius:4px;font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--navy)}
.trust-prose pre{background:var(--off);padding:14px 18px;border-radius:10px;border:1px solid var(--border);overflow-x:auto;margin-bottom:18px}
.trust-prose pre code{background:transparent;padding:0;font-size:13px;color:var(--text)}
.trust-prose blockquote{border-left:3px solid var(--teal);padding:8px 18px;background:var(--teal-5);border-radius:6px;margin-bottom:18px;color:var(--text)}
.trust-prose hr{border:none;border-top:1px solid var(--border);margin:32px 0}

/* ── tile (mirrors trust-and-methods.html .tile) ── */
.trust-tile{background:#fff;border:1.5px solid var(--border);border-radius:20px;padding:24px;position:relative;display:flex;flex-direction:column;gap:14px;transition:all .2s}
.trust-tile:hover{border-color:var(--teal-15);box-shadow:0 6px 24px rgba(10,45,110,.08);transform:translateY(-2px)}
.trust-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.trust-tile-name{font-size:21px;font-weight:800;color:var(--navy);letter-spacing:-.018em}
.trust-tile-tag{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:100px;white-space:nowrap}
.trust-tag-live{background:var(--green-bg);color:var(--green);border:1px solid var(--green-bd)}
.trust-tag-pending{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-bd)}
.trust-tag-planned{background:var(--slate-bg);color:var(--slate);border:1px solid var(--slate-bd)}
.trust-tag-new{background:var(--teal-5);color:var(--teal-dk);border:1px solid var(--teal-15)}
.trust-tile-blurb{font-size:14.5px;color:var(--text);line-height:1.6}
.trust-tile-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted);border-top:1px solid var(--border);padding-top:14px;margin-top:auto}
.trust-tile-meta strong{color:var(--text);font-weight:700}
.trust-tile-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.trust-tile-cta a.primary{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;padding:9px 18px;border-radius:100px;font-weight:700;font-size:13.5px;text-decoration:none}
.trust-tile-cta a.primary:hover{background:var(--navy-lt)}
.trust-tile-cta a.ghost{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--navy);padding:9px 18px;border-radius:100px;font-weight:700;font-size:13.5px;text-decoration:none;border:1.5px solid var(--border)}
.trust-tile-cta a.ghost:hover{border-color:var(--navy);color:var(--navy)}

/* ── status indicators ── */
.trust-status-row{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:14px;margin-bottom:10px}
.trust-status-row .left{display:flex;align-items:center;gap:12px}
.trust-status-row .label{font-weight:700;color:var(--text)}
.trust-status-row .desc{font-size:13px;color:var(--muted)}
.trust-status-row .right{display:flex;align-items:center;gap:10px}
.trust-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.trust-status-dot.ok{background:#10B981;box-shadow:0 0 0 4px rgba(16,185,129,.15)}
.trust-status-dot.warn{background:#F59E0B;box-shadow:0 0 0 4px rgba(245,158,11,.15)}
.trust-status-dot.down{background:#DC2626;box-shadow:0 0 0 4px rgba(220,38,38,.15)}
.trust-status-dot.unknown{background:var(--slate);box-shadow:0 0 0 4px rgba(71,85,105,.15)}

/* ── timeline (changelog) ── */
.trust-timeline{max-width:780px;margin:0 auto;padding:0 28px 40px;position:relative}
.trust-tl-entry{position:relative;padding:18px 0 18px 32px;border-left:2px solid var(--border);margin-left:8px}
.trust-tl-entry::before{content:'';position:absolute;left:-7px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--teal);border:2px solid #fff;box-shadow:0 0 0 2px var(--teal-15)}
.trust-tl-entry.major::before{background:var(--navy);box-shadow:0 0 0 2px rgba(10,45,110,.2)}
.trust-tl-date{font-size:12.5px;font-weight:800;color:var(--teal-dk);letter-spacing:.06em;text-transform:uppercase}
.trust-tl-title{font-size:18px;font-weight:800;color:var(--navy);margin:4px 0 8px;letter-spacing:-.015em}
.trust-tl-body{font-size:14.5px;color:var(--text);line-height:1.6}
.trust-tl-body ul{margin-left:1.2em;margin-top:6px}
.trust-tl-body li{margin-bottom:3px}

.trust-footer{margin-top:8px;border-top:1px solid var(--border);background:var(--off);padding:32px 28px}
.trust-footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;color:var(--muted);font-size:13.5px}
.trust-footer a{color:var(--muted)}.trust-footer a:hover{color:var(--navy)}

.trust-callout{background:var(--off);border:1px solid var(--border);border-radius:16px;padding:20px 22px;margin:18px 0;font-size:14.5px;line-height:1.6}
.trust-callout strong{color:var(--navy)}
.trust-callout.green{background:var(--green-bg);border-color:var(--green-bd)}
.trust-callout.amber{background:var(--amber-bg);border-color:var(--amber-bd)}
