/* ---------- Portfolio (Nov 10, 2026) ---------- */
.pf-hero .lede { max-width: 62ch; }
.pf-biz { margin: 18px 0 0; color: var(--brass); font: 500 0.95rem/1.5 var(--mono); letter-spacing: 0.04em; }

/* Results: stat tiles */
.pf-stats { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 620px) { .pf-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pf-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pf-stat { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 20px 20px 16px; background: var(--card); border: 1px solid var(--line); border-top: 3px solid var(--lantern); border-radius: var(--radius); }
.pf-stat .num { margin: 0; color: var(--cream); font: 600 clamp(2rem, 3.4vw, 2.6rem)/1 var(--display); font-variant-numeric: tabular-nums; }
.pf-stat .what { margin: 0; color: var(--text); line-height: 1.5; }
.pf-stat .src { margin: auto 0 0; padding-top: 10px; border-top: 1px solid var(--line); color: var(--soft); font: 500 0.85rem/1.5 var(--mono); }
.pf-stat .src a { display: inline-flex; align-items: center; min-height: 44px; }

/* What I build now */
.pf-build { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 760px) { .pf-build { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pf-build li { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 18px 20px 10px; background: var(--card); border: 1px solid var(--line); border-left: 3px solid var(--verdigris); border-radius: var(--radius); }
.pf-build h3 { margin: 0; font-size: clamp(1.1rem, 1.4vw, 1.25rem); }
.pf-build p { margin: 0; color: var(--soft); line-height: 1.55; }
.pf-build .go { display: flex; flex-wrap: wrap; gap: 0 16px; margin-top: auto; }
.pf-build .go a { display: inline-flex; align-items: center; min-height: 44px; }

/* Timeline entries */
.pf-timeline > li { padding-bottom: 36px; }
.pf-timeline h3 { font-size: clamp(1.15rem, 1.6vw, 1.35rem); }
.pf-timeline p + p, .pf-timeline p + ul { margin-top: 8px; }
.pf-timeline .pf-points { margin: 10px 0 0; padding-left: 1.1em; color: var(--soft); }
.pf-timeline .pf-points li { display: list-item; padding: 0 0 6px; }
.pf-timeline .pf-points li::before, .pf-timeline .pf-points li::after { content: none; }
.pf-timeline .pf-quote { margin: 12px 0 0; padding: 12px 16px; background: var(--card); border-left: 3px solid var(--lantern); border-radius: 0 10px 10px 0; color: var(--text); }
.pf-timeline .pf-quote cite { display: block; margin-top: 6px; color: var(--soft); font: 500 0.85rem/1.5 var(--mono); font-style: normal; }
.pf-proof { display: flex; flex-wrap: wrap; gap: 0 18px; margin: 10px 0 0; padding: 0; list-style: none; }
.pf-timeline .pf-proof li { display: block; padding: 0; }
.pf-timeline .pf-proof li::before, .pf-timeline .pf-proof li::after { content: none; }
.pf-proof a { display: inline-flex; align-items: center; min-height: 44px; }
.pf-era { margin-top: 6px !important; color: var(--brass-dim) !important; font: 500 0.85rem/1.5 var(--mono); }
.pf-figure { margin: 14px 0 0; max-width: 520px; }
.pf-figure img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: 10px; }
.pf-figure figcaption { margin-top: 8px; font-size: 0.85rem; }
.pf-timeline .receipt-scroll { max-width: 520px; margin-top: 14px; }

/* Notes */
.pf-notes { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pf-notes li { padding: 12px 0; border-top: 1px solid var(--line); color: var(--soft); }
.go-row { display: flex; flex-wrap: wrap; gap: 0 22px; margin: 4px 0 0; }
.go-row a { display: inline-flex; align-items: center; min-height: 44px; }
.pf-biz { max-width: none; }
.pf-timeline .receipt-scroll + .small { margin-top: 10px; }
