/* Show the complete square photograph supplied for each project. */
body.energy-ui-v77 #portfolio .pcard-v18 .pcard-img {
  height: auto !important;
  aspect-ratio: 1 !important;
}
body.energy-ui-v77 #portfolio .pcard-v18 .pcard-img > img {
  object-fit: contain !important;
  transform: none !important;
}

/* Start the heading at the same container edge as the filters and cards. */
body.energy-ui-v77 #portfolio .sec-head {
  margin-inline: 0;
}

/* Page through the albums in reading order. */
body.energy-ui-v77 #portfolio .portfolio-track {
  grid-template-rows: auto !important;
  grid-auto-columns: calc((100% - 42px) / 4) !important;
  gap: 14px !important;
}
@media (max-width: 1023px) {
  body.energy-ui-v77 #portfolio .portfolio-track {
    grid-auto-columns: calc((100% - 14px) / 2) !important;
  }
}
@media (max-width: 559px) {
  body.energy-ui-v77 #portfolio .portfolio-track {
    grid-auto-columns: 100% !important;
  }
}

/* Compact, labelled specification rows under each installation photo. */
body.energy-ui-v77 #portfolio .pcard-v18 figcaption {
  padding:12px 14px 14px!important;
  min-height:0!important;
  margin:0!important;
}
#portfolio .pf-specs { box-sizing:border-box; width:100%; display:grid; gap:6px; margin:0; text-align:left; }
#portfolio .pf-spec { display:grid; grid-template-columns:18px minmax(0,1fr); gap:8px; align-items:start; }
#portfolio .pf-spec dt, #portfolio .pf-spec dd { margin:0; padding:0; }
#portfolio .pf-spec dd { color:#355568; font-size:13px; line-height:1.45; font-weight:400; overflow-wrap:break-word; }
#portfolio .pf-spec-icon { width:18px; height:18px; display:block; color:#187078; }
#portfolio .pf-spec-inverter { padding-bottom:5px; border-bottom:1px solid #e5eef0; }
#portfolio .pf-spec-inverter .pf-spec-icon { color:#0d536f; }
body.energy-ui-v77 #portfolio .pcard-v18 figcaption .pf-spec strong { display:inline; color:#123e53!important; font-size:14px!important; line-height:1.35!important; font-weight:600!important; }
#portfolio .pf-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
