:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}
.reading-progress{position:fixed;inset:0 0 auto;z-index:1000;height:3px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#4d8df7,#9ec5ff);pointer-events:none}
[data-reveal]{opacity:1;transform:none}
.motion-ready [data-reveal]{opacity:1;transform:none}
.motion-ready [data-reveal].is-visible{animation:content-reveal .56s var(--motion-ease) backwards;animation-delay:var(--reveal-delay,0ms)}
.motion-ready [data-reveal="media"].is-visible{animation-name:media-reveal}
@keyframes content-reveal{from{opacity:.6;transform:translate3d(0,20px,0)}to{opacity:1;transform:none}}
@keyframes media-reveal{from{opacity:.6;transform:translate3d(0,16px,0) scale(.985)}to{opacity:1;transform:none}}
.card,.lab-card,.pub-card,.contact-card,.partner-card,.team-card,.structure-card,.hf__item,.hdark__svc,.hnews__card,.catalog-direction,.catalog-unit,.passport-panel{transition:transform .3s var(--motion-ease),box-shadow .3s var(--motion-ease),border-color .3s ease}
.card:hover,.lab-card:hover,.pub-card:hover,.contact-card:hover,.partner-card:hover,.team-card:hover,.structure-card:hover,.hf__item:hover,.hdark__svc:hover,.hnews__card:hover,.catalog-direction:hover,.catalog-unit:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(13,43,92,.12)}
.hs__photo img,.hfeat__img-main,.hnews__photo img,.catalog-hero img,.catalog-direction img,.passport-hero img,.media-slide img{transition:transform .7s var(--motion-ease)}
.hs__photo:hover img,.hfeat__img-wrap:hover .hfeat__img-main,.hnews__card:hover .hnews__photo img,.catalog-direction:hover img,.media-slider:hover .media-slide.is-active img{transform:scale(1.025)}
.btn,.hs__btn-white,.hs__btn-ghost,.catalog-link,.passport-filter button{transition:transform .22s var(--motion-ease),box-shadow .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease}
.btn:active,.hs__btn-white:active,.hs__btn-ghost:active,.catalog-link:active,.passport-filter button:active{transform:translateY(1px) scale(.985)}
.counter-value{font-variant-numeric:tabular-nums;white-space:nowrap}
.counter-hover-target{cursor:default}
.counter-hover-target .counter-value{display:inline-block;transform-origin:50% 70%;transition:color .22s ease,transform .22s var(--motion-ease)}
.catalog-stat>.counter-value{display:block}
@media(hover:hover) and (pointer:fine){.counter-hover-target:hover .counter-value{color:#78aafa;transform:translateY(-2px) scale(1.045)}}
.counter-amount{width:max-content;max-width:100%;transform-origin:left 70%;transition:color .22s ease,transform .22s var(--motion-ease)}
.counter-amount:has([data-counting="true"]){animation:counter-amount-in .5s var(--motion-ease)}
@keyframes counter-amount-in{from{translate:0 7px;opacity:.7}to{translate:0 0;opacity:1}}
@media(hover:hover) and (pointer:fine){.counter-hover-target:hover .counter-amount{color:#78aafa;transform:translateY(-2px) scale(1.045)}.counter-hover-target:hover .counter-amount .counter-value{transform:none}}
@media(prefers-reduced-motion:reduce){.counter-amount:has([data-counting="true"]){animation:none}.counter-hover-target:hover .counter-amount{transform:none}}
.hover-replay{transition:translate .3s var(--motion-ease),scale .3s var(--motion-ease),box-shadow .3s var(--motion-ease)}
.motion-ready [data-reveal].hover-replay{transition:opacity .56s var(--motion-ease),transform .56s var(--motion-ease),translate .3s var(--motion-ease),scale .3s var(--motion-ease),box-shadow .3s var(--motion-ease)}
.hover-replay:focus-within{translate:0 -5px;box-shadow:0 18px 40px rgba(13,43,92,.12)}
@media(hover:hover) and (pointer:fine){.hover-replay:hover{translate:0 -5px;box-shadow:0 18px 40px rgba(13,43,92,.12)}}
.hover-replay.is-hover-replaying{animation:block-replay .46s var(--motion-ease)}
@keyframes block-replay{0%{translate:0 0;scale:1}45%{translate:0 -8px;scale:1.012}100%{translate:0 -5px;scale:1}}
.nav__link.section-active{color:var(--blue-500)}
.nav__link.section-active:after{transform:scaleX(1)}
.media-slider{position:relative;max-width:920px;margin:40px auto;outline:none}
.media-slider__viewport{position:relative;background:#e9eef7;border-radius:18px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 18px 50px rgba(8,31,72,.16)}
.media-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.015);transition:opacity .45s ease,transform .55s var(--motion-ease),visibility .45s;pointer-events:none}
.media-slide.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.media-slide img,.media-slide video{width:100%;height:100%;display:block;object-fit:cover}
.media-slider__button{position:absolute;top:50%;z-index:3;width:46px;height:46px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(8,31,72,.68);color:#fff;font-size:22px;cursor:pointer;backdrop-filter:blur(8px);transition:background .2s,transform .2s}
.media-slider__button:hover{background:#0d3674;transform:translateY(-50%) scale(1.06)}
.media-slider__button--prev{left:16px}.media-slider__button--next{right:16px}
.media-slider__dots{position:absolute;z-index:3;left:50%;bottom:16px;display:flex;gap:8px;transform:translateX(-50%)}
.media-slider__dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;transition:width .25s,background .25s}
.media-slider__dot.is-active{width:26px;border-radius:10px;background:#fff}
.equipment-row{transition:opacity .18s ease,transform .18s ease}.equipment-row.is-filtering{opacity:0;transform:translateY(4px)}
details>summary{cursor:pointer}details>*:not(summary){animation:details-in .28s var(--motion-ease)}
@keyframes details-in{from{opacity:0;transform:translateY(-6px)}}
@media(max-width:700px){.media-slider{margin-top:28px}.media-slider__button{width:40px;height:40px}.media-slider__button--prev{left:10px}.media-slider__button--next{right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reading-progress{display:none}.motion-ready [data-reveal],.motion-ready .hs__card-inner>*,.media-slide,.equipment-row,*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.motion-ready [data-reveal]{opacity:1;transform:none}.hover-replay:hover,.hover-replay:focus-within,.counter-hover-target:hover .counter-value{translate:none!important;scale:none!important;transform:none!important}}
