.structure{background:linear-gradient(180deg,#f5f7f8,#e9eef3)}
.structure__head,.docs__head,.updates__head{display:grid;grid-template-columns:8fr 4fr;gap:50px;align-items:end;margin-top:clamp(65px,7vw,110px)}
.structure__head h2,.docs__head h2,.updates__head h2,.quality-system h2{margin:0;font:500 clamp(42px,6.5vw,112px)/.92 Unbounded;letter-spacing:-.075em}
.structure__head h2 span,.docs__head h2 span,.updates__head h2 span,.quality-system h2 span{color:var(--electric)}
.structure__head p,.docs__head p,.updates__head p,.quality-system__layout p{margin:0;font-size:12px;line-height:1.7;color:#6f7983}
.org-map{margin-top:clamp(70px,8vw,120px);min-height:620px;position:relative;border:1px solid var(--line);overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(50,183,255,.16),transparent 26%),linear-gradient(90deg,rgba(8,27,58,.055) 1px,transparent 1px),linear-gradient(0deg,rgba(8,27,58,.055) 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}
.org-map:before,.org-map:after{content:"";position:absolute;inset:10%;border:1px solid rgba(8,27,58,.12);border-radius:50%}
.org-map:after{inset:24%;border-style:dashed}
.org-map__core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:240px;height:240px;border-radius:50%;background:var(--blue);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 30px 80px rgba(6,27,58,.22);z-index:2}
.org-map__core strong{font:500 30px Unbounded;letter-spacing:-.06em}.org-map__core span{font-size:10px;color:rgba(255,255,255,.58);margin-top:10px}
.org-map article{position:absolute;width:230px;min-height:140px;padding:22px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 38px rgba(6,27,58,.07)}
.org-map article:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--electric);left:18px;top:18px}
.org-map article b{display:block;margin:32px 0 10px;font:500 20px Unbounded;letter-spacing:-.05em}.org-map article p{margin:0;color:#6f7983;font-size:11px;line-height:1.55}
.org-map article:nth-of-type(1){left:8%;top:12%}.org-map article:nth-of-type(2){right:12%;top:9%}.org-map article:nth-of-type(3){right:5%;top:45%}.org-map article:nth-of-type(4){right:24%;bottom:8%}.org-map article:nth-of-type(5){left:20%;bottom:7%}.org-map article:nth-of-type(6){left:5%;top:48%}
.quality-system{padding:clamp(92px,10vw,170px) 0;background:radial-gradient(circle at 78% 26%,#0b3c76,var(--blue) 56%);overflow:hidden;color:#fff}
.quality-system__layout{display:grid;grid-template-columns:7fr 5fr;gap:70px;align-items:center;margin-top:clamp(65px,7vw,110px)}
.quality-system__layout p{color:rgba(255,255,255,.62);max-width:520px;margin-top:30px}
.quality-orbit{height:520px;position:relative;display:flex;align-items:center;justify-content:center}
.quality-orbit i{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;animation:spin 18s linear infinite}.quality-orbit i:nth-child(1){width:460px;height:460px}.quality-orbit i:nth-child(2){width:320px;height:320px;animation-duration:13s;animation-direction:reverse}.quality-orbit i:nth-child(3){width:190px;height:190px;animation-duration:9s}
.quality-orbit i:after{content:"";position:absolute;right:14%;top:8%;width:10px;height:10px;border-radius:50%;background:var(--electric);box-shadow:0 0 24px var(--electric)}
.quality-orbit strong{font:500 78px Unbounded;letter-spacing:-.08em;z-index:1}.quality-orbit span{position:absolute;bottom:56px;font:500 8px Unbounded;letter-spacing:.13em;color:rgba(255,255,255,.58);text-transform:uppercase}
@keyframes spin{to{transform:rotate(360deg)}}
.quality-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.quality-steps article{padding:28px;min-height:250px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.quality-steps span,.docs-grid span{font:500 8px Unbounded;color:var(--electric);letter-spacing:.13em}.quality-steps h3{margin:72px 0 14px;font:500 20px/1.15 Unbounded;letter-spacing:-.04em}.quality-steps p{margin:0;color:rgba(255,255,255,.58);font-size:11px;line-height:1.6}
.docs{background:#eef1f3}.requisites{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:44px}.requisites article{background:#fff;padding:24px;min-height:150px}.requisites span{font:500 7px Unbounded;color:#7d8791;letter-spacing:.13em;text-transform:uppercase}.requisites strong{display:block;margin-top:42px;font:500 18px/1.25 Unbounded;letter-spacing:-.05em}
.docs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}.docs-grid article{background:#fff;border:1px solid var(--line);padding:24px;min-height:310px;position:relative;overflow:hidden;transition:.35s}.docs-grid article:hover{background:var(--blue);color:#fff;transform:translateY(-8px)}
.docs-grid i{display:block;width:54px;height:68px;border:1px solid var(--line);background:linear-gradient(135deg,#fff 0 72%,#dfe7ee 72%);margin-bottom:44px;box-shadow:14px 14px 0 rgba(8,27,58,.06)}.docs-grid h3{font:500 19px/1.15 Unbounded;letter-spacing:-.045em;margin:16px 0 12px}.docs-grid p{font-size:11px;line-height:1.6;color:#6f7983}.docs-grid article:hover p{color:rgba(255,255,255,.6)}
.updates{padding:clamp(92px,10vw,170px) 0;background:linear-gradient(135deg,#061b3a,#092c5b);color:#fff}.updates__head p{color:rgba(255,255,255,.62)}.updates__grid{display:grid;grid-template-columns:8fr 4fr;gap:20px;margin-top:70px}.news-stack{display:grid;grid-template-columns:1fr 1fr;gap:20px}.news-stack article,.career-stack{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.055);padding:26px;min-height:250px}.news-stack time{font:500 8px Unbounded;color:var(--electric);letter-spacing:.13em;text-transform:uppercase}.news-stack h3,.career-stack h3{font:500 25px/1.1 Unbounded;letter-spacing:-.055em;margin:42px 0 14px}.news-stack p,.career-stack p{font-size:12px;line-height:1.65;color:rgba(255,255,255,.58);margin:0}
.career-stack{background:#fff;color:var(--blue);display:flex;flex-direction:column}.career-stack h3{margin:0 0 30px}.career-stack p{color:#65717c;padding:14px 0;border-bottom:1px solid rgba(8,27,58,.12);font-weight:700}.career-stack .btn{margin-top:auto;width:max-content}
[data-url]{cursor:pointer}
[data-url]:focus-visible{outline:2px solid var(--electric);outline-offset:4px}
@media(max-width:1200px){.structure__head,.docs__head,.updates__head,.quality-system__layout,.updates__grid{grid-template-columns:1fr}.quality-steps,.requisites,.docs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.structure__head,.docs__head,.updates__head,.quality-system__layout{display:block}.structure__head h2,.docs__head h2,.updates__head h2,.quality-system h2{font-size:11.5vw}.structure__head p,.docs__head p,.updates__head p{margin-top:26px}.org-map{min-height:auto;background-size:auto,32px 32px,32px 32px;padding:18px}.org-map:before,.org-map:after{display:none}.org-map__core,.org-map article{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none;width:auto;height:auto;margin-bottom:12px}.org-map__core{border-radius:0;min-height:160px}.quality-steps,.docs-grid,.requisites,.news-stack{grid-template-columns:1fr}.quality-orbit{height:320px}.quality-orbit i:nth-child(1){width:290px;height:290px}.quality-orbit i:nth-child(2){width:210px;height:210px}.quality-orbit strong{font-size:56px}}

/* Mobile composition — touch-first, without desktop pin geometry. */
@media (max-width: 900px) {
  :root { --pad: clamp(18px, 5.1vw, 24px); }
  html, body { width: 100%; max-width: 100%; overflow-x: clip; }
  body { min-width: 320px; }
  main, section, .container, .section-label, .structure__head, .docs__head,
  .updates__head, .updates__grid, .news-stack, .career-stack { min-width: 0; max-width: 100%; }
  img { max-width: 100%; }
  .cursor, .header-top, .header-cta { display: none; }

  .section { padding: 72px 0; }
  .site-header { padding-top: env(safe-area-inset-top); }
  .header-main { height: 76px; grid-template-columns: 1fr 72px; gap: 14px; }
  .logo { display: inline-flex; align-items: center; min-height: 48px; font-size: 18px; }
  .menu-toggle { display: flex; align-items: center; justify-content: flex-end; width: 72px; height: 48px; padding: 0 10px 0 34px; background: rgba(50,183,255,.94); border: 1px solid rgba(255,255,255,.48); border-radius: 999px; box-shadow: 0 10px 30px rgba(2,14,34,.28); touch-action: manipulation; z-index: 2; }
  .menu-toggle span { font: 600 7px Unbounded, sans-serif; letter-spacing: .06em; color: var(--blue); }
  .menu-toggle i { left: 10px; right: auto; width: 17px; top: 19px; transition: transform .35s ease, top .35s ease; }
  .menu-toggle i:nth-child(2) { top: 27px; }
  .menu-open .menu-toggle i { top: 23px; transform: rotate(45deg); }
  .menu-open .menu-toggle i:nth-child(2) { transform: rotate(-45deg); }
  .mobile-menu { padding: calc(92px + env(safe-area-inset-top)) var(--pad) calc(24px + env(safe-area-inset-bottom)); overflow-y: auto; }
  .mobile-menu nav { padding-bottom: 76px; }
  .mobile-menu a { display: flex; align-items: center; min-height: 58px; padding: 10px 0; font-size: clamp(23px, 7.2vw, 34px); line-height: 1.05; }
  .mobile-menu a span { flex: 0 0 30px; margin-right: 10px; }
  .mobile-menu p { position: static; margin: 0; padding: 18px 0 calc(8px + env(safe-area-inset-bottom)); }

  .hero { height: max(700px, 100svh); min-height: 700px; }
  .hero__content { padding-top: calc(112px + env(safe-area-inset-top)); }
  .hero__kicker { max-width: 260px; font-size: 7px; line-height: 1.5; }
  .hero__title { margin-top: clamp(72px, 14svh, 112px); font-size: clamp(41px, 12.6vw, 58px); line-height: .9; letter-spacing: -.075em; }
  .hero__title > span { overflow: visible; }
  .hero__title > span:nth-child(2) em { display: inline-block; font-size: .53em; letter-spacing: -.045em; }
  .hero__title > span:nth-child(3) em { display: inline-block; font-size: .88em; }
  .hero__side { display: none; }
  .hero__bottom { margin-top: clamp(44px, 8svh, 70px); }
  .hero__bottom p { max-width: 320px; font-size: 12px; line-height: 1.6; }
  .hero__actions { display: grid; grid-template-columns: 1fr; align-items: stretch; gap: 12px; margin-top: 24px; }
  .hero__actions .btn, .hero__actions .text-link { min-height: 48px; width: 100%; justify-content: space-between; }
  .hero__actions .text-link { padding: 0 4px; border-bottom-color: rgba(255,255,255,.45); }
  .hero__foot { justify-content: flex-start; gap: 18px; line-height: 1.35; }
  .hero__foot span:last-child { display: none; }

  .section-label { grid-template-columns: 30px minmax(0, 1fr); gap: 10px; line-height: 1.4; }
  .section-label em { grid-column: 2; font-size: 6px; overflow-wrap: anywhere; }
  .intro__heading, .stats__head, .services__head, .projects__head, .process__head,
  .structure__head, .docs__head, .updates__head, .contacts__hero { margin-top: 48px; }
  .intro h2, .stats h2, .services h2, .advantages h2, .projects h2, .process h2,
  .structure__head h2, .docs__head h2, .updates__head h2, .quality-system h2 {
    font-size: clamp(35px, 10.6vw, 49px); line-height: .98; letter-spacing: -.07em;
    overflow-wrap: normal; word-break: normal; text-wrap: balance;
  }
  .intro__heading > p { max-width: 290px; margin: 0 0 28px; }
  .intro__visual { height: min(105vw, 440px); margin-top: 44px; }
  .intro__visual figcaption { right: 10px; left: 10px; bottom: 10px; width: max-content; max-width: calc(100% - 20px); line-height: 1.4; }
  .intro__copy { margin-top: 26px; }

  .stats { padding-top: 72px; }
  .stats__grid { margin-top: 48px; }
  .stats__grid article { min-height: 170px; }
  .stats__grid strong { font-size: clamp(44px, 13vw, 62px); }
  .stats__grid sup { display: inline-block; max-width: 58px; margin-left: 4px; font-size: 9px; line-height: 1.2; }
  .stats__grid p { width: calc(100% - 28px); }
  .marquee { contain: inline-size paint; padding: 34px var(--pad) 40px; white-space: normal; font-size: clamp(26px, 8.8vw, 40px); line-height: 1.05; }
  .marquee div { width: auto; animation: none; }
  .marquee div + div { display: none; }

  .org-map { margin-top: 44px; padding: 12px; }
  .org-map__core { min-height: 136px; margin-bottom: 12px; }
  .org-map__core strong { font-size: 26px; }
  .org-map article { min-height: 0; padding: 18px; }
  .org-map article b { margin: 28px 0 8px; font-size: 18px; }

  .services__layout { margin-top: 44px; gap: 20px; }
  .services__preview { height: min(82vw, 370px); overflow: hidden; }
  .services__image { transform: scale(1.025); }
  .services__image.active { transform: scale(1); }
  .services__preview-caption { left: 18px; bottom: 18px; font-size: 18px; }
  .service { grid-template-columns: 30px minmax(0, 1fr) 40px; gap: 10px; min-height: 104px; padding: 20px 0; touch-action: manipulation; }
  .service.active { padding-left: 12px; }
  .service h3 { font-size: clamp(18px, 5.4vw, 24px); overflow-wrap: anywhere; }
  .service p { font-size: 10px; }
  .service b { width: 40px; height: 40px; }

  .advantages__head { margin-top: 48px; }
  .advantages__grid { margin-top: 44px; }
  .advantages__grid article { min-height: 210px; padding: 24px; }
  .advantages__grid h3 { margin-top: 58px; }

  .projects { padding: 72px 0; }
  .projects__head .text-link { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: space-between; margin-top: 24px; padding: 0 2px; }
  .projects__rail { width: 100%; max-width: 100%; gap: 14px; padding: 44px var(--pad) 14px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-left: var(--pad); overscroll-behavior-inline: contain; touch-action: pan-x; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .projects__rail::-webkit-scrollbar { display: none; }
  .project-card { flex: 0 0 min(82vw, 340px); width: min(82vw, 340px); scroll-snap-align: start; }
  .project-card__image { height: min(104vw, 430px); }
  .project-card__info { min-height: 138px; padding: 20px; }
  .project-card__info h3 { font-size: 19px; }

  .process__timeline { margin-top: 44px; }
  .process__timeline article { grid-template-columns: 46px minmax(0, 1fr); gap: 14px; padding: 26px 0; }
  .process__timeline article > span { width: 46px; height: 46px; }
  .process__timeline:before, .process__progress { left: 23px; }
  .process__timeline h3 { font-size: 21px; overflow-wrap: anywhere; }

  .quality-system { padding: 72px 0; }
  .quality-system__layout { margin-top: 48px; }
  .quality-orbit { height: 292px; overflow: hidden; }
  .quality-orbit i:nth-child(1) { width: 270px; height: 270px; }
  .quality-orbit i:nth-child(2) { width: 196px; height: 196px; }
  .quality-orbit i:nth-child(3) { width: 126px; height: 126px; }
  .quality-orbit strong { font-size: 48px; }
  .quality-orbit span { bottom: 26px; }
  .quality-steps { margin-top: 38px; }
  .quality-steps article { min-height: 210px; padding: 24px; }
  .quality-steps h3 { margin-top: 56px; }

  .requisites { margin-top: 36px; }
  .requisites article { min-height: 126px; padding: 20px; overflow: hidden; }
  .requisites strong { margin-top: 30px; font-size: 16px; overflow-wrap: anywhere; }
  .docs-grid { gap: 12px; margin-top: 20px; }
  .docs-grid article { min-height: 260px; padding: 22px; }
  .docs-grid i { margin-bottom: 34px; }
  .docs-grid h3, .docs-grid p, .docs-grid span { max-width: 100%; overflow-wrap: anywhere; }

  .updates { padding: 72px 0; overflow: hidden; }
  .updates__grid { margin-top: 44px; }
  .news-stack { gap: 12px; }
  .news-stack article, .career-stack { min-height: 0; padding: 22px; }
  .news-stack article { padding-bottom: 28px; }
  .news-stack h3, .career-stack h3 { margin-top: 34px; font-size: 21px; overflow-wrap: anywhere; }
  .career-stack { width: 100%; transform: none; margin-top: 12px; }
  .career-stack h3 { margin: 0 0 18px; }
  .career-stack p { min-height: 48px; display: flex; align-items: center; padding: 12px 0; }
  .career-stack .btn { width: 100%; min-height: 50px; margin-top: 28px; }

  .developer-cta { min-height: max(620px, 82svh); }
  .developer-cta h2 { margin: 34px 0 26px; font-size: clamp(34px, 10vw, 46px); line-height: .98; text-wrap: balance; }
  .developer-cta p { font-size: 12px; }
  .developer-cta .btn { width: 100%; min-height: 52px; justify-content: space-between; }

  .contacts { padding: 72px 0 calc(26px + env(safe-area-inset-bottom)); }
  .contacts__hero h2 { font-size: clamp(45px, 13.4vw, 61px); line-height: .9; }
  .contacts__side { margin-top: 36px; gap: 8px; }
  .contacts__side p { margin-bottom: 18px; }
  .contacts__side a { display: flex; align-items: center; width: 100%; min-height: 48px; padding: 10px 0; font-size: clamp(15px, 4.4vw, 20px); overflow-wrap: anywhere; }
  .contact-form { margin-top: 52px; gap: 18px; }
  .contact-form label { gap: 6px; }
  .contact-form input { height: 52px; font-size: 16px; }
  .contact-form .btn { width: 100%; min-height: 52px; margin-top: 8px; }
  .footer { margin-top: 72px; padding-top: 30px; grid-template-columns: 1fr; gap: 20px; }
  .footer__brand, .footer > div:nth-child(4), .footer__bottom { grid-column: auto; }
  .footer > div:not(.footer__brand):not(.footer__bottom) { gap: 0; }
  .footer strong { margin: 10px 0 8px; }
  .footer a { display: flex; align-items: center; min-height: 44px; }
  .footer__bottom { padding: 22px 0 calc(8px + env(safe-area-inset-bottom)); line-height: 1.5; }

  .btn, .text-link, button, [data-url] { touch-action: manipulation; }
  .btn { min-height: 48px; padding: 14px 18px; font-size: 10px; }
}

@media (max-width: 374px) {
  .hero__title { font-size: 39px; }
  .intro h2, .stats h2, .services h2, .advantages h2, .projects h2, .process h2,
  .structure__head h2, .docs__head h2, .updates__head h2, .quality-system h2 { font-size: 33px; }
  .contacts__hero h2 { font-size: 42px; }
}

@media (max-width: 900px) and (orientation: landscape) {
  .hero { min-height: 580px; height: auto; }
  .hero__content { min-height: 580px; padding-top: 100px; }
  .hero__title { margin-top: 42px; font-size: clamp(42px, 8vw, 62px); }
  .hero__bottom { margin-top: 36px; padding-bottom: 88px; }
  .hero__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mobile-menu { padding-top: 72px; }
  .mobile-menu a { min-height: 48px; font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .marquee div, .quality-orbit i { animation: none !important; }
}
