/* ============================================================================
   products.css — /products/ (src/products.njk). Hero + rule live in site.css.
   ============================================================================ */

/* ---- portfolio ---- */
.pf-section{padding:60px 48px 24px}
.pf-inner{max-width:1280px;margin:0 auto}
.pf-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:24px}
.pf-h2{margin:0 0 10px;font-size:34px;font-weight:500;letter-spacing:-.02em;line-height:1.25;color:var(--c-ink)}
.pf-view{display:flex;align-items:center;gap:10px}
.pf-view[hidden]{display:none}
.pf-view-label{font-family:var(--c-mono);font-size:10.5px;letter-spacing:.1em;color:var(--c-muted)}
.pf-seg{display:flex;border:1px solid var(--c-line);border-radius:9999px;overflow:hidden;background:#fff}
.pf-seg-btn{
  margin:0;border:0;cursor:pointer;padding:7px 15px;background:#fff;color:#64748b;
  font-family:var(--c-mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;line-height:1.5;
}
.pf-seg-btn[aria-pressed="true"]{background:var(--c-accent);color:#fff}

/* stage groups */
.pf-stage{
  display:grid;grid-template-columns:270px minmax(0,1fr);gap:40px;align-items:start;
  padding:34px 0 14px;border-top:1px solid var(--c-line);
}
.pf-stage-side{position:sticky;top:96px}
.pf-stage-title{display:flex;align-items:baseline;gap:10px}
.pf-stage-num{font-family:var(--c-mono);font-size:10.5px;font-weight:600;letter-spacing:.11em;color:var(--c-amber-text)}
.pf-stage-name{margin:0;font-size:27px;font-weight:500;letter-spacing:-.02em;line-height:1.12;color:var(--c-ink)}
.pf-stage-blurb{margin:10px 0 12px;font-size:14px;font-weight:400;line-height:1.62;color:#4b5563}
.pf-stage-count{font-family:var(--c-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--c-accent)}
.pf-cards{display:flex;flex-direction:column;gap:20px}

/* icons + badges */
.pf-icon{flex:none;display:block;-o-object-fit:contain;object-fit:contain}
.pf-icon-lg{width:52px;height:52px;border-radius:12px}
.pf-icon-sm{width:30px;height:30px;border-radius:7px}
.pf-mono{display:grid;place-items:center;background:var(--c-accent-wash);color:var(--c-accent);font-weight:600}
.pf-icon-lg.pf-mono{font-size:18px}
.pf-icon-sm.pf-mono{font-size:12px}
.pf-badge{
  flex:none;white-space:nowrap;border-radius:9999px;text-transform:uppercase;
  font-family:var(--c-mono);font-weight:600;letter-spacing:.04em;line-height:1.5;
}
.pf-badge-lg{font-size:10.5px;padding:5px 11px}
.pf-badge-sm{font-size:10px;padding:4px 10px}

/* full card */
.pf-full{
  background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:32px 36px;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.pf-full:hover{border-color:var(--c-accent-soft);box-shadow:var(--c-shadow)}
.pf-full-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.pf-full-id{display:flex;align-items:center;gap:16px}
.pf-full-name{margin:0;font-size:26px;font-weight:400;letter-spacing:-.02em;line-height:1.15;color:var(--c-ink)}
.pf-full-tagline{margin:3px 0 0;font-size:14px;font-weight:400;color:#64748b}
.pf-full-body{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px}
.pf-full-wide{grid-column:1/-1}
.pf-label{margin:0 0 7px;font-family:var(--c-mono);font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--c-accent)}
.pf-label-amber{color:var(--c-amber-text)}
.pf-text{margin:0;font-size:15px;font-weight:400;line-height:1.68;color:#4b5563}
.pf-full-foot{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;
  margin-top:26px;padding-top:20px;border-top:1px solid var(--c-hair);
}
.pf-builton{font-family:var(--c-mono);font-size:11px;letter-spacing:.04em;color:var(--c-accent)}
.pf-actions{display:flex;align-items:center;gap:18px}
.pf-cta{
  display:inline-flex;align-items:center;padding:11px 24px;border-radius:9999px;
  background:var(--c-accent);color:#fff;font-weight:500;font-size:14.5px;line-height:1.5;
}
.pf-cta:hover{background:var(--c-accent-dark);color:#fff}
.pf-collapse{
  display:none;margin:0;padding:0;border:0;background:none;cursor:pointer;
  font-family:var(--c-mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;color:var(--c-muted);
}
.pf-collapse:hover{color:var(--c-accent)}

/* mini row (compact view) */
.pf-mini{
  display:none;width:100%;margin:0;text-align:left;cursor:pointer;font:inherit;color:inherit;
  align-items:center;gap:16px;padding:14px 18px;
  background:#fff;border:1px solid var(--c-line);border-radius:12px;
}
.pf-mini:hover{border-color:var(--c-accent-soft)}
.pf-mini-name{flex:none;font-size:17px;font-weight:500;letter-spacing:-.015em;color:var(--c-ink)}
.pf-mini-tagline{
  flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:14px;font-weight:400;color:#64748b;
}
.pf-mini-plus{flex:none;font-family:var(--c-mono);font-size:11px;color:var(--c-muted)}

/* view states: expanded = every full card; compact = mini rows, click opens one */
.pf[data-view="compact"] .pf-mini{display:flex}
.pf[data-view="compact"] .pf-full{display:none}
.pf[data-view="compact"] .pf-item.is-open .pf-mini{display:none}
.pf[data-view="compact"] .pf-item.is-open .pf-full{display:block}
.pf[data-view="compact"] .pf-collapse{display:inline}

/* ---- closing band ---- */
.pg-band{background:var(--c-accent);color:#fff}
.pg-band-inner{
  max-width:1280px;margin:0 auto;padding:60px 48px;
  display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:start;
}
.pg-band-eyebrow{margin:0 0 14px;font-family:var(--c-mono);font-size:10.5px;font-weight:600;letter-spacing:.11em;color:var(--c-gold)}
.pg-band-h2{margin:0 0 14px;font-size:32px;font-weight:300;letter-spacing:-.02em;line-height:1.25;text-wrap:pretty}
.pg-band-h2 span{font-weight:500}
.pg-band-text{margin:0 0 26px;font-size:16px;font-weight:300;line-height:1.66;color:rgba(255,255,255,.86)}
.pg-band-btn{
  display:inline-flex;align-items:center;padding:14px 28px;border-radius:9999px;
  background:var(--c-gold);color:var(--c-ink);font-weight:600;font-size:14.5px;
}
.pg-band-btn:hover{background:#fff;color:var(--c-ink)}
.pg-ways{display:flex;flex-direction:column}
.pg-way{display:flex;gap:20px;align-items:baseline;padding:18px 0;border-top:1px solid rgba(255,255,255,.28)}
.pg-way-kicker{flex:none;width:96px;font-family:var(--c-mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;color:var(--c-gold)}
.pg-way-title{font-size:18px;font-weight:500;letter-spacing:-.01em;color:#fff}
.pg-way-title:hover{color:var(--c-gold)}
.pg-way-body{margin:5px 0 0;font-size:14px;font-weight:300;line-height:1.6;color:rgba(255,255,255,.82)}

/* ---- responsive ---- */
@media (max-width:1024px){
  .pf-stage{grid-template-columns:minmax(0,1fr);gap:24px}
  .pf-stage-side{position:static}
  .pg-band-inner{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:768px){
  .pf-section{padding-left:24px;padding-right:24px}
  .pg-band-inner{padding:60px 24px}
  .pf-full{padding:24px 20px}
  .pf-full-head{flex-wrap:wrap}
  .pf-full-body{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:559.98px){
  .pf-mini-tagline{display:none}
  .pf-mini-name{flex:1 1 auto}
}
