/* ============================================================
   neumACt — TEAM · Phase 7.6 editorial finalisation
   The Team page inherits the accepted public grammar from Landing/Research:
   bold Fraunces hierarchy, navy/teal/off-white palette, thin rules,
   compact editorial density and truthful public portraits.
   ============================================================ */

body[data-page="team"]{background:#fbfaf7;color:var(--text-on-light);}
body[data-page="team"] main{overflow:hidden;}
.team-kicker{margin:0 0 .65rem;font:500 .64rem/1.2 var(--ff-mono);letter-spacing:.15em;text-transform:uppercase;color:#007f88;}
.team-kicker--dark{color:#79d6d6;}
.team-empty{margin:0;padding:1.25rem 0;color:#718194;font-size:.8rem;line-height:1.55;}
.team-inline-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:.7rem;color:#007f88;text-decoration:none;font-size:.72rem;font-weight:600;border-bottom:1px solid rgba(0,127,136,.28);padding-bottom:.18rem;}
.team-inline-link:hover{color:#0c3868;border-bottom-color:currentColor;}

/* People-led editorial opening — the Team page is represented by its professional
   structure rather than synthetic scene-setting imagery. */
.team-hero{
  position:relative;
  z-index:1;
  margin:0;
  padding:clamp(4.75rem,7.2vw,7.4rem) 0 clamp(3.2rem,5vw,4.8rem);
  background:
    radial-gradient(circle at 86% 18%,rgba(0,142,150,.09),transparent 24rem),
    linear-gradient(135deg,#fbfaf7 0%,#f4f7f5 62%,#edf5f3 100%);
  border-bottom:1px solid #d9e3e3;
  overflow:hidden;
}
.team-hero::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 49.96%,rgba(12,56,104,.045) 50%,transparent 50.04%),
    linear-gradient(rgba(12,56,104,.035),rgba(12,56,104,.035)) 0 100%/100% 1px no-repeat;
  opacity:.8;
}
.team-hero__grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.62fr);
  column-gap:clamp(3.5rem,8vw,8.5rem);
  row-gap:clamp(2rem,3vw,3rem);
  align-items:end;
  max-width:min(1560px,calc(100vw - 3rem));
  margin:0 auto;
  padding-inline:clamp(1.35rem,2.8vw,3rem);
}
.team-hero__copy{max-width:820px;}
.team-hero .team-kicker{margin-bottom:1.05rem;color:#007f88;}
.team-hero h1{
  margin:0;
  font-family:var(--ff-display);
  font-size:clamp(4rem,7.3vw,7.2rem);
  font-weight:700;
  line-height:.88;
  letter-spacing:-.058em;
  color:#092f58;
  text-wrap:balance;
}
.team-hero__lead{
  max-width:48rem;
  margin:1.35rem 0 0;
  font-size:clamp(1.03rem,1.25vw,1.18rem);
  line-height:1.62;
  color:#526b80;
  text-wrap:pretty;
}
.team-hero__context{
  align-self:end;
  padding-top:1.15rem;
  border-top:1px solid rgba(12,56,104,.2);
}
.team-hero__context>p{
  margin:0;
  max-width:43rem;
  color:#617489;
  font-size:.9rem;
  line-height:1.8;
  text-wrap:pretty;
}
.team-hero__disciplines{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  margin-top:clamp(.3rem,1vw,.9rem);
  border-top:1px solid rgba(12,56,104,.16);
  border-bottom:1px solid rgba(12,56,104,.12);
}
.team-hero__disciplines>span{
  min-width:0;
  padding:.9rem 1rem .95rem 0;
  border-right:1px solid rgba(12,56,104,.1);
  font:500 .61rem/1.35 var(--ff-mono);
  letter-spacing:.075em;
  text-transform:uppercase;
  color:#3f6077;
}
.team-hero__disciplines>span:not(:first-child){padding-left:1rem;}
.team-hero__disciplines>span:last-child{border-right:0;}

@media(max-width:900px){
  .team-hero{padding-top:clamp(3.9rem,8vw,5.2rem);}
  .team-hero__grid{
    grid-template-columns:1fr;
    max-width:calc(100vw - 1.2rem);
    row-gap:1.6rem;
    padding-inline:clamp(1rem,3vw,1.6rem);
  }
  .team-hero__context{max-width:48rem;}
  .team-hero__disciplines{grid-template-columns:repeat(3,minmax(0,1fr));}
  .team-hero__disciplines>span:nth-child(3){border-right:0;}
  .team-hero__disciplines>span:nth-child(n+4){border-top:1px solid rgba(12,56,104,.1);}
}
@media(max-width:640px){
  .team-hero{
    padding:3.4rem 0 2.5rem;
    background:
      radial-gradient(circle at 90% 10%,rgba(0,142,150,.08),transparent 16rem),
      linear-gradient(145deg,#fbfaf7 0%,#f1f6f4 100%);
  }
  .team-hero::before{display:none;}
  .team-hero__grid{max-width:100%;padding-inline:1rem;}
  .team-hero h1{font-size:clamp(2.65rem,10.4vw,3.45rem);}
  .team-hero__lead{margin-top:1rem;font-size:.98rem;}
  .team-hero__context{padding-top:.9rem;}
  .team-hero__context>p{font-size:.82rem;line-height:1.7;}
  .team-hero__disciplines{grid-template-columns:1fr 1fr;}
  .team-hero__disciplines>span{
    padding:.78rem .7rem .8rem 0;
    font-size:.55rem;
  }
  .team-hero__disciplines>span:not(:first-child){padding-left:.7rem;}
  .team-hero__disciplines>span:nth-child(2n){border-right:0;}
  .team-hero__disciplines>span:nth-child(n+3){border-top:1px solid rgba(12,56,104,.1);}
  .team-hero__disciplines>span:last-child{grid-column:1/-1;}
}

/* Shared section heading */
.team-leadership,.team-roster{padding:clamp(3.5rem,5vw,4.8rem) 0;background:#fff;}
.team-coordinators{padding:clamp(3.5rem,5vw,4.8rem) 0;background:#fbfaf7;border-top:1px solid #edf0f2;}
.team-section-head{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,.55fr);gap:clamp(2.5rem,6vw,6rem);align-items:end;margin-bottom:clamp(1.45rem,2.4vw,2.15rem);}
.team-section-head>div{min-width:0;}
.team-section-head h2,.team-network h2,.team-contact h2{margin:0;font-family:var(--ff-display);font-size:clamp(2.35rem,3.7vw,3.9rem);font-weight:700;line-height:.98;letter-spacing:-.04em;color:#0c3868;text-wrap:balance;}
.team-section-head>p{margin:0;max-width:40rem;color:#66758a;line-height:1.68;font-size:.88rem;text-wrap:pretty;}

/* Scientific coordination — same authored information as Research,
   but with a smaller, uncropped portrait and quieter geometry. */
.team-lead{display:grid;grid-template-columns:154px minmax(0,1fr);gap:1.55rem;align-items:start;padding:1rem 0 1.15rem;border-top:1px solid #dbe3e7;border-bottom:1px solid #dbe3e7;}
.team-lead__portrait{position:relative;margin:0;width:154px;aspect-ratio:4/5;overflow:hidden;background:#e7edef;border:1px solid #d6e1e5;box-shadow:0 8px 24px rgba(12,56,104,.06);}
.team-lead__portrait::after,.team-coordinator__portrait::after,.team-person__portrait.has-photo::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);}
.team-lead__portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 29%;filter:saturate(.96) contrast(1.025);}
.team-lead__portrait--initials{display:flex;align-items:flex-end;padding:.8rem;font-family:var(--ff-display);font-size:2rem;font-weight:700;color:#718a99;background:linear-gradient(145deg,#dfe9ec 0%,#eef3f4 68%,#f7f8f8 100%);}
.team-lead__portrait--initials span{line-height:1;}
.team-lead__body{min-width:0;padding:.1rem 0;}
.team-lead__body h3{margin:0;font-family:var(--ff-display);font-size:clamp(2rem,3vw,2.85rem);font-weight:700;line-height:1;letter-spacing:-.035em;color:#112f59;}
.team-lead__role{margin:.35rem 0 0;font-size:.94rem;line-height:1.35;color:#315879;}
.team-lead__position{margin:.38rem 0 0;font-size:.8rem;line-height:1.45;color:#4f6980;}
.team-lead__bio{margin:.65rem 0 0;max-width:72rem;font-size:.82rem;line-height:1.58;color:#60738a;text-wrap:pretty;}

/* Coordinators — compact editorial grid. Leadership role is visible without
   allowing six profiles to dominate the entire page. */
.team-coordinator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dbe3e7;border-left:1px solid #dbe3e7;}
.team-coordinator{min-width:0;display:grid;grid-template-columns:92px minmax(0,1fr);gap:1rem;padding:1rem;border-right:1px solid #dbe3e7;border-bottom:1px solid #dbe3e7;background:rgba(255,255,255,.34);}
.team-coordinator__portrait{position:relative;margin:0;width:92px;aspect-ratio:4/5;overflow:hidden;background:#e7edef;border:1px solid #dbe3e7;}
.team-coordinator__portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%;filter:saturate(.96) contrast(1.02);}
.team-coordinator__portrait[data-person-id="09ed9240-9442-4b80-ba12-8205724039f4"] img{object-position:50% 50%;}
.team-coordinator__portrait[data-person-id="e1cbfedb-a355-49f2-ba07-77f3bf81215c"] img{object-position:50% 42%;}
.team-coordinator__portrait[data-person-id="c290a7e5-7bea-4652-a0ef-251fbc73184d"] img{object-position:50% 29%;}
.team-coordinator__portrait--initials{position:relative;display:flex;align-items:flex-end;padding:.6rem;font-family:var(--ff-display);font-size:1.35rem;font-weight:700;color:#738b9a;background:linear-gradient(145deg,#e0e9ec 0%,#edf2f3 68%,#f6f8f8 100%);}
.team-coordinator__portrait--initials::before,.team-person__portrait--initials::before{content:'';position:absolute;left:.58rem;right:.58rem;top:.58rem;height:1px;background:rgba(12,56,104,.16);}
.team-coordinator__portrait--initials span{line-height:1;}
.team-coordinator__body{min-width:0;align-self:center;}
.team-coordinator__line-no{margin:0 0 .25rem;font:600 .56rem/1.2 var(--ff-mono);letter-spacing:.08em;text-transform:uppercase;color:#00899c;}
.team-coordinator__body h3{margin:0;font-family:var(--ff-display);font-size:1.28rem;font-weight:700;line-height:1.06;letter-spacing:-.022em;color:#112f59;}
.team-coordinator__role{margin:.32rem 0 0;font-size:.67rem;line-height:1.4;color:#728394;}
.team-coordinator__line-name{margin:.48rem 0 0;font-size:.72rem;line-height:1.42;color:#264b6b;font-weight:600;}
.team-coordinator .team-inline-link{font-size:.65rem;margin-top:.55rem;}

/* Multidisciplinary team — editorial people index, not a staff directory. */
.team-roster__grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.6rem,3vw,2.2rem);row-gap:.2rem;}
.team-roster__grid::after{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:#e7ecee;transform:translateX(-.5px);pointer-events:none;}
.team-person{min-width:0;border-top:1px solid #dbe3e7;background:transparent;}
.team-person:hover{z-index:1;}
.team-person__open{position:relative;width:100%;display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:1.2rem;align-items:center;padding:1rem .95rem 1.05rem;border:0;border-radius:18px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;transition:background .18s ease,box-shadow .18s ease,transform .18s ease;}
.team-person__open::after{content:'→';align-self:center;color:#7da0ae;font:500 .82rem/1 var(--ff-mono);transition:transform .18s ease,color .18s ease;}
.team-person__open:hover{background:linear-gradient(180deg,rgba(12,56,104,.024),rgba(0,127,136,.018));box-shadow:0 6px 18px rgba(7,38,65,.038);}
.team-person__open:hover::after{transform:translateX(3px);color:#007f88;}
.team-person__open:focus-visible{outline:2px solid #00899c;outline-offset:4px;}
.team-person__portrait{position:relative;margin:0;width:90px;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(145deg,#e6eef0 0%,#f2f5f5 100%);border:1px solid #dce5e8;display:flex;align-items:flex-end;padding:.6rem;font-family:var(--ff-display);font-size:1.18rem;font-weight:700;color:#728997;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.team-person__portrait.has-photo{padding:0;}
.team-person__portrait.is-placeholder img{filter:saturate(.92) contrast(1.015);}
.team-person__portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:saturate(.97) contrast(1.03);}
.team-person__open:hover .team-person__portrait{transform:translateY(-2px);box-shadow:0 10px 24px rgba(7,38,65,.085);border-color:#cfdcdf;}
.team-person__portrait[data-person-id="09ed9240-9442-4b80-ba12-8205724039f4"] img{object-position:50% 50%;}
.team-person__portrait[data-person-id="e1cbfedb-a355-49f2-ba07-77f3bf81215c"] img{object-position:50% 42%;}
.team-person__portrait[data-person-id="c290a7e5-7bea-4652-a0ef-251fbc73184d"] img{object-position:50% 29%;}
.team-person__portrait--initials{background:linear-gradient(145deg,#e5edef 0%,#f2f5f5 72%,#f8f9f9 100%);}
.team-person__portrait--initials::before{content:'';position:absolute;left:.6rem;right:.6rem;top:.6rem;height:1px;background:rgba(12,56,104,.13);}
.team-person__portrait--initials span{line-height:1;}
.team-person__body{min-width:0;display:block;align-self:center;}
.team-person__name{display:block;margin:0;font-family:var(--ff-display);font-size:clamp(1.3rem,1.75vw,1.55rem);font-weight:700;line-height:1.05;letter-spacing:-.026em;color:#14395d;text-wrap:balance;transition:color .18s ease;}
.team-person__open:hover .team-person__name{color:#0b4a66;}
.team-person__role{display:block;margin:.42rem 0 0;font-size:.79rem;line-height:1.45;color:#5e748a;}
.team-person__affiliation{display:block;margin:.24rem 0 0;font-size:.68rem;line-height:1.42;color:#8795a1;}
.team-person__view{display:inline-flex;align-items:center;gap:.35rem;margin-top:.58rem;font:500 .55rem/1.3 var(--ff-mono);letter-spacing:.07em;text-transform:uppercase;color:#00828b;}
.team-roster__empty{grid-column:1/-1;padding:1.5rem 0;color:#778797;font-size:.82rem;}

/* Cross-service / multidisciplinary context — explanatory, not a wrongly
   inferred list of "external collaborators". */
.team-network{padding:clamp(2.8rem,4vw,3.8rem) 0;background:#f1f0ec;border-top:1px solid #e4e1dc;}
.team-network__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(380px,.65fr);gap:clamp(2.5rem,6vw,6rem);align-items:start;}
.team-network h2{max-width:18ch;}
.team-network__copy>p{margin:0 0 .85rem;color:#66758a;font-size:.86rem;line-height:1.72;text-wrap:pretty;}
.team-network__system{display:grid;grid-template-columns:1.7fr .7fr .7fr;margin-top:1.25rem;border-top:1px solid #d5d9da;border-bottom:1px solid #d5d9da;}
.team-network__system span{padding:.85rem 0;font:500 .61rem/1.35 var(--ff-mono);letter-spacing:.07em;text-transform:uppercase;color:#566a80;}

/* Contact — same dark institutional close used elsewhere. */
.team-contact{padding:clamp(3.5rem,4.8vw,4.8rem) 0;background:var(--institutional-anchor-deep);color:#fff;border-top:1px solid rgba(255,255,255,.08);}
.team-contact__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,.7fr);gap:clamp(2.5rem,6vw,6rem);align-items:center;}
.team-contact h2{color:#fff;max-width:12ch;}
.team-contact__copy>p{max-width:46rem;margin:1rem 0 0;color:rgba(255,255,255,.64);line-height:1.68;}
.team-contact__entry{border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.12);padding:1.35rem 0;}
.team-contact__entry-label{margin:0 0 .6rem;font:500 .58rem/1.2 var(--ff-mono);letter-spacing:.12em;text-transform:uppercase;color:#75d7d7;}
.team-contact__link{display:inline-flex;align-items:center;gap:.75rem;color:#a8eeee;font-size:.88rem;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(104,225,225,.32);padding-bottom:.3rem;}

/* Skeletons */
.team-skeleton{background:linear-gradient(90deg,#eef1f3 25%,#f8f9fa 50%,#eef1f3 75%);background-size:200% 100%;animation:teamShimmer 1.35s infinite;}
.team-skeleton--lead{height:220px;border-top:1px solid #e0e7ea;border-bottom:1px solid #e0e7ea;}
.team-skeleton--coordinator{height:132px;border-right:1px solid #e0e5e8;border-bottom:1px solid #e0e5e8;}
.team-skeleton--person{height:142px;border-right:1px solid #e0e5e8;border-bottom:1px solid #e0e5e8;}
@keyframes teamShimmer{to{background-position:-200% 0;}}



@media(max-width:1100px){
  .team-coordinator-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:860px){
  .team-hero__grid,.team-section-head,.team-network__grid,.team-contact__grid{grid-template-columns:1fr;gap:1.4rem;}
  .team-hero__context{max-width:48rem;}
  .team-section-head>p{max-width:46rem;}
  .team-network h2{max-width:14ch;}
}

@media(max-width:860px){
  .team-roster__grid{grid-template-columns:1fr;}
  .team-roster__grid::after{display:none;}
}
@media(max-width:640px){
  .team-hero h1{font-size:clamp(2.65rem,10.4vw,3.45rem);}
  .team-lead{grid-template-columns:110px minmax(0,1fr);gap:1rem;}
  .team-lead__portrait{width:110px;}
  .team-lead__body h3{font-size:clamp(1.7rem,7.5vw,2.25rem);}
  .team-lead__bio{grid-column:1/-1;}
  .team-coordinator-grid,.team-roster__grid{grid-template-columns:1fr;}
  .team-coordinator{grid-template-columns:76px minmax(0,1fr);}
  .team-coordinator__portrait{width:76px;}
  .team-person__open{grid-template-columns:72px minmax(0,1fr) auto;gap:.85rem;padding:.9rem .75rem;border-radius:16px;}
  .team-person__portrait{width:72px;}
  .team-person__name{font-size:1.22rem;}
  .team-network__system{grid-template-columns:1fr;}
  .team-section-head h2,.team-network h2,.team-contact h2{font-size:clamp(2rem,7.8vw,2.6rem);line-height:.99;letter-spacing:-.034em;}
}


/* Multidisciplinary roster profile sheet — progressive editorial disclosure.
   Leadership and line coordinators keep their line-page pathways; only the
   remaining multidisciplinary roster opens this public profile surface. */
body.team-profile-open{overflow:hidden;}
.team-profile-overlay[hidden]{display:none;}
.team-profile-overlay{position:fixed;inset:0;z-index:1200;pointer-events:none;}
.team-profile-backdrop{position:absolute;inset:0;background:rgba(5,24,43,.28);opacity:0;transition:opacity .24s ease;backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);}
.team-profile-sheet{--team-profile-enter-transform:translateX(100%);position:absolute;top:0;right:0;bottom:0;width:min(34vw,520px);min-width:460px;z-index:1;background:#fbfaf7;border-left:1px solid rgba(12,56,104,.18);box-shadow:-22px 0 54px rgba(6,35,61,.14);transform:var(--team-profile-enter-transform);transition:transform .28s cubic-bezier(.2,.75,.2,1);display:flex;flex-direction:column;outline:none;pointer-events:auto;}
.team-profile-overlay.is-open{pointer-events:auto;}
.team-profile-overlay.is-open .team-profile-backdrop{opacity:1;}
.team-profile-overlay.is-open .team-profile-sheet{transform:translate3d(0,0,0);}
@media(min-width:1700px){
  body.team-profile-open #mainContent{width:calc(100% - min(38vw,690px) - 52px);margin-right:auto;transition:width .28s cubic-bezier(.2,.75,.2,1);}
  body.team-profile-open #mainContent .container{padding-inline:clamp(2rem,4vw,5rem);}
  .team-profile-backdrop{background:rgba(5,24,43,.025);backdrop-filter:none;-webkit-backdrop-filter:none;}
  .team-profile-sheet{top:26px;right:26px;bottom:26px;width:min(38vw,690px);min-width:610px;height:auto;border:1px solid rgba(12,56,104,.13);border-radius:20px;box-shadow:0 24px 70px rgba(6,35,61,.17),-8px 0 28px rgba(6,35,61,.05);}
  .team-profile-sheet__content{padding:2.2rem 2.35rem 2.35rem;}
  .team-profile__identity{grid-template-columns:190px minmax(0,1fr);gap:1.9rem;}
  .team-profile__portrait{width:190px;}
  .team-profile__identity h2{font-size:clamp(2.6rem,3vw,3.55rem);}
}
@media(min-width:1600px) and (max-width:1699px){
  .team-profile-backdrop{background:rgba(5,24,43,.12);backdrop-filter:blur(.6px);-webkit-backdrop-filter:blur(.6px);}
  .team-profile-sheet{top:24px;right:24px;bottom:24px;width:min(37vw,660px);min-width:580px;height:auto;border:1px solid rgba(12,56,104,.13);border-radius:20px;box-shadow:0 24px 70px rgba(6,35,61,.18), -8px 0 28px rgba(6,35,61,.06);}
  .team-profile-sheet__content{padding:2.1rem 2.25rem 2.2rem;}
  .team-profile__identity{grid-template-columns:180px minmax(0,1fr);gap:1.8rem;}
  .team-profile__portrait{width:180px;}
  .team-profile__identity h2{font-size:clamp(2.55rem,3vw,3.45rem);}
}
@media(min-width:900px) and (max-width:1179px){
  .team-profile-sheet{width:min(62vw,560px);min-width:0;}
}
@media(min-width:700px) and (max-width:899px){
  .team-profile-sheet{--team-profile-enter-transform:translateY(100%);top:auto;left:3vw;right:3vw;bottom:0;width:auto;min-width:0;height:min(92dvh,860px);border-left:1px solid rgba(12,56,104,.14);border-top:1px solid rgba(12,56,104,.14);border-right:1px solid rgba(12,56,104,.14);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -18px 42px rgba(6,35,61,.18);}
}
@media(max-width:699px){
  .team-profile-sheet{--team-profile-enter-transform:translateY(100%);inset:0;width:100%;min-width:0;height:100dvh;border:0;border-radius:0;box-shadow:none;}
}
.team-profile-sheet__chrome{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.2rem;border-bottom:1px solid rgba(12,56,104,.12);background:rgba(251,250,247,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.team-profile-sheet__eyebrow{margin:0;font:500 .58rem/1.2 var(--ff-mono);letter-spacing:.13em;text-transform:uppercase;color:#007f88;}
@media(max-width:899px){
  .team-profile-sheet__chrome::before{content:"";position:absolute;left:50%;top:.45rem;transform:translateX(-50%);width:52px;height:4px;border-radius:999px;background:rgba(12,56,104,.15);}
  .team-profile-sheet__chrome{position:relative;padding-top:1.35rem;}
}
.team-profile-sheet__close{width:2.25rem;height:2.25rem;display:grid;place-items:center;border:1px solid #d6e0e4;border-radius:50%;background:#fff;color:#163b5f;cursor:pointer;}
.team-profile-sheet__close:hover{border-color:#93b2bd;background:#f4f8f8;}
.team-profile-sheet__close:focus-visible{outline:2px solid #00899c;outline-offset:2px;}
.team-profile-sheet__close svg{width:1rem;height:1rem;}
.team-profile-sheet__content{min-height:0;overflow-y:auto;padding:clamp(1.35rem,3vw,2rem) clamp(1.25rem,3vw,2rem) calc(2.5rem + env(safe-area-inset-bottom));}
.team-profile__identity{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.5rem;align-items:end;padding-bottom:1.55rem;border-bottom:1px solid #dce4e7;}
.team-profile__portrait{position:relative;margin:0;width:150px;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(145deg,#e2ecee,#f2f5f5);border:1px solid #d8e3e6;}
.team-profile__portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:saturate(.96) contrast(1.02);}
.team-profile__portrait.is-placeholder img{filter:saturate(.93) contrast(1.015);}
.team-profile__portrait--initials{display:flex;align-items:flex-end;padding:.8rem;font-family:var(--ff-display);font-size:1.78rem;font-weight:700;color:#8095a1;background:linear-gradient(145deg,#edf3f4,#f5f7f6);}
.team-profile__portrait--initials::before{content:'';position:absolute;left:.8rem;right:.8rem;top:.8rem;height:1px;background:rgba(12,56,104,.15);}
.team-profile__portrait--initials span{line-height:1;}
.team-profile__identity-copy{min-width:0;padding-bottom:.08rem;}
.team-profile__identity h2{margin:0;font-family:var(--ff-display);font-size:clamp(2.05rem,3.1vw,3rem);font-weight:700;line-height:1;letter-spacing:-.034em;color:#0c3868;text-wrap:balance;overflow-wrap:anywhere;}
.team-profile__role{margin:.65rem 0 0;color:#42647e;font-size:.84rem;line-height:1.5;}
.team-profile__affiliation{margin:.32rem 0 0;color:#7a8996;font-size:.7rem;line-height:1.45;}
.team-profile__section{padding:1.35rem 0;border-bottom:1px solid #e0e6e8;}
.team-profile__section:last-child{border-bottom:0;}
.team-profile__section-label{margin:0 0 .72rem;font:500 .62rem/1.25 var(--ff-mono);letter-spacing:.115em;text-transform:uppercase;color:#007f88;}
.team-profile__section-note{margin:-.12rem 0 .85rem;color:#7a8b99;font-size:.73rem;line-height:1.55;max-width:45rem;}
.team-profile__bio{margin:0;color:#4f6478;font-size:.85rem;line-height:1.72;text-wrap:pretty;}
.team-profile__facts{margin:0;border-top:1px solid #dce4e7;}
.team-profile__fact{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:.72rem 0;border-bottom:1px solid #e5eaec;}
.team-profile__fact dt{margin:0;font:500 .59rem/1.35 var(--ff-mono);letter-spacing:.065em;text-transform:uppercase;color:#748894;}
.team-profile__fact dd{margin:0;color:#294d6b;font-size:.80rem;line-height:1.48;}
.team-profile__lines{border-top:1px solid #dce4e7;}
.team-profile__lines a{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;gap:.85rem;align-items:center;padding:.9rem 0;border-bottom:1px solid #e4e9eb;color:#173f63;text-decoration:none;font-size:.80rem;line-height:1.45;}
.team-profile__lines a:hover{color:#007f88;}
.team-profile__line-code{font:600 .58rem/1.2 var(--ff-mono);letter-spacing:.08em;color:#00899c;}
.team-profile__links{display:flex;flex-wrap:wrap;gap:.55rem 1rem;}
.team-profile__links a{color:#0c6172;text-decoration:none;font-size:.75rem;font-weight:600;border-bottom:1px solid rgba(12,97,114,.25);padding-bottom:.15rem;}
.team-profile__links a:hover{color:#0c3868;border-bottom-color:currentColor;}

.team-profile__person-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:center;margin:0;padding:0;}
.team-profile__person-nav-btn{min-width:0;border:1px solid rgba(12,56,104,.11);background:rgba(255,255,255,.62);padding:.78rem .86rem;cursor:pointer;text-align:left;color:#173f63;font:inherit;border-radius:10px;transition:border-color .18s ease,background .18s ease,transform .18s ease;}
.team-profile__person-nav-btn--next{text-align:right;}
.team-profile__person-nav-btn:disabled{opacity:.28;cursor:default;}
.team-profile__person-nav-direction{display:block;font:600 .56rem/1.25 var(--ff-mono);letter-spacing:.09em;text-transform:uppercase;color:#00828b;}
.team-profile__person-nav-name{display:block;margin-top:.27rem;font-family:var(--ff-display);font-size:1rem;font-weight:700;line-height:1.08;color:#173b5f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.team-profile__person-nav-count{font:600 .56rem/1.25 var(--ff-mono);letter-spacing:.08em;color:#7f909d;white-space:nowrap;}
.team-profile__person-nav-btn:not(:disabled):hover{border-color:rgba(0,127,136,.34);background:#fff;transform:translateY(-1px)}
.team-profile__person-nav-btn:not(:disabled):hover .team-profile__person-nav-name{color:#007f88;}
@media(max-width:699px){
  .team-profile-sheet__chrome{position:sticky;top:0;z-index:5;padding-top:calc(.78rem + env(safe-area-inset-top));padding-bottom:.78rem;}
  .team-profile-sheet__context{gap:.5rem}
  .team-profile-sheet__context-label{font-size:.54rem}
  .team-profile-sheet__context-count{font-size:.52rem;padding-left:.5rem}
  .team-profile__person-nav{gap:.55rem;}
  .team-profile__person-nav-btn{padding:.7rem .68rem;border-radius:8px}
  .team-profile__person-nav-name{font-size:.88rem;}
  .team-profile__person-nav-count{font-size:.5rem}
  .team-profile__browse-all{min-height:48px;padding:.82rem .9rem}
}

@media(max-width:899px){
  .team-profile__identity{grid-template-columns:104px minmax(0,1fr);gap:1rem;align-items:center;}
  .team-profile__portrait{width:104px;}
  .team-profile__identity h2{font-size:clamp(1.72rem,7.4vw,2.28rem);}
  .team-profile-sheet__content.has-long-name .team-profile__identity h2{font-size:clamp(1.58rem,6.65vw,2rem)}
  .team-profile-sheet__content.has-very-long-name .team-profile__identity h2{font-size:clamp(1.46rem,6vw,1.86rem)}
  .team-profile__role{font-size:.81rem}
  .team-profile__affiliation{font-size:.71rem}
}

@media(prefers-reduced-motion:reduce){
  .team-skeleton{animation:none;}
  .team-profile-backdrop,.team-profile-sheet,body.team-profile-open #mainContent{transition:none;}
}

/* Phase 7.12.1 — profile chrome now carries dossier context + close action. */
.team-profile-sheet__chrome{justify-content:space-between;}


/* ============================================================
   FLOATING EDITORIAL — PHASE 3 / TEAM
   Quiet Open Sheet
   Keep photography as the emotional lead; make the introduction lighter,
   flatter and more editorial than Research/Publications.
   ============================================================ */
body[data-page="team"] .team-hero{
  margin-top:clamp(-2.4rem,-2.6vw,-1.5rem);
  padding-bottom:clamp(.8rem,1.2vw,1.1rem);
}

body[data-page="team"] .team-hero__grid{
  max-width:min(1520px,calc(100vw - 3rem));
  grid-template-columns:minmax(0,.98fr) minmax(360px,.54fr);
  gap:clamp(2.6rem,5.2vw,5rem);
  align-items:start;
  padding-top:clamp(2rem,2.7vw,2.7rem);
  padding-bottom:clamp(1.85rem,2.5vw,2.4rem);
  padding-inline:clamp(1.4rem,2.1vw,2.35rem);
  background:#fcfbf8;
  border:1px solid rgba(12,56,104,.105);
  border-bottom-color:rgba(12,56,104,.035);
  border-radius:4px 4px 0 0;
  box-shadow:0 9px 24px rgba(7,38,65,.045),0 2px 6px rgba(7,38,65,.02);
}

body[data-page="team"] .team-hero__grid::after{
  left:clamp(1.4rem,2.1vw,2.35rem);
  right:auto;
  width:clamp(72px,9%,120px);
  background:#9bb4bd;
}

body[data-page="team"] .team-hero__copy{
  max-width:700px;
}

body[data-page="team"] .team-hero__context{
  align-self:start;
  max-width:34rem;
  padding-top:.9rem;
  border-top-color:rgba(12,56,104,.13);
}

body[data-page="team"] .team-hero__context>p{
  font-size:.86rem;
  line-height:1.7;
}

@media(min-width:1180px) and (max-width:1599px){
  body[data-page="team"] .team-hero__grid{
    max-width:min(1420px,calc(100vw - 3.5rem));
    grid-template-columns:minmax(0,1fr) minmax(340px,.50fr);
  }
  body[data-page="team"] .team-hero h1{
    font-size:clamp(3.5rem,5.35vw,5.15rem);
    line-height:.94;
  }
}

@media(max-width:900px){
  body[data-page="team"] .team-hero{
    margin-top:-1.15rem;
  }
  body[data-page="team"] .team-hero__grid{
    max-width:calc(100vw - 1.4rem);
    padding:1.55rem 1.15rem 1.6rem;
    border-radius:3px 3px 0 0;
    box-shadow:0 6px 16px rgba(7,38,65,.035);
  }
}

@media(max-width:860px){
  body[data-page="team"] .team-hero__grid{
    grid-template-columns:1fr;
    gap:1.15rem;
  }
  body[data-page="team"] .team-hero__context{
    max-width:48rem;
  }
}

@media(max-width:640px){
  body[data-page="team"] .team-hero{
    margin-top:-.55rem;
  }
  body[data-page="team"] .team-hero__grid{
    max-width:calc(100vw - .75rem);
    padding:1.15rem .95rem 1.25rem;
    border-radius:2px 2px 0 0;
    box-shadow:0 4px 12px rgba(7,38,65,.028);
  }
  body[data-page="team"] .team-hero__grid::after{
    left:.95rem;
    width:52px;
  }
  body[data-page="team"] .team-hero__context{
    padding-top:.72rem;
  }
}



/* ============================================================
   P1 — UNIVERSAL PROFESSIONAL IDENTITY
   Same institutional dignity; different professional evidence.
   ============================================================ */
.team-profile__identity-kicker{
  margin:0 0 .38rem;
  font:500 .60rem/1.25 var(--ff-mono);
  letter-spacing:.105em;
  text-transform:uppercase;
  color:#007f88;
}
.team-profile-sheet__context{display:flex;align-items:center;gap:.72rem;min-width:0}
.team-profile-sheet__context-label{font:600 .58rem/1.2 var(--ff-mono);letter-spacing:.11em;text-transform:uppercase;color:#087f88}
.team-profile-sheet__context-count{padding-left:.72rem;border-left:1px solid rgba(12,56,104,.14);font:600 .56rem/1.2 var(--ff-mono);letter-spacing:.08em;color:#8596a1;white-space:nowrap}
.team-profile-sheet__content.has-long-name .team-profile__identity h2{font-size:clamp(1.9rem,2.72vw,2.65rem);line-height:1.01}
.team-profile-sheet__content.has-very-long-name .team-profile__identity h2{font-size:clamp(1.75rem,2.42vw,2.42rem);line-height:1.025;letter-spacing:-.028em}
.team-profile__line-title{min-width:0;text-wrap:pretty}
.team-profile__line-arrow{color:#0a8790;font-size:.9rem;transition:transform .18s ease}
.team-profile__lines a:hover .team-profile__line-arrow{transform:translateX(3px)}
.team-profile__footer{margin-top:1.55rem;padding:1.2rem 0 .2rem;border-top:1px solid #d7e1e4}
.team-profile__footer-label{margin:0 0 .72rem;font:600 .58rem/1.2 var(--ff-mono);letter-spacing:.105em;text-transform:uppercase;color:#758b97}
.team-profile__browse-all{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.82rem;padding:.9rem 1rem;border:1px solid rgba(10,98,114,.24);border-radius:10px;background:linear-gradient(135deg,rgba(0,127,136,.06),rgba(255,255,255,.88));color:#0b5367;font:600 .76rem/1.3 var(--ff-sans);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}
.team-profile__browse-all:hover{border-color:rgba(0,127,136,.44);background:#fff;transform:translateY(-1px);box-shadow:0 7px 20px rgba(7,38,65,.07)}
.team-profile__browse-all:focus-visible{outline:2px solid #00899c;outline-offset:2px}
.team-profile__browse-all-arrow{font-size:.92rem;color:#078791}
.team-profile__section--leadership{position:relative;background:transparent;padding-left:1rem}
.team-profile__section--leadership::before{content:"";position:absolute;left:0;top:1.3rem;bottom:1.3rem;width:2px;background:linear-gradient(#0b8a93,rgba(11,138,147,.15))}

.team-profile__evidence-list{
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid #dce4e7;
}
.team-profile__evidence-item{
  display:grid;
  gap:.16rem;
  padding:.72rem 0;
  border-bottom:1px solid #e4e9eb;
  color:#173f63;
  font-size:.77rem;
  line-height:1.48;
}
.team-profile__evidence-item:last-child{border-bottom:0}
.team-profile__evidence-item small{
  color:#81909d;
  font:500 .58rem/1.4 var(--ff-mono);
  letter-spacing:.035em;
}
.team-profile__metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid #dce4e7;
  border-bottom:1px solid #dce4e7;
}
.team-profile__metrics>div{
  padding:.9rem .8rem;
  border-right:1px solid #e0e6e8;
}
.team-profile__metrics>div:first-child{padding-left:0}
.team-profile__metrics>div:last-child{border-right:0}
.team-profile__metrics strong{
  display:block;
  font-family:var(--ff-display);
  font-size:1.65rem;
  line-height:.95;
  color:#0c3868;
}
.team-profile__metrics span{
  display:block;
  margin-top:.25rem;
  color:#718196;
  font-size:.63rem;
  line-height:1.35;
}
.team-profile__metric-source{
  margin:.6rem 0 0;
  color:#8a96a3;
  font-size:.58rem;
  line-height:1.45;
}
.team-profile__section--leadership{
  background:linear-gradient(90deg,rgba(0,127,136,.035),transparent 42%);
}
.team-profile__section--leadership .team-profile__section-label{color:#0c6172}
.team-profile__section--leadership .team-profile__evidence-list{border-top-color:#cfdfe1}
.team-profile__section--leadership .team-profile__evidence-item{color:#294b69}
.team-profile-sheet__content.is-sparse .team-profile__identity{padding-bottom:1.15rem}
.team-profile-sheet__content.is-sparse .team-profile__section{padding-block:1.08rem}
.team-profile-sheet__content.is-rich .team-profile__section{padding-block:1.48rem}
.team-profile-launch{
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  border:0;
  cursor:pointer;
  font-family:inherit;
  margin-left:.85rem;
}
.team-profile-launch:focus-visible{outline:2px solid #00899c;outline-offset:3px}
@media(max-width:640px){
  .team-profile__metrics{grid-template-columns:1fr}
  .team-profile__metrics>div,
  .team-profile__metrics>div:first-child{
    padding:.72rem 0;
    border-right:0;
    border-bottom:1px solid #e0e6e8;
  }
  .team-profile__metrics>div:last-child{border-bottom:0}
  .team-profile-launch{margin-left:0;margin-top:.45rem}
}


/* ============================================================
   TEAM — PHASE 1
   People organised by responsibility and scientific relationship.
   Keep profiles factual; remove directory/card conventions.
   ============================================================ */

/* Opening: clean institutional field, no decorative wash. */
body[data-page="team"] .team-hero{
  background:#fbfaf7;
  border-bottom-color:#d9e2e4;
}

body[data-page="team"] .team-hero::before{
  background:linear-gradient(rgba(12,56,104,.04),rgba(12,56,104,.04)) 0 100%/100% 1px no-repeat;
  opacity:1;
}

body[data-page="team"] .team-hero__grid{
  align-items:start;
}

body[data-page="team"] .team-hero__copy{
  position:relative;
  padding-top:.25rem;
}

body[data-page="team"] .team-hero__copy::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:clamp(76px,7vw,116px);
  height:2px;
  background:#148b94;
}

body[data-page="team"] .team-hero__context{
  align-self:end;
  padding-top:1rem;
  border-top-color:#b9cbd0;
}

body[data-page="team"] .team-hero__disciplines{
  margin-top:.25rem;
  border-top-color:#c5d4d8;
  border-bottom-color:#d4dfe2;
}

body[data-page="team"] .team-hero__disciplines>span{
  position:relative;
  padding-top:.95rem;
  padding-bottom:1rem;
  border-right-color:#d8e2e4;
  color:#48677b;
}

body[data-page="team"] .team-hero__disciplines>span::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:24px;
  height:1px;
  background:#168f98;
}

/* Programme leadership: institutional authorship, not a profile card. */
body[data-page="team"] .team-lead{
  position:relative;
  grid-template-columns:176px minmax(0,1fr);
  gap:clamp(1.8rem,3vw,3rem);
  padding:1.35rem 0 1.55rem;
  border-top-color:#c8d7db;
  border-bottom-color:#d7e1e4;
}

body[data-page="team"] .team-lead::before{
  content:"Programme lead";
  position:absolute;
  right:0;
  top:1.35rem;
  color:#8a99a3;
  font:500 .54rem/1.25 var(--ff-mono);
  letter-spacing:.12em;
  text-transform:uppercase;
}

html[data-lang="es"] body[data-page="team"] .team-lead::before{
  content:"Dirección del programa";
}

body[data-page="team"] .team-lead__portrait{
  width:176px;
  box-shadow:none;
  border-color:#cfdcdf;
}

body[data-page="team"] .team-lead__body{
  position:relative;
  max-width:76rem;
  padding:.2rem clamp(3rem,8vw,8rem) .1rem 0;
}

body[data-page="team"] .team-lead__body::before{
  content:"";
  position:absolute;
  left:0;
  top:-.2rem;
  width:46px;
  height:1px;
  background:#168f98;
}

body[data-page="team"] .team-lead__body h3{
  margin-top:.65rem;
  max-width:18ch;
  font-size:clamp(2.2rem,3.2vw,3.1rem);
}

body[data-page="team"] .team-lead__bio{
  max-width:62rem;
  font-size:.84rem;
  line-height:1.66;
}

/* Research-line coordination: one scientific register, not six cards. */
body[data-page="team"] .team-coordinator-grid{
  display:block;
  border:0;
  border-top:1px solid #c8d7db;
}

body[data-page="team"] .team-coordinator{
  position:relative;
  display:grid;
  grid-template-columns:58px 96px minmax(0,1fr) minmax(230px,.62fr);
  gap:1.15rem;
  align-items:center;
  min-height:132px;
  padding:.95rem 0;
  border:0;
  border-bottom:1px solid #dce4e7;
  background:transparent;
}

body[data-page="team"] .team-coordinator__index{
  align-self:start;
  padding-top:.2rem;
  color:#718995;
  font:500 .56rem/1.25 var(--ff-mono);
  letter-spacing:.08em;
}

body[data-page="team"] .team-coordinator__portrait{
  width:96px;
  border-color:#d2dfe2;
}

body[data-page="team"] .team-coordinator__body{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(210px,.7fr);
  column-gap:clamp(1.5rem,3vw,3rem);
  align-items:center;
  align-self:stretch;
}

body[data-page="team"] .team-coordinator__body h3,
body[data-page="team"] .team-coordinator__role{
  grid-column:1;
}

body[data-page="team"] .team-coordinator__line-name,
body[data-page="team"] .team-coordinator .team-inline-link{
  grid-column:2;
}

body[data-page="team"] .team-coordinator__body h3{
  align-self:end;
  font-size:clamp(1.16rem,1.35vw,1.42rem);
  line-height:1.08;
  letter-spacing:-.018em;
}

body[data-page="team"] .team-coordinator__role{
  align-self:start;
  margin-top:.32rem;
  font-size:.7rem;
}

body[data-page="team"] .team-coordinator__line-name{
  align-self:end;
  margin:0;
  max-width:30ch;
  padding-left:1.15rem;
  border-left:1px solid #d4e0e3;
  font-size:.76rem;
  line-height:1.45;
}

body[data-page="team"] .team-coordinator .team-inline-link{
  justify-self:start;
  margin:.45rem 0 0 1.15rem;
  font-size:.61rem;
}

body[data-page="team"] .team-coordinator .team-profile-launch{
  display:inline-flex;
  margin-top:.28rem;
  color:#5f7f89;
}

/* Roster: embedded people index. The profile sheet carries the depth. */
body[data-page="team"] .team-roster__grid{
  column-gap:clamp(2rem,4vw,3.25rem);
  row-gap:0;
}

body[data-page="team"] .team-roster__grid::after{
  background:#dfe7e9;
}

body[data-page="team"] .team-person{
  border-top-color:#d7e1e4;
}

body[data-page="team"] .team-person__open{
  position:relative;
  grid-template-columns:82px minmax(0,1fr) 22px;
  gap:1.05rem;
  min-height:118px;
  padding:.95rem .2rem 1rem 0;
  border-radius:0;
  transition:background .16s ease;
}

body[data-page="team"] .team-person__open::before{
  content:"";
  position:absolute;
  left:0;
  top:22%;
  bottom:22%;
  width:1px;
  background:#1497a0;
  transform:scaleY(0);
  transform-origin:center;
  transition:transform .16s ease;
}

body[data-page="team"] .team-person__open:hover,
body[data-page="team"] .team-person__open:focus-visible{
  background:linear-gradient(90deg,rgba(15,126,137,.026),transparent 34%);
  box-shadow:none;
  transform:none;
}

body[data-page="team"] .team-person__open:hover::before,
body[data-page="team"] .team-person__open:focus-visible::before{
  transform:scaleY(1);
}

body[data-page="team"] .team-person__portrait{
  width:82px;
  border-color:#d7e2e5;
}

body[data-page="team"] .team-person__open:hover .team-person__portrait{
  transform:none;
  box-shadow:none;
  border-color:#bacfd4;
}

body[data-page="team"] .team-person__name{
  font-size:clamp(1.28rem,1.6vw,1.48rem);
}

body[data-page="team"] .team-person__view{
  margin-top:.5rem;
  color:#567d88;
}

body[data-page="team"] .team-person__open::after{
  justify-self:end;
  color:#7597a3;
}

/* Cross-service context: institutional chain, not a generic footer-like row. */
body[data-page="team"] .team-network{
  background:#f0efea;
}

body[data-page="team"] .team-network__system{
  position:relative;
  grid-template-columns:1.65fr .72fr .72fr;
  border:0;
  margin-top:1.35rem;
}

body[data-page="team"] .team-network__system::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,#168f98 0 16%,#c9d3d5 16% 100%);
}

body[data-page="team"] .team-network__system span{
  position:relative;
  min-height:62px;
  padding:1rem 1rem .85rem 0;
  border-bottom:1px solid #ccd6d8;
}

body[data-page="team"] .team-network__system span:not(:last-child)::after{
  content:"";
  position:absolute;
  top:1rem;
  right:1rem;
  width:22px;
  height:1px;
  background:#a6b9bf;
}

body[data-page="team"] .team-network__system span:first-child{
  color:#274e68;
}

/* Responsive reflow keeps hierarchy and removes card-like compression. */
@media(max-width:1100px){
  body[data-page="team"] .team-coordinator{
    grid-template-columns:48px 86px minmax(0,1fr);
    grid-template-areas:
      "index portrait body";
  }

  body[data-page="team"] .team-coordinator__index{grid-area:index}
  body[data-page="team"] .team-coordinator__portrait{grid-area:portrait;width:86px}
  body[data-page="team"] .team-coordinator__body{
    grid-area:body;
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }

  body[data-page="team"] .team-coordinator__line-name,
  body[data-page="team"] .team-coordinator .team-inline-link{
    grid-column:1;
    margin-left:0;
    padding-left:0;
    border-left:0;
  }

  body[data-page="team"] .team-coordinator__line-name{
    margin-top:.48rem;
  }
}

@media(max-width:860px){
  body[data-page="team"] .team-lead{
    grid-template-columns:140px minmax(0,1fr);
  }

  body[data-page="team"] .team-lead__portrait{
    width:140px;
  }

  body[data-page="team"] .team-lead__body{
    padding-right:0;
  }

  body[data-page="team"] .team-lead::before{
    display:none;
  }
}

@media(max-width:640px){
  body[data-page="team"] .team-hero{
    background:#fbfaf7;
  }

  body[data-page="team"] .team-hero__copy::before{
    width:58px;
  }

  body[data-page="team"] .team-hero__disciplines{
    margin-top:0;
  }

  body[data-page="team"] .team-lead{
    grid-template-columns:96px minmax(0,1fr);
    gap:.9rem;
    padding:1.05rem 0 1.15rem;
  }

  body[data-page="team"] .team-lead__portrait{
    width:96px;
  }

  body[data-page="team"] .team-lead__body h3{
    margin-top:.45rem;
    font-size:clamp(1.65rem,7.8vw,2.15rem);
  }

  body[data-page="team"] .team-lead__body::before{
    width:34px;
  }

  body[data-page="team"] .team-coordinator{
    grid-template-columns:34px 72px minmax(0,1fr);
    gap:.7rem;
    min-height:0;
    padding:.9rem 0;
  }

  body[data-page="team"] .team-coordinator__portrait{
    width:72px;
  }

  body[data-page="team"] .team-coordinator__index{
    font-size:.51rem;
  }

  body[data-page="team"] .team-person__open{
    grid-template-columns:68px minmax(0,1fr) 16px;
    gap:.75rem;
    min-height:0;
    padding:.85rem 0;
  }

  body[data-page="team"] .team-person__portrait{
    width:68px;
  }

  body[data-page="team"] .team-person__open::before{
    display:none;
  }

  body[data-page="team"] .team-network__system{
    grid-template-columns:1fr;
  }

  body[data-page="team"] .team-network__system span{
    min-height:0;
    padding:.86rem 0;
  }

  body[data-page="team"] .team-network__system span:not(:last-child)::after{
    display:none;
  }
}

@media(prefers-reduced-motion:reduce){
  body[data-page="team"] .team-person__open,
  body[data-page="team"] .team-person__open::before{
    transition:none!important;
    transform:none!important;
  }
}


/* ============================================================
   TEAM — PHASE 2
   Signature interaction: living L01–L06 coordination register.
   ============================================================ */
@media(min-width:641px){
  body[data-page="team"] .team-coordinator-grid{
    --team-coordination-progress:0;
    --team-coordination-spine-x:29px;
    position:relative;
    isolation:isolate;
  }

  body[data-page="team"] .team-coordinator-grid::before,
  body[data-page="team"] .team-coordinator-grid::after{
    content:"";
    position:absolute;
    z-index:0;
    left:var(--team-coordination-spine-x);
    top:1.2rem;
    bottom:1.2rem;
    width:1px;
    pointer-events:none;
    transform-origin:top;
  }

  body[data-page="team"] .team-coordinator-grid::before{
    background:#d5e1e4;
  }

  body[data-page="team"] .team-coordinator-grid::after{
    background:#159ba4;
    transform:scaleY(var(--team-coordination-progress));
    transition:transform .08s linear;
  }

  body[data-page="team"] .team-coordinator{
    z-index:1;
    transition:background .18s ease,border-color .18s ease;
  }

  body[data-page="team"] .team-coordinator__index{
    position:relative;
    z-index:2;
    transition:color .2s ease,transform .22s cubic-bezier(.2,.75,.2,1);
  }

  body[data-page="team"] .team-coordinator.is-active-coordinator{
    background:linear-gradient(90deg,rgba(15,132,142,.034),transparent 38%);
    border-bottom-color:#cadadd;
  }

  body[data-page="team"] .team-coordinator.is-active-coordinator .team-coordinator__index{
    color:#007f88;
    transform:translateX(2px);
  }

  body[data-page="team"] .team-coordinator.is-active-coordinator .team-coordinator__body h3{
    color:#08747d;
  }

  body[data-page="team"] .team-coordinator.is-active-coordinator .team-coordinator__portrait img{
    transform:scale(1.012);
  }

  body[data-page="team"] .team-coordinator.is-active-coordinator .team-coordinator__line-name{
    border-left-color:#b9d0d4;
    color:#1d5868;
  }

  body[data-page="team"] .team-coordinator__portrait img,
  body[data-page="team"] .team-coordinator__line-name,
  body[data-page="team"] .team-coordinator__body h3{
    transition:transform .26s var(--ease-clinical),border-color .2s ease,color .2s ease;
  }
}

@media(min-width:641px) and (max-width:1100px){
  body[data-page="team"] .team-coordinator-grid{
    --team-coordination-spine-x:23px;
  }
}

@media(max-width:640px){
  body[data-page="team"] .team-coordinator-grid::before,
  body[data-page="team"] .team-coordinator-grid::after{
    display:none;
  }

  body[data-page="team"] .team-coordinator.is-active-coordinator{
    background:transparent;
  }

  body[data-page="team"] .team-coordinator.is-active-coordinator .team-coordinator__index{
    color:#718995;
    transform:none;
  }

  body[data-page="team"] .team-coordinator.is-active-coordinator .team-coordinator__portrait img{
    transform:none;
  }
}

@media(prefers-reduced-motion:reduce){
  body[data-page="team"] .team-coordinator-grid{
    --team-coordination-progress:1!important;
  }

  body[data-page="team"] .team-coordinator-grid::after{
    transition:none!important;
    transform:scaleY(1)!important;
  }

  body[data-page="team"] .team-coordinator,
  body[data-page="team"] .team-coordinator__index,
  body[data-page="team"] .team-coordinator__portrait img,
  body[data-page="team"] .team-coordinator__line-name,
  body[data-page="team"] .team-coordinator__body h3{
    transition:none!important;
    transform:none!important;
  }
}


/* ============================================================
   FLOATING SIGNATURE RESTORATION — TEAM
   Repeated people surfaces float as one coordinated system.
   ============================================================ */
@media(min-width:861px){
  body[data-page="team"] .team-lead{
    padding:1.35rem;
    border:1px solid #d8e3e6;
    border-radius:16px;
    background:#fff;
    box-shadow:0 14px 34px rgba(7,39,66,.065);
  }

  body[data-page="team"] .team-coordinator-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
    border:0;
    padding-top:.25rem;
  }

  body[data-page="team"] .team-coordinator-grid::before,
  body[data-page="team"] .team-coordinator-grid::after{
    display:none;
  }

  body[data-page="team"] .team-coordinator{
    display:grid;
    grid-template-columns:52px 92px minmax(0,1fr);
    grid-template-rows:auto 1fr;
    gap:.8rem 1rem;
    min-height:190px;
    padding:1rem;
    border:1px solid #dbe4e7;
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 28px rgba(7,39,66,.055);
    transition:transform .2s cubic-bezier(.2,.75,.2,1),box-shadow .2s ease,border-color .2s ease;
  }

  body[data-page="team"] .team-coordinator:hover,
  body[data-page="team"] .team-coordinator:focus-within,
  body[data-page="team"] .team-coordinator.is-active-coordinator{
    transform:translateY(-3px);
    border-color:#bdd2d6;
    box-shadow:0 18px 44px rgba(7,39,66,.095);
  }

  body[data-page="team"] .team-coordinator__index{
    grid-column:1;
    grid-row:1;
    padding-top:.2rem;
    color:#0b7f88;
  }

  body[data-page="team"] .team-coordinator__portrait{
    grid-column:2;
    grid-row:1 / span 2;
    width:92px;
    border-radius:10px;
    box-shadow:0 8px 18px rgba(6,35,60,.055);
  }

  body[data-page="team"] .team-coordinator__body{
    grid-column:3;
    grid-row:1 / span 2;
    display:block;
    align-self:center;
  }

  body[data-page="team"] .team-coordinator__body h3,
  body[data-page="team"] .team-coordinator__role,
  body[data-page="team"] .team-coordinator__line-name,
  body[data-page="team"] .team-coordinator .team-inline-link{
    grid-column:auto;
    margin-left:0;
    padding-left:0;
    border-left:0;
  }

  body[data-page="team"] .team-coordinator__line-name{
    margin-top:.5rem;
    padding-top:.55rem;
    border-top:1px solid #e2e8ea;
  }

  body[data-page="team"] .team-coordinator .team-profile-launch{
    display:inline-flex;
  }

  body[data-page="team"] .team-roster__grid{
    gap:1rem;
  }

  body[data-page="team"] .team-roster__grid::after{
    display:none;
  }

  body[data-page="team"] .team-person{
    border-top:0;
  }

  body[data-page="team"] .team-person__open{
    min-height:126px;
    padding:1rem;
    border:1px solid #dce5e8;
    border-radius:14px;
    background:#fff;
    box-shadow:0 9px 24px rgba(7,39,66,.048);
    transition:transform .18s cubic-bezier(.2,.75,.2,1),box-shadow .18s ease,border-color .18s ease,background .18s ease;
  }

  body[data-page="team"] .team-person__open::before{
    left:-1px;
    top:18px;
    bottom:18px;
    width:2px;
    background:#1497a0;
  }

  body[data-page="team"] .team-person__open:hover,
  body[data-page="team"] .team-person__open:focus-visible{
    transform:translateY(-2px);
    border-color:#bfd2d6;
    background:#fff;
    box-shadow:0 16px 36px rgba(7,39,66,.08);
  }

  body[data-page="team"] .team-person__portrait{
    width:82px;
    border-radius:10px;
  }

  body[data-page="team"] .team-person__open:hover .team-person__portrait{
    transform:none;
    box-shadow:0 8px 18px rgba(6,35,60,.05);
  }
}

@media(min-width:641px) and (max-width:1100px){
  body[data-page="team"] .team-coordinator-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body[data-page="team"] .team-coordinator{
    grid-template-columns:42px 82px minmax(0,1fr);
  }

  body[data-page="team"] .team-coordinator__portrait{
    width:82px;
  }
}

@media(max-width:860px){
  body[data-page="team"] .team-lead{
    padding:1rem;
    border:1px solid #dce5e8;
    border-radius:12px;
    background:#fff;
  }
}

@media(max-width:640px){
  body[data-page="team"] .team-coordinator-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:.72rem;
  }

  body[data-page="team"] .team-coordinator{
    grid-template-columns:34px 72px minmax(0,1fr);
    padding:.85rem;
    border:1px solid #e0e7e9;
    border-radius:12px;
    background:#fff;
    box-shadow:none;
  }

  body[data-page="team"] .team-person{
    margin-bottom:.72rem;
  }

  body[data-page="team"] .team-person__open{
    padding:.85rem;
    border:1px solid #e0e7e9;
    border-radius:12px;
    background:#fff;
    box-shadow:none;
  }
}

@media(prefers-reduced-motion:reduce){
  body[data-page="team"] .team-coordinator,
  body[data-page="team"] .team-person__open{
    transition:none!important;
    transform:none!important;
  }
}


/* ============================================================
   TEAM — FLOATING BALANCE REFINEMENT
   Keep elevation as a signature, remove the boxed-card perimeter.
   ============================================================ */
@media(min-width:861px){
  body[data-page="team"] .team-lead{
    border-color:rgba(139,166,176,.16);
    border-radius:12px;
    box-shadow:
      0 9px 24px rgba(7,39,66,.035),
      0 1px 0 rgba(255,255,255,.8) inset;
  }

  body[data-page="team"] .team-coordinator-grid{
    gap:1.1rem;
  }

  body[data-page="team"] .team-coordinator{
    border-color:rgba(133,160,170,.14);
    border-radius:10px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.72));
    box-shadow:
      0 10px 26px rgba(7,39,66,.032),
      0 1px 0 rgba(255,255,255,.86) inset;
    transform:translateY(0);
  }

  body[data-page="team"] .team-coordinator:hover,
  body[data-page="team"] .team-coordinator:focus-within,
  body[data-page="team"] .team-coordinator.is-active-coordinator{
    transform:translateY(-1px);
    border-color:rgba(116,153,164,.20);
    box-shadow:
      0 14px 32px rgba(7,39,66,.05),
      0 1px 0 rgba(255,255,255,.9) inset;
  }

  body[data-page="team"] .team-coordinator__portrait{
    border-radius:8px;
    border-color:rgba(121,153,164,.15);
    box-shadow:0 7px 16px rgba(6,35,60,.04);
  }

  body[data-page="team"] .team-coordinator__line-name{
    border-top-color:rgba(132,157,166,.18);
  }

  body[data-page="team"] .team-person__open{
    border-color:rgba(137,161,170,.13);
    border-radius:10px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.66));
    box-shadow:
      0 8px 22px rgba(7,39,66,.028),
      0 1px 0 rgba(255,255,255,.8) inset;
  }

  body[data-page="team"] .team-person__open:hover,
  body[data-page="team"] .team-person__open:focus-visible{
    transform:translateY(-1px);
    border-color:rgba(116,153,164,.18);
    background:
      linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.76));
    box-shadow:
      0 12px 28px rgba(7,39,66,.045),
      0 1px 0 rgba(255,255,255,.88) inset;
  }

  body[data-page="team"] .team-person__portrait{
    border-radius:8px;
    border-color:rgba(137,161,170,.15);
  }
}

@media(min-width:641px) and (max-width:1100px){
  body[data-page="team"] .team-coordinator{
    border-radius:9px;
  }
}

@media(max-width:860px){
  body[data-page="team"] .team-lead{
    border-color:rgba(139,166,176,.13);
    border-radius:10px;
    box-shadow:0 7px 18px rgba(7,39,66,.025);
  }
}

@media(max-width:640px){
  body[data-page="team"] .team-coordinator,
  body[data-page="team"] .team-person__open{
    border-color:rgba(139,166,176,.11);
    border-radius:9px;
    background:rgba(255,255,255,.7);
    box-shadow:0 5px 14px rgba(7,39,66,.022);
  }
}

@media(prefers-reduced-motion:reduce){
  body[data-page="team"] .team-coordinator,
  body[data-page="team"] .team-person__open{
    transform:none!important;
  }
}


/* FINAL RESPONSIVE CERTIFICATION — TEAM */
@media(max-width:640px){
  body[data-page="team"] .team-hero__context>p{font-size:.86rem;line-height:1.66}
  body[data-page="team"] .team-hero__disciplines>span{font-size:.61rem;line-height:1.35}
  body[data-page="team"] .team-coordinator__line-no{font-size:.60rem}
  body[data-page="team"] .team-coordinator__role{font-size:.72rem}
  body[data-page="team"] .team-coordinator__line-name{font-size:.76rem}
  body[data-page="team"] .team-coordinator .team-inline-link{font-size:.70rem}
  body[data-page="team"] .team-person__view{font-size:.60rem}
  body[data-page="team"] .team-person__affiliation{font-size:.71rem}
  body[data-page="team"] .team-lead__position{font-size:.82rem}
  body[data-page="team"] .team-lead__bio{font-size:.80rem;line-height:1.56}
}


/* FINAL WORKSTATION CERTIFICATION — 2048px hospital desktop.
   Preserve the floating signature while giving long institutional names enough room. */
@media(min-width:1800px){
  body[data-page="team"] .team-leadership>.container,
  body[data-page="team"] .team-coordinators>.container,
  body[data-page="team"] .team-roster>.container,
  body[data-page="team"] .team-network>.container,
  body[data-page="team"] .team-contact>.container{
    max-width:1500px;
  }

  body[data-page="team"] .team-coordinator-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.25rem;
  }

  body[data-page="team"] .team-coordinator{
    grid-template-columns:42px 104px minmax(0,1fr);
    min-height:206px;
    gap:.85rem 1.05rem;
    padding:1.12rem;
  }

  body[data-page="team"] .team-coordinator__portrait{
    width:104px;
  }

  body[data-page="team"] .team-coordinator__body h3{
    font-size:clamp(1.18rem,1.05vw,1.34rem);
    line-height:1.06;
    text-wrap:pretty;
    overflow-wrap:anywhere;
  }

  body[data-page="team"] .team-coordinator__line-name{
    font-size:.75rem;
    line-height:1.42;
    text-wrap:pretty;
    overflow-wrap:anywhere;
  }

  body[data-page="team"] .team-roster__grid{
    column-gap:1.25rem;
  }

  body[data-page="team"] .team-person__open{
    min-height:128px;
  }
}


/* ============================================================
   TEAM — DESKTOP COORDINATOR COLLISION GUARD
   Final winning geometry for floated coordinator surfaces.
   Portrait and copy occupy explicit non-overlapping grid areas.
   ============================================================ */
@media(min-width:861px){
  body[data-page="team"] .team-coordinator{
    grid-template-columns:40px 96px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    grid-template-areas:"index portrait body"!important;
    column-gap:1rem!important;
    align-items:center!important;
  }

  body[data-page="team"] .team-coordinator__index{
    grid-area:index!important;
    align-self:start;
    justify-self:start;
  }

  body[data-page="team"] .team-coordinator__portrait{
    grid-area:portrait!important;
    position:relative!important;
    justify-self:start!important;
    align-self:center!important;
    width:96px!important;
    max-width:96px!important;
    margin:0!important;
    z-index:1;
  }

  body[data-page="team"] .team-coordinator__body{
    grid-area:body!important;
    position:relative!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    display:block!important;
    align-self:center!important;
    z-index:2;
  }

  body[data-page="team"] .team-coordinator__body h3{
    max-width:100%;
    margin:0;
    overflow-wrap:anywhere;
    text-wrap:pretty;
  }

  body[data-page="team"] .team-coordinator__role,
  body[data-page="team"] .team-coordinator__line-name,
  body[data-page="team"] .team-coordinator .team-inline-link{
    max-width:100%;
  }
}

@media(min-width:1800px){
  body[data-page="team"] .team-coordinator{
    grid-template-columns:42px 104px minmax(0,1fr)!important;
    column-gap:1.05rem!important;
  }

  body[data-page="team"] .team-coordinator__portrait{
    width:104px!important;
    max-width:104px!important;
  }
}


/* Final mobile ownership: keep Team section headings subordinate to the hero.
   Override the page-level section type token so the later shared typography
   owner resolves to the intended phone scale as well. */
@media(max-width:640px){
  body[data-page="team"]{
    --type-section:clamp(31px,7vw,36px);
  }
  body[data-page="team"] .team-section-head h2,
  body[data-page="team"] .team-network h2,
  body[data-page="team"] .team-contact h2{
    font-size:clamp(31px,7vw,36px);
    line-height:.99;
    letter-spacing:-.032em;
  }
}
