/* Compact mobile hero: keep the message, actions and animated visual together. */
@media(max-width:767px){body .hero{height:auto;min-height:720px;padding:82px 0 58px}body .hero .row{position:relative}body .hero .hero-copy{padding:0 4px}body .hero h1{font-size:clamp(2.65rem,12vw,3.35rem);line-height:1.02;margin-bottom:18px}body .hero .hero-text{font-size:.91rem;line-height:1.58;margin-bottom:12px}body .hero .mobile-hero-actions{position:relative!important;z-index:8;order:5;flex:0 0 100%;width:100%;justify-content:center;align-items:center;gap:12px!important;margin:0;padding-top:6px}body .hero .primary-btn,body .hero .text-btn{padding-top:12px;padding-bottom:12px;white-space:nowrap}body .hero .visual-column{margin-top:4px;height:280px;display:flex;align-items:center;justify-content:center}body .hero .agile-orbit,body .hero .cloud-scene,body .hero .ai-scene{transform:scale(.62);transform-origin:center;margin:-70px auto}body .hero .hero-indicators{bottom:11px}.site-nav{padding:10px 0}.site-nav .navbar-toggler{padding:4px}.site-nav .navbar-collapse{padding:12px 0}.site-nav .nav-link{padding:10px 0}.site-nav .nav-cta{margin-top:6px;width:max-content}}

/* Shared nav/footer and support pages */
footer{padding:55px 0 18px!important}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 100px;gap:30px}.footer-brand{color:#fff;text-decoration:none;display:inline-block;margin-bottom:12px}.footer-grid p{font-size:.75rem;color:#a9b1c7;max-width:240px;line-height:1.65}.footer-grid h3{font:500 .65rem "DM Mono",monospace;text-transform:uppercase;color:var(--lime);letter-spacing:.1em}.footer-grid a:not(.brand){display:block;color:#b7bed1;font-size:.76rem;text-decoration:none;margin:9px 0}.footer-grid a:not(.brand):hover{color:var(--lime)}.footer-orbit{width:90px;height:90px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;animation:spin 12s linear infinite}.footer-orbit b{width:34px;height:34px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font:700 1.3rem Georgia}.footer-bottom{margin-top:34px;padding-top:17px;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;color:#8992aa;font:400 .6rem "DM Mono",monospace}.services-page,.contact-page,.legal-page{background:#f6f7f1}.services-hero,.contact-hero,.legal-hero{background:var(--ink);color:#fff;padding:94px 0 80px}.services-hero h1,.contact-hero h1,.legal-hero h1{font-size:clamp(3rem,6vw,6rem);line-height:.95;letter-spacing:-.08em;font-weight:800;margin:0 0 22px}.services-hero h1 em,.contact-hero h1 em{font:400 1em Georgia}.services-hero p:not(.eyebrow),.contact-hero p:not(.eyebrow){max-width:610px;line-height:1.75;color:#b9c1d5}.service-list{padding:70px 0}.service-list article{display:grid;grid-template-columns:80px 1.25fr 1fr auto;gap:25px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}.service-number{font:400 .7rem "DM Mono",monospace;color:#7356e5}.service-list i{color:#7356e5;font-size:1.45rem}.service-list h2{font-size:1.35rem;letter-spacing:-.05em;font-weight:800;margin:9px 0 0}.service-list p{font-size:.82rem;line-height:1.65;color:#646a79;margin:0}.service-list a{font-size:.73rem;white-space:nowrap;color:var(--ink);font-weight:800;text-decoration:none}.service-cta{background:var(--lime);padding:75px 0}.service-cta h2{font-size:clamp(2.6rem,5vw,5rem);letter-spacing:-.08em;font-weight:800;margin:0 0 28px}.service-cta .primary-btn{background:var(--ink);color:#fff}.contact-content{padding:85px 0}.contact-content h2{font-size:clamp(2.4rem,4vw,4rem);letter-spacing:-.07em;font-weight:800}.contact-email{font-size:1rem;font-weight:800;color:#6045d4;text-decoration:none;border-bottom:2px solid;padding-bottom:4px;display:inline-block;margin:12px 0 30px}.contact-points{display:flex;flex-direction:column;gap:10px;font-size:.78rem}.contact-points i{color:#7656e8;margin-right:7px}.contact-form{background:#e7e9e2;padding:30px;display:grid;gap:18px}.contact-form label{font-size:.7rem;font-weight:800}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #b9bdaf;background:transparent;padding:9px 0;outline:0;font:400 .83rem Manrope;resize:vertical}.contact-form .primary-btn{border:0;width:max-content}.legal-hero{padding-bottom:58px}.legal-hero h1{font-size:clamp(3rem,5vw,5rem)}.legal-hero p:not(.eyebrow){font:400 .72rem "DM Mono",monospace;color:#abb3c7}.legal-content{padding:75px 0 105px;max-width:800px}.legal-content>p:first-child{font-size:1.23rem;line-height:1.65}.legal-content h2{font-size:1.4rem;letter-spacing:-.04em;font-weight:800;margin:39px 0 10px}.legal-content p{font-size:.88rem;line-height:1.8;color:#5d6374}.legal-content a{color:#6045d4}@media(max-width:767px){.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-orbit{display:none}.footer-bottom{display:block;line-height:2}.service-list article{grid-template-columns:45px 1fr;gap:15px}.service-list article>p,.service-list article>a{grid-column:2}.contact-content{padding:60px 0}.legal-content{padding:55px 20px 75px}.contact-form{padding:24px}.services-hero,.contact-hero,.legal-hero{padding:76px 0 58px}}

.legal-page .legal-hero .container,.legal-page .legal-content{margin-left:auto;margin-right:auto;text-align:center}.legal-page .legal-content{max-width:800px}.legal-page .legal-content h2,.legal-page .legal-content p{margin-left:auto;margin-right:auto}

:root {
    --ink: #10142b;
    --paper: #f6f7f1;
    --lime: #d9ff62;
    --blue: #5989ff;
    --violet: #9568ff;
    --cyan: #50dbff;
    --line: rgba(16, 20, 43, .14)
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: var(--paper);
    font-family: Manrope, Arial, sans-serif;
    color: var(--ink);
    overflow-x: hidden
}

.page-noise {
    position: fixed;
    inset: 0;
    z-index: 20;
    pointer-events: none;
    opacity: .035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")
}

.site-nav {
    padding: 20px 0;
    transition: .35s ease
}

.site-nav.scrolled {
    background: rgba(16, 20, 43, .9);
    backdrop-filter: blur(18px);
    padding: 12px 0
}

.brand {
    font-size: 1.38rem;
    font-weight: 800;
    letter-spacing: -1.3px
}

.brand>span:last-child {
    color: var(--lime)
}

.brand-mark {
    width: 30px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    margin-right: 7px;
    vertical-align: -3px
}

.brand-mark i {
    display: block;
    width: 6px;
    background: var(--lime);
    border-radius: 5px;
    animation: brandBars 1.4s ease-in-out infinite
}

.brand-mark i:nth-child(1) {
    height: 12px
}

.brand-mark i:nth-child(2) {
    height: 23px;
    animation-delay: .15s
}

.brand-mark i:nth-child(3) {
    height: 16px;
    animation-delay: .3s
}

@keyframes brandBars {
    50% {
        transform: scaleY(.45)
    }
}

.nav-link {
    font-size: .84rem;
    color: #e5e8f3 !important;
    font-weight: 600
}

.nav-cta {
    display: inline-block;
    padding: 10px 15px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 99px;
    color: #fff;
    text-decoration: none;
    font-size: .8rem;
    font-weight: 700
}

.nav-cta i {
    color: var(--lime);
    margin-left: 5px
}

.hero {
    height: min(830px, 100vh);
    min-height: 650px;
    background: var(--ink);
    color: #fff;
    position: relative
}

.hero-slide:before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 45%, rgba(67, 112, 255, .15), transparent 34%)
}

.cloud-slide:before {
    background: radial-gradient(circle at 82% 48%, rgba(55, 219, 244, .18), transparent 35%)
}

.ai-slide:before {
    background: radial-gradient(circle at 81% 48%, rgba(174, 88, 255, .19), transparent 36%)
}

.hero-copy {
    position: relative;
    z-index: 2
}

.eyebrow {
    font-family: "DM Mono", monospace;
    text-transform: uppercase;
    font-size: .7rem;
    letter-spacing: .1em;
    color: #a7aec7;
    margin-bottom: 20px
}

.eyebrow span {
    color: var(--lime);
    margin-right: 8px
}

.hero h1,
.section-intro h2,
.process h2,
.contact h2 {
    font-size: clamp(3.1rem, 5.4vw, 5.65rem);
    line-height: .98;
    letter-spacing: -.07em;
    font-weight: 800;
    margin: 0 0 26px
}

.hero h1 em,
.section-intro h2 em,
.process h2 em,
.contact h2 em {
    font-family: Georgia, serif;
    font-weight: 400;
    letter-spacing: -.08em
}

.hero-text {
    max-width: 510px;
    color: #b5bdd2;
    line-height: 1.7;
    font-size: 1rem;
    margin-bottom: 33px
}

.primary-btn {
    padding: 15px 20px;
    border-radius: 3px;
    background: var(--lime);
    color: var(--ink);
    font-size: .83rem;
    font-weight: 800;
    text-decoration: none;
    transition: .25s
}

.primary-btn:hover {
    color: var(--ink);
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(217, 255, 98, .23)
}

.primary-btn i {
    margin-left: 9px
}

.text-btn {
    padding: 15px 5px;
    color: #fff;
    text-decoration: none;
    font-size: .83rem;
    font-weight: 700
}

.text-btn i {
    font-size: .65rem;
    margin-left: 6px;
    color: var(--lime)
}

.visual-column {
    position: relative;
    z-index: 1
}

.agile-orbit,
.cloud-scene,
.ai-scene {
    width: 450px;
    height: 450px;
    margin: auto;
    position: relative
}

.orbit {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.orbit-one {
    width: 330px;
    height: 330px;
    animation: spin 19s linear infinite
}

.orbit-two {
    width: 430px;
    height: 260px;
    transform: translate(-50%, -50%) rotate(55deg);
    border-color: rgba(217, 255, 98, .3);
    animation: spinAlt 15s linear infinite
}

.orbit-core {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #98b0ff, #405de5);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    box-shadow: 0 0 0 18px rgba(89, 137, 255, .08), 0 0 60px rgba(89, 137, 255, .5)
}

.orbit-core span {
    font-family: "DM Mono";
    font-size: .62rem;
    letter-spacing: .12em
}

.orbit-core strong {
    font-size: 3.5rem;
    line-height: .7;
    font-weight: 400
}

.orbit-node {
    position: absolute;
    width: 79px;
    height: 79px;
    background: #1a2145;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-shadow: 0 12px 25px rgba(0, 0, 0, .25);
    animation: float 3.3s ease-in-out infinite
}

.orbit-node i {
    font-size: 1.25rem;
    color: var(--lime)
}

.orbit-node b {
    font-size: .6rem;
    text-transform: uppercase;
    letter-spacing: .08em
}

.node-plan {
    left: 17px;
    top: 61px;
    animation-delay: .3s
}

.node-build {
    right: 11px;
    top: 70px;
    animation-delay: 1.2s
}

.node-test {
    right: 38px;
    bottom: 35px;
    animation-delay: .7s
}

.node-launch {
    left: 40px;
    bottom: 30px;
    animation-delay: 1.6s
}

.orbit-pulse {
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--lime);
    left: 52px;
    top: 204px;
    box-shadow: 0 0 0 0 rgba(217, 255, 98, .6);
    animation: pulse 2s infinite
}

@keyframes spin {
    to {
        transform: translate(-50%, -50%) rotate(360deg)
    }
}

@keyframes spinAlt {
    to {
        transform: translate(-50%, -50%) rotate(415deg)
    }
}

@keyframes float {
    50% {
        transform: translateY(-13px)
    }
}

@keyframes pulse {
    70% {
        box-shadow: 0 0 0 18px rgba(217, 255, 98, 0)
    }

    100% {
        box-shadow: 0 0 0 0 rgba(217, 255, 98, 0)
    }
}

.cloud-ring {
    position: absolute;
    inset: 32px;
    border: 1px dashed rgba(80, 219, 255, .45);
    border-radius: 50%;
    animation: spin 22s linear infinite
}

.cloud-main {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 182px;
    height: 142px;
    border-radius: 47% 47% 35% 35%;
    background: linear-gradient(145deg, #477ee4, #6ee1f4);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 65px rgba(80, 219, 255, .5);
    z-index: 2
}

.cloud-main:before,
.cloud-main:after {
    content: "";
    position: absolute;
    background: inherit;
    border-radius: 50%;
    z-index: -1
}

.cloud-main:before {
    width: 96px;
    height: 96px;
    top: -48px;
    left: 24px
}

.cloud-main:after {
    width: 72px;
    height: 72px;
    top: -31px;
    right: 19px
}

.cloud-main i {
    font-size: 3rem
}

.cloud-main span {
    font-family: "DM Mono";
    font-size: .55rem;
    letter-spacing: .13em;
    margin-top: 10px
}

.cloud-satellite {
    position: absolute;
    width: 62px;
    height: 62px;
    border: 1px solid rgba(255, 255, 255, .27);
    background: #1d325c;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-size: 1.3rem;
    z-index: 3;
    animation: float 3.5s ease-in-out infinite
}

.satellite-db {
    top: 55px;
    left: 53px;
    color: var(--cyan)
}

.satellite-shield {
    top: 66px;
    right: 43px;
    color: var(--lime);
    animation-delay: .6s
}

.satellite-code {
    bottom: 45px;
    right: 75px;
    color: #ca9cff;
    animation-delay: 1.3s
}

.satellite-globe {
    bottom: 65px;
    left: 45px;
    color: #ffba78;
    animation-delay: 2s
}

.cloud-line {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--cyan), transparent);
    transform-origin: left;
    z-index: 1
}

.line-a {
    width: 180px;
    top: 130px;
    left: 88px;
    transform: rotate(35deg);
    animation: lineGlow 2.5s infinite
}

.line-b {
    width: 180px;
    top: 155px;
    left: 213px;
    transform: rotate(-31deg);
    animation: lineGlow 2.5s .9s infinite
}

.line-c {
    width: 170px;
    top: 286px;
    left: 95px;
    transform: rotate(-29deg);
    animation: lineGlow 2.5s 1.5s infinite
}

@keyframes lineGlow {
    50% {
        filter: drop-shadow(0 0 7px var(--cyan));
        opacity: .3
    }
}

.cloud-glow {
    position: absolute;
    inset: 70px;
    background: var(--cyan);
    filter: blur(80px);
    opacity: .14
}

.ai-radar {
    position: absolute;
    inset: 65px;
    border: 1px solid rgba(186, 111, 255, .35);
    border-radius: 50%;
    animation: spin 12s linear infinite
}

.radar-two {
    inset: 5px;
    border-style: dashed;
    border-color: rgba(217, 255, 98, .3);
    animation-direction: reverse;
    animation-duration: 24s
}

.ai-core {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 150px;
    height: 150px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 38px;
    background: linear-gradient(135deg, #b357ff, #5547c8);
    box-shadow: 0 0 60px rgba(178, 78, 255, .52);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 2;
    animation: corePulse 3s ease-in-out infinite
}

.ai-core i {
    font-size: 3rem
}

.ai-core span {
    font-family: "DM Mono";
    font-size: .65rem;
    letter-spacing: .2em;
    margin-top: 7px
}

.ai-chip {
    position: absolute;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 15px;
    background: #25204c;
    border: 1px solid rgba(255, 255, 255, .24);
    color: var(--lime);
    font-size: 1.3rem;
    z-index: 3;
    animation: float 3.6s ease-in-out infinite
}

.chip-one {
    top: 66px;
    left: 75px
}

.chip-two {
    top: 80px;
    right: 57px;
    color: #ff9eee;
    animation-delay: .8s
}

.chip-three {
    bottom: 58px;
    right: 74px;
    color: var(--cyan);
    animation-delay: 1.5s
}

.chip-four {
    bottom: 77px;
    left: 59px;
    color: #ffd365;
    animation-delay: 2.2s
}

@keyframes corePulse {
    50% {
        transform: translate(-50%, -50%) scale(1.07);
        box-shadow: 0 0 90px rgba(178, 78, 255, .72)
    }
}

.data-stream {
    position: absolute;
    font-family: "DM Mono";
    font-size: .58rem;
    color: #c793ff;
    opacity: .6;
    letter-spacing: .1em;
    animation: dataMove 3s linear infinite
}

.stream-one {
    top: 34px;
    left: 168px
}

.stream-two {
    bottom: 25px;
    left: 157px;
    color: var(--lime)
}

.stream-three {
    top: 205px;
    right: -9px
}

@keyframes dataMove {
    50% {
        opacity: 1;
        transform: translateX(15px)
    }
}

.hero-indicators {
    z-index: 4;
    justify-content: flex-start;
    bottom: 45px;
    left: calc(50% - 570px);
    margin: 0;
    gap: 9px
}

.hero-indicators [data-bs-target] {
    width: 37px;
    height: 2px;
    border: 0;
    margin: 0;
    background: #8d94ad;
    opacity: 1
}

.hero-indicators .active {
    background: var(--lime)
}

.hero-control {
    width: 50px;
    opacity: 1
}

.hero-control i {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;
    font-size: .75rem
}

.hero-bottom {
    position: absolute;
    z-index: 3;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 11px;
    color: #8e96ad;
    font-family: "DM Mono";
    font-size: .58rem;
    letter-spacing: .07em
}

.hero-bottom span:last-child {
    margin-left: auto
}

.scroll-line {
    width: 60px;
    height: 1px;
    background: #8e96ad
}

.section-pad {
    padding: 125px 0
}

.section-intro h2,
.process h2 {
    font-size: clamp(2.8rem, 4.4vw, 4.7rem)
}

.section-intro p:not(.eyebrow) {
    font-size: .94rem;
    line-height: 1.75;
    color: #5c6172;
    margin-bottom: 4px
}

.eyebrow.dark {
    color: #626778
}

.eyebrow.dark span {
    color: #7960e7
}

.solution-card {
    height: 300px;
    position: relative;
    display: block;
    padding: 26px;
    border-radius: 4px;
    overflow: hidden;
    text-decoration: none;
    color: var(--ink);
    background: #e8e9e2;
    transition: transform .35s, box-shadow .35s
}

.solution-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 35px rgba(15, 17, 38, .14);
    color: var(--ink)
}

.card-ai {
    height: 300px;
    background: #171b3c;
    color: #fff
}

.card-web {
    background: #d8e8ff
}

.card-app {
    background: #ffddbb
}

.card-saas {
    background: #d9ff62
}

.card-sap {
    background: #d9d2ff
}

.card-erp {
    background: #ffccd8
}

.number {
    font-family: "DM Mono";
    font-size: .68rem;
    opacity: .6
}

.solution-icon {
    position: absolute;
    right: 28px;
    top: 28px;
    width: 57px;
    height: 57px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    background: rgba(255, 255, 255, .55);
    font-size: 1.4rem;
    transition: .4s
}

.card-ai .solution-icon {
    background: rgba(255, 255, 255, .14);
    color: var(--lime)
}

.solution-card:hover .solution-icon {
    transform: rotate(12deg) scale(1.12)
}

.icon-robot {
    animation: robot 3s ease-in-out infinite
}

.icon-web {
    animation: tilt 2.5s ease-in-out infinite
}

.icon-app {
    animation: phone 2.8s ease-in-out infinite
}

.icon-saas {
    animation: cloudBounce 2.5s ease-in-out infinite
}

.icon-sap {
    animation: spinMini 6s linear infinite
}

.icon-erp {
    animation: stack 2.6s ease-in-out infinite
}

@keyframes robot {
    50% {
        transform: translateY(-6px)
    }
}

@keyframes tilt {
    50% {
        transform: rotate(-9deg)
    }
}

@keyframes phone {
    50% {
        transform: translateY(-6px) rotate(5deg)
    }
}

@keyframes cloudBounce {
    50% {
        transform: translateY(-8px) scale(1.08)
    }
}

@keyframes spinMini {
    to {
        transform: rotate(360deg)
    }
}

@keyframes stack {
    50% {
        transform: scale(1.12)
    }
}

.solution-card h3 {
    position: absolute;
    bottom: 57px;
    left: 26px;
    right: 22px;
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -.05em
}

.solution-card p {
    position: absolute;
    bottom: 16px;
    left: 26px;
    right: 45px;
    margin: 0;
    font-size: .72rem;
    color: inherit;
    opacity: .67
}

.card-arrow {
    position: absolute;
    right: 26px;
    bottom: 24px;
    font-size: 1.1rem
}

.card-grid-lines {
    position: absolute;
    width: 280px;
    height: 280px;
    right: -90px;
    bottom: -160px;
    background: repeating-linear-gradient(0deg, transparent 0 30px, rgba(217, 255, 98, .14) 31px 32px), repeating-linear-gradient(90deg, transparent 0 30px, rgba(217, 255, 98, .14) 31px 32px);
    transform: rotate(27deg)
}

.process {
    background: var(--ink);
    color: #fff;
    position: relative;
    overflow: hidden
}

.process:after {
    content: "";
    position: absolute;
    width: 650px;
    height: 650px;
    background: radial-gradient(circle, rgba(94, 103, 255, .24), transparent 65%);
    right: -230px;
    top: -180px
}

.process-heading {
    position: relative;
    z-index: 1;
    margin-bottom: 70px
}

.process-steps {
    position: relative;
    z-index: 1;
    border-top: 1px solid rgba(255, 255, 255, .17)
}

.process-steps article {
    padding: 28px 30px 15px 0;
    border-right: 1px solid rgba(255, 255, 255, .17);
    min-height: 220px
}

.process-steps .col-md-3:last-child article {
    border: 0
}

.process-steps span {
    font-family: "DM Mono";
    font-size: .65rem;
    color: var(--lime)
}

.process-steps i {
    display: block;
    font-size: 1.7rem;
    color: #fff;
    margin: 37px 0 15px
}

.process-steps h3 {
    font-size: 1.1rem;
    font-weight: 700
}

.process-steps p {
    font-size: .78rem;
    color: #9fa6be;
    line-height: 1.6;
    max-width: 180px
}

.contact {
    padding: 120px 0;
    background: #f6f7f1
}

.contact-panel {
    background: var(--lime);
    min-height: 395px;
    padding: 58px;
    position: relative;
    overflow: hidden
}

.contact-panel .eyebrow {
    color: #39401d
}

.contact-panel .eyebrow span {
    color: var(--ink)
}

.contact-panel h2 {
    position: relative;
    z-index: 1;
    font-size: clamp(2.7rem, 4.7vw, 5rem)
}

.contact-link {
    position: relative;
    z-index: 1;
    color: var(--ink);
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px solid var(--ink);
    padding-bottom: 4px
}

.contact-link i {
    margin-left: 8px
}

.contact-orb {
    position: absolute;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    right: 5%;
    top: 20px;
    background: radial-gradient(circle at 35% 32%, #a69aff, #4634b3);
    box-shadow: inset -26px -30px 0 rgba(11, 13, 52, .14);
    animation: orbFloat 5s ease-in-out infinite
}

@keyframes orbFloat {
    50% {
        transform: translateY(-22px) rotate(14deg)
    }
}

footer {
    background: var(--ink);
    color: #b5bdd2;
    padding: 23px 0;
    font-family: "DM Mono";
    font-size: .62rem;
    letter-spacing: .03em
}

/* Product library */
.products{background:#e9ebe4}.product-card{min-height:315px;height:100%;padding:27px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden;text-decoration:none;color:var(--ink);border-radius:4px;transition:transform .35s,box-shadow .35s}.product-card:hover{color:var(--ink);transform:translateY(-7px);box-shadow:0 18px 35px rgba(15,17,38,.14)}.product-card:after{content:"";position:absolute;width:180px;height:180px;border:1px solid currentColor;border-radius:50%;right:-72px;bottom:-82px;opacity:.13;transition:.4s}.product-card:hover:after{transform:scale(1.35)}.product-school{background:#d9e5ff}.product-hr{background:#ffe3bd}.product-commerce{background:#f0d9ff}.product-erp{background:#d7f4e6}.product-api{background:#ffe1dd}.product-fintech{background:#dbe1ff}.product-card-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.55);font-size:1.45rem;margin-bottom:30px;transition:.4s}.product-card:hover .product-card-icon{transform:rotate(12deg) scale(1.11)}.product-school .product-card-icon{animation:capFloat 3s ease-in-out infinite}.product-hr .product-card-icon{animation:teamBounce 2.8s ease-in-out infinite}.product-commerce .product-card-icon{animation:bagSwing 2.5s ease-in-out infinite}.product-erp .product-card-icon{animation:stack 2.5s ease-in-out infinite}.product-api .product-card-icon{animation:plugPulse 2.5s ease-in-out infinite}.product-fintech .product-card-icon{animation:chartRise 3s ease-in-out infinite}.product-card>span{font-family:"DM Mono",monospace;font-size:.63rem;text-transform:uppercase;letter-spacing:.09em;opacity:.6}.product-card h3{font-size:1.5rem;line-height:1.08;letter-spacing:-.06em;font-weight:800;margin:12px 0}.product-card p{font-size:.76rem;line-height:1.6;max-width:230px;margin:0 0 20px;opacity:.7}.product-card b{font-size:.72rem;margin-top:auto}.product-card b i{margin-left:6px}.product-card:hover b i{display:inline-block;animation:arrowHop .5s ease-in-out infinite alternate}@keyframes capFloat{50%{transform:translateY(-8px) rotate(-6deg)}}@keyframes teamBounce{50%{transform:scale(1.1)}}@keyframes bagSwing{50%{transform:rotate(-10deg)}}@keyframes plugPulse{50%{box-shadow:0 0 0 10px rgba(16,20,43,.09)}}@keyframes chartRise{50%{transform:translateY(-7px)}}@keyframes arrowHop{to{transform:translateX(5px)}}

/* Brand ecosystem */
.brands{background:#10142b;color:#fffdfd;position:relative;overflow:hidden}.brands:before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(117,90,237,.22),transparent 67%);left:-380px;top:50px}.brands .section-intro{position:relative;z-index:1}.brands .section-intro>div:last-child p{color:#aeb5c9;line-height:1.75;font-size:.92rem}.brand-showcase{border-top:1px solid rgba(255,255,255,.17);position:relative;z-index:1}.ecosystem-brand{min-height:155px;border-bottom:1px solid rgba(255,255,255,.17);display:flex;align-items:center;gap:28px;padding:22px 20px;position:relative;transition:padding .35s,background .35s;overflow:hidden}.ecosystem-brand:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-140px;top:50%;transform:translateY(-50%);opacity:0;transition:.45s}.ecosystem-brand:hover{padding-left:34px;background:rgba(255,255,255,.045)}.ecosystem-brand:hover:before{opacity:.36}.brand-lab:before{background:#5989ff}.brand-digi:before{background:#ff9a58}.brand-ai:before{background:#aa6bff}.brand-money:before{background:#d9ff62}.ecosystem-icon{width:84px;height:84px;min-width:84px;border:1px solid rgba(255,255,255,.24);border-radius:24px;display:grid;place-items:center;position:relative;overflow:hidden;font-size:1.8rem}.icon-lab{display:flex;justify-content:center;align-items:center;gap:6px}.icon-lab span{display:block;width:10px;background:var(--lime);border-radius:8px;animation:brandBars 1.5s infinite}.icon-lab span:nth-child(1){height:28px}.icon-lab span:nth-child(2){height:49px;animation-delay:.17s}.icon-lab span:nth-child(3){height:34px;animation-delay:.34s}.icon-digi{color:#ffb17e}.icon-digi i{animation:megaphone 2.5s ease-in-out infinite}.icon-digi em{position:absolute;width:8px;height:8px;border:1px solid #ffb17e;border-radius:50%;right:13px;top:13px;animation:ping 2.2s infinite}.icon-ai{color:#d8afff}.icon-ai i{animation:magicFloat 2.8s ease-in-out infinite}.icon-ai em{position:absolute;width:5px;height:5px;background:#d9ff62;transform:rotate(45deg);animation:sparkle 1.5s infinite}.icon-ai em:nth-of-type(1){top:17px;right:17px}.icon-ai em:nth-of-type(2){bottom:19px;left:17px;animation-delay:.65s}.icon-money{color:var(--lime)}.icon-money i{position:relative;z-index:2;animation:moneyUp 2.6s ease-in-out infinite}.icon-money span{position:absolute;height:2px;background:var(--lime);transform:rotate(-44deg);opacity:.7}.icon-money span:nth-of-type(1){width:50px;bottom:22px;left:14px}.icon-money span:nth-of-type(2){width:28px;top:24px;right:11px;animation:lineGlow 1.8s infinite}.ecosystem-brand p{margin:0 0 5px;text-transform:uppercase;font-family:"DM Mono",monospace;font-size:.63rem;letter-spacing:.1em;color:#9da5bf}.ecosystem-brand h3{font-size:clamp(1.75rem,3.5vw,3rem);line-height:1;font-weight:800;letter-spacing:-.07em;margin:0}.ecosystem-brand h3 span{color:var(--lime)}.ecosystem-brand b{font-size:.78rem;color:#c5cad9;font-weight:500}.brand-explore{margin-left:auto;position:relative;z-index:2;font-size:1rem;color:var(--lime);transition:.3s}.ecosystem-brand:hover .brand-explore{transform:translate(5px,-5px)}@keyframes megaphone{50%{transform:rotate(-12deg) scale(1.08)}}@keyframes ping{70%{box-shadow:0 0 0 12px rgba(255,177,126,0)}100%{box-shadow:0 0 0 0 rgba(255,177,126,0)}}@keyframes magicFloat{50%{transform:translateY(-6px) rotate(10deg)}}@keyframes sparkle{50%{transform:rotate(225deg) scale(1.8);opacity:.25}}@keyframes moneyUp{50%{transform:translateY(-7px)}}

/* Individual product pages */
.detail-page{background:var(--paper)}.detail-nav{position:relative;background:var(--ink)}.detail-hero{background:var(--ink);color:#fff;padding:105px 0 85px;position:relative;overflow:hidden}.detail-hero:after{content:"";position:absolute;width:570px;height:570px;right:-100px;top:-170px;border:1px solid rgba(217,255,98,.28);border-radius:50%;box-shadow:0 0 0 65px rgba(217,255,98,.04),0 0 0 130px rgba(217,255,98,.03)}.detail-hero h1{font-size:clamp(3rem,6vw,6rem);line-height:.95;letter-spacing:-.075em;font-weight:800;max-width:840px;margin:0 0 23px;position:relative;z-index:1}.detail-hero h1 em{font-family:Georgia,serif;font-weight:400}.detail-hero p{max-width:590px;color:#bac1d4;line-height:1.7;position:relative;z-index:1}.detail-symbol{position:absolute;right:16%;bottom:80px;width:120px;height:120px;display:grid;place-items:center;border-radius:35px;background:var(--lime);color:var(--ink);font-size:3.4rem;z-index:1;animation:detailSymbol 3.5s ease-in-out infinite}@keyframes detailSymbol{50%{transform:translateY(-14px) rotate(8deg)}}.detail-content{padding:100px 0}.detail-lead{font-size:1.55rem;line-height:1.55;letter-spacing:-.04em;max-width:650px}.feature-box{height:100%;background:#fff;padding:27px;border-top:3px solid var(--ink);box-shadow:0 7px 18px rgba(16,20,43,.05)}.feature-box i{color:#7356ed;font-size:1.4rem}.feature-box h3{font-size:1.05rem;margin:22px 0 9px;font-weight:800}.feature-box p{font-size:.8rem;line-height:1.65;color:#64697a;margin:0}.detail-cta{background:#d9ff62;padding:55px;margin-top:85px}.detail-cta h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.07em;font-weight:800;margin:0}.detail-cta p{margin:16px 0 0;color:#424a23}.detail-cta .primary-btn{background:var(--ink);color:#fff;white-space:nowrap}.detail-cta .primary-btn:hover{color:#fff}.detail-list{list-style:none;padding:0;margin:0}.detail-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:.85rem}.detail-list i{color:#745ae7;margin-right:8px}@media(max-width:991px){.detail-symbol{right:8%;bottom:45px;width:90px;height:90px;font-size:2.5rem}.detail-hero{padding:90px 0 75px}}@media(max-width:575px){.detail-symbol{display:none}.detail-content{padding:70px 0}.detail-cta{padding:34px 25px;margin-top:60px}.product-card{min-height:280px}}

/* Complete product catalogue and reusable product details */
.catalog-page{background:#f6f7f1}.catalog-hero{background:var(--ink);color:#fff;padding:92px 0 70px;position:relative;overflow:hidden}.catalog-hero:after{content:"";position:absolute;right:-130px;top:-260px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(217,255,98,.24);box-shadow:0 0 0 65px rgba(217,255,98,.04),0 0 0 130px rgba(217,255,98,.025)}.catalog-hero>*{position:relative;z-index:1}.catalog-hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.95;letter-spacing:-.075em;font-weight:800;margin:0 0 22px}.catalog-hero h1 em,.how-it-works h2 em{font-family:Georgia,serif;font-weight:400}.catalog-hero p{max-width:590px;color:#bac1d4;line-height:1.7}.product-search{margin-top:24px;display:flex;align-items:center;max-width:570px;background:#fff;color:var(--ink);padding:0 17px;position:relative;z-index:2}.product-search i{font-size:.8rem;color:#7356ed}.product-search input{height:56px;border:0;background:transparent;outline:0;width:100%;padding:0 13px;font:600 .84rem Manrope;color:var(--ink)}.catalog-content{padding:70px 0 115px}.catalog-count{font-family:"DM Mono",monospace;color:#626778;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.catalog-group{margin:48px 0}.catalog-group h2{font-size:1.45rem;letter-spacing:-.05em;font-weight:800;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.catalog-group h2 span{font:400 .68rem "DM Mono",monospace;color:#7356ed;margin-left:9px;vertical-align:middle}.catalog-card{display:flex;align-items:flex-start;gap:17px;height:100%;padding:22px;background:#fff;color:var(--ink);text-decoration:none;border:1px solid rgba(16,20,43,.05);transition:.3s}.catalog-card:hover{color:var(--ink);transform:translateY(-4px);box-shadow:0 13px 23px rgba(16,20,43,.09);border-color:#8b74ef}.catalog-card>i{width:39px;height:39px;min-width:39px;display:grid;place-items:center;color:#fff;background:#7255e5;border-radius:11px;font-size:1rem;animation:catalogIcon 3s ease-in-out infinite}.catalog-card:hover>i{animation-duration:.9s}.catalog-card small{font-family:"DM Mono",monospace;font-size:.56rem;letter-spacing:.06em;color:#777d8f}.catalog-card h3{font-size:.93rem;line-height:1.25;letter-spacing:-.03em;font-weight:800;margin:5px 0 15px}.catalog-card b{font-size:.65rem}.catalog-card b i{margin-left:5px;color:#7255e5}.empty-catalog{padding:55px 0;color:#626778}@keyframes catalogIcon{50%{transform:translateY(-5px) rotate(5deg)}}.dynamic-detail .detail-product-symbol{overflow:visible}.detail-product-symbol span{position:absolute;border:1px solid var(--lime);border-radius:50%;inset:-15px;animation:ringGrow 2.8s ease-out infinite}.detail-product-symbol span:last-child{animation-delay:1.35s}.detail-product-symbol i{position:relative;z-index:1}@keyframes ringGrow{70%{transform:scale(1.45);opacity:0}100%{opacity:0}}.how-it-works{margin-top:90px}.how-it-works h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.065em;font-weight:800;margin:0 0 35px}.how-it-works article{height:100%;background:#e8e9e2;padding:27px}.how-it-works article>b{font:400 .66rem "DM Mono",monospace;color:#7356ed}.how-it-works article>i{display:block;font-size:1.7rem;margin:29px 0 17px}.how-it-works article h3{font-size:1.05rem;font-weight:800}.how-it-works article p{font-size:.8rem;color:#626778;line-height:1.65;margin:0}.catalog-link{display:inline-block;margin-top:15px;color:#543bc2;font-size:.75rem;font-weight:800;text-decoration:none}.catalog-link i{margin-left:6px}@media(max-width:575px){.catalog-hero{padding:70px 0 55px}.catalog-content{padding:45px 0 70px}.catalog-card{padding:18px}.how-it-works{margin-top:60px}}

@media(max-width:991px) {
    .hero {
        height: auto;
        min-height: 780px;
        padding: 100px 0 95px
    }

    .hero .carousel,
    .hero .carousel-inner,
    .hero .carousel-item {
        height: auto !important
    }

    .hero .carousel-item {
        display: none
    }

    .hero .carousel-item.active {
        display: block
    }

    .hero-copy {
        text-align: center
    }

    .hero-text {
        margin-left: auto;
        margin-right: auto
    }

    .visual-column {
        margin-top: 20px
    }

    .hero-indicators {
        left: 50%;
        transform: translateX(-50%);
        bottom: 18px;
        justify-content: center
    }

    .hero-control {
        display: none
    }

    .hero-bottom {
        display: none
    }

    .agile-orbit,
    .cloud-scene,
    .ai-scene {
        transform: scale(.82);
        margin: -40px auto
    }

    .section-pad {
        padding: 85px 0
    }

    .solution-card {
        height: 270px
    }

    .process-steps article {
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .17);
        min-height: 0;
        padding: 26px 0
    }

    .process-steps i {
        margin: 18px 0 10px
    }

    .contact {
        padding: 70px 0
    }
}

@media(max-width:575px) {
    .hero {
        min-height: 720px
    }

    .hero h1 {
        font-size: 3rem
    }

    .agile-orbit,
    .cloud-scene,
    .ai-scene {
        transform: scale(.62);
        margin: -86px auto
    }

    .hero-text {
        font-size: .9rem
    }

    .section-pad {
        padding: 70px 0
    }

    .contact-panel {
        padding: 36px 26px;
        min-height: 330px
    }

    .contact-orb {
        width: 210px;
        height: 210px;
        right: -50px;
        bottom: -70px;
        top: auto
    }

    .solution-card {
        height: 245px
    }

    .card-ai {
        height: 260px
    }

    .process h2 {
        font-size: 3rem
    }

    .site-nav {
        padding: 12px 0
    }
}

@media(prefers-reduced-motion:reduce) {

    *,
    *:before,
    *:after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important
    }
}

/* Brand story page */
.brand-page{background:#f6f7f1}.brand-page-hero{padding:100px 0 90px;background:var(--ink);color:#fff;position:relative;overflow:hidden}.brand-page-hero h1{font-size:clamp(3.3rem,6.5vw,6.2rem);line-height:.94;letter-spacing:-.08em;font-weight:800;margin:0 0 24px}.brand-page-hero h1 em{font-family:Georgia,serif;font-weight:400}.brand-page-hero p:not(.eyebrow){max-width:650px;color:#bac1d4;line-height:1.75;position:relative;z-index:1}.brand-hero-orbit{position:absolute;right:15%;top:50%;transform:translateY(-50%);width:220px;height:220px;border:1px solid rgba(217,255,98,.33);border-radius:50%;display:grid;place-items:center}.brand-hero-orbit:before,.brand-hero-orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%}.brand-hero-orbit:before{inset:-46px}.brand-hero-orbit:after{inset:36px}.brand-hero-orbit b{width:74px;height:74px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font:800 3rem Georgia;position:relative;z-index:1}.brand-hero-orbit span{position:absolute;width:14px;height:14px;background:var(--lime);border-radius:50%;animation:brandOrbit 7s linear infinite}.brand-hero-orbit span:nth-child(1){top:-7px;left:50%}.brand-hero-orbit span:nth-child(2){bottom:34px;left:-6px;animation-delay:-2.3s}.brand-hero-orbit span:nth-child(3){right:17px;bottom:10px;animation-delay:-4.8s}@keyframes brandOrbit{to{transform:rotate(360deg) translateX(110px) rotate(-360deg)}}.brand-page-content{padding:90px 0}.brand-detail{display:grid;grid-template-columns:1fr 1fr;min-height:455px;margin-bottom:26px;overflow:hidden}.brand-detail-copy{padding:58px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.brand-detail-copy h2{font-size:clamp(3rem,5vw,5rem);font-weight:800;letter-spacing:-.09em;margin:0}.brand-detail-copy h2 span{color:#7456e5}.brand-detail-copy h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.04em;max-width:460px;margin:10px 0 17px}.brand-detail-copy>p:not(.eyebrow){font-size:.86rem;line-height:1.7;color:#5e6474;max-width:490px}.brand-detail-copy ul{list-style:none;padding:0;margin:7px 0 0}.brand-detail-copy li{font-size:.75rem;margin:9px 0}.brand-detail-copy li i{color:#7456e5;margin-right:8px}.brand-detail-art{position:relative;min-height:360px;display:grid;place-items:center;overflow:hidden}.detail-lab{background:#d9e5ff}.detail-digi{background:#ffe5ce}.detail-ai{background:#e6d9ff}.detail-money{background:#dff8cf}.art-lab{background:#182047;gap:11px}.art-lab i{width:28px;background:var(--lime);border-radius:20px;animation:labColumn 1.5s ease-in-out infinite}.art-lab i:nth-child(1){height:90px}.art-lab i:nth-child(2){height:175px;animation-delay:.2s}.art-lab i:nth-child(3){height:118px;animation-delay:.4s}@keyframes labColumn{50%{transform:scaleY(.55)}}.art-digi{font-size:5rem;color:#ff6c31}.art-digi>i{position:relative;z-index:2;animation:megaphone 2.3s ease-in-out infinite}.art-digi span{position:absolute;border:2px solid #ff9d6d;border-radius:50%;width:90px;height:90px;right:22%;top:24%;animation:digiRing 2.5s ease-out infinite}.art-digi span:nth-child(2){animation-delay:.8s}.art-digi span:nth-child(3){animation-delay:1.6s}@keyframes digiRing{to{transform:scale(2.4);opacity:0}}.art-ai{background:radial-gradient(circle,#c98dff,#8063e6);color:#fff}.art-ai i{font-size:6rem;position:relative;z-index:2;animation:brainPulse 3s ease-in-out infinite}.art-ai span{position:absolute;font:500 .65rem "DM Mono",monospace;letter-spacing:.1em;opacity:.8;animation:dataMove 3s linear infinite}.art-ai span:nth-of-type(1){top:25%;left:22%}.art-ai span:nth-of-type(2){right:23%;bottom:27%;animation-delay:-1.1s}.art-ai span:nth-of-type(3){right:21%;top:21%;color:var(--lime)}@keyframes brainPulse{50%{transform:scale(1.13);filter:drop-shadow(0 0 25px rgba(255,255,255,.7))}}.art-money{background:#caff72;color:#1c2b16}.art-money i{font-size:6rem;position:relative;z-index:2;animation:moneyUp 2.7s ease-in-out infinite}.art-money span{position:absolute;border:2px solid #548327;border-radius:50%;width:185px;height:185px;animation:moneyRing 3.4s ease-in-out infinite}.art-money span:nth-of-type(2){width:255px;height:255px;animation-delay:.7s}.art-money b{position:absolute;bottom:24%;font:.68rem "DM Mono",monospace;letter-spacing:.22em}@keyframes moneyRing{50%{transform:scale(.83);opacity:.35}}.brand-page-cta{background:var(--ink);color:#fff;padding:58px;margin-top:70px;position:relative;overflow:hidden}.brand-page-cta:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:#7655e8;right:-85px;top:-95px;opacity:.9}.brand-page-cta h2{font-size:clamp(2.4rem,4.4vw,4.7rem);letter-spacing:-.075em;font-weight:800;margin:0 0 25px;position:relative;z-index:1}.brand-page-cta a{position:relative;z-index:1}@media(max-width:767px){.brand-hero-orbit{opacity:.35;right:-55px}.brand-page-content{padding:60px 0}.brand-detail{display:flex;flex-direction:column}.detail-digi .brand-detail-art,.detail-money .brand-detail-art{order:-1}.brand-detail-copy{padding:37px 27px}.brand-detail-art{min-height:260px}.brand-page-cta{padding:37px 27px;margin-top:40px}}
