/* Profile layout uses the shared typography and palette, not per-heading styles. */
.sm-doctor {
    --sm-header-offset: 10.625rem;
    background: var(--color-surface-brand);
    color: var(--color-text);
    padding: calc(var(--sm-header-offset) + var(--space-20)) var(--space-page-x) var(--space-64);
    min-height: 70vh;
}
.sm-doctor *, .sm-doctor *::before, .sm-doctor *::after { box-sizing: border-box; }
.sm-doctor :is(h1, p, dl, dt, dd, figure) { margin: 0; }
.sm-doctor__layout { max-width: var(--container-max); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 796fr) minmax(0, 392fr); gap: var(--space-12); align-items: start; }
.sm-doctor__layout--no-photo { grid-template-columns: 1fr; }
.sm-doctor__information { display: grid; gap: var(--space-12); min-width: 0; }
.sm-doctor__card, .sm-doctor__photo { background: var(--color-surface); border-radius: var(--radius-sm); box-shadow: var(--shadow-blue); min-width: 0; }
.sm-doctor__card { padding: var(--space-32) var(--space-24); }
.sm-doctor__title { color: var(--color-heading); }
.sm-doctor__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-12); }
.sm-doctor__facts { display: grid; gap: var(--space-32); }
.sm-doctor__fact { display: flex; align-items: flex-start; gap: var(--space-16); }
.sm-doctor__icon { flex: 0 0 32px; display: block; width: 32px; height: 32px; }
.sm-doctor__fact-text { min-width: 0; display: grid; gap: var(--space-4); overflow-wrap: anywhere; }
.sm-doctor__fact-text dd { display: grid; gap: var(--space-4); }
.sm-doctor .sm-doctor__location { color: var(--color-text); font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; text-decoration: none; }
.sm-doctor .sm-doctor__location:hover { color: var(--color-brand); text-decoration: underline; text-underline-offset: 0.15em; }
.sm-doctor a:focus-visible { outline: 3px solid var(--color-brand); outline-offset: 4px; }
.sm-doctor__photo { overflow: hidden; aspect-ratio: 684 / 1024; }
.sm-doctor__portrait { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
@media (max-width: 63.999rem) {
    .sm-doctor__layout { grid-template-columns: 1fr; }
    .sm-doctor__photo { width: min(100%, 24.5rem); justify-self: center; }
}
@media (max-width: 47.999rem) {
    .sm-doctor { --sm-header-offset: 6rem; padding-bottom: var(--space-48); }
    .sm-doctor__card { padding: var(--space-24) var(--space-16); }
    .sm-doctor__cards { grid-template-columns: 1fr; }
    .sm-doctor__photo { width: 100%; }
}
