:root{
 --bg:#f7f9fa;--ink:#07141d;--muted:#72818b;--line:rgba(7,20,29,.105);
 --blue:#087fbd;--cyan:#59dffb;--dark:#061019;--white:#fff;
 --max:1220px;--r:18px
}

body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}

body:before{
 content:"";position:fixed;inset:0;pointer-events:none;z-index:100;
 opacity:.025;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")
}

a{text-decoration:none;color:inherit}

.wrap{width:min(var(--max),calc(100% - 52px));margin:auto}

.mono{font:600 10px "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase}

.blue{color:var(--blue)}

h1,h2,h3{font-family:Manrope,sans-serif;margin:0;letter-spacing:-.07em}

h3{font-size:28px;line-height:1.02}

.hero{min-height:100vh;display:flex;align-items:center;padding:34px 0 60px;position:relative;overflow:hidden}

.hero:before{
 content:"";position:absolute;width:800px;height:800px;right:-380px;top:-300px;
 background:radial-gradient(circle,rgba(89,223,251,.13),transparent 68%)
}

.btn{
 display:inline-flex;align-items:center;gap:11px;padding:14px 19px;border-radius:999px;
 font-size:13px;font-weight:700;border:1px solid var(--ink);transition:.3s
}

.btn.primary{background:var(--ink);color:#fff;box-shadow:0 16px 40px rgba(7,20,29,.16)}

.btn.primary:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-3px)}

.manifesto h2 em{font-style:normal;color:var(--blue)}

.differentiator{padding:110px 0}

.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.diff-main{
 min-height:500px;background:var(--dark);border-radius:var(--r);padding:48px;color:#a8bbc5;
 position:relative;overflow:hidden
}

.diff-main:before{
 content:"";position:absolute;width:520px;height:520px;right:-240px;top:-240px;
 background:radial-gradient(circle,rgba(89,223,251,.19),transparent 67%)
}

.diff-main h2{color:#fff;max-width:620px;position:relative}

.diff-main p{max-width:520px;line-height:1.8;font-size:15px;position:relative}

.number-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:55px;position:relative}

.number{
 border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:20px;background:rgba(255,255,255,.025)
}

.number b{display:block;color:#fff;font:800 29px Manrope}

.number span{font-size:11px;color:#8197a2}

.diff-list{display:flex;flex-direction:column;gap:12px}

.diff-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;flex:1;transition:.3s}

.diff-item:hover{transform:translateX(7px);box-shadow:0 18px 50px rgba(7,20,29,.08)}

.diff-item small{color:var(--blue);font:600 10px "IBM Plex Mono"}

.diff-item h3{font-size:25px;margin:16px 0 8px}

.diff-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}

.cta{padding:155px 0;text-align:center;position:relative;overflow:hidden}

.cta:before{content:"";position:absolute;width:650px;height:650px;left:50%;top:45%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(89,223,251,.12),transparent 68%)}

.cta-inner{position:relative}

.cta h2{font-size:clamp(60px,9vw,125px);max-width:1080px;margin:18px auto 28px}

.cta p{max-width:570px;margin:0 auto 34px;color:var(--muted);font-size:17px;line-height:1.75}

@media(max-width:900px){
.wrap{width:min(1220px,calc(100% - 40px))}

.hero{min-height:auto}

.diff-grid{grid-template-columns:1fr}

.diff-list{display:grid;grid-template-columns:1fr 1fr}
}

@media(max-width:600px){
.wrap{width:calc(100% - 30px)}

.hero{padding-top:22px}

.hero h1{font-size:55px}

.manifesto,.differentiator{padding:90px 0}

.manifesto h2{font-size:45px}

.diff-main{min-height:auto;padding:32px}

.number-grid{margin-top:35px}

.diff-list{grid-template-columns:1fr}

.cta{padding:95px 0}

.cta h2{font-size:54px}
}

@media(prefers-reduced-motion:no-preference){
@keyframes pulseGlow{50%{box-shadow:0 0 0 10px rgba(85,222,251,.04),0 0 25px rgba(85,222,251,1)}}
}

.hero-pro{position:relative;min-height:100svh;display:flex;align-items:stretch;overflow:hidden;background:#07131b;color:#f6fbfd;isolation:isolate}

.hero-pro:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,19,27,.98) 0%,rgba(7,19,27,.93) 54%,rgba(7,19,27,.72) 100%);z-index:-2}

.hero-pro:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 92%);opacity:.55;z-index:-1}

.hero-pro-noise{position:absolute;inset:-20%;background:radial-gradient(circle at 78% 24%,rgba(89,223,251,.15),transparent 25%),radial-gradient(circle at 56% 68%,rgba(8,127,189,.1),transparent 32%);filter:blur(12px);z-index:-1}

.hero-pro-wrap{width:min(1280px,calc(100% - 56px));display:flex;flex-direction:column;position:relative;z-index:1}

.hero-pro-main{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:78px;align-items:center;padding:88px 0 76px}

.hero-pro-copy{max-width:920px}

.hero-pro-kicker{font-size:10px;letter-spacing:.16em;color:#7f9aa6;margin-bottom:28px}

.hero-pro h1{font-size:clamp(70px,9.2vw,138px);line-height:.86;letter-spacing:-.09em;margin:0;font-weight:800;max-width:980px}

.hero-pro h1 span{color:#59dffb}

.hero-pro h1 em{font-style:normal;color:#9ab7c3}

.hero-pro-lead{max-width:680px;margin:34px 0 0;color:#b7c8cf;font-size:18px;line-height:1.78}

.hero-pro-actions{display:flex;align-items:center;gap:28px;margin-top:36px}

.hero-pro-btn{background:#59dffb!important;color:#07131b!important;border-color:#59dffb!important;padding:16px 24px}

.hero-pro-btn:hover{background:#c5f5ff!important}

.hero-pro-textlink{color:#d3e1e6;display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700}

.hero-pro-textlink b{color:#59dffb;font-size:16px;transition:transform .25s}

.hero-pro-textlink:hover b{transform:translateY(3px)}

.hero-pro-rail{border-left:1px solid rgba(255,255,255,.14);padding-left:30px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}

.hero-pro-rail-head{display:flex;justify-content:space-between;color:#6f8792;font-size:12px}

.hero-pro-rule{width:44px;height:1px;background:#59dffb;margin:22px 0}

.hero-pro-rail-title{font:800 34px/.96 Manrope;letter-spacing:-.065em}

.hero-pro-rail p{color:#8197a3;font-size:13px;line-height:1.75;max-width:220px;margin:18px 0 28px}

.hero-pro-rail-list{border-top:1px solid rgba(255,255,255,.1)}

.hero-pro-rail-list div{display:flex;justify-content:flex-start;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px;color:#b7c7cd}

.hero-pro-rail-list span{font:600 12px "IBM Plex Mono";color:#59dffb;width:18px}

.hero-pro-bottom{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:22px;border-top:1px solid rgba(255,255,255,.14);padding:19px 0 24px}

.hero-pro-marquee{display:flex;align-items:center;gap:14px;color:#6f8792}

.hero-pro-line{width:42px;height:1px;background:#2c4f5f}

.hero-pro-meta{display:flex;flex-direction:column;gap:7px}

.hero-pro-meta .mono,.hero-pro-marquee .mono{font-size:8px;color:#6f8792}

.hero-pro-meta strong{font:500 12px "DM Sans";color:#c8d6db}

@media(max-width:980px){
.hero-pro-main{grid-template-columns:1fr;gap:46px;padding:70px 0 60px}

.hero-pro-rail{align-self:auto;padding:28px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:1fr 1fr;gap:24px}

.hero-pro-rail-head,.hero-pro-rule,.hero-pro-rail-title,.hero-pro-rail p,.hero-pro-rail-list{grid-column:1}

.hero-pro-rail-list{grid-column:2;grid-row:1 / span 5;align-self:end;margin-top:55px}

.hero-pro-bottom{grid-template-columns:1fr 1fr}

.hero-pro-marquee{grid-column:1 / -1}
}

@media(max-width:640px){
.hero-pro{min-height:auto}

.hero-pro-wrap{width:calc(100% - 30px)}

.hero-pro-main{padding:58px 0 48px}

.hero-pro h1{font-size:56px;line-height:.88}

.hero-pro-lead{font-size:16px;line-height:1.72;margin-top:26px}

.hero-pro-actions{flex-wrap:wrap;margin-top:28px;gap:16px}

.hero-pro-rail{grid-template-columns:1fr;gap:0}

.hero-pro-rail-list{grid-column:1;grid-row:auto;margin-top:20px}

.hero-pro-bottom{grid-template-columns:1fr;padding-top:17px}

.hero-pro-meta:nth-child(3){display:none}
}

.build-section{
  padding:110px 0;
  background:var(--soft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.build-head{
  display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px
}

.build-head h2{max-width:800px}

.build-head p{max-width:410px;margin:0;color:var(--muted)}

.service-no{font:600 11px "IBM Plex Mono";color:var(--blue)}

.service:hover .service-arrow{background:var(--blue);color:#fff;border-color:var(--blue)}

.service:before{
  content:"";position:absolute;width:170px;height:170px;border-radius:50%;
  right:-90px;top:-90px;background:rgba(54,183,232,.08);transition:.4s ease
}

.service:hover:before{transform:scale(2.2)}

.service h3,.service p,.service-no,.service-arrow{position:relative;z-index:1}
.services{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.service{
  min-height: 335px;
  background: rgba(255,255,255,.9);
  padding: 38px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(7,19,29,.075);
  border-radius: 8px;
  transition: .35s cubic-bezier(.2,.8,.2,1);
  box-shadow: 0 12px 45px rgba(7,19,29,.045);
  position: relative;
  overflow: hidden;
}
.service h3{
  font-family: Manrope,sans-serif;
  font-size: 36px;
  line-height: 1.08;
  letter-spacing: -.06em;
  max-width: 410px;
  margin: 0 0 12px;
}
.service p{
  max-width: 450px;
  color: var(--muted);
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}
.service-arrow{
  width: 42px;
  height: 42px;
  border: 1px solid rgba(7,17,27,.12);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 18px;
  color: var(--blue);
  transition: .25s ease;
}
.service:hover{
  background: #fff;
  transform: translateY(-8px);
  box-shadow: 0 28px 70px rgba(7,19,29,.12);
}

.build-section .section-number{
  display:flex;align-items:center;gap:10px;
  font:600 10px "IBM Plex Mono";
  color:var(--blue);
  margin-bottom:22px;
  letter-spacing:.08em;
  text-transform:none;
}

.build-section .section-number:before{
  content:"";width:25px;height:1px;background:var(--blue);display:inline-block
}

@media(max-width:850px){
.build-head{gap:35px}
}

@media(max-width:600px){
.build-section{padding:80px 0}

.build-head{display:block;margin-bottom:40px}

.build-head p{margin-top:24px}

.services{grid-template-columns:1fr}

.service{padding:28px;min-height:285px}

.service h3{font-size:31px}
}

.process-rebuild:before{
  content:"05";
  position:absolute;
  right:-.03em;
  top:-.34em;
  font:700 clamp(180px,25vw,390px)/1 "Manrope",sans-serif;
  letter-spacing:-.11em;
  color:rgba(54,183,232,.055);
  pointer-events:none;
}

.process-step:first-child{
  border-left:1px solid rgba(7,17,27,.11);
}

.process-step:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-2px;
  height:3px;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}

.process-step:hover{
  background:rgba(255,255,255,.62);
}

.process-step:hover:before{
  transform:scaleX(1);
}

.process-index{
  font:600 12px/1 "IBM Plex Mono",monospace;
  color:var(--blue);
  white-space:nowrap;
}

.process-line{
  height:1px;
  flex:1;
  background:rgba(7,17,27,.12);
}

.process-kicker{
  display:block;
  margin-bottom:15px;
  font:600 10px/1.2 "IBM Plex Mono",monospace;
  letter-spacing:.14em;
  color:rgba(7,17,27,.48);
}

.process-arrow{
  width:38px;
  height:38px;
  margin-top:auto;
  display:grid;
  place-items:center;
  border:1px solid rgba(7,17,27,.13);
  border-radius:50%;
  color:var(--blue);
  font-size:17px;
  transition:.3s ease;
}

.process-step:hover .process-arrow{
  color:#fff;
  background:var(--blue);
  border-color:var(--blue);
  transform:translate(3px,-3px);
}

.process-rebuild{
  position: relative;
  overflow: hidden;
  background: #eef2f4;
  border-top: 1px solid rgba(7,17,27,.08);
  border-bottom: 1px solid rgba(7,17,27,.08);
  padding-top: 72px;
  padding-bottom: 72px;
}
.process-intro{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr);
  align-items: center;
  gap: 70px;
  margin-bottom: 48px;
}
.process-intro .section-number{
  margin-bottom: 14px;
}
.process-intro p{
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
  max-width: 390px;
}
.process-track{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border-top: 1px solid rgba(7,17,27,.14);
  width: 100%;
}
.process-step{
  position: relative;
  min-height: 300px;
  padding: 22px 24px 24px;
  border-right: 1px solid rgba(7,17,27,.11);
  display: flex;
  flex-direction: column;
  transition: background .3s ease, transform .3s ease;
}
.process-step-top{
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 38px;
}
.process-step h3{
  margin: 0 0 13px;
  font-size: clamp(21px,1.8vw,28px);
  line-height: 1;
  letter-spacing: -.055em;
}
.process-step p{
  max-width: 245px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

@media(max-width:850px){
.process-rebuild{
    padding-top:60px;
    padding-bottom:60px;
  }

.process-intro{
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:40px;
  }

.process-track{
    grid-template-columns:repeat(2,1fr);
  }

.process-step{
    min-height:auto;
    padding:26px 22px 28px;
  }

.process-step:nth-child(2){
    border-right:0;
  }

.process-step:nth-child(3),
.process-step:nth-child(4){
    border-top:1px solid rgba(7,17,27,.11);
  }
}

@media(max-width:560px){
.process-track{
    grid-template-columns:1fr;
  }

.process-step{
    border-right:0 !important;
    border-bottom:1px solid rgba(7,17,27,.11);
    padding:24px 4px 26px;
  }

.process-step:last-child{
    border-bottom:0;
  }

.process-step:nth-child(3),
.process-step:nth-child(4){
    border-top:0;
  }

.process-step p{
    max-width:none;
  }
}
h1{
  font-size: clamp(48px,6.2vw,88px) !important;
  line-height: .80;
  font-weight: 800;
}
h2{
  font-size: clamp(38px,4.8vw,68px) !important;
  line-height: .91;
  font-weight: 800;
}
.process-intro h2{
  max-width: 650px;
  margin: 0;
  font-size: clamp(30px,3vw,44px) !important;
  line-height: 1.02;
  letter-spacing: -.065em;
}

.manifesto .wrap{
  width:min(1535px,calc(100% - 56px));
}
.manifesto h2{
  max-width: 940px;
  margin: 0;
  font-size: clamp(48px,4.45vw,78px) !important;
  line-height: .98;
  letter-spacing: -.065em;
}

@media(max-width:900px){
.manifesto{
    padding:90px 0;
  }

.manifesto .wrap{
    width:calc(100% - 40px);
  }

.manifesto h2{
    font-size:clamp(42px,7vw,62px) !important;
  }
}

@media(max-width:600px){
.manifesto{
    padding:70px 0;
  }

.manifesto h2{
    font-size:42px !important;
  }
}
.manifesto{
  padding: 115px 0 125px;
}

@media(max-width:900px){
.manifesto{
    padding:90px 0;
  }
}

@media(max-width:600px){
.manifesto{
    padding:70px 0;
  }
}

.manifesto-rebuild{
  position:relative;
  overflow:hidden;
  padding:115px 0 120px;
  background:#f5f7f8;
  border-top:1px solid rgba(7,17,27,.08);
  border-bottom:1px solid rgba(7,17,27,.08);
}

.manifesto-rebuild .wrap{
  width:min(1450px,calc(100% - 56px));
}

.manifesto-top{
  display:grid;
  grid-template-columns:minmax(190px,.55fr) minmax(0,2.15fr);
  gap:80px;
  padding-top:27px;
  border-top:1px solid var(--ink);
}

.manifesto-label{
  padding-top:3px;
}

.manifesto-label p{
  max-width:250px;
  margin:28px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.75;
}

.manifesto-heading h2{
  max-width:960px;
  margin:0;
  font-size:clamp(45px,4.3vw,72px) !important;
  line-height:.98;
  letter-spacing:-.065em;
}

.manifesto-heading em{
  color:var(--blue);
  font-style:normal;
}

.manifesto-bottom{
  display:grid;
  grid-template-columns:minmax(190px,.55fr) minmax(0,2.15fr);
  gap:80px;
  margin-top:80px;
  padding-top:28px;
  border-top:1px solid rgba(7,17,27,.14);
}

.manifesto-statement{
  display:flex;
  align-items:flex-start;
  gap:16px;
}

.manifesto-mark{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid rgba(7,17,27,.14);
  border-radius:50%;
  color:var(--blue);
  font-size:13px;
}

.manifesto-statement p{
  max-width:250px;
  margin:1px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.75;
}

.manifesto-values{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-left:1px solid rgba(7,17,27,.12);
}

.manifesto-value{
  position:relative;
  min-height:205px;
  padding:0 28px 20px;
  border-right:1px solid rgba(7,17,27,.12);
  transition:background .3s ease, transform .3s ease;
}

.manifesto-value:last-child{
  border-right:0;
}

.manifesto-value:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-29px;
  height:2px;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
}

.manifesto-value:hover{
  background:rgba(255,255,255,.72);
  transform:translateY(-4px);
}

.manifesto-value:hover:before{
  transform:scaleX(1);
}

.value-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:43px;
}

.value-head > span:first-child{
  font:600 11px/1 "IBM Plex Mono",monospace;
  color:var(--blue);
}

.value-arrow{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(7,17,27,.13);
  border-radius:50%;
  color:var(--blue);
  font-size:16px;
  transition:.3s ease;
}

.manifesto-value:hover .value-arrow{
  color:#fff;
  background:var(--blue);
  border-color:var(--blue);
  transform:translate(2px,-2px);
}

.manifesto-value h3{
  margin:0 0 12px;
  font-size:24px;
  line-height:1;
  letter-spacing:-.045em;
}

.manifesto-value p{
  max-width:255px;
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.75;
}

@media(max-width:950px){
.manifesto-rebuild{
    padding:90px 0;
  }

.manifesto-top,
  .manifesto-bottom{
    grid-template-columns:1fr;
    gap:38px;
  }

.manifesto-label p,
.manifesto-statement p{
  max-width:500px;
}

.manifesto-bottom{
    margin-top:60px;
  }

.manifesto-values{
    border-left:0;
    border-top:1px solid rgba(7,17,27,.12);
  }

.manifesto-value{
    padding-top:25px;
  }

.manifesto-value:before{
    top:-1px;
  }
}

@media(max-width:650px){
.manifesto-rebuild{
    padding:70px 0;
  }

.manifesto-rebuild .wrap{
    width:calc(100% - 40px);
  }

.manifesto-top{
    gap:30px;
  }

.manifesto-heading h2{
    font-size:40px !important;
  }

.manifesto-values{
    grid-template-columns:1fr;
  }

.manifesto-value{
    min-height:auto;
    padding:24px 0;
    border-right:0;
    border-bottom:1px solid rgba(7,17,27,.12);
  }

.manifesto-value:last-child{
    border-bottom:0;
  }

.value-head{
    margin-bottom:30px;
  }
}

.kicker-cyan{color:#64defa}
