/* Real document flow: scrolling never waits for an animation to release a player. */
.page-flow .video-fullscreen{position:absolute;right:10px;top:10px;z-index:8;width:40px;height:40px;border:1px solid #ffffff40;border-radius:8px;background:#080a0fc9;color:white;font:28px/1 sans-serif;cursor:pointer;display:grid;place-items:center}
.page-flow .video-fullscreen:hover{background:#303649}
.page-flow .video-frame:fullscreen,.page-flow .work-video:fullscreen,.page-flow .video-expanded{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;background:#000}
.page-flow .video-expanded{position:fixed!important;inset:0!important;z-index:10000!important}
.page-flow .video-frame:fullscreen iframe,.page-flow .work-video:fullscreen iframe,.page-flow .video-expanded iframe{width:100%!important;height:100%!important}
.page-flow .services-story{position:relative;height:165svh;background:#3445d9}
.page-flow .services-story .services{position:sticky;top:0;height:100svh;min-height:0;box-sizing:border-box}
@media(max-width:700px){.page-flow .services-story{height:175svh}.page-flow .services-story .services{justify-content:center;padding-block:84px 36px}}
@media(max-height:650px){.page-flow .services-story{height:auto}.page-flow .services-story .services{position:relative;height:auto;min-height:100svh}.page-flow .service-letter{color:#f3f3ed}}
.page-flow .work-pages{grid-template-columns:minmax(0,1fr)}
.page-flow .work-page,.page-flow .work-content,.page-flow .team-grid{min-width:0}
.page-flow .work-video,.page-flow .work-poster{max-width:100%}
.page-flow .masthead,.page-flow .masthead a{color:var(--ink)}
.page-flow{--page-gutter:clamp(22px,6.6vw,126px);overflow-x:clip}
.page-flow main{display:block}
.page-flow section[id],.page-flow article[id],.page-flow footer[id]{scroll-margin-top:78px}
.page-flow .masthead{--ink:#202521;background:#dadcd7f5;border-bottom:1px solid transparent;transition:background-color .15s,color .15s;pointer-events:auto}
.page-flow .masthead[data-theme="dark"]{--ink:#f3f3ed;background:#101218f5;border-color:#ffffff12}
.page-flow .masthead[data-theme="blue"]{--ink:#f3f3ed;background:#3445d9f5}
.page-flow .masthead[data-theme="context"]{--ink:#202521;background:#e9eaeff5}
.page-flow .masthead a{min-height:44px}
.page-flow .wordmark{display:flex;align-items:center}
.page-flow .wordmark span{align-self:flex-start;margin-top:9px}
.page-flow .wordmark .wordmark-arrow{position:relative;width:9px;height:9px;margin:2px 0 0 4px;border:0}
.page-flow .wordmark-arrow::before{content:'';position:absolute;right:0;top:0;width:5px;height:5px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}
.page-flow .wordmark-arrow::after{content:'';position:absolute;right:0;top:3px;width:9px;height:1.5px;background:currentColor;transform:rotate(-45deg);transform-origin:right center}
.page-flow .header-contacts .header-call,.page-flow .site-footer .footer-call{background:#4052f5;color:#fff;border:1px solid #4052f5;border-radius:999px;font-weight:700;text-decoration:none;padding:12px 18px;min-height:44px;transition:background-color .15s,border-color .15s}
.page-flow .header-contacts .header-call:hover,.page-flow .site-footer .footer-call:hover{background:#2737c7;border-color:#2737c7;color:#fff;text-decoration:none}
.page-flow .masthead[data-theme="blue"] .header-contacts .header-call{background:#fff;border-color:#fff;color:#2637c9}
.page-flow .masthead[data-theme="blue"] .header-contacts .header-call:hover{background:#e9ebff;border-color:#e9ebff;color:#1827a6}
.page-flow .site-footer .footer-call{display:inline-flex;justify-content:center;margin-top:24px;font-size:16px}
.page-flow .header-contacts a:hover{text-decoration:underline;text-underline-offset:5px}
.page-flow .intro-page{position:relative;height:100svh;min-height:620px;background:var(--paper);isolation:isolate;overflow:clip}
.page-flow .hero-copy,.page-flow .opening-statement,.page-flow .armor-title{will-change:auto;transition:none}
.page-flow .hero-copy{top:50%}
.page-flow .scene-footer{border-top:0;background:none;bottom:12px}
.page-flow .assemble{color:var(--ink);text-decoration:none;visibility:visible;min-height:48px}
.page-flow .assemble:hover .scroll-icon{background:#202521;color:#dadcd7}
.page-flow .scroll-icon{transition:background-color .15s,color .15s}
.page-flow .reel-section{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;min-height:100svh;padding:100px var(--page-gutter) 64px;background:#101218;color:#f3f3ed}
.page-flow .reel-heading{position:static;inset:auto;width:100%;max-width:none;transform:none;translate:none;opacity:1;text-align:center}
.page-flow .reel-heading h2{margin:0;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.045em}
.page-flow .video-frame{position:relative;inset:auto;translate:none;transform:none;opacity:1;visibility:visible;pointer-events:auto;width:min(100%,1200px,calc((100svh - 330px)*16/9));aspect-ratio:16/9;border:1px solid #ffffff20;box-shadow:none;background:#080a0f;overflow:hidden;border-radius:10px}
.page-flow .video-frame iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:auto}
.page-flow .services{position:relative;inset:auto;z-index:auto;opacity:1;visibility:visible;pointer-events:auto;min-height:80svh;padding:104px var(--page-gutter);background:#3445d9;column-gap:6%}
.page-flow .services-intro{min-width:0}
.page-flow .services-description{line-height:1.45}
.page-flow .services-list{gap:0}
.page-flow .services-list li{padding:18px 0;border-bottom:1px solid #ffffff25;min-width:0}
.page-flow .services-list li:first-child{padding-top:0}
.page-flow .services-list li:last-child{border-bottom:0;padding-bottom:0}
.page-flow .service-name{color:#f3f3ed;overflow-wrap:normal}
.page-flow .recent-work{position:relative;inset:auto;z-index:auto;opacity:1;visibility:visible;pointer-events:auto;overflow:visible;padding:100px var(--page-gutter) 80px;background:#101218}
.page-flow .work-pages{position:static;inset:auto;transform:none;will-change:auto;display:grid;gap:76px}
.page-flow .work-page,.page-flow .work-page:nth-child(n+2){position:relative;inset:auto;padding:0;background:none;transform:none;box-shadow:none;border:0;opacity:1;visibility:visible;pointer-events:auto;will-change:auto}
.page-flow .work-page::after{content:none}
.page-flow .work-content,.page-flow .team-page .team-content{width:100%;max-width:1200px;margin:0 auto;will-change:auto}
.page-flow .work-content h2{font-size:clamp(44px,5.5vw,80px);margin-bottom:36px}
.page-flow .work-caption{margin-top:18px;gap:20px;align-items:flex-start}
.page-flow .work-caption p{line-height:1.25}
.page-flow .team-page{margin-top:20px}
.page-flow .team-grid{gap:20px}
.page-flow .work-loading{pointer-events:none}
.page-flow .work-cover-trigger:focus-visible{outline-offset:-5px;outline-color:white}
.page-flow .context-story{position:relative;height:300svh;background:#e9eaef}
.page-flow .brand-context{position:sticky;inset:auto;top:0;height:100svh;min-height:500px;opacity:1;visibility:visible;pointer-events:auto;overflow:clip;isolation:isolate}
.page-flow .ecosystem-marker{position:absolute;top:115svh;width:1px;height:1px;pointer-events:none}
.page-flow .context-copy{pointer-events:none}
.page-flow .site-footer{padding:48px var(--page-gutter);scroll-margin-top:78px}
.page-flow .site-footer a{text-underline-offset:5px}
.page-flow .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:701px) and (max-width:1099px){
 .page-flow .hero-copy{width:55%}
 .page-flow .opening-statement{font-size:clamp(50px,7.6vw,84px)}
 .page-flow .hero-art{right:1%;width:min(39vw,calc((100svh - 200px)/1.45));top:50%;translate:0 -50%}
 .page-flow .armor-title.system-statement{font-size:clamp(25px,3.2vw,35px)}
 .page-flow .armor-title.system-statement .system-tagline{font-size:clamp(18px,2.1vw,23px)}
}
@media(max-width:700px){
 .page-flow{--page-gutter:22px}
 .page-flow .masthead{padding:12px 20px}
 .page-flow .header-contacts{gap:14px}
 .page-flow .header-contacts a{font-size:13px}
 .page-flow .intro-page{height:auto;min-height:100svh;padding:108px 0 20px;display:flex;flex-direction:column}
 .page-flow .hero-intro{position:relative;inset:auto;display:flex;flex:1;gap:22px;justify-content:center}
 .page-flow .hero-copy{top:auto;width:calc(100% - 44px);margin:0 22px;translate:none}
 .page-flow .opening-statement{font-size:clamp(38px,11.5vw,78px)}
 .page-flow .armor-title.system-statement{font-size:clamp(25px,6.4vw,38px);margin-top:22px;padding-left:2px}
 .page-flow .armor-title.system-statement .system-tagline{font-size:clamp(17px,4.3vw,23px);line-height:1.3;max-width:26em;text-wrap:pretty}
 .page-flow .hero-art{position:relative;top:auto;right:auto;translate:none;width:min(66vw,320px);min-width:0;margin-right:6%;overflow:visible;mask-image:none}
 .page-flow .hero-art img{width:100%;transform:none}
 .page-flow .scene-footer{position:relative;inset:auto;height:auto;min-height:58px;margin:12px 22px 0;background:none}
 .page-flow .reel-section{min-height:0;padding:84px 16px 64px;gap:28px}
 .page-flow .reel-heading h2{font-size:42px}
 .page-flow .video-frame{width:100%;border-radius:6px}
 .page-flow .services{min-height:0;padding:80px var(--page-gutter);display:flex;align-items:stretch}
 .page-flow .services h2.services-headline{font-size:clamp(32px,8.7vw,52px);line-height:1.02}
 .page-flow .services-description{font-size:17px;line-height:1.4;margin-top:22px}
 .page-flow .services-list{margin-top:36px;gap:0}
 .page-flow .services-list li{padding:15px 0;grid-template-columns:22px minmax(0,1fr);gap:10px}
 .page-flow .service-name{font-size:clamp(23px,6.4vw,34px);line-height:1.1}
 .page-flow .recent-work{padding:72px 16px 64px}
 .page-flow .work-pages{gap:54px}
 .page-flow .work-content h2{font-size:44px;margin-bottom:28px}
 .page-flow .work-caption{flex-direction:column;gap:6px;margin-top:14px}
 .page-flow .work-caption .work-role{max-width:none;text-align:left;font-size:16px}
 .page-flow .work-caption p{font-size:20px}
 .page-flow .work-caption span{font-size:15px}
 .page-flow .team-page{margin-top:8px}
 .page-flow .team-grid{grid-auto-columns:min(76vw,310px);gap:16px;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:#70778b #20242e}
 .page-flow .context-story{height:280svh}
 .page-flow .site-footer{padding:38px 22px}
 html[lang="ru"] .page-flow .opening-statement{font-size:clamp(36px,10.4vw,74px)}
 html[lang="ru"] .page-flow .armor-title.system-statement{font-size:clamp(24px,5.9vw,36px)}
}
@media(max-width:360px){
 .page-flow .masthead{padding-inline:16px}.page-flow .wordmark{font-size:26px}
 .page-flow .header-contacts{gap:10px}.page-flow .header-contacts a{font-size:12px}
 .page-flow .header-contacts .header-call{padding:10px}
}
@media(prefers-reduced-motion:reduce){.page-flow *{scroll-behavior:auto!important}.page-flow .masthead,.page-flow .scroll-icon{transition:none}}

.page-flow .wordmark .wordmark-arrow{display:block;flex:none;align-self:flex-start;width:11px;height:11px;margin:2px 0 0 4px;overflow:visible}
