:root{
  --void:#050914;
  --deep:#0a1230;
  --panel:#0c1638;
  --blue:#3e63e0;
  --blue-light:#8fb4ff;
  --ink:#f2f5ff;
  --muted:#8792b3;
  --line:rgba(143,178,255,0.14);
  --line-strong:rgba(143,178,255,0.28);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--void);
  color:var(--ink);
  font-family:'Manrope',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--blue-light);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:16px; height:1px;
  background:var(--blue-light);
  display:inline-block;
}
h1,h2,h3{font-family:'Bodoni Moda',serif; font-weight:500; letter-spacing:0.01em;}
:focus-visible{outline:2px solid var(--blue-light); outline-offset:3px;}

.nav-right{display:flex; align-items:center; gap:16px;}
.lang-switch{position:relative;}
.lang-trigger{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:0.06em;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 11px;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line-strong);
  border-radius:999px;
  color:var(--ink);
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, border-radius .35s cubic-bezier(.22,1,.36,1), padding .35s cubic-bezier(.22,1,.36,1);
}
.lang-trigger:hover{background:rgba(143,178,255,0.06);border-color:var(--blue-light);}
.lang-trigger .global-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.lang-trigger .global-icon svg{width:18px;height:18px;display:block;}
.lang-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:155px;
  padding:6px;
  background:rgba(10,18,48,0.97);
  backdrop-filter:blur(16px);
  border:1px solid var(--line-strong);
  border-radius:5px;
  box-shadow:0 18px 45px rgba(0,0,0,.45);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px) scale(.98);
  transform-origin:top right;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:150;
}
.lang-switch.open .lang-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.lang-menu button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.05em;
  color:var(--muted);
  background:none;
  border:0;
  padding:9px 10px;
  border-radius:3px;
  cursor:pointer;
  text-align:left;
  transition:background .15s ease,color .15s ease;
}
.lang-menu button:hover{background:rgba(143,178,255,.07);color:var(--ink);}
.lang-menu button.active{color:var(--blue-light);}
.lang-menu button.active::after{content:"✓";color:var(--blue-light);}

header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:22px 0;
  transition:padding .35s cubic-bezier(.22,1,.36,1);
}
header.scrolled{padding:12px 0;}
nav.wrap{
  display:flex; align-items:center; justify-content:space-between;
  transition:max-width .35s cubic-bezier(.22,1,.36,1),
    padding .35s cubic-bezier(.22,1,.36,1),
    background .35s cubic-bezier(.22,1,.36,1), border-color .35s cubic-bezier(.22,1,.36,1),
    border-radius .35s cubic-bezier(.22,1,.36,1),
    box-shadow .35s cubic-bezier(.22,1,.36,1), backdrop-filter .35s cubic-bezier(.22,1,.36,1);
  border:1px solid transparent;
}
header.scrolled nav.wrap{
  max-width:920px;
  padding:8px 12px;
  background:rgba(5,9,20,0.88);
  border-color:var(--line);
  border-radius:999px;
  backdrop-filter:blur(18px) saturate(125%);
  box-shadow:0 10px 38px rgba(0,0,0,.24);
}
header.scrolled .brand img{height:22px;}
header.scrolled .brand{gap:8px;}
header.scrolled .nav-links{gap:26px;}
header.scrolled .nav-links a{font-size:11px;}
header.scrolled .lang-trigger{padding:7px 9px; border-radius:999px;}
header.scrolled .btn-primary{padding:9px 14px; border-radius:999px;}
header .lang-trigger{border-radius:999px;}
header .nav-right > .btn-primary{border-radius:999px;}
.brand{display:flex; align-items:center; gap:10px;}
.brand img{height:26px; width:auto;}
.brand-word{
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--blue-light);
  font-weight:500;
}
.brand-word em{font-style:normal; color:var(--ink);}
.nav-links{display:flex; gap:36px; align-items:center;}
.nav-links a{
  font-size:14px; color:var(--muted); font-weight:500;
  transition:color .2s ease;
  position:relative;
}
.nav-links a:hover{color:var(--ink);}
@media (min-width:901px) and (max-width:1100px){
  .nav-links{gap:18px;}
  .nav-links a{font-size:13px;}
}
.btn{
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
  letter-spacing:0.08em;
  padding:12px 22px;
  border-radius:2px;
  display:inline-block;
  transition:filter .25s ease, transform .25s ease, background .25s ease, border-color .25s ease,
    border-radius .55s cubic-bezier(.22,1,.36,1), padding .55s cubic-bezier(.22,1,.36,1);
}
.btn-primary{
  background:linear-gradient(135deg, var(--blue), var(--blue-light));
  color:#050914;
  font-weight:600;
}
.btn-primary:hover{filter:brightness(1.1); transform:translateY(-1px);}
.btn-ghost{
  border:1px solid var(--line-strong);
  color:var(--ink);
}
.btn-ghost:hover{border-color:var(--blue-light); background:rgba(143,178,255,0.06);}

.cookie-banner{
  position:fixed; left:24px; right:24px; bottom:24px; z-index:200;
  max-width:560px; margin:0 auto;
  background:rgba(10,18,48,0.96);
  backdrop-filter:blur(14px);
  border:1px solid var(--line-strong);
  border-radius:6px;
  padding:24px 26px;
  box-shadow:0 18px 50px rgba(0,0,0,0.45);
  display:flex; flex-direction:column; gap:16px;
  transform:translateY(140%);
  opacity:0;
  transition:transform .5s ease, opacity .5s ease;
}
.cookie-banner.visible{transform:translateY(0); opacity:1;}
.cookie-banner p{font-size:13.5px; color:var(--muted); line-height:1.6;}
.cookie-banner p a{color:var(--blue-light); text-decoration:underline;}
.cookie-actions{display:flex; gap:12px; flex-wrap:wrap;}
.cookie-actions .btn{padding:11px 20px; font-size:12px; cursor:pointer; border:1px solid transparent;}
.cookie-actions button.btn-ghost{background:none;}
@media (max-width:480px){
  .cookie-banner{left:12px; right:12px; bottom:12px; padding:20px;}
}

.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:160px 32px 100px;
  background:
    radial-gradient(ellipse 60% 70% at 80% 48%, rgba(62,99,224,0.16), transparent 65%),
    radial-gradient(ellipse 75% 70% at 50% 0%, rgba(62,99,224,0.10), transparent 68%),
    var(--void);
  overflow:hidden;
}
.hero-content{
  position:relative; z-index:2;
  width:100%; max-width:1180px;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);
  align-items:center;
  column-gap:72px;
}
.hero-text{order:1;}
.hero-logo-col{
  order:2;
  display:flex; justify-content:center; align-items:center;
  position:relative;
  padding-left:64px;
}
/* balanced logo: mark centered exactly over the wordmark */
.hero-logo-art{width:clamp(260px, 34vw, 440px); display:flex; flex-direction:column; align-items:center;}
.hero-logo-art img{display:block; height:auto; max-width:none;}
.hero-logo-art .logo-mark{width:63%; margin:0 auto 9%;}
.hero-logo-art .logo-word{width:100%; margin:0;}
.hero-text{text-align:left;}
.hero h1{
  font-family:'Bodoni Moda',serif;
  font-weight:500;
  font-size:clamp(32px, 4.1vw, 56px);
  line-height:1.14;
  letter-spacing:0.01em;
  margin-bottom:24px;
  color:var(--ink);
}
.hero h1 em{font-style:italic; color:var(--ink);}
.hero h1 .hl{color:#6f93ff;}
.hero h1 .tw{display:inline-block; white-space:nowrap;}
.hero h1.typing .tc{opacity:0;}
.hero h1.typing .tc.on{opacity:1;}
.hero h1 .tc.cur::after{
  content:""; display:inline-block;
  width:0.06em; height:0.82em;
  margin-left:0.04em; margin-right:-0.1em;
  vertical-align:-0.08em; border-radius:2px;
  background:var(--blue-light);
  box-shadow:0 0 14px rgba(143,180,255,.7);
  -webkit-text-fill-color:initial;
  animation:twBlink .9s steps(1) infinite;
}
.hero h1.done .tc.cur::after{animation:twBlink .9s steps(1) 4, twHide .01s 3.6s forwards;}
@keyframes twHide{to{opacity:0;}}
@keyframes twBlink{0%,50%{opacity:1;} 50.01%,100%{opacity:0;}}
@keyframes twFade{to{display:none;}}
.hero .reveal-in{opacity:0; transform:translateY(12px); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1);}
.hero .reveal-in.show{opacity:1; transform:none;}
.hero p.lede{
  font-size:17px;
  color:var(--muted);
  max-width:520px;
  margin:0 0 40px;
  line-height:1.65;
}
.hero-cta{display:flex; gap:16px; justify-content:flex-start; flex-wrap:wrap;}
.hero-cta .btn{padding:15px 28px; font-size:13px;}
@media (max-width:900px){
  .hero{padding:130px 28px 90px;}
  .hero-content{grid-template-columns:1fr; row-gap:40px;}
  .hero-logo-col{order:-1; padding-left:0; justify-content:flex-start;}
  .hero-logo-art{width:clamp(220px, 64vw, 340px);}
}
.hero-cta .btn{padding:15px 28px; font-size:13px;}

.scroll-cue{
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.2em;
  color:var(--muted); text-transform:uppercase;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  z-index:2;
}
@keyframes pulse-line{0%,100%{opacity:0.3;} 50%{opacity:1;}}

section{padding:120px 0;}
.section-head{max-width:640px; margin-bottom:64px;}
.section-head h2{font-size:clamp(28px,3.4vw,40px); margin-top:16px; color:var(--ink);}
.section-head p{color:var(--muted); margin-top:16px; font-size:16px; line-height:1.65; max-width:520px;}

.services{border-top:1px solid var(--line);}
.service-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
}
.service-card{
  background:var(--void);
  padding:36px 28px;
  transition:background .3s ease;
}
.service-card:hover{background:var(--panel);}
.service-card .num{
  font-family:'JetBrains Mono',monospace;
  font-size:12px; color:var(--blue-light);
  letter-spacing:0.1em;
}
.service-card svg{margin:22px 0 20px; width:30px; height:30px; stroke:var(--blue-light);}
.service-card h3{font-size:20px; color:var(--ink); margin-bottom:12px; font-weight:500;}
.service-card p{font-size:14.5px; color:var(--muted); line-height:1.6;}

.process{background:var(--deep); border-top:1px solid var(--line); border-bottom:1px solid var(--line); position:relative;}
.process-ui{margin-top:52px; --gap:16px;}
.process-rail{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap);}
.process-rail::before{
  content:""; position:absolute; top:17px; left:17px; height:1px;
  width:calc(3 * (100% + var(--gap)) / 4);
  background:repeating-linear-gradient(90deg, var(--line-strong) 0 8px, transparent 8px 16px);
}
.process-fill{
  position:absolute; top:16px; left:17px; height:3px; border-radius:3px;
  width:calc(var(--i,0) * (100% + var(--gap)) / 4);
  background:linear-gradient(90deg,#3e63e0,var(--blue-light));
  box-shadow:0 0 14px rgba(143,180,255,0.55);
  transition:width .6s cubic-bezier(.22,.8,.3,1);
}
.process-tab{
  all:unset; box-sizing:border-box; position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  cursor:pointer; padding-bottom:4px; border-radius:10px;
  -webkit-tap-highlight-color:transparent;
}
.process-tab:focus-visible{outline:2px solid var(--blue-light); outline-offset:6px;}
.process-tab .marker{
  width:35px; height:35px; border-radius:50%;
  border:1px solid var(--line-strong); background:var(--deep);
  display:flex; align-items:center; justify-content:center;
  font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--muted);
  transition:background .35s ease, border-color .35s ease, color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.tab-label{font-size:16px; font-weight:500; color:var(--muted); transition:color .3s ease;}
.tab-time{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em; color:var(--muted); opacity:.75;}
.process-tab:hover .marker, .process-tab.done .marker{border-color:var(--blue-light); color:var(--blue-light);}
.process-tab:hover .tab-label{color:var(--ink);}
.process-tab.active .marker{
  background:linear-gradient(135deg,#3e63e0,#6f94ff); border-color:transparent; color:#fff;
  box-shadow:0 0 0 6px rgba(111,148,255,0.14), 0 0 22px rgba(111,148,255,0.5);
  transform:scale(1.06);
}
.process-tab.active .tab-label{color:var(--ink);}

.process-panels{margin-top:40px;}
.process-panel{
  display:grid; grid-template-columns:1.25fr 1fr; gap:1px;
  background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden;
  animation:procIn .5s cubic-bezier(.22,.8,.3,1);
}
.process-panel[hidden]{display:none;}
.panel-main, .panel-side{background:var(--void); padding:36px;}
.step-count{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.1em; color:var(--blue-light); margin-bottom:14px;}
.panel-main h3{font-size:clamp(22px,2.4vw,28px); color:var(--ink); font-weight:500; margin-bottom:14px;}
.panel-main p{font-size:15.5px; color:var(--muted); line-height:1.7; max-width:46ch;}
.panel-nav{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px;}
.panel-side h4{font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--blue-light); margin-bottom:20px;}
.panel-side ul{list-style:none; display:grid; gap:16px; padding:0; margin:0;}
.panel-side li{
  position:relative; padding-left:30px; color:var(--ink); font-size:14.5px; line-height:1.55;
  opacity:0; animation:procItem .5s ease forwards;
}
.panel-side li:nth-child(1){animation-delay:.12s;}
.panel-side li:nth-child(2){animation-delay:.24s;}
.panel-side li:nth-child(3){animation-delay:.36s;}
.panel-side li::before{
  content:""; position:absolute; left:0; top:.15em; width:18px; height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%238fb4ff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='9' r='8'/%3E%3Cpath d='M5.5 9.3l2.4 2.4 4.6-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
@keyframes procIn{from{opacity:0; transform:translateY(12px);} to{opacity:1; transform:none;}}
@keyframes procItem{from{opacity:0; transform:translateX(-10px);} to{opacity:1; transform:none;}}

.stats{padding:80px 0;}
#pricing{border-top:1px solid var(--line);}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
.stat .value{
  font-family:'JetBrains Mono',monospace;
  font-size:clamp(28px,3vw,38px);
  color:var(--blue-light);
  font-weight:600;
}
.stat .label{
  font-size:13px; color:var(--muted); margin-top:8px;
  letter-spacing:0.04em;
}

.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.plan{
  border:1px solid var(--line);
  padding:36px 30px;
  background:var(--panel);
  display:flex; flex-direction:column;
  transition:border-color .3s ease, transform .3s ease;
}
.plan.featured{
  border-color:var(--blue-light);
  background:linear-gradient(180deg, rgba(62,99,224,0.12), var(--panel) 40%);
  transform:translateY(-10px);
}
.plan:hover{border-color:var(--line-strong);}
.plan .tag{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--blue-light);}
.plan h3{font-size:24px; margin:14px 0 6px; color:var(--ink); font-weight:500;}
.plan .price{font-family:'JetBrains Mono',monospace; font-size:34px; color:var(--ink); margin:14px 0 6px;}
.plan .price span{font-size:14px; color:var(--muted); font-family:'Manrope',sans-serif;}
.plan .desc{font-size:13.5px; color:var(--muted); margin-bottom:24px; line-height:1.6;}
.plan ul{list-style:none; margin-bottom:30px; flex:1;}
.plan li{
  font-size:14px; color:var(--ink); padding:10px 0;
  border-top:1px solid var(--line);
  display:flex; gap:10px; align-items:flex-start;
}
.plan li:first-child{border-top:none;}
.plan li::before{content:"—"; color:var(--blue-light); flex-shrink:0;}
.plan .btn{text-align:center; width:100%;}

.cta-banner{
  position:relative;
  padding:110px 32px;
  text-align:center;
  border-top:1px solid var(--line);
  background:
    radial-gradient(ellipse 60% 80% at 50% 0%, rgba(62,99,224,0.14), transparent 65%),
    var(--void);
}
.cta-banner h2{font-size:clamp(26px,3.6vw,42px); max-width:640px; margin:16px auto 34px; color:var(--ink);}
.cta-banner .btn{padding:16px 32px; font-size:13px;}

.clients{
  border-top:1px solid var(--line);
  background:
    radial-gradient(ellipse 55% 50% at 15% 0%, rgba(62,99,224,0.10), transparent 60%),
    var(--void);
}
.clients .section-head{margin-left:auto; margin-right:auto; text-align:center;}
.clients .section-head .eyebrow{justify-content:center;}
.clients .section-head p{margin-left:auto; margin-right:auto;}
.client-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  max-width:640px;
  margin:0 auto;
}
.client-card{
  position:relative;
  border:1px solid var(--line);
  background:var(--panel);
  padding:44px 40px 36px;
  overflow:hidden;
  transition:border-color .3s ease;
}
.client-card:hover{border-color:var(--line-strong);}
.client-card::before{
  content:"\201C";
  position:absolute;
  top:-46px; right:18px;
  font-family:'Bodoni Moda',serif;
  font-size:190px;
  line-height:1;
  color:var(--blue-light);
  opacity:0.07;
  pointer-events:none;
}
.client-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:30px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}
.client-logo{height:34px; width:auto; opacity:0.96;}
.client-stars{
  font-family:'JetBrains Mono',monospace;
  font-size:14px;
  letter-spacing:0.1em;
  color:var(--blue-light);
}
.client-quote{
  font-size:16px;
  line-height:1.75;
  color:var(--ink);
  position:relative;
  z-index:1;
  margin-bottom:32px;
}
.client-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding-top:20px;
  border-top:1px solid var(--line);
  position:relative;
  z-index:1;
}
.client-name{font-size:15px; color:var(--ink); font-weight:600;}
.client-role{font-size:13px; color:var(--muted); margin-top:2px;}
.client-link{
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
  letter-spacing:0.04em;
  color:var(--blue-light);
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  transition:opacity .2s ease;
}
.client-link:hover{opacity:0.75;}

.partners{
  padding:96px 0 104px;
  border-top:1px solid var(--line);
  background:
    radial-gradient(ellipse 50% 60% at 50% 0%, rgba(62,99,224,0.09), transparent 65%),
    var(--void);
}
.partners .section-head{margin-left:auto; margin-right:auto; text-align:center; margin-bottom:52px;}
.partners .section-head .eyebrow{justify-content:center;}
.partners .section-head p{margin-left:auto; margin-right:auto;}
.partner-marquee{
  position:relative;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
}
.partner-track{
  display:flex;
  width:max-content;
  animation:partnerScroll var(--partner-dur, 30s) linear infinite;
  will-change:transform;
}
.partner-marquee:hover .partner-track{animation-play-state:paused;}
.partner-set{display:flex; flex:0 0 auto;}
/* Moves left to right: each set slides in from the left by exactly its own width. */
@keyframes partnerScroll{
  from{transform:translate3d(calc(var(--partner-shift, 0px) * -1), 0, 0);}
  to{transform:translate3d(0, 0, 0);}
}
.partner-item{
  flex:0 0 auto;
  cursor:pointer;
  color:inherit;
  width:280px;
  height:172px;
  margin-right:24px;
  border:1px solid var(--line);
  background:var(--panel);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:20px;
  text-align:center;
  transition:border-color .3s ease;
}
.partner-item:hover{border-color:var(--blue-light);}
.partner-item:focus-visible{outline:2px solid var(--blue-light);outline-offset:4px;}
.partner-item img{width:auto; object-fit:contain; user-select:none; -webkit-user-drag:none;}
.partner-logo-pandy{height:42px;}
.partner-logo-vitea{height:68px;}
.partner-logo-axsoc{height:68px;}
.partner-logo-axsoc-name{height:34px; margin-top:-4px;}
.partner-name{
  font-family:'JetBrains Mono',monospace;
  font-size:12.5px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--ink);
  font-weight:500;
}
@media (max-width:560px){
  .partners{padding:72px 0 80px;}
  .partner-item{width:220px; height:150px; margin-right:16px;}
  .partner-logo-pandy{height:34px;}
  .partner-logo-vitea{height:56px;}
  .partner-logo-axsoc{height:54px;}
  .partner-logo-axsoc-name{height:28px;}
}

footer{padding:80px 0 32px; border-top:1px solid var(--line);}
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:48px;
  padding-bottom:60px;
}
.footer-brand img{height:36px; margin-bottom:18px;}
.footer-brand p{font-size:13.5px; color:var(--muted); line-height:1.6; max-width:260px;}
.footer-col h4{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--muted); margin-bottom:18px;
}
.footer-col a{
  display:block; font-size:14px; color:var(--ink); margin-bottom:12px;
  opacity:0.85; transition:opacity .2s ease;
}
.footer-col a:hover{opacity:1; color:var(--blue-light);}
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:28px; border-top:1px solid var(--line);
  font-size:12.5px; color:var(--muted);
  font-family:'JetBrains Mono',monospace;
  flex-wrap:wrap; gap:12px;
}

@media (max-width:900px){
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .process-panel{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr); row-gap:36px;}
  .pricing-grid{grid-template-columns:1fr;}
  .plan.featured{transform:none;}
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}
  .nav-links{display:none;}
}
@media (max-width:560px){
  .service-grid{grid-template-columns:1fr;}
  .process-ui{--gap:8px;}
  .tab-time{display:none;}
  .tab-label{font-size:12.5px;}
  .panel-main, .panel-side{padding:26px 22px;}
  .panel-nav .btn{flex:1 1 auto; justify-content:center;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  section{padding:80px 0;}
  .client-card{padding:34px 26px 28px;}
  .client-card::before{font-size:130px; top:-30px; right:8px;}
  .footer-grid{grid-template-columns:1fr;}
  header nav.wrap{padding:0 16px;}
  .brand{gap:6px;}
  .brand img{height:20px;}
  .brand-word{font-size:10px; letter-spacing:0.05em;}
  .nav-right{gap:8px;}
  .nav-right .btn{padding:8px 12px; font-size:10.5px; white-space:nowrap;}
  .lang-trigger{padding:6px 8px; gap:5px; font-size:10px;}
  #currentLang{display:none;}
  header.scrolled nav.wrap{
    width:calc(100% - 20px);
    max-width:none;
    padding:7px 12px;
  }
  header.scrolled .brand img{height:19px;}
  header.scrolled .nav-right .btn{padding:7px 10px;}
}
@media (max-width:360px){
  header nav.wrap{padding:0 12px;}
  .brand-word{font-size:9px;}
  .nav-right{gap:6px;}
  .nav-right .btn{padding:7px 10px; font-size:10px;}
}

/* ===== Mobile navigation ===== */
.mobile-menu-toggle, .mobile-menu{display:none;}

@media (max-width:900px){
  header nav.wrap{position:relative;}
  .mobile-menu{display:block;}
  .mobile-menu-toggle{
    width:40px; height:40px;
    padding:0;
    display:none;
    align-items:center; justify-content:center;
    flex-direction:column; gap:4px;
    border:1px solid var(--line-strong);
    border-radius:999px;
    background:rgba(255,255,255,0.03);
    color:var(--ink);
    cursor:pointer;
    transition:background .2s ease, border-color .2s ease, transform .2s ease, width .35s cubic-bezier(.22,1,.36,1), height .35s cubic-bezier(.22,1,.36,1);
  }
  .mobile-menu-toggle:hover{background:rgba(143,178,255,.07);border-color:var(--blue-light);}
  .mobile-menu-toggle span{
    width:15px; height:1.5px;
    background:currentColor; border-radius:2px;
    transition:transform .28s ease, opacity .2s ease;
  }
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg);}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg);}

  .mobile-menu{
    position:absolute;
    top:calc(100% + 8px); left:0; right:0;
    padding:8px;
    background:rgba(5,9,20,.94);
    border:1px solid var(--line);
    border-radius:20px;
    backdrop-filter:blur(18px) saturate(125%);
    -webkit-backdrop-filter:blur(18px) saturate(125%);
    box-shadow:0 18px 45px rgba(0,0,0,.32);
    opacity:0; visibility:hidden;
    transform:translateY(-8px) scale(.98);
    transform-origin:top center;
    pointer-events:none;
    transition:opacity .22s ease, transform .28s cubic-bezier(.22,1,.36,1), visibility .22s ease;
  }
  .mobile-menu.open{opacity:1;visibility:visible;transform:none;pointer-events:auto;}
  .mobile-menu a, .mobile-menu button{
    width:100%;
    min-height:44px;
    display:flex; align-items:center;
    padding:10px 13px;
    border:0; border-radius:12px;
    background:transparent;
    color:var(--muted);
    font-family:'Manrope',sans-serif;
    font-size:14px; font-weight:600;
    text-align:left;
    cursor:pointer;
    transition:background .18s ease, color .18s ease;
  }
  .mobile-menu a:hover, .mobile-menu button:hover{background:rgba(143,178,255,.07);color:var(--ink);}
  .mobile-menu .mobile-project{
    margin-top:5px;
    justify-content:center;
    background:linear-gradient(135deg,var(--blue),var(--blue-light));
    color:#050914;
    font-family:'JetBrains Mono',monospace;
    font-size:11.5px;
    letter-spacing:.08em;
  }
  .mobile-menu .mobile-project:hover{filter:brightness(1.08);color:#050914;}
}

@media (max-width:560px){
  /* Mobile starts compact; the scrolled pill becomes deliberately shorter instead of inheriting desktop proportions. */
  header{padding:14px 0;}
  header nav.wrap{padding:0 14px;}
  .nav-right > .btn{display:none;}
  .mobile-menu-toggle{display:flex;}
  header.scrolled{padding:8px 0;}
  header.scrolled nav.wrap{
    width:calc(100% - 48px);
    max-width:560px;
    min-height:50px;
    padding:6px 9px 6px 11px;
    margin-left:auto;
    margin-right:auto;
    border-radius:999px;
  }
  header.scrolled .brand img{height:18px;}
  header.scrolled .brand{gap:6px;}
  header.scrolled .brand-word{font-size:9px;}
  header.scrolled .nav-right{gap:6px;}
  header.scrolled .lang-trigger{padding:6px 7px;}
  header.scrolled .mobile-menu-toggle{width:38px;height:38px;}
  header.scrolled .mobile-menu-toggle span{width:14px;height:1.5px;}
  header.scrolled .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg);}
  header.scrolled .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
  header.scrolled .mobile-menu{top:calc(100% + 7px);}
}

@media (max-width:360px){
  header nav.wrap{padding:0 12px;}
  .brand-word{font-size:9px;}
  .mobile-menu-toggle{width:38px;height:38px;}
}

/* ===== Permanent mobile island ===== */
@media (max-width:560px){
  /* On mobile the compact island is always visible; scrolling does not change its shape. */
  header{padding:10px 0;}
  header.scrolled{padding:10px 0;}
  header nav.wrap,
  header.scrolled nav.wrap{
    width:calc(100% - 32px);
    max-width:560px;
    min-height:60px;
    margin-left:auto;
    margin-right:auto;
    padding:8px 10px 8px 14px;
    background:rgba(5,9,20,0.88);
    border:1px solid var(--line);
    border-radius:999px;
    backdrop-filter:blur(18px) saturate(125%);
    -webkit-backdrop-filter:blur(18px) saturate(125%);
    box-shadow:0 10px 38px rgba(0,0,0,.24);
  }
  header .brand img,
  header.scrolled .brand img{height:22px;}
  header .brand,
  header.scrolled .brand{gap:7px;}
  header .brand-word,
  header.scrolled .brand-word{font-size:12px;}
  header .nav-right,
  header.scrolled .nav-right{gap:7px;}
  header .lang-trigger,
  header.scrolled .lang-trigger{
    width:42px;
    height:42px;
    padding:0;
    justify-content:center;
    border-radius:999px;
  }
  header .mobile-menu-toggle,
  header.scrolled .mobile-menu-toggle{
    width:42px;
    height:42px;
    border-radius:999px;
  }
  header .mobile-menu-toggle span,
  header.scrolled .mobile-menu-toggle span{width:15px;height:1.5px;}
}

@media (max-width:360px){
  header nav.wrap,
  header.scrolled nav.wrap{
    width:calc(100% - 24px);
    padding-left:11px;
    padding-right:8px;
  }
  header .brand-word,
  header.scrolled .brand-word{font-size:10.5px;}
  header .lang-trigger,
  header.scrolled .lang-trigger,
  header .mobile-menu-toggle,
  header.scrolled .mobile-menu-toggle{width:40px;height:40px;}
}

/* ===== Start-a-project modal ===== */
button[data-open-project]{cursor:pointer; -webkit-appearance:none; appearance:none;}
button[data-open-project].btn-primary{border:0;}
button.btn-ghost{background:none;}
html.pm-lock{overflow:hidden;}

.pm-overlay{
  position:fixed; inset:0; z-index:300;
  display:flex;
  padding:24px;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:rgba(5,9,20,0.55);
  -webkit-backdrop-filter:blur(14px) saturate(125%);
  backdrop-filter:blur(14px) saturate(125%);
  opacity:0; visibility:hidden;
  transition:opacity .28s ease, visibility 0s linear .28s;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .pm-overlay{background:rgba(5,9,20,0.92);}
}
.pm-overlay.open{opacity:1; visibility:visible; transition:opacity .28s ease, visibility 0s;}

.pm-panel{
  position:relative;
  width:100%; max-width:640px;
  margin:auto;
  padding:40px 40px 34px;
  background:rgba(10,18,48,0.96);
  border:1px solid var(--line-strong);
  border-radius:6px;
  box-shadow:0 30px 90px rgba(0,0,0,0.55);
  transform:translateY(16px) scale(.985);
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.pm-overlay.open .pm-panel{transform:none;}
.pm-panel:focus{outline:none;}

.pm-close{
  position:absolute; top:14px; right:14px;
  width:40px; height:40px;
  display:grid; place-items:center;
  background:none;
  border:1px solid transparent;
  border-radius:3px;
  color:var(--muted);
  cursor:pointer;
  transition:color .2s ease, background .2s ease, border-color .2s ease;
}
.pm-close:hover{color:var(--ink); background:rgba(143,178,255,0.08); border-color:var(--line);}
.pm-close svg{width:18px; height:18px; display:block;}

.pm-panel h2{
  font-size:clamp(26px,3.4vw,34px);
  line-height:1.15;
  margin:14px 0 12px;
  padding-right:36px;
  color:var(--ink);
}
.pm-intro{font-size:14.5px; line-height:1.65; color:var(--muted); max-width:520px; margin-bottom:26px;}

.pm-form{display:flex; flex-direction:column; gap:18px;}
.pm-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.pm-field{display:flex; flex-direction:column; gap:8px; min-width:0;}
.pm-lbl{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.pm-req{color:var(--blue-light); margin-left:4px;}
.pm-opt{margin-left:8px; text-transform:none; letter-spacing:0.04em; opacity:0.8;}

.pm-field input, .pm-field textarea{
  width:100%;
  font-family:'Manrope',sans-serif;
  font-size:15px;
  line-height:1.5;
  color:var(--ink);
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line-strong);
  border-radius:3px;
  padding:13px 14px;
  -webkit-appearance:none; appearance:none;
  transition:border-color .2s ease, background .2s ease;
}
.pm-field textarea{resize:vertical; min-height:92px;}
.pm-field input::placeholder, .pm-field textarea::placeholder{color:rgba(135,146,179,0.62);}
.pm-field input:hover, .pm-field textarea:hover{border-color:rgba(143,178,255,0.45);}
.pm-field input:focus, .pm-field textarea:focus{border-color:var(--blue-light); background:rgba(143,178,255,0.05);}
.pm-field.invalid input, .pm-field.invalid textarea{border-color:rgba(255,138,138,0.8);}

.pm-err{display:none; font-size:12.5px; line-height:1.4; color:#ff9b9b;}
.invalid .pm-err{display:block;}

.pm-consent-field{display:flex; flex-direction:column; gap:8px;}
.pm-consent{
  display:flex; align-items:flex-start; gap:12px;
  font-size:13.5px; line-height:1.55; color:var(--muted);
  cursor:pointer;
}
.pm-consent a{color:var(--blue-light); text-decoration:underline; text-underline-offset:3px;}
.pm-consent a:hover{color:var(--ink);}
.pm-consent input{
  -webkit-appearance:none; appearance:none;
  flex:none;
  width:20px; height:20px; margin-top:1px;
  display:grid; place-content:center;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line-strong);
  border-radius:3px;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease;
}
.pm-consent input::before{
  content:"";
  width:11px; height:11px;
  background:#050914;
  clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  transform:scale(0);
  transition:transform .15s ease;
}
.pm-consent input:checked{background:linear-gradient(135deg, var(--blue), var(--blue-light)); border-color:transparent;}
.pm-consent input:checked::before{transform:scale(1);}
.pm-consent:hover input{border-color:var(--blue-light);}
.pm-consent-field.invalid .pm-consent input{border-color:rgba(255,138,138,0.9);}

.pm-actions{display:flex; align-items:center; gap:20px; margin-top:4px;}
.pm-send{padding:15px 36px; font-size:13px; cursor:pointer; border:0; flex:none;}
.pm-note{font-size:12.5px; line-height:1.6; color:var(--muted);}

.pm-status-box{
  margin-top:4px;
  padding:18px 20px;
  border:1px solid rgba(143,178,255,0.4);
  background:rgba(62,99,224,0.10);
  border-radius:4px;
}
.pm-status-box[hidden]{display:none;}
.pm-status-box p{font-size:13.5px; line-height:1.6; color:var(--ink);}
.pm-status-actions{display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; margin-top:12px;}
.pm-copy{
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px; letter-spacing:0.08em;
  padding:9px 14px;
  background:none; color:var(--ink);
  border:1px solid var(--line-strong); border-radius:2px;
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease;
}
.pm-copy:hover{border-color:var(--blue-light); background:rgba(143,178,255,0.06);}
.pm-mailto{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--blue-light);
  text-decoration:underline; text-underline-offset:3px;
  word-break:break-all;
}

@media (max-width:560px){
  .pm-overlay{padding:12px;}
  .pm-panel{padding:32px 20px 24px;}
  .pm-close{top:10px; right:10px;}
  .pm-row{grid-template-columns:1fr;}
  .pm-field input, .pm-field textarea{font-size:16px;}
  .pm-actions{flex-direction:column; align-items:stretch; gap:14px;}
  .pm-send{width:100%; text-align:center;}
}

/* ===== plan picker inside the modal ===== */
.pm-plans{border:0; padding:0; margin:0; min-width:0;}
.pm-plans legend{padding:0; margin-bottom:10px;}
.pm-plan-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
.pm-plan{position:relative; display:block; cursor:pointer;}
.pm-plan input{position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer;}
.pm-plan span{
  display:flex; align-items:center; justify-content:center; text-align:center;
  min-height:46px; padding:10px 8px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px; letter-spacing:0.04em; line-height:1.3;
  color:var(--muted);
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line-strong);
  border-radius:3px;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.pm-plan:hover span{border-color:var(--blue-light); color:var(--ink);}
.pm-plan input:checked + span{
  color:var(--ink);
  border-color:var(--blue-light);
  background:linear-gradient(135deg, rgba(62,99,224,0.38), rgba(143,178,255,0.20));
}
.pm-plan input:checked + span::before{content:"✓"; margin-right:8px; color:var(--blue-light);}
.pm-plan input:focus-visible + span{outline:2px solid var(--blue-light); outline-offset:3px;}
@media (max-width:560px){
  .pm-plan-grid{grid-template-columns:repeat(2,1fr);}
}