/* The office supplies a quiet shared language: screens, partitions and routes. */
.brand .brand-logo{display:block;width:120px;height:78px;object-fit:contain}
footer .brand .brand-logo{width:112px;height:76px}
.office-blueprint{position:absolute;width:570px;height:auto;right:-75px;bottom:-70px;stroke:#8ab7e5;stroke-width:1;opacity:.16;transform:rotate(-13deg);mask-image:linear-gradient(120deg,transparent 3%,#000 55%,transparent 99%)}
.office-monitor{fill:#8acbff08;stroke:#a2cded}.office-screen-line{stroke:#b8e2ff;stroke-width:2}.office-core{fill:#a1d7ff1c;stroke:#b9dcff;stroke-width:1.5}.office-route{stroke:#82a5d3;stroke-width:.8}.office-signal{stroke:#c2ecff;stroke-width:2;stroke-dasharray:9 210;animation:office-transfer 12s linear infinite;animation-play-state:paused}
.services .office-blueprint{width:820px;right:-300px;bottom:10%;opacity:.12;transform:rotate(-22deg)}
.scenarios .office-blueprint{width:610px;right:auto;left:-200px;bottom:5%;opacity:.1;transform:rotate(15deg)}
.approach .office-blueprint{stroke:#426c9c;right:-130px;bottom:-150px;opacity:.12}
.approach .office-monitor{fill:#426c9c08;stroke:#426c9c}.approach .office-core{stroke:#426c9c;fill:#426c9c10}.approach .office-screen-line{stroke:#426c9c}
.capabilities .office-blueprint{right:-40px;bottom:-240px;opacity:.16}
.delivery .office-blueprint{width:680px;right:-210px;bottom:-270px;opacity:.14}
.contact .office-blueprint{right:-15px;bottom:-60px;width:460px;opacity:.3;transform:perspective(600px) rotateY(-16deg) rotateZ(-16deg)}
.fx-section[data-effects-active=true] .office-signal{animation-play-state:running}
body[data-motion-paused=true] .office-signal,body[data-effects-hidden=true] .office-signal{animation-play-state:paused!important}
.service-visual{border-radius:12px;box-shadow:0 18px 45px #0003,inset 0 1px #c4e4ff25}
.service-visual:after{content:'';position:absolute;inset:6px;border-radius:8px;pointer-events:none;background:linear-gradient(#b7dfff80,#b7dfff80) left top/13px 1px no-repeat,linear-gradient(#b7dfff80,#b7dfff80) left top/1px 13px no-repeat,linear-gradient(#b7dfff50,#b7dfff50) right bottom/13px 1px no-repeat,linear-gradient(#b7dfff50,#b7dfff50) right bottom/1px 13px no-repeat}
.case-demo{border-radius:12px 12px 8px 8px}.demo-window-bar{border-bottom:1px solid #a8cfff2b}.tool-grid>:is(a,button,article){box-shadow:inset 0 1px #e8f5ff09}
.hero-object{right:-1%;width:57%;top:16%;height:72%}.object-caption{left:14%;right:8%;bottom:-4%}
.knowledge-node{top:22%;left:70%}.agent-node{right:3%;top:70%}.output-node{left:48%;top:79%}
@keyframes office-transfer{to{stroke-dashoffset:-438}}
@media(min-width:761px) and (max-width:1100px){.hero-object{width:60%;right:0;top:35%;height:55%}.object-caption{left:8%;right:8%;bottom:3%}.knowledge-node{left:auto;right:8%;top:31%}.agent-node{top:77%}.office-blueprint{opacity:.1}}
@media(max-width:760px){.brand .brand-logo{width:91px;height:62px}footer .brand .brand-logo{width:91px;height:62px}.hero-object{top:515px;right:0;width:100%;height:410px}.knowledge-node{left:6%;top:51%}.agent-node{right:6%;top:86%}.object-caption{left:6%;right:6%;bottom:-6%;justify-content:flex-start}.object-caption>span{display:none}.office-blueprint{right:-170px;width:470px;bottom:-140px;opacity:.1}.services .office-blueprint{right:-400px;width:700px;opacity:.09}.contact .office-blueprint{right:-90px;bottom:-180px;width:380px;opacity:.22}}
@media(prefers-reduced-motion:reduce){.office-signal{animation:none!important}}

/* Seven members retain a balanced portrait grid; crop the original photos in their frames. */
.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:46px 28px}.team-grid>.person{flex:0 0 calc((100% - 84px)/4);min-width:0}.team .portrait{height:auto;aspect-ratio:4/5}.team .person-role{display:block;color:#d2e7ff;margin-bottom:6px;font-size:12px}
.team .portrait.sun img{object-position:center 65%;transform:scale(2.15);transform-origin:30% 85%}.team .person:hover .portrait.sun img{transform:scale(2.19)}
.team .portrait.su img{object-position:center 57%;transform:scale(1.12);transform-origin:50% 70%}.team .person:hover .portrait.su img{transform:scale(1.15)}
.contact footer{margin-top:58px;padding:26px 0 0;border:0;background:transparent;position:relative;gap:28px}.contact{padding-bottom:36px}
@media(max-width:1100px){.team-grid>.person{flex-basis:calc((100% - 28px)/2)}}
@media(max-width:760px){.team-grid{gap:30px 16px}.team-grid>.person{flex-basis:calc((100% - 16px)/2)}.team .person-role{font-size:11px;line-height:1.7}.contact footer{margin-top:38px;padding-top:20px;gap:20px}.contact{padding-bottom:28px}}

.toolkit-intro h2{font-size:clamp(30px,3vw,46px);letter-spacing:-1px}

.team .person>p{text-wrap:pretty}

.team .portrait.zou img{object-position:center top;transform-origin:center top}
