.profile-hero, .profile-overview, .profile-section { margin-block-start: var(--section-gap); }
.profile-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-5);
  border-radius: var(--radius-panel);
  background-color: var(--surface-tint);
  background-position: center;
  background-size: cover;
}
.profile-hero.has-banner {
  grid-template-columns: auto minmax(0, 1fr) minmax(0, .75fr);
  background-image: linear-gradient(to right, rgb(255 255 255 / 88%) 64%, transparent 88%), var(--profile-banner);
}
@media (max-width: 740px) {
  .profile-hero.has-banner {
    grid-template-columns: auto minmax(0, 1fr);
    padding-block-end: calc(var(--space-12) + var(--space-8) + var(--space-4));
    background-image: linear-gradient(to bottom, rgb(255 255 255 / 88%) calc(100% - 6rem), transparent calc(100% - 2rem)), var(--profile-banner);
  }
}
.profile-logo {
  display: grid;
  place-items: center;
  inline-size: 8rem;
  aspect-ratio: 1;
  padding: var(--space-3);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface-tint);
}
.profile-logo img { max-inline-size: 100%; height: auto; }
.profile-logo:has(.profile-logo-full) { padding: 0; overflow: hidden; }
.profile-logo .profile-logo-full { width: 100%; }
.profile-identity { display: grid; gap: var(--space-2); }
.profile-identity p, .profile-panel p, .profile-stats dt { color: var(--text-secondary); }
.profile-actions { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); }
.profile-actions [hidden] { display: none; }
.profile-overview { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--space-5); align-items: stretch; }
.profile-overview-main { display: grid; grid-template-rows: 1fr auto; gap: var(--space-3); min-inline-size: 0; }
.profile-panel {
  padding: var(--space-5);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-card);
  background: var(--surface);
}
.profile-company-info { background: var(--surface-tint); }
.profile-company-info > h2 { margin-block-end: var(--space-4); }
.profile-statistics-panel { padding-inline: 0; }
.profile-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}
.profile-stats:has(.profile-stat:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.profile-stat {
  display: grid;
  grid-template-columns: var(--space-7) minmax(0, 1fr);
  grid-template-areas: "icon value" "icon label";
  align-content: center;
  align-items: center;
  gap: var(--space-1) var(--space-3);
  padding-inline: var(--space-5);
  border-inline-start: 1px solid transparent;
}
.profile-stat + .profile-stat { border-inline-start-color: var(--border-field); }
.profile-stat-icon {
  grid-area: icon;
  inline-size: var(--space-7);
  block-size: var(--space-7);
  color: var(--blue);
}
.profile-stat dt { grid-area: label; }
.profile-stat dd { grid-area: value; margin: 0; font-weight: 700; }
@media (max-width: 1100px) {
  .profile-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3) 0; }
  .profile-stat { padding-inline: var(--space-3); }
  .profile-stat:nth-child(odd) { border-inline-start-color: transparent; }
}
.profile-facts > div { padding-block: var(--space-2); border-block-start: 1px solid var(--border-subtle); }
.profile-claim { width: 100%; margin-block-start: var(--space-4); }
.profile-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); }
@media (max-width: 740px) {
  .profile-overview { grid-template-columns: minmax(0, 1fr); }
  .profile-logo { inline-size: 5rem; }
}

#profile-about p + p { margin-block-start: var(--space-2); }
@media (max-width: 920px) { .profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 440px) { .profile-grid { grid-template-columns: minmax(0, 1fr); } }

.detail-related-card .profile-packshot {
  object-fit: contain;
  padding: var(--space-2);
  background: var(--surface);
}
