/* Главная «Маршрутный центр», 2026-09-04. */
.hg {
  --ink: #0B2545;
  --navy: #13315C;
  --orange: #F28C28;
  --orange-light: #F7B267;
  --orange-deep: #B95F14;
  --paper: #F5F7FA;
  --mist: #EAF0F7;
  --text: #10243A;
  --muted: #526477;
  --line: #D8E0EA;
  --display: 'IBM Plex Sans Condensed', 'Arial Narrow', sans-serif;
  --body: Manrope, 'Segoe UI', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
  --max: 1240px;
  color: var(--text);
  background: var(--paper);
  font-family: var(--body);
  overflow: hidden;
}

.hg *, .hg *::before, .hg *::after { box-sizing: border-box; }
.hg h1, .hg h2, .hg h3, .hg p { margin-top: 0; }
.hg button, .hg a { font: inherit; }
.hg .ms {
  display: inline-block;
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  vertical-align: middle;
  font-feature-settings: 'liga';
}
.hg-shell {
  width: min(var(--max), 100%);
  margin: auto;
  padding-right: clamp(20px, 4vw, 56px);
  padding-left: clamp(20px, 4vw, 56px);
}
.hg a:focus-visible, .hg button:focus-visible, .hg summary:focus-visible {
  outline: 3px solid var(--orange-light);
  outline-offset: 4px;
}

/* Hero — логистическая диорама с живыми маршрутами. */
.hg-hero {
  --hg-x: 0px;
  --hg-y: 0px;
  position: relative;
  isolation: isolate;
  min-height: min(850px, calc(100vh - 74px));
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
  background: #071A31;
}
.hg-hero__image, .hg-hero__veil, .hg-hero__grid, .hg-hero__halo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hg-hero__image {
  z-index: -5;
  object-fit: cover;
  object-position: center;
  transform: translate3d(calc(var(--hg-x) * -.18), calc(var(--hg-y) * -.18), 0) scale(1.035);
  animation: hg-image-in 1.6s cubic-bezier(.2,.7,.2,1) both;
  transition: transform .22s ease-out;
}
.hg-hero__veil {
  z-index: -4;
  background:
    linear-gradient(90deg, rgba(6, 24, 46, .99) 0%, rgba(9, 31, 58, .93) 37%, rgba(11, 37, 69, .46) 68%, rgba(11, 37, 69, .09) 100%),
    linear-gradient(0deg, rgba(5, 21, 41, .66), transparent 58%);
}
.hg-hero__grid {
  z-index: -3;
  opacity: .16;
  background-image:
    linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.72) 52%, transparent 88%);
}
.hg-hero__halo {
  z-index: -2;
  left: auto;
  right: -28vw;
  top: -29vw;
  width: 82vw;
  height: 82vw;
  border: 1px solid rgba(247, 178, 103, .2);
  border-radius: 50%;
  box-shadow: 0 0 0 92px rgba(247,178,103,.024), 0 0 0 184px rgba(247,178,103,.016);
  animation: hg-halo 12s ease-in-out infinite;
}
.hg-hero__route {
  position: absolute;
  z-index: -1;
  right: -4%;
  bottom: -5%;
  width: min(900px, 72vw);
  height: auto;
  pointer-events: none;
  overflow: visible;
  transform: translate3d(calc(var(--hg-x) * .32), calc(var(--hg-y) * .32), 0);
  transition: transform .18s ease-out;
}
.hg-route__line { stroke: var(--orange); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 7 12; opacity: .58; }
.hg-route__pulse {
  stroke: #fff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 20 980;
  stroke-dashoffset: 1000;
  filter: drop-shadow(0 0 8px rgba(247,178,103,.85));
  animation: hg-route-flow 7.5s linear infinite;
}
.hg-route--land .hg-route__pulse { animation-delay: -2.5s; }
.hg-route--air .hg-route__pulse { animation-delay: -5s; }
.hg-route__hub {
  fill: var(--orange);
  stroke: #fff;
  stroke-width: 2;
  transform-box: fill-box;
  transform-origin: center;
  filter: drop-shadow(0 0 7px rgba(242,140,40,.64));
  animation: hg-hub-pulse 3.4s ease-in-out infinite;
}
.hg-route--land .hg-route__hub { animation-delay: -1.1s; }
.hg-route--air .hg-route__hub { animation-delay: -2.2s; }
.hg-hero__in {
  position: relative;
  z-index: 3;
  padding-top: clamp(72px, 8vw, 112px);
  padding-bottom: clamp(84px, 9vw, 126px);
}
.hg-hero__status {
  display: flex;
  width: max-content;
  max-width: 100%;
  margin-bottom: clamp(50px, 6vw, 86px);
  border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.58);
  font: 600 10px/1.3 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  animation: hg-rise .7s .05s both;
}
.hg-hero__status span { padding: 10px 13px; }
.hg-hero__status span + span { border-left: 1px solid rgba(255,255,255,.15); }
.hg-hero__status span:first-child { display: flex; align-items: center; gap: 8px; color: var(--orange-light); }
.hg-hero__status i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 5px rgba(242,140,40,.12);
  animation: hg-status 2.4s ease-in-out infinite;
}
.hg-kicker, .hg-eyebrow { font: 600 11px/1.3 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.hg-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  color: var(--orange-light);
  animation: hg-rise .7s .12s both;
}
.hg-kicker > span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 5px rgba(242,140,40,.16);
  animation: hg-pulse 2.6s ease-in-out infinite;
}
.hg h1, .hg h2 { font-family: var(--display); font-weight: 700; letter-spacing: -.035em; text-transform: uppercase; }
.hg h1 {
  max-width: 820px;
  margin-bottom: 26px;
  font-size: clamp(54px, 6.35vw, 90px);
  line-height: .83;
  animation: hg-rise .78s .18s both;
}
.hg h1 > span { display: block; }
.hg h1 em {
  display: block;
  margin-top: 14px;
  color: var(--orange-light);
  font-size: .64em;
  line-height: .95;
  font-style: normal;
  letter-spacing: -.02em;
}
.hg h2 em { color: var(--orange); font-style: normal; }
.hg-hero__lead {
  max-width: 640px;
  margin-bottom: 29px;
  color: rgba(255,255,255,.78);
  font-size: clamp(16px,1.35vw,19px);
  line-height: 1.65;
  animation: hg-rise .78s .25s both;
}
.hg-actions { display: flex; flex-wrap: wrap; gap: 12px; animation: hg-rise .78s .32s both; }
.hg-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 56px;
  padding: 15px 22px;
  border: 1px solid var(--orange);
  border-radius: 10px;
  color: #fff;
  background: var(--orange);
  box-shadow: 0 0 0 rgba(242,140,40,0);
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.hg-button:hover { background: var(--orange-deep); box-shadow: 0 16px 34px rgba(0,0,0,.24); transform: translateY(-3px); }
.hg-button .ms { transition: transform .22s ease; }
.hg-button:hover .ms { transform: translateX(4px); }
.hg-button--quiet { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.06); }
.hg-button--quiet:hover { background: rgba(255,255,255,.14); }
.hg-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin-top: 38px;
  color: rgba(255,255,255,.58);
  font: 500 11px/1.3 var(--mono);
  animation: hg-rise .78s .39s both;
}
.hg-hero__facts span { display: flex; align-items: center; gap: 8px; }
.hg-hero__facts span::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--orange); }
.hg-hero__mode {
  position: absolute;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.22);
  color: #fff;
  background: rgba(7,26,49,.72);
  box-shadow: 0 12px 32px rgba(0,0,0,.18);
  backdrop-filter: blur(8px);
  font: 600 9px/1.2 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  pointer-events: none;
  animation: hg-float 4.2s ease-in-out infinite;
}
.hg-hero__mode .ms { color: var(--orange-light); font-size: 18px; }
.hg-hero__mode--air { top: 17%; right: 29%; }
.hg-hero__mode--sea { top: 36%; right: 7%; animation-delay: -1s; }
.hg-hero__mode--rail { right: 25%; bottom: 13%; animation-delay: -2s; }
.hg-hero__mode--road { right: 42%; bottom: 29%; animation-delay: -3s; }
.hg-hero__scroll {
  position: absolute;
  z-index: 4;
  right: clamp(22px,4vw,58px);
  bottom: 25px;
  display: flex;
  align-items: center;
  gap: 11px;
  color: rgba(255,255,255,.48);
  font: 600 9px/1 var(--mono);
  letter-spacing: .13em;
  text-decoration: none;
  text-transform: uppercase;
}
.hg-hero__scroll i { position: relative; width: 1px; height: 46px; overflow: hidden; background: rgba(255,255,255,.2); }
.hg-hero__scroll i::after { content: ''; position: absolute; inset: -100% 0 100%; background: var(--orange-light); animation: hg-scroll 2s ease-in-out infinite; }

/* Бегущая строка режимов. */
.hg-marquee { overflow: hidden; color: #fff; background: var(--orange-deep); border-top: 1px solid rgba(255,255,255,.12); }
.hg-marquee__track { display: flex; align-items: center; width: max-content; min-width: 200%; padding: 15px 0; animation: hg-marquee 34s linear infinite; }
.hg-marquee__track span { display: flex; align-items: center; gap: 9px; padding: 0 26px; font: 600 11px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.hg-marquee__track .ms { font-size: 19px; }
.hg-marquee__track b { color: var(--orange-light); font-size: 8px; }

/* Общая структура секций. */
.hg-section { position: relative; padding: clamp(78px,9vw,126px) 0; }
.hg-section__serial {
  position: absolute;
  top: 30px;
  right: clamp(20px,5vw,70px);
  color: rgba(11,37,69,.045);
  font: 700 clamp(120px,18vw,250px)/1 var(--display);
  pointer-events: none;
  user-select: none;
}
.hg-section__head { position: relative; z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 47px; }
.hg-section__head > div { max-width: 760px; }
.hg-eyebrow { margin-bottom: 13px; color: var(--orange-deep); }
.hg-section h2, .hg-process h2, .hg-trust h2, .hg-faq h2, .hg-final h2 {
  margin-bottom: 0;
  font-size: clamp(42px,4.6vw,66px);
  line-height: .89;
}
.hg-section__head > p { max-width: 380px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.68; }
.hg-text-link, .hg-catalog-link, .hg-news__all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: var(--navy);
  font: 700 12px/1.3 var(--mono);
  text-decoration: none;
}
.hg-text-link .ms, .hg-catalog-link .ms, .hg-news__all .ms { font-size: 17px; transition: transform .2s ease; }
.hg-text-link:hover .ms, .hg-catalog-link:hover .ms, .hg-news__all:hover .ms { transform: translateX(4px); }

/* Направления — модульная сетка со световым следом. */
.hg-section--directions { background: var(--paper); }
.hg-direction-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.hg-direction {
  --mx: 50%;
  --my: 50%;
  position: relative;
  min-width: 0;
  min-height: 315px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  overflow: hidden;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--text);
  background: var(--paper);
  text-decoration: none;
  transition: color .3s ease, background .3s ease, transform .3s ease, box-shadow .3s ease;
}
.hg-direction::before { content: ''; position: absolute; inset: 0; opacity: 0; background: radial-gradient(260px circle at var(--mx) var(--my), rgba(247,178,103,.19), transparent 72%); transition: opacity .25s ease; }
.hg-direction:hover { z-index: 2; color: #fff; background: var(--ink); box-shadow: 0 24px 44px rgba(11,37,69,.18); transform: translateY(-6px); }
.hg-direction:hover::before { opacity: 1; }
.hg-direction__no { position: relative; z-index: 1; color: var(--orange-deep); font: 600 11px/1 var(--mono); }
.hg-direction__icon { position: relative; z-index: 1; margin: 35px 0 21px; color: var(--navy); font-size: 36px; transition: color .3s ease, transform .3s ease; }
.hg-direction:hover .hg-direction__icon { color: var(--orange-light); transform: translateY(-3px) scale(1.08); }
.hg-direction strong { position: relative; z-index: 1; font: 700 clamp(22px,1.8vw,30px)/1 var(--display); text-transform: uppercase; overflow-wrap: anywhere; hyphens: auto; }
.hg-direction > span:not(.hg-direction__no):not(.hg-direction__icon) { position: relative; z-index: 1; margin-top: 14px; color: var(--muted); font-size: 13px; line-height: 1.55; transition: color .3s ease; }
.hg-direction:hover > span:not(.hg-direction__no):not(.hg-direction__icon) { color: rgba(255,255,255,.62); }
.hg-direction__arrow { position: relative; z-index: 1; margin-top: auto; padding-top: 18px; color: var(--orange); font-size: 19px; transition: transform .25s ease; }
.hg-direction:hover .hg-direction__arrow { transform: translate(5px,-5px); }
.hg-direction__trace { position: absolute; right: -45%; bottom: -58%; width: 110%; aspect-ratio: 1; border: 1px solid rgba(247,178,103,.12); border-radius: 50%; opacity: 0; transition: opacity .3s ease, transform .55s ease; }
.hg-direction:hover .hg-direction__trace { opacity: 1; transform: translate(-10%,-12%); }
.hg-direction:last-child:nth-child(4n + 3) { grid-column: span 2; }
.hg-inbound { display: flex; align-items: center; gap: 9px; width: fit-content; margin: 29px 0 0; padding-bottom: 4px; border-bottom: 1px solid rgba(19,49,92,.3); color: var(--navy); font-size: 14px; text-decoration: none; }
.hg-inbound b { font-weight: 800; }.hg-inbound .ms:first-child { color: var(--orange); }

/* Сборка маршрута — центральная графическая сцена. */
.hg-network { color: #fff; background: linear-gradient(145deg,#071A31 0%,var(--ink) 52%,#123D62 100%); }
.hg-network::before { content: ''; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size: 62px 62px; mask-image: linear-gradient(90deg,#000,transparent 72%); }
.hg-network__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(310px,.72fr) minmax(540px,1.28fr); gap: clamp(48px,7vw,100px); align-items: center; }
.hg-network__copy .hg-eyebrow { color: var(--orange-light); }
.hg-network__copy h2 { max-width: 540px; }
.hg-network__copy h2 em { color: var(--orange-light); }
.hg-network__copy > p:not(.hg-eyebrow) { max-width: 520px; margin: 26px 0 30px; color: rgba(255,255,255,.64); font-size: 15px; line-height: 1.72; }
.hg-network__copy ul { margin: 0 0 32px; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.14); }
.hg-network__copy li { display: grid; grid-template-columns: 38px 1fr; gap: 8px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.76); font-size: 13px; }
.hg-network__copy li span { color: var(--orange-light); font: 600 10px/1.5 var(--mono); }
.hg-network .hg-text-link { color: var(--orange-light); }
.hg-network__board { position: relative; border: 1px solid rgba(255,255,255,.16); background: rgba(4,20,39,.46); box-shadow: 0 34px 90px rgba(0,0,0,.28); backdrop-filter: blur(8px); }
.hg-network__board::before, .hg-network__board::after { content: ''; position: absolute; z-index: 3; width: 26px; height: 26px; border-color: var(--orange); pointer-events: none; }
.hg-network__board::before { top: -1px; left: -1px; border-top: 2px solid; border-left: 2px solid; }
.hg-network__board::after { right: -1px; bottom: -1px; border-right: 2px solid; border-bottom: 2px solid; }
.hg-network__bar { display: flex; justify-content: space-between; gap: 18px; padding: 15px 18px; border-bottom: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.52); font: 600 9px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.hg-network__bar span:last-child { display: flex; align-items: center; gap: 8px; color: var(--orange-light); }
.hg-network__bar i { width: 6px; height: 6px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgba(242,140,40,.1); animation: hg-status 2.4s ease-in-out infinite; }
.hg-network__board svg { display: block; width: 100%; height: auto; color: #fff; }
.hg-network__land { fill: rgba(255,255,255,.025); stroke: rgba(255,255,255,.1); }
.hg-net-route { fill: none; stroke: rgba(247,178,103,.56); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 5 10; }
.hg-net-route--two { stroke: rgba(255,255,255,.24); }.hg-net-route--three { stroke: rgba(247,178,103,.24); stroke-width: 1.5; }
.hg-net-pulse { fill: none; stroke: #fff; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 22 978; animation: hg-route-flow 6.8s linear infinite; }
.hg-net-node circle:first-child { fill: var(--orange); stroke: #fff; stroke-width: 2; }
.hg-net-node__ring { fill: none; stroke: var(--orange-light); transform-box: fill-box; transform-origin: center; animation: hg-ring 2.8s ease-out infinite; }
.hg-net-node:nth-of-type(2) .hg-net-node__ring { animation-delay: -.7s; }.hg-net-node:nth-of-type(3) .hg-net-node__ring { animation-delay: -1.4s; }.hg-net-node:nth-of-type(4) .hg-net-node__ring { animation-delay: -2.1s; }
.hg-net-node text { fill: rgba(255,255,255,.68); font: 600 10px var(--mono); letter-spacing: .07em; }
.hg-network__mode { position: absolute; z-index: 2; display: grid; grid-template-columns: 30px 1fr; column-gap: 9px; min-width: 122px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.2); color: #fff; background: rgba(7,26,49,.86); box-shadow: 0 14px 32px rgba(0,0,0,.23); animation: hg-float 4s ease-in-out infinite; }
.hg-network__mode .ms { grid-row: 1/3; align-self: center; color: var(--orange-light); font-size: 25px; }.hg-network__mode b { font: 700 11px/1.2 var(--mono); text-transform: uppercase; }.hg-network__mode small { margin-top: 3px; color: rgba(255,255,255,.43); font: 500 8px/1.2 var(--mono); }
.hg-network__mode--air { top: 22%; left: 8%; }.hg-network__mode--sea { top: 43%; right: 4%; animation-delay: -1s; }.hg-network__mode--rail { bottom: 22%; left: 14%; animation-delay: -2s; }.hg-network__mode--road { right: 16%; bottom: 9%; animation-delay: -3s; }
.hg-network__cargo { position: absolute; left: 50%; bottom: -37px; display: flex; align-items: center; gap: 12px; width: min(330px,74%); padding: 16px 18px; color: var(--ink); background: #fff; box-shadow: 0 20px 50px rgba(0,0,0,.24); transform: translateX(-50%); }
.hg-network__cargo > .ms { padding: 10px; border-radius: 50%; color: #fff; background: var(--orange); font-size: 26px; }.hg-network__cargo small,.hg-network__cargo strong { display:block; }.hg-network__cargo small { margin-bottom:5px; color:var(--orange-deep); font:600 9px/1.2 var(--mono); letter-spacing:.11em; }.hg-network__cargo strong { font:700 16px/1.15 var(--display); text-transform:uppercase; }

/* Каталог — асимметричная диспетчерская карточек. */
.hg-programs { color: var(--text); background: var(--mist); }
.hg-programs::after { content: ''; position: absolute; right: -22%; bottom: -40%; width: 60vw; aspect-ratio: 1; border: 1px solid rgba(19,49,92,.08); border-radius: 50%; box-shadow: 0 0 0 70px rgba(19,49,92,.018); pointer-events: none; }
.hg-programs .hg-section__serial { color: rgba(11,37,69,.04); }
.hg-section__head--dark .hg-eyebrow { color: var(--orange-deep); }
.hg-section__head--dark > p { color: var(--muted); }
.hg-program-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.hg-program { --mx:50%; --my:50%; position: relative; min-height: 285px; display: flex; flex-direction: column; padding: 24px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); color: #fff; background: linear-gradient(145deg,var(--navy),var(--ink)); text-decoration: none; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.hg-program::before { content:''; position:absolute; inset:0; opacity:0; background:radial-gradient(300px circle at var(--mx) var(--my),rgba(247,178,103,.18),transparent 72%); transition:opacity .25s ease; }.hg-program:hover::before { opacity:1; }
.hg-program:hover { z-index:2; border-color:rgba(247,178,103,.72); box-shadow:0 24px 48px rgba(11,37,69,.22); transform:translateY(-6px); }
.hg-program:first-child { grid-column: span 2; min-height: 330px; background: linear-gradient(115deg,#17476E,var(--ink)); }
.hg-program__top,.hg-program strong,.hg-program p,.hg-program__price { position:relative; z-index:1; }
.hg-program__top { display:flex; justify-content:space-between; gap:10px; color:var(--orange-light); font:600 10px/1.4 var(--mono); letter-spacing:.09em; text-transform:uppercase; }.hg-program__top .ms { font-size:17px; transition:transform .2s ease; }.hg-program:hover .hg-program__top .ms { transform:translate(4px,-4px); }
.hg-program strong { max-width:560px; margin-top:38px; font:700 clamp(25px,2.35vw,35px)/.95 var(--display); letter-spacing:-.02em; text-transform:uppercase; }.hg-program:first-child strong { font-size:clamp(32px,3.4vw,48px); }
.hg-program p { max-width:620px; margin:15px 0 20px; color:rgba(255,255,255,.62); font-size:13px; line-height:1.6; }.hg-program__price { margin-top:auto; color:#fff; font:700 12px/1.3 var(--mono); }
.hg-program__scan { position:absolute; inset:0; background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.08) 50%,transparent 62%); transform:translateX(-120%); }.hg-program:hover .hg-program__scan { animation:hg-scan .85s ease-out; }
.hg-catalog-link { position:relative; z-index:1; margin-top:30px; color:var(--navy); }
.hg-programs__empty { position:relative; z-index:1; display:flex; gap:15px; align-items:center; padding:30px; border:1px solid var(--line); color:var(--muted); background:#fff; }.hg-programs__empty>.ms { color:var(--orange); font-size:28px; }.hg-programs__empty p { flex:1; margin:0; }.hg-text-button { padding:0 0 4px; border:0; border-bottom:1px solid currentColor; color:var(--navy); background:none; font:700 12px/1.2 var(--mono); cursor:pointer; }

/* Логистический дайджест. */
.hg-news { background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hg-news__grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr); grid-template-rows:repeat(3,1fr); border:1px solid var(--line); border-radius:18px; overflow:hidden; background:#fff; }
.hg-news__grid--solo { grid-template-columns:1fr; grid-template-rows:auto; max-width:720px; }
.hg-news__item { position:relative; display:flex; min-width:0; color:var(--text); text-decoration:none; border-left:1px solid var(--line); border-top:1px solid var(--line); transition:background .25s ease,color .25s ease; }
.hg-news__item:nth-child(1) { grid-row:1/4; grid-column:1; border-top:0; border-left:0; }.hg-news__item:nth-child(2) { grid-row:1; grid-column:2; border-top:0; }.hg-news__item:nth-child(3) { grid-row:2; grid-column:2; }.hg-news__item:nth-child(4) { grid-row:3; grid-column:2; }.hg-news__grid--solo .hg-news__item { grid-row:auto; grid-column:auto; border:0; }
.hg-news__visual { position:absolute; inset:0; background-position:center; background-size:cover; transition:transform .55s ease; }.hg-news__item--lead { min-height:440px; align-items:flex-end; overflow:hidden; color:#fff; }.hg-news__item--lead::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(11,37,69,.94),rgba(11,37,69,.03) 68%); }.hg-news__item--lead:hover .hg-news__visual { transform:scale(1.04); }
.hg-news__body { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:10px; width:100%; padding:24px; }.hg-news__item--lead .hg-news__body { padding:clamp(24px,4vw,38px); }
.hg-news__meta { display:flex; gap:9px; align-items:center; color:var(--muted); font:600 10px/1.2 var(--mono); letter-spacing:.12em; text-transform:uppercase; }.hg-news__meta span+span { padding-left:9px; border-left:1px solid currentColor; }.hg-news__item--lead .hg-news__meta { color:var(--orange-light); }
.hg-news__item strong { font:700 clamp(21px,2.1vw,30px)/1.02 var(--display); letter-spacing:-.02em; text-transform:uppercase; }.hg-news__item:not(.hg-news__item--lead) strong { font-size:clamp(18px,1.55vw,22px); }.hg-news__excerpt { max-width:590px; color:rgba(255,255,255,.8); font-size:15px; line-height:1.55; }
.hg-news__more { display:inline-flex; align-items:center; gap:7px; margin-top:auto; color:var(--orange); font:700 11px/1.2 var(--mono); }.hg-news__item--lead .hg-news__more { color:var(--orange-light); }.hg-news__more .ms { font-size:16px; transition:transform .2s ease; }.hg-news__item:hover .hg-news__more .ms { transform:translateX(4px); }.hg-news__all { margin-top:22px; }

/* Процесс — живая вертикальная линия. */
.hg-process { background:#fff; }
.hg-process__layout { display:grid; grid-template-columns:minmax(300px,.78fr) minmax(460px,1.22fr); gap:clamp(50px,8vw,120px); align-items:start; }
.hg-process__intro { position:sticky; top:105px; }.hg-process__intro>p:not(.hg-eyebrow) { max-width:440px; margin:25px 0 28px; color:var(--muted); line-height:1.7; }
.hg-process__radar { position:relative; width:210px; aspect-ratio:1; margin:34px 0; border:1px solid var(--line); border-radius:50%; background:radial-gradient(circle,rgba(234,240,247,.78),transparent 66%); }.hg-process__radar::before,.hg-process__radar::after { content:''; position:absolute; border:1px dashed var(--line); border-radius:50%; }.hg-process__radar::before { inset:19%; }.hg-process__radar::after { inset:38%; }.hg-process__radar>.ms { position:absolute; z-index:2; inset:50% auto auto 50%; color:var(--orange); font-size:35px; transform:translate(-50%,-50%); }.hg-process__radar i { position:absolute; width:8px; height:8px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 5px rgba(242,140,40,.12); }.hg-process__radar i:nth-of-type(1) { top:12%; left:45%; }.hg-process__radar i:nth-of-type(2) { right:11%; bottom:31%; animation:hg-status 2.4s -.8s infinite; }.hg-process__radar i:nth-of-type(3) { bottom:10%; left:24%; animation:hg-status 2.4s -1.6s infinite; }
.hg-steps { position:relative; margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }.hg-steps::before { content:''; position:absolute; top:0; bottom:0; left:58px; width:1px; background:linear-gradient(var(--orange),var(--orange-light),var(--line)); }
.hg-steps li { position:relative; display:grid; grid-template-columns:72px 1fr 42px; gap:16px; padding:27px 0; border-bottom:1px solid var(--line); }.hg-steps li>span { position:relative; z-index:1; color:var(--orange-deep); background:#fff; font:600 11px/1.4 var(--mono); }.hg-steps li>span i { position:absolute; top:2px; right:7px; width:12px; height:12px; border:2px solid #fff; border-radius:50%; background:var(--orange); box-shadow:0 0 0 1px var(--orange); }.hg-steps strong { display:block; font:700 clamp(25px,2.5vw,35px)/.95 var(--display); text-transform:uppercase; }.hg-steps p { margin:10px 0 0; color:var(--muted); font-size:14px; line-height:1.55; }.hg-steps li>b { color:var(--orange); font-size:26px; font-weight:normal; transition:transform .25s ease; }.hg-steps li:hover>b { transform:translateX(5px) rotate(-5deg); }

/* Распределение ответственности. */
.hg-trust { background:var(--mist); }.hg-trust h2 { position:relative; z-index:1; max-width:850px; margin-bottom:46px; }.hg-trust-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.hg-trust article { position:relative; min-height:310px; display:flex; flex-direction:column; padding:27px; overflow:hidden; border:1px solid var(--line); background:rgba(255,255,255,.78); transition:transform .25s ease,box-shadow .25s ease; }.hg-trust article:hover { z-index:2; box-shadow:0 24px 44px rgba(11,37,69,.1); transform:translateY(-6px); }.hg-trust article>small { color:var(--orange-deep); font:600 9px/1.2 var(--mono); letter-spacing:.09em; text-transform:uppercase; }.hg-trust article>.ms { align-self:flex-end; color:var(--orange); font-size:36px; }.hg-trust h3 { margin:58px 0 11px; font:700 31px/.95 var(--display); text-transform:uppercase; }.hg-trust article p { margin:0; color:var(--muted); font-size:14px; line-height:1.62; }.hg-trust article>i { position:absolute; right:-31%; bottom:-58%; width:86%; aspect-ratio:1; border:1px solid rgba(19,49,92,.08); border-radius:50%; box-shadow:0 0 0 35px rgba(19,49,92,.018); transition:transform .55s ease; }.hg-trust article:hover>i { transform:translate(-9%,-8%); }

/* FAQ и финальный CTA. */
.hg-faq { background:var(--paper); }.hg-faq__layout { display:grid; grid-template-columns:.76fr 1.24fr; gap:clamp(48px,8vw,120px); }.hg-faq__intro { max-width:360px; margin:25px 0 0; color:var(--muted); font-size:14px; line-height:1.7; }.hg-faq__list { border-top:1px solid var(--line); }.hg-faq details { border-bottom:1px solid var(--line); }.hg-faq summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; cursor:pointer; list-style:none; font:700 clamp(20px,2vw,28px)/1.02 var(--display); text-transform:uppercase; }.hg-faq summary::-webkit-details-marker { display:none; }.hg-faq summary .ms { flex:0 0 auto; color:var(--orange); transition:transform .25s ease; }.hg-faq details[open] summary .ms { transform:rotate(45deg); }.hg-faq details p { max-width:680px; margin:0; padding:0 36px 24px 0; color:var(--muted); font-size:14px; line-height:1.68; }
.hg-final { position:relative; padding:0 0 clamp(58px,7vw,90px); background:var(--paper); }.hg-final__in { position:relative; display:flex; align-items:center; justify-content:space-between; gap:34px; min-height:390px; padding-top:clamp(42px,5vw,68px); padding-bottom:clamp(42px,5vw,68px); overflow:hidden; color:#fff; background:linear-gradient(118deg,var(--navy),var(--ink)); clip-path:polygon(0 0,100% 0,100% 85%,95% 100%,0 100%); }.hg-final__in>div:first-child { position:relative; z-index:2; max-width:740px; }.hg-final .hg-eyebrow { color:var(--orange-light); }.hg-final h2 { font-size:clamp(39px,4.2vw,61px); }.hg-final h2 em { color:var(--orange-light); }.hg-final p:not(.hg-eyebrow) { max-width:580px; margin:18px 0 0; color:rgba(255,255,255,.66); font-size:15px; line-height:1.65; }.hg-final .hg-button { position:relative; z-index:3; flex:0 0 auto; margin-right:clamp(10px,3vw,42px); }
.hg-final__orbit { position:absolute; right:-4%; bottom:-72%; width:560px; aspect-ratio:1; border:1px solid rgba(247,178,103,.18); border-radius:50%; box-shadow:0 0 0 70px rgba(247,178,103,.025),0 0 0 140px rgba(247,178,103,.015); animation:hg-orbit 18s linear infinite; }.hg-final__orbit::before { content:''; position:absolute; inset:25%; border:1px dashed rgba(247,178,103,.23); border-radius:50%; }.hg-final__orbit>span { position:absolute; top:7%; left:45%; color:var(--orange-light); font-size:42px; }.hg-final__orbit i { position:absolute; width:9px; height:9px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 7px rgba(242,140,40,.12); }.hg-final__orbit i:nth-child(1){top:21%;left:16%}.hg-final__orbit i:nth-child(2){top:4%;right:31%}.hg-final__orbit i:nth-child(3){top:35%;right:4%}

/* Reveal включается JS; без JS весь контент остаётся видимым. */
.hg-motion [data-hg-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--hg-delay,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--hg-delay,0ms); }
.hg-motion [data-hg-reveal].is-visible { opacity:1; transform:none; }

@keyframes hg-image-in { from{opacity:.4;transform:scale(1.11)} to{opacity:1;transform:translate3d(calc(var(--hg-x) * -.18),calc(var(--hg-y) * -.18),0) scale(1.035)} }
@keyframes hg-rise { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
@keyframes hg-route-flow { from{stroke-dashoffset:1000} to{stroke-dashoffset:0} }
@keyframes hg-hub-pulse { 0%,100%{transform:scale(.8);opacity:.58} 50%{transform:scale(1.23);opacity:1} }
@keyframes hg-ring { 0%{transform:scale(.64);opacity:1} 100%{transform:scale(1.65);opacity:0} }
@keyframes hg-pulse { 0%,100%{box-shadow:0 0 0 5px rgba(242,140,40,.16)} 50%{box-shadow:0 0 0 10px rgba(242,140,40,.03)} }
@keyframes hg-status { 0%,100%{opacity:.5;transform:scale(.8)} 50%{opacity:1;transform:scale(1.18)} }
@keyframes hg-halo { 0%,100%{transform:scale(.98)} 50%{transform:scale(1.025)} }
@keyframes hg-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@keyframes hg-scroll { 0%{transform:translateY(0)} 100%{transform:translateY(200%)} }
@keyframes hg-marquee { to{transform:translateX(-50%)} }
@keyframes hg-scan { to{transform:translateX(120%)} }
@keyframes hg-orbit { to{transform:rotate(1turn)} }

@media(max-width:1080px) {
  .hg-hero__mode { display:none; }
  .hg-network__layout { grid-template-columns:1fr; }
  .hg-network__copy { max-width:760px; }
  .hg-network__board { width:min(800px,94%); margin:18px auto 35px; }
  .hg-direction-grid { grid-template-columns:repeat(2,1fr); }
  .hg-program-grid { grid-template-columns:repeat(2,1fr); }
  .hg-process__layout,.hg-faq__layout { grid-template-columns:1fr; gap:48px; }
  .hg-process__intro { position:static; }
  .hg-process__radar { display:none; }
  .hg-final__orbit { opacity:.45; }
}

@media(max-width:760px) {
  .hg-hero { min-height:760px; align-items:flex-end; }
  .hg-hero__image { object-position:76% center; opacity:.76; }
  .hg-hero__veil { background:linear-gradient(90deg,rgba(6,24,46,.99),rgba(8,28,52,.86)),linear-gradient(0deg,rgba(5,21,41,.82),transparent); }
  .hg-hero__grid { opacity:.1; }
  .hg-hero__route { display:block; right:-60%; width:150vw; opacity:.45; }
  .hg-hero__halo { right:-70vw; top:-10vw; width:140vw; height:140vw; }
  .hg-hero__in { padding-top:58px; padding-bottom:72px; }
  .hg-hero__status { margin-bottom:55px; }
  .hg-hero__status span:last-child { display:none; }
  .hg h1 { font-size:clamp(42px,13vw,64px); overflow-wrap:break-word; }
  .hg h1 em { margin-top:11px; font-size:.58em; line-height:1.02; }
  .hg-hero__lead { font-size:15px; }
  .hg-actions { display:grid; }
  .hg-button { width:100%; }
  .hg-hero__facts { display:grid; gap:9px; margin-top:29px; }
  .hg-hero__scroll { display:none; }
  .hg-marquee__track { animation-duration:24s; }
  .hg-section { padding:72px 0; }
  .hg-section__serial { top:18px; font-size:130px; }
  .hg-section__head { display:block; margin-bottom:34px; }
  .hg-section__head>p { margin-top:20px; }
  .hg-section h2,.hg-process h2,.hg-trust h2,.hg-faq h2 { font-size:41px; }
  .hg-direction { min-height:260px; padding:20px; }
  .hg-direction__icon { margin:28px 0 17px; font-size:30px; }
  .hg-direction strong { font-size:23px; }
  .hg-network__board { width:100%; }
  .hg-network__mode { min-width:100px; padding:8px; }.hg-network__mode small { display:none; }.hg-network__mode--air{top:20%;left:4%}.hg-network__mode--sea{top:43%;right:2%}.hg-network__mode--rail{bottom:22%;left:5%}.hg-network__mode--road{right:5%;bottom:8%}
  .hg-network__cargo { bottom:-48px; width:calc(100% - 24px); }.hg-network__cargo strong { font-size:14px; }
  .hg-program-grid,.hg-trust-grid { grid-template-columns:1fr; }
  .hg-program:first-child { grid-column:auto; min-height:285px; }.hg-program:first-child strong { font-size:34px; }
  .hg-steps::before { left:38px; }.hg-steps li { grid-template-columns:50px 1fr 30px; gap:12px; }.hg-steps li>span i { right:3px; }.hg-steps strong { font-size:27px; }
  .hg-trust article { min-height:260px; }.hg-trust h3 { margin-top:42px; }
  .hg-news__grid { display:block; }.hg-news__item { min-height:0; border-left:0; }.hg-news__item--lead { min-height:355px; }.hg-news__item:not(.hg-news__item--lead) .hg-news__body { padding:20px; }.hg-news__item:not(.hg-news__item--lead) strong { font-size:21px; }.hg-news__excerpt { font-size:14px; }
  .hg-faq summary { font-size:23px; }
  .hg-final__in { display:block; min-height:0; margin:0 20px; padding:36px 25px; clip-path:none; }.hg-final h2 { font-size:41px; }.hg-final .hg-button { width:100%; margin:27px 0 0; }.hg-final__orbit { display:none; }
}

@media(max-width:450px) {
  .hg-hero { min-height:780px; }
  .hg-hero__status { font-size:9px; }
  .hg h1 { font-size:clamp(34px,10.1vw,40px); letter-spacing:-.045em; overflow-wrap:normal; }
  .hg-direction-grid { grid-template-columns:1fr; }
  .hg-direction:last-child:nth-child(4n + 3) { grid-column:auto; }
  .hg-direction { min-height:230px; }
  .hg-network__bar { align-items:flex-start; flex-direction:column; }
  .hg-network__board svg { min-height:420px; object-fit:cover; }
  .hg-network__mode { font-size:9px; }.hg-network__mode .ms { font-size:20px; }
  .hg-network__copy li { grid-template-columns:32px 1fr; }
  .hg-programs__empty { display:block; }.hg-programs__empty>.ms { display:block; margin-bottom:12px; }.hg-programs__empty .hg-text-button { margin-top:16px; }
  .hg-faq summary { font-size:21px; }
}

@media(prefers-reduced-motion:reduce) {
  .hg *, .hg *::before, .hg *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
  .hg-motion [data-hg-reveal] { opacity:1; transform:none; }
  .hg-hero__image,.hg-hero__route { transform:none!important; }
}
