/* ============================================================
   TEAM PAGE — PREMIUM (в стиле портфолио/блога)
   ============================================================ */

/* HERO: орбы + переливающийся заголовок */
.team-hero { position: relative; overflow: hidden; }
.team-hero .gold-shine {
  background: linear-gradient(110deg,#D4AF37 20%,#fff5cc 45%,#D4AF37 70%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  background-size: 200% auto; animation: goldShine 4s linear infinite;
}
@keyframes goldShine { to { background-position: 200% center; } }
.team-hero-orbs span { position:absolute; border-radius:50%; filter:blur(60px); opacity:.35; pointer-events:none; }
.team-hero-orbs span:nth-child(1){ width:320px;height:320px;background:#D4AF37;top:-80px;right:-60px;animation:floatOrb 9s ease-in-out infinite; }
.team-hero-orbs span:nth-child(2){ width:240px;height:240px;background:#1B6CA8;bottom:-60px;left:10%;animation:floatOrb 11s ease-in-out infinite reverse; }
.team-hero-orbs span:nth-child(3){ width:180px;height:180px;background:#D4AF37;top:40%;left:45%;opacity:.2;animation:floatOrb 13s ease-in-out infinite; }
@keyframes floatOrb { 0%,100%{transform:translate(0,0)} 50%{transform:translate(30px,-30px)} }

/* Мини-статы под заголовком (как port-hero-stats) */
.team-hero-stats { display:flex; align-items:center; flex-wrap:wrap; gap:14px 30px; margin-top:38px; }
.ths { display:flex; flex-direction:column; align-items:flex-start; line-height:1; }
.ths strong {
  font-size:38px; font-weight:800;
  background:linear-gradient(135deg,#F0D48A,#D4AF37);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.ths small { margin-top:8px; font-size:13px; color:rgba(255,255,255,.6); letter-spacing:.5px; }
.ths-div { width:1px; height:44px; background:linear-gradient(transparent,rgba(212,175,55,.5),transparent); }

/* ---- СЕТКА КОМАНДЫ ---- */
.team-grid-lux { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }

.tm-card {
  position:relative; display:flex; flex-direction:column; overflow:hidden;
  border-radius:20px; border:1px solid rgba(212,175,55,.15);
  background:var(--card); text-decoration:none;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease, border-color .5s ease;
}
.tm-card::before {
  content:''; position:absolute; inset:0; border-radius:20px; padding:1px; z-index:5;
  background:linear-gradient(135deg,rgba(212,175,55,.6),transparent 40%,transparent 60%,rgba(212,175,55,.4));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .4s; pointer-events:none;
}
.tm-card:hover { transform:translateY(-8px); border-color:rgba(212,175,55,.5); box-shadow:0 30px 60px rgba(0,0,0,.5), 0 0 40px rgba(212,175,55,.12); }
.tm-card:hover::before { opacity:1; }

.tm-photo {
  position:relative; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;
  font-size:96px; overflow:hidden;
  background:radial-gradient(ellipse at 50% 35%,rgba(212,175,55,.28),#0f1e30 72%);
}
.tm-photo .tm-emoji { position:relative; z-index:1; filter:drop-shadow(0 10px 24px rgba(0,0,0,.45)); transition:transform .5s ease; }
.tm-card:hover .tm-photo .tm-emoji { transform:scale(1.12) rotate(-4deg); }
.tm-photo .p-shine {
  position:absolute; top:0; left:-60%; width:40%; height:100%; z-index:2;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.25),transparent);
  transform:skewX(-20deg); transition:left .7s ease;
}
.tm-card:hover .tm-photo .p-shine { left:120%; }
/* инициалы-«ватермарк» */
.tm-badge-exp {
  position:absolute; top:14px; right:14px; z-index:3;
  padding:6px 13px; border-radius:30px; font-size:11px; font-weight:700; letter-spacing:.5px;
  color:var(--navy); background:linear-gradient(135deg,#F0D48A,#D4AF37); box-shadow:0 4px 12px rgba(212,175,55,.35);
}

.tm-body { padding:24px 24px 26px; display:flex; flex-direction:column; flex:1; }
.tm-body h3 { font-size:20px; font-weight:600; color:#fff; margin-bottom:4px; transition:color .3s; }
.tm-card:hover .tm-body h3 { color:var(--gold); }
.tm-role { color:var(--gold); font-size:12px; letter-spacing:1.2px; text-transform:uppercase; font-weight:600; margin-bottom:14px; }
.tm-desc { color:rgba(255,255,255,.6); font-size:14px; line-height:1.6; margin-bottom:16px; flex:1; }

/* теги-скиллы */
.tm-tags { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.tm-tags span {
  font-size:12px; padding:5px 12px; border-radius:20px;
  background:rgba(212,175,55,.08); border:1px solid rgba(212,175,55,.16); color:rgba(212,175,55,.9);
}

/* соцсети внутри карточки */
.tm-socials { display:flex; gap:10px; padding-top:16px; border-top:1px solid rgba(255,255,255,.06); }
.tm-socials a {
  width:36px; height:36px; border-radius:9px; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(212,175,55,.35); color:var(--gold); transition:.3s;
}
.tm-socials a:hover { background:linear-gradient(135deg,#F0D48A,#D4AF37); color:var(--navy); transform:translateY(-2px); }
.tm-socials a svg { width:16px; height:16px; }

/* reveal */
.tm-card.reveal { opacity:0; transform:translateY(40px); transition:opacity .6s ease, transform .6s ease; }
.tm-card.reveal.visible { opacity:1; transform:translateY(0); }

/* ---- ЦЕННОСТИ (в стиле value-card) ---- */
.culture-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.culture-card {
  position:relative; padding:34px 28px; overflow:hidden;
  background:rgba(255,255,255,.03); border:1px solid rgba(212,175,55,.14); border-radius:18px;
  transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
}
.culture-card:hover { transform:translateY(-8px); border-color:rgba(212,175,55,.4); box-shadow:0 24px 50px -20px rgba(0,0,0,.6); }
.culture-num {
  position:absolute; top:20px; right:24px; font-size:40px; font-weight:800; line-height:1;
  color:rgba(212,175,55,.12); transition:color .4s;
}
.culture-card:hover .culture-num { color:rgba(212,175,55,.3); }
.culture-ic {
  width:56px; height:56px; margin-bottom:18px; font-size:26px;
  display:flex; align-items:center; justify-content:center; border-radius:15px;
  background:linear-gradient(135deg,rgba(212,175,55,.16),rgba(212,175,55,.04));
  border:1px solid rgba(212,175,55,.2); transition:transform .4s, background .4s;
}
.culture-card:hover .culture-ic { transform:rotate(-8deg) scale(1.08); background:linear-gradient(135deg,rgba(212,175,55,.3),rgba(212,175,55,.08)); }
.culture-card h3 { font-size:18px; font-weight:600; margin-bottom:10px; }
.culture-card p { color:rgba(255,255,255,.65); font-size:14px; line-height:1.6; margin:0; }

/* ---- Адаптив ---- */
@media (max-width:1024px){ .team-grid-lux { grid-template-columns:repeat(2,1fr); } .culture-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:768px){
  .team-grid-lux { grid-template-columns:1fr; }
  .culture-grid { grid-template-columns:1fr; }
  .team-hero-stats { gap:14px 20px; }
  .ths strong { font-size:30px; }
  .ths-div { display:none; }
}
/* ============================================================
   TEAM — БЛОК «ОТДЕЛЫ / НАПРАВЛЕНИЯ» (компактные карточки)
   ============================================================ */
.team-depts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.dept-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 22px;
  border-radius: 16px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(212,175,55,.14);
  transition: transform .35s var(--ease), border-color .35s, box-shadow .35s;
  overflow: hidden;
}
.dept-card:hover {
  transform: translateY(-6px);
  border-color: rgba(212,175,55,.4);
  box-shadow: 0 20px 44px -24px rgba(0,0,0,.7);
}
.dept-ic {
  width: 52px; height: 52px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 14px; font-size: 24px; color: var(--gold);
  background: linear-gradient(135deg,rgba(212,175,55,.16),rgba(212,175,55,.04));
  border: 1px solid rgba(212,175,55,.2);
  transition: transform .4s, background .4s, color .4s;
}
.dept-ic svg { width: 24px; height: 24px; }
.dept-card:hover .dept-ic {
  transform: rotate(-8deg) scale(1.08);
  background: linear-gradient(135deg,#F0D48A,#D4AF37); color: var(--navy);
}
.dept-info h4 { font-size: 15px; font-weight: 600; color: #fff; margin-bottom: 3px; }
.dept-info span { font-size: 12.5px; color: rgba(255,255,255,.55); }

.dept-card.reveal { opacity:0; transform:translateY(30px); transition:opacity .6s ease, transform .6s ease; }
.dept-card.reveal.visible { opacity:1; transform:translateY(0); }

/* ---- БЛОК «КАК МЫ РАБОТАЕМ ВМЕСТЕ» (мини) ---- */
.team-mini { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.mini-card {
  padding: 30px 26px; border-radius: 16px; text-align: center;
  background: rgba(255,255,255,.03); border: 1px solid rgba(212,175,55,.14);
  transition: transform .35s var(--ease), border-color .35s;
}
.mini-card:hover { transform: translateY(-6px); border-color: rgba(212,175,55,.4); }
.mini-emoji { font-size: 34px; margin-bottom: 14px; }
.mini-card h4 { font-size: 17px; font-weight: 600; margin-bottom: 8px; }
.mini-card p { font-size: 13.5px; color: rgba(255,255,255,.6); line-height: 1.6; margin: 0; }

@media (max-width:1024px){
  .team-depts { grid-template-columns: repeat(2,1fr); }
  .team-mini  { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
}
@media (max-width:768px){
  .team-depts { grid-template-columns: 1fr; }
}