/* === Universal: prevent horizontal scroll on mobile === */
html, body { overflow-x: hidden; }
body { position: relative; }

/* === MOBILE NAV — кнопка «Программы ▾» + dropdown ===
   По умолчанию скрыты, активируются на @media (max-width:900px). */
.menu-toggle, .nav-dropdown { display: none; }

.menu-toggle {
  background: transparent;
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  cursor: pointer;
  padding: 9px 14px;
  border-radius: 10px;
  font: 600 14.5px/1 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  margin-left: auto;
  align-items: center; gap: 8px;
  position: relative; z-index: 51;
  transition: border-color .15s, background .15s;
}
.menu-toggle:hover { border-color: rgba(255,255,255,.35); }
.menu-toggle.is-open { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.4); }
.menu-toggle .menu-toggle-arrow {
  color: rgba(255,255,255,.7);
  transition: transform .2s;
}
.menu-toggle.is-open .menu-toggle-arrow { transform: rotate(180deg); }

.nav-dropdown {
  position: fixed;
  top: 70px; right: 12px;
  width: calc(100vw - 24px);
  max-width: 360px;
  box-sizing: border-box;
  background: #1d1d1d;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 10px;
  z-index: 200;
  flex-direction: column;
  box-shadow: 0 18px 50px rgba(0,0,0,.5);
  max-height: calc(100vh - 90px);
  overflow-y: auto; overflow-x: hidden;
  opacity: 0; transform: translateY(-8px);
  pointer-events: none;
  transition: opacity .15s, transform .15s;
}
.nav-dropdown > a, .nav-dropdown-foot, .nav-dropdown-label {
  max-width: 100%; box-sizing: border-box;
  overflow-wrap: anywhere; word-break: break-word;
}
.nav-dropdown.is-open {
  opacity: 1; transform: translateY(0);
  pointer-events: auto;
}
.nav-dropdown-label {
  font-size: 11px; letter-spacing: .1em; text-transform: uppercase;
  color: rgba(255,255,255,.45); font-weight: 700;
  padding: 10px 12px 6px;
}
.nav-dropdown > a {
  display: block; padding: 12px 14px;
  color: rgba(255,255,255,.92); font-size: 15px; font-weight: 600;
  text-decoration: none; border-radius: 8px;
  border: 1px solid transparent;
  position: relative;
}
.nav-dropdown > a::after {
  content: attr(data-tag);
  display: block; margin-top: 2px;
  font-size: 12px; font-weight: 400; color: rgba(255,255,255,.45);
}
.nav-dropdown > a:hover { background: rgba(255,255,255,.04); }
.nav-dropdown > a.active {
  background: rgba(255,176,31,.1);
  border-color: rgba(255,176,31,.3);
  color: #fff;
}
.nav-dropdown > a.active::before {
  content: "● "; color: var(--accent, #ffb01f); font-size: 10px; margin-right: 2px;
}
.nav-dropdown-foot {
  margin-top: 8px;
  padding: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex; flex-direction: column; gap: 10px;
}
.nav-dropdown-foot .phone {
  color: rgba(255,255,255,.7); font-size: 14px;
}
.nav-dropdown-foot .phone b { color: #fff; font-weight: 600; }
.nav-dropdown-cta {
  text-align: center; padding: 14px;
  background: var(--accent, #ffb01f); color: #1a1a1a;
  border-radius: 10px; font-weight: 700; font-size: 15px;
  text-decoration: none;
}

/* === Финальные CTA — одинаковая ширина кнопок на десктопе === */
.final .cta-row,
.final-text .cta-row {
  align-items: stretch;
}
.final .cta-row > .btn,
.final-text .cta-row > .btn {
  min-width: 260px;
  text-align: center;
  box-sizing: border-box;
}
@media (max-width: 600px) {
  .final .cta-row > .btn,
  .final-text .cta-row > .btn { min-width: 0; width: 100%; }
}

/* === Mobile-only activation === */
@media (max-width: 900px) {
  .menu-toggle  { display: inline-flex; }
  .nav-dropdown { display: flex; }
  .nav-tail     { display: none !important; }
  /* Компактный квадратный лого KG на мобиле */
  .nav .logo .logo-svg { height: 38px; width: 38px; }
}

/* KG team block — shared across custom dark pages
   Requires CSS vars from page :root: --bg-2, --line-dk, --accent */
.kg-team-section{padding:60px 0}
.kg-team-section .kg-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.kg-team{background:var(--bg-2);border-radius:20px;overflow:hidden;border:1px solid var(--line-dk)}
.kg-team-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:0;align-items:stretch}
@media (max-width:900px){.kg-team-grid{grid-template-columns:1fr}}
.kg-team-photo{position:relative;min-height:360px;overflow:hidden;background:var(--bg-2)}
.kg-team-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom}
@media (max-width:900px){.kg-team-photo{min-height:280px}}
.kg-team-text{padding:50px}
@media (max-width:700px){.kg-team-text{padding:30px 24px}}
.kg-team-text .kg-eyebrow{display:inline-block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:10px}
.kg-team-text h2{margin:0 0 16px;color:#fff;font-size:clamp(24px,2.4vw,30px);line-height:1.15;letter-spacing:-.015em;font-weight:700}
.kg-team-text h2 em{font-style:normal;color:var(--accent)}
.kg-team-text p{color:rgba(255,255,255,.78);margin:0 0 14px;font-size:15px;line-height:1.55}
.kg-team-leads{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line-dk)}
.kg-team-lead{display:flex;align-items:center;gap:14px}
.kg-team-lead-avatar{width:64px;height:64px;border-radius:50%;background:#fff center/cover;flex:0 0 auto;border:3px solid var(--accent)}
.kg-team-lead-avatar--konstantin{background-image:url('/images/tild6365-3439-4361-b164-626331643239__image.png')}
.kg-team-lead-avatar--tehdir{background-image:url('/images/kg-tehdir.png')}
.kg-team-lead-info b{color:#fff;font-size:15px;display:block}
.kg-team-lead-info span{color:rgba(255,255,255,.6);font-size:13px;display:block;margin-top:2px}
