.gp-ph-top { padding-bottom: 24px; }
.gp-ph-top .gp-lead { margin-bottom: 20px; }
.gp-ph-top .gp-results-head { margin-top: 24px; }
.gp-ph-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--gp-gap, 24px); margin-top: 16px; }
.gp-ph-grid .pf-lcard { display: flex; flex-direction: column; gap: 12px; }
.gp-ph-grid .pf-lcard__cover { aspect-ratio: 4 / 3; }
.gp-ph-cta { align-self: flex-start; margin-top: auto; }
.gp-ph-join { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; padding: 16px 20px; border: 1px solid var(--g-line, #E6E3DE); border-radius: var(--g-radius, 6px); }
.gp-ph-join .gp-pcard__name { margin: 0; }
.gp-ph-banner { padding: 0 var(--gp-pad); max-width: 1280px; margin: 0 auto; }
.gp-ph-banner .gp-media { aspect-ratio: 21 / 9; max-height: 220px; }
.gp-ph-banner .gp-media img { object-position: 50% 60%; }
.pf-lcard--nocover .pf-lcard__cover { background: #1b2226; display: grid; place-items: center; }
.pf-lcard--nocover .pf-lcard__cover .pf-lcard__logo { position: static; inset: auto; width: auto; height: 40%; max-width: 70%; object-fit: contain; }
.pf-lcard__initials { color: #fff; font-size: 40px; font-weight: 700; }
.gp-ph-grid .pf-lcard { text-decoration: none; color: inherit; }
.gp-ph-grid .pf-lcard:focus-visible { outline: 3px solid var(--g-accent, #1F4E5F); outline-offset: 4px; border-radius: var(--g-radius, 6px); }
.gp-ph-grid .pf-lcard:hover .gp-ph-cta { border-color: var(--g-accent, #1F4E5F); }
