:root{
  --blue:#0ea5e9;--pink:#c084fc;--purple:#7c3aed;--dark:#0f172a;--light:#e2e8f0;
  --bg:#f8fafc;--text:#1e293b;--muted:#64748b;--card:#ffffff;
}

.page .tm-header {


  background: #0f172a;
}
*{margin:0;padding:0;box-sizing:border-box;}
.contain{max-width:1440px;margin:0 auto;padding:0 2%;}

.profile-hero{
  display:flex;align-items:flex-start;gap:40px;
  padding:150px 20px 20px;background:var(--bg);
}
.profile-photo-wrapper{
  flex-shrink:0;display:flex;flex-direction:column;align-items:center;
}
.profile-photo{
  width:280px;height:280px;border-radius:50%;overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.15);
}
.profile-photo img{width:100%;height:100%;object-fit:cover;}
.profile-name{
  font-size:32px;font-weight:900;color:var(--text);margin:20px 0 6px;
}
.profile-role{
  font-size:19px;color:var(--blue);font-weight:600;margin-bottom:20px;
}
.social-links{
  height: 30px;
  display:flex;gap:16px;margin-bottom:16px;
}
.social-link{
  width:44px;height:44px;background:var(--light);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:all .3s;
}
.social-link:hover{
  background:var(--pink);transform:translateY(-3px);
}
.social-link img{width:20px;height:20px;object-fit:contain;}
.btn-contact{
  background:linear-gradient(90deg,var(--pink),var(--purple));
  color:#fff;padding:16px 32px;border:none;border-radius:16px;
  font-weight:800;font-size:16px;cursor:pointer;
  box-shadow:0 12px 35px rgba(124,58,237,.4);transition:all .4s;
  width:100%;max-width:280px;
}
.btn-contact:hover{
  transform:translateY(-3px);box-shadow:0 18px 45px rgba(124,58,237,.5);
}

.profile-intro{
  flex:1;display:flex;flex-direction:column;
}
.profile-intro p{
  font-size:30px; font-weight: 600;color:var(--text);line-height:1.5;margin-bottom:28px;
}
.stats-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
}
.stat-item{
  background:var(--card);border-radius:20px;padding:24px;
  box-shadow:0 12px 35px rgba(0,0,0,.08);transition:.3s;
}
.stat-item:hover{transform:translateY(-4px);}
.stat-label{font-size:34px;color:var(--muted);margin-bottom:8px;}
.stat-value{font-size:24px;font-weight:800;color:var(--blue);}
.stat-desc{font-size:14px;color:var(--muted);margin-top:6px;line-height:1.5;}

.profile-content{padding:0 0 120px;}
.section-title{
  font-size:36px;font-weight:800;color:var(--text);margin:80px 0 40px;
  position:relative;padding-left:20px;
}
.section-title::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:6px;height:36px;background:var(--blue);border-radius:3px;
}
.text-block p{
  font-size:18px;color:var(--text);line-height:1.8;margin-bottom:24px;
}
.highlight{
  background:linear-gradient(120deg,rgba(14,165,233,.08),rgba(192,132,252,.08));
  padding:32px;border-radius:20px;margin:40px 0;
  font-size:19px;font-weight:600;color:var(--text);
}
.specializations{
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin:40px 0;
}
.spec-item{
  background:var(--card);border-radius:16px;padding:28px;
  box-shadow:0 12px 35px rgba(0,0,0,.08);transition:.3s;
  display:flex;align-items:flex-start;gap:16px;
}
.spec-item:hover{transform:translateY(-4px);}
.spec-icon{
  width:48px;height:48px;background:var(--blue);color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:20px;font-weight:900;flex-shrink:0;
}
.spec-text h4{
  font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px;
}
.spec-text p{font-size:15px;color:var(--muted);line-height:1.6;}

.steps-title-wrapper{
  margin:80px 0 40px;
}

.steps-columns{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;
}
.steps-column{
  display:flex;flex-direction:column;gap:40px;
}
.step-item{
  display:flex;gap:24px;align-items:flex-start;
}
.step-number{
  flex-shrink:0;width:56px;height:56px;background:var(--blue);color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:22px;
}
.step-content{flex:1;}
.step-title{font-size:20px;font-weight:800;color:var(--text);margin-bottom:12px;}
.step-desc{font-size:16px;color:var(--muted);line-height:1.7;}
.step-result{
  margin-top:12px;font-style:italic;color:var(--blue);font-weight:600;
}

.approach-block{
  margin:80px 0;
}
.approach-block h2{
  font-size:36px;font-weight:800;color:var(--text);margin-bottom:24px;
  position:relative;padding-left:20px;
}
.approach-block h2::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:6px;height:36px;background:var(--blue);border-radius:3px;
}
.approach-block .text-block p{
  font-size:18px;color:var(--text);line-height:1.8;margin-bottom:20px;
}
.approach-block .text-block p strong{font-weight:800;}
.approach-block .btn-group{
  display:flex;gap:16px;flex-wrap:wrap;margin-top:32px;
}
.btn-primary{
  background:linear-gradient(90deg,var(--pink),var(--purple));
  border: none;
  cursor: pointer;
  color:#fff;padding:18px 36px;border-radius:16px;
  font-weight:800;font-size:16px;text-decoration:none;
  box-shadow:0 12px 35px rgba(124,58,237,.4);transition:all .4s;
  display:inline-flex;align-items:center;gap:10px;
}
.btn-primary:hover{
  transform:translateY(-4px);box-shadow:0 20px 50px rgba(124,58,237,.55);
}
.btn-icon{width:18px;height:18px;filter:brightness(0) invert(1);}

/* === АДАПТИВ === */
@media(max-width:1100px){
  .steps-columns{grid-template-columns:1fr;gap:50px;}
}
@media(max-width:1024px){
  .profile-hero{flex-direction:column;align-items:center;text-align:center;}
  .profile-photo-wrapper{width:100%;max-width:280px;}
  .profile-photo{width:100%;height:auto;aspect-ratio:1/1;}
  .stats-grid{grid-template-columns:1fr;}
  .btn-contact{max-width:100%;}
}
@media(max-width:768px){
  .contain{padding:0 5%;}
  .profile-hero{padding:150px 0 60px;}
  .section-title{font-size:30px;margin:60px 0 32px;}
  .specializations{grid-template-columns:1fr;}
  .step-item{flex-direction:column;gap:16px;}
  .step-number{width:48px;height:48px;font-size:20px;}
  .approach-block .btn-group{flex-direction:column;align-items:stretch;}
  .btn-primary{padding:16px 32px;font-size:16px;}
   .profile-intro p{
  font-size:20px;}
}
@media(max-width:480px){
  .profile-photo{width:180px;height:180px;}
  .profile-name{font-size:28px;}
  .profile-role{font-size:17px;}
  .stats-grid{gap:16px;}
  .stat-item{padding:20px;}
  .stat-value{font-size:22px;}
}





/* === ИЗОЛИРОВАННЫЕ СТИЛИ СЕКЦИИ КЕЙСОВ === */
 /*      .cases2025-section {
        padding: 20px 1% 40px;
        background: var(--section-1, #f8fafc);
      }
  
      .cases2025-section .cases2025-title {
        color: var(--purple, #7c3aed);
        margin-bottom: 60px;
        font-size: 28px;
        text-align: center;
        font-weight: 700;
      }
  
      .cases2025-grid {
        max-width: 1440px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 32px;
      }
  
      .cases2025-card {
        background: var(--card, #ffffff);
        backdrop-filter: blur(20px);
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 20px 60px rgba(0, 0, 0, .12);
        transition: transform .4s, box-shadow .4s;
        position: relative;
        cursor: pointer;
        display: flex;
        flex-direction: column;
      }
  
      .cases2025-card:hover {
        transform: translateY(-12px);
        box-shadow: 0 30px 80px rgba(0, 0, 0, .22);
      }
  
      .cases2025-link {
        position: absolute;
        inset: 0;
        z-index: 1;
      }
  
      .cases2025-img {
        width: 100%;
        height: 260px;
        object-fit: cover;
      }
  
      .cases2025-info {
        padding: 20px;
        flex-grow: 1;
        display: flex;
        flex-direction: column;
        position: relative;
        z-index: 2;
      }
  
      .cases2025-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 14px;
        flex-wrap: wrap;
      }
  
      .cases2025-header-left {
        display: flex;
        align-items: center;
        gap: 10px;
        flex: 1;
        min-width: 0;
      }
  
      .cases2025-avatar {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        overflow: hidden;
        flex-shrink: 0;
        background: #f1f5f9;
        display: flex;
        align-items: center;
        justify-content: center;
      }
  
      .cases2025-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
  
      .cases2025-name {
        font-weight: 600;
        font-size: 13px;
        color: #1e293b;
        line-height: 1.3;
        word-break: break-word;
        overflow-wrap: anywhere;
      }
  
      .cases2025-btn {
        background: linear-gradient(90deg, #c084fc, #7c3aed);
        color: #fff;
        border: none;
        padding: 6px 16px;
        border-radius: 50px;
        font-weight: 700;
        font-size: 13px;
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        transition: all .3s;
        box-shadow: 0 4px 15px rgba(124, 58, 237, .4);
        white-space: nowrap;
      }
  
      .cases2025-card:hover .cases2025-btn {
        opacity: 1;
        visibility: visible;
      }
  
      .cases2025-title-text {
        font-size: 21px;
        font-weight: 800;
        margin: 0 0 10px;
        color: #0f172a;
        line-height: 1.25;
        flex-grow: 1;
      }
  
      .cases2025-desc {
        font-size: 14px;
        color: #64748b;
        line-height: 1.5;
        margin-bottom: 16px;
      }
  
      .cases2025-stats {
        display: flex;
        gap: 20px;
        font-size: 13px;
        color: #475569;
      }
  
      .cases2025-stats span {
        font-weight: 600;
      } */
  
      /* === АДАПТИВНОСТЬ === */
/*       @media (max-width: 1024px) {
        .cases2025-grid {
          grid-template-columns: repeat(2, 1fr);
        }
      }
  
      @media (max-width: 640px) {
        .cases2025-grid {
          grid-template-columns: 1fr;
        }
        .cases2025-img {
          height: 220px !important;
        }
        .cases2025-section {
          padding: 80px 6% 60px;
        }
        .cases2025-section .cases2025-title {
          font-size: 24px;
          margin-bottom: 40px;
        }
      } */



      .cases-section {
        background: var(--section-1);
      }
      .cases-section h2.section-title {
        display: block;
        color: var(--purple);
        margin-bottom: 60px;
      }
      .cases-grid {
        max-width: 1440px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 32px;
      }
      .case-card {
        background: var(--card);
        backdrop-filter: blur(20px);
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
        transition: 0.4s;
        position: relative;
        cursor: pointer;
        display: flex;
        flex-direction: column;
      }
      .case-card:hover {
        transform: translateY(-12px);
        box-shadow: 0 30px 80px rgba(0, 0, 0, 0.22);
      }
      .case-img {
        width: 100%;
        height: 260px;
        object-fit: cover;
      }
      .case-info {
        padding: 10px;
        flex-grow: 1;
        display: flex;
        flex-direction: column;
      }
      .case-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 6px;
        margin-bottom: 14px;
        flex-wrap: wrap;
      }
      .case-header-left {
        display: flex;
        align-items: center;
        gap: 5px;
        flex: 1;
        min-width: 0;
      }
      .case-avatar {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        overflow: hidden;
        flex-shrink: 0;
        background: #f1f5f9;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .case-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .case-name {
        font-weight: 600;
        font-size: 11px;
        color: #1e293b;
        line-height: 1.3;
        word-break: break-word;
        overflow-wrap: anywhere;
      }
      .case-btn {
        background: linear-gradient(90deg, #c084fc, #7c3aed);
        color: #fff;
        border: none;
        padding: 6px 8px;
        border-radius: 50px;
        font-weight: 700;
        font-size: 12px;
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
        box-shadow: 0 4px 15px rgba(124, 58, 237, 0.4);
        white-space: nowrap;
      }
      .case-card:hover .case-btn {
        opacity: 1;
        visibility: visible;
      }
      .case-title {
        font-size: 21px;
        font-weight: 800;
        margin: 0 0 10px;
        color: #0f172a;
        line-height: 1.25;
        flex-grow: 1;
      }
      .case-desc {
        font-size: 14px;
        color: #64748b;
        line-height: 1.5;
        margin-bottom: 16px;
      }
      .case-stats {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        font-size: 12px;
        color: #475569;
      }
      .case-stats span {
        font-weight: 600;
        width: 32%;
        text-align: center;
      }
      @media (max-width: 1024px) {
        .cases-grid,
        .channels-right {
          grid-template-columns: repeat(2, 1fr);
        }
        .channels-container {
          grid-template-columns: 1fr;
          gap: 32px;
        }
      }

      @media (max-width: 1024px) {
      .cases-grid{
        display: flex;
        flex-direction: column;
      }}