/* Equipo · hoja de contactos. Tema light/dark vía tokens del hub. */
.team{
  position:relative;z-index:3;
  overflow:hidden;
  color:var(--charcoal,#f2f3f4);
  background:
    radial-gradient(60% 40% at 80% -10%, var(--section-glow,rgba(255,255,255,.035)), transparent 60%),
    linear-gradient(180deg, var(--mist,#0c0e11) 0%, var(--mist,#0c0e11) 100%);
}
.team[hidden]{display:none}
.team__in{
  position:relative;
  width:min(1180px, 100% - 64px);
  margin:0 auto;
  padding:clamp(56px, 8vh, 96px) 0 clamp(72px, 10vh, 120px);
}

.team__head{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) auto;
  gap:clamp(20px, 4vw, 48px);
  align-items:end;
  margin-bottom:clamp(28px, 4vh, 40px);
  padding-bottom:clamp(20px, 2.8vh, 28px);
  border-bottom:1px solid var(--line,rgba(255,255,255,.1));
}
.team__title{
  margin:0;
  display:flex;flex-direction:column;align-items:flex-start;
  gap:clamp(10px, 1.4vh, 14px);
  max-width:min(100%, 20em);
  font:650 clamp(28px, 4vw, 48px)/1.1em "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.035em;
}
.team__title::before{
  content:"";display:block;height:2px;background:var(--orange,#FF6600);
  width:0;
}
.team__title.is-shutter::before{
  animation:holdMarkDraw .55s cubic-bezier(.16,1,.3,1) forwards;
}
.team__title .hold__shutter-line{justify-content:flex-start}
.team__title .hold__shutter-word{
  display:inline-flex;flex-wrap:nowrap;align-items:center;
}
.team__title .hold__shutter-line--lead{
  font:650 12px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted-2,rgba(255,255,255,.48));
}
.team__title .hold__shutter-line--lead .hold__shutter-char{padding:.04em .045em .12em}
.team__title .hold__shutter-line--main{
  font:650 clamp(26px, 3.6vw, 44px)/1.1em "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.035em;
  color:var(--charcoal,#f2f3f4);
  flex-wrap:wrap;max-width:100%;
  overflow:visible;row-gap:.08em;
}
.team__title .hold__shutter-line--main .hold__shutter-char{
  padding:.06em .012em .12em;
  line-height:1.1em;
}
.team__title.is-shutter .hold__shutter-base{
  opacity:0;filter:blur(10px);transform:translateY(16px);
  animation:holdShutterBase .55s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms + 40ms)
}
.team__title.is-shutter .hold__shutter-slice--top{
  animation:holdShutterSweepR .55s cubic-bezier(.4,0,.2,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms)
}
.team__title.is-shutter .hold__shutter-slice--mid{
  animation:holdShutterSweepL .55s cubic-bezier(.4,0,.2,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms + 40ms)
}
.team__title.is-shutter .hold__shutter-slice--bot{
  animation:holdShutterSweepR .55s cubic-bezier(.4,0,.2,1) forwards;
  animation-delay:calc(var(--i, 0) * 14ms + 80ms)
}

.team__lead{
  margin:0;
  max-width:40ch;
  font:400 15px/1.5 "Geist Sans",system-ui,sans-serif;
  color:var(--muted,rgba(255,255,255,.58));
}
.team__head-side{
  display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;
  justify-content:flex-end;
}
.team__count{
  display:flex;align-items:baseline;gap:12px;
}
.team__count-num{
  margin:0;
  font:800 clamp(36px, 5vw, 52px)/.9 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.06em;color:var(--ink,#fff);
  font-variant-numeric:tabular-nums;
}
.team__count-meta{
  margin:0;
  max-width:16ch;
  font:650 11px/1.35 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-2,rgba(255,255,255,.45));
}

/* Filtros por sede: texto plano, sin píldoras */
.team__filters{
  display:flex;flex-wrap:wrap;gap:6px 22px;
  margin:0 0 clamp(18px, 2.6vh, 26px);
}
.team__filter{
  appearance:none;border:0;background:transparent;
  display:inline-flex;align-items:center;min-height:38px;padding:8px 2px;cursor:pointer;
  font:650 11px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted-2,rgba(255,255,255,.38));
  position:relative;
  transition:color .25s ease;
}
.team__filter::after{
  content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;
  background:var(--orange,#FF6600);
  transition:right .3s cubic-bezier(.16,1,.3,1);
}
.team__filter:hover{color:var(--charcoal,rgba(255,255,255,.72))}
.team__filter[aria-pressed="true"]{color:var(--ink,#fff)}
.team__filter[aria-pressed="true"]::after{right:0}

/* Hoja de contactos */
.team__sheet{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  border-top:1px solid var(--line-2,rgba(255,255,255,.08));
  border-left:1px solid var(--line-2,rgba(255,255,255,.08));
}
.team__card{
  position:relative;
  display:flex;flex-direction:column;
  border-right:1px solid var(--line-2,rgba(255,255,255,.08));
  border-bottom:1px solid var(--line-2,rgba(255,255,255,.08));
  background:transparent;
  transition:background .3s ease;
}
.team__card.is-out{display:none}
.team__card:hover{background:var(--hover-fill,rgba(255,255,255,.035))}
.team__frame{
  position:relative;
  aspect-ratio:3 / 4;
  overflow:hidden;
  background:#0d1013;
}
.team__frame img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.08) brightness(.82);
  transform:scale(1.02);
  transition:filter .45s ease, transform .6s cubic-bezier(.16,1,.3,1);
}
.team__card:hover .team__frame img{
  filter:grayscale(0) contrast(1.02) brightness(1);
  transform:scale(1.06);
}
.team__frame::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(6,8,10,.05) 0%, rgba(6,8,10,.45) 78%, rgba(6,8,10,.82) 100%);
}
.team__idx{
  position:absolute;top:8px;left:9px;z-index:2;
  margin:0;
  font:650 10px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.12em;
  color:rgba(255,255,255,.55);
  text-shadow:0 1px 4px rgba(0,0,0,.6);
  font-variant-numeric:tabular-nums;
}
.team__sede{
  position:absolute;right:9px;bottom:8px;z-index:2;
  margin:0;
  font:650 9px/1 "Geist Sans",system-ui,sans-serif;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.62);
  text-shadow:0 1px 4px rgba(0,0,0,.7);
  opacity:0;transform:translateY(4px);
  transition:opacity .3s ease, transform .3s ease;
}
.team__card:hover .team__sede{opacity:1;transform:translateY(0)}
.team__info{
  flex:1;
  display:flex;flex-direction:column;gap:4px;
  min-height:78px;
  padding:11px 10px 12px;
}
.team__name{
  margin:0;
  font:650 13px/1.25 "Geist Sans",system-ui,sans-serif;
  letter-spacing:-.015em;
  color:var(--ink,#fff);
  text-wrap:balance;
}
.team__role{
  margin:0;
  font:500 11px/1.35 "Geist Sans",system-ui,sans-serif;
  color:var(--muted-2,rgba(255,255,255,.46));
}
/* Ficha propia: CTA en flujo, sin flecha absoluta sobre el cargo */
.team__card--link{
  color:inherit;text-decoration:none;
}
.team__go{
  position:relative;
  display:inline-flex;align-items:center;gap:8px;
  margin-top:auto;
  padding:9px 0 4px;
  opacity:0;
  transform:translateY(5px);
  pointer-events:none;
  transition:
    opacity .28s ease,
    transform .36s cubic-bezier(.16,1,.3,1);
}
.team__go::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--orange,#FF6600);
  transition:right .32s cubic-bezier(.16,1,.3,1);
}
.team__go-lab{
  font:650 10px/1 "Geist Sans",system-ui,sans-serif;
  font-style:normal;
  letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.48);
  transition:color .25s ease;
}
.team__go-arr{
  position:relative;
  width:14px;height:8px;flex:0 0 14px;
  transition:transform .36s cubic-bezier(.16,1,.3,1);
}
.team__go-arr::before,
.team__go-arr::after{
  content:"";position:absolute;
}
.team__go-arr::before{
  left:0;top:3px;width:12px;height:1px;
  background:currentColor;
}
.team__go-arr::after{
  right:0;top:0;width:6px;height:6px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:rotate(45deg);
}
.team__go-arr{color:rgba(255,255,255,.48);transition:color .25s ease, transform .36s cubic-bezier(.16,1,.3,1)}
.team__card--link:hover .team__go,
.team__card--link:focus-visible .team__go{
  opacity:1;
  transform:translateY(0);
}
.team__card--link:hover .team__go::after,
.team__card--link:focus-visible .team__go::after{
  right:0;
}
.team__card--link:hover .team__go-lab,
.team__card--link:focus-visible .team__go-lab,
.team__card--link:hover .team__go-arr,
.team__card--link:focus-visible .team__go-arr{
  color:var(--orange,#FF6600);
}
.team__card--link:hover .team__go-arr,
.team__card--link:focus-visible .team__go-arr{
  transform:translateX(3px);
}

.team__card::before{
  content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;
  background:var(--orange,#FF6600);
  transition:width .35s cubic-bezier(.16,1,.3,1);
}
.team__card--link:hover::before,
.team__card--link:focus-visible::before{width:100%}

.team__foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:14px 24px;
  margin-top:clamp(22px, 3vh, 32px);
}
.team__note{
  margin:0;
  max-width:52ch;
  font:400 13px/1.5 "Geist Sans",system-ui,sans-serif;
  color:var(--muted-2,rgba(255,255,255,.42));
}

.team.is-pending .team__card,
.team.is-pending .team__lead,
.team.is-pending .team__count,
.team.is-pending .team__filters,
.team.is-pending .team__foot{opacity:0}
.team.is-pending .team__title:not(.is-shutter) .hold__shutter-base{opacity:0}

@media (max-width:1100px){
  .team__sheet{grid-template-columns:repeat(4, minmax(0, 1fr))}
}
@media (max-width:900px){
  .team__in{width:min(1180px, 100% - 40px)}
  .team__head{grid-template-columns:1fr}
  .team__head-side{justify-content:flex-start}
  .team__sheet{grid-template-columns:repeat(3, minmax(0, 1fr))}
}
@media (max-width:560px){
  .team__sheet{grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px}
  .team__title .hold__shutter-line--main{
    font-size:clamp(24px, 6.8vw, 34px);
    letter-spacing:-.04em;
  }
  .team__lead{font-size:15px;max-width:36ch}
  .team__filters{gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .team__filters::-webkit-scrollbar{display:none}
}

@media (prefers-reduced-motion:reduce){
  .team__title.is-shutter .hold__shutter-base,
  .team__title.is-shutter .hold__shutter-slice{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}
  .team__title::before{width:48px}
  .team.is-pending .team__card,
  .team.is-pending .team__lead,
  .team.is-pending .team__count,
  .team.is-pending .team__filters,
  .team.is-pending .team__foot{opacity:1}
  .team__frame img{transition:none}
  .team__go,
  .team__go-arr,
  .team__card::before{transition:none}
  .team__card--link .team__go{opacity:1;transform:none}
}
