/* Shared input frame stays in place while the selected section changes. */
@view-transition{navigation:auto}
.rmi-site-header{view-transition-name:rmi-header}
.rmi-stabs{view-transition-name:rmi-sections}
.rmi-stabs>.rmi-stab:is([aria-current=page],[aria-pressed=true]){view-transition-name:rmi-selected}
#search-mode-rzn,.search-panel>.brand-search-body,.contracts-stage,.gost-page .gp-searchbar,.rmi-search-placeholder{view-transition-name:rmi-search}
#search-mode-rzn .rs-ru__input-row,#lab-search:not([hidden]) .search-line,#gost-search:not([hidden]) .search-line,.contracts-search,.gp-search,.rmi-search-placeholder-field{view-transition-name:rmi-field}
/* 06.11.2026: переход с направлением. Направление (forward, когда раздел правее) ставит site-motion.js в html[data-rmi-direction].
   Выбранная плашка перелетает с лёгкой пружиной, шапка раздела уезжает в сторону движения, синяя панель открывается
   мягкой шторкой оттуда же, подпись над полем сменяется снизу вверх. Поле поиска стоит на месте. */
#rs-ru-form>label,#lab-search:not([hidden])>label,.contracts-stage-label,.gp-searchbar .gp-label{view-transition-name:rmi-label}
html{--rmi-vt-x:28px}
html[data-rmi-direction=backward]{--rmi-vt-x:-28px}
::view-transition-group(*){animation-duration:560ms;animation-timing-function:cubic-bezier(.22,.75,.2,1)}
::view-transition-old(root){animation:rmi-page-out 200ms ease-out both}
::view-transition-new(root){animation:rmi-page-in 420ms 80ms ease-out both}
::view-transition-old(rmi-intro){animation:rmi-slide-out 260ms cubic-bezier(.4,0,1,1) both}
::view-transition-new(rmi-intro){animation:rmi-slide-in 520ms 90ms cubic-bezier(.16,.84,.3,1) both}
::view-transition-old(rmi-header),::view-transition-new(rmi-header),::view-transition-old(rmi-sections),::view-transition-new(rmi-sections){animation:none;mix-blend-mode:normal}
::view-transition-group(rmi-selected){z-index:4;animation-duration:620ms;animation-timing-function:cubic-bezier(.34,1.32,.5,1)}
::view-transition-old(rmi-selected){animation:rmi-page-out 200ms ease-out both;mix-blend-mode:normal}
::view-transition-new(rmi-selected){animation:rmi-page-in 320ms 60ms ease-out both;mix-blend-mode:normal}
::view-transition-group(rmi-search){animation-duration:520ms}
::view-transition-old(rmi-search){animation:rmi-page-out 300ms 120ms ease-in both;mix-blend-mode:normal}
::view-transition-new(rmi-search){animation:rmi-wipe-in 560ms cubic-bezier(.3,.7,.2,1) both;mix-blend-mode:normal;-webkit-mask-image:linear-gradient(270deg,#000 40%,#0000 60%);mask-image:linear-gradient(270deg,#000 40%,#0000 60%);-webkit-mask-size:260% 100%;mask-size:260% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
html[data-rmi-direction=backward]::view-transition-new(rmi-search){animation-name:rmi-wipe-in-back;-webkit-mask-image:linear-gradient(90deg,#000 40%,#0000 60%);mask-image:linear-gradient(90deg,#000 40%,#0000 60%)}
::view-transition-group(rmi-label){z-index:5;animation-duration:420ms}
::view-transition-old(rmi-label){animation:rmi-rise-out 220ms cubic-bezier(.4,0,1,1) both;mix-blend-mode:normal}
::view-transition-new(rmi-label){animation:rmi-rise-in 380ms 120ms cubic-bezier(.16,.84,.3,1) both;mix-blend-mode:normal}
::view-transition-group(rmi-field){z-index:5}
::view-transition-old(rmi-field),::view-transition-new(rmi-field){animation-duration:260ms;mix-blend-mode:normal}
@keyframes rmi-page-out{to{opacity:0}}
@keyframes rmi-page-in{from{opacity:0}to{opacity:1}}
@keyframes rmi-slide-out{to{opacity:0;transform:translateX(calc(var(--rmi-vt-x) * -1))}}
@keyframes rmi-slide-in{from{opacity:0;transform:translateX(var(--rmi-vt-x))}to{opacity:1;transform:none}}
@keyframes rmi-rise-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes rmi-rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* Маска шириной 260%: непрозрачная часть заходит со стороны, откуда приходит новый раздел (справа при движении вправо),
   как и шапка раздела, и закрывает всю панель. */
@keyframes rmi-wipe-in{from{-webkit-mask-position:0 0;mask-position:0 0}to{-webkit-mask-position:100% 0;mask-position:100% 0}}
@keyframes rmi-wipe-in-back{from{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}
/* Прибытие: иконка выбранного раздела прорисовывается, поле поиска мягко подсвечивается. Класс ставит site-motion.js. */
html.rmi-arrived .rmi-stab:is([aria-current=page],[aria-pressed=true]) .rmi-stab-icon{animation:rmi-icon-pop 560ms cubic-bezier(.34,1.5,.5,1) both}
html.rmi-arrived .rmi-stab:is([aria-current=page],[aria-pressed=true]) .rmi-stab-icon svg :is(path,circle,rect){stroke-dasharray:1;animation:rmi-draw 700ms 80ms cubic-bezier(.45,0,.2,1) both}
html.rmi-arrived #main :is(#search-mode-rzn .rs-ru__input-row,#lab-search:not([hidden]) .search-line,.contracts-search,.gp-search){animation:rmi-field-glow 1100ms 260ms ease-out both}
@keyframes rmi-icon-pop{0%{transform:scale(.82)}60%{transform:scale(1.08)}100%{transform:none}}
@keyframes rmi-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
/* box-shadow поля закреплён в search-harmony.css через !important, поэтому свечение через filter. */
@keyframes rmi-field-glow{0%{filter:drop-shadow(0 0 0 #d8ecff00)}40%{filter:drop-shadow(0 0 9px #d8ecffd9)}100%{filter:drop-shadow(0 0 0 #d8ecff00)}}
.rmi-official-sources{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:5px 18px;margin:14px auto 0;max-width:980px;color:#536b82;font-size:12px;line-height:1.45}
.rmi-official-label{display:inline-flex;align-items:center;gap:6px;font-weight:500}
.rmi-official-label svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rmi-official-sources a{display:inline-flex;align-items:center;gap:4px;min-height:28px;color:#365f86;text-decoration:underline;text-decoration-color:#bdcddd;text-underline-offset:4px;text-decoration-thickness:1px;white-space:nowrap;transition:color 140ms ease,text-decoration-color 140ms ease}
.rmi-official-sources a svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
.rmi-official-sources a:hover{color:#1e456c;text-decoration-color:currentColor}
.rmi-official-sources a:focus-visible{outline:2px solid #315e89;outline-offset:4px;border-radius:3px}
.home-page .hc-lead{flex-wrap:wrap}
.m-search .rmi-official-sources{justify-content:flex-start;gap:4px 14px;margin:8px 0 16px;font-size:11px}
.m-search .rmi-official-label{flex-basis:100%}
@media(max-width:760px){.rmi-official-sources{gap:4px 14px;font-size:11px;margin-top:12px}.rmi-official-label{flex-basis:100%;justify-content:center}.m-search .rmi-official-label{justify-content:flex-start}.rmi-official-sources a{min-height:32px}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.rmi-official-sources a{transition:none}html.rmi-arrived *{animation:none!important}}
