:root{
  --bg: #05080a;
  --bg-soft: #0a0f0e;
  --panel: #0d1512;
  --line: #1c2622;
  --line-soft: #141b18;
  --text: #eef2ee;
  --text-dim: #96a29b;
  --text-faint: #5c6a62;
  --green: #66f5a0;
  --green-dim: #2f8f5c;
  --green-deep: #123321;
  --font-display: 'Space Grotesk', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --container: 1080px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg); color:var(--text);
  font-family:var(--font-body); font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
section{position:relative; padding:100px 6vw;}
h1,h2,h3{font-family:var(--font-display); font-weight:600; letter-spacing:-0.01em;}

.grain{
  position:fixed; inset:0; pointer-events:none; z-index:1;
  background-image:radial-gradient(rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size:3px 3px; opacity:0.5;
}

.eyebrow{
  font-family:var(--font-mono); font-size:13px; color:var(--green);
  letter-spacing:0.02em; margin-bottom:14px;
}
.section-head{max-width:600px; margin:0 auto 52px;}
.section-head h2{font-size:clamp(26px,3.2vw,36px);}
.services .section-head, .process .section-head, .track-record .section-head{
  max-width:var(--container); margin-left:auto; margin-right:auto;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:13.5px; letter-spacing:0.03em;
  padding:13px 26px; border-radius:2px; border:1px solid var(--green-dim);
  transition:all .2s ease; white-space:nowrap;
}
.btn--outline{color:var(--green); background:transparent;}
.btn--outline:hover{background:var(--green-deep); border-color:var(--green);}
.btn--solid{background:var(--green); color:#07130c; border-color:var(--green); font-weight:500;}
.btn--solid:hover{background:#8bffb8; border-color:#8bffb8;}
.btn--lg{padding:16px 34px; font-size:14.5px;}

.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 6vw; background:rgba(5,8,10,0.72);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--line-soft);
}
.nav__brand{display:flex; align-items:center; gap:10px;}
.nav__mark{color:var(--green); display:flex;}
.nav__name{font-family:var(--font-display); font-weight:600; font-size:17px;}
.nav__name .dot{color:var(--green);}

/* Hero */
.hero{
  min-height:88vh; display:flex; align-items:center;
  padding-top:140px; text-align:center;
}
.hero__inner{max-width:760px; margin:0 auto;}
.hero .eyebrow{display:flex; justify-content:center;}
.hero__title{
  font-size:clamp(32px,4.4vw,52px); line-height:1.1; margin-bottom:22px;
}
.hero__desc{
  color:var(--text-dim); font-size:16.5px; max-width:600px;
  margin:0 auto 36px;
}
.hero__actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

/* Services */
.services__grid{
  max-width:var(--container); margin:0 auto;
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.service-card{background:var(--bg); padding:36px;}
.service-num{
  font-family:var(--font-mono); font-size:13px; color:var(--green-dim);
}
.service-card h3{font-size:18px; margin:12px 0 10px;}
.service-card p{color:var(--text-dim); font-size:14.5px;}

/* Process */
.process{background:var(--bg-soft); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
.process__row{
  max-width:var(--container); margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:32px;
}
.process-index{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border:1px solid var(--green-dim); border-radius:50%;
  font-family:var(--font-mono); font-size:13px; color:var(--green); margin-bottom:16px;
}
.process-step h3{font-size:15.5px; margin-bottom:8px;}
.process-step p{color:var(--text-dim); font-size:13.5px;}

/* Track record */
.stats-row{
  max-width:var(--container); margin:0 auto 52px;
  display:flex; gap:48px; flex-wrap:wrap; justify-content:center;
}
.stat-block{display:flex; flex-direction:column; gap:6px; text-align:center;}
.stat-block__num{font-family:var(--font-mono); font-size:22px; color:var(--green);}
.stat-block__label{font-size:12.5px; color:var(--text-faint); max-width:160px;}
.clients__row{
  max-width:var(--container); margin:0 auto;
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:40px;
}
.clients__row img{
  max-height:40px; width:auto; filter:grayscale(1) brightness(1.8) contrast(0.8);
  opacity:0.55; transition:opacity .2s ease;
}
.clients__row img:hover{opacity:1;}

/* Contact */
.contact{background:var(--bg-soft); border-top:1px solid var(--line-soft); text-align:center;}
.contact__inner{max-width:560px; margin:0 auto;}
.contact .eyebrow{display:flex; justify-content:center;}
.contact h2{font-size:clamp(26px,3.6vw,38px); margin-bottom:14px;}
.contact__sub{color:var(--text-dim); margin-bottom:32px; font-size:15px;}
.contact__note{color:var(--text-faint); font-size:13px; margin-top:24px;}
.inline-link{color:var(--green); border-bottom:1px solid var(--green-dim);}

.footer{
  padding:28px 6vw; text-align:center; font-size:12.5px;
  color:var(--text-faint); border-top:1px solid var(--line-soft);
}

@media (max-width:820px){
  .services__grid{grid-template-columns:1fr;}
  .process__row{grid-template-columns:1fr 1fr; row-gap:36px;}
}
@media (max-width:560px){
  section{padding:80px 6vw;}
  .process__row{grid-template-columns:1fr;}
  .stats-row{gap:32px;}
}
