/* ── Symmetric, adaptive page shell ── */
html,
body {
  overflow-x: clip;
}

#app {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

/* ══════════════════════════════════════
   HERO — original row layout, centered & spread
   ══════════════════════════════════════ */
.hero-page[data-v-46599b1c] {
  justify-content: center !important;
  align-items: flex-start !important;
  width: 100% !important;
  overflow: hidden !important;
}

.main-block[data-v-46599b1c] {
  position: relative !important;
  width: 100% !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 108px clamp(20px, 3vw, 40px) 16px !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: clamp(24px, 3vw, 48px) !important;
  box-sizing: border-box !important;
}

.left-container[data-v-46599b1c] {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: 680px !important;
  min-width: 0 !important;
  gap: 0 !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: calc(100vh - 140px);
}

/* Title block sits visually centered; subtitle gets air below the title,
   CTA drops lower — no dead space under the fold */
.content[data-v-46599b1c] {
  gap: clamp(48px, 9vh, 96px) !important;
}

.text-content[data-v-46599b1c] {
  gap: clamp(28px, 5vh, 48px) !important;
}

/* Slim gradient star mark between AI and Research */
.gemini-icon[data-v-46599b1c] {
  width: 104px !important;
  height: 104px !important;
  top: 0 !important;
  left: 96px !important;
}

/* Header escapes the narrow left column: spans the full hero width,
   so nav links and buttons never overlap */
.reveal-wrap.reveal-header[data-v-46599b1c] {
  position: absolute !important;
  top: 16px !important;
  left: clamp(20px, 3vw, 40px) !important;
  right: clamp(20px, 3vw, 40px) !important;
  width: auto !important;
  z-index: 60 !important;
}

.header[data-v-46599b1c] {
  width: 100% !important;
  max-width: 100% !important;
  flex-shrink: 0 !important;
  gap: clamp(16px, 2vw, 32px) !important;
}

.menu[data-v-46599b1c] {
  gap: clamp(12px, 1.6vw, 22px) !important;
  min-width: 0 !important;
}

.btn-group[data-v-46599b1c] {
  flex-shrink: 0 !important;
}

.content[data-v-46599b1c] {
  width: 100% !important;
  max-width: 100% !important;
}

.text-content[data-v-46599b1c] {
  width: 100% !important;
  max-width: 100% !important;
}

.subtitle[data-v-46599b1c] {
  width: 100% !important;
  max-width: 100% !important;
}

.image-col[data-v-46599b1c] {
  flex: 0 1 520px !important;
  width: auto !important;
  max-width: 520px !important;
  min-width: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
}

.main-img-wrap[data-v-46599b1c] {
  width: 100% !important;
  max-width: 520px !important;
  height: min(78vh, 780px) !important;
  flex-shrink: 1 !important;
}

/* Floating nav — opaque so text never bleeds through */
.floating-nav[data-v-684879b9] {
  left: 50% !important;
  max-width: min(1142px, calc(100% - 48px)) !important;
  background: #16161af2 !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  z-index: 300 !important;
}

.floating-nav.visible[data-v-684879b9] {
  transform: translate(-50%, 0) !important;
}

/* ══════════════════════════════════════
   ABOUT — 3 equal cards
   ══════════════════════════════════════ */
.about-section[data-v-3e68c2c0] {
  height: auto !important;
  min-height: 100vh;
  max-width: 1440px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 100px clamp(20px, 3vw, 40px) 48px !important;
  box-sizing: border-box !important;
}

.about-header[data-v-3e68c2c0] {
  max-width: 100% !important;
}

.cards-row[data-v-3e68c2c0],
.about-section .cards-row {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
}

/* ══════════════════════════════════════
   TEAM — smaller cards, less pixelation
   ══════════════════════════════════════ */
.team-section[data-v-090cef5a] {
  height: auto !important;
  max-width: 1440px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.team-sticky[data-v-090cef5a] {
  position: static !important;
  height: auto !important;
  min-height: auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 96px clamp(20px, 3vw, 40px) 72px !important;
  overflow: visible !important;
  gap: 36px !important;
}

.team-grid-bg[data-v-090cef5a] {
  opacity: 0.3 !important;
}

.team-text[data-v-090cef5a] {
  clip-path: none !important;
  transform: none !important;
  max-width: 640px !important;
  width: 100% !important;
  text-align: center !important;
  padding: 0 16px !important;
}

/* Two symmetric photo stacks flanking the centered text */
.team-layout {
  display: grid;
  grid-template-columns: 1fr minmax(300px, 460px) 1fr;
  gap: clamp(20px, 3vw, 48px);
  align-items: center;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.team-side {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.team-side--left { align-items: flex-end; }
.team-side--right { align-items: flex-start; }

/* «разбросанно, но симметрично»: mirrored stagger */
.team-side--left .team-card:nth-child(1) { transform: translateX(-28px); }
.team-side--left .team-card:nth-child(3) { transform: translateX(-16px); }
.team-side--right .team-card:nth-child(1) { transform: translateX(28px); }
.team-side--right .team-card:nth-child(3) { transform: translateX(16px); }

.team-layout .team-text {
  position: static !important;
  transform: none !important;
  clip-path: none !important;
  max-width: 100% !important;
  text-align: center !important;
  padding: 0 8px !important;
}

.team-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.team-sticky .team-card {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 220px !important;
  margin: 0 auto !important;
  padding: 8px !important;
  gap: 12px !important;
  border-radius: 14px !important;
}

.team-sticky .team-card img,
.team-sticky .team-card-photo {
  filter: grayscale(1);
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  image-rendering: auto;
}

.team-sticky .team-card-info {
  width: 100% !important;
  padding: 0 4px 6px !important;
  gap: 4px !important;
}

.team-sticky .team-card-name {
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.team-sticky .team-card-role {
  font-size: 11px !important;
  line-height: 1.35 !important;
}

/* ══════════════════════════════════════
   MISSION — no text/image overlap
   ══════════════════════════════════════ */
.mission-section[data-v-62965d40] {
  max-width: none !important;
  width: 100% !important;
}

.mission-content[data-v-62965d40] {
  justify-content: flex-start !important;
  padding: 0 clamp(24px, 5vw, 64px) 18vh !important;
  max-width: 1440px;
  margin: 0 auto;
}

.text-block[data-v-62965d40] {
  max-width: min(58%, 680px) !important;
  width: auto !important;
  margin: 0 !important;
  z-index: 3 !important;
  position: relative !important;
}

.knot-wrap[data-v-62965d40] {
  width: min(34vw, 380px) !important;
  height: min(34vw, 380px) !important;
  right: clamp(16px, 4vw, 48px) !important;
  bottom: 12vh !important;
  z-index: 1 !important;
}

.knot-inner[data-v-62965d40] {
  width: 100% !important;
  height: 100% !important;
}

/* ══════════════════════════════════════
   FOR WHOM
   ══════════════════════════════════════ */
.forwhom-section--interactive {
  height: auto !important;
  min-height: auto !important;
  max-width: 1440px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.forwhom-section--interactive .forwhom-sticky {
  position: static !important;
  height: auto !important;
  padding: 96px clamp(20px, 3vw, 40px) 80px !important;
  align-items: stretch !important;
  justify-content: center !important;
}

.forwhom-interactive {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 40px;
  align-items: start;
}

.forwhom-nav {
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: sticky;
  top: 120px;
}

.forwhom-nav-item {
  cursor: pointer;
  color: #79798e;
  background: transparent;
  border: none;
  border-left: 3px solid transparent;
  text-align: left;
  padding: 14px 18px;
  font-family: Inter Tight, sans-serif;
  font-size: 20px;
  font-weight: 500;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
  border-radius: 0 12px 12px 0;
}

.forwhom-nav-item:hover {
  color: #16161a;
  background: #ffffff66;
}

.forwhom-nav-item.active {
  color: #16161a;
  border-left-color: #6c5ce0;
  background: #fff;
}

.forwhom-panel {
  background: #fff;
  border-radius: 24px;
  padding: 40px 36px;
  min-height: 280px;
}

.forwhom-panel-title {
  font-size: 32px;
  font-weight: 600;
  margin: 0 0 12px;
  letter-spacing: -0.02em;
}

.forwhom-panel-desc {
  color: #79798e;
  font-family: Victor Mono, monospace;
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 24px;
}

.forwhom-panel-btn {
  cursor: pointer;
  color: #fff;
  background: #16161a;
  border: none;
  border-radius: 32px;
  padding: 12px 24px;
  font-family: Inter Tight, sans-serif;
  font-size: 16px;
  font-weight: 500;
  transition: background 0.2s;
}

.forwhom-panel-btn:hover {
  background: #2a2a32;
}

.forwhom-panel-detail {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.45s ease, opacity 0.35s ease, margin 0.35s ease;
  margin-top: 0;
}

.forwhom-panel-detail.open {
  max-height: 800px;
  opacity: 1;
  margin-top: 8px;
}

.forwhom-panel-detail p {
  color: #16161a;
  margin: 0 0 12px;
  font-family: Victor Mono, monospace;
  font-size: 15px;
  line-height: 1.55;
}


/* Events — flexible columns so «г. Астана» and dates are always visible */
.events-top[data-v-e48cf165] {
  flex-wrap: wrap !important;
  gap: clamp(28px, 3vw, 48px) !important;
  align-items: flex-start !important;
}

.events-text[data-v-e48cf165] {
  width: auto !important;
  flex: 1 1 360px !important;
  min-width: 300px !important;
}

.events-list[data-v-e48cf165] {
  width: auto !important;
  flex: 1 1 520px !important;
  min-width: 0 !important;
  max-width: 720px !important;
}

.event-row[data-v-e48cf165] {
  gap: 16px !important;
}

.event-name[data-v-e48cf165] {
  width: auto !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.event-info[data-v-e48cf165] {
  flex-shrink: 0 !important;
  gap: clamp(14px, 2vw, 32px) !important;
}

.event-city[data-v-e48cf165],
.event-date[data-v-e48cf165] {
  width: auto !important;
  white-space: nowrap !important;
  text-align: right !important;
}

/* ══════════════════════════════════════
   EVENTS & PROGRAMS
   ══════════════════════════════════════ */
.events-section[data-v-e48cf165] {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 64px clamp(20px, 3vw, 40px) 112px !important;
  box-sizing: border-box !important;
}

.events-content[data-v-e48cf165] {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.past-grid[data-v-e48cf165] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
}

.past-card[data-v-e48cf165] {
  width: 100% !important;
  flex-shrink: 1 !important;
}

.past-img[data-v-e48cf165] {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
}

.program-section[data-v-e197a197] {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 100px clamp(20px, 3vw, 40px) 110px !important;
  box-sizing: border-box !important;
}

.program-head[data-v-e197a197] {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.program-cards[data-v-e197a197],
.program-cards {
  grid-template-columns: 1fr 1fr !important;
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.pcard-leaders {
  color: #fff;
  background: #3b3d9e !important;
}

.pcard-leaders .pcard-desc {
  color: #d9d9e8 !important;
}

.pcard-leaders .pstat b {
  color: #fff !important;
}

.pcard-leaders .pstat span {
  color: #b9b9d4 !important;
}

.pcard-leaders .pcard-btn {
  color: #3b3d9e !important;
  background: #fff !important;
}

.footer-section,
.contacts-section {
  max-width: 1440px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.team-subtitle,
.forwhom-panel-desc,
.forwhom-panel-detail p,
.pcard-desc,
.past-title,
.subtitle,
.team-card-role,
.events-subtitle {
  overflow-wrap: anywhere;
  word-break: normal;
}

.pcard-desc {
  max-width: none !important;
}

.past-title {
  line-height: 1.35;
}

/* ── Responsive ── */
@media (max-width: 1200px) {
  .cards-row[data-v-3e68c2c0],
  .about-section .cards-row {
    grid-template-columns: 1fr !important;
  }

  .cards-row .card[data-v-3e68c2c0] {
    height: 420px !important;
  }

  .team-cards-grid {
    grid-template-columns: repeat(3, 1fr);
    max-width: 640px;
  }

  .text-block[data-v-62965d40] {
    max-width: min(52%, 560px) !important;
  }

  .knot-wrap[data-v-62965d40] {
    width: min(32vw, 300px) !important;
    height: min(32vw, 300px) !important;
  }
}

@media (max-width: 1024px) {
  .past-grid[data-v-e48cf165] {
    grid-template-columns: 1fr !important;
    max-width: 480px !important;
    margin: 0 auto !important;
  }

  .team-cards-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 440px;
  }
}

@media (max-width: 900px) {
  .menu[data-v-46599b1c] {
    display: none !important;
  }

  .reveal-wrap.reveal-header[data-v-46599b1c] {
    left: 12px !important;
    right: 12px !important;
    top: 12px !important;
  }

  /* Single-line mobile header: logo + burger only.
     Text buttons wrapped to a 2nd line and pushed the menu over the title */
  .header[data-v-46599b1c] {
    flex-wrap: nowrap !important;
    padding: 10px 12px !important;
    gap: 10px !important;
  }

  .header .btn-group .btn-outline,
  .header .btn-group .btn-filled,
  .btn-group[data-v-46599b1c] .btn-outline[data-v-46599b1c],
  .btn-group[data-v-46599b1c] .btn-filled[data-v-46599b1c] {
    display: none !important;
  }

  .floating-nav .nav-btn-group .nav-btn-outline,
  .floating-nav .nav-btn-group .nav-btn-filled {
    display: none !important;
  }

  .main-block[data-v-46599b1c] {
    flex-direction: column !important;
    align-items: center !important;
    padding-top: 96px !important;
  }

  .left-container[data-v-46599b1c],
  .image-col[data-v-46599b1c] {
    max-width: 100% !important;
    width: 100% !important;
  }

  .left-container[data-v-46599b1c] {
    gap: 48px !important;
  }

  .image-col[data-v-46599b1c] {
    justify-content: center !important;
  }

  .main-img-wrap[data-v-46599b1c] {
    max-width: 100% !important;
    height: min(65vh, 560px) !important;
  }

  .text-block[data-v-62965d40] {
    max-width: 100% !important;
    padding-bottom: 40px !important;
  }

  .knot-wrap[data-v-62965d40] {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 240px !important;
    height: 240px !important;
    margin: 24px auto 0 !important;
  }

  .mission-content[data-v-62965d40] {
    flex-direction: column !important;
    align-items: center !important;
  }

  .forwhom-interactive {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .forwhom-nav {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .forwhom-nav-item {
    font-size: 17px;
    border-left: none;
    border-bottom: 3px solid transparent;
    padding: 10px 14px;
    border-radius: 12px;
  }

  .forwhom-nav-item.active {
    border-left: none;
    border-bottom-color: #6c5ce0;
  }

  .program-cards[data-v-e197a197],
  .program-cards {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 600px) {
  .team-cards-grid {
    grid-template-columns: 1fr 1fr;
    max-width: 340px;
    gap: 10px;
  }

  .team-sticky .team-card {
    max-width: 160px !important;
  }

  .team-sticky .team-card-name {
    font-size: 12px !important;
  }

  .team-sticky .team-card-role {
    font-size: 10px !important;
  }
}


/* ══════════════════════════════════════
   MOBILE MENU (hamburger)
   ══════════════════════════════════════ */
.m-menu-btn {
  display: none;
  width: 40px;
  height: 40px;
  border: 1px solid #ffffff55;
  border-radius: 12px;
  background: transparent;
  cursor: pointer;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
  flex-shrink: 0;
}

.m-menu-btn span {
  display: block;
  width: 18px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform 0.25s, opacity 0.2s;
}

.m-menu-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.m-menu-btn.open span:nth-child(2) { opacity: 0; }
.m-menu-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.m-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 400;
  background: #16161af5;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.m-menu-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

body.m-menu-lock { overflow: hidden; }

.m-menu-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 24px;
}

.m-menu-link {
  color: #fff;
  font-family: Inter Tight, sans-serif;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-decoration: none;
  padding: 10px 24px;
  border-radius: 16px;
  transition: background 0.2s;
  width: min(320px, 100%);
  text-align: center;
}

.m-menu-link:active,
.m-menu-link:hover {
  background: #ffffff14;
}

@media (max-width: 900px) {
  .m-menu-btn { display: flex; }
}

/* ══════════════════════════════════════
   TEAM responsive: sides collapse below text
   ══════════════════════════════════════ */
@media (max-width: 1024px) {
  .team-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .team-layout .team-text { order: -1; }

  .team-side {
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
  }

  .team-side--left,
  .team-side--right { align-items: stretch; }

  .team-side--left .team-card,
  .team-side--right .team-card {
    transform: none !important;
  }
}



/* Mobile hero: keep vertical balance without a huge void */
@media (max-width: 768px) {
  .left-container[data-v-46599b1c] {
    min-height: auto;
    justify-content: flex-start !important;
    padding-top: 8px;
  }

  .content[data-v-46599b1c] {
    gap: 32px !important;
  }

  .gemini-icon[data-v-46599b1c] {
    width: 46px !important;
    height: 46px !important;
    left: 42px !important;
    top: 2px !important;
  }
}


/* ══════════════════════════════════════
   v8 — spacing, team density
   ══════════════════════════════════════ */

/* CTA before footer: was clip-path-hidden -> rendered as a giant blank gap */
.cta-block[data-v-9b297995] {
  clip-path: none !important;
  padding: 72px 32px !important;
}

.program-section[data-v-e197a197] {
  padding-top: 88px !important;
  padding-bottom: 64px !important;
}

/* Team: denser, larger cards — desktop only */
@media (min-width: 1025px) {
  .team-layout {
    grid-template-columns: 1fr minmax(280px, 400px) 1fr !important;
    gap: clamp(16px, 2.2vw, 36px) !important;
  }

  .team-side { gap: 14px !important; }

  .team-sticky .team-card {
    max-width: 264px !important;
  }

  .team-side--left .team-card:nth-child(1) { transform: translateX(-20px); }
  .team-side--left .team-card:nth-child(3) { transform: translateX(-12px); }
  .team-side--right .team-card:nth-child(1) { transform: translateX(20px); }
  .team-side--right .team-card:nth-child(3) { transform: translateX(12px); }
}

.team-sticky .team-card-name { font-size: 15px !important; }
.team-sticky .team-card-role { font-size: 11.5px !important; }


/* Mobile overlay: primary actions restored inside the menu */
.m-menu-cta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 18px;
  width: min(320px, 100%);
}

.m-menu-cta a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 24px;
  border-radius: 28px;
  font-family: Inter Tight, sans-serif;
  font-size: 17px;
  font-weight: 600;
  text-decoration: none;
}

.m-menu-cta .m-cta-primary {
  background: #fff;
  color: #16161a;
}

.m-menu-cta .m-cta-secondary {
  border: 1px solid #ffffff55;
  color: #fff;
}


/* Mobile team: full-width text, clean 2-col photo grid */
@media (max-width: 1024px) {
  /* Команда как лента: сначала «Кто мы», затем 6 карточек по одной,
     по центру, все строго одного размера */
  .team-layout {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 16px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .team-layout .team-text {
    order: -1 !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto 20px !important;
  }

  .team-side {
    display: contents !important;
  }

  .team-side .team-card {
    width: min(100%, 340px) !important;
    max-width: 340px !important;
    margin: 0 auto !important;
    transform: none !important;
    padding: 14px !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 32px #00000022 !important;
  }

  /* Фото: жёсткий квадрат, никаких унаследованных высот */
  .team-side .team-card .team-card-photo,
  .team-side .team-card img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 14px !important;
    display: block !important;
  }

  .team-side .team-card .team-card-name,
  .team-side .team-card-name { font-size: 19px !important; }
  .team-side .team-card .team-card-role,
  .team-side .team-card-role { font-size: 13px !important; }
}

/* Azamat's photo — circular, by request */
.team-card img[src*="azamat"] {
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}


/* ══════════════════════════════════════
   v11 — mobile fixes
   ══════════════════════════════════════ */
@media (max-width: 768px) {
  /* Events: no dead space — clear parallax transforms and reserved heights */
  .events-section[data-v-e48cf165] { padding: 48px 16px 56px !important; }
  .events-content[data-v-e48cf165] { gap: 28px !important; }
  .events-top[data-v-e48cf165] { gap: 20px !important; }

  .events-text[data-v-e48cf165],
  .events-list[data-v-e48cf165],
  .event-row[data-v-e48cf165] {
    transform: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
  }

  .event-hover-img[data-v-e48cf165] { display: none !important; }
}

/* Blog: no horizontal overflow / right-side gap on mobile */
@media (max-width: 768px) {
  .blog-shell { overflow-x: clip; }

  .blog-topbar {
    flex-wrap: wrap;
    gap: 8px;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .blog-main {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}


/* ══════════════════════════════════════
   v13 — mobile perfection pass
   ══════════════════════════════════════ */

/* 2) Все фото команды — строго одинаковые квадраты */
.team-card-photo,
.team-card img {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block;
}

@media (max-width: 768px) {
  /* 1) Звезда в заголовке — по размеру мобильного шрифта clamp(40px,12.5vw,64px) */
  .gemini-icon[data-v-46599b1c] {
    width: clamp(42px, 13vw, 67px) !important;
    height: clamp(42px, 13vw, 67px) !important;
    left: clamp(37px, 11.6vw, 60px) !important;
    top: 0 !important;
  }

  /* 3) Мероприятия: убираем растянутый контейнер — текст и список вместе */
  .events-section[data-v-e48cf165],
  .events-content[data-v-e48cf165],
  .events-top[data-v-e48cf165],
  .events-text[data-v-e48cf165],
  .events-list[data-v-e48cf165] {
    min-height: 0 !important;
    height: auto !important;
  }

  .events-top[data-v-e48cf165] {
    justify-content: flex-start !important;
    align-items: stretch !important;
  }

  .events-content[data-v-e48cf165] {
    justify-content: flex-start !important;
  }

  /* 5) «Для кого»: табы — аккуратный вертикальный список */
  .forwhom-nav {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .forwhom-nav-item {
    width: 100% !important;
    text-align: left !important;
    padding: 14px 18px !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    border-bottom: none !important;
    background: #ffffff88;
  }

  .forwhom-nav-item.active {
    background: #16161a !important;
    color: #fff !important;
    border-bottom: none !important;
  }

  .forwhom-interactive {
    flex-direction: column !important;
    gap: 20px !important;
  }

  .forwhom-panel {
    width: 100% !important;
  }
}

/* 5b) Заголовок панели — фирменный шрифт вместо системного serif */
.forwhom-panel-title {
  font-family: 'Inter Tight', sans-serif !important;
  font-weight: 600;
  letter-spacing: -0.02em;
}


/* ══════════════════════════════════════
   v14 — root-cause mobile fixes
   ══════════════════════════════════════ */
@media (max-width: 768px) {
  /* (3) МЕРОПРИЯТИЯ: в колонке flex-basis (360px/520px) превращался
     в ВЫСОТУ и создавал гигантский разрыв. Сбрасываем полностью. */
  .events-text[data-v-e48cf165],
  .events-list[data-v-e48cf165] {
    flex: 0 0 auto !important;
  }

  /* (1) Звезда: базовая посадка; точную позицию ставит JS по измерению текста */
  .main-title h1[data-v-46599b1c] {
    letter-spacing: -2.5px !important;
  }

  /* (2) Все фото — одинаковые квадраты максимальной силы */
  .team-sticky .team-card .team-card-photo {
    aspect-ratio: 1 / 1 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }

}


/* ══════════════════════════════════════
   v15 — тап-анимация карточек команды
   ══════════════════════════════════════ */
.team-card {
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.28s ease,
              outline-color 0.28s ease !important;
  outline: 2px solid transparent;
  outline-offset: 2px;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}

.team-card .team-card-photo {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Десктоп: наведение */
@media (hover: hover) {
  .team-card:hover {
    transform: translateY(-6px) scale(1.015) !important;
    box-shadow: 0 18px 48px #6c5ce03d !important;
    outline-color: #6c5ce066;
  }

  .team-card:hover .team-card-photo {
    transform: scale(1.04);
  }
}

/* Мобайл: нажатие — карточка «подпрыгивает» и подсвечивается */
.team-card:active {
  transform: scale(0.97) !important;
}

.team-card.tapped {
  transform: translateY(-4px) scale(1.02) !important;
  box-shadow: 0 16px 44px #6c5ce052 !important;
  outline-color: #8f7bf0;
}

.team-card.tapped .team-card-photo {
  transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .team-card, .team-card .team-card-photo { transition: none !important; }
}


/* ══════════════════════════════════════
   v17 — мероприятия: лёгкая подсветка при нажатии
   ══════════════════════════════════════ */
.past-card {
  transition: filter 0.18s ease, transform 0.18s ease !important;
  -webkit-tap-highlight-color: transparent;
  border-radius: 14px;
  overflow: hidden;
}

.past-card:active {
  filter: brightness(1.18);
  transform: scale(0.985) !important;
}

@media (hover: hover) {
  .past-card:hover {
    filter: brightness(1.12);
  }
}

@media (prefers-reduced-motion: reduce) {
  .past-card { transition: none !important; }
}


/* ══════════════════════════════════════
   v20 — новый логотип
   ══════════════════════════════════════ */
.brand-logo {
  height: 34px;
  width: auto;
  display: block;
}

.header .logo,
.floating-nav .nav-logo,
.floating-nav .logo,
.footer-logo {
  display: flex;
  align-items: center;
}

.footer-logo .brand-logo { height: 30px; }

@media (max-width: 768px) {
  .brand-logo { height: 28px; }
}
