.b2g-hub {--bg: #f4f6f8;
      --surface: #ffffff;
      --surface-2: #eef2f5;
      --ink: #111318;
      --muted: #606772;
      --line: #dde2e7;
      --brand: #e31b23;
      --brand-dark: #bb1017;
      --brand-soft: #fff1f2;
      --dark: #15171b;
      --dark-2: #202329;
      --success: #17824b;
      --radius-xl: 28px;
      --radius-lg: 20px;
      --radius-md: 14px;
      --shadow-lg: 0 24px 70px rgba(17, 19, 24, .12);
      --shadow-md: 0 12px 34px rgba(17, 19, 24, .08);
      --container: 1240px;
      --font-family: inherit;}
.b2g-hub, .b2g-hub * {box-sizing: border-box;}
@font-face {
  font-family: 'Proxima Nova';
  src: url('../../fonts/ProximaNova-Black.woff') format('woff');
  font-weight: 800 950;
  font-style: normal;
  font-display: swap;
}
.b2g-hub {margin: 0;
      color: var(--ink);
      background: var(--bg);
      font-family: var(--font-family);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;}
.b2g-hub a {color: inherit; text-decoration: none;}
.b2g-hub img, .b2g-hub svg {display: block; max-width: 100%;}
.b2g-hub button, .b2g-hub input, .b2g-hub textarea, .b2g-hub select {font: inherit;}
.b2g-hub .b2g-shell {width: min(calc(100% - 40px), var(--container));
      margin: 0 auto;
      max-width: 100%;}
.b2g-hub {overflow-x: hidden; max-width: 100%; min-width: 0;}
.b2g-hub .hero {padding: 0;}
.b2g-hub .hero__panel {position: relative;
      min-height: 610px;
      overflow: hidden;
      padding: 28px 0 72px;
      border-radius: 0;
      background:
        radial-gradient(circle at 81% 18%, rgba(227,27,35,.34), transparent 25%),
        radial-gradient(circle at 70% 84%, rgba(255,255,255,.08), transparent 23%),
        linear-gradient(135deg, #111317 0%, #1b1f25 64%, #121418 100%);
      color: #fff;
      box-shadow: none;}
.b2g-hub .hero .breadcrumbs {padding: 0 0 28px;
      color: rgba(255,255,255,.58);
      font-size: 13px;
      line-height: 1.4;}
.b2g-hub .hero .breadcrumbs a {color: rgba(255,255,255,.72); text-decoration: none;}
.b2g-hub .hero .breadcrumbs a:hover {color: #fff;}
.b2g-hub .hero .breadcrumbs > span:last-child {color: #fff;}
.b2g-hub .hero .breadcrumbs span {margin: 0 7px;}
.b2g-hub .hero__grid {position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
      gap: 70px;
      align-items: center;
      min-height: 460px;}
.b2g-hub .hero__eyebrow, .b2g-hub .section-eyebrow {display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 10px;
      font-size: 12px;
      line-height: 1;
      font-weight: 800;
      letter-spacing: .11em;
      text-transform: uppercase;}
.b2g-hub .hero__eyebrow {color: #ffb0b4;}
.b2g-hub .hero__eyebrow::before, .b2g-hub .section-eyebrow::before {content: "";
      width: 28px;
      height: 2px;
      border-radius: 2px;
      background: currentColor;}
.b2g-hub .hero h1 {max-width: 770px;
      margin: 0;
      font-size: clamp(44px, 5.5vw, 78px);
      line-height: .98;
      letter-spacing: -.055em;
      font-weight: 800;}
.b2g-hub .hero h1 em {color: #ff5359;
      font-style: normal;}
.b2g-hub .hero__lead {max-width: 680px;
      margin: 26px 0 0;
      color: #c9ced5;
      font-size: 19px;
      line-height: 1.6;}
.b2g-hub .hero__actions {display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 34px;}
.b2g-hub .btn {min-height: 54px;
      padding: 0 22px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      border: 1px solid transparent;
      border-radius: 999px;
      text-decoration: none;
      font-size: 14px;
      font-weight: 800;
      transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
      cursor: pointer;}
.b2g-hub .btn:hover {transform: translateY(-2px);}
.b2g-hub .btn--primary {background: var(--brand); color: #fff;}
.b2g-hub .btn--primary:hover {background: #f1262e;}
.b2g-hub .btn--ghost {border-color: rgba(255,255,255,.23); color: #fff; background: rgba(255,255,255,.04);}
.b2g-hub .btn--ghost:hover {background: rgba(255,255,255,.09);}
.b2g-hub .btn--dark {background: var(--ink); color: #fff;}
.b2g-hub .btn--light {background: #fff; color: var(--ink);}
.b2g-hub .hero__note {display: flex;
      flex-wrap: wrap;
      gap: 18px 24px;
      margin-top: 30px;
      color: #c5cad0;
      font-size: 15px;
      font-weight: 700;}
.b2g-hub .hero__eyebrow,
.b2g-hub .hero h1,
.b2g-hub .hero__lead,
.b2g-hub .hero__actions,
.b2g-hub .hero__note {
      opacity: 0;
      transform: translateY(22px);
      animation: b2gHeroFadeUp .72s ease forwards;}
.b2g-hub .hero__eyebrow {animation-delay: .08s;}
.b2g-hub .hero h1 {animation-delay: .16s;}
.b2g-hub .hero__lead {animation-delay: .28s;}
.b2g-hub .hero__actions {animation-delay: .38s;}
.b2g-hub .hero__note {animation-delay: .48s;}
.b2g-hub .hero__note span {display: inline-flex; gap: 7px; align-items: center;}
.b2g-hub .hero__note i {width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--brand);}
/* Анимация маршрутов: только .route-map. JS не нужен. */
.b2g-hub .route-map {position: relative;
      min-height: 430px;}
.b2g-hub .route-map::before {content: "";
      position: absolute;
      inset: 12% 14%;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 50%;
      transform: rotate(-18deg);}
.b2g-hub .route-map::after {content: "";
      position: absolute;
      width: 290px;
      height: 290px;
      border-radius: 50%;
      right: 2%;
      top: 15%;
      background: radial-gradient(circle, rgba(227,27,35,.2), rgba(227,27,35,0) 65%);
      transform-origin: center;
      animation: b2g-route-glow 5.5s ease-in-out infinite alternate;}
.b2g-hub .route-orbit-pulse {position: absolute;
      z-index: 1;
      left: 50%;
      top: 48%;
      width: 324px;
      height: 228px;
      margin: -114px 0 0 -162px;
      pointer-events: none;
      animation: b2g-route-orbit 11s linear infinite;}
.b2g-hub .route-orbit-pulse::after {content: "";
      position: absolute;
      top: 0;
      left: 50%;
      width: 9px;
      height: 9px;
      margin-left: -4.5px;
      border-radius: 50%;
      background: #e31b23;
      box-shadow: 0 0 8px 2px rgba(227,27,35,.5), 0 0 22px 8px rgba(227,27,35,.2);}
.b2g-hub .route-card {position: absolute;
      z-index: 2;
      --route-card-rotate: 0deg;
      width: min(270px, 75%);
      padding: 18px 18px 17px;
      border: 1px solid rgba(255,255,255,.14);
      background: #252830;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      border-radius: 18px;
      opacity: 0;
      will-change: transform;
      transform: scale(.965) rotate(var(--route-card-rotate));
      box-shadow: 0 18px 40px rgba(0,0,0,.17);
      transition: border-color .28s ease, box-shadow .28s ease, background .28s ease, translate .28s ease, scale .28s ease;}
.b2g-hub .route-card--1 {top: 0; right: 4%; --route-card-rotate: 2deg;
      animation: b2g-route-reveal .74s cubic-bezier(.2,.78,.25,1) .12s both,
        b2g-route-float-1 6.8s ease-in-out .9s infinite alternate;}
.b2g-hub .route-card--2 {top: 150px; left: 0; --route-card-rotate: -3deg;
      animation: b2g-route-reveal .74s cubic-bezier(.2,.78,.25,1) .26s both,
        b2g-route-float-2 7.6s ease-in-out 1.15s infinite alternate;}
.b2g-hub .route-card--3 {bottom: 0; right: 3%; --route-card-rotate: 1deg;
      animation: b2g-route-reveal .74s cubic-bezier(.2,.78,.25,1) .4s both,
        b2g-route-float-3 7.1s ease-in-out 1.25s infinite alternate;}
@media (hover: hover) and (min-width: 861px) {
.b2g-hub .route-card:hover {
      z-index: 5;
      animation-play-state: paused;
      translate: 0 -8px;
      scale: 1.025;
      border-color: rgba(227,27,35,.42);
      background: #2b2f38;
      box-shadow: 0 25px 55px rgba(0,0,0,.25), 0 0 28px rgba(227,27,35,.22);}
.b2g-hub .route-card:hover .route-card__icon {
      transform: scale(1.08);
      background: rgba(227,27,35,.88);
      color: #fff;
      box-shadow: 0 8px 18px rgba(227,27,35,.35);}
.b2g-hub .route-card:hover .route-card__icon svg {color: #fff; stroke: #fff;}
.b2g-hub .route-card:hover .route-card__tag {color: #ff868c; letter-spacing: .105em;}
}
.b2g-hub .route-card__top {display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;}
.b2g-hub .route-card__icon {width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      background: rgba(227,27,35,.18);
      color: #ff686e;
      transition: transform .28s ease, background .28s ease, color .28s ease, box-shadow .28s ease;}
.b2g-hub .route-card__icon svg {width: 22px; height: 22px;}
.b2g-hub .route-card__tag {font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .08em;
      color: #8f96a0;
      font-weight: 800;
      transition: color .28s ease, letter-spacing .28s ease;}
.b2g-hub .route-card strong {display: block;
      margin-top: 18px;
      font-size: 17px;
      line-height: 1.25;
      letter-spacing: -.02em;}
.b2g-hub .route-card p {margin: 8px 0 0;
      color: #c5cad0;
      font-size: 14px;
      line-height: 1.5;}
.b2g-hub .hero__grid-dots {position: absolute;
      right: -80px;
      bottom: -110px;
      width: 360px;
      height: 360px;
      opacity: .25;
      background-image: radial-gradient(rgba(255,255,255,.55) 1px, transparent 1px);
      background-size: 18px 18px;
      transform: rotate(15deg);}
.b2g-hub .quick-nav {padding: 38px 0;}
.b2g-hub .quick-nav__inner {display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 999px;
      overflow-x: auto;
      box-shadow: 0 8px 28px rgba(17,19,24,.05);}
.b2g-hub .quick-nav__label {flex: 0 0 auto;
      padding: 0 12px 0 8px;
      font-size: 12px;
      font-weight: 800;
      color: #818791;
      text-transform: uppercase;
      letter-spacing: .08em;}
.b2g-hub .quick-nav a {flex: 1 1 auto;
      min-width: auto;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 20px;
      text-decoration: none;
      border-radius: 999px;
      font-size: 16px;
      font-weight: 800;
      color: #333842;
      background-color: #f5f6f7;
      white-space: nowrap;
      text-align: center;}
.b2g-hub .quick-nav a span {background-image: linear-gradient(currentColor, currentColor);
      background-position: 0 100%;
      background-repeat: no-repeat;
      background-size: 0 1.5px;
      padding-bottom: 2px;
      transition: background-size .28s ease;}
.b2g-hub .quick-nav a:hover {background-color: var(--brand-soft); color: var(--brand);}
.b2g-hub .quick-nav a:hover span {background-size: 100% 1.5px;}
.b2g-hub .quick-nav a:nth-of-type(1),
.b2g-hub .quick-nav a:nth-of-type(2),
.b2g-hub .quick-nav a:nth-of-type(3) {flex-grow: .7;}
.b2g-hub .quick-nav a:nth-of-type(4),
.b2g-hub .quick-nav a:nth-of-type(5) {flex-grow: 1.35; padding: 0 22px;}
.b2g-hub .intro-video {
      padding-top: 40px;
      padding-bottom: 40px;}
.b2g-hub .intro-video__copy {width: 100%; margin: 0 0 48px; text-align: center;}
/* #intro-video-title: не наследует left от .b2g-hub h2 и max-width:820px от .section h2. */
.b2g-hub .intro-video__copy h2,
.b2g-hub #intro-video-title {display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      max-width: none !important;
      margin: 0 auto !important;
      text-align: center !important;
      font-size: clamp(22px, 3.2vw, 40px);
      line-height: 1.2;
      letter-spacing: -.03em;}
.b2g-hub .intro-video__copy h2 span,
.b2g-hub #intro-video-title span {display: block !important;
      width: max-content !important;
      max-width: 100%;
      margin-left: auto !important;
      margin-right: auto !important;
      text-align: center !important;
      white-space: nowrap !important;}
.b2g-hub .intro-video__frame {
      position: relative;
      overflow: hidden;
      border-radius: 28px;
      background: #111318;
      aspect-ratio: 16 / 9;}
.b2g-hub .intro-video__frame iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;}
/* Видео-фасад: превью показывается до клика, iframe грузится только по Play. */
.b2g-hub .intro-video__frame--facade .intro-video__thumb {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;}
.b2g-hub .intro-video__play {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      background: rgba(0,0,0,.28);
      border: 0;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background .2s ease;}
.b2g-hub .intro-video__play:hover {background: rgba(0,0,0,.42);}
.b2g-hub .intro-video__play > svg {
      width: 72px;
      height: 72px;
      color: #fff;
      background: var(--brand);
      border-radius: 50%;
      padding: 18px;
      box-sizing: content-box;
      flex-shrink: 0;
      filter: drop-shadow(0 4px 18px rgba(0,0,0,.45));
      transition: transform .2s ease;}
.b2g-hub .intro-video__play:hover > svg {transform: scale(1.08);}
.b2g-hub .intro-video__frame--active iframe {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: 0;}
.b2g-hub .section {padding: 84px 0;}
.b2g-hub .section--white {background: #fff;}
.b2g-hub .section--dark {background: var(--dark); color: #fff;}
.b2g-hub #solutions {padding-top: 28px;}
.b2g-hub #system {padding-bottom: 32px;}
.b2g-hub .section-head {display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
      gap: 70px;
      align-items: end;
      margin-bottom: 40px;}
/* Шапка #solutions = те же 2 колонки и gap, что у карточек ниже. */
.b2g-hub #solutions .section-head {grid-template-columns: 1fr 1fr;
      gap: 18px;
      align-items: end;}
.b2g-hub .section-eyebrow {color: var(--brand); margin-bottom: 16px;}
.b2g-hub .section h2:not(#intro-video-title) {margin: 0;
      max-width: 820px;
      font-size: clamp(34px, 4vw, 58px);
      line-height: 1.03;
      letter-spacing: -.045em;
      font-weight: 800;
      color: #111318;}
.b2g-hub .section-head p {margin: 0;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.65;}
.b2g-hub .section--dark .section-head p {color: #aeb4bd;}
.b2g-hub .audience-grid {display: grid;
      grid-template-columns: repeat(12, 1fr);
      gap: 18px;
      align-items: stretch;}
.b2g-hub .audience-card {position: relative;
      min-height: 0;
      padding: 0;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      background: #fff;
      text-decoration: none;
      color: inherit;
      transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.b2g-hub .audience-card:hover {transform: translateY(-6px);
      border-color: #f0b6b8;
      box-shadow: 0 22px 54px rgba(17,19,24,.16), 0 0 28px rgba(227,27,35,.16);}
.b2g-hub .audience-card--wide {grid-column: span 6;}
.b2g-hub .audience-card--third {grid-column: span 4;}
.b2g-hub .audience-card__media {display: block;
      height: 205px;
      overflow: hidden;
      background: #ececec;}
.b2g-hub .audience-card--third .audience-card__media {height: 176px;}
.b2g-hub .audience-card--photo-lg .audience-card__media {height: 285px;}
.b2g-hub .audience-card__media img {display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 50% 50%;
      transition: transform .45s ease;}
.b2g-hub .audience-card--sport .audience-card__media img {object-position: 50% 54%;}
.b2g-hub .audience-card--yunarmia .audience-card__media img {object-position: 50% 55%;}
.b2g-hub .audience-card--edu .audience-card__media img {object-position: 50% 100%;}
.b2g-hub .audience-card:hover .audience-card__media img {transform: scale(1.035);}
.b2g-hub .audience-card__icon {position: relative;
      z-index: 2;
      width: 48px;
      height: 48px;
      margin: -24px 0 0 24px;
      display: grid;
      place-items: center;
      flex: 0 0 48px;
      border-radius: 14px;
      background: #e31b23;
      color: #fff;
      box-shadow: 0 8px 18px rgba(227,27,35,.35);}
.b2g-hub .audience-card__icon svg {width: 22px; height: 22px; stroke: #fff; color: #fff;}
.b2g-hub .audience-card__body {display: flex;
      flex-direction: column;
      flex: 1 1 auto;
      padding: 14px 28px 26px;}
.b2g-hub .audience-card h3 {position: relative;
      z-index: 2;
      max-width: 420px;
      margin: 0;
      font-size: 24px;
      line-height: 1.08;
      letter-spacing: -.035em;
      font-weight: 800;
      color: #111318;}
.b2g-hub .audience-card p {position: relative;
      z-index: 2;
      max-width: 480px;
      margin: 12px 0 26px;
      color: var(--muted);
      line-height: 1.55;
      font-size: 16px;}
.b2g-hub .audience-card__link {position: relative;
      z-index: 2;
      margin-top: auto;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      font-weight: 800;
      color: var(--brand);
      text-decoration: none;
      background-image: none;}
.b2g-hub .audience-card:hover .audience-card__link {text-decoration: none; background-image: none;}
.b2g-hub .arrow {width: 28px;
      height: 28px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--brand-soft);
      transition: transform .18s ease;}
.b2g-hub .audience-card:hover .arrow {transform: translateX(4px);}
.b2g-hub .institution-cta {margin-top: 8px;
      padding: 22px 26px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      overflow: hidden;
      box-sizing: border-box;
      max-width: 100%;
      border-radius: var(--radius-lg);
      background: #eef1f3;
      border: 1px solid #e2e6e9;}
.b2g-hub .institution-cta > div {min-width: 0; flex: 1 1 auto;}
.b2g-hub .institution-cta strong {font-size: 18px; letter-spacing: -.02em;}
.b2g-hub .institution-cta p {margin: 5px 0 0; color: var(--muted); font-size: 16px; white-space: normal;}
.b2g-hub .institution-cta .btn {flex: 0 0 auto; white-space: nowrap; width: auto; max-width: 100%;}
.b2g-hub .procurement-grid {display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      align-items: stretch;}
.b2g-hub .law-card {position: relative;
      min-height: 440px;
      padding: 38px;
      overflow: hidden;
      border-radius: 26px;
      background: #fff;
      color: var(--ink);
      text-decoration: none !important;
      display: flex;
      flex-direction: column;
      transition: transform .32s ease, box-shadow .32s ease;}
.b2g-hub .law-card--red {background: var(--brand);
      color: #fff;}
.b2g-hub .law-card:hover {transform: translateY(-6px);}
.b2g-hub .law-card--red:hover {box-shadow: 0 22px 54px rgba(0,0,0,.28), 0 0 32px rgba(255,255,255,.2);}
.b2g-hub .law-card:not(.law-card--red):hover {box-shadow: 0 22px 54px rgba(17,19,24,.18), 0 0 28px rgba(227,27,35,.22);}
.b2g-hub .law-card__law {display: inline-block;
      width: max-content;
      max-width: 100%;
      align-self: flex-start;
      font-size: clamp(62px, 7vw, 96px);
      line-height: .9;
      font-weight: 800;
      letter-spacing: -.075em;
      padding-bottom: 8px;
      text-decoration: none;
      background-image: linear-gradient(currentColor, currentColor);
      background-position: 0 100%;
      background-repeat: no-repeat;
      background-size: 0 3px;
      transition: background-size .28s ease;}
.b2g-hub .law-card:hover .law-card__law {background-size: 100% 3px;}
.b2g-hub .law-card--red .law-card__law {color: #fff;}
.b2g-hub .law-card:not(.law-card--red) .law-card__law {color: var(--brand);}
.b2g-hub .law-card__caption {margin-top: 28px;
      font-size: 25px;
      line-height: 1.15;
      font-weight: 800;
      letter-spacing: -.035em;}
.b2g-hub .law-card p {max-width: 500px;
      margin: 14px 0 28px;
      font-size: 16px;
      line-height: 1.6;
      color: #666d76;}
.b2g-hub .law-card--red p {color: rgba(255,255,255,.78);}
.b2g-hub .law-card__bottom {margin-top: auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      font-weight: 800;}
.b2g-hub .law-card__cta {font-size: 16px;
      letter-spacing: -.02em;
      line-height: 1.2;
      text-decoration: none;
      background-image: linear-gradient(currentColor, currentColor);
      background-position: 0 100%;
      background-repeat: no-repeat;
      background-size: 0 1.5px;
      transition: background-size .28s ease;}
.b2g-hub .law-card:hover .law-card__cta {background-size: 100% 1.5px;}
.b2g-hub .law-card--red .law-card__cta {color: #fff;}
.b2g-hub .law-card:not(.law-card--red) .law-card__cta {color: #e31b23;}
.b2g-hub .law-card__circle {width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: #f4f5f6;
      font-size: 18px;
      transition: transform .32s ease, background .32s ease;}
.b2g-hub .law-card--red .law-card__circle {background: rgba(255,255,255,.15);}
.b2g-hub .law-card:hover .law-card__circle {transform: translate(3px,-2px);}
.b2g-hub .law-card:not(.law-card--red):hover .law-card__circle {background: #fff1f2; color: #e31b23;}
.b2g-hub .procurement-aside {grid-column: 1 / -1;
      margin-top: 2px;
      display: grid;
      grid-template-columns: 1fr 1.4fr;
      gap: 30px;
      padding: 30px;
      border: 1px solid #343840;
      border-radius: 22px;
      background: #1b1e23;}
.b2g-hub .procurement-aside h3 {margin: 0; font-size: 22px; letter-spacing: -.03em;}
.b2g-hub .procurement-aside p {margin: 8px 0 0; color: #9da4ad; font-size: 14px; line-height: 1.6;}
.b2g-hub .chip-list {display: flex; flex-wrap: wrap; gap: 9px; align-content: start;}
.b2g-hub .chip {display: inline-flex;
      align-items: center;
      gap: 7px;
      min-height: 38px;
      padding: 0 13px;
      border-radius: 999px;
      border: 1px solid #393e46;
      background: #22262c;
      color: #d7dbe0;
      font-size: 12px;
      font-weight: 700;
      transition: box-shadow .28s ease, border-color .28s ease, transform .28s ease, background .28s ease;}
.b2g-hub .chip::before {content: "\2713"; color: #ff666c; font-weight: 700;}
.b2g-hub .chip:hover {border-color: rgba(227,27,35,.55);
      background: #2c3138;
      box-shadow: 0 0 0 1px rgba(227,27,35,.28), 0 0 18px rgba(227,27,35,.4);
      transform: translateY(-1px);}
.b2g-hub .system-head {display: grid;
      grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
      gap: 48px 70px;
      align-items: end;
      margin-bottom: 36px;}
.b2g-hub .system-head__copy p {margin: 0 0 14px; color: var(--muted); font-size: 16px; line-height: 1.65;}
.b2g-hub .system-head__copy p:last-child {margin-bottom: 0;}
.b2g-hub .system-list {display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
      align-items: stretch;}
.b2g-hub .system-item {display: flex;
      flex-direction: column;
      min-height: 0;
      padding: 0;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      background: #fff;
      text-decoration: none;
      color: inherit;
      transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;}
.b2g-hub .system-item:hover {transform: translateY(-3px);
      border-color: #f0b6b8;
      box-shadow: 0 14px 32px rgba(17,19,24,.08);}
.b2g-hub .system-item__head {display: grid;
      grid-template-columns: 48px minmax(0, 1fr) auto;
      gap: 12px 14px;
      align-items: start;
      padding: 18px 18px 12px;}
.b2g-hub .system-item__icon {width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      flex: 0 0 48px;
      border-radius: 14px;
      background: #f3f4f6;
      color: var(--brand);
      transition: background .32s ease, color .32s ease;}
.b2g-hub .system-item__icon svg {width: 22px; height: 22px;}
.b2g-hub .system-item:hover .system-item__icon {background: #e31b23; color: #fff;}
.b2g-hub .system-item:hover .system-item__icon svg {stroke: #fff; color: #fff;}
.b2g-hub .system-item h3 {margin: 0; font-size: 18px; letter-spacing: -.02em; line-height: 1.15;}
.b2g-hub .system-item p {margin: 12px 0 0; color: var(--muted); font-size: 15px; line-height: 1.5;}
.b2g-hub .system-item__cta {display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: 2px;
      white-space: nowrap;
      font-size: 13px;
      font-weight: 800;
      color: var(--brand);}
.b2g-hub .system-item__arrow {display: inline-block;
      transition: transform .32s ease;}
.b2g-hub .system-item:hover .system-item__arrow {transform: translate(3px, -2px);}
.b2g-hub .system-item__media {position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 162px;
      margin: 0 12px 12px;
      padding: 10px 18px 34px;
      overflow: hidden;
      border-radius: 14px;
      background: #eef1f3;}
.b2g-hub .system-item__media img {display: block;
      width: auto;
      height: auto;
      max-width: 100%;
      max-height: 118px;
      object-fit: contain;
      mix-blend-mode: multiply;
      transition: transform .36s ease;}
.b2g-hub .system-item--software .system-item__media img {mix-blend-mode: normal; max-height: 124px;}
.b2g-hub .system-item:hover .system-item__media img {transform: scale(1.045);}
.b2g-hub .system-item__pill {position: absolute;
      left: 10px;
      bottom: 8px;
      max-width: calc(100% - 20px);
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      padding: 5px 10px;
      border-radius: 999px;
      background: #fff;
      color: #333842;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: -.01em;
      box-shadow: 0 2px 8px rgba(17,19,24,.06);}
.b2g-hub .system-cta {display: flex;
      justify-content: center;
      margin-top: 34px;
      margin-bottom: 0;}
.b2g-hub .system-cta .btn {width: 248px;}
.b2g-hub .benefits-grid {display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;}
.b2g-hub .benefit {min-height: 260px;
      padding: 26px;
      border-radius: 20px;
      border: 1px solid #343840;
      background: #1a1d22;
      transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;}
.b2g-hub .benefit:hover {transform: translateY(-5px);
      border-color: rgba(227,27,35,.45);
      box-shadow: 0 18px 40px rgba(0,0,0,.28), 0 0 24px rgba(227,27,35,.22);}
.b2g-hub .benefit__icon {width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      border-radius: 14px;
      color: #ff676d;
      background: rgba(227,27,35,.13);}
.b2g-hub .benefit__icon svg {width: 24px; height: 24px;}
.b2g-hub .benefit h3 {margin: 64px 0 0; font-size: 19px; letter-spacing: -.025em;}
.b2g-hub .benefit p {margin: 9px 0 0; color: #c5cad0; line-height: 1.55; font-size: 15px;}
/* Список карточек сдвинут к H2 (padding-top ≈ eyebrow). Ссылка — под текстом, не внизу панели. */
.b2g-hub .documents-panel {display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
      grid-template-areas: "copy list" "more list";
      column-gap: 54px;
      row-gap: 8px;
      align-items: start;
      padding: 52px;
      overflow: hidden;
      border-radius: 28px;
      background: #edf0f2;}
.b2g-hub .documents-panel > div:first-child {grid-area: copy; min-width: 0;}
.b2g-hub .documents-panel h2 {font-size: clamp(34px, 4vw, 52px);}
.b2g-hub .documents-panel__lead {margin: 18px 0 0; color: var(--muted); line-height: 1.7;}
.b2g-hub .documents-list {grid-area: list;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      padding-top: 28px;
      min-width: 0;}
.b2g-hub .document-row {min-height: 76px;
      display: flex;
      align-items: center;
      gap: 13px;
      padding: 14px;
      border-radius: 14px;
      background: #fff;
      border: 1px solid #e0e4e7;
      font-size: 16px;
      line-height: 1.4;
      font-weight: 800;
      transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;}
.b2g-hub .document-row:hover {transform: translateY(-3px);
      border-color: #f0b6b8;
      box-shadow: 0 10px 24px rgba(17,19,24,.08), 0 0 16px rgba(227,27,35,.16);}
.b2g-hub .document-row__tick {flex: 0 0 30px;
      width: 30px;
      height: 30px;
      display: grid;
      place-items: center;
      border-radius: 9px;
      background: var(--brand-soft);
      color: var(--brand);}
.b2g-hub .final-cta {padding: 92px 0;}
.b2g-hub .final-cta__panel {position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: .95fr 1.05fr;
      gap: 80px;
      padding: 62px;
      border-radius: 32px;
      background: var(--brand);
      color: #fff;}
.b2g-hub .final-cta__panel::after {content: "";
      position: absolute;
      width: 420px;
      height: 420px;
      border: 70px solid rgba(255,255,255,.06);
      border-radius: 50%;
      right: -220px;
      top: -170px;}
.b2g-hub .final-cta h2 {font-size: clamp(38px, 5vw, 64px);}
.b2g-hub .final-cta__lead {margin: 22px 0 0; max-width: 520px; color: rgba(255,255,255,.82); line-height: 1.7;}
.b2g-hub .final-cta__small {margin-top: 30px; color: rgba(255,255,255,.64); font-size: 12px; line-height: 1.6;}
.b2g-hub .lead-form {position: relative;
      z-index: 2;
      padding: 24px;
      border-radius: 22px;
      background: #fff;
      color: var(--ink);
      box-shadow: 0 24px 60px rgba(91, 0, 4, .23);}
.b2g-hub .lead-form__title {font-size: 19px; font-weight: 800; letter-spacing: -.025em;}
.b2g-hub .lead-form__hint {margin: 7px 0 18px; color: var(--muted); font-size: 12px; line-height: 1.55;}
.b2g-hub .form-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
.b2g-hub .field {display: grid; gap: 6px;}
.b2g-hub .field--full {grid-column: 1 / -1;}
.b2g-hub .field label {font-size: 11px; font-weight: 800; color: #6e747d;}
.b2g-hub .field input, .b2g-hub .field select, .b2g-hub .field textarea {width: 100%;
      border: 1px solid #dce1e5;
      border-radius: 11px;
      background: #f8f9fa;
      color: var(--ink);
      outline: none;
      padding: 13px 14px;
      font-size: 13px;
      transition: border-color .16s ease, box-shadow .16s ease;}
.b2g-hub .field textarea {min-height: 94px; resize: vertical;}
.b2g-hub .field input:focus, .b2g-hub .field select:focus, .b2g-hub .field textarea:focus {border-color: #b6bcc4; box-shadow: 0 0 0 3px rgba(17,19,24,.05);}
.b2g-hub .lead-form .btn {width: 100%; margin-top: 12px; border: 0;}
.b2g-hub .lead-form__privacy {margin: 10px 2px 0; color: #949aa2; font-size: 10px; line-height: 1.45;}
@media (max-width: 1080px) {
.b2g-hub .hero__panel {padding: 24px 0 52px;}
.b2g-hub .hero__grid {grid-template-columns: 1fr .75fr; gap: 38px;}
.b2g-hub .benefits-grid {grid-template-columns: 1fr 1fr;}
.b2g-hub .documents-panel {grid-template-columns: 1fr;
      grid-template-areas: "copy" "more" "list";
      gap: 22px;}
.b2g-hub .documents-list {padding-top: 0;}
.b2g-hub .final-cta__panel {gap: 38px; padding: 48px;}
}
@media (max-width: 860px) {
.b2g-hub .hero__panel {min-height: 0; padding: 22px 0 42px; border-radius: 0;}
.b2g-hub .hero__grid {grid-template-columns: 1fr;}
.b2g-hub .hero__lead {font-size: 17px;}
.b2g-hub .route-map {display: grid; gap: 12px; min-height: 0; margin-top: 12px;}
.b2g-hub .route-map::before, .b2g-hub .route-map::after {display: none;}
.b2g-hub .route-orbit-pulse {display: none;}
.b2g-hub .route-card, .b2g-hub .route-card--1, .b2g-hub .route-card--2, .b2g-hub .route-card--3 {
  position: relative; inset: auto; top: auto; right: auto; bottom: auto; left: auto;
  width: 100%; max-width: none; --route-card-rotate: 0deg; will-change: auto;
  animation: b2g-route-reveal .58s cubic-bezier(.2,.78,.25,1) both;
}
.b2g-hub .route-card--1 {animation-delay: .08s;}
.b2g-hub .route-card--2 {animation-delay: .18s;}
.b2g-hub .route-card--3 {animation-delay: .28s;}
.b2g-hub .section {padding: 64px 0;}
.b2g-hub #solutions {padding-top: 24px;}
.b2g-hub .section-head {grid-template-columns: 1fr; gap: 20px;}
.b2g-hub .audience-card--wide, .b2g-hub .audience-card--third {grid-column: span 12;}
.b2g-hub .audience-card {min-height: 0;}
.b2g-hub .audience-card__media {height: 188px;}
.b2g-hub .audience-card--third .audience-card__media {height: 188px;}
.b2g-hub .audience-card--photo-lg .audience-card__media {height: 220px;}
.b2g-hub .procurement-grid {grid-template-columns: 1fr;}
.b2g-hub .procurement-aside {grid-column: auto; grid-template-columns: 1fr;}
.b2g-hub .system-head {grid-template-columns: 1fr; gap: 20px; margin-bottom: 28px;}
.b2g-hub .system-intro {position: static;}
.b2g-hub .final-cta__panel {grid-template-columns: 1fr;}
}
@media (max-width: 640px) {
.b2g-hub .b2g-shell {width: min(calc(100% - 24px), var(--container));}
.b2g-hub .hero {padding-top: 0;}
.b2g-hub .hero__panel {padding: 20px 0 34px; border-radius: 0;}
.b2g-hub .hero h1 {font-size: clamp(34px, 10vw, 43px);}
.b2g-hub .hero__lead {margin-top: 20px; font-size: 15px;}
.b2g-hub .hero__actions {display: grid;}
.b2g-hub .btn {width: 100%;}
.b2g-hub .hero__note {display: grid; gap: 8px; padding-right: 72px;}
.b2g-hub .route-map {min-height: 0;}
.b2g-hub .quick-nav__label {display: none;}
.b2g-hub .quick-nav__inner {border-radius: 15px;}
.b2g-hub .intro-video {padding-top: 28px; padding-bottom: 28px;}
.b2g-hub .intro-video__frame {border-radius: 22px;}
.b2g-hub .section {padding: 54px 0;}
.b2g-hub #solutions {padding-top: 20px;}
.b2g-hub .section h2 {font-size: 36px;}
.b2g-hub .audience-card {padding: 0; min-height: 0; border-radius: 17px;}
.b2g-hub .audience-card h3 {margin-top: 0; font-size: 22px;}
.b2g-hub .institution-cta {align-items: flex-start; flex-direction: column;}
.b2g-hub .law-card {min-height: 390px; padding: 28px; border-radius: 20px;}
.b2g-hub .procurement-aside {padding: 23px;}
.b2g-hub .system-list {grid-template-columns: 1fr; gap: 18px;}
.b2g-hub .system-item {min-height: 0;}
.b2g-hub .system-item__head {grid-template-columns: 48px minmax(0, 1fr); padding: 16px 16px 10px;}
.b2g-hub .system-item__cta {grid-column: 2; margin-top: 0;}
.b2g-hub .system-item__icon {width: 48px; height: 48px;}
.b2g-hub .system-item__media {height: 156px; max-height: 165px;}
.b2g-hub .system-cta {margin-top: 26px;}
.b2g-hub .system-cta .btn {width: 100%; min-height: 52px;}
.b2g-hub .benefits-grid {grid-template-columns: 1fr;}
.b2g-hub .benefit {min-height: 220px;}
.b2g-hub .benefit h3 {margin-top: 45px;}
.b2g-hub .documents-panel {padding: 28px 20px; border-radius: 22px;}
.b2g-hub .documents-list {grid-template-columns: 1fr;}
.b2g-hub .final-cta {padding: 62px 0;}
.b2g-hub .final-cta__panel {padding: 30px 20px; border-radius: 22px;}
.b2g-hub .form-grid {grid-template-columns: 1fr;}
.b2g-hub .field--full {grid-column: auto;}
.b2g-hub .field input, .b2g-hub .field select, .b2g-hub .field textarea {font-size: 16px;}
.b2g-hub .field input, .b2g-hub .field select {min-height: 48px;}
}
@keyframes b2gHeroFadeUp {
from {opacity: 0; transform: translateY(22px);}
to {opacity: 1; transform: translateY(0);}
}
@keyframes b2g-route-reveal {
from {opacity: 0; transform: scale(.965) rotate(var(--route-card-rotate, 0deg)); filter: blur(5px);}
to {opacity: 1; transform: scale(1) rotate(var(--route-card-rotate, 0deg)); filter: blur(0);}
}
@keyframes b2g-route-float-1 {
0% {transform: translate(0, 0) rotate(2deg);}
40% {transform: translate(-3px, -7px) rotate(2deg);}
100% {transform: translate(4px, 3px) rotate(2deg);}
}
@keyframes b2g-route-float-2 {
0% {transform: translate(0, 0) rotate(-3deg);}
45% {transform: translate(-7px, 4px) rotate(-3deg);}
100% {transform: translate(3px, -5px) rotate(-3deg);}
}
@keyframes b2g-route-float-3 {
0% {transform: translate(0, 0) rotate(1deg);}
50% {transform: translate(5px, 6px) rotate(1deg);}
100% {transform: translate(-3px, -5px) rotate(1deg);}
}
@keyframes b2g-route-orbit {
to {transform: rotate(360deg);}
}
@keyframes b2g-route-glow {
from {opacity: .72; transform: scale(.96);}
to {opacity: 1; transform: scale(1.05);}
}
@media (hover: none) and (min-width: 861px) {
.b2g-hub .route-orbit-pulse {display: none;}
.b2g-hub .route-map::after {animation: none;}
.b2g-hub .route-card--1,
.b2g-hub .route-card--2,
.b2g-hub .route-card--3 {
  animation: b2g-route-reveal .58s cubic-bezier(.2,.78,.25,1) both;
  will-change: auto;
}
.b2g-hub .route-card--1 {animation-delay: .08s;}
.b2g-hub .route-card--2 {animation-delay: .18s;}
.b2g-hub .route-card--3 {animation-delay: .28s;}
}
@media (prefers-reduced-motion: reduce) {
.b2g-hub, .b2g-hub *, .b2g-hub *::before, .b2g-hub *::after {transition: none !important;}
.b2g-hub .hero__eyebrow,
.b2g-hub .hero h1,
.b2g-hub .hero__lead,
.b2g-hub .hero__actions,
.b2g-hub .hero__note,
.b2g-hub .route-card {opacity: 1 !important; transform: none !important; animation: none !important; filter: none !important; translate: none; scale: none;}
.b2g-hub .route-orbit-pulse {display: none;}
.b2g-hub .route-map::after {animation: none !important; opacity: 1; transform: none;}
.b2g-hub .audience-card:hover .audience-card__media img,
.b2g-hub .system-item:hover,
.b2g-hub .system-item:hover .system-item__media img,
.b2g-hub .system-item:hover .system-item__arrow,
.b2g-hub .law-card:hover,
.b2g-hub .law-card:hover .law-card__circle,
.b2g-hub .chip:hover {transform: none !important; box-shadow: none;}
.b2g-hub .benefit:hover,
.b2g-hub .document-row:hover {transform: none !important; box-shadow: none;}
}
.b2g-hub h1, .b2g-hub h2, .b2g-hub h3, .b2g-hub .law-card__caption, .b2g-hub .lead-form__title {text-wrap: balance;}
.b2g-hub p, .b2g-hub .document-row, .b2g-hub .chip, .b2g-hub .audience-card__link {text-wrap: pretty;}
.b2g-hub .lead-form__privacy a {color: inherit; text-decoration: underline; text-underline-offset: 2px;}
@media (min-width: 861px) {
.b2g-hub .keep-together { white-space: nowrap; }
}
@media (max-width: 640px) {
.b2g-hub .section h2 {font-size: clamp(28px, 8.5vw, 36px);}
.b2g-hub .documents-panel h2 {font-size: clamp(28px, 8.5vw, 36px);}
.b2g-hub .final-cta h2 {font-size: clamp(31px, 9vw, 42px);}
.b2g-hub .hero h1, .b2g-hub .section h2, .b2g-hub .documents-panel h2, .b2g-hub .final-cta h2,
.b2g-hub .audience-card h3, .b2g-hub .benefit h3, .b2g-hub .system-item h3 {overflow-wrap: break-word;}
.b2g-hub .hero__grid, .b2g-hub .section-head, .b2g-hub .audience-grid, .b2g-hub .procurement-grid,
.b2g-hub .system-layout, .b2g-hub .benefits-grid, .b2g-hub .documents-panel, .b2g-hub .final-cta__panel,
.b2g-hub .form-grid, .b2g-hub .hero__grid > *, .b2g-hub .section-head > *, .b2g-hub .system-layout > *,
.b2g-hub .documents-panel > *, .b2g-hub .final-cta__panel > * {min-width: 0;}
.b2g-hub .btn, .b2g-hub .quick-nav a {touch-action: manipulation;}
}

@media (max-width: 480px) {
.b2g-hub .breadcrumbs {font-size: 12px; line-height: 1.5;}
.b2g-hub .hero__panel {padding: 18px 0 30px;}
.b2g-hub .hero__eyebrow, .b2g-hub .section-eyebrow {font-size: 11px; letter-spacing: .09em;}
.b2g-hub .hero__actions {gap: 10px; margin-top: 28px;}
.b2g-hub .hero__note {margin-top: 24px;}
.b2g-hub .route-map {display: grid; gap: 10px; min-height: 0; margin-top: 28px;}
.b2g-hub .route-map::before, .b2g-hub .route-map::after {display: none;}
.b2g-hub .route-orbit-pulse {display: none;}
.b2g-hub .route-card, .b2g-hub .route-card--1, .b2g-hub .route-card--2, .b2g-hub .route-card--3 {
position: relative; inset: auto; top: auto; right: auto; bottom: auto; left: auto; width: 100%; --route-card-rotate: 0deg; will-change: auto;
}
.b2g-hub .route-card strong {margin-top: 14px; font-size: 16px;}
.b2g-hub .route-card p {font-size: 14px;}
.b2g-hub .quick-nav {padding: 28px 0;}
.b2g-hub .quick-nav__inner {scrollbar-width: none; -webkit-overflow-scrolling: touch;}
.b2g-hub .quick-nav__inner::-webkit-scrollbar {display: none;}
.b2g-hub .quick-nav a {min-height: 42px; padding: 0 14px;}
.b2g-hub .intro-video {padding-top: 28px; padding-bottom: 28px;}
.b2g-hub .section {padding: 48px 0;}
.b2g-hub #solutions {padding-top: 18px;}
.b2g-hub .section-head {margin-bottom: 30px;}
.b2g-hub .audience-grid {gap: 14px;}
.b2g-hub .audience-card {min-height: 0; padding: 0;}
.b2g-hub .audience-card__media {height: 176px;}
.b2g-hub .audience-card--third .audience-card__media {height: 176px;}
.b2g-hub .audience-card--photo-lg .audience-card__media {height: 200px;}
.b2g-hub .audience-card__icon {margin-left: 20px;}
.b2g-hub .audience-card__body {padding: 12px 20px 22px;}
.b2g-hub .audience-card h3 {margin-top: 0; font-size: 21px;}
.b2g-hub .audience-card p {font-size: 16px; line-height: 1.55;}
.b2g-hub .institution-cta {padding: 21px;}
.b2g-hub .law-card {min-height: 0; padding: 25px 22px;}
.b2g-hub .procurement-grid {gap: 14px;}
.b2g-hub .procurement-aside {padding: 21px;}
.b2g-hub .system-item__head {padding: 14px 14px 8px; gap: 10px;}
.b2g-hub .system-item h3 {font-size: 16px;}
.b2g-hub .system-item p {font-size: 14px;}
.b2g-hub .system-item__media {height: 150px; margin: 0 10px 10px; padding: 8px 12px 32px;}
.b2g-hub .system-item__pill {font-size: 10px; padding: 4px 8px;}
.b2g-hub .benefits-grid {gap: 12px;}
.b2g-hub .benefit {min-height: 0; padding: 22px;}
.b2g-hub .benefit h3 {margin-top: 34px;}
.b2g-hub .documents-panel {padding: 25px 18px;}
.b2g-hub .document-row {gap: 15px; padding: 13px 14px 13px 18px; line-height: 1.45;}
.b2g-hub .document-row__tick {flex: 0 0 32px; width: 32px; height: 32px;}
.b2g-hub .final-cta {padding: 50px 0;}
.b2g-hub .final-cta__panel {padding: 26px 18px;}
.b2g-hub .lead-form {padding: 20px 16px;}
.b2g-hub .btn {min-height: 52px; padding-inline: 18px;}
}

@media (max-width: 380px) {
.b2g-hub .b2g-shell {width: min(calc(100% - 20px), var(--container));}
.b2g-hub .hero__panel {padding: 16px 0 27px; border-radius: 0;}
.b2g-hub .hero h1 {font-size: clamp(31px, 9.7vw, 36px); line-height: 1.01;}
.b2g-hub .hero__lead {font-size: 14px; line-height: 1.55;}
.b2g-hub .hero__eyebrow, .b2g-hub .section-eyebrow {gap: 7px;}
.b2g-hub .hero__eyebrow::before, .b2g-hub .section-eyebrow::before {width: 22px;}
.b2g-hub .section h2, .b2g-hub .documents-panel h2 {font-size: clamp(26px, 8.4vw, 31px); line-height: 1.05;}
.b2g-hub .final-cta h2 {font-size: clamp(29px, 9vw, 34px);}
.b2g-hub .keep-together--long {font-size: .94em;}
.b2g-hub .audience-card {padding: 0;}
.b2g-hub .audience-card__body {padding: 12px 18px 20px;}
.b2g-hub .audience-card h3 {font-size: 20px;}
.b2g-hub .law-card {padding: 22px 18px;}
.b2g-hub .system-item__icon {width: 44px; height: 44px;}
.b2g-hub .documents-panel {padding: 22px 16px;}
.b2g-hub .final-cta__panel {padding: 23px 16px;}
.b2g-hub .lead-form {padding: 18px 14px;}
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 900px) {
.b2g-hub .hero__panel {min-height: 0;}
.b2g-hub .route-map {display: grid; gap: 10px; min-height: 0;}
.b2g-hub .route-orbit-pulse {display: none;}
.b2g-hub .route-map::after {animation: none;}
.b2g-hub .route-card, .b2g-hub .route-card--1, .b2g-hub .route-card--2, .b2g-hub .route-card--3 {
  position: relative; inset: auto; width: 100%; --route-card-rotate: 0deg;
}
}


.b2g-hub .hero .breadcrumbs {
  padding: 0 0 28px;
  margin: 0;
  color: rgba(255,255,255,.58);
  font-size: 13px;
  line-height: 1.4;
}
.b2g-hub .hero {
  padding: 0;
  width: 100%;
}
@media (max-width: 640px) {
  .b2g-hub .hero .breadcrumbs {
    padding-bottom: 18px;
    font-size: 12px;
  }
}

.b2g-hub .lead-form__success,
.b2g-hub .lead-form__error {display:none; padding:14px 16px; border-radius:12px; font-size:14px; line-height:1.5; margin-bottom:12px; white-space:pre-line;}
.b2g-hub .lead-form__success {background:#eef7ee; border:1px solid #b7d7b7; color:#1a4d1a;}
.b2g-hub .lead-form__error {background:#fdecec; border:1px solid #e8b4b4; color:#7a1f1f;}
/* Success-state после отправки заявки. Не зелёный alert, а фирменный блок. */
.b2g-hub .lead-form--success {min-height: 340px; display: flex; align-items: center; justify-content: center;}
.b2g-hub .lead-form-success {display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      max-width: 460px;
      padding: 40px 24px;
      margin: 0 auto;
      animation: b2g-success-fade .5s ease both;}
.b2g-hub .lead-form-success__icon {width: 66px;
      height: 66px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: var(--brand);
      box-shadow: 0 8px 24px rgba(227,27,35,.3), 0 0 0 8px rgba(227,27,35,.08);
      margin-bottom: 22px;}
.b2g-hub .lead-form-success__eyebrow {color: var(--brand);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .11em;
      text-transform: uppercase;
      margin-bottom: 10px;}
.b2g-hub .lead-form-success__heading {margin: 0 0 14px;
      font-size: clamp(26px, 3.5vw, 34px);
      font-weight: 800;
      line-height: 1.08;
      letter-spacing: -.03em;
      color: var(--ink);}
.b2g-hub .lead-form-success__text {margin: 0 0 20px;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.65;}
.b2g-hub .lead-form-success__meta {display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 7px 16px;
      border-radius: 999px;
      background: #f0f2f4;
      color: #5c6370;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .02em;}
@keyframes b2g-success-fade {
from {opacity: 0; transform: translateY(12px);}
to {opacity: 1; transform: translateY(0);}
}
@media (max-width: 640px) {
.b2g-hub .lead-form--success {min-height: auto;}
.b2g-hub .lead-form-success {padding: 30px 18px;}
.b2g-hub .lead-form-success__icon {width: 58px; height: 58px; margin-bottom: 18px;}
.b2g-hub .lead-form-success__icon svg {width: 24px; height: 24px;}
.b2g-hub .lead-form-success__heading {font-size: 27px;}
}
.b2g-hub .documents-more {grid-area: more;
      margin: 0;
      min-width: 0;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.6;}
.b2g-hub .documents-more a {color: var(--brand);
      font-weight: 800;
      text-decoration: none;
      background-image: linear-gradient(currentColor, currentColor);
      background-position: 0 100%;
      background-repeat: no-repeat;
      background-size: 0 1.5px;
      transition: background-size .28s ease;}
.b2g-hub .documents-more a:hover {background-size: 100% 1.5px; text-decoration: none;}

/* Изоляция от style.css / btns.css сайта: h1–h4 {color:#323844; text-align:center}, .btn::before */
.b2g-hub h1,
.b2g-hub h2,
.b2g-hub h3,
.b2g-hub h4 {
  text-align: left;
}
.b2g-hub .intro-video__copy,
.b2g-hub .intro-video__copy h2,
.b2g-hub #intro-video-title,
.b2g-hub #intro-video-title span {
  text-align: center !important;
}
.b2g-hub .law-card,
.b2g-hub .law-card:hover,
.b2g-hub .audience-card {
  text-decoration: none !important;
}
.b2g-hub .hero__panel,
.b2g-hub .hero__panel h1,
.b2g-hub .hero__panel h2,
.b2g-hub .hero__panel h3,
.b2g-hub .hero__panel strong,
.b2g-hub .hero__panel a,
.b2g-hub .route-card strong {
  color: #fff;
}
.b2g-hub .hero h1 {
  color: #fff;
  text-align: left;
  font-weight: 800;
}
.b2g-hub .hero h1 em {
  color: #ff5359;
}
.b2g-hub .hero__lead {
  color: #c9ced5;
}
.b2g-hub .hero__eyebrow {
  color: #ffb0b4;
}
.b2g-hub .hero__note {
  color: #c5cad0;
  font-size: 15px;
}
.b2g-hub .route-card p {
  color: #9fa6af;
}
.b2g-hub .section--dark,
.b2g-hub .section--dark h2,
.b2g-hub .section--dark h3,
.b2g-hub .section--dark strong,
.b2g-hub .procurement-aside h3 {
  color: #fff;
}
.b2g-hub .section--dark .section-eyebrow {
  color: #e31b23;
}
.b2g-hub .section--dark .section-head p,
.b2g-hub .procurement-aside p {
  color: #aeb4bd;
}
.b2g-hub .chip {
  color: #d7dbe0;
  border-color: #393e46;
}
.b2g-hub .law-card--red,
.b2g-hub .law-card--red h2,
.b2g-hub .law-card--red .law-card__law,
.b2g-hub .law-card--red .law-card__caption,
.b2g-hub .law-card--red .law-card__bottom,
.b2g-hub .law-card--red span {
  color: #fff;
}
.b2g-hub .law-card--red p {
  color: rgba(255, 255, 255, .78);
}
.b2g-hub .law-card:not(.law-card--red) .law-card__caption,
.b2g-hub .law-card:not(.law-card--red) .law-card__bottom {
  color: var(--ink);
}
.b2g-hub .final-cta__panel,
.b2g-hub .final-cta__panel h2,
.b2g-hub .final-cta__panel .hero__eyebrow {
  color: #fff;
}
.b2g-hub .final-cta__panel .hero__eyebrow {
  color: #ffd0d2;
}
.b2g-hub .final-cta__lead {
  color: rgba(255, 255, 255, .82);
}
.b2g-hub .btn::before,
.b2g-hub .btn::after {
  content: none;
  display: none;
}
.b2g-hub .btn {
  box-shadow: none;
  filter: none;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
}
.b2g-hub .btn:hover,
.b2g-hub .btn:active {
  filter: none;
  box-shadow: none;
  transform: translateY(-2px);
}
.b2g-hub .btn--primary { color: #fff; background: var(--brand); }
.b2g-hub .btn--ghost { color: #fff; background: rgba(255,255,255,.04); }
.b2g-hub .btn--dark { color: #fff; background: var(--ink); }
.b2g-hub .btn--light { color: var(--ink); background: #fff; }

.page-b2g-lazertag .b2g-hub .hero,
.b2g-hub .hero,
.b2g-hub .hero__panel {
  width: 100%;
  max-width: none;
  border-radius: 0;
  margin-left: 0;
  margin-right: 0;
}
.b2g-hub .hero .breadcrumbs {
  color: rgba(255,255,255,.58);
  text-align: left;
}
.b2g-hub .hero .breadcrumbs a {
  color: rgba(255,255,255,.72);
}
.b2g-hub .hero .breadcrumbs a:hover,
.b2g-hub .hero .breadcrumbs > span:last-child {
  color: #fff;
}

/*
 * Макет laserwar-b2g-hub-final-v2.html: --brand #e31b23, --ink #111318, заголовки Black.
 * Proxima Nova Black = 800. Сайт: h1–h4 { font-weight:600; color:#323844 } и красный #F5222D.
 * main.css грузится РАНЬШЕ style.css — без !important цвет/вес заголовков снова серые.
 */
.b2g-hub {
  --brand: #e31b23;
  --brand-dark: #bb1017;
  --brand-soft: #fff1f2;
  --ink: #111318;
  font-synthesis: none;
}
.b2g-hub h1,
.b2g-hub h2,
.b2g-hub h3,
.b2g-hub h4,
.b2g-hub .law-card__law,
.b2g-hub .law-card__caption,
.b2g-hub .audience-card__number,
.b2g-hub .audience-card__link,
.b2g-hub .lead-form__title,
.b2g-hub .btn {
  font-weight: 800 !important;
}
.b2g-hub .section h2,
.b2g-hub .documents-panel h2,
.b2g-hub .audience-card h3,
.b2g-hub .system-item h3,
.b2g-hub .institution-cta strong {
  color: #111318 !important;
  font-weight: 800 !important;
}
.b2g-hub .hero h1,
.b2g-hub .section--dark h2,
.b2g-hub .section--dark h3,
.b2g-hub .procurement-aside h3,
.b2g-hub .benefit h3,
.b2g-hub .final-cta h2,
.b2g-hub .audience-card--accent h3,
.b2g-hub .audience-card--accent,
.b2g-hub .audience-card--accent strong {
  color: #fff !important;
  font-weight: 800 !important;
}
.b2g-hub .hero h1 em {
  color: #ff5359 !important;
  font-weight: 800 !important;
}
.b2g-hub .btn--primary,
.b2g-hub .law-card--red,
.b2g-hub .final-cta__panel {
  background: #e31b23 !important;
  background-image: none !important;
  color: #fff !important;
}
.b2g-hub .section-eyebrow,
.b2g-hub .audience-card__link,
.b2g-hub .law-card:not(.law-card--red) .law-card__law,
.b2g-hub .system-item__icon,
.b2g-hub .system-item__cta,
.b2g-hub .document-row__tick,
.b2g-hub .documents-more a {
  color: #e31b23 !important;
}
.b2g-hub .system-item:hover .system-item__icon {
  background: #e31b23 !important;
  color: #fff !important;
}
.b2g-hub .system-item:hover .system-item__icon svg {
  color: #fff !important;
  stroke: #fff !important;
}
.b2g-hub .audience-card__icon {
  background: #e31b23 !important;
  color: #fff !important;
}
.b2g-hub .audience-card__icon svg {
  color: #fff !important;
  stroke: #fff !important;
}
.b2g-hub .chip::before {
  content: "\2713" !important;
  color: #ff666c !important;
  font-weight: 700 !important;
}
.b2g-hub .audience-card--accent .audience-card__link {
  color: #ff6b70 !important;
}
.b2g-hub .route-card {
  background: #252830 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.b2g-hub .route-map::after {
  filter: none !important;
}
.b2g-hub .audience-card p,
.b2g-hub .institution-cta p,
.b2g-hub .law-card p {
  font-size: 16px !important;
}
.b2g-hub .route-card p {
  font-size: 14px !important;
  color: #c5cad0 !important;
}
.b2g-hub .system-item p,
.b2g-hub .benefit p {
  font-size: 15px !important;
}
.b2g-hub .document-row {
  font-size: 16px !important;
}
.b2g-hub .hero__note {
  font-size: 15px !important;
  color: #c5cad0 !important;
}

/* Мобилка: текст не режется, карточки маршрутов не вылезают, отступы по бокам. */
.page-b2g-lazertag {
  flex-wrap: nowrap;
  overflow-x: hidden;
  max-width: 100%;
  min-width: 0;
}
@media (max-width: 860px) {
  .b2g-hub .keep-together,
  .b2g-hub .keep-together--long {
    white-space: normal !important;
  }
  .b2g-hub .b2g-shell {
    width: auto !important;
    max-width: 100%;
    padding: 0 18px;
    box-sizing: border-box;
  }
  .b2g-hub .hero__grid,
  .b2g-hub .section-head,
  .b2g-hub .audience-grid,
  .b2g-hub .procurement-grid,
  .b2g-hub .system-head,
  .b2g-hub .system-layout,
  .b2g-hub .benefits-grid,
  .b2g-hub .documents-panel,
  .b2g-hub .final-cta__panel,
  .b2g-hub .form-grid,
  .b2g-hub .documents-list,
  .b2g-hub .procurement-aside {
    grid-template-columns: 1fr !important;
  }
  .b2g-hub .documents-panel {
    grid-template-areas: "copy" "more" "list" !important;
  }
  .b2g-hub .documents-list {
    padding-top: 0 !important;
  }
  .b2g-hub .hero__grid,
  .b2g-hub .section-head,
  .b2g-hub .audience-grid,
  .b2g-hub .system-layout,
  .b2g-hub .hero__grid > *,
  .b2g-hub .section-head > * {
    min-width: 0;
    max-width: 100%;
  }
  .b2g-hub .hero__grid {
    min-height: 0;
    gap: 28px;
  }
  .b2g-hub .hero__grid-dots {
    display: none;
  }
  .b2g-hub .audience-card,
  .b2g-hub .audience-card--wide,
  .b2g-hub .audience-card--third {
    grid-column: 1 / -1 !important;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
  }
  .b2g-hub .law-card,
  .b2g-hub .benefit {
    min-height: 0;
    overflow: visible;
    max-width: 100%;
  }
  .b2g-hub h1,
  .b2g-hub h2,
  .b2g-hub h3,
  .b2g-hub p,
  .b2g-hub .hero__lead,
  .b2g-hub .hero__eyebrow,
  .b2g-hub .section-eyebrow,
  .b2g-hub .section-head p,
  .b2g-hub .audience-card p,
  .b2g-hub .audience-card h3,
  .b2g-hub .route-card,
  .b2g-hub .route-card p,
  .b2g-hub .route-card strong,
  .b2g-hub .law-card p,
  .b2g-hub .law-card__caption {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    max-width: 100%;
  }
  .b2g-hub .hero h1 {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.03em;
  }
  .b2g-hub .section h2 {
    font-size: clamp(26px, 7.5vw, 34px) !important;
    line-height: 1.12 !important;
  }
  .b2g-hub .hero__panel {
    overflow: visible;
    min-height: 0;
  }
  .b2g-hub .route-map {
    display: grid !important;
    gap: 10px;
    min-height: 0 !important;
  }
  .b2g-hub .route-card,
  .b2g-hub .route-card--1,
  .b2g-hub .route-card--2,
  .b2g-hub .route-card--3 {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    --route-card-rotate: 0deg;
  }
  .b2g-hub .quick-nav__label {
    display: none;
  }
  .b2g-hub .quick-nav__inner {
    flex-wrap: wrap;
    border-radius: 20px;
    overflow: visible;
  }
  .b2g-hub .hero__note {
    display: grid;
    gap: 8px;
    padding-right: 72px;
    padding-bottom: 8px;
  }
  .b2g-hub .hero__actions {
    display: grid;
    gap: 10px;
  }
  .b2g-hub .btn {
    width: 100%;
    max-width: 100%;
  }
}

