/* ──────────────────────────────────────
   Umowy.AI — landingi produktowe platformy
   /analizator/  /generator/  /sprawdz-firme/  /czat-z-dokumentami/

   Wspólny kręgosłup z /mcp/ (css/mcp-page.css): hero .mcpp-hero,
   sekcje .mcpp-section, nagłówki .mcpp-h2 / .mcpp-lead, karty
   .mcpp-tool, cena .mcpp-price, FAQ .mcpp-faq, porównanie
   .mcp__compare (styles.css). Tu: elementy wspólne dla czterech
   stron (pp-) i elementy charakterystyczne każdego produktu:
   pa- (analizator), pg- (generator), pf- (sprawdź firmę), pc- (czat).
   ────────────────────────────────────── */

/* ══════════════════════ WSPÓLNE (pp-) ══════════════════════ */

.pp-hero__note strong { color: var(--color-text-primary); font-weight: var(--font-semibold); }
.pp-hero__caption {
  margin-top: var(--space-3);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--color-text-tertiary);
  text-align: right;
}

/* Ilustracja w hero (seria bloga: czarne tło zlewa się ze stroną) */
.pp-hero__art img { display: block; width: 100%; height: auto; border-radius: var(--radius-md); }
@media (max-width: 960px) {
  .mcpp-hero__inner .pp-hero__art { order: -1; margin-bottom: var(--space-2); }
}
/* Linia ceny w hero */
.pp-hero__price { margin-top: var(--space-5); font-size: var(--text-small); color: var(--color-text-secondary); line-height: var(--leading-relaxed); }
.pp-hero__price strong { color: var(--color-text-primary); font-weight: var(--font-semibold); }
.pp-hero__price a { color: var(--color-accent); text-decoration: none; }
/* Okres próbny — jedno zdanie pod CTA */
.pp-trial { margin-top: var(--space-3); font-size: var(--text-small); color: var(--color-text-tertiary); }

/* Kroki użytkownika (3–4) */
.pp-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  counter-reset: pp-step;
}
.pp-step {
  position: relative;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-bg-primary);
}
.mcpp-section:not(.mcpp-section--alt) .pp-step { background: var(--color-bg-secondary); }
.pp-step::before {
  counter-increment: pp-step;
  content: "0" counter(pp-step);
  display: block;
  margin-bottom: var(--space-4);
  font-family: var(--font-mono);
  font-size: var(--text-small);
  font-weight: var(--font-bold);
  letter-spacing: 0.04em;
  color: var(--color-accent);
}
.pp-step h3 {
  font-size: var(--text-body-lg);
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-tight);
  margin-bottom: var(--space-2);
}
.pp-step p {
  color: var(--color-text-secondary);
  font-size: var(--text-small);
  line-height: var(--leading-relaxed);
}
.pp-step p + p { margin-top: var(--space-2); }
.pp-step q { quotes: "„" "”"; color: var(--color-text-primary); }
.pp-step strong { color: var(--color-text-primary); font-weight: var(--font-semibold); }

/* Lista „co dostajesz” */
.pp-list { list-style: none; margin: 0; padding: 0; }
.pp-list li {
  position: relative;
  padding: var(--space-3) 0 var(--space-3) 1.5em;
  border-top: 1px solid var(--color-border);
  color: var(--color-text-secondary);
  line-height: var(--leading-relaxed);
}
.pp-list li:last-child { border-bottom: 1px solid var(--color-border); }
.pp-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: var(--space-3);
  font-family: var(--font-mono);
  color: var(--color-accent);
}
.pp-list strong { color: var(--color-text-primary); font-weight: var(--font-semibold); }
.pp-links {
  margin-top: var(--space-5);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
  font-size: var(--text-small);
}
.pp-links a { color: var(--color-accent); text-decoration: none; }
.pp-links a:hover { text-decoration: underline; }
.pp-two {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: start;
}

/* Ciemna makieta (raport / ekran) — w stylu .mcpp-chat z /mcp/ */
.pp-mock {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-md);
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.28) 100%),
    #1a2833;
  overflow: hidden;
  font-size: var(--text-small);
  color: rgba(240, 237, 228, 0.9);
}
.pp-mock__bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.25);
}
.pp-mock__bar span { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, 0.18); }
.pp-mock__bar em {
  margin-left: auto;
  font-style: normal;
  font-family: var(--font-mono);
  font-size: var(--text-mono);
  color: rgba(240, 237, 228, 0.55);
}
.pp-mock__body { padding: var(--space-4); }
.pp-block {
  padding: var(--space-3) var(--space-4);
  border-left: 3px solid rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.04);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}
.pp-block + .pp-block { margin-top: var(--space-3); }
.pp-block--danger { border-left-color: var(--color-danger); }
.pp-block--warning { border-left-color: var(--color-warning); }
.pp-block--ok { border-left-color: #4ade80; }
.pp-block--accent { border-left-color: var(--color-accent); }
.pp-kicker {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(240, 237, 228, 0.55);
  margin-bottom: 4px;
}
.pp-kicker b { font-weight: var(--font-bold); color: rgba(240, 237, 228, 0.9); }
.pp-block--danger .pp-kicker b { color: var(--color-danger); }
.pp-block--warning .pp-kicker b { color: var(--color-warning); }
.pp-block--ok .pp-kicker b { color: #4ade80; }
.pp-block--accent .pp-kicker b { color: var(--color-accent); }
.pp-block__title { font-weight: var(--font-semibold); color: #fff; line-height: var(--leading-normal); margin-bottom: var(--space-2); }
.pp-row { line-height: var(--leading-normal); }
.pp-row + .pp-row { margin-top: 6px; }
.pp-row b {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(240, 237, 228, 0.5);
  font-weight: var(--font-medium);
}
.pp-row strong { color: #fff; font-weight: var(--font-semibold); }
.pp-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  margin-top: var(--space-3);
  font-family: var(--font-mono);
  font-size: var(--text-mono);
  color: rgba(240, 237, 228, 0.6);
}
.pp-ref {
  display: inline-block;
  padding: 0 5px;
  border-radius: 3px;
  background: rgba(34, 211, 238, 0.14);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--color-accent);
  vertical-align: baseline;
}
.pp-cite {
  margin-top: var(--space-2);
  padding-left: var(--space-3);
  border-left: 2px solid rgba(34, 211, 238, 0.5);
  font-style: italic;
  color: rgba(240, 237, 228, 0.75);
}

/* Karty „pod maską” 2×2 */
.mcpp-tools--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mcpp-tool h3 {
  font-size: var(--text-body-lg);
  font-weight: var(--font-semibold);
  letter-spacing: var(--tracking-tight);
  margin-bottom: var(--space-2);
}
.mcpp-tool h3 + p { font-size: var(--text-body); }
.mcpp-section:not(.mcpp-section--alt) .mcpp-tool { background: var(--color-bg-secondary); }
.mcpp-lead a, .pp-step a, .mcpp-tool a { color: var(--color-accent); text-decoration: none; }
.mcpp-lead a:hover, .pp-step a:hover, .mcpp-tool a:hover { text-decoration: underline; }

/* CTA końcowe */
.pp-cta {
  margin-top: var(--space-9);
  padding: var(--space-7);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-bg-secondary);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
}
.mcpp-section--alt .pp-cta { background: var(--color-bg-primary); }
.pp-cta h2 {
  font-size: var(--text-h3);
  font-weight: var(--font-bold);
  letter-spacing: var(--tracking-tight);
  margin-bottom: var(--space-1);
}
.pp-cta p { color: var(--color-text-secondary); }
.pp-cta__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.pp-cta .mcpp-btn { white-space: normal; text-align: center; }

/* Karty czterech modułów na hubie /platforma/ */
.pp-products { padding: var(--space-10) 0; border-top: 1px solid var(--color-border); }
.pp-products__title {
  font-size: var(--text-h2);
  font-weight: var(--font-bold);
  letter-spacing: var(--tracking-tight);
  line-height: var(--leading-tight);
  margin: var(--space-3) 0 var(--space-7);
  max-width: 820px;
}
.pp-products__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.pp-product {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-bg-secondary);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: border-color var(--transition-fast), transform var(--transition-fast);
}
.pp-product:hover { border-color: var(--color-accent); transform: translateY(-2px); }
.pp-product code { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.04em; color: var(--color-accent); }
.pp-product h3 { font-size: var(--text-body-lg); font-weight: var(--font-bold); letter-spacing: var(--tracking-tight); color: var(--color-text-primary); line-height: 1.25; }
.pp-product p { font-size: var(--text-small); line-height: var(--leading-relaxed); }
.pp-product span { margin-top: auto; padding-top: var(--space-2); font-size: var(--text-small); font-weight: var(--font-semibold); color: var(--color-accent); }
@media (max-width: 960px) { .pp-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pp-products__grid { grid-template-columns: 1fr; } }

/* ══════════════════════ ANALIZATOR (pa-) ══════════════════════ */

/* Hero: debata trzech ekspertów nad jedną klauzulą */
.pa-debate { font-size: var(--text-small); }
.pa-debate__clause {
  margin: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-left: 3px solid var(--color-warning);
  background: rgba(255, 167, 38, 0.08);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-style: italic;
  color: rgba(240, 237, 228, 0.85);
  line-height: var(--leading-normal);
}
.pa-debate__clause small {
  display: block;
  margin-bottom: 4px;
  font-style: normal;
  font-family: var(--font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(240, 237, 228, 0.5);
}
.pa-debate__msg {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: var(--space-3);
  margin: 0 var(--space-4) var(--space-3);
  align-items: start;
}
.pa-debate__msg img {
  width: 36px; height: 36px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.18);
}
.pa-debate__msg b {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  color: var(--color-accent);
  margin-bottom: 2px;
}
.pa-debate__msg p { line-height: var(--leading-normal); color: rgba(240, 237, 228, 0.9); }
.pa-debate__verdict {
  margin: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border: 1px solid rgba(34, 211, 238, 0.35);
  border-radius: var(--radius-sm);
  background: rgba(34, 211, 238, 0.08);
}
.pa-debate__verdict b {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-accent);
  margin-bottom: 4px;
}
.pa-debate__verdict p { color: #fff; line-height: var(--leading-normal); }
.pa-debate__verdict span {
  display: block;
  margin-top: 6px;
  font-family: var(--font-mono);
  font-size: var(--text-mono);
  color: rgba(240, 237, 228, 0.6);
}

/* Pipeline: droga Twojej umowy przez system */
.pa-pipeline {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: var(--space-3);
  counter-reset: pa-node;
}
.pa-node {
  position: relative;
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-bg-primary);
  min-height: 100%;
}
.pa-node::before {
  counter-increment: pa-node;
  content: counter(pa-node, decimal-leading-zero);
  display: block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  color: var(--color-text-tertiary);
  margin-bottom: var(--space-3);
}
.pa-node:not(:last-child)::after {
  content: "→";
  position: absolute;
  right: -14px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-mono);
  color: var(--color-accent);
  z-index: 1;
}
.pa-node--key { border-color: rgba(34, 211, 238, 0.4); box-shadow: 0 0 0 1px rgba(34, 211, 238, 0.12) inset; }
.pa-node code {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--color-accent);
  margin-bottom: var(--space-2);
  overflow-wrap: anywhere;
}
.pa-node h3 { font-size: 0.95rem; font-weight: var(--font-semibold); letter-spacing: var(--tracking-tight); margin-bottom: var(--space-2); line-height: 1.25; }
.pa-node p { font-size: 0.8rem; color: var(--color-text-secondary); line-height: var(--leading-normal); }
.pa-areas {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: var(--space-2);
}
.pa-areas span {
  padding: 2px 7px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-full);
  font-family: var(--font-mono);
  font-size: 0.64rem;
  color: var(--color-text-secondary);
}
.pa-pipeline__foot {
  margin-top: var(--space-5);
  font-size: var(--text-small);
  color: var(--color-text-tertiary);
  line-height: var(--leading-relaxed);
}

/* Osiem obszarów z komentarza — pasek ocen x/5 */
.pa-scores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px var(--space-4); margin-top: var(--space-3); }
.pa-score { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; align-items: center; font-size: 0.8rem; }
.pa-score i { font-style: normal; font-family: var(--font-mono); font-size: var(--text-mono); color: var(--color-danger); }
.pa-score i.is-mid { color: var(--color-warning); }
.pa-score u { grid-column: 1 / -1; display: block; height: 4px; border-radius: 2px; background: rgba(255,255,255,0.1); text-decoration: none; overflow: hidden; }
.pa-score u::before { content: ""; display: block; height: 100%; width: var(--w, 40%); background: var(--color-danger); border-radius: 2px; }
.pa-score u.is-mid::before { background: var(--color-warning); }

/* ══════════════════════ GENERATOR (pg-) ══════════════════════ */

/* „Papier”: jasna karta dokumentu na ciemnej stronie — tak wygląda prawdziwy PDF */
.pg-paper {
  background: #fbfbf9;
  color: #1a2a3a;
  border-radius: var(--radius-md);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.08),
    0 30px 80px -30px rgba(0, 0, 0, 0.9);
  overflow: hidden;
  font-size: 0.82rem;
  line-height: 1.5;
}
.pg-paper__head {
  display: flex;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 12px 22px;
  border-bottom: 1px solid #e3e6e8;
  font-family: var(--font-mono);
  font-size: 0.64rem;
  letter-spacing: 0.04em;
  color: #5a6b78;
}
.pg-paper__head b { color: #1a2a3a; font-weight: var(--font-bold); }
.pg-paper__body { padding: 20px 22px 18px; }
.pg-paper__eyebrow { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.08em; text-transform: uppercase; color: #1d7f8f; margin-bottom: 6px; }
.pg-paper__title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: #0f1c28;
  margin-bottom: 4px;
}
.pg-paper__sub { font-family: Georgia, serif; font-style: italic; color: #5a6b78; margin-bottom: 14px; font-size: 0.85rem; }
.pg-paper__par { font-family: Georgia, "Times New Roman", serif; font-size: 0.86rem; text-align: justify; hyphens: auto; }
.pg-paper__par b { display: block; font-family: var(--font-primary); font-weight: var(--font-bold); font-size: 0.84rem; margin: 10px 0 4px; color: #0f1c28; }
.pg-paper__par i { font-style: normal; color: #1d7f8f; font-weight: 700; margin-right: 4px; }
.pg-cite {
  display: inline-block;
  min-width: 15px;
  padding: 0 4px;
  margin-left: 2px;
  border-radius: 3px;
  background: #dcf1f5;
  color: #15616d;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 600;
  text-align: center;
  vertical-align: 2px;
}
.pg-paper__basis {
  margin-top: 14px;
  padding: 10px 14px;
  border-left: 3px solid #1d7f8f;
  background: #eef4f6;
}
.pg-paper__basis b { display: block; font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.08em; text-transform: uppercase; color: #1d7f8f; margin-bottom: 3px; }
.pg-paper__basis > span { display: block; font-size: 0.78rem; color: #1a2a3a; }
.pg-paper__basis .pg-cite { display: inline-block; margin: 0 2px; }
.pg-paper__fill {
  padding: 0 4px;
  border-bottom: 1.5px dashed #c58a1b;
  background: #fff6e0;
  color: #7a5200;
  font-family: var(--font-primary);
  font-size: 0.8rem;
}
.pg-paper__foot {
  display: flex;
  justify-content: space-between;
  padding: 10px 22px;
  border-top: 1px solid #e3e6e8;
  background: #f3f4f2;
  font-size: 0.64rem;
  color: #6b7a86;
}

/* Dwa silniki — karty jak w aplikacji (wybór wersji generatora) */
.pg-engines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.pg-engine {
  position: relative;
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-bg-primary);
  transition: border-color var(--transition-fast);
}
.pg-engine:hover { border-color: var(--color-accent); }
.pg-engine--heavy { border-color: rgba(34, 211, 238, 0.4); }
.pg-engine__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-2); }
.pg-engine__name { font-size: var(--text-h3); font-weight: var(--font-extrabold); letter-spacing: var(--tracking-tight); }
.pg-engine__price { font-family: var(--font-mono); font-size: var(--text-small); color: var(--color-accent); white-space: nowrap; }
.pg-engine__tag { color: var(--color-text-secondary); margin-bottom: var(--space-5); line-height: var(--leading-relaxed); }
.pg-engine__tag strong { color: var(--color-text-primary); font-weight: var(--font-semibold); }
.pg-engine dl { display: grid; grid-template-columns: auto 1fr; gap: 8px var(--space-4); margin: 0; font-size: var(--text-small); }
.pg-engine dt { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-text-tertiary); padding-top: 3px; white-space: nowrap; }
.pg-engine dd { margin: 0; color: var(--color-text-secondary); line-height: var(--leading-normal); }
.pg-engine dd strong { color: var(--color-text-primary); font-weight: var(--font-semibold); }
.pg-engine__note { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--color-border); font-size: var(--text-small); color: var(--color-text-tertiary); line-height: var(--leading-normal); }

/* Fazy generowania — pionowa oś */
.pg-phases { list-style: none; margin: 0; padding: 0; max-width: 820px; counter-reset: pg-phase; }
.pg-phase {
  position: relative;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: var(--space-4);
  padding: var(--space-4) 0;
}
.pg-phase::before {
  counter-increment: pg-phase;
  content: "0" counter(pg-phase);
  font-family: var(--font-mono);
  font-size: var(--text-small);
  font-weight: var(--font-bold);
  color: var(--color-accent);
  padding-top: 2px;
}
.pg-phase::after {
  content: "";
  position: absolute;
  left: 11px;
  top: 34px;
  bottom: -6px;
  width: 1px;
  background: var(--color-border);
}
.pg-phase:last-child::after { display: none; }
.pg-phase h3 { font-size: var(--text-body-lg); font-weight: var(--font-semibold); letter-spacing: var(--tracking-tight); margin-bottom: 4px; }
.pg-phase p { color: var(--color-text-secondary); line-height: var(--leading-relaxed); }
.pg-phase code { font-family: var(--font-mono); font-size: 0.78em; color: var(--color-accent); }
.pg-phase--review { padding: var(--space-4); margin: var(--space-2) 0; border: 1px solid rgba(34, 211, 238, 0.3); border-radius: var(--radius-md); background: rgba(34, 211, 238, 0.05); }
.pg-phase--review::after { display: none; }
.pg-phase--review::before { padding-left: 0; }

/* ══════════════════════ SPRAWDŹ FIRMĘ (pf-) ══════════════════════ */

/* Hero: pierścień oceny i sześć wymiarów */
.pf-score { padding: var(--space-5); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-5); align-items: center; }
.pf-ring {
  --v: 71;
  position: relative;
  width: 128px; height: 128px;
  border-radius: 50%;
  background: conic-gradient(var(--color-warning) calc(var(--v) * 1%), rgba(255, 255, 255, 0.1) 0);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.pf-ring::before {
  content: "";
  position: absolute;
  inset: 11px;
  border-radius: 50%;
  background: #1c2b36;
}
.pf-ring b { position: relative; font-size: 1.9rem; font-weight: var(--font-extrabold); letter-spacing: var(--tracking-tight); color: #fff; line-height: 1; }
.pf-ring b small { font-size: 0.7rem; font-weight: var(--font-regular); color: rgba(240, 237, 228, 0.55); margin-left: 2px; }
.pf-score__badge {
  display: inline-block;
  margin-top: var(--space-2);
  padding: 3px 10px;
  border-radius: var(--radius-sm);
  background: rgba(255, 167, 38, 0.18);
  color: var(--color-warning);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.pf-score__lead { font-weight: var(--font-semibold); color: #fff; line-height: var(--leading-normal); margin-bottom: var(--space-2); }
.pf-score__sub { color: rgba(240, 237, 228, 0.7); font-size: 0.8rem; line-height: var(--leading-normal); }
.pf-bars { display: grid; gap: 7px; padding: 0 var(--space-5) var(--space-5); }
.pf-bar { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; align-items: center; font-size: 0.8rem; }
.pf-bar i { font-style: normal; font-family: var(--font-mono); font-size: var(--text-mono); }
.pf-bar u { grid-column: 1 / -1; display: block; height: 5px; border-radius: 3px; background: rgba(255, 255, 255, 0.1); text-decoration: none; overflow: hidden; }
.pf-bar u::before { content: ""; display: block; height: 100%; width: var(--w, 50%); background: #4ade80; border-radius: 3px; }
.pf-bar--mid u::before { background: var(--color-warning); }
.pf-bar--low u::before { background: var(--color-danger); }

/* Diagram: NIP w środku, sześć źródeł dookoła */
.pf-hub { position: relative; min-height: 520px; }
.pf-hub__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.pf-hub__svg line { stroke: rgba(34, 211, 238, 0.35); stroke-width: 1; stroke-dasharray: 4 4; }
.pf-hub__center {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 180px;
  padding: var(--space-4);
  text-align: center;
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-md);
  background: var(--color-bg-primary);
  box-shadow: var(--shadow-glow);
}
.pf-hub__center code { display: block; font-family: var(--font-mono); font-size: 0.7rem; color: var(--color-accent); margin-bottom: 4px; }
.pf-hub__center b { display: block; font-size: 1.15rem; font-weight: var(--font-extrabold); letter-spacing: var(--tracking-tight); }
.pf-hub__center span { display: block; font-size: 0.72rem; color: var(--color-text-tertiary); margin-top: 4px; }
.pf-src {
  position: absolute;
  width: 27%;
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-bg-primary);
  transform: translate(-50%, -50%);
}
.pf-src code { display: block; font-family: var(--font-mono); font-size: 0.74rem; color: var(--color-accent); margin-bottom: 4px; }
.pf-src p { font-size: 0.78rem; color: var(--color-text-secondary); line-height: var(--leading-normal); }
.pf-src:nth-of-type(1) { left: 15%; top: 16%; }
.pf-src:nth-of-type(2) { left: 15%; top: 50%; }
.pf-src:nth-of-type(3) { left: 15%; top: 84%; }
.pf-src:nth-of-type(4) { left: 85%; top: 16%; }
.pf-src:nth-of-type(5) { left: 85%; top: 50%; }
.pf-src:nth-of-type(6) { left: 85%; top: 84%; }

/* Reprezentacja: kto może podpisać */
.pf-repr { display: grid; gap: var(--space-3); }
.pf-person {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-2) var(--space-4);
  align-items: center;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-bg-primary);
}
.pf-person b { display: block; font-weight: var(--font-semibold); }
.pf-person small { display: block; font-size: 0.78rem; color: var(--color-text-tertiary); }
.pf-person em { font-style: normal; font-size: 0.78rem; color: var(--color-text-secondary); grid-column: 1 / -1; }
.pf-chip {
  display: inline-block;
  padding: 3px 9px;
  border-radius: var(--radius-full);
  font-family: var(--font-mono);
  font-size: 0.64rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: var(--color-text-secondary);
}
.pf-chip--ok { border-color: rgba(74, 222, 128, 0.5); color: #4ade80; }
.pf-chip--joint { border-color: rgba(255, 167, 38, 0.5); color: var(--color-warning); }
.pf-chip--no { border-color: rgba(255, 82, 82, 0.5); color: var(--color-danger); }
.pf-raw {
  margin-top: var(--space-2);
  padding: var(--space-3) var(--space-4);
  border-left: 2px solid var(--color-border-hover);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--color-text-tertiary);
  line-height: var(--leading-normal);
}

/* Zalety / Ryzyka */
.pf-pros { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-3); }
.pf-pros div { padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); background: rgba(255,255,255,0.04); }
.pf-pros b { display: block; font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 6px; }
.pf-pros div:first-child b { color: #4ade80; }
.pf-pros div:last-child b { color: var(--color-warning); }
.pf-pros ul { list-style: none; margin: 0; padding: 0; font-size: 0.8rem; line-height: var(--leading-normal); }
.pf-pros li { padding-left: 14px; position: relative; margin-bottom: 4px; }
.pf-pros div:first-child li::before { content: "✓"; position: absolute; left: 0; color: #4ade80; }
.pf-pros div:last-child li::before { content: "!"; position: absolute; left: 0; color: var(--color-warning); font-weight: 700; }

/* Spis treści raportu — 14 sekcji */
.pf-toc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-8); counter-reset: pf-toc; list-style: none; margin: 0; padding: 0; max-width: 980px; }
.pf-toc li { counter-increment: pf-toc; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: var(--space-3); padding: 9px 0; border-top: 1px solid var(--color-border); font-size: var(--text-small); color: var(--color-text-secondary); line-height: var(--leading-normal); }
.pf-toc li::before { content: counter(pf-toc, decimal-leading-zero); font-family: var(--font-mono); color: var(--color-accent); }
.pf-toc li strong { color: var(--color-text-primary); font-weight: var(--font-semibold); }

/* ══════════════════════ CZAT (pc-) ══════════════════════ */

/* Karty źródeł pod odpowiedzią w hero (uzupełnienie .mcpp-chat z /mcp/) */
.pc-src {
  margin: 0 var(--space-4) var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-sm);
  background: rgba(0, 0, 0, 0.18);
  font-size: 0.8rem;
}
.pc-src b { display: block; font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(240, 237, 228, 0.5); margin-bottom: 4px; }
.pc-src p { color: rgba(240, 237, 228, 0.9); line-height: var(--leading-normal); }
.pc-src p i { font-style: normal; color: #4ade80; font-family: var(--font-mono); font-size: 0.68rem; margin-left: 6px; }
.pc-src q { display: block; quotes: "„" "”"; margin-top: 4px; font-style: italic; color: rgba(240, 237, 228, 0.7); }
.pc-src small { display: block; margin-top: 4px; font-family: var(--font-mono); font-size: 0.66rem; color: rgba(240, 237, 228, 0.55); }

/* Czternaście narzędzi — pogrupowane */
.pc-tools { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.pc-group { padding: var(--space-5); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg-primary); }
.pc-group h3 { font-size: var(--text-small); font-weight: var(--font-semibold); letter-spacing: var(--tracking-tight); margin-bottom: var(--space-3); color: var(--color-text-primary); }
.pc-group h3 span { font-family: var(--font-mono); font-size: 0.68rem; color: var(--color-text-tertiary); margin-left: 6px; font-weight: var(--font-regular); }
.pc-group ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pc-group li { font-size: 0.78rem; color: var(--color-text-secondary); line-height: var(--leading-normal); }
.pc-group code { display: block; font-family: var(--font-mono); font-size: 0.72rem; color: var(--color-accent); overflow-wrap: anywhere; }

/* Portfel umów — tabela */
.pc-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.pc-table th, .pc-table td { padding: 8px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.pc-table th { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(240, 237, 228, 0.5); font-weight: var(--font-medium); }
.pc-table td:first-child { color: #fff; font-weight: var(--font-medium); }
.pc-table tfoot td { border-bottom: none; color: #fff; font-weight: var(--font-semibold); }
.pc-status { display: inline-block; padding: 1px 7px; border-radius: var(--radius-full); font-family: var(--font-mono); font-size: 0.62rem; border: 1px solid rgba(74, 222, 128, 0.5); color: #4ade80; white-space: nowrap; }
.pc-status--soon { border-color: rgba(255, 167, 38, 0.5); color: var(--color-warning); }
.pc-status--off { border-color: rgba(255, 255, 255, 0.2); color: rgba(240, 237, 228, 0.5); }
.pc-flag { display: inline-block; padding: 1px 6px; margin: 1px 2px 1px 0; border-radius: 3px; background: rgba(255, 82, 82, 0.14); color: #ff8a8a; font-size: 0.66rem; white-space: nowrap; }

/* Karta wyceny — zgoda kosztowa */
.pc-quote { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); align-items: center; }
.pc-quote__card { padding: var(--space-5); }
.pc-quote__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-4) 0; }
.pc-quote__grid div { padding: var(--space-3); border-radius: var(--radius-sm); background: rgba(255, 255, 255, 0.05); }
.pc-quote__grid b { display: block; font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(240, 237, 228, 0.5); margin-bottom: 4px; }
.pc-quote__grid span { font-size: 1.05rem; font-weight: var(--font-bold); color: #fff; }
.pc-quote__timer { font-family: var(--font-mono); font-size: var(--text-mono); color: var(--color-warning); margin-bottom: var(--space-3); }
.pc-quote__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pc-quote__btn { padding: 9px 14px; border-radius: var(--radius-sm); font-size: 0.8rem; font-weight: var(--font-semibold); }
.pc-quote__btn--go { background: var(--color-accent); color: #0a0a0a; }
.pc-quote__btn--no { border: 1px solid rgba(255, 255, 255, 0.2); color: rgba(240, 237, 228, 0.8); }
.pc-quote__done { margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px dashed rgba(255, 255, 255, 0.15); font-size: 0.78rem; color: rgba(240, 237, 228, 0.7); }

/* Druga/trzecia grafika: w bloku CTA i jako pas między sekcjami */
.pp-cta--art { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: var(--space-7); }
.pp-cta--art .pp-cta__art img { display: block; width: 100%; height: auto; border-radius: var(--radius-md); }
.pp-band { margin: 0 auto; max-width: 760px; }
.pp-band img { display: block; width: 100%; height: auto; border-radius: var(--radius-md); }
@media (max-width: 760px) { .pp-cta--art { grid-template-columns: 1fr; } .pp-cta--art .pp-cta__art { order: -1; } }

/* ══════════════════════ RESPONSYWNOŚĆ ══════════════════════ */
@media (max-width: 1100px) {
  .pa-pipeline { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pa-node:nth-child(4)::after { display: none; }
}
@media (max-width: 960px) {
  .pp-steps, .pc-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-two, .pc-quote, .pg-engines { grid-template-columns: 1fr; }
  .mcpp-tools--2 { grid-template-columns: 1fr; }
  .pf-toc { grid-template-columns: 1fr; }
  .pf-hub { min-height: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
  .pf-hub__svg { display: none; }
  .pf-hub__center { position: static; transform: none; width: auto; grid-column: 1 / -1; }
  .pf-src { position: static; transform: none; width: auto; }
}
@media (max-width: 600px) {
  .pp-steps, .pc-tools, .pa-pipeline, .pf-hub, .pa-scores, .pf-pros { grid-template-columns: 1fr; }
  .pa-node:not(:last-child)::after { content: "↓"; right: auto; left: 50%; top: auto; bottom: -16px; transform: translateX(-50%); }
  .pa-pipeline { gap: var(--space-5); }
  .pp-cta { padding: var(--space-5); }
  .pf-score { grid-template-columns: 1fr; justify-items: start; }
  .pc-quote__grid { grid-template-columns: 1fr; }
  .pg-engine dl { grid-template-columns: 1fr; gap: 2px; }
  .pg-engine dt { padding-top: var(--space-2); }
}
