/* ==========================================================================
   Elevate 360 — Bio pages v2 (10/15). One template for all eight people,
   /team/<name>/. v1 archived in src/archive/bio-v1-2026-10-15.css.
   Bands: navy head (portrait, name, focus links, philosophy) → proof strip
   raised over the head's bottom edge → lede + three labelled beats, with
   credentials alongside → optional extras → work with (navy card) → the
   team as faces. Reads from tokens.css; nothing raw.
   ========================================================================== */

/* --- Head (navy, like the service and About heads) ----------------------- */
.bio-head {
  position: relative;
  padding-block: var(--space-2xl) calc(var(--space-4xl) + var(--space-2xl));
  background:
    radial-gradient(120% 90% at 85% 0%, var(--navy-deep) 0%, rgba(29, 63, 95, 0) 60%),
    var(--navy);
  overflow: hidden;
}
.bio-head__grid { display: grid; gap: var(--space-2xl); align-items: center; }

.bio-photo { position: relative; margin: 0 0 var(--space-xs); width: min(68%, 17rem); }
.bio-photo picture {
  position: relative; z-index: 1;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--radius-sm);
  background: var(--navy-900);
}
.bio-photo img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 20%;
  transform: scale(1.001);
  transition: transform 900ms var(--ease-emph);
}
/* the gold frame, set off the corner like the badge's fold */
.bio-photo::before {
  content: ""; position: absolute; z-index: 0;
  top: var(--space-md); left: var(--space-md);
  right: calc(var(--space-md) * -1); bottom: calc(var(--space-md) * -1);
  border: 1px solid var(--gold-light);
  border-radius: var(--radius-sm);
  opacity: .75;
}
.js .bio-photo[data-reveal] picture { clip-path: inset(100% 0 0 0); transition: clip-path 900ms var(--ease-emph); }
.js .bio-photo[data-reveal].is-in picture { clip-path: inset(0 0 0 0); }
@media (hover: hover) {
  .bio-photo:hover img { transform: scale(1.03); }
}

.bio-head__text { display: grid; justify-items: start; min-width: 0; }
.bio-back {
  display: inline-flex; align-items: center; gap: var(--space-xs);
  margin-bottom: var(--space-xl);
  font-size: var(--step--1); font-weight: var(--weight-medium);
  color: var(--text-inverse-muted); text-decoration: none;
  transition: color var(--dur-fast) var(--ease-out);
}
.bio-back svg { width: 18px; transition: transform var(--dur-base) var(--ease-emph); }
.bio-back:hover { color: var(--on-navy); }
.bio-back:hover svg { transform: translateX(-4px); }

.bio-head .eyebrow { margin-bottom: var(--space-xs); }
.bio-name {
  margin: 0;
  font-size: var(--step-5); font-weight: var(--weight-regular);
  line-height: var(--leading-tight); letter-spacing: var(--tracking-tight);
  color: var(--on-navy);
}
.bio-name__cred {
  display: block;
  margin-top: var(--space-sm);
  font-size: var(--step--1); font-weight: var(--weight-medium);
  font-stretch: var(--width-wide); letter-spacing: var(--tracking-caps);
  color: var(--gold-light);
}

/* focus areas: quiet link tags to the matching service pages */
.bio-focus {
  display: flex; flex-wrap: wrap; gap: var(--space-xs);
  margin: var(--space-lg) 0 0; padding: 0; list-style: none;
}
.bio-focus a {
  display: inline-flex; align-items: center;
  padding: 0.45rem 0.85rem;
  font-size: var(--step--2); font-weight: var(--weight-medium);
  font-stretch: var(--width-narrow); letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--on-navy); text-decoration: none;
  border: 1px solid var(--on-navy-line); border-radius: var(--radius-pill);
  transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
}
.bio-focus a:hover { color: var(--gold-light); border-color: var(--gold-light); background: rgba(210, 163, 67, 0.06); }

/* the philosophy, beside the name */
.bio-belief {
  margin: var(--space-2xl) 0 0;
  position: relative;
  padding: var(--space-2xs) 0 var(--space-2xs) var(--space-lg);
  max-width: 36rem;
}
.bio-belief::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0;
  width: 2px; background: var(--gold-light);
  transform-origin: center top;
}
.bio-belief__label {
  margin-bottom: var(--space-xs);
  font-size: var(--step--2); font-weight: var(--weight-medium);
  font-stretch: var(--width-narrow); letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-inverse-muted);
}
.bio-belief blockquote { margin: 0; }
.bio-belief p {
  margin: 0;
  font-size: var(--step-1); font-weight: var(--weight-light);
  line-height: 1.4; letter-spacing: -0.005em;
  color: var(--on-navy);
}
.bio-belief em { font-style: italic; font-weight: var(--weight-regular); color: var(--gold-light); }

/* --- Proof strip (raised over the head's edge) ------------------------------ */
.bio-proof { position: relative; z-index: var(--z-raised); padding-top: 1px; }  /* 1px stops the card's negative margin collapsing into the band */
.bio-proof__card {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: calc((var(--space-4xl) + var(--space-md)) * -1) 0 0;
  position: relative;
  background: var(--surface-raised);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.bio-proof__card::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: 1;
  height: 3px; background: var(--gold);
  transform-origin: left center;
}
.bio-proof__item {
  display: flex; flex-direction: column; justify-content: flex-start;
  gap: var(--space-xs);
  padding: var(--space-lg) var(--space-md);
}
.bio-proof__item:nth-child(even) { border-left: 1px solid var(--rule); }
.bio-proof__item:nth-child(n+3) { border-top: 1px solid var(--rule); }
.bio-proof__item { position: relative; transition: background-color var(--dur-base) var(--ease-out); }
.bio-proof dt {
  position: relative; align-self: start;
  transition: transform var(--dur-base) var(--ease-emph);
  font-size: var(--step-4); font-weight: var(--weight-bold);
  font-stretch: var(--width-wide); line-height: 1;
  letter-spacing: -0.01em; color: var(--navy);
  font-variant-numeric: tabular-nums;
}
.bio-proof dt b { font-weight: var(--weight-bold); color: var(--gold); margin-left: 0.04em; transition: transform var(--dur-base) var(--ease-emph); }
.bio-proof dt::after {           /* hover underline */
  content: ""; position: absolute; left: 0.04em; bottom: -0.06em;
  width: 1.4em; height: 2px; background: var(--gold);
  transform: scaleX(0); transform-origin: left center;
  transition: transform var(--dur-slow) var(--ease-emph);
}
@media (hover: hover) {
  .bio-proof__item:hover { background: var(--paper); }
  .bio-proof__item:hover dt { transform: translateY(-3px); }
  .bio-proof__item:hover dt b { transform: translateY(-2px) rotate(90deg); }
  .bio-proof__item:hover dt::after { transform: scaleX(1); }
}
.bio-proof dd {
  margin: 0;
  font-size: var(--step--1); line-height: 1.4;
  color: var(--text-muted);
  max-width: 24ch;
}

/* --- Body: lede, three beats, credentials ------------------------------------ */
.bio-body { padding-block: var(--section-y-tight) var(--space-3xl); background: var(--paper); }
.bio-body__grid { display: grid; gap: var(--space-2xl); }
.bio-story { min-width: 0; }

.bio-lede {
  position: relative;
  margin: 0 0 var(--space-2xl);
  padding-top: var(--space-lg);
  max-width: 52ch;
  font-size: var(--step-1); font-weight: var(--weight-regular);
  line-height: 1.5; letter-spacing: -0.005em;
  color: var(--navy);
}
.bio-lede::before {               /* short gold line: where the bio starts */
  content: ""; position: absolute; left: 0; top: 0;
  width: 2.5rem; height: 2px; background: var(--gold);
  transform-origin: left center;
}

.bio-beat {
  position: relative;
  display: grid; gap: var(--space-sm);
  padding-block: var(--space-xl);
}
.bio-beat::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0;
  height: 1px; background: var(--rule);
  transform-origin: left center;
}
.bio-beat:last-child { padding-bottom: 0; }
.bio-beat__label {
  margin: 0;
  display: flex; align-items: baseline; gap: var(--space-sm);
  font-size: var(--step--1); font-weight: var(--weight-medium);
  font-stretch: var(--width-narrow); letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--navy);
}
.bio-beat__label span { font-variant-numeric: tabular-nums; color: var(--text-meta); letter-spacing: 0.04em; }
.bio-beat p { margin: 0; max-width: var(--measure); color: var(--text); line-height: var(--leading-normal); }

.bio-side { display: grid; gap: var(--space-lg); align-self: start; }
.bio-card {
  padding: var(--space-xl);
  position: relative;
  background: var(--paper-warm);
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}
.bio-card::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0;
  height: 2px; background: var(--gold);
  transform-origin: left center;
}
.bio-card__label {
  margin: 0 0 var(--space-md);
  font-size: var(--step--1); font-weight: var(--weight-medium);
  font-stretch: var(--width-narrow); letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--navy);
}
.bio-card dl { margin: 0; display: grid; gap: 0; }
.bio-card dl > div { padding-block: var(--space-md); border-top: 1px solid var(--rule); }
.bio-card dl > div:first-child { border-top: 0; padding-top: 0; }
.bio-card dt {
  margin-bottom: var(--space-2xs);
  font-size: var(--step--2); font-weight: var(--weight-medium);
  font-stretch: var(--width-narrow); letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--text-meta);
}
.bio-card dd { margin: 0; font-size: var(--step--1); line-height: 1.5; color: var(--text); }
.bio-card dd strong { font-weight: var(--weight-medium); color: var(--navy); }
.bio-card__go {
  display: inline-flex; align-items: center; gap: 0.4rem;
  margin-top: var(--space-md);
  font-size: var(--step--1); font-weight: var(--weight-medium); color: var(--navy); text-decoration: none;
  transition: color var(--dur-fast) var(--ease-out);
}
.bio-card__go svg { width: 11px; transition: transform var(--dur-base) var(--ease-emph); }
.bio-card__go:hover { color: var(--gold); }
.bio-card__go:hover svg { transform: translate(2px, -2px); }

/* --- Work with (navy card on paper) ----------------------------------------- */
.bio-cta { padding-block: var(--space-md) var(--section-y-tight); background: var(--paper); }
.bio-cta__card {
  position: relative;
  display: grid; gap: var(--space-xl);
  padding: var(--space-2xl) var(--space-xl);
  border-radius: var(--radius-sm);
  background:
    radial-gradient(90% 140% at 100% 100%, var(--navy-deep) 0%, rgba(29, 63, 95, 0) 65%),
    var(--navy);
  overflow: hidden;
}
.bio-cta__card::before {          /* the gold line, top left */
  content: ""; position: absolute; top: 0; left: var(--space-xl);
  width: 4rem; height: 3px; background: var(--gold-light);
  transform-origin: left center;
}
.bio-cta__card .eyebrow { margin-bottom: var(--space-sm); }
.bio-cta__title {
  margin: 0;
  font-size: var(--step-4); font-weight: var(--weight-regular);
  line-height: var(--leading-tight); letter-spacing: var(--tracking-tight);
  color: var(--on-navy);
}
.bio-cta__title em { font-style: italic; color: var(--gold-light); }
.bio-cta__body {
  margin: var(--space-md) 0 0; max-width: 34ch;
  font-size: var(--step-0); line-height: var(--leading-normal);
  color: var(--text-inverse-muted);
}
.bio-cta__actions { display: grid; justify-items: start; gap: var(--space-lg); }
.bio-cta__actions .btn { white-space: normal; text-align: center; }

/* --- The team, as faces ------------------------------------------------------- */
.bio-team { padding-block: var(--section-y-tight); background: var(--paper-warm); }
.bio-team__head {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: var(--space-sm) var(--space-lg);
  margin-bottom: var(--space-xl);
}
.bio-team__title { margin: 0; font-size: var(--step-2); font-weight: var(--weight-regular); letter-spacing: -0.01em; color: var(--navy); }
.bio-team__next {
  display: inline-flex; align-items: center; gap: var(--space-xs);
  font-size: var(--step--1); font-weight: var(--weight-medium);
  color: var(--navy); text-decoration: none;
  border-bottom: 1px solid var(--rule); padding-bottom: 2px;
}
.bio-team__next svg { width: 18px; transition: transform var(--dur-base) var(--ease-emph); }
.bio-team__next:hover { color: var(--gold); border-bottom-color: var(--gold); }
.bio-team__next:hover svg { transform: translateX(4px); }

.bio-team__list {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-lg) var(--space-sm);
  margin: 0; padding: 0; list-style: none;
}
.bio-tm { display: grid; gap: var(--space-2xs); color: inherit; text-decoration: none; }
.bio-tm__face {
  position: relative; display: grid; place-items: center;
  aspect-ratio: 4 / 5; overflow: hidden;
  margin-bottom: var(--space-xs);
  border-radius: var(--radius-sm);
  background: var(--navy);
  outline: 2px solid transparent; outline-offset: 3px;
  transition: outline-color var(--dur-base) var(--ease-out);
}
.bio-tm__face img {
  width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%;
  filter: grayscale(1) contrast(1.05);
  transition: filter var(--dur-slow) var(--ease-out), transform 700ms var(--ease-emph);
}
.bio-tm__face--init {
  font-size: var(--step-2); font-weight: var(--weight-medium);
  font-stretch: var(--width-wide); letter-spacing: 0.06em;
  color: var(--gold-light);
  background: linear-gradient(160deg, var(--navy-deep), var(--navy));
}
.bio-tm__name { font-size: var(--step--1); font-weight: var(--weight-medium); line-height: 1.25; color: var(--navy); }
.bio-tm__role { display: none; font-size: var(--step--2); line-height: 1.35; color: var(--text-muted); }
.bio-tm:hover .bio-tm__face img, .bio-tm[aria-current] .bio-tm__face img { filter: none; }
.bio-tm:hover .bio-tm__face img { transform: scale(1.04); }
.bio-tm:hover .bio-tm__face { outline-color: var(--paper-line); }
.bio-tm[aria-current] .bio-tm__face { outline-color: var(--gold); }
.bio-tm[aria-current] .bio-tm__name { font-weight: var(--weight-bold); }

/* --- Breakpoints --------------------------------------------------------------- */
/* Strips with fewer than four facts (10/23): three → the third spans the row on phones; two → two columns everywhere. */
.bio-proof__card[data-n="3"] .bio-proof__item:nth-child(3) { grid-column: 1 / -1; }
@media (min-width: 800px) {  /* was 640: four acronyms ran into the padding below ~800 (10/23) */
  .bio-proof__card { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .bio-proof__card[data-n="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bio-proof__card[data-n="3"] .bio-proof__item:nth-child(3) { grid-column: auto; }
  .bio-proof__card[data-n="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bio-proof__item { padding: var(--space-xl) var(--space-lg); }
  .bio-proof__item + .bio-proof__item { border-left: 1px solid var(--rule); }
  .bio-proof__item:nth-child(n+3) { border-top: 0; }
}
@media (min-width: 768px) {
  .bio-head { padding-block: var(--space-3xl) calc(var(--space-4xl) + var(--space-3xl)); }
  .bio-head__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-3xl); }
  .bio-photo { width: 100%; }
  .bio-beat { grid-template-columns: 9rem minmax(0, 1fr); gap: var(--space-lg); }
  .bio-beat__label { flex-direction: column; gap: var(--space-2xs); padding-top: 0.2em; }
  .bio-lede { padding: 0 0 0 calc(9rem + var(--space-lg)); max-width: none; }
  .bio-lede::before { top: 0.75em; }
  .bio-cta__card { padding: var(--space-3xl); }
  .bio-cta__card::before { left: var(--space-3xl); }
  .bio-team__list { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-lg) var(--space-sm); }
  .bio-creds dl { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--space-xl); }
  .bio-creds dl > div { border-top: 0; padding-top: 0; }
  .bio-also dl > div { display: grid; grid-template-columns: 1fr 2fr; column-gap: var(--space-xl); }
}
@media (min-width: 1024px) {
  .bio-head__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-4xl); }
  .bio-photo { max-width: 26rem; }
  .bio-body__grid { grid-template-columns: minmax(0, 8fr) minmax(0, 3.4fr); gap: var(--space-4xl); }
  .bio-side { position: sticky; top: calc(var(--header-h-lg) + var(--space-lg)); margin-top: var(--space-2xs); }
  .bio-cta__card { grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--space-3xl); padding: var(--space-3xl) var(--space-4xl); }
  .bio-cta__card::before { left: var(--space-4xl); }
  .bio-cta__actions { justify-items: end; }
  .bio-team__list { gap: var(--space-lg); }
  .bio-tm__role { display: block; }
  .bio-creds dl { grid-template-columns: 1fr; }
  .bio-creds dl > div { border-top: 1px solid var(--rule); padding-top: var(--space-md); }
  .bio-also dl > div { display: block; }
  .bio-creds dl > div:first-child { border-top: 0; padding-top: 0; }
}

@media (min-width: 1280px) {
  .bio-beat { grid-template-columns: 11rem minmax(0, 1fr); gap: var(--space-xl); }
  .bio-lede { padding-left: calc(11rem + var(--space-xl)); }
}


/* --- Motion (10/15): plays once on arrival, nothing tied to scroll -------------
   Lines draw, lists stagger, the frame settles behind the portrait. Hidden
   states only exist under html.js; reduced motion shows the end state. */
.js .bio-photo[data-reveal]::before { opacity: 0; transform: translate(calc(var(--space-md) * -1), calc(var(--space-md) * -1)); }
.js .bio-photo[data-reveal].is-in::before { opacity: .75; transform: none; transition: opacity var(--dur-slow) var(--ease-out) 600ms, transform var(--dur-scroll) var(--ease-emph) 600ms; }

.js .bio-focus[data-reveal] li { opacity: 0; transform: translate3d(0, 10px, 0); }
.js .bio-focus[data-reveal].is-in li { opacity: 1; transform: none; transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-emph); }
.js .bio-focus[data-reveal].is-in li:nth-child(1) { transition-delay: 380ms; }
.js .bio-focus[data-reveal].is-in li:nth-child(2) { transition-delay: 460ms; }
.js .bio-focus[data-reveal].is-in li:nth-child(3) { transition-delay: 540ms; }
.js .bio-focus[data-reveal].is-in li:nth-child(4) { transition-delay: 620ms; }

.js .bio-belief[data-reveal]::before { transform: scaleY(0); }
.js .bio-belief[data-reveal].is-in::before { transform: scaleY(1); transition: transform var(--dur-scroll) var(--ease-emph) 650ms; }
.js .bio-belief[data-reveal] em { color: var(--on-navy); }
.js .bio-belief[data-reveal].is-in em { color: var(--gold-light); transition: color var(--dur-slow) var(--ease-out) 1200ms; }

.js .bio-proof__card[data-reveal]::before { transform: scaleX(0); }
.js .bio-proof__card[data-reveal].is-in::before { transform: scaleX(1); transition: transform var(--dur-scroll) var(--ease-emph) 250ms; }
.js .bio-proof__card[data-reveal] .bio-proof__item { opacity: 0; }
.js .bio-proof__card[data-reveal].is-in .bio-proof__item { opacity: 1; transition: opacity var(--dur-slow) var(--ease-out); }
.js .bio-proof__card[data-reveal].is-in .bio-proof__item:nth-child(2) { transition-delay: 90ms; }
.js .bio-proof__card[data-reveal].is-in .bio-proof__item:nth-child(3) { transition-delay: 180ms; }
.js .bio-proof__card[data-reveal].is-in .bio-proof__item:nth-child(4) { transition-delay: 270ms; }
.js .bio-proof__card[data-reveal] dt b { opacity: 0; display: inline-block; transform: scale(.6); }
.js .bio-proof__card[data-reveal].is-in dt b { opacity: 1; transform: none; transition: opacity var(--dur-base) var(--ease-out) 1450ms, transform var(--dur-slow) var(--ease-emph) 1450ms; }

.js .bio-lede[data-reveal]::before { transform: scaleX(0); }
.js .bio-lede[data-reveal].is-in::before { transform: scaleX(1); transition: transform var(--dur-slow) var(--ease-emph) 300ms; }

.js .bio-beat[data-reveal]::before { transform: scaleX(0); }
.js .bio-beat[data-reveal].is-in::before { transform: scaleX(1); transition: transform var(--dur-scroll) var(--ease-emph) 100ms; }
.js .bio-beat[data-reveal] .bio-beat__label span { opacity: 0; }
.js .bio-beat[data-reveal].is-in .bio-beat__label span { opacity: 1; transition: opacity var(--dur-slow) var(--ease-out) 450ms; }

.js .bio-card[data-reveal]::before { transform: scaleX(0); }
.js .bio-card[data-reveal].is-in::before { transform: scaleX(1); transition: transform var(--dur-scroll) var(--ease-emph) 300ms; }
.js .bio-card[data-reveal] dl > div { opacity: 0; transform: translate3d(0, 8px, 0); }
.js .bio-card[data-reveal].is-in dl > div { opacity: 1; transform: none; transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-emph); }
.js .bio-card[data-reveal].is-in dl > div:nth-child(1) { transition-delay: 350ms; }
.js .bio-card[data-reveal].is-in dl > div:nth-child(2) { transition-delay: 450ms; }
.js .bio-card[data-reveal].is-in dl > div:nth-child(3) { transition-delay: 550ms; }

.js .bio-cta__card[data-reveal]::before { transform: scaleX(0); }
.js .bio-cta__card[data-reveal].is-in::before { transform: scaleX(1); transition: transform var(--dur-slow) var(--ease-emph) 450ms; }
.js .bio-cta__card[data-reveal] .bio-cta__text > *,
.js .bio-cta__card[data-reveal] .bio-cta__actions > * { opacity: 0; transform: translate3d(0, 12px, 0); }
.js .bio-cta__card[data-reveal].is-in .bio-cta__text > *,
.js .bio-cta__card[data-reveal].is-in .bio-cta__actions > * { opacity: 1; transform: none; transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-emph); }
.js .bio-cta__card[data-reveal].is-in .bio-cta__text > :nth-child(1) { transition-delay: 250ms; }
.js .bio-cta__card[data-reveal].is-in .bio-cta__text > :nth-child(2) { transition-delay: 340ms; }
.js .bio-cta__card[data-reveal].is-in .bio-cta__text > :nth-child(3) { transition-delay: 430ms; }
.js .bio-cta__card[data-reveal].is-in .bio-cta__actions > :nth-child(1) { transition-delay: 520ms; }
.js .bio-cta__card[data-reveal].is-in .bio-cta__actions > :nth-child(2) { transition-delay: 610ms; }

.js .bio-team__list[data-reveal] li { opacity: 0; transform: translate3d(0, 14px, 0); }
.js .bio-team__list[data-reveal].is-in li { opacity: 1; transform: none; transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-emph); }
.js .bio-team__list[data-reveal] .bio-tm__face > * { clip-path: inset(100% 0 0 0); }
.js .bio-team__list[data-reveal].is-in .bio-tm__face > * { clip-path: inset(0 0 0 0); transition: clip-path 800ms var(--ease-emph); }
.js .bio-team__list[data-reveal].is-in li:nth-child(1), .js .bio-team__list[data-reveal].is-in li:nth-child(1) .bio-tm__face > * { transition-delay: 150ms; }
.js .bio-team__list[data-reveal].is-in li:nth-child(2), .js .bio-team__list[data-reveal].is-in li:nth-child(2) .bio-tm__face > * { transition-delay: 220ms; }
.js .bio-team__list[data-reveal].is-in li:nth-child(3), .js .bio-team__list[data-reveal].is-in li:nth-child(3) .bio-tm__face > * { transition-delay: 290ms; }
.js .bio-team__list[data-reveal].is-in li:nth-child(4), .js .bio-team__list[data-reveal].is-in li:nth-child(4) .bio-tm__face > * { transition-delay: 360ms; }
.js .bio-team__list[data-reveal].is-in li:nth-child(5), .js .bio-team__list[data-reveal].is-in li:nth-child(5) .bio-tm__face > * { transition-delay: 430ms; }
.js .bio-team__list[data-reveal].is-in li:nth-child(6), .js .bio-team__list[data-reveal].is-in li:nth-child(6) .bio-tm__face > * { transition-delay: 500ms; }
.js .bio-team__list[data-reveal].is-in li:nth-child(7), .js .bio-team__list[data-reveal].is-in li:nth-child(7) .bio-tm__face > * { transition-delay: 570ms; }
.js .bio-team__list[data-reveal].is-in li:nth-child(8), .js .bio-team__list[data-reveal].is-in li:nth-child(8) .bio-tm__face > * { transition-delay: 640ms; }

/* --- Motion and print ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .js .bio-photo[data-reveal] picture { clip-path: none; transition: none; }
  .bio-photo img, .bio-tm__face img { transition: none; }
  .bio-proof__item, .bio-proof dt, .bio-proof dt b, .bio-proof dt::after { transition: none; }
  .js .bio-photo[data-reveal]::before { opacity: .75; transform: none; transition: none; }
  .js [data-reveal] li, .js [data-reveal] dl > div, .js [data-reveal] .bio-proof__item,
  .js [data-reveal] dt b, .js [data-reveal] .bio-beat__label span,
  .js .bio-cta__card[data-reveal] .bio-cta__text > *, .js .bio-cta__card[data-reveal] .bio-cta__actions > * { opacity: 1; transform: none; transition: none; }
  .js .bio-team__list[data-reveal] .bio-tm__face > * { clip-path: none; transition: none; }
  .js [data-reveal]::before { transform: none; transition: none; }
  .js .bio-belief[data-reveal] em { color: var(--gold-light); transition: none; }
}
@media print {
  .bio-head { background: none; color: var(--ink); padding-block: 0 var(--space-lg); }
  .bio-name, .bio-belief p { color: var(--ink); }
  .bio-proof__card { margin-top: 0; box-shadow: none; }
  .bio-back, .bio-cta, .bio-team { display: none; }
  .bio-side { position: static; }
}
