/* ==========================================================================
   p-partners.css — exp38 partners page ONLY (partners.html).
   Loaded last in that head, after s37-a11y.css. Tokens only; every colour
   comes from the shell so the terminal theme carries it unchanged.

   COLOUR IS A CONTRACT, not decoration:
     --pass   verified. The single --pass on this page is the KI-3 record's
              "fixed" status: the fix is upstream and the record is linked.
     --fail   violated. Unused here: a partner-program page contains no
              violated state of its own.
     --signal affordance ONLY, never a state.
   Everything else is --hair / --hair-strong / --muted / --ink structure.
   ========================================================================== */

/* ---------- 1. shared page rhythm ---------- */
body[data-page="partners"] .pt-body{max-width:66ch;font-size:1.05rem;line-height:1.65;}
body[data-page="partners"] .pt-body p{margin:0 0 1.05rem;}
body[data-page="partners"] .pt-body p:last-child{margin-bottom:0;}
/* mono fine print holds the 12px metadata floor (s37-a11y.css doctrine) */
body[data-page="partners"] .pt-fineline{margin:1.6rem 0 0;font-family:var(--mono);font-size:12px;line-height:1.7;color:var(--muted);max-width:66ch;}
body[data-page="partners"] .pt-links{margin:1.6rem 0 0;display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;}

/* ---------- 2. machine-layer plates (the KI-3 record, the contract tree) -- */
body[data-page="partners"] .pt-pre{
  margin:2rem 0 0;max-width:100%;padding:1.35rem 1.5rem 1.45rem;overflow-x:auto;
  background:var(--card);border:1px solid var(--hair);border-radius:10px;
  font-family:var(--mono);font-size:.83rem;line-height:1.8;color:var(--ink);
  white-space:pre;-webkit-overflow-scrolling:touch;
}
body[data-page="partners"] .pt-pre .c{color:var(--muted);}      /* structural comment */
body[data-page="partners"] .pt-pre .k{color:var(--ink);font-weight:500;}
body[data-page="partners"] .pt-pre .ok{color:var(--pass);}      /* verified: the fix is upstream */

/* ---------- 3. the aside plate (detail the live page hid in disclosures) -- */
body[data-page="partners"] .pt-aside{
  margin:2.4rem 0 0;max-width:74ch;padding:1.35rem 1.5rem 1.45rem;
  background:var(--card);border:1px solid var(--hair);border-radius:10px;
}
body[data-page="partners"] .pt-aside .kicker{margin-bottom:.85rem;}
body[data-page="partners"] .pt-aside p{margin:0 0 .8rem;font-size:.98rem;line-height:1.6;color:var(--ink-60);}
body[data-page="partners"] .pt-aside p:last-child{margin-bottom:0;}
body[data-page="partners"] .pt-aside strong{color:var(--ink);font-weight:600;}

/* ---------- 4. the operating model ---------- */
body[data-page="partners"] .pt-steps{
  margin:2.4rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.7rem 3rem;max-width:74ch;
}
body[data-page="partners"] .pt-step .kicker{margin-bottom:.4rem;}
body[data-page="partners"] .pt-step p{margin:0;font-size:1rem;line-height:1.55;color:var(--ink-60);}
body[data-page="partners"] .pt-model-under{margin:2.4rem 0 0;max-width:66ch;font-size:1.05rem;line-height:1.6;}

/* ---------- 5. the quote ---------- */
body[data-page="partners"] .pt-quote{
  margin:2.2rem 0 0;max-width:62ch;padding-left:1.5rem;
  border-left:1px solid var(--hair-strong);
}
body[data-page="partners"] .pt-quote p{margin:0;font-size:1.15rem;line-height:1.7;color:var(--ink);}

/* ---------- 6. boundary and fit columns ---------- */
body[data-page="partners"] .pt-cols h3{
  margin:0 0 1rem;font-family:var(--mono);font-size:.76rem;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;color:var(--muted);
}
body[data-page="partners"] .pt-cols ul{list-style:none;margin:0;padding:0;}
body[data-page="partners"] .pt-cols li{
  position:relative;padding:.6rem 0 .65rem 1.6rem;font-size:1rem;line-height:1.55;
  border-top:1px solid var(--hair);
}
body[data-page="partners"] .pt-cols li:first-child{border-top:0;padding-top:0;}
body[data-page="partners"] .pt-cols li::before{
  position:absolute;left:0;top:.62rem;font-family:var(--mono);font-size:.9rem;line-height:1.55;
  color:var(--unknown,var(--muted));
}
body[data-page="partners"] .pt-cols li:first-child::before{top:0;}
body[data-page="partners"] .pt-yes li::before{content:"+";color:var(--ink);}
body[data-page="partners"] .pt-no li::before{content:"-";}

/* ---------- 7. the close ---------- */
body[data-page="partners"] .pt-start{display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);gap:2rem 4rem;align-items:start;}
body[data-page="partners"] .pt-start .lead-form .btn{margin-top:1.4rem;}
body[data-page="partners"] .pt-start-side .fine{margin:0 0 .9rem;}
body[data-page="partners"] .pt-start-side .fine:last-child{margin-bottom:0;}

/* ---------- 8. responsive ---------- */
@media (max-width:900px){
  body[data-page="partners"] .pt-start{grid-template-columns:1fr;gap:2.2rem;}
}
@media (max-width:760px){
  body[data-page="partners"] .pt-steps{grid-template-columns:1fr;gap:1.5rem;}
}
@media (max-width:640px){
  body[data-page="partners"] .pt-pre{font-size:.76rem;padding:1.1rem 1.1rem 1.2rem;}
}
