.apu-people {
  --people-navy: #132842;
  --people-gold: #fcbc55;
  --people-ink: #172538;
  --people-muted: #647284;
  --people-line: #dce3e9;
  --people-paper: #f7f8f6;
  background: var(--people-paper);
  color: var(--people-ink);
  font-family: "Space Grotesk", system-ui, sans-serif;
}

.apu-people-shell { width: min(1180px, calc(100% - 2rem)); margin-inline: auto; }
.apu-people-hero { position: relative; overflow: hidden; padding: clamp(5rem, 10vw, 9rem) 0 4.5rem; color: #fff; background: linear-gradient(125deg, #0b1d31 0%, var(--people-navy) 58%, #29455f 100%); }
.apu-people-hero::after { content: ""; position: absolute; inset: auto -8% -55% 42%; height: 30rem; border: 1px solid rgb(252 188 85 / .22); border-radius: 50%; transform: rotate(-12deg); }
.apu-people-hero__glow { position: absolute; width: 28rem; height: 28rem; top: -14rem; right: 8%; border-radius: 50%; background: rgb(252 188 85 / .16); filter: blur(1px); }
.apu-people-kicker { margin: 0 0 1rem; color: var(--people-gold); font: 700 .75rem/1.2 "Space Mono", monospace; letter-spacing: .2em; text-transform: uppercase; }
.apu-people-hero h1 { position: relative; max-width: 760px; margin: 0; font: 700 clamp(3rem, 7vw, 6.7rem)/.93 "Epilogue", sans-serif; letter-spacing: -.065em; }
.apu-people-lede { max-width: 680px; margin: 1.75rem 0 0; color: rgb(255 255 255 / .72); font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.7; }
.apu-people-stats { display: flex; gap: 3rem; margin: 2.5rem 0 0; }
.apu-people-stats div { display: grid; }
.apu-people-stats dt { color: var(--people-gold); font: 700 2rem/1 "Epilogue", sans-serif; }
.apu-people-stats dd { margin: .35rem 0 0; color: rgb(255 255 255 / .6); font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; }
.apu-people-directory { padding-block: 0 5rem; }
.apu-people-filter { position: relative; z-index: 2; display: grid; grid-template-columns: 1.5fr 1fr auto; gap: .75rem; margin-top: -1.6rem; padding: 1rem; border: 1px solid rgb(255 255 255 / .5); background: rgb(255 255 255 / .94); box-shadow: 0 18px 60px rgb(15 32 50 / .12); backdrop-filter: blur(16px); }
.apu-people-filter label { display: grid; gap: .35rem; color: var(--people-muted); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.apu-people-filter input, .apu-people-filter select { width: 100%; min-height: 3rem; border: 1px solid var(--people-line); border-radius: 0; padding: .7rem .85rem; background: #fff; color: var(--people-ink); font-family: inherit; font-size: .92rem; font-weight: 500; line-height: 1.2; text-transform: none; letter-spacing: 0; }
.apu-people-filter button { align-self: end; min-height: 3rem; border: 0; padding: .8rem 1.35rem; color: var(--people-navy); background: var(--people-gold); font-family: inherit; font-size: .8rem; font-weight: 700; line-height: 1; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.apu-people-result { display: flex; justify-content: space-between; align-items: center; margin: 2.5rem 0 1.25rem; }
.apu-people-result strong { font: 700 1rem/1 "Space Mono", monospace; }
.apu-people-result a { color: var(--people-navy); text-decoration: underline; }
.apu-people-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.apu-person-card { min-width: 0; background: #fff; border: 1px solid var(--people-line); transition: transform .25s ease, box-shadow .25s ease; }
.apu-person-card:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgb(15 32 50 / .12); }
.apu-person-card__portrait { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; color: #fff; background: linear-gradient(140deg, #1c3856, #0d2035); font: 700 4rem/1 "Epilogue", sans-serif; }
.apu-person-card__portrait img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.apu-person-card__portrait i, .apu-profile-portrait i { position: absolute; right: 0; bottom: 0; width: 34%; height: 5px; background: var(--people-gold); }
.apu-person-card__body { padding: 1.35rem; }
.apu-person-card__tags, .apu-profile-badges { display: flex; flex-wrap: wrap; gap: .4rem; }
.apu-person-card__tags span, .apu-profile-badges span { padding: .3rem .5rem; color: #526274; background: #eef2f4; font: 700 .64rem/1 "Space Mono", monospace; letter-spacing: .03em; text-transform: uppercase; }
.apu-person-card h2 { margin: 1rem 0 .6rem; font: 700 clamp(1.15rem, 2vw, 1.45rem)/1.18 "Epilogue", sans-serif; letter-spacing: -.025em; }
.apu-person-card h2 a { color: var(--people-navy); text-decoration: none; }
.apu-person-card__role { margin: 0; color: var(--people-ink); font-weight: 650; }
.apu-person-card__unit { margin: .25rem 0 0; color: var(--people-muted); font-size: .88rem; }
.apu-person-card__social { display: flex; gap: .55rem; margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid var(--people-line); }
.apu-person-card__social a, .apu-person-card__social button { display: grid; width: 2.35rem; height: 2.35rem; padding: 0; place-items: center; color: var(--people-navy); border: 1px solid var(--people-line); border-radius: 50%; background: #fff; transition: color .2s ease, border-color .2s ease, transform .2s ease; }
.apu-person-card__social a:hover { transform: translateY(-2px); }
.apu-person-card__social a.is-linkedin:hover { color: #0a66c2; border-color: currentColor; }
.apu-person-card__social a.is-instagram:hover { color: #c13584; border-color: currentColor; }
.apu-person-card__social button:disabled { color: #87929e; background: #f0f2f3; cursor: not-allowed; opacity: .72; }
.apu-person-card__social svg { width: 1.05rem; height: 1.05rem; fill: currentColor; }
.apu-person-card__social .is-instagram svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.apu-people-pagination { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: 2rem; }
.apu-people-pagination a { padding: .65rem 1rem; color: var(--people-navy); border: 1px solid var(--people-navy); text-decoration: none; }
.apu-people-empty { padding: 4rem 1rem; text-align: center; }
.apu-profile { padding: 7rem 0 5rem; background: linear-gradient(#edf1f1 0 25rem, var(--people-paper) 25rem); }
.apu-profile-crumb { display: flex; gap: .6rem; margin-bottom: 1.5rem; color: var(--people-muted); font-size: .82rem; }
.apu-profile-crumb a { color: var(--people-navy); font-weight: 700; }
.apu-profile-hero { display: grid; grid-template-columns: minmax(220px, 340px) minmax(0, 1fr) minmax(190px, 240px); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; padding: clamp(1.25rem, 3vw, 2.5rem); background: #fff; border: 1px solid var(--people-line); box-shadow: 0 22px 70px rgb(15 32 50 / .1); }
.apu-profile-portrait { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 5; overflow: hidden; color: #fff; background: var(--people-navy); font: 700 5rem/1 "Epilogue", sans-serif; }
.apu-profile-portrait img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.apu-profile-identity h1 { margin: 0; color: var(--people-navy); font: 700 clamp(2.3rem, 5vw, 4.8rem)/.98 "Epilogue", sans-serif; letter-spacing: -.055em; }
.apu-profile .apu-people-kicker { color: #805000; }
.apu-profile-role { margin: 1rem 0 0; color: var(--people-ink); font-size: 1.1rem; font-weight: 700; }
.apu-profile-headline { margin: .5rem 0 1.3rem; color: var(--people-muted); line-height: 1.6; }
.apu-profile-connect { display: grid; gap: .55rem; padding-left: 1.5rem; border-left: 1px solid var(--people-line); }
.apu-profile-connect p { margin: 0 0 .35rem; color: var(--people-muted); font: 700 .68rem/1 "Space Mono", monospace; text-transform: uppercase; letter-spacing: .12em; }
.apu-profile-connect a, .apu-profile-connect button { width: 100%; padding: .7rem .8rem; color: var(--people-navy); background: transparent; border: 1px solid var(--people-line); font-family: inherit; font-size: .8rem; font-weight: 700; line-height: 1.2; text-align: left; text-decoration: none; cursor: pointer; }
.apu-profile-tabs { position: sticky; top: 5.5rem; z-index: 4; display: flex; gap: 0; overflow-x: auto; margin: 2rem 0 0; background: var(--people-navy); }
.apu-profile-tabs a { flex: 0 0 auto; padding: 1rem 1.2rem; color: rgb(255 255 255 / .7); border: 0; border-bottom: 3px solid transparent; text-decoration: none; }
.apu-profile-tabs a[aria-selected="true"], .apu-profile-tabs a:hover { color: #fff; border-bottom-color: var(--people-gold); }
.apu-profile-panel { margin-top: 1rem; padding: clamp(1.4rem, 4vw, 3rem); background: #fff; border: 1px solid var(--people-line); }
.apu-profile-panel__heading { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1.5rem; }
.apu-profile-panel__heading p { margin: 0 0 .4rem; color: #a16913; font: 700 .68rem/1 "Space Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.apu-profile-panel__heading h2 { margin: 0; color: var(--people-navy); font: 700 clamp(1.6rem, 4vw, 2.5rem)/1.1 "Epilogue", sans-serif; }
.apu-profile-copy { max-width: 790px; color: #425166; line-height: 1.85; }
.apu-profile-entries { display: grid; gap: .8rem; }
.apu-profile-entries article { display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 1.15rem; border-left: 4px solid var(--people-gold); background: #f6f8f8; }
.apu-profile-entries h3 { margin: 0; color: var(--people-navy); font: 700 1rem/1.45 "Epilogue", sans-serif; }
.apu-profile-entries p { margin: .5rem 0 0; color: var(--people-muted); line-height: 1.65; }

@media (max-width: 900px) {
  .apu-people-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apu-profile-hero { grid-template-columns: 220px 1fr; }
  .apu-profile-connect { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); padding: 1.25rem 0 0; border-left: 0; border-top: 1px solid var(--people-line); }
  .apu-profile-connect p { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .apu-people-shell { width: min(100% - 1.25rem, 1180px); }
  .apu-people-hero { padding-top: 7rem; }
  .apu-people-filter { grid-template-columns: 1fr; margin-top: -1rem; }
  .apu-people-grid { grid-template-columns: 1fr; }
  .apu-people-stats { gap: 1.5rem; }
  .apu-profile { padding-top: 5.5rem; }
  .apu-profile-hero { grid-template-columns: 1fr; }
  .apu-profile-portrait { max-height: 28rem; }
  .apu-profile-connect { grid-template-columns: 1fr; }
  .apu-profile-panel__heading { align-items: start; flex-direction: column; }
}
