
:root {
  --navy: #000c2d;
  --navy2: #141f3d;
  --navy3: #122457;
  --blue: #366fb7;
  --blue2: #0473ff;
  --blue-light: #eaf6ff;
  --border: rgba(255,255,255,0.12);
  --muted: rgba(255,255,255,0.75);
  --green: #2ecc71;
  --bg: var(--navy);
  --text: #ffffff;
  --topbar-grad: linear-gradient(180deg, #0a1430 0%, var(--navy) 100%);
}
/* Светлая тема */
body.light {
  --navy: #f4f7fb;
  --navy2: #ffffff;
  --navy3: #e8eff8;
  --blue: #2a6bc0;
  --blue2: #0473ff;
  --blue-light: #0d3a7a;
  --border: #dde5f0;
  --muted: #3d4f6d;
  --green: #1aa55a;
  --bg: #f4f7fb;
  --text: #000c2d;
  --topbar-grad: linear-gradient(180deg, #ffffff 0%, #f4f7fb 100%);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: var(--bg); color: var(--text); font-family: 'Manrope', Arial, sans-serif; overflow: hidden; height: 100vh; display: flex; flex-direction: column; -webkit-font-smoothing: antialiased; transition: background .3s, color .3s; }

/* Topbar */
.topbar { position: relative; z-index: 10;
  background: var(--topbar-grad);
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
  height: 56px; flex-shrink: 0; padding: 0 16px;
}
.topbar-left { font-size: 20px; font-weight: 800; color: #fff; white-space: nowrap; letter-spacing: -0.3px; flex-shrink: 0; position: relative; z-index: 1; }
body.light .topbar-left { color: var(--text); }
body.light .topbar-left img:not(.keep-color) { filter: brightness(0); }
.topbar-right { display: flex; align-items: center; gap: 12px; }
.topbar-right a { color: rgba(255,255,255,0.8); text-decoration: none; font-size: 14px; font-weight: 500; white-space: nowrap; }
body.light .topbar-right a { color: #3a4a66; }
body.light .topbar-right a.btn-demo { color: #fff; }
.topbar-right a:hover { color: #fff; }
.topbar-right .btn-demo { background: var(--blue2); color: #fff; padding: 8px 16px; border-radius: 8px; font-weight: 600; }
.topbar-right .btn-demo:hover { background: #001b9b; }

/* Tabs */
.tab-bar { display: flex; gap: 4px; flex: 1; justify-content: center; flex-wrap: nowrap; overflow-x: auto; }
.tab-bar::-webkit-scrollbar { display: none; }
.tab-bar { -ms-overflow-style: none; scrollbar-width: none; }
.tab-bar .tab {
  padding: 10px 10px; cursor: pointer; color: rgba(255,255,255,0.7);
  border-radius: 8px; font-size: 13px; font-weight: 600; white-space: nowrap;
  transition: all 0.2s; flex-shrink: 0;
}
.tab-bar .tab.active {
  color: #fff !important;
  background: rgba(255,255,255,0.1) !important;
  box-shadow: 0 2px 16px rgba(54,111,183,0.3) !important;
}
.tab-bar .tab:hover { color: #fff !important; background: rgba(255,255,255,0.06) !important; }

/* Layout */
.layout { display: flex; flex: 1; overflow: hidden; }
.content-panel { flex: 1; position: relative; display: flex; flex-direction: column; overflow: hidden; min-width: 200px; }
.sidebar-panel { width: 340px; display: flex; flex-direction: column; border-left: 1px solid var(--border); overflow: hidden; flex-shrink: 0; min-width: 200px; max-width: 600px; }
.splitter { width: 8px; background: var(--navy2); cursor: col-resize; flex-shrink: 0; position: relative; z-index: 50; display: flex; align-items: center; justify-content: center; }
.splitter-handle { width: 3px; height: 36px; background: var(--border); border-radius: 4px; transition: all 0.2s; }
.splitter:hover .splitter-handle { background: var(--blue); height: 56px; }
.drag-overlay { position: fixed; inset: 0; z-index: 9999; cursor: col-resize; }

.tab-panel { display: none; flex-direction: column; height: 100%; overflow-y: auto; }
.tab-panel.active { display: flex; }
.tab-panel iframe { flex: 1; border: none; width: 100%; height: 100%; }
.bion-container { flex: 1; position: relative; overflow: hidden; }
.bion-container iframe { width: 100%; height: 100%; border: none; }

/* Main page */
.main-page { padding: 40px 60px; max-width: 1200px; margin: 0 auto; color: rgba(255,255,255,0.85); }
.main-page h2 { color: var(--blue); font-size: 24px; font-weight: 700; margin: 36px 0 16px; padding-bottom: 8px; border-bottom: 2px solid var(--border); }
.main-page h3 { color: #5dade2; font-size: 18px; font-weight: 600; margin: 20px 0 10px; }
.main-page p { line-height: 1.8; font-size: 16px; margin-bottom: 12px; color: rgba(255,255,255,0.7); }
.main-page ul { margin-left: 20px; margin-bottom: 15px; }
.main-page li { line-height: 1.8; font-size: 16px; color: rgba(255,255,255,0.7); }

/* Hero - rewritten per recommendations */
.hero {
  text-align: center; padding: 50px 20px;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(54, 111, 183, 0.45) 0%, rgba(54, 111, 183, 0) 70%),
    linear-gradient(180deg, var(--navy2) 0%, var(--navy) 100%);
  border: 1px solid rgba(54, 111, 183, 0.25);
  border-radius: 16px; margin-bottom: 24px;
}
.hero h1 { font-size: 34px; font-weight: 800; color: #fff; margin-bottom: 12px; letter-spacing: -0.5px; line-height: 1.3; }
.hero p { font-size: 16px; color: rgba(255,255,255,0.7); max-width: 600px; margin: 0 auto 8px; }
.hero .hero-audience { font-size: 14px; color: var(--blue-light); opacity: 0.7; margin-bottom: 24px; }
.hero .cta-row { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.hero .btn-cta { background: var(--blue2); color: #fff; border: none; border-radius: 10px; padding: 12px 28px; font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit; transition: background 0.2s; text-decoration: none; display: inline-block; }
.hero .btn-cta:hover { background: #001b9b; }
.hero .btn-cta.secondary { background: transparent; border: 1px solid rgba(255,255,255,0.3); }
.hero .btn-cta.secondary:hover { background: rgba(255,255,255,0.1); border-color: #fff; }

/* Brand architecture block */
.brand-block {
  background: var(--navy2); border: 1px solid var(--border); border-radius: 12px;
  padding: 20px 24px; margin-bottom: 24px; text-align: center;
}
.brand-block .brand-title { font-size: 14px; font-weight: 600; color: var(--blue); margin-bottom: 6px; }
.brand-block .brand-desc { font-size: 14px; color: var(--muted); line-height: 1.6; }

/* Схема практики (flow steps) */
.flow-step { display:flex; gap:14px; align-items:flex-start; background:var(--navy2); border:1px solid var(--border); border-radius:12px; padding:16px 20px; cursor:pointer; transition:all 0.2s; }
.flow-step:hover { border-color: var(--blue); transform: translateX(4px); }
.flow-num { flex-shrink:0; width:32px; height:32px; border-radius:50%; background:var(--blue2); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; }
.flow-body { flex:1; }
.flow-title { font-size:15px; font-weight:700; color:var(--blue); margin-bottom:4px; }
.flow-desc { font-size:13px; color:var(--muted); line-height:1.5; display:none; }
.flow-step.open .flow-desc { display:block; }
body.light .flow-step { background:#ffffff; border-color:#dde5f0; }

/* Feature cards - clickable */
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin: 20px 0; }
.feature-card { background: var(--navy2); border: 1px solid var(--border); border-radius: 12px; padding: 24px; transition: all 0.2s; cursor: pointer; text-decoration: none; color: inherit; display: block; }
.feature-card:hover { transform: translateY(-3px); border-color: var(--blue); }
.feature-card h4 { color: var(--blue); font-size: 16px; font-weight: 600; margin-bottom: 8px; }
.feature-card p { font-size: 15px; color: rgba(255,255,255,0.65); line-height: 1.5; }
.feature-card .card-link { color: var(--blue2); font-size: 13px; font-weight: 600; margin-top: 12px; display: block; }

/* License plate */
.license-plate {
  background: rgba(54,111,183,0.1); border: 1px solid rgba(54,111,183,0.3);
  border-radius: 12px; padding: 20px 24px; margin: 20px 0; text-align: center;
}
.license-plate h4 { color: var(--blue); font-size: 16px; font-weight: 600; margin-bottom: 6px; }
.license-plate p { font-size: 14px; color: var(--muted); margin: 0; }

/* Course cards */
.course-card {
  background: var(--navy2); border: 1px solid var(--border); border-radius: 12px;
  padding: 24px; margin: 12px 0; transition: border-color 0.2s;
}
.course-card:hover { border-color: var(--blue); }
.course-card h3 { color: #fff; font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.course-card .course-meta { font-size: 13px; color: var(--blue); margin-bottom: 8px; }
.course-card .course-result { font-size: 14px; color: var(--muted); margin-bottom: 12px; }
.course-card .course-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.course-card .course-btn { background: var(--navy3); color: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 8px 18px; font-size: 13px; font-weight: 600; cursor: pointer; font-family: inherit; }
.course-card .course-btn:hover { background: var(--blue); border-color: var(--blue); }
.course-card .course-details { display: none; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border); }
.course-card .course-details.open { display: block; }

/* Contact block */
.contact-block { background: linear-gradient(160deg, var(--navy2) 0%, #122457 55%, #1a3a75 100%); border: 1px solid rgba(54, 111, 183, 0.3); border-radius: 12px; padding: 28px; text-align: center; margin-top: 36px; }
.contact-block h3 { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.contact-block p { font-size: 14px; opacity: 0.85; margin-bottom: 16px; }
.contact-block .contact-links { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }
.contact-block a { color: #fff; text-decoration: none; font-size: 14px; font-weight: 500; border-bottom: 1px solid rgba(255,255,255,0.3); padding-bottom: 1px; }

/* Launch buttons */
.launch-screen { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:20px; background:var(--navy); }
.launch-screen h2 { font-size:22px; font-weight:700; margin-bottom:12px; color:#fff; }
.launch-screen p { color:var(--muted); font-size:14px; max-width:420px; line-height:1.6; margin-bottom:24px; }
.btn-primary { background: var(--blue2); color:#fff; border:none; border-radius:10px; padding:14px 40px; font-size:16px; font-weight:700; cursor:pointer; font-family: inherit; }
.btn-primary:hover { background: #001b9b; }
.btn-secondary { background: #2ecc71; color:#fff; border:none; border-radius:10px; padding:14px 40px; font-size:16px; font-weight:700; cursor:pointer; font-family: inherit; }
.btn-secondary:hover { background: #27ae60; }
.launch-link { margin-top:14px; color:var(--blue); text-decoration:none; font-size:13px; }

/* Mobile menu */
.menu-toggle { display: none; background: none; border: none; color: #fff; font-size: 24px; cursor: pointer; padding: 4px 8px; }
body.light .menu-toggle { color: #000c2d; }

@media (max-width: 1024px) {
  .topbar { height: auto; flex-direction: column; padding: 8px 12px; gap: 8px; }
  .topbar-left { font-size: 18px; }
  .topbar-left img { height: 20px; }
  .menu-toggle { display: block; position: absolute; right: 8px; top: 8px; }
  .tab-bar { display: none; flex-direction: column; width: 100%; gap: 2px; max-height: 70vh; overflow-y: auto; padding: 4px 0; }
  .tab-bar.open { display: flex; }
  .tab-bar .tab { padding: 12px 16px; font-size: 16px; text-align: center; width: 100%; }
  /* mobile: keep theme toggle visible next to burger, hide links */
  .topbar-right { display: flex; position: absolute; right: 52px; top: 8px; gap: 0; margin: 0; padding: 0; }
  .topbar-right a { display: none; }
  .layout { flex-direction: column; }
  .content-panel { width: 100% !important; height: 62%; }
  .sidebar-panel { width: 100% !important; height: 38%; border-left: none; border-top: 1px solid var(--border); }
  .splitter { width: 100% !important; height: 20px; cursor: row-resize; }
  .splitter-handle { width: 36px; height: 3px; }
  .main-page { padding: 20px 12px; overflow-x: hidden; }
  .hero h1 { font-size: 22px; line-height: 1.25; word-wrap: break-word; overflow-wrap: break-word; }
  .hero { padding: 24px 12px; }
  .hero p { font-size: 14px; }
  .hero-audience { font-size: 13px; }
  .hero .btn-cta { width: 100%; padding: 14px 16px; font-size: 15px; box-sizing: border-box; }
  .hero .cta-row { flex-direction: column; gap: 10px; }
  .main-page h2 { font-size: 20px; }
  .feature-grid { grid-template-columns: 1fr; }
  .hero div[style*="max-width:700px"] { flex-direction: column; gap: 12px; padding: 0 4px; }
  .hero div[style*="max-width:220px"] { max-width: 100% !important; text-align: left; }
  .proof-grid, .brand-block { padding: 0 4px; }
}
@media (max-width: 480px) {
  .hero h1 { font-size: 19px; }
  .hero .btn-cta { font-size: 15px; padding: 13px 12px; }
}
/* Landscape phones/tablets: keep sidebar on the RIGHT (row layout) */
@media (max-width: 1024px) and (orientation: landscape) {
  .layout { flex-direction: row !important; }
  .sidebar-panel { width: 260px !important; height: 100% !important; min-width: 180px; border-left: 1px solid var(--border); border-top: none !important; }
  .content-panel { width: auto !important; height: 100% !important; flex: 1; min-width: 0; }
  .splitter { width: 14px !important; height: 100% !important; cursor: col-resize; }
  .tab-bar .tab { padding: 10px 14px; font-size: 15px; }
  .topbar { flex-direction: column; }
  .menu-toggle { top: 8px; right: 8px; }
}

/* Hard mobile guards */
@media (max-width: 1024px) {
  .hero h1, .hero p, .hero-audience, .hero .btn-cta, .hero div[style*="max-width:220px"] div, .brand-title, .brand-desc, .main-page p {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }
  .hero .btn-cta, .hero .cta-row { max-width: 100% !important; }
  .main-page { width: 100% !important; max-width: 100% !important; padding-left: 12px !important; padding-right: 12px !important; }
  .hero { width: 100% !important; max-width: 100% !important; overflow-wrap: anywhere; }
  .topbar-left span { white-space: nowrap; }
  .main-page > * { max-width: 100%; }
  .faq-q { font-size: 14px !important; padding: 14px 14px !important; }
  .faq-a { font-size: 14px !important; }
  .proof-grid div div:last-child { font-size: 13px !important; }
  .launch-screen h2 { font-size: 18px !important; }
}
* { -webkit-text-size-adjust: 100%; }
html, body { overflow-x: hidden; max-width: 100vw; }
/* Org form modal */
#orgModal { position:fixed; inset:0; background:rgba(0,0,0,0.7); z-index:500; display:none; align-items:center; justify-content:center; }
#orgModal.active { display:flex; }
#orgModal .modal-box { background:var(--navy2); border:1px solid var(--border); border-radius:16px; padding:32px; width:90%; max-width:440px; }
#orgModal h3 { font-size:20px; font-weight:700; margin-bottom:8px; color:#fff; }
#orgModal p { font-size:14px; color:var(--muted); margin-bottom:20px; }
#orgModal .form-field { margin-bottom:14px; }
#orgModal label { display:block; font-size:13px; font-weight:600; color:var(--blue); margin-bottom:4px; }
#orgModal input, #orgModal select, #orgModal textarea { width:100%; background:var(--navy); border:1px solid var(--border); border-radius:8px; padding:10px 14px; color:#fff; font-size:14px; font-family:inherit; }
#orgModal input:focus, #orgModal select:focus, #orgModal textarea:focus { border-color:var(--blue); outline:none; }
#orgModal textarea { resize:vertical; min-height:60px; }
#orgModal .form-row { display:flex; gap:12px; }
#orgModal .form-row .form-field { flex:1; }
#orgModal .form-actions { display:flex; gap:12px; margin-top:20px; }
#orgModal .btn-submit { background:var(--blue2); color:#fff; border:none; border-radius:10px; padding:12px 24px; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; flex:1; }
#orgModal .btn-submit:hover { background:#001b9b; }
#orgModal .btn-cancel { background:transparent; border:1px solid var(--border); color:var(--muted); border-radius:10px; padding:12px 24px; font-size:15px; cursor:pointer; font-family:inherit; }
#orgModal .btn-cancel:hover { border-color:#fff; color:#fff; }
body.light #orgModal .btn-cancel:hover { border-color:#0473ff; color:#0473ff; background:rgba(4,115,255,0.06); }
#orgModal .form-success { text-align:center; padding:20px 0; }
#orgModal .form-success h3 { color:var(--green); }
#orgModal .close-x { float:right; cursor:pointer; color:var(--muted); font-size:20px; }
#orgModal .close-x:hover { color:#fff; }

#leadModal { position:fixed; inset:0; background:rgba(0,0,0,0.75); z-index:500; display:none; align-items:center; justify-content:center; }
#leadModal.active { display:flex; }
#leadModal .modal-box { background:var(--navy2); border:1px solid var(--border); border-radius:16px; padding:32px; width:90%; max-width:440px; box-shadow:0 24px 60px rgba(0,0,0,0.5); }
#leadModal h3 { font-size:20px; font-weight:700; margin-bottom:8px; color:#fff; }
#leadModal p { font-size:14px; color:var(--muted); margin-bottom:20px; }
#leadModal .form-field { margin-bottom:14px; }
#leadModal label { display:block; font-size:13px; font-weight:600; color:var(--blue); margin-bottom:4px; }
#leadModal input, #leadModal select, #leadModal textarea { width:100%; background:var(--navy); border:1px solid var(--border); border-radius:8px; padding:10px 14px; color:#fff; font-size:14px; font-family:inherit; box-sizing:border-box; }
#leadModal input:focus, #leadModal select:focus, #leadModal textarea:focus { border-color:var(--blue); outline:none; }
#leadModal textarea { resize:vertical; min-height:60px; }
#leadModal .form-row { display:flex; gap:12px; }
#leadModal .form-row .form-field { flex:1; }
#leadModal .form-actions { display:flex; gap:12px; margin-top:20px; }
#leadModal .btn-submit { background:var(--blue2); color:#fff; border:none; border-radius:10px; padding:12px 24px; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; flex:1; }
#leadModal .btn-submit:hover { background:#001b9b; }
#leadModal .btn-cancel { background:transparent; border:1px solid var(--border); color:var(--muted); border-radius:10px; padding:12px 24px; font-size:15px; cursor:pointer; font-family:inherit; }
#leadModal .btn-cancel:hover { border-color:#fff; color:#fff; }
body.light #leadModal .btn-cancel:hover { border-color:#0473ff; color:#0473ff; background:rgba(4,115,255,0.06); }
body.light #leadModal .btn-cancel, body.light #orgModal .btn-cancel { border-color:#c3d4ea; color:#5a6b85; background:#fff; }
#leadModal .form-success { text-align:center; padding:20px 0; }
#leadModal .form-success h3 { color:var(--green); }
#leadModal .form-success p { color:var(--muted); }
#leadModal .close-x { float:right; cursor:pointer; color:var(--muted); font-size:20px; }
#leadModal .close-x:hover { color:#fff; }

.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { background: var(--navy2); border: 1px solid var(--border); border-radius: 12px; margin-bottom: 10px; overflow: hidden; }
.faq-q { padding: 16px 20px; font-weight: 700; font-size: 16px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.faq-q::after { content: '+'; font-size: 22px; color: var(--blue); transition: transform 0.2s; }
.faq-item.open .faq-q::after { transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; padding: 0 20px; font-size: 15px; color: var(--muted); line-height: 1.6; }
.faq-item.open .faq-a { max-height: 300px; padding: 0 20px 16px; }

/* Solutions & Cases (Этап 1) */
.solution-card { cursor: pointer; transition: transform 0.2s, border-color 0.2s; }
.solution-card:hover { transform: translateY(-4px); border-color: var(--blue); }
.sol-icon { font-size: 34px; margin-bottom: 12px; }
.sol-cta { margin-top: 14px; color: var(--blue2); font-weight: 700; font-size: 14px; }
.quick-price { width: 100%; border-collapse: collapse; margin: 0 auto; }
.quick-price th { text-align: left; padding: 12px 16px; color: var(--blue); font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 2px solid var(--border); }
.quick-price td { padding: 14px 16px; font-size: 15px; border-bottom: 1px solid var(--border); color: var(--muted); }
.quick-price td a { color: var(--blue2); font-weight: 700; text-decoration: none; white-space: nowrap; }
.quick-price td a:hover { text-decoration: underline; }
.quick-price tr:hover td { background: rgba(54,111,183,0.08); }
.cases-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; max-width: 1100px; margin: 0 auto; }
.case-card { background: var(--navy2); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; transition: transform 0.2s, border-color 0.2s; }
.case-card:hover { transform: translateY(-4px); border-color: var(--blue); }
.case-card img { width: 100%; height: 180px; object-fit: cover; display: block; }
.case-body { padding: 18px 20px; }
.case-body h4 { font-size: 17px; margin-bottom: 8px; color: #fff; }
.case-body p { font-size: 14px; color: var(--muted); line-height: 1.5; margin-bottom: 10px; }
.case-stat { display: inline-block; font-size: 12px; font-weight: 700; color: var(--blue-light); background: rgba(54,111,183,0.15); border-radius: 20px; padding: 4px 12px; }
.partners-row { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; max-width: 1000px; margin: 0 auto; }
.partners-row span { background: var(--navy2); border: 1px solid var(--border); border-radius: 10px; padding: 10px 20px; font-size: 14px; font-weight: 600; color: rgba(255,255,255,0.8); }
@media (max-width: 1024px) {
  .cases-grid { grid-template-columns: 1fr; }
  .quick-price th, .quick-price td { padding: 10px 8px; font-size: 13px; }
}


/* ===== Светлая тема: адаптация главной ===== */
body.light .tab { color: #3a4a66; }
body.light .tab:hover { color: #000c2d !important; background: rgba(4,115,255,0.06) !important; }
body.light .tab.active { color: #0473ff !important; background: rgba(4,115,255,0.10) !important; box-shadow: 0 2px 16px rgba(4,115,255,0.15) !important; border-color: #0473ff; }
body.light .main-page { color: #3a4a66; }
body.light .main-page h2 { color: #0d3a7a; }
body.light .hero h1 { color: #000c2d; }
body.light .hero p { color: #4a5b78; }
body.light .hero .btn-cta.secondary { border-color: #b8c6dd; color: #0a3a8c; }
body.light .hero .btn-cta.secondary:hover { background: rgba(4,115,255,0.08); }
body.light .hero {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(42,107,192,0.12) 0%, rgba(42,107,192,0) 70%),
    linear-gradient(180deg, #e8eff8 0%, #f4f7fb 100%);
  border-color: #c3d4ea;
}
body.light .feature-card, body.light .faq-item, body.light .proof-grid .proof-card, body.light .brand-block { background: #ffffff; border-color: #dde5f0; }
body.light .feature-card h4, body.light .faq-q { color: #000c2d; }
body.light .feature-card p { color: #5a6b85; }
body.light .brand-title { color: #000c2d; }
body.light .license-plate { background: #e8eff8; border-color: #c3d4ea; color: #0d3a7a; }
body.light .contact-block { background: linear-gradient(160deg, #ffffff 0%, #e8eff8 55%, #d6e4f5 100%); border-color: #c3d4ea; }
.invert { filter: invert(0) brightness(0); } /* тёмная версия логотипа */
body.light .invert { filter: invert(0) brightness(0); }
body:not(.light) .invert { filter: none; }
/* Белые логотипы: в светлой теме делаем тёмными через CSS-фильтр на контейнере */
body.light .contact-block img { filter: brightness(0); }
body.light .contact-block img.keep-color { filter: none; }
body.light .contact-block h3, body.light .contact-block a { color: #000c2d; }
.contact-block a.contact-link { color: #fff; text-decoration: none; }
.contact-block a.contact-link:hover { text-decoration: underline; }
body.light .contact-block a.contact-link { color: #0473ff; }
body.light .contact-block a.contact-link:hover { color: #001b9b; text-decoration: underline; }
body.light .case-card { background: #ffffff; border-color: #dde5f0; }
body.light .case-body h4 { color: #000c2d; }
body.light .partners-row span { background: #ffffff; border-color: #dde5f0; color: #3a4a66; }
body.light .quick-price th { color: #0d3a7a; border-color: #c3d4ea; }
body.light .quick-price td { color: #4a5b78; border-color: #e3ebf5; }
body.light .quick-price tr:hover td { background: rgba(4,115,255,0.05); }
body.light .solution-card { background: #ffffff; border-color: #dde5f0; }
body.light .solution-card h4 { color: #000c2d; }
body.light .quick-price td a { color: #0473ff; }
body.light .faq-q::after { color: #2a6bc0; }
body.light .proof-card div:first-child { color: #2a6bc0; }
body.light #solutionDetail { background: #ffffff; border-color: #dde5f0; }
body.light #solutionDetail h3 { color: #000c2d; }
body.light .launch-screen h2 { color: #000c2d; }
body.light .launch-screen p { color: #5a6b85; }
body.light .btn-secondary { background: #0473ff; color: #fff; }
body.light .btn-cta { background: #0473ff; color: #fff; }
body.light .course-card { background: #ffffff; border-color: #dde5f0; }
body.light .course-card h3 { color: #000c2d; }
body.light .course-card .course-meta { color: #0d3a7a; }
body.light .course-card .course-result { color: #2a3b56; }
body.light .course-card .course-details li { color: #2a3b56; }
body.light .course-btn { border-color: #2a6bc0; color: #0d3a7a; background: #f0f5fb; }
body.light .brand-block .brand-desc { color: #3d4f6d; }
body.light .faq-a { color: #2a3b56; }
body.light .quick-price td { color: #2a3b56; }
body.light .case-body p { color: #3d4f6d; }
body.light .faq-a { color: #5a6b85; }
body.light .sidebar-panel { background: #f4f7fb; }
body.light .splitter { background: #dde5f0; }
body.light .content-panel { background: #f4f7fb; }
body.light .modal-box { background: #ffffff; }
body.light #orgModal h3, body.light #leadModal h3 { color: #000c2d; }
body.light #orgModal label, body.light #leadModal label { color: #0d3a7a; }
body.light #orgModal input, body.light #orgModal select, body.light #orgModal textarea,
body.light #leadModal input, body.light #leadModal select, body.light #leadModal textarea { background: #f4f7fb; color: #000c2d; border-color: #c3d4ea; }
body.light .btn-cancel { color: #5a6b85; }
body.light .form-success h3 { color: #1aa55a; }
body.light .main-page p { color: #5a6b85; }
body.light .hero .hero-audience { color: #2a6bc0; }
body.light .bion-container { background: #f4f7fb; }



/* ===== мост: старые классы порталов /start на новый светлый дизайн Альт Мир ===== */
.header{background:linear-gradient(180deg,#fff 0%,#f4f7fb 100%)!important;border-bottom:1px solid #dde5f0!important;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;position:relative;z-index:10;flex-shrink:0}
.header h1{color:#000c2d!important;font-size:20px;font-weight:800;letter-spacing:-.3px}
.header .right span{color:#3d4f6d!important}
.play-btn{background:#0473ff!important;color:#fff!important;border:0;border-radius:10px;padding:9px 16px;font-weight:700;font-family:inherit;cursor:pointer}
.play-btn:hover{background:#0060e0!important}
.layout{background:#f4f7fb!important}
.content-panel,.sidebar-panel,.bion-container{background:#f4f7fb!important}
.tab-bar{background:#fff!important;border-bottom:1px solid #dde5f0!important;padding:6px 10px!important;gap:6px!important}
.tab{color:#3a4a66!important;background:transparent!important;border-radius:999px!important;padding:7px 13px!important;font-size:13.5px!important;font-weight:600!important;cursor:pointer!important}
.tab:hover{color:#000c2d!important;background:rgba(4,115,255,.06)!important}
.tab.active{color:#0473ff!important;background:rgba(4,115,255,.10)!important}
.footer-bar{background:#fff!important;border-top:1px solid #dde5f0!important;color:#3d4f6d!important}
.bottom-bar{background:#fff!important;border-top:1px solid #dde5f0!important}
.bottom-bar .tab{color:#3a4a66!important}
.bottom-bar .tab.active{color:#0473ff!important;background:rgba(4,115,255,.10)!important}
[style*="#161b22"],[style*="#0d1117"],[style*="#1c2128"],[style*="#21262d"]{background:#ffffff!important}
[style*="#333"],[style*="#444"],[style*="#555"]{border-color:#dde5f0!important}
[style*="#8b949e"],[style*="#7d8590"]{color:#5a6b85!important}
[style*="color:#fff"],[style*="color: #fff"],[style*="color:#e6edf3"],[style*="color:#ffffff"]{color:#000c2d!important}
.chat-panel,.chat-messages{background:#fff!important}
.chat-msg{background:#f4f7fb!important;color:#000c2d!important;border-color:#dde5f0!important}
.chat-msg .author{color:#0d3a7a!important}
.chat-input input,.chat-login-box input,.voice-login input,.chat-tools button{background:#fff!important;color:#000c2d!important;border:1px solid #c3d4ea!important}
.chat-input button,.chat-join-btn{background:#0473ff!important;color:#fff!important;border:0!important}
.play3d-launch h2{color:#000c2d!important}
.play3d-launch p{color:#5a6b85!important}
.play3d-btn{background:#0473ff!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:12px 22px!important;font-weight:700!important}
.play3d-link{color:#0473ff!important}
.voice-panel,.voice-login,.voice-controls{background:#fff!important;color:#000c2d!important;border-color:#dde5f0!important}
.meet-panel iframe,.cubemeta-panel iframe,.tab-panel iframe{background:#fff!important}

/* ===== мобильная шапка порталов: не ломаем строку, меню — оверлеем ===== */
@media (max-width:1024px){
  .topbar{flex-direction:row!important;height:56px!important;align-items:center!important;justify-content:flex-start!important;padding:0 52px 0 12px!important;gap:0!important}
  .topbar-left{font-size:16px!important;min-width:0;overflow:hidden}
  .topbar-left img{height:20px!important}
  .topbar-left span{display:inline-block;max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
  .menu-toggle{display:block!important;position:absolute;right:6px;top:10px;background:transparent;border:0;font-size:22px;line-height:1;color:#000c2d;cursor:pointer;padding:6px 10px}
  .topbar-right{display:none!important}
  .tab-bar{position:absolute;top:56px;left:0;right:0;background:#fff!important;flex-direction:column!important;box-shadow:0 10px 26px rgba(0,21,64,.12);z-index:30;padding:6px 10px!important;max-height:70vh;overflow-y:auto}
  .tab{text-align:left;padding:11px 14px!important;font-size:14.5px!important}
}

/* ===== блок загрузки клиента в 3D-панели: слева, карточками ===== */
.dl-block{margin-top:26px;border-top:1px solid #dde5f0;padding-top:22px;text-align:left}
.dl-title{font-size:15px;font-weight:700;color:#5a6b85;margin:0 0 14px}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;max-width:980px;justify-items:stretch}
.dl-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 14px;background:#fff!important;border:1px solid #dde5f0!important;border-radius:12px;text-decoration:none!important;color:#000c2d!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;box-shadow:0 1px 2px rgba(0,21,64,.04)}
.dl-card:hover{border-color:#0473ff!important;transform:translateY(-3px);box-shadow:0 10px 22px rgba(4,115,255,.14)}
.dl-name{font-size:14.5px;font-weight:700;color:#000c2d}
.dl-sub{font-size:11.5px;color:#5a6b85}
.dl-all{margin-top:14px}
.dl-all a{color:#0473ff!important;text-decoration:none;font-size:13px}
.dl-all a:hover{text-decoration:underline}
.play3d-launch{text-align:left}
.play3d-icon{display:none}
.play3d-btn,.play3d-link{display:inline-block}
.play3d-link{display:block!important;margin-top:12px;color:#0473ff!important;text-decoration:none;font-size:13.5px}
.play3d-link:hover{text-decoration:underline}
.play3d-hero-icon{width:44px;height:44px;border-radius:12px;background:rgba(4,115,255,.10);display:flex;align-items:center;justify-content:center;margin-bottom:14px}

/* ===== мобильная вёрстка панелей: страница скроллится, контент не режется ===== */
@media (max-width:1024px){
  .layout{height:auto!important;min-height:calc(100vh - 56px)!important;overflow:visible!important}
  .content-panel{height:auto!important;overflow:visible!important}
  .tab-panel{height:auto!important;overflow:visible!important;flex:0 0 auto!important}
  .tab-panel.active{display:block!important}
  .tab-panel iframe{display:block;width:100%!important;height:72vh!important}
  .play3d-launch{padding:18px 16px!important}
  .dl-grid{max-width:none!important}
  .dl-card{padding:15px 10px}
  .sidebar-panel{height:auto!important;min-height:320px!important;overflow:visible!important}
  .bottom-bar{padding-bottom:env(safe-area-inset-bottom)}
}

/* ===== панель ВМ: тулбар скрыт до запуска, пусковой блок в новом дизайне ===== */
#vmPanel{position:relative;height:100%;background:#fff}
#vmPanel.active{display:flex!important;flex-direction:column}
.vm-toolbar{display:none;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #dde5f0;background:#fff;flex:0 0 auto}
.vm-toolbar.on{display:flex}
.vm-status{font-size:13px;font-weight:600;color:#3d4f6d;margin-right:auto}
.vm-resize{border:1px solid #dde5f0;background:#fff;color:#000c2d;border-radius:9px;padding:6px 12px;font:inherit;font-size:12.5px;cursor:pointer}
.vm-resize:hover{border-color:#0473ff;color:#0473ff}
.vm-launch{flex:1 1 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:28px 32px;max-width:660px;margin:0 auto}
.vm-icon{width:44px;height:44px;border-radius:12px;background:rgba(4,115,255,.10);display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.vm-launch h2{font-size:22px;margin:0}
.vm-launch p{color:#5a6b85;margin:0 0 8px;font-size:14.5px}
.vm-btn{background:#0473ff;color:#fff;border:0;border-radius:10px;padding:12px 22px;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.vm-btn:hover{background:#0060e0}
.vm-link{color:#0473ff;text-decoration:none;font-size:13.5px}
.vm-link:hover{text-decoration:underline}
.vm-frame{display:none;width:100%;border:0}
.vm-frame.shown{display:block!important;flex:1 1 auto;min-height:0;height:100%}
#vmPanel .tab-panel{padding:0}
@media (max-width:1024px){ .vm-launch{padding:20px 16px} .vm-frame.shown{height:72vh!important} }
