/* Category colors follow the original stakeholder artwork; all copy comes from the CMS. */
.stakeholder-profiles {
    --stakeholder-ink: #35434b;
    --stakeholder-rule: #dbe2e5;
    color: var(--stakeholder-ink);
    min-width: 0;
    scroll-margin-top: 112px;
}
.stakeholder-profiles .stakeholder-profiles__heading { margin-bottom: 28px; }
.stakeholder-profiles .stakeholder-profiles__heading h3 {
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    color: #234d69;
    font-size: 25px;
    line-height: 1.5;
    letter-spacing: 0;
}
.stakeholder-profiles .stakeholder-profiles__heading h3::before { content: none; }
.stakeholder-profiles .stakeholder-profiles__heading p { margin: 0; font-size: 16px; line-height: 1.8; }
.stakeholder-profiles__list { display: grid; gap: 28px; }
.stakeholder-profiles .stakeholder-profile {
    --stakeholder-color: #38697a;
    --stakeholder-band: #dcebed;
    --stakeholder-soft: #f4f8f9;
    min-width: 0;
    padding: 24px;
    border: 1px solid var(--stakeholder-color);
    border-radius: 8px;
    background: #fff;
}
.stakeholder-profiles .stakeholder-profile--group-0 {
    --stakeholder-color: #985b24;
    --stakeholder-band: #f3c48c;
    --stakeholder-soft: #fff7ee;
}
.stakeholder-profiles .stakeholder-profile--group-1 {
    --stakeholder-color: #397550;
    --stakeholder-band: #c8ddc1;
    --stakeholder-soft: #f2f7f0;
}
.stakeholder-profiles .stakeholder-profile--group-2 {
    --stakeholder-color: #63528e;
    --stakeholder-band: #d6ceeb;
    --stakeholder-soft: #f6f3fb;
}
.stakeholder-profiles .stakeholder-profile--group-3 {
    --stakeholder-color: #40649a;
    --stakeholder-band: #cbdaf0;
    --stakeholder-soft: #f1f5fc;
}
.stakeholder-profiles .stakeholder-profile--group-4 {
    --stakeholder-color: #257c79;
    --stakeholder-band: #bde2de;
    --stakeholder-soft: #eff8f7;
}
.stakeholder-profiles .stakeholder-profile--group-5 {
    --stakeholder-color: #2779a3;
    --stakeholder-band: #c4e2f3;
    --stakeholder-soft: #f0f8fc;
}
.stakeholder-profiles .stakeholder-profile--group-6 {
    --stakeholder-color: #a04e59;
    --stakeholder-band: #f2c9cb;
    --stakeholder-soft: #fff3f4;
}
.stakeholder-profile__intro {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
    margin-bottom: 24px;
}
.stakeholder-profile__identity { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-width: 0; color: var(--stakeholder-color); }
.stakeholder-profiles .stakeholder-profile__identity h4 { margin: 0; padding: 0; border: 0; font-size: 21px; line-height: 1.55; color: inherit; text-align: center; overflow-wrap: anywhere; letter-spacing: 0; }
.stakeholder-profiles .stakeholder-profile__icon { display: block; width: 56px; height: 56px; flex: 0 0 56px; color: inherit; }
.stakeholder-profiles .stakeholder-profile__icon svg { width: 100%; height: 100%; }
.stakeholder-profile__purpose { min-width: 0; padding: 18px 22px; border-top: 5px solid var(--stakeholder-band); background: var(--stakeholder-soft); }
.stakeholder-profiles .stakeholder-profile__purpose p { width: auto; max-width: none; margin: 0; font-size: 17px; line-height: 1.85; color: var(--stakeholder-ink); overflow-wrap: anywhere; }
.stakeholder-profile__purpose dl { margin: 12px 0 0; }
.stakeholder-profile__purpose dd { margin: 4px 0 12px; }
.stakeholder-profiles .stakeholder-profile__facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.35fr); gap: 0; margin: 0; padding: 0; }
.stakeholder-profiles .stakeholder-profile__facts--1 { grid-template-columns: minmax(0, 1fr); }
.stakeholder-profiles .stakeholder-profile__facts--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stakeholder-profiles .stakeholder-profile__facts--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stakeholder-profile__field { min-width: 0; }
.stakeholder-profile__field + .stakeholder-profile__field { border-left: 1px solid var(--stakeholder-rule); }
.stakeholder-profiles .stakeholder-profile__field dt { display: flex; align-items: center; min-height: 54px; margin: 0; padding: 12px 16px; background: var(--stakeholder-band); color: var(--stakeholder-ink); font-size: 16px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.stakeholder-profiles .stakeholder-profile__field dd { margin: 0; padding: 16px 16px 0; font-size: 16px; line-height: 1.9; color: var(--stakeholder-ink); overflow-wrap: anywhere; }
.stakeholder-profiles .stakeholder-profile__field a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.stakeholder-profiles .stakeholder-profile__field a:focus-visible { outline: 2px solid var(--stakeholder-color); outline-offset: 3px; }
.stakeholder-profiles .stakeholder-profile__field--identity { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.stakeholder-profile__field--identity + .stakeholder-profile__field { border-left: 0; }
.stakeholder-profiles__annotation { display: block; margin-top: 6px; font-size: 14px; }
.stakeholder-profiles__note { margin: 20px 0 0; font-size: 15px; line-height: 1.8; }
@media (max-width: 1199px) {
    .stakeholder-profiles .stakeholder-profile { padding: 20px; }
    .stakeholder-profile__intro { grid-template-columns: 160px minmax(0, 1fr); gap: 20px; }
    .stakeholder-profiles .stakeholder-profile__field dt,
    .stakeholder-profiles .stakeholder-profile__field dd { padding-left: 12px; padding-right: 12px; }
}
@media (max-width: 767px) {
    .stakeholder-profiles__list { gap: 20px; }
    .stakeholder-profiles .stakeholder-profile { padding: 18px; }
    .stakeholder-profile__intro { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-bottom: 20px; }
    .stakeholder-profile__identity { flex-direction: row; justify-content: flex-start; }
    .stakeholder-profiles .stakeholder-profile__identity h4 { text-align: left; font-size: 20px; }
    .stakeholder-profiles .stakeholder-profile__icon { width: 44px; height: 44px; flex-basis: 44px; }
    .stakeholder-profile__purpose { padding: 14px 16px; }
    .stakeholder-profiles .stakeholder-profile__purpose p { font-size: 16px; }
    .stakeholder-profiles .stakeholder-profile__facts { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .stakeholder-profile__field + .stakeholder-profile__field { border-left: 0; }
    .stakeholder-profiles .stakeholder-profile__field dt { min-height: 0; padding: 9px 12px; }
    .stakeholder-profiles .stakeholder-profile__field dd { padding: 10px 12px 0; }
}
@media print {
    .stakeholder-profiles .stakeholder-profile { break-inside: avoid; print-color-adjust: exact; }
}
