/* Профиль: информация слева, компактный портрет справа.
   Прокручивается обычная страница, без вложенной ловушки скролла. */
.person-profile {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  margin-top: calc(-1 * var(--header-h));
  background: var(--color-bg-resources);
  color: var(--color-text-dark);
}
.person-profile__panel {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  padding: var(--header-h) var(--space-lg) var(--space-xl) var(--gutter);
}
.person-profile__visual {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  padding: calc(var(--header-h) + 40px + var(--space-lg)) var(--gutter) var(--space-lg) var(--space-lg);
  overflow: clip;
}
.person-profile__photo {
  position: relative;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius);
}
.person-profile__photo::before { background: none; }
.person-profile__photo > img {
  position: absolute;
  left: 0;
  top: -10%;
  display: block;
  width: 100%;
  height: 120%;
  object-fit: cover;
  object-position: 50% 35%;
}
.person-profile nav[aria-label="Хлебные крошки"] { min-height: 40px; }
.person-profile .breadcrumbs { margin: 0; color: var(--color-muted-dark); }
.person-profile .breadcrumbs a, .person-profile .breadcrumbs [aria-current] { color: inherit; }
.person-profile .breadcrumbs a:hover, .person-profile .breadcrumbs a:focus-visible { color: var(--color-text-dark); }
.person-profile__intro { padding-top: var(--space-lg); }
.person-profile__role { color: var(--color-muted-dark); margin-bottom: var(--space-sm); }
.person-profile__name { margin: 0; }
.person-profile :is(h1, h2, h3) { color: var(--color-text-dark); }
.person-profile__lead { margin-top: var(--space-md); color: var(--color-muted-dark); }
.person-profile__contacts { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-24); margin-top: var(--space-md); }
.person-profile__contacts a { color: var(--menu-accent); text-decoration: none; overflow-wrap: anywhere; }
.person-profile__contacts a:hover, .person-profile__contacts a:focus-visible { color: var(--color-text-dark); }
.person-profile__section { margin-top: var(--space-xl); }
.person-profile__section > h2 { margin: 0 0 var(--space-sm); }
.person-profile__topics, .person-profile__credentials { display: grid; gap: var(--space-lg); }
.person-profile__topics .h3, .person-profile__credential .h3 { margin: 0 0 var(--space-sm); }
.person-profile .person-list { gap: var(--space-xs); font-size: var(--p-size); line-height: var(--p-line-height); font-weight: var(--p-weight); color: var(--color-muted-dark); }
.person-profile .person-list li::before { background: var(--color-muted-dark); }
.person-profile__credential > p { color: var(--color-muted-dark); }
.person-profile__credential .doc-card { margin-top: var(--space-24); background: var(--color-bg-dark); color: var(--color-text-dark); }
.person-profile__credential .doc-card__note { color: var(--color-muted-dark); }
.person-profile__credential .doc-card:is(:hover, :focus-visible) :is(.doc-card__name, .doc-card__note) { color: var(--menu-accent); }
.person-page-body .team__head > .btn-fill { display: none; }

@media (min-width: 1101px) {
  /* Длинное имя использует и свободный отступ справа, не меняя общий H1. */
  .person-profile__name { margin-right: calc(-1 * var(--space-md)); }
}
@media (max-width: 1400px) {
  .person-profile__panel { padding-right: var(--space-md); }
}
@media (max-width: 1100px) {
  .person-profile { grid-template-columns: minmax(0, 1fr); }
  .person-profile__panel { display: contents; }
  .person-profile nav[aria-label="Хлебные крошки"] { grid-column: 1; grid-row: 1; padding: var(--header-h) var(--gutter) var(--space-sm); }
  .person-profile__visual { position: relative; grid-column: 1; grid-row: 2; padding: var(--space-sm) var(--gutter) 0; }
  .person-profile__photo > img { object-position: 50% 40%; }
  .person-profile__intro { padding: var(--space-lg) var(--gutter) 0; }
  .person-profile__section { margin: var(--space-lg) var(--gutter) 0; }
  .person-profile__section:last-child { margin-bottom: var(--space-xl); }
  /* у сотрудников без разделов контакты упирались в край блока */
  .person-profile__intro:last-child { padding-bottom: var(--space-xl); }
}

/* Вариант портрета руководителя: крупный кадр справа, как в макете. */
@media (min-width: 1101px) {
  .person-profile--editorial { grid-template-columns: 54.5% minmax(0, 1fr); }
  .person-profile--editorial .person-profile__visual {
    padding-left: 0;
    padding-right: 0;
  }
  .person-profile--editorial .person-profile__photo {
    max-width: none;
    aspect-ratio: 4 / 5;
    border-radius: var(--radius) 0 0 var(--radius);
  }
}

/* Компактный портрет 480×600: справа по линии гамбургера в шапке,
   сверху — сразу под хлебными крошками. */
@media (min-width: 1101px) {
  .person-profile--editorial { grid-template-columns: minmax(0, 1fr) auto; }
  .person-profile--editorial .person-profile__visual {
    width: auto;
    padding: calc(var(--header-h) + 40px) max(var(--gutter), calc((100vw - var(--container)) / 2)) var(--space-xl) var(--space-lg);
  }
  .person-profile--editorial .person-profile__photo {
    width: 480px;
    max-width: 480px;
    margin: 0;
    aspect-ratio: 4 / 5;
    border-radius: var(--radius);
  }
}
@media (min-width: 1101px) and (max-width: 1400px) {
  .person-profile--editorial .person-profile__photo { width: 400px; max-width: 400px; }
}
