@font-face{
  font-family:'Afacad Flux';
  src:url('/fonts/AfacadFlux-Variable.woff2') format('woff2-variations'),
      url('/fonts/AfacadFlux-Variable.woff2') format('woff2');
  font-weight:100 900;
  font-style:oblique 0deg 14deg;
  font-display:swap;
}
@font-face{
  font-family:'Open Sans';
  src:url('/fonts/OpenSans-Variable.woff2') format('woff2-variations'),
      url('/fonts/OpenSans-Variable.woff2') format('woff2');
  font-weight:300 800;
  font-stretch:75% 100%;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Open Sans';
  src:url('/fonts/OpenSans-Italic-Variable.woff2') format('woff2-variations'),
      url('/fonts/OpenSans-Italic-Variable.woff2') format('woff2');
  font-weight:300 800;
  font-stretch:75% 100%;
  font-style:italic;
  font-display:swap;
}
:root {
  --green: #00f068;
  --green-bright: #01ff70;
  --green-dim: rgba(0,240,104,0.15);
  --green-glow: rgba(0,240,104,0.25);
  --bg: #111111;
  --bg2: #161616;
  --bg3: #1c1c1c;
  --border: rgba(0,240,104,0.18);
  --border-subtle: rgba(255,255,255,0.07);
  --text: #f0f0f0;
  --text-muted: rgba(255,255,255,0.5);
  --text-dim: rgba(255,255,255,0.28);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Open Sans',sans-serif;
  font-weight:400;
  line-height:1.7;
  overflow-x:hidden;
}

/* ─── GRID BG ─── */
body::before{
  content:'';
  position:fixed;inset:0;
  background-image:
    linear-gradient(rgba(0,240,104,0.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,240,104,0.035) 1px,transparent 1px);
  background-size:60px 60px;
  pointer-events:none;z-index:0;
}

/* ─── NAV ─── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;height:72px;
  background:rgba(17,17,17,0.85);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border-subtle);
  transition:border-color .3s;
}
nav.scrolled{border-color:var(--border)}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-logo-text{
  font-family:'Afacad Flux',sans-serif;font-weight:700;font-size:1.15rem;
  letter-spacing:-.01em;color:var(--text);
}
.nav-logo-text span{color:var(--green)}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links a{
  font-size:.875rem;font-weight:500;letter-spacing:.03em;text-transform:uppercase;
  color:var(--text-muted);text-decoration:none;
  transition:color .2s;
}
.nav-links a:hover{color:var(--green)}
.nav-cta{
  font-size:.875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--bg);background:var(--green);
  padding:.55rem 1.4rem;border:none;border-radius:4px;cursor:pointer;
  text-decoration:none;transition:background .2s,box-shadow .2s;
}
.nav-cta:hover{background:var(--green-bright);box-shadow:0 0 24px var(--green-glow)}

/* ─── HERO ─── */
#hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  padding:140px 5% 100px;
  overflow:hidden;
}
.hero-glow{
  position:absolute;top:10%;left:50%;transform:translateX(-50%);
  width:900px;height:600px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,240,104,0.08) 0%,transparent 70%);
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:1;
  max-width:860px;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--green);border:1px solid var(--border);
  padding:.4rem 1rem;border-radius:100px;margin-bottom:2rem;
}
.hero-badge-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--green);
  animation:pulse 2s infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 var(--green-glow)}
  50%{box-shadow:0 0 0 6px transparent}
}
.hero h1{
  font-family:'Afacad Flux',sans-serif;font-weight:800;
  font-size:clamp(3rem,6vw,5.5rem);line-height:1.0;
  letter-spacing:-.03em;margin-bottom:1.5rem;
}
.hero h1 em{
  font-style:normal;color:var(--green);
  text-shadow:0 0 40px rgba(0,240,104,0.4);
}
.hero-sub{
  font-size:clamp(1rem,2vw,1.2rem);font-weight:300;
  color:var(--text-muted);max-width:580px;
  line-height:1.75;margin-bottom:3rem;
}
.hero-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.btn-primary{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Open Sans',sans-serif;font-size:.95rem;font-weight:600;
  letter-spacing:.02em;color:var(--bg);
  background:var(--green);padding:.9rem 2rem;
  border-radius:4px;border:none;cursor:pointer;text-decoration:none;
  transition:all .2s;
}
.btn-primary:hover{
  background:var(--green-bright);
  box-shadow:0 0 40px rgba(0,240,104,0.35);
  transform:translateY(-1px);
}
.btn-ghost{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Open Sans',sans-serif;font-size:.95rem;font-weight:500;
  color:var(--text-muted);text-decoration:none;
  border:1px solid var(--border-subtle);
  padding:.9rem 2rem;border-radius:4px;
  transition:all .2s;
}
.btn-ghost:hover{color:var(--text);border-color:var(--border)}

.hero-trilobite{
  position:absolute;right:5%;top:50%;transform:translateY(-50%);
  opacity:.06;pointer-events:none;
}

/* ─── TICKER ─── */
.ticker-wrap{
  position:relative;z-index:1;
  border-top:1px solid var(--border-subtle);
  border-bottom:1px solid var(--border-subtle);
  overflow:hidden;padding:1rem 0;
  background:var(--bg2);
}
.ticker{
  display:flex;animation:ticker 30s linear infinite;
  white-space:nowrap;
}
.ticker-item{
  display:flex;align-items:center;gap:.75rem;
  font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-dim);padding:0 3rem;
  flex-shrink:0;
}
.ticker-item span{color:var(--green)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── SECTION COMMON ─── */
section{position:relative;z-index:1;padding:120px 5%}
.section-label{
  font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--green);margin-bottom:1rem;
}
.section-title{
  font-family:'Afacad Flux',sans-serif;font-weight:700;
  font-size:clamp(2rem,4vw,3rem);letter-spacing:-.02em;
  line-height:1.1;margin-bottom:1.5rem;
}
.section-sub{
  font-size:1.05rem;color:var(--text-muted);
  max-width:520px;line-height:1.8;
}

/* ─── STATS ─── */
#stats{padding:0 5% 100px}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  border:1px solid var(--border-subtle);border-radius:8px;
  overflow:hidden;background:var(--border-subtle);
}
.stat-card{
  background:var(--bg2);padding:2.5rem 2rem;
  text-align:center;
}
.stat-num{
  font-family:'Afacad Flux',sans-serif;font-weight:800;
  font-size:2.8rem;color:var(--green);
  letter-spacing:-.03em;display:block;line-height:1;
  margin-bottom:.5rem;
}
.stat-label{
  font-size:.82rem;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;color:var(--text-dim);
}

/* ─── SERVICES ─── */
#services{background:var(--bg2)}
.services-header{
  display:grid;grid-template-columns:1fr 1fr;
  gap:2rem;align-items:end;margin-bottom:4rem;
}
.services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
.service-card{
  background:var(--bg3);border:1px solid var(--border-subtle);
  border-radius:8px;padding:2rem;
  transition:border-color .3s,transform .3s;
  cursor:default;position:relative;overflow:hidden;
}
.service-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--green-dim) 0%,transparent 60%);
  opacity:0;transition:opacity .3s;
}
.service-card:hover{
  border-color:var(--border);transform:translateY(-4px);
}
.service-card:hover::before{opacity:1}
.service-icon{
  width:48px;height:48px;border-radius:6px;
  background:var(--green-dim);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.5rem;
  border:1px solid var(--border);
}
.service-icon svg{width:22px;height:22px;stroke:var(--green)}
.service-name{
  font-family:'Afacad Flux',sans-serif;font-weight:700;
  font-size:1.2rem;margin-bottom:.75rem;
}
.service-desc{font-size:.9rem;color:var(--text-muted);line-height:1.7}
.service-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.25rem}
.tag{
  font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--green);background:var(--green-dim);
  padding:.25rem .65rem;border-radius:3px;
  border:1px solid var(--border);
}

/* ─── WHY US ─── */
#why{
  display:grid;grid-template-columns:1fr 1fr;
  gap:80px;align-items:center;
}
.why-visual{
  position:relative;
}
.why-hexgrid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.hex-cell{
  aspect-ratio:1;border-radius:8px;
  background:var(--bg2);border:1px solid var(--border-subtle);
  display:flex;align-items:center;justify-content:center;
  font-family:'Afacad Flux',sans-serif;font-weight:700;
  font-size:.7rem;text-align:center;line-height:1.3;
  color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;
  padding:12px;transition:all .3s;
}
.hex-cell.active{
  background:var(--green-dim);border-color:var(--border);
  color:var(--green);
}
.why-list{margin-top:3rem}
.why-item{
  display:flex;gap:1.25rem;padding:1.5rem 0;
  border-bottom:1px solid var(--border-subtle);
}
.why-item:last-child{border-bottom:none}
.why-num{
  font-family:'Afacad Flux',sans-serif;font-weight:800;
  font-size:1.1rem;color:var(--green);flex-shrink:0;
  width:32px;padding-top:2px;
}
.why-item-title{
  font-family:'Afacad Flux',sans-serif;font-weight:700;
  font-size:1rem;margin-bottom:.3rem;
}
.why-item-desc{font-size:.88rem;color:var(--text-muted);line-height:1.7}

/* ─── PROCESS ─── */
#process{background:var(--bg2)}
.process-header{text-align:center;margin-bottom:5rem}
.process-header .section-sub{margin:0 auto}
.process-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  position:relative;
}
.process-steps::before{
  content:'';position:absolute;
  top:32px;left:calc(12.5% + 16px);right:calc(12.5% + 16px);
  height:1px;background:linear-gradient(90deg,var(--border),var(--green),var(--border));
}
.process-step{
  text-align:center;padding:0 1.5rem;
}
.step-num{
  width:64px;height:64px;border-radius:50%;
  background:var(--bg3);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-family:'Afacad Flux',sans-serif;font-weight:800;
  font-size:1.1rem;color:var(--green);
  margin:0 auto 1.5rem;position:relative;z-index:1;
  transition:all .3s;
}
.process-step:hover .step-num{
  background:var(--green);color:var(--bg);
  box-shadow:0 0 30px var(--green-glow);
}
.step-title{
  font-family:'Afacad Flux',sans-serif;font-weight:700;
  font-size:1rem;margin-bottom:.5rem;
}
.step-desc{font-size:.85rem;color:var(--text-muted);line-height:1.7}

/* ─── CTA ─── */
#cta{text-align:center}
.cta-box{
  border:1px solid var(--border);border-radius:12px;
  padding:80px 60px;
  background:var(--bg2);
  position:relative;overflow:hidden;
}
.cta-box::before{
  content:'';position:absolute;
  bottom:-100px;left:50%;transform:translateX(-50%);
  width:600px;height:400px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,240,104,0.1) 0%,transparent 70%);
  pointer-events:none;
}
.cta-box h2{
  font-family:'Afacad Flux',sans-serif;font-weight:800;
  font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.02em;
  line-height:1.1;margin-bottom:1.25rem;
}
.cta-box p{
  font-size:1.05rem;color:var(--text-muted);
  max-width:480px;margin:0 auto 2.5rem;
}
.cta-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}

/* ─── FOOTER ─── */
footer{
  border-top:1px solid var(--border-subtle);
  padding:60px 5%;
}
.footer-inner{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;
}
.footer-brand p{
  font-size:.875rem;color:var(--text-muted);
  line-height:1.75;margin-top:1rem;max-width:280px;
}
.footer-col h4{
  font-family:'Afacad Flux',sans-serif;font-weight:700;
  font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-dim);margin-bottom:1.25rem;
}
.footer-col a{
  display:block;font-size:.875rem;color:var(--text-muted);
  text-decoration:none;margin-bottom:.6rem;transition:color .2s;
}
.footer-col a:hover{color:var(--green)}
.footer-bottom{
  margin-top:3rem;padding-top:2rem;
  border-top:1px solid var(--border-subtle);
  display:flex;justify-content:space-between;align-items:center;
  font-size:.8rem;color:var(--text-dim);
}
.footer-bottom a{color:var(--text-dim);text-decoration:none;transition:color .2s}
.footer-bottom a:hover{color:var(--green)}

/* ─── ANIMATE ─── */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .7s ease,transform .7s ease;
}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

/* ─── RESPONSIVE ─── */
@media(max-width:900px){
  .services-grid{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .process-steps{grid-template-columns:1fr 1fr;gap:3rem}
  .process-steps::before{display:none}
  #why{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr}
  .services-header{grid-template-columns:1fr}
}
@media(max-width:600px){
  .services-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr}
  .nav-links{display:none}
  .footer-inner{grid-template-columns:1fr}
  .hero-trilobite{display:none}
}
