.hub-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:24px}.hub{width:100%;max-width:400px}.hub__card{border-radius:20px;overflow:hidden;box-shadow:0 12px 48px #0f2d3f24}.hub__header{background:var(--color-primary);padding:36px 32px 28px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.hub__photo{width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid rgba(255,255,255,.15)}.hub__name{font-size:1.5rem;font-weight:700;color:var(--color-white);line-height:1.1;margin-bottom:4px}.hub__role{font-size:.78rem;color:#ffffff8c;font-weight:400;line-height:1.5;margin:0}.hub__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;list-style:none;padding:0;margin:4px 0 0}.hub__tags li{font-size:.72rem;font-weight:600;color:#ffffffb3;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:100px;padding:4px 11px}.hub__tag-dispo{color:var(--color-accent)!important;background:#2bb67326!important;border-color:#2bb6734d!important;display:flex!important;align-items:center;gap:5px}.hub__tag-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);flex-shrink:0;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hub__body{background:var(--color-white);padding:8px 8px 12px}.hub__contacts{display:flex;flex-direction:column;gap:2px;list-style:none;padding:0;margin:0}.hub__contact-link{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--color-text);font-weight:500;padding:11px 14px;border-radius:var(--radius-md);transition:background var(--transition),color var(--transition);text-decoration:none}.hub__contact-link:hover{background:var(--color-bg);color:var(--color-primary)}.hub__contact-icon{width:34px;height:34px;border-radius:var(--radius-sm);background:#2bb67314;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hub__contact-icon svg{width:15px;height:15px;stroke:var(--color-accent);fill:none}.hub__contact-icon svg[fill=currentColor]{fill:var(--color-accent);stroke:none}
