:root{--motion-ease:cubic-bezier(.2,.65,.3,1)}
/* Controls keep their geometry. Only light, colour and the arrow move. */
.button,.button.dark,.nav-cta,.contact-orb{position:relative;isolation:isolate;overflow:hidden;transition:box-shadow .65s var(--motion-ease),border-color .65s,color .65s,background-color .65s;transform:none}
.button.dark{background:#3277e3;box-shadow:0 5px 25px #1b5ac025}.button.dark:hover{background:#3277e3;transform:none;box-shadow:0 6px 32px #3b8bff40}.button:before,.nav-cta:before{content:'';position:absolute;inset:-1px;z-index:-1;background:linear-gradient(110deg,#8bc7ff33,#9ac9ff09);transform:translateX(-101%);transition:transform .7s var(--motion-ease)}.button:hover:before,.nav-cta:hover:before{transform:translateX(0)}.button>span,.nav-cta>span,.text-link>span{display:inline-block;transition:transform .65s var(--motion-ease)}.button:hover>span,.nav-cta:hover>span,.text-link:hover>span{transform:translate(3px,-3px)}.button:active{transform:scale(.99)}.nav-cta:hover{background:#ffffff04;border-color:#729ddd88}.contact-orb{transition:box-shadow .75s,border-color .75s,background-color .75s}.contact-orb:hover{transform:none;background:linear-gradient(135deg,#357ce8,#254ca1);box-shadow:0 0 70px #408cff40;border-color:#b4d6ff}.contact-orb>span{transition:transform .7s var(--motion-ease)}.contact-orb:hover>span{transform:translate(4px,-4px)}
.service-row{position:relative;isolation:isolate;transition:border-color .7s,background-color .7s;padding:31px 4px}.service-row:hover{padding:31px 4px;background:transparent}.service-row:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg,#377bda1c,transparent 85%);opacity:0;transition:opacity .75s var(--motion-ease)}.service-row:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,#80b9ff,#4581d7 35%,transparent 90%);transform:scaleX(0);transform-origin:left;transition:transform .85s var(--motion-ease)}.service-row:hover:before{opacity:1}.service-row:hover:after{transform:scaleX(1)}.service-row h3{transition:color .65s}.service-row:hover h3{color:#a8ccff}.service-row .row-arrow{background:none;border-radius:0;transition:color .65s,transform .75s var(--motion-ease)}.service-row:hover .row-arrow{background:none;transform:translate(5px,-5px);color:#c0deff}.service-row .service-tags span{transition:border-color .7s,color .7s}.service-row:hover .service-tags span{border-color:#6b9cd94d;color:#b4cff5}.demo-controls button{transition:color .65s,border-color .65s}.demo-controls button b{transition:opacity .65s,transform .65s var(--motion-ease)}.demo-controls button:hover{color:#b8d5ff}.demo-panel{transition:transform .7s var(--motion-ease)}#demo-content{animation-duration:.65s}.header nav a{transition:color .55s}.text-link{transition:color .55s}.text-link:hover{color:#edf6ff}.motion-ready .reveal{filter:none;transform:translate3d(0,35px,0);transition:opacity 1.1s,transform 1.1s var(--motion-ease)}
.cinema{height:480vh;position:relative;background:#050b17}.cinema-sticky{height:100vh;min-height:560px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 65% 50%,#102c5222,#050b17 70%)}#journey-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.cinema-vignette{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#050b1722,transparent 20%,transparent 80%,#050b17aa);pointer-events:none}.cinema-topline{position:absolute;top:35px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:7px;letter-spacing:1.7px;color:#5f7c9f}.cinema-title{position:absolute;left:8%;top:50%;transform:translateY(-50%);z-index:5;width:52%;will-change:transform,opacity}.cinema-title h1{font-size:clamp(45px,5.3vw,85px);line-height:1.08;letter-spacing:-.06em;margin:25px 0}.cinema-title h1>span{color:#7aafff}.cinema-title p{font-size:13px;line-height:1.9;color:#8ca6c7;margin-bottom:27px}.cinema-title>.eyebrow{font-size:8px}.journey-caption{position:absolute;left:8%;top:50%;transform:translateY(-50%);max-width:650px;opacity:0;pointer-events:none;will-change:transform,opacity}.journey-caption h2{font-size:clamp(46px,6.5vw,100px);line-height:1.06;letter-spacing:-.06em;margin:23px 0}.journey-caption h2 span{color:#80b9ff}.journey-caption p{font-size:13px;color:#9cb7d7;line-height:1.95}.caption-one{left:8%}.caption-two{left:auto;right:8%;text-align:right}.caption-two .eyebrow{justify-content:flex-end}.caption-three{left:6%;max-width:45%;z-index:4}.caption-three h2{font-size:clamp(43px,5.4vw,80px)}.caption-three .text-link{margin-top:25px}.assembly-board{position:absolute;left:62%;top:47%;width:min(55vw,780px);aspect-ratio:1.5;background:linear-gradient(135deg,#16263f,#091427);border:1px solid #90bbf84d;border-radius:10px;box-shadow:0 40px 120px #0009,0 0 80px #276fce22;opacity:0;will-change:transform,opacity;overflow:hidden;pointer-events:none}.assembly-top{padding:17px 22px;display:flex;justify-content:space-between;gap:15px;font-size:6px;letter-spacing:1px;color:#86a8d1;border-bottom:1px solid #739acc26}.assembly-main{display:grid;grid-template-columns:25% 1fr;min-height:calc(100% - 75px)}.assembly-sidebar{padding:24px 20px;display:flex;flex-direction:column;gap:19px;background:#06102140;border-right:1px solid #7594bf15}.assembly-sidebar strong{font-size:16px;letter-spacing:-.5px;line-height:1.3;font-weight:500;margin-bottom:12px}.assembly-sidebar>span{font-size:7px;color:#6b8eb9}.assembly-sidebar>span:first-of-type{color:#a7cbff}.assembly-content{padding:25px}.assembly-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:14px;letter-spacing:-.4px}.assembly-heading small{font-size:5px;letter-spacing:.8px;color:#6a8aaf}.assembly-metrics{display:flex;gap:10px;margin-top:22px}.assembly-metrics>div{padding:12px;background:#477ed00c;border:1px solid #85b5ff20;flex:1}.assembly-metrics span{font-size:5px;letter-spacing:.7px;color:#6f92bd}.assembly-metrics b{display:block;margin-top:7px;font-size:28px;font-weight:500}.assembly-metrics b small{font-size:12px;color:#6386b3;margin-left:4px}.assembly-chart{width:100%;height:100px;margin-top:20px;overflow:visible}.assembly-table{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:13px 10px;padding:15px 0 0;border-top:1px solid #83a4d529;font-size:6px;margin-top:10px}.assembly-table>span{font-size:5px;letter-spacing:1px;color:#6888b0}.assembly-table b{font-weight:400;color:#94b6df}.assembly-footer{padding:12px 22px;border-top:1px solid #88b1e72b;display:flex;justify-content:space-between;font-size:5px;letter-spacing:1px;color:#587ca7}.assembly-satellite{position:absolute;left:60%;top:50%;width:170px;padding:20px;background:linear-gradient(145deg,#172b48,#0b172c);border:1px solid #6f9edf55;border-radius:9px;box-shadow:0 20px 70px #0007;opacity:0;pointer-events:none;will-change:transform,opacity}.assembly-satellite>span{display:block;font-size:28px;color:#84bcff;margin-bottom:15px}.assembly-satellite strong{font-size:13px;font-weight:500;display:block}.assembly-satellite small{font-size:9px;color:#7b9cc2;display:block;margin-top:8px}.assembly-satellite i{font-size:5px;color:#83b9ff;letter-spacing:1.5px;font-style:normal;display:block;margin-top:20px}.cinema-bottom{position:absolute;bottom:32px;left:6%;right:6%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:7px;letter-spacing:1.5px;color:#7391b6}.journey-scroll{display:flex;align-items:center;gap:12px}.scroll-line{height:30px;width:1px;background:linear-gradient(#82bfff,transparent);display:inline-block}.journey-chapters{display:flex;gap:27px}.journey-chapters span{opacity:.35;transition:opacity .8s,color .8s}.journey-chapters span.active{opacity:1;color:#b6d8ff}.journey-percentage{font-size:7px;color:#86abd8}.business-story{height:auto!important}.business-sticky{position:relative;min-height:800px;padding-top:100px;padding-bottom:100px}.story-step,.network-node{opacity:1}.system-stage{transform:none}.network-orbit{transform:translate(-50%,-50%) rotate(30deg)}
@media(max-width:1100px){.assembly-content{padding:18px}.assembly-sidebar{padding:18px 13px}.assembly-top{font-size:5px;padding:13px 16px}.assembly-sidebar strong{font-size:12px}.assembly-sidebar>span{font-size:6px}.assembly-heading{font-size:11px}.assembly-metrics{margin-top:16px}.assembly-metrics>div{padding:8px}.assembly-metrics b{font-size:22px}.assembly-chart{height:80px}.assembly-table{gap:10px;font-size:5px}.assembly-metrics span{font-size:4px}.assembly-satellite{width:140px;padding:16px}.assembly-satellite strong{font-size:11px}.assembly-satellite small{font-size:7px}}
@media(max-width:800px){.cinema{height:460vh}.cinema-sticky{min-height:600px}.cinema-topline{top:25px;font-size:5px;letter-spacing:1px}.cinema-topline>span:last-child{display:none}.cinema-title{left:7%;top:31%;width:86%}.cinema-title h1{font-size:clamp(39px,7.8vw,65px);margin:18px 0}.cinema-title p{font-size:11px;line-height:1.8;max-width:330px;margin-bottom:20px}.cinema-title>.eyebrow{font-size:6px}.cinema-title .button{font-size:10px;padding:14px 18px}.journey-caption{max-width:90%;left:7%;top:36%}.journey-caption h2{font-size:clamp(40px,7.7vw,70px)}.journey-caption p{font-size:11px}.caption-two{right:7%;left:auto;top:35%}.caption-three{left:7%;top:24%;max-width:86%;text-align:left}.caption-three h2{font-size:45px;margin:17px 0}.caption-three h2 br{display:none}.caption-three p{font-size:10px}.caption-three>.text-link{margin-top:15px;font-size:10px}.assembly-board{width:84vw;left:50%;top:61%;aspect-ratio:1.5}.assembly-top{font-size:4px;padding:10px}.assembly-top>span:last-child{font-size:3px;letter-spacing:.4px}.assembly-main{grid-template-columns:23% 1fr;min-height:calc(100% - 50px)}.assembly-sidebar{padding:14px 10px;gap:14px}.assembly-sidebar strong{font-size:10px;margin-bottom:4px}.assembly-sidebar>span{font-size:5px}.assembly-content{padding:13px}.assembly-heading{font-size:10px;gap:5px}.assembly-heading small{font-size:3px}.assembly-metrics{gap:5px;margin-top:12px}.assembly-metrics>div{padding:7px}.assembly-metrics b{font-size:19px}.assembly-metrics span{font-size:3px;letter-spacing:.3px}.assembly-chart{height:60px;margin-top:12px}.assembly-table{margin-top:5px;padding-top:10px;gap:8px;font-size:4px}.assembly-table>span{font-size:3px}.assembly-footer{padding:8px 10px;font-size:3px;letter-spacing:.5px}.assembly-satellite{width:110px;padding:13px;left:50%;top:62%}.assembly-satellite>span{font-size:20px;margin-bottom:10px}.assembly-satellite strong{font-size:9px}.assembly-satellite small{font-size:6px}.assembly-satellite i{font-size:4px;margin-top:12px}.cinema-bottom{bottom:24px;font-size:5px;gap:15px;letter-spacing:.7px}.journey-chapters{gap:12px;font-size:5px}.journey-percentage{display:none}.scroll-line{height:23px}.business-sticky{min-height:auto;padding:75px 0}.service-row,.service-row:hover{padding:27px 0}.story-step p{display:block;font-size:9px}.caption-one{top:35%}}
@media(max-width:480px){.cinema-title h1{font-size:clamp(34px,9.7vw,45px)}.cinema-title{top:29%}.cinema-title p{font-size:10px}.cinema-topline{font-size:4px}.journey-caption h2{font-size:39px}.journey-caption .eyebrow{font-size:6px;letter-spacing:1px}.journey-caption p{font-size:10px}.caption-three h2{font-size:36px}.caption-three{top:25%}.assembly-board{width:88vw;top:62%;aspect-ratio:1.4}.assembly-sidebar strong{font-size:8px}.assembly-heading{font-size:9px}.assembly-sidebar{gap:12px}.assembly-content{padding:11px}.assembly-metrics b{font-size:16px}.assembly-chart{height:52px}.assembly-table{gap:7px}.cinema-bottom{font-size:4px}.journey-chapters{gap:9px;font-size:4px;letter-spacing:.5px}.service-row,.service-row:hover{padding:27px 0}}
@media(prefers-reduced-motion:reduce){.cinema{height:auto}.cinema-sticky{position:relative;height:850px;min-height:0}.cinema-title{opacity:1!important;transform:translateY(-50%)!important}.journey-caption,.assembly-board,.assembly-satellite{display:none!important}.cinema-bottom{display:none}.cinema-title{top:32%}.service-row,.button,.nav-cta,.row-arrow,.contact-orb{transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.cinema-title .button{transition:none}.cinema-title{width:84%}}
.header{position:absolute;top:0;left:6%;right:6%;width:auto;max-width:none;margin:0;z-index:20}.cinema-topline{top:123px}.cinema-title{top:48%}.cinema-title h1{font-weight:500}.scroll-cue{display:none}@media(max-width:800px){.cinema-topline{top:112px}.cinema-title{top:31%}}@media(max-width:480px){.cinema-topline{top:106px}.cinema-title{top:30%}}@media(prefers-reduced-motion:reduce){.cinema-title{top:32%}}
@media(max-width:800px){.caption-three h2 br{display:block}.caption-three h2{line-height:1.12}}
