@charset "UTF-8";
@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
:root{color-scheme:light;--ink:#101b36;--blue:#0875ff;--paper:#f1f7ff;--muted:#c7d7eb}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif}button,input{font:inherit}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #62c8ff;outline-offset:5px}.container{width:min(1320px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-160%);z-index:100;background:white;padding:12px;color:var(--ink)}.skip-link:focus{transform:none}
.hero{position:relative;min-height:690px;overflow:hidden;isolation:isolate;background:#142a40;color:white}.hero-photo,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-photo{left:34%;background:none}.hero-shade{z-index:-1;background:linear-gradient(90deg,#14283d 0%,#14283df8 28%,#14283db8 46%,#14283d18 76%),linear-gradient(0deg,#123355 0%,transparent 45%,#0a1b314d 100%)}.site-header{display:flex;align-items:center;gap:28px;padding-block:30px;position:relative;z-index:10}.brand{display:block;flex-shrink:0;width:280px}.brand img{display:block;width:100%;height:auto}.navigation{display:flex;align-items:center;gap:23px;margin-left:auto;font-size:14px;white-space:nowrap}.navigation>a,.nav-dropdown summary{padding-block:13px;transition:color .2s}.navigation>a:hover,.nav-dropdown summary:hover{color:#83c3ff}.nav-dropdown{position:relative}.nav-dropdown summary{cursor:pointer;list-style:none}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary::after{content:"";display:inline-block;width:5px;height:5px;margin:0 0 3px 9px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}.dropdown-panel{position:absolute;top:100%;left:-18px;min-width:230px;padding:10px;background:#fff;color:var(--ink);box-shadow:0 12px 35px #0003;border-radius:14px;white-space:normal}.dropdown-panel a{display:block;padding:12px;border-radius:8px}.dropdown-panel a:hover{background:#edf5ff}.header-actions{display:flex;align-items:center;gap:12px}.round-button,.account{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b5d7ff91;color:white;background:#16355730;transition:background .2s}.round-button{width:43px;height:43px;border-radius:50%;flex-shrink:0;font-size:25px}.round-button:hover,.account:hover{background:#1b74c888}.account{gap:10px;border-radius:30px;padding:10px 15px;font-size:13px;white-space:nowrap}.account svg{width:20px;height:20px}.menu-toggle{display:none}
.hero-content{position:relative;min-height:550px;padding-top:46px;padding-bottom:150px}.intro{position:relative;z-index:2;max-width:700px}.eyebrow{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:#adcae7;margin:0 0 20px}h1{font-size:clamp(38px,3.7vw,55px);line-height:1.08;font-weight:700;letter-spacing:-1.8px;margin:0 0 21px}h1 span{color:#218aff}.intro-text{font-size:21px;line-height:1.4;font-weight:300;color:#dfebfa;margin:0 0 32px}.quick-links{display:flex;gap:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:53px;border-radius:13px;padding:13px 22px;font-size:15px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(110deg,#168aff,#0055ff);border:1px solid #137aff;color:white;box-shadow:0 7px 25px #0068ff25}.button-primary span{font-size:25px;margin-left:14px}.button-outline{border:1px solid #9ac4ed;background:#142a4099;color:#fff}.button-outline:hover{background:#254b70}.hero-robot{position:absolute;width:340px;left:38%;bottom:40px;opacity:.8;pointer-events:none}.paper-plane{position:absolute;width:90px;height:85px;left:46%;top:12px;stroke:#69b4ff;stroke-width:1.3;transform:rotate(-8deg)}.plane-trail{stroke-dasharray:5 7}.news-carousel{position:absolute;right:0;bottom:95px;width:410px;z-index:3}.news-card{position:relative;background:#ffffffed;color:#11192d;border-radius:23px;padding:24px 21px 23px 26px;box-shadow:0 15px 45px #001a3033;transform:rotate(-3deg);min-height:111px}.news-tag{position:absolute;top:-15px;left:30px;font-size:13px;border-radius:20px;background:#b4eee2;padding:5px 17px}.news-link{display:flex;align-items:center;gap:18px}.news-link h2{font-size:20px;line-height:1.4;margin:0;font-weight:600;min-height:56px}.news-arrow{display:grid;place-items:center;flex:0 0 45px;height:45px;border-radius:50%;background:#e1edff;color:#0067ff;font-size:29px}.carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:17px;margin-top:25px}.carousel-controls .round-button{width:37px;height:37px}.carousel-dots{display:flex;gap:11px}.dot{width:10px;height:10px;border:1px solid transparent;border-radius:50%;background:#acc7e388;padding:0}.dot.is-active{background:#087aff;outline:1px solid white;outline-offset:2px}.hero-wave{position:absolute;bottom:-1px;left:0;width:100%;height:150px;z-index:4;pointer-events:none}.hero-wave:after{content:"";position:absolute;inset:80% 0 0;background:var(--paper)}.demo-section{padding:38px 0 80px;max-width:1320px}.section-marker{font-size:11px;letter-spacing:2px;color:#577bac}.section-marker:before{content:"";display:inline-block;width:26px;height:3px;background:var(--blue);vertical-align:middle;margin-right:12px}.demo-section h2{font-size:30px;letter-spacing:-.7px;margin:15px 0}.demo-section p{font-size:16px;line-height:1.7;color:#647692;max-width:640px}.search-dialog{border:0;border-radius:22px;padding:35px;width:min(600px,calc(100% - 32px));color:var(--ink)}.search-dialog::backdrop{background:#071b32bb;backdrop-filter:blur(6px)}.close-search{position:absolute;right:15px;top:15px;color:var(--ink);background:#edf4ff;border:0}.search-dialog h2{margin-top:10px}.search-dialog label{display:block;margin-bottom:10px}.search-field{display:flex;gap:10px}.search-field input{min-width:0;width:100%;border:1px solid #b4c7dd;border-radius:12px;padding:12px}.search-dialog p{font-size:13px;line-height:1.6;color:#647692}
/* The supplied logo has black lettering; adapt it to the dark header. */
.brand img{filter:invert(1) hue-rotate(180deg)}
@media(min-width:1600px){.hero{min-height:760px}.hero-content{min-height:630px;padding-top:65px}.news-carousel{bottom:120px}.hero-robot{bottom:70px;width:390px}}
@media(max-width:1250px){.container{width:calc(100% - 64px)}.site-header{gap:18px}.brand{width:240px}.navigation{gap:15px;font-size:12px}.account span{display:none}.account{padding:10px}.header-actions{gap:8px}.hero-content{padding-top:60px}h1{font-size:46px}.news-carousel{width:350px}.hero-robot{left:37%;width:300px}.quick-links{gap:10px}.button{padding-inline:17px}}
@media(max-width:1000px){.site-header{flex-wrap:wrap}.brand{width:265px}.menu-toggle{display:flex;flex-direction:column;gap:5px;margin-left:auto}.menu-toggle span{width:18px;height:1px;background:white}.navigation{display:none;order:4;width:100%;margin:0;padding:15px;background:#18344f;border:1px solid #ffffff26;border-radius:15px;font-size:15px;align-items:stretch;gap:0}.navigation.is-open{display:flex;flex-direction:column}.nav-dropdown summary,.navigation>a{padding:13px}.dropdown-panel{position:static;box-shadow:none;background:#234662;color:white;min-width:0}.dropdown-panel a:hover{background:#315a80}.hero-content{padding-top:35px}h1{font-size:42px}.intro-text{font-size:18px}.news-carousel{width:320px;bottom:85px}.news-link h2{font-size:18px}.hero-robot{left:38%;bottom:85px;width:240px}.paper-plane{left:55%;top:10px}.quick-links{gap:8px}.button{font-size:13px;padding-inline:13px;gap:8px}.hero-photo{left:25%}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.hero{min-height:900px}.site-header{padding-block:22px;gap:10px}.brand{width:min(245px,calc(100% - 110px))}.header-actions .account{display:none}.round-button{width:38px;height:38px}.hero-photo{left:0;top:360px;background-position:60% center}.hero-shade{background:linear-gradient(180deg,#14283d 0%,#14283d 34%,#14283d99 55%,#14283d15 73%,#143355 100%)}.hero-content{min-height:815px;padding-top:24px;padding-bottom:0}.eyebrow{font-size:9px;letter-spacing:1.4px;line-height:1.5;margin-bottom:16px}h1{font-size:clamp(30px,7vw,45px);letter-spacing:-1px;line-height:1.1;margin-bottom:19px}.intro-text{font-size:17px;line-height:1.5}.quick-links{flex-wrap:wrap;gap:9px}.button{min-height:48px;font-size:13px;padding:11px 15px}.button-primary{flex-basis:100%;max-width:180px}.button-primary span{margin-left:auto}.hero-robot{width:205px;left:auto;right:-35px;bottom:175px;opacity:.85}.paper-plane{width:64px;height:64px;top:345px;left:24px;opacity:.7}.news-carousel{width:calc(100% - 8px);right:4px;bottom:91px}.news-card{padding:23px 18px 20px;min-height:108px}.news-link h2{font-size:18px}.carousel-controls{margin-top:21px}.hero-wave{height:100px;background-size:180% 250px}.hero-wave:after{top:82%}.demo-section{padding-top:28px}.demo-section h2{font-size:26px}.search-field{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Header proportions follow the reference; backgrounds span the viewport. */
.hero .container,
.demo-section.container {
  /* Keep the reference's side margins without capping the content at 1320px. */
  --page-gutter: clamp(32px, 6vw, 128px);
  width: calc(100% - var(--page-gutter) - var(--page-gutter));
  max-width: none;
}
.hero {
  min-height: 0;
  height: clamp(384px, 36vw, 496px);
  background: #14283d;
}
.hero-photo {
  inset: 0;
  background-position: right 43%;
}
.hero-shade {
  background:
    linear-gradient(90deg,
      #14283d 0%, #14283d 25%, #14283df5 36%,
      #14283dce 44%, #14283d85 51%, #14283d38 59%,
      #14283d0a 70%, #14283d00 82%),
    linear-gradient(0deg, #143355b3, #14283d00 32%, #0a1b3126);
}
.site-header { height: 84px; padding-block: 14px; }
.site-header::before {
  content: "";
  position: absolute;
  inset: 0 calc(0px - var(--page-gutter)) auto;
  height: 190px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg,
    rgb(12 31 51 / 94%) 0%,
    rgb(12 31 51 / 86%) 24%,
    rgb(12 31 51 / 60%) 48%,
    rgb(12 31 51 / 24%) 74%,
    rgb(12 31 51 / 0%) 100%);
}
.navigation {
  font-family: "Manrope", "Segoe UI", sans-serif;
  font-size: 16px;
  font-weight: 600;
  gap: clamp(14px, 1.3vw, 23px);
}
.account { font-size: 14px; }
.hero-content {
  height: calc(100% - 84px);
  min-height: 0;
  padding-top: 16px;
  padding-bottom: 68px;
}
.intro { max-width: 57%; }
h1, h2, h3, h4, h5, h6 { font-family: "Manrope", "Segoe UI", sans-serif; }
.hero-content .intro { max-width: 100%; margin-top: 16px; }
.hero-title {
  font-size: clamp(28px, 3.1vw, 50px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.035em;
}
.hero-title span { display: block; color: inherit; }
.eyebrow { display: none; }
h1 {
  font-size: clamp(36px, 3.8vw, 52px);
  margin-bottom: 12px;
}
.intro-text {
  font-family: "Manrope", "Segoe UI", sans-serif;
  font-size: clamp(17px, 1.55vw, 21px);
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.55;
  color: #e0eafa;
  margin-bottom: 18px;
}
.button { min-height: 48px; }
.quick-links .button {
  min-height: 40px;
  padding-block: 7px;
  border-radius: 10px;
}
.quick-links .button-primary span { font-size: 22px; line-height: 1; }
.quick-links .button svg { width: 20px; height: 20px; }
.hero-robot {
  width: clamp(210px, 24vw, 310px);
  left: 26%;
  bottom: 12px;
  opacity: 1;
}
.paper-plane { left: 35%; top: 105px; width: 72px; height: 68px; }
.news-carousel { width: 35%; bottom: 52px; }
.arrow-icon {
  display: block;
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.news-arrow { line-height: 0; }
.carousel-controls .round-button { padding: 0; }
.carousel-controls .arrow-icon { width: 20px; height: 20px; }
.news-link h2 { font-size: clamp(17px, 1.5vw, 20px); }
.carousel-controls { margin-top: 20px; }
.hero-wave {
  inset: auto 0 -1px;
  width: 100%;
  height: clamp(68px, 7.2vw, 100px);
  background: url("../media/header-wave.svg") center bottom / 100% 100% no-repeat;
}
.hero-wave::after { content: none; }
.content-area {
  background-color: var(--paper);
  background-image:
    linear-gradient(180deg, var(--paper), transparent 45px),
    linear-gradient(rgb(241 247 255 / 60%), rgb(241 247 255 / 60%)),
    url("../media/content-pattern.webp");
  background-size: 100% 100%, 100% 100%, 768px auto;
  background-repeat: no-repeat, no-repeat, repeat;
  background-position: center top;
}
.demo-section { padding-top: 20px; }

.site-footer {
  --footer-gutter: clamp(32px, 6vw, 128px);
  color: #f2f7ff;
  background: #14283d;
}
.footer-wave {
  height: 120px;
  background-image:
    linear-gradient(0deg, #14283d, transparent 42%),
    url("../media/imit-wave-seamless-horizontal.webp");
  background-position: center bottom;
  background-size: 100% 100%, auto 240px;
  background-repeat: no-repeat, repeat-x;
  mask-image: linear-gradient(180deg, transparent, #000 36%);
}
.footer-inner {
  margin-inline: var(--footer-gutter);
  padding-block: 24px 32px;
  display: grid;
  grid-template-columns: 1.25fr 1fr .8fr 1.25fr;
  align-items: center;
  gap: 0;
}
.footer-brand { width: min(calc(100% - 48px), 290px); justify-self: center; }
.footer-contacts,
.footer-socials,
.university {
  border-left: 1px solid #bdd7f34d;
  padding-inline: 24px;
}
.footer-contacts { font-style: normal; display: grid; justify-content: center; gap: 14px; font-size: 15px; }
.footer-contacts a { display: flex; align-items: center; gap: 13px; width: fit-content; }
.footer-contacts svg { flex: 0 0 22px; height: 22px; }
.footer-socials { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 58px; }
.footer-socials a { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; transition: background .2s, color .2s; }
.footer-socials a:hover { background: #ffffff12; color: #8ac4ff; }
.footer-socials svg { width: 25px; height: 25px; }
.vk-mark { font-family: Arial, sans-serif; font-weight: 900; font-size: 26px; letter-spacing: -3px; padding-right: 3px; }
.university { display: flex; align-items: center; justify-content: center; gap: 22px; font-size: 13px; line-height: 1.5; }
.university .university-logo { width: 49px; height: 65px; flex: 0 0 49px; stroke: none; }
.university-name, .university-address { display: block; }
.university-address { margin-top: 6px; color: #bdcee1; }
.footer-contacts a:hover, .university:hover { color: #8ac4ff; }
.footer-note { margin-inline: var(--footer-gutter); padding-block: 0 20px; color: #a9bdd2; font-size: 11px; line-height: 1.6; }

@media (max-width: 1200px) {
  .footer-inner { gap: 24px; grid-template-columns: 1fr 1fr; }
  .footer-brand { width: min(calc(100% - 48px), 265px); }
  .footer-socials { border-left: 0; }
}
@media (max-width: 600px) {
  .site-footer { --footer-gutter: 20px; }
  .footer-wave { height: 90px; background-size: 100% 100%, auto 200px; }
  .footer-inner { grid-template-columns: 1fr; gap: 26px; padding-block: 22px 26px; }
  .footer-brand { width: min(100%, 265px); justify-self: start; }
  .footer-contacts, .footer-socials, .university { border-left: 0; padding-inline: 0; justify-content: start; }
  .footer-socials { min-height: 0; }
  .university { padding-top: 24px; border-top: 1px solid #bdd7f333; }
}

/* Switch to the compact menu before the larger labels run out of room. */
.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  width: max-content;
  max-width: 100%;
}
.brand-mark {
  display: block;
  width: 96px;
  aspect-ratio: 300 / 114;
  flex-shrink: 0;
}
.brand-mark img { width: 100%; height: auto; }
.brand-name {
  display: block;
  padding-left: 14px;
  border-left: 2px solid #a6c9ed80;
  font-family: "Manrope", "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: normal;
  white-space: nowrap;
}
.brand.footer-brand { width: max-content; max-width: 100%; }

@media (max-width: 700px) {
  .site-header .brand { width: max-content; gap: 8px; }
  .site-header .brand-mark { width: 54px; }
  .site-header .brand-name { font-size: 10px; padding-left: 8px; }
}

@media (max-width: 1200px) {
  .menu-toggle { display: flex; flex-direction: column; gap: 5px; margin-left: auto; }
  .menu-toggle span { width: 18px; height: 1px; background: white; }
  .navigation {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0;
    padding: 12px;
    border: 1px solid #ffffff26;
    border-radius: 15px;
    background: #18344f;
    gap: 0;
    align-items: stretch;
    max-height: min(65vh, 360px);
    overflow-y: auto;
  }
  .navigation.is-open { display: flex; flex-direction: column; }
  .nav-dropdown summary, .navigation > a { padding: 13px; }
  .dropdown-panel { position: static; min-width: 0; box-shadow: none; background: #234662; color: white; }
  .dropdown-panel a:hover { background: #315a80; }
}

@media (min-width: 701px) and (max-width: 1000px) {
  .site-header { height: 76px; }
  .hero-content { height: calc(100% - 76px); padding-top: 12px; }
  .intro { max-width: 65%; }
  h1 { font-size: clamp(31px, 4vw, 38px); }
  .hero-robot { width: 210px; left: 26%; bottom: 12px; }
  .news-carousel { width: 34%; bottom: 52px; }
  .news-card { padding: 22px 16px 18px; }
  .news-arrow { flex-basis: 35px; height: 35px; }
}

@media (max-width: 700px) {
  .hero .container,
  .demo-section.container { --page-gutter: 20px; }
  .hero { height: auto; min-height: 0; }
  .site-header { height: auto; min-height: 82px; padding-block: 20px; }
  .hero-content { height: auto; min-height: 650px; padding-top: 20px; padding-bottom: 295px; }
  .intro { max-width: 100%; }
  h1 { font-size: clamp(30px, 7vw, 45px); }
  .hero-title { font-size: clamp(28px, 6.5vw, 40px); }
  .intro-text { font-size: 17px; margin-bottom: 24px; }
  .hero-photo { inset: 0; background-position: 62% center; }
  .hero-shade {
    background: linear-gradient(180deg,
      #14283d 0%, #14283dfa 34%, #14283ddd 46%,
      #14283d80 61%, #14283d20 78%, #14335599 100%);
  }
  .hero-robot { width: 195px; left: 15%; right: auto; bottom: 155px; }
  .paper-plane { top: auto; bottom: 260px; left: 5px; }
  .news-carousel { width: calc(100% - 8px); bottom: 62px; }
  .news-link h2 { font-size: 18px; }
  .hero-wave { height: 75px; background-size: 100% 100%; }
  .demo-section { padding-top: 24px; }
}
