﻿/* ═══════════════════════════════════════════════════════════
   BeTrader — Light FinTech Design System
   Palette (validated): #1E4193 blue · #0E9F6E up · #E02D3C down
   ═══════════════════════════════════════════════════════════ */

:root {
  /* фирменные токены — палитра нового логотипа #0E2F76 / #AAC0E1 */
  --brand: #0E2F76;
  --brand-deep: #081C4E;
  --brand-light: #AAC0E1;

  --blue: #1E4193;
  --blue-soft: #E8EEFE;
  --blue-deep: #0B3AA8;
  --up: #0E9F6E;
  --up-soft: #E3F6EE;
  --down: #E02D3C;
  --down-soft: #FCE9EB;
  --amber: #F59E0B;

  --ink: #0F1B33;
  --ink-2: #44526E;
  --ink-3: #5C6A89; /* ≥4.5:1 на белом — мелкий информативный текст */

  --bg: #F4F7FD;
  --bg-2: #EDF2FB;
  --surface: #FFFFFF;

  --glass-bg: rgba(255, 255, 255, 0.55);
  --glass-bg-heavy: rgba(255, 255, 255, 0.82);
  --glass-brd: rgba(255, 255, 255, 0.75);
  --glass-shadow: 0 8px 32px rgba(14, 47, 118, 0.10);
  --glass-shadow-lg: 0 24px 64px rgba(14, 47, 118, 0.16);

  --r-sm: 12px;
  --r-md: 18px;
  --r-lg: 26px;
  --r-xl: 34px;

  --font: 'Manrope', system-ui, -apple-system, sans-serif;
  --font-display: 'Sora', var(--font);
  --font-mono: ui-monospace, 'SF Mono', 'Cascadia Mono', Consolas, monospace;

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --t-fast: 0.25s var(--ease);
  --t-med: 0.5s var(--ease);
  --t-slow: 0.9s var(--ease);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font);
  color: var(--ink);
  background:
    radial-gradient(1100px 600px at 85% -5%, rgba(30, 65, 147, 0.10), transparent 60%),
    radial-gradient(900px 500px at -10% 30%, rgba(14, 159, 110, 0.08), transparent 55%),
    radial-gradient(700px 500px at 110% 70%, rgba(109, 77, 224, 0.07), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  background-attachment: fixed;
  min-height: 100vh;
  overflow-x: hidden;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
ul { list-style: none; }
h1, h2, h3, h4 { font-family: var(--font-display); line-height: 1.15; letter-spacing: -0.02em; }

.container { width: min(1240px, 100% - 48px); margin-inline: auto; }
.section { padding: clamp(64px, 9vh, 110px) 0; position: relative; }
[id] { scroll-margin-top: 92px; }
.ic { width: 1.15em; height: 1.15em; flex: none; }

::selection { background: rgba(30, 65, 147, 0.2); }

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--bg-2); }
::-webkit-scrollbar-thumb { background: linear-gradient(var(--blue), var(--up)); border-radius: 5px; }

/* ═══════════ AMBIENT LAYERS ═══════════ */
#neural-canvas {
  position: fixed; inset: 0; width: 100%; height: 100%;
  z-index: 0; pointer-events: none;
}


#cursor-glow {
  position: fixed; z-index: 0; pointer-events: none;
  width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(circle, rgba(30, 65, 147, 0.09) 0%, rgba(14, 159, 110, 0.05) 40%, transparent 70%);
  transform: translate(-50%, -50%);
  left: 50vw; top: 40vh;
  transition: opacity 0.4s;
}

main, .header, .footer, .tape { position: relative; z-index: 1; }

/* ═══════════ GLASS ═══════════ */
.glass {
  background: var(--glass-bg);
  border: 1px solid var(--glass-brd);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: var(--glass-shadow);
}
.glass-heavy {
  background: var(--glass-bg-heavy);
  border: 1px solid var(--glass-brd);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: var(--glass-shadow-lg);
}
.glass-dark {
  background: linear-gradient(135deg, rgba(16, 31, 68, 0.92), rgba(30, 65, 147, 0.88));
  color: #fff;
  border-radius: var(--r-md);
}

/* декоративный чарт-фон внутри карточек */
.card-chart-bg {
  position: absolute; inset: auto 0 0 0; height: 62%;
  width: 100%;
  opacity: 0.5;
  pointer-events: none;
  border-radius: inherit;
  mask-image: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
}

/* ═══════════ BUTTONS ═══════════ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-weight: 700; letter-spacing: 0.01em;
  border-radius: 999px;
  padding: 14px 28px;
  transition: transform var(--t-fast), box-shadow var(--t-fast), background var(--t-fast), color var(--t-fast);
  position: relative; overflow: hidden;
  white-space: nowrap;
}
.btn--primary {
  background: linear-gradient(120deg, var(--blue) 0%, #2E55A8 55%, var(--up) 130%);
  color: #fff;
  box-shadow: 0 10px 28px rgba(30, 65, 147, 0.35);
}
.btn--primary::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.35) 50%, transparent 70%);
  transform: translateX(-110%);
  transition: transform 0.7s var(--ease);
}
.btn--primary:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(30, 65, 147, 0.45); }
.btn--primary:hover::after { transform: translateX(110%); }
.btn--ghost {
  background: var(--glass-bg);
  border: 1px solid rgba(30, 65, 147, 0.25);
  color: var(--blue-deep);
  backdrop-filter: blur(10px);
}
.btn--ghost:hover { background: var(--blue-soft); transform: translateY(-2px); }
.btn--sm { padding: 10px 18px; font-size: 14px; }
.btn--lg { padding: 17px 34px; font-size: 17px; }

.link-arrow {
  color: var(--blue); font-weight: 700; display: inline-flex; align-items: center; gap: 6px;
  transition: gap var(--t-fast);
}
.link-arrow::after { content: '→'; transition: transform var(--t-fast); }
.link-arrow:hover::after { transform: translateX(5px); }

.chip {
  padding: 10px 20px; border-radius: 999px; font-weight: 700; font-size: 14px;
  color: var(--ink-2);
  transition: all var(--t-fast);
}
.chip:hover { transform: translateY(-2px); color: var(--blue); }
.chip.active {
  background: linear-gradient(120deg, var(--blue), #2E55A8);
  color: #fff; border-color: transparent;
  box-shadow: 0 8px 20px rgba(30, 65, 147, 0.35);
}

/* ═══════════ HEADER ═══════════ */
.header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  transition: all var(--t-med);
  padding: 14px 0;
}
.header.scrolled {
  padding: 8px 0;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 4px 30px rgba(14, 47, 118, 0.08);
}
.header__inner { display: flex; align-items: center; gap: 22px; }

.logo {
  display: inline-flex; align-items: center; gap: 10px; flex: none;
  padding: 3px 10px 3px 4px; border: 1px solid rgba(54, 88, 155, .12); border-radius: 15px;
  background: rgba(248, 251, 255, .94); box-shadow: 0 8px 25px rgba(5, 18, 45, .08);
}
.logo__mark {
  width: 42px; height: 46px;
  background: none;
  transition: transform var(--t-med);
}
.logo__mark svg { display: none; }
.logo:hover .logo__mark { transform: rotate(-8deg) scale(1.06); }
.logo__text { font-family: var(--font-display); font-weight: 700; font-size: 19px; letter-spacing: -0.02em; color: #16357F; }
.logo__text em { font-style: normal; color: #132349; }

.nav { display: flex; align-items: center; gap: 4px; margin-inline: auto; }
.nav__link {
  padding: 9px 13px; border-radius: 999px; font-weight: 650; font-size: 15px; color: var(--ink-2);
  display: inline-flex; align-items: center; gap: 5px;
  border: 1px solid rgba(170, 192, 225,.16);
  background: rgba(170, 192, 225,.045);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
  transition: color var(--t-fast), transform var(--t-fast), background var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);
  position: relative;
  white-space: nowrap;
}
.nav__link::after { display: none; }
.nav__link:hover, .nav__link.active {
  color: var(--ink); transform: translateY(-2px);
  border-color: rgba(170, 192, 225,.4); background: rgba(170, 192, 225,.12);
  box-shadow: 0 9px 24px rgba(18,52,132,.16), inset 0 1px 0 rgba(255,255,255,.08);
}
.nav__link--career {
  display: inline-flex; align-items: center; gap: 7px;
  margin-inline: 3px; border-color: rgba(170, 192, 225,.25);
  background: linear-gradient(120deg, rgba(170, 192, 225,.09), rgba(170, 192, 225,.07));
}
.nav__career-dot {
  width: 7px; height: 7px; border-radius: 50%; flex: none;
  background: var(--lime); box-shadow: 0 0 10px rgba(170, 192, 225,.8);
}
.chev { width: 11px; height: 11px; transition: transform var(--t-fast); }

.nav__item--drop { position: relative; }
.nav__dropdown {
  position: absolute; top: calc(100% + 10px); left: 0; min-width: 210px;
  border-radius: var(--r-md); padding: 8px;
  display: flex; flex-direction: column;
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: all var(--t-fast);
}
.nav__dropdown a {
  padding: 11px 14px; border-radius: 10px; font-weight: 600; font-size: 14.5px; color: var(--ink-2);
  transition: all var(--t-fast);
}
.nav__dropdown a:hover { background: var(--blue-soft); color: var(--blue); padding-left: 19px; }
.nav__item--drop:hover .nav__dropdown, .nav__item--drop:focus-within .nav__dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.nav__item--drop:hover .chev { transform: rotate(180deg); }

.header__actions { display: flex; align-items: center; gap: 10px; flex: none; }
.header__phone {
  display: inline-flex; align-items: center; gap: 7px;
  font-weight: 700; font-size: 14px; color: var(--ink-2);
  transition: color var(--t-fast);
  white-space: nowrap;
}
.header__phone:hover { color: var(--blue); }

/* язык */
.lang { position: relative; }
.lang__btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 13px; border-radius: 999px; font-weight: 700; font-size: 13.5px;
  transition: all var(--t-fast);
}
.lang__btn:hover { transform: translateY(-1px); }
.lang__list {
  position: absolute; top: calc(100% + 8px); right: 0; min-width: 160px;
  border-radius: var(--r-md); padding: 7px;
  display: flex; flex-direction: column;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: all var(--t-fast);
  z-index: 10;
}
.lang.open .lang__list { opacity: 1; visibility: visible; transform: translateY(0); }
.lang__list button {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border-radius: 10px; font-weight: 600; font-size: 14px;
  text-align: left; transition: all var(--t-fast);
}
.lang__list button:hover { background: var(--blue-soft); color: var(--blue); }

.lang__flag {
  width: 21px; height: 15px; border-radius: 3px; flex: none;
  background-size: cover; background-position: center;
  box-shadow: 0 0 0 1px rgba(16, 31, 68, 0.12);
}
.flag-ru { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3'%3E%3Crect width='6' height='3' fill='%23fff'/%3E%3Crect width='6' height='2' y='1' fill='%230039A6'/%3E%3Crect width='6' height='1' y='2' fill='%23D52B1E'/%3E%3C/svg%3E"); }
.flag-uz { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%231EB53A'/%3E%3Crect width='60' height='19.2' fill='%23fff'/%3E%3Crect width='60' height='18' fill='%23CE1126'/%3E%3Crect width='60' height='16.8' fill='%23fff'/%3E%3Crect width='60' height='9.6' fill='%230099B5'/%3E%3Crect y='19.2' width='60' height='1.2' fill='%23CE1126'/%3E%3Ccircle cx='7' cy='4.8' r='2.9' fill='%23fff'/%3E%3Ccircle cx='8' cy='4.8' r='2.35' fill='%230099B5'/%3E%3C/svg%3E"); }
.flag-en { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3CclipPath id='a'%3E%3Cpath d='M0 0v30h60V0z'/%3E%3C/clipPath%3E%3Cpath d='M0 0v30h60V0z' fill='%23012169'/%3E%3Cpath d='M0 0l60 30m0-30L0 30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0 0l60 30m0-30L0 30' clip-path='url(%23a)' stroke='%23C8102E' stroke-width='4'/%3E%3Cpath d='M30 0v30M0 15h60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30 0v30M0 15h60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E"); }

.burger { display: none; flex-direction: column; gap: 5px; padding: 10px; }
.burger span { width: 24px; height: 2.5px; background: var(--ink); border-radius: 2px; transition: all var(--t-fast); }
.burger.open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity: 0; }
.burger.open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

/* ═══════════ HERO ═══════════ */
.hero {
  min-height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  padding: 140px 0 60px;
  position: relative;
  overflow: hidden;
}
.hero__chart-bg {
  position: absolute; inset: auto 0 0 0; height: 55%; width: 100%;
  opacity: 0.55; pointer-events: none;
  mask-image: linear-gradient(to top, rgba(0,0,0,0.75), transparent 85%);
  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,0.75), transparent 85%);
}
.hero__grid {
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 48px; align-items: center;
  position: relative;
}
.pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--up); position: relative; flex: none; }
.pulse-dot::after {
  content: ''; position: absolute; inset: -5px; border-radius: 50%;
  border: 2px solid var(--up); opacity: 0.6;
  animation: pulse-ring 1.8s var(--ease) infinite;
}
@keyframes pulse-ring { 0% { transform: scale(0.45); opacity: 0.9; } 100% { transform: scale(1.55); opacity: 0; } }

.hero__title { font-size: clamp(38px, 5.4vw, 68px); font-weight: 700; margin-bottom: 22px; }
.grad-text {
  background: linear-gradient(120deg, var(--blue) 10%, var(--up) 90%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.hero__subtitle { font-size: clamp(16px, 1.6vw, 19px); color: var(--ink-2); max-width: 560px; margin-bottom: 34px; }
.hero__cta { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 38px; }

.hero__stores { display: flex; gap: 12px; flex-wrap: wrap; }
.store-badge {
  display: inline-flex; align-items: center; gap: 11px;
  padding: 11px 18px; border-radius: 16px;
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.store-badge svg { width: 26px; height: 26px; fill: var(--ink); color: var(--ink); }
.store-badge small { display: block; font-size: 10.5px; color: var(--ink-3); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.store-badge strong { font-size: 15px; font-family: var(--font-display); }
.store-badge:hover { transform: translateY(-4px); box-shadow: var(--glass-shadow-lg); }

/* ── iPhone-мокап ── */
.hero__visual { display: flex; justify-content: center; position: relative; }
.hero__orbit {
  position: absolute; inset: -8% -14%;
  border: 1.5px dashed rgba(30, 65, 147, 0.22);
  border-radius: 50%;
  animation: spin 44s linear infinite;
  pointer-events: none;
}
.hero__orbit::before, .hero__orbit::after {
  content: ''; position: absolute; width: 12px; height: 12px; border-radius: 50%;
}
.hero__orbit::before { top: 8%; left: 14%; background: var(--blue); box-shadow: 0 0 16px var(--blue); }
.hero__orbit::after { bottom: 6%; right: 12%; background: var(--up); box-shadow: 0 0 16px var(--up); }
@keyframes spin { to { transform: rotate(360deg); } }

.phone-wrap { position: relative; animation: phone-float 7s ease-in-out infinite; perspective: 1400px; }
@keyframes phone-float {
  0%, 100% { transform: translateY(0) rotateZ(0deg); }
  50% { transform: translateY(-18px) rotateZ(-1.4deg); }
}
/* лаймовое неон-свечение Niyat позади телефона */
.phone-wrap::before {
  content: ''; position: absolute; inset: -14% -20%; z-index: -1;
  background: radial-gradient(46% 42% at 62% 38%, rgba(170, 192, 225, 0.5), transparent 70%);
  filter: blur(34px);
  animation: niyat-glow 6s ease-in-out infinite;
  pointer-events: none;
}
@keyframes niyat-glow { 0%, 100% { opacity: 0.55; } 50% { opacity: 1; } }

.phone {
  width: min(310px, 78vw);
  aspect-ratio: 9 / 18.7;
  background: linear-gradient(160deg, #10141f, #05070d 60%, #141a29);
  border-radius: 52px;
  padding: 10px;
  position: relative;
  transform-style: preserve-3d;
  transform: rotateY(-13deg) rotateX(3deg);
  box-shadow:
    -28px 42px 80px rgba(16, 31, 68, 0.38),
    inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}
/* титановая рамка-кольцо */
.phone::before {
  content: ''; position: absolute; inset: 0; border-radius: 52px; padding: 2.5px;
  background: linear-gradient(155deg, #cfd6e2 0%, #6a7488 22%, #2b3242 48%, #a2abbd 78%, #454e63 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events: none;
}
/* боковые кнопки */
.pb {
  position: absolute; width: 3.5px; border-radius: 2px;
  background: linear-gradient(90deg, #9AA6C0, #3c4354 60%, #1e2432);
}
.pb--action  { left: -3.5px; top: 15%; height: 20px; }
.pb--volup   { left: -3.5px; top: 22%; height: 36px; }
.pb--voldown { left: -3.5px; top: 29.5%; height: 36px; }
.pb--power   { right: -3.5px; top: 24%; height: 56px; background: linear-gradient(270deg, #9AA6C0, #3c4354 60%, #1e2432); }

.phone__screen {
  width: 100%; height: 100%;
  background: linear-gradient(175deg, #EFF9FE 0%, #D7E4F4 100%);
  border-radius: 42px;
  padding: 8px 14px 10px;
  overflow: hidden;
  display: flex; flex-direction: column; gap: 9px;
  position: relative;
  color: #0B2258;
}
/* блик, медленно скользящий по стеклу */
.phone__screen::after {
  content: ''; position: absolute; inset: -30% -70%;
  background: linear-gradient(115deg, transparent 43%, rgba(255, 255, 255, 0.22) 50%, transparent 57%);
  transform: translateX(-75%);
  animation: glare 5.5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes glare { 0%, 55% { transform: translateX(-75%); } 85%, 100% { transform: translateX(75%); } }

.phone__status {
  display: flex; align-items: center; justify-content: space-between;
  height: 30px; padding: 0 8px 0 14px; flex: none;
}
.phone__clock { font-size: 13.5px; font-family: var(--font-display); letter-spacing: 0.02em; }
.phone__island {
  position: absolute; left: 50%; top: 12px; transform: translateX(-50%);
  width: 86px; height: 24px; border-radius: 999px;
  background: #060910;
  display: flex; align-items: center; justify-content: flex-end; padding-right: 8px;
  box-shadow: inset 0 0 2px rgba(255, 255, 255, 0.14);
  z-index: 2;
}
.phone__cam {
  width: 9px; height: 9px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #2a3450 0%, #0b0f1a 60%);
  box-shadow: inset 0 0 1.5px rgba(120, 160, 255, 0.5);
}
.phone__sicons { display: flex; align-items: center; gap: 5px; }
.phone__sicons .si { height: 11px; width: auto; fill: var(--ink); }

.phone__appbar { display: flex; align-items: center; gap: 8px; padding: 0 4px; flex: none; }
.phone__applogo { width: 26px; height: 26px; flex: none; }
.phone__applogo svg { width: 100%; height: 100%; }
.phone__applogo--niyat { filter: drop-shadow(0 3px 6px rgba(74, 106, 18, 0.35)); }
.phone__brand { font-family: var(--font-display); font-size: 15px; color: #2563EB; }
.phone__brand em { font-style: normal; color: var(--ink); }
.phone__brand--niyat { color: #0B2258; letter-spacing: 0.24em; font-size: 13.5px; }
.phone__bell { width: 20px; height: 20px; margin-left: auto; color: #0E2F76; }

.phone__balance {
  background: linear-gradient(135deg, #243A0C 0%, #0E2F76 55%, #1A2708 130%);
  color: #F2FBD8; border-radius: 18px;
  padding: 13px 16px; display: flex; flex-direction: column; gap: 2px; flex: none;
  box-shadow: 0 10px 22px rgba(51, 81, 26, 0.35);
  position: relative; overflow: hidden;
}
.phone__balance::after {
  content: ''; position: absolute; right: -34px; top: -34px;
  width: 110px; height: 110px; border-radius: 50%;
  background: rgba(255, 255, 255, 0.09);
}
.phone__balance small { font-size: 11px; opacity: 0.8; }
.phone__balance strong { font-size: 22px; font-family: var(--font-display); letter-spacing: -0.01em; }
.phone__delta { font-size: 12px; font-weight: 800; color: #C6EC55; }

.phone__chart { width: 100%; height: auto; border-radius: 12px; flex: none; }
.phone__assets { display: flex; flex-direction: column; gap: 7px; }
.phone__asset {
  display: flex; align-items: center; gap: 8px;
  background: #fff; border-radius: 12px; padding: 8px 12px;
  font-size: 12.5px; font-weight: 700;
  box-shadow: 0 3px 10px rgba(14, 47, 118, 0.06);
}
.phone__asset b { margin-left: auto; }
.phone__asset .dot { width: 8px; height: 8px; border-radius: 3px; background: var(--c); }
.up { color: var(--up); }
.down { color: var(--down); }

.phone__actions { display: flex; gap: 8px; flex: none; }
.pbtn {
  flex: 1; text-align: center; padding: 9px 6px; border-radius: 12px;
  font-size: 12px; font-weight: 800;
  background: #fff; color: #0E2F76;
  box-shadow: 0 3px 10px rgba(74, 106, 18, 0.12);
}
.pbtn--primary { background: linear-gradient(120deg, #2B430F, #3C5F1D); color: #BFD4ED; }

.phone__tabbar {
  margin-top: auto; flex: none;
  display: flex; justify-content: space-around; align-items: center;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 18px; padding: 9px 10px;
  box-shadow: 0 -4px 16px rgba(74, 106, 18, 0.1);
}
.phone__tabbar svg { width: 21px; height: 21px; color: #9DB18A; }
.phone__tabbar svg.active { color: #0E2F76; }
.phone__homebar {
  display: block; width: 92px; height: 4px; border-radius: 4px;
  background: rgba(16, 31, 68, 0.32);
  margin: 7px auto 0; flex: none;
}

/* тень на «земле» под телефоном */
.phone__ground {
  position: absolute; bottom: -38px; left: 50%; transform: translateX(-50%);
  width: 72%; height: 36px;
  background: radial-gradient(50% 50% at 50% 50%, rgba(16, 31, 68, 0.30), transparent 70%);
  filter: blur(7px);
  animation: ground-breathe 4.5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes ground-breathe { 0%, 100% { transform: translateX(-50%) scaleX(1); opacity: 1; } 50% { transform: translateX(-50%) scaleX(0.86); opacity: 0.65; } }

.phone__float {
  position: absolute; padding: 9px 14px; border-radius: 999px;
  font-size: 12.5px; font-weight: 800; display: flex; align-items: center; gap: 7px;
  white-space: nowrap;
}
.phone__float--1 { top: 15%; right: -22%; animation: float-chip 3.4s ease-in-out infinite; }
.phone__float--2 { bottom: 8%; left: -28%; animation: float-chip 4.2s ease-in-out .8s infinite; }
.phone__float--niyat { color: #0E2F76; }
.pulse-dot--lime { background: #7E9CCB; }
.pulse-dot--lime::after { border-color: #7E9CCB; }
@keyframes float-chip { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-11px); } }

.hero__scroll-hint {
  position: absolute; bottom: 26px; left: 50%; transform: translateX(-50%);
  width: 27px; height: 44px; border: 2px solid rgba(16, 31, 68, 0.25); border-radius: 999px;
  display: flex; justify-content: center; padding-top: 8px;
}
.hero__scroll-hint span {
  width: 4px; height: 9px; border-radius: 4px; background: var(--blue);
  animation: scroll-hint 1.8s var(--ease) infinite;
}
@keyframes scroll-hint { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(13px); opacity: 0; } 100% { opacity: 0; } }

/* ═══════════ TAPE ═══════════ */
.tape {
  overflow: hidden;
  background: rgba(255, 255, 255, 0.5);
  border-block: 1px solid rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  padding: 13px 0;
  box-shadow: 0 6px 24px rgba(14, 47, 118, 0.06);
}
.tape__track {
  display: flex; gap: 42px; width: max-content;
  animation: tape-scroll 46s linear infinite;
  will-change: transform;
}
.tape:hover .tape__track { animation-play-state: paused; }
@keyframes tape-scroll { to { transform: translateX(-50%); } }
.tape__item { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 800; letter-spacing: 0.01em; white-space: nowrap; }
.tape__item .sym { color: var(--ink); }
.tape__item .price { color: var(--ink-3); font-weight: 600; }
.tape__item svg { width: 42px; height: 16px; }

/* ═══════════ UZ MARKET ═══════════ */
.uzmarket { padding: clamp(40px, 6vh, 70px) 0; }
.uzmarket__card {
  display: flex; align-items: center; gap: 26px;
  padding: 30px 36px; border-radius: var(--r-lg);
  position: relative; overflow: hidden;
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.uzmarket__card:hover { transform: translateY(-4px); box-shadow: var(--glass-shadow-lg); }
.uzmarket__card:hover .uzmarket__arrow { transform: translateX(8px); }
.flag-uz-lg {
  width: 64px; height: 46px; border-radius: 10px; flex: none;
  background-size: cover;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%231EB53A'/%3E%3Crect width='60' height='19.2' fill='%23fff'/%3E%3Crect width='60' height='18' fill='%23CE1126'/%3E%3Crect width='60' height='16.8' fill='%23fff'/%3E%3Crect width='60' height='9.6' fill='%230099B5'/%3E%3Crect y='19.2' width='60' height='1.2' fill='%23CE1126'/%3E%3Ccircle cx='7' cy='4.8' r='2.9' fill='%23fff'/%3E%3Ccircle cx='8' cy='4.8' r='2.35' fill='%230099B5'/%3E%3C/svg%3E");
  box-shadow: 0 8px 20px rgba(14, 47, 118, 0.18);
}
.uzmarket__body { flex: 1; position: relative; }
.uzmarket__body h3 { font-size: clamp(19px, 2.2vw, 25px); margin-bottom: 6px; }
.uzmarket__body p { color: var(--ink-2); font-size: 15px; max-width: 620px; }
.uzmarket__stats { display: flex; gap: 30px; position: relative; }
.uzmarket__stats > div { display: flex; flex-direction: column; align-items: flex-end; }
.uzmarket__stats strong { font-size: 22px; font-family: var(--font-display); }
.uzmarket__stats small { font-size: 12px; color: var(--ink-3); font-weight: 600; }
.uzmarket__arrow { font-size: 26px; color: var(--blue); transition: transform var(--t-fast); position: relative; }

/* ═══════════ SECTION HEAD ═══════════ */
.section-head { text-align: center; max-width: 720px; margin: 0 auto clamp(38px, 6vh, 56px); }
.section-tag {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 18px; border-radius: 999px;
  font-size: 13px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--blue); margin-bottom: 18px;
}
.section-head h2 { font-size: clamp(28px, 3.6vw, 44px); font-weight: 700; }
.section-head h2::after {
  content: ''; display: block; width: 64px; height: 4px; border-radius: 2px;
  margin: 18px auto 0;
  background: linear-gradient(90deg, var(--blue), var(--up));
}
.section-head p { color: var(--ink-2); margin-top: 14px; font-size: 16.5px; }

/* ═══════════ NUMBERS ═══════════ */
.numbers__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.num-card {
  padding: 34px 26px 30px; border-radius: var(--r-lg); text-align: center;
  position: relative; overflow: hidden;
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.num-card:hover { transform: translateY(-6px); box-shadow: var(--glass-shadow-lg); }
.num-card__icon {
  width: 54px; height: 54px; margin: 0 auto 16px;
  border-radius: 16px; display: grid; place-items: center;
  background: linear-gradient(135deg, var(--blue-soft), rgba(227, 246, 238, 0.9));
  color: var(--blue); position: relative;
}
.num-card__icon svg { width: 27px; height: 27px; }
.num-card__value {
  display: block; font-family: var(--font-display); font-weight: 700;
  font-size: clamp(30px, 3.2vw, 42px); letter-spacing: -0.02em;
  background: linear-gradient(120deg, var(--blue-deep), var(--blue));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  margin-bottom: 6px; position: relative;
}
.num-card > span { color: var(--ink-2); font-size: 14.5px; font-weight: 600; position: relative; }

/* ═══════════ WORLD MAP ═══════════ */
.worldmap__wrap {
  border-radius: var(--r-xl); padding: clamp(16px, 3vw, 40px);
  position: relative; overflow: hidden;
}
#map-container svg { width: 100%; height: auto; }
#map-container path {
  fill: #D7E1F5; stroke: rgba(255, 255, 255, 0.9); stroke-width: 0.5;
  transition: fill var(--t-fast);
}
/* Doimiy filter-pulse animatsiyasi olib tashlandi — har kadr repaint qilib,
   scroll paytida sahifani qotirardi. Glow endi statik. */
#map-container path.presence {
  fill: url(#presenceGrad);
  cursor: pointer;
  filter: drop-shadow(0 0 5px rgba(30, 65, 147, 0.6));
}
#map-container path.presence:hover { fill: var(--up); }
.map-tooltip[hidden] { display: none; }
.map-tooltip {
  position: absolute; z-index: 8; pointer-events: none;
  padding: 13px 18px; border-radius: var(--r-md);
  display: flex; flex-direction: column; gap: 1px;
  min-width: 165px;
  transition: opacity 0.15s;
}
.map-tooltip strong { font-family: var(--font-display); font-size: 15px; }
.map-tooltip span { font-size: 20px; font-weight: 800; color: var(--blue); font-variant-numeric: tabular-nums; }
.map-tooltip small { font-size: 11.5px; color: var(--ink-3); font-weight: 600; }

/* ═══════════ ABOUT ═══════════ */
.about__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.about-card {
  padding: 34px 30px; border-radius: var(--r-lg);
  position: relative; overflow: hidden;
  transition: transform var(--t-fast), box-shadow var(--t-fast);
  display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
}
.about-card:hover { transform: translateY(-6px); box-shadow: var(--glass-shadow-lg); }
.about-card__icon {
  width: 58px; height: 58px; border-radius: 17px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--blue), #2E55A8);
  color: #fff; box-shadow: 0 10px 24px rgba(30, 65, 147, 0.35);
  position: relative;
  transition: transform var(--t-med);
}
.about-card:hover .about-card__icon { transform: rotate(-8deg) scale(1.08); }
.about-card__icon svg { width: 28px; height: 28px; }
.about-card h3 { font-size: 21px; position: relative; }
.about-card p { color: var(--ink-2); font-size: 14.5px; flex: 1; position: relative; }
.about-card .link-arrow { position: relative; }
.link-arrow--button { padding: 0; border: 0; font: inherit; cursor: pointer; background: transparent; }

.company-details {
  width: min(100%, 1120px); margin: 26px auto 0; padding: clamp(25px, 4vw, 44px);
  border-radius: 30px; position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(138deg, rgba(15, 29, 55, .9), rgba(9, 19, 45, .84));
  box-shadow: 0 24px 65px rgba(3, 10, 24, .2);
}
.company-details[hidden] { display: none !important; }
.company-details::before {
  content: ''; position: absolute; z-index: -1; width: 430px; height: 260px; right: -120px; top: -130px;
  border-radius: 50%; background: radial-gradient(circle, rgba(170, 192, 225, .16), transparent 70%); pointer-events: none;
}
.company-details__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.company-details__eyebrow { display: block; margin-bottom: 10px; color: #AAC0E1; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.company-details h3 { max-width: 720px; color: #F2F7FF; font-size: clamp(25px, 3vw, 38px); }
.company-details__close {
  width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border: 1px solid rgba(170, 192, 225, .25);
  border-radius: 50%; color: #DCEAFF; background: rgba(38, 89, 180, .19); font-size: 24px; transition: transform var(--t-fast), background var(--t-fast);
}
.company-details__close:hover { transform: rotate(6deg); background: rgba(54, 112, 221, .3); }
.company-details__close:focus-visible { outline: 3px solid rgba(170, 192, 225, .4); outline-offset: 3px; }
.company-details__intro { max-width: 880px; margin: 18px 0 26px; color: #B8C6DD; font-size: 15px; line-height: 1.75; }
.company-details__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.company-details__grid article { padding: 21px; border: 1px solid rgba(111, 155, 238, .16); border-radius: 21px; background: rgba(255,255,255,.035); }
.company-details__grid article > span { color: #AAC0E1; font: 800 10px/1 var(--font-display); letter-spacing: .12em; }
.company-details__grid h4 { margin: 13px 0 8px; color: #EDF4FF; font-size: 17px; }
.company-details__grid p { color: #AEBBD1; font-size: 13px; line-height: 1.65; }
.company-details__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 24px; overflow: hidden; border-radius: 18px; background: rgba(115, 151, 220, .12); }
.company-details__metrics div { display: grid; gap: 4px; padding: 17px 20px; background: rgba(9, 19, 45, .86); }
.company-details__metrics strong { color: #F4F8FF; font: 700 22px/1 var(--font-display); }
.company-details__metrics span { color: #91A2BE; font-size: 10px; }
html[data-theme="light"] .company-details { border-color: rgba(30, 65, 147, .17); background: linear-gradient(138deg, rgba(249, 253, 255, .97), rgba(232, 240, 248, .94)); box-shadow: 0 25px 65px rgba(47, 64, 101, .14); }
html[data-theme="light"] .company-details h3, html[data-theme="light"] .company-details__grid h4, html[data-theme="light"] .company-details__metrics strong { color: #152248; }
html[data-theme="light"] .company-details__intro, html[data-theme="light"] .company-details__grid p { color: #566585; }
html[data-theme="light"] .company-details__grid article { border-color: rgba(30, 65, 147, .14); background: rgba(255,255,255,.5); }
html[data-theme="light"] .company-details__metrics { background: rgba(30, 65, 147, .1); }
html[data-theme="light"] .company-details__metrics div { background: rgba(250, 251, 248, .84); }

/* Reusable section CTAs — one visual language, real routes and touch-safe sizing. */
.section-actions {
  display: flex; justify-content: center; align-items: center; flex-wrap: wrap;
  gap: 11px; width: min(100%, 980px); margin: 30px auto 0;
}
.section-actions .btn { min-width: 170px; max-width: 100%; text-align: center; }
.section-actions--contacts { margin: -6px auto 30px; }

/* Founder portrait and quote are one editorial surface, not nested cards. */
.founder-card {
  display: grid; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  width: min(100%, 1120px); min-height: 510px; margin: 34px auto 0;
  overflow: hidden; border-radius: 36px; position: relative;
  background: linear-gradient(138deg, rgba(17, 28, 49, .9), rgba(9, 18, 42, .82));
}
.founder-card__portrait { position: relative; min-height: 510px; overflow: hidden; background: #111827; }
.founder-card__portrait::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, transparent 58%, rgba(9, 18, 42, .58)), linear-gradient(0deg, rgba(4, 9, 18, .28), transparent 42%);
}
.founder-card__portrait img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 34%; }
.founder-card__signal {
  position: absolute; z-index: 2; right: 22px; bottom: 22px; width: 12px; height: 12px;
  border: 2px solid rgba(255,255,255,.76); border-radius: 50%; background: var(--lime);
  box-shadow: 0 0 0 7px rgba(112, 240, 186, .1), 0 0 18px rgba(112, 240, 186, .68);
}
.founder-card__quote {
  position: relative; display: flex; flex-direction: column; justify-content: center;
  padding: clamp(36px, 5.5vw, 72px); isolation: isolate;
}
.founder-card__quote::before {
  content: '“'; position: absolute; z-index: -1; top: 12px; right: 32px;
  color: rgba(117, 159, 255, .12); font: 700 clamp(120px, 16vw, 220px)/1 var(--font-display);
}
.founder-card__eyebrow { margin-bottom: 22px; color: #8EADFF; font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.founder-card blockquote { margin: 0; max-width: 650px; color: #EEF4FF; font: 600 clamp(22px, 2.35vw, 34px)/1.38 var(--font-display); letter-spacing: -.025em; }
.founder-card__quote > div { display: grid; gap: 4px; margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(130, 161, 224, .16); }
.founder-card__quote strong { font-size: 16px; }
.founder-card__quote small { color: var(--ink-3); font-size: 12px; }

html[data-theme="light"] .founder-card {
  border-color: rgba(30, 65, 147, .16);
  background: linear-gradient(138deg, rgba(249, 253, 255, .96), rgba(232, 238, 246, .9));
  box-shadow: 0 28px 70px rgba(47, 64, 101, .15);
}
html[data-theme="light"] .founder-card__portrait::after { background: linear-gradient(90deg, transparent 65%, rgba(232, 238, 246, .38)); }
html[data-theme="light"] .founder-card__eyebrow { color: #1E4193; }
html[data-theme="light"] .founder-card blockquote { color: #16234A; }
html[data-theme="light"] .founder-card__quote::before { color: rgba(30, 65, 147, .1); }

/* Team carousel — an editorial continuation of the founder profile. */
.team-carousel { width: min(100%, 1120px); margin: 34px auto 0; position: relative; }
.team-carousel__viewport { min-height: 510px; }
.team-carousel .founder-card { width: 100%; margin: 0; }
.team-slide.is-active { animation: team-card-enter .48s cubic-bezier(.2,.72,.24,1) both; }
.team-slide[hidden] { display: none !important; }
.team-carousel__controls {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  width: fit-content; max-width: 100%; margin: 18px auto 0; padding: 8px;
  border: 1px solid rgba(126, 159, 224, .17); border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 82%, transparent);
  box-shadow: 0 16px 38px rgba(4, 10, 23, .14);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.team-carousel__arrow {
  width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center;
  border: 1px solid rgba(84, 137, 244, .25); border-radius: 50%; color: #DCE8FF;
  background: linear-gradient(145deg, rgba(34, 79, 171, .88), rgba(16, 46, 105, .94));
  box-shadow: 0 8px 22px rgba(19, 72, 176, .25), inset 0 1px rgba(255,255,255,.18);
  transition: transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);
}
.team-carousel__arrow:hover { transform: translateX(-2px); border-color: rgba(170, 192, 225, .68); box-shadow: 0 10px 28px rgba(35, 100, 218, .36); }
.team-carousel__arrow--next:hover { transform: translateX(2px); }
.team-carousel__arrow:focus-visible { outline: 3px solid rgba(170, 192, 225, .42); outline-offset: 3px; }
.team-carousel__arrow svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.team-carousel__dots { display: flex; align-items: center; gap: 7px; }
.team-carousel__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: rgba(124, 155, 216, .34); transition: width var(--t-fast), background var(--t-fast), box-shadow var(--t-fast); }
.team-carousel__dots button.is-active { width: 27px; background: #AAC0E1; box-shadow: 0 0 14px rgba(170, 192, 225, .5); }
.team-carousel__dots button:focus-visible { outline: 2px solid #AAC0E1; outline-offset: 3px; }
.team-carousel__count { min-width: 49px; color: var(--ink-3); font: 700 10px/1 var(--font-display); letter-spacing: .12em; text-align: center; }

/* Editorial films — long-form company stories, loaded only on demand. */
.story-film {
  width: min(100%, 1120px); margin: 30px auto 0; padding: 12px;
  display: grid; grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr); gap: clamp(18px, 3vw, 36px);
  align-items: center; overflow: hidden; position: relative; isolation: isolate;
  border-radius: 30px; border-color: rgba(100, 149, 241, .2);
  background: linear-gradient(135deg, rgba(10, 22, 45, .86), rgba(5, 13, 28, .76));
  box-shadow: 0 28px 72px rgba(2, 8, 21, .22), inset 0 1px rgba(255,255,255,.05);
}
.story-film::before {
  content: ''; position: absolute; z-index: -1; width: 360px; height: 360px; left: -180px; bottom: -230px;
  border-radius: 50%; background: radial-gradient(circle, rgba(55, 145, 255, .18), transparent 68%); pointer-events: none;
}
.story-film--capital::before { left: auto; right: -170px; background: radial-gradient(circle, rgba(170, 192, 225, .13), transparent 68%); }
.story-film--academy::before { background: radial-gradient(circle, rgba(170, 192, 225, .15), transparent 68%); }
.story-film__copy { padding: clamp(18px, 3vw, 34px); }
.story-film__index { display: block; margin-bottom: 13px; color: #AAC0E1; font: 800 9px/1 var(--font-display); letter-spacing: .17em; }
.story-film__copy h3 { max-width: 520px; color: #F1F6FF; font-size: clamp(22px, 2.4vw, 34px); line-height: 1.14; }
.story-film__copy p { max-width: 510px; margin-top: 13px; color: #AAB9D0; font-size: 13.5px; line-height: 1.7; }
.story-film__meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 24px; padding-top: 16px; border-top: 1px solid rgba(130, 163, 224, .14); }
.story-film__meta span { display: inline-flex; align-items: center; gap: 8px; color: #B8C8E0; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.story-film__meta i { width: 7px; height: 7px; flex: none; border-radius: 50%; background: #72E8C0; box-shadow: 0 0 0 5px rgba(114, 232, 192, .08), 0 0 13px rgba(114, 232, 192, .65); }
.story-film__meta b { color: #7F92AE; font: 700 10px/1 var(--font-display); letter-spacing: .1em; }
.story-film__stage { position: relative; min-width: 0; overflow: hidden; border-radius: 23px; background: #030A1F; box-shadow: 0 20px 50px rgba(0,0,0,.32); }
.story-film__stage::after { content: ''; position: absolute; inset: 0; border: 1px solid rgba(173, 202, 255, .16); border-radius: inherit; pointer-events: none; }
.story-film__stage video { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: cover; background: #030A1F; }
.story-film__corner {
  position: absolute; top: 14px; left: 14px; z-index: 2; padding: 8px 12px; border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px; color: #F2F7FF; background: rgba(4, 12, 27, .66); backdrop-filter: blur(10px);
  font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  cursor: pointer; transition: background .2s, transform .2s, opacity .25s;
}
.story-film__corner:hover { background: rgba(30, 65, 147, .8); transform: translateY(-1px); }
.story-film__corner::before { content: '▶'; margin-right: 6px; font-size: 7px; }
.story-film__stage.is-playing .story-film__corner { opacity: 0; pointer-events: none; }
.story-film--reverse { grid-template-columns: minmax(0, 1.22fr) minmax(280px, .78fr); }
.story-film--reverse .story-film__copy { order: 2; }
.story-film--reverse .story-film__stage { order: 1; }
.story-film__stage:focus-within { box-shadow: 0 0 0 3px rgba(86, 151, 255, .22), 0 20px 50px rgba(0,0,0,.32); }
html[data-theme="light"] .story-film { border-color: rgba(36, 86, 155, .16); background: linear-gradient(135deg, rgba(249, 253, 255, .95), rgba(232, 241, 246, .9)); box-shadow: 0 27px 66px rgba(45, 66, 100, .13); }
html[data-theme="light"] .story-film__copy h3 { color: #14243C; }
html[data-theme="light"] .story-film__copy p { color: #53647C; }
html[data-theme="light"] .story-film__meta { border-color: rgba(44, 91, 153, .13); }
html[data-theme="light"] .story-film__meta span { color: #435C7A; }
html[data-theme="light"] .story-film__meta b { color: #6E7E93; }

.hero__video-control {
  position: absolute; z-index: 4; left: max(var(--page-gutter, 18px), calc((100% - var(--content-max, 1840px)) / 2)); bottom: 26px;
  min-height: 38px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px;
  border: 1px solid rgba(157, 189, 246, .22); border-radius: 999px; color: #E7F1FF;
  background: rgba(5, 14, 30, .52); box-shadow: 0 12px 28px rgba(0,0,0,.18); backdrop-filter: blur(12px);
  font: 750 9px/1 var(--font-display); letter-spacing: .08em; text-transform: uppercase;
  transition: border-color var(--t-fast), background var(--t-fast), transform var(--t-fast);
}
.hero__video-control:hover { transform: translateY(-2px); border-color: rgba(170, 192, 225, .52); background: rgba(11, 30, 59, .7); }
.hero__video-control svg { width: 15px; height: 15px; fill: currentColor; }
.hero__video-control-pause { display: none; }
.hero__video-control.is-playing .hero__video-control-play { display: none; }
.hero__video-control.is-playing .hero__video-control-pause { display: block; }
.hero__video-control.is-playing span { font-size: 0; }
.hero__video-control.is-playing span::after { content: 'LIVE'; font-size: 9px; }
.hero__media.is-static + .hero__video-control { display: none; }
.team-slide .founder-card__quote > div {
  position: relative; isolation: isolate; overflow: hidden; padding: 16px 18px; border: 1px solid rgba(90, 158, 255, .28);
  border-radius: 18px; background: linear-gradient(135deg, rgba(29, 64, 132, .23), rgba(8, 18, 36, .38));
  box-shadow: inset 0 1px rgba(255,255,255,.05), 0 0 24px rgba(60, 96, 168, .09);
}
.team-slide .founder-card__quote > div::before {
  content: ''; position: absolute; z-index: -1; inset: -1px; border-radius: inherit; padding: 1px; pointer-events: none;
  background: linear-gradient(110deg, transparent 9%, rgba(60, 96, 168,.78) 35%, rgba(170, 192, 225,.95) 50%, rgba(96,165,250,.72) 65%, transparent 91%) border-box;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask-composite: exclude; animation: team-role-led 5s ease-in-out infinite alternate;
}
.team-slide .founder-card__quote strong { color: #F4F8FF; font: 700 18px/1.2 var(--font-display); }
.team-slide .founder-card__quote small { color: #AAC0E1; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
html[data-theme="light"] .team-slide .founder-card__quote > div { border-color: rgba(30, 65, 147, .22); background: rgba(246, 250, 252, .68); box-shadow: 0 0 22px rgba(30, 65, 147, .08); }
html[data-theme="light"] .team-slide .founder-card__quote strong { color: #152248; }
html[data-theme="light"] .team-slide .founder-card__quote small { color: #245BBE; }
html[data-theme="light"] .team-carousel__controls { border-color: rgba(30, 65, 147, .16); background: rgba(249, 250, 247, .82); box-shadow: 0 15px 38px rgba(47, 64, 101, .13); }
html[data-theme="light"] .team-carousel__arrow { color: #F6FAFF; }
@keyframes team-card-enter { from { opacity: 0; transform: translateY(8px) scale(.992); } to { opacity: 1; transform: none; } }
@keyframes team-role-led { from { opacity: .38; transform: translateX(-18%); } to { opacity: .92; transform: translateX(18%); } }

/* ═══════════ SERVICES ═══════════ */
.services__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.service-card {
  padding: 32px 28px; border-radius: var(--r-lg);
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.service-card:hover { transform: translateY(-6px) scale(1.01); box-shadow: var(--glass-shadow-lg); }
.service-card--hl { outline: 2px solid rgba(30, 65, 147, 0.45); outline-offset: -2px; }
.service-card--hl::before {
  content: 'HOT'; position: absolute; top: 18px; right: 18px;
  font-size: 10px; font-weight: 800; letter-spacing: 0.1em;
  color: #fff; background: linear-gradient(120deg, var(--down), var(--amber));
  padding: 5px 10px; border-radius: 999px; z-index: 1;
}
.service-card__icon {
  width: 56px; height: 56px; border-radius: 17px;
  display: grid; place-items: center; color: var(--blue);
  background: linear-gradient(135deg, var(--blue-soft), rgba(255, 255, 255, 0.7));
  box-shadow: inset 0 0 0 1px rgba(30, 65, 147, 0.15);
  position: relative;
  transition: transform var(--t-med), background var(--t-med), color var(--t-med);
}
.service-card:hover .service-card__icon {
  transform: translateY(-4px) rotate(-6deg);
  background: linear-gradient(135deg, var(--blue), #2E55A8);
  color: #fff;
}
.service-card__icon svg { width: 28px; height: 28px; }
.service-card h3 { font-size: 19.5px; position: relative; }
.service-card p { color: var(--ink-2); font-size: 14.5px; flex: 1; position: relative; }

/* ═══════════ EDUCATION ═══════════ */
.education__card {
  border-radius: var(--r-xl); padding: clamp(32px, 5vw, 64px);
  display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 48px; align-items: center;
  position: relative; overflow: hidden;
}
.education__content { position: relative; display: flex; flex-direction: column; align-items: flex-start; }
.education__content h2 { font-size: clamp(26px, 3vw, 38px); margin: 16px 0 14px; }
.education__content > p { color: var(--ink-2); margin-bottom: 22px; max-width: 540px; }
.education__perks { display: flex; flex-direction: column; gap: 12px; margin-bottom: 30px; }
.education__perks li { display: flex; gap: 12px; align-items: center; font-weight: 600; font-size: 15px; }
.perk-ic {
  width: 26px; height: 26px; border-radius: 9px; flex: none;
  display: grid; place-items: center;
  background: var(--up-soft); color: var(--up); font-weight: 800; font-size: 13px;
}
.education__visual { position: relative; height: 410px; min-width: 0; perspective: 1000px; }
.edu-orb {
  position: absolute; inset: 7% 2%;
  background: radial-gradient(circle at 35% 30%, rgba(170, 192, 225, .3), rgba(170, 192, 225, .12) 55%, transparent 72%);
  border-radius: 50%;
  filter: blur(10px);
  animation: orb-breathe 6s ease-in-out infinite;
}
@keyframes orb-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }
.edu-study-panel {
  position: absolute; inset: 22px 14px 18px 8px; padding: 19px; border: 1px solid rgba(123, 158, 231, .2);
  border-radius: 30px; background: linear-gradient(150deg, rgba(16, 29, 51, .92), rgba(9, 19, 45, .96));
  color: #F3F7FF; box-shadow: 0 30px 75px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .08);
  transform: rotateY(-7deg) rotateX(2deg); transform-style: preserve-3d;
}
.edu-study-panel::before { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(115deg, rgba(255,255,255,.09), transparent 32%); }
.edu-study-panel__head { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 11px; padding-bottom: 15px; border-bottom: 1px solid rgba(155, 180, 230, .13); }
.edu-study-panel__head > div { display: grid; gap: 2px; }
.edu-study-panel__head small, .edu-progress-copy small { color: #91A2BD; font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.edu-study-panel__head strong { font-size: 14px; }
.edu-study-panel__cap { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; color: #081C4E; background: linear-gradient(135deg, #BFD4ED, #7E9CCB); box-shadow: 0 10px 24px rgba(170, 192, 225, .18); }
.edu-study-panel__cap svg, .edu-path-card svg, .edu-float-icon svg { width: 23px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.edu-study-panel__streak { padding: 6px 9px; border-radius: 999px; color: #C6D8EE; background: rgba(170, 192, 225, .08); border: 1px solid rgba(170, 192, 225, .2); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.edu-study-panel__body { display: grid; grid-template-columns: 74px 1fr; align-items: center; gap: 17px; padding: 17px 4px 15px; }
.edu-progress { width: 70px; aspect-ratio: 1; padding: 6px; border-radius: 50%; background: conic-gradient(#AAC0E1 0 68%, rgba(255,255,255,.07) 68%); box-shadow: 0 0 30px rgba(170, 192, 225, .1); }
.edu-progress > span { width: 100%; height: 100%; display: grid; place-content: center; grid-auto-flow: column; align-items: baseline; border-radius: 50%; background: #0C1729; }
.edu-progress strong { font-size: 20px; line-height: 1; }.edu-progress small { color: #A6B3C8; font-size: 9px; }
.edu-progress-copy { display: grid; gap: 6px; }.edu-progress-copy strong { font-size: 14px; }.edu-progress-copy > span { height: 5px; margin-top: 3px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.07); }.edu-progress-copy i { display: block; width: var(--w); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #AAC0E1, #8FB0DC); animation: edu-progress-in 1.2s var(--ease) both; }
@keyframes edu-progress-in { from { width: 0; } }
.edu-path { display: grid; gap: 8px; }
.edu-path-card { display: grid; grid-template-columns: 36px 1fr 24px; align-items: center; gap: 10px; min-height: 56px; padding: 9px 11px; border: 1px solid rgba(153, 178, 225, .11); border-radius: 16px; background: rgba(255,255,255,.035); }
.edu-path-card > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: #9BAAC2; background: rgba(255,255,255,.05); }.edu-path-card svg { width: 18px; }.edu-path-card > div { display: grid; gap: 1px; }.edu-path-card small { color: #7788A4; font: 700 8px/1 var(--font-mono, monospace); }.edu-path-card strong { font-size: 11.5px; }.edu-path-card > b { color: #7C8CA6; font-size: 10px; text-align: center; }
.edu-path-card.is-done > span, .edu-path-card.is-done > b { color: #AAC0E1; }.edu-path-card.is-active { border-color: rgba(103, 148, 255, .35); background: linear-gradient(90deg, rgba(64, 105, 216, .17), rgba(255,255,255,.035)); box-shadow: 0 10px 28px rgba(11, 32, 77, .2); }.edu-path-card.is-active > span { color: #8DB0FF; background: rgba(170, 192, 225, .12); }.edu-path-card.is-active > b { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #0A1530; background: #AAC0E1; }
.edu-float-icon { position: absolute; z-index: 2; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 17px; color: #DCE7FF; background: rgba(28, 48, 82, .92); border: 1px solid rgba(160, 183, 224, .25); box-shadow: 0 17px 40px rgba(0,0,0,.22); animation: float-chip 5.8s ease-in-out infinite; }.edu-float-icon--book { top: 0; right: -4px; }.edu-float-icon--idea { bottom: 0; left: -12px; color: #081C4E; background: #AAC0E1; animation-delay: -2.1s; }

/* ═══════════ ANALYTICS ═══════════ */
.an-filters { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 34px; }
.an-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 48px; }
.an-card {
  padding: 28px 26px; border-radius: var(--r-lg);
  display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
  position: relative; overflow: hidden;
  transition: transform var(--t-fast), box-shadow var(--t-fast), opacity 0.4s var(--ease);
}
.an-card:hover { transform: translateY(-5px); box-shadow: var(--glass-shadow-lg); }
.an-card__meta { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; color: var(--ink-3); }
.an-card__cat {
  padding: 4px 12px; border-radius: 999px; font-size: 11px; font-weight: 800;
  letter-spacing: 0.05em; text-transform: uppercase;
  background: var(--blue-soft); color: var(--blue);
}
.an-card__icon { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(135deg, var(--blue-soft), #fff); color: var(--blue); }
.an-card__icon svg { width: 23px; height: 23px; }
.an-card h4 { font-size: 17.5px; }
.an-card p { color: var(--ink-2); font-size: 14px; flex: 1; }
.an-card.hidden-cat { display: none; }

/* TOP-10 */
.top10 { border-radius: var(--r-xl); padding: clamp(26px, 4vw, 46px); position: relative; overflow: hidden; }
.top10__head { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 28px; }
.top10__head h3 { font-size: clamp(19px, 2.2vw, 24px); }
.top10__toggle { display: flex; gap: 4px; background: rgba(30, 65, 147, 0.08); padding: 4px; border-radius: 999px; }
.top10__toggle button { padding: 8px 20px; border-radius: 999px; font-weight: 700; font-size: 13.5px; color: var(--ink-2); transition: all var(--t-fast); }
.top10__toggle button.active { background: #fff; color: var(--blue); box-shadow: 0 3px 10px rgba(14, 47, 118, 0.12); }
.top10__chart { display: grid; gap: 26px; }
.t10-visual {
  position: relative; height: 286px; padding: 22px 12px 34px 44px; overflow-x: auto; overflow-y: hidden;
  scrollbar-width: thin; scrollbar-color: rgba(111,151,235,.32) transparent;
  border: 1px solid rgba(111, 151, 235, .14); border-radius: 24px;
  background:
    linear-gradient(rgba(116, 152, 224, .09) 1px, transparent 1px) 0 22px / 100% 52px,
    radial-gradient(circle at 76% 18%, rgba(170, 192, 225, .08), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.045), rgba(80,113,181,.02));
}
.t10-visual::after { content: ''; position: absolute; left: 43px; right: 12px; bottom: 33px; height: 1px; background: rgba(137, 166, 222, .22); }
.t10-visual__scale { position: absolute; inset: 13px auto 31px 10px; display: flex; flex-direction: column; justify-content: space-between; color: var(--ink-3); font: 700 8px/1 var(--font-mono, monospace); }
.t10-columns { height: 100%; min-width: 610px; display: grid; grid-template-columns: repeat(10, minmax(42px,1fr)); align-items: end; gap: clamp(7px, 1vw, 14px); }
.t10-column { height: 100%; display: grid; grid-template-rows: 18px minmax(0,1fr) 18px 16px; align-items: end; justify-items: center; color: var(--ink); }
.t10-column__value { align-self: end; margin-bottom: 4px; color: var(--ink-2); font: 750 8px/1 var(--font-mono, monospace); white-space: nowrap; }
.t10-column__bar { width: min(30px, 76%); height: 100%; display: flex; align-items: flex-end; border-radius: 10px 10px 3px 3px; background: rgba(113, 145, 210, .05); overflow: hidden; }
.t10-column__bar i { width: 100%; height: var(--h); border-radius: inherit; background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 88%, white), var(--brand)); box-shadow: 0 0 18px color-mix(in srgb, var(--brand) 35%, transparent); transform-origin: bottom; animation: t10-rise .9s var(--ease) var(--delay) both; transition: height 1.2s var(--ease); }
@keyframes t10-rise { from { transform: scaleY(0); opacity: .25; } }
.t10-column strong { align-self: end; font: 800 9px/1 var(--font-mono, monospace); letter-spacing: -.02em; }.t10-column small { align-self: end; color: var(--up); font-size: 8px; font-weight: 800; }.t10-column.is-down small { color: var(--down); }
.t10-table { display: grid; gap: 11px; }
.t10-row { display: grid; grid-template-columns: 30px 200px 1fr 92px; align-items: center; gap: 14px; }
.t10-row .rank { font-family: var(--font-display); font-weight: 700; color: var(--ink-3); font-size: 14px; }
.t10-row .who { display: flex; flex-direction: column; line-height: 1.25; }
.t10-row .who b { font-size: 14.5px; }
.t10-row .who small { color: var(--ink-3); font-size: 11.5px; font-weight: 700; }
.t10-row .bar-wrap { height: 22px; background: rgba(30, 65, 147, 0.07); border-radius: 6px; overflow: hidden; position: relative; }
.t10-row .bar {
  height: 100%; width: 0;
  background: linear-gradient(90deg, color-mix(in srgb, var(--brand) 68%, var(--blue-deep)), var(--brand));
  border-radius: 0 6px 6px 0;
  transition: width 1.1s var(--ease);
  position: relative;
}
.t10-row .bar::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(110deg, transparent 40%, rgba(255,255,255,0.35) 50%, transparent 60%);
  animation: bar-shine 3.2s var(--ease) infinite;
}
@keyframes bar-shine { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(100%); } }
.t10-row .cap-val { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-size: 11.5px; font-weight: 800; color: var(--blue-deep); }
.t10-row .delta { font-weight: 800; font-size: 13.5px; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.top10__note { display: block; margin-top: 22px; color: var(--ink-3); font-size: 12px; }

/* ═══════════ NEWS ═══════════ */
.news__tabs { display: flex; gap: 10px; justify-content: center; margin-bottom: 34px; }
.news__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.news-card {
  padding: 28px 26px; border-radius: var(--r-lg);
  display: flex; flex-direction: column; gap: 11px;
  position: relative; overflow: hidden;
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.news-card:hover { transform: translateY(-5px); box-shadow: var(--glass-shadow-lg); }
.news-card__meta { display: flex; gap: 10px; align-items: center; font-size: 12px; font-weight: 700; color: var(--ink-3); }
.news-card__src { padding: 4px 12px; border-radius: 999px; background: var(--up-soft); color: var(--up); font-size: 11px; font-weight: 800; }
.news-card h4 { font-size: 17.5px; }
.news-card p { color: var(--ink-2); font-size: 14px; }

/* ═══════════ REVIEWS ═══════════ */
.reviews__carousel { display: flex; align-items: center; gap: 18px; }
.reviews__viewport { overflow: hidden; flex: 1; border-radius: var(--r-lg); }
.reviews__track { display: flex; transition: transform 0.65s var(--ease); }
.review-card {
  flex: 0 0 calc((100% - 44px) / 3);
  margin-right: 22px;
  padding: 32px 28px; border-radius: var(--r-lg);
  display: flex; flex-direction: column; gap: 16px;
  position: relative; overflow: hidden;
}
.review-card__stars { color: var(--amber); font-size: 15px; letter-spacing: 3px; }
.review-card p { color: var(--ink-2); font-size: 14.5px; font-style: italic; flex: 1; }
.review-card footer { display: flex; align-items: center; gap: 13px; }
.review-card .ava {
  width: 46px; height: 46px; border-radius: 50%; flex: none;
  display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 700; color: #fff; font-size: 16px;
  background: linear-gradient(135deg, var(--blue), var(--up));
}
.review-card .who b { display: block; font-size: 14.5px; }
.review-card .who small { color: var(--ink-3); font-size: 12px; font-weight: 600; }
.car-btn {
  width: 48px; height: 48px; border-radius: 50%; flex: none;
  display: grid; place-items: center; color: var(--blue);
  transition: all var(--t-fast);
}
.car-btn:hover { background: var(--blue); color: #fff; transform: scale(1.08); }
.reviews__dots { display: flex; gap: 2px; justify-content: center; margin-top: 14px; }
/* прозрачная рамка расширяет зону нажатия до ~35px, видимая точка остаётся маленькой */
.reviews__dots button {
  width: 9px; height: 9px; box-sizing: content-box;
  border: 13px solid transparent; background-clip: padding-box;
  border-radius: 999px; background-color: rgba(30, 65, 147, 0.3);
  transition: all var(--t-fast);
}
.reviews__dots button.active { width: 28px; background-color: var(--blue); }

/* ═══════════ GALLERY ═══════════ */
.gallery__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.gallery-item {
  aspect-ratio: 4 / 3; border-radius: var(--r-lg); overflow: hidden;
  position: relative; cursor: pointer; border: 1px solid var(--glass-brd);
  box-shadow: var(--glass-shadow);
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.gallery-item:hover { transform: perspective(900px) rotateX(3.5deg) rotateY(-2deg) translateY(-8px) scale(1.03); box-shadow: var(--glass-shadow-lg); }
.gallery-item svg { width: 100%; height: 100%; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-item figcaption {
  position: absolute; inset: auto 0 0 0; padding: 40px 18px 15px;
  background: linear-gradient(to top, rgba(16, 31, 68, 0.75), transparent);
  color: #fff; font-weight: 700; font-size: 14.5px;
  opacity: 0; transform: translateY(8px);
  transition: all var(--t-fast);
}
.gallery-item:hover figcaption { opacity: 1; transform: translateY(0); }

/* hidden atributi har doim g'olib — author display qoidalari uni yengmasin */
[hidden] { display: none !important; }

/* формы */
form { display: flex; flex-direction: column; gap: 16px; position: relative; }
form label { display: flex; flex-direction: column; gap: 7px; font-size: 13.5px; font-weight: 700; color: var(--ink-2); }
form input, form textarea {
  font: inherit; color: var(--ink);
  padding: 13px 16px;
  border-radius: 13px;
  border: 1.5px solid rgba(30, 65, 147, 0.15);
  background: rgba(255, 255, 255, 0.75);
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
  width: 100%;
}
form input:focus, form textarea:focus {
  outline: none; border-color: var(--blue);
  box-shadow: 0 0 0 4px rgba(30, 65, 147, 0.13);
}
form input.invalid, form textarea.invalid { border-color: var(--down); box-shadow: 0 0 0 4px rgba(224, 45, 60, 0.1); }
form textarea { resize: vertical; min-height: 90px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-note { font-size: 12px; color: var(--ink-3); font-weight: 600; }
/* ═══════════ DOCUMENTS ═══════════ */
.docs__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.docs__grid--secondary { margin-top: 28px; }
.doc-ribbon { margin-top: 4px; }
.doc-ribbon[hidden] { display: none; }
.doc-ribbon__meta {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  margin: 0 56px 14px; color: var(--ink-3); font-size: 13px; font-weight: 650;
}
.doc-ribbon__meta p { max-width: 680px; }
#doc-ribbon-status {
  flex: none; min-width: 52px; padding: 5px 10px; border-radius: 999px;
  text-align: center; color: var(--blue); background: var(--blue-soft);
  font-family: var(--font-display); font-size: 12px;
}
.doc-ribbon__rail { display: grid; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 10px; }
.doc-ribbon__viewport {
  overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none;
  cursor: grab; touch-action: pan-y pinch-zoom; padding: 8px 2px 18px;
  mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
}
.doc-ribbon__viewport::-webkit-scrollbar { display: none; }
.doc-ribbon__viewport.is-dragging { cursor: grabbing; user-select: none; }
.doc-ribbon__track { display: flex; align-items: stretch; gap: 18px; width: max-content; padding-inline: 22px; }
.doc-ribbon-card {
  flex: 0 0 clamp(215px, 20vw, 270px); padding: 12px; border-radius: 20px;
  text-align: left; overflow: hidden; position: relative;
  transition: transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);
}
.doc-ribbon-card:hover, .doc-ribbon-card:focus-visible {
  transform: translateY(-7px); border-color: rgba(170, 192, 225,.42); box-shadow: var(--glass-shadow-lg);
}
.doc-ribbon-card:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.doc-ribbon-card__paper {
  display: block; aspect-ratio: 445.92 / 630.96; border-radius: 12px; overflow: hidden;
  background: #fff; box-shadow: 0 14px 35px rgba(2,15,45,.16);
}
.doc-ribbon-card__paper img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.doc-ribbon-card__info { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; padding: 13px 4px 3px; }
.doc-ribbon-card__info strong { font-size: 14px; line-height: 1.25; color: var(--ink); }
.doc-ribbon-card__info small { flex: none; color: var(--ink-3); font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em; }
.doc-ribbon__prev, .doc-ribbon__next { position: static; width: 42px; height: 42px; z-index: 2; }
.doc-card {
  padding: 30px 24px; border-radius: var(--r-lg); text-align: left;
  display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
  position: relative; overflow: hidden;
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.doc-card:hover { transform: translateY(-5px); box-shadow: var(--glass-shadow-lg); }
.doc-card__icon {
  width: 52px; height: 52px; border-radius: 15px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--blue-soft), #fff); color: var(--blue);
}
.doc-card__icon svg { width: 26px; height: 26px; }
.doc-card h4 { font-size: 16.5px; }
.doc-card p { color: var(--ink-2); font-size: 13px; flex: 1; }
.doc-card .link-arrow { font-size: 14px; }

/* ═══════════ CONTACTS ═══════════ */
.contacts__grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 26px; align-items: start; }
.contacts__info { display: grid; grid-template-columns: 1fr; gap: 16px; }
.contact-channels { display: grid; gap: 12px; }
.contact-channel {
  min-height: 84px; padding: 14px 16px; border-radius: 22px;
  display: grid; grid-template-columns: 52px minmax(0,1fr) 32px; align-items: center; gap: 14px;
  position: relative; overflow: hidden;
  transition: transform var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);
}
.contact-channel::before {
  content: ''; position: absolute; inset: 0; opacity: .09; pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, currentColor 130%);
}
.contact-channel:hover { transform: translateX(6px); border-color: color-mix(in srgb, currentColor 38%, transparent); box-shadow: var(--glass-shadow-lg); }
.contact-channel__icon {
  width: 52px; height: 52px; border-radius: 17px; display: grid; place-items: center;
  color: inherit; background: color-mix(in srgb, currentColor 13%, transparent);
  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);
}
.contact-channel__icon svg { width: 25px; height: 25px; }
.contact-channel__body { display: flex; flex-direction: column; gap: 4px; }
.contact-channel__body strong { color: var(--ink); font-family: var(--font-display); font-size: 16px; }
.contact-channel__body small { color: var(--ink-2); font-size: 12.5px; font-weight: 650; }
.contact-channel__arrow {
  width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  background: color-mix(in srgb, currentColor 11%, transparent); font-weight: 900;
  transition: transform var(--t-fast);
}
.contact-channel:hover .contact-channel__arrow { transform: rotate(8deg) scale(1.08); }
.contact-channel--telegram { color: #43A8F5; }
.contact-channel--call { color: var(--lime); }
.contact-channel--email { color: #B8CCE8; }
.ct-card {
  display: flex; align-items: center; gap: 17px;
  padding: 22px 24px; border-radius: var(--r-lg);
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.ct-card:hover { transform: translateY(-3px); box-shadow: var(--glass-shadow-lg); }
.ct-card__icon {
  width: 52px; height: 52px; border-radius: 15px; flex: none;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--blue), #2E55A8); color: #fff;
  box-shadow: 0 8px 20px rgba(30, 65, 147, 0.3);
}
.ct-card__icon svg { width: 25px; height: 25px; }
.ct-card strong { display: block; font-size: 15.5px; font-family: var(--font-display); }
.ct-card span { color: var(--ink-2); font-size: 13.5px; font-weight: 600; }
.contacts__form { border-radius: var(--r-lg); padding: 32px 30px; position: relative; overflow: hidden; }
.contacts__form h3 { font-size: 21px; margin-bottom: 20px; position: relative; }

/* ═══════════ FOOTER ═══════════ */
.footer {
  margin-top: 40px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.85));
  border-top: 1px solid rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(18px);
  padding: 56px 0 0;
}
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 36px; padding-bottom: 42px; }
.footer__brand p { color: var(--ink-2); font-size: 14px; margin: 14px 0 18px; max-width: 300px; }
.footer__social { display: flex; gap: 10px; }
.footer__social a {
  width: 40px; height: 40px; border-radius: 12px;
  display: grid; place-items: center; color: var(--ink-2);
  background: rgba(30, 65, 147, 0.07);
  transition: all var(--t-fast);
}
.footer__social a:hover { background: var(--blue); color: #fff; transform: translateY(-3px); }
.footer__social svg { width: 19px; height: 19px; }
.footer__col { display: flex; flex-direction: column; gap: 11px; }
.footer__col strong { font-family: var(--font-display); font-size: 15px; margin-bottom: 5px; }
.footer__col a { color: var(--ink-2); font-size: 14px; font-weight: 600; transition: all var(--t-fast); width: fit-content; }
.footer__col a:hover { color: var(--blue); transform: translateX(4px); }
.footer__bottom {
  display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  padding: 20px 0 26px;
  border-top: 1px solid rgba(16, 31, 68, 0.08);
  color: var(--ink-3); font-size: 13px; font-weight: 600;
}

/* ═══════════ MODALS ═══════════ */
.modal { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 22px; }
.modal[hidden] { display: none; }
.modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(16, 31, 68, 0.45);
  backdrop-filter: blur(8px);
  animation: fade-in 0.3s var(--ease);
}
.modal__panel {
  position: relative; border-radius: var(--r-xl);
  width: min(680px, 100%);
  max-height: min(84vh, 900px);
  overflow-y: auto;
  padding: 40px 38px;
  animation: modal-in 0.45s var(--ease);
}
@keyframes modal-in { from { opacity: 0; transform: translateY(34px) scale(0.96); } to { opacity: 1; transform: none; } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
.modal__panel--photo { width: min(780px, 100%); }
/* Hujjat paneli — flex ustun: rasm maydoni egiluvchan (ichida skroll),
   sahifa/zoom tugmalari esa HAR DOIM panel ichida ko'rinib turadi. */
.modal__panel--document {
  width: min(940px, 100%);
  display: flex; flex-direction: column;
  overflow: hidden;
}
.modal__panel--document h3 { flex: 0 0 auto; }
.modal__panel--document .doc-viewer {
  flex: 1 1 auto; min-height: 0;
  display: flex; flex-direction: column;
  overflow-y: auto;
}
.modal__panel--cab { width: min(720px, 100%); }
.modal__close {
  position: absolute; top: 18px; right: 18px;
  width: 38px; height: 38px; border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(16, 31, 68, 0.06); font-size: 15px;
  transition: all var(--t-fast); z-index: 2;
}
.modal__close:hover { background: var(--down-soft); color: var(--down); transform: rotate(90deg); }
.modal__panel h3 { font-size: 22px; margin-bottom: 20px; padding-right: 40px; }
.doc-viewer {
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(30, 65, 147, 0.12);
  border-radius: var(--r-md);
  padding: 26px;
  white-space: pre-line;
  color: var(--ink-2); font-size: 14.5px; line-height: 1.75;
}
.doc-image-view { display: flex; flex-direction: column; gap: 14px; flex: 1 1 auto; min-height: 0; }
.doc-image-frame {
  display: grid; place-items: start center; min-height: 200px;
  flex: 1 1 auto;
  border-radius: 14px; overflow: auto; background: #E9EDF5; cursor: zoom-in;
  overscroll-behavior: contain; touch-action: pan-x pan-y pinch-zoom;
}
.doc-image-controls { flex: 0 0 auto; }
.doc-image-frame.is-zoomed { display: block; cursor: zoom-out; }
.doc-image-frame img { display: block; width: auto; max-width: 100%; max-height: 70vh; margin-inline: auto; object-fit: contain; user-select: none; }
.doc-image-frame.is-zoomed img { max-height: none; }
.doc-image-controls { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.doc-image-controls strong { min-width: 110px; text-align: center; color: var(--ink); font-size: 13px; }
.doc-image-controls [data-doc-zoom-status] { min-width: 56px; }
.doc-image-controls__divider { width: 1px; height: 24px; margin-inline: 2px; background: var(--glass-brd); }
.doc-image-controls .link-arrow { margin: 0 0 0 8px; }
#gallery-viewer { border-radius: var(--r-lg); overflow: hidden; }
#gallery-viewer svg { width: 100%; height: auto; }
#gallery-viewer img { width: 100%; max-height: 72vh; object-fit: contain; display: block; background: rgba(0,0,0,.2); }
#gallery-caption { margin-top: 14px; font-weight: 700; text-align: center; }

/* ═══════════ TOAST ═══════════ */
.toast {
  position: fixed; bottom: 28px; left: 50%;
  transform: translate(-50%, 140%);
  padding: 15px 26px; border-radius: 999px;
  font-weight: 700; font-size: 14.5px;
  z-index: 300;
  transition: transform 0.5s var(--ease);
  pointer-events: none;
}
.toast.show { transform: translate(-50%, 0); }
.toast.ok { color: var(--up); }
.toast.err { color: var(--down); }

/* ═══════════ НЕОН-LED ЭФФЕКТЫ ═══════════ */
@property --na { syntax: '<angle>'; initial-value: 0deg; inherits: false; }

/* бегущее неоновое кольцо по контуру карточек при наведении */
.service-card::after, .num-card::after, .about-card::after, .an-card::after,
.news-card::after, .doc-card::after, .ct-card::after, .review-card::after,
.uzmarket__card::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1.6px;
  background: conic-gradient(from var(--na),
    transparent 0deg, rgba(30, 65, 147, 0.9) 40deg,
    rgba(14, 159, 110, 0.9) 80deg, rgba(170, 192, 225, 0.85) 110deg, transparent 150deg);
  -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 0.35s;
  pointer-events: none; z-index: 2;
}
.service-card:hover::after, .num-card:hover::after, .about-card:hover::after,
.an-card:hover::after, .news-card:hover::after, .doc-card:hover::after,
.ct-card:hover::after, .review-card:hover::after, .uzmarket__card:hover::after {
  opacity: 1;
  animation: neon-ring 2.4s linear infinite;
}
@keyframes neon-ring { to { --na: 360deg; } }

/* пульс главных кнопок */
.btn--primary { animation: btn-neon 2.2s ease-in-out infinite; }
@keyframes btn-neon {
  0%, 100% { box-shadow: 0 10px 28px rgba(30, 65, 147, 0.35); }
  50% { box-shadow: 0 12px 34px rgba(30, 65, 147, 0.5), 0 0 26px rgba(14, 159, 110, 0.3); }
}

/* неоновая линия под лентой котировок */
.tape { position: relative; }
.tape::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--blue) 30%, #B8CCE8 70%, transparent);
  background-size: 200% 100%;
  animation: tape-neon 4s linear infinite;
}
@keyframes tape-neon { to { background-position: -200% 0; } }

/* мягкое дыхание бейджей секций */
.section-tag { animation: tag-glow 2.8s ease-in-out infinite; }
@keyframes tag-glow {
  0%, 100% { box-shadow: var(--glass-shadow); }
  50% { box-shadow: 0 8px 26px rgba(30, 65, 147, 0.28); }
}

/* ═══════════ МЕНЮ: ПИЛЮЛЯ + ПРОГРЕСС ═══════════ */
.nav { position: relative; }
.nav__pill {
  position: absolute; z-index: -1;
  border-radius: 11px;
  background: rgba(30, 65, 147, 0.09);
  box-shadow: inset 0 0 0 1px rgba(30, 65, 147, 0.14);
  opacity: 0;
  transition: left 0.35s var(--ease), top 0.35s var(--ease), width 0.35s var(--ease), height 0.35s var(--ease), opacity 0.25s;
  pointer-events: none;
}
.nav__pill { display: none; }
#scroll-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0;
  background: linear-gradient(90deg, var(--blue), #B8CCE8);
  border-radius: 0 3px 3px 0;
  box-shadow: 0 0 12px rgba(30, 65, 147, 0.55);
  z-index: 210;
  pointer-events: none;
}

/* ═══════════ REVEAL ═══════════ */
/* Yashirin holat faqat :not(.visible) da — .visible transform e'lon qilmaydi,
   shuning uchun kartalarning hover animatsiyalari bilan urishmaydi. */
.reveal { transition: opacity 0.9s var(--ease), transform 0.9s var(--ease); }
.reveal:not(.visible) { opacity: 0; transform: translateY(34px); }
.reveal.visible { opacity: 1; }

/* 3D tilt задаётся через JS transform; плавность: */
.tilt, .tilt-deep { transition: transform 0.3s var(--ease), box-shadow var(--t-fast); transform-style: preserve-3d; }

/* ═══════════ RESPONSIVE ═══════════ */
@media (max-width: 1460px) {
  .header__phone span { display: none; }
  .nav__link { padding: 9px 10px; font-size: 14.5px; }
  .header__inner { gap: 14px; }
}

@media (max-width: 1380px) {
  .btn--primary.btn--sm span { display: none; }
  .btn--primary.btn--sm { padding: 10px 12px; }
  .logo__text { font-size: 17px; }
}

@media (max-width: 1120px) {
  .nav { display: none; position: fixed; top: 0; right: 0; bottom: 0; width: min(340px, 88vw);
    background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(24px);
    flex-direction: column; align-items: stretch; gap: 4px;
    padding: 96px 26px 26px; margin: 0;
    box-shadow: -20px 0 60px rgba(16, 31, 68, 0.18);
    transform: translateX(100%); transition: transform var(--t-med);
    z-index: 90; overflow-y: auto;
  }
  .nav.open { display: flex; transform: translateX(0); }
  .nav__link { padding: 13px 14px; font-size: 16px; }
  .nav__dropdown { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: transparent; border: 0; backdrop-filter: none; padding-left: 14px; }
  .burger { display: flex; z-index: 95; }
  .header__phone span { display: none; }
  .header__phone { padding: 9px; }
  .btn--ghost.btn--sm span { display: none; }
  .btn--ghost.btn--sm { padding: 10px 12px; }
  .numbers__grid { grid-template-columns: repeat(2, 1fr); }
  .review-card { flex: 0 0 calc((100% - 22px) / 2); }
}

@media (max-width: 900px) {
  /* Mobil GPU'da katta blur qatlamlari qotishning asosiy sabablaridan biri. */
  .glass, .glass-heavy { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .hero__grid { grid-template-columns: 1fr; gap: 56px; text-align: center; }
  .hero__content { display: flex; flex-direction: column; align-items: center; }
  .hero__subtitle { margin-inline: auto; }
  .hero__cta, .hero__stores { justify-content: center; }
  .phone__float--1 { right: -4%; }
  .phone__float--2 { left: -6%; }
  .about__grid, .services__grid, .an-grid, .news__grid, .gallery__grid { grid-template-columns: repeat(2, 1fr); }
  .docs__grid { grid-template-columns: repeat(2, 1fr); }
  .contacts__grid { grid-template-columns: 1fr; }
  .education__card { grid-template-columns: 1fr; }
  .education__visual { height: 410px; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .uzmarket__card { flex-wrap: wrap; }
  .uzmarket__stats { width: 100%; justify-content: space-between; }
  .uzmarket__stats > div { align-items: flex-start; }
  .t10-row { grid-template-columns: 24px 132px 1fr 82px; gap: 10px; }
}

@media (max-width: 620px) {
  .container { width: calc(100% - 32px); }
  .about__grid, .services__grid, .an-grid, .news__grid, .gallery__grid, .docs__grid,
  .numbers__grid, .form-row { grid-template-columns: 1fr; }
  .review-card { flex: 0 0 100%; margin-right: 0; }
  .reviews__track { gap: 0; }
  .car-btn { display: none; }
  .logo__text { font-size: 15px; }
  .header__actions { gap: 7px; }
  .btn--primary.btn--sm span { display: none; }
  .btn--primary.btn--sm { padding: 10px 12px; }
  .header__contact { display: inline-flex; padding: 10px 12px; }
  .hero { padding-top: 116px; }
  .hero__cta .btn { width: 100%; }
  .t10-row { grid-template-columns: 20px 1fr 78px; }
  .t10-row .bar-wrap { display: none; }
  .modal__panel { padding: 30px 22px; }
  .phone__float--1, .phone__float--2 { display: none; }
  .lang__btn #lang-current-code { display: none; }
}

/* ═══════════ REDUCED MOTION ═══════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  html { scroll-behavior: auto; }
  .reveal, .reveal:not(.visible) { opacity: 1; transform: none; }
  #neural-canvas, #cursor-glow, .aurora { display: none; }
}

/* ═══════════════════════════════════════════════════════════
   MIDNIGHT INSTITUTIONAL — premium neon fintech layer
   ═══════════════════════════════════════════════════════════ */
:root {
  --blue: #AAC0E1;
  --blue-soft: rgba(170, 192, 225, 0.14);
  --blue-deep: #A9C0FF;
  --up: #9FE870;
  --up-soft: rgba(159, 232, 112, 0.13);
  --down: #FF667D;
  --down-soft: rgba(255, 102, 125, 0.13);
  --amber: #FFC857;
  --lime: #AAC0E1;
  --led-accent: #7FA6FF;

  --ink: #F5F8FF;
  --ink-2: #B7C2D9;
  --ink-3: #8F9BB5;
  --bg: #060D24;
  --bg-2: #090D19;
  --surface: #0E1423;

  --glass-bg: rgba(12, 18, 33, 0.66);
  --glass-bg-heavy: rgba(10, 15, 28, 0.9);
  --glass-brd: rgba(151, 177, 234, 0.16);
  --glass-shadow: 0 18px 50px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --glass-shadow-lg: 0 32px 100px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.06);

  --r-sm: 12px;
  --r-md: 18px;
  --r-lg: 28px;
  --r-xl: 38px;
  --font-display: 'Sora', var(--font);
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --spring: cubic-bezier(0.2, 1.35, 0.35, 1);
  --t-fast: 0.24s var(--ease);
  --t-med: 0.42s var(--ease);
  --t-slow: 0.82s var(--ease);
}

html { color-scheme: dark; }
body {
  background:
    radial-gradient(1200px 780px at 86% -12%, rgba(68, 109, 255, 0.17), transparent 58%),
    radial-gradient(900px 620px at -8% 38%, rgba(67, 232, 183, 0.075), transparent 62%),
    linear-gradient(180deg, #060D24 0%, #070B15 46%, #050812 100%);
  background-attachment: fixed;
  letter-spacing: -0.006em;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.22;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

::selection { color: #06101A; background: var(--lime); }
::-webkit-scrollbar-track { background: #060D24; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--blue), var(--lime)); border: 3px solid #060D24; }

.skip-link {
  position: fixed;
  top: 10px;
  left: 12px;
  z-index: 1000;
  padding: 12px 18px;
  border-radius: 12px;
  color: #071019;
  background: var(--lime);
  font-weight: 800;
  transform: translateY(-150%);
  transition: transform var(--t-fast);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--lime); outline-offset: 4px; }
button, a { touch-action: manipulation; }

.ambient-grid {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(124, 153, 220, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124, 153, 220, 0.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 84%);
}
.aurora {
  position: fixed;
  z-index: 0;
  width: min(48vw, 760px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(95px);
  pointer-events: none;
  opacity: 0.16;
  will-change: transform;
}
.aurora--one { top: -24%; right: -10%; background: #356DFF; animation: aurora-drift 10s ease-in-out infinite alternate; }
.aurora--two { bottom: -30%; left: -16%; background: #7E9CCB; animation: aurora-drift 13s ease-in-out -5s infinite alternate-reverse; }
@keyframes aurora-drift { to { transform: translate3d(-10%, 13%, 0) scale(1.12); } }

#neural-canvas { opacity: 0.62; }
#cursor-glow {
  width: 620px;
  height: 620px;
  opacity: 0.72;
  background: radial-gradient(circle, rgba(91, 139, 255, 0.13) 0%, rgba(132, 255, 176, 0.045) 38%, transparent 68%);
  mix-blend-mode: screen;
}

.glass, .glass-heavy {
  border-color: var(--glass-brd);
  background-color: var(--glass-bg);
}
.glass-dark { background: linear-gradient(145deg, rgba(15, 24, 45, 0.96), rgba(32, 63, 132, 0.84)); }

.section { padding-block: clamp(80px, 11vh, 138px); }
.section::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: min(92%, 1200px);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(123, 156, 229, 0.18), transparent);
}
.section-head { margin-bottom: clamp(42px, 7vh, 68px); }
.section-head h2 { color: var(--ink); font-size: clamp(31px, 4vw, 52px); letter-spacing: -0.048em; }
.section-head h2::after { background: linear-gradient(90deg, transparent, var(--blue), var(--lime), transparent); box-shadow: 0 0 18px rgba(170, 192, 225, .65); }
.section-head p { color: var(--ink-2); max-width: 660px; margin-inline: auto; }
.section-tag {
  color: #BCCFE9;
  background: rgba(170, 192, 225, 0.08);
  border-color: rgba(170, 192, 225, 0.28);
  box-shadow: inset 0 0 18px rgba(170, 192, 225, 0.03), 0 0 24px rgba(170, 192, 225, 0.06);
  letter-spacing: 0.17em;
}

.btn { min-height: 48px; isolation: isolate; }
.btn::before {
  content: '';
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.08), transparent 52%);
  pointer-events: none;
}
.btn--primary {
  color: #fff;
  background: linear-gradient(112deg, #16357F, #24499B 48%, #AAC0E1 108%);
  box-shadow: 0 0 0 1px rgba(170, 192, 225, 0.35), 0 14px 38px rgba(36, 73, 155, 0.32), 0 0 34px rgba(170, 192, 225, 0.18);
}
.btn--primary:hover { box-shadow: 0 0 0 1px rgba(127,166,255,.6), 0 20px 52px rgba(36, 73, 155,.42), 0 0 54px rgba(170, 192, 225,.3); }
.btn--ghost { color: var(--ink); background: rgba(11, 18, 34, 0.76); border-color: rgba(130, 160, 225, 0.22); }
.btn--ghost:hover { color: #fff; background: rgba(170, 192, 225, 0.13); border-color: rgba(116, 154, 255, 0.46); }
.btn:active { transform: scale(.97); }
.btn:disabled { cursor: wait; opacity: .52; transform: none; }
.link-arrow { color: #BCCFE9; }
.chip { min-height: 44px; border-color: rgba(150, 173, 219, .16); }
.chip:hover { color: var(--ink); border-color: rgba(170, 192, 225,.45); }
.chip.active { color: #fff; background: linear-gradient(120deg, #16357F, #AAC0E1); box-shadow: 0 8px 28px rgba(36, 73, 155, .3); }

.header { padding: 18px 0; }
.header::after {
  content: '';
  position: absolute;
  left: 5%;
  right: 5%;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(121, 157, 238, .15), transparent);
}
.header.scrolled {
  padding: 9px 0;
  background: rgba(5, 8, 17, 0.78);
  border-color: rgba(130, 158, 220, 0.12);
  box-shadow: 0 18px 70px rgba(0, 0, 0, 0.28);
}
.logo__mark { filter: drop-shadow(0 0 15px rgba(170, 192, 225, .35)); }
.logo__text { color: #16357F; letter-spacing: -0.02em; }
.logo__text em { color: #132349; }
.nav__link { color: #AAB6CD; font-size: 14px; }
.nav__link:hover, .nav__link.active { color: #fff; }
.nav__link::after { background: var(--lime); box-shadow: 0 0 10px var(--lime); }
.nav__pill { background: rgba(99, 138, 230, 0.09); border: 1px solid rgba(130, 163, 236, .13); }
.nav__dropdown, .lang__list { background: rgba(7, 12, 24, .94); border-color: rgba(125, 157, 226, .18); }
.nav__dropdown a:hover, .lang__list button:hover { color: #fff; background: rgba(170, 192, 225,.12); }
.header__phone { color: var(--ink-2); }
.header__phone:hover { color: var(--lime); }
.lang__btn { min-height: 44px; }
.burger { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.burger span { background: var(--ink); }

.hero {
  min-height: 100svh;
  padding-top: 150px;
  background:
    radial-gradient(ellipse at 76% 46%, rgba(59, 104, 255, .14), transparent 34%),
    linear-gradient(105deg, rgba(6, 13, 36,.2), transparent 60%);
}
.hero::before {
  content: '';
  position: absolute;
  width: min(52vw, 780px);
  aspect-ratio: 1;
  right: -9%;
  top: 4%;
  border-radius: 50%;
  border: 1px solid rgba(101, 143, 244, .13);
  box-shadow: inset 0 0 110px rgba(57, 97, 220, .08), 0 0 100px rgba(57,97,220,.04);
  animation: hero-halo 7s ease-in-out infinite;
}
@keyframes hero-halo { 50% { transform: scale(1.06) rotate(6deg); opacity: .72; } }
.hero__grid { gap: clamp(48px, 8vw, 120px); }
.hero__grid > * { min-width: 0; }
.hero__content { width: 100%; max-width: 740px; }
.pulse-dot { background: var(--blue); box-shadow: 0 0 0 5px rgba(170, 192, 225,.1), 0 0 16px var(--blue); }
.pulse-dot::after { border-color: var(--blue); }
.hero__title { color: #F7FAFF; font-size: clamp(44px, 5.7vw, 84px); line-height: .99; letter-spacing: -.072em; }
.grad-text {
  background: linear-gradient(100deg, #89A9FF 2%, #D9E4FF 47%, #B8CCE8 96%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 0 28px rgba(170, 192, 225, .14));
}
.hero__subtitle { max-width: 650px; color: #AEBAD2; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.72; }
.hero__stores { gap: 10px; }
.store-badge { background: rgba(11, 17, 31, .72); border-color: rgba(150, 173, 219,.16); color: var(--ink); }
.store-badge:hover { border-color: rgba(170, 192, 225,.36); box-shadow: 0 14px 44px rgba(0,0,0,.35), 0 0 24px rgba(170, 192, 225,.06); }
.store-badge small { color: var(--ink-3); }
.hero__scroll-hint span { border-color: rgba(198, 216, 255, .5); }
.hero__orbit { border-color: rgba(99, 142, 244, .16); box-shadow: 0 0 80px rgba(170, 192, 225,.1); }
.phone-wrap { filter: drop-shadow(0 42px 60px rgba(0,0,0,.55)); }
.phone { border-color: #26334B; box-shadow: 0 0 0 1px rgba(164,190,247,.15), 0 42px 100px rgba(0,0,0,.64), 0 0 85px rgba(59,104,255,.17); }
.phone__ground { background: radial-gradient(ellipse, rgba(170, 192, 225,.25), transparent 67%); }
.phone__float { color: #EAF0FF; background: rgba(10, 19, 44,.84); border-color: rgba(124,158,231,.2); }
.phone__float--niyat { color: var(--lime); }
.phone__sicons .si { fill: #0B2258; }
.phone .up { color: #157348; }
.phone .down { color: #C52F48; }

.tape { background: rgba(5, 9, 18, .88); border-color: rgba(120,151,217,.13); }
.tape__item .sym { color: #F1F5FF; }
.tape__item .price { color: #8592AB; }
.tape::after { background: linear-gradient(90deg, transparent, var(--blue), #B8CCE8, transparent); box-shadow: 0 0 16px rgba(170, 192, 225,.55); }

.uzmarket__card,
.num-card, .about-card, .service-card, .an-card, .news-card,
.review-card, .doc-card, .ct-card, .contacts__form,
.top10, .education__card {
  border-color: rgba(150, 173, 219, 0.15);
  background:
    radial-gradient(420px circle at var(--spot-x, 50%) var(--spot-y, 0%), rgba(170, 192, 225, .105), transparent 45%),
    linear-gradient(145deg, rgba(17, 25, 44, .86), rgba(8, 13, 25, .76));
  box-shadow: var(--glass-shadow);
}
.uzmarket__card:hover,
.num-card:hover, .about-card:hover, .service-card:hover, .an-card:hover,
.news-card:hover, .review-card:hover, .doc-card:hover, .ct-card:hover {
  border-color: rgba(147, 178, 247, .32);
  box-shadow: 0 26px 70px rgba(0,0,0,.44), 0 0 38px rgba(74,119,236,.09), inset 0 1px rgba(255,255,255,.06);
}
.service-card::after, .num-card::after, .about-card::after, .an-card::after,
.news-card::after, .doc-card::after, .ct-card::after, .review-card::after,
.uzmarket__card::after {
  background: conic-gradient(from var(--na), transparent 0 64%, var(--blue) 76%, var(--lime) 83%, transparent 91%);
  opacity: 0;
}
.service-card:hover::after, .num-card:hover::after, .about-card:hover::after,
.an-card:hover::after, .news-card:hover::after, .doc-card:hover::after,
.ct-card:hover::after, .review-card:hover::after, .uzmarket__card:hover::after { opacity: .88; }

.num-card__icon, .about-card__icon, .service-card__icon, .an-card__icon,
.doc-card__icon, .ct-card__icon {
  color: #A9C2FF;
  background: linear-gradient(145deg, rgba(170, 192, 225,.18), rgba(170, 192, 225,.045));
  border: 1px solid rgba(125,159,233,.17);
  box-shadow: inset 0 1px rgba(255,255,255,.06), 0 0 30px rgba(170, 192, 225,.08);
}
.num-card__value { color: #F7FAFF; text-shadow: 0 0 28px rgba(170, 192, 225,.2); }
.num-card > span, .about-card p, .service-card p, .an-card p, .news-card p,
.review-card p, .doc-card p, .ct-card span { color: var(--ink-2); }
.service-card--hl { outline-color: rgba(170, 192, 225,.38); }
.service-card--hl::before { color: #081018; background: var(--lime); box-shadow: 0 0 22px rgba(170, 192, 225,.22); }

.worldmap__wrap { background: linear-gradient(145deg, rgba(14,21,37,.78), rgba(7,12,23,.7)); border-color: rgba(127,159,225,.15); }
#map-container path { fill: #182238; stroke: #34425C; }
#map-container path.presence { fill: url(#presenceGrad); filter: drop-shadow(0 0 5px rgba(170, 192, 225,.42)); }
#map-container path.presence:hover { fill: var(--lime); filter: drop-shadow(0 0 8px rgba(170, 192, 225,.65)); }
.map-tooltip { color: var(--ink); background: rgba(6,11,22,.95); border-color: rgba(132,165,237,.23); }
.map-tooltip span { color: var(--lime); }

.edu-orb { background: radial-gradient(circle at 35% 30%, #8FB1FF, #355ED2 46%, #10182D 72%); box-shadow: 0 0 90px rgba(67,105,225,.28); }
.edu-card-mini { color: var(--ink); background: rgba(10, 19, 44,.8); border-color: rgba(133,165,236,.18); }
.edu-card-mini strong { color: #BCCFE9; }
.perk-ic { color: #fff; background: var(--blue); }

.top10__toggle { background: rgba(170, 192, 225,.09); }
.top10__toggle button { min-height: 44px; color: var(--ink-2); }
.top10__toggle button.active { color: #fff; background: linear-gradient(120deg, #16357F, #AAC0E1); box-shadow: 0 8px 28px rgba(36, 73, 155,.26); }
.t10-row .bar-wrap { background: rgba(170, 192, 225,.08); }
.t10-row .bar { background: linear-gradient(90deg, #456FE5, #7AA2FF 64%, var(--lime)); box-shadow: 0 0 16px rgba(170, 192, 225,.22); }
.t10-row .cap-val { color: #0A1530; }
.t10-row .who small, .t10-row .rank, .top10__note { color: var(--ink-3); }
.news-card__src { color: #BCCFE9; background: rgba(170, 192, 225,.1); }
.review-card .ava { color: #071018; background: linear-gradient(135deg, var(--blue), var(--lime)); }
.car-btn { min-width: 48px; min-height: 48px; color: var(--ink); }
.car-btn:hover { color: #fff; background: #24499B; }
.reviews__dots button { background-color: rgba(145,169,222,.3); }
.reviews__dots button.active { background-color: var(--blue); box-shadow: 0 0 12px rgba(170, 192, 225,.45); }

.gallery-item { border: 1px solid rgba(128,159,226,.16); box-shadow: var(--glass-shadow); }
.gallery-item::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 45%, rgba(170, 192, 225,.09)); pointer-events: none; }
.gallery-item figcaption { background: linear-gradient(transparent, rgba(3,7,14,.92)); color: #fff; }

form label > span { color: #DDE6F7; }
input, textarea {
  min-height: 50px;
  color: var(--ink);
  background: rgba(5, 12, 32, .7);
  border-color: rgba(129, 158, 222, .2);
}
textarea { min-height: 120px; }
input::placeholder, textarea::placeholder { color: #6F7C96; }
input:hover, textarea:hover { border-color: rgba(135,168,240,.4); }
input:focus, textarea:focus { border-color: var(--blue); background: rgba(10, 19, 44,.94); box-shadow: 0 0 0 4px rgba(170, 192, 225,.12), 0 0 28px rgba(170, 192, 225,.08); }
input.invalid, textarea.invalid { border-color: var(--down); box-shadow: 0 0 0 3px rgba(255,102,125,.1); }
.field-error { display: block; margin-top: 7px; color: #FF8C9E; font-size: 12px; font-weight: 700; }
.form-note { color: var(--ink-3); }

.footer { background: linear-gradient(180deg, rgba(7,11,21,.66), #04060D); border-color: rgba(128,157,220,.13); }
.footer__social a { min-width: 44px; min-height: 44px; color: var(--ink-2); background: rgba(170, 192, 225,.08); border: 1px solid rgba(126,157,226,.14); }
.footer__social a:hover { color: #fff; background: #24499B; }
.footer__col a { min-height: 32px; color: var(--ink-2); }
.footer__col a:hover { color: var(--lime); }
.footer__bottom { border-color: rgba(126,156,217,.12); color: var(--ink-3); }

.modal__backdrop { background: rgba(1, 3, 8, .76); backdrop-filter: blur(13px); }
.modal__panel { color: var(--ink); background: rgba(8,13,25,.96); border-color: rgba(139,170,239,.2); }
.modal__close { min-width: 44px; min-height: 44px; color: var(--ink-2); background: rgba(170, 192, 225,.08); }
.modal__close:hover { color: #fff; background: #24499B; }
.doc-viewer { color: var(--ink-2); background: rgba(3,8,17,.7); border: 1px solid rgba(126,156,219,.14); }
.toast { color: var(--ink); }
.toast.ok { border-color: rgba(159,232,112,.35); }
.toast.err { border-color: rgba(255,102,125,.42); }

#scroll-progress {
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, var(--blue), #B8CCE8);
  box-shadow: 0 0 14px var(--blue), 0 0 28px rgba(170, 192, 225,.35);
}
/* Avvalgi rotateX(9deg)+blur "premium reveal" olib tashlandi — perspective
   butun seksiya klik geometriyasini vizual holatdan ajratib yuborar edi. */

@media (max-width: 1120px) {
  .nav {
    background: rgba(6,10,20,.97);
    border-right: 1px solid rgba(127,157,220,.14);
    box-shadow: 30px 0 90px rgba(0,0,0,.48);
  }
  .nav__link { min-height: 48px; }
  .nav__dropdown { background: rgba(170, 192, 225,.06); }
}

@media (max-width: 900px) {
  .hero { min-height: auto; padding-top: 132px; }
  .hero__content { margin-inline: auto; }
  .hero__title { font-size: clamp(42px, 10vw, 68px); }
  .hero__subtitle { margin-inline: auto; }
  .hero__visual { margin-top: 18px; }
}

@media (max-width: 620px) {
  body { font-size: 16px; background-attachment: scroll; }
  .container { width: calc(100% - 32px); }
  .section { padding-block: 76px; }
  .header { padding: 10px 0; }
  .header__inner { gap: 10px; }
  /* прячем только ссылку поддержки: кнопка кабинета остаётся видимой (иконка) */
  .header__actions > .header__support { display: none; }
  #cabinet-btn { padding: 10px 12px; }
  #cabinet-btn span { display: none; }
  .hero { padding-top: 112px; }
  .hero::before { width: 90vw; right: -42%; top: 10%; }
  .hero__title { font-size: clamp(40px, 12vw, 56px); line-height: 1.02; }
  .hero__title .grad-text { display: inline; max-width: none; overflow-wrap: normal; word-break: normal; }
  .hero__subtitle { font-size: 16px; line-height: 1.65; }
  .hero__cta, .hero__stores { width: 100%; justify-content: center; }
  .hero__stores { padding-inline: 4px; }
  .store-badge { min-height: 48px; }
  .top10 { padding: 24px 18px; }
  .modal { padding: 12px; }
  .modal__panel { max-height: calc(100svh - 24px); }
  .aurora { opacity: .08; }
  #cursor-glow { display: none; }
}

/* ═══════════════════════════════════════════════════════════
   DUAL THEME + CONTINUOUS LED FRAMES + SECTION DEPTH
   ═══════════════════════════════════════════════════════════ */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.theme-toggle {
  position: relative;
  width: 58px;
  min-width: 58px;
  height: 44px;
  padding: 4px;
  border-radius: 999px;
  color: var(--ink-2);
  overflow: hidden;
  transition: transform var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);
}
.theme-toggle:hover { transform: translateY(-2px); border-color: rgba(170, 192, 225, .48); }
.theme-toggle:active { transform: scale(.96); }
.theme-toggle__track { position: relative; display: block; width: 100%; height: 100%; }
.theme-toggle svg {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 16px;
  height: 16px;
  transform: translateY(-50%);
  transition: color .32s var(--ease), opacity .32s var(--ease), transform .32s var(--spring);
}
.theme-toggle__sun { left: 6px; color: #D58B16; }
.theme-toggle__moon { right: 6px; color: #AFC4FF; }
.theme-toggle__thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  z-index: 1;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #F8F8F4;
  box-shadow: 0 4px 14px rgba(29, 57, 114, .22), inset 0 1px 0 rgba(255,255,255,.8);
  transition: transform .38s var(--spring), background .3s var(--ease), box-shadow .3s var(--ease);
}
html[data-theme="dark"] .theme-toggle__thumb {
  transform: translateX(20px);
  background: #17213A;
  box-shadow: 0 0 18px rgba(170, 192, 225,.3), inset 0 1px rgba(255,255,255,.08);
}
html[data-theme="light"] .theme-toggle__moon,
html[data-theme="dark"] .theme-toggle__sun { opacity: .38; transform: translateY(-50%) scale(.82); }

.theme-switching body,
.theme-switching .header,
.theme-switching .glass,
.theme-switching .glass-heavy,
.theme-switching .hero,
.theme-switching .tape,
.theme-switching .footer,
.theme-switching input,
.theme-switching textarea,
.theme-switching .modal__panel {
  transition: color .34s var(--ease), background-color .34s var(--ease), border-color .34s var(--ease), box-shadow .34s var(--ease) !important;
}

/* LED ramka — GPU-kompozitsiyalangan: gradient qo'zg'almas ::before'da,
   faqat transform:rotate aylanadi (repaint yo'q — scroll qotishi tuzatildi).
   --led-size ni JS diagonal bo'yicha px da beradi. */
.led-host { position: relative; isolation: isolate; }
.led-border {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: block;
  border-radius: inherit;
  padding: 2.2px;
  pointer-events: none;
  overflow: hidden;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: .92;
  filter: drop-shadow(0 0 9px color-mix(in srgb, var(--blue) 70%, transparent));
}
.led-border::before {
  content: '';
  position: absolute;
  left: 50%; top: 50%;
  width: var(--led-size, 220%);
  height: var(--led-size, 220%);
  background: conic-gradient(from 0deg,
    transparent 0 54%,
    color-mix(in srgb, var(--blue) 45%, transparent) 62%,
    var(--blue) 71%,
    var(--led-accent, var(--lime)) 79%,
    transparent 90% 100%);
  animation: led-rot var(--led-speed, 3.4s) linear infinite;
  animation-play-state: paused;
  will-change: transform;
}
.led-host:nth-child(2n) > .led-border::before { animation-direction: reverse; --led-speed: 5.4s; }
.led-host:nth-child(3n) > .led-border::before { --led-speed: 6.2s; }
.led-host.led-active > .led-border::before { animation-play-state: running; }
.led-host:hover > .led-border { opacity: 1; filter: drop-shadow(0 0 12px color-mix(in srgb, var(--blue) 85%, transparent)); }
@keyframes led-rot {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* The dedicated span replaces the older hover-only pseudo border. */
.service-card::after, .num-card::after, .about-card::after, .an-card::after,
.news-card::after, .doc-card::after, .ct-card::after, .review-card::after,
.uzmarket__card::after { opacity: 0 !important; animation: none !important; }

.depth-scene .section-head { transform: translateZ(34px); }
.depth-scene .section-head + * { transform-style: preserve-3d; }

/* Day mode is the default: warm cream surfaces with disciplined institutional blue. */
html[data-theme="light"] {
  color-scheme: light;
  --blue: #0E2F76;
  --blue-soft: rgba(11, 80, 226, .105);
  --blue-deep: #081C4E;
  --up: #177657;
  --up-soft: rgba(23, 118, 87, .105);
  --down: #C83F55;
  --down-soft: rgba(200, 63, 85, .1);
  --amber: #B76E08;
  --lime: #3E6FE8;
  --led-accent: #6F9BFF;

  --ink: #16234A;
  --ink-2: #445880;
  --ink-3: #67759A;
  --bg: #F5FEFF;
  --bg-2: #ECEFF3;
  --surface: #FCFBF7;
  --glass-bg: rgba(249, 253, 255, .76);
  --glass-bg-heavy: rgba(247, 252, 255, .94);
  --glass-brd: rgba(71, 103, 170, .16);
  --glass-shadow: 0 18px 48px rgba(53, 66, 98, .12), inset 0 1px 0 rgba(255,255,255,.88);
  --glass-shadow-lg: 0 30px 80px rgba(48, 60, 91, .17), inset 0 1px 0 rgba(255,255,255,.92);
}
.about__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 880px; margin-inline: auto; }
html[data-theme="light"] body {
  color: var(--ink);
  background:
    radial-gradient(1100px 720px at 88% -10%, rgba(63, 110, 218, .16), transparent 60%),
    radial-gradient(820px 580px at -8% 38%, rgba(123, 157, 224, .1), transparent 64%),
    linear-gradient(180deg, #FAF9F5 0%, #F5FEFF 48%, #EEF1F5 100%);
  background-attachment: fixed;
}
html[data-theme="light"] body::before { opacity: .08; mix-blend-mode: multiply; }
html[data-theme="light"] ::selection { color: #fff; background: #1E4193; }
html[data-theme="light"] ::-webkit-scrollbar-track { background: #EEF0F2; }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background: linear-gradient(180deg, #1E4193, #82A6F3); border-color: #EEF0F2; }
html[data-theme="light"] :focus-visible { outline-color: #1E4193; }
html[data-theme="light"] .skip-link { color: #fff; background: #16357F; }

html[data-theme="light"] .ambient-grid {
  opacity: .38;
  background-image:
    linear-gradient(rgba(42, 84, 169, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(42, 84, 169, .055) 1px, transparent 1px);
}
html[data-theme="light"] .aurora--one { background: #5B88E9; opacity: .105; }
html[data-theme="light"] .aurora--two { background: #B8C9EC; opacity: .11; }
html[data-theme="light"] #neural-canvas { opacity: .31; }
html[data-theme="light"] #cursor-glow {
  opacity: .5;
  mix-blend-mode: multiply;
  background: radial-gradient(circle, rgba(48, 96, 202, .11), rgba(143, 174, 232, .05) 38%, transparent 68%);
}
html[data-theme="light"] .glass,
html[data-theme="light"] .glass-heavy { background-color: var(--glass-bg); border-color: var(--glass-brd); }
html[data-theme="light"] .header::after { background: linear-gradient(90deg, transparent, rgba(49,89,172,.2), transparent); }
html[data-theme="light"] .header.scrolled {
  background: rgba(248, 248, 244, .86);
  border-color: rgba(56, 88, 155, .13);
  box-shadow: 0 16px 55px rgba(50, 61, 88, .1);
}
html[data-theme="light"] .logo__text { color: #16357F; }
html[data-theme="light"] .logo__text em { color: #132349; }
html[data-theme="light"] .nav__link { color: #566585; }
html[data-theme="light"] .nav__link:hover,
html[data-theme="light"] .nav__link.active { color: #14213B; }
html[data-theme="light"] .nav__link::after { background: #2D61C9; box-shadow: 0 0 9px rgba(45,97,201,.38); }
html[data-theme="light"] .nav__link--career { background: rgba(30, 65, 147,.06); border-color: rgba(30, 65, 147,.16); }
html[data-theme="light"] .nav__link { background: rgba(255,255,255,.48); border-color: rgba(30, 65, 147,.14); }
html[data-theme="light"] .nav__link:hover,
html[data-theme="light"] .nav__link.active { background: rgba(30, 65, 147,.09); border-color: rgba(30, 65, 147,.3); }
html[data-theme="light"] .nav__pill { background: rgba(30, 65, 147,.07); border-color: rgba(30, 65, 147,.14); }
html[data-theme="light"] .nav__dropdown,
html[data-theme="light"] .lang__list { background: rgba(247, 252, 255,.97); border-color: rgba(30, 65, 147,.17); }
html[data-theme="light"] .nav__dropdown a:hover,
html[data-theme="light"] .lang__list button:hover { color: #102C6B; background: rgba(30, 65, 147,.09); }
html[data-theme="light"] .header__phone { color: #4B5B77; }
html[data-theme="light"] .header__phone:hover { color: #16357F; }
html[data-theme="light"] .burger span { background: #18254C; }
html[data-theme="light"] .theme-toggle { background: rgba(247, 252, 255,.8); }

html[data-theme="light"] .hero {
  background:
    radial-gradient(ellipse at 76% 46%, rgba(55, 104, 216, .14), transparent 36%),
    linear-gradient(105deg, rgba(255,250,239,.18), transparent 60%);
}
html[data-theme="light"] .hero::before {
  border-color: rgba(53,94,184,.15);
  box-shadow: inset 0 0 110px rgba(55,96,190,.07), 0 0 90px rgba(55,96,190,.055);
}
html[data-theme="light"] .pulse-dot { background: #1E4193; box-shadow: 0 0 0 5px rgba(30, 65, 147,.08), 0 0 15px rgba(30, 65, 147,.45); }
html[data-theme="light"] .pulse-dot::after { border-color: #1E4193; }
html[data-theme="light"] .hero__title { color: #152248; }
html[data-theme="light"] .grad-text {
  background: linear-gradient(105deg, #1D4FAE 0%, #5A80DC 55%, #2E5DBD 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 8px 24px rgba(42,79,164,.12));
}
html[data-theme="light"] .hero__subtitle { color: #4C5F86; }
html[data-theme="light"] .btn--primary {
  color: #fff;
  background: linear-gradient(112deg, #1E4EA9, #3F73D8 52%, #7EA4EE 110%);
  box-shadow: 0 0 0 1px rgba(36,79,169,.18), 0 14px 36px rgba(42,84,176,.23), 0 0 30px rgba(52,99,199,.1);
}
html[data-theme="light"] .btn--primary:hover { box-shadow: 0 0 0 1px rgba(36,79,169,.3), 0 20px 48px rgba(42,84,176,.3), 0 0 42px rgba(52,99,199,.16); }
html[data-theme="light"] .btn--ghost { color: #193C80; background: rgba(247, 252, 255,.78); border-color: rgba(40,83,176,.22); }
html[data-theme="light"] .btn--ghost:hover { color: #112F6C; background: rgba(30, 65, 147,.09); border-color: rgba(30, 65, 147,.4); }
html[data-theme="light"] .store-badge {
  color: #18254C;
  background: rgba(247, 252, 255,.84);
  border-color: rgba(30, 65, 147,.17);
}
html[data-theme="light"] .store-badge small { color: #68748B; }
html[data-theme="light"] .store-badge:hover { border-color: rgba(30, 65, 147,.4); box-shadow: 0 14px 38px rgba(46,59,89,.13), 0 0 24px rgba(30, 65, 147,.07); }
html[data-theme="light"] .hero__orbit { border-color: rgba(48,90,183,.16); box-shadow: 0 0 80px rgba(30, 65, 147,.1); }
html[data-theme="light"] .phone__float { color: #253653; background: rgba(247, 252, 255,.93); border-color: rgba(49,88,169,.18); }
html[data-theme="light"] .phone__float--niyat { color: #0E2F76; }

html[data-theme="light"] .tape {
  background: rgba(242, 243, 242, .9);
  border-color: rgba(52,88,163,.14);
}
html[data-theme="light"] .tape__item .sym { color: #18254C; }
html[data-theme="light"] .tape__item .price { color: #67759A; }
html[data-theme="light"] .tape::after { background: linear-gradient(90deg, transparent, #1E4193, #8EAEF2, transparent); box-shadow: 0 0 12px rgba(30, 65, 147,.35); }

html[data-theme="light"] .section::before { background: linear-gradient(90deg, transparent, rgba(47,83,157,.18), transparent); }
html[data-theme="light"] .section-head h2 { color: #16234A; }
html[data-theme="light"] .section-head h2::after { background: linear-gradient(90deg, transparent, #1E4193, #8AAAF0, transparent); box-shadow: 0 0 14px rgba(30, 65, 147,.3); }
html[data-theme="light"] .section-head p { color: #4C5F86; }
html[data-theme="light"] .section-tag { color: #16357F; background: rgba(30, 65, 147,.07); border-color: rgba(30, 65, 147,.23); }

html[data-theme="light"] .uzmarket__card,
html[data-theme="light"] .num-card,
html[data-theme="light"] .about-card,
html[data-theme="light"] .service-card,
html[data-theme="light"] .an-card,
html[data-theme="light"] .news-card,
html[data-theme="light"] .review-card,
html[data-theme="light"] .doc-card,
html[data-theme="light"] .ct-card,
html[data-theme="light"] .contacts__form,
html[data-theme="light"] .top10,
html[data-theme="light"] .education__card {
  border-color: rgba(30, 65, 147, .15);
  background:
    radial-gradient(420px circle at var(--spot-x, 50%) var(--spot-y, 0%), rgba(55, 104, 216, .095), transparent 45%),
    linear-gradient(145deg, rgba(249, 253, 255, .94), rgba(239, 242, 246, .86));
  box-shadow: var(--glass-shadow);
}
html[data-theme="light"] .edu-orb {
  background: radial-gradient(circle at 35% 30%, rgba(58, 111, 225, .2), rgba(170, 192, 225, .18) 55%, transparent 73%);
}
html[data-theme="light"] .edu-study-panel {
  color: #16234A;
  border-color: rgba(49, 91, 181, .2);
  background: linear-gradient(150deg, rgba(255, 255, 255, .94), rgba(231, 237, 247, .96));
  box-shadow: 0 28px 65px rgba(42, 61, 102, .16), inset 0 1px rgba(255, 255, 255, .92);
}
html[data-theme="light"] .edu-study-panel::before {
  background: linear-gradient(115deg, rgba(255, 255, 255, .78), transparent 38%);
}
html[data-theme="light"] .edu-study-panel__head { border-bottom-color: rgba(46, 83, 158, .14); }
html[data-theme="light"] .edu-study-panel__head small,
html[data-theme="light"] .edu-progress-copy small,
html[data-theme="light"] .edu-progress small { color: #60708B; }
html[data-theme="light"] .edu-study-panel__streak {
  color: #16357F; background: rgba(170, 192, 225, .2); border-color: rgba(90, 130, 196, .32);
}
html[data-theme="light"] .edu-progress {
  background: conic-gradient(#4B76C2 0 68%, rgba(41, 70, 127, .1) 68%);
  box-shadow: 0 0 28px rgba(75, 118, 194, .15);
}
html[data-theme="light"] .edu-progress > span { background: #F7F9FC; }
html[data-theme="light"] .edu-progress-copy > span { background: rgba(41, 70, 127, .1); }
html[data-theme="light"] .edu-path-card {
  border-color: rgba(53, 87, 153, .14); background: rgba(255, 255, 255, .55);
}
html[data-theme="light"] .edu-path-card > span { color: #63728A; background: rgba(42, 76, 145, .08); }
html[data-theme="light"] .edu-path-card small,
html[data-theme="light"] .edu-path-card > b { color: #687894; }
html[data-theme="light"] .edu-path-card.is-done > span,
html[data-theme="light"] .edu-path-card.is-done > b { color: #2E55A8; }
html[data-theme="light"] .edu-path-card.is-active {
  border-color: rgba(45, 91, 191, .3);
  background: linear-gradient(90deg, rgba(54, 101, 204, .12), rgba(255, 255, 255, .62));
  box-shadow: 0 10px 25px rgba(51, 76, 131, .12);
}
html[data-theme="light"] .edu-path-card.is-active > span { color: #315FB9; background: rgba(49, 95, 185, .12); }
html[data-theme="light"] .edu-path-card.is-active > b { color: #F5FEFF; background: #16357F; }
html[data-theme="light"] .edu-float-icon {
  color: #2855A9; background: rgba(247, 250, 255, .96); border-color: rgba(49, 91, 181, .2);
  box-shadow: 0 16px 36px rgba(45, 65, 108, .16);
}
html[data-theme="light"] .edu-float-icon--idea { color: #081C4E; background: #AAC0E1; }
html[data-theme="light"] .uzmarket__card:hover,
html[data-theme="light"] .num-card:hover,
html[data-theme="light"] .about-card:hover,
html[data-theme="light"] .service-card:hover,
html[data-theme="light"] .an-card:hover,
html[data-theme="light"] .news-card:hover,
html[data-theme="light"] .review-card:hover,
html[data-theme="light"] .doc-card:hover,
html[data-theme="light"] .ct-card:hover {
  border-color: rgba(30, 65, 147,.32);
  box-shadow: 0 25px 65px rgba(48,61,91,.16), 0 0 32px rgba(30, 65, 147,.08), inset 0 1px rgba(255,255,255,.9);
}
html[data-theme="light"] .num-card__icon,
html[data-theme="light"] .about-card__icon,
html[data-theme="light"] .service-card__icon,
html[data-theme="light"] .an-card__icon,
html[data-theme="light"] .doc-card__icon,
html[data-theme="light"] .ct-card__icon {
  color: #1E4193;
  background: linear-gradient(145deg, rgba(30, 65, 147,.12), rgba(255,255,255,.64));
  border-color: rgba(30, 65, 147,.15);
  box-shadow: inset 0 1px rgba(255,255,255,.9), 0 0 24px rgba(30, 65, 147,.07);
}
html[data-theme="light"] .num-card__value { color: #16233D; text-shadow: 0 6px 25px rgba(30, 65, 147,.12); }
html[data-theme="light"] .num-card > span,
html[data-theme="light"] .about-card p,
html[data-theme="light"] .service-card p,
html[data-theme="light"] .an-card p,
html[data-theme="light"] .news-card p,
html[data-theme="light"] .review-card p,
html[data-theme="light"] .doc-card p,
html[data-theme="light"] .ct-card span { color: #4C5F86; }
html[data-theme="light"] .service-card--hl { outline-color: rgba(30, 65, 147,.35); }
html[data-theme="light"] .service-card--hl::before { color: #fff; background: #1E4193; box-shadow: 0 0 18px rgba(30, 65, 147,.24); }

html[data-theme="light"] .worldmap__wrap { background: linear-gradient(145deg, rgba(249, 253, 255,.94), rgba(238,241,245,.88)); border-color: rgba(51,88,169,.15); }
html[data-theme="light"] #map-container path { fill: #D9DFE8; stroke: #A9B4C7; }
html[data-theme="light"] #map-container path.presence { filter: drop-shadow(0 0 4px rgba(30, 65, 147,.32)); }
html[data-theme="light"] #map-container path.presence:hover { fill: #102C6B; filter: drop-shadow(0 0 7px rgba(30, 65, 147,.48)); }
html[data-theme="light"] .map-tooltip { color: #16234A; background: rgba(247, 252, 255,.98); border-color: rgba(30, 65, 147,.2); }
html[data-theme="light"] .map-tooltip span { color: #16357F; }

html[data-theme="light"] .edu-card-mini { color: #18254C; background: rgba(247, 252, 255,.93); border-color: rgba(30, 65, 147,.18); }
html[data-theme="light"] .edu-card-mini strong { color: #16357F; }
html[data-theme="light"] .perk-ic { color: #fff; background: #1E4193; }
html[data-theme="light"] .top10__toggle { background: rgba(30, 65, 147,.08); }
html[data-theme="light"] .top10__toggle button { color: #52617B; }
html[data-theme="light"] .top10__toggle button.active { color: #fff; background: #1E4193; box-shadow: 0 8px 24px rgba(30, 65, 147,.2); }
html[data-theme="light"] .t10-row .bar-wrap { background: rgba(30, 65, 147,.08); }
html[data-theme="light"] .t10-row .bar { background: linear-gradient(90deg, #2858B6, #5F88E4 67%, #A7BFF3); }
html[data-theme="light"] .t10-row .who small,
html[data-theme="light"] .t10-row .rank,
html[data-theme="light"] .top10__note { color: #69758C; }
html[data-theme="light"] .news-card__src { color: #16357F; background: rgba(30, 65, 147,.08); }
html[data-theme="light"] .review-card .ava { color: #fff; background: linear-gradient(135deg, #1E4193, #86A8F0); }
html[data-theme="light"] .car-btn { color: #17335F; }
html[data-theme="light"] .car-btn:hover { color: #fff; background: #1E4193; }

html[data-theme="light"] form label > span { color: #24334F; }
html[data-theme="light"] input,
html[data-theme="light"] textarea { color: #16234A; background: rgba(249, 253, 255,.84); border-color: rgba(48,84,162,.2); }
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder { color: #7A8498; }
html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus { border-color: #1E4193; background: #FCFCFA; box-shadow: 0 0 0 4px rgba(30, 65, 147,.1), 0 0 24px rgba(30, 65, 147,.07); }
html[data-theme="light"] .footer { background: linear-gradient(180deg, rgba(236,239,243,.8), #E5E9EF); border-color: rgba(48,83,157,.14); }
html[data-theme="light"] .footer__social a { color: #3F506E; background: rgba(30, 65, 147,.07); border-color: rgba(30, 65, 147,.14); }
html[data-theme="light"] .footer__social a:hover { color: #fff; background: #1E4193; }
html[data-theme="light"] .footer__col a { color: #4C5F86; }
html[data-theme="light"] .footer__col a:hover { color: #16357F; }
html[data-theme="light"] .footer__bottom { color: #66728A; border-color: rgba(48,83,157,.13); }
html[data-theme="light"] .modal__backdrop { background: rgba(28,34,48,.5); }
html[data-theme="light"] .modal__panel { color: #16234A; background: rgba(247, 252, 255,.98); border-color: rgba(30, 65, 147,.18); }
html[data-theme="light"] .modal__close { color: #40506D; background: rgba(30, 65, 147,.07); }
html[data-theme="light"] .modal__close:hover { color: #fff; background: #1E4193; }
html[data-theme="light"] .doc-viewer { color: #445880; background: rgba(244,237,224,.72); border-color: rgba(30, 65, 147,.13); }

@media (max-width: 1120px) {
html[data-theme="light"] .nav { background: rgba(248,248,245,.98); border-color: rgba(51,86,160,.14); box-shadow: 28px 0 80px rgba(54,62,82,.15); }
}


@media (max-width: 620px) {
  .header__phone { display: none; }
  .theme-toggle { width: 50px; min-width: 50px; }
  .theme-toggle__thumb { width: 26px; height: 26px; }
  html[data-theme="dark"] .theme-toggle__thumb { transform: translateX(14px); }
  .theme-toggle svg { width: 14px; height: 14px; }
  .theme-toggle__sun { left: 5px; }
  .theme-toggle__moon { right: 5px; }
  .led-border { opacity: .6; --led-speed: 6.8s; }
}

@media (prefers-reduced-motion: reduce) {
  .led-border { display: none !important; }
  .depth-scene > .container { transform: none !important; }
  .theme-toggle__thumb, .theme-toggle svg { transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   3D & WORLD MAP ENHANCEMENTS
   ═══════════════════════════════════════════════════════════ */
/* переливающийся градиент заголовка hero */
.grad-text { background-size: 220% 100%; animation: grad-shift 7s ease-in-out infinite alternate; }
@keyframes grad-shift { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }

/* карта: мягкое свечение «океана» и hover всех стран */
.worldmap__wrap::before {
  content: ''; position: absolute; inset: -8%;
  background: radial-gradient(55% 60% at 50% 42%, rgba(170, 192, 225, .10), transparent 70%);
  pointer-events: none;
}
html[data-theme="light"] .worldmap__wrap::before {
  background: radial-gradient(55% 60% at 50% 42%, rgba(30, 65, 147, .07), transparent 70%);
}
#map-container path { transition: fill var(--t-fast), filter var(--t-fast); }
#map-container path:not(.presence):hover { fill: #24314F; }
html[data-theme="light"] #map-container path:not(.presence):hover { fill: #C9D4E4; }

/* пульсирующие пины стран присутствия (HQ — синим и крупнее) */
.map-pins { pointer-events: auto; }
.map-pin { pointer-events: auto; cursor: pointer; outline: none; }
.map-pin circle { pointer-events: all; }
.map-pin:focus-visible .map-pin__ring { stroke-width: 2.2; opacity: 1; }
.map-pin__dot { fill: var(--blue); filter: drop-shadow(0 0 4px var(--blue)); }
.map-pin__ring {
  fill: none; stroke: var(--blue); stroke-width: 1.3;
  transform-box: fill-box; transform-origin: center;
  animation: pin-pulse 2.4s var(--ease) infinite;
}
.map-pin--hq .map-pin__dot { fill: #CBDBEF; filter: drop-shadow(0 0 6px #CBDBEF); }
.map-pin--hq .map-pin__ring { stroke: #CBDBEF; animation-duration: 1.9s; }
@keyframes pin-pulse {
  0% { transform: scale(.35); opacity: .95; }
  70%, 100% { transform: scale(1.7); opacity: 0; }
}
/* Skroll paytida SVG pulse animatsiyalari pauza qilinadi — xarita maydonining
   har kadr repainti skrollga xalaqit bermasin (is-scrolling ni JS qo'yadi). */
html.is-scrolling .map-pin__ring,
html.is-scrolling .map-link--pulse,
html.is-scrolling .worldmap__signal i { animation-play-state: paused; }

/* фикс каскада: «О нас» на телефонах — одна колонка */
@media (max-width: 620px) {
  .about__grid { grid-template-columns: 1fr; }
}

/* ═══════════ MOBILE PERFORMANCE MODE ═══════════
   Android/iOS: bitta sokin hero harakati + yengil ticker qoladi.
   Qimmat blur, ko‘p puls va offscreen effektlar o‘chiriladi. */
@media (max-width: 900px), (pointer: coarse) {
  html { scroll-behavior: auto; }
  body { background-attachment: scroll; overscroll-behavior-x: none; }
  button, a { touch-action: manipulation; }

  .glass, .glass-heavy,
  .header, .nav, .modal__backdrop {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* noise-qatlam va fon-to'r skrollda doimiy kompozitsiya talab qiladi — o'chadi */
  #neural-canvas, #cursor-glow, .aurora,
  .ambient-grid { display: none !important; }
  body::before { display: none !important; }

  /* siqiq harf oralig'i telefonda harflarni bir-biriga mindirib qo'yardi */
  .hero__title { letter-spacing: -0.035em; line-height: 1.06; }
  .section-head h2 { letter-spacing: -0.025em; }

  .reveal:not(.visible) {
    filter: none;
    transform: translate3d(0, 22px, 0);
  }

  .btn--primary, .section-tag, .grad-text,
  .phone__screen::after, .phone__ground, .phone__float,
  .edu-card-mini, .t10-row .bar::after,
  .edu-progress-copy i, .edu-float-icon, .t10-column__bar i, .solution-device__line,
  #map-container path.presence, .map-pin__ring,
  .hero::before, .hero__orbit, .phone-wrap::before,
  .hero__scroll-hint span, .tape::after, .edu-orb {
    animation: none !important;
  }

  .phone-wrap::before { filter: none; opacity: .24; }
  .phone-wrap { animation-duration: 10s; }
  .tape__track { animation-duration: 72s; }
  /* animatsiyalangan conic-gradient ramka har kadrda repaint — telefonda taqiqlanadi */
  .led-border { display: none !important; }

  .num-card, .about-card, .service-card, .an-card, .news-card,
  .review-card, .doc-card, .ct-card, .contacts__form, .top10,
  .education__card, .worldmap__wrap {
    box-shadow: 0 12px 30px rgba(15, 28, 55, .08);
  }

  /* xarita telefonda ham to'liq va aniq ko'rinadi: statik render, engil chiziqlar */
  .worldmap__wrap { padding: 12px; }
  #map-container svg { min-height: 190px; }
  #map-container path { stroke-width: 0.35; transition: none; }
  #map-container path.presence { filter: none; }
  .map-pin__ring { opacity: .55; }
  html[data-theme="dark"] #map-container path { fill: #212E4E; stroke: #3D4C6E; }
  html[data-theme="dark"] #map-container path.presence { fill: url(#presenceGrad); }
}

/* ═══════════════════════════════════════════════════════════
   CAREER · DOC-FRAME · CABINET (обе темы через токены)
   ═══════════════════════════════════════════════════════════ */
/* ── Карьера: сетка вакансий ── */
.career__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 38px; }
.career__grid--empty { grid-template-columns: 1fr; max-width: 920px; margin: 0 auto; }
.career-empty {
  min-height: 190px; padding: 34px 38px; border-radius: var(--r-xl);
  display: grid; grid-template-columns: 72px minmax(0,1fr) 18px; align-items: center; gap: 24px;
  position: relative; overflow: hidden;
}
.career-empty::before {
  content: ''; position: absolute; width: 280px; height: 280px; right: -110px; top: -150px;
  border-radius: 50%; background: radial-gradient(circle, rgba(170, 192, 225,.16), transparent 68%); pointer-events: none;
}
.career-empty__icon {
  width: 72px; height: 72px; border-radius: 22px; display: grid; place-items: center;
  color: var(--blue); background: linear-gradient(145deg, var(--blue-soft), rgba(170, 192, 225,.08));
  border: 1px solid rgba(170, 192, 225,.18);
}
.career-empty__icon svg { width: 34px; height: 34px; }
.career-empty h3 { font-size: clamp(19px,2vw,25px); margin-bottom: 8px; }
.career-empty p { color: var(--ink-2); max-width: 680px; line-height: 1.7; }
.career-empty__pulse {
  width: 12px; height: 12px; border-radius: 50%; background: var(--lime);
  box-shadow: 0 0 0 0 rgba(170, 192, 225,.55); animation: career-pulse 2.2s ease-out infinite;
}
@keyframes career-pulse { 70%,100% { box-shadow: 0 0 0 18px rgba(170, 192, 225,0); } }
.vac-card {
  padding: 30px 26px; border-radius: var(--r-lg);
  display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
  position: relative; overflow: hidden;
  transition: transform var(--t-fast), box-shadow var(--t-fast);
}
.vac-card:hover { transform: translateY(-5px); box-shadow: var(--glass-shadow-lg); }
.vac-card h3 { font-size: 19px; }
.vac-card > p { color: var(--ink-2); font-size: 14px; }
.vac-card details { width: 100%; border: 1px solid var(--glass-brd); border-radius: var(--r-sm); padding: 10px 14px; }
.vac-card summary { cursor: pointer; font-weight: 700; font-size: 13.5px; color: var(--blue); list-style: none; display: flex; align-items: center; gap: 6px; }
.vac-card summary::-webkit-details-marker { display: none; }
.vac-card summary::before { content: '▸'; font-size: 11px; transition: transform var(--t-fast); }
.vac-card details[open] summary::before { transform: rotate(90deg); }
.vac-card details ul { margin: 10px 0 2px 18px; list-style: disc; display: flex; flex-direction: column; gap: 5px; }
.vac-card details li { color: var(--ink-2); font-size: 13px; line-height: 1.5; }
.vac-apply { margin-top: auto; }

/* ── Карьера: форма резюме ── */
.career__form {
  border-radius: var(--r-lg); padding: 32px 30px;
  max-width: 760px; margin-inline: auto;
  position: relative; overflow: hidden;
}
.career__form[hidden] { display: none; }
.career__form h3 { font-size: 21px; margin-bottom: 12px; position: relative; }
.career__form > .form-note { position: relative; margin-bottom: 14px; color: var(--blue); }
input[type="file"] { min-height: auto; padding: 10px 12px; cursor: pointer; }
input[type="file"]::file-selector-button {
  margin-right: 12px; padding: 8px 16px; border: 0; border-radius: 999px;
  background: var(--blue); color: #fff;
  font: inherit; font-weight: 700; font-size: 13px; cursor: pointer;
}

/* ── PDF-документ внутри модалки ── */
.doc-frame { width: 100%; height: min(62vh, 720px); border: 0; border-radius: 12px; background: #fff; }
.doc-viewer .link-arrow { display: inline-flex; margin-top: 14px; }

/* ── select — в один стиль с input ── */
form select {
  font: inherit; color: var(--ink); width: 100%;
  min-height: 50px; padding: 13px 16px;
  border-radius: 13px; border: 1.5px solid rgba(129, 158, 222, .2);
  background: rgba(5, 12, 32, .7);
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
form select:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(170, 192, 225, .12); }
html[data-theme="light"] form select { color: #16234A; background: rgba(249, 253, 255, .84); border-color: rgba(48, 84, 162, .2); }
html[data-theme="light"] form select:focus { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(11, 80, 226, .1); }

/* ── Кабинет ── */
#cabinet-modal .modal__backdrop {
  background:
    radial-gradient(circle at 18% 18%, rgba(57,101,220,.28), transparent 33%),
    radial-gradient(circle at 82% 80%, rgba(170, 192, 225,.12), transparent 30%),
    rgba(2,6,15,.74);
  backdrop-filter: blur(18px) saturate(135%);
}
.modal__panel--cab { width: min(1020px, 100%); }
.modal__panel--cab.cab-auth-mode {
  max-height: min(92vh, 780px); padding: 0; overflow: hidden;
  border-radius: 34px; color: #EEF4FF;
  background: rgba(5,10,22,.78);
  border: 1px solid rgba(158,186,245,.2);
  box-shadow: 0 42px 120px rgba(0,0,0,.6), inset 0 1px rgba(255,255,255,.08);
  backdrop-filter: blur(30px) saturate(145%);
}
.modal__panel--cab.cab-wide { width: min(820px, 100%); padding: 40px 38px; }
.cab-auth-mode .modal__close { color: #EAF0FF; background: rgba(7,13,27,.46); border: 1px solid rgba(160,187,242,.2); backdrop-filter: blur(14px); }
#cab-auth { display: grid; grid-template-columns: minmax(0, .88fr) minmax(440px, 1.12fr); min-height: 680px; }
.cab-auth__visual {
  position: relative; isolation: isolate; min-width: 0; padding: 42px 40px 34px;
  display: flex; flex-direction: column; overflow: hidden;
  background:
    linear-gradient(155deg, rgba(22,55,132,.88), rgba(7,18,43,.9) 58%, rgba(7,25,36,.92)),
    radial-gradient(circle at 50% 10%, rgba(170, 192, 225,.4), transparent 50%);
  border-right: 1px solid rgba(157,184,239,.14);
}
.cab-auth__visual::after { content: ''; position: absolute; inset: auto -28% -30% -20%; height: 66%; z-index: -1; background: radial-gradient(ellipse, rgba(170, 192, 225,.13), transparent 64%); filter: blur(8px); }
.cab-auth__grid { position: absolute; inset: 0; z-index: -2; opacity: .2; background-image: linear-gradient(rgba(141,171,237,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(141,171,237,.18) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to bottom, #000, transparent 78%); }
.cab-auth__orb { position: absolute; z-index: -1; border-radius: 50%; filter: blur(1px); animation: auth-orbit 8s ease-in-out infinite; }
.cab-auth__orb--one { width: 230px; height: 230px; right: -110px; top: 90px; background: radial-gradient(circle at 35% 35%, rgba(130,171,255,.48), rgba(44,82,184,.06) 66%, transparent 68%); border: 1px solid rgba(155,185,244,.14); }
.cab-auth__orb--two { width: 120px; height: 120px; left: -58px; bottom: 116px; background: radial-gradient(circle, rgba(170, 192, 225,.2), transparent 68%); animation-delay: -3s; }
@keyframes auth-orbit { 50% { transform: translate3d(0,-12px,0) scale(1.035); } }
.cab-auth__brand { display: flex; align-items: center; gap: 11px; font-family: var(--font-display); font-size: 15px; font-weight: 720; letter-spacing: -.02em; }
.cab-auth__brand b { color: #A9C1FF; }
.cab-auth__logo { width: 52px; height: 34px; display: grid; place-items: center; filter: drop-shadow(0 10px 22px rgba(170, 192, 225,.35)); }
.cab-auth__logo img { width: 100%; height: 100%; object-fit: contain; }
.cab-auth__story { margin: auto 0 26px; position: relative; z-index: 1; }
.cab-auth__eyebrow { display: inline-flex; margin-bottom: 14px; color: #AAC0E1; font-size: 10px; font-weight: 850; letter-spacing: .18em; }
.cab-auth__story h3 { max-width: 390px; margin-bottom: 15px; color: #F5F8FF; font-size: clamp(28px,3vw,40px); line-height: 1.04; letter-spacing: -.045em; }
.cab-auth__story p { max-width: 370px; color: #AEBBD2; font-size: 13px; line-height: 1.72; }
.cab-auth__market { position: relative; min-height: 132px; padding: 17px 18px 0; border-radius: 20px; overflow: hidden; background: rgba(8,18,39,.48); border-color: rgba(157,187,246,.16); }
.cab-auth__market > div { display: grid; grid-template-columns: 1fr auto; gap: 3px 12px; position: relative; z-index: 1; }
.cab-auth__market span { color: #9DAAC1; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.cab-auth__market strong { grid-row: 2; color: #F5F8FF; font-size: 18px; }
.cab-auth__market small { grid-row: 2; color: #AAC0E1; font-weight: 850; }
.cab-auth__market svg { position: absolute; inset: 48px 0 0; width: 100%; height: 84px; }
.cab-auth__chart-fill { fill: rgba(170, 192, 225,.12); }
.cab-auth__chart-line { fill: none; stroke: #AAC0E1; stroke-width: 2.2; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 7px rgba(170, 192, 225,.55)); }
.cab-auth__trust { display: flex; align-items: center; gap: 8px; margin-top: 16px; color: #8E9BB3; }
.cab-auth__trust span, .auth-safe i { width: 7px; height: 7px; border-radius: 50%; background: #AAC0E1; box-shadow: 0 0 10px rgba(170, 192, 225,.8); }
.cab-auth__trust small { font-size: 10px; font-weight: 700; letter-spacing: .03em; }
.cab-auth__surface { min-width: 0; padding: 50px 48px 38px; background: linear-gradient(145deg, rgba(17,26,48,.72), rgba(7,13,27,.74)); overflow-y: auto; }
.cab-auth__head { margin-bottom: 24px; }
.cab-auth__mobile-brand { display: none; color: #B8CCE8; font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.cab-auth__head h2 { color: #F7F9FF; font-size: clamp(28px,3vw,38px); line-height: 1.05; letter-spacing: -.045em; }
.cab-auth__head p { max-width: 410px; margin-top: 10px; color: #98A6BF; font-size: 13px; line-height: 1.6; }
.cab-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-bottom: 24px; padding: 5px; border-radius: 15px; background: rgba(123,154,222,.07); border: 1px solid rgba(139,169,232,.12); }
.cab-tabs .chip { padding: 10px 14px; border: 0; border-radius: 11px; color: #92A0B9; background: transparent; box-shadow: none; }
.cab-tabs .chip:hover { transform: none; color: #DCE6FA; }
.cab-tabs .chip.active { color: #F6F9FF; background: rgba(170, 192, 225,.18); box-shadow: inset 0 0 0 1px rgba(132,169,249,.2), 0 8px 25px rgba(0,0,0,.16); }
.auth-form { gap: 15px; animation: auth-form-in .38s var(--ease); }
@keyframes auth-form-in { from { opacity: 0; transform: translateY(8px); } }
.auth-field { gap: 7px; }
.auth-field > span:first-child { color: #C8D2E5; font-size: 11px; font-weight: 760; letter-spacing: .035em; }
.auth-input-wrap { position: relative; display: flex; align-items: center; min-height: 54px; border-radius: 15px; background: rgba(5,11,24,.48); border: 1px solid rgba(145,174,235,.17); transition: border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast); }
.auth-input-wrap:focus-within { background: rgba(8,16,34,.7); border-color: rgba(170, 192, 225,.7); box-shadow: 0 0 0 4px rgba(170, 192, 225,.11), inset 0 1px rgba(255,255,255,.025); }
.auth-input-wrap > svg { position: absolute; left: 16px; width: 19px; height: 19px; color: #7687A5; fill: none; stroke: currentColor; stroke-width: 1.65; pointer-events: none; }
.auth-input-wrap input { width: 100%; height: 52px; padding: 0 48px 0 46px; color: #F2F6FF; background: transparent !important; border: 0 !important; border-radius: 15px; box-shadow: none !important; }
.auth-input-wrap input::placeholder { color: #61708A; }
.auth-password-toggle { position: absolute; right: 9px; width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; color: #71819D; transition: color var(--t-fast), background var(--t-fast); }
.auth-password-toggle:hover, .auth-password-toggle.is-visible { color: #AAC0E1; background: rgba(170, 192, 225,.08); }
.auth-password-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.auth-form__utility { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 26px; }
.auth-safe { display: inline-flex; align-items: center; gap: 8px; color: #8290A9; font-size: 10.5px; font-weight: 700; }
.auth-safe i { width: 6px; height: 6px; }
.auth-form__utility .cab-link { width: auto; margin: 0; padding: 4px 0; color: #9BB7FF; font-size: 11.5px; }
.auth-submit { min-height: 52px; display: flex; justify-content: center; gap: 12px; border-radius: 15px; background: linear-gradient(105deg, #3D72EF, #2455C6); box-shadow: 0 16px 38px rgba(31,79,194,.34), inset 0 1px rgba(255,255,255,.18); }
.auth-submit:hover { box-shadow: 0 19px 42px rgba(31,79,194,.42), 0 0 24px rgba(170, 192, 225,.14); }
.google-auth-btn {
  min-height: 52px; padding: 12px 18px; border-radius: 15px;
  display: flex; align-items: center; justify-content: center; gap: 12px;
  color: #E9EFFB; background: rgba(255,255,255,.045); border: 1px solid rgba(150,180,241,.18);
  box-shadow: inset 0 1px rgba(255,255,255,.04);
  font-family: var(--font-display); font-size: 14px; font-weight: 750;
  transition: transform var(--t-fast), box-shadow var(--t-fast), border-color var(--t-fast);
}
.google-auth-btn:hover { transform: translateY(-2px); border-color: rgba(170, 192, 225,.46); background: rgba(170, 192, 225,.08); box-shadow: 0 13px 30px rgba(0,0,0,.22), 0 0 0 4px rgba(66,133,244,.07); }
.google-auth-btn:focus-visible { outline: 2px solid #4285F4; outline-offset: 3px; }
.google-auth-btn__icon { width: 22px; height: 22px; flex: none; }
.auth-divider { display: flex; align-items: center; gap: 12px; color: #697993; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
.auth-divider::before, .auth-divider::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(143,171,231,.19)); }
.auth-divider::after { background: linear-gradient(90deg, rgba(143,171,231,.19), transparent); }
.cab-section-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.cab-section-tabs .chip { cursor: pointer; }
.cab-section-tabs .chip.active { border-color: var(--blue); color: var(--blue); background: var(--blue-soft); }
.cab-section[hidden] { display: none; }
.cab-verification { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 18px; }
.cab-verify-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; background: var(--glass-bg); border: 1px solid var(--glass-brd); color: var(--ink-2); font-size: 12px; }
.cab-verify-chip.ok { color: var(--up); border-color: color-mix(in srgb, var(--up) 35%, transparent); }
.cab-otp { margin: 0 0 18px; padding: 16px; border: 1px solid var(--glass-brd); border-radius: 16px; background: var(--glass-bg); }
.cab-otp .form-note { margin: 0 0 12px; }
.cab-otp #cab-otp-status { display: block; min-height: 18px; margin-top: 8px; color: var(--ink-2); }

.solutions__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.solution-card { position: relative; grid-column: span 4; min-height: 250px; padding: 28px; overflow: hidden; }
.solution-card::after { content: ''; position: absolute; width: 150px; height: 150px; right: -70px; bottom: -80px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--blue) 24%, transparent), transparent 70%); }
.solution-card__num { color: var(--blue); font: 700 12px/1 var(--font-mono, monospace); letter-spacing: .14em; }
.solution-card h3 { margin: 28px 0 12px; font-size: clamp(20px, 2vw, 28px); }
.solution-card p { color: var(--ink-2); line-height: 1.65; }
.solution-card small { display: block; margin-top: 18px; color: var(--ink-3); line-height: 1.5; }
.solution-card--featured { grid-column: span 6; background: linear-gradient(135deg, color-mix(in srgb, var(--blue) 14%, var(--glass-bg)), var(--glass-bg)); }
.solution-card--mobile { grid-column: span 6; display: grid; grid-template-columns: 1fr 120px 54px; gap: 18px; align-items: center; }
.solution-apps { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.solution-apps a { padding: 9px 12px; border: 1px solid var(--glass-brd); border-radius: 10px; color: var(--ink); font-size: 12px; }
.solution-phone { width: 112px; height: 210px; padding: 16px 10px; border: 2px solid color-mix(in srgb, var(--ink) 25%, transparent); border-radius: 24px; background: color-mix(in srgb, var(--surface) 92%, var(--blue)); box-shadow: 0 18px 45px rgba(0,0,0,.18); }
.solution-phone i { display: block; width: 36px; height: 5px; margin: -9px auto 18px; border-radius: 10px; background: var(--ink-3); }
.solution-phone b,.solution-phone span,.solution-phone strong { display: block; }
.solution-phone span { margin-top: 25px; color: var(--ink-3); font-size: 10px; }
.solution-phone strong { margin-top: 6px; font-size: 18px; }
.solution-phone em { display: block; height: 36px; margin-top: 25px; border-radius: 8px; background: linear-gradient(135deg, var(--blue), transparent); opacity: .45; }
.solution-qr { display: grid; place-items: center; width: 52px; height: 52px; border: 5px dotted var(--ink); border-radius: 5px; font-size: 10px; font-weight: 800; }
@media (max-width: 900px) { .solution-card,.solution-card--featured,.solution-card--mobile { grid-column: span 6; } .solution-card--mobile { grid-template-columns: 1fr 90px; } .solution-qr { display: none; } }
@media (max-width: 620px) { .solution-card,.solution-card--featured,.solution-card--mobile { grid-column: 1 / -1; } .solution-card { min-height: 0; padding: 22px; } }
.btn--danger { color: #ff6b72; border-color: rgba(255,107,114,.35); }
.btn--danger:hover { background: rgba(255,107,114,.1); }
.cab-link {
  display: block; width: 100%; margin-top: 4px; padding: 8px;
  color: var(--blue); font-weight: 700; font-size: 13.5px; text-align: center;
}
.cab-link:hover { text-decoration: underline; }
.cab-hello { font-size: 16px; margin-bottom: 16px; }
.cab-sub { font-size: 16px; margin: 22px 0 12px; }
.cab-accounts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.acc-card {
  border: 1px solid var(--glass-brd); border-radius: var(--r-md);
  padding: 16px 18px; display: flex; flex-direction: column; gap: 5px;
}
.acc-card__type {
  width: fit-content; padding: 3px 10px; border-radius: 999px;
  color: var(--blue); background: var(--blue-soft);
  font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
}
.acc-card strong { font-size: 20px; font-family: var(--font-display); }
.acc-card small { color: var(--ink-3); font-weight: 700; font-size: 12px; }
#cab-chart { width: 100%; height: auto; margin: 16px 0 4px; border-radius: var(--r-md); }
.cab-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.cab-item {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 14px; border: 1px solid var(--glass-brd); border-radius: var(--r-sm);
  font-size: 13.5px;
}
.cab-item .cab-item__body { flex: 1; min-width: 0; }
.cab-item .cab-item__body p { color: var(--ink-2); font-size: 13px; overflow-wrap: anywhere; }
.cab-item .when { margin-left: auto; color: var(--ink-3); font-size: 11.5px; white-space: nowrap; flex: none; }
.cab-empty { color: var(--ink-3); font-size: 13.5px; padding: 6px 2px; }
.status-chip { flex: none; padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.status-chip--new { color: var(--blue); background: var(--blue-soft); }
.status-chip--in_progress { color: var(--amber); background: rgba(245, 158, 11, .13); }
.status-chip--done { color: var(--up); background: var(--up-soft); }
.cab-note-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--blue); margin-top: 6px; }
.cab-item--read .cab-note-dot { opacity: .18; }
.cab-notif-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cab-notif-head .cab-link { width: auto; margin: 0; padding: 6px 0; }
.cab-logout { margin-top: 20px; }

@media (max-width: 900px) {
  .modal__panel--cab.cab-auth-mode { width: min(620px,100%); max-height: 94vh; overflow-y: auto; }
  #cab-auth { grid-template-columns: 1fr; }
  .cab-auth__visual { min-height: 220px; padding: 28px 32px; border-right: 0; border-bottom: 1px solid rgba(157,184,239,.14); }
  .cab-auth__story { margin: 32px 0 0; }
  .cab-auth__story h3 { max-width: 470px; margin-bottom: 8px; font-size: 28px; }
  .cab-auth__story p { max-width: 490px; }
  .cab-auth__market, .cab-auth__trust { display: none; }
  .cab-auth__surface { overflow: visible; padding: 34px 38px 38px; }
  .career__grid { grid-template-columns: repeat(2, 1fr); }
  .career__grid--empty { grid-template-columns: 1fr; }
  .doc-ribbon__meta { margin-inline: 0; }
  .doc-ribbon-card { flex-basis: clamp(210px, 38vw, 250px); }
}
@media (max-width: 620px) {
  #cabinet-modal { padding: 8px; }
  .modal__panel--cab.cab-auth-mode { border-radius: 24px; }
  .cab-auth__visual { display: none; }
  .cab-auth__surface { min-height: min(700px,calc(100vh - 16px)); padding: 42px 22px 28px; }
  .cab-auth__mobile-brand { display: block; margin-bottom: 15px; }
  .cab-auth__head h2 { font-size: 30px; }
  .cab-auth__head p { font-size: 12.5px; }
  .cab-auth-mode .modal__close { top: 12px; right: 12px; }
  .auth-form .form-row { grid-template-columns: 1fr; }
  .auth-form__utility { align-items: flex-start; }
  .career__grid { grid-template-columns: 1fr; }
  .career__form { padding: 26px 20px; }
  .career-empty { grid-template-columns: 54px 1fr; padding: 26px 22px; gap: 16px; }
  .career-empty__icon { width: 54px; height: 54px; border-radius: 17px; }
  .career-empty__icon svg { width: 26px; height: 26px; }
  .career-empty__pulse { display: none; }
  .doc-ribbon__meta { align-items: flex-start; }
  .doc-ribbon__meta p { font-size: 12px; }
  .doc-ribbon__rail { grid-template-columns: 34px minmax(0,1fr) 34px; gap: 4px; }
  .doc-ribbon__prev, .doc-ribbon__next { width: 34px; height: 34px; }
  .doc-ribbon__track { gap: 14px; padding-inline: 12px; }
  .doc-ribbon-card { flex-basis: min(72vw, 245px); }
  .modal__panel--document { padding-inline: 14px; }
  .doc-viewer { padding: 10px; }
  .doc-image-frame { min-height: 260px; }
  .cab-tabs { flex-wrap: wrap; }
  .cab-accounts { grid-template-columns: 1fr; }
  .doc-frame { height: min(58vh, 560px); }
}

@media (prefers-reduced-motion: reduce) {
  .cab-auth__orb { animation: none; }
  .career-empty__pulse { animation: none; }
}

/* ═══════════ OCEAN HERO · PREMIUM CAPITAL SYSTEM ═══════════ */
.hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #071626 url('../assets/media/new-york-poster.jpg') center / cover no-repeat;
}
.hero__video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 48%;
  transform: scale(1.015);
  filter: saturate(.82) contrast(1.08) brightness(.82);
}
.hero__video-scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2, 8, 23, .78) 0%, rgba(4, 18, 39, .63) 39%, rgba(5, 24, 47, .38) 70%, rgba(2, 11, 24, .48) 100%),
    linear-gradient(180deg, rgba(4, 11, 30, .36), rgba(4, 18, 35, .08) 42%, rgba(2, 8, 18, .68) 100%);
}
.hero::before { z-index: 1; pointer-events: none; }
.hero__chart-bg { z-index: 1; opacity: .18; }
.hero__grid, .hero__scroll-hint { z-index: 2; }
.hero__content {
  position: relative;
  padding: clamp(28px, 3.1vw, 44px);
  border: 1px solid rgba(161, 190, 245, .18);
  border-radius: clamp(28px, 3vw, 40px);
  background: linear-gradient(145deg, rgba(7, 15, 31, .52), rgba(5, 13, 26, .3));
  box-shadow: 0 32px 90px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .06);
  backdrop-filter: blur(5px) saturate(112%);
}
.hero__content::after {
  content: '';
  position: absolute;
  inset: 16% -1px 16% auto;
  width: 1px;
  background: linear-gradient(transparent, rgba(117, 169, 255, .72), rgba(170, 192, 225, .42), transparent);
  box-shadow: 0 0 18px rgba(86, 151, 255, .6);
}
.hero__eyebrow {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding: 9px 13px;
  border: 1px solid rgba(120, 169, 255, .2);
  border-radius: 999px;
  color: #C6D7F8;
  background: rgba(18, 37, 69, .42);
  font-size: 10.5px;
  font-weight: 820;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.hero__live-dot {
  width: 7px;
  height: 7px;
  flex: none;
  border-radius: 50%;
  background: #70E4FF;
  box-shadow: 0 0 0 5px rgba(112, 228, 255, .09), 0 0 14px rgba(112, 228, 255, .88);
}
.hero__title { font-size: clamp(42px, 5vw, 72px); }
.hero__subtitle { color: #C5D2E7; }
.hero__visual { z-index: 1; }
.hero__visual::before {
  content: '';
  position: absolute;
  inset: 5% -10% 0;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(39, 109, 174, .28), rgba(47, 215, 223, .08) 34%, transparent 70%);
  filter: blur(8px);
}

html[data-theme="light"] .hero__video { filter: saturate(.86) contrast(.94) brightness(1.08); }
html[data-theme="light"] .hero__video-scrim {
  background:
    linear-gradient(90deg, rgba(248, 251, 249, .42) 0%, rgba(244, 249, 248, .3) 38%, rgba(232, 244, 244, .16) 70%, rgba(20, 54, 74, .1) 100%),
    linear-gradient(180deg, rgba(239, 247, 247, .18), transparent 46%, rgba(236, 245, 243, .4) 100%);
}
html[data-theme="light"] .hero__content {
  border-color: rgba(25, 83, 132, .18);
  color: #10223A;
  background: linear-gradient(145deg, rgba(252, 253, 250, .62), rgba(239, 248, 247, .38));
  box-shadow: 0 34px 90px rgba(28, 64, 82, .19), inset 0 1px rgba(255, 255, 255, .9);
  backdrop-filter: blur(5px) saturate(108%);
}
html[data-theme="light"] .hero__eyebrow { color: #174F70; border-color: rgba(22, 87, 129, .2); background: rgba(249, 253, 250, .62); }
html[data-theme="light"] .hero__title { color: #10223A; }
html[data-theme="light"] .hero__subtitle { color: #3C536A; }
html[data-theme="light"] .hero .grad-text {
  background: linear-gradient(105deg, #0E2F76 0%, #0E6E8D 54%, #137A68 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
html[data-theme="light"] .hero .store-badge { color: #14233A; background: rgba(252, 253, 250, .74); border-color: rgba(27, 74, 128, .16); }

/* Pastki bo‘limlardagi juda yengil trading-video atmosferasi. Video matn va
   kartalardan pastda qoladi; gradient va opacity watermark/shovqinni bosadi. */
.analytics, .news { overflow: hidden; }
.analytics > .container, .news > .container { position: relative; z-index: 2; }
.section-video-bg {
  position: absolute;
  inset: 28px max(var(--page-gutter, 16px), calc((100% - var(--content-max, 1840px)) / 2));
  z-index: 0;
  overflow: hidden;
  border-radius: 44px;
  opacity: .115;
  pointer-events: none;
  background: var(--surface);
  box-shadow: inset 0 0 90px var(--bg);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 13%, #000 87%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 13%, #000 87%, transparent);
}
.section-video-bg video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.035);
  filter: saturate(.6) contrast(1.12) blur(.65px);
}
.section-video-bg--analytics video { object-position: 54% 50%; }
.section-video-bg--news video { object-position: 50% 50%; }
.section-video-bg__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6, 13, 36, .62), rgba(6, 13, 36, .22) 52%, rgba(6, 13, 36, .58)),
    linear-gradient(180deg, rgba(6, 13, 36, .56), transparent 42%, rgba(6, 13, 36, .7));
}
html[data-theme="light"] .section-video-bg {
  opacity: .085;
  background: #EDF3F7;
  box-shadow: inset 0 0 90px rgba(236, 242, 247, .92);
}
html[data-theme="light"] .section-video-bg video { filter: saturate(.45) contrast(1.04) blur(.75px); }
html[data-theme="light"] .section-video-bg__scrim {
  background:
    linear-gradient(90deg, rgba(245, 251, 255, .7), rgba(245, 251, 255, .24) 52%, rgba(245, 251, 255, .68)),
    linear-gradient(180deg, rgba(245, 251, 255, .62), transparent 42%, rgba(245, 251, 255, .78));
}

/* ═══════════ CAPITAL SOLUTIONS · ROUNDED NEON BENTO ═══════════ */
.solutions {
  --solution-cyan: #49D7FF;
  --solution-blue: #6E95FF;
  --solution-gold: #FFC960;
  --solution-green: #83E6B0;
  position: relative;
}
.solutions .section-head { max-width: 850px; }
.solutions .section-head p { max-width: 720px; }
.solutions__overview {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  margin-bottom: 22px;
  padding: clamp(26px, 4vw, 44px);
  overflow: hidden;
  border-radius: clamp(28px, 3vw, 40px);
  background:
    radial-gradient(circle at 82% 24%, rgba(170, 192, 225, .11), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--surface) 90%, #102C48), var(--glass-bg));
}
.solutions__overview::after {
  content: '';
  position: absolute;
  width: 220px;
  height: 220px;
  right: -100px;
  top: -120px;
  border: 1px solid rgba(170, 192, 225, .18);
  border-radius: 50%;
  box-shadow: 0 0 70px rgba(170, 192, 225, .12), inset 0 0 50px rgba(170, 192, 225, .08);
}
.solutions__kicker { display: block; margin-bottom: 10px; color: var(--blue); font-size: 10px; font-weight: 850; letter-spacing: .17em; }
.solutions__overview h3 { max-width: 680px; font-size: clamp(25px, 3vw, 40px); line-height: 1.08; letter-spacing: -.035em; }
.solutions__overview p { max-width: 720px; margin-top: 13px; color: var(--ink-2); line-height: 1.7; }
.solutions__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; position: relative; z-index: 1; }
.solutions__metrics div { min-width: 0; padding: 18px 14px; border: 1px solid var(--glass-brd); border-radius: 18px; background: color-mix(in srgb, var(--surface) 74%, transparent); }
.solutions__metrics strong { display: block; color: var(--ink); font: 750 clamp(22px, 3vw, 34px)/1 var(--font-display); letter-spacing: -.05em; }
.solutions__metrics span { display: block; margin-top: 8px; color: var(--ink-3); font-size: 10px; font-weight: 720; line-height: 1.35; }

.solutions__grid { gap: 20px; }
.solution-card {
  --solution-accent: var(--solution-cyan);
  --led-accent: var(--solution-accent);
  grid-column: span 5;
  min-height: 0;
  padding: clamp(25px, 3vw, 36px);
  border-radius: clamp(28px, 3vw, 40px);
  border-color: color-mix(in srgb, var(--solution-accent) 20%, var(--glass-brd));
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--solution-accent) 12%, transparent), transparent 38%),
    linear-gradient(145deg, color-mix(in srgb, var(--surface) 94%, var(--solution-accent)), var(--glass-bg));
  box-shadow: 0 24px 70px rgba(2, 9, 20, .13), inset 0 1px rgba(255, 255, 255, .05);
  transition: transform .18s var(--ease), border-color .18s var(--ease), box-shadow .22s var(--ease);
}
.solution-card:nth-child(2), .solution-card:nth-child(3) { grid-column: span 7; }
.solution-card:nth-child(4) { grid-column: span 5; }
.solution-card--mobile { grid-column: 1 / -1; }
.solution-card:hover { transform: translateY(-8px); border-color: color-mix(in srgb, var(--solution-accent) 55%, transparent); box-shadow: 0 34px 90px rgba(2, 9, 20, .24), 0 0 34px color-mix(in srgb, var(--solution-accent) 12%, transparent); }
.solution-card::after { display: none; }
.solution-card__ambient { position: absolute; width: 170px; height: 170px; right: -84px; top: -90px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--solution-accent) 24%, transparent); box-shadow: 0 0 55px color-mix(in srgb, var(--solution-accent) 12%, transparent), inset 0 0 36px color-mix(in srgb, var(--solution-accent) 8%, transparent); pointer-events: none; }
.solution-card--broker { --solution-accent: var(--solution-blue); }
.solution-card--capital { --solution-accent: var(--solution-gold); }
.solution-card--trust { --solution-accent: var(--solution-green); }
.solution-card--mobile { --solution-accent: var(--solution-cyan); }
html[data-theme="dark"] .solutions__overview {
  background:
    radial-gradient(circle at 82% 24%, rgba(170, 192, 225, .11), transparent 34%),
    linear-gradient(135deg, rgba(8, 18, 34, .96), rgba(8, 16, 30, .93));
}
html[data-theme="dark"] .solution-card {
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--solution-accent) 13%, transparent), transparent 38%),
    linear-gradient(145deg, rgba(7, 16, 31, .97), rgba(9, 18, 42, .94));
}
html[data-theme="light"] .solutions__overview {
  background:
    radial-gradient(circle at 82% 24%, rgba(24, 143, 176, .1), transparent 34%),
    linear-gradient(135deg, rgba(250, 254, 255, .97), rgba(241, 248, 247, .95));
}
html[data-theme="light"] .solution-card {
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--solution-accent) 10%, transparent), transparent 38%),
    linear-gradient(145deg, rgba(250, 254, 255, .98), rgba(246, 250, 249, .96));
}
.solution-card__top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.solution-card__num { color: var(--solution-accent); font: 800 11px/1 var(--font-mono, monospace); letter-spacing: .19em; }
.solution-card__icon { width: 45px; height: 45px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--solution-accent) 30%, transparent); border-radius: 15px; color: var(--solution-accent); background: color-mix(in srgb, var(--solution-accent) 8%, transparent); box-shadow: inset 0 1px rgba(255, 255, 255, .06), 0 0 20px color-mix(in srgb, var(--solution-accent) 7%, transparent); }
.solution-card__icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.solution-card h3 { position: relative; z-index: 1; margin: 26px 0 11px; font-size: clamp(24px, 2.7vw, 38px); line-height: 1.08; letter-spacing: -.035em; }
.solution-card > p, .solution-card__mobile-copy > p { position: relative; z-index: 1; max-width: 720px; color: var(--ink-2); line-height: 1.7; }
.solution-list { position: relative; z-index: 1; display: grid; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.solution-list li { position: relative; padding-left: 25px; color: var(--ink-2); font-size: 13px; line-height: 1.5; }
.solution-list li::before { content: '✓'; position: absolute; left: 0; top: .05em; width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; color: var(--solution-accent); background: color-mix(in srgb, var(--solution-accent) 9%, transparent); font-size: 10px; font-weight: 900; box-shadow: 0 0 13px color-mix(in srgb, var(--solution-accent) 12%, transparent); }
.solution-card__link { position: relative; z-index: 2; width: fit-content; min-height: 44px; display: inline-flex; align-items: center; gap: 12px; margin-top: 25px; padding: 0 17px; border: 1px solid color-mix(in srgb, var(--solution-accent) 28%, transparent); border-radius: 14px; color: var(--ink); background: color-mix(in srgb, var(--solution-accent) 8%, transparent); font-size: 12px; font-weight: 780; }
.solution-card__link:hover { color: var(--solution-accent); border-color: color-mix(in srgb, var(--solution-accent) 55%, transparent); }
.solution-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.solution-tags span { padding: 7px 10px; border: 1px solid color-mix(in srgb, var(--solution-accent) 24%, transparent); border-radius: 999px; color: var(--solution-accent); background: color-mix(in srgb, var(--solution-accent) 6%, transparent); font: 750 10px/1 var(--font-mono, monospace); letter-spacing: .08em; }
.solution-terms { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 28px; }
.solution-terms > div { min-width: 0; padding: 16px 14px; border: 1px solid color-mix(in srgb, var(--solution-accent) 16%, var(--glass-brd)); border-radius: 17px; background: color-mix(in srgb, var(--surface) 76%, transparent); }
.solution-terms span { display: block; margin-bottom: 8px; color: var(--ink-3); font-size: 9px; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.solution-terms strong { display: block; color: var(--ink); font: 760 clamp(18px, 2vw, 27px)/1 var(--font-display); letter-spacing: -.035em; }
.solution-terms strong small { display: inline; margin: 0; color: var(--ink-3); font-size: 9px; font-weight: 700; letter-spacing: 0; }
.solution-risk { position: relative; z-index: 1; display: flex; align-items: flex-start; gap: 9px; margin-top: 22px; padding: 12px 14px; border: 1px solid color-mix(in srgb, var(--solution-accent) 18%, transparent); border-radius: 14px; background: color-mix(in srgb, var(--solution-accent) 5%, transparent); }
.solution-risk > span { width: 18px; height: 18px; flex: none; display: grid; place-items: center; border-radius: 50%; color: var(--solution-accent); border: 1px solid currentColor; font: 800 10px/1 var(--font-display); }
.solution-risk small { margin: 0; color: var(--ink-3); font-size: 10px; line-height: 1.55; }
.solution-card--mobile { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: clamp(34px, 7vw, 100px); align-items: center; min-height: 470px; padding-inline: clamp(30px, 5vw, 70px); }
.solution-list--inline { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 800px; }
.solution-apps { position: relative; z-index: 2; }
.solution-apps a { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-color: color-mix(in srgb, var(--solution-accent) 24%, var(--glass-brd)); border-radius: 13px; background: color-mix(in srgb, var(--surface) 78%, transparent); font-weight: 720; }
.solution-apps a:hover { color: var(--solution-accent); border-color: color-mix(in srgb, var(--solution-accent) 55%, transparent); }
.solution-device { position: relative; justify-self: center; width: 234px; height: 430px; padding: 5px; border: 2px solid #8993A4; border-radius: 48px; background: linear-gradient(145deg, #0B0F17, #3A4250 48%, #080B10); box-shadow: 0 38px 80px rgba(0, 0, 0, .34), 0 0 50px color-mix(in srgb, var(--solution-accent) 15%, transparent), inset 0 0 0 1px rgba(255,255,255,.14); color: #0B2258; transform: rotate(3deg); }
.solution-device::after { content: ''; position: absolute; inset: 3px; border-radius: 43px; border: 1px solid rgba(255, 255, 255, .16); pointer-events: none; }
.solution-device__screen { position: relative; width: 100%; height: 100%; padding: 9px 12px 12px; overflow: hidden; border-radius: 42px; background: linear-gradient(165deg, #EFF9FE, #D7E4F4 76%); box-shadow: inset 0 0 30px rgba(131, 165, 49, .12); }
.solution-device__button { position: absolute; z-index: 2; width: 3px; border-radius: 4px; background: #545E6D; }.solution-device__button--action { left: -4px; top: 74px; height: 22px; }.solution-device__button--volume { left: -4px; top: 108px; height: 62px; }.solution-device__button--power { right: -4px; top: 114px; height: 58px; }
.solution-device__status { position: relative; height: 29px; display: flex; align-items: center; justify-content: space-between; padding-inline: 6px; font: 700 8px/1 var(--font-display); }.solution-device__status > span:last-child { font-size: 6px; letter-spacing: 1px; }.solution-device__island { position: absolute; top: 1px; left: 50%; width: 68px; height: 20px; border-radius: 20px; background: #02050A; transform: translateX(-50%); box-shadow: inset 0 0 2px rgba(255,255,255,.18); }
.solution-device__brand { display: grid; grid-template-columns: 32px 1fr 18px; align-items: center; gap: 8px; padding: 5px 2px 9px; }.solution-device__logo { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; color: #E5F5AE; background: #0B2258; font: 900 17px/1 var(--font-display); }.solution-device__brand strong { font-size: 13px; letter-spacing: .14em; }.solution-device__bell { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #E02D3C; font-size: 16px; }
.solution-device__balance { padding: 10px 5px 0; }.solution-device__balance small, .solution-device__balance strong, .solution-device__balance em { display: block; }.solution-device__balance small { color: #677546; font-size: 7px; font-weight: 850; letter-spacing: .13em; }.solution-device__balance strong { margin-top: 5px; font-size: 23px; letter-spacing: -.055em; }.solution-device__balance em { width: fit-content; margin-top: 5px; padding: 4px 7px; border-radius: 999px; color: #227A50; background: rgba(35, 122, 80, .1); font-size: 8px; font-style: normal; font-weight: 850; }
.solution-device svg.solution-device__chart { width: 100%; height: 75px; margin-top: 7px; overflow: visible; }
.solution-device__fill { fill: url(#solutionChart); }
.solution-device__line { fill: none; stroke: #779F1E; stroke-width: 2.2; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 5px rgba(112, 151, 30, .32)); stroke-dasharray: 240; animation: solution-line-in 1.8s var(--ease) both; }@keyframes solution-line-in { from { stroke-dashoffset: 240; } }
.solution-device__assets { display: grid; gap: 5px; }.solution-device__assets > span { min-height: 25px; display: flex; align-items: center; justify-content: space-between; padding: 5px 8px; border-radius: 9px; background: rgba(255,255,255,.48); box-shadow: inset 0 0 0 1px rgba(89, 109, 42, .08); }.solution-device__assets i { font: 800 7.5px/1 var(--font-mono, monospace); font-style: normal; }.solution-device__assets b { color: #227A50; font-size: 7.5px; }.solution-device__assets b.is-down { color: #C73F4A; }
.solution-device__nav { position: absolute; left: 12px; right: 12px; bottom: 11px; height: 35px; display: flex; align-items: center; justify-content: space-around; padding-bottom: 5px; border-radius: 12px; color: #6A7847; background: rgba(250,255,236,.7); font-weight: 900; }.solution-device__nav span:first-child { color: #081C4E; }.solution-device__homebar { position: absolute; z-index: 2; left: 50%; bottom: 5px; width: 64px; height: 3px; border-radius: 9px; background: #263119; transform: translateX(-50%); }

/* ═══════════ AUTH MODAL · EXPLICIT LIGHT/DARK COLOR SYSTEM ═══════════ */
html[data-theme="light"] #cabinet-modal .modal__backdrop {
  background:
    radial-gradient(circle at 20% 15%, rgba(45, 135, 177, .19), transparent 34%),
    radial-gradient(circle at 82% 80%, rgba(24, 126, 105, .12), transparent 30%),
    rgba(225, 238, 239, .62);
}
html[data-theme="light"] .modal__panel--cab.cab-auth-mode {
  color: #15253B;
  background: rgba(248, 251, 249, .88);
  border-color: rgba(26, 79, 126, .2);
  box-shadow: 0 42px 110px rgba(29, 65, 83, .25), inset 0 1px rgba(255, 255, 255, .94);
}
html[data-theme="light"] .cab-auth-mode .modal__close { color: #16344E; background: rgba(248, 252, 250, .72); border-color: rgba(24, 75, 115, .18); }
html[data-theme="light"] .cab-auth__visual {
  color: #13314B;
  background:
    linear-gradient(155deg, rgba(227, 241, 244, .96), rgba(209, 231, 237, .92) 58%, rgba(218, 241, 235, .94)),
    radial-gradient(circle at 50% 10%, rgba(33, 119, 164, .2), transparent 50%);
  border-color: rgba(28, 86, 123, .14);
}
html[data-theme="light"] .cab-auth__grid { opacity: .25; background-image: linear-gradient(rgba(25, 85, 124, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(25, 85, 124, .16) 1px, transparent 1px); }
html[data-theme="light"] .cab-auth__brand { color: #173A57; }
html[data-theme="light"] .cab-auth__brand b { color: #0B5F83; }
html[data-theme="light"] .cab-auth__eyebrow { color: #08735D; }
html[data-theme="light"] .cab-auth__story h3 { color: #102A43; }
html[data-theme="light"] .cab-auth__story p { color: #486377; }
html[data-theme="light"] .cab-auth__market { background: rgba(249, 253, 251, .65); border-color: rgba(27, 92, 132, .17); }
html[data-theme="light"] .cab-auth__market span, html[data-theme="light"] .cab-auth__trust { color: #567084; }
html[data-theme="light"] .cab-auth__market strong { color: #15344D; }
html[data-theme="light"] .cab-auth__market small { color: #08735D; }
html[data-theme="light"] .cab-auth__chart-fill { fill: rgba(11, 118, 145, .1); }
html[data-theme="light"] .cab-auth__chart-line { stroke: #087D8D; filter: drop-shadow(0 0 6px rgba(8, 125, 141, .28)); }
html[data-theme="light"] .cab-auth__trust span, html[data-theme="light"] .auth-safe i { background: #0B9271; box-shadow: 0 0 10px rgba(11, 146, 113, .45); }
html[data-theme="light"] .cab-auth__surface { background: linear-gradient(145deg, rgba(250, 254, 255, .91), rgba(237, 246, 245, .88)); }
html[data-theme="light"] .cab-auth__mobile-brand { color: #0B6086; }
html[data-theme="light"] .cab-auth__head h2 { color: #132840; }
html[data-theme="light"] .cab-auth__head p { color: #586E82; }
html[data-theme="light"] .cab-tabs { background: rgba(25, 89, 128, .06); border-color: rgba(25, 89, 128, .13); }
html[data-theme="light"] .cab-tabs .chip { color: #617387; }
html[data-theme="light"] .cab-tabs .chip:hover { color: #143D5D; }
html[data-theme="light"] .cab-tabs .chip.active { color: #0A5277; background: rgba(32, 117, 155, .12); box-shadow: inset 0 0 0 1px rgba(24, 101, 141, .15), 0 8px 22px rgba(29, 80, 104, .08); }
html[data-theme="light"] .auth-field > span:first-child { color: #334D65; }
html[data-theme="light"] .auth-input-wrap { background: rgba(251, 254, 255, .76); border-color: rgba(27, 81, 123, .2); }
html[data-theme="light"] .auth-input-wrap:focus-within { background: rgba(251, 254, 255, .95); border-color: rgba(9, 97, 143, .62); box-shadow: 0 0 0 4px rgba(18, 115, 151, .1), inset 0 1px rgba(255, 255, 255, .85); }
html[data-theme="light"] .auth-input-wrap > svg { color: #59738A; }
html[data-theme="light"] .auth-input-wrap input { color: #15283D; }
html[data-theme="light"] .auth-input-wrap input::placeholder { color: #8191A0; }
html[data-theme="light"] .auth-password-toggle { color: #5C7388; }
html[data-theme="light"] .auth-password-toggle:hover, html[data-theme="light"] .auth-password-toggle.is-visible { color: #08735D; background: rgba(8, 115, 93, .08); }
html[data-theme="light"] .auth-safe { color: #5D7185; }
html[data-theme="light"] .auth-form__utility .cab-link { color: #0B608E; }
html[data-theme="light"] .google-auth-btn { color: #23384D; background: rgba(251, 254, 255, .7); border-color: rgba(30, 79, 119, .2); box-shadow: 0 8px 24px rgba(34, 76, 96, .06), inset 0 1px rgba(255, 255, 255, .88); }
html[data-theme="light"] .google-auth-btn:hover { color: #0A5277; background: rgba(251, 254, 255, .94); border-color: rgba(10, 94, 139, .4); box-shadow: 0 13px 30px rgba(30, 74, 95, .12), 0 0 0 4px rgba(66, 133, 244, .06); }
html[data-theme="light"] .auth-divider { color: #718396; }
html[data-theme="light"] .auth-divider::before { background: linear-gradient(90deg, transparent, rgba(32, 85, 126, .2)); }
html[data-theme="light"] .auth-divider::after { background: linear-gradient(90deg, rgba(32, 85, 126, .2), transparent); }

@media (max-width: 1100px) {
  .hero__content { padding: 30px; }
  .solutions__overview { grid-template-columns: 1fr; }
  .solutions__metrics { max-width: 620px; }
  .solution-list--inline { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .hero { padding-top: 126px; }
  .hero__content { max-width: 760px; }
  .hero__content::after { display: none; }
  .hero__video { object-position: 58% 50%; }
  .solution-card, .solution-card:nth-child(2), .solution-card:nth-child(3), .solution-card:nth-child(4), .solution-card--mobile { grid-column: 1 / -1; }
  .solution-card--mobile { grid-template-columns: minmax(0, 1fr) 220px; min-height: 430px; }
  .solution-device { width: 210px; height: 386px; }
  .education__visual { height: 410px; }
  .edu-study-panel { transform: none; }
}
@media (max-width: 700px) {
  .hero { padding: 112px 0 54px; }
  .hero__video { display: block !important; object-position: 50% 50%; transform: scale(1.01); }
  .hero__video-control { left: 14px; bottom: 14px; min-height: 36px; padding: 7px 10px; }
  .hero__video-control span { display: none; }
  .hero__video-scrim { background: linear-gradient(180deg, rgba(3, 9, 21, .58), rgba(4, 12, 24, .48) 55%, rgba(3, 9, 19, .68)); }
  html[data-theme="light"] .hero__video-scrim { background: linear-gradient(180deg, rgba(247, 251, 249, .42), rgba(240, 248, 247, .3) 55%, rgba(235, 245, 243, .52)); }
  .hero__content { padding: 24px 20px; border-radius: 26px; text-align: left; align-items: flex-start; }
  .hero__title { font-size: clamp(39px, 12vw, 56px); }
  .hero__eyebrow { margin-inline: 0; }
  .hero__cta, .hero__stores { justify-content: flex-start; }
  .solutions__overview { padding: 24px 20px; border-radius: 26px; }
  .solutions__metrics { grid-template-columns: 1fr; }
  .solutions__metrics div { display: grid; grid-template-columns: 72px 1fr; align-items: center; padding: 13px 15px; }
  .solutions__metrics span { margin-top: 0; }
  .solution-card { padding: 24px 20px; border-radius: 28px; }
  .solution-terms { grid-template-columns: repeat(2, 1fr); }
  .solution-card--mobile { grid-template-columns: 1fr; padding-inline: 20px; }
  .solution-device { display: block; width: min(210px, 78vw); height: 386px; margin: 8px auto 0; transform: none; }
  .education__visual { height: 386px; }
  .edu-study-panel { inset: 12px 0 10px; padding: 15px; border-radius: 24px; }
  .edu-study-panel__body { padding-block: 12px; }
  .edu-path-card { min-height: 51px; }
  .edu-float-icon { display: none; }
  .t10-visual { margin-inline: -6px; border-radius: 18px; }
  .section-video-bg { inset: 16px 8px; border-radius: 28px; opacity: .08; }
  html[data-theme="light"] .section-video-bg { opacity: .06; }
  .story-film, .story-film--reverse { grid-template-columns: 1fr; gap: 0; padding: 9px; border-radius: 25px; }
  .story-film__copy, .story-film--reverse .story-film__copy { order: 1; padding: 22px 16px 19px; }
  .story-film__stage, .story-film--reverse .story-film__stage { order: 2; border-radius: 19px; }
  .story-film__copy h3 { font-size: clamp(22px, 7vw, 30px); }
  .story-film__copy p { font-size: 12.5px; line-height: 1.62; }
  .story-film__meta { margin-top: 18px; }
  .story-film__corner { top: 10px; left: 10px; padding: 6px 8px; }
}
@media (max-width: 480px) {
  .header__inner { gap: 6px; }
  .header .logo { flex: none; }
  .header .logo__text { display: none; }
  .header__actions { gap: 4px; margin-left: auto; }
  .header__contact, #cabinet-btn, .theme-toggle, .lang__btn, .burger {
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    justify-content: center;
  }
  .lang__btn .chev { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero__video { display: none; }
  .hero__video-control { display: none; }
  .solution-card { transition: none; }
  .solution-device__line, .edu-progress-copy i, .edu-float-icon, .t10-column__bar i { animation: none !important; }
}

/* Global network interaction */
.worldmap__signal {
  position: absolute; z-index: 3; top: 18px; left: 20px;
  display: flex; align-items: center; gap: 8px; padding: 8px 11px;
  border: 1px solid rgba(118, 158, 255, .22); border-radius: 999px;
  background: rgba(6, 12, 25, .66); color: #edf3ff;
  box-shadow: 0 12px 32px rgba(3, 8, 18, .22); backdrop-filter: blur(14px);
  font-size: 9px; letter-spacing: .14em;
}
.worldmap__signal > span {
  width: 7px; height: 7px; border-radius: 50%; background: var(--lime);
  box-shadow: 0 0 0 4px rgba(112, 255, 187, .09), 0 0 14px var(--lime);
  animation: network-beacon 1.7s ease-in-out infinite;
}
.worldmap__signal strong { font-size: inherit; }
.worldmap__signal small { color: #90a3c7; font-size: 8px; }
.worldmap__legend {
  position: absolute; z-index: 3; right: 20px; bottom: 17px;
  display: flex; gap: 16px; padding: 8px 12px; border-radius: 13px;
  background: rgba(6, 12, 25, .68); border: 1px solid rgba(118, 158, 255, .18);
  color: #b8c6e1; font-size: 9px; font-weight: 700; letter-spacing: .06em;
  backdrop-filter: blur(12px);
}
.worldmap__legend span { display: inline-flex; align-items: center; gap: 6px; }
.worldmap__legend i { width: 6px; height: 6px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 7px var(--blue); }
.worldmap__legend i.is-hq { background: #d7e2ff; box-shadow: 0 0 8px #8fb0ff; }
.worldmap__legend b { width: 18px; height: 1px; background: linear-gradient(90deg, transparent, var(--lime), transparent); box-shadow: 0 0 7px var(--lime); }
.country-interactive { cursor: pointer; outline: none; }
.country-interactive:focus-visible path,
.country-interactive:focus-visible,
.country-selected path,
path.country-selected { fill: #72f0bb !important; filter: drop-shadow(0 0 6px rgba(114, 240, 187, .75)); }
.map-links { pointer-events: none; fill: none !important; }
#map-container .map-link {
  fill: none !important; stroke: #3B82F6; stroke-width: 2.1px;
  stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke;
  pointer-events: none;
}
.section-video-bg--analytics { background: var(--surface) url('../assets/media/trading-chart-ambient-a.jpg') center / cover no-repeat; }
.section-video-bg--news { background: var(--surface) url('../assets/media/trading-chart-ambient-b.jpg') center / cover no-repeat; }
.map-link--base { stroke-dasharray: 2 5; stroke-opacity: .72; filter: drop-shadow(0 0 3px rgba(60, 96, 168, .32)); }
#map-container .map-link--lane-1 { stroke: #38BDF8; stroke-dasharray: 2.5 6; }
#map-container .map-link--lane-2 { stroke: #60A5FA; stroke-dasharray: 1.5 5.5; }
#map-container .map-link--pulse {
  stroke: #AAC0E1; stroke-width: 2.4px; stroke-dasharray: 3.5 96.5;
  filter: drop-shadow(0 0 5px rgba(60, 96, 168, .45));
  animation: map-link-signal var(--link-duration, 4.2s) linear infinite; animation-delay: var(--link-delay, 0s);
}
.map-tooltip { min-width: 194px; max-width: min(310px, calc(100% - 20px)); padding: 15px 17px; gap: 2px; }
.map-tooltip > span { line-height: 1.1; }
.map-tooltip__zones { display: grid; gap: 5px; margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(128, 159, 221, .14); }
.map-tooltip__zones span { display: grid; grid-template-columns: 1fr auto auto; align-items: baseline; gap: 8px; color: var(--ink-2); font-size: 11px; }
.map-tooltip__zones small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.map-tooltip__zones b { color: var(--ink); font-variant-numeric: tabular-nums; }
.map-tooltip__zones i { color: var(--ink-3); font-style: normal; }
.map-tooltip__zones em { color: var(--ink-3); font-size: 10px; font-style: normal; }
@keyframes map-link-signal {
  0% { stroke-dashoffset: 0; opacity: .08; }
  14% { opacity: .92; }
  63% { opacity: .92; }
  76%, 100% { stroke-dashoffset: -100; opacity: .08; }
}
@keyframes network-beacon { 50% { opacity: .55; transform: scale(.78); } }

/* Compact office locator — placed under the contact form on wide screens. */
.office-map {
  grid-column: 2; position: relative; overflow: hidden; padding: 20px;
  border-radius: 28px; background: linear-gradient(145deg, rgba(13, 22, 39, .82), rgba(7, 13, 25, .72));
}
.office-map::before {
  content: ''; position: absolute; width: 220px; height: 220px; right: -90px; top: -130px;
  border-radius: 50%; background: rgba(83, 126, 236, .17); filter: blur(45px); pointer-events: none;
}
.office-map__head { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 14px; }
.office-map__eyebrow { color: var(--brand-light); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.office-map__head h3 { margin-top: 3px; font-size: 18px; }
.office-map__live {
  display: inline-flex; align-items: center; gap: 7px; flex: none; padding: 7px 9px;
  border: 1px solid rgba(110, 240, 181, .2); border-radius: 999px;
  color: var(--ink-2); font-size: 9px; font-weight: 750;
}
.office-map__live i { width: 6px; height: 6px; border-radius: 50%; background: #91a0bc; }
.office-map__live.is-open i { background: var(--lime); box-shadow: 0 0 9px var(--lime); }
.office-map__live.is-closed i { background: #ff8a94; box-shadow: 0 0 8px rgba(255, 112, 125, .4); }
.office-map__tabs { position: relative; display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 10px; }
.office-map__tabs button {
  display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px;
  border: 1px solid rgba(126, 157, 220, .16); border-radius: 999px;
  background: rgba(118, 151, 218, .06); color: var(--ink-2); font: inherit; font-size: 10px; font-weight: 750; cursor: pointer;
}
.office-map__tabs button span { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.office-map__tabs button.active { color: #e9f1ff; border-color: rgba(116, 162, 255, .42); background: rgba(74, 116, 218, .2); }
.office-map__viewport { position: relative; height: 235px; overflow: hidden; border-radius: 20px; border: 1px solid rgba(132, 164, 228, .19); background: #111a2a; }
.office-map__viewport::after { content: ''; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 28px rgba(5, 12, 32, .28); }
.office-map__viewport iframe { display: block; width: 100%; height: 100%; border: 0; filter: saturate(.82) contrast(1.02); }
.office-map__focus { position: absolute; left: 50%; top: 50%; width: 34px; height: 34px; transform: translate(-50%, -50%); border: 1px solid rgba(103, 242, 179, .55); border-radius: 50%; pointer-events: none; }
.office-map__focus i { position: absolute; inset: 11px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 15px var(--lime); }
.office-map__details { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 13px; }
.office-map__address { display: flex; min-width: 0; align-items: flex-start; gap: 10px; }
.office-map__address > span { width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 10px; background: rgba(88, 132, 235, .12); color: var(--brand-light); }
.office-map__address svg { width: 16px; height: 16px; }
.office-map__address strong { display: block; font-size: 12px; }
.office-map__address p { margin-top: 2px; color: var(--ink-2); font-size: 10px; line-height: 1.45; }
.office-map__address small { display: block; margin-top: 4px; color: var(--ink-3); font-size: 9px; font-variant-numeric: tabular-nums; }
.office-map__route { min-height: 38px; padding: 9px 12px; flex: none; font-size: 10px; }
.office-map__route span { margin-left: 5px; }
html[data-theme="light"] .worldmap__signal,
html[data-theme="light"] .worldmap__legend { background: rgba(248, 250, 253, .88); color: #1a2a49; border-color: rgba(30, 65, 147, .16); }
html[data-theme="light"] .worldmap__signal small,
html[data-theme="light"] .worldmap__legend { color: #52637f; }
html[data-theme="light"] .office-map { background: linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(237, 241, 248, .82)); }
html[data-theme="light"] .office-map__tabs button.active { color: #214b9f; background: rgba(61, 106, 208, .1); }

@media (max-width: 900px) {
  .office-map { grid-column: auto; }
  .worldmap__signal { top: 10px; left: 10px; }
  .worldmap__signal small, .worldmap__legend { display: none; }
  #map-container .map-link { opacity: .72; stroke-width: 1.15px; filter: none; }
  #map-container .map-link--pulse { display: none; animation: none; }
}
@media (max-width: 620px) {
  .worldmap__signal { padding: 6px 8px; font-size: 7px; }
  .map-tooltip { max-width: calc(100% - 16px); }
  .map-tooltip__zones span:nth-child(n+3) { display: none; }
  .office-map { padding: 14px; border-radius: 23px; }
  .office-map__head { align-items: center; }
  .office-map__head h3 { font-size: 16px; }
  .office-map__viewport { height: 215px; border-radius: 17px; }
  .office-map__details { align-items: flex-end; }
  .office-map__route { width: 42px; padding: 0; font-size: 0; }
  .office-map__route span { display: inline; margin: 0; color: var(--blue); font-size: 16px; line-height: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .map-link--pulse, .worldmap__signal > span { animation: none !important; }
}

/* Mobile reliability pass — compact controls, visible documents and readable live time. */
@media (max-width: 1120px) {
  .nav {
    top: 8px; right: 8px; bottom: 8px;
    width: min(360px, calc(100vw - 16px));
    padding: 78px 14px 18px;
    gap: 6px;
    border: 1px solid rgba(150, 173, 219, .18);
    border-radius: 28px;
  }
  .nav__item--drop { width: 100%; }
  .nav__link,
  .nav__drop-btn { width: 100%; justify-content: flex-start; min-height: 46px; }
  .nav__drop-btn .chev { margin-left: auto; }
  .nav__dropdown { margin-top: 4px; padding: 6px 8px; border-radius: 16px; }
  .nav__dropdown a { display: flex; align-items: center; min-height: 40px; }
}

@media (max-width: 700px) {
  .section { padding-block: 62px; }
  .section-head { margin-bottom: 30px; }
  .section-head h2 { font-size: clamp(27px, 8vw, 38px); }

  /* The contact destination remains in the menu; removing this duplicate icon
     gives the mobile header enough room on 320–390 px screens. */
  .header__contact { display: none !important; }
  .header__inner { gap: 6px; }
  .header__actions { gap: 5px; margin-left: auto; }
  #cabinet-btn, .theme-toggle, .lang__btn, .burger {
    width: 44px; min-width: 44px; height: 44px; min-height: 44px;
    padding: 0; justify-content: center;
  }
  .theme-toggle { width: 44px; min-width: 44px; }
  .lang__btn { gap: 0; }
  .lang__btn .chev, .lang__btn #lang-current-code { display: none; }
  .lang__list { position: fixed; top: 68px; right: 68px; }

  .worldmap__wrap { padding: 54px 12px 14px; overflow: hidden; }
  #map-container { min-height: 190px; display: grid; align-items: center; }
  #map-container svg { min-width: 100%; touch-action: manipulation; }
  .map-tooltip {
    position: relative; inset: auto !important;
    width: 100%; max-width: none; min-width: 0;
    margin-top: 10px; padding: 13px 14px;
    pointer-events: auto;
  }
  .map-tooltip > span { font-size: 18px; }
  .map-tooltip__zones { max-height: 112px; overflow-y: auto; overscroll-behavior: contain; }
  .map-tooltip__zones span { grid-template-columns: minmax(0, 1fr) auto auto; }
  .worldmap__signal { top: 12px; left: 12px; }

  /* Never leave legal documents invisible when a mobile browser throttles
     IntersectionObserver/reveal effects. */
  .documents .reveal,
  .documents .reveal.visible { opacity: 1; transform: none; filter: none; }
  .doc-ribbon__meta { margin: 0 0 12px; align-items: flex-start; font-size: 11px; }
  .doc-ribbon__rail { display: block; }
  .doc-ribbon__viewport {
    width: 100%; padding: 5px 0 14px;
    mask-image: linear-gradient(90deg, transparent, #000 2%, #000 98%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 2%, #000 98%, transparent);
  }
  .doc-ribbon__track { gap: 12px; padding-inline: 10px; }
  .doc-ribbon-card { flex-basis: min(68vw, 220px); padding: 9px; border-radius: 17px; }
  .doc-ribbon-card__paper { border-radius: 10px; }
  .doc-ribbon-card__info { padding: 10px 2px 2px; }
  .doc-ribbon-card__info strong { font-size: 12.5px; }
  .doc-ribbon-card__info small { font-size: 9px; }
  .doc-ribbon__prev { display: none; }
  .doc-ribbon__rail { position: relative; }
  .doc-ribbon__viewport { padding-right: 42px; }
  .doc-ribbon__next {
    position: absolute; z-index: 5; right: 1px; top: 50%;
    display: grid !important; place-items: center; width: 44px; height: 44px;
    transform: translateY(-50%); border-radius: 50%;
    color: #EAF4FF; border: 1px solid rgba(118, 241, 189, .42);
    background: linear-gradient(145deg, rgba(24, 42, 72, .96), rgba(9, 19, 35, .96));
    box-shadow: 0 12px 28px rgba(2, 8, 18, .34), 0 0 20px rgba(112, 239, 184, .12);
  }
  .doc-ribbon__next svg { width: 18px; height: 18px; }
  html[data-theme="light"] .doc-ribbon__next {
    color: #234F9E; border-color: rgba(42, 92, 189, .26);
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(225,233,247,.97));
    box-shadow: 0 12px 28px rgba(44, 65, 105, .2), 0 0 18px rgba(43, 93, 194, .08);
  }
  .docs__grid--secondary { margin-top: 18px; }
  .doc-card { padding: 20px 18px; border-radius: 22px; }
  .doc-image-frame img { max-height: 62svh; }
  .doc-image-controls { gap: 7px; }

  .office-map__viewport { height: 190px; }
  .office-map__details { gap: 10px; }
  .office-map__address p { font-size: 10.5px; }
}

@media (max-width: 420px) {
  .container { width: calc(100% - 22px); }
  .header .logo { padding-right: 5px; }
  .header .logo__mark { width: 38px; height: 42px; }
  .header .logo__text { display: none; }
  .header__actions { gap: 3px; }
  #cabinet-btn, .theme-toggle, .lang__btn, .burger {
    width: 42px; min-width: 42px; height: 42px; min-height: 42px;
  }
  .nav { border-radius: 24px; padding-top: 70px; }
  .nav__link, .nav__drop-btn { min-height: 43px; padding: 10px 12px; font-size: 14px; }
  .doc-ribbon-card { flex-basis: min(72vw, 210px); }
  .map-tooltip__zones span:nth-child(n+3) { display: grid; }
  .office-map__live { padding: 6px 7px; }
  .office-map__live span { font-size: 0; }
  .office-map__live span::after { content: 'LIVE'; font-size: 8px; }
}

/* Founder, CTA and regional metadata responsive finish. */
.map-tooltip__meta {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  margin-top: 9px; padding-top: 9px; border-top: 1px solid rgba(128, 159, 221, .14);
}
.map-tooltip__meta b { color: var(--ink); font-size: 11px; }
.map-tooltip__meta i {
  padding: 4px 7px; border: 1px solid rgba(112, 240, 186, .2); border-radius: 999px;
  color: var(--lime); background: rgba(112, 240, 186, .07); font-size: 8px; font-style: normal; font-weight: 800;
}
.map-tooltip > p { margin-top: 7px; color: var(--ink-3); font-size: 9.5px; line-height: 1.45; }
html[data-theme="light"] .map-tooltip__meta i { color: #16357F; border-color: rgba(90, 130, 196, .3); background: rgba(170, 192, 225, .16); }

@media (max-width: 900px), (pointer: coarse) {
  .section-video-bg video { display: none !important; }
  .hero__video { display: block !important; }
  .hero__media { background-position: 54% 50%; }
  .hero__content { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .section-video-bg { opacity: .07; box-shadow: none; }
  .founder-card { grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); min-height: 440px; }
  .founder-card__portrait { min-height: 440px; }
  .founder-card__quote { padding: 34px; }
  .founder-card blockquote { font-size: clamp(20px, 3.5vw, 28px); }
  .section-actions .btn { flex: 1 1 210px; }
  .map-link--pulse { filter: none; }
}

@media (max-width: 700px) {
  .section-actions { display: grid; grid-template-columns: 1fr; width: 100%; gap: 9px; margin-top: 22px; }
  .section-actions .btn { width: 100%; min-width: 0; padding-inline: 18px; }
  .section-actions--contacts { margin: -4px 0 24px; }
  .founder-card { grid-template-columns: 1fr; min-height: 0; margin-top: 25px; border-radius: 27px; }
  .founder-card__portrait { min-height: 390px; height: 66svh; max-height: 520px; }
  .founder-card__portrait::after { background: linear-gradient(0deg, rgba(9, 18, 42, .58), transparent 42%); }
  .founder-card__quote { padding: 30px 22px 34px; }
  .founder-card__quote::before { top: 2px; right: 16px; font-size: 120px; }
  .founder-card blockquote { font-size: clamp(21px, 6.2vw, 28px); }
  .founder-card__quote > div { margin-top: 26px; padding-top: 18px; }
  .team-carousel { margin-top: 25px; }
  .team-carousel__viewport { min-height: 0; }
  .team-carousel__controls { width: 100%; justify-content: space-between; gap: 9px; margin-top: 12px; padding: 7px 9px; }
  .team-carousel__arrow { width: 44px; height: 44px; flex-basis: 44px; }
  .company-details { margin-top: 20px; padding: 24px 19px; border-radius: 25px; }
  .company-details__grid, .company-details__metrics { grid-template-columns: 1fr; }
  .company-details__metrics { gap: 1px; }
  .map-tooltip__meta { align-items: flex-start; flex-direction: column; gap: 6px; }
}

@media (max-width: 420px) {
  .founder-card__portrait { min-height: 340px; height: 58svh; }
  .founder-card__portrait img { object-position: 50% 30%; }
  .map-tooltip > p { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero__video, .section-video-bg video { display: none !important; }
  .map-link--pulse { animation: none !important; opacity: .34; stroke-dasharray: 3 8; }
  .team-slide.is-active { animation: none; }
  .team-slide .founder-card__quote > div::before { animation: none; opacity: .7; transform: none; }
}

/* ═══════════ WIDE CANVAS · RESPONSIVE INFORMATION ARCHITECTURE ═══════════
   Katta monitorlarda kontent ekran kengligidan foydalanadi; planshet va
   telefonda esa kartalar o‘qiladigan, izchil ustunlarga qaytadi. */
.container {
  width: min(1840px, calc(100% - clamp(32px, 4vw, 80px)));
}
.section::before { width: min(96%, 1760px); }
.section-head { max-width: 960px; }
.section-head p { max-width: 820px; }
.hero__video {
  object-position: 50% 48%;
  transform: scale(1.006);
  filter: saturate(.96) contrast(1.04) brightness(.9);
}
.hero__video-scrim {
  background:
    linear-gradient(90deg, rgba(2, 8, 23, .7) 0%, rgba(4, 18, 39, .52) 38%, rgba(5, 24, 47, .25) 72%, rgba(2, 11, 24, .35) 100%),
    linear-gradient(180deg, rgba(4, 11, 30, .16), transparent 46%, rgba(4, 11, 30, .38) 100%);
}

@media (min-width: 1181px) {
  .hero__grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    gap: clamp(48px, 5vw, 96px);
  }
  .hero__content { max-width: 900px; }
  .hero__subtitle { max-width: 760px; }

  .about__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: none;
    gap: clamp(22px, 2vw, 34px);
  }
  .company-details,
  .section-actions,
  .founder-card,
  .team-carousel,
  .story-film {
    width: 100%;
    max-width: none;
  }
  .founder-card {
    grid-template-columns: minmax(380px, .78fr) minmax(0, 1.22fr);
    min-height: 560px;
  }
  .founder-card__quote { padding: clamp(42px, 5vw, 78px); }
  .story-film {
    grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr);
    gap: clamp(22px, 3vw, 48px);
  }
  .story-film--reverse { grid-template-columns: minmax(0, 1.28fr) minmax(360px, .72fr); }
  .story-film__copy { padding: clamp(30px, 3.5vw, 56px); }
  .story-film__copy h3 { max-width: 680px; }
  .story-film__copy p { max-width: 680px; }
  .education__card { grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr); }
  .contacts__grid { grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr); gap: clamp(26px, 3vw, 48px); }
  .career__grid--empty { max-width: none; }
}

@media (min-width: 1500px) {
  .numbers__grid,
  .services__grid,
  .an-grid,
  .news__grid,
  .gallery__grid { gap: 28px; }
  .num-card, .about-card, .service-card, .an-card, .news-card { padding-inline: 32px; }
  .worldmap__wrap { padding-inline: clamp(40px, 4vw, 72px); }
}

@media (max-width: 1180px) {
  .container { width: calc(100% - 40px); }
  .about__grid { width: 100%; max-width: none; }
  .company-details, .section-actions, .founder-card, .team-carousel, .story-film { width: 100%; max-width: none; }
}

@media (max-width: 700px) {
  .container { width: calc(100% - 24px); }
  .section { padding-block: 58px; }
  .section-head { max-width: none; margin-bottom: 30px; }
  .section-head p { max-width: none; font-size: 15px; line-height: 1.65; }
  .about__grid,
  .services__grid,
  .an-grid,
  .news__grid,
  .gallery__grid,
  .docs__grid,
  .numbers__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .num-card, .about-card, .service-card, .an-card, .news-card, .doc-card { width: 100%; min-width: 0; }
  .uzmarket__card { padding: 24px 20px; gap: 18px; }
  .uzmarket__stats { gap: 16px; }
  .hero__grid { width: 100%; gap: 36px; }
  .hero__content { width: 100%; max-width: none; }
  .hero__video {
    object-position: 50% 50%;
    transform: none;
    filter: saturate(.98) contrast(1.03) brightness(.92);
  }
  .hero__video-scrim {
    background: linear-gradient(180deg, rgba(3, 9, 21, .48), rgba(4, 12, 24, .4) 54%, rgba(3, 9, 19, .6));
  }
  .story-film__stage { min-height: 0; aspect-ratio: 16 / 9; }
  .story-film__stage video { width: 100%; height: 100%; object-fit: cover; }
  .contacts__grid { gap: 18px; }
  .footer__grid { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 420px) {
  .container { width: calc(100% - 20px); }
  .section { padding-block: 52px; }
  .hero__content { padding: 22px 17px; }
  .hero__title { font-size: clamp(36px, 11.5vw, 48px); }
  .hero__subtitle { font-size: 15px; }
  .uzmarket__stats { display: grid; grid-template-columns: 1fr 1fr; }
}

/* ═══════════ ANALYTICS SERVICES · 2026 BRAND ALIGNMENT ═══════════ */
:root {
  --brand: #0E2F76;
  --brand-deep: #081C4E;
  --brand-light: #AAC0E1;
  --blue: #7E9CCB;
  --blue-soft: rgba(170, 192, 225, .14);
  --blue-deep: #D5E5EB;
  --lime: #AAC0E1;
  --led-accent: #AAC0E1;
  --page-gutter: clamp(10px, 2vw, 40px);
  --content-max: 1840px;
}
html[data-theme="light"] {
  --brand: #0E2F76;
  --brand-deep: #081C4E;
  --brand-light: #AAC0E1;
  --blue: #0E2F76;
  --blue-soft: rgba(14, 47, 118, .095);
  --blue-deep: #081C4E;
  --lime: #5F7DB4;
  --led-accent: #AAC0E1;
}

.container {
  width: min(var(--content-max), calc(100% - var(--page-gutter) - var(--page-gutter)));
}
.cab-auth__brand b, html[data-theme="light"] .cab-auth__brand b { color: var(--brand-light); }
.cab-auth__logo img, .login-card .brand img, .sidebar__brand img { filter: none; }

.btn--primary {
  background: linear-gradient(112deg, #081C4E, #0E2F76 48%, #3D5FA8 108%);
  box-shadow: 0 0 0 1px rgba(170, 192, 225, .32), 0 14px 38px rgba(14, 47, 118, .3), 0 0 32px rgba(170, 192, 225, .12);
}
.btn--primary:hover { box-shadow: 0 0 0 1px rgba(170, 192, 225,.66), 0 20px 52px rgba(14, 47, 118,.38), 0 0 44px rgba(170, 192, 225,.22); }
.grad-text { background-image: linear-gradient(100deg, #AAC0E1 2%, #F0F7FA 48%, #7E9CCB 96%); }
html[data-theme="light"] .hero .grad-text { background-image: linear-gradient(105deg, #081C4E 0%, #0E2F76 54%, #6A96A8 100%); }

/* Video background frames share the page gutter and max width. */
.section-video-bg {
  inset-inline: max(var(--page-gutter), calc((100% - var(--content-max)) / 2));
}
.hero__video-control { left: max(var(--page-gutter), calc((100% - var(--content-max)) / 2)); }
.led-border { filter: drop-shadow(0 0 10px rgba(126, 156, 203, .5)); }
.led-border::before {
  background: conic-gradient(from 0deg, transparent 0 55%, rgba(170, 192, 225,.16) 63%, #7E9CCB 71%, #AAC0E1 79%, transparent 90% 100%);
}

.solutions {
  --solution-cyan: #85A6D6;
  --solution-blue: #4C74B5;
  --solution-gold: #AAC0E1;
  --solution-green: #7C97C4;
}
.solution-card--capital .solution-terms__split {
  border-color: rgba(170, 192, 225, .48);
  background: linear-gradient(145deg, rgba(14, 47, 118,.18), rgba(170, 192, 225,.08));
  box-shadow: inset 0 1px rgba(255,255,255,.06), 0 0 24px rgba(126, 156, 203,.12);
}
.solution-card--capital .solution-terms__management {
  border-color: rgba(126, 156, 203, .42);
  background: linear-gradient(145deg, rgba(14, 47, 118,.14), rgba(170, 192, 225,.06));
}
.solution-card--capital .solution-terms__management strong { font-size: clamp(17px, 1.65vw, 24px); }
.solution-card--capital .solution-terms__split strong { color: var(--brand-light); }
html[data-theme="light"] .solution-card--capital .solution-terms__split strong { color: var(--brand); }

.solution-apps { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.solution-apps .solution-app {
  min-width: 190px;
  min-height: 58px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  padding: 9px 13px;
  border: 1.5px solid rgba(199, 242, 91, .48);
  border-radius: 17px;
  color: #F4FFD5;
  background: linear-gradient(145deg, #193706, #0D2400);
  box-shadow: 0 14px 34px rgba(20, 44, 5, .24), inset 0 1px rgba(255,255,255,.1), 0 0 20px rgba(199,242,91,.1);
  transition: transform var(--t-fast), border-color var(--t-fast), box-shadow var(--t-fast);
}
.solution-apps .solution-app:hover {
  color: #fff;
  transform: translateY(-3px);
  border-color: var(--niyat-lime);
  box-shadow: 0 20px 42px rgba(20,44,5,.32), 0 0 28px rgba(199,242,91,.22);
}
.solution-app__icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--niyat-ink);
  background: var(--niyat-lime-soft);
}
.solution-app__icon svg { width: 22px; height: 22px; fill: currentColor; }
.solution-app__icon--play svg { width: 21px; height: 21px; }
.solution-app span:nth-child(2) { display: grid; gap: 2px; }
.solution-app small { color: #CDE79A; font-size: 8px; line-height: 1; letter-spacing: .08em; text-transform: uppercase; }
.solution-app strong { color: #fff; font: 750 14px/1.1 var(--font-display); }
.solution-app b { color: var(--niyat-lime); font-size: 14px; }
html[data-theme="light"] .solution-apps .solution-app { color: #F4FFD5; background: linear-gradient(145deg, #193706, #0D2400); }

.solution-device__screen { background: linear-gradient(165deg, #F4F9FB, #DCEAF0 76%); box-shadow: inset 0 0 30px rgba(14, 47, 118,.1); }
.solution-device__logo { color: #EAF3F6; background: #0E2F76; }
.solution-device__line { stroke: #0E2F76; filter: drop-shadow(0 0 5px rgba(14, 47, 118,.28)); }
.solution-device__nav { color: #5E7C89; background: rgba(250,253,254,.76); }
.solution-device__nav span:first-child { color: #0E2F76; }

.contact-channel--call-alt { color: var(--brand-light); }
html[data-theme="light"] .contact-channel--call-alt { color: var(--brand); }

@media (max-width: 700px) {
  .section-video-bg { inset-inline: var(--page-gutter); }
  .hero__video-control { left: var(--page-gutter); }
  .solution-apps { display: grid; grid-template-columns: 1fr; }
  .solution-apps .solution-app { width: 100%; min-width: 0; }
}
/* Analytics Services lockup — vector chevron mark + live wordmark (theme-aware). */
.logo,
html[data-theme="light"] .logo {
  min-height: 54px;
  gap: 12px;
  padding: 5px 12px 5px 8px;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.logo__mark,
html[data-theme="light"] .logo__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 57px;
  height: 35px;
  background: none;
  filter: none;
}
.logo__mark svg { display: block; width: 100%; height: 100%; }
.logo-chev { transition: fill .35s ease; }
.logo__text,
html[data-theme="light"] .logo__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: auto;
  height: auto;
  overflow: visible;
  background: none;
  font-family: var(--font-display);
  font-size: 17px !important;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .075em;
  text-transform: uppercase;
  color: #0E2F76 !important;
  white-space: nowrap;
}
.logo__text em,
html[data-theme="light"] .logo__text em {
  display: block;
  font-style: normal;
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: .56em;
  margin-top: 4px;
  margin-right: -.56em;
  color: #274687 !important;
}
html[data-theme="dark"] .logo__text { color: #F5FEFF !important; }
html[data-theme="dark"] .logo__text em { color: #AAC0E1 !important; }
html[data-theme="dark"] .logo-chev--navy { fill: #4B76C2; }
.logo:hover,
html[data-theme="light"] .logo:hover {
  border-color: transparent;
  box-shadow: none;
}
.logo:hover .logo__mark { transform: scale(1.05); }
.logo:hover .logo-chev--sky { fill: #BFD4ED; }
.logo:hover .logo-chev--navy { fill: #16357F; }
html[data-theme="dark"] .logo:hover .logo-chev--navy { fill: #5A82C4; }

/* One investment-focused Niyat interface is shared by both iPhone mockups. */
:root {
  --niyat-lime: #C7F25B;
  --niyat-lime-soft: #E4FF9A;
  --niyat-lime-deep: #A9DC38;
  --niyat-ink: #142C05;
  --niyat-muted: #496238;
}
.phone__appbar { min-height: 34px; }
.niyat-brand-lockup {
  display: block;
  flex: 0 0 auto;
  background-image: url('../assets/brand/niyat-lockup.png');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
.niyat-brand-lockup--hero {
  width: 138px;
  height: 26px;
  margin-right: auto;
}
.solution-device__brand {
  grid-template-columns: minmax(0, 1fr) 18px;
  gap: 8px;
}
.niyat-brand-lockup--compact {
  width: 112px;
  height: 21px;
}
.phone__screen,
.solution-device__screen {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.72), transparent 23%),
    linear-gradient(165deg, #F4FFD5 0%, var(--niyat-lime-soft) 58%, var(--niyat-lime) 100%);
  color: var(--niyat-ink);
}
/* Niyat ekrani: yozuvsiz, o'sib boruvchi portfel qiymati + jonli grafik */
.niyat-growth {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 11px;
  padding: 14px 5px 48px;
}
.niyat-growth__label {
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid rgba(33, 70, 15, .14);
  border-radius: 999px;
  color: #385A18;
  background: rgba(255,255,255,.48);
  font: 850 7.5px/1 var(--font-display);
  letter-spacing: .15em;
  text-transform: uppercase;
}
.niyat-growth__valuerow { display: flex; align-items: baseline; gap: 9px; }
.niyat-growth__value {
  font: 830 31px/1 var(--font-display);
  letter-spacing: -.04em;
  color: var(--niyat-ink);
  font-variant-numeric: tabular-nums;
}
.niyat-growth__delta {
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(31, 74, 8, .13);
  color: #265010;
  font: 800 10px/1 var(--font-display);
  font-variant-numeric: tabular-nums;
}
.niyat-growth__chartwrap {
  border: 1px solid rgba(20, 44, 5, .13);
  border-radius: 14px;
  background: rgba(255,255,255,.55);
  box-shadow: 0 10px 22px rgba(34, 68, 12, .1), inset 0 1px rgba(255,255,255,.7);
  padding: 10px 8px 4px;
}
.niyat-growth__chart { display: block; width: 100%; height: 122px; }
.niyat-growth__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.niyat-growth__meta > span {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 11px;
  border: 1px solid rgba(20, 44, 5, .12);
  border-radius: 12px;
  background: rgba(255,255,255,.55);
  box-shadow: inset 0 1px rgba(255,255,255,.6);
}
.niyat-growth__meta i {
  font: 750 7px/1 var(--font-display);
  font-style: normal;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--niyat-muted);
}
.niyat-growth__meta b {
  font: 810 12.5px/1 var(--font-display);
  color: var(--niyat-ink);
  font-variant-numeric: tabular-nums;
}
.niyat-growth--compact { gap: 8px; padding: 10px 2px 34px; }
.niyat-growth--compact .niyat-growth__value { font-size: 24px; }
.niyat-growth--compact .niyat-growth__delta { font-size: 8.5px; padding: 3px 7px; }
.niyat-growth--compact .niyat-growth__chart { height: 96px; }
.niyat-growth--compact .niyat-growth__meta b { font-size: 10.5px; }
.niyat-growth--compact .niyat-growth__meta > span { padding: 6px 9px; }

@media (max-width: 480px) {
  .header .logo { min-height: 44px; gap: 9px; padding: 2px 6px; }
  .header .logo__mark { display: inline-flex; width: 45px; height: 28px; }
  .header .logo__text,
  html[data-theme="light"] .header .logo__text {
    display: flex;
    font-size: 13.5px !important;
  }
  .header .logo__text em,
  html[data-theme="light"] .header .logo__text em { display: block; font-size: 8.6px; margin-top: 3px; }
  .niyat-growth--hero { gap: 8px; padding-top: 10px; }
  .niyat-growth--hero .niyat-growth__value { font-size: 26px; }
  .niyat-growth--hero .niyat-growth__chart { height: 104px; }
}

/* Hero type safety: preserve the display size while keeping the first and last
   glyphs inside the glass panel in every language and viewport. */
.hero__grid,
.hero__content,
.hero__title {
  min-width: 0;
}
.hero__content {
  overflow: visible;
}
.hero__title {
  width: 100%;
  max-width: 100%;
  padding-inline: .065em;
  margin-inline: -.065em;
  line-height: 1.06;
  letter-spacing: -.045em;
  overflow: visible;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}
.hero__title > span {
  max-width: 100%;
}
.hero__title .grad-text {
  padding-inline: .055em;
  margin-inline: -.055em;
  overflow: visible;
  overflow-wrap: normal;
  word-break: normal;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

@media (max-width: 700px) {
  .hero__title {
    padding-inline: .08em;
    margin-inline: -.08em;
    line-height: 1.08;
    letter-spacing: -.025em;
  }
  .hero__title .grad-text {
    display: inline;
    max-width: none;
    padding-inline: .065em;
    margin-inline: -.065em;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (max-width: 420px) {
  .header .logo,
  html[data-theme="light"] .header .logo {
    min-height: 42px;
    gap: 8px;
    padding-inline: 5px;
  }
  .header .logo__mark { width: 40px; height: 25px; }
  .header .logo__text,
  html[data-theme="light"] .header .logo__text {
    font-size: 12px !important;
  }
  .header .logo__text em,
  html[data-theme="light"] .header .logo__text em { font-size: 7.6px; letter-spacing: .5em; margin-right: -.5em; }
}

/* ═══════════════════════════════════════════════════════════
   V28 · OCEAN CONTINUUM — hero video sahifaga uzluksiz singib
   ketadi: rang, yorug'lik va tekstura bir oqimda davom etadi.
   ═══════════════════════════════════════════════════════════ */

:root {
  /* video pastki chekkasi aynan shu rangga erib tushadi (dark body mid-gradient) */
  --hero-blend: #070B16;
  --sea-glow: rgba(38, 108, 158, .17);
  --sea-glow-soft: rgba(60, 140, 190, .07);
  --hero-blend-img: url('../assets/media/hero-blend-dark.webp');
}
html[data-theme="light"] {
  --hero-blend: #F6FBFC;
  --sea-glow: rgba(88, 176, 197, .16);
  --sea-glow-soft: rgba(110, 190, 205, .08);
  --hero-blend-img: url('../assets/media/hero-blend-light.webp');
}

/* — 1 · Video → sahifa erish zonasi (Higgsfield okean teksturasi bilan) — */
.hero__media::after {
  content: '';
  position: absolute;
  inset: auto 0 -1px;
  height: clamp(210px, 36vh, 420px);
  pointer-events: none;
  background:
    linear-gradient(to top,
      var(--hero-blend) 0%,
      color-mix(in srgb, var(--hero-blend) 88%, transparent) 18%,
      color-mix(in srgb, var(--hero-blend) 62%, transparent) 40%,
      color-mix(in srgb, var(--hero-blend) 30%, transparent) 63%,
      color-mix(in srgb, var(--hero-blend) 10%, transparent) 82%,
      transparent 100%),
    var(--hero-blend-img) center bottom / cover no-repeat;
  -webkit-mask-image: linear-gradient(to top, #000 58%, rgba(0,0,0,.55) 80%, transparent 100%);
  mask-image: linear-gradient(to top, #000 58%, rgba(0,0,0,.55) 80%, transparent 100%);
  opacity: calc(.82 + var(--hero-scroll, 0) * .18);
}
/* video pastda qo'shimcha yumshoq qorong'ilashadi — suv chuqurlashgandek */
.hero__media::before {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 44%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, color-mix(in srgb, var(--hero-blend) 46%, transparent), transparent);
}

/* — 2 · Scroll parallaks: pastga surilganda video sekin "cho'kadi" — */
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .hero__video {
    transform: scale(calc(1.02 + var(--hero-scroll, 0) * .09))
               translate3d(0, calc(var(--hero-scroll, 0) * 2.2%), 0);
    filter: saturate(calc(.96 - var(--hero-scroll, 0) * .14))
            contrast(1.04)
            brightness(calc(.9 - var(--hero-scroll, 0) * .1));
    will-change: transform, filter;
  }
  html[data-theme="light"] .hero__video {
    filter: saturate(calc(.9 - var(--hero-scroll, 0) * .12))
            contrast(.96)
            brightness(calc(1.06 + var(--hero-scroll, 0) * .07));
  }
}

/* — 3 · Ticker lenta suv ustida suzayotgan shisha bo'lib qoladi — */
.tape {
  border-top: 0;
  background: color-mix(in srgb, var(--hero-blend) 55%, transparent);
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
}
html[data-theme="light"] .tape {
  background: color-mix(in srgb, #F6FBFC 62%, transparent);
  border-bottom-color: rgba(52, 88, 163, .12);
}

/* — 4 · UZ market: okean nuri sahifa ichiga davom etadi — */
.uzmarket { position: relative; overflow: visible; }
.uzmarket::before {
  content: '';
  position: absolute;
  inset: -140px 0 auto;
  height: 480px;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(58% 100% at 50% 0%, var(--sea-glow), transparent 72%),
    radial-gradient(90% 70% at 50% 0%, var(--sea-glow-soft), transparent 80%);
}
.uzmarket > .container { position: relative; z-index: 1; }

/* sahifa oxirida ham xuddi shu nur aks-sadosi — kompozitsion halqa yopiladi */
.contacts { position: relative; }
.contacts::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 300px;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(64% 100% at 50% 100%, var(--sea-glow-soft), transparent 75%);
}
.contacts > .container { position: relative; z-index: 1; }

/* — 5 · Solutions: Higgsfield 3D shisha panel fon —
   Eslatma: .section::before 1px ajratkich chiziq, shuning uchun barcha
   o'lchov xossalari to'liq qayta e'lon qilinadi (height/width/left/transform). */
.solutions { position: relative; }
.solutions.section::before,
html[data-theme="light"] .solutions.section::before {
  content: '';
  position: absolute;
  inset: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: none;
  z-index: 0;
  pointer-events: none;
  background: url('../assets/media/glass-3d-backdrop.webp') center / cover no-repeat;
  opacity: .12;
  -webkit-mask-image: radial-gradient(88% 82% at 50% 42%, #000 30%, transparent 100%);
  mask-image: radial-gradient(88% 82% at 50% 42%, #000 30%, transparent 100%);
}
html[data-theme="light"] .solutions.section::before { opacity: .055; }
.solutions > .container { position: relative; z-index: 1; }

/* — 6 · 3D ikonkalar: hover'da karta tekisligidan ko'tariladi — */
.num-card__icon, .about-card__icon, .service-card__icon,
.an-card__icon, .ct-card__icon, .edu-icon {
  transition: transform .5s var(--spring, var(--ease));
  will-change: transform;
}
.num-card:hover .num-card__icon,
.about-card:hover .about-card__icon,
.service-card:hover .service-card__icon,
.an-card:hover .an-card__icon,
.ct-card:hover .ct-card__icon {
  transform: translateZ(36px) scale(1.1) rotateX(-6deg);
}

/* — 7 · Raqamlar: gradientli hajmli sonlar — */
.num-card__value {
  background: linear-gradient(118deg, var(--ink) 24%, var(--blue) 82%, var(--lime, var(--brand-light)) 118%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  filter: drop-shadow(0 4px 18px color-mix(in srgb, var(--blue) 28%, transparent));
}

/* — 8 · Hero gradient sarlavha: sekin oqadigan yorug'lik — */
@media (prefers-reduced-motion: no-preference) {
  .hero .grad-text {
    background-size: 190% 100%;
    animation: v28-grad-pan 8.5s var(--ease) infinite alternate;
  }
  @keyframes v28-grad-pan {
    from { background-position: 0% 50%; }
    to { background-position: 100% 50%; }
  }
}

/* — 9 · Scroll-timeline mavjud brauzerlarda: chuqur 3D kirishlar — */
@supports (animation-timeline: view()) {
  @media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
    .section-head h2 {
      animation: v28-head-focus both var(--ease);
      animation-duration: 1ms; /* timeline boshqaradi */
      animation-timeline: view();
      animation-range: entry 5% entry 75%;
    }
    .card-chart-bg {
      animation: v28-chart-drift both linear;
      animation-duration: 1ms;
      animation-timeline: view();
      animation-range: cover 0% cover 100%;
    }
    .uzmarket::before {
      animation: v28-glow-breathe both var(--ease);
      animation-duration: 1ms;
      animation-timeline: view();
      animation-range: entry 0% cover 60%;
    }
    .solutions::before {
      animation: v28-backdrop-rise both linear;
      animation-duration: 1ms;
      animation-timeline: view();
      animation-range: cover 0% cover 100%;
    }
  }
}
@keyframes v28-head-focus {
  from { opacity: 0; letter-spacing: .04em; filter: blur(7px); }
  to { opacity: 1; letter-spacing: -0.048em; filter: blur(0); }
}
@keyframes v28-chart-drift {
  from { transform: translateY(14px); }
  to { transform: translateY(-10px); }
}
@keyframes v28-glow-breathe {
  from { opacity: .25; }
  to { opacity: 1; }
}
@keyframes v28-backdrop-rise {
  from { transform: translateY(3.5%) scale(1.05); }
  to { transform: translateY(-3.5%) scale(1.05); }
}

/* — 10 · Kartalar orasidagi umumiy sayqal — */
.section-head h2::after {
  height: 3px;
  width: 76px;
  box-shadow: 0 0 22px color-mix(in srgb, var(--blue) 55%, transparent),
              0 0 8px color-mix(in srgb, var(--lime, var(--brand-light)) 45%, transparent);
}
.uzmarket__card { transform-style: preserve-3d; }
.uzmarket__arrow { transition: transform .4s var(--spring, var(--ease)); }
.uzmarket__card:hover .uzmarket__arrow { transform: translateX(8px) translateZ(24px); }

/* — 11 · Mobil: erish zonasi ixchamroq, teksturasiz (tejamkor) — */
@media (max-width: 700px) {
  .hero__media::after {
    height: 170px;
    background:
      linear-gradient(to top,
        var(--hero-blend) 0%,
        color-mix(in srgb, var(--hero-blend) 78%, transparent) 34%,
        color-mix(in srgb, var(--hero-blend) 32%, transparent) 68%,
        transparent 100%);
  }
}

/* — 12 · Reduced motion: barcha yangi harakatlar o'chadi — */
@media (prefers-reduced-motion: reduce) {
  .hero__video { transform: none; }
  .hero__media::after { opacity: 1; }
}


/* — 13 · Audit tuzatishlari: light-tema kontrast bo'shliqlari — */
html[data-theme="light"] .link-arrow { color: #16357F; }
html[data-theme="light"] .story-film__index { color: #1E4193; }
html[data-theme="light"] .team-carousel__dots button { background: rgba(30, 65, 147, .25); }
html[data-theme="light"] .team-carousel__dots button.is-active { background: #1E4193; }
html[data-theme="light"] .team-carousel__dots button:focus-visible { outline-color: #1E4193; }
