:root{--ink:#1b0736;--purple:#6940d2;--body:#151052;--lavender:#f0edff;--trace-x:3.6vw;--body-size:clamp(18px,2.25vw,31px);--heading-size:clamp(36px,4.65vw,67px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--body);font-family:Inter,Arial,sans-serif;background:#fff}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #6d46de;outline-offset:6px}h1,h2,h3,p,dl,dd{margin:0}h1,h2{font-family:Poppins,Inter,sans-serif;font-weight:700;letter-spacing:-.045em;line-height:1.08}h1,h2{font-size:var(--heading-size)}p{font-size:var(--body-size);line-height:1.48}h3{font-size:clamp(15px,1.5vw,22px);font-weight:700;letter-spacing:-.045em}img{display:block;max-width:100%}.section{position:relative}.trace{position:absolute;left:var(--trace-x);top:0;bottom:0;width:1.5px;background:#8054ff;z-index:5;pointer-events:none}body{position:relative}.section-node{position:absolute;left:var(--trace-x);top:2.5vw;transform:translateX(-50%);width:clamp(23px,2.7vw,38px);height:clamp(23px,2.7vw,38px);border:1.5px solid #7c52ff;background:#fff;border-radius:50%;z-index:6}.section-node:after{content:"";position:absolute;inset:5px;background:#ded6fd;border-radius:50%;transition:background .3s}.section.is-current>.section-node:after{background:var(--purple)}.lavender{background:radial-gradient(ellipse at 70% 25%,#f4f1ff,#eeebff)}
.hero{height:64.65vw;max-height:930px;min-height:600px;overflow:hidden;background:radial-gradient(ellipse at 85% 35%,#eae5ff 0,white 66%)}.hero header{position:relative;z-index:3;padding:2.2vw 6.3vw}.logo{width:31.5vw;max-width:455px;height:auto}.hero-node{top:10.2vw}.hero-art{position:absolute;right:-.3%;top:3%;width:54%;height:auto;mix-blend-mode:multiply}.hero-copy{position:absolute;z-index:2;left:7.4%;top:48.5%;max-width:55%}.hero h1{color:var(--ink)}.hero p{max-width:96%;margin-top:2.2vw;line-height:1.35}.technology{padding:7vw 0 6.6vw;overflow:hidden}.section-heading{margin-left:7.7%}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:#7242ff;font-size:clamp(12px,1.35vw,19px);font-weight:500;margin-bottom:.6vw}.technology h2{color:var(--ink)}.cards{display:flex;gap:.8vw;overflow-x:auto;padding:3.6vw 6.3vw .5vw;margin-bottom:0;scrollbar-width:none;cursor:grab;scroll-snap-type:x proximity;touch-action:pan-x pan-y}.cards::-webkit-scrollbar{display:none}.cards.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.card{flex:0 0 15.7vw;max-width:226px;min-width:152px;border:8px solid #fff;border-radius:2.8vw;background:#fff;overflow:hidden;scroll-snap-align:center}.card img{height:15.5vw;max-height:223px;width:100%;object-fit:cover;user-select:none;-webkit-user-drag:none;background:#f6f3ff}.card div{padding:1.3vw .6vw 1.35vw}.card p{font-size:clamp(12px,1.15vw,16px);letter-spacing:-.04em;white-space:nowrap;margin-top:.7vw;color:#655583;line-height:1.4}.change{padding:8.4vw 9vw 7.2vw 12vw;text-align:center}.change h2{color:var(--ink)}.change>p{margin:1.4vw auto 2.7vw;max-width:1100px;font-size:clamp(17px,1.9vw,27px);line-height:1.5}.stages{display:flex;list-style:none;margin:0;padding:0;position:relative;isolation:isolate}.stages:before{content:"";position:absolute;background:#f0edff;left:0;right:0;top:0;height:5vw;max-height:72px;min-height:45px;border-radius:60px;z-index:-1}.stages li{width:25%;display:flex;align-items:center;flex-direction:column;font-size:clamp(16px,1.8vw,26px);position:relative;gap:1.1vw}.stages li span{height:5vw;max-height:72px;min-height:45px;display:grid;place-items:center;width:100%}.stages li span:before{content:"";width:2vw;height:2vw;max-width:29px;max-height:29px;min-width:17px;min-height:17px;border-radius:50%;background:#c3b8e5;transition:background .7s}.stages li.live span:before{background:#00bfa5}.stages li:not(:last-child) span:after{content:"";position:absolute;width:78%;height:1px;background:#dad1f5;top:clamp(22.5px,2.5vw,36px);left:61%;transition:background .7s}.stages li.complete span:before{background:var(--purple)}.stages li.complete span:after{background:#9c80e2}
.services{display:grid;grid-template-columns:29% 1fr;gap:1.8%;padding:4.9vw 3.5vw 5.7vw 11.6%;min-height:59vw}.service-tabs{display:flex;flex-direction:column;justify-content:space-around;padding:.8vw 0}.service-tab{position:relative;border:0;background:none;padding:1.7vw 0;text-align:left;color:var(--body);font-size:clamp(18px,2.17vw,31px);font-weight:400;letter-spacing:-.035em;cursor:pointer;white-space:nowrap}.service-tab.active{font-weight:700}.service-tab>span{position:absolute;left:calc(-8vw - 1px);top:50%;transform:translate(-50%,-50%);width:2.5vw;height:2.5vw;min-width:23px;min-height:23px;border:2px solid var(--purple);border-radius:50%;background:#fff;z-index:6}.service-tab.active>span{background:var(--purple);border:0;box-shadow:inset 0 0 10px #ffffff18}.service-panel{position:relative;border-radius:4vw;overflow:hidden;min-height:49.5vw}.panel-copy{position:relative;z-index:2;padding:6.6vw 5.8vw 0}.panel-copy h2{font-size:clamp(36px,7vw,100px);color:var(--purple);letter-spacing:-.05em;overflow-wrap:anywhere}.panel-copy p{margin-top:1.3vw;line-height:1.4;font-size:clamp(16px,2.23vw,31px)}.service-panel img{position:absolute;bottom:0;right:0;width:92%;height:58%;object-fit:contain;object-position:right bottom;mix-blend-mode:multiply;transition:opacity .15s}.service-panel[data-current="2"] img,.service-panel[data-current="3"] img,.service-panel[data-current="4"] img,.service-panel[data-current="5"] img{width:88%;height:55%}.installed{display:grid;grid-template-columns:1.06fr 1fr;gap:4%;padding:4.5vw 5.4vw 2.5vw 11.6%;min-height:37.8vw;align-items:start}.installed>.section-node{top:9.4vw}.installed h2{color:var(--purple);font-size:clamp(40px,6vw,86px);padding-top:3.5vw}.installed dl>div{position:relative;padding:0 0 1.65vw 5.1vw;margin-bottom:1.65vw;border-bottom:1px solid #c6b5ff}.installed dl>div:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.installed dl>div:before{content:"";width:2.3vw;height:2.3vw;min-width:20px;min-height:20px;background:var(--purple);border-radius:50%;position:absolute;left:1vw;top:.2vw}.installed dt{font-size:clamp(20px,2.23vw,32px);font-weight:700;letter-spacing:-.04em;line-height:1.2}.installed dd{font-size:clamp(15px,1.73vw,25px);margin-top:.4vw;line-height:1.4;letter-spacing:-.035em}.contact{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;padding:5vw 6vw 5.2vw 12%;min-height:51.8vw;overflow:hidden}.contact>.section-node{top:9.4vw}.contact h2{color:var(--purple);font-size:clamp(44px,6.2vw,89px)}.contact p{margin-top:1.2vw;font-size:clamp(18px,2.1vw,30px);letter-spacing:-.025em;line-height:1.4}.contact dl{margin-top:3vw}.contact dl>div{margin-top:1.3vw}.contact dt{font-size:clamp(16px,1.65vw,24px);line-height:1.4}.contact dd{font-size:clamp(19px,2.5vw,36px);font-weight:700;letter-spacing:-.04em;line-height:1.45;margin-top:.2vw}.contact dd a{overflow-wrap:anywhere}.contact>img{position:absolute;width:43%;height:100%;right:3%;top:0;object-fit:contain;object-position:center;z-index:-1;mix-blend-mode:multiply}.contact-copy{position:relative;z-index:1}.contact>img{z-index:0}.contact-copy dd{position:relative;z-index:2}
@media(min-width:1600px){:root{--trace-x:3.6vw}.hero{min-height:930px}.hero-copy{top:47%}.technology{padding-top:100px;padding-bottom:100px}.cards{padding-top:52px}.card{border-radius:40px}.change{padding-top:120px;padding-bottom:105px}.services{min-height:850px}.service-panel{min-height:720px}.service-tab>span{left:calc(-8vw - 1px)}}
@media(max-width:760px){:root{--trace-x:22px;--heading-size:clamp(32px,6.8vw,48px);--body-size:18px}.section-node{width:21px;height:21px;top:27px}.section-node:after{inset:4px}.hero{height:auto;min-height:0;padding-bottom:38px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 90% 30%,#ede8ff,white 70%)}.hero header{padding:24px 22px 10px 47px}.logo{width:min(320px,85%);max-width:none}.hero-node{top:38px}.hero-art{position:relative;right:auto;top:auto;width:75%;max-width:460px;align-self:flex-end;margin:2px 2% -15px 0}.hero-copy{position:relative;left:auto;top:auto;max-width:none;margin:0 22px 0 48px}.hero h1{font-size:clamp(31px,6.5vw,47px);line-height:1.12}.desktop-break{display:none}.hero p{margin-top:20px;max-width:560px;font-size:18px;line-height:1.5}.technology{padding:40px 0}.section-heading{margin-left:48px;margin-right:20px}.eyebrow{font-size:11px;margin-bottom:9px}.technology h2{font-size:clamp(31px,6vw,42px)}.cards{gap:10px;padding:28px 24px 4px 48px;scroll-padding-left:48px}.card{flex-basis:165px;min-width:165px;max-width:none;border-radius:27px;border-width:7px}.card img{height:170px;max-height:none}.card div{padding:16px 7px 17px}.card h3{font-size:16px}.card p{font-size:12px;margin-top:7px}.change{padding:44px 22px 42px 48px}.change h2{font-size:clamp(30px,6vw,42px)}.change>p{font-size:17px;margin:17px 0 25px;line-height:1.55}.stages:before{height:45px}.stages li{font-size:clamp(10px,2.65vw,17px);gap:12px}.stages li span{height:45px}.stages li span:before{width:17px;height:17px}.stages li:not(:last-child) span:after{top:22.5px}.services{display:block;padding:24px 20px 38px 48px;min-height:0}.service-tabs{display:flex;flex-direction:row;justify-content:flex-start;overflow-x:auto;gap:9px;padding:8px 3px 18px;scrollbar-width:thin;scrollbar-color:#d4c8f3 transparent;scroll-snap-type:x proximity}.service-tab{white-space:nowrap;padding:10px 14px;font-size:15px;letter-spacing:-.02em;border-radius:22px;background:#f1edff;scroll-snap-align:center}.service-tab.active{background:#6940d2;color:#fff}.service-tab>span{display:none}.services:before{content:"";position:absolute;left:22px;top:44px;transform:translateX(-50%);width:21px;height:21px;background:var(--purple);border-radius:50%;z-index:6}.service-panel{border-radius:27px;min-height:445px;margin-top:8px}.panel-copy{padding:30px 23px 0}.panel-copy h2{font-size:clamp(28px,6.8vw,48px);letter-spacing:-.045em}.panel-copy p{font-size:17px;margin-top:16px;line-height:1.5}.service-panel img{height:57%;width:100%;object-position:right bottom}.service-panel[data-current="4"] img{height:47%}.installed{display:block;padding:42px 22px 35px 48px;min-height:0}.installed>.section-node{top:48px}.installed h2{font-size:clamp(38px,7vw,54px);padding:0}.installed dl{margin-top:30px}.installed dl>div{padding:0 0 17px 33px;margin-bottom:17px}.installed dl>div:before{left:0;top:2px;width:20px;height:20px}.installed dt{font-size:20px;line-height:1.3}.installed dd{font-size:16px;margin-top:6px;line-height:1.5}.contact{display:block;padding:40px 22px 0 48px;min-height:0}.contact>.section-node{top:48px}.contact h2{font-size:clamp(42px,8vw,60px)}.contact p{font-size:17px;margin-top:16px;line-height:1.5}.contact dl{margin-top:29px}.contact dl>div{margin-top:19px}.contact dt{font-size:15px}.contact dd{font-size:clamp(17px,4.4vw,24px);margin-top:4px;line-height:1.5}.contact>img{position:relative;right:auto;top:auto;width:80%;height:auto;max-height:360px;object-fit:contain;margin:20px 0 0 auto}.contact-copy{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:761px){.services{grid-template-columns:24% 1fr}.service-panel img{height:49%;width:96%}.service-panel[data-current="2"] img,.service-panel[data-current="3"] img,.service-panel[data-current="4"] img,.service-panel[data-current="5"] img{height:49%}.panel-copy h2{font-size:clamp(36px,7vw,100px)}}
.service-panel img,.contact>img{mask-image:linear-gradient(to right,transparent,#000 7%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 93%,transparent);mask-composite:intersect}
@media(max-width:760px){.service-panel img{height:49%}.panel-copy{padding-top:27px}.service-panel[data-current="4"] img{height:40%}}
.service-panel{display:flex;flex-direction:column;justify-content:space-between}.service-panel img,.service-panel[data-current] img{position:relative;bottom:auto;right:auto;align-self:flex-end;flex:none;width:96%;height:24.25vw;min-height:210px;max-height:380px;margin-top:16px;object-fit:contain;object-position:right bottom}.service-panel[data-current="3"] .panel-copy h2,.service-panel[data-current="4"] .panel-copy h2,.service-panel[data-current="5"] .panel-copy h2{font-size:clamp(36px,5.5vw,79px)}
@media(max-width:760px){.service-panel img,.service-panel[data-current] img{height:220px;width:100%;min-height:0;max-height:none;margin-top:18px}.service-panel[data-current="3"] .panel-copy h2,.service-panel[data-current="4"] .panel-copy h2,.service-panel[data-current="5"] .panel-copy h2{font-size:clamp(28px,6.8vw,48px)}}
.service-panel img,.contact>img{mask-image:none;mix-blend-mode:normal}
.service-panel[data-current="2"] img,.service-panel[data-current="3"] img,.service-panel[data-current="4"] img,.service-panel[data-current="5"] img{mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 18%,#000 85%,transparent);mask-composite:intersect}
