/* 3.3.0: corporate white and navy across the whole site, with motion. Colours come from the wordmark. */
.corp-site{--navy:#0b263b;--blue:#075bbc;--sky:#19b5e8;--ink:#0b263b;--body:#3a4d5f;--soft:#5d7084;--rule:#dbe3ec;--wash:#f3f6fa;--primary:#075bbc;--ring:#075bbc}

/* chrome */
.scroll-progress{position:fixed;left:0;top:0;z-index:200;width:100%;height:3px;background:linear-gradient(90deg,#00aeda,#075bbc);transform:scaleX(0);transform-origin:left;pointer-events:none}
.corp-site .enterprise-header{transition:box-shadow .3s ease}
.corp-site .enterprise-header.is-scrolled{box-shadow:0 10px 40px #0b263b1f}
.corp-site .button{border-color:#075bbc;border-radius:6px;background:#075bbc;color:#fff;transition:background .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s}
.corp-site .button:hover{border-color:#0b263b;background:#0b263b;box-shadow:0 10px 26px #0b263b33;transform:translateY(-2px)}
.corp-site .button:active{transform:translateY(0)}
.corp-site .button.light{border-color:#fff;background:#fff;color:#0b263b}
.corp-site .button.light:hover{border-color:#19b5e8;background:#19b5e8;color:#04121f}
.corp-site .button.ent-demo{white-space:nowrap}
@media(max-width:600px){.corp-site .button.ent-demo{display:none}}
.corp-site.enterprise-site .home-hero.enterprise-home-hero{background:linear-gradient(118deg,#04121f 0%,#0b263b 52%,#0c3b6b 100%)}
.corp-site .closing{background:linear-gradient(118deg,#04121f 0%,#0b263b 55%,#0c3b6b 100%)}
.corp-site a:focus-visible,.corp-site button:focus-visible,.corp-site summary:focus-visible{outline:2px solid #075bbc;outline-offset:3px}

/* motion: content eases in once; product screens come alive */
.motion-ok [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.motion-ok [data-reveal].is-in{opacity:1;transform:none}
.corp-site .enterprise-card,.corp-site .link-cards>a,.corp-site .company-card{transition:opacity .8s ease,transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .25s}
.corp-site .enterprise-card:hover,.corp-site .link-cards>a:hover,.corp-site .company-card:hover{border-color:#b9cde2;box-shadow:0 26px 60px #0b263b24;transform:translateY(-6px)}
.motion-ok [data-live] .programme-bars i,.motion-ok [data-live] .verify-home-bar span{transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .2s}
.motion-ok [data-live].is-live .programme-bars i,.motion-ok [data-live].is-live .verify-home-bar span{transform:scaleX(1)}
.motion-ok [data-live] .programme-bars>div:nth-child(2) i{transition-delay:.34s}
.motion-ok [data-live] .programme-bars>div:nth-child(3) i{transition-delay:.48s}
.motion-ok [data-live] .exception,.motion-ok [data-live] .verify-home-card li,.motion-ok [data-live] .mock-metrics>div,.motion-ok [data-live] .mock-table tbody tr{opacity:0;transform:translateY(10px);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.motion-ok [data-live].is-live .exception,.motion-ok [data-live].is-live .verify-home-card li,.motion-ok [data-live].is-live .mock-metrics>div,.motion-ok [data-live].is-live .mock-table tbody tr{opacity:1;transform:none}
.motion-ok [data-live] .mock-metrics>div:nth-child(1){transition-delay:.15s}
.motion-ok [data-live] .mock-metrics>div:nth-child(2){transition-delay:.25s}
.motion-ok [data-live] .mock-metrics>div:nth-child(3){transition-delay:.35s}
.motion-ok [data-live] .mock-table tbody tr:nth-child(1){transition-delay:.5s}
.motion-ok [data-live] .mock-table tbody tr:nth-child(2){transition-delay:.65s}
.motion-ok [data-live] .mock-table tbody tr:nth-child(3){transition-delay:.8s}
.motion-ok [data-live] .mock-table tbody tr:nth-child(4){transition-delay:.95s}
.motion-ok [data-live] .exception{transition-delay:1.2s}
.motion-ok [data-live] .verify-home-card li:nth-child(1){transition-delay:.85s}
.motion-ok [data-live] .verify-home-card li:nth-child(2){transition-delay:1.05s}
.motion-ok [data-live] .verify-home-card li:nth-child(3){transition-delay:1.25s}
.motion-ok [data-live] .network-map .route-line{stroke-dasharray:460;stroke-dashoffset:460;transition:stroke-dashoffset 1.7s cubic-bezier(.45,.05,.25,1) .25s}
.motion-ok [data-live].is-live .network-map .route-line{stroke-dashoffset:0}

/* 3D viewports, shared by the homepage and the product pages */
.view3d,.cad-view{margin:0;border-radius:14px;background:#06182a;overflow:hidden;box-shadow:0 40px 110px #0b263b59,0 0 0 1px #0b263b}
.view3d-bar,.cad-view-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#0b263b;color:#dbeafe;font-size:12.5px;font-weight:700}
.view3d-bar span:last-child,.cad-view-bar span:last-child{padding:3px 10px;border-radius:4px;background:#19b5e826;color:#8fd4f5}
.view3d canvas,.cad-3d{display:block;width:100%;cursor:grab;touch-action:pan-y;background:radial-gradient(120% 90% at 50% 40%,#0d2c49 0%,#06182a 70%)}
.view3d canvas.is-dragging,.cad-3d.is-dragging{cursor:grabbing}
.view3d figcaption,.cad-view figcaption{padding:11px 18px;border-top:1px solid #ffffff1a;color:#9fb6cf;font-size:12.5px}
.cad-3d{height:min(560px,62vh)}
.scene-band{padding:16px 0 88px;background:#fff}
.scene-band .view3d{max-width:1120px;margin:0 auto}
.scene-band .view3d canvas{height:min(520px,58vh)}
.scene-band.is-narrow .view3d{max-width:820px}
.scene-band.is-narrow .view3d canvas{height:440px}
.cadscene{background:#fff}
.cadscene-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:72px;align-items:center;padding-top:88px;padding-bottom:88px}
.cadscene h2{margin:14px 0 0;color:#0b263b;font-size:clamp(32px,3.4vw,50px);font-weight:700;line-height:1.08;letter-spacing:-.035em}
.cadscene-copy>p:not(.company-status){max-width:520px;margin:18px 0 0;color:#3a4d5f;font-size:17px;line-height:1.7}
.cad-steps{margin:28px 0 0;padding:0;list-style:none;border-top:1px solid #dbe3ec}
.cad-steps li{position:relative;padding:16px 0 16px 30px;border-bottom:1px solid #dbe3ec;opacity:.38;transition:opacity .4s ease}
.cad-steps li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#00aeda,#075bbc);transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.cad-steps li.is-on{opacity:1}
.cad-steps li.is-on::before{transform:scaleY(1)}
.cad-steps b{display:block;color:#0b263b;font-size:18px}
.cad-steps span{display:block;margin-top:3px;color:#3a4d5f;font-size:15px;line-height:1.55}
@media(max-width:1000px){
.cadscene-grid{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:64px;padding-bottom:64px}
.cad-3d{height:380px}
.scene-band .view3d canvas,.scene-band.is-narrow .view3d canvas{height:340px}
.scene-band{padding-bottom:64px}
}
