.profile-directory{padding:clamp(2rem,4vw,4.5rem) 0 5rem}
.profile-directory-hero{max-width:980px;margin:0 auto 2.4rem;padding:clamp(1.4rem,3vw,2.4rem);border:1px solid rgba(255,255,255,.12);border-radius:32px;background:linear-gradient(145deg,rgba(17,31,45,.88),rgba(8,18,28,.72));box-shadow:0 24px 70px rgba(0,0,0,.28)}
.profile-directory-hero h1{margin:.55rem 0 .8rem;font-size:clamp(2.2rem,6vw,5.6rem);line-height:.92;letter-spacing:-.045em}
.profile-directory-hero>p{max-width:820px;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.7;color:rgba(238,247,255,.8)}
.profile-directory-nav{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.35rem}
.profile-directory-nav a,.profile-directory-card{color:inherit;text-decoration:none}
.profile-directory-nav a{padding:.68rem .95rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.045)}
.profile-directory-group{margin:2rem 0 3rem}
.profile-directory-group>header{margin-bottom:1rem}
.profile-directory-group h2{font-size:clamp(1.35rem,2.4vw,2.1rem);margin:0}
.profile-directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:1rem;margin:1rem 0 2rem}
.profile-directory-card{display:flex;min-height:156px;flex-direction:column;justify-content:space-between;padding:1.25rem;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:linear-gradient(145deg,rgba(18,34,49,.8),rgba(9,20,31,.7));transition:transform .18s ease,border-color .18s ease,background .18s ease}
.profile-directory-card:hover,.profile-directory-card:focus-visible{transform:translateY(-3px);border-color:rgba(var(--world-accent),.55);background:linear-gradient(145deg,rgba(22,42,60,.9),rgba(10,24,36,.82));outline:none}
.profile-directory-card span{font-size:.72rem;letter-spacing:.16em;color:rgb(var(--world-accent))}
.profile-directory-card h3{margin:.65rem 0;font-size:1.08rem;line-height:1.25}
.profile-directory-card small{color:rgba(238,247,255,.56);line-height:1.4}
.ws-card-link{display:block;color:inherit;text-decoration:none}
.ws-card-link:hover,.ws-card-link:focus-visible{border-color:rgba(var(--world-accent),.55);transform:translateY(-2px);outline:none}
@media (max-width:700px){.profile-directory{padding-top:1.2rem}.profile-directory-hero{border-radius:24px}.profile-directory-nav a{font-size:.78rem}}

/* V2 — visual role directory */
.profile-directory-group-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,360px);
  gap:1.2rem;
  align-items:stretch;
  padding:1rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
}
.profile-directory-group-head>div{padding:.45rem .35rem}
.profile-directory-group-head>div>span{
  display:block;
  margin-bottom:.6rem;
  color:rgb(var(--world-accent));
  font:700 .68rem/1 monospace;
  letter-spacing:.13em;
}
.profile-directory-group-head h2{
  font-size:clamp(1.8rem,3.3vw,3.1rem)!important;
  line-height:.98;
  letter-spacing:-.04em;
}
.profile-directory-group-head p{
  max-width:66ch;
  margin:.85rem 0 0;
  color:rgba(238,247,255,.68);
  line-height:1.68;
}
.profile-directory-group-head figure{
  position:relative;
  margin:0;
  min-height:180px;
  overflow:hidden;
  border-radius:22px;
  background:#08121b;
}
.profile-directory-group-head figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(130deg,rgba(5,15,24,.1),rgba(5,15,24,.58));
}
.profile-directory-group-head img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
}
.profile-directory-card.has-image{
  position:relative;
  overflow:hidden;
  min-height:220px;
  justify-content:flex-end;
  background:
    linear-gradient(180deg,rgba(6,15,23,.18) 0%,rgba(6,15,23,.82) 64%,rgba(6,15,23,.95) 100%),
    var(--directory-image) center 28%/cover no-repeat;
}
.profile-directory-card.has-image::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,rgba(var(--world-accent),.13),transparent 38%),
    linear-gradient(180deg,transparent 35%,rgba(5,13,20,.7) 72%,rgba(5,13,20,.94));
  pointer-events:none;
}
.profile-directory-card.has-image>*{position:relative;z-index:1}
.profile-directory-card p{
  margin:.55rem 0 0;
  color:rgba(240,248,255,.73);
  line-height:1.55;
  font-size:.92rem;
}
.profile-directory-card.has-image span{
  align-self:flex-start;
  padding:.35rem .52rem;
  border-radius:999px;
  background:rgba(4,13,21,.58);
  backdrop-filter:blur(10px);
}
.profile-directory-card.has-image h3{
  margin:.75rem 0 .2rem;
  font-size:clamp(1.15rem,2vw,1.45rem);
  text-shadow:0 2px 18px rgba(0,0,0,.5);
}
@media(max-width:800px){
  .profile-directory-group-head{grid-template-columns:1fr}
  .profile-directory-group-head figure{min-height:230px}
  .profile-directory-card.has-image{min-height:250px}
}

.profile-directory-capabilities-intro{
  margin:0 0 1rem;
  padding:1.1rem 1.25rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(100,247,161,.045),rgba(91,234,255,.02));
}
.profile-directory-capabilities-intro p{
  margin:0;
  max-width:88ch;
  color:rgba(238,247,255,.72);
  line-height:1.68;
}
.capability-grid .profile-directory-card.has-image{
  min-height:250px;
}
