/* Team directory: shared theme palette, typography and layout rhythm. */
body.page-template-team .pm-inner-content,
body.page-id-8 .pm-inner-content { padding: 0; }
.pm-team-page { overflow: hidden; }
.pm-team-page a { text-decoration: none; box-shadow: none; }
.pm-team-page a:focus-visible { outline: 3px solid var(--pm-seal); outline-offset: 6px; }
.pm-team-intro { position: relative; padding: 30px 0 0; background: var(--pm-navy); }
.pm-team-breadcrumb { display: flex; gap: 14px; align-items: center; font: 11px 'IBM Plex Mono', monospace; color: #c6c8cd; }
.pm-team-breadcrumb a { color: var(--pm-paper); }
.pm-team-intro-grid { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 70px; padding: 65px 0 55px; }
.pm-team-intro h1 { max-width: none; margin-top: 23px; font-size: clamp(42px, 4.5vw, 66px); letter-spacing: -.035em; line-height: 1.08; }
.pm-team-intro h1 em { font-weight: 400; color: #e5b86b; }
.pm-team-intro-copy > p { font-size: 18px; line-height: 1.75; color: #d3d4d5; }
.pm-team-explore { display: inline-flex; align-items: center; gap: 34px; margin-top: 25px; padding: 10px 0; border-bottom: 1px solid #828898; font: 12px 'IBM Plex Mono', monospace; color: var(--pm-paper); }
.pm-team-explore span { font-size: 20px; color: var(--pm-amber); }
.pm-team-principles { display: flex; flex-wrap: wrap; gap: 20px 50px; padding: 24px 0; border-top: 1px solid var(--pm-line-on-navy); color: #d3d4d5; font: 10px 'IBM Plex Mono', monospace; letter-spacing: .09em; text-transform: uppercase; }
.pm-team-principles span::before { content: '+'; margin-right: 12px; color: var(--pm-amber); }
.pm-team-group { padding: 76px 0 82px; scroll-margin-top: 100px; }
.pm-team-group-featured { background: var(--pm-paper); }
.pm-team-group + .pm-team-group { background: #e5e1d5; }
.pm-team-group-heading { gap: 50px; margin-bottom: 34px; }
.pm-team-group-heading .pm-eyebrow { margin-bottom: 16px; }
.pm-team-group-heading h2 { max-width: 25ch; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.13; letter-spacing: -.025em; }
.pm-team-group-heading > p { max-width: 34ch; margin: 0; color: #55575a; font-size: 15px; line-height: 1.7; }
.pm-team-grid { gap: 42px 28px; align-items: stretch; }
.pm-team-page .pm-team-card { border: 0; padding: 0; min-width: 0; }
.pm-team-card-link { display: flex; flex-direction: column; height: 100%; }
.pm-team-portrait { position: relative; width: 40%; aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; background: #d5d0c3; }
.pm-team-portrait img { filter: saturate(.7); object-position: center 25%; }
.pm-team-portrait-arrow { position: absolute; bottom: 10%; right: 10%; display: grid; place-items: center; width: 38px; height: 38px; background: var(--pm-paper); color: var(--pm-navy); border-radius: 50%; font-size: 23px; transition: background .2s, color .2s; }
.pm-team-card-link:hover .pm-team-portrait-arrow { background: var(--pm-seal); color: white; }
.pm-team-card-copy { display: flex; flex: 1; flex-direction: column; padding: 23px 0 0; }
.pm-team-role { font-size: 10px; letter-spacing: .09em; }
.pm-team-card h3 { margin: 10px 0 13px; font-size: clamp(25px, 2.4vw, 30px); line-height: 1.15; letter-spacing: -.02em; }
.pm-team-placeholder { display: grid; place-items: center; height: 100%; font: 72px 'Source Serif 4', serif; color: var(--pm-navy); }
.pm-team-contact { padding: 66px 0; background: var(--pm-navy); text-align: left; }
.pm-team-contact-grid { display: grid; grid-template-columns: 1.4fr 1fr; align-items: center; gap: 70px; }
.pm-team-contact .pm-eyebrow { justify-content: flex-start; }
.pm-team-contact h2 { max-width: none; margin: 18px 0 0; font-size: clamp(32px, 3.8vw, 46px); line-height: 1.14; letter-spacing: -.02em; }
.pm-team-contact p { margin: 0; font-size: 16px; color: #d3d4d5; }
.pm-team-contact .pm-button { margin-top: 22px; }
.pm-team-empty { padding-top: 60px; padding-bottom: 60px; }
@media (max-width: 900px) {
 .pm-team-intro-grid { gap: 32px; grid-template-columns: 1fr; padding: 45px 0; }
 .pm-team-intro-copy { max-width: 550px; }
 .pm-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .pm-team-group-heading { gap: 25px; align-items: start; }
 .pm-team-group-heading > p { max-width: 28ch; }
 .pm-team-contact-grid { gap: 30px; }
}
@media (max-width: 600px) {
 .pm-team-page .pm-wrap { padding-left: 22px; padding-right: 22px; }
 .pm-team-intro h1 { font-size: clamp(36px, 8.8vw, 50px); }
 .pm-team-intro .pm-eyebrow { font-size: 10px; letter-spacing: .07em; }
 .pm-team-intro-copy > p { font-size: 16px; }
 .pm-team-principles { gap: 15px; font-size: 9px; }
 .pm-team-group { padding: 48px 0; }
 .pm-team-group-heading { display: block; }
 .pm-team-group-heading > p { max-width: none; margin-top: 18px; }
 .pm-team-grid { grid-template-columns: 1fr; gap: 32px; }
 .pm-team-contact-grid { grid-template-columns: 1fr; }
 .pm-team-contact { padding: 48px 0; }
}
@media (prefers-reduced-motion: reduce) {
 .pm-team-page *, .pm-team-page *::before, .pm-team-page *::after { transition: none; scroll-behavior: auto; }
 .pm-team-card:hover .pm-team-portrait img { transform: none; }
}
/* Full team biographies in accessible modal dialogs. */
.pm-profile-modal { width: min(860px,calc(100vw - 40px)); max-width: calc(100vw - 40px); max-height: 88vh; max-height: 88dvh; margin: auto; padding: 0; border: 1px solid var(--pm-line); background: var(--pm-paper); color: var(--pm-ink); overflow-y: auto; overscroll-behavior: contain; }
.pm-profile-modal::backdrop { background: rgba(12,20,36,.85); }
.pm-profile-shell { position: relative; padding: 48px; }
.pm-profile-close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--pm-line); border-radius: 0; background: var(--pm-navy); color: var(--pm-paper); font-size: 28px; line-height: 1; cursor: pointer; }
.pm-profile-close:hover { background: var(--pm-seal); }
.pm-profile-close:focus-visible { outline: 3px solid var(--pm-seal); outline-offset: 3px; }
.pm-profile-header { display: flex; align-items: center; gap: 28px; margin: 12px 0 32px; padding-bottom: 28px; border-bottom: 1px solid var(--pm-line); }
.pm-profile-photo { flex: 0 0 150px; }
.pm-profile-photo img { display: block; width: 150px; height: 180px; object-fit: cover; object-position: center top; }
.pm-profile-modal h2 { margin: 12px 0 0; padding: 0; font-size: clamp(28px,4vw,38px); line-height: 1.15; color: var(--pm-navy); }
.pm-profile-bio { font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
.pm-profile-bio p { margin: 0 0 1.2em; line-height: inherit; text-align: left !important; white-space: normal !important; }
.pm-profile-bio span { font-size: inherit !important; }
.pm-profile-bio p:last-child { margin-bottom: 0; }
.pm-profile-bio a { color: var(--pm-seal); text-decoration: underline; }
@media(max-width:600px) {
 .pm-profile-modal { width: calc(100vw - 24px); max-width: calc(100vw - 24px); max-height: 92dvh; }
 .pm-profile-shell { padding: 64px 22px 28px; }
 .pm-profile-header { flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 0; }
 .pm-profile-photo { flex-basis: auto; }
 .pm-profile-photo img { width: 120px; height: 144px; }
 .pm-profile-bio { font-size: 15px; }
}