/* A 1600 × 900 audience canvas. Main labels start at 44 px. */
.presentation{display:block;background:var(--paper)}
.main{width:1600px;height:900px;overflow:clip}
.stage{inset:0;width:1600px;height:900px;overflow:clip}
.scene{padding:85px 84px 74px;background:var(--paper);overflow:clip}
.scene[hidden]{display:none!important}
.scene h2{font-size:94px;line-height:1.12;letter-spacing:-5px;font-weight:800}
.scene h3{font-size:48px;line-height:1.2;letter-spacing:-1.8px}
.scene i{font-style:normal}
.client-belt{display:none}
.masthead{height:74px;top:16px;left:84px;right:32px;width:auto;padding:0;border:0;background:none;pointer-events:none;z-index:15;opacity:0;transform:translateY(-10px);transition:opacity .2s,transform .2s}
.masthead .chapter{display:none}
.masthead .tools{margin-left:auto;background:#f3f2ecf5;border:1px solid #b9c3d52e;border-radius:15px;padding:6px;box-shadow:0 6px 30px #0b172b12;pointer-events:none}
.tools .show-button{font-size:20px;padding:11px 17px}
.tools .tool{width:42px;height:42px}
.slide-navigation{z-index:15;left:50%;right:auto;bottom:18px;top:auto;transform:translate(-50%,10px);height:64px;width:auto;gap:17px;padding:6px 13px;border:1px solid #b9c3d52e;border-radius:15px;background:#f3f2ecf5;box-shadow:0 6px 30px #0b172b12;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.slide-navigation .progress{width:220px;gap:8px}
.slide-navigation .progress button{height:5px;min-width:0}
.slide-navigation .nav-arrow{width:43px;height:43px;font-size:27px;background:none}
.slide-counter{font-size:19px;gap:8px;min-width:66px}
.help-button{position:static;flex:none;font-size:20px;width:34px;height:34px}
.chrome-visible .masthead,.keyboard-navigation .masthead:focus-within{opacity:1;transform:translateY(0)}
.chrome-visible .masthead .tools,.keyboard-navigation .masthead:focus-within .tools{pointer-events:auto}
.chrome-visible .slide-navigation,.keyboard-navigation .slide-navigation:focus-within{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.menu-toggle{position:absolute;left:24px;top:25px;z-index:31;width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:#f3f2ecdd;color:#122033;box-shadow:0 4px 20px #0b172b10}
.menu-toggle svg{width:24px;height:24px}
.sidebar{position:absolute;inset:0 auto 0 0;width:360px;height:900px;z-index:30;padding:99px 23px 28px;transform:translateX(-102%);transition:transform .28s ease;visibility:hidden}
.sidebar .brand{padding-left:14px}.sidebar .brand-sub{display:none}
.sidebar .rail-heading{font-size:21px;margin-top:12px}
.sidebar .capabilities{height:590px;gap:10px}
.sidebar .capability{min-height:64px;padding:14px 11px;grid-template-columns:28px 1fr 20px}
.sidebar .capability .nav-name{font-size:27px;line-height:1.2}
.sidebar .sidebar-grid{display:none}
.menu-open .sidebar{transform:translateX(0);visibility:visible}
.menu-open .menu-toggle{background:#e5ecff}
.menu-scrim{position:absolute;inset:0;background:#07132666;z-index:29;opacity:0;visibility:hidden;transition:opacity .25s}
.menu-open .menu-scrim{opacity:1;visibility:visible}
.scene-wipe{display:block;position:absolute;inset:0;width:1600px;height:900px;z-index:20;pointer-events:none;background:#275df2;transform:translateX(-101%);overflow:hidden}
.scene-wipe i{display:none}
.scene-wipe:after{content:'';position:absolute;left:0;top:0;height:100%;width:9px;background:#b2c6ff}
.intro-title{position:absolute;left:100px;top:254px;z-index:2}
.intro-title h1{font-size:180px;line-height:1.08;letter-spacing:-12px}
.intro-title h1 span{color:var(--blue)}
.intro-title p{font-size:54px;letter-spacing:-1.8px;margin-top:31px;font-weight:550}
.team-network{position:absolute;right:-29px;top:97px;width:710px;height:710px;color:var(--blue)}
.team-network svg{width:100%;height:100%;overflow:visible}
.network-ring{stroke:#b1c2e7;stroke-width:1.5;transform-origin:350px 350px}
.ring-a{stroke-dasharray:4 13;animation:network-spin 70s linear infinite}
.ring-b{stroke-dasharray:115 26;animation:network-spin 45s linear infinite reverse}
.network-lines{stroke:#275df232;stroke-width:2}
.network-core{fill:#275df2;stroke:#fff;stroke-width:2;transform-origin:350px 350px;animation:core-float 7s ease-in-out infinite alternate}
.network-nodes{fill:var(--paper);stroke:var(--blue);stroke-width:5}
.network-nodes circle:nth-child(2n){fill:#ffc478;stroke:none}
.network-signal{fill:var(--blue);animation:signal-orbit 14s linear infinite;transform-origin:350px 350px}
.results-a h2{font-size:92px}
.result-triptych{display:grid;grid-template-columns:270px 1fr 270px;gap:32px;align-items:center;margin-top:82px}
.award{text-align:center;align-self:center}
.award strong{display:block;font-size:230px;letter-spacing:-14px;line-height:1;color:var(--blue);margin-bottom:23px}
.award-gold strong{color:#c88a32}
.award h3{font-size:41px;letter-spacing:-1.8px}
.award p{font-size:36px;margin-top:13px;line-height:1.25;color:#667383;letter-spacing:-1px}
.team-photo-full{display:block;width:100%;height:448px;padding:0;background:none;overflow:clip;border-radius:12px;box-shadow:0 20px 60px #17284413}
.team-photo-full img{width:100%;height:100%;display:block;object-fit:contain;background:#e6e6df}
.demos-a{background:#101c2f;color:white}
.demos-a h2{font-size:90px}
.scene.video h2{font-size:72px;max-width:1420px}
.demo-tabs{position:absolute;right:87px;top:123px;display:flex;gap:20px}
.demo-tabs button{font-size:34px;font-weight:650;padding:12px 19px;letter-spacing:-1px;background:#ffffff09;color:#a7b6cd;border:1px solid #ffffff20;border-radius:12px}
.demo-tabs button[aria-selected=true]{background:#ffc478;color:#17273b;border-color:#ffc478}
.demo-pane{position:absolute;left:233px;right:233px;top:252px;bottom:63px}
.demo-pane[hidden]{display:none}
.demo-pane .video-box{height:100%;width:100%;border-radius:18px;box-shadow:0 22px 65px #0003}
.video-play{inset:0 0 58px;gap:0;background:none;font-size:30px}
.video-play .play-disc{width:110px;height:110px;font-size:34px;border-color:#ffffff88;box-shadow:0 0 0 15px #ffffff18}
.video-expand{top:15px;right:15px;width:54px;height:54px}
.video-box:fullscreen{width:100vw;height:100vh;border-radius:0}
.video-box:fullscreen .video-expand{position:fixed;right:25px;top:20px}
.engineering-a h2{font-size:92px}
.engineering-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:85px}
.engineering-card{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e8efff;background:#ffffff05;border:1px solid #ffffff1c;border-radius:25px;padding:20px 18px 42px;min-width:0;height:468px}
button.engineering-card:hover{border-color:#91afff;background:#ffffff0a}
.engineering-card .infographic{width:360px;height:300px;margin-bottom:34px}
.infographic svg{height:100%;width:100%}
.infographic svg,.device-graphic svg,.brand-case svg{stroke-width:5;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke:currentColor}
.engineering-card h3{font-size:44px;letter-spacing:-1.5px;white-space:nowrap}
.engineering-card h3 i{font-size:38px;color:#ffc478;margin-left:9px}
.trace-path{stroke-dasharray:80 1350;animation:trace-part 8s linear infinite}
.cube-front{animation:cube-lift 6s ease-in-out infinite alternate}
.cube-back{opacity:.35}
.model-dot{animation:model-pulse 3s ease-in-out infinite alternate;transform-origin:200px 139px}
.chart-trace{stroke-dasharray:70 300;animation:chart-stream 5s linear infinite}
.field-a{background:#edf2ed}
.field-a h2 span{color:#327660}
.field-workflow{display:grid;grid-template-columns:1fr 330px 1fr;gap:24px;align-items:center;margin-top:69px}
.field-device{display:flex;flex-direction:column;align-items:center;background:none;color:#234a40;padding:0;border-radius:24px}
.device-graphic{width:440px;height:370px}
.device-graphic svg{width:100%;height:100%}
.field-device h3{font-size:53px;margin-top:26px}
.field-device h3 i{font-size:39px;opacity:.65}
.field-device:hover .device-graphic{color:#338a6e}
.sync-graphic{width:330px;margin-top:-72px}
.sync-graphic svg{width:100%;stroke:#568d77;stroke-width:5;stroke-linecap:round}
.sync-graphic circle{fill:#327660;stroke:none}
.sync-dot-a{animation:sync-a 3.5s ease-in-out infinite}
.sync-dot-b{animation:sync-b 3.5s ease-in-out infinite}
.field-pin{animation:model-pulse 3s infinite alternate ease-in-out;transform-origin:264px 207px}
.office-dot{animation:model-pulse 3s infinite alternate ease-in-out;transform-origin:333px 115px}
.ai-a h2{font-size:96px}
.ai-workflow{display:grid;grid-template-columns:1fr 85px 1fr 85px 1fr;gap:24px;align-items:center;margin:57px 46px 0}
.ai-step{text-align:center;color:#b3caff}
.ai-step svg{width:100%;height:280px}
.ai-step h3{color:white;font-size:54px;margin-top:25px}
.big-arrow{font-size:85px;color:#ffc478;text-align:center;margin-top:-60px;animation:arrow-pulse 3s infinite}
.ai-bottom{margin-top:52px;border-top:1px solid #ffffff25;padding-top:31px;display:flex;align-items:center;justify-content:space-between}
.ai-bottom p{font-size:43px;color:#e6ecf6;font-weight:600;letter-spacing:-1.5px}
.ai-bottom button{background:#ffffff0a;color:#b3caff;border:1px solid #ffffff25;border-radius:12px;padding:13px 22px;font-size:34px;font-weight:600}
.ai-bottom button span{margin-left:10px;color:#ffc478}
.request-dot,.reply-dot{animation:model-pulse 4s infinite alternate ease-in-out;transform-box:fill-box;transform-origin:center}
.search-points circle{animation:dot-pop 2s infinite alternate}
.search-points circle:nth-child(2){animation-delay:-.6s}.search-points circle:nth-child(3){animation-delay:-1.2s}
.brands-a h2{font-size:91px}
.brand-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:84px}
.brand-case{text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:32px 31px;border-radius:25px;height:479px;overflow:clip}
.brand-case h3{font-size:43px;letter-spacing:-1.8px}
.brand-case svg{width:100%;height:270px;flex:none}
.brand-case p{font-size:49px;line-height:1.2;font-weight:700;letter-spacing:-1.5px;width:100%;display:flex;justify-content:space-between}
.brand-case p i{font-size:39px;opacity:.6}
.case-rostics{background:#f2dfd9;color:#922d2b}
.case-urban{background:#c5d9bd;color:#214c3c}
.case-auto{background:#dae4f7;color:#294e88}
button.brand-case:hover{filter:brightness(.97)}
.game-tilt{animation:game-rock 5s ease-in-out infinite alternate;transform-origin:center}
.game-star{animation:star-pulse 4s ease-in-out infinite alternate;transform-origin:199px 41px}
.ticket-tilt{animation:ticket-rock 6s ease-in-out infinite alternate;transform-origin:center}
.car-drive{animation:car-float 4s ease-in-out infinite alternate}
.road-lines{animation:road 2.5s linear infinite}
.partners-a h2{font-size:99px}
.partners-conveyor{position:absolute;left:0;right:0;top:296px;bottom:88px;display:flex;flex-direction:column;gap:35px}
.partners-row{overflow:clip;display:flex;position:relative;flex:1}
.partners-row:before,.partners-row:after{content:'';position:absolute;top:0;bottom:0;width:70px;z-index:2;pointer-events:none;background:linear-gradient(90deg,var(--paper),transparent)}
.partners-row:after{right:0;transform:rotate(180deg)}
.partners-track{display:flex;width:max-content;animation:partners-run 48s linear infinite}
.partners-row:nth-child(2) .partners-track{animation:partners-run 43s linear infinite reverse}
.partners-group{display:flex;gap:28px;padding-right:28px}
.large-client{width:348px;height:210px;border:1px solid #d9dcd6;border-radius:22px;background:#fbfbf7;display:grid;place-items:center;padding:35px;flex:none;color:#18304e}
.large-client img{width:auto;max-width:100%;height:auto;max-height:120px;object-fit:contain}
.large-client .white-logo{filter:brightness(0)}
.large-client span{font-size:45px;letter-spacing:-1.7px;font-weight:750;white-space:nowrap}
.large-client:hover{border-color:var(--blue)}
.closing-a{background:var(--blue);color:white}
.closing-copy{position:absolute;left:100px;top:185px;z-index:2}
.closing-copy h2{font-size:150px;line-height:1.08;letter-spacing:-8px}
.closing-copy h2 span{color:#ffc478}
.closing-copy>a{display:flex;align-items:center;gap:35px;font-size:52px;font-weight:650;letter-spacing:-1px;margin-top:57px;text-decoration:none}
.closing-copy>a span{color:#ffc478}
.closing-qr{position:absolute;width:386px;height:386px;top:275px;right:140px;padding:25px;background:#fff;border-radius:28px;z-index:2;box-shadow:0 20px 70px #0f2f8a35}
.closing-qr img{width:100%;height:100%;display:block}
.closing-orbit{position:absolute;width:700px;height:700px;top:120px;right:-20px;border:2px dashed #ffffff30;border-radius:50%;animation:network-spin 80s linear infinite}
.overview-modal{max-width:1150px}.overview-grid{grid-template-columns:repeat(3,1fr)}
.overview-tile{min-height:137px}.overview-tile b{font-size:28px}
.motion-paused *{animation-play-state:paused!important}
@keyframes network-spin{to{transform:rotate(360deg)}}
@keyframes core-float{to{transform:translateY(-14px)}}
@keyframes signal-orbit{to{transform:rotate(360deg)}}
@keyframes trace-part{to{stroke-dashoffset:-1430}}
@keyframes cube-lift{to{transform:translateY(22px)}}
@keyframes model-pulse{to{opacity:.5;transform:scale(.87)}}
@keyframes chart-stream{to{stroke-dashoffset:-370}}
@keyframes sync-a{0%{transform:translateX(0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(300px);opacity:0}}
@keyframes sync-b{0%{transform:translateX(0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(-300px);opacity:0}}
@keyframes dot-pop{to{opacity:.15}}
@keyframes game-rock{to{transform:rotate(4deg) translateY(-5px)}}
@keyframes ticket-rock{from{transform:rotate(-4deg)}to{transform:rotate(3deg) translateY(-8px)}}
@keyframes star-pulse{to{transform:scale(1.25) rotate(30deg)}}
@keyframes road{to{stroke-dashoffset:-63}}
@keyframes partners-run{to{transform:translateX(-50%)}}
@media(max-width:850px){.overview-grid{grid-template-columns:repeat(2,1fr)}.overview-tile{min-height:90px}.overview-tile b{font-size:20px}}
