body.hub{display:block;height:auto;min-height:100%;padding:0 20px}
.hubwrap{position:relative;z-index:1;width:min(980px,100%);margin:0 auto;padding:12vh 0 48px;display:flex;flex-direction:column;align-items:center;gap:44px}
.hubwrap header{text-align:center}
.title{font-family:var(--display);font-weight:800;font-size:clamp(46px,10vw,96px);letter-spacing:-.045em;line-height:1;background:linear-gradient(180deg,#fff,rgba(255,255,255,.7));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}
.sub{margin-top:14px;color:var(--dim);font-size:16px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:100%}
.pcard{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:32px 18px 28px;border-radius:28px;text-decoration:none;text-align:center;
  background:linear-gradient(140deg,rgba(255,255,255,.22),rgba(255,255,255,.08) 55%,rgba(255,255,255,.14));
  -webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);
  border:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -1px 0 rgba(255,255,255,.1),0 24px 48px -24px rgba(10,4,32,.7);
  transition:transform .25s,box-shadow .25s,border-color .25s}
.pcard::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(300px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.22),transparent 60%)}
.pcard:hover,.pcard:focus-visible{transform:translateY(-6px);border-color:rgba(255,255,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 28px 50px -18px rgba(255,255,255,.22)}
.pcard>*{position:relative}
.av{position:relative;width:84px;height:84px;border-radius:50%;margin-bottom:12px;display:grid;place-items:center;overflow:hidden;font-family:var(--display);font-weight:800;font-size:38px;background:linear-gradient(135deg,#8d8d96,#35353b);box-shadow:0 10px 26px -8px rgba(0,0,0,.8)}
.av::after{content:attr(data-letter)}
.av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.pcard b{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.02em}
.pcard small{color:var(--faint);font-size:13px}
@media(max-width:760px){.grid{grid-template-columns:1fr}.hubwrap{padding-top:8vh}}
