/* ИИ Будущего — стили */
*{ box-sizing:border-box; }
  html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
  body{ margin:0; background:#E7ECF1; color:#0B1B2E; font-family:'Golos Text',system-ui,sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
  ::selection{ background:#1C6DE0; color:#fff; }
  img{ display:block; max-width:100%; }
  a{ color:inherit; text-decoration:none; }
  @keyframes v2marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  @keyframes v2sheen{ 0%,74%{ transform:translateX(-140%); } 100%{ transform:translateX(340%); } }
  @keyframes v2cue{ 0%,100%{ transform:translateY(0); opacity:0.4; } 50%{ transform:translateY(9px); opacity:1; } }
  @keyframes v2dash{ to{ stroke-dashoffset:0; } }
  @keyframes v2float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }
  @keyframes v2spin{ to{ transform:rotate(360deg); } }

[data-zoom]{ will-change:transform; }
[data-zoom]:hover{ transform:scale(1.04) !important; }

/* Кадр во всю ширину экрана (вырывается из контейнера) */
[data-bleed]{ margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; width:100vw; max-width:100vw; }
@media (max-width:780px){ [data-bleed]{ aspect-ratio:3/2 !important; } }

/* На узких экранах сетка схлопывается в одну колонку — широкие плитки не должны её ломать */
@media (max-width:560px){ [data-span2]{ grid-column:auto !important; } }

/* Мозаика: широкая плитка (16/10) и узкая (4/5) дают разную высоту, из-за чего ряд
   получался рваным. Равные ряды + растяжение плиток выравнивают нижнюю кромку. */
[data-mosaic]{ grid-auto-rows:1fr; }
[data-mosaic] > figure{ align-self:stretch; }

/* Онлайн-площадки */
[data-platform]{ transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s; }
[data-platform]:hover{ transform:translateY(-4px); box-shadow:0 18px 44px rgba(11,27,46,0.22); }
[data-platform]:hover [data-platform-cta]{ color:#fff; gap:14px; }
[data-platform]:hover [data-platform-logo]{ transform:scale(1.04); }
[data-platform-logo]{ transition:transform .35s cubic-bezier(.2,.7,.2,1); }
[data-platform-cta]{ transition:color .3s, gap .3s; }

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

a{ color:#1C6DE0; }
a:hover{ color:#1550a8; }

/* Hover-состояния (перенесены из инлайнов) */
[data-hv="hv1"]:hover{ padding-left:10px !important; background:rgba(28,109,224,0.05) !important; }
[data-hv="hv2"]:hover{ padding-left:10px !important; background:rgba(28,109,224,0.05) !important; }
[data-hv="hv3"]:hover{ padding-left:10px !important; background:rgba(28,109,224,0.05) !important; }
[data-hv="hv4"]:hover{ padding-left:10px !important; background:rgba(28,109,224,0.05) !important; }
[data-hv="hv5"]:hover{ padding-left:10px !important; background:rgba(28,109,224,0.05) !important; }
[data-hv="hv6"]:hover{ padding-left:10px !important; background:rgba(28,109,224,0.05) !important; }
[data-hv="hv7"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv8"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv9"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv10"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv11"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv12"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv13"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv14"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv15"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv16"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv17"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv18"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv19"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv20"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv21"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv22"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv23"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv24"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv25"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv26"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv27"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv28"]:hover{ border-color:var(--accent,#1C6DE0) !important; color:#1C5CBF !important; background:rgba(28,109,224,0.06) !important; }
[data-hv="hv29"]:hover{ color:#1C5CBF !important; }
[data-hv="hv30"]:hover{ color:#1C5CBF !important; }
[data-hv="hv31"]:hover{ color:#1C5CBF !important; }
[data-hv="hv32"]:hover{ color:#1C5CBF !important; }
[data-hv="hv33"]:hover{ color:#1C5CBF !important; }
[data-hv="hv34"]:hover{ color:#1C5CBF !important; }
[data-hv="hv35"]:hover{ color:#1C5CBF !important; }
[data-hv="hv36"]:hover{ color:#1C5CBF !important; }
[data-hv="hv37"]:hover{ color:#1C5CBF !important; }
[data-hv="hv38"]:hover{ color:#1C5CBF !important; }
[data-hv="hv39"]:hover{ color:#1C5CBF !important; }
[data-hv="hv40"]:hover{ color:#1C5CBF !important; }
[data-hv="hv41"]:hover{ color:#1C5CBF !important; }
[data-hv="hv42"]:hover{ color:#1C5CBF !important; }
[data-hv="hv43"]:hover{ color:#8FBEFF !important; }
