/* ═══ TEAM — full-bleed cinematic, one screen per person ═══ */
.tm-person{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--black)}
.tm-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center 28%;
  transform:scale(1.04);transition:transform 1.6s ease-out}
.tm-person.in .tm-bg{transform:scale(1)}
.tm-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(5,8,5,0.95) 4%,rgba(5,8,5,0.45) 40%,rgba(5,8,5,0.2) 70%,rgba(5,8,5,0.5) 100%)}
.tm-scrim::after{content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(5,8,5,0.78) 0%,rgba(5,8,5,0.35) 42%,transparent 68%)}
.tm-inner{position:relative;z-index:2;width:100%;max-width:1280px;margin:0 auto;
  padding:0 clamp(1.5rem,5vw,5.5rem) clamp(3rem,8vh,6rem)}
.tm-role{font-family:var(--font-sub);font-size:0.74rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;
  color:var(--lime);display:flex;align-items:center;gap:0.85rem;margin-bottom:1.2rem;
  opacity:0;transform:translateY(22px);transition:opacity 0.9s ease,transform 1s cubic-bezier(0.16,1,0.3,1)}
.tm-role::before{content:'';width:42px;height:2px;background:var(--alert)}
.tm-name{font-family:var(--font-head);font-weight:800;font-size:clamp(2.6rem,7vw,6rem);line-height:0.88;
  text-transform:uppercase;color:#fff;letter-spacing:-0.025em;margin:0 0 0.5rem;text-shadow:0 8px 50px rgba(0,0,0,0.55);
  opacity:0;transform:translateY(34px);transition:opacity 1s ease 0.08s,transform 1.05s cubic-bezier(0.16,1,0.3,1) 0.08s}
.tm-name .green{color:var(--lime)}
.tm-org{font-family:var(--font-accent);font-style:italic;font-weight:500;font-size:clamp(1.05rem,1.7vw,1.45rem);
  color:rgba(238,244,232,0.85);margin:0 0 1.6rem;
  opacity:0;transform:translateY(24px);transition:opacity 1s ease 0.16s,transform 1s cubic-bezier(0.16,1,0.3,1) 0.16s}
.tm-bio{max-width:60ch;
  opacity:0;transform:translateY(24px);transition:opacity 1s ease 0.24s,transform 1s cubic-bezier(0.16,1,0.3,1) 0.24s}
.tm-bio p{font-family:var(--font-body);font-weight:300;font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.65;
  color:rgba(238,244,232,0.82);margin:0 0 0.9rem;text-shadow:0 2px 14px rgba(0,0,0,0.4)}
.tm-bio p:last-child{margin-bottom:0}
.tm-bio strong{color:#fff;font-weight:600}
.tm-award{display:inline-flex;align-items:flex-start;gap:0.7rem;margin-top:1.4rem;padding:0.85rem 1.2rem;
  border:1px solid var(--border);background:rgba(186,222,158,0.05);max-width:48ch;
  font-family:var(--font-sub);font-size:0.82rem;line-height:1.45;color:rgba(238,244,232,0.78)}
.tm-award .star{color:var(--lime)}
.tm-award strong{color:var(--lime);font-weight:600}
.tm-person.in .tm-role,.tm-person.in .tm-name,.tm-person.in .tm-org,.tm-person.in .tm-bio{opacity:1;transform:none}

/* right-aligned variant (text sits on the right-hand side) */
.tm-right .tm-inner{text-align:right}
.tm-right .tm-role{flex-direction:row-reverse}
.tm-right .tm-bio{margin-left:auto}
.tm-right .tm-award{margin-left:auto;text-align:left}
.tm-right .tm-scrim::after{background:linear-gradient(255deg,rgba(5,8,5,0.78) 0%,rgba(5,8,5,0.35) 42%,transparent 68%)}
@media(max-width:768px){
  .tm-right .tm-scrim::after{background:linear-gradient(255deg,rgba(5,8,5,0.82) 0%,rgba(5,8,5,0.5) 60%,rgba(5,8,5,0.3) 100%)}
}

/* counter so 01/05 reads on each card */
.tm-index{position:absolute;top:clamp(5.5rem,12vh,8rem);right:clamp(1.5rem,5vw,4rem);z-index:2;
  font-family:var(--font-head);font-weight:800;font-size:clamp(1rem,1.4vw,1.3rem);color:rgba(238,244,232,0.4);
  letter-spacing:0.1em;font-variant-numeric:tabular-nums}
.tm-index b{color:var(--lime)}

@media(max-width:768px){
  .tm-person{min-height:90vh}
  .tm-scrim::after{background:linear-gradient(105deg,rgba(5,8,5,0.82) 0%,rgba(5,8,5,0.5) 60%,rgba(5,8,5,0.3) 100%)}
}
@media(prefers-reduced-motion:reduce){
  .tm-bg{transform:none}
  .tm-role,.tm-name,.tm-org,.tm-bio{opacity:1!important;transform:none!important}
}
