/* ==========================================================================
   p-practice.css — page styles for about.html + trust.html ONLY.
   Prefixes: .pp- shared, .ab- about, .tr- trust.
   Token-fed like every section builder: no colour that is not a shell token.
   Green budget on both pages is zero — nothing here reaches for --pass.
   The only non-ink accent is the trust page's corpus warning card, which
   takes --fail (amber on the tube): it is a caution, and amber is the
   terminal caution channel.
   ========================================================================== */

/* one prose measure for both documents (mirrors p35-method's .mp-body) */
.pp-body{
  margin:0;max-width:62ch;
  font-family:var(--prose);font-size:1.06rem;line-height:1.65;color:var(--ink-60);
  text-wrap:pretty;
}
.pp-body p{margin:0 0 1.05rem;}
.pp-body p:last-child{margin-bottom:0;}
.pp-body strong,.pp-body b{color:var(--ink);font-weight:600;}
.pp-links{margin:1.7rem 0 0;display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;}
.pp-fine{margin:1.2rem 0 0;max-width:70ch;}
.pp-k-sep{color:var(--hair-strong);padding:0 .15em;}

/* the one signature allowed on the about page: page-level, practice-level.
   Same chassis as index's .cl-sig (evidence.css is not loaded here). */
.pp-sig{
  display:flex;align-items:center;gap:1rem;
  margin:clamp(2.4rem,4vw,3.2rem) 0 0;
  font-family:var(--mono);font-size:.75rem;line-height:1.5;color:var(--muted);
}
.pp-sig svg{width:118px;height:auto;flex:0 0 auto;display:block;}
.pp-sig path{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.pp-sig b{color:var(--ink);font-weight:500;}
@media (max-width:640px){
  .pp-sig{flex-wrap:wrap;gap:.8rem;}
}

/* ==========================================================================
   ABOUT
   ========================================================================== */

/* the founder's on-record line: every credential claim routes to a place a
   reader can check. Machine layer, so mono. */
.ab-record{
  margin:1.6rem 0 0;padding-top:1.1rem;border-top:1px solid var(--hair);
  max-width:70ch;font-family:var(--mono);font-size:.78rem;line-height:1.9;
  color:var(--label-text,var(--muted));
}
.ab-record b{color:var(--ink);font-weight:500;letter-spacing:.06em;text-transform:uppercase;}
.ab-record a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--hair-strong);white-space:nowrap;}
.ab-record a:hover{color:var(--signal);border-bottom-color:var(--signal);}
.ab-record .sep{color:var(--hair-strong);padding:0 .4em;}

/* public-instrument tiles: the repo name is the headline because the repo is
   the evidence. Structure only — an instrument is not a state. */
.ab-repo{margin:0 0 .6rem;font-family:var(--mono);font-size:.8rem;font-weight:500;letter-spacing:.02em;}
.ab-repo a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--hair-strong);}
.ab-repo a:hover{color:var(--signal);border-bottom-color:var(--signal);}
.ab-repo-lang{
  display:block;margin-top:.9rem;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--label-text,var(--muted));
}

/* ==========================================================================
   TRUST
   ========================================================================== */

/* reviewer routing: same chassis as method's on-this-page rail (p35-method
   is not loaded here). Four cells, mono, the only affordance in the hero. */
.tr-route{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;margin:clamp(2rem,3.6vw,3rem) 0 0;
  border-top:1px solid var(--hair-strong);border-left:1px solid var(--hair);
}
.tr-route a{
  display:flex;align-items:baseline;gap:.7em;min-width:0;
  padding:.72rem .9rem;text-decoration:none;
  border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);
  font-family:var(--mono);font-size:.72rem;line-height:1.45;letter-spacing:.01em;
  color:var(--ink-60);transition:color .18s ease,background .18s ease;
}
.tr-route a i{
  flex:0 0 auto;font-style:normal;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--label-text,var(--muted));
}
.tr-route a span{min-width:0;}
.tr-route a:hover{color:var(--signal);background:var(--card);}
.tr-route a:hover i{color:var(--signal);}
@media (max-width:900px){
  .tr-route{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* sub-heads inside a trust section: the machine-label voice, hung on the
   prompt rail by the sitewide kicker sweep. Spacing only; .kicker owns type. */
.tr-k{margin:2.6rem 0 1rem;}

/* the corpus warning card. Amber is legitimate here: this is the one caution
   on the page, and amber is the tube's caution channel. 1px border, flat. */
.tr-warn{
  max-width:62ch;margin:1.4rem 0 0;
  border:1px solid var(--fail);background:var(--card);border-radius:10px;
  padding:1.2rem 1.4rem 1.25rem;
}
.tr-warn-k{
  display:flex;justify-content:space-between;gap:1rem;margin:0 0 .8rem;
  font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:var(--label-text,var(--muted));
}
.tr-warn-k .t-warn{color:var(--fail);}
.tr-warn p{margin:0;font-family:var(--prose);font-size:.98rem;line-height:1.62;color:var(--ink-60);}
.tr-warn strong{color:var(--ink);font-weight:600;}
html[data-theme="terminal"] .tr-warn{border-radius:0;box-shadow:inset 0 0 32px rgba(255,176,0,.05);}

/* the commitments panel caption + the promise-not-a-state note */
.tr-commit{margin:1.8rem 0 0;max-width:720px;}
.tr-commit > .kicker{margin-bottom:.9rem;}
.tr-commit .rows{max-width:none;}

/* the model-line close of the continuity section (v8's device, restated) */
.tr-stay{
  margin:1.8rem 0 0;max-width:62ch;
  font-family:var(--prose);font-size:1.18rem;line-height:1.5;font-weight:500;color:var(--ink);
}
.tr-stay em{font-style:normal;font-weight:600;}
