/* Profiles keep the original photograph ratio; only the display width is shared. */
.salve-profile-layout { display: flex; align-items: flex-start; gap: 24px; }
.salve-profile-portrait { display: block; flex: 0 0 240px; width: 240px; max-width: 100%; }
.entry-content .salve-profile-portrait img { display: block; width: 100%; height: auto; margin: 0; filter: grayscale(100%); }
.salve-profile-biography { flex: 1 1 0; min-width: 0; }
.salve-profile-biography p:first-child { margin-top: 0; }
.salve-profile-back { clear: both; padding-top: 24px; }
.entry-content .salve-team-group h3 { margin: 0 0 6px; font-size: 14px; line-height: 1.5; }
.entry-content .salve-team-group ul { margin: 0 0 24px; padding: 0; list-style: none; }
.salve-team li { margin: 0; }
.salve-team-note { font-size: .95em; }
.salve-profile-portrait:focus-visible,
.salve-profile-dialog button:focus-visible { outline: 3px solid #16648b; outline-offset: 3px; }
.salve-profile-dialog { box-sizing: border-box; width: min(1000px, calc(100vw - 24px)); max-width: none; height: min(900px, calc(100dvh - 24px)); max-height: none; margin: auto; padding: 16px; border: 0; background: #fafafa; color: #222; }
.salve-profile-dialog[open] { display: flex; flex-direction: column; gap: 12px; }
.salve-profile-dialog::backdrop { background: rgb(0 0 0 / .85); }
.salve-profile-dialog button { align-self: flex-end; flex: 0 0 auto; min-height: 44px; padding: 8px 12px; border: 1px solid #aaa; background: white; color: #222; font: inherit; cursor: pointer; }
.salve-profile-dialog img { flex: 1 1 0; min-height: 0; width: 100%; height: 100%; object-fit: contain; filter: grayscale(100%); }
body.salve-profile-modal-open { overflow: hidden; }
@media (max-width: 600px) {
    .salve-profile-layout { flex-direction: column; gap: 20px; }
    .salve-profile-portrait { flex-basis: auto; }
}
@media print {
    .salve-profile-dialog, .salve-profile-back { display: none; }
}
