:root{
  --dm-green:#2c8cf4;
  --dm-green-dark:#2c8cf4;
  --dm-dark:#0f172a;
  --dm-text:#334155;
  --dm-muted:#64748b;
  --dm-bg-alt:#f6f9f8;
  --dm-border:#e6ebe9;
  --dm-blue:#2fa8e0;
}

*{box-sizing:border-box;}
body{
  font-family:'Plus Jakarta Sans',sans-serif;
  color:var(--dm-text);
  background:#ffffff;
  letter-spacing:-0.005em;
}
h1,h2,h3,h4,h5,h6{
  font-family:'Sora',sans-serif;
  color:var(--dm-dark);
  font-weight:700;
  letter-spacing:-0.02em;
}
a{text-decoration:none;}

.text-dm-green{color:var(--dm-green-dark);}

/* ---------- Navbar ---------- */
.dm-navbar{
  box-shadow:0 1px 0 rgba(15,23,42,.06);
  padding:.6rem 0;
}
.dm-navbar .nav-link{
  color:var(--dm-dark);
  font-weight:500;
  padding:.5rem 1rem;
}
.dm-navbar .nav-link.active,
.dm-navbar .nav-link:hover{
  color:var(--dm-green-dark);
}
.btn-dm-primary{
  background:var(--dm-green-dark);
  border:1px solid var(--dm-green-dark);
  color:#fff;
  font-weight:600;
}
.btn-dm-primary:hover{
  background:#1f6fd0;
  border-color:#1f6fd0;
  color:#fff;
}
.btn-dm-outline{
  border:1px solid var(--dm-border);
  color:var(--dm-dark);
  font-weight:600;
  background:#fff;
}
.btn-dm-outline:hover{
  border-color:var(--dm-green-dark);
  color:var(--dm-green-dark);
}
.btn-dm-outline-light{
  border:1px solid rgba(255,255,255,.4);
  color:#fff;
  font-weight:600;
  background:transparent;
}
.btn-dm-outline-light:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
}

/* ---------- Hero ---------- */
.dm-hero{
  padding:5rem 0 4rem;
  background:linear-gradient(180deg,#f8fdfb 0%, #ffffff 100%);
}
.dm-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  background:#e8f2fe;
  color:var(--dm-green-dark);
  font-weight:600;
  font-size:.75rem;
  letter-spacing:.05em;
  padding:.4rem .9rem;
  border-radius:50px;
}
.dm-h1{
  font-size:2.8rem;
  line-height:1.15;
  font-weight:800;
}
.dm-lead{
  color:var(--dm-muted);
  font-size:1.1rem;
  max-width:520px;
}
.dm-trust-row{
  color:var(--dm-muted);
  font-size:.9rem;
  font-weight:500;
}
.dm-hero-visual img{
  width:100%;
  height:340px;
  object-fit:cover;
  box-shadow:0 25px 50px -12px rgba(15,23,42,.25);
}

/* ---------- Brand marquee ---------- */
.dm-eyebrow-sm{
  font-size:.75rem;
  letter-spacing:.1em;
  color:var(--dm-muted);
  font-weight:600;
}
.dm-brands{
  background:var(--dm-bg-alt);
  overflow:hidden;
}
.dm-brand-marquee{overflow:hidden;}
.dm-brand-track{
  display:flex;
  gap:3.5rem;
  white-space:nowrap;
  animation:dm-scroll 28s linear infinite;
  color:var(--dm-muted);
  font-weight:600;
  font-size:1rem;
}
@keyframes dm-scroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ---------- Sections ---------- */
.dm-section{padding:5rem 0;}
.dm-section-alt{background:var(--dm-bg-alt);}
.dm-eyebrow-center{
  text-align:center;
  color:var(--dm-green-dark);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.1em;
}
.dm-h2{
  font-size:2.1rem;
  font-weight:800;
}

/* ---------- Service cards ---------- */
.dm-card{
  background:#fff;
  border:1px solid var(--dm-border);
  border-radius:16px;
  padding:2rem;
  transition:.25s;
}
.dm-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 35px -18px rgba(15,23,42,.18);
  border-color:transparent;
}
.dm-card-icon{
  width:52px;height:52px;
  border-radius:12px;
  background:#e8f2fe;
  color:var(--dm-green-dark);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;
  margin-bottom:1.2rem;
}
.dm-card h5{font-size:1.15rem;margin-bottom:.6rem;}
.dm-card p{color:var(--dm-muted);font-size:.95rem;}
.dm-link{
  color:var(--dm-green-dark);
  font-weight:600;
  font-size:.9rem;
}
.dm-link:hover{text-decoration:underline;}

/* ---------- How it works ---------- */
.dm-step-icon{
  width:64px;height:64px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--dm-border);
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
  color:var(--dm-green-dark);
  margin-bottom:1rem;
}
.dm-step-label{
  display:block;
  color:var(--dm-green-dark);
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.1em;
  margin-bottom:.3rem;
}
.dm-step h6{font-weight:700;margin-bottom:.4rem;}
.dm-step p{color:var(--dm-muted);font-size:.88rem;}

/* ---------- Case studies ---------- */
.dm-case-card{
  background:#fff;
  border:1px solid var(--dm-border);
  border-radius:20px;
  overflow:hidden;
}
.dm-badge{
  display:inline-block;
  background:#e8f2fe;
  color:var(--dm-green-dark);
  font-weight:700;
  font-size:.7rem;
  letter-spacing:.05em;
  padding:.3rem .7rem;
  border-radius:6px;
}
.dm-quote{
  border-left:3px solid var(--dm-green-dark);
  padding-left:1rem;
  font-style:italic;
  color:var(--dm-dark);
}
.dm-case-stats{
  background:var(--dm-bg-alt);
  border-left:1px solid var(--dm-border);
}
.dm-stat{
  background:#fff;
  border:1px solid var(--dm-border);
  border-radius:12px;
  padding:1rem;
  display:flex;
  flex-direction:column;
}
.dm-stat i{font-size:1.1rem;margin-bottom:.4rem;}
.dm-stat-num{font-size:1.3rem;font-weight:800;color:var(--dm-dark);font-family:'Sora',sans-serif;}
.dm-stat-label{font-size:.78rem;color:var(--dm-muted);}
.dm-mini-chart{
  background:#fff;
  border:1px solid var(--dm-border);
  border-radius:12px;
  padding:.75rem;
}

/* ---------- Why Digimanic ---------- */
.dm-why-item{
  background:#fff;
  border:1px solid var(--dm-border);
  border-radius:14px;
  padding:1.3rem;
  height:100%;
}
.dm-why-icon{
  width:42px;height:42px;
  border-radius:10px;
  background:#e8f2fe;
  color:var(--dm-green-dark);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:.8rem;
}
.dm-why-item h6{font-weight:700;margin-bottom:.4rem;}
.dm-why-item p{color:var(--dm-muted);font-size:.85rem;margin-bottom:0;}

.dm-perf-card{
  background:var(--dm-dark);
  border-radius:20px;
  padding:1.8rem;
  color:#fff;
}
.dm-badge-live{
  background:rgba(44,140,244,.15);
  color:var(--dm-green);
  font-size:.7rem;
  font-weight:700;
  padding:.3rem .6rem;
  border-radius:6px;
}
.dm-perf-stat{
  background:rgba(255,255,255,.05);
  border-radius:12px;
  padding:.8rem 1rem;
  display:flex;
  flex-direction:column;
}
.dm-perf-stat .label{font-size:.75rem;color:#94a3b8;}
.dm-perf-stat .value{font-size:1.4rem;font-weight:800;font-family:'Sora',sans-serif;}
.dm-perf-stat .delta{font-size:.75rem;color:var(--dm-green);}

/* ---------- Industries ---------- */
.dm-industry-card{
  background:#fff;
  border:1px solid var(--dm-border);
  border-radius:16px;
  padding:1.8rem;
  position:relative;
  height:100%;
}
.dm-tag{
  position:absolute;
  top:1.2rem;right:1.2rem;
  background:var(--dm-bg-alt);
  color:var(--dm-muted);
  font-size:.7rem;
  font-weight:600;
  padding:.25rem .6rem;
  border-radius:20px;
}
.dm-industry-icon{
  width:50px;height:50px;
  border-radius:12px;
  background:#e8f2fe;
  color:var(--dm-green-dark);
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;
  margin-bottom:1rem;
}
.dm-industry-card h6{font-weight:700;}
.dm-industry-card p{color:var(--dm-muted);font-size:.88rem;margin-bottom:0;}

/* ---------- Testimonials ---------- */
.dm-testimonial{
  background:#fff;
  border:1px solid var(--dm-border);
  border-radius:16px;
  padding:1.8rem;
  height:100%;
}
.dm-testimonial p{color:var(--dm-text);font-size:.95rem;}
.dm-avatar{
  width:40px;height:40px;
  border-radius:50%;
  background:var(--dm-green-dark);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;
  font-size:.85rem;
}

/* ---------- Blog ---------- */
.dm-blog-card{
  background:#fff;
  border:1px solid var(--dm-border);
  border-radius:16px;
  padding:1.8rem;
  height:100%;
}
.dm-blog-card h6{font-weight:700;}

/* ---------- CTA ---------- */
.dm-cta-section{
  background:var(--dm-dark);
  padding:5rem 0;
}
.dm-form-card{
  background:#fff;
  border-radius:20px;
  padding:2.5rem;
  max-width:700px;
  text-align:left;
  margin-top:1rem;
}
.dm-form-card .form-label{font-weight:600;font-size:.88rem;}
.dm-form-card .form-control,
.dm-form-card .form-select{
  border-radius:10px;
  padding:.6rem .9rem;
}

/* ---------- Footer ---------- */
.dm-footer{
  background:#0b1220;
  color:#cbd5e1;
  padding:4rem 0 0;
}
.dm-footer h6{color:#fff;font-weight:700;margin-bottom:1rem;}
.dm-footer-links li{margin-bottom:.6rem;}
.dm-footer-links a{color:#94a3b8;font-size:.9rem;}
.dm-footer-links a:hover{color:var(--dm-green);}

/* ---------- Responsive ---------- */
@media (max-width:991.98px){
  .dm-h1{font-size:2.1rem;}
  .dm-hero{padding:3rem 0;}
  .dm-case-stats{border-left:none;border-top:1px solid var(--dm-border);}
  .dm-lead{max-width:100%;}
}
