.team-story__people { margin-top: 2.5rem; }
.team-story__person { display: grid; grid-template-columns: minmax(0, 24rem) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.team-story__person + .team-story__person { margin-top: 5rem; }
.team-story__description { min-width: 0; color: var(--brand-ink, #191f36); overflow-wrap: anywhere; }
.team-story__description::before { content: ""; display: block; width: 3rem; height: 2px; margin-bottom: 1.5rem; background: #6863d8; }
.team-story__greeting { margin: 0 0 1rem; font-family: var(--font-display); font-size: clamp(2.5rem, 4.4vw, 4rem); font-weight: 400; letter-spacing: -.045em; line-height: 1.15; }
.team-story__role { margin: 0; color: #5c55bd; font-size: 1rem; font-weight: 600; line-height: 1.55; }
.team-story__intro { max-width: 38ch; margin: 1.25rem 0 .75rem; color: #56617b; font-size: clamp(1rem, 1.2vw, 1.1rem); line-height: 1.7; }
.team-story__read { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; min-height: 44px; padding: .35rem 0; border-bottom: 1px solid #8683bc; color: #32375f; font-size: .95rem; font-weight: 600; text-decoration: none; }
.team-story__read span { transition: transform .2s ease; }
.team-story__read:hover span { transform: translate(2px, -2px); }
.team-story__read:focus-visible { outline: 2px solid #5c55bd; outline-offset: 5px; border-radius: 2px; }
.team-story__description:empty { visibility: hidden; }
.team-story__description > :first-child { margin-top: 0; }
.team-story__description > :last-child { margin-bottom: 0; }
.team-story__person { scroll-margin-top: calc(var(--header-height) + 2rem); }
.editorial-cinema--team .editorial-cinema__feature { width: min(90vw, 72rem); }
.editorial-cinema--team:not(.is-scroll-ready) .leistungen-story__scene--showcase { min-height: auto; padding-block: 4rem 6rem; }
.editorial-cinema--team .editorial-person__portrait { height: clamp(12rem, 33svh, 19rem); }
.editorial-cinema--team .editorial-person__copy h3 { margin-bottom: 0; }

.editorial-cinema--team.is-scroll-ready { height: 580svh; }
.editorial-cinema--team.is-scroll-ready .editorial-team__heading { opacity: var(--team-heading-opacity, 1); }
.editorial-cinema--team.is-scroll-ready .team-story__people { position: relative; height: var(--team-people-height); margin-top: 1.75rem; }
.editorial-cinema--team.is-scroll-ready .team-story__person { display: contents; }
.editorial-cinema--team.is-scroll-ready .editorial-person {
  position: absolute;
  top: 0;
  left: 0;
  width: min(34vw, 24rem);
  margin: 0;
  transform: var(--team-card-transform);
  transform-origin: top left;
  opacity: var(--team-card-opacity, 1);
  will-change: transform, opacity;
}
.editorial-cinema--team.is-scroll-ready .team-story__description {
  position: absolute;
  top: var(--team-description-top);
  left: 49%;
  width: 49%;
  opacity: var(--team-description-opacity, 0);
  transform: translate3d(0, var(--team-description-y, 2rem), 0);
}

@media (max-width: 960px) {
  .editorial-cinema--team.is-scroll-ready { height: 420svh; }
  .editorial-cinema--team .editorial-cinema__feature { width: min(calc(100% - 2.5rem), 44rem); }
  .editorial-cinema--team:not(.is-scroll-ready) .leistungen-story__scene--showcase { padding-block: 2.5rem 4.5rem; }
  .editorial-team__heading { margin-bottom: 2rem; overflow-wrap: anywhere; }
  .team-story__people { margin-top: 2rem; }
  .team-story__person { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; }
  .team-story__person + .team-story__person { margin-top: 3.5rem; }
  .editorial-cinema--team .editorial-person__portrait { height: auto; aspect-ratio: 6 / 5; }
  .team-story__greeting { font-size: clamp(2.3rem, 4.6vw, 3rem); }
}

@media (max-width: 680px) {
  .team-story__person { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .team-story__person .editorial-person { width: min(100%, 22rem); margin-inline: auto; }
  .team-story__person + .team-story__person { margin-top: 3rem; }
  .editorial-cinema--team .editorial-person__copy { display: flex; align-items: center; min-height: 4rem; padding: 1rem 1.25rem; }
  .editorial-cinema--team .editorial-person__copy h3 { font-size: 1.25rem; }
  .editorial-cinema--team .editorial-person__portrait--type span { font-size: clamp(7rem, 30vw, 10rem); }
  .editorial-cinema--team.is-scroll-ready .editorial-person { width: 46%; }
  .editorial-cinema--team.is-scroll-ready .editorial-person__portrait { height: clamp(8.5rem, min(43vw, 26svh), 14rem); aspect-ratio: auto; }
  .editorial-cinema--team.is-scroll-ready .editorial-person__copy { min-height: 3.4rem; padding: .85rem .65rem; }
  .editorial-cinema--team.is-scroll-ready .editorial-person__copy h3 { font-size: clamp(.875rem, 3.6vw, 1.125rem); }
  .editorial-cinema--team.is-scroll-ready .editorial-person__portrait--type span { font-size: clamp(4rem, 19vw, 7rem); }
  .team-story__description { text-align: center; }
  .team-story__description::before { margin: 0 auto 1rem; width: 2rem; }
  .team-story__greeting { margin-bottom: .6rem; font-size: clamp(2rem, 8vw, 2.8rem); }
  .team-story__role { font-size: .9rem; }
  .team-story__intro { margin: .85rem auto .55rem; font-size: 1rem; line-height: 1.6; }
  .team-story__read { margin-top: .35rem; }
  .editorial-cinema--team.is-scroll-ready .team-story__description { left: 0; width: 100%; }
}

@media (max-width: 680px) and (max-height: 740px) {
  .editorial-cinema--team.is-scroll-ready .team-story__intro { display: none; }
  .editorial-cinema--team.is-scroll-ready .team-story__read { margin-top: .85rem; }
}

@media (min-width: 681px) and (min-height: 740px) {
  .editorial-cinema--team.is-scroll-ready .editorial-person { width: min(28vw, 20rem, calc((100svh - var(--header-height) - 14rem) * .48)); }
  .editorial-cinema--team.is-scroll-ready .editorial-person__portrait { height: auto; aspect-ratio: 4 / 5; }
}

/* A laptop's usable window is often much shorter than its screen resolution.
   Keep the existing composition, with spacing sized to the available height. */
@media (min-width: 681px) and (max-height: 739px) {
  .editorial-cinema--team.is-scroll-ready .leistungen-story__scene { padding-block: calc(var(--header-height) + 1rem) 1rem; }
  .editorial-cinema--team.is-scroll-ready .editorial-team__heading { margin-bottom: 1rem; }
  .editorial-cinema--team.is-scroll-ready .editorial-team__heading h2 { font-size: clamp(1.8rem, 5svh, 2.5rem); }
  .editorial-cinema--team.is-scroll-ready .team-story__people { margin-top: 1rem; }
  .editorial-cinema--team.is-scroll-ready .editorial-person { width: clamp(9rem, 29svh, 15rem); }
  .editorial-cinema--team.is-scroll-ready .editorial-person__portrait { height: auto; aspect-ratio: 4 / 5; }
  .editorial-cinema--team.is-scroll-ready .editorial-person__copy { padding: 1rem .75rem; }
  .editorial-cinema--team.is-scroll-ready .editorial-person__copy h3 { font-size: clamp(1rem, 2.6svh, 1.25rem); }
  .editorial-cinema--team.is-scroll-ready .team-story__greeting { font-size: clamp(2rem, 6svh, 3rem); }
  .editorial-cinema--team.is-scroll-ready .team-story__intro { margin-top: .85rem; font-size: 1rem; line-height: 1.55; }
}

/* Full biographies stay in the document without JavaScript. The enhanced
   reader gives longer text its own space while preserving the card sequence. */
.team-bio { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.45fr); align-items: start; gap: clamp(2rem, 5vw, 4.5rem); width: min(calc(100% - 3rem), 68rem); margin: 0 auto; padding: clamp(3rem, 6vw, 6rem) 0; border-top: 1px solid #d9d6df; color: #191f36; scroll-margin-top: calc(var(--header-height) + 2rem); }
.team-bio__avatar { display: block; width: 80px; height: 80px; margin-bottom: 2rem; border-radius: 50%; object-fit: cover; object-position: center 28%; }
.team-bio__avatar--type { display: grid; place-items: center; background: #e5e0f1; color: #5c5586; font-family: var(--font-display); font-size: 2rem; }
.team-bio__name { margin: 0 0 .85rem; color: #626e86; font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.team-bio h2 { margin: 0 0 1rem; font-family: var(--font-display); font-size: clamp(2.5rem, 4.8vw, 4rem); font-weight: 400; line-height: 1.12; letter-spacing: -.045em; text-wrap: balance; }
.team-bio__role { margin: 0; color: #5c55bd; font-size: .95rem; line-height: 1.55; }
.team-bio__text { min-width: 0; max-width: 60ch; font-size: 1.0625rem; line-height: 1.8; overflow-wrap: break-word; }
.team-bio__text p { margin: 0 0 1.5em; }
.team-bio__text p:first-child { color: #252944; font-size: 1.1em; }
.team-bio__text p:last-child { margin-bottom: 0; }
.team-bio-dialog { width: min(68rem, calc(100% - 3rem)); max-width: none; max-height: calc(100dvh - 3rem); margin: auto; padding: 0; overflow: hidden; border: 1px solid #ffffffd9; border-radius: 1.5rem; background: #faf7f1; color: #191f36; box-shadow: 0 2rem 6rem #14192e40; }
.team-bio-dialog[open] { display: flex; flex-direction: column; animation: team-bio-enter .28s ease-out both; }
.team-bio-dialog::backdrop { background: #10152980; backdrop-filter: blur(10px); }
.team-bio-dialog__bar { flex: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.5rem; border-bottom: 1px solid #dedbe5; }
.team-bio-dialog__bar p { margin: 0; color: #626e86; font-size: .8rem; }
.team-bio-dialog__close { display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; padding: .5rem .8rem; border: 1px solid #d5d2df; border-radius: 99px; background: transparent; color: #343b56; font: inherit; font-size: .85rem; cursor: pointer; }
.team-bio-dialog__close:hover { background: #eeebf6; }
.team-bio-dialog__close:focus-visible { outline: 2px solid #5c55bd; outline-offset: 3px; }
.team-bio-dialog__content { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.team-bio-dialog .team-bio { width: 100%; margin: 0; padding: clamp(1.5rem, 4vw, 3.5rem); border: 0; }
.team-bio-dialog .team-bio__identity { position: sticky; top: 2rem; }
.team-bio-dialog h2:focus { outline: none; }
@keyframes team-bio-enter { from { opacity: 0; transform: translateY(18px) scale(.99); } to { opacity: 1; transform: none; } }

@media (max-width: 680px) {
  .team-bio { grid-template-columns: minmax(0, 1fr); gap: 2rem; width: calc(100% - 2.5rem); }
  .team-bio__identity { display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 1rem; align-items: start; }
  .team-bio__avatar { grid-column: 1; grid-row: 1 / 4; width: 64px; height: 64px; margin: 0; }
  .team-bio__name { grid-column: 2; margin-bottom: .5rem; font-size: .7rem; }
  .team-bio h2 { grid-column: 2; font-size: clamp(2rem, 8vw, 2.8rem); margin-bottom: .75rem; }
  .team-bio__role { grid-column: 2; font-size: .85rem; }
  .team-bio__text { font-size: 1rem; line-height: 1.8; }
  .team-bio__text p:first-child { font-size: 1.0625em; }
  .team-bio-dialog { width: 100%; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; }
  .team-bio-dialog__bar { padding: calc(.6rem + env(safe-area-inset-top, 0px)) 1.25rem .6rem; }
  .team-bio-dialog .team-bio { padding: 2rem 1.25rem calc(2.5rem + env(safe-area-inset-bottom, 0px)); }
  .team-bio-dialog .team-bio__identity { position: static; }
}

@media (prefers-reduced-motion: reduce) {
  .team-story__description { transform: none; }
  .team-story__read span { transition: none; }
  .team-bio-dialog[open] { animation: none; }
}
