/* ============================================================================
   Palmer–Fairview Corridor proposal — component styles
   Scope: everything is namespaced under `.pfc`. Wrap the rendered content in
   <div class="pfc">…</div> (e.g. in your single template, or a shortcode).
   Base prose (h2/h3/p/ul/table) is styled lightly; override freely to match
   your theme. The distinctive bits are .pfc-eyebrow/.pfc-stats/.pfc-note/.pfc-ask.
   ========================================================================== */
.pfc {
  --pfc-ink:#14181C; --pfc-blue:#1A5FB4; --pfc-red:#C0392B; --pfc-green:#16864a;
  --pfc-muted:#5a6068; --pfc-line:#e4e4de; --pfc-paper:#ffffff;
  --pfc-sans: system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --pfc-mono: ui-monospace,"SF Mono","DejaVu Sans Mono",Menlo,Consolas,monospace;
  --pfc-measure: 46rem;
  color:var(--pfc-ink); font-family:var(--pfc-sans); line-height:1.6;
  counter-reset: pfc-sec;
  max-width: var(--pfc-measure); margin-inline:auto; padding-inline:1rem;
}
.pfc > * { max-width:100%; }

/* --- headings: auto-numbered sections (01 ·, 02 ·, …) --- */
.pfc h2 {
  counter-increment: pfc-sec;
  font-size:1.6rem; line-height:1.2; font-weight:700; letter-spacing:-.01em;
  border-bottom:2px solid var(--pfc-ink); padding-bottom:.3rem;
  margin:2.6rem 0 1.1rem;
}
.pfc h2::before {
  content: counter(pfc-sec, decimal-leading-zero) " · ";
  color:var(--pfc-blue); font-family:var(--pfc-mono); font-weight:700;
}
.pfc h3 { font-size:1.12rem; font-weight:700; margin:1.6rem 0 .4rem; }

/* --- eyebrow kicker --- */
.pfc-eyebrow {
  font-family:var(--pfc-mono); font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; color:#9a9a90; margin:2.2rem 0 -.4rem;
}
.pfc-lead { font-size:1.18rem; line-height:1.5; color:#2a2f35; }

/* --- stat strip --- */
.pfc-stats {
  display:grid; grid-template-columns:repeat(5,1fr);
  border:1px solid var(--pfc-line); border-radius:8px; overflow:hidden;
  margin:1.4rem 0 1.6rem;
}
.pfc-stat { padding:.9rem 1rem; border-right:1px solid var(--pfc-line); }
.pfc-stat:last-child { border-right:none; }
.pfc-stat .v { display:block; font-size:1.5rem; font-weight:700; color:var(--pfc-blue); line-height:1; }
.pfc-stat .v.red { color:var(--pfc-red); }
.pfc-stat .v small { font-size:.7rem; font-weight:600; }
.pfc-stat .l { display:block; font-family:var(--pfc-mono); font-size:.62rem; letter-spacing:.05em;
  text-transform:uppercase; color:var(--pfc-muted); margin-top:.5rem; }
@media (max-width:640px){
  .pfc-stats{ grid-template-columns:1fr 1fr; }
  .pfc-stat{ border-bottom:1px solid var(--pfc-line); }
}

/* --- callout notes --- */
.pfc-note {
  border-left:3px solid var(--pfc-blue); background:#f3f7fc;
  padding:.9rem 1.1rem; margin:1.3rem 0; border-radius:0 6px 6px 0; font-size:.97rem;
}
.pfc-note--red { border-left-color:var(--pfc-red); background:#fcf4f3; }
.pfc-note-kicker {
  display:block; font-family:var(--pfc-mono); font-size:.66rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--pfc-muted); margin-bottom:.4rem;
}

/* --- tables --- */
.pfc table { width:100%; border-collapse:collapse; font-size:.92rem; margin:1.1rem 0 1.4rem; display:block; overflow-x:auto; }
.pfc thead th {
  text-align:left; font-family:var(--pfc-mono); font-size:.66rem; letter-spacing:.06em;
  text-transform:uppercase; color:#fff; background:var(--pfc-ink); padding:.6rem .8rem; white-space:nowrap;
}
.pfc tbody td { padding:.55rem .8rem; border-bottom:1px solid var(--pfc-line); vertical-align:top; }
.pfc tbody tr:nth-child(even) td { background:#fafaf8; }

/* --- figures --- */
.pfc figure { margin:1.5rem 0; }
.pfc figure img { width:100%; height:auto; display:block; border:1px solid var(--pfc-line); border-radius:4px; }
.pfc figure figcaption { font-family:var(--pfc-mono); font-size:.72rem; color:var(--pfc-muted); margin-top:.5rem; }

/* --- the ask (dark block) --- */
.pfc-ask {
  background:var(--pfc-ink); color:#fff; padding:1.4rem 1.6rem; border-radius:8px; margin:1.8rem 0;
}
.pfc-ask h3 { color:#fff; margin-top:0; }
.pfc-ask .pfc-eyebrow { color:#8fb6e8; margin-top:0; }
.pfc-ask strong { color:#fff; }
.pfc-ask a { color:#8fb6e8; }
.pfc-ask-contact { margin-top:1rem; padding-top:.8rem; border-top:1px solid #3a4048; }

/* --- fine print / disclaimer --- */
.pfc-fineprint { font-family:var(--pfc-mono); font-size:.72rem; color:#8a8a82; }
.pfc-disclaim {
  font-size:.78rem; color:#8a8a82; line-height:1.45;
  border-top:1px solid var(--pfc-line); padding-top:.8rem; margin-top:1.6rem;
}
