@font-face{
  font-family:Manrope;
  src:url('assets/manrope-variable.ttf') format('truetype');
  font-weight:400 800;
  font-style:normal;
  font-display:swap
}
:root{
  --ink:#111214;
  --surface:#191d18;
  --paper:#f3f2ee;
  --white:#f7f8fa;
  --accent:#c5f36a;
  --accent-soft:#d9f8ab;
  --focus-ring:var(--accent);
  --muted:#a2a6ae;
  --line:#32382d;
  --line-light:#d4d4cf;
  --font:Manrope,'Segoe UI',sans-serif;
  --gutter:clamp(1.25rem,4.5vw,5rem);
  --max:1440px;
  --header:88px;
  --ease:cubic-bezier(.2,.7,.25,1)
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header) + 20px);
  background:var(--ink)
}
body{
  margin:0;
  color:var(--white);
  font-family:var(--font);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased
}
body.menu-open{
  overflow:hidden
}
a{
  color:inherit;
  text-decoration:none
}
button{
  font:inherit;
  cursor:pointer;
  color:inherit
}
button,a{
  -webkit-tap-highlight-color:transparent
}
button{
  border:0
}
svg,img{
  display:block;
  max-width:100%
}
img{
  height:auto
}
h1,h2,h3,p{
  margin-top:0
}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--focus-ring);
  outline-offset:5px
}
::selection{
  background:var(--accent);
  color:var(--ink)
}
[hidden]{
  display:none!important
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.icon-defs{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden
}
.icon{
  width:22px;
  height:22px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round
}
.wrap{
  width:100%;
  max-width:var(--max);
  padding-inline:var(--gutter);
  margin-inline:auto
}
.section-space{
  padding-top:112px;
  padding-bottom:112px
}
.eyebrow{
  font-size:11px;
  line-height:1.5;
  letter-spacing:.13em;
  font-weight:700;
  margin-bottom:24px
}
.skip{
  position:fixed;
  z-index:1000;
  top:12px;
  left:12px;
  padding:12px 20px;
  background:var(--accent);
  color:var(--ink);
  transform:translateY(-160%)
}
.skip:focus{
  transform:none
}
.header{
  position:sticky;
  top:0;
  z-index:60;
  min-height:var(--header);
  padding:20px var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid var(--line);
  background:var(--ink)
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
  font-size:25px;
  font-weight:800;
  letter-spacing:-1.6px;
  line-height:1
}
.brand-mark{
  width:31px;
  height:31px;
  fill:var(--accent)
}
.brand-lighter{
  font-weight:500
}
.brand-period{
  color:var(--accent)
}
.desktop-nav{
  display:flex;
  align-items:center;
  gap:28px;
  font-size:12px;
  color:#d1d2d6
}
.desktop-nav a{
  transition:color .2s
}
.desktop-nav a:hover{
  color:var(--accent-soft)
}
.header-actions{
  display:flex;
  align-items:center;
  gap:16px
}
.header-contact{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:20px;
  font-size:12px;
  font-weight:700;
  border:1px solid #555860;
  border-radius:6px;
  padding:10px 16px;
  transition:border-color .2s,background .2s
}
.header-contact:hover{
  background:var(--surface);
  border-color:var(--accent)
}
.header-contact .icon{
  width:16px;
  height:16px
}
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  position:relative;
  background:none;
  border:1px solid var(--line);
  border-radius:6px
}
.menu-toggle>span:not(.sr-only){
  position:absolute;
  left:11px;
  width:20px;
  height:1px;
  background:var(--white);
  top:17px;
  transition:transform .2s
}
.menu-toggle>span:nth-child(2){
  top:24px
}
.menu-toggle[aria-expanded=true]>span:first-child{
  transform:translateY(3.5px) rotate(45deg)
}
.menu-toggle[aria-expanded=true]>span:nth-child(2){
  transform:translateY(-3.5px) rotate(-45deg)
}
.mobile-nav{
  position:fixed;
  inset:var(--header) 0 0;
  z-index:59;
  overflow-y:auto;
  background:var(--ink);
  padding:36px var(--gutter)
}
.mobile-nav>a{
  display:flex;
  align-items:center;
  gap:16px;
  padding:24px 0;
  font-size:clamp(23px,6vw,38px);
  font-weight:600;
  letter-spacing:-1px;
  border-bottom:1px solid var(--line)
}
.mobile-nav>a>span{
  font-size:12px;
  color:var(--accent-soft);
  align-self:flex-start;
  letter-spacing:0
}
.mobile-nav .icon{
  margin-left:auto
}
.mobile-nav>p{
  margin-top:40px;
  color:var(--muted);
  font-size:14px
}
.hero{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  column-gap:12px;
  position:relative;
  padding-top:64px;
  padding-bottom:0;
  overflow:hidden
}
.hero-copy{
  position:relative;
  z-index:2;
  padding-top:12px
}
.hero .eyebrow{
  display:flex;
  align-items:center;
  gap:9px;
  color:#c2c6cd;
  font-size:10px;
  letter-spacing:.11em
}
.signal{
  width:6px;
  height:6px;
  background:var(--accent);
  border-radius:50%;
  flex:none
}
h1{
  font-size:clamp(56px,7.5vw,108px);
  line-height:1.04;
  letter-spacing:-.065em;
  font-weight:600;
  margin-bottom:28px
}
h1>span{
  color:var(--accent)
}
.hero-description{
  font-size:clamp(16px,1.5vw,21px);
  line-height:1.65;
  color:#c0c3ca;
  margin-bottom:30px;
  letter-spacing:-.02em
}
.hero-actions{
  display:flex;
  align-items:center;
  gap:28px;
  flex-wrap:wrap
}
.button{
  min-height:54px;
  padding:16px 22px;
  border-radius:6px;
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:28px;
  font-size:13px;
  line-height:1.5;
  font-weight:700;
  transition:background .2s,transform .2s
}
.button:hover{
  transform:translateY(-2px)
}
.button-accent{
  background:var(--accent);
  color:#17210d
}
.button-accent:hover{
  background:#d7ff90
}
.button-dark{
  background:var(--ink);
  color:var(--white)
}
.button-dark:hover{
  background:#292d35
}
.button .icon{
  width:18px;
  height:18px
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:20px;
  font-size:12px;
  font-weight:600
}
.text-link:hover{
  color:var(--accent)
}
.text-link>span{
  font-size:18px
}
.hero-note{
  font-size:10px;
  color:var(--muted);
  margin-top:22px;
  margin-bottom:32px
}
.hero-art{
  position:relative;
  min-width:0;
  min-height:540px;
  align-self:stretch;
  margin:0 -24px 12px 0
}
.art-grid{
  position:absolute;
  inset:22px 0 28px;
  opacity:.4;
  background-image:linear-gradient(#3b404c 1px,transparent 1px),linear-gradient(90deg,#3b404c 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse at center,#000 15%,transparent 70%)
}
.byte-sculpture{
  width:105%;
  max-width:none;
  position:absolute;
  left:-1%;
  top:-22px;
  filter:drop-shadow(0 32px 32px #08090b)
}
.sculpture-block{
  transition:transform .6s var(--ease)
}
.hero-art:hover .block-one{
  transform:translate(-6px,-8px)
}
.hero-art:hover .block-two{
  transform:translate(8px,-2px)
}
.hero-art:hover .block-three{
  transform:translate(-6px,6px)
}
.art-coordinate{
  position:absolute;
  z-index:1;
  display:flex;
  justify-content:space-between;
  font-size:9px;
  letter-spacing:.12em;
  color:var(--muted)
}
.art-coordinate-top{
  top:0;
  left:30px;
  right:0
}
.art-coordinate-bottom{
  bottom:28px;
  left:36px;
  right:12px
}
.art-caption{
  position:absolute;
  z-index:2;
  bottom:94px;
  left:8%;
  right:5%;
  background:#1b2018;
  border:1px solid #4a5260;
  border-radius:7px;
  padding:18px 20px;
  display:flex;
  align-items:center;
  gap:16px;
  box-shadow:0 12px 32px #0a0b0d66;
  font-size:11px;
  line-height:1.6;
  color:var(--muted)
}
.art-caption strong{
  font-weight:500;
  color:var(--white)
}
.art-dot{
  width:9px;
  height:9px;
  background:var(--accent);
  border-radius:2px;
  transform:rotate(45deg);
  margin-left:4px
}
.caption-arrow{
  margin-left:auto;
  font-size:25px;
  color:var(--accent-soft)
}
.hero-bottom{
  grid-column:1/-1;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  padding-block:24px;
  margin-top:12px;
  font-size:11px;
  color:#aeb2bb
}
.hero-bottom>a{
  font-size:9px;
  letter-spacing:.12em;
  display:flex;
  gap:28px;
  align-items:center
}
.hero-bottom>a>span{
  font-size:20px;
  color:white
}
.capabilities-band{
  background:var(--accent);
  color:#17210d;
  overflow:hidden
}
.band-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-block:23px;
  font-size:14px;
  font-weight:700;
  letter-spacing:-.02em
}
.band-inner i{
  font-size:24px;
  font-style:normal;
  font-weight:400
}
.section-light{
  --focus-ring:#405c1d;
  background:var(--paper);
  color:var(--ink)
}
.section-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:36px
}
.section-top .eyebrow{
  margin:0;
  color:inherit
}
.section-top>p:not(.eyebrow){
  font-size:12px;
  line-height:1.6;
  color:#65686b;
  margin:0;
  max-width:240px
}
.section-index{
  font-size:10px;
  letter-spacing:.1em;
  color:var(--muted)
}
h2{
  font-size:clamp(36px,4.8vw,66px);
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.06em;
  margin-bottom:48px
}
h2>span{
  color:#74777c
}
.projects h2>span,.contact h2>span{
  color:#9096a0
}
.solutions-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8%;
  margin-top:64px
}
.solution-tabs{
  min-width:0
}
.solution-tab{
  width:100%;
  display:flex;
  align-items:center;
  gap:20px;
  padding:23px 4px;
  border-bottom:1px solid var(--line-light);
  text-align:left;
  background:transparent;
  color:#62666b;
  transition:color .2s
}
.solution-tab:first-child{
  border-top:1px solid var(--line-light)
}
.solution-tab>span{
  font-size:11px;
  align-self:flex-start;
  margin-top:7px;
  color:#62666b
}
.solution-tab>strong{
  font-size:clamp(19px,2.3vw,31px);
  font-weight:500;
  letter-spacing:-.05em
}
.solution-tab>.icon{
  margin-left:auto;
  width:21px;
  height:21px
}
.solution-tab[aria-selected=true],.solution-tab:hover{
  color:var(--ink)
}
.solution-tab[aria-selected=true]>.icon{
  color:#405c1d
}
.solution-panels{
  min-width:0
}
.solution-panel{
  padding:0 0 12px;
  min-height:355px
}
.solution-icon{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px;
  color:#405c1d
}
.solution-icon .icon{
  width:29px;
  height:29px
}
.solution-icon>span{
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em
}
.solution-panel h3{
  font-size:clamp(24px,2.5vw,33px);
  line-height:1.3;
  letter-spacing:-.05em;
  font-weight:500;
  margin-bottom:20px
}
.solution-panel>p{
  font-size:14px;
  color:#62666b;
  max-width:390px;
  line-height:1.8
}
.solution-panel ul{
  list-style:none;
  padding:0;
  margin:24px 0;
  font-size:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  color:#42474e
}
.solution-panel li::before{
  content:'↗';
  color:#405c1d;
  margin-right:8px
}
.inline-cta{
  display:inline-flex;
  align-items:center;
  gap:24px;
  font-weight:700;
  font-size:12px;
  border-bottom:1px solid currentColor;
  padding:8px 0
}
.inline-cta .icon{
  width:17px;
  height:17px
}
.inline-cta:hover{
  color:#405c1d
}
.industries{
  border-top:1px solid var(--line-light);
  margin-top:64px;
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start
}
.industries>span{
  font-size:9px;
  letter-spacing:.08em;
  color:#666a70;
  font-weight:700
}
.industries>p{
  font-size:12px;
  margin:0;
  color:#50545a
}
.industries b{
  padding-inline:10px;
  color:#8a8d92
}
.projects-heading,.contact-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:48px
}
.projects-heading h2,.contact-heading h2{
  margin-bottom:0
}
.projects-heading>p,.contact-heading>p{
  font-size:12px;
  color:var(--muted);
  margin:0 0 8px;
  line-height:1.8
}
.project-rail{
  display:flex;
  position:relative;
  gap:24px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding-block:8px 12px
}
.project-rail::-webkit-scrollbar{display:none}
.project-card{
  flex:0 0 calc((100% - 24px)/2);
  min-width:0;
  scroll-snap-align:start
}
.carousel-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.carousel-pause{
  font-size:10px;
  color:var(--muted);
  background:none;
  padding:12px 0;
  margin-right:12px;
  text-decoration:underline;
  text-underline-offset:5px
}
.carousel-pause:disabled{cursor:default;text-decoration:none}
.carousel-count{font-size:10px;letter-spacing:.06em;color:var(--muted);min-width:52px;text-align:center}
.carousel-arrow{
  width:44px;
  height:44px;
  flex:none;
  border:1px solid var(--line);
  border-radius:50%;
  background:none;
  font-size:22px;
  transition:background .2s,color .2s,border-color .2s
}
.carousel-arrow:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.project-open{
  display:inline-flex;
  align-items:center;
  gap:20px;
  font-size:11px;
  color:var(--accent);
  margin-top:20px;
  border-bottom:1px solid #718349;
  padding-bottom:5px
}
.product-preview{
  position:relative;
  display:grid;
  grid-template-columns:26% 1fr;
  aspect-ratio:1.57;
  overflow:hidden;
  padding-bottom:22px;
  background:#edf0e8;
  color:var(--ink)
}
.mini-sidebar{
  display:flex;
  flex-direction:column;
  gap:6%;
  padding:15% 9%;
  background:#171c14;
  color:#afb7a8;
  font-size:clamp(7px,.8vw,11px)
}
.mini-sidebar strong{font-size:clamp(7px,.85vw,12px);color:#f3f6ef;line-height:1.4;margin-bottom:10%}
.mini-sidebar strong span{display:block;font-size:clamp(5px,.5vw,7px);letter-spacing:.1em;color:#9ba68e;margin-top:6px}
.mini-sidebar>span{padding:5% 7%;white-space:nowrap}
.mini-sidebar .mini-active{background:var(--accent);color:#17210d;border-radius:3px}
.mini-content{min-width:0;padding:8% 7% 5%;overflow:hidden}
.mini-eyebrow{display:block;font-size:clamp(5px,.55vw,8px);font-weight:700;letter-spacing:.08em;color:#52623e;margin-bottom:6%}
.mini-title{display:block;font-size:clamp(18px,2.3vw,34px);line-height:1.1;letter-spacing:-.055em;font-weight:600}
.route-map{position:relative;margin-block:6%;background:#e4e9de;border:1px solid #d3dacb;border-radius:5px;overflow:hidden}
.route-map svg{width:100%;aspect-ratio:2.2}
.route-pin{position:absolute;top:28%;left:57%;background:#203017;color:var(--accent);width:24px;height:24px;border-radius:50%;display:grid;place-content:center;font-size:14px}
.mini-status{display:flex;justify-content:space-between;gap:4px;font-size:clamp(5px,.65vw,9px);font-weight:600;color:#3e512c}
.mini-status span{padding:3% 0}
.preview-disclosure{position:absolute;bottom:0;left:0;right:0;padding:6px 10px;border-top:1px solid #53624635;background:#e4e9de;color:#4e5e3d;font-size:clamp(5px,.5vw,7px);letter-spacing:.07em;font-weight:700;text-align:right}
.preview-sales{background:#222a1d;color:#f1f5eb}
.preview-sales .mini-eyebrow{color:#b8c7a4}
.preview-sales .mini-title{font-size:clamp(17px,2vw,29px)}
.preview-sales .preview-disclosure{background:#1d2418;color:#a6b991;border-color:#53624655}
.mini-metrics{display:flex;gap:7%;margin-top:8%;font-size:clamp(6px,.6vw,9px);color:#b7c6a3}
.mini-metrics span{flex:1}
.mini-metrics i{display:block;width:75%;height:5px;background:#c5f36a;border-radius:2px;margin-top:8px;opacity:.7}
.mini-metrics span:nth-child(2) i{width:50%;opacity:.4}
.mini-metrics span:nth-child(3) i{width:90%;opacity:.9}
.sales-chart{width:100%;margin-top:8%}
.preview-ops{display:flex;flex-direction:column;padding:5% 6% 28px;background:#dcecc2;color:#243319}
.ops-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:4%;border-bottom:1px solid #a7ba884d}
.ops-top strong{font-size:clamp(7px,1vw,14px);letter-spacing:-.03em}
.ops-top strong span{display:block;font-size:clamp(5px,.45vw,7px);letter-spacing:.13em;margin-top:3px;color:#62734a}
.ops-badge{display:grid;place-content:center;width:28px;height:28px;border-radius:50%;background:#253618;color:#d7f7aa;font-size:18px}
.ops-body{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1}
.ops-body .mini-title{font-size:clamp(22px,3vw,42px)}
.ops-chip{display:inline-block;margin-top:12%;font-size:clamp(6px,.7vw,10px);padding:5px 8px;border:1px solid #9db77b;border-radius:30px}
.ops-orbit{width:36%;flex:none;text-align:center}
.ops-ring{display:grid;place-content:center;aspect-ratio:1;border:8px solid #2e431c;border-right-color:#accf75;border-radius:50%;outline:1px solid #b6c99a;outline-offset:8px}
.ops-ring .icon{width:clamp(25px,4vw,55px);height:clamp(25px,4vw,55px);stroke-width:1.2}
.orbit-label{display:block;font-size:clamp(5px,.5vw,7px);letter-spacing:.1em;margin-top:22px;color:#4e6731}
.ops-bottom{display:flex;gap:6%;font-size:clamp(6px,.65vw,9px);margin-top:3%;padding-top:3%;border-top:1px solid #a7ba8855}
.ops-bottom span{display:flex;justify-content:space-between;flex:1}
.ops-bottom b{font-weight:400}
.preview-ops .preview-disclosure{background:#d2e5b1}

.project{
  min-width:0;
  display:block
}
.project-image{
  border-radius:9px;
  overflow:hidden;
  border:1px solid #3b3f46;
  background:var(--surface);
  transition:transform .4s var(--ease),border-color .3s
}
.project:hover .project-image{
  transform:translateY(-5px);
  border-color:#737b8d
}
.browser-bar{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  background:#24272e;
  color:#b4b9c3;
  font-size:8px;
  font-weight:500
}
.browser-bar>span:first-child{
  display:flex;
  align-items:center;
  gap:4px
}
.browser-bar i{
  display:block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#656c78
}
.project-image img{
  width:100%;
  aspect-ratio:1.57;
  object-fit:cover;
  object-position:top;
  transition:transform .6s var(--ease)
}
.project:hover .project-image img{
  transform:scale(1.025)
}
.project-info{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-top:24px
}
.project-label{
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
  color:#a4acb8
}
.project-info h3{
  font-size:26px;
  font-weight:500;
  letter-spacing:-.05em;
  margin:7px 0 4px
}
.project-info p{
  color:var(--muted);
  font-size:12px;
  margin:0
}
.circle-arrow{
  display:grid;
  place-content:center;
  width:42px;
  height:42px;
  border:1px solid #454a54;
  border-radius:50%;
  font-size:23px;
  font-weight:400;
  transition:background .2s,color .2s
}
.project:hover .circle-arrow{
  background:var(--accent);
  color:var(--ink);
  border-color:var(--accent)
}
.project-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px
}
.project-tags>span{
  padding:5px 10px;
  border:1px solid #363b43;
  border-radius:4px;
  color:#aeb4be;
  font-size:9px
}
.project-note{
  font-size:10px;
  color:var(--muted);
  margin:32px 0 0
}
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  list-style:none;
  gap:32px;
  padding:0;
  margin:56px 0 48px
}
.step-number{
  display:flex;
  justify-content:space-between;
  border-top:1px solid #bfc2c3;
  padding-top:20px;
  font-size:30px;
  font-weight:400;
  color:#858b92;
  letter-spacing:-.04em
}
.step-number>span{
  font-size:18px;
  color:#727981
}
.steps h3{
  font-size:21px;
  font-weight:500;
  letter-spacing:-.04em;
  margin-top:32px;
  margin-bottom:12px
}
.steps p{
  font-size:12px;
  line-height:1.8;
  color:#63686f;
  max-width:230px
}
.trust-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-top:40px;
  border-top:1px solid var(--line-light)
}
.trust-line>p{
  font-size:20px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:-.04em;
  margin:0;
  color:#676d73
}
.trust-line strong{
  color:var(--ink);
  font-weight:500
}
.contact-country{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:10px;
  letter-spacing:.05em;
  color:#c1c6ce
}
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.person{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:20px;
  align-items:start;
  padding:28px;
  border:1px solid #3a3e46;
  border-radius:8px;
  background:#191b20;
  transition:border-color .2s,background .2s
}
.person:hover{
  border-color:var(--accent);
  background:#232a1c
}
.person-avatar{
  width:48px;
  height:48px;
  display:grid;
  place-content:center;
  background:#3f5c25;
  border-radius:50%;
  color:#e4f7cf;
  font-size:15px;
  font-weight:600
}
.person-avatar-light{
  background:#363c47;
  color:#e6e9ee
}
.person-details h3{
  font-size:20px;
  font-weight:500;
  letter-spacing:-.045em;
  margin-bottom:4px;
  line-height:1.4
}
.person-details>p{
  font-size:11px;
  color:var(--muted);
  margin-bottom:16px
}
.person-details>span{
  font-size:14px;
  color:#d6dbe4
}
.person-action{
  grid-column:1/-1;
  display:flex;
  gap:12px;
  align-items:center;
  border-top:1px solid #3a3f48;
  padding-top:20px;
  margin-top:4px;
  color:var(--accent-soft);
  font-size:12px
}
.person-action .icon:last-child{
  margin-left:auto;
  width:17px;
  height:17px
}
.location{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  margin-top:72px;
  border:1px solid #383d44;
  border-radius:8px;
  overflow:hidden
}
.location-copy{
  padding:40px
}
.location-icon{
  display:grid;
  place-content:center;
  border:1px solid #454c57;
  border-radius:7px;
  width:40px;
  height:40px;
  color:var(--accent-soft);
  margin-bottom:24px
}
.location-copy .eyebrow{
  font-size:9px;
  color:var(--muted);
  margin-bottom:16px
}
.location h3{
  font-size:28px;
  line-height:1.25;
  letter-spacing:-.05em;
  font-weight:500;
  margin-bottom:28px
}
.location address{
  font-style:normal;
  font-size:13px;
  line-height:1.8;
  color:#b4bac4;
  margin-bottom:20px
}
.location .text-link{
  color:var(--accent-soft);
  font-size:11px
}
.location .text-link .icon{
  width:16px;
  height:16px
}
.location-note{
  font-size:10px;
  color:#9fa6b2;
  margin:20px 0 0
}
.map-shell{
  position:relative;
  background:#e3e7e8;
  min-height:380px
}
.map-shell iframe{
  width:100%;
  height:100%;
  min-height:380px;
  position:absolute;
  inset:0;
  border:0;
  filter:saturate(.65)
}
.map-fallback{
  position:absolute;
  bottom:16px;
  right:16px;
  padding:10px 16px;
  background:var(--paper);
  color:var(--ink);
  border-radius:4px;
  box-shadow:0 4px 12px #0002;
  font-size:10px;
  font-weight:700
}
.latam{
  display:flex;
  gap:24px;
  justify-content:space-between;
  align-items:center;
  margin-top:40px
}
.latam>p{
  font-size:8px;
  letter-spacing:.1em;
  color:#9ba4b1;
  margin:0
}
.latam ul{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  padding:0;
  margin:0
}
.latam li{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:10px;
  color:#adb4bf
}
.flag{
  position:relative;
  display:inline-block;
  width:20px;
  height:13px;
  flex:none;
  border-radius:1px;
  overflow:hidden
}
.flag-co{
  background:linear-gradient(#fbd548 0 50%,#2752ac 50% 75%,#d73f48 75%)
}
.flag-pe{
  background:linear-gradient(90deg,#d75055 0 33%,#f5f4ef 33% 67%,#d75055 67%)
}
.flag-mx{
  background:linear-gradient(90deg,#3b8770 0 33%,#f5f4ef 33% 67%,#d75055 67%)
}
.flag-mx::after{
  content:'';
  position:absolute;
  width:3px;
  height:4px;
  background:#92785d;
  left:9px;
  top:5px
}
.flag-ar{
  background:linear-gradient(#7aafcf 0 33%,#f5f4ef 33% 67%,#7aafcf 67%)
}
.flag-ar::after{
  content:'';
  position:absolute;
  width:3px;
  height:3px;
  background:#d5af52;
  border-radius:50%;
  left:9px;
  top:5px
}
.faq-layout{
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:64px;
  padding-top:64px;
  padding-bottom:64px
}
.faq h2{
  font-size:36px;
  line-height:1.2;
  margin:0
}
.faq details{
  border-top:1px solid var(--line-light)
}
.faq details:last-child{
  border-bottom:1px solid var(--line-light)
}
.faq summary{
  min-height:70px;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  cursor:pointer;
  font-size:12px;
  font-weight:600;
  padding:18px 0
}
.faq summary::-webkit-details-marker{
  display:none
}
.faq summary .icon{
  width:17px;
  height:17px;
  transition:transform .2s
}
.faq details[open] summary .icon{
  transform:rotate(180deg)
}
.faq details>p{
  font-size:12px;
  line-height:1.8;
  color:#5c6269;
  padding-right:30px;
  margin-bottom:24px
}
.footer{
  padding-top:56px;
  padding-bottom:28px
}
.footer-top{
  display:flex;
  gap:48px;
  align-items:center;
  margin-bottom:40px
}
.footer-top>p{
  font-size:11px;
  color:#a9b0ba;
  line-height:1.7;
  margin:0
}
.back-top{
  margin-left:auto;
  font-size:10px;
  color:#b7bec8
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  border-top:1px solid var(--line);
  padding-top:24px;
  font-size:9px;
  color:#959da9
}
.privacy-link{
  font-size:10px;
  color:#b7bec8;
  background:none;
  padding:12px 0
}
.floating-contact{
  position:fixed;
  bottom:24px;
  right:24px;
  z-index:45;
  display:flex;
  align-items:center;
  gap:16px;
  padding:15px 20px;
  border-radius:7px;
  color:#17210d;
  background:var(--accent);
  font-size:12px;
  font-weight:700;
  box-shadow:0 6px 24px #0004;
  transition:background .2s,transform .2s
}
.floating-contact:hover{
  background:#d7ff90;
  transform:translateY(-3px)
}
.floating-contact>.icon:last-child{
  width:15px;
  height:15px
}
.menu-open .floating-contact{
  visibility:hidden
}
dialog{
  position:fixed;
  max-width:calc(100% - 32px);
  border:1px solid #4e596a;
  border-radius:12px;
  padding:40px;
  background:#1b1e24;
  color:var(--white);
  box-shadow:0 32px 96px #0008
}
dialog::backdrop{
  background:#080b12b8;
  backdrop-filter:blur(7px)
}
dialog h2{
  font-size:38px;
  margin:0 0 20px;
  line-height:1.15
}
dialog .eyebrow{
  font-size:9px;
  color:var(--accent-soft)
}
.contact-dialog{
  width:480px
}
.dialog-close{
  position:absolute;
  right:15px;
  top:12px;
  display:grid;
  place-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#2d333d;
  color:#d9e0eb;
  font-size:25px;
  line-height:1
}
.dialog-intro{
  font-size:13px;
  color:var(--muted);
  margin-bottom:28px
}
.dialog-person{
  display:flex;
  align-items:center;
  gap:14px;
  border-top:1px solid #3c4451;
  padding:20px 0
}
.dialog-person>span:nth-child(2){
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px
}
.dialog-person strong{
  font-size:14px;
  font-weight:600
}
.dialog-person small{
  font-size:11px;
  color:var(--muted)
}
.dialog-person>.icon{
  margin-left:auto;
  color:var(--accent-soft);
  width:18px;
  height:18px
}
.dialog-person:hover{
  color:var(--accent-soft)
}
.dialog-note{
  font-size:10px;
  color:var(--muted);
  line-height:1.8;
  margin:20px 0 0
}
.privacy-dialog{
  max-width:min(580px,calc(100% - 32px))
}
.privacy-dialog>p:not(.eyebrow){
  font-size:13px;
  line-height:1.9;
  color:#b8c0cc
}
.privacy-dialog .inline-cta{
  color:var(--accent-soft)
}
@media(min-width:1500px){
  .hero{
    padding-top:88px
  }
  .hero-art{
    min-height:610px
  }
  .byte-sculpture{
    top:-36px
  }
  .art-caption{
    bottom:110px
  }
  .hero-note{
    margin-bottom:50px
  }
}
@media(max-width:1050px){
  .desktop-nav{
    gap:20px
  }
  .desktop-nav a{
    font-size:11px
  }
  .header-contact{
    font-size:10px;
    gap:14px
  }
  .hero{
    padding-top:48px
  }
  .hero-art{
    min-height:500px
  }
  .byte-sculpture{
    top:12px;
    width:118%;
    left:-10%
  }
  .art-caption{
    bottom:100px
  }
  .hero .eyebrow{
    font-size:8px
  }
  .hero-actions{
    gap:18px
  }
  .text-link{
    font-size:11px
  }
  .hero-actions .button{
    padding:15px 18px;
    gap:20px;
    font-size:12px
  }
  .section-space{
    padding-block:88px
  }
  .solutions-layout{
    gap:6%
  }
  .industries{
    flex-direction:column;
    gap:12px
  }
  .location-copy{
    padding:32px
  }
  .latam{
    align-items:flex-start
  }
  .latam>p{
    max-width:210px;
    line-height:1.8
  }
}
@media(max-width:800px){
  :root{
    --header:76px
  }
  .desktop-nav{
    display:none
  }
  .menu-toggle{
    display:block
  }
  .header{
    padding-block:16px
  }
  .header-contact{
    font-size:11px
  }
  .hero{
    grid-template-columns:1.15fr 1fr;
    padding-top:40px;
    column-gap:0
  }
  h1{
    font-size:clamp(48px,8vw,65px)
  }
  .hero .eyebrow{
    font-size:7px;
    letter-spacing:.08em
  }
  .hero-copy{
    padding-top:8px
  }
  .hero-art{
    margin-right:-30px;
    min-height:470px
  }
  .byte-sculpture{
    top:34px;
    width:130%;
    left:-15%
  }
  .art-coordinate{
    font-size:7px
  }
  .art-coordinate-top{
    left:12px;
    right:12px;
    top:10px
  }
  .art-caption{
    font-size:9px;
    padding:14px;
    bottom:100px;
    left:0;
    right:0;
    gap:10px
  }
  .art-coordinate-bottom{
    left:0;
    right:0;
    bottom:65px;
    font-size:7px
  }
  .hero-actions{
    gap:14px;
    align-items:flex-start;
    flex-direction:column
  }
  .hero-description{
    font-size:15px;
    margin-bottom:24px
  }
  .hero-note{
    font-size:9px
  }
  .band-inner{
    font-size:11px;
    padding-block:20px;
    gap:16px
  }
  .band-inner i{
    font-size:18px
  }
  .section-space{
    padding-block:72px
  }
  .solutions-layout{
    gap:32px
  }
  .solution-tab{
    gap:12px
  }
  .solution-tab>strong{
    font-size:22px
  }
  .solution-tab>span{
    font-size:9px
  }
  .solution-panel h3{
    font-size:27px
  }
  .solution-panel>p{
    font-size:13px
  }
  .solution-panel ul{
    font-size:11px;
    gap:8px
  }
  .projects-heading>p,.contact-heading>p{
    max-width:200px;
    font-size:11px
  }
  .project-info h3{
    font-size:22px
  }
  .project-label{
    font-size:7px
  }
  .browser-bar{
    font-size:6px;
    padding:10px
  }
  .steps{
    gap:20px
  }
  .steps h3{
    font-size:18px
  }
  .steps p{
    font-size:11px
  }
  .person{
    padding:24px 20px;
    gap:14px;
    grid-template-columns:42px 1fr
  }
  .person-avatar{
    width:40px;
    height:40px;
    font-size:13px
  }
  .person-details h3{
    font-size:18px
  }
  .person-action{
    font-size:11px
  }
  .contact-grid{
    gap:16px
  }
  .location{
    grid-template-columns:1fr 1fr;
    margin-top:48px
  }
  .location-copy{
    padding:28px
  }
  .location h3{
    font-size:24px
  }
  .latam ul{
    gap:14px
  }
  .latam li{
    font-size:9px
  }
  .faq-layout{
    gap:40px
  }
  .faq h2{
    font-size:31px
  }
  .footer-top{
    gap:28px
  }
}
@media(max-width:600px){
  :root{
    --gutter:24px;
    --header:76px
  }
  .header-contact{
    display:none
  }
  .brand{
    font-size:24px
  }
  .brand-mark{
    width:29px;
    height:29px
  }
  .hero{
    grid-template-columns:1fr;
    padding-top:40px
  }
  .hero .eyebrow{
    font-size:8px;
    letter-spacing:.1em;
    margin-bottom:24px
  }
  .hero-copy{
    padding-top:0
  }
  h1{
    font-size:clamp(55px,12.8vw,76px);
    line-height:1.06;
    margin-bottom:24px
  }
  .hero-description{
    font-size:16px;
    line-height:1.6;
    margin-bottom:26px
  }
  .hero-actions{
    flex-direction:row;
    align-items:center;
    gap:20px
  }
  .hero-actions .button{
    font-size:11px;
    gap:20px;
    padding:15px 16px
  }
  .hero-actions .text-link{
    font-size:10px;
    gap:12px
  }
  .hero-note{
    font-size:9px;
    margin-bottom:0;
    margin-top:20px
  }
  .hero-art{
    height:360px;
    min-height:0;
    margin:24px 0 0
  }
  .byte-sculpture{
    width:350px;
    max-width:105%;
    left:50%;
    transform:translateX(-50%);
    top:-26px
  }
  .art-grid{
    inset:0;
    background-size:60px 60px
  }
  .art-coordinate-top{
    left:0;
    right:0;
    top:15px;
    font-size:7px
  }
  .art-caption{
    left:8%;
    right:0;
    bottom:43px;
    max-width:280px;
    font-size:9px;
    padding:14px 16px
  }
  .art-coordinate-bottom{
    left:0;
    right:0;
    bottom:0;
    font-size:7px
  }
  .hero-bottom{
    padding-block:20px;
    margin-top:24px;
    font-size:9px
  }
  .hero-bottom>a{
    font-size:8px;
    gap:16px
  }
  .band-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 24px;
    padding-block:20px;
    font-size:11px
  }
  .band-inner>i{
    display:none
  }
  .band-inner>span::before{
    content:'↗';
    margin-right:12px;
    font-size:14px;
    font-weight:400
  }
  .section-space{
    padding-block:64px
  }
  .section-top{
    margin-bottom:28px
  }
  .section-top .eyebrow{
    font-size:9px
  }
  .section-top>p:not(.eyebrow){
    display:none
  }
  h2{
    font-size:clamp(35px,8.4vw,46px);
    letter-spacing:-.055em;
    line-height:1.18;
    margin-bottom:32px
  }
  .solutions-layout{
    grid-template-columns:1fr;
    gap:32px;
    margin-top:36px
  }
  .solution-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 16px
  }
  .solution-tab{
    padding:16px 0;
    gap:8px;
    align-items:center
  }
  .solution-tab:first-child{
    border-top:0
  }
  .solution-tab>strong{
    font-size:15px;
    letter-spacing:-.04em
  }
  .solution-tab>span{
    font-size:8px;
    margin-top:2px;
    align-self:center
  }
  .solution-tab .icon{
    width:14px;
    height:14px
  }
  .solution-tab[aria-selected=true]{
    border-bottom-color:#526c2e
  }
  .solution-panel{
    min-height:340px;
    padding:24px;
    border:1px solid #d2d5d8;
    border-radius:7px;
    background:#f8f8f5
  }
  .solution-panel h3{
    font-size:27px
  }
  .solution-icon{
    margin-bottom:20px
  }
  .solution-icon>span{
    font-size:8px
  }
  .solution-panel>p{
    font-size:13px
  }
  .solution-panel ul{
    gap:8px 16px;
    margin:20px 0
  }
  .inline-cta{
    font-size:11px
  }
  .industries{
    margin-top:32px;
    padding-top:24px;
    gap:10px
  }
  .industries>span{
    font-size:8px
  }
  .industries>p{
    font-size:11px;
    line-height:2
  }
  .industries b{
    padding-inline:6px
  }
  .section-index{
    display:none
  }
  .projects-heading,.contact-heading{
    display:block;
    margin-bottom:32px
  }
  .projects-heading>p,.contact-heading>p{
    max-width:none;
    margin-top:20px;
    font-size:12px
  }
  .project-card{flex-basis:calc(100% - 24px)}
  .carousel-controls{margin-top:24px;width:100%}
  .carousel-pause{margin-right:auto}
  .project-rail{gap:16px}
  .product-preview{padding-bottom:18px}
  .preview-disclosure{padding:5px 7px}
  .preview-ops{padding:5% 6% 22px}
  .ops-ring{border-width:6px;outline-offset:5px}
  .orbit-label{margin-top:14px}
  .ops-chip{padding:4px 6px}
  .mini-sidebar strong span{margin-top:4px}
  .browser-bar{
    font-size:7px;
    padding:10px 12px
  }
  .project-info{
    margin-top:20px
  }
  .project-info h3{
    font-size:25px
  }
  .project-label{
    font-size:8px
  }
  .project-info p{
    font-size:12px
  }
  .project-tags{
    margin-top:16px
  }
  .project-note{
    font-size:9px;
    line-height:1.8;
    margin-top:28px
  }
  .steps{
    grid-template-columns:1fr 1fr;
    gap:20px 24px;
    margin:36px 0
  }
  .step-number{
    font-size:26px;
    padding-top:16px
  }
  .steps h3{
    font-size:20px;
    margin-top:22px;
    margin-bottom:10px
  }
  .steps p{
    font-size:12px
  }
  .trust-line{
    display:block;
    padding-top:28px
  }
  .trust-line>p{
    font-size:20px;
    margin-bottom:24px
  }
  .trust-line .button{
    font-size:12px
  }
  .contact .section-top{
    gap:12px
  }
  .contact-country{
    font-size:8px;
    letter-spacing:0;
    gap:7px
  }
  .contact-country .flag{
    width:16px;
    height:11px
  }
  .contact-grid{
    grid-template-columns:1fr;
    gap:16px
  }
  .person{
    padding:24px;
    grid-template-columns:48px 1fr;
    gap:16px
  }
  .person-avatar{
    width:44px;
    height:44px;
    font-size:14px
  }
  .person-details h3{
    font-size:20px
  }
  .person-details>p{
    font-size:12px;
    margin-bottom:12px
  }
  .person-details>span{
    font-size:14px
  }
  .person-action{
    font-size:12px;
    padding-top:18px
  }
  .location{
    grid-template-columns:1fr;
    margin-top:40px
  }
  .location-copy{
    padding:28px
  }
  .location h3{
    font-size:29px;
    margin-bottom:24px
  }
  .location address{
    font-size:14px
  }
  .location .text-link{
    font-size:12px
  }
  .location-note{
    font-size:11px
  }
  .map-shell,.map-shell iframe{
    min-height:300px
  }
  .latam{
    display:block;
    margin-top:28px
  }
  .latam>p{
    font-size:8px;
    max-width:none;
    margin-bottom:16px
  }
  .latam ul{
    gap:14px 20px
  }
  .latam li{
    font-size:9px
  }
  .latam .flag{
    width:18px;
    height:12px
  }
  .faq-layout{
    grid-template-columns:1fr;
    gap:28px;
    padding-block:48px
  }
  .faq h2{
    font-size:34px
  }
  .faq summary{
    font-size:12px;
    min-height:70px;
    gap:16px
  }
  .footer{
    padding-top:40px;
    padding-bottom:96px
  }
  .footer-top{
    display:grid;
    grid-template-columns:1fr auto;
    gap:24px
  }
  .footer-top>.brand{
    grid-column:1/-1
  }
  .footer-top>p{
    font-size:11px
  }
  .back-top{
    font-size:10px
  }
  .footer-bottom{
    font-size:8px;
    gap:12px;
    flex-wrap:wrap
  }
  .footer-bottom>span:nth-child(2){
    display:none
  }
  .floating-contact{
    bottom:20px;
    right:20px;
    font-size:11px;
    gap:12px;
    padding:14px 18px
  }
  .floating-contact>.icon{
    width:20px;
    height:20px
  }
  .floating-contact>.icon:last-child{
    width:14px;
    height:14px
  }
  dialog{
    padding:32px 24px
  }
  .contact-dialog h2{
    font-size:35px
  }
  .dialog-person strong{
    font-size:13px
  }
  .dialog-person small{
    font-size:10px
  }
  .dialog-person{
    gap:12px
  }
  .dialog-person .person-avatar{
    width:40px;
    height:40px;
    font-size:12px
  }
  .dialog-note{
    font-size:10px
  }
}
@media(max-width:360px){
  :root{
    --gutter:20px
  }
  h1{
    font-size:53px
  }
  .hero-actions{
    gap:16px
  }
  .hero-actions .button{
    padding:14px;
    font-size:10px;
    gap:14px
  }
  .hero-actions .text-link{
    font-size:9px;
    gap:8px
  }
  .hero-art{
    height:325px
  }
  .byte-sculpture{
    top:-20px;
    width:310px
  }
  .art-caption{
    left:4%;
    bottom:38px
  }
  .solution-tab>strong{
    font-size:13px
  }
  .solution-tab>span{
    font-size:7px
  }
  .contact-country{
    font-size:7px
  }
  .contact .section-top .eyebrow{
    font-size:8px
  }
  .person{
    padding:20px;
    gap:12px
  }
  .person-details h3{
    font-size:18px
  }
  .latam ul{
    gap:12px
  }
  .latam li{
    font-size:8px
  }
  .footer-top{
    gap:20px
  }
}
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *,*::before,*::after{
    animation:none!important;
    transition:none!important
  }
  .project:hover .project-image,.project:hover .project-image img,.button:hover,.floating-contact:hover,.hero-art:hover .sculpture-block{
    transform:none
  }
}
.no-js .floating-contact,.no-js .privacy-link,.no-js .solution-tabs,.no-js .menu-toggle,.no-js .carousel-controls{
  display:none
}
.no-js .project-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
@media(max-width:800px){.no-js .project-rail{grid-template-columns:1fr}}
.no-js .solution-panel[hidden]{
  display:block!important
}
.no-js .solution-panels{
  display:grid;
  gap:32px
}
.no-script-note{
  padding-block:20px;
  font-size:12px;
  color:var(--muted)
}
