/* Motion inspired by agentyon.ru, adapted to Bogdanov Lab. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.hero h1 .accent-word{white-space:normal}
@media(min-width:1101px){.hero h1{font-size:clamp(42px,4.15vw,60px)}}
.hero-copy{position:relative;z-index:2}
.hero-orbit{inset:-12% -20% 0;width:auto;height:auto;background:radial-gradient(ellipse at 23% 32%,#b3ef4930,transparent 42%),radial-gradient(ellipse at 77% 55%,#6ab5ff26,transparent 45%);border-radius:0}
.lab-stage{position:relative;isolation:isolate;min-width:0;z-index:1}
.lab-float{position:relative;z-index:1}
.lab-float::before,.lab-float::after{content:"";position:absolute;inset:7px 0 -7px;z-index:-1;border:1px solid #90b86d45;border-radius:26px;background:#162538;pointer-events:none;transform:perspective(1000px) rotateX(4deg) rotateY(-7deg) rotate(-2deg) translate(11px,10px)}
.lab-float::before{background:#132031;opacity:.65;transform:perspective(1000px) rotateX(4deg) rotateY(-7deg) rotate(-2deg) translate(20px,18px)}
.lab-stage .workflow{transform:perspective(1000px) rotateX(calc(4deg + var(--tilt-y,0deg))) rotateY(calc(-7deg + var(--tilt-x,0deg))) rotate(-2deg);transition:transform .25s ease-out;border-color:#8cac655c;box-shadow:18px 30px 55px #0005,inset 0 1px 0 #e1ffa11c}
.lab-aura{position:absolute;inset:-15% -12%;z-index:-2;background:radial-gradient(ellipse at 50% 46%,#c2f75742,transparent 66%);pointer-events:none}
.lab-orbit{position:absolute;left:50%;top:3%;width:110%;height:96%;z-index:-1;border:1px solid #d7fc7452;border-radius:50%;pointer-events:none;transform:translateX(-50%) rotate(-25deg) rotateX(57deg);box-shadow:0 0 28px #d7fc7409,inset 0 0 28px #d7fc7409}
.lab-orbit::after{content:"";position:absolute;top:15%;left:15%;width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 13px #d7fc74,0 0 28px #d7fc7477}
.lab-orbit-two{top:8%;width:125%;height:84%;border-color:#86d9e63a}
.lab-orbit-two::after{top:auto;left:auto;bottom:15%;right:15%;width:7px;height:7px;background:#95d9ee;box-shadow:0 0 20px #95d9ee88}
.lab-core-shell{position:absolute;left:12px;top:-31px;width:54px;height:54px;perspective:500px;z-index:3;pointer-events:none}
.lab-core{width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(-22deg) rotateY(32deg) rotateZ(6deg)}
.lab-core i{position:absolute;inset:0;border:1px solid #e1ffa1;background:linear-gradient(145deg,#d7fc747c,#8ec74520);box-shadow:inset 0 0 18px #d7fc7440;backface-visibility:visible}
.lab-core i:nth-child(1){transform:translateZ(27px)}
.lab-core i:nth-child(2){transform:rotateY(180deg) translateZ(27px)}
.lab-core i:nth-child(3){transform:rotateY(90deg) translateZ(27px)}
.lab-core i:nth-child(4){transform:rotateY(-90deg) translateZ(27px)}
.lab-core i:nth-child(5){transform:rotateX(90deg) translateZ(27px)}
.lab-core i:nth-child(6){transform:rotateX(-90deg) translateZ(27px)}
.motion-toggle{display:inline-flex;align-items:center;gap:8px;margin:0;min-height:44px;flex-shrink:0;border:1px solid #647455;border-radius:24px;background:#253124;color:#e9f2df;padding:9px 13px;font:12px Lab,Arial,sans-serif;line-height:1.5;max-width:100%;white-space:nowrap;text-align:left}
.motion-toggle::before{content:"Ⅱ";width:12px;color:var(--lime);font-weight:700}
.motion-toggle[aria-pressed="false"]::before{content:"▷"}
.motion-toggle:disabled{cursor:default}
.has-motion-control .header-inner{gap:16px}
.has-motion-control .brand{order:0}
.has-motion-control .nav{order:1;margin-left:auto}
.has-motion-control .motion-toggle{order:2}
.has-motion-control .menu-toggle{order:3}
@media(max-width:1024px){
 .has-motion-control .menu-toggle{display:flex;width:44px;height:44px;border:1px solid #40516b;border-radius:9px;background:transparent;flex-direction:column;justify-content:center;gap:6px;padding:11px;cursor:pointer;flex-shrink:0}
 .has-motion-control .menu-toggle>span{display:block;height:1px;width:100%;background:#f1f5fc;transition:transform .2s}
 .has-motion-control .nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:24px;background:#0c1220;border-bottom:1px solid #34445d;flex-direction:column;align-items:stretch;gap:8px;box-shadow:0 12px 25px #20251e0a}
 .has-motion-control .nav.is-open{display:flex}
 .has-motion-control .nav>a:not(.button){padding:12px;font-size:16px}
 .has-motion-control .nav>.button{margin-top:6px}
 .has-motion-control .motion-toggle{margin-left:auto}
}
@media(max-width:480px){
 .has-motion-control .header-inner{flex-wrap:wrap;gap:8px 12px;padding-block:8px}
 .has-motion-control .brand{flex:1}
 .has-motion-control .menu-toggle{order:1}
 .has-motion-control .motion-toggle{order:2;flex-basis:100%;justify-content:center}
}
.nav>a:not(.button){position:relative;text-decoration:none!important}
.nav>a:not(.button)::after{content:"";position:absolute;inset:auto 0 -6px;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--motion-ease)}
.nav>a:hover::after,.nav>a:focus-visible::after{transform:scaleX(1)}
.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s var(--motion-ease),background .25s,box-shadow .25s}
.button::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,#fff5 48%,transparent 75%);transform:translateX(-150%);transition:transform .7s var(--motion-ease);pointer-events:none}
.button:hover::before,.button:focus-visible::before{transform:translateX(150%)}
.button>span,.service-cta>span{transition:transform .25s var(--motion-ease)}
.button:hover>span,.button:focus-visible>span,.service-cta:hover>span{transform:translate(3px,-2px)}
.service-card{position:relative;isolation:isolate;transition:transform .3s var(--motion-ease),border-color .3s,box-shadow .3s}
.service-card::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(360px circle at var(--spot-x,50%) var(--spot-y,50%),#d7fc7432,transparent 70%);opacity:0;transition:opacity .3s}
.service-card:hover::after{opacity:1}
.service-card:hover{border-color:#97b371;box-shadow:0 18px 38px #20314818}
.faq-list summary>span{transition:transform .3s var(--motion-ease)}
.faq-list details[open] summary>span{transform:rotate(45deg)}
/* Older cached app.js must not hide content while a new version loads. */
.reveal-ready{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
 html[data-motion="on"] .hero-wrap.is-in-view .hero-orbit{animation:lab-hero-glow 9s ease-in-out infinite alternate}
 html[data-motion="on"] .lab-stage.is-in-view .lab-aura{animation:lab-aura-breathe 6s ease-in-out infinite alternate}
 html[data-motion="on"] .lab-stage.is-in-view .lab-orbit-one{animation:lab-orbit-travel 18s linear infinite}
 html[data-motion="on"] .lab-stage.is-in-view .lab-orbit-two{animation:lab-orbit-travel 13s linear infinite reverse}
 html[data-motion="on"] .lab-stage.is-in-view .lab-core{animation:lab-core-turn 12s linear infinite}
 html[data-motion="on"] .lab-stage.is-in-view .lab-float{animation:lab-window-float 5s ease-in-out infinite}
 html[data-motion="on"] .lab-stage.is-in-view .live-pip{animation:lab-status-wave 3s ease-out infinite}
 html[data-motion="on"] .lab-stage.is-in-view .workflow-tech{animation:lab-label-float 4s ease-in-out infinite}
 html[data-motion="on"] .service-card.is-in-view .service-visual img{animation:lab-artwork-float 6s ease-in-out infinite}
 html[data-motion="on"] .lab-stage:focus-within .lab-float{animation-play-state:paused}
 @view-transition{navigation:auto}
 ::view-transition-old(root){animation:lab-page-out .18s ease-out both}
 ::view-transition-new(root){animation:lab-page-in .26s var(--motion-ease) both}
 html[data-motion="off"]::view-transition-old(root),html[data-motion="off"]::view-transition-new(root){animation:none}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html[data-motion="on"] .service-card:hover{transform:translateY(-7px)}
 html[data-motion="on"] .lab-stage:hover .lab-float{animation-play-state:paused}
 html[data-motion="on"] .service-card:hover .service-visual img{animation-play-state:paused}
}
@keyframes lab-hero-glow{from{transform:translate(-6%,-4%) scale(.95);opacity:.55}to{transform:translate(9%,5%) scale(1.12);opacity:1}}
@keyframes lab-aura-breathe{from{transform:scale(.86) rotate(-15deg);opacity:.6}to{transform:scale(1.13) rotate(12deg);opacity:1}}
@keyframes lab-orbit-travel{from{transform:translateX(-50%) rotate(-25deg) rotateX(57deg) rotateZ(0)}to{transform:translateX(-50%) rotate(-25deg) rotateX(57deg) rotateZ(360deg)}}
@keyframes lab-core-turn{from{transform:rotateX(-22deg) rotateY(32deg) rotateZ(6deg)}to{transform:rotateX(338deg) rotateY(392deg) rotateZ(6deg)}}
@keyframes lab-window-float{0%,100%{transform:translateY(7px) rotate(-.7deg)}50%{transform:translateY(-12px) rotate(.7deg)}}
@keyframes lab-label-float{0%,100%{translate:0 3px}50%{translate:0 -7px}}
@keyframes lab-status-wave{0%{box-shadow:0 0 0 0 #d7fc7460}100%{box-shadow:0 0 0 10px #d7fc7400}}
@keyframes lab-artwork-float{0%,100%{transform:scale(1.035) translateY(3px)}50%{transform:scale(1.035) translateY(-3px)}}
@keyframes lab-page-out{to{opacity:0}}
@keyframes lab-page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
html[data-page-hidden="true"] *,html[data-page-hidden="true"] *::before,html[data-page-hidden="true"] *::after{animation-play-state:paused!important}
html[data-motion="off"]{scroll-behavior:auto}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important}
html[data-motion="off"] .button:hover,html[data-motion="off"] .service-card:hover,html[data-motion="off"] .service-card:hover img{transform:none}
html[data-motion="off"] .button>span,html[data-motion="off"] .service-cta>span{transform:none}
html[data-motion="off"] .service-card::after{display:none}
@media(max-width:800px){.lab-stage{width:min(100%,510px);margin-block:20px 14px}.lab-orbit{width:105%}.lab-orbit-two{width:113%}}
@media(max-width:480px){.lab-stage .workflow{transform:perspective(1000px) rotateX(2deg) rotateY(-3deg) rotate(-1deg)}.lab-float::before,.lab-float::after{border-radius:19px;transform:translate(6px,8px) rotate(-1deg)}.lab-float::before{transform:translate(11px,14px) rotate(-1deg)}.lab-core-shell{scale:.72;transform-origin:left top;top:-20px}.lab-orbit{opacity:.6}.service-card::after{display:none}}
@media(prefers-reduced-motion:reduce){
 .lab-stage .workflow{transform:none}
 .button>span,.service-cta>span,.service-card:hover,.service-card:hover img{transform:none!important}
 .button::before,.service-card::after{display:none}
 @view-transition{navigation:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
@media print{.motion-toggle,.lab-core-shell,.lab-aura,.lab-orbit{display:none}.lab-stage .workflow{transform:none}.lab-float::before,.lab-float::after{display:none}*,*::before,*::after{animation:none!important;transition:none!important}}
